In the early days of computing, it became clear that connecting personal computers to each other would yield substantial benefits by providing users with broader access to information and services across a network.
This gave rise to grouping computers together in networks, managed by central computers known as servers. These servers provide the core services which allow a network to function, such as storing files, printing documents, hosting websites and running applications. All of the computers on the network, known as clients, are connected to this server.
Today, this architecture – where clients access networks governed by servers – is the standard for businesses and public entities around the world.
Services provided by servers
Servers can be configured to provide a variety of services. For example, a file server stores files and controls access to those files and their distribution, while a print server manages the various printers on the network.
A single server can be configured to provide a specific service on a network or a combination of services. Small organizations might have one server configured to provide all services available on their networks, while larger organizations generally have separate servers dedicated to specific tasks such as file, print, web and directory services.
Directory services are used to track and organize information about users and resources on a network. A directory service could be compared to a card catalog of a library, which stores information about all the books on the shelves.
Directory services also serve as the central security authority on the network. The directory service contains information about who has access to what resources on the network, and enforces when and how users can access those resources. Users experience this when they log on to their computer and receive authorization to access particular files or services on the network.
In the client-server architecture, the directory service does not always reside in one large computer. Most modern directory services are in effect distributed across a number of smaller inexpensive server computers that work together as one to provide the same functionality.
Unlike the relationship between other server and client computers on a network, distributed servers are made up of computers that act as one entity, sharing responsibility for processing requests.
Distributed servers are scalable, meaning additional server units can be added to the “stack” or removed depending on the needs of the network. However, because servers in a distributed server must use exactly the same logic to process requests, it is virtually impossible to swap out and plug in a server that is anything less than an exact duplicate of servers operating with the “service boundary” or cluster of servers that make up a distributed server system.
Put another way, a stack of servers in a distributed server system are generally considered a single server on a network.
It is crucial for server and client computers to be able to communicate or ‘interoperate’ with each other on a network. They do this by what is known as a “communications protocol” – the technology that enables two different software programs to exchange information to carry out an action. These protocols cover communications either between one server and another server (server-to-server) or between a PC and a server (client-server). To facilitate interoperability companies make these communications protocols available.
The protocols used within the service boundary of a distributed server system, however, are different from those necessary to allow interoperability because they only are used for servers within the confines of that stack, not with other servers or clients on the network.
Interoperability is a reality in the marketplace. Many companies and administrations run heterogeneous networks made up of several different systems interoperating. For example, a user who has a PC running Windows can easily add a Windows server, a Linux server and a Sun server to offer file and print or directory services: there is no technical obstacle to such interoperability.