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
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.
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.
The operation of all client/ server operations is broadly
the same. The steps below illustrate these steps.
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.
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.
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):
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):
Figure 7-2 The sequence
of events when a web page is requested
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.
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.
PC Support Handbook, D Dick, Dumbreck Publishing 1998, p 451Appendix - 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