contents  
previous
4. Client/server and peer-to-peer architectures
- In the client/server model, each "client" subsystem makes use
of services provided by one or more "server" subsystem.
- Typically, each server is multithreaded and can service multiple customers
simultaneously.
- Servers do not need to understand the clients or their interfaces, allowing
for significant variations in clients.
- In a central database system, the database management system plays the role
of a server.
- Peer-to-peer systems share many of the same features of client/server,
except that each subsystem plays a dual role: sometimes a client, sometime a server.
- Due to the independent nature of each of the subsystems in a peer-to-peer system,
and the need for services provided by other subsystems, peer-to-peer systems can
end up in deadlock. That is, the system can end up in a situation where a number of
subsystems are each waiting for service from another such subsystem, in a circular
fashion. Each winds up waiting indefinitely, until some deliberate steps are taken to
break the deadlock.
next