# US 9,883,420 B2 · Random linear network encoded data transmission from user equipment

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

- Number: US 9,883,420 B2
- Document ID: US9883420B2
- Status: Granted
- Kind: B2
- Application number: 15/046,606
- Filed: 2016-02-18
- Published: 2017-04-27
- Granted: 2018-01-30
- Earliest claimed: 2015-10-23
- Assignees: Motorola Mobility LLC
- Applicants: Motorola Mobility LLC
- Inventors: Murali Narasimha; Hossein Bagheri
- Web page: https://patentgrep.com/patent/US9883420B2

## 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 1/002: {Algorithms with memory of the previous states, e.g. Markovian models}
- H04L 1/0029: {Reduction of the amount of signalling, e.g. retention of useful signalling or differential signalling (power control H04W52/04)}
- H04L 1/0057: {Block codes (H04L1/0061, H04L1/0064 take precedence)}
- H04L 1/0076: {Distributed coding, e.g. network coding, involving channel coding (coding in both space and time H04L1/0618; cooperative diversity H04B7/022)}
- H04W 72/04: Wireless resource allocation
- 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

For random linear network encoded data transmission from user equipment, a method receives a Galois field and a resource allocation for transmission of data from the user equipment. The method further encodes a first set of k data packets from a first data ensemble into a first random linear network coded (RLNC) packet as a function of the Galois field. The first RLNC packet includes an ensemble number that identifies the first data ensemble, an encoding vector, and a sequence of RLNC sub-packets. In addition, the method generates a first protocol data unit (PDU) that comprises a number of RLNC sub-packets of the first RLNC packet. A size of the first PDU does not exceed the resource allocation.

## Claims

### Claim 1

A method comprising:
receiving, by use of a processor, a Galois field and a resource allocation for transmission of data from user equipment;
encoding a first set of k data packets from a first data ensemble into a first random linear network coded (RLNC) packet as a function of the Galois field, wherein the first RLNC packet comprises an ensemble number that identifies the first data ensemble, an encoding vector, and a sequence of RLNC sub-packets;
generating a first protocol data unit (PDU) that comprises a number of RLNC sub-packets of the first RLNC packet such that a size of the first PDU does not exceed the resource allocation; and
transmitting the PDU.

### Claim 2 (depends on 1)

The method of claim 1, the method further comprising:
encoding a second set of k data packets from a second data ensemble into a second RLNC packet, wherein the second RLNC packet comprises a sequence of RLNC sub-packets; and
including in the first PDU a maximum number of RLNC sub-packets of the second RLNC packet such that the size of the first PDU does not exceed the resource allocation.

### Claim 3 (depends on 1)

The method of claim 1 further comprising:
encoding the first set of k data packets from the first data ensemble into a second RLNC packet, wherein the second RLNC packet comprises a sequence of RLNC sub-packets; and
including in the first PDU, a maximum number of RLNC sub-packets of the second RLNC packet that can be included without the PDU exceeding the size of the resource allocation.

### Claim 4 (depends on 1)

The method of claim 1, wherein RLNC sub-packets are allocated to the first PDU at a physical layer of a communication stack.

### Claim 5 (depends on 1)

The method of claim 1, wherein encoding the plurality of at least k data packets comprises:
generating a coefficient vector comprising at least k encoding vectors [c1i, c2i, . . . cki] of coefficients randomly selected from the Galois field; and
encoding the plurality of at least k data packets p as the plurality of k RLNC packets y wherein each y is calculated as yi=Σi=1k ci pi.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first set of k data packets from the first ensemble are obtained by resizing a set of k original data packets by:
calculating a specified packet length l, wherein l is greater than or equal to a total number of sub-packets in the plurality of data packets divided by k; and
distributing sub-packets from long data packets with greater than l sub-packets to short data packets with less than l sub-packets.

### Claim 7 (depends on 6)

The method of claim 6, the method further comprising appending null sub-packets to short data packets with less than l sub-packets.

### Claim 8 (depends on 6)

The method of claim 6, where k is communicated to the user equipment by a network coding node and k is calculated as a function of a resource allocation and data traffic characteristics comprising one or more of packet arrival requirements and delay requirements.

### Claim 9 (depends on 1)

The method of claim 1, wherein at least one data packet is encoded with two or more encoding vectors and transmitted to one or more reception points.

### Claim 10 (depends on 1)

The method of claim 1, wherein the PDU is filled with one RLNC sub-packet from a plurality of data ensembles.

### Claim 11 (depends on 1)

The method of claim 1, wherein the PDU is initially filled with RLNC sub-packets from the first RLNC packet and subsequently filled with RLNC sub-packets from a second RLNC packet.

### Claim 12 (depends on 1)

The method of claim 1, where a first user equipment communicates the first data packet to a second user equipment over a device-to-device channel and the second user equipment communicates a second RLNC packet derived from at least the first data packet to a reception point.

### Claim 13 (depends on 12)

The method of claim 12, wherein the second RLNC packet is derived from the first data packet and from other data packets present at the second user equipment.

### Claim 14 (depends on 12)

The method of claim 12, wherein the first data packet is positioned within the second RLNC packet based on a pre-selection map.

### Claim 15 (depends on 1)

The method of claim 1, wherein the PDU is transmitted from a first user equipment with increased power in response to communication over a device-to-device channel from a second user equipment that the second user equipment is communicating with a reception point that is not in communication with the first user equipment.

### Claim 16

An apparatus comprising:
a processor performing:
receiving a Galois field and a resource allocation for transmission of data from user equipment;
encoding a first set of k data packets from a first data ensemble into a first random linear network coded (RLNC) packet as a function of the Galois field, wherein the first RLNC packet comprises an ensemble number that identifies the first data ensemble, an encoding vector, and a sequence of RLNC sub-packets;
generating a first protocol data unit (PDU) that comprises a number of RLNC sub-packets of the first RLNC packet such that a size of the first PDU does not exceed the resource allocation; and
transmitting the PDU.

### Claim 17 (depends on 16)

The apparatus of claim 16, the processor further performing:
encoding a second set of k data packets from a second data ensemble into a second RLNC packet, wherein the second RLNC packet comprises a sequence of RLNC sub-packets; and
including in the first PDU a maximum number of RLNC sub-packets of the second RLNC packet such that the size of the first PDU does not exceed the resource allocation.
