---
title: "DFS requirements and file service architecture"
subject: "Distributed System"
chapter: 2
key: "semester_7/distributed_system:dfs-requirements-architecture"
source: https://www.bctengineer.com/q/semester_7/distributed_system/dfs-requirements-architecture
site: BCT Engineering
---

# DFS requirements and file service architecture

Distributed System · Chapter 2: Distributed Objects and File System

- Asked in: 2073 Shrawan, 4+4 marks
- Video: [CS 407 Distributed Computing - Module 4 - File Service Architecture](https://www.youtube.com/watch?v=lUqeon6pcAY) — Dept. of Computer Science & Engineering, CCE
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/distributed_system/dfs-requirements-architecture
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-2

## Question

What are the requirements of Distributed File System? Describe the file service architecture for Distributed File System.

## 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.

## Answer

#### Requirements of a distributed file system
1. **Transparency:** access, location, mobility, performance and scaling transparency, so users see one file tree.
2. **Concurrent file updates:** changes by one client must not disturb others; locking or optimistic control is needed.
3. **File replication:** copies of a file at several servers share the load and improve fault tolerance.
4. **Hardware and operating system heterogeneity:** interfaces must be defined so that clients and servers can run on any OS or hardware.
5. **Fault tolerance:** service continues after client or server crashes (idempotent, stateless operations, retransmission).
6. **Consistency:** the one-copy update semantics of a local file system should be approximated.
7. **Security:** authentication and access control lists on requests, with encryption when needed.
8. **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.

```text
 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.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Which forms of transparency does a distributed file system aim for?
   A. Only access transparency
   B. Access, location, mobility, performance and scaling transparency
   C. Only security and replication transparency
   D. Language and compiler transparency
   Answer: B. Users should see one file tree regardless of where files are. (Key point: Transparency)

2. Why are copies of a file kept on several servers?
   A. To share load and improve fault tolerance
   B. To avoid the need for consistency
   C. To make writes faster
   D. To remove the need for authentication
   Answer: A. File replication improves load sharing and availability. (Key point: Replication purpose)

3. What does the flat file service do in the file service architecture?
   A. Maps text names to UFIDs
   B. Caches data and hides server locations in each client
   C. Works on file contents, identifying files by a UFID, with repeatable operations and no client state
   D. Authenticates users only
   Answer: C. Mapping names to UFIDs is the directory service; the flat file service handles contents. (Key point: Flat file service)

4. What is the role of the directory service?
   A. Reads and writes file contents
   B. Holds the client's cache
   C. Generates stubs from the IDL
   D. Maps text names to UFIDs (Lookup, AddName, UnName, GetNames)
   Answer: D. Directories are themselves files stored by the flat file service. (Key point: Directory service)

## Related in Distributed System

- [DFS architecture and storage sharing](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-architecture-sharing) — Distributed System, chapter 2, asked 4×
- [Requirements of a DFS](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-requirements) — Distributed System, chapter 2
- [Importance of DFS; operations of SUNNFS](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Adfs-importance-sunnfs) — Distributed System, chapter 2
- [Autonomous vs distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aautonomous-vs-distributed) — Distributed System, chapter 1
- [Models of distributed system](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Amodels-of-ds) — Distributed System, chapter 1
- [True distributed system; middleware organisation](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Atrue-ds-middleware) — Distributed System, chapter 3

## Related in other subjects

- [Google File System architecture](https://www.bctengineer.com/question.md?key=semester_8%2Fbig_data_technologies%3Agfs-architecture) — Big Data Technologies, chapter 2, asked 2×
- [Distributed object versus multiprocessor architecture](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Adistributed-object-vs-multiprocessor) — Software Engineering, chapter 3
- [Client-server versus distributed object architecture](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aclient-server-vs-distributed-object) — Software Engineering, chapter 3
- [File system layout, i-node, backup](https://www.bctengineer.com/question.md?key=semester_6%2Foperating_system%3Afs-layout-inode-backup) — Operating System, chapter 5
