(57)【特許請求の範囲】
【請求項１】
同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置にメッセージを振り分けるコンピュータに実行させるためのプログラムであって、
トランザクション識別子に基づきメッセージの振り分け先の紐付け処理装置を特定するための振り分けルールを変更する場合、受信メッセージに含まれるトランザクション識別子と、ルール格納部に格納されている変更前の振り分けルールとを用いて、第１の紐付け処理装置を特定する特定ステップと、
前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データのうち前記第１の紐付け処理装置により生成された第１の状況データに、前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が含まれるか判断する判断ステップと、
前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が前記第１の状況データに含まれると判断された場合に、前記受信メッセージを前記第１の紐付け処理装置に送信するステップと、
を実行させるための振り分け処理プログラム。
【請求項２】
前記ルール格納部には、変更後の振り分けルールがさらに格納されており、
前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が前記第１の状況データに含まれないと判断された場合に、前記受信メッセージに含まれるトランザクション識別子と前記変更後の振り分けルールとにより特定される第２の紐付け処理装置に前記受信メッセージを送信するステップ
をさらに実行させるための請求項１記載の振り分け処理プログラム。
【請求項３】
前記受信メッセージに含まれるトランザクション識別子と、前記ルール格納部に格納されている前記変更後の振り分けルールとを用いて、前記第２の紐付け処理装置を特定するステップと、
前記第１の紐付け処理装置と前記第２の紐付け処理装置とが一致するか判断するステップと、
をさらに実行させ、
前記第１の紐付け処理装置と前記第２の紐付け処理装置とが一致しないと判断された場合に、前記判断ステップを実施させる
ことを特徴とする請求項２記載の振り分け処理プログラム。
【請求項４】
前記第１の紐付け処理装置と前記第２の紐付け処理装置とが一致すると判断された場合に、前記第２の紐付け処理装置に前記受信メッセージを送信するステップ
をさらに実行させるための請求項３記載の振り分け処理プログラム。
【請求項５】
前記判断ステップを実施する前に、前記複数の紐付け処理装置の各々により生成された状況データを取得するステップと、
残余のメッセージを取得することによって前記紐付け処理が完了したトランザクションのトランザクション識別子を含み且つ前記複数の紐付け処理装置のうちいずれかの紐付け処理装置により生成された第１データを取得した場合、取得した前記状況データに含まれるトランザクション識別子のうち、前記紐付け処理が完了したトランザクションのトランザクション識別子を無効化又は削除するステップと、
取得した全ての前記状況データに含まれるトランザクション識別子が無効化又は削除されるという条件を含む変更完了条件を満たした場合に、前記ルール格納部に格納されている前記変更前の振り分けルールを削除するステップと、
をさらに実行させるための請求項１乃至４いずれか１つ記載の振り分け処理プログラム。
【請求項６】
前記判断ステップを実施する前に、前記複数の紐付け処理装置のうち少なくとも一部の紐付け処理装置により生成された状況データを取得するステップと、
取得した前記状況データに前記第１の状況データが含まれるか判断するステップと、
取得した前記状況データに前記第１の状況データが含まれないと判断された場合には、前記受信メッセージをバッファに格納するステップと、
とをさらに実行させ、
前記バッファに格納された受信メッセージを、後に前記バッファから読み出して処理させる
ことを特徴とする請求項１乃至４いずれか１つ記載の振り分け処理プログラム。
【請求項７】
前記複数の紐付け処理装置の全てから前記状況データを取得済みであることを示し且つ取得した全ての前記状況データに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したことを示すデータを、前記複数の紐付け処理装置における紐付け処理の状況を管理する管理装置から受信した場合には、前記ルール格納部に格納されている前記変更前の振り分けルールを削除するステップ
をさらに実行させるための請求項１乃至４いずれか１つ記載の振り分け処理プログラム。
【請求項８】
複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行うコンピュータに実行させるためのプログラムであって、
前記コンピュータにおける紐付け処理の状況を管理する管理装置又は前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じて、トランザクション毎にメッセージを格納するメッセージ格納部から、取り揃えられるべきメッセージが揃っていないトランザクションのトランザクション識別子を特定し、当該トランザクション識別子を含む状況データを、前記要求の送信元又は前記複数の振り分け処理装置の全てに送信するステップと、
前記複数の振り分け処理装置のうち任意の振り分け処理装置からメッセージを受信した場合、当該メッセージを当該メッセージに含まれるトランザクション識別子に従って前記メッセージ格納部に格納すると共に、当該メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したか判断するステップと、
受信した前記メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したと判断された場合、当該トランザクションのトランザクション識別子を、前記状況データの送信先の装置に送信するステップと、
を実行させるための紐付け処理プログラム。
【請求項９】
メッセージを振り分けるための振り分けルールを変更する場合、前記振り分けルールに従いメッセージを振り分ける複数の振り分け処理装置の各々に対し、変更後の振り分けルールを含む変更通知を送信するステップと、
前記複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置の各々に対し、前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データの生成要求を送信するステップと、
前記複数の紐付け処理装置のうちいずれかの紐付け処理装置から前記状況データを受信した場合には、当該状況データを当該紐付け処理装置の識別子に対応付けてデータ格納部に格納するステップと、
残余のメッセージを取得することによって前記紐付け処理が完了したトランザクションのトランザクション識別子を前記状況データの送信元の紐付け処理装置から受信した場合には、前記データ格納部に格納されているトランザクション識別子のうち、受信した前記トランザクション識別子と同一のトランザクション識別子を無効化又は削除するステップと、
前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じ、前記データ格納部に格納されている紐付け処理装置の識別子と当該紐付け処理装置の識別子に対応付けられている状況データとを抽出し、前記要求の送信元の振り分け処理装置に送信するステップと、
をコンピュータに実行させるための管理プログラム。
【請求項１０】
同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置にメッセージを振り分けるコンピュータにより実行される振り分け処理方法であって、
トランザクション識別子に基づきメッセージの振り分け先の紐付け処理装置を特定するための振り分けルールを変更する場合、受信メッセージに含まれるトランザクション識別子と、ルール格納部に格納されている変更前の振り分けルールとを用いて、第１の紐付け処理装置を特定する特定ステップと、
前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データのうち前記第１の紐付け処理装置により生成された第１の状況データに、前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が含まれるか判断する判断ステップと、
前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が前記第１の状況データに含まれると判断された場合に、前記受信メッセージを前記第１の紐付け処理装置に送信するステップと、
を含む振り分け処理方法。
【請求項１１】
同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置にメッセージを振り分ける振り分け処理装置であって、
変更前の振り分けルールを格納するルール格納部と、
トランザクション識別子に基づきメッセージの振り分け先の紐付け処理装置を特定するための振り分けルールを変更する場合、受信メッセージに含まれるトランザクション識別子と、前記ルール格納部に格納されている変更前の振り分けルールとを用いて、第１の紐付け処理装置を特定する特定部と、
前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データのうち前記第１の紐付け処理装置により生成された第１の状況データに、前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が含まれるか判断する判断部と、
前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が前記第１の状況データに含まれると判断された場合に、前記受信メッセージを前記第１の紐付け処理装置に送信する振り分け部と、
を有する振り分け処理装置。
【請求項１２】
複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行うコンピュータにより実行される紐付け処理方法であって、
前記コンピュータにおける紐付け処理の状況を管理する管理装置又は前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じて、トランザクション毎にメッセージを格納するメッセージ格納部から、取り揃えられるべきメッセージが揃っていないトランザクションのトランザクション識別子を特定し、当該トランザクション識別子を含む状況データを、前記要求の送信元又は前記複数の振り分け処理装置の全てに送信するステップと、
前記複数の振り分け処理装置のうち任意の振り分け処理装置からメッセージを受信した場合、当該メッセージを当該メッセージに含まれるトランザクション識別子に従って前記メッセージ格納部に格納すると共に、当該メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したか判断するステップと、
受信した前記メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したと判断された場合、当該トランザクションのトランザクション識別子を、前記状況データの送信先の装置に送信するステップと、
を含む紐付け処理方法。
【請求項１３】
複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う紐付け処理装置であって、
トランザクション毎にメッセージを格納するメッセージ格納部と、
前記紐付け処理装置における紐付け処理の状況を管理する管理装置又は前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じて、前記メッセージ格納部から、取り揃えられるべきメッセージが揃っていないトランザクションのトランザクション識別子を特定し、当該トランザクション識別子を含む状況データを、前記要求の送信元又は前記複数の振り分け処理装置の全てに送信する第１通知部と、
前記複数の振り分け処理装置のうち任意の振り分け処理装置からメッセージを受信した場合、当該メッセージを当該メッセージに含まれるトランザクション識別子に従って前記メッセージ格納部に格納すると共に、当該メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したか判断し、受信した前記メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したと判断された場合、当該トランザクションのトランザクション識別子を、前記状況データの送信先の装置に送信する第２通知部と、
を有する紐付け処理装置。
【請求項１４】
メッセージを振り分けるための振り分けルールを変更する場合、前記振り分けルールに従いメッセージを振り分ける複数の振り分け処理装置の各々に対し、変更後の振り分けルールを含む変更通知を送信するステップと、
前記複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置の各々に対し、前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データの生成要求を送信するステップと、
前記複数の紐付け処理装置のうちいずれかの紐付け処理装置から前記状況データを受信した場合には、当該状況データを当該紐付け処理装置の識別子に対応付けてデータ格納部に格納するステップと、
残余のメッセージを取得することによって前記紐付け処理が完了したトランザクションのトランザクション識別子を前記状況データの送信元の紐付け処理装置から受信した場合には、前記データ格納部に格納されているトランザクション識別子のうち、受信した前記トランザクション識別子と同一のトランザクション識別子を無効化又は削除するステップと、
前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じ、前記データ格納部に格納されている紐付け処理装置の識別子と当該紐付け処理装置の識別子に対応付けられている状況データとを抽出し、前記要求の送信元の振り分け処理装置に送信するステップと、
を含み、コンピュータにより実行される管理方法。
【請求項１５】
データ格納部と、
メッセージを振り分けるための振り分けルールを変更する場合、前記振り分けルールに従いメッセージを振り分ける複数の振り分け処理装置の各々に対し、変更後の振り分けルールを含む変更通知を送信し、前記複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置の各々に対し、前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データの生成要求を送信し、前記複数の紐付け処理装置のうちいずれかの紐付け処理装置から前記状況データを受信した場合には、当該状況データを当該紐付け処理装置の識別子に対応付けて前記データ格納部に格納し、残余のメッセージを取得することによって前記紐付け処理が完了したトランザクションのトランザクション識別子を前記状況データの送信元の紐付け処理装置から受信した場合には、前記データ格納部に格納されているトランザクション識別子のうち、受信した前記トランザクション識別子と同一のトランザクション識別子を無効化又は削除する管理部と、
前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じ、前記データ格納部に格納されている紐付け処理装置の識別子と当該紐付け処理装置の識別子に対応付けられている状況データとを抽出し、前記要求の送信元の振り分け処理装置に送信する送信部と、
を有する管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、同一のトランザクションに属するメッセージを取り揃える技術に関する。
【背景技術】
【０００２】
例えばウェブ（Ｗｅｂ）３階層システムなど、複数階層のサーバにより構成されるシステムでは、サーバ間でメッセージを交換しながら処理を進行させてゆく。サーバ間で交換されるメッセージには、当該メッセージが属するトランザクションを識別するための識別情報が含まれており、この識別情報を用いることにより、サーバ間で交換されるメッセージをトランザクション毎に取り揃えることができる。このようにメッセージをトランザクション毎に取り揃える処理を、以下では「紐付け処理」と呼ぶ。
【０００３】
図１に、紐付け処理を行うシステムの一例を示す。図１のシステムでは、メッセージを振り分けるための振り分け処理装置及びメッセージを紐付けるための紐付け処理装置がそれぞれ複数設けられ、処理を並列に行うようになっている。
【０００４】
振り分け処理装置１１乃至１３は、振り分けルールに従い、メッセージを振り分ける。図１における振り分けルールでは、メッセージに含まれる「ＫｅｙＡ」の値が０乃至９である場合にはメッセージを紐付け処理装置２１に振り分け、「ＫｅｙＡ」の値が１０乃至１９である場合にはメッセージを紐付け処理装置２２に振り分け、「ＫｅｙＡ」の値が２０乃至２９である場合にはメッセージを紐付け処理装置２３に振り分ける。このような振り分けルールを、振り分け処理装置１１乃至１３が共有している。従って、「ＫｅｙＡ」の値が４であるメッセージであるＭｓｇ１乃至５を、異なる振り分け処理装置が受け取った場合であっても、全てのメッセージが紐付け処理装置２１に振り分けられる。
【０００５】
ここで、図１のシステムにおける紐付けルールが変更された場合について、図２を用いて説明する。例えば紐付け処理装置を新たに増設したり、逆に紐付け処理装置を停止したりする場合等に、紐付けルールの変更が行われる。図２の例における新たな振り分けルールでは、「ＫｅｙＡ」の値が０乃至３である場合にはメッセージを紐付け処理装置２１に振り分け、「ＫｅｙＡ」の値が４乃至７である場合にはメッセージを紐付け処理装置２２に振り分け、「ＫｅｙＡ」の値が８乃至１１である場合にはメッセージを紐付け処理装置２３に振り分ける。
【０００６】
図２の例では、Ｍｓｇ１からＭｓｇ３までの紐付けが行われた段階で振り分けルールが変更されている。これにより、Ｍｓｇ１乃至３は紐付け処理装置２１に振り分けられているが、Ｍｓｇ４及び５は紐付け処理装置２２に振り分けられている。従って、紐付け処理装置２１及び２２は、「ＫｅｙＡ」の値が４であるメッセージについての紐付け処理を完了することができない。
【０００７】
従来、振り分けルールが変更されたことによりメッセージの紐付け処理が完了しなかったトランザクション（未完のトランザクションとも呼ばれる）を処理するための技術として、以下のような技術が存在する。具体的には、振り分けルールが変更された場合には、複数の紐付け処理部の各々が、キュー内に残っている未完のトランザクションについてのメッセージをメッセージ振り分け部に出力する。そして、メッセージ振り分け部は、紐付け処理部から受け取ったメッセージを新たな振り分けルールに従い再度振り分ける。これにより、漏れなく紐付け処理を行うことができるようになっている。
【０００８】
しかし、上記の技術では、再度振り分けを行うメッセージについては、紐付け処理が完了して出力されるまでのタイミングが通常よりも大幅に遅れることになる。このように、一部のトランザクションについて出力されるタイミングが遅れると、後の処理が適切に行われなくなる（例えば処理が滞る）といった問題が生じる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−２８２８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従って、本技術の目的は、一側面によれば、振り分けルールの切替を行う際に、紐付け処理の完了が遅れてしまうトランザクションが発生することを抑制するための技術を提供することである。
【課題を解決するための手段】
【００１１】
本実施の形態に係る振り分け処理方法は、同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置にメッセージを振り分けるコンピュータにより実行される。そして、本振り分け処理方法は、（Ａ）トランザクション識別子に基づきメッセージの振り分け先の紐付け処理装置を特定するための振り分けルールを変更する場合、受信メッセージに含まれるトランザクション識別子と、ルール格納部に格納されている変更前の振り分けルールとを用いて、第１の紐付け処理装置を特定する特定ステップと、（Ｂ）紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データのうち第１の紐付け処理装置により生成された第１の状況データに、受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が含まれるか判断する判断ステップと、（Ｃ）受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が第１の状況データに含まれると判断された場合に、受信メッセージを第１の紐付け処理装置に送信するステップとを含む。
【００１２】
本実施の形態に係る紐付け処理方法は、複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行うコンピュータにより実行される。そして、本紐付け処理方法は、（Ｄ）コンピュータにおける紐付け処理の状況を管理する管理装置又は複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じて、トランザクション毎にメッセージを格納するメッセージ格納部から、取り揃えられるべきメッセージが揃っていないトランザクションのトランザクション識別子を特定し、当該トランザクション識別子を含む状況データを、要求の送信元又は複数の振り分け処理装置の全てに送信するステップと、（Ｅ）複数の振り分け処理装置のうち任意の振り分け処理装置からメッセージを受信した場合、当該メッセージを当該メッセージに含まれるトランザクション識別子に従ってメッセージ格納部に格納すると共に、当該メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したか判断するステップと、（Ｆ）受信したメッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したと判断された場合、当該トランザクションのトランザクション識別子を、状況データの送信先の装置に送信するステップとを含む。
【００１３】
本実施の形態に係る管理方法は、（Ｇ）メッセージを振り分けるための振り分けルールを変更する場合、振り分けルールに従いメッセージを振り分ける複数の振り分け処理装置の各々に対し、変更後の振り分けルールを含む変更通知を送信するステップと、（Ｈ）複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置の各々に対し、紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データの生成要求を送信するステップと、（Ｉ）複数の紐付け処理装置のうちいずれかの紐付け処理装置から状況データを受信した場合には、当該状況データを当該紐付け処理装置の識別子に対応付けてデータ格納部に格納するステップと、（Ｊ）残余のメッセージを取得することによって紐付け処理が完了したトランザクションのトランザクション識別子を状況データの送信元の紐付け処理装置から受信した場合には、データ格納部に格納されているトランザクション識別子のうち、受信したトランザクション識別子と同一のトランザクション識別子を無効化又は削除するステップと、（Ｋ）複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じ、データ格納部に格納されている紐付け処理装置の識別子と当該紐付け処理装置の識別子に対応付けられている状況データとを抽出し、要求の送信元の振り分け処理装置に送信するステップとを含む。
【発明の効果】
【００１４】
振り分けルールの切替を行う際に、紐付け処理の完了が遅れてしまうトランザクションが発生することを抑制することができるようになる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施の形態の前提を説明するための図である。
【図２】図２は、本実施の形態の前提を説明するための図である。
【図３】図３は、第１の実施の形態に係るシステムの構成図である。
【図４】図４は、第１の実施の形態に係る振り分け処理装置の機能ブロック図である。
【図５】図５は、第１の実施の形態に係る紐付け処理装置の機能ブロック図である。
【図６】図６は、第１の実施の形態に係る管理装置の機能ブロック図である。
【図７】図７は、メッセージ格納部に格納されているデータの一例を示す図である。
【図８】図８は、第１の実施の形態に係るシステムにおいて行われる処理の処理フローを示す図である。
【図９】図９は、状況データ格納部に格納されているデータの一例を示す図である。
【図１０】図１０は、変更時振り分け処理の処理フローを示す図である。
【図１１】図１１は、通知処理の処理フローを示す図である。
【図１２】図１２は、第２の実施の形態に係るシステムの構成図である。
【図１３】図１３は、第２の実施の形態に係る管理装置の機能ブロック図である。
【図１４】図１４は、第２の実施の形態に係る振り分け処理装置の機能ブロック図である。
【図１５】図１５は、第２の実施の形態に係る紐付け処理装置の機能ブロック図である。
【図１６】図１６は、開始処理の処理フローを示す図である。
【図１７】図１７は、取得フラグ格納部に格納されているデータの一例を示す図である。
【図１８】図１８は、状況データ格納部に格納されているデータの一例を示す図である。
【図１９】図１９は、収集処理の処理フローを示す図である。
【図２０】図２０は、メッセージ格納部に格納されているデータの一例を示す図である。
【図２１】図２１は、状況データ格納部に格納されているデータの一例を示す図である。
【図２２】図２２は、取得フラグ格納部に格納されているデータの一例を示す図である。
【図２３】図２３は、更新処理の処理フローを示す図である。
【図２４】図２４は、変更時振り分け処理の処理フローを示す図である。
【図２５】図２５は、判定処理の処理フローを示す図である。
【図２６】図２６は、終了処理の処理フローを示す図である。
【図２７】図２７は、第２の実施の形態に係るシステムの構成図である。
【図２８】図２８は、第３の実施の形態に係る振り分け処理装置の機能ブロック図である。
【図２９】図２９は、第３の実施の形態に係る紐付け処理装置の機能ブロック図である。
【図３０】図３０は、第３の実施の形態に係る管理装置の機能ブロック図である。
【図３１】図３１は、メッセージ格納部に格納されているデータの一例を示す図である。
【図３２】図３２は、第３の実施の形態に係るシステムにおいて行われる処理の処理フローを示す図である。
【図３３】図３３は、状況データ格納部に格納されているデータの一例を示す図である。
【図３４】図３４は、通知処理の処理フローを示す図である。
【図３５】図３５は、状況データ格納部に格納されているデータの一例を示す図である。
【図３６】図３６は、変更時振り分け処理の処理フローを示す図である。
【図３７】図３７は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１６】
［実施の形態１］
まず、第１の実施の形態について説明する。図３に、第１の実施の形態に係るシステムの構成図を示す。第１の実施の形態に係るシステムには、振り分け処理装置１１Ａ乃至１１Ｃと、紐付け処理装置１３Ａ乃至１３Ｃと、管理装置１５とが含まれており、これらは例えばＬＡＮ（Local Area Network）などのネットワークを介して互いに接続されている。なお、図３の例では、振り分け処理装置及び紐付け処理装置はそれぞれ３つしか示していないが、数に限定は無い。
【００１７】
第１の実施の形態に係る振り分け処理装置１１Ａの機能ブロック図を図４に示す。第１の実施の形態に係る振り分け処理装置１１Ａは、特定部１１１と、ルール格納部１１２と、判断部１１３と、振り分け部１１４と、状況データ格納部１１５とを有する。なお、振り分け処理装置１１Ｂ及び１１Ｃの機能ブロック図は、振り分け処理装置１１Ａの機能ブロック図と同様である。
【００１８】
特定部１１１は、ルール格納部１１２に格納されているデータを用いて受信メッセージの振り分け先を特定する処理や、ルール格納部１１２に格納されている振り分けルールを管理する処理等を行う。ルール格納部１１２には、トランザクション識別子に基づきメッセージの振り分け先の紐付け処理装置を特定するための振り分けルールが格納されている。判断部１１３は、特定部１１１から受け取った処理結果を用いて処理を行い、処理結果を振り分け部１１４に出力する。振り分け部１１４は、判断部１１３から受け取った処理結果に基づき受信メッセージを紐付け処理装置に送信する処理を行う。状況データ格納部１１５には、紐付け処理装置１３Ａ乃至１３Ｃにより生成された状況データが格納されている。
【００１９】
第１の実施の形態に係る紐付け処理装置１３Ａの機能ブロック図を図５に示す。第１の実施の形態に係る紐付け処理装置１３Ａは、第１通知部１３１と、メッセージ格納部１３２と、第２通知部１３３とを有する。なお、紐付け処理装置１３Ｂ及び１３Ｃの機能ブロック図は、紐付け処理装置１３Ａの機能ブロック図と同様である。
【００２０】
第１通知部１３１は、メッセージ格納部１３２に格納されているデータを用いて処理を行い、処理結果（すなわち状況データ）の要求元又は振り分け処理装置１１Ａ乃至１１Ｃに処理結果を送信する処理等を行う。メッセージ格納部１３２には、トランザクション毎にメッセージが格納されている。第２通知部１３３は、受信したメッセージ及びメッセージ格納部１３２に格納されているデータを用いて処理を行い、処理結果を状況データの送信先の装置に送信する処理等を行う。
【００２１】
第１の実施の形態に係る管理装置１５の機能ブロック図を図６に示す。第１の実施の形態に係る管理装置１５は、ルールの変更を振り分け処理装置に通知する処理等を行う管理部１５１を有する。
【００２２】
図７に、メッセージ格納部１３２に格納されているデータの一例を示す。図７の例では、トランザクション識別子の列と、メッセージの列とが含まれる。
【００２３】
次に、図３に示したシステムにおいて行われる処理の内容を図８乃至図１１を用いて説明する。まず、管理装置１５の管理部１５１は、振り分けルールを変更する場合、振り分け処理装置１１Ａ乃至１１Ｃの各々に対し、変更後の振り分けルールを含む変更通知を送信する（図８：ステップＳ１００１）。なお、振り分け処理装置１１Ａ乃至１１Ｃにおいて行われる処理は同じであるため、以下では振り分け処理装置１１Ａの処理を例にして説明する。
【００２４】
一方、振り分け処理装置１１Ａの特定部１１１は、管理装置１５から変更通知を受信し、変更後の振り分けルールをルール格納部１１２に格納する（ステップＳ１００３）。
【００２５】
そして、振り分け処理装置１１Ａの特定部１１１は、状況データの生成要求を紐付け処理装置１３Ａ乃至１３Ｃに送信する（ステップＳ１００５）。なお、紐付け処理装置１３Ａ乃至１３Ｃにおいて行われる処理は同じであるため、以下では紐付け処理装置１３Ａの処理を例にして説明する。
【００２６】
一方、紐付け処理装置１３Ａの第１通知部１３１は、振り分け処理装置１１Ａから状況データの生成要求を受信し、メインメモリ等の記憶装置に格納する（ステップＳ１００７）。
【００２７】
そして、第１通知部１３１は、紐付け処理が未完了である（すなわち、取り揃えられるべきメッセージが揃っていない）トランザクションのトランザクション識別子をメッセージ格納部１３２から特定する（ステップＳ１００９）。メッセージが揃っているか否かは、例えばメッセージに含まれる「MsgType」のデータにより判断する。「MsgType=Req」のメッセージと、「MsgType=Res」のメッセージとがメッセージセットに含まれていれば、取り揃えられるべきメッセージが揃ったと判断する。但し、このような判断の方法に限られるわけではない。
【００２８】
そして、第１通知部１３１は、ステップＳ１００９において特定されたトランザクション識別子を含む状況データを振り分け処理装置１１Ａに送信する（ステップＳ１０１１）。
【００２９】
一方、振り分け処理装置１１Ａの特定部１１１は、紐付け処理装置１３Ａから状況データを受信し、状況データ格納部１１５に格納する（ステップＳ１０１３）。同様に、振り分け処理装置１１Ａの特定部１１１は、紐付け処理装置１３Ｂ及び１３Ｃからも状況データを受信し、状況データ格納部１１５に格納する。
【００３０】
図９に、状況データ格納部１１５に格納されるデータの一例を示す。図９の例では、トランザクション識別子の列と、紐付け処理装置の識別子の列とが含まれる。
【００３１】
図８の説明に戻り、紐付け処理装置１３Ａ乃至１３Ｃのうち全ての紐付け処理装置から状況データを受信した後、振り分け処理装置１１Ａの特定部１１１、判断部１１３及び振り分け部１１４は、通常の振り分け処理を停止し、変更時振り分け処理を開始する（ステップＳ１０１５）。ここで、変更時振り分け処理について図１０を用いて説明する。なお、変更時振り分け処理は以下で述べるステップＳ１０１９及びＳ１０２１の処理と同時並行で（例えば別スレッドで）行われる。
【００３２】
まず、振り分け処理装置１１Ａの特定部１１１は、例えば図示しない電子商取引システム等からメッセージを受信し、メインメモリ等の記憶装置に格納する（図１０：ステップＳ１０３１）。ステップＳ１０３１で受信したメッセージを、以下では「受信メッセージ」と呼ぶ。そして、特定部１１１は、ルール格納部１１２に格納されている変更前の振り分けルールと受信メッセージに含まれるトランザクション識別子とを用いて第１の紐付け処理装置を特定すると共に、ルール格納部１１２に格納されている変更後の振り分けルールと受信メッセージに含まれるトランザクション識別子とを用いて第２の紐付け処理装置を特定する（ステップＳ１０３３）。
【００３３】
そして、判断部１１３は、受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が、第１の紐付け処理装置から受信した状況データ（以下、第１の状況データと呼ぶ）に含まれるか判断する（ステップＳ１０３５）。第１の状況データに含まれると判断された場合には（ステップＳ１０３５：Ｙｅｓルート）、振り分け部１１４は、受信メッセージを第１の紐付け処理装置に送信する（ステップＳ１０３７）。受信メッセージを第１の紐付け処理装置に送信しなければ、当該受信メッセージが属するトランザクションの紐付け処理が未完了のままになってしまうためである。
【００３４】
一方、受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が第１の状況データに含まれないと判断された場合（ステップＳ１０３５：Ｎｏルート）、振り分け部１１４は、受信メッセージを第２の紐付け処理装置に送信する（ステップＳ１０３９）。第１の紐付け処理装置において紐付け処理が完了しているのであれば、第２の紐付け処理装置に振り分ければ漏れなく紐付け処理が行われるからである。
【００３５】
そして、判断部１１３は、変更完了条件を満たしているか判断する（ステップＳ１０４１）。すなわち、状況データ格納部１１５に格納されている全てのトランザクション識別子が削除されているか判断する（ステップＳ１０４１）。全てのトランザクション識別子が削除されていない場合には（ステップＳ１０４１：Ｎｏルート）、ステップＳ１０３１の処理に戻る。一方、全てのトランザクション識別子が削除されている場合（ステップＳ１０４１：Ｙｅｓルート）、変更時振り分け処理を終了し、通常の振り分け処理を開始する。
【００３６】
以上のような処理を実施することにより、紐付け処理が未完了のままになってしまうトランザクションが発生しないようにしつつ振り分け処理を行うことができるようになる。
【００３７】
図８の説明に戻り、紐付け処理装置１３Ａの第２通知部１３３は、通知処理を実施する（ステップＳ１０１７）。通知処理については、図１１を用いて説明する。なお、本処理はステップＳ１００９においてトランザクション識別子が特定された場合にのみ行うようにしてもよい。
【００３８】
まず、紐付け処理装置１３Ａの第２通知部１３３は、振り分け処理装置１１Ａ乃至１１Ｃのうちいずれかの振り分け処理装置からメッセージを受信すると、受信したメッセージに含まれるトランザクション識別子に従いメッセージ格納部１３２に格納する（図１１：ステップＳ１０５１）。
【００３９】
そして、第２通知部１３３は、受信したメッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了した（すなわち取り揃えられるべきメッセージが揃った）か判断する（ステップＳ１０５３）。紐付け処理が完了していないと判断された場合（ステップＳ１０５３：Ｎｏルート）、ステップＳ１０５１の処理に戻る。
【００４０】
一方、紐付け処理が完了したと判断された場合（ステップＳ１０５３：Ｙｅｓルート）、第２通知部１３３は、受信したメッセージに含まれるトランザクション識別子が、ステップＳ１０１１において送信した状況データに含まれるか判断する（ステップＳ１０５５）。含まれないと判断された場合（ステップＳ１０５５：Ｎｏルート）、ステップＳ１０５１の処理に戻る。
【００４１】
一方、受信したメッセージに含まれるトランザクション識別子が、ステップＳ１０１１において送信した状況データに含まれると判断された場合（ステップＳ１０５５：Ｙｅｓルート）、第２通知部１３３は、当該トランザクション識別子を振り分け処理装置１１Ａ（すなわち状況データの送信先の振り分け処理装置）に送信する（ステップＳ１０５７）。
【００４２】
そして、第２通知部１３３は、状況データに含まれる全てのトランザクション識別子に係るトランザクションについて紐付け処理が完了したか判断する（ステップＳ１０５９）。状況データに含まれるいずれかのトランザクション識別子に係るトランザクションについて紐付け処理が完了していないと判断された場合（ステップＳ１０５９：Ｎｏルート）、ステップＳ１０５１の処理に戻る。一方、状況データに含まれる全てのトランザクション識別子に係るトランザクションについて紐付け処理が完了したと判断された場合（ステップＳ１０５９：Ｙｅｓルート）、元の処理に戻る。
【００４３】
以上のような処理を実施することにより、取り揃えられるべきメッセージが揃っていないトランザクションについて、その後の紐付け処理の状況を通知できるようになる。
【００４４】
図８の説明に戻り、振り分け処理装置１１Ａの特定部１１１は、紐付け処理装置１３Ａから第１データを受信し、状況データ格納部１１５に格納されているデータを更新する（ステップＳ１０１９）。ステップＳ１０１９においては、第１データに含まれるトランザクション識別子と同一のトランザクション識別子を状況データ格納部１１５から削除する。なお、トランザクション識別子を削除するようにしなくても、例えばトランザクション識別子に紐付け完了を表す完了データを付加するようにして、どのトランザクションについて紐付け処理が完了したか判別するようにしてもよい。
【００４５】
そして、特定部１１１は、変更完了条件を満たしているか判断する（ステップＳ１０２１）。変更完了条件を満たしていないと判断された場合（ステップＳ１０２１：Ｎｏルート）、ステップＳ１０１９の処理に戻る。
【００４６】
一方、変更完了条件を満たしていると判断された場合（ステップＳ１０２１：Ｙｅｓルート）、特定部１１１は、ルール格納部１１２に格納されている変更前の振り分けルールを削除する（ステップＳ１０２３）。
【００４７】
以上のような処理を実施すれば、振り分けルールの切替を行う際に、紐付け処理が未完了のままになってしまうトランザクションが発生することを抑制できるようになる。
【００４８】
［実施の形態２］
次に、第２の実施の形態について説明する。第２の実施の形態では、管理装置において状況データを一元的に管理するようになっている。
【００４９】
第２の実施の形態におけるシステムの構成図を図１２に示す。並列紐付けシステム２０は、例えばＬＡＮ（Local Area Network）を介して電子商取引システム２１に接続されている。並列紐付けシステム２０は、管理装置２０１と、振り分け処理装置２０３Ａ乃至２０３Ｃと、紐付け処理装置２０５Ａ乃至２０５Ｃとを含む。管理装置２０１と、振り分け処理装置２０３Ａ乃至２０３Ｃと、紐付け処理装置２０５Ａ乃至２０５Ｃとは、例えばＬＡＮなどのネットワークを介して互いに接続されている。本システムでは、振り分け処理装置２０３Ａ乃至２０３Ｃが、例えばポートミラーリングにより採取されたメッセージを電子商取引システム２１から受信し、受信したメッセージを紐付け処理装置２０５Ａ乃至２０５Ｃに振り分ける。紐付け処理装置２０５Ａ乃至２０５Ｃは、受信したメッセージについて紐付け処理を行う。紐付けられたメッセージは、図示しない処理部等に出力されて所定の統計処理等が行われる。なお、図１２の例では、振り分け処理装置及び紐付け処理装置は３つしか示していないが、数に限定はない。
【００５０】
図１３に、管理装置２０１の機能ブロック図を示す。管理装置２０１は、制御部２０１１と、バッファ２０１２と、再投入部２０１３と、取得フラグ格納部２０１４と、状況データ格納部２０１５とを含む。
【００５１】
制御部２０１１は、取得フラグ格納部２０１４及び状況データ格納部２０１５に格納されているデータを更新する処理等を行う。バッファ２０１２には、振り分け不可であるとして振り分け処理装置２０３Ａ乃至２０３Ｃから送信されたメッセージが格納される。再投入部２０１３は、バッファ２０１２に格納されているメッセージを取り出し、振り分け処理装置２０３Ａ乃至２０３Ｃに送信する処理を行う。なお、バッファ２０１２には十分な領域が確保されているものとする。
【００５２】
図１４に、振り分け処理装置２０３Ａの機能ブロック図を示す。振り分け処理装置２０３Ａは、振り分け部２０３１と、振り分けルール格納部２０３２と、振り分けルール管理部２０３３と、判定部２０３４とを含む。なお、振り分け処理装置２０３Ｂ及び２０３Ｃの機能ブロック図は、振り分け処理装置２０３Ａの機能ブロック図と同様である。
【００５３】
振り分け部２０３１は、振り分けルール格納部２０３２に格納されている振り分けルールに従いメッセージを紐付け処理装置２０５Ａ乃至２０５Ｃに送信する処理を行う。振り分けルール管理部２０３３は、振り分けルール格納部２０３２に格納されている振り分けルールを更新する処理等を行う。判定部２０３４は、後で説明する判定処理等を行う。振り分けルール格納部２０３２には、メッセージに含まれる紐付けキー値に基づき振り分け先の紐付け処理装置を特定するためのデータ（例えばハッシュテーブル）が格納されている。
【００５４】
図１５に、紐付け処理装置２０５Ａの機能ブロック図を示す。紐付け処理装置１２１は、紐付け部２０５１と、収集部２０５２と、更新部２０５３と、メッセージ格納部２０５４とを含む。なお、紐付け処理装置２０５Ｂ及び２０５Ｃの機能ブロック図は、紐付け処理装置２０５Ａの機能ブロック図と同様である。
【００５５】
紐付け部２０５１は、振り分け処理装置２０３Ａ乃至２０３Ｃから受信したメッセージをメッセージ格納部２０５４に格納すると共に、受信したメッセージをトランザクション毎に取り揃える処理を行う。収集部２０５２は、後で説明する状況データの収集処理を行う。更新部２０５３は、後で説明する状況データの更新処理を行う。
【００５６】
次に、図１６乃至図２６を用いて、図１２に示したシステムの処理内容について説明する。はじめに、振り分けルールを変更する際に管理装置２０１において行われる処理（開始処理）について説明する。
【００５７】
まず、管理装置２０１の制御部２０１１は、管理者等から変更後の振り分けルールを含む振り分けルールの変更指示を受け付け、メインメモリ等の記憶装置に格納する。そして、制御部２０１１は、取得フラグ格納部２０１４及び状況データ格納部２０１５に格納されているデータをリセットする（図１６：ステップＳ１）。
【００５８】
ステップＳ１の処理が行われた後に取得フラグ格納部２０１４に格納されているデータの一例を図１７に示す。図１７の例では、紐付け処理装置の識別子の列と、取得フラグの列とが含まれる。取得フラグは、後で説明する状況データを紐付け処理装置から取得した場合に「１」に設定される。この段階では状況データを取得していないため、いずれの紐付け処理装置についても「０」が設定されている。
【００５９】
また、ステップＳ１の処理が行われた後に状況データ格納部２０１５に格納されているデータの一例を図１８に示す。図１８の例では、紐付けキー値の列と、紐付け処理装置の識別子の列とが含まれる。この段階では状況データを取得していないため、いずれの列にもデータは格納されていない。
【００６０】
図１６の説明に戻り、管理装置２０１の制御部２０１１は、振り分け処理装置２０３Ａ乃至２０３Ｃのうち全ての振り分け処理装置に変更後の振り分けルールを含む変更要求を送信する（ステップＳ３）。なお、振り分け処理装置２０３Ａ及び２０３Ｃにおいて行われる処理は同じであるので、以下では振り分け処理装置２０３Ａの処理を例にして説明する。
【００６１】
一方、振り分け処理装置２０３Ａの振り分けルール管理部２０３３は、管理装置２０１から変更要求を受信し（ステップＳ５）、当該変更要求に含まれる変更後の振り分けルールを振り分けルール格納部２０３２に格納する（ステップＳ７）。ステップＳ７が終了した時点では、振り分けルール格納部２０３２には、変更前の振り分けルール及び変更後の振り分けルールの両方が格納されている。
【００６２】
そして、振り分け処理装置２０３Ａの振り分け部２０３１及び判定部２０３４は、変更時振り分け処理を実施する（ステップＳ９）。変更時振り分け処理については、説明の都合上、後で説明する。
【００６３】
一方、管理装置２０１の制御部２０１１は、紐付け処理装置２０５Ａ乃至２０５Ｃのうち全ての紐付け処理装置に通知要求を送信する（ステップＳ１１）。なお、紐付け処理装置２０５Ａ乃至２０５Ｃにおいて行われる処理は同じであるので、以下では紐付け処理装置２０５Ａの処理を例にして説明する。
【００６４】
そして、紐付け処理装置２０５Ａの収集部２０５２は、管理装置２０１から通知要求を受信し（ステップＳ１３）、収集処理を実施する（ステップＳ１５）。収集処理については、図１９乃至図２２を用いて説明する。
【００６５】
まず、紐付け処理装置２０５Ａにおける収集部２０５２は、取り揃えられるべきメッセージが揃っていないトランザクションの紐付けキー値をメッセージ格納部２０５４から抽出し、メインメモリ等の記憶装置に格納する（図１９：ステップＳ２１）。
【００６６】
図２０に、メッセージ格納部２０５４に格納されているデータの一例を示す。図２３の例では、紐付けキー値と、メッセージとが格納されるようになっている。本実施の形態においても、第１の実施の形態と同様に、取り揃えられるべきメッセージが揃ったか否かを例えばメッセージに含まれる「MsgType」のデータにより判断する。
【００６７】
図１９の説明に戻り、収集部２０５２は、紐付け処理装置２０５Ａの識別子とステップＳ２１において抽出されたトランザクションの紐付けキー値とを含む状況データを管理装置２０１に送信する（ステップＳ２３）。仮に、取り揃えられるべきメッセージが揃っていないトランザクションの紐付けキー値がステップＳ２１において抽出されなかったとしても、紐付け処理装置の識別子を含む状況データを送信するものとする。そして元の処理に戻る。
【００６８】
なお、ステップＳ２３の処理が行われると、管理装置２０１の制御部２０１１は、紐付け処理装置２０５Ａから状況データを受信し、状況データ格納部２０１５に格納すると共に、取得フラグ格納部２０１４にフラグを設定する。
【００６９】
ステップＳ２３が行われた後に管理装置２０１の状況データ格納部２０１５に格納されているデータの一例を図２１に示す。ここでは、紐付け処理装置２０５Ａ（識別子が「Ｂ０」である紐付け処理装置）から状況データを受信した場合の例が示されている。図２１の例では、紐付け処理が未完了であるトランザクションの紐付けキー値として「４」が格納されている。
【００７０】
また、ステップＳ２３が行われた後に取得フラグ格納部２０１４に格納されているデータの一例を図２２に示す。図２２の例では、識別子が「Ｂ０」である紐付け処理装置から状況データを取得したため、取得フラグ「１」が設定されている。
【００７１】
以上のような処理を実施することにより、状況データを管理装置２０１において一元的に管理することができるようになる。
【００７２】
図１６の説明に戻り、収集処理が終了すると、更新部２０５３は、更新処理を実施する（ステップＳ１７）。更新処理については、図２３を用いて説明する。
【００７３】
まず、紐付け処理装置２０５Ａの更新部２０５３は、メッセージ格納部２０５４における紐付け処理の状況を監視する（図２３：ステップＳ３１）。なお、更新部２０５３による処理とは別に、振り分け処理装置２０３Ａ乃至２０３Ｃからメッセージを受信した紐付け部２０５１により紐付け処理が行われているものとする。
【００７４】
そして、更新部２０５３は、メッセージ格納部２０５４に紐付け処理が完了した（取り揃えられるべきメッセージが揃った）メッセージセットが有るか判断する（ステップＳ３３）。ステップＳ２１の説明で述べたように、例えば「MsgType=Req」のメッセージと「MsgType=Res」のメッセージとが揃った場合には、紐付け処理が完了したと判断する。紐付け処理が完了したメッセージセットが無いと判断された場合（ステップＳ３３：Ｎｏルート）、ステップＳ３１の処理に戻る。
【００７５】
一方、紐付け処理が完了したメッセージセットが有ると判断された場合（ステップＳ３３：Ｙｅｓルート）、更新部２０５３は、紐付け処理が完了したメッセージセットの紐付けキー値をメッセージ格納部２０５４から抽出し、当該紐付けキー値と紐付け処理装置２０５Ａの識別子とを含む更新要求を管理装置２０１に送信する（ステップＳ３５）。なお、ステップＳ３５では紐付け処理が完了したトランザクションの紐付けキー値を全て送信するようにしているが、第１の実施の形態及び以下で説明する第３の実施の形態と同様に、状況データに含まれる紐付けキー値に係るトランザクションの紐付け処理が完了した場合にのみ送信を行うようにしてもよい。
【００７６】
そして、更新部２０５３は、停止指示があったか判断する（ステップＳ３７）。ここでは、後で説明する終了時の処理において管理装置２０１から受信する停止指示があったかを判断する。停止指示が無いと判断された場合には（ステップＳ３７：Ｎｏルート）、ステップＳ３１に戻る。一方、停止指示があったと判断された場合には（ステップＳ３７：Ｙｅｓルート）、元の処理に戻る。
【００７７】
なお、ステップＳ３５の処理が行われると、管理装置２０１の制御部２０１１は更新要求を紐付け処理装置２０５Ａから受信する。そして、更新要求に含まれる紐付けキー値と同一の紐付けキー値が状況データ格納部２０１５に格納されている場合には、当該紐付けキー値を状況データ格納部２０１５から削除する。但し、削除するのではなく、変更完了を表す完了データを付加することにより、紐付け処理が完了しているか否かを判別できるようにしてもよい。
【００７８】
以上のような処理を実施することにより、紐付け処理装置における紐付け処理の状況（すなわち、紐付け処理が完了したトランザクションの紐付けキー値）が管理装置にリアルタイムで通知され、状況データが更新されるようになる。
【００７９】
ここで、上では説明しなかった変更時振り分け処理（Ｓ９）について、図２４及び図２５を用いて説明する。なお、振り分け処理装置２０３Ａは、例えば所定時間毎に管理装置２０１にデータ取得要求を送信し、状況データ格納部２０１５及び取得フラグ格納部２０１４に格納されているデータを受信し、メインメモリ等の記憶装置に格納しておく。そして、振り分け処理装置２０３Ａは、受信したデータを用いて以下で説明する変更時振り分け処理を実施する。
【００８０】
まず、振り分け部２０３１は、電子商取引システム２１又は管理装置２０１の再投入部２０１３からメッセージを受信し、メインメモリ等の記憶装置に格納する（図２４：ステップＳ４１）。以下、ステップＳ４１で受信したメッセージを「受信メッセージ」と呼ぶ。
【００８１】
また、振り分け部２０３１は、受信メッセージから紐付けキー値を抽出し（ステップＳ４３）、当該紐付けキー値と、振り分けルール格納部２０３２に格納されている変更前及び変更後の振り分けルールとを用いて、変更前の振り分けルールによる振り分け先の紐付け処理装置と変更後の振り分けルールによる振り分け先の紐付け処理装置とを特定する（ステップＳ４５）。ステップＳ４５の処理結果は、判定部２０３４に出力される。
【００８２】
そして、判定部２０３４は、判定処理を実施する（ステップＳ４７）。判定処理については、図２５を用いて説明する。
【００８３】
まず、判定部２０３４は、振り分け部２０３１から受け取った処理結果を用いて、振り分けルール変更前後の振り分け先の紐付け処理装置が同じであるか判断する（ステップＳ６１）。
【００８４】
そして、振り分けルール変更前後の振り分け先の紐付け処理装置が同じである場合には（ステップＳ６１：Ｙｅｓルート）、判定部２０３４は、変更後の振り分けルールによる振り分け先の紐付け処理装置をメッセージの振り分け先に決定する（ステップＳ７３）。振り分けルールの変更前後で振り分け先の紐付け処理装置が同じであるならば、そもそもそのトランザクションについての紐付け処理が未完了となってしまうことはないからである。
【００８５】
一方、振り分けルール変更前後の振り分け先の紐付け処理装置が同じではないと判断された場合（ステップＳ６１：Ｎｏルート）、判定部２０３４は、紐付け処理装置２０５Ａ乃至２０５Ｃについて取得フラグ「１」が設定されており且つ状況データ格納部２０１５に格納されている紐付けキー値が無いか判断する（ステップＳ６３）。
【００８６】
そして、紐付け処理装置２０５Ａ乃至２０５Ｃについて取得フラグ「１」が設定されており且つ状況データ格納部２０１５に格納されている紐付けキー値が無いと判断された場合（ステップＳ６３：Ｙｅｓルート）、判定部２０３４は、振り分けルールの変更完了を示す完了通知を管理装置２０１に送信する（ステップＳ６５）。また、判定部２０３４は、変更後の振り分けルールによる振り分け先の紐付け処理装置を受信メッセージの振り分け先に決定する（ステップＳ７３）。紐付け処理が未完了のままになってしまうトランザクションが無くなったことを確認できたため、変更後の振り分けルールによって振り分けを行っても問題は無いからである。
【００８７】
一方、いずれかの紐付け処理装置について取得フラグ「０」が設定されているか又は状況データ格納部２０１５に格納されている紐付けキー値が有ると判断された場合（ステップＳ６３：Ｎｏルート）、判定部２０３４は、変更前の振り分けルールによる振り分け先の紐付け処理装置に取得フラグ「１」が設定されているか判断する（ステップＳ６７）。すなわち、管理装置２０１が変更前の振り分けルールによる振り分け先の紐付け処理装置から状況データを取得済みであるか判断する。
【００８８】
そして、変更前の振り分けルールによる振り分け先の紐付け処理装置に取得フラグ「１」が設定されていない場合（ステップＳ６７：Ｎｏルート）、判定部２０３４は、受信メッセージを管理装置２０１に送信する（ステップＳ６９）。変更前の振り分けルールによる振り分け先の紐付け処理装置から状況データを未だ取得できていないため、変更後の振り分けルールによる振り分け先に振り分けて良いか判断できないからである。
【００８９】
なお、ステップＳ６９が行われると、管理装置２０１の制御部２０１１は、振り分け処理装置２０３Ａから受信した受信メッセージをバッファ２０１２に格納する。そして、バッファ２０１２に格納された受信メッセージは、管理装置２０１の再投入部２０１３が所定時間経過後に又は所定の順番（例えばFirst In First Out）で取り出し、振り分け処理装置２０３Ａ乃至２０３Ｃに送信する。
【００９０】
一方、変更前の振り分けルールによる振り分け先の紐付け処理装置に取得フラグ「１」が設定されている場合（ステップＳ６７：Ｙｅｓルート）、判定部２０３４は、変更前の振り分けルールによる振り分け先の紐付け処理装置により生成された状況データに、受信メッセージに含まれる紐付けキー値と同一の紐付けキー値が含まれるか判断する（ステップＳ７１）。すなわち、受信メッセージが属するトランザクションが、変更前の振り分けルールによる振り分け先の紐付け処理装置において未完了となっていないか判断する。
【００９１】
そして、受信メッセージに含まれる紐付けキー値と同一の紐付けキー値が含まれないと判断された場合（ステップＳ７１：Ｎｏルート）、判定部２０３４は、変更後の振り分けルールによる振り分け先の紐付け処理装置を振り分け先の紐付け処理装置に決定する（ステップＳ７３）。受信メッセージが属するトランザクションについての紐付け処理が完了していれば、変更後の振り分けルールによって受信メッセージを振り分けても紐付け処理を漏れなく行うことができるからである。
【００９２】
一方、受信メッセージに含まれる紐付けキー値と同一の紐付けキー値が含まれると判断された場合（ステップＳ７１：Ｙｅｓルート）、判定部２０３４は、変更前の振り分けルールによる振り分け先の紐付け処理装置を振り分け先の紐付け処理装置に決定する（ステップＳ７５）。変更前の振り分けルールによる振り分け先の紐付け処理装置に受信メッセージを振り分けなければ、受信メッセージが属するトランザクションについての紐付け処理を完了させることができないからである。そして元の処理に戻る。
【００９３】
図２４の説明に戻り、振り分け部２０３１は、判定処理（ステップＳ４７）により決定した振り分け先の紐付け処理装置に受信メッセージを送信する（ステップＳ４９）。
【００９４】
そして、振り分け部２０３１は、管理装置２０１から停止指示を受信したか判断する（ステップＳ５１）。停止指示については、説明の都合上、後で説明する。管理装置２０１から停止指示を受信していない場合には（ステップＳ５１：Ｎｏルート）、変更時振り分け処理を継続するため、ステップＳ４１の処理に戻る。一方、管理装置２０１から停止指示を受信した場合には（ステップＳ５１：Ｙｅｓルート）、元の処理に戻る。
【００９５】
以上のように、紐付け処理が未完了のままになってしまう可能性があるトランザクションについては変更前の振り分けルールによって振り分けを行い紐付け処理を完成させるようにするので、紐付け処理の完了が遅れてしまうトランザクションが発生することを抑制できるようになる。
【００９６】
次に、図２６を用いて、ステップＳ６５において振り分け処理装置２０３Ａから送信された完了通知を管理装置２０１が受信した際に行われる処理（終了処理）について説明する。
【００９７】
まず、管理装置２０１の制御部２０１１は、完了通知を振り分け処理装置２０３Ａから受信し、メインメモリ等の記憶装置に格納する（ステップＳ８１）。すると、制御部２０１１は、変更時振り分け処理の停止指示を振り分け処理装置２０３Ａに送信する（ステップＳ８３）。
【００９８】
一方、振り分け処理装置２０３Ａの振り分けルール管理部２０３３は、管理装置２０１から停止指示を受信すると、振り分けルール格納部２０３２に格納されている変更前の振り分けルールを削除する（ステップＳ８５）。また、振り分け部２０３１は、通常の振り分け処理を再開する（ステップＳ８７）。すなわち、判定部２０３４による判定処理を停止する。これにより、振り分け処理装置２０３Ａは変更後の振り分けルールを使用した振り分け処理に完全に移行する。
【００９９】
一方、管理装置２０１は、振り分け処理装置２０３Ａ乃至２０３Ｃのうち全ての振り分け処理装置から（すなわち、振り分け処理装置２０３Ａだけではなく、振り分け処理装置２０３Ｂ及び２０３Ｃからも）完了通知を受信した後に、紐付け処理装置２０５Ａ乃至２０５Ｃのうち全ての紐付け処理装置に停止指示を送信する（ステップＳ８９）。なお、紐付け処理装置２０５Ａ乃至２０５Ｃにおいて行われる処理は同じであるので、以下では紐付け処理装置２０５Ａの処理を例にして説明する。
【０１００】
そして、紐付け処理装置２０５Ａの紐付け部２０５１は、停止指示を受信すると、通常の紐付け処理を再開する（ステップＳ９１）。すなわち、更新部２０５３による更新処理を停止する。
【０１０１】
以上のような処理を実施することにより、紐付け処理の完了が遅れてしまうトランザクションを発生させることなく、全ての振り分け処理装置における振り分けルールを切替えることができるようになる。
【０１０２】
［実施の形態３］
次に、第３の実施の形態について説明する。第３の実施の形態では、各振り分け処理装置において状況データを管理するようになっている。
【０１０３】
第３の実施の形態におけるシステムの構成図を図２７に示す。並列紐付けシステム３０は、例えばＬＡＮを介して電子商取引システム３１に接続されている。並列紐付けシステム３０は、管理装置３０１と、振り分け処理装置３０３Ａ乃至３０３Ｃと、紐付け処理装置３０５Ａ乃至３０５Ｃとを含む。管理装置３０１と、振り分け処理装置３０３Ａ乃至３０３Ｃと、紐付け処理装置３０５Ａ乃至３０５Ｃとは、例えばＬＡＮなどのネットワークを介して互いに接続されている。本システムでは、振り分け処理装置３０３Ａ乃至３０３Ｃが、例えばポートミラーリングにより採取されたメッセージを電子商取引システム３１から受信し、受信したメッセージを紐付け処理装置３０５Ａ乃至３０５Ｃに振り分ける。紐付け処理装置３０５Ａ乃至３０５Ｃは、受信したメッセージについて紐付け処理を行う。紐付けられたメッセージは、図示しない処理部等に出力されて所定の統計処理等が行われる。なお、図２７の例では、振り分け処理装置及び紐付け処理装置は３つしか示していないが、数に限定はない。
【０１０４】
図２８に、振り分け処理装置３０３Ａの機能ブロック図を示す。振り分け処理装置３０３Ａは、管理部３０３１と、ルール格納部３０３２と、状況データ格納部３０３３と、振り分け部３０３４と、バッファ３０３５とを有する。なお、振り分け処理装置３０３Ｂ及び３０３Ｃの機能ブロック図は、振り分け処理装置３０３Ａの機能ブロック図と同様である。
【０１０５】
管理部３０３１は、ルール格納部３０３２及び状況データ格納部３０３３に格納されているデータを管理する処理や、振り分け部３０３４を制御する処理等を行う。ルール格納部３０３２には、メッセージに含まれる紐付けキー値に基づき振り分け先の紐付け処理装置を特定するためのデータ（例えばハッシュテーブル）が格納されている。状況データ格納部３０３３には、後で説明する状況データが格納されている。振り分け部３０３４は、ルール格納部３０３２及び状況データ格納部３０３３に格納されているデータに基づき、メッセージを振り分ける処理を行う。バッファ３０３５には、後で説明する状況データを取得していないために振り分け先を決定することができないメッセージが一時的に格納される。なお、バッファ３０３５には十分な領域が確保されているものとする。
【０１０６】
図２９に、紐付け処理装置３０５Ａの機能ブロック図を示す。紐付け処理装置３０５Ａは、紐付け部３０５１と、メッセージ格納部３０５２と、通知部３０５３とを有する。なお、紐付け処理装置３０５Ｂ及び３０５Ｃの機能ブロック図は、紐付け処理装置３０５Ａの機能ブロック図と同様である。
【０１０７】
紐付け部３０５１は、振り分け処理装置３０３Ａ乃至３０３Ｃから受信したメッセージをトランザクション毎に取り揃える処理（すなわち紐付け処理）を行う。通知部３０５３は、紐付け処理が未完了であるトランザクションの紐付けキー値を振り分け処理装置３０３Ａ乃至３０３Ｃに通知したり、通知した紐付けキー値のうち紐付け処理が完了したトランザクションの紐付けキー値を振り分け処理装置３０３Ａ乃至３０３Ｃに通知する処理を行う。
【０１０８】
図３０に、管理装置３０１の機能ブロック図を示す。管理装置３０１は、振り分けルールの変更を振り分け処理装置３０３Ａ乃至３０３Ｃ及び紐付け処理装置３０５Ａ乃至３０５Ｃに通知する処理等を行う変更通知部３０１１を有する。
【０１０９】
図３１に、メッセージ格納部３０５２に格納されているデータの一例を示す。図３１の例では、紐付けキー値の列と、メッセージの列とが含まれる。
【０１１０】
次に、図２７に示したシステムにおいて行われる処理の内容を図３２乃至図３６を用いて説明する。まず、管理装置３０１の変更通知部３０１１は、例えば管理者等から変更後の振り分けルールを含む振り分けルール変更指示を受け付ける（図３２：ステップＳ１０１）。そして、変更通知部３０１１は、振り分け処理装置３０３Ａ乃至３０３Ｃのうち全ての振り分け処理装置に、変更後の振り分けルールを含む変更要求を送信する（ステップＳ１０３）。なお、振り分け処理装置３０３Ａ乃至３０３Ｃにおいて行われる処理は同じであるため、以下では振り分け処理装置３０３Ａの処理を例にして説明する。
【０１１１】
そして、振り分け処理装置３０３Ａの管理部３０３１は、管理装置３０１から変更要求を受信し、変更後の振り分けルールをルール格納部３０３２に格納する（ステップＳ１０５）。そして、管理部３０３１は、振り分け部３０３４による通常の振り分け処理を停止させ、変更時振り分け処理を開始させる（ステップＳ１０７）。変更時振り分け処理については、説明の都合上後で説明するが、本処理は以下で説明するステップＳ１１７、Ｓ１２１、Ｓ１２３及びＳ１２５等とは別で（例えば別スレッドで）行われる。
【０１１２】
一方、管理装置３０１の変更通知部３０１１は、紐付け処理装置３０５Ａ乃至３０５Ｃのうち全ての紐付け処理装置に状況データの生成指示を送信する（ステップＳ１０９）。なお、紐付け処理装置３０５Ａ乃至３０５Ｃにおいて行われる処理は同じであるため、以下では紐付け処理装置３０５Ａの処理を例にして説明する。
【０１１３】
一方、紐付け処理装置３０５Ａの通知部３０５３は、管理装置３０１から生成指示を受信し、メインメモリ等の記憶装置に格納する（ステップＳ１１１）。そして、通知部３０５３は、取り揃えられるべきメッセージが揃っていないトランザクションの紐付けキー値をメッセージ格納部３０５２から特定する（ステップＳ１１３）。本実施の形態においても、第１及び第２の実施の形態と同様に、取り揃えられるべきメッセージが揃ったか否かを例えばメッセージに含まれる「MsgType」のデータにより判断する。
【０１１４】
そして、通知部３０５３は、ステップＳ１１３において特定された紐付けキー値と紐付け処理装置３０５Ａの識別子とを含む状況データを、振り分け処理装置３０３Ａ乃至３０３Ｃのうち全ての振り分け処理装置に送信する（ステップＳ１１５）。なお、たとえステップＳ１１３においてトランザクション識別子が特定されなかったとしても、紐付け処理装置３０５Ａの識別子を含むデータを送信するものとする。一方、振り分け処理装置３０３Ａの管理部３０３１は、状況データを紐付け処理装置３０５Ａから受信し、状況データ格納部３０３３に格納する（ステップＳ１１７）。同様に、振り分け処理装置３０３Ａの管理部３０３１は、紐付け処理装置３０５Ｂ及び紐付け処理装置３０５Ｃからも状況データを受信した場合には、状況データ格納部３０３３に格納する。
【０１１５】
図３３に、状況データ格納部３０３３に格納されているデータの一例を示す。図３３の例では、紐付けキー値の列と、紐付け処理装置の識別子の列と、完了フラグの列とが含まれる。紐付けキー値に係るトランザクションについての紐付け処理が完了すると、完了フラグの列に完了フラグ「１」が設定される。
【０１１６】
そして、状況データを送信した後、紐付け処理装置３０５Ａの通知部３０５３は、通知処理を実施する（ステップＳ１１９）。通知処理については、図３４を用いて説明する。
【０１１７】
まず、紐付け処理装置３０５Ａの通知部３０５３は、メッセージ格納部３０５２における紐付け処理の状況を監視する（図３４：ステップＳ１３１）。なお、通知部３０５３による処理とは別に（例えば別スレッドで）、振り分け処理装置３０３Ａ乃至３０３Ｃからメッセージを受信した紐付け部３０５１により紐付け処理が行われているものとする。
【０１１８】
そして、通知部３０５３は、いずれかのトランザクションについて取り揃えられるべきメッセージが揃ったか判断する（ステップＳ１３３）。揃ったか否かを判断する方法については、ステップＳ１１３の説明で述べたとおりである。取り揃えられるべきメッセージが揃ったトランザクションが無いと判断された場合には（ステップＳ１３３：Ｎｏルート）、ステップＳ１３１の処理に戻る。
【０１１９】
一方、いずれかのトランザクションについて取り揃えられるべきメッセージが揃ったと判断された場合には（ステップＳ１３３：Ｙｅｓルート）、通知部３０５３は、当該トランザクションの紐付けキー値と同一の紐付けキー値が、ステップＳ１１５おいて送信した状況データに含まれる紐付けキー値のいずれかと一致するか判断する（ステップＳ１３５）。一致しないと判断された場合（ステップＳ１３５：Ｎｏルート）、ステップＳ１３１の処理に戻る。
【０１２０】
一方、一致すると判断された場合（ステップＳ１３５：Ｙｅｓルート）、当該紐付けキー値と紐付け処理装置３０５Ａの識別子とを含むデータを振り分け処理装置３０３Ａ乃至３０３Ｃのうち全ての振り分け処理装置に送信する（ステップＳ１３７）。
【０１２１】
そして、通知部３０５３は、ステップＳ１１５において送信した状況データに含まれる全ての紐付けキー値に係るトランザクションについて紐付け処理が完了したか判断する（ステップＳ１３９）。完了していないと判断された場合（ステップＳ１３９：Ｎｏルート）、ステップＳ１３１の処理に戻る。一方、完了したと判断された場合（ステップＳ１３９：Ｙｅｓルート）、元の処理に戻る。
【０１２２】
図３２の説明に戻り、ステップＳ１１９が行われると、振り分け処理装置３０３Ａの管理部３０３１は、紐付け処理が完了したトランザクションの紐付けキー値と紐付け処理装置３０５Ａの識別子とを含むデータを紐付け処理装置３０５Ａから受信する（ステップＳ１２１）。そして、管理部３０３１は、状況データ格納部３０３３に格納されている紐付けキー値のうち、受信した紐付けキー値と同一の紐付けキー値に対して完了フラグを設定する。このような処理が行われた後に状況データ格納部３０３３に格納されているデータの一例を図３５に示す。図３５の例では、紐付けキー値「４」のトランザクションについては紐付け処理が完了したため、完了フラグ「１」が設定されている。
【０１２３】
以上のような処理を実施することにより、紐付け処理が未完了のままとなってしまう可能性のあるトランザクションについて、その後の紐付け処理の状況を全ての振り分け処理装置に通知できるようになる。
【０１２４】
ここで、上では説明しなかった変更時振り分け処理について、図３６を用いて説明する。
【０１２５】
まず、振り分け部３０３４は、電子商取引システム３１からメッセージを受信又はバッファ３０３５からメッセージを取り出し、メインメモリ等の記憶装置に格納する（図３６：ステップＳ１５１）。なお、振り分け部３０３４は、バッファ３０３５に格納されているメッセージを、例えばバッファ３０３５に格納してから所定時間経過後に又は所定の順番（例えばFirst In First Out）で取り出すものとする。以下では、ステップＳ１５１において取得したメッセージを便宜上「受信メッセージ」と呼ぶ。
【０１２６】
そして、振り分け部３０３４は、受信メッセージに含まれる紐付けキー値と、ルール格納部３０３２に格納されている変更前及び変更後の振り分けルールとを用いて、変更前の振り分けルールによる振り分け先の紐付け処理装置と、変更後の振り分けルールによる振り分け先の紐付け処理装置とを特定する（ステップＳ１５３）。
【０１２７】
そして、振り分け部３０３４は、振り分けルールの変更前後で振り分け先の紐付け処理装置が同じであるか判断する（ステップＳ１５５）。同じであると判断された場合（ステップＳ１５５：Ｙｅｓルート）、振り分け部３０３４は、変更後の振り分けルールによる振り分け先の紐付け処理装置に受信メッセージを送信する（ステップＳ１６３）。振り分けルールの変更前後で振り分け先の紐付け処理装置が同じであるならば、そもそも紐付け処理が未完了となってしまうことはないからである。
【０１２８】
一方、振り分けルールの変更前後で振り分け先の紐付け処理装置が異なると判断された場合（ステップＳ１５５：Ｎｏルート）、振り分け部３０３４は、変更前の振り分けルールによる振り分け先の紐付け処理装置から受信した状況データが状況データ格納部３０３３に格納されているか判断する（ステップＳ１５７）。すなわち、変更前の振り分けルールによる振り分け先の紐付け処理装置から状況データを取得済みであるか判断する。取得済みでない場合（ステップＳ１５９：Ｎｏルート）、振り分け部３０３４は、受信メッセージをバッファ３０３５に格納する（ステップＳ１５９）。
【０１２９】
一方、取得済みである場合（ステップＳ１５９：Ｙｅｓルート）、振り分け部３０３４は、受信メッセージに含まれる紐付けキー値と同一の紐付けキー値が、変更前の振り分けルールによる振り分け先の紐付け処理装置の識別子に対応付けて状況データ格納部３０３３に格納されているか判断する（ステップＳ１６１）。すなわち、変更前の振り分けルールによる振り分け先の紐付け処理装置において紐付け処理が未完了となっているか判断する。
【０１３０】
変更前の振り分けルールによる振り分け先の紐付け処理装置において紐付け処理が完了していると判断された場合（ステップＳ１６１：Ｎｏルート）、振り分け部３０３４は、変更後の振り分けルールによる振り分け先の紐付け処理装置に受信メッセージを送信する（ステップＳ１６３）。変更前の振り分けルールによる振り分け先の紐付け処理装置において紐付け処理が完了しているのであれば、変更後の振り分けルールによって受信メッセージを振り分ければ漏れなく紐付け処理を行うことができるからである。
【０１３１】
一方、変更前の振り分けルールによる振り分け先の紐付け処理装置において紐付け処理が未完了であると判断された場合（ステップＳ１６１：Ｙｅｓルート）、振り分け部３０３４は、変更前の振り分けルールによる振り分け先の紐付け処理装置に受信メッセージを送信する（ステップＳ１６５）。変更前の振り分けルールによる振り分け先の紐付け処理装置に受信メッセージを振り分けなければ、受信メッセージが属するトランザクションについての紐付け処理を完了させることができないからである。
【０１３２】
そして、振り分け部３０３４は、管理部３０３１から変更完了を通知されたか判断する（ステップＳ１６７）。変更完了を通知されていない場合（ステップＳ１６７：Ｎｏルート）、ステップＳ１５１の処理に戻る。一方、変更完了を通知された場合（ステップＳ１６７：Ｙｅｓルート）、処理は終了する。
【０１３３】
以上のように、紐付け処理が未完了のままとなってしまう可能性のあるトランザクションについては変更前の振り分けルールを用いて振り分けを行い紐付け処理を完成させるようにする。従って、紐付け処理の完了が遅れてしまうトランザクションが発生することを抑制することができるようになる。
【０１３４】
図３２の説明に戻り、管理装置３０１の管理部３０３１は、変更完了条件を満たすか判断する（ステップＳ１２３）。すなわち、状況データ格納部３０３３に格納されている全ての紐付けキー値に完了フラグが設定されているか判断する。変更完了条件を満たさないと判断された場合（ステップＳ１２３：Ｎｏルート）、ステップＳ１２１の処理に戻る。一方、変更完了条件を満たすと判断された場合（ステップＳ１２３：Ｙｅｓルート）、振り分け部３０３４は、ルール格納部３０３２に格納されている変更前の振り分けルールを削除する（ステップＳ１２５）。そして、管理部３０３１は、振り分け処理部３０３４に変更完了を通知し、通常の振り分け処理を再開させる。
【０１３５】
以上のような処理を実施することにより、紐付け処理の完了が遅れてしまうトランザクションが発生することを抑制しつつ、振り分けルールの切替を行うことができるようになる。
【０１３６】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した管理装置、振り分け処理装置及び紐付け処理装置の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
【０１３７】
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１３８】
なお、第１の実施の形態（ステップＳ１００５）において、振り分け処理装置１１Ａが状況データの生成要求を送信するのではなく、管理装置１５が紐付け処理装置１３Ａ乃至１３Ｃに直接送信するようにしてもよい。逆に、第３の実施の形態では、ステップＳ１１１において管理装置３０１が状況データの生成指示を振り分け処理装置３０３Ａ乃至３０３Ｃに送信し、各振り分け処理装置が紐付け処理装置３０５Ａ乃至３０５Ｃに状況データの生成指示を転送するような構成にしてもよい。
【０１３９】
また、第２の実施の形態では管理装置２０１にバッファ２０１２を設けるようにしているが、各振り分け処理装置にバッファを設けるようにしてもよい。
【０１４０】
また、第３の実施の形態においてバッファ３０３５に受信メッセージを格納する際には、ステップＳ１５３において特定された変更前の振り分けルールによる振り分け先の紐付け処理装置の識別子と変更後の振り分けルールによる振り分け先の紐付け処理装置の識別子とを受信メッセージに対応付けて格納するようにしてもよい。このようにすれば、バッファ３０３５に格納された受信メッセージについては再度ステップＳ１５３及びＳ１５５の処理をする必要はなく、ステップＳ１５７から処理を開始することができるようになる。第２の実施の形態についても同様である。
【０１４１】
なお、上で述べた振り分け処理装置、紐付け処理装置及び管理装置は、コンピュータ装置であって、図３７に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１４２】
以上述べた本技術の実施の形態をまとめると以下のようになる。
【０１４３】
本実施の形態に係る振り分け処理方法は、同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置にメッセージを振り分けるコンピュータにより実行される。そして、本振り分け処理方法は、（Ａ）トランザクション識別子に基づきメッセージの振り分け先の紐付け処理装置を特定するための振り分けルールを変更する場合、受信メッセージに含まれるトランザクション識別子と、ルール格納部に格納されている変更前の振り分けルールとを用いて、第１の紐付け処理装置を特定する特定ステップと、（Ｂ）紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データのうち第１の紐付け処理装置により生成された第１の状況データに、受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が含まれるか判断する判断ステップと、（Ｃ）受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が第１の状況データに含まれると判断された場合に、受信メッセージを第１の紐付け処理装置に送信するステップとを含む。
【０１４４】
このように、紐付け処理が未完了のままになってしまう可能性があるトランザクションについては、変更前の振り分けルールを用いて振り分けを行い紐付け処理を完了させるようにするので、紐付け処理完了が遅くなってしまうことを抑制できるようになる。
【０１４５】
また、上で述べたルール格納部には、変更後の振り分けルールがさらに格納されるようにしてもよい。そして、本実施の形態に係る振り分け処理方法は、（Ｄ）受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が第１の状況データに含まれないと判断された場合に、受信メッセージに含まれるトランザクション識別子と変更後の振り分けルールとにより特定される第２の紐付け処理装置に受信メッセージを送信するステップをさらに含むようにしてもよい。第１の紐付け処理装置において紐付け処理が完了しているのであれば、第２の紐付け処理装置に受信メッセージを振り分けるようにすれば、漏れなく紐付け処理を行うことができる。
【０１４６】
また、本実施の形態に係る振り分け処理方法は、（Ｅ）受信メッセージに含まれるトランザクション識別子と、ルール格納部に格納されている変更後の振り分けルールとを用いて、第２の紐付け処理装置を特定するステップと、（Ｆ）第１の紐付け処理装置と第２の紐付け処理装置とが一致するか判断するステップとをさらに含むようにしてもよい。そして、第１の紐付け処理装置と第２の紐付け処理装置とが一致しないと判断された場合に、判断ステップを実施させるようにしてもよい。振り分けルールの変更前後で振り分け先の紐付け処理装置が一致する場合には、どちらの振り分けルールでメッセージを振り分けても紐付け処理が未完了のまま紐付け処理装置に残ってしまうということはない。従って、上で述べたような処理を行えば、状況データを確認することなく振り分け処理を行うことができるようになる。
【０１４７】
また、本実施の形態に係る振り分け処理方法は、（Ｇ）第１の紐付け処理装置と第２の紐付け処理装置とが一致すると判断された場合に、第２の紐付け処理装置に受信メッセージを送信するステップをさらに含むようにしてもよい。このようにすれば、第１の振り分け処理装置と第２の振り分け処理装置とが一致する場合に迅速に受信メッセージを振り分けることができるようになる。
【０１４８】
また、本実施の形態に係る振り分け処理方法は、（Ｈ）判断ステップを実施する前に、複数の紐付け処理装置の各々により生成された状況データを取得するステップと、（Ｉ）残余のメッセージを取得することによって紐付け処理が完了したトランザクションのトランザクション識別子を含み且つ複数の紐付け処理装置のうちいずれかの紐付け処理装置により生成された第１データを取得した場合、取得した状況データに含まれるトランザクション識別子のうち、紐付け処理が完了したトランザクションのトランザクション識別子を無効化又は削除するステップと、（Ｊ）取得した全ての状況データに含まれるトランザクション識別子が無効化又は削除されるという条件を含む変更完了条件を満たした場合に、ルール格納部に格納されている変更前の振り分けルールを削除するステップとをさらに含むようにしてもよい。このような構成であれば、コンピュータ（すなわち受信メッセージの振り分けを行う主体）自身が状況データを管理し、紐付け処理が未完了のままとなってしまうトランザクションが無くなったことを確認した後に変更後の振り分けルールによる振り分け処理を開始できるようになる。
【０１４９】
また、本実施の形態に係る振り分け処理方法は、（Ｋ）判断ステップを実施する前に、複数の紐付け処理装置のうち少なくとも一部の紐付け処理装置により生成された状況データを取得するステップと、（Ｌ）取得した状況データに第１の状況データが含まれるか判断するステップと、（Ｍ）取得した状況データに第１の状況データが含まれないと判断された場合には、受信メッセージをバッファに格納するステップとを含むようにしてもよい。そして、バッファに格納された受信メッセージを、後にバッファから読み出して処理させるようにしてもよい。第１の状況データを取得する前の段階では、紐付け処理が未完了のままになっているか否かを判別することはできない。そこで、受信メッセージを後に再度処理するようにすれば、誤った振り分けを行ってしまうことを抑制できるようになる。
【０１５０】
また、本実施の形態に係る振り分け処理方法は、（Ｎ）複数の紐付け処理装置の全てから状況データを取得済みであることを示し且つ取得した全ての状況データに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したことを示すデータを、複数の紐付け処理装置における紐付け処理の状況を管理する管理装置から受信した場合には、ルール格納部に格納されている変更前の振り分けルールを削除するステップをさらに含むようにしてもよい。コンピュータ自身ではなく上で述べたような管理装置に状況データを管理させる場合には、コンピュータ側ではどの紐付け処理装置から状況データを取得済みであるかを把握することはできないので、紐付け処理装置から状況データを取得済みであるかを判別するためのデータを用いるようにする。これにより、コンピュータ側では、紐付け処理が未完了のままとなってしまうトランザクションが完全に無くなったことを確認することができるようになる。
【０１５１】
本実施の形態に係る紐付け処理方法は、複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行うコンピュータにより実行される。そして、本紐付け処理方法は、（Ｏ）コンピュータにおける紐付け処理の状況を管理する管理装置又は複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じて、トランザクション毎にメッセージを格納するメッセージ格納部から、取り揃えられるべきメッセージが揃っていないトランザクションのトランザクション識別子を特定し、当該トランザクション識別子を含む状況データを、要求の送信元又は複数の振り分け処理装置の全てに送信するステップと、（Ｐ）複数の振り分け処理装置のうち任意の振り分け処理装置からメッセージを受信した場合、当該メッセージを当該メッセージに含まれるトランザクション識別子に従ってメッセージ格納部に格納すると共に、当該メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したか判断するステップと、（Ｑ）受信したメッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したと判断された場合、当該トランザクションのトランザクション識別子を、状況データの送信先の装置に送信するステップとを含む。
【０１５２】
このようにすれば、取り揃えられるべきメッセージが揃っていないトランザクションについての紐付け処理の状況を通知できるようになる。そして、紐付け処理装置における紐付け処理の状況を確認した上でメッセージの振り分けが行われるようになる。
【０１５３】
本実施の形態に係る管理方法は、（Ｒ）メッセージを振り分けるための振り分けルールを変更する場合、振り分けルールに従いメッセージを振り分ける複数の振り分け処理装置の各々に対し、変更後の振り分けルールを含む変更通知を送信するステップと、（Ｓ）複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置の各々に対し、紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データの生成要求を送信するステップと、（Ｔ）複数の紐付け処理装置のうちいずれかの紐付け処理装置から状況データを受信した場合には、当該状況データを当該紐付け処理装置の識別子に対応付けてデータ格納部に格納するステップと、（Ｕ）残余のメッセージを取得することによって紐付け処理が完了したトランザクションのトランザクション識別子を状況データの送信元の紐付け処理装置から受信した場合には、データ格納部に格納されているトランザクション識別子のうち、受信したトランザクション識別子と同一のトランザクション識別子を無効化又は削除するステップと、（Ｖ）複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じ、データ格納部に格納されている紐付け処理装置の識別子と当該紐付け処理装置の識別子に対応付けられている状況データとを抽出し、要求の送信元の振り分け処理装置に送信するステップとを含む。
【０１５４】
このようにすれば、一部のトランザクションについて紐付け処理が未完了のままとなることがないように振り分け処理を行わせつつ、振り分けルールの変更を行うことができるようになる。
【０１５５】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１５６】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１５７】
（付記１）
同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置にメッセージを振り分けるコンピュータに実行させるためのプログラムであって、
トランザクション識別子に基づきメッセージの振り分け先の紐付け処理装置を特定するための振り分けルールを変更する場合、受信メッセージに含まれるトランザクション識別子と、ルール格納部に格納されている変更前の振り分けルールとを用いて、第１の紐付け処理装置を特定する特定ステップと、
前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データのうち前記第１の紐付け処理装置により生成された第１の状況データに、前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が含まれるか判断する判断ステップと、
前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が前記第１の状況データに含まれると判断された場合に、前記受信メッセージを前記第１の紐付け処理装置に送信するステップと、
を実行させるための振り分け処理プログラム。
【０１５８】
（付記２）
前記ルール格納部には、変更後の振り分けルールがさらに格納されており、
前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が前記第１の状況データに含まれないと判断された場合に、前記受信メッセージに含まれるトランザクション識別子と前記変更後の振り分けルールとにより特定される第２の紐付け処理装置に前記受信メッセージを送信するステップ
をさらに実行させるための付記１記載の振り分け処理プログラム。
【０１５９】
（付記３）
前記受信メッセージに含まれるトランザクション識別子と、前記ルール格納部に格納されている前記変更後の振り分けルールとを用いて、前記第２の紐付け処理装置を特定するステップと、
前記第１の紐付け処理装置と前記第２の紐付け処理装置とが一致するか判断するステップと、
をさらに実行させ、
前記第１の紐付け処理装置と前記第２の紐付け処理装置とが一致しないと判断された場合に、前記判断ステップを実施させる
ことを特徴とする付記２記載の振り分け処理プログラム。
【０１６０】
（付記４）
前記第１の紐付け処理装置と前記第２の紐付け処理装置とが一致すると判断された場合に、前記第２の紐付け処理装置に前記受信メッセージを送信するステップ
をさらに実行させるための付記３記載の振り分け処理プログラム。
【０１６１】
（付記５）
前記判断ステップを実施する前に、前記複数の紐付け処理装置の各々により生成された状況データを取得するステップと、
残余のメッセージを取得することによって前記紐付け処理が完了したトランザクションのトランザクション識別子を含み且つ前記複数の紐付け処理装置のうちいずれかの紐付け処理装置により生成された第１データを取得した場合、取得した前記状況データに含まれるトランザクション識別子のうち、前記紐付け処理が完了したトランザクションのトランザクション識別子を無効化又は削除するステップと、
取得した全ての前記状況データに含まれるトランザクション識別子が無効化又は削除されるという条件を含む変更完了条件を満たした場合に、前記ルール格納部に格納されている前記変更前の振り分けルールを削除するステップと、
をさらに実行させるための付記１乃至４いずれか１つ記載の振り分け処理プログラム。
【０１６２】
（付記６）
前記判断ステップを実施する前に、前記複数の紐付け処理装置のうち少なくとも一部の紐付け処理装置により生成された状況データを取得するステップと、
取得した前記状況データに前記第１の状況データが含まれるか判断するステップと、
取得した前記状況データに前記第１の状況データが含まれないと判断された場合には、前記受信メッセージをバッファに格納するステップと、
とをさらに実行させ、
前記バッファに格納された受信メッセージを、後に前記バッファから読み出して処理させる
ことを特徴とする付記１乃至４いずれか１つ記載の振り分け処理プログラム。
【０１６３】
（付記７）
前記複数の紐付け処理装置の全てから前記状況データを取得済みであることを示し且つ取得した全ての前記状況データに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したことを示すデータを、前記複数の紐付け処理装置における紐付け処理の状況を管理する管理装置から受信した場合には、前記ルール格納部に格納されている前記変更前の振り分けルールを削除するステップ
をさらに実行させるための付記１乃至４いずれか１つ記載の振り分け処理プログラム。
【０１６４】
（付記８）
複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行うコンピュータに実行させるためのプログラムであって、
前記コンピュータにおける紐付け処理の状況を管理する管理装置又は前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じて、トランザクション毎にメッセージを格納するメッセージ格納部から、取り揃えられるべきメッセージが揃っていないトランザクションのトランザクション識別子を特定し、当該トランザクション識別子を含む状況データを、前記要求の送信元又は前記複数の振り分け処理装置の全てに送信するステップと、
前記複数の振り分け処理装置のうち任意の振り分け処理装置からメッセージを受信した場合、当該メッセージを当該メッセージに含まれるトランザクション識別子に従って前記メッセージ格納部に格納すると共に、当該メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したか判断するステップと、
受信した前記メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したと判断された場合、当該トランザクションのトランザクション識別子を、前記状況データの送信先の装置に送信するステップと、
を実行させるための紐付け処理プログラム。
【０１６５】
（付記９）
メッセージを振り分けるための振り分けルールを変更する場合、前記振り分けルールに従いメッセージを振り分ける複数の振り分け処理装置の各々に対し、変更後の振り分けルールを含む変更通知を送信するステップと、
前記複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置の各々に対し、前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データの生成要求を送信するステップと、
前記複数の紐付け処理装置のうちいずれかの紐付け処理装置から前記状況データを受信した場合には、当該状況データを当該紐付け処理装置の識別子に対応付けてデータ格納部に格納するステップと、
残余のメッセージを取得することによって前記紐付け処理が完了したトランザクションのトランザクション識別子を前記状況データの送信元の紐付け処理装置から受信した場合には、前記データ格納部に格納されているトランザクション識別子のうち、受信した前記トランザクション識別子と同一のトランザクション識別子を無効化又は削除するステップと、
前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じ、前記データ格納部に格納されている紐付け処理装置の識別子と当該紐付け処理装置の識別子に対応付けられている状況データとを抽出し、前記要求の送信元の振り分け処理装置に送信するステップと、
をコンピュータに実行させるための管理プログラム。
【０１６６】
（付記１０）
同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置にメッセージを振り分けるコンピュータにより実行される振り分け処理方法であって、
トランザクション識別子に基づきメッセージの振り分け先の紐付け処理装置を特定するための振り分けルールを変更する場合、受信メッセージに含まれるトランザクション識別子と、ルール格納部に格納されている変更前の振り分けルールとを用いて、第１の紐付け処理装置を特定する特定ステップと、
前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データのうち前記第１の紐付け処理装置により生成された第１の状況データに、前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が含まれるか判断する判断ステップと、
前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が前記第１の状況データに含まれると判断された場合に、前記受信メッセージを前記第１の紐付け処理装置に送信するステップと、
を含む振り分け処理方法。
【０１６７】
（付記１１）
同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置にメッセージを振り分ける振り分け処理装置であって、
変更前の振り分けルールを格納するルール格納部と、
トランザクション識別子に基づきメッセージの振り分け先の紐付け処理装置を特定するための振り分けルールを変更する場合、受信メッセージに含まれるトランザクション識別子と、前記ルール格納部に格納されている変更前の振り分けルールとを用いて、第１の紐付け処理装置を特定する特定部と、
前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データのうち前記第１の紐付け処理装置により生成された第１の状況データに、前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が含まれるか判断する判断部と、
前記受信メッセージに含まれるトランザクション識別子と同一のトランザクション識別子が前記第１の状況データに含まれると判断された場合に、前記受信メッセージを前記第１の紐付け処理装置に送信する振り分け部と、
を有する振り分け処理装置。
【０１６８】
（付記１２）
複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行うコンピュータにより実行される紐付け処理方法であって、
前記コンピュータにおける紐付け処理の状況を管理する管理装置又は前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じて、トランザクション毎にメッセージを格納するメッセージ格納部から、取り揃えられるべきメッセージが揃っていないトランザクションのトランザクション識別子を特定し、当該トランザクション識別子を含む状況データを、前記要求の送信元又は前記複数の振り分け処理装置の全てに送信するステップと、
前記複数の振り分け処理装置のうち任意の振り分け処理装置からメッセージを受信した場合、当該メッセージを当該メッセージに含まれるトランザクション識別子に従って前記メッセージ格納部に格納すると共に、当該メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したか判断するステップと、
受信した前記メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したと判断された場合、当該トランザクションのトランザクション識別子を、前記状況データの送信先の装置に送信するステップと、
を含む紐付け処理方法。
【０１６９】
（付記１３）
複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う紐付け処理装置であって、
トランザクション毎にメッセージを格納するメッセージ格納部と、
前記紐付け処理装置における紐付け処理の状況を管理する管理装置又は前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じて、前記メッセージ格納部から、取り揃えられるべきメッセージが揃っていないトランザクションのトランザクション識別子を特定し、当該トランザクション識別子を含む状況データを、前記要求の送信元又は前記複数の振り分け処理装置の全てに送信する第１通知部と、
前記複数の振り分け処理装置のうち任意の振り分け処理装置からメッセージを受信した場合、当該メッセージを当該メッセージに含まれるトランザクション識別子に従って前記メッセージ格納部に格納すると共に、当該メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したか判断し、受信した前記メッセージに含まれるトランザクション識別子に係るトランザクションの紐付け処理が完了したと判断された場合、当該トランザクションのトランザクション識別子を、前記状況データの送信先の装置に送信する第２通知部と、
を有する紐付け処理装置。
【０１７０】
（付記１４）
メッセージを振り分けるための振り分けルールを変更する場合、前記振り分けルールに従いメッセージを振り分ける複数の振り分け処理装置の各々に対し、変更後の振り分けルールを含む変更通知を送信するステップと、
前記複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置の各々に対し、前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データの生成要求を送信するステップと、
前記複数の紐付け処理装置のうちいずれかの紐付け処理装置から前記状況データを受信した場合には、当該状況データを当該紐付け処理装置の識別子に対応付けてデータ格納部に格納するステップと、
残余のメッセージを取得することによって前記紐付け処理が完了したトランザクションのトランザクション識別子を前記状況データの送信元の紐付け処理装置から受信した場合には、前記データ格納部に格納されているトランザクション識別子のうち、受信した前記トランザクション識別子と同一のトランザクション識別子を無効化又は削除するステップと、
前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じ、前記データ格納部に格納されている紐付け処理装置の識別子と当該紐付け処理装置の識別子に対応付けられている状況データとを抽出し、前記要求の送信元の振り分け処理装置に送信するステップと、
を含み、コンピュータにより実行される管理方法。
【０１７１】
（付記１５）
データ格納部と、
メッセージを振り分けるための振り分けルールを変更する場合、前記振り分けルールに従いメッセージを振り分ける複数の振り分け処理装置の各々に対し、変更後の振り分けルールを含む変更通知を送信し、前記複数の振り分け処理装置からメッセージを受信して同一のトランザクションに属するメッセージを取り揃える処理である紐付け処理を行う複数の紐付け処理装置の各々に対し、前記紐付け処理が未完了であるトランザクションのトランザクション識別子を含む状況データの生成要求を送信し、前記複数の紐付け処理装置のうちいずれかの紐付け処理装置から前記状況データを受信した場合には、当該状況データを当該紐付け処理装置の識別子に対応付けて前記データ格納部に格納し、残余のメッセージを取得することによって前記紐付け処理が完了したトランザクションのトランザクション識別子を前記状況データの送信元の紐付け処理装置から受信した場合には、前記データ格納部に格納されているトランザクション識別子のうち、受信した前記トランザクション識別子と同一のトランザクション識別子を無効化又は削除する管理部と、
前記複数の振り分け処理装置のうちいずれかの振り分け処理装置からの要求に応じ、前記データ格納部に格納されている紐付け処理装置の識別子と当該紐付け処理装置の識別子に対応付けられている状況データとを抽出し、前記要求の送信元の振り分け処理装置に送信する送信部と、
を有する管理装置。
【符号の説明】
【０１７２】
１１Ａ，１１Ｂ，１１Ｃ  振り分け処理装置
１３Ａ，１３Ｂ，１３Ｃ  紐付け処理装置
１５  管理装置
１１１  特定部    １１２  ルール格納部
１１３  判断部    １１４  振り分け部
１１５  状況データ格納部    １３１  第１通知部
１３２  メッセージ格納部    １３３  第２通知部
１５１  管理部
２０  並列紐付けシステム    ２１  電子商取引システム
２０１  管理装置
２０３Ａ，２０３Ｂ，２０３Ｃ  振り分け処理装置
２０５Ａ，２０５Ｂ，２０５Ｃ  紐付け処理装置
２０１１  制御部    ２０１２  バッファ
２０１３  再投入部    ２０１４  取得フラグ格納部
２０１５  状況データ格納部    ２０３１  振り分け部
２０３２  振り分けルール格納部    ２０３３  振り分けルール管理部
２０３４  判定部    ２０５１  紐付け部
２０５２  収集部    ２０５３  更新部
２０５４  メッセージ格納部
３０  並列紐付けシステム    ３１  電子商取引システム
３０１  管理装置
３０３Ａ，３０３Ｂ，３０３Ｃ  振り分け処理装置
３０５Ａ，３０５Ｂ，３０５Ｃ  紐付け処理装置
３０１１  変更通知部    ３０３１  管理部
３０３２  ルール格納部    ３０３３  状況データ格納部
３０５１  紐付け部    ３０５２  メッセージ格納部
３０５３  通知部    ３０３４  振り分け部
３０３５  バッファ
【図１】
0005494354.tif 000002
【図２】
0005494354.tif 000003
【図３】
0005494354.tif 000004
【図４】
0005494354.tif 000005
【図５】
0005494354.tif 000006
【図６】
0005494354.tif 000007
【図７】
0005494354.tif 000008
【図８】
0005494354.tif 000009
【図９】
0005494354.tif 000010
【図１０】
0005494354.tif 000011
【図１１】
0005494354.tif 000012
【図１２】
0005494354.tif 000013
【図１３】
0005494354.tif 000014
【図１４】
0005494354.tif 000015
【図１５】
0005494354.tif 000016
【図１６】
0005494354.tif 000017
【図１７】
0005494354.tif 000018
【図１８】
0005494354.tif 000019
【図１９】
0005494354.tif 000020
【図２０】
0005494354.tif 000021
【図２１】
0005494354.tif 000022
【図２２】
0005494354.tif 000023
【図２３】
0005494354.tif 000024
【図２４】
0005494354.tif 000025
【図２５】
0005494354.tif 000026
【図２６】
0005494354.tif 000027
【図２７】
0005494354.tif 000028
【図２８】
0005494354.tif 000029
【図２９】
0005494354.tif 000030
【図３０】
0005494354.tif 000031
【図３１】
0005494354.tif 000032
【図３２】
0005494354.tif 000033
【図３３】
0005494354.tif 000034
【図３４】
0005494354.tif 000035
【図３５】
0005494354.tif 000036
【図３６】
0005494354.tif 000037
【図３７】
0005494354.tif 000038