説明

並列紐付処理システム及び方法

【課題】リクエストに対する応答が返ってこないといった状態における紐付け未完了のメッセージを収集する。
【解決手段】複数の紐付処理部を設け、関連するメッセージの紐付処理を並列して実施するシステムにおいて、複数の紐付処理部で、担当受信メッセージからだけではなく、紐付未完了で且つ紐付けされるべきメッセージ群に含まれるキー文字列及び値の複数の組み合わせを交換し合って足跡データ格納部に格納し、この足跡データ格納部から、注目するメッセージから特定される、キー文字列及び値の特定の組み合わせに関連する他の組み合わせを抽出する。そして、抽出された組み合わせに関係するメッセージを該当する紐付処理部から抽出すれば、注目すべき紐付け未完了のメッセージを抽出して、問題点などを解析することができるようになる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、関連するメッセージの紐付けを行う紐付処理技術に関する。
【背景技術】
【0002】
電子商取引など複数レイヤのサーバ間にわたってメッセージが交換され処理が進行するシステムでは、要求IDのようなメッセージを関連付ける文字列をキーにしてメッセージ交換がなされるケースが多い。さらにWebサーバ、アプリケーションサーバなど各レイヤ間で異なるキー文字列が使われることがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−128342号公報
【特許文献2】特開平11−53323号公報
【特許文献3】特開平5−61697号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
システムの挙動監視やリクエスト遅延問題を解析する場合、これらの複数のキー文字列を手がかりに、関連したメッセージを纏め上げる処理(すなわち紐付処理)を高速に行い、特定の要求に対応するメッセージが流れた経路やタイミングを解析する必要がある。
【0005】
しかしながら、システム内を流れるメッセージは膨大であり、1つの紐付処理部(例えば1台のコンピュータ)だけで処理するのでは時間がかかりすぎる場合がある。従って、例えば複数の紐付処理部によりキー文字列などに応じて並列して紐付処理を実施するような方策が考えられる。
【0006】
1つの紐付処理部で紐付処理を行っている場合には、例えば、クライアント端末からのリクエストに対する応答が返ってこないといった状態において紐付け未完了のメッセージを抽出することは、1つの紐付処理部のバッファに保持されている紐付け未完了のメッセージを読み出せばよいので比較的容易である。しかしながら、上で述べたような方策を採用する場合においては、いずれの紐付処理部に分散して保持されているのかが不明であり、簡単には該当メッセージを抽出することができない。
【0007】
従って、本技術の目的は、複数の紐付処理部により並列に紐付処理を実施する場合において、リクエストに対する応答が返ってこないといった状態に係る紐付け未完了のメッセージを自動的に抽出する技術を提供することである。
【課題を解決するための手段】
【0008】
本データ収集処理方法は、メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部及び紐付け未完了のメッセージのデータを格納するトランザクション管理テーブル格納部を有し且つ関連するメッセージを紐付けする処理を行う紐付処理部を有するコンピュータにより実行される。そして、(A)受信した担当メッセージ又は他の紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行うステップと、(B)新規登録又は更新された足跡レコードに含まれるキー文字列及び値の組み合わせを足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される紐付処理部に送信するステップと、キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、足跡データ格納部を第1の組み合わせで検索し、該当足跡レコードのデータを検索コマンドの送信元に返信するステップと、(C)キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、トランザクション管理テーブル格納部を第2の組み合わせで検索し、該当するメッセージを含むメッセージ収集コマンドを予め定められた第2のルールに基づき特定された紐付処理部又はメッセージ収集コマンドの送信元に送信するステップとを含む。
【発明の効果】
【0009】
複数の紐付処理部で並列で紐付処理を実施する場合において、紐付け未完了のメッセージを自動的に抽出できるようになる。
【図面の簡単な説明】
【0010】
【図1】図1は、解析対象システムを示す図である。
【図2】図2は、解析対象システムで交換されるメッセージの例を示す図である。
【図3】図3は、並列紐付処理を説明するための図である。
【図4】図4は、並列紐付処理を説明するための図である。
【図5】図5は、並列紐付処理を説明するための図である。
【図6】図6は、並列紐付処理システムのシステム概要図である。
【図7】図7は、紐付処理部の機能ブロック図である。
【図8A】図8Aは、トランザクション管理テーブルの第1の例を示す図である。
【図8B】図8Bは、トランザクション管理テーブルの第2の例を示す図である。
【図9】図9は、足跡テーブルの一例を示す図である。
【図10】図10は、足跡情報通知処理の処理フローを示す図である。
【図11】図11は、特定データ格納部に格納されるデータの一例を示す図である。
【図12】図12は、特定データ格納部に格納されるデータの一例を示す図である。
【図13】図13は、足跡情報受信処理の処理フローを示す図である。
【図14】図14は、足跡情報通知処理の具体例を示す図である。
【図15】図15は、足跡情報通知処理の具体例を示す図である。
【図16】図16は、足跡情報通知処理の具体例を示す図である。
【図17】図17は、足跡情報通知処理の具体例を示す図である。
【図18】図18は、検索処理の処理フローを示す図である。
【図19】図19は、メッセージ収集処理の処理フローを示す図である。
【図20】図20は、メッセージ収集処理の処理フローを示す図である。
【図21】図21は、メッセージ収集処理の処理フローを示す図である。
【図22】図22は、足跡消去処理の処理フローを示す図である。
【図23】図23は、足跡消去処理の処理フローを示す図である。
【図24】図24は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【0011】
最初に、紐付処理を複数の紐付処理部で分担して実施する際の処理について説明する。
【0012】
図1に、解析対象システムの一例を示す。この解析対象システムは、サーバ1乃至3を有しており、サーバ1は、クライアント端末とメッセージのやりとりを行うと共に、サーバ2ともメッセージのやりとりを行う。また、サーバ2は、サーバ1とメッセージのやりとりを行うと共に、サーバ3ともメッセージのやりとりを行う。サーバ3は、サーバ2とメッセージのやりとりを行う。このように複数のコンピュータ間でメッセージのやりとりを行うことにより、クライアント端末からのリクエストに対してレスポンスを返すようになっている。
【0013】
図2にこのようなシステムにおいてやりとりされるメッセージの一例を示す。クライアント端末は、例えばID=100(IDはキー文字列(セッション番号やリクエスト番号)であり100はその値)というデータを含むメッセージM1をサーバ1に送信する。サーバ1は、メッセージM1を受信すると、ID=100及びSES=10(SESはキー文字列であり10はその値)というデータを含むメッセージM3をサーバ2に送信する。その後、サーバ2は、SES=10というデータを含むメッセージM5をサーバ3に送信する。サーバ3は、メッセージM5を受信した後処理を行って、SES=10というデータを含むメッセージM7をサーバ2に送信する。サーバ2は、メッセージM7を受信すると、ID=100というデータを含むメッセージM9をサーバ1に送信する。サーバ1は、メッセージM9を受信すると、ID=100というデータを含むメッセージM11をクライアント端末に送信する。
【0014】
同様に、クライアント端末は、例えばID=200というデータを含むメッセージM2をサーバ1に送信する。サーバ1は、メッセージM2を受信すると、ID=200及びSES=20というデータを含むメッセージM4をサーバ2に送信する。その後、サーバ2は、SES=20というデータを含むメッセージM6をサーバ3に送信する。サーバ3は、メッセージM6を受信した後処理を行って、SES=20というデータを含むメッセージM8をサーバ2に送信する。サーバ2は、メッセージM8を受信すると、ID=200というデータを含むメッセージM10をサーバ1に送信する。サーバ1は、メッセージM10を受信すると、ID=200というデータを含むメッセージM12をクライアント端末に送信する。
【0015】
このように解析対象システム内及び解析対象システムとクライアント端末との間に流れるメッセージをルータやスイッチなどでキャプチャーして、並列紐付処理システムで以下に説明するような紐付処理を実施する。
【0016】
具体的には、図3に示すように、メッセージ受信部が、キャプチャーされたメッセージを受信し、当該メッセージをメッセージ振分部に出力する。ここでは、6つの紐付処理部が、キー文字列SESによる紐付けを行うグループAと、キー文字列IDによる紐付けを行うグループBとに分けられており、さらにグループA内の紐付処理部a1乃至a3は、キー文字列SESの値に応じてメッセージを分担して紐付けする。同様に、グループB内の紐付処理部b1乃至b3は、キー文字列IDの値に応じてメッセージを分担して紐付けする。メッセージ振分部は、このような振り分けルールを保持しておき、キー文字列及び値によって担当の紐付処理部を特定して、当該紐付処理部にメッセージを送信する。
【0017】
例えば、紐付処理部a1は、SES=20を含むメッセージを担当し、紐付処理部a2は、SES=10を含むメッセージを担当し、紐付処理部a3は、SES=30を含むメッセージを担当する。また、紐付処理部b1は、ID=100を含むメッセージを担当し、紐付処理部b2は、ID=200を含むメッセージを担当し、紐付処理部b3は、ID=300を含むメッセージを担当する。なお、キー文字列には優先度が付与されており、SESとIDであればSESを優先するものとする。
【0018】
そうすると、ID=100のみを含むメッセージM1は、メッセージ振分部から紐付処理部b1に振り分けられ、ID=200のみを含むメッセージM2は、メッセージ振分部から紐付処理部b2に振り分けられる。また、SES=20のみを含むメッセージM6は、メッセージ振分部から紐付処理部a1に振り分けられ、SES=10のみを含むメッセージM5は、メッセージ振分部から紐付処理部a2に振り分けられる。さらに、ID=200及びSES=20を含むメッセージM4については、メッセージ振分部から紐付処理部a1に振り分けられ、ID=100及びSES=10を含むメッセージM3については、メッセージ振分部から紐付処理部a2に振り分けられる。
【0019】
その後、図4に示すように、メッセージ受信部が、SES=10を含むメッセージM5及びM7を受信し、メッセージ振分部に出力すると、上で述べたようなルールに従って、当該メッセージM5及びM7を一旦紐付処理部a2に振り分ける。ここで、グループA内の紐付処理部a1乃至a3に、キー文字列及び値の同一の組み合わせ(ここではSES=10)を含むメッセージが3つ貯まると、当該メッセージに含まれるキー文字列及び値の他の組み合わせ(ここではID=100)に従って特定される紐付処理部b1に、これら3つのメッセージを転送するものとする。具体的には、メッセージM3、M5及びM7を、紐付処理部a2から紐付処理部b1に転送する。
【0020】
さらに、図5に示すように、メッセージ受信部が、ID=100を含むメッセージM9及びM11を受信し、メッセージ振分部に出力すると、上で述べたようなルールに従って、当該メッセージM9及びM11を紐付処理部b1に振り分ける。ここで、グループB内の紐付処理部b1乃至b3に、担当するキー文字列及び値(ここではID=100)又はそれに関連するキー文字列及び値(ここではSES=10)を含むメッセージが6つそろうと、紐付け完了ということで当該メッセージ群を紐付結果格納部に格納するものとする。具体的には、メッセージM1、M3、M5、M7、M9及びM11を、紐付結果格納部に格納する。
【0021】
このようにして、図2に示したようなクライアント端末からの1つのリクエストに応じて発生するメッセージ群が紐付けされて、紐付結果格納部に蓄積されるようになる。
【0022】
一方、上でも述べたが、処理が未完了状態にある特定のリクエストの進捗状況を正確に把握したいという要求が発生するケースがある。例えば、Webページにおいて商品の購入ボタンを押したが、反応が返ってこない時など、どのような問題が発生したのかを検証したいというものである。しかしながら、処理が未完了状態では、紐付処理も未完了であるため、メッセージが複数の紐付処理部に分散して保持されており、全紐付処理部への問い合わせを行う必要がある。これは無駄に紐付処理部に負荷をかける。
【0023】
また、問い合わせをする以前に、一部のキー文字列だけを知っていても、紐付けされるべきメッセージの全てを収集することはできない。上で述べた例でも、ID=100だけでは必要なメッセージを抽出できず、SES=10を知っていなければならない。よって、単に問い合わせるだけでは、漏れなくメッセージを収集することが難しい。
【0024】
さらに、各紐付処理部は非同期的に動作しているため、特定の紐付処理部に問い合わせを行ってメッセージを収集しようとしている間に、メッセージが別の紐付処理部へ移動する可能性がある。これを防止するために、並列紐付処理システム全体を一時停止するようであれば、システム全体のパフォーマンスが低下することになる。
【0025】
そこで、本実施の形態では、以下のような構成を採用することによって、紐付け未完了のメッセージを、パフォーマンスの低下を最小限に抑えつつ正確に収集できるようにする。
【0026】
図6に、本実施の形態に係るシステム概要図を示す。本実施の形態における並列紐付処理システム100は、解析対象システム300に接続されている。ここでは、解析対象システム300は、図1に示したものと同じであるものとする。並列紐付処理システム100は、上でも述べたメッセージ受信部110及びメッセージ振分部120と、複数の紐付処理部131乃至136と、紐付結果格納部150と、新たに導入された足跡情報管理部140とを含む。メッセージ受信部110とメッセージ振分部120と紐付処理部131乃至136と足跡情報管理部140とは、1又は複数のコンピュータ上に実装されており、複数のコンピュータで実装される場合には、ネットワークにて接続されている。紐付処理部131乃至136は紐付処理を並列に実施するため、各々別のコンピュータ上に実装することが好ましいが、必ずしも全てを異なるコンピュータ上に実装する必要はない。
【0027】
なお、管理者コンソール200は、並列紐付処理システム100に接続されており、足跡情報管理部140に対して指示を出力し、処理結果を受信する。
【0028】
上でも説明したが、解析対象システム300でやりとりされるメッセージは全てキャプチャーされてメッセージ受信部110に出力される。メッセージ受信部110は、受信したメッセージをメッセージ振分部120に出力する。メッセージ振分部120は、予め定められている振り分けルール及びメッセージに含まれるキー文字列及び値の組み合わせに従って振り分け先の紐付処理部を特定し、当該振り分け先の紐付処理部にメッセージを出力する。紐付処理部131乃至136は、上で述べた例と同じくキー文字列SESについての紐付処理を実施するグループAと、キー文字列IDについての紐付処理を実施するグループBに分けられているものとする。但し、このようなグループ分けは、キー文字列の種類数などに応じて任意に設定される。紐付処理部131乃至136は、メッセージを転送しあったり、後に述べる足跡情報を交換したり、足跡情報管理部140から送られてきたメッセージ収集コマンド(Collectコマンド)を転送し合ったり、といったように通信を行う。なお、紐付けが完了したメッセージについては、紐付結果格納部150に格納される。
【0029】
足跡情報管理部140は、以下でも述べるように、管理者コンソール200からの指示に応じて、キー文字列及び値の特定の組み合わせに関連する他の組み合わせを検索するための検索コマンド(Searchコマンド)を、該当する紐付処理部に送信して、その結果を該当紐付処理部から受信する。足跡情報管理部140は、さらに管理者コンソール200に検索結果を出力する。足跡情報管理部140は、キー文字列及び値の組み合わせから該当する紐付処理部を特定するためのデータが格納されている特定データ格納部141にアクセスできるようになっている。特定データ格納部141を、各紐付処理部131乃至136にも配置する場合もある。
【0030】
各紐付処理部131乃至136は、図7に示すような構成を有する。紐付処理部131は、足跡処理部1311と、足跡テーブル1315と、メッセージ処理部1312と、転送判断部1313と、出力制御部1314と、トランザクション管理テーブル1316と、紐付処理ルール格納部1317とを有する。メッセージ処理部1312は、他の紐付処理部又はメッセージ振分部120からメッセージを受信し、トランザクション管理テーブル1316に登録する。すなわち、トランザクション管理テーブル1316は、メッセージ格納部として機能する。また、受信メッセージについてのキー文字列及び値の組み合わせを足跡処理部1311に出力する。さらに、メッセージ処理部1312は、足跡情報管理部140からのコマンドに応じて以下で述べるような処理を実施する。この際、転送判断部1313及び出力制御部1314に対する制御も行う。転送判断部1313は、トランザクション管理テーブル1316に登録されているメッセージが、紐付処理ルール格納部1317に格納されている紐付けルールを満たしているか判断して、満たしている場合には、それらのメッセージを読み出すと共に、同じく紐付けルールに従って特定される紐付処理部に出力する又は紐付結果格納部150に格納するように、出力制御部1314に指示する。出力制御部1314は、転送判断部1313からの指示に従ってメッセージを、指示された出力先に出力する。
【0031】
足跡処理部1311は、メッセージ処理部1312から受け取ったキー文字列及び値の組み合わせ又は他の紐付処理部から受信した足跡情報について処理を実施し、必要な場合には足跡テーブル1315を更新する。さらに、足跡テーブル1315を更新した場合には、更新に係る足跡レコードについての足跡情報を他の紐付処理部に送信する。また、足跡処理部1311は、足跡情報管理部140から検索コマンド(Searchコマンド)や足跡消去コマンド(Deleteコマンド)を受信した場合には、当該コマンドに応じた処理を実施し、足跡情報管理部140に処理結果を返信する。
【0032】
図8Aに、トランザクション管理テーブル1316に格納されるデータの一例を示す。図8Aでは、SES=10及びSES=20を担当している場合の例を示しており、キー文字列の列と、値の列と、該当するメッセージの列とが含まれている。キー文字列の列及び値の列には、担当するキー文字列及び値が登録され、メッセージの列には該当するメッセージのデータが登録される。図8Aの第1レコードには、メッセージM4(ID=200,SES=20)及びメッセージM6(SES=20)が登録されており、第2レコードには、メッセージM3(ID=100,SES=10)及びメッセージM5(SES=10)が登録されている。
【0033】
なお、図8Bに、トランザクション管理テーブル1316に格納されるデータの他の例を示す。図8Bでは、ID=100及びID=200を担当している場合の例を示しており、キー文字列の列と、値の列と、該当するメッセージの列とが含まれている。キー文字列の列及び値の列には、担当するキー文字列及び値が登録され、メッセージには該当するメッセージのデータが登録される。図8Bの第1レコードには、メッセージM2(ID=200)が登録されており、第2レコードには、メッセージM1(ID=100)が登録されている。
【0034】
また、図9に、足跡テーブル1315に格納されるデータの一例を示す。図9の例では、キー文字列1の列と、値1の列と、キー文字列2の列と、値2の列と、通知数Nの列と、処理数Pの列とが設けられている。足跡テーブル1315には、紐付け未完了で紐付けされるべきメッセージについてのキー文字列及び値の複数の組み合わせが登録される。組み合わせの数は2以上の整数となる。図9の第1の足跡レコードの例では、SES=20とID=200とのうち少なくともいずれかは、紐付けられるべきメッセージに含まれる、ということを示している。第2の足跡レコードの例では、SES=10とID=100とのうち少なくともいずれかは、紐付けられるべきメッセージに含まれる、ということを示している。通知数は、この足跡レコードに関連して足跡情報を送信した回数(又は通知先数)を表し、処理数は、この足跡レコードに関連して足跡情報を受信した回数を表す。
【0035】
次に、図10乃至図23を用いて、並列紐付処理システム100の処理内容について説明する。メッセージ処理部1312は、他の紐付処理部又はメッセージ振分部120からキー文字列及び値の複数の組み合わせを含むメッセージを受信すると(ステップS1)、受信メッセージをトランザクション管理テーブル1316に登録する(ステップS3)。メッセージ処理部1312は、キー文字列及び値の組み合わせが1つしかないメッセージを受信した場合においてもステップS3を実施するが、ステップS7を除くステップS5以降の処理は行わない。
【0036】
次に、メッセージ処理部1312は、受信メッセージについての通知を足跡処理部1311に出力する(ステップS5)。受信メッセージについての通知には、当該受信メッセージに含まれている、キー文字列及び値の全ての組み合わせが含まれる。なお、ステップS3の後に転送判断部1313により行われる処理については通常の紐付処理と同じである。簡単に述べると、メッセージ処理部1312は、転送判断部1313にメッセージの受信を通知し、転送判断部1313は通知に応じてトランザクション管理テーブル1316の更新レコードを確認する。そして、紐付処理ルール格納部1317に登録されているルールに規定されている条件を満たしているか判断する。このルールは、例えばキー文字列及び値の1つの担当組み合わせについて3つのメッセージが揃ったというような条件と、その際の転送先特定ルールとを含むルールである。ルールに規定されている条件を満たしていない場合には特に何もしない。ルールに規定されている条件を満たしている場合には、転送判断部1313は、トランザクション管理テーブル1316から更新レコードのメッセージを読み出し、当該更新レコードを削除し、読み出したメッセージを転送先特定ルールに従って特定される転送先(又は格納先)へ出力制御部1314に出力させる。例えば、SES=20についてのメッセージが揃った場合には、読み出したメッセージに含まれる、キー文字列及び値の他の組み合わせID=200から担当紐付処理部を特定して、当該紐付処理部にメッセージを転送する。
【0037】
ID=200を担当する紐付処理部の紐付処理ルールの場合には、トランザクション管理テーブル1316において、ID=200についてのレコードにメッセージが6つ揃ったという条件と、転送先が紐付結果格納部150という転送先特定ルールが規定されている。
【0038】
一方、足跡処理部1311は、メッセージ処理部1312から、受信メッセージについての通知を受信し、例えばメインメモリなどの記憶装置に格納する(ステップS9)。そして、足跡処理部1311は、通知に含まれるキー文字列及び値の複数の組み合わせが完全に一致する足跡レコードが既に足跡テーブル1315に登録されているか判断する(ステップS11)。既に完全に一致するデータが足跡テーブル1315に登録されていれば、これ以上の処理を行う必要はないので、そのまま処理を終了する(ステップS13)。
【0039】
一方、完全に一致するデータが足跡テーブル1315に登録されているわけではない場合には、足跡処理部1311は、足跡テーブル更新処理を実施する(ステップS15)。具体的には、通知に含まれるキー文字列及び値のいずれの組み合わせも、足跡テーブル1315に格納されている足跡レコードに含まれるキー文字列及び値のいずれの組み合わせとも一致しない場合には、通知に含まれるキー文字列及び値の複数の組み合わせについて足跡レコードを生成し、足跡テーブル1315に新規登録する。一方、通知に含まれるキー文字列及び値のいずれかの組み合わせが一致する足跡レコードが既に足跡テーブル1315に登録されているのであれば、当該足跡レコードに含まれないキー文字列及び値の組み合わせを当該足跡レコードに追加する形で足跡テーブル1315を更新する。例えば、SES=10及びID=100についての足跡レコードが既にあるところに、ID2=50、SES=10及びID=100を含む通知を受信した場合には、ID2=50というデータを追加してSES=10、ID=100及びID2=50という足跡レコードを更新登録する。
【0040】
そして、足跡処理部1311は、更新に係る足跡レコードに含まれるキー文字列及び値の組み合わせを含む足跡情報を生成すると共に、当該足跡情報の送信先を、自らが保持する又は足跡情報管理部140の特定データ格納部141に格納されているデータに従って特定する(ステップS17)。
【0041】
自らが保持する又は足跡情報管理部140の特定データ格納部141には、例えば図11又は図12に示すようなデータが格納されている。図11の例では、キー文字列及び値との組み合わせに対応付けて、送信先の紐付処理部のID(サーバ名)が登録されている。このように1つ1つ送信先を登録するようにしても良い。一方、図12の例では、送信先決定のための条件と、送信先の紐付処理部名(サーバ名)が登録されている。送信先決定のための条件は、図12に示すように、IDの値の法10が0の場合といったように、その都度計算により決定するような方法で規定しても良い。
【0042】
例えば、図9の第1の足跡レコードが初めて登録された場合には、SES=20とID=200とにより足跡情報が生成され、この足跡情報に含まれるSES=20とID=200とのうち自紐付処理部の担当外のキー文字列及び値により送信先を決定する。ここでは自紐付処理部がSES=20の担当であるとすると、ID=200により、例えば図11の例に従うと紐付処理部135が送信先として特定される。
【0043】
さらに、SES=20とID=200とID2=50という足跡レコードが新規登録又は更新登録される場合には、SES=20とID=200とID2=50という足跡情報が生成される。そして、ID=200から送信先を決定すると共にID2=50を自紐付処理部が担当していなければID2=50から送信先を決定する。そして、生成された足跡情報を、2つの送信先に送信する。
【0044】
そして、足跡処理部1311は、足跡情報を、特定された送信先の紐付処理部に送信する(ステップS19)。この足跡情報を交換することによって、受信したメッセージに関連する紐付処理部でキー文字列及び値の組み合わせを共有する。
【0045】
さらに、足跡処理部1311は、足跡テーブル1315の該当足跡レコードにおいて、送信先数だけ通知数Nをインクリメントする(ステップS21)。上で述べた第1の例では送信先は1つだけなので、通知数Nは1だけインクリメントされる。新規登録の場合には初期値は「0」であるので、インクリメントされると「1」となる。一方、第2の例では送信先が2なので、通知数Nは2だけインクリメントされる。更新登録の場合には既に値Nが登録されているので、その値Nが2だけインクリメントされる。
【0046】
このような処理を行うことによって受信メッセージにより自紐付処理部の足跡テーブル1315を更新すると共に、その影響を共有するため関係する紐付処理部にも足跡情報として通知する。
【0047】
上で述べたように足跡情報が紐付処理部間で交換されるが、他の紐付処理部から足跡情報を受信した場合に、図13に示すような処理が実施される。まず、紐付処理部131乃至136の足跡処理部1311は、他の足跡処理部から足跡情報を受信すると(ステップS31)、送信元の紐付処理部のIDと共に例えばメインメモリなどの記憶装置に格納する。そして、足跡処理部1311は、足跡情報に含まれるキー文字列及び値の複数の組み合わせが完全に一致する足跡レコードが既に足跡テーブル1315に登録されているか判断する(ステップS33)。既に完全に一致するデータが足跡テーブル1315に登録されていれば、これ以上の処理を行う必要はないので、そのまま処理を終了する。
【0048】
一方、完全に一致するデータが足跡テーブル1315に登録されていない場合には、足跡処理部1311は、受信した足跡情報で足跡テーブル1315を更新する(ステップS35)。この更新処理は基本的にはステップS15の足跡テーブル更新処理と同じである。すなわち、足跡情報に含まれるキー文字列及び値のいずれの組み合わせも、足跡テーブル1315に格納されている足跡レコードに含まれるキー文字列及び値のいずれの組み合わせとも一致しない場合には、足跡情報に含まれるキー文字列及び値の複数の組み合わせについて足跡レコードを生成し、足跡テーブル1315に新規登録する。一方、足跡情報に含まれるキー文字列及び値のいずれかの組み合わせが一致する足跡レコードが既に足跡テーブル1315に登録されているのであれば、当該足跡レコードに含まれないキー文字列及び値の組み合わせを当該足跡レコードに追加する形で足跡テーブル1315を更新する。
【0049】
また、足跡処理部1311は、足跡テーブル1315の該当足跡レコードの処理数Pの値を1インクリメントする(ステップS37)。このようにして、足跡情報による更新が行われたことを処理数Pに反映させる。
【0050】
そして、足跡処理部1311は、更新に係る足跡レコードに含まれるキー文字列及び値の組み合わせを含む足跡情報を生成すると共に、当該足跡情報の送信先を、自らが保持する又は足跡情報管理部140の特定データ格納部141に格納されているデータに従って特定する(ステップS39)。基本的にはこの処理はステップS17と同じである。すなわち、足跡情報に含まれるキー文字列及び値の組み合わせのうち、自紐付処理部の担当外のキー文字列及び値により、図11又は図12に示したようなデータに従って送信先を特定する。
【0051】
例えば、SES=20とID=200とを含む足跡情報の場合には、この足跡情報に含まれるSES=20とID=200とのうち自紐付処理部の担当外のキー文字列及び値により送信先を特定する。ここでは自紐付処理部がID=200の担当であるとすると、SES=20により、例えば図11の例に従うと紐付処理部134を送信先として特定する。但し、受信した足跡情報と送信する足跡情報が同一である場合には、受信した足跡情報の送信元を、送信先として特定された紐付処理部から除去する。従って、この例では、紐付処理部134は、受信した足跡情報の送信元なので紐付処理部134は除外される。
【0052】
そして、足跡処理部1311は、ステップS39で特定された、足跡情報の送信先の紐付処理部が残っているか判断する(ステップS41)。送信先の紐付処理部が残っていない場合には処理を終了する。一方、送信先の紐付処理部が残っている場合には、足跡処理部1311は、足跡情報を送信先の紐付処理部に送信する(ステップS43)。さらに、足跡処理部1311は、足跡テーブル1315の該当足跡レコードにおいて送信先の紐付処理部の数だけ通知数Nをインクリメントする(ステップS45)。
【0053】
このようにして、他の紐付処理部における足跡テーブルの更新に応じて生成される足跡情報を、自紐付処理部における足跡テーブルに反映させることができる。さらに、キー文字列及び値の新たな複数の組み合わせが出現した場合には、これを関連する紐付処理部で共有するために足跡情報を送信する。
【0054】
以上の処理を分かりやすくするため、図14乃至図17の具体例を用いて説明する。前提として、SES=1を担当する紐付処理部eと、ID=1を担当する紐付処理部fと、ID2=1を担当する紐付処理部gとが存在しており、まだメッセージが振り分けられていない状態を想定する。そして、図14に示すように、SES=1及びID=1を含むメッセージM10が紐付処理部eに振り分けられると、足跡テーブル1315には、SES=1、ID=1、通知数N=1及び処理数P=0の足跡レコードが登録される。そして、SES=1及びID=1を含む足跡情報を生成して、ID=1に基づき紐付処理部fを足跡情報の送信先として特定し、足跡情報を送信する。
【0055】
紐付処理部fは、SES=1及びID=1を含む足跡情報を受信すると、足跡テーブル1315に、新規にSES=1、ID=1、通知数N=0及び処理数P=1の足跡レコードを新規登録する。この新規登録された足跡レコードについての足跡情報については、受信した足跡情報と同じ足跡情報であり、その送信元に送信することになるので、足跡情報を送信することはない。
【0056】
次に、図15に示すように、紐付処理部fに、ID=1及びID2=1を含むメッセージM11が振り分けられた場合を説明する。このような場合、メッセージM11には、足跡テーブル1315に既に登録されている足跡レコードに含まれるキー文字列及び値の組み合わせID=1と一致するキー文字列及び値の組み合わせが含まれるので、この足跡レコードを、SES=1、ID=1、ID2=1、N=0及びP=1に一旦更新する。そして、SES=1、ID=1及びID2=1を含む足跡情報を生成して、SES=1及びID2=1から当該足跡情報の送信先を紐付処理部e及びgと特定する。従って、SES=1、ID=1及びID2=1を含む足跡情報を、紐付処理部e及びgに送信し、紐付処理部fの足跡テーブル1315の該当足跡レコードにおいて通知先数Nを2インクリメントして、N=2に更新する。
【0057】
その後、図16に示すように、紐付処理部eは、受信した足跡情報に含まれるSES=1及びID=1を含む足跡レコードが足跡テーブル1315に既に登録されていると判断して、受信した足跡情報に含まれる残りのID2=1を加えるように当該足跡レコードを更新する。さらに、足跡情報に応じて足跡レコードが更新されているので、処理数Pを1インクリメントして、P=1に更新する。一方、紐付処理部gは、受信した足跡情報に含まれるSES=1、ID=1及びID2=1を含む新規な足跡レコードを、足跡テーブル1315に登録する。なお、通知数Nは0であり、足跡情報により足跡レコードが登録されたので処理数Pは1となる。
【0058】
そして、図17に示すように、紐付処理部eは、更新された足跡レコードに含まれるSES=1、ID=1及びID2=1を含む足跡情報を生成するが、これは受信した足跡情報と同じなので、ID=1を担当する送信元の紐付処理部fについては足跡情報の送信先から除外する。従って、生成した足跡情報は、紐付処理部eから紐付処理部gへ送信される。同様に、紐付処理部gは、新規登録された足跡レコードに含まれるSES=1、ID=1及びID2=1を含む足跡情報を生成するが、これは受信した足跡情報と同じなので、ID=1を担当する送信元の紐付処理部fについては足跡情報の送信先から除外される。従って、SES=1、ID=1及びID2=1を含む足跡情報が、紐付処理部eと紐付処理部gとで交換される。但し、キー文字列及び値の完全に同一の組み合わせが足跡テーブル1315に既に登録されているので、紐付処理部e及びg共に足跡テーブル1315の更新は行われない。すなわち、足跡情報の交換が完了する。また、紐付処理部e及びgの足跡テーブル1315における該当足跡レコードの通知数Nは、共に「1」インクリメントされる。
【0059】
通知数N及び処理数Pの値は、足跡レコードの削除において用いられる。
【0060】
次に、図18を用いて検索コマンド(キー値収集コマンドとも呼ぶ)を出力する際の処理について説明する。
【0061】
例えば、リクエストに対する応答が返ってこないといった状況において、紐付け未完了だが関連するメッセージを抽出する前の処理として、既に分かっているキー文字列及び値の組み合わせを指定して、関連する他の組み合わせを特定する必要がある。
【0062】
そこで解析者は、管理者コンソール200を操作して、キー文字列及び値の1又は複数の組み合わせを指定して検索を、足跡情報管理部140に対して指示する。足跡情報管理部140は、管理者コンソール200から、キー文字列及び値の1又は複数の組み合わせの指定及び検索指示の入力を受け付ける(ステップS331)。そして、足跡情報管理部140は、キー文字列及び値の指定組み合わせから、特定データ格納部141に格納されているデータ(例えば図11又は図12)に従ってコマンド出力先の紐付処理部を特定する(ステップS333)。紐付けられるべきメッセージをトランザクション管理テーブル1316に格納している紐付処理部では、足跡テーブル1315に同じ足跡レコードを保持しているので、キー文字列及び値の指定組み合わせについて1つ紐付処理部を特定する。具体的には、SES=10とID=100とが指定された場合には、SES=10とID=100とのいずれかによって特定される紐付処理部に送信する。
【0063】
そして、足跡情報管理部140は、解析者の指示に従ったキー文字列及び値の組み合わせを含む検索コマンドを生成し、ステップS333で特定された送信先の紐付処理部に送信する(ステップS335)。例えば、Search SES=10 ID=100といったフォーマットのコマンドを出力する。ここで検索コマンドは、SES=10又はID=100を含む足跡レコードを抽出するためのコマンドである。
【0064】
紐付処理部の足跡処理部1311は、検索コマンドを、足跡情報管理部140から受信し(ステップS337)、検索コマンドに含まれるキー文字列及び値毎に足跡テーブル1315を検索する(ステップS339)。そして、足跡処理部1311は、検索結果を足跡情報管理部140に返信する(ステップS341)。検索結果では、検索キーとなったキー文字列及び値の後に検索結果として得られたキー文字列及び値が列挙される。
【0065】
足跡情報管理部140は、検索結果を、紐付処理部の足跡処理部1311から受信すると(ステップS343)、当該検索結果を管理者コンソール200に出力する(ステップS345)。これによって、解析者は、抽出すべきメッセージが含んでいるキー文字列及び値の組み合わせを得ることができるようになる。
【0066】
なお、Search SES=10というコマンドを、送信先として特定された紐付処理部に出力すると、例えば図9の足跡テーブル1315からすると、SES=10 ID=100を検索結果として得る。
【0067】
次に、図19乃至図21を用いて、メッセージ収集を行う際の処理について説明する。
【0068】
解析者は、管理者コンソール200を操作して、収集すべきメッセージに含まれるキー文字列及び値の組み合わせを指定して、メッセージ収集指示を足跡情報管理部140に出力させる。足跡情報管理部140は、キー文字列及び値の組み合わせの指定及びメッセージ収集指示を受け付け(ステップS51)、キー文字列及び値の指定組み合わせについて、特定データ格納部141に格納されたデータ(図11又は図12)に従って送信先を全て特定する(ステップS53)。例えばSES=10及びID=100が指定された場合には、SES=10を担当する紐付処理部を特定すると共に、ID=100を担当する紐付処理部を特定する。
【0069】
そして、足跡情報管理部140は、キー文字列及び値の指定組み合わせに従ってメッセージ収集コマンドを生成して、ステップS53で特定された1又は複数の紐付処理部に送信する(ステップS55)。例えば、Collect ID=100 SES=10といったフォーマットのコマンドを生成する。
【0070】
紐付処理部のメッセージ処理部1312は、足跡情報管理部140から、メッセージ収集コマンドを受信する(ステップS57)。なお、以下でも述べるが、メッセージ収集コマンドは他の紐付処理部に転送されるので、他の紐付処理部の出力制御部1314が、収集されたメッセージを含むメッセージ収集コマンドを送信し(ステップS56)、送信先の紐付処理部のメッセージ処理部1312が、当該メッセージ収集コマンドを受信する場合もある(ステップS57)。
【0071】
その後、メッセージ処理部1312は、トランザクション管理テーブル1316において、メッセージ収集コマンドに含まれ且つ本紐付処理部が担当するキー文字列及び値の組み合わせに対応する足跡レコードを特定して、ロックをかける(ステップS59)。ロックをかけないと、メッセージ収集のための処理を実施している途中で、新たに受信したメッセージが登録されて紐付処理ルールの条件を満たすことになって他の紐付処理部などに出力されてしまうことがある。従って、ロックをかけて、まずメッセージの収集を優先して実施するものである。
【0072】
さらに、メッセージ処理部1312は、出力制御部1314の通常処理を停止させる(ステップS61)。ロックと同様に、トランザクション管理テーブル1316からメッセージを抽出して送信してしまわないようにするためである。そして、メッセージ処理部1312は、トランザクション管理テーブル1316における該当足跡レコードにおけるメッセージをコピーする(ステップS63)。Collect ID=100 SES=10というメッセージ収集コマンドを受信した場合、SES=10を担当する紐付処理部であれば、図8Aのトランザクション管理テーブル1316から第2レコードに登録されているメッセージM3及びM5をコピーする。
【0073】
そして、メッセージ処理部1312は、コピーされたメッセージを含むメッセージ収集コマンドを、転送判断部1313に出力する(ステップS65)。転送判断部1313は、メッセージ処理部1312から、コピーされたメッセージを含むメッセージ収集コマンドを受信する(ステップS67)。処理は端子A及びBを介して図20の処理に移行する。
【0074】
図20の処理の説明に移行して、転送判断部1313は、ステップS63でコピーしたメッセージに含まれるキー文字列及び値の組み合わせ及び紐付処理ルール格納部1317に格納されている紐付処理ルールに従って、転送先を決定する(ステップS69)。
【0075】
例えば、上で述べた例で、SES=10を担当する紐付処理部で最初にメッセージ収集コマンドを受信した場合には、その紐付処理部でコピーされたメッセージM3に含まれるID=100を担当する紐付処理部を転送先の紐付処理部と決定する。一方、ID=100を担当する紐付処理部でメッセージ収集コマンドを受信した場合、メッセージ収集コマンドにメッセージが含まれていない場合には、トランザクション管理テーブル1316から抽出されたメッセージに含まれるキー文字列及び値の組み合わせのうち担当外のもの(すなわちSES=10)を担当する紐付処理部を転送先に決定するようにしてもよい。但し、SES=10を担当する紐付処理部から同一のメッセージ収集コマンドが転送されてくるので、通常の紐付処理ルールの条件が満たされた場合には他の紐付処理部に転送しないのと同様に、足跡情報管理部140を転送先に決定しても良い。
【0076】
なお、Collect SES=10 ID=100 ID2=50 のようにキー文字列及び値の多くの組み合わせを含む場合には、キー文字列及び値のいずれの組み合わせを担当した紐付処理部を経由したかは単純には分からないので、メッセージ収集コマンドに、通過した紐付処理部の識別子を含むようにして、同じ紐付処理部に転送されないようにする。例えば、収集したメッセージに対応付けて紐付処理部の識別子を含めるようにしても良い。
【0077】
そして、転送判断部1313は、転送先が他の紐付処理部であるか判断し(ステップS71)、足跡情報管理部140であれば端子Cを介して図21の処理に移行する。一方、他の紐付処理部であれば、転送判断部1313は、コピーされたメッセージを含むメッセージ収集コマンド及び転送先を出力制御部1314に出力する(ステップS73)。
【0078】
出力制御部1314は、転送判断部1313からメッセージ収集コマンド及び転送先のデータを受信すると、転送先の紐付処理部へ、コピーされたメッセージを含むメッセージ収集コマンドを送信する(ステップS75)。また、出力制御部1314は、メッセージ処理部1312に、通常処理開始を通知する(ステップS77)。
【0079】
メッセージ処理部1312は、出力制御部1314から通常処理開始通知を受信すると(ステップS79)、トランザクション管理テーブル1316の該当レコードに対するロックを解除する(ステップS81)。このようにして、通常の紐付処理を実施するような状態に戻る。
【0080】
次に、端子C以降の処理を図21を用いて説明する。転送判断部1313は、コピーされたメッセージを含むメッセージ収集コマンドを足跡情報管理部140に返信するように、出力制御部1314に指示する(ステップS82)。出力制御部1314は、転送判断部1313から、コピーされたメッセージを含むメッセージ収集コマンドを受け取り、足跡情報管理部140に返信する(ステップS83)。足跡情報管理部140は、紐付処理部から、コピーされたメッセージを含むメッセージ収集コマンドを受信すると、例えばメインメモリなどの記憶装置に格納する(ステップS85)。メッセージ収集コマンドは、送信した個数と同じ個数だけ返信されてくるので、全てが揃って収集完了となる。そして、足跡情報管理部140は、収集完了後、同一メッセージを受信した場合(Collect SES=10 ID=100で、SES=10を担当する紐付処理部及びID=100を担当する紐付処理部に別々にメッセージ収集コマンドを出力した場合には、上で述べた転送を実施する場合には共に同じ紐付処理部を経由して足跡情報管理部140に戻ってくるので重複する場合がある)にはマージした上で、要求元の管理者コンソール200に対して受信メッセージを出力する(ステップS87)。
【0081】
以上のような処理を実施すれば、各紐付処理部に分散保持されているメッセージを残らず収集することができる。
【0082】
なお、Collect SES=10 ID=100のように、紐付けされるべきメッセージに含まれているキー文字列及び値が指定されていることが分かっている場合には、SES=10を担当する紐付処理部又はID=100を担当する紐付処理部にメッセージ収集コマンドを送信して、上で述べたアルゴリズムで転送することにより雪だるま式にメッセージを1度で収集することができる。しかしながら、SES=10とID=200といったように関連のないキー文字列及び値が指定されることもあるので、上で述べたように足跡情報管理部140は、メッセージ収集コマンドに含まれるキー文字列及び値の組み合わせの各々について特定される送信先紐付処理部に送信する。
【0083】
次に、足跡テーブル1315の足跡レコードを削除する処理について説明する。足跡テーブル1315には、紐付け未完了のメッセージについてキー文字列及び値の組み合わせを登録することになっているので、紐付けが完了してしまえば、そのメッセージについての足跡レコードは不要となる。従って図22及び図23の処理を実施して、足跡テーブル1315のメンテナンスを実施する
【0084】
まず、ある紐付処理部の出力制御部1314は、紐付処理ルールに従ってメッセージ群を紐付結果格納部150に格納する場合には、紐付結果に含まれるメッセージから、キー文字列及び値の組み合わせを全て抽出する(ステップS91)。そして、出力制御部1314は、抽出されたデータを含む紐付完了通知を足跡情報管理部140に送信する(ステップS93)。当然ながら、出力制御部1314は、紐付結果を紐付結果格納部150に格納する(ステップS95)。足跡情報管理部140は、紐付結果に含まれるメッセージについてのキー文字列及び値の組み合わせを含む紐付完了通知を、ある紐付処理部から受信する(ステップS97)。
【0085】
そうすると、足跡情報管理部140は、キー文字列及び値の抽出された組み合わせ及び特定データ格納部141に格納されているデータ(例えば図11又は図12)により、足跡消去コマンドの出力先を特定する(ステップS99)。SES=10及びID=100であれば、SES=10を担当する紐付処理部とID=100を担当する紐付処理部とを特定する。
【0086】
そして、足跡情報管理部140は、キー文字列及び値の抽出された組み合わせを含む足跡消去コマンド(Deleteコマンド)を生成し、ステップS99で特定された出力先に送信する(ステップS101)。例えば、Delete ID=100 SES=10 といった形式のコマンドを出力する。なお、足跡情報管理部140は、出力先数を、例えばメインメモリなどの記憶装置に保持しておく(ステップS103)。
【0087】
出力先として特定された紐付処理部の足跡処理部1311は、キー文字列及び値の組み合わせを含む足跡消去コマンドを受信すると(ステップS105)、当該足跡消去コマンドに含まれるキー文字列及び値の組み合わせで足跡テーブル1315を検索する(ステップS107)。キー文字列及び値のいずれかの組み合わせを含む足跡レコードを探索する。
【0088】
そして、足跡処理部1311は、該当する足跡レコードが存在するか判断し(ステップS109)、存在しない場合には端子Eを介して図23の処理に移行する。一方、存在する場合に端子Dを介して図23の処理に移行する。なお、足跡情報管理部140の処理については端子Fを介して図23の処理に移行する。
【0089】
図23の処理の説明に移行して、端子Dを経由した場合、足跡処理部1311は、検索結果として得られた足跡レコードの通知数Nと処理数Pの差Tを算出し(ステップS111)、足跡テーブル1315から該当足跡レコードを削除する(ステップS113)。そして、足跡処理部1311は、差Tを含む削除完了通知を足跡情報管理部140に送信する(ステップS115)。
【0090】
足跡情報管理部140は、紐付処理部から削除完了通知を受信すると(ステップS117)、削除完了通知の受信数を1インクリメントし、ステップS103で保持した出力先数と削除完了通知の受信数とが一致したか判断する(ステップS119)。出力先数の方が削除完了通知の受信数より多い場合にはステップS117に戻る。なお、同時に複数の紐付完了通知を処理する場合もあるので、例えば足跡消去コマンドにIDを付与して、当該IDを削除完了通知にも含めることによって、同一の紐付完了通知についてステップS119の条件を判断する。
【0091】
一方、出力先数と削除完了通知の受信数が一致した場合には、足跡情報管理部140は、同一の紐付完了通知について2度目の足跡消去コマンドの送信に対する処理であるか判断し(ステップS121)、1度目であれば、全ての削除完了通知に含まれるT値を合計する(ステップS123)。2度目であれば、処理を終了する(ステップS127)。
【0092】
例えば図14乃至図17で説明した例では、図17に示すように、紐付処理部eについては、N=2且つP=2、紐付処理部fについてはN=2且つP=1、紐付処理部gについてはN=1及びP=2となっている。システム全体では足跡情報の送信回数と処理回数は同じになるので、上で述べたようにTの合計は0となるはずである。図17の例では、紐付処理部eのT=2−2=0、紐付処理部fのT=1−2=−1、紐付処理部gのT=2−1=1であり、Tの合計値は0となっている。このように、通常であればTの合計値は0となる。しかしながら、足跡情報の処理において何らかの問題が発生していたり、足跡消去処理の中で問題が生じているとTの合計値が0にならない場合がある。
【0093】
そこで、足跡情報管理部140は、Tの合計値=0であるか判断し(ステップS125)、Tの合計値=0でなければ端子Gを介して図22のステップS101に戻る。すなわち、もう一度足跡消去コマンドを送信する。この2度目の足跡消去コマンドについては2度目の送信であることを示すようなデータを含めておく。Tの合計値=0であれば、処理を終了する(ステップS127)。
【0094】
なお、該当足跡レコードが存在しない場合(すなわち端子Eを経由した場合)には、足跡処理部1311は、T=0を含む削除完了通知を足跡情報管理部140に送信する(ステップS116)。このような場合は、通常2回目の足跡消去コマンドを送信した場合に発生する。以下、上で述べたようにステップS117以降の処理が実施されるが、通常であればステップS121で2度目の足跡消去コマンドの送信として処理を完了することになる。
【0095】
以上のような処理を実施することによって、不要となった足跡レコードを足跡テーブル1315から削除することができ、各紐付処理部における足跡テーブル1315の容量を適正なものに維持できるようになる。
【0096】
以上のような処理を実施することによって、紐付け未完了のメッセージについても効率的に収集することができ、例えばリクエストに応答が返ってこないといった状況において処理の進捗などから問題を把握できるようになる。
【0097】
なお、足跡情報管理部140で足跡テーブルを集中管理する方策も考えられるが、足跡テーブルの更新は頻繁に行われるため、この処理がボトルネックになって、十分なスループットが得られないという問題がある。上で述べたような分散管理を行えば、このような問題は発生せず、足跡テーブルの更新処理を効率的に実施することができる。また、各足跡テーブルのサイズはそれほど大きくならないので、足跡テーブルを分散管理する方が、コストも小さくなる。
【0098】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図7に示した紐付処理部の機能ブロック図は一例であって、必ずしも実際のプログラムモジュールに一致するわけではない。
【0099】
また、処理フローについても処理結果が変わらない限り、並列実施したりステップの順番を入れ替えたりすることも可能である。
【0100】
なお、上で述べた並列紐付処理システム100の各紐付処理部131乃至136、メッセージ受信部110、メッセージ振分部120、足跡情報管理部140などは、コンピュータ装置であって、図24に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【0101】
以上述べた本実施の形態をまとめると、以下のようになる。
【0102】
本並列紐付処理システムは、関連するメッセージを紐付けする処理を行う複数の紐付処理部を有する。そして、各紐付処理部は、メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部と、足跡処理部と、紐付け未完了のメッセージのデータを格納するメッセージ格納部(例えばトランザクション管理テーブルのような形でメッセージを保持するようにしても良い)と、メッセージ処理部とを含む。さらに、上で述べた足跡処理部は、受信した担当メッセージ又は他の紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行う足跡データ格納部更新処理を実施する。また、足跡処理部は、新規登録又は更新された足跡レコードに含まれるキー文字列及び値の組み合わせを足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される紐付処理部に送信する。さらに、足跡処理部は、キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、足跡データ格納部を前記第1の組み合わせで検索し、該当足跡レコードのデータを検索コマンドの送信元に返信する。一方、上で述べたメッセージ処理部は、キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、メッセージ格納部を第2の組み合わせで検索し、該当するメッセージを含むメッセージ収集コマンドを予め定められた第2のルールに基づき特定された紐付処理部又はメッセージ収集コマンドの送信元に送信する。
【0103】
このように担当受信メッセージからだけではなく紐付処理部間で足跡情報を交換することによって、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれるキー文字列及び値の複数の組み合わせが足跡データ格納部に収集される。従って、リクエストに対する応答が返ってこないといった状態における紐付け未完了のメッセージについても、足跡データ格納部からどのようなキー文字列及び値の組み合わせでメッセージを検索すればよいのか特定できる。すなわち、該当する紐付処理部から、該当メッセージを効率的に収集することができるようになる。
【0104】
なお、上で述べたメッセージ処理部は、メッセージ収集コマンドを処理する際に、メッセージ格納部から予め定められた紐付けルールに従って紐付け完了したメッセージを読み出して出力する処理を停止させるようにしてもよい。これによって、メッセージの紐付処理が並行して行われて他の紐付処理部などに転送されてしまうことを防止することができる。
【0105】
さらに、本並列紐付処理システムは、足跡情報管理部と、紐付結果格納部とをさらに有するようにしてもよい。その場合、各紐付処理部は、第2のルールに従って、メッセージ格納部に格納されており且つキー文字列及び値の組み合わせにて関連付けられている特定のメッセージ群を他の紐付処理部に出力するか又は紐付結果格納部に格納し、紐付結果格納部に特定のメッセージを格納した場合には、当該特定のメッセージ群に含まれるキー文字列及び値の第3の複数の組み合わせを含む紐付完了通知を足跡情報管理部に送信する出力制御部をさらに有するようにしてもよい。そして、足跡データ格納部に格納されている足跡レコードは、当該足跡レコードに含まれるキー文字列及び値の組み合わせを含む足跡情報を送信した通知回数と当該足跡情報を受信して処理した処理回数とをさらに含むようにしても良い。このような場合、足跡情報管理部は、複数の紐付処理部のうち特定の紐付処理部の出力制御部から紐付完了通知を受信した場合、当該紐付完了通知に含まれるキー文字列及び値の第3の複数の組み合わせを含む削除コマンドを、第3の複数の組み合わせ及び第2のルールに従って特定された紐付処理部に送信するようにしてもよい。また、紐付処理部の足跡処理部は、削除コマンドを受信すると、削除コマンドに含まれる第3の複数の組み合わせで足跡データ格納部を検索して該当足跡レコードを特定すると共に削除し、該当足跡レコードに含まれる通知回数と処理回数との差を含む削除完了通知を足跡情報管理部に送信するようにしてもよい。さらに、上で述べた足跡情報管理部は、削除コマンドに対応する削除完了通知が全て受信された場合には、削除完了通知に含まれる上記差の合計値が0になっているか確認し、0になっていない場合には、再度削除コマンドを送信するようにしてもよい。
【0106】
このようにすれば、紐付け完了時には足跡データ格納部から不要となったレコードを各紐付処理部から除去できるようになる。
【0107】
なお、上で述べた足跡データ格納部更新処理において、受信した担当メッセージに含まれるキー文字列及び値の複数の組み合わせのいずれもが足跡データ格納部に格納されている足跡レコードに含まれていなければ複数の組み合わせを含む足跡レコードを足跡データ格納部に新規登録し、複数の組み合わせのうち一部が足跡データ格納部に格納されているいずれかの足跡レコードに含まれていれば複数の組み合わせのうち不一致の組み合わせを当該足跡レコードに追加するようにしてもよい。さらに、他の紐付処理部からキー文字列及び値の第4の複数の組み合わせを含む足跡情報を受信した場合、当該足跡情報に含まれる第4の複数の組み合わせのいずれもが足跡データ格納部に格納されている足跡レコードに含まれていなければ第4の複数の組み合わせを含む足跡レコードを足跡データ格納部に新規登録し、第4の複数の組み合わせのうち一部が足跡データ格納部に格納されているいずれかの足跡レコードに含まれていれば第4の複数の組み合わせのうち不一致の組み合わせを当該足跡レコードに追加するようにしてもよい。
【0108】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【0109】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0110】
(付記1)
メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部及び紐付け未完了のメッセージのデータを格納するトランザクション管理テーブル格納部を有し且つ関連するメッセージを紐付けする処理を行う紐付処理部を有するコンピュータに、
受信した担当メッセージ又は他の紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして前記足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行うステップと、
新規登録又は更新された前記足跡レコードに含まれるキー文字列及び値の組み合わせを前記足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される紐付処理部に送信するステップと、
キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、前記足跡データ格納部を前記第1の組み合わせで検索し、該当足跡レコードのデータを前記検索コマンドの送信元に返信するステップと、
キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、前記トランザクション管理テーブル格納部を前記第2の組み合わせで検索し、該当するメッセージを含む前記メッセージ収集コマンドを予め定められた第2のルールに基づき特定された紐付処理部又は前記メッセージ収集コマンドの送信元に送信するステップと、
を実行させるデータ収集処理プログラム。
【0111】
(付記2)
前記メッセージ収集コマンドを処理する際に、前記トランザクション管理テーブル格納部から予め定められた紐付けルールに従って紐付け完了したメッセージを読み出して出力する処理を停止させるステップ
を前記コンピュータにさらに実行させる付記1記載のデータ収集処理プログラム。
【0112】
(付記3)
前記第2のルールに従って、前記トランザクション管理テーブル格納部に格納されており且つ前記キー文字列及び値の組み合わせにて関連付けられている特定のメッセージ群を他の紐付処理部を有する第2のコンピュータに出力するか又は紐付結果格納部に格納し、前記紐付結果格納部に前記特定のメッセージを格納した場合には、当該特定のメッセージ群に含まれる前記キー文字列及び値の第3の複数の組み合わせを含む紐付完了通知を足跡情報管理部を有する第3のコンピュータに送信するステップ
をさらに前記コンピュータに実行させ、
前記足跡データ格納部に格納されている前記足跡レコードは、当該足跡レコードに含まれる前記キー文字列及び値の組み合わせを含む前記足跡情報を送信した通知回数と当該足跡情報を受信して処理した処理回数とを含み、
前記足跡情報管理部を有する第3のコンピュータに、
複数の前記紐付処理部のうち特定の紐付処理部を有する第4のコンピュータから前記紐付完了通知を受信した場合、当該紐付完了通知に含まれる前記キー文字列及び値の第3の複数の組み合わせを含む削除コマンドを、前記第3の複数の組み合わせ及び前記第2のルールに従って特定された紐付処理部を有する第5のコンピュータに送信するステップ
を実行させ、
前記紐付処理部を有するコンピュータに、
前記削除コマンドを受信すると、前記削除コマンドに含まれる前記第3の複数の組み合わせで前記足跡データ格納部を検索して該当足跡レコードを特定すると共に削除し、前記該当足跡レコードに含まれる前記通知回数と前記処理回数との差を含む削除完了通知を前記足跡情報管理部を有する第3のコンピュータに送信するステップ
を実行させ、
前記足跡情報管理部を有する第3のコンピュータに、
前記削除コマンドに対応する前記削除完了通知が全て受信された場合には、前記削除完了通知に含まれる前記差の合計値が0になっているか確認し、0になっていない場合には、再度前記削除コマンドを送信するステップ
を実行させるための付記1又は2記載のデータ収集処理プログラム。
【0113】
(付記4)
前記足跡データ格納部更新処理において、
受信した担当メッセージに含まれるキー文字列及び値の複数の組み合わせのいずれもが前記足跡データ格納部に格納されている足跡レコードに含まれていなければ前記複数の組み合わせを含む足跡レコードを前記足跡データ格納部に新規登録し、前記複数の組み合わせのうち一部が前記足跡データ格納部に格納されているいずれかの足跡レコードに含まれていれば前記複数の組み合わせのうち不一致の組み合わせを当該足跡レコードに追加し、
他の前記紐付処理部からキー文字列及び値の第5の複数の組み合わせを含む足跡情報を受信した場合、当該足跡情報に含まれる前記第5の複数の組み合わせのいずれもが前記足跡データ格納部に格納されている足跡レコードに含まれていなければ前記第5の複数の組み合わせを含む足跡レコードを前記足跡データ格納部に新規登録し、前記第5の複数の組み合わせのうち一部が前記足跡データ格納部に格納されているいずれかの足跡レコードに含まれていれば前記第5の複数の組み合わせのうち不一致の組み合わせを当該足跡レコードに追加する、
付記1乃至3記載のデータ収集処理プログラム。
【0114】
(付記5)
関連するメッセージを紐付けする処理を行う紐付処理装置であって、
前記メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部と、
足跡処理部と、
紐付け未完了のメッセージのデータを格納するトランザクション管理テーブル格納部と、
メッセージ処理部と、
を有し、
前記足跡処理部は、
受信した担当メッセージ又は他の前記紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして前記足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行う足跡データ格納部更新処理を実施し、
新規登録又は更新された前記足跡レコードに含まれるキー文字列及び値の組み合わせを前記足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される前記紐付処理部に送信し、
キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、前記足跡データ格納部を前記第1の組み合わせで検索し、該当足跡レコードのデータを前記検索コマンドの送信元に返信し、
前記メッセージ処理部は、
キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、前記トランザクション管理テーブル格納部を前記第2の組み合わせで検索し、該当するメッセージを含む前記メッセージ収集コマンドを予め定められた第2のルールに基づき特定された前記紐付処理部又は前記メッセージ収集コマンドの送信元に送信する
紐付処理装置。
【0115】
(付記6)
関連するメッセージを紐付けする処理を行う複数の紐付処理部と、
足跡情報管理部と、
紐付結果格納部と、
を有し、
各前記紐付処理部は、
前記メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部と、
足跡処理部と、
紐付け未完了のメッセージのデータを格納するトランザクション管理テーブル格納部と、
メッセージ処理部と、
を含み、
前記足跡処理部は、
受信した担当メッセージ又は他の前記紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして前記足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行う足跡データ格納部更新処理を実施し、
新規登録又は更新された前記足跡レコードに含まれるキー文字列及び値の組み合わせを前記足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される前記紐付処理部に送信し、
キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、前記足跡データ格納部を前記第1の組み合わせで検索し、該当足跡レコードのデータを前記検索コマンドの送信元に返信し、
前記メッセージ処理部は、
キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、前記トランザクション管理テーブル格納部を前記第2の組み合わせで検索し、該当するメッセージを含む前記メッセージ収集コマンドを予め定められた第2のルールに基づき特定された前記紐付処理部又は前記メッセージ収集コマンドの送信元に送信し、
各前記紐付処理部は、
前記第2のルールに従って、前記トランザクション管理テーブル格納部に格納されており且つ前記キー文字列及び値の組み合わせにて関連付けられている特定のメッセージ群を他の前記紐付処理部に出力するか又は前記紐付結果格納部に格納し、前記紐付結果格納部に前記特定のメッセージを格納した場合には、当該特定のメッセージ群に含まれる前記キー文字列及び値の第3の複数の組み合わせを含む紐付完了通知を前記足跡情報管理部に送信する出力制御部
をさらに有し、
前記足跡データ格納部に格納されている前記足跡レコードは、当該足跡レコードに含まれる前記キー文字列及び値の組み合わせを含む前記足跡情報を送信した通知回数と当該足跡情報を受信して処理した処理回数とを含み、
前記足跡情報管理部は、
前記複数の紐付処理部のうち特定の紐付処理部の前記出力制御部から前記紐付完了通知を受信した場合、当該紐付完了通知に含まれる前記キー文字列及び値の第3の複数の組み合わせを含む削除コマンドを、前記第3の複数の組み合わせ及び前記第2のルールに従って特定された前記紐付処理部に送信し、
前記紐付処理部の前記足跡処理部は、
前記削除コマンドを受信すると、前記削除コマンドに含まれる前記第3の複数の組み合わせで前記足跡データ格納部を検索して該当足跡レコードを特定すると共に削除し、前記該当足跡レコードに含まれる前記通知回数と前記処理回数との差を含む削除完了通知を前記足跡情報管理部に送信し、
前記足跡情報管理部は、
前記削除コマンドに対応する前記削除完了通知が全て受信された場合には、前記削除完了通知に含まれる前記差の合計値が0になっているか確認し、0になっていない場合には、再度前記削除コマンドを送信する
並列紐付処理システム。
【0116】
(付記7)
メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部及び紐付け未完了のメッセージのデータを格納するトランザクション管理テーブル格納部を有し且つ関連するメッセージを紐付けする処理を行う紐付処理部を有するコンピュータにより実行されるデータ収集処理方法であって、
受信した担当メッセージ又は他の前記紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして前記足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行うステップと、
新規登録又は更新された前記足跡レコードに含まれるキー文字列及び値の組み合わせを前記足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される前記紐付処理部に送信するステップと、
キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、前記足跡データ格納部を前記第1の組み合わせで検索し、該当足跡レコードのデータを前記検索コマンドの送信元に返信するステップと、
キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、前記トランザクション管理テーブル格納部を前記第2の組み合わせで検索し、該当するメッセージを含む前記メッセージ収集コマンドを予め定められた第2のルールに基づき特定された前記紐付処理部又は前記メッセージ収集コマンドの送信元に送信するステップと、
を含むデータ収集処理方法。
【符号の説明】
【0117】
100 並列紐付処理システム
110 メッセージ受信部 120 メッセージ振分部
131−136 紐付処理部
140 足跡情報管理部 150 紐付結果格納部
141 特定データ格納部
200 管理者コンソール
300 解析対象システム
1311 足跡処理部 1312 メッセージ処理部
1313 転送判断部 1314 出力制御部
1315 足跡テーブル 1316 トランザクション管理テーブル
1317 紐付処理ルール格納部

