CSCI/ECEN 5673: Distributed Systems

Spring 2011

Department of Computer Science, University of Colorado at Boulder

 

See the Moodle class Web page at http://moodle.cs.colorado.edu

Schedule & Location: Mon, Wed 5-6:15 pm, ECCS 1B28 (also offered as a CAETE course)
Course number: CSCI 5673-002
.  See also the CS Web site and look under the Courses option.
Prerequisites: CSCI 5573 Advanced OS.


Instructor: Professor Rick Han, http://www.cs.colorado.edu/~rhan.
Office: ECCR 1B05F
Office Hours:
Tuesdays 2-3 pm and Wednesdays 1-2 pm in ECCR 1B09 (next door to my office).  Additional appointments as needed.
Email: rhan@cs.colorado.edu
Phone: 303-492-0914

Textbook

Other optional references: 

class Web site:
See the Moodle class Web page at http://moodle.cs.colorado.edu.  Assignments, lecture slides, and announcements can be found there.  The moodle has a variety of useful features, including a forum for posting questions.  Each student should establish an account on the moodle and then subscribe to our class on the moodle using the special enrollment key given out in class.  The moodle has been upgraded to v2.0, so you must create a new account.


Topics/Schedule

The topics to be covered include the following.  We will seek to adhere to the timeline, but as the situation warrants new topics may be added and/or others shortened, eliminated, or shifted around in time, and due dates may be modified.  Stay tuned to the moodle for changes in this schedule.

Week
Topic
1
Introduction (review stuff you should already know: DNS, SSL/TLS, NFS), Cloud Computing, Google File System
2
(MLK Holiday) Google MapReduce
3
Google BigTable, other Google infrastructure
4
Amazon Web Services, EC2, S3, SimpleDB, Dynamo
5
Eucalyptus Open Source Cloud, Snow Flock.  Project proposals due.
6
Content Distribution Networks, Akamai, Peer-to-peer systems, BitTorrent
7
Storage Area Networks, Publish-subscribe.  Programming assignment due.
8
RPC, Java RMI, REST, SOAP, XML Web Services
9
Time Synchronization, Distributed Mutual Exclusion/Elections
10
Distributed Transactions, Replication/Fault Tolerance
11
Midterm Exam.  Service discovery/naming
12
Fault Detection, Load Balancing, Distributed Hash Tables, Caching, Application layer multicast
13
Intrusion Detection, Security, Privacy, Mobility
14
Distributed application case studies: Facebook/social networks, Skype/multimedia.
15
Final project presentations and reports (Also during the final exam time slot, though no final exam).


Grading

20%  Midterm exam
15%  Programming assignment
50%  Final project report and presentation
15%  Class participation, paper reviews, possibly other presentations

Programming assignments and reviews must be submitted by uploading them to the moodle class Web page by the deadline, unless otherwise noted.    Extensions will not be granted except at the instructor's discretion in documented cases of extreme hardship, unless otherwise noted.  All programming assignments and reviews should be your original work, unless otherwise noted.

Plagiarism policy.



Additional Policies:

Disability Policy

Religious Observances Policy

Discrimination and Sexual Harassment Policy

Classroom Behavior Policy