Department of Computer Science, University of North Carolina, CB 3175 Brooks Bldg, Chapel Hill, NC;Department of Computer Science, Microsoft Research Asia, No 999, Zixing Road, Minhang District, Shanghai, NC, China;Department of Computer Science, Peking University, Science BLK 1, No.5 Yiheyuan Road, Haidian District, Beijing, NC, P.R.China;Department of Computer Science, City University of Hong Kong, Tat Chee Ave., Kowloon, NC, Hong Kong