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: 20120239649Abstract: 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: ApplicationFiled: March 15, 2011Publication date: September 20, 2012Applicant: MICROSOFT CORPORATIONInventor: Galen C. Hunt
-
Publication number: 20120227061Abstract: 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: ApplicationFiled: December 8, 2011Publication date: September 6, 2012Applicant: MICROSOFT CORPORATIONInventors: Galen C. Hunt, Reuben R. Olinsky, Michael R. Fortin
-
Publication number: 20120227038Abstract: 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: ApplicationFiled: December 20, 2011Publication date: September 6, 2012Applicant: MICROSOFT CORPORATIONInventors: Galen C. Hunt, Reuben R. Olinsky
-
Publication number: 20120227058Abstract: 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: ApplicationFiled: January 6, 2012Publication date: September 6, 2012Applicant: MICROSOFT CORPORATIONInventors: Galen C. Hunt, Reuben R. Olinsky, Adam B. Anderson, Paul G. Mayfield, William Street, Russell T. Young, Barry Bond, Andrew A. Baumann
-
Patent number: 8181061Abstract: 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: GrantFiled: April 19, 2010Date of Patent: May 15, 2012Assignee: Microsoft CorporationInventors: Edmund B. Nightingale, Jeremy E. Elson, Jonathan R. Howell, Galen C. Hunt
-
Patent number: 8161163Abstract: 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: GrantFiled: December 24, 2004Date of Patent: April 17, 2012Assignee: Microsoft CorporationInventor: Galen C. Hunt
-
Patent number: 8122106Abstract: 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: GrantFiled: October 24, 2003Date of Patent: February 21, 2012Assignee: Microsoft CorporationInventors: Galen C. Hunt, Geoffrey Outhred, Bassam Tabbara, Kevin Grealish, Rob Mensching
-
Publication number: 20120017213Abstract: 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: ApplicationFiled: July 13, 2010Publication date: January 19, 2012Applicant: Microsoft CorporationInventors: Galen C. Hunt, Donald Porter
-
Patent number: 8074231Abstract: 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: GrantFiled: June 30, 2006Date of Patent: December 6, 2011Assignee: Microsoft CorporationInventors: 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: 20110258290Abstract: 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: ApplicationFiled: April 23, 2010Publication date: October 20, 2011Applicant: MICROSOFT CORPORATIONInventors: Edmund B. Nightingale, Jeremy E. Elson, Jonathan R. Howell, Galen C. Hunt, David A. Maltz
-
Publication number: 20110258297Abstract: 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: ApplicationFiled: April 19, 2010Publication date: October 20, 2011Applicant: MICROSOFT CORPORATIONInventors: Edmund B. Nightingale, Jeremy E. Elson, Jonathan R. Howell, Galen C. Hunt
-
Publication number: 20110258482Abstract: 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: ApplicationFiled: April 19, 2010Publication date: October 20, 2011Applicant: MICROSOFT CORPORATIONInventors: Edmund B. Nightingale, Jeremy E. Elson, Jonathan R. Howell, Galen C. Hunt
-
Patent number: 8032898Abstract: 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: GrantFiled: June 30, 2006Date of Patent: October 4, 2011Assignee: Microsoft CorporationInventors: Galen C. Hunt, James R. Larus, Manuel Fähndrich, Bjarne Steensgaard, David R. Tarditi, Brian Zill
-
Patent number: 8020141Abstract: 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: GrantFiled: December 6, 2004Date of Patent: September 13, 2011Assignee: Microsoft CorporationInventors: Galen C. Hunt, James R. Larus, John D. DeTreville, Edward P. Wobber, Martin Abadi, Michael B. Jones, Trishul Chilimbi
-
Patent number: 7984429Abstract: 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: GrantFiled: April 1, 2005Date of Patent: July 19, 2011Assignee: Microsoft CorporationInventor: Galen C. Hunt
-
Patent number: 7890543Abstract: An architecture and methodology for designing, deploying, and managing a distributed application onto a distributed computing system is described.Type: GrantFiled: October 24, 2003Date of Patent: February 15, 2011Assignee: Microsoft CorporationInventors: Galen C. Hunt, Bassam Tabbara, Kevin Grealish, Geoffrey Outhred, Rob Mensching
-
Patent number: 7890951Abstract: 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: GrantFiled: June 29, 2005Date of Patent: February 15, 2011Assignee: Microsoft CorporationInventors: 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: 7882317Abstract: 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: GrantFiled: August 4, 2006Date of Patent: February 1, 2011Assignee: Microsoft CorporationInventors: Galen C. Hunt, Chris K. Hawblitzel, James R. Larus, Manuel A. Fahndrich, Mark Aiken
-
Publication number: 20100318293Abstract: 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: ApplicationFiled: June 12, 2009Publication date: December 16, 2010Applicant: Microsoft CorporationInventors: 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: 20100287271Abstract: 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: ApplicationFiled: July 19, 2010Publication date: November 11, 2010Applicant: Microsoft CorporationInventors: Bassam Tabbara, Galen C. Hunt, Aamer Hydrie, Steven P. Levi, David S. Stutz, Robert V. Welland