Patent ID: 7680151

Claim:
A method for acknowledging a failure of a client node to receive portions of a program from a channel, each program being a group of one or more files and related program information specifying how to use the files, each channel being a distinct path from which a program can be received such that programs received from each channel are distinctly separable, the method comprising: (a) preparing to receive original data of one or more files of a program from a particular channel, (b) determining that plural ranges of data words of the original data were not received without error, (c) generating a single packet indicating that the plural ranges of data words were not received, and (d) transmitting the single packet on a return path to another node for causing the plural ranges of data words to be retransmitted, wherein said steps (b), (c) and (d) comprise the steps of: (e) setting a first range of data words indicating a first part of the information that the client node failed to receive without error; (f) setting a second range of data words indicating a second part of the information that the client node failed to receive without error; (g) determining whether or not the first range intersects the second range, the second range including data words not included in the first range; (h) when step (g) determines that the first range intersects the second range, setting a third range of data words forming a union of the first range and the second range; and (i) transmitting a packet to the particular channel requesting retransmission of the data words in the third range to the client node.