Web Infrastructure
COEN 162 - Spring 2014

Course Info

Important Dates

Lecture Notes

  1. Lecture 1 -- Introduction
  2. Lecture 2 -- Content Transport
    Sockets
    Examples: server and client.
  3. Lecture 3 -- Caching Web Content
  4. Lecture 4 -- Caching Streaming Media
  5. Lecture 5 -- Navigation
  6. Lecture 6 -- Peer-to-Peer
  7. Lecture 7 -- Social Networks and Hadoop
  8. Lecture 8 -- Web Services
  9. Lecture 9 -- Instant Messaging

Projects

Project 1: New Protocols
Research new protocols and/or mechanisms created to improve content delivery.
Select a protocol/mechanism to give a 5-min ppt presentation on 4/10.
Send me you selection asap, FCFS!
Your presentation should explain the problem, solution, and deployment status.
Groups of two, and both people need to talk!

Project 2: Talk to the Server
Your project consists of building a tool to obtain a web object from a server.
Your tool should ask the user for the URL or the server's address and file path/name.
It then uses HTTP (over a TCP connection) to send a GET message and receive a response from the server, which is shown on the screen.
The deadline is 4/17 in the classroom, where you should show a demo and give me the code.
This is a group project, and each group should have 2 people.
You may use any computer (your laptop or a machine in the DC). Use C, C++, or Java, and sockets.`

Project 3: Middleman
This project is a continuation of project 2.
Your program will receive GET requests from a browser. (Configure your browser to use your ip/port as the webcache.)
It will parse the request, send a GET request to the url specified, and send the page received from the server back to the browser.
The page may be of any type or size. Extra credit for using independent threads to answer the requests.
The deadline is 5/1 in the classroom, where you should show a demo and give me the code (hard copy)
You may work alone or in a group of 2 people.
You may use any computer (your laptop or a machine in the DC). You should use sockets and your code should be in C, C++, or Java.

Project 4: Paper
Choose a paper from WWW 13 or 14. Send me the title as soon as possible, FCFS!
A 2-page paper is due on 5/15, when you will also give a 5-min ppt presentation.
The presentation should include the problem, the solution, some interesting details, and results.
You can work alone or in a group of 2 people.

Project 5: Web Cache
Extend project 3 (Middleman) to implement a web cache.
The deadline is Th, 6/5, when you should demo in class and send me your code by email.

Your cache will receive requests from a browser:

  • If the requested page is not in the cache, get the page from the server (project 3), keep a copy in the cache, and send the page to the browser.
  • If the requested page is in the cache, send a if-modified-since GET to the server.
  • If the server asnwers yes, update the cache with the new page received and send it to the browser.
  • If the server answers no, send the page currently stored in the cache to the browser.

    You need a data structure to keep the info about the pages in the cache, which should be stored as files in the local disk.

    Text Book

    Recommended:

    Extra Information

    Syllabus

    COEN 162 -- Learning Outcomes

    1. Understand the relationship between content and content delivery, i.e., how the evolution of the web applications affects web technology.
    2. Understand web caching: the different kinds of caches, the replacement policies, the coherence strategies, and the parameters affecting the effectiveness of the web cache.
    3. Understand the Internet's Domain Name System and load sharing.
    4. Understand web switching and global load balancing, particularly performance prediction and proximity estimation.
    5. Use sockets to develop web technology.
    6. Read, summarize and present research papers.