(57)【要約】【課題】複数のプログラムが同時に実行される場合も各プログラムに適切なタイムアウト時間でタイムアウトの判定を行う【解決手段】価値時間算出部５は、プログラムの計算資源の利用状況に基づいてプログラム毎に、当該プログラムが計算資源を活用した、または活用可能であった時間を示す価値時間ｔｖａｌｕｅを算出し、タイムアウト判定部７は、算出したプログラム毎の価値時間ｔｖａｌｕｅに基づいてタイムアウト時刻ＴＴＯを経過したか否かを判定する。【選択図】図１
2010134740.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置であって、
前記プログラムの計算資源の利用状況に基づいて、前記プログラム毎に、当該プログラムが計算資源を活用した、または活用可能であった時間を示す価値時間を算出する価値時間算出部と、
前記プログラムが設定するタイムアウト時間を記憶するタイムアウト情報記憶部と、
前記価値時間が前記タイムアウト時間を経過したか否かを判定するタイムアウト判定部と、
を備えることを特徴とするタイムアウト判定装置。
【請求項２】
前記プログラムに対する計算資源の利用状況を計測し、計測した利用状況を計算資源記憶部に登録する計算資源計測部をさらに備え、
前記価値時間算出部は、前記計算資源記憶部が記憶する前記プログラムの計算資源の利用状況に基づいて前記プログラムの価値時間を算出する、
ことを特徴とする請求項１に記載のタイムアウト判定装置。
【請求項３】
前記価値時間算出部は、前記プログラムが属する処理空間の価値時間を算出し、
前記タイムアウト判定部は、コンピュータ空間の価値時間が前記タイムアウト時間を経過したか否かを判定する、
ことを特徴とする請求項１または請求項２に記載のタイムアウト装置。
【請求項４】
前記タイムアウト判定部は、所定の時間の経過毎に前記タイムアウト時間を経過したか否かを判定する、
ことを特徴とする請求項１から請求項３のいずれか１項に記載のタイムアウト判定装置。
【請求項５】
前記タイムアウト判定部が前記タイムアウト時間を経過していないと判定すると、当該判定を行った時刻における前記タイムアウト時間と前記価値時間との差の時間を算出する時間算出部と、
前記時間算出部が前記差の時間を算出した時刻からの経過時間を計測し、当該経過時間が前記差の時間を経過した場合に、前記差の時間を経過したことを通知する時間通知部と、
を備え、
前記タイムアウト判定部は、前記時間通知部が前記差の時間を経過したことを通知した時に前記タイムアウト時間を経過したか否かを判定する、
ことを特徴とする請求項１から請求項３のいずれか１項に記載のタイムアウト判定装置。
【請求項６】
前記プログラムが設定する価値時間の算出方法を記憶する算出方法記憶部をさらに備え、
前記価値時間算出部は、前記プログラム毎に前記算出方法記憶部が記憶する算出方法に基づいて価値時間を計算する、
ことを特徴とする請求項１から請求項５のいずれか１項に記載のタイムアウト判定装置。
【請求項７】
前記プログラムが行うタイムアウト処理毎に設定する価値時間の算出方法を記憶する算出方法記憶部をさらに備え、
前記価値時間算出部は、前記タイムアウト処理毎に前記算出方法記憶部が記憶する算出方法に基づいて価値時間を計算する、
ことを特徴とする請求項１から請求項５のいずれか１項に記載のタイムアウト判定装置。
【請求項８】
コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置を用いたタイムアウト判定方法であって、
価値時間算出部は、前記プログラムの計算資源の利用状況に基づいて前記プログラム毎に、当該プログラムが計算資源を活用した、または活用可能であった時間を示す価値時間を算出し、
タイムアウト判定部は、前記価値時間が前記タイムアウト時間を経過したか否かを判定する、
ことを特徴とするタイムアウト判定方法。
【請求項９】
前記計算資源利用時間算出部は、前記プログラムの計算資源の利用状況に基づいて前記プログラムが属する処理空間に対する価値時間を算出する、
ことを特徴とする請求項８に記載のタイムアウト判定方法。
【請求項１０】
前記タイムアウト判定部は、所定の時間の経過毎に前記タイムアウト時間を経過したか否かを判定する、
ことを特徴とする請求項８または請求項９に記載のタイムアウト判定方法。
【請求項１１】
時間測定部は、時間を計測して設定された時間が経過したことを通知し、
時間設定部は、前記タイムアウト判定部が前記タイムアウト時間を経過していないと判定すると、当該判定を行った時刻における前記タイムアウト時間と前記価値時間との差の時間を前記時間通知部に設定し、
前記タイムアウト判定部は、前記時間通知部が時間を通知した時に前記タイムアウト時間を経過したか否かを判定する、
ことを特徴とする請求項８または請求項９に記載のタイムアウト判定方法。
【請求項１２】
前記価値時間算出部は、前記プログラム毎に算出方法記憶部が記憶する算出方法に基づいて価値時間を計算する、
ことを特徴とする請求項８から請求項１１のいずれか１項に記載のタイムアウト判定方法。
【請求項１３】
前記価値時間算出部は、前記プログラムのタイムアウト処理毎に算出方法記憶部が記憶する算出方法に基づいて価値時間を計算する、
ことを特徴とする請求項８から請求項１１のいずれか１項に記載のタイムアウト判定方法。
【請求項１４】
コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置を、
前記プログラムの計算資源の利用状況に基づいて前記プログラム毎に、当該プログラムが計算資源を活用した、または活用可能であった時間を示す価値時間を算出する価値時間算出部、
前記プログラムが設定するタイムアウト時間を記憶するタイムアウト情報記憶部、
前記価値時間が前記タイムアウト時間を経過したか否かを判定するタイムアウト判定部、
として機能させるためのプログラム。
【請求項１５】
コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置を、
前記プログラムの計算資源の利用状況に基づいて前記プログラムが属する処理空間の価値時間を算出する計算資源利用時間算出部、
前記プログラムが設定するタイムアウト時間を記憶するタイムアウト情報記憶部、
前記価値時間が前記タイムアウト時間を経過したか否かを判定するタイムアウト判定部、
として機能させるためのプログラム。
【請求項１６】
コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置を、
前記プログラムに対する計算資源の利用状況を計測し、計測した利用状況を計算資源記憶部に登録する計算資源計測部、
前記計算資源記憶部が記憶する前記プログラムの計算資源の利用状況に基づいて前記プログラムの価値時間を算出する価値時間算出部、
前記プログラムが設定するタイムアウト時間を記憶するタイムアウト情報記憶部、
前記価値時間が前記タイムアウト時間を経過したか否かを判定するタイムアウト判定部、
として機能させるためのプログラム。
【請求項１７】
コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置を、
前記プログラムに対する計算資源の利用状況を計測し、計測した利用状況を計算資源記憶部に登録する計算資源計測部、
前記計算資源記憶部が記憶する前記プログラムの計算資源の利用状況に基づいて前記プログラムが属する処理空間の価値時間を算出する計算資源利用時間算出部、
前記プログラムが設定するタイムアウト時間を記憶するタイムアウト情報記憶部、
前記価値時間が前記タイムアウト時間を経過したか否かを判定するタイムアウト判定部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置、タイムアウト判定方法及びプログラムに関する。
【背景技術】
【０００２】
従来、タイムアウト判定装置はコンピュータ内に実装され、コンピュータが実行するプログラムが、設定した時間を経過した際の処理を発生させるために使用されている。例えば、一定時間内に処理が終了しない場合や応答が無い場合をエラーとして扱う際に使用される。従来のタイムアウト判定装置は、実時間を基にタイムアウトの判定を行っていた。そのため、システムやアプリケーションの設計・開発者は、設計しているコンピュータシステムの処理能力の性能を評価し、性能に基づいてタイムアウトまでの時間を一定値に決定したり、類似システムの設計や動作などからタイムアウトまでの時間を経験的に決定したりしていた。
【０００３】
このようなタイムアウト判定装置において、タイムアウトまでの時間の設定を柔軟に変更することで、動的に変化する計算機システムの状態や、計算機システムの変更に対応する技術が、特許文献１、特許文献２に記載されている。
【０００４】
特許文献１に記載の技術は、ファームウェアに実装されるタイムアウト判定装置において、ＣＰＵ（Central Processing Unit、中央処理装置）の速度変化に対応してタイムアウトまでの時間を変更する技術である。特許文献１に記載のタイムアウト判定装置は、タイムアウトカウンタ情報記憶部と、ファームウェア制御部と、ＣＰＵ性能測定部と、外部インタフェース部とを備える。外部インタフェース部を介してタイムアウトカウンタ情報記憶部が記憶するタイムアウトカウンタ値をＣＰＵの速度に応じて変更する。ファームウェア制御部はタイムアウトカウンタ記憶部が記憶するタイムアウトカウンタ値の回数だけループ処理を行うことにより、タイムアウトまでの時間の計測を実現する。これにより、ＣＰＵ速度の変更に対応したタイムアウト時間を動的に設定することが可能になる。
【０００５】
特許文献２に記載の技術は、通信装置に実装されるタイムアウト判定装置において、情報通信路のメッセージ伝送時間に応じてタイムアウト時間を決定する技術である。特許文献２に記載のタイムアウト判定装置は、予め設定されたタイムアウト時間に応答がなく、再送処理を行う際に、伝送時間測定部が最初のメッセージ送信から応答受信までの時間を計測し、計測した時間にさらにマージン時間を加えた時間をタイムアウト時間として設定する。これにより、通信装置間のネットワークの伝送時間に対応したタイムアウト時間を動的に設定することが可能になる。
【特許文献１】特開平６−２９００８１号公報
【特許文献２】特開平６−１２１００２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、多数の処理が同時に実行される場合、プログラムの優先度によって、ＣＰＵの利用率など、個々のプログラムに割り当てられる計算資源の量が異なるため、従来のタイムアウト判定装置を用いると、割り当てられた計算資源の量が異なるにも関わらず、個々のプログラムを同一のカウント処理でタイムアウトの判定を行うことになる。
また、プログラムを実行する処理部がネットワークに接続する場合も、送信するパケットを生成したプログラムのネットワーク使用の優先度に基づき、ネットワーク使用の制御において、低優先度のプログラムによるネットワークフローが高優先度のプログラムによるネットワークフローよりも遅延する。そのため、低優先度のネットワークフローは、高優先度のネットワークフローに比べ、タイムアウトの時刻までに処理を終える可能性が低くなり、タイムアウトが発生しやすくなる。
【０００７】
ここで、問題を明確にするための例として、特許文献１、特許文献２に記載のタイムアウト判定装置を実装したコンピュータのアプリケーションＡＰ−１〜ＡＰ−Ｎが１つの記憶装置に対して同時にＩ／Ｏ（Input / Output、入出力）要求を送信した場合の動作を説明する。このとき、アプリケーションＡＰ−１〜ＡＰ−Ｎが記憶装置にアクセスできないと判定するタイムアウトまでの時間を１２０秒、各アプリケーションに対するＩ／Ｏ制御の割り当て時間を３０秒とし、アプリケーションの優先度はＡＰ−１〜ＡＰ−Ｎ（Ｎ＝１、２、３、……、Ｎ）で降順になっているものとする。
【０００８】
まず、特許文献１に記載のタイムアウト判定装置の動作を説明する。
特許文献１に記載のタイムアウト判定装置は、タイムアウト判定装置が実装されたコンピュータ全体のＣＰＵ速度に応じてアプリケーションＡＰ−１〜ＡＰ−Ｎが記憶装置にアクセスできないと判定するタイムアウトまでの時間を決定する。しかし、一般的にアプリケーションの実行中はコンピュータ全体のＣＰＵ速度は変化しない。従って、特許文献１に記載のタイムアウト判定装置は、アプリケーションの実行中、従来のタイムアウト判定装置と同様のタイムアウト処理がなされる。
例えば、アプリケーションＡＰ−１〜ＡＰ−Ｎがコンピュータの処理部で実行されると、特許文献１に記載のタイムアウト判定装置は、各アプリケーションＡＰ−１〜ＡＰ−Ｎを実行するコンピュータの処理部からタイムアウト判定命令を受信する。ここでは、上述したように、タイムアウト判定装置が各アプリケーションＡＰ−１〜ＡＰ−Ｎに対してタイムアウトまでの時間として１２０秒を登録する場合の例を示す。タイムアウト判定装置は、資源の割り当てに関係なくタイムアウトまでの時間のカウントダウンを開始する。
【０００９】
まず、アプリケーションＡＰ−１〜ＡＰ−Ｎが実行されると、アプリケーションＡＰ−１〜ＡＰ−Ｎの中で優先度が最も高いアプリケーションＡＰ−１が、上述したように記憶装置のＩ／Ｏ制御の割り当て時間を３０秒取得し、アプリケーションＡＰ−１の実行開始の時間から３０秒までの間にＩ／Ｏ処理を完了する。次に、アプリケーションＡＰ−１に次いで優先度が高いアプリケーションＡＰ−２が、記憶装置のＩ／Ｏ制御の割り当て時間を３０秒取得し、アプリケーションＡＰ−２の実行開始後３０秒から６０秒までの間にＩ／Ｏ処理を完了する。同様に、９０秒までにアプリケーションＡＰ−３が、１２０秒までにアプリケーションＡＰ−４がＩ／Ｏ処理を完了する。このとき、アプリケーションＡＰ−１〜ＡＰ−４はタイムアウトまでの時間である１２０秒以内にＩ／Ｏ処理を完了しているので、タイムアウト判定装置はタイムアウト通知を送信しない。他方、アプリケーションＡＰ−５〜ＡＰ−Ｎはタイムアウトまでの時間の間にＩ／Ｏ処理を完了することができないため、タイムアウト判定装置はアプリケーションＡＰ−５〜ＡＰ−Ｎにタイムアウト通知を送信する。アプリケーションＡＰ−５〜ＡＰ−Ｎは、タイムアウト通知を受信すると、エラー処理を行う。以降、同様の処理を行うことで、３０秒毎に１つのアプリケーションが処理を終了し、１２０秒でタイムアウト判定装置がタイムアウト通知を送信するため、アプリケーションが４つ処理される毎にタイムアウトが発生する。従って、優先度の低いアプリケーションは、タイムアウトの原因が記憶装置や他のアプリケーションのエラーでないにも関わらず、タイムアウト処理によってエラー処理を行わなくてはならないという問題がある。
【００１０】
次に、特許文献２に記載のタイムアウト判定装置の動作を説明する。
なお、タイムアウト時間として設定する際のマージン時間は１２０秒とする。
アプリケーションＡＰ−１〜ＡＰ−Ｎがコンピュータの処理部で実行されると、特許文献２に記載のタイムアウト判定装置は、各アプリケーションＡＰ−１〜ＡＰ−Ｎを実行するコンピュータの処理部からタイムアウト判定命令を受信する。特許文献２に記載のタイムアウト判定装置は、各アプリケーションＡＰ−１〜ＡＰ−Ｎからタイムアウト判定命令を受信すると、各アプリケーションＡＰ−１〜ＡＰ−Ｎに対してタイムアウト時間として１２０秒を設定する。アプリケーションＡＰ−１〜ＡＰ−Ｎが実行されると、アプリケーションの開始時間から３０秒までにアプリケーションＡＰ−１が、６０秒までにアプリケーションＡＰ−２が、９０秒までにアプリケーションＡＰ−３が、１２０秒までにアプリケーションＡＰ−４がＩ／Ｏ処理を完了する。上述したように、書き込み処理を完了したアプリケーションＡＰ−１〜ＡＰ−４はタイムアウトを発生しない。しかし、アプリケーションＡＰ−５〜ＡＰ−Ｎはタイムアウトまでの時間の間にＩ／Ｏ処理を完了することができないため、タイムアウト判定装置がタイムアウト通知を送信し、アプリケーションＡＰ−１〜ＡＰ−Ｎはそれぞれのアプリケーションで予め定められた、例えばタイムアウト以降の処理を強制終了する等のエラー処理を行う。次に、アプリケーションＡＰ−５〜ＡＰ−Ｎは、Ｉ／Ｏ処理の再試行を行う。アプリケーションＡＰ−５は、アプリケーションＡＰ−１〜ＡＰ−４に次いで優先度が高いため、再試行後０秒でＩ／Ｏ制御の割り当て時間を取得し、３０秒後に応答を得る。
【００１１】
特許文献２に記載のタイムアウト判定装置は、再送処理を行う際に、最初のメッセージ送信から応答受信までの時間にさらにマージン時間を加えた時間をタイムアウト時間として設定する。従って、タイムアウト判定装置は、応答受信までの時間３０秒＋マージン時間１２０秒＝１５０秒を次回のタイムアウト時間として設定する。次に、アプリケーションＡＰ−６は、ＡＰ−５が処理を完了すると、Ｉ／Ｏ制御の割り当て時間を取得し、アプリケーションＡＰ−５の処理完了からさらに３０秒後に応答を得る。そのため、タイムアウト判定装置は、待機時間３０秒＋応答受信までの時間３０秒＋マージン時間１２０秒＝１８０秒を次回のタイムアウト時間として設定する。以降、アプリケーション毎に同様の処理が成されるため、ＡＰ−Ｎが処理を完了して設定されるタイムアウト時間は、Ｎ×３０秒まで拡張される。しかし、一度増加したタイムアウト時間の設定値が小さくなることはないため、この処理の後、動作するアプリケーションがＮ個未満になった場合も増加したタイムアウト時間でタイムアウト処理が行われるようになり、タイムアウト処理に時間がかかるようになるという問題がある。
【００１２】
本発明は上記の点に鑑みてなされたものであり、その目的は、複数のプログラムが同時に実行される場合も各プログラムに適切なタイムアウト時間でタイムアウトの判定を行うタイムアウト判定装置、タイムアウト判定方法及びプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
本発明は、上記の問題を解決するためになされたものであり、コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置であって、前記プログラムの計算資源の利用状況に基づいて前記プログラム、またはプログラムが属する処理空間に対する価値時間を算出する価値時間算出部と、前記プログラムが設定するタイムアウト時間を記憶するタイムアウト情報記憶部と、前記価値時間が前記タイムアウト時間を経過したか否かを判定するタイムアウト判定部と、を備えることを特徴とする。
【００１４】
また、本発明は、コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置を用いたタイムアウト判定方法であって、価値時間算出部は、前記プログラム、またはプログラムが属する処理空間に対する計算資源の利用状況に基づいて前記プログラムの価値時間を算出し、タイムアウト判定部は、前記価値時間が前記タイムアウト時間を経過したか否かを判定する、ことを特徴とする。
【００１５】
また、本発明は、コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置を、前記プログラムの計算資源の利用状況に基づいて前記プログラム、または、プログラムが属する処理空間に対する価値時間を算出する価値時間算出部、前記プログラムが設定するタイムアウト時間を記憶するタイムアウト情報記憶部、前記価値時間が前記タイムアウト時間を経過したか否かを判定するタイムアウト判定部、として機能させるためのプログラムである。
【００１６】
また、本発明は、コンピュータが実行するプログラムによって設定されたタイムアウト時間が経過したか否かを判定するタイムアウト判定装置を、前記プログラムに対する計算資源の利用状況を計測し、計測した利用状況を計算資源記憶部に登録する計算資源計測部、前記計算資源記憶部が記憶する前記プログラム、または、プログラムが属する処理空間に対する計算資源の利用状況に基づいて前記プログラムの価値時間を算出する価値時間算出部、前記プログラムが設定するタイムアウト時間を記憶するタイムアウト情報記憶部、前記価値時間が前記タイムアウト時間を経過したか否かを判定するタイムアウト判定部、として機能させるためのプログラムである。
【発明の効果】
【００１７】
本発明によれば、価値時間算出部は、プログラム毎の価値時間を算出し、タイムアウト判定部は、算出した価値時間がタイムアウト時間を経過したか否かを判定する。これにより、同時に実行されているプログラムによる処理遅延の影響等を排除することができる。そのため、複数のプログラムが同時に実行される場合も各プログラムに適切なタイムアウト時間を計測することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
（第１の実施形態）
図１は、本発明の第１の実施形態によるタイムアウト判定装置の構成を示す概略ブロック図である。
タイムアウト判定装置は、受付部１、タイムアウト情報記憶部２、計算資源計測部３、計算資源記憶部４、価値時間算出部５、時間通知部６、タイムアウト判定部７、出力部８を備える。
受付部１は、コンピュータが実行するプログラムからの情報を受け付ける。
計算資源計測部３は、タイムアウト判定命令の発行元のプログラムの計算資源の利用状況を計測する。
計算資源記憶部４は、計算資源計測部３が計測した計算資源の利用状況を記憶する。
価値時間算出部５は、各プログラム、またはプログラムが属する処理空間に対する価値時間ｔｖａｌｕｅを算出する。ここで、プログラムが属する処理空間とは、プログラムの実行が管理されている論理空間のことである。また、価値時間ｔｖａｌｕｅは、タイムアウト処理の対象となるプログラム、またはプログラムが属する処理空間が計算資源を利用した、または利用可能であった時間を示す。プログラムが属する処理空間、及び価値時間の詳細は後述する。
時間通知部６は、所定の周期で価値時間算出部５にタイムアウトの判定を要求する通知信号を出力する。
タイムアウト判定部７は、価値時間算出部５が算出したプログラム、またはプログラムが属する処理空間に対する価値時間ｔｖａｌｕｅとタイムアウト情報記憶部２が記憶するタイムアウト時刻ＴＴＯとに基づいてタイムアウトの判定を行う。
出力部８は、タイムアウト判定部７がタイムアウトを判定すると、タイムアウト判定命令を受け付けたプログラムにタイムアウト通知を出力する。
【００１９】
プログラムが属する処理空間とは、プログラムの実行が管理されている論理空間ことである。例えば、コンピュータ仮想化技術を用いたときの仮想計算機(Virtual Machine、ＶＭ)、パーティショニング技術を用いたときの論理区画、コンテナ技術が用いられたときのコンテナ空間、タスクグループ管理されたときのタスクグループなどが挙げられる。
【００２０】
価値時間ｔｖａｌｕｅは、タイムアウト処理の対象となる前記プログラム、または、そのプログラムが属する処理空間が資源を活用した、または活用可能であった時間を示す。例えば、計算資源の利用時間ｔｖａｌｕｅは、コンピュータのスケジューリング制御等によってプログラムを実行する処理部が実際に計算資源を利用した時間やプログラムに対する処理空間に割り当てられた時間を示す。また別の例として、計算資源の利用時間ｔｖａｌｕｅは、前記プログラムが実際に計算資源を利用した時間や前記処理空間に割り当てられた時間に加え、何も処理が行われなった資源の遊休時間を加算した時間を用いることができる。また、この遊休時間に対して、実行中プログラム数や処理空間数などで均等に分配するなど、計算により変換した時間を用いることもできる。
【００２１】
そして、価値時間算出部５は、プログラムの計算資源の利用状況に基づいて、プログラム、またはプログラムが属する処理空間に対する価値時間ｔｖａｌｕｅを算出し、タイムアウト判定部７は、算出したプログラム、またはタイムアウト処理毎の価値時間ｔｖａｌｕｅに基づいてタイムアウト時刻ＴＴＯを経過したか否かを判定する。
これにより、複数のプログラムが同時に実行される場合も、出力部８は各プログラムに適切なタイムアウト時間でタイムアウト通知を出力する。
【００２２】
次に、本発明の第１の実施形態によるタイムアウト判定装置の動作を説明する。
図２は、本発明の第１の実施形態によるタイムアウト判定装置の動作を示すフローチャートである。
まず、コンピュータが実行するプログラムが処理を開始すると、受付部１は、プログラムを実行する処理部からタイムアウト判定命令を受け付ける（ステップＳ１）。このとき、処理部が送信するタイムアウト判定命令は、プログラムに対してタイムアウト通知を送信する時刻であるタイムアウト時刻ＴＴＯと、タイムアウト判定命令を発行したプログラムを特定するプロセスＩＤ等のプログラム識別子とを含む。タイムアウト判定命令受付部１は、タイムアウト判定命令を受け付けると、タイムアウト情報記憶部２に、タイムアウト判定命令に含まれるタイムアウト時刻ＴＴＯと、プログラム識別子と、タイムアウト時刻ＴＴＯ及びプログラム識別子の登録時刻Ｔｒｅｇとを関連付けて登録する（ステップＳ２）。受付部１がタイムアウト情報記憶部２に情報を登録すると、計算資源計測部３は、タイムアウト情報記憶部２が記憶するプログラム識別子が示すプログラムの計算資源の利用状況の計測を開始する（ステップＳ３）。なお、計算資源計測部３は、計測結果を順次計算資源記憶部４に登録する。
計算資源計測部３が計算資源の利用状況の計測を開始すると、価値時間算出部５は、時間通知部６から通知信号の受信の有無を判定する（ステップＳ４）。なお、時間通知部６は、周期的に通知信号を出力している。
【００２３】
価値時間算出部５は、通知信号を受信していないと判定した場合（ステップＳ４：ＮＯ）、ステップＳ４に戻り、通知信号の受信を待機する。一方、価値時間算出部５は、通知信号を受信したと判定した場合（ステップＳ４：ＹＥＳ）、タイムアウト情報記憶部２が記憶するプログラム識別子が示すプログラムの計算資源の利用状況を計算資源記憶部４から取得する（ステップＳ５）。価値時間算出部５は、計算資源の利用状況を取得すると、プログラム、またはプログラムが属する処理空間に対する価値時間を算出する（ステップＳ６）。プログラムの価値時間ｔｖａｌｕｅの算出は、例えば取得した計算資源の利用状況から計算資源の使用割合を算出し、タイムアウト情報記憶部２が記憶する登録時刻Ｔｒｅｇから現在の時刻Ｔｎｏｗまでの時間と算出した計算資源の使用割合とを乗算することで行う。
価値時間算出部５がプログラムの価値時間ｔｖａｌｕｅを算出すると、タイムアウト判定部７は、タイムアウト情報記憶部２が記憶する登録時刻Ｔｒｅｇに算出した価値時間ｔｖａｌｕｅを加算した時刻が、タイムアウト情報記憶部２が記憶するタイムアウト時刻ＴＴＯを超えているか否かを判定する（ステップＳ７）。すなわち、タイムアウト判定部７は、式（１）の真偽を判定し、式（１）が真である場合にタイムアウト時刻ＴＴＯを超えたと判定する。
Ｔｒｅｇ＋ｔｖａｌｕｅ≧ＴＴＯ  ・・・（１）
【００２４】
タイムアウト判定部７は、タイムアウト時刻ＴＴＯを超えていないと判定した場合（ステップＳ７：ＮＯ）、タイムアウト判定部７は、タイムアウト情報記憶部２が記憶するタイムアウト時刻ＴＴＯからタイムアウト情報記憶部２が記憶する登録時刻Ｔｒｅｇを減じた時間、すなわち、登録時刻Ｔｒｅｇにおけるタイムアウトまでの時間（以下、タイムアウト時間とする）を算出する。次に、タイムアウト判定部７は、算出した登録時刻Ｔｒｅｇにおけるタイムアウト時間から価値時間ｔｖａｌｕｅを減算する。これにより、価値時間ｔｖａｌｕｅが経過した時点、すなわち現在の時刻におけるタイムアウト時間を算出する。次に、タイムアウト判定部７は、現在の時刻に現在の時刻におけるタイムアウト時間を加算した時刻、すなわち次回のタイムアウト時刻ＴＴＯ´を算出する。タイムアウト判定部７は、次回のタイムアウト時刻ＴＴＯ´を算出すると、タイムアウト情報記憶部２が記憶するタイムアウト時刻ＴＴＯを次回のタイムアウト時刻ＴＴＯ´に書き換える。すなわち、タイムアウト判定部７は、式（２）により次回のタイムアウト時刻ＴＴＯ´を算出し、タイムアウト情報記憶部２が記憶するタイムアウト時刻ＴＴＯを、算出したタイムアウト時刻ＴＴＯ´に書き換える。
ＴＴＯ´＝Ｔｎｏｗ＋｛（ＴＴＯ−Ｔｒｅｇ）−ｔｖａｌｕｅ｝  ・・・（２）
また、タイムアウト判定部７は、タイムアウト情報記憶部２が記憶する登録時刻Ｔｒｅｇを現在の時刻Ｔｎｏｗ´に書き換える（ステップＳ８）。
タイムアウト判定部７がタイムアウト情報記憶部２に記憶されている情報を書き換えると、受付部１は、タイムアウト判定命令を発行したプログラムを実行する処理部から、タイムアウトを用いる処理が終了したことを通知する処理完了通知を受信したか否かを判定する（ステップＳ９）。受付部１が処理完了通知を受信していないと判定した場合（ステップＳ９：ＮＯ）、ステップＳ３に戻り、計算資源計測部３による計算資源の使用状況の計測を行う。
【００２５】
ステップＳ７によって、タイムアウト判定部７が、タイムアウト時刻ＴＴＯを超えていると判定した場合（ステップＳ７：ＹＥＳ）、出力部８は、タイムアウト判定命令を発行したプログラムを実行する処理部にタイムアウト通知を出力する（ステップＳ１０）。出力部８がタイムアウト通知を出力した場合、またはステップＳ９で受付部１が処理完了通知を受信したと判定した場合（ステップＳ９：ＹＥＳ）のいずれかにおいて、タイムアウト判定部７は、タイムアウト情報記憶部２が記憶するタイムアウト処理の情報を削除する（ステップＳ１１）。
【００２６】
次に、具体的な例を用いて本発明の第１の実施例によるタイムアウト判定装置の動作を説明する。
図３は、本発明の第１の実施例によるタイムアウト判定装置を実装したコンピュータの構成を示す概略ブロック図である。
コンピュータは、受付部１、タイムアウト情報記憶部２、計算資源計測部３、計算資源記憶部４、価値時間算出部５、時間通知部６、タイムアウト判定部７、出力部８、記憶装置５０を備える。
図３に示すように、受付部１、タイムアウト情報記憶部２、計算資源計測部３、計算資源記憶部４、価値時間算出部５、タイムアウト判定部７、出力部８は、ＯＳ（Operating System）内のソフトウェアとして実装される。また、時間通知部６は、ＲＴＣ（Real Time Clock）等のタイマ回路として専用のハードウェア回路やＣＰＵ内部で実現される。
【００２７】
このような構成で、アプリケーションＡＰ−１〜ＡＰ−Ｎが記憶装置５０に同時にＩ／Ｏ（Input / Output、入出力）要求を送信した場合の動作を説明する。このとき、タイムアウト判定命令を発行する時刻を１２時０分０秒、タイムアウト時刻ＴＴＯを１２時２分０秒、各アプリケーションの処理にかかる時間を３０秒、時間通知部６の周期を１秒とし、アプリケーションの優先度はＡＰ−１〜ＡＰ−Ｎで降順になっており、アプリケーションの優先度は予めメモリに格納されている。
【００２８】
まず、アプリケーションＡＰ−１を実行する処理部は、Ｉ／Ｏ要求を送信すると、ＯＳにタイムアウト判定命令を送信する。アプリケーションＡＰ−１を実行する処理部がタイムアウト判定命令を送信すると、ステップＳ１により、受付部１はタイムアウト判定命令を受け付ける。受付部１は、タイムアウト判定命令を受け付けると、ステップＳ２により、アプリケーションＡＰ−１のタイムアウト時刻ＴＴＯとして１２時２分０秒を、プログラム識別子としてアプリケーションＡＰ−１のプロセスＩＤを、登録時刻Ｔｒｅｇとして１２時０分０秒を、タイムアウト情報記憶部２に登録する。受付部１がタイムアウト情報記憶部２に情報を登録すると、ステップＳ３により、計算資源計測部３はアプリケーションＡＰ−１の計算資源の使用状況の計測を開始する。なお、アプリケーションＡＰ−２〜ＡＰ−Ｎに対しても同様の処理を行う。
【００２９】
アプリケーションＡＰ−１〜ＡＰ−Ｎを実行する処理部が並行してＩ／Ｏ要求を送信すると、記憶装置５０の制御手段は、メモリから各アプリケーションＡＰ−１〜ＡＰ−Ｎの優先度を参照し、優先度の高いＡＰ−１に３０秒の制御時間を設定する。この間、ＡＰ−２〜ＡＰ−Ｎは待機を行う。
ステップＳ３で計算資源計測部３がアプリケーションＡＰ−１〜ＡＰ−Ｎの計算資源の使用状況の計測を開始した１秒後に、時間通知部６は、価値時間算出部５に通知信号を出力する。通知信号を受信すると、価値時間算出部５は、ステップＳ５により、計算資源記憶部５から各アプリケーションＡＰ−１〜ＡＰ−Ｎの計算資源の使用状況を取得する。このとき、計算資源計測部３は、アプリケーションＡＰ−１が記憶装置５０のＩ／Ｏ制御を占有していると判定するため、計算資源記憶部５が記憶するアプリケーションＡＰ−１の計算資源の使用率は１００％であり、アプリケーションＡＰ−２〜ＡＰ−Ｎの計算資源の使用率は０％である。
【００３０】
価値時間算出部５は、アプリケーションＡＰ−１〜ＡＰ−Ｎの計算資源の使用状況を取得すると、ステップＳ６によりアプリケーションＡＰ−１〜ＡＰ−Ｎの価値時間を算出する。このとき算出されるアプリケーションＡＰ−１の価値時間ｔｖａｌｕｅは経過時間１秒×計算資源の使用率１００％＝１秒であり、アプリケーションＡＰ−２〜ＡＰ−Ｎの価値時間ｔｖａｌｕｅは経過時間１秒×計算資源の使用率０％＝０秒である。
価値時間算出部５が各アプリケーションＡＰ−１〜ＡＰ−Ｎの価値時間ｔｖａｌｕｅを算出すると、ステップＳ７により、タイムアウト判定部７は、タイムアウト情報記憶部２が記憶する登録時刻Ｔｒｅｇに算出した価値時間ｔｖａｌｕｅを加算した時刻が、タイムアウト情報記憶部２が記憶するタイムアウト時刻ＴＴＯを超えているか否かを判定する。このとき、アプリケーションＡＰ−１の価値時間は１秒であるため、登録時刻Ｔｒｅｇ１２時０分０秒＋価値時間ｔｖａｌｕｅ１秒＝１２時０分１秒であり、タイムアウト時刻ＴＴＯは１２時２分０秒なので、タイムアウト判定部７は、アプリケーションＡＰ−１がタイムアウト時刻ＴＴＯを超えていないと判定する。また、アプリケーションＡＰ−２〜ＡＰ−Ｎの価値時間ｔｖａｌｕｅは０秒であるため、登録時刻Ｔｒｅｇ１２時０分０秒＋価値時間ｔｖａｌｕｅ０秒＝１２時０分０秒であり、タイムアウト時刻ＴＴＯは１２時２分０秒なので、タイムアウト判定部７は、アプリケーションＡＰ−２〜ＡＰ−Ｎがタイムアウト時刻ＴＴＯを超えていないと判定する。
【００３１】
タイムアウト判定部７は、アプリケーションＡＰ−１〜ＡＰ−Ｎがタイムアウト時刻ＴＴＯを超えていないと判定したため、ステップＳ８によりタイムアウト情報記憶部２が記憶する情報を書き換える。書き換えは以下のように行われる。
タイムアウト判定部７は、タイムアウト情報記憶部２がアプリケーションＡＰ−１に対応付けて記憶しているタイムアウト時刻ＴＴＯを、現在の時刻Ｔｎｏｗ１２時０分１秒＋｛（タイムアウト時刻ＴＴＯ１２時２分０秒−登録時刻Ｔｒｅｇ１２時０分０秒）−価値時間ｔｖａｌｕｅ１秒｝＝１２時２分０秒に書き換える。また、登録時刻Ｔｒｅｇを現在の時刻Ｔｎｏｗ１２時０分１秒に書き換える。すなわち、タイムアウトまでの時間は１２時２分０秒−１２時０分１秒＝１１９秒となる。
他方、タイムアウト判定部７は、タイムアウト情報記憶部２がアプリケーションＡＰ−２〜ＡＰ−Ｎに対応付けて記憶しているタイムアウト時刻ＴＴＯを、現在の時刻Ｔｎｏｗ１２時０分１秒＋｛（タイムアウト時刻ＴＴＯ１２時２分０秒−登録時刻Ｔｒｅｇ１２時０分０秒）−価値時間ｔｖａｌｕｅ０秒｝＝１２時２分１秒に書き換える。また、登録時刻Ｔｒｅｇを現在の時刻Ｔｎｏｗ１２時０分１秒に書き換える。すなわち、タイムアウトまでの時間は１２時２分１秒−１２時０分１秒＝１２０秒となる。
【００３２】
上述した処理により、１秒毎にタイムアウト情報記憶部２が記憶するタイムアウト時刻ＴＴＯ及び登録時刻Ｔｒｅｇが更新される。このとき、アプリケーションＡＰ−１の計算資源の利用率が１００％であるため、アプリケーションＡＰ−１のタイムアウト時刻ＴＴＯは、１２時０分０秒のままとなり、アプリケーションＡＰ−２〜ＡＰ−Ｎの計算資源の利用率は０％であるため、アプリケーションＡＰ−２〜ＡＰ−Ｎのタイムアウト時刻ＴＴＯは、１２時０分０秒から１秒毎に１秒加算される。
そのため、１２時０分３０秒には、アプリケーションＡＰ−１に対するタイムアウトまでの時間が９０秒、アプリケーションＡＰ−２〜ＡＰ−Ｎに対するタイムアウトまでの時間が１２０秒となる。この時点で、アプリケーションＡＰ−１はＩ／Ｏ処理を完了し、ＯＳに処理完了通知を出力する。アプリケーションＡＰ−１が処理完了通知を出力する。他方、ステップＳ９により、受付部１は処理完了通知の受信の有無を判定する。受付部１は処理完了通知を受信するため、ステップＳ１１により、タイムアウト判定部７は、タイムアウト情報記憶部２からアプリケーションＡＰ−１に対応付けられた情報を削除する。これにより、アプリケーションＡＰ−１を実行する処理部に対してＯＳからタイムアウト通知は出力されない。また、このとき記憶装置５０の制御手段が設定した、アプリケーションＡＰ−１に対する記憶装置５０の制御時間３０秒が切れるため、記憶装置５０の制御手段は、アプリケーションＡＰ−１に次いで優先度の高いアプリケーションＡＰ−２に３０秒の制御時間を設定する。
以下、同様に３０秒毎にアプリケーションのＩ／Ｏ処理が順次完了していくこととなる。このとき、全てのアプリケーションＡＰ−１〜ＡＰ−Ｎに対してタイムアウト通知は出力されない。
【００３３】
このように、本実施形態によれば、価値時間算出部５は、プログラムの計算資源の利用状況に基づいてプログラム、またはプログラムが属する処理空間に対する価値時間を算出し、タイムアウト判定部７は、価値時間が前記タイムアウト時間を経過したか否かを判定する。
これにより、複数のプログラムが同時に実行される場合も、出力部８は、他のプログラムの処理により計算資源の割り当てが行われないことによるタイムアウトを回避し、各プログラムに適切なタイムアウト時間にタイムアウト通知を出力することができる。
【００３４】
（第２の実施形態）
次に、本発明の第２の実施形態によるタイムアウト装置の説明を行う。
図４は、本発明の第２の実施形態によるタイムアウト装置の構成を示す概略ブロック図である。
第２の実施形態におけるタイムアウト装置は、第１の実施形態におけるタイムアウト装置にさらに時間設定部９を備え、第１の実施形態におけるタイムアウト装置と時間通知部６の機能が異なる。なお、他の処理部の機能及び動作は、第１の実施形態におけるタイムアウト装置と同じであるため、同一の符号を用いて説明する。
時間設定部９は、上述したステップＳ１によってタイムアウト判定命令を受け付けた場合に、時間通知部６が通知信号を出力する時刻を、タイムアウト判定命令に含まれるタイムアウト時刻ＴＴＯに設定する。また、上述したステップＳ９によって、タイムアウト判定部７がタイムアウト時刻ＴＴＯを超えていないと判定した場合に、時間通知部６が通知信号を出力する時刻を、ステップＳ８でタイムアウト判定部７が新たに算出したタイムアウト時刻ＴＴＯ´に設定する。なお、タイムアウト判定命令を発行したプログラムが複数存在するために、ステップＳ８でタイムアウト判定部７が新たに算出したタイムアウト時刻ＴＴＯ´が複数存在する場合は、複数のタイムアウト時刻ＴＴＯ´の中で最も早い時刻に設定する。
時間通知部６は、時間設定部９によって設定された時刻に価値時間算出部５へ通知信号を出力する。
【００３５】
次に、具体的な例を用いて本発明の第２の実施例によるタイムアウト判定装置の動作を説明する。
図５は、本発明の第２の実施例によるタイムアウト判定装置を実装したコンピュータの構成を示す概略ブロック図である。
コンピュータは、受付部１、タイムアウト情報記憶部２、計算資源計測部３、計算資源記憶部４、価値時間算出部５、時間通知部６、タイムアウト判定部７、出力部８、時間設定部９、記憶装置５０を備える。
図３に示すように、受付部１、タイムアウト情報記憶部２、計算資源計測部３、計算資源記憶部４、価値時間算出部５、タイムアウト判定部７、出力部８、時間設定部９は、ＯＳ（Operating System）内のソフトウェアとして実装される。また、時間通知部６は、ＰＩＴ（Programmable Interval Timer）やＨＰＥＴ（High Precision Event Timer）等のタイマ回路として専用のハードウェア回路やＣＰＵ内部で実現される。
【００３６】
このような構成で、アプリケーションＡＰ−１〜ＡＰ−Ｎが記憶装置５０に同時にＩ／Ｏ（Input / Output、入出力）要求を送信した場合の動作を説明する。このとき、アプリケーションＡＰ−１〜ＡＰ−Ｎを実行する処理部がタイムアウト判定命令を送信する時刻を１２時０分０秒、タイムアウト時刻ＴＴＯを１２時２分０秒、各アプリケーションの処理にかかる時間を３０秒、アプリケーションの優先度はＡＰ−１〜ＡＰ−Ｎで降順になっているものとする。
【００３７】
まず、アプリケーションＡＰ−１を実行する処理部は、Ｉ／Ｏ要求を送信すると、ＯＳにタイムアウト判定命令を送信する。アプリケーションＡＰ−１を実行する処理部がタイムアウト判定命令を送信すると、ステップＳ１により、受付部１はタイムアウト判定命令を受け付ける。このとき、時間設定部９は、時間通知部６による通知信号の通知時間をタイムアウト時刻ＴＴＯの１２時２分０秒に設定する。受付部１は、タイムアウト判定命令を受け付けると、ステップＳ２により、アプリケーションＡＰ−１のタイムアウト時刻ＴＴＯとして１２時２分０秒を、プログラム識別子としてアプリケーションＡＰ−１のプロセスＩＤを、登録時刻Ｔｒｅｇとして１２時０分０秒を、タイムアウト情報記憶部２に登録する。受付部１がタイムアウト情報記憶部２に情報を登録すると、ステップＳ３により、計算資源計測部３はアプリケーションＡＰ−１の計算資源の使用状況の計測を開始する。なお、アプリケーションＡＰ−２〜ＡＰ−Ｎに対しても同様の処理を行う。
【００３８】
アプリケーションＡＰ−１〜ＡＰ−Ｎを実行する処理部が並行してＩ／Ｏを発行すると、記憶装置５０の制御手段は、メモリからアプリケーションＡＰ−１〜ＡＰ−Ｎの優先度を参照し、優先度の高いＡＰ−１に３０秒の制御時間を設定する。この間、ＡＰ−２〜ＡＰ−Ｎは待機を行う。
１２時０分３０秒に、アプリケーションＡＰ−１はＩ／Ｏ処理を完了し、ＯＳに処理完了通知を出力する。アプリケーションＡＰ−１が処理完了通知を出力すると、ステップＳ９により、受付部１は処理完了通知の受信の有無を判定する。受付部１は処理完了通知を受信するため、ステップＳ１１により、タイムアウト判定部７は、タイムアウト情報記憶部２からアプリケーションＡＰ−１に対応付けられた情報を削除する。これにより、アプリケーションＡＰ−１に対してＯＳからタイムアウト通知は出力されない。また、このときアプリケーションＡＰ−１に対する記憶装置５０の制御時間３０秒が切れ、アプリケーションＡＰ−１に次いで優先度の高いアプリケーションＡＰ−２へ制御が移る。
同様に、１２時１分０秒にアプリケーションＡＰ−２が、１２時１分３０秒にアプリケーションＡＰ−３が、１２時２分０秒にアプリケーションＡＰ−４が処理を完了する。
【００３９】
時間通知部６は、時間設定部９によって通知信号の通知時刻を１２時２分０秒に設定されているため、１２時２分０秒に通知信号を価値時間算出部５へ出力する。価値時間算出部５は、通知信号を受信すると、ステップＳ５により計算資源記憶部５から各アプリケーションＡＰ−５〜ＡＰ−Ｎの計算資源の使用状況を取得する。ここで、１２時０分０秒から１２時２分０秒までの間に記憶装置５０のＩ／Ｏ制御を制御したアプリケーションはアプリケーションＡＰ−１〜ＡＰ−４であるため、アプリケーションＡＰ−５〜ＡＰ−Ｎの計算資源の使用率は０％である。
【００４０】
価値時間算出部５は、計算資源の使用状況を取得すると、ステップＳ６により価値時間を算出する。このとき算出されるアプリケーションＡＰ−５〜ＡＰ−Ｎの価値時間ｔｖａｌｕｅは経過時間１秒×計算資源の使用率０％＝０秒である。
価値時間算出部５が各アプリケーションＡＰ−５〜ＡＰ−Ｎの価値時間ｔｖａｌｕｅを算出すると、ステップＳ７により、タイムアウト判定部７は、タイムアウト情報記憶部２が記憶する登録時刻Ｔｒｅｇに算出した価値時間ｔｖａｌｕｅを加算した時刻が、タイムアウト情報記憶部２が記憶するタイムアウト時刻ＴＴＯを超えているか否かを判定する。このとき、アプリケーションＡＰ−５〜ＡＰ−Ｎの価値時間ｔｖａｌｕｅは０秒であるため、登録時刻Ｔｒｅｇ１２時０分０秒＋価値時間ｔｖａｌｕｅ０秒＝１２時０分０秒であり、タイムアウト時刻ＴＴＯは１２時２分０秒なので、タイムアウト判定部７は、アプリケーションＡＰ−５〜ＡＰ−Ｎがタイムアウト時刻ＴＴＯを超えていないと判定する。
【００４１】
タイムアウト判定部７は、アプリケーションＡＰ−５〜ＡＰ−Ｎがタイムアウト時刻ＴＴＯを超えていないと判定したため、ステップＳ８によりタイムアウト情報記憶部２が記憶する情報を書き換える。書き換えは以下のように行われる。
タイムアウト判定部７は、タイムアウト情報記憶部２がアプリケーションＡＰ−５〜ＡＰ−Ｎに対応付けて記憶しているタイムアウト時刻ＴＴＯを、現在の時刻Ｔｎｏｗ１２時２分０秒＋｛（タイムアウト時刻ＴＴＯ１２時２分０秒−登録時刻Ｔｒｅｇ１２時０分０秒）−価値時間ｔｖａｌｕｅ０秒｝＝１２時４分０秒に書き換える。また、登録時刻Ｔｒｅｇを現在の時刻Ｔｎｏｗ１２時２分０秒に書き換える。すなわち、タイムアウトまでの時間は１２時４分０秒−１２時２分０秒＝１２０秒となる。
【００４２】
上述したステップＳ３〜ステップＳ９による処理が繰り返され、１２時４分０秒までに、アプリケーションＡＰ−５〜ＡＰ−９がＩ／Ｏ処理を完了し、１２時４分０秒に、アプリケーションＡＰ−１０〜ＡＰ−Ｎのタイムアウト時刻が１２時６分０秒に更新される。以下、同様に３０秒毎にアプリケーションがＩ／Ｏ処理を完了し、１２０秒毎にアプリケーションのタイムアウト時刻を更新していくこととなる。このとき、全てのアプリケーションＡＰ−１〜ＡＰ−Ｎに対してタイムアウト通知は出力されない。
【００４３】
このように、本実施形態によれば、価値時間算出部５は、プログラムの計算資源の利用状況に基づいてプログラムの価値時間を算出し、タイムアウト判定部７は、価値時間が前記タイムアウト時間を経過したか否かを判定する。これにより、複数のプログラムが同時に実行される場合も、出力部８は、他のプログラムの処理により計算資源の割り当てが行われないことによるタイムアウトを回避し、各プログラムに適切なタイムアウト時間にタイムアウト通知を出力することができる。
【００４４】
さらに、本実施形態によれば、時間設定部９は、時間通知部６が通知信号を通知する通知時刻を次回のタイムアウト時刻ＴＴＯ´に設定する。次回のタイムアウト時刻ＴＴＯ´では、１つのプログラムが計算資源を１００％使用した場合にのみ、登録時刻Ｔｒｅｇ＋価値時間ｔｖａｌｕｅ＝タイムアウト時刻ＴＴＯ´となるため、当該プログラムに対してタイムアウトが発生し、計算資源の使用率が１００％未満である場合は、登録時刻Ｔｒｅｇ＋価値時間ｔｖａｌｕｅ＜タイムアウト時刻ＴＴＯ´となるため、タイムアウトが発生しない。そのため、本実施形態によれば、時間通知部６は、タイムアウトが発生する可能性がある時刻にのみ通知信号を出力する。これにより、時間通知部６は、必要最低限の通知信号を出力することができるため、価値時間ｔｖａｌｕｅの計算回数を減らすことができる。
【００４５】
以上、図面を参照してこの発明の第１、第２の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、第１、第２の実施形態では、タイムアウトの判定に、タイムアウト時刻ＴＴＯを用いる場合を説明したが、これに限られず、タイムアウトまでの時間の間隔を示すタイムアウト時間ｔＴＯを用いてタイムアウトの判定を行っても良い。この場合、ステップＳ７によるタイムアウト時間ｔＴＯを経過したか否かの判定は、価値時間ｔｖａｌｕｅ＞タイムアウト時間ｔＴＯの真偽を判定することで行われる。このとき、価値時間ｔｖａｌｕｅ＞タイムアウト時間ｔＴＯが真である場合、タイムアウト時間ｔＴＯを経過していると判定する。また、ステップＳ８によるタイムアウト時間ｔＴＯの書き換えは、式（３）により新しいタイムアウト時間ｔＴＯ´を算出し、タイムアウト情報記憶部２が記憶するタイムアウト時間ｔＴＯを、算出したタイムアウト時間ｔＴＯ´に書き換えることで行われる。
ｔＴＯ´＝ｔＴＯ−ｔｖａｌｕｅ  ・・・（３）
【００４６】
なお、第１、第２の実施形態では、プログラムが発行するタイムアウト判定命令にプログラム識別子を含み、当該プログラム識別子を用いてプログラムの計算資源の利用状況を計測する場合を説明したが、これに限られず、例えば、プログラムが発行するタイムアウト判定命令に当該プログラムの計算資源の利用状況を含ませることで、計算資源計測部３が計算資源の利用状況の計測を行わずにタイムアウトの判定を行っても良い。
【００４７】
なお、第１、第２の実施形態では、価値時間ｔｖａｌｕｅの算出を、タイムアウト情報記憶部２が記憶する登録時刻Ｔｒｅｇから現在の時刻Ｔｎｏｗまでの時間と計算資源の使用割合とを乗算することで行ったが、これに限られず、例えば、プログラムが発行するタイムアウト判定命令に価値時間算出プログラムへのリンク等の価値時間ｔｖａｌｕｅの算出方法を含ませることで、受付部１がタイムアウト情報記憶部２（算出方法記憶部）に価値時間ｔｖａｌｕｅの算出方法を登録し、プログラム毎に、当該算出方法を用いて価値時間ｔｖａｌｕｅを算出しても良い。
【００４８】
上述のタイムアウト判定装置は、コンピュータシステムに実装される。そして、上述した各処理部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００４９】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００５０】
【図１】本発明の第１の実施形態によるタイムアウト判定装置の構成を示す概略ブロック図である。
【図２】本発明の第１の実施形態によるタイムアウト判定装置の動作を示すフローチャートである。
【図３】本発明の第１の実施例によるタイムアウト判定装置を実装したコンピュータの構成を示す概略ブロック図である。
【図４】本発明の第２の実施形態によるタイムアウト装置の構成を示す概略ブロック図である。
【図５】本発明の第２の実施例によるタイムアウト判定装置を実装したコンピュータの構成を示す概略ブロック図である。
【符号の説明】
【００５１】
１…受付部  ２…タイムアウト情報記憶部  ３…計算資源計測部  ４…計算資源記憶部  ５…価値時間算出部  ６…時間通知部  ７…タイムアウト判定部  ８…出力部  ９…時間設定部  ５０…記憶装置  ＡＰ−１〜ＡＰ−Ｎ…アプリケーション
【図１】
2010134740.tif 000003
【図２】
2010134740.tif 000004
【図３】
2010134740.tif 000005
【図４】
2010134740.tif 000006
【図５】
2010134740.tif 000007