3. distributed file system requirements
-
Upload
abdul-thayyal -
Category
Documents
-
view
89 -
download
1
Transcript of 3. distributed file system requirements
DISTRIBUTED FILE SYSTEMS(DFS)
DISTRIBUTED FILE SYSTEMS
• Including1.Introduction2.File Service Architecture3.Case Study: Sun NFS
1. Introduction
• File system: support convenient programming interface to disk storage, access control and file looking mechanism.
Distributed File Systems CS-4513, D-Term 2007 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 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
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
IntroductionFile length
Creation timestampRead timestampWrite timestamp
Attribute timestampReference count
OwnerFile 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
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 openfile. 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 transferredand 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 filehas 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.
Figure 4. UNIX file system operations
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. Transparency2. Concurrent file updates3. File Replication4. Hardware & Operating system Heterogeneity5. Fault tolerance6. Consistency7. Security8. 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