Among other things, techniques and systems are disclosed for syncing data between a client device and a server. Synchronizing data includes initiating a sync session by negotiating a sync mode between a client device and a server for each of one or more dataclasses. A status code is generated based on...http://www.google.com.au/patents/US8046498?utm_source=gb-gplus-sharePatent US8046498 - Data synchronization protocol