IP Library Granted Patent US 8,413,159
Granted Patent B2
US 8,413,159 · App. 13/356,662 · Granted Apr 2, 2013

Classifying workload for a service

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,413,159
App. No.
13/356,662
Granted
Apr 2, 2013
Kind
B2
Abstract

In one example embodiment, a machine implemented method is provided. The method comprises sampling a plurality of values of a parameter associated with a software service by monitoring said parameter; determining a workload signature for the software service based on statistical analysis performed during a first sampling period; and classifying the workload of said software service by selecting, based on said plurality of values, a first workload classification from a plurality of predefined workload classifications, wherein the workload of the software service is reclassified to a second workload classification, based on a workload signature calculated during a second sampling period.

Claims (42)

1. A machine implemented method comprising:

sampling a plurality of values of a parameter associated with a software service by monitoring said parameter, wherein said parameter is associated with information exchanged between the software service and an interface receiving requests from the software service for allocation of one or more resources to the software service during the execution of the software service over a first sampling period;

determining a workload signature for the software service based on statistical analysis performed on the sampled plurality of values of the parameter during the first sampling period;

determining level of resources to be dynamically allocated to the software service according to changes in the sampled values over a plurality of sampling periods, wherein said determination is based on the requests for allocation of resources received by the interface, regardless of whether said requests for allocation of resources were fully satisfied to allocate the requested resources to the software service; and

classifying the workload of said software service by selecting, based on said plurality of values, a first workload classification from a plurality of predefined workload classifications,

wherein the workload of the software service is reclassified to a second workload classification, based on a workload signature calculated during a second sampling period.

2. The method of claim 1 , wherein said classifying comprises:

allocating first resources to the software service according to the first workload classification, and

allocating second resources to the software service according to the second workload classification.

3. The method of claim 2 , wherein determining a workload signature comprises:

determining a plurality of statistical values by applying a statistical function to said plurality of values; and

determining said workload signature based on at least one of said statistical values.

4. The method of claim 3 , wherein said statistical values comprise a plurality of occurrence values, each representing a number of occurrences of a value of said plurality of values, and wherein determining said workload signature comprises determining said workload signature based on a predefined number of maximal values of said plurality of occurrence values.

5. The method of claim 2 , wherein said plurality of workload classifications correspond to a plurality of predefined workload schemes, and wherein each of said plurality of workload signatures comprises one or more statistical values corresponding to one or more values of said parameter when said software service is subject to a workload scheme of said plurality of workload schemes.

6. The method of claim 1 comprising:

sampling another plurality of values of said at least one parameter; and

re-classifying the workload of said software service by re-selecting a workload classification from said plurality of predefined workload classifications based on said other plurality of values.

7. The method of claim 1 , wherein said software service is a virtual machine or an application program.

8. A computing system comprising:

one or more processors for executing a software service, wherein program code for the software service is stored on one or more data storage mediums and is loaded into memory for execution;

a monitor for sampling a plurality of values of a parameter associated with a software service by monitoring said parameter, wherein said parameter is associated with information exchanged between the software service and an interface receiving requests from the software service for allocation of one or more resources during the execution of the software service over a first sampling period; and

a workload classifier for determining a workload signature for the software service based on statistical analysis performed on the sampled plurality of values of the parameter during the first sampling period; determining level of resources to be dynamically allocated to the software service according to changes in the sampled values over a plurality of sampling periods, wherein said determination is based on the requests for allocation of resources received by the interface, regardless of whether said requests for allocation of resources were fully satisfied; and classifying the workload of said software service by selecting, based on said plurality of values, a first workload classification from a plurality of predefined workload classifications,

wherein the workload of the software service is reclassified to a second workload classification, based on a workload signature calculated during a second sampling period.

9. The computing system of claim 8 , further comprising:

a logic unit for allocating first resources to the software service according to the first workload classification, and

a logic unit for allocating second resources to the software service according to the second workload classification.

10. The computing system of claim 9 , wherein said classifier is capable of determining a plurality of statistical values by applying a statistical function to said plurality of values; and determining said workload signature based on at least one of said statistical values.

11. The computing system of claim 10 , wherein said statistical values comprise a plurality of occurrence values, each representing a number of occurrences of a value of said plurality of values, and wherein said classifier is capable of determining said workload signature based on a predefined number of maximal values of said plurality of occurrence values.

12. The computing system of claim 9 , wherein said plurality of workload classifications correspond to a plurality of predefined workload schemes, and wherein each of said plurality of workload signatures comprises one or more statistical values corresponding to one or more values of said workload-related parameter when said software service is subject to a workload scheme of said plurality of workload schemes.

13. The computing system of claim 8 , wherein said classifier is capable of re-classifying the workload of said software service by re-selecting a workload classification from said plurality of predefined workload classifications based on another plurality of sampled values of said at least one parameter.

14. The computing system of claim 8 , wherein said software service is a virtual machine or an application program.

15. A computer program product comprising a non-transitory data storage medium including a computer-readable program, wherein the computer-readable program when executed on a computer causes the computer to:

sample a plurality of values of a parameter associated with a software service by monitoring said parameter, wherein said parameter is associated with information exchanged between the software service and an interface receiving requests from the software service for allocation of one or more resources during the execution of the software service over a first sampling period;

determine a workload signature for the software service based on statistical analysis performed on the sampled plurality of values of the parameter during the first sampling period; and

determining level of resources to be dynamically allocated to the software service according to changes in the sampled values over a plurality of sampling periods, wherein said determination is based on the requests for allocation of resources received by the interface, regardless of whether said requests for allocation of resources were fully satisfied; and

classify the workload of said software service by selecting, based on said plurality of values, a first workload classification from a plurality of predefined workload classifications,

wherein the workload of the software service is reclassified to a second workload classification, based on a workload signature calculated during a second sampling period.

16. The computer program product of claim 15 , wherein first resources are allocated to the software service according to the first workload classification and second resources are allocated to the software service according to the second workload classification.

17. The computer program product of claim 16 , wherein said computer-readable program causes said computer to determine a plurality of statistical values by applying a statistical function to said plurality of values; and determine said workload signature based on at least one of said statistical values.

18. The computer-readable program of claim 17 , wherein said statistical values comprise a plurality of occurrence values, each representing a number of occurrences of a value of said plurality of values, and wherein said computer-readable program causes said computer to determine said workload signature based on a predefined number of maximal values of said plurality of occurrence values.

19. The computer-readable program of claim 16 , wherein said plurality of workload classifications correspond to a plurality of predefined workload schemes, and wherein each of said plurality of workload signatures comprises one or more statistical values corresponding to one or more values of said workload-related parameter when said software service is subject to a workload scheme of said plurality of workload schemes.

20. The computer-readable program of claim 15 , wherein said computer-readable program causes said computer to sample another plurality of values of said at least one parameter; and re-classify the workload of said software service by re-selecting a workload classification from said plurality of predefined workload classifications based on said other plurality of values.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: MAPLEBEAR INC.
Reel/Frame 055155/0943 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2012
From: BEN-YEHUDA, SHMUEL; PELLEG, DAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 027579/0942 →