How-to: Data Synchronization Basics had a great article about data synchronization for mobile devices. I’ve become way to familiar with Palm and its various PDAs so synchronization – to some degree is quite familiar to me.
I highly suggest you print this artcile out and read it carefully.
Most business-oriented applications are all about data manipulation. A mobilized business application must maintain that data in a local cache to work reliably when network connectivity is unreliable. Of course, you can’t just copy all of the data, because the mobile device usually doesn’t have enough storage to keep a complete copy. In addition, you usually need to propagate changes back to the server. The synchronization of data between the local cache and the server becomes an important part of the application design.
This article discusses the basics of data synchronization for mobile applications. The core concepts are the same whether you’re developing your own synchronization code or using a third-party solution. Relational data is used in the examples, but the ideas also apply to non-relational data. For simplicity, I’ll use the term “database” generically to refer to both the local data cache and to the server-based data repository. When I need to be more specific, I’ll refer to the local data cache as the “mobile database” and the server as the “master database.”
As a disclaimer, please note that I work for a company that actively develops and promotes data-synchronization solutions. To keep things objective, I’ll only deal with general concepts, not specific products or technologies.
(full story)