Review for Final 95-702 The exam is comprehensive but most questions will be from the second half of the course. Chapter 1 Characterization of distributed systems. Challenges in constructing distributed systems Chapter 2 Architectural Models Design requirements for distributed architectures 2.2.5 Fundamentals Models Agreement in Pepperland pg. 51 Failure detection in Peperland pg. 54 Pepperland agreements in the presence of failures pg. 54 Chapter 3 Networking and Internetworking Network Principles packet transmission data streaming switching schemes protocols protocol layers packet assembly ports addressing packet delivery datagrams and virtual circuits routing RIP algorithm Routers, bridges, hubs, switches, tunneling Internet Protocols IP addressing IP protocol ARP Routing on a local subnet Unregistered addresses and network address translation TCP and UDP Ethernets WiFi Chapter 4 Synchronous and asynchronous communications TCP and UDP failure models UDP socket programming in Java TCP socket programming in Java Marshalling and unmarshalling using CORBA's CDR Java serialization XML elements and attributes XML namespaces XSDL schemas Remote object references Request reply protocol Request Reply Message structure RPC exchange protocols UDP implementation of the request reply protocol pg. 158 TCP implementation of the request reply protocol pg. 160 HTTP Request reply page 160 Chapter 5 Interfaces IDL's The distributed object model Figure 5.4 looks like an Enterprise Java Bean with the circle providing services Design issues for RMI Invocation semantics Generic RMI implementation Events and notifications Java RMI case study Java RMI distributed white board Chapter 19 Web Services IDL expressed in WSDL Registries UDDI URI's, URL's, URN's Transports that use SOAP Synchronous and asynchronous SOAP Document style and RPC style SOAP The use of the SOAP header The use of the SOAP body WS-Addressing The WS ShapeList interface WSDL abstract part WSDL concrete part MEPS JAXR UDDI Data Structure The Grid and the Globus Toolkit Web service security Chapter 7 Security Policies and mechanisms Threat categories Attacks Assumptions and guidelines Cryptographic notation Symmetric vs. asymmetric encryption Block ciphers RSA Public/private keys Four scenarios Digital certificates and X509 format Symmetric key signatures Needham-Schroeder Authentication Kerberos SSL or TLS SSL client and server authentication Chapter 9 Naming Java Naming and Directory Interface (JNDI) Naming Concepts Conventions, Bindings, Context, Directory service Chapter 11 Time and Global States Global clocks Clock skew and drift Internal and external synchronization NTP Global State Snapshot algorithm Distributed debugging Lamport clocks Cloud Computing Paper from Berkeley For review, read the executive summary well. EJB Slides Reasons for using EJB's Interposition Entity beans (CMP,BMP) Session Beans (stateful, stateless) Message driven beans Local, remote and home interfaces JNDI JMS Web services and EJB's Android Android's Component Model Android looper and message queue Android Interprocess Communications (Intents and Remote Methods) Transactions Local transactions using locks, Java/JDBC Distributed transactions using two phase commit Projects 1. Servlets, JSP Pages, Cryptographic hashing 2. Concurrency, web services, knock knock protocol, sessions 3. TCP, UDP Distributed objects, positive acknowledgement with retransmission, stubs, skeletons and registries 4. Java RMI and publish/subscribe 5. JDBC, Transactions, locks, calling web services from a servlet 6. JMS Queues and JMS Topics