Documente Academic
Documente Profesional
Documente Cultură
a) b)
The remote access model The upload/download model (used e.g. in FTP)
2
Two Examples
NFS (Sun Network File System)
Developed by Sun for use on its UNIX-based workstations Implemented for many other systems More a model (collection of protocols) than implementation Currently used NFS version 3
NFS version 4 is almost ready
Coda
Support for continuous operations (e.g. laptop connected/ disconnected)
3
NFS
NFS Architecture
Communication
Independent of operating system, network architecture, and transport protocol Based on RPC Client ideology: make servers life as simple as possible
One RPC call per file operation
NFS version 4 supports compound procedures
Processes
Traditional client-server architecture Server can be stateless
Abandoned in NFS version 4
Naming (1)
Directories are exported and mounted Names are relevant to the client
Standardized names
8
Naming (2)
It is not allowed to re-export directories Client has to explicitly mount from the corresponding server
Synchronization Problems
a) On a single processor, when a read follows a write, the value returned by the read is the value just written. In a distributed system with caching, obsolete values may be returned.
b)
10
NFS implements session semantics (the cached data is flushed back to the server when the client closes the file)
12
Fault Tolerance
No such issue with NFS version 3 and earlier
Stateless protocol does not require recovery
Security
Secure RPCs
16
The various kinds of users and processes distinguished by NFS with respect to access control.
17
Coda
a) b)
The remote access model The upload/download model (used e.g. in FTP)
19
Coda
Developed in Carnegie Melon University (CMU) in 1990s Designed to support around 10,000 workstations Aimed at high availability Available in a number of operating system (Linux) Vice file servers Virtue workstations
Every workstation runs a process called Venus (similar to an NFS client)
20
21
22
Communication
By means of RPC
Reliable and more sophisticated RPC2 Supports multicasting Supports multiple RPCs in parallel Supports other features (e.g., side effects: communication using an application-specific protocol on top of RPC)
23
Processes
Clearly distinguishes clients and servers Both are organized as a collection of concurrent threads
User-space implementation + special mechanisms dealing with blocking I/O operations
24
Naming (1)
Analogous to UNIX Files are grouped into volumes
Usually corresponds to a collection of files associated with a user Each file is contained in exactly on volume
Naming (2)
How it Works
When a client opens a file, an entire copy of the file is transferred to the clients machine. Several clients may open the same file for reading Transactional semantics is used to prevent writewrite conflicts:
When a client opens a file for writing, nobody else is allowed to open it for writing When a client closes the file, the file will be transferred back to the server
27
Synchronization Problem
How would transactional semantics work if a server is not reachable? All operations succeed on the clients side Version control is used When the server is again available, updates are transferred to the server in the same order as they took place at the client When a conflict occurs, the updates from the clients session are undone
Manual reconciliation
28
A client contacts one of the active VSG in order to get a file When closing a session on an updated file, the client transfers it in parallel to all members of ASVG Conflicts may occur when the network is partitioned
30
Two clients with different AVSG for the same replicated file Each server maintains versions of the files
31
32
Fault Tolerance
In NFS (and many other distributed file systems) a client cannot operate unless it can contact a server In Coda it can use the local copy and then rely on conflict recovery
Provided that all needed files are in the cache Coda uses a sophisticated priority mechanism to ensure that useful data is cached Hoarding: filling the cache
33
Disconnected Operation
Security
Secure channel for authentication & privacy
Same ideas as in Kerberos, different implementation
Access control
For simplicity and scalability, access control lists for directories (not individual files) only Ability to give negative rights to punish misbehaving users faster
35
Access Control
Operation Read Write Lookup Insert Delete Administer Description Read any file in the directory Modify any file in the directory Look up the status of any file Add a new file to the directory Delete an existing file Modify the ACL of the directory
Classification of file and directory operations recognized by Coda with respect to access control.
36
Summary (1)
Issue Design goals Access model Communication Client process Server groups Mount granularity File ID scope Name space NFS Access transparency Remote RPC Thin/Fat No Directory File server Per client Coda High availability Up/Download RPC Fat Yes File system Global Global
37
Summary (2)
Sharing sem. Cache consist. Replication Fault tolerance Recovery Secure channels Access control Session write-back Minimal Reliable comm. Client-based Existing mechanisms Many operations Transactional write-back ROWA Replication and caching Reintegration NeedhamSchroeder Directory operations
38