IP Library Granted Patent US 10,805,420
Granted Patent B2
US 10,805,420 · App. 15/825,481 · Granted Oct 13, 2020

Proxy-less wide area network acceleration

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 10,805,420
App. No.
15/825,481
Granted
Oct 13, 2020
Kind
B2
Abstract

A method, system, and computer-usable medium are disclosed for network acceleration, comprising: responsive to receiving at an acceleration device a stream of one or more datagrams from a sending endpoint device within a first local area network of the acceleration device, the stream for transmission to a receiving endpoint device within a second local area network coupled to the first local area network by a wide area network: communicating by the acceleration device to the sending endpoint device a respective acknowledgement to each of the one or more datagrams; and transmitting by the acceleration device the one or more datagrams via multiple communication links of the wide area network to a second acceleration device within the second local area network and coupled to the receiving endpoint device.

Claims (43)

1. A method for performing proxy-less wide area network acceleration of network traffic, comprising, responsive to receiving at an acceleration device a stream of a plurality of datagrams from a sending endpoint device within a first local area network of the acceleration device, the stream for transmission to a receiving endpoint device within a second local area network coupled to the first local area network by a wide area network, and the stream being received in an initial stream order:

communicating by the acceleration device to the sending endpoint device a respective acknowledgement to each of the plurality of datagrams, wherein the respective acknowledgements are generated by the acceleration device and do not originate from the receiving endpoint; and

transmitting by the acceleration device the plurality of datagrams via multiple communication links of the wide area network to a second acceleration device within the second local area network and coupled to the receiving endpoint device, wherein the plurality of datagrams are transmitted in the initial stream order without being reordered by the acceleration device.

2. The method of claim 1 , wherein transmitting the plurality of datagrams comprises compressing and balancing the stream among the multiple communication links of the wide area network.

3. The method of claim 1 , further comprising queuing by the acceleration device one or more datagrams of the stream responsive to saturation of one or more of the multiple communication links.

4. The method of claim 1 , further comprising storing by the acceleration device a datagram of the stream in a window until an acknowledgement of the datagram has been received by the acceleration device from the second acceleration device such that the datagram can be retransmitted from the acceleration device to the second acceleration device via the wide area network in the event of loss of the datagram within the wide area network.

5. The method of claim 1 , further comprising, responsive to receiving a second stream of one or more datagrams from the second acceleration device via the wide area network, communicating by the acceleration device to the second acceleration device a respective acknowledgement to each of the one or more datagrams of the second stream.

6. The method of claim 5 , further comprising:

decompressing and reordering, by the acceleration device, the one or more datagrams of the second stream; and

communicating by the acceleration device the one or more datagrams of the second stream to a second receiving device within the first local area network.

7. The method of claim 6 , further comprising:

maintaining by the acceleration device a queue of datagrams communicated by the acceleration device to the second receiving device but not yet acknowledged by the second receiving device; and

performing retransmission of datagrams lost in communication from the acceleration device to the second receiving device based on content of the queue.

8. The method of claim 5 , further comprising implementing retransmission and error recovery services on the acceleration device to recover loss of one or more datagrams of the second stream within the wide area network.

9. A system comprising:

a processor; and

a data bus coupled to the processor;

wherein the system is configured to, responsive to receiving at the system a stream of a plurality of datagrams from a sending endpoint device within a first local area network of the system, the stream for transmission to a receiving endpoint device within a second local area network coupled to the first local area network by a wide area network, and the stream being received in an initial stream order:

communicate by the system to the sending endpoint device a respective acknowledgement to each of the plurality of datagrams, wherein the respective acknowledgements are generated by the system and do not originate from the receiving endpoint; and

transmit by the system the plurality of datagrams via multiple communication links of the wide area network to a remote acceleration device within the second local area network and coupled to the receiving endpoint device, wherein the plurality of datagrams are transmitted in the initial stream order without being reordered by the acceleration device.

10. The system of claim 9 , wherein transmitting the plurality of datagrams comprises compressing and balancing the stream among the multiple communication links of the wide area network.

11. The system of claim 9 , wherein the system is further configured to queue one or more datagrams of the stream responsive to saturation of one or more of the multiple communication links.

12. The system of claim 9 , wherein the system is further configured to store a datagram of the stream in a window until an acknowledgement of the datagram has been received by the system from the remote acceleration device such that the datagram can be retransmitted from the system to the remote acceleration device via the wide area network in the event of loss of the datagram within the wide area network.

13. The system of claim 9 , wherein the system is further configured to, responsive to receiving a second stream of one or more datagrams from the remote acceleration device via the wide area network, communicate to the remote acceleration device a respective acknowledgement to each of the one or more datagrams of the second stream.

