Network Engineering Practice Lecture 7

Client/ Server



This lecture is divided into hyperlinked sections

Introduction
Client/ Server Interaction
Operation of Client/ Server
Division of the Software
Client Software
Server Software
The Client/ Server architecture
Client Characteristics
Thin Client
Server Characteristics
Requesting a Web page
Advantages and disadvantages of client/ server
Types of Server
Conclusion
References
Appendix - Hardware Specifications



Introduction

This lecture will examine the sequence of events that takes place when a client makes a request from a server.

We will see how the software that is designed to perform the task is divided into two sections, the client and the server.

We will see the characteristics of computers that will run the client software and also characteristics of computers that will run the server software.

We will look at the sequence of events that takes place when a user requests a web page.

We will see some advantages and disadvantages of the client/ server relationship.

Finally we will see some examples of server softwares.



Client/Server Interaction

Another name for client/ server computing is distributed computing. This is a method of computing where one powerful computer at a remote location is performing a task or tasks for lower specification computers elsewhere at the request of these lower specification computers.

An example of a client/ server interaction is requesting a web page from a web server.

Client/ server interaction is a proactive service. The server software must be running constantly to accept requests from clients. The server software only begins to operate when it receives a request from the client software. Without client requests, server software will do nothing.


Operation of Client/ Server

The operation of all client/ server operations is broadly the same. The steps below illustrate these steps.
 

  1. A user of a computer will request a service using client software
  2. The client software produces a request for the server software
  3. The network delivers the request to the remote computer running server software
  4. The remote computer uses the server software to accept the client request and to perform the requested task
  5. The network is used to deliver the result of the request back to the client software
  6. The client software displays the result to the user
Division of the Software

The software that implements a certain task is divided into two parts. One part of the software is known as the client, that is run on the computer that is requesting the service. The other part of the software is known as the server and this application is run on the computer that is to perform the service. Another name for the server side of the software is a daemon.

The program that is running on the client uses protocol software to communicate with the program that is running on the server. When using the Internet the two programs make use of the TCP/ IP protocol stack for communication. 


Client Software

An application program that uses the Internet (or any network) to access a service from another computer becomes a client. The client software forms a request (mouse input or keystrokes), uses the Internet (or the connecting network) to carry the communications to the server. The client now waits for the reply from the server.

Once the client has received results from the server, it may display the results received from the server.


Server Software

The server side of the software must be running continuously to receive requests from clients. The client can initiate a conversation at any time so the server program must always be waiting to receive requests, 24 hours a day, 7 days a week. The server software is generally run on large computers with high speed I/O capabilities. Often several servers will be running on one of these computers to service various requests e.g. FTP, web server.

If the server computer loses power or suffers a software failure, clients will be unable to gain a response from the server. An error message will be displayed on the client machines screen to inform the user of the failure to establish contact.


The Client/ Server architecture

To operate, two PCs are required. The Client machine and the Server machine.

Fig 7.1 Overview of Client/ Server Relationship

Note that although the above shows only one client, it is possible to have very many clients depending on just one server. This helps to spread the cost of the service among many machines.


Client Computer Characteristics (front end):

Thin Client

This is a specification for a networked computer or terminal that has limited hardware. The majority of the processing work is carried out at the server, so the job of the thin client is to accept keystrokes and input from the user and transmit requests to the server and to display the results of the server's work. The client machine is stripped of superfluous hardware to minimise cost and maintenance of the client.

A number of factors drive the demand for thin clients today. The definition of what a thin client is varies from person to person. There are four common factors driving the demand for thin clients.

The need for a lower cost device.
This need comes primarily from organisations seeking to upgrade terminals and purchase a sub $500 device.

Lower management costs for devices.
This comes primarily from corporate customers deploying devices more broadly throughout their organisations to users whom would be best served with a lower device cost. For example, these users include receptionists and order entry workers.

New application requirements.
Examples of this include Kiosk style solutions in public areas and in-room systems at hotels.

New user requirements.
These users need the benefits of a Windows-based environment, but not the complete power and flexibility of a PC.


Server Computer Characteristics (back end):

Requesting a Web Page


Figure 7-2 The sequence of events when a web page is requested



Advantages of Client/ Server Disadvantages of Client/ Server Types of Server

