(57)【特許請求の範囲】
【請求項１】
タイムアウト時間が設定されている処理にかかった処理時間を測定したサンプルデータを用いて指数分布の確率分布関数を算出し、予め定められた異常発生確率ｐを用いて、前記確率分布関数が（１−ｐ）となるときの処理時間を最適タイムアウト時間として算出するタイムアウト時間算出部と、
前記最適タイムアウト時間を、前記タイムアウト時間として設定するタイムアウト時間設定部と、を備えたタイムアウト時間設定装置。
【請求項２】
請求項１に記載のタイムアウト時間設定装置において、
前記タイムアウト時間算出部は、
前記サンプルデータを複数採取する処理を２回実行し、
１回目に採取した複数のサンプルデータと２回目に採取した複数のサンプルデータの分布が等しければ、採取したサンプルデータの数が、前記確率分布関数に基づいて前記最適タイムアウト時間を算出するのに十分であると判定し、前記サンプルデータを利用して最適なタイムアウト時間を算出する、タイムアウト時間設定装置。
【請求項３】
請求項２に記載のタイムアウト時間設定装置において、
前記タイムアウト時間算出部は、
前記１回目に採取した複数のサンプルデータと前記２回目に採取した複数のサンプルデータの分布が等しいか否かをＦ検定及びｔ検定を利用して判定する、タイムアウト時間設定装置。
【請求項４】
請求項１から３のいずれかに記載のタイムアウト時間設定装置において、
前記タイムアウト時間算出部は、
システムのリソースの使用状況に基づいて、前記異常発生確率ｐの値を調整することにより、前記最適タイムアウト時間を調整する、タイムアウト時間設定装置。
【請求項５】
請求項１から４のいずれかに記載のタイムアウト時間設定装置において、
前記タイムアウト時間が設定されている処理にかかった処理時間と、タイムアウトエラーの発生回数を監視し、前記タイムアウト時間が適切であるかどうかの判断を行う、タイムアウト監視部を備え、
前記タイムアウト時間算出部は、
前記タイムアウト監視部によって前記タイムアウト時間が不適切と判断された場合に、前記最適タイムアウト時間を算出する、タイムアウト時間設定装置。
【請求項６】
請求項５に記載のタイムアウト時間設定装置において、
前記タイムアウト監視部は、
前記タイムアウトエラーの発生回数が予め定められた閾値を超えた場合、または、
前記タイムアウト時間が設定されている処理が、設定されているタイムアウト時間よりも一定割合以上短い処理時間で終了した回数が予め定められた閾値を超えた場合に、前記タイムアウト時間が不適切と判断する、タイムアウト時間設定装置。
【請求項７】
タイムアウト時間が設定されている処理にかかった処理時間を測定したサンプルデータを用いて指数分布の確率分布関数を算出し、予め定められた異常発生確率ｐを用いて、前記確率分布関数が（１−ｐ）となるときの処理時間を最適タイムアウト時間として算出する工程と、
前記最適タイムアウト時間を、前記タイムアウト時間として設定する工程と、を備えたタイムアウト時間設定方法。
【請求項８】
コンピュータを、
タイムアウト時間が設定されている処理にかかった処理時間を測定したサンプルデータを用いて指数分布の確率分布関数を算出し、予め定められた異常発生確率ｐを用いて、前記確率分布関数が（１−ｐ）となるときの処理時間を最適タイムアウト時間として算出するタイムアウト時間算出部と、
前記最適タイムアウト時間を、前記タイムアウト時間として設定するタイムアウト時間設定部と、して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タイムアウト時間設定装置、タイムアウト時間設定方法、及びプログラムに関する。
【背景技術】
【０００２】
コンピュータシステムにおいては、タイムアウト時間の設定は必要不可欠なものである。しかし、タイムアウト時間はシステムの環境によって適する値が異なるため、適切なタイムアウト時間を設定するためには、個々の環境における処理時間の計測やチューニングが必要となり、多くの手間がかかる。また、環境に変化があった場合は再度設定する必要があるため、システムの運用時においても負担となっている。
【０００３】
また、多くの場合、システムに存在するタイムアウト時間は１通りではなく複数あり、それぞれが関連性を持っている。このため、すべてのタイムアウト時間を適切な値にするためには、それぞれのタイムアウト時間についてその設定箇所や影響度を把握しておかねばならず、簡単には環境構築ができないという問題がある。
【０００４】
特許文献１には、過去に送信した際の転送レートに基づいて、送信するデータのタイムアウト時間を設定する方法が記載されている。
また、特許文献２には、無線通信品質値に基づいて、応答待ちタイムアウト時間を可変設定する無線通信装置が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−２１０１０６号公報
【特許文献２】特開２０００−２６１４９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１，２に記載の方法は、時間のかかりすぎている処理、すなわち異常な処理を検知するというタイムアウトの本来の目的を果たすのに最適なタイムアウト時間を設定するという視点からの方法ではない。
【０００７】
そこで、本発明の目的は、システムの稼働中に、自動的に最適なタイムアウト時間を設定することである。
【課題を解決するための手段】
【０００８】
本発明に係るタイムアウト時間設定装置は、タイムアウト時間が設定されている処理にかかった処理時間を測定したサンプルデータを用いて指数分布の確率分布関数を算出し、予め定められた異常発生確率ｐを用いて、前記確率分布関数が（１−ｐ）となるときの処理時間を最適タイムアウト時間として算出するタイムアウト時間算出部と、前記最適タイムアウト時間を、前記タイムアウト時間として設定するタイムアウト時間設定部と、を備える。
【発明の効果】
【０００９】
本発明によれば、システムの稼働中に、自動的に最適なタイムアウト時間を設定することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１によるタイムアウト時間設定装置の構成を示す図である。
【図２】本発明の実施の形態１によるタイムアウト時間設定装置の動作のフローチャートである。
【図３】本発明の実施の形態１によるタイムアウト時間設定装置の動作のフローチャートである。
【図４】本発明の実施の形態１によるタイムアウト時間設定装置の動作のフローチャートである。
【図５】本発明の実施の形態１によるタイムアウト時間設定装置の動作のフローチャートである。
【図６】処理時間計測部によって採取された２回分の処理時間のデータの例を示す図である。
【図７】図６に示すサンプルデータを用いて算出したＦ検定及びｔ検定の結果を示す図である。
【図８】本発明の実施の形態１によるタイムアウト時間設定装置の動作のフローチャートである。
【図９】本発明の実施の形態２によるタイムアウト時間設定装置の構成を示す図である。
【図１０】本発明の実施の形態２によるタイムアウト時間設定装置の動作のフローチャートである。
【発明を実施するための形態】
【００１１】
次に、本発明を実施するための最良の形態について、図面を参照して詳細に説明する。
実施の形態１.
図１は、本実施形態によるタイムアウト時間設定装置１０１の構成を示す図である。図に示すように、タイムアウト時間設定装置１０１は、タイムアウト監視部１０２、タイムアウト時間変更部１０３、タイムアウト時間算出部１０４、タイムアウト時間設定部１１１を備えている。
【００１２】
タイムアウト時間算出部１０４は、処理時間計測部１０５、採取データ判定部１０６、最適値算出部１０７、及び採取データ記憶部１１０を備えている。
【００１３】
最適値算出部１０７は、異常発生確率算出部１０８及びリソース状況監視部１０９を備えている。
【００１４】
タイムアウト監視部１０２、タイムアウト時間変更部１０３、タイムアウト時間算出部１０４、処理時間計測部１０５、採取データ判定部１０６、最適値算出部１０７、異常発生確率算出部１０８、リソース状況監視部１０９、及びタイムアウト時間設定部１１１は、コンピュータのプロセッサにおいて実行されることにより実現される機能ブロックである。採取データ記憶部１１０は、メモリ、ハードディスク等の記憶装置により実現される。
【００１５】
タイムアウト監視部１０２は、タイムアウト時間が設定されている処理の、処理時間とタイムアウトエラーの発生回数を監視し、設定されているタイムアウト時間が適切であるかどうかの判断を行う。タイムアウト時間が不適切と判断した場合には、タイムアウト時間変更部１０３に、タイムアウト時間の変更を指示する。
【００１６】
タイムアウト時間変更部１０３は、タイムアウト監視部１０２からタイムアウト時間変更の指示を受けると、タイムアウト時間算出部１０４に最適なタイムアウト時間を算出させ、タイムアウト時間設定部１１１に、算出したタイムアウト時間を設定するよう指示する。
【００１７】
タイムアウト時間算出部１０４は、処理時間計測部１０５において処理時間のデータを採取して、採取データ記憶部１１０に蓄積する。次に、採取データ判定部１０６において、処理時間計測部１０５で採取したデータのサンプル数が十分であるか否かを判定し、データのサンプル数が十分であれば、最適値算出部１０７において最適なタイムアウト時間を算出する。
【００１８】
最適値算出部１０７は、採取したデータ、指数分布の確率分布関数、異常発生確率算出部１０８とリソース状況監視部１０９において算出した異常発生確率を利用して最適なタイムアウト時間を算出する。
【００１９】
タイムアウト時間設定部１１１は、タイムアウト時間算出部１０４において算出されたタイムアウト時間を設定する。
【００２０】
次に、タイムアウト時間設定装置１０１の動作について説明する。
まず、図２のフローチャートを用いて全体の動作について説明する。
タイムアウト監視部１０２は、現在設定されているタイムアウト時間が適切であるか否かを監視する（ステップＡ１、Ａ２）。ステップＡ２においてタイムアウト時間が不適切と判断された場合（Ｙｅｓ）、タイムアウト時間変更部１０３が実行され（ステップＡ３）、タイムアウト時間変更部１０３の指示に基づいて、タイムアウト時間算出部１０４において最適なタイムアウト時間を算出し（ステップＡ４）、タイムアウト時間設定部１１１において算出したタイムアウト時間を設定する（ステップＡ５）。
【００２１】
次に、タイムアウト監視部１０２の動作（ステップＡ１、Ａ２）について、図３のフローチャートを用いて詳しく説明する。
タイムアウト監視部１０２は、タイムアウト時間が設定されている処理を監視し（ステップＢ１）、タイムアウトエラーが発生したら（ステップＢ２：Ｙｅｓ）、タイムアウトエラーの発生回数が閾値を超えているか否かを判断する（ステップＢ３）。ステップＢ３で閾値を超えていると判断された場合には（Ｙｅｓ）、現在設定されているタイムアウト時間が短すぎると判断し、タイムアウト時間の変更を要求する（ステップＢ６）。
【００２２】
一方、タイムアウトエラーが発生しない場合（ステップＢ２：Ｎｏ）、監視している処理が、設定されているタイムアウト時間の１０％以下の時間で終了しているか否かを判断する（ステップＢ４）。なお、ここでは、タイムアウト時間の１０％を判断の基準に用いているが、１０％は一例であり他の数値に変更してもよい。１０％以下の時間で終了している場合には（Ｙｅｓ）、１０％以下の時間での終了の発生回数が閾値を超えているか否かを判断し（ステップＢ５）、発生回数が閾値を超えている場合には（Ｙｅｓ）、現在設定されているタイムアウト時間が長すぎると判断し、タイムアウト時間の変更を要求する（ステップＢ６）。
【００２３】
次に、タイムアウト時間算出部１０４の動作（ステップＡ４）について図４のフローチャートを用いて詳しく説明する。
まず、タイムアウト時間算出部１０４は、処理時間計測部１０５において処理時間のサンプルデータセットを採取する（ステップＣ１）。なお、サンプルデータセットの採取は２回実施する。
【００２４】
次に、採取データ判定部１０６において、採取した１セット分のサンプルデータの数が、タイムアウト時間の最適値の算出に十分であるか判断する（ステップＣ２）。ステップＣ２で十分なサンプル数であると判断された場合（Ｙｅｓ）、最適値算出部１０７において、採取したサンプルデータを利用して最適なタイムアウト時間を算出する（ステップＣ３）。
【００２５】
一方、ステップＣ２でサンプル数が不十分と判断された場合には（Ｎｏ）、採取データ判定部１０６は採取したサンプル数が予め定められた閾値以下か否かを判断し（ステップＣ４）、閾値以下の場合には（Ｙｅｓ）、処理時間計測部１０５において再度データの採取を実行し採取数を増やす（ステップＣ５）。一方、採取したサンプル数が既に閾値を超えている場合は（ステップＣ４：Ｎｏ）、採取数が無限に増加することを防ぐため、再度のデータ採取は行わずに、最適値算出部１０７においてタイムアウト時間を算出する（ステップＣ３）。
【００２６】
次に、ステップＣ２の判定処理について、図５のフローチャートを用いて詳しく説明する。
まず、採取データ判定部１０６は、採取データ記憶部１１０から、採取した２回分のデータを取得する（ステップＤ１）。
次に、採取データ判定部１０６は、２つのデータの分散をＦ検定で比較する（ステップＤ２）。Ｆ検定の結果２つのデータの分散が等しいと判定された場合には（ステップＤ３：Ｙｅｓ）、２つのデータの平均をｔ検定で比較する（ステップＤ４）。
【００２７】
ｔ検定の結果、２つのデータの平均が等しいと判定された場合には（ステップＤ５：Ｙｅｓ）、採取データ判定部１０６は十分なサンプル数であると判定する（ステップＤ６）。一方、ステップＤ３で２つのデータの分散が等しくないと判定された場合、またはステップＤ５で２つのデータの平均が等しくないと判定された場合には、採取データ判定部１０６はサンプル数が不十分と判定する（ステップＤ７）。
【００２８】
さらに、図６，７を用いて、データ数の判定処理について具体的に説明する。
図６は、処理時間計測部１０５によって採取された２回分の処理時間（秒）のデータ（データ１、データ２）の例を示す図である。図６に示すように、ここでは採取したサンプル数は３１である。
【００２９】
図７は、図６で示すサンプルデータを用いて算出したＦ検定及びｔ検定の結果である。図７に示すように、データ１の分散σ1とデータ２の分散σ2はそれぞれ２０４．６２６４、３２．２２０６であるため、式１で求められるＦ値は０．０２４７９４となる。
Ｆ＝σ22／σ12  …（１）
【００３０】
Ｆ分布表から、自由度が共に３０（３１−１）で棄却率が０．０５％の場合のＦ値は１．８４である。すなわち、データ１，２から算出されたＦ値はＦ分布表で与えられる数値より小さいため、データ１とデータ２は等分散であるということができる。
【００３１】
また、図７に示すように、データ１の平均μ1とデータ２の平均μ2はそれぞれ３５．７７４１、３６．８０６４であるため、式（２）で求められるｔ値は０．３６７３８となる。
ｔ＝｜μ1−μ2｜／√[Ｕ（１／ｍ1＋１／ｍ2）]  …（２）
ただし、Ｕ＝（ｍ1σ1＋ｍ2σ2）／（ｍ1＋ｍ2−２）、ｍ1はデータ１の個数、ｍ2はデータ２の個数である。
【００３２】
ｔ分布表から、自由度が６０で棄却率が０．０５％の場合のｔ値は２である。すなわち、データ１，２から算出されたｔ値はｔ分布表で与えられる数値より小さいため、データ１とデータ２は平均が等しいということができる。
【００３３】
従って、図６に示すデータ１とデータ２は分散も平均も等しいため、２つのデータの分布は類似したものであると考えられるので、サンプルデータ数は３１で十分であると判断することができる。
【００３４】
次に、ステップＣ３のタイムアウト時間算出処理について、図８のフローチャートを用いて詳しく説明する。
まず、最適値算出部１０７は、採取データ記憶部１１０に記憶されたデータの平均値μを算出する（ステップＥ１）。平均値μは、Ｆ検定及びｔ検定を行ったときに用いた平均μ1、μ2を用いることができる。
【００３５】
次に、最適値算出部１０７は、ステップＥ１で算出した平均値の逆数λを利用して、確率分布関数を算出する（ステップＥ２）。ここでは、式（３）に示す確率分布関数Ｆ（ｘ）を算出する。
Ｆ（ｘ）＝１−ｅ-λx  …（３）
ただし、λ＝１／μ
【００３６】
次に、リソース状況監視部１０９において、リソースの使用状況を取得する（ステップＥ３）。異常発生確率算出部１０８は、取得されたリソースの使用状況に基づいてＣＰＵ使用率を判定し（ステップＥ４）、ＣＰＵ使用率に基づいて異常発生確率を算出する（ス
テップＥ５〜Ｅ７）。異常発生確率算出部１０８は、ＣＰＵ使用率が予め定められた下限値以上且つ上限値以下の場合には、異常発生確率をｐとする（ステップＥ６）。ただし、ｐは予め定められた値である。また、異常発生確率算出部１０８は、ＣＰＵ使用率が予め定められた下限値未満である場合には、異常発生確率を「ｐ−補正値」とし（ステップＥ５）、ＣＰＵ使用率が予め定められた上限値より大きい場合には、異常発生確率を「ｐ＋補正値」とする（ステップＥ７）。
【００３７】
例えば、異常発生確率を３％、ＣＰＵ使用率の下限値を１０％、上限値を８０％、リソースの使用状況による補正値を１０％とした場合、ＣＰＵ使用率が８５％であれば、上限値の８０％を超えているため、リソースの使用状況は高負荷であると判定され、異常発生確率は３＋１０＝１３％となる。
【００３８】
次に、最適値算出部１０７は、確率分布関数Ｆ（ｘ）が「１−異常発生確率」となるときのｘの値を算出し（ステップＥ８）、算出した値を最適なタイムアウト時間とする（ステップＥ９）。
【００３９】
例えば、異常発生確率が１３％の場合には、８７％は正常な処理だと考えられるので、確率分布関数が８７％となるときの値を算出し、これを最適なタイムアウト時間とする。例えば、図６に示すデータ１を用いた場合、確率分布関数が８７％となるときの値は６８秒である。
【００４０】
以上のように、本実施形態によれば、システムの稼働中に、自動的に最適なタイムアウト時間を設定することができる。
【００４１】
タイムアウト時間の設定の目的は、複数の処理が実行されるシステムにおいて、ある処理がリソースを占有する時間に上限値を設けることで、他の処理に影響を及ぼさないようにすることである。すなわち、時間のかかりすぎている処理は異常であると判断して、タイムアウトエラーを発生させ、処理を打ち切る必要がある。本実施形態によれば、指数分布の確率分布関数を用いてタイムアウト時間を算出している。一般にソフトウェアの処理時間は指数分布に従うため、時間のかかりすぎている処理を異常と判断するための最適なタイムアウト時間を算出することができる。
【００４２】
また、タイムアウト時間は、リソースの使用状況に応じて適切な値が変化する。リソースの使用状況が低負荷の状態であれば時間のかかる処理も行えるが、高負荷の状態であれば時間のかかる処理は行わないようにする必要がある。本実施形態によれば、リソースの使用状況に応じてタイムアウト時間を算出しているので、よりシステムの実環境に応じたタイムアウト時間を設定することができる。
【００４３】
また、本実施形態によれば、処理時間の測定値に基づいて最適なタイムアウト時間を算出し、算出したタイムアウト時間を設定する動作を自動で行うので、従来のようにタイムアウト時間を手動で設定する必要がなく、システム構築の負荷を軽減することができる。
【００４４】
また、最適なタイムアウト時間が大きく変化しても、タイムアウト時間の再算出が1回で済むことにある。 従来、タイムアウト時間が不適切な場合は、一定値を加算もしくは減算することによって適切なタイムアウト時間を算出していたため、システム環境が大きく変化して適切なタイムアウト時間が大幅に変更になった場合には、タイムアウト時間の算出を複数回実施しなければ適切な時間を算出できなかった。本実施形態によれば、処理時間のサンプルデータと指数分布を利用してタイムアウト時間を算出するため、最適なタイムアウト時間が大きく変化しても、１回の算出で最適なタイムアウト時間を取得することができる。
【００４５】
実施の形態２．
図９は、本実施形態によるタイムアウト時間設定装置２０１の構成を示す図である。図に示すように、タイムアウト時間設定装置２０１は、タイムアウト監視部１０２、タイムアウト時間変更部１０３、タイムアウト時間算出部２０４、タイムアウト時間設定部１１１を備えている。
【００４６】
タイムアウト時間算出部２０４は、処理時間計測部１０５、採取データ判定部１０６、最適値算出部２０７、及び採取データ記憶部１１０を備えている。
【００４７】
タイムアウト監視部１０２、タイムアウト時間変更部１０３、タイムアウト時間算出部２０４、処理時間計測部１０５、採取データ判定部１０６、最適値算出部２０７、及びタイムアウト時間設定部１１１は、コンピュータのプロセッサにおいて実行されることにより実現される機能ブロックである。採取データ記憶部１１０は、メモリ、ハードディスク等の記憶装置により実現される。
【００４８】
タイムアウト監視部１０２、タイムアウト時間変更部１０３、処理時間計測部１０５、採取データ判定部１０６、及びタイムアウト時間設定部１１１の機能は、実施の形態１と同様である。
【００４９】
タイムアウト時間算出部２０４は、処理時間計測部１０５において処理時間のデータを採取して、採取データ記憶部１１０に蓄積する。次に、採取データ判定部１０６において、処理時間計測部１０５で採取したデータのサンプル数が十分であるか否かを判定し、データのサンプル数が十分であれば、最適値算出部２０７において最適なタイムアウト時間を算出する。
【００５０】
最適値算出部２０７は、採取したデータ、指数分布の確率分布関数、予め定められた異常発生確率を利用して最適なタイムアウト時間を算出する。実施の形態２では、実施の形態１の最適値算出部１０７と異なり、最適値算出部２０７は異常発生確率算出部１０８とリソース状況監視部１０９を備えていない。このため、最適値算出部２０７は、異常発生確率算出部１０８とリソース状況監視部１０９において算出した異常発生確率ではなく、予め定められた異常発生確率を利用して最適なタイムアウト時間を算出する。
【００５１】
次に、タイムアウト時間設定装置２０１の動作について説明する。
タイムアウト時間設定装置２０１の全体の動作は、図２のフローチャートに示す実施の形態１の動作と同様である。
タイムアウト監視部１０２は、現在設定されているタイムアウト時間が適切であるか否かを監視する（ステップＡ１、Ａ２）。ステップＡ２においてタイムアウト時間が不適切と判断された場合（Ｙｅｓ）、タイムアウト時間変更部１０３を実行し（ステップＡ３）、タイムアウト時間算出部２０４において最適なタイムアウト時間を算出し（ステップＡ４）、タイムアウト時間設定部１１１において算出したタイムアウト時間を設定する（ステップＡ５）。
【００５２】
タイムアウト監視部１０２の詳しい動作（ステップＡ１、Ａ２）は、図３のフローチャートに示す実施の形態１の動作と同様である。
タイムアウト監視部１０２は、タイムアウト時間が設定されている処理を監視し（ステップＢ１）、タイムアウトエラーが発生したら（ステップＢ２：Ｙｅｓ）、タイムアウトエラーの発生回数が閾値を超えているか否かを判断する（ステップＢ３）。ステップＢ３で閾値を超えていると判断された場合には（Ｙｅｓ）、現在設定されているタイムアウト時間が短すぎると判断し、タイムアウト時間の変更を要求する（ステップＢ６）。
【００５３】
一方、タイムアウトエラーが発生しない場合（ステップＢ２：Ｎｏ）、監視している処理が、設定されているタイムアウト時間の１０％以下の時間で終了しているか否かを判断する（ステップＢ４）。１０％以下の時間で終了している場合には（Ｙｅｓ）、１０％以下の時間での終了の発生回数が閾値を超えているか否かを判断し（ステップＢ５）、発生回数が閾値を超えている場合には（Ｙｅｓ）、現在設定されているタイムアウト時間が長すぎると判断し、タイムアウト時間の変更を要求する（ステップＢ６）。
【００５４】
タイムアウト時間算出部２０４の詳しい動作（ステップＡ４）は、図４のフローチャートに示す実施の形態１の動作と同様である。
まず、タイムアウト時間算出部２０４は、処理時間計測部１０５において処理時間のサンプルデータを採取する（ステップＣ１）。なお、サンプルデータの採取は２回実施する。
【００５５】
次に、採取データ判定部１０６において、採取したサンプルデータの数が、タイムアウト時間の最適値の算出に十分であるか判断する（ステップＣ２）。ステップＣ２で十分なサンプル数であると判断された場合（Ｙｅｓ）、最適値算出部２０７において、採取したサンプルデータを利用して最適なタイムアウト時間を算出する（ステップＣ３）。
【００５６】
一方、ステップＣ２でサンプル数が不十分と判断された場合には（Ｎｏ）、採取データ判定部１０６は採取したサンプル数が予め定められた閾値以下か否かを判断し（ステップＣ４）、閾値以下の場合には（Ｙｅｓ）、処理時間計測部１０５において再度データの採取を実行し採取数を増やす（ステップＣ５）。一方、採取したサンプル数が既に閾値を超えている場合は（ステップＣ４：Ｎｏ）、採取数が無限に増加することを防ぐため、再度のデータ採取は行わずに、最適値算出部２０７においてタイムアウト時間を算出する（ステップＣ３）。
【００５７】
ステップＣ２の判定処理について、図５のフローチャートを用いて詳しく説明する。
まず、採取データ判定部１０６は、採取データ記憶部１１０から、採取した２回分のデータを取得する（ステップＤ１）。
次に、採取データ判定部１０６は、２つのデータの分散をＦ検定で比較する（ステップＤ２）。Ｆ検定の結果２つのデータの分散が等しいと判定された場合には（ステップＤ３：Ｙｅｓ）、２つのデータの平均をｔ検定で比較する（ステップＤ４）。
【００５８】
ｔ検定の結果、２つのデータの平均が等しいと判定された場合には（ステップＤ５：Ｙｅｓ）、採取データ判定部１０６は十分なサンプル数であると判定する（ステップＤ６）。一方、ステップＤ３で２つのデータの分散が等しくないと判定された場合、またはステップＤ５で２つのデータの平均が等しくないと判定された場合には、採取データ判定部１０６はサンプル数が不十分と判定する（ステップＤ７）。
【００５９】
次に、ステップＣ３のタイムアウト時間算出処理について、図１０のフローチャートを用いて詳しく説明する。実施の形態２では、タイムアウト算出処理が実施の形態１と異なっている。
まず、最適値算出部２０７は、採取データ記憶部１１０に記憶されたデータの平均値μを算出する（ステップＦ１）。
【００６０】
次に、最適値算出部２０７は、ステップＦ１で算出した平均値の逆数λを利用して、確率分布関数を算出する（ステップＦ２）。ここでは、式（３）に示す確率分布関数Ｆ（ｘ）を算出する。
Ｆ（ｘ）＝１−ｅ-λx  …（３）
ただし、λ＝１／μ
【００６１】
次に、最適値算出部２０７は、確率分布関数が「１−異常発生確率」となるときの値を算出し（ステップＦ３）、算出した値を最適なタイムアウト時間とする（ステップＦ４）。
【００６２】
例えば、予め定めた異常発生確率が３％の場合には、９７％は正常な処理だと考えられるので、確率分布関数が９７％となるときの値を算出し、これを最適なタイムアウト時間とする。
【００６３】
以上のように、本実施形態によれば、システムの稼働中に、自動的に最適なタイムアウト時間を設定することができる。
【００６４】
実施の形態３．
実施の形態１及び２では、設定するタイムアウト時間は１通りであったが、複数のタイムアウト時間を設定する必要のあるシステムにおいても、実施の形態１または２の処理を繰り返すことで、複数の最適なタイムアウト時間を設定することができる。また、それぞれのタイムアウト時間に関連がある場合にも、あるタイムアウト時間が変更されれば、関連する処理時間に変化が現れ、処理時間の変化に合わせてタイムアウト時間が自動的に変更されるため、最終的にはすべてのタイムアウト時間を自動的に最適値とすることが可能である。
【００６５】
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）タイムアウト時間が設定されている処理にかかった処理時間を測定したサンプルデータを用いて指数分布の確率分布関数を算出し、予め定められた異常発生確率ｐを用いて、前記確率分布関数が（１−ｐ）となるときの処理時間を最適タイムアウト時間として算出するタイムアウト時間算出部と、
前記最適タイムアウト時間を、前記タイムアウト時間として設定するタイムアウト時間設定部と、を備えたタイムアウト時間設定装置。
【００６６】
（付記２）付記１に記載のタイムアウト時間設定装置において、
前記タイムアウト時間算出部は、
前記サンプルデータを複数採取する処理を２回実行し、
１回目に採取した複数のサンプルデータと２回目に採取した複数のサンプルデータの分布が等しければ、採取したサンプルデータの数が、前記確率分布関数に基づいて前記最適タイムアウト時間を算出するのに十分であると判定し、前記サンプルデータを利用して最適なタイムアウト時間を算出する、タイムアウト時間設定装置。
【００６７】
（付記３）付記２に記載のタイムアウト時間設定装置において、
前記タイムアウト時間算出部は、
前記１回目に採取した複数のサンプルデータと前記２回目に採取した複数のサンプルデータの分布が等しいか否かをＦ検定及びｔ検定を利用して判定する、タイムアウト時間設定装置。
【００６８】
（付記４）付記１から３のいずれかに記載のタイムアウト時間設定装置において、
前記タイムアウト時間算出部は、
システムのリソースの使用状況に基づいて、前記異常発生確率ｐの値を調整することにより、前記最適タイムアウト時間を調整する、タイムアウト時間設定装置。
【００６９】
（付記５）付記１から４のいずれかに記載のタイムアウト時間設定装置において、
前記タイムアウト時間が設定されている処理にかかった処理時間と、タイムアウトエラーの発生回数を監視し、前記タイムアウト時間が適切であるかどうかの判断を行う、タイムアウト監視部を備え、
前記タイムアウト時間算出部は、
前記タイムアウト監視部によって前記タイムアウト時間が不適切と判断された場合に、前記最適タイムアウト時間を算出する、タイムアウト時間設定装置。
【００７０】
（付記６）付記５に記載のタイムアウト時間設定装置において、
前記タイムアウト監視部は、
前記タイムアウトエラーの発生回数が予め定められた閾値を超えた場合、または、
前記タイムアウト時間が設定されている処理が、設定されているタイムアウト時間よりも一定割合以上短い処理時間で終了した回数が予め定められた閾値を超えた場合に、前記タイムアウト時間が不適切と判断する、タイムアウト時間設定装置。
【００７１】
（付記７）タイムアウト時間が設定されている処理にかかった処理時間を測定したサンプルデータを用いて指数分布の確率分布関数を算出し、予め定められた異常発生確率ｐを用いて、前記確率分布関数が（１−ｐ）となるときの処理時間を最適タイムアウト時間として算出する工程と、
前記最適タイムアウト時間を、前記タイムアウト時間として設定する工程と、を備えたタイムアウト時間設定方法。
【００７２】
（付記８）コンピュータを、
タイムアウト時間が設定されている処理にかかった処理時間を測定したサンプルデータを用いて指数分布の確率分布関数を算出し、予め定められた異常発生確率ｐを用いて、前記確率分布関数が（１−ｐ）となるときの処理時間を最適タイムアウト時間として算出するタイムアウト時間算出部と、
前記最適タイムアウト時間を、前記タイムアウト時間として設定するタイムアウト時間設定部と、して機能させるプログラム。
【符号の説明】
【００７３】
１０１，２０１  タイムアウト時間設定装置、１０２  タイムアウト監視部、１０３  タイムアウト時間変更部、１０４，２０４  タイムアウト時間算出部、１０５  処理時間計測部、１０６  採取データ判定部、１０７，２０７  最適値算出部、１０８  異常発生確率算出部、１０９  リソース状況監視部、１１０  採取データ記憶部、１１１  タイムアウト時間設定部
【図１】
0005446970.tif 000002
【図２】
0005446970.tif 000003
【図３】
0005446970.tif 000004
【図４】
0005446970.tif 000005
【図５】
0005446970.tif 000006
【図７】
0005446970.tif 000007
【図８】
0005446970.tif 000008
【図９】
0005446970.tif 000009
【図１０】
0005446970.tif 000010
【図６】
0005446970.tif 000011