IP Library Granted Patent US 9,925,468
Granted Patent B2
US 9,925,468 · App. 13/791,379 · Granted Mar 27, 2018

Suspending state of cloud-based legacy applications

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,925,468
App. No.
13/791,379
Granted
Mar 27, 2018
Kind
B2
Abstract

A snapshot of an emulated game may be generated by a client. At some point during the emulation of the emulated game, a snapshot initiator delivers a suspension request to an emulator. Once the suspension request is received, the emulator will suspend the emulated title. The emulator generates a snapshot of the emulated game by recording the current state of all devices being emulated. The snapshot is then delivered to the client. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.

Claims (49)

1. In an emulator configured to operate on a network, a method comprising:

a) receiving one or more game inputs from a remote client over the network, wherein the one or more game inputs advance game play in an emulated game from a first state to a second state;

b) emulating the emulated game with the emulator such that game play in the emulated game is advanced to the second state;

c) receiving a suspension request from the remote client over the network;

d) generating a snapshot of the emulated game with the emulator, wherein the snapshot is a recording of a state of one or more devices being emulated by the emulator when each of the one or more devices is in a steady state; and

e) delivering the snapshot to the remote client over the network.

2. The method of claim 1 , wherein the emulator is a deterministic emulator.

3. The method of claim 2 , wherein the emulator uses basic blocks to emulate the game.

4. The method of claim 1 , wherein the one or more devices are in the steady state when there are no outstanding disk requests.

5. The method of claim 1 , wherein the one or more devices are in the steady state when there is no asynchronous activity.

6. The method of claim 1 , wherein the suspension request is received before the emulator has advanced the emulated game to the second state.

7. The method of claim 1 , wherein the snapshot is a recording of the states of all of the devices being emulated by the emulator.

8. The method of claim 1 , wherein the one or more game inputs are received over a period of time.

9. A nontransitory computer readable medium containing program instructions wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to carry out the steps of:

a) receiving one or more game inputs from a remote client over a network, wherein the one or more game inputs advance game play in an emulated game from a first state to a second state;

b) emulating the emulated game with the emulator such that game play in the emulated game is advanced to the second state;

c) receiving a suspension request during the game play from the remote client over the network;

d) in response to the suspension request, generating a snapshot of the emulated game with the emulator, wherein the snapshot is a recording of a state of one or more devices being emulated by the emulator when each of the one or more devices is in a steady state; and

e) delivering the snapshot to the remote client over the network.

10. An emulator configured to operate on a network, the emulator comprising:

a processor;

a memory coupled to the processor;

one or more instructions embodied in memory for execution by the processor, the instructions being configured to implement a method, the method comprising:

a) receiving one or more game inputs from a remote client over the network, wherein the one or more game inputs advance game play in an emulated game from a first state to a second state;

b) emulating the emulated game with the emulator such that the game play in the emulated game is advanced to the second state;

c) receiving a suspension request during the game play from the remote client over the network;

d) in response to the suspension request, generating a snapshot of the emulated game with the emulator, wherein the snapshot is a recording of a state of one or more devices being emulated by the emulator when each of the one or more devices is in a steady state; and

e) delivering the snapshot to the remote client over the network.

11. In a client configured to operate on a network, a method comprising:

a) delivering one or more game inputs to a remote emulator over a network, wherein the game inputs are configured to advance game play in an emulated game that is emulated by the emulator from a first state to a second state;

b) delivering a suspension request during the game play to the remote emulator over the network; and

c) in response to the suspension request, receiving a snapshot of the emulated game from the remote emulator, wherein the snapshot is a recording of a state of one or more devices being emulated by the remote emulator when each of the one or more devices is in a steady state.

12. The method of claim 11 , wherein the emulator is a deterministic emulator.

13. The method of claim 12 , wherein the emulator uses basic blocks to emulate the game.

14. The method of claim 11 , wherein the suspension request is delivered to the emulator before the emulator has advanced the emulated game to the second state.

15. The method of claim 11 , wherein the one or more game inputs are automatically generated.

16. The method of claim 11 , wherein the one or more game inputs are delivered over a period of time.

17. A nontransitory computer readable medium containing program instructions wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to carry out the steps of:

a) delivering one or more game inputs to a remote emulator over a network, wherein the game inputs are configured to advance game play in an emulated game that is emulated by the emulator from a first state to a second state;

b) delivering a suspension request during the game play to the remote emulator over the network; and

c) in response to the suspension request, receiving a snapshot of the emulated game from the remote emulator, wherein the snapshot is a recording of a state of one or more devices being emulated by the emulator when each of the one or more devices is in a steady state.

18. A client configured to operate on a network, comprising:

a processor;

a memory coupled to the processor;

one or more instructions embodied in memory for execution by the processor, the instructions being configured to implement a method, the method comprising:

a) delivering one or more game inputs to a remote emulator over a network, wherein the game inputs are configured to advance game play in an emulated game that is emulated by the emulator from a first state to a second state;

b) delivering a suspension request during the game play to the remote emulator over the network; and

c) in response to the suspension request, receiving a snapshot of the emulated game from the remote emulator, wherein the snapshot is a recording of a state of one or more devices being emulated by the emulator when each of the one or more devices is in a steady state.

19. The method of claim 1 , wherein the steady state is one in which there are no asynchronous activities occurring in the emulator.

Assignments (2)
CHANGE OF NAME Recorded Jul 1, 2016
From: SONY COMPUTER ENTERTAINMENT INC.
To: SONY INTERACTIVE ENTERTAINMENT INC.
Reel/Frame 039239/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2013
From: STINE, JACOB P.; WATSON, BRIAN MICHAEL CHRISTOPHER; SUBA MIURA, VICTOR OCTAV; CARDELL, NICHOLAS J.
To: SONY COMPUTER ENTERTAINMENT INC.
Reel/Frame 030064/0366 →