Abbey's Bookshop Logo
Go to my checkout basket
Login to Abbey's Bookshop
Register with Abbey's Bookshop
Gift Vouchers
Browse by Category

Google Book Preview
Distributed Computing
— —
Sunita Mahajan Seema Shah
Distributed Computing by Sunita Mahajan at Abbey's Bookshop,

Distributed Computing

Sunita Mahajan Seema Shah


OUP India

Distributed systems;
Computer architecture & logic design


616 pages

We can order this in for you
How long will it take?
order qty:  
Add this item to my basket

Distributed Computing is designed to serve as a textbook for undergraduate engineering students of Computer Science and postgraduate students of Computer Applications. The book seeks to impart a clear understanding of the computing aspects of Distributed Systems.

Beginning with an overview of the fundamental concepts, the book moves into detailed descriptions of Network, Inter-Process and Remote Communication and Synchronization of distributed systems. Key facets of Dsitributed Computing like Distributed System Management, Shared Memory, and File Systems have been dealt with individually. Special attention is paid to important topics like Real-Time Distributed Systems, Distributed Databases, and security issues. Keeping pace with the rapid development taking place in this field, the book also discusses some recent advances in Grid Computing, Ubiquitous Computing and .


Written in simple and concise language, the book provides numerous end chapter review questions and multiple choice questions. Several case studies have been provided in relevant chapters for students to understand real-world applications. The book may also serve as a useful reference for courses on Distributed Systems, Distributed Operating Systems, and Distributed Databases.

By:   Sunita Mahajan, Seema Shah
Imprint:   OUP India
Country of Publication:   India
Dimensions:   Height: 243mm,  Width: 187mm,  Spine: 26mm
Weight:   832g
ISBN:   9780198061861
ISBN 10:   0198061862
Pages:   616
Publication Date:   June 2010
Audience:   College/higher education ,  A / AS level ,  Further / Higher Education
Replaced By:   9780198093480
Format:   Paperback
Publisher's Status:   Active

