Remote Virtualization of Mobile Apps
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention includes various embodiments of a mobile app remote virtualization system and process that enables users of remote client devices to control mobile apps running in a host server environment. The resulting user experience is practically equivalent to running native mobile apps, even when such mobile apps require access to local client device resources, as well as when native versions of such mobile apps do not exist for the user'"'"'s client device. The functionality afforded by the mobile app remote virtualization system and process of the present invention enables a variety of novel scenarios and “use cases” that have not previously been available to mobile device users.
98 Citations
62 Claims
-
1. (canceled)
-
2. (canceled)
-
3. A remote virtualization system for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the system comprising:
-
(a) an application that runs on the host server platform; (b) a virtual application that runs on the remote client device to control the execution of the application on the host server platform; (c) a capture engine that intercepts user-initiated events, resulting from a user'"'"'s interaction with the virtual application on the remote client device, wherein the user-initiated events are transmitted over the network to the application; (d) an AV streamer that streams, to the virtual application over the network, screen displays and associated audio generated by the application in response to the user-initiated events; and (e) a remote API listener/dispatcher that intercepts requests from the application for application-initiated events that require access to local resources on the remote client device, wherein the application-initiated events are transmitted over the network to the virtual application, and submitted to the native operating system on the remote client device to access the local resources. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A remote virtualization system for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the system comprising:
-
(a) an application that runs on the host server platform; (b) a native application that runs on the remote client device; (c) an interactive mobile advertisement, embedded within the native application, that advertises an opportunity to demo the application; and (d) a virtual application, embedded within the native application, that controls the demo of the application upon being invoked by a user'"'"'s interaction with the interactive mobile advertisement. - View Dependent Claims (21, 22)
-
-
23. A remote virtualization system for running, on an app store platform, trial versions of applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the system comprising:
-
(a) a trial version of an application that runs on the app store platform; (b) a native application that runs on the remote client device to provide a user of the remote client device with access to the app store platform; and (c) a virtual application that, upon being invoked by a user'"'"'s interaction with the app store platform, runs on the remote client device and controls the execution of the trial version of the application.
-
-
24. A remote virtualization system for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the system comprising:
-
(a) an application that runs on the host server platform to facilitate the performance of commercial transactions; (b) a native application that runs on the remote client device; (c) an interactive mobile advertisement, embedded within the native application, that advertises an opportunity to perform a commercial transaction; and (d) a virtual application, embedded within the native application, that, upon being invoked by a user'"'"'s interaction with the interactive mobile advertisement, controls the execution of the application to enable the user to perform the commercial transaction.
-
-
25. A remote virtualization system for running, on a host server platform, a company'"'"'s business applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the system comprising:
-
(a) a business application that runs on the host server platform; and (b) a virtual application that runs on the remote client device and, upon being invoked by a user of the remote client device, controls the execution of the business application, wherein; (i) the data generated by the business application are stored on the host server platform, and (ii) the user'"'"'s access to the virtual application can be disabled from the host server platform.
-
-
26. A remote virtualization system for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the system comprising:
-
(a) an application that runs on the host server platform; (b) a virtual application that runs on the remote client device to control the execution of the application on the host server platform; and (c) a link to the application that, when invoked on the remote client device, results in the following actions; (i) if the application is installed on the remote client device, the application is launched on the remote client device; and (ii) if the application is not installed on the remote client device, the virtual application is launched, which results in the application being launched on the host server platform.
-
-
27. The system of claim 27, wherein the link is a deep link that results in the execution of the application, whether launched on the remote client device or the host server platform, being transferred to a location in the application associated with the deep link.
-
28. A remote virtualization system for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the system comprising:
-
(a) an application that runs on the host server platform; and (b) a virtual application that runs on the remote client device and, when invoked, results in the application being launched on the host server platform and its execution fast-forwarded to a predefined point in the application corresponding to the point that would be reached as a result of a plurality of user interactions with the application during its runtime execution. - View Dependent Claims (29, 30, 31)
-
-
32. A method for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the method comprising the following steps:
-
(a) running an application on the host server platform; (b) running a virtual application on the remote client device to control the execution of the application on the host server platform; (c) intercepting user-initiated events, resulting from a user'"'"'s interaction with the virtual application on the remote client device, and transmitting the user-initiated events over the network to the application; (d) streaming screen displays and associated audio over the network to the virtual application, wherein the screen displays and associated audio are generated by the application in response to the user-initiated events; and (e) intercepting requests from the application for application-initiated events that require access to local resources on the remote client device, and transmitting the application-initiated events over the network to the virtual application, and submitting the application-initiated events to the native operating system on the remote client device to access the local resources. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
-
49. A method for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the method comprising the following steps:
-
(a) running an application on the host server platform; (b) running a native application on the remote client device; (c) embedding, within the native application, an interactive mobile advertisement that advertises an opportunity to demo the application; and (d) interacting with the interactive mobile advertisement to invoke a virtual application, embedded within the native application, that controls the demo of the application. - View Dependent Claims (50, 51)
-
-
52. A method for running, on an app store platform, trial versions of applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the method comprising the following steps:
-
(a) running a trial version of an application on the app store platform; (b) running a native application on the remote client device to provide a user of the remote client device with access to the app store platform; and (c) interacting with the app store platform to invoke a virtual application on the remote client device that controls the execution of the trial version of the application.
-
-
53. A method for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the method comprising the following steps:
-
(a) running an application on the host server platform to facilitate the performance of commercial transactions; (b) running a native application on the remote client device; (c) embedding, within the native application, an interactive mobile advertisement that advertises an opportunity to perform a commercial transaction; and (d) embedding, within the native application, a virtual application that controls the execution of the application to enable the user to perform the commercial transaction.
-
-
54. A method for running, on a host server platform, a company'"'"'s business applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the method comprising the following steps:
-
(a) running a business application on the host server platform; and (b) running a virtual application on the remote client device that, upon being invoked by a user of the remote client device, controls the execution of the business application, wherein; (i) the data generated by the business application are stored on the host server platform, and (ii) the user'"'"'s access to the virtual application can be disabled from the host server platform.
-
-
55. A method for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the method comprising the following steps:
-
(a) running an application on the host server platform; (b) running a virtual application on the remote client device to control the execution of the application on the host server platform; and (c) invoking a link on the remote client device that results in the following actions; (i) if the application is installed on the remote client device, the application is launched on the remote client device; and (ii) if the application is not installed on the remote client device, the virtual application is launched, which results in the application being launched on the host server platform.
-
-
56. The method of claim 56, wherein the link is a deep link that results in the execution of the application, whether launched on the remote client device or the host server platform, being transferred to a location in the application associated with the deep link.
-
57. A method for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the method comprising the following steps:
-
(a) running an application on the host server platform; and (b) running a virtual application on the remote client device that, when invoked, results in the application being launched on the host server platform and its execution fast-forwarded to a predefined point in the application corresponding to the point that would be reached as a result of a plurality of user interactions with the application during its runtime execution. - View Dependent Claims (58, 59, 60)
-
-
61. A remote virtualization system for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the system comprising:
-
(a) an application that runs on the host server platform; (b) a virtual application that runs on the remote client device to control the execution of the application on the host server platform; (c) a capture engine that intercepts user-initiated events, resulting from a user'"'"'s interaction with the virtual application on the remote client device, wherein the user-initiated events are transmitted over the network to the application; (d) an AV streamer that streams, to the virtual application over the network, screen displays and associated audio generated by the application in response to the user-initiated events; and (e) a specialized graphics API listener/dispatcher that intercepts and forwards GPU-centric requests from the application to a GPU rendering server for processing.
-
-
62. A method for running, on a host server platform, applications that are controlled over a network by virtual applications running on a remote client device which includes a native operating system, the method comprising the following steps:
-
(a) running an application on the host server platform; (b) running a virtual application on the remote client device to control the execution of the application on the host server platform; (c) intercepting user-initiated events, resulting from a user'"'"'s interaction with the virtual application on the remote client device, and transmitting the user-initiated events over the network to the application; (d) streaming screen displays and associated audio over the network to the virtual application, wherein the screen displays and associated audio are generated by the application in response to the user-initiated events; and (e) intercepting and forwarding GPU-centric requests from the application to a GPU rendering server for processing.
-
Specification