Systems and methods for synchronizing multiple copies of data in a network
environment that includes servers and clients so that incremental changes
made to one copy of the data can be identified, transferred, and
incorporated into all other copies of the data. The synchronization can
be accomplished regardless of whether modifications to the data have been
made by a client while the client is in an on-line or off-line mode of
operation. The clients cache data locally as data are modified and
downloaded. The caching enables the clients to access the data and allows
the synchronization to be performed without transmitting a particular
version more than once between a client and a server. Such elimination of
redundant data transmission results in an efficient use of time and
network bandwidth.