Object relationship management system

Data processing: database and file management or data structures – Database design – Data structure types

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06772168

ABSTRACT:

COPYRIGHT NOTICE
A portion of the disclosure of this patent contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever
BACKGROUND OF THE INVENTION
The present invention relates generally to the area of computer-aided design and computer-aided manufacturing (CAD/CAM) software, and specifically to a general object relationship management subsystem. More specifically, the present invention relates to a system that maintains data integrity when an object is modified, maintains referential integrity when an object is copied or deleted, defines the guidelines for programming behavior when an object is copied or deleted, encapsulates the details of how relationships are stored, and provides a mechanism for undoing or reversing actions taken on the object model through the relationship management system.
Object Linking and Embedding (OLE) Overview
Within the office environment, one method that has been developed to enable “cutting” and “pasting” of data between software applications is OLE. OLE defines standardized interfaces and functions enabling users to transfer objects supporting the Component Object Model (COM) between software applications. The following section is an abbreviated overview of some of the concepts used in COM and OLE version 2.0, from Microsoft Corporation of Belleview, Wash., and defines some of the terms that will be used in the disclosure. Further information and details about COM and OLE may be obtained from “Inside OLE 2” by Kraig Brockschmidt, 1994, Microsoft Press, hereby incorporated by reference.
An example of cutting and pasting data between software applications is illustrated in FIG.
1
.
FIG. 1
illustrates a two-dimensional object
1
created in a first software application being transferred into a second software application. The first and second software applications (not shown) are commonly specialized software applications such as spread-sheets, word processors, or graphics programs. Once two-dimensional object
1
has been transferred, the second software application can manipulate its own data, two-dimensional object
2
, so that two-dimensional object
2
interacts with two-dimensional object
1
. The resulting document is then output to the user.
OLE provides a set of “interfaces”, or groups of functions, which when combined provide the mechanics enabling the user to transfer data between programs.
FIG. 2
illustrates the convention for representing an OLE interface
10
, for an object
11
and a “consumer”
12
of the object. Object
11
is said to have an “interface implementation”, including interfaces
13
and
14
, that are analogous to an object oriented programming “class.” Interfaces
13
and
14
include member functions
15
and
16
, respectively, that are analogous to object oriented programming class “instances”.
Consumer
12
receives data from object
11
by calling functions of interface
13
and/or interface
14
. In some cases the consumer may only be aware of one of several interfaces available in an object. In response to the function calls, object
11
may return specific data about itself to the consumer
12
. Object
11
, however maintains exclusive control of its own data
17
. As further illustrated in
FIG. 2
, IUnknown is an interface available to all objects, that when queried for specific interfaces, returns pointers to the requested interface. For example, assuming consumer
12
knows which functions are available in interface
14
, consumer
12
can ask for and receive a pointer to interface
14
. Then, once consumer
12
receives a pointer to interface
14
, consumer
12
can call member functions
16
.
CAD/CAM Market Overview
Application software specifically designed for architectural and engineering and mechanical design and fabrication purposes are commonly labeled Computer Aided Design (CAD) and Computer Aided Manufacturing (CAM) software. Some of the standard features of CAD/CAM applications is the ability to create and manipulate three-dimensional objects and to create relationships between three-dimensional objects relative to other three-dimensional objects.
CAD/CAM applications typically fall into generic types, those built upon a standard graphics platform where data and code is shared among many applications and proprietary applications which have very little in common with other CAD/CAM applications. Within the domain of applications built on generic graphics platforms some have crude capabilities for defining relationships between CAD objects. Typically the user must place objects in a location that represents the results of a relationship acting on that object, that is, the user performs the computation external to the application to determine the physical location of the new object. In many proprietary applications, there exist software that manages geometric relationships between CAD objects. Typically, these capabilities (called constraint management capabilities) allow for the definition of geometric constraints on CAD objects and between CAD objects. For example, a typical constraint between two CAD objects is maintaining a given distance between the objects or maintaining one face parallel to another face. One problem with these type of limited constraint management systems is that they only represent spatial relationships and they cannot model or maintain a more general class of relationships.
CAD/CAM Applications and Database Structures
In the past, CAD/CAM software applications included specialized software which allowed for the modeling of a limited set of relationships between objects. In many cases CAD/CAM systems did not model general relationships at all and only allowed the user to define positional relationships which essentially placed objects at specific coordinates in 3D space. In some systems “constraint management” capabilities have been added, however these are restricted to only modeling and managing geometric relationships between objects. Other relationship types that needed to be in the model were handled in an ad hoc manner by the user as CAD/CAM applications did not have generalized relationship modeling and maintenance capabilities.
What is needed is a relationship management subsystem that allows generalized relationships (including geometric relationships commonly present in current CAD/CAM systems) to be defined and that maintains the integrity of the object model.
SUMMARY OF THE INVENTION
The present invention provides enhancements and extensions to OLE for the CAD/CAM environment that are used for a general object relationship management subsystem. The “Object Relationship Management System” discloses extensions to the OLE COM object model for modeling and maintaining relationships that can be modeled between COM objects. The relationship types and COM object types are not limited to CAD/CAM systems by the Object Relationship Management System. The relationship subsystem maintains data integrity when an object is modified, maintains referential integrity when an object is copied or deleted, defines the guidelines for programming behavior when an object is copied or deleted, encapsulates the details of how relationships are stored, and provides a mechanism for undoing or reversing any modification done by a modify, copy, or delete operation and is accomplished through the Object Relationship Management System.


REFERENCES:
patent: 4694404 (1987-09-01), Meagher
patent: 4860201 (1989-08-01), Stolfo et al.
patent: 4864497 (1989-09-01), Lowry et al.
patent: 4905163 (1990-02-01), Garber et al.
patent: 5019961 (1991-05-01), Addesso et al.
patent: 5084824 (1992-01-01), Lam et al.
patent: 5086495 (1992-02-01), Gray et al.
patent: 5187660 (1993-02-01), Civanlar et al.
patent: 5278954 (1994-01-01), Hohlfeld et al.
patent: 5299297 (1994-03-01), Reynolds et al.
patent: 5307452 (1994-04-01), Hahn et al.
patent: 5315537 (19

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Object relationship management system does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Object relationship management system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Object relationship management system will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3308479

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.