# US 8,787,384 B2 · Pre-emptive acknowledgement for data transmission in a communication system

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

- Number: US 8,787,384 B2
- Document ID: US8787384B2
- Status: Granted
- Kind: B2
- Application number: 12/115,231
- Filed: 2008-05-05
- Published: 2009-11-05
- Granted: 2014-07-22
- Earliest claimed: 2008-05-05
- Assignees: QUALCOMM Incorporated
- Applicants: Ravi Palanki
- Inventors: Ravi Palanki
- Web page: https://patentgrep.com/patent/US8787384B2

## CPC

- H04L 1/1854: {Scheduling and prioritising arrangements}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Techniques for sending acknowledgement (ACK) information for data transmission are described. In one design, a receiver receives a transmission of data, processes the received transmission to decode the data, and generates ACK information for the data prior to decoding all of the data. The receiver may generate the ACK information based on decoding results for a portion of the data and/or received signal quality of the received transmission. The receiver may send the ACK information at a designated ACK transmission time prior to completing decoding for all of the data. The receiver may receive a transmission of multiple (K) packets and may generate ACK information for these K packets after decoding L packets, where 1≦L<K. The receiver may set the ACK information to an ACK if all L packets are decoded correctly or to a NAK if any one of the L packets is decoded in error.

## Claims

### Claim 1

A method of receiving data, comprising: receiving a transmission of data, the data comprising multiple packets; processing the received transmission to decode the multiple packets; and
generating pre-emptive acknowledgement (ACK) information for the multiple packets prior to decoding all of the multiple packets,
wherein the generating pre-emptive ACK information for the multiple packets comprises generating pre-emptive ACK information for the multiple packets after decoding L packets among the multiple (K) packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for the decoding of the L packets prior to a corresponding ACK transmission time, wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information; and
wherein the pre-emptive ACK information is set to an ACK if all of the L packets are decoded correctly and set to a negative acknowledgment (NAK) if any one of the L packets is decoded in error.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
sending the pre-emptive ACK information prior to completing decoding for all of the data.

### Claim 3 (depends on 1)

The method of claim 1, wherein the generating pre-emptive ACK information for the data comprises generating the pre-emptive ACK information based on decoding results for a portion of the data.

### Claim 4 (depends on 1)

The method of claim 1, wherein the generating pre-emptive ACK information for the data comprises generating the pre-emptive ACK information based on estimated received signal quality for the received transmission.

### Claim 5 (depends on 4)

The method of claim 4, wherein the generating the pre-emptive ACK information based on the estimated received signal quality comprises setting the pre-emptive ACK information to an ACK if the estimated received signal quality meets or exceeds a threshold, and setting the pre-emptive ACK information to a negative acknowledgement (NAK) if the estimated received signal quality is below the threshold.

### Claim 6 (depends on 1)

The method of claim 1, wherein the generating pre-emptive ACK information for the data comprises generating the pre-emptive ACK information based on estimated capacity.

### Claim 7 (depends on 1)

The method of claim 1, wherein the generating pre-emptive ACK information for the data comprises generating the pre-emptive ACK information to be less than or equal to a target NAK-to-ACK error rate.

### Claim 8 (depends on 1)

The method of claim 1, wherein the L packets comprise a single packet decoded first among the multiple packets.

### Claim 9 (depends on 1)

The method of claim 1, wherein the L packets comprise all packets decoded prior to transmission time for the pre-emptive ACK information.

### Claim 10 (depends on 1)

The method of claim 1, wherein the processing the received transmission comprises demodulating the received transmission to obtain demodulated data, and decoding the demodulated data to obtain decoded data.

### Claim 11

An apparatus for communication, comprising:
at least one processor configured to receive a transmission of data comprising multiple (K) packets, to process the received transmission to decode the multiple packets, and to generate pre-emptive acknowledgement (ACK) information for the multiple packets prior to decoding all of the multiple packets,
wherein the at least one processor is configured to generate pre-emptive ACK information for the multiple packets after decoding L packets among the multiple packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for the decoding of the L packets prior to a corresponding ACK transmission time,
wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information; and
wherein the pre-emptive ACK information is set to an ACK if all of the L packets are decoded correctly and set to a negative acknowledgment (NAK) if any one of the L packets is decoded in error.

### Claim 12

An apparatus for receiving data, comprising:
means for receiving a transmission of data comprising multiple (K) packets;
means for processing the received transmission to decode the multiple packets; and
means for generating pre-emptive acknowledgement (ACK) information for the multiple packets prior to decoding all of the multiple packets, wherein the means for generating pre-emptive ACK information for the data comprises means for generating pre-emptive ACK information for the multiple packets after decoding L packets among the multiple packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for the decoding of the L packets prior to a corresponding ACK transmission time,
wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information; and
wherein the pre-emptive ACK information is set to an ACK if all of the L packets are decoded correctly and set to a negative acknowledgment (NAK) if any one of the L packets is decoded in error.

### Claim 13

