remote display system | has clients programs that want to display information on the screen, such as X-Windows |  |
has server a program that manages the screen and allows applications, perhaps running on other computers, to display their output, such as a Unix X-Windows server |  |
is a subtopic of 3.4 - The Client-Server Architecture |  |
is a kind of client-server system |  |
client-server system | generally uses multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input |  |
has interaction - The server starts running
- The server listens for clients wanting to connect
- Clients start running and perform various operations, some of which require connecting to the server to request a service
- When a client attempts to connect, the server accepts the connection if it is willing
- The server waits for messages to arrive from connected clients
- When a message from a client arrives, the server takes some action in response, such as sending a message back to the client, then resumes waiting
- Clients and servers continue functioning in this manner until one of them decides to shut down
|  |
has problem developers of clients are frequently forced to upgrade their clients whenever the server is changed if clients and servers are developed by different organizations |  |
involves at least one server and one client |  |
is inherently concurrent because the server runs concurrently with the clients, normally (but not necessarily) on different computers |  |
is prone to security violations, due to the fact that information is transmitted over a network |  |
is vulnerable to interruptions in communication or denial-of-service attacks |  |
should be forward-compatible and backward-compatible with other versions of clients and servers by designing the client-server protocols to be very general and flexible |  |
should incorporate encryption, firewalls and similar methods of ensuring security |  |
distributed system | is divided up into clients and servers |  |
system | can have specification which is then implemented by a collection of components |  |
exists even if its components change over the course of time, or are replaced by equivalent components |  |
has scope |  |
has part component |  |
has part hardware |  |
has part module |  |
has part software |  |
has part subsystem |  |