Distributed Systems
close menu
Bookswagon
search
My Account
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Computing and Information Technology Books > Computer networking and communications > Distributed systems > Distributed Systems: Theory and Applications
Distributed Systems: Theory and Applications

Distributed Systems: Theory and Applications


     0     
5
4
3
2
1



Out of Stock


Notify me when this book is in stock
X
About the Book

Distributed Systems

Comprehensive textbook resource on distributed systems—integrates foundational topics with advanced topics of contemporary importance within the field

Distributed Systems: Theory and Applications 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.

Additional topics discussed in Distributed Systems: Theory and Applications include:

  • Network issues and high-level communication tools
  • Software tools for implementations of distributed middleware.
  • Data sharing across distributed components through publish and subscribe-based message diffusion, gossip protocol, P2P architecture and distributed shared memory.
  • Consensus, distributed coordination, and advanced middleware for building large distributed applications
  • Distributed data and knowledge management
  • Autonomy in distributed systems, multi-agent architecture
  • Trust in distributed systems, distributed ledger, Blockchain and related technologies.

Researchers, industry professionals, and students in the fields of science, technology, and medicine will be able to use Distributed Systems: Theory and Applications as a comprehensive textbook resource for understanding distributed systems, the specifics behind the modern elements which relate to them, and their practical applications.



Table of Contents:

About the Authors xv

Preface xvii

Acknowledgments xxi

Acronyms xxiii

1 Introduction 1

1.1 Advantages of Distributed Systems 1

1.2 Defining Distributed Systems 3

1.3 Challenges of a Distributed System 5

1.4 Goals of Distributed System 6

1.4.1 Single System View 7

1.4.2 Hiding Distributions 7

1.4.3 Degrees and Distribution of Hiding 9

1.4.4 Interoperability 10

1.4.5 Dynamic Reconfiguration 10

1.5 Architectural Organization 11

1.6 Organization of the Book 12

Bibliography 13

2 The Internet 15

2.1 Origin and Organization 15

2.1.1 ISPs and the Topology of the Internet 17

2.2 Addressing the Nodes 17

2.3 Network Connection Protocol 20

2.3.1 IP Protocol 22

2.3.2 Transmission Control Protocol 22

2.3.3 User Datagram Protocol 22

2.4 Dynamic Host Control Protocol 23

2.5 Domain Name Service 24

2.5.1 Reverse DNS Lookup 27

2.5.2 Client Server Architecture 30

2.6 Content Distribution Network 32

2.7 Conclusion 34

Exercises 34

Bibliography 35

3 Process to Process Communication 37

3.1 Communication Types and Interfaces 38

3.1.1 Sequential Type 38

3.1.2 Declarative Type 39

3.1.3 Shared States 40

3.1.4 Message Passing 41

3.1.5 Communication Interfaces 41

3.2 Socket Programming 42

3.2.1 Socket Data Structures 43

3.2.2 Socket Calls 44

3.3 Remote Procedure Call 48

3.3.1 Xml RPC 52

3.4 Remote Method Invocation 55

3.5 Conclusion 59

Exercises 59

Additional Web Resources 61

Bibliography 61

4 Microservices, Containerization, and MPI 63

4.1 Microservice Architecture 64

4.2 REST Requests and APIs 66

4.2.1 Weather Data Using REST API 67

4.3 Cross Platform Applications 68

4.4 Message Passing Interface 78

4.4.1 Process Communication Models 78

4.4.2 Programming with MPI 81

4.5 Conclusion 87

Exercises 88

Additional Internet Resources 89

Bibliography 89

5 Clock Synchronization and Event Ordering 91

5.1 The Notion of Clock Time 92

5.2 External Clock Based Mechanisms 93

5.2.1 Cristian’s Algorithm 93

5.2.2 Berkeley Clock Protocol 94

5.2.3 Network Time Protocol 95

5.2.3.1 Symmetric Mode of Operation 96

5.3 Events and Temporal Ordering 97

5.3.1 Causal Dependency 99

5.4 Logical Clock 99

5.5 Causal Ordering of Messages 106

5.6 Multicast Message Ordering 107

5.6.1 Implementing FIFO Multicast 110

5.6.2 Implementing Causal Ordering 112

5.6.3 Implementing Total Ordering 113

5.6.4 Reliable Multicast 114

5.7 Interval Events 115

