(57)【要約】【課題】リソース配分の調整作業を容易にするとともに、系統的及び定量的に決定できるようにすることができる。【解決手段】リソースの割当量の上限値が設定されたリソースグループ定義ファイルと、タスクに対してリソースを割り当てるリソースグループ変更制御部３０２と、タスクの実行中にリソースの使用量が上限値に達したか否かを判定する判定リソースグループ監視制御部２０６と、リソースの使用量が上限値に達したことを示す到達通知情報を出力するリソースグループ情報通知部３０４と、到達通知情報に基づいてタスクに対して割り当てるリソースの割当量の変更に用いる変更要求５０４を生成して出力するリソースマネージャ５０３とを備え、リソースグループ変更制御部３０２は、変更要求５０４に基づいて、タスクに対して割り当てるリソースの割当量を変更する。【選択図】図１
2015109020.tif 000002
【特許請求の範囲】
【請求項１】
リソースを有し、前記リソースを用いてプログラムを実行するリソース配分装置において、
前記プログラムに対して割り当てる前記リソースの割当量の上限値が設定された割当情報を記憶装置に記憶する割当情報記憶部と、
前記割当情報記憶部により記憶された前記割当情報に基づいて、前記プログラムに対し、前記リソースのうち前記上限値が示す割当量の前記リソースを割り当てる割当部と、
前記プログラムの実行中に、前記リソースの使用量が前記上限値に達したか否かを処理装置により判定する判定部と、
前記判定部により前記リソースの使用量が前記上限値に達したと判定された場合に、前記リソースの使用量が前記上限値に達したことを示す到達通知情報を出力する通知部と、
前記通知部から前記到達通知情報を入力し、入力した前記到達通知情報に基づいて、前記リソースの割当量の変更に用いる変更情報を生成し、生成した前記変更情報を出力する管理部と
を備え、
前記割当部は、
前記管理部から前記変更情報を入力し、入力した前記変更情報に基づいて、前記プログラムに対して割り当てる前記リソースの割当量を変更する
ことを特徴とするリソース配分装置。
【請求項２】
前記リソースの割当量の変更の必要条件である変更必要条件と、前記変更必要条件を満たす場合の前記割当量の変更方式とを対応付けた変更条件情報を記憶装置に記憶する変更条件記憶部を備え、
前記管理部は、
前記変更条件記憶部により記憶された前記変更条件情報に含まれる前記変更必要条件に基づいて前記リソースの割当量の変更が必要か否かを判定し、前記リソースの割当量の変更が必要と判定された場合に、前記変更条件情報に含まれる前記変更方式に基づいて前記変更情報を生成する
ことを特徴とする請求項１に記載のリソース配分装置。
【請求項３】
前記変更条件記憶部は、
一定時間内に前記リソースの使用量が前記上限値に達した回数が閾値以上の場合を前記変更必要条件とし、前記変更必要条件を満たす場合の前記割当量の変更量を前記変更方式として記憶することを特徴とする請求項２に記載のリソース配分装置。
【請求項４】
前記変更条件記憶部は、
一定時間内に前記リソースの使用量が前記上限値に達することがない場合を前記変更必要条件とし、前記変更必要条件を満たす場合に前記リソースの割当量を縮小することを前記変更方式として記憶することを特徴とする請求項２に記載のリソース配分装置。
【請求項５】
リソースを有し、前記リソースを用いてプログラムを実行するリソース配分装置と、前記リソース配分装置とネットワークを介して接続されるサーバ装置とを備えるリソース配分システムにおいて、
前記リソース配分装置は、
前記プログラムに対して割り当てる前記リソースの割当量の上限値が設定された割当情報を記憶装置に記憶する割当情報記憶部と、
前記割当情報記憶部により記憶された前記割当情報に基づいて、前記プログラムに対し、前記リソースのうち前記上限値が示す割当量の前記リソースを割り当てる割当部と、
前記プログラムの実行中に、前記リソースの使用量が前記上限値に達したか否かを判定する判定部と、
前記判定部により前記リソースの使用量が前記上限値に達したと判定された場合に、前記リソースの使用量が前記上限値に達したことを示す到達通知情報を前記サーバ装置に送信する通知部と
を備え、
前記サーバ装置は、
前記通知部からの前記到達通知情報を受信する情報通信部と、
前記情報通信部により前記到達通知情報が受信されると、受信した前記到達通知情報に基づいて、前記プログラムに対して割り当てる前記リソースの割当量の変更に用いる変更情報を生成し、生成した前記変更情報を前記リソース配分装置に送信する管理部と
を備え、
前記リソース配分装置の前記割当部は、
前記サーバ装置の前記管理部から前記変更情報を受信し、受信した前記変更情報に基づいて、前記プログラムに対して割り当てる前記リソースの割当量を変更する
ことを特徴とするリソース配分システム。
【請求項６】
リソースを有し、前記リソースを用いてプログラムを実行するリソース配分装置と、前記リソース配分装置とネットワークを介して接続されるサーバ装置とを備えるリソース配分システムにおいて、
前記リソース配分装置は、
前記プログラムに対して割り当てる前記リソースの割当量の上限値が設定された割当情報を記憶装置に記憶する割当情報記憶部と、
前記割当情報記憶部により記憶された前記割当情報に基づいて、前記プログラムに対し、前記リソースのうち前記上限値が示す割当量の前記リソースを割り当てる割当部と、
前記割当部が前記プログラムに割り当てた前記リソースの割当量の情報を最新割当情報として記憶装置に記憶する最新割当情報記憶部と
を備え、
前記サーバ装置は、
前記最新割当情報記憶部に記憶された前記最新割当情報を取得する取得要求を前記リソース配分装置に送信する情報取得要求部を備え、
前記リソース配分装置は、
前記情報取得要求部から前記取得要求を受信すると、前記最新割当情報記憶部により記憶された前記最新割当情報を記憶装置から取得し、取得した前記最新割当情報を前記サーバ装置に送信する通知部を備え、
前記サーバ装置は、
前記通知部からの前記最新割当情報を受信すると、受信した前記最新割当情報を表示装置に表示する表示部を備えることを特徴とするリソース配分システム。
【請求項７】
サーバ装置は、さらに、
前記リソースの変更の指示である変更指示を入力する指示入力部と、
前記指示入力部により入力された前記変更指示に基づいて、前記プログラムに対して割り当てる前記リソースの割当量の変更に用いる変更情報を生成し、生成した前記変更情報を前記リソース配分装置に送信する管理部と
を備え、
前記リソース配分装置の前記割当部は、
前記サーバ装置の前記管理部から前記変更情報を受信し、受信した前記変更情報に基づいて、前記プログラムに対して割り当てる前記リソースの割当量を変更する
ことを特徴とする請求項６に記載のリソース配分システム。
【請求項８】
リソースを有し、前記リソースを用いてプログラムを実行するリソース配分装置であって、前記プログラムに対して割り当てる前記リソースの割当量の上限値が設定された割当情報を記憶装置に記憶する割当情報記憶部を備えるリソース配分装置のリソース配分方法において、
割当部が、前記割当情報記憶部により記憶された前記割当情報に基づいて、前記プログラムに対し、前記リソースのうち前記上限値が示す割当量の前記リソースを割り当てる割当工程と、
判定部が、前記プログラムの実行中に、前記リソースの使用量が前記上限値に達したか否かを判定する判定工程と、
通知部が、前記判定工程により前記リソースの使用量が前記上限値に達したと判定された場合に、前記リソースの使用量が前記上限値に達したことを示す到達通知情報を出力する通知工程と、
管理部が、前記通知工程から前記到達通知情報を入力し、入力した前記到達通知情報に基づいて、前記プログラムに対して割り当てる前記リソースの割当量の変更に用いる変更情報を生成し、生成した前記変更情報を出力する管理工程と
を備え、
前記割当工程は、
前記管理工程から前記変更情報を入力し、入力した前記変更情報に基づいて、前記プログラムに対して割り当てる前記リソースの割当量を変更する
ことを特徴とするリソース配分方法。
【請求項９】
リソースを有し、前記リソースを用いてタスクを実行するリソース配分装置であって、前記タスクに対して割り当てる前記リソースの割当量の上限値が設定された割当情報を記憶装置に記憶する割当情報記憶部を備えるリソース配分装置のプログラムにおいて、
割当部が、前記割当情報記憶部により記憶された前記割当情報に基づいて、前記タスクに対し、前記リソースのうち前記上限値が示す割当量の前記リソースを割り当てる割当処理と、
判定部が、前記タスクの実行中に、前記リソースの使用量が前記上限値に達したか否かを判定する判定処理と、
通知部が、前記判定処理により前記リソースの使用量が前記上限値に達したと判定された場合に、前記リソースの使用量が前記上限値に達したことを示す到達通知情報を出力する通知処理と、
管理部が、前記通知処理から前記到達通知情報を入力し、入力した前記到達通知情報に基づいて、前記タスクに対して割り当てる前記リソースの割当量の変更に用いる変更情報を生成し、生成した前記変更情報を出力する管理処理と、
割当部が、前記管理処理から前記変更情報を入力し、入力した前記変更情報に基づいて、前記タスクに対して割り当てる前記リソースの割当量を変更する割当変更処理と
をコンピュータである前記リソース配分装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リソース配分装置、リソース配分システム、リソース配分方法及びプログラムに関する。特に、組み込み機器のリソース配分を調整するリソース配分システムに関する。
【背景技術】
【０００２】
従来の組込み機器では、提供機能や動作タスクのセットが予め決まっているため、出荷前にリソース配分の調整を行うことによりリソース配分を決定することができた。ところが、携帯端末向けのＡｎｄｒｏｉｄ（登録商標）のような一部の新しいソフトウェア・プラットフォーム上では、ユーザが自由にアプリケーションを追加インストールして実行できるため、出荷前に決定した計算機リソースの配分では、後から不都合が生じる場合が出てきた。
【０００３】
さらに、ユーザが外部から追加ダウンロードしたアプリケーションに不具合があり、特定の条件下で暴走するケースや、あるいは元々悪意のあるアプリケーションであって計算機リソースを浪費してシステム動作に影響を与えるケースも考えられるようになった。
このような新しい状況の変化に対して、個々の組込み機器が提供する基本機能の安定性を確保する方策がより重要になってきている。
【０００４】
従来のリソース配分システムには、ユーザから見たアプリケーション動作が最良になるような資源（リソース）割当て量を決定するものがある。このリソース配分システムは、リソース配分の変動量に応じたユーザからのフィードバック情報を得るためのユーザインタフェース手段を設けることによって、リソース配分を調整・決定していた（例えば、特許文献１参照）。
【０００５】
また、オペレーティングシステム内のリソース管理機能によって、タスク動作を計算機リソース割当ての上限値以下に制限する機構が開示されている（例えば、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−２８７０４６号公報
【非特許文献】
【０００７】
【非特許文献１】高橋監修、「ＬＩＮＵＸカーネルＨＡＣＫＳ」オライリー・ジャパン、２０１１年７月２２日発行、ｐ．６３〜１０７
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１のリソース配分システムは、ユーザの主観に依存してリソース配分を決める手法であり、リソース配分に関するシステムとしての最適な値に落ち着くとは限らず、一般的な計算機装置に適用することができないという課題がある。
また、非特許文献１のリソース管理機能は、リソース配分のためのリソース監視と制御の機構を提供するのみであり、最適なリソース割当ての上限値を決めるための手段が何ら提供されていない。
【０００９】
本発明は、上記のような課題を解決するためになされたもので、熟練ソフトウェア開発者の経験に頼ることなく、リソース配分の調整作業を容易にするとともに、系統的及び定量的に決定できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るリソース配分装置は、リソースを有し、前記リソースを用いてプログラムを実行するリソース配分装置において、
前記プログラムに対して割り当てる前記リソースの割当量の上限値が設定された割当情報を記憶装置に記憶する割当情報記憶部と、
前記割当情報記憶部により記憶された前記割当情報に基づいて、前記プログラムに対し、前記リソースのうち前記上限値が示す割当量の前記リソースを割り当てる割当部と、
前記プログラムの実行中に、前記リソースの使用量が前記上限値に達したか否かを判定する判定部と、
前記判定部により前記リソースの使用量が前記上限値に達したと判定された場合に、前記リソースの使用量が前記上限値に達したことを示す到達通知情報を出力する通知部と、
前記通知部から前記到達通知情報を入力し、入力した前記到達通知情報に基づいて、前記リソースの割当量の変更に用いる変更情報を生成し、生成した前記変更情報を出力する管理部と
を備え、
前記割当部は、
前記管理部から前記変更情報を入力し、入力した前記変更情報に基づいて、前記プログラムに対して割り当てる前記リソースの割当量を変更することを特徴とする。
【発明の効果】
【００１１】
本実施の形態に係るリソース配分装置によれば、プログラムの実行中に、リソースの使用量が上限値に達したか否かを判定する判定部と、リソースの使用量が上限値に達したと判定された場合に、到達通知情報を出力する通知部と、到達通知情報に基づいて、プログラムに対して割り当てるリソースの割当量の変更に用いる変更情報を生成する管理部と、変更情報に基づいて、プログラムに対して割り当てるリソースの割当量を変更する割当部とを備えているので、熟練ソフトウェア開発者の経験に頼ることなく、リソース配分の調整作業を容易にするとともに、系統的及び定量的に決定できるようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るリソース配分装置１０００のブロック構成を示す図である。
【図２】実施の形態１に係るリソース配分装置１０００のハードウェア構成についてさらに説明するための図である。
【図３】実施の形態１に係るリソース配分装置１０００のリソース配分方法におけるリソース配分工程（処理）を示すフローチャートである。
【図４】実施の形態１に係るリソースグループ定義ファイル３０３の構成の一例を示す図である。
【図５】実施の形態２に係るリソース配分システム１１００のブロック構成を示す図である。
【図６】実施の形態２に係るリソース配分システム１１００のリソース配分調整工程（処理）を示すフローチャートである。
【図７】実施の形態３に係るリソース配分システム１１００のリソース配分調整工程（処理）を示すフローチャートである。
【発明を実施するための形態】
【００１３】
実施の形態１．
図１は、本実施の形態に係るリソース配分装置１０００のブロック構成を示す図である。
図１を用いて、リソース配分装置１０００のブロック構成について説明する。
リソース配分装置１０００は、リソース（計算機リソースともいう）を有し、リソースを用いてタスク（プログラムの一例）を実行する計算機である。
【００１４】
図１に示すように、リソース配分装置１０００は、ハードウェア１００、ＯＳ実行部２００、リソース配分機構部３００、リソースグループＸ４００、リソースグループＹ４０１、リソースマネージャ５０３を備える。
リソースグループとは、計算機リソースの配分単位である。
【００１５】
ハードウェア１００は、計算機ハードウェアである。ハードウェア１００は、少なくともＣＰＵ１０１、主メモリ１０２、フラッシュメモリやハードディスク等の記憶装置１０３、Ｅｔｈｅｒｎｅｔ（登録商標）等の通信インタフェース１０４から構成される。
【００１６】
ＯＳ実行部２００は、処理装置を用いてＯＳ（オペレーティングシステム）を実行する。ＯＳ（オペレーティングシステム）は、ハードウェア１００を抽象化して効率的に利用するための基本ソフトウェアである。
ＯＳ実行部２００は、タスク管理部２０１、タスクスケジューラ部２０２、メモリ管理部２０３、ファイル管理部２０４、ネットワーク管理部２０５、リソースグループ監視制御部２０６を備える。
【００１７】
タスク管理部２０１は、計算機上の処理の実行単位であるタスクの生成や終了等を行う。
タスクスケジューラ部２０２は、タスクへのＣＰＵ割当てを行う。
メモリ管理部２０３は、タスクへのメモリ割当て等を行う。
ファイル管理部２０４は、記憶装置１０３内のデータやプログラムの保存単位であるファイルの生成や削除等を行う。
ネットワーク管理部２０５は、通信インタフェース１０４の制御とデータの送受信を行う。
リソースグループ監視制御部２０６は、タスクスケジューラ部２０２やメモリ管理部２０３等と連携し、タスク毎のＣＰＵ利用率やメモリ使用量等のリソース使用状況の監視と上限値の制御を行う。リソースグループ監視制御部２０６は、タスクの実行中に、リソースの使用量が上限値に達したか否かを処理装置により判定する判定部の一例である。
【００１８】
リソース配分機構部３００は、リソースグループに基づいて、リソース配分の調整を行うための処理部である。リソース配分機構部３００は、ＯＳ層と、後述するアプリケーション／ユーザタスク層との間に位置する処理部である。
リソース配分機構部３００は、リソースグループ生成管理部３０１、リソースグループ変更制御部３０２、リソースグループ定義ファイル３０３、リソースグループ情報通知部３０４、リソースグループ情報記録部３０５、リソース配分変更条件３０６を備える。
【００１９】
リソースグループ生成管理部３０１は、計算機リソースの配分単位であるリソースグループの生成、削除等を行う。
【００２０】
リソースグループ変更制御部３０２は、各リソースグループへの上限値の設定、変更を行う。また、リソースグループ変更制御部３０２は、各リソースグループへのタスクの所属や離脱、及びリソースグループ間の移動を行う。リソースグループ変更制御部３０２は、リソースグループ定義ファイル３０３に記憶された割当情報（各タスクに割り当てられた割当量の上限値の情報）に基づいて、タスクに対し、対応する上限値が示す割当量のリソースを割り当てる割当部の一例である。また、リソースグループ変更制御部３０２は、リソースマネージャ５０３から後述する変更要求５０４を入力し、入力した変更要求５０４に基づいて、タスクに対して割り当てるリソースの割当量を変更する割当部（割当変更部）の一例である。
【００２１】
リソースグループ定義ファイル３０３は、複数のリソースグループ名のそれぞれに対応付けて、種別、上限値、及び所属させるタスクを記述したファイルである。リソースグループ定義ファイル３０３は、複数個のファイルによる複数の定義セットを保持し、差し替えることが可能である。リソースグループ定義ファイル３０３は、タスクに対して割り当てるリソースの割当量の上限値が設定された割当情報を記憶する割当情報記憶部の一例である。
【００２２】
リソースグループ情報通知部３０４は、ＯＳ実行部２００内のリソースグループ監視制御部２０６がリソースグループの上限値の超過を検知した時に発行されるイベント通知を受信する。リソースグループ情報通知部３０４は、リソースグループ監視制御部２０６から送信されるイベント通知を受信すると、リソースグループのリソースの使用量が上限値に達したことを示す到達通知情報をリソースマネージャ５０３に通知する。リソースグループ情報通知部３０４は、リソースの使用量が上限値に達したと判定された場合に、リソースの使用量が上限値に達したことを示す到達通知情報を出力する通知部の一例である。
【００２３】
リソースグループ情報記録部３０５は、リソースグループ情報通知部３０４が受信したイベント通知を保存する。このイベント通知には、リソースグループの上限値の超過情報を含むリソースグループ情報が含まれる。
リソースグループ情報は、リソースグループの上限値を超過したリソースグループの種別、超過値、超過が発生した時刻（超過発生時刻）、超過の積算回数、所属タスク等のリソースグループの上限値の超過情報を含む。
【００２４】
また、リソースグループＸ４００とリソースグループＹ４０１とは、リソース配分の設定単位であり、リソース配分機構部３００の管理対象である。
タスクＡ５００、タスクＢ５０１、及びタスクＣ５０２は、アプリケーション（ユーザアプリケーション）を構成するタスク群であり、いずれかのリソースグループに所属する。タスクの重複所属は不可とする。
【００２５】
ここでは、一例として、リソースグループＸ４００とリソースグループＹ４０１との２つのリソースグループを想定しているが、リソースグループの数は２つでなくてもよい。例えば、１，３，４，あるいは５以上生成されても構わない。
また、タスクの数も一例であり、３つでなくてもよく、３つ以上でも３つ以下でも構わない。
【００２６】
リソースマネージャ５０３は、リソースグループ情報通知部３０４からの到達通知情報を受信すると、システム毎の個別条件に基づいて、リソース配分の変更要否を判断し、必要ならリソース配分機構部３００に対して変更要求５０４を発行する。リソースマネージャ５０３は、到達通知情報を入力し、入力した到達通知情報に基づいて、タスクに対して割り当てるリソースの割当量の変更に用いる変更情報を生成し、生成した変更情報を変更要求５０４として出力する管理部の一例である。
【００２７】
また、リソースマネージャ５０３は無くてもよい、リソースマネージャ５０３が存在しなければ、リソースグループ情報通知部３０４は、一定条件に基づいて、リソース配分の変更要否を判断し、必要ならリソースグループ変更制御部３０２へ変更要求５０４を発行する。このときは、リソースグループ情報通知部３０４は、管理部の一例となる。
【００２８】
リソース配分変更条件３０６は、リソースの割当量の変更の必要条件である変更必要条件と、変更必要条件を満たす場合の割当量の変更方式とを対応付けた変更条件情報を記憶装置に記憶する変更条件記憶部の一例である。
リソースマネージャ５０３（管理部）は、変更条件記憶部により記憶されたリソース配分変更条件３０６に含まれる変更必要条件に基づいて、リソースの割当量の変更が必要か否かを判定する。リソースマネージャ５０３は、リソースの割当量の変更が必要と判定された場合に、変更条件情報に含まれる変更方式に基づいてリソースの変更を要求する変更要求５０４（変更情報の一例）を生成する。
【００２９】
図２は、本実施の形態に係るリソース配分装置１０００（後述するリソース配分調整装置１００１）のハードウェア構成についてさらに説明するための図である。
図２を用いて、リソース配分装置１０００、リソース配分調整装置１００１のハードウェア構成の一例について説明する。
【００３０】
リソース配分装置１０００、リソース配分調整装置１００１はコンピュータを備え、リソース配分装置１０００、リソース配分調整装置１００１の各要素をプログラムで実現することができる。
【００３１】
リソース配分装置１０００、リソース配分調整装置１００１のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５が接続されている。
【００３２】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）である。
外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置である。
主記憶装置９０３は、ＲＡＭ（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）である。
【００３３】
通信装置９０４は、例えば通信ボード等であり、ＬＡＮ（Ｌｏｃａｌ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）等に接続されている。通信装置９０４は、ＬＡＮに限らず、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークといったＷＡＮ（Ｗｉｄｅ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）、あるいは、インターネットに接続されていても構わない。ＬＡＮ、ＷＡＮ、インターネットは、ネットワークの一例である。
【００３４】
入出力装置９０５は、例えばマウス、キーボード、ディスプレイ装置等である。マウスの代わりに、タッチパネル、タッチパッド、トラックボール、ペンタブレット、あるいは、その他のポインティングデバイスが用いられても構わない。ディスプレイ装置は、ＬＣＤ（Ｌｉｑｕｉｄ・Ｃｒｙｓｔａｌ・Ｄｉｓｐｌａｙ）、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）、あるいは、その他の表示装置でも構わない。
【００３５】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、図１等に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、図１に示す「〜部」の機能を実現するプログラムを実行する。
プログラムプロダクト（コンピュータプログラムプロダクト）は、図１などに示す「〜部」の機能を実現するプログラムが記録された記憶媒体、記憶装置などから構成される。プログラムプロダクトは、見た目形式の物に限られなく、コンピュータ読み取り可能なプログラムをロードしているものである。
【００３６】
また、アプリケーションプログラムも外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１により実行される。
また、「〜テーブル」等の情報も外部記憶装置９０２に記憶されている。
【００３７】
また、本実施の形態の説明において、「〜の判断」、「〜の判定」、「〜の抽出」、「〜の検知」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の生成」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
また、リソース配分装置１０００が受信したデータが主記憶装置９０３に記憶される。
また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置９０３にファイルとして記憶されても構わない。
【００３８】
なお、図２の構成は、あくまでもリソース配分装置１０００、リソース配分調整装置１００１のハードウェア構成の一例を示すものであり、リソース配分装置１０００、リソース配分調整装置１００１のハードウェア構成は図２に記載の構成に限らず、他の構成であっても構わない。
【００３９】
次に、本実施の形態に係るリソース配分装置１０００の動作について説明する。
図３は、本実施の形態に係るリソース配分装置１０００のリソース配分方法におけるリソース配分工程（処理）を示すフローチャートである。
図３を用いて、リソース配分装置１０００のリソース配分工程（処理）について説明する。
【００４０】
ステップＳＴ１００において、リソース配分装置１０００は、システム起動時に、リソース配分機構部３００を起動し、初期化処理を実行する。
ステップＳＴ１０１において、リソース配分機構部３００内のリソースグループ生成管理部３０１は、記憶装置に記憶されているリソースグループ定義ファイル３０３を読み出す。
【００４１】
図４は、本実施の形態に係るリソースグループ定義ファイル３０３の構成の一例を示す図である。
図４に示すように、リソースグループ定義ファイル３０３は、リソースグループ名毎にそのリソースグループを定義するファイルを備えている。そのファイルには、リソース種別、上限値、タスク名が対応付けられて、設定されている。
リソースグループＸには、「リソース種別、上限値、タスク名」のセットとして、「ＣＰＵ、２０％、タスクＡ」、「ＣＰＵ、４０％、タスクＢ」、「メモリ、１０％、タスクＡ」、「メモリ、３０％、タスクＢ」のセットが設定されている。
【００４２】
ステップＳＴ１０２において、リソースグループ生成管理部３０１は、読み出したリソースグループ定義ファイル３０３に基づいて、複数のリソースグループを処理装置により生成する。
ステップＳＴ１０３において、リソースグループ変更制御部３０２は、生成されたリソースグループ毎のリソース配分の上限値を設定する。
【００４３】
ステップＳＴ１０４において、リソース配分装置１０００は、システム起動処理として、タスク（ユーザアプリケーション（アプリ））を順番に起動し初期化処理を行う。
ステップＳＴ１０５において、リソースグループ変更制御部３０２は、起動したタスクのタスク識別子を指定し、リソースグループ定義ファイル３０３に基づいて、指定したタスクをリソースグループに所属させる（割当工程（処理））。
【００４４】
ステップＳＴ１０６において、リソース配分装置１０００は、タスク（ユーザアプリ）の通常稼動を実行し、その実行を継続する。
【００４５】
ステップＳＴ１０７において、ＯＳ実行部２００のリソースグループ監視制御部２０６は、各リソースグループが上限値に抵触したか否かを処理装置により判定する（判定工程（処理））。
リソースグループ監視制御部２０６は、リソースグループの上限値の超過を検出した場合（ＳＴ１０７でＹＥＳ）、ＳＴ１０８に進む。
リソースグループ監視制御部２０６は、リソースグループの上限値の超過を検出していない場合（ＳＴ１０７でＮＯ）、ＳＴ１０６に戻り、タスクの通常稼働を継続する。
【００４６】
ＳＴ１０８において、リソースグループ監視制御部２０６は、リソースグループ情報通知部３０４に対して、上限値に抵触したリソースグループの情報（リソースグループ情報）を含むイベント通知を発行する。また、リソースグループ監視制御部２０６は、上限値に抵触したリソースグループのリソースグループ情報の保存を、リソースグループ情報記録部３０５に対して要求する。
【００４７】
ＳＴ１０９において、リソースグループ情報通知部３０４は、リソースグループ監視制御部２０６からイベント通知を受信すると、リソースマネージャ５０３に対して、リソースグループが上限値に到達したことを示す到達通知情報を出力する（通知工程（処理））。到達通知情報には、上限値に到達したリソースグループのリソースグループ情報が含まれる。
【００４８】
ステップＳＴ１１０において、リソースマネージャ５０３は、リソースグループ情報通知部３０４からの到達通知情報を受信すると、システム毎の個別条件に基づいて、リソース配分の変更要否を処理装置により判定する。
リソースマネージャ５０３は、リソース配分の変更が必要と判定した場合、システム毎の個別条件に基づいて、リソース配分の変更の要求である変更要求５０４を処理装置により生成する。そして、リソースマネージャ５０３は、生成したリソースグループ変更制御部３０２へ変更要求５０４を発行する（管理工程（処理））。リソースマネージャ５０３は、リソース配分の変更が必要でないと判定した場合は、ＳＴ１０６に戻り、タスクの通常稼働を継続する。
【００４９】
ここで、システム毎の個別条件とは、例えば、リソース配分装置１０００に対して、予め定められ、記憶装置に記憶されるリソース配分変更条件３０６（図１参照）である。
例えば、リソース配分変更条件３０６は、一定時間内にリソースの使用量が上限値に達した回数が閾値以上の場合を変更必要条件とし、変更必要条件を満たす場合の割当量の変更量を変更方式として記憶する。
あるいは、リソース配分変更条件３０６は、一定時間内にリソースの使用量が上限値に一度も達することがない場合を変更必要条件とし、変更必要条件を満たす場合にリソースの割当量を段階的に縮小することを変更方式として記憶する。
【００５０】
あるいは、リソース配分変更条件３０６は、一定時間内にリソースグループ毎の上限値の超過が頻発することを変更必要条件とし、変更必要条件を満たす場合に、新たにリソースグループを生成して上限値を低く設定し新グループに当該タスクを所属させることを変更方式として記憶する。また、このときの変更方式には、当該タスクを強制終了させることを設定してもよい。ここで、当該タスクとは、例えば、後から追加インストールした外部アプリケーションのタスク（以下、外部タスクとする）等であり、このようにリソース配分変更条件３０６を設定することで外部タスクの暴走等による影響を防止することができる。
【００５１】
あるいは、リソース配分変更条件３０６は、一定時間内にリソースの使用量が上限値に一度も達することがない場合を変更必要条件とし、以下に記載する変更方式を記憶する。ここでの変更方式は、外部タスクは、まず外部アプリケーション信認用のリソースグループ（以下、信認用リソースグループとする）に所属させ、当該外部タスクが信認用リソースグループにおいて変更必要条件を満たした場合に、信認用リソースグループ以外の他のリソースグループへ当該外部タスクを移動させる方式である。このようにリソース配分変更条件３０６を設定することで、外部タスクの安全性を確認することができ、外部タスクの暴走等を防止することができる。
【００５２】
具体的には、リソース配分変更条件３０６とは、例えば、「一定時間内に上限値に達する回数が閾値を超えたら割当量（上限値）を１２０％に拡大する」、「一定時間内に一度も上限値を超過しなかったら割当量（上限値）を段階的に縮小する」などの条件である。このリソース配分変更条件３０６は、装置（システム）毎に、割当量（上限値）を変更するかどうか、タスクを移動させたり終了させたりするかどうか等を判定するための条件であれば、その他の条件でも構わない。
【００５３】
ＳＴ１１１において、リソースグループ変更制御部３０２は、リソースマネージャ５０３からリソースグループの変更要求５０４を受信し、受信した変更要求５０４に基づいて、リソースグループのリソース配分を変更する（割当工程（処理）、割当変更工程（処理））。また、リソースグループ変更制御部３０２は、変更対象のリソースグループについて、リソースグループ定義ファイル３０３におけるリソース配分の上限値変更や、所属するタスクの変更を実行する。
【００５４】
ステップＳＴ１１２において、システム終了要求またはリソース配分機構部３００の終了要求があるまで、以上の処理は適宜繰り返し実行される。ステップＳＴ１１３において、リソース配分機構部３００の終了要求を受けて終了処理を行う。
【００５５】
上記の説明では、ステップＳＴ１０９で、リソースグループ情報通知部３０４は、リソースマネージャ５０３に対して到達通知情報を通知した。しかし、リソースグループ情報通知部３０４は、リソースマネージャ５０３が存在しない場合は、リソースグループ情報通知部３０４自身で、ステップＳＴ１１０〜ＳＴ１１１相当の処理を実行するとしても構わない。
【００５６】
以上のように、本実施の形態に係るリソース配分装置１０００では、予め設定しているリソースグループ毎の上限値の超過を検出した時に、アプリケーション層のリソースマネージャ５０３に到達通知情報するようにしているので、システム毎に固有のリソースマネージャを用意（実装）して、システムの方針や要求仕様に応じたリソース配分の変更制御処理を定義することができる。実施の形態１では、リソース配分変更条件３０６はリソース配分機構部３００が備えるとしたが、アプリケーション層にリソース配分変更条件３０６を実装する構成でもよい。
【００５７】
また、例えば、リソースグループ毎の上限値の超過が一定時間内に何回生じたら、当該上限値をどれだけ拡大する、あるいは一定時間内に一度も上限値を超過しなかったら当該上限値を段階的に縮小する、といったリソース配分の変更アルゴリズムを定義することができる。
また、リソースグループ毎の上限値の超過が一定時間内に頻発したら、新たにリソースグループを生成して上限値を低く設定し、そのグループに当該タスクを所属させる、といったリソース配分の変更アルゴリズムを定義することで、当該タスクのバグによる暴走や外部からのセキュリティ攻撃等に基づくシステム全体への影響を抑えることができる。
また、リソースグループ毎の上限値の超過を検出した時に、リソースグループの上限値の超過情報を保存するようにしているので、後でログ情報として機器の外部に取り出すことでリソース配分を再調整する際の参照データを得ることができ、リソース配分の変更を定量的に行うことができる。
本実施の形態では、リソースグループ情報記録部３０５は、リソース配分機構部３００が備えるとしたが、リソースマネージャ５０３を含むアプリケーション層にリソースグループ情報記録部３０５を実装する構成でもよい。
【００５８】
実施の形態２．
本実施の形態では、主に、実施の形態１と異なる点について説明する。
上述した実施の形態１では、例えば、組込み機器のようなリソース配分装置単体で、リソースグループ毎の上限値の超過の通知とリソース配分の変更を行うようにしたものである。
本実施の形態では、組み込み機器であるリソース配分装置１０００と、リソース配分装置１０００とネットワーク接続された別のホストマシンであるリソース配分調整装置１００１とでシステムを構成し、リソースグループ毎の上限値の超過の到達通知情報の通知とリソース配分の変更要求５０４を分散して行う場合について説明する。
【００５９】
図５は、本実施の形態に係るリソース配分システム１１００のブロック構成を示す図である。
図５は、実施の形態１で説明した図１に対応する図である。実施の形態１で説明した構成部と、同様の機能を有する構成部については同一の符号を付し、その説明を省略する場合があるものとする。
【００６０】
図５に示すように、リソース配分システム１１００は、リソース配分装置１０００、リソース配分調整装置１００１（サーバ装置の一例）を備える。
ハードウェア１００ＡとＯＳ実行部２００Ａとは、リソース配分機構部３００を搭載するリソース配分装置１０００側のハードウェアとＯＳである。ハードウェア１００ＡとＯＳ実行部２００Ａとは、図１で説明したハードウェア１００とＯＳ実行部２００と同様の機能を有する。
【００６１】
リソース配分機構部３００は、少なくともリソースグループ生成管理部３０１、リソースグループ変更制御部３０２（割当部）、リソースグループ定義ファイル３０３（割当情報記憶部）、リソースグループ情報通知部３０４（通知部）から構成される。各構成要素の機能分担は基本的に図１で説明した通りである。リソースグループ情報通知部３０４は、到達通知情報をリソース配分調整装置１００１側に送信する。
【００６２】
ネットワーク６００は、リソース配分装置１０００と、別のホストマシンであるリソース配分調整装置１００１間を接続する通信ネットワークである。ネットワーク６００は、開発環境の一部であるローカルネットワーク上でもよいし、セキュリティを確保したＶＰＮ（Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）ベースの広域ネットワーク上であってもよい。
一方、ハードウェア１００ＢとＯＳ実行部２００Ｂとは、後述するリソース配分調整機構部７００を搭載するリソース配分調整装置１００１側のハードウェアとＯＳである。ハードウェア１００ＢとＯＳ実行部２００Ｂとは、図１で説明したハードウェア１００とＯＳ実行部２００と同様の機能を有する。
【００６３】
リソース配分調整機構部７００は、実施の形態１で説明したリソース配分機構部３００と対で動作し、リソース配分装置１０００から到達通知情報を受信し、リソース配分装置１０００に対して変更要求５０４を送信する。リソース配分調整機構部７００は、リソースグループ毎の上限値の超過の通知である到達通知情報を受信し、リソース配分の変更要求５０４を生成する。
【００６４】
リソース配分調整機構部７００は、リソースグループ情報通信部７０１、リソースグループ情報記録部７０２、リソースグループ情報表示部７０３、リソースグループ変更要求部７０４、リソース配分変更条件７０５を備える。
【００６５】
リソースグループ情報通信部７０１（情報通信部）は、リソース配分機構部３００内のリソースグループ情報通知部３０４との間で、ネットワーク６００を介して、リソースグループ情報を含む到達通知情報などを送受信する。
リソースグループ情報記録部７０２（情報記憶部）は、リソース配分機構部３００から通知された到達通知情報（リソースグループ情報）を保存する。
リソースグループ情報表示部７０３（表示部）は、リソース配分機構部３００から通知され、リソースグループ情報記録部７０２に記憶されている到達通知情報（リソースグループ情報）を可視化して表示する。
【００６６】
リソースグループ変更要求部７０４（管理部）は、リソース配分機構部３００から通知された到達通知情報（リソースグループ情報）に基づいて、リソース配分の変更の要否を判定し、変更が必要な場合は、リソースグループ毎の上限値や所属タスクの移動等の変更要求５０４を生成する。リソースグループ変更要求部７０４は、生成した変更要求５０４をリソース配分機構部３００へ通知する。実施の形態１で説明したリソース配分変更条件３０６と同様の情報は、リソース配分調整装置１００１がリソース配分変更条件７０５として記憶装置に記憶している。リソース配分変更条件７０５は、例えば、リソース配分装置１０００毎に予め定められているものとする。
最後に、ユーザインタフェース部８００は、リソースグループ情報記録部７０２に記憶されている到達通知情報に含まれるリソースグループ情報を表示するとともに、ソフト開発者によるリソースグループ情報の変更要求５０４の入力を受け付ける。
【００６７】
次に、本実施の形態に係るリソース配分システム１１００の動作について説明する。
図６は、本実施の形態に係るリソース配分システム１１００のリソース配分調整工程（処理）を示すフローチャートである。
図６を用いて、リソース配分システム１１００のリソース配分調整工程（処理）について説明する。
図６において、左半分はリソース配分装置１０００の動作、右半分はリソース配分調整装置１００１の動作を示している。
【００６８】
図４で説明したステップＳＴ１００〜ステップＳＴ１０５までのリソース配分装置１０００側のリソースグループへの設定処理は、図６においても同じであるため、図６への記載及び説明を省略する。
その後、ステップＳＴ１０６において、リソース配分装置１０００は、タスク（ユーザアプリ）の通常稼動を実行し、その実行を継続する。
【００６９】
ステップＳＴ１０７において、ＯＳ実行部２００Ａのリソースグループ監視制御部２０６は、各リソースグループが上限値に抵触したか否かを処理装置により判定する。
リソースグループ監視制御部２０６は、リソースグループの上限値の超過を検出した場合（ＳＴ１０７でＹＥＳ）、ＳＴ１０８に進む。
リソースグループ監視制御部２０６は、リソースグループの上限値の超過を検出していない場合（ＳＴ１０７でＮＯ）、ＳＴ１０６に戻り、タスクの通常稼働を継続する。
ＳＴ１０８において、リソースグループ監視制御部２０６は、リソースグループ情報通知部３０４に対して、上限値に抵触したリソースグループの情報（リソースグループ情報）を含むイベント通知を発行する。
【００７０】
ＳＴ１０９において、リソースグループ情報通知部３０４は、リソースグループ監視制御部２０６からイベント通知を受信すると、ネットワーク６００を介して、リソース配分調整機構部７００のリソースグループ情報通信部７０１に対して到達通知情報を送信する。その後、ステップＳＴ１０６に戻り、リソース配分装置１０００は、リソースグループの上限値の超過を検出する毎に、繰り返しリソース配分調整機構部７００側へ到達通知情報を通知するものとする。
【００７１】
次に、図６の右半分のリソース配分調整装置１００１側の処理の説明に移る。
ステップＳＴ２００において、リソース配分調整装置１００１は、システム起動時にリソース配分調整機構部７００を起動し初期化処理を行う。
ステップＳＴ２０１において、リソースグループ情報通信部７０１は、リソース配分機構部３００のリソースグループ情報通知部３０４からの接続待ちを行う。
【００７２】
ステップＳＴ２０２において、リソースグループ情報通信部７０１は、リソースグループ情報通知部３０４からの到達通知情報の通知を受けて、リソースグループ情報通知部３０４との接続を確立し到達通知情報（リソースグループ情報）を受信する。
ステップＳＴ２０３で、リソースグループ情報通信部７０１は、到達通知情報（リソースグループ情報）に基づいて、上限値に抵触したリソースグループのリソースグループ情報の保存をリソースグループ情報記録部７０２に対して要求する。保存を要求するリソースグループ情報は、受信した到達通知情報に含まれる情報である。このリソースグループ情報には、リソースグループの上限値を超過したリソースグループの種別と、超過値と、超過発生時刻と、超過の積算回数や所属タスク等のリソースグループの上限値の超過情報が含まれる。
【００７３】
ステップＳＴ２０４において、リソースグループ情報表示部７０３は、到達通知情報（リソースグループ情報）に基づいて、リソースグループの上限値を超過したリソースグループの種別と、超過値と、超過発生時刻と、超過の積算回数や所属タスク等のリソースグループ情報を表示する。この時、実際にはユーザインタフェース部８００を介して表示を行う。
【００７４】
ステップＳＴ２０５において、リソースグループ変更要求部７０４は、システム毎の個別条件（リソース配分変更条件７０５）に基づいて、リソース配分の変更要否を判定し、必要ならリソース配分機構部３００へリソースグループ変更要求５０４を発行する。ＳＴ２０５の処理は、図１のＳＴ１１０の処理と同様である。
【００７５】
ステップＳＴ２０６において、リソースグループ変更要求部７０４は、リソース配分機構部３００のリソースグループ情報通知部３０４に対して、ネットワーク６００を介して、リソース配分の上限値変更や所属タスクの変更等の要求であるリソースグループ情報の変更要求５０４を送信する。
最後に、ステップＳＴ２０７で、システム終了要求またはリソース配分調整機構部７００の終了要求があるまで、以上のリソースグループ情報の表示とリソース配分の変更要求処理は適宜繰り返し実行される。
ステップＳＴ２０８で、リソース配分調整機構部７００の終了要求を受けて終了処理を行う。
【００７６】
次に、図６の左半分のリソース配分装置１０００側の処理に戻る。
ステップＳＴ１１４において、リソース配分機構部３００のリソースグループ情報通知部３０４は、ネットワーク６００を介して、リソース配分の上限値変更や所属タスクの変更等のリソースグループ情報の変更要求５０４を受信する。
【００７７】
ステップＳＴ１１１において、リソースグループ情報通知部３０４は、リソースグループ変更制御部３０２へ、受信した変更要求５０４を発行する。リソースグループ変更制御部３０２は、変更要求５０４を受信し、受信した変更要求５０４に基づいて、リソースグループ定義ファイル３０３におけるリソース配分の上限値変更や、所属するタスクの変更を行う。ＳＴ１１１の処理は、図１で説明したＳＴ１１１の処理と同様である。
【００７８】
最後に、ステップＳＴ１１２で、システム終了要求またはリソース配分機構部３００の終了要求があるまで、以上のリソース配分の変更処理は適宜繰り返し実行される。ステップＳＴ１１３で、リソース配分機構部３００の終了要求を受けて終了処理を行う。ＳＴ１１２〜ＳＴ１１３の処理は、図１で説明したＳＴ１１２〜ＳＴ１１３の処理と同様である。
【００７９】
以上のように、本実施の形態に係るリソース配分システム１１００では、リソース配分装置１０００において、予めリソースグループ定義ファイル３０３に設定しているリソースグループ毎の上限値の超過を検出した時に、リソース配分装置１０００の外部ホストマシンであるリソース配分調整装置１００１へ通知するようにしている。よって、リソース配分装置１０００の外部から常時監視、及び上限値の超過状況を表示することができる。
【００８０】
また、リソース配分装置１０００において、予めリソースグループ定義ファイル３０３に設定しているリソースグループ毎の上限値の超過を検出した時に、リソース配分調整装置１００１へ通知するようにしているので、通知されたリソースグループ情報を判断材料として外部のリソース配分調整装置１００１からリソース配分の変更を適宜指示することができる。
【００８１】
実施の形態３．
本実施の形態では、主に、実施の形態１，２と異なる点について説明する。
実施の形態１，２で説明した構成部と、同様の機能を有する構成部については同一の符号を付し、その説明を省略する場合があるものとする。
【００８２】
実施の形態２に係るリソース配分システム１１００では、リソース配分装置１０００とネットワーク接続した別のホストマシンであるリソース配分調整装置１００１とでシステムを構成し、リソースグループ毎の上限値の超過の通知（到達通知情報）とリソース配分の変更要求５０４とを分散して行うものであった。
【００８３】
本実施の形態では、実施の形態２と同じシステム構成のリソース配分システム１１００において、リソースグループ情報（到達通知情報）の通知契機、及びリソース配分の変更要求の指示契機が異なる場合について説明する。
【００８４】
本実施の形態に係るリソース配分システム１１００の動作について説明する。
図７は、本実施の形態に係るリソース配分システム１１００のリソース配分調整工程（処理）を示すフローチャートである。
図７を用いて、リソース配分システム１１００のリソース配分調整工程（処理）について説明する。
図７において、左半分はリソース配分装置１０００の動作、右半分はリソース配分調整装置１００１の動作を示している。
【００８５】
図４で説明したステップＳＴ１００〜ステップＳＴ１０５までのリソース配分装置１０００側のリソースグループへの設定処理は、図７においても同じであるため、図７への記載及び説明を省略する。
その後、ステップＳＴ１０６において、リソース配分装置１０００は、タスク（ユーザアプリ）の通常稼動を実行し、その実行を継続する。
ここで、リソースグループ変更制御部３０２は、例えば、タスクに割り当てたリソースの割当量の情報を最新割当情報として記憶装置に記憶する最新割当情報記憶部の機能を有するものとする。
【００８６】
次に、ステップＳＴ１１５において、リソースグループ情報通知部３０４は、リソース配分調整機構部７００側からのリソースグループ情報の取得要求を受信する。
ステップＳＴ１１６において、リソースグループ情報通知部３０４は、例えば、上述した最新割当情報からリソースグループ毎の最新（現在）リソース使用量を取得する。
【００８７】
ステップＳＴ１１７において、リソースグループ情報通知部３０４は、ネットワーク６００を介して、リソース配分調整機構部７００のリソースグループ情報通信部７０１に対して、リソースグループ毎の最新リソース使用量の情報を含むリソースグループ情報を送信する。最新リソース使用量の情報を含むリソースグループ情報を最新リソースグループ情報ともいう。
その後、ステップＳＴ１１５に戻り、リソース配分調整機構部７００側からのリソースグループ情報の取得要求を一定周期で受信する毎に、リソース配分調整機構部７００側へ最新リソース使用量の情報を含む最新リソースグループ情報を折り返し送信する処理を繰り返す。
【００８８】
リソースグループ情報通知部３０４は、リソース配分調整機構部７００側から取得要求を受信すると、最新割当情報記憶部により記憶された最新割当情報を取得し、取得した最新割当情報を含む最新リソースグループ情報をリソース配分調整機構部７００側に送信する通知部の一例である。
【００８９】
次に、図７の右半分のリソース配分調整装置１００１側の処理の説明に移る。
ステップＳＴ２００において、リソース配分調整装置１００１は、システム起動時にリソース配分調整機構部７００を起動し、初期化処理を行う。
ステップＳＴ２０９において、リソースグループ情報通信部７０１は、ネットワーク６００を介して、リソース配分機構部３００側へ最新リソース使用量の情報を含む最新リソースグループ情報の取得要求を発行（送信）する。リソースグループ情報通信部７０１は、最新割当情報記憶部に記憶された最新割当情報を取得する取得要求をリソース配分装置１０００に送信する情報取得要求部の一例である。
【００９０】
ステップＳＴ２１０において、リソースグループ情報通信部７０１は、ネットワーク６００を介して、最新リソースグループ情報を受信する。
ステップＳＴ２１１において、リソースグループ情報通信部７０１は、リソースグループ情報記録部７０２へリソースグループ毎の最新リソースグループ情報の保存を要求する。
ステップＳＴ２１２において、リソースグループ情報表示部７０３は、最新リソースグループ情報に含まれる、リソースグループ毎の種別、最新リソース使用量や所属タスク等のリソースグループ情報を表示する。
その後、ステップＳＴ２０９へ戻り、最新リソースグループ情報の更新表示を繰り返し実行する。この時、実際にはユーザインタフェース部８００を介して表示を行う。
【００９１】
次に、ステップＳＴ２１３において、ソフト開発者によりリソース配分の変更（調整）を要求する変更指示がユーザインタフェース部８００により入力される。ソフト開発者によるリソース配分の変更（調整）の判断は、ユーザインタフェース部８００を介して表示された最新リソースグループ情報を参照しながら行われる。
ユーザインタフェース部８００は、ユーザにより入力されたリソースグループ毎のリソース配分の上限値変更や所属タスクの変更等のリソースグループ情報を変更指示として受け付ける。ユーザインタフェース部８００は、リソースの変更の指示である変更指示を入力する指示入力部の一例である。
【００９２】
ステップＳＴ２０６において、リソースグループ変更要求部７０４（管理部）は、ユーザインタフェース部８００により受け付けられた変更指示に基づいて、リソース配分の上限値変更や所属タスクの変更等のリソースグループ情報を含む変更要求５０４を生成する。リソースグループ変更要求部７０４は、リソース配分機構部３００内のリソースグループ情報通知部３０４に対してネットワーク６００を介して、生成した変更要求５０４を通知する。
最後に、ステップＳＴ２０７で、システム終了要求またはリソース配分調整機構部７００の終了要求があるまで、以上のリソースグループ情報の表示とリソース配分の変更要求処理は適宜繰り返し実行される。
ステップＳＴ２０８で、リソース配分調整機構部７００の終了要求を受けて終了処理を行う。
【００９３】
ＳＴ２０６〜ＳＴ２０８の処理は、図５で説明したＳＴ２０６〜ＳＴ２０８の処理と同様の処理である。
また、ＳＴ１１４，ＳＴ１１１〜ＳＴ１１３の処理は、図５で説明したＳＴ１１４，ＳＴ１１１〜ＳＴ１１３の処理と同様の処理である。
【００９４】
以上のように、リソース配分装置は、外部ホストマシン（リソース配分調整装置）からの最新リソースグループ情報の取得要求に応じて、最新リソースグループ情報を取得し返信するようにしている。よって、リソース配分装置の外部で最新のリソースグループ情報をリアルタイム更新して表示することができる。これにより、ソフト開発者はグラフ表示のような可視化されたリソースグループ情報を参照しながら、リソースグループ毎の上限値を定量的に決定することができ、リソース配分の変更を容易に行えるようになる。
【００９５】
また、リソース配分装置の外部ホストマシン側で最新のリソースグループ情報を逐次保存するようにしているので、リソース配分を再調整する際の参照データとして後で再現表示することができる。
なお、リソース配分調整装置は、最新リソースグループ情報の取得要求を一定周期で送信する。しかし、リソース配分調整装置は、最新リソースグループ情報の取得要求を不定期で送信するものとしても構わない。
【００９６】
上記実施の形態の説明において、タスク管理部２０１、タスクスケジューラ部２０２、メモリ管理部２０３、ファイル管理部２０４、ネットワーク管理部２０５、リソースグループ監視制御部２０６がそれぞれ独立した機能ブロックとしてＯＳ実行部２００を構成している。また、リソースグループ生成管理部３０１、リソースグループ変更制御部３０２、リソースグループ定義ファイル３０３、リソースグループ情報通知部３０４、リソースグループ情報記録部３０５、リソース配分変更条件３０６がそれぞれ独立した機能ブロックとしてリソース配分機構部３００を構成している。
【００９７】
しかし、これに限られるわけではなく、例えば、タスク管理部２０１、タスクスケジューラ部２０２、メモリ管理部２０３、ファイル管理部２０４、ネットワーク管理部２０５をひとつの機能ブロックで実現し、リソースグループ監視制御部２０６を独立してひとつの機能ブロックで実現しても良い。
あるいは、例えば、リソースグループ生成管理部３０１、リソースグループ変更制御部３０２をひとつの機能ブロックで実現し、リソースグループ情報通知部３０４、リソースグループ情報記録部３０５をひとつの機能ブロックで実現しても良い。
あるいは、これらの機能ブロックを、他のどのような組み合わせでＯＳ実行部２００、リソース配分機構部３００を構成しても構わない。また、リソース配分調整機構部７００についても同様にどのように機能ブロックを構成しても構わない。
【００９８】
また、上記のブロック構成を、矛盾しない範囲で、リソース配分装置１０００、リソース配分調整装置にどのように分散して配置しても構わない。
さらに、以上の実施の形態のうち、２つ以上を組み合わせて実施しても構わない。あるいは、これらの実施の形態のうち、１つを部分的に実施しても構わない。あるいは、これらの実施の形態のうち、２つ以上を部分的に組み合わせて実施しても構わない。
なお、以上の実施の形態は、本質的に好ましい例示であって、本発明、その適用物や用途の範囲を制限することを意図するものではなく、矛盾しない範囲であれば必要に応じて種々の変更が可能である。
【符号の説明】
【００９９】
１００  ハードウェア、１０１  ＣＰＵ、１０２  主メモリ、１０３  記憶装置、１０４  通信インタフェース、２００  ＯＳ実行部、２０１  タスク管理部、２０２  タスクスケジューラ部、２０３  メモリ管理部、２０４  ファイル管理部、２０５  ネットワーク管理部、２０６  リソースグループ監視制御部、３００  リソース配分機構部、３０１  リソースグループ生成管理部、３０２  リソースグループ変更制御部、３０３  リソースグループ定義ファイル、３０４  リソースグループ情報通知部、３０５  リソースグループ情報記録部、３０６  リソース配分変更条件、４００  リソースグループＸ、４０１  リソースグループＹ、５０３  リソースマネージャ、５０４  変更要求、６００  ネットワーク、７００  リソース配分調整機構部、７０１  リソースグループ情報通信部、７０２  リソースグループ情報記録部、７０３  リソースグループ情報表示部、７０４  リソースグループ変更要求部、７０５  リソース配分変更条件、９０１  演算装置、９０２  外部記憶装置、９０３  主記憶装置、９０４  通信装置、９０５  入出力装置、１０００  リソース配分装置、１００１  リソース配分調整装置、１１００  リソース配分システム。
【図１】
2015109020.tif 000003
【図２】
2015109020.tif 000004
【図３】
2015109020.tif 000005
【図４】
2015109020.tif 000006
【図５】
2015109020.tif 000007
【図６】
2015109020.tif 000008
【図７】
2015109020.tif 000009