Patent ID: 8510404

Claim:
A method of enabling peer to peer synchronization between members of a synchronization network, the synchronization network being implemented in respect of a predefined synchronization reference area on each network member, the method comprising: detecting, on a first member of the synchronization network, a change to a data item within the predefined synchronization reference area; determining a type of the change made to the data item; determining a relative path within the predefined synchronization reference area to the data item associated with the change; obtaining a current version value calculated based upon content of a current version of the data item on said first member of the synchronization network; upon determining that a previous version of the data item exists on said first member of the synchronization network, obtaining a previous version value calculated based upon content associated with the previous version of the data item; obtaining a current log number counter on said first member of the synchronization network, the current log counter being associated with an incremental count of logs that is updated with each change made to data items of the synchronization network on said first member of the synchronization network; generating a log representing the change based upon: a current log number on said first member of the synchronization network, the type of change, the relative path to the data item associated with the change, the current version value, and if a previous version of the data item exists, the previous version value, wherein said generating a log further comprises, in case that the change is associated with implementing on said first member of the synchronization network a different log received from another member of the synchronization network, including in the log representing the change on said first member of the synchronization network a member identifier of said other member of the synchronization network and the number of the different log on said other member of the synchronization network; and forwarding the log to two or more members of the synchronization network, wherein said log enables two or more members of the synchronization network to synchronize the data item through local processing of the log from the first member on said two or more members of the synchronization network.