(57)【要約】【課題】複数の領域のうちの一方についてのＩＯ性能が、他方についてのＩＯ制御により所定の性能を下回らないように制御可能とする。【解決手段】本制御方法は、（Ａ）第１の記憶領域と第２の記憶領域とを備える記憶装置のビジー率及び単位時間当たりのアクセス数のモニタ結果を取得するステップと、（Ｂ）取得したモニタ結果に基づいて、ビジー率と単位時間当りのアクセス数との間の相関特性を算出するステップと、（Ｃ）算出した相関特性に基づいて、単位時間当りの指定された第１のアクセス数に対応するビジー率と、単位時間当りの第２のアクセス数に対応するビジー率との和が所定のビジー率以下となる、単位時間当りの第２のアクセス数を求めるステップと、（Ｄ）第２の記憶領域についての単位時間当りのアクセス数を、通知されたアクセス数以下に制御する制御部に対して、算出した第２のアクセス数を通知するステップとを含む。【選択図】図２
2012221340.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の記憶領域と第２の記憶領域とを備える記憶装置のビジー率及び単位時間当たりのアクセス数のモニタ結果を取得する第１の処理と、
取得した前記モニタ結果に基づいて、ビジー率と単位時間あたりのアクセス数との間の相関特性を算出する第２の処理と、
算出した前記相関特性に基づいて、単位時間あたりの指定された第１のアクセス数に対応するビジー率と、単位時間あたりの第２のアクセス数に対応するビジー率との和が所定のビジー率以下となる、単位時間あたりの第２のアクセス数を求める第３の処理と、
前記第２の記憶領域についての単位時間あたりのアクセス数を、通知されたアクセス数以下に制御する制御部に対して、算出した前記第２のアクセス数を通知する第４の処理と、
を実行させるためのプログラム。
【請求項２】
前記単位時間あたりのアクセス数がＩＯＰＳ（Input Output Per Second）値であり、
前記第２の処理において、
取得した前記ビジー率を、取得した前記ＩＯＰＳ値で除することにより、前記相関特性を算出し、
前記第３の処理において、
前記相関特性に対して前記第１の記憶領域にアクセスするアプリケーションについて指定されたＩＯＰＳ値を乗じることにより、前記第１の記憶装置について確保すべきビジー率を算出し、
前記ビジー率の上限値と前記第１の記憶領域について確保すべきビジー率との差を前記相関特性で除することにより、前記第２の記憶領域について使用可能なＩＯＰＳ値を前記第２のアクセス数として算出する
請求項１記載のプログラム。
【請求項３】
前記第１の記憶領域が複数の記憶領域を含み、当該複数の記憶領域の各々についてアクセスするアプリケーションにＩＯＰＳ値が指定されている場合、当該複数の記憶領域の各々について、実際のＩＯＰＳ値が、指定されている前記ＩＯＰＳ値以下になるように、前記記憶装置の制御部に指示する処理
を、さらに前記コンピュータに実行させるための請求項１又は２記載のプログラム。
【請求項４】
第１の記憶領域と第２の記憶領域とを備える記憶装置と、
前記記憶装置における前記第２の記憶領域についての単位時間あたりのアクセス数を、通知されたアクセス数以下に制御する制御部と、
処理部とを有し、
前記処理部が、
前記記憶装置のビジー率及び単位時間当たりのアクセス数のモニタ結果を取得し、
取得した前記モニタ結果に基づいて、ビジー率と単位時間あたりのアクセス数との間の相関特性を算出し、
算出した前記相関特性に基づいて、単位時間あたりの指定された第１のアクセス数に対応するビジー率と、単位時間あたりの第２のアクセス数に対応するビジー率との和が所定のビジー率以下となる、単位時間あたりの第２のアクセス数を求め、
前記制御部に対して、算出した前記第２のアクセス数を通知する、
コンピュータ。
【請求項５】
コンピュータにより、
第１の記憶領域と第２の記憶領域とを備える記憶装置のビジー率及び単位時間当たりのアクセス数のモニタ結果を取得し、
取得した前記モニタ結果に基づいて、ビジー率と単位時間あたりのアクセス数との間の相関特性を算出し、
算出した前記相関特性に基づいて、単位時間あたりの指定された第１のアクセス数に対応するビジー率と、単位時間あたりの第２のアクセス数に対応するビジー率との和が所定のビジー率以下となる、単位時間あたりの第２のアクセス数を求め、
前記第２の記憶領域についての単位時間あたりのアクセス数を、通知されたアクセス数以下に制御する制御部に対して、算出した前記第２のアクセス数を通知する、
処理が実行される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、記憶装置に対するＩＯ（Input and Output）制御技術に関する。
【背景技術】
【０００２】
記憶装置等の記憶装置の性能保証を行う方法については様々な提案がなされている。このような提案においては、何れもＩＯＰＳ（Input and Output per Second）やスループットを使用している。
【０００３】
ところで、記憶装置のビジー（Busy）率とは、記憶装置の忙しさを表す指標であって、たとえば、ＩＯキューにＩＯ要求が滞留する時間の割合により求められる。従って、記憶装置のビジー率が１００％（０以上１以下の数値として取り扱う場合には「１」）のときは、これ以上性能を出すことが出来ないことを意味する。より具体的には、記憶装置のビジー率が１００％となると、常にＩＯキューにＩＯ要求がたまっていて、常に何らかのＩＯを実行中であることを表しており、これ以上ＩＯ性能を上げることが難しい状態にある。また、ＩＯＰＳとは、たとえば、単位時間当たりのブロック単位で数えるアクセス数（ＩＯ数）により求められる。
【０００４】
ここで、記憶装置へのアクセスを行う場合に、同じＩＯＰＳを確保しようとしても、ＩＯが発生する記憶装置におけるディスク上の位置及び範囲、read命令及びwrite命令の割合、ＩＯサイズの分布の態様が異なる態様に変化すると、記憶装置のビジー率は同じ値とならず、変動してしまう。例えば、ＩＯが発生する記憶装置上の範囲の違いに関して考察すると、記憶領域全域にＩＯが発生することが支配的な場合と、記憶領域の一部にＩＯが発生することが支配的な場合とでは、データ転送以外のオーバーヘッド時間（例えばシーク時間など）が、前者の方が大きくなるため、同じＩＯＰＳであっても前者の方がよりビジー率が高くなる傾向にある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−４３０３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、一つの記憶装置の記憶領域を第１の領域、第２の領域に分割して複数の端末ＰＣで共有して利用する場合に、一方の端末ＰＣから発生する第１の領域へのアクセスについて所定のＩＯＰＳを確保しようとして、他方の端末ＰＣから発生する第２の領域へのアクセスを所定の（固定的な）ＩＯＰＳ以下に制御しても、上述したアクセス態様に応じてビジー率が飽和してしまうことがあり、単純なＩＯＰＳを用いた制御では、第１の領域へのアクセスについて所定のＩＯＰＳを確保することはできない。
【０００７】
従って、一側面では、本技術は、複数の領域のうちの一方についてのＩＯ性能が、他方についてのＩＯ制御により所定の性能を下回らないように制御可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
本制御方法は、（Ａ）第１の記憶領域と第２の記憶領域とを備える記憶装置のビジー率及び単位時間当たりのアクセス数のモニタ結果を取得するステップと、（Ｂ）取得したモニタ結果に基づいて、ビジー率と単位時間当りのアクセス数との間の相関特性を算出するステップと、（Ｃ）算出した相関特性に基づいて、単位時間当りの指定された第１のアクセス数に対応するビジー率と、単位時間当りの第２のアクセス数に対応するビジー率との和が所定のビジー率以下となる、単位時間当りの第２のアクセス数を求めるステップと、（Ｄ）第２の記憶領域についての単位時間当りのアクセス数を、通知されたアクセス数以下に制御する制御部に対して、算出した第２のアクセス数を通知するステップとを含む。
【発明の効果】
【０００９】
記憶装置における複数の領域のうちの一方についてのＩＯ性能が、他方についてのＩＯ制御により所定の性能を下回らないようにすることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施の形態におけるコンピュータの構成を示す図である。
【図２】図２は、第１の実施の形態における処理プログラムの処理フローを示す図である。
【図３】図３は、カーネルから取得するデータの一例を示す図である。
【図４】図４は、帯域制御の状態を模式的に示した図である。
【図５】図５は、ディスクドライバ処理の処理フローを示す図である。
【図６】図６は、第２の実施の形態におけるコンピュータの構成を示す図である。
【図７】図７は、第２の実施の形態における処理プログラムの処理フローを示す図である。
【図８】図８は、帯域制御の状態を模式的にを示す図である。
【図９】図９は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
本技術の第１の実施の形態に係るコンピュータの構成を図１に示す。図１に示すコンピュータ１００は、例えばハードディスク（名前はｈｄａ）である記憶装置２００と接続されており、カーネル内に記憶装置２００内のパーティションＡ（名前はｈｄａ１）のためのディスクドライバＡと、記憶装置２００内のパーティションＢ（名前はｈｄａ２）のためのディスクドライバＢとを実行している。また、コンピュータ１００は、アプリケーションＡ及びＢを実行しており、アプリケーションＡが記憶装置２００のパーティションＡにディスクドライバＡを介してアクセスし、アプリケーションＢが記憶装置２００のパーティションＢにディスクドライバＢを介してアクセスするものとする。
【００１２】
また、コンピュータ１００は、以下で詳細に述べる帯域制御のための処理を実施するデーモン（daemon）である処理プログラム１１０も実行している。
【００１３】
本実施の形態では、以下で詳細に説明するように、現在のＩＯ状況に応じた記憶装置２００のビジー率とＩＯＰＳとから、ＩＯ性能保証するには現状のビジー率からして、どのような態様で帯域制御を行うべきであるかを、処理プログラム１１０で決定して、ディスクドライバに対して指示を行う。なお、以下では、説明を分かりやすくするため、アプリケーションＡについてＩＯ性能保証を行うことを想定する。
【００１４】
次に、図２乃至図４を用いて、図１に示した処理プログラム１１０の処理について説明する。処理プログラム１１０は、例えば１分毎など周期的に、カーネルから記憶装置２００のビジー率及びＩＯＰＳ値を取得する（図２：ステップＳ１）。
【００１５】
例えばＬｉｎｕｘであれば、”ｉｏｓｔａｔ  −ｘ”コマンドをカーネルに出力して、例えば図３のようなデータを取得する。
【００１６】
図３に示すようなデータにおいて、ｒ／ｓの値とｗ／ｓの値との和がＩＯＰＳを表しており、％ｕｔｉｌの値がビジー率を表している。
【００１７】
次に、処理プログラム１１０は、ビジー率／ＩＯＰＳ値により、第１指標値を算出する（ステップＳ３）。第１指標値は、１ＩＯＰＳ獲得するために消費されるビジー率を表している。この第１指標値については、この処理時点においてビジー率とＩＯＰＳ値とが線形の関係を有していることを前提にしている。より厳密に両者の関係を相関特性として、例えば関数ｆ（ビジー率，ＩＯＰＳ値）のような形で導出して、この相関特性を用いるようにしてもよい。
【００１８】
そして、処理プログラム１１０は、第１指標値×保証ＩＯＰＳ値により、第２指標値を算出する（ステップＳ５）。保証ＩＯＰＳ値は、例えばアプリケーションＡ又はアプリケーションＡのユーザから指示されるものとする。第２指標値は、保証ＩＯＰＳ値を獲得するために消費されるビジー率を表している。
【００１９】
なお、保証ＩＯＰＳ値が大きすぎる場合も生じ得る。例えばビジー率を％で表す場合には第２指標値が１００を超えたり、ビジー率を０乃至１までの値で表す場合には第２指標値が１を超えたりする場合もあり得る。さらに、他のアプリケーションが記憶装置２００を使用できなくなるのは問題であるから、閾値を予め設定しておき、第２指標値がその閾値を超えてしまう場合もある。そのような場合には、ＩＯＰＳの保証不可ということで以下の処理を行わないようにしても良いし、保証ＩＯＰＳ値を下げるように要求するようにしても良い。また、自動的に保証ＩＯＰＳ値を保証できる範囲に下げるようにしてもよい。
【００２０】
ここでは、例えば第１指標値が０．７［％／ＩＯＰＳ］であるものとし、保証ＩＯＰＳ値が１００であるとすると、保証ＩＯＰＳ値を実現するためには、０．７×１００＝７０％のビジー率となることが分かる。すなわち、アプリケーションＡの要求に従ってＩＯＰＳ値を保証するとすると、ビジー率７０％を確保することになる。
【００２１】
そして、処理プログラム１１０は、（１００−第２指標値）／第１指標値により、第３指標値を算出する（ステップＳ７）。ビジー率を％単位で取り扱う場合には（１００−第２指標値）／第１指標値であり、比率として０乃至１の値として取り扱う場合には（１−第２指標値）／第１指標値である。すなわち、ビジー率の上限値と第２指標値との差を第１指標値で除した値を第３指標値として算出する。この演算によって、ＩＯＰＳ値の保証を行わないアプリケーションＢによるパーティションＢに対するアクセスについてのＩＯＰＳ制限値が得られることになる。例えば、上で述べた例では、（１００−７０）／０．７＝４３ＩＯＰＳが、ＩＯＰＳ制限値となる。
【００２２】
図４に示したように、アプリケーションＡがアクセスするパーティションＡについては、１００ＩＯＰＳの性能保証がなされるが、アプリケーションＢがアクセスするパーティションＢについては、余った帯域である４３ＩＯＰＳまでに制限される。
【００２３】
その後、処理プログラム１１０は、第３指標値以下に帯域制限するように、ＩＯＰＳ非保証パーティションのディスクドライバに対して、第３指標値を通知する（ステップＳ９）。上で述べた例では、ＩＯＰＳ非保証パーティションのディスクドライバは、ディスクドライバＢであるから、ディスクドライバＢに対して、４３ＩＯＰＳを通知する。
【００２４】
以上のような処理を処理終了まで又は帯域保証を終了するまで繰り返す（ステップＳ１１）。例えば、所定の周期で上で述べた処理を繰り返すが、必ずしも一定の周期でなければならないわけではない。例えばビジー率が上昇している場合には、保証が難しくなる場合もあるので、周期を短くするようにしても良い。また、任意のタイミングで実行するようにしても良い。
【００２５】
以上のような処理を実施することによって、現在のＩＯ発生状況に応じたビジー率を考慮して、ＩＯ性能保証を実施することができるようになる。
【００２６】
なお、ディスクドライバでは、図５に示すような処理を実施する。上で述べた例では、ディスクドライバＢが図５に示すような処理を実施する。ディスクドライバは、処理プログラム１１０からＩＯＰＳの通知を受信したか判断する（ステップＳ２１）。受信していない場合には、現在の処理状態を維持し、ステップＳ２７に移行する。一方、処理プログラム１１０からＩＯＰＳの通知を受信した場合には、ディスクドライバは、通知されたＩＯＰＳで、自らが使用可能なＩＯＰＳの値を更新する（ステップＳ２３）。上で述べた例では、４３ＩＯＰＳがディスクドライバＢに通知されるので、ディスクドライバＢの使用可能ＩＯＰＳの値を４３ＩＯＰＳに変更する。
【００２７】
そして、ディスクドライバは、使用可能ＩＯＰＳに応じて、ＩＯの制限を実施する（ステップＳ２５）。例えば、毎秒４３のＩＯを処理した後は、ＩＯをブロックすることで最大でもＩＯＰＳが４３になるように制限する。これによって実際のＩＯＰＳ値が制限値以下となるように制御される。以上の処理を処理終了になるまで繰り返す（ステップＳ２７）。
【００２８】
以上のような処理を実施することによって、非ＩＯＰＳ保証側のパーティションについてはＩＯが制限され、ＩＯＰＳ保証側のパーティションについては制限無くＩＯが処理されて、結果として、指定された保証ＩＯＰＳが実現されるようになる。
【００２９】
［実施の形態２］
第１の実施の形態では、記憶装置２００にパーティションが２つあり、ＩＯＰＳを保証すべきアプリケーションＡがパーティションＡをアクセスし、ＩＯＰＳを保証しなくても良いアプリケーションＢがパーティションＢをアクセスする例を説明したが、帯域保証すべきアプリケーションが複数の場合もある。本実施の形態では、複数のアプリケーションについて帯域保証する場合について説明する。
【００３０】
図６に、本実施の形態に係るコンピュータの構成を示す。図６に示すコンピュータ３００は、例えばハードディスク（名前はｈｄａ）である記憶装置４００と接続されており、カーネル内に記憶装置４００内のパーティションＡ（名前はｈｄａ１）のためのディスクドライバＡと、記憶装置４００内のパーティションＢ（名前はｈｄａ２）のためのディスクドライバＢと、記憶装置４００内のパーティションＣ（名前はｈｄａ３）のためのディスクドライバＣとを実行している。また、コンピュータ３００は、アプリケーションＡ乃至Ｃを実行しており、アプリケーションＡが記憶装置４００のパーティションＡにディスクドライバＡを介してアクセスし、アプリケーションＢが記憶装置４００のパーティションＢにディスクドライバＢを介してアクセスし、アプリケーションＣが記憶装置４００のパーティションＣにディスクドライバＣを介してアクセスするものとする。
【００３１】
また、コンピュータ３００は、以下で詳細に述べる帯域制御のための処理を実施するデーモン（daemon）である処理プログラム３１０も実行している。
【００３２】
本実施の形態では、以下で詳細に説明するように、現在のアクセス状況に応じた記憶装置４００のビジー率とＩＯＰＳとから、ＩＯ性能保証するには現状のビジー率からして、どのような態様で帯域制御を行うべきであるかを、処理プログラム３１０で決定して、ディスクドライバに対して指示を行う。本実施の形態では、アプリケーションＡ及びＢについてＩＯ性能保証を行うことを想定する。
【００３３】
次に、図７及び図８を用いて、図６に示した処理プログラム３１０の処理について説明する。処理プログラム３１０は、例えば１分毎など周期的に、カーネルから記憶装置４００のビジー率及びＩＯＰＳ値を取得する（図７：ステップＳ４１）。第１の実施の形態におけるステップＳ１と同様である。
【００３４】
次に、処理プログラム３１０は、ビジー率／ＩＯＰＳ値により、第１指標値を算出する（ステップＳ４３）。第１指標値は、１ＩＯＰＳ獲得するために消費するビジー率を表している。第１の実施の形態におけるステップＳ３と同様である。
【００３５】
そして、処理プログラム３１０は、第１指標値×保証ＩＯＰＳ値により、帯域保証を行うべき各アプリケーションがアクセスするパーティションについての第２指標値を算出する（ステップＳ４５）。保証ＩＯＰＳ値は、例えばアプリケーションＡ及びＢ又はアプリケーションＡ及びＢのユーザから指示されるものとする。第２指標値は、保証ＩＯＰＳ値を獲得するために消費するビジー率を表している。保証ＩＯＰＳ値が大きすぎる場合の対処については第１の実施の形態と同様である。
【００３６】
ここでは、例えば第１指標値が０．７［％／ＩＯＰＳ］であるものとし、アプリケーションＡについての保証ＩＯＰＳ値が６０で、アプリケーションＢについての保証ＩＯＰＳ値が６０であるものとすると、保証ＩＯＰＳ値を実現するためには、０．７×６０＝４２％のビジー率となることが分かる。すなわち、アプリケーションＡの要求に従ってＩＯＰＳ値を保証するとすると、ビジー率４２％の確保することになる。アプリケーションＢについても同様である。
【００３７】
そして、処理プログラム３１０は、（１００−第２指標値の合計）／第１指標値により、第３指標値を算出する（ステップＳ４７）。ビジー率を％単位で取り扱う場合には（１００−第２指標値の合計）／第１指標値であり、比率として０乃至１の値として取り扱う場合には（１−第２指標値の合計）／第１指標値である。すなわち、ビジー率の上限値と第２指標値の合計との差を第１指標値で除した値を第３指標値として算出する。この演算によって、ＩＯＰＳ値の保証を行わないアプリケーションＣによるパーティションＣに対するアクセスについてのＩＯＰＳ制限値が得られることになる。例えば、上で述べた例では、（１００−８２）／０．７＝２３ＩＯＰＳが、ＩＯＰＳ制限値となる。
【００３８】
図８に示したように、アプリケーションＡがアクセスするパーティションＡについては、６０ＩＯＰＳの性能保証がなされており、アプリケーションＢがアクセスするパーティションＢについては、６０ＩＯＰＳの性能保証がなされており、アプリケーションＣがアクセスするパーティションＣについては、余った帯域である２３ＩＯＰＳまでに制限される。
【００３９】
その後、処理プログラム３１０は、保証ＩＯＰＳ値以下に制限するように、ＩＯＰＳ保証パーティションのディスクドライバに保証ＩＯＰＳ値を通知し、第３指標値以下に制限するようにＩＯＰＳ非保証パーティションのディスクドライバに第３指標値を通知する（ステップＳ４９）。上で述べた例では、ＩＯＰＳ保証パーティションのディスクドライバＡには、６０ＩＯＰＳを通知し、ＩＯＰＳ保証パーティションのディスクドライバＢには、６０ＩＯＰＳを通知し、ＩＯＰＳ非保証パーティションのディスクドライバＣには、２３ＩＯＰＳを通知する。
【００４０】
以上のような処理を処理終了まで又は帯域保証を終了するまで繰り返す（ステップＳ５１）。例えば、所定の周期で上で述べた処理を繰り返すが、必ずしも一定の周期でなければならないわけではない。例えばビジー率が下降している場合には、周期を長くするようにしても良い。また、任意のタイミングで実行するようにしても良い。
【００４１】
第１の実施の形態では、ＩＯＰＳ非保証パーティションのディスクドライバにのみ通知を行ったが、このようにＩＯＰＳ保証パーティションにアクセスするアプリケーションが複数存在する場合には、各パーティションに対して上限のＩＯＰＳ値を通知する。このような処理を実施することによって、現在のＩＯ発生状況に応じたビジー率を考慮して、ＩＯ性能保証を実施することができるようになる。
【００４２】
なお、ディスクドライバの処理は、図５に示した処理フローと同様である。
【００４３】
また、ＩＯＰＳ保証パーティションが１つのみであるが、ＩＯＰＳ非保証パーティションが複数存在している場合にも、各パーティションのディスクドライバに通知することになる。その際、ＩＯＰＳ非保証パーティションがどのような値にＩＯＰＳを制限するかについては、様々なバリエーションが考えられるが、例えば、均等にしても良いし、何らかの優先順位付けを行って、傾斜配分してもよい。
【００４４】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、ディスクドライバがアプリケーションを識別できる場合には、複数のアプリケーションでパーティションを共用する場合にも、上で述べたような方式でＩＯＰＳ非保証アプリケーションの制限ＩＯＰＳを算出すれば、帯域保証を行うことができるようになる。
【００４５】
また、複数の記憶装置が存在する場合には、記憶装置毎に処理を行えばよい。
【００４６】
なお、上で述べたコンピュータ１００及び３００は、コンピュータ装置であって、図９に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００４７】
以上述べた本実施の形態をまとめると以下のようになる。
【００４８】
本実施の形態に係る制御方法は、（Ａ）記憶装置のビジー率及びＩＯＰＳ（input output per second）値を取得するステップと、（Ｂ）取得したビジー率を、取得したＩＯＰＳ値で除することにより、第１の指標値を算出するステップと、（Ｃ）第１の指標値に対して記憶装置における第１の記憶領域について指定されたＩＯＰＳ値を乗じることにより、第１の記憶領域について確保すべきビジー率を算出するステップと、（Ｄ）ビジー率の上限値と第１の記憶領域について確保すべきビジー率との差を第１の指標値で除することにより、記憶装置における第２の記憶領域について使用可能なＩＯＰＳ値を算出するステップと、（Ｅ）第２の記憶領域についての実際のＩＯＰＳ値が第２の記憶領域について使用可能なＩＯＰＳ値以下になるように、記憶装置の制御部に指示するステップとを含む。
【００４９】
このようにすれば、ＩＯの発生状況をビジー率で把握した上で、それに適合した形でＩＯ性能保証が可能となる。
【００５０】
また、上記制御方法は、第１の記憶領域が複数の記憶領域を含み、当該複数の記憶領域の各々にアクセスするアプリケーションについてＩＯＰＳ値が指定されている場合、当該複数の記憶領域の各々について、実際のＩＯＰＳ値が、指定されているＩＯＰＳ値以下になるように、記憶装置の制御部に指示するステップをさらに含むようにしても良い。これによって、複数のアプリケーションについて保証すべきＩＯＰＳ値が指定されている場合でも、適切にＩＯ性能保証を行うことができるようになる。
【００５１】
なお、上記制御方法をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００５２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００５３】
（付記１）
コンピュータに、
第１の記憶領域と第２の記憶領域とを備える記憶装置のビジー率及び単位時間当たりのアクセス数のモニタ結果を取得する第１の処理と、
取得した前記モニタ結果に基づいて、ビジー率と単位時間あたりのアクセス数との間の相関特性を算出する第２の処理と、
算出した前記相関特性に基づいて、単位時間あたりの指定された第１のアクセス数に対応するビジー率と、単位時間あたりの第２のアクセス数に対応するビジー率との和が所定のビジー率以下となる、単位時間あたりの第２のアクセス数を求める第３の処理と、
前記第２の記憶領域についての単位時間あたりのアクセス数を、通知されたアクセス数以下に制御する制御部に対して、算出した前記第２のアクセス数を通知する第４の処理と、
を実行させるためのプログラム。
【００５４】
（付記２）
前記単位時間あたりのアクセス数がＩＯＰＳ（Input Output Per Second）値であり、
前記第２の処理において、
取得した前記ビジー率を、取得した前記ＩＯＰＳ値で除することにより、前記相関特性を算出し、
前記第３の処理において、
前記相関特性に対して前記第１の記憶領域にアクセスするアプリケーションについて指定されたＩＯＰＳ値を乗じることにより、前記第１の記憶装置について確保すべきビジー率を算出し、
前記ビジー率の上限値と前記第１の記憶領域について確保すべきビジー率との差を前記相関特性で除することにより、前記第２の記憶領域について使用可能なＩＯＰＳ値を前記第２のアクセス数として算出する
付記１記載のプログラム。
【００５５】
（付記３）
前記第１の記憶領域が複数の記憶領域を含み、当該複数の記憶領域の各々についてアクセスするアプリケーションにＩＯＰＳ値が指定されている場合、当該複数の記憶領域の各々について、実際のＩＯＰＳ値が、指定されている前記ＩＯＰＳ値以下になるように、前記記憶装置の制御部に指示する処理
を、さらに前記コンピュータに実行させるための付記１又は２記載のプログラム。
【００５６】
（付記４）
第１の記憶領域と第２の記憶領域とを備える記憶装置と、
前記記憶装置における前記第２の記憶領域についての単位時間あたりのアクセス数を、通知されたアクセス数以下に制御する制御部と、
処理部とを有し、
前記処理部が、
前記記憶装置のビジー率及び単位時間当たりのアクセス数のモニタ結果を取得し、
取得した前記モニタ結果に基づいて、ビジー率と単位時間あたりのアクセス数との間の相関特性を算出し、
算出した前記相関特性に基づいて、単位時間あたりの指定された第１のアクセス数に対応するビジー率と、単位時間あたりの第２のアクセス数に対応するビジー率との和が所定のビジー率以下となる、単位時間あたりの第２のアクセス数を求め、
前記制御部に対して、算出した前記第２のアクセス数を通知する、
コンピュータ。
【００５７】
（付記５）
コンピュータにより、
第１の記憶領域と第２の記憶領域とを備える記憶装置のビジー率及び単位時間当たりのアクセス数のモニタ結果を取得し、
取得した前記モニタ結果に基づいて、ビジー率と単位時間あたりのアクセス数との間の相関特性を算出し、
算出した前記相関特性に基づいて、単位時間あたりの指定された第１のアクセス数に対応するビジー率と、単位時間あたりの第２のアクセス数に対応するビジー率との和が所定のビジー率以下となる、単位時間あたりの第２のアクセス数を求め、
前記第２の記憶領域についての単位時間あたりのアクセス数を、通知されたアクセス数以下に制御する制御部に対して、算出した前記第２のアクセス数を通知する、
処理が実行される方法。
【符号の説明】
【００５８】
１００，３００  コンピュータ
１１０，３１０  処理プログラム
【図１】
2012221340.tif 000003
【図２】
2012221340.tif 000004
【図３】
2012221340.tif 000005
【図４】
2012221340.tif 000006
【図５】
2012221340.tif 000007
【図６】
2012221340.tif 000008
【図７】
2012221340.tif 000009
【図８】
2012221340.tif 000010
【図９】
2012221340.tif 000011