Collaborative Software Debugging In A Distributed System With Stacked Event Group Management
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 debug session of the debuggee, a plurality of application-level messages, including receiving, separately from two or more requesting debug clients, a request to establish an event notification at a location in source code of the debuggee;
routing, by the message router in accordance with an application-level message passing protocol, 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, forwarding each request to the debug administrator, and forwarding only one of the requests to the back-end debugger;
establishing, by the back-end debugger, one event notification at the location in source code;
assigning, by the debug administrator for each request, the event notification to an event group, each event group associated with one of the requesting debug clients; 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 including sending, in dependence upon the event groups to each of the requesting debug clients, an event notification upon the back-end debugger encountering the event at the location in source code.
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 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 multiple requests to establish an event notification; routing the messages among the debug clients, debug administrator, and back-end debugger, including forwarding each request to the debug administrator, and forwarding only one of the requests to the back-end debugger; establishing one event notification; assigning, for each request, the event notification to an event group, each event group associated with one of the requesting debug clients; and returning client-specific debug results including sending, to each of the requesting debug clients, an event notification upon the back-end debugger encountering the event at the location in source code.
-
Citations
17 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 debug session of the debuggee, a plurality of application-level messages, including receiving, separately from two or more requesting debug clients, a request to establish an event notification at a location in source code of the debuggee; routing, by the message router in accordance with an application-level message passing protocol, 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, forwarding each request to the debug administrator, and forwarding only one of the requests to the back-end debugger; establishing, by the back-end debugger, one event notification at the location in source code; assigning, by the debug administrator for each request, the event notification to an event group, each event group associated with one of the requesting debug clients; 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 including sending, in dependence upon the event groups to each of the requesting debug clients, an event notification upon the back-end debugger encountering the event at the location in source code. - View Dependent Claims (2, 3, 4, 5)
-
-
6. 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:
-
receiving, by the debug server from the debug clients asynchronously during a debug session of the debuggee, a plurality of application-level messages, including receiving, separately from two or more requesting debug clients, a request to establish an event notification at a location in source code of the debuggee; routing, by the message router in accordance with an application-level message passing protocol, 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, forwarding each request to the debug administrator, and forwarding only one of the requests to the back-end debugger; establishing, by the back-end debugger, one event notification at the location in source code; assigning, by the debug administrator for each request, the event notification to an event group, each event group associated with one of the requesting debug clients; 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 including sending, in dependence upon the event groups to each of the requesting debug clients, an event notification upon the back-end debugger encountering the event at the location in source code. - View Dependent Claims (7, 8, 9, 10)
-
-
11. 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 back-end debugger, and a debuggee, the computer program product disposed upon a computer readable storage medium, 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 step of:
-
receiving, by the debug server from the debug clients asynchronously during a debug session of the debuggee, a plurality of application-level messages, including receiving, separately from two or more requesting debug clients, a request to establish an event notification at a location in source code of the debuggee; routing, by the message router in accordance with an application-level message passing protocol, 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, forwarding each request to the debug administrator, and forwarding only one of the requests to the back-end debugger; establishing, by the back-end debugger, one event notification at the location in source code; assigning, by the debug administrator for each request, the event notification to an event group, each event group associated with one of the requesting debug clients; 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 including sending, in dependence upon the event groups to each of the requesting debug clients, an event notification upon the back-end debugger encountering the event at the location in source code. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification