Next: Sockets
Up: Introduction to Parallel Algorithms
Previous: Other Network Technologies
Contents
Client/Server Systems
- A Client/Server is a distributed system whereby the application is divided into at
least two parts:
- one or more servers perform one part
- the other part is performed by one or more clients.
- Furthermore, the clients are connected to the servers by some kind of network. A client computer may do very little more than simply display data accessed from the server, or a more sophisticated client may run a full application, which uses data provided by the server.
- Client/Server systems are often categorized as two-tier or three-tier.
- A two-tier system separates clients from servers: all clients are on one tier, and all servers are on the second tier. For example, client PCs may access a database on one or more servers.
- A three-tier system separates the clients from the servers as does a two-tier system, but in addition, servers are divided into two more tiers.
- The application servers fit into a middle level, called the second tier,
- and the database servers fit into a third level called tier 3. For example, client PCs might be connected to a web server (tier 2) that in turn accesses a database server (tier 3) to handle storage.
- Modern programming languages provide constructs for building client/server-based
distributed applications. These applications are divided into clients and servers, which are allocated to different computers in a network.
- A client sends a request to the server and waits for a response.
- At the other end, when the server receives a request, it processes it and sends the results back to the client.
- In a database system, several clients send queries to the server that has access to the database. The server executes the queries on behalf of the clients and sends each client its respective result.
- A multithreaded process is considered an efficient way to provide server applications. A server process can service a number of clients as shown in Fig. 8.2. Each client
request triggers the creation of a new thread in the server.
Figure 8.2:
A multithreaded server in a client server system.
|
Subsections
Next: Sockets
Up: Introduction to Parallel Algorithms
Previous: Other Network Technologies
Contents
Cem Ozdogan
2006-12-27