Clients and servers model in distributed system:-
The idea behind this model is to structure the operating
system as a group of cooperating processes, called servers, that offer services
to the users, called clients. The client and server machines normally all run
the same microkernel, with both the clients and servers running as user
processes, as we saw earlier. A machine may run a single process, or it may run
multiple clients, multiple servers, or a mixture of the two.
Addressing In order for a client to send a message to a
server, it must know the server's address
To avoid the considerable overhead of the
connection-oriented protocols such as OSI or TCP/IP, the client server model is
usually based on a simple, connectionless request/reply protocol. The client
sends a request message to the server asking for some service (e.g., read a
block of a file). The server does the work and returns the data requested or an
error code indicating why the work could not be performed, as depicted in Fig.
2-7(a). The primary advantage of Fig. 2-7(a) is the simplicity. The client
sends a request and gets an answer. No connection has to be established before
use or turn down afterward. The reply message serves as the acknowledgement to
the request.
From the simplicity comes another advantage: efficiency. The
protocol stack is shorter and thus more efficient. Assuming that all the
machines are identical, only three levels of protocol are needed, as shown in
Fig. 2-7(b). The physical and data link protocols take care of getting the
packets from client to server and back. These are always handled by the
hardware, for example, an Ethernet or token ring chip. No routing is needed and
no connections are established, so layers 3 and 4 are not needed. Layer 5 is
the request/reply protocol. It defines the set of legal requests and the set of
legal replies to these requests. There is no session management because there
are no sessions. The upper layers are not needed either.
Due to this simple structure, the communication services provided
by the (micro)kernel can, for example, be reduced to two system calls, one for
sending messages and one for receiving them. These system calls can be invoked
through library procedures, say, send(dest, &mptr) and receive(addr,
&mptr). The former sends the message pointed to by mptr to a process
identified by dest and causes the caller to be blocked until the message has
been sent. The latter causes the caller to be blocked until a message arrives.
When one does, the message is copied to the buffer pointed to by mptr and the caller
is unblocked. The addr parameter specifies the address to which the receiver is
listening.
Problem in client server model:-
There are three major problems of the client-server model:
- The first is due to the fact that the control of individual resources is centralised in a single server. This means that if the computer supporting a server fails, then that element of control fails.
- The second problem is that each single server is a potential bottleneck. The problem is worse as more computers with potential clients are added to the system.
- The third problem arises when multiple implementations of similar functions are used to improve the performance of a client-server based system because of a need to maintain consistency. Furthermore, this increases the total costs of a distributed computing system.
Two tier and three tier architecture:-
An Example Client and Server
When a bank customer accesses online banking services with a
web browser (the client), the client initiates a request to the bank's web
server. The customer's login credentials may be stored in a database, and the
web server accesses the database server as a client. An application server
interprets the returned data by applying the bank's business logic, and
provides the output to the web server. Finally, the web server returns the
result to the client web browser for display.
In each step of this sequence of client–server message
exchanges, a computer processes a request and returns data. This is the
request-response messaging pattern. When all the requests are met, the sequence
is complete and the web browser presents the data to the customer.
0 Comments
if u have any doubts please let me know,