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: 9176783Abstract: 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: GrantFiled: May 24, 2010Date of Patent: November 3, 2015Assignee: International Business Machines CorporationInventors: Kean G. Kuiper, Frank E. Levine, Enio M. Pineda
-
Patent number: 8843684Abstract: 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: GrantFiled: June 11, 2010Date of Patent: September 23, 2014Assignee: International Business Machines CorporationInventors: Scott T. Jones, Kean G. Kuiper, Frank E. Levine, Enio M. Pineda
-
Patent number: 8843898Abstract: 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: GrantFiled: August 14, 2012Date of Patent: September 23, 2014Assignee: International Business Machines CorporationInventors: William P. Alexander, III, Robert T. Dimpsey, Frank E. Levine, Robert J. Urquhart
-
Patent number: 8799904Abstract: 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: GrantFiled: January 21, 2011Date of Patent: August 5, 2014Assignee: International Business Machines CorporationInventors: Kean G. Kuiper, Frank E. Levine
-
Patent number: 8799872Abstract: 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: GrantFiled: June 27, 2010Date of Patent: August 5, 2014Assignee: International Business Machines CorporationInventor: Frank E. Levine
-
Patent number: 8782664Abstract: 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: GrantFiled: January 11, 2012Date of Patent: July 15, 2014Assignee: International Business Machines CorporationInventors: Jimmie E. DeWitt, Jr., Frank E. Levine, Christopher M. Richardson, Robert J. Urquhart
-
Patent number: 8768985Abstract: 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: GrantFiled: February 8, 2012Date of Patent: July 1, 2014Assignee: International Business Machines CorporationInventors: Mary P. Kusko, Frank E. Levine, Stella L. Taylor, Anna W. Topol
-
Patent number: 8589928Abstract: 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: GrantFiled: January 21, 2011Date of Patent: November 19, 2013Assignee: International Business Machines CorporationInventors: Kean G. Kuiper, Frank E. Levine
-
Patent number: 8543987Abstract: 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: GrantFiled: March 1, 2012Date of Patent: September 24, 2013Assignee: International Business Machines CorporationInventors: Graham A. Chapman, Scott T. Jones, Maciek Klimkowski, Frank E. Levine, Milena Milenkovic
-
Patent number: 8539452Abstract: 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: GrantFiled: May 5, 2009Date of Patent: September 17, 2013Assignee: International Business Machines CorporationInventors: Graham A. Chapman, Scott T. Jones, Maciek Klimkowski, Frank E. Levine, Milena Milenkovic
-
Publication number: 20120191893Abstract: 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: ApplicationFiled: January 21, 2011Publication date: July 26, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kean G. Kuiper, Frank E. Levine
-
Publication number: 20120180057Abstract: 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: ApplicationFiled: December 29, 2011Publication date: July 12, 2012Applicant: International Business Machines CorporationInventors: Frank E. Levine, Enio M. Pineda, David K. Siegwart
-
Publication number: 20120167043Abstract: 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: ApplicationFiled: March 1, 2012Publication date: June 28, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Graham A. Chapman, Scott T. Jones, Maciek Klimkowski, Frank E. Levine, Milena Milenkovic
-
Publication number: 20120143828Abstract: 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: ApplicationFiled: February 8, 2012Publication date: June 7, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: MARY P. KUSKO, FRANK E. LEVINE, STELLA L. TAYLOR, ANNA W. TOPOL
-
Patent number: 8176105Abstract: 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: GrantFiled: December 8, 2008Date of Patent: May 8, 2012Assignee: International Business Machines CorporationInventors: Mary P. Kusko, Frank E. Levine, Stella L. Taylor, Anna W. Topol
-
Patent number: 8171457Abstract: 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: GrantFiled: August 4, 2008Date of Patent: May 1, 2012Assignee: International Business Machines CorporationInventors: Robert T. Dimpsey, Frank E. Levine, Robert J. Urquhart
-
Patent number: 8131923Abstract: 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: GrantFiled: May 19, 2011Date of Patent: March 6, 2012Assignee: Innternational Business Machines CorporationInventor: Frank E. Levine
-
Publication number: 20110320173Abstract: 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: ApplicationFiled: June 27, 2010Publication date: December 29, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventor: Frank E. Levine
-
Publication number: 20110307640Abstract: 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: ApplicationFiled: June 11, 2010Publication date: December 15, 2011Applicant: International Business Machines CorporationInventors: Scott T. Jones, Kean G. Kuiper, Frank E. Levine, Enio M. Pineda
-
Publication number: 20110289361Abstract: 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: ApplicationFiled: May 24, 2010Publication date: November 24, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Kean G. Kuiper, Frank E. Levine, Enio M. Pineda