Mobile application migration to cloud computing platform
First Claim
1. A method for executing computer applications at a server, comprising:
- identifying, at a computing device, a service component of a computer application executed at the computing device, wherein the service component runs at a background of an operating system of the computing device;
transferring, from the computing device to a server, an instance of the service component if the server does not have the instance of the service component;
sending, from the computing device to the server, a message indicating that the computing device is switching a user interface component of the computer application to a foreground of the operating system of the computing device, wherein the service component and the user interface component of the computer application execute at the computing device as two threads belonging to a process of the computer application;
receiving, from the server, a result message generated by the instance of the service component executed at the server; and
feeding, at the computing device, a content of the result message to the user interface component of the computer application via a procedure call such that the user interface component retrieves the content of the result message as if it was generated by an instance of the service component executed at the computing device.
4 Assignments
0 Petitions
Accused Products
Abstract
Technology is disclosed herein for migrating at least portions of computer applications to a server. According to at least one embodiment, a computing device identifies a service component of a computer application executed at the computing device. The service component does not directly interact with a user of the computing device. The computing device transfers an instance of the service component to a server so that the service component can be executed at the server. The computing device then receives from the server a result message generated by the instance of the service component executed at the server. The computing device feeds the result message to a user interface component of the computer application via a procedure call such that the user interface component retrieves the result message as if it were generated by an instance of the service component executed at the computing device.
33 Citations
20 Claims
-
1. A method for executing computer applications at a server, comprising:
-
identifying, at a computing device, a service component of a computer application executed at the computing device, wherein the service component runs at a background of an operating system of the computing device; transferring, from the computing device to a server, an instance of the service component if the server does not have the instance of the service component; sending, from the computing device to the server, a message indicating that the computing device is switching a user interface component of the computer application to a foreground of the operating system of the computing device, wherein the service component and the user interface component of the computer application execute at the computing device as two threads belonging to a process of the computer application; receiving, from the server, a result message generated by the instance of the service component executed at the server; and feeding, at the computing device, a content of the result message to the user interface component of the computer application via a procedure call such that the user interface component retrieves the content of the result message as if it was generated by an instance of the service component executed at the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computing device comprising:
-
a processor; an operating system including a migration module having instructions which, when executed by the processor, monitor a computer application executed at the computing device, and identify a background thread and a foreground thread of the computer application, wherein the background thread is configured to generate data for the foreground thread, and the foreground thread is configured to allow for user interface to interact with a user of the computing device; a networking interface configured to transfer to a server data necessary for executing an instance of the background thread at the server, and to receive from the server result data generated by the instance of the background thread executed at the server; the networking interface further configured to send a message to the server indicating that the computing device is switching a user interface of the computer application to a foreground of an operating system of the computing device, the user interface being generated by the foreground thread; and an output device configured to present content of the result data via the user interface; wherein the foreground thread generates the user interface based on the result data as if the result data was generated by an instance of the background thread executed at the computing device. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A server for executing computer applications designed for computing devices, comprising:
-
a processor; a networking interface configured to communicate with at least one computing device; and an application monitoring module configured to, when executed by the process, monitor a computer application executing at the computing device, and to identify a service component of the computer application handling a computing task which does not need to, but can if necessary, receive input data from or send output data from any I/O device of the computing device; wherein the networking interface is further configured to retrieve from the computing device an instance of the service component or data sufficient for the server to carry out the same functionality of the service component; wherein the processor is further configured to execute the instance of the service component at the server; wherein the networking interface is further configured to synchronize data generated by the instance of the service component executing at the server with data on which a user interaction component of the computer application executing at the computing device operates, wherein the networking interface synchronizes data of the computer application between the server and computing device, in response to a signal from the computing device to the server indicating that the computing device switches the computer application to a foreground of an operating system of the computing device. - View Dependent Claims (18, 19, 20)
-
Specification