# US 11,298,614 B2 · Browser-based cloud gaming

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,298,614 B2
- Document ID: US11298614B2
- Status: Granted
- Kind: B2
- Application number: 16/432,608
- Filed: 2019-06-05
- Published: 2019-09-19
- Granted: 2022-04-12
- Earliest claimed: 2016-06-13
- Assignees: Sony Interactive Entertainment Inc.
- Applicants: Sony Interactive Entertainment LLC
- Inventors: David Posin
- Web page: https://patentgrep.com/patent/US11298614B2

## CPC

- A63F 13/35: Details of game servers
- A63F 13/21: characterised by their sensors, purposes or types
- A63F 13/2145: the surface being also a display device, e.g. touch screens
- A63F 13/31: Communication aspects specific to video games, e.g. between several handheld game devices at close range
- A63F 13/335: using Internet
- A63F 13/34: using peer-to-peer connections
- A63F 13/352: involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
- A63F 13/355: Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
- A63F 13/71: using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
- A63F 13/323: between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR

## Abstract

A method for providing gameplay of a cloud video game, including: executing a session of the cloud video game by a cloud gaming machine; establishing, over a network, a peer-to-peer connection between a streaming server and a remote client browser, the peer-to-peer connection being established in accordance with a WebRTC protocol; transmitting, over the peer-to-peer connection from the streaming server to the client browser, gameplay video generated from the executing session of the cloud video game, wherein the gameplay video is encoded in a compressed format, and wherein the gameplay video is rendered for display by the client browser, the gameplay video being rendered in substantial real-time to enable real-time gameplay of the session of the cloud video game through the client browser.

## Claims

### Claim 1

A method for providing gameplay of a cloud video game, comprising:
executing a session of the cloud video game by a cloud gaming machine;
establishing, over a network, a peer-to-peer connection between a streaming server and a remote client browser, the peer-to-peer connection being established in accordance with a WebRTC protocol;
transmitting, over the peer-to-peer connection from the streaming server to the client browser, gameplay video generated from the executing session of the cloud video game, wherein the gameplay video is encoded in a compressed format, and wherein the gameplay video is rendered for display by the client browser, wherein the streaming server is configured to receive input data from the client browser over a data channel established using an RTCDataChannel API, the input data being generated at the client browser from real-time gameplay using a browser input mechanism for interactivity with the gameplay video as displayed by the client browser, and the streaming server is configured to translate at least part of the received input data into commands configured for the session of the cloud video game, wherein translating at least part of the received input data translates the input data that is received via the browser input mechanism into one or more console controller commands, and the gameplay video being rendered in substantial real-time to enable the real-time gameplay of the session of the cloud video game through the client browser;
wherein executing the session of the cloud video game includes applying the commands to the session of the cloud video game, to drive the real-time gameplay of the session of the cloud video game through the client browser;
wherein the streaming server monitors a condition of the peer-to-peer connection and adjusts the encoding of the gameplay video based on the condition of the peer-to-peer connection.

### Claim 2 (depends on 1)

The method of claim 1, wherein the client browser accesses a WebRTC API to render the gameplay video for display.

### Claim 3 (depends on 1)

The method of claim 1, wherein establishing the peer-to-peer connection is in accordance with Session Description Protocol.

### Claim 4 (depends on 1)

The method of claim 1, wherein establishing the peer-to-peer connection is in accordance with an Interactive Connectivity Establishment framework.

### Claim 5 (depends on 1)

The method of claim 1, wherein the streaming server adjusts a bitrate or a compression rate of the gameplay video based on the condition of the peer-to-peer connection.

### Claim 6 (depends on 1)

The method of claim 1, wherein the condition of the peer-to-peer connection monitored by the streaming server includes a bandwidth of the peer-to-peer connection.

### Claim 7 (depends on 1)

The method of claim 1, wherein the gameplay video is encoded in a VP9 or MPEG-4 video format.

### Claim 8 (depends on 1)

The method of claim 1, wherein establishing the peer-to-peer connection is configured to reduce or eliminate intermediary connections.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
assigning the client browser to a data center based on a location of the client browser and a location of the data center, the data center hosting the cloud gaming machine and the streaming server, the assigning of the client browser to the data center being configured to reduce latency over the peer-to-peer connection.

### Claim 10

A method for providing gameplay of a cloud video game, comprising:
executing a session of the cloud video game by a cloud gaming machine;
establishing, over a network, a peer-to-peer connection between a streaming server and a remote client browser, the peer-to-peer connection being established in accordance with a WebRTC protocol;
transmitting, over the peer-to-peer connection from the streaming server to the client browser, gameplay video generated from the executing session of the cloud video game, wherein the gameplay video is encoded in a compressed format, and wherein the gameplay video is rendered for display by the client browser, wherein the streaming server is configured to receive input data from the client browser over a data channel established using an RTCDataChannel API, the input data being generated at the client browser from real-time gameplay using a browser input mechanism for interactivity with the gameplay video as displayed by the client browser, and the streaming server is configured to translate at least part of the received input data into commands configured for the session of the cloud video game, wherein translating at least part of the received input data translates the input data that is received via the browser input mechanism into one or more console controller commands, and the gameplay video being rendered in substantial real-time to enable the real-time gameplay of the session of the cloud video game through the client browser, wherein the client browser accesses a WebRTC API to render the gameplay video for display;
wherein executing the session of the cloud video game includes applying the input data to the session of the cloud video game, to drive the real-time gameplay of the session of the cloud video game through the client browser;
wherein the streaming server monitors a condition of the peer-to-peer connection and adjusts the encoding of the gameplay video based on the condition of the peer-to-peer connection.

### Claim 11 (depends on 10)

The method of claim 10, wherein establishing the peer-to-peer connection is in accordance with Session Description Protocol or an Interactive Connectivity Establishment framework.

### Claim 12 (depends on 10)

The method of claim 10, wherein the streaming server adjusts a bitrate or a compression rate of the gameplay video based on the condition of the peer-to-peer connection.

### Claim 13 (depends on 10)

The method of claim 10, wherein the condition of the peer-to-peer connection monitored by the streaming server includes a bandwidth of the peer-to-peer connection.

### Claim 14 (depends on 10)

The method of claim 10, wherein the gameplay video is encoded in a VP9 or MPEG-4 video format.

### Claim 15

A method for providing gameplay of a cloud video game, comprising:
executing a session of the cloud video game by a cloud gaming machine;
establishing, over a network, a connection between a streaming server and a remote client browser, the connection being established in accordance with a WebRTC protocol;
transmitting, over the connection from the streaming server to the client browser, gameplay video generated from the executing session of the cloud video game, wherein the gameplay video is encoded in a compressed format, and wherein the gameplay video is rendered for display by the client browser, the gameplay video being rendered in substantial real-time to enable real-time gameplay of the session of the cloud video game through the client browser;
receiving, over the network by the streaming server, input data over a data channel established using an RTCDataChannel API, the input data being generated at the client browser from the real-time gameplay using an input device during interactivity with the gameplay video;
translating, by the streaming server, the received input data into commands configured for the cloud video game, wherein translating the received input data includes translating at least part of the input data that is received via the input device into one or more console controller commands;
wherein executing the session of the cloud video game includes applying the commands to the session of the cloud video game, to drive the real-time gameplay of the session of the cloud video game through the client browser;
wherein the streaming server monitors a condition of the connection and adjusts the encoding of the gameplay video based on the condition of the connection.
