(57)【特許請求の範囲】
【請求項１】
複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援する紐付け支援方法をコンピュータに実行させる紐付け支援プログラムであって、
前記コンピュータが、前記複数のメッセージそれぞれのメッセージ種別、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を取得する情報取得ステップと、
前記コンピュータが、前記情報取得ステップにて取得される情報に基づいて、前記情報取得ステップにて取得される複数の文字列の内から、所定の条件を満たす文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する不要文字列除外ステップと、
前記コンピュータが、前記情報取得ステップにて取得される情報に基づいて、前記不要文字列除外ステップにて文字列が除外された複数の文字列それぞれの前記紐付け処理に用いる順序を決定する処理順序決定ステップと、
を実行する紐付け支援プログラム。
【請求項２】
請求項１に記載の紐付け支援プログラムにおいて、
前記不要文字列除外ステップは、１つのメッセージにしか含まれない文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する紐付け支援プログラム。
【請求項３】
請求項１に記載の紐付け支援プログラムにおいて、
前記不要文字列除外ステップは、第１の文字列を含むメッセージが、第１の文字列とは異なる第２の文字列を常に含む場合に、第１の文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する紐付け支援プログラム。
【請求項４】
請求項１に記載の紐付け支援プログラムにおいて、
前記処理順序決定ステップは、前記情報取得ステップにて取得される前記データ流量に基づいて、紐付け処理を行った場合におけるデータ流量の総和が小さい文字列から紐付け処理に用いるように順序を決定する紐付け支援プログラム。
【請求項５】
複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援する紐付け支援方法であって、
コンピュータが、前記複数のメッセージそれぞれのメッセージ種別、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を取得する情報取得ステップと、
前記コンピュータが、前記情報取得ステップにて取得される情報に基づいて、前記情報取得ステップにて取得される複数の文字列の内から、所定の条件を満たす文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する不要文字列除外ステップと、
前記コンピュータが、前記情報取得ステップにて取得される情報に基づいて、前記不要文字列除外ステップにて文字列が除外された複数の文字列それぞれの前記紐付け処理に用いる順序を決定する処理順序決定ステップと、
を備えてなる紐付け支援方法。
【請求項６】
複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援する紐付け支援装置であって、
前記複数のメッセージそれぞれのメッセージ種別、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を取得する情報取得部と、
前記情報取得部にて取得される情報に基づいて、前記情報取得部にて取得される複数の文字列の内から、所定の条件を満たす文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する不要文字列除外部と、
前記情報取得部にて取得される情報に基づいて、前記不要文字列除外部にて文字列が除外された複数の文字列それぞれの前記紐付け処理に用いる順序を決定する処理順序決定部と、
を備えてなる紐付け支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランザクションの紐付け処理に関し、特にその高効率化に関するものである。
【背景技術】
【０００２】
電子商取引など複数レイヤのサーバ間に亘ってメッセージが交換され処理が進行するシステムでは、要求ＩＤのようなメッセージを関連付ける文字列を鍵にしてメッセージ交換されるケースが多い。さらにＷｅｂサーバ、アプリケーションサーバなど各レイヤ間で異なるＩＤ文字列が使われることがある（例えば、特許文献１参照。）。
【０００３】
システムの挙動監視やリクエスト遅延問題を解析する場合、これらの複数ＩＤ文字列を手がかりに、関連した要求を纏め上げる処理（紐付け処理）を高速に行い、特定の要求が流れた経路・タイミングを解析することが必要である。
【特許文献１】特開平９−１２８３４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
図２３は、従来の紐付けシステムの設計について説明するための図である。
【０００５】
紐付け処理の高速化を実現するためには、必要のない紐付け処理を省きながら紐付け処理の並列性を高め、かつデータ転送量を削減する必要がある。このためＩＤ文字列の種類が多い場合、高速な処理フローを作成することが難しくなる。
【０００６】
また、複数のサーバを経由して転送されるメッセージを１つの文字列で紐付けできればよいが、不可能であるケースが多い。また、紐付けに利用できそうなキーワード全てを順次結びつけてゆく手法は効率が悪い。
【０００７】
このような紐付けシステムの設計の困難性から、従来の紐付けシステムは、紐付け処理の並列化およびデータ転送量の削減などを図るため、人手に頼って設計されている。
【０００８】
本発明は上述した問題点を解決するためになされたものであり、高効率な紐付け処理を実行可能な紐付けシステムの自動設計を支援することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決するため、本発明の一実施の形態に係る紐付け支援装置は、複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援する紐付け支援装置であって、前記複数のメッセージそれぞれのメッセージ種別、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を取得する情報取得部と、前記情報取得部にて取得される情報に基づいて、前記情報取得部にて取得される複数の文字列の内から、紐付け処理におけるキーワードとして不要な文字列を除外する不要文字列除外部と、前記情報取得部にて取得される情報に基づいて、前記不要文字列除外部にて文字列が除外された複数の文字列それぞれを前記紐付け処理に用いる順序を決定する処理順序決定部と、を備えてなることを特徴とするものである。
【００１０】
また、本発明の一実施の形態に係る紐付け支援方法は、複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援する紐付け支援方法であって、前記複数のメッセージそれぞれのメッセージ種別、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を取得する情報取得ステップと、前記情報取得ステップにて取得される情報に基づいて、前記情報取得ステップにて取得される複数の文字列の内から、紐付け処理におけるキーワードとして不要な文字列を除外する不要文字列除外ステップと、前記情報取得ステップにて取得される情報に基づいて、前記不要文字列除外ステップにて文字列が除外された複数の文字列それぞれを前記紐付け処理に用いる順序を決定する処理順序決定ステップと、を備えてなることを特徴とするものである。
【００１１】
また、本発明の一実施の形態に係る紐付け支援プログラムは、複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援する紐付け支援方法をコンピュータに実行させる紐付け支援プログラムであって、前記複数のメッセージそれぞれのメッセージ種別、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を取得する情報取得ステップと、前記情報取得ステップにて取得される情報に基づいて、前記情報取得ステップにて取得される複数の文字列の内から、紐付け処理におけるキーワードとして不要な文字列を除外する不要文字列除外ステップと、前記情報取得ステップにて取得される情報に基づいて、前記不要文字列除外ステップにて文字列が除外された複数の文字列それぞれを前記紐付け処理に用いる順序を決定する処理順序決定ステップと、をコンピュータに実行させることを特徴とするものである。
【発明の効果】
【００１２】
以上に詳述したように本発明によれば、高効率な紐付け処理を実行可能な紐付けシステムの自動設計を支援することのできる技術を提供することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態について図面を参照しつつ説明する。
【００１４】
図１は、本発明の実施の形態による紐付け支援装置を含むシステム全体の概要を示す概念図である。
【００１５】
本発明の実施の形態によるシステムは、サーバ９０１〜サーバ９０４と、紐付け支援装置１とを備えている。図１において、紐付け支援装置１は、サーバ９０１〜サーバ９０４それぞれから所望の情報を取得可能である（破線矢印）。サーバ９０１〜サーバ９０４それぞれから紐付け支援装置１への情報取得は、図１に示すように直接行われても良いし、サーバ等の通信端末による中継を介して取得されるようにしても良い。
【００１６】
またここでは、一例として、サーバ９０１がＨＴＴＰサーバであり、サーバ９０２がアプリケーションサーバであり、サーバ９０３がデータベースサーバであり、サーバ９０４が更に深いレイヤの処理を行うサーバであるものとする。
【００１７】
図１では、クライアントからのメッセージであるｍｅｓｓａｇｅ１（例えば、ＨＴＴＰプロトコルでの通信メッセージであり、文字列ＡおよびＢを含む）が、サーバ９０１に送信されると、サーバ９０１がｍｅｓｓａｇｅ１に対応するメッセージであるｍｅｓｓａｇｅ２（例えば、ＩＩＯＰ（Internet Inter-ORB Protocol）プロトコルでの通信メッセージであり、文字列ＢおよびＣを含む）をサーバ９０２に送信する。ｍｅｓｓａｇｅ２が、サーバ９０２に送信されると、サーバ９０２がｍｅｓｓａｇｅ２に対応するメッセージであるｍｅｓｓａｇｅ３をサーバ９０３に送信する。ｍｅｓｓａｇｅ３（例えば、オラクル（登録商標）メッセージプロトコルでの通信メッセージであり、文字列ＣおよびＤを含む）が、サーバ９０３に送信されると、サーバ９０３がｍｅｓｓａｇｅ３に対応するメッセージであるｍｅｓｓａｇｅ４（サーバ９０４にて対応する通信プロトコルでの通信メッセージであり、文字列Ｄを含む）をサーバ９０４に送信する。
【００１８】
図２は、サーバ９０１〜サーバ９０４の間で送受信される一連のメッセージの内容の変化を示す図である。同図に示す例では、「ＩＤ＝ＯＲＤＥＲ１」と「ＳＥＳＳＩＯＮ３」という文字列をキーワードにしてトランザクションを構築している。
【００１９】
図３は、本発明の実施の形態による紐付け支援装置１の構成を示す図である。
【００２０】
本実施の形態による紐付け支援装置１は、複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援するものである。具体的に、ここでの紐付け支援装置１は、入力としてサーバ間でやり取りされるメッセージのメッセージタイプ（メッセージ種別）、該メッセージに含まれるＩＤ文字列および該メッセージのデータ流量を受信し、これに基づいて、各ＩＤ文字列による紐付け処理の実行順序および紐付け処理を並列実行可能なＩＤ文字列を示す情報を半順序グラフとして出力する。
【００２１】
紐付け支援装置１は、情報取得部１０１、紐付け可能性判定部１０２、不要文字列除外部１０３、処理順序決定部１０４、ＣＰＵ８０１およびメモリ８０２を備えてなる構成となっている。
【００２２】
情報取得部１０１は、複数のメッセージ（例えば、ｍｅｓｓａｇｅ１〜ｍｅｓｓａｇｅ４等）それぞれのメッセージ種別、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を、例えばサーバ９０１〜９０４から取得する。なお、本実施の形態における「メッセージタイプ」とは、例えば通信プロトコルを意味している。
【００２３】
紐付け可能性判定部１０２は、サーバ９０１〜サーバ９０４間で送受信される複数のメッセージが、該複数のメッセージそれぞれが含む文字列の内の少なくともいずれかに基づいて相互に紐付け可能であるか否かを判定する。
【００２４】
不要文字列除外部１０３は、情報取得部１０１にて取得される情報に基づいて、情報取得部１０１にて取得される複数の文字列の内から、紐付け処理におけるキーワードとして不要な文字列を除外する。
【００２５】
処理順序決定部１０４は、情報取得部１０１にて取得される情報に基づいて、不要文字列除外部１０３にて文字列が除外された複数の文字列それぞれを紐付け処理に用いる順序を決定する。具体的に、処理順序決定部１０４は、情報取得部１０１にて取得されるデータ流量に基づいて、紐付け処理を行った場合におけるデータ流量の総和が小さい文字列から紐付け処理に用いるように順序を決定する。
【００２６】
また、処理順序決定部１０４は、不要文字列除外部１０３にて不要文字列を除外済みである複数の文字列に基づいて、該複数の文字列それぞれに基づく紐付け処理の内、並列実行可能な紐付け処理を判別する。
【００２７】
ＣＰＵ８０１は、紐付け支援装置１における各種処理を行う役割を有しており、またメモリ８０２に格納されているプログラムを実行することにより種々の機能を実現する役割も有している。メモリ８０２は、例えばＲＯＭやＲＡＭ等から構成されており、紐付け支援装置１において利用される種々の情報やプログラムを格納する役割を有している。
【００２８】
図４は、本発明の実施の形態による紐付け支援装置への入力データの一例を示す図である。この例では、メッセージタイプと、それに含まれるＩＤ文字列およびメッセージ流量の集合とをペアにしたものを入力としている。
【００２９】
図５は、本発明の実施の形態による紐付け支援装置における処理の全体的な流れ（紐付け支援方法）を示すフローチャートである。
【００３０】
図５に示すように、本発明の実施の形態による紐付け支援装置１は、各サーバ間を流れるメッセージのタイプとメッセージに含まれるＩＤ文字列の表から、以下のように自動的に紐付け処理を高速に行う処理手順およびネットワーク設計を行う。
【００３１】
紐付け可能性判定部１０２は、紐付け対象となる複数のメッセージが、自動的に紐付け可能であるかどうかをチェックする（Ｓ１０１）。
【００３２】
不要文字列除外部１０３は、紐付け処理に用いる必要のないＩＤ文字列を、紐付け処理にて利用する文字列の候補から除外し、必要最小限のＩＤ文字列のセットを抽出する（Ｓ１０２）。
【００３３】
処理順序決定部１０４は、紐付け対象であるＩＤ文字列の処理順序を自動的に決定する（Ｓ１０３）。
【００３４】
図６は、本発明の実施の形態による紐付け支援装置における、紐付け可能性チェック（Ｓ１０１）の処理の詳細を示すフローチャートである。
【００３５】
図６に示す処理により、サーバ９０１〜サーバ９０４間で送受信される複数のメッセージが、該複数のメッセージそれぞれが含む文字列の内の少なくともいずれかに基づいて相互に紐付け可能であるか否かを判定する。ここで、ｃｈｅｃｋｅｄ＿ｔｙｐｅおよびｃｈｅｃｋｅｄ＿ｉｄは一時変数である。
【００３６】
まず、複数のメッセージの内の任意のメッセージタイプを選択し、変数ｃｈｅｃｋｅｄ＿ｔｙｐｅに代入する（Ｓ１０１ａ）。
【００３７】
次に、変数ｃｈｅｃｋｅｄ＿ｔｙｐｅに代入されているメッセージタイプのメッセージが含む文字列全てを変数ｃｈｅｃｋｅｄ＿ｉｄに代入する（Ｓ１０１ｂ）。
【００３８】
変数ｃｈｅｃｋｅｄ＿ｉｄに代入されているＩＤ文字列の内のいずれかを持つメッセージであって、且つ変数ｃｈｅｃｋｅｄ＿ｔｙｐｅに代入されていないメッセージタイプのメッセージがある場合（Ｓ１０１ｃ，Ｙｅｓ）、当該メッセージタイプを変数ｃｈｅｃｋｅｄ＿ｔｙｐｅに追加する（Ｓ１０１ｅ）。
【００３９】
一方、変数ｃｈｅｃｋｅｄ＿ｉｄに代入されているＩＤ文字列の内のいずれかを持つメッセージであって、且つ変数ｃｈｅｃｋｅｄ＿ｔｙｐｅに代入されていないメッセージタイプのメッセージがない場合に（Ｓ１０１ｃ，Ｎｏ）、変数ｃｈｅｃｋｅｄ＿ｔｙｐｅに代入されていないメッセージタイプがない場合には（Ｓ１０１ｄ，Ｎｏ）、紐付け可能であると判定する。変数ｃｈｅｃｋｅｄ＿ｔｙｐｅに代入されていないメッセージタイプがある場合には（Ｓ１０１ｄ，Ｙｅｓ）、紐付け不可であると判定する。
【００４０】
図７は、本発明の実施の形態による紐付け支援装置における、不要文字列除外部１０３による紐付け不要ＩＤ文字列の除去（処理１）の手順を示すフローチャートである。
【００４１】
まず、紐付け不要ＩＤ文字列の除去処理の対象とすべきＩＤ文字列の集合を変数Ｓにセットする（Ｓ１０２ａ）。
【００４２】
続いて、変数Ｓが空集合であるかを判定し、空集合である場合（Ｓ１０２ｂ，Ｙｅｓ）、処理を終了する。
【００４３】
一方、変数Ｓが空集合ではない場合（Ｓ１０２ｂ，Ｎｏ）、変数ＳにセットされているＩＤ文字列を一つ取り出し、これを変数Ａとする（Ｓ１０２ｃ）。
【００４４】
次に、変数Ａである文字列を含むメッセージタイプのメッセージは１つのみではない場合（Ｓ１０２ｄ，Ｎｏ）、Ｓ１０２ｂの処理に戻る。
【００４５】
一方、変数Ａである文字列を含むメッセージタイプのメッセージは１つのみである場合（Ｓ１０２ｄ，Ｙｅｓ）、変数Ａを不要文字列として紐付け処理に用いる文字列候補から除外する（Ｓ１０２ｅ）。
【００４６】
図８は、本発明の実施の形態による紐付け支援装置における、紐付け不要ＩＤ文字列除去（処理１）が施されたメッセージを示す図である。同図では、ｍｅｓｓａｇｅ１に含まれる文字列Ａが不要文字列として紐付け処理に用いる文字列候補から除外されている様子を示している。
【００４７】
このように、不要文字列除外部１０３は、１つのメッセージにしか含まれない文字列は、紐付けする必要がないので、紐付け処理におけるキーワードとして不要な文字列として除外する。
【００４８】
図９は、本発明の実施の形態による紐付け支援装置における、不要文字列除外部１０３による紐付け不要ＩＤ文字列除去（処理２）の手順を示すフローチャートである。
【００４９】
まず、紐付け不要ＩＤ文字列の除去処理の対象とすべきＩＤ文字列の集合を変数Ｓにセットする（Ｓ１０２ｆ）。
【００５０】
続いて、変数Ｓが空集合であるかを判定し、空集合である場合（Ｓ１０２ｇ，Ｙｅｓ）、処理を終了する。
【００５１】
一方、変数Ｓが空集合ではない場合（Ｓ１０２ｇ，Ｎｏ）、変数ＳにセットされているＩＤ文字列を一つ取り出し、これを変数Ａとする（Ｓ１０２ｈ）。
【００５２】
次に、変数Ｓを変数Ｓ’にセットし（Ｓ１０２ｉ）、Ｓ’が空集合である場合
（Ｓ１０２ｊ，Ｙｅｓ）、Ｓ１０２ｇの処理に戻る。
【００５３】
Ｓ’が空集合ではない場合（Ｓ１０２ｊ，Ｎｏ）、Ｓ’にセットされている文字列の内の一つを取り出し、これを変数Ｂとする（Ｓ１０２ｋ）。
【００５４】
ここで、変数Ａを含むメッセージが必ず変数Ｂを含んでいない場合（Ｓ１０２ｌ，Ｎｏ）、Ｓ１０２ｊの処理に戻る。
【００５５】
一方、変数Ａを含むメッセージが変数Ｂを常に含んでいる場合（Ｓ１０２ｌ，Ｙｅｓ）、変数Ａにセットされている文字列を紐付け処理に用いる必要の無い不要文字列として紐付け処理に用いる文字列候補から除外する（Ｓ１０２ｍ）。
【００５６】
図１０は、本発明の実施の形態による紐付け支援装置における、紐付け不要ＩＤ文字列除去（処理２）が施されたメッセージを示す図である。同図では、一例として、ｍｅｓｓａｇｅ＿ｔｙｐｅ（ａ）のメッセージに含まれる文字列Ｇ、ｍｅｓｓａｇｅ＿ｔｙｐｅ（ｃ）のメッセージに含まれる文字列Ｇ，Ｉが不要文字列として紐付け処理に用いる文字列候補から除外されている様子を示している。
【００５７】
このように、不要文字列除外部１０３は、第１の文字列を含むメッセージが、第１の文字列とは異なる第２の文字列を常に含む場合に、第１の文字列により紐付けする必要がないので、紐付け処理におけるキーワードとして不要な文字列として第１の文字列を除外する。図１０に示す例では、Ｇを含むメッセージタイプは必ずＨを持つのでＧを取り除いている。同時に、Ｉを含むメッセージタイプは必ずＨをもつのでＩを取り除いている。
【００５８】
図１１は、処理順序決定部１０４による紐付け順序自動設計処理の詳細の概要を示すフローチャートである。
【００５９】
処理順序決定部１０４は、まず、ＩＤ文字列と紐付け可能なメッセージタイプとの対応表を構築する（Ｓ１０３ａ）。図１２は、Ｓ１０３ａの処理において構築される対応表の一例を示す図である。同図に示すように、ｍｅｓｓａｇｅ１とｍｅｓｓａｇｅ２は文字列Ｂにより紐付け可能であり、ｍｅｓｓａｇｅ２とｍｅｓｓａｇｅ３は文字列Ｃにより紐付け可能であり、ｍｅｓｓａｇｅ３とｍｅｓｓａｇｅ４は文字列Ｄにより紐付け可能であることがわかる。
【００６０】
次に、全てのメッセージが１つのＩＤ文字列で紐付け可能であるかを判定し、可能である場合（Ｓ１０３ｂ，Ｙｅｓ）には処理を終了する。
【００６１】
一方、全てのメッセージを１つのＩＤ文字列で紐付け不可能である場合（Ｓ１０３ｂ，Ｎｏ）、データ転送量に基づいて紐付け処理に用いられるＩＤ文字列の候補を選択する（Ｓ１０３ｃ）。
【００６２】
図１３は、データ転送量に基づく紐付け対象ＩＤ文字列の選択について説明するための図である。
【００６３】
処理順序決定部１０４は、データ転送量を削減するために、紐付けの対象となるメッセージタイプのデータ流量の総和が最小となるＩＤ文字列を選ぶ。ただし、単独のｍｅｓｓａｇｅ  ｔｙｐｅにしか含まれないＩＤ文字列は候補から除外する。選択されたＩＤ文字列は、紐付け履歴に登録される。
【００６４】
処理順序決定部１０４は、紐付け処理に用いるＩＤ文字列の候補が見つかった場合（Ｓ１０３ｄ，Ｙｅｓ）、紐付け処理を並列に実行可能なＩＤ文字列があるか否かを判定する（Ｓ１０３ｅ）。
【００６５】
処理順序決定部１０４は、紐付け処理に用いるＩＤ文字列の候補が見つからない場合（Ｓ１０３ｄ，Ｎｏ）、若しくは、紐付け処理を並列に実行可能なＩＤ文字列がない場合（Ｓ１０３ｅ，Ｎｏ）に、ＩＤ文字列と紐付け可能なメッセージとの対応表を再構築する（Ｓ１０３ｆ）。
【００６６】
図１４は、紐付け対象にならなかったメッセージ群を示す図である。
【００６７】
図１５は、ＩＤ文字列と紐付け可能なメッセージとについて、処理順序決定部１０４により再構築された対応表の一例を示す図である。
【００６８】
図１６は、紐付け処理の進行に伴う対応表の変化の様子を示す図である。同図に示すように、紐付け処理に用いる文字列として選択されたＩＤ文字列を表から削除してゆき、選択されたＩＤ文字列を紐付け履歴に登録してゆく。
【００６９】
図１７は、本発明の実施の形態による紐付け支援装置における出力について説明するための図である。
【００７０】
同図に示すように、本発明の実施の形態による紐付け支援装置１は、例えば、下記のような情報を出力する。なお、ここで「Ｉｎｐｕｔ」，「Ｏｕｔｐｕｔ」はデータの入り口と出口をあらわす特殊なシンボルである。
【００７１】
＜ＩＤ文字列と転送先のペア＞
ｉｎｐｕｔ，Ｂ
ｉｎｐｕｔ，Ｄ
Ｂ，Ｃ
Ｄ，Ｃ
Ｃ，ｏｕｔｐｕｔ
【００７２】
図１８は、一般的な紐付けシステムの基本構成について説明するための図である。本実施の形態にて例に挙げたようなメッセージ群を紐付けるシステムを従来の手法により自動設計しようとすると、同図に示すような紐付け処理を行うのが通常である。このような紐付け処理は、データ流量の観点からも、処理効率の観点からも、非常に処理効率が悪い。
【００７３】
図１９は、本発明の実施の形態による紐付け支援装置１により最適化された紐付けシステムの構成を示す図である。同図に示すように、本発明の実施の形態による紐付け支援装置１により設計される紐付けアルゴリズムによる紐付け処理を行うことにより、データ流量を最小限に抑えつつ、処理効率の高い紐付け処理を実現することができる。
【００７４】
続いて、本発明の実施の形態による紐付け支援装置１により、上記例とは異なる態様のメッセージ群を紐付ける場合について例示する。
【００７５】
図２０は、図１に示したシステム構成における、サーバ間で交換するメッセージ群に含まれる文字列が図１とは異なる態様を示す図である。
【００７６】
図２１は、図２０に示すメッセージ交換状況に対する、一般的な紐付けシステムの基本構成について説明するための図である。図１８に示した例と同様、このような紐付け処理は、データ流量の観点からも、処理効率の観点からも、非常に処理効率が悪い。
【００７７】
図２２は、本発明の実施の形態による紐付け支援装置１により最適化された紐付けシステムの構成を示す図である。図２０に示す例では、Ｂによる紐付けは必要がなく、ＣでＡを含まないメッセージをＡの紐付けの入力にする必要はない。本発明の実施の形態による紐付け支援装置１にて、このような条件を考慮した紐付けシステムを設計することにより、データ流量を最小限に抑えつつ、処理効率の高い紐付け処理を実現することができる。
【００７８】
このように、本発明の実施の形態による紐付け支援装置によれば、自動的に高効率な紐付けシステムを構築することができる。これにより、複雑な紐付けシステムを設計する場合における、大幅な設計コストの削減を図ることができる。
【００７９】
また、本発明の実施の形態による紐付け支援装置によれば、紐付けシステムを自動的にコンピュータシステム設計できるため、運用しているうちにサーバ間データ転送量が大きく変わったとしても、自動的に新しい紐付けシステムを再構築することが可能である。
【００８０】
更に、紐付け支援装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、紐付け支援プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、紐付け支援装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【００８１】
このように、紐付け支援プログラムを例えばＣＰＵ８０１等のコンピュータに実行させることにより、上述した紐付け支援方法における各ステップが実現される。
【００８２】
なお、上述の実施の形態では、紐付け支援装置１を構成する各要素（情報取得部１０１、紐付け可能性判定部１０２、不要文字列除外部１０３、処理順序決定部１０４）が、サーバ９０１〜９０４の外部に独立して設けられた機器に備わっている例を示したが、必ずしもこれに限られるものではない。例えば、紐付け支援装置１を構成する各要素の内の一部が、サーバ９０１〜９０４の内のいずれかに分散して備わっていてもよく、結果として、システム全体として紐付け支援装置１としての機能を実現できればよい。
【００８３】
本発明を特定の態様により詳細に説明したが、本発明の精神および範囲を逸脱しないかぎり、様々な変更および改質がなされ得ることは、当業者には自明であろう。
【００８４】
（付記１）複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援する紐付け支援装置であって、
前記複数のメッセージそれぞれのメッセージタイプ、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を取得する情報取得部と、
前記情報取得部にて取得される情報に基づいて、前記情報取得部にて取得される複数の文字列の内から、紐付け処理におけるキーワードとして不要な文字列を除外する不要文字列除外部と、
前記情報取得部にて取得される情報に基づいて、前記不要文字列除外部にて文字列が除外された複数の文字列それぞれを前記紐付け処理に用いる順序を決定する処理順序決定部と、
を備えてなる紐付け支援装置。
（付記２）付記１に記載の紐付け支援装置において、
前記複数の通信端末間で送受信される複数のメッセージが、該複数のメッセージそれぞれが含む文字列の内の少なくともいずれかに基づいて相互に紐付け可能であるか否かを判定する紐付け可能性判定部を更に備える紐付け支援装置。
（付記３）付記１に記載の紐付け支援装置において、
前記不要文字列除外部は、１つのメッセージにしか含まれない文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する紐付け支援装置。
（付記４）付記１に記載の紐付け支援装置において、
前記不要文字列除外部は、第１の文字列を含むメッセージが、第１の文字列とは異なる第２の文字列を常に含む場合に、第１の文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する紐付け支援装置。
（付記５）付記１に記載の紐付け支援装置において、
前記処理順序決定部は、前記情報取得部にて取得される前記データ流量に基づいて、紐付け処理を行った場合におけるデータ流量の総和が小さい文字列から紐付け処理に用いるように順序を決定する紐付け支援装置。
（付記６）付記１に記載の紐付け支援装置において、
前記処理順序決定部は、前記不要文字列除外部にて文字列が除外された複数の文字列に基づいて、該複数の文字列それぞれに基づく紐付け処理の内、並列実行可能な紐付け処理を判別する紐付け支援装置。
（付記７）付記１に記載の紐付け支援装置において、
前記メッセージ種別は、通信プロトコルである紐付け支援装置。
（付記８）複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援する紐付け支援方法であって、
前記複数のメッセージそれぞれのメッセージ種別、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を取得する情報取得ステップと、
前記情報取得ステップにて取得される情報に基づいて、前記情報取得ステップにて取得される複数の文字列の内から、紐付け処理におけるキーワードとして不要な文字列を除外する不要文字列除外ステップと、
前記情報取得ステップにて取得される情報に基づいて、前記不要文字列除外ステップにて文字列が除外された複数の文字列それぞれを前記紐付け処理に用いる順序を決定する処理順序決定ステップと、
を備えてなる紐付け支援方法。
（付記９）付記８に記載の紐付け支援方法において、
前記複数の通信端末間で送受信される複数のメッセージが、該複数のメッセージそれぞれが含む文字列の内の少なくともいずれかに基づいて相互に紐付け可能であるか否かを判定する紐付け可能性判定ステップを更に備える紐付け支援方法。
（付記１０）付記８に記載の紐付け支援方法において、
前記不要文字列除外ステップは、１つのメッセージにしか含まれない文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する紐付け支援方法。
（付記１１）付記８に記載の紐付け支援方法において、
前記不要文字列除外ステップは、第１の文字列を含むメッセージが、第１の文字列とは異なる第２の文字列を常に含む場合に、第１の文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する紐付け支援方法。
（付記１２）付記８に記載の紐付け支援方法において、
前記処理順序決定ステップは、前記情報取得ステップにて取得される前記データ流量に基づいて、紐付け処理を行った場合におけるデータ流量の総和が小さい文字列から紐付け処理に用いるように順序を決定する紐付け支援方法。
（付記１３）付記８に記載の紐付け支援方法において、
前記処理順序決定ステップは、前記不要文字列除外ステップにて文字列が除外された複数の文字列に基づいて、該複数の文字列それぞれに基づく紐付け処理の内、並列実行可能な紐付け処理を判別する紐付け支援方法。
（付記１４）付記８に記載の紐付け支援方法において、
前記メッセージ種別は、通信プロトコルである紐付け支援方法。
（付記１５）複数の通信端末間で送受信される複数のメッセージの内の互いに関連するメッセージ間を紐付ける紐付け処理を支援する紐付け支援方法をコンピュータに実行させる紐付け支援プログラムであって、
前記複数のメッセージそれぞれのメッセージ種別、該複数のメッセージそれぞれに含まれる文字列および該文字列を転送する際のデータ流量を取得する情報取得ステップと、
前記情報取得ステップにて取得される情報に基づいて、前記情報取得ステップにて取得される複数の文字列の内から、紐付け処理におけるキーワードとして不要な文字列を除外する不要文字列除外ステップと、
前記情報取得ステップにて取得される情報に基づいて、前記不要文字列除外ステップにて文字列が除外された複数の文字列それぞれを前記紐付け処理に用いる順序を決定する処理順序決定ステップと、
をコンピュータに実行させる紐付け支援プログラム。
（付記１６）付記１５に記載の紐付け支援プログラムにおいて、
前記複数の通信端末間で送受信される複数のメッセージが、該複数のメッセージそれぞれが含む文字列の内の少なくともいずれかに基づいて相互に紐付け可能であるか否かを判定する紐付け可能性判定ステップを更にコンピュータに実行させる紐付け支援プログラム。
（付記１７）付記１５に記載の紐付け支援プログラムにおいて、
前記不要文字列除外ステップは、１つのメッセージにしか含まれない文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する紐付け支援プログラム。
（付記１８）付記１５に記載の紐付け支援プログラムにおいて、
前記不要文字列除外ステップは、第１の文字列を含むメッセージが、第１の文字列とは異なる第２の文字列を常に含む場合に、第１の文字列を、紐付け処理におけるキーワードとして不要な文字列として除外する紐付け支援プログラム。
（付記１９）付記１５に記載の紐付け支援プログラムにおいて、
前記処理順序決定ステップは、前記情報取得ステップにて取得される前記データ流量に基づいて、紐付け処理を行った場合におけるデータ流量の総和が小さい文字列から紐付け処理に用いるように順序を決定する紐付け支援プログラム。
（付記２０）付記１５に記載の紐付け支援プログラムにおいて、
前記処理順序決定ステップは、前記不要文字列除外ステップにて文字列が除外された複数の文字列に基づいて、該複数の文字列それぞれに基づく紐付け処理の内、並列実行可能な紐付け処理を判別する紐付け支援プログラム。
（付記２１）付記１５に記載の紐付け支援プログラムにおいて、
前記メッセージ種別は、通信プロトコルである紐付け支援プログラム。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施の形態による紐付け支援装置を含むシステム全体の概要を示す概念図である。
【図２】サーバ９０１〜サーバ９０４の間で送受信される一連のメッセージの内容の変化を示す図である。
【図３】本発明の実施の形態による紐付け支援装置１の構成を示す図である。
【図４】本発明の実施の形態による紐付け支援装置への入力データの一例を示す図である。
【図５】本発明の実施の形態による紐付け支援装置における処理の全体的な流れ（紐付け支援方法）を示すフローチャートである。
【図６】本発明の実施の形態による紐付け支援装置における、紐付け可能性チェック（Ｓ１０１）の処理の詳細を示すフローチャートである。
【図７】本発明の実施の形態による紐付け支援装置における、不要文字列除外部１０３による紐付け不要ＩＤ文字列の除去（処理１）の手順を示すフローチャートである。
【図８】本発明の実施の形態による紐付け支援装置における、紐付け不要ＩＤ文字列除去（処理１）が施されたメッセージを示す図である。
【図９】本発明の実施の形態による紐付け支援装置における、不要文字列除外部１０３による紐付け不要ＩＤ文字列除去（処理２）の手順を示すフローチャートである。
【図１０】本発明の実施の形態による紐付け支援装置における、紐付け不要ＩＤ文字列除去（処理２）が施されたメッセージを示す図である。
【図１１】処理順序決定部１０４による紐付け順序自動設計処理の詳細の概要を示すフローチャートである。
【図１２】Ｓ１０３ａの処理において構築される対応表の一例を示す図である。
【図１３】データ転送量に基づく紐付け対象ＩＤ文字列の選択について説明するための図である。
【図１４】紐付け対象にならなかったメッセージ群を示す図である。
【図１５】ＩＤ文字列と紐付け可能なメッセージとについて、処理順序決定部１０４により再構築された対応表の一例を示す図である。
【図１６】紐付け処理の進行に伴う対応表の変化の様子を示す図である。
【図１７】本発明の実施の形態による紐付け支援装置における出力について説明するための図である。
【図１８】一般的な紐付けシステムの基本構成について説明するための図である。
【図１９】本発明の実施の形態による紐付け支援装置１により最適化された紐付けシステムの構成を示す図である。
【図２０】図１に示したシステム構成における、サーバ間で交換するメッセージ群に含まれる文字列が図１とは異なる態様を示す図である。
【図２１】図２０に示すメッセージ交換状況に対する、一般的な紐付けシステムの基本構成について説明するための図である。
【図２２】本発明の実施の形態による紐付け支援装置１により最適化された紐付けシステムの構成を示す図である。
【図２３】従来の紐付けシステムの設計について説明するための図である。
【符号の説明】
【００８６】
１  紐付け支援装置、１０１  情報取得部、１０２  紐付け可能性判定部、１０３  不要文字列除外部、１０４  処理順序決定部、８０１  ＣＰＵ、８０２  メモリ。
【図１】
0005286876.tif 000002
【図２】
0005286876.tif 000003
【図３】
0005286876.tif 000004
【図４】
0005286876.tif 000005
【図５】
0005286876.tif 000006
【図６】
0005286876.tif 000007
【図７】
0005286876.tif 000008
【図８】
0005286876.tif 000009
【図９】
0005286876.tif 000010
【図１０】
0005286876.tif 000011
【図１１】
0005286876.tif 000012
【図１２】
0005286876.tif 000013
【図１３】
0005286876.tif 000014
【図１４】
0005286876.tif 000015
【図１５】
0005286876.tif 000016
【図１６】
0005286876.tif 000017
【図１７】
0005286876.tif 000018
【図１８】
0005286876.tif 000019
【図１９】
0005286876.tif 000020
【図２０】
0005286876.tif 000021
【図２１】
0005286876.tif 000022
【図２２】
0005286876.tif 000023
【図２３】
0005286876.tif 000024