1: Basic Distributed System Concepts 1.1 Introduction 1.1.1 What is a Distributed system? 1.1.2 Architectures for Distributed systems 1.1.3 Advantages of Distributed systems 1.1.4 Disadvantages of Distributed systems 1.2 Distributed computing models 1.2.1 Workstation model 1.2.2 Workstation Server model 1.2.3 Processor pool model 1.2.4 Comparison of the distributed computing models 1.3 Software Concepts 1.3.1 Network Operating Systems 1.3.2 Distributed Operating System 1.3.3 Multiprocessor Time Sharing system 1.3.4 Comparison of different Operating systems 1.4 Issues in designing Distributed Systems 1.4.1 Transparency 1.4.2 Flexibility 1.4.3 Reliability 1.4.4 Performance 1.4.5 Scalability 1.4.6 Security 1.4.7 Fault tolerance 1.5 Client Server model 1.5.1 Basic concepts 1.5.2 Client Server addressing 1.5.3 Client server implementation 1.5.4 Client server architecture 1.6 Case Study: WWW 1.7 Summary 2: Network Communication- IPC 2.1 LAN & WAN Technologies 2.1.1 Introduction to LAN and WAN 2.1.2 Classification of Networks 2.2 Protocols for Network Systems 2.2.1 ISO/ OSI model 2.2.2 Internet Protocol 2.3 Asynchronous Transfer Mode- ATM 2.3.1 Introduction to ATM 2.3.2 ATM protocol Reference Model 2.4 Protocols form Distributed Systems 2.4.1 VMTP 2.4.2 FLIP 2.5 Summary 3: Inter process Communication- IPC 3.1 Message passing 3.1.1 Introduction to Message passing 3.1.2 Features of Message passing system 3.1.3 IPC Message format 3.1.4 IPC Synchronization 3.1.5 Message buffering strategies 3.1.6 Multidatagram Messaging 3.1.7 Process addressing techniques 3.1.8 Failure handling mechanism 3.2 Case Study: IPC in Mach 3.3 Group Communication 3.3.1 Types of group communication 3.3.2 Group management 3.3.3 Group addressing and message delivery 3.3.4 Reliability mechanism 3.3.5 Message Ordering 3.4 Case Study: CBCAST in ISIS 3.5 Summary 4: Remote Communication 4.1 Introduction to Remote communication 4.1.1 Concept of Middleware 4.2 Remote Procedure Call Basics 4.2.1 RPC operation 4.2.2 Stub generation in RPC 4.3 RPC Implementation 4.3.1 RPC Messages 4.3.2 Parameter passing semantics 4.3.3 Server Management 4.4 RPC Communication 4.4.1 RPC Call semantics 4.4.2 RPC Communication protocols 4.4.3 Client Server Binding 4.5 Other RPC issues 4.5.1 Exception handling and security 4.5.2 RPC in heterogeneous environment 4.5.3 Failure Handling in RPC 4.5.4 RPC Optimization 4.5.5 Complicated and special RPCs 4.6 Case Study: Sun RPC 4.7 Remote object invocation basics 4.7.1 Distributed objects 4.7.2 RMI basics 4.8 RMI Implementation 4.8.1 Design issues in RMI 4.8.2 RMI execution 4.8.3 Types of objects 4.8.4 Binding Client to objects 4.8.5 Parameter passing in RMI 4.9 Case Study: Java RMI 4.10 Summary 5: Synchronization* 5.1 Introduction 5.2 Clock synchronization 5.2.1 Logical & physical clocks- event ordering 5.2.2 Clock synchronization algorithms 5.2.3 Use of synchronized clocks 5.3 Mutual Exclusion 5.3.1 Centralized algorithm 5.3.2 Distributed algorithm 5.3.3 Token ring algorithm 5.3.4 Comparison 5.4 Election Algorithms 5.4.1 Bully algorithm 5.4.2 Ring algorithm 5.4.3 Comparison of Election algorithms 5.5 Deadlocks in Distributed systems 5.5.1 Global state 5.5.2 Distributed deadlock prevention 5.5.3 Distributed deadlock detection 5.5.4 Distributed Deadlock recovery 5.6 Case study: Deadlock in... 5.7 Summary 6: Distributed System Management 6.1 Introduction 6.2 Resource management 6.2.1 Desirable features of a good global scheduling algorithm 6.3 Task assignment approach 6.3.1 Graph theoretic deterministic algorithm 6.3.2 Centralized heuristic algorithm 6.3.3 Hierarchical algorithm 6.4 Load balancing 6.4.1 Taxonomy of load balancing algorithms 6.4.2 Issues in designing in load balancing algorithm 6.5 Load sharing approach 6.5.1 Issues in designing load sharing algorithms 6.6 Process management in a distributed environment 6.6.1 Functions of distributed process management 6.6.2 Desirable features of a good process migration mechanism 6.7 Process migration 6.7.1 Freezing process on source node 6.7.2 Address space transport mechanisms 6.7.3 Message forwarding mechanism 6.7.4 Process migration in heterogeneous systems 6.7.5 Advantages of process migration 6.8 Threads 6.8.1 Process v/s threads 6.8.2 Thread models 6.8.3 Design issues in threads 6.8.4 Implementing thread package 6.8.5 Threads and remote execution 6.8.6 Threads: Case study 6.9 Fault Tolerance 6.9.1 Component faults 6.9.2 System failures 6.9.3 Use of redundancy 6.9.4 Case study 6.10 Summary 7: Distributed Shared Memory 7.1 Introduction 7.2 Basic concepts of DSM 7.2.1 DSM architecture 7.2.2 Message Passing V/S Shared Memory 7.2.3 Types of DSM 7.2.4 Advantages of DSM 7.3 Hardware DSM 7.3.1 On chip memory 7.3.2 Bus based multiprocessor 7.3.3. Ring based multiprocessor 7.3.4 Switched multiprocessor 7.3.5 NUMA multiprocessors 7.4 Design issues in DSM systems 7.4.1 Granularity 7.4.2 Structure 7.4.3 Consistency models 7.4.4 Coherence protocols 7.5 Issues in Implementing DSM systems 7.5.1 Thrashing 7.5.2 Responsibility for DSM management 7.5.3 Replication versus migration strategies 7.5.4 Replacement strategy 7.6 Heterogeneous and other DSM systems 7.7 Case studies 7.7.1 Munin 7.7.2 Linda 7.7.3 Teamster 7.7.4 JUMP 8: Distributed File system 8.1 Introduction to DFS 8.1.1 Functions of DFS 8.1.2 Components of DFS 8.1.3 Desirable features of a good DFS 8.1.4 File models 8.2 File system design 8.2.1 File Service Interface 8.2.2 Directory Server Interface 8.3 Naming transparency 8.4 Semantics of File Sharing 8.5 DFS implementation 8.5.1 DFS System structure 8.6 File caching in DFS 8.6.1 Cache location 8.6.2 Cache consistency 8.7 Replication in DFS 8.7.1 Replica creation 8.7.2 Update protocols 8.8 Case Study 8.8.1 SUN Network File System 8.8.2 Google File System 8.9 Summary 9: Naming 9.1 Introduction 9.2 Desirable features of a good naming system 9.3 Basic concepts 9.3.1 Name 9.3.2 Name space and contexts 9.3.3 Name server 9.3.4 Name Agent 9.3.5 Name resolution 9.4 System oriented names 9.4.1 Features of system oriented names 9.4.2 Types of system oriented names 9.4.3 Approaches to generation of system oriented names 9.5 Object locating mechanisms 9.5.1 Broadcast 9.5.2 Expanding ring broadcast 9.5.3 Encoding object location in UID 9.5.4 Encoding creator node id in UID 9.5.5 Using forward location pointers 9.5.6 Using hint cache and broadcasting 9.6 Issues in designing Human oriented names 9.6.1 Scheme for global object naming 9.6.2 Scheme for partitioning name space into contexts 9.6.3 Scheme for implementing context bindings 9.6.4 Scheme for name resolution 9.7 Name caches 9.7.1 Characteristics of name service activities 9.7.2 Issues in name cache design 9.8 Naming and security 9.9 Case study: Domain Name Service 9.10 Summary 10: Security in Distributed Systems 10.1 Introduction 10.1.1 Potential Attacks to Computer Systems 10.1.2 Cryptography 10.2 Secure channels 10.2.1 Authentication 10.2.2 Message Integrity and Confidentiality 10.2.3 Secure Group Communications 10.3 Access control 10.3.1 General Issues 10.3.2 Firewalls 10.3.3 Secure mobile code 10.4 Security management 10.4.1 Key management 10.4.2 Secure Group Management 10.4.3 Authorization management 10.5 Case Study 10.5.1 Kerberos 10.5.2 Epayment 10.6 Summary 11: Real Time Distributed Operating Systems 11.1 Introduction 11.1.1 Types of stimuli 11.1.2 Classification of Real time systems 11.2 Design issues in RTS 11.3 Real time communication 11.3.1 Real time communication in LANs 11.3.2 Real time communication in WANs 11.4 Real time scheduling 11.4.1 Algorithms for real time scheduling 11.4.2 Dynamic scheduling 11.4.3 Static scheduling 11.5 Case Study: Real Time communication in MARS 11.6 Summary 12: Distributed Databases* 12.1 Introduction 12.1.1 Concepts 12.1.2 Advantages and disadvantages of DDBMS 12.1.3 Types of distributed databases 12.2. Distributed DBMS Architectures 12.2.1 Client-server systems 12.2.2 Collaborating server systems 12.2.3 Middleware systems 12.3 Data Storage in a Distributed DBMS 12.3.1 Fragmentation 12.3.2 Replication 12.4 Distributed Catalog Management 12.4.1 Naming Objects 12.4.2 Catalog structure 12.4.3 Distributed Data Independence 12.5 Distributed Query Processing 12.5.1 Non join queries in a DDBMS 12.5.2 Joins in a DDBMS 12.5.3 Cost-based Query Optimization 12.5.4 Updating distributed data 12.6 Distributed Transactions 12.7 Distributed Concurrency Control 12.7.1 Objectives 12.7.2 Distributed Serializability 12.7.3 Locking protocols 12.7.4 Timestamp protocols 12.7.5 Distributed Deadlock management 12.8 Distributed Database Recovery 12.8.1 Failures in Distributed environment 12.8.2 How failures affect recovery 12.8.3 Two phase commit (2PC) 12.8.4 Three phase commit (3PC) 12.8.5 Network partitioning 12.9 Case Study: Distribution and Replication in Oracle 12.9.1 Oracle's distributed functionality 12.9.2 Oracle's replication functionality 12.10 Summary 13: Emerging Trends in Distributed Computing 13.1 Introduction to emerging trends 13.2 Grid Computing 13.2.1 Introduction to grid computing 13.2.2 How Grid computing works 13.2.3 Grid middleware 13.2.4 Grid architecture 13.2.5 Types of grids 13.2.6 Grid computing applications 13.2.7 Grid Computing Case studies 13.3 SOA 13.3.1 Basic SOA definitions 13.3.2 What is SOA? 13.3.3 SOA and Web services 13.3.4 Service Oriented Grid 13.3.5 SOA design and development 13.3.6 Advantages of SOA 13.4 Cloud Computing 13.4.1 What is cloud computing? 13.4.2 Features of cloud computing 13.4.3 Cloud computing architecture 13.4.4 Cloud computing landscape 13.5 Future of emerging trends 13.6 Summary

Sunita Mahajan is currently the Principal of the Institute of Computer Science, MET League of Colleges, Mumbai. A PhD from BARC, SNDT University in Mumbai, she has keen interest in Parallel processing, Operating systems, Distributed Systems, OOT, Data mining and several related areas of study. She has published a number of research papers in national and international journals of repute. She is a member of many committees and professional bodies like the Computer Society of India and Indian Women Scientists Asociation. Seema Shah is currently a senior faculty at Patni Computer Systems, Mumbai. She has around 20 years of academic experience teaching Distributed Computing, Operating Systems, Computer Organization etc. She has also presented research papers in several national and international conferences.

My Shopping Basket
Your cart does not contain any items.