Method for multicasting a message on a computer network
First Claim
Patent Images
1. A method for disseminating a message to nodes of a multicast group, the multicast group being organized into a tree-structured hierarchy, the method comprising:
- transmitting the multicast message from a node of the multicast group to a plurality of other nodes of the multicast group;
transmitting, along with the multicast message;
an indication of the responsibility that each node of the plurality of other nodes has with respect to disseminating the multicast message further down the multicast tree; and
an indication of how the responsibilities of the plurality of other nodes with respect to disseminating the multicast message further down the multicast tree are to be divided up among the nodes of the multicast group should one or more of the nodes of the multicast group fail;
receiving a tag at a receiver node, along with the multicast message sent from the node;
detecting that a second node of the multicast group has failed;
identifying a third node of the multicast group as a successor node to the failed node; and
transmitting to the successor node an indication of the successor node'"'"'s area of responsibility based on the received tag;
wherein each node of the multicast group has a node number, and the indication of the responsibility delegated to the other nodes is a boundary number of one of the nodes of the multicast group and indicates that the second node is responsible for insuring that all nodes with node numbers that are between its own number and the boundary node number received the message.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for multicasting a message in a computer network is described, in which at least some nodes of a multicast group transmit fault recovery information to other nodes of the group in addition to, or as part of, the message itself. The fault recovery information allows nodes to determine what dissemination responsibility should be assigned to successor nodes in the event that one or more nodes of the multicast group fail.
-
Citations
12 Claims
-
1. A method for disseminating a message to nodes of a multicast group, the multicast group being organized into a tree-structured hierarchy, the method comprising:
-
transmitting the multicast message from a node of the multicast group to a plurality of other nodes of the multicast group; transmitting, along with the multicast message; an indication of the responsibility that each node of the plurality of other nodes has with respect to disseminating the multicast message further down the multicast tree; and an indication of how the responsibilities of the plurality of other nodes with respect to disseminating the multicast message further down the multicast tree are to be divided up among the nodes of the multicast group should one or more of the nodes of the multicast group fail; receiving a tag at a receiver node, along with the multicast message sent from the node; detecting that a second node of the multicast group has failed; identifying a third node of the multicast group as a successor node to the failed node; and transmitting to the successor node an indication of the successor node'"'"'s area of responsibility based on the received tag; wherein each node of the multicast group has a node number, and the indication of the responsibility delegated to the other nodes is a boundary number of one of the nodes of the multicast group and indicates that the second node is responsible for insuring that all nodes with node numbers that are between its own number and the boundary node number received the message. - View Dependent Claims (2, 3)
-
-
4. A method for disseminating a message to nodes of a multicast group, the method comprising:
-
delegating, at a first node of the multicast group, responsibility for forwarding the message to a first plurality of other nodes of the multicast group; transmitting from the first node to a second node of the multicast group, the second node being one of the first plurality of nodes, information about the responsibility delegated to the second node, wherein the information identifies a second plurality of other nodes of the multicast group, the second plurality comprising nodes to which the second node is responsible for ensuring the message is sent; determining at the first node whether an indication that the second node has fulfilled at least some of its responsibility has been received; and based on the determining step, transmitting, from the first node to a third node of the multicast group, the information about the responsibility delegated to the second node, so that the third node can assume the responsibility of the second node, wherein each node of the multicast group has a node number, and the responsibility information is a boundary node number of one of the nodes of the multicast group and indicates that the second node is responsible for insuring that all nodes with node numbers that are between its own and the boundary node number receive the message. - View Dependent Claims (5, 6, 7)
-
-
8. A method for disseminating a message to nodes of a multicast group, the method comprising:
-
delegating, at a first node of the multicast group, responsibility for forwarding the message to a first plurality of other nodes of the multicast group; transmitting from the first node to a second node of the multicast group, the second node being one of the first plurality of nodes, along with the message, information regarding the responsibility delegated to the second node, wherein the information identifies a second plurality of other nodes of the multicast group, the second plurality comprising nodes to which the second node is responsible for ensuring the message is sent; transmitting from the first node to the second node information about the responsibility of a third node of the multicast group, wherein the third node is one of the first plurality of nodes, thereby allowing second to initiate recovery of the multicast group should the third node fail; at the second node, determining whether the third node has failed; and based on the determining step, transmitting the information about the responsibility of a third node to a successor node of the third node, thereby allowing the successor node to fulfill the responsibility of the third node; wherein each node of the multicast group has a node number, and the indication of the responsibility delegated to the other nodes is a boundary number of one of the nodes of the multicast group and indicates that the second node is responsible for insuring that all nodes with node numbers that are between its own number and the boundary node number received the message. - View Dependent Claims (9, 10, 11)
-
-
12. A method for multicasting a message to a plurality of computer nodes of a multicast tree, each of the plurality of computer nodes having a node ID, the method comprising:
-
a first node of the plurality of nodes transmitting at least a tag and a copy of the message to a second node of the plurality of nodes, wherein the tag comprises the node ID of a third node of the plurality of nodes and the node ID of fourth node of the plurality of nodes, the third node and the fourth node each being a sibling of the second node within the multicast tree; the second node interpreting the tag as indicating that the second node is responsible for ensuring that a copy of the message is sent to each node of the plurality of nodes whose node ID is between the second node'"'"'s node ID and the node ID of the third node, not including the third node, that the second node is responsible for ensuring that the third node is periodically queried to determined whether the third node is alive, and that the third node is responsible for ensuring that a copy of the message is sent to each node of the plurality of nodes whose node ID is between the third node'"'"'s node ID and the node ID of the fourth node, not including the fourth node; at the second node, determining whether the third node has failed; and based on the determining step, transmitting information about the responsibility of the third node to a successor node of the third node, thereby allowing the successor node to fulfill the responsibility of the third node.
-
Specification