Computer Laboratory, University of Cambridge, Cambridge CB3 0FD, UK.|Computer Laboratory, University of Cambridge, Cambridge CB3 0FD, UK.|Computer Laboratory, University of Cambridge, Cambridge CB3 0FD, UK.|Computer Laboratory, University of Cambridge, Cambridge CB3 0FD, UK.