Patent ID: 6895019

Claim:
A method for transmitting a data stream over a network between a first host and a second host, said method comprising the steps of: dividing, at said first host, said data stream into at least one Super Information Block; dividing, at said first host, said Super Information Block into M Chunk Information Blocks where M is at least one and wherein each Chunk Information Block includes at least one information payload; selectively generating, at said first host, zero or more parity payloads corresponding to each Chunk Information Block and derived from a subset of said information payload within said Chunk Information Block wherein said zero or more parity payloads are selectively generated in accordance with history of prior exchanges between said first host and said second host; transmitting, from said first host to said second host, said information payload along with any corresponding said zero or more parity payloads; receiving, in said second host, said at least one information payload and any corresponding said parity payload; detecting, in said second host, any problems in receipt of said information payload; determining, in said second host, whether any of said zero or more parity payloads have been received; recovering, in said second host, lost payloads of said at least one information payload using any corresponding said parity payload in response to the step of detecting and in response to the determination that said at least one parity payload has been received; sending an acknowledgment from said second host to said first host indicating the progress of the data stream's transmission; receiving said acknowledgment in said first host; retransmitting, from said first host to said second host, at least one identified payload in response to receipt of said acknowledgement indicating that retransmission is required; retransmitting, from said first host to said second host, said at least one identified payload along with any corresponding said parity payload in response to failure to receive said acknowledgement within an allowed time; and updating, in said first host, a history of acknowledgements received and retransmissions sent.