I would look at Microsoft Sync Framework. Whitch has many "providers" both some included, some open source, some 3rd part. A provider is a like a standardized "connection" to a datasource, like outlook mail, outlook contacts, file system, database or whatever you can imagine. Or as Microsoft says:
Microsoft Sync Framework is a
comprehensive synchronization platform
that enables collaboration and offline
access for applications, services and
devices. It features technologies and
tools that enable roaming, sharing,
and taking data offline. Using
Microsoft Sync Framework, developers
can build sync ecosystems that
integrate any application, with any
data from any store using any protocol
over any network.
A key aspect of the Microsoft Sync
Framework is the ability to create
custom synchronization providers. A
provider is a software component that
represents a replica for
synchronization. A replica is a
particular repository of information
to be synchronized, such as a file
system on a handheld device. When
representing a data source, a provider
enumerates changes from its replica.
When representing a destination, a
provider applies changes to its
replica. If the data at the source and
destination differ in type or schema,
each provider performs any necessary
mapping or transformation.
Microsoft Sync Framework home page:
http://msdn.microsoft.com/en-us/sync/default.aspx
Introduction:
http://msdn.microsoft.com/en-us/sync/bb821992.aspx
Contact Synchronization Sample - Outlook Sync
This sample shows how custom providers can be created to synchronize content between disparate data sources. In this sample we will synchronize Contacts between Microsoft Outlook, Vista Contacts and VCard files. A key aspect of this demo is the data mapping capabilities which enables disparate data sources and data types to be mapped appropriately through the Sync Framework:
http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sync&ReleaseId=613
Microsoft Sync Framework v1.0 CTP1 - Devices
Managed (.NET Compact Framework) and unmanaged/native (ARM)
Supported platforms are Windows Mobile 5 and 6 (ARM processors only in CTP1)
http://www.microsoft.com/downloads/details.aspx?FamilyID=a7c01a89-9af8-4eee-ab04-6a3ad098a03f&DisplayLang=en