http://docandersen.podbean.com
http://docandersen.spaces.live.com
As I consider my ever expanding quest to synchronize data via the Cloud I have come to realize that i am now seeking the kitchen sink of synchronization.
Perhaps I should call my new quest the Socialist Sync Engine or SSE for short. “From anything to everything depending upon what you need” would be my tagline.
The thing about building a consistent managed sync process is that your process has to have business rules that allow it to pick and choose the source and process to be used in an intelligent manner. This of course involves a lot of change from what we do today (source is selected by the application and the data is provided) but really not as much change as you would think.
Source selection:
- closest source
- most recent source (update intelligence)
- source with the best bandwidth to device
Business rule processing:
- Data is allowed to have some exposure
- Data is not allowed to have any exposure
- Data can be exposed
- Data is time critical
- Data is not time critical
.doc

Your model of sync source selection requires (1) constant connection to all sources, so that bandwidth and last-changed can be assessed, (2) either a consistent set of rules applied by all engines, or a single (presumably cloud) sync engine to run things, and (3) a finite set of sync protocols to be used to communicate with all nodes.
We’re where are today because we’ve never had that. Connections could not be relied upon with mobile devices, and the cloud was mainly storage — nowhere to put a sync agent except on the remote nodes. Since sync was different for every platform, that all made sense.
Issues 2 and 3 can be dealt with as a SMOP. Number 1 is tougher, particularly if your vision of sync is very granular. You either force the device to power up and report state of a particular sync item, or you have the device report out on all sync items prior to shutdownor loss of connection. Either one sounds like my iPhone batteries will last even less time than they do now!
I like your direction here but I’m curious how you see this playing out on the mobile devices that create the sync requirement in the first place.
That is actually the dream application. A cloud based sync engine that leverages busienss rules and personal rules to provide the engine. Then the “device” is no longer relavent.
The dream would be you connect to the sync engine – and it does the offline sync work. It would allow you to create connections that are permanent, and variable.
Hopefully it is something that can be built. Right now, I have my doubts.
Very nice site!
Thank you very much for your kind comment!