(57)【要約】【課題】  トランザクションの監視時間を信頼性の高い値に自動設定する。【解決手段】  トランザクションの実行を制御するトランザクション制御手段と、トランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段と、実行時間及び実行回数からトランザクション装置の異常を検出する基準となる監視時間を決定する監視時間決定手段と、トランザクションの実行が決定された監視時間を超えても終了しない場合にトランザクション装置が異常であると判断するトランザクション監視手段と、を備え、監視時間決定手段が、トランザクションの実行時間の平均値と標準偏差とを算出し、この平均値に標準偏差に基づく補正値を加算した平均推定値最大値に基づいて監視時間を決定する。【選択図】図２
2007048110.tif 000002
【特許請求の範囲】
【請求項１】
トランザクション要求を受け付けてトランザクションを実行するトランザクション装置であって、
トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力するトランザクション制御手段と、このトランザクション制御手段から前記制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段と、この記憶されたトランザクションの実行時間及び実行回数からトランザクション装置の異常を検出する基準となる監視時間を決定する監視時間決定手段と、前記トランザクション制御手段から前記制御情報を取得してトランザクションの実行が前記決定された監視時間を超えても終了しない場合にトランザクション装置が異常であると判断するトランザクション監視手段と、を備え、
前記監視時間決定手段が、前記トランザクションの実行時間の平均値と標準偏差とを算出し、この平均値に前記標準偏差に基づく補正値を加算した平均推定値最大値に基づいて前記監視時間を決定する、
ことを特徴とするトランザクション装置。
【請求項２】
前記監視時間決定手段は、前記標準偏差を前記実行回数に基づく値にて除算した値を前記補正値として用いる、ことを特徴とする請求項１記載のトランザクション装置。
【請求項３】
前記監視時間決定手段は、
【数１】
2007048110.tif 000020
上記数１式にて前記平均推定値最大値を算出する、ことを特徴とする請求項２記載のトランザクション装置。
【請求項４】
前記監視時間決定手段は、前記平均推定値最大値に前記標準偏差に基づく値を加算していて前記監視時間を決定する、ことを特徴とする請求項１，２又は３記載のトランザクション装置。
【請求項５】
前記監視時間決定手段は、
【数２】
2007048110.tif 000021
上記数２式にて前記監視時間を決定する、ことを特徴とする請求項４記載のトランザクション装置。
【請求項６】
前記実行時間管理手段は、管理者から入力されるリセット操作に基づいて記憶保持されている実行時間及び実行回数を消去する、ことを特徴とする請求項１，２，３，４又は５記載のトランザクション装置。
【請求項７】
トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にてトランザクションの実行時間と比較され、当該実行時間が超えた場合にトランザクション装置が異常であると判断する基準となる監視時間を決定する監視時間決定装置であって、
少なくともトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段から当該実行時間及び実行回数を読み出して、この実行時間及び実行回数に基づいて前記トランザクションの実行時間の平均値と標準偏差とを算出し、この平均値に前記標準偏差に基づく補正値を加算した平均推定値最大値に基づいて前記監視時間を決定する、
ことを特徴とする監視時間決定装置。
【請求項８】
【数３】
2007048110.tif 000022
上記数３式にて前記平均推定値最大値を算出する、ことを特徴とする請求項７記載の監視時間決定装置。
【請求項９】
【数４】
2007048110.tif 000023
上記数４式にて前記監視時間を決定する、ことを特徴とする請求項８記載の監視時間決定装置。
【請求項１０】
トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にてトランザクションの実行時間と比較され、当該実行時間が超えた場合にトランザクション装置が異常であると判断する基準となる監視時間を、コンピュータを用いて算出する監視時間決定方法であって、
コンピュータが、少なくともトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段から当該実行時間及び実行回数を読み出して、この実行時間及び実行回数に基づいて前記トランザクションの実行時間の平均値と標準偏差とを算出し、この平均値に前記標準偏差に基づく補正値を加算した平均推定値最大値に基づいて前記監視時間を決定する、
ことを特徴とする監視時間決定方法。
【請求項１１】
【数５】
2007048110.tif 000024
前記コンピュータが、上記数５式にて前記平均推定値最大値を算出する、ことを特徴とする請求項１０記載の監視時間決定方法。
【請求項１２】
【数６】
2007048110.tif 000025
前記コンピュータが、上記数６式にて前記監視時間を決定する、ことを特徴とする請求項１１記載の監視時間決定方法。
【請求項１３】
トランザクション要求を受け付けてトランザクションを実行するトランザクション装置に、
トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力するトランザクション制御手段と、このトランザクション制御手段から前記制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段と、この記憶されたトランザクションの実行時間及び実行回数からトランザクション装置の異常を検出する基準となる監視時間を決定する監視時間決定手段と、前記トランザクション制御手段から前記制御情報を取得してトランザクションの実行が前記決定された監視時間を超えても終了しない場合にトランザクション装置が異常であると判断するトランザクション監視手段と、を実現するためのプログラムであり、
前記監視時間決定手段が、前記トランザクションの実行時間の平均値と標準偏差とを算出し、この平均値に前記標準偏差に基づく補正値を加算した平均推定値最大値に基づいて前記監視時間を決定する、
ことを特徴とするプログラム。
【請求項１４】
前記監視時間決定手段は、
【数７】
2007048110.tif 000026
上記数７式にて前記平均推定値最大値を算出する、ことを特徴とする請求項１３記載のプログラム。
【請求項１５】
前記監視時間決定手段は、
【数８】
2007048110.tif 000027
上記数８式にて前記監視時間を決定する、ことを特徴とする請求項１４記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、トランザクション装置に係り、特に、トランザクションの異常を監視するトランザクション装置に関する。
【背景技術】
【０００２】
トランザクション処理は、いわゆるオンラインリアルタイム処理であり、与えられた情報を即時に処理し、その結果を必要な場所で受け取ることを可能にするコンピュータシステムである。そして、処理を要求する側をクライアント、要求された処理を実行して結果を返す側をサーバと呼び、一般的には、端末装置側にクライアントアプリケーション（クライアントアプリケーションプログラムの略）が設けられ、端末装置と通信回線を介して接続されたホストコンピュータ側にサーバアプリケーション（サーバアプリケーションプログラムの略）が設けられる。
【０００３】
従来のトランザクション処理においては、ある一定時間（以降、トランザクション実行監視時間と表現する）を超えてもサーバアプリケーションからの応答がない場合、そのサーバアプリケーションに何らかの障害（以降、無応答障害と表現する）が発生していると判断し、サーバアプリケーションの再起動等の障害復旧処理を行う。しかし、このトランザクション実行監視時間が短すぎると、正常なトランザクション実行中に障害復旧処理を行ってしまいかねず、逆にトランザクション実行監視時間が長すぎると障害復旧までに不必要な時間がかかり、無応答障害時間が長くなってしまう、という問題があった。
【０００４】
そして、トランザクションの無応答障害を検出する方法として特許文献１や特許文献２に開示されているが、かかる文献開示の方法では、トランザクション実行監視時間を運用管理者があらかじめ設定する必要がある。
【０００５】
【特許文献１】特開平５−１０８４１８号公報
【特許文献２】特開昭５８−１９１０４５号公報
【特許文献３】特開２００２−２９７５３５号公報
【特許文献４】特開２００２−２２９８６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
一方で、トランザクション実行監視時間を自動設定する従来の試みとして、特許文献３に開示されている技術が挙げられる。しかし、かかる文献によると、端末との通信を監視し制御するのみで、トランザクションそのものの処理を制御することができない。また、トランザクション実行監視時間の設定方法に関しても以下に示す問題がある。
【０００７】
第一に、従来の方法では、トランザクション実行時間の平均値に、トランザクション実行単位（以降、オペレーションと表現する）ごとに設定された係数を掛けた値をトランザクション実行監視時間として設定している。ここで、実行時間のばらつきの多いオペレーションについてはこの係数を大きめにとらなければ正常動作時も異常動作と見なしてしまう可能性がある。また、実行時間のばらつきの少ないオペレーションについてはこの係数を少なめにとらなければ異常検出までに不必要に長い時間がかかってしまう。かかる状況下において、上記従来の方法では、そのオペレーションの実行時間データのばらつきに関する係数をオペレーション毎にシステム運用者が手動で設定しなければならず、結局のところトランザクション実行監視時間を完全に自動で設定することができない。従って、トランザクション実行監視時間を設定する際にシステム運用者に強いる負担は依然として大きい。そして、従来の方法では、オペレーションの実行時間データのばらつきに関する適当な係数を算出する手段を擁していないので、このオペレーションの実行時間データのばらつきに関するこの係数を使用して算出されたトランザクション実行監視時間が適当であるか否かは、システム運用者の設定次第であり、システム運用者の設定如何によっては、不適当なトランザクション実行監視時間が設定されてしまう。
【０００８】
第二に、従来の方法では、処理件数の最も多かった日の平均値データをトランザクション実行監視時間の算出に使用しているが、１日分のデータしか保持しておらず、それまでに取得した大部分のデータから得られる情報は考慮されていない。この方法では、処理件数の多かった日の実行時間が異常に長いまたは短かった場合、不適当なトランザクション実行監視時間を延々と使用し続けてしまうことになる。また、明確な実行時間の変化があったとしても、該当トランザクションの処理件数が過去の最頻時より少なければ、不適当な値が延々と使用され続ける。このような明確なパフォーマンスの変化にシステム運用者が気づいたとしても、従来の方法では、トランザクション実行監視時間を適当な値に即時適応させることができない。
【０００９】
第三に、上記従来の方法では、トランザクション実行監視時間を算出する際に使用する正常運転時の実行時間平均値データについての信頼度が考慮されていない。従って、信頼できない実行時間平均値データを使用した結果、正常な長時間トランザクションを障害発生と判断してしまう可能性を低減できない、という問題が生じる。
【００１０】
さらに、上記同様に自動設定する従来の試みとして、特許文献４が挙げられる。かかる文献記載のシステムは、ディスク装置の応答時間を監視し、その平均値と標準偏差から、異常と判断する基準となる標準応答時間（監視時間）を求める、というものである。しかし、上記文献記載のシステムにおいても、以下のような問題が生じる。
【００１１】
まず、実際の応答時間の平均値と標準偏差を用いることから、これらを収集している一定期間の間は障害対策処理を行うことができないこととなり、その期間の適切な設定が困難となる。つまり、データを収集している期間があまりに短い期間であると、不正な標準応答時間を設定してしまう可能性が高まり、一方、長くすると障害対策処理を行うことができない期間が長くなってしまう、という問題が生じる。そして、収集したデータが正規分布に従う場合には、平均値と標準偏差から処理が一定の時間内に終了する確率が高くなるよう標準応答時間を設定するとしているが、分布が特定されては多種のオペレーションを扱うトランザクション処理には適用困難である。
【００１２】
さらに、標準応答時間の初期値として人手により設定することが開示されているが、多種のトランザクションを扱うシステムにおいては、かかる手動設定を用いることは困難である。また、具体的にディスク装置の最大応答時間を設定するとあるが、かかる値を知っていることが必要となり、オペレーションごとに設定することは困難である。
【００１３】
このため、本発明は、上記従来例の有する不都合を改善し、特に、トランザクションの異常を判断するために実行時間と比較される監視時間を、信頼性の高い値に自動設定可能であり、異常なトランザクションをより的確に検出して障害対策を行う、ことをその目的とする。
【課題を解決するための手段】
【００１４】
そこで、本発明の一形態であるトランザクション装置は、
トランザクション要求を受け付けてトランザクションを実行するトランザクション装置であって、
トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力するトランザクション制御手段と、このトランザクション制御手段から制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段と、この記憶されたトランザクションの実行時間及び実行回数からトランザクション装置の異常を検出する基準となる監視時間を決定する監視時間決定手段と、トランザクション制御手段から制御情報を取得してトランザクションの実行が決定された監視時間を超えても終了しない場合にトランザクション装置が異常であると判断するトランザクション監視手段と、を備え、
監視時間決定手段が、トランザクションの実行時間の平均値と標準偏差とを算出し、この平均値に標準偏差に基づく補正値を加算した平均推定値最大値に基づいて監視時間を決定する、
ことを特徴としている。
【００１５】
そして、監視時間決定手段は、標準偏差を前記実行回数に基づく値にて除算した値を補正値として用いる、ことを特徴としており、特に、監視時間決定手段は、
【００１６】
【数９】
2007048110.tif 000003
上記数９式にて平均推定値最大値を算出する、ことを特徴としている。
【００１７】
また、監視時間決定手段は、平均推定値最大値に標準偏差に基づく値を加算していて監視時間を決定する、ことを特徴としており、特に、監視時間決定手段は、
【００１８】
【数１０】
2007048110.tif 000004
上記数１０式にて監視時間を決定する、ことを特徴としている。
【００１９】
上記発明によると、まず、トランザクションが実行されると、常時、トランザクションの実行時間が計測されて、その回数と共に記憶保持される。そして、一定の時間間隔ごとに、この記憶された実行時間と実行回数からトランザクションの異常を検出する基準となる監視時間が算出される。その算出手順は、まず、実行時間の平均値と標準偏差が算出される。続いて、この平均値に、補正値が加算されて平均推定値最大値が算出される。具体的には、上記数９式にて算出される。
【００２０】
続いて、上記平均推定値最大値に、さらに標準偏差に基づく値が加算されて、実際に使用する監視時間が算出される。具体的には、上記数１０式にて算出される。この式によると、監視時間は、特定の分布を仮定しないチェビシェフの不等式に基づいて設定されることとなる。つまり、監視時間を超える確率は、１／ｋ２よりも小さくなるため、より低い確率となるよう設定することで、無応答障害を適切に検出することができる。
【００２１】
以上より、実行時間の平均値にそのばらつきを考慮した補正値が加算され、かかる値に基づいて決定されるため、計測回数が少ない場合であっても、不適切な監視時間に設定されることを抑制することができ、信頼性の高い監視時間を設定することができる。そして、回数を重ねるにつれてより適切な監視時間へと自動的に算出されることとなる。さらには、チェビシェフの不等式を考慮して監視時間を決定していることから、いかなるオペレーションにも対応することができ、汎用性を有する。
【００２２】
また、上記構成に加えて、実行時間管理手段は、管理者から入力されるリセット操作に基づいて記憶保持されている実行時間及び実行回数を消去する、ことを特徴としている。これにより、その後は新たな実行時間等が記憶され、これらに基づいて上述したように新たな監視時間が決定される。従って、新しい環境のオペレーションに適した監視時間を迅速に設定することができる。
【００２３】
また、本発明の他の形態である監視時間決定装置は、
トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にてトランザクションの実行時間と比較され、当該実行時間が超えた場合にトランザクション装置が異常であると判断する基準となる監視時間を決定する監視時間決定装置であって、少なくともトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段から当該実行時間及び実行回数を読み出して、この実行時間及び実行回数に基づいてトランザクションの実行時間の平均値と標準偏差とを算出し、この平均値に標準偏差に基づく補正値を加算した平均推定値最大値に基づいて監視時間を決定する、
ことを特徴としている。
【００２４】
このとき、上記監視時間決定装置は、
【００２５】
【数１１】
2007048110.tif 000005
上記数１１式にて平均推定値最大値を算出する、ことを特徴としている。
【００２６】
また、上記監視時間決定装置は、
【００２７】
【数１２】
2007048110.tif 000006
上記数１２式にて監視時間を決定する、ことを特徴としている。
【００２８】
また、本発明の他の形態である監視時間決定方法は、
トランザクション要求を受け付けてトランザクションを実行するトランザクション装置にてトランザクションの実行時間と比較され、当該実行時間が超えた場合にトランザクション装置が異常であると判断する基準となる監視時間を、コンピュータを用いて算出する監視時間決定方法であって、
コンピュータが、少なくともトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段から当該実行時間及び実行回数を読み出して、この実行時間及び実行回数に基づいてトランザクションの実行時間の平均値と標準偏差とを算出し、この平均値に標準偏差に基づく補正値を加算した平均推定値最大値に基づいて監視時間を決定する、
ことを特徴としている。このとき、コンピュータが、
【００２９】
【数１３】
2007048110.tif 000007
上記数１３式にて平均推定値最大値を算出する、ことを特徴としている。また、コンピュータが、
【００３０】
【数１４】
2007048110.tif 000008
上記数１４式にて監視時間を決定する、ことを特徴としている。
【００３１】
さらに、本発明の他の形態であるプログラムは、
トランザクション要求を受け付けてトランザクションを実行するトランザクション装置に、
トランザクションの実行を制御すると共に少なくともその実行時間を算出する情報を含む制御情報を出力するトランザクション制御手段と、このトランザクション制御手段から制御情報を取得してトランザクションの実行時間及び実行回数を記憶保持する実行時間管理手段と、この記憶されたトランザクションの実行時間及び実行回数からトランザクション装置の異常を検出する基準となる監視時間を決定する監視時間決定手段と、トランザクション制御手段から制御情報を取得してトランザクションの実行が決定された監視時間を超えても終了しない場合にトランザクション装置が異常であると判断するトランザクション監視手段と、を実現するためのプログラムであり、
監視時間決定手段が、トランザクションの実行時間の平均値と標準偏差とを算出し、この平均値に標準偏差に基づく補正値を加算した平均推定値最大値に基づいて監視時間を決定する、
ことを特徴としている。
【００３２】
そして、上記監視時間決定手段は、
【００３３】
【数１５】
2007048110.tif 000009
上記数１５式にて平均推定値最大値を算出する、ことを特徴としており、さらに、監視時間決定手段は、
【００３４】
【数１６】
2007048110.tif 000010
上記数１６式にて監視時間を決定する、ことを特徴としている。
【００３５】
上述した監視時間決定装置、方法、さらにはプログラムであっても、上記トランザクション装置と同様に作用するため、上述した本発明の目的を達成することができる。
【発明の効果】
【００３６】
本発明は、以上のように構成され機能するので、これによると、実行時間の平均値にそのばらつきを考慮した補正値が加算され、かかる値に基づいて監視時間が決定されるため、計測回数が少ない場合であっても、不適切な監視時間に設定されることを抑制することができ、信頼性の高い監視時間を設定することができ、そして、回数を重ねるにつれてより適切な監視時間へと自動的に算出されることとなりため、さらなる信頼性の向上を図ることができる、という従来にない優れた効果を有する。
【発明を実施するための最良の形態】
【００３７】
本発明では、トランザクションの実行時間を監視し、取得した実行時間データからオペレーションの実行時間のばらつきをも考慮した上で補正を加えてトランザクション実行監視時間を自動で設定し、実行環境へ動的に反映し、トランザクションを制御するものである。以下、実施例にて具体的に説明する。
【実施例１】
【００３８】
本発明の第１の実施例を、図１乃至図６を参照して説明する。図１は、トランザクションシステムの全体構成を示すブロック図であり、図２は、トランザクション装置の構成を示す機能ブロック図である。図３は、トランザクション装置に記憶される情報を示す説明図である。図４乃至図６は、トランザクション装置における動作を示すシーケンス図である。
【００３９】
［構成］
図１に示すように、本実施例におけるトランザクションシステムは、トランザクションを実行するサーバコンピュータ１（トランザクション装置）と、これにネットワークＮを介して接続された複数のクライアント端末２と、によって構成されている。そして、クライアント端末２からのトランザクション要求をサーバコンピュータ１が受け付けて、トランザクションを実行し、その応答をクライアント端末２に送信する、というシステムである。
【００４０】
但し、本発明であるトランザクション装置は、図１に示すシステム形態に限定されない。所定の処理要求を受け付けて実行し、応答するよう作動するトランザクション装置であればよい。
【００４１】
次に、サーバコンピュータ１について、図２乃至図３を参照して説明する。図２に示すように、トランザクション装置であるサーバコンピュータ１は、基本的なコンピュータの構成であるＣＰＵなどの演算装置１Ａと、ハードディスクなどの記憶装置１Ｂと、を備えている。そして、演算装置１Ａには、トランザクション用プログラムが組み込まれることで、トランザクション制御部１１と、サーバアプリケーション部１２と、実行時間管理部１３と、監視時間決定部１４と、監視部１５と、アプリケーション制御部１６と、が構築される。また、記憶装置１Ｂには、管理表記憶部１７が形成されている。なお、演算装置１Ａには、トランザクションを実行するために必要な他の機能や一般的なサーバコンピュータが備える他の機能なども構築されており、記憶装置１Ｂにも他の必要な情報が記憶されているが、かかる説明は省略する。上記各構成についてさらに詳述する。
【００４２】
トランザクション制御部１１（トランザクション制御手段）は、クライアント端末２からネットワークＮを介して送信されたトランザクション要求を受け付け、サーバアプリケーション部１２に、要求を受けたトランザクションを開始させる。つまり、トランザクションの実行を制御する機能を有する。また、トランザクション制御部１１は、サーバアプリケーション部１２からのトランザクション実行後の応答を受け取り、クライアント端末２に返送する。
【００４３】
また、トランザクション制御部１１は、トランザクションの実行時間を計測する機能を有する。具体的には、トランザクションを開始させると同時に、その開始した時刻を内部で保持し、トランザクション処理が終了すると、内部で保持していたトランザクション開始時刻から終了時刻を引き、トランザクション実行時間を算出する。そして、算出した時間と共に、要求され実行されたトランザクションを特定するオペレーション識別子を、実行時間管理部１３に通知し、トランザクション実行時間管理表の更新を指示する。但し、トランザクション制御部１１は、必ずしも実行時間を計測することに限定されず、トランザクションの実行の開始時刻及び終了時刻といった、実行時間を計測するための情報を実行時間管理部１３に通知してもよい。
【００４４】
さらに、トランザクション制御部１１は、トランザクションの実行の開始時刻及び終了時刻を、トランザクションが正常に実行されているか否かを監視する監視部１５に通知する機能をも有する。
【００４５】
サーバアプリケーション部１２は、上述したように、クライアント端末２から要求されたトランザクションを処理する。なお、サーバアプリケーション１２は、それぞれシステム内で一意なサーバアプリケーション識別子を持ち、要求されたオペレーション（トランザクション）に対応する各トランザクションを実行する。
【００４６】
実行時間管理部１３は、管理表記憶部１７と協働して実行時間管理手段として機能し、要求されたオペレーションごとのトランザクション実行時間に関するデータを、管理表記憶部１７内に形成されたトランザクション実行時間管理表に記憶保持して管理する。具体的には、図３に示すトランザクション実行時間管理表に、オペレーションごとのオペレーション識別子１０１、トランザクション実行回数１０２、トランザクション実行時間合計１０３、トランザクション実行時間平方和１０４を管理する。さらに詳述すると、実行時間管理部１３は、トランザクション制御部１１から受け取ったトランザクション識別子及び実行時間から、対応する識別子１０１を捜し、あるいは、かかる識別子１０１の行を生成し、トランザクション実行回数１０２に「１」を足す。また、トランザクション実行時間合計１０３については、通知を受けた実行時間を足す。あるいは、トランザクション制御部１１にて実行時間が算出されずに終了時刻と開始時刻の通知を受けた場合には、その差分を算出して実行時間として足す。また、トランザクション実行時間平方和１０４については、トランザクション実行時間の平方を算出して足す。
【００４７】
また、実行時間管理部１３は、運用管理者から入力されるリセット操作を認識し、かかるリセット指示に応じて、管理表記億部１７内のトランザクション実行時間管理表をリセットする。つまり、上述したように加算した実行時間等を消去する。なお、運用管理者からリセット操作が入力される場合とは、例えば、サーバアプリケーションが稼動する環境の明示的な変化があった場合である。このような状況下においてトランザクション実行時間管理表がリセットされることにより、トランザクション実行監視時間を新しい環境に適した値に即座に変更できる。なお、トランザクション実行時間管理表をリセットする際は、トランザクション実行時間管理表の全体をリセットしてもよいし、リセット操作時に特定のオペレーションを指定し、トランザクション実行時間管理表の指定されたオペレーションの行のみをリセットしてもよい。
【００４８】
監視時間決定部１４（監視時間決定手段）は、上記トランザクション実行時間管理表に記憶されたデータに基づいて、トランザクション実行監視時間（監視時間）を決定し、監視部１５に通知する。この監視時間の決定処理は、一定の時間間隔ごとに定期的に実行され、次の手順で決定して更新する。
【００４９】
まず、トランザクション実行時間管理表の各行について、オペレーション識別子１０１、トランザクション実行回数１０２、トランザクション実行時間合計１０３、トランザクション実行時間平方和１０４をそれぞれ読み出す。
【００５０】
続いて、下記の数１７式にて、トランザクション実行時間平均値（平均値）を求める。
【００５１】
【数１７】
2007048110.tif 000011
【００５２】
続いて、下記の数１８式にて、トランザクション実行時間標準偏差（標準偏差）を求める。この値は、トランザクション実行時間のばらつきを示す指標として用いられる。
【００５３】
【数１８】
2007048110.tif 000012
【００５４】
ここで、上記数１７式で得られた標本トランザクション実行時間平均値は、得られた値から直接算出された値であり、長時間運用した際に得られる真のトランザクション実行時間平均値よりも大きい、もしくは小さいかもしれない。運用開始時にたまたま短い実行時間のトランザクションが連続した場合などに、標本トランザクション実行時間平均値が、長時間運用した際に得られる真のトランザクション実行時間平均値より下回る可能性がある。この場合、標本トランザクション実行時間平均値をもとに算出されたトランザクション実行監視時間を利用すると、正常なトランザクションを異常と判断し、障害復旧処理などが行われてしまう可能性が高くなる。これはユーザに大きな被害を与える。
【００５５】
そこで、さらに、以下に示す式数１９式により、データの信頼性を挙げるための補正を行い、トランザクション実行時間平均推定値最大値として算出する。これにより、正常トランザクションを異常と誤認するという重大な障害を回避する。
【００５６】
【数１９】
2007048110.tif 000013
【００５７】
なお、統計学の見地から、トランザクション実行回数が３０以上であるとき、長時間運用した場合に得られる真のトランザクション実行時間平均値は、９５％の確率で以下の数２０式に示す不等式を満たす。この範囲は、特定のデータ分布を仮定しない。
【００５８】
【数２０】
2007048110.tif 000014
【００５９】
つまり、長時間運用した場合に得られる真のトランザクション実行時間平均値は、９７．５％の確率でトランザクション実行時間平均推定値最大値を下回ることとなる。これにより、正常トランザクションを異常トランザクションと誤認する危険が軽減される。なお、「１．９６」という係数は、可変でもよい。
【００６０】
なお、トランザクション実行時間のばらつきが少ない場合や、十分な数のトランザクション実行時間データが収集できている場合は、このトランザクション実行時間平均推定値最大値が、標本トランザクション実行時間平均値と程近くなるので、この正常トランザクションを異常トランザクションと誤認する危険を軽減するために、トランザクション実行時間平均推定値最大値に全く不必要に大きな値が設定されてしまうということはない。以降は、この補正されたトランザクション実行時間平均推定値最大値を、トランザクション実行監視時間を算出するために使用する。
【００６１】
ここで、トランザクション実行回数が３０を下回る場合は、誤認の危険を回避するため、トランザクション実行監視時間の自動設定を行わなくてもよい。但し、３０という閾値は可変でもよい。また、トランザクション実行時間の分布が正規分布と仮定できるならば、トランザクション実行回数が３０または設定した閾値を下回っても、ｔ分布を利用することによりトランザクション実行時間平均推定値最大値を算出することもできる。しかし、トランザクション実行時間の分布が正規分布であるという仮定を行うことは非常に困難であるがゆえ、本発明では、以下に説明するように、いかなるトランザクション実行時間の分布をとるサーバアプリケーション部１２であっても対応できる汎用的な装置を例示している。
【００６２】
そして、監視時間決定部１４では、さらに、上記式で得られたトランザクション実行時間標準偏差とトランザクション実行時間平均推定値最大値を用いて、トランザクション実行監視時間を算出する。これには統計学で使用されるチェビシェフの不等式を用いる。この不等式は、特定の分布を仮定しない。具体的には以下の数２１式により、トランザクション実行監視時間を算出する。
【００６３】
【数２１】
2007048110.tif 000015
【００６４】
ここで、数２１式の「１０」は可変でもよい。数２１式より、トランザクション実行時間がどのような分布をとっても、トランザクション実行時間がトランザクション実行監視時間を上回る確率は、もっとも多く見積もっても１％にしかならないということができる。実用上は、トランザクション実行時間が、ある程度平均値の近くに偏った分布をとることが想定できるため、トランザクション実行時間がトランザクション実行監視時間を越える確率は、１％（１／１０×１０）よりも相当少ない。つまり、正常なトランザクションのトランザクション実行時間が、トランザクション実行監視時間を越えることは考えづらいことであり、トランザクション実行監視時間を越えても終了しないトランザクションには、なんらかの異常が発生していると見なすことができる。
【００６５】
監視部１５（トランザクション監視手段）は、トランザクション制御部１１から通知されたトランザクションの開始と終了に基づいて、各トランザクションの実行時間を監視し、トランザクション実行監視時間を超えていないか判別する。つまり、トランザクション制御部１１からのトランザクション終了通知を受ける前に、トランザクション実行監視時間経過した場合は、アプリケーション制御部１６に通知し、サーバアプリケーション部１２の障害復旧処理を行う。トランザクション制御部１１からのトランザクション開始通知からトランザクション実行監視時間経過する前に、トランザクション制御部１１からのトランザクション終了通知を受けた場合は、何もしない。
【００６６】
アプリケーション制御部１６は、サーバアプリケーション部１２の起動停止制御を行うと共に、上述したように監視部１５からトランザクションの無応答障害を検出した場合に、サーバアプリケーション部１２を停止して、復旧処理を行う。
【００６７】
ここで、上記サーバコンピュータ１は、複数台のコンピュータにて構成されていてもよい。例えば、監視時間決定部１４がサーバコンピュータ１に接続された他のコンピュータにて構成され、監視時間決定装置として作動し、決定した監視時間をサーバコンピュータ１の監視部１５に通知してもよい。同様に、他の各部（監視部１５など）も他のコンピュータにて構成されていてもよい。
【００６８】
［動作］
次に、上記構成のトランザクション装置１の動作を、図３のトランザクション実行時間管理表及び図４乃至図６のシーケンス図を参照して説明する。
【００６９】
まず、図４に示すように、クライアント端末２から、オペレーションＡＡにて特定されるトランザクションがサーバコンピュータ１に要求された場合を考える（ステップＳ１）。トランザクション制御部１１は、要求を受け付け、サーバアプリケーション部１２にオペレーションＡＡを開始させる（ステップＳ２）と同時に、オペレーションＡＡを開始した時刻を内部で保持する。また、このとき、監視部１５にオペレーションＡＡの開始を、開始時刻と共に伝える（ステップＳ３）。
【００７０】
続いて、サーバアプリケーション部１２でオペレーションＡＡが実行され（ステップＳ４）、終了すると、トランザクション制御部１１に実行結果の応答を行う（ステップＳ５）。そして、トランザクション制御部１１は、クライアント端末２に応答を返す（ステップＳ６）と同時に、内部で保持していたトランザクション開始時間からオペレーションＡＡの終了時刻を引き、トランザクション実行時間を算出する（ステップＳ７）。この例では、図３に示すように、トランザクション実行時間は「２０」とする。
【００７１】
そして、トランザクション制御部１１は、終了したオペレーションのオペレーション識別子（ＡＡ）とトランザクション実行時間（２０）を実行時間管理部１３に伝える（ステップＳ８）。すると、実行時間管理部１３は、管理表記憶部１７内のサーバアプリケーション状態管理表の中から、通知を受けたオペレーション識別子ＡＡと等しいオペレーション識別子ＡＡの行を探索し、該当する行のトランザクション実行回数１０２に「１」を足す。また、トランザクション制御１１より得られたトランザクション実行時間（２０）を、トランザクション実行時間合計１０３に加算する。さらに、トランザクション実行時間平方和１０４についても、トランザクション制御部１１より得られたトランザクション実行時間（２０）の平方を算出して加算する。なお、サーバアプリケーション状態管理表の中から、通知を受けたオペレーション識別子と等しい行が見つからなかった場合は、空行を確保し、上記と同様の処理を行う。つまり、オペレーション識別子１０１に「ＡＡ」、トランザクション実行回数１０２に「１」、トランザクション実行時間合計１０３に「２０」、トランザクション実行時間平方和１０４に「４００」がそれぞれ設定され、図３に示すように記録される（ステップＳ９）。
【００７２】
また、トランザクション制御部１１は、上述したクライアント端末２へのトランザクション応答の返送と同時に、監視部１５にトランザクション終了の通知を行う（ステップＳ１０）。このとき、終了時刻も通知する。
【００７３】
続いて、監視時間決定部１４による一定時間毎の動作について、図３に示すオペレーションＢＢを例にとり、図５のシーケンス図を参照して説明する。まず、トランザクション実行時間管理表より、オペレーション識別子１０１が「ＢＢ」である行のトランザクション実行回数１０２、トランザクション実行時間合計１０３、トランザクション実行時間平方和１０４を読み出し、それぞれの値、「１００」、「３００」、「１３００」を取得する（ステップＳ１１，Ｓ１２）。
【００７４】
そして、上述した数１７式に代入し、下記の数２２式のようにして、トランザクション実行時間平均値（平均値）を求める（ステップＳ１３）。
【００７５】
【数２２】
2007048110.tif 000016
【００７６】
続いて、上述した数１８式より、下記の数２３式のようにして、トランザクション実行時間標準偏差（標準偏差）を求める（ステップＳ１４）。
【００７７】
【数２３】
2007048110.tif 000017
【００７８】
次に、上述した数１９式より、下記の数２４式のようにして、トランザクション実行時間平均推定値最大値（平均推定値最大値）を求める（ステップＳ１５）。
【００７９】
【数２４】
2007048110.tif 000018
【００８０】
そして、上述した数２１式より、下記の数２５式のようにして、トランザクション実行監視時間（監視時間）を求める（ステップＳ１６）。
【００８１】
【数２５】
2007048110.tif 000019
【００８２】
以上により得られたトランザクション実行監視時間（２３．３９２）を、オペレーションＢＢのトランザクション実行監視時間として監視部１５に伝える（ステップＳ１７）。監視部１５は、メモリなどに一時的に保持し（ステップＳ１８）、いつでもかかる監視時間を参照できるようにしておく。そして、以上説明した図５に示す処理を一定時間間隔で繰り返し、監視時間を更新する。
【００８３】
次に、監視部１５による動作を、オペレーションＢＢを例に、図６を参照して説明する。まず、図４のステップ３にて説明したように、トランザクション制御部１１から、オペレーションＢＢの開始が通知されると（ステップＳ２１）、監視部１５ではタイマをセットする（ステップＳ２２）。このとき、監視部１５は、監視時間決定部１４より取得したトランザクション実行監視時間（２３．３９２）を保持しているため、トランザクション制御部１１からのオペレーションＢＢの開始通知から２３．３９２（秒）を経過するまでにトランザクション終了通知があるかどうかを監視する（ステップＳ２４）。
【００８４】
そして、監視時間経過前にトランザクション制御部１１からオペレーションＢＢの終了の通知を受けなかった場合（ステップＳ２４にて否定判断後、ステップＳ２５にて肯定判断）、オペレーションＢＢに該当するサーバアプリケーション部１２に障害が発生していると判断し、障害発生をアプリケーション制御部１６に通知する（ステップＳ２６）。この通知を受けたアプリケーション制御部１６は、サーバアプリケーション部１２の動作を停止して、障害復旧処理を実行する（ステップＳ２７）。
【００８５】
一方、トランザクション制御部１１からのオペレーションＢＢの開始通知から２３．３９２（秒）経過する前に、図４のステップＳ１０にて説明したようにトランザクション制御部１１からオペレーションＢＢの終了通知を受け取った場合は（ステップＳ２４にて肯定判断）、このトランザクションを正常処理と判断し、監視部１５ではなんら処理を行わない。
【００８６】
このようにすることにより、本発明では、オペレーションの実行時間のばらつきを考慮した値がトランザクション実行監視時間として自動的に設定されると共に、このとき、実際に取得したトランザクション実行時間データの信頼性が低い場合であっても、その信頼性が高くなるよう補正される。従って、適切な値がトランザクション実行監視時間に設定され、小さすぎる値を設定して正常なトランザクションを異常と判断する危険が少なく、また、大きすぎる値を設定して異常なトランザクションを不必要に放置する危険が少ない、という効果を有する。
【００８７】
また、本発明では、自動的に採取した情報をもとにトランザクション実行監視時間を自動的に設定するため、システムの運用管理者は、トランザクション実行監視時間を設定するための負担がなくなる。
【００８８】
また、本発明では、トランザクション実行監視時間を決定する際に、本発明の機能により蓄積されたトランザクション実行時間データを用いているため、時が経過するにつれて、より適切な値へと自動的に変化する学習効果を有する。
【００８９】
また、本発明では、環境の変化に対応することが可能である。つまり、突発的な変化に対して、蓄積しているデータをリセットする機能を有している。
【００９０】
さらに、本発明では、特定のトランザクション実行時間分布を仮定していないため、いかなるオペレーションにも対応することができ、汎用性を有する。
【産業上の利用可能性】
【００９１】
本発明であるトランザクション装置は、あらゆるトランザクションを実行するコンピュータに実装することが可能であり、産業上の利用可能性を有する。
【図面の簡単な説明】
【００９２】
【図１】本発明の全体構成を示すブロック図である。
【図２】トランザクション装置であるサーバコンピュータの構成を示す機能ブロック図である。
【図３】実行時間管理表の一例を示す図である。
【図４】サーバコンピュータの動作を示すシーケンス図である。
【図５】サーバコンピュータの動作を示すシーケンス図である。
【図６】サーバコンピュータの動作を示すシーケンス図である。
【符号の説明】
【００９３】
１  サーバコンピュータ（トランザクション装置）
２  クライアント端末
１１  トランザクション制御部（トランザクション制御手段）
１２  サーバアプリケーション部
１３  実行時間管理部（実行時間管理手段）
１４  監視時間決定部（監視時間決定手段）
１５  監視部（トランザクション監視手段）
１６  アプリケーション制御部
１７  管理表記憶部（実行時間管理手段）
【図１】
2007048110.tif 000028
【図２】
2007048110.tif 000029
【図３】
2007048110.tif 000030
【図４】
2007048110.tif 000031
【図５】
2007048110.tif 000032
【図６】
2007048110.tif 000033