# US 2011/0088034 A1 · Method and system for managing resources

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

- Number: US 2011/0088034 A1
- Document ID: US20110088034A1
- Status: Published application
- Kind: A1
- Application number: 12/876,368
- Filed: 2010-09-07
- Published: 2011-04-14
- Earliest claimed: 2009-10-09
- Assignees: International Business Machines Corporation
- Inventors: Dominique Vernier
- Web page: https://patentgrep.com/patent/US20110088034A1

## CPC

- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F 9/4843: {by program, e.g. task dispatcher, supervisor, operating system}
- G06F 9/4887: {involving deadlines, e.g. rate based, periodic}
- 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: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, computer program product, and computer system for generating a timing sequence for activating resources linked through time dependency relationships. A Direct Acyclic Graph (DAG) includes nodes and directed edges. Each node represents a unique resource and is a predefined Recovery Time Objective (RTO) node or an undefined RTO node. Each directed edge directly connects two nodes and represents a time delay between the two nodes. The nodes are topologically sorted to order the nodes in a dependency sequence of ordered nodes. A corrected RTO is computed for each ordered node after which an estimated RTO is calculated as a calculated RTO for each remaining undefined RTO node. The ordered nodes in the dependency sequence are reordered according to an ascending order of the corrected RTO of the ordered nodes to form a timing sequence for activating the unique resources represented by the multiple nodes.

## Claims

### Claim 1

A method for generating a timing sequence for activating resources linked through time dependency relationships, said method comprising:
providing a first Direct Acyclic Graph (DAG) having a simulation date and comprising multiple nodes and multiple directed edges, wherein each node of the multiple nodes represents a unique resource and is either a predefined Recovery Time Objective (RTO) node comprising a predefined RTO denoting a maximum elapsed time that the unique resource is permitted to remain in its current state or an undefined RTO node comprising a positive infinite value, wherein the multiple nodes comprise at least two predefined RTO nodes and at least zero undefined RTO nodes, wherein each directed edge of the multiple direct edges represents a time delay and directly connects two nodes of the multiple nodes in a direction from a predecessor node of the two nodes to a successor node of the two nodes, wherein a predecessor resource being the unique resource represented by the predecessor node has a time dependency on a successor resource being the unique resource represented by the successor node such that the predecessor resource requires the successor resource to be in the successor resource's target state no later than a time consisting of the simulation date incremented by the time delay;
topologically sorting the nodes of the multiple nodes to order the multiple nodes in a dependency sequence of ordered nodes, such that each node in the dependency sequence whose unique resource has a time dependency on the unique resource of at least one other node in the dependency sequence is placed in the dependency sequence before each node of the at least one other node;
in traversal of the ordered nodes in the dependency sequence, computing a corrected RTO for each ordered node in the dependency sequence as a function of (i) the predefined RTO of said each ordered node and, for each predecessor node connected to said each ordered node: (ii) the corrected RTO of said each predecessor node and (iii) the time delay represented by the edge that directly connects said each predecessor node to said each ordered node;
after said computing the corrected RTO for each ordered node, calculating an estimated RTO as a corrected RTO for each ordered node remaining as an undefined RTO node, said estimated RTO calculated as a function of: (a) the corrected RTO of each successor node of each remaining undefined RTO node and (b) the time delay represented by the edge that directly connects each remaining undefined RTO node to said each successor node; and
reordering the ordered nodes in the dependency sequence according to an ascending order of the corrected RTO of the ordered nodes to form an activation sequence of the multiple nodes defining a time ordering of activation of the unique resources represented by the multiple nodes.

### Claim 2 (depends on 1)

The method of claim 1, wherein said computing the corrected RTO for each ordered node in the dependency sequence comprises:
for each ordered node to which no predecessor node is connected, setting the corrected RTO of each said ordered node as equal to the predefined RTO of said each ordered node;
for each ordered node to which at least one predecessor node is connected:
for each predecessor node of the at least one predecessor node, computing a sum of the corrected RTO of each said predecessor node and the time delay represented by the edge that directly connects said each predecessor node to said each ordered node, which computes at least one sum such that each sum of the at least one sum corresponds to a respective predecessor node of the at least one predecessor node; and
setting the corrected RTO of said each ordered node as equal to the minimum of: the predefined RTO of said each ordered node and a minimum sum of the at least one sum.

### Claim 3 (depends on 1)

The method of claim 1, wherein said at least zero undefined RTO nodes consists of said zero undefined RTO nodes.

### Claim 4 (depends on 1)

The method of claim 1, wherein said at least zero undefined RTO nodes comprises at least one remaining undefined RTO node.

