Object Oriented Software Engineering   View all facts   Glossary   Help
subject > system > distributed system > client-server system > peer-to-peer system
Next client-server systemremote display system    Upclient-server system    Previous client-server systemnetwork file system   

peer-to-peer system
subjectfact 
peer-to-peer systemallows each program to function as both a client and a server2001-08-30 14:56:57.0
contains software components that are distributed over several hosts and that can each be both a server and a client2001-08-30 14:56:57.0
has definition A client-server system in which each program can act as both a client and a server for all the other programs2001-08-30 14:56:57.0
is a subtopic of 3.4 - The Client-Server Architecture2001-08-30 14:56:57.0
is a subtopic of 9.5 - Architectural Patterns2001-08-30 14:56:57.0
is a kind of client-server system2001-08-30 14:56:57.0
is a kind of client-server system2001-08-30 14:56:57.0
client-server systemgenerally 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 input2001-08-30 14:54:53.0
has interaction
  1. The server starts running
  2. The server listens for clients wanting to connect
  3. Clients start running and perform various operations, some of which require connecting to the server to request a service
  4. When a client attempts to connect, the server accepts the connection if it is willing
  5. The server waits for messages to arrive from connected clients
  6. 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
  7. Clients and servers continue functioning in this manner until one of them decides to shut down
2001-08-30 14:54:53.0
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 organizations2001-08-30 14:54:54.0
involves at least one server and one client2001-08-30 14:54:54.0
is inherently concurrent because the server runs concurrently with the clients, normally (but not necessarily) on different computers2001-08-30 14:54:54.0
is prone to security violations, due to the fact that information is transmitted over a network2001-08-30 14:54:54.0
is vulnerable to interruptions in communication or denial-of-service attacks2001-08-30 14:54:54.0
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 flexible2001-08-30 14:54:54.0
should incorporate encryption, firewalls and similar methods of ensuring security2001-08-30 14:54:54.0
distributed systemis divided up into clients and servers2001-08-30 14:55:20.0
systemcan have specification which is then implemented by a collection of components2001-08-30 14:57:52.0
exists even if its components change over the course of time, or are replaced by equivalent components2001-08-30 14:57:52.0
has scope2001-08-30 14:57:52.0
has part component2001-08-30 14:57:52.0
has part hardware2001-08-30 14:57:52.0
has part module2001-08-30 14:57:52.0
has part software2001-08-30 14:57:52.0
has part subsystem2001-08-30 14:57:52.0

Kinds of peer-to-peer system :

Next client-server systemremote display system    Upclient-server system    Previous client-server systemnetwork file system