Designing Distributed Systems: Patterns and Paradigms for Scalable, ...
Brendan Burns
Introduction to Algorithms, Third Edition
Thomas H. Cormen & Charles E. Leiserson & Ronald L. Rivest & Clifford Stein