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).

  • Publication number: 20120272217
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications, where the debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving a number of application-level messages including a request to resume execution of the debuggee; routing the messages by the message router, providing distributed control of the back-end debugger to the debug clients, including: polling one or more debug clients for approval to resume execution of the debuggee and resuming execution of the debuggee only if a number of debug clients providing approval to resume execution of the debuggee exceeds a predefined threshold, and 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.
    Type: Application
    Filed: April 20, 2011
    Publication date: October 25, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120272218
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications, where the debug server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving a number of application-level messages, including receiving from a requesting debug client a run-to-cursor command; routing the messages among the debug clients, the debug administrator, and the back-end debugger, including: sending, to debug clients, a request for approval to carry out the run-to-cursor command; receiving responses to the request; and commanding the back-end debugger to execute the debuggee to a cursor position of one of the debug clients only after receiving a predefined number of approvals; and 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.
    Type: Application
    Filed: April 20, 2011
    Publication date: October 25, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120272216
    Abstract: In a distributed system that includes a debug server and debug clients coupled for 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 variable-specific message for a particular variable; routing the application-level messages among the debug clients, the debug administrator, and the back-end debugger, including establishing the variable-specific message; and returning, to the debug clients, client-specific debug results, including: responsive to each request by a variable evaluating debug client to evaluate a variable and if a variable-specific message has been established for the variable to be evaluated, returning the content of the variable-specific message to be displayed in association with the variable in the variable evaluating debug c
    Type: Application
    Filed: April 20, 2011
    Publication date: October 25, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120272219
    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: Application
    Filed: April 20, 2011
    Publication date: October 25, 2012
    Applicant: International Business Machines Corporation
    Inventor: Cary L. Bates
  • Publication number: 20120266139
    Abstract: A non-stop debugging environment includes a debugger configured to debug a multi-threaded debuggee, where encountering an event by one of threads stops execution of only the one thread without concurrently stopping execution of other threads. In the non-stop debugging environment, thread-specific watch event administration includes holding from execution, by the debugger, a thread triggering a watch event; determining, by the debugger, whether the watch event was set for the thread triggering the watch event; if the watch event was set for the thread triggering the watch event, setting, by the debugger, the debug perspective of a GUI to the thread triggering the watch event; and, if the watch event was not set for the thread triggering the watch event: retrieving, by the debugger, watch event information from the thread triggering the watch event; and resuming, by the debugger without user interaction, execution of the thread triggering the watch event.
    Type: Application
    Filed: April 13, 2011
    Publication date: October 18, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120266140
    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: Application
    Filed: April 13, 2011
    Publication date: October 18, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120266138
    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: Application
    Filed: April 13, 2011
    Publication date: October 18, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120266134
    Abstract: Managing thread execution 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 managing thread execution includes: setting, by the debugger responsive to one or more user requests, one or more threads of the debuggee for auto-resumption; encountering, by a thread of the debuggee, an event stopping execution of the thread; determining whether the thread is set for auto-resumption; if the thread is set for auto-resumption, resuming, by the debugger, execution of the thread automatically without user interaction; and if the thread is not set for auto-resumption, processing, by the debugger, the event stopping execution of the thread.
    Type: Application
    Filed: April 13, 2011
    Publication date: October 18, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Patent number: 8291327
    Abstract: Embodiments of the invention provide techniques for protecting a user from being followed by an avatar within an immersive virtual environment. To detect a following avatar, any avatars within a specified range of the user may be identified. Historical data may then be examined to determine if any of the identified avatars has been in the same recent virtual locations as the user. In order to rule out coincidental movements, the likelihood of both avatars being in the same places at the same time may be evaluated. Further, the following avatar may be tested by transporting the user to another location, and then monitoring to determine whether the following avatar also transports to the same location. Upon confirming that the following avatar is actually following the user, avoidance actions may be performed in order to avoid the following avatar.
    Type: Grant
    Filed: January 14, 2009
    Date of Patent: October 16, 2012
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Jim C. Chen, Zachary A. Garbow, Gregory E. Young
  • Patent number: 8265933
    Abstract: Embodiments of the present invention provide a method, system and article of manufacture for adjusting a language model within a voice recognition system, based on text received from an external application. The external application may supply text representing the words of one participant to a text-based conversation. In such a case, changes may be made to a language model by analyzing the external text received from the external application.
    Type: Grant
    Filed: December 22, 2005
    Date of Patent: September 11, 2012
    Assignee: Nuance Communications, Inc.
    Inventors: Cary L. Bates, Brian P. Wallenfelt
  • Publication number: 20120222008
    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: Application
    Filed: February 24, 2011
    Publication date: August 30, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120210305
    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: Application
    Filed: February 16, 2011
    Publication date: August 16, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Patent number: 8239776
    Abstract: Embodiments of the invention provide techniques for protecting a user from being followed by an avatar within an immersive virtual environment. To detect a following avatar, any avatars within a specified range of the user may be identified. Historical data may then be examined to determine if any of the identified avatars has been in the same recent virtual locations as the user. In order to rule out coincidental movements, the likelihood of both avatars being in the same places at the same time may be evaluated. Further, the following avatar may be tested by transporting the user to another location, and then monitoring to determine whether the following avatar also transports to the same location. Upon confirming that the following avatar is actually following the user, avoidance actions may be performed in order to avoid the following avatar.
    Type: Grant
    Filed: January 14, 2009
    Date of Patent: August 7, 2012
    Assignee: International Business Machines Corporation
    Inventors: Cary L. Bates, Jim C. Chen, Zachary A. Garbow, Gregory E. Young
  • Publication number: 20120159117
    Abstract: In an embodiment, an address watch is established on a memory address while the execution of a first thread of a program is halted. In response to a second thread modifying memory contents at the memory address, encountering the address watch and halting, a determination is made whether a first variable in the program that represents the memory address is displayed on a user interface for the first thread. If the first variable in the program that represents the memory address is displayed on the user interface for the first thread, the value of the first variable is read and displayed on the user interface of the first thread.
    Type: Application
    Filed: December 16, 2010
    Publication date: June 21, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120159487
    Abstract: In an embodiment, a first thread of a plurality of threads of a program is halted. A subset of the plurality of threads are determined that are waiting for a mutex that is locked by the first thread while the first thread is halted. Identifiers of the subset of the plurality of threads are presented. The subset of the plurality of threads may have their execution directly blocked and/or indirectly blocked by a lock on the mutex by the first thread. In embodiment, the first thread is halted in response to the first thread encountering a breakpoint, and the subset of the plurality of threads do not halt in response to the first thread encountering the breakpoint.
    Type: Application
    Filed: December 16, 2010
    Publication date: June 21, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120159451
    Abstract: In an embodiment, execution of a first thread of a plurality of threads is halted at a first instruction. A subset of the plurality of threads is determined that execute the first instruction while the first thread is halted at the first instruction. Identifiers of the subset of the plurality of threads that execute the first instruction while the first thread is halted at the first instruction are presented via a user interface for the first thread.
    Type: Application
    Filed: December 16, 2010
    Publication date: June 21, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120117542
    Abstract: In a distributed system including a debug server and debug clients coupled for data communications through a network, where the debug server includes a debug administrator, message router, back-end debugger, and a debuggee, collaborative software debugging includes: presenting a client-specific GUI; detecting user input through the GUI, including user input specifying a location to establish an event; establishing a client-specific event alert to be invoked upon receipt of an event notification for the event; generating application-level messages, including a request to establish the event; sending application-level messages to the debug server, including the request; receiving client-specific debug results, including an event notification for the event; and displaying the client-specific debug results, including invoking the client-specific event alert responsive to the event notification, without invoking an alert by at least one of the other debug clients receiving the event notification.
    Type: Application
    Filed: November 10, 2010
    Publication date: May 10, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120117543
    Abstract: In a distributed system that includes a debug server and debug clients coupled for data communications through a network, collaborative software debugging includes presenting a client-specific GUI that includes a client-specific local variables pane; detecting user input including detecting, by at least one particular debug client, user input setting the client-specific local variables pane to display local variables of a stack frame associated with an active routine owned by the particular debug client; generating and sending to the debug server application-level messages; receiving client-specific debug results; and displaying the client-specific debug results, including: displaying, in the particular debug client's client-specific local variables pane, the local variables of the stack frame associated with the active routine owned by the particular debug client; and displaying, in another debug client's client-specific local variables pane, local variables of another stack frame.
    Type: Application
    Filed: November 10, 2010
    Publication date: May 10, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120117541
    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, a request to establish a chat session associated with a location in source code of the debuggee; routing the application-level messages among the debug clients, the debug administrator, and the back-end debugger; returning client-specific debug results, including sending, to the debug clients, a notification of an established chat session; and administering, by the message router, chat content for the established chat session among debug clients. Debug clients display the chat content in a chat box at the location in source code when the view of source code includes the location.
    Type: Application
    Filed: November 10, 2010
    Publication date: May 10, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cary L. Bates
  • Publication number: 20120110554
    Abstract: Debugging of code of a computer program is facilitated by implementing, during a debugging session, a step-type operation by machine instruction stepping through the code, and concurrent therewith, setting up breakpoints to perform the step-type operation. Responsive to the machine instruction stepping reaching a next debuggable line of code prior to completion of setup of breakpoints to perform the step-type operation, the machine instruction stepping is discontinued, and the setting up of breakpoints to perform the step-type operation is discontinued. Alternatively, responsive to completing setup of the breakpoints to perform the step-type operation prior to machine instruction stepping reaching the next debuggable line of code, the machine instruction stepping is discontinued, and the code is executed to perform the step-type operation using the set breakpoints.
    Type: Application
    Filed: October 29, 2010
    Publication date: May 3, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Cary L. BATES, David L. HERMSMEIER