Distributed Systems Introduction Introduction Distributed Systems Principles and
Distributed Systems Introduction
Introduction • Distributed Systems – Principles and Paradigms 2 nd Edition – Andrew S. Tanenbaum, Maarten Van Steen – Pearson Internal Edition
1. 1 Definition (1) • “A distributed system is a collection of independent computers that appear to the users of the systems as a single computer. ” [Tanenbaum] • “A distributed system is a collection of autonomous computers linked by a network with software designed to produce an integrated computing facility. ”
1. 1 Definition (2) Figure 1 -1. A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.
1. 2 Goals • • Making resources available Distribution transparency Openness Scalability
1. 2. 1 Making resources available • Easy access of users to remote resources – Geographically distributed users can be build groupware – Exchange of various types of data • Voice, data, video, … • Share resources with other users in an appropriate way – Limited resources can be assigned to multiple users – Cost optimization is done • Security is important aspect that should be observed and implemented carefully.
1. 2. 2 v. Distribution Transparency (1) An important goal of a distributed system is to hide the fact that its processes and resources are physically distributed across multiple computes Types of transparency Figure 1 -2. Different forms of transparency in a distributed system (ISO, 1995).
Distribution Transparency (2) • Distributed system may have computer systems that run different operating system • URL gives no clue about the location main Web Server • Distributed system in which resources can be moved without affecting how those resources cab be accessed • Mobile users can continue to use their wireless laptop while moving from place to place without ever being (temporarily) disconnected. • Resources may be replicated to increase availability or to improve performance. • Two independent users may each have stored their files on the same file server or may be accessing the same tables in a shared database. • User does notice that a resource fail to work properly.
Degree of Transparency (1) • Aiming at full distribution transparency may be too much: – Users may be located in different continents – Completely hiding failures of networks and nodes is impossible • You cannot distinguish a slow computer from a failing one • You can never be sure that a server actually performed an operation before a crash – Full transparency will cost performance, exposing distribution of the system • Keeping Web cashes exactly up-to-date with the master • Immediately flushing write operations to disk for fault tolerance
Degree of Transparency (2) • Hide blindly all distribution aspects from users is not always a good idea – Content: Morning Paper – Performance: Replication of Failed Server • When a data is searched, a failed server is tried several times. In order to getting rid of dealing with failed server, user cancel the searching that server.
1. 2. 3 Openness (1) • Offers services according to standard rules that describe the syntax and semantics of those services. – Interoperability – Portability – Flexibility of configuration by different developers • IDL (Interface Definition Language) is used to describe standard interfaces.
Openness (2) • Be able to interact with services from other systems, irrespective of the underlying environment: – Systems should conform to well-defined interfaces – Systems should supportability of application – Systems should easily interoperate • Achieving openness – At least make the distributed system independent from heterogeneity of the underlying environment: • Hardware • Platforms • Languages
Openness (3) • Separating Policy From Mechanism – Implementing openness • Requires support different policies: – What level of consistency do we require for client-cached data? – Which operations do we allow downloaded code to perform? – Which Qo. S requirement do we adjust in the face of varying bandwidth? – What level of secrecy do we require for communication? • Ideally, a distributed system provides only mechanisms: – – Allow (dynamic) setting of caching policies Support different levels of trust for mobile code Provide adjustable Qo. S parameters per data stream Offer different encryption algorithms
1. 2. 4 Scalability
- Slides: 15