Funding for this research was provided in part by the Natural Sciences and Engineering Research Council of Canada and the Information Technology Research Center of Ontario.