Methods utilizing a debugging proxy
First Claim
Patent Images
1. A computer-implemented method for communicating between a client and a debugging component located on a remote server through a debugging proxy, comprising:
- communicating between the client and the debugging component located on the remote server through a debugging proxy, wherein a user can monitor and control execution of software on the remote server; and
managing communication between the client and the debugging proxy through a debugging protocol, wherein the debugging protocol supports asynchronous messaging and permits coarse grained messages, and the debugging protocol implements a priority scheme to process messages between the client and the debugging component based upon a priority assigned to each message;
wherein the client sends coarse grained messages to the debug proxy using the debugging protocol and the debugging proxy sends fine grained messages to the debugging component on the remote server;
wherein the debugging proxy examines each message, determines a priority, and places the message on a priority queue, wherein priorities are assigned dynamically based on information that changes at run-time, wherein messages requesting information that the user has examined frequently have higher priority than messages requesting information that have been accessed less frequently;
wherein a plurality of worker threads dequeue and process messages from the priority queue starting with the highest priority items first and working through the remaining items when the plurality of worker threads are not processing immediate priority messages;
wherein the debugging proxy creates a worker thread for each coarse grained message and the worker thread generates a corresponding series of fine grained messages to a server conforming to the server'"'"'s standard debugging protocol;
wherein the debugging proxy removes items from the response queue in order and sends them asynchronously to the client; and
wherein communication between the debugging proxy and a native interface of the debugging component is synchronous.
2 Assignments
0 Petitions
Accused Products
Abstract
A debugging proxy can be used to manage communication between a client and a debugger or debugging component. A debugging protocol can be used by the debugging proxy to facilitate communication management. A debugging protocol can provide for asynchronous messaging, and can allow for the communication of large grain messages. A debugging protocol can also implement a priority scheme that can be used to process messages between a client and a debugger based upon a priority assigned to each message.
34 Citations
30 Claims
-
1. A computer-implemented method for communicating between a client and a debugging component located on a remote server through a debugging proxy, comprising:
-
communicating between the client and the debugging component located on the remote server through a debugging proxy, wherein a user can monitor and control execution of software on the remote server; and managing communication between the client and the debugging proxy through a debugging protocol, wherein the debugging protocol supports asynchronous messaging and permits coarse grained messages, and the debugging protocol implements a priority scheme to process messages between the client and the debugging component based upon a priority assigned to each message; wherein the client sends coarse grained messages to the debug proxy using the debugging protocol and the debugging proxy sends fine grained messages to the debugging component on the remote server; wherein the debugging proxy examines each message, determines a priority, and places the message on a priority queue, wherein priorities are assigned dynamically based on information that changes at run-time, wherein messages requesting information that the user has examined frequently have higher priority than messages requesting information that have been accessed less frequently; wherein a plurality of worker threads dequeue and process messages from the priority queue starting with the highest priority items first and working through the remaining items when the plurality of worker threads are not processing immediate priority messages; wherein the debugging proxy creates a worker thread for each coarse grained message and the worker thread generates a corresponding series of fine grained messages to a server conforming to the server'"'"'s standard debugging protocol;
wherein the debugging proxy removes items from the response queue in order and sends them asynchronously to the client; andwherein communication between the debugging proxy and a native interface of the debugging component is synchronous. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A memory having instructions stored thereon that, when executed by a processor, cause the processor to communicate between a client and a debugging component located on a remote server through a debugging proxy by:
-
communicating between the client and the debugging component located on the remote server through a debugging proxy, wherein a user can monitor and control execution of software on the remote server; and managing communication between the client and the debugging proxy through a debugging protocol, wherein the debugging protocol supports asynchronous messaging and permits coarse grained messages, and the debugging protocol implements a priority scheme to process messages between the client and the debugging component based upon a priority assigned to each message; wherein the client sends coarse grained messages to the debug proxy using the debugging protocol and the debugging proxy sends fine grained messages to the debugging component on the remote server; wherein the debugging proxy examines each message, determines a priority, and places the message on a priority queue, wherein priorities are assigned dynamically based on information that changes at run-time, wherein messages requesting information that the user has examined frequently have higher priority than messages requesting information that have been accessed less frequently; wherein a plurality of worker threads dequeue and process messages from the priority queue starting with the highest priority items first and working through the remaining items when the plurality of worker threads are not processing immediate priority messages; wherein the debugging proxy creates a worker thread for each coarse grained message and the worker thread generates a corresponding series of fine grained messages to a server conforming to the server'"'"'s standard debugging protocol;
wherein the debugging proxy removes items from the response queue in order and sends them asynchronously to the client; andwherein communication between the debugging proxy and a native interface of the debugging component is synchronous.
-
Specification