JP7167596B2 - トランザクション管理装置、トランザクション管理方法及びトランザクション管理プログラム - Google Patents

トランザクション管理装置、トランザクション管理方法及びトランザクション管理プログラム Download PDF

Info

Publication number
JP7167596B2
JP7167596B2 JP2018180153A JP2018180153A JP7167596B2 JP 7167596 B2 JP7167596 B2 JP 7167596B2 JP 2018180153 A JP2018180153 A JP 2018180153A JP 2018180153 A JP2018180153 A JP 2018180153A JP 7167596 B2 JP7167596 B2 JP 7167596B2
Authority
JP
Japan
Prior art keywords
processing
transaction
time
expected
transaction request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018180153A
Other languages
English (en)
Other versions
JP2020052621A (ja
Inventor
芳寛 大谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2018180153A priority Critical patent/JP7167596B2/ja
Publication of JP2020052621A publication Critical patent/JP2020052621A/ja
Application granted granted Critical
Publication of JP7167596B2 publication Critical patent/JP7167596B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本開示は、トランザクション管理装置、トランザクション管理方法及びトランザクション管理プログラムに関する。
トランザクションを処理するトランザクション処理装置において、クライアント端末からの処理要求(以下、トランザクション要求又はトランザクションと称する)の全てを、サーバ側で即時に処理しクライアント端末に応答するのが望ましい。しかし、システムの負荷状況、処理量等の要因により、サーバ側で即時に処理することは難しい。そのため、トランザクション要求をトランザクション処理装置に割り当てるトランザクション管理装置は、トランザクション要求の重要度や、当該トランザクションに期待される処理時間を考慮した処理順序の制御が必要となる。
トランザクション要求の処理順序を制御する関連技術として、例えば、特許文献1が知られている。特許文献1には、全てのタスク(トランザクション)で共通のシステム時間を加算した値として制限時間を管理し、制限時間が最も小さいタスクを次の実行タスクとして決定する技術が開示されている。なお、各タスクには上記制限時間に基づくデッドライン時刻が設定され、各タスクは設定されたデッドライン時刻に基づいて処理がされる。
特開2004-070579号公報
特許文献1の様に、各トランザクション要求に設定されたデッドライン時刻に基づいて処理順序の制御を行う技術では、当該デッドライン時刻は、トランザクション要求の処理開始から処理完了されるまでの期待処理時間に基づき設定された時刻であり得る。そのため、実際は、トランザクション要求が正常に処理完了する場合でも、期待処理時間より長い時間がかかって処理完了する場合、トランザクション要求がデッドライン時刻までに処理完了せず、異常終了として取り扱われる可能性がある。したがって、トランザクション要求の期待処理時間が適切に調整することにより当該トランザクション要求のデッドライン時刻を最適化する必要がある。
本開示の目的は、上述の問題を解決するためになされたものであり、各トランザクション要求のデッドライン時刻を最適化することが可能なトランザクション管理装置、トランザクション管理方法、及びトランザクション管理プログラムを提供することである。
本開示にかかるトランザクション管理装置は、
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理する管理部と、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する制御部と、を備えるトランザクション管理装置である。
本開示にかかるトランザクション管理方法は、
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、を含むトランザクション管理方法である。
本開示にかかるトランザクション管理プログラムは、
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、をコンピュータに実行させるトランザクション管理プログラムである。
本開示によれば、各トランザクション要求のデッドライン時刻を最適化することが可能なトランザクション管理装置、トランザクション管理方法、及びトランザクション管理プログラムを提供することが出来る。
実施の形態の概要にかかる情報処理システムの構成例を示す図である。 実施の形態にかかる情報処理システムの構成例を示す図である。 実施の形態にかかる履歴情報テーブルの一例を示す図である。 実施の形態にかかる制御部の構成の詳細を説明する図である。 実施の形態にかかる制御部の構成の詳細を説明する図である。 実施の形態にかかる制御部の構成の詳細を説明する図である。 実施の形態にかかる制御部の構成の詳細を説明する図である。 実施の形態にかかる制御部の構成の詳細を説明する図である。 実施の形態にかかるトランザクション管理装置の動作例を説明する図である。 本開示の各実施の形態にかかるトランザクション管理装置を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示するブロック図である。
以下、図面を参照して本開示の実施の形態について説明する。なお、以下の記載及び図面は、説明の明確化のため、適宜、省略及び簡略化がなされている。また、以下の各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
(実施の形態の概要)
本開示の実施の形態の説明に先立って、実施の形態の概要について説明する。図1は、実施の形態の概要にかかる情報処理システムの構成例を示す図である。情報処理システム1は、トランザクション処理装置2と、トランザクション管理装置3とを備える。図1において、情報処理システム1は、1つのトランザクション処理装置2のみを備える構成としているが、複数のトランザクション処理装置2を備える構成であってもよい。
また、図1では、トランザクション処理装置2と、トランザクション管理装置3とが、別々の装置として記載されているが、トランザクション処理装置2及びトランザクション管理装置3が、同一の装置により構成されてもよい。この場合、トランザクション処理装置2はトランザクション処理部として機能する。そのため、トランザクション処理装置は、トランザクション処理部と称されてもよい。
トランザクション処理装置2は、トランザクション管理装置3により割り当てられたトランザクション要求を処理する。トランザクション処理装置2は、例えば、サーバ装置であってもよいし、パーソナルコンピュータ装置であってもよい。トランザクション処理装置2は、処理したトランザクション要求の処理結果をトランザクション管理装置3に送信する。
トランザクション管理装置3は、トランザクション処理装置2にトランザクション要求を割り当てる。トランザクション管理装置3は、トランザクション処理装置2に割り当てるトランザクション要求に対して処理が完了されるべき時刻を示すデッドライン時刻を設定する。トランザクション管理装置3は、例えば、サーバ装置であってもよいし、パーソナルコンピュータ装置であってもよい。
次に、トランザクション管理装置3の構成例について説明する。図1に示すように、トランザクション管理装置3は、管理部4と、制御部5とを備える。
管理部4は、トランザクション処理装置に処理されたトランザクション要求の処理結果をトランザクション処理装置2から受信し、受信した処理結果を履歴情報として管理する。
制御部5は、履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出する。制御部5は、算出した信頼度に基づいて期待処理時間を決定し、決定された期待処理時間を用いてトランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する。デッドライン時刻は、トランザクション要求の処理が完了されるべき時刻である。
また、上記所定条件は、受信順が新しい方から第1の数の処理結果が、期待処理時間が最後に変更された後のトランザクション要求の処理結果であり、デッドライン時刻までに処理完了していることを示す処理結果であることであってもよい。
以上説明したように、管理部4は、トランザクション処理装置2に処理されたトランザクション要求の処理結果を受信し、履歴情報として管理する。制御部5は、履歴情報に含まれる処理結果が所定条件を満たす場合、期待処理時間の信頼度を算出する。制御部5は、算出した信頼度に基づいて、期待処理時間が適切であるか否かを判断した上で期待処理時間を決定し、トランザクション処理装置2に割り当てるトランザクション要求のデッドライン時刻を設定する。したがって、実施の形態によれば、各トランザクション要求のデッドライン時刻を最適化することができる。
(実施の形態)
以下、図面を参照して、本開示の実施の形態の詳細について説明する。
<情報処理システムの構成例>
まず、図2を用いて、実施の形態にかかる情報処理システム100の構成例について説明する。図2は、実施の形態にかかる情報処理システムの構成例を示す図である。情報処理システム100は、クライアント端末10と、トランザクション管理装置20と、トランザクション処理装置30と、を備える。
クライアント端末10は、トランザクション処理装置30に処理させるトランザクション要求をトランザクション管理装置20に対して送信する。クライアント端末10は、例えば、サーバ装置であってもよいし、パーソナルコンピュータ装置であってもよい。
トランザクション管理装置20は、実施の形態の概要におけるトランザクション管理装置3に対応する。トランザクション管理装置20は、クライアント端末10からのトランザクション要求を受信する。トランザクション管理装置20は、受信したトランザクション要求をトランザクション処理装置30に割り当てる。
トランザクション管理装置20は、トランザクション処理装置30に割り当てるトランザクション要求に対して、処理が完了されるべき時刻を示すデッドライン時刻を設定してトランザクション処理装置30に割り当てる。なお、以降の説明において、デッドライン時刻を単にデッドラインとして記載することがある。
トランザクション管理装置20は、トランザクション処理装置30に割り当てるトランザクション要求に設定するデッドライン時刻を、当該トランザクション要求の処理開始から処理完了までの期待処理時間を決定し、決定した期待処理時間に基づいて設定する。トランザクション管理装置20は、トランザクション処理装置30に割り当てるトランザクション要求に、処理開始時刻を示す起動時刻に期待処理時間を加算して算出された時刻をデッドライン時刻として設定する。
トランザクション管理装置20は、トランザクション処理装置30からトランザクション要求の処理結果をトランザクション処理装置30から受信する。トランザクション管理装置20は、トランザクション要求の処理結果を、トランザクション処理装置30が処理完了した順に受信し、受信したトランザクション要求の処理結果を履歴情報テーブルT1に登録する。なお、履歴情報テーブルT1の説明は後述する。
トランザクション処理装置30がトランザクション要求をデッドライン時刻までに処理完了した場合、トランザクション管理装置20は、トランザクション要求の起動時刻(処理開始時刻)及び完了時刻(処理完了時刻)を処理結果として受信する。
また、トランザクション処理装置30がトランザクション要求をデッドライン時刻までに処理完了しなかった場合、トランザクション管理装置20は、トランザクション要求がデッドライン時刻までに処理完了しなかったことを示す情報を処理結果として受信する。
トランザクション処理装置30は、実施の形態の概要におけるトランザクション処理装置2に対応する。トランザクション処理装置30は、例えば、サーバ装置であってもよいし、パーソナルコンピュータ装置であってもよい。なお、図2では、トランザクション処理装置30は、トランザクション管理装置20と異なる装置として記載されているが、トランザクション管理装置20及びトランザクション処理装置30を1つの装置で構成してもよい。この場合、トランザクション処理装置30はトランザクション処理部として機能する。
トランザクション処理装置30は、トランザクション管理装置20から割り当てられたトランザクション要求を処理する。トランザクション処理装置30は、トランザクション要求を処理すると、当該トランザクション要求の処理結果をトランザクション管理装置20に送信する。トランザクション処理装置30が送信する処理結果は、上述した通りであるため記載を割愛する。
<トランザクション管理装置の構成例>
次に、トランザクション管理装置20の構成例について説明する。図2に示すように、トランザクション管理装置20は、トランザクションキュー211と、制御部212と、スケジューラ213と、実行キュー214と、管理部215と、情報蓄積部216とを備える。
トランザクションキュー211は、クライアント端末10からトランザクション要求を受信し、受信したトランザクション要求を一時的に蓄積し、制御部212に出力する。トランザクションキュー211は、トランザクション要求を制御部212に出力すると、出力したトランザクション要求をキューから取り出す。
制御部212は、実施の形態の概要にかかる制御部5に対応する。制御部212は、トランザクション処理装置30に割り当てるトランザクション要求に対して期待処理時間を決定する。
制御部212は、履歴情報テーブルT1に基づいて期待処理時間を決定する。制御部212は、期待処理時間を決定すると、期待処理時間を用いて、トランザクション処理装置30に割り当てるトランザクション要求にデッドライン時刻を設定する。制御部212は、当該トランザクション要求の起動時刻(処理開始時刻)に、期待処理時間を加算して算出された時刻をデッドライン時刻として設定する。制御部212は、トランザクション処理装置30に割り当てるトランザクション要求のデッドライン時刻を設定すると、スケジューラ213に設定したデッドライン時刻と共にトランザクション要求を出力する。
履歴情報テーブルT1は、トランザクション処理装置30が現在までに処理したトランザクション要求の処理結果が履歴情報として登録されるテーブルである。履歴情報テーブルT1は情報蓄積部216に記憶されており、管理部215が履歴情報テーブルT1を管理する。そのため、制御部212は、管理部215から履歴情報テーブルT1の内容を取得する。
なお、履歴情報テーブルT1の詳細及び制御部212の期待処理時間の決定処理の詳細は後述するため、ここでは制御部212が行う処理の概要を説明する。
制御部212は、履歴情報テーブルT1に含まれる処理結果のうち受信順が新しい方から2つの処理結果にデッドライン時刻までに処理が完了しなかったことを示す情報が含まれる場合、期待処理時間の最大値を超えない範囲で期待処理時間を段階的に増加させる。なお、本実施の形態では、受信順が新しい方から2つの処理結果を用いることとするが、2つよりも多くの処理結果を用いてもよいし、1つであってもよい。
以降の説明では、期待処理時間の最大値を、処理継続不可基準時間と称して記載する。処理継続不可基準時間は、トランザクション処理装置30にトランザクション要求を割り当てたとしてもデッドライン時刻までに処理完了しないと予測される時間である。期待処理時間が処理継続不可基準時間を超過する場合、制御部212は、トランザクション処理装置30が異常状態であると判断する。なお、本実施の形態では、期待処理時間の初期値を5.0秒とし、最大値(処理継続不可基準時間)を10.0秒として説明する。
制御部212は、受信順が新しい方から2つの処理結果にデッドライン時刻までに処理が完了しなかったことを示す情報が含まれる場合であって、期待処理時間が処理継続不可基準時間とである場合、トランザクション処理装置30を異常と判定する。そして、制御部212は、トランザクション処理装置30を閉塞する。なお、制御部212は、トランザクション処理装置30を異常と判定する場合、トランザクション処理装置30を閉塞せずに、トランザクション処理装置30に新たなトランザクション要求を割り当てないように処理してもよい。
制御部212は、履歴情報テーブルT1に含まれる処理結果のうち、最後に受信した処理結果が、デッドライン時刻までにトランザクション要求が処理完了したことを示す情報を含む場合、基本的に、期待処理時間を変更しない。すなわち、制御部212は、トランザクション処理装置30が最後に処理したトランザクション要求がデッドライン時刻までに処理完了した場合、期待処理時間を、最後に決定した期待処理時間と同じ値として決定する。
一方、制御部212は、履歴情報テーブルT1に含まれる処理結果が所定条件を満たす場合、期待処理時間の信頼度を算出する。制御部212は、履歴情報テーブルT1に含まれる処理結果のうち受信順が新しい方から5つの処理結果が、所定条件を満たす処理結果である場合、当該5つの処理結果に基づいて期待処理時間の信頼度を算出する。所定条件は、期待処理時間が最後に変更された後のトランザクション要求の処理結果であって、デッドライン時刻までに処理完了していることを示す処理結果であることである。なお、本実施の形態では、5つのトランザクション要求の処理結果を用いることとして説明するが、5つ以上のトランザクション要求の処理結果を用いてもよいし、5つ以下のトランザクション要求の処理結果を用いてもよい。
制御部212は、期待処理時間の信頼度が基準値以下である場合、期待処理時間を、最後に決定した期待処理時間と同じ値として決定する。つまり、この場合、制御部212は、期待処理時間を変更せず、最後に決定した期待処理時間を用いてデッドライン時刻を設定する。
一方、制御部212は、期待処理時間の信頼度が基準値よりも大きい場合、期待処理時間を、期待処理時間の初期値に戻す。つまり、この場合、制御部212は、期待処理時間を、期待処理時間の初期値として決定して、期待処理時間の初期値を用いてデッドライン時刻を設定する。
期待処理時間の信頼度は、上記5つのトランザクション要求の処理時間のばらつき度合いであってもよい。トランザクション要求の処理時間のばらつき度合いは、変動係数であってもよいし、分散であってもよいし、標準偏差であってもよいし、これらのうち2つ以上を組み合わせてもよい。もしくは、期待処理時間の信頼度は、上記5つのトランザクション要求の処理完了時刻からデッドライン時刻までの残りの時間の平均値であってもよい。なお、以降の説明では、期待処理時間の信頼度は、上記5つのトランザクション要求の処理時間の変動係数であるとして説明する。
変動係数は、以下の式(1)により算出される。本実施の形態では、上記5つのトランザクション要求の処理時間の変動係数を算出するので、式(1)のnに5をあてはめることによりトランザクション要求の処理時間の変動係数を算出する。
Figure 0007167596000001
ここで、図3を用いて、履歴情報テーブルT1について説明する。図3は、実施の形態にかかる履歴情報テーブルの一例を示す図である。履歴情報テーブルT1は、制御部212が決定した期待処理時間と、トランザクション処理装置30が処理したトランザクション要求の処理結果とが、履歴情報として登録されるテーブルである。
履歴情報テーブルT1には、例えば、トランザクション処理装置30が処理した過去10個分のトランザクション要求の処理結果が履歴情報として登録される。また、履歴情報テーブルT1には、トランザクション処理装置30が処理完了した順に、履歴情報テーブルT1の上から処理結果が履歴情報として設定される。つまり、履歴情報テーブルT1の一番下には、トランザクション処理装置30が最後に処理したトランザクション要求の処理結果が履歴情報として登録される。
なお、本実施の形態では、履歴情報テーブルT1には、過去10個分のトランザクション要求の処理結果が登録されることとして説明するが、10よりも多くの処理結果が登録されてもよい。例えば、履歴情報テーブルT1に、トランザクション管理装置20が起動してからの現在までのトランザクション要求の処理結果が登録されてもよい。
履歴情報テーブルT1には、トランザクション要求受領時の状態と、当該状態において実行されたトランザクション処理実績(処理結果)と、期待処理時間信頼度とが設定される。
なお、図2に示した情報処理システム100は、1つのトランザクション処理装置30を有するので、履歴情報テーブルT1は1つとなる。情報処理システム100が、例えば、複数のトランザクション処理装置30を有する場合、履歴情報テーブルT1は、トランザクション処理装置30の数の分だけ生成されてもよい。もしくは、トランザクション処理装置30の数分の履歴情報が設定された1つの履歴情報テーブルT1として生成されてもよい。この場合、履歴情報テーブルT1には、トランザクション処理装置30を識別する情報がさらに登録されてもよい。
以下、履歴情報テーブルT1に設定される情報について説明する。
トランザクション要求受領時の状態として、経過観察中フラグと、期待処理時間とが設定される。
経過観察中フラグは、制御部212が決定した期待処理時間が適切であるかを判断するための情報である。経過観察中フラグは、トランザクション処理装置30が処理したトランザクション要求に、デッドライン時刻までに処理完了しなかった(デッドライン時刻を超過した)実績が含まれており、現在、期待処理時間を調整している状態であることを示す情報である。なお、以降の説明において、デッドライン時刻までに処理完了しなかったことを、デッドライン超過と称して記載することがある。
経過観察中フラグの設定値はON又はOFFであり、経過観察中フラグには、デッドライン超過の実績があり、現在、期待処理時間を調整している状態である場合、ONが設定される。一方、期待処理時間が初期値に変更(リセット)された場合も含め、デッドライン超過の実績がない状態である場合、経過観察中フラグには、OFFが設定される。また、デッドライン超過の実績があっても、既に期待処理時間が最適化されているといえる状態である場合、経過観察中フラグには、OFFが設定される。
図3に示す様に、経過観察中フラグがOFFからONに変更された場合、変更されたことが分かるように、変更前後の設定値が設定される。なお、経過観察中フラグが変更された場合であっても、変更後の経過観察中フラグの設定値のみが設定されてもよい。
期待処理時間には、制御部212が決定した期待処理時間が設定される。図3に示す様に、期待処理時間が変更された場合、期待処理時間には、変更前後の期待処理時間が設定される。
次に、トランザクション処理実績について説明する。トランザクション処理実績(処理結果)には、トランザクション起動時刻、トランザクション完了時刻、実績トランザクション処理時間及び実績トランザクション処理時間平均が設定される。
トランザクション起動時刻には、トランザクション処理装置30に処理されたトランザクション要求の起動時刻(処理開始時刻)が設定される。
トランザクション完了時刻には、トランザクション処理装置30に処理されたトランザクション要求の完了時刻(処理完了時刻)が設定される。
トランザクション処理装置30がトランザクション要求をデッドライン時刻までに処理完了した場合、トランザクション完了時刻には、トランザクション要求の処理完了時刻が設定される。一方、トランザクション処理装置30がトランザクション要求をデッドライン時刻までに処理完了しなかった場合、トランザクション完了時刻には、「デッドライン超過のためなし」が設定される。
実績トランザクション処理時間には、トランザクション処理装置30に処理されたトランザクション要求の処理時間の実績値が設定される。トランザクション処理装置30がトランザクション要求をデッドライン時刻までに処理完了した場合、実績トランザクション処理時間には、トランザクション要求の処理開始時刻から処理完了時刻までの処理時間が設定される。トランザクション要求の処理開始時刻から処理完了時刻までの処理時間は、管理部215により算出される。
一方、トランザクション処理装置30がトランザクション要求をデッドライン時刻までに処理完了しなかった場合、実績トランザクション処理時間には、「デッドライン超過のためなし」が設定される。
実績トランザクション処理時間平均には、履歴情報テーブルT1のトランザクション完了時刻又は実績トランザクション処理時間に「デッドライン超過のためなし」が最後に設定された履歴情報よりも後に登録された履歴情報の処理時間の平均値が設定される。実績トランザクション処理時間平均は、管理部215が算出して登録する。
期待処理時間信頼度には、上記の式(1)により算出される変動係数が設定される。期待処理時間信頼度は、制御部212により算出され、履歴情報テーブルT1に設定される。なお、期待処理時間信頼度は、制御部212が内部的に記憶しておけば良い情報であるため、履歴情報テーブルT1に含まれなくてもよい。
図2に戻り説明を続ける。スケジューラ213は、制御部212からトランザクション要求が出力されると、受け取ったトランザクション要求を実行キュー214に挿入し、ソートする。
実行キュー214は、トランザクション処理装置30に割り当てるトランザクション要求を一時的に蓄積する。実行キュー214は、ソートされた順序で、トランザクション処理装置30にトランザクション要求を振り分ける。
管理部215は、実施の形態の概要にかかる管理部4に対応する。管理部215は、トランザクション処理装置30に処理されたトランザクション要求の処理結果を受信し、受信した処理結果を履歴情報として管理する。管理部215は、トランザクション要求の処理結果をトランザクション処理装置30から受信する。そして、管理部215は、受信したトランザクション要求の処理結果を履歴情報テーブルT1に登録する。
トランザクション処理装置30がデッドライン時刻までにトランザクション要求の処理を完了させた場合、管理部215は、トランザクション要求の起動時刻及び完了時刻を処理結果としてトランザクション処理装置30から受信する。管理部215は、受信した起動時刻及び完了時刻を履歴情報テーブルT1に登録し、起動時刻及び完了時刻からトランザクション要求の処理時間の実績値を算出し、算出した処理時間を履歴情報テーブルT1に登録する。
一方、トランザクション処理装置30がデッドライン時刻までにトランザクション要求の処理を完了しなかった場合、管理部215は、トランザクション要求がデッドラインまでに処理完了しなかったことを示す情報を受信する。この場合、管理部215は、「デッドライン超過のためなし」を履歴情報テーブルT1に登録する。
また、管理部215は、制御部212が決定した期待処理時間を制御部212から受信し、履歴情報テーブルT1に登録する。
さらに、管理部215は、履歴情報テーブルT1の経過観察中フラグを管理する。具体的には、管理部215は、制御部212が決定した期待処理時間を制御部212から受信して、期待処理時間が初期値から変更されたと判断した場合、履歴情報テーブルT1の経過観察中フラグに、例えば、「OFF→ON」を設定する。管理部215は、制御部212から経過観察中フラグをOFFに変更することを示す情報を受信した場合、経過観察中フラグをOFFに変更する。管理部215は、制御部212から経過観察中フラグを無効に変更することを示す情報を受信した場合、経過観察中フラグを無効に変更してもよいし、OFFに設定してもよい。
また、管理部215は、トランザクション処理装置30から処理結果を受信すると、処理時間の平均値を算出する。管理部215は、履歴情報テーブルT1のトランザクション完了時刻又は実績トランザクション処理時間に「デッドライン超過のためなし」が最後に登録された履歴情報よりも後に登録された履歴情報の実績トランザクション処理時間の平均値を算出する。そして、管理部215は、算出した平均値を、履歴情報テーブルT1の実績トランザクション処理時間平均に設定する。
情報蓄積部216は、記憶部として機能し、履歴情報テーブルT1を記憶する。また、情報蓄積部216は、管理部215からの要求に応じて、履歴情報テーブルT1に情報を登録したり、読み出したりする。
<制御部の構成の詳細>
続いて、図3~図8を用いて、制御部212の構成の詳細を説明する。図3は、実施の形態にかかる履歴情報テーブルの一例を示す図であって、制御部212の構成の詳細を説明する図である。図4~図8は、実施の形態にかかる制御部の構成の詳細を説明する図である。
上述した様に、制御部212は、期待処理時間の決定を行う場合に、処理継続不可基準時間を導入して、期待処理時間が処理継続不可基準時間を超過するか否かを判断基準とする。
まず、トランザクション処理装置30が最後に処理したトランザクション要求がデッドライン時刻までに処理完了しない場合であり、期待処理時間が処理継続不可基準時間を超過していない場合について説明する。
図4は、トランザクション処理装置30が、トランザクション要求をデッドライン時刻までに処理完了しなかった場合であり、期待処理時間が処理継続不可基準時間を超過していない状態を示す図である。図4に示したトランザクション要求は、トランザクション処理装置30が最後に処理したトランザクション要求である。図4には、トランザクション処理装置30が最後に処理したトランザクション要求の起動時刻(処理開始時刻)、トランザクション完了時刻(処理完了時刻)、デッドライン、期待処理時間、及び処理継続不可基準時間を示している。
図4に示す様に、トランザクション処理装置30がトランザクション要求を起動時刻から処理開始しデッドライン時刻までに処理完了しなかった場合、トランザクション処理装置30は処理を打ち切る。この場合、トランザクション処理装置30は、トランザクション要求の完了時刻を保存しない。トランザクション処理装置30は、トランザクション管理装置20にトランザクション要求の処理結果として当該トランザクション要求の起動時刻と、デッドライン時刻までに処理完了しなかったことを示す情報とを送信する。
次に、制御部212は、最後から2番目のトランザクション要求もデッドライン時刻までに処理完了しなかったか否かを判定する。制御部212は、最後から2番目のトランザクション要求もデッドライン時刻までに処理完了していないと判定する場合、期待処理時間が処理継続不可基準時間であるか否かを判定する。
図4では、期待処理時間が処理継続不可基準時間ではないため、制御部212は、次に割り当てるトランザクション要求の期待処理時間を、処理継続不可基準時間(10秒)を超過しない範囲で段階的に増加させる。つまり、制御部212は、受信順が新しい方から2つの処理結果が、デッドライン時刻までに処理完了しなかったことを示す場合、次に割り当てるトランザクション要求の期待処理時間を、処理継続不可基準時間を超えない範囲で段階的に増加させる。本実施の形態では、制御部212は、期待処理時間を20%増加(1秒増加)させる。なお、制御部212は、1秒以外の時間分だけ期待処理時間を増加させるようにしてもよいし、デッドライン時刻までに処理完了しなかったトランザクション要求数に応じて、増加させる時間を変更してもよい。
次に、トランザクション処理装置30が最後に処理したトランザクション要求がデッドライン時刻までに処理完了しない場合であり、期待処理時間が処理継続不可基準時間となっている場合について説明する。
図5は、図4と同様に、トランザクション処理装置30が、トランザクション要求を起動時刻から処理開始し、デッドライン時刻までに当該トランザクション要求が処理完了しなかった場合である。ただし、図5は、図4と異なり、図示されているトランザクション要求の期待処理時間が、処理継続不可基準時間である場合を示した図である。つまり、図5は、期待処理時間が、期待処理時間の最大値である処理継続不可基準時間となっている場合を示している。
図5の場合も、図4と同様に、トランザクション処理装置30が、トランザクション要求を起動時刻から処理開始し、デッドライン時刻までに当該トランザクション要求が処理完了しなかった場合、トランザクション処理装置30は処理を打ち切る。トランザクション処理装置30は、トランザクション要求の完了時刻を保存しない。トランザクション処理装置30は、トランザクション管理装置20にトランザクション要求の処理結果として当該トランザクション要求の起動時刻とデッドライン時刻までに処理完了しなかったことを示す情報とを送信する。
次に、制御部212は、最後から2番目のトランザクション要求もデッドライン時刻までに処理完了していないかを判定する。制御部212は、最後から2番目のトランザクション要求もデッドライン時刻までに処理完了していないと判定する場合、期待処理時間が処理継続不可基準時間であるか否かを判定する。
図5では、図4と異なり、期待処理時間が処理継続不可基準時間である。そのため、制御部212は、期待処理時間を増加させると、処理継続不可基準時間を超過するので、期待処理時間を増加させても、以降のトランザクション要求は、デッドライン時刻までに処理完了しないと判断する。そのため、制御部212は、期待処理時間を増加させず、トランザクション処理装置30が異常であると判定し、以降のトランザクション要求をトランザクション処理装置30に割り当てず、トランザクション処理装置30を閉塞する。
この場合、制御部212は、履歴情報テーブルT1の経過観察中フラグを無効にする必要があると判断し、管理部215に経過観察中フラグを無効に変更することを示す情報を送信する。なお、制御部212は、管理部215に経過観察中フラグをOFFに変更することを示す情報を送信するようにしてもよい。
上述した図4及び図5を用いて説明した内容を、図3を用いて説明する。図3は、図4及び図5の状況における履歴情報テーブルT1の状態を示す一例である。図3に示すように、トランザクション管理装置20が起動すると、制御部212は、期待処理時間を初期値である5.0秒に決定する。
図3に示す様に、上から3つ目のトランザクション要求までは、実績トランザクション処理時間に「デッドライン超過のためなし」が設定されておらず、具体的な処理時間が設定されていることから、デッドライン時刻までに処理完了していることを示している。上から3つ目のトランザクション要求は、デッドライン時刻までに処理完了しているため、制御部212は何もしない。上から3つ目までのトランザクション要求の期待処理時間は初期値から変更されていない。そのため、経過観察中フラグはOFFのままとなっている。
次に、上から4つ目のトランザクション要求は、デッドライン時刻までに処理完了しなかったトランザクション要求を示しており、トランザクション完了時刻に「デッドライン超過のためなし」が設定されている。そのため、制御部212は、次のトランザクション要求の処理結果を確認する。
上から5つ目のトランザクションも、上から4つ目のトランザクションと同様に、デッドライン時刻までに処理完了していないので、制御部212は、期待処理時間が処理継続不可基準時間であるか否かを判定する。この場合、期待処理時間は、処理継続不可時間ではないため、制御部212は、次(上から6つ目)のトランザクション要求に対して、期待処理時間を初期値から20%増加した時間を示す6.0秒を設定する。期待処理時間が初期値から変更されたため、経過観察中フラグはONからOFFに変更される。上から6つ目のトランザクション要求の期待処理時間については、図4で説明した状況を示しており、制御部212は、期待処理時間を最後に決定した期待処理時間から20%増加した値に変更する。
次に、上から6つ目以降のトランザクション要求が、デッドライン時刻までに処理完了しなかったとする。そうすると、制御部212は、期待処理時間を段階的に増加していき、図3の一番下のトランザクション要求の様に、期待処理時間として期待処理時間の最大値である処理継続不可基準時間(10秒)を設定する。
図3に示すように、トランザクション処理装置30が最後に処理したトランザクション要求(図3の一番下のトランザクション要求)はデッドライン時刻までに処理完了していない。また、最後から2番目に処理された(図3の下から2番目の)トランザクション要求もデッドライン時刻までに処理完了していない。
そのため、制御部212は、期待処理時間を増加させると、処理継続不可基準時間を超過してしまうため、期待処理時間を変更せず、トランザクション処理装置30を閉塞し、トランザクション処理装置30に新たなトランザクション要求を割り当てない。そして、制御部212は、管理部215に対して経過観察中フラグを無効にすることを示す情報を送信する。
次に、トランザクション処理装置30が最後に処理したトランザクション要求がデッドライン時刻までに処理完了した場合を説明する。図6は、トランザクション処理装置30が、割り当てられたトランザクション要求を起動時刻から処理開始し、デッドライン時刻までに当該トランザクションが処理完了した場合である。この場合、制御部212は、基本的には、期待処理時間を変更しない。つまり、制御部212は、トランザクション処理装置30が最後に処理したトランザクション要求の期待処理時間を、トランザクション処理装置30に次に割り当てるトランザクション要求の期待処理時間として決定する。
ここで、図6に示したトランザクション要求が、期待処理時間が最後に変更された後の5つ目のトランザクション要求であり、期待処理時間が最後に変更された後、全てのトランザクション要求がデッドライン時刻までに処理完了したとする。つまり、制御部212が、期待処理時間が最後に変更された後の5つのトランザクションがデッドライン時刻までに処理完了していると判定したとする。そうすると、制御部212は、当該5つのトランザクション要求の処理時間の変動係数を、上記式(1)を用いて算出する。
制御部212は、変動係数を算出すると、基準値を示す期待処理時間信頼基準と比較する。本実施の形態では、期待処理時間信頼基準が0.30であるとして説明するが、他の値であってもよい。
変動係数が期待処理時間信頼基準以下である場合、制御部212は、トランザクション処理装置30に割り当てるトランザクション要求の期待処理時間を、トランザクション処理装置30が最後に処理したトランザクション要求の期待処理時間として決定する。このように、期待処理時間が最後に変更されてから一定数のトランザクションがデッドライン時刻を超過せず、一定数のトランザクション要求の処理時間の変動係数が基準値以下である場合、制御部212は、期待処理時間は信頼出来る値であると判定する。つまり、制御部212は、期待処理時間が最適化されたと判定する。そのため、制御部212は、以降のトランザクション要求がデッドライン時刻までに処理完了しない場合を除き、トランザクション要求の期待処理時間を、トランザクション処理装置30が最後に処理したトランザクション要求の期待処理時間と同一の値とする。
制御部212は、期待処理時間が最適化されたと判定するので、履歴情報テーブルT1の経過観察中フラグをOFFにする必要があると判断し、管理部215に経過観察中フラグをOFFに変更することを示す情報を送信する。
一方、変動係数が期待処理時間信頼基準よりも大きい場合、制御部212は、期待処理時間は信頼出来る値ではなく、期待処理時間を再度最適化する必要があると判断する。そして、制御部212は、期待処理時間の初期値を、トランザクション処理装置30に割り当てるトランザクション要求の期待処理時間と決定する。
また、制御部212は、期待処理時間が初期化された(初期値に戻る)ため、履歴情報テーブルT1の経過観察中フラグをOFFにする必要があると判断し、管理部215に経過観察中フラグをOFFに変更することを示す情報を送信する。
図7及び図8を用いてトランザクション処理装置30が最後に処理したトランザクション要求がデッドライン時刻までに処理完了し、期待処理時間が最後に変更された後の5つのトランザクション要求がデッドライン時刻までに処理完了した場合の状況を説明する。図7は、変動係数が期待処理時間信頼基準以下の場合の例を示している。図8は、変動係数が期待処理時間信頼基準よりも大きい場合の例を示している。
まず、図7について説明する。図3と同様に、トランザクション管理装置20が起動すると、制御部212は、期待処理時間を初期値である5.0秒に設定する。その後、上から5つ目のトランザクション要求までは、図3と同様である。
図7に示す様に、最後に期待処理時間が変更された、上から5つ目のトランザクション要求以降の連続する5つのトランザクション要求がデッドライン時刻までに処理完了したとする。そうすると、制御部212は、この5つのトランザクション要求のうち、4つ目までのトランザクション要求に対しては期待処理時間を変更せず、次のトランザクション要求に対して同じ期待処理時間とする。
図7の一番下のトランザクション要求は、期待処理時間が最後に変更された後、期待処理時間が同一である5つ目のトランザクション要求である。そのため、制御部212は、この5個分のトランザクション要求に対して、処理時間の変動係数を算出する。つまり、制御部212は、この5個分のトランザクション要求の処理時間から期待処理時間信頼度を算出する。
図7の場合、算出された変動係数は、図7の期待処理時間信頼度に設定されているように0.09となる。この値は、期待処理時間信頼基準である0.30以下であるので、制御部212は、期待処理時間は信頼出来ると判断し、以降のトランザクション要求に対しても、期待処理時間を7.0秒と決定する。また、制御部212は、経過観察中フラグをOFFに変更することを示す情報を管理部215に送信する。
次に、図8について説明する。図8は、図7と基本的に同様となるが、期待処理時間信頼度が図7と異なる。図8に示すように、期待処理時間信頼度は0.51と算出される。算出された期待処理時間信頼度は、期待処理時間信頼基準である0.30よりも大きいので、期待処理時間は信頼出来ないと判断する。
そして、制御部212は、期待処理時間を再調整すべく、期待処理時間の初期値である5秒を、次のトランザクション要求の期待処理時間として決定する。また、制御部212は、経過観察中フラグをOFFに変更することを示す情報を管理部215に送信する。
<トランザクション管理装置の動作例>
続いて、図9を用いて、トランザクション管理装置20の動作例について説明する。図9は、実施の形態にかかるトランザクション管理装置の動作例を説明する図である。具体的には、図9は、制御部212がトランザクションキュー211からトランザクション要求を受信し、スケジューラ213にトランザクション要求を出力するまでの動作例である。
まず、制御部212は、トランザクションキュー211から到着順にトランザクション要求を取得する(ステップS1)。
次に、制御部212は、管理部215を介して情報蓄積部216で記憶されている履歴情報テーブルT1の実績トランザクション処理時間と実績トランザクション処理時間平均を取得する(ステップS2)。なお、制御部212は、履歴情報テーブルT1の情報をステップS2において管理部215から取得しておいてもよいし、以降説明する各処理において必要な情報を当該処理において取得するようにしてもよい。
制御部212は、取得した実績トランザクション処理時間から前回デッドラインを超過したかどうか確認する(ステップS3)。換言すると、制御部212は、トランザクション処理装置30が最後に処理したトランザクション要求がデッドラインまでに処理完了したから否かを、実績トランザクション処理時間から判定する。
制御部212は、実績トランザクション処理時間のうち、最後に処理されたトランザクション要求の実績トランザクション処理時間に「デッドライン超過のためなし」が設定されている場合、前回デッドラインを超過したと判定する(ステップS3のYES)。そして、ステップS4の処理を実行する。
一方、制御部212は、取得した実績トランザクション処理時間のうち、最後に処理されたトランザクション要求の実績トランザクション処理時間に具体的な数値が設定されている場合、前回デッドラインを超過しなかったと判定する(ステップS3のNO)。そして、ステップS10の処理を実行する。
ステップS4において、管理部215は、経過観察中フラグをONに設定する(ステップS4)。管理部215は、ステップS3において、前回デッドラインを超過したことを制御部212が判定した結果を受信して、経過観察中フラグをONに設定してもよい。もしくは、管理部215は、ステップS2において、制御部212に出力した、実績トランザクション処理時間の設定情報に基づいて、前回デッドラインを超過したことを判定し、経過観察中フラグをONに設定してもよい。なお、ステップS4の時点で既に経過観察中フラグがONである場合は、ステップS4をスキップするようにしてもよい。
次に、制御部212は、前々回もデッドラインを超過したか否かを判定する(ステップS5)。制御部212は、ステップS2において取得した実績トランザクション処理時間のうち、最後から2番目に処理されたトランザクション要求の処理時間(実績トランザクション処理時間)に「デッドライン超過のためなし」が設定されているか否かを判定する。
具体的には、制御部212は、最後から2番目に処理されたトランザクション要求の実績トランザクション処理時間に「デッドライン超過のためなし」が設定されている場合、前々回デッドラインを超過したと判定する(ステップS5のYES)。そして、ステップS6の処理を実行する。つまり、制御部212は、受信順が新しい所定数(2つ)の処理結果が、デッドラインまでにトランザクションが処理完了しなかったことを示す場合、ステップS6の処理を実行する。
一方、制御部212は、取得した実績トランザクション処理時間のうち、最後から2番目のトランザクション要求の実績トランザクション処理時間に具体的な数値が設定されている場合、前々回デッドラインを超過しなかったと判定する(ステップS5のNO)。そして、ステップS9の処理を実行する。
ステップS6において、制御部212は、期待処理時間が処理継続不可基準時間であるか否かを判定する(ステップS6)。制御部212は、管理部215を介して履歴情報テーブルT1の期待処理時間を取得して、期待処理時間が処理継続不可基準時間に到達したか否かを判定する。
期待処理時間が処理継続不可基準時間以上である場合(ステップS6のYES)、制御部212は、トランザクション処理装置30を閉塞する。制御部212は、以降のトランザクションをトランザクション処理装置30に割り当てないようにスケジューラ213に通知する(ステップS7)。制御部212は、クライアント端末10にエラー終了したことを通知し、トランザクション管理装置20は処理を終了する。
一方、期待処理時間が処理継続不可基準時間よりも小さい場合(ステップS6のNO)、制御部212は、トランザクション処理装置30に割り当てる期待処理時間を20%増加させる(ステップS8)。
次に、制御部212は、トランザクション処理装置30に割り当てるトランザクション要求に対して期待処理時間に基づくデッドラインを設定し、スケジューラ213にトランザクション要求を引き渡す(ステップS9)。
ステップS10において、制御部212は、トランザクション処理装置30に最後に処理されたトランザクション要求がデッドライン時刻までに処理完了した場合(ステップS3のNO)、経過観察中フラグがONであるかを判定する(ステップS10)。
制御部212は、管理部215から経過観察中フラグがONとなっているか否かに関する情報を取得して、経過観察中フラグがONであるかOFFであるかを判定してもよい。もしくは、制御部212が管理部に経過観察中フラグがONであるか否かの確認要求をして、管理部215が経過観察中フラグを確認して、制御部212に経過観察中フラグがONであるか否かを応答することにより制御部212が判定してもよい。
ステップS10において、経過観察中フラグがONである場合(ステップS10のYES)、ステップS11の処理を実行する。
一方、ステップS10において、経過観察中フラグがOFFである場合(ステップS10のNO)、ステップS9の処理を実行する。
ステップS11において、制御部212は、過去5回のうち、1回もデッドラインを超過していないかを判定する(ステップS11)。
具体的には、制御部212は、ステップS2において取得した履歴情報テーブルT1の実績トランザクション処理時間のうち、登録順が新しい方から5つ分の実績トランザクション処理時間に「デッドライン超過のためなし」が設定されているか否かを判定する。つまり、制御部212は、管理部215が受信した処理結果に基づいて、期待処理時間が最後に変更された後の所定数(5つ)のトランザクション要求がデッドラインまでに処理完了したか否かを判定する。
ステップS11において、過去5回のうち、1回もデッドラインを超過していないと判定すると(ステップS11のYES)、ステップS12を実行する。
制御部212は、ステップS2において取得した履歴情報テーブルT1の実績トランザクション処理時間のうち登録順が新しい方から5つ分の実績トランザクション処理時間に「デッドライン超過のためなし」が設定されていない場合、ステップS12を実行する。
一方、過去5回のうち、1回もデッドラインを超過していないと判定しないと(ステップS11のNO)、ステップS9を実行する。制御部212は、ステップS2において取得した履歴情報テーブルT1の実績トランザクション処理時間のうち登録順が新しい5つ分の実績トランザクション処理時間のいずれかに「デッドライン超過のためなし」が設定されている場合、ステップS9を実行する。
ステップS12において、制御部212は、過去5回分の実績トランザクション処理時間から期待処理時間信頼度を算出し、経過観察中フラグをOFFにすることを示す情報を管理部215に送信する(ステップS12)。
具体的には、制御部212は、過去5回分の実績トランザクション処理時間と、実績トランザクション処理時間平均と、数式(1)と、を用いて、過去5回分の実績トランザクション処理時間の変動係数を算出する。算出された変動係数は、期待処理時間信頼度である。そして、制御部212は、算出された期待処理時間信頼度を履歴情報テーブルT1に登録することと、経過観察中フラグをOFFにすることを示す情報と、を管理部215に送信する。つまり、制御部212は、管理部215が受信した処理結果に基づいて、期待処理時間が最後に変更された後の5つのトランザクション要求がデッドラインまでに処理完了したと判定する場合、当該5つのトランザクション要求の処理時間の変動係数を算出する。
次に、制御部212は、算出した期待処理時間信頼度(変動係数)と、期待処理時間信頼度基準(基準値)とを比較し、期待処理時間信頼度が期待処理時間信頼度基準以下であるかを判定する(ステップS13)。
期待処理時間信頼度が期待処理時間信頼度基準以下である場合(ステップS13のYES)、ステップS9を実行する。つまり、期待処理時間信頼度が期待処理時間信頼度基準以下である場合(ステップS13のYES)、制御部212は、最後に決定された期待処理時間を、トランザクション処理装置30に割り当てるトランザクション要求の期待処理時間と決定する。
期待処理時間信頼度が期待処理時間信頼度基準よりも大きいである場合(ステップS13のNO)、制御部212は、期待処理時間を初期値に戻す(ステップS14)。つまり、期待処理時間信頼度が期待処理時間信頼度基準よりも大きいである場合(ステップS13のNO)、制御部212は、期待処理時間の初期値を、トランザクション処理装置30に割り当てるトランザクション要求の期待処理時間と決定する。
以上説明したように、制御部212は、トランザクション処理装置30が最後に処理したトランザクション要求及び最後から2番目に処理したトランザクション要求が、デッドライン時刻を超過した場合、期待処理時間を調整する必要があると判断する。そして、制御部212は、以降のトランザクション要求がデッドラインまでに処理完了しなかった場合、期待処理時間を段階的に増加させていく。
さらに、トランザクション処理装置30が処理したトランザクション要求がデッドライン超過しなくなった段階で、制御部212は、期待処理時間の信頼性を実測値である実績トランザクション処理時間の変動係数から判断する。制御部212は、期待処理時間の信頼性が高いと判断できると、期待処理時間が最適であると判断して確定する。
一方、制御部212は、期待処理時間の信頼性が高いと判断できない場合、期待処理時間を初期値に戻し再調整する。すなわち、制御部212は、期待処理時間を最適な値になるように調整することが可能である。したがって、本実施の形態によれば、各トランザクション要求の期待処理時間が適切であるかを判定し、デッドライン時刻を最適化することができる。
(他の実施の形態)
図10は、上述した実施の形態において説明したトランザクション管理装置3及び20(以下、トランザクション管理装置3等と称する)は、次のようなハードウェア構成を有していてもよい。図10は、本開示の各実施の形態にかかるトランザクション管理装置3等を実現可能なコンピュータ(情報処理装置)のハードウェア構成を例示するブロック図である。
図10を参照すると、トランザクション管理装置3等は、ネットワーク・インターフェース1201、プロセッサ1202、及びメモリ1203を含む。ネットワーク・インターフェース1201は、他の無線通信装置と通信するために使用される。ネットワーク・インターフェース1201は、例えば、IEEE 802.11 seriesに準拠したネットワークインターフェースカード(NIC)を含んでもよい。
プロセッサ1202は、メモリ1203からソフトウェア(コンピュータプログラム)を読み出して実行することで、上述の実施形態においてフローチャートを用いて説明されたトランザクション管理装置3等の処理を行う。プロセッサ1202は、例えば、マイクロプロセッサ、MPU(Micro Processing Unit)、又はCPU(Central Processing Unit)であってもよい。プロセッサ1202は、複数のプロセッサを含んでもよい。
メモリ1203は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ1203は、プロセッサ1202から離れて配置されたストレージを含んでもよい。この場合、プロセッサ1202は、図示されていないI/Oインタフェースを介してメモリ1203にアクセスしてもよい。
図10の例では、メモリ1203は、ソフトウェアモジュール群を格納するために使用される。プロセッサ1202は、これらのソフトウェアモジュール群をメモリ1203から読み出して実行することで、上述の実施形態において説明されたトランザクション管理装置3等の処理を行うことができる。
図10を用いて説明したように、トランザクション管理装置3等が有するプロセッサの各々は、図面を用いて説明されたアルゴリズムをコンピュータに行わせるための命令群を含む1または複数のプログラムを実行する。
上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)を含む。さらに、非一時的なコンピュータ可読媒体の例は、CD-ROM(Read Only Memory)、CD-R、CD-R/Wを含む。さらに、非一時的なコンピュータ可読媒体の例は、半導体メモリを含む。半導体メモリは、例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。また、本開示は、それぞれの実施の形態を適宜組み合わせて実施されてもよい。
また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理する管理部と、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する制御部と、を備えるトランザクション管理装置。
(付記2)
前記制御部は、前記信頼度が基準値以下である場合、最後に決定された期待処理時間を用いて前記デッドライン時刻を設定する、付記1に記載のトランザクション管理装置。
(付記3)
前記制御部は、前記信頼度が基準値よりも大きい場合、期待処理時間の初期値を用いて前記デッドライン時刻を設定する、付記1又は2に記載のトランザクション管理装置。
(付記4)
前記制御部は、前記履歴情報に含まれる処理結果のうち受信順が新しい方から第1の数の処理結果が、前記期待処理時間が最後に変更された後のトランザクション要求の処理結果であって、デッドライン時刻までに処理完了していることを示す処理結果である場合、前記第1の数の処理結果に基づいて、前記信頼度を算出する、付記1~3のいずれか1項に記載のトランザクション管理装置。
(付記5)
前記処理結果は、前記処理されたトランザクション要求がデッドライン時刻までに処理完了した場合、前記処理されたトランザクション要求の処理開始時刻と処理完了時刻とを含み、
前記管理部は、前記処理開始時刻と前記処理完了時刻とに基づき前記第1の数のトランザクション要求の処理時間を算出し、
前記制御部は、前記第1の数のトランザクション要求の処理時間に基づいて、前記信頼度を算出する、付記4に記載のトランザクション管理装置。
(付記6)
前記制御部は、前記第1の数のトランザクション要求の処理時間のばらつき度合いを前記信頼度として算出する、付記5に記載のトランザクション管理装置。
(付記7)
前記ばらつき度合いは、変動係数、分散及び標準偏差の少なくとも1つを含む、付記6に記載のトランザクション管理装置。
(付記8)
前記処理結果は、前記処理されたトランザクション要求がデッドライン時刻までに処理完了しなかった場合、前記処理されたトランザクション要求がデッドライン時刻までに処理完了しなかったことを示す情報を含み、
前記制御部は、前記履歴情報に含まれる処理結果のうち受信順が新しい方から第2の数の処理結果に前記情報が含まれる場合、期待処理時間の最大値を超えない範囲で前記期待処理時間を段階的に増加させる、付記1~7のいずれか1項に記載のトランザクション管理装置。
(付記9)
前記制御部は、前記処理結果のうち受信順が新しい方から前記第2の数の処理結果に前記情報が含まれる場合であって、最後に受信した処理結果のトランザクション要求の期待処理時間が前記最大値である場合、前記トランザクション処理装置を閉塞する、付記8に記載のトランザクション管理装置。
(付記10)
前記制御部は、前記処理結果のうち受信順が新しい方から前記第2の数の処理結果に前記情報が含まれる場合であって、最後に受信した処理結果のトランザクション要求の期待処理時間が前記最大値である場合、前記トランザクション処理装置にトランザクション要求を割り当てない、付記8又は9に記載のトランザクション管理装置。
(付記11)
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、を含むトランザクション管理方法。
(付記12)
トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、をコンピュータに実行させるトランザクション管理プログラム。
(付記13)
トランザクション要求の処理要求を行うクライアント端末と、
前記トランザクション要求を処理するトランザクション処理装置と、
前記処理要求に基づいて、前記トランザクション処理装置に前記トランザクション要求を割り当てるトランザクション管理装置と、を備え、
前記トランザクション管理装置は、
前記トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理する管理部と、
前記履歴情報に含まれる処理結果が所定条件を満たす場合、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する制御部と、を備える情報処理システム。
(付記14)
前記制御部は、前記信頼度が基準値以下である場合、最後に決定された期待処理時間を用いて前記デッドライン時刻を設定する、付記13に記載の情報処理システム。
1、100 情報処理システム
2、30 トランザクション処理装置
3、20 トランザクション管理装置
4、215 管理部
5、212 制御部
10 クライアント端末
211 トランザクションキュー
213 スケジューラ
214 実行キュー
216 情報蓄積部

