Patents by Inventor Michael J. Hind

Michael J. Hind 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: 8621449
    Abstract: There is provided an autonomic software system and method for normalizing a profile collected for an executing application to account for one or more actions applied to the executing application after the profile was collected, comprising: predicting an impact of applying the one or more actions to the executing application by utilizing the profile and the one or more actions; and adjusting the profile to form a normalized profile according to the predicted impact. A plurality of different a profile consumers, such as, a phase shift detector, an action evaluator as well as a normalizing controller, may utilize the normalized profile to improve the behavior of the executing application. In addition, online visualization tools may be implemented to graphically depict the normalized profiles, as well as differences between the collected profiles and the normalized profiles.
    Type: Grant
    Filed: June 12, 2008
    Date of Patent: December 31, 2013
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Hind, Peter F. Sweeney
  • Patent number: 8356291
    Abstract: There is provided an autonomic software system and method for normalizing a profile collected for an executing application to account for one or more actions applied to the executing application after the profile was collected, comprising: predicting an impact of applying the one or more actions to the executing application by utilizing the profile and the one or more actions; and adjusting the profile to form a normalized profile according to the predicted impact. A plurality of different a profile consumers, such as, a phase shift detector, an action evaluator as well as a normalizing controller, may utilize the normalized profile to improve the behavior of the executing application. In addition, online visualization tools may be implemented to graphically depict the normalized profiles, as well as differences between the collected profiles and the normalized profiles.
    Type: Grant
    Filed: June 12, 2008
    Date of Patent: January 15, 2013
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Hind, Peter F. Sweeney
  • Patent number: 7908593
    Abstract: A method for evaluating software performance includes steps of: receiving a plurality of versions of code; selecting starting and stopping points for timing execution of the code versions; dispatching at least two of the plurality of code versions for execution; repeatedly executing the at least two code versions; recording execution times for the at least two code versions, according to the selected starting and stopping points; collecting the execution times; and processing the collected execution times. The method further includes steps of: performing a statistical analysis of the collected execution times for determining which code version is fastest; and invoking a confidence metric periodically to determine if a difference between means is statistically meaningful.
    Type: Grant
    Filed: January 4, 2007
    Date of Patent: March 15, 2011
    Assignee: International Business Machines Corporation
    Inventors: Matthew R. Arnold, Michael J. Hind, Jeremy Lau
  • Patent number: 7496907
    Abstract: There is provided an autonomic software system and method for normalizing a profile collected for an executing application to account for one or more actions applied to the executing application after the profile was collected, comprising: predicting an impact on the profile of applying the one or more actions to the executing application; and adjusting the profile to form a normalized profile according to the predicted impact. A plurality of different a profile consumers, such as, a phase shift detector, an action evaluator as well as a normalizing controller, may utilize the normalized profile to improve the behavior of the executing application. In addition, online visualization tools may be implemented to graphically depict the normalized profiles, as well as differences between the collected profiles and the normalized profiles.
    Type: Grant
    Filed: August 6, 2003
    Date of Patent: February 24, 2009
    Assignee: International Business Machines Corporation
    Inventors: Michael J. Hind, Peter F. Sweeney
  • Publication number: 20080244548
    Abstract: There is provided an autonomic software system and method for normalizing a profile collected for an executing application to account for one or more actions applied to the executing application after the profile was collected, comprising: predicting an impact of applying the one or more actions to the executing application by utilizing the profile and the one or more actions; and adjusting the profile to form a normalized profile according to the predicted impact. A plurality of different a profile consumers, such as, a phase shift detector, an action evaluator as well as a normalizing controller, may utilize the normalized profile to improve the behavior of the executing application. In addition, online visualization tools may be implemented to graphically depict the normalized profiles, as well as differences between the collected profiles and the normalized profiles.
    Type: Application
    Filed: June 12, 2008
    Publication date: October 2, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael J. Hind, Peter F. Sweeney
  • Publication number: 20080244529
    Abstract: There is provided an autonomic software system and method for normalizing a profile collected for an executing application to account for one or more actions applied to the executing application after the profile was collected, comprising: predicting an impact of applying the one or more actions to the executing application by utilizing the profile and the one or more actions; and adjusting the profile to form a normalized profile according to the predicted impact. A plurality of different a profile consumers, such as, a phase shift detector, an action evaluator as well as a normalizing controller, may utilize the normalized profile to improve the behavior of the executing application. In addition, online visualization tools may be implemented to graphically depict the normalized profiles, as well as differences between the collected profiles and the normalized profiles.
    Type: Application
    Filed: June 12, 2008
    Publication date: October 2, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael J. Hind, Peter F. Sweeney
  • Publication number: 20080168433
    Abstract: A method for evaluating software performance includes steps of: receiving a plurality of versions of code; selecting starting and stopping points for timing execution of the code versions; dispatching at least two of the plurality of code versions for execution; repeatedly executing the at least two code versions; recording execution times for the at least two code versions, according to the selected starting and stopping points; collecting the execution times; and processing the collected execution times. The method further includes steps of: performing a statistical analysis of the collected execution times for determining which code version is fastest; and invoking a confidence metric periodically to determine if a difference between means is statistically meaningful.
    Type: Application
    Filed: January 4, 2007
    Publication date: July 10, 2008
    Applicant: International Business Machines Corporation
    Inventors: Matthew Arnold, Michael J. Hind, Jeremy Lau
  • Patent number: 7103877
    Abstract: A system and method for characterizing runtime behavior of a computer program executing in an execution environment, the method comprising: identifying one or more instances of yield points in a program to be executed, each yield point indicating a potential sampling operation during program execution; during program execution, in response to an identified yield point instance, ascertaining a state of the execution environment for indicating whether a sampling operation is to be performed; and, when the state of the execution environment indicates a sampling operation, recording relevant information for characterizing behavior of the execution environment. Relevant information for characterizing program behavior includes frequencies of methods executed in the program, and calling context associated with methods called by the program.
    Type: Grant
    Filed: November 1, 2000
    Date of Patent: September 5, 2006
    Assignee: International Business Machines Corporation
    Inventors: Matthew R. Arnold, Stephen J. Fink, David P. Grove, Michael J. Hind, Peter F. Sweeney
  • Patent number: 6971091
    Abstract: A sampling-based system and method for adaptively optimizing a computer program executing in an execution environment that comprises one or more compiler devices for providing various levels of program optimization. The system comprises a runtime measurements sub-system for monitoring execution of the computer program to be optimized, the monitoring including obtaining raw profile data samples and characterizing the raw profile data; a controller device for receiving the characterized raw profile data from the runtime measurements sub-system and analyzing the data for determining whether a level of program optimization for the executing program is to be performed by a compiler device, the controller generating a compilation plan in accordance with a determined level of optimization; and, a recompilation sub-system for receiving a compilation plan from the controller and invoking a compiler device for performing the level of program optimization of the executing program in accordance with the compilation plan.
    Type: Grant
    Filed: November 1, 2000
    Date of Patent: November 29, 2005
    Assignee: International Business Machines Corporation
    Inventors: Matthew R. Arnold, Stephen J. Fink, David P. Grove, Michael J. Hind, Peter F. Sweeney
  • Patent number: 6857120
    Abstract: A method for characterizing runtime behavior of a computer program executing in an execution environment comprising: generating a call stack runtime data structure for tracking methods currently active in an executing program thread, an active method on the call stack is represented by a frame; determining condition for sampling an executing program to determine current program behavior; and, upon determination of a sampling condition, the sampling including examining at least one frame in the call stack in response to evaluate context of one or more methods represented in the call stack, the at least one frame in the call stack providing context relating to an executing program's calling structure.
    Type: Grant
    Filed: November 1, 2000
    Date of Patent: February 15, 2005
    Assignee: International Business Machines Corporation
    Inventors: Matthew R. Arnold, Stephen J. Fink, David P. Grove, Michael J. Hind, Peter F. Sweeney, John Whaley