next up previous contents
Next: 3.2 Logging of user Up: 3. Design and Implementation Previous: 3. Design and Implementation

   
3.1 Overview

We organize our discussion according to the four steps shown in Figure 1:

1.
Logging of user operations. When a file is updated on a client, the client keeps the new file value V (the contents of the file) and also logs the user operation O.
2.
Shipping of operation log. If the network bandwidth is low, the client does not ship V to the server. Instead, it ships O, the fingerprint of V, and other meta-data to a surrogate client.
3.
Re-execution of operations. The surrogate re-executes Oand produces a file value V'.
4.
Validation of re-execution. The surrogate validates the re-execution by checking the fingerprints and meta-data. If it accepts the re-execution, then it will present V' to the server; otherwise, it will report failure to the client, which will then fall back to value shipping and ship V directly to the server.



Copyright 1999 by Y.W. Lee, K.S. Leung, and M. Satyanarayanan