CS6675/CS4675 Advanced Internet Application Development

(Spring 2012)

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


General Information

Instructor: Professor Ling Liu
Office: KACB (Klause) Room 3340, Phone: 5-1139, Email: lingliu AT cc DOT gatech DOT edu
Lecture: 9:35am - 10:55am Tue/Thur (Jan 10 - May 5, 2012), KACB 1447
Office hours: by appointment

Course TA: Binh Han
Office hours: by appointment in KACB (binhhan at gatech dot edu)

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:

The grading policy can be found in the Course Introduction and FAQ (Important! Read Me).

Reading Assignments

There are 10 reading assignments, one per week for a total of 10 weeks. Each assignment requires a student to write a critique or reading summary about one paper you read in that week. Preferably, the paper you choose to read is relevant to the lecture topics covered in the lectures of that week. You can find the reading recommendations in the Schedule&Note. The longer reading list for each topic covered by the class can be found at Course Reading.

Technology Review

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 technology review of 10-15 pages in MS word, including figures and references you reading. This technology review paper is due by 11pm on the final exam day.

Example: Write a 10-page summary of the current state of mobile Internet technology addressing the following:


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 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 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 Important due dates for project proposal, project demo, project presentation and project code and documentation deliverable can be found from the TSquare Wiki 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.

The collection of papers will be accessible online or distributed in class. (see course plan and course reading 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.


Useful and Related Links

Writing and Presentation Style:

Internet Resources and Tools

o                                Internet Traffic Report (World Wide)

o                                The Internet Archive

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                                Caching Tutorial for Web Authors and Webmasters

o                                Web Traces and Logs

o                                Web Caching Bibliography

o                                Information Retrieval Links

o                                Computing Research Repository (CoRR)

o                                IBM Research Reports (Search Engine)

[Link to GT]

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