# US 11,909,848 B2 · Multi-flow compression

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

- Number: US 11,909,848 B2
- Document ID: US11909848B2
- Status: Granted
- Kind: B2
- Application number: 16/924,221
- Filed: 2020-07-09
- Published: 2022-01-13
- Granted: 2024-02-20
- Earliest claimed: 2020-07-09
- Assignees: Mellanox Technologies, Ltd.
- Applicants: Mellanox Technologies Tlv Ltd.
- Inventors: David Pilnik; Yair Chasdai; Liran Daniel
- Web page: https://patentgrep.com/patent/US11909848B2

## CPC

- H04L 69/04: Protocols for data compression, e.g. ROHC
- H04L 45/02: Topology update or discovery
- H04L 47/38: by adapting coding or compression rate
- H04L 47/41: by acting on aggregated flows or links
- H04L 49/3063: {Pipelined operation}
- H04L 2212/00: Encapsulation of packets
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

In one embodiment, a device includes a data compression engine configured to process data packets of multiple network flows received from a network, and compress respective groups of the received data packets into respective compressed packets for sending over the network, each respective compressed packet including respective ones of the received data packets from different ones of the network flows, wherein the network interface is configured to send the compressed packets over the network.

## Claims

### Claim 1

A device, comprising: a network interface to receive data packets of multiple network flows from a network; processing pipeline circuitry to process data of the received data packets in a pipeline; and a data compression engine to: compress groups of the received data packets from different ones of the network flows into compressed packets, wherein each compressed packet comprises compressed data of multiple data packets of the received data packets, the multiple data packets being from different network flows of the multiple network flows, wherein the network interface is configured to send the compressed packets over the network,
add a first one and a second one of the received data packets to one of the groups responsively to the first data packet and the second data packet having a first similarity result above a first given threshold; and add a third one of the received data packets to the one group responsively to the third data packet having a similarity to the first similarity result above a second given threshold.

### Claim 2

A device, comprising: a network interface to receive data packets of multiple network flows from a network; processing pipeline circuitry to process data of the received data packets in a pipeline; and a data compression engine to: compress groups of the received data packets from different ones of the network flows into compressed packets, wherein each compressed packet comprises compressed data of multiple data packets of the received data packets, the multiple data packets being from different network flows of the multiple network flows, wherein the network interface is configured to send the compressed packets over the network,
add a first one and a second one of the received data packets to one of the groups responsively to the first data packet and the second data packet having a similarity result above a first given threshold; and add a third one of the received data packets to the one group responsively to the third data packet having a similarity to the second data packet above a second given threshold.

### Claim 3

A device, comprising:
a network interface to receive compressed packets compressed by another device, wherein each compressed packet of the compressed packets comprises compressed data of multiple data packets of received data packets received by the other device, the multiple data packets being from at least some network flows of multiple network flows; and
a data decompression engine configured to:
process the compressed packets; and
decompress the compressed packets into groups of the received data packets for sending over the network to destination nodes responsively to header data of the received data packets, each group of the received data packets comprising the multiple data packets of the received data packets from different ones of the multiple network flows.

### Claim 4 (depends on 3)

The device according to claim 3, further comprising a decapsulation engine configured to decapsulate the compressed packets prior to decompression of the compressed packets.

### Claim 5

A computer network system, comprising: a first network device, comprising: a first network interface configured to receive data packets of multiple network flows from a network; processing pipeline circuitry configured to process data of the received data packets in a pipeline; and a data compression engine configured to compress groups of the received data packets into compressed packets each compressed packet including compressed data of multiple data packets of the received data packets, the multiple data packets being from different network flows of the multiple network flows, wherein the first network interface is configured to send the compressed packets over the network; and a second network device comprising: a second network interface configured to receive respective ones of the compressed packets from a network; and a data decompression engine configured to decompress ones of the compressed packets into groups of the data packets, wherein the second network interface is configured to send ones of the data packets over the network to respective destination nodes responsively to header data of the data packets, wherein the data compression engine is configured to: add a first one and a second one of the received data packets to one of the groups responsively to the first data packet and the second data packet having a first similarity result above a first given threshold; and add a third one of the received data packets to the one group responsively to the third data packet having a similarity to the first similarity result above a second given threshold.

### Claim 6

A computer network system, comprising: a first network device, comprising: a first network interface configured to receive data packets of multiple network flows from a network; processing pipeline circuitry configured to process data of the received data packets in a pipeline; and a data compression engine configured to compress groups of the received data packets into compressed packets, each compressed packet including compressed data of multiple data packets of the received data packets, the multiple data packets being from different network flows of the multiple network flows, wherein the first network interface is configured to send the compressed packets over the network; and a second network device comprising: a second network interface configured to receive respective ones of the compressed packets from a network; and a data decompression engine configured to decompress ones of the compressed packets into groups of the data packets, wherein the second network interface is configured to send ones of the data packets over the network to respective destination nodes responsively to header data of the data packets, wherein the data compression engine is configured to: add a first one and a second one of the received data packets to one of the groups responsively to the first data packet and the second data packet having a similarity result above a first given threshold; and add a third one of the received data packets to the one group responsively to the third data packet having a similarity to the second data packet above a second given threshold.
