next up previous contents
Next: Scope of this Thesis Up: Introduction Previous: The Broad Picture   Contents

Applications of Synchronization

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
\begin{figure}\epsfysize =10cm
\centerline{{\epsffile{fig6of1.eps}}}
\end{figure}
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 up previous contents
Next: Scope of this Thesis Up: Introduction Previous: The Broad Picture   Contents
Sachin Kumar Agarwal 2002-07-12