US 11,924,044 B2
Organizing execution of distributed operating systems for network devices
David M. Katz, Santa Cruz, CA (US); Ross W. Callon, Westford, MA (US); Scott Mackie, Santa Cruz, CA (US); and Dennis C. Ferguson, Palo Alto, CA (US)
Assigned to Juniper Networks, Inc., Sunnyvale, CA (US)
Filed by Juniper Networks, Inc., Sunnyvale, CA (US)
Filed on Mar. 24, 2022, as Appl. No. 17/656,353.
Application 17/656,353 is a continuation of application No. 15/637,809, filed on Jun. 29, 2017, granted, now 11,316,744.
Claims priority of provisional application 62/479,804, filed on Mar. 31, 2017.
Claims priority of provisional application 62/437,369, filed on Dec. 21, 2016.
Prior Publication US 2022/0217053 A1, Jul. 7, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 41/12 (2022.01); G06F 9/48 (2006.01); G06F 9/50 (2006.01); G06F 11/20 (2006.01); H04L 45/02 (2022.01); H04L 45/48 (2022.01)
CPC H04L 41/12 (2013.01) [G06F 9/4843 (2013.01); G06F 9/5061 (2013.01); G06F 11/2097 (2013.01); H04L 45/02 (2013.01); H04L 45/48 (2013.01); G06F 11/2023 (2013.01); G06F 2201/81 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A device comprising:
a plurality of hardware computing nodes configured to:
execute a protocol by which to discover a topology of the plurality of hardware computing nodes;
determine, based on the topology, a subset of the plurality of hardware computing nodes to manage execution of a distributed operating system, wherein the determined subset of the plurality of hardware computing nodes are further configured to execute a communication bus by which to synchronize operating system state information between the subset of the plurality of hardware computing nodes; and
execute, based on the operating system state information, the distributed operating system to provide an execution environment in which one or more applications execute,
wherein the plurality of hardware computing nodes are configured to exchange announcements between the plurality of hardware computing nodes, the announcements indicating whether each of the plurality of hardware computing nodes are capable of executing as a manager hardware computing node, the manager hardware computing node configured to manage execution of the distributed operating system;
wherein the determined subset of the plurality of hardware computing nodes are further configured to elect one of the determined subset of the plurality of hardware computing nodes as a manager master hardware computing node,
wherein the manager master hardware computing node designates each of one or more of the subset of the plurality of hardware computing nodes as a manager hardware computing nodes, and
wherein the one or more manager hardware computing nodes form a quorum in which operating system state information pertinent to the execution of the distributed operating system is synchronized between the one or more manager hardware computing nodes.