# US 10,122,636 B2 · Processing data units

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

- Number: US 10,122,636 B2
- Document ID: US10122636B2
- Status: Granted
- Kind: B2
- Application number: 14/327,974
- Filed: 2014-07-10
- Published: 2016-01-14
- Granted: 2018-11-06
- Earliest claimed: 2014-07-10
- Assignees: Keysight Technologies Singapore (Holdings) Pte. Ltd.
- Applicants: Keysight Technologies Singapore (Holdings) Pte Ltd.
- Inventors: Matthew R. Bergeron; Bryan Rittmeyer
- Web page: https://patentgrep.com/patent/US10122636B2

## CPC

- H04L 47/196: {Integration of transport layer protocols, e.g. TCP and UDP}
- H04L 49/9057: Arrangements for supporting packet reassembly or resequencing
- H04L 43/50: Testing arrangements
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods, systems, and computer readable media for processing data units are disclosed. According to one method, the method occurs at a network interface of a computing platform having per data unit processing overhead that limits throughput of the network interface. The method includes concatenating multiple individual data units into a concatenated data unit (CDU), wherein the CDU includes a header portion for at least one of the multiple data units, processing the CDU as a single data unit rather than as multiple individual data units such that the CDU incurs processing overhead of a single data unit rather than that of multiple individual data units, and de-concatenating the CDU into the multiple individual data units.

## Claims

### Claim 1

A method for processing data units, the method comprising: at a computing platform comprising a network equipment test device, wherein the network equipment test device comprises a plurality of processors for performing data unit concatenation, wherein the computing platform has throughput limitations associated with processing data:
sorting or classifying individual data units using processor affinity values, wherein each of the processor affinity values identifies to which processor of the plurality of processors an individual data unit should be forwarded to for concatenation with other individual data units associated with the same processor affinity value;
concatenating, using a first processor of the plurality of processors associated with a first processor affinity value, multiple individual data units into a concatenated data unit (CDU), wherein the CDU includes a header portion for at least one of the multiple data units, wherein the multiple individual data units in the CDU are associated with the first processor affinity value;
processing the CDU as a single data unit rather than as multiple individual data units such that the CDU incurs processing overhead of a single data unit rather than that of multiple individual data units; and
de-concatenating the CDU into the multiple individual data units, wherein the concatenating, processing, and de-concatenation occur in a network interface of the network equipment test device.

### Claim 2 (depends on 1)

The method of claim 1 wherein the CDU includes a first data unit associated with a first flow and a second data unit associated with a second flow, the second flow being different from the first flow.

### Claim 3 (depends on 1)

The method of claim 1 wherein the CDU includes a first data unit associated with a first flow and a second data unit associated with the first flow.

### Claim 4 (depends on 1)

The method of claim 1 comprising compressing or encrypting the CDU or one or more of the individual data units.

### Claim 5 (depends on 1)

The method of claim 1 wherein concatenating the multiple individual data units into the CDU includes generating and storing a decode data portion in the CDU for de-concatenating the CDU.

### Claim 6 (depends on 5)

The method of claim 5 wherein the decode data portion includes offset information indicating locations of each of the multiple individual data units in the CDU or includes size information associated with each of the multiple individual data units in the CDU.

### Claim 7 (depends on 1)

The method of claim 1 wherein concatenating the multiple data units into the CDU includes determining, using a time out period, a counter, preconfigured information, dynamic information, or information in one or more of the multiple individual data units, how many data units to include in the CDU.

### Claim 8 (depends on 1)

The method of claim 1 wherein processing the CDU includes transferring, moving, or copying the CDU from the network interface.

### Claim 9 (depends on 1)

The method of claim 1 wherein the multiple data units are received from or sent to a device under test.

### Claim 10 (depends on 1)

The method of claim 1 wherein the concatenating, processing, and de-concatenation occur between a physical layer and a data link layer.

### Claim 11

A system for processing data units, the system comprising: a computing platform having throughput limitations associated with processing data, the computing platform comprising a network equipment test device, wherein the network equipment test device comprises:
a plurality of processors for performing data unit concatenation; and
a memory, wherein the computing platform is configured to sort or classify individual data units using processor affinity values, wherein each of the processor affinity values identifies to which processor of the plurality of processors an individual data unit should be forwarded to for concatenation with other individual data units associated with the same processor affinity value; to concatenate, using a first processor of the plurality of processors associated with a first processor affinity value, multiple individual data units into a concatenated data unit (CDU), wherein the CDU includes a header portion for at least one of the multiple data units, wherein the multiple individual data units in the CDU are associated with the first processor affinity value, to process the CDU as a single data unit rather than as multiple individual data units such that the CDU incurs processing overhead of a single data unit rather than that of multiple individual data units, and to de-concatenate the CDU into the multiple individual data units, wherein the concatenating, processing, and de-concatenation occur in a network interface of the network equipment test device.

### Claim 12 (depends on 11)

The system of claim 11 wherein the CDU includes a first data unit associated with a first flow and a second data unit associated with a second flow, the second flow being different from the first flow.

### Claim 13 (depends on 11)

The system of claim 11 wherein the CDU includes a first data unit associated with a first flow and a second data unit associated with the first flow.

### Claim 14 (depends on 11)

The system of claim 11 wherein the computing platform is configured to compress or encrypt the CDU or one or more of the individual data units.

### Claim 15 (depends on 11)

The system of claim 11 wherein the computing platform is configured to generate and store a decode data portion in the CDU for de-concatenating the CDU.

### Claim 16 (depends on 15)

The system of claim 15 wherein the decode data portion includes offset information indicating locations of each of the multiple individual data units in the CDU or includes size information associated with each of the multiple individual data units in the CDU.

### Claim 17 (depends on 11)

The system of claim 11 wherein the computing platform is configured to determine, using a time out period, a counter, preconfigured information, dynamic information, or information in one or more of the multiple individual data units, how many data units to include in the CDU.

### Claim 18 (depends on 11)

The system of claim 11 wherein the computing platform is configured to transfer, move, or copy the CDU from the network interface.

### Claim 19 (depends on 11)

The system of claim 11 wherein the multiple data units are received from or sent to a device under test.

### Claim 20 (depends on 11)

The system of claim 11 wherein the computing platform is configured to concatenate, process, and de-concatenate between a physical layer processing and a data link layer.

### Claim 21

A non-transitory computer readable medium comprising computer executable instructions embodied in the non-transitory computer readable medium that when executed by a processor of a computer perform steps comprising: at a computing platform comprising a network equipment test device, wherein the network equipment test device comprises a plurality of processors for performing data unit concatenation, wherein the computing platform has throughput limitations associated with processing data:
sorting or classifying individual data units using processor affinity values, wherein each of the processor affinity values identifies to which processor of the plurality of processors an individual data unit should be forwarded to for concatenation with other individual data units associated with the same processor affinity value;
concatenating, using a first processor of the plurality of processors associated with a first processor affinity value, multiple individual data units into a concatenated data unit (CDU), wherein the CDU includes a header portion for at least one of the multiple data units, wherein the multiple individual data units in the CDU are associated with the first processor affinity value;
processing the CDU as a single data unit rather than as multiple individual data units such that the CDU incurs processing overhead of a single data unit rather than that of multiple individual data units; and
de-concatenating the CDU into the multiple individual data units, wherein the concatenating, processing, and de-concatenation occur in a network interface of the network equipment test device.
