# US 11,445,047 B2 · ROHC header compression for MPTCP

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

- Number: US 11,445,047 B2
- Document ID: US11445047B2
- Status: Granted
- Kind: B2
- Application number: 16/084,658
- Filed: 2017-09-29
- Published: 2020-09-24
- Granted: 2022-09-13
- Earliest claimed: 2017-09-29
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Yingjie Zhao; Jianxiong Shi; Lele Cui; Li Su; Faraz Faheem
- Web page: https://patentgrep.com/patent/US11445047B2

## CPC

- H04L 69/04: Protocols for data compression, e.g. ROHC
- H04L 69/14: Multichannel or multilink protocols
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L 69/22: Parsing or analysis of headers
- 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)}
- H04W 80/06: Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless {(transmission control protocol/Internet protocol [TCP/IP] or user datagram protocol [UDP] H04L69/16)}
- H04W 88/02: Terminal devices
- 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)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- 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

Some embodiments relate to a user equipment device (UE), and associated methods for performing ROHC header compression on TCP packets with MPTCP option enabled. In some embodiments, a compressor may determine that a first portion of the stream of data packets is formatted according to the transmission control protocol (TCP) with a multipath TCP (MPTCP) option enabled. The compressor may establish context with a corresponding decompressor and may operate in one of three modes of compression based on the context. In some embodiments, when the context indicates that the corresponding decompressor supports decompression of TCP data packets with MPTCP option enabled, the compressor may operate in a first or second mode of compression. In some embodiments, when the context indicates that the corresponding decompressor does not support decompression of TCP data packets with MPTCP option enabled, the compressor may operation in a third mode of compression.

## Claims

### Claim 1

A user equipment device (UE), comprising:
at least one antenna for performing wireless communication;
at least one radio coupled to the at least one antenna, wherein the at least one radio is configured to perform cellular communication with a base station;
one or more processors coupled to the at least one radio, wherein the one or more processors and the at least one radio are configured to perform wireless communications using the at least one antenna;
wherein the one or more processors are configured as a data compressor, wherein the data compressor is configured to:
determine, based on first information comprised in headers of a stream of data packets, that a first portion of the stream of data packets is formatted according to the transmission control protocol (TCP) with a multipath TCP (MPTCP) option enabled;
establish context with a corresponding decompressor, wherein when the context indicates that the corresponding decompressor supports decompression of TCP data packets with MPTCP option enabled, the data compressor is further configured to:
perform RObust Header Compression (ROHC) on the stream of data packets, thereby generating a chain of compressed data packets, wherein, in a first mode of compression, the MPTCP option is not compressed, wherein in a second mode of compression, the MPTCP option is compressed; and
transmit the chain of compressed data packets to the corresponding decompressor.

### Claim 2 (depends on 1)

The UE of claim 1,
wherein when the context indicates that the corresponding decompressor does not support ROHC decompression of TCP data packets with the MPTCP option enabled, the data compressor is further configured to:
transmit the first portion of the stream of data packets with the MPTCP option enabled without compression; and
transmit a second portion of the stream of data packets with the MPTCP option not enabled with ROHC.

### Claim 3 (depends on 2)

The UE of claim 2,
wherein to establish the context, the data compressor is further configured to:
receive an error indicating that the corresponding decompressor does not support ROHC decompression of TCP data packets with the MPTCP option enabled.

### Claim 4 (depends on 1)

The UE of claim 1,
wherein in the first mode of compression, the data compressor is configured to:
transmit the first portion of the stream of data packets with the MPTCP option enabled with partial ROHC; and
transmit a second portion of the stream of data packets with the MPTCP option not enabled with ROHC.

### Claim 5 (depends on 4)

The UE of claim 4,
wherein partial ROHC comprises:
performing ROHC on a data packet excluding the MPTCP option; and
transmitting the MPTCP option as part of a compressed list.

### Claim 6 (depends on 1)

The UE of claim 1,
wherein in the second mode of compression, the data compressor is configured to:
transmit the first portion of the stream of data packets with the MPTCP option enabled with ROHC; and
transmit a second portion of the stream of data packets with the MPTCP option not enabled with ROHC.

### Claim 7 (depends on 1)