【特許請求の範囲】
【請求項1】
メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部及び紐付け未完了のメッセージのデータを格納するトランザクション管理テーブル格納部を有し且つ関連するメッセージを紐付けする処理を行う紐付処理部を有するコンピュータに、
受信した担当メッセージ又は他の紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして前記足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行うステップと、
新規登録又は更新された前記足跡レコードに含まれるキー文字列及び値の組み合わせを前記足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される紐付処理部に送信するステップと、
キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、前記足跡データ格納部を前記第1の組み合わせで検索し、該当足跡レコードのデータを前記検索コマンドの送信元に返信するステップと、
キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、前記トランザクション管理テーブル格納部を前記第2の組み合わせで検索し、該当するメッセージを含む前記メッセージ収集コマンドを予め定められた第2のルールに基づき特定された紐付処理部又は前記メッセージ収集コマンドの送信元に送信するステップと、
を実行させるデータ収集処理プログラム。
【請求項2】
前記メッセージ収集コマンドを処理する際に、前記トランザクション管理テーブル格納部から予め定められた紐付けルールに従って紐付け完了したメッセージを読み出して出力する処理を停止させるステップ
を前記コンピュータにさらに実行させる請求項1記載のデータ収集処理プログラム。
【請求項3】
前記第2のルールに従って、前記トランザクション管理テーブル格納部に格納されており且つ前記キー文字列及び値の組み合わせにて関連付けられている特定のメッセージ群を他の紐付処理部を有する第2のコンピュータに出力するか又は紐付結果格納部に格納し、前記紐付結果格納部に前記特定のメッセージを格納した場合には、当該特定のメッセージ群に含まれる前記キー文字列及び値の第3の複数の組み合わせを含む紐付完了通知を足跡情報管理部を有する第3のコンピュータに送信するステップ
をさらに前記コンピュータに実行させ、
前記足跡データ格納部に格納されている前記足跡レコードは、当該足跡レコードに含まれる前記キー文字列及び値の組み合わせを含む前記足跡情報を送信した通知回数と当該足跡情報を受信して処理した処理回数とを含み、
前記足跡情報管理部を有する第3のコンピュータに、
複数の前記紐付処理部のうち特定の紐付処理部を有する第4のコンピュータから前記紐付完了通知を受信した場合、当該紐付完了通知に含まれる前記キー文字列及び値の第3の複数の組み合わせを含む削除コマンドを、前記第3の複数の組み合わせ及び前記第2のルールに従って特定された紐付処理部を有する第5のコンピュータに送信するステップ
を実行させ、
前記紐付処理部を有するコンピュータに、
前記削除コマンドを受信すると、前記削除コマンドに含まれる前記第3の複数の組み合わせで前記足跡データ格納部を検索して該当足跡レコードを特定すると共に削除し、前記該当足跡レコードに含まれる前記通知回数と前記処理回数との差を含む削除完了通知を前記足跡情報管理部を有する第3のコンピュータに送信するステップ
を実行させ、
前記足跡情報管理部を有する第3のコンピュータに、
前記削除コマンドに対応する前記削除完了通知が全て受信された場合には、前記削除完了通知に含まれる前記差の合計値が0になっているか確認し、0になっていない場合には、再度前記削除コマンドを送信するステップ
を実行させるための請求項1又は2記載のデータ収集処理プログラム。
【請求項4】
前記足跡データ格納部更新処理において、
受信した担当メッセージに含まれるキー文字列及び値の複数の組み合わせのいずれもが前記足跡データ格納部に格納されている足跡レコードに含まれていなければ前記複数の組み合わせを含む足跡レコードを前記足跡データ格納部に新規登録し、前記複数の組み合わせのうち一部が前記足跡データ格納部に格納されているいずれかの足跡レコードに含まれていれば前記複数の組み合わせのうち不一致の組み合わせを当該足跡レコードに追加し、
他の前記紐付処理部からキー文字列及び値の第5の複数の組み合わせを含む足跡情報を受信した場合、当該足跡情報に含まれる前記第5の複数の組み合わせのいずれもが前記足跡データ格納部に格納されている足跡レコードに含まれていなければ前記第5の複数の組み合わせを含む足跡レコードを前記足跡データ格納部に新規登録し、前記第5の複数の組み合わせのうち一部が前記足跡データ格納部に格納されているいずれかの足跡レコードに含まれていれば前記第5の複数の組み合わせのうち不一致の組み合わせを当該足跡レコードに追加する、
請求項1乃至3記載のデータ収集処理プログラム。
【請求項5】
関連するメッセージを紐付けする処理を行う紐付処理装置であって、
前記メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部と、
足跡処理部と、
紐付け未完了のメッセージのデータを格納するトランザクション管理テーブル格納部と、
メッセージ処理部と、
を有し、
前記足跡処理部は、
受信した担当メッセージ又は他の前記紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして前記足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行う足跡データ格納部更新処理を実施し、
新規登録又は更新された前記足跡レコードに含まれるキー文字列及び値の組み合わせを前記足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される前記紐付処理部に送信し、
キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、前記足跡データ格納部を前記第1の組み合わせで検索し、該当足跡レコードのデータを前記検索コマンドの送信元に返信し、
前記メッセージ処理部は、
キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、前記トランザクション管理テーブル格納部を前記第2の組み合わせで検索し、該当するメッセージを含む前記メッセージ収集コマンドを予め定められた第2のルールに基づき特定された前記紐付処理部又は前記メッセージ収集コマンドの送信元に送信する
紐付処理装置。
【請求項6】
関連するメッセージを紐付けする処理を行う複数の紐付処理部と、
足跡情報管理部と、
紐付結果格納部と、
を有し、
各前記紐付処理部は、
前記メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部と、
足跡処理部と、
紐付け未完了のメッセージのデータを格納するトランザクション管理テーブル格納部と、
メッセージ処理部と、
を含み、
前記足跡処理部は、
受信した担当メッセージ又は他の前記紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして前記足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行う足跡データ格納部更新処理を実施し、
新規登録又は更新された前記足跡レコードに含まれるキー文字列及び値の組み合わせを前記足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される前記紐付処理部に送信し、
キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、前記足跡データ格納部を前記第1の組み合わせで検索し、該当足跡レコードのデータを前記検索コマンドの送信元に返信し、
前記メッセージ処理部は、
キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、前記トランザクション管理テーブル格納部を前記第2の組み合わせで検索し、該当するメッセージを含む前記メッセージ収集コマンドを予め定められた第2のルールに基づき特定された前記紐付処理部又は前記メッセージ収集コマンドの送信元に送信し、
各前記紐付処理部は、
前記第2のルールに従って、前記トランザクション管理テーブル格納部に格納されており且つ前記キー文字列及び値の組み合わせにて関連付けられている特定のメッセージ群を他の前記紐付処理部に出力するか又は前記紐付結果格納部に格納し、前記紐付結果格納部に前記特定のメッセージを格納した場合には、当該特定のメッセージ群に含まれる前記キー文字列及び値の第3の複数の組み合わせを含む紐付完了通知を前記足跡情報管理部に送信する出力制御部
をさらに有し、
前記足跡データ格納部に格納されている前記足跡レコードは、当該足跡レコードに含まれる前記キー文字列及び値の組み合わせを含む前記足跡情報を送信した通知回数と当該足跡情報を受信して処理した処理回数とを含み、
前記足跡情報管理部は、
前記複数の紐付処理部のうち特定の紐付処理部の前記出力制御部から前記紐付完了通知を受信した場合、当該紐付完了通知に含まれる前記キー文字列及び値の第3の複数の組み合わせを含む削除コマンドを、前記第3の複数の組み合わせ及び前記第2のルールに従って特定された前記紐付処理部に送信し、
前記紐付処理部の前記足跡処理部は、
前記削除コマンドを受信すると、前記削除コマンドに含まれる前記第3の複数の組み合わせで前記足跡データ格納部を検索して該当足跡レコードを特定すると共に削除し、前記該当足跡レコードに含まれる前記通知回数と前記処理回数との差を含む削除完了通知を前記足跡情報管理部に送信し、
前記足跡情報管理部は、
前記削除コマンドに対応する前記削除完了通知が全て受信された場合には、前記削除完了通知に含まれる前記差の合計値が0になっているか確認し、0になっていない場合には、再度前記削除コマンドを送信する
並列紐付処理システム。
【請求項7】
メッセージに含まれるキー文字列及び値の複数の組み合わせを含む足跡レコードを格納する足跡データ格納部及び紐付け未完了のメッセージのデータを格納するトランザクション管理テーブル格納部を有し且つ関連するメッセージを紐付けする処理を行う紐付処理部を有するコンピュータにより実行されるデータ収集処理方法であって、
受信した担当メッセージ又は他の前記紐付処理部から受信し且つキー文字列及び値の複数の組み合わせを含む足跡情報から、紐付け未完了であって且つ紐付けされるべき複数のメッセージに含まれる、キー文字列及び値の複数の組み合わせを特定し、新規な足跡レコードとして前記足跡データ格納部に新規登録又は一部の組み合わせが含まれる既存の足跡レコードの更新を行うステップと、
新規登録又は更新された前記足跡レコードに含まれるキー文字列及び値の組み合わせを前記足跡情報として、当該足跡情報及び予め定められた第1のルールに従って特定される前記紐付処理部に送信するステップと、
キー文字列及び値の第1の組み合わせを指定した検索コマンドを受信した場合には、前記足跡データ格納部を前記第1の組み合わせで検索し、該当足跡レコードのデータを前記検索コマンドの送信元に返信するステップと、
キー文字列及び値の第2の組み合わせを指定したメッセージ収集コマンドを受信した場合には、前記トランザクション管理テーブル格納部を前記第2の組み合わせで検索し、該当するメッセージを含む前記メッセージ収集コマンドを予め定められた第2のルールに基づき特定された前記紐付処理部又は前記メッセージ収集コマンドの送信元に送信するステップと、
を含むデータ収集処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2011−53919(P2011−53919A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−202305(P2009−202305)
【出願日】平成21年9月2日(2009.9.2)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】