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:
- 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.
- 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:
- Why is it necessary to conduct a measurement study?
- Explain two of the primary results from this paper.
- Why would you increase or decrease d, the number
of dimensions?
- What is a disadvantage of simply splitting a random exising zone
when a new peer joins?
- 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:
- Describe at least two reasons why a developer might choose to
design an application using a P2P model rather than a client/server model.
- 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:
- What is the difference between a web cache and a CDN? Provide
at least three points of comparison.
- 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:
- How does DNS work?
- Why is load balancing necessary?
- What are some of the metrics that might be used to evaluate a
load balancing algorithm?
- How does Google do load balancing?
- 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:
- 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:
- List three applications for which you might want to use Servlets.
- What are two alternatives to using Servlets? Discuss some of the
advantages and/or disadvantages of using Servlets over the alternatives.
- 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:
- Which services did you use?
- 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:
- Try telneting into a web server. Describe your experience with
this. Did it work?
- Give an example of a client/server application other than WWW.
- Why is the HTTP protocol so specific?
- 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:
- What is a Java class?
- What is the difference between a class and an object?
- 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:
- What are some advantages to using the protocol layering
abstraction?
- What kind of service does the Internet Protocol (IP) provide?
- What type of end-to-end protocol would you want to use for a chat
application?
- What is a socket?
- What is a port number?
Sami Rollins