CS 7270
Networked Applications and Services

Spring 2000
ChemEng 457
TuTh 12:05-1:25


Description
This course builds on the material covered in CS 6250 (Computer Networks), to provide depth in the upper layer(s) of the protocol stack. The course covers a selection of network applications and services that may vary from one offering to the next. In Spring 2000, the set of topics will include server selection, caching, network monitoring, security services and active services. The course material will come primarily from research papers. The course will include a significant project component that will typically require sockets programming.
Instructor
Ellen Zegura
Main office: 216 GCATT (250 14th Street), 404-894-1403
Shared CoC office: 244 CCB
Office hours: Immediately after class in 244 CCB (or by appointment)
ewz@cc.gatech.edu

Teaching Assistant
Paul Judge
Office hours: TBD
judge@cc.gatech.edu

Newsgroup
news:git.cc.class.cs7270
The newsgroup will be used to post class announcements, answer common questions, make corrections to assignments (if needed), and perhaps to conduct further discussions about class material. You should read the newsgroup with some regularity.


Required Background

Students are expected to have had CS 6250 or equivalent (e.g., CS 6380 under the quarter system). In particular, I will assume that you have a solid grasp of the topics listed below. If you do not have this background, you will find CS 7270 very difficult, and I encourage you to reconsider taking this course until you have this background.

Required background topics:

Basics of TCP, UDP, IP (including routing)
Client/server paradigm
C programming
Sockets programming


Resources

Course Material
This is a paper course. The list of papers can be found here. The expected date for coverage of each paper is included on the reading list. You are expected to read the paper before it is covered in class. Over the semester, you are required to turn in a short review of three of the papers on the reading list, prior to the class in which we discuss the papers. These reviews will be graded and included in the homework part of your overall grade. More details on the required content of the reviews can be found on the reading list page.

Sockets Information
We will not be covering sockets programming in class, though feel free to post questions about the sockets interface to the news group. If you are unfamiliar with sockets programming, the following on-line tutorials will get you started.

RPI Sockets Tutorial (strongly recommended)
Jim Frost's BSD Sockets Primer (recommended; sockets by analogy to telephones)
Berkeley UNIX System Calls and Interprocess Communication, L. Besaw, with revisions by M. Solomon (recommended)
UNIX Socket FAQ


Grading and Academic Honesty

Your grade will be determined by your performance on homework assignments (including short reviews of papers on the reading list), participation in class, a major project and the midterm exam. As part of the project, your team will be required to make a presentation in class. The tentative weights are as follows:
Class participation - 5%
Homework - 20%
Midterm exam - 25%
Project - 50%
Students are expected to abide by the Georgia Tech Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You are to do all assignments yourself, unless explicitly told otherwise. You may discuss the assignments with your classmates, but you may not copy any solution (or part of a solution) from a classmate.


Syllabus

The tentative order of topics is listed below. Please see the reading list for the specific papers you are responsible for on each day of class. Note that the schedule is subject to change.
Introduction to the course
DNS: An example network service
Server selection and anycasting (2 weeks)
Application-layer routing (1 week)
Caching (1.5 weeks)
Network monitoring (1.5 weeks)
Active services (2 weeks)
Security services (2 weeks)
Distributed interactive simulation (2 weeks)
Project presentations (2 weeks)