none
Peer to Peer Sync RRS feed

  • Question

  • Hi,

         I need to syncronize the data between multiple servers (peers) where all the peers are at the different locations (not directly accesible from each other) accessible over the internet.

    e.g. CASE 1 => I have four peers A, B, C, D where the peer A sends data to peers C & D, peer B sends data to peers C & D, peer C makes insert, update, delete and sends data back to A & B(C sends respective data only i.e. peer A's data to A only and not to B AND peer B's data to B only and not to A) and sends all data to peer D, peer D makes insert, update, delete and sends data back to A & B(D sends respective data only i.e. peer A's data to A only and not to B AND peer B's data to B only and not to A) and sends all data to peer C.

    CASE 2 => Here also four peers are included A, B, C, D and one Server comes in. Here each peer (A, B, C, D) syncronises with server in bidirectional mode and peers A, B, C, D may my or may not syncronise with each other (this depends on the individual subscription to each other). The server should send the modified/deleted data to the respective peer only, i.e. if the data of peer A is modified at the server, server is supposed to send the modified data to peer A only. And then peer A will decide if it wants to send the data to other peers (if subscribed).

    Here all the databases are SQL servers. All the data transfer should happen direct peer to peer.

    My questions are :

    1) Which scenario should I follow : offline or collaboration?

    2) Which provider should I use?

    3) Is the WCF good option for communication as databases are at the different locations?

    4) Do I need to setup WCF service at each peer (e.g. bidirectional sync between A <=> B).

    I hope you understand my problem statement. Please guide me in proper direction as I am new to Microsoft Sync Framework.

    Thanks in advance.

     

    -Ajinath

    Monday, May 17, 2010 7:31 AM

Answers

  • To answer your questions:

    1. Collaboration providers - it's the provider purposedly built for peer-to-peer synchronization

    2. SQLSyncProvider,assuming your using SQLExpress or SQL Server), SQLCESyncProvider if you're using SQL Compact

    3. WCF is your best option, you'll find most of the sample codes are using WCF as well

    4. Yes, if they are on different location and you can't directly connect to each database, WCF is your best option.

    Monday, May 17, 2010 10:18 AM
    Moderator