Game execution environments
AssigneeSony Computer Entertainment America LLC
InventorsAndrew Buchanan Gault, Rui Filipe Andrade Pereira
Life of this patent
Estimating the term…
Abstract
Systems and methods for executing multiple video games, or other sources of video, include a game execution environment in which each game application is executed on the same operating system but within a virtual I/O shell. The virtual I/O shell includes virtual video, audio and input channels that allow each game application to operate as if it had dedicated drivers. In some embodiments, the systems and methods of the invention are used to provide video streams to a plurality of clients over the internet.
Claims28
A method for virtualizing drivers of data associated with an application, comprising:
- receiving a first request to play a game from a first client device via a network;
- executing an instance of a game application on a hardware device in response to receiving the request;
- establishing a virtual shell to drive data between the instance of the game application and the first client, the instance of the game application executed by an operating system, the operating system executed by the hardware device;
- receiving a second request to play the game from a second client device via the network;
- and
- driving data between the instance of the game application and the second client device by using the virtual shell upon receiving the second request,
- wherein the operating system and hardware device are non-virtualized,
- wherein the method is executed by a processor.
A method for virtualizing drivers of data associated with an application, comprising:
- receiving a first request to play a game from a first client device via a network;
- executing an instance of a game application on a hardware device in response to receiving the request;
- establishing a virtual shell to drive data between the instance of the game application and the first client, the instance of the game application executed by an operating system, the operating system executed by the hardware device;
- receiving a second request to play the game from a second client device via the network;
- driving data between the instance of the game application and the second client device by using the virtual shell upon receiving the second request;
- determining whether to switch from using the hardware device to another hardware device upon receiving the second request to play the game, wherein determining whether to switch is based on a comparison of a quality of service associated with use of the hardware device and a quality of service associated with use of the other hardware device or based on a comparison of a lag time associated with use of the hardware device and a lag time associated with use of the other hardware device,
- wherein the method is executed by a processor.
A method for virtualizing drivers of data associated with an application, comprising:
- receiving a first request to play a game from a first client device via a network;
- executing an instance of a game application on a hardware device in response to receiving the request;
- establishing a virtual shell to drive data between the instance of the game application and the first client device, the instance of the game application executed by an operating system, the operating system executed by the hardware device;
- receiving a second request to play the game from a second client device via the network;
- spawning an additional instance of the game application on the hardware device upon receiving the second request;
- and
- establishing an additional virtual shell to drive data between the additional instance of the game application and the second client device, the additional instance executed by the operating system,
- wherein the method is executed by a processor.
A method for virtualizing drivers of data associated with an application, comprising:
- receiving a first request to play a first game from a first client device via a network;
- executing a first game application on a hardware device in response to receiving the request;
- establishing a virtual shell to drive data between the first game application and the first client device, the first game application executed by an operating system, the operating system executed by the hardware device;
- receiving a second request to play a second game from a second client device via the network;
- executing a second game application on the hardware device upon receiving the second request;
- and
- establishing an additional virtual shell to drive data between the second game application and the second client device, the second game executed on top of the operating system,
- wherein the operating system and hardware device are non-virtualized,
- wherein the method is executed by a processor.
Dependencies are inferred from the claim text.