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

Modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon

Assignee: Blue Yonder Group Inc
•
Filing: 1997-10-16
•
Granted: 2002-04-16
•
Expires: 2017-10-16
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for modeling of object-oriented database structures, translation to relational database structures, and dynamic searches thereon. The user may create, edit and manipulate a user's object database (dynamically translated into a set of relational database structures), to create, edit and manipulate objects for that object database (dynamically translated into data for those relational database structures), and to create, edit and manipulate queries to be applied to that object database (dynamically translated into queries to be applied to those relational database structures). A meta-model of the user's object database, which is itself an object database, and which has itself been translated into a set of relational database structures for manipulation by a relational database engine. The meta-model comprises a set of classes, objects, and relationships between classes which model the classes and relationships between classes of the system. Each of these classes may comprise a set of searchable properties, and each of these relationships may comprise an inheritance relationship (between a base class and a derived class) or a data-model relationship (such as a one-to-one, one-to-many, or many-to-many relationship). The data model of the user's object database is modeled by actual objects in the meta-model, and editing or manipulating the user's object database is modeled by creating, modifying, or deleting objects in the meta-model. The meta-model also models itself, in the same manner as it models the user's object database, and may be manipulated in the same manner as the user's object database.

Inventors

  • 👤 James Althoff
  • 👤 Seung Lee
  • 👤 Ken Belanger
  • 👤 Nagendra Prasad
  • 👤 Brian McGinnis
  • 👤 Floyd McWilliams
  • 👤 Yong Zhang
  • 👤 Ravi Koushik

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 09:17
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/25; G06F16/258; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99943; Y10S707/99944

Claims Analysis

