Method and apparatus for coded multipath network communication
AssigneeCode On Network Coding, LLC
InventorsFlavio du Pin Calmon, Muriel Medard, Kerim Fouli
Life of this patent
Estimating the term…
Abstract
A machine-implemented method for use at a destination node for transferring data from a source node, the method comprising: establishing one or more connections with the source node; sending to the source node a request for a data stream, the request including control information to be applied at the source node, the control information including a number of degrees of freedom (DoFs) or frames to be transmitted across each of the one or more connections; and receiving one or more coded frames through the data stream over the one or more connections.
Claims20
A machine-implemented method for use at a destination node for transferring data from a source node, the method comprising:
- generating a stream-level degree of freedom (DoF) window for a data stream;
- establishing one or more connections with the source node, each connection of the one or more connections is associated with one of one or more network paths between the source node and the destination node;
- generating one or more connection-level DoF windows for the one or more connections;
- sending to the source node a request for the data stream, the request specifying at least a number of DoFs or frames to be transmitted across ones of the one or more connections and a number of DoFs or frames to be transmitted for the data stream;
- receiving one or more coded frames through the data stream over the one or more connections;
- in response to receiving the one or more coded frames:
- removing one or more frames from the stream-level DoF window or from the one or more connection-level DoF windows;
- monitoring performance metrics for the data stream and for the one or more network paths;
- and
- based on the monitoring, sending another request to the source node to change a size of a stream-level DoF window and a size of an at least one connection-level DoF window used by source node to generate coded frames;
- and
- sending to the source node a plurality of DoF acknowledgement (ACKs), wherein the plurality of DoFs ACKs include at least one stream-level DoF ACK and at least one connection-level DoF ACK, wherein at least one of the plurality of DoF ACKs is included within the request for the data stream.
A machine-implemented method for use at a source node for transferring data to a destination node, the method comprising:
- generating a stream-level degree of freedom (DoF) window for a data stream;
- establishing one or more connections with the destination node, each connection of the one or more connections is associated with one of one or more network paths between the source node and the destination node;
- generating one or more connection-level DoF windows for the one or more connections;
- receiving, from the destination node, a request for the data stream, the request specifying at least a number of DoFs or frames to be transmitted across the one or more connections and a number of DoFs or frames to be transmitted for the data stream;
- in response to the request, generating and sending one or more coded frames through the data stream over the one or more connections, the generating of the one or more coded frames involving use of the stream-level DoF window and at least one of the one or more connection-level DoF windows;
- receiving, from the destination node, another request to change a size of the stream-level DoF window and a size of at least one of the one or more connection-level DoF windows, the another request received in response to the destination node monitoring performance metrics for the data stream and for the one or more network paths;
- in response to receiving the another request, changing the size of the stream-level DoF window and the size of the at least one of the one or more connection-level DoF windows;
- and
- receiving, from the destination node, a plurality of DoF acknowledgement (ACKs), wherein the plurality of DoFs ACKs include at least one stream-level DoF ACK and at least one connection-level DoF ACK, wherein at least one of the plurality of DoF ACKs is included within the request for the data stream.
A device for use at a destination node for transferring data from a source node, the device comprising:
- a processor;
- and
- a non-volatile memory storing computer program code that when executed on the processor causes the processor to execute a process operable to:
- generate a stream-level degree of freedom (DoF) window for a data stream;
- establish one or more connections with the source node, each connection of the one or more connections is associated with one of one or more network paths between the source node and the destination node;
- generate one or more connection-level DoF windows for the one or more connections;
- send to the source node a request for the data stream, the request specifying at least a number of DoFs or frames to be transmitted across the one or more-connections and a number of DoFs or frames to be transmitted for the data stream;
- receive one or more coded frames through the data stream over the one or more connections;
- in response to receiving the one or more coded frames:
- remove one or more frames from the stream-level DoF window or from the one or more connection-level DoF windows;
- monitor performance metrics for the data stream and for the one or more network paths;
- and
- based on the monitoring, send another request to the source node to change a size of a stream-level DoF window and a size of an at least one connection-level DoF window used by source node to generate coded frames;
- and
- send to the source node a plurality of DoF acknowledgement (ACKs), wherein the plurality of DoFs ACKs include at least one stream-level DoF ACK and at least one connection-level DoF ACK, wherein at least one of the plurality of DoF ACKs is included within the request for the data stream.
A device for use at a source node for transferring data to a destination node, the device comprising:
- a processor;
- and
- a non-volatile memory storing computer program code that when executed on the processor causes the processor to execute a process operable to:
- generate a stream-level degree of freedom (DoF) window for a data stream;
- establish one or more connections with the destination node, each connection of the one or more connections is associated with one of one or more network paths between the source node and the destination node;
- generate one or more connection-level DoF windows for the one or more connections;
- receive, from the destination node, a request for the data stream, the request specifying at least a number of DoFs or frames to be transmitted across ones of the connections and a number of DoFs or frames to be transmitted for the data stream;
- in response to the request, generate and send one or more coded frames through the data stream over the one or more connections, the generating of the one or more coded frames involving use of the stream-level DoF window and at least one of the one or more connection-level DoF windows;
- receive, from the destination node, another request to change a size of the stream-level DoF window and a size of at least one of the one or more connection-level DoF windows, the another request received in response to the destination node monitoring performance metrics for the data stream and for the one or more network paths;
- in response to receiving the another request, change the size of the stream-level DoF window and the size of the at least one of the one or more connection-level DoF windows;
- and
- receive, from the destination node, a plurality of DoF acknowledgement (ACKs), wherein the plurality of DoFs ACKs include at least one stream-level DoF ACK and at least one connection-level DoF ACK, wherein at least one of the plurality of DoF ACKs is included within the request for the data stream.
Dependencies are inferred from the claim text.