JP2000215092A - デ―タベ―ストリガゲ―トウェイおよびその動作方法 - Google Patents

デ―タベ―ストリガゲ―トウェイおよびその動作方法

Info

Publication number
JP2000215092A
JP2000215092A JP7950A JP2000007950A JP2000215092A JP 2000215092 A JP2000215092 A JP 2000215092A JP 7950 A JP7950 A JP 7950A JP 2000007950 A JP2000007950 A JP 2000007950A JP 2000215092 A JP2000215092 A JP 2000215092A
Authority
JP
Japan
Prior art keywords
trigger
database
gateway
action
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7950A
Other languages
English (en)
Inventor
Robert M Arlein
エム アーレイン ロバート
Juliana Freire Silva
フレイアー シルバ ジュリアナ
Daniel Francis Lieuwen
フランシス リエウウェン ダニエル
Gavin C Michael
シー ミカエル ガビン
Joann Janet Ordille
ジャネット オージル ジョアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2000215092A publication Critical patent/JP2000215092A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

(57)【要約】 【課題】 データベースシステムにトリガ処理をローカ
ルに追加する。 【解決手段】 トリガ機能は、データベースシステム1
02とは独立のトリガゲートウェイ104に実装され
る。トリガゲートウェイ104は、データベースシステ
ム102宛のデータベースコマンドを受け取り、そのデ
ータベースコマンドのトリガを処理する。トリガゲート
ウェイ104は、データベースコマンドを通常のように
処理するために、適宜、データベースコマンドをデータ
ベースシステム102へ転送する。トリガ機能を実装す
るためにトリガゲートウェイ104を使用することによ
り、標準的なデータベースコマンドの使用が可能となる
とともに、データベースシステム102への変更が不要
となる。一実施例では、トリガアクションは、トリガゲ
ートウェイ104によって送信されるトリガ実行要求に
応答して、リモートのトリガアクションサーバ110に
よって実行される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベースに関
し、特に、アクティブデータベースにおいて処理をトリ
ガすることに関する。
【0002】
【従来の技術】アクティブデータベースとは、あるアク
ションの結果として、別のアクションが、データベース
によって自動的になされるようなデータベースである。
アクティブデータベースは、トリガという周知のデータ
ベース技術を用いて実装することができる。トリガは、
イベント、条件、およびアクションを定義する。データ
ベースは、イベントの発生をモニタし、その発生時に、
条件をチェックする。条件が真である場合、データベー
スは、アクションを自動的に実行する。
【0003】トリガ処理の一例として、従業員と、各従
業員の対応する課(department)番号とを格納したデータ
ベースを考える。データベースユーザが、データベース
から課番号を削除するデータベースコマンドを提出(sub
mit)した場合、その課番号に割り当てられた従業員が現
在あるかどうかをデータベースシステムが自動的にチェ
ックすると有利である。そのような従業員がある場合、
その課番号を削除する要求は拒絶されるべきである。こ
の機能をトリガで実装するためには、モニタされるトリ
ガイベントは、課番号の削除であり、条件は、その課番
号を含む従業員レコードが現在あるかどうかであり、ア
クションは、データベース削除コマンドの拒絶となる。
【0004】周知のように、データベースは一般に、格
納データと、その格納データを管理するとともにデータ
ベースコマンドを処理するデータベース管理システム
(DBMS:database management system)とからな
る。現在、アクティブデータベーストリガは一般にDB
MSレベルで実装されている。そのため、各データベー
スシステムユーザは、アクティブデータベーストリガを
実装するためにそれぞれ独自の技術を使用している。ト
リガのこのような実装はいくつかの問題点を生じる。第
1に、トリガ実装は、相異なるデータベースプラットフ
ォームにわたって標準的なものではないため、あるデー
タベースシステムから別のデータベースシステムにトリ
ガ機能を移植することが困難である。第2に、新たなト
リガ機能の追加は、DBMS内部ソフトウェアへの変更
を必要とし、これは、データベース製造者しか行うこと
ができない。その結果、データベース管理者によるロー
カルなトリガ機能の実装は不可能となる。
【0005】トリガ機能をローカルに実装するために用
いられる1つの技術は、データベースログファイルをモ
ニタし、ある所定のアクションがログファイル中に検出
されたときにあるトリガ処理を開始するというものであ
る。しかし、この技術は、DBMS独自のログフォーマ
ットの知識を必要とし、そのような知識はシステム管理
者には利用可能でないことがある。別の技術は、データ
ベースの状態の定期的ポーリングにより、変化があった
かどうかを判定するというものである。この技術の問題
点は、かなりの量のオーバーヘッド処理を追加するた
め、不経済になることである。
【0006】トリガ機能をローカルに実装するために用
いられるもう1つの技術は、データベースオペレーショ
ンに関連するソフトウェアプラグインを使用するもので
ある。しかし、このようなプラグインは、データベース
システム自体の内部のファンクションコールとして実装
されるため、いくつかの問題点を生じる。第1に、プラ
グインの問題点により、データベースシステム自体がク
ラッシュする可能性がある。第2に、新たなプラグイン
を追加することは、データベースシステム全体の再起動
を必要とする。第3に、データベースシステムに必要な
独自の拡張のため、トリガの移植性は低くなる。
【0007】
【発明が解決しようとする課題】このように、データベ
ースシステムにトリガ処理をローカルに追加するための
技術の改善が必要とされている。
【0008】
【課題を解決するための手段】本発明によれば、トリガ
機能は、関連するデータベースシステムとは独立のトリ
ガゲートウェイにおいて実装される。トリガゲートウェ
イは、データベースシステム宛のデータベースコマンド
を受け取り、そのデータベースコマンドのトリガを処理
する。トリガゲートウェイは、データベースコマンドを
通常のように処理するために、適宜、データベースコマ
ンドをデータベースシステムへ転送する。トリガ機能を
実装するためにトリガゲートウェイを使用することによ
り、標準的なデータベースコマンドの使用が可能となる
とともに、データベースシステムへの変更が不要とな
る。実際、データベースシステムは、トリガ機能がトリ
ガゲートウェイによって提供されていることを知らない
こともある。
【0009】本発明の1つの特徴によれば、トリガアク
ションは、トリガゲートウェイによって送信されるトリ
ガ実行要求に応答して、リモートのトリガアクションサ
ーバによって実行される。トリガアクションサーバを用
いてトリガアクションを実行することが有利であるの
は、これにより、データベースやトリガゲートウェイの
オペレーションを中断せずに、トリガアクションを実装
する命令の更新が可能となるからである。別法として、
トリガアクションは、トリガゲートウェイ自体で実行す
ることも可能である。
【0010】本発明のセキュリティ機能によれば、トリ
ガアクションの実行がデータベースシステムのセキュリ
ティポリシーのセキュリティ違反を生じる場合、そのよ
うなトリガアクションは実行されない。このようなセキ
ュリティ機能は、トリガゲートウェイが、トリガアクシ
ョンを実行する前に、トリガ発行者のセキュリティ権限
を用いてデータベースクエリを作成し実行することによ
って、実装される。このクエリが権限エラーを生じた場
合、そのトリガアクションは実行されない。
【0011】本発明のもう1つの特徴によれば、データ
ベースコマンドの失敗の結果としてトリガアクションの
実行を引き起こす新たなタイプのトリガが実装される。
これにより、データベースコマンドがデータベース処理
中にエラーを引き起こした場合、「失敗後」トリガが処
理され、失敗したデータベースコマンドの後に実行され
るように特に選択されたトリガアクションが実行される
ことになる。
【0012】本発明のさらにもう1つの特徴によれば、
新規なトリガ処理技術を用いて無限ループが回避され
る。
【0013】
【発明の実施の形態】本発明が実現されるタイプのシス
テムを図1に示す。データベース102は、格納データ
と、その格納データを管理するとともにその格納データ
へのアクセスの要求を処理するデータベース管理システ
ム(DBMS)とを有する。好ましい実施例では、デー
タベース102は、以下で詳細に説明するような階層デ
ィレクトリ型データベースシステムを実現する。ユーザ
108は、ネットワーク106を通じてデータベースに
接続される。ユーザ108は、データ通信プロトコルに
よりデータベース102と通信する任意の周知のコンピ
ュータシステムを表す。例えば、ネットワーク106
は、ローカルエリアネットワークを表し、ユーザ108
は、インターネットプロトコル(IP)のようなデータ
パケットプロトコルによりネットワーク106を通じて
通信する。このような通信を可能にするためにさまざま
なネットワークおよびネットワークプロトコルが使用可
能であり、どのようなタイプのネットワークおよびプロ
トコルにするかは本発明にとって重要ではない。
【0014】本発明によれば、データベース102とは
独立のトリガゲートウェイ104が、データベース10
2とユーザ108の間の通信ポイントに配置され、ユー
ザは、あたかもトリガゲートウェイ104がデータベー
ス102であるかのように、データベースコマンドをト
リガゲートウェイ104へ送る。トリガゲートウェイ1
04とデータベース102とは、これらの2つの要素が
互いに論理的に独立であるという意味で、独立である。
図1に示すように、一実施例では、トリガゲートウェイ
104およびデータベース102は、異なるマシン上で
実行されるソフトウェアあるいはハードウェアモジュー
ルである。別の実施例では、トリガゲートウェイ104
とデータベース102は、同じマシン上で実行される相
異なる論理的に独立なソフトウェアあるいはハードウェ
アモジュールである。ユーザから見ると、トリガゲート
ウェイ104はデータベース102として作用する。本
発明の1つの利点によれば、ユーザ108は、トリガゲ
ートウェイ104に標準的なデータベースコマンドを送
信する。トリガゲートウェイ104は、データベースコ
マンドを受信し、トリガ処理を実行し、適宜、処理のた
めにデータベースコマンドをデータベース102へ転送
する。この構成により、データベース102に対して、
あるいは、ユーザ108によって送信される標準データ
ベースコマンドに対して、変更を加えずにトリガ機能を
追加することが可能となる。
【0015】本発明のもう1つの特徴によれば、トリガ
アクションサーバ110が、ネットワーク106に接続
される。以下で詳細に説明するように、トリガアクショ
ンサーバ110は、トリガゲートウェイ104からのト
リガ実行要求に応答して、トリガアクションを実行す
る。
【0016】トリガゲートウェイ104は、適当に構成
されたコンピュータによって実現される。その詳細を図
2に示す。図2において、トリガゲートウェイ104
は、トリガゲートウェイ104の全体のオペレーション
を制御するプロセッサ202を有する。プロセッサ20
2は、入力ポート204、出力ポート208、およびメ
モリ206に接続される。メモリ206は、プログラム
コード210および格納トリガ212を有する。メモリ
206は、ランダムアクセスメモリ、読み出し専用メモ
リ、磁気ディスク、光ディスク、またはこのような媒体
の組合せを含む(これらには限定されない)任意のタイ
プの周知のコンピュータ可読媒体とすることが可能であ
る。動作時に、プロセッサ202は、プログラムコード
210として格納されたコンピュータプログラム命令を
実行することによって、トリガゲートウェイ104のオ
ペレーションを制御する。プログラムコード210は、
プロセッサ202によって実行されると、本発明による
トリガゲートウェイを実現する。プログラムコード21
0については、以下で図4〜図6を参照して詳細に説明
する。もちろん、トリガゲートウェイを実現するコンピ
ュータは、他の周知のコンポーネントも有する。そのよ
うな他のコンポーネントについては明確化のために図2
には図示しない。
【0017】本発明の一実施例によれば、データベース
102(図1)は、データがツリー(木)構造に編成さ
れた階層ディレクトリ型データベースを実現する。例え
ば、データベース102は、当業者に周知のLDAP(L
ightweight Directory Access Protocol)を実現する。
LDAPディレクトリについて詳細には、Timothy Howe
s and Mark Smith, "LDAP: Programming Directory-Ena
bled Applications with Lightweight Directory Acces
s Protocol", Macmillan Technical Publishing, India
napolis, Indiana, 1997、に記載されている。このよう
なデータベースのデータ編成の1つの表現を図3に示
す。データは、ツリー構造に編成され、ツリーの各ノー
ドはデータオブジェクトを表す。例えば、データベース
102が、多国籍企業とその企業の従業員の編成に関す
る情報を格納するディレクトリデータベースを実現する
と仮定する。ルートノード302は、特定の国に対する
このデータベースへのエントリポイントを表し、第2レ
ベルのノードは特定の部(division)を表し、第3レベル
のノードは特定の課を表し、第4レベルのノードは従業
員を表す。各ノードは、そのノードによって表されるオ
ブジェクトを記述する1つ以上のフィールドを含むこと
が可能である。例えば、従業員ノードは、名前、従業員
ID、電話番号、および勤務地のようなフィールドを含
む。各ノードに対して、1つ以上のフィールドが、その
ノードの相対識別名を構成する。相対識別名のフィール
ドの値は、ノードの兄弟(sibling)ノード(すなわち、
同じ親ノードを有するノード)のうちから一意的なノー
ドを定義する。例えば、従業員IDフィールドは、従業
員ノードの相対識別名となる。各従業員データオブジェ
クトは従業員IDによって一意的に識別されるからであ
る。ノードに対する識別名(DN:distinguished nam
e)とは、ルートからそのノードまでのパスを構成する
ノードのすべての相対識別名の連接である。従って、識
別名は、ツリー内でノードを一意的に識別する。
【0018】図3に示したタイプの階層ディレクトリデ
ータベースに対しては、さまざまな方法で問合せ(クエ
リ)が可能である。1つのクエリのタイプは、DNおよ
び対応するスコープインジケータを使用するものであ
る。ただし、スコープインジケータは、BASE、ONE LEVE
L、またはSUBTREEである。このタイプのクエリは、指定
されたスコープ内のいずれかのあるいはすべてのノード
を返す。BASEクエリは、特定のDNによって指定される
ノードを返す。ONE LEVELクエリは、特定のDNによっ
て指定されるノードの直接の子ノードを返す。SUBTREE
クエリは、特定のDNによって指定されるノードをルー
トとするサブツリー全体を返す。クエリによって実際に
返される指定されたスコープ内のノードは、フィールド
値を指定する対応するクエリフィルタによって決定され
る。
【0019】上記のように、トリガは、データベースア
クションとともに自動的に行われる追加アクションを定
義する。このようなトリガは、トリガ212(図2)と
してメモリ206に格納される。このような格納トリガ
は次のように定義される。
【0020】トリガ=(event,condition,action,tr
igger-kind,type-name,DN,scope,author)
【0021】event(イベント)は、データベースアク
ションを定義する。イベントは、アクセスのタイプとと
もに、BEFORE、AFTER、またはAFTER FAILEDとして定義
される。アクセスのタイプは、READ、ADD、DELETE、ま
たはMODIFYである。従って、以下のイベントが可能であ
る。 BEFORE READ、BEFORE ADD、BEFORE DELETE、BEFORE MOD
IFY、AFTER READ、AFTER ADD、AFTER DELETE、AFTER MO
DIFY、AFTER FAILED READ、AFTER FAILED ADD、AFTER F
AILED DELETE、およびAFTER FAILED MODIFY なお、上記のイベントリストは、LDAPデータベース
を利用する実施例に対するものである。他のタイプのデ
ータベースシステムでは他のイベントおよびアクセスタ
イプを設けることも可能である。
【0022】condition(条件)は、次の2つの部分を
有する。 1)ブール式 2)モニタされるフィールド(モニタ対象フィールド)
のリスト ブール式は、アクセスされるデータベースオブジェクト
に対して定義される任意のブール式である。モニタ対象
フィールドのリストは、条件が関係するデータベースフ
ィールドを定義する。こうして、ブール式が真であり、
かつ、処理されるデータベースコマンドが、モニタ対象
フィールドのリスト内の1つ以上のフィールドを含む場
合に、条件が全体として真になる。
【0023】action(アクション)は、指定されたイベ
ントが起こり、条件が真であると評価された場合に行わ
れるアクションを指定する。トリガアクションサーバ1
10を含む本発明の実施例では、アクションは、トリガ
アクションサーバ110のIPアドレスおよびポート
と、追加情報とによって指定することが可能である。こ
れについてさらに詳細には、後でトリガアクションの実
行および図6のステップ604で説明する。
【0024】trigger-kind(トリガ種類)は、トリガの
種類を指定する。階層ディレクトリデータベースの場
合、タイプトリガ(type trigger)およびツリートリガ(t
ree trigger)という2種類のトリガある。タイプトリガ
は、データベース階層内での位置にかかわらず、特定の
タイプのデータベースオブジェクトに適用可能なトリガ
である。従って、trigger-kind="type trigger"の場
合、トリガ定義内のtype-name(タイプ名)フィールド
は、トリガが適用可能なタイプを定義するために使用さ
れる。ツリートリガは、オブジェクトのタイプにかかわ
らず、データベース階層内での特定の位置にあるデータ
ベースオブジェクトに適用可能なトリガである。trigge
r-kind="tree trigger"である場合、トリガ定義内のD
Nおよびスコープフィールドが、ツリー内でこのトリガ
が適用可能なノードを次のように定義するために使用さ
れる。DNおよび指定されたスコープ(すなわち、BAS
E、ONE LEVEL、SUBTREE)を用いたクエリ(前述)があ
るノードを返す場合、トリガはそのノードに適用可能で
ある。階層ディレクトリデータベース以外のデータベー
スでは、複数のtrigger-kindを定義することも可能であ
る。例えば、関係データベースでは、trigger-kindは関
係(すなわち、テーブル)に関連づけることが可能であ
る。
【0025】author(発行者)は、トリガの発行者を指
定し、本発明の1つの特徴によるセキュリティ機能を実
現するために使用される。このようなセキュリティ機能
については、図5のステップ510および512でさら
に詳細に説明する。
【0026】動作時に、ユーザ108(図1)は、ネッ
トワーク106を通じてデータベース102へデータベ
ースコマンドを送る。このようなデータベースコマンド
は、データベース102の個々のタイプに対する標準的
なデータベースコマンドである。本発明によるトリガ処
理を実現するために必要となる追加のユーザコマンドは
ない。ユーザ108によって送信されたデータベースコ
マンドはトリガゲートウェイ104によって受信され
る。本発明に従ってトリガゲートウェイ104によって
実行されるステップについて、図4〜図6を参照して以
下で説明する。上記のように、トリガゲートウェイ10
4によって行われるステップは、格納プログラムコード
210によって定義される。
【0027】図4において、ステップ402で、トリガ
ゲートウェイ104は、入力ポート204(図2)を通
じてデータベース(DB)コマンドを受信する。ステッ
プ404で、トリガゲートウェイ104は、ユーザによ
って送信されたコマンドに従って、作用するオブジェク
トのタイプを判定する。周知のように、各データベース
コマンドは、データベース内のオブジェクトに対して何
らかのオペレーションが実行されることを要求する。各
オブジェクトは、関連する1つ以上のタイプを有する。
例えば、データベース要求が追加(add)要求である場
合、トリガゲートウェイ104は、追加コマンド内のオ
ブジェクトの定義を評価することによって、追加される
オブジェクトのタイプを判定する。あるいは、データベ
ースコマンドが追加コマンド以外のコマンド(例えば、
読み出し(read)、削除(delete)、変更(modify))である
場合、作用するデータオブジェクトはデータベースに既
に存在し、トリガゲートウェイ104は、そのオブジェ
クトのタイプを判定することになる。例えば、データベ
ースがLDAPデータベースである場合、トリガゲート
ウェイ104は、オブジェクトのobjectclassフィール
ドを求める要求をデータベースへ送り、オブジェクトの
タイプを判定する。あるいは、データベースが、クエリ
にSQLを利用する関係データベースである場合、オブ
ジェクトのタイプは、SQLデータベースコマンドのFR
OM節を見ることによって判定される。
【0028】ステップ406で、トリガゲートウェイ1
04は、ステップ404で判定されたタイプを用いて、
データベースコマンドに関連するタイプトリガを取得す
る。上記のように、メモリ206に格納されているトリ
ガ212のフォーマットは、eventフィールド(アクセ
スタイプを含む)およびtrigger-kindフィールドを含
む。ステップ406で、トリガゲートウェイ104は、
トリガ212のうち、アクセスタイプが受信したデータ
ベースコマンド内のアクセスタイプに一致し、trigger-
kind="type"であり、かつtype-nameがステップ404で
判定されたオブジェクトのタイプに一致するように定義
されたトリガを検索する。例えば、ユーザ108から受
信したデータベースコマンドが、type="first-type"の
オブジェクトに対するADDオペレーションに対するもの
であると仮定する。ステップ406は、trigger-kind="
type"、type-name="first-type"、かつ、eventフィール
ドのアクセス部分="ADD"であるトリガ212を取得す
ることになる。
【0029】ステップ408で、トリガゲートウェイ1
04は、データベースコマンドに関連するツリートリガ
を取得する。上記のように、ツリートリガは、データベ
ース階層内の特定の位置にあるオブジェクトに適用可能
である。具体的には、ツリートリガは、トリガ定義のev
entフィールド内のアクセスタイプが受信したデータベ
ースコマンド内のアクセスタイプと一致し、トリガで指
定されるDNおよびスコープを用いたクエリが作用対象
のオブジェクトを返す場合に、特定のオブジェクトに適
用可能である。すなわち、ツリートリガは、次の場合
に、作用対象のオブジェクトに適用可能である。 1)トリガアクセスタイプ=データベースコマンドのア
クセスタイプであり、かつ、 2)トリガで指定されるDNが、そのオブジェクト自
体、または、そのオブジェクト自体の祖先のオブジェク
トを指定し、かつ、 a)トリガで指定されるスコープ=SUBTREEであるか、
または、 b)トリガで指定されるスコープ=ONE LEVELであっ
て、トリガで指定されるDNが作用対象のオブジェクト
の親を指定するか、または、 c)トリガで指定されるスコープ=BASEであって、トリ
ガで指定されるDNが作用対象のオブジェクトを指定す
る。
【0030】ステップ406および408の処理後、ト
リガゲートウェイ104は、データベースコマンドに関
連するすべてのタイプトリガおよびツリートリガのリス
トを有する。しかし、これらのトリガに関連するアクシ
ョンが実行されるかどうかはまだ決定されていない。そ
の理由は、以下に説明するように、他のテストをまず実
行しなければならないからである。なお、ステップ40
6および408は、データベース102が階層ディレク
トリ型データベースを実現するような本発明の実施例に
おけるデータベースコマンドに関連するトリガを識別す
るための1つの技術について説明している。しかし、当
業者には認識されるように、階層ディレクトリ型データ
ベースの特定のデータベースコマンドに関連するトリガ
を識別するためのさまざまな代替技術がある。さらに、
本発明が別のタイプのデータベースを用いたシステムで
実現されるような別の実施例では、特定のデータベース
コマンドに関連するトリガを識別するために他の技術を
容易に実装することができる。
【0031】ステップ410で、トリガゲートウェイ1
04は、トリガ処理サブルーチンを呼び出すことによっ
て、関連する可能性のある「前」(before)トリガを処理
する。上記のように、トリガ定義はeventフィールドを
含み、イベント(event)は、BEFORE、AFTER、またはAFTE
R FAILED、および、アクセスタイプとして定義される。
ステップ410で、トリガゲートウェイ104は、識別
されたトリガを見て、何らかのアクセス「の前に」(bef
ore)処理されることを示しているトリガを処理する。ト
リガ処理サブルーチンによるトリガの実際の処理につい
ては図5に関連して後述する。
【0032】ステップ412で、トリガゲートウェイ1
04は、トリガ処理ステップ410のステータス(statu
s)がSTOP_FAILUREであったかどうかを判定する。トリガ
の処理の結果には3つの可能なステータスがある。STOP
_FAILUREは、トリガが失敗し、データベースコマンドは
これ以上処理されるべきではない(すなわち、データベ
ースコマンドは処理のためにデータベース102へ転送
されるべきではない)ことを示す。STOP_SUCCESSは、ト
リガ処理は成功したが、データベースコマンドはさらに
処理されるべきではないことを示す。PROCEEDは、トリ
ガ処理は成功し、データベースコマンドはさらに処理さ
れるべきである(すなわち、データベースコマンドは処
理のためのデータベース102へ転送されるべきであ
る)ことを示す。ステップ412のテストで、トリガ処
理ステップ410のステータスがSTOP_FAILUREであった
ことを示している場合、ステップ414で、エラーメッ
セージがユーザ108へ送られ、ステップ416で処理
は終了する。ステップ412のテストで、トリガ処理ス
テップ410のステータスがSTOP_FAILUREでなかったこ
とを示している場合、ステップ418で、トリガゲート
ウェイ104は、トリガ処理ステップ410のステータ
スがSTOP_SUCCESSであったかどうかを判定する。ステッ
プ418のテストで、トリガ処理ステップ410のステ
ータスがSTOP_SUCCESSであったことを示している場合、
ステップ420で、適当な成功メッセージがユーザ10
8へ送られ、ステップ416で処理は終了する。ステッ
プ418のテストで、トリガ処理ステップ410のステ
ータスがSTOP_SUCCESSでなかったことを示している場
合、ステータスはPROCEEDであったことがわかり、ステ
ップ422で、ユーザ108によって送信されトリガゲ
ートウェイ104によって受信されたデータベースコマ
ンドが、出力ポート208(図2)を通じて、処理のた
めにデータベース102へ転送される。この時点で、デ
ータベース102は標準的なデータベースコマンドを受
信し、データベース102は、トリガ処理が行われたこ
とを知らないことに注意すべきである。データベースコ
マンドの処理後、データベース102は、その結果をト
リガゲートウェイ104に返す。
【0033】本発明の1つの特徴によれば、いくつかの
トリガはデータベースエラーの後に処理される。これら
のトリガは上記の「失敗後」(after failed)トリガであ
る。従って、ステップ424で、データベース102に
よるデータベースコマンドの処理においてエラーがあっ
たかどうかを判定する。これは、データベース102か
ら返される結果を評価することによって判定される。エ
ラーが発生しなかった場合、ステップ426で、「後」
(after)トリガが、トリガ処理サブルーチンを呼び出す
ことによって処理される。データベースが、エラーが発
生したことを示した場合、ステップ428で、「失敗
後」トリガが、トリガ処理サブルーチンを呼び出すこと
によって処理される。ステップ426または428の
後、ステップ430で、結果がユーザへ送られ、ステッ
プ416で処理は終了する。
【0034】トリガ処理サブルーチンについて、図5の
流れ図を参照して説明する。トリガ処理サブルーチン
は、「前」トリガの場合はステップ410から、「後」
トリガの場合はステップ426から、また、「失敗後」
トリガの場合はステップ428から起動される。サブル
ーチンに入るとき、処理すべきトリガのリストとともに
入ると仮定する。すなわち、ステップ410の結果とし
てトリガ処理サブルーチンに入るとき、識別された
「前」トリガのリストがトリガ処理サブルーチンに処理
のために渡される。同様に、ステップ426の結果とし
てトリガ処理サブルーチンに入るとき、識別された
「後」トリガのリストがトリガ処理サブルーチンに処理
のために渡される。ステップ428の結果としてトリガ
処理サブルーチンに入るとき、識別された「失敗後」ト
リガのリストがトリガ処理サブルーチンに処理のために
渡される。
【0035】ステップ502で、STATUS変数をPROCEED
に設定する。上記のように、このSTATUS変数は、STOP_F
AILURE、STOP_SUCCESS、およびPROCEEDという3つの可
能な値のうちの1つをとることができる。これらの3つ
の値は、次のようなあらかじめ定められた順位を有す
る。STOP_FAILURE<STOP_SUCCESS<PROCEEDこのSTATUS
変数の使用法については以下で詳細に説明する。
【0036】ステップ504で、トリガ処理サブルーチ
ンに渡された最初のトリガを処理のために選択する。ス
テップ506で、トリガの条件パラメータにおけるモニ
タ対象フィールドのリストと、データベースコマンドに
含まれるフィールドの共通部分を計算し、集合RELEVANT
_ACCESSに代入する。この共通部分が空集合である(す
なわち、データベースコマンドに含まれるいずれのフィ
ールドも、条件パラメータ内のモニタ対象フィールドの
リストのうちのいずれとも一致しない)場合、現在のト
リガに関連するアクションは実行されず、ステップ50
8におけるテストはYESとなり、制御はステップ51
6に進み、さらに処理すべきトリガがあるかどうかが判
定される。共通部分が空集合でない(すなわち、データ
ベースコマンドに含まれるフィールドのうちの少なくと
も1つが、条件パラメータ内のモニタ対象フィールドの
リスト内のフィールドに一致する)、ステップ508に
おけるテストはNOとなり、制御はステップ510に進
む。
【0037】ステップ510は、本発明のセキュリティ
機能を実現する。セキュリティポリシーの必要性が生じ
るのは、トリガ処理が、状況によっては、データベース
102のセキュリティポリシーに違反する可能性がある
からである。ユーザが標準データベースコマンドにより
アクセスすることができないはずの情報へのアクセス
を、トリガにより提供するのは好ましくない。例えば、
トリガ発行者は、従業員給与に関する情報を知る権限が
ない場合がある。トリガ発行者が、データベース給与フ
ィールドをモニタするトリガを設定することができたと
すると、従業員の給与が変更されたかどうかを判定する
ことができてしまう。これは、トリガ発行者に機密情報
を提供し、セキュリティポリシーに違反することにな
る。ステップ510および512は、このようなセキュ
リティ違反を以下のように回避する。ステップ510
で、トリガゲートウェイ104は、トリガの発行者のセ
キュリティ権限を用いてデータベース102へクエリコ
マンドを提出する。このクエリコマンドは、集合RELEVA
NT_ACCESS内のフィールドへのアクセス(例えば、読み
出し)の要求である。クエリが権限エラーを返した場
合、これは、トリガアクションの実行がDBのセキュリ
ティポリシーに違反している可能性があることを示す。
このような場合、ステップ512におけるテストはYE
Sとなり、制御は、トリガをさらに処理することなくス
テップ516に進む。クエリが権限エラーを返さない場
合、トリガアクションの実行はDBのセキュリティポリ
シーに違反しない。このような場合、ステップ512に
おけるテストはNOとなり、制御はステップ514に進
む。
【0038】ステップ514で、トリガ仮起動サブルー
チンを呼び出す。ここで、現在のトリガは、そのアクシ
ョンが実行されるべきかどうかがテストされ、適当であ
れば、トリガアクションが実行される。トリガ仮起動サ
ブルーチンについては図6に関連して後述する。トリガ
仮起動サブルーチンを呼び出した後、ステップ516
で、処理すべきトリガがさらにあるかどうかを判定す
る。処理すべきトリガがさらにある場合、ステップ52
0で次のトリガを選択し、制御は、次のトリガの処理の
ためにステップ506に復帰する。
【0039】トリガ仮起動サブルーチンを図6に示す。
ステップ602で、トリガ定義の条件パラメータのブー
ル式部分をテストする。条件が満たされる場合、ステッ
プ604で、トリガ定義で指定されるトリガアクション
が実行される。条件が満たされない場合、ステップ60
8で、サブルーチンは、トリガアクションを実行せずに
終了する。本発明の1つの特徴によれば、トリガは、ネ
ットワーク106を通じてトリガアクションサーバ11
0にトリガ実行要求を送ることによって実行される。ト
リガ実行要求を受信すると、トリガアクションサーバ1
10はトリガを実行する。トリガアクションサーバでト
リガアクションを実行する1つの利点は、データベース
102やトリガゲートウェイ104のオペレーションを
中断せずに、トリガアクションを実装する命令をトリガ
アクションサーバ110において更新することが可能で
あることである。トリガゲートウェイ104は、トリガ
アクションサーバ110が適当なアクションを正しく実
行することを可能にする情報を伝達するパラメータをト
リガアクションサーバ110に渡すことが可能である。
例えば、トリガゲートウェイ104は、データベースコ
マンドによってアクセスされるデータベースオブジェク
トの(変更前あるいは変更後の)値、そのオブジェクト
のDN、処理されるトリガの識別、およびその他の、ト
リガに関するさらに詳細な情報のサブセットを送ること
が可能である。トリガアクションサーバ110は、トリ
ガゲートウェイ104から渡された情報を用いて、実行
するルーチンを識別する。トリガアクションサーバ11
0は、トリガゲートウェイ104から受信した情報を用
いて、識別したルーチンを実行する。一例として、トリ
ガアクションサーバ110は、イベントタイプによって
インデックス付けされた配列への参照により、実行する
適当なサブルーチンを識別することが可能である。
【0040】別法として、トリガアクションはトリガゲ
ートウェイ104自体で実行することも可能である。こ
れは、トリガが、動的にリンクするライブラリと、アク
ションのために呼び出すファンクションの名前とを指定
することによって可能となる。その場合、ファンクショ
ンは、トリガアクションサーバ110による実行に関し
て前述したようなパラメータを受け取ることになる。
【0041】トリガが実行された後、TRIGGER_STATUSが
トリガアクションサーバ110から返される。TRIGGER_
STATUSの値は、上記の3つの可能なSTATUS値、すなわ
ち、PROCEED、STOP_SUCCESS、およびSTOP_FAILUREのう
ちの1つである。ステップ606で、変数STATUSに、変
数STATUSの現在の値とTRIGGER_STATUSのうちの最小値が
代入される。ただし、「最小値」は、上記のようなSTAT
US変数の順位に従って定義される。ステップ608で、
トリガ仮起動ルーチンは終了する。
【0042】図5および図6の流れ図は、トリガの順次
処理を示唆しているが、トリガを並列に処理してトリガ
処理のパフォーマンスを改善することも可能である。そ
のような場合、STATUS変数の正しい値を維持するため
に、ステップ606の前でセマフォ獲得を行い、ステッ
プ606の後でセマフォ解放を行う。また、トリガゲー
トウェイ104は、ステップ518で直ちに復帰するの
ではなく、すべてのトリガの処理が完了するまで待機し
てから復帰する。トリガゲートウェイ104は、1つの
トリガを選択し、そのトリガに対するステップ506、
508、510、512、および514を実行するため
に1つのスレッドを起動する。そのスレッドを起動した
後、システムは、次のトリガを選択してそのスレッドを
起動することが可能であり、以下同様に続けることがで
きる。
【0043】なお、場合によっては、トリガ処理の結果
として、データベースシステムが無限ループに入る可能
性がある。例えば、図7に示すデータベースシステムを
考える。データベース708およびデータベース712
は、一方のデータベースへの更新が他方のデータベース
への同じ更新を要求するように一貫性のあるデータを含
むという意味で、関係づけられている。データベース7
08は、対応するトリガゲートウェイ706を有し、デ
ータベース712は、対応するトリガゲートウェイ71
0を有する。各トリガゲートウェイには、データベース
システムの一貫性を実現するための適当なトリガが設け
られる。無限ループは次のように生じる可能性がある。
ユーザ702が、データベース708内のデータベース
オブジェクトを変更するデータベースコマンドを送信す
る場合を考える。このデータベースコマンドは、トリガ
ゲートウェイ706によって受信される。トリガゲート
ウェイ706では、トリガアクションが実行されるべき
であると判定され、その結果、データベース712を更
新して一貫性を維持するために、同一のデータベースコ
マンドがデータベース712に送られる。そのとき、ト
リガゲートウェイ706は、適当なトリガ実行要求をト
リガアクションサーバ714へ送り、その結果、トリガ
が実行され、適当なデータベースコマンドがトリガゲー
トウェイ710へ送られる。トリガゲートウェイ710
もまた、コマンドを受信すると、トリガアクションが実
行されるべきであると判定し、その結果、適当なトリガ
実行要求がトリガアクションサーバ714へ送られ、そ
れにより、トリガが実行され、データベース708を更
新して一貫性を維持するために適当なデータベースコマ
ンドが送信される。理解されるように、このような処理
は無限ループを引き起こす。各トリガゲートウェイは、
データベース更新コマンドを受信すると、他方のトリガ
ゲートウェイに関連するデータベースを更新するために
トリガアクションの実行を開始するからである。
【0044】この問題点に対する1つの解決法は、各デ
ータベースコマンドに、そのコマンドのソース(発信
元)の識別でタグ(ラベル)付けすることである。トリ
ガアクションサーバ714から発信されるデータベース
コマンドは、そのデータベースコマンドをトリガアクシ
ョンサーバに送信させたトリガゲートウェイから発信さ
れたものとしてラベル付けされる。トリガアクションサ
ーバ714は、トリガ実行要求を受信すると、関連する
アクションを実行することにより、そのトリガ実行要求
の発信元であるとラベルされたゲートウェイへのデータ
ベース更新コマンドを送信することになる場合には、そ
のアクションを実行しない。この技術は、上記の無限ル
ープの問題点を解決する。この問題点に対するもう1つ
の解決法は、一部のユーザから受信される一部のデータ
ベースコマンドのトリガ処理を中断(サスペンド)する
ことである。この中断を実行する1つの方法は、トリガ
ゲートウェイ706および710を通らずに直接にそれ
ぞれデータベース708および712にアクセスするこ
とを可能にするメカニズムをユーザに提供することであ
る。ゲートウェイはそれらのデータベースコマンドを見
なくなるため、それらのコマンドに応答して呼び出され
るトリガ処理はない。しかし、トリガ処理の結果として
2つのデータベースの間のデータベース一貫性が維持さ
れる場合、一貫性が維持されていることを確認する手段
をユーザがとることが必要となるため、これらの技術は
多少のリスクを有することに注意すべきである。第1の
場合、トリガは、非一貫性を避けるように慎重に構成さ
れなければならない。トリガは、例えば、トリガ発信元
データベースに存在する値を、他方のデータベース内の
フィールドに設定するというような、単純なものでなけ
ればならない。慎重な構成は第2の場合にも有効であ
る。しかし、第2の場合には、いくつかの拡張(例え
ば、フィールド値の固定深さ固定小数点計算)も可能で
ある。
【0045】以上、本発明の実施例について説明した
が、当業者であれば、本発明の技術的範囲を離れること
なく、上記の説明に基づいてさまざまな変形例を考える
ことが可能であり、それらの変形例も同様に本発明の技
術的範囲に入る。例えば、上記では階層ディレクトリ型
データベースに関して説明したが、本発明の原理は、他
のタイプのデータベースでも同様に実現可能である。
【0046】
【発明の効果】以上述べたごとく、本発明によれば、デ
ータベースシステムにトリガ処理をローカルに追加する
ための技術が改善される。
【図面の簡単な説明】
【図1】本発明が実現されるタイプのシステムの図であ
る。
【図2】トリガゲートウェイを実装するように構成され
たコンピュータのブロック図である。
【図3】階層ディレクトリ型データベースにおけるデー
タ編成の図である。
【図4】本発明によるトリガゲートウェイによって実行
されるステップを示す流れ図である。
【図5】本発明によるトリガゲートウェイによって実行
されるステップを示す流れ図である。
【図6】本発明によるトリガゲートウェイによって実行
されるステップを示す流れ図である。
【図7】本発明がトリガ処理中の無限ループを回避する
ように実現されたタイプのシステムの図である。
【符号の説明】
102 データベース 104 トリガゲートウェイ 106 ネットワーク 108 ユーザ 110 トリガアクションサーバ 202 プロセッサ 204 入力ポート 206 メモリ 208 出力ポート 210 プログラムコード 212 格納トリガ 302 ルートノード 702 ユーザ 704 ネットワーク 706 トリガゲートウェイ 708 データベース 710 トリガゲートウェイ 712 データベース 714 トリガアクションサーバ
───────────────────────────────────────────────────── フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A. (72)発明者 ジュリアナ フレイアー シルバ アメリカ合衆国、07430 ニュージャージ ー、マーワー、ローチ レイン 284 (72)発明者 ダニエル フランシス リエウウェン アメリカ合衆国、08876 ニュージャージ ー、サマービル、イースト メイン スト リート 1イー 215 (72)発明者 ガビン シー ミカエル オーストラリア、2113 シドニー、グレ ブ、ロス ストリート 42/75エー (72)発明者 ジョアン ジャネット オージル アメリカ合衆国、07079 ニュージャージ ー、サウス オレンジ、ガーフィールド プレイス 209

