IP Library Granted Patent US 7,219,158
Granted Patent B2
US 7,219,158 · App. 09/903,832 · Granted May 15, 2007

Method and system for improving network performance using a performance enhancing proxy

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 7,219,158
App. No.
09/903,832
Granted
May 15, 2007
Kind
B2
Abstract

A network apparatus for performing functions to enhance performance of a communication network is provided. The network apparatus includes a spoofing module that is configured to selectively spoof a multiple connections associated with a multiple hosts based upon corresponding spoofing criteria and to provide local acknowledgement of received messages over the connections. Additionally, the network apparatus includes a connection module that multiplexes the connections over a common backbone connection, and a prioritization module that prioritizes access to the backbone connection based upon prioritization criteria. Further, the network apparatus includes a path selection module that determines a path to transmit the received messages based upon path selection criteria. The spoofing module allocates a connection control block corresponding to a spoofed connection. Each of the connection control blocks stores information related to the connections. The above arrangement has particular applicability to a bandwidth constrained communication system, such as a satellite network.

Claims (76)

1. A network apparatus for performing functions to enhance performance of a communication network, comprising:

a protocol spoofing module configured to selectively spoof a plurality of connections associated with a plurality of hosts based upon corresponding spoofing criteria and to provide local acknowledgement of received messages over the connections;

a connection module configured to multiplex the plurality of connections over a common backbone connection;

a prioritization module configured to prioritize access to the backbone connection based upon prioritization criteria;

a path selection module configured to determine a path among a plurality of paths to transmit the received messages based upon path selection criteria; and

a data compression module configured to apply compression on the backbone connection or to apply different compression schemes on individual ones of the plurality of connections.

2. The network apparatus according to claim 1 , wherein the protocol spoofing module is configured to allocate a connection control block among a plurality of connection control blocks corresponding to a spoofed connection, each of the plurality of connection control blocks storing information related to the plurality of connections, wherein the quantity of connection control blocks is configurable.

3. The network apparatus according to claim 2 , further comprising:

a mapping table to store connection control block allocation information.

4. The network apparatus according to claim 2 , further comprising:

a hash function logic configured to output pointers corresponding to the plurality of connection control blocks.

5. The network apparatus according to claim 1 , wherein the backbone connection is a satellite link, the apparatus further comprising:

an encryption module configured to encrypt the satellite link.

6. The network apparatus according to claim 1 , wherein the plurality of connections are established according to the Transmission Control Protocol (TCP).

7. The network apparatus according to claim 1 , wherein the spoofing criteria includes at least one of Destination IP (Internet Protocol) address; Source IP address; TCP port numbers; TCP options; or IP differentiated services (DS) field.

8. The network apparatus according to claim 1 , wherein the prioritization criteria includes at least one of Destination IP (Internet Protocol) address, Source IP address, IP next protocol, TCP (Transmission Control Protocol) port numbers, UDP (User Datagram Protocol) port numbers, or IP differentiated services (DS) field.

9. The network apparatus according to claim 1 , wherein the prioritization module sets priority of one of the received messages, the one message being an IP (Internet Protocol) packet, wherein the path selection criteria includes at least one of the priority of the IP packet, Destination IP address, Source IP address, IP next protocol, TCP (Transmission Control Protocol) port numbers, UDP (User Datagram Protocol) port numbers, or IP differentiated services (DS) field.

10. A method for performing functions to enhance performance of a communication network, the method comprising:

selectively applying protocol spoofing to a plurality of connections associated with a plurality of hosts based upon corresponding spoofing criteria;

providing local acknowledgement of received messages over the connections;

multiplexing the plurality of connections over a common backbone connection;

prioritizing access to the backbone connection based upon prioritization criteria;

determining a path among a plurality of paths to transmit the received messages based upon path selection criteria; and

applying data compression on the backbone connection or applying different compression schemes on individual ones of the plurality of connections.

11. The method according to claim 10 , further comprising:

allocating a connection control block among a plurality of connection control blocks corresponding to a spoofed connection, each of the plurality of connection control blocks storing information related to the plurality of connections, wherein the quantity of connection control blocks is configurable.

12. The method according to claim 11 , further comprising:

storing connection control block allocation information in a mapping table.

13. The method according to claim 11 , further comprising:

outputting pointers corresponding to the plurality of connection control blocks.

14. The method according to claim 10 , wherein the backbone connection in the multiplexing step is a satellite link, the method further comprising:

encrypting the satellite link.

15. The method according to claim 10 , wherein the plurality of connections in the step of selectively spoofing are established according to the Transmission Control Protocol (TCP).

