# US 11,030,002 B2 · Optimizing simultaneous startup or modification of inter-dependent machines with specified priorities

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,030,002 B2
- Document ID: US11030002B2
- Status: Granted
- Kind: B2
- Application number: 16/578,333
- Filed: 2019-09-21
- Published: 2020-01-30
- Granted: 2021-06-08
- Earliest claimed: 2016-06-23
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Richard E. Harper; Ruchi Mahindru; HariGovind V. Ramasamy; Long Wang
- Web page: https://patentgrep.com/patent/US11030002B2

## CPC

- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 9/505: {considering the load}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Identify individual machines of a multi-machine computing system. Construct a graph of dependencies among the machines. Obtain estimated total administration times and administration priorities for each of the machines. Identify availability of administration resources to assist in administration of one or more of the machines. Select a first set of machines for administration in response to the graph, administration priorities, estimated total administration times, and availability of the first set of administration resources, and administer the first set of machines in parallel using the first set of administration resources. Update the graph in response to administration of the first set of machines. Select a subsequent set of machines for administration in response to the updated graph, administration priorities, estimated total administration times, and availability of a subsequent set of administration resources. Administer the subsequent set of machines in parallel using the subsequent set of administration resources.

## Claims

### Claim 1

A computer-implemented method of parallel administration of a multi-machine computing system, the method comprising:
identifying a plurality of nodes that correspond to individual machines of the multi-machine computing system;
obtaining, at the at least one of the individual machines, estimated total administration times for each of the plurality of nodes;
obtaining, at the at least one of the individual machines, administration priorities for each of the nodes;
constructing, in the at least one of the individual machines, a graph of dependencies among the nodes;
identifying, at the at least one of the individual machines, availability of a first set of administration resources to assist in administration of one or more of the individual machines;
selecting, at the at least one of the individual machines, a first set of the nodes for administration in response to the graph of dependencies, administration priorities, estimated total administration times, and availability of the first set of administration resources;
administering a first set of machines, corresponding to the first set of the nodes, in parallel using the first set of administration resources;
updating the graph of dependencies in response to administration of the first set of machines;
selecting, at the least one of the individual machines, a subsequent set of nodes for administration in response to the updated graph of dependencies, administration priorities, estimated total administration times, and availability of a subsequent set of administration resources; and
administering a subsequent set of machines, corresponding to the subsequent set of the nodes, in parallel using the subsequent set of administration resources.

### Claim 2 (depends on 1)

The method of claim 1 wherein selecting each set of the nodes includes reducing a total time for administration of each set of the nodes in parallel by heuristically optimizing the selection of nodes while conforming to resource constraints, user-specified priorities, and dependencies among the individual machines.

### Claim 3 (depends on 1)

The method of claim 1 further comprising updating the estimated total administration times in response to actual administration times of the individual machines corresponding to the first set of the nodes.

### Claim 4 (depends on 1)

The method of claim 1 wherein the first set of the nodes are selected according to higher administration priorities first.

### Claim 5 (depends on 4)

The method of claim 4 wherein administration priority ties are resolved according to longest estimated total administration time first.

### Claim 6 (depends on 1)

The method of claim 1 wherein the estimated total administration time for each node includes the estimated total administration times for all nodes dependent from that node.

### Claim 7 (depends on 1)

The method of claim 1 wherein each set of the nodes are selected from the roots of the graph of dependencies according to how many administration resources are available to implement automated administration scripts.

### Claim 8 (depends on 1)

The method of claim 1 wherein updating the graph of dependencies includes identifying a new root node for which all of the nodes from which it depends have been started up, and making the new root node a root of the graph of dependencies.

### Claim 9 (depends on 1)

The method of claim 1 wherein each administration resource is assigned to administer an individual machine.

### Claim 10 (depends on 1)

The method of claim 1 wherein at least some of the individual machines are used as administration resources.

### Claim 11

A non-transitory computer readable medium embodying computer executable instructions which when executed by a computer cause the computer to facilitate the method of:
identifying a plurality of nodes that represent individual machines of the multi-machine computing system;
obtaining, at the at least one of the individual machines, estimated total administration times for each of the plurality of nodes;
obtaining, at the at least one of the individual machines, administration priorities for at least some of the nodes;
constructing, in the at least one of the individual machines, a graph of dependencies among the nodes;
identifying, at the at least one of the individual machines, availability of a first set of administration resources to assist in administration of one or more of the nodes;
selecting, at the least one of the individual machines, a first set of machines for administration in response to the graph of dependencies, administration priorities, estimated total administration times, and availability of the first set of administration resources;
administering the first set of nodes in parallel using the first set of administration resources;
updating the graph of dependencies in response to administration of the first set of nodes;
selecting, at the least one of the individual machines, a subsequent set of nodes for administration in response to the updated graph of dependencies, administration priorities, estimated total administration times, and availability of a subsequent set of administration resources; and
administering the subsequent set of nodes in parallel using the subsequent set of administration resources.

### Claim 12 (depends on 11)

The medium of claim 11 wherein the first set of nodes are selected according to higher administration priorities first.

### Claim 13 (depends on 12)

The medium of claim 12 wherein administration priority ties are resolved according to longest estimated total administration time first.

### Claim 14 (depends on 11)

The medium of claim 11 wherein the estimated total administration time for each node includes the estimated total administration times for all nodes dependent from that node.

### Claim 15 (depends on 11)

The medium of claim 11 wherein the first set of nodes are selected from the roots of the graph of dependencies according to how many administration resources are available to implement automated administration scripts.

### Claim 16 (depends on 11)

The medium of claim 11 wherein updating the graph of dependencies includes identifying a new root node for which all of its root nodes have been started up, and making the new root node a root of the graph of dependencies.

### Claim 17 (depends on 11)

The medium of claim 11 wherein each of the first set of administration resources is assigned to administer an individual machine corresponding one of the first set of nodes.

### Claim 18

An apparatus comprising:
a memory embodying computer executable instructions; and
at least one processor, coupled to the memory, and operative by the computer executable instructions to implement a method of:
identifying a plurality of nodes that represent individual machines of the multi-machine computing system;
obtaining, at the at least one of the individual machines, estimated total administration times for each of the plurality of nodes;
obtaining, at the at least one of the individual machines, administration priorities for at least some of the nodes;
constructing, in the at least one of the individual machines, a graph of dependencies among the nodes;
identifying, at the at least one of the individual machines, availability of a first set of administration resources to assist in administration of one or more of the nodes;
selecting, at the least one of the individual machines, a first set of machines for administration in response to the graph of dependencies, administration priorities, estimated total administration times, and availability of the first set of administration resources;
administering the first set of nodes in parallel using the first set of administration resources;
updating the graph of dependencies in response to administration of the first set of nodes;
selecting, at the least one of the individual machines, a subsequent set of nodes for administration in response to the updated graph of dependencies, administration priorities, estimated total administration times, and availability of a subsequent set of administration resources; and
administering the subsequent set of nodes in parallel using the subsequent set of administration resources.

### Claim 19 (depends on 18)

The apparatus of claim 18 wherein the first set of nodes are selected according to higher administration priorities first.

### Claim 20 (depends on 19)

The apparatus of claim 19 wherein administration priority ties are resolved according to longest estimated total administration time first.