Claims (27)

    【特許請求の範囲】
  1. 【請求項1】 それぞれ対応するアクションを有する複
    数のトリガを処理するデータベーストリガゲートウェイ
    の動作方法において、 前記データベーストリガゲートウェイは、データベース
    管理システムとは独立であり、 前記方法は、 前記データベース管理システム宛のデータベースコマン
    ドを受信するステップと、 前記データベースコマンドに関連する少なくとも1つの
    トリガを識別する識別ステップと、 前記少なくとも1つのトリガを処理する処理ステップと
    を有することを特徴とする、データベーストリガゲート
    ウェイの動作方法。
  2. 【請求項2】 前記データベース管理システムは階層デ
    ータベース管理システムであり、 前記識別ステップは、 前記データベースコマンドに関連するタイプトリガを識
    別するステップと、 前記データベースコマンドに関連するツリートリガを識
    別するステップとを有することを特徴とする請求項1に
    記載の方法。
  3. 【請求項3】 前記処理ステップは、 前記少なくとも1つのトリガに関連するアクションが実
    行されるべきであるかどうかを判定する第1判定ステッ
    プを有することを特徴とする請求項1に記載の方法。
  4. 【請求項4】 前記少なくとも1つのトリガに関連する
    アクションが実行されるべきであると判定された場合、
    前記少なくとも1つのトリガに関連するアクションの実
    行を開始する実行開始ステップをさらに有することを特
    徴とする請求項3に記載の方法。
  5. 【請求項5】 前記実行開始ステップは、 トリガアクションサーバにおいて前記少なくとも1つの
    トリガに関連するアクションの実行を開始することを要
    求するトリガ実行要求を該トリガアクションサーバへ送
    信するステップを有することを特徴とする請求項4に記
    載の方法。
  6. 【請求項6】 前記実行開始ステップは、 前記データベーストリガゲートウェイにおいて前記少な
    くとも1つのトリガに関連するアクションを実行するス
    テップを有することを特徴とする請求項4に記載の方
    法。
  7. 【請求項7】 前記少なくとも1つのトリガに関連する
    アクションの実行が、前記データベースコマンドを前記
    データベース管理システムへ送信すべきであることを示
    すステータスを返した場合に限り、前記データベースコ
    マンドを処理のために前記データベース管理システムへ
    送信するステップをさらに有することを特徴とする請求
    項4に記載の方法。
  8. 【請求項8】 前記データベースコマンドを処理のため
    に前記データベース管理システムへ送信するステップを
    さらに有することを特徴とする請求項1に記載の方法。
  9. 【請求項9】 前記第1判定ステップは、 前記実行が前記少なくとも1つのトリガの発行者のセキ
    ュリティ権限に違反する場合に、前記少なくとも1つの
    トリガに関連するアクションは実行されるべきではない
    と判定する第2判定ステップを有することを特徴とする
    請求項3に記載の方法。
  10. 【請求項10】 前記第2判定ステップは、 前記セキュリティ権限を用いてデータベースクエリコマ
    ンドを前記データベース管理システムへ送信するステッ
    プと、 前記データベース管理システムが前記データベースクエ
    リコマンドに応答してエラーを返した場合、前記少なく
    とも1つのトリガに関連するアクションの実行は前記セ
    キュリティ権限に違反することになると判定するステッ
    プとを有することを特徴とする請求項9に記載の方法。
  11. 【請求項11】 前記第1判定ステップは、 前記アクションの結果として前記データベースコマンド
    の発信元である第2のデータベース管理システムへの更
    新がなされる場合に、前記少なくとも1つのトリガに関
    連するアクションは実行されるべきではないと判定する
    ステップを有することを特徴とする請求項3に記載の方
    法。
  12. 【請求項12】 データベーストリガを処理するデータ
    ベーストリガゲートウェイにおいて、 前記データベーストリガゲートウェイは、データベース
    管理システムとは独立であり、 それぞれ対応するアクションを有する複数のトリガを格
    納するメモリと、 前記データベース管理システム宛のデータベースコマン
    ドを受信する入力ポートと、 前記データベースコマンドに関連する少なくとも1つの
    トリガを識別する識別手段と、 前記少なくとも1つのトリガを処理する処理手段とを有
    することを特徴とするデータベーストリガゲートウェ
    イ。
  13. 【請求項13】 前記データベース管理システムは階層
    データベース管理システムであり、 前記識別手段は、 前記データベースコマンドに関連するタイプトリガを識
    別する手段と、 前記データベースコマンドに関連するツリートリガを識
    別する手段とを有することを特徴とする請求項12に記
    載のデータベーストリガゲートウェイ。
  14. 【請求項14】 前記処理手段は、 前記少なくとも1つのトリガに関連するアクションが実
    行されるべきであるかどうかを判定する第1判定手段を
    有することを特徴とする請求項12に記載のデータベー
    ストリガゲートウェイ。
  15. 【請求項15】 前記少なくとも1つのトリガに関連す
    るアクションが実行されるべきであると判定された場
    合、前記少なくとも1つのトリガに関連するアクション
    の実行を開始する実行開始手段をさらに有することを特
    徴とする請求項14に記載のデータベーストリガゲート
    ウェイ。
  16. 【請求項16】 前記実行開始手段は、 トリガアクションサーバにおいて前記少なくとも1つの
    トリガに関連するアクションの実行を開始することを要
    求するトリガ実行要求を該トリガアクションサーバへ送
    信する手段を有することを特徴とする請求項15に記載
    のデータベーストリガゲートウェイ。
  17. 【請求項17】 前記実行開始手段は、 前記データベーストリガゲートウェイにおいて前記少な
    くとも1つのトリガに関連するアクションを実行する手
    段を有することを特徴とする請求項15に記載のデータ
    ベーストリガゲートウェイ。
  18. 【請求項18】 前記データベースコマンドを処理のた
    めに前記データベース管理システムへ送信する手段をさ
    らに有することを特徴とする請求項12に記載のデータ
    ベーストリガゲートウェイ。
  19. 【請求項19】 前記第1判定手段は、 前記実行が前記少なくとも1つのトリガの発行者のセキ
    ュリティ権限に違反する場合に、前記少なくとも1つの
    トリガに関連するアクションは実行されるべきではない
    と判定する第2判定手段を有することを特徴とする請求
    項14に記載のデータベーストリガゲートウェイ。
  20. 【請求項20】 前記第2判定手段は、 前記セキュリティ権限を用いてデータベースクエリコマ
    ンドを前記データベース管理システムへ送信する手段
    と、 前記データベース管理システムが前記データベースクエ
    リコマンドに応答してエラーを返した場合、前記少なく
    とも1つのトリガに関連するアクションの実行は前記セ
    キュリティ権限に違反することになると判定する手段と
    を有することを特徴とする請求項19に記載のデータベ
    ーストリガゲートウェイ。
  21. 【請求項21】 前記第1判定手段は、 前記アクションの結果として前記データベースコマンド
    の発信元である第2のデータベース管理システムへの更
    新がなされる場合に、前記少なくとも1つのトリガに関
    連するアクションは実行されるべきではないと判定する
    手段を有することを特徴とする請求項14に記載のデー
    タベーストリガゲートウェイ。
  22. 【請求項22】 格納データ、および、該格納データに
    アクセスするための管理システムを有するデータベース
    と、 前記データベースとは独立のトリガゲートウェイとを有
    するシステムにおいて、 前記トリガゲートウェイは、 それぞれ対応するアクションを有する複数のトリガを格
    納するメモリと、 前記データベース宛のデータベースコマンドを受信する
    手段と、 前記データベースコマンドに関連する少なくとも1つの
    トリガを識別する手段と、 前記少なくとも1つのトリガを処理する手段とを有する
    ことを特徴とするシステム。
  23. 【請求項23】 前記システムは、トリガアクションサ
    ーバをさらに有し、 前記トリガゲートウェイは、 前記トリガアクションサーバにおいてトリガアクション
    の実行を開始することを要求するトリガ実行要求を該ト
    リガアクションサーバへ送信する手段をさらに有するこ
    とを特徴とする請求項22に記載のシステム。
  24. 【請求項24】 前記トリガゲートウェイは、 前記データベースコマンドを前記データベースへ送信す
    る手段をさらに有することを特徴とする請求項22に記
    載のシステム。
  25. 【請求項25】 前記データベースおよび前記トリガゲ
    ートウェイは同じ場所に配置されることを特徴とする請
    求項22に記載のシステム。
  26. 【請求項26】 前記トリガゲートウェイは前記データ
    ベースから離れて配置されることを特徴とする請求項2
    2に記載のシステム。
  27. 【請求項27】 データベース管理システム宛のデータ
    ベースコマンドを受信するステップと、 前記データベースコマンドの失敗に関連する少なくとも
    1つのトリガを識別する識別ステップと、 前記データベースコマンドを前記データベース管理シス
    テムへ転送するステップと、 前記データベースコマンドが失敗した場合に前記少なく
    とも1つのトリガを処理するステップとを有することを
    特徴とする、データベーストリガの処理方法。
