US10452792B1ActiveUtility

Simulating demand and load on storage servers

90
Assignee: AMAZON TECH INCPriority: Mar 29, 2016Filed: Mar 29, 2016Granted: Oct 22, 2019
Est. expiryMar 29, 2036(~9.7 yrs left)· nominal 20-yr term from priority
G06F 30/20G06F 3/067G06F 3/0653G06F 3/0604G06Q 10/00G06F 3/0605G06F 17/5009
90
PatentIndex Score
8
Cited by
11
References
20
Claims

Abstract

A data storage service may operate one or more storage servers configured to maintain logical volumes on behalf of customers of the remote data storage service. The logical volumes may have various dimensions. The various dimensions may be used to generate an average volume. The average volume may then be used to execute a simulation of an amount of remaining storage capacity of the data storage service.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system, comprising:
 one or more storage servers provided by a computing service provider environment, the one or more storage servers providing a block-based storage service; 
 one or more processors; 
 memory with instructions that, when executed by the one or more processors, cause the system to:
 obtain information associated with one or more dimensions of a set of logical volumes maintained by a set of storage servers of the one or more storage servers, the one or more dimensions indicating at least a size and an amount of input/output operations per second (IOPS) associated with a volume of the set of logical volumes; 
 determine an average volume based at least in part on the one or more dimensions of the set of logical volumes; 
 obtain capacity information of the set of storage servers, the capacity information indicating an amount of computing resources of the set of storage servers consumed or available; 
 generate a simulation of a remaining capacity of the set of storage servers by at least simulating placing a number of average volumes on the set of storage servers based at least in part on the capacity information of the set of storage servers; 
 as a result of an expiration of an interval of time, simulate a second remaining capacity of the set of storage servers based at least in part on additional capacity information of the set of storage servers; and 
 provide a notification of the second remaining capacity of the set of storage servers based at least in part on the number of average volumes placed on the set of storage servers during the simulation, wherein the notification indicates a projected time period until there will be insufficient capacity on the set of storage servers; and 
 
 a capacity management and monitoring service configured to determine, based at least partly on the notification, whether to have additional storage servers installed. 
 
     
     
       2. The system of  claim 1 , wherein the one or more dimensions include at least one of the following: a maximum number of bytes, a total number of used byte, a maximum number of IOPS, a total number of used IOPS, and slots. 
     
     
       3. The system of  claim 1 , wherein memory further includes instructions that, when executed by the one or more processors, cause the system to:
 generate a second simulation of a second remaining capacity of the set of storage servers based at least in part on additional information indicating the one or more dimensions of a second set of logical volumes and additional capacity information of the set of storage servers; and 
 determine a rate of change between the remaining capacity and the second remaining capacity by at least determining a ratio between the remaining capacity and the second remaining capacity. 
 
     
     
       4. The system of  claim 3 , wherein memory further includes instructions that, when executed by the one or more processors, cause the system to transmit an alarm to a capacity management and monitoring service as a result of the rate of change exceeding a threshold. 
     
     
       5. A system, comprising:
 one or more processors; and 
 memory with instructions that, as a result of being executed by the one or more processors, cause the system to:
 obtain one or more dimensions of a set of logical volumes maintained by a set of storage servers of a data storage service provided by a computing service provider environment, the one or more dimensions indicating at least one of a size, an amount of input/output operations per second (IOPS), or a number of slots associated with a volume of the set of logical volumes; 
 generate one or more simulated volumes based at least in part on the one or more dimensions; 
 simulate a remaining capacity of the set of storage servers by at least placing a number of the one or more simulated volumes on the set of storage servers based at least in part on a current capacity of the set of storage servers; 
 as a result of an expiration of an interval of time, simulate a second remaining capacity of the set of storage servers based at least in part on additional capacity information of the set of storage servers; 
 provide a notification of the remaining capacity of the set of storage servers; and 
 determine, based at least partly on the notification and the second remaining capacity of the set of storage servers, whether to have additional storage servers installed. 
 
 
     
     
       6. The system of  claim 5 , wherein the instructions that cause the system to obtain the one or more dimensions of the set of logical volumes further include instructions, that as a result of being executed by the one or more processors, cause the system to obtain the one or more dimensions from a subset of the set of logical volumes, the subset of logical volumes having been created during a particular interval of time. 
     
     
       7. The system of  claim 5 , wherein the memory further includes instructions, that as a result of being executed by the one or more processors, causes the system to provide the remaining capacity to at least one other service. 
     
     
       8. The system of  claim 5 , wherein the instructions that cause the system to generate the one or more simulated volume further include instructions, that as a result of being executed by the one or more processors, cause the system to, for each dimension of the one or more dimensions, add a particular dimension associated with a particular volume of the one or more volumes to a sum associated with the particular dimensions and divide the sum by a total number of logical volumes summed. 
     
     
       9. The system of  claim 5 , wherein the set of storage servers further comprises storage servers of a particular logical grouping of storage servers. 
     
     
       10. The system of  claim 5 , wherein the set of logical volumes further comprises logical volumes of a particular volume type. 
     
     
       11. The system of  claim 5 , wherein the set of storage servers further comprises storage servers of a particular data zone. 
     
     
       12. The system of  claim 5 , wherein each logical volume of the set of logical volumes further comprises a master-slave replica pair. 
     
     
       13. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
 obtain a set of dimensions of a set of logical volumes maintained by a set of storage servers, the set of storage servers, the set of dimensions indicating at least one of a size, an amount of input/output operations per second (IOPS), or a number of slots associated with a volume of the set of logical volumes connected to a network maintained by a computing resource service provider; 
 obtain capacity and utilization information associated with the set of storage servers; 
 simulate a remaining capacity of the set of storage servers based at least in part on a simulated volume and the capacity and utilization information, the simulated volume determined based at least in part the set of dimensions; 
 simulate a second remaining capacity of the set of storage servers based at least in part on a second simulated volume and additional capacity and utilization information; and 
 determine, based at least partly on the second remaining capacity of the set of storage servers, whether to have additional storage servers installed. 
 
     
     
       14. The non-transitory computer-readable storage medium of  claim 13 , wherein the second remaining capacity of the set of storage servers is simulated as a result of an expiration of an interval of time. 
     
     
       15. The non-transitory computer-readable storage medium of  claim 14 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to determine a rate of change associated with the set of storage servers based at least in part on the remaining capacity and the second remaining capacity. 
     
     
       16. The non-transitory computer-readable storage medium of  claim 15 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to provide a notification to at least on other computer system as a result of the rate of change exceeding a certain value. 
     
     
       17. The non-transitory computer-readable storage medium of  claim 15 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to provide a notification to add additional capacity to the set of storage servers as a result of the rate of change exceeding a certain value. 
     
     
       18. The non-transitory computer-readable storage medium of  claim 15 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to modifying an application executed by the set of storage servers as a result of the rate of change exceeding a certain value, the application used in providing the set of logical volumes to customers of the computing resource service provider. 
     
     
       19. The non-transitory computer-readable storage medium of  claim 13 , wherein the instructions further comprise instructions that, as a result of being executed by the one or more processors, cause the computer system to generate the simulated volume by at least calculating a statistical average for at least a portion of the dimensions of the set dimensions, the statistical average of at least one dimension of the portion of the dimensions including two or more dimensions of the set dimensions. 
     
     
       20. The non-transitory computer-readable storage medium of  claim 13 , wherein the instructions that cause the computer system to obtain the set of dimensions further include instructions that cause the computer system to obtain a number of bytes, a number of IOPS, an amount of throughput, and a latency associated with the set of logical volumes.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.