Patents by Inventor Mike Stephen Fulton

Mike Stephen Fulton 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: 9477495
    Abstract: A computer implemented method, a computer program product and a data processing system for executing an application written in a dynamic language are provided. An execution point of the application is loaded. A list of classes associated with the execution point is generated. The loading of each class in the list of classes is simulated. New execution points and new classes accessible from each execution point within each class in the list of classes are identified by recursively parsing instructions associated with each execution point. The list is modified to include the identified new execution points and new classes. Responsive to a determination that new execution points and new classes have been identified, the steps of identifying new execution points and new classes and modifying the list is repeated. The list is saved.
    Type: Grant
    Filed: August 17, 2006
    Date of Patent: October 25, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Mike Stephen Fulton
  • Patent number: 8321851
    Abstract: There is provided a computer implemented method for determining the efficiency of a runtime compiler. A set of execution times representing the time taken for program code to perform a set task after two or more runtime compilations is recorded. A first metric as the difference between the first execution time and the last execution time of the set of execution times, a second metric as the average throughput improvement from the set of execution times, and a third metric as the time taken for the compiler to achieve the maximum throughput from the set of execution times is calculated. Finally, an efficiency metric is calculated using the first, second and third metrics to determine the efficiency of the compiler.
    Type: Grant
    Filed: December 22, 2009
    Date of Patent: November 27, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mike Stephen Fulton, Ajith Ramanath, Radhakrishnan Thangamuthu
  • Patent number: 8281293
    Abstract: A computer implemented method, apparatus, and computer program product for copy-on-write optimization of immutable objects. An immutable object is marked as read-only to form a read-only object. The read-only object is formed to delay copying of the immutable object until a runtime determination is made that a write to the immutable object will be made. In response to an attempt to write to the read-only object, an internal value of the read-only object is copied to read-and-write storage using runtime information to form a writable copy of the read-only object. A set of references for the read-only object is updated to point to the writable copy of the read-only object. Delaying copying of the immutable object optimizes a copy-on-write of the immutable object.
    Type: Grant
    Filed: July 24, 2007
    Date of Patent: October 2, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mike Stephen Fulton, Nikola Grcevski, Derek Bruce Inglis
  • Publication number: 20120198215
    Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.
    Type: Application
    Filed: February 3, 2012
    Publication date: August 2, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Mike Stephen Fulton
  • Patent number: 8185903
    Abstract: A computer implemented method, apparatus, and computer usable program product for system management. The process schedules a set of application tasks to form a schedule of tasks in response to receiving the set of application tasks from a registration module. The process then performs a feasibility analysis on the schedule of tasks to identify periods of decreased system activity. Thereafter, the process schedules a set of system management tasks during the periods of decreased system activity to form a prioritized schedule of tasks.
    Type: Grant
    Filed: December 13, 2007
    Date of Patent: May 22, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mike Stephen Fulton, Mark Graham Stoodley
  • Patent number: 8185883
    Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.
    Type: Grant
    Filed: September 14, 2007
    Date of Patent: May 22, 2012
    Assignee: International Business Machines Corporation
    Inventor: Mike Stephen Fulton
  • Publication number: 20110154304
    Abstract: There is provided a computer implemented method for determining the efficiency of a runtime compiler. A set of execution times representing the time taken for program code to perform a set task after two or more runtime compilations is recorded. A first metric as the difference between the first execution time and the last execution time of the set of execution times, a second metric as the average throughput improvement from the set of execution times, and a third metric as the time taken for the compiler to achieve the maximum throughput from the set of execution times is calculated. Finally, an efficiency metric is calculated using the first, second and third metrics to determine the efficiency of the compiler.
    Type: Application
    Filed: December 22, 2009
    Publication date: June 23, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Mike Stephen Fulton, Ajith Ramanath, Radhakrishnan Thangamuthu
  • Patent number: 7954093
    Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.
    Type: Grant
    Filed: September 14, 2007
    Date of Patent: May 31, 2011
    Assignee: International Business Machines Corporation
    Inventor: Mike Stephen Fulton
  • Patent number: 7574704
    Abstract: A system and method for reorganizing source code using frequency based instruction loop replication are provided. Code is reorganized based on the frequency of execution of blocks of the code so as to favor frequently executed blocks of code over rarely executed code with regard to subsequent optimizations. Frequently executed blocks of instructions are maintained within loop/switch statements and rarely executed blocks of instructions are removed from the loop/switch statements. The rarely executed blocks of instructions may be replicated after the loop/switch statement with a reference back to the loop/switch statement. In this way, when subsequent loop/switch statement optimizations are applied, the frequently executed blocks of instructions within the loop are more likely to benefit from such optimizations since the negative influence of the rarely executed blocks of instructions has been removed.
    Type: Grant
    Filed: October 21, 2004
    Date of Patent: August 11, 2009
    Assignee: International Business Machines Corporation
    Inventors: Mike Stephen Fulton, Christopher B. Larsson, Vijay Sundaresan
  • Publication number: 20090158288
    Abstract: A computer implemented method, apparatus, and computer usable program product for system management. The process schedules a set of application tasks to form a schedule of tasks in response to receiving the set of application tasks from a registration module. The process then performs a feasibility analysis on the schedule of tasks to identify periods of decreased system activity. Thereafter, the process schedules a set of system management tasks during the periods of decreased system activity to form a prioritized schedule of tasks.
    Type: Application
    Filed: December 13, 2007
    Publication date: June 18, 2009
    Inventors: Mike Stephen Fulton, Mark Graham Stoodley
  • Publication number: 20090077355
    Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.
    Type: Application
    Filed: September 14, 2007
    Publication date: March 19, 2009
    Inventor: Mike Stephen Fulton
  • Publication number: 20090077356
    Abstract: A method, computer program product, and data processing system for substituting a candidate instruction in application code being loaded during load time. Responsive to identifying the candidate instruction, a determination is made whether a hardware facility of the data processing system is present to execute the candidate instruction. If the hardware facility is absent from the data processing system, the candidate instruction is substituted with a second set of instructions.
    Type: Application
    Filed: September 14, 2007
    Publication date: March 19, 2009
    Inventor: Mike Stephen Fulton
  • Publication number: 20090031292
    Abstract: A computer implemented method, apparatus, and computer program product for copy-on-write optimization of immutable objects. An immutable object is marked as read-only to form a read-only object. The read-only object is formed to delay copying of the immutable object until a runtime determination is made that a write to the immutable object will be made. In response to an attempt to write to the read-only object, an internal value of the read-only object is copied to read-and-write storage using runtime information to form a writable copy of the read-only object. A set of references for the read-only object is updated to point to the writable copy of the read-only object. Delaying copying of the immutable object optimizes a copy-on-write of the immutable object.
    Type: Application
    Filed: July 24, 2007
    Publication date: January 29, 2009
    Inventors: Mike Stephen Fulton, Nikola Grcevski, Derek Bruce Inglis
  • Publication number: 20080127141
    Abstract: A computer implemented method, a computer program product and a data processing system for executing an application written in a dynamic language are provided. An execution point of the application is loaded. A list of classes associated with the execution point is generated. The loading of each class in the list of classes is simulated. New execution points and new classes accessible from each execution point within each class in the list of classes are identified by recursively parsing instructions associated with each execution point. The list is modified to include the identified new execution points and new classes. Responsive to a determination that new execution points and new classes have been identified, the steps of identifying new execution points and new classes and modifying the list is repeated. The list is saved.
    Type: Application
    Filed: August 17, 2006
    Publication date: May 29, 2008
    Inventor: Mike Stephen Fulton
  • Patent number: 5916308
    Abstract: In present computing systems having dynamic linked libraries (DLLs), the user must either explicitly provide directives at the source level or use linker and loader support provided by the computing system. The present invention enables an application programmer to use unmodified source code in conjunction with a compiler, prelinker and runtime library to develop and use DLLs. A DLL can be extended by adding new functions and variables without requiring users of the DLL to recompile or relink their application.
    Type: Grant
    Filed: February 27, 1996
    Date of Patent: June 29, 1999
    Assignee: International Business Machines Corporation
    Inventors: Robert Paul Duncan, Mike Stephen Fulton, Brian James Minchau