Method and apparatus for self-organizing node groups on a network
First Claim
1. A network computing system, comprising:
- a plurality of devices coupled to a network, wherein each device comprises one or more nodes;
two or more of the nodes configured to couple to the network and to self-organize as a group on the network to perform one or more applications on the network;
wherein, to self-organize as a group on the network, each of the two or more nodes is configured to;
broadcast a discovery query for a master node for the group on the network;
if a response to the discovery query is received indicating another node as the master node for the group, cache information indicating that the other node is the master node for the group; and
if no response to the discovery query is received, assume the role of master node for the group;
wherein the master node for a group is configured to provide or control one or more functions for nodes in the group; and
wherein the two or more nodes are peer nodes in a peer-to-peer networking environment on the network, wherein the peer-to-peer networking environment is implemented according to a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer networking environment.
2 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for the self-organization of nodes into groups in network computing environments. Embodiments may provide the ability to deploy nodes on a network, and to allow the nodes to organize into groups without human intervention. In one embodiment, a node may broadcast a query looking for a master node for the group. If the query produces no responses, the node may self-elect as the master node for the group and the node may broadcast its presence as the master node. If two or more nodes self-elect as master nodes, the nodes may negotiate to determine which node will be the master node. If the master node becomes unavailable, the remaining nodes in the group may elect a new master node. Some embodiments may be implemented on a peer-to-peer platform, such as the JXTA peer-to-peer platform, which may allow the scope of the group to span subnetworks and networks.
-
Citations
30 Claims
-
1. A network computing system, comprising:
-
a plurality of devices coupled to a network, wherein each device comprises one or more nodes; two or more of the nodes configured to couple to the network and to self-organize as a group on the network to perform one or more applications on the network; wherein, to self-organize as a group on the network, each of the two or more nodes is configured to; broadcast a discovery query for a master node for the group on the network; if a response to the discovery query is received indicating another node as the master node for the group, cache information indicating that the other node is the master node for the group; and if no response to the discovery query is received, assume the role of master node for the group; wherein the master node for a group is configured to provide or control one or more functions for nodes in the group; and wherein the two or more nodes are peer nodes in a peer-to-peer networking environment on the network, wherein the peer-to-peer networking environment is implemented according to a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer networking environment. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A network computing system, comprising:
-
a network; a plurality of devices coupled to the network; and a plurality of nodes implemented on the plurality of devices, wherein the plurality of nodes is configured to; couple to the network and to self-organize as a node group on the network to perform one or more functions on the network; and determine one of the plurality of nodes to serve as a master node for the group; wherein the master node for a group is configured to provide or control one or more functions for nodes in the group; and wherein, to determine one of the plurality of nodes to serve as a master node for the group, each of the nodes is configured to; broadcast a discovery query for a master node for the group on the network; if a response to the discovery query is received indicating another node as the master node for the group, cache information indicating that the other node is the master node for the group; and if no response to the discovery query is received, assume the role of master node for the group; wherein the plurality of nodes are peer nodes in a peer group on the network, wherein scope of said broadcast is the peer group, and wherein the peer group is implemented in accordance with a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in a peer-to-peer networking environment. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A system, comprising:
-
a processor; and a memory comprising program instructions, wherein the program instructions are executable by the processor to implement a master node mechanism configured to; broadcast a discovery query on a network for a master node for a group of nodes on the network, wherein the group of nodes is configured to perform one or more applications on the network, wherein the system is configured as a node in the group; if a response to the discovery query is received indicating another node as the master node for the group, store information indicating that the other node is the master node for the group; and if no response to the discovery query is received, self-elect the system as master node for the group; wherein, the master node for a group is configured to provide or control one or more functions for nodes in the group; and wherein the group of nodes are peer nodes in a peer-to-peer networking environment on the network, wherein the peer-to-peer networking environment is implemented according to a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer networking environment. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A network computing system, comprising:
-
means for a collection of nodes to self-organize as a group of nodes on a network to perform one or more applications on the network; and means for the group of nodes to determine one of the nodes to serve as master node for the group, wherein, the master node for the group is configured to provide or control one or more functions for the nodes in the group; wherein said means for the group of nodes to determine one of the nodes to serve as master node for the group comprises; means for each of the nodes to self-elect as the master node for the group; and if two or more of the nodes self-elect as the master node for the group, means for the two or more nodes to negotiate to select one of the nodes in the group as the master node for the group; wherein the collection of nodes are peer nodes in a peer-to-peer networking environment on the network, wherein the peer-to-peer networking environment is implemented according to a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer networking environment. - View Dependent Claims (19)
-
-
20. A method, comprising:
-
a node broadcasting a discovery query on a network for a master node for a group of nodes on the network configured to perform one or more applications on the network; if a response to the discovery query is received indicating another node as the master node for the group, storing information indicating that the other node is the master node for the group; and if no response to the discovery query is received, the node assuming the role of master node for the group; wherein, the master node for the group is configured to provide or control one or more functions for the nodes in the group; and wherein the group of nodes are peer nodes in a peer-to-peer networking environment on the network, wherein the peer-to-peer networking environment is implemented according to a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in the peer-to-peer networking environment. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. A computer-accessible storage medium storing program instructions, wherein the program instructions are computer-executable to implement:
-
a node broadcasting a discovery query on a network for a master node for a group of nodes on the network configured to perform one or more applications on the network; if a response to the discovery query is received indicating another node as the master node for the group, storing information indicating that the other node is the master node for the group; and if no response to the discovery query is received, the node assuming the role of master node for the group; wherein, the master node for the group is configured to provide or control one or more functions for the nodes in the group; and wherein the group of nodes are peer nodes in a peer group on the network, wherein the scope of said broadcasting is the peer group, wherein the peer group is implemented in accordance with a peer-to-peer platform comprising one or more peer-to-peer platform protocols for enabling peer nodes to discover each other, communicate with each other, and cooperate with each other to form peer groups and share content in a peer-to-peer networking environment. - View Dependent Claims (27, 28, 29, 30)
-
Specification