IP Library › Granted Patent US 12,528,012
Granted Patent B2
US 12,528,012 · App. 17/924,403 · Granted Jan 20, 2026

Level changing in a game streaming system

Inventor: Stephen D. Goglin (Portland, OR)
Assignee: GOOGLE LLC
A63F13/355A63F13/49A63F13/52A63F2300/5533A63F2300/554
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 12,528,012
App. No.
17/924,403
Granted
Jan 20, 2026
Kind
B2
Abstract

A game streaming system concurrently executes different instances of a game program, each instance employing a different set of hardware resources, including different local memory, such as the hardware resources of different servers or different GPUs. Based on a game state, the game streaming system streams rendered frames from a first set of hardware resources associated with the game level to a client device wherein the rendered frames, depicting a portion of a virtual environment. In response to an indication from the game program of a game level change to a new game level, the game streaming system transfers a player state to another set of hardware resources, and begins streaming rendered frames to the client device from the other of hardware resources.

Claims (47)

1 . A method comprising:

executing a first instance of a game program based on a player state to generate a first set of rendered frames to be streamed, the player state indicating a base state of a player prior to modification from executing the first instance and indicating changes to the base state of the player from executing the first instance;

pre-loading a first set of game assets associated with the game program and the base state of the player for use by a second instance of the game program;

in response to an indication of a game level change for the game program, transferring at least a portion of the player state indicating the changes to the base state from executing the first instance to the second instance of the game program; and

executing the second instance of the game program based on the pre-loaded first set of game assets and based on the transferred portion of the player state to generate a second set of rendered frames to be streamed.

2 . The method of claim 1 , wherein transferring at least the portion of the player state comprises transferring the changes to the base state of the player from executing the first instance and omitting the base state of the player from the transfer.

3 . The method of claim 2 , wherein pre-loading the base state of the player for use by the second instance of the game program is in response to the indication of the game level change.

4 . The method of claim 2 , wherein pre-loading the base state of the player for use by the second instance of the game program is prior to the indication of the game level change.

5 . The method of claim 1 , wherein:

executing the second instance comprises pre-loading the first set of game assets from a data store to a first memory; and

executing the first instance comprises loading a second set of game assets from the data store to a second memory, the second set of game assets different from the first set of game assets.

6 . The method of claim 5 , wherein loading the second set of game assets comprises pre-loading the second set of game assets.

7 . The method of claim 1 , wherein:

executing the first instance of the game program comprises generating the first set of rendered frames at a first graphics processing unit (GPU); and

executing the second instance of the game program comprises generating the second set of rendered frames at a second GPU different from the first GPU.

8 . The method of claim 1 , wherein:

executing the first instance of the game program comprises generating the first set of rendered frames at a first server; and

executing the second instance of the game program comprises generating the second set of rendered frames at a second server different from the first server.

9 . A method, comprising:

while executing a first instance of a game program to generate a first set of rendered frames to be streamed, identifying changes to a base state of a player based on executing the first instance of the game program, wherein the base state of the player represents a state unmodified by executing the first instance;

pre-loading the base state of the player for use by a second instance of the program;

in response to an indication of a first game level change for the game program, transferring a first change file indicating the identified first changes to the base state of the player to a second instance of the game program; and

executing the second instance of the game program based on the transferred first change file to generate a second set of rendered frames to be streamed.

10 . The method of claim 9 , further comprising:

while executing the second instance of the game program, identifying second changes in the base state of the player;

in response to an indication of a second game level change for the game program, transferring a second change file indicating the identified second changes in the base state of the player to a third instance of the game program; and

executing the third instance of the game program based on the transferred second change file to generate a third set of rendered frames to be rendered.

11 . A non-transitory computer readable medium embodying a set of executable instructions, the set of executable instructions to manipulate at least one processor to:

execute a first instance of a game program based on a player state to generate a first set of rendered frames to be streamed, the player state indicating a base state of a player prior to modification by the first instance of the game program and indicating changes to the base state of the player from executing the first instance;

pre-load a first set of game assets associated with the game program and the base state of the player for use by a second instance of the game program

