IP Library › Granted Patent US 8,359,463
Granted Patent B2
US 8,359,463 · App. 12/788,013 · Granted Jan 22, 2013

Selecting a configuration for an application

Inventors: Arif A. Merchant (Los Altos, CA); Ludmila Cherkasova (Sunnyvale, CA)
Assignee: Hewlett-Packard Development Company, L.P.
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,359,463
App. No.
12/788,013
Filed
May 26, 2010
Granted
Jan 22, 2013
Kind
B2
Examiner
DU, THUAN N
Art Unit
2116
USPC
713/100
Abstract

There is provided a computer-implemented method for selecting from a plurality of full configurations of a storage system an operational configuration for executing an application. An exemplary method comprises obtaining application performance data for the application on each of a plurality of test configurations. The exemplary method also comprises obtaining benchmark performance data with respect to execution of a benchmark on the plurality of full configurations, one or more degraded configurations of the full configurations and the plurality of test configurations. The exemplary method additionally comprises estimating a metric for executing the application on each of the plurality of full configurations based on the application performance data and the benchmark performance data. The operational configuration may be selected from among the plurality full configurations based on the metric.

Claims (38)

1. A computer-implemented method for selecting from a plurality of full configurations of a storage system an operational configuration for executing an application, the method comprising:

obtaining application performance data for the application on each of a plurality of test configurations;

obtaining benchmark performance data with respect to execution of a benchmark on the plurality of full configurations, one or more degraded configurations of the full configurations and the plurality of test configurations;

estimating a metric for executing the application on each of the plurality of full configurations based on the application performance data and the benchmark performance data; and

selecting the operational configuration from among the plurality of full configurations based on the metric.

2. The computer-implemented method recited in claim 1 , wherein the metric comprises at least one performance characteristic.

3. The computer-implemented method recited in claim 1 , wherein the metric comprises at least one dependability characteristic.

4. The computer-implemented method recited in claim 1 , wherein the metric comprises at least one performability characteristic.

5. The computer-implemented method recited in claim 1 , wherein the metric relates to a desired service level.

6. The computer-implemented method recited in claim 1 , wherein configuration options that define the plurality of full configurations comprise a number of separate copies or fragments into which a data object is split, a number of parities fragments stored at a local datacenter, a number of additional parity fragments stored at a remote data center, and/or a number of parities to be written before a data write is considered complete.

7. The computer-implemented method recited in claim 1 , comprising:

assigning a probability of occurrence for each of the degraded configurations; and

taking into account the probability of occurrence for each of the degraded configurations when estimating the metric for executing the application on each of the plurality of full configurations.

8. The computer-implemented method recited in claim 1 , wherein the application employs a Key-Binary Large Object (Blob) Archive.

9. A computer system for estimating metrics for executing an application on each of a plurality of full configurations of a storage system, the computer system comprising:

a processor that is adapted to execute stored instructions; and

a memory device that stores instructions, the memory device comprising stored instructions that, when executed by the processor, cause the processor to:

obtain application performance data for the application on each of a plurality of test configurations;

obtain benchmark performance data with respect to execution of a benchmark on the plurality of full configurations, one or more degraded configurations of the full configurations and the plurality of test configurations; and

estimate a metric for executing the application on each of the plurality of full configurations based on the application performance data and the benchmark performance data.

10. The computer system recited in claim 9 , wherein the metric comprises at least one performance characteristic.

11. The computer system recited in claim 9 , wherein the metric comprises at least one dependability characteristic.

12. The computer system recited in claim 9 , wherein the metric comprises at least one performability characteristic.

13. The computer system recited in claim 9 , wherein the metric relates to a desired service level.

14. The computer system recited in claim 9 , wherein configuration options that define the plurality of full configurations comprise a number of separate copies or fragments into which a data object is split, a number of parities fragments stored at a local datacenter, a number of additional parity fragments stored at a remote data center, and/or a number of parities to be written before a data write is considered complete.

15. The computer system recited in claim 9 , wherein the memory device comprises stored instructions that, when executed by the processor, cause the processor to:

assign a probability of occurrence for each of the degraded configurations; and

take into account the probability of occurrence for each of the degraded configurations when estimating the metric for executing the application on each of the plurality of full configurations.

16. The computer system recited in claim 9 , wherein the application employs a Key-Binary Large Object (Blob) Archive.

17. A non-transitory, computer-readable medium, comprising code configured to direct a processor to:

obtain application performance data for an application on each of a plurality of test configurations;

obtain benchmark performance data with respect to execution of a benchmark on a plurality of full configurations, one or more degraded configurations of the full configurations and the plurality of test configurations; and

estimate a metric for executing the application on each of the plurality of full configurations based on the application performance data and the benchmark performance data.

18. The non-transitory, computer-readable medium recited in claim 17 , wherein the metric comprises at least one performability characteristic.

19. The non-transitory, computer-readable medium recited in claim 17 , wherein the metric relates to a desired service level.

20. The non-transitory, computer-readable medium recited in claim 17 , comprising code to direct a processor to:

assign a probability of occurrence for each of the degraded configurations; and

take into account the probability of occurrence for each of the degraded configurations when estimating the metric for executing the application on each of the plurality of full configurations.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2010
From: MERCHANT, ARIF A.; CHERKASOVA, LUDMILA
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 024446/0140 →
Continuity (1)
Related Publication 20110296249A1 · Dec 1, 2011