Packet coding based network communication
AssigneeSpeedy Packets, Inc.
InventorsTracey Ho, John Segui
Life of this patent
Estimating the term…
Abstract
A method for data communication between a first node and a second node over a data path includes estimating a rate at which loss events occur, where a loss event is either an unsuccessful delivery of a single packet to the second data node or an unsuccessful delivery of a plurality of consecutively transmitted packets to the second data node, and sending redundancy messages at the estimate rate at which loss events occur.
Claims11
A method for data communication between a first node and a second node over a data path coupling the first node and the second node, the method comprising:
- selecting an error correcting code, wherein selecting the error correcting code comprises selecting a combination of a burst error correcting code and an isolated error correcting code;
- determining one or more redundancy messages from data messages at the first node using the error correcting code;
- transmitting messages from the first node to the second node over the data path, the transmitted messages including the data messages and redundancy messages;
- receiving messages at the first node from the second node, including receiving messages indicative of successful and unsuccessful delivery of the messages transmitted from the first node to the second node;
- maintaining an estimate of a rate at which loss events occur over the communication path based on the messages received from the second node, including
- updating the estimate to incorporate a single loss event when one or more of the messages received from the second node indicate an unsuccessful delivery of a single packet to the second data node, and
- updating the estimate to incorporate a single loss event when one or more of the messages received from the second node indicate an unsuccessful delivery of a plurality of consecutively transmitted packets to the second data node;
- and
- adjusting a rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur, wherein adjusting the rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur includes adjusting a ratio of the rate of redundancy messages transmitted from the first node to the second node based on the estimate of the rate at which loss events occur.
A communication apparatus comprising a first device having an interface for passing messages to and from a second device over a communication path coupling the first device to the second device, the first device further comprising a communication controller configured to:
- select an error correcting code, wherein selecting the error correcting code comprises selecting a combination of a burst error correcting code and an isolated error correcting code;
- determine one or more redundancy messages from data messages at the first node using the error correcting code;
- transmit messages from the first node to the second node over the data path, the transmitted messages including the data messages and redundancy messages;
- receive messages at the first node from the second node, including receiving messages indicative of successful and unsuccessful delivery of the messages transmitted from the first node to the second node;
- maintain an estimate of a rate at which loss events occur over the communication path based on the messages received from the second node, including
- updating the estimate to incorporate a single loss event when one or more of the messages received from the second node indicate an unsuccessful delivery of a single packet to the second data node, and
- updating the estimate to incorporate a single loss event when one or more of the messages received from the second node indicate an unsuccessful delivery of a plurality of consecutively transmitted packets to the second data node;
- and
- adjusting a rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur, wherein adjusting the rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur includes adjusting a ratio of the rate of redundancy messages transmitted from the first node to the second node based on the estimate of the rate at which loss events occur.
A method for data communication between a first node and a second node over a data path coupling the first node and the second node, the method comprising:
- selecting an error correcting code, wherein selecting the error correcting code comprises selecting a combination of a burst error correcting code and an isolated error correcting code;
- determining one or more redundancy messages from data messages at the first node using error correcting code;
- transmitting messages from the first node to the second node over the data path, the transmitted messages including the data messages and redundancy messages;
- receiving, at the first node and from the second node, feedback indicative of successful and unsuccessful delivery of the messages transmitted from the first node to the second node;
- maintaining an estimate of a rate at which loss events occur over the communication path based on the feedback, including updating the estimate to incorporate a single loss event when the feedback indicates:
- (i) an unsuccessful delivery of a single packet to the second data node, and (ii) an unsuccessful delivery of a plurality of consecutively transmitted packets to the second data node;
- and
- adjusting a rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur, wherein adjusting the rate of redundancy messages transmitted from the first node based on the estimate of the rate at which loss events occur includes adjusting a ratio of the rate of redundancy messages transmitted from the first node to the second node based on the estimate of the rate at which loss events occur.
Dependencies are inferred from the claim text.