16. The method according to claim 10 , wherein the spoofing criteria in the step of selectively spoofing includes at least one of Destination IP (Internet Protocol) address; Source IP address; TCP port numbers; TCP options; or IP differentiated services (DS) field.

17. The method according to claim 10 , wherein the prioritization criteria in the prioritizing step includes at least one of Destination IP address, Source IP address, IP next protocol, TCP (Transmission Control Protocol) port numbers, UDP (User Datagram Protocol) port numbers, or IP differentiated services (DS) field.

18. The method according to claim 10 , further comprising:

setting priority of one of the received messages, the one message being an IP (Internet Protocol) packet, wherein the path selection criteria in the includes at least one of the priority of the IP packet, Destination IP address, Source IP address, IP next protocol, TCP (Transmission Control Protocol) port numbers, UDP (User Datagram Protocol) port numbers, or IP differentiated services (DS) field.

19. A network apparatus for performing functions to enhance performance of a communication network, the network apparatus comprising:

selectively applying protocol spoofing to a plurality of connections associated with a plurality of hosts based upon corresponding spoofing criteria;

means for providing local acknowledgement of received messages over the connections;

means for multiplexing the plurality of connections over a common backbone connection;

means for prioritizing access to the backbone connection based upon prioritization criteria;

means for determining a path among a plurality of paths to transmit the received messages based upon path selection criteria; and

means for applying data compression on the backbone connection or applying different compression schemes on individual ones of the plurality of connections.

20. The network apparatus according to claim 19 , further comprising:

means for allocating a connection control block among a plurality of connection control blocks corresponding to a spoofed connection, each of the plurality of connection control blocks storing information related to the plurality of connections, wherein the quantity of connection control blocks is configurable.

21. The network apparatus according to claim 20 , further comprising:

means for storing connection control block allocation information in a mapping table.

22. The network apparatus according to claim 20 , further comprising:

means for outputting pointers corresponding to the plurality of connection control blocks.

23. The network apparatus according to claim 19 , wherein the backbone connection is a satellite link, the apparatus further comprising:

means for encrypting the satellite link.

24. The network apparatus according to claim 19 , wherein the plurality of connections are established according to the Transmission Control Protocol (TCP).

25. The network apparatus according to claim 19 , wherein the spoofing criteria includes at least one of Destination IP (Internet Protocol) address; Source IP address; TCP port numbers; TCP options; or IP differentiated services (DS) field.

26. The network apparatus according to claim 19 , wherein the prioritization criteria includes at least one of Destination IP address, Source IP address, IP next protocol, TCP (Transmission Control Protocol) port numbers, UDP (User Datagram Protocol) port numbers, or IP differentiated services (DS) field.

27. The network apparatus according to claim 19 , wherein the prioritization module sets priority of one of the received messages, the one message being an IP (Internet Protocol) packet, wherein the path selection criteria includes at least one of the priority of the IP packet, Destination IP address, Source IP address, IP next protocol, TCP (Transmission Control Protocol) port numbers, UDP (User Datagram Protocol) port numbers, or IP differentiated services (DS) field.

28. A computer-readable medium carrying one or more sequences of one or more instructions for performing functions to enhance performance of a communication network, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of:

selectively applying protocol spoofing to a plurality of connections associated with a plurality of hosts based upon corresponding spoofing criteria;

providing local acknowledgement of received messages over the connections;

multiplexing the plurality of connections over a common backbone connection;

prioritizing access to the backbone connection based upon prioritization criteria;

determining a path among a plurality of paths to transmit the received messages based upon path selection criteria; and

applying data compression on the backbone connection or applying different compression schemes on individual ones of the plurality of connections.

29. The computer-readable medium according to claim 28 , wherein the one or more processors further perform the step of:

allocating a connection control block among a plurality of connection control blocks corresponding to a spoofed connection, each of the plurality of connection control blocks storing information related to the plurality of connections, wherein the quantity of connection control blocks is configurable.

30. The computer-readable medium according to claim 29 , wherein the one or more processors further perform the step of:

storing connection control block allocation information in a mapping table.

31. The computer-readable medium according to claim 29 , wherein the one or more processors further perform the step of:

outputting pointers corresponding to the plurality of connection control blocks.

32. The computer-readable medium according to claim 28 , wherein the backbone connection in the multiplexing step is a satellite link, and the one or more processors further perform the step of:

encrypting the satellite link.

33. The computer-readable medium according to claim 28 , wherein the plurality of connections in the step of selectively spoofing are established according to the Transmission Control Protocol (TCP).

34. The computer-readable medium according to claim 28 , wherein the spoofing criteria in the step of selectively spoofing includes at least one of Destination IP (Internet Protocol) address; Source IP address; TCP port numbers; TCP options; or IP differentiated services (DS) field.

