Andrew File System

1,302 views 10 slides Aug 16, 2022
Slide 1
Slide 1 of 10
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10

About This Presentation

Case Study- Andrew File System. This is useful for CTEVT Diploma in Computer Engineering Students.


Slide Content

Distributed Computing EG 3113 CT Diploma in Computer Engineering 5 th Semester Unit 4.4 Andrew file system ( afs ) Lecture by : Er . Ashish K.C(Khatri)

Andrew File System (AFS): Like NFS, AFS provides transparent access to remote shared files for UNIX programs running on workstations . AFS is a distributed file system, with scalability as a major goal.

Its efficiency can be attributed to the following practical assumptions (as also seen in UNIX file system): Files are small (i.e. entire file can be cached) Frequency of reads much more than those of writes Sequential access common Files are not shared (i.e. read and written by only one user) Shared files are usually not written Disk space is plentiful

AFS distinguishes between client machines (workstations) and dedicated server machines. Caching files in the client side cache reduces computation at the server side, thus enhancing performance. However , the problem of sharing files arises. To solve this, all clients with copies of a file being modified by another client are not informed the moment the client makes changes. That client thus updates its copy, and the changes are reflected in the distributed file system only after the client closes the file.

AFS is designed to perform well with larger numbers of active users than other distributed file systems. The key strategy for achieving scalability is the caching of whole files in client nodes. AFS has two unusual design characteristics : Whole File Serving : The entire file is transferred to client computers in one go, limited only by the maximum size UDP/IP supports Whole File Caching : The entire file is cached in the local machine cache, reducing file-open latency, and frequent read/write requests to the server

In AFS, the server keeps track of which files are opened by which clients (as was not in the case of NFS). In other words, AFS has  stateful servers , whereas NFS has  stateless servers . Another difference between the two file systems is that AFS provides  location independence  (the physical storage location of the file can be changed, without having to change the path of the file, etc.) as well as  location transparency  (the file name does not hint at its physical storage location). Stateful servers in AFS allow the server to inform all clients with open files about any updates made to that file by another client, through what is known as a  callback . Callbacks to all clients with a copy of that file is ensured as a  callback promise  is issued by the server to a client when it requests for a copy of a file.

The key software components in AFS are: Vice : The server side process that resides on  top of the unix kernel, providing shared file services to each client Venus : The client side cache manager which acts as an interface between the application program and the Vice

Issues in design of AFS: Client mobility: Clients are able to access any file in the shared name space from any workstation. A client may notice some initial performance degradation due to the caching of files when accessing files from a workstation other than the usual one. Security: The Vice interface is considered the boundary of trustworthiness, because no client programs are executed on Vice machines. - Authentication and secure-transmission functions are provided as part of a connection based communication package based on the RPC paradigm . - Vice server and a client communicate via encrypted messages. Encryption is performed by hardware devices or (more slowly) in software. Information about clients and groups is stored in a protection database replicated at each server.

Protection: AFS provides access lists for protecting directories and the regular UNIX bits for file protection. The access list may contain information about those users allowed to access a directory, as well as information about those users not allowed to access it. Thus, it is simple to specify that everyone except, say, Jim can access a directory. AFS supports the access types read, write, lookup, insert, administer, lock, and delete. Heterogeneity: Defining a clear interface to Vice is a key for integration of diverse workstation hardware and operating systems. So that heterogeneity is facilitated, some files in the local /bin directory are symbolic links pointing to machine-specific executable files residing in Vice.