IP Library Granted Patent US 10,313,486
Granted Patent B2
US 10,313,486 · App. 14/591,781 · Granted Jun 4, 2019

Optimizing transfer of fragmented packetized data

Inventors: Li Zhao (Shanghai, CN); Dong Xiang (Shanghai, CN); Zhong Chen (Shanghai, CN); Yicheng He (Shangai, CN); Yanjun Yang (Shanghai, CN)
Assignee: SONICWALL INC.
H04L69/04H04L69/166
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,313,486
App. No.
14/591,781
Granted
Jun 4, 2019
Kind
B2
Abstract

The present invention increases the efficiency of transmitting data from a plurality of fragmented internet protocol (IP) packets over a computer network. After receiving a plurality of fragmented packets over a computer network interface a computing device may reassemble data from the plurality of packets into an IP packet that includes data from each of the fragmented IP packets. The reassembled IP packet may then be compressed and encrypted before being transmitted to a computer identified in a destination address in each of the plurality of fragmented packets.

Claims (55)

1. A method for optimizing the transfer of packetized data between electronic devices in a computer network, the method comprising:

receiving data packets of a set comprising a plurality of fragmented internet protocol (IP) packets sent from a source computer to a destination computer for processing at the destination computer, the received set of fragmented IP packets comprising a number of bytes;

identifying that the set of fragmented IP packets includes redundant information;

assembling a first number of the set of fragmented IP packets into a coalesced IP packet, wherein assembling the set of fragmented IP packets comprises removing at least a portion of the redundant information to reduce the number of bytes, and

adjusting a header of the coalesced IP packet to include a length of the coalesced IP packet;

compressing the coalesced IP packet;

identifying a size of the compressed coalesced IP packet, the size of the compressed coalesced IP packet corresponding to a first average size;

identifying that the size of the compressed coalesced IP packet is less than a maximum transmission unit size;

transmitting the compressed coalesced IP packet to the destination computer;

identifying a second number of fragmented IP packets to coalesce into a second coalesced IP packet based on comparing the first average size to the maximum transmission unit size and increasing the number of the set of fragmented IP packets to include in the second coalesced IP packet to a second number of packets according to a calculation;

assembling the second number of the set of fragmented IP packets into a second coalesced IP packet;

compressing the second coalesced IP packet; and

transmitting the second compressed coalesced IP packet to the destination computer.

2. The method of claim 1 , further comprising encrypting the compressed coalesced IP packet before transmitting the compressed coalesced IP packet.

3. The method of claim 1 , wherein the plurality of fragmented IP packets are received over a first network interface at a computing device, and the compressed coalesced IP packet is transmitted over a second network interface at the computing device.

4. The method of claim 1 , wherein the number of fragmented IP packets assembled into the coalesced IP packet corresponds to a predetermined setting.

5. The method of claim 4 , wherein the predetermined setting is set by a network administrator at a graphical user interface (GUI) associated with the computing network.

6. The method of claim 1 , wherein the number of fragmented IP packets assembled into the coalesced IP packet corresponds to historical information of one or more coalesced IP packets previously assembled in the computing network, and a number of fragmented IP packets previously assembled into each of the one or more coalesced IP packets include the same source and destination addresses.

7. The method of claim 6 , wherein the historical information corresponds to at least one of an average amount of bytes in a set of coalesced IP packets previously assembled from the fragmented IP packets, and the fragmented IP packets are associated with at least one of an audio stream or a video stream.

8. A non-transitory computer-readable storage medium having embodied thereon a program executable by a processor to perform a method for optimizing the transfer of packetized data between electronic devices in a computer network, the method comprising:

receiving data packets of a set comprising a plurality of fragmented internet protocol (IP) packets sent from a source computer to a destination computer for processing at the destination computer, the received set of fragmented IP packets comprising a number of bytes;

identifying that the set of fragmented IP packets includes redundant information;

assembling a first number of the set of fragmented IP packets into a coalesced IP packet, wherein assembling the set of fragmented IP packets comprises removing at least a portion of the redundant information to reduce the number of bytes, and adjusting a header of the coalesced IP packet to include a length of the coalesced IP packet;

compressing the coalesced IP packet;

identifying a size of the compressed coalesced IP packet, the size of the compressed coalesced IP packet corresponding to a first average size;

identifying that the size of the compressed coalesced IP packet is less than a maximum transmission unit size;

transmitting the compressed coalesced IP packet to the destination computer;

