System and method for retaining system state
First Claim
1. A hosting service including one or more servers and storage, the hosting service being implemented for streaming video games to connected clients over the Internet, wherein execution of video games is processed by the one or more servers of the hosting service, the hosting service is configured implement a method comprising:
- executing a video game on a server in response to user input from a client;
compressing video output from the video game by an encoder to generate interactive compressed streaming video;
transmitting the interactive compressed streaming video generated by the server over a network connection from the server to the client, the client is configured to have a decoder for decompressing the interactive compressed streaming video;
detecting by the server that the network connection has become impaired, wherein detecting that the network connection has become impaired comprises detecting that a network latency has increased above a specified threshold;
pausing, by the server without user input from the client, the execution of the video game from a current point of execution in response to detecting by the server that the network connection has become impaired;
saving, by the server, a state associated with the current point of execution, the saving occurs after a period of time passes after the network connection was detected to have become impaired;
generating a message for display at the client notifying that the network connection has become impaired; and
resuming, by the server, the execution of the video game from the current point of execution after receiving input from the client to resume play of the video game, the user input from the client to resume the play of the video game enabled after the server notifies the client that the network connection has become unimpaired,wherein resuming execution of the video game also resumes transmission of the interactive compressed streaming video to the client while enabling user input from the client to control the play of the video game.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method are described for retaining system state of an online application such as a video game. For example, a method according to one embodiment comprises: executing a application on a server in response to user input from a client; transmitting video generated by the application over a network connection from the server to the client; detecting that the network connection has become unusable or impaired; responsively pausing the execution of the application from a current point of execution; and resuming the execution of the application from the current point of execution upon detecting that the network connection has become usable or unimpaired.
-
Citations
16 Claims
-
1. A hosting service including one or more servers and storage, the hosting service being implemented for streaming video games to connected clients over the Internet, wherein execution of video games is processed by the one or more servers of the hosting service, the hosting service is configured implement a method comprising:
-
executing a video game on a server in response to user input from a client; compressing video output from the video game by an encoder to generate interactive compressed streaming video; transmitting the interactive compressed streaming video generated by the server over a network connection from the server to the client, the client is configured to have a decoder for decompressing the interactive compressed streaming video; detecting by the server that the network connection has become impaired, wherein detecting that the network connection has become impaired comprises detecting that a network latency has increased above a specified threshold; pausing, by the server without user input from the client, the execution of the video game from a current point of execution in response to detecting by the server that the network connection has become impaired; saving, by the server, a state associated with the current point of execution, the saving occurs after a period of time passes after the network connection was detected to have become impaired; generating a message for display at the client notifying that the network connection has become impaired; and resuming, by the server, the execution of the video game from the current point of execution after receiving input from the client to resume play of the video game, the user input from the client to resume the play of the video game enabled after the server notifies the client that the network connection has become unimpaired, wherein resuming execution of the video game also resumes transmission of the interactive compressed streaming video to the client while enabling user input from the client to control the play of the video game. - View Dependent Claims (2, 3)
-
-
4. A hosting service including one or more servers and storage, the hosting service being implemented for streaming video games to connected clients over the Internet, wherein execution of video games is processed by the one or more servers of the hosting service, the hosting service is configured implement a method comprising:
-
executing a video game on a server in response to user input from a client; compressing video output from the video game by an encoder to generate interactive compressed streaming video; transmitting the interactive compressed streaming video generated by the server over a network connection from the server to the client, the client is configured to have a decoder for decompressing the interactive compressed streaming video; detecting by the server that the network connection has become impaired, wherein detecting that the network connection has become impaired comprises detecting that a network latency has increased above a specified threshold; pausing, by the server without user input from the client, the execution of the video game from a current point of execution in response to detecting by the server that the network connection has become impaired; generating a message for display at the client notifying that the network connection has become impaired; and resuming, by the server, the execution of the video game from the current point of execution after receiving input from the client to resume the play of the video game, the user input from the client to resume play of the video game enabled after the server notifies the client that the network connection has become unimpaired, wherein resuming execution of the video game also resumes transmission of the interactive compressed streaming video to the client while enabling user input from the client to control the play of the video game; wherein detecting that the network connection has become impaired further comprises detecting that a network bandwidth has dropped below a predefined level; wherein the predefined level is based on a bandwidth required to deliver real-time video of the video game to the client at a specified resolution. - View Dependent Claims (5, 6)
-
-
7. A hosting service including one or more servers and storage, the hosting service being implemented for streaming video games to connected clients over the Internet, wherein execution of video games is processed by the one or more servers of the hosting service, comprising:
-
a server for executing a video game in response to user input from a client; an encoder for compressing video output from the video game to generate interactive compressed streaming video; and a network interface for transmitting the interactive compressed streaming video generated by the server over a network connection from the server to the client, the client is configured to have a decoder for decompressing the interactive compressed streaming video; wherein the server is configured to detect that the network connection has become impaired, wherein detecting that the network connection has become impaired comprises detecting that a network latency has increased above a specified threshold; wherein the server is configured to pause execution of the video game without user input from the client, the video game being paused from a current point of execution in response to detecting by the server that the network connection has become impaired; wherein the server is configured to send a message for display of the client notifying that the network connection has become impaired; wherein the server is configured to resume execution of the video game from the current point of execution after receiving input from the client to resume play of the video game, the user input from the client to resume the play of the video game enabled after the server notifies the client that the network connection has become unimpaired; wherein the server is configured to save a state associated with the current point of execution and the saving occurs after a period of time passes after the network connection was detected to have become impaired. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. Computer readable media for streaming video games to connected clients over the Internet, the computer readable media being non-transitory, comprising:
-
program instructions for executing a video game on a server in response to user input from a client; program instructions for compressing video output from the video game by an encoder to generate interactive compressed streaming video; program instructions for transmitting the interactive compressed streaming video generated by the server over a network connection from the server to the client, the client is configured to have a decoder for decompressing the interactive compressed streaming video; program instructions for detecting by the server that the network connection has become impaired, wherein detecting that the network connection has become impaired comprises detecting that a network latency has increased above a specified threshold; program instructions for pausing, by the server without user input from the client, the execution of the video game from a current point of execution in response to detecting by the server that the network connection has become impaired; program instructions for generating a message for display at the client notifying that the network connection has become impaired; program instructions for resuming, by the server, the execution of the video game from the current point of execution after receiving input from the client to resume play of the video game, the user input from the client to resume the play of the video game enabled after the server notifies the client that the network connection has become unimpaired, and program instructions for dropping a specified resolution to maintain the transmitting of the interactive compressed streaming video before pausing; wherein resuming execution of the video game also resumes transmission of the interactive compressed streaming video to the client while enabling user input from the client to control the play of the video game. - View Dependent Claims (15, 16)
-
Specification