Total Claims: 44
Claim 1
Independent Claim 241 words
A system, comprising means for receiving a description of a user's object database, said user's object database having a set of classes and a set of relationships between pairs of said classes; means for creating a model of said user's object database in response to said description, said model persisting after creation of a relational database and including a correspondence between said user's object database and said relational database; memory having space for storing said model; means for creating said relational database in response to said model, said relational database having a set of tables, keys for said tables, and relationships between pairs of said tables implementing said classes, objects and relationships of said user's object database; means for receiving a set of data objects for said user's object database after creation of said relational database; means for translating said set of data objects for said user's object database into a set of records for said relational database in response to said model, and for inserting said set of records into said relational database; means for receiving updates to said description of a user's object database after creation of said relational database; means for updating said model in response to said updates to provide an updated model; means for updating said relational database in response to said updated model; and means for updating said set of records for said relational database in response to said means for updating said relational database.
Claim 2
Independent Claim 241 words
A system, comprising means for receiving a description of a user's object database, said user's object database having a set of classes and a set of relationships between pairs of said classes; means for creating a model of said user's object database in response to said description, said model persisting after creation of a relational database and including a correspondence between said user's object database and said relational database; memory having space for storing said model; means for creating said relational database in response to said model, said relational database having a set of tables, keys for said tables, and relationships between pairs of said tables implementing said classes, objects and relationships of said user's object database; means for receiving a set of data objects for said user's object database after creation of said relational database; means for translating said set of data objects for said user's object database into a set of records for said relational database in response to said model, and for inserting said set of records into said relational database; means for receiving updates to said description of a user's object database after creation of said relational database; means for updating said model in response to said updates to provide an updated model; means for updating said relational database in response to said updated model; and means for updating said set of records for said relational database in response to said means for updating said relational database.
Claim 3
Dependent Claim 42 words
A system as in claim 1 , comprising a relational database server, said server comprising means for accepting a set of relational database commands; wherein said means for translating and for inserting comprises means for generating a set of relational database commands.
Claim 4
Dependent Claim 51 words
A system as in claim 1 , wherein said means for inserting comprises means for generating records for said tables; means for generating values for said keys for said records; and means for causing said values for said keys for said records to correspond to said relationships between pairs of tables.
Claim 5
Dependent Claim 39 words
A system as in claim 1 , wherein said means for inserting comprises means for maintaining said tables, keys for said tables, and said relationships between pairs of tables while inserting said set of records into said relational database.
Claim 6
Dependent Claim 31 words
A system as in claim 1 , wherein said means for updating said model is operative to update said model after said relational database includes records corresponding to said data objects.
Claim 7
Dependent Claim 96 words
A system as in claim 1 , wherein said set of classes includes at least a first class and a second class, said second class being a subclass of said first class; said set of data objects including a data object in said second class; said set of tables including a first table corresponding to said first class and a second table corresponding to said second class; wherein said data object in said second class corresponds to a composite of a first record in said first table and to a second record in said second table.
Claim 8
Independent Claim 238 words
A system, comprising means for receiving a description of a user's object database, said user's object database having a set of classes and a set of relationships between pairs of said classes; means for creating a model of said user's object database in response to said description, said model comprising an object database and a correspondence with a corresponding set of relational tables, said relational tables having a first class of objects corresponding to a first relational table for which each row represents a class in the user's object database, an object of said first class corresponding to each said one class in said user's object database and being represented by a row in said first relational table, a second class of objects corresponding to a second relational table for which each row represents a relationship in the user's object database, and an object of said second class corresponding to each said one relationship in said user's object database and being represented by a row in said second relational table; and means for creating a relational database in response to said model, said relational database having a set of tables each one of which corresponds to one said class in said user's object database, keys for said tables including a key for each said table representing a unique object identifier, and relationships between pairs of said tables implementing said classes, objects and relationships of said user's object database.
Claim 9
Independent Claim 238 words
A system, comprising means for receiving a description of a user's object database, said user's object database having a set of classes and a set of relationships between pairs of said classes; means for creating a model of said user's object database in response to said description, said model comprising an object database and a correspondence with a corresponding set of relational tables, said relational tables having a first class of objects corresponding to a first relational table for which each row represents a class in the user's object database, an object of said first class corresponding to each said one class in said user's object database and being represented by a row in said first relational table, a second class of objects corresponding to a second relational table for which each row represents a relationship in the user's object database, and an object of said second class corresponding to each said one relationship in said user's object database and being represented by a row in said second relational table; and means for creating a relational database in response to said model, said relational database having a set of tables each one of which corresponds to one said class in said user's object database, keys for said tables including a key for each said table representing a unique object identifier, and relationships between pairs of said tables implementing said classes, objects and relationships of said user's object database.
Claim 10
Dependent Claim 42 words
A system as in claim 7 , comprising a relational database server, said server comprising means for accepting a set of relational database commands; wherein said means for creating a relational database comprises means for generating a set of relational database commands.
Claim 11
Dependent Claim 27 words
A system as in claim 7 , wherein said server comprises means for accepting a set of relational database commands from a second source of said commands.
Claim 12
Independent Claim 149 words
A system, comprising means for receiving a description of a user's object database, said user's object database having a set of classes and a set of relationships between pairs of said classes; means for creating a model of said user's object database in response to said description, said model persisting after creation of a relational database and including a correspondence between said user's object database and said relational database; means for creating said relational database in response to said model, said relational database having a set of tables, keys for said tables, and relationships between pairs of said tables implementing said classes, objects and relationships of said user's object database; and means for receiving updates to said description after creating said relational database, for updating said model in response to said updates to generate an updated model, and for updating said relational database in response to said updated model.
Claim 13
Independent Claim 149 words
A system, comprising means for receiving a description of a user's object database, said user's object database having a set of classes and a set of relationships between pairs of said classes; means for creating a model of said user's object database in response to said description, said model persisting after creation of a relational database and including a correspondence between said user's object database and said relational database; means for creating said relational database in response to said model, said relational database having a set of tables, keys for said tables, and relationships between pairs of said tables implementing said classes, objects and relationships of said user's object database; and means for receiving updates to said description after creating said relational database, for updating said model in response to said updates to generate an updated model, and for updating said relational database in response to said updated model.
Claim 14
Dependent Claim 29 words
A system as in claim 10 , comprising means for receiving a triggering signal, wherein said means for updating said relational database operates in response to said triggering signal.
Claim 15
Dependent Claim 37 words
A system as in claim 10 , wherein said means for creating a model and for updating said model is operative after said relational database includes records corresponding to said objects in said said user's object database.
Claim 16
Dependent Claim 63 words
A system as in claim 10 , wherein said means for creating a relational database and for updating said relational database is responsive to said means for creating a model and for updating said model so as to update said objects and relationships in said relational database after said relational database includes records corresponding to said objects in said said user's object database.
Claim 17
Independent Claim 154 words
A system, comprising means for receiving a description of a user's object database, said user's object database having a set of classes and a set of relationships between pairs of said classes; means for creating and storing a model of said user's object database in response to said description, said model persisting after creation of a relational database and including a correspondence between said user's object database and said relational database; means for creating a relational database in response to said model, said relational database having a set of tables, keys for said tables, and relationships between pairs of said tables implementing said classes, objects and relationships of said user's object database; means for receiving a description of a query against said user's object database after creation of said relational database; and means for translating said query, responsive to said stored model, into a relational database query suitable for application to said relational database.
Claim 18
Independent Claim 154 words
A system, comprising means for receiving a description of a user's object database, said user's object database having a set of classes and a set of relationships between pairs of said classes; means for creating and storing a model of said user's object database in response to said description, said model persisting after creation of a relational database and including a correspondence between said user's object database and said relational database; means for creating a relational database in response to said model, said relational database having a set of tables, keys for said tables, and relationships between pairs of said tables implementing said classes, objects and relationships of said user's object database; means for receiving a description of a query against said user's object database after creation of said relational database; and means for translating said query, responsive to said stored model, into a relational database query suitable for application to said relational database.
Claim 19
Dependent Claim 30 words
A system as in claim 14 , comprising means for applying said relational database query to said relational database; and means for presenting an output of said means for applying.
Claim 20
Independent Claim 169 words
A method for searching a database, said database having a plurality of classes, at least one searchable property associated with one of said classes, and at least one data-model relationship between a pair of said classes, said method, comprising the steps of creating a meta-model of said database, said meta-model persisting after creation of a relational database, and relating at least one of said plurality of classes with a corresponding relational table of said relational database in a dynamic correspondence; specifying a query model in response to said meta-model, said query model comprising a first class and at least one searchable property associated with said first class, a second class related to said first class by a first said data-model relationship, and at least one searchable property for said second class; translating said query model into a set of relational database commands in response to said meta-model; applying said relational database commands to a relational database and retrieving a query result in response thereto; and displaying said query result.
Claim 21
Independent Claim 169 words
A method for searching a database, said database having a plurality of classes, at least one searchable property associated with one of said classes, and at least one data-model relationship between a pair of said classes, said method, comprising the steps of creating a meta-model of said database, said meta-model persisting after creation of a relational database, and relating at least one of said plurality of classes with a corresponding relational table of said relational database in a dynamic correspondence; specifying a query model in response to said meta-model, said query model comprising a first class and at least one searchable property associated with said first class, a second class related to said first class by a first said data-model relationship, and at least one searchable property for said second class; translating said query model into a set of relational database commands in response to said meta-model; applying said relational database commands to a relational database and retrieving a query result in response thereto; and displaying said query result.
Claim 22
Dependent Claim 119 words
A method as in claim 16 , wherein said relational database comprises a set of relational tables; and wherein said step of translating comprises the steps of identifying a first relational table associated with said first class and a second relational table associated with said second class; first generating at least one database command to join said first relational table and said second relational table to produce a relational join, responsive to a data-model relationship between said first class and said second class; identifying a first column associated with said first searchable property; and second generating at least one database command to test records of said relational join in said column, responsive to a test for said searchable property.
Claim 23
Dependent Claim 127 words
A method as in claim 16 , wherein said relational database comprises a set of relational tables; and wherein said step of translating comprises the steps of identifying a first relational table associated with said first class and a second relational table associated with a base class of said first class; first generating at least one database command to join said first relational table and said second relational table to produce a relational join, responsive to an inheritance relationship between said first class and said base class of said first class; identifying a first column associated with said first searchable property; and second generating at least one database command to test records of said relational join in said column, responsive to a test for said searchable property.
Claim 24
Dependent Claim 44 words
A method as in claim 16 , wherein said step of translating comprises generating a set of database commands to perform a query represented by said query model; and optimizing said set of database commands to perform a faster query of said relational database.
Claim 25
Independent Claim 235 words
A method for searching an object-oriented database, said database having a plurality of classes, at least one searchable property associated with one of said classes, and at least one data-model relationship between a pair of said classes, said classes searchable property, and data-model relationship being described in a meta-model of said object-oriented database, said meta-model persisting after creation of a corresponding relational database, said method, comprising the steps of presenting a first list of said classes; receiving a selection of a first class from said first list; receiving a selection of a searchable property associated with said first class; presenting a second list of said classes, said second list comprising classes having a base class related to said first class by a said data-model relationship; receiving a selection of a second class from said second list; receiving a selection of a searchable property associated with said second class; generating a set of relational database commands, said set of relational database commands being effective to present a query to said relational database corresponding to said object-oriented database, said query having the semantic effect of said selections of said first class, said first searchable property, said second class, and said second searchable property for both said object-oriented database and for said relational database; applying said set of relational database commands to said relational database and retrieving a query result in response thereto; and displaying said query result.
Claim 26
Independent Claim 235 words
A method for searching an object-oriented database, said database having a plurality of classes, at least one searchable property associated with one of said classes, and at least one data-model relationship between a pair of said classes, said classes searchable property, and data-model relationship being described in a meta-model of said object-oriented database, said meta-model persisting after creation of a corresponding relational database, said method, comprising the steps of presenting a first list of said classes; receiving a selection of a first class from said first list; receiving a selection of a searchable property associated with said first class; presenting a second list of said classes, said second list comprising classes having a base class related to said first class by a said data-model relationship; receiving a selection of a second class from said second list; receiving a selection of a searchable property associated with said second class; generating a set of relational database commands, said set of relational database commands being effective to present a query to said relational database corresponding to said object-oriented database, said query having the semantic effect of said selections of said first class, said first searchable property, said second class, and said second searchable property for both said object-oriented database and for said relational database; applying said set of relational database commands to said relational database and retrieving a query result in response thereto; and displaying said query result.
Claim 27
Dependent Claim 28 words
A method as in claim 20 , wherein said set of relational database commands comprise at least one table join responsive to a data-model relationship in said database.
Claim 28
Dependent Claim 28 words
A method as in claim 20 , wherein said set of relational database commands comprise at least one table join responsive to an inheritance relationship in said database.
Claim 29
Dependent Claim 51 words
A method as in claim 20 , wherein said database comprises at least one searchable property associated with a first unit of measurement; and said set of relational database commands comprise at least one comparison responsive to a conversion of said first unit of measurement to a second unit of measurement.
Claim 30
Dependent Claim 47 words
A method as in claim 20 , wherein said step of generating is responsive to a meta-model of said database, said meta-model comprising a first class of objects representative of classes of said database and a second class of objects representative of searchable properties of said database.
Claim 31
Independent Claim 174 words
A system, including a user interface disposed to receive information descriptive of an object-oriented database; a meta-model representative of a correspondence between said object-oriented database and a relational database, and persisting after creation of said relational database; a translator, responsive to said meta-model, from said object-oriented database to said relational database; wherein said user interface is capable of receiving searchable information for entry into said object-oriented database, and said translator is capable of translating, responsive to said meta-model, said searchable information into rows in said relational database; wherein said user interface is capable of receiving information descriptive of changes to said object-oriented database after said rows have been included in said relational database; and said translator is capable of translating, responsive to said meta-model, said changes into changes in said relational database; and wherein said user interface is capable of receiving information descriptive of searches on said searchable information in said object-oriented database, and said translator is capable of translating, responsive to said meta-model, said searches into queries for application to said relational database.
Claim 32
Independent Claim 174 words
A system, including a user interface disposed to receive information descriptive of an object-oriented database; a meta-model representative of a correspondence between said object-oriented database and a relational database, and persisting after creation of said relational database; a translator, responsive to said meta-model, from said object-oriented database to said relational database; wherein said user interface is capable of receiving searchable information for entry into said object-oriented database, and said translator is capable of translating, responsive to said meta-model, said searchable information into rows in said relational database; wherein said user interface is capable of receiving information descriptive of changes to said object-oriented database after said rows have been included in said relational database; and said translator is capable of translating, responsive to said meta-model, said changes into changes in said relational database; and wherein said user interface is capable of receiving information descriptive of searches on said searchable information in said object-oriented database, and said translator is capable of translating, responsive to said meta-model, said searches into queries for application to said relational database.
Claim 33
Dependent Claim 33 words
A system as in claim 25 , wherein said information descriptive of searches is responsive to searches defined by user after said searchable information has been translated into changes in said relational database.
Claim 34
Dependent Claim 36 words
A system as in claim 25 , wherein said user interface is capable of receiving information descriptive of changes to said searchable information after said searchable information has been translated into changes in said relational database.
Claim 35
Independent Claim 90 words
A system, including a user interface disposed to interactively receive information descriptive of an object-oriented database; a meta-model representative of a correspondence between said object-oriented database and a relational database, and persisting after creation of said relational database; a translator, responsive to said meta-model, from said object-oriented database to said relational database; wherein said user interface is capable of interactively receiving searchable information for entry into said object-oriented database, and said translator is capable of dynamically translating, responsive to said meta-model, said searchable information into rows in said relational database.
Claim 36
Independent Claim 90 words
A system, including a user interface disposed to interactively receive information descriptive of an object-oriented database; a meta-model representative of a correspondence between said object-oriented database and a relational database, and persisting after creation of said relational database; a translator, responsive to said meta-model, from said object-oriented database to said relational database; wherein said user interface is capable of interactively receiving searchable information for entry into said object-oriented database, and said translator is capable of dynamically translating, responsive to said meta-model, said searchable information into rows in said relational database.
Claim 37
Dependent Claim 54 words
A system as in claim 28 , wherein said user interface is capable of interactively receiving information descriptive of changes to said object-oriented database after said rows have been included in said relational database; and said translator is capable of dynamically translating, responsive to said meta-model, said changes into changes in said relational database.
Claim 38
Dependent Claim 50 words
A system as in claim 28 , wherein said user interface is capable of interactively receiving information descriptive of searches on said searchable information in said object-oriented database, and said translator is capable of dynamically translating, responsive to said meta-model, said searches into queries for application to said relational database.
Claim 39
Dependent Claim 26 words
A system as in claim 28 , wherein said meta-model includes a set of predefined classes for modeling access control to aspects of said object-oriented database.
Claim 40
Dependent Claim 29 words
A system as in claim 28 , wherein said meta-model includes a set of predefined classes for modeling attachment of graphics and text to objects in said object-oriented database.
Claim 41
Dependent Claim 96 words
A system as in claim 28 , wherein said meta-model includes a meta-model object database having a first class representative of classes in said object-oriented database, and a second class representative of relationships in said object-oriented database; a meta-model relational database corresponding to said meta-model object database, having a first table corresponding to said first class and having a row in said first table for each class in said object-oriented database, and having a second table corresponding to said second class and having a row in said second table for each relationship in said object-oriented database.
Claim 42
Dependent Claim 54 words
A system as in claim 33 , wherein said meta-model object database includes a third class representative of searchable properties in said object-oriented database; and said meta-model relational database includes a third table corresponding to said third class and having a row in said third table for each searchable property in said object-oriented database.
Claim 43
Dependent Claim 104 words
A system as in claim 28 , wherein said relational database includes one table for each class in said object-oriented database; each said table includes an identifier column for a unique object identifier for each object in said table; each inheritance relationship in said object-oriented database is represented by said unique object identifier appearing in said identifier column for a parent table and for a child table; and each data-model relationship in said object-oriented database is represented by said unique object identifier appearing in said identifier column for a first table and in a column other than said identifier column for a second table.
Claim 44
Dependent Claim 49 words
A system as in claim 37, wherein each searchable property of a class in said object-oriented database is represented by a column in said table for said class; and each object in a class in said object-oriented database is represented by a row in said table for said class.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-04-15 2005-10-15 2006-04-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-04-15 2009-10-15 2010-04-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-04-15 2013-10-15 2014-04-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag