CA2398148A1 - System and method for managing bi-directional relationships between objects - Google Patents

System and method for managing bi-directional relationships between objects Download PDF

Info

Publication number
CA2398148A1
CA2398148A1 CA002398148A CA2398148A CA2398148A1 CA 2398148 A1 CA2398148 A1 CA 2398148A1 CA 002398148 A CA002398148 A CA 002398148A CA 2398148 A CA2398148 A CA 2398148A CA 2398148 A1 CA2398148 A1 CA 2398148A1
Authority
CA
Canada
Prior art keywords
directional
objects
peer
proxy
relationships
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002398148A
Other languages
French (fr)
Other versions
CA2398148C (en
Inventor
Gordon James Yorke
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OIC Acquisition I Corp
Original Assignee
OIC Acquisition I Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by OIC Acquisition I Corp filed Critical OIC Acquisition I Corp
Publication of CA2398148A1 publication Critical patent/CA2398148A1/en
Application granted granted Critical
Publication of CA2398148C publication Critical patent/CA2398148C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24562Pointer or reference processing operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • G06F16/2438Embedded query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Abstract

A bi-directional relationship manager is described for setting a new reference value for managing bi-directional relationships between objects in an object model. The bi-directional relationship manager receives bi-directional relationship information indicating interrelation between objects having one or more bi-directional relationships. It creates proxy objects based on the bi-directional relationship information for selected bi-directional relationship objects having bi-directional relationships. A created proxy object receives a new reference value to be set in a selected object relating to a bi-directional relationship. It determines, using one or more of the proxy objects, a new peer value to be set in a peer object which has the bi-directional relationship with the selected object, and sets the new peer value to a proxy object created for the peer object.. It may also update reference values of other related objects that are related to the selected object through one or more bi-directional relationships to reflect the change in references.

Claims (50)

1. A method for setting a new reference value for managing bi-directional relationships between objects in an object model, the method comprising the steps of:
receiving bi-directional relationship information indicating interrelation between objects having one or more bi-directional relationships;
creating proxy objects based on the bi-directional relationship information for selected bi-directional relationship objects having bi-directional relationships;
receiving a new reference value to be set in a selected object relating to a bi-directional relationship;
determining, using one or more of the proxy objects, a new peer value to be set for a peer object which has the bi-directional relationship with the selected object; and setting the new peer value to a proxy object created for the peer object.
2. The method as claimed in claim 1, wherein the bi-directional relationship information receiving step comprises the steps of:
receiving object model meta-data defining relationships between objects in the object model; and retrieving reference value information that represents reference values indicating current peer objects for the bi-directional relationships.
3. The method as claimed in claim 1, wherein the bi-directional relationship information receiving step receives the reference value information from a data storage in which data corresponding to the objects is stored.
4. The method as claimed in claim 1, wherein the bi-directional relationship information receiving step receives the reference value information from a new object that is newly created by a user.
5. The method as claimed in claim 1, wherein the bi-directional relationship information receiving step receives the reference value information that includes a collection of reference values for a bi-directional relationship object which references many peer objects.
6. The method as claimed in claim 1, wherein the proxy object creating step creates proxy objects at uni-directional peer relationships that comprise bi-directional relationships.
7. The method as claimed in claim 6, wherein the proxy object creating step creates a proxy object for each of a pair of one-to-one uni-directional peer relationships that form a one-to-one bi-directional relationship.
8. The method as claimed in claim 6, wherein the proxy object creating step creates a proxy object for each of a one-to-many uni-directional peer relationship and one-to-one uni-directional peer relationships that form a one-to-many bi-directional relationship.
9. The method as claimed in claim 6, wherein the proxy object creating step creates a proxy object for each of uni-directional one-to-many peer relationships that form a many-to-many bi-directional relationship.
10. The method as claimed in claim 1, wherein the new peer value determining step comprises a step of passing the new reference value through related proxy objects that are related to the bi-directional relationship:
11. The method as claimed in claim 1, wherein the new peer value contains a collection of reference values which is determined based on the new reference value.
12. The method as claimed in claim 1, wherein the new reference value represents addition, removal or change of a reference value.
13. The method as claimed in claim 1, wherein the setting step sets a value null when the determining step determines to remove the bi-directional relationship.
14. The method as claimed in claim 1, wherein the setting step sets a new peer value by replacing an old reference value with the new peer value.
15. The method as claimed in claim 1 further comprising steps of:
determining, using one or more of the proxy objects, another new peer value to be set in a new peer object which is referenced by the new reference value set for the selected object; and setting another new peer value to a proxy object created for the new peer object.
16. The method as claimed in claim 1 further comprising steps of:
determining, using one or more of the proxy objects, an updating reference value for a related object that is related to the selected object through one or more original or new bi-directional relationships; and setting the updating reference value in a proxy object created for the related object.
17. The method as claimed in claim 16, wherein the updating reference value determining step and the updating reference value setting step are repeated for all related objects so as to maintain bi-directional relationship integrity.
18. The method as claimed in claim 16, wherein the updating reference value determining step comprises a step of passing the new reference value through related proxy objects that are created for the related objects.
19. A method for creating proxy objects for managing bi-directional relationships between objects in an object model, the method comprising the steps of:
receiving bi-directional relationship information indicating interrelation between objects having one or more bi-directional relationships; and creating proxy objects based on the bi-directional relationship information for selected bi-directional relationship objects having bi-directional relationships at peer relationships that comprise the bi-directional relationships, a created proxy object being capable of receiving a new reference value to be set in a selected object relating to a bi-directional relationship, determining, using one or more of the proxy objects, a new peer value to be set in a peer object which has the bi-directional relationship with the selected object, and setting the new peer value to a proxy object created for the peer object.
20. The method as claimed in claim 19, wherein the bi-directional relationship information receiving step comprises the steps of:
receiving object model meta-data defining relationships between objects in the object model; and retrieving reference value information that represents reference values indicating current peer objects for the bi-directional relationships.
21. The method as claimed in claim 20 further comprising a step of setting proxy reference to the selected bi-directional relationship objects to indicate that the selected bi-directional relationship uses one or more proxy objects.
22. The method as claimed in claim 20, wherein the object model meta-data receiving step comprises a step of receiving attribute information regarding attributes of objects used to hold reference values indicating one or more peer objects which a bi-directional relationship object references; and the retrieving step retrieves the reference value information based on the attribute information.
23. The method as claimed in claim 20, wherein the retrieving step retrieves the reference value information that includes a collection of reference values for a selected bi-directional relationship object which references many peer objects.
24. The method as claimed in claim 20, wherein the retrieving step retrieves the reference value information from a data storage in which data corresponding to the objects is stored.
25. The method as claimed in claim 20, wherein the retrieving step retrieves the reference value information from a new object that is newly created by a user.
26. The method as claimed in claim 19, wherein the proxy object creating step creates proxy objects at uni-directional peer relationships that comprise bi-directional relationships.
27. The method as claimed in claim 26, wherein the proxy object creating step creates a proxy object for each of a pair of one-to-one uni-directional peer relationships that form a one-to-one bi-directional relationship.
28. The method as claimed in claim 26, wherein the proxy object creating step creates a proxy object for each of a one-to-many uni-directional peer relationship and one-to-one uni-directional peer relationships that form a one-to-many bi-directional relationship.
29. The method as claimed in claim 26, wherein the proxy object creating step creates a proxy object for each of uni-directional one-to-many peer relationships that form a many-to-many bi-directional relationship.
30. The method as claimed in claim 19, wherein the new peer value contains a collection of reference values which is determined based on the new reference value.
31. The method as claimed in claim 19, wherein the new reference value represents addition, removal or change of a reference value.
32. A method for maintaining bi-directional relationship integrity between objects in an object model, the method comprising the steps of:
receiving bi-directional relationship information indicating interrelation between objects having one or more bi-directional relationships;
creating proxy objects based on the bi-directional relationship information for selected bi-directional relationship objects having bi-directional relationships;
receiving a new reference value to be set in a selected object relating to a bi-directional relationship;
determining, using one or more of the proxy objects, an updating reference value for a related object that is related to the selected object through one or more original or new bi-directional relationships;
setting the updating reference value in a proxy object created for the related object; and repeating the updating reference value determining step and the updating reference value setting step for all related objects so as to maintain bi-directional relationship integrity.
33. The method as claimed in claim 32, wherein the updating reference value determining step comprises a step of passing the new reference value through related proxy objects that are created for the related objects.
34. A bi-directional relationship manager for setting a new reference value for managing bi-directional relationships between objects in an object model, the bi-directional relationship manager comprising:
a bi-directional relationship information receiver for receiving bi-directional relationship information indicating interrelation between objects having one or more bi-directional relationships; and a proxy object creator for creating proxy objects based on the bi-directional relationship information for selected bi-directional relationship objects having bi-directional relationships at peer relationships that comprise the bi-directional relationships, a created proxy object receiving a new reference value to be set in a selected object relating to a bi-directional relationship, determining, using one or more of the proxy objects, a new peer value to be set in a peer object which has the bi-directional relationship with the selected object, and setting the new peer value to a proxy object created for the peer object.
35. The bi-directional relationship manager as claimed in claim 34, wherein the bi-directional relationship information receiver comprises:
a meta-data receiver for receiving object model meta-data defining relationships between the objects; and a reference value retriever for retrieving reference value information that represents reference values indicating current peer objects for the bi-directional relationships.
36. The bi-directional relationship manager as claimed in claim 35, wherein the meta-data receiver receives attribute information regarding attributes of objects used to hold reference values indicating one or more peer objects which a bi-directional relationship object references; and the reference value retriever retrieves the reference value information based on the attribute information.
37. The bi-directional relationship manager as claimed in claim 35, wherein the reference value retriever retrieves the reference value information that includes a collection of reference values for a selected bi-directional relationship object which references many peer objects.
38. The bi-directional relationship manager as claimed in claim 35, wherein the reference value retriever retrieves the reference value information from a data storage in which data corresponding to the objects is stored.
39. The bi-directional relationship manager as claimed in claim 35, wherein the reference value retriever retrieves the reference value information from a new object that is newly created by a user.
40. The bi-directional relationship manager as claimed in claim 34, wherein the proxy object creating step creates proxy objects at uni-directional peer relationships that comprise the bi-directional relationships.
41. The bi-directional relationship manager as claimed in claim 40, wherein the proxy object creating step creates a proxy object for each of a pair of one-to-one uni-directional peer relationships that form a one-to-one bi-directional relationship.
42. The bi-directional relationship manager as claimed in claim 40, wherein the proxy object creating step creates a proxy object for each of a one-to-many uni-directional peer relationship and one-to-one uni-directional peer relationships that form a one-to-many bi-directional relationship.
43. The bi-directional relationship manager as claimed in claim 40, wherein the proxy object creating step creates a proxy object for each of uni-directional one-to-many peer relationships that form a many-to-many bi-directional relationship.
44. A proxy object for setting a new reference value for managing bi-directional relationships between objects in an object model, the proxy object comprising:
a new value receiver for receiving a new reference value to be set in a selected object relating to a bi-directional relationship;
a new peer value determiner for determining a new peer value to be set in a peer object which has the bi-directional relationship with the selected object, the new peer value determiner using bi-directional relationship information indicating interrelation between objects having one or more bi-directional relationships;
and a new peer value setter for setting the new peer value to a proxy object created for the peer object.
45. The proxy object as claimed in claim 44, wherein the new peer value determiner determines the new peer value by passing the new reference value through related proxy objects that are related to the bi-directional relationship:
46. The proxy object as claimed in claim 44, wherein the new peer value contains a collection of reference values which is determined based on the new reference value.
47. The proxy object as claimed in claim 44, wherein the new reference value represents addition, removal or change of a reference value.
48. Computer media storing the instructions or statements for use in the execution in a computer of a method for creating proxy objects for managing bi-directional relationships between objects in an object model, the method comprising the steps of:
receiving bi-directional relationship information indicating interrelation between objects having one or more bi-directional relationships; and creating proxy objects based on the bi-directional relationship information for selected bi-directional relationship objects having bi-directional relationships at peer relationships that comprise the bi-directional relationships, a created proxy object being capable of receiving a new reference value to be set in a selected object relating to a bi-directional relationship, determining, using one or more of the proxy objects, a new peer value to be set in a peer object which has the bi-directional relationship with the selected object, and setting the new peer value to a proxy object created for the peer object.
49. Electronic signals for use in the execution in a computer of a method for creating proxy objects for managing bi-directional relationships between objects in an object model, the method comprising the steps of:
receiving bi-directional relationship information indicating interrelation between objects having one or more bi-directional relationships; and creating proxy objects based on the bi-directional relationship information for selected bi-directional relationship objects having bi-directional relationships at peer relationships that comprise the bi-directional relationships, a created proxy object being capable of receiving a new reference value to be set in a selected object relating to a bi-directional relationship, determining, using one or more of the proxy objects, a new peer value to be set in a peer object which has the bi-directional relationship with the selected object, and setting the new peer value to a proxy object created for the peer object.
50. A computer program product for use in the execution in a computer of a method for creating proxy objects for managing bi-directional relationships between objects in an object model, the product comprising:
a module for receiving bi-directional relationship information indicating interrelation between objects having one or more bi-directional relationships;
and a module for creating proxy objects based on the bi-directional relationship information for selected bi-directional relationship objects having bi-directional relationships at peer relationships that comprise the bi-directional relationships, a created proxy object being capable of receiving a new reference value to be set in a selected object relating to a bi-directional relationship, determining, using one or more of the proxy objects, a new peer value to be set in a peer object which has the bi-directional relationship with the selected object, and setting the new peer value to a proxy object created for the peer object.
CA002398148A 2001-08-15 2002-08-14 System and method for managing bi-directional relationships between objects Expired - Lifetime CA2398148C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/930,800 US7020659B2 (en) 2001-08-15 2001-08-15 System and method for managing bi-directional relationships between objects
US09/930,800 2001-08-15

Publications (2)

Publication Number Publication Date
CA2398148A1 true CA2398148A1 (en) 2003-02-15
CA2398148C CA2398148C (en) 2009-11-10

Family

ID=25459787

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002398148A Expired - Lifetime CA2398148C (en) 2001-08-15 2002-08-14 System and method for managing bi-directional relationships between objects

Country Status (2)

Country Link
US (1) US7020659B2 (en)
CA (1) CA2398148C (en)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941453B1 (en) * 2003-05-09 2011-05-10 Vignette Software Llc Method and system for deployment of content using proxy objects
US8862578B2 (en) * 2004-08-30 2014-10-14 Sap Ag Categorizing an object
US7562091B2 (en) * 2004-12-16 2009-07-14 Apple Inc. Cascade feature for creating records in a database
US8150893B2 (en) * 2004-12-29 2012-04-03 Alcatel Lucent Method and apparatus for incremental evaluation of schema-directed XML publishing
US9792563B1 (en) * 2007-03-22 2017-10-17 Workday, Inc. Human resources system development
US8539468B2 (en) * 2008-02-18 2013-09-17 International Business Machines Corporation System and methods for replacing software application classes using transparent object adapters
US8200518B2 (en) * 2008-02-25 2012-06-12 Sas Institute Inc. Computer-implemented systems and methods for partial contribution computation in ABC/M models
US8024374B2 (en) * 2009-07-24 2011-09-20 Oracle International Corporation Computer object conversion using an intermediate object
EP2620748A3 (en) * 2012-01-26 2016-04-20 Hyundai Motor Company Device for providing or generating intertwined information related to a space of interest.
EP2629055B1 (en) * 2012-02-15 2019-11-06 Hyundai Motor Company Apparatus for searching for information within a space of interest
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US8843901B2 (en) * 2013-02-12 2014-09-23 Concurix Corporation Cost analysis for selecting trace objectives
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US9021447B2 (en) * 2013-02-12 2015-04-28 Concurix Corporation Application tracing by distributed objectives
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US20130227529A1 (en) 2013-03-15 2013-08-29 Concurix Corporation Runtime Memory Settings Derived from Trace Data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
EP3069241B1 (en) 2013-11-13 2018-08-15 Microsoft Technology Licensing, LLC Application execution path tracing with configurable origin definition
US9922081B2 (en) * 2015-06-11 2018-03-20 Microsoft Technology Licensing, Llc Bidirectional cross-filtering in analysis service systems
US10339488B2 (en) * 2015-12-16 2019-07-02 Sap Se Method and system for the definition of a model

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995003586A1 (en) * 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
WO1995004960A2 (en) 1993-08-02 1995-02-16 Persistence Software, Inc. Method and apparatus for managing relational data in an object cache
JP3596021B2 (en) * 1994-03-04 2004-12-02 三菱電機株式会社 Data link information control method
US5732270A (en) * 1994-09-15 1998-03-24 Visual Edge Software Limited System and method for providing interoperability among heterogeneous object systems
US5956509A (en) * 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
GB2305271A (en) * 1995-09-15 1997-04-02 Ibm Proxy object recovery in an object-oriented environment
JP2001518670A (en) 1997-09-26 2001-10-16 オントス,インコーポレイテッド Objective model mapping and runtime engine for using a relational database with object-oriented software
US6078926A (en) 1997-12-18 2000-06-20 Persistence Software, Inc. Method and apparatus for performing multi-class object fetch in a database management system
US7379994B2 (en) * 2000-10-26 2008-05-27 Metilinx Aggregate system resource analysis including correlation matrix and metric-based analysis
US6865733B2 (en) * 2001-06-21 2005-03-08 International Business Machines Corp. Standardized interface between Java virtual machine classes and a host operating environment
US20030056195A1 (en) * 2001-07-19 2003-03-20 Hunt Joseph R. Code generator

Also Published As

Publication number Publication date
US20030041069A1 (en) 2003-02-27
US7020659B2 (en) 2006-03-28
CA2398148C (en) 2009-11-10

Similar Documents

Publication Publication Date Title
CA2398148A1 (en) System and method for managing bi-directional relationships between objects
CN102110121B (en) A kind of data processing method and system thereof
US8719237B2 (en) Method and apparatus for deleting duplicate data
CN105373541B (en) The processing method and system of the data operation request of database
US8682859B2 (en) Transferring records between tables using a change transaction log
EP1691280A4 (en) Data management system, data management device, data management method, data supply system, data management program, and computer-readable recording medium containing the program
CN106462592A (en) Systems and methods to optimize multi-version support in indexes
US9594794B2 (en) Restoring records using a change transaction log
CN107977396B (en) Method and device for updating data table of KeyValue database
JP4304194B2 (en) File system management apparatus and method
CN106874281B (en) Method and device for realizing database read-write separation
CA2447692A1 (en) Consistent read in a distributed database environment
US20140052813A1 (en) Method and system for identifying storage device
CN108932286A (en) A kind of date storage method, data query method and device
EP1477914A3 (en) Information processing apparatus, method, and program and recording medium
CN107480242A (en) A kind of method and system of establishment file system snapshot tree
CN104956334A (en) Sending a request to a management service
CN110597821A (en) Method and device for changing database table structure
CN105653509A (en) Document processing method and device
CN112015729B (en) Data management device, method and computer storage medium thereof
CN103559898A (en) Method, device and system for playing multi-media file
CN112685557A (en) Visualized information resource management method and device
CN103778218A (en) Cloud computation-based standard information consistency early warning system and method
CN103823834A (en) Device and method for data transmission among Hash join operators
CN104484428B (en) A kind of method, apparatus and system that data are synchronous

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20220815