Temporary or partial offloading of mobile application functions to a cloud-based environment
First Claim
1. A method of offloading operations of a mobile application, comprising:
- establishing an application copy of a mobile application installed on a mobile device at a remote virtual machine;
suspending the mobile application on the mobile device; and
tracking resource consumption by a plurality of mobile applications on the mobile device;
selecting the mobile application for offloading based on the resource consumption that is tracked;
determining a period of time during which the operations of the mobile application are offloaded to the application copy at the remote virtual machine based on context awareness, wherein context awareness includes network-side contextual data and client-side contextual data, wherein the client-side contextual data includes user activity patterns,wherein the selected mobile application is offloaded during a time period in which no user activity is detected; and
offloading operations of the mobile application to the application copy at the remote virtual machine for the period of time.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for temporarily and/or partially offloading mobile applications to one or more remote virtual machines in a server include establishing an application copy of a mobile application installed on a mobile device at a remote virtual machine, suspending the mobile application on the mobile device and offloading operations of the mobile application to the application copy at the remote virtual machine for a period of time. Suspending the mobile application and offloading its operations to the remote virtual machine for the period of time reduces consumption of resources on the mobile device. The virtual machine executes the application copy in the same manner the mobile device would execute the mobile application and transfers data from the execution to the mobile application at the end of the period of time to allow the mobile application to update itself and resume its operation without any loss of data or functionality.
43 Citations
21 Claims
-
1. A method of offloading operations of a mobile application, comprising:
-
establishing an application copy of a mobile application installed on a mobile device at a remote virtual machine; suspending the mobile application on the mobile device; and tracking resource consumption by a plurality of mobile applications on the mobile device; selecting the mobile application for offloading based on the resource consumption that is tracked; determining a period of time during which the operations of the mobile application are offloaded to the application copy at the remote virtual machine based on context awareness, wherein context awareness includes network-side contextual data and client-side contextual data, wherein the client-side contextual data includes user activity patterns, wherein the selected mobile application is offloaded during a time period in which no user activity is detected; and offloading operations of the mobile application to the application copy at the remote virtual machine for the period of time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A mobile device, comprising:
-
a memory; a processor disposed in communication with the memory and configured to execute a plurality of instructions stored in the memory to; transfer configuration data corresponding to a mobile application on the mobile device to a remote server to establish a proxy of the mobile application on a virtual machine hosted by the remote server; suspend the mobile application on the mobile device; track resource consumption by a plurality of mobile applications on the mobile device; select the mobile application for offloading based on the resource consumption that is tracked; determine a period of time during which the operations of the mobile application are offloaded to the application copy at the remote virtual machine based on context awareness, wherein context awareness includes network-side contextual data and client-side contextual data, wherein the client-side contextual data includes user activity patterns, wherein the selected mobile application is offloaded during a time period in which no user activity is detected; and offload operations of the mobile application to the proxy of the mobile application at the virtual machine for the period of time. - View Dependent Claims (15, 16)
-
-
17. A system, comprising:
a remote server hosting a virtual machine configured to; track resource consumption by a plurality of mobile applications on a mobile device; select the mobile application for offloading based on the resource consumption that is tracked; receive configuration data to establish a copy of the mobile application selected for offloading installed on a mobile device; determine a period of time during which the operations of the mobile application are offloaded to the application copy at the remote virtual machine based on context awareness, wherein context awareness includes network-side contextual data and client-side contextual data, wherein the client-side contextual data includes user activity patterns; wherein the selected mobile application is offloaded during a time period in which no user activity is detected; in response to receiving instructions, execute the copy of the mobile application for the period of time in the same manner as the mobile device would execute the mobile application; aggregate new or changed data from executing the copy of the mobile application; and at the end of the period of time, transfer the new or changed data that are aggregated to the mobile application on the mobile device. - View Dependent Claims (18, 19, 20, 21)
Specification