Patent ID: 8634387

Claim:
A method comprising: by a first computing device, combining N ACK/NACK responses respectively corresponding to N data transmissions received from a second computing device; encoding the combined N ACK/NACK responses, comprising: selecting one of one or more positions of a communication channel between the first computing device and the second computing device based on the combined N ACK/NACK responses, wherein the first computing device sends ACK/NACK transmissions to the second computing device over the communication channel, and each position of the communication channel corresponds to a frequency or time resource of the communication channel; and setting a value of each of one or more bits the first computing device sends to the second computing device during each ACK/NACK transmission based on the combined N ACK/NACK responses; and sending the one or more bits at the selected one of one or more positions over the communication channel to the second computing device; wherein: combining N ACK/NACK responses respectively corresponding to N data transmissions received from the second computing device comprises: representing the N ACK/NACK responses with N binary digits; if an ith data transmission of the N data transmissions is successful, then setting an ith binary digit of the N binary digits to 1, wherein positions of the ith data transmission and the ith binary digit are equal; and if the ith data transmission is unsuccessful, then setting the ith binary digit to 0; N is 2; a number of positions of the communication channel is 2; a number of bits sent during each ACK/NACK transmission is 1; if the 2 binary digits are (0, 0), then a first position of the communication channel is selected and the value of the bit is set to 0; if the 2 binary digits are (0, 1), then a first position of the communication channel is selected and the value of the bit is set to 1; if the 2 binary digits are (1, 0), then a second position of the communication channel is selected and the value of the bit is set to 0; and if the 2 binary digits are (1, 1), then a second position of the communication channel is selected and the value of the bit is set to 1.