Claims Analysis
Total Claims: 50
Claim 1
Independent Claim
92 words
A system for exchanging data between an object-oriented system and a relational system having tables defining a relational model, the system comprising: at least one object class definition defining an object model; an object relational mapping data structure defining a mapping between the object model and the relational model, the object relational mapping data structure produced from a declarative ORM Specification based on an ORM grammar; an exchange unit for translating data from the object model to the relational model and for translating data from the relational model to the object model.
Claim 2
Independent Claim
92 words
A system for exchanging data between an object-oriented system and a relational system having tables defining a relational model, the system comprising: at least one object class definition defining an object model; an object relational mapping data structure defining a mapping between the object model and the relational model, the object relational mapping data structure produced from a declarative ORM Specification based on an ORM grammar; an exchange unit for translating data from the object model to the relational model and for translating data from the relational model to the object model.
Claim 3
Dependent Claim
134 words
The system of claim 1, wherein the exchange unit further comprises: an object call processing unit having inputs and outputs for receiving object calls and beginning the translation of the object calls, an input and an output of the object call processing unit coupled to the object-oriented system; a mapping unit having inputs and outputs for performing the object-relational mapping according to the object relational mapping specification in response to signals from the object call processing unit, the mapping unit having inputs coupled to the object class definition, the object relational mapping data structure, and input and outputs the object call processing unit; and a database interface unit having inputs and outputs, for retrieving and storing data in the relational system, the inputs and outputs coupled to the relational system and the mapping unit.
Claim 4
Dependent Claim
31 words
The system of claim 2 wherein the object call processing unit intercepts Application Programming Interface (API) level calls for object manipulation and executes the API level calls using the mapping unit.
Claim 5
Dependent Claim
112 words
The system of claim 1, wherein the exchange unit further comprises: an object relational mapping specification defining a mapping between the object model and the relational model, the object relational mapping specification including a plurality of a declarative ORM grammar statements; and an ORM Data Structure creation unit having inputs and an output for producing the object relational mapping data structure, the inputs of the ORM Data Structure creation unit coupled to receive the object class definition, the object relational mapping specification, and the database interface unit, the output of the ORM Data Structure creation unit coupled to the input of the mapping unit for providing the object relational mapping data structure.
Claim 6
Dependent Claim
63 words
The system of claim 1, further comprising a schema generator, the schema generator having inputs and outputs for generating a file of commands applicable on the relational system that implement the object call, the input of the schema generator coupled to the object class definition and the object relational mapping data structure, the output of the schema generator coupled to the relational system.
Claim 7
Dependent Claim
194 words
The system of claim 5, wherein the schema generator further comprises: an ORM Data Structure creation unit having inputs and an output for producing the object relational mapping data structure, the inputs of the ORM Data Structure creation unit coupled to receive the object class definition and the object relational mapping specification; a relational schema statements generation unit having an input and an output, the input of the relational schema statements generation unit coupled to the output of the ORM Data Structure creation unit for receiving the object relational mapping data structure, the relational schema statements generation unit producing a file of statements that will produce the relational schema in the relational system; and a relational schema statements application unit having an input and an output for applying statements to the relational system, the input of the relational schema statements application coupled to the output of the relational schema statements generation unit for receiving the file of statements that will produce the relational schema in the relational system, the output of the relational schema statements application unit coupled to the input of the database interface unit for applying the statements on the relational system.
Claim 8
Dependent Claim
15 words
The system of claim 1, wherein the relational system is a relational database management system.
Claim 9
Dependent Claim
67 words
The system of claim 7, further comprising: a plurality of RDBMS Tables stored in the relational system, the plurality of RDBMS Tables setting forth the organization and structure of the data in the relational model in addition to describing certain functionality provided by the relational model; and a plurality of ORMMetadata Tables stored in the relational system, the plurality of ORMMetadata Tables storing additional object relational specifications.
Claim 10
Dependent Claim
26 words
The system of claim 1 further comprising a schema reverse-engineering unit for creating object class definitions and an object relational mapping specification using a database schema.
Claim 11
Dependent Claim
109 words
The system of claim 9, wherein the schema reverse-engineering unit further comprises: an ORM template specification containing names of tables to be used for generating object class definitions; database metadata inquiry unit for accessing the relational system to retrieve metadata including a schema for the relational model and information about the object model, the database metadata inquiry unit coupled to the relational system; and reverse engineering ORM structure creation unit for producing an object relational mapping data structure from metadata, the reverse engineering ORM structure creation unit coupled to the output of the database metadata inquiry unit to receive the metadata and coupled to receive the ORM template specification.
Claim 12
Dependent Claim
42 words
The system of claim 10, wherein the schema reverse-engineering unit further comprises an ORM specification generation unit for producing an ORM specification from the object relational mapping data structure, the ORM specification generation unit coupled to the object relational mapping data structure.
Claim 13
Dependent Claim
45 words
The system of claim 10, wherein the schema reverse-engineering unit further comprises an object class definitions generation unit for producing the object class definitions from the object relational mapping data structure, the object class definitions generation unit coupled to the object relational mapping data structure.
Claim 14
Dependent Claim
45 words
The system of claim 1, further comprising a named sequence generator for generating persistently unique sequence numbers, the named sequence generator having inputs and outputs, the named sequence generator coupled to the relational system for and coupled to the object-oriented system by the exchange unit.
Claim 15
Dependent Claim
53 words
The system of claim 1, wherein the object relational mapping data structure includes a mapping for a stored procedure executable by an engine in the relational system, the stored procedure being invokable by an application program using the exchange unit and creating an object with a value returned by executing the stored procedure.
Claim 16
Dependent Claim
54 words
The system of claim 1, wherein the system further comprises a security unit having inputs and outputs for determining whether a user can use the ORM Specification and a scope for use of the ORM Specification, the security unit coupled to control access to the object relational mapping data structure and the exchange unit.
Claim 17
Independent Claim
116 words
A method for generating an object relational mapping data structure, the method comprising the steps of: determining whether an object relational mapping file has been specified; if an object relational mapping file has been specified, using an object relational mapping specification identified by the object relational mapping file as the identified object relational mapping specification; if an object relational mapping file has not been specified, determining an ORM identification name, retrieving an object relational mapping specification corresponding to the ORM identification name from a relational database, and using the retrieved object relational mapping specification as the identified object relational mapping specification; and creating an object relational mapping data structure using the identified object relational mapping specification.
Claim 18
Independent Claim
116 words
A method for generating an object relational mapping data structure, the method comprising the steps of: determining whether an object relational mapping file has been specified; if an object relational mapping file has been specified, using an object relational mapping specification identified by the object relational mapping file as the identified object relational mapping specification; if an object relational mapping file has not been specified, determining an ORM identification name, retrieving an object relational mapping specification corresponding to the ORM identification name from a relational database, and using the retrieved object relational mapping specification as the identified object relational mapping specification; and creating an object relational mapping data structure using the identified object relational mapping specification.
Claim 19
Dependent Claim
59 words
The method of claim 16 wherein the step of determining an ORM identification name further comprises the steps of: determining whether an ORM identification name has been specified; using the ORM identification name specified if an ORM identification name has been specified; and using a default ORM identification name specified if an ORM identification name not has been specified.
Claim 20
Independent Claim
104 words
A method for generating object relational mapping data structures from an object relational mapping specification includes the steps of: retrieving an object relational mapping specification; creating an instance of a plurality of data structures defining a mapping between an object model and a relational model; overriding default mappings using a SQL map specification; using additional specifications to create additional data structures; retrieving Metadata from a database to enhance the plurality of data structures; matching class information for object-oriented model with the plurality of data structures; generates SQL statements for each class; and generates inserts and update statements to apply SQL statements to the database.
Claim 21
Independent Claim
104 words
A method for generating object relational mapping data structures from an object relational mapping specification includes the steps of: retrieving an object relational mapping specification; creating an instance of a plurality of data structures defining a mapping between an object model and a relational model; overriding default mappings using a SQL map specification; using additional specifications to create additional data structures; retrieving Metadata from a database to enhance the plurality of data structures; matching class information for object-oriented model with the plurality of data structures; generates SQL statements for each class; and generates inserts and update statements to apply SQL statements to the database.
Claim 22
Dependent Claim
55 words
The method of claim 18, wherein the step of creating an instance of a plurality of data structures includes the steps of: creating an instance of DatabaseInfo; creating an instance of Tableinfo and ClassInfo for each class specification; creating instance of CollectionClassInfo for each collection specification; and creating the instances of Attribinfo for each ClassInfo.
Claim 23
Dependent Claim
41 words
The method of claim 19, wherein the step of using additional specifications to create additional data structures includes the steps of: using primary-key and reference-key specifications to create instances of ReferenceKeyinfo; and using the relationship specification to create instances of ComplexAttributeInfo.
Claim 24
Dependent Claim
20 words
The method of claim 20, wherein the step of matching class information comprises the step of matching AttribInfo with ColumnInfo.
Claim 25
Independent Claim
85 words
A method for generating relational schema from an ORM specification and object class definitions, the method comprising the steps of: retrieving an object relational mapping specification; retrieving an object class definitions; creating an instance of a plurality of data structures defining a mapping between an object model and a relational model; overriding default mappings using a SQL map specification; using additional specifications to create additional data structures; and adding relational information to the data structures for each primitive and embedded attribute of the object-oriented model.
Claim 26
Independent Claim
85 words
A method for generating relational schema from an ORM specification and object class definitions, the method comprising the steps of: retrieving an object relational mapping specification; retrieving an object class definitions; creating an instance of a plurality of data structures defining a mapping between an object model and a relational model; overriding default mappings using a SQL map specification; using additional specifications to create additional data structures; and adding relational information to the data structures for each primitive and embedded attribute of the object-oriented model.
Claim 27
Dependent Claim
56 words
The method of claim 22, wherein the step of creating an instances of a plurality of data structures includes the steps of: creating an instance of DatabaseInfo; creating an instance of Tableinfo and ClassInfo for each class specification; creating an instance of CollectionClassInfo for each collection specification; and creating the instances of Attribinfo for each ClassInfo.
Claim 28
Dependent Claim
41 words
The method of claim 23, wherein the step of using additional specifications to create additional data structures includes the steps of: using primary-key and reference-key specifications to create instances of ReferenceKeyinfo; and using the relationship specification to create instances of ComplexAttributeInfo.
Claim 29
Dependent Claim
23 words
The method of claim 23, wherein the step of adding adds ColumnInfo in Tableinfo for each primitive and embedded attribute of each ClassInfo.
Claim 30
Dependent Claim
73 words
The method of claim 23, wherein the step of generating statements for producing and modifying tables in relational database includes the steps of: generating a create table statement and primary key constraints statement in a CREATE file for each Tableinfo; generating unique key and referential key constraint statements in an ALTER file for each ClassInfo; and generating alter table drop constraint statements and drop table statements in a DROP file for each ClassInfo.
Claim 31
Dependent Claim
31 words
The method of claim 26, wherein the step of executing the generated statements on the database includes the step of executing the DROP, CREATE and ALTER files to modify the database.
Claim 32
Independent Claim
71 words
A method for generating an ORM specification and object class definitions from a database schema, the method comprising the steps of: generating object relational mapping data structures using an ORM template specification; performing at least one metadata query to retrieve information for the object relational mapping data structures; generating an object class definition using the object relational mapping data structures; and creating an ORM Specification using object relational mapping data structures.
Claim 33
Independent Claim
71 words
A method for generating an ORM specification and object class definitions from a database schema, the method comprising the steps of: generating object relational mapping data structures using an ORM template specification; performing at least one metadata query to retrieve information for the object relational mapping data structures; generating an object class definition using the object relational mapping data structures; and creating an ORM Specification using object relational mapping data structures.
Claim 34
Dependent Claim
40 words
The method of claim 28 wherein the step of generating object relational mapping data structures comprises the steps of: creating an instance of DatabaseInfo; and creating an instance of ClassInfo and TableInfo for each class in the ORM Template Specification.
Claim 35
Dependent Claim
69 words
The method of claim 28 wherein the step of performing at least one metadata query includes the steps of: performing a metadata query and creation of ColumnInfo and AttributeInfo in the corresponding ClassInfo for each instance of TableInfo; performing a metadata query to get the PrimaryKeyInfo for each ClassInfo; performing a metadata query to get the foreign key information and create the corresponding ComplexAttributeInfo for each instance of ClassInfo.
Claim 36
Dependent Claim
30 words
The method of claim 28 wherein the step of creating an ORM Specification using object relational mapping data structures is done using the DatabaseInfo and all the instances of ClassInfo.
Claim 37
Independent Claim
72 words
A method for responding to an object call using a mapping unit, the method comprising the steps of: determining the type of object call; setting up an access plan data structure according to insert flags and insert details for accessing referenced objects; creating a command statement for accessing relational system; issuing the command statement on relational system; and processing the data from the relational system to provide it to the object-oriented system.
Claim 38
Independent Claim
72 words
A method for responding to an object call using a mapping unit, the method comprising the steps of: determining the type of object call; setting up an access plan data structure according to insert flags and insert details for accessing referenced objects; creating a command statement for accessing relational system; issuing the command statement on relational system; and processing the data from the relational system to provide it to the object-oriented system.
Claim 39
Dependent Claim
55 words
The method of claim 32 wherein the step of creating command statement for accessing relational system further comprises the steps of: retrieving an INSERT statement from ClassInfo; preparing the INSERT statement for the current connection to the database; and finding the value for each AttribInfo and binding it with the column position for each AttribInfo.
Claim 40
Dependent Claim
29 words
The method of claim 33 wherein the step of issuing the command statement on relational system includes issuing the INSERT statement to store top-level objects in the relational system.
Claim 41
Dependent Claim
61 words
The method of claim 34, wherein the step of issuing the INSERT statement to store top-level objects in the relational system, further comprises the steps of: determining whether there are non-null referenced objects to be inserted, creating an additional INSERT statement for each non-null referenced objects if there are non-null referenced objects to be inserted; and issuing the additional INSERT statements.
Claim 42
Independent Claim
196 words
A method for responding to an object call using a mapping unit, the method comprising the steps of: determining the type of object call; setting up an access plan data structure according to flags settings; creating a command statement for accessing relational system by retrieving a base SELECT statement from ClassInfo, testing whether any predicate has been specified; and translating a specified predicate and appending the predicate as a WHERE clause, if a predicate has been specified; issuing the command statement on relational system, the command statement including the SELECT statement having a WHERE clause, if any, against a database of the relational system; and determining whether more rows are available from the database; if more rows are available from the database, fetching a next row and creating an instance of a top-level object; setting attribute values from corresponding column values; creating required foreign key entries and associating them with target class structures; determining whether there are query objects from the subclasses; and if there are additional query objects from the subclasses, repeat the steps of creating command statement for accessing relational system and issuing the command statement on relational system for the objects of subclasses.
Claim 43
Independent Claim
196 words
A method for responding to an object call using a mapping unit, the method comprising the steps of: determining the type of object call; setting up an access plan data structure according to flags settings; creating a command statement for accessing relational system by retrieving a base SELECT statement from ClassInfo, testing whether any predicate has been specified; and translating a specified predicate and appending the predicate as a WHERE clause, if a predicate has been specified; issuing the command statement on relational system, the command statement including the SELECT statement having a WHERE clause, if any, against a database of the relational system; and determining whether more rows are available from the database; if more rows are available from the database, fetching a next row and creating an instance of a top-level object; setting attribute values from corresponding column values; creating required foreign key entries and associating them with target class structures; determining whether there are query objects from the subclasses; and if there are additional query objects from the subclasses, repeat the steps of creating command statement for accessing relational system and issuing the command statement on relational system for the objects of subclasses.
Claim 44
Dependent Claim
27 words
The method of claim 36 wherein the step of determining the type of object call includes the step of determining whether the object call is a query.
Claim 45
Dependent Claim
44 words
The method of claim 36 wherein the step of setting up access plan data structure according to flags settings includes the step of setting up the access plan data structure according to the query flags and query details in order to access referenced objects.
Claim 46
Dependent Claim
80 words
The method of claim 36 wherein the step of processing the data from the relational system to provide it to the object-oriented system includes the steps of: creating a SELECT statement and a WHERE clause using the foreign keys for each referenced target class; retrieving rows and creating target objects and linking them with referencing complex attributes; creating a foreign key entry for each complex attribute of the target class; and returning a list of top-level objects to the application.
Claim 47
Independent Claim
90 words
A method for object streaming comprising the steps of: beginning a new transaction; generating a query call to a database exchange unit for a plurality of objects; returning the predetermined number (X) of objects; processing the returned objects; determining whether more objects are to be retrieved through the current stream of objects; retrieving and processing an additional number (m) of objects if more objects are to be retrieved through the current stream of objects; generating a query close to the database exchange unit; and committing the transaction to the database.
Claim 48
Independent Claim
90 words
A method for object streaming comprising the steps of: beginning a new transaction; generating a query call to a database exchange unit for a plurality of objects; returning the predetermined number (X) of objects; processing the returned objects; determining whether more objects are to be retrieved through the current stream of objects; retrieving and processing an additional number (m) of objects if more objects are to be retrieved through the current stream of objects; generating a query close to the database exchange unit; and committing the transaction to the database.
Claim 49
Dependent Claim
70 words
The method of claim 40 for object streaming further comprising the steps of: determining a query context (QC) for streaming; invoking a query operation on the query context for a predetermined number (X) of objects; saving in the query context, the query cursor for the table of top-level class objects; initiating a query processing to fetch the predetermined number (X) of objects; and saving the query context for this session.
Claim 50
Dependent Claim
92 words
The method of claim 40 wherein the step of retrieving and processing an additional number (m) of objects further comprises the steps of: generating a "query fetch" call for the additional number (m) of objects to the database exchange unit; invoking a query operation on the saved query context for the additional number (m) of objects; retrieving the query cursor saved in the query context; processing the query to fetch the additional number (m) of objects; returning the additional number (m) of objects; and processing the returned additional number (m) of objects.