Readings and Warm-ups

This is a list of readings, warm-up questions, and additional resources. The readings and warm-up questions are due at the start of class on the date indicated. Warm-ups may be turned in via email or in class.

April 21, 2004

Directed diffusion: A scalable and robust communication paradigm for sensor networks - NOTE: this is a postscript file (Intanagonwiwat, Govindan, Estrin)

April 14, 2004

Mobile Information Access (Satyanarayanan)
Experience with Adaptive Mobile Applications in Odyssey (Noble and Satyanarayanan)

April 12, 2004

Fundamental Challenges in Mobile Computing (M. Satyanarayanan)
Pervasive Computing Vision and Challenges (M. Satyaanarayanan)

Warm-up Questions:
  1. Compare mobile computing and peer-to-peer computing. Describe at least two ways in which they are different and two ways in which they are similar.
  2. Compare mobile computing and pervasive computing. Describe at least two ways in which they are different and two ways in which they are similar.

April 7, 2004

A Measurement Study of Peer-to-Peer File Sharing Systems (Saroiu, Gummadi, Gribble)
A Scalable Content Addressable Network (Rantasamy, Francis, Handley, Karp, and Shenker)

Warm-up Questions:
  1. Why is it necessary to conduct a measurement study?
  2. Explain two of the primary results from this paper.
  3. Why would you increase or decrease d, the number of dimensions?
  4. What is a disadvantage of simply splitting a random exising zone when a new peer joins?
  5. Why is it necessary for a peer to set a timer before sending a TAKEOVER message?

March 29, 2004

Peer-to-Peer Computing (Milojicic, Kalogeraki, Lukose, Nagaraja, Pruyne, Richard, Rollins, and Xu)-- Read sections 1, 2, and 4 - skim 3 and 5 - ignore 6


Warm-up Questions:
  1. Describe at least two reasons why a developer might choose to design an application using a P2P model rather than a client/server model.
  2. Describe at least two challenges to implementing an application using a P2P model that are not present or are not as prominent when implementing an application using a client/server model.

March 8, 2004

Chapter 2 - Section 2.9 of Computer Networking: A Top-Down Approach Featuring the Internet (Kurose and Ross) -- on electronic reserve in the library


Warm-up Questions:
  1. What is the difference between a web cache and a CDN? Provide at least three points of comparison.
  2. For what kind of content would a content provide choose to use a CDN?

February 23, 2004

http://hotwired.lycos.com/webmonkey/webmonkey/geektalk/97/03/index4a.html
http://rtsl.cs.ccu.edu.tw/upload/reference/web_replicated.pdf
http://www.computer.org/micro/mi2003/m2022.pdf (Read beginning thoroughly and skim from "The Power Problem" on)

Warm-up Questions:
  1. How does DNS work?
  2. Why is load balancing necessary?
  3. What are some of the metrics that might be used to evaluate a load balancing algorithm?
  4. How does Google do load balancing?
  5. What is the main goal that underlies Google's choice to use commodity PCs?

February 18, 2004

http://www.sei.cmu.edu/str/descriptions/threetier.html
http://www.linktionary.com/m/multitiered.html

Warm-up Questions:
  1. What are some of the challenges of implementing a multitiered web service?

February 16, 2004

http://java.sun.com/blueprints/guidelines/designing_enterprise_applications/web_tier/dynamic_content/
http://www.acm.org/crossroads/columns/connector/november2001.html
http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html
http://rain.vislab.olemiss.edu/~ww1/homepage/project/mypaper.htm (optional)

Warm-up Questions:
  1. List three applications for which you might want to use Servlets.
  2. What are two alternatives to using Servlets? Discuss some of the advantages and/or disadvantages of using Servlets over the alternatives.
  3. What is a session and why do you need to keep track of it?

February 11, 2004

Use at least three different Internet services (one example service might be a search engine). Think about how the services you used might be built.

Warm-up Questions:
  1. Which services did you use?
  2. Which pieces of hardware would be necessary to support the services you chose?

February 9, 2004

http://www.sei.cmu.edu/str/descriptions/clientserver_body.html
http://ei.cs.vt.edu/~cs1205/web/client_server.html
http://compnetworking.about.com/library/weekly/aa050201a.htm
http://www.freesoft.org/CIE/Topics/102.htm
http://www.jmarshall.com/easy/http/

Warm-up Questions:
  1. Try telneting into a web server. Describe your experience with this. Did it work?
  2. Give an example of a client/server application other than WWW.
  3. Why is the HTTP protocol so specific?
  4. How will a web server respond if it cannot find the page you requested?

February 4, 2004

Readings:
http://java.sun.com/docs/books/tutorial/
http://java.sun.com/docs/books/tutorial/essential/threads/

Warm-up Questions:
  1. What is a Java class?
  2. What is the difference between a class and an object?
  3. Give an example of a program that would need to use threads. Be specific about how the program should use threads.

February 2, 2004

Readings:
http://www.acm.org/crossroads/columns/connector/july2000.html
http://www.acm.org/crossroads/columns/connector/august2000.html
http://www.acm.org/crossroads/columns/connector/may2001.html
http://www.javaworld.com/javaworld/jw-12-1996/jw-12-sockets.html
http://java.sun.com/docs/books/tutorial/networking/sockets/

Warm-up Questions:
  1. What are some advantages to using the protocol layering abstraction?
  2. What kind of service does the Internet Protocol (IP) provide?
  3. What type of end-to-end protocol would you want to use for a chat application?
  4. What is a socket?
  5. What is a port number?

Sami Rollins