IP Library Granted Patent US 8,250,212
Granted Patent B2
US 8,250,212 · App. 12/136,256 · Granted Aug 21, 2012

Requester-side autonomic governor

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,250,212
App. No.
12/136,256
Granted
Aug 21, 2012
Kind
B2
Abstract

A requester-side autonomic governor is provided for a requester configured to send service requests to a service provider. For example, the requester and service provider may be disposed in a Service Oriented Architecture (SOA) architected system. A feedback loop, preferably a monitor portion of a Monitor, Analyze, Plan, and Execute (MAPE) loop, is configured to monitor responses to service requests. An autonomic governor mechanism limits the type and/or number of concurrent service requests according to a resource pool scheme, and dynamically adjusts a resource threshold of the resource pool scheme based on information provided by the feedback loop. In one embodiment, the resource threshold is reduced if more than a predetermined number of service requests generated time-outs, and is increased if more than a predetermined number of service requests are being held awaiting available pool resources and less than a predetermined number of service requests generated time-outs.

Claims (34)

1. An apparatus configured to send service requests to a service provider system, the apparatus comprising:

at least one processor;

a memory coupled to the at least one processor;

a feedback loop configured to monitor responses to service requests sent by the apparatus to a service provider system;

an autonomic governor mechanism residing in the memory and executed by the at least one processor, the autonomic governor mechanism limiting at least one of the type and number of concurrent service requests active at any time according to a resource pool scheme, wherein the autonomic governor mechanism dynamically adjusts a resource threshold of the resource pool scheme based on information provided by the feedback loop;

wherein the autonomic governor mechanism dynamically adjusts the resource threshold based on a timed-out status and a hold status, wherein the timed-out status occurs when a response time is more than a predetermined amount of time, the response time being a duration of time between when a given service request is sent to the service provider system by the apparatus and when a response to the given service request is received by the apparatus, and wherein the hold status occurs if a given service request is not sent to the service provider system, at least temporarily, but rather is held in the apparatus awaiting available pool resources;

wherein the autonomic governor mechanism reduces the resource threshold if the timed-out status occurs with respect to more than a predetermined number of service requests, and wherein the autonomic governor mechanism increases the resource threshold if the hold status occurs with respect to more than a predetermined number of service requests and the timed-out status occurs with respect to less than a predetermined number of service requests.

2. The apparatus as recited in claim 1 , wherein the apparatus and the service provider system are disposed in a Service Oriented Architecture (SOA) architected system.

3. The apparatus as recited in claim 1 , wherein the feedback loop and the autonomic governor mechanism together comprise a Monitor, Analyze, Plan, and Execute (MAPE) loop, wherein the feedback loop comprises a monitor portion of the MAPE loop, and wherein the autonomic governor mechanism comprises an analyze, plan and execute portion of the MAPE loop.

4. The apparatus as recited in claim 1 , further comprising:

a Generic Log Adapter (GLA) configured to receive log information from one or more logs available to the apparatus and translate the log information into a common log format.

5. The apparatus as recited in claim 1 , wherein the autonomic governor mechanism dynamically adjusts the resource threshold based on a service request characteristic parameter, wherein the service request characteristic parameter is based on at least one of complexity and size of a given service request.

6. The apparatus as recited in claim 1 , wherein the information provided by the feedback loop is used to construct a peak history of one or more measures indicative of a constrained resource, and wherein the autonomic governor mechanism dynamically adjusts the resource threshold based on the peak history.

7. An apparatus configured to send service requests to a service provider, the apparatus comprising:

at least one processor;

a memory coupled to the at least one processor;

an autonomic governor mechanism residing in the memory and executed by the at least one processor, the autonomic governor mechanism limiting at least one of the type and number of concurrent service requests active at any time according to a resource pool scheme, and dynamically adjusting a resource threshold of the resource pool scheme based on information provided by a feedback loop configured to monitor responses to service requests sent by the apparatus to the service provider;

wherein the autonomic governor mechanism dynamically adjusts the resource threshold based on a timed-out status and a hold status, wherein the timed-out status occurs when a response time is more than a predetermined amount of time, the response time being a duration of time between when a given service request is sent to the service provider by the apparatus and when a response to the given service request is received by the apparatus, and wherein the hold status occurs if a given service request is not sent to the service provider, at least temporarily, but rather is held in the apparatus awaiting available pool resources;

wherein the autonomic governor mechanism reduces the resource threshold if the timed-out status occurs with respect to more than a predetermined number of service requests, and wherein the autonomic governing mechanism increases the resource threshold if the hold status occurs with respect to more than a predetermined number of service requests and the timed-out status occurs with respect to less than a predetermined number of service requests.

8. The apparatus as recited in claim 7 , wherein the autonomic govern mechanism dynamically adjusts the resource threshold based on a combination of the response time and a service request characteristic parameter, the service request characteristic parameter being based on at least one of complexity and size of a given service request.

9. The apparatus as recited in claim 7 , wherein the autonomic governor mechanism sends a notification if the resource threshold is reduced below a minimum size.

10. The apparatus as recited in claim 7 , wherein the information provided by the feedback loop is used to construct a peak history of one or more measures indicative of a constrained resource, and wherein the autonomic governor mechanism dynamically adjusts the resource threshold based on the peak history.

11. A computer program product for implementing a requester-side autonomic governor in a digital computing device configured to send service requests to a service provider, the computer program product comprising:

a plurality of instructions provided on a signal-bearing media comprising recordable media, wherein the instructions when executed by at least one processor of the digital computing device, cause the digital computing device to perform the steps of:

limiting at least one of the type and number of concurrent service requests active at any time according to a resource pool scheme;

dynamically adjusting a resource threshold of the resource pool scheme based on information provided by a feedback loop configured to monitor responses to service requests sent by the digital computing device to the service provider;

wherein the information provided by the feedback loop comprises a timed-out status and a hold status, wherein the timed-out status occurs when a response time is more than a predetermined amount of time, the response time being a duration of time between when a given service request is sent to the service provider by the digital computing device and when a response to the given service request is received by the digital computing device, and wherein the hold status occurs if a given service request is not sent to the service provider, at least temporarily, but rather is held in the apparatus awaiting available pool resources;

wherein the step of dynamically adjusting the resource threshold based on the information provided by the feedback loop comprises the steps of:

reducing the resource threshold if the timed-out status occurs with respect to more than a predetermined number of service requests;

increasing the resource threshold if the hold status occurs with respect to more than a predetermined number of service requests and the timed-out status occurs with respect to less than a predetermined number of service requests.

12. The computer program product as recited in claim 11 , wherein the information provided by the feedback loop comprises a service request characteristic parameter, wherein the service request characteristic parameter is based on at least one of complexity and size of a given service request.

13. The computer program product as recited in claim 11 , wherein the step of dynamically adjusting the resource threshold based on the information provided by the feedback loop comprises the steps of:

providing a peak history by logging over a period of time one or more measures indicative of a constrained resource based on the information provided by the feedback loop;

dynamically adjusting the resource threshold based on the peak history.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HULU, LLC
Reel/Frame 039071/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2008
From: FELTON, MITCHELL D; MORGAN, ROBERT A; ROBERSON, KENNETH W
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021071/0790 →