(57)【特許請求の範囲】
【請求項１】
第１のフローを当該第１のフローに関連する第２のフローへ変換するための変換表のデータ量の見積り値を、変換前後のフローの形状の類似性及びノード名の文字列長の平均に基づいて算出し、前記第２のフロー自体のデータ量の見積り値を、当該フローの遷移種数及びノード名の文字列長の平均に基づいて算出し、前記変換表のデータ量の見積り値と前記第２のフロー自体のデータ量の見積り値とを記憶装置に格納するステップと、
前記記憶装置に格納されている前記変換表のデータ量の見積り値が前記第２のフロー自体のデータ量の見積り値よりも小さい場合には、前記変換表を生成し、前記記憶装置に格納する変換表生成ステップと、
を含み、コンピュータにより実行される情報処理方法。
【請求項２】
前記第１のフローを表示するステップと、
前記第２のフローを表示する指示をユーザから受け付けると、前記記憶装置に前記第１のフローを前記第２のフローへ変換するための変換表が格納されているか又は前記第２のフローのデータが格納されていないか確認するステップと、
前記記憶装置に前記第１のフローから前記第２のフローへ変換するための変換表が格納されている又は前記第２のフローのデータが格納されていない場合には、当該変換表を前記記憶装置から読み出して、前記第１のフローのデータを当該変換表により前記第２のフローへ変換することにより前記第２のフローを生成する第２フロー生成ステップと、
生成された前記第２のフローを表示するステップと、
をさらに含む請求項１記載の情報処理方法。
【請求項３】
前記変換表は、
前記第１のフローに出現するノード種と前記第２のフローに出現するノード種との関係が１対１関係であるノード種のペアを登録する第１テーブルと、
前記第１のフローに出現する、第１のノードから第２のノードへの遷移種と、前記第２のフローに出現する、第３のノードから第４のノードへの遷移種との関係が１対１関係である遷移種のペアを登録する第２テーブルと、
前記第１テーブル及び前記第２テーブルで特定される遷移種のペア以外の遷移種の対応関係を登録する第３テーブルと、
を含む請求項１又は２記載の情報処理方法。
【請求項４】
前記第２テーブル及び前記第３テーブルにおいて、前記第１テーブルから導き出されるノード種については空を登録する
請求項３記載の情報処理方法。
【請求項５】
前記変換表は、
前記第１のフローに出現するノード種と前記第２のフローに出現するノード種との関係が１対１関係であるノード種のペアを登録する第１テーブルと、
前記第１のフローに出現する、第１のノードから第２のノードへの遷移種と、前記第２のフローに出現する、第３のノードから第４のノードへの遷移種との関係が１対１関係である遷移種のペアを登録する第２テーブルと、
前記第１テーブル及び前記第２テーブルで特定される遷移種のペア以外の遷移種の対応関係を登録する第３テーブルと、
を含み、
前記第２フロー生成ステップにおいて、前記第１テーブル、前記第２テーブル、前記第３テーブルの順番で、前記第１のフローに対して適用することで、前記第２のフローを生成する
請求項２記載の情報処理方法。
【請求項６】
前記変換表生成ステップが、
データベースに格納されているレコードに含まれ且つ前記第１のフローのノードとして用いられる第１の属性の属性値を案件毎に時系列に並べることによって得られる第１のフローインスタンスにおける各遷移と、同一のレコードに含まれ且つ前記第２のフローのノードとして用いられる第２の属性の属性値を前記案件毎に並べることによって得られる第２のフローインスタンスにおける各遷移とを、前記ノードの抽出元のレコードを基に対応付けてテンポラリテーブルに格納するステップと、
前記テンポラリテーブルから、前記第１のフローに出現するノード種と前記第２のフローに出現するノード種との関係が１対１関係であるノード種のペアを抽出し、前記第１テーブルに登録するステップと、
前記テンポラリテーブルから、前記第１のフローに出現する、第１のノードから第２のノードへの第１の遷移種と、前記第２のフローに出現する、第３のノードから第４のノードへの第２の遷移種との関係が１対１関係である遷移種のペアを抽出し、前記第２テーブルに登録するステップと、
前記テンポラリテーブルから、前記第１のフローに出現する、第１のノードから第２のノードへの遷移種と、前記第２のフローに出現する、第３のノードから第４のノードへの遷移種との関係が１対多である場合には、当該遷移種との対応関係を、前記第３テーブルに登録するステップと、
を含む、請求項３記載の情報処理方法。
【請求項７】
第１のフローを当該第１のフローに関連する第２のフローへ変換するための変換表のデータ量の見積り値を、変換前後のフローの形状の類似性及びノード名の文字列長の平均に基づいて算出し、前記第２のフロー自体のデータ量の見積り値を、当該フローの遷移種数及びノード名の文字列長の平均に基づいて算出し、前記変換表のデータ量の見積り値と前記第２のフロー自体のデータ量の見積り値とを記憶装置に格納するステップと、
前記記憶装置に格納されている前記変換表のデータ量の見積り値が前記第２のフロー自体のデータ量の見積り値よりも小さい場合には、前記変換表を生成し、前記記憶装置に格納する変換表生成ステップと、
を、コンピュータに実行させるプログラム。
【請求項８】
第１のフローを当該第１のフローに関連する第２のフローへ変換するための変換表のデータ量の見積り値を、変換前後のフローの形状の類似性及びノード名の文字列長の平均に基づいて算出し、前記第２のフロー自体のデータ量の見積り値を、当該フローの遷移種数及びノード名の文字列長の平均に基づいて算出し、前記変換表のデータ量の見積り値と前記第２のフロー自体のデータ量の見積り値とを記憶装置に格納する見積処理部と、
前記記憶装置に格納されている前記変換表のデータ量の見積り値が前記第２のフロー自体のデータ量の見積り値よりも小さい場合には、前記変換表を生成し、前記記憶装置に格納する変換表生成部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、フローの処理技術に関する。
【背景技術】
【０００２】
処理の流れを表すフロー、状態遷移やイベント間遷移を表すフロー、業務の流れを表す業務フローなど様々なフローが存在している。
【０００３】
その中でも、例えば業務プロセス・リエンジニアリング等では、業務フローの分析が注目されている。例えば、業務システムの処理結果を格納するデータベースにおけるレコードを分析することによって、当該業務システムを用いて実際に実施されている業務フローを生成する技術が知られている。
【０００４】
また、業務ルールを遵守した処理であるか否かを判断するための技術が存在している。すなわち、複数の処理によって構成されるワークフローをチェックする情報処理システムは、ワークフローを構成する処理の内容と当該処理を行うときに割り当てられるパラメータの性質を対にした変換表を記憶しておく。そして、この変換表を用いて、ワークフローを構成する処理指示情報とパラメータを対にしたワークフロー指示データから具体的なワークフローの実体データを生成する。また、ワークフローにおける処理をチェックする項目を記載したマニュアルからチェック項目を抽出してチェック表を生成しておく。このチェック表に基づいて、上で生成されたワークフローをチェックする。この変換表は、ワークフロー指示データからワークフローを１つ生成するためのデータに過ぎない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２７０７２号公報
【特許文献２】特開２００７−１２２６５１号公報
【特許文献３】特開２００９−３８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上で述べたようなデータベースに格納されている業務処理結果からフローを生成するような場面では、同じデータから異なる観点で関連する複数のフローが生成できる場合がある。このような関連する複数のフローを、切り替えながら分析したいという要望があるが、フローに含まれるノード等の数が膨大であったり、フローの構造が複雑であったりすると、データ量が多くなりすぎるという問題がある。
【０００７】
従って、本技術の目的は、一側面として、関連する複数のフローのデータを保持する際に用いるリソースを効率化するための技術に関する。
【課題を解決するための手段】
【０００８】
本情報処理方法は、（Ａ）第１のフローを当該第１のフローに関連する第２のフローへ変換するための変換表のデータ量と第２のフロー自体のデータ量とを見積もり、変換表のデータ量の見積り値と第２のフロー自体のデータ量の見積り値とを記憶装置に格納するステップと、（Ｂ）記憶装置に格納されている変換表のデータ量の見積り値が第２のフロー自体のデータ量の見積り値よりも小さい場合には、上記変換表を生成し、記憶装置に格納する変換表生成ステップとを含む。
【発明の効果】
【０００９】
関連する複数のフローのデータを保持する際に用いるリソースを効率化できるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、インスタンスを有するフローについて説明するための図である。
【図２】図２は、変換表を用いてフローを変換する一例を示す図である。
【図３Ａ】図３Ａは、変換表の１対１イベント変換部の一例を示す図である。
【図３Ｂ】図３Ｂは、変換表の１対１遷移変換部の一例を示す図である。
【図３Ｃ】図３Ｃは、変換表の１対１以外の遷移変換部の一例を示す図である。
【図４】図４は、実施の形態におけるフロー分析装置の機能ブロック図である。
【図５】図５は、前処理の処理フローを示す図である。
【図６Ａ】図６Ａは、分析対象データ格納部に格納されているデータの一例である。
【図６Ｂ】図６Ｂは、テンポラリテーブルの一例を示す図である。
【図７】図７は、変換表生成処理の処理フローを示す図である。
【図８】図８は、変換表生成処理の処理フローを示す図である。
【図９】図９は、変換表生成処理の処理フローを示す図である。
【図１０】図１０は、フロー表示の場面の処理フローを示す図である。
【図１１】図１１は、第１フロー格納部に格納されるデータの一例を示す図である。
【図１２】図１２は、変換前のフロー図の一例を示す図である。
【図１３】図１３は、第２フロー格納部に格納されるデータの一例を示す図である。
【図１４】図１４は、変換後のフロー図の一例を示す図である。
【図１５】図１５は、フロー変換処理の処理フローを示す図である。
【図１６】図１６は、中間Ｍａｐデータの初期状態の一例を示す図である。
【図１７】図１７は、１対１イベント変換部の一例を示す図である。
【図１８】図１８は、１対１イベント変換部を処理した後の状態における中間Ｍａｐデータの一例を示す図である。
【図１９】図１９は、フロー変換処理の処理フローを示す図である。
【図２０】図２０は、１対１遷移変換部の一例を示す図である。
【図２１】図２１は、１対１遷移変換部を処理した後の状態における中間Ｍａｐデータの一例を示す図である。
【図２２】図２２は、１対１以外の遷移変換部の一例を示す図である。
【図２３】図２３は、１対１以外の遷移変換部を処理した後の状態における中間Ｍａｐデータの一例を示す図である。
【図２４】図２４は、フロー変換処理の処理フローを示す図である。
【図２５】図２５は、変換前フローの他の例を示す図である。
【図２６】図２６は、変換前フローの他の例についての変換前データの一例を示す図である。
【図２７】図２７は、変換後フローの他の例を示す図である。
【図２８】図２８は、変換後フローの他の例についての変換後データの一例を示す図である。
【図２９】図２９は、分析対象データの他の例を示す図である。
【図３０】図３０は、テンポラリテーブルの他の例を示す図である。
【図３１Ａ】図３１Ａは、変換表の１対１イベント変換部の他の例を示す図である。
【図３１Ｂ】図３１Ｂは、変換表の１対１遷移変換部の他の例を示す図である。
【図３１Ｃ】図３１Ｃは、変換表の１対１以外の遷移変換部の他の例を示す図である。
【図３２】図３２は、中間Ｍａｐデータの初期状態の他の例を示す図である。
【図３３】図３３は、１対１イベント変換部を処理した後の状態における中間Ｍａｐデータの他の例を示す図である。
【図３４】図３４は、１対１遷移変換部を処理した後の状態における中間Ｍａｐデータの他の例を示す図である。
【図３５】図３５は、１対１以外の遷移変換部を処理した後の状態における中間Ｍａｐデータの他の例を示す図である。
【図３６】図３６は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
背景技術の欄で述べたように業務システムのデータを用いて生成した業務フローは、手描きの業務フローと異なり、どの部分が何回実行されたかということを表す統計データを伴う場合がある。本実施の形態では、このようなフローを「インスタンスを有するフロー」と呼ぶことにする。一方、手描きのフローのように実行回数の情報を有しないフローを、本実施の形態では「インスタンスを有しないフロー」と呼ぶことにする。インスタンスを有するフローは、業務の実態を正確に示しており、そのフローを分析することにより、業務の問題点を発見し、改善に繋げることができる。
【００１２】
業務プロセス・リエンジニアリング等で行われる業務改善のための主要な分析対象は業務のフローである。しかし、その他にも、業務を実行した担当者や部門、業務が行われた場所など、業務以外の観点のフローについても分析することで、新たな問題点を発見できる場合があり、業務フローの分析による業務改善の効果を高めることが期待される。例えば、業務の流れに問題が無くても、担当者間の作業の引き継ぎ効率が悪い場合や、作業ライン上の物の流れが悪い場合などの問題を発見できれば、業務効率改善には有用である。
【００１３】
インスタンスを有するフローの元データは例えば業務システムにおけるデータベースやログファイルであるが、業務システムにおけるデータベース等には、業務の種類だけでなく、担当者や部門、場所等の様々な情報を含んでいる場合が多く、これを利用して観点毎にフローを生成することが望ましい。
【００１４】
図１は、インスタンスを有する観点毎のフローの一例を示した図である。図１（ｂ）は、業務システムの処理の記録の一例を示しており、このようなデータは、データベースのレコードやログファイル等から取得する。ここでインスタンスＩＤは、１つの案件（すなわちインスタンス）について実施される業務処理を識別するための識別子である。同一インスタンスＩＤのレコードを処理時刻順に並べ、「業務」カラムを用いてフローを生成すると図１（ａ）に示すようになる。なお、最初のノード「Initial」及び最後のノード「Final」については別途付加している。また、図１（ａ）では、２つのインスタンスを重ね合わせている。従って、ノード（イベントとも呼ぶ）間の遷移に、当該遷移を通過しているインスタンス数、すなわち遷移の実行回数が示されている。図１（ａ）の例では、「検査」と「修理」の間の遷移が実行回数「１」となっている他は、全インスタンス数「２」に対して実行回数「２」となっている。一方、「部門」カラムを用いてフローを生成すると図１（ｃ）に示すようになる。
【００１５】
図１（ｃ）の例では、「部品Ａ」と「ライン１」等、業務と部門の対応関係はほぼ１対１になっている。しかし、「部品Ｂ」については、対応する部門の値が「ライン２」と「ライン４」の２種類になっており、その結果、業務フローと部門フローの形状が、その出現箇所で変化している。図１ではインスタンス数が２だが、典型的には数週間乃至数ヶ月の業務実績をフロー化して分析するため、インスタンス数が数万に及ぶ場合もある。そうすると、このような１対１関係が成り立たない部分も多くなる可能性がある。さらに、図１では、２種類のフローを示したが、より多くのフローを生成する場合もある。従って、インスタンスを有する観点毎のフローを生成して保持する場合には、データ量が膨大になる可能性がある。
【００１６】
そこで、第１の観点に係る第１のフローから第１の観点とは異なる第２の観点に係るフローへ変換するための変換表を導入する。図２は、インスタンスを有するフローについて、変換前フローと変換表を用いて変換後フローを生成する例を示す。図２（ａ）は、変換前フローを表示するためのデータとして、遷移と実行回数を含む「変換前データ」を示している。この変換前データを、図２（ｃ）に示す変換後フローを生成するためのデータである「変換後データ」に変換するために、図２（ｂ）に示す「変換表」を用意する。この変換表は、変換前の各遷移に対し、変換後の遷移種及び実行回数の情報を含む。変換後データは、遷移種毎にその実行回数の情報を含む。
【００１７】
図２の場合には、変換表のデータ量は変換後データのデータ量を上回ってしまっている。従って、本実施の形態では、変換表を生成する前に変換表のデータ量を見積り、さらに変換後データのデータ量も見積り、変換表のデータ量が、変換後データのデータ量より少ないと見積もられた場合に、変換表を生成して保持しておく。実際に変換後フローを表示する際には、変換前フローと変換表のデータを用いて、変換後フローを生成し、表示装置等に出力する。一方、変換後データのデータ量の見積値が変換表のデータ量の見積値以下であれば、変換後データを生成して保持しておく。このようにすれば、記憶リソースを効率的に活用できる。
【００１８】
図２（ｂ）の例では、変換表のデータ量が変換後データのデータ量を上回ってしまっているが、このような形式の変換表でなくてもよい。例えば、変換前のＣ→Ｄの遷移と、変換後のｃ→ｄの遷移とは、変換前後で１対１の関係であり、変換表中の遷移Ｃ→Ｄについて「１０５」という実行回数の情報は省略可能である。すなわち、図２（ｂ）の変換表以外の変換表を採用することでデータ量を削減できる。但し、変換表のデータ量を削減しても、変換前データと変換後データを別々に保持した方がデータ量が少なくなる場合もある。従って、上で述べたように変換表を生成する前に変換表のデータ量を見積り、変換後データのデータ量を見積り、データ量の見積値が小さい方のデータを生成するものとする。
【００１９】
以下では、より効率的な変換表として、図３Ａ乃至３Ｃに示すようなフォーマットを採用することとする。本実施の形態では３つの変換表を用いる。すなわち、図３Ａに示す１対１イベント変換部と、図３Ｂに示す１対１遷移変換部と、図３Ｃに示す１対１以外の遷移変換部とを用いる。
【００２０】
１対１イベント変換部は、変換前後でイベント種が１対１対応しているイベントの変換表であり、変換前のイベント名と変換後のイベント名とを対応付けて登録するようになっている。
【００２１】
１対１遷移変換部は、変換前後で遷移種が１対１対応している遷移の変換表である。変換前の遷移種と変換後の遷移種とを対応付けて登録するようになっている。遷移種は、遷移元のイベント名と遷移先のイベント名とで表される。但し、遷移元のイベント名と遷移先のイベント名とが両方とも１対１イベント変換部に登録されている場合には、当該遷移については１対１遷移変換部には登録されない。また、遷移元のイベント名と遷移先のイベント名とのいずれかが１対１遷移変換部に登録されている場合には、変換前について値を登録するが、変換後については空欄にする。
【００２２】
１対１以外の遷移変換部は、変換前後で遷移の種類が１対１対応しない遷移の変換表である。変換前の遷移種と変換後の遷移種、及び変換後の各遷移について実行回数とを含む。本遷移変換部で対象とする遷移は変換前後で１対１にはならないので、１つの変換前遷移に対して複数の変換後遷移が対応する場合がある。このため、変換後に各遷移について実行回数を登録する。１対１イベントが含まれる場合に、変換後部分を空欄にすることで、データ量を削減する。なお、複数種類の変換前遷移に対し、１つの変換後遷移が対応する場合もあるが、あくまで変換前データを基準にした変換のためのデータ構造であるので、そのような場合には変換後遷移が同一である複数の変換前遷移の変換データが生成される。その場合の実行回数については空欄にしてよい。
【００２３】
このような変換表を採用する場合に用いられるフロー分析装置について、図４乃至図３５を用いて説明する。
【００２４】
本実施の形態に係るフロー分析装置（図４）は、前処理部１００と表示処理部３００とを含む。なお、前処理部１００と表示処理部３００とは一部構成要素を共用するが、前処理部１００を有する装置と表示処理部３００を有する装置とを別々に用意するようにしても良い。例えば、前処理部１００を有するサーバ等をネットワークに接続しておき、表示処理部３００で用いられるデータを、表示処理部３００を有する装置に読み込み、当該装置の表示処理部３００で処理するようにしてもよい。
【００２５】
前処理部１００は、分析対象データ格納部１０１と、フロー生成部１０２と、見積処理部１０３と、データ格納部１０４と、変換表生成部１０５と、第１フロー格納部２０２と、第２フロー格納部２０１と、変換表格納部２０３とを有する。
【００２６】
フロー生成部１０２は、分析対象データ格納部１０１に格納されているデータを用いて処理を行い、処理結果を第１フロー格納部２０２又は第２フロー格納部２０１に格納する。フロー生成部１０２は、変換前フロー及び変換後フローを生成する処理を実施するが、この処理内容については背景技術の欄で列挙した文献に開示されている処理と同じであるからここでは詳細には述べない。また、フロー生成部１０２は、見積処理部１０３で使用するデータをデータ格納部１０４に格納する。
【００２７】
見積処理部１０３は、データ格納部１０４に格納されているデータを用いて、処理途中のデータをデータ格納部１０４に格納し、変換後フローを生成すべき場合にはフロー生成部１０２に指示を出力し、そうでない場合には変換表生成部１０５に指示を出力する。
【００２８】
変換表生成部１０５は、第１フロー格納部２０２とデータ格納部１０４に格納されているデータを用いて変換表生成処理を実施し、生成された変換表を変換表格納部２０３に格納する。
【００２９】
表示処理部３００は、入力部３０１と、表示切替部３０２と、フロー変換部３０３と、変換後フロー格納部３０４と、表示装置や印刷装置などの出力装置３０５と、第１フロー格納部２０２と、第２フロー格納部２０１と、変換表格納部２０３とを有する。
【００３０】
入力部３０１は、ユーザからの指示を表示切替部３０２に出力する。表示切替部３０２は、変換前フローを表示する場合には、第１フロー格納部２０２に格納されているデータから変換前フローを生成し、出力装置３０５に出力する。また、変換後フローを表示する場合には、表示切替部３０２は、第２フロー格納部２０１又は変換表格納部２０３におけるデータ格納状態に応じて、第２フロー格納部２０１に格納されている変換後フローのデータを読み出して変換後フローを生成し、出力装置３０５に出力するか、フロー変換部３０３にフロー変換処理を実施させ、変換後フロー格納部３０４に格納される変換後フローを読み出して出力装置３０５に出力する。フロー変換部３０３は、変換表格納部２０３と第１フロー格納部２０２（場合によって第２フロー格納部２０１）とに格納されているデータを用いて、変換後フローを生成し、変換後フロー格納部３０４に格納する。
【００３１】
次に、図５乃至図２４を用いて図４に示したフロー分析装置の処理内容について説明する。まず、図５乃至図９を用いて前処理部１００の処理について説明する。
【００３２】
例えば最初に、フロー生成部１０２は、分析対象データ格納部１０１に格納されているデータを用いて変換前フローを生成し、当該変換前フローのデータを第１フロー格納部２０２に格納する。また、フロー生成部１０２は、見積処理部１０３でも用いるデータ量見積りのためのテンポラリテーブルを生成して、データ格納部１０４に格納する（図５：ステップＳ１）。変換前フローの生成処理については、既に知られているのでここでは詳細には述べない。
【００３３】
例えば、分析対象データ格納部１０１に図６Ａに示すような分析対象データが格納されている場合には、データ格納部１０４に格納されるテンポラリテーブルの内容は図６Ｂに示すようなものになる。なお、分析対象データについては、分析対象システムのデータベースやログファイルから取得する。図６Ａに示した分析対象データから、インスタンス毎のイベント発生順序を判定し、変換前の観点でのイベント間遷移を、current_before（ＣＢ）の列及びnext_before（ＮＢ）の列に、変換後の観点でのイベント間遷移をcurrent_after（ＣＡ）の列及びnext_after（ＮＡ）の列に格納する。例えば、図６Ａの第１及び第２のレコードを処理する場合には、業務の列の「部品Ａ」から「部品Ｂ」への遷移については、ＣＢの列に「部品Ａ」を登録し、ＮＢの列に「部品Ｂ」を登録する。一方、部門の列の「ライン１」から「ライン２」への遷移については、ＣＡの列に「ライン１」を登録し、ＮＡの列に「ライン２」を登録する。また、図６Ａの第２及び第３のレコードを処理する場合には、業務の列の「部品Ｂ」から「組立」への遷移については、ＣＢの列に「部品Ｂ」を登録し、ＮＢの列に「組立」を登録する。一方、部門の列の「ライン２」から「ライン３」への遷移については、ＣＡの列に「ライン２」を登録し、ＮＡの列に「ライン３」を登録する。なお、末端イベントについては、ＣＢ及びＣＡの列に登録しておく。
【００３４】
次に、見積処理部１０３は、テンポラリテーブルから所定のパラメータの値を算出し、データ格納部１０４に格納する（ステップＳ３）。所定のパラメータは、変換表のデータ量の見積値算出式と変換後フローのデータ量の見積値算出式とに用いられるものである。
【００３５】
具体的には、以下のようなパラメータの値を算出する。
ｂ：１対１イベント種数
current_beforeの各値について、対応するcurrent_afterの値の種別数を計算する。結果が１であるものの数が１対１イベント種数である。
ｋ：平均イベント名長
current_beforeとcurrent_afterの値の全種別を取得し、文字列長さの平均値が平均イベント名長である。なお、英数字＝１，漢字かな＝２とカウントする。
ｇ：１対１イベントのみを含む遷移種数
ｂの計数過程で１対１イベントを取得する。そして、current_beforeとnext_beforeの全組み合わせについて、対応するcurrent_afterとnext_afterの組み合わせ数が１であるもののうち、１対１イベントのみを含むものの数を計数する。
ｙ：１対１対応の遷移種数
先にｇを計算。current_beforeとnext_beforeの全組み合わせについて、対応するcurrent_afterとnext_afterの組み合わせ数が１であるものの数からｇを引くことにより算出する。
ｎ：変換前の総イベント種数
current_beforeの値の全種別数を計数する。
ｒ：１対１対応でない遷移種数
current_beforeとnext_beforeの全組み合わせについて、対応するcurrent_afterとnext_afterの組み合わせ数が２以上であるものの数を計数する。
ｘ：１対１対応でない遷移の変換後平均分割数
current_beforeとnext_beforeの全組み合わせについて、対応するcurrent_afterとnext_afterの組み合わせ数が２以上であるものについて、その組み合わせ数の平均値を計算する。
l：回数格納容量
想定最大回数により異なるが、通常は４バイト程度で固定（Java（登録商標）のｉｎｔ等）
ｍ：変換後総イベント種数
current_afterの値の全種別数
【００３６】
そして、見積処理部１０３は、データ格納部１０４に格納されているパラメータの値を用いて、予め定義されている見積値算出式を用いて、変換表のデータ量の見積値と、変換後フローのデータ量の見積値とを算出し、データ格納部１０４に格納する（ステップＳ５）。
【００３７】
本実施の形態では、以下のような見積値算出式を採用する。
変換表：２ｂｋ＋２ｙｋ（１＋（（ｎ−ｂ）／ｎ））＋ｒ（２ｋ＋２ｋｘ（（ｎ−ｂ）／ｎ）＋ｘｌ）
変換後フロー：（２ｋ＋ｌ）（ｇ＋（ｒｘ＋ｙ）（ｍ／ｎ））
【００３８】
この見積値算出式は、テンポラリテーブルを用いてイベント種数やイベント種の平均文字列長などが簡単に求められる前提で、比較的少ない種類の容易に得られるパラメータを用いて計算できるようにしている。従って、完全に正確なデータ量が算出できるわけではなく、他の式を導入してより正確なデータ量を見積もるようにしてもよい。或いは、より簡略化して簡易に見積るための式を導入して、パラメータの値を算出する処理負荷を下げるようにしても良い。
【００３９】
そして、見積処理部１０３は、ステップＳ７５で算出された変換表のデータ量の見積値と、変換後フローのデータ量の見積値とを比較して、変換表のデータ量の見積値の方が小さいか判断する（ステップＳ７）。変換表のデータ量の見積値の方が小さいと言えない場合、すなわち変換後フローのデータ量の見積値が変換表のデータ量の見積値以下である場合には、見積処理部１０３は、変換後フローの生成をフロー生成部１０２に指示する（ステップＳ１１）。そしてステップＳ１３に移行する。なお、フロー生成部１０２は、データ格納部１０４に格納されているテンポラリテーブル又は分析対象データ格納部１０１に格納されているデータを用いて、変換後フローを生成し、変換後フローのデータを第２フロー格納部２０１に格納する。具体的な処理内容については、変換前フローと同様で既に知られた方法であるから詳細な説明については省略する。
【００４０】
一方、変換表のデータ量の見積値の方が小さい場合には、見積処理部１０３は、変換表生成部１０５に変換表の生成を指示する（ステップＳ９）。変換表生成部１０５の処理については、後に詳しく述べる。そして処理を終了する。
【００４１】
変換後フローの生成が完了した後に、フロー生成部１０２は、データ格納部１０４に格納されているテンポラリテーブルを破棄する（ステップＳ１３）。
【００４２】
このようにすれば、データ量の見積値が小さい方のデータが生成されるので、データ記憶領域というリソースを有効活用できるようになる。
【００４３】
次に、図７乃至図９を用いて、変換表生成部１０５の処理内容について説明する。変換表生成部１０５は、データ格納部１０４からテンポラリテーブルを取得する（ステップＳ２１）。次に、変換表生成部１０５は、テンポラリテーブルから、ＣＢ（current_before）値の種類を抽出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ２３）。例えば、ＣＢ値の種類のリストを生成する。
【００４４】
そして、変換表生成部１０５は、未処理のＣＢ値を１つ特定する（ステップＳ２５）。変換表生成部１０５は、テンポラリテーブルにおいて、特定されたＣＢ値に対応するＣＡ（current_after）値の種類を特定すると共に、種類数を計数する（ステップＳ２７）。これによって１対１イベントであるか否かを特定できる。従って、変換表生成部１０５は、特定されたＣＢ値に対応するＣＡ値の種類が１であるか判断する（ステップＳ２９）。特定されたＣＢ値に対応するＣＡ値の種類が１でない場合にはステップＳ３３に移行する。一方、特定されたＣＢ値に対応するＣＡ値の種類が１である場合には、変換表生成部１０５は、変換表格納部２０３における１対１イベント変換部における変換前値に、特定されたＣＢ値を設定すると共に、１対１イベント変換部における１対１イベント変換部の変換後値に、対応するＣＡ値を設定する（ステップＳ３１）。そしてステップＳ３３に移行する。
【００４５】
ステップＳ３３では、変換表生成部１０５は、ステップＳ２３で抽出されたＣＢ値の種類のうち未処理のＣＢ値が存在するか判断する（ステップＳ３３）。未処理のＣＢ値が存在する場合にはステップＳ２５に戻る。一方、未処理のＣＢ値が存在しない場合には端子Ａを介して図８の処理に移行する。これによって、１対１イベント変換部が完成する。
【００４６】
図８の処理の説明に移行して、変換表生成部１０５は、テンポラリテーブルにおいて、ＣＢ値とＮＢ（next_before）値との組み合わせ種別（すなわち遷移種別）を抽出し、例えばメインメモリなどの記憶装置に格納する（ステップＳ３５）。例えば、ＣＢ値とＮＢ値の組み合わせのリストを生成する。
【００４７】
そして、変換表生成部１０５は、抽出された組み合わせの内、未処理の組み合わせを１つ特定する（ステップＳ３７）。その後、変換表生成部１０５は、特定された組み合わせに含まれるＣＢ値及びＮＢ値が、両方とも１対１イベント変換部に登録済みであるか確認する（ステップＳ３９）。これによって、この組み合わせについて１対１遷移変換部又は１対１以外の遷移変換部に登録するか否かを判断する。特定された組み合わせに含まれるＣＢ値及びＮＢ値の両方が１対１イベント変換部に登録済みであれば（ステップＳ４１：Ｙｅｓルート）、変換表生成部１０５は、特定された組み合わせについては何もせずにステップＳ３７に戻る。１対１イベント変換部で対応可能であるため、他の変換部には登録しない。
【００４８】
一方、登録済みではない場合（ステップＳ４１：Ｎｏルート）、変換表生成部１０５は、特定された組み合わせに対応するＣＡ値とＮＡ値の組み合わせを、テンポラリテーブルから抽出する（ステップＳ４３）。ＣＡ値とＮＡ値の組み合わせの種類毎に出現頻度を計数しておく。処理は端子Ｂを介して図９の処理に移行する。
【００４９】
図９の処理の説明に移行して、変換表生成部１０５は、ステップＳ４３で抽出された、ＣＡ値とＮＡ値との組み合わせが１種類のみであるか判断する（ステップＳ４５）。ＣＡ値とＮＡ値との組み合わせが１種類のみ抽出された場合には、変換前後で遷移種が１対１対応していることを表している。従って、変換表生成部１０５は、変換表格納部２０３における１対１遷移変換部の変換前の値として、特定された組み合わせ（ＣＢ値とＮＢ値）を登録すると共に、変換後の値として、対応する組み合わせ（ＣＡ値とＮＡ値）を登録する（ステップＳ４７）。そしてステップＳ５１に移行する。
【００５０】
一方、ステップＳ４３で抽出された組み合わせが２種類以上であれば、変換表生成部１０５は、変換表格納部２０３における１対１以外の遷移変換部において、変換前の値として、特定された組み合わせ（ＣＢ値とＮＢ値）を登録すると共に、変換後の値として、対応する組み合わせ（ＣＡ値とＮＡ値）を登録し、さらにステップＳ４３で計数された出現頻度を実行回数として登録する（ステップＳ４９）。対応する組み合わせについてはステップＳ４３で抽出された組み合わせの種類を全て登録し、その種類について出現頻度を実行回数として登録する。このようにすれば、１対１以外の遷移変換部にデータが登録されてゆく。
【００５１】
ステップＳ５１に移行して、変換表生成部１０５は、ステップＳ４３で抽出された、対応する組み合わせに含まれるＣＡ値又はＮＡ値のいずれかが１対１イベント変換部に登録済みであるか確認し、該当する場合には該当部分を空欄に変更する（ステップＳ５１）。これによってデータ量を削減することができる。
【００５２】
その後、変換表生成部１０５は、ステップＳ３５で抽出された、ＣＢ値とＮＢ値の組み合わせのうち未処理の組み合わせが存在するか（ステップＳ５３）。未処理の組み合わせが存在する場合には端子Ｃを介してステップＳ３７に戻る。一方、ステップＳ３５で抽出された組み合わせの全てについて処理した場合には、変換表生成部１０５は、データ格納部１０４に格納されているテンポラリテーブルを破棄して（ステップＳ５５）、元の処理に戻る。
【００５３】
これによって、データ量の少ないと見積もられた変換表が生成され、変換表格納部２０３に格納されたことになる。
【００５４】
なお、上で述べた例では変換前フローが１種類で変換後フローが１種類である例を示したが、変換前フロー及び変換後フローのいずれも複数の場合もある。
【００５５】
次に、図１０乃至図２４を用いて、上で述べた処理で生成されたデータを用いる場面について説明する。
【００５６】
例えば、入力部３０１を介してユーザから指示を受けると、表示切替部３０２は、第１フロー格納部２０２から変換前フローのデータを読み出し、フロー図に変換した後、表示装置等の出力装置３０５に出力する（図１０：ステップＳ６１）。以下の説明では、第１フロー格納部２０２には、例えば図１１に示すようなデータが格納されているものとする。各遷移は出現順に並べられているので、そのまま並べて連結してゆけばフロー図が生成できる。図１１のようなデータの場合、ステップＳ６１で表示装置等の出力装置３０５から出力されるフロー図は、図１２に示すようなデータとなる。
【００５７】
そして、入力部３０１は、ユーザから観点切替指示を受け付ける（ステップＳ６３）。そうすると、入力部３０１は、表示切替部３０２に対して切替後の観点を示すデータ（例えば「部門」など）を出力する。そうすると、表示切替部３０２は、切替後の観点（すなわち変換後）についてのフローデータを第１フロー格納部２０２又は第２フロー格納部２０１に保持しているか確認する（ステップＳ６５）。この判断については、切替前の観点（すなわち変換前）から切替後の観点（すなわち変換後）への変換表を変換表格納部２０３に保持しているか確認するようにしても良い。
【００５８】
切替後の観点についてのフローデータを保持している場合には、表示切替部３０２は、第１フロー格納部２０２又は第２フロー格納部２０１から、該当するフローデータを読み出し、当該フローデータからフロー図を生成して、出力装置３０５に出力する（ステップＳ６７）。そしてステップＳ７３に移行する。
【００５９】
例えば、第２フロー格納部２０１に図１３に示すようなデータを保持しており、これが切替後の観点についてのフローデータであれば、図１４に示すようなフロー図を生成し、表示装置等に出力する。これによって、ユーザは直ぐに切替後の観点についてのフローを確認することができる。場合によっては、切替前後のフロー図を並べて表示するようにしても良い。
【００６０】
一方、切替後の観点についてのフローデータを第１フロー格納部２０２及び第２フロー格納部２０１に保持していない場合、表示切替部３０２は、フロー変換部３０３に、切替前の観点と切替後の観点とを含むフロー変換指示を出力し、フロー変換部３０３は、このフロー変換指示に応じて、フロー変換処理を実施する（ステップＳ６９）。このフロー変換処理については、図１５乃至図２４を用いて説明する。
【００６１】
フロー変換部３０３は、例えば第１フロー格納部２０２から観点切替前のフローデータ（図１１）を読み出し、変換表格納部２０３から変換表のデータを読み出す（図１５：ステップＳ８１）。例えば、変換表格納部２０３には、図３Ａ乃至３Ｃに示すようなデータが格納されている。
【００６２】
そうすると、フロー変換部３０３は、観点切替前（すなわち変換前）のフローデータから、中間Ｍａｐデータを生成し、例えばメインメモリなどの記憶装置に格納する（ステップＳ８３）。
【００６３】
中間Ｍａｐデータは、キー（Ｋｅｙ）とそれに対応する値（Value）を格納可能なＭａｐオブジェクトであり、例えばＪａｖａ（登録商標）のjava.util.HashMap等を利用できる。このような中間Ｍａｐデータに、観点切替前のフローデータの遷移種をＫｅｙに設定し、実行回数とＭａｐ（観点切替後の遷移種）とをValueに設定するオブジェクトを格納する。図１６に示すように、Ｋｅｙについては、図１１の観点切替前の遷移種（変換前の遷移種）がそのまま登録される。一方、Value内の実行回数については、観点切替前の各遷移種の実行回数がそのまま登録される。Value内のＭａｐについては空の状態となる。
【００６４】
次に、フロー変換部３０３は、変換表に含まれる１対１イベント変換部における未処理の変換前イベントを１つ特定する（ステップＳ８５）。そして、フロー変換部３０３は、特定された変換前イベントで、中間ＭａｐデータのＫｅｙを検索し、ヒットしたＫｅｙに対応するValue側のＭａｐのＫｅｙに、１対１イベント変換部における対応する変換後イベントを登録する（ステップＳ８７）。図１７に１対１イベント変換部を再度示すが、例えばEvent-BをステップＳ８５で特定したとすると、図１６の中間ＭａｐデータのＫｅｙでは、１行目の遷移、４行目の遷移及び５行目の遷移に出現しているので、対応するValue側のＭａｐのＫｅｙに、対応する変換後イベント「Event-b」を登録する。このような処理を図１７の１対１イベント変換部に登録されている３つの変換前イベントについて実施すれば、図１６の中間Ｍａｐデータは、図１８に示すように変化する。図１８から分かるように、Value側のＭａｐのＫｅｙは２分されて先行するイベント（すなわち遷移元イベント）と後続のイベント（すなわち遷移先イベント）とを登録できるようにしている。さらに、Value側の実行回数を、Value側のＭａｐにおけるＫｅｙに値が登録された場合にはValueに設定する。
【００６５】
図１５の処理の説明に戻って、フロー変換部３０３は、１対１イベント変換部において全ての変換前イベントを処理したか判断する（ステップＳ８９）。未処理の変換前イベントが存在する場合にはステップＳ８５に戻る。一方、１対１イベント変換部において全ての変換前イベントを処理した場合には、端子Ｄを介して図１９の処理に移行する。
【００６６】
図１９の処理の説明に移行して、フロー変換部３０３は、１対１遷移変換部における未処理の変換前遷移を１つ特定する（ステップＳ９１）。そして、フロー変換部３０３は、特定された変換前遷移で、中間ＭａｐデータのＫｅｙを検索し、ヒットしたＫｅｙに対応するValue側のＭａｐにおけるValueに、１対１遷移変換部における対応する変換後遷移を登録する（ステップＳ９３）。図２０に再度１対１遷移変換部を示すが、例えばEvent-AとEvent-Cとを含む遷移を特定したとすると、図１８の中間ＭａｐデータのＫｅｙでは、２行目の遷移が該当する。従って、対応するValue側のＭａｐにおけるＫｅｙに、対応する変換後遷移の先行イベント「Event-a2」を登録する。１対１遷移変換部における変換後遷移の後続イベントは未登録になっているが、１対１イベント変換部で対処可能であることを表しており、既に登録されている。但し、変換後遷移の先行イベント及び後続イベントが両方共に１対１遷移変換部に登録されていれば、両方とも対応するValue側のＭａｐにおけるＫｅｙに登録する。このような処理を図２０の１対１遷移変換部に登録されている２つの変換前遷移について実施すれば、図１８の中間Ｍａｐデータは、図２１に示すように変換される。図１８の場合には該当しないが、本ステップでValue側のＭａｐにおけるＫｅｙに変換後遷移が新規に登録された場合には、Value側の実行回数を、Value側のＭａｐにおけるValueに登録する。
【００６７】
そして、フロー変換部３０３は、１対１遷移変換部における全ての変換前遷移を処理したか判断する（ステップＳ９５）。未処理の変換前遷移が存在する場合にはステップＳ９１に戻る。一方、１対１遷移変換部における全ての変換前遷移を処理した場合には、フロー変換部３０３は、１対１以外の遷移変換部における未処理の変換前遷移を１つ特定する（ステップＳ９７）。そして、フロー変換部３０３は、特定された変換前遷移で、中間ＭａｐデータのＫｅｙを検索し、ヒットしたＫｅｙに対応するValue側のＭａｐにおけるＫｅｙに、対応する変換後遷移を登録する（ステップＳ９９）。図２２に再度１対１以外の遷移変換部を示すが、例えばEvent-AとEvent-Bとを含む遷移を特定したとすると、図２１の中間ＭａｐデータのＫｅｙでは、１行目の遷移が該当する。従って、対応するValue側のＭａｐにおけるＫｅｙに、対応する変換後遷移の先行イベント「Event-a2」及び「Event-a2」を登録する。１対１以外の遷移変換部における変換後遷移の後続イベントは未登録になっているが、１対１イベント変換部で対処可能であることを表しており、既に中間Ｍａｐデータに登録されている。但し、変換後遷移の先行イベント及び後続イベントが両方共に１対１以外の遷移変換部に登録されていれば、両方とも対応するValue側のＭａｐにおけるＫｅｙに登録する。このような処理を図２２の１対１以外の遷移変換部に登録されている２つの変換前遷移について実施すれば、図２１の中間Ｍａｐデータは、図２３に示すように変換される。本ステップで登録された変換後遷移については、１対１以外の遷移変換部における実行回数をそのまま、Value側のＭａｐにおけるValueに登録する。
【００６８】
図１９の処理の説明に戻って、フロー変換部３０３は、１対１以外の遷移変換部の全ての変換前遷移について処理したか判断する（ステップＳ１０１）。未処理の変換前遷移が存在する場合には、ステップＳ９７に戻る。一方、１対１以外の遷移変換部の全ての変換前遷移について処理した場合には、端子Ｅを介して図２４の処理に移行する。
【００６９】
図２４の処理の説明に移行して、フロー変換部３０３は、中間ＭａｐデータのValue側のＭａｐから、変換後フローデータを生成し、変換後フロー格納部３０４に格納する（ステップＳ１０３）。図２３に示した中間ＭａｐデータのValue側のＭａｐには、図１３に示した変換後（観点切替後）のフローデータと同様のデータが生成されているので、中間ＭａｐデータのValue側からデータを読み出し、変換後フロー格納部３０４に格納する。なお、Value側のＫｅｙが遷移種を示しており、Valueが実行回数を表している。また、同種のＫｅｙが複数存在するような場合には、それぞれの回数を合計して１レコードに統合する。そして、フロー変換部３０３は、メインメモリなどの記憶装置に格納している中間Ｍａｐデータを破棄する（ステップＳ１０５）。そして元の処理に戻る。
【００７０】
図１０の処理の説明に戻って、表示切替部３０２は、変換後フロー格納部３０４に格納されている変換後（観点切替後）のフローデータからフロー図を生成し、出力装置３０５に出力する（ステップＳ７１）。これによって、例えば図１４に示すフロー図が表示される。
【００７１】
そして、ステップＳ６７又はステップＳ７１の後に、表示切替部３０２は、入力部３０１を介してユーザから処理終了が指示されたか判断する（ステップＳ７３）。処理終了が指示されていない場合には、さらなる観点の切替が指示される可能性があるのでステップＳ６３に戻る。一方、処理終了が指示された場合には、指示のとおり処理を終了する。
【００７２】
なお、変換前（すなわち観点切替前）のフローに戻すような指示が入力される場合もあれば、第３の観点に切り換えるように指示される場合もある。
【００７３】
以上のような処理を実施すれば、変換表が採用された場合においても変換後のフローを生成することができる。変換後のフローがそのまま記憶されていれば、直ぐにユーザに提示することができる。このように、記憶領域というリソースを有効活用しつつ観点の切替を行って複数の観点のフローを提示できるようになる。
【００７４】
なお、３つ以上のフローを取り扱う場合には、いずれを変換前フローとして選択し、残りのフローを変換表又はそれ自身で保持するのかについて、最も効率的なパターンを見積もる。例えば、第１乃至第３のフローが存在する場合には、第１のフローを変換前フローとして選択して、第２のフロー及び第３のフローを共に変換表にした場合、第２のフローを変換表で保持し且つ第３のフローをそれ自身で保持した場合、第２のフローをそれ自身で保持し且つ第３のフローを変換表で保持した場合、第２及び第３のフローをそれ自身で保持した場合といったようにパターン毎にデータ量の見積値合計で、最も効率的なパターンを選択する。
【実施例】
【００７５】
例えば図２５に示すような変換前フロー（フローデータは図２６）を、図２７に示すような変換後フロー（フローデータは図２８）に変換する場合を考える。なお、例えば図２９に示すような分析対象データ（全３２４インスタンスのうちの一部）が得られており、テンポラリテーブルは図３０に示すような形で得られるものとする。
【００７６】
上で述べた見積値算出式を用いると、変換表を生成する方式が約３３６バイト、変換後フローのデータを保持する方式が約４０６バイトとなる。変換後フローのデータを保持する方式を１００％とすると、変換表を生成する方式では約８３％のデータ量で済むことになり、約１７％の容量節約が可能となる。また、見積り結果と実際の容量とを比較してみる。まず図３１Ａ乃至３１Ｃの変換表で、文字列データは英数字１文字につき１バイト、漢字かな文字は１文字につき２バイトとしてカウントし、実行回数データはＪａｖａ（登録商標）のｉｎｔとして４バイトとしてカウントすると、変換表全体で３４０バイトとなり、見積りの３３６バイトとの差は４バイトである。また、図２８は変換後フローデータであるが、これを変換表と同様のルールでカウントすると４１２バイトとなり、見積りの４０６バイトとの差は６バイトとなる。よって、見積りの誤差は少なく、実用的なものになっていると判断することができる。
【００７７】
このように変換表の方が有利であることが分かり、変換表生成部１０５は、図７乃至図９で説明した変換表生成処理を実施して、図３１Ａに示す１対１イベント変換部、図３１Ｂに示す１対１遷移変換部、図３１Ｃに示す１対１以外の遷移変換部を生成して、変換表格納部２０３に格納する。１対１以外の遷移変換部のデータ量が多いが、１対１イベント変換部の効果があり、比較的多くの空欄が生じている。
【００７８】
次にフロー変換部３０３がフロー変換処理を行う際には、初期的には図３２に示すような中間Ｍａｐデータが生成される。次に、１対１イベント変換部について処理すると、図３３に示すような中間Ｍａｐデータが生成される。さらに、１対１遷移変換部について処理すると、図３４に示すような中間Ｍａｐデータが生成される。さらに、１対１以外の遷移変換部について処理すると、図３５に示すような中間Ｍａｐデータが生成される。なお、１対１以外の遷移変換部では、変換前１行に対し、変換後には複数行が対応付けられているので、中間ＭａｐデータのValue側におけるＭａｐの既存行を１対１以外の遷移変換部内の変換後の行数と同じ行数になるようにコピーする。コピーするのは、既存行に１対１イベントの変換結果が含まれている可能性があるためである。そして、１対１以外の遷移変換部の変換後の値を、中間ＭａｐデータのValue側におけるＫｅｙ及びValue部分に格納する。なお、図３５は図２８に示した変換後のフローデータと実質的に同じデータが得られたことを示している。
【００７９】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。上で述べた実施の形態は、業務フロー以外のフローについても適用可能である。
【００８０】
さらに、上で述べた機能ブロック図は一例であって、実際のプログラムモジュール構成と一致しない場合もある。処理フローについても結果が変化しない限り、処理順番を入れ替えたり、並列実行することも可能である。さらに、上で述べたデータ保持方法は一例に過ぎず、他のフォーマットでデータを保持するようにしても良い。
【００８１】
変換表についても他のフォーマットの変換表を採用するようにしても良い。さらに、見積値算出式に対しても他の式を採用するようにしても良い。
【００８２】
なお、上で述べたフロー分析装置は、コンピュータ装置であって、図３６に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８３】
以上述べた本実施の形態をまとめると、以下のようになる。
【００８４】
本実施の形態に係る情報処理方法は、（Ａ）第１のフローを当該第１のフローに関連する第２のフローへ変換するための変換表のデータ量と第２のフロー自体のデータ量とを見積もり、変換表のデータ量の見積り値と第２のフロー自体のデータ量の見積り値とを記憶装置に格納するステップと、（Ｂ）記憶装置に格納されている変換表のデータ量の見積り値が第２のフロー自体のデータ量の見積り値よりも小さい場合には、上記変換表を生成し、記憶装置に格納する変換表生成ステップとを含む。
【００８５】
このようにすれば、関連する複数のフローを保持する際に用いる記憶リソースを効率化できるようになる。
【００８６】
なお、本実施の形態に係る情報処理方法は、（Ｃ）第１のフローを表示するステップと、（Ｄ）第２のフローを表示する指示をユーザから受け付けると、記憶装置に第１のフローを第２のフローへ変換するための変換表が格納されているか又は第２のフローのデータが格納されていないか確認するステップと、（Ｅ）記憶装置に第１のフローから第２のフローへ変換するための変換表が格納されている又は第２のフローのデータが格納されていない場合には、当該変換表を記憶装置から読み出して、第１のフローのデータを当該変換表により第２のフローへ変換することにより第２のフローを生成する第２フロー生成ステップと、（Ｆ）生成された第２のフローを表示するステップとをさらに含むようにしてもよい。
【００８７】
このようにすれば、観点の異なるフローを変換表を用いて提示することができるようになる。なお、フローが業務フローであればイベントという文言がふさわしい場合があるが、一般的にはノードと呼ぶものとする。
【００８８】
なお、上で述べた変換表は、（ａ）第１のフローに出現するノード種と第２のフローに出現するノード種との関係が１対１関係であるノード種のペアを登録する第１テーブルと、（ｂ）第１のフローに出現する、第１のノードから第２のノードへの遷移種と、第２のフローに出現する、第３のノードから第４のノードへの遷移種との関係が１対１関係である遷移種のペアを登録する第２テーブルと、（ｃ）第１テーブル及び第２テーブルで特定される遷移種のペア以外の遷移種の対応関係を登録する第３テーブルとを含むようにしてもよい。  
【００８９】
このようなテーブル構成であれば、変換表のデータ量をより削減することができる。
【００９０】
また、第２テーブル及び第３テーブルにおいて、第１テーブルから導き出されるノード種については空を登録するようにしてもよい。変換表のデータ量をさらに削減できる。
【００９１】
さらに、上で述べた変換表が、上で述べた３つのテーブルを含むようにしてもよい。また、上で述べた第２フロー生成ステップにおいて、第１テーブル、第２テーブル、第３テーブルの順番で、第１のフローに対して適用することで、第２のフローを生成するようにしてもよい。効率的に第２のフローを生成することができるようになる。
【００９２】
また、上で述べた変換表生成ステップが、（Ｂ１）データベースに格納されているレコードに含まれ且つ第１のフローのノードとして用いられる第１の属性の属性値を案件毎に時系列に並べることによって得られる第１のフローインスタンスにおける各遷移と、同一のレコードに含まれ且つ第２のフローのノードとして用いられる第２の属性の属性値を案件毎に並べることによって得られる第２のフローインスタンスにおける各遷移とを、ノードの抽出元のレコードを基に対応付けてテンポラリテーブルに格納するステップと、（Ｂ２）テンポラリテーブルから、第１のフローに出現するノード種と第２のフローに出現するノード種との関係が１対１関係であるノード種のペアを抽出し、第１テーブルに登録するステップと、（Ｂ３）テンポラリテーブルから、第１のフローに出現する、第１のノードから第２のノードへの第１の遷移種と、第２のフローに出現する、第３のノードから第４のノードへの第２の遷移種との関係が１対１関係である遷移種のペアを抽出し、第２テーブルに登録するステップと、（Ｂ３）テンポラリテーブルから、第１のフローに出現する、第１のノードから第２のノードへの遷移種と、第２のフローに出現する、第３のノードから第４のノードへの遷移種との関係が１対多である場合には、当該遷移種との対応関係を、第３テーブルに登録するステップとを含むようにしてもよい。効率的に、変換表を生成することができる。
【００９３】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【００９４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９５】
（付記１）
第１のフローを当該第１のフローに関連する第２のフローへ変換するための変換表のデータ量と前記第２のフロー自体のデータ量とを見積もり、前記変換表のデータ量の見積り値と前記第２のフロー自体のデータ量の見積り値とを記憶装置に格納するステップと、
前記記憶装置に格納されている前記変換表のデータ量の見積り値が前記第２のフロー自体のデータ量の見積り値よりも小さい場合には、前記変換表を生成し、前記記憶装置に格納する変換表生成ステップと、
を含み、コンピュータにより実行される情報処理方法。
【００９６】
（付記２）
前記第１のフローを表示するステップと、
前記第２のフローを表示する指示をユーザから受け付けると、前記記憶装置に前記第１のフローを前記第２のフローへ変換するための変換表が格納されているか又は前記第２のフローのデータが格納されていないか確認するステップと、
前記記憶装置に前記第１のフローから前記第２のフローへ変換するための変換表が格納されている又は前記第２のフローのデータが格納されていない場合には、当該変換表を前記記憶装置から読み出して、前記第１のフローのデータを当該変換表により前記第２のフローへ変換することにより前記第２のフローを生成する第２フロー生成ステップと、
生成された前記第２のフローを表示するステップと、
をさらに含む付記１記載の情報処理方法。
【００９７】
（付記３）
前記変換表は、
前記第１のフローに出現するノード種と前記第２のフローに出現するノード種との関係が１対１関係であるノード種のペアを登録する第１テーブルと、
前記第１のフローに出現する、第１のノードから第２のノードへの遷移種と、前記第２のフローに出現する、第３のノードから第４のノードへの遷移種との関係が１対１関係である遷移種のペアを登録する第２テーブルと、
前記第１テーブル及び前記第２テーブルで特定される遷移種のペア以外の遷移種の対応関係を登録する第３テーブルと、
を含む付記１又は２記載の情報処理方法。
【００９８】
（付記４）
前記第２テーブル及び前記第３テーブルにおいて、前記第１テーブルから導き出されるノード種については空を登録する
付記３記載の情報処理方法。
【００９９】
（付記５）
前記変換表は、
前記第１のフローに出現するノード種と前記第２のフローに出現するノード種との関係が１対１関係であるノード種のペアを登録する第１テーブルと、
前記第１のフローに出現する、第１のノードから第２のノードへの遷移種と、前記第２のフローに出現する、第３のノードから第４のノードへの遷移種との関係が１対１関係である遷移種のペアを登録する第２テーブルと、
前記第１テーブル及び前記第２テーブルで特定される遷移種のペア以外の遷移種の対応関係を登録する第３テーブルと、
を含み、
前記第２フロー生成ステップにおいて、前記第１テーブル、前記第２テーブル、前記第３テーブルの順番で、前記第１のフローに対して適用することで、前記第２のフローを生成する
付記２記載の情報処理方法。
【０１００】
（付記６）
前記変換表生成ステップが、
データベースに格納されているレコードに含まれ且つ前記第１のフローのノードとして用いられる第１の属性の属性値を案件毎に時系列に並べることによって得られる第１のフローインスタンスにおける各遷移と、同一のレコードに含まれ且つ前記第２のフローのノードとして用いられる第２の属性の属性値を前記案件毎に並べることによって得られる第２のフローインスタンスにおける各遷移とを、前記ノードの抽出元のレコードを基に対応付けてテンポラリテーブルに格納するステップと、
前記テンポラリテーブルから、前記第１のフローに出現するノード種と前記第２のフローに出現するノード種との関係が１対１関係であるノード種のペアを抽出し、前記第１テーブルに登録するステップと、
前記テンポラリテーブルから、前記第１のフローに出現する、第１のノードから第２のノードへの第１の遷移種と、前記第２のフローに出現する、第３のノードから第４のノードへの第２の遷移種との関係が１対１関係である遷移種のペアを抽出し、前記第２テーブルに登録するステップと、
前記テンポラリテーブルから、前記第１のフローに出現する、第１のノードから第２のノードへの遷移種と、前記第２のフローに出現する、第３のノードから第４のノードへの遷移種との関係が１対多である場合には、当該遷移種との対応関係を、前記第３テーブルに登録するステップと、
を含む、付記３記載の情報処理方法。
【０１０１】
（付記７）
第１のフローを当該第１のフローに関連する第２のフローへ変換するための変換表のデータ量と前記第２のフロー自体のデータ量とを見積もり、前記変換表のデータ量の見積り値と前記第２のフロー自体のデータ量の見積り値とを記憶装置に格納するステップと、
前記記憶装置に格納されている前記変換表のデータ量の見積り値が前記第２のフロー自体のデータ量の見積り値よりも小さい場合には、前記変換表を生成し、前記記憶装置に格納する変換表生成ステップと、
を、コンピュータに実行させるプログラム。
【０１０２】
（付記８）
第１のフローを当該第１のフローに関連する第２のフローへ変換するための変換表のデータ量と前記第２のフロー自体のデータ量とを見積もり、前記変換表のデータ量の見積り値と前記第２のフロー自体のデータ量の見積り値とを記憶装置に格納する見積処理部と、
前記記憶装置に格納されている前記変換表のデータ量の見積り値が前記第２のフロー自体のデータ量の見積り値よりも小さい場合には、前記変換表を生成し、前記記憶装置に格納する変換表生成部と、
を有する情報処理装置。
【符号の説明】
【０１０３】
１０１  分析対象データ格納部    １０２  フロー生成部  
１０３  見積処理部    １０４  データ格納部
１０５  変換表生成部
２０１  第２フロー格納部    ２０２  第１フロー格納部
２０３  変換表格納部    
３０１  入力部    ３０２  表示切替部
３０３  フロー変換部    ３０４  変換後フロー格納部
３０５  出力装置
【図１】
0005664050.tif 000002
【図２】
0005664050.tif 000003
【図３Ａ】
0005664050.tif 000004
【図３Ｂ】
0005664050.tif 000005
【図３Ｃ】
0005664050.tif 000006
【図４】
0005664050.tif 000007
【図５】
0005664050.tif 000008
【図６Ａ】
0005664050.tif 000009
【図６Ｂ】
0005664050.tif 000010
【図７】
0005664050.tif 000011
【図８】
0005664050.tif 000012
【図９】
0005664050.tif 000013
【図１０】
0005664050.tif 000014
【図１１】
0005664050.tif 000015
【図１２】
0005664050.tif 000016
【図１３】
0005664050.tif 000017
【図１４】
0005664050.tif 000018
【図１５】
0005664050.tif 000019
【図１６】
0005664050.tif 000020
【図１７】
0005664050.tif 000021
【図１８】
0005664050.tif 000022
【図１９】
0005664050.tif 000023
【図２０】
0005664050.tif 000024
【図２１】
0005664050.tif 000025
【図２２】
0005664050.tif 000026
【図２３】
0005664050.tif 000027
【図２４】
0005664050.tif 000028
【図２５】
0005664050.tif 000029
【図２６】
0005664050.tif 000030
【図２７】
0005664050.tif 000031
【図２８】
0005664050.tif 000032
【図２９】
0005664050.tif 000033
【図３０】
0005664050.tif 000034
【図３１Ａ】
0005664050.tif 000035
【図３１Ｂ】
0005664050.tif 000036
【図３１Ｃ】
0005664050.tif 000037
【図３２】
0005664050.tif 000038
【図３３】
0005664050.tif 000039
【図３４】
0005664050.tif 000040
【図３５】
0005664050.tif 000041
【図３６】
0005664050.tif 000042