in response to an indication of a game level change for the game program, transfer at least a portion of the player state to a second instance of the game program; and

execute the second instance of the game program based on the pre-loaded first set of game assets and based on the transferred portion of the player state to generate a second set of rendered frames to be streamed.

12 . The computer readable medium of claim 11 , wherein transferring at least the portion of the player state comprises transferring the changes to the base state of the player from executing the first instance and omitting the base state of the player from the transfer.

13 . The computer readable medium of claim 12 , wherein the set of executable instructions further comprise instructions to:

pre-load the base state at the second instance of the game program in response to the indication of the game level change.

14 . The computer readable medium of claim 12 , wherein the set of executable instructions further comprise instructions to:

pre-load the base state at the second instance of the game program prior to the indication of the game level change.

15 . The computer readable medium of claim 11 , wherein:

executing the second instance comprises pre-loading the first set of game assets from a data store to a first memory; and

executing the first instance comprises loading a second set of game assets from the data store to a second memory, the second set of game assets different from the first set of game assets.

16 . The computer readable medium of claim 15 , wherein loading the second set of game assets comprises pre-loading the second set of game assets.

17 . The computer readable medium of claim 11 , wherein:

executing the first instance of the game program comprises generating the first set of rendered frames at a first graphics processing unit (GPU); and

executing the second instance of the game program comprises generating the second set of rendered frames at a second GPU different from the first GPU.

18 . The computer readable medium of claim 11 , wherein:

executing the first instance of the game program comprises generating the first set of rendered frames at a first server; and

executing the second instance of the game program comprises generating the second set of rendered frames at a second server different from the first server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2022
From: GOGLIN, STEPHEN D.
To: GOOGLE LLC
Reel/Frame 061717/0566 →
Continuity (1)
Related Publication 20230173382A1 · Jun 8, 2023
References Cited (23)
US 10576380B1 · Beltran et al. · 2020 [cited by applicant]
US 20140024457A1 · Justice · 2014 [cited by examiner]
US 20140057722A1 · Justice et al. · 2014 [cited by applicant]
US 20150141152A1 · Justice et al. · 2015 [cited by applicant]
US 20160080442A1 · Justice · 2016 [cited by examiner]
US 20160256784A1 · Schultz et al. · 2016 [cited by applicant]
US 20170087464A1 · Perry et al. · 2017 [cited by applicant]
US 20180021684A1 · Benedetto · 2018 [cited by applicant]
US 20200206628A1 · Benedetto et al. · 2020 [cited by applicant]
US 20200238181A1 · Fang et al. · 2020 [cited by applicant]
US 20210093952A1 · Ronsse · 2021 [cited by examiner]
WO 2014078452A1 · 2014 [cited by applicant]
WO 2017116874A1 · 2017 [cited by applicant]
WO 2019074952A2 · 2019 [cited by applicant]
WO 2019097837A1 · 2019 [cited by applicant]
Translation of Korean Notice of Office Action mailed Aug. 9, 2024 for KR Application No. 10-2022-7042615, 18 pages. [cited by applicant]
International Search Report and Written Opinion mailed Feb. 8, 2021 for corresponding International Application No. PCT/US2020/032665, 14 pages. [cited by applicant]
International Preliminary Report on Patentability mailed Nov. 24, 2022 for PCT Application No. PCT/US2020/032665, 9 pages. [cited by applicant]
Translation of Notice of Grounds of Rejection mailed Dec. 12, 2023 for JP Application No. 2022-568938, 9 pages. [cited by applicant]
Translation of Notification of First Office Action mailed Nov. 18, 2024 for CN Application No. 202080100865.9, 20 pages. [cited by applicant]
Communication Pursuant to Article 94(3) EPC mailed Dec. 5, 2024 for EP Application No. 20729534.6, 10 pages. [cited by applicant]
Translation of Korean Notice of Allowance mailed Mar. 19, 2025 for KR Application No. 10-2022-7042615, 3 pages. [cited by applicant]
Translation of Notification for Patent Registration Formalities mailed Oct. 10, 2025 for CN Application No. 202080100865.9, 4 pages. [cited by applicant]