Course Objectives and Description
This course reviews concepts, techniques, and systems issues in
advanced Internet application development, and explores new challenges
and research issues that are critical for developing search engines
(incl. robots and indexing servers), Web servers, application servers (such as the E-commerce information servers like eBay, Cnet, Amazon), and
web-based online transaction systems.
Main themes include fundamentals of search engines, web servers, application servers and online transaction systems, especially the important search techniques, indexing techniques, the various means for querying heterogeneous data sources and delivering fresh information from sources to consumers, and the methods for distribution of control to avoid bottlenecks and enhance scalability.
One of the important goals of the course is to look beyond the present status of the Internet and conjecture what possible future technologies and applications will evolve.
The course will include a significant project component that will
typically require Java/C/CGI pogramming.
Prerequisites:
A detailed description of course structure and administration can be found in
Course Introduction.
Grades will be computed using the tentative weighting scheme below:
The grading policy can be found in the
Course Introduction and FAQ (Important! Read Me).
The course project should be significant (non-trivial) and related in some way
to the Internet Application Development. Students may work in groups of up to 2
students per project. You are encouraged to come up with your own project ideas.
If you are having trouble, talk to me and I will help you out with some
possibilities.
In principle, you can propose anything you wish: implementation, benchmarking,
evaluation, interesting Internet applications, etc. People from companies may
propose projects related to their work. However, all
the project related material must not be proprietary, i.e.,
I will not sign any non-disclosure agreement
just to evaluate a project.
Important Dates
All project presentations are scheduled at the CS8803D workshop on Advanced
Internet Application Development. The workshop will be held in three
consecutive lectures: April 15, 20, 22.
Each presentation will be limited to 15-20 minutes, including 5 miniutes
question time.
The workshop schedule will be posted on the Web and
outside the instructor's office.
Each project will have a demo to the instructor or TA on April 20-23. The final project is due by (April 23), with a demo, program listing,
and documentation, including a project report.
Important Information (Read me!):
Useful References and Texts
The collection of papers will be accessiable online or distributed in class.
(see course plan
and reading materials for further detail.)
Useful Reference Text Books (Not Required)
Note that these books can be ordered off the WEB from Amazon, Barnes and Noble, and bestbookbuys.com.
Lecture: 12:05noon-1:25pm TuTh, S107 Howey (Physics)
WWW Site: http://www.cc.gatech.edu/~lingliu/courses/cs8803/
Office hours: 4:30-5:30pm TuTh or by appointment
Course TA: Aameek Singh
(aameek@cc) or
Mudhakar Srivatsa (mudhakar@cc)
Office hours: TBA or by
appointment, in CCB TBA
Newsgroup
The newsgroup will be used to post class announcements, answer
common questions, make corrections to project phase reports (if needed).
Students are encouraged to conduct discussions about class material.
Advanced Internet-scale applications are geographically distributed,
highly available, incrementally scalable, and dynamically reconfiguring.
Typical questions that systems researchers and advanced application
developers are facing today include: How would you build a web service that
can handle billions of frantic requests?
What systems support do we need for developing applications of Internet
scale? Can we provide dynamic configuration, replication, and migration
of Web services? What new techniques will enable Internet systems and
applications to better exploit high-speed networks?
How should traditional systems issues such as naming,
persistence, resource management, performance, and security be provided in a system of Internet scale?
Students are expected to have taken Operating Systems (CS2200 or equivalent) and Computer Networks.
Parallel and Distributed Systems (CS 4230/6236) and High Performance
Parallel Computing (CS 6230) are highly recommended for students interested
in doing research in systems or networks.
In addition, students are expected to have a solid grasp of Java/C/CGI
programming. Sockets programming is not required but desirable.
Grading
Project
The project proposal is due on Thursday of Feb. 5. You may email your proposal (HTML) to lingliu@cc.gatech.edu with email subject cs9903D project proposal. Based on the proposal, I will negotiate with you the goals of the project,
the evaluation criteria, and plan for its
execution.
There is no text book required for this course.
The course material comes primarily from course notes and a selection of
recent papers on advanced Internet application
development and related research issues, including search engines,
Web servers, Wide-area distributed information systems,
and Web database systems.
However, there may be text
books that you will find useful or even necessary in order to complete
your course projects.
Useful and Related Links
Writing and Presentation Style:
SL Peyton Jones, J Launchbury, J Hughes, SIGPLAN Notices 28(11), Nov 1993.
Since the paper was written the authors have received and made available constructive comments.
Walter F. Tichy, IEEE Computer, 31 (5), pp. 32-40, May 1998.
Walter F. Tichy
Craig Partridge
R. Levin, D. Redell, Operating Systems Review, July 1983, pp. 35-40.
Internet Resources and Tools
Gathered by Sally Floyd, with comments by D. Estrin, G. Minshall, and V. Paxson, L.
Zhang and others, 1998.