|
|
Galen C. Hunt
Principal Researcher, Microsoft Research Operating Systems Group

I manage the Microsoft Research Operating Systems Group and am a Principal Researcher leading a project to build a prototype research OS, called Singularity. We use Singularity to explore issues of system dependability. A system is dependable if its behavior is predictable and reliable. If the designers, developers, administrators, and users of a system can predict its behavior based on easy to understand models, then they will perceive the system as being more reliable. Singularity has pioneered the use of software isolated processes (SIPs) and sealed processes. SIPs dramatically reduce the costs of protection in microkernel systems. Sealed processes offer significant benefits for improving security, dependability, and performance in software systems.
During a leave from MSR, 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 that I was a
Researcher in the
Systems and Networking Group.
I worked on the
Millennium Project;
Continuum, a distributed version of the
.NET Framework; and Coign, a system
that converted existing COM-based desktop applications into
client-server distributed applications without access to application
source code.
Previous interns who have worked for me include:
César Spessot (2006), who ported a subset of SQL to Singularity;
Mike Spear (2005), who created an entirely declarative I/O device driver configuration system for Singularity;
Prince Mahajan (2004), who wrote a number of device drivers and a transacted file system for Singularity;
Tom Roeder (2004), who worked on Singularity's application abstraction and installer;
David Oppenheimer (1999), who built a distributed hash table on an unnamed research OS; and
Rob Stets (1998),
who created a distributed DCOM-based implementation of the Win32
API called COP
(the Component-based OS Proxy).
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 prototyped for the protocol and implementation for what
became, after reworking by a cast of thousands, 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 Dixie College.
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 acheivement at SMI
was DPX, an advanced struct-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.
Personal

