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.