US11716406B2ActiveUtilityA1
Data caching for cloud services
Est. expiryApr 3, 2038(~11.7 yrs left)· nominal 20-yr term from priority
H04L 67/5682G06F 9/505G06F 9/5072G06F 12/084G06F 12/12H04L 63/10H04L 67/1008H04L 67/306H04L 67/51H04L 67/568G06F 9/5077G06F 2212/154
91
PatentIndex Score
3
Cited by
35
References
20
Claims
Abstract
Methods and systems for caching data for resources using a shared cache are described herein. The data may be stored in a configuration service, in the resources, or in the shared cache. The data stored in the configuration service may be modified. The data stored in the resources and in the shared cache may be updated according to the modified data in the configuration service. The data stored in the configuration service, in the resources, or in the shared cache may be used based on an operation mode.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
receiving, by a computing device and from a user device, a request to access a virtual machine;
based on a load of a configuration service satisfying a threshold, determining whether configuration data associated with the virtual machine is stored in a shared cache;
after determining that the configuration data is not stored in the shared cache, retrieving the configuration data from the configuration service;
updating the shared cache with the configuration data; and
configuring the virtual machine using the configuration data in the updated shared cache based on the load of the configuration service satisfying the threshold.
2. The method of claim 1 , further comprising:
after determining that the configuration data is stored in the shared cache, retrieving the configuration data from the shared cache; and
configuring the virtual machine using the retrieved configuration data from the shared cache based on the load of the configuration service satisfying the threshold.
3. The method of claim 1 , further comprising:
determining, based on business hours of an organization associated with the user device, the load of the configuration service.
4. The method of claim 1 , further comprising:
receiving, within a period of time, a plurality of requests to access virtual machines; and
determining, based on a quantity of the plurality of requests, the load of the configuration service.
5. The method of claim 1 , wherein the updating the shared cache with the configuration data comprises:
after determining that the configuration data for the virtual machine is not stored in the shared cache, sending, to the configuration service, a request associated with the configuration data for the virtual machine;
receiving, from the configuration service, a response associated with the configuration data for the virtual machine;
determining, based on the response received from the configuration service, the configuration data for the virtual machine; and
inserting, into the shared cache, the configuration data for the virtual machine.
6. The method of claim 1 , wherein the updating the shared cache with the configuration data is based on detecting a change of the configuration data stored in the configuration service.
7. The method of claim 1 , wherein the configuration data for the virtual machine comprises one or more of a Central Processing Unit (CPU) capacity of the virtual machine, a Random Access Memory (RAM) capacity of the virtual machine, or a storage capacity of the virtual machine.
8. The method of claim 1 , wherein the shared cache comprises an in-memory database.
9. The method of claim 1 , further comprising:
after updating the shared cache with the configuration data, replacing the configuration data stored in a local storage of the virtual machine with the configuration data.
10. The method of claim 1 , wherein the configuration data for the virtual machine expires in the shared cache after an expiration period, and wherein the method further comprises:
based on the load of the configuration service satisfying the threshold, refreshing the expiration period.
11. The method of claim 1 , further comprising:
receiving, by the computing device, a request to access a second virtual machine; and
based on the load of the configuration service not satisfying the threshold, sending, by the computing device and to the configuration service, a request to determine configuration data for the second virtual machine.
12. A computing device comprising:
one or more processors; and
memory storing instructions that, when executed by the one or more processors, cause the computing device to:
receive, from a user device, a request to access a virtual machine;
based on a load of a configuration service satisfying a threshold, determine whether configuration data associated with the virtual machine is stored in a shared cache;
after determining that the configuration data is not stored in the shared cache, retrieve the configuration data from the configuration service;
update the shared cache with the configuration data; and
configure the virtual machine using the configuration data in the updated shared cache based on the load of the configuration service satisfying the threshold.
13. The computing device of claim 12 , wherein the memory stores additional instructions that, when executed by the one or more processors, cause the computing device to:
after determining that the configuration data is stored in the shared cache, retrieve the configuration data from the shared cache; and
configure the virtual machine using the retrieved configuration data from the shared cache based on the load of the configuration service satisfying the threshold.
14. The computing device of claim 12 , wherein the request to access the virtual machine comprises:
an identifier associated with the virtual machine; and
an identifier of configuration data, for the virtual machine, stored in a local storage of the virtual machine.
15. The computing device of claim 14 , wherein the memory stores additional instructions that, when executed by the one or more processors, cause the computing device to:
based on hashing the configuration data stored in the local storage of the virtual machine, generating the identifier of the configuration data stored in the local storage of the virtual machine.
16. The computing device of claim 14 , wherein the shared cache is configured to:
search, in the shared cache and based on the identifier associated with the virtual machine, the configuration data in the updated shared cache;
generate, based on the configuration data in the updated shared cache, an identifier of the configuration data in the updated shared cache; and
based on determining that the identifier of the configuration data stored in the local storage of the virtual machine corresponds to the identifier of the configuration data in the updated shared cache, determine that the configuration data stored in the local storage of the virtual machine corresponds to the configuration data in the updated shared cache.
17. The computing device of claim 12 , wherein the configuration data for the virtual machine comprises one or more of a Central Processing Unit (CPU) capacity of the virtual machine, a Random Access Memory (RAM) capacity of the virtual machine, or a storage capacity of the virtual machine.
18. One or more non-transitory computer readable media storing computer readable instructions that, when executed, cause a computing device to:
receive, from a user device, a request to access a virtual machine;
based on a load of a configuration service satisfying a threshold, determine whether configuration data associated with the virtual machine is stored in a shared cache;
after determining that the configuration data is not stored in the shared cache, retrieve the configuration data from the configuration service;
update the shared cache with the configuration data; and
configure the virtual machine using the configuration data in the updated shared cache based on the load of the configuration service satisfying the threshold.
19. The one or more non-transitory computer readable media of claim 18 , wherein the configuration data for the virtual machine comprises one or more of a Central Processing Unit (CPU) capacity of the virtual machine, a Random Access Memory (RAM) capacity of the virtual machine, or a storage capacity of the virtual machine.
20. The one or more non-transitory computer readable media of claim 18 , wherein the request to access the virtual machine comprises:
an identifier associated with the virtual machine; and
an identifier of configuration data, for the virtual machine, stored in a local storage of the virtual machine.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.