Distributed Systems

Semestr: Winter

Range: 2+2s


Credits: 4

Programme type: Undefined

Study form:

Course language:


The subject presents an overview of techniques utilized in switching networks (WAN) and in networks that are based on shared media (LAN). Functions of layered architecture are completed by important standards. Methods of communication (message passing, RPCs, distributed shared memory) and survey of important distributed algorithms are presented. Practice is oriented on application of some principles and on use of communication interfaces (UDP/TCP, RPC) in distributed programming.


Course syllabus:

1. Multicomputer systems, forms of distribution.
2. Switching technologies. Network optimizing.
3. Physical layer. Media, coding, modulation. Modems and interfaces.
4. Data link layer. Error handling, acknowledgement schemes, X.25 LAPB.
5. Network layer. Datagram, virtual channel, routing and flow control.
6. Media sharing, local area networks - bus and ring topologies.
7. Transport services. TCP/UDP interfaces.
8. Session layer. Connection control, synchronization.
9. Presentation layer. ASN.1 data representation, compression and cryptography.
10. Application layer. ISO OSI interfaces.
11. Message passing, remote procedure call, distributed shared memory.
12. Technologies OSF DCE, OMG CORBA, Java RMI. Mobile agents.
13. Distributed computation, global state, causality. Logical time.
14. Distributed algorithms: broadcast, exclusive access, selection, deadlock prevention/detection, quorum.

Seminar syllabus:

1. Internet communication, BSD sockets.
2. UDP communication.
3. Protocols - FSM, Petri nets.
4. Implementation of acknowledgement scheme.
5. Effectiveness of acknowledgement schemes.
6. Implementation of acknowledgement scheme
7. Routing algorithms, RIP and OSPF.
8. TCP communication.
9-10. SunRPC communication.
11-12. DCE distributed system.
13. Distributed algorithms.
14. Evaluation.


Tanenbaum A.: Computer Networks. Prentice Hall 1988.
Stallings W.: Handbook of Computer Communication Standards. MacMillan 1990.
Coulouris G.,Dollimore J.,Kindberg T.: Distributed Systems. 2nd ed. Addison Wesley, Wokingham 1994.