I am part of the launch team for Microsoft Research New Experiences and Technologies organization (MSR NExT). I am manager of the Operating Systems Technologies Group. My current interests revolve around the evolution of application frameworks and commodity OS kernels for the coming convergence of digital and physical systems. Previously, I led the Operating Systems and Distributed Systems Group as Principal Researcher.
Recently, I explored the trade-offs between virtual machine monitors and OS kernels as ways to build new computing systems using Drawbridge. I spent 12 months in 2012 and 2013 implementing Drawbridge in Azure for some of Microsoft cloud services. Previously, I lead the Menlo and Experiment 19 projects and the Singularity project. Experiment 19 was a skunk-works project completed in spring 2009 that demonstrated for the first time that Windows NT could effectively replace Windows CE as the core OS for mobile devices. Within months of the completion of Experiment 19, Microsoft launched efforts to build what would become Windows Phone 8 and Windows RT for ARM tablets.
In 2000, I co-founded the MSR BIG Project. Ahead of our time, we discovered many principles of cloud computing five years ahead of Amazon. Over 30 US Patents issued for the cloud computing technologies we developed. During a leave from MSR to move these ideas into Microsoft products, I was the Group Program Manager for Windows Automated Deployment Services. My group created two of the core technologies for Microsoft’s Dynamic Systems Initiative: the Dynamic Data Center and the System Definition Model.
Before BIG, I was a Researcher in the Systems and Networking Group. I worked on the Millennium Project; Continuum, a distributed version of the .NET Common Language Runtime (CLR); and Coign, a system that converted existing COM-based desktop applications into client-server distributed applications without access to application source code. I’ve worked on running DCOM over System Area Networks (SANs), the Detours package for instrumenting Windows binaries, and a proxy device driver for creating Windows NT user-mode drivers.
As a MSR summer intern, I developed the prototype for the protocol and implementation for what became, after reworking by a cast of hundreds, Microsoft’s Advanced Streaming Format (ASF) and Windows Media Player.
I have Ph.D. (1998) and M.S. (1996) degrees in Computer Science from the University of Rochester, a B.S. (1992) degree in Physics from the University of Utah, and an A.S. (1987) degree from what is now Dixie State University.
While at the University of Rochester, I was part of Michael Scott’s Cashmere team developing fast Software Distributed Shared Memory (SDSM) systems on memory mapped networks. I also modified the GNU Compiler Collection Objective-C runtime to support full multi-threading.
Before graduate school, I lead software development at a small start-up, Software Migrations, Inc.. My greatest achievement at SMI was DPX, an advanced structure-mapping and data-migration tool. We rocked the tax-preparation software market by creating programs that automatically migrated tax records from one tax package to another. With just 5 people, we produced over 100 separate transfer programs each year and ate the lunch of everyone else in the business. It was an excellent experiment in leveraging automated software development tools.
As an undergraduate, I contributed to the Linux 0.11 text console driver. Before that, I started programming in C as a teenager.