US2021075643A1PendingUtilityA1

Multi-protocol encapsulation traffic acceleration and optimization

Assignee: HUGHES NETWORK SYSTEMS LLCPriority: Dec 31, 2018Filed: Oct 30, 2020Published: Mar 11, 2021
Est. expiryDec 31, 2038(~12.4 yrs left)· nominal 20-yr term from priority
H04L 63/029H04L 12/4633H04L 47/15H04L 63/0478H04L 69/18H04L 47/825
57
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Data communications methods and systems for data packets transmitted via tunnel sessions. Satellite data communication system providing data communication services between two or more network node devices via a satellite or other data communication system are typically associated with round trip times that can cause delay in the exchange of data. Many conventional protocols, such as TCP, are not well designed for operating across links with such long delays. To address this and provide a more acceptable end-user experience, the system can include a common acceleration and optimization processor configured to provide various network acceleration and/or optimization functions and a tunnel processor configured to provide tunnel protocol-specific processing for multi-protocol encapsulated traffic.

Claims

exact text as granted — not AI-modified
1 - 19 . (canceled) 
     
     
         20 . A method for facilitating data communication comprising:
 receiving tunnel data packets at an input data packet processor of a first network node device, via a local network interface;   identifying, at the input data packet processor of the first network node device tunnel sessions associated with the tunnel data packets;   generating and maintaining at a context module of the first network node device packet contexts for the tunnel data packets, wherein the packet contexts include nested contexts where the nested contexts correspond to parent/child relationships between corresponding packet contexts for layers of nested tunnel data packets; and   submitting payloads of the tunnel data packets to a common acceleration and optimization processor of the first network node device.   
     
     
         21 . The method of  claim 20 , wherein the packet contexts include a context identifier, a parent context identifier, a tunneling protocol submodule identifier, a static tunnel state, and a child context identifier. 
     
     
         22 . The method of  claim 20 , wherein the packet contexts include a dynamic tunnel state, and IP packet fragments. 
     
     
         23 . The method of  claim 20 , further comprising instantiating an additional packet context by the packet context module in response to a new tunnel notification. 
     
     
         24 . The method of  claim 23  wherein the new tunnel notification includes values for the additional packet context including a context identifier, a parent context identifier and a tunneling protocol submodule identifier. 
     
     
         25 . The method of  claim 20 , further comprising providing network acceleration and optimization functions chosen from the following: traffic class prioritization using tunneling protocol headers; TCP-specific performance enhancing proxies for tunneled TCP flows; header compression for tunnel headers and/or other headers of a tunneled packet; DNS prefetching and/or caching; DHCP relay; payload compression for tunneled flow data; HTTP acceleration, such as prefetching and/or caching, for tunneled HTTP requests; and output jitter reduction for jitter sensitive tunneled applications by using a jitter buffer. 
     
     
         26 . A nontransitory machine readable medium, including program instructions which, when executed by the first network node device, cause the first network node device to perform the method of  claim 20 . 
     
     
         27 . A data communication network node device comprising:
 a common acceleration and optimization processor;   a local network interface; and   a tunnel processor connected between the common acceleration and optimization processor and the local network interface, the tunnel processor comprising:
 an input data packet processor; 
 a packet context module and 
 an output data packet generator, wherein: 
   the input data packet processor is configured to receive, via the local network interface, tunnel data packets, identify tunnel sessions associated with the tunnel data packets and submit payloads of the tunnel data packets to the common acceleration and optimization processor;   the packet context module generates and maintains packet contexts for the tunnel data packets; and   the packet contexts include nested contexts where the nested contexts correspond to parent/child relationships between corresponding packet contexts for layers of nested tunnel data packets.   
     
     
         28 . The device of  claim 27 , wherein the packet contexts include a context identifier, a parent context identifier, a tunneling protocol submodule identifier, a static tunnel state, and child contexts identifiers. 
     
     
         29 . The device of  claim 27 , wherein the packet contexts include a dynamic tunnel state, and IP packet fragments. 
     
     
         30 . The device of  claim 27 , wherein in response to a new tunnel notification, the packet context module instantiates an additional packet context to be maintained by the packet context module. 
     
     
         31 . The device of  claim 30  wherein the new tunnel notification includes values for the additional packet context including a context identifier, a parent context identifier and a tunneling protocol submodule identifier. 
     
     
         32 . The device of  claim 27 , wherein the common acceleration and optimization processor is configured to provide network acceleration and optimization functions chosen from the following: traffic class prioritization using tunneling protocol headers; TCP-specific performance enhancing proxies for tunneled TCP flows; header compression for tunnel headers and/or other headers of a tunneled packet; DNS prefetching and/or caching; DHCP relay; payload compression for tunneled flow data; HTTP acceleration, such as prefetching and/or caching, for tunneled HTTP requests; and output jitter reduction for jitter sensitive tunneled applications by using a jitter buffer. 
     
     
         33 . The device of  claim 27 , wherein the input data packet processor is further configured to:
 receive, via the local network interface, a first un-tunneled data packet; and   submit the first un-tunneled data packet to the common acceleration and optimization processor.   
     
     
         34 . The device of  claim 27 , wherein:
 the data communication network node device further comprises a backhaul network interface; and   the input data packet processor is further configured to:
 generate a first packet context by assigning a unique context identifier and a tunneling protocol identifier to the first packet context and generating a static tunnel state describing encapsulation information including values re-used in subsequent tunnel data packets for a first tunnel session and/or data for use in calculating other values included in subsequent tunnel data packets for a second tunnel session; and 
 provide the unique context identifier, the tunneling protocol identifier, and the static tunnel state to the backhaul network interface for transmission to another data communication network node device. 
   
     
     
         35 . The device of  claim 34 , wherein the output data packet processor is further configured to:
 receive, from the common acceleration and optimization processor, a dynamic tunnel state associated with payload data; and   generate a first tunnel data packet based on at least the dynamic tunnel state and the static tunnel state.   
     
     
         36 . The device of  claim 27 , wherein:
 the device further comprises a backhaul network interface;   the common acceleration and optimization processor is configured to:
 receive, via the backhaul network interface, a cache data item; 
 store the cache data item; 
 determine that the cache data item fulfills a request included in a payload; and 
 generate a response to the request based at least on a content of the cache data item; and 
   a second network node device is configured to:
 generate, based at least on a packet context, a tunnel data packet encapsulating a portion of the response according to a tunneling protocol; and 
 output the tunnel data packet via a second local network interface on the second network node device. 
   
     
     
         37 . The device of  claim 27 , wherein:
 the device further comprises a backhaul network interface; and   the common acceleration and optimization processor is configured to:
 generate an acceleration data packet based at least on a data packet payload; 
 transmit the acceleration data packet via the backhaul network interface to a second network node device; 
 generate a response to the data packet payload; and 
   the second network node device is configured to:
 generate, based at least on a packet context, a second tunnel data packet encapsulating a portion of the response according to a tunneling protocol; and 
 output the second tunnel data packet via a second local network interface on the second network node device.

Join the waitlist — get patent alerts

Track US2021075643A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.