IP Library Granted Patent US 11,957,974
Granted Patent B2
US 11,957,974 · App. 17/168,299 · Granted Apr 16, 2024

System architecture for cloud gaming

Inventors: Makarand Dharmapurikar (Saratoga, CA); Rajabali Koduri (Saratoga, CA); Vijay Bahirji (Hillsboro, OR); Toby Opferman (Beaverton, OR); Scott G. Christian (Aberdeen, WA); Rajeev Penmatsa (Folsom, CA); Selvakumar Panneer (Portland, OR)
Assignee: Intel Corporation
A63F13/355
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,957,974
App. No.
17/168,299
Granted
Apr 16, 2024
Kind
B2
Abstract

Described herein is a cloud-based gaming system in which graphics processing operations of a cloud-based game can be performed on a client device. Client-based graphics processing can be enabled in response to a determination that the client includes a graphics processor having a performance that exceeds a minimum threshold. When a game is remotely executed and streamed to a client, the client is configurable to provide network feedback that can be used to adjust execution and/or encoding for the game.

Claims (51)

1. A method comprising:

mapping an application, via an encapsulation layer, for execution by processing resources selected from a set of processing resources including processing resources of a server device of a cloud gaming system and processing resources of a client device of the cloud gaming system;

executing the application via the encapsulation layer on the processing resources mapped via the encapsulation layer; and

streaming output of execution of the application to a client application of the cloud gaming system.

2. The method as in claim 1 , further comprising:

importing the application into storage associated with a cloud gaming system; and

encapsulating the application into the encapsulation layer, the encapsulation layer configurable to enable selectable execution of the application by the server device of the cloud gaming system and a client device of the cloud gaming system.

3. The method as in claim 1 , wherein an encapsulated application includes core logic and multiple encapsulations associated with an encapsulation layer and wherein the encapsulation layer is configured to selectively relay API commands made by the core logic.

4. The method as in claim 3 , wherein the multiple encapsulations associated with the encapsulation layer include a file system encapsulation, an input device encapsulation, a graphics programming interface encapsulation, an audio device encapsulation, and a system interface encapsulation.

5. The method as in claim 1 , wherein mapping the application, via the encapsulation layer, includes mapping an encapsulation to a resource selected from a set of resources including a resource of a host device or a resource of a remote device.

6. The method as in claim 1 , further comprising:

mapping an encapsulation layer of a first instance of the application for execution by a client of the cloud gaming system;

initiating transfer of data associated with the first instance of the application to the client of the cloud gaming system;

mapping an encapsulation layer of a second instance of the application for execution by a server of the cloud gaming system; and

initiating execution of the second instance of the application on a server of the cloud gaming system.

7. The method as in claim 6 , wherein streaming output of execution of the application to the client application of the cloud gaming system includes streaming output of the second instance of the application during transfer of data associated with the first instance of the application.

8. The method as in claim 6 , further comprising providing network feedback to the server of the cloud gaming system during execution of the second instance of the application.

9. The method as in claim 6 , further comprising:

after completion of the transfer of data associated with the first instance of the application, initiating execution of the first instance of the application on the client of the cloud gaming system; and

streaming execution of the first instance of the application to the client application of the cloud gaming system.

10. The method as in claim 9 , wherein the first instance of the application is executed on a first client of the cloud gaming system and the client application of the cloud gaming system executes on a second client of the cloud gaming system.

11. A non-transitory machine-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

mapping an application, via an encapsulation layer, for execution by processing resources selected from a set of processing resources including processing resources of a server device of a cloud gaming system and processing resources of a client device of the cloud gaming system;

executing the application via the encapsulation layer on the processing resources mapped via the encapsulation layer; and

streaming output of execution of the application to a client application of the cloud gaming system.

