(57)【特許請求の範囲】
【請求項１】
コンピュータに、
装置間において送受信される電文を取得し、
電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより前記電文を変換する名寄ルール群から選択された第１の名寄ルールに基づいて、取得した前記電文を第１の電文に変換し、
前記名寄ルール群の各々に付与されている優先順位が前記第１の名寄ルールよりも高い第２の名寄ルールに基づいて、取得した前記電文を第２の電文に変換し、
変換した前記第１の電文と前記第２の電文とが一致するか否かを判定し、
前記第１の電文と前記第２の電文とが不一致の場合、前記名寄ルール群からの前記第１の名寄ルールの選択順序と前記第２の名寄ルールの選択順序とが満たすべき制約条件として、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となる制約条件を作成する、
処理を実行させることを特徴とする名寄支援プログラム。
【請求項２】
前記コンピュータに、
前記名寄ルール群の各々の選択順序を設定し、
設定した前記名寄ルール群の各々の選択順序のうち前記第１の名寄ルールの選択順序と前記第２の名寄ルールの選択順序との順序関係が、作成した前記制約条件を満たすか否かを判断し、
前記制約条件を満たさない場合、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となるように前記名寄ルール群の各々の選択順序を変更する、
処理を実行させることを特徴とする請求項１に記載の名寄支援プログラム。
【請求項３】
前記コンピュータに、
変更した変更後の前記名寄ルール群の各々の選択順序にしたがって、前記名寄ルール群から名寄ルールを選択し、
選択した前記名寄ルールに基づいて、取得した前記電文を変換し、
変換した変換後の前記電文を出力する、
処理を実行させることを特徴とする請求項２に記載の名寄支援プログラム。
【請求項４】
前記コンピュータに、
出力した前記変換後の前記電文を記憶部に格納し、
前記装置間において送受信される新たな電文を取得し、
前記第１の名寄ルールに基づいて、取得した前記新たな電文を第１の電文に変換し、
前記第１の電文と同一の電文が前記記憶部に記憶されていない場合、前記優先順位が前記第１の名寄ルールよりも高い第２の名寄ルールに基づいて、取得した前記新たな電文を第２の電文に変換し、
変換した前記第１の電文と前記第２の電文とが一致するか否かを判定し、
前記第１の電文と前記第２の電文とが不一致の場合、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となる制約条件を作成する、
処理を実行させることを特徴とする請求項３に記載の名寄支援プログラム。
【請求項５】
前記選択順序を設定する処理は、
電文に適用された前記名寄ルール群の各々の適用回数に基づいて、前記名寄ルール群の各々の選択順序を設定することを特徴とする請求項２〜４のいずれか一つに記載の名寄支援プログラム。
【請求項６】
コンピュータが、
装置間において送受信される電文を取得し、
電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより前記電文を変換する名寄ルール群から選択された第１の名寄ルールに基づいて、取得した前記電文を第１の電文に変換し、
前記名寄ルール群の各々に付与されている優先順位が前記第１の名寄ルールよりも高い第２の名寄ルールに基づいて、取得した前記電文を第２の電文に変換し、
変換した前記第１の電文と前記第２の電文とが一致するか否かを判定し、
前記第１の電文と前記第２の電文とが不一致の場合、前記名寄ルール群からの前記第１の名寄ルールの選択順序と前記第２の名寄ルールの選択順序とが満たすべき制約条件として、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となる制約条件を作成する、
処理を実行することを特徴とする名寄支援方法。
【請求項７】
装置間において送受信される電文を取得する取得部と、
電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより前記電文を変換する名寄ルール群から選択された第１の名寄ルールに基づいて、前記取得部によって取得された前記電文を第１の電文に変換する第１の変換部と、
前記名寄ルール群の各々に付与されている優先順位が前記第１の名寄ルールよりも高い第２の名寄ルールに基づいて、取得された前記電文を第２の電文に変換する第２の変換部と、
前記第１の変換部によって変換された前記第１の電文と前記第２の変換部によって変換された前記第２の電文とが一致するか否かを判定する判定部と、
前記判定部によって前記第１の電文と前記第２の電文とが一致しないと判定された場合、前記名寄ルール群からの前記第１の名寄ルールの選択順序と前記第２の名寄ルールの選択順序とが満たすべき制約条件として、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となる制約条件を作成する作成部と、
を有することを特徴とする名寄支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、名寄支援プログラム、名寄支援方法および名寄支援装置に関する。
【背景技術】
【０００２】
従来、システム内の装置間において送受信される電文の送信回数や処理時間などを統計処理することにより、システム内の各装置の状態を監視する技術がある。また、電文を統計処理する場合、機能や操作対象などによって電文を分類して処理したい場合がある。このため、区切り文字や正規表現などを使用して、電文を統計に適した形に変換することがある。以下、電文を統計に適した形に変換することを「名寄せ」と表記する場合がある。
【０００３】
電文の名寄せを行う場合、例えば、ユーザが、電文を変換するための名寄せ定義を複数列挙したリストを事前に用意する。そして、名寄せ処理を実行する装置が、リストに定義された順に名寄せ定義を電文に対してマッチさせていき、最初にマッチした名寄せ定義による電文の変換結果を出力する。また、名寄せ処理の効率化などのために、ユーザが、リストに定義された名寄せ定義の電文に対する適用順序を変更する場合がある。
【０００４】
なお、関連する先行技術としては、例えば、データベースシステムに接続せずデータベースシステムをモニタリングするためのものがある。また、システム内のサーバ間にて実行されるトランザクションの処理時間を分析するための技術がある。また、アプリケーションが発行するイベントとログを共通的な形式に変換して管理する技術がある。また、例えば、データ依存性を防止し、複数の命令を同時に実行可能とするための技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３３８４１５号公報
【特許文献２】特許第４６１０２４０号公報
【特許文献３】特開２００４−３５５６５０号公報
【特許文献４】特開２０００−１４８４８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術によれば、リスト等に定義されている名寄せ定義の適用順序を変更しても名寄せ処理の出力結果が変わらないように、名寄せ定義の適用順序を変更することが難しい。例えば、名寄せ定義の適用順序を変更することにより名寄せ処理の出力結果が変化しても、電文が正しく名寄せされているかを判断することが難しく、ユーザが意図した出力結果を得られない場合がある。
【０００７】
一側面では、本発明は、名寄せ定義の適用順序を変更しても名寄せ処理の出力結果が変わらない名寄せ定義間の順序関係を特定することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、装置間において送受信される電文を取得し、電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより前記電文を変換する名寄ルール群から選択された第１の名寄ルールに基づいて、取得した前記電文を第１の電文に変換し、前記名寄ルール群の各々に付与されている優先順位が前記第１の名寄ルールよりも高い第２の名寄ルールに基づいて、取得した前記電文を第２の電文に変換し、変換した前記第１の電文と前記第２の電文とが一致するか否かを判定し、前記第１の電文と前記第２の電文とが不一致の場合、前記名寄ルール群からの前記第１の名寄ルールの選択順序と前記第２の名寄ルールの選択順序とが満たすべき制約条件として、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となる制約条件を作成する名寄支援プログラム、名寄支援方法および名寄支援装置が提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、名寄せ定義の適用順序を変更しても名寄せ処理の出力結果が変わらない名寄せ定義間の順序関係を特定することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態にかかる名寄支援方法の一実施例を示す説明図である。
【図２】図２は、システム２００のシステム構成例を示す説明図である。
【図３】図３は、キャプチャ機能の一実施例を示す説明図である。
【図４】図４は、名寄支援装置１０１のハードウェア構成例を示すブロック図である。
【図５】図５は、電文情報の具体例を示す説明図である。
【図６】図６は、名寄せ定義リスト６００の記憶内容の一例を示す説明図である。
【図７】図７は、名寄せ後電文リスト７００の記憶内容の一例を示す説明図である。
【図８】図８は、名寄せ統計リスト８００の記憶内容の一例を示す説明図である。
【図９】図９は、名寄せ制約リスト９００の記憶内容の一例を示す説明図である。
【図１０】図１０は、名寄せ定義リスト改１０００の記憶内容の一例を示す説明図である。
【図１１】図１１は、名寄支援装置１０１の機能的構成例を示すブロック図である。
【図１２】図１２は、制約条件の作成例を示す説明図である。
【図１３】図１３は、名寄せ定義の選択順序の変更例を示す説明図（その１）である。
【図１４】図１４は、名寄せ定義の選択順序の変更例を示す説明図（その２）である。
【図１５】図１５は、名寄支援装置１０１の名寄支援処理手順の一例を示すフローチャートである。
【図１６】図１６は、第１の名寄せ処理の具体的処理手順の一例を示すフローチャートである。
【図１７】図１７は、名寄せ定義リスト改１０００の更新処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、この発明にかかる名寄支援プログラム、名寄支援方法および名寄支援装置の実施の形態を詳細に説明する。
【００１２】
（名寄支援方法の一実施例）
図１は、実施の形態にかかる名寄支援方法の一実施例を示す説明図である。図１において、名寄支援装置１０１は、システム内の装置間において送受信される電文の名寄せ処理を支援するコンピュータである。
【００１３】
システムは、例えば、プロトコルの階層構造が定義されたシステムである。具体的には、例えば、システムは、ＷＥＢサーバと、ＡＰ（Ａｐｐｌｉｃａｔｉｏｎ）サーバと、ＤＢ（Ｄａｔａｂａｓｅ）サーバとを含むシステムである。
【００１４】
電文は、例えば、システム内の装置間において送受信されるリクエスト電文である。具体的には、例えば、電文は、ＤＢサーバへのリクエストにおけるＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）文やＷＥＢサーバへのリクエストにおけるＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）などである。
【００１５】
また、電文は、例えば、要求元のクライアント装置や処理時刻などにより、ＵＲＬのパラメータやＳＱＬ文に含まれるユーザ名などが少しずつ変化することが多い。さらに、システム内の各装置の状態監視を目的として電文の送信回数や処理時間などを統計処理する場合、機能や操作対象などによって電文を分類して、ある程度まとまった単位の電文を用いて各装置の状態を監視したい場合が多い。このため、区切り文字や正規表現などを使用して、電文を統計に適した形に変換する名寄せ処理が行われる。
【００１６】
名寄せ処理では、例えば、電文に対する表記の統一、表記ゆれの補正、文字列の分離および分割などが行われる。具体的には、例えば、半角と全角や、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）とＨＴＭなどの表記を統一する処理が行われる。これにより、電文を、他の電文との同一性を判別可能な形に変換することができ、機能や操作対象などによって電文を分類することができるようになる。
【００１７】
また、名寄せ処理では、例えば、監視したい目的などに応じて複数の名寄せ定義が用意される。ここで、名寄せ定義は、電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより電文を変換するためのルールである。また、例えば、ユーザが意図した名寄せ処理の出力結果を得るために、複数の名寄せ定義の各々の名寄せ定義には優先順位が付与されている。
【００１８】
名寄せ処理では、例えば、複数の名寄せ定義の各々に付与された優先順位にしたがって、電文に名寄せ定義をマッチさせていき、最初にマッチした名寄せ定義による出力結果が出力される。すなわち、最初にマッチする名寄せ定義まではマッチング処理のみが行われ、それ以降の名寄せ定義のマッチング処理は行われない。
【００１９】
このため、電文に対してマッチさせる名寄せ定義の適用順序によっては、電文にマッチしない名寄せ定義のマッチング処理にかかる処理時間が増大し、名寄せ処理にかかる処理時間の増大化を招く恐れがあるため、名寄せ定義の適用順序が変更される場合がある。一方で、名寄せ定義の適用順序を変更することにより名寄せ処理の出力結果が変化して、ユーザが意図した名寄せ処理の出力結果を得られない場合がある。
【００２０】
そこで、名寄支援装置１０１は、名寄せ定義の適用順序の変更前後において名寄せ処理の出力結果が異なる場合、電文に適用した変更前後の名寄せ定義間について、変更後の名寄せ定義が変更前の名寄せ定義よりも適用順序が後となる制約条件を作成する。これにより、以降において名寄せ定義の適用順序を変更しても名寄せ処理の出力結果が変わらない名寄せ定義間の順序関係の特定を可能にする。
【００２１】
以下、名寄支援装置１０１の名寄支援処理手順の一実施例について説明する。
【００２２】
図１において、リスト１１０には、電文に対して適用される名寄せ定義Ａ〜Ｄが示されている。また、リスト１１０には、名寄せ定義Ａ〜Ｄの各々に付与された優先順位に基づく各々の選択順序が示されている。リスト１２０には、リスト１１０と同様に、電文に対して適用される名寄せ定義Ａ〜Ｄが示されている。また、リスト１２０には、電文に対して適用された適用頻度に基づく各々の選択順序が示されている。
【００２３】
ここで、適用回数とは、各々の名寄せ定義が電文にマッチした回数である。名寄せ定義Ａ〜Ｄの適用順序を適用回数が多い順に変更することにより、電文に対するマッチング処理の処理量を削減して名寄せ処理の効率化を図ることができる。すなわち、リスト１１０とリスト１２０との間において、電文に対して適用される名寄せ定義Ａ〜Ｄの適用順序が変更されている。
【００２４】
（１）名寄支援装置１０１は、システム内の装置間において送受信される電文Ｍを取得する。図１の例では、システム内の装置間において送受信される電文Ｍ『ａａ  ｂｂ  ｃｃ  ｄｄ  ｅｅ  ｆｆ』が取得されている。
【００２５】
（２）名寄支援装置１０１は、リスト１２０内の名寄せ定義Ａ〜Ｄの各々の選択順序にしたがって、電文に対して名寄せ定義Ａ〜Ｄをマッチさせていき、最初にマッチした名寄せ定義に基づいて電文Ｍを変換する。図１の例では、名寄せ定義Ｃが最初にマッチしたため、名寄せ定義Ｃに基づいて、電文Ｍが名寄せ後電文１２１『ａａ  ｂｂ  ｃｃ  ｄｄ  …』に変換されている。
【００２６】
（３）名寄支援装置１０１は、リスト１１０内の名寄せ定義Ａ〜Ｄの各々の選択順序にしたがって、電文に対して名寄せ定義Ａ〜Ｄをマッチさせていき、最初にマッチした名寄せ定義に基づいて電文Ｍを変換する。図１の例では、名寄せ定義Ａが最初にマッチしたため、名寄せ定義Ａに基づいて、電文Ｍが名寄せ後電文１１１『ａａ  …  ｃｃ  ｄｄ  ｅｅ  …』に変換されている。ここで、名寄せ定義Ａは、名寄せ定義Ｃよりも優先順位が高い名寄せ定義である。
【００２７】
（４）名寄支援装置１０１は、電文Ｍを変換した名寄せ後電文１２１と名寄せ後電文１１１とが一致するか否かを判定する。図１の例では、名寄せ後電文１２１と名寄せ後電文１１１とが異なるため、名寄せ後電文１２１と名寄せ後電文１１１とが一致しないと判定される。
【００２８】
（５）名寄支援装置１０１は、名寄せ後電文１２１と名寄せ後電文１１１とが不一致の場合、名寄せ定義Ｃの選択順序と名寄せ定義Ａの選択順序とが満たすべき制約条件を作成する。図１の例では、名寄せ定義Ｃの選択順序が名寄せ定義Ａの選択順序よりも後となる制約条件１３０が作成されている。
【００２９】
このように、名寄支援装置１０１によれば、名寄せ定義の適用順序の変更前後において名寄せ処理の出力結果が異なる場合、電文に適用した変更前後の名寄せ定義間にて満たすべき制約条件を作成することができる。図１の例では、名寄支援装置１０１は、名寄せ定義の適用順序を変更しても名寄せ処理の出力結果が変わらないように、名寄せ定義Ｃの選択順序が名寄せ定義Ａの選択順序よりも後となる制約条件１３０を作成することができる。これにより、以降において、名寄せ定義の適用順序を変更しても名寄せ処理の出力結果が変わらない名寄せ定義間の順序関係を特定することが可能となる。
【００３０】
（システムのシステム構成例）
つぎに、実施の形態にかかるシステム２００について説明する。図２は、システム２００のシステム構成例を示す説明図である。図２において、システム２００は、名寄支援装置１０１と、ＷＥＢサーバ２０１と、ＡＰサーバ２０２と、ＤＢサーバ２０３と、クライアント装置２０４と、を含む。システム２００において、名寄支援装置１０１、ＷＥＢサーバ２０１、ＡＰサーバ２０２、ＤＢサーバ２０３およびクライアント装置２０４は、有線または無線のネットワーク２１０を介して接続されている。ネットワーク２１０は、例えば、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などである。
【００３１】
システム２００には、プロトコルの階層構造が定義されている。具体的には、例えば、最上位階層の第１階層には、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）が定義されている。このＨＴＴＰは、クライアント装置２０４とＷＥＢサーバ２０１との通信に用いられるプロトコルである。
【００３２】
第２階層には、ＩＩＯＰ（Ｉｎｔｅｒｎｅｔ  Ｉｎｔｅｒ−ＯＲＢ  Ｐｒｏｔｏｃｏｌ）が定義されている。このＩＩＯＰは、ＷＥＢサーバ２０１とＡＰサーバ２０２との通信に用いられるプロトコルである。最下位階層の第３階層には、ＳＱＬが定義されている。このＳＱＬは、ＡＰサーバ２０２とＤＢサーバ２０３との通信に用いられるプロトコルである。
【００３３】
名寄支援装置１０１は、システム２００内の装置間において送受信されるパケットを取得するキャプチャ機能を有する。また、名寄支援装置１０１は、取得したパケットを解析することにより、システム２００内の装置間において送受信される電文を再構成することができる。なお、キャプチャ機能については、図３を用いて後述する。
【００３４】
ＷＥＢサーバ２０１は、クライアント装置２０４に搭載されたブラウザからの要求に応じて、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルを送信するコンピュータである。ＡＰサーバ２０２は、ＷＥＢサーバ２０１とＤＢサーバ２０３との橋渡しを行い、データベースの検索／更新処理を制御するコンピュータである。ＤＢサーバ２０３は、データベースの検索／更新処理を実行するコンピュータである。
【００３５】
（キャプチャ機能）
図３は、キャプチャ機能の一実施例を示す説明図である。図３において、ＷＥＢサーバ２０１、ＡＰサーバ２０２、ＤＢサーバ２０３およびクライアント装置２０４の装置間において、システム２００内に設けられたスイッチＳ１〜Ｓ３を介して各種プロトコルのパケットＰ１〜Ｐ３が送受信されている。
【００３６】
ここで、名寄支援装置１０１、ＷＥＢサーバ２０１、ＡＰサーバ２０２およびＤＢサーバ２０３は、スイッチＳ１〜Ｓ３の個別のポートに接続されている。スイッチＳ１〜Ｓ３は、自身を通過するデータをミラーリングする機能を有している。ミラーリングとは、あるポートに出力されるデータと同じデータを、他のポートからも出力する機能である。
【００３７】
ここでは、ＷＥＢサーバ２０１、ＡＰサーバ２０２およびＤＢサーバ２０３が接続されたポートのミラーリング先として、名寄支援装置１０１が接続されたポートが指定されている。このため、各サーバ宛のパケットは宛先となるサーバに入力されるとともに、名寄支援装置１０１にも入力される。
【００３８】
例えば、クライアント装置２０４からの要求に応じて、ＷＥＢサーバ２０１、ＡＰサーバ２０２およびＤＢサーバ２０３が連動してサービスを提供する場合を想定する。この場合、まず、クライアント装置２０４からＷＥＢサーバ２０１に対してパケットＰ１が送信される。
【００３９】
このとき、パケットＰ１と同じ内容のパケットＰ１が名寄支援装置１０１に入力される。つぎに、ＷＥＢサーバ２０１からＡＰサーバ２０２へパケットＰ２が送信されると、パケットＰ２と同じ内容のパケットＰ２が名寄支援装置１０１に入力される。さらに、ＡＰサーバ２０２からＤＢサーバ２０３へパケットＰ３が送信されると、パケットＰ３と同じ内容のパケットＰ３が名寄支援装置１０１に入力される。
【００４０】
このように、名寄支援装置１０１は、システム２００内の装置間において送受信されるパケットを取得することができる。なお、名寄支援装置１０１は、システム２００内の装置間において送受信されるパケットのうち任意のパケットのみを取得することにしてもよい。
【００４１】
（名寄支援装置１０１のハードウェア構成例）
図４は、名寄支援装置１０１のハードウェア構成例を示すブロック図である。図４において、名寄支援装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３と、磁気ディスクドライブ４０４と、磁気ディスク４０５と、光ディスクドライブ４０６と、光ディスク４０７と、ディスプレイ４０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４０９と、キーボード４１０と、マウス４１１と、スキャナ４１２と、プリンタ４１３と、を有している。また、各構成部はバス４００によってそれぞれ接続されている。
【００４２】
ここで、ＣＰＵ４０１は、名寄支援装置１０１の全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。磁気ディスクドライブ４０４は、ＣＰＵ４０１の制御にしたがって磁気ディスク４０５に対するデータのリード／ライトを制御する。磁気ディスク４０５は、磁気ディスクドライブ４０４の制御で書き込まれたデータを記憶する。
【００４３】
光ディスクドライブ４０６は、ＣＰＵ４０１の制御にしたがって光ディスク４０７に対するデータのリード／ライトを制御する。光ディスク４０７は、光ディスクドライブ４０６の制御で書き込まれたデータを記憶したり、光ディスク４０７に記憶されたデータをコンピュータに読み取らせたりする。
【００４４】
ディスプレイ４０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ４０８は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４５】
Ｉ／Ｆ４０９は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して他の装置に接続される。そして、Ｉ／Ｆ４０９は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ４０９には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４６】
キーボード４１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス４１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。
【００４７】
スキャナ４１２は、画像を光学的に読み取り、名寄支援装置１０１内に画像データを取り込む。また、プリンタ４１３は、画像データや文書データを印刷する。プリンタ４１３には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
【００４８】
なお、名寄支援装置１０１は、例えば、上述した構成部のうち、光ディスクドライブ４０６、光ディスク４０７、ディスプレイ４０８、キーボード４１０、マウス４１１、スキャナ４１２およびプリンタ４１３などを有さないことにしてもよい。
【００４９】
（電文情報の具体例）
つぎに、電文情報の具体例について説明する。電文情報は、システム２００内の装置間において送受信される電文に関する情報である。
【００５０】
図５は、電文情報の具体例を示す説明図である。図５において、電文情報５００は、電文ＩＤと、タイムスタンプと、プロトコルと、種別と、電文とを含む。ここで、電文ＩＤは、電文の識別子である。タイムスタンプは、電文の送信時刻を示す情報である。プロトコルは、電文を送受信する装置間の通信に用いられるプロトコルである。種別は、電文をリクエスト電文またはレスポンス電文に区別する情報である。電文は、システム２００内の装置間において送受信される電文の中身である。
【００５１】
（名寄せ定義リスト６００）
つぎに、名寄支援装置１０１が用いる名寄せ定義リスト６００の記憶内容について説明する。名寄せ定義リスト６００は、例えば、図４に示したＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されている。
【００５２】
図６は、名寄せ定義リスト６００の記憶内容の一例を示す説明図である。図６において、名寄せ定義リスト６００は、ルール番号および名寄せ定義のフィールドを有し、各フィールドに情報を設定することにより、名寄せ定義情報６００−１〜６００−５をレコードとして記憶している。
【００５３】
ここで、ルール番号は、名寄せ定義の識別子である。名寄せ定義は、名寄せ処理において電文に対して適用するルールである。ここでは、名寄せ定義は、電文を名寄せする意図を正規表現によるルールとして定義したものである。また、名寄せ定義には、名寄せ定義の優先順位がそれぞれ付与されている。ここでは、優先順位が高い順に名寄せ定義のルール番号が付与されている。このため、名寄せ定義のルール番号が、名寄せ定義の優先順位を表している。なお、名寄せ定義の優先順位は、例えば、システム２００の管理者により、システム２００内の各サーバの状態を監視する際の目的に合わせて付与される。
【００５４】
例えば、名寄せ定義情報６００−１は、ルール番号「１」の名寄せ定義を示している。ルール番号「１」の名寄せ定義は、どのテーブルに対するＳＥＬＥＣＴ操作かに注目した名寄せ処理を行うためのものである。また、例えば、名寄せ定義情報６００−５は、ルール番号「５」の名寄せ定義を示している。ルール番号「５」の名寄せ定義は、電文の先頭の４単語までを抽出して電文を単純化する名寄せ処理を行うためのものである。
【００５５】
（名寄せ後電文リスト７００の記憶内容）
つぎに、名寄支援装置１０１が用いる名寄せ後電文リスト７００の記憶内容について説明する。名寄せ後電文リスト７００は、例えば、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置により実現される。
【００５６】
図７は、名寄せ後電文リスト７００の記憶内容の一例を示す説明図である。図７において、名寄せ後電文リスト７００は、名寄せ後電文（例えば、名寄せ後電文７００−１〜７００−５）を記憶している。名寄せ後電文は、電文に対する名寄せ処理の出力結果を表すものであり、例えば、図６に示した名寄せ定義リスト６００の名寄せ定義を用いて変換された変換後の電文である。
【００５７】
例えば、名寄せ後電文７００−１は、図５に示した電文情報５００の電文に対して、名寄せ定義リスト６００のルール番号「１」の名寄せ定義を適用して名寄せ処理を行った結果得られた変換後の電文である。名寄せ後電文７００−１によれば、例えば、電文情報５００の電文に含まれる条件指定「従業員ＩＤ＝１」や、監視の目的としない項目「従業員番号」に影響されることなく、電文の統計処理を行うことができる。
【００５８】
（名寄せ統計リスト８００の記憶内容）
つぎに、名寄支援装置１０１が用いる名寄せ統計リスト８００の記憶内容について説明する。名寄せ統計リスト８００は、例えば、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置により実現される。
【００５９】
図８は、名寄せ統計リスト８００の記憶内容の一例を示す説明図である。図８において、名寄せ統計リスト８００は、ルール番号、適用回数および平均処理時間のフィールドを有し、各フィールドに情報を設定することにより、統計情報８００−１〜８００−５をレコードとして記憶している。
【００６０】
ここで、ルール番号は、名寄せ定義の識別子である。適用回数は、電文に対して名寄せ定義が適用された回数、すなわち、電文にマッチした名寄せ定義を用いて電文が変換された回数である。平均処理時間は、名寄せ定義を用いた電文の名寄せ処理にかかる処理時間の平均である。平均処理時間の単位は、例えば、［マイクロ秒］である。
【００６１】
ここでは、平均処理時間は、電文に対して名寄せ定義が適用された場合の処理時間の平均である。例えば、統計情報８００−１は、ルール番号「１」の名寄せ定義の適用回数「１００」および平均処理時間「０．０５［マイクロ秒］」を示している。
【００６２】
なお、平均処理時間は、電文に対して名寄せ定義が適用されなかった場合の名寄せ処理にかかる処理時間を含めて求めることにしてもよい。電文に対して名寄せ定義が適用されなかった場合の名寄せ処理にかかる処理時間は、マッチング処理のみの処理時間となる。
【００６３】
（名寄せ制約リスト９００の記憶内容）
つぎに、名寄支援装置１０１が用いる名寄せ制約リスト９００の記憶内容について説明する。名寄せ制約リスト９００は、例えば、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置により実現される。
【００６４】
図９は、名寄せ制約リスト９００の記憶内容の一例を示す説明図である。図９において、名寄せ制約リスト９００は、基準ルール番号および後続ルール番号のフィールドを有し、各フィールドに情報を設定することにより、制約条件情報９００−１，９００−２をレコードとして記憶している。
【００６５】
制約条件情報９００−１，９００−２は、図６に示した名寄せ定義リスト６００内の名寄せ定義間において満たすべき選択順序の制約条件を表す情報である。ここで、基準ルール番号は、基準となる名寄せ定義のルール番号である。後続ルール番号は、基準ルール番号の名寄せ定義よりも選択順序を後にする名寄せ定義のルール番号である。
【００６６】
具体的には、制約条件情報９００−１は、ルール番号「３」の名寄せ定義の選択順序が、ルール番号「１」の名寄せ定義の選択順序よりも後となる制約条件を表している。制約条件情報９００−２は、ルール番号「４」の名寄せ定義の選択順序が、ルール番号「２」の名寄せ定義の選択順序よりも後となる制約条件を表している。
【００６７】
（名寄せ定義リスト改１０００の記憶内容）
つぎに、名寄支援装置１０１が用いる名寄せ定義リスト改１０００の記憶内容について説明する。名寄せ定義リスト改１０００は、例えば、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置により実現される。
【００６８】
図１０は、名寄せ定義リスト改１０００の記憶内容の一例を示す説明図である。図１０において、名寄せ定義リスト改１０００は、図６に示した名寄せ定義リスト６００内の名寄せ定義を並び換えたものである。具体的には、名寄せ定義リスト改１０００は、電文に対して適用された適用回数が多い順に名寄せ定義リスト６００内の名寄せ定義を並び換えたものである。
【００６９】
（名寄支援装置１０１の機能的構成例）
つぎに、名寄支援装置１０１の機能的構成について説明する。図１１は、名寄支援装置１０１の機能的構成例を示すブロック図である。図１１において、名寄支援装置１０１は、取得部１１０１と、設定部１１０２と、選択部１１０３と、変換部１１０４と、判定部１１０５と、格納部１１０６と、作成部１１０７と、判断部１１０８と、変更部１１０９と、出力部１１１０と、を含む構成である。取得部１１０１〜出力部１１１０は制御部となる機能であり、具体的には、例えば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０９により、その機能を実現する。また、各機能部の処理結果は、例えば、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶される。
【００７０】
取得部１１０１は、装置間において送受信される電文を取得する機能を有する。ここで、電文は、例えば、図２に示したシステム２００内の装置間において送受信されるリクエスト電文である。具体的には、例えば、取得部１１０１は、システム２００内の装置間において送受信されるパケットを解析して電文Ｍ１を再構成することにより、電文Ｍ１を含む電文情報５００（図５参照）を取得する。また、取得部１１０１は、図４に示したキーボード４１０やマウス４１１を用いたユーザの操作入力により、または、データベースからの抽出により、システム２００内の装置間において送受信される電文Ｍ１を含む電文情報５００を取得することにしてもよい。
【００７１】
設定部１１０２は、名寄せ定義の選択順序を設定する機能を有する。ここで、名寄せ定義は、電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより電文を変換するルールである。一定値は、例えば、単語、記号、空文字、スペースなどを含む。名寄せ定義によれば、電文間の同一性を判別可能な形に電文を変換することができる。
【００７２】
一例として、図６に示した名寄せ定義リスト６００内のルール番号「１」の名寄せ定義を例に挙げると、例えば、電文に含まれる「ＳＥＬＥＣＴ」または「ｓｅｌｅｃｔ」を一定値「ＳＥＬＥＣＴ」に置換することにより、大文字、小文字の表記揺れを統一することができる。また、例えば、電文に含まれる「ＳＥＬＥＣＴ」と「ＦＲＯＭ」との間の文字列を一定値「…」に置換することにより、電文に含まれる文字列のうち監視の目的としない情報を排除することができる。また、例えば、電文に含まれる「ＷＨＥＲＥ」の後に続く文字列を一定値「…」に置換することにより、電文に含まれる文字列のうち不要な条件指定を排除することができる。
【００７３】
また、名寄せ定義の選択順序は、複数の名寄せ定義の中から電文に適用する名寄せ定義を選択する順番である。具体的には、例えば、設定部１１０２は、図８に示した名寄せ統計リスト８００を参照して、名寄せ定義リスト６００の各々の名寄せ定義の選択順序を設定する。
【００７４】
より具体的には、例えば、設定部１１０２は、名寄せ統計リスト８００の名寄せ定義の適用回数を参照して、名寄せ定義リスト６００の各々の名寄せ定義の選択順序を適用回数が多い順に設定することにしてもよい。これにより、複数の名寄せ定義を、電文に対して名寄せ定義が適用された適用回数が多い順に並び換えることができる。この結果、電文に対するマッチング処理の処理量を削減して名寄せ処理全体の処理量を削減し、名寄せ処理にかかる処理時間の短縮化を図ることができる。
【００７５】
より具体的には、例えば、設定部１１０２は、名寄せ統計リスト８００の名寄せ定義の平均処理時間を参照して、名寄せ定義リスト６００の各々の名寄せ定義の選択順序を平均処理時間が短い順に設定することにしてもよい。これにより、複数の名寄せ定義を、個々の名寄せ処理にかかる処理時間が短い順に並び換えることができ、名寄せ処理全体にかかる処理時間の短縮化を図ることができる。
【００７６】
また、設定部１１０２は、例えば、キーボード４１０やマウス４１１を用いたユーザの操作入力により、名寄せ定義リスト６００の各々の名寄せ定義の選択順序を設定することにしてもよい。なお、設定された設定結果は、例えば、図１０に示した名寄せ定義リスト改１０００に反映される。
【００７７】
選択部１１０３は、電文に適用する名寄せ定義を選択する機能を有する。具体的には、例えば、選択部１１０３は、名寄せ定義リスト６００から名寄せ定義を上から順に選択する。また、選択部１１０３は、名寄せ定義リスト改１０００から名寄せ定義を上から順に選択する。
【００７８】
変換部１１０４は、選択された名寄せ定義に基づいて、取得された電文を変換する機能を有する。具体的には、例えば、変換部１１０４は、電文に含まれる文字列のうち、名寄せ定義の特定のパターンに合致（マッチ）する文字列があるか否かを判断する。そして、変換部１１０４は、特定のパターンに合致する文字列がある場合、特定のパターンに合致する文字列を一定値に置換することにより電文を変換する。
【００７９】
より具体的には、例えば、変換部１１０４は、名寄せ定義リスト６００から選択された名寄せ定義に基づいて、取得された電文を変換する。また、例えば、変換部１１０４は、名寄せ定義リスト改１０００から選択された名寄せ定義に基づいて、取得された電文を変換する。
【００８０】
以下の説明では、名寄せ定義リスト改１０００から名寄せ定義を上から順に選択して電文に適用した結果、最初にマッチした名寄せ定義を「第１の名寄せ定義」と表記する場合がある。第１の名寄せ定義に基づいて変換された変換後の電文を「第１の電文」と表記する場合がある。
【００８１】
また、名寄せ定義リスト６００から名寄せ定義を上から順に選択して電文に適用した結果、最初にマッチした名寄せ定義を「第２の名寄せ定義」と表記する場合がある。第２の名寄せ定義に基づいて変換された変換後の電文を「第２の電文」と表記する場合がある。ただし、第２の名寄せ定義は、第１の名寄せ定義よりも付与されている優先順位が高い名寄せ定義とする。
【００８２】
判定部１１０５は、第１の電文と第２の電文とが一致するか否かを判定する機能を有する。具体的には、例えば、判定部１１０５は、第１の電文と第２の電文との文字列を比較することにより、第１の電文と第２の電文とが一致するか否かを判定することにしてもよい。
【００８３】
格納部１１０６は、変換された変換後の電文を記憶装置に格納する機能を有する。具体的には、例えば、格納部１１０６は、第１の電文と第２の電文とが一致する場合、図７に示した名寄せ後電文リスト７００に第１の電文または第２の電文を格納する。
【００８４】
作成部１１０７は、第１の電文と第２の電文とが不一致の場合、第１の名寄せ定義の選択順序と第２の名寄せ定義の選択順序とが満たすべき制約条件を作成する機能を有する。具体的には、例えば、作成部１１０７は、第１の電文と第２の電文とが不一致の場合、第１の名寄せ定義の選択順序が第２の名寄せ定義の選択順序よりも後となる制約条件を作成する。なお、制約条件の作成例については、図１２を用いて後述する。
【００８５】
また、変換部１１０４は、第１の電文と同一の電文が記憶装置に記憶されていない場合に、第２の名寄せ定義に基づいて電文を変換することにしてもよい。具体的には、例えば、変換部１１０４は、第１の電文と同一の電文が名寄せ後電文リスト７００に含まれているか否かを判断する。そして、変換部１１０４は、第１の電文と同一の電文が名寄せ後電文リスト７００に含まれていない場合に、第２の名寄せ定義に基づいて電文を変換する。
【００８６】
これにより、第１の電文がこれまでになかった新規の電文であった場合に、第２の名寄せ定義に基づく電文の変換が行われ、第１の電文と第２の電文との一致判定が行われることになる。このため、既に判定済みの第１の電文と第２の電文との一致判定にかかる無駄な処理や、既に作成済みの制約条件と同一の制約条件を作成する無駄な処理を削減することができる。
【００８７】
判断部１１０８は、第１の電文と第２の電文とが不一致の場合、設定された名寄せ定義群の各々の選択順序のうち、第１の名寄せ定義の選択順序と第２の名寄せ定義の選択順序との順序関係が、作成された制約条件を満たすか否かを判断する機能を有する。具体的には、例えば、判断部１１０８は、第１の名寄せ定義の選択順序が第２の名寄せ定義の選択順序よりも先の場合に制約条件を満たさないと判断する。
【００８８】
変更部１１０９は、制約条件を満たさない場合、第１の名寄せ定義の選択順序が第２の名寄せ定義の選択順序よりも後となるように、設定された名寄せ定義群の各々の選択順序を変更する機能を有する。具体的には、例えば、変更部１１０９は、第１の名寄せ定義の選択順序を第２の名寄せ定義の選択順序の直後に変更する。第１の名寄せ定義の選択順序以降の名寄せ定義の選択順序をそれぞれ後にずらす。より具体的には、例えば、変更部１１０９は、名寄せ定義リスト改１０００内の第１の名寄せ定義の名寄せ定義情報を、第２の名寄せ定義の名寄せ定義情報の直下に挿入することにしてもよい。
【００８９】
これにより、名寄せ定義リスト６００を用いて電文の名寄せ処理を行った場合と同じ出力結果が得られるように、名寄せ定義リスト改１０００の各々の名寄せ定義の選択順序を変更することができる。なお、選択順序の変更例については、図１３および図１４を用いて後述する。
【００９０】
また、選択部１１０３は、名寄せ定義群の各々の選択順序が変更された場合、変更された変更後の名寄せ定義群の各々の選択順序にしたがって、電文の名寄せ処理に用いる名寄せ定義を選択する。具体的には、例えば、選択部１１０３は、第１の名寄せ定義の名寄せ定義情報が第２の名寄せ定義の名寄せ定義情報の直下に挿入された名寄せ定義リスト改１０００から名寄せ定義を上から順に選択する。この結果、変更後の名寄せ定義群の各々の選択順序にしたがって選択された名寄せ定義に基づいて電文が変換されることになる。
【００９１】
出力部１１１０は、作成された制約条件を出力する機能を有する。具体的には、例えば、出力部１１１０は、図９に示したような名寄せ制約リスト９００を出力することにしてもよい。出力部１１１０の出力形式としては、例えば、ディスプレイ４０８への表示、プリンタ４１３への印刷出力、Ｉ／Ｆ４０９による外部装置への送信、記憶領域への格納がある。
【００９２】
これにより、以降において任意のタイミングで、名寄せ定義リスト６００を用いて電文の名寄せ処理を行った場合と同じ出力結果が得られるように、名寄せ定義リスト改１０００の各々の名寄せ定義の選択順序を変更することができる。
【００９３】
また、出力部１１１０は、変換された変換後の電文を出力する機能を有する。具体的には、例えば、出力部１１１０は、第１の電文と同一の電文が名寄せ後電文リスト７００に記憶されている場合は、第１の電文を出力する。また、出力部１１１０は、第１の電文と第２の電文とが一致する場合は、第１の電文または第２の電文のいずれか一方の電文を出力する。また、出力部１１１０は、第１の電文と第２の電文とが不一致の場合は、第２の電文を出力する。
【００９４】
これにより、名寄せ定義リスト６００の各々の名寄せ定義の選択順序を変更しても、各々の名寄せ定義に付与されている優先順位にしたがって名寄せ処理を行った場合と同一の出力結果を得ることができる。
【００９５】
（制約条件の作成例）
つぎに、図５に示した電文Ｍ１を含む電文情報５００を例に挙げて、第１の名寄せ定義の選択順序と第２の名寄せ定義の選択順序とが満たすべき制約条件の作成例について説明する。
【００９６】
図１２は、制約条件の作成例を示す説明図である。図１２において、電文Ｍ１は、システム２００内の装置間において送受信されるリクエスト電文である。ここでは、名寄せ定義リスト６００から名寄せ定義を上から順に選択して電文Ｍ１に適用した結果、最初にマッチした名寄せ定義をルール番号「１」の名寄せ定義とする。電文１２０１は、ルール番号「１」の名寄せ定義に基づいて電文Ｍ１を変換した変換後の電文（上述した、第２の電文に相当）である。
【００９７】
また、名寄せ定義リスト改１０００から名寄せ定義を上から順に選択して電文Ｍ１に適用した結果、最初にマッチした名寄せ定義をルール番号「５」の名寄せ定義とする。電文１２０２は、ルール番号「５」の名寄せ定義に基づいて電文Ｍ１を変換した変換後の電文（上述した、第１の電文に相当）である。
【００９８】
この場合、判定部１１０５は、例えば、電文１２０１と電文１２０２との文字列を比較することにより、電文１２０１と電文１２０２とが一致しないと判定する。そして、作成部１１０７は、ルール番号「１」の名寄せ定義の選択順序と、ルール番号「５」の名寄せ定義の選択順序とが満たすべき制約条件を作成する。
【００９９】
具体的には、例えば、作成部１１０７は、名寄せ制約リスト９００の基準ルール番号にルール番号「１」を設定し、対応する後続ルール番号にルール番号「５」を設定する。これにより、ルール番号「５」の名寄せ定義の選択順序が、ルール番号「１」の名寄せ定義の選択順序よりも後となる制約条件を作成することができる。
【０１００】
（名寄せ定義の選択順序の変更例）
つぎに、図９に示した名寄せ制約リスト９００と、図１０に示した名寄せ定義リスト改１０００とを例に挙げて、名寄せ定義の選択順序の変更例について説明する。
【０１０１】
図１３および図１４は、名寄せ定義の選択順序の変更例を示す説明図である。図１３の（１３−１）において、図８に示した名寄せ統計リスト８００の適用回数が多い順に名寄せ定義リスト６００内の名寄せ定義を並び換えた名寄せ定義リスト改１０００が示されている。
【０１０２】
図１３の（１３−１）において、判断部１１０８は、名寄せ定義リスト改１０００の上から順に名寄せ定義を選択し、選択したルール番号が名寄せ制約リスト９００の基準ルール番号に設定されているか否かを判断する。ここでは、ルール番号「１」の名寄せ定義が選択された結果、ルール番号が名寄せ制約リスト９００の基準ルール番号に設定されていると判断される。
【０１０３】
つぎに、判断部１１０８は、名寄せ定義リスト改１０００において、基準ルール番号に対応する後続ルール番号の名寄せ定義が、基準ルール番号の名寄せ定義よりも上の行に存在するか否かを判断する。ここでは、後続ルール番号「３」の名寄せ定義が基準ルール番号「１」の名寄せ定義よりも上の行に存在する。この場合、判断部１１０８は、ルール番号「１」の名寄せ定義の選択順序とルール番号「３」の名寄せ定義の選択順序との順序関係が制約条件を満たさないと判断する。
【０１０４】
図１３の（１３−２）において、変更部１１０９は、制約条件を満たさない場合、ルール番号「３」の名寄せ定義の選択順序が、ルール番号「１」の名寄せ定義の選択順序よりも後となるように、各々の名寄せ定義の選択順序を変更する。ここでは、ルール番号「３」の名寄せ定義の名寄せ定義情報６００−３が、ルール番号「１」の名寄せ定義の名寄せ定義情報６００−１の直下に挿入されている。
【０１０５】
図１４の（１３−３）において、判断部１１０８は、名寄せ定義リスト改１０００の上から順に未選択の名寄せ定義を選択し、選択したルール番号が名寄せ制約リスト９００の基準ルール番号に設定されているか否かを判断する。ここでは、ルール番号「２」の名寄せ定義が選択された結果、ルール番号が名寄せ制約リスト９００の基準ルール番号に設定されていると判断される。
【０１０６】
つぎに、判断部１１０８は、名寄せ定義リスト改１０００において、基準ルール番号に対応する後続ルール番号の名寄せ定義が、基準ルール番号の名寄せ定義よりも上の行に存在するか否かを判断する。ここでは、後続ルール番号「４」の名寄せ定義が基準ルール番号「２」の名寄せ定義よりも上の行に存在する。この場合、判断部１１０８は、ルール番号「２」の名寄せ定義の選択順序とルール番号「４」の名寄せ定義の選択順序との順序関係が制約条件を満たさないと判断する。
【０１０７】
図１４の（１３−４）において、変更部１１０９は、制約条件を満たさない場合、ルール番号「４」の名寄せ定義の選択順序が、ルール番号「２」の名寄せ定義の選択順序よりも後となるように、各々の名寄せ定義の選択順序を変更する。ここでは、ルール番号「４」の名寄せ定義の名寄せ定義情報６００−４が、ルール番号「２」の名寄せ定義の名寄せ定義情報６００−２の直下に挿入されている。
【０１０８】
このように、名寄せ制約リスト９００にしたがって名寄せ定義の選択順序を変更することにより、名寄せ定義リスト６００を用いた場合と同じ出力結果が得られるように、名寄せ定義リスト改１０００の名寄せ定義の選択順序を変更することができる。
【０１０９】
（名寄支援装置１０１の名寄支援処理手順）
つぎに、名寄支援装置１０１の名寄支援処理手順について説明する。
【０１１０】
図１５は、名寄支援装置１０１の名寄支援処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、名寄支援装置１０１は、システム２００内の装置間において送受信される電文を取得したか否かを判断する（ステップＳ１５０１）。ここで、名寄支援装置１０１は電文を取得するのを待つ（ステップＳ１５０１：Ｎｏ）。
【０１１１】
そして、名寄支援装置１０１は、電文を取得した場合（ステップＳ１５０１：Ｙｅｓ）、名寄せ定義リスト改１０００を用いて第１の名寄せ処理を実行する（ステップＳ１５０２）。つぎに、名寄支援装置１０１は、変換した変換後の電文と同一の電文が名寄せ後電文リスト７００に含まれているか否かを判断する（ステップＳ１５０３）。
【０１１２】
ここで、名寄せ後電文リスト７００に含まれている場合（ステップＳ１５０３：Ｙｅｓ）、名寄支援装置１０１は、名寄せ統計リスト８００の第１の名寄せ定義の適用回数をインクリメントする（ステップＳ１５０４）。なお、第１の名寄せ定義は、名寄せ定義リスト改１０００の名寄せ定義のうち最初に電文にマッチした名寄せ定義である。
【０１１３】
そして、名寄支援装置１０１は、第１の名寄せ処理の名寄せ結果を表す第１の電文を出力して（ステップＳ１５０５）、本フローチャートによる一連の処理を終了する。なお、第１の電文は、取得した電文を第１の名寄せ定義に基づいて変換した変換後の電文である。
【０１１４】
また、ステップＳ１５０３において、名寄せ後電文リスト７００に含まれていない場合（ステップＳ１５０３：Ｎｏ）、名寄支援装置１０１は、名寄せ定義リスト６００を用いて第２の名寄せ処理を実行する（ステップＳ１５０６）。
【０１１５】
つぎに、名寄支援装置１０１は、第１の電文と第２の電文とが一致するか否かを判定する（ステップＳ１５０７）。なお、第２の電文は、取得した電文を第２の名寄せ定義に基づいて変換した変換後の電文である。第２の名寄せ定義は、名寄せ定義リスト６００の名寄せ定義のうち最初に電文にマッチした名寄せ定義である。
【０１１６】
ここで、第１の電文と第２の電文とが一致する場合（ステップＳ１５０７：Ｙｅｓ）、名寄支援装置１０１は、第１の電文を名寄せ後電文リスト７００に格納する（ステップＳ１５０８）。つぎに、名寄支援装置１０１は、名寄せ統計リスト８００の第１の名寄せ定義の適用回数をインクリメントする（ステップＳ１５０９）。そして、名寄支援装置１０１は、第１の名寄せ処理の名寄せ結果を表す第１の電文を出力して（ステップＳ１５１０）、本フローチャートによる一連の処理を終了する。
【０１１７】
また、ステップＳ１５０７において、第１の電文と第２の電文とが不一致の場合（ステップＳ１５０７：Ｎｏ）、名寄支援装置１０１は、名寄せ統計リスト８００の第２の名寄せ定義の適用回数をインクリメントする（ステップＳ１５１１）。つぎに、名寄支援装置１０１は、第２の名寄せ処理の名寄せ結果を表す第２の電文を出力する（ステップＳ１５１２）。
【０１１８】
そして、名寄支援装置１０１は、第２の名寄せ定義のルール番号を名寄せ制約リスト９００の基準ルール番号に設定する（ステップＳ１５１３）。これにより、新たな制約条件情報がレコードとして名寄せ制約リスト９００に記憶される。つぎに、名寄支援装置１０１は、第１の名寄せ定義のルール番号を名寄せ制約リスト９００の対応する後続ルール番号に設定する（ステップＳ１５１４）。
【０１１９】
そして、名寄支援装置１０１は、名寄せ制約リスト９００を参照して、名寄せ定義リスト改１０００の更新処理を実行して（ステップＳ１５１５）、本フローチャートによる一連の処理を終了する。
【０１２０】
なお、ステップＳ１５１３において、第２の名寄せ定義のルール番号が名寄せ制約リスト９００の基準ルール番号に設定済みの場合、名寄支援装置１０１はステップＳ１５１３をスキップすることにしてもよい。また、ステップＳ１５１４において、第１の名寄せ定義のルール番号が名寄せ制約リスト９００の対応する後続ルール番号に設定済みの場合、名寄支援装置１０１はステップＳ１５１４をスキップすることにしてもよい。
【０１２１】
また、ステップＳ１５０４およびステップＳ１５０９において、名寄支援装置１０１は、第１の名寄せ定義の平均処理時間を算出して、名寄せ統計リスト８００の第１の名寄せ定義の平均処理時間を更新することにしてもよい。また、ステップＳ１５１１において、名寄支援装置１０１は、第２の名寄せ定義の平均処理時間を算出して、名寄せ統計リスト８００の第２の名寄せ定義の平均処理時間を更新することにしてもよい。
【０１２２】
これにより、ユーザが意図した名寄せ処理の出力結果を得ることができるとともに、名寄せ処理にかかる処理時間の短縮化を図ることができる。
【０１２３】
つぎに、図１５に示したステップＳ１５０２の第１の名寄せ処理の具体的な処理手順について説明する。
【０１２４】
図１６は、第１の名寄せ処理の具体的処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、名寄支援装置１０１は、名寄せ定義リスト改１０００の上の行から順に未選択の名寄せ定義を選択する（ステップＳ１６０１）。
【０１２５】
つぎに、名寄支援装置１０１は、選択した名寄せ定義が、図１５に示したステップＳ１５０１において取得した電文にマッチするか否かを判断する（ステップＳ１６０２）。ここで、電文にマッチする場合（ステップＳ１６０２：Ｙｅｓ）、名寄支援装置１０１は、選択した名寄せ定義に基づいて、取得した電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより第１の電文に変換する（ステップＳ１６０３）。そして、名寄支援装置１０１は、第１の名寄せ処理を呼び出したステップへ戻る。
【０１２６】
また、ステップＳ１６０２において、電文にマッチしない場合（ステップＳ１６０２：Ｎｏ）、名寄支援装置１０１は、名寄せ定義リスト改１０００から選択していない未選択の名寄せ定義があるか否かを判断する（ステップＳ１６０４）。ここで、未選択の名寄せ定義がある場合（ステップＳ１６０４：Ｙｅｓ）、名寄支援装置１０１はステップＳ１６０１に戻る。
【０１２７】
一方、未選択の名寄せ定義がない場合（ステップＳ１６０４：Ｎｏ）、名寄支援装置１０１は、第１の名寄せ処理を呼び出したステップへ戻る。この場合、図１５に示したステップＳ１５０１において取得した電文を第１の電文とすることにしてもよい。
【０１２８】
これにより、名寄せ定義リスト改１０００から名寄せ定義を上から順に選択し、最初に電文にマッチした名寄せ定義に基づいて、電文を第１の電文に変換することができる。
【０１２９】
なお、図１５に示したステップＳ１５０６の第２の名寄せ処理の具体的な処理手順については、上述した第１の名寄せ処理の具体的な処理手順と同様のため説明を省略する。
【０１３０】
つぎに、図１５に示したステップＳ１５１５の名寄せ定義リスト改１０００の更新処理の具体的な処理手順について説明する。
【０１３１】
図１７は、名寄せ定義リスト改１０００の更新処理の具体的処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、名寄支援装置１０１は、名寄せ統計リスト８００を参照して、名寄せ定義リスト６００の名寄せ定義を適用回数が多い順に並び換えて名寄せ定義リスト改１０００を作成する（ステップＳ１７０１）。
【０１３２】
つぎに、名寄支援装置１０１は、作成した名寄せ定義リスト改１０００の上の行から順に未選択の名寄せ定義を選択する（ステップＳ１７０２）。そして、名寄支援装置１０１は、選択した名寄せ定義のルール番号が名寄せ制約リスト９００の基準ルール番号に設定されているか否かを判断する（ステップＳ１７０３）。
【０１３３】
ここで、基準ルール番号に設定されていない場合（ステップＳ１７０３：Ｎｏ）、ステップＳ１７０７に移行する。一方、基準ルール番号に設定されている場合（ステップＳ１７０３：Ｙｅｓ）、名寄支援装置１０１は、名寄せ定義リスト改１０００の選択した名寄せ定義より上の行の名寄せ定義のルール番号を特定する（ステップＳ１７０４）。
【０１３４】
そして、名寄支援装置１０１は、特定したルール番号が、名寄せ制約リスト９００の基準ルール番号に対応する後続ルール番号に設定されているか否かを判断する（ステップＳ１７０５）。ここで、後続ルール番号に設定されていない場合（ステップＳ１７０５：Ｎｏ）、ステップＳ１７０７に移行する。
【０１３５】
一方、後続ルール番号に設定されている場合（ステップＳ１７０５：Ｙｅｓ）、名寄支援装置１０１は、名寄せ定義リスト改１０００において、後続ルール番号に設定されているルール番号の名寄せ定義の名寄せ定義情報を、選択した基準ルール番号に設定されているルール番号の名寄せ定義の名寄せ定義情報の下の行に挿入する（ステップＳ１７０６）。
【０１３６】
そして、名寄支援装置１０１は、名寄せ定義リスト改１０００から選択していない未選択の名寄せ定義があるか否かを判断する（ステップＳ１７０７）。ここで、未選択の名寄せ定義がある場合（ステップＳ１７０７：Ｙｅｓ）、ステップＳ１７０２に戻る。一方、未選択の名寄せ定義がない場合（ステップＳ１７０７：Ｎｏ）、名寄支援装置１０１は、名寄せ定義リスト改１０００の更新処理を呼び出したステップへ戻る。
【０１３７】
これにより、名寄せ定義リスト６００を用いた名寄せ処理と同一の出力結果が得られる名寄せ定義間の順序関係の制約条件を満たしつつ、名寄せ定義リスト改１０００内の各々の名寄せ定義の選択順序を最適化することができる。
【０１３８】
なお、上述した説明では、名寄せ定義リスト改１０００の更新処理において、名寄支援装置１０１は、名寄せ定義リスト改１０００をその都度作成することにしたが、これに限らない。具体的には、例えば、名寄支援装置１０１は、所定期間（例えば、１日、１週間）が経過した場合に、名寄せ定義リスト改１０００を新たに作成することにしてもよい。また、名寄支援装置１０１は、名寄せ統計リスト８００の適用回数の順位に変動があった場合に、名寄せ定義リスト改１０００を新たに作成することにしてもよい。
【０１３９】
また、名寄支援装置１０１の名寄支援処理は、例えば、名寄せ後電文リスト７００および名寄せ統計リスト８００にある程度情報が蓄積されてから実行されることが望ましい。具体的には、例えば、名寄支援処理は、名寄せ統計リスト８００の総適用回数が一定数以上となった場合に実行されることにしてもよい。また、名寄支援処理は、例えば、名寄せ後電文リスト７００に一定数以上の名寄せ後電文が格納された場合に実行されることにしてもよい。また、名寄支援処理は、例えば、名寄せ後電文リスト７００への新規の電文の登録が一定期間発生しない場合に実行されることにしてもよい。
【０１４０】
以上説明したように、実施の形態にかかる名寄支援装置１０１によれば、システム２００内の装置間において送受信される電文を取得し、名寄せ定義リスト改１０００から選択された第１の名寄せ定義に基づいて、取得した電文を第１の電文に変換することができる。また、名寄支援装置１０１によれば、名寄せ定義リスト６００から選択された、第１の名寄せ定義よりも付与されている優先順位が高い第２の名寄せ定義に基づいて、取得した電文を第２の電文に変換することができる。そして、名寄支援装置１０１によれば、第１の電文と第２の電文とが不一致の場合、第１の名寄せ定義の選択順序が第２の名寄せ定義の選択順序よりも後となる制約条件を作成することができる。
【０１４１】
これにより、名寄せ定義リスト６００内の名寄せ定義の適用順序を変更しても名寄せ処理の出力結果が変わらない第１の名寄せ定義と第２の名寄せ定義との間の順序関係を特定することができる。
【０１４２】
また、名寄支援装置１０１によれば、名寄せ定義リスト６００内の各々の名寄せ定義の選択順序を設定し、設定した各々の名寄せ定義の選択順序のうち第１の名寄せ定義の選択順序と第２の名寄せ定義の選択順序との順序関係が、作成した制約条件を満たすか否かを判断することができる。そして、名寄支援装置１０１によれば、制約条件を満たさない場合、第１の名寄せ定義の選択順序が第２の名寄せ定義の選択順序よりも後となるように各々の名寄せ定義の選択順序を変更することができる。
【０１４３】
これにより、名寄せ処理の出力結果が変わらないように、名寄せ定義リスト改１０００内の各々の名寄せ定義の選択順序を変更することができる。
【０１４４】
また、名寄支援装置１０１によれば、変更した変更後の各々の名寄せ定義の選択順序にしたがって、名寄せ定義リスト改１０００から名寄せ定義を選択し、選択した名寄せ定義に基づいて、取得した電文を変換することができる。これにより、名寄せ定義リスト６００内の各々の名寄せ定義の選択順序を変更しても、変更前と同一の出力結果を得ることができる。
【０１４５】
また、名寄支援装置１０１によれば、第１の電文と第２の電文とが一致する場合、名寄せ後電文リスト７００に第１の電文または第２の電文を格納することができる。また、名寄支援装置１０１によれば、名寄せ定義リスト改１０００から選択された第１の名寄せ定義に基づいて、新たな電文を第１の電文に変換し、変換した第１の電文と同一の電文が名寄せ後電文リスト７００に含まれているか否かを判断することができる。そして、名寄支援装置１０１によれば、第１の電文と同一の電文が名寄せ後電文リスト７００に含まれていない場合に、名寄せ定義リスト６００から選択された第２の名寄せ定義に基づいて、新たな電文を第２の電文に変換することができる。
【０１４６】
これにより、第１の電文がこれまでになかった新規の電文であった場合に、第２の名寄せ定義に基づいて電文を第２の電文に変換し、第１の電文と第２の電文との一致判定を行うことができる。この結果、既に判定済みの第１の電文と第２の電文との一致判定にかかる無駄な処理や、既に作成済みの制約条件と同一の制約条件を作成する無駄な処理を削減することができる。
【０１４７】
また、名寄支援装置１０１によれば、名寄せ統計リスト８００の名寄せ定義の適用回数を参照して、名寄せ定義リスト６００内の各々の名寄せ定義の選択順序を適用回数が多い順に設定することができる。これにより、名寄せ処理にかかる処理時間の短縮化を図りつつ、名寄せ処理の出力結果が変わらないように、名寄せ定義リスト改１０００内の各々の名寄せ定義の選択順序を変更することができる。
【０１４８】
また、名寄支援装置１０１によれば、名寄せ統計リスト８００の名寄せ定義の平均処理時間を参照して、名寄せ定義リスト６００の各々の名寄せ定義の選択順序を平均処理時間が短い順に設定することができる。これにより、名寄せ処理にかかる処理時間の短縮化を図りつつ、名寄せ処理の出力結果が変わらないように、名寄せ定義リスト改１０００内の各々の名寄せ定義の選択順序を変更することができる。
【０１４９】
これらのことから、本名寄支援プログラム、名寄支援方法および名寄支援装置によれば、名寄せ定義リスト６００を用いた名寄せ処理と同一の出力結果が得られる名寄せ定義間の順序関係の制約条件を満たしつつ、名寄せ定義の選択順序を最適化することができる。この結果、ユーザが意図した名寄せ処理の出力結果を得ることができるとともに、名寄せ処理にかかる処理時間の短縮化を図ることができる。
【０１５０】
なお、本実施の形態で説明した名寄支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本名寄支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本名寄支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１５１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１５２】
（付記１）コンピュータに、
装置間において送受信される電文を取得し、
電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより前記電文を変換する名寄ルール群から選択された第１の名寄ルールに基づいて、取得した前記電文を第１の電文に変換し、
前記名寄ルール群の各々に付与されている優先順位が前記第１の名寄ルールよりも高い第２の名寄ルールに基づいて、取得した前記電文を第２の電文に変換し、
変換した前記第１の電文と前記第２の電文とが一致するか否かを判定し、
前記第１の電文と前記第２の電文とが不一致の場合、前記名寄ルール群からの前記第１の名寄ルールの選択順序と前記第２の名寄ルールの選択順序とが満たすべき制約条件として、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となる制約条件を作成する、
処理を実行させることを特徴とする名寄支援プログラム。
【０１５３】
（付記２）前記コンピュータに、
前記名寄ルール群の各々の選択順序を設定し、
設定した前記名寄ルール群の各々の選択順序のうち前記第１の名寄ルールの選択順序と前記第２の名寄ルールの選択順序との順序関係が、作成した前記制約条件を満たすか否かを判断し、
前記制約条件を満たさない場合、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となるように前記名寄ルール群の各々の選択順序を変更する、
処理を実行させることを特徴とする付記１に記載の名寄支援プログラム。
【０１５４】
（付記３）前記コンピュータに、
変更した変更後の前記名寄ルール群の各々の選択順序にしたがって、前記名寄ルール群から名寄ルールを選択し、
選択した前記名寄ルールに基づいて、取得した前記電文を変換し、
変換した変換後の前記電文を出力する、
処理を実行させることを特徴とする付記２に記載の名寄支援プログラム。
【０１５５】
（付記４）前記コンピュータに、
出力した前記変換後の前記電文を記憶部に格納し、
前記装置間において送受信される新たな電文を取得し、
前記第１の名寄ルールに基づいて、取得した前記新たな電文を第１の電文に変換し、
前記第１の電文と同一の電文が前記記憶部に記憶されていない場合、前記優先順位が前記第１の名寄ルールよりも高い第２の名寄ルールに基づいて、取得した前記新たな電文を第２の電文に変換し、
変換した前記第１の電文と前記第２の電文とが一致するか否かを判定し、
前記第１の電文と前記第２の電文とが不一致の場合、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となる制約条件を作成する、
処理を実行させることを特徴とする付記３に記載の名寄支援プログラム。
【０１５６】
（付記５）前記選択順序を設定する処理は、
電文に適用された前記名寄ルール群の各々の適用回数に基づいて、前記名寄ルール群の各々の選択順序を設定することを特徴とする付記２〜４のいずれか一つに記載の名寄支援プログラム。
【０１５７】
（付記６）前記選択順序を設定する処理は、
前記名寄ルール群の各々に基づく電文の変換処理にかかる前記名寄ルール群の各々の処理時間に基づいて、前記名寄ルール群の各々の選択順序を設定することを特徴とする付記２〜４のいずれか一つに記載の名寄支援プログラム。
【０１５８】
（付記７）コンピュータが、
装置間において送受信される電文を取得し、
電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより前記電文を変換する名寄ルール群から選択された第１の名寄ルールに基づいて、取得した前記電文を第１の電文に変換し、
前記名寄ルール群の各々に付与されている優先順位が前記第１の名寄ルールよりも高い第２の名寄ルールに基づいて、取得した前記電文を第２の電文に変換し、
変換した前記第１の電文と前記第２の電文とが一致するか否かを判定し、
前記第１の電文と前記第２の電文とが不一致の場合、前記名寄ルール群からの前記第１の名寄ルールの選択順序と前記第２の名寄ルールの選択順序とが満たすべき制約条件として、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となる制約条件を作成する、
処理を実行することを特徴とする名寄支援方法。
【０１５９】
（付記８）装置間において送受信される電文を取得する取得部と、
電文に含まれる文字列のうち特定のパターンに合致する文字列を一定値に置換することにより前記電文を変換する名寄ルール群から選択された第１の名寄ルールに基づいて、前記取得部によって取得された前記電文を第１の電文に変換する第１の変換部と、
前記名寄ルール群の各々に付与されている優先順位が前記第１の名寄ルールよりも高い第２の名寄ルールに基づいて、取得された前記電文を第２の電文に変換する第２の変換部と、
前記第１の変換部によって変換された前記第１の電文と前記第２の変換部によって変換された前記第２の電文とが一致するか否かを判定する判定部と、
前記判定部によって前記第１の電文と前記第２の電文とが一致しないと判定された場合、前記名寄ルール群からの前記第１の名寄ルールの選択順序と前記第２の名寄ルールの選択順序とが満たすべき制約条件として、前記第１の名寄ルールの選択順序が前記第２の名寄ルールの選択順序よりも後となる制約条件を作成する作成部と、
を有することを特徴とする名寄支援装置。
【符号の説明】
【０１６０】
１０１  名寄支援装置
１１０１  取得部
１１０２  設定部
１１０３  選択部
１１０４  変換部
１１０５  判定部
１１０６  格納部
１１０７  作成部
１１０８  判断部
１１０９  変更部
１１１０  出力部
【図１】
0005786769.tif 000002
【図２】
0005786769.tif 000003
【図３】
0005786769.tif 000004
【図４】
0005786769.tif 000005
【図５】
0005786769.tif 000006
【図６】
0005786769.tif 000007
【図７】
0005786769.tif 000008
【図８】
0005786769.tif 000009
【図９】
0005786769.tif 000010
【図１０】
0005786769.tif 000011
【図１１】
0005786769.tif 000012
【図１２】
0005786769.tif 000013
【図１３】
0005786769.tif 000014
【図１４】
0005786769.tif 000015
【図１５】
0005786769.tif 000016
【図１６】
0005786769.tif 000017
【図１７】
0005786769.tif 000018