Method and system for performance-driven load shifting
AssigneeEMC IP Holding Company LLC
InventorsAmihai Savir, Avitan Gefen, Assaf Natanzon
Life of this patent
Estimating the term…
Abstract
A method and system for performance-driven load shifting. Specifically, the method and system disclosed herein entail transferring user program workloads, for processing, between local computing resources available on a client device and cloud computing resources available on an offload domain based on the assessed performance score of the client device at any given point in time. Seamless load shifting is further guaranteed due substantively to the employment of a mobile network facilitating communications between the client device and the offload domain.
Claims14
A method for performance-driven load shifting, comprising:
- assessing a first client device performance, associated with a client device, while at least a foreground user program (FUP) is executing on the client device;
- making a first determination that the first client device performance is low;
- and
- shifting, based on the first determination, a workload for the FUP to an offload domain,
- wherein the offload domain is a load shifting service (LSS) operatively connected to the client device through a mobile network, and
- wherein shifting the workload for the FUP to the offload domain, comprises:
- intercepting a first client input device output relevant to the workload, wherein the first client input device output is associated with a client input device of the client device;
- redirecting the first client input device output to a virtual resource hosted on the offload domain;
- receiving, from the offload domain, graphics rendered by the virtual resource based at least on the first client input device output;
- and
- presenting the graphics to a client device user operating the client device.
A system, comprising:
- a client device comprising a computer processor;
- a load shifting agent (LSA) executing on the computer processor, and programmed to:
- assess a client device performance, associated with the client device, while at least a foreground user program (FUP) is further executing on the computer processor;
- make a determination that the client device performance is low;
- and
- shift, based on the determination, a workload for the FUP to an offload domain, wherein shifting the workload for the FUP to the offload domain, comprises:
- intercepting a first client input device output relevant to the workload, wherein the first client input device output is associated with a client input device of the client device;
- redirecting the first client input device output to a virtual resource hosted on the offload domain;
- receiving, from the offload domain, graphics rendered by the virtual resource based at least on the first client input device output;
- and
- presenting the graphics to a client device user operating the client device;
- a load shifting service (LSS) operatively connected to the client device, wherein the LSS is the offload domain;
- and
- wherein the client device and the LSS are operatively connected through a mobile network.
A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to:
- assess a first client device performance, associated with a client device, while at least a foreground user program (FUP) is executing on the client device;
- make a first determination that the first client device performance is low;
- and
- shift, based on the first determination, a workload for the FUP to an offload domain,
- wherein the offload domain is a load shifting service (LSS) operatively connected to the client device through a mobile network, and
- wherein shifting the workload for the FUP to the offload domain, comprises:
- intercepting a first client input device output relevant to the workload, wherein the first client input device output is associated with a client input device of the client device;
- redirecting the first client input device output to a virtual resource hosted on the offload domain;
- receiving, from the offload domain, graphics rendered by the virtual resource based at least on the first client input device output;
- and
- presenting the graphics to a client device user operating the client device.
Dependencies are inferred from the claim text.