5.7.1 Conceptual Neighborhood 116

5.7.2 Spatial Events 118

5.8 Conclusion 120

Exercises 121

Bibliography 123

6 Global States and Termination Detection 127

6.1 Cuts and Global States 127

6.1.1 Global States 132

6.1.2 Recording of Global States 134

6.1.3 Problem in Recording Global State 138

6.2 Liveness and Safety 140

6.3 Termination Detection 143

6.3.1 Snapshot Based Termination Detection 144

6.3.2 Ring Method 145

6.3.3 Tree Method 148

6.3.4 Weight Throwing Method 151

6.4 Conclusion 153

Exercises 154

Bibliography 156

7 Leader Election 157

7.1 Impossibility Result 158

7.2 Bully Algorithm 159

7.3 Ring-Based Algorithms 160

7.3.1 Circulate IDs All the Way 161

7.3.2 As Far as an ID Can Go 162

7.4 Hirschberg and Sinclair Algorithm 163

7.5 Distributed Spanning Tree Algorithm 167

7.5.1 Single Initiator Spanning Tree 167

7.5.2 Multiple Initiators Spanning Tree 170

7.5.3 Minimum Spanning Tree 176

7.6 Leader Election in Trees 176

7.6.1 Overview of the Algorithm 176

7.6.2 Activation Stage 177

7.6.3 Saturation Stage 178

7.6.4 Resolution Stage 179

7.6.5 Two Nodes Enter SATURATED State 180

7.7 Leased Leader Election 182

7.8 Conclusion 184

Exercises 185

Bibliography 187

8 Mutual Exclusion 189

8.1 System Model 190

8.2 Coordinator-Based Solution 192

8.3 Assertion-Based Solutions 192

8.3.1 Lamport’s Algorithm 192

8.3.2 Improvement to Lamport’s Algorithm 195

8.3.3 Quorum-Based Algorithms 196

8.4 Token-Based Solutions 203

8.4.1 Suzuki and Kasami’s Algorithm 203

8.4.2 Singhal’s Heuristically Aided Algorithm 206

8.4.3 Raymond’s Tree-Based Algorithm 212

8.5 Conclusion 214

Exercises 215

Bibliography 216

9 Agreements and Consensus 219

9.1 System Model 220

9.1.1 Failures in Distributed System 221

9.1.2 Problem Definition 222

9.1.3 Agreement Problem and Its Equivalence 223

9.2 Byzantine General Problem (BGP) 225

9.2.1 BGP Solution Using Oral Messages 228

9.2.2 Phase King Algorithm 232

9.3 Commit Protocols 233

9.3.1 Two-Phase Commit Protocol 234

9.3.2 Three-Phase Commit 238

9.4 Consensus 239

9.4.1 Consensus in Synchronous Systems 239

9.4.2 Consensus in Asynchronous Systems 241

9.4.3 Paxos Algorithm 242

9.4.4 Raft Algorithm 244

9.4.5 Leader Election 246

9.5 Conclusion 248

Exercises 249

Bibliography 250

10 Gossip Protocols 253

10.1 Direct Mail 254

10.2 Generic Gossip Protocol 255

10.3 Anti-entropy 256

10.3.1 Push-Based Anti-Entropy 257

10.3.2 Pull-Based Anti-Entropy 258

10.3.3 Hybrid Anti-Entropy 260

10.3.4 Control and Propagation in Anti-Entropy 260

10.4 Rumor-mongering Gossip 261

10.4.1 Analysis of Rumor Mongering 262

10.4.2 Fault-Tolerance 265

10.5 Implementation Issues 265

10.5.1 Network-Related Issues 266

10.6 Applications of Gossip 267

10.6.1 Peer Sampling 267

10.6.2 Failure Detectors 270

10.6.3 Distributed Social Networking 271

10.7 Gossip in IoT Communication 273

10.7.1 Context-Aware Gossip 273

10.7.2 Flow-Aware Gossip 274

10.7.2.1 Fire Fly Gossip 274

10.7.2.2 Trickle 275

10.8 Conclusion 278

Exercises 279

Bibliography 280

11 Message Diffusion Using Publish and Subscribe 283

11.1 Publish and Subscribe Paradigm 284

11.1.1 Broker Network 285

11.2 Filters and Notifications 287

11.2.1 Subscription and Advertisement 288

11.2.2 Covering Relation 288