35. The computer-readable medium according to claim 28 , wherein the prioritization criteria in the prioritizing step includes at least one of Destination IP (Internet Protocol) address, Source IP address, IP next protocol, TCP (Transmission Control Protocol) port numbers, UDP (User Datagram Protocol) port numbers, or IP differentiated services (DS) field.

36. The computer-readable medium according to claim 28 , wherein the one or more processors further perform the step of:

setting priority of one of the received messages, the one message being an IP (Internet Protocol) packet, wherein the path selection criteria in the includes at least one of the priority of the IP packet, Destination IP address, Source IP address, IP next protocol, TCP (Transmission Control Protocol) port numbers, UDP port numbers, or IP differentiated services (DS) field.

Assignments (13)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION NUMBER 15649418 PREVIOUSLY RECORDED ON REEL 050600 FRAME 0314. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF PATENT SECURITY AGREEMENTS. Recorded Sep 3, 2020
From: WELLS FARGO, NATIONAL BANK ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 053703/0367 →
ASSIGNMENT OF PATENT SECURITY AGREEMENTS Recorded Oct 1, 2019
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: U.S. BANK NATIONAL ASSOCIATION
Reel/Frame 050600/0314 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED ON REEL 026499 FRAME 0290. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Sep 4, 2018
From: EH HOLDING CORPORATION; ECHOSTAR 77 CORPORATION; ECHOSTAR GOVERNMENT SERVICES L.L.C.; ECHOSTAR ORBITAL L.L.C.; ECHOSTAR SATELLITE OPERATING CORPORATION; ECHOSTAR SATELLITE SERVICES L.L.C.; ADVANCED SATELLITE RESEARCH, LLC; HELIUS ACQUISITION, LLC; HELIUS, LLC; HNS FINANCE CORP.; HNS LICENSE SUB, LLC; HNS REAL ESTATE, LLC; HNS-INDIA VSAT, INC.; HNS-SHANGHAI, INC.; HUGHES COMMUNICATIONS, INC.; HUGHES NETWORK SYSTEMS, LLC; HUGHES NETWORK SYSTEMS INTERNATIONAL SERVICE COMPANY
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 047014/0886 →
SECURITY AGREEMENT Recorded Jun 24, 2011
From: EH HOLDING CORPORATION; ECHOSTAR 77 CORPORATION; ECHOSTAR GOVERNMENT SERVICES L.L.C.; ECHOSTAR ORBITAL L.L.C.; ECHOSTAR SATELLITE OPERATING CORPORATION; ECHOSTAR SATELLITE SERVICES L.L.C.; ADVANCED SATELLITE RESEARCH, LLC; HELIUS ACQUISITION, LLC; HELIUS, LLC; HNS FINANCE CORP.; HNS LICENSE SUB, LLC; HNS REAL ESTATE, LLC; HNS-INDIA VSAT, INC.; HNS-SHANGHAI, INC.; HUGHES COMMUNICATIONS, INC.; HUGHES NETWORK SYSTEMS, LLC; HUGHES NETWORK SYSTEMS INTERNATIONAL SERVICE COMPANY
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 026499/0290 →
PATENT RELEASE Recorded Jun 16, 2011
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 026459/0883 →
ASSIGNMENT AND ASSUMPTION OF REEL/FRAME NOS. 16345/0401 AND 018184/0196 Recorded Apr 9, 2010
From: BEAR STEARNS CORPORATE LENDING INC.
To: JPMORGAN CHASE BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 024213/0001 →
RELEASE OF SECOND LIEN PATENT SECURITY AGREEMENT Recorded Aug 29, 2006
From: JPMORGAN CHASE BANK, N.A.
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 018184/0170 →
ASSIGNMENT OF SECURITY INTEREST IN U.S. PATENT RIGHTS Recorded Aug 29, 2006
From: JPMORGAN CHASE BANK, N.A.
To: BEAR STEARNS CORPORATE LENDING INC.
Reel/Frame 018184/0196 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 11, 2005
From: HUGHES NETWORK SYSTEMS, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 016345/0368 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 11, 2005
From: HUGHES NETWORK SYSTEMS, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 016345/0401 →
MERGER Recorded Jun 21, 2005
From: HUGHES ELECTRONICS CORPORATION
To: DIRECTV GROUP, INC.,THE
Reel/Frame 016427/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2005
From: DIRECTV GROUP, INC., THE
To: HUGHES NETWORK SYSTEMS, LLC
Reel/Frame 016323/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2001
From: BORDER, JOHN; BURRELL, KEN
To: HUGHES ELECTRONICS CORPORATION
Reel/Frame 012010/0664 →