Coda File System - Tahir
Coda File System - Tahir
Samreen Tahir
WHAT IS IT?
Coda is a network file system and a descendent of the Andrew File System
2. It was designed to be:
Highly secure
Available
Transparent to its users.
• It was designed to support the CMU community that meant serving 10, 000 workstations
Limitations of AFS:
Limited form of replication posed scaling
problems
Non-availability of services when servers
and network components fail
No catering for mobile use of portable
computers
Coda was designed to overcome the problems associated
with AFS.
How does Coda work?
It works by implementing two COMPLEMENTARY
functionalities :
Venus
User User
process
process process
RPC
client stub
Virtual file
Local file system layer
system
interface
Local OS
Network
VFS: Virtual File System, intercepts the calls from client application or user processes
and forwards them either to the local file system or Venus.
How do the server and client communicate in Coda?
RPC call
File Server
Client
Reply May take arbitrary
(Blocking) amount of time
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.
(contd.)
F Invali
File d a te F
F
Updated File F Invalidate F
F F
Invalidate F File server
F
client
When a server notices updates in a file, it must inform the client which
are caching a copy of it to invalidate that copy.
COMMUNICATION: (contd.)
A better approach:
Client Client
ate
ate
invalid
invalid
rep
rep
Server l Server
ly
y
inva
inva
reply
reply
lidat
lida
Client Client
e
te
Time Time
Client Application
Server
RPC
Client side Application-specific protocol
Server side
effect effect
pkg afs
afs local bin
pkg
bin
Network