Patents by Inventor Frank E. Levine

Frank E. Levine 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: 9176783
    Abstract: A process generates a sample based on an event. The process identifies, with a dispatch monitor, a next dispatched monitored thread that is dispatched by a current processor. The process sets a processor affinity of the next dispatched monitored thread such that the next dispatched monitored thread runs only on the current processor without being able to migrate to a different processor. The process also retrieves, with a sampled thread that runs on the current processor, a next dispatched monitored thread call stack after the processor affinity of the next dispatched monitored thread has been set to the processor. The process restores the processor affinity of the next dispatched monitored thread after the next dispatched monitored thread call stack has been obtained.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: November 3, 2015
    Assignee: International Business Machines Corporation
    Inventors: Kean G. Kuiper, Frank E. Levine, Enio M. Pineda
  • Patent number: 8843898
    Abstract: A method and apparatus for identifying a minimum call tree data structure from a plurality of call tree data structures are provided. With the apparatus and method, call tree data structures are generated for two or more executions of a build of a computer program. The apparatus and method perform a “tree-minimization” operation in which the two or more call trees generated during runs of the computer program are walked and only those nodes that are present in each of the tree data structures are maintained in a minimized tree data structure. In addition, the minimum values for these common nodes are maintained in the minimized tree data structure. In this way, asynchronous events are removed from the minimum tree data structure and analysis may focus on those areas of the computer program that are consistent between runs of the computer program.
    Type: Grant
    Filed: August 14, 2012
    Date of Patent: September 23, 2014
    Assignee: International Business Machines Corporation
    Inventors: William P. Alexander, III, Robert T. Dimpsey, Frank E. Levine, Robert J. Urquhart
  • Patent number: 8843684
    Abstract: A sample is generated based on an event. Further, an interrupt handler captures information for an interrupted thread on a current processor. In addition, an affinity of the interrupted thread is set such that the interrupted thread runs only on the current processor without being able to migrate to a different processor. A sampler thread that runs on the current processor retrieves a call stack associated with the interrupted thread after the affinity of the interrupted thread has been set to the current processor. The affinity of the interrupted thread is restored after the call stack has been retrieved.
    Type: Grant
    Filed: June 11, 2010
    Date of Patent: September 23, 2014
    Assignee: International Business Machines Corporation
    Inventors: Scott T. Jones, Kean G. Kuiper, Frank E. Levine, Enio M. Pineda
  • Patent number: 8799904
    Abstract: An interrupt is generated based on an event. Further, a thread is selected for monitoring. In addition, an interrupt handler captures information for the monitored thread. An affinity of the monitored thread is set such that the monitored thread runs only on a current processor without being able to migrate to a different processor. A sampler thread that runs on the current processor retrieves a call stack associated with a monitored thread after the affinity of the monitored thread has been set to the current processor.
    Type: Grant
    Filed: January 21, 2011
    Date of Patent: August 5, 2014
    Assignee: International Business Machines Corporation
    Inventors: Kean G. Kuiper, Frank E. Levine
  • Patent number: 8799872
    Abstract: A plurality of samples is generated in a computer to profile and record a plurality of events associated with the computer. For each of the plurality of samples, a plurality of partial samples is accumulated prior to occurrence of each of the plurality of events. In addition, a processor may process a current sample of the plurality of samples in response to (i) a completion of a previous sample of the plurality of samples and (ii) a predetermined threshold quantity of partial samples being accumulated. Embodiments of the invention include methods, systems and computer program products.
    Type: Grant
    Filed: June 27, 2010
    Date of Patent: August 5, 2014
    Assignee: International Business Machines Corporation
    Inventor: Frank E. Levine
  • Patent number: 8782664
    Abstract: Hardware assist to autonomically patch code. The present invention provides hardware microcode to a new type of metadata to selectively identify instructions to be patched for specific performance optimization functions. The present invention also provides a new flag in the machine status register (MSR) to enable or disable a performance monitoring application or process to perform code-patching functions. If the code patching function is enabled, the application or process may patch code at run time by associating the metadata with the selected instructions. The metadata includes pointers pointing to the patch code block code. The program code may be patched autonomically without modifying original code.
    Type: Grant
    Filed: January 11, 2012
    Date of Patent: July 15, 2014
    Assignee: International Business Machines Corporation
    Inventors: Jimmie E. DeWitt, Jr., Frank E. Levine, Christopher M. Richardson, Robert J. Urquhart
  • Patent number: 8768985
    Abstract: A processor-implemented method, system and/or computer program product for managing computer file storage is presented. A file, which is designated for storage, is received. Upon determining that the file exceeds a pre-determined size, the file is stored in a pre-designated folder that is reserved for oversized files. This pre-designated folder is protected such that any file stored within the pre-designated folder is prevented from being moved into archival storage.
    Type: Grant
    Filed: February 8, 2012
    Date of Patent: July 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: Mary P. Kusko, Frank E. Levine, Stella L. Taylor, Anna W. Topol
  • Patent number: 8589928
    Abstract: An interrupt is generated based on an event. Further, a thread is selected for monitoring. In addition, an interrupt handler captures information for the monitored thread. An affinity of the monitored thread is set such that the monitored thread runs only on a current processor without being able to migrate to a different processor. A sampler thread that runs on the current processor retrieves a call stack associated with a monitored thread after the affinity of the monitored thread has been set to the current processor.
    Type: Grant
    Filed: January 21, 2011
    Date of Patent: November 19, 2013
    Assignee: International Business Machines Corporation
    Inventors: Kean G. Kuiper, Frank E. Levine
  • Patent number: 8543987
    Abstract: Disclosed is a method to track allocation of a plurality of objects in a heap. A data processing system, during an object allocation, prevents an object from being moved to another place in memory or being deleted. The data processing system prevents such activity concurrently with garbage collection on a second object not currently being allocated. The data processing system notifies a profiler of object information based on the object allocation via a callback function, wherein object information is a one-to-one mapping of the object address. The data processing system revives garbage collector processing of the object.
    Type: Grant
    Filed: March 1, 2012
    Date of Patent: September 24, 2013
    Assignee: International Business Machines Corporation
    Inventors: Graham A. Chapman, Scott T. Jones, Maciek Klimkowski, Frank E. Levine, Milena Milenkovic
  • Patent number: 8539452
    Abstract: Disclosed is a computer program product to track allocation of a plurality of objects in a heap. A data processing system, during an object allocation, prevents an object from being moved to another place in memory or being deleted. The data processing system prevents such activity concurrently with garbage collection on a second object not currently being allocated. The data processing system notifies a profiler of object information based on the object allocation via a callback function, wherein object information is a one-to-one mapping of the object address. The data processing system revives garbage collector processing of the object.
    Type: Grant
    Filed: May 5, 2009
    Date of Patent: September 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Graham A. Chapman, Scott T. Jones, Maciek Klimkowski, Frank E. Levine, Milena Milenkovic
  • Publication number: 20120191893
    Abstract: An interrupt is generated based on an event. Further, a thread is selected for monitoring. In addition, an interrupt handler captures information for the monitored thread. An affinity of the monitored thread is set such that the monitored thread runs only on a current processor without being able to migrate to a different processor. A sampler thread that runs on the current processor retrieves a call stack associated with a monitored thread after the affinity of the monitored thread has been set to the current processor.
    Type: Application
    Filed: January 21, 2011
    Publication date: July 26, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kean G. Kuiper, Frank E. Levine
  • Publication number: 20120180057
    Abstract: An activity recording system for a concurrent software environment executing software threads in a computer system, the activity recording system comprising: a thread state indicator for recording an indication of a synchronization state of a software thread, the indication being associated with an identification of the software thread; a time profiler for polling values of a program counter for a processor of the computer system at regular intervals, the time profiler being adapted to identify and record one or more synchronization states of the software thread based on the polled program counter value and the recorded indication of state.
    Type: Application
    Filed: December 29, 2011
    Publication date: July 12, 2012
    Applicant: International Business Machines Corporation
    Inventors: Frank E. Levine, Enio M. Pineda, David K. Siegwart
  • Publication number: 20120167043
    Abstract: Disclosed is a method to track allocation of a plurality of objects in a heap. A data processing system, during an object allocation, prevents an object from being moved to another place in memory or being deleted. The data processing system prevents such activity concurrently with garbage collection on a second object not currently being allocated. The data processing system notifies a profiler of object information based on the object allocation via a callback function, wherein object information is a one-to-one mapping of the object address. The data processing system revives garbage collector processing of the object.
    Type: Application
    Filed: March 1, 2012
    Publication date: June 28, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Graham A. Chapman, Scott T. Jones, Maciek Klimkowski, Frank E. Levine, Milena Milenkovic
  • Publication number: 20120143828
    Abstract: A processor-implemented method, system and/or computer program product for managing computer file storage is presented. A file, which is designated for storage, is received. Upon determining that the file exceeds a pre-determined size, the file is stored in a pre-designated folder that is reserved for oversized files. This pre-designated folder is protected such that any file stored within the pre-designated folder is prevented from being moved into archival storage.
    Type: Application
    Filed: February 8, 2012
    Publication date: June 7, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: MARY P. KUSKO, FRANK E. LEVINE, STELLA L. TAYLOR, ANNA W. TOPOL
  • Patent number: 8176105
    Abstract: A computer-implemented method, system and computer program product for managing computer file storage is presented. In one embodiment the method includes receiving a file for storage. In response to determining that the file exceeds a pre-determined size, the file is stored in a pre-designated folder that is reserved for oversized files.
    Type: Grant
    Filed: December 8, 2008
    Date of Patent: May 8, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mary P. Kusko, Frank E. Levine, Stella L. Taylor, Anna W. Topol
  • Patent number: 8171457
    Abstract: Illustrative embodiments disclose presenting coverage data relating to data access occurring during execution of code. The coverage data containing data access indicators associated with memory locations is obtained. The data access indicators that have been set by a processor in the data processing system in response to access of the memory locations during execution of the code by the processor are identified to form set data access indicators. Each set instruction access indicator is associated with a portion of the memory locations allocated for the code. A presentation for coverage data is generated, wherein the set data access indicators are identified in the presentation.
    Type: Grant
    Filed: August 4, 2008
    Date of Patent: May 1, 2012
    Assignee: International Business Machines Corporation
    Inventors: Robert T. Dimpsey, Frank E. Levine, Robert J. Urquhart
  • Patent number: 8131923
    Abstract: An I/O Optimizer receives an I/O request specifying a plurality of disk blocks of the disk drive for access. A plurality of I/O sub-requests is determined from the I/O request, each I/O sub-request specifying a set of one or more adjacent disk blocks of the plurality of disk blocks along the same cylinder. A plurality of execution sequences for performing the plurality of I/O sub-requests is determined. For each of the plurality of execution sequences, a total estimated execution time for performing the I/O sub-requests according to the execution sequence is calculated. One of the plurality of execution sequences for performing the I/O sub-requests is selected based, at least in part, on the total estimated execution times for the plurality of execution sequences. A disk drive controller is instructed to perform the I/O sub-requests according to the selected execution sequence.
    Type: Grant
    Filed: May 19, 2011
    Date of Patent: March 6, 2012
    Assignee: Innternational Business Machines Corporation
    Inventor: Frank E. Levine
  • Publication number: 20110320173
    Abstract: A plurality of samples is generated in a computer to profile and record a plurality of events associated with the computer. For each of the plurality of samples, a plurality of partial samples is accumulated prior to occurrence of each of the plurality of events. In addition, a processor may process a current sample of the plurality of samples in response to (i) a completion of a previous sample of the plurality of samples and (ii) a predetermined threshold quantity of partial samples being accumulated. Embodiments of the invention include methods, systems and computer program products.
    Type: Application
    Filed: June 27, 2010
    Publication date: December 29, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Frank E. Levine
  • Publication number: 20110307640
    Abstract: A sample is generated based on an event. Further, an interrupt handler captures information for an interrupted thread on a current processor. In addition, an affinity of the interrupted thread is set such that the interrupted thread runs only on the current processor without being able to migrate to a different processor. A sampler thread that runs on the current processor retrieves a call stack associated with the interrupted thread after the affinity of the interrupted thread has been set to the current processor. The affinity of the interrupted thread is restored after the call stack has been retrieved.
    Type: Application
    Filed: June 11, 2010
    Publication date: December 15, 2011
    Applicant: International Business Machines Corporation
    Inventors: Scott T. Jones, Kean G. Kuiper, Frank E. Levine, Enio M. Pineda
  • Publication number: 20110289361
    Abstract: A process generates a sample based on an event. The process identifies, with a dispatch monitor, a next dispatched monitored thread that is dispatched by a current processor. The process sets a processor affinity of the next dispatched monitored thread such that the next dispatched monitored thread runs only on the current processor without being able to migrate to a different processor. The process also retrieves, with a sampled thread that runs on the current processor, a next dispatched monitored thread call stack after the processor affinity of the next dispatched monitored thread has been set to the processor. The process restores the processor affinity of the next dispatched monitored thread after the next dispatched monitored thread call stack has been obtained.
    Type: Application
    Filed: May 24, 2010
    Publication date: November 24, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Kean G. Kuiper, Frank E. Levine, Enio M. Pineda