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

  • Patent number: 7200655
    Abstract: A multi-tiered server management architecture is employed including an application development tier, an application operations tier, and a cluster operations tier. In the application development tier, applications are developed for execution on one or more server computers. In the application operations tier, execution of the applications is managed and sub-boundaries within a cluster of servers can be established. In the cluster operations tier, operation of the server computers is managed without concern for what applications are executing on the one or more server computers and boundaries between clusters of servers can be established. The multi-tiered server management architecture can also be employed in co-location facilities where clusters of servers are leased to tenants, with the tenants implementing the application operations tier and the facility owner (or operator) implementing the cluster operations tier.
    Type: Grant
    Filed: November 12, 2004
    Date of Patent: April 3, 2007
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Aamer Hydrie, Steven P. Levi, David S. Stutz, Bassam Tabbara, Robert V. Welland
  • Patent number: 7162509
    Abstract: A design tool includes a service definition model to enable abstract description of distributed computing systems and distributed applications. The design tool also includes a schema to dictate how functional operations within the service definition model are to be specified. The functional operations include design of distributed applications, deployment of distributed applications, and management of distributed applications.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: January 9, 2007
    Assignee: Microsoft Corporation
    Inventors: Mathilde C. Brown, Charlie D. Chase, Kevin Grealish, Galen C. Hunt, Aamer Hydrie, David Noble, Geoffrey Outhred, Glenn R. Peterson, Bassam Tabbara, Alexander Torone, Robert V. Welland
  • Patent number: 7155380
    Abstract: A system facilitates the design and implementation of large-scale applications, such as Internet Services and Websites, for distributed computer systems, such as server data centers, Internet data centers (IDCs), Web farms, and the like. The system has a modeling system and a deployment system. The modeling system permits developers to architect the hardware and software used to implement the applications in an abstract manner. The modeling system defines a set of components used to describe the functionality of an application. The model components are arranged and interconnected to form a scale-independent logical model of the application. Once a logical model is created, the deployment system uses the logical model to automatically deploy various computer/software resources to implement the application. The deployment system converts each of the model components into one or more instances that correspond to physical resources.
    Type: Grant
    Filed: December 9, 2004
    Date of Patent: December 26, 2006
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Aamer Hydrie, Robert V. Welland, Bassam Tabbara, Steven P. Levi, Jakob Rehof
  • Patent number: 7127514
    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 28, 2000
    Date of Patent: October 24, 2006
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Patent number: 7113900
    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: October 24, 2000
    Date of Patent: September 26, 2006
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Aamer Hydrie, Robert V. Welland, Bassam Tabbara, Steven P. Levi, Jakob Rehof
  • Patent number: 7096258
    Abstract: Systems and methods to enforce policy in a multi-computer service application are described. In one aspect, a scale-independent logical model of an application is generated. The application is for implementation in a distributed computing system. The scale-independent logical model includes multiple components representing logical functions of the application and intercommunication protocols. The model components are converted into one or more instances representative of physical resources used to implement the logical functions. The instances specify information such as communication ports on the physical resources and communication paths that link the physical resources.
    Type: Grant
    Filed: May 12, 2004
    Date of Patent: August 22, 2006
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Aamer Hydrie, Steven P. Levi, Bassam Tabbara, Mark D. Van Antwerp, Robert V. Welland
  • Patent number: 7093288
    Abstract: A network mediator corresponding to a computing device uses packet filters to restrict network communications. The network mediator includes a set of one or more filters, each filter having parameters that are compared to corresponding parameters of a data packet to be passed through the network mediator. The network mediator determines whether to allow the data packet through based on whether the data packet parameters match any filter parameters. The set of filters can be modified by a remote device, but cannot be modified by the computing device whose communications are being restricted. When a data packet is sent from the computing device, the data packet will include the virtual address which is changed to the network address by the network mediator prior to forwarding the packet on the network, and vice versa. By virtualizing the addresses, the computing device is restricted in accessing other devices over the network.
    Type: Grant
    Filed: October 24, 2000
    Date of Patent: August 15, 2006
    Assignee: Microsoft Corporation
    Inventors: Aamer Hydrie, Galen C. Hunt, Steven P. Levi, Bassam Tabbara, Robert V. Welland
  • Patent number: 7080143
    Abstract: Systems and methods to enforce policy in a multi-computer service application are described. The application includes multiple software modules that execute on multiple computers. The multi-computer service application has access to a communications medium that allows data communications between different ones of the computers. The software modules have logical input and output ports and logical data connections between modules. Each logical port is defined by port software. In one aspect, a particular module sends a notification to a policy module. Responsive to the notification, the policy module (a) determines a request for one or more destination modules, and (b) provides the request to an output port of the policy module. The output port forwards the request to input ports of a plurality of the modules in accordance with the logical data connections.
    Type: Grant
    Filed: May 11, 2004
    Date of Patent: July 18, 2006
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Aamer Hydrie, Steven P. Levi, Bassam Tabbara, Mark D. Van Antwerp, Robert V. Welland
  • Patent number: 7072807
    Abstract: A design tool includes a service definition model to enable abstract description of distributed computing systems and distributed applications. The design tool also includes a schema to dictate how functional operations within the service definition model are to be specified. The functional operations include design of distributed applications, deployment of distributed applications, and management of distributed applications.
    Type: Grant
    Filed: February 26, 2004
    Date of Patent: July 4, 2006
    Assignee: Microsoft Corporation
    Inventors: Mathilde C. Brown, Charlie D. Chase, Kevin Grealish, Galen C. Hunt, Aamer Hydrie, David Noble, Geoffrey Outhred, Glenn R. Peterson, Bassam Tabbara, Alexander Torone, Robert V. Welland
  • Patent number: 7043545
    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: Grant
    Filed: December 8, 2004
    Date of Patent: May 9, 2006
    Assignee: Microsoft Corporation
    Inventors: Bassam Tabbara, Galen C. Hunt, Aamer Hydrie, Steven P. Levi, David S. Stutz, Robert V. Welland
  • Patent number: 7039919
    Abstract: An automatic distributed partitioning system (ADPS) determines which unit exposes an interface. The ADPS detects a reference to an interface. For the interface, the ADPS assures that the unit that exposes the interface is identified. In some embodiments, a data structure such as a hash table associates interfaces with identified units. An interface wrapper for the interface stores the identity of the unit that exposes the interface, as well as information about the interface and a reference to instrumentation. When a client unit calls a member function of an interface, the interface wrapper intercepts the call and invokes the instrumentation. The instrumentation performs an operation such as profiling the application or classifying a unit. The ADPS detects when an interface is undocumented, and handles undocumented interfaces without invoking the full instrumentation capabilities of the ADPS.
    Type: Grant
    Filed: November 20, 1998
    Date of Patent: May 2, 2006
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Patent number: 7016950
    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: Grant
    Filed: December 8, 2004
    Date of Patent: March 21, 2006
    Assignee: Microsoft Corporation
    Inventors: Bassam Tabbara, Galen C. Hunt, Aamer Hydrie, Steven P. Levi, David S. Stutz, Robert V. Welland
  • Patent number: 6988271
    Abstract: An instrumentation system performs operations such as profiling an application and partitioning and distributing units of the application using different versions of metadata describing the application. Performing an operation on an executing application generates overhead. Detailed metadata used in operations such as profiling create unnecessary overhead during other operations. By removing metadata detail unnecessary for a particular operation, an instrumentation system using reduced metadata generates less overhead for that particular operation. Different instrumentation packages include different versions of metadata for performing operations on the application.
    Type: Grant
    Filed: July 16, 2001
    Date of Patent: January 17, 2006
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Patent number: 6983463
    Abstract: An instrumentation system profiles an application using structural metadata description of the application. Units (such as COM objects) of the application have strongly-typed, binary-standard interfaces, and are profiled, for example, using an executable file and DLLs for the application. A structural metadata description of the application includes compiled, interface-level type information used to identify and measure interaction between units of the application. For example, the type information is produced by analyzing IDL information. Profiling results in an application profile that includes description of the static relationships and/or dynamic interactions between units of the application. The application profile is combined with a network profile that describes a distributed computing environment. Analysis of the result yields a distribution plan, which, for example, reduces costs associated with communication between the units.
    Type: Grant
    Filed: November 20, 1998
    Date of Patent: January 3, 2006
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Patent number: 6957422
    Abstract: Dynamic classification of sections of software using a profile-based optimization system optimizes management of the sections of software. Software executes under expected usage conditions. After execution, a set of usage profiles describes the dynamic properties of sections of the software. Each usage profile includes information identifying a section of software. Each usage profile maps to an outcome meant to optimize management of the sections of the software during later execution. During such later execution, a usage background describes the dynamic properties of a section of the software. The usage background includes information identifying the section of software. By matching the usage background to a usage profile in the set of usage profiles, the section is dynamically classified during later execution. Based on this dynamic classification, the section maps to the outcome meant to optimize management of the sections of software.
    Type: Grant
    Filed: December 7, 2001
    Date of Patent: October 18, 2005
    Assignee: Microsoft Corporation
    Inventor: Galen C. Hunt
  • Patent number: 6915338
    Abstract: A system and procedure to automatically enforce policy in distributed multi-computer service applications. Such service applications include multiple software modules that execute on multiple computers. The computers have access to communications media that allow data communications between the computers. Logical ports are configured on different modules according to a logical model of the multi-computer service application. Each logical port is defined by port software. Logical data connections between the logical ports are configured in accordance with the logical model. Each port is configured to communicate through different numbers of logical data connections without modifying the port software. In response to the occurrence of a condition, a module sends an event notification to a policy module. The policy module responds to the notification by formulating a request for one or more destination modules. The policy module provides the request to an output port of the policy module.
    Type: Grant
    Filed: October 24, 2000
    Date of Patent: July 5, 2005
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Aamer Hydrie, Steven P. Levi, Bassam Tabbara, Mark D. Van Antwerp, Robert V. Welland
  • Patent number: 6907395
    Abstract: A system facilitates the design and implementation of large-scale applications, such as Internet Services and Websites, for distributed computer systems, such as server data centers, Internet data centers (IDCs), Web farms, and the like. The system has a modeling system and a deployment system. The modeling system permits developers to architect the hardware and software used to implement the applications in an abstract manner. The modeling system defines a set of components used to describe the functionality of an application. The model components are arranged and interconnected to form a scale-independent logical model of the application. Once a logical model is created, the deployment system uses the logical model to automatically deploy various computer/software resources to implement the application. The deployment system converts each of the model components into one or more instances that correspond to physical resources.
    Type: Grant
    Filed: October 24, 2000
    Date of Patent: June 14, 2005
    Assignee: Microsoft Corporation
    Inventors: Galen C. Hunt, Aamer Hydrie, Robert V. Welland, Bassam Tabbara, Steven P. Levi, Jakob Rehof
  • Patent number: 6886038
    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: Grant
    Filed: October 24, 2000
    Date of Patent: April 26, 2005
    Assignee: Microsoft Corporation
    Inventors: Bassam Tabbara, Galen C. Hunt, Aamer Hydrie, Steven P. Levi, David S. Stutz, Robert V. Welland
  • Publication number: 20040268350
    Abstract: A procedure identifies a program image and generates a basic block flow graph associated with the program image. Execution of the program image is benchmarked and the basic block flow graph is annotated with the results of the benchmarking of the program image. Basic blocks of the program are then grouped into bins. When the program image is executed, a drafting scheduler stops threads before they leave a bin and schedules any threads queued for the same bin.
    Type: Application
    Filed: June 30, 2003
    Publication date: December 30, 2004
    Inventors: Robert V. Welland, Galen C. Hunt, Dimitris Achlioptas
  • Patent number: 6826763
    Abstract: A method for improving the performance of a distributed object model over a network is disclosed. A client computer contains a client object which can call an interface on a server object located on a server computer. Rather than copying all of the call parameters into an RPC buffer for transmission across the network, a network interface card with scatter-gather capability can be used. The RPC data can contain only a list of pointers into the client memory and a size of each parameter. The network interface card can then grab the parameters directly from the client memory using the list in the RPC buffer without the need to copy the data itself. At the server side, the network interface card can place the parameters into an RPC buffer, or if the size is known beforehand, directly into the server memory. The server can also access the parameters directly from the RPC buffer.
    Type: Grant
    Filed: December 9, 1999
    Date of Patent: November 30, 2004
    Assignee: Microsoft Corporation
    Inventors: Yi-Min Wang, Galen C. Hunt, Alessandro Forin