CS8803 Advanced Internet Application Development

(Spring 2005)

| General | Description | Grading | Course Materials | Introduction |
Schedule & Notes | Project | Course Readings | FAQ | GT Calendar | Useful Links |


General Information

Instructor: Professor Ling Liu
Office: CCB 216, Phone: 5-1139, Email: lingliu AT cc DOT gatech DOT edu
Lecture: 4:35noon-6:55pm TuTh, S107 Howey (Physics)
WWW Site: http://www.cc.gatech.edu/~lingliu/courses/cs8803/05Spring/
Office hours: 4:30-5:30pm Friday or by appointment

Course TA: Aameek Singh (aameek AT cc DOT gatech DOT edu) or Mudhakar Srivatsa (mudhakar AT cc DOT gatech DOT edu)
Office hours: TBA or by appointment, in CCB TBA
Newsgroup news:git.cc.class.cs8803
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.

Course Objectives and Description

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?

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 programming.

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.

A detailed description of course structure and administration can be found in Course Introduction.


Grades will be computed using the tentative weighting scheme below:

o               Class Participation 15%
o               Reading Summaries 20%
o               Project Proposal 10%
o               Final Project 40%
o               Project Presentation 15%

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
The project proposal is due on Thursday of Feb. 17. You may email your proposal (HTML) to lingliu@cc.gatech.edu with email subject cs8803 project proposal. Based on the proposal, I will negotiate with you the goals of the project, the evaluation criteria, and plan for its execution.

All project presentations are scheduled at the CS8803D workshop on Advanced Internet Application Development. The workshop will be held in three consecutive lectures: April 19, 21, 26. Each presentation will be limited to 15-20 minutes, including 5 minutes 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 27-29. The final project is due by (April 29), with a demo, program listing, and documentation, including a project report.

Important Information (Read me!):

o                                Project Requirements

Useful References and Texts

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.

The collection of papers will be accessible online or distributed in class. (see course plan and reading materials for further detail.)

Useful Reference Text Books (Not Required)

                                 Building Secure and Reliable Network Applications

Prof. Kenneth P. Birman Manning Pub. Co. 1996, Hardbound, 591 pages,

ISBN 0137195842. It can be ordered from Follett DirectNet, 1-800-621-4088.

                                 Understanding Search Engines: Mathematical Modeling and Text Retrieval (Software, Environments, and Tools)

Michael W. Berry and Murray Browne.

                                 Modern Information Retrieval

Berthier Ribeiro-Neto, Ricardo Baeza-Yates (ACM Press Series) May 1999.

Addison-Wesley Pub Co; ISBN: 020139829X.

                                 The Developer's Guide to the Java(tm) Web Server(tm): Building Effective and Scalable SeverSide Applications

Dan Woods, Larne Pekowsky, Tom Snee, and Connie Welss.

                                 Web Server Technology,

Nancy J. Yeager and Robert E. McGrath, Morgan Kaufmann Publishers, 1996.

                                 Web Proxy Servers,

Ari Luotonen, Prentice Hall, 1998

                                 The Grid: Blueprint for a New Computing Infrastructure,

Edited by Ian Foster and Carl Kesselman, Morgan Kaufmann Publishers, 1998.

                                 HyperText Transfer Protocol - HTTP/1.1,

T. Berners-Lee, R. Fielding, H. Frystyk, J. Gettys, and J. Mogul, RFC #2068, January, 1997.

                                 Apache Group, Apache HTTP Server Version 1.3, May, 1998.

                                 The Art of Computer Systems Performance Analysis,

Raj Jain, John Wiley and Sons, 1991

                                 JavaSpace(TM) Technology: A Tutorial and Reference Guide,

Ken Arnold, Eric Freeman and Susan Hupfer, Addison-Wesley, forthcoming.

                                 The Java Programming Language Second Edition,

Ken Arnold and James Gosling, Addison-Wesley, 1998.

                                 Concurrent Programming in Java: Design Principles and Patterns,

Doug Lea, Addison-Wesley, 1997.

                                 The Java Virtual Machine Specification,

Tim Lindholm and Frank Yellin, Addison-Wesley, 1997.

                                 Finding Web Pages

Note that these books can be ordered off the WEB from Amazon, Barnes and Noble, and bestbookbuys.com.


Useful and Related Links

Writing and Presentation Style:

o                                The Elements of Style

o                                Advice on Research and Writing

o                                How to give a good research talk

o                                How to Find an Academic/Research Job (uncompressed).

o                                How to Give a Talk .

o                                On Being a Scientist

o                                How to give a good research talk,
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.

o                                Should Computer Scientists Experiment More?,
Walter F. Tichy, IEEE Computer, 31 (5), pp. 32-40, May 1998.

o                                How to Experiment
Walter F. Tichy

o                                How to Increase the Chances Your Paper is Accepted at ACM SIGCOMM
Craig Partridge

o                                An Evaluation of the Ninth SOSP Submissions or How (and How Not) to Write a Good Systems Paper
R. Levin, D. Redell, Operating Systems Review, July 1983, pp. 35-40.

Internet Resources and Tools

o                                A TCP/IP Tutorial (RFC 1180)

o                                Internet Research: Comments on Formul ating the Problem,
Gathered by Sally Floyd, with comments by D. Estrin, G. Minshall, and V. Paxson, L. Zhang and others, 1998.

o                                Internet Traffic Report (World Wide)

o                                World Wide Web Traffic Analysis at Virginia Tech

o                                The Internet Archive

o                                Understanding the World Wide Web

o                                Web Mastery - World Wide Web

o                                The World Wide Web History Project

o                                Z39.50 and the World Wide Web

o                                An Internet Encyclopedia (Third Edition)

o                                Internet Statistics Growth and Usage of the Web and the Internet

o                                Search Engine Watch

o                                The Web Robots Pages

o                                Caching Tutorial for Web Authors and Webmasters

o                                Web Traces and Logs

o                                Web Caching Bibliography

o                                An Information Retrieval Reference System

o                                Information Retrieval Links

o                                A Glossary for Information Retrieval

o                                IR & NL links

o                                Microsoft Terra Server

o                                Transaction Processing Performance Council (TCP)

o                                Computing Research Repository (CoRR)

o                                IBM Research Reports (Search Engine)

o                                Linux kernel

o                                Socket tutorials and more

o                                TCP tutorial

[Link to GT]

Last updated on Dec. 27, 2004 by Ling Liu (lingliu@cc.gatech.edu)