Claims (9)

  1. トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理する管理部と、
    前記履歴情報に含まれる処理結果のうち受信順が新しい方から第1の数の処理結果が、期待処理時間が最後に変更された後のトランザクション要求の処理結果であって、デッドライン時刻までに処理完了していることを示す処理結果である場合、前記第1の数の処理結果に基づいて、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定する制御部と、を備えるトランザクション管理装置。
  2. 前記制御部は、前記信頼度が基準値以下である場合、最後に決定された期待処理時間を用いて前記デッドライン時刻を設定する、請求項1に記載のトランザクション管理装置。
  3. 前記制御部は、前記信頼度が基準値よりも大きい場合、期待処理時間の初期値を用いて前記デッドライン時刻を設定する、請求項1又は2に記載のトランザクション管理装置。
  4. 前記処理結果は、前記処理されたトランザクション要求がデッドライン時刻までに処理完了した場合、前記処理されたトランザクション要求の処理開始時刻と処理完了時刻とを含み、
    前記管理部は、前記処理開始時刻と前記処理完了時刻とに基づき前記第1の数のトランザクション要求の処理時間を算出し、
    前記制御部は、前記第1の数のトランザクション要求の処理時間に基づいて、前記信頼度を算出する、請求項1~3のいずれか1項に記載のトランザクション管理装置。
  5. 前記制御部は、前記第1の数のトランザクション要求の処理時間のばらつき度合いを前記信頼度として算出する、請求項に記載のトランザクション管理装置。
  6. 前記ばらつき度合いは、変動係数、分散及び標準偏差の少なくとも1つを含む、請求項に記載のトランザクション管理装置。
  7. 前記処理結果は、前記処理されたトランザクション要求がデッドライン時刻までに処理完了しなかった場合、前記処理されたトランザクション要求がデッドライン時刻までに処理完了しなかったことを示す情報を含み、
    前記制御部は、前記履歴情報に含まれる処理結果のうち受信順が新しい方から第2の数の処理結果に前記情報が含まれる場合、期待処理時間の最大値を超えない範囲で前記期待処理時間を段階的に増加させる、請求項1~のいずれか1項に記載のトランザクション管理装置。
  8. トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
    前記履歴情報に含まれる処理結果のうち受信順が新しい方から第1の数の処理結果が、期待処理時間が最後に変更された後のトランザクション要求の処理結果であって、デッドライン時刻までに処理完了していることを示す処理結果である場合、前記第1の数の処理結果に基づいて、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、を
    含むトランザクション管理方法。
  9. トランザクション処理装置に処理されたトランザクション要求の処理結果を受信し、前記受信した処理結果を履歴情報として管理することと、
    前記履歴情報に含まれる処理結果のうち受信順が新しい方から第1の数の処理結果が、期待処理時間が最後に変更された後のトランザクション要求の処理結果であって、デッドライン時刻までに処理完了していることを示す処理結果である場合、前記第1の数の処理結果に基づいて、トランザクション要求の処理開始から処理完了までの期待処理時間の信頼度を算出すると共に、前記信頼度に基づいて前記期待処理時間を決定し、前記決定された期待処理時間を用いて前記トランザクション処理装置に割り当てるトランザクション要求にデッドライン時刻を設定することと、をコンピュータに実行させるトランザクション管理プログラム。
