You can find specific bibliography for each course and also some interesting books are depicted below:
_
Books
Maarten van Steen, Andrew S. Tanenbaum, Distributed Systems, 4th Edition, Maarten van Steen Publishing, 2023 (rev. 2025)
Roberto Vitillo, Understanding Distributed Systems, 2nd Edition, 2023
Martin Kleppmann, Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, O’Reilly Media, 2017
Brendan Burns, Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services, O’Reilly Media, 2018
George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, Distributed Systems: Concepts and Design, 5th Edition, Addison-Wesley, 2011, 1080 pages
Ian Gorton, Foundations of Scalable Systems: Designing Distributed Architectures, O’Reilly Media, 2023
Unmesh Joshi, Patterns of Distributed Systems, 2023
Maarten van Steen, Andrew S. Tanenbaum, Distributed Systems, 4th Edition, Maarten van Steen Publishing, 2023 (rev. 2025)
Roberto Vitillo, Understanding Distributed Systems, 2nd Edition, 2023
Martin Kleppmann, Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems, O’Reilly Media, 2017
Brendan Burns, Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services, O’Reilly Media, 2018
George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair, Distributed Systems: Concepts and Design, 5th Edition, Addison-Wesley, 2011, 1080 pages
Ian Gorton, Foundations of Scalable Systems: Designing Distributed Architectures, O’Reilly Media, 2023
Unmesh Joshi, Patterns of Distributed Systems, 2023
_
Useful concepts
Useful concepts
- Google Sanitizers: https://github.com/google/sanitizers
- pthreads: https://man7.org/linux/man-pages/man7/pthreads.7.html
- Linux udp(7) man page: https://man7.org/linux/man-pages/man7/udp.7.html
- Linux tcp(7) man page: https://man7.org/linux/man-pages/man7/tcp.7.html
- QUIC Working Group (IETF): https://quicwg.org/
- Cloudflare "The Road to QUIC": https://blog.cloudflare.com/the-road-to-quic/
- quiche (Cloudflare, Rust/C): https://github.com/cloudflare/quiche
- ngtcp2 (C): https://github.com/ngtcp2/ngtcp2
- msquic (Microsoft, C): https://github.com/microsoft/msquic
- aioquic (Python): https://github.com/aiortc/aioquic
- RFC 9000 -- QUIC Transport Protocol: https://www.rfc-editor.org/rfc/rfc9001
- RFC 9001 -- Using TLS to Secure QUIC: https://www.rfc-editor.org/rfc/rfc9001
- RFC 9114 -- HTTP/3 (over QUIC): https://www.rfc-editor.org/rfc/rfc9114
- RFC 768 -- UDP specification (the entire spec is 3 pages): https://www.rfc-editor.org/rfc/rfc768
- RFC 9293 -- TCP specification (2022, replaces RFC 793): https://www.rfc-editor.org/rfc/rfc9293
- Beej's Guide to Network Programming (practical C examples): https://beej.us/guide/bgnet/
_
Tools
Tools
- GitHub Copilot: https://github.com/copilot (create an account using your @info.uaic.ro email address)
- WSL: https://learn.microsoft.com/en-us/windows/wsl/install or a Linux distribution
- VirtualBox (optional): https://www.virtualbox.org
- Docker / Docker Desktop (optional): https://www.docker.com
- Visual Studio Code: https://code.visualstudio.com/ (or any other IDE; eg. JetBrains)
- To access the internal development server, please follow the instructions here: link (Credits: Computer Networks Course, Conf. Dr. Andrei Panu)