# US 8,788,864 B2 · Coordinated approach between middleware application and sub-systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,864 B2
- Document ID: US8788864B2
- Status: Granted
- Kind: B2
- Application number: 13/271,490
- Filed: 2011-10-12
- Published: 2012-04-19
- Granted: 2014-07-22
- Earliest claimed: 2010-10-14
- Assignees: International Business Machines Corporation
- Applicants: Sunil J. Kamath; Bernhard K. Schiefer; Linton B. Ward, Jr.
- Inventors: Sunil J. Kamath; Bernhard K. Schiefer; Linton B. Ward, Jr.
- Web page: https://patentgrep.com/patent/US8788864B2

## CPC

- G06F 1/3203: Power management, i.e. event-based initiation of a power-saving mode
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A method of managing power in a computing system is provided. The method comprises: assessing incoming work; assessing service level agreements related to the incoming work; and coordinating with an operating system layer to control hardware of the computing system based on the service level agreements and a power consumption goal.

## Claims

### Claim 1

A method of managing power in a computing system, comprising:
performing by a processor:
assessing incoming work;
assessing service level agreements related to the incoming work;
coordinating with an operating system layer to control hardware of the computing system based on the service level agreements and a power consumption goal; and
performing at least one of reducing a selected number of background tasks and stopping all background tasks based on the power consumption goal.

### Claim 2 (depends on 1)

The method of claim 1 wherein the assessing incoming work further comprises prioritizing the incoming work as at least one of high priority, medium priority, and low priority.

### Claim 3 (depends on 2)

The method of claim 2 wherein the assessing the incoming work is performed on a task by task basis.

### Claim 4 (depends on 1)

The method of claim 1 further comprising selectively determining an energy management mode based on at least one of a current power consumption, a power consumption goal, a reduction request, and a time window.

### Claim 5 (depends on 4)

The method of claim 4 wherein the coordinating with an operating system layer is performed based on the energy management mode.

### Claim 6 (depends on 1)

The method of claim 1 further comprising reducing a degree of concurrency to process application jobs based on the power consumption goal.

### Claim 7

A system for managing power in a computing system, comprising:
a mode manager that determines an energy management mode based on a power consumption and service level agreements related to incoming work; and
a thread manager that coordinates with an operating system layer to control hardware of the computing system based on the energy management mode and that performs at least one of reducing a selected number of background tasks and stopping all background tasks based on the energy management mode.

### Claim 8 (depends on 7)

The system of claim 7 wherein the thread manager assesses incoming work and prioritizes the incoming work as at least one of high priority, medium priority, and low priority.

### Claim 9 (depends on 8)

The system of claim 8 wherein the thread manager assesses the incoming work on a task by task basis.

### Claim 10 (depends on 7)

The system of claim 7 wherein the mode manager selectively determines the energy management mode further based on at least one a power consumption goal, a reduction request, and a time window.

### Claim 11 (depends on 7)

The system of claim 7 further comprising a workload estimator that estimates resource usage based on the incoming work, and wherein the thread manager coordinates with an operating system layer to control hardware of the computing system based on the resource usage.

### Claim 12 (depends on 7)

The system of claim 7 wherein the thread manager coordinates with the operating system layer based on at least one of prioritizing threads and generating directives.

### Claim 13

A system for managing power in a computing system, comprising:
a middleware layer that assesses incoming work and service level agreements related to the incoming work, and that generates at least one of directives and worker threads based on the assessing, wherein the directives comprise at least one of reducing a selected number of background tasks and stopping all background tasks based on a power consumption goal; and
an operating system layer that controls hardware of the computing system based on at least one of the directives and the worker threads.

### Claim 14 (depends on 13)

The system of claim 13 wherein the middleware layer assesses the incoming work by prioritizing the incoming work as at least one of high priority, medium priority, and low priority.

### Claim 15 (depends on 13)

The system of claim 13 wherein the middleware layer assesses the incoming work on a task by task basis.

### Claim 16 (depends on 13)

The system of claim 13 wherein the middleware layer selectively determines an energy management mode based on at least one of a current power consumption, a power consumption goal, a reduction request, and a time window.

