(11) Computer Networks Flashcards
What are the components of a distributed System?
Nodes: hosts
Edges: computer network
What are the issues regarding distributed systems?
- single point of failure, performance bottlenecks
- no global view, no global time
- Heterogeneous network and nodes
What are the advantages of distributed systems?
- resource sharing is possible (e.g. printer)
- connect remote places
- Redundancy
- Reflect the organisational structure
What are difficulties and threats facing distributed systems?
- Widely varying mode of use (workload, available resources, …)
- Wide range of system requirements (heterogeneous hardware and operating systems, …)
- Internal problems (non-synchronised clocks, conflicting data access,…)
- External threats (attack on data integrity and secrecy)
Which aspects have to be considered when designing a distributed system?
- Architecture (architectural models)
- Interaction of different processes (interaction models)
- Failures in distributed systems (failure models)
- Security in distributed systems (security models)
What do interaction models consist of?
- Roles: determine the communication partner
Interaction: data is exchanged and synchronisation pattern
What are Producer/Consumer Systems and how do they work?
- Interaction model
- Producer: generates data and sends it to consumer
- Consumer: receives and processes data
- Interaction: unidirectional communication
Example: Video Stream
What is the Pipeline Model and how does it work?
- Generalisation of the producer-consumer model
- Intermediate processes are both producer and consumer
- Processes are connected by unidirectional communication channels
- Example: Data exchange in a supply chain
What is the Client-Server Model and how does it work?
- Client: sends service request to the server (active entity)
- Server: waits for request, processes it, and sends the result back to the client (passive entity)
- A server process offers its service to a set of a priori unknown number of clients
- A client process uses the offered service
- A service may be implemented by
several server processes
What is the reason for architectural models?
- Client/Server does not (necessarily) map to the application structure
- Placement and relevance of components is crucial
- Approach: A general architecture model
What are architectural models doing and what are examples of architectural models?
- Architectural Models define the structure of the distributed
system involving different components - Abstraction of the functions of the individual components
- Examples: Three-Tier-Architecture, Peer-to-Peer Architecture
What is the Peer-to-Peer architecture?
- Elimination of the requirements of centrally managed servers
- Provision of resources (e.g., data, storage, bandwidth) by every peer
- All participants are equal
Which types of Peer-to-Peer architecture exist?
- Hybrid Peer-to-Peer: Server is used for peer coordination, Peers let server know which resources they share, direct interaction between peers
- Pure Peer-to-Peer: Peers are all equal, no server (every peer acts as client and as server), Challenge: distribution and location of data and resources)
What is the reason for Layered Networks?
- Designing communicating systems is a complex task (numerous complex functions with different levels of abstractions that interact)
- Solution: layered systems
How are Layered Systems constructed?
- Every layer realizes one level of abstraction
- Interfaces: define which service primitives the lower level offers to the higher level
Protocols: communication agreement between two parties of the same layer on different machines