Web server. This software is resident on highs specification hardware. A web server is a program running on a computer that holds and transmits webpages on request. Each website available on the Internet resides on the hard disk of a computer somewhere. This computer runs an HTTPD or Hypertext Transfer Protocol daemon. This is a program that continuously listens for requests to come in from clients.

The requests are sent by software running on the client PCs. The client PCs must run Hypertext Transfer Protocol HTTP softwares as Netscape or Internet Explorer. This is to decode the html and javascript commands that the webpages are written in and also to request other pages from the web server,

The most popular web server software packages are:
 


Interoperability problems may affect the web server. Guarantees should be sought that it will work with the operating system, hardware and other servers. A good server program ought to be able to handle server-side programming, webpage publishing, search engines, etc.


Communications server. This is software that deals with clients' requests for communications to the outside world. It selects the optimum method of transportation to the requisite destination.


A file server is a powerful microcomputer that allows every user to access any file that the user has access rights to on the server. One useful feature is that only one copy of each application needs to be stored for the use of all users. This ensures that all users have access to the same version of the software. This makes upgrading easier because there is only one copy of each application to upgrade rather than say 100 copies spread across the LAN.

It handles access to shared storage, directories and files. A file server also controls the exchange of files between network users. It also holds the operating system and applications and data.

The file server will direct user requests for printing to the print server which then handles the all the associated file and print activities and relieves the file server from much work and improves LAN efficiency.


Domain Name Service. This is a system that translates domain names to IP addresses. If you are working in an organisation that has just one DNS server and want to contact a web server in USA for a web page, the application (browser) you are using will automatically call its local DNS server which will then forward the request to the appropriate DNS in USA. This may require more than one hop, depending upon whether the DNS server in USA that is first contacted has a copy of the relevant domain name/ IP pair. The American DNS server will reply to your local DNS server which will then supply your application (browser) with the IP number you wanted.

The American DNS server may be identified by the organisation specified in the domain name.

Your application may now contact the American web server directly using the IP number in its datagrams.

Below is a simplified diagram of the whole process.

 

Figure 7.3 Requesting an IP address from an American DNS server

Referring to fig 7.3, steps 1, 2, 3 and 4 involve resolving the domain name into an IP address. Step 5 happens once the IP address has been returned; this is where the application program sends a request for a web page. Step 6 is where the web page is returned to the application to be displayed on the monitor. 


A print server is a microcomputer that is dedicated to handling an office's printing. A print server manages and accepts printing jobs from workstations on the LAN and queues jobs (spooling) until they can be printed. It has the ability to carry out print management functions such as attaching different priorities to different jobs or re-directing jobs to other printers.


Conclusion

The client/ server relationship is a cost effective way of providing extra services to networked computers. The requirements are a high specification computer to run the server software and many lower specification networked computers running client software. The server's task may be as a file server, database server, communications server, web page server or ftp server.

A thin client is often desirable as it is a low specification computer that is easily managed, costs little, can be deployed in public places and runs a windowed environment.

To operate in this relationship, the software required is spread between the client and the server, with the client(s) having a (hopefully) user friendly interface and the remote machine running the server side of the software.

This is a proactive system; the server only reacts to requests from the clients.

All client/ server operations need to take place across a network and use the network purely as a delivery medium.



References
 
PC Support Handbook, D Dick, Dumbreck Publishing 1998, p 451

Microsoft Website Resources


Appendix - Hardware Specifications

Client machines are generally low specification computers with modest speed NICs and low capacity hard drives. They tend to have 17" monitors and good performance graphics capabilities to provide the end user with good display properties. The CPU in a client computer does not have to be the fastest available processor. This is because in many situations the cost of many client machines in a company can be reduced by using lower specification and therefore cheaper parts. The current (March 2001) cost of a client is around £400.

Server machines have high speed input and output capabilities. Very often the server will have high capacity hard disks and incorporate RAID. The server machine will have a high performance CPU or even two or more CPUs. The current (March 2001) cost of a server is around £5000.

To respond to client requests the server runs a daemon. This is a program that runs continuously on the server machine. Its task is to deal with periodic service requests from clients. The daemon program forwards the requests that have come from clients to other programs (or processes) on the server as appropriate.

 
 
 

Back to top of page

© MM Clements 2001