USRE48663EActiveUtility
Moving resource consumers in computer systems
Est. expiryJun 26, 2029(~3 yrs left)· nominal 20-yr term from priority
H04L 41/0897H04L 41/0895H04L 67/52H04L 41/5019H04L 41/5025H04L 41/0803G06F 9/50H04L 67/1029H04L 67/02G06Q 30/06G06F 2009/45579G06Q 10/0631H04L 67/1023G06Q 30/0605G06F 9/45558G06Q 10/06315G06Q 30/0607G06F 9/455G06F 2009/45583H04L 67/1012G06F 2209/5022G06F 9/5077G06F 2009/45587
76
PatentIndex Score
1
Cited by
132
References
24
Claims
Abstract
Methods, systems, and apparatus, including computer program products, for regulating access of consumers (e.g., applications, containers, or VMs) to resources and services (e.g., storage). In one embodiment, this regulation occurs through the movement of consumers between different providers of a resource or service. Moving consumers includes, for example, determining the cost of moving the consumer from a first provider to a second provider. According to various embodiments, the cost of moving the consumer is compared to savings associated with moving the consumer from the first provider to the second provider.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A computer-implemented method for moving computer-based consumers between providers in a computer system, comprising:
determining, by a consumer manager running on a data processor in the computer system, a computer resource bundle including at least one resource or service to be purchased for a consumer using virtual currency units;
determining the price, in virtual currency units, for purchase of the computer resource bundle from a first provider in the computer system;
allocating the computer resource bundle from the first provider to the consumer based at least in part on the determined price for purchase from the first provider;
determining the cost of moving the consumer to a second provider of the computer resource bundle in the computer system;
computing an accumulated savings value of purchasing the computer resource bundle from the second provider, over continued purchase of the computer resource bundle from the first provider, wherein the computing comprises adding together at least a first savings value based on a first difference in purchase price from the first and second providers and a first amount of the at least one resource or service to be purchased during a first period of time, and a second savings value based on a second difference in purchase price from the first and second providers and a second amount of the at least one resource or service to be purchased during a second period of time, wherein the second period of time is different than the first period of time; and
moving the consumer to the second provider based at least in part on the accumulated savings value after the accumulated savings value has surpassed the cost of moving the consumer.
2. The computer-implemented method of claim 1 , wherein computing the accumulated savings value further comprises adding a third savings value based on a third difference in purchase price from the first and second providers and a third amount of the at least one resource or service to be purchased during a third period of time.
3. The computer-implemented method of claim 1 , wherein computing the accumulated savings value further comprises:
initializing an accumulated savings value;
modifying the accumulated savings value based at least in part on the difference in price for purchase of the computer resource bundle offered by the first and second providers, wherein the savings value is increased based on a lower purchase price from the second provider or decreased based on a higher purchase price from the second provider; and
repeating the modifying step until the accumulated savings value surpasses the determined cost of moving the consumer to the second provider.
4. The computer-implemented method of claim 1 , wherein the consumer is one of a virtual machine, an application running on a virtual machine, a physical machine, and a software container.
5. The computer-implemented method of claim 1 , wherein the determined cost of moving the consumer is based at least in part on the moving time or downtime associated with moving the consumer from the first provider to the second provider.
6. The computer-implemented method of claim 1 , wherein the determined cost of moving the consumer is based at least in part on the size of the consumer to be moved.
7. The computer-implemented method of claim 1 , wherein the determined cost of moving the consumer is based at least in part on the proximity of the second provider to the first provider.
8. The computer-implemented method of claim 1 , wherein the computer resource bundle includes at least one of an allotment of computer memory, an allotment of application execution scheduling for one or more central processing units, an allotment of storage interface bandwidth, an allotment of network interface bandwidth, and an allotment of storage.
9. The computer-implemented method of claim 1 , wherein the price of purchase of the computer resource bundle from the second provider is based at least in part on the utilization of the computer resource bundle.
10. A computer-implemented method for moving computer-based consumers between providers in a computer system, comprising:
determining, by a consumer manager running on a data processor in the computer system, a computer resource bundle including at least one resource or service to be purchased for a consumer using virtual currency units;
determining the price, in virtual currency units, for purchase of the computer resource bundle from a first provider in the computer system;
allocating the computer resource bundle from the first provider to the consumer based at least in part on the determined price for purchase from the first provider;
assigning a credit value to the consumer manager for allocation of the computer resource bundle to the consumer;
computing the price differential of continued purchase of the computer resource bundle from the first provider compared to the price of purchase of the computer resource bundle from a second provider;
modifying the credit value based at least in part on the computed price differential, wherein the credit value is decreased based on a lower purchase price from the second provider or increased based on a higher purchase price from the second provider;
repeating the computing and modifying steps during one or more different time periods until the credit value decreases below a predetermined credit value; and
moving the consumer to the second provider based at least in part on the credit value after the credit value has decreased below the predetermined value.
11. The computer-implemented method of claim 10 , wherein the consumer is one of a virtual machine, an application running on a virtual machine, a physical machine, and a software container.
12. The computer-implemented method of claim 10 , wherein the assigned credit value is based at least in part on a determined cost of moving the consumer to the second provider.
13. The computer-implemented method of claim 12 , wherein the determined cost of moving the consumer is based at least in part on the moving time or downtime associated with moving the consumer from the first provider to the second provider.
14. The computer-implemented method of claim 12 , wherein the determined cost of moving the consumer is based at least in part on the size of the consumer to be moved.
15. The computer-implemented method of claim 12 , wherein the determined cost of moving the consumer is based at least in part on the proximity of the second provider to the first provider.
16. The computer-implemented method of claim 10 , wherein the computer resource bundle includes at least one of an allotment of computer memory, an allotment of application execution scheduling for one or more central processing units, an allotment of storage interface bandwidth, an allotment of network interface bandwidth, and an allotment of storage.
17. The computer-implemented method of claim 10 , wherein the price of purchase of the computer resource bundle from the second provider is based at least in part on the utilization of the computer resource bundle.
18. A computer-implemented method for moving computer-based consumers between providers in a computer system, comprising:
determining, by a consumer manager running on a data processor in the computer system, a computer resource bundle including at least one resource or service to be purchased for a consumer using virtual currency units;
determining the price, in virtual currency units, for purchase of the computer resource bundle from a first provider in the computer system;
allocating the computer resource bundle from the first provider to the consumer based at least in part on the determined price for purchase from the first provider;
determining a cost of moving the consumer to a second provider of the computer resource bundle in the computer system;
determining a price differential associated with purchase of an amount of the at least one resource or service from the second provider compared to continued purchase from the first provider;
repeating the step of determining a price differential, during one or more different time periods, and adding the determined price differentials to compute an accumulated price differential until the accumulated price differential surpasses the determined cost of moving the consumer to the second provider; and
moving the consumer to the second provider based at least in part on a determination that the accumulated price differential has surpassed the cost of moving the consumer.
19. The computer-implemented method of claim 18 , wherein the consumer is one of a virtual machine, an application running on a virtual machine, a physical machine, and a software container.
20. A system for regulating access to computer resources by computer-based consumers, comprising:
a computer-based system that includes at least a first and second provider of a computer resource bundle to be purchased for a consumer in the computer-based system using virtual currency units, wherein the computer resource bundle includes at least one resource or service; and
instructions stored on a non-transitory computer readable medium in the computer-based system and executable by a data processing apparatus to cause the data processing apparatus to perform operations comprising:
determining, by a consumer manager running on a data processor in the computer-based system, the computer resource bundle including at least one resource or service to be purchased for the consumer using virtual currency units;
determining the price, in virtual currency units, for purchase of the computer resource bundle from the first provider in the computer-based system;
allocating the computer resource bundle from the first provider to the consumer based at least in part on the determined price for purchase from the first provider;
determining the cost of moving the consumer to the second provider of the computer resource bundle in the computer-based system;
computing an accumulated savings value of purchasing the computer resource bundle from the second provider, over continued purchase of the computer resource bundle from the first provider, wherein the computing comprises adding together at least a first savings value based on a first difference in purchase price from the first and second providers and a first amount of the at least one resource or service to be purchased during a first period of time, and a second savings value based on a second difference in purchase price from the first and second providers and a second amount of the at least one resource or service to be purchased during a second period of time, wherein the second period of time is different than the first period of time; and
moving the consumer to the second provider based at least in part on the accumulated savings value after the accumulated savings value has surpassed the cost of moving the consumer.
21. The system of claim 20 , wherein computing the accumulated savings value further comprises:
initializing an accumulated savings value;
modifying the accumulated savings value based at least in part on the difference in price for purchase of the computer resource bundle offered by the first and second providers, wherein the savings value is increased based on a lower purchase price from the second provider or decreased based on a higher purchase price from the second provider; and
repeating the modifying step until the accumulated savings value surpasses the determined cost of moving the consumer to the second provider.
22. The system claim 20 , wherein the consumer is one of a virtual machine, an application running on a virtual machine, a physical machine, and a software container.
23. A system for regulating access to computer resources by computer-based consumers, comprising:
a computer-based system that includes at least a first and second provider of a computer resource bundle to be purchased for a consumer in the computer-based system using virtual currency units, wherein the computer resource bundle includes at least one resource or service; and
instructions stored on a non-transitory computer readable medium in the computer-based system and executable by a data processing apparatus to cause the data processing apparatus to perform operations comprising:
determining, by a consumer manager running on a data processor in the computer-based system, the computer resource bundle including at least one resource or service to be purchased for a consumer using virtual currency units;
determining the price, in virtual currency units, for purchase of the computer resource bundle from the first provider in the computer system;
allocating the computer resource bundle from the first provider to the consumer based at least in part on the determined price for purchase from the first provider;
assigning a credit value to the consumer manager for allocation of the computer resource bundle to the consumer;
computing the price differential of continued purchase of the computer resource bundle from the first provider compared to the price of purchase of the computer resource bundle from a second provider;
modifying the credit value based at least in part on the computed price differential, wherein the credit value is decreased based on a lower purchase price from the second provider or increased based on a higher purchase price from the second provider;
repeating the computing and modifying steps during one or more different time periods until the credit value decreases below a predetermined credit value; and
moving the consumer to the second provider based at least in part on the credit value after the credit value has decreased below the predetermined value.
24. The system claim 23 , wherein the consumer is one of a virtual machine, an application running on a virtual machine, a physical machine, and a software container.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.