"Asyncronous" syncronization RRS feed

  • Question

  • Can sync framework support a sort of "asyncronous" syncronization?
    For example consider device A and device B, both with a full db on board (SqlExpress2005 in my attempts). I would like device A to produce an "update package" without the need of an actual connection to device B's db.
    The "update package" should be moved to device B with external methods (i.e. pen drive, ftp, email, flying pigeons ...) and then used by device B to sync its db.
    The reverse operation moves device B's data back to device A and the whole process keeps going on.
    Thanks everybody.

    Wednesday, December 3, 2008 12:26 PM


  • Roberto,


    You would need to do a bit of custom work to support such a scenario.  However the basic underlying structure is there.  The Change Batch object (ISyncChangeBatch or ChangeBatch in managed) is a self describing object.  You could serialize that object and the corresponding data that goes along with it and apply it later in a completely Asynchronous manner.  You can check to see if it is safe to apply by making sure the Knowledge at the destination contains the PrerequisiteKnowledge in the batch.  You can determine if the ChangeBatch is obsolete by checking to see if the destination Knowledge contains the LearnedKnowledge in the batch.  If some of the changes are obsolete but others are not then the ChangeApplier will filter out what is obsolete and apply the rest.


    Of course, the provider model is set up to be session based.  So you’ll need to figure out the model you would want for getting changes out from the source and feeding them back in at the destination.  But the fundamental metadata management for what you are describing is all available.



    Mike Clark


    Monday, December 8, 2008 7:43 PM