Presentation is loading. Please wait.

Presentation is loading. Please wait.

Presented By: Samreen Tahir Coda is a network file system and a descendent of the Andrew File System 2. It was designed to be: Highly Highly secure Available.

Similar presentations


Presentation on theme: "Presented By: Samreen Tahir Coda is a network file system and a descendent of the Andrew File System 2. It was designed to be: Highly Highly secure Available."— Presentation transcript:

1

2 Presented By: Samreen Tahir

3 Coda is a network file system and a descendent of the Andrew File System 2. It was designed to be: Highly Highly secure Available Available Transparent Transparent to its users. WHAT IS IT? Andrew File System: Architecture of Coda is based on Andrew File System Architecture of Coda is based on Andrew File System AFS was developed at Carnegie Mellon University AFS was developed at Carnegie Mellon University It was designed to support the CMU community that meant serving 10, 000 workstations It was designed to support the CMU community that meant serving 10, 000 workstations

4 Limitations of AFS: Limited form of replication posed scaling problems Limited form of replication posed scaling problems Non-availability of services when servers and network components fail Non-availability of services when servers and network components fail No catering for mobile use of portable computers No catering for mobile use of portable computers Coda was designed to overcome the problems associated with AFS.

5 It works by implementing two COMPLEMENTARY functionalities : 1. Availability of files by replicating a file volume across many servers many servers 2. Disconnected mode of operation by caching files at the client machine client machine How does Coda work?

6 The Coda architecture is based on AFS: The Andrew File System Transparent access to a Vice file server Vice file serverVirtue Client dedicated file servers 1. Vice nodes: dedicated file servers AFS is divided into two types of nodes: client machines 2. Virtue nodes: client machines

7 User process Venus process User process RPC client stub Virtual file system layer Network Virtue Client Machine The internal organization of a virtue workstation: Local OS Local file system interface Venus: A process that is hosted on each Virtue system. VFS: Virtual File System, intercepts the calls from client application or user processes and forwards them either to the local file system or Venus.

8 How do the server and client communicate in Coda? RPC call Client File Server (Blocking) Reply May take arbitrary amount of time Answer: Through Remote Procedure Calls (RPC) 1.The server keeps sending back messages to the client that it is still working on the problem. 2. If the server dies and the client notices that it is not receiving any messages it reports back failure to the client application. it reports back failure to the client application.

9 (contd.) File server client Invalidate F F F F F F F File Updated File F When a server notices updates in a file, it must inform the client which are caching a copy of it to invalidate that copy.

10 (contd.) There are two ways to invalidate a file: Sending invalidation message one at a time. Sending invalidation messages in parallel. Time Client Server invalidate reply invalidate This method is inefficient since a client may crash before giving a reply to the server. A better approach: COMMUNICATION: Time Client Server invalidate reply invalidate

11 Coda uses RPC2: more sophisticated than the traditional RPC used by NFS Coda uses RPC2: more sophisticated than the traditional RPC used by NFS RPC2 implements a functionality called side effect: a separate connection is opened when a remote procedure is called. RPC2 implements a functionality called side effect: a separate connection is opened when a remote procedure is called. This separate connection is for the application specific protocol between the client and the server. This separate connection is for the application specific protocol between the client and the server.

12 RPC2 RPC2 contd. Server side effect RPC server stub RPC client stub Client side effect Application-specific protocol Side-effects in Coda’s RPC2 system. RPC RPC protocol Client Application Server

13 Naming: Coda uses name space implementation analogous to that of UNIX. Coda uses name space implementation analogous to that of UNIX. Volumes are the building units of the entire file system and are mounted at a mount point. Volumes are the building units of the entire file system and are mounted at a mount point.

14 Clients in coda have access to a single shared namespace Client A Client B Server Network Exported directory mounted by client Exported directory mounted by client Naming inherited from server’s namespace Clients in Coda have access to a single shared namespace. afs local bin afs pkg

15 File Identifiers:

16 Client Caching:

17 Server Replication:

18 Fault Tolerance: Disconnected Operation

19


Download ppt "Presented By: Samreen Tahir Coda is a network file system and a descendent of the Andrew File System 2. It was designed to be: Highly Highly secure Available."

Similar presentations


Ads by Google