Multi-path data transfer using network coding

US9537759B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9537759-B2
Application numberUS-201313754398-A
CountryUS
Kind codeB2
Filing dateJan 30, 2013
Priority dateJan 31, 2012
Publication dateJan 3, 2017
Grant dateJan 3, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques, devices, systems, and protocols are disclosed herein that relate to data transfer between communication nodes via multiple heterogeneous paths. In various embodiments, network coding may be used to improve data flow and reliability in a multiple path scenario. Transmission control protocol (TCP) may also be used within different paths to further enhance data transfer reliability. In some embodiments, multiple levels of network coding may be provided within a transmitter in a multiple path scenario, with one level being applied across ail paths and another being applied within individual paths.

First claim

Opening claim text (preview).

What is claimed is: 1. A machine implemented method for use at a source node for transferring data to a destination node, the method comprising: receiving, from an application layer within the source node, a plurality of original data packets to be transferred to the destination node; generating, at the source node, first coded packets by combining original data packets using a linear network code; distributing the first coded packets among multiple available paths leading from the source node to the destination node; generating, at the source node, second coded packets associated with a first path of the multiple available paths by combining two or more of the first coded packets distributed to the first path using the linear network code; generating, at the source node, second coded packets associated with a second path of the multiple available paths by combining two or more of the first coded packets distributed to the second path using the linear network code; transmitting the second coded packets associated with the first path to the destination node via the first path; and transmitting the second coded packets associated with the second path to the destination node via the second path. 2. The method of claim 1 , wherein: generating first coded packets includes generating first coded packets by linearly combining original data packets that are within a sliding coding window. 3. The method of claim 2 , further comprising: receiving acknowledgement messages from the destination node that each indicate that a new degree of freedom has been received by the destination node in connection with the data transfer; and adjusting the width of the sliding coding window based, at least in part, on received acknowledgement messages. 4. The method of claim 1 , wherein: generating second coded packets includes generating second coded packets by linearly combining first coded packets that are within a sliding coding window. 5. The method of claim 4 , wherein: generating second coded packets includes generating redundant second coded packets for each set of first coded packets within the sliding coding window. 6. The method of claim 1 , wherein: each of the multiple available paths includes a transmission control protocol (TCP) layer that adds sequence numbers to first coded packets distributed to the path, wherein generating second coded packets by linearly combining first coded packets masks the sequence numbers added to the first coded packets associated with a path. 7. The method of claim 1 , wherein: each of the multiple available paths includes a transmission control protocol (TCP) layer; and distributing the first coded packets includes distributing the first coded packets among the multiple available paths based, at least in part, on TCP congestion control window dynamics. 8. The method of claim 1 , wherein: the multiple available paths are associated with different network technologies. 9. The method of claim 1 , wherein: obtaining a plurality of original data packets includes receiving the original data packets from an application layer. 10. A communication device comprising: a first network interface unit configured for communication in a first network; a second network interface unit configured for communication in a second network that is different from the first network; and at least one processor to manage data transfer between the communication device and a destination node using multiple different paths, the at least one processor to: receive, from an application layer, a plurality of original packets representative of data to be transferred to the destination node; generate first coded packets by combining original data packets using a linear network code; distribute the first coded packets to the multiple different paths to the destination node; generate second coded packets associated with a first path of the multiple different paths by combining two or more of the first coded packets distributed to the first path using the linear network code; generate second coded packets associated with a second path of the multiple available paths by combining two or more of the first coded packets distributed to the second path using the linear network code; transmit the second coded packets associated with the first path to the destination node via the first network using the first network interface unit; and transmit the second coded packets associated with the second path to the destination node via the second network using the second network interface unit. 11. The communication device of claim 10 , wherein the at least one processor is configured to generate first coded packets by linearly combining original data packets within a sliding coding window. 12. The communication device of claim 10 , wherein the at least one processor is configured to generate second coded packets for a first path by linearly combining first coded packets within a sliding coding window. 13. The communication device of claim 12 , wherein the at least one processor is configured to generate redundant second coded packets for the first path for each set of first coded packets within the sliding coding window. 14. The communication device of claim 10 , wherein the at least one processor is configured to distribute the first coded packets to the multiple different paths based, at least in part, on TCP congestion control window dynamics. 15. The communication device of claim 10 , further comprising: at least one additional network interface unit configured for communication within at least one additional network.

Assignees

Inventors

Classifications

  • H04L45/24Primary

    Multipath · CPC title

  • Channel splitting in point-to-point links · 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

  • combining by calculations packets received from different stations before transmitting the combined packets as part of network coding (network coding aspects for detection or prevention of errors in the information received H04L1/0076; network traffic management with optimizing of information sizing, e.g. header compression, by using assembly and disassembly of packets H04W28/065) · CPC title

  • Multichannel or multilink protocols · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9537759B2 cover?
Techniques, devices, systems, and protocols are disclosed herein that relate to data transfer between communication nodes via multiple heterogeneous paths. In various embodiments, network coding may be used to improve data flow and reliability in a multiple path scenario. Transmission control protocol (TCP) may also be used within different paths to further enhance data transfer reliability. In…
Who is the assignee on this patent?
Massachusetts Inst Technology
What technology area does this patent fall under?
Primary CPC classification H04L45/24. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 03 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).