JP7950A 1999-01-22 2000-01-17 デ―タベ―ストリガゲ―トウェイおよびその動作方法 Pending JP2000215092A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/235,730 US6594656B1 (en) 1999-01-22 1999-01-22 Active database trigger processing using a trigger gateway
US09/235730 1999-01-22

Publications (1)

Publication Number Publication Date
JP2000215092A true JP2000215092A (ja) 2000-08-04

Family

ID=22886693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7950A Pending JP2000215092A (ja) 1999-01-22 2000-01-17 デ―タベ―ストリガゲ―トウェイおよびその動作方法

Country Status (4)

Country Link
US (1) US6594656B1 (ja)
EP (1) EP1022663A3 (ja)
JP (1) JP2000215092A (ja)
CA (1) CA2293933A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102316384A (zh) * 2011-09-08 2012-01-11 中兴通讯股份有限公司 页面多图切换实现方法及网络电视嵌入式浏览器

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2362064A (en) * 2000-05-04 2001-11-07 Marconi Comm Ltd Switching of software in a communications system
ATE387675T1 (de) * 2000-11-09 2008-03-15 Accenture Llp Verfahren und system zur verbesserung einer über ein kommunikationsnetz durchgeführten kommerziellen transaktion
EP1342182A4 (en) * 2000-11-09 2005-11-16 Accenture Llp SYSTEM AND METHOD FOR SWITCHING A DATA PROCESSING SYSTEM ONTO A BUSINESS TO BUSINESS INTEGRATION SYSTEM
US20020066038A1 (en) * 2000-11-29 2002-05-30 Ulf Mattsson Method and a system for preventing impersonation of a database user
US7444665B2 (en) * 2001-01-03 2008-10-28 Thomas Edward Cezeaux Interactive television system
US6711560B2 (en) * 2001-03-29 2004-03-23 Hewlett-Packard Development Company, L.P. Method of executing conflicting triggers in an active database
US6721725B2 (en) * 2001-03-29 2004-04-13 Hewlett-Packard Development Company, L.P. Method of parallel trigger execution in an active database
US6745174B2 (en) * 2001-03-29 2004-06-01 Hewlett-Packard Development Company, L.P. Method of executing before-triggers in an active database
US20020184652A1 (en) * 2001-05-31 2002-12-05 Cezeaux Thomas Edward Replication of configuration information for set-top boxes
US20020184631A1 (en) * 2001-05-31 2002-12-05 Cezeaux Thomas Edward Subscriber self-provisioning via a set-top box
US20020199184A1 (en) * 2001-05-31 2002-12-26 Cezeaux Thomas Edward Real-time monitoring and blocking of content
JP2003076618A (ja) * 2001-08-30 2003-03-14 Fujitsu Ltd 装置状態管理方法及びそのシステム
US7818305B2 (en) * 2003-05-29 2010-10-19 Hyperion Solution Corporation Hierarchical triggers for database
US20070174271A1 (en) * 2005-02-18 2007-07-26 Ulf Mattsson Database system with second preprocessor and method for accessing a database
US20070083545A1 (en) * 2005-10-12 2007-04-12 Erwin Pinter Selectively triggering events
US20100031321A1 (en) 2007-06-11 2010-02-04 Protegrity Corporation Method and system for preventing impersonation of computer system user
US8396846B2 (en) * 2007-12-13 2013-03-12 International Business Machines Corporation Database trigger modification system and method
US10666574B2 (en) * 2015-09-28 2020-05-26 Amazon Technologies, Inc. Distributed stream-based database triggers
US10305861B2 (en) 2016-08-29 2019-05-28 Microsoft Technology Licensing, Llc. Cross-tenant data leakage isolation
US10558641B2 (en) 2017-04-21 2020-02-11 Microsoft Technology Licensing, Llc Trigger system for databases using proxy

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667951A (ja) 1992-05-20 1994-03-11 Nec Corp データベース管理システム
US5530855A (en) 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
US5564047A (en) 1995-04-11 1996-10-08 International Business Machines Corporation Trigger generation in an active database management system
US5535385A (en) 1995-05-19 1996-07-09 At&T Corp. Dealing with side effects of transactions in data base systems using a multi-set algebra
US6058393A (en) * 1996-02-23 2000-05-02 International Business Machines Corporation Dynamic connection to a remote tool in a distributed processing system environment used for debugging
US5765160A (en) 1996-08-01 1998-06-09 Unisys Corp. Object-oriented database, a method for registering triggers for processing at end of a transaction
EP0840240A3 (en) 1996-10-31 2004-02-04 Ncr International Inc. System for performing intelligent analysis and segmentation of a computer database
EP0889398A2 (en) 1997-07-04 1999-01-07 Balaena Limited Computer system
US6202070B1 (en) * 1997-12-31 2001-03-13 Compaq Computer Corporation Computer manufacturing system architecture with enhanced software distribution functions
US6212514B1 (en) * 1998-07-31 2001-04-03 International Business Machines Corporation Data base optimization method for estimating query and trigger procedure costs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102316384A (zh) * 2011-09-08 2012-01-11 中兴通讯股份有限公司 页面多图切换实现方法及网络电视嵌入式浏览器
CN102316384B (zh) * 2011-09-08 2018-03-06 中兴通讯股份有限公司 页面多图切换实现方法及网络电视嵌入式浏览器

