(57)【要約】【課題】ツリー構造のデータの検索を高速化すること。【解決手段】イベント格納処理部１５０がイベントデータをイベント管理ＤＢ１４０に登録する際に、イベントデータ登録部１５１がイベントデータおよび関連する業務データを登録し、イベントデータの登録によって、業務データ間に新たな親子関係が発生した場合に、関連データ更新部１５２が業務データ関連テーブル１４２にパスキャッシュを追加し、イベント管理ＤＢ１４０の中で親子関係に基づいてツリーを構成する業務データをイベント検索部１６０が検索する際に、業務データ関連テーブル１４２を用いて検索する。【選択図】        図２
2006221561.tif 000002
【特許請求の範囲】
【請求項１】
ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索プログラムであって、
前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報を該ツリー構造データ集合の更新とともに更新するデータ関連情報更新手順と、
前記データ関連情報更新手順により更新されたデータ関連情報を用いて前記ツリー検索を行うツリー検索手順と、
をコンピュータに実行させることを特徴とする検索プログラム。
【請求項２】
前記ツリー構造データ集合は、データ間の親子関係に基づき階層構造を構成するデータの集合である階層構造データ集合の部分集合であることを特徴とする請求項１に記載の検索プログラム。
【請求項３】
前記階層構造データ集合に含まれるデータは、業務データに関する情報である業務データ情報であり、
前記ツリー検索手順は、業務データ情報間の親子関係に基づいて、ある業務データ情報に関連する業務データ情報を親から子の方向または子から親の方向へ検索することを特徴とする請求項２に記載の検索プログラム。
【請求項４】
各業務データ情報は、対応する業務データに対する業務処理の実行にともなって発生するイベントの情報であるイベント情報を含み、
前記イベント情報は、各業務データ情報が属するツリー構造データ集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、
前記最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するイベント関連情報検索手順をさらにコンピュータに実行させることを特徴とする請求項３に記載の検索プログラム。
【請求項５】
前記データ関連情報更新手順により更新されるデータ関連情報は、前記階層構造データ集合に属するデータのうち高速検索が必要なデータのみを対象とすることを特徴とする請求項２、３または４に記載の検索プログラム。
【請求項６】
業務データに関する情報に該業務データに対する業務処理の実行によって発生するイベントに関するイベント情報を含めて業務データ情報として管理し、イベントにより結び付けられる業務データ情報間の関係に基づいて業務データ間にまたがる業務プロセスの進捗状況を管理する業務プロセス管理プログラムであって、
業務データ情報間の関係に基づいて構成される業務データ情報ネットワークの一部としてツリーを構成する業務データ情報ツリー集合に含まれる業務データ情報に対して該業務データ情報ツリー集合に含まれる業務データ情報への直接のパスを対応させた業務データ関連情報を該ツリーの更新とともに更新する業務データ関連情報更新手順と、
前記業務データ関連情報更新手順により更新された業務データ関連情報を用いて、前記業務データ情報ツリー集合に含まれるある業務データ情報から該業務データ情報ツリー集合に含まれる業務データ情報を検索する業務プロセス検索を行う業務プロセス検索手順と、
をコンピュータに実行させることを特徴とする業務プロセス管理プログラム。
【請求項７】
前記イベント情報は、各業務データ情報が属する業務データ情報ツリー集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、
前記最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するイベント関連情報検索手順をさらにコンピュータに実行させることを特徴とする請求項６に記載の業務プロセス管理プログラム。
【請求項８】
ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報を該ツリー構造データ集合の更新とともに更新するデータ関連情報更新手順と、
前記データ関連情報更新手順により更新されたデータ関連情報を用いて前記ツリー検索を行うツリー検索手順と、
をコンピュータに実行させる検索プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項９】
ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索方法であって、
前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報を該ツリー構造データ集合の更新とともに更新するデータ関連情報更新工程と、
前記データ関連情報更新工程により更新されたデータ関連情報を用いて前記ツリー検索を行うツリー検索工程と、
を含んだことを特徴とする検索方法。
【請求項１０】
ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索装置であって、
前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させてデータ関連情報として記憶したデータ関連情報記憶手段と、
前記データ関連情報記憶手段により記憶されたデータ関連情報を用いて前記ツリー検索を行うツリー検索手段と、
を備えたことを特徴とする検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索プログラムおよびその記録媒体、検索方法、検索装置ならびに業務データに関する情報に該業務データに対する業務処理の実行によって発生するイベントに関するイベント情報を含めて業務データ情報として管理し、イベントにより結び付けられる業務データ情報間の関係に基づいて業務データ間にまたがる業務プロセスの進捗状況を管理する業務プロセス管理プログラムに関し、特に、ツリーの各パスをたどることなくツリー検索を高速に行うことができる検索プログラムおよびその記録媒体、検索方法、検索装置ならびにツリー検索を高速に行うことによって業務プロセスのトラッキングを高速に行うことができる業務プロセス管理プログラムに関するものである。
【背景技術】
【０００２】
近年、企業内業務のボトルネックを検出し、業務プロセスの改善を支援する業務プロセス管理プログラムが利用されている。かかる業務プロセス管理プログラムでは、複数の業務システムから抽出されるイベントに基づいて業務プロセスのトラッキングを行っている（例えば、特願２００３−３４６２７１参照。）。
【０００３】
図１２は、業務システムから抽出されるイベントに基づいて業務プロセス管理プログラムが行う業務プロセスのトラッキングを説明するための説明図である。同図において、業務プロセス管理プログラムは、受注システムＡ、発注システムＢ、配送システムＣなどの業務システムからイベントを取得し、イベントと業務データに関する情報を対応付けてイベント管理ＤＢ１４０により管理する。
【０００４】
ここで、受注システムＡから取得するイベントとしては、受注伝票の入力や照会などがあり、発注システムＢから取得するイベントとしては、発注伝票の入力や発注品の受け入れなどがある。そして、業務プロセス管理プログラムは、業務システムから取得したイベントに関する情報を受注伝票や発注伝票などの業務データに関する情報に対応付けて業務データ情報としてイベント管理ＤＢ１４０により管理する。
【０００５】
なお、イベント管理ＤＢ１４０によって管理される情報は業務データに関する業務データ情報であるが、ここでは、説明の便宜上、「業務データ情報」を適宜「業務データ」と呼んで説明する。
【０００６】
図１２において、業務データ「受注伝票Ａ１」には「伝票入力」および「照会」のイベントが対応付けられており、「発注伝票Ｂ２」には「発注入力」および「受入」のイベントが対応付けられている。
【０００７】
また、業務データ間には親子間の関係があり、図１２では、破線の矢印によって業務データ間の親子関係を示している。例えば、「受注伝票Ａ１」は「発注伝票Ｂ１」および「発注伝票Ｂ２」を子として有する親であり、「受注伝票Ａ２」は「発注伝票Ｂ２」および「発注伝票Ｂ１」を子として有する親である。
【０００８】
この例では、親子関係は、受注伝票とその受注伝票の受注品に対応して発注された発注品の発注伝票との関係を表わす。すなわち、「受注伝票Ａ１」の受注品に対応して発注された発注品の発注伝票としては、「発注伝票Ｂ１」および「発注伝票Ｂ２」がある。なお、「発注伝票Ｂ１」は「受注伝票Ａ２」の子でもあり、「発注伝票Ｂ１」には「受注伝票Ａ２」の受注品に対応して発注された発注品も含まれる。
【０００９】
このように、業務データ間の親子関係には分岐と合流があり、親の業務データは複数の子を有し、子の業務データは複数の親を有することができる。
【００１０】
業務プロセス管理プログラムは、このような親子関係を有する業務データおよびイベントを用いて複数の業務システムにまたがる業務プロセスの進捗状況を管理する。例えば、図１２のイベント管理ＤＢ１４０を用いて、業務プロセス管理プログラムは、受注−発注−配送という業務システムにまたがる業務プロセスの進捗状況を管理する。
【００１１】
ここで、業務プロセスの進捗状況の管理として、例えば、「受注伝票Ａ２」に関する業務プロセスの状況を確認するために、関連する「配送伝票Ｃ１」、「配送伝票Ｃ２」、「配送伝票Ｃ３」を取得する場合を考える。このとき、業務プロセス管理プログラムは、「受注伝票Ａ２」から親子関係をたどって「配送伝票Ｃ１」、「配送伝票Ｃ２」、「配送伝票Ｃ３」を取得する。
【００１２】
また、逆に、「配送伝票Ｃ３」の受注元を確認するために、関連する「受注伝票Ａ１」、「受注伝票Ａ２」を取得する場合を考える。このとき、業務プロセス管理プログラムは、「配送伝票Ｃ３」から親子関係を逆にたどって「受注伝票Ａ１」、「受注伝票Ａ２」を取得する。
【００１３】
このように、業務プロセス管理プログラムは、イベント管理ＤＢ１４０に含まれる業務データの親子関係をたどって、ある業務データからその業務データに関連する業務データの検索、すなわち、ある業務データをルートとするツリーに含まれる業務データを検索するツリー検索を行っている。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ここで、業務システムの数が少ない場合には、親子関係を順次たどって検索しても検索時間が問題となることはないが、業務システムの数が多くなると、親子関係を順次たどって検索したのでは多くの検索時間が必要になるという問題がある。
【００１５】
また、図１３に示すように、ツリーごとにＩＤを振ることによって検索を高速化しようとすると、業務データＢの「Ｂ００２」のように、複数の親を有する業務データはツリーが不定となるという問題がある。
【００１６】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ツリーの各パスをたどることなくツリー検索を高速に行うことができる検索プログラムおよびその記録媒体、検索方法、検索装置ならびにツリー検索を高速に行うことによって業務プロセスのトラッキングを高速に行うことができる業務プロセス管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するため、請求項１の発明に係る検索プログラムは、ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索プログラムであって、前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報を該ツリー構造データ集合の更新とともに更新するデータ関連情報更新手順と、前記データ関連情報更新手順により更新されたデータ関連情報を用いて前記ツリー検索を行うツリー検索手順と、をコンピュータに実行させることを特徴とする。
【００１８】
この請求項１の発明によれば、ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報をツリー構造データ集合の更新とともに更新し、更新したデータ関連情報を用いてツリー検索を行うよう構成したので、ツリーの各パスをたどることなくツリー検索を行うことができる。
【００１９】
また、請求項２の発明に係る検索プログラムは、請求項１の発明において、前記ツリー構造データ集合は、データ間の親子関係に基づき階層構造を構成するデータの集合である階層構造データ集合の部分集合であることを特徴とする。
【００２０】
この請求項２の発明によれば、ツリー構造データ集合は、データ間の親子関係に基づき階層構造を構成するデータの集合である階層構造データ集合の部分集合であるよう構成したので、階層構造データ集合に含まれる任意のツリー構造データ集合に対してツリー検索を行うことができる。
【００２１】
また、請求項３の発明に係る検索プログラムは、請求項２の発明において、前記階層構造データ集合に含まれるデータは、業務データに関する情報である業務データ情報であり、前記ツリー検索手順は、業務データ情報間の親子関係に基づいて、ある業務データ情報に関連する業務データ情報を親から子の方向または子から親の方向へ検索することを特徴とする。
【００２２】
この請求項３の発明によれば、階層構造データ集合に含まれるデータは、業務データに関する情報である業務データ情報であり、業務データ情報間の親子関係に基づいて、ある業務データ情報に関連する業務データ情報を親から子の方向または子から親の方向へ検索するので、高速なツリー検索によって業務プロセスのトラッキングを行うことができる。
【００２３】
また、請求項４の発明に係る検索プログラムは、請求項３の発明において、各業務データ情報は、対応する業務データに対する業務処理の実行にともなって発生するイベントの情報であるイベント情報を含み、前記イベント情報は、各業務データ情報が属するツリー構造データ集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、前記最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するイベント関連情報検索手順をさらにコンピュータに実行させることを特徴とする。
【００２４】
この請求項４の発明によれば、各業務データ情報は、対応する業務データに対する業務処理の実行にともなって発生するイベントの情報であるイベント情報を含み、イベント情報は、各業務データ情報が属するツリー構造データ集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するよう構成したので、最初および最近処理された業務データを特定することができる。
【００２５】
また、請求項５の発明に係る検索プログラムは、請求項２、３または４の発明において、前記データ関連情報更新手順により更新されるデータ関連情報は、前記階層構造データ集合に属するデータのうち高速検索が必要なデータのみを対象とすることを特徴とする。
【００２６】
この請求項５の発明によれば、更新するデータ関連情報は、階層構造データ集合に属するデータのうち高速検索が必要なデータのみを対象としたので、更新処理を高速に行うことができる。
【００２７】
また、請求項６の発明に係る業務プロセス管理プログラムは、業務データに関する情報に該業務データに対する業務処理の実行によって発生するイベントに関するイベント情報を含めて業務データ情報として管理し、イベントにより結び付けられる業務データ情報間の関係に基づいて業務データ間にまたがる業務プロセスの進捗状況を管理する業務プロセス管理プログラムであって、業務データ情報間の関係に基づいて構成される業務データ情報ネットワークの一部としてツリーを構成する業務データ情報ツリー集合に含まれる業務データ情報に対して該業務データ情報ツリー集合に含まれる業務データ情報への直接のパスを対応させた業務データ関連情報を該ツリーの更新とともに更新する業務データ関連情報更新手順と、前記業務データ関連情報更新手順により更新された業務データ関連情報を用いて、前記業務データ情報ツリー集合に含まれるある業務データ情報から該業務データ情報ツリー集合に含まれる業務データ情報を検索する業務プロセス検索を行う業務プロセス検索手順と、をコンピュータに実行させることを特徴とする。
【００２８】
この請求項６の発明によれば、業務データ情報間の関係に基づいて構成される業務データ情報ネットワークの一部としてツリーを構成する業務データ情報ツリー集合に含まれる業務データ情報に対して業務データ情報ツリー集合に含まれる業務データ情報への直接のパスを対応させた業務データ関連情報をツリーの更新とともに更新し、更新した業務データ関連情報を用いて、業務データ情報ツリー集合に含まれるある業務データ情報から業務データ情報ツリー集合に含まれる業務データ情報を検索する業務プロセス検索を行うよう構成したので、業務データ情報間の関係をたどることなく業務プロセス検索を行うことができる。
【００２９】
また、請求項７の発明に係る業務プロセス管理プログラムは、請求項６の発明において、前記イベント情報は、各業務データ情報が属する業務データ情報ツリー集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、前記最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するイベント関連情報検索手順をさらにコンピュータに実行させることを特徴とする。
【００３０】
この請求項７の発明によれば、イベント情報は、各業務データ情報が属する業務データ情報ツリー集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するので、最初および最近処理された業務データを特定することができる。
【００３１】
また、請求項８の発明に係る記録媒体は、ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索プログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報を該ツリー構造データ集合の更新とともに更新するデータ関連情報更新手順と、前記データ関連情報更新手順により更新されたデータ関連情報を用いて前記ツリー検索を行うツリー検索手順と、をコンピュータに実行させる検索プログラムを記録したことを特徴とする。
【００３２】
この請求項８の発明によれば、ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報をツリー構造データ集合の更新とともに更新し、更新したデータ関連情報を用いてツリー検索を行うよう構成したので、ツリーの各パスをたどることなくツリー検索を行うことができる。
【００３３】
また、請求項９の発明に係る検索方法は、ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索方法であって、前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報を該ツリー構造データ集合の更新とともに更新するデータ関連情報更新工程と、前記データ関連情報更新工程により更新されたデータ関連情報を用いて前記ツリー検索を行うツリー検索工程と、を含んだことを特徴とする。
【００３４】
この請求項９の発明によれば、ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報をツリー構造データ集合の更新とともに更新し、更新したデータ関連情報を用いてツリー検索を行うよう構成したので、ツリーの各パスをたどることなくツリー検索を行うことができる。
【００３５】
また、請求項１０の発明に係る検索装置は、ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索装置であって、前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させてデータ関連情報として記憶したデータ関連情報記憶手段と、前記データ関連情報記憶手段により記憶されたデータ関連情報を用いて前記ツリー検索を行うツリー検索手段と、を備えたことを特徴とする。
【００３６】
この請求項１０の発明によれば、ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させて記憶したデータ関連情報を用いてツリー検索を行うよう構成したので、ツリーの各パスをたどることなくツリー検索を行うことができる。
【発明の効果】
【００３７】
請求項１、８、９および１０の発明によれば、ツリーの各パスをたどることなくツリー検索を行うので、ツリー検索を高速に行うことができるという効果を奏する。
【００３８】
また、請求項２の発明によれば、階層構造データ集合に含まれる任意のツリー構造データ集合に対してツリー検索を行うので、階層構造データ集合に対して高速なツリー検索を行うことができるという効果を奏する。
【００３９】
また、請求項３の発明によれば、高速なツリー検索によって業務プロセスのトラッキングを行うので、業務プロセスのトラッキングを高速に行うことができるという効果を奏する。
【００４０】
また、請求項４および７の発明によれば、最初および最近処理された業務データを特定するので、業務プロセスの進行状況を管理することができるという効果を奏する。
【００４１】
また、請求項５の発明によれば、更新処理を高速に行うので、ツリー処理全体を高速化することができるという効果を奏する。
【００４２】
また、請求項６の発明によれば、業務データ情報間の関係をたどることなく業務プロセス検索を行うので、業務プロセスのトラッキングを高速に行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００４３】
以下に添付図面を参照して、この発明に係る検索プログラムおよびその記録媒体、検索方法、検索装置ならびに業務プロセス管理プログラムの好適な実施例を詳細に説明する。
【実施例】
【００４４】
まず、本実施例に係るツリー検索高速化手法について説明する。図１は、本実施例に係るツリー検索高速化手法を説明するための説明図である。同図に示すように、本実施例では、業務データ「Ａ００１」は、子である業務データ「Ｂ００１」へのパスだけではなく、孫である業務データ「Ｃ００１」および「Ｃ００２」への直接パスを有する。なお、ここでは、「Ｃ００１」のパスのように、複数の親子関係によって間接的に関連がある業務データ間を結ぶ直接パスをパスキャッシュと呼ぶ。
【００４５】
したがって、「Ａ００１」から「Ｃ００１」および「Ｃ００２」を検索する場合には、「Ａ００１」の子である「Ｂ００１」を経由することなく、パスキャッシュを使って「Ｃ００１」および「Ｃ００２」を直接検索することができる。
【００４６】
同様に、業務データ「Ｃ００１」は、親である業務データ「Ｂ００１」へのパスだけではなく、「Ｂ００１」の親である「Ａ００１」へのパスキャッシュを有する。したがって、「Ｃ００１」から「Ａ００１」を検索する場合には、「Ｃ００１」の親である「Ｂ００１」を経由することなく、パスキャッシュを使って「Ａ００１」を直接検索することができる。
【００４７】
このように、本実施例に係るツリー検索では、各業務データが子または親へのパスだけでなく、自分を含むツリーを構成する全ての業務データに対するパスキャッシュを有し、パスキャッシュを用いてツリー内のどの業務データも直接検索する。したがって、親子関係を順にたどって検索する必要がなく、ツリー内のどの業務データも高速に検索することができる。
【００４８】
次に、本実施例に係る業務プロセス管理装置の構成について説明する。図２は、本実施例に係る業務プロセス管理装置の構成を示す機能ブロック図である。同図に示すように、この業務プロセス管理装置１００は、プロセス定義部１１０と、プロセス情報記憶部１２０と、イベント抽出部１３０と、イベント管理ＤＢ１４０と、イベント格納処理部１５０と、イベント検索部１６０と、分析部１７０とを有する。
【００４９】
プロセス定義部１１０は、業務システム間に跨る業務プロセスの定義をユーザから受け付けてプロセス情報記憶部１２０に格納する処理部である。ここで、業務プロセスの定義には、業務データ間の親子関係の定義が含まれる。プロセス情報記憶部１２０は、業務システム間に跨る業務プロセスの定義を記憶する記憶部である。
【００５０】
イベント抽出部１３０は、業務システムが業務データに対して実行する処理に起因して発生するイベントを抽出し、抽出したイベントに関連する業務データの情報をプロセス情報記憶部１２０から取得してイベントデータを生成する処理部である。
【００５１】
イベント管理ＤＢ１４０は、イベントおよび業務データに関する情報を記憶するデータベースであり、このイベント管理ＤＢ１４０には、業務データに関する情報を記憶する業務データテーブル１４１と、パスキャッシュなどの業務データ間の関連（パス）を記憶する業務データ関連テーブル１４２と、イベントに関する情報を記憶するイベントデータテーブル１４３とが含まれる。
【００５２】
図３は、業務データテーブル１４１の一例を示す図である。同図に示すように、この業務データテーブル１４１は、業務データを識別するidと、業務データの種別を示すdataTypeと、業務データのキーを示すdataKeyと、パシキャッシュを有する(TRUE)か否（FALSE)かを示すpathCacheと、自分が含まれるツリーを構成する全ての業務データに属するイベントのうちで最も古いイベントの識別子であるfirstEventIdと、自分が含まれるツリーを構成する全ての業務データに属するイベントのうちで最も新しいイベントの識別子であるlatestEventIdとを業務データごとに記憶する。
【００５３】
図４は、業務データ関連テーブル１４２の一例を示す図である。同図に示すように、この業務データ関連テーブル１４２は、関連元業務データを示すfromIdと、関連先業務データを示すtoIdと、業務データ間の階層差を示すpathDepthと、子から親への関連である(TRUE)か否(FALSE)かを示すisParentとをパスごとに記憶する。なお、この業務データ関連テーブル１４２は、同じ業務データ間のパスをpathDepthを「０」として記憶する。
【００５４】
この業務データ関連テーブル１４２が、親子関係のパスだけでなく、複数の親子関係によって間接的に関連する業務データ間のパスキャッシュを記憶することによって、業務プロセス管理装置１００は、関連する業務データを高速に検索することができる。
【００５５】
図５は、イベントデータテーブル１４３の一例を示す図である。同図に示すように、このイベントデータテーブル１４３は、イベントを識別するidと、イベントが属する業務データを示すbusinessDataIdと、イベントの名前を示すeventNameと、イベントの開始時刻を示すstartTimeと、イベントの終了時刻を示すfinishTimeとをイベントごとに記憶する。
【００５６】
イベント格納処理部１５０は、イベント抽出部１３０が作成したイベントデータをイベント管理ＤＢ１４０に格納するとともに、発生したイベントに関係する業務データの情報をイベント管理ＤＢ１４０に格納する処理部であり、イベントデータ登録部１５１と、関連データ更新部１５２と、イベント更新部１５３とを有する。
【００５７】
イベントデータ登録部１５１は、イベントデータをイベントデータテーブルに登録するとともに、イベントデータに関連する業務データを業務データテーブル１４１に登録する処理部である。
【００５８】
関連データ更新部１５２は、イベントデータの追加にともなって業務データ間に新たな関連が追加された場合に、業務データ関連テーブル１４２を更新する処理部である。この関連データ更新部１５２が、イベントデータの追加にともなって業務データ間に新たな関連が追加された場合に、業務データ関連テーブル１４２を更新することによって、業務プロセス管理装置１００は、ツリー構造を構成する関連業務データを高速に検索することができる。
【００５９】
イベント更新部１５３は、業務データテーブル１４１のfirstEventIdとlatestEventIdとを更新する処理部である。すなわち、このイベント更新部１５３は、業務データが属するツリーに含まれる全ての業務データのイベントのうち最も古いイベントと最も新しいイベントに関する情報を更新する。
【００６０】
イベント検索部１６０は、イベント管理ＤＢ１４０が記憶するイベントや業務データに関する情報を検索する処理部である。このイベント検索部１６０は、業務データ関連テーブル１４２を用いて、ツリーを構成する業務データのうちのある業務データからツリー内の残りの業務データを高速に検索する。
【００６１】
このイベント検索部１６０が、業務データ関連テーブル１４２を用いて、ツリーを構成する業務データのうちのある業務データからツリー内の残りの業務データを高速に検索することによって、業務プロセス管理装置１００は、業務プロセスのトラッキングを高速に行うことができる。
【００６２】
また、このイベント検索部１６０は、特定のツリーに属する業務データのうち業務データテーブル１４１のfirstEventIdおよびlatestEventIdのイベントが属する業務データを検索することによって、最初および最後に処理が行われた業務データを検索する。
【００６３】
このイベント検索部１６０が、特定のツリーに属する業務データのうち最初および最後に処理が行われた業務データを検索することによって、特定の業務プロセスの中で最初および最後に処理が行われた業務データを特定することができる。
【００６４】
分析部１７０は、イベント管理ＤＢ１４０に格納されたイベントや業務データに関する情報を用いて業務プロセスの分析を支援する情報をユーザに提供する処理部である。例えば、この分析部１７０は、イベント検索部１６０に対して業務プロセスのトラッキングを指示し、トラッキング結果を表示装置に表示する。
【００６５】
次に、関連データ更新部１５２による業務データ関連テーブル１４２の更新について図６−１〜図６−６を用いて説明する。図６−１〜図６−６は、関連データ更新部１５２による業務データ関連テーブル１４２の更新を説明するための説明図（１）〜（６）である。なお、ここでは、ツリー構造の最上位層の業務データおよび最下位層の業務データにパスキャッシュを設ける場合について説明する。
【００６６】
例えば、図６−１のような関係の業務データがある場合、業務データ「Ｃ００２」に、「Ｂ００１」への関連データを持ったイベントデータが登録されたとすると、図６−２のように業務データ間にパスが追加される。すなわち、業務データ関連テーブル１４２に、「Ｂ００１」から「Ｃ００２」へのパスと、「Ｃ００２」から「Ｂ００１」へのパスが追加される。
【００６７】
そして、「Ｂ００１」と「Ｃ００１」との間に関連ができたことによって、「Ａ００１」および「Ｄ００１」のパスキャッシュを更新する。すなわち、図６−３のように、イベントを登録した業務データ「Ｃ００２」よりも子（child）方向の業務データ「Ｄ００１」、および、新しく登録された関連データ「Ｂ００１」に対して、子（child）方向のパスキャッシュがある業務データ「Ａ００１」を検索する。そして、図６−４のように、「Ａ００１」のパスキャッシュとして、「Ｃ００２」および「Ｄ００１」へのパスを業務データ関連テーブル１４２に追加する。
【００６８】
同様に、図６−５のように、イベントを登録した業務データ「Ｃ００２」よりも親（parent）方向の業務データ「Ａ００１」、および、イベントを登録した業務データ「Ｃ００２」に対して、親（parent）方向のパスキャッシュがある業務データ「Ｄ００１」を検索する。そして、図６−６のように、「Ｄ００１」のパスキャッシュとして、「Ｂ００１」および「Ａ００１」へのパスを業務データ関連テーブル１４２に追加する。
【００６９】
このような手順でパスキャッシュを更新することにより、関連データ更新部１５２は、イベントデータの登録順に左右されずにパスキャッシュを正しく更新していくことが可能となる。
【００７０】
また、図６−７は、パスキャッシュを使った高速検索例を示す図である。同図に示すように、イベント検索部１６０は、パスキャッシュを用いることによって、例えば業務データ「Ａ００１」に関連する業務データ、すなわち、「Ａ００１」をルートとするツリー構造に含まれる業務データ「Ｂ００１」、「Ｃ００１」、「Ｃ００２」および「Ｄ００１」を、ツリーを順番にたどることなく高速に取得することができる。
【００７１】
次に、図２に示したイベント格納処理部１５０によるイベント格納処理の処理手順について説明する。図７は、図２に示したイベント格納処理部１５０によるイベント格納処理の処理手順を示すフローチャートである。
【００７２】
同図に示すように、このイベント格納処理では、イベントデータ登録部１５１がイベント抽出部１３０から受け取ったイベントデータをイベント管理ＤＢ１４０に登録する（ステップＳ１０１）。ここで、イベントデータ登録部１５１は、登録するイベントデータに関連する業務データもイベント管理ＤＢ１４０に登録する。
【００７３】
そして、関連データ更新部１５２がパスキャッシュを更新する（ステップＳ１０２）。すなわち、関連データ更新部１５２は、業務データ関連テーブル１４２にパスキャッシュを追加する。そして、イベント更新部１５３が業務データテーブル１４１のfirstEventIdとlatestEventIdを更新する（ステップＳ１０３）。
【００７４】
このように、イベント格納処理において関連データ更新部１５２がパスキャッシュを更新することによって、イベント検索部１６０は、業務データのツリーを検索する際に、ツリーを順番にたどることなく高速に検索することができる。
【００７５】
次に、イベントデータ登録部１５１によるイベントデータ登録処理の処理手順について説明する。なお、このイベントデータ登録処理は、図７のステップＳ１０１の処理に対応する。
【００７６】
図８は、イベントデータ登録部１５１によるイベントデータ登録処理の処理手順を示すフローチャートである。同図に示すように、イベントデータ登録部１５１は、イベントが属する業務データをイベント管理ＤＢ１４０から検索し（ステップＳ２０１）、業務データがイベント管理ＤＢ１４０にあるか否かを判定する（ステップＳ２０２）。
【００７７】
その結果、業務データがイベント管理ＤＢ１４０にない場合には、業務データをイベント管理ＤＢ１４０に追加する（ステップＳ２０３）。また、イベントデータにイベントと関連する業務データがあるか否かを判定し（ステップＳ２０４）、関連する業務データがある場合には、関連する業務データおよび関連するパスをイベント管理ＤＢ１４０に追加する（ステップＳ２０５）。なお、関連する業務データがイベント管理ＤＢ１４０にある場合には、関連するパスの追加だけを行う。また、ここでは、関連するパスの追加は、イベントデータに含まれる直接の関連だけについて行う。
【００７８】
そして、イベントデータをイベント管理ＤＢ１４０から検索し（ステップＳ２０６）、イベントデータがイベント管理ＤＢ１４０にあるか否かを判定する（ステップＳ２０７）。その結果、イベントデータがイベント管理ＤＢ１４０にない場合には、イベントデータをイベント管理ＤＢ１４０に追加する（ステップＳ２０８）。
【００７９】
このように、イベントデータ登録部１５１がイベント管理ＤＢ１４０にイベントデータおよび関連する業務データを登録することによって、業務プロセス管理装置１００は、業務プロセスのトラッキングを行うことができる。
【００８０】
次に、関連データ更新部１５２によるパスキャッシュ更新処理の処理手順について説明する。なお、このパスキャッシュ更新処理は、図７のステップＳ１０２の処理に対応する。
【００８１】
図９は、関連データ更新部１５２によるパスキャッシュ更新処理の処理手順を示すフローチャートである。同図に示すように、関連データ更新部１５２は、パスキャッシュの更新が必要であるか否かを判定し（ステップＳ３０１）、パスキャッシュの更新が必要でない場合には、処理を終了する。
【００８２】
一方、パスキャッシュの更新が必要である場合には、関連が追加されて親子関係となった二つの業務データのうち子業務データに対して子業務データとなる業務データを検索し（ステップＳ３０２）、また、関連が追加されて親子関係となった業務データのうち親業務データに対して親業務データとなる業務データを検索する（ステップＳ３０３）。そして、ステップＳ３０３で検索した業務データからステップＳ３０２で検索した業務データへのパスキャッシュを追加する（ステップＳ３０４）。すなわち、ツリーの親側から子側へのパスキャッシュを追加する。
【００８３】
また、関連が追加されて親子関係となった二つの業務データのうち親業務データに対して親業務データとなる業務データを検索し（ステップＳ３０５）、また、関連が追加されて親子関係となった業務データのうち子業務データに対して子業務データとなる業務データを検索する（ステップＳ３０６）。そして、ステップＳ３０６で検索した業務データからステップＳ３０５で検索した業務データへのパスキャッシュを追加する（ステップＳ３０７）。すなわち、ツリーの子側から親側へのパスキャッシュを追加する。
【００８４】
このように、関連データ更新部１５２が、イベントの登録によって業務データ間に新たな親子関係が発生した場合に、親子関係の発生にともなって必要となるパスキャッシュを探索して業務データ関連テーブル１４２に追加することによって、イベント検索部１６０は、業務データのツリーを検索する際に、ツリーを順番にたどることなく高速に検索することができる。
【００８５】
次に、イベント更新部１５３によるイベント更新処理の処理手順について説明する。ここで、イベント更新処理とは、業務プロセスの中で最初に発生したイベント（最初のイベント）と最も新しいイベント（最後のイベント）を記録する処理であり、具体的には、業務データテーブル１４１のfirstEventIdとlatestEventIdを更新する処理である。また、このイベント更新処理は、図７のステップＳ１０３の処理に対応する。
【００８６】
図１０は、イベント更新部１５３によるイベント更新処理の処理手順を示すフローチャートである。同図に示すように、イベント更新部１５３は、関連が追加されて親子関係となった二つの業務データのグループのうち子グループの業務データの中での最初と最後のイベントを検索し（ステップＳ４０１）、親グループのそれぞれの業務データテーブル１４１のfirstEventIdおよびlatestEventIdと比較する（ステップＳ４０２）。
【００８７】
そして、親グループのそれぞれの業務データテーブル１４１のfirstEventIdおよびlatestEventIdの更新が必要であるか否かを判定し（ステップＳ４０３）、更新の必要なものがある場合には、業務データテーブル１４１のfirstEventIdおよびlatestEventIdを更新する（ステップＳ４０４）。
【００８８】
また、関連が追加されて親子関係となった二つの業務データのグループのうち親グループの業務データの中での最初と最後のイベントを検索し（ステップＳ４０５）、子グループのそれぞれの業務データテーブル１４１のfirstEventIdおよびlatestEventIdと比較する（ステップＳ４０６）。
【００８９】
そして、子グループのそれぞれの業務データテーブル１４１のfirstEventIdおよびlatestEventIdの更新が必要であるか否かを判定し（ステップＳ４０７）、更新の必要なものがある場合には、親グループのそれぞれの業務データの最初のイベントと最後のイベントを更新する（ステップＳ４０８）。
【００９０】
このように、イベント更新部１５３が、イベントの登録によって業務データ間に新たな親子関係が発生した場合に、業務データテーブル１４１のfirstEventIdおよびlatestEventIdを更新することによって、業務プロセス管理装置１００は、業務プロセスで最初に発生したイベントおよび最新のイベントを把握することができる。
【００９１】
上述してきたように、本実施例では、イベント格納処理部１５０がイベントデータをイベント管理ＤＢ１４０に登録する際に、イベントデータ登録部１５１がイベントデータおよび関連する業務データを登録し、イベントデータの登録によって、業務データ間に新たな親子関係が発生した場合に、関連データ更新部１５２が業務データ関連テーブル１４２にパスキャッシュを追加することとしたので、イベント検索部１６０が業務データのツリーを検索する際に、業務データ関連テーブル１４２を用いて、ツリーを順番にたどることなく高速に検索することができる。
【００９２】
なお、本実施例では、業務プロセス管理装置においてツリー構造のデータを検索する場合について説明したが、本発明はこれに限定されるものではなく、一般的に、ツリー構造のデータを検索する場合に同様に適用することができる。
【００９３】
また、本実施例では、業務プロセス管理装置について説明したが、業務プロセス管理装置が有する構成をソフトウェアによって実現することで、同様の機能を有する業務プロセス管理プログラムを得ることができる。そこで、この業務プロセス管理プログラムを実行するコンピュータについて説明する。
【００９４】
図１１は、本実施例に係る業務プロセス管理プログラムを実行するコンピュータの構成を示す機能ブロック図である。同図に示すように、このコンピュータ２００は、ＲＡＭ２１０と、ＣＰＵ２２０と、ＨＤＤ２３０と、ＬＡＮインタフェース２４０と、入出力インテフェース２５０と、ＤＶＤドライブ２６０とを有する。
【００９５】
ＲＡＭ２１０は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、ＣＰＵ２２０は、ＲＡＭ２１０からプログラムを読み出して実行する中央処理装置である。
【００９６】
ＨＤＤ２３０は、プログラムやデータを格納するディスク装置であり、ＬＡＮインタフェース２４０は、コンピュータ２００をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。
【００９７】
入出力インタフェース２５０は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、ＤＶＤドライブ２６０は、ＤＶＤの読み書きを行う装置である。
【００９８】
そして、このコンピュータ２００において実行される業務プロセス管理プログラム２１１は、ＤＶＤに記憶され、ＤＶＤドライブ２６０によってＤＶＤから読み出されてコンピュータ２００にインストールされる。
【００９９】
あるいは、この業務プロセス管理プログラム２１１は、ＬＡＮインタフェース２４０を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ２００にインストールされる。
【０１００】
そして、インストールされた業務プロセス管理ログラム２１１は、ＨＤＤ２３０に記憶され、ＲＡＭ２１０に読み出されてＣＰＵ２２０によって業務プロセス管理プロセス２２１として実行される。
【０１０１】
（付記１）ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索プログラムであって、
前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報を該ツリー構造データ集合の更新とともに更新するデータ関連情報更新手順と、
前記データ関連情報更新手順により更新されたデータ関連情報を用いて前記ツリー検索を行うツリー検索手順と、
をコンピュータに実行させることを特徴とする検索プログラム。
【０１０２】
（付記２）前記ツリー構造データ集合は、データ間の親子関係に基づき階層構造を構成するデータの集合である階層構造データ集合の部分集合であることを特徴とする付記１に記載の検索プログラム。
【０１０３】
（付記３）前記階層構造データ集合に含まれるデータは、業務データに関する情報である業務データ情報であり、
前記ツリー検索手順は、業務データ情報間の親子関係に基づいて、ある業務データ情報に関連する業務データ情報を親から子の方向または子から親の方向へ検索することを特徴とする付記２に記載の検索プログラム。
【０１０４】
（付記４）各業務データ情報は、対応する業務データに対する業務処理の実行にともなって発生するイベントの情報であるイベント情報を含み、
前記イベント情報は、各業務データ情報が属するツリー構造データ集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、
前記最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するイベント関連情報検索手順をさらにコンピュータに実行させることを特徴とする付記３に記載の検索プログラム。
【０１０５】
（付記５）前記データ関連情報更新手順により更新されるデータ関連情報は、前記階層構造データ集合に属するデータのうち高速検索が必要なデータのみを対象とすることを特徴とする付記２、３または４に記載の検索プログラム。
【０１０６】
（付記６）業務データに関する情報に該業務データに対する業務処理の実行によって発生するイベントに関するイベント情報を含めて業務データ情報として管理し、イベントにより結び付けられる業務データ情報間の関係に基づいて業務データ間にまたがる業務プロセスの進捗状況を管理する業務プロセス管理プログラムであって、
業務データ情報間の関係に基づいて構成される業務データ情報ネットワークの一部としてツリーを構成する業務データ情報ツリー集合に含まれる業務データ情報に対して該業務データ情報ツリー集合に含まれる業務データ情報への直接のパスを対応させた業務データ関連情報を該ツリーの更新とともに更新する業務データ関連情報更新手順と、
前記業務データ関連情報更新手順により更新された業務データ関連情報を用いて、前記業務データ情報ツリー集合に含まれるある業務データ情報から該業務データ情報ツリー集合に含まれる業務データ情報を検索する業務プロセス検索を行う業務プロセス検索手順と、
をコンピュータに実行させることを特徴とする業務プロセス管理プログラム。
【０１０７】
（付記７）前記イベント情報は、各業務データ情報が属する業務データ情報ツリー集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、
前記最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するイベント関連情報検索手順をさらにコンピュータに実行させることを特徴とする付記６に記載の業務プロセス管理プログラム。
【０１０８】
（付記８）前記業務データ関連情報更新手順により更新される業務データ関連情報は、前記業務データ情報ネットワークを構成する業務データ情報のうち最上位階層または最下位階層に属する業務データ情報のみを対象とすることを特徴とする付記６または７に記載の業務プロセス管理プログラム。
【０１０９】
（付記９）ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報を該ツリー構造データ集合の更新とともに更新するデータ関連情報更新手順と、
前記データ関連情報更新手順により更新されたデータ関連情報を用いて前記ツリー検索を行うツリー検索手順と、
をコンピュータに実行させる検索プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【０１１０】
（付記１０）ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索方法であって、
前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させたデータ関連情報を該ツリー構造データ集合の更新とともに更新するデータ関連情報更新工程と、
前記データ関連情報更新工程により更新されたデータ関連情報を用いて前記ツリー検索を行うツリー検索工程と、
を含んだことを特徴とする検索方法。
【０１１１】
（付記１１）前記ツリー構造データ集合は、データ間の親子関係に基づき階層構造を構成するデータの集合である階層構造データ集合の部分集合であることを特徴とする付記１０に記載の検索方法。
【０１１２】
（付記１２）前記階層構造データ集合に含まれるデータは、業務データに関する情報である業務データ情報であり、
前記ツリー検索工程は、業務データ情報間の親子関係に基づいて、ある業務データ情報に関連する業務データ情報を親から子の方向または子から親の方向へ検索することを特徴とする付記１１に記載の検索方法。
【０１１３】
（付記１３）各業務データ情報は、対応する業務データに対する業務処理の実行にともなって発生するイベントの情報であるイベント情報を含み、
前記イベント情報は、各業務データ情報が属するツリー構造データ集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、
前記最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するイベント関連情報検索工程をさらに含んだことを特徴とする付記１２に記載の検索方法。
【０１１４】
（付記１４）前記データ関連情報更新工程により更新されるデータ関連情報は、前記階層構造データ集合に属するデータのうち高速検索が必要なデータのみを対象とすることを特徴とする付記１０、１１または１２に記載の検索方法。
【０１１５】
（付記１５）業務データに関する情報に該業務データに対する業務処理の実行によって発生するイベントに関するイベント情報を含めて業務データ情報として管理し、イベントにより結び付けられる業務データ情報間の関係に基づいて業務データ間にまたがる業務プロセスの進捗状況を管理する業務プロセス管理方法であって、
業務データ情報間の関係に基づいて構成される業務データ情報ネットワークの一部としてツリーを構成する業務データ情報ツリー集合に含まれる業務データ情報に対して該業務データ情報ツリー集合に含まれる業務データ情報への直接のパスを対応させた業務データ関連情報を該ツリーの更新とともに更新する業務データ関連情報更新工程と、
前記業務データ関連情報更新工程により更新された業務データ関連情報を用いて、前記業務データ情報ツリー集合に含まれるある業務データ情報から該業務データ情報ツリー集合に含まれる業務データ情報を検索する業務プロセス検索を行う業務プロセス検索工程と、
を含んだことを特徴とする業務プロセス管理方法。
【０１１６】
（付記１６）ツリーを構成するデータの集合であるツリー構造データ集合に属するデータを検索するツリー検索を行う検索装置であって、
前記ツリーのルートのデータに対してツリー構造データ集合に含まれる全てのデータへの直接のパスに関する情報を対応させてデータ関連情報として記憶したデータ関連情報記憶手段と、
前記データ関連情報記憶手段により記憶されたデータ関連情報を用いて前記ツリー検索を行うツリー検索手段と、
を備えたことを特徴とする検索装置。
【０１１７】
（付記１７）前記ツリー構造データ集合は、データ間の親子関係に基づき階層構造を構成するデータの集合である階層構造データ集合の部分集合であることを特徴とする付記１６に記載の検索装置。
【０１１８】
（付記１８）前記階層構造データ集合に含まれるデータは、業務データに関する情報である業務データ情報であり、
前記ツリー検索手段は、業務データ情報間の親子関係に基づいて、ある業務データ情報に関連する業務データ情報を親から子の方向または子から親の方向へ検索することを特徴とする付記１７に記載の検索装置。
【０１１９】
（付記１９）各業務データ情報は、対応する業務データに対する業務処理の実行にともなって発生するイベントの情報であるイベント情報を含み、
前記イベント情報は、各業務データ情報が属するツリー構造データ集合に含まれる全ての業務データ情報に対応する業務データに対して実行された業務処理によって発生するイベントのうちの最初のイベントおよび最新のイベントに関する情報を含み、
前記最初のイベントおよび最新のイベントを発生させた業務処理の実行の対象となった業務データに関する業務データ情報を検索するイベント関連情報検索手段をさらに備えたことを特徴とする付記１８に記載の検索装置。
【０１２０】
（付記２０）前記データ関連情報記憶手段により記憶されるデータ関連情報は、前記階層構造データ集合に属するデータのうち高速検索が必要なデータのみを対象とすることを特徴とする付記１７、１８または１９に記載の検索装置。
【０１２１】
（付記２１）業務データに関する情報に該業務データに対する業務処理の実行によって発生するイベントに関するイベント情報を含めて業務データ情報として管理し、イベントにより結び付けられる業務データ情報間の関係に基づいて業務データ間にまたがる業務プロセスの進捗状況を管理する業務プロセス管理装置であって、
業務データ情報間の関係に基づいて構成される業務データ情報ネットワークの一部としてツリーを構成する業務データ情報ツリー集合に含まれる業務データ情報に対して該業務データ情報ツリー集合に含まれる業務データ情報への直接のパスを対応させて業務データ関連情報として記憶した業務データ関連情報記憶手段と、
前記業務データ関連情報記憶手段により記憶された業務データ関連情報を用いて、前記業務データ情報ツリー集合に含まれるある業務データ情報から該業務データ情報ツリー集合に含まれる業務データ情報を検索する業務プロセス検索を行う業務プロセス検索手段と、
を備えたことを特徴とする業務プロセス管理装置。
【産業上の利用可能性】
【０１２２】
以上のように、本発明に係る検索プログラムおよびその記録媒体、検索方法ならびに検索装置は、業務プロセス管理プログラムなど、ツリー構造のデータの検索に有用であり、特に、高速な検索が必要な場合に適している。
【図面の簡単な説明】
【０１２３】
【図１】本実施例に係るツリー検索高速化手法を説明するための説明図である。
【図２】本実施例に係る業務プロセス管理装置の構成を示す機能ブロック図である。
【図３】業務データテーブルの一例を示す図である。
【図４】業務データ関連テーブルの一例を示す図である。
【図５】イベントデータテーブルの一例を示す図である。
【図６−１】関連データ更新部による業務データ関連テーブルの更新を説明するための説明図（１）である。
【図６−２】関連データ更新部による業務データ関連テーブルの更新を説明するための説明図（２）である。
【図６−３】関連データ更新部による業務データ関連テーブルの更新を説明するための説明図（３）である。
【図６−４】関連データ更新部による業務データ関連テーブルの更新を説明するための説明図（４）である。
【図６−５】関連データ更新部による業務データ関連テーブルの更新を説明するための説明図（５）である。
【図６−６】関連データ更新部による業務データ関連テーブルの更新を説明するための説明図（６）である。
【図６−７】パスキャッシュを使った高速検索例を示す図である。
【図７】図２に示したイベント格納処理部によるイベント格納処理の処理手順を示すフローチャートである。
【図８】イベントデータ登録部によるイベントデータ登録処理の処理手順を示すフローチャートである。
【図９】関連データ更新部によるパスキャッシュ更新処理の処理手順を示すフローチャートである。
【図１０】イベント更新部によるイベント更新処理の処理手順を示すフローチャートである。
【図１１】本実施例に係る業務プロセス管理プログラムを実行するコンピュータの構成を示す機能ブロック図である。
【図１２】業務システムから抽出されるイベントに基づいて業務プロセス管理プログラムが行う業務プロセスのトラッキングを説明するための説明図である。
【図１３】ツリーごとにＩＤを振るツリー検索を示す図である。
【符号の説明】
【０１２４】
１００    業務プロセス管理装置
１１０    プロセス定義部
１２０    プロセス情報記憶部
１３０    イベント抽出部
１４０    イベント管理ＤＢ
１４１    業務データテーブル
１４２    業務データ関連テーブル
１４３    イベントデータテーブル
１５０    イベント格納処理部
１５１    イベントデータ登録部
１５２    関連データ更新部
１５３    イベント更新部
１６０    イベント検索部
１７０    分析部
２００    コンピュータ
２１０    ＲＡＭ
２１１    業務プロセス管理プログラム
２２０    ＣＰＵ
２２１    業務プロセス管理プロセス
２３０    ＨＤＤ
２４０    ＬＡＮインタフェース
２５０    入出力インタフェース
２６０    ＤＶＤドライブ
【図１】
2006221561.tif 000003
【図２】
2006221561.tif 000004
【図３】
2006221561.tif 000005
【図４】
2006221561.tif 000006
【図５】
2006221561.tif 000007
【図６−１】
2006221561.tif 000008
【図６−２】
2006221561.tif 000009
【図６−３】
2006221561.tif 000010
【図６−４】
2006221561.tif 000011
【図６−５】
2006221561.tif 000012
【図６−６】
2006221561.tif 000013
【図６−７】
2006221561.tif 000014
【図７】
2006221561.tif 000015
【図８】
2006221561.tif 000016
【図９】
2006221561.tif 000017
【図１０】
2006221561.tif 000018
【図１１】
2006221561.tif 000019
【図１２】
2006221561.tif 000020
【図１３】
2006221561.tif 000021