SlideShare uma empresa Scribd logo
1 de 23
•
•
•
•
•
•
•
•
•

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
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

Mais conteúdo relacionado

Mais procurados

Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS  Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS Dr Neelesh Jain
 
Distributed file system
Distributed file systemDistributed file system
Distributed file systemAnamika Singh
 
TCP over wireless slides
TCP over wireless slidesTCP over wireless slides
TCP over wireless slidesMahesh Rajawat
 
Handover in Mobile Computing
Handover in Mobile ComputingHandover in Mobile Computing
Handover in Mobile ComputingKABILESH RAMAR
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical ClocksDilum Bandara
 
Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)Sri Prasanna
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing modelsishmecse13
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 
Internetworking
InternetworkingInternetworking
InternetworkingRaghu nath
 
Destination Sequenced Distance Vector Routing (DSDV)
Destination Sequenced Distance Vector Routing (DSDV)Destination Sequenced Distance Vector Routing (DSDV)
Destination Sequenced Distance Vector Routing (DSDV)ArunChokkalingam
 

Mais procurados (20)

Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS  Cloud File System with GFS and HDFS
Cloud File System with GFS and HDFS
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
 
Data link layer
Data link layer Data link layer
Data link layer
 
TCP over wireless slides
TCP over wireless slidesTCP over wireless slides
TCP over wireless slides
 
Distance vector routing
Distance vector routingDistance vector routing
Distance vector routing
 
Replication in Distributed Systems
Replication in Distributed SystemsReplication in Distributed Systems
Replication in Distributed Systems
 
Dhcp ppt
Dhcp pptDhcp ppt
Dhcp ppt
 
Handover in Mobile Computing
Handover in Mobile ComputingHandover in Mobile Computing
Handover in Mobile Computing
 
Link state routing protocol
Link state routing protocolLink state routing protocol
Link state routing protocol
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical Clocks
 
Gsm radio-interface
Gsm radio-interfaceGsm radio-interface
Gsm radio-interface
 
Group Communication (Distributed computing)
Group Communication (Distributed computing)Group Communication (Distributed computing)
Group Communication (Distributed computing)
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing models
 
distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Distributed deadlock
Distributed deadlockDistributed deadlock
Distributed deadlock
 
Internetworking
InternetworkingInternetworking
Internetworking
 
Destination Sequenced Distance Vector Routing (DSDV)
Destination Sequenced Distance Vector Routing (DSDV)Destination Sequenced Distance Vector Routing (DSDV)
Destination Sequenced Distance Vector Routing (DSDV)
 
Osi reference model
Osi reference modelOsi reference model
Osi reference model
 
Mobile computing unit 5
Mobile computing  unit 5Mobile computing  unit 5
Mobile computing unit 5
 
Hiperlan
HiperlanHiperlan
Hiperlan
 

Destaque

Data management issues
Data management issuesData management issues
Data management issuesNeha Bansal
 
Data Replication in Distributed System
Data Replication in  Distributed SystemData Replication in  Distributed System
Data Replication in Distributed SystemEhsan Hessami
 
Distributed File Systems
Distributed File SystemsDistributed File Systems
Distributed File Systemsawesomesos
 
Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile ComputingJAINIK PATEL
 
Unit 1 - mobile computing introduction
Unit 1 - mobile computing introductionUnit 1 - mobile computing introduction
Unit 1 - mobile computing introductionVintesh Patel
 
Case Study: Synchroniztion Issues in Mobile Databases
Case Study: Synchroniztion Issues in Mobile DatabasesCase Study: Synchroniztion Issues in Mobile Databases
Case Study: Synchroniztion Issues in Mobile DatabasesG. Habib Uddin Khan
 
C11 support for-mobility
C11 support for-mobilityC11 support for-mobility
C11 support for-mobilityRio Nguyen
 
Consistency of data replication
Consistency of data replicationConsistency of data replication
Consistency of data replicationijitjournal
 
Distributed computing time
Distributed computing timeDistributed computing time
Distributed computing timeDeepak John
 
Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot Ashutosh Jaiswal
 
Distributed Snapshots
Distributed SnapshotsDistributed Snapshots
Distributed Snapshotsawesomesos
 
Module1 Mobile Computing Architecture
Module1 Mobile Computing ArchitectureModule1 Mobile Computing Architecture
Module1 Mobile Computing Architectureraksharao
 
Global state recording in Distributed Systems
Global state recording in Distributed SystemsGlobal state recording in Distributed Systems
Global state recording in Distributed SystemsArsnet
 
network filesystem briefs
network filesystem briefsnetwork filesystem briefs
network filesystem briefsbergwolf
 

Destaque (20)

Coda file system tahir
Coda file system   tahirCoda file system   tahir
Coda file system tahir
 
File system
File systemFile system
File system
 
Data management issues
Data management issuesData management issues
Data management issues
 
