Mechanism for exchange of routing data between controllers
US-2015381479-A1 · Dec 31, 2015 · US
US10021034B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10021034-B2 |
| Application number | US-201514866839-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 25, 2015 |
| Priority date | Sep 25, 2014 |
| Publication date | Jul 10, 2018 |
| Grant date | Jul 10, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for application aware multihoming with multipath tunneling protocols is provided. A message client data packet is classified based an application from which the data packet originated. The header structure of the data packet is modified to generate a proxy data packet comprising the client data payload and a proxy header structure. The proxy header structure comprises source-client and destination-server parameters and an identifier of a client-proxy device, protocol parameters indicating a source protocol sequencing of the message client data packet, and protocol parameters including source parameters of the client-proxy device and destination parameters of a server-proxy device. A network communications link is selected for transmission of the proxy data packet to the server-proxy device, where the selection is based on the classification of the message client data packet. The proxy data packet is transmitted to the server-proxy device via the network communications link.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, by a client-proxy device serving one or more client devices, a first client data packet of a client data flow originating from a client application of a one client device of the client devices served by the client-proxy device, wherein the first client data packet comprises a client data payload and a client header structure configured based on one or more data communications protocols employed by the client application for transmission of the first client data packet over a wide-area data communications network to a destination server device; determining a message classification for the first client data packet based on one or more application-based parameters associated with the client application; selecting a first proxy data flow of a plurality of proxy data flows of a split multipath tunnel for transmission of the first client data packet to a server-proxy device serving one or more server devices including the destination server device, wherein each of the proxy data flows of the split multipath tunnel provides a data transmission path over a respective network link between the client-proxy device and the server-proxy device, and wherein the selection of the first proxy data flow is based on the determined message classification of the first client data packet; modifying the client header structure of the first client data packet to generate a client-proxy data packet comprising the original client header and client data payload as a data payload of the client-proxy data packet, and a client-proxy header structure, wherein the client-proxy header structure comprises (i) flow information regarding the client data flow including an address parameter of the one client device and an address parameter of the destination server device, and a sequence parameter indicating a sequencing of the first client data packet within the client data flow, (ii) an identifier of the client-proxy device, and (iii) flow information regarding the selected first proxy data flow including an address parameter of the client-proxy device and an address parameter of the server-proxy device and a sequence parameter indicating a sequencing of the client-proxy data packet within the selected first proxy data flow; transmitting the client-proxy data packet to the server-proxy device via the first proxy data flow; receiving, by the server-proxy device, the client-proxy data packet; recording a client flow record in a flow information table for the client data flow, wherein the client flow record includes the address parameter of the one client device and the address parameter of the destination server device, the client-proxy device identifier, and a server-proxy device source identifier specific to the flow record; modifying the client-proxy header structure of the client-proxy data packet to generate a second client data packet comprising the client data payload and a client-server header structure, wherein the client-server header structure comprises the address parameter of the destination server device, the address parameter of the server-proxy device, the sequence parameter indicating the sequencing of the first client data packet within the client data flow, and the server-proxy device source identifier; and transmitting the second client data packet to the destination server device. 2. The method according to claim 1 , further comprising: receiving, by the server-proxy device, a first server data packet of a server data flow originating from a server application of the destination server device, wherein the first server data packet comprises a server data payload that relates to the first client data packet and a server header structure based on the one or more data communications protocols employed by the client application, wherein the server header structure includes the server-proxy device source identifier; determining a message classification for the first server data packet based on one or more application-based parameters associated with the server application; selecting a second proxy data flow of the plurality of proxy data flows of the split multipath tunnel for transmission of the first server data packet to the client-proxy device, wherein the selection of the second proxy data flow is based on the determined message classification of the first server data packet, and wherein the second proxy data flow may be the same proxy data flow as the first proxy data flow; acquiring the client flow record from the flow information table by looking up the record based on the server-proxy device source identifier included in the server header structure of the first server data packet; modifying the server header structure of the first server data packet to generate a server-proxy data packet comprising the server data payload and a server-proxy header structure, wherein the server-proxy header structure comprises (i) flow information regarding the server data flow including the address parameter of the one client device and the address parameter of the destination server device acquired from the client flow record, and a sequence parameter indicating a sequencing of the first server data packet within the server data flow, and (ii) flow information regarding the selected second proxy data flow including the address parameter of the server-proxy device and the address parameter of the client-proxy device and a sequence parameter indicating a sequencing of the server-proxy data packet within the selected second proxy data flow; transmitting the server-proxy data packet to the client-proxy device via the second proxy data flow. 3. The method according to claim 2 , further comprising: receiving, by the client-proxy device, the server-proxy data packet; modifying the server-proxy header structure of the server-proxy data packet to generate a second server data packet comprising the server data payload and a server-client header structure, wherein the server-client header structure comprises the address parameter of the destination server device and the address parameter of the one client device, and the sequence parameter indicating a sequencing of the first server data packet within the server data flow; and transmitting the second server data packet to the source-client device. 4. A data communications system comprising: a client-proxy device and a plurality of client devices, wherein the client-proxy device serves the plurality of client devices; and a server-proxy device and one or more server devices including a destination server device, wherein the server-proxy device serves the one or more server devices; and wherein the client-proxy device comprises a receiver configured to receive a first client data packet of a client data flow originating from a client application of a one client device of the plurality of client devices, wherein the first client data packet comprises a client data payload and a client header structure configured based on one or more data communications protocols employed by the client application for transmission of the first client data packet over a wide-area data communications network to the destination server device, wherein the client-proxy device further comprises a processor configured to determine a message classification for the first client data packet based on one or more application-based parameters associated with the client application, wherein the client-proxy device further comprises a transmitter, wherein the processor of the client-proxy device is further configured to select a first proxy data flow of a plurality of proxy data flows of a split multipath tunnel for transmission of the first client data packet to the server-proxy device, wherein each of the proxy data flows of the split multipath tunnel provides a data transmission path over a re
Proxies · CPC title
by embedding flow control information in regular packets, e.g. piggybacking · CPC title
relying on flow classification, e.g. using integrated services [IntServ] · CPC title
Multipath · CPC title
Interconnection of networks using encapsulation techniques, e.g. tunneling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.