### Claim 5 (depends on 4)

The method of claim 4, wherein said calculating the estimated RTO of said each remaining undefined RTO node comprises:
for each successor node of at least one successor node of said each remaining undefined RTO node, calculating a difference between the corrected RTO of each said successor node and the time delay represented by the edge that directly connects said each remaining undefined RTO node to said each successor node, which calculates at least one difference such that each difference of the at least one difference corresponds to a respective successor node of the at least one successor node; and
setting the estimated RTO of said each remaining undefined RTO node as equal to a maximum difference of the at least one difference.

### Claim 6 (depends on 1)

The method of claim 1, wherein the method further comprises representing the topologically sorted nodes as a second DAG depicting the dependency sequence of ordered nodes and comprising directed paths identifying each two nodes connected by a directed edge in the first DAG.

### Claim 7 (depends on 1)

The method of claim 1, wherein the method further comprises representing the activation sequence graphically as a second DAG depicting the multiple nodes in the activation sequence.

### Claim 8 (depends on 1)

The method of claim 1, wherein the at least two predefined RTO nodes consists of at least three predefined RTO nodes.

### Claim 9

A computer program product, comprising a physically tangible computer readable storage medium having a computer readable program code stored therein, said program code configured to be executed by a processor of a computer system to implement a method for generating a timing sequence for activating resources linked through time dependency relationships, said method comprising:
providing a first Direct Acyclic Graph (DAG) having a simulation date and comprising multiple nodes and multiple directed edges, wherein each node of the multiple nodes represents a unique resource and is either a predefined Recovery Time Objective (RTO) node comprising a predefined RTO denoting a maximum elapsed time that the unique resource is permitted to remain in its current state or an undefined RTO node comprising a positive infinite value, wherein the multiple nodes comprise at least two predefined RTO nodes and at least zero undefined RTO nodes, wherein each directed edge of the multiple direct edges represents a time delay and directly connects two nodes of the multiple nodes in a direction from a predecessor node of the two nodes to a successor node of the two nodes, wherein a predecessor resource being the unique resource represented by the predecessor node has a time dependency on a successor resource being the unique resource represented by the successor node such that the predecessor resource requires the successor resource to be in the successor resource's target state no later than a time consisting of the simulation date incremented by the time delay;
topologically sorting the nodes of the multiple nodes to order the multiple nodes in a dependency sequence of ordered nodes, such that each node in the dependency sequence whose unique resource has a time dependency on the unique resource of at least one other node in the dependency sequence is placed in the dependency sequence before each node of the at least one other node;
in traversal of the ordered nodes in the dependency sequence, computing a corrected RTO for each ordered node in the dependency sequence as a function of (i) the predefined RTO of said each ordered node and, for each predecessor node connected to said each ordered node: (ii) the corrected RTO of said each predecessor node and (iii) the time delay represented by the edge that directly connects said each predecessor node to said each ordered node;
after said computing the corrected RTO for each ordered node, calculating an estimated RTO as a corrected RTO for each ordered node remaining as an undefined RTO node, said estimated RTO calculated as a function of: (a) the corrected RTO of each successor node of each remaining undefined RTO node and (b) the time delay represented by the edge that directly connects each remaining undefined RTO node to said each successor node; and
reordering the ordered nodes in the dependency sequence according to an ascending order of the corrected RTO of the ordered nodes to form an activation sequence of the multiple nodes defining a time ordering of activation of the unique resources represented by the multiple nodes.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein said computing the corrected RTO for each ordered node in the dependency sequence comprises:
for each ordered node to which no predecessor node is connected, setting the corrected RTO of each said ordered node as equal to the predefined RTO of said each ordered node;
for each ordered node to which at least one predecessor node is connected:
for each predecessor node of the at least one predecessor node, computing a sum of the corrected RTO of each said predecessor node and the time delay represented by the edge that directly connects said each predecessor node to said each ordered node, which computes at least one sum such that each sum of the at least one sum corresponds to a respective predecessor node of the at least one predecessor node; and
setting the corrected RTO of said each ordered node as equal to the minimum of: the predefined RTO of said each ordered node and a minimum sum of the at least one sum.

### Claim 11 (depends on 9)

The computer program product of claim 9, wherein said at least zero undefined RTO nodes consists of said zero undefined RTO nodes.

### Claim 12 (depends on 9)

