Stanford Distributed Systems and Networks Quals
1998 Problem Set
Problem 1 (15 Points)
You're working at a software company late at night. It's no
longer a startup, so you're the only one there at 3am. You're a
bit lonely and the place is a little too quiet. However, you're
in a room filled with cubicles and each cubicle boasts a
workstation with a speaker that can play a single note at a
time, in a range of four octaves.
You decide you'd like to get these workstations to sing
in four-part harmony (soprano, alto, tenor and bass). You'll
designate some of the machines as sopranos, some as altos, etc.,
and give each of the groups a part to sing. You'll control the
song from your own workstation. The machines are all on a
shared 10Mbit Ethernet.
Assume there's already a format into which you can
compile music and which each workstation can read to produce
what it believes are the desired notes with the desired
durations. You can send the same music to all the machines, and
if you tell the machine what part it shouldsing, it will extract
that part from the music.
What are some of the distributed systems issues you
need to worry about to get these machines to sing well together?
How do you address these issues?
Problem 2 (30 Points)
You are responsible for a very popular web site that has items
on it that change frequently. You have two choices for how the
server and clients interact:
- You can keep these changing itesm on the web server and
allow clients to contact the server for any changes.
- You can have the server "push" any changes out to the
clients to be cached there.
Do not worry about the actual details of http. Assume either of
these techniques can work. Assume the clients keep a timestamp
for any items they cache that they can include in a message to
the server to find out if that item has changed. Assume that
the clients do not make changes to the items on the web site.
- How would you decide for this web site which technique to
use? What are some of the issues you'd examine in deciding
which technique to use?
- Do your plans change if the clients can also make changes to
the items on the web site? If so, how?
Problem 2 (30 Points)
Most of the sercurity techniques we read about concern
protecting communication paths. Instead, you've been hired to
design a secure distributed file system. Are there different
security issues regarding secure storage than there are for
secure communication? If so, what are they? If not, why
not?