Abbreviation used:
DFS: Distributed File System
1. Mounting
This mechanism provides the binding together of different filename spaces to form a single hierarchically structured name space. It is UNIX specific and most of existing DFS ( Distributed File System ) are based on UNIX. A filename space can be bounded to or mounted at an internal node or a leaf node of a namespace tree. A node onto which a name space is mounted is called mount point. The kernel maintains a mount table, which maps mount points to appropriate storage devices.
Uses of Mounting in DFS
File systems maintained by remote servers are mounted at clients so that each client have information regarding file servers. Two approaches are used to maintain mount information.
Approach 1: Mount information is maintained at clients that is each client has to individually mount every required file system. When files are moved to a different server then mount information must be updated in mount table of every client.
Approach 2: Mount information is maintained at servers. If files are moved to a different servers, then mount information need only be updated at servers.
2. Caching
This mechanism is used in DFS to reduce delays in accessing of data. In file caching, a copy of data stored at remote file server is brought to client when referenced by client so subsequent access of data is performed locally at client, thus reducing access delays due to netwrok latency. Data can be cached in main memory or on the local disk of the clients. Data is cached in main memory at servers to reduce disk access latency.
Need of Caching in DFS:
File system performance gets improved accessing remote disks is much slower than accessing local memory or local disks. It also reduces the frequency of access to file servers and the communication network so scalability gets increased.
3. Hints
Caching results in the cache consistancy problem when multiple clients cache and modify shared data. This problem can be avoided by great level of co-operation between file servers and clients which is very expansive. Alternative method is to treat cached data as hints that is cached data are not expected to be completely accurate. Only those class of applications which can recover after discovering that cached data are invalid can use this approach. Example: After the name of file or directory is mapped to physical object, the address of object can be stored as hint in the cache. If the address is incorrect that is fails to map the object, the cached address is deleted form the cache and file server consult the same server to obtain the actual location of file or directly and updated the cache.
4. Bulk Data Transfer
In this mechanism, multiple consecutive data blocks are trasferred from server to client. This reduces file access overhead by obtaining multiple number of blocks with a single seek, by formatting and transmitting multiple number of large packets in single context switch and by reducing the number of acknowledgement that need to be sent. This mechanism is used as many files are accessed in their entirety.
5. Encryption
This mechanism is used for security in Distributed systems. The method was developed by Needham Schrodkar is used in DFS security. In this scheme, two entities which want to communicate establish a key for conversation with help of authentication server.