Distributed multicast system and method in a network
AssigneeEgenera, Inc.
InventorsEdward T. Duffy, IV, Scott M. Geng, Hai Huang, Hua Qin
Life of this patent
Estimating the term…
Abstract
The invention provides multicast communication using distributed topologies in a network. The control nodes in the network build a distributed topology of processor nodes for providing multicast packet distribution. Multiple processor nodes in the network participate in the decisions regarding the forwarding of multicast packets as opposed to multicast communications being centralized in the control nodes.
Claims39
A method for providing multicast distribution in a network, the method comprising:
- modeling a multicast group, the multicast group identifying a set of processor nodes that are to receive a multicast data packet, into a linearly chained point to point topology having at least one chain, each chain including a plurality of processor nodes in the multicast group;
- receiving a multicast data packet at a control processor;
- forwarding a version of the multicast data packet from the control processor to a first processor node in each of the at least one chain;
- appending a data structure comprising multicast group membership information identifying each processor node in the modeled multicast group;
- to the multicast data packet;
- forwarding the multicast data packet from the first processor node in each of the at least one chain to a subsequent processor node in its respective chain based on the point to point topology using a unicast address;
- wherein the first processing node modifies the data structure in the multicast data packet to change the multicast group membership information contained therein to indicate that the first processing node has received the multicast data packet, wherein the first processing node forwards the multicast data packet with the modified data structure to a subsequent processing node, and wherein the data structure further comprises a sequence number indicative of an ordering of the multicast data packets;
- wherein the subsequent processor node modifies the data structure in the multicast data packet to change the multicast group membership information contained therein to indicate that the subsequent processor node has received the multicast data packet, and wherein the subsequent processor node forwards the multicast data packet with the modified data structure to another subsequent processor node;
- wherein the process of forwarding the multicast data packet and modifying the data structure therein is repeated until each processor node identified in the multicast group, in each of the at least one chain, has received the multicast data packet by such forwarding;
- and
- wherein the processor nodes communicate an interest in a multicast membership in response to multicast add or remove operations by higher layer network protocols operating on the processor node.
A method for implementing multicast distribution in a network having a plurality of processors, the method comprising:
- defining a topology of an Ethernet network to be emulated on a computing platform, the topology including at least one processor assigned to be at least one control node and a plurality of processors assigned to be processing nodes, the processing nodes forming at least one point to point chain of processing nodes;
- allocating virtual interfaces over an underlying physical network to provide direct software communication from each processing node to each other processing node in the at least one chain of processing nodes;
- the at least one control node receiving a multicast data packet, said multicast data packet having a data structure that is appended to the multicast data packet, the data structure having (i) a multicast address identifying the multicast group of processing nodes and (ii) multicast group membership information identifying a set of processor nodes that are to receive a multicast data packet, the at least one control node communicating the multicast data packet to a first processing node of the multicast group in the at least one chain or processing nodes;
- and
- the first processing node communicating the multicast data packet to a subsequent processing node of the multicast group in the one ore more chains via a point to point unicast over the virtual interface,
- wherein the first processing node modifies the data structure in the multicast data packet to change the multicast group membership information contained therein to indicate that the first processing node has received the multicast data packet, wherein the first processing node forwards the multicast data packet with the modified data structure to a subsequent processing node, and wherein the data structure further comprises a sequence number indicative of an ordering of the multicast data packets;
- wherein the multicast data packet is forwarded from the subsequent processing node to an adjacent processing node based on the multicast group membership information included in the data structure, and
- wherein each of the subsequent processing nodes modifies the data structure in the multicast data packet to change the multicast group membership information contained therein to indicate that the subsequent processing node has received the multicast data packet, and
- wherein the subsequent processing node forwards the multicast data packet with the modified data structure to a another subsequent processing node, wherein the process of forwarding the multicast data packet and modifying the data structure therein is repeated until each processing node identified in the multicast group in the at least one chain has received the multicast data packet;
- and
- wherein the processing nodes communicate an interest in a multicast membership in response to multicast add or remove operations by higher layer network protocols operating on the processing nodes.
Dependencies are inferred from the claim text.