IP Library › Granted Patent US 10,171,371
Granted Patent B2
US 10,171,371 · App. 14/871,443 · Granted Jan 1, 2019

Scalable metering for cloud service management based on cost-awareness

Inventors: Ali Anwar (Blaksburg, VA); Salman A. Baset (New York, NY); Andrzej P. Kochut (Croton-on-Hudson, NY); Hui Lei (Scarsdale, NY); Anca Sailer (Scarsdale, NY); Alla Segal (Mount Kisco, NY)
Assignee: International Business Machines Corporation
H04L47/70H04L41/0893H04L47/27H04L67/10H04L67/1029H04L67/1095H04L67/1097H04L67/22H04L41/5019H04L43/0817H04L43/16
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 10,171,371
App. No.
14/871,443
Granted
Jan 1, 2019
Kind
B2
Abstract

Systems and methods are provided to support service management in cloud computing networks. For example, a method for managing a computing platform includes provisioning a plurality of virtual machines across a plurality of computing nodes of a computing platform, wherein the provisioned virtual machines are configured to execute service workloads to provide one or more services to customers, and utilizing one or more of the provisioned virtual machines which execute the service workloads to further perform service management operations for managing the computing platform. The service management operations for managing the computing platform include, e.g., mediation and rating operations for revenue management of the computing platform.

Claims (58)

1. A method for managing a computing platform, comprising:

provisioning a plurality of virtual machines across a plurality of computing nodes of a computing platform;

executing service workloads using the provisioned virtual machines to provide one or more services to clients;

dynamically configuring one or more of the provisioned virtual machines on a given computing node of the plurality of computing nodes to serve as a centralized agent that is configured to collect management data from each of the plurality of computing nodes of the computing platform to support a telemetry service of the computing platform;

wherein the management data collected by the centralized agent comprises resource usage data of resources utilized by the provisioned virtual machines executing the service workloads across the plurality of computing nodes;

providing, by the centralized agent, the collected management data to a service management system of the computing platform; and

utilizing, by the service management system, the management data provided by the centralized agent to perform service management operations for managing the computing platform;

wherein the provisioning, dynamically configuring, providing, and utilizing steps are implemented at least in part by one or more processors executing program code.

2. The method of claim 1 , wherein the service management operations for managing the computing platform comprise mediation and rating operations for revenue management of the computing platform.

3. The method of claim 1 , wherein utilizing the management data to perform service management operations for managing the computing platform, comprises:

utilizing the management data to generate resource profiles of the provisioned virtual machines, wherein the resource profile of a given provisioned virtual machine indicates a current resource utilization of the given provisioned virtual machine; and

dynamically balancing the workload of the provisioned virtual machines so that the resource utilization by each of the provisioned virtual machines does not exceed a predetermined resource utilization threshold.

4. The method of claim 3 , wherein utilizing the management data to generate resource profiles of the provisioned virtual machines comprises:

applying a sliding window over a previous number (n) of data samples of resource usage of a given provisioned virtual machine to compute a moving average; and

using the computed moving average as an estimate of the current resource utilization of the given provisioned virtual machine.

5. The method of claim 3 , wherein dynamically balancing the workload of the provisioned virtual machines comprises provisioning at least one additional virtual machine in at least one computing node to handle an extra workload, if no currently provisioned virtual machine is capable of handing the extra workload.

6. The method of claim 1 , further comprising:

receiving, by the computing platform, a new provisioning request; and

determining an expected change in an amount of management data to be collected based on requested resources associated with the new provisioning request; and

scaling a data store system based on the determined expected change in the amount of management data.

7. The method of claim 6 , further comprising performing an offline analysis to predict a set of resources that would be needed to service the new provisioning request, wherein the offline analysis is performed using (i) the determined expected change in the amount of management data and (ii) resource profiles of the provisioned virtual machines, wherein a resource profile of given provisioned virtual machine indicates a current resource utilization of the given provisioned virtual machine.

8. The method of claim 7 , wherein the predicted set of resources include resources that would be needed for the provisioned virtual machines to perform service workloads associated with the new provisioning request.

9. The method of claim 7 , wherein the predicted set of resources include resources that would be needed for the provisioned virtual machines which serve as the centralized agent to perform workloads associated with collecting the management data.

10. A computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method for managing a computing platform, the method comprising:

provisioning a plurality of virtual machines across a plurality of computing nodes of a computing platform;

executing service workloads using the provisioned virtual machines to provide one or more services to clients;

