# US 9,519,522 B1 · Use of power data in the selection of resources for performance of processes

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

- Number: US 9,519,522 B1
- Document ID: US9519522B1
- Status: Granted
- Kind: B1
- Application number: 14/041,608
- Filed: 2013-09-30
- Granted: 2016-12-13
- Earliest claimed: 2013-09-30
- Assignees: Veritas Technologies LLC
- Applicants: Symantec Corporation
- Inventors: Dhanashri Phadke
- Web page: https://patentgrep.com/patent/US9519522B1

## CPC

- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 1/3246: by software initiated power-off
- G06F 3/0625: {Power saving in storage systems}
- G06F 3/0631: {by allocating resources to storage systems}
- G06F 3/065: {Replication mechanisms}
- G06F 3/067: {Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]}
- G06F 9/4893: {taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- G06F 9/5094: {where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- G06F 1/329: by task scheduling
- 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

Various systems and methods for selecting resources (such as of a distributed storage system) for performing file operations (such as backup operations) based on power-usage characteristics of these resources. For example, one method involves receiving an input, where the input identifies a process to be performed. The method also involves accessing power data, where the power data indicates power usage for the process as performed using one or more resources of a plurality of resources. The method also involves selecting, using one or more processors, a selected resource from the resources based, at least in part, on the power data.

## Claims

### Claim 1

A method, implemented in a computer system, comprising:
receiving an input at the computer system, wherein
the input is received using one or more processors of the computer system,
the input identifies
a process of a plurality of processes, wherein
each process of the plurality of processes is configured to perform a corresponding operation of a plurality of operations, and
one or more characteristics,
the one or more characteristics comprise at least one of
a characteristic of the process, or
a desired characteristic of a performance of the process,
each of the plurality of processes is configured to be performed using at least one resource of a plurality of resources coupled to the computer system, and
the plurality of resources comprise
a software resource, wherein
the software resource comprises an application configured to be used in performing the process and to be selected using, at least in part, the one or more characteristics, and
a hardware resource, wherein
the hardware resource comprises at least one of
a computing device configured to execute the application, or
one or more storage devices associated with the computing device;
accessing one or more databases stored in a non-transitory computer-readable storage medium coupled to the one or more processors, wherein
the accessing is performed by the one or more processors,
the one or more databases comprise information,
the information comprises
power data, wherein
the power data is received from one or more resources of the plurality of resources,
the power data represents power usage by the one or more resources of the plurality of resources resulting from performance of the process using the one or more resources of the plurality of resources;
selecting a selected resource from the plurality of resources, wherein
the selecting is based on at least the information, and
the selecting is performed using the one or more processors; and
causing the selected resource to perform the process.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
performing the process using the selected resource, wherein
the information comprises threshold data,
the threshold data represents one or more thresholds the performance of the process is to meet, and
the information is received from one or more of a plurality of agents, each of which is comprised in a corresponding one of the plurality of resources.

### Claim 3 (depends on 2)

The method of claim 2, wherein
the application is further configured to be selected based on a process type of the process.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
determining consumed power data for the process, wherein
the consumed power data represents power consumed by the process; and
recording power consumption data for the process, wherein
the power consumption data represents power usage resulting from performance of the process during performance of the process, and
the power consumption data comprises the consumed power data.

### Claim 5 (depends on 4)

The method of claim 4, wherein the recording the power consumption data comprises:
updating the power consumption data using the consumed power data.

### Claim 6 (depends on 2)

The method of claim 2, wherein
the process is performed using two or more resources of the plurality of resources, and
the two or more resources comprise the selected resource.

### Claim 7 (depends on 5)

The method of claim 5, wherein the plurality of processes comprise a backup operation, and the method further comprises:
if the process is the backup operation, selecting data to be backed-up by the backup operation, wherein
the power data indicates the power usage for the backup operation.

### Claim 8 (depends on 1)

The method of claim 1, wherein
the power data further indicates power efficiency of each of the plurality of resources at different times of day, and
the selecting selects the selected resource based, at least in part, on the power efficiency of the each of the plurality of resources at the different times of day.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
displaying current power, wherein
the current power represents power consumed during performance of the process using the selected resource.

### Claim 10 (depends on 1)

The method of claim 1, wherein
the input further indicates one or more power characteristics,
the one or more power characteristics represent one or more of
a desired power usage by each resource during performance of the process, or
desired emissions caused by the selected resource during performance of the process, and
the selecting is further based on the one or more power characteristics.

### Claim 11

A computer system comprising:
one or more processors;
a process scheduler, executable by the one or more processors, and configured to receive an input, wherein
the input identifies
a process of a plurality of processes, wherein
each process of the plurality of processes is configured to perform a corresponding operation of a plurality of operations, and
one or more characteristics,
the one or more characteristics comprise at least one of
a characteristic of the process, or
a desired characteristic of a performance of the process,
each of the plurality of processes is configured to be performed using at least one resource of a plurality of resources coupled to the computer system, and
the plurality of resources comprise
a software resource, wherein
the software resource comprises an application configured to be used in performing the process and to be selected using, at least in part, the one or more characteristics, and
a hardware resource, wherein
the hardware resource comprises at least one of
a computing device configured to execute the application, or
one or more storage devices associated with the computing device;
a non-transitory computer-readable storage medium, coupled to the one or more processors, and configured to store one or more databases;
a power manager module, executable by the one or more processors, configured to access the one or more databases, wherein
the one or more databases comprise information,
the information comprises
power data, wherein
the power data is received from one or more of the plurality of resources
the power data represents power usage of each of the plurality of processes as performed using the one or more of the plurality of resources; and
a resource manager, executable by the one or more processors, configured to
select a selected resource from the plurality of resources based on at least the information, and
cause the selected resource to perform the process.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein
the process scheduler is further configured to schedule performance of the process using the selected resource, wherein
the information comprises threshold data,
the threshold data represents one or more thresholds the performance of the process is to meet, and
the information is received from one or more of a plurality of agents, each of which is comprised in a corresponding one of the plurality of resources.

### Claim 13 (depends on 11)

The computer system of claim 11, wherein
the application is further configured to be selected based on a process type of the process.

### Claim 14 (depends on 11)

The computer system of claim 11, wherein the computer system further comprises:
a power module configured to
determine consumed power data for the process, wherein
the consumed power data represents power consumed by the process, and
record power consumption data for the process, wherein
the power consumption data represents power usage resulting from performance of the process during performance of the process, and
the power consumption data comprises the consumed power data.

### Claim 15 (depends on 11)

The computer system of claim 11, wherein
the power data further indicates power efficiency of each of the plurality of resources at different times of day, and
the resource manager performs selection of the selected resource based, at least in part, on the power efficiency of the each of the plurality of resources at the different times of day.

### Claim 16 (depends on 11)

The computer system of claim 11, wherein the computer system further comprises:
a display module configured to display current power data, wherein
the current power data represents power consumed during performance of the process using the selected resource.

### Claim 17

A computer program product comprising:
a plurality of instructions, comprising
a first set of instructions, executable on a computer system, configured to receive an input, wherein
the input identifies
a process of a plurality of processes, wherein
each process of the plurality of processes is configured to perform a corresponding operation of a plurality of operations, and
one or more characteristics,
the one or more characteristics comprise at least one of
a characteristic of the process, or
a desired characteristic of a performance of the process,
each of the plurality of processes is configured to be performed using at least one resource of a plurality of resources coupled to the computer system, and
the plurality of resources comprise
a software resource, wherein
the software resource comprises an application configured to be used in performing the process and to be selected using, at least in part, the one or more characteristics, and
a hardware resource, wherein
the hardware resource comprises at least one of
a computing device configured to execute the application, or
one or more storage devices associated with the computing device,
a second set of instructions, executable on the computer system, configured to access one or more databases, wherein
the one or more databases comprise information,
the information comprises
power data, wherein
the power data is received from one or more resources of the plurality of resources,
the power data represents power usage of each of the plurality of processes as performed using the one or more of the plurality of resources,
a third set of instructions, executable on the computer system, configured to select a selected resource from the plurality of resources based on at least the information, and
a fourth set of instructions, executable on the computer system, configured to cause the selected resource to perform the process; and
a non-transitory computer-readable storage medium, wherein the instructions are encoded in the non-transitory computer-readable storage medium.

### Claim 18 (depends on 17)

The computer program product of claim 17, wherein the plurality of instructions further comprise:
a fifth set of instructions, executable on a computer system, configured to schedule performance of the process using the selected resource, wherein
the information comprises threshold data,
the threshold data represents one or more thresholds the performance of the process is to meet, and
the information is received from one or more of a plurality of agents, each of which is comprised in a corresponding one of the plurality of resources.

### Claim 19 (depends on 17)

The computer program product of claim 17, wherein
the application is further configured to be selected based on a process type of the process.

### Claim 20 (depends on 17)

The computer program product of claim 17, wherein the plurality of instructions further comprise:
a fifth set of instructions, executable on a computer system, configured to
determine consumed power data for the process, wherein
the consumed power data represents power consumed by the process, and
record power consumption data for the process, wherein
the power consumption data represents power usage resulting from performance of the process during performance of the process, and
the power consumption data comprises the consumed power data.
