Exo-Leasing: Escrow Synchronization for Mobile Clients of Commodity Storage Servers

Escrow reservations is a well-known synchronization technique, useful for inventory control, that avoids conflicts by taking into account the semantics of fragmentable object types. Unfortunately, current escrow techniques cannot be used on generic "commodity" servers because they require the servers to run the type-specific synchronization code. This is a severe limitation for systems that require application-specific synchronization but need to rely on generic components. Our exo-leasing method provides a new way to implement escrow synchronization without running any type-specific code in the servers. Instead, escrow synchronization code runs in the client providing the ability to use commodity servers. Running synchronization code in the client provides an additional benefit. Unlike any other system, our system allows a disconnected client to obtain escrow reservation from another disconnected client, reducing the need to coordinate with the servers. Measurements of a prototype indicate that our approach provides escrow-based conflict avoidance at moderate performance overhead.

[1]  Jason Flinn,et al.  EnsemBlue: integrating distributed storage and consumer electronics , 2006, OSDI '06.

[2]  Bratin Saha,et al.  Open nesting in software transactional memory , 2007, PPOPP.

[3]  Françoise Sailhan,et al.  Cooperative Caching in Ad Hoc Networks , 2003, Mobile Data Management.

[4]  Liuba Shrira,et al.  ExoSnap: a modular approach to semantic synchronization and snapshots , 2008, WDDDM '08.

[5]  Robert Gruber,et al.  Efficient optimistic concurrency control using loosely synchronized clocks , 1995, SIGMOD '95.

[6]  Ricardo Jiménez-Peris,et al.  Highly Available Long Running Transactions and Activities for J2EE Applications , 2006, 26th IEEE International Conference on Distributed Computing Systems (ICDCS'06).

[7]  J. Holliday,et al.  Epidemic quorums for managing replicated data , 2000, Conference Proceedings of the 2000 IEEE International Performance, Computing, and Communications Conference (Cat. No.00CH37086).

[8]  John S. Heidemann,et al.  Resolving File Conflicts in the Ficus File System , 1994, USENIX Summer.

[9]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[10]  David J. DeWitt,et al.  A Status Report on the oo7 OODBMS Benchmarking Effort , 1994, OOPSLA.

[11]  Marvin Theimer,et al.  Managing update conflicts in Bayou, a weakly connected replicated storage system , 1995, SOSP.

[12]  Julian Jang,et al.  Isolation Support for Service-based Applications: A Position Paper , 2007, CIDR.

[13]  Panos K. Chrysanthis,et al.  Supporting semantics-based transaction processing in mobile database applications , 1995, Proceedings. 14th Symposium on Reliable Distributed Systems.

[14]  Liuba Shrira,et al.  MX: Mobile Object Exchange for Collaborative Applications , 2003, ECOOP.

[15]  Gerhard Weikum,et al.  A theoretical foundation of multi-level concurrency control , 1985, PODS.

[16]  Mahadev Satyanarayanan,et al.  Disconnected Operation in the Coda File System , 1999, Mobidata.

[17]  Patrick E. O'Neil,et al.  The Escrow transactional method , 1986, TODS.

[18]  David K. Gifford,et al.  Coordinating Independent Atomic Actions , 1985, COMPCON.

[19]  Lei Gao,et al.  PRACTI Replication , 2006, NSDI.

[20]  Michael Stonebraker,et al.  Semantics based transaction management techniques for replicated data , 1988, SIGMOD '88.

[21]  David B. Lomet,et al.  MLR: a recovery method for multi-level systems , 1992, SIGMOD '92.

[22]  David R. Cheriton,et al.  Leases: an efficient fault-tolerant mechanism for distributed file cache consistency , 1989, SOSP '89.

[23]  José Legatheaux Martins,et al.  Reservations for Conflict Avoidance in a Mobile Database System , 2003, MobiSys '03.

[24]  Mahadev Satyanarayanan,et al.  Supporting application-specific resolution in an optimistically replicated file system , 1993, Proceedings of IEEE 4th Workshop on Workstation Operating Systems. WWOS-III.

[25]  Liuba Shrira,et al.  Providing high availability using lazy replication , 1992, TOCS.