Dynamic cache allocating techniques for cloud computing systems
First Claim
1. A computer-implemented method comprising:
- storing information for a spot price of a cache of a storage infrastructure used for data storage in a cloud computing environment, the spot price representing a variable price per memory size allocation for use of the cache of the storage infrastructure and being determined based on supply and demand of the cache;
receiving a request for allocation of additional cache for use by one or more applications associated with a first tenant running in the cloud computing environment;
sending, to the one or more applications, information indicating a current spot price of the cache of the storage infrastructure;
receiving, from the one or more applications, an instruction to purchase the allocation of additional cache based on the current spot price or based on a predetermined fixed price;
sending, to the storage infrastructure, an allocation request for allocation of the additional cache based on the current spot price or the predetermined fixed price;
receiving from one or more applications associated with a second tenant a request to purchase allocation of the cache at the predetermined fixed price;
determining whether there is sufficient cache available to fulfill the request for allocation of the cache for the second tenant at the predetermined fixed price;
automatically de-allocating the additional cache for use by the one or more applications of the first tenant if it is determined that there is insufficient cache available to fulfill the request for allocation of the cache for the second tenant so as to fulfill the request for allocation of the cache for the second tenant; and
sending, to a network controller that manages a network over which the one or more applications communicate with the storage infrastructure, a request for a minimum amount of bandwidth for traffic in the network for the first tenant based on an amount of cache allocated to the one or more applications for the first tenant.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are presented herein to allow a tenant application in a cloud computing environment to automatically adjust storage infrastructure cache allocation according to performance needs and cost associated with use of the cache. Information is stored for a spot price of a cache of a storage infrastructure used for data storage in a cloud computing environment. A request is received to allocate additional cache for use by one or more applications associated with a first tenant running in the cloud computing environment. Information is sent to the one or more applications indicating a current spot price of the cache of the storage infrastructure. An instruction is received from the one or more applications to purchase the additional allocation of the cache based on the current spot price or based on a predetermined fixed price. An allocation request is sent to the storage infrastructure for additional allocation of the cache.
24 Citations
22 Claims
-
1. A computer-implemented method comprising:
-
storing information for a spot price of a cache of a storage infrastructure used for data storage in a cloud computing environment, the spot price representing a variable price per memory size allocation for use of the cache of the storage infrastructure and being determined based on supply and demand of the cache; receiving a request for allocation of additional cache for use by one or more applications associated with a first tenant running in the cloud computing environment; sending, to the one or more applications, information indicating a current spot price of the cache of the storage infrastructure; receiving, from the one or more applications, an instruction to purchase the allocation of additional cache based on the current spot price or based on a predetermined fixed price; sending, to the storage infrastructure, an allocation request for allocation of the additional cache based on the current spot price or the predetermined fixed price; receiving from one or more applications associated with a second tenant a request to purchase allocation of the cache at the predetermined fixed price; determining whether there is sufficient cache available to fulfill the request for allocation of the cache for the second tenant at the predetermined fixed price; automatically de-allocating the additional cache for use by the one or more applications of the first tenant if it is determined that there is insufficient cache available to fulfill the request for allocation of the cache for the second tenant so as to fulfill the request for allocation of the cache for the second tenant; and sending, to a network controller that manages a network over which the one or more applications communicate with the storage infrastructure, a request for a minimum amount of bandwidth for traffic in the network for the first tenant based on an amount of cache allocated to the one or more applications for the first tenant. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A non-transitory computer readable storage media encoded with instructions that, when executed by a computer, cause the computer to perform operations comprising:
-
storing information for a spot price of a cache of a storage infrastructure used for data storage in a cloud computing environment, the spot price representing a variable price per memory size allocation for use of the cache of the storage infrastructure and being determined based on supply and demand of the cache; receiving a request for allocation of additional cache for use by one or more applications associated with a first tenant running in the cloud computing environment; sending, to the one or more applications, information indicating a current spot price of the cache of the storage infrastructure; receiving, from the one or more applications, an instruction to purchase the allocation of additional cache based on the current spot price or based on a predetermined fixed price; sending, to the storage infrastructure, an allocation request for allocation of the additional cache based on the current spot price or the predetermined fixed price; receiving from one or more applications associated with a second tenant a request to purchase allocation of the cache at the predetermined fixed price; determining whether there is sufficient cache available to fulfill the request for allocation of the cache for the second tenant at the predetermined fixed price; automatically de-allocating the additional cache for use by the one or more applications of the first tenant if it is determined that there is insufficient cache available to fulfill the request for allocation of the cache for the second tenant so as to fulfill the request for allocation of the cache for the second tenant; and sending, to a network controller that manages a network over which the one or more applications communicate with the storage infrastructure, a request for a minimum amount of bandwidth for traffic in the network for the first tenant based on an amount of cache allocated to the one or more applications for the first tenant. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a storage infrastructure subsystem including at least one storage array and non-volatile cache memory; a computer subsystem running one or more applications associated with a first tenant, wherein the computer subsystem interfaces with the storage infrastructure subsystem; and a processor that is in communication with the storage infrastructure subsystem and the computer subsystem, wherein the processor; stores information for a spot price of the cache memory, the spot price representing a variable price per memory size allocation for use of the cache memory determined based on supply and demand of the cache memory; receives a request for allocation of additional cache for use by one or more applications associated with a first tenant running in the cloud computing environment; causes information indicating a current spot price of the cache memory to be sent to the one or more applications; receives, from the one or more applications, an instruction to purchase the allocation of additional cache memory based on the current spot price or based on a predetermined fixed price; causes to be sent, to the storage infrastructure subsystem, an allocation request for the allocation of additional cache memory based on the current spot price or the predetermined fixed price; receives from one or more applications associated with a second tenant a request to purchase allocation of the cache memory at the predetermined fixed price; determines whether there is sufficient cache available to fulfill the request for allocation of the cache memory for the second tenant at the predetermined fixed price; automatically de-allocates the additional cache memory for use by the one or more applications of the first tenant if it is determined that there is insufficient cache memory available to fulfill the request for allocation of the cache memory for the second tenant so as to fulfill the request for allocation of the cache for the second tenant; and causes to be sent, to a network controller that manages a network over which the one or more applications communicate with the storage infrastructure, a request for a minimum amount of bandwidth for traffic in the network for the first tenant based on an amount of cache allocated to the one or more applications for the first tenant. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification