1. In an information processing system, a method for synchronizing a first dataset with a second dataset, wherein the first and second datasets each includes user data, and the user data of each of the first and second datasets is changed independently of the other of the first and second datasets, the method comprising: maintaining, for the first dataset, information that is descriptive of a first synchronization between the first dataset and a third dataset, the information hereinafter referred to as a third-party information; communicating the third-party information from a first synchronization engine to a second synchronization engine; and synchronizing the first dataset with the second dataset using the second synchronization engine and the communicated third-party information, wherein, prior to the synchronizing step, the first dataset has already taken into account at least one data record of the third dataset as of a first version of the third dataset; and the third-party information includes an indicator of the first version, the synchronizing step including specifying a second version of the third dataset such that the second dataset after the synchronizing step will have taken into account the at least one data record of the third dataset as of the second version; and maintaining, for the second dataset, an indicator of the specified second version, wherein the maintained indicator is available for use in a future synchronization involving the second dataset; wherein the specifying step comprises specifying the first version as the second version if: prior to the synchronizing step, the second dataset has already taken into account the at least one data record of the third dataset as of a third version of the third dataset; and the first version is newer than the third version.