Physcial and Architectural Models Flashcards
What is the general approach to modelling DS?
Use models to represent DS to capture their relevant aspects.
Develop general solutions for classes of distributed systems.
Reuse solutions for new DS.
What are the baseline physical models?
Components located at computers.
Computers interconnected by a network
Components communicate by passing messages over the network.
What are the types of physical model for DS?
Early DS : Homogeneity, small scale
Internet-scale DS: Internet network, Heterogeneity, Global Scope
Comtempory DS: Supports mobile, ubiquitous, cloud computing.
Distributed System of Systems: Progressive integration of existing DS.
What does an architectural model describe?
Types of components involved
Interrelationships of components
Interaction between components
What is an architecture validated on?
Availability
Performance
Adaptability
Security
What are the two main aspects of architecture?
Architectural elements: Components, communication, roles, deployment
Archtectural patterns: Common strategies to combine the building blocks
What are the communicating entities of a DS?
Processes communicating via inter-process channels.
Threads
What are the communication paradigms of DS?
Direct and Indirect Communication
How do processes communicate in Direct Communication?
Message passing
Sockets
What are the limitations of RI and Interprocess Communication
Space coupling: Senders need to know how to reach the receivers (endpoints)
Time Coupling: Sends and recevies need to be up and running at the same time.
What does indirect communication achieve?
Time and space decoupling between senders and receviers.
What are examples of indirect communication?
Group communication
Publish-subscribe systems (MQTT)
What are the roles and responsibilities in a Client-Server system?
Clients send requests to servers and receive responses back.
Clients enabled to access shared resources that are managed by servers.
What are the roles and responsibilities of P2P networks?
All involved play similar roles.
Clients can become part of the network and provide their resources to support the service.
What do P2P networks enable?
Decentralisation
Better load balancing
Better scalability
What does placement impact in DS?
Performance, Reliability, Security
What aspects should be taken into account when designing placement of DS?
Communication patterns
Reliablilty of machines
Application workload
Quality of communication channels
What are the pros and cons of partioning data over servers?
Pros: Fault tolerence, load balancing
Cons: Need to ensure consistency
What are the pros and cons for data replication over servers?
Pros: No overhead for data consistency
Cons: no real fault tolerence
Where are caches located?
Proxy servers
Why are caches used?
To provide a closer store of data.
What are the key architectural patterns?
Layering and Tiering
What is layering?
Logical organistaion of services into service layers.
Application, Middleware, OS, Hardware
What does the middleware in layering aim to do?
Mask heterogeneity
Provide suitable programming extraction (RMI, Group Communication)
What is tiering?
Physical organisation of layers.
Functionalities are turned into servers.