Source: https://patents.google.com/patent/US9207984B2/en
Timestamp: 2019-04-20 17:01:35
Document Index: 331029426

Matched Legal Cases: ['application No. 2012503674', 'application No. 201080053676', 'application No. 201080056327', 'application No. 201080056311', 'application No. 2013262835', 'application No. 201202868', 'application No. 201080056327', 'application No. 201080049395', 'application No. 201080056311', 'application No. 201080053676', 'application No. 201080053676', 'application No. 2778110', 'application No. 2012503674', 'application No. 201080015811', 'art 1', 'application No. 201107040']

US9207984B2 - Monitoring and automatic scaling of data volumes - Google Patents
US9207984B2
US9207984B2 US12/415,998 US41599809A US9207984B2 US 9207984 B2 US9207984 B2 US 9207984B2 US 41599809 A US41599809 A US 41599809A US 9207984 B2 US9207984 B2 US 9207984B2
US12/415,998
US20100250748A1 (en
2010-06-16 Assigned to AMAZON TECHNOLOGIES, INC. reassignment AMAZON TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MACDONALD MCALISTER, GRANT ALEXANDER, MILOVANOVIC, MILOVAN, SIVASUBRAMANIAN, SWAMINATHAN
2010-09-30 Publication of US20100250748A1 publication Critical patent/US20100250748A1/en
2015-12-08 Publication of US9207984B2 publication Critical patent/US9207984B2/en
The allocated space can be rebalanced to maximize the IOPS (input/output operations per second) performance for the volume group. In this example, the rebalancing can be performed by reallocating and moving PEs to the second device, such as by calling a “/pvmove/dev/second_device:5910-10239” command, which reallocates 4329 PEs to the second physical volume per the calculation above. After the rebalancing is completed, the logical volume and/or file system can be extended for the new capacity.
obtaining performance information for a logical data volume in the data environment, the performance information including at least one of storage usage information or storage capacity information for the logical data volume, the logical data volume corresponding to data stored among one or more physical volumes;
analyzing the performance information and the historical information using at least one prediction algorithm to predict that an anticipated usage value will fall outside of at least one specified range within at least one specified time period;
selecting a scaling action for adjusting a storage capacity of the logical data volume for the anticipated usage value to fall inside the at least one specified range within the at least one specified time period based at least in part upon determining that a cost of implementing the scaling action is a lowest cost among a plurality of scaling options;
determining whether authorization is granted for implementing the scaling option based at least in part upon the cost of implementing the scaling option not exceeding a specified cost threshold; and
executing a workflow in the separate control environment for adjusting the storage capacity of the logical data volume in the data environment based at least in part upon the scaling option in response to determining that the authorization is granted, the storage capacity being adjusted in the data environment by: (a) changing a number of the one or more physical volumes that collectively provide the storage capacity for the logical data volume without reducing availability of the logical data volume and (b) balancing input output performance among the one or more physical volumes.
2. The computer-implemented method of claim 1, wherein changing the number of the one or more physical volumes comprises:
initiating at least one new physical volume; and
extending the logical data volume by attaching the at least one new physical volume.
3. The computer-implemented method of claim 1, wherein balancing the input output performance among the one or more physical volumes is based at least in part on a number of available physical extents for the one or more physical volumes.
obtaining performance information for at least one resource of a database in the data environment, the performance information including at least one of usage information or capacity information for the at least one resource, the at least one resource associated with a logical device corresponding to one or more physical devices;
analyzing the performance information and the historical information using at least one prediction algorithm to predict that an anticipated usage value for the at least one resource will fall outside of at least one specified range within at least one specified time period;
selecting a scaling action, from among a plurality of scaling options, for adjusting a capacity of the at least one resource, the capacity of the at least one resource being adjusted based at least in part upon the anticipated usage value, the scaling action being selected based at least in part upon a respective cost corresponding to each of the plurality of scaling actions;
determining whether authorization is granted for the scaling option based at least in part upon the cost corresponding to the scaling option; and
executing a workflow in the separate control environment for adjusting the capacity of the at least one resource in the data environment based at least in part upon the scaling option in response to determining that the authorization is granted, the capacity being adjusted in the data environment by: (a) changing a number of the one or more physical devices that collectively provide the capacity for the logical device and (b) balancing input output performance among the one or more physical devices.
5. The computer-implemented method of claim 4, wherein the at least one resource includes at least one of a processing component, a data storage component, a memory component, a communications component, a network I/O (input/output) component, or a data I/O component.
6. The computer-implemented method of claim 4, wherein executing the workflow comprises:
when a task is determined to have failed, retrying the task at least once and determining success or failure of each retry; and
when the task and the retry are determined to have failed, failing the workflow.
when adjusting the capacity of the at least one resource is determined not to be authorized, contacting a user for the authorization before executing the workflow.
enabling a user to provide different levels of authorization for the at least one resource.
12. The computer-implemented method of claim 4, further comprising, after predicting the anticipated usage value for the at least one resource:
13. The computer-implemented method of claim 4, wherein the scaling action corresponds to a lowest cost among the plurality of scaling actions.
14. A system for scaling aspects of a data environment using a separate control environment, comprising:
hardware memory including instructions that, when executed by the at least one processor, cause the system to:
obtain performance information for at least one resource of a database in the data environment, the performance information including at least one of usage information or capacity information for the at least one resource, the at least one resource including a logical device volume corresponding to one or more physical devices;
analyze the performance information and the historical information using at least one prediction algorithm to predict that an anticipated usage value for the at least one resource will fall outside of at least one specified range within at least one specified time period;
select a scaling action, from among a plurality of scaling options, for adjustment of a capacity of the at least one resource, the adjustment being based at least in part upon the anticipated usage value, selection of the scaling action being based at least in part upon a respective cost corresponding to each of the plurality of scaling actions;
determine whether authorization is granted for the scaling option based at least in part upon the cost corresponding to the scaling option; and
execute a workflow in the separate control environment for the adjustment of the capacity of the at least one resource in the data environment based at least in part upon the scaling option in response to a determination that the authorization is granted, the adjustment including (a) a changing of a number of the one or more physical devices that collectively provide the capacity for the logical device and (b) a balancing of input output performance among the one or more physical devices.
the at least one resource includes at least one of a processing component, a data storage component, a memory component, a communications component, a network I/O component, or a data I/O component.
16. The system of claim 14, wherein the memory further includes instructions that, when executed by the processor, cause the system to:
when the determination is that the authorization is not granted, contact a user for the authorization before executing the workflow.
17. The system of claim 14, wherein the memory further includes instructions that, when executed by the processor, cause the system to:
enable a user to provide different levels of authorization for the at least one resource.
18. The system of claim 14, wherein the memory further includes instructions that, when executed by the processor, cause the system to:
enable the authorized user to call into the control environment to request for the adjustment of the capacity of the at least one resource.
19. A computer program product embedded in a non-transitory computer-readable storage medium and including instructions that, when executed by at least one computing device, cause the at least one computing device to:
obtain performance information for at least one resource of a database in a data environment, the performance information including at least one of usage information or capacity information for the at least one resource, the at least one resource including a logical device corresponding to one or more physical devices;
execute a workflow in a control environment for the adjustment of the capacity of the at least one resource in the data environment based at least in part upon the scaling option in response to a determination that the authorization is granted, the adjustment including: (a) a changing of a number of the one or more physical devices that collectively provide the capacity for the logical device and (b) a balancing of input output performance among the one or more physical devices.
20. The computer program product embedded in the non-transitory storage medium of claim 19, wherein:
21. The computer program product embedded in the non-transitory storage medium of claim 19, further including instructions that, when executed by at least one computing device, cause the at least one computing device to:
22. The computer program product embedded in the non-transitory storage medium of claim 19, further including instructions that, when executed by at least one computing device, cause the at least one computing device to:
23. The computer program product embedded in the non-transitory storage medium of claim 19, further including instructions that, when executed by at least one computing device, cause the at least one computing device to:
US12/415,998 2009-03-31 2009-03-31 Monitoring and automatic scaling of data volumes Active US9207984B2 (en)
US20100250748A1 US20100250748A1 (en) 2010-09-30
US9207984B2 true US9207984B2 (en) 2015-12-08
CN101539841B (en) 2008-03-21 2011-03-30 株式会社日立制作所 High availability and low capacity dynamic storage area distribution
"Non Final Office Action dated Jun. 20, 2013", U.S. Appl. No. 13/621,073, Jun. 20, 2013.
"Oracle9i SQL Reference," Oct. 2002, Oracle Corporation, pp. 1-1 to 1-3.
Amazon HQ Wki, "RDSMySQLConfigManagement/ConfigWorkflowDesign", RDS/EDS/DesignDocs/RDSMySQLConfigManagement/ConfigWorkflowDesign from https://w.amazon.com/index.php/RDS/EDS/DesignDocs/RDSMySQLConfigManagement/ConfigWorkflowDesign; downloaded Aug. 11, 2009; 2009.
Corrected Notice of Allowability Nov. 13, 2012; in corresponding U.S. Appl. No. 12/415,958.
English abstract for CN101099172; published on Jan. 2, 2008.
English abstract for CN101501668; published on Aug. 5, 2009 and retrieved on Oct. 8, 2014.
English abstract for CN101539841; published on Sep. 23, 2009 and retrieved on Oct. 14, 2014.
English abstract for JP2001518663; published on Oct. 16, 2001 and retrieved on Oct. 14, 2014.
English abstract for JP2003330781; published on Nov. 21, 2003 and retrieved on Oct. 13, 2014.
English abstract for JP2006048676; published on Feb. 16, 2006 and retrieved on Oct. 13, 2014.
English abstract for JP2007516510; published on Jun. 21, 2007 and retrieved on Oct. 14, 2014.
English abstract for JP2009522659; published on Jun. 11, 2009 and retrieved on Oct. 13, 2014.
English language Office Action mailed Dec. 3, 2013; in corresponding Japanese patent application No. 2012503674.
English translation of the Notice of the First Office Action mailed Apr. 1, 2014; in corresponding Chinese patent application No. 201080053676.7.
English translation of the Notice of the First Office Action mailed Apr. 21, 2014; in corresponding Chinese patent application No. 201080056327.0.
English translation of the Notice on the First Office Action mailed May 5, 2014; in corresponding Chinese patent application No. 201080056311.X.
English translation of the Office Action mailed Sep. 16, 2014; in corresponding Japanese patent application No. 2013262835.
Examination Report mailed Sep. 13, 2013; in corresponding Singaporean patent application No. 201202868-4.
IBM Redbook: SAN Volume Controller: Best Practices and Performance Guidelines (draft), Tate et.al. (Jul. 2007). *
Non-Final Office Action mailed Apr. 9. 2014; in corresponding U.S. Appl. No. 12/416,017.
Notice of the First Office Action mailed Apr. 21, 2014; in corresponding Chinese patent application No. 201080056327.0.
Notice of the First Office Action mailed Jun. 12, 2014; in corresponding Chinese patent application No. 201080049395.4.
Notice of the First Office Action mailed May 5, 2014; in corresponding Chinese patent application No. 201080056311.X.
NPL-51-English abstract for JP2009522660; published on Jun. 11, 2009 and retrieved on Oct. 14, 2014.
NPL-52-Final Office Action mailed Nov. 6, 2014; in corresponding U.S. Appl. No. 12/416,017.
NPL-53-Notice of Second Office Action mailed Oct. 29, 2014; in corresponding Chinese patent application No. 201080053676.7.
NPL-54-English translation of the Notice of Second Office Action mailed Oct. 29, 2014; in corresponding Chinese patent application No. 201080053676.7.
NPL-55-Final Office Action Mailed Nov. 6, 2014: in U.S. Appl. No. 12/416,017.
NPL-56-Office Action dated Oct. 29, 2014; in Chinese Patent Application 201080053676.7.
Office Action mailed Apr. 3, 2014; in corresponding Canadian patent application No. 2778110.
Office Action mailed Dec. 3, 2013; in corresponding Japanese patent application No. 2012503674.
Office Action mailed Oct. 21, 2013; in corresponding Chinese patent application No. 201080015811.9.
Patent Abstract for JP2000172721; published on Jun. 23, 2000.
Patent Abstract for JP2004206694; published on Jul. 22, 2004.
Patent Abstract for JP2004362596; published Dec. 24, 2004.
Patent Abstract for JP2008141339; published Jun. 19, 2008.
Ralph Mietzner & Frank Leymann, "Towards Provisioning the Cloud: On the Usage of Multi-Granularity Flows and Services to Realize a Unified Provisioning Infrastructure for Saas Applications," 2008 IEEE Congress on Services-Part 1, pp. 3-10.
Suzuki, Yasuhiro et al.; " Cloud Computing, Provision", No. 58. Jul. 31, 2008, pp. 35-41.
Tirthankar Lahiri, Cache Fusion: Extending Shared-Disk Clusters with Shared Caches, Google Scholar, 2001, 4 pages, < URL:http:://www.vldb.org/conf/2001/P683.pdf>.
U.S. Appl. No. 12/418,476, filed Apr. 3, 2009, Sheth.
'Unix/Linux Administration Logical Volume Management Guide (2005) to Pollock. ("Pollock"). *
Written Opinion mailed Feb. 15, 2012; in corresponding Singapore application No. 201107040-6.
z/VM and Linx on IBM system z-The virtualization Cookbook for Red Hat Enterprise Linux 5.2, MacIsaac et. al. (Oct. 2008). *