Method of monitoring changes in attribute values of object in an object-oriented database
AssigneeHewlett-Packard Company
InventorTore J. M. Risch
Life of this patent
Estimating the term…
Abstract
A method of monitoring objects in an interactive object-oriented database system. Any of a plurality of client programs can request monitoring of attributes of objects in the database. A record is kept of update transactions initiated by a client. When the client commits the changes, any client which has requested monitoring is notified of any change in the value of an attribute being monitored at the request of that client. The notification interrupts the client and invokes a predesignated client procedure. Overhead is minimized by creating partial view materialization paths and defining monitors ahead of time and by localizing the monitoring.
Claims21
In a computer database system, a method of monitoring an object in a database in response to a request from any of a plurality of client programs, the method comprising the following steps carried out by the system:
- keeping a record of any request from a client to monitor an attribute of the object, the attribute depending on another attribute;
- keeping a record indicating interdependence relationships among the attributes;
- keeping a record of the value of each attribute being monitored by accessing said interdependence relationship record;
- during a database update session, keeping a record of any database update transactions initiated by a client;
- and
- if a client which has initiated an update transaction requests that said update transaction be stored in the database:
- determining which monitored attributes may have been affected by said transaction;
- determining whether the values of any of said attributes have changed by computing updated values form said attributes and comparing the updated values with the values in the attribute value record;
- and
- for each value which has changed, notifying any client which had requested monitoring of that attribute.
In a computer database system, a method of monitoring an object in a database in response to a request from any of a plurality of client programs, the method comprising the following steps carried out by the system;
- keeping a record of any request from a client to monitor an attribute of the object, the attribute depending on another attribute;
- keeping a record indicating interdependence relationships among the attributes;
- keeping a record of the value of each attribute being monitored by accessing said interdependence relationship record;
- during a database update session, keeping a record of any database update transactions initiated by a client;
- and
- if a client request notification of any changes which have occurred in an attribute then being monitored for that client:
- determining which monitored attributes may have been affected during said database update session;
- determining whether the values of any of said attributes have changed by computing updated values for said attributes an comparing the updated values with the values in the attribute value record;
- and
- notifying the client which requested notification of each value which has changed.
In a computer database system, a method of monitoring an object in a database in response to a request from any of a plurality of client programs, the method comprising the following steps carried out by the system;
- keeping a record of any request form a client to monitor an attribute of the object, the attribute depending on another attribute;
- keeping a record indicating interdependence relationships among the attributes;
- keeping a record of the value of each attribute being monitored by accessing said interdependence relationship record;
- during a database update session, keeping a record of any database update transactions initiated by a client;
- if a client which has initiated an update transaction request that said update transaction be stored in the database:
- determining which monitored attributes may have been affected by said update transaction;
- determining whether the values of any of said attributes have changed by computing updated values for said attributes and comparing the updated values with the values in the attribute value record;
- and
- for each value which has changed, notifying any client which requested monitoring of that attribute;
- and
- if a client request notification of any changes which have occurred in an attribute then being monitored for that client:
- determining which monitored attributes may have been affected during said database update session;
- determining whether the values of any of said attributes have changed by computing updated values for said attributes and comparing the updated values with the values in the attribute value record;
- and
- notifying the client which requested notification of each value which has changed.
Dependencies are inferred from the claim text.