# US 2021/0243645 A1 · Apparatuses and methods for handling data packets

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

- Number: US 2021/0243645 A1
- Document ID: US20210243645A1
- Status: Published application
- Kind: A1
- Application number: 17/048,643
- Filed: 2018-04-19
- Published: 2021-08-05
- Earliest claimed: 2018-04-19
- Assignees: Telefonaktiebolaget LM Ericsson (publ)
- Applicants: Telefonaktiebolaget LM Ericsson (publ)
- Inventors: Mats FOLKE
- Web page: https://patentgrep.com/patent/US20210243645A1

## CPC

- H04W 28/06: Optimizing {the usage of the radio link}, e.g. header compression, information sizing {, discarding information (system modifying transmission characteristic according to link quality by modifying frame length H04L1/0007; dynamic adaptation of the packet size for flow control or congestion control H04L47/365)}
- H04L 47/36: by determining packet size, e.g. maximum transfer unit [MTU]
- H04L 69/22: Parsing or analysis of headers
- H04L 69/324: in the data link layer [OSI layer 2], e.g. HDLC
- H04W 80/02: Data link layer protocols
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The present disclosure relates to radio network communication. In one of its aspects, the disclosure presented herein concerns a method for assigning a value representing a length of a data packet to a field. The method is implemented in an apparatus. According to the method, a size of the data packet is determined. Based on the determined size of the data packet, the size of the field is set. The determined size of the data packet is then compared against a value threshold, and based on the comparison and based on the determined size of the data packet, a value representing the length of the data packet is calculated. The calculated value representing the length of the data packet is then assigned to the field.

## Claims

### Claim at position 1

1-43. (canceled)

### Claim 44

A method for assigning a value representing a length of a data packet to a field, the method comprising:
determining a size of the data packet;
setting a size of the field based on the determined size of the data packet;
comparing the determined size of the data packet against a value threshold;
calculating a value representing the length of the data packet based on said comparison and based on the determined size of the data packet; and
assigning the calculated value representing the length of the data packet to the field, wherein,
a) if the determined size of the data packet is below or equal to a first value threshold: calculating the value representing the length of the data packet to be an actual value of the determined size of the data packet; and
b) if the determined size of the data packet is above said first value threshold calculating the value representing the length of the data packet based on the determined size of the data packet, wherein, calculating the value representing the length of the data packet comprises: determining an offset value based on the determined size of the data packet; and subtracting the offset value from an actual value of said determined size of the data packet.

### Claim 45 (depends on 44)

The method according to claim 44, wherein the determined size of the data packet is above a second value threshold which is larger than the first value threshold, and wherein
if the determined size of the data packet is below or equal to a third value threshold calculating the value representing the length of the data packet to be an actual value of the determined size of the data packet; and
else if the determined size of the data packet is above said third value threshold calculating the value representing the length of the data packet based on the determined size of the data packet.

### Claim 46 (depends on 44)

The method according to claim 44, wherein the data packet is a Media Access Control, MAC, Service Data Unit, SDU and wherein the field is an L-field, wherein the L-field is located in a header in a Protocol Data Unit, PDU, carrying the MAC SDU, wherein the further method comprises:
determining the size of the MAC SDU;
setting the size of the MAC SDU L-field based on the determined size of the MAC SDU; and
a) if the determined size of the MAC SDU is below or equal to said first value threshold:
ii) calculating the value representing the length of the MAC SDU to be the actual value of the determined size of the MAC SDU; and
ii) assigning the calculated value to the MAC SDU L-field; else
b) if the determined size of the MAC SDU is above said first value threshold:
i) calculating the value representing the length of the MAC SDU by:
1) determining the offset value based on the determined size of the MAC SDU; and
2) subtracting the offset value from the actual value of said determined size of the MAC SDU; and
ii) assigning the calculated value to the MAC SDU L-field.

### Claim 47 (depends on 44)

The method according to claim 44, wherein the method further comprises:
transmitting the data packet to a receiving apparatus.

### Claim 48

An apparatus, comprising:
a processing circuitry; and
a memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to assign a value representing a length of a data packet to a field, wherein the computer program code, when run in the processing circuitry, causes the apparatus to:
determine a size of the data packet;
set a size of the field based on the determined size of the data packet;
compare the determined size of the data packet against a value threshold;
calculate a value representing the length of the data packet based on the determined size of the data packet; and
assign the calculated value representing the length of the data packet to the field, wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to:
if the determined size of the data packet is below or equal to a first value threshold:
calculate the value representing the length of the data packet to be an actual value of the determined size of the data packet; and
assign the calculated value representing the length of the data packet to the field, else
if the determined size of the data packet is above said first value threshold:
calculate the value representing the length of the data packet based on the determined size of the data packet; and
assign the calculated value to the field, wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to calculate the value representing the length of the data packet by:
determine an offset value based on the determined size of the data packet; and
subtract the offset value from an actual value of said determined size of the data packet.

### Claim 49 (depends on 48)

The apparatus according to claim 48, wherein the first value threshold is equal to a formula 2{circumflex over ( )}(the first size of the field)−1 and the offset value is equal to a formula 2{circumflex over ( )}(the first size of the field).

### Claim 50 (depends on 48)

The apparatus according to claim 48, wherein the first value threshold is equal to a formula 2{circumflex over ( )}(the second size of the field)−1 and the offset value is equal to a formula 2{circumflex over ( )}(the second size of the field).

### Claim 51 (depends on 48)

