The 519 track students will participate
in a single large project, which is a peer-to-peer file back-up and brokering
system. The system is targeted to the large and growing number of
consumers that need to store and backup their photos and home videos. The
goal is to produce, by the end of the semester, a working alpha system that can
be tested with real users. Some students will stay on with the project
next semester, at which point we should have a production beta system. The
project will be run as a proper software engineering project, with an intensive
design phase, a short software development phase, and an extensive testing and
integration phase.
The 619 track is ideal for early graduate students who are looking
for a field of study and want the experience of surveying an area
within networking and "doing research", albeit in the small. The 519 track is better for students, grad or otherwise, who want
project experience and an advanced understanding of networking.
Following is the schedule:
Track |
Due Date |
Comments |
|
Read Papers |
ALL | Imme-diately before each class |
This is a critical aspect of the
class, without which you will gain little from the class. Not only must
you read the papers, but prior to each class you must upload into CMS3 a
short summary of each paper. (Note: The 619-track students
must write a summary of both required papers. The 519-track
students only need to select one paper per lecture.) The summary must answer the following questions: What problem does the paper solve, and how? What is the major contribution of the paper (relative to earlier contributions)? In your opinion, what is the major strength and the major weakness of the paper? Comment on the feasibility of the technique in a real network (would it have performance issues? deployability issues? complexity issues? What is the existing practice, and is the technique really better than existing practice? For 619-track students: what would be good follow-on research? None of you should be spending more than two hours reading any given paper (which means that you certainly won't read it through cover-to-cover), and one hour may be more typical. A well-written paper will have most of these questions answered directly. You can start with the abstract and summary to get the basic idea, go to the "contributions" part to see what the novel contributions are, go to the "prior work" section to see how it compares with previous work, and cherry-pick the body of the paper for the basic approach and results. (Obviously, when you write a paper the reader ought to be able to do the same for your paper!) Having said that, throughout you need to be on the lookout for spin---these papers almost always overstate their contributions and even their results, and you need to be on the lookout for that. |
Class Discussion |
Lively class discussion is
important, and will factor into your grade! |
||
Present a Paper* |
619 | Each lecture will
consist of a formal presentation, and is
expected to go into considerable depth by focusing on some aspect of
the
material and treating it thoroughly (and likewise ignoring other parts of the
material).
A presentation will normally last perhaps 30 to 45 minutes. Note
that this means that the presenter won't have time for more than 10-15
slides per paper. I strongly advise you to come meet with me at least
several days before your presentation to go over the slides. The lecture period will be followed by a broader discussion that I’ll lead. During the discussion we'll try to answer the questions in the handed-in summaries. All students in the class are expected to participate. |
|
Choose research area |
9/5 |
Students in the
619 track
must pick an area of interest by this time (i.e. BGP performance,
reliable multicast). Students must also commit to one track or
another by this time. |
|
Survey Paper |
9/21 |
Do a literature survey, and write a short survey paper (2-3 pages) describing the literature in the area you have selected.. | |
Choose research project | 9/26 |
For the
619 track, you must
describe the topic of your research (including of course the results
you plan to
produce and how you will produce them). The research must have a
project component. For the 519
track, you must describe your
project. You must discuss these with me before this due date. The project may be an implementation, a measurement study, a simulation, or any combination of these. |
|
Initial Research Paper |
11/7 |
This initial full paper has to conform to the format and submission rules used by ACM Sigcomm, which is the major conference in this area. Many of the papers we’ll be reading were originally published in this conference. Tips on preparing a paper appear appear here. | |
Peer Review |
11/14 |
The students in the 619 track will peer review each other's papers. This review will be double blind. The reviews of your paper will not contribute to your grade. However, the quality of your reviews of other papers will contribute to your grade. | |
Demo Implemen-tation | 11/27 - 12/1 |
Demo the
research implementation during this week. I will post a first-come-first-serve
sign-up sheet on 11/22 for a demo slot. Students must submit
copies of their software on the day of their demo. |
|
Final Research Paper |
11/31 | Revise the research paper based on the reviews. Also, write a rebuttal of the reviews. | |
Modular architecture | 519 | 9/4 | Written mainly by the Software VP, this document outlines the major modules and what they do. This document will attach two names to each module: one is the software engineer and the other is the tester. |
User Functional Requirements | 9/11 | Written mainly by the Product Manager, this document specifies the user functions (i.e. exactly what the end user can do with this product). | |
Software Design | 10/11 | This document contains a highly detailed software architecture. It specifies the language and development environment, the system requirements, and for each module: how it will run (as threads, processes, etc.), its exact interface (data structures, classes, message formats), its exact behavior, its system requirements, and how to test it. | |
Software | 10/23 | Both the individual module software and the test software must be submitted at this time. Note that if the software design document is well written, it is very easy to write the actual software. | |
Test results | 10/30 | This document gives the initial test results for each module. | |
Final (software and test results) | 11/27 | This document describes the final test results. An integrated and working system will be demo'd. All final software will be submitted. | |
Go live | 12/4 |
Service is
brought on-line. Alpha testing starts... |
619 track |
519 Track |
|
|
This course assumes a solid
understanding of computer networking basics, particularly TCP, IP and
addressing, and routing. An undergraduate networking course equivalent to
CS419 or equivalent experience is
required.
Other
Details
Interactions
between students: Student interaction is allowed and
encouraged. You may discuss the papers and projects with each
other, and use the course mailing list (cs619-l@lists) is provided to
facilitate this discussion. However,
all turned in materials, including
reports, emails, and software, must be authored by you. 619 track students must particularly avoid plagiarism and "cooked"
(falsified) data in your research papers. Both of these are
professionally unethical and can destroy your research career---I
consider them way worse than cheating. If portions of your
software are from the public domain, please note this in your write-ups
and your software comments. If your projects contain significant
ideas or contributions derived from discussions with other students,
these must be acknowledged.
Regarding materials for class presentations: You may use any presentation materials you can find on the internet, including those generated by students last semester. However, you must indicate, on every "borrowed" slide, where you got the material. And you had better understand it...I will not be happy if you have borrowed material, and it is clear that you are not sure what the material means...
Machines:
For heavy simulations (619 track), you can use any of <linus, schroeder,
sally, joecool, marcie, redbaron>.csuglab.cornell.edu. You can
access these from off campus (or on) with ssh, provided you have a CSUG
account. 519 project will be done on CSUG lab equipment.