IP Library Granted Patent US 10,235,062
Granted Patent B1
US 10,235,062 · App. 15/339,651 · Granted Mar 19, 2019

Selection of computer resources to perform file operations in a power-efficient manner

Inventor: Dhanashri Phadke (Roseville, MN)
Assignee: Veritas Technologies LLC
G06F3/0619G06F1/3246G06F3/065G06F3/067
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 10,235,062
App. No.
15/339,651
Granted
Mar 19, 2019
Kind
B1
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 (134)

1. A method, implemented in a computer system, comprising:

identifying a backup process configured to be executed by the computer system, wherein

the backup process is configured to be performed using, at least, a software resource and a hardware resource among a plurality of resources of the computer system;

identifying at least a first metric and a second metric for the backup process, wherein

the first metric indicates an amount of power consumed by the software resource with respect to the backup process, and

the second metric indicates an amount of power consumed by the hardware resource with respect to the backup process;

measuring the first metric and the second metric with respect to the backup process, wherein

the measuring is performed by an agent executed by one or more processors of the computer system, and

the measuring results in a measurement of the first metric and the second metric;

sending a first message to a node, wherein

the first message comprises

information that identifies the backup process, and

data representing the measurement of the first metric and the second metric;

receiving a second message from the node, wherein,

the second message comprises information identifying a selected software resource and a selected hardware resource that were individually selected from among the plurality of resources, wherein

the selected software resource and the selected hardware resource were individually selected based, at least in part, on at least the information and the data, as evaluated with respect to each of the selected software resource and the selected hardware resource; and

in response to receiving the second message, causing the backup process to be executed during a future time period by causing the selected hardware resource to execute the selected software resource.

2. The method of claim 1 , wherein

the data is configured to be stored in one or more databases, and

the information is configured to be used to index the data in the one or more databases.

3. The method of claim 2 , wherein

the data comprises power data, and

the power data represents power usage by at least one of the selected hardware resource and the selected software resource resulting from performance of the backup process using at least one of the selected hardware resource and the selected software resource.

4. The method of claim 3 , wherein

at least one of the first metric and the second metric further comprise at least one of

power consumed by one or more of the one or more processors,

power consumed by a computing device of the computer system,

power consumed by a media device of the computer system, or

power consumed by a storage device of the computer system.

5. The method of claim 3 , wherein

a third metric comprises at least one of

an operating system metric,

a software application metric, wherein the software application metric is applicable to a software application executed by the computer system,

an architectural metric,

a virtualization metric, or

an event metric for the one or more processors.

6. The method of claim 1 , wherein

the data comprise one or more of

power efficiency data, and/or

carbon dioxide emission data.

7. The method of claim 1 , wherein

the backup process is configured to perform at least one operation of a plurality of operations.

8. The method of claim 7 , wherein

the selected software resource comprises an application configured to be used in performing the backup process and to be selected using, at least in part, one or more characteristics.

9. The method of claim 7 , wherein

the selected hardware resource comprises at least one of

a computing device configured to execute an application, or

one or more storage devices associated with a computing device.

10. The method of claim 1 , further comprising:

receiving another message, wherein

the another message comprises received information,

the another message indicates a selected resource, and

the selected resource is an additional resource in addition to the selected hardware resource and the selected software resource; and

using the selected resource to perform the backup process, at least in part.

11. The method of claim 10 , wherein

the received information comprises threshold data,

the threshold data represents one or more thresholds that the performance of the backup process is to meet, and

the received information is received from one or more of a plurality of agents.

12. The method of claim 10 , further comprising:

determining consumed power data for the backup process, wherein

the consumed power data represents power consumed by the backup process; and

recording power consumption data for the backup process, wherein

the power consumption data represents power usage resulting from performance of the backup process during performance of the backup process, and

the power consumption data comprises the consumed power data.

13. The method of claim 10 , wherein

the data comprises information indicating power efficiency of at least one of the selected hardware resource and the selected software resource at different times of day, and

at least one of the selected hardware resource and the selected software resource is selected based, at least in part, on the power efficiency associated with that selected resource.

14. The method of claim 1 , further comprising

calculating a first weighted score and a second weighted score, wherein

the first weighted score is based, at least in part, on the information, the data, and a first weight,

the first weight is associated with the selected hardware resource,

the second weighted score is based, at least in part, on the information, the data, and a second weight,

the second weight is associated with the selected software resource, and

the first weight is not equal to the second weight.

