OUR STORE IS CLOSED ON ANZAC DAY: THURSDAY 25 APRIL

Close Notification

Your cart does not contain any items

Distributed Computing

Mahajan Shah

$36.95

Paperback

Not in-store but you can order this
How long will it take?

QTY:

English
OUP India
13 June 2010
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 .NET.

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:   ,
Imprint:   OUP India
Dimensions:   Height: 243mm,  Width: 187mm,  Spine: 26mm
Weight:   832g
ISBN:   9780198061861
ISBN 10:   0198061862
Pages:   616
Publication Date:  
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.

See Also