SlideShare a Scribd company logo
3
Most read
9
Most read
17
Most read
Coda file system
•
•
•
•
•
•
•
•
•

Introduction to Coda File System
Naming and Location
Architecture
Caching and Replication
Synchronization
Communication
Fault Tolerance
Security
Summary
•

Coda (constant data availability) is a distributed file system that was
developed as a research project at Carnegie Mellon University in
1987 under the direction of Mahadev Satyanarayan.

•

Coda’s design goals:
• Scalability
• Constant data availability
• Transparency
• Security
• Consistency
• The name space in Coda is hierarchically structured as in UNIX and is
partitioned into disjoint volumes.
• A volume consists of a set of files and directories located on one
server, and is the unit of replication in Coda.
• Each file and directory is identified by a 96-bit-long unique file
identifier (FID) . Replicas of a file have the same FID.
• An FID has 2 components:
1. A 32-bit RVID (Replication Volume Identifier) of the logical volume
that the file is part of.
2. A 64-bit file handle, i.e. vnode, that uniquely identifies the file
within a volume.


Each file in Coda belongs to
exactly one volume




Volume may be replicated
across several servers
Multiple logical (replicated)
volumes map to the same
physical volume
Coda file system
It works by implementing the following functionalities :
1. Availability of files by replicating a file volume across many servers
2. Disconnected mode of operation by caching files at the client
machine
Coda File System is divided into two types of nodes:
1. Vice nodes: dedicated file servers
2. Virtue nodes: client machines
The internal organization of a Virtue workstation:
 is designed to allow access to files even if server is
unavailable and
 uses Virtual File System to intercept calls from client
application


Coda uses RPC2: a sophisticated reliable RPC
system
 Start a new thread for each request, server
periodically informs client it is still working on
the request
•
•

Coda servers allow clients to cache whole files
Modifications by other clients are notified through invalidation
messages which require multicast RPC
a) Sending an invalidation message one at a time
b) Sending invalidation messages in parallel
Session A

Client

Server

Open
(RD)

Invalidate

File f

Open
(WR)

File f

Close

Close

Client

Time
Session B
Session A

Session C

Client A
Open
(RD)

File f

Server
Open
(WR)

Invalidate
(Callback
Break)

Close

Close
File f

OK(no file transfer)

File f

Close

Client B

Open
(RD)

Open
(WR)

Close
Time

Session B

• Scalability
• Fault Tolerance

Session D
Data structures:
•

VSG (Volume Storage Group):
• Set of servers storing replicas of a volume

•

AVSG (Accessible Volume Storage Group):
• Set of servers accessible to a client for every volume the
client has cached





Versioning vector (Coda Version Vector) when partition happens: [1,1,1]
Client A updates file  versioning vector in its partition: [2,2,1]
Client B updates file  versioning vector in its partition: [1,1,2]
Partition repaired  compare versioning vectors: conflict!





HOARDING: File cache in advance with all files that will be accessed when
disconnected
EMULATION: when disconnected, behavior of server emulated at client
REINTEGRATION: transfer updates to server; resolves conflicts
•
•

Hoard database

Cache equilibrium:
• There is no uncached file with a higher priority than any cached
file.
• The cache is full, or no uncached file has nonzero priority.
• Each cached file is a copy of the one maintained in the client’s
AVSG.
• Hoard walk
Coda’s security architecture consists of two parts:
•The first part deals with setting up a secure channel between a client
and a server using secure RPC and system-level authentication.
•The second part deals with controlling access to files.
Vice Server

Client (Venus)
Operation

Description

Read

Read any file in the directory

Write

Modify any file in the directory

Lookup

Look up the status of any file

Insert

Add a new file to the directory

Delete

Delete an existing file

Administer

Modify the ACL of the directory
•

Peter J. Braam, The Coda File System, www.coda.cs.cmu.edu.
Coda file system

More Related Content

PPT
Lecture 1 (distributed systems)
PPTX
Os unit 3
PPT
3. challenges
PPTX
Virtual machine security
PDF
Processes and Processors in Distributed Systems
PPT
Distributed objects & components of corba
PPTX
Distributed Computing system
PPTX
System protection in Operating System
Lecture 1 (distributed systems)
Os unit 3
3. challenges
Virtual machine security
Processes and Processors in Distributed Systems
Distributed objects & components of corba
Distributed Computing system
System protection in Operating System

What's hot (20)