The apparatus according to claim 48, wherein the determined size of the data packet is above a second value threshold which is larger than the first value threshold, and wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to:
if the determined size of the data packet is below or equal to a third value threshold:
calculate the value representing the length of the data packet to be an actual value of the determined size of the data packet; and
assign the calculated value representing the length of the data packet to the field, else
if the determined size of the data packet is above said third value threshold:
calculate the value representing the length of the data packet based on the determined size of the data packet; and
assign the calculated value to the field.

### Claim 52 (depends on 48)

The apparatus according to claim 48, wherein the data packet is a Media Access Control, MAC, Service Data Unit, SDU and wherein the field is an L-field, wherein the L-field is located in a header in a Protocol Data Unit, PDU, carrying the MAC SDU, wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to:
determine the size of the MAC SDU;
set the size of the MAC SDU L-field based on the determined size of the MAC SDU; and
if the determined size of the MAC SDU is below or equal to said first value threshold:
calculate the value representing the length of the MAC SDU to be the actual value of the determined size of the MAC SDU; and
assign the calculated value to the MAC SDU L-field; else
if the determined size of the MAC SDU is above said first value threshold:
calculate the value representing the length of the MAC SDU by determining the offset value based on the determined size of the MAC SDU and subtracting the offset value from an actual value of said determined size of the MAC SDU; and
assign the calculated value to the MAC SDU L-field.

### Claim 53 (depends on 48)

The apparatus according to claim 48, wherein the apparatus further comprises a transmitting circuitry, and wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to:
transmit the data packet to a receiving apparatus.

### Claim 54 (depends on 48)

The apparatus according to claim 48, wherein the apparatus is a transmitter.

### Claim 55

A method for handling a data packet, wherein a field is assigned a value representing a length of said data packet, the method comprising:
obtaining the value representing the length of said data packet;
determining a size of the field; and
establishing an actual size of said data packet based on the determined size of the field and the obtained value representing the length of said data packet,
wherein:
if the determined size of the field is equal to a first size:
establishing the actual size of the data packet to be the value assigned to the field; else
if the determined size of the field is equal to a second size, which is different from the first size:
establishing the actual size of said data packet based on the determined size of the field and the obtained value representing the length of said data packet,
wherein establishing the actual size of said data packet comprising:
determining an offset value based on the determined size of the field; and
adding the determined offset value to the obtained value representing the length of said data packet.

### Claim 56 (depends on 55)

The method according to claim 55, wherein the data packet is a Media Access Control, MAC, Service Data Unit, SDU and wherein the field is an L-field, wherein the L-field is located in a header in a Protocol Data Unit, PDU, carrying the MAC SDU, wherein the method comprises:
obtaining the value representing a length of the MAC SDU;
determining the size of the MAC SDU L-field; and
if the determined size of the MAC SDU L-field is equal to a first size:
establishing the actual size of the MAC SDU to be the value assigned to the MAC SDU L-field; else
if the determined size of the MAC SDU L-field is equal to a second size, which is different from the first size:
establishing the actual size of the MAC SDU by determining the offset value based on the determined size of the MAC SDU L-field and adding the determined offset value to the obtained value representing the length of said MAC SDU.

### Claim 57 (depends on 55)

The method according to claim 55, wherein the method further comprises:
receiving the data packet.

### Claim 58

An apparatus, comprising:
a processing circuitry; and
a memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to handle a data packet, wherein a field is assigned a value representing a length of said data packet, wherein the computer program code, which, when run in the processing circuitry, causes the apparatus to:
obtain the value representing the length of said data packet;
determine a size of the field; and
establish an actual size of said data packet based on the determined size of the field and the obtained value representing the length of said data packet,
wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to:
if the determined size of the field is equal to a first size:
establish the actual size of the data packet to be the value assigned to the field; else
if the determined size of the field is equal to a second size, which is different from the first size:
establish the actual size of said data based on the determined size of the field and the obtained value representing the length of said data packet.

### Claim 59 (depends on 58)

The apparatus according to claim 58, wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to establish the actual size of said data packet by:
determine an offset value based on the determined size of the field; and
add the determined offset value to the obtained value representing the length of said data packet.

### Claim 60 (depends on 59)

The apparatus according to claim 59, wherein the determined offset value is equal to a formula 2{circumflex over ( )}(the first size of the field).

### Claim 61 (depends on 59)

The apparatus according to claim 59, wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to determine the offset value by:
if the first bits of the field are not equal to zero, wherein the first bits are represented by a formula the second size minus the first size:
the determined offset value is equal to zero, else
if the first bits of the field are equal to zero:
the determined offset value is equal to a formula 2{circumflex over ( )}(the second size of the field).

### Claim 62 (depends on 58)

The apparatus according to claim 58, wherein the data packet is a Media Access Control, MAC, Service Data Unit, SDU and wherein the field is an L-field, wherein the L-field is located in a header in a Protocol Data Unit, PDU, carrying the MAC SDU, wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to:
obtain the value representing a length of the MAC SDU;
determine the size of the MAC SDU L-field; and
if the determined size of the MAC SDU L-field is equal to a first size:
establish the actual size of the MAC SDU to be the value assigned to the MAC SDU L-field; else
if the determined size of the MAC SDU L-field is equal to a second size, which is different from the first size:
establish the actual size of the MAC SDU by determine the offset value based on the determined size of the MAC SDU L-field and add the determined offset value to the obtained value representing the length of said MAC SDU.

### Claim 63 (depends on 58)

The apparatus according to claim 58, wherein the apparatus further comprises a receiving circuitry and wherein the memory circuitry storing computer program code which, when run in the processing circuitry, causes the apparatus to:
receive the data packet.
