Distributed System Based File System
Syncronization
Semantic File Sharing File Locking Sharing File in Coda
Semantics of File Sharing (1)
a)
b)
On a single processor, when a read follows a write, the value returned by the read is the value just written. In a distributed system with caching, obsolete values may be returned.
Semantics of File Sharing (2)
Method UNIX semantics Session semantics Immutable files Transaction Comment Every operation on a file is instantly visible to all processes No changes are visible to other processes until the file is closed No updates are possible; simplifies sharing and replication All changes occur atomically
Four ways of dealing with the shared files in a distributed
system.
File Locking in NFS (1)
Operation Lock Lockt Locku Renew Description Creates a lock for a range of bytes Test whether a conflicting lock has been granted Remove a lock from a range of bytes Renew the leas on a specified lock
NFS version 4 operations related to file locking.
File Locking in NFS (2)
Current file denial state Request access NONE READ WRITE BOTH Succeed Succeed Succeed READ Fail Succeed Succeed (a) Current access state READ WRITE BOTH Requested file denial state NONE Succeed Succeed Succeed READ Fail Succeed Succeed WRITE Succeed Fail Succeed BOTH Succeed Succeed Fail WRITE Succeed Fail Succeed BOTH Succeed Succeed Fail
(b) The result of an open operation with share reservations in NFS. a) When the client requests shared access given the current denial state. b) When the client requests a denial state given the current file access state.
Sharing File in Coda
The transactional behavior in sharing file in Coda
Concistency And Replication
Client Side Caching
Caching in NFS Client Side Caching in Coda Client Side Caching for portable device Server Replication in Coda Unstructured Peer-to-Peer Systems Structured Peer-to-Peer Systems
Server Side Replication
Replication in Peer-to-Peer File Systems
File System Replication in Grid System
Client Caching (1)
Client-side caching in NFS.
Client Caching (2)
Using the NFS version 4 callback mechanism to recall file
delegation.
Client Caching (3)
The use local copies when opening session in Coda
Client Caching (4)
Client Side Caching in Portable Device
Storage devices not permanently connect to the system. Case: upload/download model is used for maintaining files on portable storage devices. Matters can be simplified if the storage device is viewed as part of a distributed file system.
Tolia
et al. (2004) propose to take a very simple approach by storing locally a cryptographic hash of the data contained in files.
Server Side Replication
Server Replication in Coda
Two clients with a different AVSG for the same replicated file
Replication in Peer-to-Peer File Systems
Unstructured
Looking up data boils down to searching that data in the network. A node broadcast a search query to its neighbors, from where the query may be forwarded, and so on Replication happens naturally when users download files from others and subsequently make them available to the community. Structured Deployed to balance the load between the nodes
To simply replicate a file along the path that a query has followed from source to destination
File System Replication in Grid System
A key observation is that in many Grid applications
data are read only. Data often produce but rarely update. So data replication can be applied abundance. Replication in Grid systems mainly evolves around the problem of locating the best sources to copy data from. The problem is solved by special replica location services.
Globus toolkit