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

Method of walking-up a call stack for a client/server program that uses remote procedure call

Assignee: International Business Machines Corp
•
Filing: 1997-06-06
•
Granted: 1998-08-11
•
Expires: 2017-06-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract When displaying the caller stack of a distributed client/server program that uses Remote Procedure Calls (RPC), the user is provided the capability of viewing the RPC calls in the same manner as normal procedure calls. When a breakpoint is encountered in an RPC server program while using a debugger for distributed programs, the call stacks for the client and server program are appended together into a single distributed call stack. In the case of nested RPC calls (e.g. program A executes an RPC call to program B which executes an RPC call to C and so on) all of the call stacks are appended together in the order they were created. The distributed call stack may span many programs, threads of execution, and computing machines. The distributed call stack may be used to select a routine from the call stack when setting a context for a tool that displays program state information. For example, when the user selects a particular routine from the distributed call stack, the source listing, variables that are currently in scope, and thread executing the routine may be shown in various display windows.

Inventors

  • 👤 Michael S. Meier

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 19:13
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3698; G06F11/362; G06F11/3632; G06F11/3636; G06F9/00; G06F9/06; G06F9/46; G06F9/54; G06F9/547

Claims Analysis

Total Claims: 4
Claim 1
Independent Claim 309 words
An article of manufacture for use in a distributed data processing system for debugging a distributed computer program comprising a client program executing on a first portion of the distributed data processing system and a server program executing on a second portion of the distributed data processing system, said article of manufacture comprising a computer-readable storage medium having a computer program embodied in said medium which causes the distributed data processing system to: (a) determine a first call stack on the first portion of the distributed data processing system of the client program; (b) determine a second call stack on the second portion of the distributed data processing system of the server program by evaluating remote procedure call (RPC) run-time data structures; (c) append the first call stack and the second call stack together on the first portion of the distributed data processing system to form a single distributed call stack; (d) display on the first portion of the distributed data processing system the single distributed call stack; (e) set a current context to a context where a breakpoint occurs; (f) walk up a call stack of the current context; (g) determine for each routine in the current context call stack, if it is a server dispatch routine, and if it's not a server dispatch routine, output the program name and continue up the current context call stack, and if it is a server dispatch routine, obtain a context of a client dispatched by the server dispatch routine, and set the current context to the context of the dispatched client; (h) walk up a call stack of the current context of the dispatched client; and (i) determine for each routine in the call stack of the current context of the dispatched client, if it is a client call, and if it is a client call, loop back to (f).
Claim 2
Dependent Claim 309 words
An article of manufacture for use in a distributed data processing system for debugging a distributed computer program comprising a client program executing on a first portion of the distributed data processing system and a server program executing on a second portion of the distributed data processing system, said article of manufacture comprising a computer-readable storage medium having a computer program embodied in said medium which causes the distributed data processing system to: (a) determine a first call stack on the first portion of the distributed data processing system of the client program; (b) determine a second call stack on the second portion of the distributed data processing system of the server program by evaluating remote procedure call (RPC) run-time data structures; (c) append the first call stack and the second call stack together on the first portion of the distributed data processing system to form a single distributed call stack; (d) display on the first portion of the distributed data processing system the single distributed call stack; (e) set a current context to a context where a breakpoint occurs; (f) walk up a call stack of the current context; (g) determine for each routine in the current context call stack, if it is a server dispatch routine, and if it's not a server dispatch routine, output the program name and continue up the current context call stack, and if it is a server dispatch routine, obtain a context of a client dispatched by the server dispatch routine, and set the current context to the context of the dispatched client; (h) walk up a call stack of the current context of the dispatched client; and (i) determine for each routine in the call stack of the current context of the dispatched client, if it is a client call, and if it is a client call, loop back to (f).
Claim 3
Dependent Claim 180 words
An article of manufacture for use in a distributed data processing system for debugging a distributed computer program, said article of manufacture comprising a computer-readable storage medium having a computer program embodied in said medium which causes the distributed data processing system to: (a) encounter a breakpoint in the distributed computer program; (b) stop all threads which comprise the distributed computer program; (c) set a current context to a context of a routine where the breakpoint occurred; (d) walk up the call stack; (e) determine for each routine in the call stack, if it is a server dispatch routine; (f) output the program name for each routine, if it's not a server dispatch routine, and continue up the call stack; (g) obtain a context of a client for each routine, if it is a server dispatch routine; (h) set the current context to context of the client; (i) walk up the client call stack; (j) determine for each routine, if it is a client call; and (k) loop back to (d) for each routine, if it is a client call.
Claim 4
Dependent Claim 180 words
An article of manufacture for use in a distributed data processing system for debugging a distributed computer program, said article of manufacture comprising a computer-readable storage medium having a computer program embodied in said medium which causes the distributed data processing system to: (a) encounter a breakpoint in the distributed computer program; (b) stop all threads which comprise the distributed computer program; (c) set a current context to a context of a routine where the breakpoint occurred; (d) walk up the call stack; (e) determine for each routine in the call stack, if it is a server dispatch routine; (f) output the program name for each routine, if it's not a server dispatch routine, and continue up the call stack; (g) obtain a context of a client for each routine, if it is a server dispatch routine; (h) set the current context to context of the client; (i) walk up the client call stack; (j) determine for each routine, if it is a client call; and (k) loop back to (d) for each routine, if it is a client call.

References Cited (Backward Citations)

US5127103A Cited
US5361352A Cited
US5319645A Cited
US5371746A Cited
US5410648A Cited
US5404523A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-10 2002-02-09 2002-08-11 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-10 2006-02-09 2006-08-11 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-10 2010-02-09 2010-08-11 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag