Distributed Systems - staff.city.ac.uk
Download
Report
Transcript Distributed Systems - staff.city.ac.uk
Distributed Systems
- Revision Christos Kloukinas
Dept. of Computing
City University London
© City University London, Dept. of Computing
Distributed Systems / Revision - 1
How To
First get the past exam(s), to get a better idea of what the exam
will be like.
Fast revision: For each session, read:
» Its introduction;
» Its summary; and
» Its summary that is at the beginning of the next session!
Then read each session and try to come up with questions for
them of your own.
Answer these questions & those in the past exam(s)
Feel free to collaborate on this – use Moodle.
» I will be correcting any wrong answers in Moodle (but not
providing correct answers to begin with)
» Won’t post for a few days before the exam – don’t leave it for
too late!
© City University London, Dept. of Computing
Distributed Systems / Revision - 2
Session 1 – Motivation
1.
2.
3.
4.
5.
What is a Distributed System
Why bother with them? Non-Functional Reqs
Examples of Distributed Systems
Common Characteristics
Summary
»
What is a distributed system and how does it
compare to a centralised system?
»
What are the characteristics of distributed
systems?
What are the different dimensions of transparency?
How do they depend on each other?
»
»
© City University London, Dept. of Computing
Distributed Systems / Revision - 3
Session 2 – Distributed SW Eng.
Distributed Systems consist of multiple
components.
Components are heterogeneous.
Components still have to be interoperable.
There has to be a common model for
components, which expresses
» component states,
» component services, and
» interaction of components with other
components.
© City University London, Dept. of Computing
Distributed Systems / Revision - 4
Session 3 – Communication in DS
What communication primitives do distributed
systems use?
(OSI stack)
How are differences between application and
communication layer resolved? (XDR/ASN)
What quality of service do the client/server
protocols achieve?
(M/LO/MO/EO)
What quality of services are involved in group
communication?
(Best Eff./K-Rel/Tot. Ord./Atomic)
The CORBA event management. (Push vs Pull)
© City University London, Dept. of Computing
Distributed Systems / Revision - 5
Session 4 – RMI
Motivation and Introduction to Java RMI
Conceptual Framework
RMI Details
Example Implementation
Summary & Critique of RMI
© City University London, Dept. of Computing
Distributed Systems / Revision - 6
Session 5 – CORBA
Introduction
Object Management Architecture
CORBA Communication
Implementation, “Hello World” Example
RMI vs CORBA Comparison
© City University London, Dept. of Computing
Distributed Systems / Revision - 7
Session 6 – Programming in CORBA
1. Poly-lingual applications
2. Standardisation of bindings
3. What bindings need to address
4. An example: IDL/Java
How does each IDL construct map to Java?
5. Object LifeCycle
© City University London, Dept. of Computing
Distributed Systems / Revision - 8
Session 7 – Naming & Trading
1 Location Transparency: A reminder
2 Naming
3 Trading
Location Transparency requires other forms of
identification than physical addresses.
Naming services provide facilities to give external
names to components.
Trading services match service types requested
by clients to servers that can satisfy them.
© City University London, Dept. of Computing
Distributed Systems / Revision - 9
Session 8 – Concurrency
Lost updates and inconsistent analysis.
Pessimistic vs. optimistic concurrency control
» Pessimistic control:
– higher overhead for locking.
+ works efficiently in cases where conflicts are likely
» Optimistic control:
+ small overhead when conflicts are unlikely.
– distributed computation of conflict sets expensive.
– requires global clock.
» Can you compute validation sets and conflicts?
CORBA uses pessimistic two-phase locking.
© City University London, Dept. of Computing
Distributed Systems / Revision - 10
Session 9 – Transactions
Transaction concepts:
» ACID – Can’t do without it…
» Transaction commands (begin, (vote), commit, abort)
» Roles of distributed components in transactions
Two-phase commit
» phase one: voting
» phase two: completion
CORBA Transaction Service
» implements two-phase commit
» needs resources that are transaction aware.
© City University London, Dept. of Computing
Distributed Systems / Revision - 11
Session 10 – Security
Threats, Methods of Attack, Infiltration
Cryptography:
» Symmetric (Secret) Keys (e.g., DES, AES)
» Asymmetric (Public-Private) Keys (e.g., RSA)
Authentication: Needham/Schroeder Protocol
Systems:
» Kerberos, CORBA
© City University London, Dept. of Computing
Distributed Systems / Revision - 12