Efficient monitoring of objects in object-oriented database system which interacts cooperatively with client programs
With the rise of the Semantic Web and Cloud Computing, it is a premise of this blog that the most efficient methods - for the authoring and sharing of trustworthy information within social networks and along complex product supply chains - are far and away object-oriented methods.
The following quoted text is taken from a Hewlett-Packard patent filed in 1988 and issued in 1992. It is entitled Method of monitoring changes in attribute values of object in an object-oriented database and still reads fresh even today.
- "Monitoring [of data] imposes a heavy computational and input/output overhead on a database system, especially if the system is large and a number of values are being monitored at the same time for several different clients. Various methods have been proposed to minimize this overhead.
For example, in one such system an 'alerter' is called if specified boolean conditions are satisfied [see Efficiently Monitoring Relational Databases in references]. A 'retrieve always' mechanism in another system causes queries to be re-executed upon each update to specified relations [see Triggers and inference in database systems in references].
Systems of 'triggers' have been proposed for relational database systems; such triggers typically invoke a database procedure upon updates of user-specified base relations [see System R: A Relational Approach to Database Management in references].
A technique which is somewhat similar to the trigger system is the use of a 'declarative integrity constraint,' in which a proffered update to the database is rejected if specified boolean conditions are not satisfied at commit time [see Implementation of integrity constraints and views by query modification in references].
Another technique, access-oriented programming, is implemented in some object-oriented languages such as 'LOOPS'. A message to set values of instance variables is intercepted by means of a user-provided trigger procedure which may in turn set or display some other value [see Integrating Access-Oriented Programming Into a Multiparadigm Environment in references]. The trigger procedures are dynamically added and removed from running systems to avoid interfering with other system logic [see Active Objects: An Access Oriented Framework for Object-Oriented Languages in references].
Finally, expert systems such as "SYNTEL" and "OPS5" provide a method of monitoring virtual memory data retrieved from persistent data [see Syntel: Knowledge Programming Using Functional Representations in references].
Each of these proposed methods offers certain benefits, primarily in the context of the particular environment for which it was designed. However, there remains a need for an efficient way to monitor objects in an object-oriented database system which interacts cooperatively with client programs."
Reader Comments