Patent ID: 8688853
Filing Date: 2014-04-01
Classification: H04L,H04Q

Abstract:
1. A method for transmitting multicast data to destination nodes of a given multicast session in a network having a plurality of nodes, comprising: forming a circularly linked list comprising a plurality of entries corresponding to respective destination nodes for receiving multicast data, each entry of the circularly linked list comprising a link to another entry in the list corresponding to another destination node; receiving the multicast data intended for transmittal to the destination nodes of the given multicast session; entering the circularly linked list at an initial entry corresponding to an initial destination node; traversing the circularly linked list using the links of respective entries of the circularly linked list until the initial entry is reached and, for each entry of the circularly linked list other than the initial entry, sending the multicast data to the corresponding destination node such that the initial destination node is excluded from the given multicast session; and dynamically modifying the circularly linked list without interrupting traversal of the circularly linked list, wherein modifying the circularly linked list comprises at least one of adding to and deleting from the plurality of entries in the circularly linked list; wherein destination nodes for a plurality of multicast sessions are interleaved in the circularly linked list, and wherein the destination nodes for each one of the plurality of multicast sessions are circularly linked; wherein entries in the circularly linked list corresponding to respective ones of the destination nodes in the given multicast session are associated with a thread of corresponding status bits; wherein the status bits for entries in the circularly linked list corresponding to respective ones of the destination nodes in the given multicast session are set active during traversal of the circularly linked list; and wherein dynamically modifying the circularly linked list without interrupting traversal of the circularly linked list comprises clearing the status bits for entries in the circularly linked list which are added or removed.