Thinck
 
Site Index
Home
Vision
People
Publications
Projects
Current
Atra
Smarta
pTCP / R2CP
Thinck
Garuda
Past
Sphinx
iQ
eCo
GTCP
MPFD
Sponsors
Links
Contact


Overview |  Results |  Publications |  Software |  People |  References


Overview:

File Synchronization

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:


Components

Mimic 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:

  1. Record: This component is responsible for the effective capturing of raw-activity at the client end, classifying the activity, and maintaining per-shared-file records.
  2. Replay: This component is responsible for replaying the activity records in the fastest manner possible while ensuring correctness.
  3. Verification: Finally, this component is responsible for verifying whether the replay based re-creation of an updated file is correct. This component includes both forward error correction to correct non-repeatable actions (such as timestamps), and detecting any errors that arise due to improper playback.
System Overviewn
System Overview


Integration with File System

Mimic 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.
System Overviewn
Mimic-filesystem-window manager interfaces


Performance Results

The 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.
System Overviewn
Transfer size for Large-Scale User Activity

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

  • A. Muthitacharoen, B. Chen, and D. Mazieres, "A Low-Bandwidth Network File System," in Proceedings of the 18th Symposium on Operating Systems Principles, Banff, Canada, Oct. 2001.

Operation Shipping for Mobile File Systems

  • Y. Lee, K. Leung, and M. Satyanarayanan, "Operation Shipping for Mobile File Systems," in IEEE Transactions on Computers, vol. 51, no. 12, pp. 1410-1422, Dec. 2002.

Coda

  • M. Satyanarayanan, J. J. Kistler, P. Kumar, M. E. Okasaki, E. H. Siegel and D. C. Steere, "Coda: A Highly Available File System for a Distributed Workstation Environment," IEEE Transactions on Computers, vol. 39, no. 4, pp.447-359, 1990.
  • J. J. Kistler and M. Satyanarayanan, "Disconnected Operation in the Coda File System," ACM Transactions on Computer Systems, vol. 10, no. 1, pp. 3-25, Feb. 1992.
  • L. B. Huston and P. Honeyman, "Disconnected Operation for AFS," Proceedings of the USENIX Mobile and Location-Independent Computing Symposium, Cambridge, MA, pp.1-10, 1993.