Patent classifications
A63F13/358
Web-based game controller
A video game system includes a video server system (VSS) having a first network address. The VSS pairs a game controller having a second network address with a display system having a third network address. The VSS receives controller data packets directed to the first network address from the game controller over a first communication channel. The controller data packets include the second network address and information for updating a game state of a video game. The VSS decodes the controller data packets and directs generation of an updated game state of the video game using information within the controller data packets. The VSS generates a video stream of the video game using the updated game state. The VSS transmits the video stream to the display system at the third network address over a second communication channel. The first and second communication channels differ by at least one network segment.
Web-based game controller
A video game system includes a video server system (VSS) having a first network address. The VSS pairs a game controller having a second network address with a display system having a third network address. The VSS receives controller data packets directed to the first network address from the game controller over a first communication channel. The controller data packets include the second network address and information for updating a game state of a video game. The VSS decodes the controller data packets and directs generation of an updated game state of the video game using information within the controller data packets. The VSS generates a video stream of the video game using the updated game state. The VSS transmits the video stream to the display system at the third network address over a second communication channel. The first and second communication channels differ by at least one network segment.
Apparatus and method for real time graphics processing using local and cloud-based graphics processing resources
An apparatus and method for scheduling threads on local and remote processing resources. For example, one embodiment of an apparatus comprises: a local graphics processor to execute threads of an application; graphics processor virtualization circuitry and/or logic to generate a virtualized representation of a local processor; a scheduler to identify a first subset of the threads for execution on a local graphics processor and a second subset of the threads for execution on a virtualized representation of a local processor; the scheduler to schedule the first subset of threads on the local graphics processor and the second subset of the threads by transmitting the threads or a representation thereof to Cloud-based processing resources associated with the virtualized representation of the local processor; and the local graphics processor to combine first results of executing the first subset of threads on the local graphics processor with second results of executing the second subset of threads on the Cloud-based processing resources to render an image frame.
Apparatus and method for real time graphics processing using local and cloud-based graphics processing resources
An apparatus and method for scheduling threads on local and remote processing resources. For example, one embodiment of an apparatus comprises: a local graphics processor to execute threads of an application; graphics processor virtualization circuitry and/or logic to generate a virtualized representation of a local processor; a scheduler to identify a first subset of the threads for execution on a local graphics processor and a second subset of the threads for execution on a virtualized representation of a local processor; the scheduler to schedule the first subset of threads on the local graphics processor and the second subset of the threads by transmitting the threads or a representation thereof to Cloud-based processing resources associated with the virtualized representation of the local processor; and the local graphics processor to combine first results of executing the first subset of threads on the local graphics processor with second results of executing the second subset of threads on the Cloud-based processing resources to render an image frame.
Updated driver parameters determined by telemetry data
A computing system is provided. The computing system includes a server having one or more processors configured to receive from a user computing device run-time telemetry data, the run-time telemetry data being recorded during execution of a target program of a plurality of programs by the user computing device and being indicative of communication between the user computing device and a user input device. The one or more processors are further configured to determine a performance metric based on the run-time telemetry data, determine an updated driver parameter for the target program based on the determined performance metric, send the updated driver parameter to the user computing device, and apply the updated driver parameter for use during a subsequent execution of the target program.
Updated driver parameters determined by telemetry data
A computing system is provided. The computing system includes a server having one or more processors configured to receive from a user computing device run-time telemetry data, the run-time telemetry data being recorded during execution of a target program of a plurality of programs by the user computing device and being indicative of communication between the user computing device and a user input device. The one or more processors are further configured to determine a performance metric based on the run-time telemetry data, determine an updated driver parameter for the target program based on the determined performance metric, send the updated driver parameter to the user computing device, and apply the updated driver parameter for use during a subsequent execution of the target program.
Dynamic adjustment of shard count for player matchmaking
A matchmaker (e.g., matchmaking software) may be implemented as a number of matchmaker shards, where each shard can potentially run on a different host within a service provider network. Disclosed herein are techniques and systems for dynamically adjusting a shard count associated with a given matchmaker of a subscriber during runtime, the shard count dictating a number of matchmaker shards used for assigning players to matches of a game. Adjustment of the shard count may be based on metrics that are usable to determine whether the current number of matchmaker shards is/are “overloaded”, and, if so, the shard count can be increased, or whether the current number of matchmaker shards are “underloaded”, and, if so, the shard count can be decreased.
Dynamic adjustment of shard count for player matchmaking
A matchmaker (e.g., matchmaking software) may be implemented as a number of matchmaker shards, where each shard can potentially run on a different host within a service provider network. Disclosed herein are techniques and systems for dynamically adjusting a shard count associated with a given matchmaker of a subscriber during runtime, the shard count dictating a number of matchmaker shards used for assigning players to matches of a game. Adjustment of the shard count may be based on metrics that are usable to determine whether the current number of matchmaker shards is/are “overloaded”, and, if so, the shard count can be increased, or whether the current number of matchmaker shards are “underloaded”, and, if so, the shard count can be decreased.
Risk assessment for placement of hosted sessions
New application sessions can be placed on reclaimable resource capacity that can be provided at lower cost than dedicated capacity, but with risk that the capacity might be reclaimed before completion of the session. A number of instance types can be determined that are capable of hosting a new session. Risk scores can be calculated for the instance types, as well as the cost of instances of each type. An instance type can be selected for the session using the risk scores and cost information, where the instance type will have relatively low risk with a relatively low cost for the instance. Once an instance type is selected, a resource pool can be selected from which to provide the resource instance of the selected type. The instance can then be allocated and caused to host the session or perform related functionality.
Value-based game session placements
A game-hosting service of a service provider network is configured to place game sessions on fleets of virtual machine (VM) instances using a value-based approach. In order to place a game session on a fleet, the game-hosting service may determine one or more attributes of the game session request, such as player attributes and/or game attributes. The game-hosting service may also determine available fleets of VM instances allocated to a subscriber associated with the game session request, which may be located across disparate geographical regions. A value(s) may be determined based on the attributes of the game session request, and the value(s) may be used to select a fleet of the available fleets for hosting the game session.