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.
layered network architecture, network programming, distributed computation, distributed algorithms
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
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
 Janeček, J.: Distribuované systémy.
 Tanenbaum A.: Computer Networks, 3rd edition.
 Comer D.: Internetworking with TCP/IP.
 Stevens W.: Unix Network Programming, 2nd edition.