dynamically configuring one or more of the provisioned virtual machines on a given computing node of the plurality of computing nodes to serve as a centralized agent that is configured to collect management data from each of the plurality of computing nodes of the computing platform to support a telemetry service of the computing platform;

wherein the management data collected by the centralized agent comprises resource usage data of resources utilized by the provisioned virtual machines executing the service workloads across the plurality of computing nodes;

providing, by the centralized agent, the collected management data to a service management system of the computing platform; and

utilizing, by the service management system, the management data provided by the centralized agent to perform service management operations for managing the computing platform.

11. The computer program product of claim 10 , wherein the service management operations for managing the computing platform comprise mediation and rating operations for revenue management of the computing platform.

12. The computer program product of claim 10 , wherein the executable program instructions for utilizing the management data to perform service management operations for managing the computing platform, comprise executable program instructions for:

utilizing the management data to generate resource profiles of the provisioned virtual machines, wherein the resource profile of a given provisioned virtual machine indicates a current resource utilization of the given provisioned virtual machine; and

dynamically balancing the workload associated with the service management operations of the provisioned virtual machines so that the resource utilization by each of the provisioned virtual machines does not exceed a predetermined resource utilization threshold.

13. The computer program product of claim 10 , further comprising executable program instructions for:

receiving, by the computing platform, a new provisioning request; and

determining an expected change in an amount of management data to be collected based on requested resources associated with the new provisioning request; and

scaling a data store system based on the determined expected change in the amount of management data.

14. The computer program product of claim 13 , further comprising executable program instruction for performing an offline analysis to predict a set of resources that would be needed to service the new provisioning request, wherein the offline analysis is performed using (i) the determined expected change in the amount of management data and (ii) resource profiles of the provisioned virtual machines, wherein a resource profile of given provisioned virtual machine indicates a current resource utilization of the given provisioned virtual machine.

15. A computing system, comprising:

a plurality of computing nodes, each comprising a plurality of computing resources including memory and processors,

wherein a plurality of virtual machines are provisioned across the plurality of computing nodes, wherein the provisioned virtual machines are configured to execute service workloads to provide one or more services to customers; and

wherein one or more of the provisioned virtual machines on a given computing node of the plurality of computing nodes are dynamically configured to serve as a centralized agent that collects management data from each of the plurality of computing nodes of the computing platform to support a telemetry service of the computing platform;

wherein the management data collected by the centralized agent comprises resource usage data of resources utilized by the provisioned virtual machines executing the service workloads across the plurality of computing nodes;

wherein the centralized agent provides the collected management data to a service management system of the computing system; and

wherein the management data is utilized by the service management system of the computing system to perform service management operations for managing the computing system.

16. The system of claim 15 , wherein the service management operations for managing the computing platform comprise mediation and rating operations for revenue management of the computing platform.

17. The system of claim 15 , wherein the service management system comprises:

a resource monitoring and metering system that is configured to receive and process the management data collected by the centralized agent

a resource profiling system configured to utilize the management data to generate resource profiles of the provisioned virtual machines, wherein the resource profile of a given provisioned virtual machine indicates a current resource utilization of the given provisioned virtual machine; and

a load balancing system configured to dynamically balance the workload associated with the service management operations of the provisioned virtual machines so that the resource utilization by each of the provisioned virtual machines does not exceed a predetermined resource utilization threshold.

18. The system of claim 15 , wherein the service management system comprises:

a management data size estimation system configured to receive a new provisioning request, and determine an expected change in an amount of management data to be collected based on requested resources associated with the new provisioning request; and

a scalable data store system configured to scale a data store based on the determined expected change in the amount of management data.

19. The computer program product of claim 12 , wherein the executable program instructions for utilizing the management data to generate resource profiles of the provisioned virtual machines comprise executable program instructions for:

applying a sliding window over a previous number (n) of data samples of resource usage of a given provisioned virtual machine to compute a moving average; and

using the computed moving average as an estimate of the current resource utilization of the given provisioned virtual machine.

20. The system of claim 17 , wherein the resource profiling system is configured to utilize the management data to generate resource profiles of the provisioned virtual machines by applying a sliding window over a previous number (n) of data samples of resource usage of a given provisioned virtual machine to compute a moving average, and using the computed moving average as an estimate of the current resource utilization of the given provisioned virtual machine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2018
From: ANWAR, ALI; BASET, SALMAN A.; KOCHUT, ANDRZEJ P.; LEI, HUI; SAILER, ANCA; SEGAL, ALLA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047551/0517 →
Continuity (2)
Provisional Application 62057686 · Sep 30, 2014
Related Publication 20160094410A1 · Mar 31, 2016
Cited By (1)
US 12,494,969