(57)【要約】【課題】複数の上位システムで共有資源を排他的に利用する場合に、各システムがバランス良く資源を利用できる方法を提供する。【解決手段】複数の上位システムで共用する資源の利用を制限する共有資源の利用制限方法において、複数の上位システムから利用要求が競合した場合に、当該共有が生じたことを記憶しておき、前記利用要求が成されたときに利用中の資源が解放された後の共有資源の利用要求を一定時間溜め受けてから、競合する上位システムに付された優先順位に従って処理する。【選択図】　　　　図２
2004145598.tif 000002
【特許請求の範囲】
【請求項１】
複数の上位システムで共用する資源の利用を制限する共有資源の利用制限方法において、複数の上位システムから利用要求が競合した場合に、当該競合が生じたことを記憶しておき、前記利用要求が競合しているときに利用中の資源が解放された後になされた共有資源の利用要求を一定時間溜め受けてから、利用要求が溜め受けられている上位システムに付された優先順位に従って前記共有資源の利用を許可することを特徴とするコンピュータの共有資源利用制限方法。
【請求項２】
請求項１に記載の共有資源の利用制限方法において、前記溜め受けを実行する一定時間を、前記上位システムの資源利用要求のリトライ間隔に基づいて決定することを特徴とする共有資源の利用制限方法。
【請求項３】
請求項１または２に記載の共有資源の利用制限方法において、前記利用要求を許可するときに、当該許可を与える上位システムの優先順位を他の上位システムの優先順位より低くすることを特徴とする共有資源の利用制限方法。
【請求項４】
複数の上位システムで共有されている資源の利用を制限する共有資源利用制御装置において、資源利用要求の競合の発生を記憶する手段と、前記上位システムからの資源利用要求を受けて当該要求を即時に処理する手段と、前記上位システムからの資源利用要求を一時溜め受けてから競合する上位システムの資源利用優先順位に基づいて処理する手段と、上位システムからの資源利用要求を前記記憶手段の記憶に基づいて即時処理をするか溜め受け処理をするかを選択する処理選択手段とを具えることを特徴とする共有資源利用制御装置。
【請求項５】
請求項４に記載の共有資源利用制御装置において、前記上位システムに対して資源利用の優先順位を付与する手段を具え、当該優先順位付与手段が、共有資源の利用を許可された上位システムについて他の上位システムより優先順位を下げて付すことを特徴とする共有資源の制限装置。
【請求項６】
請求項４または５に記載の共有資源利用制御装置を具えることを特徴とするコンピュータシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータの共有資源制御方式に関するものであり、例えばテープライブラリ、光ディスクライブラリ媒体配送機構等の動作中に処理を中断させることが困難な排他的共有資源であり、複数のホストから時分割で使用される共有資源の排他的制御方式に関する。
【０００２】
【従来の技術】
従来、複数の上位システムが排他的に利用する共有資源は、先に資源利用要求を行ったシステムが優先的に利用できるように利用制御がなされている。このような制御方法の下では、共有資源を一のシステムが占有しており他のシステムが利用できない場合、利用を希望する上位システムは、一定間隔で利用要求を出し続けたり、あるいは、排他制御手段から共有資源が解放されたことの通知を受けてから再度利用要求を出すなどしてリトライを行う。
【０００３】
図５は、上位システムＡ、Ｂ間で、共有資源の利用が競合した場合の、従来の制御方法における、各上位システムの共有資源占有時間と、利用が競合している間の待ち時間を表すグラフである。図５に示すとおり、従来の方法によれば、利用要求のタイミングによっては、一の上位システム（図５では、上位システムＡ）が連続して共有資源を利用することになり、上位システムＢは何度も利用要求を行っても資源利用を長時間待たされてしまうような不都合が生じる。
【０００４】
すなわち、上位システムＡは、自身が資源を利用しているので、資源が解放された事実を他の上位システムより早く知ることができる。従って、上位システムＡは、共有資源を複数回使用する場合に、利用が終了し資源が解放されてから次の利用要求までの時間（ｔ４〜ｔ５）を短時間とすることができる。一方、上位システムＢは、一定間隔で利用要求を出す方式をとっている場合、上位システムＡの利用空き時間に利用要求をうまく割り込ませることが困難になる。
【０００５】
この方式では、上位システムＢのリトライ間隔を、システムＡが利用を終了してから次の利用要求を出す時間（ｔ４〜ｔ５）より短く設定すれば、割り込みの可能性は高くなるが、リトライ要求のための負荷が高くなってしまうので、一般的にはこの間隔を十分に短く設定することができない。
【０００６】
また、排他制限手段からの共有資源が解放された旨の通知を受けてから利用要求を出す方式でも、この通知は共有資源が解放された後に出されるため、自身が共有資源の利用を解放する上位システムＡの方が資源解放のタイミングを早く知ることができる。このため、上位システムＡは、排他制御手段からの通知を受けてから利用要求を出す上位システムＢより先に利用要求を出すことができ、従って、上位システムＢの割り込みはやはり困難である。
【０００７】
このような問題を解決すべく、特開平４−２２０７２８号公報（特許文献１）では、上位システムの利用要求を拒否するたびに当該上位システムの資源利用優先度を上げてゆくようにした共有資源の排他利用制御方法が開示されている。図６は、この方法における各上位システムの共有資源占有時間と、利用が競合している間の待ち時間を表すグラフである。
【０００８】
図６に示すように、ここでは、優先度の高い上位システムから利用要求があったときに、優先度の低い上位システムの資源利用を中断して優先度の高い上位システムに利用許可を与えるようにしている。図６に示す例では、上位システムＢが３回目の利用要求を行ったときに、上位システムＢの優先度が上位システムＡより高くなり、上位システムＡの利用が中断されて上位システムＢに資源を利用させるようにしており、特定の上位システムが資源の利用を長時間またされるという事態を回避するようにしている。
【０００９】
しかしながら、この方法は、共有資源の占有利用を中断可能なものについては有効であるが、利用の中断が不可能な共有資源に適用することができないという問題がある。
【００１０】
また、図７に示すように、共有資源が利用可能になるまで、利用要求をキューイングして、利用要求が成された上位システムに確実に資源を利用させるようにした方式もある。この方式では、後から発生した上位システムＡの利用要求が、上位システムＢの要求の前に割り込むことなく、利用要求を出した順に上位システムが資源を利用することができるので、すべての上位システムが偏りなく共有資源を利用することが可能となる。しかしながら、複数の上位システムからの利用要求を同時に受け付けるため、開始順位の低い要求では、上位システムへの終了報告が遅れ、上位システムにおいて時間を監視しにくくなるという問題がある。
【００１１】
なお、特開平５−２５６９号公報（特許文献２）には、共有資源を利用しようとするプロセッサが、排他制御ワードを参照して、他のプロセッサが使用していなければ排他制御フラグをセットする旨が開示されている。また、特開平１１−３０６０３５号公報（特許文献３）には、タスクが一つ以上の資源をロックしたまま他の資源をロックしようとする場合、ロック済みの資源を待っているタスクの数によって優先度を決定する優先度決定方法が開示されている。
【００１２】
【特許文献１】
特開平４−２２０７２８号公報
【特許文献２】
特開平５−２５６９号公報
【特許文献３】
特開平１１−３０６０３５号公報
【００１３】
【発明が解決しようとする課題】
本発明は、上記課題を解決するべくなされたものであり、共有資源の利用中に他の上位システムが割り込むことが難しいような場合に、特定の上位システムからの処理要求が優先処理されることがなく、複数ホストからの要求をバランス良く処理することのできる共有資源の排他制御方法を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記課題を解決するために、本発明の共有資源の排他制御方法は、複数の上位システムで共用する資源の利用を制限する共有資源の利用制限方法において、複数の上位システムから利用要求が競合した場合に、当該競合が生じたことを記憶しておき、前記利用要求が競合しているときに利用中の資源が解放された後になされた共有資源の利用要求を一定時間溜め受けてから、利用要求が留め受けられている上位システムに付された優先順位に従って前記共有資源の利用を許可することを特徴とする。
【００１５】
このように、本発明の方法によれば、複数の上位システム間で共有資源の利用要求が競合した場合に、共有資源の利用要求を一定時間受け止めておいて処理を行うため、上位システムからの利用要求を一のシステムからの要求に集中させることなくバランス良く処理することが可能となる。
【００１６】
なお、前記溜め受けを実行する一定時間は、前記上位システムの資源利用要求のリトライ間隔に基づいて決定することが好ましい。
一定時間がリトライ間隔より短いと、各上位システムの利用要求に対して平等に応じられない場合が生じ、この時間が長いと、必要以上に上位システムを待たせる事になり、資源の利用効率が低下するためである。
【００１７】
さらに、本発明の共有資源の利用制限方法は、前記利用要求を許可する場合、当該許可を与える上位システムの優先順位を他の上位システムの優先順位より低くすることを特徴とする。
【００１８】
このようにすることによって、一のシステムに共有資源の利用が集中することを避けることができる。
【００１９】
本発明は更に、複数の上位システムで共有されている資源の利用を制限する共有資源利用制御装置に関するものであり、当該制御装置が、複数の上位システムで共有されている資源の利用を制限する共有資源利用制御装置において、資源利用要求の競合の発生を記憶する手段と、前記上位システムからの資源利用要求を受けて当該要求を即時に処理する手段と、前記上位システムからの資源利用要求を一時溜め受けてから競合する上位システムの資源利用優先順位に基づいて処理する手段と、上位システムからの資源利用要求を前記記憶手段の記憶に基づいて即時処理をするか溜め受け処理をするかを選択する処理選択手段とを具えることを特徴とする。
【００２０】
このように構成することにより、本発明の装置では、競合が発生していない場合には上位システムからの要求を即時に処理することが可能であり、発生している場合は、溜め受け処理を行うことにより、利用要求をバランス良く処理することができる。
【００２１】
なお、前記上位システムに対して資源利用の優先順位を付与する手段を具えており、この優先順位付与手段は、共有資源の利用を許可された上位システムについて他の上位システムより優先順位を下げて付す手段を具えることを特徴とする。これによって、共有資源を利用中のシステムが、続けて利用する事態を避けることができる。
【００２２】
【発明の実施の形態】
以下に、本発明の実施の形態を図面に基づいて説明する。
図１は、本発明にかかる共有資源利用制御装置の一実施形態の構成を示すブロック図である。本実施形態は、２つの上位システム１０Ａ、１０Ｂと、これらのシステムによって共有されており排他的に利用される共有資源２０と、共有資源２０の利用を排他的に制御する排他制御手段３０を具える。排他制御手段３０は、排他制御方法選択手段３１と、上位システムからの要求が競合しているか否かを示す競合フラグ３２と、上位システムからの要求を即時処理する即時処理手段３３と、上位システムからの要求を一定時間溜め受けて処理する溜め受け処理手段３４とを具える。
【００２３】
上位システム１０Ａ、上位システム１０Ｂは、共有資源２０を利用する場合、排他制御手段３０に利用要求を行う。排他制御手段３０では、排他制御方法選択手段３１にてこの利用要求を受けて、利用要求の処理方法の選択を行う。この選択は、排他制御方法選択手段３１にて競合フラグ３２を参照して、競合フラグ３２が立っていない場合、すなわち上位システム１０Ａ、１０Ｂからの要求が競合していない場合は、上位システムからの利用要求を即時処理手段３３にて処理し、競合フラグ３２が立っている場合、すなわち上位システム１０Ａ、１０Ｂからの要求が競合している場合は、当該要求を溜め受け処理手段３４にて一定時間溜め受けてから、上位システムの資源利用優先順位に従って処理するようにする。
【００２４】
即時処理手段３３では、先に利用要求を出した上位システムに対して資源２０を利用させる。また、溜め受け処理手段３４では、複数の上位システム（１０Ａ、１０Ｂ）からの利用要求を一定時間溜め受けた後、要求のあった上位システムのうち優先度の高いシステムに対して資源を利用させる。
【００２５】
なお、上位システムの優先度は、初期設定を行うか、初期設定以降は、資源利用が許可された上位システムについて次回の資源利用の優先度を他の上位システムより低く設定することによって決定する。
【００２６】
次に、本発明にかかる共有資源の排他利用制御の手順を、図２に示す共有資源の排他制御動作を示すフローチャートを用いて説明する。
【００２７】
図２を参照すると、上位システムは、共有資源３０を利用する場合、排他制御手段３０に対して利用要求を行い、排他制御手段３０は、この利用要求を受け取ると（ステップＳ２０１）、共有資源２０が使用中かどうかを判断する（ステップＳ２０２）。共有資源２０が使用中でなければ（ステップＳ２０２、ＮＯ）、さらに競合フラグ３２がセットされているか否かを判断して（ステップＳ２０３）、競合フラグ３２がセットされていなければ（ステップ２０３、ＮＯ）、この上位システムの利用要求を即時処理手段３３に送って許可すると共に、資源を利用した上位システムの次回の資源利用優先度を、他方の上位システムの優先度より低く書き換える（ステップＳ２０９）。
【００２８】
また、上位システムから共有資源２０の利用要求が成された時点で、他の上位システムが共有資源２０を利用中であった場合（ステップＳ２０２、ＹＥＳ）、排他制御手段３０は競合フラグ３２をセットして（ステップＳ２１０）、当該上位システムの利用要求を拒否する。
【００２９】
このように競合が発生すると、次の共有資源２０の利用要求が行われたときには、競合フラグ３２がセットされた状態になる（ステップＳ２０３、ＹＥＳ）。このような状態で行われた利用要求に対しては、共有資源の利用が解放されても利用要求を即時に処理せずに、溜め受け処理手段３４にて一時溜め受けて（ステップＳ２０４）、一定時間他の上位システムから要求がないかどうか待ち合わせを行う（ステップＳ２０５）。一定時間経過後、競合フラグ３２をクリアすると共に（ステップＳ２０６）、溜め受けられたすべての利用要求の優先度を判定して（ステップＳ２０７、ステップＳ２０８）、優先度が高い上位システムに資源の利用を許可する。なお、ここで利用を許可した上位システムの次回の資源利用優先度を、他の上位システムより低く書き換える（ステップＳ２０９）。
【００３０】
なお、溜め受けられた利用要求中に、優先度が高い他の上位システムからの利用要求があった場合には（ステップＳ２０８、ＮＯ）、共有資源２０の使用中に利用要求がなされた場合と同様にこの利用要求を拒否して競合フラッグ３２をセットするようにする。
【００３１】
次いで、図３を参照して、本実施形態の利用要求の競合の具体例を説明する。図３は、上位システム１０Ａと１０Ｂとの間で共有資源２０の利用が競合した場合の、各上位システムの共有資源占有時間と、競合制御中の待ち時間を示すグラフである。
【００３２】
まず、上位システム１０Ａが時間ｔ１において排他制御手段３０に利用要求を行う。この時点ではいずれの上位システムも共有資源２０を利用していないため、この利用要求は即時に許可され、上位システム１０Ａによる共有資源２０の利用が開始する。ここで、上位システム１０Ａの次回の共有資源利用の優先度は、上位システムＢの優先度より低くなるようにセットされる（図２、ステップＳ２０９）。
【００３３】
次いで、時間ｔ２において上位システム１０Ｂが排他制御手段３０に対して利用要求を行うが、ここでは共有資源２０は上位システム１０Ａが占有中であるため（ステップＳ２０２、ＹＥＳ）、この要求は拒否され、競合フラッグ３２がセットされる（ステップＳ２１０）。要求を拒否された上位システムＢは、共有資源３が解放され利用可能になるまで、一定間隔で要求を繰り返す（時間ｔ３、ｔ５）。
【００３４】
時間ｔ３とｔ４の間で上位システム１０Ａによる共有資源２０の占有が解放され、上位システム１０Ａは時間ｔ４において再度利用するために利用要求を出す。ここでは競合フラグ３２がセットされているため、この要求は一定時間溜め受けられる（ステップＳ２０４、Ｓ２０５）。また、時間ｔ５で行われた上位システム１０Ｂの利用要求は、共有資源２０は解放されているが（ステップＳ２０２、ＮＯ）、競合フラグ３２がセットされているため（ステップＳ２０３、ＹＥＳ）、やはり一定時間溜め受けられることになる。
【００３５】
共有資源２０の解放から一定時間が経過すると、時間ｔ６において、溜め受けられた上位システム１０Ａおよび１０Ｂからの利用要求の優先度の判断を行い（ステップＳ２０７、Ｓ２０８）、優先度の高い上位システムに共有資源２０の利用を許可する。ここでは、前回の資源利用時に上位システム１０Ａの優先度が下げられているため、上位システムＢに資源２０の利用が許可される。
【００３６】
次に、図４を参照して、３台の上位システムからの利用要求が競合した場合について説明する。システムの構成は、図１に示すものと同様であり、これに３台の上位システムが接続されているものとする。また、処理のフローは図３に示すものと同じである。優先順位の初期状態を、上位システム１０Ａの優先順位が１、上位システム１０Ｂの優先順位が２、上位システム１０Ｃの優先順位を３とする。
【００３７】
まず、時間ｔ１において上位システム１０Ａが、排他制御手段１に利用要求を行う。他の上位システムは共有資源２０を利用していないため（ステップＳ２０２、ＮＯ）、上位システム１０Ａの利用要求は即時に許可され、共有資源２０の利用を開始する。このとき、ステップＳ２０９において、上位システム１０Ａの優先度は他のシステム１０Ｂ、１０Ｃの優先度より低く設定されため、この時点で上位システム１０Ａの優先度が３、上位システム１０Ｂの優先度が１、上位システム１０Ｃの優先度が２となる。
【００３８】
次いで、時間ｔ２、ｔ２’において上位システム１０Ｂ、および１０Ｃが排他制御手段３０に利用要求を行う。しかし、上位システム１０Ａが共有資源３を占有中であるため、競合フラグ３２がセットされて（ステップＳ２１０）、これらの利用要求は拒否される。要求が拒否された上位システム１０Ｂ、１０Ｃは一定間隔で利用要求を繰り返す（時間ｔ３、ｔ３’）。
【００３９】
上位システム１０Ａは、共有資源２０の使用が終わると資源を解放し、共有資源２０の次の利用のために直ちに利用要求を行うが、ここでは競合フラグ３２がセットされているため、この要求に対しては溜め受け処理がなされる。上位システム１０Ｂ、１０Ｃも引き続いて利用要求を行う（時間ｔ４、ｔ４’）。
【００４０】
一定時間が経過すると、排他制御手段３０は、競合フラグ３２をクリアし（ステップＳ２０６）、溜め受けた要求の中から優先度の高い上位システムに共有資源の利用を許可する。ここでは、上位システム１０Ｂの優先度が最も高いため、上位システム１０Ｂが資源の利用を許可すると共に、上位システム１０Ｂの優先度を他の上位システムの優先度より低く再設定する（ステップＳ２０９）。したがって、上位システム１０Ａの優先順位が２、上位システム１０Ｂの優先順位が３、上位システム１０Ｃの優先順位が１となる。なお、時間ｔ５における上位システム１０Ａ、１０Ｂの要求は拒否されて、競合フラグがセットされる（ステップＳ２１０）。要求が拒否された上位システム１０Ａ、１０Ｃは、その後も一定間隔で要求を繰り返す（時間ｔ６）。
【００４１】
上位システム１０Ｂは、共有資源２０の利用が終わると資源を解放する。上位システム１０Ｂは、共有資源２０の次の利用要求を行うが（時間ｔ７）、競合フラグ３２がセットされているため、この要求は溜め受けられることになる。上位システム１０Ａ、１０Ｂも、引き続き要求を行う（時間ｔ７’）。
【００４２】
共有資源の解放から一定時間が経過すると、排他制御手段３０は、競合フラグ３２をクリアし（ステップＳ２０６）、溜め受けた要求の中から優先度の高い上位システムに共有資源の利用を許可する。ここでは、上位システム１０Ｃの優先度が最も高いため、上位システム１０Ｃが資源の利用を開始する。このとき制御手段３０は、上位システム１０Ｃの優先度を他の上位システムの優先度より低く再設定する（ステップＳ２０９）。
【００４３】
このように、本発明によれば、３つの上位システム１０Ａ、１０Ｂ、１０Ｃによる共有資源３の利用要求が競合した場合でも、３つの上位システムに均等に共有資源の利用機会が与えられることになる。
【００４４】
なお、利用要求の溜め受け時間は、上位システムの要求のリトライ間隔と同等に設定することが好ましい。なぜならば、上位システムの要求が拒否されて再要求するまでの時間（リトライ時間）より溜め受け時間が短いと、要求を拒否された上位システムが溜め受け時間内に再度要求を出すことができなくなるため、上位システムの資源利用機会の均等化が図れなくなるためである。また、溜め受け時間がリトライ時間より大幅に長い場合は、共有資源の使用時間に対する競合調整のための時間の割合が大きくなりすぎて、装置全体の性能の低下を招くことになる。
【００４５】
なお、上述した実施形態では、２台または３台の上位システムが資源を共有する場合を説明したが、４台以上の上位システムが接続されている場合でも、同様に共有資源の利用を排他制御することができる。
【００４６】
【発明の効果】
上述したとおり、複数の上位システムが利用する共有資源を排他制御するにあたって、直前に共有資源利用時に競合が生じているか否かを表す競合フラグを設け、この競合フラグの状態によって、即時処理を行うか、あるいは溜め受け処理を行うかの排他制御方法を切り替える様にすると共に、共有資源の利用許可時に、当該共有資源を利用する上位システムの優先度を他の上位システムの優先度より下げ、溜め受け処理を行う場合に利用要求が溜め受けられた上位システムの優先度を判断して利用許可を出すことにより、特定の上位システムに共有資源の利用が集中して、他の上位システムの利用が著しく妨げられるといった事態を避けることができる。
【図面の簡単な説明】
【図１】図１は、本発明の共有資源利用制限装置の一実施形態の構成を示すブロック図である。
【図２】図２は、本発明の共有資源利用制限方法を実行する手順を示すフローチャートである。
【図３】図３は、本発明において上位システムが資源を共有している場合の、各システムの共有資源占有時間と、待ち時間を示すグラフである。
【図４】図４は、本発明において、上位システムが資源を共有している場合の、各システムの共有資源占有時間と、待ち時間を示すグラフである。
【図５】図５は、従来の方法において、上位システムが資源を共有している場合の、各システムの共有資源占有時間と、待ち時間を示すグラフである。
【図６】図６は、従来の方法において、上位システムが資源を共有している場合の、各システムの共有資源占有時間と、待ち時間を示すグラフである。
【図７】図７は、従来の方法において、上位システムが資源を共有している場合の、各システムの共有資源占有時間と、待ち時間を示すグラフである。
【符号の説明】
１０Ａ、１０Ｂ、１０Ｃ　　上位システム
２０　　共有資源
３０　　排他制御手段
３１　　排他制御方法選択手段
３２　　競合フラグ
３３　　即時処理手段
３４　　溜め受け処理手段
【図１】
2004145598.tif 000003
【図２】
2004145598.tif 000004
【図３】
2004145598.tif 000005
【図４】
2004145598.tif 000006
【図５】
2004145598.tif 000007
【図６】
2004145598.tif 000008
【図７】
2004145598.tif 000009