(57)【特許請求の範囲】
【請求項１】
資源管理システムにおいて、
未割り当て資源を優先順位の等しい資源毎にグループ分けした資源キューを管理する資源キュー管理テーブルと、
前記資源キュー管理テーブルを優先順位別に登録した資源優先順定義テーブルと、
前記資源優先順定義テーブルを登録した資源グループ優先選択テーブルと、を設けたことを特徴とする資源の優先管理システム。
【請求項２】
請求項１記載の資源キュー管理システムにおいて、上記資源グループ選択テーブルは各資源優先順定義テーブルの属性を同時に登録することを特徴とする資源の優先管理システム。
【請求項３】
請求項１記載の資源キュー管理システムにおいて、上記資源優先順定義テーブルは各資源キュー管理テーブルの属性を同時に登録したことを特徴とする資源の優先管理システム。
【請求項４】
請求項１ないし３項記載の資源キュー管理システムにおいて、上記資源グループ選択テーブルは各資源優先順定義テーブルのエントリー数を同時に登録することを特徴とする資源の優先管理システム。
【請求項５】
請求項１ないし４項記載の資源キュー管理システムにおいて、上記資源優先順定義テーブルは各資源キュー管理テーブルにつながれている資源数を同時に登録したことを特徴とする資源の優先管理システム。
【請求項６】
請求項１ないし５項記載の資源キュー管理システムにおいて、指定された資源グループ選択優先順位に登録された資源優先順定義テーブルを更新する資源優先順定義テーブル更新手段を設けたことを特徴とする資源の優先管理システム。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、計算機システムにおける資源を優先順位で管理する複数のキュー管理法に関し、特に複数の要求に対応して資源の割り当て優先順序が異なる資源を割り当てる、あるいは要求タイプに対応する資源割り当て優先順序が動的に変更される資源の割り当てを行う資源キュー管理システムに関する。
【０００２】
【従来の技術】
従来、計算機システムにおいては、未割り当て資源をキューに持つ管理テーブルを割り当て優先順位にしたがって一本のキューにつなぎ、そのキューを順に検索する方法が採られていた。この方法は新たな資源の管理を行う場合に管理テーブルの構成を自由に決定できるが、決定された構成は固定となってしまう。しかし、既存の資源キューに対して新たな資源グループを追加して、資源割り当ての優先順位を別に設定する場合には、資源キューの管理テーブルの構成に変更が伴い、既存処理への影響範囲が大きくなる。
【０００３】
また、資源グループの選択優先順位を動的に変更する場合には、前記のキュー管理方法でも可能であるが、資源キューに対する資源割り当ての優先順位は一つしか設定しかできず、同時に複数の異なる優先順位に対して複数の優先順位を採用することが出来なかった。
【０００４】
【発明が解決しようとする課題】
従来の技術では、上述したように複数の資源要求タイプに対応する資源の管理キューテーブルの優先順位を変更すれば実現できるが、管理テーブルの変更は資源の割り当ておよび解放処理にも影響を与えることになる。そして、既存の資源キューや資源キューの管理テーブルの構成には変更を加えずに資源グループの優先順位に従って資源キューの選択を実現するためには、資源要求タイプを意識して処理を分割する必要があるため、複数の優先順位で各資源を同時にサービスすることは出来なかった。
【０００５】
また、資源要求タイプに対応するグループ選択優先順位の変更、あるいは資源グループの追加や削除を動的に行うためには、既存の資源キューや資源キューの管理テーブルの構成を変更しなければ実現できないことが問題となる。
したがって、本発明では、既存の資源キューや資源キューの管理テーブルの構成を変更せずに、資源グループの優先順位を動的に変更できるようにし、しかも複数の資源グループの優先順位に従った資源割り当てを効率良く選択できるようにしたものである。
【０００６】
【課題を解決するための手段】
本発明は、未割り当て資源を優先順位の等しい資源毎にグループ分けした資源キューを管理する資源キュー管理テーブルと、これらの資源キュー管理テーブルを優先順位別に登録する複数の資源優先順定義テーブルと、更にこれらの資源優先順定義テーブルを登録する資源グループ選択テーブルを設け、必要に応じて優先順位の異なる資源優先順定義テーブルを更新して、いずれかの資源優先順定義テーブルを選択，生成することにより、簡易に優先順位の選択，変更が可能となった。
【０００７】
詳細な構成としては、資源優先順定義テーブルは資源キュー管理テーブルへのポインタ（インデックス）を持つとともに、その資源キュー管理テーブルの属性やそこにつながれた資源数を保持する。
資源グループ選択テーブルは資源優先順定義テーブルへのポインタ（インデックス）を持つとともに、その資源優先順定義テーブルの属性やその資源優先順定義テーブル中のエントリー数を保持する。
【０００８】
ここで、資源グループ選択テーブルや，資源優先順定義テーブルの属性とは具体的に要求する資源の種類や性能や用途等で分類された資源要求タイプである。資源グループ選択テーブルの中で求める資源要求タイプのインデックスに対応するエントリーから資源優先順定義テーブルを検索し、次に資源優先順定義テーブル内の求める詳細な資源要求タイプのインデックスに対応するエントリーから資源キュー管理テーブルを得て、最終的に必要とする資源を求めることができる。ここで、資源要求タイプに対応するインデックスの入力によりすべて同一論理で、資源要求が発生する毎にグループ選択テーブルに並べられた資源優先順定義テーブルを変更することなく、資源要求タイプに対応する資源キューが検索できることを特徴とする。
【０００９】
また本発明は、指定された資源グループ選択テーブルに対応するインデックスのエントリーへ新たな資源グループの資源優先順定義テーブルを挿入する手段と、資源優先順定義テーブル内のポインタたどる手段を有する。また、指定された資源グループに対応する資源優先順定義テーブルを検索する手段と、指定された資源グループ選択テーブルに対応するインデックスのエントリーから資源優先順定義テーブルを削除する手段と、前記資源優先順定義テーブル内のポインタ数を減算する手段を設ける。以上のことにより、資源要求タイプに対応する資源グループ選択の順位の変更、あるいは資源グループの追加、あるいは資源グループの削除を行う際、資源優先順定義テーブル内のエントリーと資源グループ選択テーブル内のエントリー数を更新することで、資源キューや資源キュー管理テーブルの構成を変更せずに、指定されたグループ選択優先順位に対応する資源グループのグループ選択優先順位のみを動的に変更して、他の資源要求タイプに対する資源キュー選択処理は中断することなく検索できることを特徴とする。
【００１０】
【作用】
資源要求に対応したグループ選択優先順位に従って資源キューを検索する場合、資源グループ選択テーブルの中で資源要求タイプのインデックスに対応する資源グループ選択テーブルのエントリーから資源優先順定義テーブルが決定する。そして、資源グループ選択テーブルのエントリー数まで資源優先順定義テーブルのエントリーをインデックス順に検索することで、グループ選択優先順位に従って資源キュー管理テーブルが求められる。すなわち、既存の資源キューや資源キュー管理テーブルの構成を変更せずに、資源要求タイプのインデックスを入力として、資源キュー管理テーブルを求めるまでの手順は一意となるため、論理が簡素化される。これにより、資源要求タイプ毎に資源グループ選択の優先方法が異なっていても、逐次グループ選択優先順位に従った資源優先順定義テーブルを変更せずに、同一論理で資源キューが決定できる。
【００１１】
また、資源要求タイプに対応するグループ選択優先順位の変更、あるいは資源グループの追加や削除を行う際、既存の資源キューや資源キューの管理テーブルの構成を変更せずに、資源優先順定義テーブルを変更するだけで実現が可能となる。そして、優先順位を変更しない資源要求タイプの資源キュー選択処理を中断する必要がなくなる。
【００１２】
【実施例】
図１は本発明の資源の優先管理システムの構成図で、図２は図１の構成図における本発明の資源を検索する手順の一実施例を示すフローチャートである。
図１において、１０は、資源グループ選択テーブルで、２０および３０は資源優先順定義テーブルで、４０は、資源キュー管理テーブルである。
【００１３】
資源グループ選択テーブル１０は、複数の要求に対する資源優先順定義テーブルを管理している。資源グループ選択テーブル１０には、各要求のインデックスに対応して、資源優先順定義テーブルのエントリー数２１１と資源優先順定義テーブルポインタ２１２、資源優先順定義テーブルのエントリー数２１３と資源優先順定義テーブルポインタ２１４がそれぞれ存在する。
【００１４】
資源優先順定義テーブル２０は、複数の資源キュー管理テーブルを管理する。資源優先順定義テーブル２０には、優先順位に従って並べられた資源キュー管理テーブルポインタ２２１、２２２、２２３が存在する。同様に、異なる要求タイプの資源優先順定義テーブル３０には、優先順位に従って並べられた資源キュー管理テーブルポインタ２３１、２３２、２３３が存在する。
【００１５】
資源優先順定義テーブル２０で管理される要求タイプの資源キュー優先順位は、資源キュー２４１、資源キュー２４２、資源キュー２４３の順である。また、資源優先順定義テーブル３０で管理される要求タイプの資源キュー優先順位は、資源キュー２４２、資源キュー２４３、資源キュー２４１の順である。
図１の構成において、未割り当て資源の検索手順を図２に従って説明する。
【００１６】
いま要求されている資源要求タイプのインデックスを０とすると、ステップ１で資源グループ選択テーブル１０の中から要求に対応するインデックス０のエントリーである資源優先順定義テーブルポインタ２１２から資源優先順定義テーブル２０が求められる。
次に、ステップ２で資源割り当て優先順位選択テーブル１０の中からインデックス０に対応するエントリーであるエントリー数２１１から資源キュー数を求める。
【００１７】
ステップ３では、資源優先順定義テーブルを参照するためのインデックスを０に初期化しておく。そして、ステップ４で資源優先順定義テーブルの現インデックスとステップ２で求めた資源キュー数と比較して終端チェックを行う。
次にステップ５で資源優先順定義テーブル２０のインデックスに対応するエントリー２２１から資源キュー管理テーブルポインタを求め、ステップ６で資源キュー２４１に資源がつながっているかどうか調べる。つながっていれば、その資源を割り当て、つながっていなければ、次の資源キューを検索するため資源優先順定義テーブル２０の現インデックスを＋１して、ステップ４に戻る。
【００１８】
ステップ４からステップ６を繰り返し行うことにより、この後資源キュー管理テーブルポインタ２２２、２２３を参照して、資源キュー２４２、２４３が順に検索できる。資源キュー２４１，２４２，２４３のいずれにも資源がつながっていなければ、ステップ４で資源優先順定義テーブルの現インデックスが資源キュー数を上回り、資源優先順定義テーブル２０の終端に達していることを検出し、要求タイプに対応する未割り当て資源がないことがわかる。
【００１９】
上記実施例に加えて本発明の優先管理システムの構成図では、資源グループ選択テーブル１０に資源優先順定義テーブルの属性２１１０，２１３０や資源優先順定義テーブル２０、３０に資源キューの属性２２１０，２２２０，２２３０，２３１０，２３２０，２３３０が存在する。これを参照して、ステップ１で資源優先順定義テーブルの属性２１１０，２１３０によって資源優先定義テーブル２０，３０を選択することやステップ５で資源キューの属性２２１０，２２２０，２２３０，２３１０，２３２０，２３３０の中で要求した属性に合致した資源キューアドレス２２１，２２２，２２３，２３１，２３２，２３３のいずれかだけを選択することが可能である。また、資源優先順定義テーブル２０，３０には資源数２２１１，２２２１，２２３１，２３１１，２３２１，２３３１が存在する。これを参照して、ステップ５で資源数を加えた条件で資源キューアドレス２２１，２２２，２２３，２３１，２３２，２３３のいずれかを選択することが可能である。
【００２０】
図４は図１の構成図における本発明の資源グループ優先順位の変更手順の状態遷移を示す状態図で、図５は図１の構成図における本発明の資源グループ優先順位の変更手順の一実施例を示すフローチャートである。
以下に図１の構成図における本発明の資源グループ優先順位の変更手順を説明する。
【００２１】
図４（ａ）は、初期状態である。この状態で資源キュー３４２で管理される資源キューの優先順位を３番目に変更する。
まず、ステップ１でグループの追加であるかを調べ、要求は変更であるのでグループの削除処理に進む。ステップ２で対象となる資源グループ（資源キュー３４２で管理される資源キュー）が資源優先順定義テーブル２０のどのエントリーにあるかを検索する。図４（ａ）では、２エントリー目に登録されており、ステップ３で資源優先順定義テーブル２０の２エントリー目である資源キュー管理テーブルポインタ３２２の内容を抹消し、３番目以降の優先順位を繰り上げるため、図４（ｂ）のように資源キュー管理テーブルポインタ３２３の内容を資源キュー管理テーブルポインタ３２２に移動する。そして、ステップ４で資源優先順定義テーブル２０で管理される資源キュー数を−１して、資源キュー数３１１に設定する。
【００２２】
次に、ステップ５でグループの削除であるかを調べ、要求は変更であるのでグループの追加処理に進む。ステップ６で対象となる資源グループ( 資源キュー３４２で管理される資源キュー）を挿入するためのエントリーを作成するため、エントリー内容を移動する。しかし、図３（ｂ）では３エレメント以降にアドレスが存在しないため、移動は発生しない。そして、ステップ７で資源優先順定義テーブル２０の３エレメント目（資源キューアドレス３２３）に対象となる資源グループである資源キュー３４２のアドレスを登録する。最後に、ステップ８で資源優先順定義テーブル２０で管理される資源キュー数を＋１して、資源キュー数３１１に設定することで資源グループ優先順位の変更が完了する（図４（ｃ））。
【００２３】
図１の構成図における資源グループ優先順位の削除手順は、前記ステップ１からステップ４を実行し、ステップ５でグループの削除であるため、ステップ６からステップ８のグループの追加処理を行わないことで実現される。
また、図１の構成図における資源グループ優先順位の追加手順は、前記ステップ１でグループの追加であるため、ステップ２からステップ４のグループの削除処理を行わずにステップ６からステップ８を実行することで実現される。
【００２４】
【発明の効果】
以上説明したように、本発明の資源の優先管理システムは、既存の資源キューや資源キュー管理テーブルの構成を変更せずに、資源要求タイプのインデックスを入力として、資源キュー管理テーブルを求めるまでの手順は一意となるため、論理が簡素化される。これにより、資源要求タイプ毎に資源グループ選択の優先方法が異なっていても、逐次グループ選択優先順位に従った資源優先順定義テーブルを変更せずに、同一論理で資源キューが決定できる効果がある。
【００２５】
また、本発明は、既存の資源キューや資源キューの管理テーブルの構成を変更せずに、資源要求タイプに対応するグループ選択優先順位の変更、あるいは資源グループの追加や削除が資源優先順定義テーブルを変更するだけで実現が可能となる。そして、優先順位を変更しない資源要求タイプの資源キュー選択処理を中断することなく検索を行うことが可能になるという効果がある。
【図面の簡単な説明】
【図１】本発明の未割り当て資源キューの優先順位管理方法の構成図である。
【図２】図１の構成図において本発明の資源を検索する手順の一実施例を示すフローチャートである。
【図３】従来技術による未割り当て資源キューの優先順位検索手順の一実施例を示すフローチャートである。
【図４】図１の構成図における本発明の資源グループ優先順位の変更手順の状態遷移を示す状態図で、（ａ）は資源キューの優先順位変更開始前の状態を示す図、（ｂ）は１つの資源グループに対応する資源キューを優先順位から削除した状態を示す図、（ｃ）は１つの資源グループに対応する資源キューを優先順位に追加した状態を示す図である。
【図５】図１の構成図における本発明の資源グループ優先順位の変更手順の一実施例を示すフローチャートである。
【符号の説明】
１０  資源割り当て優先順位選択テーブル
２０，３０  資源優先順定義テーブル
４０  資源キュー管理テーブル
２１１０，２１３０  資源優先順定義テーブル属性
２１１，２１３，３１１，３１３  資源優先順定義テーブルエントリー数
２１２，２１４，３１２，３１４  資源優先順定義テーブルポインタ
２１１０，２１３０  資源キュー管理テーブル属性
２２１０〜２２３０，２３１０〜２３３０  資源数
２２１〜２２３，２３１〜２３３，３２１〜３２３，３３１〜３３２  資源キューアドレス
２４１〜２４３，３４１〜３４３  資源キュー先頭アドレス
【図１】
0003823497.tif 000002
【図２】
0003823497.tif 000003
【図３】
0003823497.tif 000004
【図４】
0003823497.tif 000005
【図５】
0003823497.tif 000006