Tutorials 1 - London South Bank University

Download Report

Transcript Tutorials 1 - London South Bank University

Tutorials 1
1. What is the definition of a distributed system?
1. A distributed system is a collection of independent
computers that appears to its users as a single
coherent system.
2. 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
3. Explain what is meant by distribution
transparency, and give examples of
different types of transparency.
See Tanenbaum’s book (2002 version) page
5~8.
Transparency
Description
Access
Hide differences in data representation and how a
resource is accessed
Location
Hide where a resource is located
Migration
Hide that a resource may move to another location
Relocation
Hide that a resource may be moved to another
location while in use
Replication
Hide that a resource may be replicated
Concurrency
Hide that a resource may be shared by several
competitive users
Failure
Hide the failure and recovery of a resource
Persistence
Hide whether a (software) resource is in memory or
on disk
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
5. What is the difference between a
multiprocessor and multi-computer?
See Tanenbaum’s book (2002 version) page
28, second paragraph
Tutorials 1
6.
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.
7.
8.
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
9. 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.
10. 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
11. Name five reasons why to build distributed
systems
Scalability, openness, heterogeneity, fault-tolerance
and resource access and sharing.
12. 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
13. Is a three-tier architecture a distributed system
14. 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.
15. 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
16. What are the eight dimensions of
transparency in distributed systems?
Access, Location, Migration, Concurrency,
Replication, Failure, Performance,
Scalability
17. What can the transparency dimensions
be used for?
It hides the complexities of distributed
systems, offering the user a single
integrated facility.
Tutorials 1
19. 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.
20. 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.