# US 10,313,486 B2 · Optimizing transfer of fragmented packetized data

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,313,486 B2
- Document ID: US10313486B2
- Status: Granted
- Kind: B2
- Application number: 14/591,781
- Filed: 2015-01-07
- Published: 2016-07-07
- Granted: 2019-06-04
- Earliest claimed: 2015-01-07
- Assignees: SonicWALL, Inc.
- Applicants: Sonicwall US Holdings Inc.
- Inventors: Li Zhao; Dong Xiang; Zhong Chen; Yicheng He; Yanjun Yang
- Web page: https://patentgrep.com/patent/US10313486B2

## CPC

- H04L 69/04: Protocols for data compression, e.g. ROHC
- H04L 69/166: IP fragmentation; TCP segmentation
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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

### Claim 5 (depends on 4)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 6)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 11)

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.

### Claim 13 (depends on 8)

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.

### Claim 14 (depends on 13)

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.

### Claim 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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 15)

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

### Claim 18 (depends on 17)

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.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 19)

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.
