CSSE 593
Internet Applications & Services
Spring 2009
[Announcement]
[Course Information]
[Course Objectives]
[Lectures]
[Prerequisites]
[Readings]
[Syllabus & Schedule]
[Projects]
[Useful Links]
Office: EGRN 530
Office phone: x 5515
Office hours: after class or by appointment
Email: zhuy AT SEATTLEU dot EDU
- Project 2 is posted on April 21, 2009!
- Project 1 is posted on April 7, 2009!
- Class meeting times: Tuesday 6:00 - 8:40PM
- Classroom: ENGR 305
In the last few years we have seen an amazing
new wave of Internet applications. The emergence of the new Internet
applications & services is changing our lives and transforming
our world in many ways. Not only using the Internet to browse the web
and exchange emails, people are but also using the Internet to search, share and
disseminate diginal informations, to talk (VoIP), to shop (Amazon), to exchange video clips (YouTube),
to watch TV and movies (VoD), to play games, and to have a "second life" in
virtual worlds. The Internet has become a huge online community that
is deeply interconnected and clustered at
multiple dimensions.
This course studies the principles and practice of a wide range of Internet applications
and services. The topics include but are not limited to: Content Delivery Networks (CDN) & Web Performance,
Web Searching, Content Distribution, Peer-to-Peer Networks, Video over Internet and Performance
Services.
Each lecture consists of two parts. In
the first part, the instructor will talk about the state-of-the-art
in that week's topic. The lectures will be based on recent research
papers and other references. In the second part of the class, we will
have an open-forum discussion following the lecture: Each student
need to ask questions and the instructor or the other students will
answer the questions. We may also have one or two small student presentations
about specific applications that are related to that week's topic. Students
are encouraged to volunteer in the small presentations.
The students MUST participate in class. Participation includes but is not limited to
asking questions, raising a point, presenting an argument, offering an
alternative point of view. One class miss will result in one scale down in your final
grade (You have at most 3 class misses if you can get A in final grade).
Some (recent and solid) knowledge of computer
networking
is required. This should certainly NOT be the first networking course
you are
taking. However, you do not need to be a "networking student" to
take this course.
This
course also requires knowledges of Operating Systems and Data Structures as well
as background in C/C++ programming.
The course will NOT have a textbook. Instead, we will study a number
of research and survey papers (listed in the syllabus section).
(How to read a paper?)
Reading is the first step into the Internet Applications & Services.
Each class involves reading one or two papers. You are REQUIRED to read the papers
before you attend the class. (Papers marked as optional are not required.) In addition,
you may also be asked to write a short paper review for some papers. Each review cannot
exceed one page in 10-point fonts.
Each review should include the following sections:
Problem (< 5 sentences): What is the problem the paper
addresses? Why is it worth solving? Why are existing
solutions not good enough?
Meat (< 5 sentences): What are the technical nuggets
that make this paper cool? In another word, what are the
challenges and how do the authors address them?
Evaluation (< 3 sentences): How do the authors
demonstrate that they have solved the problem? Do you have
doubts on their claims?
Improvements (< 3 sentences): What would you have
done differently? For instance, can you think of better
approaches to solve the problem? Or if you are not
convinced by the evaluation, what different methods would
you use? Or if you are not excited about the problem,
explain why.
Each paper review is due in class. Handwritten reviews will not be accepted. Copy-and-Paste in the paper reviews is
considered plagiarism, which will make you to fail the
course. Each review will be graded on a scale of 0 to 3 based upon the following criteria:
- 0: you did not turn in a review
- 1: a weak review that doesnot show you understand the paper
- 2: a review that shows you understood the paper
- 3: an exceptional good review that shows your insightful thoughts or inspires new ideas
In addition to research papers, we recommend two textbooks for background materials:
- Larry L. Peterson, Bruce S. Davie, Computer Networks: A Systems Approach, Morgan Kaufmann.
- James F. Kurose and Keith W. Ross, Computer Networking: A Top-Down Approach, Addison Wesley.
-
Week-1: Introduction to Internet
- How to read a paper? by S.Keshav
- Socket programming tutorial compiled by Yingwu Zhu (prepared for projects)
- PThreads (academic use only, prepared for projects)
- Pthread Synchronization Lecture Slides (prepared for projects)
-
Week-2: CDN: Content Delivery Networks
- Insights and perspectives for content delivery networks by G. Pallis et al. [Background reading]
- Content deliver networks: status and trends by A. Vakali et al. [Background reading]
- Drafting behind Akamai by A. Su et al., SIGCOMM 2006. [Paper Review due in this class!]
-
Week-3: Content Distribution: BitTorrant and BitTyrant
- Incentives Build Robustness in BitTorrent by B. Cohen. [Background reading]
- Do incentives build robustness in BitTorrent? by M. Piatek et al. [Paper Review due in this class!]
-
Week-4: Searching the Web (No Paper Review due this week! Project 1 is due this week!)
- The Anatomy of a Large-Scale Hypertextual Web Search Engine by S.Brin and L.Page
- Web Search for a Planet: The Google Cluster Architecture by L.A.Barroso et al.
- Mercator: A Sclable, Extensible Web Cralwer by A.Heydon and M.Najork (optional reading)
- How are we Searching the World Wide Web? A Comparison of Nine Search Engine Transaction Logs by B.J.Janser and A.Spink
-
Week-5: Midterm
-
Week-6: DHTs: Peer-to-Peer Networks
- Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications by I. Stoica et al. [Paper Review due in this class!]
-
Week-7: Video over the Internet
- Challenges, Design and Analysis of a Large-scale P2P-VoD System by Y. Huang et al. [Paper Review due in this class!]
- I Tube, You Tube, Everybody Tubes: Analyzing the World's Largest User Generated Content Video System by M.Cha et al.
-
Week-8: Performance Services
- Dynamo: Amazon's Highly Available Key-Value Store (Awarded an Audience Choice award) by G. DeCandia et al. [Paper Review due in this class!]
- The google file system by S. Ghemawat et al., SOSP 2003. [Optional Reading]
-
Week-9: Can we make emails reliable?
- Re: Reliable Email by S. Garriss et al. [Paper Review due in this class!]
-
Week-10: Pending
- Project 2 Demo & Presentation
- Final review
-
Week-11: Final Exam: Tuesday, June 9, 2009, 6-7:50 PM
Students will work on individual or group projects. There are two linux servers that you can use to do your projects. The first one is
"cs1.seattleu.edu". To access it from outside campus, you do NOT need to use VPN. The second one is "css2.seattleu.edu". To access it
from outside campus, you MUST use VPN. The username and password are same as your SU email account name and password!
Project Milestones:
- April 7, Project 1: Finger Client/Server
- April 21, Project 2: A Simple Web Proxy (Group Project. Each group consists of 2-3 students and each group should send me
their member lists by April 24)
- April 24, Form project teams. Team 1 (Nuttaphon Thangkittisuwan, Minh Ha, Lin Shao); Team 2 (Kevin Anerson, Timothy Jackson); Team 3 (Ankit Agiwal);
Team 4 (Iliana Sach, Russell Williams); Team 5 (Subhash Prajapati, Zhen Yang)
- May 5, Project 2 - step 2's deadline is extended to 6:00PM, May 19, 2009
Grading
- Assignments (etc., paper reviews): 15%
- Class participation: 10%
- Midterm exam: 25%
- Final exam: 25%
- Projects: 25%
http://www.cs.utah.edu/dept/old/texinfo/gdb/gdb_toc.html.
- The Unix Programming
Environment
http://www.unix-ag.uni-siegen.de/docs/unix/unix.html