Remote gaming service
AssigneeSony Interactive Entertainment America LLC
InventorsDavid Perry, Andrew Buchanan Gault, Rui Filipe Andrade Pereira
Life of this patent
Estimating the term…
Abstract
Methods and systems for providing remote gaming services are provided. One system includes a virtual machine for executing game logic that is configured to define game environments in response to game commands for client devices. The system also includes virtual drivers associated with the virtual machine, a non-virtual driver associated with a hardware graphics processing unit (GPU), and a shared memory. The GPU is configured to render video streams for the game environments. One or more dynamic encoding pipelines (DEPs) are used to retrieve the video streams from the shared memory and for encoding the video streams for communicating encoded video streams to the client devices.
Claims20
A remote gaming system, comprising:
- a virtual machine for executing one or more instances of game logic, the one or more instances of game logic configured to define game environments and for processing game commands for respective client devices;
- one or more virtual drivers associated with the virtual machine;
- a non-virtual driver executed on a hardware graphical processing unit (GPU);
- a shared memory;
- the non-virtual driver is configured for receiving one or more game environments in parallel from the virtual drivers, the hardware GPU is configured for rendering a video stream for each of the one or more game environments, wherein each virtual driver is configured to manage transfer of a respective game environment to the non-virtual driver and manage transfer of respective video streams to the shared memory;
- one or more dynamic encoding pipelines (DEP) for retrieving respective video streams from the shared memory and for encoding video frames of the respective video streams, each of the video streams being provisioned with at least one DEP and each DEP having at least one encoder for encoding the video frames of respective video streams according to a codec;
- and
- an I/O device configured for communicating respective encoded video streams to the respective client devices via the Internet.
A method for a remote gaming service, comprising:
- executing one or more instances of game logic on a virtual machine in response to requests received by respective client devices, the one or more instances of game logic configured to define respective one or more game environments;
- processing, by the game logic executing on the virtual machine, game commands for respective client devices to further define the respective one or more game environments;
- delivering, by one or more virtual drivers associated with the virtual machine, the respective one or more game environments to a non-virtual driver associated with a hardware graphics processing unit (GPU);
- rendering, by the hardware GPU, respective video streams for the respective one or more game environments in parallel;
- transferring, by the one or more virtual drivers associated with the virtual machine, the respective video streams for the respective one or more game environments to a shared memory;
- provisioning respective one or more dynamic encoding pipelines (DEP) in response to the requests received by the respective client devices, based at least partially on an ability of the respective client devices to receive and display respective video streams;
- retrieving, from the shared memory by respective one or more DEPs, the respective video streams;
- encoding, by the respective one or more DEPs, the respective video streams according to a codec to produce respective encoded video streams;
- and
- transmitting, by an I/O device, the respective encoded video streams to the respective client devices.
A method for providing remote gaming services to a plurality of client devices, comprising:
- executing a plurality of game logic on one or more virtual machines for the plurality of client devices to engage in gaming sessions, the plurality of game logic configured to define a plurality of respective game environments for the gaming sessions and to process game commands for the plurality of client devices while engaging in the gaming sessions;
- delivering, by one or more virtual drivers associated with the plurality of game logic, the plurality of respective game environments to a non-virtual driver associated with a hardware graphics processing unit (GPU);
- rendering, by the hardware GPU, a plurality of respective video streams from the plurality of respective game environments;
- transferring, by the one or more virtual drivers associated with the plurality of game logic, the plurality of respective video streams to a shared memory;
- retrieving, by a plurality of respective dynamic encoding pipelines (DEPs), the plurality of respective video streams from the shared memory;
- encoding, by the plurality of DEPs, the plurality of respective video streams to a plurality of respective encoded video streams;
- and
- communicating, by an I/O device, the plurality of respective encoded video streams to the plurality of client devices, the plurality of respective encoded video streams configured to be decoded and displayed by the plurality of client devices.
Dependencies are inferred from the claim text.