IP Library › Granted Patent US 8,209,272
Granted Patent B2
US 8,209,272 · App. 12/395,459 · Granted Jun 26, 2012

Dynamic computation of optimal placement for services in a distributed computing system

Assignee: Red Hat, 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,209,272
App. No.
12/395,459
Granted
Jun 26, 2012
Kind
B2
Abstract

Components of a distributed computing system are monitored, the components including hardware components and software components that operate on the hardware components. At least one of the software components is a service that includes a service level agreement. Performance characteristics of the components are determined based on the monitoring. The performance characteristics of the service are compared to the service level agreement to determine whether the service level agreement has been violated. At least one of the service or an additional service collocated with the service is migrated based on the performance characteristics of the components if the service level agreement has been violated.

Claims (65)

1. A computer implemented method of managing services, comprising:

monitoring components of a distributed computing system by a server, the components comprising hardware components and software components that operate on the hardware components, wherein at least one of the software components is a service that comprises a service level agreement;

determining performance characteristics of the components based on the monitoring;

comparing the performance characteristics of the service to the service level agreement to determine whether the service level agreement has been violated; and

migrating at least one of the service or an additional service collocated with the service based on the performance characteristics of the components if the service level agreement has been violated.

2. The method of claim 1 , further comprising:

determining optimal placement of the software components on the hardware components based on the performance characteristics of the components using at least one of a Bayesian network or a neural network; and

migrating at least one of the software components to achieve the determined optimal placement.

3. The method of claim 1 , further comprising:

graphically displaying the components, the performance characteristics, and dependencies between the components in a map of the distributed computing system.

4. The method of claim 1 , further comprising:

receiving a new service having a new service level agreement;

determining an optimal hardware component on which to deploy the new service based on the new service level agreement and the performance characteristics; and

deploying the new service to the optimal hardware component.

5. The method of claim 4 , further comprising:

determining deployment requirements of the new service based on the new service level agreement;

determining components that meet the deployment requirements based on the performance characteristics; and

graphically indicating on a map of the distributed computing system the components that meet the deployment requirements.

6. The method of claim 1 , further comprising:

identifying dependencies between the components of the distributed computing system; and

applying dependency ratings to the dependencies.

7. A computer readable storage medium including instructions that, when executed by a processing system, cause the processing system to perform a method of managing services, the method comprising:

monitoring components of a distributed computing system, the components comprising hardware components and software components that operate on the hardware components, wherein at least one of the software components is a service that comprises a service level agreement;

determining performance characteristics of the components based on the monitoring;

comparing the performance characteristics of the service to the service level agreement to determine whether the service level agreement has been violated; and

migrating at least one of the service or an additional service collocated with the service based on the performance characteristics of the components if the service level agreement has been violated.

8. The computer readable storage medium of claim 7 , the method further comprising:

determining optimal placement of the software components on the hardware components based on the performance characteristics of the components using at least one of a Bayesian network or a neural network; and

migrating at least one of the software components to achieve the determined optimal placement.

9. The computer readable storage medium of claim 7 , the method further comprising:

graphically displaying the components, the performance characteristics, and dependencies between the components in a map of the distributed computing system.

10. The computer readable storage medium of claim 7 , the method further comprising:

receiving a new service having a new service level agreement;

determining an optimal hardware component on which to deploy the new service based on the new service level agreement and the performance characteristics; and

deploying the new service to the optimal hardware component.

11. The computer readable storage medium of claim 10 , the method further comprising:

determining deployment requirements of the new service based on the new service level agreement;

determining components that meet the deployment requirements based on the performance characteristics; and

graphically indicating on a map of the distributed computing system the components that meet the deployment requirements.

12. The computer readable storage medium of claim 7 , the method further comprising:

identifying dependencies between the components of the distributed computing system; and

applying dependency ratings to the dependencies.

13. A computing apparatus that is a component of a distributed computing system, comprising:

a memory comprising instructions to managing services that are deployed in the distributed computing system; and

a processor, connected with the memory, to execute the instructions, wherein the instructions cause the processor to:

monitor components of the distributed computing system, the components comprising hardware components and software components that operate on the hardware components, wherein at least one of the software components is a service that comprises a service level agreement;

determine performance characteristics of the components based on the monitoring;

compare the performance characteristics of the service to the service level agreement to determine whether the service level agreement has been violated; and

migrate at least one of the service or an additional service collocated with the service based on the performance characteristics of the components if the service level agreement has been violated.

14. The computing apparatus of claim 13 , the instructions further to cause the processor to:

determine optimal placement of the software components on the hardware components based on the performance characteristics of the components using at least one of a Bayesian network or a neural network; and

migrate at least one of the software components to achieve the determined optimal placement.

15. The computing apparatus of claim 13 , further comprising:

a graphical user interface, connected with the processor, to graphically display the components, the performance characteristics, and dependencies between the components in a map of the distributed computing system.

16. The computing apparatus of claim 13 , the instructions further to cause the processor to:

receive a new service having a new service level agreement;

determine an optimal hardware component on which to deploy the new service based on the new service level agreement and the performance characteristics; and

deploy the new service to the optimal hardware component.

17. The computing apparatus of claim 16 , the instructions further to cause the processor to:

determine deployment requirements of the new service based on the new service level agreement;

determine components that meet the deployment requirements based on the performance characteristics; and

graphically indicating on a map of the distributed computing system the components that meet the deployment requirements.

18. The computing apparatus of claim 13 , the instructions further to cause the processor to:

identify dependencies between the components of the distributed computing system; and

apply dependency ratings to the dependencies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2009
From: LITTLE, MARK CAMERON, DR.
To: RED HAT, INC.
Reel/Frame 022327/0378 →
Continuity (1)
Related Publication 20100223217A1 · Sep 2, 2010