# US 11,077,364 B2 · Resolution-based scaling of real-time interactive graphics

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

- Number: US 11,077,364 B2
- Document ID: US11077364B2
- Status: Granted
- Kind: B2
- Application number: 16/368,801
- Filed: 2019-03-28
- Published: 2019-10-24
- Granted: 2021-08-03
- Earliest claimed: 2018-04-02
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Dov Zimring; Paul Leventis; Benjamin Frenkel; Matthew Rodgers; Clinton Smullen; Robert McCool
- Web page: https://patentgrep.com/patent/US11077364B2

## CPC

- 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/358: Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
- A63F 13/323: between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
- A63F 13/335: using Internet
- A63F 13/40: Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- A63F 2300/534: for network load management, e.g. bandwidth optimization, latency reduction
- A63F 2300/535: for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An electronic game server receives a request from a client device to establish a real-time interactive gaming session, determines a device capability of an output device associated with the client device, determines a connection capability of the network connection, determines one or more target quality parameters for the real-time interactive gaming session based on the device capability and the connection capability, selects a first virtual machine of the plurality of virtual machines based on the one or more target quality parameters, establishes the real-time interactive gaming session with the client device, and provides to the real-time interactive gaming session, in accordance with the resource profile of the first virtual machine, resources for processing inputs from the client device and generating gameplay outputs in accordance with the processed inputs within the real-time interactive gaming session.

## Claims

### Claim 1

A method, comprising:
at a server system comprising a plurality of virtual machines, each of the virtual machines having a respective resource profile:
receiving a request from a client device to establish a real-time interactive gaming session, wherein the request is received through a network connection with the client device;
determining a device capability of an output device associated with the client device;
determining a connection capability of the network connection;
determining one or more target quality parameters for the real-time interactive gaming session based on the device capability and the connection capability;
selecting a first virtual machine of the plurality of virtual machines based on the one or more target quality parameters, wherein selecting the first virtual machine comprises associating the first virtual machine with the real-time interactive gaming session;
establishing the real-time interactive gaming session with the client device;
providing to the real-time interactive gaming session, in accordance with the resource profile of the first virtual machine, resources for processing inputs from the client device and generating gameplay outputs in accordance with the processed inputs within the real-time interactive gaming session; and
maintaining association of the first virtual machine with the real-time interactive gaming session regardless of changes, if any, in device or network connection characteristics.

### Claim 2 (depends on 1)

The method of claim 1, wherein the device capability of the output device comprises one or more of: a maximum resolution of display output at the output device, and a maximum framerate of display output at the output device.

### Claim 3 (depends on 1)

The method of claim 1, wherein the connection capability of the network connection comprises one or more of: a bandwidth of the network connection, and a latency of the network connection.

### Claim 4 (depends on 1)

The method of claim 1, wherein the one or more target quality parameters comprises one or more of: a target resolution for content transmitted to the output device, a target frame rate for content transmitted to the output device, and a target latency for content transmitted to the output device.

### Claim 5 (depends on 1)

The method of claim 1, wherein the resources for processing inputs and generating outputs comprise one or more of: graphical processor bandwidth at the server system, general processor bandwidth at the server system, graphical memory at the server system, general memory at the server system, storage capacity at the server system, and input/output channels at the server system.

### Claim 6 (depends on 5)

The method of claim 5, wherein providing resources for processing inputs and generating outputs within the real-time interactive gaming session comprises assigning respective portions of one or more of the resources to the real-time interactive gaming session.

### Claim 7 (depends on 5)

The method of claim 5, wherein providing resources for processing inputs and generating outputs within the real-time interactive gaming session comprises mapping the resource profile of the first virtual machine to respective portions of one or more of the resources.

### Claim 8 (depends on 1)

The method of claim 1, wherein selecting the first virtual machine comprises:
comparing the one or more target quality parameters to corresponding parameters in the respective resource profiles for the plurality of virtual machines;
determining which resource profile includes parameters which most closely match the one or more target quality parameters; and
selecting, as the first virtual machine, a virtual machine having a resource profile with parameters that most closely match the one or more target quality parameters.

### Claim 9 (depends on 1)

The method of claim 1, wherein selecting the first virtual machine comprises:
comparing the one or more target quality parameters to corresponding parameters in the respective resource profiles for the plurality of virtual machines;
selecting, as virtual machine candidates, one or more virtual machines having resource profiles with parameters that are greater than or equal to the one or more target quality parameters; and
selecting, as the first virtual machine, a virtual machine candidate having the least resource-intensive resource profile.

### Claim 10 (depends on 1)

The method of claim 1, wherein establishing the real-time interactive gaming session comprises assigning resources to the real-time interactive gaming session in accordance with the resource profile of the first virtual machine.

### Claim 11 (depends on 10)

The method of claim 10, further comprising maintaining association of the first virtual machine with the real-time interactive gaming session for a predetermined time period.

### Claim 12 (depends on 10)

The method of claim 10, further comprising reevaluating selection of the first virtual machine after a predetermined time period, and/or upon detection of a change, over a predetermined threshold, in a network connection characteristic.

### Claim 13

An electronic server system, comprising:
a plurality of virtual machines, each of the virtual machines having a respective resource profile;
one or more processors; and
memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:
receiving a request from a client device to establish a real-time interactive gaming session, wherein the request is received through a network connection with the client device;
determining a device capability of an output device associated with the client device;
determining a connection capability of the network connection;
determining one or more target quality parameters for the real-time interactive gaming session based on the device capability and the connection capability;
selecting a first virtual machine of the plurality of virtual machines based on the one or more target quality parameters, wherein selecting the first virtual machine comprises associating the first virtual machine with the real-time interactive gaming session;
establishing the real-time interactive gaming session with the client device; and
providing to the real-time interactive gaming session, in accordance with the resource profile of the first virtual machine, resources for processing inputs from the client device and generating gameplay outputs in accordance with the processed inputs within the real-time interactive gaming session; and
maintaining association of the first virtual machine with the real-time interactive gaming session regardless of changes, if any, in device or network connection characteristics.

### Claim 14

A non-transitory computer readable storage medium storing one or more programs configured for execution by a server system including a plurality of virtual machines, each of the virtual machines having a respective resource profile, the one or more programs including instructions for:
receiving a request from a client device to establish a real-time interactive gaming session, wherein the request is received through a network connection with the client device;
determining a device capability of an output device associated with the client device;
determining a connection capability of the network connection;
determining one or more target quality parameters for the real-time interactive gaming session based on the device capability and the connection capability;
selecting a first virtual machine of the plurality of virtual machines based on the one or more target quality parameters, wherein selecting the first virtual machine comprises associating the first virtual machine with the real-time interactive gaming session;
establishing the real-time interactive gaming session with the client device; and
providing to the real-time interactive gaming session, in accordance with the resource profile of the first virtual machine, resources for processing inputs from the client device and generating gameplay outputs in accordance with the processed inputs within the real-time interactive gaming session; and
maintaining association of the first virtual machine with the real-time interactive gaming session regardless of changes, if any, in device or network connection characteristics.
