Planned cloud resource management
First Claim
1. A method of managing hardware resources of a plurality of client nodes, the method comprising:
- providing a plan that indicates when to execute a plurality of applications;
identifying one or more concurrent applications which are one or more of the plurality of applications that are scheduled to execute concurrently according to the plan;
generating a plurality of hypothetical execution assignments of the one or more concurrent applications to the plurality of client nodes;
prior to executing at least one of the plurality of hypothetical execution assignments, evaluating the hypothetical execution assignments with a utility function that factors in aspects of each of the one or more concurrent applications and the hardware resources of the plurality of client nodes from a plurality of different profiles, wherein each execution assignment assigns a particular application of the one or more concurrent applications to a particular client node or particular type of client node from the plurality of client nodes; and
instructing respective client nodes of the plurality of client nodes to execute respective applications based on the utility function.
1 Assignment
0 Petitions
Accused Products
Abstract
One embodiment is directed to a method of managing hardware resources of a plurality of client nodes. The method includes providing a plan that indicates when to execute a plurality of applications and identifying one or more concurrent applications which are one or more of the plurality of applications that are scheduled to execute concurrently according to the plan. The method also includes determining which of the one or more concurrent applications to execute on which of a plurality of client nodes by maximizing a utility function that factors in aspects of each of one or more concurrent applications and the hardware resources of the plurality of client nodes. Respective client nodes of the plurality of client nodes are instructed to execute respective applications as determined.
-
Citations
22 Claims
-
1. A method of managing hardware resources of a plurality of client nodes, the method comprising:
-
providing a plan that indicates when to execute a plurality of applications; identifying one or more concurrent applications which are one or more of the plurality of applications that are scheduled to execute concurrently according to the plan; generating a plurality of hypothetical execution assignments of the one or more concurrent applications to the plurality of client nodes; prior to executing at least one of the plurality of hypothetical execution assignments, evaluating the hypothetical execution assignments with a utility function that factors in aspects of each of the one or more concurrent applications and the hardware resources of the plurality of client nodes from a plurality of different profiles, wherein each execution assignment assigns a particular application of the one or more concurrent applications to a particular client node or particular type of client node from the plurality of client nodes; and instructing respective client nodes of the plurality of client nodes to execute respective applications based on the utility function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A data storage entity comprising:
a non-transitory processor readable medium having software stored thereon, wherein the software, when executed by one or more processing devices; identifies one or more concurrent applications which are one or more of a plurality of applications that are scheduled to execute concurrently according to a plan, wherein the plan indicates when to execute the plurality of applications; generates a plurality of hypothetical execution assignments of the one or more concurrent applications to a plurality of client nodes; prior to executing at least one of the plurality of hypothetical execution assignments, evaluates the hypothetical execution assignments with a utility function that factors in aspects of each of the one or more concurrent applications and the hardware resources of the plurality of client nodes from a plurality of different profiles, wherein each execution assignment assigns a particular application of the one or more concurrent applications to a particular client node or particular type of client node from the plurality of client nodes; and instructs respective client nodes of the plurality of client nodes to execute respective applications based on the utility function. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
22. A network of nodes comprising:
-
a plurality of client nodes, each client node having one or more processing devices coupled to one or more data storage devices having instructions thereon, wherein the instructions on at least some of the client nodes implement a client manager when executed on the one or more processing devices of the corresponding client node; a cloud manager node communicatively coupled to the plurality of client nodes, the cloud manager node including one or more processing devices coupled to one or more data storage devices having instructions thereon, wherein the instructions when executed on the one or more processing devices of the client node; identify one or more concurrent applications which are one or more of a plurality of applications that are scheduled to execute concurrently according to a plan, wherein the plan indicates when to execute the plurality of applications; generate a plurality of hypothetical execution assignments of the one or more concurrent applications to the plurality of client nodes; prior to executing at least one of the plurality of hypothetical execution assignments, evaluate the hypothetical execution assignments with a utility function that factors in aspects of each of the one or more concurrent applications and the hardware resources of the plurality of client nodes from a plurality of different profiles; and instruct client managers of each client node to execute respective applications in accordance with the hypothetical execution assignment that maximizes the utility function.
-
Specification