### Claim 17 (depends on 16)

The system of claim 16 wherein the middleware layer generates the at least one of directives and worker threads based on the energy management mode.

### Claim 18

A computer program product for managing power in a computing system, the computer program product comprising:
a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
assessing incoming work;
assessing service level agreements related to the incoming work;
coordinating with an operating system layer to control hardware of the computing system based on the service level agreements and a power consumption goal; and
performing at least one of reducing a selected number of background tasks and stopping all background tasks based on the power consumption goal.

### Claim 19 (depends on 18)

The computer program product of claim 18 wherein the assessing incoming work further comprises prioritizing the incoming work as at least one of high priority, medium priority, and low priority.

### Claim 20 (depends on 19)

The computer program product of claim 19 wherein the assessing the incoming work is performed on a task by task basis.

### Claim 21 (depends on 18)

The computer program product of claim 18 further comprising selectively determining an energy management mode based on at least one of a current power consumption, a power consumption goal, a reduction request, and a time window.

### Claim 22 (depends on 21)

The computer program product of claim 21 wherein the coordinating with an operating system layer is performed based on the energy management mode.

### Claim 23 (depends on 18)

The computer program product of claim 18 further comprising reducing a degree of concurrency to process application jobs based on the power consumption goal.

### Claim 24

A method of managing power in a computing system, comprising:
performing by a processor:
assessing incoming work;
assessing service level agreements related to the incoming work;
coordinating with an operating system layer to control hardware of the computing system based on the service level agreements and a power consumption goal; and
selectively tagging threads such that they are performed on specific hardware based on the power consumption goal.

### Claim 25

A method of managing power in a computing system, comprising:
performing by a processor:
assessing incoming work;
assessing service level agreements related to the incoming work;
coordinating with an operating system layer to control hardware of the computing system based on the service level agreements and a power consumption goal; and
reducing a number of threads by multiplexing jobs using fewer middleware threads based on the power consumption goal.

### Claim 26

A system for managing power in a computing system, comprising:
a mode manager that determines an energy management mode based on a power consumption and service level agreements related to incoming work;
a thread manager that coordinates with an operating system layer to control hardware of the computing system based on the energy management mode and that selectively tags threads such that they are performed on specific hardware based on the energy management mode.

### Claim 27

A system for managing power in a computing system, comprising:
a mode manager that determines an energy management mode based on a power consumption and service level agreements related to incoming work;
a thread manager that coordinates with an operating system layer to control hardware of the computing system based on the energy management mode and that reduces a number of threads by multiplexing jobs using fewer middleware threads based on the energy management mode.

### Claim 28

A system for managing power in a computing system, comprising:
a middleware layer that assesses incoming work and service level agreements related to the incoming work, and that generates at least one of directives and worker threads based on the assessing, wherein the directives comprise selectively tagging threads such that they are performed on specific hardware based on a power consumption goal; and
an operating system layer that controls hardware of the computing system based on at least one of the directives and the worker threads.

### Claim 29

A system for managing power in a computing system, comprising:
a middleware layer that assesses incoming work and service level agreements related to the incoming work, and that generates at least one of directives and worker threads based on the assessing, wherein the directives comprise reducing a number of threads by multiplexing jobs using fewer middleware threads based on a power consumption goal; and
an operating system layer that controls hardware of the computing system based on at least one of the directives and the worker threads.

### Claim 30

A computer program product for managing power in a computing system, the computer program product comprising:
a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
assessing incoming work;
assessing service level agreements related to the incoming work;
coordinating with an operating system layer to control hardware of the computing system based on the service level agreements and a power consumption goal; and
selectively tagging threads such that they are performed on specific hardware based on the power consumption goal.

### Claim 31

A computer program product for managing power in a computing system, the computer program product comprising:
a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:
assessing incoming work;
assessing service level agreements related to the incoming work;
coordinating with an operating system layer to control hardware of the computing system based on the service level agreements and a power consumption goal; and
reducing a number of threads by multiplexing jobs using fewer middleware threads based on the power consumption goal.
