Method of monitoring changes in an object-oriented database with tuned monitors
First Claim
1. 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;
keeping a record indicating any interdependence relationships between the attribute being monitored and other attributes;
keeping a record of a 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 whether a predetermined criterion pertaining to a monitored attribute has been satisfied and, if the criterion has been satisfied, notifying any client which had requested monitoring of that attribute;
wherein said criterion comprises either of;
a) a minimum change value in said monitored attribute and determining whether the criterion has been satisfied comprises;
determining whether said monitored attribute may have been affected by said transaction; and
if said attribute may have been affected, determining whether the value of the attribute has changed by an amount which exceeds a minimum change value by computing an updated value for the attribute and comparing the updated value with the value in the attribute value record;
orb) a minimum time interval and determining whether said criterion has been satisfied comprises;
determining whether said monitored attribute may have been affected by said transaction;
if said attribute may have been affected, determining whether an amount of time that exceeds a minimum time interval has elapsed subsequent to a previous event;
if the minimum time interval has elapsed, determining whether the value of the attribute has changed by computing an updated value for the attribute and comparing the updated value with the value in the attribute value record.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of monitoring objects in a database system. A client program requests monitoring of an attribute of an object in the database according to a criterion which is any of four tuning parameters. The parameters include a change value parameter, a delay time parameter, a synchronous initiation parameter, and a nervousness parameter. When an update is committed, a tracking application of a client which has requested monitoring of an attribute is invoked if the monitoring criterion specified by that client has been satisfied. The first three parameters have the effect of reducing the reactivity of the monitor. The change value parameter is satisfied if the value of the monitored attribute has changed by an amount not less than the specified change value. The delay time parameter is satisfied if at least the specified delay time has elapsed since the occurrence of a specified previous event. The synchronous initiation parameter requires that the commit be delayed until the tracker has been invoked by the notification; this parameter is satisfied by any change in value of the monitored attribute or by any of the other parameters if specified. The nervousness parameter, which increases the reactivity, is satisfied if a screening test, typically whether there has been a write to a specified relation or part of a relation, is satisfied.
-
Citations
12 Claims
-
1. 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; keeping a record indicating any interdependence relationships between the attribute being monitored and other attributes; keeping a record of a 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 whether a predetermined criterion pertaining to a monitored attribute has been satisfied and, if the criterion has been satisfied, notifying any client which had requested monitoring of that attribute; wherein said criterion comprises either of; a) a minimum change value in said monitored attribute and determining whether the criterion has been satisfied comprises; determining whether said monitored attribute may have been affected by said transaction; and if said attribute may have been affected, determining whether the value of the attribute has changed by an amount which exceeds a minimum change value by computing an updated value for the attribute and comparing the updated value with the value in the attribute value record;
orb) a minimum time interval and determining whether said criterion has been satisfied comprises; determining whether said monitored attribute may have been affected by said transaction; if said attribute may have been affected, determining whether an amount of time that exceeds a minimum time interval has elapsed subsequent to a previous event; if the minimum time interval has elapsed, determining whether the value of the attribute has changed by computing an updated value for the attribute and comparing the updated value with the value in the attribute value record. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. 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; keeping a record indicating any interdependence relationships between the attribute being monitored and other attributes; keeping a record of a 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 requests notification of any changes which have occurred in an attribute then being monitored for said client, determining whether a predetermined criterion pertaining to a change in the monitored attribute has been satisfied and, if the criterion has been satisfied, notifying said client that the criterion has been satisfied; wherein said criterion comprises either of; a) a minimum change value in said monitored attribute and determining whether the criterion has been satisfied comprises; determining whether said monitored attribute may have been affected by said transaction; and if said attribute may have been affected, determining whether the value of the attribute has changed by an amount which exceeds a minimum change value by computing an updated value for the attribute and comparing the updated value with the value in the attribute value record;
orb) a minimum time interval and determining whether said criterion has been satisfied comprises; determining whether said monitored attribute may have been affected by said transaction; if said attribute may have been affected, determining whether an amount of time that exceeds a minimum time interval has elapsed subsequent to a previous event; if the minimum time interval has elapsed, determining whether the value of the attribute has changed by computing an updated value for the attribute and comparing the updated value with the value in the attribute value record. - View Dependent Claims (9, 10, 11, 12)
-
Specification