CS 417 Syllabus

Fall 2021

week date topic*
1 Sep 8 Note: This is a Wednesday but Rutgers holds Monday classes on this day
Networking: network protocols, point-to-point communication
2 Sep 13 Data marshaling: JSON, Google protocol buffers
Remote procedure calls, distributed objects
3 Sep 20 Clock synchronization
Event ordering: Logical clocks, vector clocks
4 Sep 27 Group communication: message ordering and message delivery, multicasting
Replication, group management, and virtual synchrony
5 Oct 4 Distributed mutual exclusion
Election algorithms
Distributed consensus: Raft
Google's Chubby lock manager (Apache Zookeeper)
6 Oct 11 Network attached storage: design, NFS, AFS (scale), DFS & SMB (cache control), CODA (redundancy)
Parallel file systems: Google FS (GFS), Hadoop Distributed FS (HDFS)
7 Oct 18 Distributed lookup services and distributed hash tables, Amazon Dynamo, DNS
8 Oct 25 Distributed transactions: commit protocols, ACID/BASE models
Distributed deadlock
Concurrency control
9 Nov 1 Structured data: Bigtable (Apache HBase), Cassandra, Spanner
10 Nov 8 MapReduce
Parallel computation frameworks: Hive, Apache Spark, Bulk Synchronous Parallel framework (Apache Hama), Pregel (Apache Giraph)
11 Nov 15 Content delivery networks: Akamai, peer-to-peer content delivery,
Kafka event streaming,
Distributed caching: memcached, Redis
12 Nov 22 Cryptography: introduction, communication and authentication, key exchange, secure communication, hybrid cryptosystems, digital signatures
Distributed authentication: protocols, digital certificates, Kerberos, SSL
Identity management (OpenID), distributed authorization (OAuth)
13 Nov 29 NO CLASS: Wednesday classes
14 Dec 6 Google cluster architecture,
Clustering: high-performance computing (HPC), load balancing, and availability
15 Dec 13 Distributed systems design

Go here to get lecture notes and other course documentation.

Rutgers CS Diversity and Inclusion Statement

Rutgers Computer Science Department is committed to creating a consciously anti-racist, inclusive community that welcomes diversity in various dimensions (e.g., race, national origin, gender, sexuality, disability status, class, or religious beliefs). We will not tolerate micro-aggressions and discrimination that creates a hostile atmosphere in the class and/or threatens the well-being of our students. We will continuously strive to create a safe learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. Our goal is to maintain an environment where students, staff, and faculty can contribute without the fear of ridicule or intolerant or offensive language. If you witness or experience racism, discrimination micro-aggressions, or other offensive behavior, you are encouraged to bring it to the attention to the undergraduate program director, the graduate program director, or the department chair. You can also report it to the Bias Incident Reporting System].

*Subject to change without notice.
Last modified November 16, 2021.
recycled pixels