Multi-path data transfer using network coding
US-9537759-B2 · Jan 3, 2017 · US
US10659378B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10659378-B2 |
| Application number | US-201816165041-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 19, 2018 |
| Priority date | Jul 7, 2015 |
| Publication date | May 19, 2020 |
| Grant date | May 19, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method for data communication between a first node and a second node over a number of data paths coupling the first node and the second node includes transmitting messages between the first node and the second node over the number of data paths including transmitting a first subset of the messages over a first data path of the number of data paths, and transmitting a second subset of the messages over a second data path of the number of data paths. The first data path has a first latency and the second data path has a second latency substantially larger than the first latency, and messages of the first subset of the messages are chosen to have first message characteristics and messages of the second subset are chosen to have second message characteristics, different from the first message characteristics.
Opening claim text (preview).
What is claimed is: 1. A method for transmitting messages between a first node and a second node over a plurality of data paths coupling the first node and the second node, the method comprising: selecting, at the first node and for each particular message, a particular data path of the plurality of data paths based on one or more message characteristics of the particular message, wherein messages having first message characteristics are assigned to a first data path and messages having second message characteristics different from the first message characteristics are assigned to a second data path; transmitting, from the first node and to the second node, messages having the first message characteristics over the first data path; transmitting, from the first node and to the second node, messages having the second message characteristics over the second data path; maintaining, at the first node, an aggregate indication of whether a number of messages received at the second node over the plurality of data paths is sufficient to decode data associated with the messages; and transmitting, from the first node and to the second node, supplemental messages based on the aggregate indication, wherein the aggregate indication is based on a feedback from the second node received at the first node over the plurality of data paths, wherein the supplemental messages include data messages including redundancy data and wherein messages that include original data of the messages are transmitted over the second data path, and wherein the first data path has a first latency and the second data path has a second latency larger than the first latency. 2. The method of claim 1 , wherein messages having the first message characteristics are associated with an initial subset of a data set and messages having the second message characteristics are associated with a subsequent subset of the data set. 3. The method of claim 1 , wherein messages having the first message characteristics include acknowledgement messages and messages having the second message characteristics include data messages. 4. The method of claim 1 , further comprising, for each particular data path of the plurality of data paths, maintaining an indication of successful and unsuccessful delivery of messages over the particular data path and adjusting a congestion window for the particular data path based on the indication. 5. The method of claim 1 , wherein the supplemental messages are transmitted over the first data path. 6. A system for transmitting messages between a plurality of nodes over a plurality of data paths coupling the plurality of nodes, the system comprising: a first node configured to: select, for each particular message, a particular data path of the plurality of data paths based on one or more message characteristics of the particular message, wherein messages having first message characteristics are assigned to a first data path and messages having second message characteristics different from the first message characteristics are assigned to a second data path; transmit, to a second node of the system, messages having the first message characteristics over the first data path; transmit, to the second node, messages having the second message characteristics over the second data path; maintain an aggregate indication of whether a number of messages received at the second node over the plurality of data paths is sufficient to decode data associated with the messages; and transmit, to the second node, supplemental messages based on the aggregate indication, wherein the aggregate indication is based on a feedback from the second node received at the first node over the plurality of data paths, wherein the supplemental messages include data messages including redundancy data and wherein messages that include original data of the messages are transmitted over the second data path, wherein the first data path has a first latency and the second data path has a second latency larger than the first latency. 7. The system of claim 6 , wherein messages having the first message characteristics are associated with an initial subset of a data set and messages having the second message characteristics are associated with a subsequent subset of the data set. 8. The system of claim 6 , wherein messages having the first message characteristics include acknowledgement messages and messages having the second message characteristics include data messages. 9. The system of claim 6 , wherein the first node is further configured to, for each particular data path of the plurality of data paths, maintain an indication of successful and unsuccessful delivery of messages over the particular data path and adjust a congestion window for the particular data path based on the indication. 10. The system of claim 6 , wherein the supplemental messages are transmitted over the first data path. 11. Software stored on a non-transitory computer-readable medium comprising instructions for causing one or more processors to execute a data communication method for transmitting messages between a first node and a second node over a plurality of data paths coupling the first node and the second node, the method comprising: selecting, at the first node and for each particular message, a particular data path of the plurality of data paths based on one or more message characteristics of the particular message, wherein messages having first message characteristics are assigned to a first data path and messages having second message characteristics different from the first message characteristics are assigned to a second data path; transmitting, from the first node and to the second node, messages having the first message characteristics over the first data path; transmitting, from the first node and to the second node, messages having the second message characteristics over the second data path; maintaining, at the first node, an aggregate indication of whether a number of messages received at the second node over the plurality of data paths is sufficient to decode data associated with the messages; and transmitting, from the first node and to the second node, supplemental messages based on the aggregate indication, wherein the aggregate indication is based on a feedback from the second node received at the first node over the plurality of data paths, wherein the supplemental messages include data messages including redundancy data and wherein messages that include original data of the messages are transmitted over the second data path, and wherein the first data path has a first latency and the second data path has a second latency larger than the first latency. 12. The software stored on the non-transitory computer-readable medium of claim 11 , wherein messages having the first message characteristics are associated with an initial subset of a data set and messages having the second message characteristics are associated with a subsequent subset of the data set. 13. The software stored on the non-transitory computer-readable medium of claim 11 , wherein messages having the first message characteristics include acknowledgement messages and messages having the second message characteristics include data messages. 14. The software stored on the non-transitory computer-readable medium of claim 11 , wherein the method further comprises, for each particular data path of the plurality of data paths, maintaining an indication of successful and unsuccessful delivery of messages over the particular data path and adjusting a congestion window for the particular data path based on the indication. 15
Physical resource allocation for ACK/NACK (for physical mapping arrangements in ARQ protocols H04L1/1861) · CPC title
Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields · CPC title
for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06) · CPC title
for local area network [LAN], e.g. Ethernet switches · CPC title
Distributed coding, e.g. network coding, involving channel coding (coding in both space and time H04L1/0618; cooperative diversity H04B7/022) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.