Game execution environments
First Claim
Patent Images
1. 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.
2 Assignments
0 Petitions
Accused Products
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.
-
Citations
28 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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.
-
-
12. 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. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. 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. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28)
-
Specification