Method and apparatus for electing a leader node in a computer network
First Claim
1. A method performed by a first computer node for selecting a leader node to provide service to a plurality of other nodes in a multicast group, wherein each of the nodes communicates using multicast, broadcast or anycast messages, the method comprising the computer-implemented steps of:
- issuing a first election call message;
receiving candidacy announcement messages from one or more leader candidate nodes in a specified time period;
selecting a victor from among all leader candidate nodes from which candidacy announcement messages are received;
receiving one or more victor announcement messages from one or more leader victor nodes for a second specified time period;
resolving zero or more collisions among the victor announcement messages to result in selecting the leader node;
receiving, in the first election call message, first identity information specifying a second node that sent the first election call message;
pushing the identity information onto a stack;
receiving a second election call message that includes second identity information specifying a third node that sent the second election call message; and
ignoring the second election call message when the second identity information is found in the stack.
1 Assignment
0 Petitions
Accused Products
Abstract
A method performed by a first computer node for selecting a leader node to provide service to a plurality of other nodes in a multicast group, wherein each of the nodes communicates using multicast messages, comprises issuing a first election call message; receiving candidacy announcement messages from one or more leader candidate nodes in a specified time period; selecting a victor from among all leader candidate nodes from which candidacy announcement messages are received; receiving one or more victor announcement messages from one or more leader victor nodes for a second specified time period; resolving zero or more collisions among the victor announcement messages to result in selecting the leader node. One embodiment provides a dynamic secure protocol for electing a key server, such as a key server that is suited for use with a group key exchange protocol such as the Group Domain of Interpretation (GDOI). Public key signatures may be used to secure message exchanges and to provide for authentication of network nodes in a multicast group.
157 Citations
66 Claims
-
1. A method performed by a first computer node for selecting a leader node to provide service to a plurality of other nodes in a multicast group, wherein each of the nodes communicates using multicast, broadcast or anycast messages, the method comprising the computer-implemented steps of:
-
issuing a first election call message; receiving candidacy announcement messages from one or more leader candidate nodes in a specified time period; selecting a victor from among all leader candidate nodes from which candidacy announcement messages are received; receiving one or more victor announcement messages from one or more leader victor nodes for a second specified time period; resolving zero or more collisions among the victor announcement messages to result in selecting the leader node; receiving, in the first election call message, first identity information specifying a second node that sent the first election call message; pushing the identity information onto a stack; receiving a second election call message that includes second identity information specifying a third node that sent the second election call message; and ignoring the second election call message when the second identity information is found in the stack. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 23, 24)
-
-
15. A method performed by a first computer node for selecting a Group Domain of Interpretation (GDOI) key server to provide key service to a plurality of client nodes in a multicast group, the method comprising the computer-implemented steps of:
-
issuing a first election call message; receiving candidacy announcement messages from one or more leader candidates in a specified time period; selecting a winner from among all leader candidates from which candidacy announcement messages are received; receiving one or more victor announcement messages from one or more leader victor nodes for a second specified time period; resolving zero or more collisions among the victor announcement messages to result in selecting the leader node; receiving, in the first election call message, first identity information, specifying a second node that sent the first election call message; pushing the identity information onto a stack; receiving a second election call message that includes second identity information specifying a third node that sent the second election call message; and ignoring the second election call message when the second identity information is found in the stack; wherein the election call message, candidacy announcement messages, and victor announcement messages are multicast, broadcast or anycast messages. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
25. A computer-readable storage device or disk medium carrying one or more sequences of instructions for a first computer node for selecting a leader node to provide service to a plurality of other nodes in a multicast group, wherein each of the nodes communicates using multicast, broadcast or anycast messages, which instructions, when executed by one or more processors, cause the one or more processors to carry out the steps of:
-
issuing a first election call message; receiving candidacy announcement messages from one or more leader candidate nodes in a specified time period; selecting a victor from among all leader candidate nodes from which candidacy announcement messages are received; receiving one or more victor announcement messages from one or more leader victor nodes for a second specified time period; resolving zero or more collisions among the victor announcement messages to result in selecting the leader node; receiving, in the first election call message, first identity information specifying a second node that sent the first election call message; pushing the identity information onto a stack; receiving a second election call message that includes second identity information specifying a third node that sent the second election call message; and ignoring the second election call message when the second identity information is found in the stack. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. An apparatus for a first computer node for selecting a leader node to provide service to a plurality of other nodes in a multicast group, wherein each of the nodes communicates using multicast, broadcast or anycast messages, comprising:
-
one or more processors; means for issuing a first election call message; means for receiving candidacy announcement messages from one or more leader candidate nodes in a specified time period; means for selecting a victor from among all leader candidate nodes from which candidacy announcement messages are received; means for receiving one or more victor announcement messages from one or more leader victor nodes for a second specified time period; means for resolving zero or more collisions among the victor announcement messages to result in selecting the leader node; means for receiving, in the first election call message, first identity information specifying a second node that sent the first election call message; means for pushing the identity information onto a stack; means for receiving a second election call message that includes second identity information specifying a third node that sent the second election call message; and means for ignoring the second election call message when the second identity information is found in the stack. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
-
-
53. An apparatus for a first computer node for selecting a leader node to provide service to a plurality of other nodes in a multicast group, wherein each of the nodes communicates using multicast, broadcast or anycast messages, comprising:
-
a network interface that is coupled to the data network for receiving one or more packet flows therefrom; a processor; one or more stored sequences of instructions which, when executes by the processor, cause the processor to carry out the steps of; issuing a first election call message; receiving candidacy announcement messages from one or more leader candidate nodes in a specified time period; selecting a victor from among all leader candidate nodes from which candidacy announcement messages are received; receiving one or more victor announcement messages from one or more leader victor nodes for a second specified time period; resolving zero or more collisions among the victor announcement messages to result in selecting the leader node; receiving, in the first elections call message, first identity information specifying a second node that sent the first election call message; pushing the identity information onto a stack; receiving a second election call message that includes second identity information specifying a third node that sent the second election call message; and ignoring the second election call message when the second identity information is found in the stack. - View Dependent Claims (54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
Specification