140 likes | 310 Views
Tutorials 1. What is the definition of a distributed system? A distributed system is a collection of independent computers that appears to its users as a single coherent system. What are the four goals should be met when you design a distributed system? The four important goals are
E N D
Tutorials 1 • What is the definition of a distributed system? • A distributed system is a collection of independent computers that appears to its users as a single coherent system. • What are the four goals should be met when you design a distributed system? • The four important goals are • A distributed system should easily connect users to resources • It should hide the fact that resources are distributed across a network • It should be open. • It should be scalable
Tutorials 1 • Explain what is meant by distribution transparency, and give examples of different types of transparency. See Tanenbaum’s book (2002 version) page 5~8.
Different forms of transparency in a distributed system. Definition: A DS that is able to present itself to users and applications as if it were only a single computer system is said to be transparent
4. What is an open distributed system and what benefits does openness provide? • An open distributed system is a system that offers services according to standard rules that describe the syntax and semantics of those services. • Openness means that the system can easily be extended and modified. • To facilitate the openness, the system should have a well defined and well-documented interfaces. These interface must declare the services that a component offers. And these interfaces are often described in an Interface Define Language (IDL) • A service is an operation that a component performs on behalf of a user or another component. • The interface definition should be complete and neutral. • Complete means that everything that is necessary to make an implementation has indeed been specified.
Tutorials 1 • What is the difference between a multiprocessor and multi-computer? See Tanenbaum’s book (2002 version) page 28, second paragraph
Tutorials 1 • What is the difference between a distributed operating system and a network operating system? See Tanenbaum’s book (2002 version) page 36. Here you can find the main difference is that the Network OS provide the collection of independent computers, but does not provide the transparency, vice versa Distributed OS provide the transparency but not the collection of independent computers. • What is a three-tiered client-server architecture? • What is the difference between a vertical distribution and a horizontal distribution? See Tanenbaum’s book (2002 version) page 50~53 to find the answers of last two questions.
Multitiered Architectures (2) • An example of a server acting as a client. 1-30
Modern Architectures • An example of horizontal distribution of a Web service. 1-31
Tutorials 1 • The client-server application is used to be divided into three levels, what are they? Give an example. See Tanenbaum’s book (2002 version) page 46~50, especially page 49. • For the two-tiered architecture of client-server model, list the possible alternative organizations. Can you give an example for each case? See Tanenbaum’s book (2002 version) page 50~51.
Processing Level • The general organization of an Internet search engine into three different layers 1-28
Tutorials 1 • Name five reasons why to build distributed systems Scalability, openness, heterogeneity, fault-tolerance and resource access and sharing. • What is the difference between a client/server and a distributed system In a client/server model, clients use the services offered by the server components. In a distributed system a server component can be the client component of another server component, leading to a n-tier architecture.
Tutorials 1 • Is a three-tier architecture a distributed system • Why do we not build every system as a distributed system? Not all systems are distributed by nature. In some cases the hardware and the implementation language are completely homogenous and are all physically based in the same location., in which case no advantages would be gained by building it as a distributed system. • What is the relationship between requirements engineering and distributed systems? Requirements engineering is the first step of software development for distributed systems. It specifies all the functional and non-functional requirements of the application.
Tutorials 1 • What are the eight dimensions of transparency in distributed systems? Access, Location, Migration, Concurrency, Replication, Failure, Performance, Scalability • What can the transparency dimensions be used for? It hides the complexities of distributed systems, offering the user a single integrated facility.
Tutorials 1 • What is the difference between location and access transparency? Access transparency states that method invocations to local and remote objects interfaces must seem identical to the user. Location transparency states that components should be able to be identified in a manner non-dependent on their physical location. • What are the differences between performance and scaling transparency? Performance transparency is viewed from the perspective of a single request, whereas scalability transparency considers how the system behaves if more components and more concurrent requests are introduced.