Method and system for dynamically adjusting transmit and receive parameters for handling negative acknowledgments in reliable multicast
First Claim
1. A method to facilitate multicast transmission, the method comprising:
- receiving a negative acknowledgment from a receiver identifying a sequence number of a missing packet of the multicast transmission received by the receiver;
transmitting a confirmation of receipt of the negative acknowledgment;
setting a back-off time and a linger time based on a location of the sequence number within a transmit window maintained by the sender for retaining recently transmitted data of the multicast transmission for data repairs, wherein the response back-off time decreases as the sequence number approaches a trailing edge of the transmit window;
sending repair data for the missing packet after expiration of the back-off time;
waiting for expiration of the linger time after sending the repair data for the missing packet and ignoring other negative acknowledgments for the missing packet received during the linger time; and
adjusting a send rate using a predetermined tolerance level, the tolerance level based on a ratio of repair data packets sent versus all data packets sent.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for multicast network transmissions dynamically sets response time parameters for handling negative acknowledgments (NAKs). When the sender receives a NAK for a lost packet, it returns an NAK confirmation (NCF), waits for a back-off time before sending requested repair data, and then waits for a “linger time” during which the sender does not respond to other NAKs for the same lost packet. The back-off time and the linger time are dynamically set according to the position of the requested sequence number in the sender'"'"'s transmit window such that the back-off time is shorter when the requested data is closer to being flushed out of the transmit window. After receiving the NCF, the receiver waits for a timeout period and resends the NAK if no repair data is received. The timeout period for data receipt is dynamically set according to a statistical average time for receiving repair data from the sender and the estimated sender'"'"'s transmit window size.
33 Citations
13 Claims
-
1. A method to facilitate multicast transmission, the method comprising:
-
receiving a negative acknowledgment from a receiver identifying a sequence number of a missing packet of the multicast transmission received by the receiver; transmitting a confirmation of receipt of the negative acknowledgment; setting a back-off time and a linger time based on a location of the sequence number within a transmit window maintained by the sender for retaining recently transmitted data of the multicast transmission for data repairs, wherein the response back-off time decreases as the sequence number approaches a trailing edge of the transmit window; sending repair data for the missing packet after expiration of the back-off time; waiting for expiration of the linger time after sending the repair data for the missing packet and ignoring other negative acknowledgments for the missing packet received during the linger time; and adjusting a send rate using a predetermined tolerance level, the tolerance level based on a ratio of repair data packets sent versus all data packets sent. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method to facilitate multicast transmission, the method comprising:
-
receiving original data packets of the multicast transmission from the sender; detecting a packet missing from the multicast transmission; sending a negative acknowledgment to the sender identifying the missing packet; receiving a confirmation matching the negative acknowledgment; setting a data waiting timeout according to a statistical average time for receiving repair data from the sender and a size of a transmit window maintained by the sender for retaining recently transmitted data of the multicast transmission for data repairs; waiting for repair data for the missing packet up to expiration of the data waiting timeout, determining whether a cycle of receiving a confirmation, setting, waiting, and resending has been repeated a pre-selected maximum number of times; and resending the negative acknowledgment after expiration of the data waiting timeout if the repair data for the missing packet is not received and the cycle has not been repeated the pre-selected maximum number of times. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
Specification