Peer communication channel partitioning
First Claim
1. A computing system comprising a processor and memory that stores a first node module in which agent programs can execute, the first node module comprising:
- (a) a peer discovery module that receives a window from a discovery system in order to detect a second node module within a distributed computing architecture, wherein1. the window comprises a list of other node modules within the distributed computing architecture,2. the list comprises the second node module,3. the window contains a subset of all node addresses in an unbounded computing space,4. the window overlaps with at least another window so that the first node module is able to interact with any node module of the unbounded computing space, and5. the window is configured based on a first parameter “
N”
corresponding to a number of neighboring node modules that have a higher IP address than an IP address of the first node module and a second parameter “
M”
corresponding to a number of preceding neighboring node modules that have a lower IP address than the IP address of the first node module; and
(b) a peer interaction module though which the first node module communicates with the second node module in accordance with the window, wherein the window comprises an identifying attribute of the second node module, and wherein the first node module is configured to introduce an agent program that can be sent to the second node module, though the peer interaction module, and wherein the agent program executes in the second node module, wherein the discovery system provides the window and determines the first and second parameters “
N” and
“
M”
such that the first node module is able to interact only with node modules contained in the window provided by the discovery system.
2 Assignments
0 Petitions
Accused Products
Abstract
Communication channels are partitioned among active nodes in an unbounded computing space. A node may register with a discovery system to obtain an address window (that may correspond to a range of IP addresses). The node communicates only with nodes in accordance with the address window. Even though a partition corresponds to a subset of the nodes in the unbounded computing space, the partition overlaps with partitions of other nodes so that all nodes may interact with each other, either directly or indirectly. Because a node may be cognizant of a small subset of active nodes in the unbounded computing space, both security and scalability are supported.
-
Citations
24 Claims
-
1. A computing system comprising a processor and memory that stores a first node module in which agent programs can execute, the first node module comprising:
-
(a) a peer discovery module that receives a window from a discovery system in order to detect a second node module within a distributed computing architecture, wherein 1. the window comprises a list of other node modules within the distributed computing architecture, 2. the list comprises the second node module, 3. the window contains a subset of all node addresses in an unbounded computing space, 4. the window overlaps with at least another window so that the first node module is able to interact with any node module of the unbounded computing space, and 5. the window is configured based on a first parameter “
N”
corresponding to a number of neighboring node modules that have a higher IP address than an IP address of the first node module and a second parameter “
M”
corresponding to a number of preceding neighboring node modules that have a lower IP address than the IP address of the first node module; and(b) a peer interaction module though which the first node module communicates with the second node module in accordance with the window, wherein the window comprises an identifying attribute of the second node module, and wherein the first node module is configured to introduce an agent program that can be sent to the second node module, though the peer interaction module, and wherein the agent program executes in the second node module, wherein the discovery system provides the window and determines the first and second parameters “
N” and
“
M”
such that the first node module is able to interact only with node modules contained in the window provided by the discovery system. - View Dependent Claims (2)
-
-
3. A discovery system that is associated with an unbounded computing space, comprising:
-
a processor; and memory storing the following components that are executed by the processor; (a) a system interaction module through which the discovery system communicates with a first node module and determines a first identifying attribute of the first node module; and (b) a system discovery module that determines a window of the first node module in response to a message received from the first node module through the system interaction module, wherein 1. the window comprises a list of other node modules within the distributed computing space, 2. the list comprises a second node module that is associated with a second identifying attribute, 3. the window contains a subset of all node addresses in the unbounded computing space, 4. the window overlaps with at least another window so that the first node module is able to interact with any node module of the unbounded computing space, and 5. the window is configured by a first parameter “
N”
corresponding to a number of neighboring nodes that have a higher IP address than an IP address of the first node module and a second parameter “
M”
corresponding to a number of preceding neighboring nodes that have a lower IP address than an IP address of the first node module, wherein the discovery system provides the window and determines the first and second parameters “
N” and
“
M”
such that the first node module is able to interact only with node modules contained in the window provided by the discovery system. - View Dependent Claims (4)
-
-
5. A distributed computing architecture including a plurality of computing systems, comprising:
-
(a) a plurality of node modules in which agent programs can execute, each node module being stored in memory and executed by a processor of a computing system in the distributed computing architecture, wherein the plurality of node modules comprises a first node module and a second node module, each node module comprising; (i) a peer discovery module that receives an address window of the node module in order to detect the other node module within the distributed computing architecture, wherein 1. the address window contains a subset of all node addresses in an unbounded computing space, and 2. the address window overlaps with at least a second address window so that the node module is able to interact with any node module of the unbounded computing space; and (ii) a peer interaction module through which the node module communicates with the other node module in accordance with the address window, wherein the address window comprises a second address of the other node module, and wherein the first node module is capable of introducing an agent program that can be sent to the other node module, through the peer interaction module, and execute on the other node module, and wherein the peer interaction module of the node module is configured to determine whether to process a message sent by the other node module to the node module, based on whether the other node module is in the address window; and (b) at least one discovery system, each discovery system comprising; (i) a system interaction module through which the discovery system communicates with the node module and determines an address of the node module; and (ii) a system discovery module that determines the address window of the node module in response to a message received from the node module through the system interaction module, wherein; (1) the address window is configured based on a first parameter “
N”
corresponding to a number of neighboring nodes that have a higher IP address than an IP address of the first node module and a parameter “
M”
corresponding to a number of preceding neighboring nodes that have a lower IP address than an IP address of the node module, and(2) the address window comprises the second address of the other node module, wherein the discovery system is connected to the plurality of node modules, and wherein the discovery system provides the window and determines the first and second parameters “
N” and
“
M”
such that the first node module is only able to interact with node modules contained in the window provided by the discovery system.
-
-
6. A method for partitioning an unbounded computing space including a plurality of nodes and at least one discovery system connected to the plurality of nodes, the method comprising:
-
(a) receiving a first notification from a first node in order to register the first node; (b) determining a first address that is associated with the first node; (c) entering the first address into a list of addresses; (d) selecting a subset of the list of addresses, the subset comprising addresses of other nodes that are associated with the unbounded computing space; (e) providing a first address window to the first node, wherein the first address window comprises the subset of addresses in the unbounded computing space, and wherein the first address window is configured based on a parameter “
N”
corresponding to a number of neighboring nodes that have a higher IP address than an IP address of the first node and a parameter “
M”
corresponding to a number of neighboring nodes that have a lower IP address than the IP address of the first node; and(f) overlapping the first address window with at least a second address window in accordance with the parameter “
M”
so that the first node is able to interact with any node of the unbounded computing space,wherein the steps (a)-(f) are performed by the discovery system and the discovery system provides the first and second windows and determines the parameters “
N” and
“
M”
such that the first node is able to interact only with nodes included in the first window provided by the discovery system. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for executing a program on a distributed computer system including a discovery system connected to a plurality of nodes, the method comprising:
-
(a) sending to the discovery system, by a first node, a first notification in order to register the first node on the distributed computer system; (b) receiving from the discovery system, by the first node, a first address window, wherein the first address window contains a subset of all node addresses in an unbounded computing space and wherein the first address window is configured by a first parameter “
N”
corresponding to a number of neighboring nodes that have a higher IP address than an IP address of the first node and a second parameter “
M”
corresponding to a number of preceding neighboring nodes that have a lower IP address than an IP address of the first node;(c) sending, by the first node, a first message to a second node only if an address of the second node is contained in the first address window; and (d) determining, by the first node, whether to process a communication received by the first node based on whether a sender node associated with the communication is in the first address window, wherein the discovery system provides the first address window and determines the parameters “
N” and
“
M”
such that the first node is able to interact only with nodes contained in the window provided by the discovery system. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification