DISTRIBUTED FILE SYSTEMS 
(DFS)
DISTRIBUTED FILE SYSTEMS 
• Including 
1.Introduction 
2.File Service Architecture 
3.Case Study: Sun NFS
1. Introduction 
• File system: support convenient programming 
interface to disk storage, access control and 
file looking mechanism.
Distributed Files Systems (DFS) 
• Allows multi-computer systems to share files & 
Sharing devices 
• E.g., 
– NFS (Sun’s Network File System) 
– Windows NT, 2000 
– Andrew File System (AFS) 
Distributed File Systems CS-4513, D-Term 2007 4
Distributed File Systems (continued) 
• One of most common uses of distributed file 
system is distributed computing 
• Goal: provide common view of centralized file 
system, but distributed implementation. 
– Ability to open & update any file on any machine 
on network 
– All of synchronization issues and capabilities of 
shared local files 
Distributed File Systems CS-4513, D-Term 2007 5
Including 
1. Characteristics of file system 
2. Distributed File system requirements
1. Characteristics of file system 
• File system: support convenient programming 
interface to disk storage, access control and 
file looking mechanism. 
 Files contain both data and attributes. 
 A typical attribute record structure is 
illustrated in Figure 3.
8 
Introduction 
File length 
Creation timestamp 
Read timestamp 
Write timestamp 
Attribute timestamp 
Reference count 
Owner 
File type 
Access control list 
Figure 3. File attribute record structure 
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
• Figure 4 summarizes the main operations 
on files that are available to applications in 
UNIX systems.
10 
Introduction 
Figure 4. UNIX file system operations 
filedes = open(name, mode) 
filedes = creat(name, mode) 
Opens an existing file with the given name. 
Creates a new file with the given name. 
Both operations deliver a file descriptor referencing the open 
file. The mode is read, write or both. 
status = close(filedes) Closes the open file filedes. 
count = read(filedes, buffer, n) 
count = write(filedes, buffer, n) 
Transfers n bytes from the file referenced by filedes to buffer . 
Transfers n bytes to the file referenced by filedes from buffer. 
Both operations deliver the number of bytes actually transferred 
and advance the read-write pointer. 
pos = lseek(filedes, offset, 
whence) 
Moves the read-write pointer to offset (relative or absolute, 
depending on whence). 
status = unlink(name) Removes the file name from the directory structure. If the file 
has no other names, it is deleted. 
status = link(name1, name2) Adds a new name (name2) for a file (name1) . 
status = stat(name, buffer) Gets the file attributes for file name into buffer. 
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
11 
2. Distributed File system requirements 
 Related requirements in distributed file systems 
are: 
1. Transparency 
2. Concurrent file updates 
3. File Replication 
4. Hardware & Operating system Heterogeneity 
5. Fault tolerance 
6. Consistency 
7. Security 
8. Efficiency 
Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
1. Transparency 
• Transparency defined as the concealment 
from the user and application programmer of 
the separation of components in a distributed 
system. 
• Client programs should be unaware of the 
distribution of files.
1. Transparency 
1. Access transparency 
2. Location transparency 
3. Mobility transparency 
4. Performance transparency 
5. Scaling transparency
1. Access transparency 
• enable local & remote file to be accessed 
using identical operations.
2. Location transparency 
enables files to be accessed without knowledge 
of their physical or network location.
3. Mobility transparency 
• Allows the movement of files within a system 
without affecting the operation of users or 
programs.
4. Performance transparency 
• Allows the system to be reconfigured to 
improve the performance as loads vary.
5. Scaling transparency 
• Allows the service can be expanded. 
• increase in size of storage and network size 
should be transparent.
2. Concurrent file updates 
• Concurrent file updates is protected by 
locking. 
• Simultaneously accessing or changing the 
same file.
3. File Replication 
• File service maintains multiple identical copies 
of files. 
• Load sharing between server makes service 
more scalable.
4. Hardware & Operating System 
Heterogeneity 
• Service can be accessed by clients running on 
any OS or any hardware platform.
5. Fault Tolerance 
• If the service is replicated, it can continue to 
operate even during a server crash.
6. Consistency 
• Unix offers one –copy update semantics for 
operation on local files. 
• Difficult to achieve the same for distributed 
file systems.
7. Security 
• Must maintain access control and privacy as 
for local files. 
• Digital signatures and encryption for secret 
data.
8. Efficiency 
• Goal for distributed file system is usually 
performance comparable to local file system.
Thank You

3. distributed file system requirements

  • 1.
  • 2.
    DISTRIBUTED FILE SYSTEMS • Including 1.Introduction 2.File Service Architecture 3.Case Study: Sun NFS
  • 3.
    1. Introduction •File system: support convenient programming interface to disk storage, access control and file looking mechanism.
  • 4.
    Distributed Files Systems(DFS) • Allows multi-computer systems to share files & Sharing devices • E.g., – NFS (Sun’s Network File System) – Windows NT, 2000 – Andrew File System (AFS) Distributed File Systems CS-4513, D-Term 2007 4
  • 5.
    Distributed File Systems(continued) • One of most common uses of distributed file system is distributed computing • Goal: provide common view of centralized file system, but distributed implementation. – Ability to open & update any file on any machine on network – All of synchronization issues and capabilities of shared local files Distributed File Systems CS-4513, D-Term 2007 5
  • 6.
    Including 1. Characteristicsof file system 2. Distributed File system requirements
  • 7.
    1. Characteristics offile system • File system: support convenient programming interface to disk storage, access control and file looking mechanism.  Files contain both data and attributes.  A typical attribute record structure is illustrated in Figure 3.
  • 8.
    8 Introduction Filelength Creation timestamp Read timestamp Write timestamp Attribute timestamp Reference count Owner File type Access control list Figure 3. File attribute record structure Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
  • 9.
    • Figure 4summarizes the main operations on files that are available to applications in UNIX systems.
  • 10.
    10 Introduction Figure4. UNIX file system operations filedes = open(name, mode) filedes = creat(name, mode) Opens an existing file with the given name. Creates a new file with the given name. Both operations deliver a file descriptor referencing the open file. The mode is read, write or both. status = close(filedes) Closes the open file filedes. count = read(filedes, buffer, n) count = write(filedes, buffer, n) Transfers n bytes from the file referenced by filedes to buffer . Transfers n bytes to the file referenced by filedes from buffer. Both operations deliver the number of bytes actually transferred and advance the read-write pointer. pos = lseek(filedes, offset, whence) Moves the read-write pointer to offset (relative or absolute, depending on whence). status = unlink(name) Removes the file name from the directory structure. If the file has no other names, it is deleted. status = link(name1, name2) Adds a new name (name2) for a file (name1) . status = stat(name, buffer) Gets the file attributes for file name into buffer. Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
  • 11.
    11 2. DistributedFile system requirements  Related requirements in distributed file systems are: 1. Transparency 2. Concurrent file updates 3. File Replication 4. Hardware & Operating system Heterogeneity 5. Fault tolerance 6. Consistency 7. Security 8. Efficiency Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005
  • 12.
    1. Transparency •Transparency defined as the concealment from the user and application programmer of the separation of components in a distributed system. • Client programs should be unaware of the distribution of files.
  • 13.
    1. Transparency 1.Access transparency 2. Location transparency 3. Mobility transparency 4. Performance transparency 5. Scaling transparency
  • 14.
    1. Access transparency • enable local & remote file to be accessed using identical operations.
  • 15.
    2. Location transparency enables files to be accessed without knowledge of their physical or network location.
  • 16.
    3. Mobility transparency • Allows the movement of files within a system without affecting the operation of users or programs.
  • 17.
    4. Performance transparency • Allows the system to be reconfigured to improve the performance as loads vary.
  • 18.
    5. Scaling transparency • Allows the service can be expanded. • increase in size of storage and network size should be transparent.
  • 19.
    2. Concurrent fileupdates • Concurrent file updates is protected by locking. • Simultaneously accessing or changing the same file.
  • 20.
    3. File Replication • File service maintains multiple identical copies of files. • Load sharing between server makes service more scalable.
  • 21.
    4. Hardware &Operating System Heterogeneity • Service can be accessed by clients running on any OS or any hardware platform.
  • 22.
    5. Fault Tolerance • If the service is replicated, it can continue to operate even during a server crash.
  • 23.
    6. Consistency •Unix offers one –copy update semantics for operation on local files. • Difficult to achieve the same for distributed file systems.
  • 24.
    7. Security •Must maintain access control and privacy as for local files. • Digital signatures and encryption for secret data.
  • 25.
    8. Efficiency •Goal for distributed file system is usually performance comparable to local file system.
  • 26.