Physical and Architectural Models (Revision) Flashcards
What is the Baseline Physical Model for Distributed Systems?
-Components located in computers.
-Communicate via interconnected network. (by passing messages).
What are the entities communicating in an Architectural model of a DS?
-System-oriented Perspective (what is running?)
-Program-oriented Perspective (how can I abstract what is running?)
How do these entities communicate?
-Inter-process communication: Message Passing via Sockets.
-Remote Invocation:
1. Request-reply protocols (send a request and receive a response).
2. RPC (Remote Procedure Call): Request the execution of a remote function and receive a response.
3. RMI (Remote Method Invocation): Object-oriented RPC.
What are the limitations of inter-process communication and Remote invocation?
Time coupling and Space coupling.
What roles and responsibilities do these entities have?
Client-Server:
1.The client makes a request and the server responds.
2. The clients have access to shared resources managed by servers.
3. Servers might be clients of other servers.
P2P:
1.All clients play similar roles => evenly distributed workload.
2. Same program, same interfaces running on different machines.
3. Can improve scalability as it enables decentralized approaches.
What does the placement of elements in DS impact?
Performance, Security and Scalability.
What are some aspects we need to consider when designing the DS?
-Communication channels.
-Reliability.
-Quality of communication channels.
-Application workload.
What are two types of element placement in DS?
- Mapping of services to multiple servers. Data objects can be partitioned or replicated. Replication guarantees fault tolerance but no data consistency the partition the opposite.
- Caching.
What is Layering and Tiering? (See activity)
Layering (logical organization): Vertical organization of services into service layers
Tiering (physical organization): Adjacent to Layering, organizes functionality of a specific layer and places this functionality into servers.