IP Library Granted Patent US 9,782,676
Granted Patent B2
US 9,782,676 · App. 14/923,359 · Granted Oct 10, 2017

System and method for retaining system state

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,782,676
App. No.
14/923,359
Granted
Oct 10, 2017
Kind
B2
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.

Claims (55)

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. The method of claim 1 , further comprising,

periodically transmitting messages, from the server to the client, to determine a quality of the network connection.

3. The method of claim 1 , wherein saving of the state further includes terminating execution of the video game by the server at a last allowed save interval.

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.

5. The method of claim 4 , wherein the specified resolution is dropped to maintain the transmitting of the interactive compressed streaming video.

6. The method of claim 5 , wherein when the specified resolution is dropped the client is caused to scale up an image size on a display screen of the client.

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.

8. The hosting service of claim 7 , 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.

9. The hosting service of claim 7 , wherein the server detects that the network connection has become impaired based on a network bandwidth dropping below a predefined level.

10. The hosting service of claim 9 , 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.

11. The hosting service of claim 7 , wherein the server is configured to periodically transmit messages to the client or receive messages from the client to determine a quality of the network connection.

12. The hosting service of claim 7 , wherein saving of the state further includes terminating execution of the video game by the server at a last allowed save interval.

13. The hosting service of claim 10 , wherein the specified resolution is dropped by the server to maintain the transmitting of the interactive compressed streaming video.

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.

15. The computer readable media of claim 14 , further comprising,

program instructions for saving, by the server, a state associated with the current point of execution;

wherein saving occurs after a period of time passes after the network connection was detected to have become impaired.

16. The computer readable media of claim 14 , wherein when the specified resolution is dropped the client is caused to scale up an image size on a display screen of the client.

Assignments (2)
MERGER Recorded Mar 30, 2020
From: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 053323/0567 →
CHANGE OF NAME Recorded May 5, 2016
From: SONY COMPUTER ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Reel/Frame 038626/0637 →