PPTX
Replication in Distributed Systems
PPT
Communication primitives
PDF
Collaborating Using Cloud Services
PDF
PPT
4.file service architecture
PPTX
Distributed Systems Real Life Applications
PPT
Distributed System-Multicast & Indirect communication
PPTX
Application layer protocols
PPTX
Model Based Software Architectures
PPT
Analysis modeling & scenario based modeling
PPTX
RPC: Remote procedure call
PDF
Middleware and Middleware in distributed application
PDF
Transport layer services
PDF
8. mutual exclusion in Distributed Operating Systems
PPT
System models in distributed system
PPTX
File system structure
PPT
JINI Technology
PDF
CS9222 Advanced Operating System
PPT
Distributed System
PPT
Naming in Distributed Systems
Replication in Distributed Systems
Communication primitives
Collaborating Using Cloud Services
4.file service architecture
Distributed Systems Real Life Applications
Distributed System-Multicast & Indirect communication
Application layer protocols
Model Based Software Architectures
Analysis modeling & scenario based modeling
RPC: Remote procedure call
Middleware and Middleware in distributed application
Transport layer services
8. mutual exclusion in Distributed Operating Systems
System models in distributed system
File system structure
JINI Technology
CS9222 Advanced Operating System
Distributed System
Naming in Distributed Systems
Ad

Viewers also liked (20)

PPT
Coda file system tahir
ODP
File system
PPTX
Data management issues
PPSX
Data Replication in Distributed System
PPT
Mobile agent
PPT
Distributed File Systems
PDF
Mobile computing unit 5
PPT
Architecture of Mobile Computing
PDF
Unit 1 - mobile computing introduction
PPT
Case Study: Synchroniztion Issues in Mobile Databases
PPT
C11 support for-mobility
PDF
Consistency of data replication
PDF
Distributed computing time
PPTX
Flexible Symmetric Global Snapshot
PDF
Mobile Agent
PPT
Distributed Snapshots
PDF
Module1 Mobile Computing Architecture
PPTX
Global state recording in Distributed Systems
Coda file system tahir
File system
Data management issues
Data Replication in Distributed System
Mobile agent
Distributed File Systems
Mobile computing unit 5
Architecture of Mobile Computing
Unit 1 - mobile computing introduction
Case Study: Synchroniztion Issues in Mobile Databases
C11 support for-mobility
Consistency of data replication
Distributed computing time
Flexible Symmetric Global Snapshot
Mobile Agent
Distributed Snapshots
Module1 Mobile Computing Architecture
Global state recording in Distributed Systems
Ad

Similar to Coda file system (20)

PPTX
CODA FILE SYSTEM.pptx
PDF
CS9222 ADVANCED OPERATING SYSTEMS
PPT
Distributed File System.ppt
PPTX
a distributed implementation of the classical time-sharing model of a file sy...
PPTX
PPT
018 Distributed System and web services.ppt
PPT
Distributed System by Pratik Tambekar
PPT
Chapter 17 - Distributed File Systems
PPT
Ch16 OS
 
PPT
PPT
network filesystem briefs
ODP
Distributed File System
 
PPT
Introduction to distributed file systems
PPT
DISTRIBUTED FILE SYSTEM- Design principles, consistency models
PPTX
Distributed file systems chapter 9
PPT
Presentation on nfs,afs,vfs
PDF
International Journal of Computer Science and Security Volume (4) Issue (1)
CODA FILE SYSTEM.pptx
CS9222 ADVANCED OPERATING SYSTEMS
Distributed File System.ppt
a distributed implementation of the classical time-sharing model of a file sy...
018 Distributed System and web services.ppt
Distributed System by Pratik Tambekar
Chapter 17 - Distributed File Systems
Ch16 OS
 
network filesystem briefs
Distributed File System
 