identifying a second number of fragmented IP packets to coalesce into a second coalesced IP packet based on comparing the first average size to the maximum transmission unit size and increasing the number of the set of fragmented IP packets to include in the second coalesced IP packet to a second number of packets according to a calculation;

assembling the second number of the set of fragmented IP packets in to a second coalesced IP packet;

compressing the second coalesced IP packet; and

transmitting the second compressed coalesced IP packet to the destination computer.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the program further executable to encrypt the compressed coalesced IP packet before transmitting the compressed coalesced IP packet.

10. The non-transitory computer-readable storage medium of claim 8 , wherein the plurality of fragmented IP packets are received over a first network interface at a computing device, and the compressed coalesced IP packet is transmitted over a second network interface at the computing device.

11. The non-transitory computer-readable storage medium of claim 8 , wherein the number of fragmented IP packets assembled into the coalesced IP packet corresponds to a predetermined setting.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the predetermined setting is set by a network administrator at a graphical user interface (GUI) associated with the computing network.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the number of fragmented IP packets assembled into the coalesced IP packet corresponds to historical information of one or more coalesced IP packets previously assembled in the computing network, and a number of fragmented IP packets previously assembled into each of the one or more coalesced IP packets include the same source and destination addresses.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the historical information corresponds to at least one of an average amount of bytes in a set of compressed coalesced IP packets previously assembled from the fragmented IP packets, and the fragmented IP packets are associated with at least one of an audio stream or a video stream.

15. A system for optimizing the transfer of packetized data between electronic devices in a computer network, the system comprising:

one or more computer network interfaces that:

receive data packets of a set comprising a plurality of fragmented internet protocol (IP) packets sent from a source computer to a destination computer for processing at the destination computer;

a memory; and

a processor that executes instructions stored in the memory, wherein execution of the instructions:

identifies that the set of fragmented IP packets includes redundant information,

assembles a first number of the set of fragmented IP packets into a coalesced IP packet, wherein assembling the set of fragmented IP packets comprises removing at least a portion of the redundant information to reduce the number of bytes, and adjusting a header of the coalesced IP packet to include a length of the coalesced IP packet, and

compresses the coalesced IP packet,

identifies a size of the compressed coalesced IP packet, the size of the compressed coalesced IP packet corresponding to a first average size,

identifies that the size of the compressed coalesced IP packet is less than a maximum transmission unit size, wherein one of the one or more computer network interfaces transmits the compressed coalesced IP packet to the destination computer,

identifies a second number of fragmented IP packets to coalesce into a second coalesced IP packet based on comparing the first average size to the maximum transmission unit size and increasing the number of the set of fragmented IP packets to include in the second coalesced IP packet to a second number of packets according to a calculation, and

assembles the second number of the set of fragmented IP packets into a second coalesced IP packet, and

compresses the second coalesced IP packet, wherein the second compressed coalesced IP packet is transmitted to the destination computer.

16. The system of claim 15 , wherein the processor further executes instructions out of the memory to encrypt the compressed coalesced IP packet before the compressed coalesced IP packet is transmitted.

17. The system of claim 15 , wherein the number of fragmented IP packets assembled into the coalesced IP packet corresponds to a predetermined setting.

18. The system of claim 17 , wherein the predetermined setting is set by a network administrator at a graphical user interface (GUI) associated with the computing network.

19. The system of claim 15 , wherein the number of fragmented IP packets assembled into the coalesced IP packet corresponds to historical information of one or more coalesced IP packets previously assembled in the computing network, and a number of fragmented IP packets previously assembled into each of the one or more coalesced IP packets include the same source and destination addresses.

20. The system of claim 19 , wherein the historical information corresponds to at least one of an average amount of bytes in a set compressed coalesced IP packets previously assembled from the fragmented IP packets, and the fragmented IP packets are associated with at least one of an audio stream or a video stream.

Assignments (20)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071777/0641 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
CHANGE OF NAME Recorded May 29, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 047058/0082 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded May 16, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046169/0718 →
CHANGE OF NAME Recorded May 15, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046163/0137 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041073 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT.. Recorded Apr 5, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 042168/0114 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 23, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS, INC.
Reel/Frame 041073/0001 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
MERGER Recorded Dec 16, 2015
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 037309/0151 →
CONVERSION AND NAME CHANGE Recorded Dec 16, 2015
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 037312/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: ZHAO, LI; XIANG, DONG; CHEN, ZHONG; HE, YICHENG; YANG, YANJUN
To: SONICWALL, INC.
Reel/Frame 034658/0218 →
Continuity (1)
Related Publication 20160198020A1 · Jul 7, 2016
Cited By (1)
US 12,224,990