12. The non-transitory machine-readable medium as in claim 11 , wherein an encapsulated application includes core logic and multiple encapsulations associated with an encapsulation layer, wherein the encapsulation layer is configured to selectively relay API commands made by the core logic, and wherein the multiple encapsulations associated with the encapsulation layer include a file system encapsulation, an input device encapsulation, a graphics programming interface encapsulation, an audio device encapsulation, and a system interface encapsulation.

13. The non-transitory machine-readable medium as in claim 11 , wherein mapping the application, via the encapsulation layer, includes mapping an encapsulation to a resource selected from a set of resources including a resource of a host device or a resource of a remote device.

14. The non-transitory machine-readable medium as in claim 11 , the operations further comprising:

mapping an encapsulation layer of a first instance of the application for execution by a client of the cloud gaming system;

initiating transfer of data associated with the first instance of the application to the client of the cloud gaming system;

mapping an encapsulation layer of a second instance of the application for execution by a server of the cloud gaming system;

initiating execution of the second instance of the application on a server of the cloud gaming system, wherein streaming output of execution of the application to the client application of the cloud gaming system includes streaming output of the second instance of the application during transfer of data associated with the first instance of the application;

after completion of the transfer of data associated with the first instance of the application, initiating execution of the first instance of the application on the client of the cloud gaming system; and

streaming execution of the first instance of the application to the client application of the cloud gaming system.

15. The non-transitory machine-readable medium as in claim 14 , the operations further comprising providing network feedback to the server of the cloud gaming system during execution of the second instance of the application.

16. The non-transitory machine-readable medium as in claim 14 , wherein the first instance of the application is executed on a first client of the cloud gaming system and the client application of the cloud gaming system executes on a second client of the cloud gaming system.

17. A data processing system comprising:

a memory device;

one or more processors to execute instructions from the memory device to cause the one or more processors to:

map an application, via an encapsulation layer, for execution by processing resources selected from a set of processing resources including processing resources of a server device of a cloud gaming system and processing resources of a client device of the cloud gaming system;

execute the application via the encapsulation layer on the processing resources mapped via the encapsulation layer; and

stream output of execution of the application to a client application of the cloud gaming system.

18. The data processing system as in claim 17 , wherein an encapsulated application includes core logic and multiple encapsulations associated with an encapsulation layer, wherein the encapsulation layer is configured to selectively relay API commands made by the core logic, and wherein the multiple encapsulations associated with the encapsulation layer include a file system encapsulation, an input device encapsulation, a graphics programming interface encapsulation, an audio device encapsulation, and a system interface encapsulation.

19. The data processing system as in claim 17 , wherein to map the application, via the encapsulation layer, includes to map an encapsulation to a resource selected from a set of resources including a resource of a host device or a resource of a remote device.

20. The data processing system as in claim 17 , wherein the one or more processors are further to:

map an encapsulation layer of a first instance of the application for execution by a client of the cloud gaming system;

initiate transfer of data associated with the first instance of the application to the client of the cloud gaming system;

map an encapsulation layer of a second instance of the application for execution by a server of the cloud gaming system;

initiate execution of the second instance of the application on a server of the cloud gaming system, wherein to stream output of execution of the application to the client application of the cloud gaming system includes to stream output of the second instance of the application during transfer of data associated with the first instance of the application;

after completion of the transfer of data associated with the first instance of the application, initiate execution of the first instance of the application on the client of the cloud gaming system; and

stream execution of the first instance of the application to the client application of the cloud gaming system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2021
From: DHARMAPURIKAR, MAKARAND; KODURI, RAJABALI; BAHIRJI, VIJAY; OPFERMAN, TOBY; CHRISTIAN, SCOTT G.; PENMATSA, RAJEEV; PANNEER, SELVAKUMAR
To: INTEL CORPORATION
Reel/Frame 056397/0946 →
Continuity (4)
Provisional Application 63064141 · Aug 11, 2020
Provisional Application 62972180 · Feb 10, 2020
Provisional Application 62972197 · Feb 10, 2020
Related Publication 20210245046A1 · Aug 12, 2021