Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 1 A distributed system is: A collection of independent computers that appears to its users as a single coherent system. Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 2 Figure 1-1. A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface. Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 3 Make Resources Easily Accessible. Hide the Hid h fact that resources are distributed across a network. It should be Open. It should be Scalable Scalable. Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 4 Main goal of D. S. is to make it easy for the users to Main goal of D S is to make it easy for the users to access remote resources and share them. Reasons for sharing Resources: • Economics • Collaborate and Exchange Information. Collaborate and Exchange Information Security. Security Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 5 Figure 1-2. Different forms of transparency in a distributed system (ISO, 1995). Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 6 Trade‐off between high degree of transparency and the performance of a system. Conclusion: l Aiming for distribution transparency is a nice goal. g p y g Should be considered with other issues: ▪ Performance Performance. ▪ Comprehensibility. Price for not being full transparent may be high Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 7 Is a system that offers services according to standard rules that describe the syntax and semantics of those services. Interface Definition Language. Interoperability. p y Portability. Extensible. Extensible Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 8 Separating Policy from Mechanism: System should be as a collection of relatively S t h ld b ll ti f l ti l small and easily replaceable or adaptable components. t E.g. monolithic approach (closed system). World wide web (Caching ). Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 9 Can be measured a long at least three different dimensions: With respect to ( dd size ( add users, resources). Geographically scalable. Administratively Scalable. Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 10 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 11 Characteristics of decentralized algorithms: • No machine has complete N hi h l t information about the system state. • Machines make decisions based only on local information. • Failure of one machine does not ruin the algorithm. • There is no implicit assumption that a global clock exists. l b l l k i Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 12 Most based on Synchronous Communication. Communication in WAN inherently unreliable. unreliable Centralized Solutions. Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 13 How to scale a distributed system across multiple, independent administrative domains. domains Major problem • Resources usage. is conflicting •M Management. policies with • Security. y respect to: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 14 Figure 1-4. The difference between letting (a) a server or (b) a client check forms as they are being filled. Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 15 Figure 1 1-5 5. An example of dividing the DNS name space into zones. Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 16 False assumptions made by first time developer: The network is reliable reliable. The network is secure secure. The network is homogeneous homogeneous. The topology does not change not change. Latency is zero. Bandwidth is infinite infinite. Transport cost is zero zero. There is one administrator administrator. 17 Distributed Computing Systems. Distributed Information Systems. Distributed Pervasive Systems. Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 18 Cluster Computing: • Underlying hardware consists of a collection of similar workstations. ll i f i il k i • Connected by high‐speed local‐ area network area network. Grid Computing: • Different administrative domain. • Different hardware, software, deployed network technology. Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 19 Figure 1‐6. An example of a cluster computing system. computing system Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 20 Figure 1‐7. A layered architecture for grid computing systems. 21 Transaction Processing Systems. Enterprise Application p pp Integration. g Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 22 Figure 1‐8. Example primitives for transactions. transactions Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5 23