# US 8,751,844 B2 · Systems and methods for attributing an amount of power consumption to a workload

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

- Number: US 8,751,844 B2
- Document ID: US8751844B2
- Status: Granted
- Kind: B2
- Application number: 12/566,019
- Filed: 2009-09-24
- Published: 2011-03-24
- Granted: 2014-06-10
- Earliest claimed: 2009-09-24
- Assignees: Citrix Systems, Inc.
- Applicants: Richard James Mazzaferri; Paul Ryman
- Inventors: Richard James Mazzaferri; Paul Ryman
- Web page: https://patentgrep.com/patent/US8751844B2

## CPC

- G06F 1/3203: Power management, i.e. event-based initiation of a power-saving mode
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for attributing a portion of a level of electrical power consumption by a server to a virtual machine executing on the server, includes determining a level of electrical power consumption of a server. The method includes identifying a level of load placed on the server by a workload executing on the server. The method includes attributing, by a power apportionment module in communication with the server, a portion of the level of electrical power consumption of the server to the workload, based on the identified level of load. The method includes providing, by the power apportionment module, to a user, an identification of the attributed portion of the level of electrical power consumption.

## Claims

### Claim 1

A method for attributing a portion of a level of electrical power consumption by a first server to a workload executing on the first server, the method comprising:
determining a level of electrical power consumption of a first server by a plurality of workloads executing on the first server;
identifying a level of load placed on the first server by a workload of the plurality of workloads executing on the first server, as a fraction of total load placed on the first server by the plurality of workloads;
attributing, by a power apportionment module, a portion of the level of electrical power consumption of the first server to the workload, based on the identified level of load;
providing, by the power apportionment module, an identification of the portion of the level of electrical power consumption attributed to the workload of the plurality of workloads; and
migrating the workload to a second server based on the identification of the attributed portion of the level of electrical power consumption.

### Claim 2 (depends on 1)

The method of claim 1 wherein identifying further comprises identifying the first level of load placed on the first server by the workload executing on the first server, wherein a workload is one of: a software application, a web application, a virtual desktop, a terminal server session, a virtual machine, a virtualized application and an operating system instance.

### Claim 3 (depends on 1)

The method of claim 1 further comprising:
determining that a second workload is executed by the workload;
identifying a second level of load placed on the workload by the second workload;
attributing, by the power apportionment module, a portion of the attributed portion of the level of electrical power consumption to the second workload; and
providing, by the power apportionment module, to a user, an identification of the portion of the attributed portion of the level of electrical power consumption.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining further comprises determining a level of electrical power consumption of the first server prior to execution of the workload.

### Claim 5 (depends on 1)

The method of claim 1, wherein determining further comprises determining a level of electrical power consumption of the first server during execution of the workload.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining further comprises determining a level of electrical power consumption of at least one physical component of the first server.

### Claim 7 (depends on 6)

The method of claim 6, wherein attributing further comprises attributing a portion of the level of electrical power consumption of the at least one physical component of the first server to the workload.

### Claim 8 (depends on 6)

The method of claim 6, wherein attributing further comprises attributing a portion of the level of electrical power consumption of the first server to the workload based on an determined level of electrical power consumption of the at least one physical component of the first server to the workload.

### Claim 9 (depends on 1)

The method of claim 1, wherein determining further comprises measuring, by at least one sensor, the level of electrical power consumption of the first server.

### Claim 10 (depends on 1)

The method of claim 1, wherein identifying further comprises identifying a level of usage of a physical component of the first server by the workload.

### Claim 11 (depends on 1)

The method of claim 1, wherein identifying further comprises identifying a level of usage by the workload of at least one of memory, processor, communications input/output bandwidth, and disk input/output bandwidth.

### Claim 12 (depends on 1)

The method of claim 1, wherein attributing further comprises attributing a portion of the level of electrical power consumption of the first server to the workload based on the determined level of electrical power consumption of the first server.

### Claim 13 (depends on 1)

The method of claim 1, wherein attributing further comprises attributing a portion of a nominal level of electrical power consumption of at least one physical component of the first server to the workload.

### Claim 14 (depends on 1)

The method of claim 1, wherein attributing further comprises attributing a portion of the level of electrical power consumption of the first server to the workload using at least one electrical power consumption contribution model.

### Claim 15 (depends on 1)

The method of claim 1, wherein attributing further comprises attributing a portion of the level of electrical power consumption of a physical component of the first server to the workload using at least one power consumption contribution model.

### Claim 16 (depends on 1)

The method of claim 1, wherein attributing further comprises attributing a portion of the level of electrical power consumption of the first server to the workload, the level of electrical power consumption including a portion of overhead electrical power consumption indirectly consumed by the workload.