11.2.3 Merging Filters 290

11.2.4 Algorithms 291

11.3 Notification Service 294

11.3.1 Siena 294

11.3.2 Rebeca 295

11.3.3 Routing of Notification 296

11.4 MQTT 297

11.5 Advanced Message Queuing Protocol 299

11.6 Effects of Technology on Performance 301

11.7 Conclusions 303

Exercises 304

Bibliography 305

12 Peer-to-Peer Systems 309

12.1 The Origin and the Definition of P2P 310

12.2 P2P Models 311

12.2.1 Routing in P2P Network 312

12.3 Chord Overlay 313

12.4 Pastry 321

12.5 Can 325

12.6 Kademlia 327

12.7 Conclusion 331

Exercises 332

Bibliography 333

13 Distributed Shared Memory 337

13.1 Multicore and S-DSM 338

13.1.1 Coherency by Delegation to a Central Server 339

13.2 Manycore Systems and S-DSM 340

13.3 Programming Abstractions 341

13.3.1 MapReduce 341

13.3.2 OpenMP 343

13.3.3 Merging Publish and Subscribe with DSM 345

13.4 Memory Consistency Models 347

13.4.1 Sequential Consistency 349

13.4.2 Linearizability or Atomic Consistency 351

13.4.3 Relaxed Consistency Models 352

13.4.3.1 Release Consistency 356

13.4.4 Comparison of Memory Models 357

13.5 DSM Access Algorithms 358

13.5.1 Central Sever Algorithm 359

13.5.2 Migration Algorithm 360

13.5.3 Read Replication Algorithm 361

13.5.4 Full Replication Algorithm 362

13.6 Conclusion 364

Exercises 364

Bibliography 367

14 Distributed Data Management 371

14.1 Distributed Storage Systems 372

14.1.1 Raid 372

14.1.2 Storage Area Networks 372

14.1.3 Cloud Storage 373

14.2 Distributed File Systems 375

14.3 Distributed Index 376

14.4 NoSQL Databases 377

14.4.1 Key-Value and Document Databases 378

14.4.1.1 MapReduce Algorithm 380

14.4.2 Wide Column Databases 381

14.4.3 Graph Databases 382

14.4.3.1 Pregel Algorithm 384

14.5 Distributed Data Analytics 386

14.5.1 Distributed Clustering Algorithms 388

14.5.1.1 Distributed K-Means Clustering Algorithm 388

14.5.2 Stream Clustering 391

14.5.2.1 BIRCH Algorithm 392

14.6 Conclusion 393

Exercises 394

Bibliography 395

15 Distributed Knowledge Management 399

15.1 Distributed Knowledge 400

15.2 Distributed Knowledge Representation 401

15.2.1 Resource Description Framework (RDF) 401

15.2.2 Web Ontology Language (OWL) 406

15.3 Linked Data 407

15.3.1 Friend of a Friend 407

15.3.2 DBpedia 408

15.4 Querying Distributed Knowledge 409

15.4.1 SPARQL Query Language 410

15.4.2 SPARQL Query Semantics 411

15.4.3 SPARQL Query Processing 413

15.4.4 Distributed SPARQL Query Processing 414

15.4.5 Federated and Peer-to-Peer SPARQL Query Processing 416

15.5 Data Integration in Distributed Sensor Networks 421

15.5.1 Semantic Data Integration 422

15.5.2 Data Integration in Constrained Systems 424

15.6 Conclusion 427

Exercises 428

Bibliography 429

16 Distributed Intelligence 433

16.1 Agents and Multi-Agent Systems 434

16.1.1 Agent Embodiment 436

16.1.2 Mobile Agents 436

16.1.3 Multi-Agent Systems 437

16.2 Communication in Agent-Based Systems 438

16.2.1 Agent Communication Protocols 439

16.2.2 Interaction Protocols 440

16.2.2.1 Request Interaction Protocol 441

16.3 Agent Middleware 441

16.3.1 FIPA Reference Model 442

16.3.2 FIPA Compliant Middleware 443

16.3.2.1 JADE: Java Agent Development Environment 443

16.3.2.2 MobileC 443

16.3.3 Agent Migration 444

16.4 Agent Coordination 445

16.4.1 Planning 447

16.4.1.1 Distributed Planning Paradigms 447

16.4.1.2 Distributed Plan Representation and Execution 448

16.4.2 Task Allocation 450

