David R. Cheriton School of Computer Science, University of Waterloo, Ontario, Canada and Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong.|David R. Cheriton School of Computer Science, University of Waterloo, Ontario, Canada and Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong.|David R. Cheriton School of Computer Science, University of Waterloo, Ontario, Canada and Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong.|David R. Cheriton School of Computer Science, University of Waterloo, Ontario, Canada and Department of Computer Science, City University of Hong Kong, Kowloon, Hong Kong.