(57)【要約】【課題】取得したイベントが，所定の条件を満たすイベントである旨を迅速に出力する。【解決手段】情報処理装置は，複数の属性を有する事象情報を取得し，取得した前記事象情報が第1の前記属性に対応して定められた事象条件を満たす場合，取得した前記事象情報をメモリに記憶する処理部を有する。前記処理部は，前記事象情報を記憶する度に，前記第1の属性と前記第2の属性である時間と少なくとも2つの前記事象条件とに関連する事象間条件を満たす，前記メモリに記憶された記憶事象情報があるか判定し，前記事象間条件を満たす記憶事象情報があると，判定結果を出力する。【選択図】  図1
2015191598.tif 000002
【特許請求の範囲】
【請求項１】
複数の属性を有する事象情報を取得し，取得した前記事象情報が第1の前記属性に対応して定められた事象条件を満たす場合，取得した前記事象情報をメモリに記憶する処理部を有し，
前記処理部は，前記事象情報を記憶する度に，前記第1の属性と前記第2の属性である時間と少なくとも2つの前記事象条件とに関連する事象間条件を満たす，前記メモリに記憶された記憶事象情報があるか判定し，前記事象間条件を満たす記憶事象情報があると，判定結果を出力する
ことを特徴とする情報処理装置。
【請求項２】
請求項1において，
前記処理部は，前記記憶事象情報の前記時間と，現在時間に対応する基準時間とに基づき，前記事象間条件を満たさない前記記憶事象情報を特定し，特定した前記記憶事象情報を削除する
ことを特徴とする情報処理装置。
【請求項３】
請求項1において，
前記処理部は，前記判定において，現在時間に対応する基準時間と，前記事象条件と前記事象間条件とを満たす前記記憶事象情報の時間との差が，前記記憶事象情報が満たした前記事象条件に対応して定められた出力時間以上か判定し，出力時間以上の場合，前記判定結果を出力する
ことを特徴とする情報処理装置。
【請求項４】
請求項3において，
前記処理部は，前記事象間条件を満たす前記記憶事象情報に，前記事象間条件を満たすことを示す識別子を設定し，前記識別子が設定された前記記憶事象情報を出力する
ことを特徴とする情報処理装置。
【請求項５】
コンピュータに，
複数の属性を有する事象情報を取得し，
取得した前記事象情報が第1の前記属性に対応して定められた事象条件を満たす場合，取得した前記事象情報をメモリに記憶し，
前記事象情報を記憶する度に，前記第1の属性と前記第2の属性である時間と少なくとも2つの前記事象条件とに関連する事象間条件を満たす，前記メモリに記憶された記憶事象情報があるか判定し，
前記事象間条件を満たす記憶事象情報があると，判定結果を出力する処理を実行させる
ことを特徴とするプログラム。 
【請求項６】
複数の属性を有する事象情報を取得し，
取得した前記事象情報が第1の前記属性に対応して定められた事象条件を満たす場合，取得した前記事象情報をメモリに記憶し，
前記事象情報を記憶する度に，前記第1の属性と前記第2の属性である時間と少なくとも2つの前記事象条件とに関連する事象間条件を満たす，前記メモリに記憶された記憶事象情報があるか判定し，
前記事象間条件を満たす記憶事象情報があると，判定結果を出力する
ことを特徴とする情報処理方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，情報処理装置，プログラム，情報処理方法に関する。
【背景技術】
【０００２】
時間や行動履歴や位置などの属性を有する事象情報(以下，イベントと適宜記す)を取得し，取得したイベントに各種処理を実行する情報処理装置が提案されている。かかる情報処理装置は，例えば，取得した複数のイベントの中から，予め設定されている前記属性に関する条件を満たすイベントを抽出する。そして，かかる情報処理装置は，前記した条件を満たす旨を出力する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2010-282577号公報
【特許文献２】特開2012-242183号公報
【特許文献３】特開2012-3494号公報
【特許文献４】特開2012-242859号公報
【特許文献５】国際公開第2008/146858号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
かかる情報処理装置が，多数のイベントを取得し，取得した多数のイベントの中から，複数の条件を満たすイベントの抽出処理を実行する場合，処理速度が低下する。その結果，かかる情報処理装置は，前記した出力を迅速に行うことが困難になる。
【０００５】
本発明の一つの側面では，取得したイベントが，所定の条件を満たすイベントである旨を迅速に出力することを目的とする。
【課題を解決するための手段】
【０００６】
一つの側面では，複数の属性を有する事象情報を取得し，取得した前記事象情報が第1の前記属性に対応して定められた事象条件を満たす場合，取得した前記事象情報をメモリに記憶する処理部を有し，前記処理部は，前記事象情報を記憶する度に，前記第1の属性と前記第2の属性である時間と少なくとも2つの前記事象条件とに関連する事象間条件を満たす，前記メモリに記憶された記憶事象情報があるか判定し，前記事象間条件を満たす記憶事象情報があると，判定結果を出力することを特徴とする情報処理装置である。
【発明の効果】
【０００７】
一つの側面によれば，取得したイベントが，所定の条件を満たすイベントである旨を迅速に出力することができる。
【図面の簡単な説明】
【０００８】
【図１】第1の実施の形態の情報処理装置1のハードウェア構成を説明するブロック図の一例である。
【図２】図1の情報処理装置1のソフトウェア構成を説明するブロック図の一例である。
【図３】イベントを模式的に示す図の一例である。
【図４】本実施の形態の情報処理装置1が実行する追跡検知を説明する図である。
【図５】イベント条件，イベント間条件を説明する図である。
【図６】イベントの登録と，異なるイベントの辺による接続を説明する図である。
【図７】第1の実施の形態で説明するイベントのリアルタイム処理を説明する第1のフロー図である。
【図８】第1の実施の形態で説明するイベントのリアルタイム処理を説明する第2のフロー図である。
【図９】第1の実施の形態における具体例を説明する第1の図である。
【図１０】第1の実施の形態における具体例を説明する第2の図である。
【図１１】第1の実施の形態における具体例を説明する第3の図である。
【図１２】第1の実施の形態における具体例を説明する第4の図である。
【図１３】第1の実施の形態における具体例を説明する第5の図である。
【図１４】第1の実施の形態における具体例を説明する第6の図である。
【図１５】第1の実施の形態における具体例を説明する第7の図である。
【図１６】第1の実施の形態における具体例を説明する第8の図である。
【図１７】第1の実施の形態における具体例を説明する第9の図である。
【図１８】第1の実施の形態における具体例を説明する第10の図である。
【図１９】第1の実施の形態における具体例を説明する第11の図である。
【図２０】第1の実施の形態における具体例を説明する第12の図である。
【図２１】第1の実施の形態における具体例を説明する第13の図である。
【図２２】第1の実施の形態における具体例を説明する第14の図である。
【図２３】第1の実施の形態における具体例を説明する第15の図である。
【図２４】第1の実施の形態における具体例を説明する第16の図である。
【図２５】第1の実施の形態における具体例を説明する第17の図である。
【図２６】第1の実施の形態における具体例を説明する第18の図である。
【図２７】第1の実施の形態における具体例を説明する第19の図である。
【図２８】第1の実施の形態における具体例を説明する第20の図である。
【図２９】第1の実施の形態における具体例を説明する第21の図である。
【図３０】第1の実施の形態における具体例を説明する第22の図である。
【図３１】第1の実施の形態における具体例を説明する第23の図である。
【図３２】第1の実施の形態における具体例を説明する第24の図である。
【図３３】第1の実施の形態における具体例を説明する第25の図である。
【図３４】第1の実施の形態における具体例を説明する第26の図である。
【図３５】第1の実施の形態における具体例を説明する第27の図である。
【図３６】第1の実施の形態における具体例を説明する第28の図である。
【図３７】第1の実施の形態における具体例を説明する第29の図である。
【図３８】第1の実施の形態における具体例を説明する第30の図である。
【図３９】第1の実施の形態における具体例を説明する第31の図である。
【図４０】第1の実施の形態における具体例を説明する第32の図である。
【図４１】第1の実施の形態における具体例を説明する第33の図である。
【図４２】第1の実施の形態における具体例を説明する第34の図である。
【図４３】第1の実施の形態における具体例を説明する第35の図である。
【図４４】第1の実施の形態における具体例を説明する第36の図である。
【図４５】第1の実施の形態における具体例を説明する第37の図である。
【図４６】第1の実施の形態における具体例を説明する第38の図である。
【図４７】第1の実施の形態における具体例を説明する第39の図である。
【図４８】第1の実施の形態における具体例を説明する第40の図である。
【図４９】第1の実施の形態における具体例を説明する第41の図である。
【図５０】第1の実施の形態における具体例を説明する第42の図である。
【図５１】第1の実施の形態における具体例を説明する第43の図である。
【図５２】第1の実施の形態における具体例を説明する第44の図である。
【図５３】第1の実施の形態における具体例を説明する第45の図である。
【図５４】第1の実施の形態における具体例を説明する第46の図である。
【図５５】第1の実施の形態における具体例を説明する第47の図である。
【図５６】第1の実施の形態における具体例を説明する第48の図である。
【図５７】第1の実施の形態における具体例を説明する第49の図である。
【図５８】第1の実施の形態における具体例を説明する第50の図である。
【図５９】第2の実施の形態の情報処理装置2のハードウェア構成を説明するブロック図の一例である。
【図６０】図59 の情報処理装置2のソフトウェア構成を説明するブロック図の一例である。
【図６１】イベントの登録，異なるイベントの辺による接続と，フラグの設定を説明する図である。
【図６２】第2の実施の形態で説明するイベントのリアルタイム出力を説明する第1のフロー図である。
【図６３】第2の実施の形態で説明するイベントのリアルタイム出力を説明する第2のフロー図である。
【図６４】第2の実施の形態で説明するイベントのリアルタイム出力を説明する第3のフロー図である。
【図６５】第2の実施の形態で説明するイベントのリアルタイム出力を説明する第4のフロー図である。
【図６６】第2の実施の形態で説明するイベントのリアルタイム出力を説明する第5のフロー図である。
【図６７】第2の実施の形態における具体例を説明する第1の図である。
【図６８】第2の実施の形態における具体例を説明する第2の図である。
【図６９】第2の実施の形態における具体例を説明する第3の図である。
【図７０】第2の実施の形態における具体例を説明する第4の図である。
【図７１】第2の実施の形態における具体例を説明する第5の図である。
【図７２】第2の実施の形態における具体例を説明する第6の図である。
【図７３】第2の実施の形態における具体例を説明する第7の図である。
【図７４】第2の実施の形態における具体例を説明する第8の図である。
【図７５】第2の実施の形態における具体例を説明する第9の図である。
【図７６】第2の実施の形態における具体例を説明する第10の図である。
【図７７】第2の実施の形態における具体例を説明する第11の図である。
【図７８】第2の実施の形態における具体例を説明する第12の図である。
【図７９】第2の実施の形態における具体例を説明する第13の図である。
【図８０】第2の実施の形態における具体例を説明する第14の図である。
【図８１】第2の実施の形態における具体例を説明する第15の図である。
【図８２】第2の実施の形態における具体例を説明する第16の図である。
【図８３】第2の実施の形態における具体例を説明する第17の図である。
【図８４】第2の実施の形態における具体例を説明する第18の図である。
【図８５】第2の実施の形態における具体例を説明する第19の図である。
【図８６】第2の実施の形態における具体例を説明する第20の図である。
【図８７】第2の実施の形態における具体例を説明する第21の図である。
【図８８】第2の実施の形態における具体例を説明する第22の図である。
【図８９】第2の実施の形態における具体例を説明する第23の図である。
【図９０】第2の実施の形態における具体例を説明する第24の図である。
【図９１】第2の実施の形態における具体例を説明する第25の図である。
【図９２】第2の実施の形態における具体例を説明する第26の図である。
【図９３】第2の実施の形態における具体例を説明する第27の図である。
【図９４】第2の実施の形態における具体例を説明する第28の図である。
【図９５】第2の実施の形態における具体例を説明する第29の図である。
【図９６】第2の実施の形態における具体例を説明する第30の図である。
【図９７】第2の実施の形態における具体例を説明する第31の図である。
【図９８】第2の実施の形態における具体例を説明する第32の図である。
【図９９】イベントを模式的に示す他の図である。
【図１００】イベント条件，イベント間条件を説明する他の図である。
【発明を実施するための形態】
【０００９】
［第１の実施の形態］
(情報処理装置のハードウェアブロック図)
図1は，第1の実施の形態の情報処理装置1のハードウェア構成を説明するブロック図の一例である。なお，以下の図の説明において，同じブロック，同じ構成については，同一の符号を付し，一度した説明を適宜省略する。
【００１０】
情報処理装置1は，バスBに接続された，CPU(処理部)101と，RAM(メモリ)102と，ストレージ装置103と，外部記憶媒体読み取り装置104と，ネットワークインターフェイス105とを有する。なお，CPUは"Central Processing Unit"の略語である。RAMは"Random Access Memory"の略語である。以下，CPU(処理部)101をCPU101，RAM(メモリ)102をRAM102，ストレージ装置103をストレージ103と適宜記す。
【００１１】
CPU101は，情報処理装置1の全体を制御する中央演算処理装置である。RAM102は，CPU101が実行する処理や，リアルタイム処理ソフトSF1が実行する各ステップにおいて生成(算出)されたデータなどを一時的に記憶する。また，RAM102は，図3で説明するイベントを記憶する。RAM102は，例えばDRAM(Dynamic Random Access Memory)などの半導体メモリである。なお，RAM102内に示した内容については，後記する。
【００１２】
ストレージ103は，例えばハードディスクドライブ(HDD：Hard Disk Drive)や，ソリッドステートドライブ(SSD:Solid State Drive)などの大容量記憶装置である。ストレージ103は，リアルタイム処理ソフトSF1の実行ファイルを記憶する。CPU101は，情報処理装置1の起動時に，ストレージ103からリアルタイム処理ソフトSF1の実行ファイルを読み出し，RAM102に展開し，イベントが所定の条件を満たすか否かの判定をリアルタイムで実行(リアルタイム処理とも呼ぶ)する。なお，この実行ファイルを外部記憶媒体MDに記憶してもよい。
【００１３】
外部記憶媒体読み取り装置104は，外部記憶媒体MDに記憶されたデータを読み取る装置である。外部記憶媒体MDは，例えば，CD-ROM(Compact Disc Read Only Memory)，DVD(Digital Versatile Disc)などの可搬型記憶媒体や，USBメモリなどの可搬型の不揮発性メモリである。
【００１４】
ネットワークインターフェイス105は，例えばNIC(Network Interface Card)を有し，ネットワークNに対するインターフェイス機能を提供する。
【００１５】
(情報処理装置のソフトウェアブロック図)
図2は，図1の情報処理装置1のソフトウェア構成を説明するブロック図の一例である。
【００１６】
リアルタイム処理ソフトSF1は，条件読み取り部11，条件変換部12，データ読み取り部13，条件判定部14，グラフ管理部15，ノード削除部16，出力管理部17，出力部18を有する。
【００１７】
条件読み取り部11は，ストレージ103に予め管理者などにより設定されているイベント条件，イベント間条件，タイムアウト，無条件タイムアウトを有する情報を読み出す。なお，この情報については，図5で説明する。条件変換部12は，イベント条件，イベント間条件，タイムアウト，無条件タイムアウトが条件判定部14により読み取れるようにイベント条件，イベント間条件，タイムアウト，無条件タイムアウトを変換し，RAM102に記憶する。
【００１８】
データ読み取り部13は，1つのイベントを外部のサーバから受信(取得とも呼ぶ)し，受信したイベントをバッファメモリ(図示しない)に一時的に上書き記憶する。このバッファメモリは，イベントを一時的に記憶するためのメモリであり，RAM102内の一部領域(図示しない)に設けてもよい。データ読み取り部13は，この1つのイベントを条件判定部14に入力する。
【００１９】
条件判定部14は，入力されたイベントが前記した条件を満たすか判定する。条件判定部14は，入力されたイベントがイベント条件(図5で説明する条件a〜条件d)を満たす場合，満たすイベント条件と対応してRAM102に定められた領域(例えば，条件aの候補102a，条件bの候補102b，条件cの候補102c，条件dの候補102d)に記憶する。
【００２０】
グラフ管理部15は，イベントがイベント条件を満たす場合や，イベントがイベント間条件を満たす場合，その旨をRAM102に記憶する。
【００２１】
ノード削除部16は，条件判定部14がRAM102に記憶したイベントを削除する。出力管理部17は，イベントの出力処理全般を管理する。出力部18は，出力対象のイベントのデータを所定の出力形式(例えばHTML形式)に変換し，外部の表示装置(図示しない)に出力する。本実施の形態の具体例を説明する前に必要な内容を図3〜図6を参照して説明する。
【００２２】
(イベント)
図3は，イベントを模式的に示す図の一例である。イベントは，複数の属性を有する事象情報（事象レコードとも呼ぶ）の一例である。イベントは，例えば，ある時間における，ある対象の地球上での位置情報を示す。ここで，ある対象は人間である。イベントは，ある対象を一意に識別する識別子(ID：identifier)と，ある対象の地球上での位置情報とを有する。この位置情報は，例えば緯度，経度である。
【００２３】
イベントは，さらに，この位置情報が測定された時間，すなわち，前記したある時間を有する。この位置情報は，第1の属性の一例である。時間は，第2の属性の一例である。対象を一意に識別する識別子は，第3の属性の一例である。
【００２４】
図3に示すイベントテーブルにおける列は，図面左から順に，イベントの時間，イベントのID，イベントのエリア，スペースを示す。エリアおよびスペースは，位置情報を示す。例えば，図3の符号E1で示すイベントが1つのイベントを示している。なお，イベントE1〜イベントE5については，図6で説明する。
【００２５】
エリアは，緯度における時分の1分単位と，経度における時分の1分単位とで示される領域である。図3では，エリアの緯度の時分と経度の時分とを(Y1°Y2',X1°X2')形式で示す。" Y1°Y2'"は，緯度の時分を示し，"X1°X2'"は，経度の時分を示す。なお，エリアの具体例については，図4で説明する。
【００２６】
スペースは，緯度の秒と経度の秒とで示される部分である。図3では，エリアの緯度の秒と経度の秒とを(Y3”,X3”)形式で示す。Y3”は，緯度の秒を示し，X3”は，経度の秒を示す。
【００２７】
例えば，時刻Tと，識別子ID0と，エリア(Y1°Y2',X1°X2')と，スペース(Y3”,X3”)とを有するイベントは，時間Tにおいて，識別子ID0で識別される人間が，位置(Y1°Y2' Y3”,X1°X2' X3”)にいることを示す。
【００２８】
データ読み取り部13は，図3の矢印で示すように，図面上から順に外部サーバからイベントを順次取得する。
【００２９】
(追跡検知)
図4は，本実施の形態の情報処理装置1が実行する追跡検知を説明する図である。以下，(35°35',139°38')〜(35°36',139°39')で示される領域(点線ハッチング参照)をエリアaまたはエリアbと記す。
【００３０】
また，(35°34',139°37')〜(35°35',139°38')で示される領域(斜め線ハッチング参照)をエリアcまたはエリアdと記す。ただし，以下の説明では，エリアcまたはエリアdにおいて，(35°35',139°38')は含まないとする。
【００３１】
ここで，人間M1が，エリアa(換言すれば，エリアb)からエリアc(換言すれば，エリアd)に移動し，同じく，人間M2が，エリアa(換言すれば，エリアb)からエリアc(換言すれば，エリアd)に移動する状況を想定する。そして，人間M2は，人間M1の移動を追跡する人間であると想定する。人間M2は，いわゆるストーカ(stalker)である。
【００３２】
人間M1，M2は，自身の位置情報を外部サーバに所定のタイミングで送信する通信端末を有する。この通信端末は，いわゆるGPS(Global Positioning System)機能を有し，現在位置を測定し，測定した位置情報と，測定時間と，端末自身を識別する端末識別子(ID)とを有するイベントを外部サーバに送信する。なお，測定した位置情報は，図3の例では，エリア，スペースであり，測定時間は，図3の例では，時間であり，端末識別子は，図3の例では，IDである。通信端末は，例えば，携帯電話機，スマートフォン(smartphone)である。
【００３３】
外部サーバは，イベントを受信し，情報処理装置1に送信する。情報処理装置1は，受信したイベントに基づき，所定の条件を満たすイベントをリアルタイムで抽出し，抽出したイベントを出力する。図4の例では，情報処理装置1は，エリアa(換言すれば，エリアb)からエリアc(換言すれば，エリアd)に移動した人間と，この人間を追跡する人間とをリアルタイムで検知する。以下，この検知を追跡検知と適宜記す。追跡検知において，所定の条件は，カテゴリとして例えば2つの条件，すなわちイベント条件と，イベント間条件とを有する。
【００３４】
(イベント条件，イベント間条件)
図5は，イベント条件，イベント間条件を説明する図である。このイベント条件は，図3で説明した第1の属性(例えば，位置情報)に対応して定められた事象条件の一例である。以下，イベント条件を条件と適宜記す。図5(A)は，条件a〜条件dを楕円で模式的に示す図である。図5(B)は，イベント間条件における時間差を示す図である。
【００３５】
条件aは，イベントのエリアがエリアaを満たすことを示す条件である。条件bは，イベントのエリアがエリアb(換言すれば，エリアa)を満たすことを示す条件である。条件cは，イベントのエリアがエリアcを満たすことを示す条件である。条件dは，イベントのエリアがエリアdを満たすことを示す条件である。
【００３６】
以上説明したように，イベント条件は，第1の属性(例えば，位置情報)に対応して定められた，第1の条件(例えば，条件a)と第2の条件(例えば，条件b)と第3の条件(例えば，条件c)と第4の条件(例えば，条件d)とを有する。
【００３７】
イベント間条件は，第1の属性(例えば，位置情報)と第2の属性である時間と少なくとも2つのイベント条件とに関連する事象間条件の一例である。図4，図5の例では，4つのイベント間条件がある。
【００３８】
第1のイベント間条件は，例えば，条件a，条件bとの関係を示すイベント間条件a-bである。イベント間条件a-bは，第1，第2のイベントに含まれるエリア(エリアa，または，エリアb)およびスペースが同一であり，第1，第2のイベントのIDが異なる。さらに，イベント間条件a-bは，第1のイベントの時間と，第1のイベントに後続する第2のイベントの時間との時間差が40秒以内である。この時間差は，タイムアウト(換言すれば，イベント間条件の最大時間)とも呼ぶ。図5(A)において，イベント間条件a-bを実線の矢印で模式的に示す。図5(B)において，イベント間条件a-bにおけるタイムアウトを"a-b：40秒"で示す。
【００３９】
イベント間条件a-bは，第1の時間(例えば，40秒)と第3の属性(例えば，ID)と第1，第2の事象条件とに関連する第1の事象間条件の一例である。
【００４０】
第2のイベント間条件は，例えば，条件a，条件cとの関係を示すイベント間条件a-cである。イベント間条件a-cは，第1，第3のイベントに含まれるエリアおよびスペースが異なり，第1，第3のイベントに含まれるIDが同じであり，第1のイベントの時間と，第1のイベントに後続する第3のイベントの時間との時間差(タイムアウト)が20分以内である。第1のイベントに含まれるエリアは，エリアaである。第3のイベントに含まれるエリアは，エリアcである。
【００４１】
図5(A)において，イベント間条件a-cを一点鎖線の矢印で模式的に示す。図5(B)において，イベント間条件a-cにおけるタイムアウトを"a-c：20分"で示す。
【００４２】
イベント間条件a-cは，第1の時間(例えば，40秒)よりも長い第2の時間(例えば，20分)と第3の属性(例えば，ID)と第1，第3の事象条件とに関連する第2の事象間条件の一例である。
【００４３】
第3のイベント間条件は，例えば，条件c，条件dとの関係を示すイベント間条件c-dである。イベント間条件c-dは，第3，第4のイベントに含まれるエリア(エリアc，または，エリアd)およびスペースが同一であり，第3，第4のイベントのIDが異なる。さらに，イベント間条件c-dは，イベント間条件c-dにおける各条件(条件c，条件d)は，時間的に前後関係のない条件であり，この各条件の間に時間的に関連がない。具体的には，第3のイベントの時間と，第3のイベントに先行または後続する第4のイベントの時間との時間差(タイムアウト)が40秒以内である。なお，イベント間条件c-dについて，イベント間条件a-bのように，時間的に前後関係がある条件としてもよい。例えば，条件cを，条件dに対して時間的に先行する条件としてもよい。
【００４４】
図5(A)において，イベント間条件c-dを矢印無しの点線で模式的に示す。図5(B)において，イベント間条件c-dにおけるタイムアウトを"c-d：40秒"で示す。
【００４５】
イベント間条件c-dは，第3の時間(例えば，40秒)と第3の属性(例えば，ID)と第3，第4の事象条件とに関連する第3の事象間条件の一例である。
【００４６】
第4のイベント間条件は，例えば，条件b，条件dとの関係を示すイベント間条件b-dである。イベント間条件b-dは，第2，第4のイベントに含まれるエリアおよびスペースが異なり，第2，第4のイベントに含まれるIDが同じであり，第2のイベントの時間と，第2のイベントに後続する第4のイベントの時間との時間差(タイムアウト)が20分以内である。なお，第2のイベントに含まれるエリアは，例えば，エリアbである。第4のイベントに含まれるエリアは，例えば，エリアdである。
【００４７】
図5(A)において，イベント間条件b-dを破線の矢印で模式的に示す。図5(B)において，イベント間条件b-dにおけるタイムアウトを"b-d：20分"で示す。
【００４８】
イベント間条件b-dは，第3の時間(例えば，40秒)よりも長い第4の時間(例えば，20分)と第3の属性(例えば，ID)と第2，第4の事象条件とに関連する第4の事象間条件の一例である。
【００４９】
次に，無条件タイムアウトが予め定められている(設定されている)条件は，条件c，条件dである。図5(B)において，条件c，条件dの無条件タイムアウトを"c：40秒"，"d：40秒"で示す。無条件タイムアウトの具体例については，図7のフロー図におけるステップS3などで説明する。
【００５０】
無条件タイムアウトは，第4の事象条件(例えば,条件c)に対応して定められた第5の時間(例えば，40秒)，第4の事象条件(例えば,条件d)に対応して定められた第6の時間(例えば，40秒)の一例である。
【００５１】
(イベントの登録，イベント間条件)
図6は，イベントの登録と，異なるイベントの辺による接続を説明する図である。データ読み取り部13は，イベントを取得し，条件判定部14に入力する。条件判定部14は，このイベントが第1の属性(例えば，エリア)に対応して定められた条件を満たす場合，このイベントをRAM102の所定の領域に記憶する。このイベントの記憶は，イベントの登録と同義である。
【００５２】
具体的には，条件判定部14は，データ読み取り部13から入力された入力イベントが何れかの条件(条件a〜条件d)を満たすか判定する。そして，条件判定部14は，入力イベントが何れかの条件を満たした場合，満たした条件の候補として新規にRAM102に登録(記憶)する。
【００５３】
そして，条件判定部14は，イベントの登録において，登録したイベントと共に，イベントの内容をRAM102に記憶する。この内容は，登録されたイベントをRAM102において一意に識別する個別ID，このイベントが満たした条件，このイベントが満たすイベント間条件，他のデータである。
【００５４】
例えば，図3のイベントE1がデータ読み取り部13から条件判定部14に入力される。イベントE1は，エリアa，b(図4の例では，(35°35',139°38'))を含むので，条件a〜dの中で，条件a，bを満たす。条件判定部14は，入力イベントを，満たした条件a，bの候補として新規に登録する。
【００５５】
図6においては，条件判定部14は，RAM102のaの候補102aにイベントE1を登録(記憶)する。符号E11は，登録したイベントの時間を示す。符号E12は，登録したイベントのIDを示す。符号E13は，登録したイベントのスペースを示す。なお，イベントE1は条件bを満たすが，図示を簡略化するため，イベントE1がRAM102のbの候補102bに登録されている状態については，図示を省略している。
【００５６】
そして，条件判定部14は，内容EI1に示すように，イベントE1の個別ID"0x1"，イベント条件"条件a"を記憶する。
【００５７】
さらに，条件判定部14は，エリアa,bを含むイベントE2，E3が順次入力されると，条件判定部14は，入力イベントE2,E3を，満たした条件a，bの候補として新規に登録する。図6においては，条件判定部14は，RAM102のbの候補102 bにイベントE2，E3を登録する。なお，イベントE2，E3は，条件aを満たすが，図示を簡略化するため，イベントE2，E3がRAM102のaの候補102aに登録されている状態については，図示を省略している。
【００５８】
そして，条件判定部14は，内容EI2に示すように，イベントE2の個別ID"0x2"，イベント条件"条件b"を記憶する。さらに，条件判定部14は，内容EI3に示すように，イベントE3の個別ID"0x3"，イベント条件"条件b"を記憶する。
【００５９】
条件判定部14は，イベントをRAM102に記憶する度に，事象間条件(例えば，イベント間条件)を満たす，RAM102に記憶された記憶イベントがあるか判定する。条件判定部14は，イベントをRAM102に記憶する度にこの判定を行うことで，リアルタイム，すなわちイベントの取得と同時に(即時に)前記した判定が可能になる。
【００６０】
例えば，イベントE1と，イベントE2，E3とは，イベント間条件a-bを満たす。何故なら，イベントE1，E2，E3のエリアおよびスペースが同一であり，イベントE1の時間と，イベントE1に後続するイベントE2，E3の時間との時間差が40秒以内だからである。そして，イベントE1のIDと，イベントE2，E3のIDとが異なるからである。
【００６１】
条件判定部14は，イベントE1と，イベントE2，E3とが，イベント間条件a-bを満たす旨をRAM102に記憶する。図6では，イベントE1とイベントE2，E3とが，イベント間条件a-bを満たす旨を，イベントE1とイベントE2，E3とを実線L1で示す辺で接続することにより示している。
【００６２】
条件判定部14は，イベントE1について，イベントE1と，イベントE2，E3とがイベント間条件a-bを満たす旨をイベントE1の内容EI1に示すように，接続先のイベントの個別IDと辺の符号L1とでRAM102に記憶する。内容EI1では，イベント間条件："0x2(L1),0x3(L1)"で示している。また，条件判定部14は，イベントE2について，イベントE1と，イベントE2とがイベント間条件a-bを満たす旨をイベントE2の内容EI2に示すように，接続先のイベントの個別IDと辺の符号L1とでRAM102に記憶する。内容EI2では，イベント間条件："0x1(L1)"で示している。また，条件判定部14は，イベントE3について，イベントE1と，イベントE3とがイベント間条件a-bを満たす旨をイベントE3の内容EI3に示すように，接続先のイベントの個別IDと辺の符号L1とでRAM102に記憶する。内容EI3では，イベント間条件："0x1(L1)"で示している。
【００６３】
さらに，条件判定部14は，エリアc，d(図4の例では，(35°34',139°37'))を含むイベントE4が入力されると，条件判定部14は，入力イベントE4を，満たした条件c，dの候補として新規に登録する。図6においては，条件判定部14は，RAM102のcの候補102 cにイベントE4を登録する。なお，イベントE4は，条件dを満たすが，図示を簡略化するため，イベントE4がRAM102のdの候補102dに登録されている状態については，図示を省略している。
【００６４】
そして，条件判定部14は，内容EI4に示すように，イベントE4の個別ID：0x4，イベント条件"条件c"を記憶する。
【００６５】
ここで，イベントE1と，イベントE4とは，イベント間条件a-cを満たす。何故なら，イベントE1，E4に含まれるエリアおよびスペースが異なり，イベントE1，E4に含まれるIDが同じであり，イベントE1の時間と，イベントE1に後続するイベントE4の時間との時間差が20分以内だからである。
【００６６】
条件判定部14は，イベントE1と，イベントE4とが，イベント間条件a-cを満たす旨をRAM102に記憶する。図6では，イベントE1とイベントE4とが，イベント間条件a-cを満たす旨を，イベントE1とイベントE4とを一点鎖線L2で示す辺で接続することにより示している。
【００６７】
条件判定部14は，イベントE1について，イベントE1と，イベントE4とがイベント間条件a-cを満たす旨をイベントE1の内容EI1に示すように，接続先のイベントの個別IDと辺の符号L2とでRAM102に記憶する。内容EI1では，イベント間条件："0x4(L2)"で示している。
【００６８】
条件判定部14は，イベントE4について，イベントE4と，イベントE1とがイベント間条件a-cを満たす旨をイベントE4の内容EI4に示すように，接続先のイベントの個別IDと辺の符号L2とでRAM102に記憶する。内容EI4では，イベント間条件："0x1(L2)"で示している。
【００６９】
さらに，条件判定部14は，エリアc，dを含むイベントE5が入力されると，条件判定部14は，入力イベントE5を，満たした条件c，dの候補として新規に登録する。図6においては，条件判定部14は，RAM102のdの候補102 dにイベントE5を登録する。なお，イベントE5は，条件cを満たすが，図示を簡略化するため，イベントE5がRAM102のcの候補102cに登録されている状態については，図示を省略している。
【００７０】
そして，条件判定部14は，内容EI5に示すように，イベントE5の個別ID"0x5"，イベント条件"条件d"を記憶する。
【００７１】
ここで，イベントE3と，イベントE5とは，イベント間条件b-dを満たす。何故なら，イベントE3，E5に含まれるエリアおよびスペースが異なり，イベントE3，E5に含まれるIDが同じであり，イベントE1の時間と，イベントE1に後続するイベントE5の時間との時間差が20分以内だからである。
【００７２】
条件判定部14は，イベントE3と，イベントE5とが，イベント間条件b-dを満たす旨をRAM102に記憶する。図6では，イベントE3とイベントE5とが，イベント間条件b-dを満たす旨を，イベントE3とイベントE5とを破線L3で示す辺で接続することにより示している。
【００７３】
条件判定部14は，イベントE3について，イベントE3と，イベントE5とがイベント間条件b-dを満たす旨をイベントE3の内容EI3に示すように，接続先のイベントの個別IDと辺の符号L3とでRAM102に記憶する。内容EI3では，イベント間条件："0x5(L3)"で示している。
【００７４】
条件判定部14は，さらに，イベントE5について，イベントE3と，イベントE5とがイベント間条件b-dを満たす旨をイベントE5の内容EI5に示すように，接続先のイベントの個別IDと辺の符号L3とでRAM102に記憶する。内容EI5では，イベント間条件："0x3(L3)"で示している。
【００７５】
ここで，イベントE4と，イベントE5とは，イベント間条件c-dを満たす。何故なら，イベントE4，E5のエリアおよびスペースが同一であり，イベントE4の時間と，イベントE4に後続するイベントE5の時間との時間差が40秒以内だからである。そして，イベントE4のIDと，イベントE5のIDが異なるからである。
【００７６】
条件判定部14は，イベントE4と，イベントE5とが，イベント間条件c-dを満たす旨をRAM102に記憶する。図6では，イベントE4とイベントE5とが，イベント間条件c-dを満たす旨を，イベントE4とイベントE5とを点線L4で示す辺で接続することにより示している。
【００７７】
条件判定部14は，イベントE4について，イベントE4と，イベントE5とがイベント間条件c-dを満たす旨をイベントE4の内容EI4に示すように，接続先のイベントの個別IDと辺の符号L4とでRAM102に記憶する。内容EI4では，イベント間条件："0x5(L4)"で示している。
【００７８】
また，条件判定部14は，イベントE5について，イベントE4と，イベントE5とがイベント間条件c-dを満たす旨をイベントE5の内容EI5に示すように，接続先のイベントの個別IDと辺の符号L4とでRAM102に記憶する。内容EI5では，イベント間条件："0x4(L4)"で示している。
【００７９】
(イベントのリアルタイム処理)
条件判定部14は，イベントをRAM102に記憶する度に，イベント間条件を満たす，RAM102に記憶されたイベント(以下，記憶イベントと適宜記す)があるかリアルタイムで判定する。そして，出力部18は，イベント間条件を満たす記憶イベントがあると，判定結果を出力する。
【００８０】
図6で説明したように，条件判定部14は，以下の判定を行う。条件判定部14は，第1の記憶イベント(例えば，図6のイベントE1)が，条件aとイベント間条件a-b，a-cとを満たすか判定(第1の判定)する。条件判定部14は，第2の記憶イベント(例えば，図6のイベントE3)が，条件bとイベント間条件a-b，b-dとを満たすか判定(第2の判定)する。
【００８１】
条件判定部14は，第3の記憶イベント(例えば，図6のイベントE4)が，条件cとイベント間条件a-c，c-dとを満たすか判定(第3の判定)する。条件判定部14は，第4の記憶イベント(例えば，図6のイベントE5)が，条件dとイベント間条件b-d，c-dとを満たすか判定(第4の判定)する。
【００８２】
そして，出力管理部17は，第1〜第4の判定において全てのイベント間条件を満たすと判定(第5の判定)した場合，満たしたことを示す判定結果を出力する。判定結果の一例は，前記したイベント間条件を満たす記憶イベントである。
【００８３】
条件判定部14は，条件cとイベント間条件a-c，c-dとを満たしたイベント，または，条件dとイベント間条件b-d，c-dとを満たしたイベントがRAM102に記憶されたタイミングで，第5の判定を行う。
【００８４】
なお，ノード削除部16は，出力部18が判定結果を出力した後，第1〜第4の記憶イベントを削除してもよい。その結果，RAM102の無駄な記憶領域を削減できる。
【００８５】
以上説明したように，条件判定部14は，イベントを取得する度に，取得したイベントが所定のイベント条件，イベント間条件を満たすかリアルタイムで判定する。そして，出力管理部17は，記憶イベントがイベント間条件を満たす場合，判定結果をリアルタイムで出力する。
【００８６】
すなわち，本実施の形態の情報処理装置によれば，複数のイベントの中から，全ての所定の条件を満たすイベントをリアルタイムで抽出し，所定の条件を満たす旨を迅速に出力することができる。
【００８７】
図3〜図6の例では，判定結果は，追跡検知における対象(ストーカ行為者と，ストーカ被害者)である。このように，本実施の形態の情報処理装置によれば，管理者は，迅速かつリアルタイムで検知結果を取得することできる。
【００８８】
ここで，条件判定部14は，リアルタイムに前記した判定を行う処理を実行するのに加えて，所定のタイミング毎に，RAM102に記憶された記憶イベントにおいて，イベント間条件を満たす記憶イベントがあるか判定してもよい。所定のタイミング毎に判定する処理により，管理者は，適宜，検知結果を取得することができる。
【００８９】
(イベントの削除)
ここで，多数のイベントがある場合や，多数の条件が設定されている場合を想定する。かかる想定において，情報処理装置は，イベントが多数の条件を満たすか否かを判定する場合，判定処理に必要になるRAM102の使用容量が多くなり，処理負荷が高まる。その結果，判定処理を迅速に行うことが困難になる。そこで，情報処理装置は，RAM102の使用容量を削減する。
【００９０】
具体的には，ノード削除部16は，RAM102に記憶された記憶イベントの時間と，現在時間に対応する基準時間とに基づき，イベント間条件を満たさないイベントを特定し，特定した記憶イベントをRAM102から削除する。ここで，現在時間は，例えば，最新のイベントに含まれる時間や，最新のイベントを取得した時間である。そして，現在時間に対応する基準時間は，例えば，この現在時間と同一時間や，他にも，数秒程度遅れた時間である。
【００９１】
ノード削除部16は，第1のイベント条件を満たす記憶イベントの時間とイベント間条件の時間とを加算した時間が基準時間を超えても，イベント間条件を満たすイベントがRAM102に記憶されない場合，第1のイベント条件を満たす記憶イベントをRAM102から削除する。
【００９２】
ここで，イベント条件は，例えば条件aであり，イベント間条件はイベント間条件a-bであり，イベント間条件の時間は，例えば40秒である。図6の例では，イベントE1がRAM102に記憶された後，イベントE1の時間"17:54:00"の時間とイベント間条件a-bの時間"40秒"とを加算した加算時間が現在時間を超えても，イベント間条件a-bを満たすイベント(条件bの候補となるイベント)がRAM102に記憶されない場合，イベントE1を削除する。
【００９３】
一方，イベント条件は，例えば条件aであり，イベント間条件はイベント間条件a-cであり，イベント間条件a-cの時間は，例えば20分であるとする。図6の例では，イベントE1がRAM102に記憶された後，イベントE1の時間"17:54:00"の時間とイベント間条件a-cの時間"20分"とを加算した加算時間が現在時間を超えても，イベント間条件を満たすイベント(条件cの候補となるイベント)がRAM102に記憶されない場合，イベントE1を削除する。
【００９４】
また，ノード削除部16は，第1の記憶イベントが，第1のイベント条件を満たし，第2の記憶イベントが，第3のイベント条件と第2のイベント間条件とを満たした場合に，第1の記憶イベントが削除された場合，第2の記憶イベントをRAM102から削除する。
【００９５】
図6の例では，第1の記憶イベントは，イベントE1である。第1のイベント条件は条件a，第3のイベント条件は条件c，第2のイベント間条件はイベント間条件a-cである。
【００９６】
図6の例では，イベントE1がRAM102に記憶された後，時間"17:54:40"と，IDが"1"と，エリアcと，スペース"36”,39”"とを有するイベント(第2の記憶イベント)が条件cの候補に登録されたとする。
【００９７】
ここで，図6には，条件bの候補には，イベントが記憶されていないとする。換言すれば，イベントE1は，イベント間条件a-bを満たしていない。
【００９８】
この例において，ノード削除部16が，条件aの候補として登録されている第1の記憶イベント(イベントE1)を削除すると，第2の記憶イベントについては，イベント間条件a-cを満たす他のイベントが記憶されていないので，第2の記憶イベントを削除する。
【００９９】
また，ノード削除部16は，第3の記憶イベントの時間と，第3のイベント条件に対応して定められた第5の時間とを加算した時間が，基準時間を超えた場合，第3の記憶イベントをRAM102削除する。図6の例では，第3の記憶イベントはイベントE4，第3のイベント条件は条件c，第5の時間は無条件タイムアウト時間"40秒"である。
【０１００】
同じく，ノード削除部16は，第4の記憶イベントの時間と，第4のイベント条件に対応して定められた第5の時間とを加算した時間が基準時間を超えた場合，第4の記憶イベントをRAM102から削除する。図6の例では，第4の記憶イベントはイベントE5，第4のイベント条件は条件d，第6の時間は無条件タイムアウト時間"40秒"である。
【０１０１】
以上説明したように，イベント間条件を満たさないイベントを削除することにより，RAM102の記憶容量を有効利用できる。換言すれば，時間経過してもイベント間条件を満たすことがないイベントを削除して，RAM102の無駄な記憶領域を削減できる。
【０１０２】
(フロー図)
図7，図8は，第1の実施の形態で説明するイベントのリアルタイム処理を説明する第1，第2のフロー図である。なお，以下の説明において，Sn(nは1以上の整数)は，ステップSnを意味し，ステップという文字を適宜省略する。
【０１０３】
S1：条件読み取り部11は，例えば，図5で説明したイベント条件，イベント間条件，タイムアウト，無条件タイムアウトを有する情報をストレージ103から読み出す。
【０１０４】
この情報は，例えばテキスト形式でストレージ103に記憶されている。条件変換部12は，図2で説明した変換を行い，条件判定部14に入力する。次に，S2に移る。
【０１０５】
S2：データ読み取り部13は，イベントの受信を待ち，イベントを受信すると，条件判定部14に入力する。次に，S3に移る。
【０１０６】
S3：条件判定部14は，無条件タイムアウトが設定されている条件の候補に登録されたイベントの中で，現在の時間と，無条件タイムアウトが設定されている条件の候補に登録されたイベントの時間との差が，無条件タイムアウトを超えているイベントがあるか判定する。無条件タイムアウトが設定される条件は，条件cまたは条件dである。そして，この無条件タイムアウトは，例えば40秒である。S3でYESの場合，S7に移る。S3でNOの場合，S4に移る。
【０１０７】
S4：条件判定部14は，各候補に登録されたイベントの中で，イベントに関連する全イベント間条件を満たさない，未処理のイベントが1つでもあるか判定する。換言すれば，条件判定部14は，各候補に登録されたイベントの中で，異なる種類の2辺で接続されていない，未処理のイベントが1つでもあるか判定する。S4でYESの場合，S5に移る。S4でNOの場合，S8に移る。
【０１０８】
イベントに関連するイベント間条件とは，このイベントが満たす条件と何らかの関係を有する条件である。例えば，このイベントが条件aを満たす場合，このイベントに関連するイベント間条件は，条件a-b，条件a-cである。このイベントが条件bを満たす場合，このイベントに関連するイベント間条件は，条件a-b，条件b-dである。このイベントが条件cを満たす場合，このイベントに関連するイベント間条件は，条件a-c，条件c-dである。このイベントが条件dを満たす場合，このイベントに関連するイベント間条件は，条件b-d，条件c-dである。
【０１０９】
未処理のイベントとは，条件aの候補〜条件dの候補に登録されたイベントの中で，処理済みとされていないイベント，換言すれば，未処理とされたイベントである。条件aの候補〜条件dの候補に新規に登録されたイベントは，未処理のイベントである。
【０１１０】
S5: 条件判定部14は，登録されているイベントの中で，削除対象のイベント(以下，削除イベントと適宜視する)があるか判定する。S5でYESの場合，S7に移る。S5でNOの場合，S6に移る。条件判定部14は，登録されているイベントの各々について，S5の処理を実行する。S5については，図24，図57，図58などで具体的に説明する。
【０１１１】
削除対象のイベントは，第1〜第3の削除イベントの何れかのイベントである。第1の削除イベントは，未処理イベントの中で，現在の時間と未処理のイベントに関するイベント間条件を1つも満たさないこの未処理のイベントの時間との差が，この未処理のイベントに関連するイベント間条件のタイムアウト時間を超えているイベントである。なお，タイムアウト時間以上でもよい。未処理のイベントに関するイベント間条件を1つも満たさないこの未処理のイベントは，1つの辺も持たない未処理のイベントである。
【０１１２】
ここで，前記したイベント間条件のタイムアウト時間が複数ある場合，第1の削除イベントは，以下の通りである。すなわち，第1の削除イベントは，現在の時間と未処理のイベントに関するイベント間条件を1つも満たさない未処理のイベントの時間との差が，前記した未処理のイベントに関連する，最も短いイベント間条件のタイムアウト時間を超えているイベントである。
【０１１３】
第2の削除イベントは，未処理イベントの中で，現在の時間とこの未処理のイベントとの時間の差が，この未処理のイベントが満たす条件を自身条件として含むイベント間条件を満たさないイベント間条件のタイムアウト時間を超えているイベントである。なお，タイムアウト時間以上でもよい。イベントに関連するイベント間条件において，自身条件は，このイベントが満たす条件である。
【０１１４】
第3の削除イベントは，未処理のイベントが満たす条件(以下，条件Xと記す)よりも前の時間に関連する条件を満たすイベントと辺で接続されていない未処理のイベントである。
【０１１５】
条件Xが条件aの場合，条件aよりも前の時間に関連する条件はない。条件Xが条件bの場合，条件bよりも前の時間に関連する条件は条件aである。条件Xが条件cの場合，条件cよりも前の時間に関連する条件は，例えば条件aである。条件Xが条件dの場合，条件dよりも前の時間に関連する条件は，例えば条件bである。
【０１１６】
以上の削除イベントの説明から明らかなように，異なる種類の2辺を持つイベントは，削除イベントではない。
【０１１７】
以下，S5において，登録された複数のイベントの中に，削除イベントと，削除イベント以外のイベントが含まれている場合には，先に，削除イベントについてS7の処理が実行され，次いで，削除イベント以外のイベントについてS6の処理が実行される。
【０１１８】
S6：条件判定部14は，S5でYESと判定された未処理のイベント(削除対象でないイベント)を処理済みとする。具体的には，条件判定部14は，削除対象でないイベントと対応して処理済みフラグをRAM102に設定する。そして，S3に戻る。なお，条件判定部14は，処理済みフラグを，図6の各イベントの内容における"他のデータ："で示す部分に設定してもよい。
【０１１９】
S7：ノード削除部16は，削除対象のイベントと辺で接続されているイベントを未処理にして(換言すれば，処理済みフラグを消去)，さらに，削除対象のイベントと，削除対象のイベントの辺とを削除する。そして，S3に戻る。
【０１２０】
なお，S3において，S3/NOと判定され，S3からS7に移った場合，S7における削除対象のイベントは，無条件タイムアウトを超えているイベントである。
【０１２１】
S8：条件判定部14は，処理済みのイベントを未処理(換言すれば，処理済みフラグを消去)にする。そして，S9に移る。
【０１２２】
S9：条件判定部14は，入力イベントは，何れかの条件(条件a〜条件d)を満たすか判定する。S9でYESの場合，S10に移る。S9でNOの場合，S2に戻る。
【０１２３】
S10：条件判定部14は，入力イベントを，満たした条件の候補として新規に登録する。そして，条件判定部14は，新規に登録した各イベントについて，S11以下の処理を実行する。
【０１２４】
S11：条件判定部14は，新規登録イベントに関連する各イベント間条件の相手条件に，自身条件に時間が先行する先行条件が含まれるか判定する。S11でYESの場合，S12に移る。S11でNOの場合，図8のS21に移る。
【０１２５】
S4で説明したように，イベントに関連するイベント間条件とは，このイベントが満たす条件と何らかの関係を有する条件である。
【０１２６】
前記したようにイベントに関連するイベント間条件において，自身条件は，このイベントが満たす条件である。相手条件は，このイベント間条件において自身条件とは異なる条件である。例えば，条件aの候補として登録されているイベントに関連するイベント間条件は，条件a-b，条件a-cである。ここで，イベント間条件a-b，a-cの場合，自身条件は条件aである。イベント間条件a-bにおける相手条件は，条件bである。また，イベント間条件a-cにおける相手条件は，条件cである。
【０１２７】
自身条件に時間が先行する先行条件は，自身条件よりも前の時間に関連する条件である。例えば，自身条件が条件bの場合，先行条件は条件aである。自身条件が条件cの場合，先行条件は条件a，bである。自身条件が条件dの場合，先行条件は条件a，bである。自身条件が条件aの場合，先行条件はない。
【０１２８】
S12：条件判定部14は，先行条件(S11参照)を満たすイベント(先行条件の候補として登録されたイベント)の中に，新規登録イベントに関連する，先行条件を含むイベント間条件を満たすイベントがあるか判定する。S12でYESの場合，S14に移る。S12でNOの場合，S13に移る。
【０１２９】
S13：ノード削除部16は，新規に登録したイベントを削除する。次に，S2に戻る。
【０１３０】
S14：グラフ管理部15は，S12でイベント間条件を満たしたと判定したイベントと，新規登録イベントとを辺で接続する。次に，図8のS21に移る。
【０１３１】
図8のS21：条件判定部14は，新規登録イベントに関連する任意のイベント間条件の自身条件および相手条件は，前後関係のない条件か判定する。S21でYESの場合，S22に移る。S21でNOの場合，S24に移る。
【０１３２】
イベントに関連するイベント間条件において，前後関係のない条件は，自身条件と相手条件との間に時間に関連する条件がないことである。例えば，条件c，条件dについては，両条件間で，時間に関連する条件がなく，前後関係がない条件である。
【０１３３】
S22：条件判定部14は，前後関係のない条件の候補として登録されたイベントの中に，新規登録イベントに関連する何れかのイベント間条件を満たすイベントがあるか判定する。S22でYESの場合，S23に移る。S22でNOの場合，S24に移る。
【０１３４】
S23：グラフ管理部15は，S22における前記条件を満たすイベントと，新規登録イベントとを辺で接続する。次に，S24に移る。
【０１３５】
S24：条件判定部14は，新規登録イベントに関連する各イベント間条件の相手条件に，自身条件に時間が後続する後続条件が含まれるか判定する。
【０１３６】
イベントに関連するイベント間条件において，自身条件に時間が後続する後続条件は，自身条件よりも後の時間に関連する条件である。例えば，自身条件が条件aの場合，後続条件は条件b，c，dである。自身条件が条件bの場合，後続条件は条件c，dである。自身条件が条件c，dの場合，条件c，dは前後関係のない条件なので，後続条件はない。
【０１３７】
S24でYESの場合，S2に戻る。S24でNOの場合，S25に移る。
【０１３８】
S25：条件判定部14は，新規登録イベントは，新規登録イベントに関連する全イベント間条件を満たすか判定する。条件判定部14は，例えば，新規登録イベントが種類の異なる2辺を持つか判定する。S25でYESの場合，S26に移る。S25でNOの場合，S2に移る。
【０１３９】
S26：出力管理部17は，S25における各イベント間条件を満たす新規登録イベントが，満たす条件を処理済みとして，新規登録イベントを候補集合102fとしてRAM102に追加登録する。具体的には，出力管理部17は，種類の異なる2辺を持つ新規登録イベントが満たす条件を処理済みとして，新規登録イベントを候補集合102fとしてRAM102に追加登録する。次に，S27に移る。
【０１４０】
S27：出力管理部17は，未処理の条件があるか判定する。S27でYESの場合，S28に移る。S27でNOの場合，S29に移る。
【０１４１】
S28：出力管理部17は，未処理の条件の中で，処理済みの条件とイベント間条件を満たす条件の1つを現イベント条件とする。次に，S30に移る。
【０１４２】
S29：出力部18は，候補集合102fに登録されているイベントを出力し，全ての条件の候補を未処理にする。次に，S2に戻る。
【０１４３】
S30：出力管理部17は，RAM102の候補集合102fが空(何もイベントが登録されていない)か判定する。S30でYESの場合，S31に移る。S30でNOの場合，S32に移る。
【０１４４】
S31：出力管理部17は，RAM102の新候補集合102gのエントリをRAM102の候補集合102fとして，さらに，現イベント条件を処理済みとする。そして，S27に戻る。
【０１４５】
S32：出力管理部17は，RAM102の候補集合102fから抜き出した1つのエントリを現候補102eとしてRAM102に追加登録する。そして，S33に移る。
【０１４６】
S33：出力管理部17は，関連イベントと，現候補102eとして登録されているイベントとを新候補集合102gに追加する。関連イベントは，現イベント条件に登録されているイベントの中で，種類の異なる種類の2辺を持ち，この2つの辺の少なくとも1つの辺により，現候補に登録されているイベントと接続されているイベントである。
【０１４７】
ここで，関連イベントは，全イベント条件の数から1を減算した数のイベントが，現候補102eとして登録されている場合，種類の異なる種類の2辺により，現候補に登録されているイベントと接続されているイベントである。例えば，全イベント条件(条件a〜条件d)が4つであることを仮定すると，関連イベントは，3(4-1)つのイベントが現候補102eとして登録されている場合，種類の異なる種類の2辺により，現候補に登録されているイベントと接続されているイベントである。
【０１４８】
S33の終了後，S30に戻る。ここで，関連イベントがない場合，S33における前記した追加を実行せず，S30に戻る。情報処理装置1は，イベントの入力が所定の時間(例えば，10分)停止すると，図7，図8で説明した処理を終了する。
【０１４９】
(第1の実施の形態の具体例)
図9〜図58は，第1の実施の形態における具体例を説明する第1〜第50の図である。ここで，第1の実施の形態の具体例を説明する前に，条件読み取り部11は，図5で説明したイベント条件，イベント間条件，タイムアウト，無条件タイムアウトを有する情報をストレージ103から読み出す(S1)。そして，条件変換部12は，読み出した情報に，図2で説明した変換を行い，変換結果をRAM102に記憶する。
【０１５０】
以下の具体例において，入力されたイベントに含まれる時間を現在時間とする。そして，イベントが入力されたタイミングで，S3以下の処理が実行される。
【０１５１】
(ID1のイベント入力)
データ読み取り部102は，イベントが入力されるまで待つ(S2)。データ読み取り部13は，図9のイベントテーブルに示す，ID1のイベントを読み取る(S2)。図9において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，現在の時間"17:54:00"と，条件cの候補または条件dの候補に登録されたイベントの時間との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。なお，以下の図に示すイベントテーブルは，説明のために記載したものであって，RAM102に記憶されているものではない。
【０１５２】
図9において条件aの候補〜条件dの候補には，1つもイベントが登録されていない。従って，図9において，各候補に登録されたイベントの中で，辺で接続されていない未処理のイベントはない(S4/NO)。
【０１５３】
従って，条件判定部14は，S3でNO，S4でNOと判定し，処理済みのイベントを未処理にする(S8)。なお，条件判定部14は，処理済みのイベントがない場合，S8の処理を実行しない。
【０１５４】
ID1の入力イベントは，エリアa，bを含むので，条件a〜dの中で，条件a，bを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID1のイベントを条件a，bの候補として新規登録する(S10)。
【０１５５】
そして，条件判定部14は，条件a，bの候補として新規登録した各イベントについて，S11の処理を実行する。
【０１５６】
条件aの候補として新規登録したID1のイベント(条件aを満たすイベント)に関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が先行する先行条件(条件無し)は含まれない(S11/NO)。従って，条件判定部14は，S11でNOと判定する。
【０１５７】
以下，条件aの候補として新規登録したID1のイベントをイベントID1aと記す。イベントID1aに関連する任意のイベント間条件(条件a-bまたは条件a-c)の自身条件(条件a)および相手条件(条件bまたは条件c)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０１５８】
イベントID1aに関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が後続する後続条件(条件bまたは条件c)が含まれる(S24/YES)。
【０１５９】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０１６０】
次に，条件bの候補として新規登録したID1のイベントについて，S11の処理が実行される。条件bの候補として新規登録したID1のイベント(条件bを満たすイベント)に関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件(条件b)に時間が先行する先行条件(条件a)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０１６１】
以下，条件bの候補として新規登録したID1のイベントをイベントID1bと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID1bに関連する，先行条件を含むイベント間条件(例えば，条件a-b)を満たすイベントはない(S12/NO)。このイベント間条件a-bを満たすイベントは，イベント間条件a-b("17:54:00"から40秒以内の時間，異なるID，および同じエリア，スペースを有するイベント)を満たすイベントである。
【０１６２】
従って，条件判定部14は，S12でNOと判定し，図10で示すように，ノード削除部16は，イベントID1bを削除する(S13)。この削除を，図10の"×"で示す。そして，S2に戻る。
【０１６３】
(ID3のイベント入力)
データ読み取り部13は，イベントが入力されるまで待つ(S2)。データ読み取り部13は，図11のイベントテーブルに示す，ID3のイベントを読み取る(S2)。図11において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，現在の時間"17:54:00"と，条件cの候補または条件dの候補に登録されたイベントの時間との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。
【０１６４】
図11において，各候補に登録されたイベントの中で，イベントID1aは，未処理のイベントであり，かつ，異なる2辺で接続されていないイベントである。従って，S4の未処理のイベント(イベントID1a)であって，かつ，異なる種類の2辺で接続されていないイベント(イベントID1a)がある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０１６５】
図11において，図7のS5で説明した削除イベントはない。理由は以下の通りである。未処理のイベントID1aが満たす条件aを自身条件として含むイベント間条件a-b，a-cのタイムアウト時間は40秒，20分である。
【０１６６】
現在時間"17:54:00"と，条件aの候補に登録されたイベントID1aの時間"17:54:00"との差が，このタイムアウト時間(40秒，20分)を超えていない(S5/NO)。また，イベントID1aが満たす条件aよりも前に関連する条件はない(S5/NO)。従って，条件判定部14は，S5でNOと判定し，S6に移る。
【０１６７】
条件判定部14は，未処理のイベントID1aを処理済み(S6)にして，S3に戻る。S3において，条件cの候補および条件dの候補には，何らイベントが登録されていない(S3/NO)。そして，イベントID1aは処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベント(イベントID1a)を未処理にする(S8)。
【０１６８】
ID3の入力イベントは，エリアa〜dを含まないので，条件a〜dを満たさない(S9/NO)。従って，条件判定部14は，ID3のイベントについては何もしない。
【０１６９】
(ID7のイベント入力)
データ読み取り部13は，図12のイベントテーブルに示す，ID7のイベントを読み取る(S2)。図12において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，現在の時間"17:54:00"と，条件cの候補または条件dの候補に登録されたイベントの時間との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。
【０１７０】
図12において，条件判定部14は，イベントID1aについては，図11で説明したように，S3でNO，S4でYES，S5でNOと判定し，S6に移る。
【０１７１】
条件判定部14は，未処理のイベントID1aを処理済み(S6)にして，S3に戻る。S3において，条件cの候補および条件dの候補には，何らイベントが登録されていない(S3/NO)。そして，イベントID1aは処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベント(イベントID1a)を未処理にする(S8)。
【０１７２】
ID7の入力イベントは，エリアa，bを含むので，条件a〜dの中で，条件a，bを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID7のイベントを条件a，bの候補として新規登録する(S10)。
【０１７３】
そして，条件判定部14は，条件a，bの候補として新規登録した各イベントについて，S11の処理を実行する。
【０１７４】
条件aの候補として新規登録したID7のイベント(条件aを満たすイベント)に関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が先行する先行条件(条件無し)は含まれない(S11/NO)。従って，条件判定部14は，S11でNOと判定する。
【０１７５】
以下，条件aの候補として新規登録したID7のイベントをイベントID7aと記す。イベントID7aに関連する任意のイベント間条件(条件a-bまたは条件a-c)の自身条件(条件a)および相手条件(条件bまたは条件c)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０１７６】
イベントID7aに関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が後続する後続条件(条件bまたは条件c)が含まれる(S24/YES)。
【０１７７】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０１７８】
次に，条件bの候補として新規登録したID7のイベントについて，S11の処理が実行される。条件bの候補として新規登録したID7のイベント(条件bを満たすイベント)に関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件(条件b)に時間が先行する先行条件(条件a)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０１７９】
以下，条件bの候補として新規登録したID7のイベントをイベントID7bと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID7bに関連する，先行条件を含むイベント間条件(例えば，条件a-b)を満たすイベントはない(S12/NO)。このイベント間条件a-bを満たすイベントは，イベント間条件a-b("17:54:00"から40秒以内の時間，異なるID，および同じエリア，スペースを有するイベント)を満たすイベントである。
【０１８０】
従って，ノード削除部16は，S12でNOと判定し，図13で示すように，イベントID7bを削除する(S13)。この削除を，図13の"×"で示す。そして，S2に戻る。
【０１８１】
(ID4のイベント入力)
データ読み取り部13は，図14のイベントテーブルに示す，ID4のイベントを読み取る(S2)。図14において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，条件cの候補または条件dの候補に登録されたイベントの時間と，現在の時間"17:54:10"との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。
【０１８２】
図14において，各候補に登録されたイベントの中で，イベントID1a，ID7aは，未処理のイベントであり，かつ，異なる種類の2辺で接続されていないイベントである。従って，S4の未処理のイベント(イベントID1a，ID7a)であって，かつ，異なる種類の2辺で接続されていないイベント(イベントID1a，ID7a)がある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０１８３】
図14において，図7のS5で説明した削除イベントはない。理由は以下の通りである。未処理のイベントID1a，ID7aが満たす条件aを自身条件として含むイベント間条件a-b，a-cのタイムアウト時間は40秒，20分である。また，未処理のイベントID4bが満たす条件bを自身条件として含むイベント間条件a-b，b-dのタイムアウト時間は40秒，20分である。
【０１８４】
現在時間は"17:54:00"，条件a，条件bの候補に登録されたイベントの時間は，"17:54:00"，"17:54:10"であるので，条件aの候補に登録されたイベントの中で，前記タイムアウト時間(40秒または20分)を超えているイベントはない(S5/NO)。
【０１８５】
また，条件aの候補に登録されたイベントの中で，このイベントが満たす条件aよりも前に関連する条件はない(S5/NO)。従って，条件判定部14は，S5でNOと判定し，S6に移る。
【０１８６】
条件判定部14は，未処理のイベントID1a，ID7aを処理済み(S6)にして，S3に戻る。S3において，条件cの候補および条件dの候補には，何らイベントが登録されていない(S3/NO)。そして，イベントID1a，ID7aは処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベント(イベントID1a，ID7a)を未処理にする(S8)。
【０１８７】
ID4の入力イベントは，エリアa，bを含むので，条件a〜dの中で，条件a，bを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID4のイベントを条件a，bの候補として新規登録する(S10)。
【０１８８】
条件aの候補として新規登録したID4のイベント(条件aを満たすイベント)に関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が先行する先行条件(条件無し)は含まれない(S11/NO)。従って，条件判定部14は，S11でNOと判定する。
【０１８９】
以下，条件aの候補として新規登録したID4のイベントをイベントID4aと記す。イベントID4aに関連する任意のイベント間条件(条件a-bまたは条件a-c)の自身条件(条件a)および相手条件(条件bまたは条件c)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０１９０】
イベントID4aに関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が後続する後続条件(条件bまたは条件c)が含まれる(S24/YES)。
【０１９１】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０１９２】
次に，条件bの候補として新規登録したID4のイベントについて，S11の処理が実行される。
【０１９３】
条件bの候補として新規登録したID4のイベント(条件bを満たすイベント)に関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件(条件b)に時間が先行する先行条件(条件a)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０１９４】
以下，条件bの候補として新規登録したID4のイベントをイベントID4bと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID4bに関連する，先行条件を含むイベント間条件(例えば，条件a-b)を満たすイベント(イベントID1a)はある(S12/YES)。このイベント間条件a-bを満たすイベントは，イベント間条件a-b("17:54:10"から40秒以内の時間，異なるID，および同じエリア，スペース(2”，23”)を有するイベント)を満たすイベントID1aである。
【０１９５】
従って，条件判定部14は，S12でYESと判定する。そして，グラフ管理部15は，図15で示すように，イベント間条件を満たしたイベントID1aと，新規登録イベントID4bとを辺(実線参照)で接続する(S14)。
【０１９６】
イベントID4bに関連する任意のイベント間条件(条件a-bまたは条件b-d)の自身条件(条件b)および相手条件(条件aまたは条件d)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０１９７】
イベントID4bに関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件(条件b)に時間が後続する後続条件(条件d)が含まれる(S24/YES)。
【０１９８】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０１９９】
(ID1のイベント入力)
データ読み取り部13は，図16のイベントテーブルに示す，ID1のイベントを読み取る(S2)。図16において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，条件cの候補または条件dの候補に登録されたイベントの時間と，現在の時間"17:54:20"との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。
【０２００】
図16において，各候補に登録されたイベントの中で，イベントID1a，ID7a，ID4a，ID4bは，未処理のイベントである。イベントID1a，ID4bは，1辺で接続されているイベントである。
【０２０１】
従って，S4の未処理のイベント(イベントID1a，ID7a，ID4a，ID4b)であって，かつ，異なる種類の2辺で接続されていないイベント(イベントID1a，ID7a，ID4a，ID4b)がある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０２０２】
図16において，図7のS5で説明した削除イベントはない。理由は以下の通りである。未処理のイベントID1a，ID4a，ID7aが満たす条件aを自身条件として含むイベント間条件a-b，a-cのタイムアウト時間は40秒，20分である。また，未処理のイベントID4bが満たす条件bを自身条件として含むイベント間条件a-b，b-dのタイムアウト時間は40秒，20分である。
【０２０３】
現在時間は"17:54:20"，条件a，条件bの候補に登録されたイベントの時間は，"17:54:00"，"17:54:10"であるので，条件a，条件bの候補に登録されたイベントの中で，前記タイムアウト時間(40秒または20分)を超えているイベントはない(S5/NO)。
【０２０４】
また，条件aの候補に登録されたイベントの中で，このイベントが満たす条件aよりも前に関連する条件はない(S5/NO)。さらに，条件bの候補に登録されたイベントの中で，このイベント(イベントID4b)が満たす条件bよりも前の時間に関連する条件aを満たすイベント(イベントID1a)と辺で接続されている(S5/NO)。従って，条件判定部14は，S5でNOと判定し，S6に移る。
【０２０５】
条件判定部14は，未処理のイベントID1a，ID7a，ID4a，ID4bを処理済み(S6)にして，S3に戻る。S3において，条件cの候補および条件dの候補には，何らイベントが登録されていない(S3/NO)。そして，イベントID1a，ID7a，ID4a，ID4bは，処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベントを未処理にする(S8)。
【０２０６】
ID1の入力イベントは，エリアa，bを含むので，条件a〜dの中で，条件a，bを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID1のイベントを条件a，bの候補として新規登録する(S10)。
【０２０７】
条件aの候補として新規登録したID1のイベント(条件aを満たすイベント)に関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が先行する先行条件(条件無し)は含まれない(S11/NO)。従って，条件判定部14は，S11でNOと判定する。
【０２０８】
以下，条件aの候補として新規登録したID1のイベントをイベントID1a"17:54:20"と記す。イベントID1a"17:54:20"に関連する任意のイベント間条件(条件a-bまたは条件a-c)の自身条件(条件a)および相手条件(条件bまたは条件c)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０２０９】
イベントID1a"17:54:20"に関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が後続する後続条件(条件bまたは条件c)が含まれる(S24/YES)。
【０２１０】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０２１１】
次に，条件bの候補として新規登録したID1のイベントについて，S11の処理が実行される。条件bの候補として新規登録したID1のイベント(条件bを満たすイベント)に関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件(条件b)に時間が先行する先行条件(条件a)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０２１２】
以下，条件bの候補として新規登録したID1のイベントをイベントID1bと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID1bに関連する，先行条件を含むイベント間条件(例えば，条件a-b)を満たすイベントはない(S12/NO)。このイベント間条件a-bを満たすイベントは，イベント間条件a-b("17:54:20"から40秒以内の時間，異なるID，および同じエリア，スペースを有するイベント)を満たすイベントである。
【０２１３】
従って，ノード削除部16は，S12でNOと判定し，図17で示すように，イベントID1bを削除する(S13)。この削除を，図17の"×"で示す。そして，S2に戻る。
【０２１４】
(ID2のイベント入力)
データ読み取り部13は，図18のイベントテーブルに示す，ID2のイベントを読み取る(S2)。図18において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，条件cの候補または条件dの候補に登録されたイベントの時間と，現在の時間"17:54:20"との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。
【０２１５】
図18において，各候補に登録されたイベントの中で，イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a，ID4bは，未処理のイベントであり，かつ，異なる種類の2辺で接続されていないイベントである。従って，S4の未処理のイベントであって，かつ，異なる種類の2辺で接続されていないイベント(イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a，ID4b)がある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０２１６】
図18において，図7のS5で説明した削除イベントはない。理由は以下の通りである。未処理のイベントID1a"17:54:00"，ID1a"17:54:20"，ID4a，ID7aが満たす条件aを自身条件として含むイベント間条件a-b，a-cのタイムアウト時間は40秒，20分である。また，未処理のイベントID4bが満たす条件bを自身条件として含むイベント間条件a-b，b-dのタイムアウト時間は40秒，20分である。
【０２１７】
現在時間は"17:54:20"，条件a，条件bの候補に登録されたイベントの時間は，"17:54:00"，"17:54:10"，"17:54:20"であるので，条件a，条件bの候補に登録されたイベントの中で，前記タイムアウト時間(40秒または20分)を超えているイベントはない(S5/NO)。
【０２１８】
また，条件aの候補に登録されたイベントの中で，このイベントが満たす条件aよりも前に関連する条件はない(S5/NO)。さらに，条件bの候補に登録されたイベントの中で，このイベント(イベントID4b)が満たす条件bよりも前の時間に関連する条件aを満たすイベント(イベントID1a)と辺で接続されている(S5/NO)。従って，条件判定部14は，S5でNOと判定し，S6に移る。
【０２１９】
条件判定部14は，未処理のイベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a，ID4bを処理済み(S6)にして，S3に戻る。S3において，条件cの候補および条件dの候補には，何らイベントが登録されていない(S3/NO)。そして，イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a，ID4bは処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベントを未処理にする(S8)。
【０２２０】
ID2の入力イベントは，エリアa，bを含むので，条件a〜dの中で，条件a，bを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID2のイベントを条件a，bの候補として新規登録する(S10)。
【０２２１】
条件aの候補として新規登録したID2のイベント(条件aを満たすイベント)に関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が先行する先行条件(条件無し)は含まれない(S11/NO)。従って，条件判定部14は，S11でNOと判定する。
【０２２２】
以下，条件aの候補として新規登録したID2のイベントをイベントID2aと記す。イベントID2aに関連する任意のイベント間条件(条件a-bまたは条件a-c)の自身条件(条件a)および相手条件(条件bまたは条件c)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０２２３】
イベントID2aに関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件aに時間が後続する後続条件(条件bまたは条件c)が含まれる(S24/YES)。従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０２２４】
次に，条件bの候補として新規登録したID2のイベントについて，S11の処理が実行される。条件bの候補として新規登録したID2のイベント(条件bを満たすイベント)に関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件bに時間が先行する先行条件(条件a)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０２２５】
以下，条件bの候補として新規登録したID2のイベントをイベントID2bと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID2bに関連する，先行条件を含むイベント間条件(例えば，条件a-b)を満たすイベント(イベントID4a)はある(S12/YES)。このイベント間条件a-bを満たすイベントは，イベント間条件a-b("17:54:20"から40秒以内の時間，異なるID，および同じエリア，スペース(2”，23”)を有するイベント)を満たすイベントID1a"17:54:00"，ID4aである。
【０２２６】
従って，条件判定部14は，S12でYESと判定する。そして，グラフ管理部15は，図19で示すように，イベント間条件を満たしたイベントID1a"17:54:00"，ID4aと，新規登録イベントID2bとを辺(実線参照)で接続する(S14)。
【０２２７】
イベントID2bに関連する任意のイベント間条件(条件a-bまたは条件b-d)の自身条件(条件b)および相手条件(条件aまたは条件d)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０２２８】
イベントID4bに関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件(条件b)に時間が後続する後続条件(条件d)が含まれる(S24/YES)。
【０２２９】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０２３０】
(ID6のイベント入力)
データ読み取り部13は，図20のイベントテーブルに示す，ID6のイベントを読み取る(S2)。図20において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，条件cの候補または条件dの候補に登録されたイベントの時間と，現在の時間"17:54:20"との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。
【０２３１】
図20において，各候補に登録されたイベントの中で，イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID2a，ID2bは，未処理のイベントであり，かつ，異なる種類の2辺で接続されていないイベントである。従って，S4の未処理のイベントであって，かつ，異なる種類の2辺で接続されていないイベント(イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID2a，ID2b)がある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０２３２】
図20において，図7のS5で説明した削除イベントはない。理由は以下の通りである。
【０２３３】
未処理のイベントID1a"17:54:00"，ID1a"17:54:20"，ID4a，ID7a，ID2aが満たす条件aを自身条件として含むイベント間条件a-b，a-cのタイムアウト時間は40秒，20分である。また，未処理のイベントID4b，ID2条件bが満たす条件bを自身条件として含むイベント間条件a-b，b-dのタイムアウト時間は40秒，20分である。
【０２３４】
現在時間は"17:54:20"，条件a，条件bの候補に登録されたイベントの時間は，"17:54:00"，"17:54:10"，"17:54:20"であるので，条件a，条件bの候補に登録されたイベントの中で，前記タイムアウト時間(40秒または20分)を超えているイベントはない(S5/NO)。
【０２３５】
また，条件aの候補に登録されたイベントの中で，このイベントが満たす条件aよりも前に関連する条件はない(S5/NO)。さらに，条件bの候補に登録されたイベントの中で，このイベント(イベントID4b，ID2b)が満たす条件bよりも前の時間に関連する条件aを満たすイベント(イベントID1a，ID4a)と辺で接続されている(S5/NO)。従って，条件判定部14は，S5でNOと判定し，S6に移る。
【０２３６】
条件判定部14は，未処理のイベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID2a，ID2bを処理済み(S6)にして，S3に戻る。S3において，条件cの候補および条件dの候補には，何らイベントが登録されていない(S3/NO)。そして，イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID2a，ID2bは処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベントを未処理にする(S8)。
【０２３７】
ID6の入力イベントは，エリアa，bを含むので，条件a〜dの中で，条件a，bを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID6のイベントを条件a，bの候補として新規登録する(S10)。
【０２３８】
条件aの候補として新規登録したID6のイベント(条件aを満たすイベント)に関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が先行する先行条件(条件無し)は含まれない(S11/NO)。従って，条件判定部14は，S11でNOと判定する。
【０２３９】
以下，条件aの候補として新規登録したID6のイベントをイベントID6aと記す。イベントID6aに関連する任意のイベント間条件(条件a-bまたは条件a-c)の自身条件(条件a)および相手条件(条件bまたは条件c)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０２４０】
イベントID6aに関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件aに時間が後続する後続条件(条件bまたは条件c)が含まれる(S24/YES)。
【０２４１】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０２４２】
次に，条件bの候補として新規登録したID6のイベントについて，S11の処理が実行される。条件bの候補として新規登録したID6のイベント(条件bを満たすイベント)に関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件bに時間が先行する先行条件(条件a)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０２４３】
以下，条件bの候補として新規登録したID6のイベントをイベントID6bと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID6bに関連する，先行条件を含むイベント間条件(例えば，条件a-b)を満たすイベント(イベントID7a)はある(S12/YES)。このイベント間条件a-bを満たすイベントは，イベント間条件a-b("17:54:20"から40秒以内の時間，異なるID，および同じエリア，スペース(3”，23”)を有するイベント)を満たすイベントID7aである。
【０２４４】
従って，条件判定部14は，S12でYESと判定する。そして，グラフ管理部15は，図21で示すように，イベント間条件を満たしたイベントID7aと，新規登録イベントID6bとを辺(実線参照)で接続する(S14)。
【０２４５】
イベントID6bに関連する任意のイベント間条件(条件a-bまたは条件b-d)の自身条件(条件b)および相手条件(条件aまたは条件d)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０２４６】
イベントID6bに関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件(条件b)に時間が後続する後続条件(条件d)が含まれる(S24/YES)。
【０２４７】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０２４８】
(ID5のイベント入力)
データ読み取り部13は，図22のイベントテーブルに示す，ID5のイベントを読み取る(S2)。図22において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，条件cの候補または条件dの候補に登録されたイベントの時間と，現在の時間"17:54:20"との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。
【０２４９】
図22において，各候補に登録されたイベントの中で，イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID6a，ID6b，ID2a，ID2bは，未処理のイベントであり，かつ，異なる種類の2辺で接続されていないイベントである。従って，S4の未処理のイベントであって，かつ，異なる種類の2辺で接続されていないイベント(イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID6a，ID6b，ID2a，ID2b)がある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０２５０】
図22において，図7のS5で説明した削除イベントはない。理由は以下の通りである。
【０２５１】
未処理のイベントID1a"17:54:00"，ID1a"17:54:20"，ID4a，ID7a，ID2a，ID6aが満たす条件aを自身条件として含むイベント間条件a-b，a-cのタイムアウト時間は40秒，20分である。また，未処理のイベントID4b，ID2b，ID6bが満たす条件bを自身条件として含むイベント間条件a-b，b-dのタイムアウト時間は40秒，20分である。
【０２５２】
現在時間は"17:54:20"，条件a，条件bの候補に登録されたイベントの時間は，"17:54:00"，"17:54:10"，"17:54:20"であるので，条件a，条件bの候補に登録されたイベントの中で，前記タイムアウト時間(40秒または20分)を超えているイベントはない(S5/NO)。
【０２５３】
また，条件aの候補に登録されたイベントの中で，このイベントが満たす条件aよりも前に関連する条件はない(S5/NO)。さらに，条件bの候補に登録されたイベントの中で，このイベント(イベントID4b，ID2b，ID6b)が満たす条件bよりも前の時間に関連する条件aを満たすイベント(イベントID1a，ID4a，ID7a)と辺で接続されている(S5/NO)。従って，条件判定部14は，S5でNOと判定し，S6に移る。
【０２５４】
条件判定部14は，未処理のイベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID6a，ID6b，ID2a，ID2bを処理済み(S6)にして，S3に戻る。S3において，条件cの候補および条件dの候補には，何らイベントが登録されていない(S3/NO)。そして，イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID6a，ID6b，ID2a，ID2bは処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベントを未処理にする(S8)。
【０２５５】
ID5の入力イベントは，エリアa，bを含むので，条件a〜dの中で，条件a，bを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID5のイベントを条件a，bの候補として新規登録する(S10)。
【０２５６】
条件aの候補として新規登録したID5のイベント(条件aを満たすイベント)に関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件(条件a)に時間が先行する先行条件(条件無し)は含まれない(S11/NO)。従って，条件判定部14は，S11でNOと判定する。
【０２５７】
以下，条件aの候補として新規登録したID5のイベントをイベントID5aと記す。イベントID5aに関連する任意のイベント間条件(条件a-bまたは条件a-c)の自身条件(条件a)および相手条件(条件bまたは条件c)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０２５８】
イベントID5aに関連する各イベント間条件(条件a-b，条件a-c)の相手条件(条件b，c)に，自身条件aに時間が後続する後続条件(条件bまたは条件c)が含まれる(S24/YES)。
【０２５９】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０２６０】
次に，条件bの候補として新規登録したID5のイベントについて，S11の処理が実行される。条件bの候補として新規登録したID5のイベント(条件bを満たすイベント)に関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件bに時間が先行する先行条件(条件a)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０２６１】
以下，条件bの候補として新規登録したID5のイベントをイベントID5bと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID5bに関連する，先行条件を含むイベント間条件(例えば，条件a-b)を満たすイベント(イベントID1a"17:54:00"，イベントID4a)はある(S12/YES)。このイベント間条件a-bを満たすイベントは，イベント間条件a-b("17:54:20"から40秒以内の時間，異なるID，および同じエリア，スペース(2”，23”)を有するイベント)を満たすイベントID1a"17:54:00"，イベントID4aである。
【０２６２】
従って，条件判定部14は，S12でYESと判定する。そして，グラフ管理部15は，図23で示すように，イベント間条件を満たしたイベントID1a"17:54:00"，イベントID4aと，新規登録イベントID5bとを辺(実線参照)で接続する(S14)。
【０２６３】
イベントID5bに関連する任意のイベント間条件(条件a-bまたは条件b-d)の自身条件(条件b)および相手条件(条件aまたは条件d)は，前後関係のない条件(条件cおよび条件d)ではない(S21/NO)。
【０２６４】
イベントID5bに関連する各イベント間条件(条件a-bまたは条件b-d)の相手条件(条件a，d)に，自身条件(条件b)に時間が後続する後続条件(条件d)が含まれる(S24/YES)。
【０２６５】
従って，条件判定部14は，S21でNO，S24でYESと判定し，S2に移る。
【０２６６】
(ID8のイベント入力)
データ読み取り部13は，図24のイベントテーブルに示す，ID8のイベントを読み取る(S2)。図24において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，条件cの候補または条件dの候補に登録されたイベントの時間と，現在の時間"17:55:00"(なお，"17:55:01"秒でもよい)との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。
【０２６７】
図24において，各候補に登録されたイベントの中で，イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID6a，ID6b，ID5a，ID5b，ID2a，ID2bは，未処理のイベントであり，かつ，異なる種類の2辺で接続されていないイベントである。従って，S4の未処理のイベントであって，かつ，異なる種類の2辺で接続されていないイベント(イベントID1a("17:54:00"，"17:54:20")，イベントID7a,ID4a,ID4b，ID6a，ID6b，ID5a，ID5b，ID2a，ID2bがある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０２６８】
図24において，図7のS5で説明した削除イベントは，イベントID1a"17:54:20"，ID6a，ID5a，ID2aである。理由は以下の通りである。
【０２６９】
これらのイベントは，現在の時間"17:55:01"と，1つの辺も持たない未処理のイベントの時間"17:54:20"との差が，前記した未処理のイベントに関連する，最も短いイベント間条件a-bのタイムアウト時間(40秒)を超えているイベントである。
【０２７０】
すなわち，イベントID1a"17:54:20"，ID6a，ID5a，ID2aは，1つの辺も持たない未処理のイベントであり，現在時間"17:55:01"と，イベントID1a"17:54:20"，ID6a，ID5a，ID2aの時間との差が，イベント間条件a-bのタイムアウト時間"40秒"を超えている。従って，ノード削除部16は，これらイベントID1a"17:54:20"，ID2a，ID6a，ID5aについては，S5でYESと判定し，これらのイベントを削除する(S7)。
【０２７１】
未処理のイベントID1a"17:54:00"，ID4a，ID7aは，それぞれ条件bの候補として登録されているイベントと辺(実線)で接続されている。従って，未処理のイベントID1a"17:54:00"，ID4a，ID7aが満たす条件aを自身条件として含むイベント間条件a-bのタイムアウト時間は20分となる。
【０２７２】
また，未処理のイベントID4b，ID2b，ID6b，ID5bは，それぞれ条件aの候補として登録されているイベントと辺(実線)で接続されている。従って，未処理のイベントID4b，ID2b，ID6b，ID5bが満たす条件bを自身条件として含むイベント間条件b-dのタイムアウト時間は20分となる。
【０２７３】
現在時間は"17:55:00"，条件a，条件bの候補に登録されたイベントの時間は，"17:54:00"，"17:54:10"または"17:54:20"であるので，未処理のイベントID1a"17:54:00"，ID4a，ID7a，ID4b，ID2b，ID6b，ID5bの中で，前記タイムアウト時間(20分)を超えているイベントはない(S5/NO)。
【０２７４】
条件bの候補に登録された全イベントは，条件aの候補に登録されたイベントと辺で接続されている。さらに，条件bの候補に登録されたイベントの中で，このイベントに関連するイベント間条件b-dのタイムアウト時間(20分)を超えているイベントはない(S5/NO)。
【０２７５】
なお，条件aの候補に登録されたイベントの中で，このイベントが満たす条件aよりも前に関連する条件はない(S5/NO)。さらに，条件bの候補に登録されたイベントの中で，このイベント(イベントID4b，ID2b，ID6b，ID5b)が満たす条件bよりも前の時間に関連する条件aを満たすイベント(イベントID1a，ID4a，ID7a)と辺で接続されている(S5/NO)。従って，条件判定部14は，これらのイベントについてはS5でNOと判定し，S6に移る。条件判定部14は，未処理のイベントID1a"17:54:00"，ID4a，ID7a，ID4b，ID2b，ID6b，ID5bを処理済みにする。S6，S7の終了後，S3に戻る。
【０２７６】
S3において，条件cの候補および条件dの候補には，何らイベントが登録されていない(S3/NO)。そして，イベントID1a"17:54:00"，ID7a,ID4a,ID4b，ID6b，ID5b,ID2bは，処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベントを未処理にする(S8)。
【０２７７】
ID8の入力イベントは，エリアa〜dを含まないので，条件a〜dを満たさない(S9/NO)。従って，条件判定部14は，ID8のイベントについては何もしない。
【０２７８】
(ID1のイベント入力)
データ読み取り部13は，図25のイベントテーブルに示す，ID1のイベントを読み取る(S2)。図25において条件cの候補および条件dの候補には，何らイベントが登録されていない。従って，条件cの候補または条件dの候補に登録されたイベントの時間と，現在の時間"18:06:00"との差が，無条件タイムアウト"40秒"を超えているイベントはない(S3/NO)。
【０２７９】
図25において，各候補に登録されたイベントの中で，イベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6bは，未処理のイベントであり，かつ，異なる種類の2辺で接続されていないイベントである。従って，S4の未処理のイベントであって，かつ，異なる種類の2辺で接続されていないイベント(イベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6b)がある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０２８０】
図25において，図24で説明したように，未処理のイベントID1a，ID4a，ID7a，ID4b，ID2b，ID6b，ID5bは，削除イベントではない。従って，条件判定部14は，これらのイベントについてはS5でNOと判定し，S6に移る。
【０２８１】
条件判定部14は，未処理のイベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6bを処理済み(S6)にして，S3に戻る。S3において，条件cの候補および条件dの候補には，何らイベントが登録されていない(S3/NO)。そして，イベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6bは，処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベントを未処理にする(S8)。
【０２８２】
ID1の入力イベントは，エリアc，dを含むので，条件a〜dの中で，条件c，dを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID1のイベントを条件c，dの候補として新規登録する(S10)。
【０２８３】
条件cの候補として新規登録したID1のイベント(条件cを満たすイベント)に関連する各イベント間条件(条件a-c，条件c-d)の相手条件(条件a，d)に，自身条件(条件c)に時間が先行する先行条件(条件a)は含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０２８４】
以下，条件cの候補として新規登録したID1のイベントをイベントID1cと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID1cに関連する，先行条件を含むイベント間条件(例えば，条件a-c)を満たすイベント(イベントID1a)はある(S12/YES)。ここで，このイベント間条件a-cを満たすイベントは，イベント間条件a-c("18:06:00"から20分以内の時間および同一IDを有するイベント)を満たすイベントID1aである。
【０２８５】
従って，条件判定部14は，S12でYESと判定する。そして，グラフ管理部15は，図26で示すように，イベント間条件を満たしたイベントID1aと，新規登録イベントID1cとを辺(一点鎖線参照)で接続する(S14)。
【０２８６】
イベントID1cに関連する任意のイベント間条件(条件a-cまたは条件c-d)の自身条件(条件c)および相手条件(条件aまたは条件d)は，前後関係のない条件(条件cおよび条件d)である(S21/YES)。
【０２８７】
前後関係のない条件(条件c及び条件d)の何れかの条件の中で，イベントID1cに関連する条件以外の条件は，条件dである。そして，条件dの候補として登録されたイベントの中に，イベントID1cに関連する何れかのイベント間条件(条件c-dまたは条件a-c)を満たすイベントはない(S22/NO)。何故なら，条件dの候補として登録されたイベントは，条件cの候補として登録されたイベントと同じだからである。
【０２８８】
イベントID1cに関連する各イベント間条件(条件a-cまたは条件c-d)の相手条件(条件a，d)に，自身条件(条件c)に時間が後続する後続条件(条件無し)は含まれない(S24/NO)。
【０２８９】
従って，条件判定部14は，S21でYES，S22でNO，S24でNOと判定し，S25に移る。
【０２９０】
イベントID1cは，種類の異なる種類の2辺を持たない(S25/NO)。従って，条件判定部14は，S25でNOと判定し，S2に移る。
【０２９１】
次に，条件dの候補として新規登録したID1のイベントについて，S11の処理が実行される。条件dの候補として新規登録したID1のイベント(条件dを満たすイベント)に関連する各イベント間条件(条件b-dまたは条件c-d)の相手条件(条件b，c)に，自身条件(条件c)に時間が先行する先行条件(条件b)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０２９２】
以下，条件dの候補として新規登録したID1のイベントをイベントID1dと記す。先行条件(条件b)を満たすイベント(条件bの候補として登録されたイベント)の中に，イベントID1dに関連する，先行条件を含むイベント間条件(例えば，条件b-d)を満たすイベントはない(S12/NO)。このイベント間条件b-dを満たすイベントは，イベント間条件b-d("18:06:00"から20分以内の時間および同一IDを有するイベント)を満たすイベントである。
【０２９３】
従って，ノード削除部16は，S12でNOと判定し，図27で示すように，イベントID1dを削除する(S13)。この削除を，図27の"×"で示す。そして，S2に戻る。
【０２９４】
(ID5のイベント入力)
データ読み取り部13は，図28のイベントテーブルに示す，ID5のイベントを読み取る(S2)。図28において条件cの候補に，イベントID1cが登録されている。しかし，現在の時間"18:06:20"と，イベントID1cの時間"18:06:00"との差は，無条件タイムアウト"40秒"を超えていない(S3/NO)。
【０２９５】
図28において，各候補に登録されたイベントの中で，イベントID7a,ID4a,ID2b,ID4b,ID5b,ID6b，ID1cは，未処理のイベントであり，かつ，異なる種類の2辺で接続されていないイベントである。従って，S4の未処理のイベントであって，かつ，異なる種類の2辺で接続されていないイベント(イベントID7a,ID4a,ID2b,ID4b,ID5b,ID6b，ID1c)がある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０２９６】
図28において，図24で説明したように，未処理のイベントID1a，ID4a，ID7a，ID4b，ID2b，ID6b，ID5bは，削除イベントではない。
【０２９７】
未処理のイベントID1cが満たす条件cを自身条件として含むイベント間条件c-dのタイムアウト時間は40秒である。現在時間は"18:06:20"，条件cの候補に登録されたイベントの時間は，"18:06:00"であるので，条件cの候補に登録されたイベントの中で，前記タイムアウト時間(40秒)を超えているイベントはない(S5/NO)。
【０２９８】
従って，条件判定部14は，これらのイベントについてはS5でNOと判定し，S6に移る。
【０２９９】
条件判定部14は，未処理のイベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6b，ID1cを処理済み(S6)にして，S3に戻る。S3において，現在の時間"18:06:20"と，イベントID1cの時間"18:06:00"との差は，無条件タイムアウト"40秒"を超えていない(S3/NO)。
【０３００】
そして，イベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6b，ID1cは，処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベントを未処理にする(S8)。
【０３０１】
ID5の入力イベントは，エリアc，dを含むので，条件a〜dの中で，条件c，dを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID5のイベントを条件c，dの候補として新規登録する(S10)。
【０３０２】
条件cの候補として新規登録したID5のイベント(条件cを満たすイベント)に関連する各イベント間条件(条件a-cまたは条件c-d)の相手条件(条件a，d)に，自身条件(条件c)に時間が先行する先行条件(条件a)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０３０３】
以下，条件cの候補として新規登録したID5のイベントをイベントID5cと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID5cに関連する，先行条件を含むイベント間条件(例えば，条件a-c)を満たすイベントはない(S12/NO)。このイベント間条件a-cを満たすイベントは，イベント間条件a-c("18:06:20"から20分以内の時間および同一IDを有するイベント)を満たすイベントである。
【０３０４】
従って，ノード削除部16は，S12でNOと判定し，図29で示すように，イベントID5cを削除する(S13)。この削除を，図29の"×"で示す。そして，S2に戻る。
【０３０５】
次に，条件dの候補として新規登録したID5のイベントについて，S11の処理が実行される。条件dの候補として新規登録したID5のイベント(条件dを満たすイベント)に関連する各イベント間条件(条件b-d，条件c-d)の相手条件(条件b，c)に，自身条件(条件d)に時間が先行する先行条件(条件b)は含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０３０６】
以下，条件dの候補として新規登録したID5のイベントをイベントID5dと記す。先行条件(条件b)を満たすイベント(条件bの候補として登録されたイベント)の中に，イベントID5dに関連する，先行条件を含むイベント間条件(例えば，条件b-d)を満たすイベント(イベントID5b)はある(S12/YES)。ここで，このイベント間条件b-dを満たすイベントは，イベント間条件b-d("18:06:20"から20分以内の時間および同一IDを有するイベント)を満たすイベントID5bである。
【０３０７】
従って，条件判定部14は，S12でYESと判定する。そして，グラフ管理部15は，図30で示すように，イベント間条件を満たしたイベントID5bと，新規登録イベントID5dとを辺(破線参照)で接続する(S14)。
【０３０８】
イベントID5dに関連する任意のイベント間条件(条件b-dまたは条件c-d)の自身条件(条件d)および相手条件(条件bまたは条件c)は，前後関係のない条件(条件cおよび条件d)である(S21/YES)。
【０３０９】
前後関係のない条件(条件c及び条件d)の何れかの条件の中で，イベントID5dに関連する条件以外の条件は，条件cである。そして，条件cの候補として登録されたイベントの中に，イベントID1dに関連する何れかのイベント間条件(条件c-dまたは条件b-d)を満たすイベントがある(S22/YES)。
【０３１０】
イベント間条件c-dを満たすイベントは，現在の時間"18:06:20"から40秒以内の時間"18:06:20"および同じスペース"36”,39”"を有するイベントである。
【０３１１】
従って，条件判定部14は，S22でYESと判定する。そして，グラフ管理部15は，図30で示すように，イベント間条件を満たしたイベントID1cと，新規登録イベントID5dとを辺(点線参照)で接続する(S23)。
【０３１２】
イベントID5dに関連する各イベント間条件(条件b-dまたは条件c-d)の相手条件(条件b，c)に，自身条件(条件d)に時間が後続する後続条件(条件無し)は含まれない(S24/NO)。
【０３１３】
従って，条件判定部14は，S24でNOと判定し，S25に移る。イベントID5dは，種類の異なる種類の2辺(点線と破線参照)を持つ(S25/YES)。従って，条件判定部14は，S25でYES判定し，S26に移る。
【０３１４】
出力管理部17は，図31に示すように，新規登録イベントID5dが満たす条件dを処理済みとする(S26)。図31では，"処理済"であることを"dの候補"の下に記している。そして，出力管理部17は，図31に示すように，新規登録イベントであるID5dのイベントを，候補集合として登録する（S26）。以下の説明において，図示した文字列"候補集合"は，図1のRAM102における候補集合102fに該当する。
【０３１５】
(イベントの出力)
以下，イベントの出力について説明する。ここで，未処理の条件は条件a，条件b，条件c，すなわち"処理済み"でない条件の候補は条件a，b，cの候補である。従って，出力管理部17は，未処理の条件があると判定し(S27/YES)，図32に示すように，未処理の条件a，b，cの中で，処理済みの条件dとイベント間条件を満たす条件b，cの1つを現イベント条件(例えば，条件cを現イベント条件)とする(S28)。図32では，"現イベント条件"であることを"cの候補"の上に記している。
【０３１６】
図31では，候補集合としてID5のイベントが登録されており，候補集合は空ではない。従って，出力管理部17は， S30でNOと判定し，候補集合から1つのエントリ(イベント)を抜き出し，図32に示すように，抜き出した1つのエントリ(ID5のイベント)を現候補として登録する(S32)。以下の説明において，図示した文字列"現候補"は，図1のRAM102における現候補102eに該当する。
【０３１７】
出力管理部17は，現イベント条件に登録されているイベントの中で，現候補に登録されているイベントと関連がある関連イベントと，現候補に登録されているイベントとを新候補集合に追加する(S33)。以下の説明において，図示した文字列"新候補集合"は，図1のRAM102における新候補集合102gに該当する。
【０３１８】
図33の例では，現イベント条件に登録されているイベントの中で，イベントID1cは，種類の異なる種類の2辺(一点鎖線，点線)を持ち，1つの辺(点線)により，現候補に登録されているイベント(イベントID5d)と接続されているイベントである(S33)。従って，関連イベントは，イベントID1cである。
【０３１９】
出力管理部17は，図33に示すように，関連イベントID1cと，現候補のID5のイベントとの組を，新候補集合に追加し(S33)，S30に戻る。
【０３２０】
図33では，候補集合が空なので(S30/YES)，出力管理部17は，S30でYESと判定する。出力管理部17は，図34に示すように，図33に示した新候補集合のエントリ(ID１，ID5のイベント)を候補集合に移し，現イベント条件を処理済みにして（S31），S27に戻る。なお，図34では，"処理済"であることを"cの候補"の下に記している。
【０３２１】
ここで，未処理の条件は条件a，条件b，すなわち"処理済み"でない条件の候補は条件a，bの候補である。従って，出力管理部17は，未処理の条件があると判定する(S27/YES)。そして，出力管理部17は，図35に示すように，未処理の条件a，bの中で，処理済みの条件(例えば条件d)とイベント間条件を満たす条件bを現イベント条件(例えば，条件b)とする(S28)。
【０３２２】
図34では，候補集合としてID5，ID1のイベントが登録されており，候補集合は空ではない。従って，出力管理部17は，S30でNOと判定し，候補集合から1つのエントリ(ID1，ID5のイベント)を抜き出し，図35に示すように，抜き出した1つのエントリを現候補として登録する(S32)。
【０３２３】
出力管理部17は，関連イベントと，現候補に登録されているイベントとを新候補集合に追加する(S33)。
【０３２４】
図35の例では，現イベント条件に登録されているイベントの中で，イベントID5bは，種類の異なる種類の2辺(一点鎖線，実線)を持つ。そして，1つの辺(一点鎖線)により，現候補に登録されているイベント(イベントID5d)と接続されているイベントである。従って，関連イベントは，イベントID5bである。
【０３２５】
出力管理部17は，図36に示すように，関連イベントID5bと，現候補のID1，ID5のイベントとの組を，新候補集合に追加し(S33)，S30に戻る。
【０３２６】
図36では，候補集合が空なので(S30/YES)，出力管理部17は，S30でYESと判定する。出力管理部17は，図37に示すように，図36に示した新候補集合のエントリ(ID１，ID5，ID5のイベント)を候補集合に移し，現イベント条件を処理済みにして（S31），S27に戻る。なお，図37では，"処理済"であることを"bの候補"の下に記している。
【０３２７】
ここで，未処理の条件は条件a，すなわち"処理済み"でない条件の候補は条件aの候補である。従って，出力管理部17は，未処理の条件があると判定する(S27/YES)。そして，出力管理部17は，未処理の条件aを現イベント条件とする(S28)。図38では，"現イベント条件"であることを"aの候補"の上に記している。
【０３２８】
図37では，候補集合としてID5，ID1，ID5のイベントが登録されており，候補集合は空ではない。従って，出力管理部17は，S30でNOと判定し，候補集合から1つのエントリ(ID1，ID5，ID5のイベント)を抜き出し，図38に示すように，抜き出した1つのエントリを現候補として登録する(S32)。
【０３２９】
出力管理部17は，関連イベントと，現候補に登録されているイベントとを新候補集合に追加する(S33)。
【０３３０】
図38の例では，全イベント条件(条件a〜条件d)の数から1を減算した数のイベント(3つのイベント)が，現候補102eとして登録されている。
【０３３１】
そして，図38の例では，現イベント条件に登録されているイベントの中で，イベントID1aは，種類の異なる種類の2辺(一点鎖線，実線)を持つ。そして，1つの辺(一点鎖線)により，現候補に登録されているイベント(イベントID1c)と接続されているイベントである。さらに，1つの辺(実線)により，現候補に登録されているイベント(イベントID5b)と接続されているイベントである。すなわち，イベントID1aは，種類の異なる種類の2辺で，現候補に登録されているイベントと接続されている。従って，関連イベントは，イベントID1aである。
【０３３２】
出力管理部17は，図39に示すように，関連イベントID1aと，現候補のID1，ID5，ID5のイベントとの組を，新候補集合に追加し(S33)，S30に戻る。
【０３３３】
図39では，候補集合が空なので(S30/YES)，出力管理部17は，S30でYESと判定する。出力管理部17は，図40に示すように，図39に示した新候補集合のエントリ(ID1，ID1，ID5，ID5のイベント)を候補集合に移し，現イベント条件を処理済みにして（S31），S27に戻る。なお，図40では，"処理済"であることを"aの候補"の下に記している。
【０３３４】
ここで，未処理の条件はない(全ての条件の候補に"処理済"が付されている)。従って，出力管理部17は，未処理の条件がないと判定する(S27/NO)。そして，出力部18は，図41の"出力"に示すように，候補集合のエントリ(２つのID１のイベント，2つのID5のイベント)を出力する(S29)。最後に，出力部18は，全ての条件の候補を未処理とする(S29)。図40では，この未処理を図40の"処理済"および"現イベント条件"を消去することにより示している。
【０３３５】
(ID7のイベント入力)
データ読み取り部13は，図42のイベントテーブルに示す，ID7のイベントを読み取る(S2)。図42において条件cの候補に，イベントID1cが登録されている。しかし，現在の時間"18:06:40"("18:06:39"でもよい)と，イベントID1cの時間"18:06:00"との差は，無条件タイムアウト"40秒"を超えていない(S3/NO)。
【０３３６】
図42において条件dの候補に，イベントID5dが登録されている。しかし，イベントID5dの時間"18:06:20"と，現在の時間"18:06:40"との差は，無条件タイムアウト"40秒"を超えていない(S3/NO)。
【０３３７】
図42において，各候補に登録されたイベントの中で，イベントID7a,ID4a,ID2b,ID4b，ID6bは，未処理のイベントであり，かつ，異なる種類の2辺で接続されていないイベントである。従って，S4の未処理のイベントであって，かつ，異なる種類の2辺で接続されていないイベントがある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０３３８】
図42において，図24で説明したように，未処理のイベントID1a，ID4a，ID7a，ID4b，ID2b，ID6b，ID5bは，削除イベントではない。
【０３３９】
未処理のイベントID1cが満たす条件cを自身条件として含むイベント間条件a-c，c-dを満たさないイベント間条件はない(未処理のイベントID1cは，種類の異なる2つの辺を持つ)。さらに，未処理のイベントID5dが満たす条件dを自身条件として含むイベント間条件b-d，c-dを満たさないイベント間条件はない(未処理のイベントID5dは，種類の異なる2つの辺を持つ)。
【０３４０】
従って，条件判定部14は，これらのイベントについてはS5でNOと判定し，S6に移る。
【０３４１】
条件判定部14は，未処理のイベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6b，ID1c,ID5dを処理済み(S6)にして，S3に戻る。S3において，現在の時間"18:06:40"と，イベントID1cの時間"18:06:00"との差は，無条件タイムアウト"40秒"を超えていない(S3/NO)。
【０３４２】
そして，イベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6b，ID1c,ID5dは，処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベントを未処理にする(S8)。
【０３４３】
ID7の入力イベントは，エリアc，dを含むので，条件a〜dの中で，条件c，dを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID7のイベントを条件c，dの候補として新規登録する(S10)。
【０３４４】
条件dの候補として新規登録したID7のイベント(条件dを満たすイベント)に関連する各イベント間条件(条件b-dまたは条件c-d)の相手条件(条件b，c)に，自身条件(条件c)に時間が先行する先行条件(条件b)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０３４５】
以下，条件dの候補として新規登録したID7のイベントをイベントID7dと記す。先行条件(条件b)を満たすイベント(条件bの候補として登録されたイベント)の中に，イベントID7dに関連する，先行条件を含むイベント間条件(例えば，条件b-d)を満たすイベントはない(S12/NO)。このイベント間条件b-dを満たすイベントは，イベント間条件b-d("18:06:40"から20分以内の時間および同一IDを有するイベント)を満たすイベントである。
【０３４６】
従って，ノード削除部16は，S12でNOと判定し，図43で示すように，イベントID7dを削除する(S13)。この削除を，図43の"×"で示す。そして，S2に戻る。
【０３４７】
次に，条件cの候補として新規登録したID7のイベントについて，S11の処理が実行される。条件cの候補として新規登録したID7のイベント(条件cを満たすイベント)に関連する各イベント間条件(条件a-c，条件c-d)の相手条件(条件a，d)に，自身条件(条件c)に時間が先行する先行条件(条件a)は含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。以下，条件cの候補として新規登録したID7のイベントをイベントID7cと記す。
【０３４８】
先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID7cに関連する，先行条件を含むイベント間条件(例えば，条件a-c)を満たすイベント(イベントID7a)はある(S12/YES)。ここで，このイベント間条件a-cを満たすイベントは，イベント間条件a-c("18:06:40"から20分以内の時間および同一IDを有するイベント)を満たすイベントID7aである。
【０３４９】
従って，条件判定部14は，S12でYESと判定する。そして，グラフ管理部15は，図43で示すように，イベント間条件を満たしたイベントID7aと，新規登録イベントID7cとを辺(一点鎖線参照)で接続する(S14)。
【０３５０】
イベントID7cに関連する任意のイベント間条件(条件a-cまたは条件c-d)の自身条件(条件c)および相手条件(条件aまたは条件d)は，前後関係のない条件(条件cおよび条件d)である(S21/YES)。
【０３５１】
前後関係のない条件(条件c及び条件d)の何れかの条件の中で，イベントID7cに関連する条件以外の条件は，条件dである。そして，条件dの候補として登録されたイベントの中に，イベントID7cに関連する何れかのイベント間条件(条件c-dまたは条件a-c)を満たすイベントはない(S22/NO)。何故なら，条件dの候補として登録されたイベントのスペースと，イベントID7cのスペースとが異なるからである。
【０３５２】
イベントID7cに関連する各イベント間条件(条件a-cまたは条件c-d)の相手条件(条件a，d)に，自身条件(条件c)に時間が後続する後続条件(条件無し)は含まれない(S24/NO)。従って，条件判定部14は，S21でYES，S22でNO，S24でNOと判定し，S25に移る。
【０３５３】
イベントID7cは，種類の異なる種類の2辺を持たない(S25/NO)。従って，条件判定部14は，S25でNOと判定し，S2に移る。
【０３５４】
(ID6のイベント入力)
データ読み取り部13は，図44のイベントテーブルに示す，ID6のイベントを読み取る(S2)。図44において条件cの候補に，イベントID1c，ID7cが登録されている。しかし，イベントID1cの時間"18:06:00"，イベントID7cの時間"18:06:00"，と，現在の時間"18:06:40"との差は，無条件タイムアウト"40秒"を超えていない(S3/NO)。
【０３５５】
図44において，各候補に登録されたイベントの中で，イベントID1a， ID4a,ID2b,ID4b,ID6b，ID7cは，未処理のイベントであり，かつ，異なる種類の2辺で接続されていないイベントである。従って，S4の未処理のイベントであって，かつ，異なる種類の2辺で接続されていないイベント(イベントID1a，ID4a,ID2b,ID4b,ID6b，ID7c)がある(S4/YES)。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０３５６】
図44において，図24，図42で説明したように，未処理のイベントID1a，ID4a，ID7a，ID4b，ID2b，ID6b，ID5b，ID1c，ID5dは，削除イベントではない。
【０３５７】
未処理のイベントID1cは，種類の異なる2つの辺を持つ。さらに，未処理のイベントID5dは，種類の異なる2つの辺を持つ。従って，未処理のイベントID1c，未処理のイベントID5dは，削除イベントではない。
【０３５８】
また，未処理のイベントID7cは，イベントID1aと辺(一点鎖線)で接続されている。未処理のイベントID7cが満たす条件cを自身条件として含むイベント間条件c-dのタイムアウト時間は40秒である。現在の時間"18:06:40"と，未処理のイベントID7cの時間は"18:06:40"との差は，前記タイムアウト時間"40秒"を超えていない。
【０３５９】
従って，条件判定部14は，これらのイベントについてはS5でNOと判定し，S6に移る。
【０３６０】
条件判定部14は，未処理のイベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6b，ID1c，ID7c，ID5dを処理済み(S6)にして，S3に戻る。S3において，現在の時間"18:06:40"と，イベントID1cの時間"18:06:00"との差は，無条件タイムアウト"40秒"を超えていない(S3/NO)。
【０３６１】
そして，イベントID1a，ID7a,ID4a,ID2b,ID4b,ID5b,ID6b，ID1c，ID7c，ID5dは，処理済みであり未処理のイベントはないので(S4/NO)，条件判定部14は，処理済みのイベントを未処理にする(S8)。
【０３６２】
ID6の入力イベントは，エリアc，dを含むので，条件a〜dの中で，条件c，dを満たす(S9/YES)。従って，条件判定部14は，S9でYESと判定し，ID6のイベントを条件c，dの候補として新規登録する(S10)。
【０３６３】
条件cの候補として新規登録したID6のイベント(条件cを満たすイベント)に関連する各イベント間条件(条件a-cまたは条件c-d)の相手条件(条件a，d)に，自身条件(条件c)に時間が先行する先行条件(条件a)が含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０３６４】
以下，条件cの候補として新規登録したID6のイベントをイベントID6cと記す。先行条件(条件a)を満たすイベント(条件aの候補として登録されたイベント)の中に，イベントID6cに関連する，先行条件を含むイベント間条件(例えば，条件a-c)を満たすイベントはない(S12/NO)。このイベント間条件a-cを満たすイベントは，イベント間条件a-c("18:06:40"から20分以内の時間および同一IDを有するイベント)を満たすイベントである。
【０３６５】
従って，ノード削除部16は，S12でNOと判定し，図45で示すように，イベントID6cを削除する(S13)。この削除を，図45の"×"で示す。そして，S2に戻る。
【０３６６】
次に，条件dの候補として新規登録したID6のイベントについて，S11の処理が実行される。条件dの候補として新規登録したID6のイベント(条件dを満たすイベント)に関連する各イベント間条件(条件b-d，条件c-d)の相手条件(条件b，c)に，自身条件(条件d)に時間が先行する先行条件(条件b)は含まれる(S11/YES)。従って，条件判定部14は，S11でYESと判定する。
【０３６７】
以下，条件dの候補として新規登録したID6のイベントをイベントID6dと記す。先行条件(条件b)を満たすイベント(条件bの候補として登録されたイベント)の中に，イベントID6dに関連する，先行条件を含むイベント間条件(例えば，条件b-d)を満たすイベント(イベントID6b)はある(S12/YES)。ここで，このイベント間条件b-dを満たすイベントは，イベント間条件b-d("18:06:40"から20分以内の時間および同一IDを有するイベント)を満たすイベントID6bである。
【０３６８】
従って，条件判定部14は，S12でYESと判定する。そして，グラフ管理部15は，図45で示すように，イベント間条件を満たしたイベントID6bと，新規登録イベントID6dとを辺(破線参照)で接続する(S14)。
【０３６９】
イベントID6dに関連する任意のイベント間条件(条件b-dまたは条件c-d)の自身条件(条件d)および相手条件(条件bまたは条件c)は，前後関係のない条件(条件cおよび条件d)である(S21/YES)。
【０３７０】
前後関係のない条件(条件c及び条件d)の何れかの条件の中で，イベントID6dに関連する条件以外の条件は，条件cである。そして，条件cの候補として登録されたイベントの中に，イベントID6dに関連する何れかのイベント間条件(条件c-dまたは条件b-d)を満たすイベントがある(S22/YES)。
【０３７１】
イベント間条件c-dを満たすイベントID1cは，現在の時間"18:06:40"から40秒以内の時間"18:06:00"および同じスペース"36”,39”"を有するイベントである。
【０３７２】
従って，条件判定部14は，S22でYESと判定する。そして，グラフ管理部15は，図45で示すように，イベント間条件を満たしたイベントID1cと，新規登録イベントID6dとを辺(点線参照)で接続する(S23)。
【０３７３】
イベントID6dに関連する各イベント間条件(条件b-dまたは条件c-d)の相手条件(条件b，c)に，自身条件(条件d)に時間が後続する後続条件(条件無し)は含まれない(S24/NO)。
【０３７４】
従って，条件判定部14は，S24でNOと判定し，S25に移る。イベントID6dは，種類の異なる種類の2辺(点線と破線参照)を持つ(S25/YES)。従って，条件判定部14は，S25でYES判定し，S26に移る。
【０３７５】
出力管理部17は，図46に示すように，新規登録イベントID6dが満たす条件dを処理済みとする(S26)。図46では，"処理済"であることを"dの候補"の下に記している。そして，出力管理部17は，図46に示すように，新規登録イベントであるID6dのイベントを，候補集合として登録する（S26）。
【０３７６】
(イベントの出力)
以下，イベントの出力について説明する。ここで，未処理の条件は条件a，条件b，条件c，すなわち"処理済み"でない条件の候補は条件a，b，cの候補である。従って，出力管理部17は，未処理の条件があると判定し(S27/YES)，図47に示すように，未処理の条件a，b，cの中で，処理済みの条件dとイベント間条件を満たす条件b，cの1つを現イベント条件(例えば，条件cを現イベント条件)とする(S28)。図47では，"現イベント条件"であることを"cの候補"の上に記している。
【０３７７】
図46では，候補集合としてID6のイベントが登録されており，候補集合は空ではない。従って，出力管理部17は， S30でNOと判定し，候補集合から1つのエントリ(イベント)を抜き出し，図47に示すように，抜き出した1つのエントリ(ID6のイベント)を現候補として登録する(S32)。
【０３７８】
出力管理部17は，現イベント条件に登録されているイベントの中で，現候補に登録されているイベントと関連がある関連イベントと，現候補に登録されているイベントとを新候補集合に追加する(S33)。
【０３７９】
図48の例では，現イベント条件に登録されているイベントの中で，イベントID1cは，種類の異なる種類の2辺(一点鎖線，点線)を持ち，1つの辺(点線)により，現候補に登録されているイベント(イベントID6d)と接続されているイベントである(S33)。従って，関連イベントは，イベントID1cである。
【０３８０】
出力管理部17は，図48に示すように，関連イベントID1cと，現候補のID6のイベントとの組を，新候補集合に追加し(S33)，S30に戻る。
【０３８１】
図48では，候補集合が空なので(S30/YES)，出力管理部17は，S30でYESと判定する。出力管理部17は，図49に示すように，図48に示した新候補集合のエントリ(ID１，ID6のイベント)を候補集合に移し，現イベント条件を処理済みにして（S31），S27に戻る。なお，図49では，"処理済"であることを"cの候補"の下に記している。
【０３８２】
ここで，未処理の条件は条件a，条件b，すなわち"処理済み"でない条件の候補は条件a，bの候補である。従って，出力管理部17は，未処理の条件があると判定する(S27/YES)。そして，出力管理部17は，図50に示すように，未処理の条件a，bの中で，処理済みの条件(例えば条件d)とイベント間条件を満たす条件bを現イベント条件(例えば，条件b)とする(S28)。
【０３８３】
図49では，候補集合としてID6，ID1のイベントが登録されており，候補集合は空ではない。従って，出力管理部17は，S30でNOと判定し，候補集合から1つのエントリ(ID1，ID6のイベント)を抜き出し，図50に示すように，抜き出した1つのエントリを現候補として登録する(S32)。
【０３８４】
出力管理部17は，関連イベントと，現候補に登録されているイベントとを新候補集合に追加する(S33)。
【０３８５】
図50の例では，現イベント条件に登録されているイベントの中で，イベントID6bは，種類の異なる種類の2辺(破線，実線)を持つ。そして，1つの辺(破線)により，現候補に登録されているイベント(イベントID6d)と接続されているイベントである。従って，関連イベントは，イベントID6bである。
【０３８６】
出力管理部17は，図51に示すように，関連イベントID6bと，現候補のID1，ID6のイベントとの組を，新候補集合に追加し(S33)，S30に戻る。
【０３８７】
図51では，候補集合が空なので(S30/YES)，出力管理部17は，S30でYESと判定する。出力管理部17は，図52に示すように，図51に示した新候補集合のエントリ(ID１，ID6，ID6のイベント)を候補集合に移し，現イベント条件を処理済みにして（S31），S27に戻る。なお，図52では，"処理済"であることを"bの候補"の下に記している。
【０３８８】
ここで，未処理の条件は条件a，すなわち"処理済み"でない条件の候補は条件aの候補である。従って，出力管理部17は，未処理の条件があると判定する(S27/YES)。そして，出力管理部17は，未処理の条件aを現イベント条件とする(S28)。図53では，"現イベント条件"であることを"aの候補"の上に記している。
【０３８９】
図52では，候補集合としてID6，ID1，ID6のイベントが登録されており，空ではない。従って，出力管理部17は，S30でNOと判定し，候補集合から1つのエントリ(ID1，ID6，ID6のイベント)を抜き出し，図53に示すように，抜き出した1つのエントリを現候補として登録する(S32)。
【０３９０】
出力管理部17は，関連イベントと，現候補に登録されているイベントとを新候補集合に追加する(S33)。
【０３９１】
図53の例では，現イベント条件に登録されているイベントの中で，関連イベントはない。以下に理由を説明する。図53の例では，全イベント条件(条件a〜条件d)の数から1を減算した数のイベント(3つのイベント)が，現候補として登録されている。そして，現イベント条件に登録されているイベントの中で，種類の異なる種類の2辺で，現候補に登録されているイベントと接続されているイベントはない。従って，関連イベントはない。そのため，出力管理部17は，図53に示すように，新候補集合に追加する処理を実行せず(S33の不実行)，S30に戻る。
【０３９２】
図54では，候補集合が空なので(S30/YES)，出力管理部17は，S30でYESと判定する。出力管理部17は，図54に示した新候補集合のエントリ(図54では空である)を候補集合に移し，現イベント条件を処理済みにして（S31），S27に戻る。なお，図54では，"処理済"であることを"aの候補"の下に記している。
【０３９３】
ここで，未処理の条件はない。すなわち，"処理済み"でない条件の候補はない(全ての条件の候補に"処理済"が付されている)。従って，出力管理部17は，未処理の条件がないと判定する(S27/NO)。そして，出力部18は，図55の"出力"に示すように，候補集合のエントリを出力する(S30)。図55の例では，候補集合は空なので，何も出力されない。最後に，出力部18は，全ての条件の候補を未処理とする(S30)。図55では，この未処理を図54の"処理済"，"現イベント条件"を消去することにより示している。
【０３９４】
(ID8のイベント入力)
データ読み取り部13は，図56のイベントテーブルに示す，ID8のイベントを読み取る(S2)。
【０３９５】
図56において，条件cの候補に，イベントID1c，ID7cが登録されている。現在の時間"18:14:10"と，イベントID1cの時間"18:06:00"，イベントID7cの時間"18:06:00"との差は，無条件タイムアウト"40秒"を超えている(S3/YES)。
【０３９６】
さらに，図56において，条件dの候補に，イベントID5d，ID6dが登録されている。イベントID5dの時間"18:06:20"，イベントID6dの時間"18:06:40"，と，現在の時間"18:14:10"との差は，無条件タイムアウト"40秒"を超えている(S3/NO)。この無条件タイムアウト"40秒"を超えている時間を含むイベントID1c，ID7c，ID5d，ID6dが削除対象のイベントである。
【０３９７】
従って，条件判定部14は，S3でYESと判定する。そして，ノード削除部16は，図56に示すように，削除対象のイベントID1c，ID7c，ID5d，ID6dと，削除対象のイベントと接続する辺とを削除する(S7)。図56では，この削除をばつ印で示している。さらに，ノード削除部16は，削除対象のイベントと辺で接続されているイベントID1a，ID7a，ID5b，ID6bを未処理にする(S7)。そして，S3に戻る。
【０３９８】
無条件タイムアウトが設定されている条件の候補に登録されたイベントはない(S3/NO)。さらに，異なる種類の2辺で接続されていないイベント(例えば，イベントID1a)がある。従って，条件判定部14は，S3でNO，S4でYESと判定し，S5に移る。
【０３９９】
図57において，未処理のイベントID1a，ID4a，ID7aが満たす条件aを自身条件として含むイベント間条件a-b，a-cを満たさないイベント間条件a-cのタイムアウト時間は20分である。また，未処理のイベントID4b，ID2b，ID6b，ID5bが満たす条件bを自身条件として含むイベント間条件a-b，b-dを満たさないイベント間条件b-dのタイムアウト時間は20分である。
【０４００】
現在時間は"18:14:10"，条件aの候補に登録されている未処理のイベントID1a，ID7aの時間は"17:54:00"，未処理のイベントID1a，ID4a，ID7a，ID4b，ID2b，ID6b，ID5bの時間は，"17:54:10"または"17:54:20"である。従って，これら未処理のイベントの中で，前記タイムアウト時間(20分)を超えているイベントは，未処理のイベントID1a，ID7aである。換言すれば，現在の時間"18:14:10"と，未処理のイベントID1a，ID7aの時間"17:54:00"との差が，前記タイムアウト時間(20分)を超えている。従って，この未処理のイベントID1a，ID7aが削除イベントである(S5/YES)。
【０４０１】
一方，削除イベント以外の未処理のイベントは，イベントID4a，ID4b，ID2b，ID6b，ID5bである(S5/NO)。条件判定部14は，削除イベント以外の未処理のイベントID4a，ID4b，ID2b，ID6b，ID5bを処理済みとする(S6)。次いで，ノード削除部16は，図57に示すように，削除対象のイベントID1a，ID7aと，削除対象のイベントと接続する辺とを削除する(S7)。さらに，ノード削除部16は，削除対象のイベントと辺で接続されているイベントID2b，ID4b，ID5b，ID6bを未処理にする(S7)。そして，S3に戻る。
【０４０２】
図58を説明する。無条件タイムアウトが設定されている条件の候補に登録されたイベントはない(S3/NO)。さらに，異なる種類の2辺で接続されていないイベント(例えば，イベントID4b，ID6b)がある(S4/YES)。
【０４０３】
ノード削除部16は，前記辺の削除により，イベントID4b，ID6bを，辺を持たない未処理のイベントとした。現在時間"18:14:10"と，イベントID4b，ID6bの時間"17:54:10"，"17:54:20"との差が，イベント間条件a-bのタイムアウト時間"40秒"を超えている。従って，ノード削除部16は，図58に示すように，イベントID4b，ID6bを削除する(S7)。
【０４０４】
以上説明したように，本実施の形態によれば，RMA101に記憶されたイベントが条件を満たすイベントかリアルタイムで判定することができる。
【０４０５】
[第2の実施の形態]
次に，第1の実施の形態よりも早く所定の条件を満たすことを示す判定結果を出力する情報処理装置について説明する。
【０４０６】
(情報処理装置のハードウェアブロック図)
図59 は，第2の実施の形態の情報処理装置2のハードウェア構成を説明するブロック図の一例である。図59 の情報処理装置2は，図1の情報処理装置1と同様の構成を有する。なお，RAM102の出力候補102hについては，後記する。
【０４０７】
ストレージ103は，リアルタイム処理ソフトSF2の実行ファイルを記憶する。CPU101は，情報処理装置2の起動時に，ストレージ103からリアルタイム処理ソフトSF2の実行ファイルを読み出し，RAM102に展開し，イベントが所定の条件を満たすか否かの判定をリアルタイムで実行する。なお，この実行ファイルを外部記憶媒体MDに記憶してもよい。
【０４０８】
(情報処理装置のソフトウェアブロック図)
図60は，図59 の情報処理装置2のソフトウェア構成を説明するブロック図の一例である。
【０４０９】
リアルタイム処理ソフトSF2は，図2のリアルタイム処理ソフトSF1で説明した各部の他に，出力条件設定部21と，結合フラグ更新部22とを有する。出力条件設定部21は，ストレージ103に予め管理者などにより設定されている出力時間を読み出し，出力管理部17に入力する。なお，出力時間については，図61で説明する。結合フラグ更新部22は，登録されているイベントが，このイベントに関連する各イベント間条件を満たす場合には，このイベントに結合フラグを設定(以下，セットと適宜記す)し，その旨をRAM102に記憶する。
【０４１０】
第2の実施の形態でも，データ読み取り部13は，第1の実施の形態で説明したイベントを順次受信する。そして，情報処理装置2は，第1の実施の形態で説明した追跡検知を行う。
【０４１１】
(イベントの登録，異なるイベントの辺による接続と，フラグの設定)
図61は，イベントの登録，異なるイベントの辺による接続と，フラグの設定を説明する図である。図6で説明したように，情報処理装置2の条件判定部14は，イベントの登録において，登録したイベントと共に，イベントの内容をRAM102に記憶する。さらに，条件判定部14は，2つのイベントが，このイベントに対応して予め設定されているイベント間条件を満たす場合には，その旨をRAM102に記憶する。
【０４１２】
さらに，結合フラグ更新部22は，登録されているイベントが，このイベントに関連する各イベント間条件を満たす場合には，このイベントに結合フラグをセットし，その旨をRAM102に記憶する。
【０４１３】
例えば，結合フラグ更新部22は，条件dの候補として登録されているイベントE5に結合フラグFLG1をセットした場合，その旨をRAM102に記憶する。図61では，イベントE5の左上隅に丸印で，結合フラグFLG1を示している。結合フラグ更新部22は，イベントE5の内容EI5に示すように，イベントE5に結合フラグFLG1をセットした旨を"結合フラグ：1"としてRAM102に記憶する。イベントに結合フラグがセットされていない場合，その旨を"結合フラグ：0"としてRAM102に記憶する。
【０４１４】
出力部18は，イベントを出力した場合，出力したイベントに出力済みであることを示す識別子(以下，出力済みフラグと適宜記す)をセットし，その旨をRAM102に記憶する。例えば，出力部18は，条件dの候補として登録されているイベントE5を出力した場合，その旨をRAM102に記憶する。
【０４１５】
図61では，イベントの左下済みに"済"で，出力済みフラグFLG2を示している。出力部18は，イベントE5の内容EI5に示すように，イベントE5に出力済フラグFLG2をセットした旨を"出力済みフラグ：1"としてRAM102に記憶する。イベントに出力済みフラグがセットされていない場合，その旨を"出力済みフラグ：0"としてRAM102に記憶する。
【０４１６】
出力部18は，以後，出力済みフラグがセットされたイベントの出力を実行しない。この出力の不実行により，重複してイベントが出力されなくなるので，管理者は，画面上に表示される出力されたイベントが見やすくなる。
【０４１７】
次に，結合フラグの削除について説明する。以下，結合フラグ更新部22は，3つの結合フラグのセットを行う。なお，これらの結合フラグのセットについては，図面のスペースの観点から図6では図示していない。
【０４１８】
第1に，結合フラグ更新部22は，第1の記憶イベント(例えば，イベントE1)が，条件aと第1，第2のイベント間条件a-b，a-cとを満たすと第1の記憶イベントに結合フラグを設定する。
【０４１９】
第2に，結合フラグ更新部22は，第2の記憶イベント(例えば，イベントE3)が，条件bと第1，第4のイベント間条件a-b，b-dとを満たすと第2の記憶イベントに結合フラグを設定する。
【０４２０】
第3に，結合フラグ更新部22は，第3の記憶イベント(例えば，イベントE5)が，条件dと第3，第4のイベント間条件b-d，c-dとを満たすと第3の記憶イベントに結合フラグを設定する。
【０４２１】
そして，結合フラグ更新部22は，条件cと第3，第4のイベント間条件b-d，c-dとを満たすイベントが，このイベントの時間と第3のイベント間条件c-dの時間とを加算した時間が基準時間以上を経過してもRAM102に記憶されない場合，以下の処理を行う。すなわち，結合フラグ更新部22は，第1，第2，第3の記憶イベントに設定された結合フラグを連鎖的に削除する。
【０４２２】
このフラグの削除により，第1の実施の形態で説明した全ての所定の条件を満たす可能性のないイベントの出力が実行されない。そのため，出力処理の負荷が低減され，CPUの負荷率が低減できる。
【０４２３】
ここで，出力管理部17は，現在時間に対応する基準時間と，イベント条件（例えば，条件a）とイベント間条件（例えば，イベント間条件a-b）とを満たす記憶イベントの時間との差が，記憶イベントが満たしたイベント条件に対応して定められた出力時間（例えば，10分）以上か判定し，出力時間以上の場合，判定結果を出力する。
【０４２４】
この判定結果は，例えば，前記記憶イベントである。この出力処理によれば，第1の実施の形態で説明した前記第5の判定の判定を行う前に，少なくとも2つのイベント間条件を満たすイベントを迅速に出力することができる。
【０４２５】
出力されるイベントは，追跡検知における検知対象を完全に特定するものではない(追跡検知における検知対象である確率が高い)。しかし，情報処理装置2は，追跡検知における検知対象である確率が高いイベントを高速に出力できる。
【０４２６】
ここで，前記した出力時間は，イベント条件に対応して定められた時間である。出力時間は，例えば，以下の3つの出力時間を有する。第1の出力時間は，条件a，条件bに対応して定められた時間"10分"である。第2の出力時間は，条件cに対応して定められた時間"30秒"である。第3の出力時間は，条件dに対応して定められた時間"0秒"である。
【０４２７】
(フロー図)
図62〜図66は，第2の実施の形態で説明するイベントのリアルタイム出力を説明する第1〜第5のフロー図である。
【０４２８】
図62のフロー図におけるS2〜S14の各ステップは，図7のフロー図で説明したS2〜S14と同じなので，その説明を省略する。図62において，条件読み取り部11は，図7で説明した処理を実行する(S1’)。さらに，出力条件設定部21は，ストレージ103に予め管理者などにより設定されている出力時間を読み出し，出力管理部17に入力する(S1’)。なお，出力時間は，例えばテキスト形式でストレージ103に記憶されている。次いで，S1’の終了後，S2に移り，イベントの受信(S2)が終了すると，図64のS41に移る。
【０４２９】
図64(A)のS41：出力管理部17は，現在の時間と，出力候補102hに登録されたイベント(出力候補のイベント)の時間との差が，出力候補102hのイベントが満たした条件に対応して定められた出力時間以上か判定する。
【０４３０】
出力候補102hのイベントが条件a，条件bの候補として登録されている場合，この出力候補102hのイベントの出力時間は，条件a，条件bに対応して定められた時間"10分"である。出力候補102hのイベントが条件cの候補として登録されている場合，出力候補102hのイベントの出力時間は，条件cに対応して定められた時間"30秒"である。出力候補102hのイベントが条件dの候補として登録されている場合，この出力候補のイベントの出力時間は，条件dに対応して定められた時間"0秒"である。
【０４３１】
S41でYESの場合，S42に移る。S41でNOの場合，図62のS3に移る。
【０４３２】
S42：出力部18は，出力時間以上の時間を有する出力候補102hのイベントを出力し，この出力したイベントを出力候補102hから削除する。S42の後，図62のS3に移る。図62のS3の処理が実行されS7に至り，S7の終了後，図64(B)のS51に移る。
【０４３３】
図64(B)のS51：結合フラグ更新部22は，結合フラグがセットされている未処理のイベントと，削除された辺と同じ種類の辺で接続されている接続イベントに結合フラグがセットされていないか判定する。
【０４３４】
接続イベントがない場合(S51/YES)，または，接続イベントに結合フラグがセットされていない場合(S51/YES)，S52に移る。結合フラグがセットされている未処理のイベントがない場合(S51/NO)，または，接続イベントがあり，かつ，接続イベントに結合フラグがセットされている場合(S51/NO)，図62のS3に移る。
【０４３５】
S52：結合フラグ更新部22は，結合フラグがセットされている未処理のイベント(以下，フラグ削除イベントと記す)から結合フラグを削除する。そして，結合フラグ更新部22は，フラグ削除イベントと辺(以下，基準辺と記す)で接続されているイベントで，結合フラグがセットされているイベントに対して，S53の処理を実行する。
【０４３６】
S53：結合フラグ更新部22は，結合フラグがセットされているイベントと，前記した基準辺と同じ種類の辺で接続されている接続イベントに結合フラグがセットされていないか判定する。
【０４３７】
接続イベントがない場合(S53/YES)，または，接続イベントに結合フラグがセットされていない場合(S53/YES)，S52に戻る。S52に戻った場合，S52において，結合フラグがセットされているイベントがフラグ削除イベントとなる。接続イベントがあり，かつ，接続イベントに結合フラグがセットされている場合(S51/NO)，なにもしない。
【０４３８】
以後，結合フラグ更新部22は，結合フラグがセットされている全ての未処理のイベントについて，S51以下の処理を終了したら，図62のS3に移る。
【０４３９】
図62において，S11でNOと判定された場合，または，S14の終了後，図63のS21に移る。そして，S21の処理が実行されS25に至り，S25でYESと判定されると，図65のS61に移る。
【０４４０】
図65のS61：結合フラグ更新部22は，新規登録イベントに結合フラグをセットし，新規登録イベントと辺で接続されている，結合フラグのない全イベントに対して，S62以下の処理を実行する。
【０４４１】
S62：結合フラグ更新部22は，S61または後記するS63における結合フラグのないイベント(S62，S63では対象イベントと適宜記す)は，この対象イベントに関連する各イベント間条件を満たすか判定する。
【０４４２】
具体的には，結合フラグ更新部22は，対象イベントが，種類の異なる2辺を持つか判定する。S62でYESの場合，S63に移る。S62でNOの場合，S64に移る。
【０４４３】
S63：結合フラグ更新部22は，対象イベントに結合フラグをセットし，結合フラグをセットしたイベントと辺で接続されている，結合フラグのないイベント全てに対して，S62の処理を実行する。S62の処理の実行(S62に戻る)において，結合フラグがセットされていないイベントが対象イベントである。
【０４４４】
S64：結合フラグ更新部22は，結合フラグのセット処理が全て終わるまで待ち状態に移行する。結合フラグ更新部22は，このセット処理が全て終了するとS65に移る。
【０４４５】
S65：結合フラグ更新部22は，S62，S64で説明した，最終的に結合フラグがセットされなかった対象イベントまたはS67で説明するように結合フラグが削除されたイベント(以下，基準イベントと記す)と辺で接続されている，結合フラグがセットされているイベント(以下，フラグ削除イベントと記す)に対して，S66の処理を実行する。
【０４４６】
ここで，結合フラグ更新部22は，基準イベントすべてについて，S65以下の処理を終了したら，S71に移る。なお，結合フラグ更新部22は，フラグ削除イベントがない場合は，S66以下の処理を実行せず，他の基準イベントについて，S65以下の処理を実行する。
【０４４７】
S66：結合フラグ更新部22は，フラグ削除イベントと基準イベントとが接続されている辺と同じ種類の辺でフラグ削除イベントと接続され，結合フラグがセットされているイベントがないか判定する。このイベントがない場合(S66/YES)，S65に移る。
【０４４８】
S67：結合フラグ更新部22は，フラグ削除イベントにセットされた結合フラグを削除する。そして，S65に戻る。
【０４４９】
S65に戻った場合，S65において，S67で結合フラグが削除されたフラグ削除イベントが基準イベントとなる。そして，S66に戻った場合，S66において，この基準イベントと辺で接続されている，結合フラグがセットされているイベントがフラグ削除イベントとなる。S66でNOの場合，図63のS71に移る。
【０４５０】
図63のS71：出力管理部17は，新規登録イベントに結合フラグがセットされているか判定する。S71でNOの場合，図62のS2に移る。S71でYESの場合，S26に移る。S26の処理が実行されS28に至り，S28の終了後，S72に移る。
【０４５１】
S72：出力管理部17は，候補集合102fとして登録されている全てのイベントが処理済みか判定する。S72でYESの場合，S76に移る。S72でNOの場合，S73に移る。
【０４５２】
S73：出力管理部17は，候補集合102fの未処理のイベントを現候補102eとしてRAM102に登録し，この未処理のイベントを処理済みとする。
【０４５３】
S74：出力管理部17は，現候補102eとして登録されているイベントに対して出力処理フロー(図66参照)を実行する。S74におけるイベントは，出力処理フローで説明する出力対象のイベントである。
【０４５４】
S75：出力管理部17は，現イベント条件に登録されているイベントの中で，結合フラグがセットされており，候補集合102fとして登録されているイベントと辺で接続されているイベントを，新候補集合102gに追加登録する。
【０４５５】
S76：出力管理部17は，新候補集合102gのエントリを候補集合102fとして，さらに，現イベント条件を処理済みとする。そして，S27に戻る。S27でNOの場合，S77に移る。
【０４５６】
S77：出力管理部17は，候補集合102fに登録されている未処理のイベントに対して出力処理フロー(図66参照)を実行する。S77におけるイベントは，出力処理フローで説明する出力対象のイベントである。
【０４５７】
S78：出力管理部17は，全ての条件の候補を未処理にして，候補集合102fに登録されているイベントを削除(クリアとも呼ぶ)する。そして，図62のS2に戻る。
【０４５８】
次に，S74，S77で説明した出力処理フローについて，図66を参照して説明する。
【０４５９】
図66のS81：出力管理部17は，出力対象のイベントは，既に出力済みか判定する。S81でYESの場合，出力処理フローを終了する。S81でNOの場合，S82に移る。
【０４６０】
S82：出力管理部17は，現在の時間と，出力対象のイベントの時間との差が，出力対象のイベントに関連する条件(換言すれば，出力対象のイベントが満たす条件)に対応して定められた出力時間以上か判定する。ここで，出力対象のイベントが満たす条件a，bに対応して定められた出力時間は10分である。出力対象のイベントが満たす条件cに対応して定められた出力時間は30秒である。出力対象のイベントが満たす条件dに対応して定められた出力時間は0秒である。
【０４６１】
S82でYESの場合，S83に移る。S82でNOの場合，S84に移る。
【０４６２】
S83：出力部18は，出力対象のイベントを出力し，出力したイベントを出力済みとする。
【０４６３】
S84：出力管理部17は，出力対象のイベントを出力候補102hとしてRAM102に追加登録する。
【０４６４】
(第2の実施の形態の具体例)
図67〜図98は，第2の実施の形態における具体例を説明する第1〜第32の図である。第1の実施の形態における図9〜図30で説明したようにイベントが情報処理装置2に順次入力され，図62〜図64のフロー図の各ステップが実行される。
【０４６５】
図9〜図23で説明した処理が実行されると，図24で説明したように，ノード削除部16は，イベントID1a"17:54:20"，ID2a，ID6a，ID5aについては，図64のS5でYESと判定し，これらのイベントを削除する(S7)。次いで，S51に移る。ここで，結合フラグ更新部22は，結合フラグがセットされている未処理のイベントがないので(S51/NO)，図62のS3に移る。以後，図24で説明した各処理が実行される。そして，図25〜図30で説明したように，イベントが順次入力され，図62〜図64のフロー図の各ステップが実行される。
【０４６６】
なお，図9〜図30では，出力候補にはイベントが登録されていないので，イベントの受信後(S2)，出力管理部17は，S41でNOと判定し，S3に移る。
【０４６７】
(ID5のイベント入力)
第1の実施の形態における図28で説明したように，データ読み取り部13は，ID5のイベントを読み取る(S2)。情報処理装置2は，図29，図30で説明した各ステップを実行し，グラフ管理部15は，図67に示すように，新規登録イベントID5dとイベントID5bとを辺(破線参照)で接続する(S14)。
【０４６８】
次いで，情報処理装置2は，図29，図30で説明した各ステップを実行する。そして，グラフ管理部15は，図67に示すように，新規登録イベントID5dとイベントID1cとを辺(点線参照)で接続する(S23)。イベントID5dに関連する各イベント間条件(条件b-dまたは条件c-d)の相手条件(条件b，c)に，自身条件(条件d)に時間が後続する後続条件(条件無し)は含まれない(S24/NO)。従って，条件判定部14は，S24でNOと判定し，S25に移る。新規登録イベントID5dは，種類の異なる種類の2辺(点線と一点鎖線参照)を持つ(S25/YES)。従って，条件判定部14は，S25でYES判定し，S61に移る。結合フラグ更新部22は，図67に示すように，新規登録イベントID5dに結合フラグをセットする(S61)。以下の説明では，結合フラグをまる印で模式的に示す。
【０４６９】
結合フラグ更新部22は，新規登録イベントID5dと辺で接続されている，結合フラグのない2つのイベントID1c，ID5b(対象イベント)について，S62，S63の処理を実行する。
【０４７０】
対象イベントID1cは，2つの異なる種類の辺(点線の辺，一点鎖線の辺)を持つ。対象イベントID5bは，2つの異なる種類の辺(実線の辺，破線の辺)を持つ。従って，結合フラグ更新部22は，S62でYESと判定し，図68に示すように，対象イベントID1c，ID5bに結合フラグをセットし(S63)，S62に戻る。
【０４７１】
結合フラグ更新部22は，結合フラグをセットしたイベントID5bと辺で接続されている，結合フラグのない2つのイベントID1a，ID4a(対象イベント)について，S62，S63の処理を実行する。対象イベントID1aは，2つの異なる種類の辺(実線の辺，一点鎖線の辺)を持つ。従って，結合フラグ更新部22は，対象イベントID1aについて，S62でYESと判定し，図69に示すように，対象イベントID1aに結合フラグをセットし(S63)，S62に戻る。一方，対象イベントID4aは，2つの異なる種類の辺を持たない。従って，結合フラグ更新部22は，対象イベントID4aについて，S62でNOと判定し，S64に移る。
【０４７２】
また，対象イベントID1cと辺で接続されている，結合フラグのないイベントはない。従って，結合フラグ更新部22は，対象イベントID1cについて，S62でNOと判定し，S64に移る。結合フラグのセット処理が全て終わったので待ち状態(S64)から，S65に移る。以上の説明において，最終的に結合フラグがセットされなかったイベント(基準イベント)は，イベントID4a，ID4bである。
【０４７３】
結合フラグ更新部22は，基準イベントID4aと辺(実線)で接続されている，結合フラグがセットされているイベントID5b(フラグ削除イベントID5b)に対してS66の処理を実行する。
【０４７４】
フラグ削除イベントID5bと基準イベントID4aとが接続されている辺と同じ種類(実線)の辺でフラグ削除イベント5bと接続され，結合フラグがセットされているイベントID1aがある。従って，結合フラグ更新部22は，S66でNOと判定する。
【０４７５】
結合フラグ更新部22は，基準イベントID4bと辺(実線)で接続されている，結合フラグがセットされているイベントID1a(フラグ削除イベントID1a)に対してS66の処理を実行する。
【０４７６】
フラグ削除イベントID1aと基準イベントID4bとが接続されている辺と同じ種類(実線)の辺でフラグ削除イベントID1aと接続され，結合フラグがセットされているイベントID5bがある。従って，結合フラグ更新部22は，S66でNOと判定する。結合フラグ更新部22は，基準イベントすべてについて，S65〜S67の処理を終了したので，S71に移る。
【０４７７】
新規登録イベントID5dは，図70に示すように，結合フラグを持つ。従って，出力管理部17は，S71でYESと判定し，図70に示すように，新規登録イベントID5dが満たす条件dを処理済みとする(S26)。そして，出力管理部17は，図70に示すように，新規登録イベントID5dを，候補集合として登録する（S26）。
【０４７８】
未処理の条件は条件a，条件b，条件c，すなわち"処理済み"でない条件の候補は条件a，b，cの候補である。従って，出力管理部17は，未処理の条件があると判定する(S27/YES)。そして，出力管理部17は，図71に示すように，未処理の条件a，b，cの中で，処理済みの条件dとイベント間条件を満たす条件b，cの1つを現イベント条件(例えば，条件cを現イベント条件)とする(S28)。
【０４７９】
候補集合として登録されている全てのイベントは，処理済みではない(S72/NO)。従って，出力管理部17は，S72でNOと判定し，図71に示すように，候補集合の未処理のイベントID5dを現候補として登録し，この未処理のイベントID5dを処理済みとする(S73)。この処理済みであることを，候補集合内のイベントに"済"を付すことにより示す。
【０４８０】
ここで，現候補として登録されているイベントID5dが出力対象のイベントである。出力管理部17は，現候補として登録されているイベントID5dに対し，出力処理フローを実行する。出力対象のイベントID5dは，出力済みでない。従って，出力管理部17は，S81でNOと判定し，S82に移る。
【０４８１】
現在の時間"18:06:20"と，出力対象のイベントID5dの時間"18:06:20"との差が，出力対象のイベントID5dが満たす条件dに対応して定められた出力時間"0秒"以上である(S82/YES)。従って，出力管理部17は，S82でYESと判定し，図72に示すように，出力対象のイベントID5dを出力し，出力済みとする(S83)。この出力済みであることを，イベントID5dに"済"を付すことにより示す。
【０４８２】
図73に示すように，現イベント条件(条件c)に登録されているイベントは，イベントID1cである。イベントID1cは，結合フラグがセットされており，候補集合に登録されているイベントID5dと辺で接続(点線参照)されている。従って，出力管理部17は，図73に示すように，イベントID1cを新候補集合に登録する(S75)。そして，S72に戻る。
【０４８３】
候補集合として登録されている全てのイベントID5dは，処理済みである(S72/YES)。従って，出力管理部17は，図74に示すように，図73に示した新候補集合のエントリ(ID1のイベント)を候補集合に移し，現イベント条件(条件c)を処理済みにして（S76），S27に戻る。
【０４８４】
未処理の条件は条件a，条件b，すなわち"処理済み"でない条件の候補は条件a，bの候補である。従って，出力管理部17は，未処理の条件があると判定する(S27/YES)。そして，出力管理部17は，図75に示すように，未処理の条件a，bの中で，処理済みの条件(例えば条件d)とイベント間条件を満たす条件bを現イベント条件(例えば，条件b)とする(S28)。
【０４８５】
候補集合として登録されている全てのイベントは，イベントID1c，ID5dである。そして，イベントID5dは処理済みで，イベントID1cは処理済みでない。
【０４８６】
従って，出力管理部17は，S72でNOと判定し，図75に示すように，候補集合の未処理のイベントID1cを現候補として登録し，この未処理のイベントID1cを処理済みとする(S73)。
【０４８７】
ここで，現候補として登録されているイベントID1cが出力対象のイベントである。出力管理部17は，現候補として登録されているイベントID1cに対し，出力処理フローを実行する(S74)。出力対象のイベントID1cは，出力済みでない。従って，出力管理部17は，S81でNOと判定し，S82に移る。
【０４８８】
現在の時間"18:06:20"と，出力対象のイベントID1cの時間"18:06:00"との差が，出力対象のイベントID1cが満たす条件cに対応して定められた出力時間"30秒"以上でない(S82/NO)。従って，出力管理部17は，S82でNOと判定し，図76に示すように，出力対象のイベントID1cを出力候補として登録する(S84)。
【０４８９】
図77に示すように，現イベント条件(条件b)に登録されているイベントは，イベントID2b，ID4b，ID5b，ID6bである。イベントID5bは，結合フラグがセットされており，候補集合に登録されているイベントID5dと辺で接続(破線参照)されている。従って，出力管理部17は，図77に示すように，イベントID5bを新候補集合に登録する(S75)。そして，S72に戻る。
【０４９０】
候補集合として登録されている全てのイベントID5d，ID1cは，処理済みである(S72/YES)。従って，出力管理部17は，図78に示すように，図77に示した新候補集合のエントリ(ID5のイベント)を候補集合に移し，現イベント条件(条件b)を処理済みにして（S76），S27に戻る。
【０４９１】
未処理の条件は条件a，すなわち"処理済み"でない条件の候補は条件aの候補である。従って，出力管理部17は，未処理の条件があると判定する(S27/YES)。そして，出力管理部17は，図79に示すように，処理済みの条件(例えば条件b)とイベント間条件を満たす条件aを現イベント条件とする(S28)。
【０４９２】
候補集合として登録されている全てのイベントは，イベントID1c，ID5d，ID5bである。そして，イベントID5d，ID1cは処理済みで，イベントID5bは処理済みでない。
【０４９３】
従って，出力管理部17は，S72でNOと判定し，図79に示すように，候補集合の未処理のイベントID5bを現候補として登録し，この未処理のイベントID5bを処理済みとする(S73)。
【０４９４】
ここで，現候補として登録されているイベントID5bが出力対象のイベントである。出力管理部17は，現候補として登録されているイベントID5bに対し，出力処理フローを実行する(S74)。出力対象のイベントID5bは，出力済みでない。従って，出力管理部17は，S81でNOと判定し，S82に移る。
【０４９５】
現在の時間"18:06:20"と，出力対象のイベントID5bの時間"17:54:20"との差が，出力対象のイベントID5bが満たす条件bに対応して定められた出力時間"10分"以上である(S82/YES)。従って，出力管理部17は，S82でYESと判定し，図80に示すように，出力対象のイベントID5bを出力し，出力済みとする(S83)。この出力済みであることを，イベントID5bに"済"を付すことにより示す。
【０４９６】
図81に示すように，現イベント条件(条件a)に登録されているイベントは，イベントID1a，ID4a，ID7aである。イベントID1aは，結合フラグがセットされており，候補集合に登録されているイベントID5bと辺で接続(実線参照)されている。従って，出力管理部17は，図81に示すように，イベントID1aを新候補集合に登録する(S75)。そして，S72に戻る。
【０４９７】
候補集合として登録されている全てのイベントID5b，ID5d，ID1cは，処理済みである(S72/YES)。従って，出力管理部17は，図82に示すように，図81に示した新候補集合のエントリ(ID1のイベント)を候補集合に移し，現イベント条件(条件a)を処理済みにして（S76），S27に戻る。
【０４９８】
ここで，未処理の条件はない。すなわち，"処理済み"でない条件の候補はない(全ての条件の候補に"処理済"が付されている)。従って，出力管理部17は，未処理の条件がないと判定する(S27/NO)。
【０４９９】
候補集合として登録されているイベントID1aが未処理のイベントである。すなわち，イベントID1aが出力対象のイベントである。出力管理部17は，候補集合として登録されているイベントID1aに対し，出力処理フローを実行する(S77)。出力対象のイベントID1aは，出力済みでない。従って，出力管理部17は，S81でNOと判定し，S82に移る。
【０５００】
現在の時間"18:06:20"と，出力対象のイベントID1aの時間"17:54:00"との差が，出力対象のイベントID1aが満たす条件aに対応して定められた出力時間"10分"以上である(S82/YES)。従って，出力管理部17は，S82でYESと判定し，図83に示すように，出力対象のイベントID1aを出力し，出力済みとする(S83)。この出力済みであることを，イベントID1aに"済"を付すことにより示す。そして，出力管理部17は，候補集合に登録されたイベントをクリアする(S83)。
【０５０１】
(ID7のイベント入力)
データ読み取り部13は，図84のイベントテーブルに示す，ID7のイベントを読み取る(S2)。図83において，出力候補のイベント(イベントID1c)の出力時間は30秒である。詳しくは，出力候補のイベントが満たす条件cに対応して定められた時間(出力時間)は，30秒である。そして，現在の時間は"18:06:40"である。
【０５０２】
従って，出力管理部17は，現在の時間と，出力候補のイベントの時間との差が，出力時間以上と判定する(S41/YES)。そして，出力部18は，出力候補のイベント(イベントID1c) を出力し，この出力したイベントを出力候補から削除する(S42)。
【０５０３】
次いで，情報処理装置2は，図42で説明した各ステップを実行して，図85に示すように，ID7のイベントを条件c，dの候補として新規登録する(S10)。
【０５０４】
新規登録したイベントID7dについて説明する。ノード削除部16は，図43で説明したように，S12でNOと判定し，図86で示すように，イベントID7dを削除する(S13)。この削除を，図86の"×"で示す。そして，S2に戻る。
【０５０５】
新規登録したイベントID7cについては，条件判定部14は，図43で説明したように，S12でYESと判定する。そして，図43で示したように，グラフ管理部15は，図86で示すように，イベント間条件を満たしたイベントID7aと，新規登録イベントID7cとを辺(一点鎖線参照)で接続する(S14)。
【０５０６】
次いで，条件判定部14は，図42で説明したように，S21でYES，S22でNO，S24でYES，S25でNOと判定し，S2に移る。
【０５０７】
(ID6のイベント入力)
データ読み取り部13は，図87のイベントテーブルに示す，ID6のイベントを読み取る(S2)。なお，図87では，出力候補にはイベントが登録されていないので，イベントの受信後(S2)，出力管理部17は，S41でNOと判定し，S3に移る。
【０５０８】
次いで，情報処理装置2は，図44で説明した各ステップを実行して，図87に示すように，ID6のイベントを条件c，dの候補として新規登録する(S10)。
【０５０９】
新規登録したイベントID6cについて説明する。ノード削除部16は，図45で説明したように，S12でNOと判定し，図88で示すように，イベントID6cを削除する(S13)。この削除を，図88の"×"で示す。そして，S2に戻る。
【０５１０】
新規登録したイベントID7dについては，条件判定部14は，図45で説明したように，S12でYESと判定する。そして，グラフ管理部15は，図88で示すように，イベント間条件を満たしたイベントID6bと，新規登録イベントID6dとを辺(破線参照)で接続する(S14)。
【０５１１】
情報処理装置2は，図45で説明した各ステップを実行し，グラフ管理部15は，図88で示すように，イベント間条件を満たしたイベントID1cと，新規登録イベントID6dとを辺(点線参照)で接続する(S23)。イベントID6dに関連する各イベント間条件(条件b-dまたは条件c-d)の相手条件(条件b，c)に，自身条件(条件d)に時間が後続する後続条件(条件無し)は含まれない(S24/NO)。従って，条件判定部14は，S24でNOと判定し，S25に移る。新規登録イベントID5dは，種類の異なる種類の2辺(点線と一点鎖線参照)を持つ(S25/YES)。従って，条件判定部14は，S25でYES判定し，S61に移る。結合フラグ更新部22は，図89に示すように，新規登録イベントID6dに結合フラグをセットする(S61)。
【０５１２】
結合フラグ更新部22は，新規登録イベントID6dと辺で接続されている，結合フラグのないベントID16b(対象イベント)について，S62，S63の処理を実行する。
【０５１３】
対象イベントID6bは，2つの異なる種類の辺(実線の辺，破線の辺)を持つ。従って，結合フラグ更新部22は，S62でYESと判定し，図90に示すように，対象イベントID6bに結合フラグをセットし(S63)，S62に戻る。
【０５１４】
結合フラグ更新部22は，結合フラグがセットされたイベントID6bと辺で接続されている，結合フラグのないイベントID7aについて，S62，S63の処理を実行する。対象イベントID7aは，2つの異なる種類の辺(実線の辺，一点鎖線の辺)を持つ。従って，結合フラグ更新部22は，対象イベントID7aについて，S62でYESと判定し，図91に示すように，対象イベントID7aに結合フラグをセットし(S63)，S62に戻る。
【０５１５】
結合フラグ更新部22は，結合フラグがセットされたイベントID7aと辺で接続されている，結合フラグのないイベントID7cについて，S62，S63の処理を実行する。
【０５１６】
結合フラグのないイベントID7c(対象イベント)は，2つの異なる種類の辺を持たない。従って，結合フラグ更新部22は，対象イベントID7cについて，S62でNOと判定し，S64に移る。結合フラグのセット処理が全て終わったので待ち状態(S64)から，S65に移る。
【０５１７】
結合フラグ更新部22は，最終的に結合フラグがセットされなかった対象イベントID7c(基準イベントID7c)と辺で接続されている結合フラグがセットされているイベントID7a(フラグ削除イベントID7a)に対して，S66の処理を実行する(S65)。
【０５１８】
図92において，フラグ削除イベントID7aと基準イベントID7cとが接続されている辺(一点鎖線)と同じ種類の辺でフラグ削除イベントID7aと接続されているイベントはない(S66/YES)。従って，結合フラグ更新部22は，S66でYESと判定し，図92に示したように，フラグ削除イベントID7aにセットされた結合フラグを削除する(S67)。結合フラグの削除をばつ印で示している。S67の終了後，S65に戻る。
【０５１９】
図93に示すように，結合フラグが削除されたイベントID7a(基準イベントID7a) と辺で接続されている結合フラグがセットされているイベントID6b(フラグ削除イベントID6b)に対して，S66の処理を実行する(S65)。
【０５２０】
図93において，フラグ削除イベントID6bと基準イベントID7aとが接続されている辺(実線)と同じ種類の辺でフラグ削除イベントID6bと接続されているイベントはない(S66/YES)。従って，結合フラグ更新部22は，S66でYESと判定し，図93に示したように，フラグ削除イベントID6bにセットされた結合フラグを削除する(S67)。S67の終了後，S65に戻る。
【０５２１】
図94に示すように，結合フラグが削除されたイベントID6b(基準イベントID6b) と辺で接続されている結合フラグがセットされているイベントID6d(フラグ削除イベントID6d)に対して，S66の処理を実行する(S65)。
【０５２２】
図94において，フラグ削除イベントID6dと基準イベントID6bとが接続されている辺(破線)と同じ種類の辺でフラグ削除イベントID6dと接続されているイベントはない(S66/YES)。従って，結合フラグ更新部22は，S66でYESと判定し，図94に示したように，フラグ削除イベントID6dにセットされた結合フラグを削除する(S67)。S67の終了後，S65に戻る。
【０５２３】
図95に示すように，結合フラグが削除されたイベントID6d(基準イベントID6d) と辺で接続されている結合フラグがセットされているイベントID1c(フラグ削除イベントID1c)に対して，S66の処理を実行する(S65)。
【０５２４】
図95において，フラグ削除イベントID1cと基準イベントID6dとが接続されている辺(点線)と同じ種類の辺でフラグ削除イベントID1cと接続されているイベントがある。このイベントは，イベントID5dである。従って，結合フラグ更新部22は，S66でNOと判定し，フラグ削除イベントID1cについては何もしない。そして，S71に移る。
【０５２５】
新規登録イベントID6dは，図95に示すように，結合フラグを持たない。従って，出力管理部17は，S71でNOと判定し，S2に戻る。
【０５２６】
(ID8のイベント入力)
データ読み取り部13は，図96のイベントテーブルに示す，ID8のイベントを読み取る(S2)。
【０５２７】
条件判定部14は，図56で説明したように，S3でYESと判定する。そして，ノード削除部16は，図96に示すように，削除対象のイベントID1c，ID7c，ID5d，ID6dと，削除対象のイベントと接続する辺とを削除する(S8)。図56では，この削除をばつ印で示している。さらに，ノード削除部16は，削除対象のイベントと辺で接続されているイベントID１a，ID7a，ID5b，ID6bを未処理にする(S8)。そして，S51に移る。
【０５２８】
図97で示すように，結合フラグがセットされている未処理のイベント(例えば，イベントID1a)と，削除された辺(例えば，図96で示す一点鎖線の辺)と同じ種類の辺(一点鎖線の辺)で接続されている接続イベントはない。
【０５２９】
従って，結合フラグ更新部22は，S51でYESと判定し，図97で示すように，結合フラグがセットされている未処理のイベント(フラグ削除イベントID1a)から結合フラグを削除する(S52)。
【０５３０】
そして，結合フラグ更新部22は，フラグ削除イベントID1aと辺(基準辺，例えば図97では実線の辺参照)で接続されているイベントで，結合フラグがセットされているイベントID5bに対して，S53の処理を実行する。
【０５３１】
結合フラグがセットされているイベントID5bと，前記した基準辺と同じ種類の辺(実線の辺)で接続されている接続イベントID4aに結合フラグがセットされていない(S53/YES)。従って，結合フラグ更新部22は，S53でYESと判定し，S52に戻る。
【０５３２】
結合フラグ更新部22は，図98で示すように，結合フラグがセットされているイベントID5b(フラグ削除イベントID5b)から結合フラグを削除する(S52)。ここで，結合フラグがセットされているイベントはない(S51/NO)。従って，結合フラグ更新部22は，S51でNOと判定し，S3に移る。
【０５３３】
以後，ノード削除部16は，図57で説明したように，削除対象のイベントID1a，ID7aと，削除対象のイベントと接続する辺とを削除する(S7)。さらに，ノード削除部16は，削除対象のイベントと辺で接続されているイベントID2b，ID4b，ID5b，ID6bを未処理にする(S8)。そして，S3に戻る。
【０５３４】
次いで，ノード削除部16は，図58で説明したように，削除対象のイベントID4b，ID6bを削除する(S7)。
【０５３５】
本実施の形態によれば，イベントが，2つのイベント間条件を満たすことを示す判定結果を出力することができる。その結果，管理者は，迅速に，検知結果を取得することができる。
【０５３６】
[その他の実施の形態]
(イベント)
情報処理装置1，2は，第1，第2の実施の形態で説明したイベント以外にも様々なイベントの中から条件を満たすイベントを抽出することができる。
【０５３７】
図99は，イベントを模式的に示す他の図である。データ読み取り部13が外部サーバから取得するイベントは，例えば，ある時間における，あるネットワークに属するあるサーバの負荷を示す。イベントは，サーバを一意に識別するサーバ識別子(サーバID)と，このサーバが属するネットワークを一意に識別するネットワーク識別子(ネットワークID)と，ある時間におけるこのサーバの負荷を示す。なお，負荷は，たとえばサーバのCPUの負荷率(％)である。
【０５３８】
図99に示すイベントテーブルにおける列は，図面左から順に，イベントの時間，サーバID，ネットワークID，負荷を示す。なお，図99の矢印は，時間経過を模式的に示している。
【０５３９】
(イベント条件，イベント間条件)
図100は，イベント条件，イベント間条件を説明する他の図である。図100において，条件a〜条件fを楕円で模式的に示す。条件a，条件b，条件cは，イベントに含まれる負荷が80％以上である。なお，条件a，条件b，条件cは，イベントに含まれる負荷が80％以上90％未満であってもよい。条件d，条件e，条件fは，イベントに含まれる負荷が90％以上である。
【０５４０】
図100の例では，7つのイベント間条件がある。第1のイベント間条件は，条件a，条件bとの関係を示すイベント間条件a-bである。イベント間条件a-bは，以下の2つの関係を満たすことである。すなわち，第1の関係は，第1のイベント(条件aを満たす)のネットワークIDにより識別されるネットワークと，第1のイベントに後続する第2のイベント(条件bを満たす)のネットワークIDにより識別されるネットワークとが隣接していることである。第2の関係は，第1のイベントの時間と，第2のイベントの時間との時間差(タイムアウト)とが60秒以内である。
【０５４１】
第2のイベント間条件は，条件b，条件cとの関係を示すイベント間条件b-cである。イベント間条件b-cは，以下の2つの関係を満たすことである。すなわち，第1の関係は，第2のイベントのネットワークIDにより識別されるネットワークと，第2のイベントに後続する第3のイベント(条件cを満たす)のネットワークIDにより識別されるネットワークとが隣接していることである。第2の関係は，第2のイベントの時間と，第3のイベントの時間との時間差とが60秒以内である。
【０５４２】
第3のイベント間条件は，条件a，条件dとの関係を示すイベント間条件a-dである。イベント間条件a-dは，以下の2つの関係を満たすことである。第1，第4のイベントに含まれるサーバIDが同じであり，第1のイベントの時間と，第1のイベントに後続する第4のイベント(条件dを満たす)の時間との時間差が15秒以内である。
【０５４３】
第4のイベント間条件は，条件b，条件eとの関係を示すイベント間条件b-eである。イベント間条件b-eは，以下の2つの関係を満たすことである。第2，第5のイベントに含まれるサーバIDが同じであり，第2のイベントの時間と，第2のイベントに後続する第5のイベント(条件eを満たす)の時間との時間差が15秒以内である。
【０５４４】
第5のイベント間条件は，条件c，条件fとの関係を示すイベント間条件c-fである。イベント間条件c-fは，以下の2つの関係を満たすことである。第3，第6のイベントに含まれるサーバIDが同じであり，第3のイベントの時間と，第3のイベントに後続する第6のイベント(条件fを満たす)の時間との時間差が15秒以内である。
【０５４５】
第6のイベント間条件は，条件d，条件eとの関係を示すイベント間条件d-eである。イベント間条件d-eは，以下の2つの関係を満たすことである。すなわち，第1の関係は，第4のイベントのネットワークIDにより識別されるネットワークと，第4のイベントに後続する第5のイベントのネットワークIDにより識別されるネットワークとが隣接していることである。第2の関係は，第4のイベントの時間と，第5のイベントの時間との時間差とが60秒以内である。
【０５４６】
第7のイベント間条件は，条件e，条件fとの関係を示すイベント間条件e-fである。イベント間条件e-fは，以下の2つの関係を満たすことである。すなわち，第1の関係は，第5のイベントのネットワークIDにより識別されるネットワークと，第5のイベントに後続する第6のイベントのネットワークIDにより識別されるネットワークとが隣接していることである。第2の関係は，第5のイベントの時間と，第6のイベントの時間との時間差とが60秒以内である。
【０５４７】
条件読み取り部11は，例えば，図100で説明したイベント条件，イベント間条件，タイムアウトを有する情報をストレージ103から読み出す(S1)。そして，情報処理装置1，2のデータ読み取り部13は，図99の1行で示されるイベントを受信する。そして，情報処理装置1，2は，図7，図62で説明したS2以降の処理を実行する。
【０５４８】
以上の実施の形態をまとめると，次の付記のとおりである。
【０５４９】
（付記１）
複数の属性を有する事象情報を取得し，取得した前記事象情報が第1の前記属性に対応して定められた事象条件を満たす場合，取得した前記事象情報をメモリに記憶する処理部を有し，
前記処理部は，前記事象情報を記憶する度に，前記第1の属性と前記第2の属性である時間と少なくとも2つの前記事象条件とに関連する事象間条件を満たす，前記メモリに記憶された記憶事象情報があるか判定し，前記事象間条件を満たす記憶事象情報があると，判定結果を出力する
ことを特徴とする情報処理装置。
【０５５０】
（付記２）
付記1において，
前記処理部は，前記記憶事象情報の前記時間と，現在時間に対応する基準時間とに基づき，前記事象間条件を満たさない前記記憶事象情報を特定し，特定した前記記憶事象情報を削除する
ことを特徴とする情報処理装置。
【０５５１】
（付記３）
付記2において，
前記事象条件は，前記第1の属性に対応して定められた，第1の前記事象条件と第2の前記事象条件であって，
前記事象間条件は，時間と第3の前記属性と前記第1，第2の事象条件とに関連する事象間条件であって，
前記処理部は，前記記憶事象情報の削除において，前記第1の事象条件を満たす前記記憶事象情報の時間と前記事象間条件の時間とを加算した時間が前記基準時間を超えても，前記第2の事象条件と第2の事象間条件を満たす事象情報が前記メモリに記憶されない場合，前記第1の事象条件を満たす前記記憶事象情報を削除する
ことを特徴とする情報処理装置。
【０５５２】
（付記４）
付記2において，
前記事象条件は，前記第1の属性に対応して定められた，第1の前記事象条件と第2の前記事象条件と第3の前記事象条件であって，
前記事象間条件は，第1の時間と第3の前記属性と前記第1，第2の事象条件とに関連する第1の事象間条件と，前記第1の時間よりも長い第2の時間と前記第3の属性と前記第1，第3の事象条件とに関連する第2の事象間条件であって，
前記処理部は，前記記憶事象情報の削除において，前記第1の事象条件を満たした第1の前記記憶事象情報の時間と前記第2の時間とを加算した時間が前記基準時間を超えても，前記第2の事象間条件を満たす事象情報が前記メモリに記憶されない場合，前記第1の記憶事象情報を削除する
ことを特徴とする情報処理装置。
【０５５３】
（付記５）
付記2において，
前記事象条件は，前記第1の属性に対応して定められた，第1の前記事象条件と第2の前記事象条件と第3の前記事象条件であって，
前記事象間条件は，第1の時間と第3の前記属性と前記第1，第2の事象条件とに関連する第1の事象間条件と，前記第1の時間よりも長い第2の時間と前記第3の属性と前記第1，第3の事象条件とに関連する第2の事象間条件であって，
前記処理部は，前記記憶イベントの削除において，第1の前記記憶事象情報が，前記第1の事象条件を満たすが前記第1の事象間条件を満たさず，第2の前記記憶事象情報が，前記第3の事象条件と前記第2の事象間条件とを満たしている場合において，前記第1の記憶事象情報が削除された場合，前記第2の記憶事象情報を削除する
ことを特徴とする情報処理装置。
【０５５４】
（付記６）
付記1において，
前記事象条件は，前記第1の属性に対応して定められた，第1の前記事象条件と第2の前記事象条件と第3の前記事象条件と第4の前記事象条件であって，
前記事象間条件は，第1の時間と第3の前記属性と前記第1，第2の事象条件とに関連する第1の事象間条件と，前記第1の時間よりも長い第2の時間と前記第3の属性と前記第1，第3の事象条件とに関連する第2の事象間条件と，第3の時間と前記第3の属性と前記第3，第4の事象条件とに関連する第3の事象間条件と，前記第3の時間よりも長い第4の時間と前記第3の属性と前記第2，第4の事象条件とに関連する第4の事象間条件であって，
前記処理部は，前記判定の出力において，第1の前記記憶事象情報が，前記第1の事象条件と前記第1，第2の事象間条件とを満たし，第2の前記記憶事象情報が，前記第2の事象条件と前記第1，第4の事象間条件とを満たし，第3の前記記憶事象情報が，前記第3の事象条件と前記第2，第3の事象間条件とを満たし，第4の前記記憶事象情報が，前記第4の事象条件と前記第3，第4の事象間条件とを満たすか判定し，満たした場合，前記判定結果を出力する
ことを特徴とする情報処理装置。 
【０５５５】
（付記７）
付記1において，
前記処理部は，所定のタイミング毎に，前記事象間条件を満たす前記記憶事象情報があるか判定する
ことを特徴とする情報処理装置。 
【０５５６】
（付記８）
付記6において，
前記処理部は，前記第3の事象条件と前記第2，第3の事象間条件とを満たした事象情報，または，前記第4の事象条件と前記第3，第4の事象間条件とを満たした事象情報が前記メモリに記憶されたタイミングで，前記判定を行う
ことを特徴とする情報処理装置。 
【０５５７】
（付記９）
付記6において，
前記処理部は，前記判定結果を出力した後，前記第1〜第4の記憶事象情報を削除する
ことを特徴とする情報処理装置。
【０５５８】
（付記１０）
付記6において，
前記処理部は，前記第3の記憶事象情報の時間と，前記第3の事象条件に対応して定められた第5の時間とを加算した時間が前記基準時間を超えた場合，前記第3の記憶事象情報を削除する
ことを特徴とする情報処理装置。
【０５５９】
（付記１１）
付記6において，
前記処理部は，前記第4の記憶事象情報の時間と，前記第4の事象条件に対応して定められた第6の時間とを加算した時間が前記基準時間を超えた場合，前記第4の記憶事象情報を削除する
ことを特徴とする情報処理装置。
【０５６０】
（付記１２）
付記1において，
前記処理部は，前記判定において，現在時間に対応する基準時間と，前記事象条件と前記事象間条件とを満たす前記記憶事象情報の時間との差が，前記記憶事象情報が満たした前記事象条件に対応して定められた出力時間以上か判定し，出力時間以上の場合，前記判定結果を出力する
ことを特徴とする情報処理装置。
【０５６１】
（付記１３）
付記12において，
前記処理部は，出力した前記記憶事象情報に対応して，出力済みであることを示す識別子を設定し，前記識別子が設定された前記記憶事象情報の出力を実行しない
ことを特徴とする情報処理装置。
【０５６２】
（付記１４）
付記12において，
前記処理部は，前記記憶事象情報の時間と，前記基準時間とに基づき，前記事象間条件を満たさない全ての前記記憶事象情報を特定し，特定した前記記憶事象情報を削除し，前記記憶事象情報の削除後，前記判定を行う
ことを特徴とする情報処理装置。
【０５６３】
（付記１５）
付記12において，
前記処理部は，前記事象間条件を満たす前記記憶事象情報に，前記事象間条件を満たすことを示す識別子を設定し，前記識別子が設定された前記記憶事象情報を出力する
ことを特徴とする情報処理装置。
【０５６４】
（付記１６）
付記15において，
前記事象条件は，前記第1の属性に対応して定められた，第1の前記事象条件と第2の前記事象条件と第3の前記事象条件と第4の前記事象条件であって，
前記事象間条件は，前記事象間条件は，第1の時間と第3の前記属性と前記第1，第2の事象条件とに関連する第1の事象間条件と，前記第1の時間よりも長い第2の時間と前記第3の属性と前記第1，第3の事象条件とに関連する第2の事象間条件と，第3の時間と前記第3の属性と前記第3，第4の事象条件とに関連する第3の事象間条件と，前記第3の時間よりも長い第4の時間と前記第3の属性と前記第2，第4の事象条件とに関連する第4の事象間条件であって，
前記処理部は，第1の前記記憶事象情報が，前記第1の事象条件と前記第1，第2の事象間条件とを満たすと前記第1の記憶事象情報に前記識別子を設定し，第2の前記記憶事象情報が，前記第2の事象条件と前記第1，第4の事象間条件とを満たすと前記第2の記憶事象情報に前記識別子を設定し，第3の前記記憶事象情報が，第4の事象条件と第3，第4の事象間条件とをみたすと前記第4の記憶事象情報に前記識別子を設定し，さらに，前記第3の事象条件と前記第2，第3の事象間条件とを満たし，かつ，出力済みでない事象情報が，当該事象情報の時間と前記第3の事象間条件の時間とを加算した時間が前記基準時間以上を経過しても前記メモリに記憶されない場合，前記第1，第2，第3の記憶事象情報に設定された前記識別子を削除する
ことを特徴とする情報処理装置。
【０５６５】
（付記１７）
付記1において，
前記判定結果は，前記事象間条件を満たす記憶事象情報である
ことを特徴とする情報処理装置。
【０５６６】
（付記１８）
コンピュータに，
複数の属性を有する事象情報を取得し，
取得した前記事象情報が第1の前記属性に対応して定められた事象条件を満たす場合，取得した前記事象情報をメモリに記憶し，
前記事象情報を記憶する度に，前記第1の属性と前記第2の属性である時間と少なくとも2つの前記事象条件とに関連する事象間条件を満たす，前記メモリに記憶された記憶事象情報があるか判定し，
前記事象間条件を満たす記憶事象情報があると，判定結果を出力する処理を実行させる
ことを特徴とするプログラム。 
【０５６７】
（付記１９）
複数の属性を有する事象情報を取得し，
取得した前記事象情報が第1の前記属性に対応して定められた事象条件を満たす場合，取得した前記事象情報をメモリに記憶し，
前記事象情報を記憶する度に，前記第1の属性と前記第2の属性である時間と少なくとも2つの前記事象条件とに関連する事象間条件を満たす，前記メモリに記憶された記憶事象情報があるか判定し，
前記事象間条件を満たす記憶事象情報があると，判定結果を出力する
ことを特徴とする情報処理方法。
【符号の説明】
【０５６８】
1，2…情報処理装置，101…CPU(処理部)，102…RAM(メモリ)，103…ストレージ装置，104…外部記憶媒体読み取り装置，105…ネットワークインターフェイス，SF1，SF2…リアルタイム処理ソフト，11…条件読み取り部，12…条件変換部，13…データ読み取り部，14…条件判定部，15…グラフ管理部，16…ノード削除部，17…出力管理部，18…出力部，21…出力条件設定部，22…結合フラグ更新部。
【図１】
2015191598.tif 000003
【図２】
2015191598.tif 000004
【図３】
2015191598.tif 000005
【図４】
2015191598.tif 000006
【図５】
2015191598.tif 000007
【図６】
2015191598.tif 000008
【図７】
2015191598.tif 000009
【図８】
2015191598.tif 000010
【図９】
2015191598.tif 000011
【図１０】
2015191598.tif 000012
【図１１】
2015191598.tif 000013
【図１２】
2015191598.tif 000014
【図１３】
2015191598.tif 000015
【図１４】
2015191598.tif 000016
【図１５】
2015191598.tif 000017
【図１６】
2015191598.tif 000018
【図１７】
2015191598.tif 000019
【図１８】
2015191598.tif 000020
【図１９】
2015191598.tif 000021
【図２０】
2015191598.tif 000022
【図２１】
2015191598.tif 000023
【図２２】
2015191598.tif 000024
【図２３】
2015191598.tif 000025
【図２４】
2015191598.tif 000026
【図２５】
2015191598.tif 000027
【図２６】
2015191598.tif 000028
【図２７】
2015191598.tif 000029
【図２８】
2015191598.tif 000030
【図２９】
2015191598.tif 000031
【図３０】
2015191598.tif 000032
【図３１】
2015191598.tif 000033
【図３２】
2015191598.tif 000034
【図３３】
2015191598.tif 000035
【図３４】
2015191598.tif 000036
【図３５】
2015191598.tif 000037
【図３６】
2015191598.tif 000038
【図３７】
2015191598.tif 000039
【図３８】
2015191598.tif 000040
【図３９】
2015191598.tif 000041
【図４０】
2015191598.tif 000042
【図４１】
2015191598.tif 000043
【図４２】
2015191598.tif 000044
【図４３】
2015191598.tif 000045
【図４４】
2015191598.tif 000046
【図４５】
2015191598.tif 000047
【図４６】
2015191598.tif 000048
【図４７】
2015191598.tif 000049
【図４８】
2015191598.tif 000050
【図４９】
2015191598.tif 000051
【図５０】
2015191598.tif 000052
【図５１】
2015191598.tif 000053
【図５２】
2015191598.tif 000054
【図５３】
2015191598.tif 000055
【図５４】
2015191598.tif 000056
【図５５】
2015191598.tif 000057
【図５６】
2015191598.tif 000058
【図５７】
2015191598.tif 000059
【図５８】
2015191598.tif 000060
【図５９】
2015191598.tif 000061
【図６０】
2015191598.tif 000062
【図６１】
2015191598.tif 000063
【図６２】
2015191598.tif 000064
【図６３】
2015191598.tif 000065
【図６４】
2015191598.tif 000066
【図６５】
2015191598.tif 000067
【図６６】
2015191598.tif 000068
【図６７】
2015191598.tif 000069
【図６８】
2015191598.tif 000070
【図６９】
2015191598.tif 000071
【図７０】
2015191598.tif 000072
【図７１】
2015191598.tif 000073
【図７２】
2015191598.tif 000074
【図７３】
2015191598.tif 000075
【図７４】
2015191598.tif 000076
【図７５】
2015191598.tif 000077
【図７６】
2015191598.tif 000078
【図７７】
2015191598.tif 000079
【図７８】
2015191598.tif 000080
【図７９】
2015191598.tif 000081
【図８０】
2015191598.tif 000082
【図８１】
2015191598.tif 000083
【図８２】
2015191598.tif 000084
【図８３】
2015191598.tif 000085
【図８４】
2015191598.tif 000086
【図８５】
2015191598.tif 000087
【図８６】
2015191598.tif 000088
【図８７】
2015191598.tif 000089
【図８８】
2015191598.tif 000090
【図８９】
2015191598.tif 000091
【図９０】
2015191598.tif 000092
【図９１】
2015191598.tif 000093
【図９２】
2015191598.tif 000094
【図９３】
2015191598.tif 000095
【図９４】
2015191598.tif 000096
【図９５】
2015191598.tif 000097
【図９６】
2015191598.tif 000098
【図９７】
2015191598.tif 000099
【図９８】
2015191598.tif 000100
【図９９】
2015191598.tif 000101
【図１００】
2015191598.tif 000102