A computer program product, comprising: a non-transitory computer-readable medium comprising:
code for causing at least one computer to receive a transmission of data comprising multiple (K) packets;
code for causing the at least one computer to process the received transmission to decode the multiple packets;
code for causing the at least one computer to generate pre-emptive acknowledgement (ACK) information for the multiple packets prior to decoding all of the multiple packets, and code for causing the at least one computer to generate the pre-emptive ACK information for the multiple packets after decoding L packets among the multiple packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for the decoding of the L packets prior to a corresponding ACK transmission time,
wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information; and
wherein the pre-emptive ACK information is set to an ACK if all of the L packets are decoded correctly and set to a negative acknowledgment (NAK) if any one of the L packets is decoded in error.

### Claim 14

A method of transmitting data, comprising:
sending a transmission of data to a receiver, the data comprising multiple (K) packets;
receiving pre-emptive acknowledgement (ACK) information for the data from the receiver, the pre-emptive ACK information being generated by the receiver for the multiple packets prior to decoding all of the multiple packets; and
sending another transmission of the data or a transmission of new data based on the pre-emptive ACK information,
wherein the pre-emptive ACK information is generated by the receiver based on decoding results for L packets among the multiple packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for decoding of the L packets prior to a corresponding ACK transmission time, wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information; and
wherein the pre-emptive ACK information is set to an ACK if all of the L packets are decoded correctly and set to a negative acknowledgment (NAK) if any one of the L packets is decoded in error.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
processing the multiple packets to achieve similar probability of correct decoding for the multiple packets.

### Claim 16 (depends on 14)

The method of claim 14, further comprising:
encoding and modulating each of the multiple packets based on a common modulation and coding scheme to obtain a respective one of multiple output packets; and
mapping the multiple output packets across multiple output blocks.

### Claim 17 (depends on 14)

The method of claim 14, wherein the sending another transmission of the data or a transmission of new data comprises sending another transmission of the data if the pre-emptive ACK information comprises a negative acknowledgement (NAK), and sending a transmission of new data if the pre-emptive ACK information comprises an ACK.

### Claim 18

An apparatus for communication, comprising:
at least one processor configured to send a transmission of data to a receiver wherein the data comprising multiple (K) packets, to receive pre-emptive acknowledgement (ACK) information for the multiple packets from the receiver, the pre-emptive ACK information being generated by the receiver for the multiple packets prior to decoding all of the multiple packets, and to send another transmission of the data or a transmission of new data based on the pre-emptive ACK information,
wherein the pre-emptive ACK information is generated by the receiver based on decoding results for L packets among the multiple packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for decoding of the L packets prior to a corresponding ACK transmission time, wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emotive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emotive ACK information; and
wherein the pre-emptive ACK information is set to an ACK if all of the L packets are decoded correctly and set to a negative acknowledgment (NAK) if any one of the L packets is decoded in error.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the at least one processor is configured to encode and modulate each of the multiple packets based on a common modulation and coding scheme to obtain a respective one of multiple output packets, and to map the multiple output packets across multiple output blocks.

### Claim 20 (depends on 18)

The apparatus of claim 18, wherein the at least one processor is configured to send another transmission of the data if the pre-emptive ACK information comprises a negative acknowledgement (NAK), and to send a transmission of new data if the pre-emptive ACK information comprises an ACK.

### Claim 21

A method of receiving data, comprising:
receiving a transmission of multiple packets;
processing the received transmission to decode the multiple (K) packets;
determining, after decoding L packets among the multiple (K) packets, whether a decoding error is obtained for any one of the L decoded packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for the decoding of the L packets prior to a corresponding ACK transmission time;
skipping decoding of packets not yet decoded if the decoding error is obtained;
wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information;
and sending pre-emptive acknowledgment (ACK) information for the multiple packets prior to decoding all of the multiple packets if no decoding error is obtained for any of the L decoded packets.

### Claim 22 (depends on 21)

The method of claim 21, wherein the processing the received transmission comprises processing the received transmission to decode the multiple packets in a sequential order, one packet at a time, and wherein decoding for remaining ones of the multiple packets is skipped upon encountering a first packet decoded in error.

### Claim 23 (depends on 21)

The method of claim 21, further comprising: receiving a transmission of the packets not yet decoded; and processing the received transmission to decode the packets not yet decoded.

### Claim 24

An apparatus for communication, comprising:
at least one processor configured to receive a transmission of multiple packets, to process the received transmission to the multiple (K) packets, to determine whether a decoding error is obtained for any one of the L decoded packets, where L is one or greater and is less than K, to skip decoding of packets not yet decoded if the decoding error is obtained, and to send pre-emptive acknowledgment (ACK) information for the multiple packets prior to decoding all of the multiple packets if no decoding error is obtained for any of the L decoded packets,
wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information;
and L is selected based on an amount of time available for decoding of the L packets prior to a corresponding ACK transmission time.

### Claim 25 (depends on 24)

The apparatus of claim 24, wherein the at least one processor is configured to process the received transmission to decode the multiple packets in a sequential order, one packet at a time, and to skip decoding for remaining ones of the multiple packets upon encountering a first packet decoded in error.

### Claim 26 (depends on 24)

The apparatus of claim 24, wherein the at least one processor is configured to receive a transmission of the packets not yet decoded, and to process the received transmission to decode the packets not yet decoded.

