Dual-Mode Program Execution
First Claim
1. A game server comprising:
- an input configured to receive game commands from a plurality of geographically remote clients;
a game engine configured to maintain a global state of a video game based on the received game commands, and to provide different subsets of the global state of the video game to different members of the plurality of clients, each of the subsets being assigned to a particular member of the plurality of clients respectively;
transition logic configured to reassign one of the subsets of the global state from a first member of the plurality of clients to a second member of the plurality of clients;
state storage configured to store the global state; and
an output configured to provide the subsets of the global states to the plurality of clients over the internet.
4 Assignments
0 Petitions
Accused Products
Abstract
A computing system is configured to execute a computer program on a server and to provide a video stream of the program output to a geographically remote client over a communication network. The computing system is further configured to provide executable content of the computer program to the client over the communication network in parallel with the video stream. When a sufficient amount of the executable content has been provided to the client execution of the computer program is transitioned from the server to the client. The transition optionally includes communicating a state of the computer program from the server to the client. The executable content can be provided to the client in an order that is determined based on the state of the computer program. Those parts of the executable content deemed most likely to be necessary to support game play on the client are given priority.
86 Citations
16 Claims
-
1. A game server comprising:
-
an input configured to receive game commands from a plurality of geographically remote clients; a game engine configured to maintain a global state of a video game based on the received game commands, and to provide different subsets of the global state of the video game to different members of the plurality of clients, each of the subsets being assigned to a particular member of the plurality of clients respectively; transition logic configured to reassign one of the subsets of the global state from a first member of the plurality of clients to a second member of the plurality of clients; state storage configured to store the global state; and an output configured to provide the subsets of the global states to the plurality of clients over the internet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 15)
-
-
8. A method of providing a computer game, the method comprising:
-
executing game logic on a video server, execution of the game logic resulting in rendering of a video stream based on a game state; providing the video stream from the video server to a client over a communication network; and providing executable game content to the client in parallel with the video stream, the executable game content being configured to generate video based on the game state. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
16. A system comprising:
-
means for executing game logic on a video server, execution of the game logic resulting in rendering of a video stream based on a game state; means for providing the video stream from the video server to a client over a communication network; and means for providing executable game content to the client in parallel with the video stream, the executable game content being configured to generate video based on the game state.
-
Specification