IP Library Granted Patent US 9,168,457
Granted Patent B2
US 9,168,457 · App. 13/016,794 · Granted Oct 27, 2015

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,168,457
App. No.
13/016,794
Granted
Oct 27, 2015
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 (45)

1. A computer-implemented method comprising:

executing an application on a server in response to user input from a client;

compressing video output from the application to generate interactive compressed streaming video;

transmitting the interactive compressed streaming video generated by the application over a network connection from the server to the client;

detecting by the server that the network connection has become unusable or impaired, wherein detecting that the network connection has become impaired comprises detecting that the network latency has increased above a specified threshold;

pausing, by the server without user input from the client, the execution of the application from a current point of execution and halting transmission of the interactive compressed streaming video in response to detecting by the server that the network connection has become unusable or impaired; and

upon detecting by the server that the network connection has become usable or unimpaired,

generating a message instructing the user that the connection has become usable or unimpaired;

maintaining, by the server without user input from the client, the application in a paused state until instructed by the user to continue execution; and

resuming, by the server, the execution of the application from the current point of execution and resuming transmission of the interactive compressed streaming video,

wherein if the connection remains unusable or impaired for a specified period of time, then the server saves a user's current state.

2. The method as in claim 1 wherein detecting that the network connection has become impaired further comprises detecting that the network bandwidth drops below a specified threshold.

3. The method as in claim 2 wherein the specified threshold is based on the bandwidth required to deliver real-time video of the application to the client at a specified resolution.

4. The method as in claim 1 wherein the client periodically transmits messages to the server and/or the server periodically transmits messages to the client to ensure that the connection is usable.

5. The method as in claim 1 wherein the application comprises a video game.

6. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform the operations of:

executing an application on a server in response to user input from a client;

compressing video output from the application to generate interactive compressed streaming video;

transmitting the interactive compressed streaming video generated by the application over a network connection from the server to the client;

detecting by the server that the network connection has become unusable or impaired, wherein detecting that the network connection has become impaired comprises detecting that the network latency has increased above a specified threshold;

pausing, by the server without user input from the client, the execution of the application from a current point of execution and halting transmission of the interactive compressed streaming video in response to detecting by the server that the network connection has become unusable or impaired; and

upon detecting by the server that the network connection has become usable or unimpaired,

generating a message instructing the user that the connection has become usable or unimpaired;

maintaining, by the server without user input from the client, the application in a paused state until instructed by the user to continue execution; and

resuming, by the server, the execution of the application from the current point of execution and resuming transmission of the interactive compressed streaming video,

wherein if the connection remains unusable or impaired for a specified period of time, then the server saves a user's current state.

7. The non-transitory machine-readable medium as in claim 6 wherein detecting that the network connection has become impaired further comprises detecting that the network bandwidth drops below a specified threshold.

8. The non-transitory machine-readable medium as in claim 7 wherein the specified threshold is based on the bandwidth required to deliver real-time video of the application to the client at a specified resolution.

9. The non-transitory machine-readable medium as in claim 6 wherein the client periodically transmits messages to the server and/or the server periodically transmits messages to the client to ensure that the connection is usable.

10. The non-transitory machine-readable medium as in claim 6 wherein the application comprises a video game.

11. An apparatus having a memory for storing program code and a processor for processing the program code to perform the operations of:

executing an application on a server in response to user input from a client;

compressing video output from the application to generate interactive compressed streaming video;

transmitting the interactive compressed streaming video generated by the application over a network connection from the server to the client;

detecting by the server that the network connection has become unusable or impaired, wherein detecting that the network connection has become impaired comprises detecting that the network latency has increased above a specified threshold;

pausing, by the apparatus without user input from the client, the execution of the application from a current point of execution and halting transmission of the interactive compressed streaming video in response to detecting by the server that the network connection has become unusable or impaired; and

upon detecting by the server that the network connection has become usable or unimpaired,

generating a message instructing the user that the connection has become usable or unimpaired;

maintaining, by the server without user input from the client, the application in a paused state until instructed by the user to continue execution; and

resuming, by the apparatus, the execution of the application from the current point of execution and resuming transmission of the interactive compressed streaming video,

wherein if the connection remains unusable or impaired for a specified period of time, then the server saves a user's current state.

12. The apparatus as in claim 11 wherein detecting that the network connection has become impaired further comprises detecting that the network bandwidth drops below a specified threshold.

13. The apparatus as in claim 12 wherein the specified threshold is based on the bandwidth required to deliver real-time video of the application to the client at a specified resolution.

14. The apparatus as in claim 11 wherein the client periodically transmits messages to the server and/or the server periodically transmits messages to the client to ensure that the connection is usable.

15. The apparatus as in claim 11 wherein the application comprises a video game.

Assignments (6)
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 038617/0474 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2015
From: OL2, INC.
To: SONY COMPUTER ENTERTAINMENT AMERICA LLC
Reel/Frame 035354/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2012
From: INSOLVENCY SERVICES GROUP, INC.
To: OL2, INC.
Reel/Frame 028912/0053 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2012
From: ONLIVE, INC.
To: INSOLVENCY SERVICES GROUP, INC.
Reel/Frame 028884/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2011
From: SPECK, JOHN; PERLMAN, STEPHEN G.
To: ONLIVE, INC.
Reel/Frame 025789/0930 →