Patents by Inventor Galen Hunt

Galen 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).

  • Patent number: 9946641
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Grant
    Filed: December 14, 2015
    Date of Patent: April 17, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
  • Patent number: 9785470
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: October 10, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Anil F. Thomas, Steven Maillet
  • Patent number: 9575864
    Abstract: Methods for dynamically instrumenting a program while the program is executing are described. In some embodiments, profiling hooks may be selectively inserted into and removed from a program while the program is running. The hooks may gather profiling information, such as the frequency and duration of function calls, for a selected set of functions. The hooks may be inserted into the program without requiring a special build or modifications to the binary by modifying machine-level instructions for the program stored in system memory. The ability to selectively insert instrumentation into the machine-level instructions stored in the system memory allows a set of functions to be selected during execution of the program and hooks for each function of the set of functions to be dynamically inserted or removed during execution of the program to precisely capture profiling information for the set of functions.
    Type: Grant
    Filed: August 6, 2014
    Date of Patent: February 21, 2017
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Joe Chau, Jay Krell, Allan Murphy, Danny Chen, Hoi Vo, Steven Pratschner, Galen Hunt
  • Publication number: 20160188454
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Application
    Filed: December 14, 2015
    Publication date: June 30, 2016
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
  • Patent number: 9286182
    Abstract: Described are techniques for capturing and analyzing snapshots of virtual machines. One or more computers may automatically obtain snapshots of virtual machines as they are executing to form a pool of virtual machine snapshots. The virtual machine snapshots are then read to obtain a set of features properties of the virtual machine snapshots, including information about a running guest operating system, software installed on the virtual machine, metadata about the virtual machine itself, and others. The features or properties are analyzed, in one embodiment using a machine learning algorithm, to automatically compute and store information about the virtual machines.
    Type: Grant
    Filed: June 17, 2011
    Date of Patent: March 15, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Fries, Galen Hunt, Shobana Balakrishnan
  • Patent number: 9218206
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Grant
    Filed: June 20, 2011
    Date of Patent: December 22, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
  • Patent number: 9207962
    Abstract: Techniques for analyzing virtual machine images are described. In one embodiment, a subset of settings is extracted from one or more virtual machine images, the virtual machine images store therein values of the settings. The settings are used by software executing in virtual machines of the virtual machine images, respectively. A target one of the virtual machine images is selected and target values of the settings are obtained from the target virtual machine image. Sample values of the settings are obtained from a plurality of virtual machine images. The subset formed by identifying similarities and differences of the values between the virtual machine images.
    Type: Grant
    Filed: December 11, 2013
    Date of Patent: December 8, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Fries, Galen Hunt, Srivatsan Parthasarathy
  • Publication number: 20150347263
    Abstract: Methods for dynamically instrumenting a program while the program is executing are described. In some embodiments, profiling hooks may be selectively inserted into and removed from a program while the program is running. The hooks may gather profiling information, such as the frequency and duration of function calls, for a selected set of functions. The hooks may be inserted into the program without requiring a special build or modifications to the binary by modifying machine-level instructions for the program stored in system memory. The ability to selectively insert instrumentation into the machine-level instructions stored in the system memory allows a set of functions to be selected during execution of the program and hooks for each function of the set of functions to be dynamically inserted or removed during execution of the program to precisely capture profiling information for the set of functions.
    Type: Application
    Filed: August 6, 2014
    Publication date: December 3, 2015
    Inventors: Joe Chau, Jay Krell, Allan Murphy, Danny Chen, Hoi Vo, Steven Pratschner, Galen Hunt
  • Publication number: 20140143775
    Abstract: Techniques for analyzing virtual machine images are described. In one embodiment, a subset of settings is extracted from one or more virtual machine images, the virtual machine images store therein values of the settings. The settings are used by software executing in virtual machines of the virtual machine images, respectively. A target one of the virtual machine images is selected and target values of the settings are obtained from the target virtual machine image. Sample values of the settings are obtained from a plurality of virtual machine images. The subset formed by identifying similarities and differences of the values between the virtual machine images.
    Type: Application
    Filed: December 11, 2013
    Publication date: May 22, 2014
    Applicant: Microsoft Corporation
    Inventors: Robert Fries, Galen Hunt, Srivatsan Parthasarathy
  • Patent number: 8645950
    Abstract: Techniques for analyzing virtual machine images are described. In one embodiment, a subset of settings is extracted from one or more virtual machine images, the virtual machine images store therein values of the settings. The settings are used by software executing in virtual machines of the virtual machine images, respectively. A target one of the virtual machine images is selected and target values of the settings are obtained from the target virtual machine image. Sample values of the settings are obtained from a plurality of virtual machine images. The subset formed by identifying similarities and differences of the values between the virtual machine images.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: February 4, 2014
    Assignee: Microsoft Corporation
    Inventors: Robert Fries, Srivatsan Parthasarathy, Galen Hunt
  • Publication number: 20130007732
    Abstract: Techniques for analyzing virtual machine images are described. In one embodiment, a subset of settings is extracted from one or more virtual machine images, the virtual machine images store therein values of the settings. The settings are used by software executing in virtual machines of the virtual machine images, respectively. A target one of the virtual machine images is selected and target values of the settings are obtained from the target virtual machine image. Sample values of the settings are obtained from a plurality of virtual machine images. The subset formed by identifying similarities and differences of the values between the virtual machine images.
    Type: Application
    Filed: June 28, 2011
    Publication date: January 3, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Robert Fries, Srivatsan Parthasarathy, Galen Hunt
  • Publication number: 20120324197
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Application
    Filed: June 20, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Anil F. Thomas, Steven Maillet
  • Publication number: 20120324198
    Abstract: A memory management system is described herein that receives information from applications describing how memory is being used and that allows an application host to exert more control over application requests for using memory. The system provides an application memory management application-programming interface (API) that allows the application to specify more information about memory allocations that is helpful for managing memory later. The system also provides an ability to statically and/or dynamically analyze legacy applications to give applications that are not modified to work with the system some ability to participate in more effective memory management. The system provides application host changes to leverage the information provided by applications and to manage memory more effectively using the information and hooks into the application's use of memory.
    Type: Application
    Filed: June 20, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
  • Publication number: 20120323853
    Abstract: Described are techniques for capturing and analyzing snapshots of virtual machines. One or more computers may automatically obtain snapshots of virtual machines as they are executing to form a pool of virtual machine snapshots. The virtual machine snapshots are then read to obtain a set of features properties of the virtual machine snapshots, including information about a running guest operating system, software installed on the virtual machine, metadata about the virtual machine itself, and others. The features or properties are analyzed, in one embodiment using a machine learning algorithm, to automatically compute and store information about the virtual machines.
    Type: Application
    Filed: June 17, 2011
    Publication date: December 20, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Robert Fries, Galen Hunt, Shobana Balakrishnan
  • Patent number: 7574343
    Abstract: A modeling system permits developers of applications for distributed computer system, such as those used in server data centers or Internet data centers (IDCs), to architect their hardware and software in an abstract manner. The modeling system defines a set of components that represent abstract functional operations of the application that will eventually be physically implemented by one or more computers and one or more software programs executing on the computers. Associated with the model components is a schema that dictates how the functional operations are to be specified. From the model components, the developers can create logical, scale-independent models of the applications that may be implemented by the distributed computer system. The application is scale-independent in that the application is invariant in respect to the number of computers and software programs that my eventually be used to implement it.
    Type: Grant
    Filed: March 7, 2006
    Date of Patent: August 11, 2009
    Assignee: Microsoft Corporation
    Inventors: Steven Levi, Galen Hunt, Aamer Hydrie, Jakob Rehof, Bassam Tabbara, Robert Welland
  • Publication number: 20080059214
    Abstract: In accordance with certain aspects of the model-based policy application, each of a plurality of policies is associated with appropriate parts of a model of a heterogeneous system. A deployment agent is invoked to apply each of the plurality of policies to components associated with the parts of the model. An identification of a change to one of the plurality of policies is received, and the deployment agent is also invoked to apply the changed policy to selected ones of the components associated with the parts of the model.
    Type: Application
    Filed: January 12, 2007
    Publication date: March 6, 2008
    Applicant: Microsoft Corporation
    Inventors: Anders Vinberg, Bruce Copeland, Robert Fries, Kevin Grealish, Jonathan Hardwick, Michael Healy, Galen Hunt, Aamer Hydrie, David James, Anand Lakshminarayanan, Edwin Lassettre, Raymond McCollum, Rob Mensching, Mazhar Mohammed, Rajagopalan Narayanan, Geoffrey Outhred, Zhengkai Pan, Efstathios Papaefstathiou, John Parchem, Vij Rajarajan, Ashvikumar Sanghvi, Bassam Tabbara, Rene Vega, Vitaly Voloshin, Robert Welland, John Wilson, Eric Winner, Jeffrey Woolsey
  • Publication number: 20070094495
    Abstract: Described herein are one or more implementations of an operating system that provides for statically verifiable inter-process communication between isolated processes. Also, described herein are one or more implementations of programming tools that facilitate the development of statically verifiable isolated processes having inter-process communication.
    Type: Application
    Filed: June 30, 2006
    Publication date: April 26, 2007
    Applicant: Microsoft Corporation
    Inventors: Galen Hunt, James Larus, Martin Abadi, Mark Aiken, Paul Barham, Manuel Fahndrich, Chris Hawblitzel, Orion Hodson, Steven Levi, Nicholas Murphy, Bjarne Steensgaard, David Tarditi, Edward Wobber, Brian Zill
  • Publication number: 20070094673
    Abstract: Described herein are one or more implementations for describing and/or addressing the configuration requirements of applications, extensions, device drivers, and other components of a software system.
    Type: Application
    Filed: June 30, 2006
    Publication date: April 26, 2007
    Applicant: Microsoft Corporation
    Inventors: Galen Hunt, James Larus, Manuel Fanndrich, Orion Hodson, Steven Levi, Bjarne Steensgaard, David Tarditi, Michael Spear, Michael Carbin
  • Publication number: 20070016393
    Abstract: Model-based propagation of attributes allows a user to define one or more attributes, policies associated with the system and particular components, constraints associated with various components, and dependencies between components of the system. The user also defines the manner in which the attributes are to be propagated throughout a model of the system. The attributes are then propagated to the appropriate components in the model using information associated with the model of the system.
    Type: Application
    Filed: June 29, 2005
    Publication date: January 18, 2007
    Applicant: Microsoft Corporation
    Inventors: Anders Vinberg, Anand Lakshminarayanan, Ashvinkumar Sanghvi, Vij Rajarajan, Vitaly Voloshin, Bassam Tabbara, Kevin Grealish, Rob Mensching, Geoffrey Outhred, Galen Hunt, Aamer Hydrie, Robert Welland
  • Publication number: 20070011199
    Abstract: Described herein are one or more computer operating environments that include a standard set of web services via a communications network (e.g., the Internet) and a mechanism for extending the standard set of web services to execute one or more extended web services. Since these extended web services may be produced by an unconfirmed or untrusted source (e.g., a third-party software developer), the described computer operating environments isolate the extended web services from the standard set of web services and from the communication network. Furthermore, each extended web service is an isolated process (isoproc) with a limited ability to communicate with other services. In particular, each isoproc's ability to communicate is limited to only associated defined communication channels over which it has express permission to communicate.
    Type: Application
    Filed: December 15, 2005
    Publication date: January 11, 2007
    Applicant: Microsoft Corporation
    Inventors: Galen Hunt, James Larus, Alexander Gounares, Raymond Endres