### Claim 27 (depends on 11)

The apparatus of claim 11, further wherein the at least one processor is further configured to send the pre-emptive ACK information prior to completing decoding for all of the data.

### Claim 28 (depends on 11)

The apparatus of claim 11, wherein the at least one processor is configured to generate the pre-emptive ACK information for the data based on decoding results for a portion of the data.

### Claim 29 (depends on 11)

The apparatus of claim 11, wherein the at least one processor is configured to generate the pre-emptive ACK information based on estimated received signal quality for the received transmission.

### Claim 30 (depends on 29)

The apparatus of claim 29, wherein the generating the pre-emptive ACK information based on the estimated received signal quality comprises setting the pre-emptive ACK information to an ACK if the estimated received signal quality meets or exceeds a threshold, and setting the pre-emptive ACK information to a negative acknowledgement (NAK) if the estimated received signal quality is below the threshold.

### Claim 31 (depends on 11)

The apparatus of claim 11, wherein the at least one processor is configured to generate the pre-emptive ACK information based on estimated capacity.

### Claim 32 (depends on 11)

The apparatus of claim 11, wherein at least one processor is configured to generate the pre-emptive ACK information to be less than or equal to a target NAK-to-ACK error rate.

### Claim 33 (depends on 11)

The apparatus of claim 11, wherein the L packets comprise a single packet decoded first among the multiple packets.

### Claim 34 (depends on 11)

The apparatus of claim 11, wherein the L packets comprise all packets decoded prior to transmission time for the pre-emptive ACK information.

### Claim 35 (depends on 11)

The apparatus of claim 11, wherein the at least one processor is configured to process the received transmission by demodulating the received transmission to obtain demodulated data, and decoding the demodulated data to obtain decoded data.

### Claim 36 (depends on 1)

The method of claim 1, wherein generating pre-emptive ACK information for the multiple packets prior to decoding all of the multiple packets comprises generating a single ACK for all of the multiple packets.

### Claim 37

An apparatus for transmitting data, comprising:
means for sending a transmission of data to a receiver, the data comprising multiple (K) packets;
means for receiving pre-emptive acknowledgement (ACK) information for the data from the receiver, the pre-emptive ACK information being generated by the receiver for the multiple packets prior to decoding all of the multiple packets; and
means for sending another transmission of the data or a transmission of new data based on the pre-emptive ACK information,
wherein the pre-emptive ACK information is generated by the receiver based on decoding results for L packets among the multiple packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for decoding of the L packets prior to a corresponding ACK transmission time, and
wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emotive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information;
wherein the pre-emptive ACK information is set to an ACK if all of the L packets are decoded correctly and set to a negative acknowledgment (NAK) if any one of the L packets is decoded in error.

### Claim 38

A computer program product, comprising: a non-transitory computer-readable medium comprising:
code for causing at least one computer to send a transmission of data to a receiver, the data comprising multiple (K) packets;
code for causing the at least one computer to receive pre-emptive acknowledgement (ACK) information for the data from the receiver, the pre-emptive ACK information being generated by the receiver for the multiple packets prior to decoding all of the multiple packets;
and code for causing the at least one computer to send another transmission of the data or a transmission of new data based on the pre-emptive ACK information,
wherein the pre-emptive ACK information is generated by the receiver based on decoding results for L packets among the multiple packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for decoding of the L packets prior to a corresponding ACK transmission time,
wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information; and
wherein the pre-emptive ACK information is set to an ACK if all of the L packets are decoded correctly and set to a negative acknowledgment (NAK) if any one of the L packets is decoded in error.

### Claim 39

An apparatus for receiving data, comprising:
means for receiving a transmission of multiple packets; means for processing the received transmission to decode the multiple (K) packets;
means for determining, after decoding L packets among the multiple (K) packets, whether a decoding error is obtained for any one of the L decoded packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for decoding of the L packets prior to a corresponding ACK transmission time;
wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information;
means for skipping decoding of packets not yet decoded if the decoding error is obtained; and means for sending pre-emptive acknowledgment (ACK) information for the multiple packets prior to decoding all of the multiple packets if no decoding error is obtained for any of the L decoded packets.

### Claim 40

A computer program product, comprising: a non-transitory computer-readable medium comprising:
code for causing at least one computer to receive a transmission of multiple packets;
code for causing the at least one computer to process the received transmission to decode the multiple (K) packets;
code for causing the at least one computer to determine, after decoding L packets among the multiple (K) packets, whether a decoding error is obtained for any one of the L decoded packets, where L is one or greater and is less than K, and L is selected based on an amount of time available for decoding of the L packets prior to a corresponding ACK transmission time;
code for causing the at least one computer to skip decoding of packets not yet decoded if the decoding error is obtained; wherein the L packets may include a sufficient number of decoded packets to obtain the desired accuracy for the pre-emptive ACK information, wherein more decoded packets corresponds to greater accuracy in the pre-emptive ACK information; and
code for causing the at least one computer to send pre-emptive acknowledgment (ACK) information for the multiple packets prior to decoding all of the multiple packets if no decoding error is obtained for any of the L decoded packets.
