A 
system and method for 
synchronizing devices which can couple to 
the Internet, or any network. In one aspect a 
system for 
synchronizing data between a first 
system and a second system is provided. The system includes a first 
sync engine on the first system 
interfacing with data on the first system to provide difference information. A 
data store is coupled to network and in communication with the first and second systems. A second 
sync engine is provided on the second system coupled to receive the difference information from the 
data store via the network, and 
interfacing with data on the second system to update said data on the second system with said difference information. Difference information is transmitted to the 
data store by the first 
sync engine and received from the data store from the second sync engine. The system may include a management 
server coupled to the network and in communication with the first sync engine, the second sync engine and the data store. The system may include a plurality of sync engines on a respective plurality of systems, each of said plurality of engines being coupled to receive difference information from each of said first, second and plurality of sync engines from the data store via the network. Each said engine interfaces with data on the system on which it resides to update said data on said system on which it resides with said difference information, and interfaces with data on said system on which it resides to provide difference 
data information from the system on which it resides to the data store. In a further embodiment, the invention comprises a method for 
synchronizing at least a first file and a second file resident on a first and a second systems, respectively, coupled to 
the Internet, respectively. The method includes the steps of: determining difference data resulting from changes to the first file on the first system; transmitting the difference data to a 
server via 
the Internet; querying the 
server from a second system to determine whether difference data exists for files on the second system; retrieving the difference data to the second system; and updating the second file on the second system with the difference data.