Distributed Algorithms and Systems
Code | Completion | Credits | Range |
---|---|---|---|
X36DSV | Z,ZK | 4 | 2+2c |
- Lecturer:
- Peter Macejko, Jan Janeček (gar.)
- Tutor:
- Peter Macejko, Jan Janeček (gar.), Jan Kubr
- Supervisor:
- Department of Computer Science and Engineering
- Synopsis:
-
The course is aimed on technologies that enable distributed application programming: mechanisms that support error-free, effective and secure data transfer among communicating processes, interfaces of standard communication channels and up-to-date middleware technologies. The second part of the course is given to selected distributed algorithms that assure causality, support exclusive access and manage resulting deadlocks, permit to create fault-tolerant and secure applications.
- Requirements:
-
Completion of the project, successful test.
- Syllabus of lectures:
-
1. Distributed computation - synchronous and asynchronous computation
2. Communication systems - communication protocols, routing
3. Communication system interfaces - TCP, UDP, FLIP
4. Synchronous and asynchronous message passing, multicasting, distributed shared memory
5. Procedural communication - IDL interface, call semantics, asynchrony
6. Implementation issues - CORBA architecture, CORBA, Java, IDL, XML, Jini technologies
7. Distributed application models - client server, peer-to-peer, subscribe/publish
8. Time - synchronising physical clocks, logical time - scalar, vector timestamps.
9. Concurrency control - mutual exclusion , resource allocation
10. Avoiding deadlocks - pessimistic and optimistic strategies, termination detection
11. Replication mechanisms
12. Fault tolerance - fault characteristics, failures masking, stabilising algorithms
13. Mobility in distributed systems - load mobile agents
14. Security in distributed systems - Kerberos
- Syllabus of tutorials:
-
1. Introduction, semestral project assignment
2. CORBA environment: IDL interface
3. .Net environment: remoting, SOAP
4. Individual work on the project, consultations
5. - " -
6. - " -
7. - " -
8. Java IDL - CORBA application
9. Individual work on the project, consultations
10. - " -
11. - " -
12. - " -
13. Project evaluation, test
14. Project evaluation, assessment
- Study Objective:
- Study materials:
-
1. Henning M., Vinoski S.: Advanced CORBA Programming with C++. Addison-Wesley 1999.
2. Coulouris G., Dellimore J., Kindberg T.: Distributed Systems: Concepts and Design. Addison-Wesley 1995.
3. Tel G.: Introduction to Distributed Algorithms. Cambridge Press 1994.
- Note:
- Time-table for winter semester 2011/2012:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Fri Thu Fri - Time-table for summer semester 2011/2012:
-
06:00–08:0008:00–10:0010:00–12:0012:00–14:0014:00–16:0016:00–18:0018:00–20:0020:00–22:0022:00–24:00
Mon Tue Fri Thu Fri - The course is a part of the following study plans:
-
- Computer Technology - Computer Network and Internet- structured studies (compulsory course of the branch)
- Computer Technology - New - Software Engineering- structured studies (compulsory course)
- Computer Technology - New - Computer Network and Internet- structured studies (compulsory course)