3. distributed file system requirements

Post on 14-Jul-2015

89 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related