Lesson 1: Introduction Flashcards
Give an informal definition of a distributed system
A distributed system is a collection of independent computers that appears to its user as a single coherent system.
-> build a powerful system out of many simpler systems
What is a remote invocation?
A remote invocation is the complete interaction between client and server to process a single request
What is a server?
It is a running process on a networked computer.
It accepts requests to perform a service and will respond appropriately.
What is a service?
= part of a computer system managing a collection of related resources, presenting their functionality to users and applications.
Define a “client”
It is a running process on a networked computer sending service requests to servers.
Give 6 reasons to choose for distributed systems (keywords)
- Cost
- Capability
- Concurrency
- Reliability
- Integration
- Distribution
Explain why “cost” is a reason to choose for distributed systems
Networked commodity systems can render the best performance/$
Explain why “capability” is a reason to choose for distributed systems
Many computational problems are too large for any single system because of memory, data storage and computational requirements
Explain why “concurrency” is a reason to choose for distributed systems
Many ‘large’ problems have inherent options for parallelism
Explain why “reliability” is a reason to choose for distributed systems
Distributing redundant components minimizes the probability faults impact the user.
Explain why “integration” is a reason to choose for distributed systems
- For organizations to interact, their systems need to interact
- Highly specialized infrastructures need to be integrated and shared
Explain why “distribution” is a reason to choose for distributed systems
e-mail, WWW,… are inherently distributed as users are geographically spread
What are todays problems and challenges with distributed systems?
1) No limit on spatial extent, difficult to manage
2) No global time notion
3) Almost always concurrent execution
4) (partial) failures likely to happen
What are the the two main differences between coupled and de-coupled architectures?
In coupled architectures components are tightly linked with each other and removing/adding a component is non-trivial.
In de-coupled architectures components are loosely linked with each other and removing/adding a component is easier and can happen frequently
Give the two coupled architectures seen in class.
We have seen the layered and object-based architecture.