Patent ID: 8432848

Claim:
A method of transmitting information between a source and a destination using an intermediate relay, the method comprising: a plurality of intermediate relays receiving from the source via a first communication channel blocks of a given message encoded using a first rateless code; each intermediate relay buffering received blocks of the given message in the intermediate relay for storage and subsequent delivery to the destination; upon a first intermediate relay determining that enough blocks of the given message have been received to decode the given message, the first intermediate relay directly transmitting an acknowledgement message indicating to the source to discontinue transmission of the blocks of the given message and directly indicating to other intermediate relays that the first intermediate relay has completed reception of the given message, and placing the given message into a queue of the first intermediate relay; the first intermediate relay repeatedly transmitting blocks of the given message stored in the queue of the first intermediate relay encoded using a second rateless code to the destination via a second communication channel until an acknowledgment is received from the destination indicating that the destination has received enough blocks to decode the given message; and prior to receiving the acknowledgment from the destination, the plurality of intermediate relays receiving from the source via the first communication channel blocks of a subsequent message encoded using the first rateless code.