IP Library Granted Patent US 8,438,211
Granted Patent B2
US 8,438,211 · App. 13/316,220 · Granted May 7, 2013

Evaluation of current capacity levels of resources in a distributed computing system

Inventors: Sanjay Radia (Fremont, CA); Robert A. Gingell, Jr. (Sunnyvale, CA); Jerry R. Jackson (Colorado Springs, CO)
Assignee: CA, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,438,211
App. No.
13/316,220
Granted
May 7, 2013
Kind
B2
Abstract

In general, this disclosure describes techniques of managing resources in a service-oriented distributed computing system. As described in this disclosure, a control node automatically manages the system such that the system has sufficient capacity to satisfy an agreement to provide a given level of a service. In order to automatically manage the system, the control node evaluates the current capacity levels of resources in the system. The current capacity levels are indicative the capacity of resources to perform certain acts. The capacity of the resources to perform these acts may be indicative of whether the system is able to provide the given level of the service. Because capacities provided by the resources change as the resources start, the control node uses a predicted pending capacity function to evaluate whether resources that are currently starting will be sufficient to satisfy the level of the service when completely started.

Claims (74)

1. A system comprising:

a control node, comprising at least one processor, configured to:

calculate a current capacity level of a first resource to perform a first act, the first resource included in a first resource chain, the first resource chain comprising resources that collaborate to provide a first service;

wherein calculating the current capacity level of the first resource comprises adding a predicted pending capacity level indicated by a predicted pending capacity function evaluated with respect to a first time to an actual capacity level of the first resource at the first time, the predicted pending capacity function specifying a relationship between the predicted pending capacity level of the first resource and a length of time;

determine, based on the current capacity level of the first resource to perform the first act, whether to assemble a second resource chain that includes resources that collaborate to provide the first service; and

cause assembly of the second resource chain in response to determining to assemble the second resource chain.

2. The system of claim 1 , wherein the control node is configured to determine whether to assemble the second resource chain based on the current capacity level of the first resource to perform the first act by determining whether to assemble the second resource chain based on the current capacity level of the first resource to perform the first act and based on a service-level agreement.

3. The system of claim 2 , wherein the control node is further configured to:

compute an overall current capacity level of resources in a set of resource chains that perform the first act, the set of resource chains comprising the first resource chain, each resource chains of the set of resource chains comprising a resource that is capable of performing the first act;

determine whether the overall current capacity level satisfies an overall current capacity level required by the service-level agreement; and

determine to assemble the second resource chain when the overall current capacity level does not satisfy the overall current capacity level required by the service-level agreement.

4. The system of claim 1 wherein the control node is further configured to:

generate a monitored value based on data indicating a current state of one or more of the resources in the first resource chain; and

calculate the actual capacity level based on the monitored value.

5. The system of claim 1 , wherein the predicted pending capacity function is based on one or more types of functions selected from a group of types of functions consisting of: linear functions, exponential functions, step-wise functions, sinusoidal functions, logarithmic functions, and cubic functions.

6. The system of claim 1 wherein:

the predicted pending capacity function is equal to a difference between a predicted full capacity level of the first resource and a predicted actual capacity function; and

the predicted actual capacity function represents a prediction of an actual capacity level of the first resource to perform the first act after the first resource is instructed to begin performing the first act.

7. The system of claim 1 , wherein:

the predicted pending capacity function is a first predicted pending capacity function; and

the control node is further configured to:

calculate a current capacity level of a second resource to perform a second act, the second resource included in a third resource chain, the third resource chain comprising resources that collaborate to provide a second service;

wherein calculating the current capacity level of the second resource comprises adding a predicted pending capacity level indicated by a second predicted pending capacity function evaluated with respect to a second time to an actual capacity level of the second resource at the second time, the second predicted pending capacity function specifying a relationship between a predicted pending capacity level of the second resource and a length of time;

wherein the first predicted pending capacity function is different that the second predicted pending capacity function;

determine whether to assemble a fourth resource chain that includes resources that collaborate to provide the second service based on the current capacity level of the second resource to perform the second act; and

cause assembly of the fourth resource chain in response to determining to assemble the fourth resource chain.

8. A method, performed by executing logic embodied by one or more computer-readable non-transitory storage media, comprising:

calculating a current capacity level of a first resource to perform a first act, the first resource included in a first resource chain, the first resource chain comprising resources that collaborate to provide a first service;

wherein calculating the current capacity level of the first resource comprises adding a predicted pending capacity level indicated by a predicted pending capacity function evaluated with respect to a first time to an actual capacity level of the first resource at the first time, the predicted pending capacity function specifying a relationship between the predicted pending capacity level of the first resource and a length of time;

determining, based on the current capacity level of the first resource to perform the first act, whether to assemble a second resource chain that includes resources that collaborate to provide the first service; and

causing assembly of the second resource chain in response to determining to assemble the second resource chain.

9. The method of claim 8 , wherein determining whether to assemble the second resource chain based on the current capacity level of the first resource to perform the first act comprises determining whether to assemble the second resource chain based on the current capacity level of the first resource to perform the first act and based on a service-level agreement.

10. The method of claim 9 , further comprising:

computing an overall current capacity level of resources in a set of resource chains that perform the first act, the set of resource chains comprising the first resource chain, each resource chains of the set of resource chains comprising a resource that is capable of performing the first act;

determining whether the overall current capacity level satisfies an overall current capacity level required by the service-level agreement; and

