Patents by Inventor Galen C. Hunt

Galen C. Hunt has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20120239649
    Abstract: Files can be segmented into distinct groups and allocated storage units such as blocks. Files associated with parent and child files can be segmented into separate groups, for instance. Further, a group associated with parent files can be extended to include additional blocks reserved for subsequent update. Additionally, metadata can be merged across groups to provide a unified view of the distinct groups.
    Type: Application
    Filed: March 15, 2011
    Publication date: September 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventor: Galen C. Hunt
  • Publication number: 20120227061
    Abstract: Application compatibility is facilitated by use of library operating systems. Library operating systems can encapsulate portions of an application likely to break application compatibility. An application can be bound to a compatible library operating system that operates over a host operating system. Furthermore, library operating system version can be greater than, equal, or less than the version of the host operating system. Consequently, both backward and forward compatibility is enabled.
    Type: Application
    Filed: December 8, 2011
    Publication date: September 6, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Galen C. Hunt, Reuben R. Olinsky, Michael R. Fortin
  • Publication number: 20120227038
    Abstract: Virtual machines are made lightweight by substituting a library operating system for a full-fledged operating system. Consequently, physical machines can include substantially more virtual machines than otherwise possible. Moreover, a hibernation technique can be employed with respect to lightweight virtual machines to further increase the capacity of physical machines. More specifically, virtual machines can be loaded onto physical machines on-demand and removed from physical machines to make computational resources available as needed. Still further yet, since the virtual machines are lightweight, they can be hibernated and restored at a rate substantially imperceptible to users.
    Type: Application
    Filed: December 20, 2011
    Publication date: September 6, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Galen C. Hunt, Reuben R. Olinsky
  • Publication number: 20120227058
    Abstract: A library operating system is employed in conjunction with an application in a virtual environment to facilitate dynamic application migration. An application executing in a virtual environment with a library operating system on a first machine can be suspended, and application state can be captured. Subsequently, the state can be restored and execution resumed on the first machine or a second machine.
    Type: Application
    Filed: January 6, 2012
    Publication date: September 6, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Galen C. Hunt, Reuben R. Olinsky, Adam B. Anderson, Paul G. Mayfield, William Street, Russell T. Young, Barry Bond, Andrew A. Baumann
  • Patent number: 8181061
    Abstract: A system including a plurality of servers, a client, and a metadata server is described herein. The servers each store tracts of data, a plurality of the tracts comprising a byte sequence and being distributed among the plurality of servers. To locate the tracts, the metadata server generates a table that is used by the client to identify servers associated with the tracts, enabling the client to provide requests to the servers. The metadata server also enables recovery in the event of a server failure. Further, the servers construct tables of tract identifiers and locations to use in responding to the client requests.
    Type: Grant
    Filed: April 19, 2010
    Date of Patent: May 15, 2012
    Assignee: Microsoft Corporation
    Inventors: Edmund B. Nightingale, Jeremy E. Elson, Jonathan R. Howell, Galen C. Hunt
  • Patent number: 8161163
    Abstract: A stateless distributed computer architecture allows state-caching objects, which hold server state information, to be maintained on a client or network rather than on a server. In one implementation, the computer architecture implements object-oriented program modules according to a distributed component object model (DCOM). Using an object-oriented network protocol (e.g., remote procedure call), a client-side application calls through an application program interface (API) to a program object residing at a server computer. The program object, responsive to the call, creates a state caching object that contains state information pertaining to the client connection. The server inserts the state-caching object into a local thread context and processes the request to generate a reply. The server subsequently attaches the state-caching object to the reply and returns them both to the client. The client stores the state-caching object for later communication with the server.
    Type: Grant
    Filed: December 24, 2004
    Date of Patent: April 17, 2012
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Patent number: 8122106
    Abstract: Integrating design, deployment, and management phases for a system in accordance with certain aspects includes using a system definition model to design a system. The system definition model is subsequently used to deploy the system on one or more computing devices and, after deployment of the system, the system definition model is used to manage the system deployed on the one or more computing devices.
    Type: Grant
    Filed: October 24, 2003
    Date of Patent: February 21, 2012
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Geoffrey Outhred, Bassam Tabbara, Kevin Grealish, Rob Mensching
  • Publication number: 20120017213
    Abstract: The disclosed architecture facilitates the sandboxing of applications by taking core operating system components that normally run in the operating system kernel or otherwise outside the application process and on which a sandboxed application depends on to run, and converting these core operating components to run within the application process. The architecture takes the abstractions already provided by the host operating system and converts these abstractions for use by the sandbox environment. More specifically, new operating system APIs (application program interfaces) are created that include only the basic computation services, thus, separating the basic services from rich application APIs. The code providing the rich application APIs is copied out of the operating system and into the application environment—the application process.
    Type: Application
    Filed: July 13, 2010
    Publication date: January 19, 2012
    Applicant: Microsoft Corporation
    Inventors: Galen C. Hunt, Donald Porter
  • Patent number: 8074231
    Abstract: In some implementations, the operations of a software system may include the execution of untrusted device drivers. The execution of an untrusted device driver may be initiated when an untrusted device driver that is a set of executable instructions is obtained. A computing resource for the execution of the device driver may be further determined from a device-driver manifest of the untrusted device driver. Computing resources may include one or more of a hardware resource, a memory, an input/output port, an interrupt request line, and an inter-process communication channel. Trusted local access objects may be used by the untrusted device driver to access the computing resources.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: December 6, 2011
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, James R. Larus, Manuel A Fähndrich, Orion Hodson, David R. Tarditi, Michael Spear, Michael Carbin, Steven P. Levi, Bjame Steensgaard
  • Publication number: 20110258290
    Abstract: A system including at least one storage node and at least one computation node connected by a switch is described herein. Each storage node has one or more storage units and one or more network interface components, the collective bandwidths of the storage units and the network interface components being proportioned to one another to enable communication to and from other nodes at the collective bandwidth of the storage units. Each computation node has logic configured to make requests of storage nodes, an input/output bus, and one or more network interface components, the bandwidth of the bus and the collective bandwidths of the network interface components being proportioned to one another to enable communication to and from other nodes at the bandwidth of the input/output bus.
    Type: Application
    Filed: April 23, 2010
    Publication date: October 20, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Edmund B. Nightingale, Jeremy E. Elson, Jonathan R. Howell, Galen C. Hunt, David A. Maltz
  • Publication number: 20110258297
    Abstract: A system including a plurality of servers, a client, and a metadata server is described herein. The servers each store tracts of data, a plurality of the tracts comprising a byte sequence and being distributed among the plurality of servers. To locate the tracts, the metadata server generates a table that is used by the client to identify servers associated with the tracts, enabling the client to provide requests to the servers. The metadata server also enables recovery in the event of a server failure. Further, the servers construct tables of tract identifiers and locations to use in responding to the client requests.
    Type: Application
    Filed: April 19, 2010
    Publication date: October 20, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Edmund B. Nightingale, Jeremy E. Elson, Jonathan R. Howell, Galen C. Hunt
  • Publication number: 20110258482
    Abstract: A system including a plurality of servers, a client, and a metadata server is described herein. The servers each store tracts of data, a plurality of the tracts comprising a byte sequence and being distributed among the plurality of servers. To locate the tracts, the metadata server generates a table that is used by the client to identify servers associated with the tracts, enabling the client to provide requests to the servers. The metadata server also enables recovery in the event of a server failure. Further, the servers construct tables of tract identifiers and locations to use in responding to the client requests.
    Type: Application
    Filed: April 19, 2010
    Publication date: October 20, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Edmund B. Nightingale, Jeremy E. Elson, Jonathan R. Howell, Galen C. Hunt
  • Patent number: 8032898
    Abstract: Described herein are one or more implementations that separate kernel interfaces functions into those that act on kernel objects owned by a process and accessed exclusively by that process—described herein as local kernel objects—from access to kernel objects owned by a process and accessible by other active processes.
    Type: Grant
    Filed: June 30, 2006
    Date of Patent: October 4, 2011
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, James R. Larus, Manuel Fähndrich, Bjarne Steensgaard, David R. Tarditi, Brian Zill
  • Patent number: 8020141
    Abstract: Described herein is an implementation of a technology for the construction, identity, and/or optimization of operating-system processes. At least one implementation, described herein, constructs an operating-system process having the contents as defined by a process manifest. Once constructed, the operating-system process is unalterable.
    Type: Grant
    Filed: December 6, 2004
    Date of Patent: September 13, 2011
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, James R. Larus, John D. DeTreville, Edward P. Wobber, Martin Abadi, Michael B. Jones, Trishul Chilimbi
  • Patent number: 7984429
    Abstract: A method of instrumenting one or more units of an application program is disclosed. Each unit can have one or more interfaces through which communications pass through the unit. Client units can request creation of a server unit. When they do so, the call is intercepted and sent to a unit creation function, which creates the server unit and returns a reference to an interface of the server unit. When a reference to an interface of the server unit is detected, an interface wrapper is created for the interface, the interface wrapper comprising a reference to instrumentation, the reference to the interface, and a reference to a type description of the interface. The client receives a reference to the interface wrapper in place of a reference to the interface, and thereafter is able to treat the reference to the interface wrapper as if it were a reference to the interface.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: July 19, 2011
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Patent number: 7890543
    Abstract: An architecture and methodology for designing, deploying, and managing a distributed application onto a distributed computing system is described.
    Type: Grant
    Filed: October 24, 2003
    Date of Patent: February 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Bassam Tabbara, Kevin Grealish, Geoffrey Outhred, Rob Mensching
  • Patent number: 7890951
    Abstract: Model-based provisioning of test environments includes accessing a model of an application to be installed in a test environment of a system and further accessing a model of the system and a model of the test environment. An installation specification for the application is also generated, the installation specification being derived at least in part from the model of the application, the model of the system, and the model of the test environment.
    Type: Grant
    Filed: June 29, 2005
    Date of Patent: February 15, 2011
    Assignee: Microsoft Corporation
    Inventors: Anders B. Vinberg, Robert M. Fries, Kevin Grealish, Galen C. Hunt, Aamer Hydrie, Edwin R. Lassettre, Rob Mensching, Geoffrey Outhred, John M. Parchem, Przemek Pardyak, Bassam Tabbara, Rene Antonio Vega, Robert V. Welland, Eric J. Winner, Jeffrey A. Woolsey
  • Patent number: 7882317
    Abstract: A first plurality of operating system processes is assigned to a first protection domain, and a second plurality of operating system processes is assigned to a second protection domain. One or more hardware protection mechanisms are used to prevent the first plurality of operating system processes from accessing the memory space of the second plurality of operating system processes, and also to prevent the second plurality of operating system processes from accessing the memory space of the first plurality of operating system processes.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: February 1, 2011
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Chris K. Hawblitzel, James R. Larus, Manuel A. Fahndrich, Mark Aiken
  • Publication number: 20100318293
    Abstract: Techniques for creating breadcrumbs for a trail of activity are described. The trail of activity may be created by recording movement information based on inferred actions of walking, not walking, or changing floor levels. The movement information may be recorded with an accelerometer and a pressure sensor. A representation of a list of breadcrumbs may be visually displayed on a user interface of a mobile device, in a reverse order to retrace steps. In some implementations, a compass may additionally or alternatively be used to collect directional information relative to the earth's magnetic poles.
    Type: Application
    Filed: June 12, 2009
    Publication date: December 16, 2010
    Applicant: Microsoft Corporation
    Inventors: Alice Jane Brush, James W. Scott, Galen C. Hunt, Raman K. Sarin, Andrew W. Jacobs, Barry C. Bond, Oscar E. Murillo, Amy Karlson
  • Publication number: 20100287271
    Abstract: A controller, referred to as the “BMonitor”, is situated on a computer. The BMonitor includes a plurality of filters that identify where data can be sent to and/or received from, such as another node in a co-location facility or a client computer coupled to the computer via the Internet. The BMonitor further receives and implements requests from external sources regarding the management of software components executing on the computer, allowing such external sources to initiate, terminate, debug, etc. software components on the computer. Additionally, the BMonitor operates as a trusted third party mediating interaction among multiple external sources managing the computer.
    Type: Application
    Filed: July 19, 2010
    Publication date: November 11, 2010
    Applicant: Microsoft Corporation
    Inventors: Bassam Tabbara, Galen C. Hunt, Aamer Hydrie, Steven P. Levi, David S. Stutz, Robert V. Welland