IP Library Granted Patent US 11,283,851
Granted Patent B2
US 11,283,851 · App. 16/913,861 · Granted Mar 22, 2022

Persisting state of a streaming application

Inventors: Tuna Toksoz (Mountain View, CA); Thomas Graham Price (San Francisco, CA)
Assignee: Google LLC
H04L65/604H04L65/40H04L65/4084H04L67/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,283,851
App. No.
16/913,861
Granted
Mar 22, 2022
Kind
B2
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.

Claims (85)

1. A computer-implemented method comprising:

receiving, by a server system and from a user, a first request for a streaming game at a first time;

in response to the request for the web-based application, generating, by the server system, a first graphical representation of the streaming game;

providing, by the server system and to the user, the first graphical representation of the streaming game;

storing, by the server system, state information representing progress of the user within the streaming game;

receiving, by the server system, a second request for the streaming game at a second time after the first time;

executing, by the server system, the streaming game in response to the second request;

updating, by the server, a state of the streaming game based on the stored state information to match the progress of the user within the streaming game;

providing, by the server system and to the user, a second graphic representation of the streaming game in the updated state;

receiving, by the server system, data indicating interaction with third-party content that is displayed with first-party content within a browser;

in response to the interaction with the third-party content at the user device, initiating, by the server system, a request for a different streaming game;

in response to the request for the different streaming game:

executing, by the server system, the different streaming game, and

generating, by the server system, a graphical representation of the different streaming game;

providing, by the server system and to the browser, the graphical representation of the different streaming game;

receiving, by the server system, data indicating a user interaction with the graphical representation of the different streaming game at the user device;

generating and storing, by the server system, data indicating a changed state of the different streaming game caused by the user interaction; and

after a particular period of time has elapsed after storing the data indicating the changed state of the different streaming game, deleting the data indicating the changed state of the streaming game.

2. The method of claim 1 , wherein:

providing the first graphical representation of the streaming game comprises providing the first graphical representation of the streaming game to a first user device; and

providing the second graphical representation of the streaming game comprises providing the second graphical representation of the streaming game to a second user device.

3. The method of claim 2 , comprising after providing the second graphic representation of the streaming game to the second user device, generating and storing data indicating a changed state of the streaming game with data that identifies the second user device.

4. The method of claim 3 , wherein generating and storing data indicating a changed state of the streaming game comprises generating and storing data indicating a level of the streaming game completed by the user.

5. The method of claim 1 , comprising:

receiving a request for a current state of the streaming game;

authenticating the request for the current state of the streaming game; and

providing access to the current state of the streaming game, based on authenticating the request for the current state of the streaming game.

6. A system comprising:

one or more memory devices; and

a server including one or more data processing apparatus, wherein the server is configured to execute instructions that cause the server to perform operations including:

receiving, from a user, a first request for a streaming game at a first time;

in response to the request for the web-based application, generating a first graphical representation of the streaming game;

providing, to the user, the first graphical representation of the streaming game;

storing state information representing progress of the user within the streaming game;

receiving a second request for the streaming game at a second time after the first time;

executing the streaming game in response to the second request;

updating a state of the streaming game based on the stored state information to match the progress of the user within the streaming game;

providing, to the user, a second graphic representation of the streaming game in the updated state;

receiving, by the server system, data indicating interaction with third-party content that is displayed with first-party content within a browser;

in response to the interaction with the third-party content at the user device, initiating, by the server system, a request for a different streaming game;

in response to the request for the different streaming game:

executing, by the server system, the different streaming game, and

generating, by the server system, a graphical representation of the different streaming game;

providing, by the server system and to the browser, the graphical representation of the different streaming game;

receiving, by the server system, data indicating a user interaction with the graphical representation of the different streaming game at the user device;

generating and storing, by the server system, data indicating a changed state of the different streaming game caused by the user interaction; and

after a particular period of time has elapsed after storing the data indicating the changed state of the different streaming game, deleting the data indicating the changed state of the streaming game.

7. The system of claim 6 , wherein:

providing the first graphical representation of the streaming game comprises providing the first graphical representation of the streaming game to a first user device; and

providing the second graphical representation of the streaming game comprises providing the second graphical representation of the streaming game to a second user device.

8. The system of claim 7 , wherein the instructions cause the server to perform operations comprising:

after providing the second graphic representation of the streaming game to the second user device, generating and storing data indicating a changed state of the streaming game with data that identifies the second user device.

9. The system of claim 8 , wherein generating and storing data indicating a changed state of the streaming game comprises generating and storing data indicating a level of the streaming game completed by the user.

10. The system of claim 6 , wherein the instructions cause the server to perform operations comprising:

receiving a request for a current state of the streaming game;

authenticating the request for the current state of the streaming game; and

providing access to the current state of the streaming game, based on authenticating the request for the current state of the streaming game.

11. A non-transitory computer-readable medium storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

receiving, from a user, a first request for a streaming game at a first time;

in response to the request for the web-based application, generating a first graphical representation of the streaming game;

providing, to the user, the first graphical representation of the streaming game;

storing state information representing progress of the user within the streaming game;

receiving a second request for the streaming game at a second time after the first time;

executing the streaming game in response to the second request;

updating a state of the streaming game based on the stored state information to match the progress of the user within the streaming game;

providing, to the user, a second graphic representation of the streaming game in the updated state;

receiving, by the server system, data indicating interaction with third-party content that is displayed with first-party content within a browser;

in response to the interaction with the third-party content at the user device, initiating, by the server system, a request for a different streaming game;

in response to the request for the different streaming game:

executing, by the server system, the different streaming game, and

generating, by the server system, a graphical representation of the different streaming game;

providing, by the server system and to the browser, the graphical representation of the different streaming game;

receiving, by the server system, data indicating a user interaction with the graphical representation of the different streaming game at the user device;

generating and storing, by the server system, data indicating a changed state of the different streaming game caused by the user interaction; and

after a particular period of time has elapsed after storing the data indicating the changed state of the different streaming game, deleting the data indicating the changed state of the streaming game.

12. The non-transitory computer-readable medium of claim 11 , wherein:

providing the first graphical representation of the streaming game comprises providing the first graphical representation of the streaming game to a first user device; and

providing the second graphical representation of the streaming game comprises providing the second graphical representation of the streaming game to a second user device.

13. The non-transitory computer-readable medium of claim 12 , wherein the instructions cause the one or more computers to perform operations comprising:

after providing the second graphic representation of the streaming game to the second user device, generating and storing data indicating a changed state of the streaming game with data that identifies the second user device.

14. The non-transitory computer-readable medium of claim 13 , wherein generating and storing data indicating a changed state of the streaming game comprises generating and storing data indicating a level of the streaming game completed by the user.

15. The non-transitory computer-readable medium of claim 11 , wherein the instructions cause the one or more computers to perform operations comprising:

receiving a request for a current state of the streaming game;

authenticating the request for the current state of the streaming game; and

providing access to the current state of the streaming game, based on authenticating the request for the current state of the streaming game.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2020
From: TOKSOZ, TUNA; PRICE, THOMAS GRAHAM
To: GOOGLE INC.
Reel/Frame 053295/0928 →
CHANGE OF NAME Recorded Jul 23, 2020
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 053300/0220 →
Continuity (4)
Continuation 16906857 · Jun 19, 2020
Continuation 16406280 · May 8, 2019
Continuation 15213994 · Jul 19, 2016
Related Publication 20200329080A1 · Oct 15, 2020