(57)【要約】【課題】各トランザクション要求のデッドライン時刻を最適化すること。【解決手段】トランザクション管理装置３は、トランザクション処理装置２に処理されたトランザクション要求の処理結果を受信し、受信した処理結果を履歴情報として管理する管理部４と、履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、信頼度に基づいて期待処理時間を決定し、決定された期待処理時間を用いてトランザクション処理装置２に割り当てるトランザクション要求にデッドライン時刻を設定する制御部５と、を備える。【選択図】図１
2020052621.tif 000002
【特許請求の範囲】
【請求項１】
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理する管理部と、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する制御部と、を備えるトランザクション管理装置。
【請求項２】
前記制御部は、前記信頼度が基準値以下である場合、最後に決定された期待処理時間を用いて前記デッドライン時刻を設定する、請求項１に記載のトランザクション管理装置。
【請求項３】
前記制御部は、前記信頼度が基準値よりも大きい場合、期待処理時間の初期値を用いて前記デッドライン時刻を設定する、請求項１又は２に記載のトランザクション管理装置。
【請求項４】
前記制御部は、前記履歴情報に含まれる処理結果のうち受信順が新しい方から第１の数の処理結果が、前記期待処理時間が最後に変更された後のトランザクション要求の処理結果であって、デッドライン時刻までに処理完了していることを示す処理結果である場合、前記第１の数の処理結果に基づいて、前記信頼度を算出する、請求項１〜３のいずれか１項に記載のトランザクション管理装置。
【請求項５】
前記処理結果は、前記処理されたトランザクション要求がデッドライン時刻までに処理完了した場合、前記処理されたトランザクション要求の処理開始時刻と処理完了時刻とを含み、
前記管理部は、前記処理開始時刻と前記処理完了時刻とに基づき前記第１の数のトランザクション要求の処理時間を算出し、
前記制御部は、前記第１の数のトランザクション要求の処理時間に基づいて、前記信頼度を算出する、請求項４に記載のトランザクション管理装置。
【請求項６】
前記制御部は、前記第１の数のトランザクション要求の処理時間のばらつき度合いを前記信頼度として算出する、請求項５に記載のトランザクション管理装置。
【請求項７】
前記ばらつき度合いは、変動係数、分散及び標準偏差の少なくとも１つを含む、請求項６に記載のトランザクション管理装置。
【請求項８】
前記処理結果は、前記処理されたトランザクション要求がデッドライン時刻までに処理完了しなかった場合、前記処理されたトランザクション要求がデッドライン時刻までに処理完了しなかったことを示す情報を含み、
前記制御部は、前記履歴情報に含まれる処理結果のうち受信順が新しい方から第２の数の処理結果に前記情報が含まれる場合、期待処理時間の最大値を超えない範囲で前記期待処理時間を段階的に増加させる、請求項１〜７のいずれか１項に記載のトランザクション管理装置。
【請求項９】
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、を含むトランザクション管理方法。
【請求項１０】
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、をコンピュータに実行させるトランザクション管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、トランザクション管理装置、トランザクション管理方法及びトランザクション管理プログラムに関する。
【背景技術】
【０００２】
トランザクションを処理するトランザクション処理装置において、クライアント端末からの処理要求（以下、トランザクション要求又はトランザクションと称する）の全てを、サーバ側で即時に処理しクライアント端末に応答するのが望ましい。しかし、システムの負荷状況、処理量等の要因により、サーバ側で即時に処理することは難しい。そのため、トランザクション要求をトランザクション処理装置に割り当てるトランザクション管理装置は、トランザクション要求の重要度や、当該トランザクションに期待される処理時間を考慮した処理順序の制御が必要となる。
【０００３】
トランザクション要求の処理順序を制御する関連技術として、例えば、特許文献１が知られている。特許文献１には、全てのタスク（トランザクション）で共通のシステム時間を加算した値として制限時間を管理し、制限時間が最も小さいタスクを次の実行タスクとして決定する技術が開示されている。なお、各タスクには上記制限時間に基づくデッドライン時刻が設定され、各タスクは設定されたデッドライン時刻に基づいて処理がされる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−０７０５７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の様に、各トランザクション要求に設定されたデッドライン時刻に基づいて処理順序の制御を行う技術では、当該デッドライン時刻は、トランザクション要求の処理開始から処理完了されるまでの期待処理時間に基づき設定された時刻であり得る。そのため、実際は、トランザクション要求が正常に処理完了する場合でも、期待処理時間より長い時間がかかって処理完了する場合、トランザクション要求がデッドライン時刻までに処理完了せず、異常終了として取り扱われる可能性がある。したがって、トランザクション要求の期待処理時間が適切に調整することにより当該トランザクション要求のデッドライン時刻を最適化する必要がある。
【０００６】
本開示の目的は、上述の問題を解決するためになされたものであり、各トランザクション要求のデッドライン時刻を最適化することが可能なトランザクション管理装置、トランザクション管理方法、及びトランザクション管理プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本開示にかかるトランザクション管理装置は、
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理する管理部と、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する制御部と、を備えるトランザクション管理装置である。
【０００８】
本開示にかかるトランザクション管理方法は、
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、を含むトランザクション管理方法である。
【０００９】
本開示にかかるトランザクション管理プログラムは、
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、をコンピュータに実行させるトランザクション管理プログラムである。
【発明の効果】
【００１０】
本開示によれば、各トランザクション要求のデッドライン時刻を最適化することが可能なトランザクション管理装置、トランザクション管理方法、及びトランザクション管理プログラムを提供することが出来る。
【図面の簡単な説明】
【００１１】
【図１】実施の形態の概要にかかる情報処理システムの構成例を示す図である。
【図２】実施の形態にかかる情報処理システムの構成例を示す図である。
【図３】実施の形態にかかる履歴情報テーブルの一例を示す図である。
【図４】実施の形態にかかる制御部の構成の詳細を説明する図である。
【図５】実施の形態にかかる制御部の構成の詳細を説明する図である。
【図６】実施の形態にかかる制御部の構成の詳細を説明する図である。
【図７】実施の形態にかかる制御部の構成の詳細を説明する図である。
【図８】実施の形態にかかる制御部の構成の詳細を説明する図である。
【図９】実施の形態にかかるトランザクション管理装置の動作例を説明する図である。
【図１０】本開示の各実施の形態にかかるトランザクション管理装置を実現可能なコンピュータ（情報処理装置）のハードウェア構成を例示するブロック図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本開示の実施の形態について説明する。なお、以下の記載及び図面は、説明の明確化のため、適宜、省略及び簡略化がなされている。また、以下の各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１３】
（実施の形態の概要）
本開示の実施の形態の説明に先立って、実施の形態の概要について説明する。図１は、実施の形態の概要にかかる情報処理システムの構成例を示す図である。情報処理システム１は、トランザクション処理装置２と、トランザクション管理装置３とを備える。図１において、情報処理システム１は、１つのトランザクション処理装置２のみを備える構成としているが、複数のトランザクション処理装置２を備える構成であってもよい。
【００１４】
また、図１では、トランザクション処理装置２と、トランザクション管理装置３とが、別々の装置として記載されているが、トランザクション処理装置２及びトランザクション管理装置３が、同一の装置により構成されてもよい。この場合、トランザクション処理装置２はトランザクション処理部として機能する。そのため、トランザクション処理装置は、トランザクション処理部と称されてもよい。
【００１５】
トランザクション処理装置２は、トランザクション管理装置３により割り当てられたトランザクション要求を処理する。トランザクション処理装置２は、例えば、サーバ装置であってもよいし、パーソナルコンピュータ装置であってもよい。トランザクション処理装置２は、処理したトランザクション要求の処理結果をトランザクション管理装置３に送信する。
【００１６】
トランザクション管理装置３は、トランザクション処理装置２にトランザクション要求を割り当てる。トランザクション管理装置３は、トランザクション処理装置２に割り当てるトランザクション要求に対して処理が完了されるべき時刻を示すデッドライン時刻を設定する。トランザクション管理装置３は、例えば、サーバ装置であってもよいし、パーソナルコンピュータ装置であってもよい。
【００１７】
次に、トランザクション管理装置３の構成例について説明する。図１に示すように、トランザクション管理装置３は、管理部４と、制御部５とを備える。
【００１８】
管理部４は、トランザクション処理装置に処理されたトランザクション要求の処理結果をトランザクション処理装置２から受信し、受信した処理結果を履歴情報として管理する。
【００１９】
制御部５は、履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出する。制御部５は、算出した信頼度に基づいて期待処理時間を決定し、決定された期待処理時間を用いてトランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する。デッドライン時刻は、トランザクション要求の処理が完了されるべき時刻である。
【００２０】
また、上記所定条件は、受信順が新しい方から第１の数の処理結果が、期待処理時間が最後に変更された後のトランザクション要求の処理結果であり、デッドライン時刻までに処理完了していることを示す処理結果であることであってもよい。
【００２１】
以上説明したように、管理部４は、トランザクション処理装置２に処理されたトランザクション要求の処理結果を受信し、履歴情報として管理する。制御部５は、履歴情報に含まれる処理結果が所定条件を満たす場合、期待処理時間の信頼度を算出する。制御部５は、算出した信頼度に基づいて、期待処理時間が適切であるか否かを判断した上で期待処理時間を決定し、トランザクション処理装置２に割り当てるトランザクション要求のデッドライン時刻を設定する。したがって、実施の形態によれば、各トランザクション要求のデッドライン時刻を最適化することができる。
【００２２】
（実施の形態）
以下、図面を参照して、本開示の実施の形態の詳細について説明する。
＜情報処理システムの構成例＞
まず、図２を用いて、実施の形態にかかる情報処理システム１００の構成例について説明する。図２は、実施の形態にかかる情報処理システムの構成例を示す図である。情報処理システム１００は、クライアント端末１０と、トランザクション管理装置２０と、トランザクション処理装置３０と、を備える。
【００２３】
クライアント端末１０は、トランザクション処理装置３０に処理させるトランザクション要求をトランザクション管理装置２０に対して送信する。クライアント端末１０は、例えば、サーバ装置であってもよいし、パーソナルコンピュータ装置であってもよい。
【００２４】
トランザクション管理装置２０は、実施の形態の概要におけるトランザクション管理装置３に対応する。トランザクション管理装置２０は、クライアント端末１０からのトランザクション要求を受信する。トランザクション管理装置２０は、受信したトランザクション要求をトランザクション処理装置３０に割り当てる。
【００２５】
トランザクション管理装置２０は、トランザクション処理装置３０に割り当てるトランザクション要求に対して、処理が完了されるべき時刻を示すデッドライン時刻を設定してトランザクション処理装置３０に割り当てる。なお、以降の説明において、デッドライン時刻を単にデッドラインとして記載することがある。
【００２６】
トランザクション管理装置２０は、トランザクション処理装置３０に割り当てるトランザクション要求に設定するデッドライン時刻を、当該トランザクション要求の処理開始から処理完了までの期待処理時間を決定し、決定した期待処理時間に基づいて設定する。トランザクション管理装置２０は、トランザクション処理装置３０に割り当てるトランザクション要求に、処理開始時刻を示す起動時刻に期待処理時間を加算して算出された時刻をデッドライン時刻として設定する。
【００２７】
トランザクション管理装置２０は、トランザクション処理装置３０からトランザクション要求の処理結果をトランザクション処理装置３０から受信する。トランザクション管理装置２０は、トランザクション要求の処理結果を、トランザクション処理装置３０が処理完了した順に受信し、受信したトランザクション要求の処理結果を履歴情報テーブルＴ１に登録する。なお、履歴情報テーブルＴ１の説明は後述する。
【００２８】
トランザクション処理装置３０がトランザクション要求をデッドライン時刻までに処理完了した場合、トランザクション管理装置２０は、トランザクション要求の起動時刻（処理開始時刻）及び完了時刻（処理完了時刻）を処理結果として受信する。
【００２９】
また、トランザクション処理装置３０がトランザクション要求をデッドライン時刻までに処理完了しなかった場合、トランザクション管理装置２０は、トランザクション要求がデッドライン時刻までに処理完了しなかったことを示す情報を処理結果として受信する。
【００３０】
トランザクション処理装置３０は、実施の形態の概要におけるトランザクション処理装置２に対応する。トランザクション処理装置３０は、例えば、サーバ装置であってもよいし、パーソナルコンピュータ装置であってもよい。なお、図２では、トランザクション処理装置３０は、トランザクション管理装置２０と異なる装置として記載されているが、トランザクション管理装置２０及びトランザクション処理装置３０を１つの装置で構成してもよい。この場合、トランザクション処理装置３０はトランザクション処理部として機能する。
【００３１】
トランザクション処理装置３０は、トランザクション管理装置２０から割り当てられたトランザクション要求を処理する。トランザクション処理装置３０は、トランザクション要求を処理すると、当該トランザクション要求の処理結果をトランザクション管理装置２０に送信する。トランザクション処理装置３０が送信する処理結果は、上述した通りであるため記載を割愛する。
【００３２】
＜トランザクション管理装置の構成例＞
次に、トランザクション管理装置２０の構成例について説明する。図２に示すように、トランザクション管理装置２０は、トランザクションキュー２１１と、制御部２１２と、スケジューラ２１３と、実行キュー２１４と、管理部２１５と、情報蓄積部２１６とを備える。
【００３３】
トランザクションキュー２１１は、クライアント端末１０からトランザクション要求を受信し、受信したトランザクション要求を一時的に蓄積し、制御部２１２に出力する。トランザクションキュー２１１は、トランザクション要求を制御部２１２に出力すると、出力したトランザクション要求をキューから取り出す。
【００３４】
制御部２１２は、実施の形態の概要にかかる制御部５に対応する。制御部２１２は、トランザクション処理装置３０に割り当てるトランザクション要求に対して期待処理時間を決定する。
【００３５】
制御部２１２は、履歴情報テーブルＴ１に基づいて期待処理時間を決定する。制御部２１２は、期待処理時間を決定すると、期待処理時間を用いて、トランザクション処理装置３０に割り当てるトランザクション要求にデッドライン時刻を設定する。制御部２１２は、当該トランザクション要求の起動時刻（処理開始時刻）に、期待処理時間を加算して算出された時刻をデッドライン時刻として設定する。制御部２１２は、トランザクション処理装置３０に割り当てるトランザクション要求のデッドライン時刻を設定すると、スケジューラ２１３に設定したデッドライン時刻と共にトランザクション要求を出力する。
【００３６】
履歴情報テーブルＴ１は、トランザクション処理装置３０が現在までに処理したトランザクション要求の処理結果が履歴情報として登録されるテーブルである。履歴情報テーブルＴ１は情報蓄積部２１６に記憶されており、管理部２１５が履歴情報テーブルＴ１を管理する。そのため、制御部２１２は、管理部２１５から履歴情報テーブルＴ１の内容を取得する。
なお、履歴情報テーブルＴ１の詳細及び制御部２１２の期待処理時間の決定処理の詳細は後述するため、ここでは制御部２１２が行う処理の概要を説明する。
【００３７】
制御部２１２は、履歴情報テーブルＴ１に含まれる処理結果のうち受信順が新しい方から２つの処理結果にデッドライン時刻までに処理が完了しなかったことを示す情報が含まれる場合、期待処理時間の最大値を超えない範囲で期待処理時間を段階的に増加させる。なお、本実施の形態では、受信順が新しい方から２つの処理結果を用いることとするが、２つよりも多くの処理結果を用いてもよいし、１つであってもよい。
【００３８】
以降の説明では、期待処理時間の最大値を、処理継続不可基準時間と称して記載する。処理継続不可基準時間は、トランザクション処理装置３０にトランザクション要求を割り当てたとしてもデッドライン時刻までに処理完了しないと予測される時間である。期待処理時間が処理継続不可基準時間を超過する場合、制御部２１２は、トランザクション処理装置３０が異常状態であると判断する。なお、本実施の形態では、期待処理時間の初期値を５．０秒とし、最大値（処理継続不可基準時間）を１０．０秒として説明する。
【００３９】
制御部２１２は、受信順が新しい方から２つの処理結果にデッドライン時刻までに処理が完了しなかったことを示す情報が含まれる場合であって、期待処理時間が処理継続不可基準時間とである場合、トランザクション処理装置３０を異常と判定する。そして、制御部２１２は、トランザクション処理装置３０を閉塞する。なお、制御部２１２は、トランザクション処理装置３０を異常と判定する場合、トランザクション処理装置３０を閉塞せずに、トランザクション処理装置３０に新たなトランザクション要求を割り当てないように処理してもよい。
【００４０】
制御部２１２は、履歴情報テーブルＴ１に含まれる処理結果のうち、最後に受信した処理結果が、デッドライン時刻までにトランザクション要求が処理完了したことを示す情報を含む場合、基本的に、期待処理時間を変更しない。すなわち、制御部２１２は、トランザクション処理装置３０が最後に処理したトランザクション要求がデッドライン時刻までに処理完了した場合、期待処理時間を、最後に決定した期待処理時間と同じ値として決定する。
【００４１】
一方、制御部２１２は、履歴情報テーブルＴ１に含まれる処理結果が所定条件を満たす場合、期待処理時間の信頼度を算出する。制御部２１２は、履歴情報テーブルＴ１に含まれる処理結果のうち受信順が新しい方から５つの処理結果が、所定条件を満たす処理結果である場合、当該５つの処理結果に基づいて期待処理時間の信頼度を算出する。所定条件は、期待処理時間が最後に変更された後のトランザクション要求の処理結果であって、デッドライン時刻までに処理完了していることを示す処理結果であることである。なお、本実施の形態では、５つのトランザクション要求の処理結果を用いることとして説明するが、５つ以上のトランザクション要求の処理結果を用いてもよいし、５つ以下のトランザクション要求の処理結果を用いてもよい。
【００４２】
制御部２１２は、期待処理時間の信頼度が基準値以下である場合、期待処理時間を、最後に決定した期待処理時間と同じ値として決定する。つまり、この場合、制御部２１２は、期待処理時間を変更せず、最後に決定した期待処理時間を用いてデッドライン時刻を設定する。
【００４３】
一方、制御部２１２は、期待処理時間の信頼度が基準値よりも大きい場合、期待処理時間を、期待処理時間の初期値に戻す。つまり、この場合、制御部２１２は、期待処理時間を、期待処理時間の初期値として決定して、期待処理時間の初期値を用いてデッドライン時刻を設定する。
【００４４】
期待処理時間の信頼度は、上記５つのトランザクション要求の処理時間のばらつき度合いであってもよい。トランザクション要求の処理時間のばらつき度合いは、変動係数であってもよいし、分散であってもよいし、標準偏差であってもよいし、これらのうち２つ以上を組み合わせてもよい。もしくは、期待処理時間の信頼度は、上記５つのトランザクション要求の処理完了時刻からデッドライン時刻までの残りの時間の平均値であってもよい。なお、以降の説明では、期待処理時間の信頼度は、上記５つのトランザクション要求の処理時間の変動係数であるとして説明する。
【００４５】
変動係数は、以下の式（１）により算出される。本実施の形態では、上記５つのトランザクション要求の処理時間の変動係数を算出するので、式（１）のｎに５をあてはめることによりトランザクション要求の処理時間の変動係数を算出する。
【数１】
2020052621.tif 000003
【００４６】
ここで、図３を用いて、履歴情報テーブルＴ１について説明する。図３は、実施の形態にかかる履歴情報テーブルの一例を示す図である。履歴情報テーブルＴ１は、制御部２１２が決定した期待処理時間と、トランザクション処理装置３０が処理したトランザクション要求の処理結果とが、履歴情報として登録されるテーブルである。
【００４７】
履歴情報テーブルＴ１には、例えば、トランザクション処理装置３０が処理した過去１０個分のトランザクション要求の処理結果が履歴情報として登録される。また、履歴情報テーブルＴ１には、トランザクション処理装置３０が処理完了した順に、履歴情報テーブルＴ１の上から処理結果が履歴情報として設定される。つまり、履歴情報テーブルＴ１の一番下には、トランザクション処理装置３０が最後に処理したトランザクション要求の処理結果が履歴情報として登録される。
【００４８】
なお、本実施の形態では、履歴情報テーブルＴ１には、過去１０個分のトランザクション要求の処理結果が登録されることとして説明するが、１０よりも多くの処理結果が登録されてもよい。例えば、履歴情報テーブルＴ１に、トランザクション管理装置２０が起動してからの現在までのトランザクション要求の処理結果が登録されてもよい。
【００４９】
履歴情報テーブルＴ１には、トランザクション要求受領時の状態と、当該状態において実行されたトランザクション処理実績（処理結果）と、期待処理時間信頼度とが設定される。
【００５０】
なお、図２に示した情報処理システム１００は、１つのトランザクション処理装置３０を有するので、履歴情報テーブルＴ１は１つとなる。情報処理システム１００が、例えば、複数のトランザクション処理装置３０を有する場合、履歴情報テーブルＴ１は、トランザクション処理装置３０の数の分だけ生成されてもよい。もしくは、トランザクション処理装置３０の数分の履歴情報が設定された１つの履歴情報テーブルＴ１として生成されてもよい。この場合、履歴情報テーブルＴ１には、トランザクション処理装置３０を識別する情報がさらに登録されてもよい。
【００５１】
以下、履歴情報テーブルＴ１に設定される情報について説明する。
トランザクション要求受領時の状態として、経過観察中フラグと、期待処理時間とが設定される。
【００５２】
経過観察中フラグは、制御部２１２が決定した期待処理時間が適切であるかを判断するための情報である。経過観察中フラグは、トランザクション処理装置３０が処理したトランザクション要求に、デッドライン時刻までに処理完了しなかった（デッドライン時刻を超過した）実績が含まれており、現在、期待処理時間を調整している状態であることを示す情報である。なお、以降の説明において、デッドライン時刻までに処理完了しなかったことを、デッドライン超過と称して記載することがある。
【００５３】
経過観察中フラグの設定値はＯＮ又はＯＦＦであり、経過観察中フラグには、デッドライン超過の実績があり、現在、期待処理時間を調整している状態である場合、ＯＮが設定される。一方、期待処理時間が初期値に変更（リセット）された場合も含め、デッドライン超過の実績がない状態である場合、経過観察中フラグには、ＯＦＦが設定される。また、デッドライン超過の実績があっても、既に期待処理時間が最適化されているといえる状態である場合、経過観察中フラグには、ＯＦＦが設定される。
【００５４】
図３に示す様に、経過観察中フラグがＯＦＦからＯＮに変更された場合、変更されたことが分かるように、変更前後の設定値が設定される。なお、経過観察中フラグが変更された場合であっても、変更後の経過観察中フラグの設定値のみが設定されてもよい。
【００５５】
期待処理時間には、制御部２１２が決定した期待処理時間が設定される。図３に示す様に、期待処理時間が変更された場合、期待処理時間には、変更前後の期待処理時間が設定される。
【００５６】
次に、トランザクション処理実績について説明する。トランザクション処理実績（処理結果）には、トランザクション起動時刻、トランザクション完了時刻、実績トランザクション処理時間及び実績トランザクション処理時間平均が設定される。
【００５７】
トランザクション起動時刻には、トランザクション処理装置３０に処理されたトランザクション要求の起動時刻（処理開始時刻）が設定される。
トランザクション完了時刻には、トランザクション処理装置３０に処理されたトランザクション要求の完了時刻（処理完了時刻）が設定される。
【００５８】
トランザクション処理装置３０がトランザクション要求をデッドライン時刻までに処理完了した場合、トランザクション完了時刻には、トランザクション要求の処理完了時刻が設定される。一方、トランザクション処理装置３０がトランザクション要求をデッドライン時刻までに処理完了しなかった場合、トランザクション完了時刻には、「デッドライン超過のためなし」が設定される。
【００５９】
実績トランザクション処理時間には、トランザクション処理装置３０に処理されたトランザクション要求の処理時間の実績値が設定される。トランザクション処理装置３０がトランザクション要求をデッドライン時刻までに処理完了した場合、実績トランザクション処理時間には、トランザクション要求の処理開始時刻から処理完了時刻までの処理時間が設定される。トランザクション要求の処理開始時刻から処理完了時刻までの処理時間は、管理部２１５により算出される。
【００６０】
一方、トランザクション処理装置３０がトランザクション要求をデッドライン時刻までに処理完了しなかった場合、実績トランザクション処理時間には、「デッドライン超過のためなし」が設定される。
【００６１】
実績トランザクション処理時間平均には、履歴情報テーブルＴ１のトランザクション完了時刻又は実績トランザクション処理時間に「デッドライン超過のためなし」が最後に設定された履歴情報よりも後に登録された履歴情報の処理時間の平均値が設定される。実績トランザクション処理時間平均は、管理部２１５が算出して登録する。
【００６２】
期待処理時間信頼度には、上記の式（１）により算出される変動係数が設定される。期待処理時間信頼度は、制御部２１２により算出され、履歴情報テーブルＴ１に設定される。なお、期待処理時間信頼度は、制御部２１２が内部的に記憶しておけば良い情報であるため、履歴情報テーブルＴ１に含まれなくてもよい。
【００６３】
図２に戻り説明を続ける。スケジューラ２１３は、制御部２１２からトランザクション要求が出力されると、受け取ったトランザクション要求を実行キュー２１４に挿入し、ソートする。
【００６４】
実行キュー２１４は、トランザクション処理装置３０に割り当てるトランザクション要求を一時的に蓄積する。実行キュー２１４は、ソートされた順序で、トランザクション処理装置３０にトランザクション要求を振り分ける。
【００６５】
管理部２１５は、実施の形態の概要にかかる管理部４に対応する。管理部２１５は、トランザクション処理装置３０に処理されたトランザクション要求の処理結果を受信し、受信した処理結果を履歴情報として管理する。管理部２１５は、トランザクション要求の処理結果をトランザクション処理装置３０から受信する。そして、管理部２１５は、受信したトランザクション要求の処理結果を履歴情報テーブルＴ１に登録する。
【００６６】
トランザクション処理装置３０がデッドライン時刻までにトランザクション要求の処理を完了させた場合、管理部２１５は、トランザクション要求の起動時刻及び完了時刻を処理結果としてトランザクション処理装置３０から受信する。管理部２１５は、受信した起動時刻及び完了時刻を履歴情報テーブルＴ１に登録し、起動時刻及び完了時刻からトランザクション要求の処理時間の実績値を算出し、算出した処理時間を履歴情報テーブルＴ１に登録する。
【００６７】
一方、トランザクション処理装置３０がデッドライン時刻までにトランザクション要求の処理を完了しなかった場合、管理部２１５は、トランザクション要求がデッドラインまでに処理完了しなかったことを示す情報を受信する。この場合、管理部２１５は、「デッドライン超過のためなし」を履歴情報テーブルＴ１に登録する。
【００６８】
また、管理部２１５は、制御部２１２が決定した期待処理時間を制御部２１２から受信し、履歴情報テーブルＴ１に登録する。
【００６９】
さらに、管理部２１５は、履歴情報テーブルＴ１の経過観察中フラグを管理する。具体的には、管理部２１５は、制御部２１２が決定した期待処理時間を制御部２１２から受信して、期待処理時間が初期値から変更されたと判断した場合、履歴情報テーブルＴ１の経過観察中フラグに、例えば、「ＯＦＦ→ＯＮ」を設定する。管理部２１５は、制御部２１２から経過観察中フラグをＯＦＦに変更することを示す情報を受信した場合、経過観察中フラグをＯＦＦに変更する。管理部２１５は、制御部２１２から経過観察中フラグを無効に変更することを示す情報を受信した場合、経過観察中フラグを無効に変更してもよいし、ＯＦＦに設定してもよい。
【００７０】
また、管理部２１５は、トランザクション処理装置３０から処理結果を受信すると、処理時間の平均値を算出する。管理部２１５は、履歴情報テーブルＴ１のトランザクション完了時刻又は実績トランザクション処理時間に「デッドライン超過のためなし」が最後に登録された履歴情報よりも後に登録された履歴情報の実績トランザクション処理時間の平均値を算出する。そして、管理部２１５は、算出した平均値を、履歴情報テーブルＴ１の実績トランザクション処理時間平均に設定する。
【００７１】
情報蓄積部２１６は、記憶部として機能し、履歴情報テーブルＴ１を記憶する。また、情報蓄積部２１６は、管理部２１５からの要求に応じて、履歴情報テーブルＴ１に情報を登録したり、読み出したりする。
【００７２】
＜制御部の構成の詳細＞
続いて、図３〜図８を用いて、制御部２１２の構成の詳細を説明する。図３は、実施の形態にかかる履歴情報テーブルの一例を示す図であって、制御部２１２の構成の詳細を説明する図である。図４〜図８は、実施の形態にかかる制御部の構成の詳細を説明する図である。
【００７３】
上述した様に、制御部２１２は、期待処理時間の決定を行う場合に、処理継続不可基準時間を導入して、期待処理時間が処理継続不可基準時間を超過するか否かを判断基準とする。
【００７４】
まず、トランザクション処理装置３０が最後に処理したトランザクション要求がデッドライン時刻までに処理完了しない場合であり、期待処理時間が処理継続不可基準時間を超過していない場合について説明する。
【００７５】
図４は、トランザクション処理装置３０が、トランザクション要求をデッドライン時刻までに処理完了しなかった場合であり、期待処理時間が処理継続不可基準時間を超過していない状態を示す図である。図４に示したトランザクション要求は、トランザクション処理装置３０が最後に処理したトランザクション要求である。図４には、トランザクション処理装置３０が最後に処理したトランザクション要求の起動時刻（処理開始時刻）、トランザクション完了時刻（処理完了時刻）、デッドライン、期待処理時間、及び処理継続不可基準時間を示している。
【００７６】
図４に示す様に、トランザクション処理装置３０がトランザクション要求を起動時刻から処理開始しデッドライン時刻までに処理完了しなかった場合、トランザクション処理装置３０は処理を打ち切る。この場合、トランザクション処理装置３０は、トランザクション要求の完了時刻を保存しない。トランザクション処理装置３０は、トランザクション管理装置２０にトランザクション要求の処理結果として当該トランザクション要求の起動時刻と、デッドライン時刻までに処理完了しなかったことを示す情報とを送信する。
【００７７】
次に、制御部２１２は、最後から２番目のトランザクション要求もデッドライン時刻までに処理完了しなかったか否かを判定する。制御部２１２は、最後から２番目のトランザクション要求もデッドライン時刻までに処理完了していないと判定する場合、期待処理時間が処理継続不可基準時間であるか否かを判定する。
【００７８】
図４では、期待処理時間が処理継続不可基準時間ではないため、制御部２１２は、次に割り当てるトランザクション要求の期待処理時間を、処理継続不可基準時間（１０秒）を超過しない範囲で段階的に増加させる。つまり、制御部２１２は、受信順が新しい方から２つの処理結果が、デッドライン時刻までに処理完了しなかったことを示す場合、次に割り当てるトランザクション要求の期待処理時間を、処理継続不可基準時間を超えない範囲で段階的に増加させる。本実施の形態では、制御部２１２は、期待処理時間を２０％増加（１秒増加）させる。なお、制御部２１２は、１秒以外の時間分だけ期待処理時間を増加させるようにしてもよいし、デッドライン時刻までに処理完了しなかったトランザクション要求数に応じて、増加させる時間を変更してもよい。
【００７９】
次に、トランザクション処理装置３０が最後に処理したトランザクション要求がデッドライン時刻までに処理完了しない場合であり、期待処理時間が処理継続不可基準時間となっている場合について説明する。
【００８０】
図５は、図４と同様に、トランザクション処理装置３０が、トランザクション要求を起動時刻から処理開始し、デッドライン時刻までに当該トランザクション要求が処理完了しなかった場合である。ただし、図５は、図４と異なり、図示されているトランザクション要求の期待処理時間が、処理継続不可基準時間である場合を示した図である。つまり、図５は、期待処理時間が、期待処理時間の最大値である処理継続不可基準時間となっている場合を示している。
【００８１】
図５の場合も、図４と同様に、トランザクション処理装置３０が、トランザクション要求を起動時刻から処理開始し、デッドライン時刻までに当該トランザクション要求が処理完了しなかった場合、トランザクション処理装置３０は処理を打ち切る。トランザクション処理装置３０は、トランザクション要求の完了時刻を保存しない。トランザクション処理装置３０は、トランザクション管理装置２０にトランザクション要求の処理結果として当該トランザクション要求の起動時刻とデッドライン時刻までに処理完了しなかったことを示す情報とを送信する。
【００８２】
次に、制御部２１２は、最後から２番目のトランザクション要求もデッドライン時刻までに処理完了していないかを判定する。制御部２１２は、最後から２番目のトランザクション要求もデッドライン時刻までに処理完了していないと判定する場合、期待処理時間が処理継続不可基準時間であるか否かを判定する。
【００８３】
図５では、図４と異なり、期待処理時間が処理継続不可基準時間である。そのため、制御部２１２は、期待処理時間を増加させると、処理継続不可基準時間を超過するので、期待処理時間を増加させても、以降のトランザクション要求は、デッドライン時刻までに処理完了しないと判断する。そのため、制御部２１２は、期待処理時間を増加させず、トランザクション処理装置３０が異常であると判定し、以降のトランザクション要求をトランザクション処理装置３０に割り当てず、トランザクション処理装置３０を閉塞する。
【００８４】
この場合、制御部２１２は、履歴情報テーブルＴ１の経過観察中フラグを無効にする必要があると判断し、管理部２１５に経過観察中フラグを無効に変更することを示す情報を送信する。なお、制御部２１２は、管理部２１５に経過観察中フラグをＯＦＦに変更することを示す情報を送信するようにしてもよい。
【００８５】
上述した図４及び図５を用いて説明した内容を、図３を用いて説明する。図３は、図４及び図５の状況における履歴情報テーブルＴ１の状態を示す一例である。図３に示すように、トランザクション管理装置２０が起動すると、制御部２１２は、期待処理時間を初期値である５．０秒に決定する。
【００８６】
図３に示す様に、上から３つ目のトランザクション要求までは、実績トランザクション処理時間に「デッドライン超過のためなし」が設定されておらず、具体的な処理時間が設定されていることから、デッドライン時刻までに処理完了していることを示している。上から３つ目のトランザクション要求は、デッドライン時刻までに処理完了しているため、制御部２１２は何もしない。上から３つ目までのトランザクション要求の期待処理時間は初期値から変更されていない。そのため、経過観察中フラグはＯＦＦのままとなっている。
【００８７】
次に、上から４つ目のトランザクション要求は、デッドライン時刻までに処理完了しなかったトランザクション要求を示しており、トランザクション完了時刻に「デッドライン超過のためなし」が設定されている。そのため、制御部２１２は、次のトランザクション要求の処理結果を確認する。
【００８８】
上から５つ目のトランザクションも、上から４つ目のトランザクションと同様に、デッドライン時刻までに処理完了していないので、制御部２１２は、期待処理時間が処理継続不可基準時間であるか否かを判定する。この場合、期待処理時間は、処理継続不可時間ではないため、制御部２１２は、次（上から６つ目）のトランザクション要求に対して、期待処理時間を初期値から２０％増加した時間を示す６．０秒を設定する。期待処理時間が初期値から変更されたため、経過観察中フラグはＯＮからＯＦＦに変更される。上から６つ目のトランザクション要求の期待処理時間については、図４で説明した状況を示しており、制御部２１２は、期待処理時間を最後に決定した期待処理時間から２０％増加した値に変更する。
【００８９】
次に、上から６つ目以降のトランザクション要求が、デッドライン時刻までに処理完了しなかったとする。そうすると、制御部２１２は、期待処理時間を段階的に増加していき、図３の一番下のトランザクション要求の様に、期待処理時間として期待処理時間の最大値である処理継続不可基準時間（１０秒）を設定する。
【００９０】
図３に示すように、トランザクション処理装置３０が最後に処理したトランザクション要求（図３の一番下のトランザクション要求）はデッドライン時刻までに処理完了していない。また、最後から２番目に処理された（図３の下から２番目の）トランザクション要求もデッドライン時刻までに処理完了していない。
【００９１】
そのため、制御部２１２は、期待処理時間を増加させると、処理継続不可基準時間を超過してしまうため、期待処理時間を変更せず、トランザクション処理装置３０を閉塞し、トランザクション処理装置３０に新たなトランザクション要求を割り当てない。そして、制御部２１２は、管理部２１５に対して経過観察中フラグを無効にすることを示す情報を送信する。
【００９２】
次に、トランザクション処理装置３０が最後に処理したトランザクション要求がデッドライン時刻までに処理完了した場合を説明する。図６は、トランザクション処理装置３０が、割り当てられたトランザクション要求を起動時刻から処理開始し、デッドライン時刻までに当該トランザクションが処理完了した場合である。この場合、制御部２１２は、基本的には、期待処理時間を変更しない。つまり、制御部２１２は、トランザクション処理装置３０が最後に処理したトランザクション要求の期待処理時間を、トランザクション処理装置３０に次に割り当てるトランザクション要求の期待処理時間として決定する。
【００９３】
ここで、図６に示したトランザクション要求が、期待処理時間が最後に変更された後の５つ目のトランザクション要求であり、期待処理時間が最後に変更された後、全てのトランザクション要求がデッドライン時刻までに処理完了したとする。つまり、制御部２１２が、期待処理時間が最後に変更された後の５つのトランザクションがデッドライン時刻までに処理完了していると判定したとする。そうすると、制御部２１２は、当該５つのトランザクション要求の処理時間の変動係数を、上記式（１）を用いて算出する。
【００９４】
制御部２１２は、変動係数を算出すると、基準値を示す期待処理時間信頼基準と比較する。本実施の形態では、期待処理時間信頼基準が０．３０であるとして説明するが、他の値であってもよい。
【００９５】
変動係数が期待処理時間信頼基準以下である場合、制御部２１２は、トランザクション処理装置３０に割り当てるトランザクション要求の期待処理時間を、トランザクション処理装置３０が最後に処理したトランザクション要求の期待処理時間として決定する。このように、期待処理時間が最後に変更されてから一定数のトランザクションがデッドライン時刻を超過せず、一定数のトランザクション要求の処理時間の変動係数が基準値以下である場合、制御部２１２は、期待処理時間は信頼出来る値であると判定する。つまり、制御部２１２は、期待処理時間が最適化されたと判定する。そのため、制御部２１２は、以降のトランザクション要求がデッドライン時刻までに処理完了しない場合を除き、トランザクション要求の期待処理時間を、トランザクション処理装置３０が最後に処理したトランザクション要求の期待処理時間と同一の値とする。
【００９６】
制御部２１２は、期待処理時間が最適化されたと判定するので、履歴情報テーブルＴ１の経過観察中フラグをＯＦＦにする必要があると判断し、管理部２１５に経過観察中フラグをＯＦＦに変更することを示す情報を送信する。
【００９７】
一方、変動係数が期待処理時間信頼基準よりも大きい場合、制御部２１２は、期待処理時間は信頼出来る値ではなく、期待処理時間を再度最適化する必要があると判断する。そして、制御部２１２は、期待処理時間の初期値を、トランザクション処理装置３０に割り当てるトランザクション要求の期待処理時間と決定する。
【００９８】
また、制御部２１２は、期待処理時間が初期化された（初期値に戻る）ため、履歴情報テーブルＴ１の経過観察中フラグをＯＦＦにする必要があると判断し、管理部２１５に経過観察中フラグをＯＦＦに変更することを示す情報を送信する。
【００９９】
図７及び図８を用いてトランザクション処理装置３０が最後に処理したトランザクション要求がデッドライン時刻までに処理完了し、期待処理時間が最後に変更された後の５つのトランザクション要求がデッドライン時刻までに処理完了した場合の状況を説明する。図７は、変動係数が期待処理時間信頼基準以下の場合の例を示している。図８は、変動係数が期待処理時間信頼基準よりも大きい場合の例を示している。
【０１００】
まず、図７について説明する。図３と同様に、トランザクション管理装置２０が起動すると、制御部２１２は、期待処理時間を初期値である５．０秒に設定する。その後、上から５つ目のトランザクション要求までは、図３と同様である。
【０１０１】
図７に示す様に、最後に期待処理時間が変更された、上から５つ目のトランザクション要求以降の連続する５つのトランザクション要求がデッドライン時刻までに処理完了したとする。そうすると、制御部２１２は、この５つのトランザクション要求のうち、４つ目までのトランザクション要求に対しては期待処理時間を変更せず、次のトランザクション要求に対して同じ期待処理時間とする。
【０１０２】
図７の一番下のトランザクション要求は、期待処理時間が最後に変更された後、期待処理時間が同一である５つ目のトランザクション要求である。そのため、制御部２１２は、この５個分のトランザクション要求に対して、処理時間の変動係数を算出する。つまり、制御部２１２は、この５個分のトランザクション要求の処理時間から期待処理時間信頼度を算出する。
【０１０３】
図７の場合、算出された変動係数は、図７の期待処理時間信頼度に設定されているように０．０９となる。この値は、期待処理時間信頼基準である０．３０以下であるので、制御部２１２は、期待処理時間は信頼出来ると判断し、以降のトランザクション要求に対しても、期待処理時間を７．０秒と決定する。また、制御部２１２は、経過観察中フラグをＯＦＦに変更することを示す情報を管理部２１５に送信する。
【０１０４】
次に、図８について説明する。図８は、図７と基本的に同様となるが、期待処理時間信頼度が図７と異なる。図８に示すように、期待処理時間信頼度は０．５１と算出される。算出された期待処理時間信頼度は、期待処理時間信頼基準である０．３０よりも大きいので、期待処理時間は信頼出来ないと判断する。
【０１０５】
そして、制御部２１２は、期待処理時間を再調整すべく、期待処理時間の初期値である５秒を、次のトランザクション要求の期待処理時間として決定する。また、制御部２１２は、経過観察中フラグをＯＦＦに変更することを示す情報を管理部２１５に送信する。
【０１０６】
＜トランザクション管理装置の動作例＞
続いて、図９を用いて、トランザクション管理装置２０の動作例について説明する。図９は、実施の形態にかかるトランザクション管理装置の動作例を説明する図である。具体的には、図９は、制御部２１２がトランザクションキュー２１１からトランザクション要求を受信し、スケジューラ２１３にトランザクション要求を出力するまでの動作例である。
【０１０７】
まず、制御部２１２は、トランザクションキュー２１１から到着順にトランザクション要求を取得する（ステップＳ１）。
【０１０８】
次に、制御部２１２は、管理部２１５を介して情報蓄積部２１６で記憶されている履歴情報テーブルＴ１の実績トランザクション処理時間と実績トランザクション処理時間平均を取得する（ステップＳ２）。なお、制御部２１２は、履歴情報テーブルＴ１の情報をステップＳ２において管理部２１５から取得しておいてもよいし、以降説明する各処理において必要な情報を当該処理において取得するようにしてもよい。
【０１０９】
制御部２１２は、取得した実績トランザクション処理時間から前回デッドラインを超過したかどうか確認する（ステップＳ３）。換言すると、制御部２１２は、トランザクション処理装置３０が最後に処理したトランザクション要求がデッドラインまでに処理完了したから否かを、実績トランザクション処理時間から判定する。
【０１１０】
制御部２１２は、実績トランザクション処理時間のうち、最後に処理されたトランザクション要求の実績トランザクション処理時間に「デッドライン超過のためなし」が設定されている場合、前回デッドラインを超過したと判定する（ステップＳ３のＹＥＳ）。そして、ステップＳ４の処理を実行する。
【０１１１】
一方、制御部２１２は、取得した実績トランザクション処理時間のうち、最後に処理されたトランザクション要求の実績トランザクション処理時間に具体的な数値が設定されている場合、前回デッドラインを超過しなかったと判定する（ステップＳ３のＮＯ）。そして、ステップＳ１０の処理を実行する。
【０１１２】
ステップＳ４において、管理部２１５は、経過観察中フラグをＯＮに設定する（ステップＳ４）。管理部２１５は、ステップＳ３において、前回デッドラインを超過したことを制御部２１２が判定した結果を受信して、経過観察中フラグをＯＮに設定してもよい。もしくは、管理部２１５は、ステップＳ２において、制御部２１２に出力した、実績トランザクション処理時間の設定情報に基づいて、前回デッドラインを超過したことを判定し、経過観察中フラグをＯＮに設定してもよい。なお、ステップＳ４の時点で既に経過観察中フラグがＯＮである場合は、ステップＳ４をスキップするようにしてもよい。
【０１１３】
次に、制御部２１２は、前々回もデッドラインを超過したか否かを判定する（ステップＳ５）。制御部２１２は、ステップＳ２において取得した実績トランザクション処理時間のうち、最後から２番目に処理されたトランザクション要求の処理時間（実績トランザクション処理時間）に「デッドライン超過のためなし」が設定されているか否かを判定する。
【０１１４】
具体的には、制御部２１２は、最後から２番目に処理されたトランザクション要求の実績トランザクション処理時間に「デッドライン超過のためなし」が設定されている場合、前々回デッドラインを超過したと判定する（ステップＳ５のＹＥＳ）。そして、ステップＳ６の処理を実行する。つまり、制御部２１２は、受信順が新しい所定数（２つ）の処理結果が、デッドラインまでにトランザクションが処理完了しなかったことを示す場合、ステップＳ６の処理を実行する。
【０１１５】
一方、制御部２１２は、取得した実績トランザクション処理時間のうち、最後から２番目のトランザクション要求の実績トランザクション処理時間に具体的な数値が設定されている場合、前々回デッドラインを超過しなかったと判定する（ステップＳ５のＮＯ）。そして、ステップＳ９の処理を実行する。
【０１１６】
ステップＳ６において、制御部２１２は、期待処理時間が処理継続不可基準時間であるか否かを判定する（ステップＳ６）。制御部２１２は、管理部２１５を介して履歴情報テーブルＴ１の期待処理時間を取得して、期待処理時間が処理継続不可基準時間に到達したか否かを判定する。
【０１１７】
期待処理時間が処理継続不可基準時間以上である場合（ステップＳ６のＹＥＳ）、制御部２１２は、トランザクション処理装置３０を閉塞する。制御部２１２は、以降のトランザクションをトランザクション処理装置３０に割り当てないようにスケジューラ２１３に通知する（ステップＳ７）。制御部２１２は、クライアント端末１０にエラー終了したことを通知し、トランザクション管理装置２０は処理を終了する。
【０１１８】
一方、期待処理時間が処理継続不可基準時間よりも小さい場合（ステップＳ６のＮＯ）、制御部２１２は、トランザクション処理装置３０に割り当てる期待処理時間を２０％増加させる（ステップＳ８）。
【０１１９】
次に、制御部２１２は、トランザクション処理装置３０に割り当てるトランザクション要求に対して期待処理時間に基づくデッドラインを設定し、スケジューラ２１３にトランザクション要求を引き渡す（ステップＳ９）。
【０１２０】
ステップＳ１０において、制御部２１２は、トランザクション処理装置３０に最後に処理されたトランザクション要求がデッドライン時刻までに処理完了した場合（ステップＳ３のＮＯ）、経過観察中フラグがＯＮであるかを判定する（ステップＳ１０）。
【０１２１】
制御部２１２は、管理部２１５から経過観察中フラグがＯＮとなっているか否かに関する情報を取得して、経過観察中フラグがＯＮであるかＯＦＦであるかを判定してもよい。もしくは、制御部２１２が管理部に経過観察中フラグがＯＮであるか否かの確認要求をして、管理部２１５が経過観察中フラグを確認して、制御部２１２に経過観察中フラグがＯＮであるか否かを応答することにより制御部２１２が判定してもよい。
【０１２２】
ステップＳ１０において、経過観察中フラグがＯＮである場合（ステップＳ１０のＹＥＳ）、ステップＳ１１の処理を実行する。
【０１２３】
一方、ステップＳ１０において、経過観察中フラグがＯＦＦである場合（ステップＳ１０のＮＯ）、ステップＳ９の処理を実行する。
【０１２４】
ステップＳ１１において、制御部２１２は、過去５回のうち、１回もデッドラインを超過していないかを判定する（ステップＳ１１）。
【０１２５】
具体的には、制御部２１２は、ステップＳ２において取得した履歴情報テーブルＴ１の実績トランザクション処理時間のうち、登録順が新しい方から５つ分の実績トランザクション処理時間に「デッドライン超過のためなし」が設定されているか否かを判定する。つまり、制御部２１２は、管理部２１５が受信した処理結果に基づいて、期待処理時間が最後に変更された後の所定数（５つ）のトランザクション要求がデッドラインまでに処理完了したか否かを判定する。
【０１２６】
ステップＳ１１において、過去５回のうち、１回もデッドラインを超過していないと判定すると（ステップＳ１１のＹＥＳ）、ステップＳ１２を実行する。
【０１２７】
制御部２１２は、ステップＳ２において取得した履歴情報テーブルＴ１の実績トランザクション処理時間のうち登録順が新しい方から５つ分の実績トランザクション処理時間に「デッドライン超過のためなし」が設定されていない場合、ステップＳ１２を実行する。
【０１２８】
一方、過去５回のうち、１回もデッドラインを超過していないと判定しないと（ステップＳ１１のＮＯ）、ステップＳ９を実行する。制御部２１２は、ステップＳ２において取得した履歴情報テーブルＴ１の実績トランザクション処理時間のうち登録順が新しい５つ分の実績トランザクション処理時間のいずれかに「デッドライン超過のためなし」が設定されている場合、ステップＳ９を実行する。
【０１２９】
ステップＳ１２において、制御部２１２は、過去５回分の実績トランザクション処理時間から期待処理時間信頼度を算出し、経過観察中フラグをＯＦＦにすることを示す情報を管理部２１５に送信する（ステップＳ１２）。
【０１３０】
具体的には、制御部２１２は、過去５回分の実績トランザクション処理時間と、実績トランザクション処理時間平均と、数式（１）と、を用いて、過去５回分の実績トランザクション処理時間の変動係数を算出する。算出された変動係数は、期待処理時間信頼度である。そして、制御部２１２は、算出された期待処理時間信頼度を履歴情報テーブルＴ１に登録することと、経過観察中フラグをＯＦＦにすることを示す情報と、を管理部２１５に送信する。つまり、制御部２１２は、管理部２１５が受信した処理結果に基づいて、期待処理時間が最後に変更された後の５つのトランザクション要求がデッドラインまでに処理完了したと判定する場合、当該５つのトランザクション要求の処理時間の変動係数を算出する。
【０１３１】
次に、制御部２１２は、算出した期待処理時間信頼度（変動係数）と、期待処理時間信頼度基準（基準値）とを比較し、期待処理時間信頼度が期待処理時間信頼度基準以下であるかを判定する（ステップＳ１３）。
【０１３２】
期待処理時間信頼度が期待処理時間信頼度基準以下である場合（ステップＳ１３のＹＥＳ）、ステップＳ９を実行する。つまり、期待処理時間信頼度が期待処理時間信頼度基準以下である場合（ステップＳ１３のＹＥＳ）、制御部２１２は、最後に決定された期待処理時間を、トランザクション処理装置３０に割り当てるトランザクション要求の期待処理時間と決定する。
【０１３３】
期待処理時間信頼度が期待処理時間信頼度基準よりも大きいである場合（ステップＳ１３のＮＯ）、制御部２１２は、期待処理時間を初期値に戻す（ステップＳ１４）。つまり、期待処理時間信頼度が期待処理時間信頼度基準よりも大きいである場合（ステップＳ１３のＮＯ）、制御部２１２は、期待処理時間の初期値を、トランザクション処理装置３０に割り当てるトランザクション要求の期待処理時間と決定する。
【０１３４】
以上説明したように、制御部２１２は、トランザクション処理装置３０が最後に処理したトランザクション要求及び最後から２番目に処理したトランザクション要求が、デッドライン時刻を超過した場合、期待処理時間を調整する必要があると判断する。そして、制御部２１２は、以降のトランザクション要求がデッドラインまでに処理完了しなかった場合、期待処理時間を段階的に増加させていく。
【０１３５】
さらに、トランザクション処理装置３０が処理したトランザクション要求がデッドライン超過しなくなった段階で、制御部２１２は、期待処理時間の信頼性を実測値である実績トランザクション処理時間の変動係数から判断する。制御部２１２は、期待処理時間の信頼性が高いと判断できると、期待処理時間が最適であると判断して確定する。
【０１３６】
一方、制御部２１２は、期待処理時間の信頼性が高いと判断できない場合、期待処理時間を初期値に戻し再調整する。すなわち、制御部２１２は、期待処理時間を最適な値になるように調整することが可能である。したがって、本実施の形態によれば、各トランザクション要求の期待処理時間が適切であるかを判定し、デッドライン時刻を最適化することができる。
【０１３７】
（他の実施の形態）
図１０は、上述した実施の形態において説明したトランザクション管理装置３及び２０（以下、トランザクション管理装置３等と称する）は、次のようなハードウェア構成を有していてもよい。図１０は、本開示の各実施の形態にかかるトランザクション管理装置３等を実現可能なコンピュータ（情報処理装置）のハードウェア構成を例示するブロック図である。
【０１３８】
図１０を参照すると、トランザクション管理装置３等は、ネットワーク・インターフェース１２０１、プロセッサ１２０２、及びメモリ１２０３を含む。ネットワーク・インターフェース１２０１は、他の無線通信装置と通信するために使用される。ネットワーク・インターフェース１２０１は、例えば、IEEE 802.11 seriesに準拠したネットワークインターフェースカード（NIC）を含んでもよい。
【０１３９】
プロセッサ１２０２は、メモリ１２０３からソフトウェア（コンピュータプログラム）を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明されたトランザクション管理装置３等の処理を行う。プロセッサ１２０２は、例えば、マイクロプロセッサ、MPU（Micro Processing Unit）、又はCPU（Central Processing Unit）であってもよい。プロセッサ１２０２は、複数のプロセッサを含んでもよい。
【０１４０】
メモリ１２０３は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ１２０３は、プロセッサ１２０２から離れて配置されたストレージを含んでもよい。この場合、プロセッサ１２０２は、図示されていないI/Oインタフェースを介してメモリ１２０３にアクセスしてもよい。
【０１４１】
図１０の例では、メモリ１２０３は、ソフトウェアモジュール群を格納するために使用される。プロセッサ１２０２は、これらのソフトウェアモジュール群をメモリ１２０３から読み出して実行することで、上述の実施形態において説明されたトランザクション管理装置３等の処理を行うことができる。
【０１４２】
図１０を用いて説明したように、トランザクション管理装置３等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む１または複数のプログラムを実行する。
【０１４３】
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）を含む。さらに、非一時的なコンピュータ可読媒体の例は、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory）を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１４４】
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
【０１４５】
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理する管理部と、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する制御部と、を備えるトランザクション管理装置。
（付記２）
前記制御部は、前記信頼度が基準値以下である場合、最後に決定された期待処理時間を用いて前記デッドライン時刻を設定する、付記１に記載のトランザクション管理装置。
（付記３）
前記制御部は、前記信頼度が基準値よりも大きい場合、期待処理時間の初期値を用いて前記デッドライン時刻を設定する、付記１又は２に記載のトランザクション管理装置。
（付記４）
前記制御部は、前記履歴情報に含まれる処理結果のうち受信順が新しい方から第１の数の処理結果が、前記期待処理時間が最後に変更された後のトランザクション要求の処理結果であって、デッドライン時刻までに処理完了していることを示す処理結果である場合、前記第１の数の処理結果に基づいて、前記信頼度を算出する、付記１〜３のいずれか１項に記載のトランザクション管理装置。
（付記５）
前記処理結果は、前記処理されたトランザクション要求がデッドライン時刻までに処理完了した場合、前記処理されたトランザクション要求の処理開始時刻と処理完了時刻とを含み、
前記管理部は、前記処理開始時刻と前記処理完了時刻とに基づき前記第１の数のトランザクション要求の処理時間を算出し、
前記制御部は、前記第１の数のトランザクション要求の処理時間に基づいて、前記信頼度を算出する、付記４に記載のトランザクション管理装置。
（付記６）
前記制御部は、前記第１の数のトランザクション要求の処理時間のばらつき度合いを前記信頼度として算出する、付記５に記載のトランザクション管理装置。
（付記７）
前記ばらつき度合いは、変動係数、分散及び標準偏差の少なくとも１つを含む、付記６に記載のトランザクション管理装置。
（付記８）
前記処理結果は、前記処理されたトランザクション要求がデッドライン時刻までに処理完了しなかった場合、前記処理されたトランザクション要求がデッドライン時刻までに処理完了しなかったことを示す情報を含み、
前記制御部は、前記履歴情報に含まれる処理結果のうち受信順が新しい方から第２の数の処理結果に前記情報が含まれる場合、期待処理時間の最大値を超えない範囲で前記期待処理時間を段階的に増加させる、付記１〜７のいずれか１項に記載のトランザクション管理装置。
（付記９）
前記制御部は、前記処理結果のうち受信順が新しい方から前記第２の数の処理結果に前記情報が含まれる場合であって、最後に受信した処理結果のトランザクション要求の期待処理時間が前記最大値である場合、前記トランザクション処理装置を閉塞する、付記８に記載のトランザクション管理装置。
（付記１０）
前記制御部は、前記処理結果のうち受信順が新しい方から前記第２の数の処理結果に前記情報が含まれる場合であって、最後に受信した処理結果のトランザクション要求の期待処理時間が前記最大値である場合、前記トランザクション処理装置にトランザクション要求を割り当てない、付記８又は９に記載のトランザクション管理装置。
（付記１１）
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、を含むトランザクション管理方法。
（付記１２）
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、をコンピュータに実行させるトランザクション管理プログラム。
（付記１３）
トランザクション要求の処理要求を行うクライアント端末と、
前記トランザクション要求を処理するトランザクション処理装置と、
前記処理要求に基づいて、前記トランザクション処理装置に前記トランザクション要求を割り当てるトランザクション管理装置と、を備え、
前記トランザクション管理装置は、
前記トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理する管理部と、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する制御部と、を備える情報処理システム。
（付記１４）
前記制御部は、前記信頼度が基準値以下である場合、最後に決定された期待処理時間を用いて前記デッドライン時刻を設定する、付記１３に記載の情報処理システム。
【符号の説明】
【０１４６】
１、１００  情報処理システム
２、３０  トランザクション処理装置
３、２０  トランザクション管理装置
４、２１５  管理部
５、２１２  制御部
１０  クライアント端末
２１１  トランザクションキュー
２１３  スケジューラ
２１４  実行キュー
２１６  情報蓄積部
【図１】
2020052621.tif 000004
【図２】
2020052621.tif 000005
【図３】
2020052621.tif 000006
【図４】
2020052621.tif 000007
【図５】
2020052621.tif 000008
【図６】
2020052621.tif 000009
【図７】
2020052621.tif 000010
【図８】
2020052621.tif 000011
【図９】
2020052621.tif 000012
【図１０】
2020052621.tif 000013