{"product_id":"distributed-systems-theory-and-applications-hardback-9781119825937","title":"Distributed Systems; Theory and Applications (Hardback) 9781119825937","description":"\u003cfont face=\"Georgia\"\u003e\r\n\u003cp\u003e\u003cfont size=\"6\"\u003eDistributed Systems\u003c\/font\u003e\u003cbr\u003e\r\n\u003cfont size=\"5\"\u003eTheory and Applications\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\u003cp\u003e\u003cfont size=\"4\"\u003eRatan K. Ghosh (Author), Hiranmay Ghosh (Author)\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e9781119825937, Wiley\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eHardback, published 8 February 2023\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e560 pages\u003cbr\u003e23.8 x 17.5 x 3.6 cm, 1.012 kg\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\r\n\r\n\r\n\u003cp align=\"justify\"\u003e\u003cstrong\u003e\u003cfont size=\"3\"\u003e\u003cb\u003eDistributed Systems\u003c\/b\u003e \u003cp\u003e\u003cb\u003eComprehensive textbook resource on distributed systems—integrates foundational topics with advanced topics of contemporary importance within the field\u003c\/b\u003e \u003c\/p\u003e\n\u003cp\u003e\u003ci\u003eDistributed Systems: Theory and Applications\u003c\/i\u003e is organized around three layers of abstractions: networks, middleware tools, and application framework. It presents data consistency models suited for requirements of innovative distributed shared memory applications. The book also focuses on distributed processing of big data, representation of distributed knowledge and management of distributed intelligence via distributed agents. To aid in understanding how these concepts apply to real-world situations, the work presents a case study on building a P2P Integrated E-Learning system. Downloadable lecture slides are included to help professors and instructors convey key concepts to their students. \u003c\/p\u003e\n\u003cp\u003eAdditional topics discussed in \u003ci\u003eDistributed Systems: Theory and Applications \u003c\/i\u003einclude: \u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e Network issues and high-level communication tools\u003c\/li\u003e \u003cli\u003e Software tools for implementations of distributed middleware.\u003c\/li\u003e \u003cli\u003e Data sharing across distributed components through publish and subscribe-based message diffusion, gossip protocol, P2P architecture and distributed shared memory.\u003c\/li\u003e \u003cli\u003e Consensus, distributed coordination, and advanced middleware for building large distributed applications\u003c\/li\u003e \u003cli\u003e Distributed data and knowledge management\u003c\/li\u003e \u003cli\u003e Autonomy in distributed systems, multi-agent architecture\u003c\/li\u003e \u003cli\u003e Trust in distributed systems, distributed ledger, Blockchain and related technologies.\u003c\/li\u003e\n\u003c\/ul\u003e \u003cp\u003eResearchers, industry professionals, and students in the fields of science, technology, and medicine will be able to use \u003ci\u003eDistributed Systems: Theory and Applications \u003c\/i\u003eas a comprehensive textbook resource for understanding distributed systems, the specifics behind the modern elements which relate to them, and their practical applications.\u003c\/p\u003e\u003c\/font\u003e\u003c\/strong\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003e\u003cp\u003eAbout the Authors xv\u003c\/p\u003e \u003cp\u003ePreface xvii\u003c\/p\u003e \u003cp\u003eAcknowledgments xxi\u003c\/p\u003e \u003cp\u003eAcronyms xxiii\u003c\/p\u003e \u003cp\u003e\u003cb\u003e1 Introduction 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 Advantages of Distributed Systems 1\u003c\/p\u003e \u003cp\u003e1.2 Defining Distributed Systems 3\u003c\/p\u003e \u003cp\u003e1.3 Challenges of a Distributed System 5\u003c\/p\u003e \u003cp\u003e1.4 Goals of Distributed System 6\u003c\/p\u003e \u003cp\u003e1.4.1 Single System View 7\u003c\/p\u003e \u003cp\u003e1.4.2 Hiding Distributions 7\u003c\/p\u003e \u003cp\u003e1.4.3 Degrees and Distribution of Hiding 9\u003c\/p\u003e \u003cp\u003e1.4.4 Interoperability 10\u003c\/p\u003e \u003cp\u003e1.4.5 Dynamic Reconfiguration 10\u003c\/p\u003e \u003cp\u003e1.5 Architectural Organization 11\u003c\/p\u003e \u003cp\u003e1.6 Organization of the Book 12\u003c\/p\u003e \u003cp\u003eBibliography 13\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 The Internet 15\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Origin and Organization 15\u003c\/p\u003e \u003cp\u003e2.1.1 ISPs and the Topology of the Internet 17\u003c\/p\u003e \u003cp\u003e2.2 Addressing the Nodes 17\u003c\/p\u003e \u003cp\u003e2.3 Network Connection Protocol 20\u003c\/p\u003e \u003cp\u003e2.3.1 IP Protocol 22\u003c\/p\u003e \u003cp\u003e2.3.2 Transmission Control Protocol 22\u003c\/p\u003e \u003cp\u003e2.3.3 User Datagram Protocol 22\u003c\/p\u003e \u003cp\u003e2.4 Dynamic Host Control Protocol 23\u003c\/p\u003e \u003cp\u003e2.5 Domain Name Service 24\u003c\/p\u003e \u003cp\u003e2.5.1 Reverse DNS Lookup 27\u003c\/p\u003e \u003cp\u003e2.5.2 Client Server Architecture 30\u003c\/p\u003e \u003cp\u003e2.6 Content Distribution Network 32\u003c\/p\u003e \u003cp\u003e2.7 Conclusion 34\u003c\/p\u003e \u003cp\u003eExercises 34\u003c\/p\u003e \u003cp\u003eBibliography 35\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 Process to Process Communication 37\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 Communication Types and Interfaces 38\u003c\/p\u003e \u003cp\u003e3.1.1 Sequential Type 38\u003c\/p\u003e \u003cp\u003e3.1.2 Declarative Type 39\u003c\/p\u003e \u003cp\u003e3.1.3 Shared States 40\u003c\/p\u003e \u003cp\u003e3.1.4 Message Passing 41\u003c\/p\u003e \u003cp\u003e3.1.5 Communication Interfaces 41\u003c\/p\u003e \u003cp\u003e3.2 Socket Programming 42\u003c\/p\u003e \u003cp\u003e3.2.1 Socket Data Structures 43\u003c\/p\u003e \u003cp\u003e3.2.2 Socket Calls 44\u003c\/p\u003e \u003cp\u003e3.3 Remote Procedure Call 48\u003c\/p\u003e \u003cp\u003e3.3.1 Xml RPC 52\u003c\/p\u003e \u003cp\u003e3.4 Remote Method Invocation 55\u003c\/p\u003e \u003cp\u003e3.5 Conclusion 59\u003c\/p\u003e \u003cp\u003eExercises 59\u003c\/p\u003e \u003cp\u003eAdditional Web Resources 61\u003c\/p\u003e \u003cp\u003eBibliography 61\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 Microservices, Containerization, and MPI 63\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Microservice Architecture 64\u003c\/p\u003e \u003cp\u003e4.2 REST Requests and APIs 66\u003c\/p\u003e \u003cp\u003e4.2.1 Weather Data Using REST API 67\u003c\/p\u003e \u003cp\u003e4.3 Cross Platform Applications 68\u003c\/p\u003e \u003cp\u003e4.4 Message Passing Interface 78\u003c\/p\u003e \u003cp\u003e4.4.1 Process Communication Models 78\u003c\/p\u003e \u003cp\u003e4.4.2 Programming with MPI 81\u003c\/p\u003e \u003cp\u003e4.5 Conclusion 87\u003c\/p\u003e \u003cp\u003eExercises 88\u003c\/p\u003e \u003cp\u003eAdditional Internet Resources 89\u003c\/p\u003e \u003cp\u003eBibliography 89\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 Clock Synchronization and Event Ordering 91\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 The Notion of Clock Time 92\u003c\/p\u003e \u003cp\u003e5.2 External Clock Based Mechanisms 93\u003c\/p\u003e \u003cp\u003e5.2.1 Cristian’s Algorithm 93\u003c\/p\u003e \u003cp\u003e5.2.2 Berkeley Clock Protocol 94\u003c\/p\u003e \u003cp\u003e5.2.3 Network Time Protocol 95\u003c\/p\u003e \u003cp\u003e5.2.3.1 Symmetric Mode of Operation 96\u003c\/p\u003e \u003cp\u003e5.3 Events and Temporal Ordering 97\u003c\/p\u003e \u003cp\u003e5.3.1 Causal Dependency 99\u003c\/p\u003e \u003cp\u003e5.4 Logical Clock 99\u003c\/p\u003e \u003cp\u003e5.5 Causal Ordering of Messages 106\u003c\/p\u003e \u003cp\u003e5.6 Multicast Message Ordering 107\u003c\/p\u003e \u003cp\u003e5.6.1 Implementing FIFO Multicast 110\u003c\/p\u003e \u003cp\u003e5.6.2 Implementing Causal Ordering 112\u003c\/p\u003e \u003cp\u003e5.6.3 Implementing Total Ordering 113\u003c\/p\u003e \u003cp\u003e5.6.4 Reliable Multicast 114\u003c\/p\u003e \u003cp\u003e5.7 Interval Events 115\u003c\/p\u003e \u003cp\u003e5.7.1 Conceptual Neighborhood 116\u003c\/p\u003e \u003cp\u003e5.7.2 Spatial Events 118\u003c\/p\u003e \u003cp\u003e5.8 Conclusion 120\u003c\/p\u003e \u003cp\u003eExercises 121\u003c\/p\u003e \u003cp\u003eBibliography 123\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Global States and Termination Detection 127\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 Cuts and Global States 127\u003c\/p\u003e \u003cp\u003e6.1.1 Global States 132\u003c\/p\u003e \u003cp\u003e6.1.2 Recording of Global States 134\u003c\/p\u003e \u003cp\u003e6.1.3 Problem in Recording Global State 138\u003c\/p\u003e \u003cp\u003e6.2 Liveness and Safety 140\u003c\/p\u003e \u003cp\u003e6.3 Termination Detection 143\u003c\/p\u003e \u003cp\u003e6.3.1 Snapshot Based Termination Detection 144\u003c\/p\u003e \u003cp\u003e6.3.2 Ring Method 145\u003c\/p\u003e \u003cp\u003e6.3.3 Tree Method 148\u003c\/p\u003e \u003cp\u003e6.3.4 Weight Throwing Method 151\u003c\/p\u003e \u003cp\u003e6.4 Conclusion 153\u003c\/p\u003e \u003cp\u003eExercises 154\u003c\/p\u003e \u003cp\u003eBibliography 156\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Leader Election 157\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Impossibility Result 158\u003c\/p\u003e \u003cp\u003e7.2 Bully Algorithm 159\u003c\/p\u003e \u003cp\u003e7.3 Ring-Based Algorithms 160\u003c\/p\u003e \u003cp\u003e7.3.1 Circulate IDs All the Way 161\u003c\/p\u003e \u003cp\u003e7.3.2 As Far as an ID Can Go 162\u003c\/p\u003e \u003cp\u003e7.4 Hirschberg and Sinclair Algorithm 163\u003c\/p\u003e \u003cp\u003e7.5 Distributed Spanning Tree Algorithm 167\u003c\/p\u003e \u003cp\u003e7.5.1 Single Initiator Spanning Tree 167\u003c\/p\u003e \u003cp\u003e7.5.2 Multiple Initiators Spanning Tree 170\u003c\/p\u003e \u003cp\u003e7.5.3 Minimum Spanning Tree 176\u003c\/p\u003e \u003cp\u003e7.6 Leader Election in Trees 176\u003c\/p\u003e \u003cp\u003e7.6.1 Overview of the Algorithm 176\u003c\/p\u003e \u003cp\u003e7.6.2 Activation Stage 177\u003c\/p\u003e \u003cp\u003e7.6.3 Saturation Stage 178\u003c\/p\u003e \u003cp\u003e7.6.4 Resolution Stage 179\u003c\/p\u003e \u003cp\u003e7.6.5 Two Nodes Enter SATURATED State 180\u003c\/p\u003e \u003cp\u003e7.7 Leased Leader Election 182\u003c\/p\u003e \u003cp\u003e7.8 Conclusion 184\u003c\/p\u003e \u003cp\u003eExercises 185\u003c\/p\u003e \u003cp\u003eBibliography 187\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Mutual Exclusion 189\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 System Model 190\u003c\/p\u003e \u003cp\u003e8.2 Coordinator-Based Solution 192\u003c\/p\u003e \u003cp\u003e8.3 Assertion-Based Solutions 192\u003c\/p\u003e \u003cp\u003e8.3.1 Lamport’s Algorithm 192\u003c\/p\u003e \u003cp\u003e8.3.2 Improvement to Lamport’s Algorithm 195\u003c\/p\u003e \u003cp\u003e8.3.3 Quorum-Based Algorithms 196\u003c\/p\u003e \u003cp\u003e8.4 Token-Based Solutions 203\u003c\/p\u003e \u003cp\u003e8.4.1 Suzuki and Kasami’s Algorithm 203\u003c\/p\u003e \u003cp\u003e8.4.2 Singhal’s Heuristically Aided Algorithm 206\u003c\/p\u003e \u003cp\u003e8.4.3 Raymond’s Tree-Based Algorithm 212\u003c\/p\u003e \u003cp\u003e8.5 Conclusion 214\u003c\/p\u003e \u003cp\u003eExercises 215\u003c\/p\u003e \u003cp\u003eBibliography 216\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Agreements and Consensus 219\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 System Model 220\u003c\/p\u003e \u003cp\u003e9.1.1 Failures in Distributed System 221\u003c\/p\u003e \u003cp\u003e9.1.2 Problem Definition 222\u003c\/p\u003e \u003cp\u003e9.1.3 Agreement Problem and Its Equivalence 223\u003c\/p\u003e \u003cp\u003e9.2 Byzantine General Problem (BGP) 225\u003c\/p\u003e \u003cp\u003e9.2.1 BGP Solution Using Oral Messages 228\u003c\/p\u003e \u003cp\u003e9.2.2 Phase King Algorithm 232\u003c\/p\u003e \u003cp\u003e9.3 Commit Protocols 233\u003c\/p\u003e \u003cp\u003e9.3.1 Two-Phase Commit Protocol 234\u003c\/p\u003e \u003cp\u003e9.3.2 Three-Phase Commit 238\u003c\/p\u003e \u003cp\u003e9.4 Consensus 239\u003c\/p\u003e \u003cp\u003e9.4.1 Consensus in Synchronous Systems 239\u003c\/p\u003e \u003cp\u003e9.4.2 Consensus in Asynchronous Systems 241\u003c\/p\u003e \u003cp\u003e9.4.3 Paxos Algorithm 242\u003c\/p\u003e \u003cp\u003e9.4.4 Raft Algorithm 244\u003c\/p\u003e \u003cp\u003e9.4.5 Leader Election 246\u003c\/p\u003e \u003cp\u003e9.5 Conclusion 248\u003c\/p\u003e \u003cp\u003eExercises 249\u003c\/p\u003e \u003cp\u003eBibliography 250\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 Gossip Protocols 253\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Direct Mail 254\u003c\/p\u003e \u003cp\u003e10.2 Generic Gossip Protocol 255\u003c\/p\u003e \u003cp\u003e10.3 Anti-entropy 256\u003c\/p\u003e \u003cp\u003e10.3.1 Push-Based Anti-Entropy 257\u003c\/p\u003e \u003cp\u003e10.3.2 Pull-Based Anti-Entropy 258\u003c\/p\u003e \u003cp\u003e10.3.3 Hybrid Anti-Entropy 260\u003c\/p\u003e \u003cp\u003e10.3.4 Control and Propagation in Anti-Entropy 260\u003c\/p\u003e \u003cp\u003e10.4 Rumor-mongering Gossip 261\u003c\/p\u003e \u003cp\u003e10.4.1 Analysis of Rumor Mongering 262\u003c\/p\u003e \u003cp\u003e10.4.2 Fault-Tolerance 265\u003c\/p\u003e \u003cp\u003e10.5 Implementation Issues 265\u003c\/p\u003e \u003cp\u003e10.5.1 Network-Related Issues 266\u003c\/p\u003e \u003cp\u003e10.6 Applications of Gossip 267\u003c\/p\u003e \u003cp\u003e10.6.1 Peer Sampling 267\u003c\/p\u003e \u003cp\u003e10.6.2 Failure Detectors 270\u003c\/p\u003e \u003cp\u003e10.6.3 Distributed Social Networking 271\u003c\/p\u003e \u003cp\u003e10.7 Gossip in IoT Communication 273\u003c\/p\u003e \u003cp\u003e10.7.1 Context-Aware Gossip 273\u003c\/p\u003e \u003cp\u003e10.7.2 Flow-Aware Gossip 274\u003c\/p\u003e \u003cp\u003e10.7.2.1 Fire Fly Gossip 274\u003c\/p\u003e \u003cp\u003e10.7.2.2 Trickle 275\u003c\/p\u003e \u003cp\u003e10.8 Conclusion 278\u003c\/p\u003e \u003cp\u003eExercises 279\u003c\/p\u003e \u003cp\u003eBibliography 280\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 Message Diffusion Using Publish and Subscribe 283\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e11.1 Publish and Subscribe Paradigm 284\u003c\/p\u003e \u003cp\u003e11.1.1 Broker Network 285\u003c\/p\u003e \u003cp\u003e11.2 Filters and Notifications 287\u003c\/p\u003e \u003cp\u003e11.2.1 Subscription and Advertisement 288\u003c\/p\u003e \u003cp\u003e11.2.2 Covering Relation 288\u003c\/p\u003e \u003cp\u003e11.2.3 Merging Filters 290\u003c\/p\u003e \u003cp\u003e11.2.4 Algorithms 291\u003c\/p\u003e \u003cp\u003e11.3 Notification Service 294\u003c\/p\u003e \u003cp\u003e11.3.1 Siena 294\u003c\/p\u003e \u003cp\u003e11.3.2 Rebeca 295\u003c\/p\u003e \u003cp\u003e11.3.3 Routing of Notification 296\u003c\/p\u003e \u003cp\u003e11.4 MQTT 297\u003c\/p\u003e \u003cp\u003e11.5 Advanced Message Queuing Protocol 299\u003c\/p\u003e \u003cp\u003e11.6 Effects of Technology on Performance 301\u003c\/p\u003e \u003cp\u003e11.7 Conclusions 303\u003c\/p\u003e \u003cp\u003eExercises 304\u003c\/p\u003e \u003cp\u003eBibliography 305\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 Peer-to-Peer Systems 309\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e12.1 The Origin and the Definition of P2P 310\u003c\/p\u003e \u003cp\u003e12.2 P2P Models 311\u003c\/p\u003e \u003cp\u003e12.2.1 Routing in P2P Network 312\u003c\/p\u003e \u003cp\u003e12.3 Chord Overlay 313\u003c\/p\u003e \u003cp\u003e12.4 Pastry 321\u003c\/p\u003e \u003cp\u003e12.5 Can 325\u003c\/p\u003e \u003cp\u003e12.6 Kademlia 327\u003c\/p\u003e \u003cp\u003e12.7 Conclusion 331\u003c\/p\u003e \u003cp\u003eExercises 332\u003c\/p\u003e \u003cp\u003eBibliography 333\u003c\/p\u003e \u003cp\u003e\u003cb\u003e13 Distributed Shared Memory 337\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e13.1 Multicore and S-DSM 338\u003c\/p\u003e \u003cp\u003e13.1.1 Coherency by Delegation to a Central Server 339\u003c\/p\u003e \u003cp\u003e13.2 Manycore Systems and S-DSM 340\u003c\/p\u003e \u003cp\u003e13.3 Programming Abstractions 341\u003c\/p\u003e \u003cp\u003e13.3.1 MapReduce 341\u003c\/p\u003e \u003cp\u003e13.3.2 OpenMP 343\u003c\/p\u003e \u003cp\u003e13.3.3 Merging Publish and Subscribe with DSM 345\u003c\/p\u003e \u003cp\u003e13.4 Memory Consistency Models 347\u003c\/p\u003e \u003cp\u003e13.4.1 Sequential Consistency 349\u003c\/p\u003e \u003cp\u003e13.4.2 Linearizability or Atomic Consistency 351\u003c\/p\u003e \u003cp\u003e13.4.3 Relaxed Consistency Models 352\u003c\/p\u003e \u003cp\u003e13.4.3.1 Release Consistency 356\u003c\/p\u003e \u003cp\u003e13.4.4 Comparison of Memory Models 357\u003c\/p\u003e \u003cp\u003e13.5 DSM Access Algorithms 358\u003c\/p\u003e \u003cp\u003e13.5.1 Central Sever Algorithm 359\u003c\/p\u003e \u003cp\u003e13.5.2 Migration Algorithm 360\u003c\/p\u003e \u003cp\u003e13.5.3 Read Replication Algorithm 361\u003c\/p\u003e \u003cp\u003e13.5.4 Full Replication Algorithm 362\u003c\/p\u003e \u003cp\u003e13.6 Conclusion 364\u003c\/p\u003e \u003cp\u003eExercises 364\u003c\/p\u003e \u003cp\u003eBibliography 367\u003c\/p\u003e \u003cp\u003e\u003cb\u003e14 Distributed Data Management 371\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e14.1 Distributed Storage Systems 372\u003c\/p\u003e \u003cp\u003e14.1.1 Raid 372\u003c\/p\u003e \u003cp\u003e14.1.2 Storage Area Networks 372\u003c\/p\u003e \u003cp\u003e14.1.3 Cloud Storage 373\u003c\/p\u003e \u003cp\u003e14.2 Distributed File Systems 375\u003c\/p\u003e \u003cp\u003e14.3 Distributed Index 376\u003c\/p\u003e \u003cp\u003e14.4 NoSQL Databases 377\u003c\/p\u003e \u003cp\u003e14.4.1 Key-Value and Document Databases 378\u003c\/p\u003e \u003cp\u003e14.4.1.1 MapReduce Algorithm 380\u003c\/p\u003e \u003cp\u003e14.4.2 Wide Column Databases 381\u003c\/p\u003e \u003cp\u003e14.4.3 Graph Databases 382\u003c\/p\u003e \u003cp\u003e14.4.3.1 Pregel Algorithm 384\u003c\/p\u003e \u003cp\u003e14.5 Distributed Data Analytics 386\u003c\/p\u003e \u003cp\u003e14.5.1 Distributed Clustering Algorithms 388\u003c\/p\u003e \u003cp\u003e14.5.1.1 Distributed K-Means Clustering Algorithm 388\u003c\/p\u003e \u003cp\u003e14.5.2 Stream Clustering 391\u003c\/p\u003e \u003cp\u003e14.5.2.1 BIRCH Algorithm 392\u003c\/p\u003e \u003cp\u003e14.6 Conclusion 393\u003c\/p\u003e \u003cp\u003eExercises 394\u003c\/p\u003e \u003cp\u003eBibliography 395\u003c\/p\u003e \u003cp\u003e\u003cb\u003e15 Distributed Knowledge Management 399\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e15.1 Distributed Knowledge 400\u003c\/p\u003e \u003cp\u003e15.2 Distributed Knowledge Representation 401\u003c\/p\u003e \u003cp\u003e15.2.1 Resource Description Framework (RDF) 401\u003c\/p\u003e \u003cp\u003e15.2.2 Web Ontology Language (OWL) 406\u003c\/p\u003e \u003cp\u003e15.3 Linked Data 407\u003c\/p\u003e \u003cp\u003e15.3.1 Friend of a Friend 407\u003c\/p\u003e \u003cp\u003e15.3.2 DBpedia 408\u003c\/p\u003e \u003cp\u003e15.4 Querying Distributed Knowledge 409\u003c\/p\u003e \u003cp\u003e15.4.1 SPARQL Query Language 410\u003c\/p\u003e \u003cp\u003e15.4.2 SPARQL Query Semantics 411\u003c\/p\u003e \u003cp\u003e15.4.3 SPARQL Query Processing 413\u003c\/p\u003e \u003cp\u003e15.4.4 Distributed SPARQL Query Processing 414\u003c\/p\u003e \u003cp\u003e15.4.5 Federated and Peer-to-Peer SPARQL Query Processing 416\u003c\/p\u003e \u003cp\u003e15.5 Data Integration in Distributed Sensor Networks 421\u003c\/p\u003e \u003cp\u003e15.5.1 Semantic Data Integration 422\u003c\/p\u003e \u003cp\u003e15.5.2 Data Integration in Constrained Systems 424\u003c\/p\u003e \u003cp\u003e15.6 Conclusion 427\u003c\/p\u003e \u003cp\u003eExercises 428\u003c\/p\u003e \u003cp\u003eBibliography 429\u003c\/p\u003e \u003cp\u003e\u003cb\u003e16 Distributed Intelligence 433\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e16.1 Agents and Multi-Agent Systems 434\u003c\/p\u003e \u003cp\u003e16.1.1 Agent Embodiment 436\u003c\/p\u003e \u003cp\u003e16.1.2 Mobile Agents 436\u003c\/p\u003e \u003cp\u003e16.1.3 Multi-Agent Systems 437\u003c\/p\u003e \u003cp\u003e16.2 Communication in Agent-Based Systems 438\u003c\/p\u003e \u003cp\u003e16.2.1 Agent Communication Protocols 439\u003c\/p\u003e \u003cp\u003e16.2.2 Interaction Protocols 440\u003c\/p\u003e \u003cp\u003e16.2.2.1 Request Interaction Protocol 441\u003c\/p\u003e \u003cp\u003e16.3 Agent Middleware 441\u003c\/p\u003e \u003cp\u003e16.3.1 FIPA Reference Model 442\u003c\/p\u003e \u003cp\u003e16.3.2 FIPA Compliant Middleware 443\u003c\/p\u003e \u003cp\u003e16.3.2.1 JADE: Java Agent Development Environment 443\u003c\/p\u003e \u003cp\u003e16.3.2.2 MobileC 443\u003c\/p\u003e \u003cp\u003e16.3.3 Agent Migration 444\u003c\/p\u003e \u003cp\u003e16.4 Agent Coordination 445\u003c\/p\u003e \u003cp\u003e16.4.1 Planning 447\u003c\/p\u003e \u003cp\u003e16.4.1.1 Distributed Planning Paradigms 447\u003c\/p\u003e \u003cp\u003e16.4.1.2 Distributed Plan Representation and Execution 448\u003c\/p\u003e \u003cp\u003e16.4.2 Task Allocation 450\u003c\/p\u003e \u003cp\u003e16.4.2.1 Contract-Net Protocol 450\u003c\/p\u003e \u003cp\u003e16.4.2.2 Allocation of Multiple Tasks 452\u003c\/p\u003e \u003cp\u003e16.4.3 Coordinating Through the Environment 453\u003c\/p\u003e \u003cp\u003e16.4.3.1 Construct-Ant-Solution 455\u003c\/p\u003e \u003cp\u003e16.4.3.2 Update-Pheromone 456\u003c\/p\u003e \u003cp\u003e16.4.4 Coordination Without Communication 456\u003c\/p\u003e \u003cp\u003e16.5 Conclusion 456\u003c\/p\u003e \u003cp\u003eExercises 457\u003c\/p\u003e \u003cp\u003eBibliography 459\u003c\/p\u003e \u003cp\u003e\u003cb\u003e17 Distributed Ledger 461\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e17.1 Cryptographic Techniques 462\u003c\/p\u003e \u003cp\u003e17.2 Distributed Ledger Systems 464\u003c\/p\u003e \u003cp\u003e17.2.1 Properties of Distributed Ledger Systems 465\u003c\/p\u003e \u003cp\u003e17.2.2 A Framework for Distributed Ledger Systems 466\u003c\/p\u003e \u003cp\u003e17.3 Blockchain 467\u003c\/p\u003e \u003cp\u003e17.3.1 Distributed Consensus in Blockchain 468\u003c\/p\u003e \u003cp\u003e17.3.2 Forking 470\u003c\/p\u003e \u003cp\u003e17.3.3 Distributed Asset Tracking 471\u003c\/p\u003e \u003cp\u003e17.3.4 Byzantine Fault Tolerance and Proof of Work 472\u003c\/p\u003e \u003cp\u003e17.4 Other Techniques for Distributed Consensus 473\u003c\/p\u003e \u003cp\u003e17.4.1 Alternative Proofs 473\u003c\/p\u003e \u003cp\u003e17.4.2 Non-linear Data Structures 474\u003c\/p\u003e \u003cp\u003e17.4.2.1 Tangle 474\u003c\/p\u003e \u003cp\u003e17.4.2.2 Hashgraph 476\u003c\/p\u003e \u003cp\u003e17.5 Scripts and Smart Contracts 480\u003c\/p\u003e \u003cp\u003e17.6 Distributed Ledgers for Cyber-Physical Systems 483\u003c\/p\u003e \u003cp\u003e17.6.1 Layered Architecture 484\u003c\/p\u003e \u003cp\u003e17.6.2 Smart Contract in Cyber-Physical Systems 486\u003c\/p\u003e \u003cp\u003e17.7 Conclusion 486\u003c\/p\u003e \u003cp\u003eExercises 487\u003c\/p\u003e \u003cp\u003eBibliography 488\u003c\/p\u003e \u003cp\u003e\u003cb\u003e18 Case Study 491\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e18.1 Collaborative E-Learning Systems 492\u003c\/p\u003e \u003cp\u003e18.2 P2P E-Learning System 493\u003c\/p\u003e \u003cp\u003e18.2.1 Web Conferencing Versus P2P-IPS 495\u003c\/p\u003e \u003cp\u003e18.3 P2P Shared Whiteboard 497\u003c\/p\u003e \u003cp\u003e18.3.1 Repainting Shared Whiteboard 497\u003c\/p\u003e \u003cp\u003e18.3.2 Consistency of Board View at Peers 498\u003c\/p\u003e \u003cp\u003e18.4 P2P Live Streaming 500\u003c\/p\u003e \u003cp\u003e18.4.1 Peer Joining 500\u003c\/p\u003e \u003cp\u003e18.4.2 Peer Leaving 503\u003c\/p\u003e \u003cp\u003e18.4.3 Handling “Ask Doubt” 504\u003c\/p\u003e \u003cp\u003e18.5 P2P-IPS for Stored Contents 504\u003c\/p\u003e \u003cp\u003e18.5.1 De Bruijn Graphs for DHT Implementation 505\u003c\/p\u003e \u003cp\u003e18.5.2 Node Information Structure 507\u003c\/p\u003e \u003cp\u003e18.5.2.1 Join Example 510\u003c\/p\u003e \u003cp\u003e18.5.3 Leaving of Peers 510\u003c\/p\u003e \u003cp\u003e18.6 Searching, Sharing, and Indexing 511\u003c\/p\u003e \u003cp\u003e18.6.1 Pre-processing of Files 511\u003c\/p\u003e \u003cp\u003e18.6.2 File Indexing 512\u003c\/p\u003e \u003cp\u003e18.6.3 File Lookup and Download 512\u003c\/p\u003e \u003cp\u003e18.7 Annotations and Discussion Forum 513\u003c\/p\u003e \u003cp\u003e18.7.1 Annotation Format 513\u003c\/p\u003e \u003cp\u003e18.7.2 Storing Annotations 514\u003c\/p\u003e \u003cp\u003e18.7.3 Audio and Video Annotation 514\u003c\/p\u003e \u003cp\u003e18.7.4 PDF Annotation 514\u003c\/p\u003e \u003cp\u003e18.7.5 Posts, Comments, and Announcements 514\u003c\/p\u003e \u003cp\u003e18.7.6 Synchronization of Posts and Comments 515\u003c\/p\u003e \u003cp\u003e18.7.6.1 Epidemic Dissemination 516\u003c\/p\u003e \u003cp\u003e18.7.6.2 Reconciliation 516\u003c\/p\u003e \u003cp\u003e18.8 Simulation Results 516\u003c\/p\u003e \u003cp\u003e18.8.1 Live Streaming and Shared Whiteboard 517\u003c\/p\u003e \u003cp\u003e18.8.2 De Bruijn Overlay 518\u003c\/p\u003e \u003cp\u003e18.9 Conclusion 520\u003c\/p\u003e \u003cp\u003eBibliography 521\u003c\/p\u003e \u003cp\u003eIndex 525\u003c\/p\u003e\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\u003cp\u003e\u003cfont size=\"3\"\u003eSubject Areas: Computer science [\u003ca title=\"See our other books on Computer science\" href=\"https:\/\/freshlyprintedbooks.co.uk\/search?q=%22Computer%20science%20%5BUY%5D%22\"\u003eUY\u003c\/a\u003e]\u003c\/font\u003e\u003c\/p\u003e\r\n\r\n\r\n\u003c\/font\u003e","brand":"Wiley-IEEE Computer Society Pr","offers":[{"title":"Brand New","offer_id":52173809156376,"sku":"9781119825937","price":72.27,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0730\/2037\/5320\/files\/9781119825937.jpg?v=1781172949","url":"https:\/\/freshlyprintedbooks.co.uk\/products\/distributed-systems-theory-and-applications-hardback-9781119825937","provider":"Freshly Printed Books","version":"1.0","type":"link"}