(57)【要約】【課題】処理中トランザクションの継続可能性を維持しながら新規トランザクションの受け付けを抑制することで輻輳状態の回避を効果的に行う。【解決手段】トランザクション処理装置１は、トランザクション要求装置からの複数の受信メッセージを含むメッセージ群が登録される第１のキュー１０１と、主処理部１０２によってキュー１０１に登録されている複数の受信メッセージの各々から取り出されたトランザクション要求メッセージが登録される第２のキュー１０３を有する。新規ＲＥＱフィルタ１０５は、キュー１０３に登録されている処理待ちのトランザクション要求メッセージ数が増大した場合に、キュー１０３へのトランザクション要求メッセージの新規登録を制限する。また、セレクトスイッチ１０７は、新規ＲＥＱフィルタ１０５によるキュー１０３への登録制限が行われる場合に、キュー１０３への要求装置８０からの受信メッセージの新規登録を制限する。【選択図】図３
2010206595.tif 000002
【特許請求の範囲】
【請求項１】
トランザクション要求装置からの複数の受信メッセージを含むメッセージ群が登録される第１のキューと、
前記複数の受信メッセージの各々から取り出されたトランザクション要求メッセージが登録される第２のキューと、
前記第１のキューに登録された前記メッセージ群の内容を解析し、前記トランザクション要求メッセージを前記第２のキューに登録するスタック処理手段と、
前記第２のキューから取り出した前記トランザクション要求メッセージに対応するトランザクションを行うトランザクション処理手段と、
前記第２のキューに登録されているトランザクション要求メッセージ数が増大した場合に、前記スタック処理手段から前記第２のキューへのトランザクション要求メッセージの新規登録を制限する要求フィルタ手段と、
前記要求フィルタ手段による前記第２のキューへの登録制限が行われる場合に、前記第１のキューへの前記受信メッセージの新規登録を制限する入力フィルタ手段と、
を備えるトランザクション処理装置。
【請求項２】
前記第１のキューに登録される前記メッセージ群は、前記トランザクション処理手段によるトランザクションの実行結果を示し前記トランザクション要求装置に送信されるトランザクション応答メッセージを含み、
前記入力フィルタ手段は、前記要求フィルタ手段による前記第２のキューへの登録制限が行われる場合に、前記第１のキューへの前記応答メッセージの新規登録の制限をさらに行う、請求項１に記載のトランザクション処理装置。
【請求項３】
前記受信メッセージ及び前記応答メッセージを前記第１のキューに登録するキュー登録手段と、
前記第１のキューに登録されている処理待ちメッセージ数の増大に応じて、前記キュー登録手段から前記第１のキューへのメッセージの新規登録を制限するメッセージフィルタ手段と、をさらに備え、
前記入力フィルタ手段は、前記要求フィルタ手段による前記第２のキューへの登録制限および前記メッセージフィルタ手段による前記第１のキューへの登録制限の少なくとも一方が行われる場合に、前記キュー登録手段への前記受信メッセージ及び前記応答メッセージの供給を制限する、
請求項２に記載のトランザクション処理装置。
【請求項４】
前記トランザクション処理手段は、前記トランザクションをアプリケーションプログラムに処理させるよう構成され、
前記アプリケーションプログラムによる前記トランザクションの処理に滞りが生じたことに応じて、前記スタック処理手段から前記第２のキューへのトランザクション要求メッセージの新規登録を制限するアプリケーション要因輻輳フィルタ手段をさらに備える、請求項１〜３のいずれか１項に記載のトランザクション処理装置。
【請求項５】
前記スタック処理手段から前記第２のキューへのトランザクション要求メッセージの供給レートが予め定められた閾値レートを超えないように規制するレート規制手段をさらに備える、請求項１〜４のいずれか１項に記載のトランザクション処理装置。
【請求項６】
前記閾値レートは、前記トランザクション処理装置のシステムリソースに基づいて定められる、請求項５に記載のトランザクション処理装置。
【請求項７】
トランザクション処理装置における輻輳制御方法であって、
前記トランザクション処理装置は、
トランザクション要求装置からの複数の受信メッセージを含むメッセージ群が登録される第１のキューと、
前記複数の受信メッセージの各々から取り出されたトランザクション要求メッセージが登録される第２のキューと、を備え、
前記方法は、
（ａ）前記第２のキューに登録されている処理待ちのトランザクション要求メッセージ数が増大した場合に、前記第２のキューへのトランザクション要求メッセージの新規登録を制限すること、及び
（ｂ）前記第２のキューへのトランザクション要求メッセージの新規登録が制限される場合に、前記第１のキューへの前記受信メッセージの新規登録を併せて制限すること、
を備える、トランザクション処理装置における輻輳制御方法。
【請求項８】
前記第１のキューに登録される前記メッセージ群は、前記トランザクション要求装置に送信される送信メッセージを含み、
前記方法は、
（ｃ）前記第１のキューへの前記受信メッセージの新規登録が制限される場合に、前記第１のキューへの前記送信メッセージの新規登録も併せて制限すること、
をさらに備える、請求項７に記載の方法。
【請求項９】
（ｄ）前記第１のキューに登録されているメッセージ数が増大したことに応じて、前記第１のキューへのメッセージの新規登録を制限すること、
をさらに備える、請求項８に記載の方法。
【請求項１０】
（ｅ）前記第２のキューに登録された前記トランザクション要求メッセージに対応するトランザクションを実行するアプリケーションプログラムの処理に滞りが生じたことに応じて、前記第２のキューへのトランザクション要求メッセージの新規登録を制限すること、
をさらに備える、請求項７〜９のいずれか１項に記載の方法。
【請求項１１】
（ｆ）前記第２のキューへのトランザクション要求メッセージの供給レートが予め定められた閾値レートを超えないように規制すること、
をさらに含む、請求項７〜１０のいずれか１項に記載の方法。
【請求項１２】
前記閾値レートは、前記トランザクション処理装置のシステムリソースに基づいて定められる、請求項１１に記載の方法。
【請求項１３】
トランザクション処理装置における輻輳制御処理をコンピュータに実行させるためのプログラムであって、
前記トランザクション処理装置は、
トランザクション要求装置からの複数の受信メッセージを含むメッセージ群が登録される第１のキューと、
前記複数の受信メッセージの各々から取り出されたトランザクション要求メッセージが登録される第２のキューと、を備え、
前記輻輳制御処理は、
（ａ）前記第２のキューに登録されている処理待ちのトランザクション要求メッセージ数が増大した場合に、前記第２のキューへのトランザクション要求メッセージの新規登録を制限すること、及び
（ｂ）前記第２のキューへのトランザクション要求メッセージの新規登録が制限される場合に、前記第１のキューへの前記受信メッセージの新規登録を併せて制限すること、
を備える、プログラム。
【請求項１４】
前記第１のキューに登録される前記メッセージ群は、前記トランザクション要求装置に送信される送信メッセージを含み、
前記輻輳制御処理は、
（ｃ）前記第１のキューへの前記受信メッセージの新規登録が制限される場合に、前記第１のキューへの前記送信メッセージの新規登録も併せて制限すること、
をさらに備える、請求項１３に記載のプログラム。
【請求項１５】
前記輻輳制御処理は、
（ｄ）前記第１のキューに登録されているメッセージ数が増大したことに応じて、前記第１のキューへのメッセージの新規登録を制限すること、
をさらに備える、請求項１４に記載のプログラム。
【請求項１６】
前記輻輳制御処理は、
（ｅ）前記第２のキューに登録された前記トランザクション要求メッセージに対応するトランザクションを実行するアプリケーションプログラムの処理に滞りが生じたことに応じて、前記第２のキューへのトランザクション要求メッセージの新規登録を制限すること、
をさらに備える、請求項１４〜１５のいずれか１項に記載のプログラム。
【請求項１７】
前記輻輳制御処理は、
（ｆ）前記第２のキューへのトランザクション要求メッセージの供給レートが予め定められた閾値レートを超えないように規制すること、
をさらに含む、請求項１３〜１６のいずれか１項に記載のプログラム。
【請求項１８】
前記閾値レートは、前記トランザクション処理装置のシステムリソースに基づいて定められる、請求項１７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンライントランザクションを処理するトランザクション処理装置に関し、特に、トランザクション要求が集中した場合における輻輳回避技術に関する。
【背景技術】
【０００２】
オンライントランザクションシステムでは、通信ネットワークを介して接続された複数のコンピュータによってトランザクション（何らかのまとまった情報処理）が処理される。具体的には、１のコンピュータが他のコンピュータにトランザクションの実行を要求する。そして、トランザクション要求を受けた他のコンピュータは、要求に応じたトランザクション処理を行い、要求元のコンピュータに対してトランザクションの実行結果を送信する。なお、本明細書では、トランザクション要求元のコンピュータを「トランザクション要求装置」と呼び、トランザクションを実行するコンピュータを「トランザクション処理装置」と呼ぶ。
【０００３】
なお、特許文献１〜７は、ＡＴＭ（Asynchronous Transfer Mode）交換機、ＩＰ（Internet Protocol）ルータ等の通信装置におけるＱｏＳ保証を伴う輻輳制御技術を開示している。しかしながら、これらの文献は、転送待ちキュー長、つまり転送待ちのＡＴＭセル量やＩＰパケット量、が閾値を超えた場合にセル廃棄による流量規制を行うこと、ＡＴＭセルやＩＰパケットのサービスクラスを識別し、優先度の低いセル及びパケットが廃棄される割合を大きくすること等を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３１２４９２号公報
【特許文献２】特開２００８−１７２５１７号公報
【特許文献３】特開平０８−２５６１５７号公報
【特許文献４】特開平０９−０８３５３９号公報
【特許文献５】特開平０９−１８６６９５号公報
【特許文献６】特開平０９−３０７５６１号公報
【特許文献７】特開平１１−１７７５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のトランザクション処理装置では、トランザクション要求の集中による高負荷状態（輻輳状態と呼ぶ）となった場合に、システムダウン等のリスクを回避するために、要求されたトランザクションの一部を廃棄することが行われている。しかしながら、未だ処理を開始していない新規なトランザクション（新規トランザクションと呼ぶ）と既に処理を開始しているトランザクション（処理中トランザクションと呼ぶ）を識別することは困難である。このため、トランザクション要求の集中によってトランザクション処理装置が輻輳状態となった場合に、処理中トランザクションの廃棄が発生する場合がある。処理中トランザクションの廃棄は、トランザクションデータベースの不一致を招くため、トランザクション処理装置への影響が大きい。
【０００６】
また、トランザクション処理装置内での輻輳発生箇所は一か所ではなく複数の処理部（例えば、トランザクションメッセージの受信処理を行うセクションと、トランザクション要求に応じた処理を実行するセクション）に分散して存在する。したがって、ある処理部が輻輳状態となったことが原因で他の処理部でも輻輳状態が発生することが想定され、結果的にシステムダウン等の重大な障害を招くおそれがある。
【０００７】
つまり、従来のトランザクション処理装置は、処理中のトランザクションを継続しつつ新規なトランザクションを廃棄することで輻輳状態の回避を行うことが困難であるという問題がある。本発明は、処理中トランザクションの継続可能性を維持しながら新規トランザクションの受け付けを抑制することで輻輳状態の回避を効果的に行うことが可能なトランザクション処理装置、トランザクション処理装置における輻輳制御方法、およびプログラムの提供を目的とする。
【０００８】
なお、特許文献１〜７は、転送待ちキュー長が閾値を超えた場合にセル廃棄による流量規制を行うこと、優先度の低いセル及びパケットが廃棄される割合を大きくすることを開示するのみである。よって、これらの文献に開示された技術のみによって、トランザクション処理装置に関する上記の問題点を解決することは困難である。
【課題を解決するための手段】
【０００９】
本発明の第１の態様にかかるトランザクション処理装置は、第１並びに第２のキュー、スタック処理手段、トランザクション処理手段、要求フィルタ手段、及び入力フィルタ手段を有する。前記第１のキューは、トランザクション要求装置からの複数の受信メッセージを含むメッセージ群が登録される。第２のキューは、前記複数の受信メッセージの各々から取り出されたトランザクション要求メッセージが登録される。前記スタック処理手段は、前記第１のキューに登録された前記メッセージ群の内容を解析し、前記トランザクション要求メッセージを前記第２のキューに登録する。前記トランザクション処理手段は、前記第２のキューから取り出した前記トランザクション要求メッセージに対応するトランザクションを行う。前記要求フィルタ手段は、前記第２のキューに登録されているトランザクション要求メッセージ数が増大した場合に、前記スタック処理手段から前記第２のキューへのトランザクション要求メッセージの新規登録を制限する。また、前記入力フィルタ手段は、前記要求フィルタ手段による前記第２のキューへの登録制限が行われる場合に、前記第１のキューへの前記受信メッセージの新規登録を制限する。
【００１０】
本発明の第２の態様は、トランザクション処理装置における輻輳制御方法である。ここで、トランザクション処理装置は、トランザクション要求装置からの複数の受信メッセージを含むメッセージ群が登録される第１のキューと、前記複数の受信メッセージの各々から取り出されたトランザクション要求メッセージが登録される第２のキューとを有する。本態様にかかる方法は、以下のステップ（ａ）及び（ｂ）を含む。
（ａ）前記第２のキューに登録されている処理待ちのトランザクション要求メッセージ数が増大した場合に、前記第２のキューへのトランザクション要求メッセージの新規登録を制限すること、及び
（ｂ）前記第２のキューへのトランザクション要求メッセージの新規登録が制限される場合に、前記第１のキューへの前記受信メッセージの新規登録を併せて制限すること。
【００１１】
本発明の第３の態様は、トランザクション処理装置における輻輳制御処理をコンピュータに実行させるためのプログラムである。ここで、トランザクション処理装置は、トランザクション要求装置からの複数の受信メッセージを含むメッセージ群が登録される第１のキューと、前記複数の受信メッセージの各々から取り出されたトランザクション要求メッセージが登録される第２のキューとを有する。本態様にかかるプログラムによってもたらされる輻輳制御処理は、以下の処理（ａ）及び（ｂ）を含む。
（ａ）前記第２のキューに登録されている処理待ちのトランザクション要求メッセージ数が増大した場合に、前記第２のキューへのトランザクション要求メッセージの新規登録を制限すること、及び
（ｂ）前記第２のキューへのトランザクション要求メッセージの新規登録が制限される場合に、前記第１のキューへの前記受信メッセージの新規登録を併せて制限すること。
【発明の効果】
【００１２】
本発明により、処理中トランザクションの継続可能性を維持しながら新規トランザクションの受け付けを抑制することで輻輳状態の回避を効果的に行うことが可能なトランザクション処理装置、トランザクション処理装置における輻輳制御方法、およびプログラムを提供できる。
【図面の簡単な説明】
【００１３】
【図１】発明の実施の形態１にかかるトランザクション処理装置のネットワーク接続形態の一例を示す図である。
【図２】発明の実施の形態１にかかるトランザクション処理装置の構成例を示すブロック図である。
【図３】図２に示したトランザクション処理装置の詳細構成を示す図である。
【図４】図３に示した各フィルタの動作条件及び動作内容を示すテーブルである。
【図５】図２に示した新規ＲＥＱフィルタ１０５の制御手順を示すフローチャートである。
【図６】図２に示したメッセージブロック部１０６の制御手順を示すフローチャートである。
【図７】図２に示したセレクトスイッチ１０７の制御手順を示すフローチャートである。
【図８】発明の実施の形態２にかかるトランザクション処理装置の構成例を示すブロック図である。
【図９】図８に示した各フィルタの動作条件及び動作内容を示すテーブルである。
【図１０】図８に示したキューリミッタ２０１の制御手順を示すフローチャートである。
【図１１】図８に示したメッセージブロック部２０６の制御手順を示すフローチャートである。
【図１２】発明の実施の形態３にかかるトランザクション処理装置の構成例を示すブロック図である。
【図１３】図１２に示した各フィルタの動作条件及び動作内容を示すテーブルである。
【図１４】図１２に示したレートリミッタ３０１の制御手順を示すフローチャートである。
【図１５】図１２に示したＡＰＬ要因輻輳フィルタ３０２の制御手順を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００１５】
＜発明の実施の形態１＞
図１は、本実施の形態にかかるトランザクション処理装置１のネットワーク接続形態の一例を示す図である。トランザクション処理装置１は、トランザクション要求装置８０から送信されるトランザクション要求メッセージを通信ネットワーク８１を介して受信する。トランザクション処理装置１は、受信した要求メッセージに従ってトランザクション処理を実行し、その処理結果を示す応答メッセージを要求装置８０へ送信する。トランザクション処理装置１は、要求装置８０から順次送信される複数のトランザクション要求メッセージを到着順序、優先度レベル、他のトランザクション要求との関連性等の基準に従ってキューイングし、複数のトランザクション要求を順次処理する。
【００１６】
トランザクション処理装置１と要求装置８０の間を接続するネットワーク８１は、例えば、インターネット等の広域網、有線ＬＡＮ（Local Area Network）、若しくは無線ＬＡＮ、又はこれらの組み合わせである。また、トランザクション処理装置１と要求装置８との間は、ポイント・トゥ・ポイントの通信リンクによって接続されてもよい。また、図１では１台の要求装置８０のみを示しているが、トランザクション処理装置１は、複数の要求装置８０からのトランザクション要求を処理してもよい。
【００１７】
続いて、トランザクション処理装置１が有する構成要素とのその動作について説明する。図２は、処理装置１の概略構成を示すブロック図である。図２において、スタック部１０は、処理装置１が滞りなくトランザクション処理を行なうことができるように、要求装置８０と処理装置１の間の接続制御情報、およびトランザクション情報（要求メッセージ、応答メッセージ、その他のコマンド等）を送受信する。具体的に述べると、スタック部１０は、送信メッセージ及び受信メッセージを取得し、これらを識別して振り分け処理を行う。例えば、要求装置８０からのトランザクション要求メッセージを識別した場合、これを後述するトランザクション処理部１１に供給する。また、スタック部１０は、トランザクション処理部によって生成された応答メッセージやその他のイベントに関するメッセージを受信した場合、これを要求装置８０に送信するべく振り分け処理を行う。
【００１８】
さらに、スタック部１０は、複数のトランザクション要求が集中した場合に、新規なトランザクション要求メッセージの受け付けを制限することを含む輻輳制御を行う。スタック部１０における輻輳制御の詳細については後述する。
【００１９】
トランザクション処理部１１は、要求装置８０からの受信情報の解析と、スタック部１０を介して要求装置８０に送信される送信情報の生成を行う。具体的に述べると、トランザクション処理部１１は、要求装置８０から受信される複数のトランザクション要求メッセージをスタック部１０を介して順次取得し、当該要求メッセージで依頼されたトランザクション処理に対応付けられたアプリケーション部１２にトランザクション処理の実行を依頼する。また、トランザクション処理部１１は、アプリケーション部１２によるトランザクションの実行結果を示す応答メッセージを生成し、これをスタック部１０に送る。
【００２０】
アプリケーション部１２は、トランザクション処理の実行主体である。アプリケーション部１２は、アプリケーションレイヤでトランザクションを処理するためのアプリケーションプログラム群を有しており、要求装置８０の要求に応じたトランザクション処理をトランザクション処理部１１と連携して行なう。
【００２１】
続いて以下では、スタック部１０及びトランザクション処理部１１の詳細構成ついて説明する。図３は、スタック部１０及びトランザクション処理部１１の構成例を示すブロック図である。受信処理部１００は、要求装置８０からのトランザクション要求メッセージを受信する。また、受信処理部１００は、要求装置８０に送信すべき送信メッセージ（トランザクション応答メッセージ等）をトランザクション処理部１１から経路Ｐ１を経由して受信する。受信処理部１００は、受け取ったメッセージ群（トランザクション要求メッセージ及び送信メッセージを含む）を処理待ちキュー１０１に登録する。処理待ちキュー１０１は、後述する主処理部１０２による振り分け前のメッセージが順次登録されるキューである。
【００２２】
主処理部１０２は、処理待ちキュー１０１に登録されたメッセージの種別を解析し、メッセージ種別に応じて振り分けを行う。具体的に述べると、主処理部１０２は、処理待ちキュー１０１に登録されたメッセージが要求装置８０からのトランザクション要求メッセージである場合、これをＡＰＬ送信キュー１０３に登録する。一方、処理待ちキュー１０１に登録されたメッセージがトランザクション処理部１１によって生成された送信メッセージである場合、これを要求装置８０へ送信するよう振り分ける。
【００２３】
ＡＰＬ送信キュー１０３は、トランザクション処理部１１による処理待ちのトランザクション要求メッセージが順次登録されるキューである。ＡＰＬ送信部１０４は、ＡＰＬ送信キュー１０３に登録されたトランザクション要求メッセージをトランザクション処理部１１に送信する。
【００２４】
図３に示すトランザクション処理部１１は、受信処理部１１０、トランザクションデータベース１１１、および主処理部１１２を有する。受信処理部１１０は、ＡＰＬ送信キュー１０３に登録されているトランザクション要求メッセージをＡＰＬ送信部１０４を介して取得し、これをトランザクションデータベース１１１に登録する。
【００２５】
トランザクションデータベース１１１は、受信処理部１１０によって受信されたトランザクションの処理状況を管理するデータベースであり、トランザクションに関する情報を格納する。
【００２６】
主処理部１１２は、トランザクションデータベース１１１からトランザクション情報を取得し、アプリケーション部１２にトランザクションに関する実質的な処理の実行を依頼する。主処理部１１２は、アプリケーション部１２の実行状況を監視し、トランザクションの実行状況をトランザクションデータベース１１１に記録する。また、主処理部１１２は、トランザクション処理結果を示すトランザクション応答メッセージを生成する。生成されたトランザクション応答メッセージは、要求装置８０への送信のためにスタック部１０に送られる。
【００２７】
次に、図３に示したフィルタ群、すなわち新規ＲＥＱフィルタ１０５、メッセージブロック部１０６およびセレクトスイッチ１０７について説明する。これらのフィルタは、トランザクション要求の集中による輻輳が発生した場合に、トランザクション要求の処理量を制限することで輻輳状態を安全に回避するために設けられている。
【００２８】
新規ＲＥＱフィルタ１０５は、ＡＰＬ送信キュー１０３のキュー長（すなわちトランザクション処理部１１による処理待ちのトランザクション要求メッセージ数）の増大に応じて、新たな要求メッセージのＡＰＬ送信キュー１０３への登録を規制する。新規ＲＥＱフィルタ１０５のフィルタ動作開始条件、動作内容、フィルタ動作停止条件の具体例を図４のテーブルに示す。例えば、新規ＲＥＱフィルタ１０５は、ＡＰＬ送信キュー１０３のキュー長が予め定められた上限閾値を超えた場合にフィルタ動作を開始する。このときのフィルタ動作内容の一例は、主処理部１０２からＡＰＬ送信キュー１０３に新たに登録される新規トランザクション要求メッセージを全て廃棄することである。新規ＲＥＱフィルタ１０５は、ＡＰＬ送信キュー１０３のキュー長が予め定められた下限閾値を下回った場合にフィルタ動作を停止すればよい。
【００２９】
上述のように、新規トランザクション要求メッセージのＡＰＬ送信キュー１０３への登録を制限することによって、トランザクション処置装置１は、ＡＰＬ送信キュー１０３に既にキューイングされている処理中のトランザクション要求を優先的にトランザクション処理部１１に供給し、これらを滞りなく処理することができる。
【００３０】
新規トランザクション要求メッセージのＡＰＬ送信キュー１０３への登録を制限することでＡＰＬ送信キュー１０３以降の処理部における処理中トランザクションの廃棄を抑制できる。しかしながら、ＡＰＬ送信キュー１０３への新規登録を制限することで主処理部１０２の処理が遅延し、連鎖的に処理待ちキュー１０１のキュー長が増大するおそれがある。処理待ちキュー１０１のキュー長増大によって処理待ちキュー１０１からメッセージ廃棄が発生すると、既に受信済みのトランザクション要求メッセージが廃棄されてしまうそれがある。このような、連鎖的な輻輳状態の発生を回避するため、本実施の形態では、メッセージブロック部１０６およびセレクトスイッチ１０７を配置している。
【００３１】
メッセージブロック部１０６は、ＡＰＬ送信キュー１０３のキュー長の増大に応じて、トランザクション処理部１１によって生成された送信メッセージのスタック部１０への供給を規制する。メッセージブロック部１０６のフィルタ動作開始条件、動作内容、フィルタ動作停止条件の具体例を図４のテーブルに示す。例えば、メッセージブロック部１０６は、ＡＰＬ送信キュー１０３のキュー長が予め定められた上限閾値を超えた場合にフィルタ動作を開始する。このときのフィルタ動作内容の一例は、トランザクション処理部１１によって生成されたトランザクション応答メッセージ（ＲＥＰ）等の送信メッセージを受信処理部１００に供給せずに廃棄することである。メッセージブロック部１０６は、ＡＰＬ送信キュー１０３のキュー長が予め定められた下限閾値を下回った場合にフィルタ動作を停止すればよい。
【００３２】
セレクトスイッチ１０７は、ＡＰＬ送信キュー１０３のキュー長の増大に応じて、受信処理部１００による新たなメッセージの受信および処理待ちキュー１０１への登録を制限する。セレクトスイッチ１０７のフィルタ動作開始条件、動作内容、フィルタ動作停止条件の具体例を図４のテーブルに示す。例えば、セレクトスイッチ１０７は、メッセージブロック部１０６のフィルタ動作と連動して動作すればよい。つまり、セレクトスイッチ１０７は、メッセージブロック部１０６による送信メッセージのブロック（廃棄）に連動して、受信処理部１００による新たなメッセージの取り込み及び処理待ちキュー１０１への登録を停止させればよい。
【００３３】
このように、本実施の形態では、トランザクション処理部１１以降のトランザクション処理レートと新規トランザクション要求の受信レートの間の速度差に起因してＡＰＬ送信キュー１０３のキュー長が増大した場合に、ＡＰＬ送信キュー１０３の入り口において新規トランザクション要求メッセージを規制するだけでなく（図３の点線矢印Ｌ１）、さらに上流の処理待ちキュー１０１に対する新規メッセージの流入を規制する（図３の点線矢印Ｌ２及びＬ３）。これにより、ＡＰＬ送信キュー１０３より下流側（トランザクション処理部１１等）が輻輳状態となった場合に、上流側の処理待ちキュー１０１が連鎖的に輻輳状態となることを抑制できる。つまり、本実施の形態のトランザクション処理装置１は、処理中トランザクションの継続可能性を維持しながら新規トランザクションの受け付けを抑制することができる。
【００３４】
また、本実施の形態では、トランザクション処理部１１より下流側で輻輳状態が発生した場合に、要求装置８０からの受信メッセージ（トランザクション要求メッセージ等）の処理待ちキュー１０１への流入制限を行うだけでなく、要求装置８０に対する送信メッセージ（トランザクション応答メッセージ等）の処理待ちキュー１０１への流入制限も併せておこなう。ＡＰＬ送信キュー１０３への流入規制を行った状態でトランザクション処理を実行した場合、トランザクション応答メッセージ等の送信メッセージの生成が継続されるために処理待ちキュー１０１において連鎖的な輻輳が発生するおそれがある。しかしながら、本実施の形態によれば、送信メッセージの処理待ちキュー１０１への流入が制限されるため、処理待ちキュー１０１において連鎖的な輻輳が発生することを抑制できる。
【００３５】
以下では、図５〜７を参照して、新規ＲＥＱフィルタ１０５、メッセージブロック部１０６、及びセレクトスイッチ１０８の制御手順の具体例について説明する。図５は、新規ＲＥＱフィルタ１０５の制御手順の一例を示すフローチャートである。図５のステップＳ１１は、フィルタ動作の開始を判定するステップである。つまり、Ｓ１１では、ＡＰＬ送信キュー１０３のキュー長が上限閾値を超えているか否かを判定する。キュー長が上限閾値を超えている場合（Ｓ１１でＹＥＳ）、新規ＲＥＱフィルタ１０５のフィルタ動作を開始することにより新規トランザクション要求メッセージ（ＲＥＱ）を廃棄してＡＰＬ送信キュー１０３の飽和を抑制する。
【００３６】
ＡＰＬ送信キュー１０３のキュー長が上限閾値を下回っている場合（Ｓ１１でＮＯ）、ステップＳ１３及び１５では、フィルタ動作の停止判定を行う。つまり、Ｓ１３では、フィルタ動作中であるか否かを判定し、フィルタ動作中でなければ新規ＲＥＱの受信（つまりＡＰＬ送信キュー１０３への登録）を継続する（Ｓ１４）。フィルタ動作中である場合（Ｓ１３でＹＥＳ）、ＡＰＬ送信キュー１０３のキュー長が下限閾値を下回っているか否かを判定する（Ｓ１５）。キュー長が下限閾値を下回っていなければ（Ｓ１５でＮＯ）、新規ＲＥＱフィルタ１０５のフィルタ動作、つまり新規ＲＥＱの廃棄動作を継続する（Ｓ１６）。一方、ＡＰＬ送信キュー１０３のキュー長が下限閾値を下回った場合（Ｓ１５でＹＥＳ）、新規ＲＥＱフィルタ１０５のフィルタ動作を停止し、新規ＲＥＱの受信（つまりＡＰＬ送信キュー１０３への登録）を再開する（Ｓ１７）。
【００３７】
図５のフローチャートによる新規ＲＥＱフィルタ１０５の制御は、トランザクション処理装置１の動作期間中に周期的に行えばよい。なお、ＡＰＬ送信キュー１０３のキュー長に対して設定する上限閾値と下限閾値に差を設けることによって、フィルタ動作開始と停止が頻繁に発生することを防止できる。しかしながら、上限閾値と下限閾値は同一値であってもよい。
【００３８】
図６は、メッセージブロック部１０６の制御手順の一例を示すフローチャートである。図６のステップＳ２１は、フィルタ動作の開始を判定するステップである。つまり、Ｓ２１では、ＡＰＬ送信キュー１０３のキュー長が上限閾値を超えているか否かを判定する。キュー長が上限閾値を超えている場合（Ｓ２１でＹＥＳ）、メッセージブロック部１０６のフィルタ動作を開始することで新規な送信メッセージのスタック部１０への供給をブロックする。
【００３９】
ＡＰＬ送信キュー１０３のキュー長が上限閾値を下回っている場合（Ｓ２１でＮＯ）、ステップＳ２３及び２５では、フィルタ動作の停止判定を行う。具体的に述べると、Ｓ２３では、メッセージブロック部１０６がフィルタ動作中であるか否かを判定し、フィルタ動作中でなければスタック部１０への送信メッセージの供給を継続する（Ｓ２４）。一方、フィルタ動作中である場合（Ｓ２３でＹＥＳ）、ＡＰＬ送信キュー１０３のキュー長が下限閾値を下回っているか否かを判定する（Ｓ２５）。キュー長が下限閾値を下回っていなければ（Ｓ２５でＮＯ）、メッセージブロック部１０６のフィルタ動作、つまり送信メッセージのブロック動作を継続する（Ｓ２６）。一方、キュー長が下限閾値を下回った場合（Ｓ２５でＹＥＳ）、メッセージブロック部１０６のフィルタ動作を停止し、スタック部１０への送信メッセージの供給を再開する（Ｓ２７）。
【００４０】
図６のフローチャートによるメッセージブロック部１０６の制御は、トランザクション処理装置１の動作期間中に周期的に行えばよい。また、ＡＰＬ送信キュー１０３のキュー長に対して設定する上限閾値と下限閾値は同一値であってもよい。
【００４１】
図７は、セレクトスイッチ１０７の制御手順の一例を示すフローチャートである。図７のステップＳ３１では、メッセージブロック部１０６がメッセージブロック動作中であるか否かを判定する。メッセージブロック動作中でなければ（Ｓ３１でＮＯ）、セレクトスイッチ１０７はフィルタ動作を停止する。すなわち、要求装置８０からの受信メッセージおよびトランザクション処理部１１からの送信メッセージは共に受信処理部１００によって取り込まれ、処理待ちキュー１０１に格納される。一方、メッセージブロック動作中である場合（Ｓ３１でＹＥＳ）、セレクトスイッチ１０７はフィルタ動作を行う。すなわち、受信処理部１００による新たなメッセージの取り込み及び処理待ちキュー１０１への登録は停止される。
【００４２】
ところで、図５〜７を用いて説明した各フィルタの動作制御は、ＭＰＵ（Micro Processing Unit）若しくはＣＰＵ（Central Processing Unit）又はこれらの組み合わせを含むコンピュータ・システムを用いて行ってもよい。具体的には、図５〜７を用いて説明した各フィルタの動作制御手順が記述されたプログラムをコンピュータ・システムに実行させればよい。なお、これらのプログラムは、様々な種類の記憶媒体に格納することが可能であり、また、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＲＯＭカートリッジ、バッテリバックアップ付きＲＡＭメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれ、インターネットも含まれる。
【００４３】
なお、ここで、上述した本発明の第１の態様のトランザクション処理装置が有する各要素と本実施の形態にかかる処理装置１が有する各要素との対応関係ついて示す。第１のキューは、当実施の形態で説明した処理待ちキュー１０１に対応する。第２のキューは、当実施の形態で説明したＡＰＬ送信キュー１０３に対応する。スタック処理手段は、当実施の形態で説明した主処理部１０２に対応する。トランザクション処理手段は、当実施の形態で説明したトランザクション処理部１１及びアプリケーション部１２に対応する。要求フィルタ手段は、当実施の形態で説明した新規ＲＥＱフィルタ１０５に対応する。また、入力フィルタ手段は、当実施の形態で説明したセレクトスイッチ１０７に相当する。
【００４４】
＜発明の実施の形態２＞
本実施の形態では、上述したトランザクション処理装置１の改良について説明する。図８は、本実施の形態にかかるトランザクション処理装置２の構成例を示すブロック図である。図８に示すスタック部２０は、図３に示したスタック部１０が有する全ての構成要素を有し、さらに受信処理部１００と処理待ちキュー１０１の間に配置されたキューリミッタ２０１を有する。
【００４５】
キューリミッタ２０１は、処理待ちキュー１０１に登録されている処理待ちのメッセージ数が増大した場合に、受信処理部１００による処理待ちキュー１０１への新規メッセージの登録を規制する（図８の点線矢印Ｌ４）。キューリミッタ２０１のフィルタ動作開始条件、動作内容、フィルタ動作停止条件の具体例を図９のテーブルに示す。例えば、キューリミッタ２０１は、処理待ちキュー１０１のキュー長が予め定められた上限閾値を超えた場合にフィルタ動作を開始する。また、キューリミッタ２０１は、処理待ちキュー１０１のキュー長が予め定められた下限閾値を下回った場合にフィルタ動作を停止すればよい。
【００４６】
キューリミッタ２０１のフィルタ動作内容の一例は、受信処理部１００から処理待ちキュー１０１に新たに登録されるメッセージを全て廃棄することである。なお、キューリミッタ２０１は、主処理部１０２によるメッセージ内容の解析処理の前段階で規制を行う。このため、メッセージ種別及びその内容（トランザクション要求メッセージであるか、応答メッセージであるか、さらにこれらの詳細な内容）に関わらず処理待ちキュー１０１の手前で各メッセージは廃棄される。
【００４７】
また、図８に示すメッセージブロック部２０６は、ＡＰＬ送信キュー１０３のキュー長増大に応じてフィルタ動作（メッセージブロック動作）を開始するとともに、処理待ちキュー１０１のキュー長増大に応じてもフィルタ動作を開始するよう構成されている（図８の点線矢印Ｌ５）。メッセージブロック部２０６のフィルタ動作開始条件、動作内容、フィルタ動作停止条件の具体例を図９のテーブルに示す。メッセージブロック部２０６は、ＡＰＬ送信キュー１０３および処理待ちキュー１０１の"少なくとも一方"のキュー長が予め定められた上限閾値を超えた場合にフィルタ動作を開始するとよい。また、メッセージブロック部２０６は、ＡＰＬ送信キュー１０３および処理待ちキュー１０１のキュー長が"共に"予め定められた下限閾値を下回った場合にフィルタ動作を停止すればよい。
【００４８】
続いて以下では、図１０及び１１を参照して、キューリミッタ２０１及びメッセージブロック部２０６の制御手順の具体例について説明する。図１０は、キューリミッタ２０１の制御手順の一例を示すフローチャートである。図１０のステップＳ４１は、フィルタ動作の開始を判定するステップである。つまり、Ｓ４１では、処理待ちキュー１０１のキュー長が上限閾値を超えているか否かを判定する。キュー長が上限閾値を超えている場合（Ｓ４１でＹＥＳ）、キューリミッタ２０１のフィルタ動作を開始することにより新規メッセージを廃棄して処理待ちキュー１０１の飽和を抑制する。
【００４９】
処理待ちキュー１０１のキュー長が上限閾値を下回っている場合（Ｓ４１でＮＯ）、ステップＳ４３及び４５では、フィルタ動作の停止判定を行う。つまり、Ｓ４３では、フィルタ動作中であるか否かを判定し、フィルタ動作中でなければ新規メッセージの受信（つまり処理待ちキュー１０１への登録）を継続する（Ｓ４４）。フィルタ動作中である場合（Ｓ４３でＹＥＳ）、処理待ちキュー１０１のキュー長が下限閾値を下回っているか否かを判定する（Ｓ４５）。キュー長が下限閾値を下回っていなければ（Ｓ４５でＮＯ）、キューリミッタ２０１のフィルタ動作、つまり新規メッセージの廃棄動作を継続する（Ｓ４６）。一方、処理待ちキュー１０１のキュー長が下限閾値を下回った場合（Ｓ４５でＹＥＳ）、キューリミッタ２０１のフィルタ動作を停止し、新規メッセージの受信（つまり処理待ちキュー１０１への登録）を再開する（Ｓ４７）。
【００５０】
図１０のフローチャートによるキューリミッタ２０１の制御は、トランザクション処理装置２の動作期間中に周期的に行えばよい。また、処理待ちキュー１０１のキュー長に対して設定する上限閾値と下限閾値は同一値であってもよい。
【００５１】
図１１は、メッセージブロック部２０６の制御手順の一例を示すフローチャートである。なお、図１１に示すステップのうち図６に示したメッセージブロック部１０６に関するステップと共通するものには、図６と同一の符号を付している。図１１のフローチャートには、処理待ちキュー１０１のキュー長を考慮したメッセージブロック部２０６のフィルタ動作条件および停止条件として、ステップＳ５１〜Ｓ５４が追加されている。
【００５２】
ステップＳ５１では、処理待ちキュー１０１のキュー長が上限閾値を超えているか否かを判定する。キュー長が上限閾値を超えている場合（Ｓ５１でＹＥＳ）、メッセージブロック部２０６のフィルタ動作を開始することで新規な送信メッセージのスタック部２０への供給をブロックする。
【００５３】
ステップＳ５３は、処理待ちキュー１０１のキュー長が上限閾値を下回っている場合（Ｓ５１でＮＯ）におけるフィルタ動作の停止判定の１つである。具体的に述べると、ステップＳ５３では、処理待ちキュー１０１のキュー長が下限閾値を下回っているか否かを判定する（Ｓ２５）。キュー長が下限閾値を下回っていなければ（Ｓ５３でＮＯ）、メッセージブロック部２０６のフィルタ動作、つまり送信メッセージのブロック動作を継続する（Ｓ５４）。一方、処理待ちキュー１０１及びＡＰＬ送信キュー１０３のキュー長が下限閾値を下回った場合（Ｓ５３でＹＥＳ）、メッセージブロック部２０６のフィルタ動作を停止し、スタック部２０への送信メッセージの供給を再開する（Ｓ２７）。
【００５４】
図１１のフローチャートによるメッセージブロック部２０６の制御は、トランザクション処理装置２の動作期間中に周期的に行えばよい。また、処理待ちキュー１０１のキュー長に対して設定する上限閾値と下限閾値は同一値であってもよい。
【００５５】
なお、図１０及び１１を用いて説明したキューリミッタ２０１及びメッセージブロック部２０６の動作制御は、コンピュータ・システムを用いて行ってもよい。具体的には、図１０及び１１を用いて説明した各フィルタの動作制御手順が記述されたプログラムをコンピュータ・システムに実行させればよい。
【００５６】
上述したように本実施の形態のトランザクション処理装置２は、キューリミッタ２０１を配置することによって、処理待ちキュー１０１のキュー長が増大した場合に、新たなメッセージの流入を規制できる。また、本実施の形態では、メッセージブロック部２０６のフィルタ動作を処理待ちキュー１０１のキュー長が増大した場合にも行う。つまり、処理待ちキュー１０１の輻輳時には、要求装置８０からの受信メッセージだけでなく、要求装置８０に対する送信メッセージが処理待ちキュー１０１に過度に流入することを規制できる。よって、処理待ちキュー１０１に既に登録されているメッセージ（トランザクション要求メッセージを含む）が廃棄されることを抑制でき、処理中のトランザクションの継続可能性をさらに向上できる。
【００５７】
＜発明の実施の形態３＞
本実施の形態では、上述したトランザクション処理装置２の改良について説明する。図１２は、本実施の形態にかかるトランザクション処理装置３の構成例を示すブロック図である。図１２に示すスタック部３０は、図８に示したスタック部２０が有する全ての構成要素を有し、さらに主処理部１０２とＡＰＬ送信キュー１０３の間に配置されたレートリミッタ３０１及びＡＰＬ要因輻輳フィルタ３０２を有する。
【００５８】
レートリミッタ３０１は、主処理部１０２からＡＰＬ送信キュー１０３へのトランザクション要求メッセージの供給レートが予め定められた閾値レートを超えないように規制する。レートリミッタ３０１によるレート規制は、トラフィックシェーピングを行うための公知のアルゴリズムを使用して行えばよい。例えば、レートリミッタ３０１は、トークバケット（token bucket）アルゴリズムを用いてトランザクション要求メッセージの供給レートを調整すればよい。
【００５９】
レートリミッタ３０１のフィルタ動作開始条件、動作内容、フィルタ動作停止条件の具体例を図１３のテーブルに示す。例えば、レートリミッタ３０１は、主処理部１０２からの新規トランザクション要求メッセージ（ＲＥＱ）の受信レートがシステムリソースに応じて予め設定された閾値を越えた場合に、新規ＲＥＱの廃棄を行うことによってＡＰＬ送信キュー１０３への新規ＲＥＱの供給レートを調整すればよい。
【００６０】
ＡＰＬ要因輻輳フィルタ３０２は、アプリケーション部１２によるトランザクション処理に滞りが生じたことに応じて、主処理部１０２からＡＰＬ送信キュー１０３へのトランザクション要求メッセージの新規登録を制限する。
【００６１】
図１２の構成例では、アプリケーション部１２での輻輳発生をスタック部３０のフィルタ３０２に伝達するために、スタック部３０及びトランザクション処理部３１が共にアクセス可能な共有メモリ３０３を利用する。トランザクション処理部３１内の主処理部３１２は、アプリケーション部１２によるトランザクションの実行状態を監視する（図１２の点線矢印Ｌ６及びＬ７）。そして、主処理部３１２は、アプリケーション部１２の輻輳状態を検知した場合に、共有メモリ３０３に輻輳発生を示す書き込みを行う。スタック部３０は、共有メモリ３０３の内容を監視し、輻輳発生を示す書き込みを検出したことに応じてＡＰＬ要因輻輳フィルタ３０２を動作させればよい。
【００６２】
ＡＰＬ要因輻輳フィルタ３０２のフィルタ動作開始条件、動作内容、フィルタ動作停止条件の具体例を図１３のテーブルに示す。上述したように、ＡＰＬ要因輻輳フィルタ３０２は、共有メモリ３０３の内容がアプリケーション部１２での輻輳発生を示す場合に、フィルタ動作を開始すればよい。アプリケーション部１２での輻輳が発生すると、トランザクション処理の完了が遅延する。このため、ＡＰＬ要因輻輳フィルタ３０２は、新規トランザクション要求メッセージ（ＲＥＱ）を廃棄することでＡＰＬ送信キュー１０３の飽和を抑制する。
【００６３】
続いて以下では、図１４及び１５を参照して、レートリミッタ３０１及びＡＰＬ要因輻輳フィルタ３０２の制御手順の具体例について説明する。図１４は、レートリミッタ３０１の制御手順の一例を示すフローチャートである。
【００６４】
図１４のステップＳ６１では、新規トランザクション要求メッセージの受信レートの閾値判定を行う。例えば、トークバケット・アルゴリズムによるレート制御を行う場合、空きトークン数を超える数の新規なトランザクション要求メッセージが到着した場合に、閾値超過と判定すればよい。新規トランザクション要求メッセージの受信レートが閾値を超えなければ、フィルタ３０２は、受信した新規トランザクション要求メッセージをキュー１０３に登録する（Ｓ６２）。一方、新規トランザクション要求メッセージの受信レートが閾値を超えた場合、レートリミッタ３０１によるレート調整が作動し、閾値レートを超えたメッセージが廃棄される（Ｓ６３）。なお、図１４のフローチャートによるレートリミッタ３０１の制御は、トランザクション処理装置３の動作期間中に継続的に行えばよい。
【００６５】
図１５は、ＡＰＬ要因輻輳フィルタ３０２の制御手順の一例を示すフローチャートである。ステップＳ７１は、フィルタ動作の開始を判定するステップである。つまり、Ｓ７１では、共有メモリ３０３にアプリケーション部１２での輻輳発生を示す書き込みが有るか否かを判定する。輻輳発生を示す書き込みがあれば（Ｓ７１でＹＥＳ）、ＡＰＬ要因輻輳フィルタ３０２のフィルタ動作を開始することにより新規ＲＥＱを廃棄してＡＰＬ送信キュー１０３の飽和を抑制する。
【００６６】
輻輳発生を示す書き込みがない場合（Ｓ７１でＮＯ）、共有メモリ３０３にアプリケーション部１２での輻輳解除を示す書き込みが有るか否かを判定する（Ｓ７３）。輻輳解除を示す書き込みがあれば（Ｓ７３でＹＥＳ）、ＡＰＬ要因輻輳フィルタ３０２のフィルタ動作を停止し、新規ＲＥＱの受信（つまりＡＰＬ送信キュー１０３への登録）を再開する（Ｓ７４）。なお、図１５のフローチャートによるＡＰＬ要因輻輳フィルタ３０２の制御は、トランザクション処理装置３の動作期間中に周期的に行えばよい。
【００６７】
なお、図１４及び１５を用いて説明したレートリミッタ３０１及びＡＰＬ要因輻輳フィルタ３０２の動作制御は、コンピュータ・システムを用いて行ってもよい。具体的には、図１４及び１５を用いて説明した各フィルタの動作制御手順が記述されたプログラムをコンピュータ・システムに実行させればよい。
【００６８】
上述したように本実施の形態のトランザクション処理装置３は、レートリミッタ３０１を配置することによって、ＡＰＬ送信キュー１０３への新規トランザクション要求メッセージの流入レートの上限がシステムリソースにより許容される範囲内となるように規制できる。
【００６９】
また、トランザクション処理装置３は、ＡＰＬ要因輻輳フィルタ３０２を配置することによって、アプリケーション部１２に供給される新規トランザクション要求メッセージの流入規制をアプリケーション部１２の輻輳状態を考慮して行うことができる。
【００７０】
さらに、本実施の形態のトランザクション処理装置３では、キューリミッタ２０１、レートリミッタ３０１、新規ＲＥＱフィルタ１０５、ＡＰＬ要因輻輳フィルタ３０２、メッセージブロック部２０６、及びセレクトスイッチ１０７のそれぞれが、処理装置３内の複数の輻輳発生箇所のいずれかで輻輳が発生したときには新規トランザクション要求を受け付けないという共通のポリシーに従って動作する。このため、処理装置３は、輻輳の影響が処理中のトランザクションに及ぶことを防止できる。
【００７１】
具体的に要求装置８０からの新規トランザクション要求の処理ルートに従って見てみると、まず、キューリミッタ２０１でスタック部３０に新たに入力される全てのトランザクションに関するメッセージの廃棄に関する第１の判断を行う。次に、レートリミッタ３０１において、要求装置８０からの新規トランザクション要求のみに対して処理装置３の処理能力に基づいて廃棄に関する第２の判断を行う。次に、新規ＲＥＱフィルタ１０５において、アプリケーション向けのトランザクション送信に割り当てられたＡＰＬ送信キュー１０３のキュー長に応じて、新規トランザクション要求の廃棄に関する第３の判断を行う。さらに、ＡＰＬ要因輻輳フィルタ３０２において、アプリケーション部１２の輻輳も考慮して、新規トランザクション要求の廃棄に関する第４の判断を行う。これら第１〜第４の判断に応じたフィルタ処理の実行によって、処理装置３内の複数の箇所で発生し得る輻輳状態に対して新規トランザクションの廃棄により対応可能となり、処理中トランザクションの継続可能性を向上できる。
【００７２】
さらに、処理装置３は、メッセージブロック部２０６及びセレクトスイッチ１０８において、要求装置８０からの受信メッセージ、及びトランザクション処理部３１からスタック部３０に依頼される送信メッセージ（トランザクション応答メッセージ等）を含む全ての新規メッセージ処理を行うか否かに関する第５の判断を行う。これにより、トランザクション処理部３１より下流側での輻輳に対処したことに伴って、スタック部３０において連鎖的な輻輳が起こることを抑制できる。
【００７３】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【符号の説明】
【００７４】
１〜３  トランザクション処理装置
１０、２０、３０  スタック部
１１、３１  トランザクション処理部
１２  アプリケーション部
８０  トランザクション要求装置
８１  ネットワーク
１００  受信処理部
１０１  処理待ちキュー
１０２  主処理部
１０３  ＡＰＬ送信キュー
１０４  ＡＰＬ送信部
１０５  新規ＲＥＱ廃棄フィルタ
１０６、２０６  メッセージブロック部
１０７  セレクトスイッチ
１１０  受信処理部
１１１  トランザクションデータベース
１１２、３１２  主処理部
２０１  キューリミッタ
３０１  レートリミッタ
３０２  ＡＰＬ要因輻輳フィルタ
３０３  共有メモリ
【図１】
2010206595.tif 000003
【図２】
2010206595.tif 000004
【図３】
2010206595.tif 000005
【図４】
2010206595.tif 000006
【図５】
2010206595.tif 000007
【図６】
2010206595.tif 000008
【図７】
2010206595.tif 000009
【図８】
2010206595.tif 000010
【図９】
2010206595.tif 000011
【図１０】
2010206595.tif 000012
【図１１】
2010206595.tif 000013
【図１２】
2010206595.tif 000014
【図１３】
2010206595.tif 000015
【図１４】
2010206595.tif 000016
【図１５】
2010206595.tif 000017