the world wide webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · using the nfs...
TRANSCRIPT
![Page 1: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/1.jpg)
The World Wide Web
Overall organization of the Web.
![Page 2: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/2.jpg)
Server Clusters (1)
The principle of using a cluster of workstations to implement a Web service.
![Page 3: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/3.jpg)
Server Clusters (2)
(a) The principle of TCP handoff.
![Page 4: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/4.jpg)
Server Clusters (3)
(b) A scalable content-aware cluster of Web servers.
![Page 5: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/5.jpg)
Web (Proxy) Caching
The principle of cooperative caching;
not only caching locally but also at neighborhood
![Page 6: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/6.jpg)
Server Replication
In a CDN (content distribution network), parts of a document
can come from different sources. Sources are chosen based
on load, location, latency, cost, etc.
![Page 7: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/7.jpg)
Server Replication (2)
Request handling in a cluster of Domino servers.
![Page 8: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/8.jpg)
Replication Schemes
Scheme Description
Pull-pushA replicator task pulls updates in from a target server, and pushes
its own updates to that target as well
Pull-pullA replicator task pulls in updates from a target server, and responds
to update fetch requests from that target
Push-onlyA replicator task only pushes its own updates to a target server, but
does not pull in any updates from the target
Pull-onlyA replicator only pulls in updates from a target server, but does not
give any of its own updates to that target
![Page 9: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/9.jpg)
Publish/subscribe system
RV = Rendezvous, or consistentcy/synchronization primitives
![Page 10: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/10.jpg)
Events (1)
Processing listener events for subscriptions in TIB/Rendezvous.
![Page 11: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/11.jpg)
Events (2)
Processing incoming messages in TIB/Rendezvous.
![Page 12: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/12.jpg)
Processes
a) Priority scheduling of events through a queue group.
b) A semantically equivalent queue for the queue group with the specific event objects from (a).
![Page 13: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/13.jpg)
Processes (2)
Partial broadcasting
of tuples and
template tuples
Achieved through
multicasting or
unicasting
![Page 14: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/14.jpg)
Reliable Multicasting
The principle of PGM (Pragmatic General Multicast)
a) A message is sent along a multicast tree (n nodes, n-1 links: efficient)
b) A router will pass only a single NACK for each message
c) A message is retransmitted only to receivers that have asked for it.
![Page 15: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/15.jpg)
Synchronization (1)interesting info: not in exam
The organization of transactional messaging
as a separate layer in TIB/Rendezvous.
![Page 16: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/16.jpg)
Synchronization (2)interesting info: not in exam
The organization of a transaction in TIB/Rendezvous.
![Page 17: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/17.jpg)
Caching and Replication
The position of PAM with respect to security services.
![Page 18: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/18.jpg)
Client Caching (1)
Client-side caching in NFS.
![Page 19: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/19.jpg)
Client Caching (2)
Using the NFS version 4 callback mechanism to recall file delegation.
![Page 20: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/20.jpg)
Remote Procedure Call (PRC) Failures
Three situations for handling retransmissions.
a) The request is still in progress
b) The reply has just been returned
c) The reply was done earlier, but was lost.
![Page 21: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/21.jpg)
Client Caching
The use of local copies when opening a session in Coda.
![Page 22: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/22.jpg)
Cache invalidation
a) Sending an invalidation message one at a time.
b) Sending invalidation messages in parallel.
![Page 23: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/23.jpg)
Server Replication
Two clients with different copies of the same replicated file.
Network partitions may cause problems and solutions
![Page 24: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/24.jpg)
Disconnected Operation
(network partitions on purpose)
The state-transition diagram of a disconnected client
Hoarding = gathering data; emulation = doing operations
![Page 25: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/25.jpg)
Case study: NFS
(network file system) (1)
a) The remote access model.
b) The upload/download model
![Page 26: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/26.jpg)
NFS Architecture (2)
The basic NFS architecture for UNIX systems.
![Page 27: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/27.jpg)
Communication
a) Reading data from a file in NFS version 3.
b) Reading data using a compound procedure in version 4.
![Page 28: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/28.jpg)
Semantics of File Sharing (1)a) On a single processor, when a
read follows a write, the value
returned by the read is the value
just written.
b) In a distributed system with
caching, obsolete values may be
returned.
![Page 29: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/29.jpg)
Semantics of File Sharing (2)
Four ways of dealing with the shared files in a distributed system.
Method Comment
UNIX semantics Every operation on a file is instantly visible to all processes
Session semantics No changes are visible to other processes until the file is closed
Immutable files No updates are possible; simplifies sharing and replication
Transaction All changes occur atomically
![Page 30: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/30.jpg)
File Locking in NFS (1)interesting info : not in exam
NFS version 4 operations related to file locking.
Operation Description
Lock Creates a lock for a range of bytes
Lockt Test whether a conflicting lock has been granted
Locku Remove a lock from a range of bytes
Renew Renew the lease on a specified lock
![Page 31: The World Wide Webpeople.cs.pitt.edu/~mosse/cs2510/class-notes/dist-repl-cach.pdf · Using the NFS version 4 callback mechanism to recall file delegation. Remote Procedure Call (PRC)](https://reader034.vdocuments.us/reader034/viewer/2022042311/5ed918256714ca7f4769236d/html5/thumbnails/31.jpg)
File Locking in NFS (2)interesting info: not in exam
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.
Current file denial state
NONE READ WRITE BOTH
READ Succeed Fail Succeed Succeed
WRITE Succeed Succeed Fail Succeed
BOTH Succeed Succeed Succeed Fail
(a)
Requested file denial state
NONE READ WRITE BOTH
READ Succeed Fail Succeed Succeed
WRITE Succeed Succeed Fail Succeed
BOTH Succeed Succeed Succeed Fail
(b)
Request
access
Current
access
state