Patent ID: 9317520
Filing Date: 2016-04-19
CPC Classification: G06F

Claim Text:
1. A method for utilizing a cloud-based file synchronization service to share state scope data among client devices, the method comprising: providing, by one or more processors, a staging area for a state scope data store, wherein the state scope data store resides within a cloud-based file synchronization service that supports storage of a shared state scope data file of a first client device and a second client device, wherein the shared state scope data file describes data entries into a shared application that is running on both the first client device and the second client device, wherein the staging area is partitioned to segregate state scope data that is device-specific from state scope data that is application-specific; receiving, by one or more processors, a request from the first client device to access the shared state scope data file from the cloud-based file synchronization service, wherein the second client device is disconnected from the cloud-based file synchronization service when the request is received; in response to one or more processors detecting that the second client device is reconnected to the cloud-based file synchronization service, transmitting, by one or more processors, a request to the second client device for the shared state scope file of the second client device; receiving, by one or more processors, the shared state scope data file for the second client device; storing, by one or more processors, the shared state scope data file for the second client device in the staging area for the state scope data store; in response to one or more processors receiving and storing the shared state scope data file for the second client device, transmitting, by one or more processors, the shared state scope data file for the second client device from the staging area to the first client device; in response to one or more processors detecting that the first client device and the second client device are concurrently attempting to make conflicting changes to the shared state scope data file, placing, by one or more processors, the conflicting changes into a conflict file within a lock file in the staging area, wherein the conflicting changes comprise a first change from the first client device and a second change from the second client device; in response to one or more processors detecting a signal from the first client device indicating that the first client device has authorized an abandonment of the first change, transmitting, by one or more processors, the second change to the first client device from the conflict file in the lock file; in response to the second change being transmitted to the first client device, deleting, by one or more processors, the lock file; receiving, by one or more processors, a first data from the first client device, determining, by one or more processors, whether the first data from the first client device affects a shared state scope of the first client device and the second client device; and in response to one or more processors determining that the first data from the first client device does not affect the shared state scope of the first client device and the second client device, blocking, by one or more processors, storage of the first data in the staging area, wherein blocked data from the first client device is only stored in the first client device.