CS8803/CS4675 Advanced Internet Application Development
Materials | Introduction
& Notes | Project
| Technology Review
Readings | FAQ | GT Calendar | Useful
Professor Ling Liu
Office: KACB (Klause) Room 3340,
Phone: 5-1139, Email: lingliu AT cc DOT gatech DOT edu
Lecture: 9:35am - 10:55am TuTh, Physics Building 081 L5
Office hours: 8:30 - 9:30am TuTh
or by appointment
Course TA: Gong Zhang and Myungcheol Doo
Office hours: TBA or by appointment, in KACB
Course Objectives and
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?
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
description of course structure and administration can be found in Course
Grades will be computed using the
tentative weighting scheme below:
- Class Participation15%
- Reading Summaries15%
- Project 50%
- Technology Review20%
policy can be found in the Course
Introduction and FAQ
(Important! Read Me).
Written Technology reviews of topics. Topics will come from weekly lecture and class discussions and guest presentations as well as papers assigned for reading or in the reading list. You are required write a minimum 10-page technology review in MS word and the technology report is due at the end of the semester.
Example: Write a 10-page summary of the current state of mobile Internet technology addressing the following:
- What is the overall thrust in terms of research development and goals, or products and goals of industry in this area?
- What technical solutions or standards exist--elaborate on them. Include protocols, data formats, architectures.
- State what problems remain to be solved and how research or industry is approaching them.
- List a few research problems.
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 4
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
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.
The Important due dates for project proposal, project demo, project presentation can be found from the Project website (see the top part of this page).
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.
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)
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.
Search Engines: Mathematical Modeling and Text Retrieval (Software,
Environments, and Tools), Michael W. Berry and Murray Browne.
Information Retrieval, Berthier Ribeiro-Neto, Ricardo Baeza-Yates (ACM
Press Series) May 1999. Addison-Wesley Pub Co; ISBN: 020139829X.
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
Server Technology, Nancy J. Yeager and Robert E. McGrath, Morgan Kaufmann
Proxy Servers, Ari Luotonen, Prentice
Grid: Blueprint for a New Computing Infrastructure, Edited by Ian Foster
and Carl Kesselman, Morgan Kaufmann Publishers,
- 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,
- The Java Programming Language Second Edition, Ken Arnold and James
Gosling, Addison-Wesley, 1998.
- Concurrent Programming in Java: Design Principles and Patterns, Doug Lea,
- The Java Virtual Machine Specification, Tim Lindholm and Frank Yellin, Addison-Wesley, 1997.
- Finding Web
Note that these books can
be ordered off the WEB from Amazon, Barnes and Noble, and bestbookbuys.com.
Useful and Related Links
- The Elements of
on Research and Writing
- How to give a
good research talk
to Find an Academic/Research Job (uncompressed).
to Give a Talk .
- On Being a
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
Computer Scientists Experiment More?, , Walter F. Tichy, IEEE Computer, 31 (5), pp. 32-40, May 1998.
Walter F. Tichy
to Increase the Chances Your Paper is Accepted at ACM SIGCOMM , Craig
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
Tutorial (RFC 1180)
Research: Comments on Formulating the Problem, ,
Gathered by Sally Floyd, with comments by D. Estrin,
G. Minshall, and V. Paxson,
L. Zhang and others, 1998.
Internet Traffic Report
World Wide Web Traffic Analysis
at Virginia Tech
The Internet Archive
the World Wide Web
- World Wide Web
The World Wide Web History
the World Wide Web
An Internet Encyclopedia
Growth and Usage of the Web and the Internet
Search Engine Watch
Web Robots Pages
Caching Tutorial for
Web Authors and Webmasters
Web Traces and
Retrieval Reference System
A Glossary for
IR & NL links
Performance Council (TCP)
Research Reports (Search Engine)
tutorials and more
Last updated on Dec. 12, 2008 by Ling Liu (firstname.lastname@example.org)