IP Library Granted Patent US 10,946,276
Granted Patent B2
US 10,946,276 · App. 16/279,038 · Granted Mar 16, 2021

Application state backup and restoration across multiple devices

Inventors: Justin Quan (San Francisco, CA); Michael A. Chan (San Francisco, CA); Tom Moss (Los Altos, CA); Michael K. Fleming (San Francisco, CA)
Assignee: RAZER (ASIA-PACIFIC) PTE. LTD.
A63F13/40A63F13/23A63F13/45A63F13/50G06F9/461G06F9/4856G06F16/27H04L67/1095H04W4/60
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 10,946,276
App. No.
16/279,038
Granted
Mar 16, 2021
Kind
B2
Abstract

Some examples of application state synchronization may include receiving, at a server, application state data from an electronic device. For instance, the application state data may represent an application state of a computer application running at the electronic device when a backup event occurs. An analysis may be performed based on at least one of a user profile or a usage pattern. A set of electronic devices may be identified based on the analysis. Further, the application state data may be transmitted to the set of electronic devices.

Claims (41)

1. A method of application state synchronization, the method comprising:

receiving, at a server, application state data from an electronic device, wherein the application state data represents an application state of a computer application running at the electronic device when a backup event occurs;

performing an analysis based on at least one of a user profile or a usage pattern of a user;

identifying a set of electronic devices based on the analysis;

transmitting the application state data to the set of electronic devices; and

sending an instruction to each electronic device of the set of electronic devices, the instruction instructing each electronic device to run an instance of the computer application on each electronic device, respectively, by resuming the application state based on the application state at the backup event, the instruction causing a respective electronic device of the set to start to run the instance of the computer application based on the user starting to use the respective electronic device.

2. The method of claim 1 , further comprising:

identifying a plurality of electronic devices capable of synchronizing application state with the server, wherein the electronic device is one of the plurality of electronic devices.

3. The method of claim 2 , wherein the analysis is performed further based on types of applications installed on the plurality of electronic devices, wherein each of the set of identified electronic devices has the computer application installed or has applications similar to the computer application installed.

4. The method of claim 1 , wherein the application state data is received from the electronic device in such a manner that the electronic device processes the application state data at a background of an operating system of the electronic device without user intervention.

5. The method of claim 1 , wherein the application state data represents a difference between the application state of the computer application when the backup event occurs and an application state of the computer application previously stored in the server.

6. The method of claim 5 , further comprising:

incorporating the difference into the application state of the computer application previously stored in the server.

7. The method of claim 1 , wherein the analysis is performed based on the user profile, wherein the set of identified electronic devices are used by a same user according to the user profile.

8. The method of claim 1 , wherein the analysis is performed based on the usage pattern, wherein the set of identified electronic devices are frequently used by the user during a specific time period.

9. The method of claim 1 , wherein the analysis is performed further based on location proximity, wherein the set of identified electronic devices are physically close to the electronic device.

10. The method of claim 1 , further comprising:

determining a priority list including a reference to the application state data, wherein the priority list regulates an order of transmitting the application state data for the computer application and data for other applications based on an analysis of the user profile and a hardware profile of at least the electronic device.

11. An apparatus for application state synchronization, the apparatus comprising:

a memory; and

at least one processor coupled to the memory and configured to:

receive application state data from an electronic device, wherein the application state data represents an application state of a computer application running at the electronic device when a backup event occurs;

perform an analysis based on at least one of a user profile or a usage pattern of a user;

identify a set of electronic devices based on the analysis;

transmit the application state data to the set of electronic devices; and

send an instruction to each electronic device of the set of electronic devices, the instruction instructing each electronic device to run an instance of the computer application on each electronic device, respectively, by resuming the application state based on the application state at the backup event, the instruction causing a respective electronic device of the set to start to run the instance of the computer application based on the user starting to use the respective electronic device.

12. The apparatus of claim 11 , wherein the at least one processor is further configured to:

identify a plurality of electronic devices capable of synchronizing application state with the apparatus, wherein the electronic device is one of the plurality of electronic devices.

13. The apparatus of claim 12 , wherein the analysis is performed further based on types of applications installed on the plurality of electronic devices, wherein each of the set of identified electronic devices has the computer application installed or has applications similar to the computer application installed.

14. The apparatus of claim 11 , wherein the application state data represents a difference between the application state of the computer application when the backup event occurs and an application state of the computer application previously stored in the apparatus, wherein the at least one processor is further configured to incorporate the difference into the application state of the computer application previously stored in the apparatus.

15. The apparatus of claim 11 , wherein the analysis is performed based on the user profile, wherein the set of identified electronic devices are used by a same user according to the user profile.

16. The apparatus of claim 11 , wherein the analysis is performed based on the usage pattern, wherein the set of identified electronic devices are frequently used by the user during a specific time period.

17. The apparatus of claim 11 , wherein the analysis is performed further based on location proximity, wherein the set of identified electronic devices are physically close to the electronic device.

18. The apparatus of claim 11 , wherein the at least one processor is further configured to:

determine a priority list including a reference to the application state data, wherein the priority list regulates an order of transmitting the application state data for the computer application and data for other applications based on an analysis of the user profile and a hardware profile of at least the electronic device.

19. A non-transitory computer-readable medium storing instructions executable by one or more processors to configure the one or more processors to perform operations comprising:

receiving, by the one or more processors, application state data from an electronic device, wherein the application state data represents an application state of a computer application running at the electronic device when a backup event occurs;

performing an analysis based on at least one of a user profile or a usage pattern of a user;

identifying a set of electronic devices based on the analysis;

transmitting the application state data to the set of electronic devices; and

sending an instruction to each electronic device of the set of electronic devices, the instruction instructing each electronic device to run an instance of the computer application on each electronic device, respectively, by resuming the application state based on the application state at the backup event, the instruction causing a respective electronic device of the set to start to run the instance of the computer application based on the user starting to use the respective electronic device.

Continuity (5)
Continuation 15674579 · Aug 11, 2017
Continuation 14043034 · Oct 1, 2013
Continuation In Part 13772163 · Feb 20, 2013
Provisional Application 61708794 · Oct 2, 2012
Related Publication 20190176038A1 · Jun 13, 2019