Method and node for transmitting data over a communication network using negative acknowledgment
First Claim
1. A method of transmitting data over a communication network using negative acknowledgment, the method comprising:
- transmitting a stream of data packets from a first node of the network to a second node of the network;
receiving a status packet transmitted from the second node to the first node after the second node successfully receives all but at least two of the stream of data packets, wherein the at least two of the stream of data packets are non-sequential within the stream of data packets, and wherein the status packet is transmitted from the second node to the first node, and wherein the status packet comprises an indication of each of the at least two of the stream of data packets; and
retransmitting the at least two of the stream of data packets from the first node to the second node in response to receiving the status packet;
wherein each of the stream of data packets transmitted form the first node to the second node comprises a timestamp; and
wherein the status packet is transmitted from the second node to the first node when at least one of the stream of data packets subsequent to at least one of the at least two of the stream of data packets is received at the second node, and the timestamp of the at least one of the stream of data packets is less than a time at which the at least one of the stream of data packets was received at the second node, minus a measured jitter of the stream of data packets.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of transmitting data over a communication network using negative acknowledgment is presented. In the method, a stream of data packets is transmitted from a first node of the network to a second node of the network. All but at least two of the stream of data packets is successfully received at the second node, wherein the data packets that are not successfully received are not located sequentially within the stream of data packets. A status packet is transmitted from the second node to the first node, wherein the status packet includes an indication of each of the data packets that were not successfully received. In response to receiving the status packet at the first node, the data packets that were not successfully received at the second node are retransmitted from the first node to the second node in response to receiving the status packet.
-
Citations
20 Claims
-
1. A method of transmitting data over a communication network using negative acknowledgment, the method comprising:
-
transmitting a stream of data packets from a first node of the network to a second node of the network; receiving a status packet transmitted from the second node to the first node after the second node successfully receives all but at least two of the stream of data packets, wherein the at least two of the stream of data packets are non-sequential within the stream of data packets, and wherein the status packet is transmitted from the second node to the first node, and wherein the status packet comprises an indication of each of the at least two of the stream of data packets; and retransmitting the at least two of the stream of data packets from the first node to the second node in response to receiving the status packet; wherein each of the stream of data packets transmitted form the first node to the second node comprises a timestamp; and wherein the status packet is transmitted from the second node to the first node when at least one of the stream of data packets subsequent to at least one of the at least two of the stream of data packets is received at the second node, and the timestamp of the at least one of the stream of data packets is less than a time at which the at least one of the stream of data packets was received at the second node, minus a measured jitter of the stream of data packets. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A network node, comprising:
-
a communication interface configured to transmit a stream of data packets to another network node, and to receive a status packet from the other network node indicating that at least two of the stream of data packets were not received successfully at the other node, wherein the at least two of the stream of data packets are non-sequential within the stream of data packets; and control circuitry configured to process the status packet and cause the communication interface to retransmit the at least two of the stream of data packets to the other network node; wherein the control circuitry is configured to control a rate at which the communication interface transmits the stream of data packets to the other network node, wherein the rate is based on an estimated bandwidth of a connection between the network node and the other network node, wherein the estimated bandwidth is recalculated periodically; and wherein the control circuitry is configured to recalculate the estimated bandwidth by increasing the estimated bandwidth by a first percentage of the rate at which the communication interface transmits the stream of data packets if a loss percentage of the stream of data packets at the other network node is below a predetermined level; and wherein the control circuitry is configured to set the estimated bandwidth to a mean of the estimated bandwidth and the rate at which the communication interface transmits the stream of data packets if the loss percentage of the stream of data packets at the other network node is at least at the predetermined level. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A network node, comprising:
-
a communication interface configured to receive a stream of data packets from another network node; memory buffers, wherein each of the memory buffers is configured to store one of the stream of data packets received from the other network node; and control circuitry configured to generate a status packet indicating that at least two of the stream of data packets were not received successfully at the communication interface, wherein the at least two of the stream of data packets are non-sequential within the stream of data packets, and to transfer the status packet to the communication interface; wherein the control circuitry is configured to include an indication of a number of memory buffers not storing one of the stream of data packets in the status packet; and
wherein the communication interface is configured to transmit the status packet to the other network node, and wherein the indication of the number of memory buffers not storing one of the stream of data packets is higher that an actual number of memory buffers not storing one of the stream of data packets when a roundtrip time between the network node and the other network node attains a predetermined level. - View Dependent Claims (16, 17, 18, 19)
-
-
20. A network node, comprising:
-
a communication interface configured to transmit a stream of data packets to another network node, and to receive a status packet from the other network node indicating that at least two of the stream of data packets were not received successfully at the other node, wherein the at least two of the stream of data packets are non-sequential within the stream of data packets; and control circuitry configured to process the status packet and cause the communication interface to retransmit the at least two of the stream of data packets to the other network node; wherein the control circuitry is configured to control a rate at which the communication interface transmits the stream of data packets to the other network node, wherein the rate is based on an estimated bandwidth of a connection between the network node and the other network node, wherein the estimated bandwidth is recalculated periodically; wherein the control circuitry is configured to recalculate the estimated bandwidth by increasing the estimated bandwidth by a first percentage of the rate at which the communication interface transmits the stream of data packets if a loss percentage of the stream of data packets at the other network node is below a predetermined level; and wherein the control circuitry is configured to recalculate the estimated bandwidth by increasing the estimated bandwidth by a second percentage of the rate at which the communication interface transmits the stream of data packets if the estimated bandwidth has been increased a predetermined number of consecutive times, wherein the second percentage is greater than the first percentage.
-
Specification