IP Library › Granted Patent US 12,741,202
Granted Patent B2
US 12,741,202 · App. 17/969,579 · Granted Sep 22, 2026

Scalable data center platform for cloud gaming and metaverse

Inventor: Roelof Roderick Colenbrander (Costa Mesa, CA)
Assignee: Sony Interactive Entertainment Inc.
A63F13/355A63F13/48A63F2300/538
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,741,202
App. No.
17/969,579
Granted
Sep 22, 2026
Kind
B2
Abstract

A method for cloud gaming including receiving a request to instantiate an instance of a video game for a game play of a player. The method including establishing a cloud based game engine for executing game logic of the video game in the instance of the video game. The method including assembling microservices for the cloud based game engine to instantiate the instance of the video game. The method including establishing communication between the cloud based game engine and each of the microservices over a communication fabric. The method including executing the game logic in the instance of the video game using the cloud based game engine based on controller input associated with the game play. The method including monitoring demand for computing resources while executing the instance of the video game. The method including adjusting an allocation of computing resources for the set of microservices based on the demand.

Claims (76)

1 . A method for cloud gaming, comprising:

receiving a request to instantiate an instance of a video game for a game play of a player;

establishing a cloud based game engine for executing game logic of the video game in the instance of the video game;

assembling a set of microservices located across one or more servers for the cloud based game engine to instantiate the instance of the video game, wherein the set of microservices is provided an allocation of computing resources;

establishing communication between the cloud based game engine and each microservice in the set of microservices over one or more communication fabrics;

executing the game logic in the instance of the video game using the cloud based game engine based on controller input associated with the game play of the player;

monitoring real-time demand for computing resources in the allocation of computing resources while performing the executing the game logic in the instance of the video game for the game play of the player;

adjusting the set of microservices located across the one or more servers and the allocation of computing resources for the adjusted set of microservices based on detecting a change of a game state indicative of the real-time demand changing in response to a scene in the game play; and

adjusting communication between the cloud based game engine and each microservice in the adjusted set of microservices over the one or more communication fabrics.

2 . The method of claim 1 , wherein the set of microservices for the cloud based game engine and the allocation of computing resources for the set of microservices dynamically expands and contracts based on the demand for the computing resources that is determined.

3 . The method of claim 1 , wherein the communication between each of the cloud based game engine and the set of microservices is performed using an application programming interface (API).

4 . The method of claim 1 , wherein the monitoring demand includes:

determining that a first microservice providing a first service requires more computing resources, wherein the first microservice has a first allocation of computing resources; and

adding a first computing resource to the first allocation of computing resources.

5 . The method of claim 4 ,

wherein the first computing resource includes a second microservice providing the first service,

wherein the second microservice is provided a second allocation of computing resources.

6 . The method of claim 1 , wherein the monitoring demand includes:

determining that a first microservice providing a first service requires fewer computing resources, wherein the first microservice has a first allocation of computing resources; and

removing at least one computing resource from the first allocation of computing resources.

7 . The method of claim 6 , further comprising:

removing all the computing resource from the first allocation of computing resources; and

removing the first microservice from the set of microservices.

8 . The method of claim 1 , wherein the monitoring demand includes:

determining while performing the executing the game logic in the instance of the video game that the game logic requires a new service not provided by the set of microservices; and

adding a first microservice providing the new service to the set of microservices,

wherein the first microservice has first allocation of computing resources.

9 . The method of claim 1 ,

wherein the set of microservices for the cloud based game engine used for executing the game logic in the instance of the video game includes at least a first microservice providing a central processing unit (CPU) functionality, a second microservice providing a graphics processing unit (GPU) functionality, and a third microservice providing memory.

10 . A non-transitory computer-readable medium storing a computer program for performing a method, the computer-readable medium comprising:

program instructions for receiving a request to instantiate an instance of a video game for a game play of a player;

program instructions for establishing a cloud based game engine for executing game logic of the video game in the instance of the video game;

program instructions for assembling a set of microservices located across one or more servers for the cloud based game engine to instantiate the instance of the video game, wherein the set of microservices is provided an allocation of computing resources;

program instructions for establishing communication between the cloud based game engine and each microservice in the set of microservices over one or more communication fabric;

program instructions for executing the game logic in the instance of the video game using the cloud based game engine based on controller input associated with the game play of the player;

program instructions for monitoring real-time demand for computing resources in the allocation of computing resources while performing the executing the game logic in the instance of the video game for the game play of the player;

program instructions for adjusting the set of microservices located across the one or more servers and the allocation of computing resources for the adjusted set of microservices based on detecting a change of a game state indicative of the real-time demand changing in response to a scene in the game play; and

