IP Library Granted Patent US 11,063,662
Granted Patent B2
US 11,063,662 · App. 16/660,403 · Granted Jul 13, 2021

Satellite network acceleration and optimization

Inventors: Bhavit Shah (Rockville, MD); Satyajit Roy (Gaithersburg, MD)
Assignee: Hughes Network Systems, LLC
H04B7/18584H04B7/18519H04L45/02H04L45/306H04L45/745H04W88/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,063,662
App. No.
16/660,403
Granted
Jul 13, 2021
Kind
B2
Abstract

A system comprises a gateway computer further comprising a processor and a memory. The memory stores instructions executable by the processor to determine one or more service functions (SF) based on a received data packet, and to determine a list of routing identifiers based on the determined service functions and a destination of the data packet. Each routing identifier identifies at least one of a router computer and a service function. The memory stores instructions to update the data packet to include the list of routing identifiers, and to transmit the updated data packet based on the list of routing identifiers.

Claims (41)

1. A system comprising a gateway computer further comprising a processor and a memory, the memory storing instructions executable by the processor to:

determine one or more service functions (SF) based on a received data packet, wherein each service function is identified by a service function identifier and wherein the service functions are satellite specific service functions including network layer protocol spoofing, web acceleration, header compression and suppression;

determine a list of routing identifiers based on the determined service functions and a destination of the data packet, wherein each routing identifier identifies at least one of a router computer and a service function;

update the data packet to include the list of routing identifiers;

transmit the updated data packet based on the list of routing identifiers;

identify a compression service function upon determining that a rate of duplicate data in the received data packet exceeds a threshold; and

update the list of routing identifiers based on the identified compression service function.

2. The system of claim 1 , wherein the data packet includes a payload and header, and the list of routing identifiers is stored in a segment routing header.

3. The system of claim 1 , wherein the instructions further include instructions to:

receive network nodes data, for a plurality of nodes, including available service functions at each of the nodes and a geographical location of each of the nodes; and

determine the list of segment identifiers based on the received network nodes data.

4. The system of claim 1 , further comprising a network node including a second processor programmed to:

receive the updated data packet from the gateway computer; and

identify a service function of the node based on node configuration data including an interface identifier of a service function available at the network node.

5. The system of claim 4 , wherein the second processor of the network node is further programmed to update the data packet for routing the data packet to a next node based on the list of segment identifiers.

6. The system of claim 1 , wherein the processor of a network node is further programmed to operate a plurality of virtual machines, wherein one or more service functions are provided on each virtual machine.

7. The system of claim 1 , wherein the data packet is an internet protocol (IP) data packet and the list of segment identifiers is stored in routing header data of the IP data packet.

8. The system of claim 1 , wherein the data packet includes a payload and a network service header, and the list of routing identifiers is stored in the network service header.

9. The system of claim 1 , wherein the instructions further include instructions to:

receive network nodes data, for a plurality of nodes, including available service functions at each of the nodes; and

determine a list of service path identifiers based on the received network nodes data.

10. The system of claim 9 , wherein the second processor of the network node is further programmed to update the data packet for routing the data packet to a next node based on the list of service path identifiers.

11. The system of claim 1 , wherein the instructions further include instruction to convert the received data packet to an internet protocol (IP) data packet and to store the list of service path identifiers in routing header data of the IP data packet.

12. A method, comprising:

determining one or more service functions (SF) based on a received data packet, wherein each service function is identified by a service function identifier and wherein the service functions are satellite specific service functions including network layer protocol spoofing, web acceleration, header compression and suppression;

determining a list of routing identifiers based on the determined service functions and a destination of the data packet, wherein each routing identifier identifies at least one of a router computer and a service function;

updating the data packet to include the list of routing identifiers;

transmitting the updated data packet based on the list of routing identifiers;

identifying a compression service function upon determining that a rate of duplicate data in the received data packet exceeds a threshold; and

updating the list of routing identifiers based on the identified compression service function.

13. The method of claim 12 , further comprising:

receiving network nodes data, for a plurality of nodes, including available service functions at each of the nodes and a geographical location of each of the nodes; and

determining a list of segment identifiers based on the received network nodes data.

14. The method of claim 12 , further comprising:

receiving, in a network node, the updated data packet from the gateway computer; and

identifying, in the network node, a service function of the node based on node configuration data including an interface identifier of a service function available at the network node.

15. The method of claim 14 , further comprising updating, in the network node, the data packet for routing the data packet to a next node based on the list of segment identifiers.

16. The method of claim 12 , wherein the data packet includes a payload and a network service header, and the list of routing identifiers is stored in the network service header.

17. The method of claim 12 , further comprising:

receiving network nodes data, for a plurality of nodes, including available service functions at each of the nodes; and

determining a list of service path identifiers based on the received network nodes data.

Assignments (3)
SECURITY INTEREST Recorded Nov 2, 2021
From: HUGHES NETWORK SYSTEMS, LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 058687/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2020
From: SHAH, BHAVIT; ROY, SATYAJIT
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 054661/0302 →
SECURITY INTEREST Recorded Feb 13, 2020
From: HUGHES NETWORK SYSTEMS LLC
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 051812/0560 →