The computer program product of claim 9, wherein said at least zero undefined RTO nodes comprises at least one remaining undefined RTO node.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein said calculating the estimated RTO of said each remaining undefined RTO node comprises:
for each successor node of at least one successor node of said each remaining undefined RTO node, calculating a difference between the corrected RTO of each said successor node and the time delay represented by the edge that directly connects said each remaining undefined RTO node to said each successor node, which calculates at least one difference such that each difference of the at least one difference corresponds to a respective successor node of the at least one successor node; and
setting the estimated RTO of said each remaining undefined RTO node as equal to a maximum difference of the at least one difference.

### Claim 14 (depends on 9)

The computer program product of claim 9, wherein the at least two predefined RTO nodes consists of at least three predefined RTO nodes.

### Claim 15

A computer system comprising a processor and a computer readable memory unit coupled to the processor, said memory unit containing program code configured to be executed by the processor to implement a method for generating a timing sequence for activating resources linked through time dependency relationships, said method comprising:
providing a first Direct Acyclic Graph (DAG) having a simulation date and comprising multiple nodes and multiple directed edges, wherein each node of the multiple nodes represents a unique resource and is either a predefined Recovery Time Objective (RTO) node comprising a predefined RTO denoting a maximum elapsed time that the unique resource is permitted to remain in its current state or an undefined RTO node comprising a positive infinite value, wherein the multiple nodes comprise at least two predefined RTO nodes and at least zero undefined RTO nodes, wherein each directed edge of the multiple direct edges represents a time delay and directly connects two nodes of the multiple nodes in a direction from a predecessor node of the two nodes to a successor node of the two nodes, wherein a predecessor resource being the unique resource represented by the predecessor node has a time dependency on a successor resource being the unique resource represented by the successor node such that the predecessor resource requires the successor resource to be in the successor resource's target state no later than a time consisting of the simulation date incremented by the time delay;
topologically sorting the nodes of the multiple nodes to order the multiple nodes in a dependency sequence of ordered nodes, such that each node in the dependency sequence whose unique resource has a time dependency on the unique resource of at least one other node in the dependency sequence is placed in the dependency sequence before each node of the at least one other node;
in traversal of the ordered nodes in the dependency sequence, computing a corrected RTO for each ordered node in the dependency sequence as a function of (i) the predefined RTO of said each ordered node and, for each predecessor node connected to said each ordered node: (ii) the corrected RTO of said each predecessor node and (iii) the time delay represented by the edge that directly connects said each predecessor node to said each ordered node;
after said computing the corrected RTO for each ordered node, calculating an estimated RTO as a corrected RTO for each ordered node remaining as an undefined RTO node, said estimated RTO calculated as a function of: (a) the corrected RTO of each successor node of each remaining undefined RTO node and (b) the time delay represented by the edge that directly connects each remaining undefined RTO node to said each successor node; and
reordering the ordered nodes in the dependency sequence according to an ascending order of the corrected RTO of the ordered nodes to form an activation sequence of the multiple nodes defining a time ordering of activation of the unique resources represented by the multiple nodes.

### Claim 16 (depends on 15)

The computer system of claim 15, wherein said computing the corrected RTO for each ordered node in the dependency sequence comprises:
for each ordered node to which no predecessor node is connected, setting the corrected RTO of each said ordered node as equal to the predefined RTO of said each ordered node;
for each ordered node to which at least one predecessor node is connected:
for each predecessor node of the at least one predecessor node, computing a sum of the corrected RTO of each said predecessor node and the time delay represented by the edge that directly connects said each predecessor node to said each ordered node, which computes at least one sum such that each sum of the at least one sum corresponds to a respective predecessor node of the at least one predecessor node; and
setting the corrected RTO of said each ordered node as equal to the minimum of: the predefined RTO of said each ordered node and a minimum sum of the at least one sum.

### Claim 17 (depends on 15)

The computer system of claim 15, wherein said at least zero undefined RTO nodes consists of said zero undefined RTO nodes.

### Claim 18 (depends on 15)

The computer system of claim 15, wherein said at least zero undefined RTO nodes comprises at least one remaining undefined RTO node.

### Claim 19 (depends on 18)

The computer system of claim 18, wherein said calculating the estimated RTO of said each remaining undefined RTO node comprises:
for each successor node of at least one successor node of said each remaining undefined RTO node, calculating a difference between the corrected RTO of each said successor node and the time delay represented by the edge that directly connects said each remaining undefined RTO node to said each successor node, which calculates at least one difference such that each difference of the at least one difference corresponds to a respective successor node of the at least one successor node; and
setting the estimated RTO of said each remaining undefined RTO node as equal to a maximum difference of the at least one difference.

### Claim 20 (depends on 15)

The computer system of claim 15, wherein the at least two predefined RTO nodes consists of at least three predefined RTO nodes.
