Patent ID: 9600552
Date: 2017-03-21
CPC Classifications: G06F,H04L,H04W

Claim:
1. A computer-implemented method comprising: running an instance of a computer application at a first electronic device, wherein the first electronic device belongs to a group of electronic devices associated with a user; detecting a presence of a second electronic device based on a proximity of the second electronic device to the first electronic device, the second electronic device belonging to the group of electronic devices; and transmitting an application state data to the second electronic device, the application state data being associated with the instance of the computer application running at the first electronic device, the application state data representing an application state of the computer application at the first electronic device at the detection of the presence of the second electronic device, the application state data including content generated by the execution of the computing application, the transmitted application state data being gathered by a state synchronization module in a given electronic device, the state synchronization module utilizing a user space file system implemented over a kernel of an operating system of the given electronic device, the state synchronization module monitoring one or more intervening sources of the kernel to gather the application state data of the computer application, the one or more intervening sources of the kernel including a network input/output (“I/O”) module, a file I/O module, a multithreading module, a user input module, a system interrupts module, and a share memory access module, wherein the application state data of the computer application enables another instance of the computer application at the second electronic device to resume running the computer application from the transmitted application state, wherein transmitting the application state data to the second electronic device includes periodically transmitting the application state data from the first electronic device to a storage server, the transmitted application state data being stored in the storage server, the stored application state data being periodically refreshed when a periodical transmission of the application state data is received from the first electronic device, the stored application state data being transmitted to the second electronic device.