(57)【要約】  【課題】監視されるシステムで発生する事象に関する事象情報を受け取り処理する事象処理システムを提供する。  【解決手段】到来する基礎事象の到来パターンに対応して到来事象を処理する種々のタイプの事象処理ノードを用意し、それらノードが相互通信を行う１つのネットワークを構成する。事象処理ノードは、１つまたは複数の入力ストリームから事象データ項目を受け取り、処理し、出力ストリームとして事象データ項目を出力する。出力する事象データ項目は、到来した基礎事象それぞれに単独に関連づけされるものと、複数基礎情報の組合せに対応するものとがあり、それぞれ、基礎情報の特性と発生時点を示す事象データを含む。事象処理ノードは、各入力データ項目毎に個々に処理するタイプと事象間の所定の関係に基づいて処理を行うタイプとに大別される。【選択図】図６
2005346703.tif 000002
【特許請求の範囲】
【請求項１】
監視されるシステムの状態変化の形式で基礎事象を監視する監視手段と、前記監視手段から前記基礎事象についての事象情報を受け取って処理する事象処理手段と、を備える事象監視処理システムであって、
前記事象処理手段は、さらに、
事象データ項目について予め決められた処理動作を実行するのに専用のノードタイプをそれぞれが有する複数の異なるタイプの複数の離散的な事象処理ノードと、
ノード・ネットワークを形成するよう前記ノード間で相互に通信する手段と、を備えており、
それぞれの前記事象データ項目は、前記基礎事象または該基礎事象の組合せに関連し、監視されている前記システムにおいて該事象の特性および発生時間を示す事象データを有しており、
それぞれの前記ノードは、前記事象データ項目の少なくとも１つの入力ストリームを受け取り、該事象データ項目の少なくとも１つの出力ストリームを生成するよう処理し、
前記ノード・ネットワークにおいて、前記ノードのうちの少なくともいくつかのノードの前記出力ストリームは、該ノードのうちの他のノードの前記入力ストリームを形成し、
少なくとも１つの前記ノードは、少なくとも１つの前記入力ストリームの形態で前記監視手段から前記事象情報を受け取る入力ノードを構成し、
前記事象処理ノードのそれぞれの前記タイプについて、該タイプのノードによって実施される処理の観点から、該処理を実施する機能処理コードが設けられ、それぞれの前記事象処理ノードは、第１のデータおよび第２のデータを含む関連データを有しており、
前記第１のデータは、同じタイプのすべての前記ノードについて同じであり、該ノードのタイプに関連する前記機能処理コードを識別することにより、該機能処理コードが、同じタイプのすべての前記ノードによって共用されるようにし、
前記第２のデータは、それぞれの前記ノードに固有であり、該ノードに関連づけられた前記少なくとも１つの出力ストリームのそれぞれについて、該ストリームの宛先を識別するデータを含む、
事象監視処理システム。
【請求項２】
前記ノード間で相互に通信する前記手段は、一つの前記ノードから他の前記ノードに、事象データ項目ポインタを渡す手段を有する、
請求項１に記載の事象監視処理システム。
【請求項３】
前記事象処理ノードのうちの少なくとも１つは、前記事象データ項目によって表される事象間の予め決められた相互関係を検出するよう動作する事象横断処理ノードであり、
前記予め決められた関係が存在することが、該ノードに関連付けられた前記出力ストリームに事象データ項目を出力するのに必要な条件である、
請求項１に記載の事象監視処理システム。
【請求項４】
前記事象処理ノードの少なくとも１つは、別個に受け取られた入力事象データ項目のそれぞれに基づいてその処理を実行するよう動作する単一事象処理ノードである、
請求項１に記載の事象監視処理システム。
【請求項５】
前記出力ストリームを受け取り、該出力ストリームの事象データ項目に応答して、対応する措置を実行する出力措置手段をさらに備える、
請求項１に記載の事象監視処理システム。
【請求項６】
前記基礎事象の組合せに関連する前記事象データ項目は、一組の構成要素事象データ項目を有する構成になっており、該構成は、それぞれの前記構成要素事象データ項目が前記基礎事象に直接関連するまで、該それぞれの構成要素事象データ項目について再帰的に実施される、
請求項１に記載の事象監視処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔通信ネットワークのようなシステムの内部で発生し監視される事象に関する事象情報を受け取り処理するための事象処理システムに関するものであり、更に、基礎処理ブロックを用いてそのようなシステムを構築する方法に関するものである。
【背景技術】
【０００２】
一般的に、遠隔通信システムやコンピュータ・ネットワークのような複雑なシステムは、異常な動作を検出する目的を持つ監視システムを備えている。このため、監視されるシステムそれ自体または監視側システムのいずれかは、監視されるシステムにおける特定の事象の発生に応答して事象メッセージを生成するように構成される。これら事象とは、典型的には、該システムの一部の状態の変化である。検出される事象には、一般に、システム過負荷または障害を示す事象が含まれる。事象メッセージは、監視システムの適切な部分に渡され、監視システムの事象処理ルーチンによって解読される。典型的な既知の事象処理ルーチンは、到来する事象メッセージの各々を検証して、その事象メッセージによって表される事象が講ずべき処置を必要とするかを確認する。例えば、米国特許第5,063,523号には、各到来事象の属性パターンを、一組のあらかじめ決められた規則に対して突き合わせを行ない、合致する場合、対応するコマンド・ファイルが実行されるシステムが記載されている。
【０００３】
しかしながら、複雑なシステムでは、生成される事象の数が非常に多いため（例えば、ＳＯＮＥＴ ＯＣ４８ファイバが使用される場合６０秒毎に最高３００,０００個の事象が生成されることがあるため）、各事象の完全な分析を遂行することは、実際的でなく、有益でない。そのようなストリームの事象を扱うため、最後のｎ個の事象枠に対してパターン突き合わせを行う方法が知られている。この方法の基本的概念は、特定の障害は、特定のパターンの事象を引き起こすというものである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
既存の事象処理システムは、規則に基づくものであろうと事象パターン突き合わせに基づくものであろうと、すべて、監視される特定のシステムについて手工芸的になりがちである。一般的に、現行の事象処理システムには、容易に理解される形態で事象を処理し結合し、即座に評価可能なアーキテクチャを提供するシステムはない。従って、本発明の目的は、理解可能で評価可能な形態で事象を処理する事象システムおよびそのようなシステムを構築する方法を提供することである。
【課題を解決するための手段】
【０００５】
本発明の一面に従って、監視されるシステムにおいて発生する基礎事象に関する事象情報を受け取り処理するための事象処理システムが提供される。この事象処理システムは、
−それぞれが上記基礎事象の１つまたは複数の基礎事象の組合せに関連付けられ、該基礎事象の特性および上記監視されるシステムにおける該基礎事象の発生時間を示す事象データを有する事象データ項目をそれぞれ処理する複数の離散的事象処理ノードであって、それぞれの上記ノードが、上記事象データ項目が含まれる入力ストリームを少なくとも１つ受け取って処理して該事象データ項目が含まれる出力ストリームを少なくとも１つ生成するようにした事象処理ノードと、
−上記複数の離散的事象処理ノードの少なくともいくつかのものからの出力ストリームが、いくつかの別の上記ノードへの入力ストリームとなり、少なくとも１つの該ノードが、少なくとも１つの上記入力ストリームの形式で前記事象情報を受け取るための入力ノードとなるネットワークを形成するよう上記ノード間の相互通信を行う手段と、
を備える。
【０００６】
事象処理ノードは、一般的に、各入力事象データ項目を他の事象データ項目と切り離して処理するように動作する単一事象処理ノード、および、事象データ項目によって表される事象の間でのあらかじめ定められた関係を検出するように動作する事象横断処理ノードを含む。このあらかじめ定められた関係の存在は、事象データ項目の出力にとって（必ずしも十分条件ではないが）必要条件である。そのようなノードの標準セットを提供することによって、大部分のニーズに応ずることのできる広範囲な種々の事象処理システムを構築することが容易となる。
【０００７】
事象横断処理ノードの１つの可能な形態は、生成ノードである。生成ノードは、事象データ項目の複数の入力ストリームを受け取り、あらかじめ定められた事象データ項目間の関係が該複数の入力ストリームにわたる事象データ項目の間に存在するか否かを検証し、そのような事象データ項目間の関係が所定の時間的関係において存在する場合、そのような入力ストリームの事象データ項目によって表される事象の組合せを出力ストリームの事象データ項目として出力する。
【０００８】
別の事象横断処理ノードは、否定条件ノードであって、このノードは、各々が事象データ項目から構成される第１と第２という２つの入力ストリームを受け取り、それらの入力ストリームの事象データ項目にあらかじめ定められた関係があるかを検査し、その関係が所定の時間的関係において第２の入力ストリームにおける事象データ項目の存在なしに第１の入力ストリームの存在によって充足される場合に、第１の入力ストリームの事象データ項目に対応する事象データ項目を当該ノードの出力ストリーム上に出力する。
【０００９】
更にまた別のタイプの事象横断処理ノードは、テーブル参照ノードであって、このノードはテーブル・ノードと連係して使用される。テーブル・ノードは、事象データ項目からなる入力ストリームを受け取り、対応する事象または事象の組合せの発生時間を含む事象データを入力事象データ項目から取り出し記憶するように構成される。テーブル・ノードは、指定された時点に関して行われる問い合わせに応答して当該指定時点において存在した事象の事象データを回答する。テーブル参照ノードにおいては、事象データが上記テーブル・ノードに記憶されているある特定の事象データ項目と１つの入力事象データ項目との間の所定の時間的関係が探索される。ある特定の時間について発生時間を含む上記特定の事象データが上記テーブル・ノードに記憶されていれば、上記所定の時間関係は充足されたものと見なされる。従って、テーブル参照ノードは、特定の時点に関してテーブル・ノードに問い合わせを行うことによって必要とされる時間的関係を検証し、テーブル・ノードから戻されたデータを調べ、それが該特定事象データ項目の存在を示しているかを確認する。一般的に、各事象データ項目についてテーブル・ノードに記憶される事象データは、監視されるシステムの与えられたパラメータの値を含み、当該特定事象データ項目は、その記憶されたパラメータの値があらかじめ定められた範囲内にあるような事象データ項目である。
【００１０】
単一事象処理ノードの可能なタイプの１つは、フィルタ・ノードである。このノードは、あらかじめ定められた選択基準に合致する事象データを持つ事象データ項目をすべて入力ストリームから選択し、当該ノードからの出力ストリーム上に出力する。
【００１１】
別の可能な単一事象処理ノードは、遅延ノードであって、このノードは、入力ストリーム中の事象データ項目を受け取り、当該項目の発生後あらかじめ定められた時間が経過するまで出力ストリームへの該事象項目の出力を遅延させる。
【００１２】
事象処理ノードの各タイプ毎に、該ノードに関連した処理を実行するための機能的処理コードが提供されることは、本発明の実施にとって好ましい。各事象処理ノードは、
−同一タイプのノードすべてについて同一で、そのノード・タイプに関連した機能処理コードを識別するデータであって、それによって機能処理コードが、同じタイプのすべてのノードによって共用される第１のデータと、
−各ノード毎に特有で、それぞれのノードに関連した出力ストリームについてそれぞれの宛先を識別するデータを含む第２のデータと、
を含む。
【００１３】
本発明の別の一面に従って、監視されるシステムにおいて発生する基礎事象に関する事象情報を受け取り処理するための事象処理システムを構築する方法が提供される。この方法には、
−それぞれが上記基礎事象の１つまたは複数の基礎事象の組合せに関連付けられ、該基礎事象の特性および上記監視されるシステムにおける該基礎事象の発生時間を示す事象データを持つ事象データ項目を持つ複数の事象処理ノードのライブラリを提供するステップであって、それぞれの上記ノードが、上記事象データ項目が含まれる入力ストリームを少なくとも１つ受け取って処理して該事象データ項目が含まれる出力ストリームを少なくとも１つ生成するようにしたステップと、
−上記複数のノードの少なくともいくつかのものからの出力ストリームが、いくつかの別の上記ノードへの入力ストリームとなり、少なくとも１つの該ノードが、少なくとも１つの上記入力ストリームの形式で前記事象情報を受け取るための入力ノードとなるように、上記ライブラリからノードを選択してネットワークを形成するようそれらノード間の相互通信を行うステップと、
が含まれる。
【発明の効果】
【００１４】
それぞれ与えられた処理機能を持つ複数の異なる事象処理ノードを目的に沿って組合せネットワークを組むので、容易に理解される形態で事象処理システムを構築することができる。
【発明を実施するための最良の形態】
【００１５】
以下に記述される事象処理システムは、監視されるシステムに関する事象情報を、事象データ項目から構成される１つまたは複数のストリームとして渡される環境におかれるものとする。そのような事象データ項目の各々は、監視されるシステムで既に発生した基礎事象またはそのような基礎事象の組合せとに関連付けられる。各事象データ項目は、関連する基礎事象または基礎事象の組合せの特性についての情報と当該事象発生の時間を示すタイムスタンプを含む。事象処理システムへ入力される事象データ項目が標準の形式を備えていることを確認するために、事象処理システムは、一般に、監視されるシステムから事象メッセージを受け取り、受け取ったメッセージを標準の事象データ項目形式に整えるための適切な形式化ハードウェア／ソフトウェアをフロント・エンドとして持つ。各事象メッセージが生成時にタイムスタンプを押されることは非常に望ましいことではあるが、それが実施されない場合があることは考えられることであり、そのような場合、上記形式化フロントエンド自体が、各事象メッセージ毎にそのメッセージの受信時刻に対応するタイムスタンプを提供することもできる。このタイムスタンプは、監視されるシステムにおける基礎的な事象の発生の時間であるとみなされる。
【００１６】
一般的に、監視されるシステムおよび事象処理システムに共通のグロ―バルな時間の概念があり、そのため、監視されるシステムによって与えられるタイムスタンプは、事象処理システムにとって直接の意味を持つ。もちろん、監視されるシステムがその事象メッセーにタイムスタンプを押さないという上述のような例外的な場合には、グロ―バルな時間の概念は、事象処理システムとその形式化フロントエンドにのみ有効であればよい。
【００１７】
監視されるシステムによって作成される事象メッセージがそのシステムの中の様々な位置で生成されることがあり得るし、また、事象メッセージを事象処理システムに渡すための手段が様々な遅延を招来させることがあり得るので、事象処理システムに渡される事象データ項目の１つまたは複数のストリームは、厳密に順序付けることができないこともあるが、ストリームがほぼ順序づけられていると仮定することは可能である。更に、実際的な事柄として、事象処理システムへの送出過程（過渡状態）において、各事象データ項目によって経験される遅延に関し上限および下限を設定することは一般に可能である。これらの上限および下限の遅延を以下"ｍａｘＴＤ"および"ｍｉｎＴＤ"と呼称する。これらの遅延の大きさは、ある特定の事象が別の事象との所定の時間的関係において発生したものか否かを検証することが望ましい状況において重要になる。
【００１８】
一般的概念
本発明を実現する事象処理システムは、複数の事象処理ノードからなるネットワークを有し、その事象処理ノードの各々は、事象データ項目の１つまたは複数のストリームを受け取り、別のノードへ渡す新しいストリームを作成するため事象データ項目を合併し、フィルタにかけ、あるいは結合する機能を持つ。このノード・ネットワークを適切に構成し、各ノードの機能性を適切に選択することによって、事象の特別な組合せを検出することが可能となり、対応する事象データ項目が、（アラームの発生あるいは対応措置の実行のような）適切な外部措置を始動するために使われることとなる。
【００１９】
本発明を実現する事象処理システムによってとられる一般的アプローチを図示するため、図１は単純な１例を示している。図１において、監視されるシステムは、システムの供給電圧が一定のレベル以下に落ちるとＬＯＷ事象（図１のラインＡの下向き矢印）を出力し、該供給電圧が回復するとＨＩ事象（図１のラインＡの上向き矢印）を出力するように構成される。事象処理システムを使用して次のような２つの状況の相違を識別することが必要な場合がある。すなわち、第１の状況は、図１のラインで示されるように電圧低下が０.２５秒以上にわたる場合であり、第２は、図１のラインＢに示されるように電圧低下の継続が０.２５秒未満であるような場合である。図１のラインＣは、２つの電圧低下過渡現象が０.２５秒の範囲内で発生する状況を示しており、この例は以下の記述で使われる。
【００２０】
図２は、事象処理システムが要求される結果を生み出す方法の概念モデルを図示している。このモデルは、事象データ項目の２つの入力ストリームを供給される過渡現象検出ブロック１０を含む。これらの入力ストリームの１番目は、低電圧事象を表す事象データ項目のストリームであり、一方、２番目は、高電圧事象を表す事象データ項目のストリームである。過渡現象検出ブロック１０は、事象データ項目の出力１３を生成するように構成される。（ストリーム１１の事象データ項目によって示されているように）低電圧事象の後に、０.２５秒のような短い時間間隔内で（ストリーム１２の事象データ項目によって示されているように）高電圧が続く。かくして、図１のラインＣによって表される状況に関して、出力ストリーム１３は、２つの事象データ項目１４を持つこととなる（これらのデータ項目はそれぞれ、監視されるシステムで発生する基礎事象を表すストリーム１１と１２の事象データ項目と対比して、複合事象を表すものとみなすことができる）。図２のモデルにおいては、２つの入力ストリーム１１および１２が、また、延長電圧低下ブロック１５に供給されている。この延長電圧低下ブロック１５は、（図１のラインＡで示されるように）電圧低下が０.２５秒以上継続する場合にのみライン１６に事象データ項目を出力するように配置されている。
【００２１】
事象処理システムおよび以下に記述される構築方法における重要概念は、（あらかじめ定められる）異なる機能性を持つ基礎ノードの限定的セットを提供する点である。広範囲な事象処理システムを構築するため、このセットを構築ブロックの標準セットとして用いることができる。次の節では、図２の事象処理システムのみならずほとんど無限の種類の他の同様のシステムを構築するために使用することができる適切な基礎ノードのセットを記述する。
【００２２】
基礎ノード
図３、図４および図５を参照しながら基礎ノードの種類を説明する。
図３と図４は、事象データ項目の1つまたは複数のストリームを受け取り、事象データ項目のストリームを出力する事象処理ノードを示し、図５は、事象データ項目のストリームを取り込み、異なる形式で出力を提供するノードを示している。
【００２３】
単一事象処理ノード−図３は、入力事象データ項目それぞれを他の事象データ項目と切り離して処理する単一事象処理ノードを示す。このノードには、以下のノード、すなわち、バス・ノード、フィルタ・ノード、遅延ノードおよび異種変換ノードが含まれる。
【００２４】
＊バス・ノード２０（図３の（Ａ）参照）−このノードの目的は、事象データ項目の入力ストリームを複製して、各々が入力ストリームと同じ事象データ項目を含む複数の対応する出力ストリームを作成することである。このノードに関しては、事象データ項目に関連する最大と最小の過渡遅延は、入力と出力ストリームの間で変わらない。この例は、図３の（Ａ）において、入力および出力ストリームに関連付けられた（括弧でくくられた）対の番号によって図示されている（以下の記述でこの標記法を一般的に使用する）。
【００２５】
＊フィルタ・ノード２１（図３の（Ｂ）参照）−このノードは、入力ストリームの一部分であるサブセットを取り出して事象の新しいストリームを作成する。このサブセットは、各入力事象データ項目によって搬送されるパラメータを基に定義される。例えば、各事象データ項目が事象のタイプを含むとすれば、フィルタ・ノードは、タイプに基づいてその選択を実行するであろう。かくして、図３の（Ｂ）において、フィルタ・ノード２１は、"a", "b", "c"および "d"というタイプの事象に関連する事象データ項目を受け取り、タイプ "a"または "c"に関連した事象データのみを選択的に通過させる。選択述部(すなわちpredicate)は、一般的に、事象データ項目に通常関連する以下のパラメータの１つまたは複数に対して作用する。
−ユニークなＩＤ
−作成（タイムスタンプ）時間
−到着時間
−属性値
バス・ノードの場合と同様に、出力ストリームの最小および最大遅延時間は、入力ストリームのものと同じである。
【００２６】
＊遅延ノード２２（図３の（Ｃ）参照）−このノードは、各入力事象データ項目がそのタイムスタンプによって所定の時間を経過したことを示す場合該事象データ項目を出力する。このノードが上記を有効に処理するためには、事象データ項目にタイムスタンプを押す際に用いたものに関係付けられた時間参照情報をこのノードが受け取る必要が当然ある。指定された経過時間が入力ストリームに関する最大過渡遅延に等しいかあるいはこれを越える場合、遅延ノード２２が事象データ項目を昇順で出力する点は理解されることであろう。この再順序付けの効果は、遅延ノードの通常の用途である。しかし、別の重要な用途が以下に詳細に説明するようにテーブル・ノードに関連して存在する。このノードからの出力ストリームの最小過渡遅延時間は、指定された経過時間および入力ストリームの最小過渡遅延時間のいずれか大きい方の値であり、出力ストリームの最大過渡遅延時間は、指定された経過時間および入力ストリームの最大過渡遅延時間のいずれか大きい方の値である。
【００２７】
＊異種変換ノード２３（図３の（Ｄ）参照）−このノードは、入力事象データ項目のデータを選択的に使用して異なるタイプの新しい事象データ項目を作成することによって既存のものから新しい事象データ項目を作成する。従って、変種変換ノードは、複合事象の事象データ項目（この形式は後述される）を単一事象の事象データ項目（これもまた以下に記述される）に変換するために使われる。上記単一事象は、監視されるシステムに発生する基礎事象というよりはむしろユーザ定義の高水準事象であるとみなせる。各入力事象データ項目から異なるタイプのいくつかの新しい事象データ項目を作成することができる。
【００２８】
事象横断処理ノード−図４は、あらかじめ定められる事象データ項目間の関係の検出に応答して事象データ項目を出力する事象処理ノードを示す。このノードには以下のノード、すなわち、生成ノード、否定条件ノードおよびテーブル参照ノードが含まれる。
【００２９】
＊生成ノード（product node）２４（図４の（Ａ）参照）−このノードは、いくつかの入力ストリームの各々から事象データ項目を検出するパターンを定義する。このパターンは、以下の特性（最初のものは必須であり、後の２つは任意に選択するものである）を使用して定義される。
−候補事象データ項目を含む時間間隔の最大幅（この時間間隔は事象作成時間に関して参照される）、
−必要とされる順位付けのセット（例えば、第１の入力ストリームからの候補事象データ項目は、第２の入力ストリームからの候補事象データ項目の前に到着しなければならないという順序付け条件）、
−事象データ項目の特定のパラメータ値をテストして、候補データ項目のセットが受け入れ可能であれば真を戻すユーザ定義述部。
【００３０】
事象データ項目の受け入れ可能なセットは、複合事象データ項目にされ、出力される。新しい事象データ項目には、それを構成する構成要素事象の事象データ項目のうち最も新しい作成タイムスタンプに等しい作成タイムスタンプが与えられる。図４の（Ａ）は、上方入力ストリーム（入力"０"）のデータ項目の後、０.５秒以内に下方入力ストリーム（入力"１"）に特定の事象データ項目が続く場合複合事象データ項目を出力するように構成された２つの入力ストリームを持つ生成ノードを示す。述部は、上方入力ストリーム上受け取られた事象データ項目の各タイプについて下方入力ストリーム上の事象データ項目のどのタイプが有効であるかを定義するために使われる。時間間隔幅、順位付けおよび述部の機能性は重複することができる点注意が必要である。例えば、述部の範囲内で間隔幅と順位付けを達成することは可能である。実際には、ユーザ定義間隔幅と順位付けを別々にすることによってパターン特性を一層明白にすることは望ましいことである。出力ストリームの最大および最小過渡遅延については後に考察する。
【００３１】
＊否定条件ノード(unless node)２６（図４の（Ｂ）参照）−このノードは励起入力ストリーム２７および抑止入力ストリーム２８を持つ。このノードは、励起事象データ項目の作成時タイムスタンプに対して一定の時間枠内に抑止入力ストリーム上で１つの事象データ項目が受け取られない限り、励起入力上で受け取ったすべての事象データ項目を出力ストリームに送出する。抑止と励起事象データ項目が述部の条件を満たすように要求することもできる。従って、図４の（Ｂ）で示される例においては、励起入力上の事象データ項目"ｂ"は、（抑止入力上に事象データ項目"ｐ"が存在するため）除外されている。出力ストリームの最大および最小過渡遅延については後で考察する。
【００３２】
＊テーブル参照ノード２９（図４の（Ｃ）参照）−この事象横断処理ノードは、（後述の）テーブル・ノードへの外部参照を行う述部を含むノードである。テーブル・ノードは、事象データ項目のストリームから抜き出される事象データを含む。テーブル参照ノードは、その関連述部がテーブル・ノードへの参照によって満たされる場合にのみ事象データ項目を出力する。テーブル参照ノードは、一般的には、述部を活用する点で既に述べたノード（フィルタ・ノード２１、生成ノード２５、否定条件ノード２６）の１つといえるが、ノードによって直接処理される事象データ項目にはない事象データへの参照を必要とする述部を持つ点で異なる。テーブル参照ノードの過渡遅延特性および他の特性は、基礎ノード特性に（すなわち、それがフィルタ、生成または否定条件であるかどうかに）依存する。
【００３３】
特別ノード−図３と図４を参照して上述した事象処理ノードに加えて、基礎ノードには、一般的に事象データ項目のストリームを出力しない以下のノード、すなわち、措置ノードおよびテーブル・ノードが含まれる。
【００３４】
＊措置ノード３０（図５の（Ａ）参照）−措置ノードは、事象データ項目のストリームを取り込み、受け取られた各項目に関するユーザ定義プロシージャを実行する。典型的には、このプロシージャは、事象データ項目を要求された形式に変換し、事象処理システムの外部へ送り出す。
【００３５】
＊テーブル・ノード３５（図５の（Ｂ）参照）−「時間ＴにおけるパラメータＸの値は何であったか」というような形式の質問に答えることができることは、しばしば役に立つ。ノード述部の実行に特に関連してそのような質問を受けれるようにすることが、テーブル・ノードの目的である。テーブル・ノードは、事象データ項目を受け取るために１つまたは複数の入力ストリームを持つ。ある１つの入力ストリーム上に到来する事象データ項目は、事象データをテーブルに追加するために使われ、一方、別の入力ストリーム上に到来する事象データ項目は、事象データを取り除くために使うことができる。実際には、典型的テーブル・ノードは、事象データ項目を受け取るため一つの入力ストリームを持つだけであり、その項目のタイムスタンプ値に対して各事象データ項目に含まれるパラメータの値を記憶するように構成される。テーブル・ノードは、質問インターフェース３６を持ち、このインターフェースを介して特定時間における特定パラメータの値に関して質問を受け付けることができる。テーブル・ノードは、指定された時点においてカレントなパラメータ値、すなわち、その指定された時点における最新のパラメータ値を与えることによってそのような質問に応答する（実際には、ノードが当該事象データ項目へのポインタを戻すことによってパラメータ値は間接的に与えられる）。テーブル・ノードは、特定の時間枠内での時点に関しパラメータ値の質問を取り扱うように期待されているだけではあるが、そのような質問に応ずるためには、その時間枠より古いパラメータ値がその時間枠の一部（またはすべて）においてなお最新値である可能性があるため、そのパラメータ値を記憶することが必要となることもある。従って、図５の（Ｃ）で参照できるように、テーブル・ノードのメモリは、２つのゾーンに分割されているように取り扱うことができる。すなわち、テーブル・ノード時間枠に対応する活動ゾーン、および、時間枠の開始時間から後に戻る開始前履歴ゾーンである。活動メモリ・ゾーンの事象データの経過時間が当該ノードに関する時間枠期間を越えると、それは開始前履歴メモリ・ゾーンに転送され、同時に、削除することができるより古い事象データがないか開始前履歴ゾーンが探索される。事象データを正しい順序で除去できるように、記憶時間枠（すなわち当該時間枠内の必要情報を収納できるメモリ容量の意味で以下同様に用いる）は、１つまたは複数の入力事象ストリームの最大過渡遅延を越えて記憶できる程でなければならない。パラメータ値を搬送する事象データ項目が過渡状態にある可能性がある場合、特定時点における特定のパラメータ値に関する情報を質問ノードは求めないことを確認するように注意を払う必要がある。そのような出来事を回避するため、適切な値の遅延ノードを、質問ノードの上流に挿入することができる。
【００３６】
事象処理ノード・ネットワークの例
図６の（Ａ）は、図３と図４で例示されている標準ノードを使用して図２の過渡現象検出事象処理システムが実行される方法を示している。単一入力事象ストリームＳ０が仮定される。ストリームＳ０から、バス・ノード４０および２つのフィルタ・ノード４１と４２を使用することによって、（図２の入力１１および１２に関する事象データ項目ストリームに対応する）低電圧ストリームＳ１および高電圧ストリームＳ２が取り出される。次に、ストリームＳ１よびＳ２は、バス・ノード４３および４４を経由して、否定条件ノード４５、否定条件ノード４６および生成ノード４７に供給される。
【００３７】
否定条件ノード４５は、高電圧事象データ項目が０.２５秒内に抑止入力（"ｉ"）上に受け取られる場合を除き、励起入力（"ｅ")上で受け取った低電圧事象を出力ストリームＳ３に送り続ける。従って、ストリームＳ３は、低電圧状態延長の開始を示す事象データ項目を含み、図２のブロック１５の出力に対応している。否定条件ノード４６は、低電圧事象データ項目が先行した０.２５秒内で発生した場合を除き、励起入力上で受け取った高電圧事象を出力ストリームＳ４に送り続ける。出力ストリームＳ４には、従って、延長された低電圧状態の終了に対応する事象データ項目が含まれる。ストリームＳ４に含まれる情報は、実際的なシステムに役立つかもしれないが、図２の事象処理システムの実施のために絶対に必要というわけではない。
【００３８】
生成ノード４７は、入力０に供給された低電圧事象データ項目と入力１に供給された高電圧事象データ項目を保持する。生成ノード４７は、入力０上の事象データ項目に続いて０.２５秒以内に入力１上に事象データ項目が到着するならば、複合事象データ項目をストリームＳ５へ出力する（この順位付けと時間間隔は図６の（Ａ）でノード記号の中に示されている）。従って、ストリームＳ５は、低電圧の後０.２５秒内に高電圧が続くような低電圧と高電圧事象の対からなる複合事象データ項目を含む。言い換えれば、ストリームＳ５は、過渡現象を表す事象データ項目のストリームである。ストリームＳ５は、また、実際には、図１の（Ｃ）によって理解されるかもしれないような不必要な事象データ項目を含む。図１の（Ｃ）の例において、４つの事象がすべて０.２５秒以内に、低電圧事象Ｌ１、高電圧事象Ｈ１、低電圧事象Ｌ２および高電圧事象Ｈ２の順で発生する。生成ノード４７の動作は、０.２５秒以内に高電圧事象が後続する低電圧事象とその高電圧事象のどのような対をも結合するものである。図１の（Ｃ）の例では、理論上は、Ｌ１;Ｈ１、Ｌ２;Ｈ２、Ｌ１;Ｈ２という３つの対が存在する。
【００３９】
この最後の対は、この事象データ項目が本当の過渡現象に対応していないので、生成ノード４７から不必要な事象データ項目を出力する結果となる。否定条件ノード４８の目的は、そのような不必要な事象データ項目を排除することであって、そのため、否定条件ノード４８は、Ｓ５ストリーム事象データ項目の高電圧事象が発生した前にそれ自体が発生した低電圧事象のさらに前に作成された低電圧事象のいかなる事象データ項目に関してもストリームＳ５からストリームＳ６への伝送を抑止する。言い換えると、否定条件ノード４８は、高電圧事象について最直前の低電圧事象との対のみを許容する。これを実行するため、低電圧事象データ項目を当該ノードの抑止入力に供給し、次に、ストリームＳ５の複合事象データ項目各々に関して、Ｓ５事象の生成より前０.２５秒内に（従ってその事象の高電圧構成要素の生成の前に）生成された低電圧事象が、当該Ｓ５事象データ項目の低電圧事象の生成時間より後の生成時間を持っているか否かがチェックされる。この生成時間チェックは、否定条件ノードの述部に指定される。否定条件ノードからの出力ストリームＳ６は、かくして、必要とされる過渡現象事象データ項目だけを含む。
【００４０】
図６の（Ｂ）は、テーブル・ノードによって保持されるデータに完全に依存するフィルタ機能を有するテーブル参照ノード５１によるテーブル・ノード５０の使用例を示す。図６の（Ｂ）のネットワークは、何らかのシステム障害Ｘを報告するストリームＳ１中の事象データ項目を受け取り、次に、障害発生時の監視されたシステムの温度が５０℃を越える場合にのみ警報を出力するように設計されている。システム温度における変化は、例えば、温度が２℃変わる毎に、事象ストリームＳ２の事象データ項目によって報告される。事象ストリームＳ２は、単位時間１０という記憶時間枠を持つテーブル・ノード５０へ供給される。ストリームＳ２は、５および１０という最小および最大過渡遅延値を持つ。
【００４１】
図６の（Ｂ）のネットワークの基本動作では、障害データ項目がテーブル参照フィルタ・ノード５１に渡され、つぎに、テーブル・ノード５０で、障害事象データ項目の作成時の監視されたシステム温度が調べられる。もしその温度が５０℃より高ければ、障害事象データ項目が出力される。しかしながら、本例においては、障害事象ストリームＳ１に関連づけられる最小および最大過渡遅延がそれぞれ１と２０であり、この意味するところは、障害事象がノード５１に直接渡されるとすれば、障害が発生した時の監視されたシステムの温度で更新される前にテーブル・ノード５０を参照する恐れがある（障害事象の最小過渡遅延は１単位時間であり、一方、温度変化事象データ項目は最大１０単位時間遅延できる）。この状態を避けるため、遅延の値１０を持つ遅延ノード５２を障害事象ストリームＳ１に挿入することによって、障害事象ストリームＳ１に最小過渡時間１０が与えられ、これにより、必要とされる時間までには、適切な温度変化がテーブル・ノードに記録されることになる。
【００４２】
新しいノード構築
図３から図５までの標準基礎ノードを結合してマクロ・ノードを形成することができる。言い換えると、ネットワーク設計を容易にする特別な機能性を持った新しいノード（このノードは基礎ノードの組合せによって実際に実現される）を指定することは有益であることがある。例えば、生成ノード６１、バス・ノード６２および否定条件ノード６３から構築される「消費」ノード（図７参照）を定義することは有益かもしれない。マクロ・ノードは、２つの入力をもつ。すなわち、ある事象に関する１つの入力は、他の入力上のもっとも初期の合致事象によって「消費」される。すなわち、一旦突き合わせられた事象と合致すれば、処理上の役割をそれ以上果たさない。
【００４３】
図６の（Ａ）の生成ノード４７および否定条件ノード４８を図７の「消費」ノードと入れ替えることによって、図８で示されるようなネットワークを構築することができる。図８を展開すると、図９になる。図９において、ストリームＳ６が出力される最終否定条件ノードへの抑止入力ストリームが、図６の（Ａ）のネットワークにおける低電圧事象を含むが一方で過渡現象事象をも含むので、図６の（Ａ）と図９のネットワークは実際に同一でない点が見てとれるであろうが、この相違がネットワークの全般的機能性に影響を及ぼすことはない点は認められるこであろう。
【００４４】
プリミティブ生成ノードおよび否定条件ノード
生成ノードおよび否定条件ノード（およびそれらの関連テーブル参照形式）は、ある時間枠にわたって事象データの比較を必要とするだけではなく、比較の際に事象データ項目の過渡遅延の変化を考慮に入れなければならないので、ある限定的期間事象データ項目を記憶する必要がある。事実、図４の生成および否定条件ノードを提供するために必要とされる基礎的機能（生成および否定条件機能）を含むプリミティブ・ノードとともに使用されるプリミティブ・メモリ・ノード(primitive memory node）を定義することは有利なことがわかる。
【００４５】
プリミティブ・メモリ・ノードの機能は、ノードに入る事象データ項目はすべて出力され、入力および出力ストリームの最小過渡遅延は同一であり、入力および出力ストリームの最大過渡遅延は同一であるというものである。メモリ・ノードは、すべての事象データ項目についてそれらが忘れ去られる時点までそのレコードを保持する。メモリ・ノードは、事象の作成時間の順序で保持される。メモリ・ノードの内容を探索できるような問い合わせインターフェースが提供される。
【００４６】
図１０の（Ａ）は、メモリ・ノード７０およびプリミティブ生成ノード７１を使用して、３つの入力ストリームから１つの標準的生成ノード７２を形成する方法を図示している。プリミティブ生成ノード７１は、メモリ・ノード７０から入力ストリームを受け取るとともに、問い合わせインターフェースを通してそれらのノードに問い合わせを行うことができる（これは図１０の（Ａ）で点線で示されている）。プリミティブ生成ノード７１は、ある入力ストリーム上で事象データ項目を受け取り次第、必要とされる事象データ項目が、指定された時間の間別の入力ストリームに関連するメモリ・ノードに存在するか否かをチェックする（これは生成ノード７２に関するプリミティブ生成ノードについても同じである）。事象データ項目を受け取り次第プリミティブ生成ノード７１が直ちにこのチェックを実行できるようにするため、メモリ・ノード７０は、過渡遅延の種々の変化と時間枠に対応できる程十分長く事象を保持できるものでなければならない。さらに、例えば、入力ストリーム１に関連する事象データ項目が、入力ストリーム０に関連する事象データ項目の後５単位時間内に発生することが必要であるとすれば、プリミティブ生成ノードは、次の２点を実行しなければならない。すなわち、メモリ・ノードが入力ストリーム０上の事象データ項目の受領時点で入力ストリーム１に関連するメモリ・ノードをチェックすること（このチェックは入力ストリーム１の事象データ項目が入力ストリーム０の事象データ項目の発生の後５単位時間内に発生しているとして記録されているかを調べるためのものである）、および、メモリ・ノードが入力ストリーム１上の事象データ項目の受領時点で入力ストリーム０に関連するメモリ・ノードをチェックすること（このチェックは、入力ストリーム１の事象データ項目の作成時に先行する５単位時間内に発生した入力ストリーム０の事象データ項目があるかどうかを調べるためのものである）。
【００４７】
図１０の（Ｂ）の時間ダイアグラムは、メモリ・ノード７０に課されるメモリの記憶持続時間要求を図示している。このダイアグラムにおいて、生成ノードの入力ストリーム（入力０）に出現する事象データ項目の生成時間をＴと仮定する。また、便宜上、この事象データ項目は事象０に関連するものと仮定する。生成ノードは、事象０の生成時点Ｔの後の時間枠Ｗの範囲内で第２の入力ストリーム（入力１）上に発生する事象データ項目に応答するように構成される。この第２の事象データ項目は、事象１を表すこととする。図１０の（Ｂ）において、ボックス７７は、時間枠Ｗを表す。この時間枠Ｗの間に、事象１が発生すれば、生成ノードの時間間隔関係が充足されたことになる。ボックス７８は、生成ノード７２における事象０のための受領時間枠を表す。この時間枠は、時間Ｔの後の時間ｍｉｎＴＤ0で始まり、時間Ｔの後の時間ｍａｘＴＤ0で終わる（ｍｉｎＴＤ0およびｍａｘＴＤ0はそれぞれ事象０に対する最小および最大過渡遅延時間である）。ボックス７９は、生成ノードにおける事象１のための受領時間枠を表し、この時間枠は、事象０との生成ノード時間間隔関係を満たさなければならない。ボックス７９は、時間枠ボックス７７の開始後（すなわち時間Ｔの後）ｍｉｎＴＤ1で始まり、ボックス７７の終了後時間ｍａｘＴＤ1で終了する。
【００４８】
事象０がその時間枠（ボックス７８）の終了時点で受け取られるとすれば、入力１に関連するメモリ・ノードは、事象１受領時間枠７９の始めから、すなわち、ｍａｘＴＤ0−ｍｉｎＴＤ1という時間の間、事象１を記憶していなければならない。一方、事象０が、事象０受領時間枠７８の開始時点で受け取られるとすれば、入力０のメモリ・ノードは、この時点からボックス７９の終了時点まで、すなわち、Ｗ＋ｍａｘＴＤ1−ｍｉｎＴＤ0という時間の間、この事象を記憶していなければならない。
【００４９】
事象の受領の順序が無視される一般のケースについて考察すると、生成ノード入力の対のそれぞれに関し、上述の形式のメモリ・ノード各々毎に２つの記憶持続時間値を導き出すことは可能であるが、実質的にすべてのケースで、Ｗ＋ｍａｘＴＤ1−ｍｉｎＴＤ0に対応する記憶ノード時間間隔を、メモリ・ノードに関する記憶間隔として設定するであろう。あらゆるノードの対の作成に関して同じ原理を適用し、便宜的に、最小過渡遅延値を無視すれば、各メモリ・ノードの記憶時間間隔は、時間枠Ｗと（当該メモリ・ノードを除く）生成ノード入力のすべてに関する最小過渡遅延のうちの最大値との和として指定することができる。
【００５０】
例えば、図１０の（Ｃ）は、（１０、３０）、（１０、２０）および（５、１０）という最小および最大過渡遅延を持つ３つの入力ストリームから構成される生成ノード７２を図示している。生成ノードは、２０という時間枠間隔を持つ。この場合、入力０に関連するメモリ・ノード７０は、時間枠の間隔（２０）と生成ノードの入力１に関するストリームに関連する最大過渡遅延時間（２０）との和に対応するメモリ（４０）を持つであろう。しかしながら、入力１と２に関連するメモリ・ノードは、時間枠の間隔（２０）と入力０に関するストリームに関連する最大過渡遅延時間（３０）との和に対応するメモリ（５０）を持つであろう。プリミティブ生成ノードからの出力ストリームの最大過渡遅延に関しては、これは、入力ストリームの最大過渡遅延のうちの最小値と等しい。同様に、出力ストリームの最小過渡遅延は、入力ストリームの最小過渡遅延のうちの最小値と等しい。
【００５１】
図１１の（Ａ）は、基礎否定条件ノード７４が、プリミティブ・メモリ・ノード７５およびプリミティブ否定条件ノード７６から構築される方法を図示している。この場合、抑止ストリーム入力だけがメモリ・ノードを持つ。励起事象データ項目を記憶することが一般的には必要ではあるが、この機能は、プリミティブ否定条件ノードの一部であると仮定する（この理由は、励起事象データ項目に関する記憶要求が標準プリミティブ・メモリ・ノードの特性と厳密に合致しないことである）。述部と時間枠は、基礎否定条件ノード７４とプリミティブ否定条件７６とに関して同一である。
【００５２】
メモリ・ノード記憶時間の必要条件は、以下に図１１の（Ｂ）を参照して記述するように、生成ノードのメモリ・ノードと同様の方法で導き出される。しかし、否定条件ノードに関しては、抑止事象が励起事象に関連して発生する可能性のある時間枠Ｗは、図１１の（Ｂ）のブロック８１で示されるように、励起事象の作成時点の両側に一定時間拡大（すなわち時間延長）することができる。励起事象受領時間枠は、ボックス８２によって示されているように、励起事象作成時点Ｔの後、時間ｍｉｎＴＤEXとｍａｘＴＤEXの間に延伸している。抑止事象受領時間枠は、ボックス８３によって示されている。時間枠Ｗの開始と終了が励起事象生成時間Ｔとの相対的関係での時間ＷSとＷEで発生するとされるならば、励起事象受領時間枠は時間ｍｉｎＴＤI＋ＷSで開始し、時間ＷE ＋ ｍａｘＴＤIで終了するであろう。
【００５３】
メモリ・ノード７５に要求される記憶持続時間は、励起事象がその受領時間枠８２の終了時点で受け取られるのに対し、抑止事象がその時間枠８３の開始時点で既に受け取られているという状況に対処することができるようなものでなければならない。この持続時間は、ｍａｘＴＤE−（Ｗs＋ｍｉｎＴＤI）に等しい。便宜上最小過渡遅延時間を無視すれば、上記持続時間は、（ｍａｘＴＤEX−ＷE)となる。値ＷEは、時間枠が時間Ｔの前に開始する場合マイナス（負の値）となる。
【００５４】
励起事象データ項目についてプリミティブ否定条件ノードに必要とされる記憶持続時間要件に関しては、最悪の状況は、励起事象が、最小過渡遅延ｍｉｎＴＤEXの後に受け取られ、一方、抑止事象が、時間ＷEにおける間隔枠の終了の後最大過渡遅延ｍａｘＴＤIまで受け取られない場合である。この場合、記憶持続時間要件は、ＷE＋ｍａｘＴＤI−ｍｉｎＴＤEXである。ここでも、便宜的に、値ｍｉｎＴＤEXを無視することができる。
【００５５】
図１１の（Ｃ）に示される例では、励起入力ストリームは、最小遅延値１と最大遅延値４を持ち、抑止入力ストリームは、最小遅延値２と最大遅延値３を持つ。否定条件ノードに関連する時間枠は、励起事象の生成時点の前１０単位時間から５単位時間にわたっている。上記の公式を使用すれば、メモリ・ノードは、ｍａｘＴＤEX−ＷS（すなわち、４−（−１０）＝１４)という記憶持続時間必要条件を持つ。プリミティブ否定条件ノードは、ｍａｘＴＤI−ＷE（すなわち、３＋（−５））という励起記憶持続時間値を持つ。これは、負の記憶時間であり、当然、実際にはゼロの記憶時間を意味する。
【００５６】
出力ストリームに関する最大過渡時間は、励起事象の最大過渡遅延および抑止事象ストリーム過渡遅延の最大値と値ＷEの和のいずれか大きい方の値に等しい。出力ストリームに関する最小過渡遅延は、励起事象の最小過渡遅延および抑止事象ストリーム過渡遅延の最大値と値ＷEの和のいずれか大きい方の値に等しい。生成ノードと否定条件ノードをメモリ・ノードとプリミティブ・ノードに分解することは、それらの実施を容易にし、さらに、下記説明のようにネットワーク最適化を可能にする。
【００５７】
ネットワーク最適化
標準のブール論理回路に関する場合と同様に、複雑性を持つ事象処理ノード・ネットワークは、特に生成ノードおよび否定条件ノードが伴う場合には、最適化の実施を必要とするのが一般的である。例えば、図９の過渡事象検出ネットワークの生成と否定条件ノードを対応するプリミティブ・ノードとメモリ・ノードに拡張すると、図１２に示されるネットワークが得られる。図１２のネットワークは、メモリ・ノードの数を減らして最適化することができる。図１３には、図１２のネットワークにそのような最適化を実施したものが示されている。
【００５８】
実施
上述のノードが専用のハードウェア回路からオブジェクト指向プログラミング技法に基づくソフトウェアまで広い範囲の様々な形態で実施されることができることは、認められるであろう。現時点で好ましい実施例において、上記ノードは、機能処理コードを共用する同一タイプのノードを備えるソフトウェア・データ構造として実施される。当業界の知識を有する人がそのような好ましい実施を行うことができることは期待されるところではあるが、好ましい実施例の動作を容易に理解できるように、以下に更に詳細な実施方法を記述する。
【００５９】
クロッキングの基本方針−遅延および否定条件ノード等のある種のノードは、追跡措置を必要とする。例えば、事象データ項目が遅延ノードに到来する時、直ちに伝播されない。その代わりに、事象データ項目は所定の遅延の後伝播される。ノードがソフトウェアで実施される場合、適切な時間に未処理のデータ項目を解放するため遅延ノードを再度アクセスできるようにどのようなスケジュール機能を用いて記憶するかという問題が起きる。この対応策は以下のように多数可能である。
・スケジュール化された割り込みが、クロック・チックとして使われる。言い換えると、各ノードは、後処理が必要とされる時間と合致するように割り込みをスケジュールする。このアプローチは明きらかに最も優雅であるが、処理する観点から見て高価である。
・事象処理システムにおける新しい事象データ項目の到着を、システム全体のためのクロック・チックとして使うことができる。信頼性がありかつ頻繁な事象の供給がシステム全体になされるとすれば、（追跡処理が例えば１秒に１回以上発生しないように制約されるような場合追跡措置の頻度が多すぎるようになる危険があるとはいえ）このアプローチはうまく働く。
・事象データ項目の到着を、そのノードのためだけのクロック・チックとして使用することができる。このアプローチは簡単に実行できるが、追跡措置を必要とするノードへ信頼性がある事象データ項目が頻繁に流入する場合にのみこれは可能である。
２番目のアプローチが一般には合理的な妥協を提供する。
【００６０】
事象データ項目−事象データ項目が、（監視されるシステムに発生する基礎事象かまたはユーザ定義の高水準事象かいずれかの）単一事象または単一事象の組み合わせから構成される複合事象に関連するか否かに応じて２つの異なる形式のデータ構造が事象データ項目に関して使われる。図１４は、事象データ項目のために使われるデータ構造の形式を示し、図で見られるように、ブロック９０は各事象データ項目に関するいくつかの共通フィールドを保有する。加えて、単一事象に関連する事象データ項目は、フィールド・ブロック９１を、複合事象に関連する事象データ項目は、フィールド・ブロック９２を持つ。すべての事象データ・タイプに共通なブロック９０のフィールドは、以下の通りである。
−事象データ項目が単一事象か複合事象どちらに関連するかを示すタイプ・フィールド
−監視されるシステムにおける事象作成時点を示すタイムスタンプ（これができない場合は事象処理システムにおける受領時点を示すタイムスタンプ）を含む作成時点フィールド
−事象が事象処理システムによって受け取られた時点を示す到来時点フィールド
−事象処理システムの範囲内で事象データ項目をユニークに識別するユニークＩＤフィールド（事象データ項目が作成される時、このＩＤが割り当てられる）
−当該事象データ項目でポイントしているノードまたは（複合事象データ項目構造のような）他のシステム・オブジェクトの数を記録するために使われる参照カウント・フィールド−参照カウント値がゼロになると、事象データ項目を破棄できる。
【００６１】
単一事象の事象データ項目に関連するブロック９１のフィールドは、事象タイプ・フィールドおよび各事象タイプ毎にあらかじめ定められた一連のフィールドである。複合事象の事象データ項目に関連するブロック９２のフィールドは、複合事象の構成要素の数を示すフィールドおよびその構成要素へのポインタを含む各構成要素に関するそれぞれのフィールドである。そのような構成要素の各々は、単一事象の事象データ項目または別の複合事象の事象データ項目である。図１５は、複合事象の事象データ項目のデータ構造の使用を図示している。図１５の（Ａ）は、３つの生成ノード９３、９４および９５からなるネットワークを示していて、生成ノード９３は、単一事象の事象データ項目"ａ", "ｂ"および "ｃ"を別々の入力ストリーム上で受け取り１つの複合事象データ項目Ｘに結合し生成ノード９５へ渡す。生成ノード９４は、単一事象の事象データ項目"ｄ"および"ｅ"を受け取り、１つの複合事象データ項目Ｙに結合し生成ノード９５へ渡す。生成ノード９５は、２つの複合事象の事象データ項目ＸとＹを結合し、さらに別の複合事象の事象データ項目Ｚを生成する。図１５の（Ｂ）は、複合事象の事象データ項目Ｚに関するデータ構造が元の単一事象の事象データ項目データ構造と如何に間接的にリンクするかを示している。すなわち、複合事象Ｚに関するデータ構造１００は、複合事象ＸとＹに関するデータ構造１０１と１０２をそれぞれポイントする２つの構成要素ポインタを含む。複合事象Ｘに関するデータ構造１０１は、単一事象"ａ"、"ｂ"および"ｃ"にそれぞれ関連するデータ構造１０２、１０３および１０４をポイントする３つの構成要素ポインタを有する。複合事象Ｙに関するデータ構造１０２は、単一事象"ｄ"および"ｅ"に関するデータ構造１０６および１０７をポイントする２つの構成要素ポインタを有する。
【００６２】
基礎事象の組合せが、複合事象の事象データ項目データ構造、または、単一事象の事象データ項目データ構造のいずれかで表され得る点に留意する必要がある。後者の場合、基礎事象の組合せに対応するより高水準の事象（および、基礎事象の組み合わせを表わす複合事象データ構造をより高水準の事象に関して定義される単一事象データ構造へ変換するために使用される異種変換ノード）をユーザが定義していると考えられる。
【００６３】
ノード・データ構造−ネットワーク・ノードの各インスタンスは、その形式が図１６で示されているように対応するデータ構造を持つ。このデータ構造は、３つの部分、すなわち、ノード・ヘッダ部１１０、タイプ・プロシージャ部ｌｌ１およびタイプ・インスタンス特定部１１２である。ノード・ヘッダ部１１０は、データ構造の他の２つの部分へのポインタ１１３と１１４を含む。
【００６４】
ポインタ１１３および１１４に加えて、ノード・ヘッダ部は、すべてのノードに共通のフィールドを持つ。これらのフィールドには、ユニークＩＤフィールルドおよび全てのノードを単一リストにリンクするために使用される次ノード・ポインタ・フィールドが含まれる。更に、クリーンアップ処理にかかわる２つのフィールドがある。これは、（例えば、遅延ノードおよび否定条件ノードを含む）いくつかのノードがそのような処理を一定間隔で行う必要があるためである。クリーンアップ処理を必要とするノード（複数）は、当該ノードのノード・ヘッダの中の"クリーンアップの次"ポインタによって、すべて１つのリストにリンクされる。ノードのクリーンアップ処理は、ノード・ヘッダの"クリーンアップ・プロシージャ"フィールドに保持されるポインタによってポイントされるクリーンアップ・プロシージャによって実行される。実際は、一般的には、クリーンアップ・プロシージャは、ノードの各タイプ毎に定義され、このタイプ別クリーンアップ・プロシージャが、ノード・ヘッダのクリーンアップ・プロシージャ・フィールドに記入がある場合を除き、使われる。
【００６５】
ノード・データ構造のタイプ・プロシージャ部１１１は、当該タイプのノードに関連するすべての処理機能プロシージャに関する識別子を含む。これらのプロシージャは、ノードに到達する事象を扱うためのプロシージャ、ノードをクリーンアップするためのプロシージャおよびノード・データを印刷するためのプロシージャを含む。タイプ・プロシージャ部１１１は、同一のタイプのノードのインスタンスすべてに共通である。
【００６６】
ノード・データ構造のタイプ・インスタンス特有部１１２は、各ノード・タイプに特有なフィールド（複数）を含み、それらフィールドには、現在のタイプ・インスタンスにとって特有な値が記憶される。特に、事象データ項目の出力ストリームを生成する事象処理ノードに関して、データ構造１１２は、宛先ポート、または、出力ストリームあるいはノードによって生成されるストリームに対するポートを示すフィールドを含む。上記宛先ポートは、宛先ノードＩＤとそのノードに対するポート番号の組み合わせである（ポート番号は、例えば、否定条件ノードの励起入力と抑止入力とを見分けるために役立つ）。
【００６７】
図１７は、特定のネットワークにおいて１１５から１１９までの４つのノードのデータ構造がいかに相互関係を有しているかを図示している。図１７において、
ｄ＝入力ポート
ｈ＝ノード・ヘッダ
ｐ＝タイプ・プロシージャ
ｓ＝タイプ・インスタンス特有データ,
である。
【００６８】
各ノード・データ構造のタイプ・インスタンス特有部１１２に含まれるフィールドは、各ノード・タイプ毎に以下のように設定される。入力事象データ項目を記憶することを必要とするノード・タイプに関して、部１１２に含まれるフィールドの１つは、記憶される事象の順序へのポインタであることは認められるであろう。各ノード・タイプは、また、入力事象データ項目の数を記録するためのフィールドおよび該当する場合出力事象データの数を数えるためのフィールドを含み、これらのフィールドは、ネットワーク動作全般を分析する上で役立つ。
【００６９】
措置ノード
−到来事象の数
−呼び出すプロシージャ
−プライベート記憶域へのポインタ
バス・ノード
−到来事象の数
−宛先の数
−宛先＃１
−宛先＃２
遅延ノード
−到来事象の数
−送出事象の数
−破棄までの経過時間
−事象シークエンスへのポインタ
−宛先
【００７０】
フィルタ・ノード
−到来事象の数
−送出事象の数
−述部プロシージャへのポインタ
−宛先
メモリ・ノード
−到来事象の数
−破棄までの経過時間
−事象シークエンスへのポインタ
−宛先
生成ノード
−到来事象の数
−送出された事象の数
−受諾間隔幅
−述部
−入力ストリーム数
−メモリ・ノード１へのポインタ
−メモリ・ノード２へのポインタ
−メモリ・ノードｎへのポインタ
−順序対の数
−  から  までの順序
−  から  までの順序、等々
−宛先
【００７１】
テーブル・ノード
−到来事象の数
−破棄された事象の数
−事象シークエンスへのポインタ
−過去の事象へのポインタ
−破棄までの経過時間
−破棄プロシージャへのポインタ
否定条件ノード
−励起事象の数
−抑止事象の数
−送出された事象の数
−励起シークエンスへのポインタ
−抑止メモリ・ノードへのポインタ
−抑止事象に関する最大過渡遅延時間
−時間枠開始時点へのオフセット
−時間枠終了時点へのオフセット
−抑止／励起述部
−宛先
【００７２】
活用
図１８は、本発明を実施する事象処理システムを実行する際に必要とされる主なステップを図示する。一般的に、システム設計は、ワークステーションにおいて、ノード・オブジェクトのライブラリ１２１へのアクセスを与えるグラフィック・エディタ・パッケージ１２Ｏを使用して行われる。上記のオブジェクトは、基礎ノード（例えば、図３から図５までに記載されている基礎ノードのセット）およびユーザがライブラリ１２１に置くのが役立つと考えたユーザ構築ノードを表わす。ユーザは、ライブラリからノードを引き出し、それらをグラフィック・エディタ１２０の使用ツールと適切に関連付けることによって、要求された事象処理ネットワークを設計する。このプロセスの間、ユーザは、遅延時間や生成ノードに関する事象順位付け等のようなすべての必要パラメータを指定する。このプロセスの結果、高水準ネットワーク記述ファイル１２２が生成される。
【００７３】
この高水準記述ファイルは、次に、自動的に処理され、ユーザ構築ノードを基礎ノードに展開し、次いで基礎生成および否定ノードををその対応するプリミティブ・ノードとメモリ・ノードに展開する。その後、自動的最適化処理１２４が実行され、最適化されたネットワーク設計ファイル１２５が作成される。次に、このファイル１２５がコンパイルされ（ボックス１２６）、すべての適切なプロシージャとデータ構造が生成される。次に、コンパイルされたコード１２７は、監視されるシステム１３０からの入力事象データ項目を提供する１つまたは複数の目標システム装置１２９上へロードされる（供給プロセス１２８）。同一システム装置に存在する事象処理システムのノードに関しては、一般にノード・プロシージャ間でポインタをやりとりすることによって、事象データ項目はノード間で引き渡される点に注意する必要がある。しかしながら、事象処理システムがいくつかのシステム装置にわたって分散される場合、適切な遠隔通信プロシージャが、使われなければならない。もちろん、いくつかのシステム装置にわたって事象処理システムを分散することは、システムの一部が他の部分によって保持されるデータを継続的に参照する必要がない場合にのみ実用的である。
【００７４】
図１９は、遠隔通信ネットワークのような大規模システムを監視するために、例えばネットワーク管理レベルとサービス管理レベルのようないくつかのレベルで事象処理システム（図でＥＰＳと標記）を提供することが一般に適切であることを図示する図表である。ここで記述される事象処理システムの特性は、監視されるシステムによって作成される低水準基礎事象が、より高水準の事象（例えば複合事象またはユーザ定義事象）に次第に変形されるような階層におけるこれらシステムの使用を適切なものにする。
【００７５】
その他
多くのバリエーションが上述の事象処理システムに対して可能であることは当然認められるであろう。特に、図３から図５までに参照された基礎ノードのセットは、適切とみなされるものに変更することはできる。例えば、同一のタイプのストリームを合併させるためＯＲノードを持つことは有益と考えることができるであろう。
【００７６】
本発明には、例として次のような実施様態が含まれる。
【００７７】
（１）監視されるシステムにおいて発生する複数の基礎事象に関する事象情報を受け取り、該事象情報を処理するための事象処理システムであって、それぞれが上記基礎事象の１つまたは複数の基礎事象の組合せに関連付けられ、該基礎事象の特性および上記監視されるシステムにおける該基礎事象の発生時間を示す事象データを有する事象データ項目をそれぞれ処理する複数の離散的事象処理ノードであって、それぞれの上記ノードが、上記事象データ項目が含まれる入力ストリームを少なくとも１つ受け取って処理して該事象データ項目が含まれる出力ストリームを少なくとも１つ生成するようにした事象処理ノードと、上記複数の離散的事象処理ノードの少なくともいくつかのものからの出力ストリームが、いくつかの別の上記ノードへの入力ストリームとなり、少なくとも１つの該ノードが、少なくとも１つの上記入力ストリームの形式で前記事象情報を受け取るための入力ノードとなるネットワークを形成するよう上記ノード間の相互通信を行う手段と、を備える事象処理システム。
（２）上記事象処理ノードの少なくとも１つが、上記事象データ項目によって表される事象の間でのあらかじめ定められた関係を検出するように動作する事象横断処理ノードであって、上記あらかじめ定められた関係は、上記出力ストリーム中に事象データ項目を選択的に出力するために必要な条件として用いられる、上記（１）に記載の事象処理システム。
（３）上記事象横断処理ノードが、上記事象データ項目の複数の入力ストリームを受け取り、あらかじめ定められた事象データ項目間の関係が該複数の入力ストリームにわたる事象データ項目の間に存在するか否かを検証し、そのような事象データ項目関係が所定の時間的関係において存在する場合、そのような入力ストリームの事象データ項目によって表される事象の組合せを出力ストリームの事象データ項目として出力するタイプの生成ノードの形態をなす、上記（２）に記載の事象処理システム。
【００７８】
（４）上記事象横断処理ノードが、それぞれが事象データ項目から構成される第１と第２の２つの入力ストリームを受け取り、それらの入力ストリームの事象データ項目にあらかじめ定められた関係があるかを検査し、その関係が所定の時間的関係において第２の入力ストリームにおける事象データ項目の存在なしに第１の入力ストリームの存在によって充足される場合に、第１の入力ストリームの事象データ項目に対応する事象データ項目を当該ノードの出力ストリーム上に出力するタイプの否定条件ノードの形態をなす、上記（２）に記載の事象処理システム。
（５）上記事象データ項目からなる入力ストリームを受け取り、対応する事象または事象の組合せの発生時間を含む事象データを入力事象データ項目から取り出し記憶し、指定された時点に関して行われる問い合わせに応答して当該指定時点における事象データを回答するように構成されるテーブル・ノードを含み、事象データが上記テーブル・ノードに記憶されているある特定の事象データ項目と１つの入力事象データ項目との間の所定の時間的関係を探索するため、ある特定の時間について発生時間を含む上記特定の事象データが上記テーブル・ノードに記憶されてることを確認することによって、上記所定の時間関係が充足されたものと見なすように構成される１つの事象処理横断処理ノードを含む、上記（２）に記載の事象処理システム。
（６）上記事象データ項目のそれぞれについて上記テーブル・ノードに記憶される事象データが、上記監視されるシステムの与えられたパラメータの値を含み、上記特定事象データ項目が、その記憶されたパラメータの値があらかじめ定められた範囲内にあるような事象データ項目である、上記（５）に記載の事象処理システム。
（７）上記事象処理ノードの少なくとも１つが、入力される事象データ項目の各々を他の事象データ項目と切り離して処理するように動作する単一事象処理ノードである、上記（１）に記載の事象処理システム。
（８）上記単一事象処理ノードが、あらかじめ定められた選択基準に合致する事象データを持つ事象データ項目をすべて入力ストリームから選択し、当該ノードからの出力ストリーム上に出力する形態を持つフィルタ・ノードである、上記（７）に記載の事象処理システム。
【００７９】
（９）上記単一事象処理ノードが、事象データ項目にタイムスタンプを与えるために使用される時間参照機構を提供するクロック手段を備え、上記入力ストリーム中の事象データ項目を受け取り、上記時間参照機構を参照することによって当該事象データ項目のタイムスタンプがその事象の発生後あらかじめ定められた時間を経過したことを示すかを判断し、該時間を経過するまで出力ストリームへの該事象項目の出力を遅延させるように構成される遅延ノードである、上記（７）に記載の事象処理システム。
（１０）上記出力ストリームの１つを受け取り、その事象データ項目に応答して対応する措置を実行する手段を含む、上記（１）に記載の事象処理システム。
（１１）上記事象処理ノードの各タイプ毎に、該ノードに関連した処理を実行するための機能的処理コードが提供され、同一タイプのノードすべてについて同一で、そのノード・タイプに関連した機能処理コードを識別するデータであって、それによって機能処理コードが、同じタイプのすべてのノードによって共用される第１のデータと、各ノード毎に特有で、それぞれのノードに関連した出力ストリームについてそれぞれの宛先を識別するデータを含む第２のデータと、を含む、上記（１）に記載のシステム。
（１２）ノード間の相互通信を行う上記手段が、事象データ項目ポインタをあるノードから別のノードへ転送する手段を含む、上記（１１）に記載の事象処理システム。
（１３）基礎事象の組合せに関連する上記事象データ項目の１つが構成要素事象データ項目セットを構成する構造を持ち、各構成要素事象データ項目が上記基礎事象に直接関連するまで各構成要素事象データ項目について上記構成動作を反復する、上記（１）に記載の事象処理システム。
【００８０】
（１４）監視されるシステムにおいて発生する基礎事象に関する事象情報を受け取り、処理するための事象処理システムにおいて、それぞれが上記基礎事象の１つまたは複数の基礎事象の組合せに関連付けられ、該基礎事象の特性および上記監視されるシステムにおける該基礎事象の発生時間を示す事象データを持つ事象データ項目を持つ複数の事象処理ノードのライブラリを提供するステップであって、それぞれの上記ノードが、上記事象データ項目が含まれる入力ストリームを少なくとも１つ受け取って処理して該事象データ項目が含まれる出力ストリームを少なくとも１つ生成するようにしたステップと、上記複数のノードの少なくともいくつかのものからの出力ストリームが、いくつかの別の上記ノードへの入力ストリームとなり、少なくとも１つの該ノードが、少なくとも１つの上記入力ストリームの形式で前記事象情報を受け取るための入力ノードとなるように、上記ライブラリからノードを選択してネットワークを形成するようそれらノード間の相互通信を行うステップと、を含む事象処理システムを構築する方法。
（１５）上記複数のタイプの事象処理ノードに、入力される事象データ項目の各々を他の事象データ項目と切り離して処理するように動作するタイプの単一事象処理ノードと、上記事象データ項目によって表される事象の間でのあらかじめ定められた関係を検出するように動作し、上記あらかじめ定められた関係が、上記出力ストリーム中に事象データ項目を選択的に出力するために必要な条件として用いられるように構成されるタイプの事象横断処理ノードとを含む上記（１４）に記載の事象処理システムを構築する方法。
【００８１】
（１６）上記単一事象処理ノードが、あらかじめ定められた選択基準に合致する事象データを持つ事象データ項目をすべて入力ストリームから選択し、当該ノードからの出力ストリーム上に出力するタイプのフィルタ・ノードと、事象データ項目にタイムスタンプを与えるために使用される時間参照機構を提供するクロック手段を備え、上記入力ストリーム中の事象データ項目を受け取り、上記時間参照機構を参照することによって当該事象データ項目がその発生後あらかじめ定められた時間を経過したかを判断し、経過するまで出力ストリームへの該事象項目の出力を遅延させるように構成されるタイプの遅延ノードとを含み、上記事象横断処理ノードが、上記事象データ項目の複数の入力ストリームを受け取り、あらかじめ定められた事象データ項目間の関係が該複数の入力ストリームにわたる事象データ項目の間に存在するか否かを検証し、そのような事象データ項目関係が所定の時間的関係において存在する場合、そのような入力ストリームの事象データ項目によって表される事象の組合せを出力ストリームの事象データ項目として出力する形態を持つタイプの生成ノードと、それぞれが事象データ項目から構成される第１と第２の２つの入力ストリームを受け取り、それらの入力ストリームの事象データ項目にあらかじめ定められた関係があるかを検査し、その関係が所定の時間的関係において第２の入力ストリームにおける事象データ項目の存在なしに第１の入力ストリームの存在によって充足される場合に、第１の入力ストリームの事象データ項目に対応する事象データ項目を当該ノードの出力ストリーム上に出力する形態を持つタイプの否定条件ノードとを含む、上記（１５）に記載の事象処理システムを構築する方法。
（１７）上記事象データ項目からなる入力ストリームを受け取り、対応する事象または事象の組合せの発生時間を含む事象データを入力事象データ項目から取り出し記憶し、指定された時点に関して行われる問い合わせに応答して当該指定時点における事象データを回答するように構成されるテーブル・ノードと、事象データが上記テーブル・ノードに記憶されているある特定の事象データ項目と１つの入力事象データ項目との間の所定の時間的関係を探索するため、ある特定の時間について発生時間を含む上記特定の事象データが上記テーブル・ノードに記憶されてることを確認することによって、上記所定の時間関係が充足されたものと見なすように構成されるタイプのテーブル参照ノードとを含む、上記（１６）に記載の事象処理システム。
（１８）上記事象処理ノードの各タイプ毎に、該ノードに関連した処理を実行するための機能的処理コードが提供され、同一タイプのノードすべてについて同一で、そのノード・タイプに関連した機能処理コードを識別するデータであって、それによって機能処理コードが、同じタイプのすべてのノードによって共用される第１のデータと、各ノード毎に特有で、それぞれのノードに関連した出力ストリームについてそれぞれの宛先を識別するデータを含む第２のデータと、を含む、上記（１４）に記載の事象処理システムを構築する方法。
【図面の簡単な説明】
【００８２】
【図１】事象シークエンスＡ，ＢおよびＣを示す時間ダイヤグラム図である。
【図２】図１の事象シークエンスを処理し過渡現象を検出するための事象処理システムのブロック図である。
【図３】各種基礎ノードを示すブロック図である。
【図４】各種複合ノードを示すブロック図である。
【図５】各種特別ノードを示すブロック図である。
【図６】事象処理ノード・ネットワークの具体例を示すブロック図である。
【図７】消費ノードのようなマクロ・ノードの使用例を示すブロック図である。
【図８】事象処理ノード・ネットワークに消費ノードを適用した例を示すブロック図である。
【図９】図８のネットワークの消費ノードを構成要素ノードに展開した例を示すブロック図である。
【図１０】基礎生成ノードからプリミティブ・メモリ・ノードとプリミティブ生成ノードを形成する事例を示すブロック図である。
【図１１】基礎否定条件ノードからプリミティブ・メモリ・ノードとプリミティブ否定条件ノードを形成する事例を示すブロック図である。
【図１２】図９のネットワークにプリミティブ・ノードを適用した場合のネットワークを示すブロック図である。
【図１３】最適化を実行した図９のネットワークを示すブロック図である。
【図１４】事象間で受け渡される事象データ項目に関するデータ構造を示すブロック図である。
【図１５】複合事象の事象データ項目のデータ構造の使用例を示すブロック図である。
【図１６】事象処理ノードのそれぞれを実施するために使用される基礎データ構造の形式を示すブロック図である。
【図１７】ノード間のデータ構造の相互関係を示すブロック図である。
【図１８】本発明を実施する事象処理システムを作成しロードする場合に必要となるステップを示すブロック図である。
【図１９】事象処理ノードから事象処理システムが階層的に構築されるステップを示すブロック図である。
【符号の説明】
【００８３】
２０、４０、４３、４４、６２、１１５  バス・ノード
２１、４１、４２、１１７  フィルタ・ノード
２２、５２、１１６  遅延ノード
２３  異種変換ノード
２５、４７、６１、７２、９３、９４、９５  生成ノード
２６、４５、４６、４８、６３、７４  否定条件ノード
２９、５１  テーブル参照ノード
２７  励起入力ストリーム
２８  抑止入力ストリーム
３０  措置ノード
３５、５０、１１８  テーブル・ノード
６０  消費ノード
７０、７５  プリミティブ・メモリ・ノード
７１  プリミティブ生成ノード
７６  プリミティブ否定条件ノード
７８  事象０受領時間枠
７９  事象１受領時間枠
８２  励起事象時間枠
８３  抑止事象時間枠
９０  共通フィールド・ブロック
９１  単一事象データ項目フィールド・ブロック
９２  複合事象データ項目フィールド・ブロック
１００、１０１、１０２  複合事象データ構造
１０３、１０４、１０５、１０６、１０７  単一事象データ構造
１１０  ノード・ヘッダ部
１１１  タイプ・プロシージャ部
１１２  タイプ・インスタンス特有部
【図１】
2005346703.tif 000003
【図２】
2005346703.tif 000004
【図３】
2005346703.tif 000005
【図４】
2005346703.tif 000006
【図５】
2005346703.tif 000007
【図６】
2005346703.tif 000008
【図７】
2005346703.tif 000009
【図８】
2005346703.tif 000010
【図９】
2005346703.tif 000011
【図１０】
2005346703.tif 000012
【図１１】
2005346703.tif 000013
【図１２】
2005346703.tif 000014
【図１３】
2005346703.tif 000015
【図１４】
2005346703.tif 000016
【図１５】
2005346703.tif 000017
【図１６】
2005346703.tif 000018
【図１７】
2005346703.tif 000019
【図１８】
2005346703.tif 000020
【図１９】
2005346703.tif 000021