(57)【特許請求の範囲】
【請求項１】
複数の資源を共有使用または排他使用する複数のクライアントを有する計算機システムの資源管理システムにおいて、
前記クライアントが開設される時に設定された資源管理世代を前記複数のクライアント毎に保持する資源管理世代管理テーブルと、
前記クライアントへ前記資源が割り当てられた時に設定されていた前記資源管理世代を保持するものであって、前記複数の資源に対応した複数の資源管理テーブルエントリと、
前記資源管理世代管理テーブルと前記資源管理テーブルエントリとに各々保持される前記クライアントの資源管理世代が一致しているか否かによって、該クライアントへの該資源の割り当てが有効か否かを判別し、前記資源の共有排他制御を行う資源管理制御手段と、
を具備してなる資源管理システム。
【請求項２】
前記資源管理制御手段は、前記クライアントのダウン時には前記資源管理世代管理テーブルに保持される該ダウンしたクライアントの資源管理世代を変更することによって、該クライアントへの全ての資源の割り当てを一括して解除する資源割り当て解除手段を具備することを特徴とする請求項１に記載の資源管理システム。
【請求項３】
前記資源管理制御手段は、前記資源管理世代管理テーブルと前記資源管理テーブルエントリとに各々保持される前記クライアントの資源管理世代が一致しているか否かによって、該クライアントへの該資源の割り当てが有効か否かを判別し、前記クライアントへ該資源を割り当てることが可能か否かを決定する資源割り当て手段と、
前記資源管理テーブルエントリに保持される前記クライアントの資源管理世代を変更することによって、該クライアントから該資源の割り当て解放を行う資源解放手段と、
を具備することを特徴とする請求項１または請求項２に記載の資源管理システム。
【請求項４】
前記資源管理世代管理テーブルは、前記資源管理世代と前記クライアントの開閉設を示す状態とを共に保持することを特徴とする請求項１乃至請求項３のいずれかの項に記載の資源管理システム。
【請求項５】
資源管理制御手段は、前記クライアントの開設時に前記資源管理世代管理テーブルの該クライアントの資源管理世代を変更して該資源管理世代を該クライアントへ設定し、且つ前記資源管理世代管理テーブルの該クライアントの状態を開設状態とするクライアント開設手段と、
前記クライアントの閉設時に前記資源管理世代管理テーブルの該クライアントの資源管理世代を変更し、且つ前記資源管理世代管理テーブルの該クライアントの状態を閉設状態とするクライアント閉設手段と、
を具備することを特徴とする請求項４に記載の資源管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算機システムにおいてクライアントへのファイルなどの資源の割り当て状況を管理し、共有排他制御を行う資源管理システムに関する。
【０００２】
【従来の技術】
従来より、計算機システムにおいては、クライアントへのファイルなどの資源の割り当て状況を管理し共有排他制御を行う資源管理システムを備え、クライアント間でファイルを共有して使用したり、排他して使用することが可能である。そして資源管理システムは、資源を割り当てられたクライアントがダウンした場合には、資源管理テーブルに、ダウンしたクライアントへの資源割り当てを無効にするための更新を行うことによりそのクライアントへの資源割り当てを解除していた。あるいは、ダウン時には資源管理テーブルを放置し、ダウン後の各クライアントからの資源割り当て要求時に、資源が競合するクライアントの存在をチェックすることにより対処していた。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述した従来の資源管理システムにおいては、資源管理テーブルに、ダウンしたクライアントへ割り当てた全ての資源を無効にするための更新をそれぞれ行うので、全ての資源割り当てが解除されるには時間が掛かる。そのために、その間、他クライアントへの資源割り当ておよび資源解放の性能を低下させるという問題があった。
また、ダウン時には資源管理テーブルを放置し、ダウン後の各クライアントからの資源割り当て要求時に、資源が競合するクライアントの存在をチェックする対処においても、資源割り当て時に性能低下を招いていた。
本発明は、このような事情を考慮してなされたもので、その目的は資源を割り当てられたクライアントがダウンした場合に、資源割り当ての解除を高速に実施することが可能であり、且つダウン発生後の各クライアントへの資源割り当て処理の性能を低下させない資源管理システムを提供することにある。
【０００４】
【課題を解決するための手段】
上記の課題を解決するために、請求項１に記載の発明は、複数の資源を共有使用または排他使用する複数のクライアントを有する計算機システムの資源管理システムにおいて、前記クライアントが開設される時に設定された資源管理世代を前記複数のクライアント毎に保持する資源管理世代管理テーブルと、前記クライアントへ前記資源が割り当てられた時に設定されていた前記資源管理世代を保持するものであって、前記複数の資源に対応した複数の資源管理テーブルエントリと、前記資源管理世代管理テーブルと前記資源管理テーブルエントリとに各々保持される前記クライアントの資源管理世代が一致しているか否かによって、該クライアントへの該資源の割り当てが有効か否かを判別し、前記資源の共有排他制御を行う資源管理制御手段とを具備してなるものである。
請求項２に記載の発明は、請求項１に記載の発明において、前記資源管理制御手段は、前記クライアントのダウン時には前記資源管理世代管理テーブルに保持される該ダウンしたクライアントの資源管理世代を変更することによって、該クライアントへの全ての資源の割り当てを一括して解除する資源割り当て解除手段を具備することを特徴とする。
【０００５】
請求項３に記載の発明は、請求項１または請求項２に記載の発明において、前記資源管理制御手段は、前記資源管理世代管理テーブルと前記資源管理テーブルエントリとに各々保持される前記クライアントの資源管理世代が一致しているか否かによって、該クライアントへの該資源の割り当てが有効か否かを判別し、前記クライアントへ該資源を割り当てることが可能か否かを決定する資源割り当て手段と、前記資源管理テーブルエントリに保持される前記クライアントの資源管理世代を変更することによって、該クライアントから該資源の割り当て解放を行う資源解放手段とを具備することを特徴とする。
請求項４に記載の発明は、請求項１乃至請求項３のいずれかの項に記載の発明において、前記資源管理世代管理テーブルは、前記資源管理世代と前記クライアントの開閉設を示す状態とを共に保持することを特徴とする。
請求項５に記載の発明は、請求項４に記載の発明において、資源管理制御手段は、前記クライアントの開設時に前記資源管理世代管理テーブルの該クライアントの資源管理世代を変更して該資源管理世代を該クライアントへ設定し、且つ前記資源管理世代管理テーブルの該クライアントの状態を開設状態とするクライアント開設手段と、前記クライアントの閉設時に前記資源管理世代管理テーブルの該クライアントの資源管理世代を変更し、且つ前記資源管理世代管理テーブルの該クライアントの状態を閉設状態とするクライアント閉設手段とを具備することを特徴とする。
【０００６】
【発明の実施の形態】
以下、図面を参照し、本発明の一実施形態について説明する。
図１は本発明の一実施形態による資源管理システムの構成を示すブロック図である。この図において、１と２はファイルなどの資源の割り当ておよび解放を要求するクライアント、３はクライアント間において共有されるメモリ（以下、共有メモリと称する）上に記録される資源管理世代管理テーブル（図２参照）、４は共有メモリまたはクライアント間で共有可能な制御ファイル上に記録される資源管理テーブル、４１は資源管理テーブルエントリ（図３参照）である。そして、クライアント１、２は、それぞれ自身の資源管理世代１１、２１を当該クライアントのメモリに保持する。１０は資源を管理する資源管理制御部であって、クライアント１、２、資源管理世代管理テーブル３および資源管理テーブル４へアクセス可能である。そして資源管理制御部１０において、５はクライアントの開設時に初期化を行うクライアント開設部、６はクライアントの閉設時に閉設処理を行うクライアント閉設部、７はクライアントからの資源割り当て要求に応じて資源割り当て制御を行う資源割り当て部、８はクライアントからの資源解放要求に応じて資源解放制御を行う資源解放部、９はクライアントがダウンした場合に、ダウンしたクライアントへの資源割り当てを解除する資源割り当て解除部である。
【０００７】
図２は、資源管理世代管理テーブル３の構成を示すテーブル構成図である。資源管理世代管理テーブル３は、各クライアント１、２の資源管理世代３１１、３２１および各クライアント１、２の開設済、閉設済などの状態３１、３２を保持する。
図３は、資源管理テーブルエントリ４１の構成を示すテーブル構成図である。資源管理テーブルエントリ４１は、割り当てられた資源名をキーとし、各クライアント１、２へ資源を割り当てたときの資源管理世代１１、２１を資源管理世代４１１、４２１に保持する。
なお、資源管理テーブルエントリ４１はキーである資源名毎に複数設けられる。
【０００８】
次に、上述した実施形態による資源管理システムの動作について説明する。初めに、クライアント開設部５は資源管理システム内において最初のクライアント開設時までに、例えば計算機システムの立ち上げ時に資源管理世代管理テーブル３および資源管理テーブル４を初期化する。この初期化によって、資源管理世代管理テーブル３内の各クライアント１、２の資源管理世代３１１、３２１は初期値に設定され、そして各クライアント１、２の状態３１、３２は閉設済に設定される。また、資源管理テーブル４の初期化においては、資源管理テーブル４内には資源管理テーブルエントリ４１が無い状態にする。
【０００９】
次いで、クライアント１の開設時に、クライアント開設部５は資源管理世代管理テーブル３内のクライアント１の資源管理世代３１１を初期値から「Ｄ１」に変更し、この変更された資源管理世代３１１の値「Ｄ１」をクライアント１の資源管理世代１１に格納する。また、このクライアント１の開設時にクライアント開設部５は、資源管理世代管理テーブル３内のクライアント１の状態３１を開設済に設定する。
【００１０】
次いで、クライアント１からの資源割り当て要求時に、資源割り当て部７は資源管理テーブル４内にその資源割り当て要求と同一資源名をキーとする資源管理テーブルエントリ４１が存在するか否かを調べる。そして、同一資源名をキーとする資源管理テーブルエントリ４１が存在しない場合は、資源割り当て部７は当該資源名をキーとする資源管理テーブルエントリ４１を作成し、資源管理テーブルエントリ４１内のクライアント１の資源管理世代４１１へクライアント１の資源管理世代１１の値「Ｄ１」を設定する。そして、当該資源がクライアント１へ割り当てられる。
ここで、クライアント１からの資源割り当て要求時において、同一資源名をキーとする資源管理テーブルエントリ４１が既に存在している場合の資源割り当て部７の動作について説明する。これは、例えば、クライアント２が既に開設済となり、当該資源を割り当てられている場合である。この場合、資源割り当て部７は当該資源管理テーブルエントリ４１内の各クライアント１、２の資源管理世代４１１、４２１と、資源管理世代管理テーブル３内の各クライアントの資源管理世代３１１、３２１とを比較する。そして、クライアント２の資源管理世代４２１と資源管理世代３２１とが一致していれば、クライアント２への当該資源の割り当ては有効とする。なお、一致していない場合には、クライアント２への当該資源の割り当ては解除されていると判断される。このように判断された当該資源の割り当て状況によって、クライアント１への当該資源の割り当ての可否が判定される。なお、この判定は、当該資源が共有使用対象であるか、または排他使用対象であるかに応じて決定される。そして、クライアント１に当該資源を割り当て可能な場合には、資源割り当て部７は資源管理テーブルエントリ４１内のクライアント１の資源管理世代４１１へクライアント１の資源管理世代１１の値「Ｄ１」を設定し、当該資源をクライアント１へ割り当てる。
【００１１】
次いで、クライアント１からの資源解放要求時に、資源解放部８は資源管理テーブル４内において資源解放要求と同一資源名をキーとする資源管理テーブルエントリ４１を検索する。そして、当該資源管理テーブルエントリ４１内のクライアント１の資源管理世代４１１の値をクリアする。この結果、資源管理世代４１１の値と資源管理世代管理テーブル３内のクライアント１の資源管理世代３１１の値「Ｄ１」とが不一致となり、クライアント１への資源割り当てが無効となる。また、当該資源管理テーブルエントリ４１内の全てのクライアントへの資源割り当てが無効になった場合には、資源解放部８は当該資源管理テーブルエントリ４１を削除する。
次いで、クライアント１の閉設時に、クライアント閉設部６は、資源管理世代管理テーブル３内のクライアント１の資源管理世代３１１をクリアし、クライアント１の状態３１を閉設済に変更する。
【００１２】
次に、上述したように、クライアント１が開設され資源が割り当てられている状態においてダウンした場合の動作について説明する。その時の資源管理世代１１と資源管理世代３１１及び資源管理世代４１１の値は全て「Ｄ１」である。この場合、資源割り当て解除部９は資源管理世代管理テーブル３のクライアント１の資源管理世代３１１の値をクリアする。この結果、クライアント１の資源管理テーブルエントリ４１内の資源管理世代４１１の値「Ｄ１」と資源管理世代管理テーブル３内の資源管理世代３１１の値とが不一致となるので、クライアント１への資源の割り当てが無効になる。そして、クライアント１へ複数の資源が割り当てられていた場合においても、同様に、資源管理世代３１１の値と複数の当該資源管理テーブルエントリ４１内の資源管理世代４１１の値とが不一致となるので、全ての当該資源の割り当てを一括して無効にすることができる。なお、クライアント１のダウン検出は、計算機システムで一般的に使用されている方法を使用して良い。
なお、クライアント１の開設時において、クライアント開設部５が資源管理世代管理テーブル３のクライアント１の状態３１を参照した結果、閉設済になっていない場合には、資源解放部８が資源管理テーブル４内の各資源管理テーブルエントリ４１の資源に対して、上述した方法によってクライアント１から資源の解放を行う。このように状態３１が閉設済になっていないことは、前回開設されたクライアント１が、ダウンしたなどの理由によって正常に閉設されていないことを表している。そのために、クライアント１から資源の解放を実施し、不要な資源管理テーブルエントリ４１を削除することによって資源管理テーブル４の有効利用を図る。
【００１３】
このように上述した実施形態においては、資源管理世代管理テーブル３内の資源管理世代３１１、３２１と資源管理テーブルエントリ４１内の資源管理世代４１１、４２１が各々一致しているか否かによって、当該資源の割り当てが有効か否かを判別する。したがって、クライアント１または２がダウンした場合には、資源割り当て解除部９が資源管理世代管理テーブル３内の資源管理世代３１１または３２１を変更するだけで、当該クライアントへの全ての資源の割り当てを一括して解除することができる。さらに、クライアント１または２がダウンした後においても、同様にしてクライアント１、２への資源割り当てが有効か否かを判別できるので、各クライアントへの資源割り当て処理の性能が低下しない。
なお、上述した実施形態においては、計算機システムのクライアント数をクライアント１、２の２つとしたが、３つ以上のクライアントが存在する計算機システムにおいても同様に資源を管理することが可能である。
【００１４】
【発明の効果】
以上説明したように、本発明によれば、資源管理世代管理テーブルと資源管理テーブルエントリとを設け、各々が保持する資源管理世代が一致しているか否かによって、クライアントへの資源の割り当てが有効か否かを判別する。したがって、クライアントがダウンした場合には、単に資源管理世代管理テーブルの資源管理世代を変更することによって、そのクライアントへの全ての資源の割り当てが一括して解除されるので、資源割り当ての解除を高速に実施することができる効果が得られる。
さらに、クライアントがダウンした後においても、同様にしてクライアントへの資源割り当てが有効か否かを判別できるので、各クライアントへの資源割り当て処理の性能が低下しないという効果も得られる。
【図面の簡単な説明】
【図１】本発明の一実施形態による資源管理システムの構成を示すブロック図である。
【図２】同実施形態による資源管理世代管理テーブル３の構成を示すテーブル図である。
【図３】同実施形態による資源管理テーブルエントリ４１の構成を示すテーブル図である。
【符号の説明】
１、２  クライアント
３  資源管理世代管理テーブル
４  資源管理テーブル
５  クライアント開設部
６  クライアント閉設部
７  資源割り当て部
８  資源解放部
９  資源割り当て解除部
１０  資源管理制御部
１１、２１  資源管理世代
４１  資源管理テーブルエントリ
【図１】
0003551104.tif 000002
【図２】
0003551104.tif 000003
【図３】
0003551104.tif 000004