Patents by Inventor Justin K. King

Justin K. King 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).

  • Publication number: 20150378867
    Abstract: An apparatus and method detect the use of stale data values due to weak consistency between parallel threads on a computer system. A consistency error detection mechanism uses object code injection to build a consistency error detection table during the operation of an application. When the application is paused, the consistency error detection mechanism uses the consistency error detection table to detect consistency errors where stale data is used by the application. The consistency error detection mechanism alerts the user/programmer to the consistency errors in the application program.
    Type: Application
    Filed: September 16, 2014
    Publication date: December 31, 2015
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20150378811
    Abstract: An apparatus and method detect the use of stale data values due to weak consistency between parallel threads on a computer system. A consistency error detection mechanism uses object code injection to build a consistency error detection table during the operation of an application. When the application is paused, the consistency error detection mechanism uses the consistency error detection table to detect consistency errors where stale data is used by the application. The consistency error detection mechanism alerts the user/programmer to the consistency errors in the application program.
    Type: Application
    Filed: June 25, 2014
    Publication date: December 31, 2015
    Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20150339470
    Abstract: A system and computer implemented method for determining compromised passwords is disclosed. The method may include displaying, in a first set of positions, a set of entry keys of a device. The method may include collecting a first set of tracking data including the first set of positions for entry of a first password. The method may also include displaying the set of entry keys of the device in a second set of positions. The method may also include determining a second password based on the second set of positions and entry of the first password. The method may also include determining whether the second password was entered into the device.
    Type: Application
    Filed: May 23, 2014
    Publication date: November 26, 2015
    Applicant: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20150309776
    Abstract: Computer program source code is represented by nodes in a control flow graph. A set of target nodes is identified, where each node in the set of target nodes includes at least one line of source code that defines a modification to a particular variable used in the computer program. A usage score relating to the variable is calculated for each target node. Each usage score is then recalculated based on the earlier scores and also based on the modifications to the variable that are defined by the lines of source code. Each recalculated score is compared to its corresponding earlier score, and if any score has changed, then the process repeats. Scores are recalculated based on the most recently calculated scores until the scores stop changing. The final scores may then be displayed.
    Type: Application
    Filed: August 15, 2014
    Publication date: October 29, 2015
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20150309913
    Abstract: Computer program source code is represented by nodes in a control flow graph. A set of target nodes is identified, where each node in the set of target nodes includes at least one line of source code that defines a modification to a particular variable used in the computer program. A usage score relating to the variable is calculated for each target node. Each usage score is then recalculated based on the earlier scores and also based on the modifications to the variable that are defined by the lines of source code. Each recalculated score is compared to its corresponding earlier score, and if any score has changed, then the process repeats. Scores are recalculated based on the most recently calculated scores until the scores stop changing. The final scores may then be displayed.
    Type: Application
    Filed: April 24, 2014
    Publication date: October 29, 2015
    Applicant: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9164899
    Abstract: A computing system includes a number of memory modules and temperature sensors. Each temperature sensor measures a temperature of a memory module. In such a computing system a garbage collector during garbage collection, determines whether a temperature measurement of a temperature sensor indicates that a memory module is overheated and, if a temperature measurement of a temperature sensor indicates a memory module is overheated, the garbage collector reallocates one or more active memory regions on the overheated memory module to a non-overheated memory module. Reallocating the active memory regions includes copying contents of the active memory regions from the overheated memory module to the non-overheated memory module.
    Type: Grant
    Filed: December 11, 2012
    Date of Patent: October 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 9164898
    Abstract: A computing system includes a number of memory modules and temperature sensors. Each temperature sensor measures a temperature of a memory module. In such a computing system a garbage collector during garbage collection, determines whether a temperature measurement of a temperature sensor indicates that a memory module is overheated and, if a temperature measurement of a temperature sensor indicates a memory module is overheated, the garbage collector reallocates one or more active memory regions on the overheated memory module to a non-overheated memory module. Reallocating the active memory regions includes copying contents of the active memory regions from the overheated memory module to the non-overheated memory module.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: October 20, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 9122796
    Abstract: A method for debugging a program having a plurality of threads includes identifying, for each thread, a target point at which the program terminated and a staging point previously executed in the thread. The method further includes executing each thread from the staging point to the target point and determining, for each thread, a staging time based upon the executing of each thread from the staging point to the target point. The method further includes executing each thread from its staging point based on the staging time of the thread so that the plurality of threads will reach the crash location at approximately the same time such that the program threads execute in a similar pattern to the execution that caused the crash.
    Type: Grant
    Filed: September 27, 2013
    Date of Patent: September 1, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9117017
    Abstract: According to embodiments of the invention, methods, computer readable storage medium, and a computer system for providing multiple versions of elements of a program in a single compile are disclosed. The method may include receiving a request to compile a current version of a program for debug. The method may also include identifying, by an integrated development environment, a previous version of an element of the program, wherein the previous version of the element is identified by comparing the current version of the program to a previous version of the program. The method may also include inserting the previous version of the element into the current version of the program. The method may also include creating a compiler directive identifying the previous version of the element. The method may also include compiling the current version of the program for debug.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: August 25, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9104600
    Abstract: A computing device may merge two translation tables used when performing a DMA operation into a single, combined translation table. To merge the translation tables, the computing device may update a register in the IOMMU to include a pointer to the combined translation table. In addition, the IOMMU may clear one of the registers from having a pointer to one of the merged translation table. Doing so means the entries in this translation table are now no longer assigned. The IOMMU may update the register with the pointer to the combined translation table to include the unassigned entries in the combined translation table. In this manner, the entries from the two translation tables are merged into the single, combined table. The combined translation table may be owned or assigned to a service provider that originally owned one of the merged translation tables or to a completely different service provider.
    Type: Grant
    Filed: August 22, 2013
    Date of Patent: August 11, 2015
    Assignee: International Business Machines Corporation
    Inventors: Justin K. King, John R. Oberly, III, Travis J. Pizel
  • Patent number: 9104601
    Abstract: A computing device may merge two translation tables used when performing a DMA operation into a single, combined translation table. To merge the translation tables, the computing device may update a register in the IOMMU to include a pointer to the combined translation table. In addition, the IOMMU may clear one of the registers from having a pointer to one of the merged translation table. Doing so means the entries in this translation table are now no longer assigned. The IOMMU may update the register with the pointer to the combined translation table to include the unassigned entries in the combined translation table. In this manner, the entries from the two translation tables are merged into the single, combined table. The combined translation table may be owned or assigned to a service provider that originally owned one of the merged translation tables or to a completely different service provider.
    Type: Grant
    Filed: October 18, 2013
    Date of Patent: August 11, 2015
    Assignee: International Business Machines Corporation
    Inventors: Justin K. King, John R. Oberly, III, Travis J. Pizel
  • Patent number: 9104801
    Abstract: Methods, apparatuses, and computer program products for analyzing concurrent debugging sessions are provided. Embodiments include a first debugger initiating a conditional breakpoint in a first debug session of a first application. The conditional breakpoint stops execution of the first application based on a condition of a value of a variable of a second application. Embodiments also include the first debugger requesting and receiving the value of the variable from a second debugger. Embodiments also include the first debugger evaluating the condition of the conditional breakpoint based on the received value of the variable.
    Type: Grant
    Filed: February 13, 2013
    Date of Patent: August 11, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Justin K. King, Lee Nee Helgeson, Michelle A. Schlicht
  • Patent number: 9092365
    Abstract: A computing device may split a translation table used when performing a DMA operation into two different translation tables. To split the translation table, the computing device may update the registers in the IOMMU to include pointers to the two different translation tables. For example, the IOMMU may update one register to point to the same starting address as the original translation table but assign a shorter length (i.e., fewer entries) to that table. The extra entries may then be used to form the other translation table by adding a new pointer to one of the IOMMU registers. The two translation tables may be owned by the same service provider or two different service providers. Alternatively, the computing device may assign the two tables to the same service provider which in turn assigns the tables to respective client devices executed by the service provider.
    Type: Grant
    Filed: August 22, 2013
    Date of Patent: July 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: Justin K. King, John R. Oberly, III, Travis J. Pizel
  • Patent number: 9092366
    Abstract: A computing device may split a translation table used when performing a DMA operation into two different translation tables. To split the translation table, the computing device may update the registers in the IOMMU to include pointers to the two different translation tables. For example, the IOMMU may update one register to point to the same starting address as the original translation table but assign a shorter length (i.e., fewer entries) to that table. The extra entries may then be used to form the other translation table by adding a new pointer to one of the IOMMU registers. The two translation tables may be owned by the same service provider or two different service providers. Alternatively, the computing device may assign the two tables to the same service provider which in turn assigns the tables to respective client devices executed by the service provider.
    Type: Grant
    Filed: October 18, 2013
    Date of Patent: July 28, 2015
    Assignee: International Business Machines Corporation
    Inventors: Justin K. King, John R. Oberly, III, Travis J. Pizel
  • Publication number: 20150205729
    Abstract: A method for controlling access to a memory of a computer system configured with at least one logical partition may include receiving a first request to map a first page of the memory, the request identifying a first requester. A first logical partition associated with the first page may be determined. It may be determined that an attribute of the first logical partition limits access to individual pages of the first logical partition to a single requester, and that the first page is available to be mapped to a requester. The first page may be mapped to the first requester and a flag indicating that the first page is unavailable for an additional mapping may be set. The first request may be from a device driver on behalf of an input/output adapter, as the first requester, to use the first page in a direct memory access transfer.
    Type: Application
    Filed: May 20, 2014
    Publication date: July 23, 2015
    Applicant: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Publication number: 20150205738
    Abstract: A method for controlling access to a memory of a computer system configured with at least one logical partition may include receiving a first request to map a first page of the memory, the request identifying a first requester. A first logical partition associated with the first page may be determined. It may be determined that an attribute of the first logical partition limits access to individual pages of the first logical partition to a single requester, and that the first page is available to be mapped to a requester. The first page may be mapped to the first requester and a flag indicating that the first page is unavailable for an additional mapping may be set. The first request may be from a device driver on behalf of an input/output adapter, as the first requester, to use the first page in a direct memory access transfer.
    Type: Application
    Filed: January 17, 2014
    Publication date: July 23, 2015
    Applicant: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9069895
    Abstract: Methods, apparatuses, and computer program products for analyzing concurrent debugging sessions are provided. Embodiments include a first debugger initiating a conditional breakpoint in a first debug session of a first application. The conditional breakpoint stops execution of the first application based on a condition of a value of a variable of a second application. Embodiments also include the first debugger requesting and receiving the value of the variable from a second debugger. Embodiments also include the first debugger evaluating the condition of the conditional breakpoint based on the received value of the variable.
    Type: Grant
    Filed: January 15, 2013
    Date of Patent: June 30, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Justin K. King, Lee Nee Helgeson, Michelle A. Schlicht
  • Patent number: 9047403
    Abstract: According to embodiments of the invention, methods, computer readable storage medium, and a computer system for providing multiple versions of elements of a program in a single compile are disclosed. The method may include receiving a request to compile a current version of a program for debug. The method may also include identifying, by an integrated development environment, a previous version of an element of the program, wherein the previous version of the element is identified by comparing the current version of the program to a previous version of the program. The method may also include inserting the previous version of the element into the current version of the program. The method may also include creating a compiler directive identifying the previous version of the element. The method may also include compiling the current version of the program for debug.
    Type: Grant
    Filed: February 11, 2013
    Date of Patent: June 2, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
  • Patent number: 9047096
    Abstract: Methods, apparatuses, and computer program products for real-time temperature sensitive machine level code compilation and execution are provided. Embodiments include compiling and executing, by a just-in-time (JIT) compiler, machine level code; during execution of the machine level code, determining, by the JIT compiler, an execution temperature for the machine level code, including reading temperature measurements from one or more processor temperature sensors; based on the determined execution temperature, identifying, by the JIT compiler, a portion of the machine level code that, when executed, caused temperature measurements of one or more processor temperature sensors to exceed a predetermined threshold temperature; recompiling, by the JIT compiler, the machine level code including modifying the identified portion to generate a new execution temperature that is lower than the previously determined execution temperature; and executing, by the JIT compiler, the recompiled machine level code.
    Type: Grant
    Filed: December 11, 2012
    Date of Patent: June 2, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
  • Patent number: 9009671
    Abstract: Crash notification between debuggers, including: initiating, by a first debugger, a first debug session of a first application; detecting, by the first debugger, an error condition in the first application; determining, by the first debugger, whether any variables utilized by the first application are related to variables utilized by a second application, wherein the second application is being debugged in a second debug session by a second debugger; and communicating, by the first debugger to a second debugger, information associated with the error condition in the first application.
    Type: Grant
    Filed: February 13, 2013
    Date of Patent: April 14, 2015
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Justin K. King, Lee Nee, Michelle A. Schlicht