### Claim 17 (depends on 1)

The method of claim 1, wherein attributing further comprises attributing a portion of the level of electrical power consumption of the first server to a consumer, the first server executing the workload on behalf of the consumer.

### Claim 18 (depends on 1)

The method of claim 1 further comprising managing levels of electrical power consumption between a plurality of servers based on the identification of the attributed portion of the level of electrical power consumption.

### Claim 19 (depends on 1)

The method of claim 1 further comprising managing levels of electrical power consumption on a plurality of workloads based on the identification of the attributed portion of the level of electrical power consumption of the workload, wherein the workload is one of the plurality of workloads.

### Claim 20 (depends on 1)

The method of claim 1 further comprising managing the levels of electrical power consumption on the plurality of workloads based on at least one of: a policy and a property of the plurality of workloads.

### Claim 21 (depends on 20)

The method of claim 20 further comprising constraining the level of electrical power consumption of the plurality of workloads.

### Claim 22 (depends on 1)

The method of claim 1 further comprising managing levels of load between a plurality of servers based on the identification of the attributed portion of the level of electrical power consumption.

### Claim 23 (depends on 1)

The method of claim 1 further comprising adjusting levels of load between a plurality of servers based on the identification of the attributed portion of the level of electrical power consumption to meet service level requirements.

### Claim 24 (depends on 1)

The method of claim 1 further comprising determining a chargeback amount for server resources consumed by the workload based on the identification of the attributed portion of the level of electrical power consumption.

### Claim 25 (depends on 1)

The method of claim 1 further comprising determining a billing amount for server resources consumed by the workload based on the identification of the attributed portion of the level of electrical power consumption.

### Claim 26 (depends on 1)

The method of claim 1, further comprising determining a carbon footprint of the workload based on the identification of the attributed portion of the level of electrical power consumption.

### Claim 27

A system for attributing a portion of a level of electrical power consumption by a first server to a workload executing on the first server comprising:
a first server executing a workload and identifying a level of load placed on the first server by the workload of the plurality of workloads, as a fraction of total load placed on the first server by the plurality of workloads; and
a power apportionment module attributing a portion of the level of electrical power consumption of the first server to the workload, based on the identified level of load, providing an identification of the portion of the level of electrical power consumption attributed to the workload of the plurality of workloads, and migrating the workload to a second server based on the identification of the attributed portion of the level of electrical power consumption.

### Claim 28 (depends on 27)

The system of claim 27, wherein a workload is one of: a software application, a web application, a virtual desktop, a terminal server session, a virtual machine, a virtualized application and an operating system instance.

### Claim 29 (depends on 27)

The system of claim 27, wherein the power apportionment module further comprises:
means for determining that a second workload is executing in the workload;
means for identifying a second level of load placed on the workload by the second workload;
means for attributing a portion of the attributed portion of the level of electrical power consumption to the second workload; and
means for providing to a user an identification of the portion of the attributed portion of the level of electrical power consumption.

### Claim 30 (depends on 27)

The system of claim 27, wherein the workload comprises a hardware partition.

### Claim 31 (depends on 27)

The system of claim 27 further comprising at least one sensor measuring a level of electrical power consumption of at least one server.

### Claim 32 (depends on 31)

The system of claim 31, wherein the at least one sensor includes a sensor for measuring a level of electrical power consumption from the first server's power supply.

### Claim 33 (depends on 31)

The system of claim 31, wherein the at least one sensor includes a sensor for measuring a level of electrical power consumption of a physical component of the first server.

### Claim 34 (depends on 27)

The system of claim 27, wherein the power apportionment module generates a report based on the identification of the attributed portion of the level of electrical power consumption.

### Claim 35 (depends on 27)

The system of claim 27 further comprising an interface generated by the power apportionment module, the interface dynamically displaying the identification of the attributed portion of the level of electrical power consumption.

### Claim 36 (depends on 27)

The system of claim 27, wherein the power apportionment module further comprises a power consumption contribution model for attributing a portion of the level of electrical power consumption of the first server to the workload.

### Claim 37 (depends on 27)

The system of claim 27, wherein the power apportionment module further comprises a power consumption contribution model for attributing a portion of the level of electrical power consumption to the workload proportional to level of usage of a physical component of the first server by the workload.

### Claim 38 (depends on 27)

The system of claim 27, wherein the power apportionment module further comprises a power consumption contribution model for attributing a portion of the level of electrical power consumption to the workload based on a level of usage of a physical component of the first server by the workload.

### Claim 39 (depends on 27)

The system of claim 27, wherein the power apportionment module further comprises a power consumption contribution model for attributing a portion of the level of electrical power consumption to the workload based on an incremental level of usage of a physical component of the first server by the workload.
