US10674486B2ActiveUtilityA1
System, security and network management using self-organizing communication orbits in distributed networks
Est. expiryDec 21, 2032(~6.5 yrs left)· nominal 20-yr term from priority
H04L 43/0817H04L 67/1046H04W 72/0406H04L 41/04H04L 67/1065H04L 61/00H04L 67/104H04L 41/12H04L 67/1063H04L 63/00H04L 41/0893H04L 67/02H04L 41/082H04W 48/16H04L 43/10H04L 67/1072H04L 45/02H04L 63/20H04L 43/02H04W 8/005H04L 43/04H04W 24/02H04W 84/18H04L 67/1048H04L 41/044H04L 41/0894H04L 41/344H04W 72/20
95
PatentIndex Score
9
Cited by
51
References
21
Claims
Abstract
In one aspect, machines in a managed network implements a set of rules that cause individual machines to directly interact with only a small number of machines in the network (i.e., a local neighborhood within the network), while the independent local actions of the individual machines collectively cause the individual machines to be self-organized into one or more communication orbits without any global control or coordination by a server or an administrator. The communication orbits are used for supporting network, security and system management communications in the managed network.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method, comprising:
at a server of a network comprising a non-static collection of machines, wherein:
the server is communicably coupled to at least a first head node of a first linear communication orbit, and a second head node of a second linear communication orbit that is distinct from the first linear communication orbit;
the first linear communication orbit includes a first subset of the non-static collection of machines, the second linear communication orbit includes a second subset of the non-static collection of machines, the first subset of the non-static collection of machines and the second subset of the non-static collection of machines are respectively ordered according to one of a first type of unique identifiers and a second type of unique identifiers of the non-static collection of machines:
receiving a first registration request from a first machine, the first registration request includes a respective unique identifier of the first machine that is of the first type of unique identifiers;
in response to receiving the first registration request from the first machine, providing a first list of potential neighbor machines for the first machine in the first linear communication orbit to the first machine;
receiving a second registration request from a second machine, the second registration request includes a respective unique identifier of the second machine that is of the second type of unique identifiers; and
in response to receiving the second registration request from the second machine, providing a second list of potential neighbor machines for the second machine in the second linear communication orbit to the second machine,
wherein:
the first machine performs a first set of operations to insert itself into the first linear communication orbit and the second machine performs a second set of operations to insert itself into the second linear communication orbit; and
the first machine and the second machine use a common set of rules to perform the first set of operations and the second set of operations, respectively.
2. The method of claim 1 , wherein performing the first set of operations by the first machine in accordance with the common set of rules includes:
proactively establishing, in accordance with a first communication protocol, a respective propagation channel from the first machine to a downstream neighbor machine in the first list of potential neighbor machines for the first machine in the first linear communication orbit.
3. The method of claim 2 : wherein performing the first set of operations by the first machine in accordance with the common set of rules includes:
upon establishing the respective propagation channel from the first machine to the downstream neighbor machine in the first list of potential neighbor machines, terminating a previous propagation channel from the first machine to another machine in the network.
4. The method of claim 1 , wherein the server obtains contact information of the non-static collection of machines according to a predetermined maintenance schedule.
5. The method of claim 1 , including:
at the server of the network, maintaining a list of head nodes for a plurality of linear communication orbits currently formed in the network.
6. The method of claim 5 , including:
at the server of the network:
injecting respective management messages into each of the plurality of linear communication orbits through respective head nodes of the plurality of linear communication orbits, wherein the respective management messages propagates through the plurality of linear communication orbits separately without further server intervention.
7. The method of claim 1 , including:
at the server of the network:
allowing a respective communication channel from the server to the first machine to persist until (1) a forward communication channel has been established from a respective preceding neighbor machine of the first list of potential neighbor machines to the first machine and (2) a forward communication channel has been established from the first machine to a respective succeeding neighbor machine of the first list of potential neighbor machines.
8. A server of a network comprising a non-static collection of machines, comprising:
one or more processors; and
memory storing instructions, wherein:
the server is communicably coupled to at least a first head node of a first linear communication orbit, and a second head node of a second linear communication orbit that is distinct from the first linear communication orbit;
the first linear communication orbit includes a first subset of the non-static collection of machines, the second linear communication orbit includes a second subset of the non-static collection of machines, the first subset of the non-static collection of machines and the second subset of the non-static collection of machines are respectively ordered according to one of a first type of unique identifiers and a second type of unique identifiers of the non-static collection of machines; and
the instructions, when executed by the one or more processors, cause the server to perform operations comprising:
receiving a first registration request from a first machine, the first registration request includes a respective unique identifier of the first machine that is of the first type of unique identifiers;
in response to receiving the first registration request from the first machine, providing a first list of potential neighbor machines for the first machine in the first linear communication orbit to the first machine;
receiving a second registration request from a second machine, the second registration request includes a respective unique identifier of the second machine that is of the second type of unique identifiers; and
in response to receiving the second registration request from the second machine, providing a second list of potential neighbor machines for the second machine in the second linear communication orbit to the second machine,
wherein:
the first machine performs a first set of operations to insert itself into the first linear communication orbit and the second machine performs a second set of operations to insert itself into the second linear communication orbit; and
the first machine and the second machine use a common set of rules to perform the first set of operations and the second set of operations, respectively.
9. The server of claim 8 , wherein the first machine performing the first set of operations in accordance with the common set of rules includes:
the first machine proactively establishing, in accordance with a first communication protocol, a respective propagation channel from the first machine to a downstream neighbor machine in the first list of potential neighbor machines for the first machine in the first linear communication orbit.
10. The server of claim 9 , wherein the first machine performing the first set of operations in accordance with the common set of rules includes:
the first machine, upon establishing the respective propagation channel from the first machine to the downstream neighbor machine in the first list of potential neighbor machines, terminating a previous propagation channel from the first machine to another machine in the network.
11. The server of claim 8 , wherein the instructions include instructions that, when executed by the one or more processors, cause the server to obtain contact information of the non-static collection of machines according to a predetermined maintenance schedule.
12. The server of claim 8 , wherein the instructions include instructions that, when executed by the one or more processors, cause the server to maintain a list of head nodes for a plurality of linear communication orbits currently formed in the network.
13. The server of claim 12 , wherein the instructions include instructions that, when executed by the one or more processors, cause the server to inject respective management messages into each of the plurality of linear communication orbits through respective head nodes of the plurality of linear communication orbits, wherein the respective management messages propagates through the plurality of linear communication orbits separately without further server intervention.
14. The server of claim 8 , including wherein the instructions include instructions that, when executed by the one or more processors, cause the server to allow a respective communication channel from the server to the first machine to persist until (1) a forward communication channel has been established from a respective preceding neighbor machine of the first list of potential neighbor machines to the first machine and (2) a forward communication channel has been established from the first machine to a respective succeeding neighbor machine of the first list of potential neighbor machines.
15. A non-transitory computer-readable medium storing instructions, wherein:
the instructions are for execution by a server of a network comprising a non-static collection of machines;
the server has one or more processors and is communicably coupled to at least a first head node of a first linear communication orbit, and a second head node of a second linear communication orbit that is distinct from the first linear communication orbit;
the first linear communication orbit includes a first subset of the non-static collection of machines, the second linear communication orbit includes a second subset of the non-static collection of machines, the first subset of the non-static collection of machines and the second subset of the non-static collection of machines are respectively ordered according to one of a first type of unique identifiers and a second type of unique identifiers of the non- static collection of machines; and
the instructions, when executed by the one or more processors, cause the server to perform operations comprising:
receiving a first registration request from a first machine, the first registration request includes a respective unique identifier of the first machine that is of the first type of unique identifiers;
in response to receiving the first registration request from the first machine, providing a first list of potential neighbor machines for the first machine in the first linear communication orbit to the first machine;
receiving a second registration request from a second machine, the second registration request includes a respective unique identifier of the second machine that is of the second type of unique identifiers; and
in response to receiving the second registration request from the second machine, providing a second list of potential neighbor machines for the second machine in the second linear communication orbit to the second machine,
wherein:
the first machine performs a first set of operations to insert itself into the first linear communication orbit and the second machine performs a second set of operations to insert itself into the second linear communication orbit; and
the first machine and the second machine use a common set of rules to perform the first set of operations and the second set of operations, respectively.
16. The non-transitory computer-readable medium of claim 15 , wherein the first machine performing the first set of operations in accordance with the common set of rules includes:
the first machine proactively establishing, in accordance with a first communication protocol, a respective propagation channel from the first machine to a downstream neighbor machine in the first list of potential neighbor machines for the first machine in the first linear communication orbit.
17. The non-transitory computer-readable medium of claim 16 , wherein the first machine performing the first set of operations in accordance with the common set of rules includes:
the first machine, upon establishing the respective propagation channel from the first machine to the downstream neighbor machine in the first list of potential neighbor machines, terminating a previous propagation channel from the first machine to another machine in the network.
18. The non-transitory computer-readable medium of claim 15 , wherein the instructions include instructions that, when executed by the one or more processors, cause the server to obtain contact information of the non-static collection of machines according to a predetermined maintenance schedule.
19. The non-transitory computer-readable medium of claim 15 , wherein the instructions include instructions that, when executed by the one or more processors, cause the server to maintain a list of head nodes for a plurality of linear communication orbits currently formed in the network.
20. The non-transitory computer-readable medium of claim 19 , wherein the instructions include instructions that, when executed by the one or more processors, cause the server to inject respective management messages into each of the plurality of linear communication orbits through respective head nodes of the plurality of linear communication orbits, wherein the respective management messages propagates through the plurality of linear communication orbits separately without further server intervention.
21. The non-transitory computer-readable medium of claim 15 , including wherein the instructions include instructions that, when executed by the one or more processors, cause the server to allow a respective communication channel from the server to the first machine to persist until (1) a forward communication channel has been established from a respective preceding neighbor machine of the first list of potential neighbor machines to the first machine and (2) a forward communication channel has been established from the first machine to a respective succeeding neighbor machine of the first list of potential neighbor machines.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.