(57)【要約】【課題】中央処理装置において実行されるプロセスに対して、管理インターバル単位で、中央処理装置のリソースを有効活用できるリソース配分を行うことを可能とする。【解決手段】リソース管理装置３０は、管理インターバルが開始してからの経過時間に対して、中央処理装置２０によって時分割に実行される個々のプロセスに関する実行時間が占める割合であるリソース使用率が、全ての前記プロセスについて上限値以下になるまで、管理インターバルを延長することを決定する決定部３１と、管理インターバルが開始したのち、プロセスに対して、目標実行時間を割り当て、決定部３１が管理インターバルを延長することを決定したのちに、実行可能であり、かつ、リソース使用率が上限値未満の状態にあるプロセスが存在する場合には、そのプロセスが目標実行時間を使用済みであっても、そのプロセスに対して、新たに実行時間を割り当てる割り当て部３２と、を備える。【選択図】      図７
2015079327.tif 000002
【特許請求の範囲】
【請求項１】
連続する個々の第一の所定期間である管理インターバルが開始してからの経過時間に対して、中央処理装置によって時分割に実行される個々のプロセスに関する実行時間が占める割合が、少なくともいずれかの前記プロセスについて、前記管理インターバルが終了した際に前記プロセス毎に決められた上限値を超えている場合に、全ての前記プロセスに関する前記割合が前記上限値以下になるまで、前記管理インターバルを延長することを決定する決定手段と、
前記管理インターバルが開始したのち、前記プロセスに対して、前記管理インターバルにおいて前記中央処理装置によって実行される時間である目標実行時間を割り当て、前記決定手段が前記管理インターバルを延長することを決定したのちに、実行可能であり、かつ、前記割合が前記上限値未満の状態にある前記プロセスである継続実行プロセスが存在する場合には、前記継続実行プロセスが前記目標実行時間を使用済みであっても、前記継続実行プロセスに対して、新たに継続実行時間を割り当てる割り当て手段と、
を備えるリソース管理装置。
【請求項２】
前記割り当て手段は、前記継続実行プロセスに対して、新たに前記継続実行時間を割り当てたとしても、前記継続実行プロセスに関する前記割合が前記上限値を超えない場合に、前記継続実行時間を割り当てる、
請求項１に記載のリソース管理装置。
【請求項３】
前記中央処理装置において前記プロセスが１つも実行されていない状態であるアイドル状態が、第二の所定期間継続したアイドル継続状態を検出する検出手段をさらに備え、
前記決定手段は、前記検出手段が前記アイドル継続状態を検出したときに、前記管理インターバルが終了したものとして、前記管理インターバルを延長するか否かを決定する、
請求項１または２に記載のリソース管理装置。
【請求項４】
前記プロセスを識別する識別子と、前記プロセスに割り当てる前記目標実行時間と、前記割合に関する前記上限値とが関連付けられた管理情報を記憶する管理情報記憶手段をさらに備え、
前記割り当て手段は、前記管理インターバルが開始したのち、実行可能な状態にある前記プロセスに対して、前記管理情報における、当該プロセスに関連付けられた前記目標実行時間を割り当て、
前記決定手段は、前記プロセスに関連付けられた前記上限値を参照する、
請求項１乃至３のいずれかに記載のリソース管理装置。
【請求項５】
情報処理装置によって、
連続する個々の第一の所定期間である管理インターバルが開始してからの経過時間に対して、中央処理装置によって時分割に実行される個々のプロセスに関する実行時間が占める割合が、少なくともいずれかの前記プロセスについて、前記管理インターバルが終了した際に前記プロセス毎に決められた上限値を超えている場合には、全ての前記プロセスに関する前記割合が前記上限値以下になるまで、前記管理インターバルを延長することを決定し、
前記管理インターバルが開始したのち、前記プロセスに対して、前記管理インターバルにおいて前記中央処理装置によって実行される時間である目標実行時間を割り当て、前記管理インターバルを延長することを決定したのちに、実行可能であり、かつ、前記割合が前記上限値未満の状態にある前記プロセスである継続実行プロセスが存在する場合には、前記継続実行プロセスが前記目標実行時間を使用済みであっても、前記継続実行プロセスに対して、新たに継続実行時間を割り当てる、
リソース管理方法。
【請求項６】
情報処理装置によって、
前記継続実行プロセスに対して、新たに前記継続実行時間を割り当てたとしても、前記継続実行プロセスに関する前記割合が前記上限値を超えない場合に、前記継続実行時間を割り当てる、
請求項５に記載のリソース管理方法。
【請求項７】
情報処理装置によって、
前記中央処理装置において前記プロセスが１つも実行されていない状態であるアイドル状態が、第二の所定期間継続したアイドル継続状態を検出し、
前記アイドル継続状態を検出したときに、前記管理インターバルが終了したものとして、前記管理インターバルを延長するか否かを決定する、
請求項５または６に記載のリソース管理方法。
【請求項８】
連続する個々の第一の所定期間である管理インターバルが開始してからの経過時間に対して、中央処理装置によって時分割に実行される個々のプロセスに関する実行時間が占める割合が、少なくともいずれかの前記プロセスについて、前記管理インターバルが終了した際に前記プロセス毎に決められた上限値を超えている場合には、全ての前記プロセスに関する前記割合が前記上限値以下になるまで、前記管理インターバルを延長することを決定する決定処理と、
前記管理インターバルが開始したのち、前記プロセスに対して、前記管理インターバルにおいて前記中央処理装置によって実行される時間である目標実行時間を割り当て、前記決定処理が前記管理インターバルを延長することを決定したのちに、実行可能であり、かつ、前記割合が前記上限値未満の状態にある前記プロセスである継続実行プロセスが存在する場合には、前記継続実行プロセスが前記目標実行時間を使用済みであっても、前記継続実行プロセスに対して、新たに継続実行時間を割り当てる割り当て処理と、
をコンピュータに実行させるリソース管理プログラム。
【請求項９】
前記継続実行プロセスに対して、新たに前記継続実行時間を割り当てたとしても、前記継続実行プロセスに関する前記割合が前記上限値を超えない場合に、前記継続実行時間を割り当てる前記割り当て処理
をコンピュータに実行させる請求項８に記載のリソース管理プログラム。
【請求項１０】
前記中央処理装置において前記プロセスが１つも実行されていない状態であるアイドル状態が、第二の所定期間継続したアイドル継続状態を検出する検出処理と、
前記検出処理が前記アイドル継続状態を検出したときに、前記管理インターバルが終了したものとして、前記管理インターバルを延長するか否かを決定する前記決定処理と、
をコンピュータに実行させる請求項８または９に記載のリソース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、中央処置装置によって実行される複数のプロセスに対する、その中央処理装置に関するリソースの割り当てを管理するリソース管理装置等に関する。
【背景技術】
【０００２】
中央処置装置は、通常、複数のプロセスを時分割して並行処理する。この際、各プロセスには、中央処理装置に関する所定のリソースが割り当てられる。プロセスは、優先度、あるいは、実行時における負荷の大きさ等において、それぞれ異なる特性を持つため、それらの特性を踏まえたリソースの割り当てを行わないと、中央処理装置の資源を有効活用することができなくなる。したがって、それぞれのプロセスに対して、中央処理装置に係るリソースを適切に割り当てる技術が求められている。
【０００３】
上述した技術に関連する技術として、特許文献１には、タスクグループ毎にＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の割当時間に係る上限制御を行うＣＰＵ割当時間管理方式を実行する装置であって、そのＣＰＵに空き時間がある場合に、機能要求に応じて適切な制御を行うＣＰＵ割当時間管理方式を実行する装置が開示されている。
【０００４】
また、特許文献２には、プロセッサ利用率を指定された比率以下に制限する方式であるプロセッサキャッピングが有効な仮想計算機がビジー状態であり、他にアイドル状態である仮想計算機が存在する場合に、偏りのないスケジューリングとプロセッサキャッピングの両方を実現した技術が開示されている。
【０００５】
さらに、特許文献３には、仮想計算機に係るプロセッサ利用率を指定された値以下に制限する方式であるリソースキャッピングに関して、短期（秒オーダ）の実時間でなく、長期（分または時間オーダ）の実時間において、リソースキャッピングを実現した技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１１７８０６号公報
【特許文献２】特開２００８−１８６２１０号公報
【特許文献３】特開平０９−０８１４０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
各プロセスに対する中央処理装置のリソース配分に係る管理は、通常、所定の期間（以降、本願では「管理インターバル」と称することとする）単位で行われる。そして、例えば優先度があまり高くないプロセスが中央処理装置を高いリソース使用率で使用するようなことが発生しないように、プロセス毎に中央処理装置におけるリソース使用率の上限値が設定される。中央処理装置は、管理インターバルにおいて、リソース使用率の上限値を超えないように、各プロセスを実行する。
【０００８】
各プロセスに対するリソース配分は、管理インターバルが開始したときに行われる。そして、管理インターバルが終了したときに、少なくとも何れかのプロセスに関するリソース使用率が上限値を超えている場合、全てのプロセスに関するリソース使用率が上限値以下に収まるように、管理インターバルが延長される。
【０００９】
この場合、管理インターバルが開始したときに割り当てられたリソースを使い切ってしまったプロセスは、次の管理インターバルが開始して新たにリソース配分が行われるまでは、中央処理装置において実行されない。したがって、管理インターバルが延長された後、中央処理装置がアイドル状態になったとしても、割り当てられたリソースを使い切ってしまったために、リソース使用率が上限値に達していないのにもかかわらず実行することができないプロセスが存在する状況が存在する。このような状況が発生することは、中央処理装置のリソースを有効活用する点で問題となる。上述した特許文献１乃至３に開示された技術は、この問題を解決するためのものではない。
【００１０】
本願発明の主たる目的は、この課題を解決した、リソース管理装置、リソース管理方法、及び、リソース管理プログラムを提供することである。
【課題を解決するための手段】
【００１１】
本願発明に係るリソース管理装置は、連続する個々の第一の所定期間である管理インターバルが開始してからの経過時間に対して、中央処理装置によって時分割に実行される個々のプロセスに関する実行時間が占める割合が、少なくともいずれかの前記プロセスについて、前記管理インターバルが終了した際に前記プロセス毎に決められた上限値を超えている場合には、全ての前記プロセスに関する前記割合が前記上限値以下になるまで、前記管理インターバルを延長することを決定する決定手段と、前記管理インターバルが開始したのち、前記プロセスに対して、前記管理インターバルにおいて前記中央処理装置によって実行される時間である目標実行時間を割り当て、前記決定手段が前記管理インターバルを延長することを決定したのちに、実行可能であり、かつ、前記割合が前記上限値未満の状態にある前記プロセスである継続実行プロセスが存在する場合には、前記継続実行プロセスが前記目標実行時間を使用済みであっても、前記継続実行プロセスに対して、新たに継続実行時間を割り当てる割り当て手段と、を備えることを特徴とする。
【００１２】
上記目的を達成する他の見地において、本願発明のリソース管理方法は、連続する個々の第一の所定期間である管理インターバルが開始してからの経過時間に対して、中央処理装置によって時分割に実行される個々のプロセスに関する実行時間が占める割合が、少なくともいずれかの前記プロセスについて、前記管理インターバルが終了した際に前記プロセス毎に決められた上限値を超えている場合には、全ての前記プロセスに関する前記割合が前記上限値以下になるまで、前記管理インターバルを延長することを決定し、前記管理インターバルが開始したのち、前記プロセスに対して、前記管理インターバルにおいて前記中央処理装置によって実行される時間である目標実行時間を割り当て、前記管理インターバルを延長することを決定したのちに、実行可能であり、かつ、前記割合が前記上限値未満の状態にある前記プロセスである継続実行プロセスが存在する場合には、前記継続実行プロセスが前記目標実行時間を使用済みであっても、前記継続実行プロセスに対して、新たに継続実行時間を割り当てることを特徴とする。
【００１３】
また、上記目的を達成する更なる見地において、本願発明に係るリソース管理プログラムは、連続する個々の第一の所定期間である管理インターバルが開始してからの経過時間に対して、中央処理装置により時分割に実行される個々のプロセスに関する実行時間が占める割合が、少なくともいずれかの前記プロセスについて、前記管理インターバルが終了した際に前記プロセス毎に決められた上限値を超えている場合には、全ての前記プロセスに関する前記割合が前記上限値以下になるまで、前記管理インターバルを延長することを決定する決定処理と、前記管理インターバルが開始したのち、前記プロセスに対して、前記管理インターバルにおいて前記中央処理装置によって実行される時間である目標実行時間を割り当て、前記決定処理が前記管理インターバルを延長することを決定したのちに、実行可能であり、かつ、前記割合が前記上限値未満の状態にある前記プロセスである継続実行プロセスが存在する場合には、前記継続実行プロセスが前記目標実行時間を使用済みであっても、前記継続実行プロセスに対して、新たに継続実行時間を割り当てる割り当て処理と、をコンピュータに実行させることを特徴とする。
【００１４】
更に、本発明は、係る情報読取プログラム（コンピュータプログラム）が格納された、コンピュータ読み取り可能な、不揮発性の記憶媒体によっても実現可能である。
【発明の効果】
【００１５】
本願発明は、管理インターバル単位で、中央処理装置において実行されるプロセス毎にリソース使用率の上限値を設定してリソース配分を行う際に、各プロセスが当該中央処理装置のリソースを有効に使用できるリソース配分を行うことを可能とする。
【図面の簡単な説明】
【００１６】
【図１】本願発明の第１の実施形態に係るリソース管理システムの構成を示すブロック図である。
【図２Ａ】本願発明の第１の実施形態に係るリソース管理装置の動作を示すフローチャート（１／３）である。
【図２Ｂ】本願発明の第１の実施形態に係るリソース管理装置の動作を示すフローチャート（２／３）である。
【図２Ｃ】本願発明の第１の実施形態に係るリソース管理装置の動作を示すフローチャート（３／３）である。
【図３】本願発明の第１の実施形態に係るリソース管理テーブルの構成例を示す図である。
【図４】本願発明の第１の実施形態に係るプロセス群へのリソース割り当てを示すタイムチャートである。
【図５】本願発明の第１の実施形態におけるプロセス群に係る累積実行時間及びリソース使用率の推移を例示する図である。
【図６】本願発明の第１の実施形態に係るリソース管理装置が持つ機能を持たないリソース管理装置がリソース管理を行う場合における、プロセス群に係る累積実行時間及びリソース使用率の推移を例示する図である。
【図７】本願発明の第２の実施形態に係るリソース管理装置の構成を示すブロック図である。
【図８】本願発明の各実施形態のリソース管理装置を実行可能な情報処理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、本願発明の実施の形態について図面を参照して詳細に説明する。
【００１８】
＜第１の実施形態＞
図１は第１の実施形態のリソース管理システム１の構成を概念的に示すブロック図である。本実施形態のリソース管理システム１は、リソース管理装置１０、及び、中央処理装置２０を有している。
【００１９】
リソース管理装置１０は、中央処理装置２０において実行されるプロセスに対する、中央処理装置２０におけるリソースの割り当てを、管理インターバルごとに管理する。リソース管理装置１０は、中央処理装置２０において実行される実行時間を、中央処理装置２０に関するリソースとして、各プロセスに割り当てる。中央処理装置２０は、リソース管理装置１０が各プロセスに対してリソースを割り当てた内容に従い、複数のプロセスを時分割して実行する。
【００２０】
リソース管理装置１０は、決定部１１、割り当て部１２、リソース管理テーブル記憶部１３、及び、検出部１４を備えている。決定部１１、割り当て部１２、及び、検出部１４は、電子回路の場合もあれば、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによって実現される場合もある。リソース管理テーブル記憶部１３は、電子回路、あるいは、コンピュータプログラムとそのコンピュータプログラムに従って動作するプロセッサによりアクセス制御される、磁気ディスクや電子メモリ等の記憶デバイスである。
【００２１】
リソース管理テーブル記憶部１３は、リソース管理テーブル１３０を記憶している。リソース管理テーブル１３０の構成例を図３に示す。リソース管理テーブル１３０は、プロセス種別と、リソース配分目標値と、リソース使用率上限値と、リソース使用実績値と、リソース使用率実績値と、を関連付けたレコードを包含している。プロセス種別は、中央処理装置２０において実行されるプロセスに係る種別を示しており、図３に示す例では、３つのプロセス群Ａ乃至Ｃが登録されている。中央処理装置２０において実行される全てのプロセスは、プロセス群Ａ乃至Ｃのいずれかに属している。
【００２２】
リソース配分目標値は、管理インターバルにおいて、各プロセス群に対して割り当てられる、中央処理装置２０を使用できる時間を示している。図３に示す例では、プロセス群Ａ乃至Ｃは、順に、管理インターバルにおいて、７０ｍｓ（ミリ秒）、１０ｍｓ、２０ｍｓの間、中央処理装置２０を使用できることになる。リソース配分目標値は、リソース管理装置１０、あるいは、リソース管理システム１を管理する管理者により設定される。
【００２３】
リソース使用率上限値は、管理インターバルにおいて、各プロセス群によるリソース使用率の上限値を示している。尚、リソース使用率は、管理インターバルにおいて、各プロセス群に属するプロセスが中央処理装置２０において実行された時間を、管理インターバルが開始してからの経過時間によって除算した値である。リソース管理装置１０は、管理インターバルが終了したときに、各プロセス群によるリソース使用率が、この上限値を超えることがないように、各プロセス群に対するリソース配分を管理する。リソース使用率上限値は、リソース管理装置１０、あるいは、リソース管理システム１を管理する管理者により設定される。
【００２４】
リソース使用実績値は、管理インターバルにおいて、各プロセス群が中央処理装置２０を実際に使用した時間を示している。リソース使用実績値は、リソース管理装置１０により、リアルタイムで更新される。尚、例えば、リソース配分目標値が１０ｍｓであるプロセス群Ｂが、１０ｍｓ分のリソースを割り当てられた後、５ｍｓ後に実行が終了した場合は、実行終了時点におけるプロセス群Ｂによるリソース使用実績値は、５ｍｓとなる。この場合、プロセス群Ｂは、管理インターバルにおいて、あと５ｍｓ分、中央処理装置２０を使用できることになる。
【００２５】
リソース使用率実績値は、各プロセス群が中央処理装置２０を実際に使用したリソース使用率を示しており、リソース使用実績値を管理インターバルが開始してからの経過時間により除算した値である。リソース使用実率績値は、リソース管理装置１０により、リアルタイムで更新される。図３に示す例は、管理インターバルが開始してから３０ｍｓ経過したときの値を示している。尚、図３に示す例では、プロセス群Ｂに関して、リソース使用率実績値がリソース使用率上限値を超えているため、リソース管理装置１０は、管理インターバルが開始してから３０ｍｓ経過した時点では、管理インターバルを終了できないことになる。
【００２６】
検出部１４は、アイドルインターバルタイマ１４０を備えている。検出部１４は、中央処理装置２０が、いずれのプロセスも実行していないアイドル状態になったことを検出して、アイドルインターバルタイマ１４０に所定の初期値を設定して、中央処理装置２０がアイドル状態である間、アイドルインターバルタイマ１４０をカウントダウンする。尚、アイドルインターバルタイマ１４０に設定される初期値は、管理インターバルが示す時間と比較して、桁が異なるほど小さな値である。検出部１４は、アイドルインターバルタイマ１４０が示す値が０になると、管理インターバルが終了したとみなして、管理インターバルが終了したことを、決定部１１及び割り当て部１２へ通知する。
【００２７】
決定部１１は、検出部１４から管理インターバルが終了したことを受信したときに、プロセス群ごとに、リソース管理テーブル１３０におけるリソース使用率上限値と、リソース使用率実績値と、を比較する。決定部１１は、少なくともいずれかのプロセス群について、リソース使用率実績値がリソース使用率上限値を超えている場合、管理インターバルを延長することを決定し、管理インターバルを延長したことを、割り当て部１２へ通知する。決定部１１は、全てのプロセス群について、リソース使用率実績値がリソース使用率上限値以下である場合、管理インターバルを延長しないことを決定し、管理インターバルを延長しないことを、割り当て部１２へ通知する。
割り当て部１２は、決定部１１から管理インターバルを延長しないことを通知された場合、リソース管理テーブル１３０における、全てのプロセス群に関するリソース使用実績値及びリソース使用率実績値を０にリセットする。割り当て部１２は、実行可能な状態にあるプロセスを検索し、実行可能なプロセスに対して、リソース管理テーブル１３０により示された、当該プロセスが属するプロセス群に関するリソース配分目標値が示す時間分のリソースを割り当てる。
【００２８】
割り当て部１２は、決定部１１から管理インターバルを延長することを通知された場合、実行可能な状態にあるプロセスを検索する。割り当て部１２は、実行可能な状態にあるプロセスが属するプロセス群が、リソース管理テーブル１３０により示された、リソース配分目標値が示す時間分のリソースをまだ使い切っていない場合、当該プロセスに対して、リソース配分目標値からリソース使用実績値を減算した値が示す時間分のリソースを割り当てる。割り当て部１２は、実行可能な状態にあるプロセスが属するプロセス群が、リソース配分目標値が示す時間分のリソースを既に使い切っている場合、当該プロセス群に係るリソース使用率実績値が、リソース使用率上限値未満であるかどうかを確認する。割り当て部１２は、当該リソース使用率実績値がリソース使用率上限値未満である場合、継続実行モードタイマ１２０が計測する時間の間、当該プロセスが実行された場合に、当該プロセスが属するプロセス群に係るリソース使用率が、上限値を超えることになるかどうかを確認する。継続実行モードタイマ１２０は、割り当て部１２に備えられ、その初期設定値は、アイドルインターバルタイマ１４０に設定される初期値と同様に、管理インターバルが示す時間と比較して、桁が異なるほど小さな値である。
【００２９】
割り当て部１２は、当該プロセスが属するプロセス群によるリソース使用率が、上限値を超えることにならない場合、継続実行モードタイマ１２０を起動し、当該プロセスに対してリソースを割り当てる。割り当て部１２は、継続実行モードタイマ１２０をカウントダウンし、継続実行モードタイマ１２０が示す値が０になったときに、当該プロセスに対するリソースの割り当てをリセットする。すなわち、割り当て部１２は、継続実行モードタイマ１２０がカウントダウンする時間分の実行時間を、リソースとして、当該プロセスに割り当てている。
【００３０】
リソース管理装置１０が各プロセス群にリソースを割り当てる際のタイムチャートの一例を図４に示す。また、図４に示す例について、各プロセス群に関する累積実行時間及びリソース使用率の推移を図５に示す。
【００３１】
ソース管理インターバルは、時刻ｔ０において開始する。図４乃至５に示す例では、実行可能なプロセスが属するプロセス群は、プロセス群Ｂ及びＣであり、プロセス群Ａに属するプロセスは実行可能な状態ではない。したがって、リソース管理装置１０は、プロセス群Ｂ及びＣに対して、それぞれ、図３に示すリソース管理テーブル１３０におけるリソース配分目標値である１０ｍｓ、及び、２０ｍｓの実行時間をリソースとして割り当てる。中央処理装置２０は、プロセス群Ｂに属するプロセスを１０ｍｓ間実行したのち、時刻ｔ１において、プロセス群Ｃに属するプロセスの実行を開始する。中央処理装置２０は、プロセス群Ｃに属するプロセスを２０ｍｓ間実行した後、時刻ｔ２において、一時アイドル状態となる。
【００３２】
リソース管理装置１０は、時刻ｔ２において、アイドルインターバルタイマ１４０をカウントダウンすることにより、中央処理装置２０に係るアイドル状態が所定の時間継続したことを確認した後、管理インターバルを延長するか否かの判断を行う。尚、アイドルインターバルタイマ１４０がカウントダウンする時間は、管理インターバルと比較して、無視できるほど小さいものとする。
【００３３】
リソース管理装置１０は、図５に示す通り、時刻ｔ２におけるプロセス群Ｂによるリソース使用率が３３％であって、リソース使用率上限値である２０％を超えていることから、管理インターバルを延長することを決定する。リソース管理装置１０は、時刻ｔ２において、プロセス群Ｃに属するプロセスが実行可能であり、プロセス群Ｃによるリソース使用率が３３％であって、リソース使用率上限値である１００％に達していないことから、プロセス群Ｃに対してリソースを割り当てる。
【００３４】
リソース管理装置１０がプロセス群Ｃに対して１回に割り当てるリソースは、継続実行モードタイマ１２０がカウントダウンする時間であり、その時間は、図５に示す通り５ｍｓである。リソース管理装置１０は、時刻ｔ２から５ｍｓ経過した後、プロセス群Ｃに対するリソースの割り当てをリセットし、再び、管理インターバルを延長するか否かの判断を行う。リソース管理装置１０は、時刻ｔ２から５ｍｓ経過した時点におけるプロセス群Ｂによるリソース使用率が２９％であって、依然としてリソース使用率上限値である２０％を超えていることから、再度、管理インターバルを延長することを決定する。
【００３５】
リソース管理装置１０は、５ｍｓごとに上述した処理を繰り返して実行する。リソース管理装置１０は、時刻ｔ３において、プロセス群Ｂによるリソース使用率が２０％となり、全てのプロセス群に関して、リソース使用率が上限値以下になったことを確認したのち、管理インターバルを延長しないことを決定する。管理インターバルは、時刻ｔ３において終了し、次の管理インターバルが開始する。
【００３６】
次に図２Ａ乃至２Ｃのフローチャートを参照して、本実施形態に係るリソース管理装置１０の動作（処理）について詳細に説明する。
【００３７】
割り当て部１２は、中央処理装置２０が実行可能な状態にあるプロセスをサーチする（ステップＳ１０１）。実行可能なプロセスが存在する場合（ステップＳ１０２でＹｅｓ）、割り当て部１２は、リソース管理テーブル１３０を参照し、実行可能なプロセスが属するプロセス群が、リソース配分目標値が示す時間分のリソースを既に使い切っているかどうかを確認する（ステップＳ２０１）。
【００３８】
当該プロセス群が、リソース配分目標値が示す時間分のリソースをまだ使い切っていない場合（ステップＳ２０２でＮｏ）、割り当て部１２は、当該プロセスに、リソース配分目標値からリソース使用実績値を減算した値が示す時間分のリソースを割り当てて（ステップＳ２０５）、処理はステップＳ１０１へ戻る。当該プロセス群が、リソース配分目標値が示す時間分のリソースを既に使い切っている場合（ステップＳ２０２でＹｅｓ）、割り当て部１２は、リソース管理テーブル１３０を参照し、実行可能なプロセスが属するプロセス群によるリソース使用率実績値が、上限値未満であるかどうかを確認する（ステップＳ２０３）。
【００３９】
リソース使用率が上限値未満でない場合（ステップＳ２０４でＮｏ）、処理はステップＳ１０１へ戻る。リソース使用率が上限値未満である場合（ステップＳ２０４でＹｅｓ）、割り当て部１２は、継続実行モードタイマ１２０が計測する時間の間、当該プロセスが実行された場合に、当該プロセスが属するプロセス群によるリソース使用率が、上限値を超えることになるかどうかを確認する（ステップＳ３０１）。リソース使用率が上限値を超えることになる場合（ステップＳ３０２でＹｅｓ）、処理はステップＳ１０９へ進む。
【００４０】
リソース使用率が上限値を超えることにならない場合（ステップＳ３０２でＮｏ）、割り当て部１２は、継続実行モードタイマ１２０を起動する（ステップＳ３０３）。割り当て部１２は、当該プロセスに、リソースを割り当てる（ステップＳ３０４）。割り当て部１２は、継続実行モードタイマ１２０を減算する（ステップＳ３０５）。継続実行モードタイマ１２０が示す値が０より大きい場合（ステップＳ３０６でＹｅｓ）、処理はステップＳ３０５へ戻る。継続実行モードタイマ１２０が示す値が０以下である場合（ステップＳ３０６でＮｏ）、割り当て部１２は、当該プロセスに対するリソースの割り当てをリセットし（ステップＳ３０７）、処理はステップＳ１０９へ進む。
【００４１】
ステップＳ１０２において、実行可能なプロセスが存在しない場合（ステップＳ１０２でＮｏ）、検出部１４は、アイドルインターバルタイマ１２０を起動する（ステップＳ１０３）。割り当て部１２は、中央処理措置２０が実行可能な状態にあるプロセスをサーチする（ステップＳ１０４）。実行可能なプロセスが存在する場合（ステップＳ１０５でＹｅｓ）、処理はステップＳ２０１へ進む。実行可能なプロセスが存在しない場合（ステップＳ１０５でＮｏ）、検出部１４は、アイドルインターバルタイマ１２０を減算する（ステップＳ１０８）。アイドルインターバルタイマ１２０が示す値が０より大きい場合（ステップＳ１０７でＹｅｓ）、処理はＳ１０４へ戻る。アイドルインターバルタイマ１２０が示す値が０以下である場合（ステップＳ１０７でＹｅｓ）、決定部１１は、全てのプロセス群に関するリソース使用率を確認する（ステップＳ１０８）。
【００４２】
少なくとも何れかのプロセス群に関するリソース使用率が上限値を超えている場合（ステップＳ１０９でＮｏ）、決定部１１は、管理インターバルを延長することを決定し（ステップＳ１１０）、処理はＳ１０１へ戻る。全てのプロセス群に関するリソース使用率が上限値以下である場合（ステップＳ１０９でＹｅｓ）、決定部１１は、管理インターバルを延長しないことを決定する（ステップＳ１１１）。決定部１１は、リソース管理テーブル１３０における、全てのプロセス群について、リソース使用実績値及びリソース使用率実績値を０にリセットし（ステップＳ１１２）、処理はステップＳ１０１へ戻る。
【００４３】
本実施形態に係るリソース管理装置１０は、管理インターバル単位で、中央処理装置２０において実行されるプロセス群毎にリソース使用率の上限値を設定してリソース配分を行う際に、各プロセス群が中央処理装置２０のリソースを有効に使用できるリソース配分を行うことができる。その理由は、決定部１１が管理インターバルを延長することを決定したのち、割り当て部１２が、リソース使用率が上限値を超えていないプロセス群に対して、リソース配分目標値が示すリソースをたとえ当該プロセス群が使用済みであっても、新たにリソースを割り当てるからである。
【００４４】
複数のプロセスを時分割して実行する中央処理装置に関して各プロセスにリソースを割り当てるリソース管理装置は、通常、管理インターバル単位で、実行可能な状態にあるプロセスに対して、リソース配分目標値が示すリソースを割り当てる。リソース管理装置は、各管理インターバルにおいて、全てのプロセスに関するリソース使用率が示す値が上限値を超えることがないように、管理インターバルの長さを調整する。
【００４５】
本実施形態に係るリソース管理装置１０が持つ機能を持たないリソース管理装置がリソース管理を行う場合における、プロセス群に関する累積実行時間及びリソース使用率の推移を図６に示す。図６に示すプロセス群Ａ乃至Ｃに関するリソース配分目標値及びリソース使用率上限値は、図３に示す通りである。
【００４６】
図６に示す、時刻ｔ０乃至ｔ２における各プロセス群へのリソースの割り当ては、図５に示す例の場合と同様である。図６に示す例の場合、リソース管理装置は、時刻ｔ２乃至ｔ３において、プロセス群Ｃが実行可能な状態であるにもかかわらず、管理インターバルにおけるリソース配分目標値を既に使い切ってしまっているプロセス群Ｃに対して、リソースを割り当てない。したがって、図６に示す例の場合、中央処理装置は、時刻ｔ２乃至ｔ３の期間中、アイドル状態となり、時刻ｔ３における累積アイドル時間は２０ｍｓである。
【００４７】
これに対して、本実施形態に係るリソース管理装置１０は、時刻ｔ２乃至ｔ３において、プロセス群Ｃに対してリソースを割り当てるため、図５に示す通り、時刻ｔ３における累積アイドル時間は０ｍｓである。すなわち、リソース管理装置１０は、中央処理装置２０がアイドル状態になることを回避して、中央処理装置２０に関するリソースを有効活用するように、各プロセス群にリソースを割り当てることができる。
【００４８】
また、リソース管理装置１０は、管理インターバルを延長した後、実行可能なプロセス群に対して、継続実行モードタイマ１２０がカウントダウンする時間分であるリソースを割り当てる際に、当該プロセス群に係るリソース使用率が上限値を超えることにならないことを確認してから、リソースを割り当てる。もし、管理インターバルが延長されたのち、リソースが割り当てられたプロセス群によるリソース使用率が上限値を超えることになる場合、リソース管理装置１０は、当該プロセス群によるリソース使用率が上限値以下になるまで管理インターバルを終了させることができなくなる。リソース管理装置１０は、管理インターバルを延長した後、いずれかの実行可能なプロセスにリソースを割り当てた場合に、管理インターバルを終了させるタイミングが大きく遅れ、後続の管理インターバルを開始することが大きく遅れるような状況が発生することを回避することができる。
【００４９】
尚、本実施形態では、決定部１１は、中央処理装置２０に係るアイドル状態が、所定の時間継続したときに、管理インターバルを継続するかどうかの判定を行うが、この判定を行うタイミングを、別の方法で決めてもよい。例えば、リソース管理装置１０が、管理インターバル開始時にリソースを割り当てたプロセスに関する実行完了を検知する機能を備え、当該プロセスの実行が全て完了したときに、決定部１１が上述した判定を行うようにしてもよい。
【００５０】
また本実施形態では、リソース管理テーブル１３０は、プロセス群毎に、リソース配分目標値及びリソース使用率上限値を関連づけたレコードを包含しているが、個別のプロセス毎に、リソース配分目標値及びリソース使用率上限値を関連づけたレコードを包含してもよい。
【００５１】
＜第２の実施形態＞
図７は第２の実施形態のリソース管理装置３０の構成を概念的に示すブロック図である。
【００５２】
本実施形態のリソース管理装置３０は、決定部３１、及び、割り当て部３２を備えている。
【００５３】
決定部３１は、リソース使用率が、少なくともいずれかのプロセスについて、管理インターバルが終了した際にプロセス毎に決められた上限値を超えているかどうかを確認する。尚、リソース使用率は、管理インターバルが開始してからの、中央処理装置２０により時分割に実行される個々のプロセスに関する実行時間が、経過時間に対して占める割合である。決定部３１は、少なくともいずれかのプロセスについて、リソース使用率が上限値を超えている場合に、全ての前記プロセスに関する前記割合が前記上限値以下になるまで、前記管理インターバルを延長することを決定する。
【００５４】
割り当て部３２は、管理インターバルが開始したのち、プロセスに対して、管理インターバルにおいて中央処理装置２０によって実行される時間である目標実行時間をリソースとして割り当てる。割り当て部３２は、決定部３１が管理インターバルを延長することを決定したのちに、実行可能であり、かつ、リソース使用率が上限値未満の状態にあるプロセスである継続実行プロセスが存在する場合、その継続実行プロセスが目標実行時間を使用済みであっても、その継続実行プロセスに対して、新たに継続実行時間をリソースとして割り当てる。
【００５５】
本実施形態に係るリソース管理装置３０は、管理インターバル単位で、中央処理装置２０において実行されるプロセス毎にリソース使用率の上限値を設定してリソース配分を行う際に、各プロセスが中央処理装置２０のリソースを有効に使用できるリソース配分を行うことができる。その理由は、決定部３１が管理インターバルを延長することを決定したのち、割り当て部３２が、リソース使用率が上限値を超えていないプロセスに対して、たとえそのプロセスが目標実行時間を使用済みであっても、新たに継続実行時間をリソースとして割り当てるからである。
【００５６】
＜ハードウェア構成例＞
上述した各実施形態において図１、及び、図７に示した各部は、ソフトウェアプログラムの機能（処理）単位（ソフトウェアモジュール）と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図８を参照して説明する。
【００５７】
図８は、本発明の模範的な実施形態に係るリソース管理装置を実行可能な情報処理装置９００（コンピュータ）の構成を例示的に説明する図である。即ち、図８は、図１、及び、図７に示したリソース管理装置を実現可能なコンピュータ（情報処理装置）の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
【００５８】
図８に示した情報処理装置９００は、ＣＰＵ９０１（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ）、ＲＯＭ９０２（Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）、ＲＡＭ９０３（Ｒａｎｄｏｍ＿Ａｃｃｅｓｓ＿Ｍｅｍｏｒｙ）、ハードディスク９０４（記憶装置）、外部装置との通信インタフェース９０５（Ｉｎｔｅｒｆａｃｅ：以降、「Ｉ／Ｆ」と称する）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ＿Ｄｉｓｃ＿Ｒｅａｄ＿Ｏｎｌｙ＿Ｍｅｍｏｒｙ）等の記憶媒体９０７に格納されたデータを読み書き可能なリーダライタ９０８、及び、入出力インタフェース９０９を備え、これらの構成がバス９０６（通信線）を介して接続された一般的なコンピュータである。
【００５９】
そして、上述した実施形態を例に説明した本発明は、図８に示した情報処理装置９００に対して、その実施形態の説明において参照したブロック構成図（図１、及び、図７）或いはフローチャート（図２Ａ乃至２Ｃ）の機能を実現可能なコンピュータプログラムを供給した後、そのコンピュータプログラムを、当該ハードウェアのＣＰＵ９０１に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性の記憶メモリ（ＲＡＭ９０３）またはハードディスク９０４等の不揮発性の記憶デバイスに格納すれば良い。
【００６０】
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、ＣＤ−ＲＯＭ等の各種記憶媒体９０７を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記憶媒体９０７によって構成されると捉えることができる。
【００６１】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【符号の説明】
【００６２】
１    リソース管理システム
１０    リソース管理装置
１１    決定部
１２    割り当て部
１２０    継続実行モードタイマ
１３    リソース管理テーブル記憶部
１３０    リソース管理テーブル
１４    検出部
１４０    アイドルインターバルタイマ
２０    中央処理装置
３０    リソース管理装置
３１    決定部
３２    割り当て部
９００    情報処理装置
９０１    ＣＰＵ
９０２    ＲＯＭ
９０３    ＲＡＭ
９０４    ハードディスク
９０５    通信インタフェース
９０６    バス
９０７    記憶媒体
９０８    リーダライタ
９０９    入出力インタフェース
【図１】
2015079327.tif 000003
【図２Ａ】
2015079327.tif 000004
【図２Ｂ】
2015079327.tif 000005
【図２Ｃ】
2015079327.tif 000006
【図３】
2015079327.tif 000007
【図４】
2015079327.tif 000008
【図５】
2015079327.tif 000009
【図６】
2015079327.tif 000010
【図７】
2015079327.tif 000011
【図８】
2015079327.tif 000012