Offline synchronization capability for client application
First Claim
1. A method to be executed at least in part in a computing device for sharing data with offline editing capability, the method comprising:
- receiving, at a first client, data and a first change token from a share server;
translating the received data;
storing the translated data at a data store associated with a client application;
making the stored data available to the client application;
receiving user-provided offline edits, wherein the offline edits comprise a plurality of changes to the stored data;
sending a request for a change log to the share server, the request specifying the first change token, and wherein the change log comprises changes made to the data by one or more other clients since the first change token was received;
receiving a second change token and the change log from the share server;
identifying at least one conflict between the offline edits and the list of changes in the change log;
resolving the at least one conflict at the client, wherein resolving comprises determining a conflict winner of the at least one conflict;
synchronizing the data associated with the conflict winner by initiating a Simple Object Access Protocol (SOAP) call; and
creating a client-side list of the synchronized data associated with the conflict winner.
2 Assignments
0 Petitions
Accused Products
Abstract
Application Programming Interfaces (APIs) and UI modifications for existing applications are used to implement efficient methods for taking content offline with full synchronization, incremental synchronization, in the case of document libraries per-folder synchronization, and the like. The APIs provide support for synchronizing changes to attachments, the ability to download a document library'"'"'s complete contents or only a list of the available documents, and read-only folder hierarchy replication in the case of document libraries. These abilities coupled with corresponding user interface features enable easier browsing and searching of large document library structures, making edits to those documents offline, being able to see an up-to-date version of those documents in a preview mode, and receiving reminders when offline edits remain on the local computer and need to be updated to a server.
-
Citations
18 Claims
-
1. A method to be executed at least in part in a computing device for sharing data with offline editing capability, the method comprising:
-
receiving, at a first client, data and a first change token from a share server; translating the received data; storing the translated data at a data store associated with a client application; making the stored data available to the client application; receiving user-provided offline edits, wherein the offline edits comprise a plurality of changes to the stored data; sending a request for a change log to the share server, the request specifying the first change token, and wherein the change log comprises changes made to the data by one or more other clients since the first change token was received; receiving a second change token and the change log from the share server; identifying at least one conflict between the offline edits and the list of changes in the change log; resolving the at least one conflict at the client, wherein resolving comprises determining a conflict winner of the at least one conflict; synchronizing the data associated with the conflict winner by initiating a Simple Object Access Protocol (SOAP) call; and creating a client-side list of the synchronized data associated with the conflict winner. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for sharing data with offline editing capability, comprising:
-
one or more processors for executing computer readable instructions; and one or more computer storage media that store computer readable instructions that when executed by the one or more processors provide; a data store for storing received data from a share server; a client application for consuming the stored data; a sharing Application Programming Interface (API) configured to; receive, at a first client, the data and a first change token from the share server; translate the data; make the stored data available to the client application; receive user-provided offline edits, wherein the offline edits comprise a plurality of changes to the stored data; send a request for a change log to the share server, the request specifying the first change token, and wherein the change log comprises a list of changes made to the data by one or more other clients since the first change token was received; receive a second change token and the change log from the share server; identify at least one conflict between the offline edits and the list of changes in the change log; resolve the at least one conflict at the client, wherein resolve comprises a determination by the client of a conflict winner for the at least one conflict; synchronize the data associated with the conflict winner with the share server; and create a client-side list of the synchronized data associated with the conflict winners. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A computer storage medium where the medium does not include a signal encoding instructions that when executed by a processor perform a method for sharing data with offline editing capability, the method comprising:
-
receiving, at a first client, data and a first change token from a share server; translating the received data; storing the translated data at a data store associated with a client application; making the stored data available to the client application; receiving user-provided offline edits, wherein the offline edits comprise a plurality of changes to the stored data; sending a request for a change log to the share server, the request specifying the first change token, and wherein the change log comprises a list of changes made to the data by one or more other clients since the first change token was received; receiving a second change token and the change log from the share server; identifying at least one conflict between the offline edits and the list of changes in the change log; resolving the at least one conflict at the client, wherein resolving comprises determining a conflict winner for the at least one conflict; synchronizing the data associated with the conflict winner with the share server, wherein the client application reflects a document'"'"'s state instead of checking out the document from the share server; and creating a client-side list of the synchronized data associated with the conflict winner. - View Dependent Claims (17, 18)
-
Specification