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

Controlled execution of partitioned code

Assignee: Oracle International Corp
•
Filing: 2000-02-09
•
Granted: 2006-01-17
•
Expires: 2020-02-09
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An execution engine embeddable in a plurality of host application programs to control execution of code in each of the host application programs is disclosed. The execution unit includes a command unit, an execution unit and a host call unit. The command unit receives commands from a host application program in which the execution engine is embedded, including a command to execute a sequence of platform-independent instructions. The execution unit executes the sequence of platform-independent instructions until an instruction indicating either a break event or a remote procedure call is detected. The host call unit initiates execution of one or more procedures in the host application program in response to the execution unit detecting the instruction indicating a break event or a remote procedure call.

Inventors

  • 👤 James Mallory
  • 👤 Sunil Bhargava
  • 👤 Shirish Puranik

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 16:41
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F11/00; G06F11/36; G06F11/3698; G06F9/54; G06F9/547

Claims Analysis

Total Claims: 82
Claim 1
Independent Claim 50 words
A first debugger that is configured to: debug a first sequence of instructions of a first application; and cause a second debugger to debug a second sequence of instructions of a second application in response to a call from the first sequence of instructions to the second sequence of instructions.
Claim 2
Dependent Claim 50 words
A first debugger that is configured to: debug a first sequence of instructions of a first application; and cause a second debugger to debug a second sequence of instructions of a second application in response to a call from the first sequence of instructions to the second sequence of instructions.
Claim 3
Independent Claim 81 words
A method for controlling the execution of applications, the method comprising the computer-implemented steps of: while a first controlled execution tool executes a first sequence of instructions of a first program, detecting a call from the first sequence of instructions to a second sequence of instructions of a second program; and in response to the call, automatically causing the second sequence of instructions to be executed by a second controlled execution tool that is independent of the first controlled execution tool.
Claim 4
Independent Claim 81 words
A method for controlling the execution of applications, the method comprising the computer-implemented steps of: while a first controlled execution tool executes a first sequence of instructions of a first program, detecting a call from the first sequence of instructions to a second sequence of instructions of a second program; and in response to the call, automatically causing the second sequence of instructions to be executed by a second controlled execution tool that is independent of the first controlled execution tool.
Claim 5
Dependent Claim 38 words
The method of claim 2 , further comprising the computer-implemented step of: while the second controlled execution tool executes the second sequence of instructions, exchanging data between the first controlled execution tool and the second controlled execution tool.
Claim 6
Dependent Claim 49 words
The method of claim 3 , wherein the step of exchanging data with the second controlled execution tool includes the computer-implemented step of: sending data to the second controlled execution tool, wherein the data is used by the second controlled execution tool when executing the second sequence of instructions.
Claim 7
Dependent Claim 30 words
The method of claim 4 , wherein the data specifies a break event to be detected during execution by the second controlled execution tool of the second sequence of instructions.
Claim 8
Dependent Claim 48 words
The method of claim 3 , wherein the step of exchanging data with the second controlled execution tool includes the computer-implemented step of: receiving data from the second controlled execution tool, wherein the data describes execution of the second sequence of instructions by the second controlled execution tool.
Claim 9
Dependent Claim 30 words
The method of claim 6 , wherein the data specifies a break event that was detected during execution by the second controlled execution tool of the second sequence of instructions.
Claim 10
Dependent Claim 56 words
The method of claim 2 , wherein: the first controlled execution tool is selected from the group consisting of a first debugger, a first tracing application, and a first profiler application; and the second controlled execution tool is selected from the group consisting of a second debugger, a second tracing application, and a second profiler application.
Claim 11
Dependent Claim 85 words
The method of claim 2 , wherein: the first controlled execution tool executes the first sequence of instructions in a mode selected from the group consisting of controlled execution mode and free running mode; controlled execution mode allows for use of one or more break points while the first controlled execution tool executes the first sequence of instructions; and free running mode does not allow the use of one or more break points while the first controlled execution tool executes the first sequence of instructions.
Claim 12
Dependent Claim 16 words
The method of claim 2 , wherein the first sequence of instructions is platform independent code.
Claim 13
Dependent Claim 37 words
The method of claim 2 , wherein the first sequence of instructions is platform specific code that is designed for execution on a platform upon which the first controlled execution tool executes the first sequence of instructions.
Claim 14
Dependent Claim 29 words
The method of claim 2 , wherein the first sequence of instructions is code that is selected from the group consisting of source code, object code, and executable code.
Claim 15
Dependent Claim 48 words
The method of claim 2 , wherein: the first controlled execution tool executes the first sequence of instructions in a first operating environment; and the second controlled execution tool executes the second sequence of instructions in a second operating environment that is different than the first operating environment.
Claim 16
Dependent Claim 52 words
The method of claim 2 , further comprising the computer-implemented step of: receiving input from a user through a user interface, wherein the input is used by the first controlled execution tool when executing the first sequence of instructions and by the second-controlled execution tool when executing the second sequence of instructions.
Claim 17
Dependent Claim 48 words
The method of claim 2 , further comprising the computer-implemented step of: providing information to a user about the execution of the first sequence of instructions by the first controlled execution tool and about the execution of the second sequence of instructions by the second controlled execution tool.
Claim 18
Dependent Claim 14 words
The method of claim 2 , wherein the call is a remote procedure call.
Claim 19
Dependent Claim 67 words
The method of claim 2 , further comprising the computer-implemented steps of: while the second controlled execution tool executes the second sequence of instructions, detecting an additional call from the second sequence of instructions to a third sequence of instructions of a third program; and in response to the additional call, automatically causing the third sequence of instructions to be executed by a third controlled execution tool.
Claim 20
Dependent Claim 70 words
The method of claim 2 , further comprising the computer-implemented steps of: prior to the first application executing the first sequence of instructions, instantiating a data structure; the first controlled execution tool using the data structure when the first controlled execution tool executes the first sequence of instructions; and the second controlled execution tool using the data structure when the second controlled execution tool executes the second sequence of instructions.
Claim 21
Dependent Claim 23 words
The method of claim 2 , wherein the first controlled execution tool includes an execution object that executes the first sequence of instructions.
Claim 22
Dependent Claim 23 words
The method of claim 19 , further comprising the computer-implemented step of: the execution object controlling execution of the first sequence of instructions.
Claim 23
Dependent Claim 34 words
The method of claim 20 , wherein the step of the execution object controlling execution of the first sequence of instructions includes the step of: the execution object functioning as a programming language subsystem.
Claim 24
Dependent Claim 75 words
The method of claim 19 , wherein the execution object comprises a command unit, an execution unit, and a call unit, and the method further comprises the computer-implemented steps of: the command unit receiving a command to execute the first sequence of instructions; the execution unit interpreting the first sequence of instructions for execution by a processor until a condition is detected; and the call unit that initiating a call when the condition is detected.
Claim 25
Dependent Claim 19 words
The method of claim 22 , wherein the condition is encountering an instruction to perform a remote procedure call.
Claim 26
Dependent Claim 26 words
The method of claim 22 , wherein the condition is encountering a position within the first sequence of instructions that is associated with a break event.
Claim 27
Dependent Claim 26 words
The method of claim 22 , wherein in response to detecting the condition, the first controlled execution tool halts execution of the first sequence of instructions.
Claim 28
Dependent Claim 27 words
The method of claim 25 , wherein in response to detecting an additional condition, the first controlled execution tool resumes execution of the first sequence of instructions.
Claim 29
Dependent Claim 38 words
The method of claim 22 , wherein in response to detecting the condition, the first controlled execution continues execution of the first sequence of instructions to monitor execution of the second sequence of instructions by the second application.
Claim 30
Dependent Claim 23 words
The method of claim 2 , wherein the second controlled execution tool includes an execution object that executes the second sequence of instructions.
Claim 31
Dependent Claim 23 words
The method of claim 28 , further comprising the computer-implemented step of: the execution object controlling execution of the second sequence of instructions.
Claim 32
Dependent Claim 34 words
The method of claim 29 , wherein the step of the execution object controlling execution of the second sequence of instructions includes the step of: the execution object functioning as a programming language subsystem.
Claim 33
Dependent Claim 75 words
The method of claim 28 , wherein the execution object comprises a command unit, an execution unit, and a call unit, and the method further comprises the computer-implemented steps of: the command unit receiving a command to execute the second sequence of instructions; the execution unit interpreting the second sequence of instructions for execution by a processor until a condition is detected; and the call unit that initiating a call when the condition is detected.
Claim 34
Dependent Claim 19 words
The method of claim 31 , wherein the condition is encountering an instruction to perform a remote procedure call.
Claim 35
Dependent Claim 26 words
The method of claim 31 , wherein the condition is encountering a position within the second sequence of instructions that is associated with a break event.
Claim 36
Dependent Claim 28 words
The method of claim 31 , further comprising the computer-implemented steps of: receiving information about the execution of the second sequence of instructions when the condition is detected.
Claim 37
Independent Claim 69 words
A method for debugging an application, the method comprising the computer-implemented steps of: while debugging a first sequence of instructions with a first debugging application, detecting a call from the first sequence of instructions of a first program to a second sequence of instructions of a second program; and in response to the call, automatically causing the second sequence of instructions to be debugged by a second debugging application.
Claim 38
Independent Claim 69 words
A method for debugging an application, the method comprising the computer-implemented steps of: while debugging a first sequence of instructions with a first debugging application, detecting a call from the first sequence of instructions of a first program to a second sequence of instructions of a second program; and in response to the call, automatically causing the second sequence of instructions to be debugged by a second debugging application.
Claim 39
Dependent Claim 14 words
The method of claim 35 , wherein the call is a remote procedure call.
Claim 40
Dependent Claim 34 words
The method of claim 35 , wherein debugging the first sequence of instructions includes using an execution object that functions as a programming language subsystem to control execution of the first sequence of instructions.
Claim 41
Dependent Claim 34 words
The method of claim 35 , wherein debugging the second sequence of instructions includes using an execution object that functions as a programming language subsystem to control execution of the second sequence of instructions.
Claim 42
Dependent Claim 108 words
A computer-readable medium carrying one or more sequences of instructions for controlling the execution of applications, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: while a first controlled execution tool executes a first sequence of instructions of a first program, detecting a call from the first sequence of instructions to a second sequence of instructions of a second program; and in response to the call, automatically causing the second sequence of instructions to be executed by a second controlled execution tool that is independent of the first controlled execution tool.
Claim 43
Dependent Claim 108 words
A computer-readable medium carrying one or more sequences of instructions for controlling the execution of applications, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: while a first controlled execution tool executes a first sequence of instructions of a first program, detecting a call from the first sequence of instructions to a second sequence of instructions of a second program; and in response to the call, automatically causing the second sequence of instructions to be executed by a second controlled execution tool that is independent of the first controlled execution tool.
Claim 44
Dependent Claim 57 words
The computer-readable medium of claim 39 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the steps of: while the second controlled execution tool executes the second sequence of instructions, exchanging data between the first controlled execution tool and the second controlled execution tool.
Claim 45
Dependent Claim 68 words
The computer-readable medium of claim 40 , wherein the instructions for exchanging data with the second controlled execution tool further comprise instructions which, when executed by one or more processors, cause the one or more processors to carry out the step of: sending data to the second controlled execution tool, wherein the data is used by the second controlled execution tool when executing the second sequence of instructions.
Claim 46
Dependent Claim 31 words
The computer-readable medium of claim 41 , wherein the data specifies a break event to be detected during execution by the second controlled execution tool of the second sequence of instructions.
Claim 47
Dependent Claim 67 words
The computer-readable medium of claim 40 , wherein the instructions for exchanging data with the second controlled execution tool further comprise instructions which, when executed by one or more processors, cause the one or more processors to carry out the step of: receiving data from the second controlled execution tool, wherein the data describes execution of the second sequence of instructions by the second controlled execution tool.
Claim 48
Dependent Claim 31 words
The computer-readable medium of claim 43 , wherein the data specifies a break event that was detected during execution by the second controlled execution tool of the second sequence of instructions.
Claim 49
Dependent Claim 57 words
The computer-readable medium of claim 39 , wherein: the first controlled execution tool is selected from the group consisting of a first debugger, a first tracing application, and a first profiler application; and the second controlled execution tool is selected from the group consisting of a second debugger, a second tracing application, and a second profiler application.
Claim 50
Dependent Claim 86 words
The computer-readable medium of claim 39 , wherein: the first controlled execution tool executes the first sequence of instructions in a mode selected from the group consisting of controlled execution mode and free running mode; controlled execution mode allows for use of one or more break points while the first controlled execution tool executes the first sequence of instructions; and free running mode does not allow the use of one or more break points while the first controlled execution tool executes the first sequence of instructions.
Claim 51
Dependent Claim 17 words
The computer-readable medium of claim 39 , wherein the first sequence of instructions is platform independent code.
Claim 52
Dependent Claim 38 words
The computer-readable medium of claim 39 , wherein the first sequence of instructions is platform specific code that is designed for execution on a platform upon which the first controlled execution tool executes the first sequence of instructions.
Claim 53
Dependent Claim 30 words
The computer-readable medium of claim 39 , wherein the first sequence of instructions is code that is selected from the group consisting of source code, object code, and executable code.
Claim 54
Dependent Claim 49 words
The computer-readable medium of claim 39 , wherein: the first controlled execution tool executes the first sequence of instructions in a first operating environment; and the second controlled execution tool executes the second sequence of instructions in a second operating environment that is different than the first operating environment.
Claim 55
Dependent Claim 72 words
The computer-readable medium of claim 39 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the step of: receiving input from a user through a user interface, wherein the input is used by the first controlled execution tool when executing the first sequence of instructions and by the second controlled execution tool when executing the second sequence of instructions.
Claim 56
Dependent Claim 67 words
The computer-readable medium of claim 39 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the step of: providing information to a user about the execution of the first sequence of instructions by the first controlled execution tool and about the execution of the second sequence of instructions by the second controlled execution tool.
Claim 57
Dependent Claim 15 words
The computer-readable medium of claim 39 , wherein the call is a remote procedure call.
Claim 58
Dependent Claim 86 words
The computer-readable medium of claim 39 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the steps of: while the second controlled execution tool executes the second sequence of instructions, detecting an additional call from the second sequence of instructions to a third sequence of instructions of a third program; and in response to the additional call, automatically causing the third sequence of instructions to be executed by a third controlled execution tool.
Claim 59
Dependent Claim 89 words
The computer-readable medium of claim 39 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the steps of: prior to the first application executing the first sequence of instructions, instantiating a data structure; the first controlled execution tool using the data structure when the first controlled execution tool executes the first sequence of instructions; and the second controlled execution tool using the data structure when the second controlled execution tool executes the second sequence of instructions.
Claim 60
Dependent Claim 24 words
The computer-readable medium of claim 39 , wherein the first controlled execution tool includes an execution object that executes the first sequence of instructions.
Claim 61
Dependent Claim 42 words
The computer-readable medium of claim 56 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the step of: the execution object controlling execution of the first sequence of instructions.
Claim 62
Dependent Claim 54 words
The computer-readable medium of claim 57 , wherein the instructions for the execution object controlling execution of the first sequence of instructions further comprise instructions which, when executed by one or more processors, cause the one or more processors to carry out the step of: the execution object functioning as a programming language subsystem.
Claim 63
Dependent Claim 92 words
The computer-readable medium of claim 56 , wherein the execution object comprises a command unit, an execution unit, and a call unit, and further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the steps of: the command unit receiving a command to execute the first sequence of instructions; the execution unit interpreting the first sequence of instructions for execution by a processor until a condition is detected; and the call unit that initiating a call when the condition is detected.
Claim 64
Dependent Claim 20 words
The computer-readable medium of claim 59 , wherein the condition is encountering an instruction to perform a remote procedure call.
Claim 65
Dependent Claim 27 words
The computer-readable medium of claim 59 , wherein the condition is encountering a position within the first sequence of instructions that is associated with a break event.
Claim 66
Dependent Claim 27 words
The computer-readable medium of claim 59 , wherein in response to detecting the condition, the first controlled execution tool halts execution of the first sequence of instructions.
Claim 67
Dependent Claim 28 words
The computer-readable medium of claim 62 , wherein in response to detecting an additional condition, the first controlled execution tool resumes execution of the first sequence of instructions.
Claim 68
Dependent Claim 39 words
The computer-readable medium of claim 59 , wherein in response to detecting the condition, the first controlled execution continues execution of the first sequence of instructions to monitor execution of the second sequence of instructions by the second application.
Claim 69
Dependent Claim 24 words
The computer-readable medium of claim 39 , wherein the second controlled execution tool includes an execution object that executes the second sequence of instructions.
Claim 70
Dependent Claim 42 words
The computer-readable medium of claim 65 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the step of: the execution object controlling execution of the second sequence of instructions.
Claim 71
Dependent Claim 54 words
The computer-readable medium of claim 66 , wherein the instructions for the execution object controlling execution of the second sequence of instructions further comprise instructions which, when executed by one or more processors, cause the one or more processors to carry out the step of: the execution object functioning as a programming language subsystem.
Claim 72
Dependent Claim 92 words
The computer-readable medium of claim 65 , wherein the execution object comprises a command unit, an execution unit, and a call unit, and further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the steps of: the command unit receiving a command to execute the second sequence of instructions; the execution unit interpreting the second sequence of instructions for execution by a processor until a condition is detected; and the call unit that initiating a call when the condition is detected.
Claim 73
Dependent Claim 20 words
The computer-readable medium of claim 68 , wherein the condition is encountering an instruction to perform a remote procedure call.
Claim 74
Dependent Claim 27 words
The computer-readable medium of claim 68 , wherein the condition is encountering a position within the second sequence of instructions that is associated with a break event.
Claim 75
Dependent Claim 47 words
The computer-readable medium of claim 68 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to carry out the steps of: receiving information about the execution of the second sequence of instructions when the condition is detected.
Claim 76
Dependent Claim 95 words
A computer-readable medium carrying one or more sequences of instructions for debugging an application, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: while debugging a first sequence of instructions with a first debugging application, detecting a call from the first sequence of instructions of a first program to a second sequence of instructions of a second program; in response to the call, automatically causing the second sequence of instructions to be debugged by a second debugging application.
Claim 77
Dependent Claim 95 words
A computer-readable medium carrying one or more sequences of instructions for debugging an application, wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of: while debugging a first sequence of instructions with a first debugging application, detecting a call from the first sequence of instructions of a first program to a second sequence of instructions of a second program; in response to the call, automatically causing the second sequence of instructions to be debugged by a second debugging application.
Claim 78
Dependent Claim 15 words
The computer-readable medium of claim 72 , wherein the call is a remote procedure call.
Claim 79
Dependent Claim 60 words
The computer-readable medium of claim 72 , wherein the instructions for debugging the first sequence of instructions further comprise instructions which, when executed by one or more processors, cause the one or more processors to carry out the step of using an execution object that functions as a programming language subsystem to control execution of the first sequence of instructions.
Claim 80
Dependent Claim 60 words
The computer-readable medium of claim 72 , wherein the instructions for debugging the second sequence of instructions further comprise instructions which, when executed by one or more processors, cause the one or more processors to carry out the step of using an execution object that functions as a programming language subsystem to control execution of the second sequence of instructions.
Claim 81
Independent Claim 95 words
A system for controlling the execution of two or more sequences of instructions by different applications, comprising: a first controlled execution tool that executes a first sequence of instructions of a first program; a second controlled execution tool that executes a second sequence of instructions of a second program; wherein the first controlled execution tool is configured to detect a call from the first sequence of instructions to the second sequence of instructions; and wherein in response to the call, the second controlled execution tool is configured to automatically execute the second sequence of instructions.
Claim 82
Independent Claim 95 words
A system for controlling the execution of two or more sequences of instructions by different applications, comprising: a first controlled execution tool that executes a first sequence of instructions of a first program; a second controlled execution tool that executes a second sequence of instructions of a second program; wherein the first controlled execution tool is configured to detect a call from the first sequence of instructions to the second sequence of instructions; and wherein in response to the call, the second controlled execution tool is configured to automatically execute the second sequence of instructions.

References Cited (Backward Citations)

US5430876A Cited
US5247676A Cited
US5371746A Cited
US5818445A Cited
US5457797A Cited
US5794047A Cited
US5802371A Cited
US5787245A Cited
US6126328A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2009-01-16 2009-07-18 2010-01-17 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2013-01-16 2013-07-18 2014-01-17 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2017-01-16 2017-07-18 2018-01-17 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag