![]() |
| |||||||||||||||||||||||||
|
Overview | Results | Publications | Software | People | References Overview:
File synchronization is a restoration process of file consistency
between a file server and a clinet. In this work, we consider the
problem of file synchronization when a mobile host shares files
with a backbone file server in a network file system. Several
differential schemes have been proposed to improve upon the
transfer overheads of conventional file synchronization approaches,
which use full file transfer. These schemes compute the binary
differential update (diff) of the new file with respect to the old
copy at the server and transfer the computed diff to the server for
file-synchronization. However, Lee et al. have shown that the
performance of diff can be significantly improved upon by shipping
user operations as opposed to the data itself. Using this as
motivation, we present a purely application-unaware approach called
Mimic that relies on transferring raw user activity to the server for
file synchronization. Through a simple prototype of the proposed
approach, we show that Mimic can outperform differential schemes
under many common conditions. We also identify conditions under
which diff-based approaches do perform better than the proposed
approach, but show that detection of such conditions is straightforward,
thus enabling both schemes to be used in tandem with a mobile file
system for bandwidth-efficient file synchronization.
Results:ComponentsMimic is a fully application-unaware strategy that consists of components at the client and the server respectively. At a high level, Mimic captures raw user-activity at the client that pertains to shared files, maintains such activity on a per-file basis, and ships the raw-activity to the server during file synchronization. The server then replays the activities to regenerate the updated files at the client. The realization of the above functionalities in Mimic are done with the goals of reducing the transfer file size, minimizing latencies involved, and incurring minimal overheads in terms of usage of system resources. Mimic requires interfacing with both the underlying file system and window manager at the client, and with the window manager at the server end. The interfacing with the window manager, however, does not require any changes to the operating system, and instead is achievable through standard interfaces that most window managers export. Briefly, the primary components of the Mimic approach are:
Integration with File SystemMimic does not require any interfacing with the file system at the server. We refer to the coupling as loose because Mimic currently relies only on informative callbacks from the file system that is essential for its operations, and requires minimal changes to the file system design and logic.
Performance ResultsThe figure shows the overhead results with different update intervals when a user accesses multiple files spending the same time per file, and performs various input activities. The input rate is about 200 operations per minute Microsoft Word and 85 operations per minute for Microsoft Visio. The dominant operations used are insertions.
It can be observed that both Mimic and diff overhead increases in
proportion to the update interval for mixed activities. This is because the
overall overhead is dominated by the transfer size of Visio, whose overhead is
increases almost linearly with a larger interval. Thus, as the interval becomes
larger, the overhead difference is also increased linearly. In the experiments,
Mimic reduces the size of overhead by about 40%.
Publications & Presentations:
Software Downloads:People:
References & Related Work:Low-Bandwidth Network File System
Operation Shipping for Mobile File Systems
Coda
|