1. A method for data synchronization between a plurality of nodes communicatively coupled via one or more networks, comprising: transmitting a ping from an originating node to a different node independent from data to be synchronized; subsequent to transmitting the ping and based on a determination obtained in response to the ping that one or more updates to knowledge maintained by the different node have occurred subsequent to a previous synchronization, transmitting knowledge to be synchronized from the originating node to the different node, the knowledge to be synchronized being transmitted subsequent to the ping and in a separate transmission from the ping, the knowledge including a label for each object in the knowledge to be synchronized and version information for each object in the knowledge to be synchronized; receiving the knowledge maintained by the different node in response to the transmission of the knowledge from the originating node, the knowledge maintained by the different node including a label for each object in the knowledge maintained by the different node and version information for each object in the knowledge maintained by the different node, the knowledge maintained by the different node being received with one or more changes related to one or more objects in the knowledge maintained by the different node; performing a comparison of a scope of the knowledge maintained by the originating node with a scope of the knowledge maintained by the different node; and synchronizing the knowledge maintained by the originating node with the knowledge maintained by the different mode.