Data Replication in Distributed System
Data Replication in  Distributed SystemData Replication in  Distributed System
Data Replication in Distributed System
 
Mobile agent
Mobile agent Mobile agent
Mobile agent
 
Distributed File Systems
Distributed File SystemsDistributed File Systems
Distributed File Systems
 
Unit 6
Unit 6Unit 6
Unit 6
 
Architecture of Mobile Computing
Architecture of Mobile ComputingArchitecture of Mobile Computing
Architecture of Mobile Computing
 
Unit 1 - mobile computing introduction
Unit 1 - mobile computing introductionUnit 1 - mobile computing introduction
Unit 1 - mobile computing introduction
 
Case Study: Synchroniztion Issues in Mobile Databases
Case Study: Synchroniztion Issues in Mobile DatabasesCase Study: Synchroniztion Issues in Mobile Databases
Case Study: Synchroniztion Issues in Mobile Databases
 
C11 support for-mobility
C11 support for-mobilityC11 support for-mobility
C11 support for-mobility
 
Consistency of data replication
Consistency of data replicationConsistency of data replication
Consistency of data replication
 
Distributed computing time
Distributed computing timeDistributed computing time
Distributed computing time
 
LDAP
LDAPLDAP
LDAP
 
Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot Flexible Symmetric Global Snapshot
Flexible Symmetric Global Snapshot
 
Mobile Agent
Mobile AgentMobile Agent
Mobile Agent
 
Distributed Snapshots
Distributed SnapshotsDistributed Snapshots
Distributed Snapshots
 
Module1 Mobile Computing Architecture
Module1 Mobile Computing ArchitectureModule1 Mobile Computing Architecture
Module1 Mobile Computing Architecture
 
Global state recording in Distributed Systems
Global state recording in Distributed SystemsGlobal state recording in Distributed Systems
Global state recording in Distributed Systems
 
network filesystem briefs
network filesystem briefsnetwork filesystem briefs
network filesystem briefs
 

Semelhante a Coda file system

Contain your risk: Deploy secure containers with trust and confidence
Contain your risk: Deploy secure containers with trust and confidenceContain your risk: Deploy secure containers with trust and confidence
Contain your risk: Deploy secure containers with trust and confidenceBlack Duck by Synopsys
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesNEXTtour
 
File Service Architecture
File Service ArchitectureFile Service Architecture
File Service ArchitectureAshish KC
 
Docker Security and Content Trust
Docker Security and Content TrustDocker Security and Content Trust
Docker Security and Content Trustehazlett
 
Hands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestrationHands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestrationAmir Hossein Sorouri
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik TambekarPratik Tambekar
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDocker, Inc.
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containersconfluent
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsA Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsSalman Baset
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Lucas Jellema
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep diveAnimesh Singh
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowSimone Morellato
 

Semelhante a Coda file system (20)

Contain your risk: Deploy secure containers with trust and confidence
Contain your risk: Deploy secure containers with trust and confidenceContain your risk: Deploy secure containers with trust and confidence
Contain your risk: Deploy secure containers with trust and confidence
 
Docker
DockerDocker
Docker
 
AFS introduction
AFS introductionAFS introduction
AFS introduction
 
Securing Docker Containers
Securing Docker ContainersSecuring Docker Containers
Securing Docker Containers
 
Containers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container ServicesContainers and Nutanix - Acropolis Container Services
Containers and Nutanix - Acropolis Container Services
 
File Service Architecture
File Service ArchitectureFile Service Architecture
File Service Architecture
 
Docker Security and Content Trust
Docker Security and Content TrustDocker Security and Content Trust
Docker Security and Content Trust
 
Hands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestrationHands on kubernetes_container_orchestration
Hands on kubernetes_container_orchestration
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
DCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker ContainersDCEU 18: Provisioning and Managing Storage for Docker Containers
DCEU 18: Provisioning and Managing Storage for Docker Containers
 
Docker.pptx
Docker.pptxDocker.pptx
Docker.pptx
 
Docker basics
Docker basicsDocker basics
Docker basics
 
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker ContainersKafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
Kafka Summit SF 2017 - Best Practices for Running Kafka on Docker Containers
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsA Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container Platforms
 
Dce rpc
Dce rpcDce rpc
Dce rpc
 
Hadoop and HDFS
Hadoop and HDFSHadoop and HDFS
Hadoop and HDFS
 
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
Introduction into Docker Containers, the Oracle Platform and the Oracle (Nati...
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep dive
 
vSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User WorkflowvSphere Integrated Containers 101 and End-User Workflow
vSphere Integrated Containers 101 and End-User Workflow
 
Containers 101
Containers 101Containers 101
Containers 101
 

Último

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Último (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Coda file system

  • 1.
  • 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
  • 7.
  • 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.

Notas do Editor

  1. 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
  2. Clients have access to a single shared name space. Notice Client A and Client B!
  3. 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
  4. 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