170 likes | 280 Views
This introduction to distributed systems defines them as collections of independent computers that function as a coherent entity. Key goals include connecting users to resources, enhancing transparency, ensuring openness, and achieving scalability. Transparency ensures a seamless experience for users, making the system appear as a single computer. Openness fosters interoperability and flexibility, while scalability addresses size, geographic, and administrative challenges. This document also explores various scaling techniques like hiding communication latencies, distribution, and replication for improved performance and availability.
E N D
Introduction Chapter 1 Part I Characterization and Goals of a Distributed System
Definition of a Distributed System (1) • Leslie Lamport: • You know you have one [distributed system] when the crash of a computer you have never heard of stops you from doing any work done.
Definition of a Distributed System (2) • A distributed system is: • A collection of independent computers that appears to its users as a single coherent system.
Definition of a Distributed System (3) 1.1 A distributed system organized as middleware.Note that the middleware layer extends over multiple machines.
Types of a Distributed System • File-based • Document-based • Object-based
Goals of a Distributed System • Connecting users to resources • Transparency • Openness • Scalability
Connecting Users to Resources • A resource is virtually anything • A DS should make it easy for users to connect to resources • Expensive resources • Information sharing & Collaboration
Transparency (1) • A DS should not look like it is distributed! • It should like to the user as a single computer
Transparency (2) Different forms of transparency in a distributed system.
Openness (1) • An open DS offers services according to standard rules that describe the syntax and semantics for these services • Services are specified through interfaces • IDL • Semantics?
Openness (2) a a Service A (DS by vendor X) Service A (DS by vendor Y) b b c c d d e e • Interoperability • Portability • Flexibility Service B (DS by vendor Z) Offers Interface J Needs Interface J
Scalability • Size-scalability • Geographic-scalability • Administrative-scalability
Scalability Problems Examples of scalability limitations.
Scaling Techniques (1) • Hiding Communication Latencies • Distribution • Replication
Scaling Techniques (2)Hiding Communication Latencies 1.4 • The difference between letting: • a server or • a client check forms as they are being filled
Scaling Techniques (3)Distribution 1.5 An example of dividing the DNS name space into zones.
Scaling Techniques (4)Replication • Better availability and performance • Example: caching documents on the Web • Consistency problems: might result in poor performance!!!