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: 9946641Abstract: 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: GrantFiled: December 14, 2015Date of Patent: April 17, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
-
Patent number: 9785470Abstract: 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: GrantFiled: June 20, 2011Date of Patent: October 10, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Jeremiah C. Spradlin, Galen Hunt, Anil F. Thomas, Steven Maillet
-
Patent number: 9575864Abstract: 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: GrantFiled: August 6, 2014Date of Patent: February 21, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Joe Chau, Jay Krell, Allan Murphy, Danny Chen, Hoi Vo, Steven Pratschner, Galen Hunt
-
Publication number: 20160188454Abstract: 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: ApplicationFiled: December 14, 2015Publication date: June 30, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
-
Patent number: 9286182Abstract: 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: GrantFiled: June 17, 2011Date of Patent: March 15, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Robert Fries, Galen Hunt, Shobana Balakrishnan
-
Patent number: 9218206Abstract: 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: GrantFiled: June 20, 2011Date of Patent: December 22, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
-
Patent number: 9207962Abstract: 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: GrantFiled: December 11, 2013Date of Patent: December 8, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Robert Fries, Galen Hunt, Srivatsan Parthasarathy
-
Publication number: 20150347263Abstract: 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: ApplicationFiled: August 6, 2014Publication date: December 3, 2015Inventors: Joe Chau, Jay Krell, Allan Murphy, Danny Chen, Hoi Vo, Steven Pratschner, Galen Hunt
-
Publication number: 20140143775Abstract: 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: ApplicationFiled: December 11, 2013Publication date: May 22, 2014Applicant: Microsoft CorporationInventors: Robert Fries, Galen Hunt, Srivatsan Parthasarathy
-
Patent number: 8645950Abstract: 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: GrantFiled: June 28, 2011Date of Patent: February 4, 2014Assignee: Microsoft CorporationInventors: Robert Fries, Srivatsan Parthasarathy, Galen Hunt
-
Publication number: 20130007732Abstract: 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: ApplicationFiled: June 28, 2011Publication date: January 3, 2013Applicant: MICROSOFT CORPORATIONInventors: Robert Fries, Srivatsan Parthasarathy, Galen Hunt
-
Publication number: 20120324197Abstract: 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: ApplicationFiled: June 20, 2011Publication date: December 20, 2012Applicant: MICROSOFT CORPORATIONInventors: Jeremiah C. Spradlin, Galen Hunt, Anil F. Thomas, Steven Maillet
-
Publication number: 20120324198Abstract: 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: ApplicationFiled: June 20, 2011Publication date: December 20, 2012Applicant: MICROSOFT CORPORATIONInventors: Jeremiah C. Spradlin, Galen Hunt, Akshay Johar, Steven Maillet
-
Publication number: 20120323853Abstract: 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: ApplicationFiled: June 17, 2011Publication date: December 20, 2012Applicant: MICROSOFT CORPORATIONInventors: Robert Fries, Galen Hunt, Shobana Balakrishnan
-
Patent number: 7574343Abstract: 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: GrantFiled: March 7, 2006Date of Patent: August 11, 2009Assignee: Microsoft CorporationInventors: Steven Levi, Galen Hunt, Aamer Hydrie, Jakob Rehof, Bassam Tabbara, Robert Welland
-
Publication number: 20080059214Abstract: 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: ApplicationFiled: January 12, 2007Publication date: March 6, 2008Applicant: Microsoft CorporationInventors: 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: 20070094495Abstract: 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: ApplicationFiled: June 30, 2006Publication date: April 26, 2007Applicant: Microsoft CorporationInventors: 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: 20070094673Abstract: 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: ApplicationFiled: June 30, 2006Publication date: April 26, 2007Applicant: Microsoft CorporationInventors: Galen Hunt, James Larus, Manuel Fanndrich, Orion Hodson, Steven Levi, Bjarne Steensgaard, David Tarditi, Michael Spear, Michael Carbin
-
Publication number: 20070016393Abstract: 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: ApplicationFiled: June 29, 2005Publication date: January 18, 2007Applicant: Microsoft CorporationInventors: 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: 20070011199Abstract: 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: ApplicationFiled: December 15, 2005Publication date: January 11, 2007Applicant: Microsoft CorporationInventors: Galen Hunt, James Larus, Alexander Gounares, Raymond Endres