program instructions for adjusting communication between the cloud based game engine and each microservice in the adjusted set of microservices over the one or more communication fabrics.

11 . The non-transitory computer-readable medium of claim 10 ,

wherein in the method the set of microservices for the cloud based game engine and the allocation of computing resources for the set of microservices dynamically expands and contracts based on the demand for the computing resources that is determined.

12 . The non-transitory computer-readable medium of claim 10 , wherein the program instructions for monitoring demand includes:

program instructions for determining that a first microservice providing a first service requires more computing resources, wherein the first microservice has a first allocation of computing resources; and

program instructions for adding a first computing resource to the first allocation of computing resources.

13 . The non-transitory computer-readable medium of claim 10 , wherein the program instructions for monitoring demand includes:

program instructions for determining that a first microservice providing a first service requires fewer computing resources, wherein the first microservice has a first allocation of computing resources; and

program instructions for removing at least one computing resource from the first allocation of computing resources.

14 . The non-transitory computer-readable medium of claim 13 , further comprising:

program instructions for removing all the computing resource from the first allocation of computing resources; and

program instructions for removing the first microservice from the set of microservices.

15 . The non-transitory computer-readable medium of claim 10 , wherein the program instructions for monitoring demand includes:

program instructions for determining while performing the executing the game logic in the instance of the video game that the game logic requires a new service not provided by the set of microservices; and

program instructions for adding a first microservice providing the new service to the set of microservices,

wherein the first microservice has first allocation of computing resources.

16 . A computer system comprising:

a processor;

memory coupled to the processor and having stored therein instructions that, if executed by the computer system, cause the computer system to execute a method, comprising:

receiving a request to instantiate an instance of a video game for a game play of a player;

establishing a cloud based game engine for executing game logic of the video game in the instance of the video game;

assembling a set of microservices located across one or more servers for the cloud based game engine to instantiate the instance of the video game, wherein the set of microservices is provided an allocation of computing resources;

establishing communication between the cloud based game engine and each microservice in the set of microservices over one or more communication fabric;

executing the game logic in the instance of the video game using the cloud based game engine based on controller input associated with the game play of the player;

monitoring real-time demand for computing resources in the allocation of computing resources while performing the executing the game logic in the instance of the video game for the game play of the player;

adjusting the set of microservices located across the one or more servers and the allocation of computing resources for the adjusted set of microservices based on detecting a change of a game state indicative of the real-time demand changing in response to a scene in the game play; and

adjusting communication between the cloud based game engine and each microservice in the adjusted set of microservices over the one or more communication fabrics.

17 . The computer system of claim 16 ,

wherein in the method the set of microservices for the cloud based game engine and the allocation of computing resources for the set of microservices dynamically expands and contracts based on the demand for the computing resources that is determined.

18 . The computer system of claim 16 , wherein in the method the monitoring demand includes:

determining that a first microservice providing a first service requires more computing resources, wherein the first microservice has a first allocation of computing resources; and

adding a first computing resource to the first allocation of computing resources.

19 . The computer system of claim 16 , wherein in the method the monitoring demand includes:

determining that a first microservice providing a first service requires less computing resources, wherein the first microservice has a first allocation of computing resources; and

removing at least one computing resource from the first allocation of computing resources.

20 . The computer system of claim 16 , wherein in the method the monitoring demand includes:

determining while performing the executing the game logic in the instance of the video game that the game logic requires a new service not provided by the set of microservices; and

adding a first microservice providing the new service to the set of microservices,

wherein the first microservice has first allocation of computing resources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2023
From: COLENBRANDER, ROELOF RODERICK
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 063631/0177 →
Continuity (2)
Related Publication 20240131425A1 · Apr 25, 2024
Related Publication 20240226730A9 · Jul 11, 2024
References Cited (10)
US 20200306632A1 · Kolen · 2020 [cited by examiner]
US 20220060526A1 · Jónsson · 2022 [cited by examiner]
US 20220236978A1 · Yu · 2022 [cited by examiner]
US 20220245131A1 · Loeb · 2022 [cited by examiner]
US 20230084784A1 · Chen · 2023 [cited by examiner]
CN 111790159A · 2020 [cited by applicant]
CN 111190580B · 2021 [cited by applicant]
CN 113064712B · 2022 [cited by applicant]
Intl Search Report & Written Opinion, PCT/US2023/076151, Jan. 30, 2024, 11 pages. [cited by applicant]
Mostofi Vahid Mirzaebrahim et al: “Fast and Efficient Performance Tuning of Microservices”, 2021 IEEE 14th International Conference on Cloud Computing (Cloud), IEEE, Sep. 5, 2021 (Sep. 5, 2021), pp. 515-520,XP034012975,… [cited by applicant]