IP Library › Granted Patent US 10,225,711
Granted Patent B2
US 10,225,711 · App. 13/932,232 · Granted Mar 5, 2019

Transferring application state across devices

Inventors: Jason Parks (Austin, TX); Nicholas Julian Pelly (San Francisco, CA); Jeffrey William Hamilton (Austin, TX); Cheng-Hsueh Andrew Hsieh (Taipei, TW); Chinyue Chen (New Taipei, TW); Yung-Chieh Lo (Taipei, TW)
Assignee: Google LLC
H04W4/80G06F9/4856G06Q10/025H04L29/06H04L29/08072H04M1/7253H04M1/72525H04M2250/04
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,225,711
App. No.
13/932,232
Filed
Jul 1, 2013
Granted
Mar 5, 2019
Kind
B2
Art Unit
2458
USPC
709/225
Abstract

A first client device or system performs a method that includes retaining in memory registration information for a respective application indicating the respective application is registered for sharing application state with other client devices or systems. The method further includes storing an application state of a respective application, and detecting a transfer triggering condition. The transfer triggering condition includes presence of a second client device or system within a predefined proximity of the first client device or system, and the predefined proximity is a predefined proximity for near field communication. Furthermore, upon detecting the triggering condition, the first client device or system determines, in accordance with the stored registration information, that the respective application is registered for application state sharing, and transmits the application state of the respective application to the second client device or system.

Claims (33)

1. A method implemented by a computing device, the method comprising:

transmitting determining, by the computing device, that an application state for an application executing at the computing device requires greater than an amount of memory appropriate for storage at the computing device; transmitting, by the computing device, the application state to a remote server; establishing, by the computing device, communication with a second computing device via a short-range wireless communication medium;

transmitting, by the computing device, information to the second computing device via the short-range wireless communication medium that is usable by the second computing device to obtain, through a communication medium other than the short-range wireless communication medium, at least a portion of the application state from the remote server;

receiving, by the computing device, a notification that the application state has been transmitted to the second computing device; and

changing, by the computing device, the application state in response to receiving the notification.

2. The method of claim 1 , wherein the information causes the second computing device to transmit a request to the remote server to obtain the application state, and wherein the request causes the remote server to transmit at least the portion the application state to the second computing device.

3. The method of claim 1 , further comprising transmitting, by the computing device, another portion of the application state to the second computing device via the short-range wireless communication medium.

4. The method of claim 1 , wherein changing the application state comprises terminating execution of the application.

5. The method of claim 1 , wherein the information is further usable by the second computing device to execute the application with the application state.

6. The method of claim 1 , wherein the communication with the second computing device is established automatically in response to the second computing device being within a predefined proximity of the computing device.

7. The method of claim 1 , wherein the application state comprises one or more unsent message drafts, state information for an ongoing telephone call, a playback position for video content, a playback position for audio content, a message account identifier, a message identifier for an unsent message draft, a message identifier for a currently viewed message, or a mime type associated with the application.

8. A method implemented by a server, the method comprising:

receiving, by the server, an application state for an application from a first remote computing device via a communication medium other than a short-range wireless communication medium;

receiving, by the server, a request for the application state from a second remote computing device that has established communication with the first remote computing device via the short-range wireless communication medium, the communication causing the request;

transmitting, by the server and responsive to receiving the request, at least a portion of the application state to the second remote computing device via the communication medium other than the short-range wireless communication medium; and

transmitting, by the server, a notification to the first remote computing device via the communication medium other than the short-range wireless communication medium, the notification indicating that the portion of the application state for the application has been transmitted to the second remote computing device, the notification usable by the first remote computing device to change the application state of the application.

9. The method of claim 8 , wherein the portion of the application state comprises an entirety of the application state.

10. The method of claim 8 , wherein the notification is usable by the first remote computing device to terminate execution of the application.

11. The method of claim 8 , the portion of the application state is usable by the second remote computing device to execute the application.

12. The method of claim 8 , wherein the server receives the application state from the first remote computing device responsive to a determination that the application state requires greater than an amount of memory appropriate for storage at the first remote computing device.

13. The method of claim 8 , further comprising storing, by the server, the application state at a memory in response to receiving the application state from the first remote computing device.

14. The method of claim 8 , wherein the short-range wireless communication medium is near field communication (NFC), Bluetooth, or Wi-Fi.

15. The method of claim 8 , wherein the application state comprises one or more unsent message drafts, state information for an ongoing telephone call, a playback position for video content, a playback position for audio content, a message account identifier, a message identifier for an unsent message draft, a message identifier for a currently viewed message, or a mime type associated with the application.

16. The method of claim 8 , wherein the portion of the application state is usable by the second remote computing device to execute another application.

17. The method of claim 8 , wherein the request for the application state comprises a request for the portion of the application state.

18. The method of claim 8 , wherein the server comprises a multimedia or messaging server.

19. The method of claim 1 , wherein the application state is a most recent application state for the application; and wherein the information transmitted to the second computing device via the short-range wireless communication medium is usable by the second computing device to obtain the most recent application state from the remote server via the communication medium other than the short-range wireless communication medium.

20. A method implemented by a computing device, the method comprising: establishing, by the computing device, communication with a second computing device via a short-range wireless communication medium;

receiving, by the computing device and via the short-range wireless communication medium from the second computing device, information about an application state for an application executing at the second computing device; and responsive to receiving the information, performing, by the computing device, operations comprising:

transmitting a request for at least a portion of the application state to a remote server via a communication medium other than the short-range wireless communication medium;

receiving, via the communication medium other than the short-range wireless communication medium, the at least portion of the application state from the remote server;

sending a notification to the remote server that the application state has been received, the notification enabling the remote server to notify the second computing device that the at least portion of the application state has been transferred; and

changing an application state of a second application using the at least portion of the application state received from the remote server.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2013
From: PARKS, JASON; PELLY, NICHOLAS JULIAN; HAMILTON, JEFFREY WILLIAM; HSIEH, CHENG-HSUEH ANDREW; CHEN, CHINYUE; LO, YUNG-CHIEH
To: GOOGLE INC.
Reel/Frame 030719/0425 →
Continuity (4)
Continuation 13461647 · May 1, 2012
Continuation 13247755 · Sep 28, 2011
Provisional Application 61484787 · May 9, 2011
Related Publication 20130325967A1 · Dec 5, 2013
Cited By (36)
US 12,197,712 US 12,197,817 US 12,200,297 US 12,204,932 US 12,211,502 US 12,216,894 US 12,219,314 US 12,223,228 US 12,223,282 US 12,236,952 US 12,244,755 US 12,254,887 US 12,260,234 US 12,277,954 US 12,293,763 US 12,299,263 US 12,301,635 US 12,333,404 US 12,361,943 US 12,363,505 US 12,367,879 US 12,386,434 US 12,386,491 US 12,423,052 US 12,431,128 US 12,477,470 US 12,526,361 US 12,556,890 US 12,563,299 US 12,578,757 US 12,608,171 US 12,613,730 US 12,615,491 US 12,619,452 US 12,676,927 US 12,748,568