Abstract:
Escrow reservations is a 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, an issue of
concern in cloud storage systems.
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.
(Joint work with Hong Tian (Amazon) and Doug Terry (Microsoft))