David R. Cheriton School of Computer Science, University of Waterloo, Waterloo, ON N2L 3G1, Canada. browndg@uwaterloo.ca|David R. Cheriton School of Computer Science, University of Waterloo, Waterloo, ON N2L 3G1, Canada. browndg@uwaterloo.ca