Next: Scope of this Thesis
Up: Introduction
Previous: The Broad Picture
  Contents
The same data may be separately modified on hosts and these
changes need to be propagated to other hosts on the network . A
good example is the Internet Domain Naming System (DNS) described
in [3,4]. DNS is used to map Internet address strings
into IP addresses. It has an elaborate hierarchial system of
updating the domain name databases periodically (typically 3
hours) because DNS lookup tables change with time. The Internet is
divided into various DNS zones. Each zone has a primary DNS server
and one or more secondary DNS servers that periodically
synchronize DNS information with the primary DNS server in order
to obtain the latest version using either all zone transfer
(AXFR) [3,4] or incremental zone transfer
(IXFR) [5] zone transfer. AXFR zone transfer results in
the primary DNS server sending its whole DNS database to the
secondary server and uses a lot of network bandwidth. IXFR zone
transfer on the other hand is incremental and only changes in the
DNS database are sent from the primary server to the secondary
server. Each DNS database version has a version number that is
used by the primary server to determine the updates to send to a
secondary DNS server. This requires the primary server to store
many previous versions of the DNS database to determine which
updates are to be sent to the secondary server with a given
version number. Information about older versions should be purged
if the total length of an IXFR response would be longer than that
of an AXFR zone transfer, in which case it would be more efficient
to do a complete AXFR zone transfer. Quick and efficient updates
to the DNS information can substantially reduce the problem of
Internet ``Hot Spots" [6] which arise when there is a
sudden increase in the number of hits on a particular web site.
Hotspots overwhelm a particular server because of a large number
of HTTP requests. This situation can be corrected by quickly
changing the DNS information held on name servers so that
alternate servers help balance the load.
There are other applications that require synchronization. Unix
utilities like rsync [7] are used to synchronize files
with minimum transfer of redundant information. The Coda
System [8,9] proposed by Kistler and
Satyanaraynan et al provides a model for disconnected
operation and subsequent reconciliation of distributed file
systems and data in mobile devices. The general Coda system model
is similar to the one used in some mobile device networks,
including some PDAs.
Figure 1.2:
Some applications
of synchronization
 |
An efficient synchronization routine will be useful in boosting
the performance of resource discovery algorithms such as the Name
Dropper algorithm described in [10]. In addition, there
is a pressing need for efficient synchronization in gossip
information dissemination such as in [11]. There are
countless other applications of synchronization, some of the more
important being routing information dissemination in networks,
synchronization of mobile device databases and the distribution of
software updates over the Internet. Figure 1.2
shows some applications where data synchronization is critical.
Next: Scope of this Thesis
Up: Introduction
Previous: The Broad Picture
  Contents
Sachin Kumar Agarwal
2002-07-12