Subfederation creation and maintenance in a federation infrastructure
First Claim
1. In a federation infrastructure comprising a plurality of nodes that each include one or more processors and system memory and that are organized into a ring of nodes, the plurality of nodes being configured to route messages to one another through the ring, each of the plurality of nodes storing a routing table that includes one or more of a predecessor node of said node in the ring of nodes, a successor node of said node in the ring of nodes, or a plurality of neighbor nodes of said node in the ring of nodes including one or more first neighbor nodes in a first direction of said node in the ring of nodes and one or more second neighbor nodes in a second opposite direction of said node in the ring of nodes, a method for forming a subfederation within the federation infrastructure, the method comprising:
- an act of determining that a joining node selected from the plurality of nodes in the federation infrastructure desires to join an identified subfederation within the federation infrastructure;
an act of the joining node accessing a first group table corresponding to the joining node, the first group table including membership information identifying zero or more subfederations within the federation infrastructure, each subfederation comprising a subset of the plurality of nodes in the federation infrastructure that are organized into a sub-ring, wherein each of the plurality of nodes in the federation maintains neighborhood information for each subfederation of which the node is aware;
an act of the joining node determining that no entry for the identified subfederation exists in the joining node'"'"'s first group table;
based on the determination, an act of the joining node routing a group join message to a rendezvous point comprising one of the plurality of nodes in the federation infrastructure, such that the rendezvous point checks a second group table corresponding to the rendezvous point for an entry corresponding to the identified subfederation; and
an act of the joining node receiving an indication from the rendezvous point indicating that the rendezvous point'"'"'s second group table does not include a corresponding entry for the identified subfederation and that the joining node is the first member of the identified subfederation.
2 Assignments
0 Petitions
Accused Products
Abstract
A computational system determines that a joining node in the federation infrastructure desires to join an identified subfederation within the federation infrastructure. The system accesses the joining node'"'"'s group table, where the group table includes membership information identifying subfederations within the federation infrastructure. Each node in the federation maintains neighborhood information for each subfederation of which the node is aware. The system determines that no entry for the identified subfederation exists in the joining node'"'"'s group table and, based on the determination, routes a group join message to a rendezvous point within the federation infrastructure. The rendezvous point checks its group table for an entry corresponding to the identified subfederation. The system also receives an indication from the rendezvous point indicating that the rendezvous point'"'"'s group table does not include a corresponding entry for the identified subfederation and that the joining node is the first member of the identified subfederation.
151 Citations
24 Claims
-
1. In a federation infrastructure comprising a plurality of nodes that each include one or more processors and system memory and that are organized into a ring of nodes, the plurality of nodes being configured to route messages to one another through the ring, each of the plurality of nodes storing a routing table that includes one or more of a predecessor node of said node in the ring of nodes, a successor node of said node in the ring of nodes, or a plurality of neighbor nodes of said node in the ring of nodes including one or more first neighbor nodes in a first direction of said node in the ring of nodes and one or more second neighbor nodes in a second opposite direction of said node in the ring of nodes, a method for forming a subfederation within the federation infrastructure, the method comprising:
-
an act of determining that a joining node selected from the plurality of nodes in the federation infrastructure desires to join an identified subfederation within the federation infrastructure; an act of the joining node accessing a first group table corresponding to the joining node, the first group table including membership information identifying zero or more subfederations within the federation infrastructure, each subfederation comprising a subset of the plurality of nodes in the federation infrastructure that are organized into a sub-ring, wherein each of the plurality of nodes in the federation maintains neighborhood information for each subfederation of which the node is aware; an act of the joining node determining that no entry for the identified subfederation exists in the joining node'"'"'s first group table; based on the determination, an act of the joining node routing a group join message to a rendezvous point comprising one of the plurality of nodes in the federation infrastructure, such that the rendezvous point checks a second group table corresponding to the rendezvous point for an entry corresponding to the identified subfederation; and an act of the joining node receiving an indication from the rendezvous point indicating that the rendezvous point'"'"'s second group table does not include a corresponding entry for the identified subfederation and that the joining node is the first member of the identified subfederation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. In a federation infrastructure comprising a plurality of nodes that each include one or more processors and system memory and that are organized into a ring of nodes, the plurality of nodes being configured to route messages to one another through the ring, each of the plurality of nodes storing a routing table that includes one or more of a predecessor node of said node in the ring of nodes, a successor node of said node in the ring of nodes, or a plurality of neighbor nodes of said node in the ring of nodes including one or more first neighbor nodes in a first direction of said node in the ring of nodes and one or more second neighbor nodes in a second opposite direction of said node in the ring of nodes, a method for departing a subfederation within the federation infrastructure, the method comprising:
-
an act of determining that a departing node selected from the plurality of nodes is a member node of a subfederation within a federation infrastructure, the subfederation comprising a subset of the plurality of nodes in the federation infrastructure that are organized into a sub-ring including the departing node; and an act of the member node routing a group depart message to the member node'"'"'s successor and predecessor nodes in the subfederation, such that at least one of the successor and predecessor nodes performs the following; updates a corresponding group table to include a no-longer-participating indication indicating that the departing member node is no longer participating in the subfederation; and removes and associated entry in the group table corresponding to the departing member node after a time period has expired. - View Dependent Claims (15, 16, 17)
-
-
18. In a federation infrastructure comprising a plurality of federation nodes that each include one or more processors and system memory and that are organized into a ring of nodes, the plurality of federation nodes being configured to route messages to one another through the ring, each of the plurality of federation nodes storing a routing table that includes one or more of a predecessor node of said node in the ring of nodes, a successor node of said node in the ring of nodes, or a plurality of neighbor nodes of said node in the ring of nodes including one or more first neighbor nodes in a first direction of said node in the ring of nodes and one or more second neighbor nodes in a second opposite direction of said node in the ring of nodes, a method for maintaining a subfederation in the federation infrastructure, the method comprising:
-
an act of a first member node of the plurality of federation nodes of the federation infrastructure receiving one or more federation infrastructure messages from at least one other federation node of the plurality of federation nodes; an act of the first member node determining from group table information appended to the federation infrastructure messages that a second member node that is a member of a subfederation in the federation infrastructure is no longer active, the subfederation comprising a subset of the plurality of federation nodes in the federation infrastructure that are organized into a sub-ring including the second member node; and an act of the first member node sending a group depart message on behalf of the second member node to predecessor and successor nodes of those subfederations of which the member node was a member indicating that the second member node has departed the subfederation. - View Dependent Claims (19, 20)
-
-
21. A computer program product comprising one or more computer storage devices having stored thereon computer executable instructions that, when executed by one or more processors, implement a method for forming a subfederation within a federation infrastructure that comprises a plurality of nodes that are organized into a ring of nodes, the plurality of nodes being configured to route messages to one another through the ring, each of the plurality of nodes storing a routing table that includes one or more of a predecessor node of said node in the ring of nodes, a successor node of said node in the ring of nodes, or a plurality of neighbor nodes of said node in the ring of nodes including one or more first neighbor nodes in a first direction of said node in the ring of nodes and one or more second neighbor nodes in a second opposite direction of said node in the ring of nodes, the method comprising:
-
an act of determining that a joining node selected from the plurality of nodes in the federation infrastructure desires to join an identified subfederation within the federation infrastructure; an act of the joining node accessing a first group table corresponding to the joining node, the first group table including membership information identifying zero or more subfederations within the federation infrastructure, each subfederation comprising a subset of the plurality of nodes in the federation infrastructure that are organized into a sub-ring, wherein each of the plurality of nodes in the federation maintains neighborhood information for each subfederation of which the node is aware; an act of the joining node determining that no entry for the identified subfederation exists in the joining node'"'"'s first group table; based on the determination, an act of the joining node routing a group join message to a rendezvous point comprising one of the plurality of nodes in the federation infrastructure, such that the rendezvous point checks a second group table corresponding to the rendezvous point for an entry corresponding to the identified subfederation; and an act of the joining node receiving an indication from the rendezvous point indicating that the rendezvous point'"'"'s second group table does not include a corresponding entry for the identified subfederation and that the joining node is the first member of the identified subfederation. - View Dependent Claims (22)
-
-
23. A computer program product comprising one or more computer storage devices having stored thereon computer executable instructions that, when executed by one or more processors, implement a method for maintaining a subfederation in a federation infrastructure that comprises a plurality of federation nodes that are organized into a ring of nodes, the plurality of federation nodes being configured to route messages to one another through the ring, each of the plurality of federation nodes storing a routing table that includes one or more of a predecessor node of said node in the ring of nodes, a successor node of said node in the ring of nodes, or a plurality of neighbor nodes of said node in the ring of nodes including one or more first neighbor nodes in a first direction of said node in the ring of nodes and one or more second neighbor nodes in a second opposite direction of said node in the ring of nodes, the method comprising:
-
an act of a first member node of the plurality of federation nodes of the federation infrastructure receiving one or more federation infrastructure messages from at least one other federation node of the plurality of federation nodes; an act of the first member node determining from group table information appended to the federation infrastructure messages that a second member node that is a member of a subfederation in the federation infrastructure is no longer active, the subfederation comprising a subset of the plurality of federation nodes in the federation infrastructure that are organized into a sub-ring including the second member node; and an act of the first member node sending a group depart message on behalf of the second member node to predecessor and successor nodes of those subfederations of which the member node was a member indicating that the second member node has departed the subfederation. - View Dependent Claims (24)
-
Specification