I’m a Senior Researcher in the Systems Research Group at Microsoft Research. My research focuses broadly on computer systems, with particular emphasis on distributed systems, trusted computing, privacy, online games, cloud computing, and energy management.
I love projects that involve building systems, and a major interest of mine is achieving fault tolerance in those systems. I’ve shown how to deal with server failures in SMART and Shroud, trusted-component power failures in TrInc and Memoir, and improperly behaving participants in decentralized systems like GreenUp and FARSITE. I’m an expert in Paxos and its many variants; having used it in several systems, I know its strengths and weaknesses.
Lately, I’ve discovered the power of trusted computing to solve difficult problems in security and privacy. The TrInc work showed how a simple trusted device could be leveraged for a great variety of purposes, including efficiently tolerating Byzantine faults, preventing Sybil attacks, preventing BitTorrent under-reporting, and allowing untrusted entities to provide trusted services. The Shroud system demonstrated how a server can use secure hardware to hide difficult-to-hide information hackers can otherwise glean from access patterns, such as who’s friends with whom and where someone is looking for local information. And my current project, Ironclad, shows how to use full-system software verification to enable provably justifiable trust in services that run on trusted platforms in the cloud.