IP Library Granted Patent US 9,130,991
Granted Patent B2
US 9,130,991 · App. 13/274,162 · Granted Sep 8, 2015

Processing data packets in performance enhancing proxy (PEP) environment

Inventor: David Anthony Hughes (Los Altos, CA)
Assignee: Silver Peak Systems, Inc.
H04L69/16H04L69/22H04L69/32H04L69/04
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 9,130,991
App. No.
13/274,162
Granted
Sep 8, 2015
Kind
B2
Abstract

Methods and systems for processing network packets within a Performance Enhancing Proxy (PEP) environment are described. An example method comprises receiving network data to be transported between a first PEP and a second PEP. The network data is segmented in one or more original network packets. The method may further comprise collecting packet identifying data associated with the one or more original network packets before the network data is packetized into one or more performance enhanced packets by the first PEP. The method may further comprise transmitting the identifying data to the second PEP. Upon receiving of the identifying data, the second PEP may recreate the segmentation of the original network data.

Claims (68)

1. A computer-implemented method for processing network packets, the method comprising:

receiving network data to be transported between a first Performance Enhancing Proxy (PEP) and a second PEP, the network data being segmented into two or more original network data packets;

removing a header from each of the two or more original network data packets and collecting packet identifying data associated with the two or more original network data packets from the removed header before the network data is packetized into one or more performance enhanced packets by the first PEP, the packet identifying data comprising information regarding the segmentation of the network data into the two or more original network data packets; and

transmitting the packet identifying data to the second PEP, the second PEP exactly reproducing the original packet segmentation of the network data upon receiving the packet identifying data from the first PEP by:

retrieving information about each length of the two or more original network data packets from the packet identifying data,

extracting data segments in the two or more original network data packets exactly as they were received in the first PEP, and

generating new headers which are the same as the removed headers for each one of the extracted data segments, such that new data packets are regenerated, the regenerated new data packets being identical to the two or more original network data packets.

2. The method of claim 1 , wherein the second PEP recreates the original packet segmentation of the network data upon receiving the packet identifying data from the first PEP.

3. The method of claim 2 , wherein the packet identifying data includes one or more of the following: lengths, length deltas, Differentiated Services Code Point (DSCP) markings, priority markings, and options.

4. The method of claim 1 , wherein the one or more original network data packets are complying with a Transmission Control Protocol (TCP).

5. The method of claim 1 , wherein the packet identifying data is transmitted with the network data.

6. The method of claim 1 , wherein the network data is compressed or encrypted.

7. The method of claim 1 , wherein the packet identifying data is transmitted separately from the network data.

8. The method of claim 1 , wherein the packet identifying data is descriptive of lengths of the two or more original data packets.

9. A computer-implemented method for processing network packets, the method comprising:

receiving compressed network data to be transported between a first Performance Enhancing Proxy (PEP) and a second PEP, the network data being segmented into two or more original network data packets;

removing a header from each of the two or more original network data packets and collecting packet identifying data associated with the two or more original network data packets from the removed header, before the compressed network data is packetized into one or more performance enhanced packets by the first PEP, the packet identifying data comprising data regarding the segmentation of the network data into the two or more original network data packets; and

transmitting the identifying data to the second PEP, the second PEP exactly reproducing the original packet segmentation of the network data upon receiving the packet identifying data from the first PEP by:

retrieving information about each length of the two or more original network data packets from the packet identifying data,

extracting data segments in the two or more original network data packets exactly as they were received in the first PEP, and

generating new headers which are the same as the removed headers for each one of the extracted data segments, such that new data packets are regenerated, the regenerated new data packets being identical to the two or more original network data packets.

10. The method of claim 9 , wherein the second PEP recreates the original packet segmentation of the network data upon receiving the packet identifying data from the first PEP.

11. The method of claim 10 , wherein the packet identifying data includes one or more of the following: lengths, length deltas, Differentiated Services Code Point (DSCP) markings, priority markings, and options.

12. The method of claim 9 , wherein the packet identifying data is transmitted with the network data.

13. The method of claim 11 , wherein the packet identifying data is inserted into the network data after the network data is compressed and before the network data is encrypted.

14. The method of claim 9 , wherein the packet identifying data is transmitted separately from the network data.

15. A system for processing network packets, the system comprising:

a first module, stored in memory and executed by at least one processor, that receives network data to be transported between a first Performance Enhancing Proxy (PEP) and a second PEP, the network data being segmented into two or more original network data packets;

a second module, stored in memory and executed by the at least one processor, that removes a header from each of the two or more original network data packets and collects packet identifying data associated with the two or more original network data packets from the removed header before the network data is packetized into one or more performance enhanced packets by the first PEP, the packet identifying data comprising data regarding the segmentation of the network data into the two or more original network data packets; and

a third module, stored in memory and executed by the at least one processor, that transmits the packet identifying data to the second PEP;

the second PEP exactly reproducing the original packet segmentation of the network data upon receiving the packet identifying data from the first PEP by:

retrieving information about each length of the two or more original network data packets from the packet identifying data,

extracting data segments in the two or more original network data packets exactly as they were received in the first PEP, and

generating new headers which are the same as the removed headers for each one of the extracted data segments, such that new data packets are regenerated, the regenerated new data packets being identical to the two or more original network data packets.