15. The method of claim 14 , wherein

at least one of the selected hardware resource and the selected software resource was further selected based on at least one of the first weighted score and the second weighted score.

16. A computer system comprising:

one or more processors;

a computer-readable storage medium coupled to the one or more processors; and

a plurality of instructions, encoded in the computer-readable storage medium and configured to cause the one or more processors to

identify a backup process configured to be executed by the computer system, wherein

the backup process is configured to be performed using, at least, a software resource and a hardware resource among a plurality of resources of the computer system,

identify at least a first metric and a second metric for the backup process, wherein

the first metric indicates an amount of power consumed by the software resource with respect to the backup process, and

the second metric indicates an amount of power consumed by the hardware resource with respect to the backup process,

measure the first metric and the second metric with respect to the backup process, wherein

the instructions configured to cause the one or more processors to measure are performed by an agent executed by one or more processors of the computer system, and

the instructions configured to cause the one or more processors to measure result in a measurement of the first metric and the second metric,

send a first message to a node, wherein

the first message comprises

information that identifies the backup process, and

data representing the measurement of the first metric and the second metric,

receive a second message from the node, wherein,

the second message comprises information identifying a selected software resource and a selected hardware resource that were individually selected from among the plurality of resources, wherein

the selected software resource and the selected hardware resource were individually selected based, at least in part, on at least the information and the data, as evaluated with respect to each of the selected software resource and the selected hardware resource, and

in response to receiving the second message, cause the backup process to be executed during a future time period by causing the selected hardware resource to execute the selected software resource.

17. The computer system of claim 16 , wherein

the data is configured to be stored in one or more databases, and

the information is configured to be used to index the data in the one or more databases.

18. The computer system of claim 17 , wherein

the data comprises power data, and

the power data represents power usage by at least one of the selected hardware resource and the selected software resource resulting from performance of the backup process using at least one of the selected hardware resource and the selected software resource.

19. The computer system of claim 16 , wherein

the backup process is configured to perform at least one operation of a plurality of operations.

20. The computer system of claim 16 , wherein the instructions are further configured to cause at least one processor of the one or more processors to:

receive another message, wherein

the another message indicates a selected resource, and

the selected resource is an additional resource in addition to the selected hardware resource and the selected software resource; and

using the selected resource to perform the backup process, at least in part.

21. The computer system of claim 20 , wherein the instructions are further configured to cause at least one processor of the one or more processors to:

determine consumed power data for the backup process, wherein

the consumed power data represents power consumed by the backup process; and

record power consumption data for the backup process, wherein

the power consumption data represents power usage resulting from performance of the backup process during performance of the backup process, and

the power consumption data comprises the consumed power data.

22. A computer program product comprising:

a plurality of instructions, comprising

a first set of instructions, executable on a computer system, configured to identify a backup process configured to be executed by the computer system, wherein

the backup process is configured to be performed using, at least, a software resource and a hardware resource among a plurality of resources of the computer system,

a second set of instructions, executable on the computer system, configured to identify at least a first metric and a second metric for the backup process, wherein

the first metric indicates an amount of power consumed by the software resource with respect to the backup process, and

the second metric indicates an amount of power consumed by the hardware resource with respect to the backup process,

a third set of instructions, executable on the computer system, configured to measure the first metric and the second metric with respect to the backup process, wherein

the third set of instructions are performed by an agent executed by one or more processors of the computer system, and

the third set of instructions results in a measurement of the first metric and the second metric,

a fourth set of instructions, executable on the computer system, configured to send a first message to a node, wherein

the first message comprises

information that identifies the backup process, and

data representing the measurement of the first metric and the second metric,

a fifth set of instructions, executable on the computer system, configured to receive a second message from the node, wherein,

the second message comprises information identifying a selected software resource and a selected hardware resource that were individually selected from among the plurality of resources, wherein

the selected software resource and the selected hardware resource were individually selected based, at least in part, on at least the information and the data, as evaluated with respect to each of the selected software resource and the selected hardware resource, and

a sixth set of instructions, executable on the computer system, configured to cause, in response to receiving the second message, the backup process to be executed during a future time period by causing the selected hardware resource to execute the selected software resource; and

a non-transitory computer-readable storage medium, wherein the instructions are encoded in the non-transitory computer-readable storage medium.

Assignments (9)
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0863 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 1, 2017
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 041850/0511 →
Continuity (1)
Continuation 14041608 · Sep 30, 2013
Cited By (1)
US 12,360,671