Active database trigger processing using a trigger gateway

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

C707S793000, C707S793000, C707S793000

Reexamination Certificate

active

06594656

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to databases. More particularly, the present invention relates to trigger processing in active databases.
BACKGROUND OF THE INVENTION
An active database is a database in which certain actions result in other actions being taken automatically by the database. An active database may be implemented using the well known database technique of triggers. A trigger defines an event, a condition, and an action. The database monitors itself for the occurrence of the event, at which time it checks the condition. If the condition is true, then the database performs the action automatically.
As an example of trigger processing, consider a database which stores employees and associated department numbers for each employee. If a database user submits a database command to delete a department number from the database, it is advantageous to have the database system automatically check to determine whether there are currently employees assigned to that department number. If there are, then the request to delete the department number should be rejected. In order to implement this functionality in a trigger, the trigger event being monitored would be the deletion of a department number, the condition would be whether there are currently any employee records which contain that department number, and the action would be to reject the database delete command.
As is well known, databases generally consist of stored data and a database management system (DBMS) which manages the stored data and which processes database commands. Currently, active database triggers are generally implemented at the DBMS level. Thus, each database system uses its own proprietary technique for implementing active database triggers. This implementation of triggers results in several problems. First, trigger implementation is not standard across different database platforms, and therefore it is difficult to port trigger facilities from one database system to another. Second, the adding of new trigger facilities requires modifications to the DBMS internal software, which can only be done by the database manufacturer. As a result, the implementation of trigger facilities locally by database administrators is not possible.
One technique used to locally implement trigger functionality is to monitor the database log file and initiate certain trigger processing when certain predetermined actions are detected in the log file. However, this technique requires knowledge of the DBMS proprietary log format which may not be available to system administrators. Another technique is the periodic polling of the state of the database to determine whether certain changes have been made. The problem with this technique is that it adds a substantial amount of overhead processing and is therefore expensive.
Another technique used to locally implement trigger functionality is the use of software plug-ins which are associated with database operations. However, such plug-ins are implemented as function calls within the database system itself, which results in several problems. First, a problem with a plug-in can result in a crash of the database system itself. Second, adding a new plug-in requires restarting the entire database system. Third, trigger portability is reduced because of the proprietary extension required to the database system.
Thus, there is a need for an improved technique for locally adding trigger processing to database systems.
SUMMARY OF THE INVENTION
In accordance with the present invention, trigger functionality is implemented at a trigger gateway which is independent of an associated database system. The trigger gateway receives database commands destined for the database system and processes triggers associated with the database commands. Where appropriate, the trigger gateway forwards the database commands to the database system for processing of those commands in a conventional manner. The use of a trigger gateway to implement trigger functionality allows the use of standard database commands and requires no modification to the database system. In fact, the database system may have no knowledge that trigger functionality is being provided by the trigger gateway.
In accordance with one aspect of the invention, trigger actions are executed by a remote trigger action server in response to a trigger execution request transmitted by the trigger gateway. The use of a trigger action server to execute trigger actions is advantageous because it allows for the updating of instructions implementing the trigger actions without interrupting the operation of the database or the trigger gateway. Alternatively, the trigger actions could be executed in the trigger gateway itself.
In accordance with security aspects of the invention, trigger actions will not be executed if such execution would result in a security breach of the security policy of the database system. Such security aspects are implemented by having the trigger gateway formulate and then perform a database query using the security authorization of a trigger author prior to executing a trigger action. If this query results in an authorization error, then the trigger action will not be executed.
In accordance with another aspect of the invention, a new type of trigger is implemented which results in the execution of a trigger action as the result of the failure of a database command. Thus, if a database command results in an error during database processing, an “after failed” trigger may be processed which will result in the execution of some trigger action specifically chosen to be executed after a failed database command.
In accordance with yet another aspect of the invention, infinite loops are prevented using novel trigger processing techniques.
These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.


REFERENCES:
patent: 5530855 (1996-06-01), Satoh et al.
patent: 5535385 (1996-07-01), Griffin et al.
patent: 5564047 (1996-10-01), Bloem et al.
patent: 5640561 (1997-06-01), Satoh et al.
patent: 5680602 (1997-10-01), Bloem et al.
patent: 5680614 (1997-10-01), Bakuya et al.
patent: 5765160 (1998-06-01), Yamaguchi
patent: 6058393 (2000-05-01), Meier et al.
patent: 6202070 (2001-03-01), Nguyen et al.
patent: 6212514 (2001-04-01), Eberhard et al.
patent: 0840240 (1998-06-01), None
patent: 0889398 (1999-07-01), None
Dayal et al., “Organizing Long-Running Activities with Triggers and Transactions,” SIGMOD Conference 1990; 204-214.
Buchmann et al., “Building an Integrated Active OODBMS: Requirements, Architecture, and Design Decisions,”Proceedings of International Conference on Data Engineering 1995; 117-128.
Widom et al., “Implementing Set-Oriented Production Ruls as an Extension to Starburst,”Proceedings of the 17th Annual Conference on Very Large Data Bases, pp. 275-285, Barcelona, Spain (Sep. 1991).
“Chapter 1—Understanding Server Plug-Ins,” from http://developer.netscape.com/docs/manuals/directory/plugin/intro.htm, pp. 1-6, downloaded and printed Jan. 12, 1999.
Lieuwen et al., “The Ode Active Database: Trigger Semantics and Implementation,”Proceedings of International conference on Data Engineering 1996; 412-420.
Stonebraker et al., “The Design of the Postgres Rules System,”Proceedings of International Conference on Data Engineering 1987; 365-374.
Chakravarthy et al., “Composite Events for Active Databases: Semantics, Contexts and Detection,”Proceedings of the 20th Conference on Very Large Data Bases, Santiago, Chile, 1994; 606-617.
“Active Channel Tutorial—Introduction,” from http://www.microsoft.com/indev/ie4/channels/tutorial/page0.html, pp. 1-5, downloaded and printed Jan. 12, 1999.
M. Smith, Editor: G. Good, T. Howes, R. Weltman, LDAPEXT Working Group, Internet-Draft, “Persistent Search: A Simple LDAP Change Notification Mechanism,” <draft-ietf-ldaptext-trigger-01.txt>, Aug. 6, 1998, pp. 1-8.
M. Wahl, Network Working Group, “LDAPv3 Triggered Search Control,” <draft-ieft-ldapext-t

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

Active database trigger processing using a trigger gateway does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Active database trigger processing using a trigger gateway, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Active database trigger processing using a trigger gateway will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3066380

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