Aside from systems research, my biggest interests are my wife, my
daughter, my son, and church.
My wife thinks I spend too much time with the computer; my daughter and son agree.
They all smile when I come home from work and that makes me smile.
Refereed Publications
-
Singularity: Rethinking the Software Stack,
Galen Hunt and
James Larus.
Operating Systems Review, Vol. 41, Iss. 2, pp. 37-49, April 2007. ACM SIGOPS.
-
Sealing OS Processes to Improve Dependability and Safety,
Galen Hunt,
Mark Aiken,
Fähndrich,
Chris Hawblitzel,
Orion Hodson,
James Larus,
Steven Levi,
Bjarne Steensgaard,
David Tarditi, and
Ted Wobber.
Proceedings of EuroSys2007, pp. 341-354,
Lisbon, Portugal, March 2007. ACM SIGOPS.
-
Deconstructing Process Isolation,
Mark Aiken,
Manuel Fähndrich,
Chris Hawblitzel
Galen C. Hunt, and
James R. Larus.
ACM SIGPLAN Workshop on Memory Systems Correctness and Performance (MSPC 2006) at ASPLOS 2006,
San Jose, CA, October 2006.
-
{End Bracket} Singularity,
James R. Larus,
Galen C. Hunt, and
David Tarditi.
MSDN Magazine,
Vol. 21, No. 7, p. 172,
Microsoft Corporation,
Redmond, WA, June 2006.
-
Language Support for Fast and Reliable Message-based Communication in Singularity OS,
Manuel Fähndrich, Mark Aiken, Chris Hawblitzel, Orion Hodson, Galen C. Hunt, James R. Larus, and Steven Levi.
Proceedings of EuroSys2006, pp. 177-190.
Leuven, Belgium, April 2006. ACM SIGOPS. Best paper award.
-
Solving the Starting Problem: Device Drivers as Self-Describing Artifacts,
Michael Spear, Tom Roeder, Orion Hodson, Galen Hunt, and Steven Levi.
Proceedings of EuroSys2006, pp. 45-58.
Leuven, Belgium, April 2006. ACM SIGOPS.
-
Broad New OS Research: Challenges and Opportunities.
Galen Hunt,
James Larus,
David Tarditi, and
Ted Wobber.
Proceedings of the 10th Workshop on Hot Topics in Operating Systems, pp. 85-90.
Santa Fe, NM, June 2005. USENIX.
- Detours: Binary Interception of Win32 Functions.
Galen Hunt and Doug Brubacher.
Proceedings of the 3rd USENIX Windows NT Symposium, pp. 135-143.
Seattle, WA, July 1999. USENIX.
-
Component-Based APIs: A Versioning and Distributed Resource Solution.
Robert Stets,
Galen Hunt, and
Michael Scott.
IEEE Computer, Vol. 32, No. 7, pp. 54-61.
July 1999. IEEE.
-
The Coign Automatic Distributed Partitioning System.
Galen Hunt and
Michael Scott.
Proceedings of the Third Symposium on Operating System Design and Implementation (OSDI '99), pp. 187-200.
New Orleans, LA, February 1999. USENIX.
-
Automatic Distributed Partitioning of Component-Based Applications.
Galen Hunt.
Ph.D. Dissertation,
Computer Science Department.
University of Rochester,
Rochester, NY, July 1998.
-
CASHMERE-2L: Software Coherent Shared Memory on a Clustered Remote-Write Network.
Robert Stets,
Sandhya Dwarkadas,
Nikolaos Hardavellas,
Galen Hunt,
Leonidas Kontothanassis,
Srinivasan Parthasarathy, and
Michael Scott.
Proceeedings of the 16th ACM Symposium on Operating System Principles (SOSP '97). pp. 170-183.
Saint-Malo, France, October 1997. ACM.
- Creating User-Mode Device Drivers with a Proxy.
Galen Hunt.
Proceedings of the 1st USENIX Windows NT Workshop, pp. 55-59.
Seattle, WA, August 1997. USENIX.
-
VM-Based Shared Memory on Low-Latency, Remote-Memory-Access Networks.
Leonidas Kontothanassis,
Galen Hunt,
Robert Stets,
Nikolaos Hardavellas,
Michal Cierniak,
Srinivasan Parthasarathy,
Wagner Meira,
Sandhya Dwarkadas, and
Michael Scott.
Proceedings of the 24th Annual International Symposium on Computer Architecture (ISCA 1997), pp. 157-169.
Denver, CO, June 1997.
Also URCS Technical Report 643,
Computer Science Department,
University of Rochester,
Rochester, NY, November 1996.
-
An Efficient Algorithm for Priority Queue Heaps,
Galen Hunt,
Maged Michael,
Srinivasan Parthasarathy, and
Michael Scott,
Information Processing Letters (IPL), v. 60, n. 3, November 1996.
- Other Publications...
Patents
- System and method for distributed management of shared computers
Galen Hunt,
Aamer Hydre,
Steven Levi,
David Stutz,
Bassam Tabbara,
Robert Welland.
U.S. Patent #7,370,103, May 6, 2008.
- Method and apparatus for processing program threads
Robert Welland,
Galen Hunt,
Dimitris Achlioptas.
U.S. Patent #7,337,443, February 26, 2008.
- Method and apparatus for processing program threads
Robert Welland,
Galen Hunt,
Dimitris Achlioptas.
U.S. Patent #7,337,443, February 26, 2008.
- Operating system application programming interfaces and methods of using operating systems.
Galen Hunt,
Gerald Cermak,
Robert J. Stets, Jr.,
U.S. Patent #7,334,235, February 19, 2008.
- Establishing computing trust with a staging area
Galen Hunt,
Jeff Simon.
U.S. Patent #7,305,561, December 4, 2007.
- Filters to isolate untrusted ports of switches
Galen Hunt,
Jeff Simon.
U.S. Patent #7,305,549, December 4, 2007.
- System and method for distributed management of shared computers
Galen Hunt,
Aamer Hydre,
Steven Levi,
David Stutz,
Bassam Tabbara,
Robert Welland.
U.S. Patent #7,200,655, April 3, 2007.
- Architecture for distributed computing system and automated design, deployment, and management of distributed applications
Mathilde Brown,
Charlie Chase,
Kevin Grealish,
Galen Hunt,
Aamer Hydre,
David Noble,
Geoffrey Outhred,
Glenn Peterson,
Bassam Tabbara,
Alexander Torone,
Robert Welland.
U.S. Patent #7,200,530, April 3, 2007.
- Architecture for distributed computing system and automated design, deployment, and management of distributed applications
Mathilde Brown,
Charlie Chase,
Kevin Grealish,
Galen Hunt,
Aamer Hydre,
David Noble,
Geoffrey Outhred,
Glenn Peterson,
Bassam Tabbara,
Alexander Torone,
Robert Welland.
U.S. Patent #7,162,509, January 9, 2007.
- System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model
Galen Hunt,
Aamer Hydre,
Robert Welland,
Bassam Tabbara,
Steven Levi,
Jakob Rehof.
U.S. Patent #7,155,830, December 26, 2006.
- Stateless distributed computer architecture with server-oriented state-caching objects maintained on network or client
Galen Hunt,
U.S. Patent #7,127,514, October 24, 2006.
- System and method for logical modeling of distributed computer systems
Galen Hunt,
Aamer Hydre,
Robert Welland,
Bassam Tabbara,
Steven Levi,
Jakob Rehof.
U.S. Patent #7,113,900, September 26, 2006.
-
System and method providing automatic policy enforcement in a multi-computer service application
Galen Hunt,
Aamer Hydre,
Steven Levi,
Bassam Tabbara,
Mark VanAntwerp,
Robert Welland.
U.S. Patent #7,096,258, August 22, 2006.
-
Using packet filters and network virtualization to restrict network communications
Aamer Hydre,
Galen Hunt,
Steven Levi,
Bassam Tabbara,
Robert Welland.
U.S. Patent #7,093,288, August 15, 2006.
-
System and method providing automatic policy enforcement in a multi-computer service application.
Galen Hunt,
Aamer Hydre,
Steven Levi,
Bassam Tabbara,
Mark VanAntwerp,
Robert Welland.
U.S. Patent #7,080,143, July 4, 2006.
-
Architecture for distributed computing system and automated design, deployment, and management of distributed applications.
Mathilde Brown, Charlie Chase, Kevin Grealish, Galen Hunt, Aamer Hydrie, David Noble, Geoffrey Outhred, Glenn Peterson, Bassam Tabbara, Alexander Torone, Robert Welland.
U.S. Patent #7,072,807, July 4, 2006.
- System and method for restricting data transfers aand managing software components of distributed computer
Bassam Tabbara,
Galen Hunt,
Aamer Hydre,
Steven Levi,
David Stutz,
Robert Welland.
U.S. Patent #7,043,545, May 9, 2006.
-
Tools and techniques for instrumenting interfaces of units of a software program.
Galen Hunt.
U.S. Patent #7,039,919, May 2, 2006.
-
System and method for restricting data transfers and managing software components of distributed computers.
Bassam Tabbara,
Galen Hunt,
Aamer Hydre,
Steven Levi,
David Stutz,
Robert Welland.
U.S. Patent #7,016.950, March 21, 2006.
-
Heavyweight and lightweight instrumentation.
Galen Hunt.
U.S. Patent #6,988,271, January 17, 2006.
-
Network independent profiling of applications for automatic partitioning and distribution in a distributed computing environment.
Galen Hunt.
U.S. Patent #6,983,463, January 3, 2006.
-
Dynamic classification of sections of software.
Galen Hunt.
U.S. Patent #6,957,422, October 18, 2005.
-
System and method providing automatic policy enforcement in a multi-computer service application.
Galen Hunt,
Aamer Hydre,
Steven Levi,
Bassam Tabbara,
Mark Van Antwerp,
Robert Welland.
U.S. Patent #6,915,338, July 5, 2005.
- System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model.
Galen Hunt,
Aamer Hydre,
Robert Welland.
Bassam Tabbara,
Steven Levi,
Jakob Rehof,
U.S. Patent #6,907,395, June 14, 2005.
- System and method for restricting data transfers and managing software components of distributed computers.
Bassam Tabbara,
Galen Hunt,
Aamer Hydre,
Steven Levi,
David Stutz,
Robert Welland.
U.S. Patent #6,886,038, April 26, 2005.
- Accelerating a distributed component architecture over a network using a direct marshaling.
Yi-Min Wang,
Galen Hunt,
Alessandro Forin.
U.S. Patent #6,826,763, November 30, 2004.
- Methods of factoring operating system functions, methods of converting operating systems, and related apparatus.
Galen Hunt,
Gerald Cermak,
Robert J. Stets, Jr.,
U.S. Patent #6,826,760, November 30, 2004.
- Accelerating a distributed component architecture over a network using a modified RPC communication.
Yi-Min Wang,
Galen Hunt,
Alessandro Forin.
U.S. Patent #6,807,223, March 16, 2004.
-
Interception of unit creation requests by an automatic distributed partitioning system.
Galen Hunt.
U.S. Patent #6,629,123, September 30, 2003.
-
Service installation on a base function and provision of a pass function with a service-free base function semantic.
Galen Hunt.
U.S. Patent #6,546,553, April 8, 2003.
-
Reversible load-time dynamic linking.
Galen Hunt.
U.S. Patent #6,499,137, December 24, 2002.
-
Dynamic classification of sections of software.
Galen Hunt.
U.S. Patent #6,381,735, April 30, 2002.
-
Summarized application profiling and quick network profiling.
Galen Hunt.
U.S. Patent #6,381,628, April 30, 2002.
-
Apparatus and method for maintaining data coherence within a cluster of symmetric multiprocessors.
Leonidas Kontothanassis,
Michael Scott,
Robert Stets,
Sandhya Dwarkadas,
Nikolaos Hardavellas, and
Galen Hunt.
U.S. Patent #6,341,339, January 22, 2002.
-
Heavyweight and lightweight instrumentation.
Galen Hunt.
U.S. Patent #6,263,491, July 17, 2001.
-
Automatic detection of per-unit location constraints.
Galen Hunt.
U.S. Patent #6,230,312, May 8, 2001.
-
Method and system for providing data files that are partitioned by delivery time and data type.
Galen Hunt.
U.S. Patent #6,101,546, August 8, 2000.
Professional Activities
- Program Committee, EuroSys 2008. Nuremberg, Germany, April 2009.
- Program Committee, 8th USENIX Symposium on Operating Systems Design and Implementation (OSDI '08). San Diego, CA, December 2008.
- Program Committee, EuroSys 2008. Glasgow, Scotland, April 2008.
- Program Committee Chair, 11th Workshop on Hot Topics in Operating Systems (HotOS XI). San Diego, CA, May 2007.
- Sponsorships Chair, 20th ACM Symposium on Operating Systems Principles (SOSP). Brighton, United Kingdom, October 2005.
- Treasurer, 19th ACM Symposium on Operating Systems Principles (SOSP). Bolton Landing, NY, October 2003.
- Program Committee, Ninth International Conference on Architectural Support for Programming Languages and Operation Systems (ASPLOS-IX), Cambridge, MA, November 2000.
- Review Panel, NSF Information Technology Research (ITR) Program, Arlington, VA, April, 2000.
- Committee, 1999 DARPA ISAT Study on Probabilistic Methods in Computational Systems and Infrastructure, Woods Hole, MA, August 1999.
- Other Professional Activities...
Proposals and Idea Submission
Do you have a great idea to improve Microsoft's operating systems?
Don't send it to me, because I can't help you. To protect your intellectual property, third party ideas and business proposals must be submitted through the Microsoft Proposal Submission Tool.
|