Coursework 2         MiniProject Report                JS Swift

Distributed File System

A Distributed File System is an application based on client/server relationship. This application allows clients to access and process objects stored on the server, as if they were stored on their own local hard disk. Whenever a user requests for an object, the server send s a copy of that particular object. The user computer caches the object and sends it back to the server. DFS organizes file and directory services of standalone servers into a global directory. In this way, all servers are interconnected to each other and all files can become available to end-user, truly showing distributed file system. Server has a mechanism installed, whereby many clients may access same data simultaneously. This mechanism also updates files so that the following clients receive most updated version of files and also reduces data conflicts. To protect against data access failures, DFS uses file or database replication. Some of the examples of DFS include:

  • Novell Netware
  • Microsoft’s Distributed File System
  • IBM/Transarc’s Distributed File System
  • NFS (we will discuss this example later)

Distributed File System has many common concepts. We will now discuss some of the concepts of Distributed File System. They include Naming and Transparency, File Replication, Remote File Access, Caching, Fault Tolerance, Security and many more. We will briefly go through some of the main common concepts of Distributed File System before embarking on Network File System. Concepts are as follows:

  • File Replication

File replication is a useful idleness for improving accessibility of files on different machines. This feature also benefits performance as well. The basic procedure of file replication is that various replications of the same file should sit on independent machines. In this way, one replica is not affected by other replicas sitting on other computers. You can, however, hide the details of replication from users. In other words, they won’t know the replication details and it is also advantageous. Naming scheme is responsible to map a replicated file name to a replica. In terms of existence of replicas, they should be invisible at higher level and they should be distinguished from one another by different names. The only problem with file replication is their update.

  • Naming and Transparency

A common concept of Distributed File System is Naming and Transparency. Mapping between logical and physical objects is known as naming. We as users refer to the files or object as a textual name and see the files or objects as logical but the system sees the same file as physical blocks of data. Mapping actually provides users with all the information about the whereabouts of a file on the disk. On the other side, a Distributed File System in a transparent mode also tells the whereabouts of a file on the network. There are two categories to name mapping in a Distributed File System. They are Location Transparency and Location Independence.

- Location Transparency: This is whereby the name file’s location should not be revealed. I.e. the file name doesn’t give any physical storage location of the file.

- Location Independence: This is whereby the file name doesn’t need to be changed when the actual location of the file changes in the physical storage location.

Join now!

Both these categories are related to naming as files have different names at different levels.

  • Remote File Access

In a Distributed File System, users can access to remote files by requesting the server for that particular file. This is achieved when the server storing the file is located by the naming scheme. A mechanism called remote-service sends requests to the server and the server replies back by sending the results after processing the requests. The user sends request to the server using the Remote Procedure Call (this will be discussed later).

  • Caching

Caching is a very simple ...

This is a preview of the whole essay