JP2018180153A 2018-09-26 2018-09-26 トランザクション管理装置、トランザクション管理方法及びトランザクション管理プログラム Active JP7167596B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018180153A JP7167596B2 (ja) 2018-09-26 2018-09-26 トランザクション管理装置、トランザクション管理方法及びトランザクション管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018180153A JP7167596B2 (ja) 2018-09-26 2018-09-26 トランザクション管理装置、トランザクション管理方法及びトランザクション管理プログラム

Publications (2)

Publication Number Publication Date
JP2020052621A JP2020052621A (ja) 2020-04-02
JP7167596B2 true JP7167596B2 (ja) 2022-11-09

Family

ID=69997211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018180153A Active JP7167596B2 (ja) 2018-09-26 2018-09-26 トランザクション管理装置、トランザクション管理方法及びトランザクション管理プログラム

Country Status (1)

Country Link
JP (1) JP7167596B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7567183B2 (ja) 2020-03-24 2024-10-16 株式会社Jvcケンウッド 音入出力制御装置、音入出力制御方法、及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095869A (ja) 2009-10-28 2011-05-12 Hitachi Ltd リクエスト情報処理方法および計算機システム
WO2011142031A1 (ja) 2010-05-14 2011-11-17 株式会社日立製作所 リソース管理方法、リソース管理装置およびプログラム
JP2015177373A (ja) 2014-03-14 2015-10-05 富士通株式会社 デバイス制御方法、および、通信装置
JP2017010345A (ja) 2015-06-24 2017-01-12 株式会社日立製作所 制御盤設計支援システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095869A (ja) 2009-10-28 2011-05-12 Hitachi Ltd リクエスト情報処理方法および計算機システム
WO2011142031A1 (ja) 2010-05-14 2011-11-17 株式会社日立製作所 リソース管理方法、リソース管理装置およびプログラム
JP2015177373A (ja) 2014-03-14 2015-10-05 富士通株式会社 デバイス制御方法、および、通信装置
JP2017010345A (ja) 2015-06-24 2017-01-12 株式会社日立製作所 制御盤設計支援システム

