|
|||||||
|
|||||||
|
This page contains the contents list for the whole book. Use the link above to see the Preface. New Chapters You can view outlines for the new chapters in this edition using the links below. Click the name of one of the new chapters above to see its outline. |
ContentsPrefacePurposes and readership; Organization of the book; References; Changes relative to the third edition; Acknowledgements; Web site 1 Characterization of Distributed Systems1.1 Introduction1.2 Examples of distributed systemsThe Internet; Intranets; Mobile and ubiquitous computing 1.3 Resource sharing and the WebThe World Wide Web 1.4 ChallengesHeterogeneity; Openness; Security; Scalability; Failure handling; Concurrency; Transparency 1.5 Summary2 System models2.1 Introduction2.2 Architectural modelsSoftware layers; System architectures; Variations; Interfaces and objects; Design requirements for distributed architectures; 2.3 Fundamental modelsInteraction model; Failure model; Security model; 2.4 Summary3 Networking and Internetworking3.1 IntroductionNetworking issues for distributed systems; 3.2 Types of network3.3 Network principlesPacket transmission; Data streaming; Switching schemes; Protocols; Routing; Congestion control; Internetworking; 3.4 Internet protocolsIP addressing; The IP protocol; IP routing; IP version 6; MobileIP; TCP and UDP; Domain names; Firewalls; 3.5 Case studies: Ethernet, WiFi, Bluetooth and ATMEthernet ; IEEE 802.11 (WiFi) wireless LAN ; IEEE 802.15.1 Bluetooth wireless PAN; Asynchronous Transfer Mode networks; 3.6 Summary4 Interprocess Communication4.1 Introduction4.2 The API for the Internet protocolsThe characteristics of interprocess communication; Sockets; UDP datagram communication; TCP stream communication; 4.3 External data representation and marshallingCORBA's Common Data Representation (CDR); Java object serialization; Extensible markup language (XML); Remote object references; 4.4 Client-server communication4.5 Group communicationIP multicast - an implementation of group communication; Reliability and ordering of multicast; 4.6 Case study: interprocess communication in UNIXDatagram communication; Stream communication; 4.7 Summary5 Distributed Objects and Remote Invocation5.1 IntroductionInterfaces; 5.2 Communication between distributed objectsThe object model; Distributed objects; The distributed object model; Design Issues for RMI; Implementation of RMI; Distributed garbage collection; 5.3 Remote procedure callCase study: Sun RPC; 5.4 Events and notificationsThe participants in distributed event notification; Case study: Jini distributed event specification; 5.5 Case study: Java RMIBuilding client and server programs; Design and implementation of Java RMI; 5.6 Summary6 Operating System support6.1 Introduction6.2 The operating system layer6.3 Protection6.4 Processes and threadsAddress spaces; Creation of a new process; Threads; 6.5 Communication and invocationInvocation performance; Asynchronous operation; 6.6 Operating system architecture6.7 Summary7 Security7.1 IntroductionThreats and attacks; Securing electronic transactions; Designing secure systems; 7.2 Overview of security techniquesCryptography; Uses of cryptography; Certificates; Access control; Credentials; Firewalls; 7.3 Cryptographic algorithmsSecret-key (symmetric) algorithms; Public-key (asymmetric) algorithms; Hybrid cryptographic protocols; 7.4 Digital signaturesDigital signatures with public keys; Digital signatures with secret keys - MACs; Secure digest functions; Certificate standards and certificate authorities; 7.5 Cryptography pragmaticsPerformance of cryptographic algorithms; Applications of cryptography and political obstacles; 7.6 Case studies: Needham-Schroeder, Kerberos, TLS, 802.11 WiFiThe Needham-Schroeder authentication protocol; Kerberos; Securing electronic transactions with secure sockets; Weaknesses in the IEEE 802.11 WiFi security design ; 7.7 Summary8 Distributed File Systems8.1 IntroductionCharacteristics of file systems; Distributed file system requirements; Case studies; 8.2 File service architecture8.3 Case study: Sun Network File System8.4 Case study: The Andrew File SystemImplementation; Cache consistency; Other aspects; 8.5 Enhancements and further developments8.6 Summary9 Name Services9.1 IntroductionNames, addresses and other attributes; 9.2 Name services and the Domain Name SystemName spaces; Name resolution; The Domain Name System; 9.3 Directory services9.4 Case study of the Global Name Service9.5 Case study of the X.500 Directory Service9.6 Summary10 Peer-to-Peer Systems10.1 Introduction10.2 Napster and its legacy10.3 Peer-to-peer middleware10.4 Routing overlays10.5 Overlay case studies: Pastry, TapestryPastry; Tapestry; 10.6 Application case studies: Squirrel, OceanStore, IvySquirrel web cache; OceanStore file store; Ivy file system; 10.7 Summary11 Time and Global States11.1 Introduction11.2 Clocks, events and process states11.3 Synchronizing physical clocksSynchronization in a synchronous system; Cristian's method for synchronizing clocks; The Berkeley algorithm;The Network Time Protocol; 11.4 Logical time and logical clocks11.5 Global statesGlobal states and consistent cuts; Global state predicates, stability, safety and liveness; The `snapshot' algorithm of Chandy and Lamport; 11.6 Distributed debuggingObserving consistent global states; Evaluating possibly f; Evaluating definitely f; Evaluating possibly f and definitely f in synchronous systems; 11.7 Summary12 Coordination and Agreement12.1 IntroductionFailure assumptions and failure detectors; 12.2 Distributed mutual exclusionAlgorithms for mutual exclusion; 12.3 Elections12.4 Multicast communicationBasic multicast; Reliable multicast; Ordered multicast; 12.5 Consensus and related problemsSystem model and problem definitions; Consensus in a synchronous system; The byzantine generals problem in a synchronous system; Impossibility in asynchronous systems; 12.6 Summary13 Transactions and Concurrency Control13.1 IntroductionSimple synchronization (without transactions); Failure model for transactions; 13.2 TransactionsConcurrency control; Recoverability from aborts; 13.3 Nested transactions13.4 LocksDeadlocks; Increasing concurrency in locking schemes; 13.5 Optimistic concurrency control13.6 Timestamp ordering13.7 Comparison of methods for concurrency control
|
||||||