(57)【要約】      （修正有）【課題】計算機において資源が解放されないことによる資源不足が継続する時間を短縮することができる資源管理装置を提供する。【解決手段】計算機が備える資源の少なくとも一部を計算機で動作する機能が占有し始める占有開始において、資源全体における占有率を検出し、占有開始の時刻を特定し、機能が資源の占有を終了する占有終了を検出する占有検出手段１０と、機能及び資源の組の各々に関連付けて占有許可期間を記憶する許可時間記憶手段１１から、占有開始が検出された機能及び資源の組に関連付けられた占有許可期間を読み出し、検出された占有率に応じて、読み出された占有許可期間を調整する調整手段１２と、特定された占有開始の時刻から、占有終了が検出されずに、占有開始が検出された機能及び資源の組に関連する調整後の占有許可期間が経過した場合、異常な資源占有の状態が発生したと判定する異常判定手段１３と、を備える。【選択図】図１
2015121964.tif 000002
【特許請求の範囲】
【請求項１】
計算機が備えるいずれかの種類の資源の少なくとも一部の前記資源を前記計算機で動作する機能が占有し始める占有開始に加えて、前記種類の前記資源全体における占有率を検出し、前記占有開始の時刻を特定し、前記機能が前記資源の占有を終了する占有終了を検出する占有検出手段と、
前記機能及び前記資源の種類の組の各々に関連付けて占有許可期間を記憶する許可時間記憶手段から、前記占有開始が検出された前記機能及び前記資源の種類の組に関連付けられた前記占有許可期間を読み出し、検出された前記占有率に応じて、読み出された前記占有許可期間を調整する調整手段と、
特定された前記占有開始の時刻から、前記占有終了が検出されずに、前記占有開始が検出された前記機能及び前記資源の種類の前記組に関連する調整後の前記占有許可期間が経過した場合、異常な資源占有の状態が発生したと判定する異常判定手段と、
を備える資源管理装置。
【請求項２】
前記機能及び前記資源の種類に関連付けて、前記機能及び前記資源の少なくともいずれかに対して行われる処置を記憶する処置記憶手段と、
前記異常な資源占有の状態が発生したと判定された場合、前記占有許可期間を超えて前記資源を占有する前記機能及び占有されている前記資源に関連付けられている前記処置を、当該処置の内容に応じて前記機能及び前記資源の少なくともいずれかに対して行う処置実行手段と、
を備える請求項１に記載の資源管理装置。
【請求項３】
前記占有検出手段は、前記占有終了が検出されると、前記占有開始の時刻と前記占有終了の時刻とを含む占有履歴を、前記機能及び前記資源の種類とに関連付けて、履歴記憶手段に格納し、
前記資源管理装置は、
前記履歴記憶手段と、
前記履歴記憶手段に格納された前記占有履歴に基づき、前記占有許可期間を決定し、決定された前記占有許可期間を、前記機能及び前記資源の種類の組に関連付けて、許可時間記憶手段に格納する許可時間決定手段と
を備える請求項１又は２に記載の資源管理装置。
【請求項４】
前記機能及び前記資源の種類に関連付けて、前記占有許可期間と、当該占有許可期間を前記占有率に応じて調整するパラメータとを記憶する前記許可時間記憶手段を備え、
前記調整手段は、前記許可時間記憶手段から、前記占有開始が検出された前記機能及び前記資源の種類の前記組に関連付けられた前記占有許可期間と前記パラメータとを読み出し、検出された前記占有率に応じて、読み出された前記パラメータを使用して、読み出された前記占有許可期間を調整する
請求項１乃至３のいずれかに記載の資源管理装置。
【請求項５】
計算機が備えるいずれかの種類の資源の少なくとも一部の前記資源を前記計算機で動作する機能が占有し始める占有開始に加えて、前記種類の前記資源全体における占有率を検出し、前記占有開始の時刻を特定し、前記機能が前記資源の占有を終了する占有終了を検出し、
前記機能及び前記資源の種類の組の各々に関連付けて占有許可期間を記憶する許可時間記憶手段から、前記占有開始が検出された前記機能及び前記資源の種類の組に関連付けられた前記占有許可期間を読み出し、検出された前記占有率に応じて、読み出された前記占有許可期間を調整し、
特定された前記占有開始の時刻から、前記占有終了が検出されずに、前記占有開始が検出された前記機能及び前記資源の種類の前記組に関連する調整後の前記占有許可期間が経過した場合、異常な資源占有の状態が発生したと判定する、
資源管理方法。
【請求項６】
前記機能及び前記資源の種類に関連付けて、前記機能及び前記資源の少なくともいずれかに対して行われる処置を処置記憶手段に記憶し、
前記異常な資源占有の状態が発生したと判定された場合、前記占有許可期間を超えて前記資源を占有する前記機能及び占有されている前記資源に関連付けられている前記処置を、当該処置の内容に応じて前記機能及び前記資源の少なくともいずれかに対して行う、
請求項５に記載の資源管理方法。
【請求項７】
コンピュータを、
計算機が備えるいずれかの種類の資源の少なくとも一部の前記資源を前記計算機で動作する機能が占有し始める占有開始に加えて、前記種類の前記資源全体における占有率を検出し、前記占有開始の時刻を特定し、前記機能が前記資源の占有を終了する占有終了を検出する占有検出手段と、
前記機能及び前記資源の種類の組の各々に関連付けて占有許可期間を記憶する許可時間記憶手段から、前記占有開始が検出された前記機能及び前記資源の種類の組に関連付けられた前記占有許可期間を読み出し、検出された前記占有率に応じて、読み出された前記占有許可期間を調整する調整手段と、
特定された前記占有開始の時刻から、前記占有終了が検出されずに、前記占有開始が検出された前記機能及び前記資源の種類の前記組に関連する調整後の前記占有許可期間が経過した場合、異常な資源占有の状態が発生したと判定する異常判定手段と、
して動作させる資源管理プログラム。
【請求項８】
コンピュータを、
前記機能及び前記資源の種類に関連付けて、前記機能及び前記資源の少なくともいずれかに対して行われる処置を記憶する処置記憶手段と、
前記異常な資源占有の状態が発生したと判定された場合、前記占有許可期間を超えて前記資源を占有する前記機能及び占有されている前記資源に関連付けられている前記処置を、当該処置の内容に応じて前記機能及び前記資源の少なくともいずれかに対して行う処置実行手段と、
して動作させる請求項７に記載の資源管理プログラム。
【請求項９】
コンピュータを、
前記占有終了が検出されると、前記占有開始の時刻と前記占有終了の時刻とを含む占有履歴を、前記機能及び前記資源の種類とに関連付けて、履歴記憶手段に格納する前記占有検出手段と、
前記履歴記憶手段と、
前記履歴記憶手段に格納された前記占有履歴に基づき、前記占有許可期間を決定し、決定された前記占有許可期間を、前記機能及び前記資源の種類の組に関連付けて、許可時間記憶手段に格納する許可時間決定手段と
して動作させる請求項７又は８に記載の資源管理プログラム。
【請求項１０】
コンピュータを、
前記機能及び前記資源の種類に関連付けて、前記占有許可期間と、当該占有許可期間を前記占有率に応じて調整するパラメータとを記憶する前記許可時間記憶手段と、
前記許可時間記憶手段から、前記占有開始が検出された前記機能及び前記資源の種類の前記組に関連付けられた前記占有許可期間と前記パラメータとを読み出し、検出された前記占有率に応じて、読み出された前記パラメータを使用して、読み出された前記占有許可期間を調整する前記調整手段と、
して動作させる請求項７乃至９のいずれかに記載の資源管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機の資源を管理する技術に関する。
【背景技術】
【０００２】
特許文献１には、アプリケーションプログラムが獲得したリソースの使用時間を監視する情報処理装置が記載されている。特許文献１に記載されている情報処理装置は、アプリケーションプログラムがリソースを獲得してから経過した時間をタイマによって計測する。あらかじめ設定された監視時間が経過することによりタイマがタイムアウトした場合、この情報処理装置は、リソース解法やアプリケーションへの通知などの修復処理を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−３４２０２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている情報処理装置がタイマがタイムアウトするまでの監視時間は、リソースの使用状況によらず、固定されている。従って、特許文献１において開示されている技術では、リソースすなわち資源が解放されないことによってリソース不足が生じても、あらかじめ設定された監視時間が経過するまで修復処理が行われない。
【０００５】
本発明の目的の一つは、計算機において資源が解放されないことによる資源不足が継続する時間を短縮することができる資源管理装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明の資源管理装置は、計算機が備えるいずれかの種類の資源の少なくとも一部の前記資源を前記計算機で動作する機能が占有し始める占有開始に加えて、前記種類の前記資源全体における占有率を検出し、前記占有開始の時刻を特定し、前記機能が前記資源の占有を終了する占有終了を検出する占有検出手段と、前記機能及び前記資源の種類の組の各々に関連付けて占有許可期間を記憶する許可時間記憶手段から、前記占有開始が検出された前記機能及び前記資源の種類の組に関連付けられた前記占有許可期間を読み出し、検出された前記占有率に応じて、読み出された前記占有許可期間を調整する調整手段と、特定された前記占有開始の時刻から、前記占有終了が検出されずに、前記占有開始が検出された前記機能及び前記資源の種類の前記組に関連する調整後の前記占有許可期間が経過した場合、異常な資源占有の状態が発生したと判定する異常判定手段と、を備える。
【０００７】
本発明の資源管理方法は、計算機が備えるいずれかの種類の資源の少なくとも一部の前記資源を前記計算機で動作する機能が占有し始める占有開始に加えて、前記種類の前記資源全体における占有率を検出し、前記占有開始の時刻を特定し、前記機能が前記資源の占有を終了する占有終了を検出し、前記機能及び前記資源の種類の組の各々に関連付けて占有許可期間を記憶する許可時間記憶手段から、前記占有開始が検出された前記機能及び前記資源の種類の組に関連付けられた前記占有許可期間を読み出し、検出された前記占有率に応じて、読み出された前記占有許可期間を調整し、特定された前記占有開始の時刻から、前記占有終了が検出されずに、前記占有開始が検出された前記機能及び前記資源の種類の前記組に関連する調整後の前記占有許可期間が経過した場合、異常な資源占有の状態が発生したと判定する。
【０００８】
本発明の資源管理プログラムは、コンピュータを、計算機が備えるいずれかの種類の資源の少なくとも一部の前記資源を前記計算機で動作する機能が占有し始める占有開始に加えて、前記種類の前記資源全体における占有率を検出し、前記占有開始の時刻を特定し、前記機能が前記資源の占有を終了する占有終了を検出する占有検出手段と、前記機能及び前記資源の種類の組の各々に関連付けて占有許可期間を記憶する許可時間記憶手段から、前記占有開始が検出された前記機能及び前記資源の種類の組に関連付けられた前記占有許可期間を読み出し、検出された前記占有率に応じて、読み出された前記占有許可期間を調整する調整手段と、特定された前記占有開始の時刻から、前記占有終了が検出されずに、前記占有開始が検出された前記機能及び前記資源の種類の前記組に関連する調整後の前記占有許可期間が経過した場合、異常な資源占有の状態が発生したと判定する異常判定手段と、して動作させる。
【発明の効果】
【０００９】
本発明には、計算機において資源が解放されないことによる資源不足が継続する時間を短縮することができるという効果がある。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施形態の計算機２の構成の例を表すブロック図である。
【図２】図２は、第１の実施形態の資源管理装置１の動作の例を表すフローチャートである。
【図３】図３は、資源状態の一例を表す図である。
【図４】図４は、占有履歴の例を表す図である。
【図５】図５は、占有許可時間及び処置の一例を表す図である。
【図６】図６は、占有許可時間を決定する場合の、資源管理装置１の動作の例を表すフローチャートである。
【図７】図７は、本実施形態の資源管理装置１の構成の例を表す図である。
【図８】図８は、資源管理装置１、資源管理装置１Ａ、及び計算機２を実現可能な、コンピュータ１０００の構成の一例を表す図である。
【発明を実施するための形態】
【００１１】
次に、本発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１２】
図１は、本実施形態の計算機２の構成の例を表すブロック図である。計算機２は例えばコンピュータである。
【００１３】
図１を参照すると、計算機２は、資源管理装置１と処理部３を含む。
【００１４】
資源管理装置１は、占有検出部１０と、許可時間記憶部１１と、調整部１２と、異常判定部１３と、処置記憶部１４と、処置実行部１５と、資源状態記憶部１６とを含む。資源管理装置１は、さらに、資源状態記憶部１６と、履歴記憶部１７と、許可時間決定部１８とを含んでいてもよい。処理部３は、資源提供部３０を含む。
【００１５】
処理部３は、例えば、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）によって制御される、計算機２のプロセッサによって実現される。処理部３は、計算機２において、機能を起動し動作させる。計算機２における機能は、例えば、計算機２において動作するプログラムである。機能は、一つの機能を備えた複数のプログラムの集合であってもよい。処理部３は、機能に対して、資源提供部３０によって計算機２の資源を提供する。機能は、割り当てられた資源を占有することができる。また、処理部３は、機能を強制的に終了させることができる。処理部３は、機能に提供された資源の、その機能による占有を、例えば資源提供部３０によって、強制的に終了させることができる。処理部３は、例えば図示されない計算機２の表示部に、アラートを表示することができる。
【００１６】
資源提供部３０は、計算機２における機能に対して、資源を提供する。資源は、例えば、計算機２の計算資源である。計算機２は、例えば複数の種類の資源を備えている。資源は、例えば、メモリブロック、計算時間、記憶装置へのアクセスの帯域幅、ネットワークの帯域幅などである。資源は、計算機２が含む複数のプロセッサのうち一部のプロセッサであってもよい。資源は、以上に限らず、他の資源であってもよい。資源は、計算機２において行われる処理で使用される資源であればよい。資源提供部３０は、機能に対して、少なくとも１種類の資源を提供する。資源提供部３０は、資源の種類毎に、資源全体の少なくとの一部の資源を提供する。
【００１７】
そして、資源提供部３０は、機能に対してその機能が占有する資源を提供すると、資源が提供された機能の識別子と、提供された資源の識別子と、資源を提供した時刻とを、占有検出部１０に送信する。以下の説明において、機能の識別子は、機能識別子と表記される。資源の識別子は、資源識別子と表記される。資源を提供した時刻は、機能が提供された資源を占有し始める時刻である。機能が提供された資源を占有し始める時刻は、占有開始時刻と表記される。また、資源提供部３０は、機能が占有していた資源をその機能が解放すると、資源を解放した機能の機能識別子と、解放された資源の資源識別子と、資源が解放された時刻である占有終了時刻とを、占有検出部１０に送信する。
【００１８】
また、資源提供部３０は、資源の種類毎の、資源の占有率を導出してもよい。そして、資源提供部３０は、資源の種類毎の、資源の占有率を、占有検出部１０に送信してもよい。資源占有率は、資源の種類毎の、資源の占有可能な全容量に対する、占有されている資源の容量であればよい。あるいは、資源占有率は、資源の種類毎の、資源の占有可能な全個数に対する、占有されている資源の個数であってもよい。
【００１９】
占有検出部１０は、計算機２が備える資源を、計算機２で動作する機能が占有し始める占有開始を、資源と機能の組み合わせ毎に検出する。そして、占有検出部１０は、占有開始の時刻を特定する。占有検出部１０は、資源の種類毎の、資源の占有率を検出する。占有検出部１０は、前記機能が前記資源の占有を終了する占有終了を検出する。占有検出部１０は、資源提供部３０から資源の占有率を受信することによって、資源の種類毎の、資源の占有率を検出してもよい。占有検出部１０は、後述される、資源状態記憶部１６に格納されている資源状態に基づき、資源の占有率を算出してもよい。その場合、占有検出部１０は、各種類の資源の、占有可能な容量をあらかじめ保持していればよい。
【００２０】
また、占有検出部１０は、資源の占有開始が検出されると、その資源を占有する機能の機能識別子と、占有される資源の資源識別子と、占有開始の時刻とを含む資源状態を、資源状態記憶部１６に格納する。占有検出部１０は、資源の占有終了が検出されると、その資源の資源状態を、資源状態記憶部１６から消去する。
【００２１】
さらに、占有検出部１０は、占有終了が検出されると、機能識別子及び資源識別子に関連付けられた、占有開始の時刻と占有終了の時刻とを含む占有履歴を、履歴記憶部１７に格納してもよい。
【００２２】
資源状態記憶部１６は、資源を占有している機能の機能識別子と、その機能に占有されている資源の資源識別子と、その機能が占有を開始した占有開始時刻とを含む、前述の資源状態を記憶する。
【００２３】
許可時間記憶部１１は、機能と資源の種類との組み合わせに関連付けて、占有許可時間と、その占有許可時間をその種類の資源の占有率に応じて調整するパラメータである調整パラメータとを記憶する。占有許可時間は、機能が資源を占有し始めてから、異常な状態が発生したと判定されずに、その機能がその資源を占有できる期間である。本実施形態において、占有許可時間は、占有許可期間とも表記される。
【００２４】
調整部１２は、許可時間記憶部１１から、占有開始が検出された機能と資源の種類との組み合わせに関連付けられた占有許可時間を読み出す。そして、調整部１２は、検出された前記占有率に応じて、読み出された前記占有許可時間を調整する。さらに具体的には、調整部１２は、許可時間記憶部１１から、占有開始が検出された機能と資源の種類との組み合わせに関連付けられた占有許可時間及び調整パラメータを読み出す。そして、調整部１２は、検出された占有率に応じて、読み出された調整パラメータを使用して、読み出された占有許可時間を調整する。
【００２５】
異常判定部１３は、機能に占有された資源の占有開始の時刻から、機能によるその資源の占有終了が検出されずに、機能と資源の種類との組み合わせに関連する調整後の占有許可時間が経過した場合、異常な資源占有の状態が発生したと判定する。すなわち、判定される異常な資源占有の状態は、機能に占有された資源の占有開始の時刻から、機能によるその資源の占有終了が検出されずに、機能と資源の種類との組み合わせに関連する調整後の占有許可時間が経過した状態である。
【００２６】
処置記憶部１４は、機能と資源の種類との組み合わせに関連付けて、機能及び資源の少なくともいずれかに対して行われる処置を記憶する。
【００２７】
処置実行部１５は、異常資源占有の発生が検出された場合、占有許可時間を超えて資源を占有する機能と占有されている資源との関連付けられている処置を読み出す。そして、処置実行部１５は、読み出された処置を、その処置の内容に応じて機能及び資源の少なくともいずれかに対して行う。処置実行部１５は、処理部３に対して、処置を行う指示を送信すればよい。処置を行う指示を受信した処理部３は、その処置を行えばよい。
【００２８】
履歴記憶部１７は、機能識別子及び資源識別子に関連付けられた、占有開始の時刻と占有終了の時刻とを含む占有履歴を記憶する。
【００２９】
許可時間決定部１８は、履歴記憶部１７に格納されている占有履歴に基づき、機能と資源の種類との組み合わせ毎に、占有許可時間を決定する。許可時間決定部１８は、決定された占有許可時間を、機能と資源の種類とに関連付けて、許可時間記憶部１１に格納する。
【００３０】
占有許可時間は、例えば資源管理装置１の管理者によってあらかじめ定められ、許可時間記憶部１１に格納されていればよい。そして、許可時間決定部１８が、あらかじめ定められた許可時間を更新してもよい。
【００３１】
次に、本実施形態の資源管理装置１の動作について、図面を参照して詳細に説明する。
【００３２】
図２は、本実施形態の資源管理装置１の動作の例を表すフローチャートである。
【００３３】
図２を参照すると、まず、占有検出部１０が、機能による資源の占有開始を検出する（ステップＳ１０１）。占有検出部１０は、例えば、資源提供部３０から、機能が資源の占有を開始したことを表す通知である占有開始通知を受信した場合に、機能による資源の占有開始を検出すればよい。占有開始通知は、資源の占有を開始した機能の機能識別子と、占有された資源の資源識別子とを含んでいればよい。占有開始通知は、一つの機能識別子に対して、複数の資源識別子を含んでいてもよい。占有開始通知は、占有開始時刻を含んでいてもよい。占有検出部１０は、その通知を受信した時刻を、占有開始時刻と見なしてもよい。占有開始通知は、占有が開始された資源と同じ種類の資源の占有率を含んでいてもよい。占有率は、占有が開始された資源と同じ種類の資源全体のうち、占有されている資源の割合を表す。
【００３４】
資源の占有開始が検出されない場合（ステップＳ１０２においてＮｏ）、処理はステップＳ１０５に進む。資源を占有している機能が存在しない場合、後述される資源の占有終了は検出されない（ステップＳ１０６においてＮｏ）。また、占有開始から占有許可時間が経過している資源は存在しない（ステップＳ１０７においてＮｏ）。その場合、資源管理装置１の動作はステップＳ１０１に戻り、占有検出部１０は資源の占有開始の検出を継続する。
【００３５】
資源の占有開始が検出された場合（ステップＳ１０２においてＹｅｓ）、占有検出部１０は、前述の資源状態を、資源状態記憶部１６に格納する。前述のように資源状態は、資源の占有を開始した機能の機能識別子と、占有された資源の資源識別子と、占有開始時刻とを含む。
【００３６】
次に、調整部１２は、資源の占有を開始した機能と、占有された資源とに関連する、占有許可時間及び調整パラメータを、許可時間記憶部１１から読み出す（ステップＳ１０３）。
【００３７】
そして、調整部１２は、占有された資源と同じ種類の資源の占有率と調整パラメータに基づき、読み出された占有許可時間を調整する（ステップＳ１０４）。
【００３８】
調整パラメータは、例えば、占有許可時間を変更する条件と、占有許可時間の変更方法を表す。資源がメモリである場合の調整パラメータは、例えば、「メモリの占有率が８０％以上である場合、メモリに対する占有許可時間を２０％減少させること」を表す情報である。この場合の占有許可時間を変更する条件は、「メモリの占有率が８０％以上である」ことである。また、占有許可時間の変更方法は、「メモリに対する占有許可時間を２０％減少させる」ことである。占有許可時間を変更する資源と、占有許可時間を変更する条件において対象である資源は、異なっていてもよい。例えば、調整パラメータとして、「記憶装置に対する通信帯域使用率が９０％以上である場合、メモリの占有許可時間を３０％増加させる」が考えられる。この場合、占有許可時間を変更する条件は、「記憶装置に対する通信帯域の使用率が９０％以上である」ことである。そして、占有許可時間を変更する条件において対象である資源は、「記憶装置に対する通信帯域」である。一方、占有許可時間の変更方法は、「メモリの占有許可時間を３０％増加させる」ことである。すなわち、占有許可時間が変更される資源は、メモリである。占有許可時間を変更する条件は、２種類以上の条件の組み合わせであってもよい。２種類以上の資源に対する占有許可時間が変更されてもよい。調整パラメータは、機能が正常に動作している場合の占有時間を、占有許可時間が下回る可能性が小さくなるよう、あらかじめ実験的に設定されていればよい。
【００３９】
次に、占有検出部１０は、機能による資源の解放、すなわち、機能による資源の占有の終了を検出する（ステップＳ１０５）。占有検出部１０は、例えば、機能が資源の占有を終了したことを表す通知である占有終了通知を資源提供部３０から受信した場合に、その機能によるその資源の占有の終了を検出すればよい。占有終了通知は、資源を解放した機能の機能識別子と、解放された資源の資源識別子とを含んでいればよい。占有終了通知は、さらに、資源が解放された時刻である占有終了時刻を含んでいてもよい。占有終了通知が占有終了時刻を含まない場合、占有検出部１０は、占有終了通知を受信した時刻を、占有終了時刻にすればよい。
【００４０】
占有検出部１０は、機能による資源の占有の終了が検出されると（ステップＳ１０６においてＹｅｓ）、占有が終了した資源及びその資源を占有していた機能に関連する資源状態を、資源状態記憶部１６から消去すればよい。
【００４１】
なお、資源状態は、占有開始時刻を含んでいなくてもよい。その場合、占有検出部１０は、資源状態を資源状態記憶部１６に格納すると、タイマによる時間計測を開始すればよい。その場合、資源状態は、占有時間を含んでいてもよい。そして、占有検出部１０は、所定のタイミングで、タイマによって計測された時間に基づき、資源状態に含まれる占有時間を、所定のタイミングで更新し続ければよい。資源状態は、さらに、占有許可時間を含んでいてもよい。その場合、占有検出部１０が、機能と資源の種類に応じた占有許可時間を、許可時間記憶部１１から読み出せばよい。そして、占有検出部１０が、読み出された占有許可時間を、資源状態の一部として資源状態記憶部１６に格納すればよい。
【００４２】
図３は、資源状態の一例を表す図である。図３に示す資源状態は、機能識別子と資源識別子に加えて、占有時間と、占有許可時間と、エントリＩＤ（ＩＤｅｎｔｉｆｉｅｒ）とを含む。エントリＩＤは、後述されるように、占有履歴の識別子である。また、図３と、後述される図４と、図５において、占有時間及び占有許可時間における「ｓ」は秒（Ｓｅｃｏｎｄ）を表す。また、占有時間及び占有許可時間における「ｍｓ」はミリ秒（ＭｉｌｌｉＳｅｃｏｎｄ）を表す。
【００４３】
占有検出部１０は、さらに、履歴記憶部１７に格納されている占有履歴を更新してもよい（ステップＳ１１０）。すなわち、占有検出部１０は、資源を占有していた機能の機能識別子と、占有されていた資源の資源識別子と、占有開始時間と、占有終了時刻とを含む占有履歴を、履歴記憶部１７に格納してもよい。そして、占有資源管理装置１の動作は、ステップＳ１０１に戻る。
【００４４】
占有検出部１０は、占有の終了が検出されたときだけでなく、占有の開始が検出されたときにも、占有履歴を更新してもよい。その場合、占有検出部１０は、資源を占有していた機能の機能識別子と、占有されていた資源の資源識別子と、占有開始時間とを含む占有履歴を、履歴記憶部１７に格納してもよい。そして、占有検出部１０は、占有の終了が検出された場合、占有終了時刻をその占有履歴に追加すればよい。占有検出部１０は、占有開始時刻と占有終了時刻から占有時間を算出してもよい。そして、占有検出部１０は、占有の終了が検出された場合、さらに、占有時間を占有履歴に追加してもよい。
【００４５】
図４は、占有履歴の例を表す図である。図４に示す例では、各占有履歴は、昨日識別子と、資源識別子と、占有開始時刻と、占有終了時刻と、占有時間に加えて、占有履歴の識別子であるエントリＩＤを含んでいる。
【００４６】
機能による資源の占有の終了が検出されない場合（ステップＳ１０６においてＮｏ）、異常判定部１３は、占有開始から、調整後の占有許可時間が経過した、機能と資源との組み合わせを検出する（ステップＳ１０７）。
【００４７】
占有開始から、調整後の占有許可時間が経過した、機能と資源との組み合わせが検出されない場合（ステップＳ１０７においてＮｏ）、資源管理装置１の動作はステップＳ１０１に戻る。
【００４８】
占有開始から、調整後の占有許可時間が経過した、機能と資源との組み合わせが検出された場合（ステップＳ１０７においてＹｅｓ）、処置実行部１５は、機能と資源との組み合わせに関連付けられた、処置を表すデータを、処置記憶部１４から読み出す（ステップＳ１０８）。そして、処置実行部１５は、処置の対象を特定する。処置を表すデータは、あらかじめ決められている、処置の識別子であればよい。処置の対象は、その処置に応じてあらかじめ決められていればよい。素値の対象は、例えば、機能あるいは資源であればよい。
【００４９】
処置は、例えば、強制的に資源を解放すること（すなわち強制資源解放）や、アラートの通知や、強制的に機能を停止すること（すなわち強制機能停止）である。そして、処置実行部１５は、読み出された処置に基づき、その処置の対象を特定する。例えば、処置が強制資源解放である場合、処置実行部１５は、調整後の占有許可時間が経過した、前述の機能と資源との組み合わせにおける資源を、強制解放の対象にする。あるいは、処置が強制機能停止である場合、調整後の占有許可時間が経過した、前述の機能と資源との組み合わせにおける機能を、強制停止の対象にする。
【００５０】
なお、許可時間記憶部１１と、処置記憶部１４は、同じ記憶部であってもよい。そして、許可時間記憶部１１及び処置記憶部１４である記憶部は、機能識別子と資源識別子に関連付けて、占有許可時間と、処置とを記憶していてもよい。その場合の占有許可時間及び処置の例を、図５に示す。
【００５１】
図５は、占有許可時間及び処置の一例を表す図である。図５は、占有許可時間と、処置が、機能識別子と資源識別子に関連付けられて記憶されている場合の例である。それぞれの処置として、あらかじめ決められている、例えば、値や符号によって表される識別子が処置記憶部１４に格納されていればよい。
【００５２】
そして、処置実行部１５は、特定された処置を実行する（ステップＳ１０９）。処置実行部１５は、特定された処置の識別子及び処置の対象の識別子を、例えば処理部３に送信すればよい。そして、処理部３が、受信した識別子により特定される対象に対して、処置の識別子によって特定される処置を、実際に行えばよい。例えば、処置がアラート通知であるなら、処理部３は、例えば、計算機２に接続されたディスプレイ（図示されない）に対して、アラートを表示する。処置が強制資源解放であるなら、処理部３は、資源提供部３０に対して、占有開始時刻から占有許可時間が経過した資源の解放を指示する。そして、資源提供部３０は、その資源を解放する。処置が強制機能停止であるなら、処理部３は、占有開始時刻から占有許可時間が経過しても資源を占有し続けている機能を停止する。
【００５３】
次に、占有許可時間を決定する場合の、資源管理装置１の動作について、図面を参照して詳細に説明する。
【００５４】
図６は、占有許可時間を決定する場合の、資源管理装置１の動作の例を表すフローチャートである。
【００５５】
図６を参照すると、まず、許可時間決定部１８が、占有履歴を履歴記憶部１７から読み出す（ステップＳ２０１）。前述のように、占有履歴は、例えば、機能識別子と、資源識別子と、占有開始時刻と、占有終了時刻とを含む。
【００５６】
次に許可時間決定部１８は、占有履歴によって特定される占有時間に基づき、機能と資源の種類との組み合わせ毎に、占有許可時間を決定する（ステップＳ２０２）。
【００５７】
ステップＳ２０２において、まず許可時間決定部１８は、占有開始時刻と占有終了時刻とから、占有時間を算出する。なお、占有履歴が占有時間を含んでいてもよい。その場合、占有検出部１０が、占有時間を算出し、算出される占有時間を占有履歴の一部として、履歴記憶部１７に格納すればよい。そして、許可時間決定部１８は、機能と資源の種類の組み合わせ毎に、占有時間の統計値を算出する。占有時間の統計値は、例えば、平均値、中間値、最頻値である。占有時間の統計値は、他の種類の統計値であってもよい。さらに、許可時間決定部１８は、算出された、占有時間の統計値に基づき、占有許可時間を決定する。許可時間決定部１８は、例えば、機能と資源の種類の組み合わせ毎に算出された統計値に、所定値を掛けた値を、占有許可時間に設定してもよい。許可時間決定部１８は、例えば、機能と資源の種類の組み合わせ毎に、占有時間の標準偏差を算出してもよい。そして、その標準偏差に所定値を掛けた値と、前述の統計値の和を、占有許可時間にしてもよい。なお、許可時間記憶部１１に既に占有許可時間が格納されている場合、その占有許可時間に関連する機能と資源の種類との組み合わせに対して、統計値や標準偏差を算出する際、その占有許可時間を超える占有時間を、算出の対象から除去してもよい。
【００５８】
次に、許可時間決定部１８は、決定された占有許可時間を、機能と資源の種類との組み合わせに関連付けて、許可時間記憶部１１に格納する。
【００５９】
以上で説明した本実施形態には、計算機２において資源が解放されないことによる資源不足が継続する時間を短縮することができるという効果がある。
【００６０】
その理由は、調整部１２が、資源の占有率に応じて、占有許可時間を調整するからである。例えば、資源の占有率が高く資源不足のおそれがある場合や、資源不足になっている場合に、調整部１２が占有許可時間を短くすることによって、資源が早く解放される。
【００６１】
次に、本発明の第２の実施形態について、図面を参照して詳細に説明する。
【００６２】
図７は、本実施形態の資源管理装置１の構成の例を表す図である。
【００６３】
図７を参照すると、本実施形態の資源管理装置１Ａは、計算機２が備えるいずれかの種類の資源の少なくとも一部の前記資源を前記計算機２で動作する機能が占有し始める占有開始に加えて、前記種類の前記資源全体における占有率を検出し、前記占有開始の時刻を特定し、前記機能が前記資源の占有を終了する占有終了を検出する占有検出部１０と、前記機能及び前記資源の種類の組の各々に関連付けて占有許可期間を記憶する許可時間記憶部１１から、前記占有開始が検出された前記機能及び前記資源の種類の組に関連付けられた前記占有許可期間を読み出し、検出された前記占有率に応じて、読み出された前記占有許可期間を調整する調整部１２と、特定された前記占有開始の時刻から、前記占有終了が検出されずに、前記占有開始が検出された前記機能及び前記資源の種類の前記組に関連する調整後の前記占有許可期間が経過した場合、異常な資源占有の状態が発生したと判定する異常判定部１３と、を備える。
【００６４】
以上で説明した本実施形態には、第１の実施形態と同じ効果がある。
【００６５】
その理由は、第１の実施形態の効果の理由と同じである。
【００６６】
資源管理装置１、資源管理装置１Ａ、計算機２は、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
【００６７】
図８は、資源管理装置１、資源管理装置１Ａ、及び計算機２を実現することができる、コンピュータ１０００の構成の一例を表す図である。図８を参照すると、コンピュータ１０００は、プロセッサ１００１と、メモリ１００２と、記憶装置１００３と、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）インタフェース１００４とを含む。また、コンピュータ１０００は、記録媒体１００５にアクセスすることができる。メモリ１００２と記憶装置１００３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ハードディスクなどの記憶装置である。記録媒体１００５は、例えば、ＲＡＭ、ハードディスクなどの記憶装置、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、可搬記録媒体である。記憶装置１００３が記録媒体１００５であってもよい。プロセッサ１００１は、メモリ１００２と、記憶装置１００３に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ１００１は、Ｉ／Ｏインタフェース１００４を介して、例えば、処理部３にアクセスすることができる。プロセッサ１００１は、記録媒体１００５にアクセスすることができる。記録媒体１００５には、コンピュータ１０００を、として動作させるプログラムが格納されている。
【００６８】
プロセッサ１００１は、記録媒体１００５に格納されている、コンピュータ１０００を、資源管理装置１、資源管理装置１Ａ、又は計算機２として動作させるプログラムを、メモリ１００２にロードする。そして、プロセッサ１００１が、メモリ１００２にロードされたプログラムを実行することにより、コンピュータ１０００は、資源管理装置１、資源管理装置１Ａ、又は計算機２として動作する。
【００６９】
占有検出部１０、調整部１２、以上検出部１３、処置実行部１５、許可時間決定部１８は、例えば、プログラムを記憶する記録媒体１００５からメモリ１００２に読み込まれた、各部の機能を実現するための専用のプログラムと、そのプログラムを実行するプロセッサ１００１により実現することができる。また、許可時間記憶部１１、処置記憶部１４、資源状態記憶部１６、履歴記憶部１７は、コンピュータ１０００が含むメモリ１００２やハードディスク装置等の記憶装置１００３により実現することができる。あるいは、占有検出部１０、許可時間記憶部１１、調整部１２、以上検出部１３、処置記憶部１４、処置実行部１５、資源状態記憶部１６、履歴記憶部１７、許可時間決定部１８の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
【００７０】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００７１】
１、１Ａ    資源管理装置
２    計算機
３    処理部
１０    占有検出部
１１    許可時間記憶部
１２    調整部
１３    異常判定部
１４    処置記憶部
１５    処置実行部
１６    資源状態記憶部
１７    履歴記憶部
１８    許可時間決定部
３０    資源提供部
１０００    コンピュータ
１００１    プロセッサ
１００２    メモリ
１００３    記憶装置
１００４    Ｉ／Ｏインタフェース
１００５    記録媒体
【図１】
2015121964.tif 000003
【図２】
2015121964.tif 000004
【図３】
2015121964.tif 000005
【図４】
2015121964.tif 000006
【図５】
2015121964.tif 000007
【図６】
2015121964.tif 000008
【図７】
2015121964.tif 000009
【図８】
2015121964.tif 000010