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

Trace based method for the analysis, benchmarking and tuning of object oriented databases and applications

Assignee: WASHINGTON, University of
•
Filing: 1998-04-17
•
Granted: 2000-11-07
•
Expires: 2018-04-17
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and a method is disclosed for analyzing, benchmarking and tuning an object oriented database (OODB) and applications with a trace based technique. Code associated with the application is augmented with a plurality of instructions that define the production of an application execution trace and a database layout trace during execution of the application with a database. A precompiler or manual or automatic techniques are used to augment source code associated with the application. Alternatively, an instrumentor can be employed to augment object code associated with the application. A simulator employs the database layout trace and the application execution trace to simulate the execution of the application with an OODB selected by the user. The simulator may be ported to different OODBs or platforms. The simulator produces results associated with the simulation for input to a data analyzer. The data analyzer includes a user interface that enables a user to modify the simulation and can display the analysis of the simulation in real time. In another preferred embodiment, the present invention is employed with a distributed object oriented system that is implemented on multiple computers communicating by a network.

Inventors

  • 👤 Henry M. Levy
  • 👤 Ashutosh Tiwary
  • 👤 Vivek R. Narasayya

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 15:23
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3457; G06F11/3461; G06F11/3466; G06F11/3409; G06F11/3428; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944; Y10S707/99945

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 134 words
A method for simulating the execution of an application with an object oriented database management system (OODB), using a computer, comprising the steps of: (a) augmenting code comprising the application, producing augmented code, the augmented code including new instructions that enable the application to produce an application execution trace and a database layout trace; (b) executing the augmented code with a database on the OODB, the execution of the augmented code producing the application execution trace and the database layout trace; and (c) employing a simulator to simulate the execution of the application with the database on the OODB, the simulator employing the database layout trace and the application execution trace to produce a simulation that yields results for analysis, the results being employed to analyze the execution of the application with the database.
Claim 2
Independent Claim 134 words
A method for simulating the execution of an application with an object oriented database management system (OODB), using a computer, comprising the steps of: (a) augmenting code comprising the application, producing augmented code, the augmented code including new instructions that enable the application to produce an application execution trace and a database layout trace; (b) executing the augmented code with a database on the OODB, the execution of the augmented code producing the application execution trace and the database layout trace; and (c) employing a simulator to simulate the execution of the application with the database on the OODB, the simulator employing the database layout trace and the application execution trace to produce a simulation that yields results for analysis, the results being employed to analyze the execution of the application with the database.
Claim 3
Dependent Claim 59 words
The method of claim 1, wherein the step of augmenting further comprises the steps of: (a) augmenting source code comprising the application prior to augmentation, to produce augmented source code; and (b) compiling the augmented source code, producing augmented object code that is linked to a library for recording traces, the augmented object code being executable by a computer.
Claim 4
Dependent Claim 34 words
The method of claim 2, wherein the step of augmenting the source code further comprises at least one of precompiling, manually augmenting, and automatically augmenting the source code to produce the augmented source code.
Claim 5
Dependent Claim 44 words
The method of claim 2, further comprising the steps of: (a) analyzing the source code to determine parameters associated with augmenting the source code; and (b) providing the parameters for precompilation, and thereby employing the parameters in the production of the augmented source code.
Claim 6
Dependent Claim 25 words
The method of claim 4, wherein the parameters comprise at least one of a persistent class set, a persistent-transient set, and a class structure description.
Claim 7
Dependent Claim 37 words
The method of claim 2, wherein the step of augmenting employs different parameters in the production of augmented source code, the parameters comprising a set of methods to instrument and a map of database calls to instrument.
Claim 8
Dependent Claim 41 words
The method of claim 2, wherein the compiler employs different parameters in the production of the augmented object code, said different parameters including at least one of a procedure describing database roots, a trace recording library, and a trace timing library.
Claim 9
Dependent Claim 33 words
The method of claim 1, wherein the step of augmenting the code further comprises the step of instrumenting object code comprising the application, producing the augmented code that is executed by the computer.
Claim 10
Dependent Claim 29 words
The method of claim 1, wherein an object address in the application execution trace and the database layout trace are converted from a database address to a logical address.
Claim 11
Dependent Claim 25 words
The method of claim 1, further comprising the step of combining the address execution trace and the database layout trace into a graph data structure.
Claim 12
Dependent Claim 26 words
The method of claim 10, further comprising the step of modifying the contents of the graph data structure in accordance with an input by a user.
Claim 13
Dependent Claim 46 words
The method of claim 11, further comprising the steps of: (a) generating a modified database layout trace and a modified application execution trace with the contents of the graph data structure; and (b) enabling a user to modify at least one parameter associated with the simulation.
Claim 14
Dependent Claim 43 words
The method of claim 12, wherein the modifications to the database layout trace and the application execution trace modify the results produced by the simulation, producing modified results, the modified results enabling the execution of the application with the modifications to be evaluated.
Claim 15
Dependent Claim 32 words
The method of claim 13, further comprising the step of enabling the simulation to be rerun after further modifications have been made, producing results from the simulation for different conditions, for comparison.
Claim 16
Dependent Claim 18 words
The method of claim 14, wherein the further modifications are based on results previously produced by the simulation.
Claim 17
Dependent Claim 53 words
The method of claim 12, further comprising the steps of: (a) manipulating the application execution trace in accord with an input provided by the user; and (b) generating a modified application execution trace that includes a modification defined by the input; and (c) employing the modified application execution trace to produce the simulation.
Claim 18
Dependent Claim 18 words
The method of claim 16, further comprising the step of simulating the application execution trace to produce results.
Claim 19
Dependent Claim 22 words
The method of claim 17, further comprising the step of mapping calls to the OODB to another OODB selected by the user.
Claim 20
Dependent Claim 14 words
The method of claim 17, wherein the step of displaying occurs in real time.
Claim 21
Dependent Claim 53 words
The method of claim 12, further comprising the steps of: (a) manipulating the database layout trace in accord with an input provided by the user; and (b) generating a modified database layout trace that includes a modification defined by the input; and (c) employing the modified database layout trace to produce the simulation.
Claim 22
Dependent Claim 25 words
The method of claim 20, wherein the input provided by the user indicates that a different database clustering is to be used for the simulation.
Claim 23
Dependent Claim 27 words
The method of claim 1, further comprising the steps of enabling the user to select another OODB for simulation, and running the simulation on the other OODB.
Claim 24
Dependent Claim 33 words
The method of claim 22, further comprising the step of producing other results by running the simulation on the other OODB, for comparison to the results from running the simulation on the OODB.
Claim 25
Dependent Claim 77 words
The method of claim 22, wherein the step of running the simulation on the other OODB further comprises the steps of: (a) generating a layout for each object in a simulation database created on the other OODB from the database layout trace, the database layout trace being used to determine a structure and a disposition for each object in the other OODB; and (b) simulating the application execution trace with the simulation database on the other OODB.
Claim 26
Dependent Claim 26 words
The method of claim 1, wherein the OODB is produced by an object oriented database management system (OODBMS), the OODBMS comprising one of Texas and ObjectStore.
Claim 27
Dependent Claim 19 words
The method of claim 1, further comprising the step of generating a simulation database from the database layout trace.
Claim 28
Dependent Claim 34 words
The method of claim 26, wherein the simulation database produces parameters that include database names, database roots, a logical address to database address mapping, and results associated with the generation of the simulation database.
Claim 29
Dependent Claim 33 words
The method of claim 26, further comprising the step of changing the simulation database, changes to the simulation database comprising at least one of adding, deleting, and modifying objects in the simulation database.
Claim 30
Dependent Claim 33 words
The method of claim 26, further comprising the step of comparing the results associated with at least one of the application execution trace and with the database layout trace to a previous result.
Claim 31
Dependent Claim 16 words
The method of claim 26, further comprising the step of displaying the analysis to the user.
Claim 32
Dependent Claim 36 words
The method of claim 1, further comprising the step of producing an analysis of the simulation, enabling the user to analyze results associated with the application execution trace and results associated with the database layout trace.
Claim 33
Dependent Claim 36 words
The method of claim 1, wherein the application execution trace has a data structure that comprises one or more of an object address, a type, a method, an entry time stamp, and an exit time stamp.
Claim 34
Dependent Claim 38 words
The method of claim 1, wherein the database layout trace has a data structure that includes one or more of an object address, a type, a size, an offset, an entry time stamp, and an exit time stamp.
Claim 35
Dependent Claim 14 words
A storage medium having processor-executable instructions for performing the steps recited in claim 1.
Claim 36
Independent Claim 172 words
A method for simulating the execution of an application with an object oriented database management system (OODB), comprising the steps of: (a) augmenting code comprising the application, producing augmented code, the augmented code including new instructions that enable the application to produce an application execution trace and a database layout trace; (b) executing the augmented code with a database on the OODB, the execution of the augmented code producing the application execution trace and the database layout trace; (c) employing a simulator to simulate the execution of the application with the database on the OODB, the simulator employing the database layout trace and the application execution trace to produce a simulation that yields results for analysis, the results being employed to analyze the execution of the application with the database; and (d) enabling another simulation of the execution of the application on another OODB selected from a plurality of different OODB, so that results are analyzed for comparison between the simulation on the OODB and the other simulation on the other OODB.
Claim 37
Independent Claim 172 words
A method for simulating the execution of an application with an object oriented database management system (OODB), comprising the steps of: (a) augmenting code comprising the application, producing augmented code, the augmented code including new instructions that enable the application to produce an application execution trace and a database layout trace; (b) executing the augmented code with a database on the OODB, the execution of the augmented code producing the application execution trace and the database layout trace; (c) employing a simulator to simulate the execution of the application with the database on the OODB, the simulator employing the database layout trace and the application execution trace to produce a simulation that yields results for analysis, the results being employed to analyze the execution of the application with the database; and (d) enabling another simulation of the execution of the application on another OODB selected from a plurality of different OODB, so that results are analyzed for comparison between the simulation on the OODB and the other simulation on the other OODB.
Claim 38
Independent Claim 180 words
A system for simulating the execution of an application with an object oriented database management system (OODB), comprising: (a) a processor; and (b) a memory being coupled to the processor, the memory storing a plurality machine instructions that cause the processor to perform a plurality of logical steps when implemented by the processor, said logical steps including: (i) augmenting code comprising the application, producing augmented code, the augmented code including new instructions that enable the application to produce an application execution trace and a database layout trace when executed by the processor; (ii) executing the augmented code on the processor, with a database on the OODB, the execution of the augmented code producing the application execution trace and the database layout trace; and (iii) causing the processor to act as a simulator to simulate the execution of the application with the database on the OODB, the simulator employing the database layout trace and the application execution trace to produce a simulation that yields results for analysis, the results being employed to analyze the execution of the application with the database.
Claim 39
Independent Claim 180 words
A system for simulating the execution of an application with an object oriented database management system (OODB), comprising: (a) a processor; and (b) a memory being coupled to the processor, the memory storing a plurality machine instructions that cause the processor to perform a plurality of logical steps when implemented by the processor, said logical steps including: (i) augmenting code comprising the application, producing augmented code, the augmented code including new instructions that enable the application to produce an application execution trace and a database layout trace when executed by the processor; (ii) executing the augmented code on the processor, with a database on the OODB, the execution of the augmented code producing the application execution trace and the database layout trace; and (iii) causing the processor to act as a simulator to simulate the execution of the application with the database on the OODB, the simulator employing the database layout trace and the application execution trace to produce a simulation that yields results for analysis, the results being employed to analyze the execution of the application with the database.

References Cited (Backward Citations)

US5471629A Cited
US5437027A Cited
US5701471A Cited
US5819066A Cited
US5794256A Cited
US6006224A Cited
US5923867A Cited
US5930497A Cited
US6002872A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-11-07 2004-05-08 2004-11-07 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-11-07 2008-05-08 2008-11-07 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-11-07 2012-05-08 2012-11-07 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag