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: 20150378867Abstract: 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: ApplicationFiled: September 16, 2014Publication date: December 31, 2015Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
-
Publication number: 20150378811Abstract: 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: ApplicationFiled: June 25, 2014Publication date: December 31, 2015Inventors: Cary L. Bates, Lee Helgeson, Justin K. King, Michelle A. Schlicht
-
Publication number: 20150339470Abstract: 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: ApplicationFiled: May 23, 2014Publication date: November 26, 2015Applicant: International Business Machines CorporationInventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
-
Publication number: 20150309776Abstract: 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: ApplicationFiled: August 15, 2014Publication date: October 29, 2015Inventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
-
Publication number: 20150309913Abstract: 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: ApplicationFiled: April 24, 2014Publication date: October 29, 2015Applicant: International Business Machines CorporationInventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
-
Patent number: 9164899Abstract: 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: GrantFiled: December 11, 2012Date of Patent: October 20, 2015Assignee: International Business Machines CorporationInventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
-
Patent number: 9164898Abstract: 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: GrantFiled: September 9, 2011Date of Patent: October 20, 2015Assignee: International Business Machines CorporationInventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
-
Patent number: 9122796Abstract: 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: GrantFiled: September 27, 2013Date of Patent: September 1, 2015Assignee: International Business Machines CorporationInventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
-
Patent number: 9117017Abstract: 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: GrantFiled: March 13, 2013Date of Patent: August 25, 2015Assignee: International Business Machines CorporationInventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
-
Patent number: 9104600Abstract: 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: GrantFiled: August 22, 2013Date of Patent: August 11, 2015Assignee: International Business Machines CorporationInventors: Justin K. King, John R. Oberly, III, Travis J. Pizel
-
Patent number: 9104601Abstract: 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: GrantFiled: October 18, 2013Date of Patent: August 11, 2015Assignee: International Business Machines CorporationInventors: Justin K. King, John R. Oberly, III, Travis J. Pizel
-
Patent number: 9104801Abstract: 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: GrantFiled: February 13, 2013Date of Patent: August 11, 2015Assignee: International Business Machines CorporationInventors: Cary L. Bates, Justin K. King, Lee Nee Helgeson, Michelle A. Schlicht
-
Patent number: 9092365Abstract: 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: GrantFiled: August 22, 2013Date of Patent: July 28, 2015Assignee: International Business Machines CorporationInventors: Justin K. King, John R. Oberly, III, Travis J. Pizel
-
Patent number: 9092366Abstract: 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: GrantFiled: October 18, 2013Date of Patent: July 28, 2015Assignee: International Business Machines CorporationInventors: Justin K. King, John R. Oberly, III, Travis J. Pizel
-
Publication number: 20150205729Abstract: 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: ApplicationFiled: May 20, 2014Publication date: July 23, 2015Applicant: International Business Machines CorporationInventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
-
Publication number: 20150205738Abstract: 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: ApplicationFiled: January 17, 2014Publication date: July 23, 2015Applicant: International Business Machines CorporationInventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
-
Patent number: 9069895Abstract: 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: GrantFiled: January 15, 2013Date of Patent: June 30, 2015Assignee: International Business Machines CorporationInventors: Cary L. Bates, Justin K. King, Lee Nee Helgeson, Michelle A. Schlicht
-
Patent number: 9047403Abstract: 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: GrantFiled: February 11, 2013Date of Patent: June 2, 2015Assignee: International Business Machines CorporationInventors: Cary L. Bates, Lee N. Helgeson, Justin K. King, Michelle A. Schlicht
-
Patent number: 9047096Abstract: 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: GrantFiled: December 11, 2012Date of Patent: June 2, 2015Assignee: International Business Machines CorporationInventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King
-
Patent number: 9009671Abstract: 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: GrantFiled: February 13, 2013Date of Patent: April 14, 2015Assignee: International Business Machines CorporationInventors: Cary L. Bates, Justin K. King, Lee Nee, Michelle A. Schlicht