Patent ID: 7234000
Filing Date: 2007-06-19
Classification: H04L

Abstract:
1. A method of distributing information from a server to a plurality of clients, comprising the steps of: (a) transmitting the information in a plurality of multicast packets from the server to the plurality of clients, each of the packets having sequence information in relation to a sequential order of transmission of the plurality of packets from the server; (b) tracking for receipt of a negative acknowledgement message received from a sending client of the plurality of clients, the negative acknowledgement message including sequence information for one of the plurality of packets that was expected at the sending client in relation to the sequential order of transmission but was not received in the expected position in the sequential order; and (c) in response to receiving the negative acknowledgement message from the sending client, the server evaluating a status of the sending client and if the status indicates that the sending client is active, then re-transmitting to the plurality of clients a portion of the plurality of multicast packets starring from the packet having the sequence information identified by the negative acknowledgement message to the last of the plurality of multicast packets in the sequential order; wherein each of the plurality of clients is a forwarder of a network element in a communication network, the server is a routing processor of the network element and the information is routing information; wherein for the evaluating of the status of the sending client, an active list of members of the plurality of clients is maintained, the active list indicating which clients of the plurality of clients are deemed to be active and able to generate a valid negative acknowledgement message; wherein for the evaluating of the status of the sending client, a deactivated list of members of the plurality of clients is maintained, the deactivated list indicating which clients of the plurality of clients are deemed to be unable to generate a valid negative acknowledgement message; wherein a client in the active list is moved to the deactivated list if a negative acknowledgement threshold for that client is exceeded; wherein a client in the deactivated list is moved to the active list after an activation condition is met; wherein the activation condition is the passage of a period of time between events related to the client in the deactivated list; and. wherein a deactivation history of each client of the plurality of clients is kept indicating instances of the each client being placed in the deactivated list.