System models for DS (2) Flashcards
What are the different types of system models?
Physical models (hardware composition)
Architectural models (Software/ system architecture)
Fundamental models (formal description of common properties in architectural models)
What are common elements in architectural models?
Communicating entities
Communication paradigms
Roles and responsibilities
Placement strategies
What are examples of communicating entities in architectural models?
(distributed) Objects
(distributed) Components
web services
What are examples of communication paradigms in architectural models?
IPC
Remote invocation
Indirect communication
How does caching in placement strategies affect the system?
Moving the resource closer to the user by having proxy server, reduces load on main server
Server cache reduces latency if fetching from the DB is not needed.
Disadvantage is that cached data might be outdated.
What are the two types of interaction model in distributed systems? How do they differ?
Asyncrhonous and synchonous systems.
In synchronous systems there is known lower and upper bound to the execution and transmission time as well as amount of clock drift.
In async systems it could be arbitrarily long.
What are some regular architectural patterns?
Layered architecture
Tiered architecture
Microservices
Thin clients
What are microservices?
A service is deployed on a simple VM/ execution environment.
Each microservice is:
- Responsible for a simple feature.
- Reusable and standalone.
- Autonomous
What are thin clients?
An architectural pattern where you try to move complexity from client to server. Server does the processing and sends results to client.
What types of middleware solutions are there in layered architecture models?
Distributed objects Distributed components Pub/sub systems Message queues Web services P2P
What are the most common types of fundamental models?
Interaction model.
Failure model.
Security model.
What is the purpose of fundamental models?
Make all relevant assumptions about the system explicit and find out what is feasible under the given assumptions.
What is an interaction model?
A model focused on the processes, messages and coordination of the system. It must reflect that messages could be delayed, and that delay limits coordination and maintenance of global time.
Why are failure models useful?
The define in how a failure might occur in the system. This gives a basis for understanding the effect of failures and can be used to construct a new service that hides the faulty behaviour.
What are the three main types of failure types?
Omission failures (Process or channel fails perform actions it's supposed to do)
Arbitrary failures (Process or channel may exhibit arbitrary behaviour when failing)
Timing failures (Relevant in synchronous systems. e.g. responses not available to clients in specified timing interval)