determining to assemble the second resource chain when the overall current capacity level does not satisfy the overall current capacity level required by the service-level agreement.

11. The method of claim 8 , further comprising:

generating a monitored value based on data indicating a current state of one or more of the resources in the first resource chain; and

calculating the actual capacity level based on the monitored value.

12. The method of claim 8 , wherein the predicted pending capacity function is based on one or more types of functions selected from a group of types of functions consisting of: linear functions, exponential functions, step-wise functions, sinusoidal functions, logarithmic functions, and cubic functions.

13. The method of claim 8 wherein:

the predicted pending capacity function is equal to a difference between a predicted full capacity level of the first resource and a predicted actual capacity function; and

the predicted actual capacity function represents a prediction of an actual capacity level of the first resource to perform the first act after the first resource is instructed to begin performing the first act.

14. The method of claim 8 , wherein the predicted pending capacity function is a first predicted pending capacity function, further comprising:

calculating a current capacity level of a second resource to perform a second act, the second resource included in a third resource chain, the third resource chain comprising resources that collaborate to provide a second service;

wherein calculating the current capacity level of the second resource comprises adding a predicted pending capacity level indicated by a second predicted pending capacity function evaluated with respect to a second time to an actual capacity level of the second resource at the second time, the second predicted pending capacity function specifying a relationship between a predicted pending capacity level of the second resource and a length of time;

wherein the first predicted pending capacity function is different that the second predicted pending capacity function;

determining whether to assemble a fourth resource chain that includes resources that collaborate to provide the second service based on the current capacity level of the second resource to perform the second act; and

causing assembly of the fourth resource chain in response to determining to assemble the fourth resource chain.

15. One or more computer-readable non-transitory storage media comprising logic that, when executed is operable to:

calculate a current capacity level of a first resource to perform a first act, the first resource included in a first resource chain, the first resource chain comprising resources that collaborate to provide a first service;

wherein calculating the current capacity level of the first resource comprises adding a predicted pending capacity level indicated by a predicted pending capacity function evaluated with respect to a first time to an actual capacity level of the first resource at the first time, the predicted pending capacity function specifying a relationship between the predicted pending capacity level of the first resource and a length of time;

determine, based on the current capacity level of the first resource to perform the first act, whether to assemble a second resource chain that includes resources that collaborate to provide the first service; and

cause assembly of the second resource chain in response to determining to assemble the second resource chain.

16. The media of claim 15 , wherein the logic is configured to determine whether to assemble the second resource chain based on the current capacity level of the first resource to perform the first act by determining whether to assemble the second resource chain based on the current capacity level of the first resource to perform the first act and based on a service-level agreement.

17. The media of claim 16 , wherein the logic is further configured to:

compute an overall current capacity level of resources in a set of resource chains that perform the first act, the set of resource chains comprising the first resource chain, each resource chains of the set of resource chains comprising a resource that is capable of performing the first act;

determine whether the overall current capacity level satisfies an overall current capacity level required by the service-level agreement; and

determine to assemble the second resource chain when the overall current capacity level does not satisfy the overall current capacity level required by the service-level agreement.

18. The media of claim 15 wherein the logic is further configured to:

generate a monitored value based on data indicating a current state of one or more of the resources in the first resource chain; and

calculate the actual capacity level based on the monitored value.

19. The media of claim 15 , wherein the predicted pending capacity function is based on one or more types of functions selected from a group of types of functions consisting of: linear functions, exponential functions, step-wise functions, sinusoidal functions, logarithmic functions, and cubic functions.

20. The media of claim 15 wherein:

the predicted pending capacity function is equal to a difference between a predicted full capacity level of the first resource and a predicted actual capacity function; and

the predicted actual capacity function represents a prediction of an actual capacity level of the first resource to perform the first act after the first resource is instructed to begin performing the first act.

21. The media of claim 15 , wherein:

the predicted pending capacity function is a first predicted pending capacity function; and

the logic is further configured to:

calculate a current capacity level of a second resource to perform a second act, the second resource included in a third resource chain, the third resource chain comprising resources that collaborate to provide a second service;

wherein calculating the current capacity level of the second resource comprises adding a predicted pending capacity level indicated by a second predicted pending capacity function evaluated with respect to a second time to an actual capacity level of the second resource at the second time, the second predicted pending capacity function specifying a relationship between a predicted pending capacity level of the second resource and a length of time;

wherein the first predicted pending capacity function is different that the second predicted pending capacity function;

determine whether to assemble a fourth resource chain that includes resources that collaborate to provide the second service based on the current capacity level of the second resource to perform the second act; and

cause assembly of the fourth resource chain in response to determining to assemble the fourth resource chain.

Assignments (5)
MERGER Recorded Feb 8, 2013
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 029779/0874 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S CITY AND STATE INFORMATION PREVIOUSLY RECORDED ON REEL 029542 FRAME 0048. ASSIGNOR(S) HEREBY CONFIRMS THE CITY AND STATE OF THE ASSIGNEE SHOULD BE ISLANDIA, NEW YORK. Recorded Jan 8, 2013
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 029585/0682 →
MERGER Recorded Dec 28, 2012
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 029542/0048 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2011
From: RADIA, SANJAY; GINGELL, ROBERT A., JR.; JACKSON, JERRY R.
To: CASSATT CORPORATION
Reel/Frame 027376/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2011
From: CASSATT CORPORATION
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 027377/0567 →
Continuity (2)
Continuation 11970233 · Jan 7, 2008
Related Publication 20120124213A1 · May 17, 2012