In this chapter, you begin to learn with an examination of some of the primary concepts in distributed software which includes client - server architecture, message passing technique, and remote procedure calls. Then you will examine the increasingly significant cluster architecture.
What is Client - Server Computing
As with other developing phases of the computer field, the client/server computing comes with its new collection of terminologies. As the term depicts, a client/server environment is occupied by clients and servers. The client systems are generally single - user workstations or computers which provide a highly user-friendly interface for the end-user.
The client based station usually presents the type of graphical interface (GUI) which is most comfortable to users that include the requirement of windows and a mouse. Microsoft Windows and Mac OS offers an example of those types of interfaces. Client-based applications are customized for simplicity in using and include familiar tools like a spreadsheet. Every server in the client/server environment allows a set of shared services for the clients. The most common category of the server at present used is the database servers.
Distributed Client/Server Architecture's Terminologies
- Applications Programming Interface (API): It is a set of task, and it calls programs which allow clients as well as servers for intercommunicating with each other.
- Client / User: It is a networked information requester which is typically a computer system or workstation which can query database and / or other information from a server.
- Middleware: It is a set of drivers, API's and / or other software which improves the connection among a client application with a server.
- Relational Database: It is a type of database wherein the information access becomes limited to the selection of rows which satisfy all search criteria.
- Server: It is also a computer, typically a high-powered systems and workstations or a minicomputer or a mainframe, which houses information to manipulate the networked clients.
- Structured Query Language (SQL): It is a language developed by IBM (International Business Machines) and ANSI had standardized it for addressing, producing, updating and querying RDB's (relational databases).
Distributed Message Passing
It is generally the case in any distributed processing structures/systems where the computers don't share main memory instead each of them is an isolated computer system. Thus, inter-processor communication mechanisms which rely on shared memory, such as semaphores, can't be used. Hence, techniques which depend on message passing are used.
The 1st one is the straightforward application for messages as they are utilized in a single system. The 2nd follows a separate technique which relies on message passing as a essential function which is the remote procedure call.
Clusters in Distributed Systems
Clustering is a substitute to symmetric multiprocessing as it is another way of providing high performance and availability which is particularly attractive for server applications. You can define a cluster as a collection of interconnected, complete computers working together as a combined computing resource which can create the structure of being one machine. The term complete computer tells that a system can run on its own, separately from the cluster and, each computer in the cluster is usually referred to as a node.