600.348/448: Theory of Network Communication
Fall Term 2004
Christian Scheideler
Course Structure
Lectures: MTW 1, Shaffer 101
Office Hours
- Christian Scheideler: Mon 4-6 pm, Wyman Park 403
- Mark Miller: Mon 2-3 pm, NEB 315, or by appointment
- Omar Zaidan: Mon 10-11 am, Fri 1-2 pm, Ugrad Lab
Topics
The course covers current state-of-the-art topics in the area of
theory of communication in distributed systems.
This includes an introduction to various communication
models and important routing parameters and networks.
Also, strategies for topology control
and routing in overlay networks, load balancing strategies,
and distributed data management strategies will be presented. Particular
emphasis will be on those strategies that support robust and efficient
distributed computing over the Internet, and communication
and data management in mobile ad hoc networks and peer-to-peer networks.
Weekly assignments. Some knowledge of probability theory
is helpful. Prerequisite: 600.344/444 or permission. [Analysis]
Students receive credit for 600.348 or 600.448, but not both.
Grading
- 1/3: assignments
- 1/3: mid-term exam
- 1/3: software project
Syllabus
The lecture is based on recent research papers. Lecture notes will
be posted below.
- Sep 7-8: Network models and the E programming language
(in postscript and pdf)
- Sep 13-16: Network theory
(in postscript and pdf)
- Sep 20-23: Routing
(in postscript and pdf)
- Sep 27-30: Scheduling
(in postscript and pdf)
- Oct 4-6: Hashing
(in postscript and pdf)
- Oct 11: Fall break
- Oct 12-13: Caching
(in postscript and pdf)
- Oct 19 : Midterm exam
- Oct 18, 20: Supervised overlay networks
(in postscript and pdf)
- Oct 25-27: The continuous-discrete approach
(in postscript and pdf)
- Nov 1-3: Skip graphs
(in postscript and pdf)
- Nov 8-10: Group management
(in postscript and pdf)
- Nov 15-17: Overlay networks for heterogeneous peers
(in postscript and pdf)
- Nov 22-24: Survivable overlay networks
(available on request)
- Nov 29-Dec 1: Overlay networks for wireless systems I
(in postscript and pdf)
- Dec 6: Overlay networks for wireless systems II
- Dec 7: Open discussion
- Dec 17: Software project due
Assignments
Assignments will be posted here every Wednesday, and their solutions have to
be submitted till the following Wednesday at 1 pm.
At most two people are allowed to work together on an assignment, but
there has to be a separate submission for each person.
Please indicate on your submission with whom you collaborated
to solve the assignment (if any). Also, please write your name and the
course (348 or 448) for which you registered clearly on your submission.
If you have questions about what is allowed and what is not, please read the
ethics code of the department or the guide to
Academic Ethics for
Undergraduates.
Software
We will use the E language. If you are using a Windows operating system, it is recommended to install the Cygwin shell after installing E. When executing "rune" in this shell, the command line interpreter for E is initiated, and when executing "rune name.e", the program name.e is executed.
E is also available on the computers in the undergrad and the graduate labs.
Here are some examples in E:
Writing and compiling E programs
Christian Scheideler
Last modified: Wed Sep 1, 2004