Introduction to distributed file systems
DISTRIBUTED FILE SYSTEM- Design principles, consistency models
Distributed file systems chapter 9
Presentation on nfs,afs,vfs
International Journal of Computer Science and Security Volume (4) Issue (1)

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Advanced IT Governance
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Machine learning based COVID-19 study performance prediction
PPT
Teaching material agriculture food technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
KodekX | Application Modernization Development
The AUB Centre for AI in Media Proposal.docx
Big Data Technologies - Introduction.pptx
Advanced IT Governance
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Approach and Philosophy of On baking technology
Machine learning based COVID-19 study performance prediction
Teaching material agriculture food technology
Per capita expenditure prediction using model stacking based on satellite ima...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
Dropbox Q2 2025 Financial Results & Investor Presentation
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Understanding_Digital_Forensics_Presentation.pptx
NewMind AI Monthly Chronicles - July 2025
Network Security Unit 5.pdf for BCA BBA.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Coda file system

  • 2. • • • • • • • • • Introduction to Coda File System Naming and Location Architecture Caching and Replication Synchronization Communication Fault Tolerance Security Summary
  • 3. • Coda (constant data availability) is a distributed file system that was developed as a research project at Carnegie Mellon University in 1987 under the direction of Mahadev Satyanarayan. • Coda’s design goals: • Scalability • Constant data availability • Transparency • Security • Consistency
  • 4. • The name space in Coda is hierarchically structured as in UNIX and is partitioned into disjoint volumes. • A volume consists of a set of files and directories located on one server, and is the unit of replication in Coda. • Each file and directory is identified by a 96-bit-long unique file identifier (FID) . Replicas of a file have the same FID.
  • 5. • An FID has 2 components: 1. A 32-bit RVID (Replication Volume Identifier) of the logical volume that the file is part of. 2. A 64-bit file handle, i.e. vnode, that uniquely identifies the file within a volume.
  • 6.  Each file in Coda belongs to exactly one volume   Volume may be replicated across several servers Multiple logical (replicated) volumes map to the same physical volume
  • 8. It works by implementing the following functionalities : 1. Availability of files by replicating a file volume across many servers 2. Disconnected mode of operation by caching files at the client machine
  • 9. Coda File System is divided into two types of nodes: 1. Vice nodes: dedicated file servers 2. Virtue nodes: client machines
  • 10. The internal organization of a Virtue workstation:  is designed to allow access to files even if server is unavailable and  uses Virtual File System to intercept calls from client application
  • 11.  Coda uses RPC2: a sophisticated reliable RPC system  Start a new thread for each request, server periodically informs client it is still working on the request
  • 12. • • Coda servers allow clients to cache whole files Modifications by other clients are notified through invalidation messages which require multicast RPC a) Sending an invalidation message one at a time b) Sending invalidation messages in parallel
  • 14. Session A Session C Client A Open (RD) File f Server Open (WR) Invalidate (Callback Break) Close Close File f OK(no file transfer) File f Close Client B Open (RD) Open (WR) Close Time Session B • Scalability • Fault Tolerance Session D
  • 15. Data structures: • VSG (Volume Storage Group): • Set of servers storing replicas of a volume • AVSG (Accessible Volume Storage Group): • Set of servers accessible to a client for every volume the client has cached
  • 16.     Versioning vector (Coda Version Vector) when partition happens: [1,1,1] Client A updates file  versioning vector in its partition: [2,2,1] Client B updates file  versioning vector in its partition: [1,1,2] Partition repaired  compare versioning vectors: conflict!
  • 17.    HOARDING: File cache in advance with all files that will be accessed when disconnected EMULATION: when disconnected, behavior of server emulated at client REINTEGRATION: transfer updates to server; resolves conflicts
  • 18. • • Hoard database Cache equilibrium: • There is no uncached file with a higher priority than any cached file. • The cache is full, or no uncached file has nonzero priority. • Each cached file is a copy of the one maintained in the client’s AVSG. • Hoard walk
  • 19. Coda’s security architecture consists of two parts: •The first part deals with setting up a secure channel between a client and a server using secure RPC and system-level authentication. •The second part deals with controlling access to files.
  • 21. Operation Description Read Read any file in the directory Write Modify any file in the directory Lookup Look up the status of any file Insert Add a new file to the directory Delete Delete an existing file Administer Modify the ACL of the directory
  • 22. • Peter J. Braam, The Coda File System, www.coda.cs.cmu.edu.

Editor's Notes

  • #4: Security Secure channels Access control on directories Client Caching Callback promise Callback break Scalability Whole file caching Smart/unreliable clients, dumb/reliable servers No system wide election Disconnected operation Optimistic update strategy and basic conflict resolution Allow files to be edited from local cache Stateful Venus Cache
  • #8: Clients have access to a single shared name space. Notice Client A and Client B!
  • #17: Unit of replication: volume Volume Storage Group (VSG): set of servers that have a copy of a volume Accessible Volume Storage Group (AVSG): set of servers in VSG that the client can contact Use vector versioning One entry for each server in VSG When file updated, corresponding version in AVSG is updated
  • #18: Coda has been designed for high availability, which is mainly reflected by its sophisticated support for client-side caching and its support for server replication. An interesting aspect of Coda that needs further explanation is how a client can continue to operate while being disconnected, even if disconnection lasts for hours or days. HOARDING normal state of a client Client connected to (at least) one server that contains a copy of the volume. While in this state, the client can contact the server and issue file requests to perform its work, simultaneously, it will also attempt to keep its cache filled with useful data EMULATION AVSG=0 behavior of a server for the volume is emulated on the client’s machine. This means that all file requests will be directly serviced using the locally cached copy of the file. Note that while a client is in its EMULATION state, it may still be able to contact servers that manage other volumes. In such cases, disconnection will generally have been caused by a server failure rather than that the client has been disconnected from the network. REINTEGRATION when reconnection occurs, the client enters the REINTEGRATION state in which it transfers updates to the server in order to make them permanent. It is during reintegration that conflicts are detected and, where possible, automati-cally resolved. As shown in the figure, it is possible that during reintegration the connection with the server is lost again, bringing the client back into the EMULATION state