The UE of claim 1,
wherein to perform ROHC in the second mode of compression, the data compressor is further configured to:
determine that first portion of the stream of data packets include an MPTCP subtype that supports the second mode of compression.

### Claim 8 (depends on 7)

The UE of claim 7,
wherein the MPTCP subtype comprises subtype 0x02.

### Claim 9 (depends on 1)

The UE of claim 1,
wherein the data compressor is further configured to:
maintain a table of (index, item) pairs for TCP options included in headers of the data stream, wherein the MPTCP option corresponds to a table index of 7.

### Claim 10

A compressor, comprising:
a memory; and
a processing element in communication with the memory, wherein the processing element is configured to:
identify, based on first information comprised in headers a stream of data packets, that a first portion of the stream of as data packets is formatted according to the transmission control protocol (TCP) with multipath transmission protocol (MPTCP) option enabled;
compress headers of the stream of data packets based, at least in part, on the data packets being formatted according to the MPTCP protocol, thereby generating a chain of compressed data packets, wherein in a first mode of compression, the MPTCP option is not compressed, and wherein in a second mode of compression, the MPTCP option is compressed; and
generate instructions to transmit, to a corresponding decompressor, the chain of compressed data packets.

### Claim 11 (depends on 10)

The compressor of claim 10,
wherein the processing element is further configured to:
receive, from the corresponding decompressor, feedback indicating the corresponding decompressor does not support compression of data packets formatted according the MPTCP protocol; and
generate instructions to transmit the first portion of the stream of data packets with the MPTCP option enabled without compression; and
transmit a second portion of the stream of data packets with the MPTCP option not enabled with compression.

### Claim 12 (depends on 10)

The compressor of claim 10,
wherein, prior to generating instructions to transmit the compressed header the processing element is further configured to:
generate instructions to transmit a partially compressed header, wherein the partially compressed header does not included compression of the MPTCP option; and
receive, from the corresponding decompressor, an indication that the corresponding decompressor supports compression of the MPTCP option.

### Claim 13 (depends on 10)

The compressor of claim 10,
wherein the data stream comprises MPTCP subtype 0x02 packets.

### Claim 14 (depends on 10)

The compressor of claim 10,
wherein the processing element is further configured to:
maintain a table of (index, item) pairs for TCP options included in headers of the data stream.

### Claim 15 (depends on 14)

The compressor of claim 14,
wherein the MPTCP option corresponds to a table index of 7.

### Claim 16

A non-transitory computer readable memory medium storing program instructions executable by processing circuitry of a user equipment device (UE) to:
establish, with a corresponding decompressor, context of a multipath transmission control protocol (MPTCP) RObust Header Compression (ROHC) data transmission;
generate instructions to transmit the data transmission in an MPTCP ROHC safe compression mode, including compressing data packets of a first format, wherein the first format corresponds to data packets formatted according to the transmission control protocol (TCP) without an MPTCP option enabled; and
transition the data transmission to an MPTCP ROHC full compression mode, including compressing data packets of the first format.

### Claim 17 (depends on 16)

The non-transitory computer readable memory medium of claim 16,
wherein, to transmit in the MPTCP ROHC safe compression mode, the program instructions are further executable to:
partially compress data packets of a second format, wherein the second format corresponds to data packets formatted according to TCP with the MPTCP option enabled.

### Claim 18 (depends on 16)

The non-transitory computer readable memory medium of claim 16,
wherein, to transmit in the MPTCP ROHC full compression mode, the program instructions are further executable to:
compress data packets of a second format, wherein the second format corresponds to data packets formatted according to TCP with the MPTCP option enabled.

### Claim 19 (depends on 16)

The non-transitory computer readable memory medium of claim 16,
where, to transition the data transmission to the MPTCP ROHC full compression mode, the program instructions are further executable to:
determine that data packets formatted according to the transmission control protocol (TCP) with an MPTCP option enabled are subtype 0x02 MPTCP data packets.

### Claim 20 (depends on 16)

The non-transitory computer readable memory medium of claim 16,
wherein, to establish the context, the program instructions are further executable to:
receive an error indicating that the corresponding decompressor does not support ROHC decompression of TCP data packets with the MPTCP option enabled.
