Patents by Inventor Cary L. Bates

Cary L. Bates 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: 8762971
    Abstract: A method, apparatus and program product are provided for servicing a production program. A mirror program is dynamically created using source code associated with the production program. The mirror program includes enhanced serviceability functionally relative to the production program that generates service information relevant to the production program. The mirror program executes while the production program remains in an active state such that the production program may be serviced using service information generated by the mirror program. The source code used to compile the production program is compared to a base line copy of the source code. Portions of the source code that differ from the base line copy of the source code are stored. The stored portions of the source code are associated with a unique identifier which is saved with the compiled production program.
    Type: Grant
    Filed: April 2, 2009
    Date of Patent: June 24, 2014
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Paul R. Day, Scott W. Elliott
  • Patent number: 8762955
    Abstract: Event management in a non-stop debugging environment that includes a debugger configured to debug a debuggee, the debuggee including a number of threads of execution, where encountering an event by one of threads stops execution of only the one thread without concurrently stopping execution of other threads and event management includes: encountering, by a first thread, an event that stops execution of the first thread; while execution of the first thread is stopped, encountering, by each of one or more other threads, an event stopping execution of the other thread; queuing, by the debugger, the events stopping execution of the other threads; receiving, by the debugger from a user, an indication to flush one or more events from the queue; and flushing, by the debugger, the one or more events from the queue.
    Type: Grant
    Filed: November 12, 2012
    Date of Patent: June 24, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8762776
    Abstract: A method, computer-readable storage medium, and computer system are provided. In an embodiment, a detection is made that at least one thread, in a plurality of threads executing in a computer, has hung. A lock order of a plurality of locks used by the plurality of threads is determined. A determination is made that a first thread in the plurality of threads violates the lock order. After the determination that the first thread violates the lock order, the computer is restarted and the first thread that violates the lock order is scheduled on a reduced-speed processor.
    Type: Grant
    Filed: January 5, 2012
    Date of Patent: June 24, 2014
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Nicholas P. Johnson, Justin K. King, Lee Nee
  • Patent number: 8762954
    Abstract: Event management in a non-stop debugging environment that includes a debugger configured to debug a debuggee, the debuggee including a number of threads of execution, where encountering an event by one of threads stops execution of only the one thread without concurrently stopping execution of other threads and event management includes: encountering, by a first thread, an event that stops execution of the first thread; while execution of the first thread is stopped, encountering, by each of one or more other threads, an event stopping execution of the other thread; queuing, by the debugger, the events stopping execution of the other threads; receiving, by the debugger from a user, an indication to flush one or more events from the queue; and flushing, by the debugger, the one or more events from the queue.
    Type: Grant
    Filed: February 16, 2011
    Date of Patent: June 24, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Publication number: 20140173140
    Abstract: An indication of a version of a firmware stored in an input/output adapter may be provided by a method that includes detecting whether a first pin is connected to an external circuit, detecting whether a second pin is unconnected to an external circuit, and causing the indication to be provided if the first pin is connected and the second pin is unconnected. The indication may be provided on the first pin. The first pin may include a power supply pin and the indication may be an average rate of power supplied to the input/output adapter.
    Type: Application
    Filed: December 18, 2012
    Publication date: June 19, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Justin K. King, Lee Nee, Michelle A. Schlicht
  • Patent number: 8756583
    Abstract: A non-stop debugging environment includes a debugger configured to debug a multi-threaded debuggee. In the non-stop debugging environment, encountering an event by one of the threads stops execution of only the one thread without concurrently stopping execution of the other threads. Thread-specific events may managed in the non-stop debug environment by identifying, by the debugger for a thread of execution of the debuggee not currently executing, a thread-specific event associated with the thread; removing, by the debugger, the thread-specific event for all threads of the debuggee; and upon the thread resuming execution, replacing, by the debugger, the thread-specific event.
    Type: Grant
    Filed: November 12, 2012
    Date of Patent: June 17, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8756577
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications through a data communications network, collaborative software debugging is carried out with private debug sessions. The debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee. Collaborative software debugging includes receiving, by the debug server from the debug clients, application-level messages. Collaborative software debugging can also include routing, by the message router, the application-level messages among the debug clients, the debug administrator, and the back-end debugger. Collaborative software debugging can also include returning, by the debug server to the debug clients in response to the application-level messages routed to the back-end debugger, client-specific debug results, including establishing the private debug session of the debuggee for the requesting debug client.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: June 17, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8756578
    Abstract: A non-stop debugging environment includes a debugger configured to debug a multi-threaded debuggee, where encountering an event by one of the threads stops execution of only the one thread without concurrently stopping execution of other threads. In such a non-stop debug environment, impact indication of thread-specific events includes tracking, by the debugger, activity associated with a thread-specific event and displaying, by the debugger in a graphical user interface (‘GUI’), an indication of thread-specific event impact in dependence upon the tracked activity.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: June 17, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Publication number: 20140165041
    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: Application
    Filed: December 11, 2012
    Publication date: June 12, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: CARY L. BATES, JUSTIN K. KING, LEE NEE, MICHELLE A. SCHLICHT
  • Publication number: 20140165042
    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: Application
    Filed: February 13, 2013
    Publication date: June 12, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: CARY L. BATES, JUSTIN K. KING, LEE NEE, MICHELLE A. SCHLICHT
  • Patent number: 8752025
    Abstract: A debugger that includes a breakpoint protection mechanism that detects when the program being debugged has been modified to overwrite one or more instructions corresponding to existing breakpoints. When the debugger halts execution of a program being debugged, all of the set breakpoints are checked by determining whether the instruction corresponding to each breakpoint has changed. If any of the instructions corresponding to the breakpoints has changed, the corresponding breakpoint is removed. An optional warning may be provided to the user to inform the user of any removed breakpoints.
    Type: Grant
    Filed: December 10, 2012
    Date of Patent: June 10, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8752024
    Abstract: Inserting, at debuggee source code lines, a breakpoint and executing. For each breakpoint encounter until exiting: encountering and removing the breakpoint, incrementing a first counter value, and resuming execution. Exiting includes saving the first counter value, a state of the call stack, and an exit location. In a second debug session, preparing the debuggee to resume from the exit location. Inserting, at the debuggee source code lines, a breakpoint and executing the debuggee. For each breakpoint encounter until a second counter value matches the first: encountering and removing the breakpoint, incrementing the second counter value, and resuming execution. When the first and second counter values match: inserting an exit location breakpoint at the exit location, executing the debuggee until encountering the exit location breakpoint, and providing the user control to resume debugging from the exit location only if the present state of the call stack matches the saved state.
    Type: Grant
    Filed: November 28, 2012
    Date of Patent: June 10, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8752022
    Abstract: A non-stop debugging environment includes a debugger configured to debug a multi-threaded debuggee. In the non-stop debugging environment, encountering an event by one of the threads stops execution of only the one thread without concurrently stopping execution of the other threads. Thread-specific events may managed in the non-stop debug environment by identifying, by the debugger for a thread of execution of the debuggee not currently executing, a thread-specific event associated with the thread; removing, by the debugger, the thread-specific event for all threads of the debuggee; and upon the thread resuming execution, replacing, by the debugger, the thread-specific event.
    Type: Grant
    Filed: February 24, 2011
    Date of Patent: June 10, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8739127
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications through a data communications network, where the debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving, from the debug clients, application-level messages, including receiving, from a symbol locking debug client, a request to lock one or more symbols from value modification; routing, by the message router, the application-level messages among the debug clients, the debug administrator, and the back-end debugger, including: establishing a lock for each of the one or more symbols; and returning, to the debug clients, client-specific debug results including, returning, responsive to a request to modify a value of a locked symbol, an indication that the symbol is locked without modifying the value of the locked symbol as requested.
    Type: Grant
    Filed: April 20, 2011
    Date of Patent: May 27, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8701094
    Abstract: Event management in a non-stop debugging environment that includes a debugger configured to debug a multi-threaded debuggee, where encountering an event by one of the threads stops execution of only the one thread without concurrently stopping execution of other threads and event management includes: receiving, by the debugger, a user request to establish a dynamically disabled event that is disabled for all threads upon a stop in execution of any thread; establishing, by the debugger, the dynamically disabled event; identifying, by the debugger, a stop in execution of a particular thread; and disabling, by the debugger, the dynamically disabled event for all threads of the debuggee.
    Type: Grant
    Filed: December 3, 2012
    Date of Patent: April 15, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8701093
    Abstract: Event management in a non-stop debugging environment that includes a debugger configured to debug a multi-threaded debuggee, where encountering an event by one of the threads stops execution of only the one thread without concurrently stopping execution of other threads and event management includes: receiving, by the debugger, a user request to establish a dynamically disabled event that is disabled for all threads upon a stop in execution of any thread; establishing, by the debugger, the dynamically disabled event; identifying, by the debugger, a stop in execution of a particular thread; and disabling, by the debugger, the dynamically disabled event for all threads of the debuggee.
    Type: Grant
    Filed: April 13, 2011
    Date of Patent: April 15, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Patent number: 8683448
    Abstract: A debugger that includes a breakpoint protection mechanism that detects when the program being debugged has been modified to overwrite one or more instructions corresponding to existing breakpoints. When the debugger halts execution of a program being debugged, all of the set breakpoints are checked by determining whether the instruction corresponding to each breakpoint has changed. If any of the instructions corresponding to the breakpoints has changed, the corresponding breakpoint is removed. An optional warning may be provided to the user to inform the user of any removed breakpoints.
    Type: Grant
    Filed: October 28, 2010
    Date of Patent: March 25, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Publication number: 20140074312
    Abstract: In an embodiment, a current internal corrosion level at a current time is read from an internal corrosion sensor that is internal to a computer. An internal corrosion difference is calculated between the current internal corrosion level and a previous internal corrosion level. If the internal corrosion difference is more than a first threshold amount, a first action is performed that decreases an internal temperature of the computer.
    Type: Application
    Filed: September 12, 2012
    Publication date: March 13, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. Bates, Justin K. King, Lee Nee, Michelle A. Schlicht
  • Publication number: 20140075418
    Abstract: In an embodiment, a first execution path in a program is determined that has been executed a largest number of times, as compared to at least one other path in the program. Swapped instructions are replaced in the program with breakpoints, wherein the swapped instructions are not on the first execution path. The breakpoints that are not on the first execution path and that are contiguous to each other are replaced in the program with a control word.
    Type: Application
    Filed: September 12, 2012
    Publication date: March 13, 2014
    Applicant: International Business Machines Corporation
    Inventors: Cary L. Bates, Justin K. King, Lee Nee, Michelle A. Schlicht
  • Patent number: 8671393
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications through a data communications network, where the debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving application-level messages, including receiving, from a requesting debug client, a request to establish a dynamic breakpoint at location in source code; routing the application-level messages among the debug clients, the debug administrator, and the back-end debugger, including providing distributed control of the back-end debugger, sending to the debug administrator an instruction to register the dynamic breakpoint, and sending to the back-end debugger a command to establish the dynamic breakpoint; establishing the dynamic breakpoint; registering the requesting debug client's dynamic breakpoint; and returning, by the debug server to the debug clients in response to the application-level messages routed to the
    Type: Grant
    Filed: October 21, 2010
    Date of Patent: March 11, 2014
    Assignee: International Business Machines Corporation
    Inventor: Cary L. Bates