Resource management in a cloud computing environment
US-9635134-B2 · Apr 25, 2017 · US
US10031785B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10031785-B2 |
| Application number | US-201514683795-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 10, 2015 |
| Priority date | Apr 10, 2015 |
| Publication date | Jul 24, 2018 |
| Grant date | Jul 24, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
For predictive computing resource allocation in a distributed environment, a model module generating a model of computing resource usage in a distributed computer system having a plurality of geographically distributed nodes organized into a plurality of clusters, a demand module predicting future demand for computing resources, a cost module calculating an operation cost for each computing resource, an available resource module identifying a set of available computing resources in the computer system, a resource set module that determines a minimum cost set of computer resources capable of meeting the predicted demand based on the set of available computing resources and on operating costs, and an activation module that determines whether to activate or deactivate each of the plurality of nodes based on the set of computer resources capable of meeting the predicted demand.
Opening claim text (preview).
What is claimed is: 1. An apparatus comprising: a model module that generates a model of computing resource usage in a distributed computer system, wherein the distributed computer system comprises a plurality of geographically distributed nodes organized into a plurality of clusters, each node providing at least one computing resource, and each cluster comprising at least two of the plurality of nodes; a demand module that predicts a future resource requirement in the distributed computer system based on the model of computing resource usage; a cost module that calculates a resource cost for each computing resource in the computer system; an available resource module that identifies a set of available computing resources in the computer system capable of meeting the predicted future resource requirement; a resource set module that determines a least expensive set of computer resources capable of meeting the predicted future demand based on the set of available computing resources and on the calculated resource cost of each available computing resource; an allocation module that allocates available computing resources from the least expensive set of computer resources to meet the predicted future resource requirement based on resource cost; an activation module that deactivates one or more highest cost nodes not needed to meet the predicted future resource requirement, wherein at least a portion of the model module, demand module, cost module, available resource module, resource set module, allocation module, and activation module comprise one or more of hardware and executable code, the executable code stored on one or more computer readable storage media. 2. The apparatus of claim 1 , further comprising a trend module that identifies a current trend of increasing demand or of decreasing demand based on computing resource usage in the distributed computer system, the trend module determining overutilization or underutilization of computing resources in the computer system based on computing resource usage data. 3. The apparatus of claim 1 , further comprising a resource usage module that gathers node-level usage data for the plurality nodes and cluster-level usage data for the plurality of clusters, wherein the model of computing resource usage in the computer system is based on node-level usage data and cluster-level usage data. 4. The apparatus of claim 3 , wherein the node-level usage data comprises one or more of: data storage consumption, data storage read/write throughput, data storage read/write input/output per second (TOPS), computational core utilization, computational latency, memory consumption for non-cached processes, network throughput, and network latency; and wherein the cluster-level usage data comprises one or more of: a total number of nodes in each cluster, a number of idle nodes in each cluster, a number of nodes available for activation, and node transactional latency. 5. The apparatus of claim 3 , wherein the resource usage module further gathers cloud-level usage data for the computer system, the cloud-level usage data comprising one or more of: a total number of clusters, a number of idle clusters, a number of clusters available for activation, geographic locations of available resources, a current cost of system resources, cluster transactional latency, and a number of prepaid resource allocations. 6. The apparatus of claim 1 , further comprising a recommendation module that sends a node activation recommendation to an administrator of the computer network, the node activation recommendation recommending activation or deactivation of a particular node, and receives an instruction from the administrator, wherein the activation module that determines activates or deactivates the particular node based on the instruction. 7. The apparatus of claim 1 , wherein the available resource module comprises: a performance module that identifies a set of minimum performance requirements associated with the predicted future demand; and a filter module that removes nodes from the set of available resources in response to a node being unable to meet the set of minimum performance requirements associated with the predicted future demand. 8. The apparatus of claim 1 , wherein the model module further comprises: a node-level module that predicts storage, memory and computational consumption of the plurality of nodes based on the node-level usage data; and a cluster-level module that predicts resource allocation among the nodes and the shared resources of each cluster based on the cluster-level usage data. 9. The apparatus of claim 1 , further comprising an accuracy module that compares the current usage to resource demand predicted by the model of computing resource usage and updates the model of computing resource usage based on the comparison, wherein the model of computing resource usage comprises a set of adjustable equations that describes the state of the computer system. 10. A method for predictive computing resource allocation in a distributed environment, the method comprising: modelling resource usage in a computer system, the computer system comprising a plurality of geographically distributed nodes organized into a plurality of clusters, each node providing at least one computing resource, and each cluster comprising at least two of the plurality of nodes; predicting a future resource requirement in the computer system based on the modelled resource usage; identifying available computing resources in the computer system capable of meeting the predicted future resource requirement; calculating a resource cost of each computing resource in the computer system; determining a least expensive set of resources that meets the predicted future resource requirement based on the available computing resources and the calculated resource cost of each available computing resource; allocating available computing resources from the least expensive set of resources to meet the predicted future resource requirement based on resource cost; and deactivating one or more highest cost nodes not part of the least expensive set of resources that meets the predicted future resource requirement. 11. The method of claim 10 , further comprising: identifying a current resource usage of the computing system; identifying currently used computing resources in the computing system; calculating a least expensive set of resources to meet the current usage based on the currently used computing resources, the available resources, and the calculated resource cost of each available computing resource; and re-allocating computing resources in the computer system based on the least expensive set of resources to meet the current usage. 12. The method of claim 11 , wherein re-allocating computing resources in the computer system based on the least expensive set of resources to meet the current usage comprises: ranking nodes capable of meeting the current usage according to operating cost; allocating computing resources of lowest cost nodes based on the node ranking; and deactivating one or more highest-cost nodes not needed to meet the current usage. 13. The method of claim 10 , further comprising: identifying rising demand for computing resources in the computer system; and activating a lowest cost node in response to the rising demand. 14. The method of claim 10 , further comprising: identifying lowering demand for computing resources in the computer system; and deactivating a highest cost node in response to the lowering demand. 15. The method of claim 10 , further comprising: identifying timing req
Techniques for rebalancing the load in a distributed system · CPC title
Workload prediction · CPC title
Distributed allocation of resources, e.g. bandwidth brokers · CPC title
Electricity · mapped topic
based on usage prediction · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.