Efficient maintenance of a distributed system membership view
First Claim
1. A method of using a listening list to determine updates to a working list of a membership view of members of a distributed computing system, wherein, the working list comprises a list of current members of the distributed computing system;
- during a given period of time, each of one or more of said current member of the computing system generates a membership signal to indicate that said each current member is a member of the computing system; and
during the given period of time, new members join the distributed computing system, and each of the new members generates the membership signal to indicate that said each new member is active in the distributed computing system, the method comprising;
maintaining the working list of a membership view of members of the distributed computing system;
maintaining a listening list to list the members of the distributed computing system; and
during a defined period of time, monitoring for the membership signals; and
whenever one of the membership signals is detected,determining if the one of the members that generated the detected membership signal is on the listening list,if said one of the members is on the listening list, keeping the working list unchanged, andif said one of the members is not on the listening list, adding said one of the members to the listening list and to the working list.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system and computer program product are disclosed for maintaining a membership view of a distributed computing system comprising a multitude of members, wherein each of said members sends out a message indicating that said each of the members is available in the system. In one embodiment, the method comprises maintaining a first list of at least some of the members in the distributed system; and over a period of time, when one of the members sends out the message indicating that said one of the members is available in the distributed system, adding said one of the members to a second list. At defined times, the first list is replaced with the second list. In an embodiment, the method further comprises at said defined times, starting a new, empty second list.
36 Citations
20 Claims
-
1. A method of using a listening list to determine updates to a working list of a membership view of members of a distributed computing system, wherein, the working list comprises a list of current members of the distributed computing system;
- during a given period of time, each of one or more of said current member of the computing system generates a membership signal to indicate that said each current member is a member of the computing system; and
during the given period of time, new members join the distributed computing system, and each of the new members generates the membership signal to indicate that said each new member is active in the distributed computing system, the method comprising;maintaining the working list of a membership view of members of the distributed computing system; maintaining a listening list to list the members of the distributed computing system; and during a defined period of time, monitoring for the membership signals; and whenever one of the membership signals is detected, determining if the one of the members that generated the detected membership signal is on the listening list, if said one of the members is on the listening list, keeping the working list unchanged, and if said one of the members is not on the listening list, adding said one of the members to the listening list and to the working list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- during a given period of time, each of one or more of said current member of the computing system generates a membership signal to indicate that said each current member is a member of the computing system; and
-
11. A membership updating system for using a listening list to determine updates to a working list of a membership view of members of a distributed computing system, wherein, the working list comprises a list of current members of the distributed computing system;
- during a given period of time, each of one or more of said current member of the computing system generates a membership signal to indicate that said each current member is a member of the computing system; and
during the given period of time, new members join the distributed computing system, and each of the new members generates the membership signal to indicate that said each new member is active in the distributed computing system, the membership updating system comprising;a computer system comprising a memory for storing data, and one or more hardware processor units connected to the memory for transmitting data to and receiving data from the memory, the one or more hardware processor units configured for; maintaining the working list of a membership view of members of the distributed computing system; maintaining a listening list to list the members of the distributed computing system; and during a defined period of time, monitoring for the membership signals; and
whenever one of the membership signals is detected,determining if the one of the members that generated the detected membership signal is on the listening list, if said one of the members is on the listening list, keeping the working list unchanged, and if said one of the members is not on the listening list, adding said one of the members to the listening list and to the working list. - View Dependent Claims (12, 13, 14, 15)
- during a given period of time, each of one or more of said current member of the computing system generates a membership signal to indicate that said each current member is a member of the computing system; and
-
16. An article of manufacture comprising:
at least one computer usable device having computer readable program code logic to execute a machine instruction in a processing member for keeping current a working list of a membership view of members of a distributed computing system, wherein, the working list comprises a list of current members of the distributed computing system;
during a given period of time, each of one or more of said current member of the computing system generates a membership signal to indicate that said each current member is a member of the computing system; and
during the given period of time, new members join the distributed computing system, and each of the new members generates the membership signal to indicate that said each new member is active in the distributed computing system, the computer readable program code logic, when executing, performing the following;maintaining the working list of a membership view of members of the distributed computing system; maintaining a listening list to list the members of the distributed computing system; and during a defined period of time, monitoring for the membership signals; and
whenever one of the membership signals is detected,determining if the one of the members that generated the detected membership signal is on the listening list, if said one of the members is on the listening list, keeping the working list unchanged, and if said one of the members is not on the listening list, adding said one of the members to the listening list and to the working list. - View Dependent Claims (17, 18, 19, 20)
Specification