File Sharing
What is the semantics of file operations in a distributed system? What is the problem?
“Unix” semantics: the system enforces absolute time ordering on all operations and always returns the most recent value.
- Straightforward for system with single server and no caching.
- What about multiple servers or caching clients?
- Relax semantics of file sharing.
Session semantics:
- Changes to an open file are initially visible only to the process that modified the file. Changes are propagated only when the file is closed.
- What if two processes cache and modify the file?
Immutable files:
- Files are created and replaced, not modified.
- Problem of concurrent operations simply disappears.
Atomic Transactions:
- BEGIN TRANSACTION / END TRANSACTION.
- Transactions are executed indivisbly.