ch1. hardware: cpu: ex: compute server (executes processor-intensive applications for clients),...

14
Characterization of Distributed Systems CH1

Upload: cecil-cannon

Post on 02-Jan-2016

220 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

Characterization of Distributed Systems

CH1

Page 2: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

1- Give five types of hardware resource and five types of data or software resource that can usefully be shared. Give examples of their sharing as it occurs in distributed systems.

Page 3: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

Hardware:

CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation for their clients, hence their cpu is a shared resource.

- memory: cache server (holds recently-accessed web pages in its RAM, for faster access by other local computers)

- printer: networked printers accept print jobs from many computers. managing them with a queuing system.

- disk: file server

screen: Network window systems, such as X-11, allow processes in remote computers to update the content of windows.

Page 4: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

Data/software:

- web page: web servers enable multiple clients to share read-only page content

- file: file servers enable multiple clients to share read-write files

- video/audio stream: Servers can store entire videos on disk and deliver them at playback speed to multiple clients simultaneously.

- database: databases are intended to record the definitive state of some related sets of data.They include techniques to manage concurrent updates.

- object: E.g. shared whiteboard, shared diary, room booking system, etc.

- newsgroup content: The netnews system makes read-only copies of the recently-posted news items available to clients throughout the Internet. A copy of newsgroup content is maintained at each netnews server that is an approximate replica of those at other servers. Each server makes its data available to multiple clients.

Page 5: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

5- Use the World Wide Web as an example to illustrate the concept of resource sharing, client and server.

- Resources in the World Wide Web and other services are named by URLs. What do the initials URL denote?

- Give examples of three different sorts of web resources that can be named by URLs.

Page 6: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

- Web Pages are examples of resources that are shared. These resources are managed by Web servers.

- Client-server architecture. The Web Browser is a client program (e.g. Netscape) that runs on the user's computer. The Web server accesses local files containing the Web pages and then supplies them to client browser processes.

- URL - Uniform Resource Locator- file or a image, movies, sound, anything that can be

rendered, a query to a database or to a search engine.

Page 7: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

6- Give an example of a URL.

List the three main components of a URL, stating how their boundaries are denoted and illustrating each one from your example.

To what extent is a URL location transparent?

Page 8: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

http://www.dcs.qmw.ac.uk/research/distrib/index.html

•The protocol to use. the part before the colon, in the example the protocol to use is http ("Hyper Text Transport Protocol").

•The part between // and / is the Domain name of the Web server host www.dcs.qmw.ac.uk.

•The remainder refers to information on that host - named within the top level directory used by that Web server

research/distrib/book.html.

The hostname www is location independent so we have location transparency in that the address of a particular computer is not included. Therefore the organization may move the Web service to

another computer.But if the responsibility for providing a WWW-based information

service moves to another organization, the URL would need to be changed.

Page 9: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

7- A server program written in one language

(for example C++) provides the

implementation of a BLOB object that is

intended to be accessed by clients that may

be written in a different language (for

example Java). The client and server

computers may have different hardware, but

all of them are attached to an internet.

Describe the problems due to each of the five

aspects of heterogeneity that need to be

solved to make it possible for a client object

to invoke a method on the server object.

Page 10: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

networks : As the computers are attached to an internet, we can assume that Internet protocols deal with differences in networks.

hardware - deal with differences of representation of data items in request and reply messages from clients to objects. A common standard will be defined for each type of data item that must be transmitted between the object and its clients.

operating systems therefore we need to deal with different operations to send and receive messages or to express invocations..

programming languages C++ and Java, they use different representations for data structures such as strings, arrays, records. A common standard will be defined for each type of data structure that must be transmitted between the object and its clients and a way of translating between that data structure and each of the languages.

implementers, e.g. one for C++ and the other for Java. They will need to agree on the common standards mentioned above and to document them.

Page 11: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

9- Suppose that the operations of the BLOB

object are separated into two categories:

–public operations that are available to all users

and

-protected operations that are available only to

certain named users.

State all of the problems involved in ensuring

that only the named users can use a protected

operation.

Supposing that access to a protected operation

provides information that should not be

revealed to all users, what further problems

arise?

Page 12: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

Each request to access a protected operation must include the identity of the user making the request.

The problems are:•Defining the identities of the users. Using these identities in

the list of users who are allowed to access the protected operations

•Ensuring that the identity supplied comes from the user it purports to be and not some other user pretending to be that user.

•Preventing other users from replaying or tampering with the request messages of legitimate users.

Further problems.• the information returned as the result of a protected

operation must be hidden from unauthorised users. This means that the messages containing the information must be encrypted in case they are intercepted by unauthorised users.

Page 13: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

13- A service is implemented by several servers. Explain why resources might be transferred between them.

Would it be satisfactory for clients to multicast all requests to the group of servers as a way of achieving mobility transparency for clients?

Page 14: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation

Migration of resources is performed: to reduce communication delays ; to balance the load of processing and or storage utilization between different servers.

If all servers receive all requests, the communication load on the network is much increased and servers must do unnecessary work filtering out requests for objects that they do not hold.