CSE 5306 Final Exam Insights Fall 2015 Is it too soon to start planning toward your final exam…? Introductory courses like Distributed Systems inevitably require memorizing some vocabulary words. I find that reviewing testable facts on five separate occasions makes them much easier to remember. On your fill-in-the-blanks final exam, I will describe 20 of Tanenbaum and van Steens’ systems and concepts in detail, and you will identify them. (Clients often list their desired systems’ requirements, and we recall existing systems, which can be adapted to their use.) Here are some lecture slides from which your final exam questions will be taken. (You need not study your textbook or any other resources.) Ch Lectr Slide# RUOK# Concept 6 10/16 6 8 9 7 15 10/19 4 6 8 10 12 14 17 19 21 23 25 27 29 10/21 3 5 7 9 12 14 16 18 20 25 Four mutual exclusion algorithms. 27-30 Four mutual exclusion algorithms. 31-36 Starved, geometric overlay network, optimal replica placement, position-based routing, triangle inequality, landmarks. 37-40 Four election algorithms. 1 Replication. 2 Synchronous replication. 3-7 Data store, write operation, read operation, consistency model, easier-to-use models. 8 Three replica consistency deviations. 9-14 Conit, operation, result, vector clock, order deviation, numerical deviation. 15 Conit precision. 16 Sequentially consistent data store. 17 Real time sequential consistency maintenance. 18 Read-after-write sequential consistency. 19 Causal consistency contract. 20 Multiprocessor synchronization. 21 Consistency vs. coherency models. 22 Eventual consistency. 1 Monotonic-read consistency model. 2 Monotonic-write consistency model. 3 Read-your-writes consistent data store. 4 Writes-follow-reads consistent data store. 5 Strategic replication server placement. 6 Well placed servers’ replicated contents. 7 Distributed data store replicas. 8 Content placement algorithm. 9 Client-based replica management. 1 23 26 8 10 Propagation strategies. 11-15 Push or pull: server-based protocols, client-based protocols, leases, multicasting, point-to-point unicasting. 10/23 4 1 Continuous consistency. 6 2 Numerical deviation countermeasures. 8 3 Staleness deviation countermeasures. 10 4 Excessive uncommitted write countermeasures. 12 5 Primary-based protocols. 14 6 Remote-write protocol. 16 7 Local-write protocol. 18 8 Replicated-write protocol 20 9 Active replication. 22 10 Quorum-based protocols. 24 11 Cache coherence enforcement. 27 12-15 Monotonic read, monotonic write, read-your-writes and writes-follow-reads consistency. 29 16 Naive implementation’s problem solution. 31 17 Application-specific client-centric consistency model design issues. 10/26 3 1 “Tolerate a fault.“ 5 2-10 Dependable, available, reliable, safe , maintainable, secure, failure, error, fault . 7 11-19 Crash failure, omission f., timing f., response f., state transition f., arbitrary (Byzantine) f., fail-stop f., failsilent systems, fail-safe faults. 9 20-24 Triple modular redundancy, redundancy types, information, time, physical. 11 25 Fault tolerant group decision making. 13 26 Collaborative groups. 15 27-33 Flat vs. hierarchical groups. 17 34 Group server responsibilities. 20 35 Distributed agreement algorithm design assumptions. 22 36 Byzantine group member agreement. 24 37 Certifying server death. 26 38-41 Crash, omission, timing and arbitrary communication failures. 28 42 RPC transparency failures. 30 43 RPC client exceptions. 10/28 3,5 1,2 Message loss and orphans. 8,11,13 3-5 Scalable, reliable multicasting. 15 6 Atomic multicast. 17,19,22 7,8,10 Virtual synchrony. 24 11 Multicast view change failure. 26,28 12,13 One- and two-phase commits. 10/30 3 1 Three-phase commit. 2 9 11 12 6,8 10 12 14 16 18 20 22 11/2 3,9 5,17 7 11,15 13 19,23 21 23 11/4 3 5 7 9 11 13 15 17 19 23 25 27 29 11/6 3,11 5 7 13 15 19 21 23 25 27 29 11/9 18 11/11 29,30 11/13 14 11/16 6 8 10 2,3 Forward and backward recovery. 4 Checkpointing. 5 Domino effect. 6 Coordinated checkpointing. 7 Message logging. 8 Orphan process prevention. 9 Recovery-oriented computing. 10 Failure types. 1,21 Hacker defenses. 2-12,25-36 Twenty-three handy security terms. 13-20 Globus’ security policies. 22,24 Security vs. trust. 23 Trusted Computing Base. 37,39 DES, RSA, MD5 38 Big math. 40 Secure channel. 1 Authentication. 2 Reflection attack. 3 Key distribution center. 4 Public key cryptosystems. 5 Secure channel. 6 Digitally signature. 7 Message digest. 8 Permanent shared keys vs. temporary session keys. 9 Group confidentiality. 11 Kerberos’ authentication. 12 reference monitor. 13 ACL vs. capabilities list. 14 Protection domain tree. 1-4,7-14 Twelve security-related definitions. 5 Mobile code. 6 Read-only state vs. append-only log. 15 Denial of service attacks. 16 Security management. 18 Public key message encryption. 19 Certificate revocation. 20 Secure certification group. 21 Amoeba’s one-way function. 22 Personal secrets and re-delegation. 23 Future security issues. 1-13 Thirteen distributed file system definitions. 1-17 Seventeen more distributed file system definitions. 1-13 Thirteen more distributed file system definitions. 2-7 Six Web systems definitions. 8 HTML vs. XML. 9-16 Seven more Web systems definitions. 3 13 10 13 17 UDDI standard. 16 18-24 Seven more Web systems definitions. 19 25 Web proxy. 21 26 Apache Web servers. 23 27 Optimized Web server cluster. 11/18 5 1 HTTP and TCP. 7 2-6 Five HTTP method usage examples. 9 7 HTTP request. 11 8 SOAP. 13 9 URI = URL + URN. 15 10 Web-based system synchronization. 18 11 Web proxy. 11/20 3 1 Feedback control systems. 5,11 1-6,9 CDN. 7 7 Flash crowd prevention. 9 8 Client-request redirection. 13 10 Byzantine fault tolerance. 11/23 4 1-4 Coordination taxonomy models. 6 5 Event publication scalability. 9 6 Jini and JavaSpace. 11 7 TIB/Rendezvous. 13 8 Peer-to-Peer Architectures. 15 9 Gossip-based publish/subscribe systems. 17 10 Chord system. 19 11 Mobile subscribers. 21 12 Lime. 23 13 Java-based pub/sub systems. 25,27 14,15 Content-based routing. 29 16 Event. 31 17 Finite state machine. 11/25 3 1 Publishing server/client synchronization. 5 2 Generative communication. 8 3 Distributed JavaSpaces. 10 4 Static replication. 12,14 5,6 Gspace kernel. 18 7 Live pub/sub communications. 20 8 Availability. 22 9 Trusted broker. 24,26,28 10-12 Confidential content-based routing. 11/30 12/2 12/4 4