Method and apparatus providing network coding based flow control
First Claim
Patent Images
1. A computer-implemented method in which a transmitting node performs operations comprising:
- determining a linear combination of packets to transmit from a transmit queue;
transmitting said linear combination of packets across a network using a sliding window protocol; and
receiving an acknowledgement (ACK), wherein a packet is acknowledged when a receiving node receives the linear combination of packets and determines which packet of said linear combination of packets has been newly seen, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged.
3 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus and computer program product for providing network based flow control is presented. A linear combination of packets to transmit from a transmit queue is determined. The linear combination of packets is transmitted across a network using a sliding window protocol. An acknowledgement (ACK) is generated, wherein a packet is acknowledged when a receiving node receives the linear combination of packets and determines which packet of the linear combination of packets has been newly seen.
91 Citations
42 Claims
-
1. A computer-implemented method in which a transmitting node performs operations comprising:
-
determining a linear combination of packets to transmit from a transmit queue; transmitting said linear combination of packets across a network using a sliding window protocol; and receiving an acknowledgement (ACK), wherein a packet is acknowledged when a receiving node receives the linear combination of packets and determines which packet of said linear combination of packets has been newly seen, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method in which a receiving node performs operations comprising:
-
receiving a linear combination of packets across a network using a sliding window protocol; determining whether a packet is newly seen, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged; and transmitting an acknowledgement (ACK), wherein a packet is acknowledged when the receiving node receives the linear combination of packets and determines which packet of said linear combination of packets has been newly seen. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A computer-implemented method in which an intermediate node performs operations comprising:
-
receiving a linear combination of packets; determining a linear combination of packets to transmit from a transmit queue; transmitting said linear combination of packets across a network using a sliding window protocol; and when said intermediate node receives an innovative packet, determining from said innovative packet a newly seen packet and adding the witness of the newly seen packet to said transmit queue, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged. - View Dependent Claims (13, 14, 19, 20)
-
-
15. A non-transitory computer readable storage medium having computer readable code thereon for providing network coding based flow control, the medium including instructions in which a transmitting node performs operations comprising:
-
determining a linear combination of packets to transmit from a transmit queue; transmitting said linear combination of packets across a network using a sliding window protocol; and receiving an acknowledgement (ACK), wherein a packet is acknowledged when a receiving node receives the linear combination of packets and determines which packet of said linear combination of packets has been newly seen, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged. - View Dependent Claims (16, 17, 18)
-
-
21. A non-transitory computer readable storage medium having computer readable code thereon for providing network coding based flow control, the medium including instructions in which a receiving node performs operations comprising:
-
receiving a linear combination of packets across a network using a sliding window protocol; determining whether a packet is newly seen, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged; and transmitting an acknowledgement (ACK), wherein a packet is acknowledged when the receiving node receives the linear combination of packets and determines which packet of said linear combination of packets has been newly seen. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A non-transitory computer readable storage medium having computer readable code thereon for providing network coding based flow control, the medium including instructions in which an intermediate node performs operations comprising:
-
receiving a linear combination of packets; determining a linear combination of packets to transmit from a transmit queue; transmitting said linear combination of packets across a network using a sliding window protocol; and when said intermediate node receives an innovative packet, determining from said innovative packet a newly seen packet and adding the witness of the newly seen packet to said transmit queue, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged. - View Dependent Claims (27, 28)
-
-
29. A transmitting node comprising:
-
a memory; a processor; a communications interface; an interconnection mechanism coupling the memory, the processor and the communications interface; and wherein the memory is encoded with an application providing network coding based flow control, that when performed on the processor, provides a process for processing information, the process causing the transmitting node to perform the operations of; determining a linear combination of packets to transmit from a transmit queue; transmitting said linear combination of packets across a network using a sliding window protocol; and receiving an acknowledgement (ACK), wherein a packet is acknowledged when a receiving node receives the linear combination of packets and determines which packet of said linear combination of packets has been newly seen, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged. - View Dependent Claims (30, 31, 32, 33, 34)
-
-
35. A receiving node comprising:
-
a memory; a processor; a communications interface; an interconnection mechanism coupling the memory, the processor and the communications interface; and wherein the memory is encoded with an application providing network coding based flow control, that when performed on the processor, provides a process for processing information, the process causing the receiving node to perform the operations of; receiving a linear combination of packets across a network using a sliding window protocol; determining whether a packet is newly seen, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged; and transmitting an acknowledgement (ACK), wherein a packet is acknowledged when the receiving node receives the linear combination of packets and determines which packet of said linear combination of packets has been newly seen. - View Dependent Claims (36, 37, 38, 39)
-
-
40. An intermediate node comprising:
-
a memory; a processor; a communications interface; an interconnection mechanism coupling the memory, the processor and the communications interface; and wherein the memory is encoded with an application providing network coding based flow control, that when performed on the processor, provides a process for processing information, the process causing the intermediate node to perform the operations of; receiving a linear combination of packets; determining a linear combination of packets to transmit from a transmit queue; transmitting said linear combination of packets across a network using a sliding window protocol; and wherein when said intermediate node receives an innovative packet, determining from said innovative packet a newly seen packet and adding the witness of the newly seen packet to said transmit queue, wherein said determining whether a packet is newly seen includes retrieving coding coefficients from a header of said linear combination of packets, appending said coding coefficients to a basis matrix, and performing a Gaussian elimination to determine which packet is newly seen so that the newly seen packet can be acknowledged. - View Dependent Claims (41, 42)
-
Specification