16.4.2.1 Contract-Net Protocol 450

16.4.2.2 Allocation of Multiple Tasks 452

16.4.3 Coordinating Through the Environment 453

16.4.3.1 Construct-Ant-Solution 455

16.4.3.2 Update-Pheromone 456

16.4.4 Coordination Without Communication 456

16.5 Conclusion 456

Exercises 457

Bibliography 459

17 Distributed Ledger 461

17.1 Cryptographic Techniques 462

17.2 Distributed Ledger Systems 464

17.2.1 Properties of Distributed Ledger Systems 465

17.2.2 A Framework for Distributed Ledger Systems 466

17.3 Blockchain 467

17.3.1 Distributed Consensus in Blockchain 468

17.3.2 Forking 470

17.3.3 Distributed Asset Tracking 471

17.3.4 Byzantine Fault Tolerance and Proof of Work 472

17.4 Other Techniques for Distributed Consensus 473

17.4.1 Alternative Proofs 473

17.4.2 Non-linear Data Structures 474

17.4.2.1 Tangle 474

17.4.2.2 Hashgraph 476

17.5 Scripts and Smart Contracts 480

17.6 Distributed Ledgers for Cyber-Physical Systems 483

17.6.1 Layered Architecture 484

17.6.2 Smart Contract in Cyber-Physical Systems 486

17.7 Conclusion 486

Exercises 487

Bibliography 488

18 Case Study 491

18.1 Collaborative E-Learning Systems 492

18.2 P2P E-Learning System 493

18.2.1 Web Conferencing Versus P2P-IPS 495

18.3 P2P Shared Whiteboard 497

18.3.1 Repainting Shared Whiteboard 497

18.3.2 Consistency of Board View at Peers 498

18.4 P2P Live Streaming 500

18.4.1 Peer Joining 500

18.4.2 Peer Leaving 503

18.4.3 Handling “Ask Doubt” 504

18.5 P2P-IPS for Stored Contents 504

18.5.1 De Bruijn Graphs for DHT Implementation 505

18.5.2 Node Information Structure 507

18.5.2.1 Join Example 510

18.5.3 Leaving of Peers 510

18.6 Searching, Sharing, and Indexing 511

18.6.1 Pre-processing of Files 511

18.6.2 File Indexing 512

18.6.3 File Lookup and Download 512

18.7 Annotations and Discussion Forum 513

18.7.1 Annotation Format 513

18.7.2 Storing Annotations 514

18.7.3 Audio and Video Annotation 514

18.7.4 PDF Annotation 514

18.7.5 Posts, Comments, and Announcements 514

18.7.6 Synchronization of Posts and Comments 515

18.7.6.1 Epidemic Dissemination 516

18.7.6.2 Reconciliation 516

18.8 Simulation Results 516

18.8.1 Live Streaming and Shared Whiteboard 517

18.8.2 De Bruijn Overlay 518

18.9 Conclusion 520

Bibliography 521

Index 525



About the Author :

Ratan K. Ghosh, PhD, is formerly a Professor of the Department of CSE at IIT Kanpur. At present, he is affiliated to BITS-Mesra as an Adjunct Professor and to Kaziranga University-Jorhat as a Distinguished Visiting Professor, Mentor and Advisor. He is a Life Member of ACM. He authored the Springer Research Monograph titled Wireless Networking and Mobile Data Management (April 2017).

Hiranmay Ghosh, PhD, is a former Adviser and Principal Scientist of TCS Research. He received his PhD degree from IIT-Delhi and his B.Tech. degree from Calcutta University. He is a Senior Member of IEEE, Life Member of IUPRAI, and a Member of ACM. He authored the Wiley title Computational Models for Cognitive Vision (2020) and co-authored of the CRC Press title Multimedia Ontology: Representation and Applications (2015).


Best Sellers


Product Details
  • ISBN-13: 9781119825951
  • Publisher: John Wiley & Sons Inc
  • Publisher Imprint: Standards Information Network
  • Language: English
  • Sub Title: Theory and Applications
  • ISBN-10: 1119825954
  • Publisher Date: 07 Feb 2023
  • Binding: Digital (delivered electronically)
  • No of Pages: 560


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Distributed Systems: Theory and Applications
John Wiley & Sons Inc -
Distributed Systems: Theory and Applications
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Distributed Systems: Theory and Applications

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!