Patents by Inventor Kean G. Kuiper
Kean G. Kuiper 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: 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: 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
-
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
-
Patent number: 8132170Abstract: A computer implemented method, apparatus, and computer usable program code for sampling call stack information. An event is monitored during execution of a plurality of threads executed by a plurality of processors. In response to an occurrence of the event, a thread is identified in the plurality of threads to form an identified thread. A plurality of sampling threads is woken, wherein a sampling thread within the plurality of sampling threads is associated with each processor in the plurality of processors and wherein one sampling thread in the plurality of sampling threads obtains call stack information for the identified thread.Type: GrantFiled: August 7, 2007Date of Patent: March 6, 2012Assignee: International Business Machines CorporationInventors: Kean G. Kuiper, Frank Eliot Levine, Enio Manuel Pineda
-
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
-
Patent number: 7962924Abstract: A system and method for Java™ call stack sampling combined with native sampling is presented. A kernel-mode device driver records and stores sampled context information that includes a program counter, a thread identifier, and a process identifier. The sampling thread receives a notification from the kernel-mode device driver, and proceeds to collect call stack information from a Java™ Virtual Machine. In turn, the sampling thread retrieves the sampled context information and harvests symbols corresponding to a loaded module. Once symbols are harvested, the sampling thread combines returned call stack nodes with native function leaf nodes into a unified output tree that provides the relationship between the two different node types. In one embodiment, the sampling thread may generate native function leaf nodes and the unified output tree in a post-processing manner.Type: GrantFiled: June 7, 2007Date of Patent: June 14, 2011Assignee: International Business Machines CorporationInventors: Kean G. Kuiper, Frank Eliot Levine, Enio Manuel Pineda
-
Patent number: 7925473Abstract: A computer implemented method, apparatus, and computer usable program code to collect information for a system or processor having a transition between an idle state and a non-idle state to form collected system or processor information. The collected system or processor information is provided for analysis by an application. Idle counts occurring during execution of code are collected. The idle counts are provided to an application for analyzing why a processor becomes idle.Type: GrantFiled: December 4, 2008Date of Patent: April 12, 2011Assignee: International Business Machines CorporationInventors: Jimmie Earl DeWitt, Jr., Jesse M. Gordon, Frank Eliot Levine, Kean G. Kuiper, Enio Manuel Pineda, Robert John Urquhart
-
Publication number: 20100333071Abstract: Mechanisms for time based context sampling of trace data with support for multiple virtual machines are provided. In response to the occurrence of an event, a plurality of sampling threads associated with a plurality of executing threads executing on processors of a data processing system are awakened. For each sampling thread, an execution state of a corresponding executing thread is determined with regard to one or more virtual machines of interest. For each sampling thread, based on the execution state of the corresponding executing thread, a determination is made whether to retrieve trace information from a virtual machine of interest associated with the corresponding executing thread. For each sampling thread, in response to a determination that trace information is to be retrieved from a virtual machine of interest associated with the corresponding executing thread, the trace information is retrieved from the virtual machine.Type: ApplicationFiled: June 30, 2009Publication date: December 30, 2010Applicant: International Business Machines CorporationInventors: Kean G. Kuiper, Frank E. Levine
-
Publication number: 20100017583Abstract: A computer implemented method, apparatus, and computer usable program code for sampling call stack information. Responsive to identifying an interrupt, a determination is made as to whether all processors in a plurality of processors have generated the interrupt. A determination is made as whether to sample the call stack information based on a policy in response to a determination that all of the processors have generated the interrupt.Type: ApplicationFiled: July 15, 2008Publication date: January 21, 2010Applicant: International Business Machines CorporationInventors: Kean G. Kuiper, Frank Eliot Levine, Enio Manuel Pineda, Patrick Chien-Pai Shih
-
Patent number: 7548989Abstract: A method, a system, an apparatus, and a computer program product are presented for loading LDIF ((Lightweight Directory Access Protocol (LDAP) Data Interchange Format) data into a directory. A single reader thread reads entries from an LDIF file; each entry is associated with a priority value, e.g., the priority value for an entry may be based on the number of delimiters in the distinguished name within the entry. Multiple loading threads concurrently add the entries into an LDAP directory in accordance with their associated priority values. The entries are added to the LDAP directory in an order of highest indicated priority to lowest indicated priority; entries that are associated with priority values that indicate equal priority are considered to be equivalent for the purposes of ordering the entries, so entries that have equal priority may be added to the LDAP directory in any order.Type: GrantFiled: July 1, 2003Date of Patent: June 16, 2009Assignee: International Business Machines CorporationInventors: William Preston Alexander, III, Kean G Kuiper, Christopher Michael Richardson
-
Publication number: 20090083002Abstract: A computer implemented method, apparatus, and computer usable program code to collect information for a system or processor having a transition between an idle state and a non-idle state to form collected system or processor information. The collected system or processor information is provided for analysis by an application.Type: ApplicationFiled: December 4, 2008Publication date: March 26, 2009Applicant: International Business Machines CorporationInventors: Jimmie Earl DeWitt, JR., Jesse M. Gordon, Frank Eliot Levine, Kean G. Kuiper, Enio Manuel Pineda, Robert John Urquhart
-
Patent number: 7506330Abstract: A method and apparatus for identifying differences in runs of a computer program that are due to changes in the code of the computer program. With the apparatus and method, call trees are generated for two or more builds of a computer program. The apparatus and method perform a “tree-subtract” operation in which the two or more call trees generated during runs of two or more different builds of a computer program are subtracted from one another to identify build to build differences in the execution of the computer program. From the resulting tree, portions of the runs of the different builds of the computer program where the resource utilization of the computer program has not changed are easily identifiable. Moreover, portions of the runs of the different builds of the computer program where there are improvements or regressions in resource utilization of the computer program may be easily identifiable.Type: GrantFiled: February 12, 2004Date of Patent: March 17, 2009Assignee: International Business Machines CorporationInventors: William Preston Alexander, III, Robert Tod Dimpsey, Kean G. Kuiper, Frank Eliot Levine, Robert John Urquhart
-
Publication number: 20090044198Abstract: A computer implemented method, apparatus, and computer usable program code for sampling call stack information. An event is monitored during execution of a plurality of threads executed by a plurality of processors. In response to an occurrence of the event, a thread is identified in the plurality of threads to form an identified thread. A plurality of sampling threads is woken, wherein a sampling thread within the plurality of sampling threads is associated with each processor in the plurality of processors and wherein one sampling thread in the plurality of sampling threads obtains call stack information for the identified thread.Type: ApplicationFiled: August 7, 2007Publication date: February 12, 2009Inventors: Kean G Kuiper, Frank Eliot Levine, Enio Manuel Pineda
-
Patent number: 7474991Abstract: A computer implemented method, apparatus, and computer usable program code to collect information for a system or processor having a transition between an idle state and a non-idle state. Idle counts occurring during execution of code are collected to form collected system or processor information. The collected system or processor information is provided to an application for analyzing why a processor becomes idle.Type: GrantFiled: January 19, 2006Date of Patent: January 6, 2009Assignee: International Business Machines CorporationInventors: Jimmie Earl DeWitt, Jr., Jesse M. Gordon, Frank Eliot Levine, Kean G. Kuiper, Enio Manuel Pineda, Robert John Urquhart
-
Publication number: 20080307441Abstract: A system and method for Java™ call stack sampling combined with native sampling is presented. A kernel-mode device driver records and stores sampled context information that includes a program counter, a thread identifier, and a process identifier. The sampling thread receives a notification from the kernel-mode device driver, and proceeds to collect call stack information from a Java™ Virtual Machine. In turn, the sampling thread retrieves the sampled context information and harvests symbols corresponding to a loaded module. Once symbols are harvested, the sampling thread combines returned call stack nodes with native function leaf nodes into a unified output tree that provides the relationship between the two different node types. In one embodiment, the sampling thread may generate native function leaf nodes and the unified output tree in a post-processing manner.Type: ApplicationFiled: June 7, 2007Publication date: December 11, 2008Inventors: Kean G. Kuiper, Frank Eliot Levine, Enio Manuel Pineda
-
Patent number: 7010555Abstract: A system and method for incrementally compacting a computer system heap is presented. A heap, such as a garbage-collected heap in a Java environment, is divided into logical regions. When the heap is becoming fragmented, an incremental compaction cycle is commenced. During a first time period, the first region of the heap is compacted, with subsequent regions being compacted during subsequent time periods. A time period commences when a garbage collection event occurs. In a multiprocessor environment the regions can be divided into a number of sections which are each compacted using a different processor. One or more break tables are constructed indicating how far contiguous groups of moveable objects should be moved to better group objects and eliminate interspersed free spaces. References throughout the heap that point to objects within the compacted region are then adjusted so that the references point to the new object locations.Type: GrantFiled: October 17, 2002Date of Patent: March 7, 2006Assignee: International Business Machines CorporationInventors: Geoffrey Owen Blandy, Robert Tod Dimpsey, Kean G. Kuiper, Matthew Francis Peters
-
Publication number: 20040128329Abstract: A method for incremental compaction, including selecting a first section from a plurality of sections in a memory, and identifying references to elements in the first section. While identifying, selecting a sub-area of the first section and continuing the identifying while identifying only those references to elements in the sub-area. The method further includes holding in a data structure the identified references to elements in the first section, and if the data structure overflows, deleting from the data structure the reference elements not in the sub-area. The identifying is continued while holding in the data structure only those references to elements in the sub-area. Selecting, identifying and continuing may be performed by a plurality of threads performing the steps in parallel.Type: ApplicationFiled: December 31, 2002Publication date: July 1, 2004Applicant: International Business Machines CorporationInventors: Ori Ben-Yitzhak, Irit Goft, Elliot K. Kolodner, Kean G. Kuiper, Victor Leikehman, Avi Owshanko