Patent ID: 8310920

Claim:
A method of transferring data between a sender and a receiver in a datagram-based network, the method comprising: establishing a data channel; establishing a feedback channel separate from the data channel; using one or more synchronization messages periodically sent over the feedback channel to determine network traffic times sending data to the receiver over the data channel continuously until a source of the data is exhausted or paused by the receiver, the data being sent at a rate that maximizes use of available bandwidth with respect to the sender in the established data channel; sending both acknowledgment acknowledgment messages and negative acknowledgments to the sender on the feedback channel at predetermined intervals; using the acknowledgment messages and negative acknowledgments to track data sent to the receiver; resending data unsuccessfully sent to the receiver; and self-tuning by the sender of the data rate to optimize throughput based upon a combination of overall latency and datagram loss rate in the data channel as determined from the content of the acknowledgment messages and negative acknowledgments and react to any changing network conditions so as to keep the datagram loss rate below a specified upper bound.