IP Library Granted Patent US 9,606,782
Granted Patent B2
US 9,606,782 · App. 14/221,161 · Granted Mar 28, 2017

Game state synchronization and restoration across multiple devices

Inventors: Michael A. Chan (San Francisco, CA); Justin Quan (San Francisco, CA); Daniel R. Bornstein (San Francisco, CA); Tom Moss (Los Altos, CA); Linda Tong (San Francisco, CA)
Assignee: Nextbit Systems Inc.
G06F8/44G06F9/54G06F11/1464G06F17/3053G06F17/30174G06F17/30194G06F17/30575H04L41/0816H04L47/70H04L47/78H04L63/0853H04L67/06H04L67/10H04L67/1095H04L69/04H04W12/06G06F11/1451G06F11/1469
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,606,782
App. No.
14/221,161
Granted
Mar 28, 2017
Kind
B2
Abstract

Technology for a method for backing up and restoring game application state across multiple devices is disclosed herein. The method includes running an instance of a game application, by a distributed system, at a first electronic device, determining a backup event that occurs in the first electronic device, wherein the backup event suggests a backup of application state data and the application state data represent an application state of the game application at the backup event, and transmitting the application state data of the game application to a remote storage service, in response to the backup event. A second electronic device can retrieve the application state data from the remote storage service and restore the game application state.

Claims (59)

1. A computer-implemented method comprising:

running, by a distributed system, a first instance of an application at a first device;

determining, by the distributed system, a backup event that occurs in the first device, wherein the backup event comprises any of a closure of the application, a pause of the application, continuous operation of the application for a preconfigured period of time, and a switch from the application to an another application;

storing, by the distributed system, state data of the first instance of the application;

detecting, by the distributed system, a second device upon which the application is installed;

sending, by the distributed system, the state data to the second device;

launching, by the distributed system, a second instance of the application at the second device; and

synchronizing, by the distributed system, the second instance of the application at the second device with the state data received, wherein the second instance of the application is paused during the synchronizing,

wherein the step of storing includes:

transmitting, by the distributed system, a difference between the state data of the first instance of the application and previously transmitted state data, in response to the sync event.

2. The computer-implemented method of claim 1 , further comprising:

resuming, by the distributed system, the second instance of the application at the second device after the synchronizing is completed.

3. The computer-implemented method of claim 1 , wherein the first device is a smartphone.

4. The computer-implemented method of claim 1 , wherein the second device is a tablet computer.

5. The computer-implemented method of claim 1 , wherein the state data of the first instance of the application is stored in a cloud storage server.

6. A computer-implemented method comprising:

identifying, by a distributed system, a plurality of electronic devices capable of synchronizing application state data;

running, by the distributed system, a first instance of an application at a first device of the plurality of the electronic devices;

running, by the distributed system, a second instance of the application at a second device of the plurality of the electronic devices;

determining, by the distributed system, a first sync event that occurs in the first device, wherein the first sync event comprises any of a closure of the application at the first device, a pause of the application at the first device, continuous operation of the application for a preconfigured period of time at the first device, and a switch from the application to an another application at the first device;

storing, by the distributed system, a first state data of the first instance of the application;

determining, by the distributed system, a second sync event that occurs in the second device, wherein the second sync event comprises any of a closure of the application at the second device, a pause of the application at the second device, a continuous operation of the application for a preconfigured period of time at the second device, and a switch from the application to an another application at the second device;

storing, by the distributed system, a second state data of the second instance of the application;

notifying, by the distributed system, a user that the first state data and the second state data are stored;

prompting, by the distributed system, for the user selection of one of the first state data and the second state data as final state data;

detecting, by the distributed system, a third device upon which the application is installed; and

sending, by the distributed system, the final state data of the application to the third device.

7. The computer-implemented method of claim 6 , wherein the first device is a smartphone.

8. The computer-implemented method of claim 6 , wherein the second device is a tablet computer.

9. The computer-implemented method of claim 6 , wherein the state data of the first instance of the application is stored in a cloud storage server.

10. A computer-implemented method comprising:

running, by a distributed system, a first instance of an application at a first device;

determining, by the distributed system, a sync event that occurs in the first device, wherein the sync event comprises any of a closure of the application, a pause of the application, continuous operation of the application for a preconfigured period of time, and a switch from the application to an another application;

storing, by the distributed system, state data of the first instance of the application;

detecting, by the distributed system, a second device upon which the application is installed, wherein a second instance of the application is running at the second device;

sending, by the distributed system, the state data to the second device;

closing, by the distributed system, the second instance of the application at the second device;

starting, by the distributed system, a third instance of the application at the second device; and

synchronizing, by the distributed system, the third instance of the application at the second device with the state data received, wherein the third instance of the application is paused during the synchronizing.

11. The computer-implemented method of claim 10 , wherein the first device is a smartphone.

12. The computer-implemented method of claim 10 , wherein the second device is a tablet computer.

13. The computer-implemented method of claim 10 , wherein the state data of the first instance of the application is stored in a cloud storage server.

14. A distributed system comprising:

a processor;

a memory storing instructions which, when executed by the processor, cause the distributed system to perform a process including:

identifying, by a distributed system, a plurality of electronic devices capable of synchronizing application state data;

running, by the distributed system, a first instance of an application at a first device of the plurality of the electronic devices;

running, by the distributed system, a second instance of the application at a second device of the plurality of the electronic devices;

determining, by the distributed system, a first sync event that occurs in the first device, wherein the first sync event comprises any of a closure of the application at the first device, a pause of the application at the first device, continuous operation of the application for a preconfigured period of time at the first device, and a switch from the application to an another application at the first device;

storing, by the distributed system, a first state data of the first instance of the application;

determining, by the distributed system, a second sync event that occurs in the second device, wherein the second sync event comprises any of a closure of the application at the second device, a pause of the application at the second device, a continuous operation of the application for a preconfigured period of time at the second device, and a switch from the application to an another application at the second device;

storing, by the distributed system, a second state data of the second instance of the application;

notifying, by the distributed system, a user that the first state data and the second state data are stored;

prompting, by the distributed system, for the user selection of one of the first state data and the second state data as final state data;

detecting, by the distributed system, a third device upon which the application is installed; and

sending, by the distributed system, the final state data of the application to the third device.

15. The distributed system of claim 14 , wherein the first device is a smartphone.

16. The distributed system of claim 14 , wherein the second device is a tablet computer.

17. The distributed system of claim 14 , wherein the state data of the first instance of the application is stored in a cloud storage server.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2017
From: NEXTBIT SYSTEMS INC.
To: RAZER (ASIA-PACIFIC) PTE. LTD.
Reel/Frame 041980/0254 →
RELEASE OF SECURITY INTEREST Recorded Jan 27, 2017
From: PINNACLE VENTURES, L.L.C., AS AGENT
To: NEXTBIT SYSTEMS INC.
Reel/Frame 041519/0146 →
SECURITY INTEREST Recorded Dec 1, 2015
From: NEXTBIT SYSTEMS INC.
To: PINNACLE VENTURES, L.L.C., AS AGENT
Reel/Frame 037184/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2014
From: CHAN, MICHAEL A.; QUAN, JUSTIN; BORNSTEIN, DANIEL R.; MOSS, TOM; TONG, LINDA
To: NEXTBIT SYSTEMS INC.
Reel/Frame 032711/0532 →
Continuity (2)
Provisional Application 61804134 · Mar 21, 2013
Related Publication 20140289194A1 · Sep 25, 2014