16. The system of claim 15 , further comprising a fourth module, stored in memory and executed by the at least one processor, that recreates the original packet segmentation of the network data.

17. The system of claim 16 , wherein the packet identifying data includes one or more of the following: lengths, length deltas, Differentiated Services Code Point (DSCP) markings, priority markings, and options.

18. The system of claim 15 , wherein the third module is configured to transmit the packet identifying data with the network data.

19. The system of claim 15 , wherein the network data is compressed or encrypted.

20. The system of claim 15 , wherein the third module is configured to transmit the packet identifying data separately from the network data.

21. The system of claim 15 , wherein the packet identifying data is descriptive of lengths of the one or more original data packets.

22. A system for processing network packets, the system comprising:

a first module, stored in memory and executed by at least one processor, to receive compressed network data to be transported between a first Performance Enhancing Proxy (PEP) and a second PEP, the network data being received in two or more original network data packets;

a second module, stored in memory and executed by the at least one processor, to remove a header from each of the two or more original network data packets and collect packet identifying data associated with the two or more original network data packets from the removed header before the compressed network data is packetized into one or more performance enhanced packets by the first PEP, the packet identifying data comprising data regarding the segmentation of the network data into the two or more original network data packets; and

a third module, stored in memory and executed by the at least one processor, to transmit the packet identifying data to the second PEP;

the second PEP exactly reproducing the original packet segmentation of the network data upon receiving the packet identifying data from the first PEP by:

retrieving information about each length of the two or more original network data packets from the packet identifying data,

extracting data segments in the two or more original network data packets exactly as they were received in the first PEP, and

generating new headers which are the same as the removed headers for each one of the extracted data segments, such that new data packets are regenerated, the regenerated new data packets being identical to the two or more original network data packets.

23. The system of claim 22 , further comprising a fourth module, stored in memory and executed by the at least one processor, that recreates the original packet segmentation of the network data.

24. The system of claim 23 , wherein the packet identifying data includes one or more of the following: lengths, length deltas, Differentiated Services Code Point (DSCP) markings, priority markings, and options.

25. The system of claim 22 , wherein the third module is configured to transmit the packet identifying data with the network data.

26. The system of claim 25 , wherein the packet identifying data is inserted into the network data after the network data is compressed and before the network data is encrypted.

27. The system of claim 22 , wherein the third module is configured to transmit the packet identifying data separately from the network data.

28. The system of claim 22 , wherein the packet identifying data is descriptive of compressed lengths of the two or more original data packets.

29. A non-transitory computer-readable medium having instructions stored thereon, which when executed by one or more computers, causes the one or more computers to:

receive network data to be transported between a first Performance Enhancing Proxy (PEP) and a second PEP, the network data being segmented into two or more original network data packets;

remove a header from each of the two or more original network data packets and collect packet identifying data associated with the two or more original network data packets from the removed header before the network data is packetized into one or more performance enhanced packets by the first PEP, the packet identifying data comprising data regarding the segmentation of the network data into the two or more original network data packets; and

transmit the packet identifying data to the second PEP, the second PEP exactly reproducing the original packet segmentation of the network data upon receiving the packet identifying data from the first PEP by:

retrieving information about each length of the two or more original network data packets from the packet identifying data,

extracting data segments in the two or more original network data packets exactly as they were received in the first PEP, and

generating new headers which are the same as the removed headers for each one of the extracted data segments, such that new data packets are regenerated, the regenerated new data packets being identical to the two or more original network data packets.

30. A non-transitory computer-readable medium having instructions stored thereon, which when executed by one or more computers, causes the one or more computers to:

receive compressed network data to be transported between a first Performance Enhancing Proxy (PEP) and a second PEP, the network data being received in two or more original network data packets;

remove a header from each of the two or more original network data packets and collect packet identifying data associated with the two or more original network data packets from the removed header before the compressed network data is packetized into one or more performance enhanced packets by the first PEP, the packet identifying data comprising data regarding the segmentation of the network data into the two or more original network data packets; and

transmit the identifying data the second PEP, the second PEP exactly reproducing the original packet segmentation of the network data upon receiving the packet identifying data from the first PEP by:

retrieving information about each length of the two or more original network data packets from the packet identifying data,

extracting data segments in the two or more original network data packets exactly as they were received in the first PEP, and

generating new headers which are the same as the removed headers for each one of the extracted data segments, such that new data packets are regenerated, the regenerated new data packets being identical to the two or more original network data packets.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 059671/0101 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2022
From: SILVER PEAK SYSTEMS, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 058984/0404 →
RELEASE OF SECURITY INTEREST Recorded Sep 22, 2020
From: GOLUB CAPITAL LLC
To: SILVER PEAK SYSTEMS, INC.
Reel/Frame 053852/0231 →
SECURITY INTEREST Recorded Apr 16, 2019
From: SILVER PEAK SYSTEMS, INC.
To: GOLUB CAPITAL LLC, AS AGENT
Reel/Frame 048921/0455 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2011
From: HUGHES, DAVID ANTHONY
To: SILVER PEAK SYSTEMS INC.
Reel/Frame 027153/0092 →
Continuity (1)
Related Publication 20130094501A1 · Apr 18, 2013