Also Published As

Publication number Publication date
EP1022663A3 (en) 2001-01-17
US6594656B1 (en) 2003-07-15
EP1022663A2 (en) 2000-07-26
CA2293933A1 (en) 2000-07-22

Similar Documents

Publication Publication Date Title
JP2000215092A (ja) デ―タベ―ストリガゲ―トウェイおよびその動作方法
US7925616B2 (en) Report system and method using context-sensitive prompt objects
US9032011B2 (en) Management of data object sharing among applications
US7970823B2 (en) System for sharing data objects among applications
US7290049B2 (en) Management information to object mapping and correlator
US6446136B1 (en) System and method for dynamic correlation of events
US7418489B2 (en) Method and apparatus for applying policies
US6236996B1 (en) System and method for restricting database access to managed object information using a permissions table that specifies access rights to the managed objects
KR101114139B1 (ko) 네트워크를 감시하기 위한 시스템 및 방법
US6122664A (en) Process for monitoring a plurality of object types of a plurality of nodes from a management node in a data processing system by distributing configured agents
US6233584B1 (en) Technique for providing a universal query for multiple different databases
US9077724B2 (en) Systems and methods for analyzing application security policies
US5819281A (en) Notification of aspect value change in object-oriented programming
US20160132551A1 (en) System and method for building business service model
US6286035B1 (en) Validating and parsing engine for system configuration and support command messages
US20050108725A1 (en) Object manager for common information model
US20060085532A1 (en) Remote management of communication devices
US20040267749A1 (en) Resource name interface for managing policy resources
JP2002542525A (ja) イベントのダイナミックなフィルタリングおよびルーティングの方法および装置
JP2000035949A (ja) セキュア分散型ネットワークにおけるデータベースアクセス制御を供給するシステム及び方法
CN111581232B (zh) 一种基于elk的慢sql实时分析方法及系统
US7275250B1 (en) Method and apparatus for correlating events
CN116070294B (zh) 一种权限管理方法、系统、装置、服务器及存储介质
US20090100130A1 (en) System and method for anomalous directory client activity detection
US7761418B2 (en) Method and product for sharing logged data objects within a distributed storage system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040510

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040810

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040813

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050119