← Back to Patent Explorer
US5933639A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for debugging distributed programs

Assignee: International Business Machines Corp
•
Filing: 1996-05-17
•
Granted: 1999-08-03
•
Expires: 2016-05-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract This invention provides a small and efficient set of primitives for debugging a distributed application that runs on a plurality of processors connected by a common network. These primitives permit a user to debug a distributed application in a manner similar to debugging a non-distributed application. The invention allows a user to step into and return from a remote procedure call in exactly the same manner as a local procedure call. The invention also allow a user to set breakpoints in a server for specific clients and to specify conditions under which a particular remote call from a client should trap in a server. These capabilities greatly simplify the process of debugging distributed applications such as client-server programs.

Inventors

  • 👤 Michael Stephen Meier
  • 👤 Kevan Lee Miller
  • 👤 Donald Philip Pazel
  • 👤 Josyula Ramachandra Rao
  • 👤 James Robert Russell

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-01 08:06
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 121 words
A method for debugging a distributed program including a first process and a second process, wherein the first process sends a message to the second process and wherein the second process uses the contents of the message to determine a next operation to execute, the method comprising the steps of: providing a system which will execute the distributed program with user specified data identifying an operation and the first process; in performing the operation, sending a particular message from the first process to the second process; and, providing an indication to the user that the particular operation is to be executed by the second process in response to the particular message being received by the second process from the first process.
Claim 2
Independent Claim 121 words
A method for debugging a distributed program including a first process and a second process, wherein the first process sends a message to the second process and wherein the second process uses the contents of the message to determine a next operation to execute, the method comprising the steps of: providing a system which will execute the distributed program with user specified data identifying an operation and the first process; in performing the operation, sending a particular message from the first process to the second process; and, providing an indication to the user that the particular operation is to be executed by the second process in response to the particular message being received by the second process from the first process.
Claim 3
Dependent Claim 52 words
The method of claim 1 comprising the further step of controlling the first process and the second process such that a user can debug the execution of the particular operation by the second process when the particular operation is executed in response to the particular message being received from the first process.
Claim 4
Dependent Claim 13 words
The method of claim 1 wherein the message is a remote procedure call.
Claim 5
Independent Claim 133 words
A method for debugging a distributed program including a client process and a server process, wherein the client process sends a remote procedure call to the server process and wherein the server process performs a procedure in response to the remote procedure call, the method comprising the steps of: providing a distributed debugger executing on a common distributed system with the distributed program with user specified data identifying a procedure call and the client process; providing an indication to the user that the procedure is to be executed by the server process in response to the procedure call being received by the server process from the client process; and, commencing a debugging operation on the server process in response to the procedure call being received by the server process from the client process.
Claim 6
Independent Claim 133 words
A method for debugging a distributed program including a client process and a server process, wherein the client process sends a remote procedure call to the server process and wherein the server process performs a procedure in response to the remote procedure call, the method comprising the steps of: providing a distributed debugger executing on a common distributed system with the distributed program with user specified data identifying a procedure call and the client process; providing an indication to the user that the procedure is to be executed by the server process in response to the procedure call being received by the server process from the client process; and, commencing a debugging operation on the server process in response to the procedure call being received by the server process from the client process.
Claim 7
Independent Claim 103 words
A method for debugging a distributed program including a first process and a second process, wherein the first process sends a message to the second process, the method comprising the steps of: providing a system which will execute the distributed program with user specified data identifying an operation and the first process; in concluding the operation, sending a particular message from the first process to the second process; and, providing an indication to the user that the operation was initiated by the first process and has concluded; wherein the second process uses the contents of the message to determines whether to continue execution.
Claim 8
Independent Claim 103 words
A method for debugging a distributed program including a first process and a second process, wherein the first process sends a message to the second process, the method comprising the steps of: providing a system which will execute the distributed program with user specified data identifying an operation and the first process; in concluding the operation, sending a particular message from the first process to the second process; and, providing an indication to the user that the operation was initiated by the first process and has concluded; wherein the second process uses the contents of the message to determines whether to continue execution.
Claim 9
Dependent Claim 31 words
The method of claim 5 wherein the first process is a server process, the second process is a client process and the message is a reply to a remote procedure call.
Claim 10
Dependent Claim 41 words
The method of claim 5 comprising the further step of controlling the first process and the second process such that a user can debug the execution of the second process in response to conclusion of the operation by the first process.
Claim 11
Independent Claim 82 words
A method for debugging a distributed program including a plurality of processes, the method comprising the steps of: providing a distributed debugger with data identifying a first process, an operation in the first process, a list including a name of another process associated with the operation; and, providing an indication to the user that the operation was performed in response to a request from a process whose name was on the list and an identification of the process which initiated the operation.
Claim 12
Independent Claim 82 words
A method for debugging a distributed program including a plurality of processes, the method comprising the steps of: providing a distributed debugger with data identifying a first process, an operation in the first process, a list including a name of another process associated with the operation; and, providing an indication to the user that the operation was performed in response to a request from a process whose name was on the list and an identification of the process which initiated the operation.
Claim 13
Dependent Claim 11 words
The method of claim 8 wherein the operation is a breakpoint.
Claim 14
Dependent Claim 27 words
The method of claim 9 comprising the further step of prompting the user to take a further action with respect to continued execution of the first process.
Claim 15
Dependent Claim 31 words
The method of claim 8 wherein the first process is a server process, the another process is a client process and the operation is an instruction in a remote procedure call.
Claim 16
Independent Claim 155 words
A method for debugging a distributed program including a first process and a second process, wherein the first process sends a message to the second process and wherein the second process uses the contents of the message to determine a next operation to execute, the method comprising the steps of: providing a system which will execute the distributed program with user specified data identifying an operation, the first process and a list of names identifying at least one other process; in performing the operation, sending a particular message from the first process to the second process; and, determining whether the second process is identified in the list of names; and, only when the second process is in the list of names, providing an indication to the user that the particular operation is to be executed by the second process in response to the particular message being received by the second process from the first process.
Claim 17
Independent Claim 155 words
A method for debugging a distributed program including a first process and a second process, wherein the first process sends a message to the second process and wherein the second process uses the contents of the message to determine a next operation to execute, the method comprising the steps of: providing a system which will execute the distributed program with user specified data identifying an operation, the first process and a list of names identifying at least one other process; in performing the operation, sending a particular message from the first process to the second process; and, determining whether the second process is identified in the list of names; and, only when the second process is in the list of names, providing an indication to the user that the particular operation is to be executed by the second process in response to the particular message being received by the second process from the first process.
Claim 18
Independent Claim 157 words
A method for debugging a distributed program including client process and a plurality of server processes, wherein a call from the client process can be sent to any of the server processes, the method comprising the steps of: providing a system which will execute the distributed program with user specified data identifying the call, a client process and a list of names identifying at least one server process; sending the call from the client process to any one of the server processes; determining whether the server process receiving the call is identified in the list of names; and, only when the call was executed in response to the client process identified by the user by a server process is in the list of names, providing an indication to the user that the particular call is to be executed by the server process in response to the call being received by the server process from the client process.
Claim 19
Independent Claim 157 words
A method for debugging a distributed program including client process and a plurality of server processes, wherein a call from the client process can be sent to any of the server processes, the method comprising the steps of: providing a system which will execute the distributed program with user specified data identifying the call, a client process and a list of names identifying at least one server process; sending the call from the client process to any one of the server processes; determining whether the server process receiving the call is identified in the list of names; and, only when the call was executed in response to the client process identified by the user by a server process is in the list of names, providing an indication to the user that the particular call is to be executed by the server process in response to the call being received by the server process from the client process.
Claim 20
Dependent Claim 27 words
The method of claim 13 comprising the further step of prompting the user to take a further action with respect to continued execution of the server process.

References Cited (Backward Citations)

US4589068A Cited
US4953096A Cited
US5361352A Cited
US5371746A Cited
US5533192A Cited
US5544310A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-08-02 2003-02-01 2003-08-03 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-08-02 2007-02-01 2007-08-03 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-08-02 2011-02-01 2011-08-03 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag