Collaborative software debugging in a distributed system with client-specific access control
First Claim
1. A method of collaborative software debugging in a distributed system, the distributed system comprising a debug server, a plurality of debug clients, and a data communications network, the debug server coupled for data communications to the plurality of debug clients through the data communications network, the debug server comprising a debug administrator, a message router, a back-end debugger, and a debuggee, the method comprising:
- receiving, by the debug server from the debug clients asynchronously during a collaborative debug session of the debuggee, a plurality of application-level messages, including receiving, from a debug client comprising a session owner, a request to enable a predefined operational mode;
enabling, by the debug server, the predefined operational mode, wherein the predefined operational mode is a ruleset that governs operation of the debug server and the back-end debugger by implementing a predefined ruleset for the message passing protocol employed by the message router, wherein enabling the predefined operational mode further comprises initiating a dynamic access controlled operational mode, the dynamic access controlled operational mode permitting debug clients access to the back-end debugger in dependence upon client-specific access permissions modified dynamically in real-time by the session owner during the debug session;
routing, by the message router in accordance with an application-level message passing protocol and further in accordance with the enabled predefined operational mode, 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 to the debug clients with application-level messages routed to the back-end debugger; 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 for the collaborative debug session.
1 Assignment
0 Petitions
Accused Products
Abstract
In a distributed system that includes a debug server and debug clients coupled for data communications through a data communications network, where the server includes a debug administrator, a message router, a back-end debugger, and a debuggee, collaborative software debugging includes receiving, by the debug server, a plurality of application-level messages, including receiving, from a session owner, a request to enable a predefined operational mode; enabling the predefined operational mode; routing, by the message router in accordance with an application-level message passing protocol and in accordance with the enabled predefined operational mode, 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 to the debug clients with application-level messages routed to the back-end debugger; 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.
158 Citations
4 Claims
-
1. A method of collaborative software debugging in a distributed system, the distributed system comprising a debug server, a plurality of debug clients, and a data communications network, the debug server coupled for data communications to the plurality of debug clients through the data communications network, the debug server comprising a debug administrator, a message router, a back-end debugger, and a debuggee, the method comprising:
-
receiving, by the debug server from the debug clients asynchronously during a collaborative debug session of the debuggee, a plurality of application-level messages, including receiving, from a debug client comprising a session owner, a request to enable a predefined operational mode; enabling, by the debug server, the predefined operational mode, wherein the predefined operational mode is a ruleset that governs operation of the debug server and the back-end debugger by implementing a predefined ruleset for the message passing protocol employed by the message router, wherein enabling the predefined operational mode further comprises initiating a dynamic access controlled operational mode, the dynamic access controlled operational mode permitting debug clients access to the back-end debugger in dependence upon client-specific access permissions modified dynamically in real-time by the session owner during the debug session; routing, by the message router in accordance with an application-level message passing protocol and further in accordance with the enabled predefined operational mode, 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 to the debug clients with application-level messages routed to the back-end debugger; 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 for the collaborative debug session.
-
-
2. A method of collaborative software debugging in a distributed system, the distributed system comprising a debug server, a plurality of debug clients, and a data communications network, the debug server coupled for data communications to the plurality of debug clients through the data communications network, the debug server comprising a debug administrator, a message router, a back-end debugger, and a debuggee, the method comprising:
-
presenting, by each debug client participating in a collaborative debug session to a user of the debug client, a client-specific graphical user interface (‘
GUI’
), the client-specific GUI comprising a client-specific display of a debug session of the debuggee, at least one debug client comprising a session owner;detecting, by each debug client, user input through the client-specific GUI, including detecting, by the session owner, user input specifying a predefined operational mode, wherein detecting user input specifying the predefined operational mode further comprises detecting user input specifying a dynamic access controlled operational mode, the dynamic access controlled operational mode permitting debug clients access to the back-end debugger in dependence upon client-specific access permissions modified dynamically by the session owner in real-time during the debug session; generating, by each debug client in dependence upon the detected user input, one or more application-level messages, including generating, by the session owner, a request to enable the predefined operational mode; sending, by each debug client, the application-level messages to the debug server, including sending, by the session owner to the debug server, the request to enable the predefined operational mode; receiving, by each debug client responsive to the application-level messages, client-specific debug results, including receiving, by debug clients other than the session owner, client-specific debug results in accordance with the predefined operational mode, wherein the predefined operational mode is a ruleset that governs operation of the debug server and the back-end debugger by implementing a predefined ruleset for the message passing protocol employed by the message router; and displaying, by each debug client in the client-specific GUI, the client-specific debug results for the collaborative debug session.
-
-
3. An apparatus for collaborative software debugging in a distributed system, the distributed system comprising a debug server, a plurality of debug clients, and a data communications network, the debug server coupled for data communications to the plurality of debug clients through the data communications network, the debug server comprising a debug administrator, a message router, a back-end debugger, and a debuggee, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
-
presenting, by each debug client participating in a collaborative debug session to a user of the debug client, a client-specific graphical user interface (‘
GUI’
), the client-specific GUI comprising a client-specific display of a debug session of the debuggee, at least one debug client comprising a session owner;detecting, by each debug client, user input through the client-specific GUI, including detecting, by the session owner, user input specifying a predefined operational mode, wherein detecting user input specifying the predefined operational mode further comprises detecting user input specifying a dynamic access controlled operational mode, the dynamic access controlled operational mode permitting debug clients access to the back-end debugger in dependence upon client-specific access permissions modified dynamically by the session owner in real-time during the debug session; generating, by each debug client in dependence upon the detected user input, one or more application-level messages, including generating, by the session owner, a request to enable the predefined operational mode; sending, by each debug client, the application-level messages to the debug server, including sending, by the session owner to the debug server, the request to enable the predefined operational mode; receiving, by each debug client responsive to the application-level messages, client-specific debug results, including receiving, by debug clients other than the session owner, client-specific debug results in accordance with the predefined operational mode, wherein the predefined operational mode is a ruleset that governs operation of the debug server and the back-end debugger by implementing a predefined ruleset for the message passing protocol employed by the message router; and displaying, by each debug client in the client-specific GUI, the client-specific debug results for the collaborative debug session.
-
-
4. A computer program product for collaborative software debugging in a distributed system, the distributed system comprising a debug server, a plurality of debug clients, and a data communications network, the debug server coupled for data communications to the plurality of debug clients through the data communications network, the debug server comprising a debug administrator, a message router, a backend debugger, and a debuggee, the computer program product disposed upon a computer readable storage medium, wherein the computer readable storage medium is not a signal, the computer program product comprising computer program instructions that, when executed by a computer processor of a computer, cause the computer to carry out the steps of:
-
presenting, by each debug client participating in a collaborative debug session to a user of the debug client, a client-specific graphical user interface (‘
QUI’
), the client-specific QUI comprising a client-specific display of a debug session of the debuggee, at least one debug client comprising a session owner;detecting, by each debug client, user input through the client-specific QUI, including detecting, by the session owner, user input specifying a predefined operational mode, wherein detecting user input specifying the predefined operational mode further comprises detecting user input specifying a dynamic access controlled operational mode, the dynamic access controlled operational mode permitting debug clients access to the back-end debugger in dependence upon client-specific access permissions modified dynamically by the session owner in real-time during the debug session; generating, by each debug client in dependence upon the detected user input, one or more application-level messages, including generating, by the session owner, a request to enable the predefined operational mode; sending, by each debug client, the application-level messages to the debug server, including sending, by the session owner to the debug server, the request to enable the predefined operational mode; receiving, by each debug client responsive to the application-level messages, client-specific debug results, including receiving, by debug clients other than the session owner, client-specific debug results in accordance with the predefined operational mode, wherein the predefined operational mode is a rule set that governs operation of the debug server and the back-end debugger by implementing a predefined ruleset for the message passing protocol employed by the message router; and displaying, by each debug client in the client-specific QUI, the client-specific debug results for the collaborative debug session.
-
Specification