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: 8621449Abstract: 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: GrantFiled: June 12, 2008Date of Patent: December 31, 2013Assignee: International Business Machines CorporationInventors: Michael J. Hind, Peter F. Sweeney
-
Patent number: 8356291Abstract: 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: GrantFiled: June 12, 2008Date of Patent: January 15, 2013Assignee: International Business Machines CorporationInventors: Michael J. Hind, Peter F. Sweeney
-
Patent number: 7908593Abstract: 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: GrantFiled: January 4, 2007Date of Patent: March 15, 2011Assignee: International Business Machines CorporationInventors: Matthew R. Arnold, Michael J. Hind, Jeremy Lau
-
Patent number: 7496907Abstract: 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: GrantFiled: August 6, 2003Date of Patent: February 24, 2009Assignee: International Business Machines CorporationInventors: Michael J. Hind, Peter F. Sweeney
-
Publication number: 20080244548Abstract: 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: ApplicationFiled: June 12, 2008Publication date: October 2, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael J. Hind, Peter F. Sweeney
-
Publication number: 20080244529Abstract: 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: ApplicationFiled: June 12, 2008Publication date: October 2, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Michael J. Hind, Peter F. Sweeney
-
Publication number: 20080168433Abstract: 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: ApplicationFiled: January 4, 2007Publication date: July 10, 2008Applicant: International Business Machines CorporationInventors: Matthew Arnold, Michael J. Hind, Jeremy Lau
-
Patent number: 7103877Abstract: 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: GrantFiled: November 1, 2000Date of Patent: September 5, 2006Assignee: International Business Machines CorporationInventors: Matthew R. Arnold, Stephen J. Fink, David P. Grove, Michael J. Hind, Peter F. Sweeney
-
System and method for adaptively optimizing program execution by sampling at selected program points
Patent number: 6971091Abstract: 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: GrantFiled: November 1, 2000Date of Patent: November 29, 2005Assignee: International Business Machines CorporationInventors: Matthew R. Arnold, Stephen J. Fink, David P. Grove, Michael J. Hind, Peter F. Sweeney -
Patent number: 6857120Abstract: 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: GrantFiled: November 1, 2000Date of Patent: February 15, 2005Assignee: International Business Machines CorporationInventors: Matthew R. Arnold, Stephen J. Fink, David P. Grove, Michael J. Hind, Peter F. Sweeney, John Whaley