Persisting state of a streaming application
First Claim
1. A computer-implemented method comprising:
- receiving, by a controller of a cloud server system, data indicating interaction with third-party content that is displayed with first-party content at a first user device;
in response to the interaction with the third-party content at the first user device, initiating, by the controller of the cloud server system, an application request for a streaming version of an application (“
streaming application”
);
in response to the request for the streaming application;
executing, by a virtual machine of the cloud server system, the streaming application, andgenerating, by the virtual machine of the cloud server system, a graphical representation of the streaming application;
providing, by the virtual machine of the cloud server system and to the first user device, the graphical representation of the streaming application and instructions to display the graphical representation of the streaming application on a display of the first user device;
receiving, from the first user device and by the virtual machine of the cloud server system, data indicating a user interaction with the representation of the streaming application at the first user device;
determining, by the virtual machine of the cloud server system, that the user interaction changed a state of the streaming application being executed by the virtual machine of the cloud server system;
based on determining that the user interaction changed the state of the streaming application, generating and storing, by the controller of the cloud server system, data indicating the changed state of the streaming application;
after storing the data indicating the changed state of the streaming application, receiving, from a second user device that is locally executing a locally-installed version of the application (“
installed application”
) and by the controller of the cloud server system, a request for a current state of the streaming application; and
in response to the request for the current state of the streaming application, updating, by the controller of the cloud server system, a state of the installed application to match the first changed state of the streaming application by providing, to the second user device, (i) state data specifying the changed state of the streaming application and (ii) instructions to update the state of the installed application being locally executed by the second user device to match the changed state of the streaming application.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for persisting state of a streaming application are disclosed. In one aspect, a method includes the actions of receiving data indicating interaction with third-party content that is displayed with first-party content at a client device. The interaction with the third-party content initiates an application request for a streaming version of an application (“streaming application”). The actions further include generating a representation of the streaming application in response to the interaction with the third-party content at the client device. The actions further include receiving data indicating a user interaction with the representation of the streaming application at the client device. The actions further include generating and storing data indicating a first state of the streaming application at a first time based on the user interaction with the representation of the streaming application.
-
Citations
20 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a controller of a cloud server system, data indicating interaction with third-party content that is displayed with first-party content at a first user device; in response to the interaction with the third-party content at the first user device, initiating, by the controller of the cloud server system, an application request for a streaming version of an application (“
streaming application”
);in response to the request for the streaming application; executing, by a virtual machine of the cloud server system, the streaming application, and generating, by the virtual machine of the cloud server system, a graphical representation of the streaming application; providing, by the virtual machine of the cloud server system and to the first user device, the graphical representation of the streaming application and instructions to display the graphical representation of the streaming application on a display of the first user device; receiving, from the first user device and by the virtual machine of the cloud server system, data indicating a user interaction with the representation of the streaming application at the first user device; determining, by the virtual machine of the cloud server system, that the user interaction changed a state of the streaming application being executed by the virtual machine of the cloud server system; based on determining that the user interaction changed the state of the streaming application, generating and storing, by the controller of the cloud server system, data indicating the changed state of the streaming application; after storing the data indicating the changed state of the streaming application, receiving, from a second user device that is locally executing a locally-installed version of the application (“
installed application”
) and by the controller of the cloud server system, a request for a current state of the streaming application; andin response to the request for the current state of the streaming application, updating, by the controller of the cloud server system, a state of the installed application to match the first changed state of the streaming application by providing, to the second user device, (i) state data specifying the changed state of the streaming application and (ii) instructions to update the state of the installed application being locally executed by the second user device to match the changed state of the streaming application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a controller that is configured to; receive data indicating interaction with third-party content that is displayed with first-party content at a first user device; and in response to the interaction with the third-party content at the first user device, initiate an application request for a streaming version of an application (“
streaming application”
);a virtual machine that is configured to; in response to the request for the streaming application; execute the streaming application, and generate a graphical representation of the streaming application; provide, to the first user device the graphical representation of the streaming application and instructions to display the graphical representation of the streaming application on a display of the first user device; receive, from the first user device, data indicating a user interaction with the representation of the streaming application at the first user device; determine that the user interaction changed a state of the streaming application being executed by the virtual machine of the cloud server system; and a data storage device that is configured to store state data; wherein the controller is further configured to; generate data indicating the changed state of the streaming application; store, in the data storage device, the data indicating the changed state of the streaming application; after storing the data indicating the changed state of the streaming application, receive, from a second user device that is locally executing a locally-installed version of the application (“
installed application”
), a request for a current state of the streaming application; andin response to the request for the current state of the streaming application, update a state of the installed application to match the changed state of the streaming application by providing, to the second user device, (i) state data specifying the changed state of the streaming application and (ii) instructions to update the state of the installed application being locally executed by the second user device to match the changed state of the streaming application. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
-
receiving, by a controller of a cloud server system, data indicating interaction with third-party content that is displayed with first-party content at a first user device; in response to the interaction with the third-party content at the first user device, initiating, by the controller of the cloud server system, an application request for a streaming version of an application (“
streaming application”
);in response to the request for the streaming application; executing, by a virtual machine of the cloud server system, the streaming application, and generating, by the virtual machine of the cloud server system, a graphical representation of the streaming application; providing, by the virtual machine of the cloud server system and to the first user device, the graphical representation of the streaming application and instructions to display the graphical representation of the streaming application on a display of the first user device; receiving, from the first user device and by the virtual machine of the cloud server system, data indicating a user interaction with the representation of the streaming application at the first user device; determining, by the virtual machine of the cloud server system, that the user interaction changed a state of the streaming application being executed by the virtual machine of the cloud server system; based on determining that the user interaction changed the state of the streaming application, generating and storing, by the controller of the cloud server system, data indicating the changed state of the streaming application; after storing the data indicating the changed state of the streaming application, receiving, from a second user device that is locally executing a locally-installed version of the application (“
installed application”
) and by the controller of the cloud server system, a request for a current state of the streaming application; andin response to the request for the current state of the streaming application, updating, by the controller of the cloud server system, a state of the installed application to match the changed state of the streaming application by providing, to the second user device, (i) state data specifying the changed state of the streaming application and (ii) instructions to update the state of the installed application being locally executed by the second user device to match the changed state of the streaming application.
-
Specification