IP Library Granted Patent US 10,046,236
Granted Patent B2
US 10,046,236 · App. 15/189,520 · Granted Aug 14, 2018

Browser-based cloud gaming

Inventor: David Posin (Corona, CA)
Assignee: Sony Interactive Entertainment America, LLC
A63F13/35A63F13/21A63F13/2145A63F13/31A63F13/34A63F13/352A63F13/71
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 10,046,236
App. No.
15/189,520
Granted
Aug 14, 2018
Kind
B2
Abstract

A method includes: receiving, from a browser executed by a client device, a request to initiate gameplay of a cloud video game; responsive to the request, transmitting to the client device a web application, and initiating execution of the cloud video game by a cloud game machine to generate a first video stream including video content of the cloud video game that is encoded in a compressed video format and encrypted; transmitting the first video stream from the cloud game machine to a streaming server; decrypting the first video stream by the streaming server to generate encoded video content; transmitting, by the streaming server, the encoded video content using a secure protocol to the web application, thereby defining a second video stream, the web application being configured to receive and process the second video stream to provide the video content of the cloud video game for rendering to a display.

Claims (46)

1. A method, comprising:

receiving, over a network from a browser executed by a client device, a request to initiate gameplay of a cloud video game;

responsive to receiving the request, transmitting over the network to the client device a web application configured for execution by the browser of the client device, and initiating execution of the cloud video game by a cloud game machine to generate a first video stream including video content of the cloud video game that is encoded in a compressed video format and encrypted using an encryption scheme;

transmitting the first video stream from the cloud game machine to a streaming server;

decrypting the first video stream by the streaming server to generate encoded video content;

transmitting, by the streaming server, the encoded video content over the network using a secure protocol to the web application, the transmitting of the encoded video content defining a second video stream, the web application being configured to receive and process the second video stream to provide the video content of the cloud video game for rendering to a display;

identifying, by the streaming server, a type of the browser of the client device;

responsive to identifying the type of the browser, transcoding the encoded video content to a second compressed video format, wherein transmitting the second video stream includes transmitting the transcoded video content.

2. The method of claim 1 ,

wherein the web application, when executed by the browser of the client device, is configured to establish a peer-to-peer connection over the network with the streaming server;

wherein transmitting the second video stream to the web application occurs over the peer-to-peer connection.

3. The method of claim 2 , further comprising:

receiving over the peer-to-peer connection, by the streaming server from the web application, input data processed by the web application from interactive input received at the client device from one or more client input devices during the rendering of the video content by the web application to the display;

processing the input data by the streaming server to generate commands for the cloud video game, and sending the commands from the streaming server to the cloud game machine to be applied to a current game state of the cloud video game to determine a future game state of the cloud video game.

4. The method of claim 3 , wherein the one or more client input devices are selected from the group consisting of a keyboard, a mouse, a touchpad, a touch-sensitive display, a game controller, or a motion controller.

5. The method of claim 1 , wherein the second compressed video format is selected based on the identified type of the browser, the second compressed video format being a video format that is supported by the browser.

6. The method of claim 1 , wherein the web application accesses a WebRTC Web API.

7. The method of claim 1 , wherein the streaming server is a Node.js server.

8. The method of claim 1 , wherein the game machine is one of a game console, a game console blade or hardware board, or a server computer configured to execute a virtual game console.

9. The method of claim 1 , wherein the secure protocol is a Hypertext Transfer Protocol Secure (HTTPS) protocol.

10. The method of claim 1 , wherein the operations of generating the first video stream, transmitting the first video stream, decrypting the first video stream, and transmitting the encoded video content, are performed in substantial real-time so as to enable real-time interactive gameplay of the cloud video game through the browser of the client device.

11. The method of claim 1 , wherein the video content of the cloud video game defines a view of a virtual environment.

12. A method, comprising:

receiving, over a network from a client device, a request to initiate gameplay of a cloud video game;

responsive to receiving the request, initiating execution of the cloud video game by a cloud game machine to generate a first video stream including video content of the cloud video game that is encoded in a compressed video format and encrypted using an encryption scheme;

identifying a client type from which the request originates;

responsive to identifying the request as originating from a browser executed by the client device, then,

transmitting over the network to the client device a web application configured for execution by the browser of the client device,

transmitting the first video stream from the cloud game machine to a streaming server,

decrypting the first video stream by the streaming server to generate encoded video content, and,

transmitting, by the streaming server, the encoded video content over the network using a secure protocol to the web application, the transmitting of the encoded video content defining a second video stream, the web application being configured to receive and process the second video stream to provide the video content of the cloud video game for rendering to a display;

responsive to identifying the request as originating from a game console that defines the client device, the game console having standardized resources for rendering of the cloud video game, then,

transmitting the first video stream over the network to the game console for rendering to a display.

13. The method of claim 12 ,

wherein the web application, when executed by the browser of the client device, is configured to establish a peer-to-peer connection over the network with the streaming server;

wherein transmitting the second video stream to the web application occurs over the peer-to-peer connection.

14. The method of claim 13 , further responsive to the identifying the request as originating from the browser,

receiving over the peer-to-peer connection, by the streaming server from the web application, input data processed by the web application from interactive input received at the client device from one or more client input devices during the rendering of the video content by the web application to the display;

processing the input data by the streaming server to generate commands for the cloud video game, and sending the commands from the streaming server to the cloud game machine to be applied to a current game state of the cloud video game to determine a future game state of the cloud video game.

15. The method of claim 12 , further responsive to the identifying the request as originating from the browser,

identifying, by the streaming server, a type of the browser of the client device;

responsive to identifying the type of the browser, transcoding the encoded video content to a second compressed video format, wherein transmitting the second video stream includes transmitting the transcoded video content.

16. The method of claim 15 , wherein the second compressed video format is selected based on the identified type of the browser, the second compressed video format being a video format that is supported by the browser.

17. The method of claim 12 , wherein the web application accesses a WebRTC Web API.

18. The method of claim 12 , wherein the streaming server is a Node.js server.

19. The method of claim 12 , wherein the game machine is one of a game console, a game console blade or hardware board, or a server computer configured to execute a virtual game console.

Assignments (2)
MERGER Recorded Mar 30, 2020
From: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 053323/0567 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2016
From: POSIN, DAVID
To: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Reel/Frame 038994/0957 →
Continuity (2)
Provisional Application 62349585 · Jun 13, 2016
Related Publication 20170354878A1 · Dec 14, 2017
Cited By (1)
US 12,518,594