(57)【特許請求の範囲】
【請求項１】
業務サーバにより出力され、イベントの意味を特定するイベント種別と業務を識別するインスタンス情報とを含む業務のイベントログを収集するイベントログ収集手段と、
前記イベントログを特定するための条件ＩＤと前記イベントログに対して行うアクションのアクションＩＤとが含まれたルールを、前記インスタンス情報を識別するインスタンスＩＤを介して前記インスタンス情報に対応するインスタンス状態ＩＤと前記イベント種別とにより分類して保存する状態遷移表保存手段と、
前記条件ＩＤと前記イベントログを特定するための条件式とが対応付けられた条件定義情報を保存する条件定義情報保存手段と、
前記状態遷移表保存手段により保存された前記ルールを取得し、前記ルールに含まれた前記条件ＩＤに対応した前記条件式を前記条件定義情報保存手段により保存された前記条件定義情報の中から取得し、この条件式と業務データベースに保存された業務情報とがマッチングした時に前記ルールに含まれた前記アクションＩＤに基づいて前記イベントログを業務イベントとして抽出する業務イベント抽出手段と、
前記業務イベント抽出手段により抽出された前記業務イベントを出力する業務イベント出力手段と、
を備えたことを特徴とする業務イベント抽出サーバ。
【請求項２】
前記インスタンス情報とこのインスタンス情報を識別するインスタンスＩＤとが対応付けられたインスタンス管理テーブルと、前記インスタンスＩＤとこのインスタンスＩＤに対応したインスタンス状態ＩＤとが対応付けられた状態管理テーブルを保存するインスタンス管理情報保存手段と、
前記インスタンス状態ＩＤとこのインスタンス状態ＩＤに対応したインスタンス状態とが対応付けられた状態定義情報テーブルを保存する状態定義情報保存手段と、
前記インスタンス管理テーブルから前記インスタンス情報に対応するインスタンスＩＤを取得し、又前記状態管理テーブルから前記インスタンスＩＤに対応するインスタンス状態ＩＤを取得する状態遷移管理手段と、
前記状態遷移管理手段により取得された前記インスタンス状態ＩＤに対応する前記インスタンス状態を前記状態定義情報テーブルから取得するイベント処理手段と、
を備えることを特徴とする請求項１記載の業務イベント抽出サーバ。
【請求項３】
前記条件式は、前記イベントログと前記業務情報との関係式、及び業務イベントに対応付かない未確定イベントログと前記業務情報との関係式により構成され、
前記イベント処理手段は、前記条件式に基づいて前記イベントログと前記未確定イベントログとが前記業務データベースに保存された前記業務情報にマッチングするか否か判定することを特徴とする請求項２記載の業務イベント抽出サーバ。
【請求項４】
未確定イベント管理情報保存部は、前記未確定イベントログと前記インスタンスＩＤとが対応付けられた未確定イベント管理テーブルを保存し、
アクション定義情報保存手段は、前記アクションＩＤとこのアクションＩＤに対応するアクションとが対応付けられたアクション定義情報を保存し、
前記イベント処理手段は、前記イベントログと前記未確定イベントログとが前記業務情報にマッチングした時に前記イベントログと前記未確定イベントログとに対応した条件式に対応する条件ＩＤを前記条件定義情報保存手段から取得し、この条件ＩＤに対応するアクションＩＤを前記ルールの中から取得し、このアクションＩＤに対応するアクションを前記アクション定義情報保存手段から取得することを特徴とする請求項３記載の業務イベント抽出サーバ。
【請求項５】
前記アクションは、業務イベント出力情報と未確定イベント出力情報とを含み、
前記イベント処理手段は、前記アクション定義情報保存手段から取得した前記アクションが業務イベント出力情報の時には前記イベントログを業務イベントとして前記業務イベント出力手段に送信し、前記アクション定義情報保存手段から取得した前記アクションが未確定イベント出力情報の時には前記未確定イベントログを業務イベントとして前記業務イベント出力手段に送信することを特徴とする請求項４記載の業務イベント抽出サーバ。
【請求項６】
前記状態遷移表保存手段により保存された前記ルールは、前記インスタンスの遷移先の状態を表す遷移先状態ＩＤを含み、
前記イベント処理手段は、前記イベントログと前記未確定イベントログとが前記業務情報にマッチングした時に前記ルールから前記遷移先状態ＩＤを取得し、
前記状態遷移管理手段は、前記イベント処理手段により取得された前記遷移先状態ＩＤに対応するインスタンス状態を前記状態定義情報テーブルから取得し、前記イベント処理手段により前記状態定義情報テーブルから取得された前記インスタンス状態を前記イベント処理手段により取得された前記インスタンス状態に更新することを特徴とする請求項３記載の業務イベント抽出サーバ。
【請求項７】
前記状態遷移管理手段は、前記インスタンス管理テーブルに前記インスタンス情報に対応するインスタンスＩＤが無い時に、前記インスタンス情報とこのインスタンス情報に対応する新たなインスタンスＩＤとをインスタンス管理テーブルに登録することを特徴とする請求項２記載の業務イベント抽出サーバ。
【請求項８】
前記状態遷移管理手段は、前記状態定義情報テーブルにインスタンス状態ＩＤに対応するインスタンス状態が無い時に、新たなインスタンスＩＤとインスタンスの初期状態の状態ＩＤとを前記状態管理テーブルに登録することを特徴とする請求項２記載の業務イベント抽出サーバ。
【請求項９】
未確定イベント管理手段は、前記アクション定義情報保存手段に保存されたアクションが前記未確定イベントの登録である場合に、前記未確定イベント管理テーブルに前記イベントログを未確定イベントとして登録することを特徴とする請求項４記載の業務イベント抽出サーバ。
【請求項１０】
業務サーバにより出力され、イベントの意味を特定するイベント種別と業務を識別するインスタンス情報とを含む業務のイベントログを収集するイベントログ収集ステップと、
前記イベントログを特定するための条件ＩＤと前記イベントログに対して行うアクションのアクションＩＤとが含まれたルールを、前記インスタンス情報を識別するインスタンスＩＤを介して前記インスタンス情報に対応するインスタンス状態ＩＤと前記イベント種別とにより分類して保存する状態遷移表保存ステップと、
前記条件ＩＤと前記イベントログを特定するための条件式とが対応付けられた条件定義情報を保存する条件定義情報保存ステップと、
前記状態遷移表保存手段により保存された前記ルールから前記イベントログに含まれた前記イベント種別と前記インスタンス状態ＩＤとに対応した条件ＩＤを取得し、この対応条件ＩＤに対応した前記条件式を前記条件定義情報保存手段により保存された前記条件定義情報の中から取得し、
この条件式と業務データベースに保存された業務情報とがマッチングした時に前記ルールに含まれた前記アクションＩＤに基づいて前記イベントログを業務イベントとして抽出する業務イベント抽出ステップと、
前記抽出ステップにより抽出された前記業務イベントを出力する出力ステップと、を備えたことを特徴とする業務イベント抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務システムに固有なイベントログから業務的に意味のあるイベントを抽出する業務イベント抽出サーバ及び業務イベント抽出方法に関するものである。
【背景技術】
【０００２】
従来の業務分析、改善の技術には、業務システムのイベントログを元に業務プロセスと対応付けを行うことにより、業務分析、改善を行う方式がある。例えば、特許文献１では、業務フローに関係付けるための識別子をイベントログに組み込むことにより、イベントログと業務プロセスを一対一に対応付け、イベントログから業務的に意味のあるイベントを抽出する方式が開示されている。
しかし、開示されている方式は、業務プロセスに対応付けることを前提としたイベントログを出力しているため、業務プロセスに対応付けることを意識せずにイベントログを出力している既存の業務システムに対して適用することは困難であった。
【特許文献１】特開２００３−６７２２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
業務プロセスを用いて業務分析、改善を行うためには、業務システムのイベントログから業務プロセスに対応付く業務的に意味のあるイベント（以降、業務イベントと呼ぶ）を抽出する必要がある。
しかし、既存の業務システムが出力する業務プロセスに対応付けることを意識していないシステムに、固有なイベントログから業務イベントを抽出する場合には、以下のような課題が挙げられる。
イベントログに、対応する業務プロセスを特定するために必要な情報が不足している場合、業務イベントを抽出することができない。
また、イベントログと対応する業務プロセスの対応が変化する場合、対応関係を一意に定めることができず、業務イベントを抽出することができない。
さらに、イベントログ発生時点において対応する業務プロセスが決定していない場合、イベントログに対応する業務イベントを抽出することができない。
本発明は、上記のような課題を解決するためになされたもので、業務プロセスに対応付けることを意識せずにイベントログが出力された場合においても、業務イベントの抽出を可能とすることを目的とする。
【課題を解決するための手段】
【０００４】
この発明に係る業務イベント抽出サーバは、業務サーバにより出力された業務のイベントログを収集するイベントログ収集手段と、
前記イベントログ収集手段により収集された前記イベントログから業務イベントを抽出する業務イベント抽出手段と、
前記業務イベント抽出手段により抽出された前記業務イベントを出力する業務イベント出力手段と、を備えたものである。
【発明の効果】
【０００５】
この発明は、イベントログ収集手段が業務サーバにより出力された業務のイベントログを収集し、業務イベント抽出手段がイベントログ収集手段により収集されたイベントログから業務イベントを抽出し、業務イベント出力手段が業務イベント抽出手段により抽出された業務イベントを出力することにより、収集されたイベントログから業務イベントを抽出することが可能になるので、業務プロセスに対応付けることを意識せずにイベントログが出力されている場合においても、業務イベントを抽出することができる。
【発明を実施するための最良の形態】
【０００６】
実施の形態１．
図1は、業務イベント抽出システムの構成図である。図1において、１００は業務システムに固有なイベントログから業務イベントを抽出する処理を行う業務イベント抽出サーバである。２００は業務イベント抽出サーバ１００が監視対象とする業務サーバである。３００は業務イベント抽出サーバ１００が抽出した業務イベントを元に業務分析を行う業務分析サーバである。
業務イベント抽出サーバ１００は、業務サーバ２００上の業務アプリケーション２１１、２１２、２１３が出力したイベントログを収集するイベントログ収集手段としてのイベントログ収集部１１０、イベントログから業務イベントを抽出する業務イベント抽出手段としての業務イベント抽出部１２０、業務イベント抽出部１２０により抽出された業務イベントを業務分析サーバの業務イベントキュー３２１に出力する業務イベント出力手段としての業務イベント出力部１３０、を持つ。
【０００７】
さらに、業務イベント抽出サーバ１００は、イベントログのインスタンスの状態（インスタンス状態）を管理するためのインスタンス管理情報が保存されたインスタンス管理情報保存手段としてのインスタンス管理情報保存部１４１、未確定なイベントログを管理するための未確定イベント管理情報が保存された未確定イベント管理情報保存手段としての未確定イベント管理情報保存部１４２、インスタンスの状態を遷移（更新）するためのルール（インスタンス状態遷移ルール）が記述された状態遷移表が保存された状態遷移表保存手段としての状態遷移表保存部１５１、業務情報の参照により業務イベントを特定するための条件を定義した条件定義情報が保存された条件定義情報保存手段としての条件定義情報保存部１５２、条件を満たした場合に行うアクションを定義したアクション定義情報が保存されたアクション定義情報保存手段としてのアクション定義情報保存部１５３、インスタンスの状態定義情報が保存された状態定義情報保存手段としての状態定義情報保存部１５４、を持つ。
【０００８】
ここで、インスタンス管理情報保存部１４１には、後述するインスタンス管理テーブルと状態管理テーブルが保存され、未確定イベント管理情報保存部１４２には、後述する未確定イベント管理テーブルが保存され、状態遷移表保存部１５１には、後述する状態遷移表が保存され、条件定義情報保存部１５２には後述する条件定義情報が保存され、アクション定義情報保存部１５３には、後述するアクション定義情報が保存され、状態定義情報保存部１５４には、後述する状態定義情報テーブルが保存されている。
なお、インスタンス管理情報保存部１４１と、未確定イベント管理情報保存部１４２と、状態遷移表保存部１５１と、条件定義情報保存部１５２と、アクション定義情報保存部１５３と、状態定義情報保存部１５４とは、業務イベント抽出サーバ１００とは別に外部に備えるよう構成してもよい。
【０００９】
業務イベント抽出部１２０は、イベントログ収集部１１０が収集したイベントログから、業務イベントを抽出するものである。業務イベント抽出部１２０は、イベントログのインスタンス毎に状態遷移を管理する状態遷移管理手段としての状態遷移管理部１２２、業務イベントを特定するために不足している情報を業務情報の状態が保存された業務ＤＢ２２２で参照する業務情報参照手段としての業務情報参照部１２３、イベント発生時には業務イベントに対応付かない未確定なイベントログを未確定イベントとして管理する未確定イベント管理手段としての未確定イベント管理部１２４、を持つ。
さらに、業務イベント抽出部１２０は、状態遷移管理部１２２、業務情報参照部１２３、未確定イベント管理部１２４を統合し、イベントログから業務イベントを抽出するイベント処理手段としてのイベント処理部１２１を持つ。
【００１０】
業務サーバ２００は、監視対象の業務で用いられる業務アプリケーション２１１、２１２、２１３などの複数の業務アプリケーション持つ。業務ログ２２１は、業務アプリケーション２１１、２１２、２１３の実行により出力されるログを蓄積するための記憶装置である。
業務分析サーバ３００は、業務イベントを元に業務を分析する業務分析部３１０を持つ。
業務イベントキュー３２１は、業務分析部３１０が業務を分析するために用いる業務イベントを蓄積するための記憶装置である。
【００１１】
次に、業務イベント抽出サーバの動作について説明する。
図２は、業務イベント抽出サーバの動作手順を示すフローチャートである。
まず、ステップＳ１において、イベントログ収集部１１０が、監視対象である業務サーバ２００上の業務アプリケーション２１１、２１２、２１３が出力したイベントログを収集する。
次に、ステップＳ２において、業務イベント抽出部１２０が、イベントログ収集部１１０により収集されたイベントログを元に、業務イベントを抽出する。
ステップＳ３において、業務イベント出力部１３０が、業務イベント抽出部１２０により抽出された業務イベントを、業務分析サーバ３００の業務イベントキュー３２１に出力する。
【００１２】
次に、イベント処理部１２１がイベントログ収集部１１０で収集されたイベントログを受け取ってから業務イベントを抽出し、インスタンスの状態を遷移するまでの動作について説明する。
図３は、イベント処理部１２１がイベントログを受け取ってから業務イベントを抽出し、インスタンスの状態を遷移するまでの動作手順を示すフローチャートである。
【００１３】
まず、ステップＳ１１において、イベント処理部１２１が、イベントログ収集部１１０より、イベントログを受け取る。
イベントログは、例えば、図４に示すような内容を持つ。図４においてイベントログ４０１には、業務４００を行う業務アプリケーション２１１からのイベントログ４０１が含まれる。
ここで、イベントログ４０１には、業務４００の業務だけでなく業務４００と並行して業務アプリケーション２１２、２１３などの他の業務アプリケーションで実行された業務のイベントログも含まれている。
業務４００は、電話対応を行う業務である。イベントログ４０１の各行は、行４２１で示しているように、ログを出力した時刻（発生時刻）４１１、イベント種別４１２、インスタンス情報４１３、電話番号４１４、オペレータＩＤ４１５を持つ。
【００１４】
ステップＳ１２において、イベント処理部１２１が、状態遷移管理部１２２を用いて、インスタンスの状態を取得する。
ステップＳ１３において、イベント処理部１２１が、ステップＳ１２で取得したインスタンスの状態とイベント種別４１２とをを元に、ルールのリストを取得する。ここで、ルールとは、業務イベントを特定するための条件、条件を満たしたときに行うアクション、条件を満たしたときのインスタンスの状態遷移先を記述したものである。
ステップＳ１４において、ステップＳ１３で取得したルールのリストが空の場合、処理を終了する。ルールのリストが空でない場合、ステップＳ１５へ進む。
【００１５】
ステップＳ１５において、イベント処理部１２１が、業務情報参照部１２３を用いて、ステップＳ１３で取得したルールのリストを元に条件のマッチングを行う。
ステップＳ１６において、ステップＳ１５の結果、条件にマッチした場合、ステップＳ１７へ進む。条件にマッチしなかった場合、処理を終了する。
ステップＳ１７において、イベント処理部１２１が、未確定イベント管理部１２４を用いて、ステップＳ１５で条件にマッチしたルールを元に業務イベントの抽出を行う。
ステップＳ１８において、イベント処理部１２１が、状態遷移管理部１２２を用いて、ステップＳ１５で条件にマッチしたルールを元にインスタンスの状態を遷移する。
【００１６】
次に、イベント処理部１２１が、ステップＳ１２でインスタンスの状態を取得する動作と、ステップＳ１３でルールのリストを取得する動作と、ステップＳ１５で条件のマッチングを行う動作と、ステップＳ１７で業務イベントの抽出を行う動作と、ステップＳ１８でインスタンスの状態を遷移する動作とを詳細に説明する。
【００１７】
まず、イベント処理部１２１が、ステップＳ１２でインスタンスの状態を取得する詳細な動作について説明する。
図５は、イベント処理部１２１がインスタンスの状態を取得する動作手順を示すフローチャートである。
ステップＳ２１において、イベント処理部１２１が、イベントログ４０１からインスタンス情報４１３を取得する。例えば、図４のイベントログ４０１の行４２１の場合、インスタンス情報４１３として「ＴｅｌＮｏ００３」を得る。
【００１８】
次に、ステップＳ２２において、状態遷移管理部１２２が、図６に示すインスタンス管理テーブルを参照し、インスタンス情報４１３に対応するインスタンスＩＤ５０１を取得する。
ここで、図６は、インスタンス管理テーブルの説明図であり、インスタンス管理テーブルは、インスタンスＩＤ５０１とイベントログ４０１から取得したインスタンス情報４１３とが対応付けられて構成されおり、例えば、図４のイベントログ４０１のインスタンス情報４１３として「ＴｅｌＮｏ００３」が取得された場合、インスタンスＩＤ５０１としては「Ｉ００３」を得ることになる。
【００１９】
続いて、ステップＳ２３において、インスタンス情報４１３に対応するインスタンスＩＤ５０１がある場合はステップＳ２５へ進み、インスタンス情報４１３に対応するインスタンスＩＤ５０１が無い場合にはステップＳ２４へ進む。
ステップＳ２４において、状態遷移管理部１２２が、ステップＳ２１で取得されたインスタンス情報４１３とこのインスタンス情報４１３に対応する新たなインスタンスＩＤ５０１とをインスタンス管理テーブルに登録し、登録したインスタンスＩＤ５０１を取得する。
ステップＳ２５において、状態遷移管理部１２２が、図７に示す状態管理テーブルからインスタンスＩＤ５０１に対応したインスタンスの状態ＩＤ６０１を取得し、ステップＳ２６へ進む。
図７は、状態管理テーブルの説明図であり、図８は、状態定義情報テーブルの説明図である。
図７に示すように、状態管理テーブルは、インスタンスＩＤ５０１とインスタンスの状態ＩＤ６０１とが対応付けられて構成されおり、図８に示すように、状態定義情報テーブルは、インスタンスの状態ＩＤ６０１とインスタンスの状態７０１とが対応付けられて構成されている。
例えば、インスタンスＩＤ５０１として「Ｉ００３」を識別子とした場合、インスタンスの状態ＩＤ６０１として「Ｓ００４」を得る。
【００２０】
ステップＳ２６において、インスタンスＩＤ５０１に対応したインスタンスの状態ＩＤ６０１がある場合は、このインスタンスの状態ＩＤ６０１を取得し、ステップＳ２７へ進む。
ステップＳ２７において、イベント処理部１２１が、図８に示す状態定義情報テーブルからステップＳ２７で取得した状態ＩＤ６０１に対応したインスタンスの状態７０１を取得し、処理が終了する。
【００２１】
一方、ステップＳ２６において、インスタンスの状態ＩＤ６０１が無い場合は、ステップＳ２８へ進む。
ステップＳ２８において、状態遷移管理部１２２が、図７の状態管理テーブルに新たなインスタンスＩＤ５０１とインスタンスの初期状態の状態ＩＤ６０１とを登録し、登録したインスタンスの状態ＩＤ６０１を取得し、この後、ステップＳ２７において、イベント処理部１２１が、取得した状態ＩＤ６０１に対応したインスタンスの状態７０１を取得し、処理が終了する。
【００２２】
次に、図３のステップＳ１３で説明したイベント処理部１２１がルールのリストを取得する詳細な動作について説明する。
図９は、イベント処理部１２１がルールのリストを取得する動作手順を示すフローチャートである。
ステップＳ３１において、イベント処理部１２１がイベントログ４０１からイベント種別４１２を取得する。例えば、図４に示すイベントログ４０１が行４２１の場合、イベント種別４１２として「Ｒｅｌｅａｓｅ」を得る。
ステップＳ３２において、イベント処理部１２１が、図１０に示す状態遷移表を参照し、インスタンスの状態（状態ＩＤ）とイベント種別４１２に対応するルールを全てルールのリストとして取得し、処理が終了する。
【００２３】
図１０は、状態遷移表の説明図である。図１０において、状態遷移表は、インスタンスの状態ＩＤ６０１とイベント種別４１２とにより構成されており、それぞれ状態ＩＤ６０１とイベント種別４１２とに対応したルールが記述された構成となっている。例えば、インスタンスの状態ＩＤ６０１が「Ｓ００４」、イベント種別４１２が「Ｒｅｌｅａｓｅ」の場合、ルールとしては「Ｃ００２／Ａ００３／Ｓ００１」、「Ｃ００３／Ａ００４／Ｓ００１」、「Ｃ００４／Ａ００５／Ｓ００１」、「Ｃ００５／Ａ００６／Ｓ００１」を得ることができる。
ここで、ルール「Ｃ００２／Ａ００３／Ｓ００１」において、Ｃ００２は業務イベントを特定するための条件の条件ＩＤを表し、Ａ００３は条件を満たした時に行うアクションのアクションＩＤを表し、Ｓ００１は条件を満たした時のインスタンスの遷移先の遷移先状態ＩＤを表している。
【００２４】
次に、図３のステップＳ１５で説明したイベント処理部１２１が条件のマッチングを行う詳細な動作について説明する。
図１１は、イベント処理部１２１が条件のマッチングを行う動作手順を示すフローチャートである。
ステップＳ４１において、イベント処理部１２１が、図１０に示す状態遷移表のルールのリストからルールを取得する。例えば、ルールのリストが「Ｃ００２／Ａ００３／Ｓ００１」、「Ｃ００３／Ａ００４／Ｓ００１」、「Ｃ００４／Ａ００５／Ｓ００１」、「Ｃ００５／Ａ００６／Ｓ００１」の場合、まず、「Ｃ００２／Ａ００３／Ｓ００１」のルールを取得する。
ステップＳ４２において、イベント処理部１２１が、取得したルールから条件ＩＤを取得する。例えば、ルールが「Ｃ００２／Ａ００３／Ｓ００１」の場合、条件ＩＤとしては「Ｃ００２」を得る。
【００２５】
ステップＳ４３において、イベント処理部１２１が、図１２に示す条件定義情報を参照し、条件ＩＤ７０１に対応する全ての条件式７０２を取得する。
条件定義情報は、業務イベントを特定するための条件を定義した定義情報であり、図１２に示すように、条件ＩＤ７０１と条件式７０２とが対応付けられて構成されている。例えば、条件ＩＤ７０１として「Ｃ００２」を識別子とした場合、条件式７０２としては「注文テーブル．電話番号＝イベント．電話番号」、かつ、「注文テーブル．受付時刻＞未確定イベント（1）．発生時刻」、かつ、「注文テーブル．受付時刻＜イベント．発生時刻」を得ることができる。
【００２６】
図１２の条件定義情報の中で、イベントはイベントログ４０１を意味し、未確定イベント（Ｎ）は後述する未確定イベント管理テーブル上のインスタンスに対応するＮ番目の未確定イベントを意味し、注文テーブルは業務ＤＢ２２２に業務情報として保存されているテーブルを意味している。なお、業務ＤＢ２２２中に業務情報として保存されているテーブルには、この注文テーブルの他に見積受付テーブルなど各業務別のテーブルが保存されている。
【００２７】
未確定イベント管理テーブルは、図１３に示すようにインスタンスＩＤ５０１とイベントログ４０１とが対応付けられて構成されている。
業務ＤＢ２２２は、図１４に示すような注文テーブルを持ち、注文テーブルは、注文番号９０１、受付時刻９０２、顧客番号９０３、氏名９０４、電話番号９０５、製品番号９０６とが対応付けられて構成されている。
例えば、図４のイベントログ４０１が行４２１の場合、
「イベント．電話番号  ＝  090-xxxx-xxxx」  
「イベント．発生時刻  ＝  2007/ 11/01 13:20:00」
となる。
また、例えば、図１３のイベントログ４０１のインスタンスＩＤ５０１が「Ｉ００３」の場合、
「未確定イベント（1）．発生時刻  ＝  2007/ 11/01 13:10:12」
となる。
【００２８】
図１１のフローチャートに戻り、ステップＳ４４において、業務情報参照部１２３が、業務ＤＢ２２２上の業務情報の状態を参照し、ステップＳ４３で取得した条件ＩＤ７０１に対応する全ての条件式７０２にマッチしているか判定する。
例えば、図１２に示した条件定義情報の条件式７０２が「注文テーブル．電話番号＝イベント．電話番号」（注文テーブルの電話番号とイベントログの電話番号とが等しく）、かつ、「注文テーブル．受付時刻＞未確定イベント（1）．発生時刻」（注文テーブルの受付時刻が未確定イベント（1）の発生時刻より大きく）、かつ、「注文テーブル．受付時刻＜イベント．発生時刻」（注文テーブルの受付時刻がイベントログの発生時刻より小さい）であり、イベントが図４に示すイベントログ４０１の行４２１であり、未確定イベントが図１３に示す未確定イベント管理テーブルの行８０１であり、注文テーブルの状態が図１４に示す注文テーブルである場合、条件式は、「注文テーブル．電話番号＝090-xxxx-xxxx」、かつ、「注文テーブル．受付時刻＞2007/ 11/01 13:10:12」、かつ、「注文テーブル．受付時刻＜2007/ 11/01 13:20:00」となる。
【００２９】
図１４に示す注文テーブルの電話番号を記述する欄９０５が「090-xxxx-xxxx」に一致する行があり、かつ、受付時刻を記述する欄９０２が、「2007/ 11/01 13:10:12」より大きく（「2007/ 11/01 13:10:12」より後）、「2007/ 11/01 13:20:00」より小さい（「2007/ 11/01 13:20:00」より前）の行がある場合、この行、即ち図１４の注文テーブルの注文番号５の行９０７が全ての条件にマッチしていると判定する。
【００３０】
ステップＳ４５において、業務情報の状態が全ての条件式にマッチした場合、処理を終了する。
このように、図１０の状態遷移表のルールリストのルールから取得した条件ＩＤに一致するすべての条件式に業務情報の状態がマッチすることが確認されると、イベント処理部１２１が条件のマッチングを行う動作は終了する。
一方、条件式にマッチしなかった場合、ステップＳ４６へ進む。
ステップＳ４６において、まだ処理していないルールがルールのリストにある場合、ステップＳ４１へ進み、まだ処理をしていないルールについて同様の処理を行う。処理していないルールが無い場合、処理を終了する。
【００３１】
次に、図３のステップＳ１７で説明したイベント処理部１２１が、業務イベントの抽出を行う詳細な動作について説明する。
図１５は、イベント処理部１２１が業務イベントの抽出を行う動作手順を示すフローチャートである。
ステップＳ５１おいて、イベント処理部１２１が、図１１のステップＳ４５でマッチした条件式に対応する条件ＩＤを持つルールから、アクションＩＤを取得する。
例えば、図１２に示した条件定義情報の条件式７０２が、「注文テーブル．電話番号＝イベント．電話番号」、かつ、「注文テーブル．受付時刻＞未確定イベント（1）．発生時刻」、かつ、「注文テーブル．受付時刻＜イベント．発生時刻」である場合、対応する条件ＩＤ７０１が「Ｃ００２」であり、条件ＩＤ７０１が「Ｃ００２」であるルールは、図１０から「Ｃ００２／Ａ００３／Ｓ００１」であることがわかるため、ルール「Ｃ００２／Ａ００３／Ｓ００１」から、アクションＩＤ「Ａ００３」を得る。
【００３２】
ステップＳ５２において、イベント処理部１２１が図１６のアクション定義情報を参照し、アクションＩＤに対応する全てのアクションのリストを取得する。
アクション定義情報は、例えば、図１６に示すようにアクションＩＤ１００１とアクション１００２とが対応付けられて構成されている。例えば、アクションＩＤ１００１が「Ａ００３」の場合、アクション１００２としては「未確定イベント出力（1、”注文受付開始”）」、「業務イベント出力（”注文受付完了”）」のリストを得ることができる。
ステップＳ５３において、アクション１００２のリストがある場合、ステップＳ５４へ進む。アクション１００２のリストが空の場合、図３のステップＳ１８でインスタンスの状態を遷移する業務イベント抽出の処理へ進む。
【００３３】
ステップＳ５４において、イベント処理部１２１が、アクション１００２のリストからアクション１００２を取得する。
ステップＳ５５において、アクション１００２が「未確定イベント登録」である場合、ステップＳ５６へ進む。一方、アクション１００２が「未確定イベント登録」でない場合、ステップＳ５７へ進む。
ステップＳ５６において、未確定イベント管理部１２４が、図１３の未確定イベント管理テーブルに、イベントログ４２１を未確定イベントとして登録する。ここで、アクション１００２が「未確定イベント登録（）」の場合、図４のイベントログ４２１を未確定イベントとして、図１３の未確定イベント管理テーブルに登録する。
ステップＳ５７において、アクション１００２が「未確定イベント削除」である場合、ステップＳ５８へ進む。また、アクション１００２が「未確定イベント削除」でない場合、ステップＳ５９へ進む。
【００３４】
ステップＳ５８において、未確定イベント管理部１２４が、図１３の未確定イベント管理テーブルから該当するイベントログ４０１を削除する。
アクション１００２が「未確定イベント削除（Ｎ）」の場合、このインスタンスが持つＮ番目の未確定イベントを削除する。これは、例えば、インスタンスＩＤ５０１が「Ｉ００３」でアクション１００２が「未確定イベント削除（1）」の場合、未確定イベント管理テーブルからイベントログ４０１「2007/ 11/01 13:10:12, Establish, TelNo003, 090-xxxx-xxxx, OperatorＩＤ003」を削除する。
ステップＳ５９において、アクション１００２が「未確定イベント出力」である場合、ステップＳ６０へ進む。アクション１００２が「未確定イベント出力」でない場合、ステップＳ６２へ進む。
【００３５】
ステップＳ６０において、未確定イベント管理部１２４が、図１３の未確定イベント管理テーブルのイベントログ４０１を業務イベントとして、業務イベント出力部１３０に出力する。
アクション１００２が、「未確定イベント出力（Ｎ，”業務イベント名”）」の場合、このインスタンスが持つＮ番目の未確定イベントを業務イベントとして、業務イベント出力部１３０に出力する。例えば、インスタンスＩＤ５０１が「Ｉ００３」でアクション１００２が「未確定イベント出力（1、”注文受付開始”）」の場合、図１３の未確定イベント管理テーブルからイベントログとして「2007/ 11/01 13:10:12, Establish, TelNo003, 090-xxxx-xxxx, OperatorＩＤ003」を取得し、業務イベント「2007/ 11/01 13:10:12, 注文受付開始, TelNo003, 090-xxxx-xxxx, OperatorＩＤ003」を生成し、業務イベント出力部１３０に出力する。
【００３６】
ステップＳ６１において、未確定イベント管理部１２４が、図１３の未確定イベント管理テーブルから、前述するステップＳ６０で業務イベントとして出力した未確定イベントを削除する。例えば、前述するステップＳ６１で出力したイベントログ「2007/ 11/01 13:10:12, Establish, TelNo003, 090-xxxx-xxxx, OperatorＩＤ003」を、図１３の未確定イベント管理テーブルから削除する。
ステップＳ６２において、アクション１００２が「業務イベント出力」である場合、ステップＳ６３へ進む。アクション１００２が「業務イベント出力」でない場合、ステップＳ６４へ進む。
【００３７】
ステップＳ６３において、イベント処理部１２１が、イベントログを業務イベントとして業務イベント出力部１３０に出力する。
アクション１００２が「業務イベント出力（”業務イベント名”）」の場合、イベントログを業務イベントとして業務イベント出力部１３０に出力する。例えば、アクション１００２が「業務イベント出力（”注文受付完了”）」の場合、業務イベント「2007/ 11/01 13:20:00, 注文受付完了, TelNo003, 090-xxxx-xxxx, OperatorＩＤ 003」を生成し、業務イベント出力部１３０に出力する。
ステップＳ６４において、前述するステップＳ５４で取得したアクション１００２がある場合、ステップＳ５４へ戻る。一方、アクション１００２が無い場合、図３のステップＳ１８でインスタンスの状態を遷移する業務イベント抽出の処理へ進む。
【００３８】
次に、図３のステップＳ１８でインスタンスの状態を遷移する、即ち、インスタンスＩＤ５０１に一致する状態ＩＤ６０１を更新する時の詳細な動作について説明する。
図１７は、インスタンスの状態を遷移する動作手順を示すフローチャートである。
ステップＳ７１において、イベント処理部１２１が、図１１のステップＳ４４でマッチングした条件式に対応する条件ＩＤを持つルールから、インスタンスの遷移先の状態を表す遷移先状態ＩＤを取得する。
例えば、図１２に示した条件定義情報の条件式７０２が「注文テーブル．電話番号＝イベント．電話番号」、かつ、「注文テーブル．受付時刻＞未確定イベント（1）．発生時刻」、かつ、「注文テーブル．受付時刻＜イベント．発生時刻」である場合、対応する条件ＩＤ７０１は「Ｃ００２」であり、条件ＩＤ７０１として「Ｃ００２」を持つルールは「Ｃ００２／Ａ００３／Ｓ００１」であるため、ルール「Ｃ００２／Ａ００３／Ｓ００１」から、状態ＩＤ「Ｓ００1」を得ることができる。
【００３９】
ステップＳ７２において、状態遷移管理部１２２が、図５のステップＳ２２で取得したインスタンスＩＤ５０１に対応する状態ＩＤ６０１のインスタンスの状態を、ステップＳ７１で取得した遷移先状態ＩＤに対応するインスタンスの状態に更新する。例えば、インスタンスＩＤが「Ｉ００３」で、状態ＩＤが「Ｓ００４」で、ルールが「Ｃ００２／Ａ００３／Ｓ００１」の場合、インスタンスＩＤ「Ｉ００３」に対応する遷移先状態ＩＤが「Ｓ００４」の状態の「通話中」を、状態ＩＤが「Ｓ００１」の状態の「待機」に更新する。
このようにして、インスタンスの状態を遷移することができる。
【００４０】
前述のとおり、本発明は、イベントログに不足している情報を参照する業務情報参照部１２３と、インスタンスの状態を管理する状態遷移管理部１２２と、イベント発生時に業務プロセスに対応付けられないイベントログを未確定イベントとして管理する未確定イベント管理部１２４とを備えたものである。
業務情報参照部１２３は、業務イベントを抽出するために必要な情報がイベントログに不足している場合に、イベントログの情報を元に業務情報の状態を参照することにより、業務イベントを抽出するために必要な情報を補完するものである。
【００４１】
状態遷移管理部１２２は、イベントログと業務イベントの対応が変化する場合に、インスタンスの状態遷移を管理することにより、業務イベントを抽出するものである。
未確定イベント管理部１２４は、イベントログ発生時点では対応する業務プロセスを特定できない場合に、イベントログを未確定イベントとして管理し、次のイベントログ発生時に発生したイベントの種別と未確定イベントを対応付けることにより、未確定イベントから業務イベントを抽出するものである。
【００４２】
なお、以上の説明の中で、ログは業務アプリケーションの起動や停止、処理の実行状態、実行結果など、業務アプリケーションから出力される情報であり、イベントログ４０１は業務イベント抽出サーバ１００が収集するイベントのことであり、上記のログの情報を含んでいる。
また、イベント種別はログの中に含まれ、イベントの意味を特定するための情報の種類であり、インスタンス毎の状態の管理で状態を遷移させるための情報を含んでいるもので、インスタンス情報４１３はログの中に含まれ、業務毎の案件を識別するための情報である。
【００４３】
以上のように本実施の形態によれば、イベントログに、対応する業務プロセスを特定するために必要な情報が不足している場合においても、業務イベントを抽出することが可能となり、イベントログと対応する業務プロセスの対応が変化する場合においても、業務イベントを抽出することが可能となり、イベントログ発生時点において業務プロセスが開始していない場合においても、業務イベントを抽出することが可能である。
【００４４】
また、システムに固有なイベントログを出力するような業務サーバが、業務プロセスを特定するために必要な情報が不足しているイベントログを出力したとしても、イベントログに業務プロセスを特定するために必要な情報を補完することができ、業務イベントを抽出することが可能であり、対応する業務プロセスが変化するようなイベントログを出力したとしても、インスタンスの状態遷移を管理することができ、業務イベントを抽出することが可能である。
【００４５】
さらに、イベントログ発生時点において業務プロセスが開始されていないようなイベントログを出力したとしても、イベントログを未確定イベントとして管理し、次のイベントログ発生時に発生したイベントの種別と未確定イベントを対応付けることができ、業務イベントを抽出することが可能である。
【図面の簡単な説明】
【００４６】
【図１】実施の形態１の業務イベント抽出システムの構成図。
【図２】実施の形態１における業務イベント抽出サーバの動作手順を示すフローチャート。
【図３】実施の形態１におけるイベント処理部１２１の動作手順を示すフローチャート。
【図４】実施の形態１における業務４００とイベントログ４０１の説明図。
【図５】実施の形態１においてイベント処理部１２１がインスタンスの状態を取得する動作手順を示すフローチャート。
【図６】実施の形態１におけるインスタンス管理テーブルの説明図。
【図７】実施の形態１における状態管理テーブルの説明図。
【図８】実施の形態１における状態定義情報テーブルの説明図。
【図９】実施の形態１においてイベント処理部１２１がルールのリストを取得する動作手順を示すフローチャート。
【図１０】実施の形態１における状態遷移表の説明図。
【図１１】実施の形態１においてイベント処理部１２１が条件のマッチングを行う動作手順を示すフローチャート。
【図１２】実施の形態１における条件定義情報の説明図。
【図１３】実施の形態１における未確定イベント管理テーブルの説明図。
【図１４】実施の形態１において業務ＤＢ２２２に保存された注文テーブルの説明図。
【図１５】実施の形態１においてイベント処理部１２１が業務イベントの抽出を行う動作手順を示すフローチャート。
【図１６】実施の形態１におけるアクション定義情報の説明図。
【図１７】実施の形態１においてインスタンスの状態を遷移する動作手順を示すフローチャート。
【符号の説明】
【００４７】
１００  業務イベント抽出サーバ、１１０  イベントログ収集部、１２０  業務イベント抽出部、１２１  イベント処理部、１２２  状態遷移管理部、１２３  業務情報参照部、１２４  未確定イベント管理部、１３０  業務イベント出力部、１４１  インスタンス管理情報保存部、１４２  未確定イベント管理情報保存部、１５１  状態遷移表保存部、１５２  条件定義情報保存部、１５３  アクション定義情報保存部、１５４  状態定義情報保存部、２００  業務サーバ、２１１、２１２、２１３  業務アプリケーション、２２１  業務ログＤＢ、２２２  業務ＤＢ、３００  業務分析サーバ、３１０  業務分析部、３２１  業務イベントキュー。
【図１】
0005125698.tif 000002
【図２】
0005125698.tif 000003
【図３】
0005125698.tif 000004
【図４】
0005125698.tif 000005
【図５】
0005125698.tif 000006
【図６】
0005125698.tif 000007
【図７】
0005125698.tif 000008
【図８】
0005125698.tif 000009
【図９】
0005125698.tif 000010
【図１０】
0005125698.tif 000011
【図１１】
0005125698.tif 000012
【図１２】
0005125698.tif 000013
【図１３】
0005125698.tif 000014
【図１４】
0005125698.tif 000015
【図１５】
0005125698.tif 000016
【図１６】
0005125698.tif 000017
【図１７】
0005125698.tif 000018