Distributed Network Systems: from concepts to implementations
Gespeichert in:
Format: | Elektronisch E-Book |
---|---|
Sprache: | English |
Veröffentlicht: |
New York [u.a.]
Springer
2005
|
Schriftenreihe: | Network Theory and Applications
15 |
Schlagworte: | |
Online-Zugang: | Volltext Inhaltsverzeichnis |
Beschreibung: | 1 Online-Ressource |
ISBN: | 9780387238395 9780387238401 |
DOI: | 10.1007/b102545 |
Internformat
MARC
LEADER | 00000nmm a2200000 cb4500 | ||
---|---|---|---|
001 | BV022356663 | ||
003 | DE-604 | ||
005 | 20070321 | ||
007 | cr|uuu---uuuuu | ||
008 | 070320s2005 |||| o||u| ||||||eng d | ||
020 | |a 9780387238395 |9 978-0-387-23839-5 | ||
020 | |a 9780387238401 |c Online |9 978-0-387-23840-1 | ||
024 | 7 | |a 10.1007/b102545 |2 doi | |
035 | |a (OCoLC)59717656 | ||
035 | |a (DE-599)BVBBV022356663 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-473 |a DE-739 |a DE-706 | ||
050 | 0 | |a TK5105.5 | |
082 | 0 | |a 004.6 |2 22 | |
084 | |a ST 200 |0 (DE-625)143611: |2 rvk | ||
245 | 1 | 0 | |a Distributed Network Systems |b from concepts to implementations |c Weijia Jia and Wanlei Zhou |
264 | 1 | |a New York [u.a.] |b Springer |c 2005 | |
300 | |a 1 Online-Ressource | ||
336 | |b txt |2 rdacontent | ||
337 | |b c |2 rdamedia | ||
338 | |b cr |2 rdacarrier | ||
490 | 1 | |a Network Theory and Applications |v 15 | |
650 | 4 | |a Réseaux d'ordinateurs | |
650 | 4 | |a Traitement réparti | |
650 | 4 | |a Datenverarbeitung | |
650 | 4 | |a Computer networks | |
650 | 4 | |a Electronic data processing |x Distributed processing | |
650 | 0 | 7 | |a Rechnernetz |0 (DE-588)4070085-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Datenübertragung |0 (DE-588)4011150-7 |2 gnd |9 rswk-swf |
655 | 7 | |0 (DE-588)4123623-3 |a Lehrbuch |2 gnd-content | |
689 | 0 | 0 | |a Rechnernetz |0 (DE-588)4070085-9 |D s |
689 | 0 | 1 | |a Datenübertragung |0 (DE-588)4011150-7 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Jia, Weijia |e Sonstige |4 oth | |
700 | 1 | |a Zhou, Wanlei |e Sonstige |4 oth | |
830 | 0 | |a Network Theory and Applications |v 15 |w (DE-604)BV014100569 |9 15 | |
856 | 4 | 0 | |u https://doi.org/10.1007/b102545 |x Verlag |3 Volltext |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015566068&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-015566068 |
Datensatz im Suchindex
_version_ | 1804136403458588672 |
---|---|
adam_text | Contents
Preface xvi
Acknowledgements xx
Biography of Authors xxi
Table of Figures xxii
Chapter 1 Overview of Distributed Network Systems 1
1.1 Distributed Systems 1
1.2 Computer Networks 2
1.2.1 Network History 2
1.2.2 Network Architecture 3
1.2.3 Network Fault Tolerance 4
1.3 Protocols and QoS 5
1.4 Software for Distributed Computing 6
1.4.1 Traditional Client Server Model 6
1.4.2 Web Based Distributed Computing Models 7
1.4.3 Web based Client Server Computing 9
1.5 The Agent Based Computing Models 10
1.6 Summary 12
Exercises 13
Chapter 2 Modelling for Distributed Network Systems: The
Client Server Model 15
2.1 Issues Leading to the Client Server Model 15
2.2 The Client Server Model in a Distributed Computing System 16
2.2.1 Basic Concepts 16
2.2.2 Features and Problems of the Client Server Model 17
2.3 Cooperation between Clients and Servers 18
2.3.1 Cooperation Type and Chained Server 18
2.3.2 Multiple Servers 19
2.4 Extensions to the Client Server Model 20
2.4.1 Agents and Indirect Client Server Cooperation 20
2.4.2 The Three Tier Client Server Architecture 22
2.5 Service Discovery 24
2.5.1 Hardwiring Computer Address 25
2.5.2 Broadcast Approach 25
2.5.3 Name Server Approach 26
2.5.4 Broker Based Location Lookup 27
2.6 Client Server Interoperability 28
2.7 The Relationship 29
2.8 Summary 30
vi
Exercises 30
Chapter 3 Communication Paradigms for Distributed
Network Systems 33
3.1 Introduction 33
3.2 Message Passing Communication 34
3.2.1 What is a Message? 34
3.2.2 Message Passing Mechanisms 36
3.2.2.1 Basic Message Passing Primitives 36
3.2.2.2 Direct and Indirect Communication Ports 37
3.2.2.3 Blocking versus Non blocking Primitives 38
3.2.2.4 Buffered versus Unbuffered Message Passing Primitives 40
3.2.2.5 Unreliable versus Reliable Primitives 42
3.2.3 Structured Forms of Message Passing Based Communication 44
3.3 Remote Procedure Calls 44
3.3.1 Executing Remote Procedure Calls 44
3.3.2 Basic Features and Properties 46
3.3.3 Parameters and Results in RPCs 47
3.3.3.1 Representation of Parameters and Results 47
3.3.3.2 Marshalling Parameters and Results 48
3.3.4 Client Server Binding 48
3.4 Message Passing versus Remote Procedure Calls 50
3.5 Group Communication 51
3.5.1 Basic Concepts 51
3.5.1.1 Group Structures 52
3.5.1.2 Behaviour Classification of Process Groups 53
3.5.1.3 Closed and Open Groups 53
3.5.2 Group Membership Discovery and Operations 53
3.6 Distributed Shared Memory 55
3.6.1 What is a Distributed Shared Memory (DSM) System? 55
3.6.2 Design and Implementation Issues 57
3.6.2.1 Structure 57
3.6.2.2 Synchronization Model 58
3.6.2.3 Consistency 58
3.6.2.4 Update Options 58
3.6.2.5 Granularity 59
3.6.2.6 Thrashing 60
3.6.3 Consistency Models 60
3.6.3.1 Sequential Consistency Model 60
3.6.3.2 Weak Consistency Model 61
3.6.3.3 Release Consistency Model 61
3.6.3.4 Discussion 62
3.7 Summary 63
Exercises 64
Chapter 4 Internetworking 65
4.1 Communication Protocol Architectures 65
4.1.1 The OSI Protocol Architecture 65
4.1.2 Internet Architecture 68
vii
4.2 TCP/IP Protocol Suite 69
4.2.1 Communication Protocols 70
4.2.2 Network Layer Protocol: IP 71
4.2.2.1 IP Address 71
4.2.2.2 Domain Name System 73
4.2.3 Transport Layer Protocol: TCP and UDP 73
4.3 The Next Generation Internet Protocol: IPv6 75
4.3.1 Why IPv6? 75
4.3.2 IPv6 Features 76
4.4 Summary 77
Exercises 77
Chapter 5 Interprocess Communication using Message
Passing 79
5.1 Developing Distributed Applications Using Message Passing 79
5.1.1 Communication Services in Message Passing 79
5.1.1.1 Connection Oriented and Connectionless Communications 79
5.1.1.2 Reliable Communication 80
5.1.2 A Generic Framework for Distributed Applications 81
5.2 Sockets 81
5.2.1 Socket Abstraction 82
5.2.2 BSD Internet Domain Sockets 83
5.2.2.1 Socket Model 83
5.2.2.2 Internet Domain Socket Naming 84
5.2.2.3 Socket Types 85
5.3 Basic Socket System Calls 86
5.3.1 Some Special Functions 87
5.3.2 Socket Creation 90
5.3.3 Name Binding 90
5.3.4 Connection Establishment 91
5.3.5 Transfer Data and Discard Sockets 92
5.4 Examples in C 94
5.4.1 Using Stream Sockets: A Simple Example 94
5.4.2 Using Datagram Sockets: A Simple Example 98
5.5 Summary 102
Exercises 102
Chapter 6 TCP/UDP Communication in Java 105
6.1 Java Sockets 105
6.1.1 Java Net Package 105
6.1.2 The Socket Class 106
6.1.3 The ServerSocket Class 107
6.2 Building TCP Clients and Servers 109
6.2.1 Essential Components of Communication 109
6.2.2 Implementing a TCP Client Program 109
6.2.3 Implementing a TCP Server Program 111
6.3 Examples in Java 112
6.3.1 Exchange of Multiple Messages 112
6.3.2 Executing the Programs on Internet Hosts 115
viii
6.3.3 Supporting Multiple Clients 118
6.4 A More Complex Example A Java Messaging Program using TCP 119
6.4.1 The Design 120
6.4.2 The Implementation 121
6.4.3 The Programs 122
6.5 Datagram Communications in Java 127
6.5.1 Why Datagram Communication ? 127
6.5.2 Java Datagram based Classes 128
6.6 Building UDP Servers and Clients 130
6.6.1 Sending and Receiving UDP Datagrams 130
6.6.2 Datagram Server 131
6.6.3 Datagram Client 132
6.7 Summary 133
Exercises 133
Chapter 7 Interprocess Communication using RPC 135
7.1 Distributed Computing Environment (DCE) 135
7.1.1 The Architecture of DCE 135
7.1.2 The Role of RPC 137
7.1.3 The DCE Services 139
7.1.3.1 Directory Services 140
7.1.3.2 Security Services 141
7.1.3.3 Time Services 142
7.1.3.4 Distributed File Services 143
7.2TheDCE/RPC 145
7.2.1 DCE/RPC Facility 146
7.2.1.1 DCE Application Development 146
7.2.1.2 Location Broker 147
7.2.1.3 RPC Handle 147
1.2.1.4 Concurrent Programming Support 148
7.2.2 Related Tools 149
7.2.3 Exception Handling 150
7.3 SUN/RPC 151
7.3.1 Interface Definition Language 151
7.3.2 Security Services 153
7.3.3 Some Issues 154
7.3.3.1 Call Semantics 154
7.3.3.2 Exception Handling 154
7.3.3.3 Client Server Binding 154
7.3.4 Critiques of Sun RPC 155
7.4 The Simple RPC 155
7.4.1 An Introduction of SRPC 155
7.4.2 Installation 157
7.4.3 The SRPC System Architecture 157
7.4.3.1 The System Library 157
7.4.3.2 The Location Server 158
7.4.4 The Stub and Driver Generator 159
7.4.4.1 Syntax 159
7.4.4.2 Semantics 160
ix
9.2.1 Redundancy 218
9.2.2 Fault Avoidance Techniques 220
9.2.3 Fault Detection Techniques 220
9.2.4 Fault Tolerance Techniques 221
9.3 Software Fault Tolerance 224
9.3.1 Techniques for Software Fault tolerance 225
9.4 Reliability Modelling 227
9.4.1 Combinatorial Models 227
9.4.2 Markov Models 230
9.4.3 Fault Coverage and Its Impact on Reliability 231
9.4.4 M of N Systems 232
9.5 Fault Tolerant Distributed Algorithms 233
9.5.1 Distributed Mutual Exclusion 233
9.5.2 Election Algorithms 236
9.5.3 Deadlock Detection and Prevention 236
9.5.3.1 Distributed Deadlock Detection 237
9.5.3.2 Distributed Deadlock Prevention 239
9.6 Replication and Reliability 240
9.7 Replication Schemes 242
9.7.1 Case Study 1: The Primary Backup Scheme 243
9.7.2 Case Study 2: The Active Replication Scheme 245
9.7.3 Case Study 3: Two Particular Replication Schemes 247
9.8 The Primary Peer Replication Scheme 249
9.8.1 Description of the Scheme 249
9.8.2 Replication Transparency 251
9.9 Replication Consistency 251
9.10 Summary 253
Exercises 253
Chapter 10 Security 255
10.1 Secure Networks 255
10.1.1 What is a Secure Network? 255
10.1.2 Integrity Mechanisms and Access Control 256
10.2 Data Encryption 256
10.2.1 Encryption Principles 256
10.2.2 Basic Encryption Techniques 259
10.2.2.1 Code Shifting 259
10.2.2.2 Code Mappings 260
10.2.2.3 Key Application 260
10.2.2.4 Bit Shifting 261
10.3 Cracking the Code 261
10.3.1 Cracking Organizations 261
10.3.2 Cracking Methods 262
10.4 Security Mechanisms on the Internet 263
10.4.1 Digital Signatures 263
10.4.2 Packet Filtering 264
10.4.3 Internet Firewall 264
10.5 Distributed Denial of Service Attacks 265
10.5.1 Launching a DDoS Attack 265
X
7.4.5 Implementation 161
7.4.6 An Application Example 162
7.5 Remote Method Invocation (RMI) 163
7.5.1 RMI Architecture 163
7.5.2 RMI Implementation 164
7.5.3 Interfaces and Classes 167
7.6 An Interesting RMI Application 167
7.7 Summary 172
Exercises 173
Chapter 8 Group Communications 175
8.1 Introduction 175
8.2 Features of Group Communication 176
8.2.1 Message Delivery Semantics 177
8.2.2 Message Response Semantics 177
8.2.3 Message Ordering in Group Communication 178
8.3 Reliable Multicast Protocol 180
8.3.1 Reliable Multicast System 180
8.3.2 Design Issues 181
8.4 Multicast Approaches 182
8.4.1 Centralized Approach 182
8.4.2 Symmetrical Approach (Decentralized) 185
8.4.3 Two phase Approach 185
8.5 Multicast in Java 186
8.6 Total Ordered Multicast Protocol based on a Logical Ring 190
8.6.1 Achieving Total Ordering 190
8.6.2 Atomic Message Delivery 192
8.6.3 Membership 194
8.6.3.1 Membership Construction 194
8.6.3.2 Dynamic Membership 195
8.6.4 Fault Tolerance 196
8.6.4.1 Single Member Failure 196
8.6.4.2 Multiple Failures 198
8.6.4.3 Network Partitioning 198
8.6.5 Efficiency 199
8.7 Implementation Issues 200
8.7.1 System Structure and Communication Assumptions 201
8.7.2 State Machine Approach for Implementing RMP 202
8.7.3 Message Packet and Control Information 203
8.7.4 Ordering Protocol 205
8.7.5 Membership Protocol 207
8.8 Summary 209
Exercises 209
Chapter 9 Reliability and Replication Techniques 213
9.1 Basic Concepts 213
9.1.1 Fault Tolerance 213
9.1.2 Reliability and Availability 216
9.1.3 Failure Classification 217
9.2 Techniques to Achieve Reliability 218
ix
7.4.5 Implementation 161
7.4.6 An Application Example 162
7.5 Remote Method Invocation (RMI) 163
7.5.1 RMI Architecture 163
7.5.2 RMI Implementation 164
7.5.3 Interfaces and Classes 167
7.6 An Interesting RMI Application 167
7.7 Summary 172
Exercises 173
Chapter 8 Group Communications 175
8.1 Introduction 175
8.2 Features of Group Communication 176
8.2.1 Message Delivery Semantics 177
8.2.2 Message Response Semantics 177
8.2.3 Message Ordering in Group Communication 178
8.3 Reliable Multicast Protocol 180
8.3.1 Reliable Multicast System 180
8.3.2 Design Issues 181
8.4 Multicast Approaches 182
8.4.1 Centralized Approach 182
8.4.2 Symmetrical Approach (Decentralized) 185
8.4.3 Two phase Approach 185
8.5 Multicast in Java 186
8.6 Total Ordered Multicast Protocol based on aLogical Ring 190
8.6.1 Achieving Total Ordering 190
8.6.2 Atomic Message Delivery 192
8.6.3 Membership 194
8.6.3.1 Membership Construction 194
8.6.3.2 Dynamic Membership 195
8.6.4 Fault Tolerance 196
8.6.4.1 Single Member Failure 196
8.6.4.2 Multiple Failures 198
8.6.4.3 Network Partitioning 198
8.6.5 Efficiency 199
8.7 Implementation Issues 200
8.7.1 System Structure and Communication Assumptions 201
8.7.2 State Machine Approach for Implementing RMP 202
8.7.3 Message Packet and Control Information 203
8.7.4 Ordering Protocol 205
8.7.5 Membership Protocol 207
8.8 Summary 209
Exercises 209
Chapter 9 Reliability and Replication Techniques 213
9.1 Basic Concepts 213
9.1.1 Fault Tolerance 213
9.1.2 Reliability and Availability 216
9.1.3 Failure Classification 217
9.2 Techniques to Achieve Reliability 218
X
9.2.1 Redundancy 218
9.2.2 Fault Avoidance Techniques 220
9.2.3 Fault Detection Techniques 220
9.2.4 Fault Tolerance Techniques 221
9.3 Software Fault Tolerance 224
9.3.1 Techniques for Software Fault tolerance 225
9.4 Reliability Modelling 227
9.4.1 Combinatorial Models 227
9.4.2 Markov Models 230
9.4.3 Fault Coverage and Its Impact on Reliability 231
9.4.4 M of N Systems 232
9.5 Fault Tolerant Distributed Algorithms 233
9.5.1 Distributed Mutual Exclusion 233
9.5.2 Election Algorithms 236
9.5.3 Deadlock Detection and Prevention 236
9.5.3.1 Distributed Deadlock Detection 237
9.5.3.2 Distributed Deadlock Prevention 239
9.6 Replication and Reliability 240
9.7 Replication Schemes 242
9.7.1 Case Study 1: The Primary Backup Scheme 243
9.7.2 Case Study 2: The Active Replication Scheme 245
9.7.3 Case Study 3: Two Particular Replication Schemes 247
9.8 The Primary Peer Replication Scheme 249
9.8.1 Description of the Scheme 249
9.8.2 Replication Transparency 251
9.9 Replication Consistency 251
9.10 Summary 253
Exercises 253
Chapter 10 Security 255
10.1 Secure Networks 255
10.1.1 What is a Secure Network? 255
10.1.2 Integrity Mechanisms and Access Control 256
10.2 Data Encryption 256
10.2.1 Encryption Principles 256
10.2.2 Basic Encryption Techniques 259
10.2.2.1 Code Shifting 259
10.2.2.2 Code Mappings 260
10.2.2.3 Key Application 260
10.2.2.4 Bit Shifting 261
1 0.3 Cracking the Code 261
10.3.1 Cracking Organizations 261
10.3.2 Cracking Methods 262
1 0.4 Security Mechanisms on the Internet 263
10.4.1 Digital Signatures 263
10.4.2 Packet Filtering 264
10.4.3 Internet Firewall 264
1 0.5 Distributed Denial of Service Attacks 265
10.5.1 Launching a DDoS Attack 265
xiii
13.3 Agent Advertisement and Solicitation 378
13.3.1 Foreign Agent and Home Agent 381
13.3.2 Mobile Node Considerations 382
13.3.3 Move Detection 383
13.3.4 Returning Home 384
13.4 Registration 384
13.4.1 Registration Overview 384
13.4.2 Responses to Registration Request and Authentication 386
13.4.3 Registration Related Message Format 387
13.4.3.1 Registration Request 387
13.4.3.2 Registration Reply 388
13.5 Mobile Routing (Tunnelling) 390
13.5.1 Packet Routing when Mobile Node is at Home 391
13.5.2 Packet Routing when Mobile Node is on a Foreign Link 391
13.5.2.1 Unicast Datagram Routing 391
13.5.2.2 Multicast Datagram Packets Routing 394
13.5.3 Mobile Routers and Networks 394
13.6 Case Study: Mobile Multicast using Anycasdng 396
13.6.1 Problems with Mobile IP 396
13.6.2 Mobile Multicast Protocol (MMP) 398
13.6.3 Performance 402
13.6.3.1 Analysis 402
13.6.3.2 Simulation Model 403
13.6.3.3 Simulation Results 404
13.7 Summary 405
Exercises 405
Chapter 14 Distributed Network Systems: Case Studies ..407
14.1 Distributed File Systems 407
14.1.1 What is a Distributed File System 407
14.1.2 A Distributed File System Example NFS 408
14.1.3 Processing User Calls 409
14.1.4 Exporting Files 410
14.1.5 The Role of RPC 411
14.1.6 Remarks 412
14.2 Network Operating Systems: Unix/Linux 412
14.2.1 UNIX System Concepts 412
14.2.1.1 The File System 412
14.2.1.2 Process Management 413
14.2.1.3 The Shell 413
14.2.2 The UNIX Processes 414
14.2.2.1 Process Address Spaces 414
14.2.2.2 Process Management System Calls 414
14.2.2.3 Process Context and Context Switching 415
14.2.3 Linux as a UNIX Platform 416
14.2.4 Linux Networking 417
14.2.4.1 TCP/IP 417
14.2.4.2 PPP and SLIP 418
14.2.4.3 File Sharing with NFS 418
xiv
14.2.4.4 UUCP 418
14.2.5 Software Development in Linux 419
14.3 CORBA 419
14.3.1 What is CORBA? 419
14.3.2 The CORBA Architecture 420
14.3.3 Interface Definition Language (IDL) 424
14.3.4 An Example of CORBA for Java 425
14.4 DCOM 427
14.4.1 COM and DCOM 427
14.4.2 DCOM Facilities and Services 428
14.4.2.1 Location Transparency 428
14.4.2.2 Dynamic and Remote Object Activation 429
14.4.2.3 Security 429
14.4.2.4 Interfaces 430
14.4.2.5 Binary Interoperability 431
14.4.3 Applying DCOM 432
14.5 Summary 432
Exercises 432
Chapter 15 Distributed Network Systems: Current
Development 435
15.1 Cluster Computing 435
15.1.1 Cluster Operating Systems 436
15.1.2 Reliable Server Clusters 439
15.2 Grid Computing 440
15.2.1 What is Grid Computing? 440
15.2.2 Background to the Grid 441
15.2.3 Grid Architectures and Infrastructures 444
15.2.3.1 Grid Architectures 444
15.2.3.2 Grid Components 444
15.2.4 Layered Grid Architecture: The Globus Architecture 447
15.2.5 Virtual Machine Environment: The Legion Architecture 449
15.2.6 Cycle Scavenging Schemes: The Condor System 452
15.2.7 Data Grids 453
15.2.7.1 Kangaroo 454
15.2.7.2 Legion 454
15.2.7.3 Storage Resource Broker 455
15.2.7.4 Globus Data Grid Tools 455
15.2.8 Research Issues and Challenges for Grids 457
15.2.8.1 Software Engineering Problems 457
15.2.8.2 Load Balancing and Scheduling 458
15.2.8.3 Autonomic Computing 459
15.2.8.4 Replication 459
15.3 Peer to Peer (P2P) Computing 461
15.3.1 What is Peer to Peer Computing? 461
15.3.2 Possible Application Areas forP2P Systems 462
15.3.3 Some Existing P2P Projects 462
15.3.4 P2P File Sharing and its Legal implications 464
15.3.4.1 P2P File Sharing Systems 464
XV
15.3.4.2 Legal implications for P2P File Sharing 465
15.3.5 Some Challenges for P2P Computing 466
15.4 Pervasive Computing 466
15.4.1 Pervasive Computing Characteristics 466
15.4.2 Elite Care: An Application Using Pervasive Computing 468
15.4.3 The Challenges for Pervasive Computing 469
15.5 Summary 470
Exercises 470
References 472
Index 509
Table of Figures
Figure 2.1. The basic client server model 17
Figure 2.2. Printing service (a service example) 18
Figure 2.3. Indirect client server cooperation 21
Figure 2.4. Examples of three tier configurations 22
Figure 2.5. An example implementation of the three tier architecture 23
Figure 2.6. Service discovery ~ broadcast approach 26
Figure 2.7. Service discovery — name server and server location lookup 27
Figure 2.8. A distributed computing system architecture 29
Figure 3.l.CORBACDR message 35
Figure 3.2. Time diagram of the execution of message passing primitives 36
Figure 3.3. Send primitives: (a) blocking; (b) non blocking 39
Figure 3.4. Blocked send primitive 39
Figure 3.5. Unbuffered and buffered message passing 41
Figure 3.6. Message passing; (a) unreliable; (b) reliable 42
Figure 3.7. Message passing semantics, (a) at least once; (b) exactly once 43
Figure 3.8. An RPC example: a read call 46
Figure 3.9. Group structures 52
Figure 4.1. The layered protocol model 66
Figure 4.2. The OSI reference model 66
Figure 4.3. Comparison of Internet and OSI architectures 68
Figure 4.4. The Layered TCP/IP protocol suite 70
Figure 5.1. The distributed application model 82
Figure 5.2. BSD interprocess sockets 83
Figure 5.3. File and socket descriptors 83
Figure 5.4. Socket model 84
Figure 7.1. DCE architecture 136
Figure 7.2. Build a DEC Application 138
Figure 7.3. Using threads in a client server application 139
Figure 7.4. The CDS directory hierarchy 140
Figure 7.5. Components of the DCE directory service 141
Figure 7.6. Time synchronisation using intervals 143
Figure 7.7. Time synchronisation within a multi LAN cell 144
Figure 7.8. Interactions between DFS components 145
Figure 7.9. The RMI architecture 164
Figure 8.1. Causal ordering rule (Group G=(S1, S2, S3}) 179
Figure 8.2. Causal ordering and total ordering 180
Figure 8.3. Reliable multicast system architecture 180
Figure 8.4. A group comprises of n+1 sites 183
Figure 8.5. Groups 184
Figure 8.6. A group of n members form a logical token ring 184
Figure 8.7. Logical token ring structure and normal operations 191
Figure 8.8. Message transmission example 192
Figure 8.9. Dynamic membership 196
Figure 8.10. System structure 201
Figure 8.11. RMP hierarchy structure 203
Figure 8.12. Packet for logical ring 204
xxvi
Figure 8.13. Ordered multicast 206
Figure 8.14. Steps taken for RMP to multicast an ordered message 207
Figure 9.1. A system 214
Figure 9.2. Fault, error, and failure 214
Figure 9.3. The bathtub curve 215
Figure 9.4. Relationships between MTBF, MTTF, and MTTR 218
Figure 9.5. Reconfigurable duplication architecture 222
Figure 9.6. Reliability block diagram of a series system 227
Figure 9.7. The example reliability block diagram 228
Figure 9.8. Reliability block diagram of the parallel system 228
Figure 9.9. Example reliability block diagram 229
Figure 9.10. Reduced reliability block diagram 229
Figure 9.11. State diagram of a TRM system 230
Figure 9.12. Reduced state diagram of a TMR system 231
Figure 9.13. Reliability block diagram of a simple parallel system 231
Figure 9.14. Impact of the fault coverage 232
Figure 9.15. Reliability comparison of TMR and a single module 233
Figure 9.16. Deadlock 237
Figure 9.17. False deadlock 238
Figure 9.18. Distributed deadlock detection 238
Figure 9.19. The Primary Backup Replication Scheme 243
Figure 9.20. Hot replication implementations 244
Figure 9.21. The active replication scheme 245
Figure 9.22. The scenario of requests arriving in different orders 247
Figure 9.23. The Primary Peer Replication Scheme 250
Figure 10.1. Single (private) key encryption 256
Figure 10.2. Key distribution server 258
Figure 10.3. Public key encryption 258
Figure 10.4. Packet filter in a router 264
Figure 10.5. Internet firewall 264
Figure 10.6. A hierarchical model of a DDoS attack 266
Figure 10.7. Key methods used before making an effective DDoS attack 270
Figure 10.8. Active defense cycle 282
Figure 11.1. The generic reactive system architecture 296
Figure 11.2. A DMM agent 298
Figure 11.3. Sensors and actuators 301
Figure 11.4. Tunnelling multicast packets between subnets 306
Figure 11.5. The generic sensor architecture 307
Figure 11.6. A distributed replication system 312
Figure 11.7. Replication manager and database server 313
Figure 11.8. Using polling sensors 316
Figure 11.9. Using event sensors 316
Figure 11.10. Using embedded DMMs 317
Figure 11.11. Using polling sensors for network partitioning 318
Figure 11.12. Using event sensors for partition tolerant applications 319
Figure 12.1. Two tier architecture of WBDB 329
Figure 12.2. Three tier architecture of WBDB 330
Figure 12.3. Hybrid architecture of WBDB (agent based) 331
xxvii
Figure 12.4. Generation 1 framework (CGI based) of WBDB 333
Figure 12.5. Generation 2 framework (Client and Server side JavaScript) of WBDB
334
Figure 12.6. Generation 3 (JDBC based) framework of WBDB 335
Figure 12.7. Servlet based framework of WBDB 337
Figure 12.8. XML based two tier framework of WBDB 337
Figure 12.9. Mobile agent involved framework of WBDB 339
Figure 12.10. Intelligent interactive framework of WBDB 345
Figure 13.1. Example of Mobile applications 369
Figure 13.2. IP Tunneling 373
Figure 13.3. Operation of Mobile Node under Mobile IP 377
Figure 13.4. Operation of Mobile IP on care of address 377
Figure 13.5. Operation of Mobile IP on collocated care of address 378
Figure 13.6. ICMP Router Advertisement and Mobility Agent Advertisement
Extension Message 379
Figure 13.7. ICMP Router Solicitation Message 379
Figure 13.8. The mobility agents (either home or foreign) multicast Agent
Advertisement 385
Figure 13.9. The message format of Registration Request and Mobile Foreign
Authentication Extension 387
Figure 13.10. The message format of Registration Reply 389
Figure 13.11. Bi directional Tunneled Multicast Method 397
Figure 13.12. MMP topology and Mobile Connections 398
Figure 13.13. Network Topology of the Simulation 403
Figure 13.14. Message delivery delays 404
Figure 13.15. Number of delivered messages 405
Figure 14.1. A distributed file system structure 408
Figure 14.2. NFS structure 409
Figure 14.3. OMA Reference Architecture 420
Figure 14.4. CORBA client and server 421
Figure 14.5. CORBA architecture 422
Figure 14.6. Interface inheritance and implementation inheritance 425
Figure 14.7. Distributed COM is built on top of DCE RPC 428
Figure 14.8. DCOM security 430
Figure 14.9. DCOM binary specification 431
|
adam_txt |
Contents
Preface xvi
Acknowledgements xx
Biography of Authors xxi
Table of Figures xxii
Chapter 1 Overview of Distributed Network Systems 1
1.1 Distributed Systems 1
1.2 Computer Networks 2
1.2.1 Network History 2
1.2.2 Network Architecture 3
1.2.3 Network Fault Tolerance 4
1.3 Protocols and QoS 5
1.4 Software for Distributed Computing 6
1.4.1 Traditional Client Server Model 6
1.4.2 Web Based Distributed Computing Models 7
1.4.3 Web based Client Server Computing 9
1.5 The Agent Based Computing Models 10
1.6 Summary 12
Exercises 13
Chapter 2 Modelling for Distributed Network Systems: The
Client Server Model 15
2.1 Issues Leading to the Client Server Model 15
2.2 The Client Server Model in a Distributed Computing System 16
2.2.1 Basic Concepts 16
2.2.2 Features and Problems of the Client Server Model 17
2.3 Cooperation between Clients and Servers 18
2.3.1 Cooperation Type and Chained Server 18
2.3.2 Multiple Servers 19
2.4 Extensions to the Client Server Model 20
2.4.1 Agents and Indirect Client Server Cooperation 20
2.4.2 The Three Tier Client Server Architecture 22
2.5 Service Discovery 24
2.5.1 Hardwiring Computer Address 25
2.5.2 Broadcast Approach 25
2.5.3 Name Server Approach 26
2.5.4 Broker Based Location Lookup 27
2.6 Client Server Interoperability 28
2.7 The Relationship 29
2.8 Summary 30
vi
Exercises 30
Chapter 3 Communication Paradigms for Distributed
Network Systems 33
3.1 Introduction 33
3.2 Message Passing Communication 34
3.2.1 What is a Message? 34
3.2.2 Message Passing Mechanisms 36
3.2.2.1 Basic Message Passing Primitives 36
3.2.2.2 Direct and Indirect Communication Ports 37
3.2.2.3 Blocking versus Non blocking Primitives 38
3.2.2.4 Buffered versus Unbuffered Message Passing Primitives 40
3.2.2.5 Unreliable versus Reliable Primitives 42
3.2.3 Structured Forms of Message Passing Based Communication 44
3.3 Remote Procedure Calls 44
3.3.1 Executing Remote Procedure Calls 44
3.3.2 Basic Features and Properties 46
3.3.3 Parameters and Results in RPCs 47
3.3.3.1 Representation of Parameters and Results 47
3.3.3.2 Marshalling Parameters and Results 48
3.3.4 Client Server Binding 48
3.4 Message Passing versus Remote Procedure Calls 50
3.5 Group Communication 51
3.5.1 Basic Concepts 51
3.5.1.1 Group Structures 52
3.5.1.2 Behaviour Classification of Process Groups 53
3.5.1.3 Closed and Open Groups 53
3.5.2 Group Membership Discovery and Operations 53
3.6 Distributed Shared Memory 55
3.6.1 What is a Distributed Shared Memory (DSM) System? 55
3.6.2 Design and Implementation Issues 57
3.6.2.1 Structure 57
3.6.2.2 Synchronization Model 58
3.6.2.3 Consistency 58
3.6.2.4 Update Options 58
3.6.2.5 Granularity 59
3.6.2.6 Thrashing 60
3.6.3 Consistency Models 60
3.6.3.1 Sequential Consistency Model 60
3.6.3.2 Weak Consistency Model 61
3.6.3.3 Release Consistency Model 61
3.6.3.4 Discussion 62
3.7 Summary 63
Exercises 64
Chapter 4 Internetworking 65
4.1 Communication Protocol Architectures 65
4.1.1 The OSI Protocol Architecture 65
4.1.2 Internet Architecture 68
vii
4.2 TCP/IP Protocol Suite 69
4.2.1 Communication Protocols 70
4.2.2 Network Layer Protocol: IP 71
4.2.2.1 IP Address 71
4.2.2.2 Domain Name System 73
4.2.3 Transport Layer Protocol: TCP and UDP 73
4.3 The Next Generation Internet Protocol: IPv6 75
4.3.1 Why IPv6? 75
4.3.2 IPv6 Features 76
4.4 Summary 77
Exercises 77
Chapter 5 Interprocess Communication using Message
Passing 79
5.1 Developing Distributed Applications Using Message Passing 79
5.1.1 Communication Services in Message Passing 79
5.1.1.1 Connection Oriented and Connectionless Communications 79
5.1.1.2 Reliable Communication 80
5.1.2 A Generic Framework for Distributed Applications 81
5.2 Sockets 81
5.2.1 Socket Abstraction 82
5.2.2 BSD Internet Domain Sockets 83
5.2.2.1 Socket Model 83
5.2.2.2 Internet Domain Socket Naming 84
5.2.2.3 Socket Types 85
5.3 Basic Socket System Calls 86
5.3.1 Some Special Functions 87
5.3.2 Socket Creation 90
5.3.3 Name Binding 90
5.3.4 Connection Establishment 91
5.3.5 Transfer Data and Discard Sockets 92
5.4 Examples in C 94
5.4.1 Using Stream Sockets: A Simple Example 94
5.4.2 Using Datagram Sockets: A Simple Example 98
5.5 Summary 102
Exercises 102
Chapter 6 TCP/UDP Communication in Java 105
6.1 Java Sockets 105
6.1.1 Java Net Package 105
6.1.2 The Socket Class 106
6.1.3 The ServerSocket Class 107
6.2 Building TCP Clients and Servers 109
6.2.1 Essential Components of Communication 109
6.2.2 Implementing a TCP Client Program 109
6.2.3 Implementing a TCP Server Program 111
6.3 Examples in Java 112
6.3.1 Exchange of Multiple Messages 112
6.3.2 Executing the Programs on Internet Hosts 115
viii
6.3.3 Supporting Multiple Clients 118
6.4 A More Complex Example A Java Messaging Program using TCP 119
6.4.1 The Design 120
6.4.2 The Implementation 121
6.4.3 The Programs 122
6.5 Datagram Communications in Java 127
6.5.1 Why Datagram Communication ? 127
6.5.2 Java Datagram based Classes 128
6.6 Building UDP Servers and Clients 130
6.6.1 Sending and Receiving UDP Datagrams 130
6.6.2 Datagram Server 131
6.6.3 Datagram Client 132
6.7 Summary 133
Exercises 133
Chapter 7 Interprocess Communication using RPC 135
7.1 Distributed Computing Environment (DCE) 135
7.1.1 The Architecture of DCE 135
7.1.2 The Role of RPC 137
7.1.3 The DCE Services 139
7.1.3.1 Directory Services 140
7.1.3.2 Security Services 141
7.1.3.3 Time Services 142
7.1.3.4 Distributed File Services 143
7.2TheDCE/RPC 145
7.2.1 DCE/RPC Facility 146
7.2.1.1 DCE Application Development 146
7.2.1.2 Location Broker 147
7.2.1.3 RPC Handle 147
1.2.1.4 Concurrent Programming Support 148
7.2.2 Related Tools 149
7.2.3 Exception Handling 150
7.3 SUN/RPC 151
7.3.1 Interface Definition Language 151
7.3.2 Security Services 153
7.3.3 Some Issues 154
7.3.3.1 Call Semantics 154
7.3.3.2 Exception Handling 154
7.3.3.3 Client Server Binding 154
7.3.4 Critiques of Sun RPC 155
7.4 The Simple RPC 155
7.4.1 An Introduction of SRPC 155
7.4.2 Installation 157
7.4.3 The SRPC System Architecture 157
7.4.3.1 The System Library 157
7.4.3.2 The Location Server 158
7.4.4 The Stub and Driver Generator 159
7.4.4.1 Syntax 159
7.4.4.2 Semantics 160
ix
9.2.1 Redundancy 218
9.2.2 Fault Avoidance Techniques 220
9.2.3 Fault Detection Techniques 220
9.2.4 Fault Tolerance Techniques 221
9.3 Software Fault Tolerance 224
9.3.1 Techniques for Software Fault tolerance 225
9.4 Reliability Modelling 227
9.4.1 Combinatorial Models 227
9.4.2 Markov Models 230
9.4.3 Fault Coverage and Its Impact on Reliability 231
9.4.4 M of N Systems 232
9.5 Fault Tolerant Distributed Algorithms 233
9.5.1 Distributed Mutual Exclusion 233
9.5.2 Election Algorithms 236
9.5.3 Deadlock Detection and Prevention 236
9.5.3.1 Distributed Deadlock Detection 237
9.5.3.2 Distributed Deadlock Prevention 239
9.6 Replication and Reliability 240
9.7 Replication Schemes 242
9.7.1 Case Study 1: The Primary Backup Scheme 243
9.7.2 Case Study 2: The Active Replication Scheme 245
9.7.3 Case Study 3: Two Particular Replication Schemes 247
9.8 The Primary Peer Replication Scheme 249
9.8.1 Description of the Scheme 249
9.8.2 Replication Transparency 251
9.9 Replication Consistency 251
9.10 Summary 253
Exercises 253
Chapter 10 Security 255
10.1 Secure Networks 255
10.1.1 What is a Secure Network? 255
10.1.2 Integrity Mechanisms and Access Control 256
10.2 Data Encryption 256
10.2.1 Encryption Principles 256
10.2.2 Basic Encryption Techniques 259
10.2.2.1 Code Shifting 259
10.2.2.2 Code Mappings 260
10.2.2.3 Key Application 260
10.2.2.4 Bit Shifting 261
10.3 Cracking the Code 261
10.3.1 Cracking Organizations 261
10.3.2 Cracking Methods 262
10.4 Security Mechanisms on the Internet 263
10.4.1 Digital Signatures 263
10.4.2 Packet Filtering 264
10.4.3 Internet Firewall 264
10.5 Distributed Denial of Service Attacks 265
10.5.1 Launching a DDoS Attack 265
X
7.4.5 Implementation 161
7.4.6 An Application Example 162
7.5 Remote Method Invocation (RMI) 163
7.5.1 RMI Architecture 163
7.5.2 RMI Implementation 164
7.5.3 Interfaces and Classes 167
7.6 An Interesting RMI Application 167
7.7 Summary 172
Exercises 173
Chapter 8 Group Communications 175
8.1 Introduction 175
8.2 Features of Group Communication 176
8.2.1 Message Delivery Semantics 177
8.2.2 Message Response Semantics 177
8.2.3 Message Ordering in Group Communication 178
8.3 Reliable Multicast Protocol 180
8.3.1 Reliable Multicast System 180
8.3.2 Design Issues 181
8.4 Multicast Approaches 182
8.4.1 Centralized Approach 182
8.4.2 Symmetrical Approach (Decentralized) 185
8.4.3 Two phase Approach 185
8.5 Multicast in Java 186
8.6 Total Ordered Multicast Protocol based on a Logical Ring 190
8.6.1 Achieving Total Ordering 190
8.6.2 Atomic Message Delivery 192
8.6.3 Membership 194
8.6.3.1 Membership Construction 194
8.6.3.2 Dynamic Membership 195
8.6.4 Fault Tolerance 196
8.6.4.1 Single Member Failure 196
8.6.4.2 Multiple Failures 198
8.6.4.3 Network Partitioning 198
8.6.5 Efficiency 199
8.7 Implementation Issues 200
8.7.1 System Structure and Communication Assumptions 201
8.7.2 State Machine Approach for Implementing RMP 202
8.7.3 Message Packet and Control Information 203
8.7.4 Ordering Protocol 205
8.7.5 Membership Protocol 207
8.8 Summary 209
Exercises 209
Chapter 9 Reliability and Replication Techniques 213
9.1 Basic Concepts 213
9.1.1 Fault Tolerance 213
9.1.2 Reliability and Availability 216
9.1.3 Failure Classification 217
9.2 Techniques to Achieve Reliability 218
ix
7.4.5 Implementation 161
7.4.6 An Application Example 162
7.5 Remote Method Invocation (RMI) 163
7.5.1 RMI Architecture 163
7.5.2 RMI Implementation 164
7.5.3 Interfaces and Classes 167
7.6 An Interesting RMI Application 167
7.7 Summary 172
Exercises 173
Chapter 8 Group Communications 175
8.1 Introduction 175
8.2 Features of Group Communication 176
8.2.1 Message Delivery Semantics 177
8.2.2 Message Response Semantics 177
8.2.3 Message Ordering in Group Communication 178
8.3 Reliable Multicast Protocol 180
8.3.1 Reliable Multicast System 180
8.3.2 Design Issues 181
8.4 Multicast Approaches 182
8.4.1 Centralized Approach 182
8.4.2 Symmetrical Approach (Decentralized) 185
8.4.3 Two phase Approach 185
8.5 Multicast in Java 186
8.6 Total Ordered Multicast Protocol based on aLogical Ring 190
8.6.1 Achieving Total Ordering 190
8.6.2 Atomic Message Delivery 192
8.6.3 Membership 194
8.6.3.1 Membership Construction 194
8.6.3.2 Dynamic Membership 195
8.6.4 Fault Tolerance 196
8.6.4.1 Single Member Failure 196
8.6.4.2 Multiple Failures 198
8.6.4.3 Network Partitioning 198
8.6.5 Efficiency 199
8.7 Implementation Issues 200
8.7.1 System Structure and Communication Assumptions 201
8.7.2 State Machine Approach for Implementing RMP 202
8.7.3 Message Packet and Control Information 203
8.7.4 Ordering Protocol 205
8.7.5 Membership Protocol 207
8.8 Summary 209
Exercises 209
Chapter 9 Reliability and Replication Techniques 213
9.1 Basic Concepts 213
9.1.1 Fault Tolerance 213
9.1.2 Reliability and Availability 216
9.1.3 Failure Classification 217
9.2 Techniques to Achieve Reliability 218
X
9.2.1 Redundancy 218
9.2.2 Fault Avoidance Techniques 220
9.2.3 Fault Detection Techniques 220
9.2.4 Fault Tolerance Techniques 221
9.3 Software Fault Tolerance 224
9.3.1 Techniques for Software Fault tolerance 225
9.4 Reliability Modelling 227
9.4.1 Combinatorial Models 227
9.4.2 Markov Models 230
9.4.3 Fault Coverage and Its Impact on Reliability 231
9.4.4 M of N Systems 232
9.5 Fault Tolerant Distributed Algorithms 233
9.5.1 Distributed Mutual Exclusion 233
9.5.2 Election Algorithms 236
9.5.3 Deadlock Detection and Prevention 236
9.5.3.1 Distributed Deadlock Detection 237
9.5.3.2 Distributed Deadlock Prevention 239
9.6 Replication and Reliability 240
9.7 Replication Schemes 242
9.7.1 Case Study 1: The Primary Backup Scheme 243
9.7.2 Case Study 2: The Active Replication Scheme 245
9.7.3 Case Study 3: Two Particular Replication Schemes 247
9.8 The Primary Peer Replication Scheme 249
9.8.1 Description of the Scheme 249
9.8.2 Replication Transparency 251
9.9 Replication Consistency 251
9.10 Summary 253
Exercises 253
Chapter 10 Security 255
10.1 Secure Networks 255
10.1.1 What is a Secure Network? 255
10.1.2 Integrity Mechanisms and Access Control 256
10.2 Data Encryption 256
10.2.1 Encryption Principles 256
10.2.2 Basic Encryption Techniques 259
10.2.2.1 Code Shifting 259
10.2.2.2 Code Mappings 260
10.2.2.3 Key Application 260
10.2.2.4 Bit Shifting 261
1 0.3 Cracking the Code 261
10.3.1 Cracking Organizations 261
10.3.2 Cracking Methods 262
1 0.4 Security Mechanisms on the Internet 263
10.4.1 Digital Signatures 263
10.4.2 Packet Filtering 264
10.4.3 Internet Firewall 264
1 0.5 Distributed Denial of Service Attacks 265
10.5.1 Launching a DDoS Attack 265
xiii
13.3 Agent Advertisement and Solicitation 378
13.3.1 Foreign Agent and Home Agent 381
13.3.2 Mobile Node Considerations 382
13.3.3 Move Detection 383
13.3.4 Returning Home 384
13.4 Registration 384
13.4.1 Registration Overview 384
13.4.2 Responses to Registration Request and Authentication 386
13.4.3 Registration Related Message Format 387
13.4.3.1 Registration Request 387
13.4.3.2 Registration Reply 388
13.5 Mobile Routing (Tunnelling) 390
13.5.1 Packet Routing when Mobile Node is at Home 391
13.5.2 Packet Routing when Mobile Node is on a Foreign Link 391
13.5.2.1 Unicast Datagram Routing 391
13.5.2.2 Multicast Datagram Packets Routing 394
13.5.3 Mobile Routers and Networks 394
13.6 Case Study: Mobile Multicast using Anycasdng 396
13.6.1 Problems with Mobile IP 396
13.6.2 Mobile Multicast Protocol (MMP) 398
13.6.3 Performance 402
13.6.3.1 Analysis 402
13.6.3.2 Simulation Model 403
13.6.3.3 Simulation Results 404
13.7 Summary 405
Exercises 405
Chapter 14 Distributed Network Systems: Case Studies .407
14.1 Distributed File Systems 407
14.1.1 What is a Distributed File System 407
14.1.2 A Distributed File System Example NFS 408
14.1.3 Processing User Calls 409
14.1.4 Exporting Files 410
14.1.5 The Role of RPC 411
14.1.6 Remarks 412
14.2 Network Operating Systems: Unix/Linux 412
14.2.1 UNIX System Concepts 412
14.2.1.1 The File System 412
14.2.1.2 Process Management 413
14.2.1.3 The Shell 413
14.2.2 The UNIX Processes 414
14.2.2.1 Process Address Spaces 414
14.2.2.2 Process Management System Calls 414
14.2.2.3 Process Context and Context Switching 415
14.2.3 Linux as a UNIX Platform 416
14.2.4 Linux Networking 417
14.2.4.1 TCP/IP 417
14.2.4.2 PPP and SLIP 418
14.2.4.3 File Sharing with NFS 418
xiv
14.2.4.4 UUCP 418
14.2.5 Software Development in Linux 419
14.3 CORBA 419
14.3.1 What is CORBA? 419
14.3.2 The CORBA Architecture 420
14.3.3 Interface Definition Language (IDL) 424
14.3.4 An Example of CORBA for Java 425
14.4 DCOM 427
14.4.1 COM and DCOM 427
14.4.2 DCOM Facilities and Services 428
14.4.2.1 Location Transparency 428
14.4.2.2 Dynamic and Remote Object Activation 429
14.4.2.3 Security 429
14.4.2.4 Interfaces 430
14.4.2.5 Binary Interoperability 431
14.4.3 Applying DCOM 432
14.5 Summary 432
Exercises 432
Chapter 15 Distributed Network Systems: Current
Development 435
15.1 Cluster Computing 435
15.1.1 Cluster Operating Systems 436
15.1.2 Reliable Server Clusters 439
15.2 Grid Computing 440
15.2.1 What is Grid Computing? 440
15.2.2 Background to the Grid 441
15.2.3 Grid Architectures and Infrastructures 444
15.2.3.1 Grid Architectures 444
15.2.3.2 Grid Components 444
15.2.4 Layered Grid Architecture: The Globus Architecture 447
15.2.5 Virtual Machine Environment: The Legion Architecture 449
15.2.6 Cycle Scavenging Schemes: The Condor System 452
15.2.7 Data Grids 453
15.2.7.1 Kangaroo 454
15.2.7.2 Legion 454
15.2.7.3 Storage Resource Broker 455
15.2.7.4 Globus Data Grid Tools 455
15.2.8 Research Issues and Challenges for Grids 457
15.2.8.1 Software Engineering Problems 457
15.2.8.2 Load Balancing and Scheduling 458
15.2.8.3 Autonomic Computing 459
15.2.8.4 Replication 459
15.3 Peer to Peer (P2P) Computing 461
15.3.1 What is Peer to Peer Computing? 461
15.3.2 Possible Application Areas forP2P Systems 462
15.3.3 Some Existing P2P Projects 462
15.3.4 P2P File Sharing and its Legal implications 464
15.3.4.1 P2P File Sharing Systems 464
XV
15.3.4.2 Legal implications for P2P File Sharing 465
15.3.5 Some Challenges for P2P Computing 466
15.4 Pervasive Computing 466
15.4.1 Pervasive Computing Characteristics 466
15.4.2 Elite Care: An Application Using Pervasive Computing 468
15.4.3 The Challenges for Pervasive Computing 469
15.5 Summary 470
Exercises 470
References 472
Index 509
Table of Figures
Figure 2.1. The basic client server model 17
Figure 2.2. Printing service (a service example) 18
Figure 2.3. Indirect client server cooperation 21
Figure 2.4. Examples of three tier configurations 22
Figure 2.5. An example implementation of the three tier architecture 23
Figure 2.6. Service discovery ~ broadcast approach 26
Figure 2.7. Service discovery — name server and server location lookup 27
Figure 2.8. A distributed computing system architecture 29
Figure 3.l.CORBACDR message 35
Figure 3.2. Time diagram of the execution of message passing primitives 36
Figure 3.3. Send primitives: (a) blocking; (b) non blocking 39
Figure 3.4. Blocked send primitive 39
Figure 3.5. Unbuffered and buffered message passing 41
Figure 3.6. Message passing; (a) unreliable; (b) reliable 42
Figure 3.7. Message passing semantics, (a) at least once; (b) exactly once 43
Figure 3.8. An RPC example: a read call 46
Figure 3.9. Group structures 52
Figure 4.1. The layered protocol model 66
Figure 4.2. The OSI reference model 66
Figure 4.3. Comparison of Internet and OSI architectures 68
Figure 4.4. The Layered TCP/IP protocol suite 70
Figure 5.1. The distributed application model 82
Figure 5.2. BSD interprocess sockets 83
Figure 5.3. File and socket descriptors 83
Figure 5.4. Socket model 84
Figure 7.1. DCE architecture 136
Figure 7.2. Build a DEC Application 138
Figure 7.3. Using threads in a client server application 139
Figure 7.4. The CDS directory hierarchy 140
Figure 7.5. Components of the DCE directory service 141
Figure 7.6. Time synchronisation using intervals 143
Figure 7.7. Time synchronisation within a multi LAN cell 144
Figure 7.8. Interactions between DFS components 145
Figure 7.9. The RMI architecture 164
Figure 8.1. Causal ordering rule (Group G=(S1, S2, S3}) 179
Figure 8.2. Causal ordering and total ordering 180
Figure 8.3. Reliable multicast system architecture 180
Figure 8.4. A group comprises of n+1 sites 183
Figure 8.5. Groups 184
Figure 8.6. A group of n members form a logical token ring 184
Figure 8.7. Logical token ring structure and normal operations 191
Figure 8.8. Message transmission example 192
Figure 8.9. Dynamic membership 196
Figure 8.10. System structure 201
Figure 8.11. RMP hierarchy structure 203
Figure 8.12. Packet for logical ring 204
xxvi
Figure 8.13. Ordered multicast 206
Figure 8.14. Steps taken for RMP to multicast an ordered message 207
Figure 9.1. A system 214
Figure 9.2. Fault, error, and failure 214
Figure 9.3. The bathtub curve 215
Figure 9.4. Relationships between MTBF, MTTF, and MTTR 218
Figure 9.5. Reconfigurable duplication architecture 222
Figure 9.6. Reliability block diagram of a series system 227
Figure 9.7. The example reliability block diagram 228
Figure 9.8. Reliability block diagram of the parallel system 228
Figure 9.9. Example reliability block diagram 229
Figure 9.10. Reduced reliability block diagram 229
Figure 9.11. State diagram of a TRM system 230
Figure 9.12. Reduced state diagram of a TMR system 231
Figure 9.13. Reliability block diagram of a simple parallel system 231
Figure 9.14. Impact of the fault coverage 232
Figure 9.15. Reliability comparison of TMR and a single module 233
Figure 9.16. Deadlock 237
Figure 9.17. False deadlock 238
Figure 9.18. Distributed deadlock detection 238
Figure 9.19. The Primary Backup Replication Scheme 243
Figure 9.20. Hot replication implementations 244
Figure 9.21. The active replication scheme 245
Figure 9.22. The scenario of requests arriving in different orders 247
Figure 9.23. The Primary Peer Replication Scheme 250
Figure 10.1. Single (private) key encryption 256
Figure 10.2. Key distribution server 258
Figure 10.3. Public key encryption 258
Figure 10.4. Packet filter in a router 264
Figure 10.5. Internet firewall 264
Figure 10.6. A hierarchical model of a DDoS attack 266
Figure 10.7. Key methods used before making an effective DDoS attack 270
Figure 10.8. Active defense cycle 282
Figure 11.1. The generic reactive system architecture 296
Figure 11.2. A DMM agent 298
Figure 11.3. Sensors and actuators 301
Figure 11.4. Tunnelling multicast packets between subnets 306
Figure 11.5. The generic sensor architecture 307
Figure 11.6. A distributed replication system 312
Figure 11.7. Replication manager and database server 313
Figure 11.8. Using polling sensors 316
Figure 11.9. Using event sensors 316
Figure 11.10. Using embedded DMMs 317
Figure 11.11. Using polling sensors for network partitioning 318
Figure 11.12. Using event sensors for partition tolerant applications 319
Figure 12.1. Two tier architecture of WBDB 329
Figure 12.2. Three tier architecture of WBDB 330
Figure 12.3. Hybrid architecture of WBDB (agent based) 331
xxvii
Figure 12.4. Generation 1 framework (CGI based) of WBDB 333
Figure 12.5. Generation 2 framework (Client and Server side JavaScript) of WBDB
334
Figure 12.6. Generation 3 (JDBC based) framework of WBDB 335
Figure 12.7. Servlet based framework of WBDB 337
Figure 12.8. XML based two tier framework of WBDB 337
Figure 12.9. Mobile agent involved framework of WBDB 339
Figure 12.10. Intelligent interactive framework of WBDB 345
Figure 13.1. Example of Mobile applications 369
Figure 13.2. IP Tunneling 373
Figure 13.3. Operation of Mobile Node under Mobile IP 377
Figure 13.4. Operation of Mobile IP on care of address 377
Figure 13.5. Operation of Mobile IP on collocated care of address 378
Figure 13.6. ICMP Router Advertisement and Mobility Agent Advertisement
Extension Message 379
Figure 13.7. ICMP Router Solicitation Message 379
Figure 13.8. The mobility agents (either home or foreign) multicast Agent
Advertisement 385
Figure 13.9. The message format of Registration Request and Mobile Foreign
Authentication Extension 387
Figure 13.10. The message format of Registration Reply 389
Figure 13.11. Bi directional Tunneled Multicast Method 397
Figure 13.12. MMP topology and Mobile Connections 398
Figure 13.13. Network Topology of the Simulation 403
Figure 13.14. Message delivery delays 404
Figure 13.15. Number of delivered messages 405
Figure 14.1. A distributed file system structure 408
Figure 14.2. NFS structure 409
Figure 14.3. OMA Reference Architecture 420
Figure 14.4. CORBA client and server 421
Figure 14.5. CORBA architecture 422
Figure 14.6. Interface inheritance and implementation inheritance 425
Figure 14.7. Distributed COM is built on top of DCE RPC 428
Figure 14.8. DCOM security 430
Figure 14.9. DCOM binary specification 431 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
building | Verbundindex |
bvnumber | BV022356663 |
callnumber-first | T - Technology |
callnumber-label | TK5105 |
callnumber-raw | TK5105.5 |
callnumber-search | TK5105.5 |
callnumber-sort | TK 45105.5 |
callnumber-subject | TK - Electrical and Nuclear Engineering |
classification_rvk | ST 200 |
ctrlnum | (OCoLC)59717656 (DE-599)BVBBV022356663 |
dewey-full | 004.6 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004.6 |
dewey-search | 004.6 |
dewey-sort | 14.6 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
doi_str_mv | 10.1007/b102545 |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01968nmm a2200505 cb4500</leader><controlfield tag="001">BV022356663</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20070321 </controlfield><controlfield tag="007">cr|uuu---uuuuu</controlfield><controlfield tag="008">070320s2005 |||| o||u| ||||||eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780387238395</subfield><subfield code="9">978-0-387-23839-5</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780387238401</subfield><subfield code="c">Online</subfield><subfield code="9">978-0-387-23840-1</subfield></datafield><datafield tag="024" ind1="7" ind2=" "><subfield code="a">10.1007/b102545</subfield><subfield code="2">doi</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)59717656</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV022356663</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-473</subfield><subfield code="a">DE-739</subfield><subfield code="a">DE-706</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">TK5105.5</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004.6</subfield><subfield code="2">22</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 200</subfield><subfield code="0">(DE-625)143611:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Distributed Network Systems</subfield><subfield code="b">from concepts to implementations</subfield><subfield code="c">Weijia Jia and Wanlei Zhou</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">New York [u.a.]</subfield><subfield code="b">Springer</subfield><subfield code="c">2005</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="1" ind2=" "><subfield code="a">Network Theory and Applications</subfield><subfield code="v">15</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Réseaux d'ordinateurs</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Traitement réparti</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Datenverarbeitung</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Computer networks</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Electronic data processing</subfield><subfield code="x">Distributed processing</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Rechnernetz</subfield><subfield code="0">(DE-588)4070085-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Datenübertragung</subfield><subfield code="0">(DE-588)4011150-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="655" ind1=" " ind2="7"><subfield code="0">(DE-588)4123623-3</subfield><subfield code="a">Lehrbuch</subfield><subfield code="2">gnd-content</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Rechnernetz</subfield><subfield code="0">(DE-588)4070085-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Datenübertragung</subfield><subfield code="0">(DE-588)4011150-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Jia, Weijia</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Zhou, Wanlei</subfield><subfield code="e">Sonstige</subfield><subfield code="4">oth</subfield></datafield><datafield tag="830" ind1=" " ind2="0"><subfield code="a">Network Theory and Applications</subfield><subfield code="v">15</subfield><subfield code="w">(DE-604)BV014100569</subfield><subfield code="9">15</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="u">https://doi.org/10.1007/b102545</subfield><subfield code="x">Verlag</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015566068&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-015566068</subfield></datafield></record></collection> |
genre | (DE-588)4123623-3 Lehrbuch gnd-content |
genre_facet | Lehrbuch |
id | DE-604.BV022356663 |
illustrated | Not Illustrated |
index_date | 2024-07-02T17:01:43Z |
indexdate | 2024-07-09T20:55:51Z |
institution | BVB |
isbn | 9780387238395 9780387238401 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-015566068 |
oclc_num | 59717656 |
open_access_boolean | |
owner | DE-473 DE-BY-UBG DE-739 DE-706 |
owner_facet | DE-473 DE-BY-UBG DE-739 DE-706 |
physical | 1 Online-Ressource |
publishDate | 2005 |
publishDateSearch | 2005 |
publishDateSort | 2005 |
publisher | Springer |
record_format | marc |
series | Network Theory and Applications |
series2 | Network Theory and Applications |
spelling | Distributed Network Systems from concepts to implementations Weijia Jia and Wanlei Zhou New York [u.a.] Springer 2005 1 Online-Ressource txt rdacontent c rdamedia cr rdacarrier Network Theory and Applications 15 Réseaux d'ordinateurs Traitement réparti Datenverarbeitung Computer networks Electronic data processing Distributed processing Rechnernetz (DE-588)4070085-9 gnd rswk-swf Datenübertragung (DE-588)4011150-7 gnd rswk-swf (DE-588)4123623-3 Lehrbuch gnd-content Rechnernetz (DE-588)4070085-9 s Datenübertragung (DE-588)4011150-7 s DE-604 Jia, Weijia Sonstige oth Zhou, Wanlei Sonstige oth Network Theory and Applications 15 (DE-604)BV014100569 15 https://doi.org/10.1007/b102545 Verlag Volltext HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015566068&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Distributed Network Systems from concepts to implementations Network Theory and Applications Réseaux d'ordinateurs Traitement réparti Datenverarbeitung Computer networks Electronic data processing Distributed processing Rechnernetz (DE-588)4070085-9 gnd Datenübertragung (DE-588)4011150-7 gnd |
subject_GND | (DE-588)4070085-9 (DE-588)4011150-7 (DE-588)4123623-3 |
title | Distributed Network Systems from concepts to implementations |
title_auth | Distributed Network Systems from concepts to implementations |
title_exact_search | Distributed Network Systems from concepts to implementations |
title_exact_search_txtP | Distributed Network Systems from concepts to implementations |
title_full | Distributed Network Systems from concepts to implementations Weijia Jia and Wanlei Zhou |
title_fullStr | Distributed Network Systems from concepts to implementations Weijia Jia and Wanlei Zhou |
title_full_unstemmed | Distributed Network Systems from concepts to implementations Weijia Jia and Wanlei Zhou |
title_short | Distributed Network Systems |
title_sort | distributed network systems from concepts to implementations |
title_sub | from concepts to implementations |
topic | Réseaux d'ordinateurs Traitement réparti Datenverarbeitung Computer networks Electronic data processing Distributed processing Rechnernetz (DE-588)4070085-9 gnd Datenübertragung (DE-588)4011150-7 gnd |
topic_facet | Réseaux d'ordinateurs Traitement réparti Datenverarbeitung Computer networks Electronic data processing Distributed processing Rechnernetz Datenübertragung Lehrbuch |
url | https://doi.org/10.1007/b102545 http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015566068&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
volume_link | (DE-604)BV014100569 |
work_keys_str_mv | AT jiaweijia distributednetworksystemsfromconceptstoimplementations AT zhouwanlei distributednetworksystemsfromconceptstoimplementations |