IP Library Granted Patent US 9,864,632
Granted Patent B2
US 9,864,632 · App. 13/212,057 · Granted Jan 9, 2018

System and method for transfer of an application state between devices

Inventors: Robert R. Hauser (Frisco, TX); Robert DeAnna (Frisco, TX); Paul Lipari (Frisco, TX)
Assignee: Open Invention Network, LLC
G06F9/4856
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,864,632
App. No.
13/212,057
Granted
Jan 9, 2018
Kind
B2
Abstract

To enable continuous execution of an application, a system and method for transferring an application state is provided. A gesture corresponding to a transfer act is detected by a gesture detection module in a first device executing the application. The first device communicates with a registration and relay server to determine eligible transfer recipients based on criteria such as location and/or devices that are currently executing the application. A transfer recipient is selected and platform independent application state Data Transfer Objects are generated that describe the state of execution on the first device. The application state DTOs are transferred via the server to the recipient device which enacts the application state DTOs to continue the execution of the application on the recipient device. Because the application state DTOs are platform independent, the application state can be transferred to almost any device that is able to execute the application.

Claims (63)

1. A method for transferring a state of an application on a first device to a second device, the method comprising:

executing the application on the first device;

detecting a transfer act;

generating, on the first device, a platform independent representation of an application state of the application;

determining a recipient device comprising accessing a relay server that maintains one or more registration tables of registered devices that are configured to receive an application state transfer for the application to determine an eligible recipient device that is currently executing the application, wherein the relay server receives regular updates of registration table information from the registered devices; and

providing the platform independent representation of the application state from the first device to the recipient device, wherein the executed application on the first device continues to execute on the recipient device based on the application state;

wherein generating the platform independent representation of the application state comprises generating one or more application state data transfer objects that describe the state of execution of the application on the first device;

wherein by sharing the application state from the first device to the recipient device, the application is able to continue running on the recipient device from the shared state;

wherein determining the recipient device comprises:

providing a find recipients request from the first device to a server;

determining one or more eligible recipients in the server based on one or more criteria; and

indicating the one or more eligible recipients from the server to the first device.

2. The method of claim 1 comprising:

receiving the platform independent representation of the application state into the recipient device; and

updating an application state of the application executing in the recipient device to the platform independent representation of the application state received from the first device.

3. The method of claim 1 wherein the one or more criteria comprises a location criteria.

4. The method of claim 1 wherein the one or more criteria comprises that an eligible recipient device has a current connection with the server.

5. The method of claim 1 wherein providing the platform independent representation of the application state to the recipient device comprises:

providing the platform independent representation of the application state from the first device to the server; and

providing the platform independent representation of the application state from the server to the recipient device.

6. The method of claim 1 comprising:

displaying the one or more eligible recipients on the first device; and

receiving a user input that selects the recipient device from the one or more displayed eligible recipients.

7. The method of claim 1 wherein the recipient device is selected from one or more preconfigured devices.

8. The method of claim 1 wherein detecting the transfer act comprises:

detecting a gesture;

determining that the gesture correlates to a transferring the application state from the first device.

9. A system comprising:

a first device executing an application comprising:

application logic for executing the application;

a state transfer module; and

a gesture detection module;

a server; and

one or more second devices;

wherein the state transfer module receives a gesture detection from the gesture detection module;

wherein the state transfer module communicates a find recipients request to the server in response to receiving the gesture detection;

wherein the server determines one or more eligible recipients for an application state transfer from the first device from the one or more second devices comprising accessing one or more registration tables of registered devices that are configured to receive an application state transfer for the application to determine an eligible recipient device that is currently executing the application, wherein the registration tables are regularly updated with information from the registered devices;

wherein the server communicates the one or more eligible recipients of the application state transfer;

wherein the first device selects an eligible recipient as a recipient device;

wherein the first device communicates the selection of the recipient device and a platform independent representation of the application state to the server comprising one or more application state data transfer objects that describe the state of execution of the application on the first device;

wherein the server communicates the representation of the application state to the recipient device;

wherein the recipient device receives the representation of the application state from the server; and

wherein the recipient device executes the application including the application state received from the server;

wherein determining the recipient device comprises:

providing a find recipients request from the first device to a server;

determining one or more eligible recipients in the server based on one or more criteria; and

indicating the one or more eligible recipients from the server to the first device.

10. The system of claim 9 wherein the server determines the one or more eligible recipients based on one or more criteria.

11. The system of claim 10 wherein the one or more criteria comprises a location criteria.

12. The system of claim 9 wherein the first device updates the server while the first device is executing the application in order to maintain the first device as a potential eligible candidate to receive a state transfer request.

13. A non-transitory computer readable medium of a device comprising instructions for:

executing an application;

detecting a transfer act;

generating, by the device, a platform independent representation of a state of execution of the application in the device comprising one or more application state data transfer objects that describe the state of execution of the application on the device, in response to detection of the transfer act;

determining a recipient device comprising accessing a relay server that maintains one or more registration tables of registered devices that are configured to receive an application state transfer for the application to determine an eligible recipient device that is currently executing the application, wherein the relay server receives regular updates of registration table information from the registered devices; and

communicating the state of execution of the application from the device to the recipient device on a network, wherein the executed application continues to execute on the recipient device based on the state of execution;

wherein determining the recipient device comprises:

providing a find recipients request from the first device to a server;

determining one or more eligible recipients in the server based on one or more criteria; and

indicating the one or more eligible recipients from the server to the first device.

14. The non-transitory computer readable medium of claim 13 comprising instructions for:

detecting a gesture; and

determining if the gesture is correlated with the transfer act.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2022
From: OPEN INVENTION NETWORK LLC
To: GOOGLE LLC
Reel/Frame 058657/0744 →
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2014
From: LIPARI, PAUL A.
To: RECURSION SOFTWARE, INC.
Reel/Frame 033079/0313 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2014
From: RECURSION SOFTWARE, INC.
To: OPEN INVENTION NETWORK, LLC
Reel/Frame 032829/0394 →
SECURITY AGREEMENT Recorded Jan 29, 2013
From: RECURSION SOFTWARE, INC.
To: LIPARI, PAUL A.
Reel/Frame 029717/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2011
From: HAUSER, ROBERT R.; DEANNA, ROBERT; LIPARI, PAUL
To: RECURSION SOFTWARE, INC.
Reel/Frame 026767/0704 →
Continuity (1)
Related Publication 20130046893A1 · Feb 21, 2013