SYNCHRONIZING CHANGES IN A DISTRIBUTED SYSTEM WITH INTERMITTENT CONNECTIVITY
Changes can be synchronized in a distributed system with intermittent connectivity. A synchronization coordinator on a server and an application on mobile devices can be configured to synchronize a shared dataset using file transfers. By transferring files, the application on the mobile device can synchronize large, shared datasets via a long-running task without needing to remain active on the mobile device until the task is completed. The synchronization coordinator and applications can use unique identifiers to identify storage locations by which the files are transferred.
1 . A method, performed by at least one synchronization coordinator that executes on at least one server, for synchronizing a dataset in a distributed system, the method comprising:
receiving a request for a dataset from an application executing on a device; and
in response to the request for the dataset:
obtaining a confirmation ID to represent the request for the dataset;
communicating the confirmation ID with the application;
accessing the dataset via a database;
creating one or more files that contain the dataset;
obtaining a path to a container in a file store, the path including the confirmation ID; and
storing the one or more files in the container in the file store enabling the application to retrieve the one or more files by sending, as part of an electronic request, a file access request that includes the path to the container that includes the confirmation ID in the path.