0% found this document useful (0 votes)
39 views18 pages

Bundelkhand University Jhansi IET Mobile Computing: SAUMYA KATIYAR (161381030040) B.Tech (Cse) 4 Year

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 18

Bundelkhand University Jhansi

IET
Mobile Computing

SAUMYA KATIYAR(161381030040)
B.TECH (CSE) 4 th year
Topic:File System for Mobile
Computing
 Issues for file system design in wireless and mobile
environments

 Design Options for mobile file system

 Coda File System


Mobile File Systems Issues Goals
Goals:
 Efficient and transparent access to shared files within a
mobile , environment while maintaining data consistency
 access the same file as if connected
 retain the same consistency semantics for shared files as if
connected
 availability and reliability as if connected
 ACID (atomic/recoverability, consistent,
isolated/serializablity, durable) properties for transactions
Constraints:

 disconnection and/or partial connection

 low bandwidth connection

 variable bandwidth and latency connection

 connection cost
Solution

Replication of data (copying, cloning,caching)

Data collection in advance(harding , prefetchingg)


Mobile File System Design
 Four major aspects of disconnected or partially connected

operations:

–hoarding: what to pre-fetch

–consistency: what to keep consistent when connectivity is


partial

–emulation: how to operate when disconnected

–conflict resolution: how to resolve conflicts


Coda File system
 Main goals: availability and scalability
 Disconnected operation for mobile computing
 High performance thru client side persistent caching
 Server replication
 Security support
 Continued operation during partial network failures in
server networks
 Good scalability
 Application transparent adaptation
 Well defined semantics of sharing, even in the presence of
network failures
What is Coda?
 It is distributed file system.
 Consist of small number of servers called vices and many
workstation called virtues (clients).

 File is stored in servers and be accessed through virtues.


How it works?
 Virtue machine consist of user level process called venus,
virtual file system layer, client stub, local file system interface.
 Any call to access a file from user process will go to virtual file
system layer and is redirected to local file system interface or
venus process depending on target of file is cached or not.
 Venus uses RPC system to communicate with file server. When
venus gets response from server, it copies whole file and store
in client cache. File activity is made in client cache. Changes
will update original copy when file is closed.
Virtue (client) structure
Features : brief description
 Scalability: coda is capable of adding users in less
implementation
 Security: Coda uses secure channel, system- level
authentication and controlling access.
 Naming: All clients use the same name space single mount
point. i.e. file has same path in any client.
 Replication server: files in servers are replicated for high
availability. If one server fails, other servers still can provide
services.
 Disconnected operation: When all server are temporary
inaccessible, client can still work on files off line until
connection is re-established.
Topic : Disconnected Operations
Hoarding
 State of normal operation (server connected).

 Venus gets useful data from server into client cache to get

ready for disconnection may occurs.


 Which data should be cached based on prioritized algorithm

which consists of recent reference history and hoard


database (HDB).
 HDB is entries of pathnames identifying objects that user

explicitly stores ( un- cached).


Hoarding (con’t)
 Coda determines file priority to place into caches when caches is in

equilibrium.
 Equilibrium is all these conditions are met:

-No un-cached file has higher priority than any cached file.

-Cache is full or no un-cached file has nonzero priority.

- Each cached file is a copy in client’s Accessible volume storage group


(ASVG).
 If cache shifts off, hoard walk is needed to re- compute cache for
equilibrium.
 Emulation
 State when disconnection occurs.
 Venus performs the jobs of server in cache. It records
sufficient information in the log for replay when it gets to
reintegration.
 Each log contains system call arguments and states of
objects referenced by the call for corresponding volumes.
 Venus also keeps its cache and related data structure in
non-volatile storage called recoverable virtual memory
(RVM) in case of client reboots.
 RVM stores meta-data of replay logs, HDB, cache
directories, status blocks.
 Reintegration
 State when server connection is resumed.
 Venus updates changes made in emulation state to server a
volume at a time.
 Venus shift the replay log to ASVG in server to be executed.
 4 phases of replay algorithm:
- phase 1: log is parsed and reference objects are locked.
- phase 2: validate operation in the log.
- phase 3: data transfer
- phase 4: commit and release lock.
Reintegration (con’t)
 At the end, Venus frees replay logs and reset cache priority.

 If there are conflicts (write/write) between copies in cache


and in server, there are automatic resolution or manual
correction depending on what was changed.
Conclusion
 Disconnected operation in Coda file system brings a new
look to distributed system.

 It lowers network traffic and increases fault transparency


and tolerance that makes file system more reliable and
efficient.

 I think this is good choice for system where high


availability is needed.

You might also like