Přehled studia |
Přehled oborů |
Všechny skupiny předmětů |
Všechny předměty |
Seznam rolí |
Vysvětlivky
Návod
Anotace:
The course is focused on technologies that support distributed computing: on mechanisms ensuring reliable, efficient and secure connection of application processes, programming interfaces of communication channels and up-to-date middleware technologies. A significant part of lectures is dedicated to distributed algorithms that assure causality, exclusive access, deadlock detection/avoidance, fault-tolerance, mobile computing, and security.
Cíle studia:
After passing the course, students will have an overview in the field of distributed systems. They will be aware of the limitations and advantages related to the deployment of such systems. They will also be able to design and implement a simple distributed system.
Osnovy přednášek:
1. | | Distributed computation, graph algorithms (Dijkstra), synchronous and asynchronous model |
2. | | Communication system - protocols, routing |
3. | | Synchronous and asynchronous message passing, multicasting |
4. | | Models of distributed computing - client-server, peer-to-peer, publish-subscribe, cloud computing |
5. | | Support for distributed applications - Java RMI, JMS, Jini; SOAP, REST |
6. | | Time in distributed systems - physical clock synchronization, scalar and vector logical clocks |
7. | | Sharing of resources, distributed algorithms of mutual exclusion |
8. | | Leader election algorithms |
9. | | Termination detection, deadlock - detection and avoidance |
10. | | Replication of data and processes, ensuring consistency |
11. | | Large scale distributed systems: Architecture and computations (DHT, CDN, ...) |
12. | | Mobility in distributed systems - load balancing, mobile agents, cooperative ad-hoc systems |
13. | | Security in distributed systems - Kerberos, PKI, PGP |
14. | | Decentralized database - blockchain |
Osnovy cvičení:
1. | | Introduction |
2. | | Procedural communication - Java RMI |
3. | | Message broker - Java JMS |
4. | | Communication with REST |
5. | | Communication with gRPC |
6. | | Communication with RabbitMQ |
7. | | Distributed applications - example - design |
8. | | Distributed applications - example - implementation , project assignment |
9. | | Work on the project, consultations |
10. | | Work on the project, consultations |
11. | | Work on the project, consultations |
12. | | Work on the project, consultations |
13. | | Evaluation of the project |
14. | | Evaluation of the project, credits |
Literatura:
Coulouris G., Dollimore J., Kindberg T., Blair G.: Distributed Systems: Concepts and Design (5th Edition), Addison-Wesley 2011, ISBN: 0132143011.
Tel G.: Introduction to Distributed Algorithms, Cambridge University Press 2000, ISBN: 0521794838.
Attiya H., Welch J.: Distributed Computing: Fundamentals, Simulations, and Advanced Topics, John Wiley and Sons, Inc., 2004. Second Edition, ISBN: 978-0-471-45324-6.
Santoro N.: Design and Analysis of Distributed Algorithms, Wiley-Interscience, 2006, ISBN: 978-0471719977
Požadavky:
Basic knowledge in the area of computer networks and communication. Basic knowledge of Java programming language.
Klíčová slova:
distributed computing, distributed systems, process cooperation
Předmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 30.12.2024 15:50:41, semestry: Z/2025-6, Z,L/2024-5, připomínky k informační náplni zasílejte správci studijních plánů |
Návrh a realizace: I. Halaška (K336), J. Novák (K336) |