ch1. hardware: cpu: ex: compute server (executes processor-intensive applications for clients),...
TRANSCRIPT
![Page 1: CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/1.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/6.jpg)
- 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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/11.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022072015/56649eda5503460f94be8c66/html5/thumbnails/14.jpg)
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.