Patents by Inventor David Kevin Siegwart

David Kevin Siegwart 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: 11886848
    Abstract: A method, system, and computer-readable medium for binary translation cause a binary translator to combine raw binary code and compiler-produced metadata associated with a compiled program module. The binary translator is caused to further reconcile, using the compiler-produced metadata, original compiler-produced control flow information with how lower-level machine instructions comprise a control flow in the raw binary code, and original compiler-produced aliasing information with how lower-level machine instructions access the memory locations described by the aliasing information according to predetermined criteria. The binary translator further caused to prevent, copy propagation of values in temporary variables for decimal computations beyond offsets in the machine instructions where the temporary variables are killed.
    Type: Grant
    Filed: May 25, 2022
    Date of Patent: January 30, 2024
    Assignee: International Business Machines Corporation
    Inventors: Toshihiko Koju, Reid Copeland, David Kevin Siegwart, Jordan Ryan Zannier, Allan H. Kielstra
  • Publication number: 20230385041
    Abstract: A method, system, and computer-readable medium for binary translation cause a binary translator to combine raw binary code and compiler-produced metadata associated with a compiled program module. The binary translator is caused to further reconcile, using the compiler-produced metadata, original compiler-produced control flow information with how lower-level machine instructions comprise a control flow in the raw binary code, and original compiler-produced aliasing information with how lower-level machine instructions access the memory locations described by the aliasing information according to predetermined criteria. The binary translator further caused to prevent, copy propagation of values in temporary variables for decimal computations beyond offsets in the machine instructions where the temporary variables are killed.
    Type: Application
    Filed: May 25, 2022
    Publication date: November 30, 2023
    Inventors: Toshihiko Koju, REID COPELAND, David Kevin Siegwart, Jordan Ryan Zannier, ALLAN H. KIELSTRA
  • Patent number: 9600348
    Abstract: The present disclosure provides a computer program product and activity recording system for identifying idleness in a processor via a concurrent software environment. A thread state indicator records an indication of a synchronization state of a software thread that is associated with an identification of the software thread. A time profiler identifies a processor of the computer system being idle and records an indication that the processor is idle. A dispatch monitor identifies a dispatch of the software thread to the processor. In response to the dispatch monitor determining the indication identifies that the processor is idle and the indication of a synchronization state of the software thread indicating the software thread ceases to execute in the processor, the dispatch monitor generates a record attributing the idleness of the processor to the software thread and the indicated synchronization state.
    Type: Grant
    Filed: January 5, 2012
    Date of Patent: March 21, 2017
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, David Kevin Siegwart, Enio Manuel Pineda
  • Patent number: 9471458
    Abstract: The present disclosure provides a method for identifying idleness in a processor via a concurrent software environment. A thread state indicator records an indication of a synchronization state of a software thread that is associated with an identification of the software thread. A time profiler identifies a processor of the computer system being idle and records an indication that the processor is idle. A dispatch monitor identifies a dispatch of the software thread to the processor. In response to the dispatch monitor determining the indication identifies that the processor is idle and the indication of a synchronization state of the software thread indicating the software thread ceases to execute in the processor, the dispatch monitor generates a record attributing the idleness of the processor to the software thread and the indicated synchronization state.
    Type: Grant
    Filed: August 29, 2014
    Date of Patent: October 18, 2016
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, David Kevin Siegwart, Enio Manuel Pineda
  • Publication number: 20140373029
    Abstract: The present disclosure provides a method for identifying idleness in a processor via a concurrent software environment. A thread state indicator records an indication of a synchronization state of a software thread that is associated with an identification of the software thread. A time profiler identifies a processor of the computer system being idle and records an indication that the processor is idle. A dispatch monitor identifies a dispatch of the software thread to the processor. In response to the dispatch monitor determining the indication identifies that the processor is idle and the indication of a synchronization state of the software thread indicating the software thread ceases to execute in the processor, the dispatch monitor generates a record attributing the idleness of the processor to the software thread and the indicated synchronization state.
    Type: Application
    Filed: August 29, 2014
    Publication date: December 18, 2014
    Inventors: Frank Eliot Levine, David Kevin Siegwart, Enio Manuel Pineda
  • Patent number: 8694751
    Abstract: Automatic memory management with a generational copy collector garbage collection algorithm running on parallel threads to perform simultaneous and independent copying and scanning. An object is scanned. It is determined whether an object referenced within the slot of the object being scanned may be copied to the same generation as the scanned object. A mark may be made to indicate that the referenced object may be copied to a different generation than the scanned object. The mark defers the copying of the referenced object.
    Type: Grant
    Filed: December 31, 2008
    Date of Patent: April 8, 2014
    Assignee: International Business Machines Corporation
    Inventors: David Kevin Siegwart, Nikola Grcevski, Daryl James Maier, Ryan Andrew Sciampacone
  • Patent number: 8612956
    Abstract: A computer-implementable method, system and apparatus. The frequency of reference to an object, also known as “hotness,” can be collected as a part of a profiling phase during a runtime operation of data-processing system by permitting each reference to the object during the runtime operation to randomly guess a predetermined value associated with the object, such that a correct guess thereof implies that the object is referenced frequently. Thereafter, the frequency of reference to the object can be validated by identifying a particular value in a header associated with the object, in response to collecting the frequency of reference to the object during the profiling phase, thereby increasing the scalability and efficiency of the runtime operation while permitting data associated with the frequency of reference to the object to other applications for immediate use.
    Type: Grant
    Filed: December 5, 2007
    Date of Patent: December 17, 2013
    Assignee: International Business Machines Corporation
    Inventors: Daryl James Maier, Nikola Groevski, David Kevin Siegwart
  • Publication number: 20130227586
    Abstract: The present disclosure provides a method, computer program product, and activity recording system for identifying idleness in a processor via a concurrent software environment. A thread state indicator records an indication of a synchronization state of a software thread that is associated with an identification of the software thread. A time profiler identifies a processor of the computer system being idle and records an indication that the processor is idle. A dispatch monitor identifies a dispatch of the software thread to the processor. In response to the dispatch monitor determining the indication identifies that the processor is idle and the indication of a synchronization state of the software thread indicating the software thread ceases to execute in the processor, the dispatch monitor generates a record attributing the idleness of the processor to the software thread and the indicated synchronization state.
    Type: Application
    Filed: January 5, 2012
    Publication date: August 29, 2013
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Frank Eliot Levine, David Kevin Siegwart, Enio Manuel Pineda
  • Patent number: 8429143
    Abstract: Methods and systems for generating a hashcode for a hash table are provided to improve the hash table performance. A particular method includes receiving an input of a key; applying a hash function to the key to generate an incoming hashcode of the key; encoding a key type into the incoming hashcode to generate a first hashcode; and storing the first hashcode. A particular method includes encoding the key type into at least one bit of a bucket index portion of the incoming hashcode.
    Type: Grant
    Filed: April 25, 2008
    Date of Patent: April 23, 2013
    Assignee: International Business Machines Corporation
    Inventors: Timothy Peter Ellison, Nikola Grcevski, David Kevin Siegwart
  • Patent number: 8341321
    Abstract: A method of operating a resource lock for controlling access to a resource by a plurality of resource requesters, the resource lock operating in a contention efficient (heavyweight) operating mode, and the method being responsive to a request from a resource requester to acquire the resource lock, the method comprising the steps of: incrementing a count of a total number of acquisitions of the resource lock in the contention efficient operating mode; in response to a determination that access to the resource is not contended by more than one resource requester, performing the steps of: a) incrementing a count of a number of uncontended acquisitions of the resource lock in the contention efficient operating mode; b) calculating a contention rate as the number of uncontended acquisitions in the contention efficient operating mode divided by the total number of acquisitions in the contention efficient operating mode; and c) in response to a determination that the contention rate meets a threshold contention rate
    Type: Grant
    Filed: April 7, 2008
    Date of Patent: December 25, 2012
    Assignee: International Business Machines Corporation
    Inventor: David Kevin Siegwart
  • Publication number: 20100169593
    Abstract: Automatic memory management with a generational copy collector garbage collection algorithm running on parallel threads to perform simultaneous and independent copying and scanning. An object is scanned. It is determined whether an object referenced within the slot of the object being scanned may be copied to the same generation as the scanned object. A mark may be made to indicate that the referenced object may be copied to a different generation than the scanned object. The mark defers the copying of the referenced object.
    Type: Application
    Filed: December 31, 2008
    Publication date: July 1, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David Kevin Siegwart, Nikola Grcevski, Daryl James Maier, Ryan Andrew Sciampacone
  • Patent number: 7647521
    Abstract: A method, apparatus and computer instructions for application based tracing and for normalization of processor clocks in a symmetric multiprocessor environment. By deliberately establishing a large skew among processor clocks, it is possible to perform application based tracing by directly using the processors. In addition, the identity, time stamp, and drift information of each processor may be used to create a time library. The time library is used to adjust a measured time to execute a program or software routine. The adjusted time is a normalized time that is statistically more accurate than the measured time alone. The adjusted time is then reported as the time to execute the program or software routine.
    Type: Grant
    Filed: December 11, 2006
    Date of Patent: January 12, 2010
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, David Kevin Siegwart
  • Patent number: 7627457
    Abstract: A computer-implemented method, for application based tracing and for normalization of processor clocks in a symmetric multiprocessor environment. By deliberately establishing a large skew among processor clocks, it is possible to perform application based tracing by directly using the processors. In addition, the identity, time stamp, and drift information of each processor may be used to create a time library. The time library is used to adjust a measured time to execute a program or software routine. The adjusted time is a normalized time that is statistically more accurate than the measured time alone. The adjusted time is then reported as the time to execute the program or software routine.
    Type: Grant
    Filed: December 11, 2006
    Date of Patent: December 1, 2009
    Assignee: International Business Machines Corporation
    Inventors: Frank Eliot Levine, David Kevin Siegwart
  • Publication number: 20090271366
    Abstract: Methods and systems for generating a hashcode for a hash table are provided to improve the hash table performance. A particular method includes receiving an input of a key; applying a hash function to the key to generate an incoming hashcode of the key; encoding a key type into the incoming hashcode to generate a first hashcode; and storing the first hashcode. A particular method includes encoding the key type into at least one bit of a bucket index portion of the incoming hashcode.
    Type: Application
    Filed: April 25, 2008
    Publication date: October 29, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Timothy Peter Ellison, Nikola Grcevski, David Kevin Siegwart
  • Publication number: 20090249353
    Abstract: Decisions whether or not to initiate certain types of computer operations, such as Just In Time (JIT) compiling or garbage collection can be made using a probabilistic threshold monitor. A decision whether to drive a threshold indicator bit to a set state is made on the detection of each of a certain kind of event occurring over a predetermined interval. The probability that the bit will be driven to a set state upon the detection of any given event is controlled. At the end of the predetermined interval, a computer operation is initiated if the threshold indicator bit is found to be in its set state.
    Type: Application
    Filed: February 9, 2009
    Publication date: October 1, 2009
    Applicant: International Business Machines Corporation
    Inventor: David Kevin Siegwart
  • Publication number: 20090150875
    Abstract: A computer-implementable method, system and apparatus. The frequency of reference to an object, also known as “hotness,” can be collected as a part of a profiling phase during a runtime operation of data-processing system by permitting each reference to the object during the runtime operation to randomly guess a predetermined value associated with the object, such that a correct guess thereof implies that the object is referenced frequently. Thereafter, the frequency of reference to the object can be validated by identifying a particular value in a header associated with the object, in response to collecting the frequency of reference to the object during the profiling phase, thereby increasing the scalability and efficiency of the runtime operation while permitting data associated with the frequency of reference to the object to other applications for immediate use.
    Type: Application
    Filed: December 5, 2007
    Publication date: June 11, 2009
    Inventors: Daryl James Maier, Nikola Groevski, David Kevin Siegwart
  • Patent number: 7478258
    Abstract: A method for storing an identity of a processor in a multiprocessor computer system, the processor including a high frequency clock having a clock value represented as a set of binary digits, the method comprising encoding an identifier of the processor in a subset of the set of binary digits. It is therefore possible to retrieve a value of a time represented by a high frequency clock in a processor and an identification of the corresponding processor in a single indivisible operation by encoding the processor identifier in the clock value.
    Type: Grant
    Filed: December 22, 2005
    Date of Patent: January 13, 2009
    Assignee: International Business Machines Corporation
    Inventor: David Kevin Siegwart
  • Publication number: 20080216079
    Abstract: A method of operating a resource lock for controlling access to a resource by a plurality of resource requesters, the resource lock operating in a contention efficient (heavyweight) operating mode, and the method being responsive to a request from a resource requester to acquire the resource lock, the method comprising the steps of: incrementing a count of a total number of acquisitions of the resource lock in the contention efficient operating mode; in response to a determination that access to the resource is not contended by more than one resource requester, performing the steps of: a) incrementing a count of a number of uncontended acquisitions of the resource lock in the contention efficient operating mode; b) calculating a contention rate as the number of uncontended acquisitions in the contention efficient operating mode divided by the total number of acquisitions in the contention efficient operating mode; and c) in response to a determination that the contention rate meets a threshold contention rate
    Type: Application
    Filed: April 7, 2008
    Publication date: September 4, 2008
    Inventor: DAVID KEVIN SIEGWART
  • Patent number: 7409574
    Abstract: A method for determining if a measurement of an elapsed time for an execution of a software routine in a computer system is valid. A clock skew is used between the clocks of two processors such that the size of the clock skew is greater than the maximum possible elapsed time for the execution of the software routine. The software routine is executed with a clock value recorded before (start time) and after (end time) execution. An elapsed time is calculated as a difference between the start time and the end time. Whether the elapsed time is valid is determined by checking for a positive value of the elapsed time and comparing the value of the elapsed time with the clock skew.
    Type: Grant
    Filed: December 16, 2005
    Date of Patent: August 5, 2008
    Assignee: International Business Machines Corporation
    Inventor: David Kevin Siegwart
  • Patent number: 7383369
    Abstract: A method of operating a resource lock for controlling access to a resource by a plurality of resource requesters, the resource lock operating in a contention efficient (heavyweight) operating mode, and the method being responsive to a request from a resource requester to acquire the resource lock, the method comprising the steps of: incrementing a count of a total number of acquisitions of the resource lock in the contention efficient operating mode; in response to a determination that access to the resource is not contended by more than one resource requester, performing the steps of: a) incrementing a count of a number of uncontended acquisitions of the resource lock in the contention efficient operating mode; b) calculating a contention rate as the number of uncontended acquisitions in the contention efficient operating mode divided by the total number of acquisitions in the contention efficient operating mode; and c) in response to a determination that the contention rate meets a threshold contention rate
    Type: Grant
    Filed: September 8, 2006
    Date of Patent: June 3, 2008
    Assignee: International Business Machines Corporation
    Inventor: David Kevin Siegwart