Patent ID: 9118478
Filing Date: 2015-08-25
Classification: H04L

Abstract:
1. A method of transferring data between a sender and a receiver in a datagram-based network, comprising: establishing separate data and feedback channels over the network between the sender and receiver, at least a portion of one or both of the channels including non-full-duplex or asymmetric transport mediated by a gateway in the network, the established channels also including a gateway feedback channel between the sender and the gateway; dividing a data set to be transmitted into cohorts of datagrams and converting each cohort of H original datagrams into corresponding chapters of W transformed datagrams, where W is greater than or equal to H, the conversion being such that a complete cohort of original datagrams is recoverable from any subset of at least H of the transformed datagrams that have been derived from that cohort; sending chapters of transformed datagrams over the data channel from the sender to the receiver until a source of data is exhausted or paused by the receiver, the chapters of datagrams being sent in temporal chunks corresponding to timing characteristics of the asymmetric transport, each chunk containing one or more entire chapters, the chunks being sent at a rate that keeps a buffer of the gateway at an optimum fill as determined by feedback from the gateway; sending messages over the feedback channel from the receiver to the sender acknowledging that cohorts of original datagrams have been successfully recovered, and identifying any missing or incomplete chapters with insufficient datagrams for cohort recovery together with a list of missing or corrupt datagrams from any such chapters, the messages further including timing information indicative of network latency and congestion; resending over the data channel at least a specified number of datagrams from the list for a missing or incomplete chapter which will be sufficient to allow cohort recovery; and self-tuning by the sender of the sending rate in reaction to changing network conditions based upon a combination of gateway buffer fill, network latency and datagram loss rate as determined from the content of the messages received over the receiver feedback channel and gateway feedback channel, the self-tuning adapted to at least keep a datagram loss rate below a specified upper bound.