Patent ID: 9239740
Filing Date: 2016-01-19
CPC Classification: G06F,Y02D

Claim Text:
1. One or more memories storing instructions that, when executed by one or more processors, cause a computing device to perform acts comprising: decomposing a program, to be executed in association with the computing device, into a plurality of work units; for an individual work unit of the plurality of work units, retrieving a work unit profile that comprises information relating to execution metrics describing a consumption of device resources, wherein the information of the work unit profile is based at least in part on previous execution of the individual work unit on other computing devices of a plurality of other computing devices that have same device resources as the computing device; acquiring current resource state data associated with the computing device and one or more network resources, wherein the current resource state data comprises: constructing an execution model estimating resource consumption results to complete the plurality of work units based at least on the execution metrics and the current resource state data; generating a model performance metric (MPM) which consolidates the resource consumption results from the execution model; accessing a partitioning policy for the computing device; comparing the MPM and the partitioning policy to assess a cost function associated with execution of the program, the cost function placing a first weighting factor on the current total delay information, a second weighting factor on the current power consumption and power availability information, and a third weighting factor on the current financial cost information; and determining, based at least on the comparing, a partitioning of the program between the computing device and the one or more network resources such that at least a first work unit of the plurality of work units of the program is processed at the computing device and at least a second work unit of the plurality of work units of the program is processed at the one or more network resources.