Abstract
We study the problem of maintaining large replicated collections of files or documents in a distributed environment with limited bandwidth. This problem arises in a number of important applications, such as synchronization of data between accounts or devices, content distibution and web caching networks, web site mirroring, storage networks, and large scale web search and mining. At the core of the problem lies the following challenge, called the file synchronization problem: given two versions of a file on different machines, say an out-dated and a current one, how can we update the outdated version with minimum communication cost, by exploiting the significant similarity between the versions? While a popular open source tool for this problem called rsync is used in hundreds of thousands of installations, there have been only very few attempts to improve upon this tool in practice. In this paper, we propose a framework for remote file synchronization and describe several new techniques that result in significant bandwidth savings. Our focus is on applications where very large collections have to be maintained over slow connections. We show that a prototype implementation of our framework and techniques achieves significant improvements over rsync. As an example application, we focus on the efficient synchronization of very large web page collections for the purpose of search, mining, and content distribution.
Original language | English (US) |
---|---|
Title of host publication | Proceedings - 20th International Conference on Data Engineering - ICDE 2004 |
Pages | 153-164 |
Number of pages | 12 |
Volume | 20 |
DOIs | |
State | Published - 2004 |
Event | Proceedings - 20th International Conference on Data Engineering - ICDE 2004 - Boston, MA., United States Duration: Mar 30 2004 → Apr 2 2004 |
Other
Other | Proceedings - 20th International Conference on Data Engineering - ICDE 2004 |
---|---|
Country/Territory | United States |
City | Boston, MA. |
Period | 3/30/04 → 4/2/04 |
ASJC Scopus subject areas
- Software
- General Engineering
- Engineering (miscellaneous)