clients and servers

What are these?

One way to divide up the world of computing is into "servers" and "clients." Formally, the terms refer to software: servers are software applications (programs) that carry out tasks for client applications. Now the terms are also commonly used to refer to the hardware on which that software runs.

You are experiencing a client-server interaction as you read this page. Web server software is responsible for processing Web content -- written in a programming language called HTML -- for presentation to client software called a Web browser (e.g., Internet Explorer, Firefox, Opera or Safari).

To take another very common interaction, email server software (such as Microsoft Exchange Server) processes email messages for presentation to client email software (such as Microsoft Outlook, Apple Mail, Eudora or Entourage).

The server software runs on server computers, usually located in a protected datacenter. Client software runs on personal computers (PCs), or portable computing devices like a PDA or smart cellphone. The public Internet, a private wired or wireless network, or the cell phone network provides the connections among them.

This arrangement is actually a venerable one (by computing standards). In the early days, centrally located computers called "mainframes" interacted over communications links with "dumb terminals." The terminals were "dumb" because they could do essentially nothing on their own -- they had a keyboard and a video display, but no significant processor "brain."

Today's PCs are obviously much more capable, but still must rely on servers for tasks.

Why do you need to know this?

If all is going well, the interaction between server and client is seemless. You don't need to know whether the server or client is performing a particular task. But if there is a failure of some sort, it may be helpful to have a basic understanding of what work is being done by each component in your particular situation. At the very least, it'll help you with translating the explanation a customer support technician gives you.

For example, under some email protocols your messages are immediately downloaded and stored on your PC by your email client software (POP3 protocols, for example). In others, they remain on the email server (IMAP4 protocols). A communications problem does not affect your access to old messages in the first situation, but it does in the latter. A hard drive failure in the former situation may be catastrophic for your email collection, but not in the latter.

As that example shows, one of the most important things for you to understand in a client-server world is where your data files are being stored, so you know whether you have the responsibility for keeping backup copies. More generally, it affects how much you need to worry about data security for your computer or personal computing device.

Confusing the categories

Some information service implementations blur the distinction between clients and servers:

For example, there are "applications portals" that allow you to use a Web browser to access software applications like those of Microsoft Office, that normally must be installed as clients on your PC. The software is actually running on a server, interacting with your computer over your network connection, mimicking the function of installed client software.

Some organizations provide "network file directories" that can be accessed in the same manner as the files on your computer's local hard drive. The files are actually stored on file server computers in a datacenter, made accessible to you over your network connection.

The advantage of server-based applications is that you do not need to install your own copy of the software; and, as noted, with server-stored files you are not dependent on the security or reliability of your PC (particularly its hard drive).

The disadvantage is the dependence on a secure high-speed connection between the servers and your system. In a workplace environment, that's usually not a problem. For remote use, such as from home, you'll need a broadband connection for most of these services.

Note that even services that are entirely "server-based" may require some kind of minimal software installation on your client device, such as a plug-in for your Internet browser. The first time you use the service, you will be prompted for permission to do this install. As always, you should only allow installations of software from trusted sources.

What's coming next

As more and more services migrate to the Web, browsers like Internet Explorer have become a sort of "universal client" that allows access to everything. Particularly popular are Web-based email services, that act just like email software installed on your computer. (Micorsoft's Outlook Web Access is a server-based version of Outlook, it's client email softare. Most of the large ISPs also offer Web-based email systems.)

If you can use servers to run your software and store all your files, for what do you need the processing power and storage capacity of a PC? Indeed, it has been proposed by some that PCs should become essentially like the dumb terminals of old -- no local storage, minimal processing power, reliant on the server for what is needed. Don't call them dumb, though. The polite label for such down-scaled PCs is "thin client."

See also:

Servers (Wickipedia)
What the varieties do, with links to technical detail on the various branches of the family

Client-server model (Wikipedia)
More on the architecture that weaves together clients and servers

Last modified: 17-Apr-2006 [RC]

 
 

   © 2002-2006 Contributing authors and University of Miami School of Medicine