I’m a Principal Researcher in the Systems Research Group at Microsoft Research. My research focuses broadly on computer systems, with particular emphasis on distributed systems, software verification, trusted computing, privacy, 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; most recently, in the IronFleet project, my team and I produced the first-ever implementation of Paxos with a machine-checked proof of both its safety and liveness.
In much of my work, I leverage the power of trusted computing to solve difficult problems in security and privacy. The TrInc work shows 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 demonstrates 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, the Ironclad project shows how to use full-system software verification to enable provably justifiable trust in services that run on trusted platforms in the cloud.