This course will examine emerging technologies in distributed information systems. These systems are becoming increasingly integral to modern life, powering the large-scale cloud services we rely on as well as critical infrastructure systems. Therefore, the course will emphasize principles underlying the design and construction of robust, highly available distributed systems that are capable of withstanding failures and malicious attacks. Specific topics will include global content distribution networks and network programmability, fault- and intrusion-tolerant replication for cloud data stores, and performance attacks and defenses. Students will gain both an understanding of the provable theoretical guarantees provided by these systems and hands-on system building experience.
Prerequisites: CS 2510 (Computer Operating Systems) and 2550 (Principles of Database Systems), or instructor permission.