• Keine Ergebnisse gefunden

Exercise 3: Response time of client applications

N/A
N/A
Protected

Academic year: 2022

Aktie "Exercise 3: Response time of client applications"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. rer. nat. Roland Wism ¨uller

Excercise Sheet 1

(To be processed until 20.04.)

Lecture Distributed Systems Summer Term 2021

Exercise 1: Heterogeneity and Openness

A server program written in a specific language (e.g. C++) provides services (in the form of methods) that can be used by clients written in another language (e.g. Java). Client and server computers can have different hardware and operating systems, but both are connected to the Internet.

a) What problems are caused by heterogeneity and must be solved so that the client can call a method of the server?

b) An open distributed system allows the addition of new services that can be used by a variety of clients. In the context of the example above, describe how the requirements for openness differ from those for heterogeneity.

c) Suppose that the server provides public methods that can be used by anyone, as well as protected methods that are available only to specified users. List all problems that need to be solved so that only authorized users can call the protected methods. Assume that the methods provide information that is not intended for all users and consider what other problems may arise.

Exercise 2: Migration of resources

A service that manages information resources (data) is implemented by multiple servers. For what reasons can it be useful to migrate these resources between the servers?

Exercise 3: Response time of client applications

What factors affect the response time of client applications that access shared data managed by a server? What (meaning- ful) approaches are there to reduce response times?

Exercise 4: Architecture of known client/server applications

Inform yourself about the client/server architecture of one or more large Internet applications (web, email, news) and describe / illustrate this architecture (which different servers are involved, how do they work together, how are the data distributed or replicated on the servers, what information is exchanged?).

Exercise 5: Session tracking

In simple Web applications, two different techniques can be used to track sessions: The server can pass a session ID in a cookie to the client, or the session ID can be encoded into the URL. Read about the details of both techniques and consider the pros and cons.

1

(2)

Exercise 6: Server implementation

This exercise examines reading and writing a file using a single-threaded server and using a multi-threaded server. It takes 15 milliseconds to receive a request for a job, pass it on, and perform the rest of the necessary processing, provided the required data is in the file cache in main memory. If a disk operation is required, as occurs in one-third of the cases, another 75 milliseconds is required with the thread asleep.

a) How many requests per second can the server process if it is single-threaded, how many if it is multi-threaded?

b) Does it make sense to limit the number of threads in a server process?

2

Referenzen

ÄHNLICHE DOKUMENTE

public static void main(String args[]) throws Exception {.

public static void main(String[] argv) { Socket socket;..

public static void main(String[] argv) { Socket socket;.

An overlay network is a virtual network of nodes and logical links that is built on top of an existing network with the purpose to implement a network service that is not

Parallel database systems consist of multiple processors and multiple disks connected by a fast interconnection network. A coarse-grain parallel machine consists of a small number

Parallel database systems consist of multiple processors and multiple disks connected by a fast interconnection network. A coarse-grain parallel machine consists of a small number

 A typical transaction server consists of multiple processes accessing data in shared memory.. 

a) Client/server communication can cause problems if messages are lost during transmission between client and server... The handling of such errors can be different, resulting