- 2073 Shrawan · 4+4 marks
DFS requirements and file service architecture
Short answer
DFS requirements include transparency, concurrent updates, replication, heterogeneity, fault tolerance, consistency, security, and efficiency. Its architecture comprises a flat file service (UFID-based, stateless), a directory service (name-to-UFID mapping), and a client module providing a unified API and caching.
What are the requirements of Distributed File System? Describe the file service architecture for Distributed File System.
Requirements of a distributed file system
- Transparency: access, location, mobility, performance and scaling transparency, so users see one file tree.
- Concurrent file updates: changes by one client must not disturb others; locking or optimistic control is needed.
- File replication: copies of a file at several servers share the load and improve fault tolerance.
- Hardware and operating system heterogeneity: interfaces must be defined so that clients and servers can run on any OS or hardware.
- Fault tolerance: service continues after client or server crashes (idempotent, stateless operations, retransmission).
- Consistency: the one-copy update semantics of a local file system should be approximated.
- Security: authentication and access control lists on requests, with encryption when needed.
- Efficiency: performance comparable to a local file system, using caching, read-ahead and delayed write.
File service architecture
The model of Coulouris divides the service into three modules.
Client computer | Server computer
+-------------------+ | +----------------------+
| Application | | | Directory service |
| programs | | | (name -> UFID) |
+---------+---------+ | +----------+-----------+
| | |
+---------v---------+ RPC/messages +---v-----------+
| Client module |<------------->| Flat file |
| (API, cache) | | | service |
+-------------------+ | +---------------+
- Flat file service: works on file contents. Files are identified by a unique file identifier (UFID). Operations: Read, Write, Create, Delete, GetAttributes, SetAttributes. All operations except Create are repeatable (idempotent), and the server keeps no client state (stateless).
- Directory service: maps text names to UFIDs. Operations: Lookup, AddName, UnName, GetNames. Directories are themselves files stored by the flat file service.
- Client module: runs in each client computer, gives applications one API, hides the location of servers, and holds the cache and the addresses of the servers.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- DFS architecture and storage sharing · Distributed System, chapter 2 · asked 4×
- Requirements of a DFS · Distributed System, chapter 2
- Importance of DFS; operations of SUNNFS · Distributed System, chapter 2
- Autonomous vs distributed system · Distributed System, chapter 1
- Models of distributed system · Distributed System, chapter 1
- True distributed system; middleware organisation · Distributed System, chapter 3
- Google File System architecture · Big Data Technologies, chapter 2 · asked 2×
- Distributed object versus multiprocessor architecture · Software Engineering, chapter 3
- Client-server versus distributed object architecture · Software Engineering, chapter 3
- File system layout, i-node, backup · Operating System, chapter 5