170 likes | 269 Views
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.
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!!!