Distributed Systems

Semestr: Winter

Range: 3+2s

Completion:

Credits: 5

Programme type:

Study form:

Course language:

Summary:

Techniques utilised in switching networks (WAN) and in networks that use shared media (LAN). Functions of layered architecture are presented, completed by important standards. Methods of communication (message passing, RPC, distributed shared memory) and survey of important distributed algorithms. Application of principles and use of communication interfaces (UDP/TCP, RPC) in distributed application programming.

Keywords:

layered network architecture, network programming, distributed computation, distributed algorithms

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 and UDP interfaces
8. Session layer. Connection control, synchronization
9. Presentation layer. ASN.1 representation, compression and cryptography
10. Application layer. ISO 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: exclusive access, selection and 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. OMG CORBA communication
10. Java RMI communication
11. .Net SOAP communication
12. Distributed algorithms
13. Distributed algorithms
14. Evaluation

Literature:

[1] Janeček, J.: Distribuované systémy.
[2] Tanenbaum A.: Computer Networks, 3rd edition.
[3] Comer D.: Internetworking with TCP/IP.
[4] Stevens W.: Unix Network Programming, 2nd edition.

Examiners:

Lecturers:

Instructors: