Game Execution Environments
First Claim
Patent Images
1. A method for switching between application environments, comprising:
- receiving a first request to play a game from a first client device via a network;
executing an instance of a game application 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 a hardware device of a first application environment;
receiving a second request to play the game from a second client device via the network;
determining whether a quality of service associated with use of the first application environment is higher than a quality of service associated with use of a second application environment upon receiving the second request;
spawning an additional instance of the game application within the second application environment upon determining that the quality of service associated with use of the second application environment is higher than the quality of service associated with use of the first application environment;
synchronizing the additional instance of the game application within the second application environment with the instance of the game application within the first application environment; and
switching transfer of data between the game application and the first and second client devices to the second application environment from the first application environment after said synchronizing is performed.
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
20 Claims
-
1. A method for switching between application environments, comprising:
-
receiving a first request to play a game from a first client device via a network; executing an instance of a game application 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 a hardware device of a first application environment; receiving a second request to play the game from a second client device via the network; determining whether a quality of service associated with use of the first application environment is higher than a quality of service associated with use of a second application environment upon receiving the second request; spawning an additional instance of the game application within the second application environment upon determining that the quality of service associated with use of the second application environment is higher than the quality of service associated with use of the first application environment; synchronizing the additional instance of the game application within the second application environment with the instance of the game application within the first application environment; and switching transfer of data between the game application and the first and second client devices to the second application environment from the first application environment after said synchronizing is performed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium encoding instructions for switching between application environments that, in response to execution by a computing device, cause the computing device to perform operations comprising:
-
receiving a first request to play a game from a first client device via a network; executing an instance of a game application 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 a hardware device of a first application environment; receiving a second request to play the game from a second client device via the network; determining whether a quality of service associated with use of the first application environment is higher than a quality of service associated with use of a second application environment upon receiving the second request; spawning an additional instance of the game application within the second application environment upon determining that the quality of service associated with use of the second application environment is higher than the quality of service associated with use of the first application environment; synchronizing the additional instance of the game application within the second application environment with the instance of the game application within the first application environment; and switching transfer of data between the game application and the first and second client devices to the second application environment from the first application environment after said synchronizing is performed. - View Dependent Claims (16, 17, 18)
-
-
19. A system for switching between application environments, comprising:
-
a first application environment including a first hardware device; and a second application environment including a second hardware device, the first hardware device configured to; receive a first request to play a game from a first client device via a network; execute an instance of a game application in response to receiving the request; establish 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 executed by the first hardware device; receive a second request to play the game from a second client device via the network; determine whether a quality of service associated with use of the second application environment is higher than a quality of service associated with use of the first application environment; direct the second hardware device to spawn an additional instance of the game application within the second application environment upon determining that the quality of service associated with use of the second application environment is higher than the quality of service associated with use of the first application environment; direct the second application environment to synchronize the additional instance of the game application within the second application environment with the instance of the game application within the first application environment; and switch transfer of data between the game application and the first and second client devices to the second application environment from the first application environment after the synchronization is performed. - View Dependent Claims (20)
-
Specification