14. The system of claim 13 , wherein the system is further configured to:

decompress and reorder the one or more datagrams of the second stream; and

communicate the one or more datagrams of the second stream to a second receiving device within the first local area network.

15. The system of claim 14 , wherein the system is further configured to maintain a queue of datagrams communicated by the system to the second receiving device but not yet acknowledged by the second receiving device; and

perform retransmission of datagrams lost in communication from the system to the second receiving device based on content of the queue.

16. The system of claim 13 , wherein the system is further configured to implement retransmission and error recovery services to recover loss of one or more datagrams of the second stream within the wide area network.

17. A non-transitory, computer-readable storage medium embodying computer program code executable for, responsive to receiving at an acceleration device a stream of a plurality of datagrams from a sending endpoint device within a first local area network of the acceleration device, the stream for transmission to a receiving endpoint device within a second local area network coupled to the first local area network by a wide area network, and the stream being received in an initial stream order:

communicating by the acceleration device to the sending endpoint device a respective acknowledgement to each of the plurality of datagrams, wherein the respective acknowledgements are generated by the acceleration device and do not originate from the receiving endpoint; and

transmitting by the acceleration device the plurality of datagrams via multiple communication links of the wide area network to a second acceleration device within the second local area network and coupled to the receiving endpoint device, wherein the plurality of datagrams are transmitted in the initial stream order without being reordered by the acceleration device.

18. The storage medium of claim 17 , wherein transmitting the plurality of datagrams comprises compressing and balancing the stream among the multiple communication links of the wide area network.

19. The storage medium of claim 17 , wherein the code is further for queuing by the acceleration device one or more datagrams of the stream responsive to saturation of one or more of the multiple communication links.

20. The storage medium of claim 17 , wherein the code is further for storing by the acceleration device a datagram of the stream in a window until an acknowledgement of the datagram has been received by the acceleration device from the second acceleration device such that the datagram can be retransmitted from the acceleration device to the second acceleration device via the wide area network in the event of loss of the datagram within the wide area network.

21. The storage medium of claim 17 , wherein the code is further for, responsive to receiving a second stream of one or more datagrams from the second acceleration device via the wide area network, communicating by the acceleration device to the second acceleration device a respective acknowledgement to each of the one or more datagrams of the second stream.

22. The storage medium of claim 21 , wherein the code is further for:

decompressing and reordering, by the acceleration device, the one or more datagrams of the second stream; and

communicating by the acceleration device the one or more datagrams of the second stream to a second receiving device within the first local area network.

23. The storage medium of claim 22 , wherein the code is further for maintaining by the acceleration device a queue of datagrams communicated by the acceleration device to the second receiving device but not yet acknowledged by the second receiving device; and

performing retransmission of datagrams lost in communication from the acceleration device to the second receiving device based on content of the queue.

24. The storage medium of claim 21 , wherein the code is further for implementing retransmission and error recovery services on the acceleration device to recover loss of one or more datagrams of the second stream within the wide area network.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2025
From: UBS AG, STAMFORD BRANCH
To: FORCEPOINT, LLC; BITGLASS, LLC
Reel/Frame 070706/0263 →
SECURITY INTEREST Recorded Apr 1, 2025
From: FORCEPOINT LLC; BITGLASS, LLC
To: SOCIÉTÉ GÉNÉRALE
Reel/Frame 070703/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2021
From: FORCEPOINT FEDERAL HOLDINGS LLC
To: FORCEPOINT LLC
Reel/Frame 057001/0057 →
CHANGE OF NAME Recorded May 12, 2021
From: FORCEPOINT LLC
To: FORCEPOINT FEDERAL HOLDINGS LLC
Reel/Frame 056214/0798 →
PATENT SECURITY AGREEMENT Recorded Jan 20, 2021
From: REDOWL ANALYTICS, INC.; FORCEPOINT LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 055052/0302 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 8, 2021
From: RAYTHEON COMPANY
To: FORCEPOINT LLC
Reel/Frame 055479/0676 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 8, 2021
From: RAYTHEON COMPANY
To: FORCEPOINT LLC
Reel/Frame 055492/0266 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 15, 2019
From: FORCEPOINT LLC
To: RAYTHEON COMPANY
Reel/Frame 048613/0636 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Jul 6, 2018
From: FORCEPOINT LLC
To: RAYTHEON COMPANY
Reel/Frame 046495/0561 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2017
From: SYVÄNNE, TUOMO; NIEMI, OLLI-PEKKA; RAHKONEN, VALTTERI; MATTILA, VILLE
To: FORCEPOINT LLC
Reel/Frame 044264/0938 →