Method and system for exploiting service level objectives to enable resource sharing in a communication network having a plurality of application environments
First Claim
1. A method of resource allocation comprising:
- a) calculating a plurality of demand values for a plurality of components, wherein said plurality of demand values is calculated from a combination of throughput and utilization metrics, wherein said components are communicatively coupled in series, wherein processing of a request from a user received at a first component of said plurality of components proceeds forward through said components to a last component in said series and then backward through said components to said first component and then to said user, wherein a performance of service is suspended at each of said components after said processing of a request by said each of said components, and wherein said metrics are measurable at points between said components;
b) predicting a plurality of response time metrics for said plurality of components based on said plurality of demand values;
c) modeling said plurality of components based on an objective function that responds to conditions as represented by said plurality of response time metrics when at least one of said plurality of response time metrics does not satisfy at least one of a plurality of service level objectives to determine a new effective distribution of computational resources throughout said plurality of components such that said plurality of components that are modeled satisfies said plurality of service level objectives; and
d) allocating computational resources throughout said plurality of components to reflect said new effective distribution.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for resource sharing in a communication network supporting a plurality of application environments. Specifically, one embodiment of the present invention discloses a method ensuring only sufficient computational resources are used by a multi-component system as needed to meet system, subsystem, and/or component-level service level objectives. Demand values are calculated for a plurality of components in an application environment. The demand values are calculated from throughput and utilization metrics collected at each of the plurality of components. Response time metrics are predicted from the demand values. The application environment is modeled in response to the response time metrics to determine the optimum number of computational resources needed for each of the components in satisfying a functional objective. A dynamic resource manager communicates with a plurality of component managers, one for each of the plurality of components, to allocate computational resources throughout the application environment.
52 Citations
30 Claims
-
1. A method of resource allocation comprising:
-
a) calculating a plurality of demand values for a plurality of components, wherein said plurality of demand values is calculated from a combination of throughput and utilization metrics, wherein said components are communicatively coupled in series, wherein processing of a request from a user received at a first component of said plurality of components proceeds forward through said components to a last component in said series and then backward through said components to said first component and then to said user, wherein a performance of service is suspended at each of said components after said processing of a request by said each of said components, and wherein said metrics are measurable at points between said components; b) predicting a plurality of response time metrics for said plurality of components based on said plurality of demand values; c) modeling said plurality of components based on an objective function that responds to conditions as represented by said plurality of response time metrics when at least one of said plurality of response time metrics does not satisfy at least one of a plurality of service level objectives to determine a new effective distribution of computational resources throughout said plurality of components such that said plurality of components that are modeled satisfies said plurality of service level objectives; and d) allocating computational resources throughout said plurality of components to reflect said new effective distribution. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of resource allocation in an application environment comprising:
-
a) receiving a plurality of metric values from a plurality of components of said application environment, wherein said components are communicatively coupled in series, wherein processing of a request from a user received at a first component of said plurality of components proceeds forward through said components to a last component in said series and then backward through said components to said first component and then to said user, wherein a performance of service is suspended at each of said components after said processing of a request by said each of said components, and wherein said metric values are measurable at points between said components; b) calculating a plurality of demand values from said plurality of metric values; c) predicting a plurality of response time metrics for each of said plurality of components based on said plurality of demand values; d) modeling said plurality of components based on an objective function that responds to conditions as represented by said plurality of response time metrics when at least one of said plurality of response time metrics does not satisfy at least one of a plurality of service level objectives applying to said plurality of components on a system level to determine a new effective distribution of computational resources for said plurality of components such that response time metrics associated with said plurality of components that are modeled satisfies said plurality of service level objective, wherein said new effective distributions results in an optimum number of said plurality of components; and e) allocating computational resources throughout said plurality of components to reflect said optimum number. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer system comprising:
-
a processor; a computer readable memory coupled to said processor and containing program instructions that, when executed, implement a method of resource allocation comprising; a) calculating a plurality of demand values for a plurality of components, wherein said plurality of demand values is calculated from a combination of throughput and utilization metrics, wherein said components are communicatively coupled in series, wherein processing of a request from a user received at a first component of said plurality of components proceeds forward through said components to a last component in said series and then backward through said components to said first component and then to said user, wherein a performance of service is suspended at each of said components after said processing of a request by said each of said components, and wherein said metrics are measurable at points between said components; b) predicting a plurality of response time metrics for said plurality of components based on said plurality of demand values; c) modeling said plurality of components based on an objective function that responds to conditions as represented by said plurality of response time metrics when at least one of said plurality of response time metrics does not satisfy at least one of a plurality of service level objectives to determine a new effective distribution of computational resources throughout said plurality of components such that said plurality of components that are modeled satisfies said plurality of service level objectives; and d) allocating computational resources throughout said plurality of components to reflect said new effective distribution. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A communication network comprising:
-
a plurality of computational resources; an application environment having a plurality of network nodes coupled together; a plurality of components in said application environment servicing an application, each of said plurality of components including at least one computational resource from said plurality of computational resources, each of said plurality of components residing on one of said plurality of network nodes, wherein said components are communicatively coupled in series, wherein processing of a request from a user received at a first component of said plurality of components proceeds forward through said components to a last component in said series and then backward through said components to said first component and then to said user, wherein a performance of service is suspended at each of said components after said processing of a request by said each of said components; a plurality of metrics measured at each of said plurality of components for calculating a plurality of demand values, wherein said metrics are measurable at points between said components, wherein said plurality of demand values is calculated from a combination of throughput and utilization metrics; a functional objective for defining an optimum number of computational resources in said application environment; and a dynamic resource manager coupled to said application environment for modeling said plurality of components based on said functional objective that responds to conditions as represented by said plurality of demand values when at least one of said plurality of demand values does not satisfy at least one of a plurality of service level objectives to determine a new effective distribution of computational resources throughout each of said plurality of components such that said plurality of components that are modeled satisfies said plurality of service level objectives. - View Dependent Claims (27, 28, 29, 30)
-
Specification