Also Published As

Publication number Publication date
JP2020052621A (ja) 2020-04-02

Similar Documents

Publication Publication Date Title
US12081454B2 (en) Systems and methods for provision of a guaranteed batch
CN109936511B (zh) 一种令牌获取方法、装置、服务器、终端设备及介质
US9354931B1 (en) Method, server and computer-readable recording medium for managing size of thread pool dynamically
CN105718317B (zh) 一种任务调度方法及装置
US10890960B2 (en) Method and apparatus for limiting rack power consumption
JP7167596B2 (ja) トランザクション管理装置、トランザクション管理方法及びトランザクション管理プログラム
US11507565B2 (en) Accelerated processing apparatus for transaction and method thereof
US20160080267A1 (en) Monitoring device, server, monitoring system, monitoring method and program recording medium
US8677375B2 (en) Selecting executing requests to preempt
US20170185456A1 (en) Dynamically scaled web service deployments
KR20150001146A (ko) 스토리지 시스템 및 그의 동작 방법
US20160306657A1 (en) Dynamic priority queue
CN112887407B (zh) 用于分布式集群的作业流量控制方法和装置
US11321143B2 (en) Information processing device and distributed system
JP2017162059A (ja) 情報処理装置、制御方法、プログラム
US11700299B2 (en) Information processing apparatus, information processing system, non-transitory computer-readable medium, and information processing method
US9838324B2 (en) Information processing system, information management apparatus, and data transfer control method
JP7459573B2 (ja) 制御装置、制御方法、及びプログラム
TWI584667B (zh) 多請求的排程方法及排程裝置
TWI556612B (zh) 適用於遠端程序呼叫的逾時控制單元與遠端程序呼叫方法
US20230068467A1 (en) Monitoring system, monitoring method, agent program and manager program
CN105847171A (zh) 网络设备过载保护方法
WO2021074997A1 (ja) 解析処理装置、システム、方法及びプログラムが格納された非一時的なコンピュータ可読媒体
US20240231904A1 (en) Scheduling device, scheduling method, and scheduling program
WO2019176740A1 (ja) デバイス割り当て制御方法、システムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220530

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220927

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221010

R151 Written notification of patent or utility model registration

Ref document number: 7167596

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151