(57)【要約】【課題】より効率的な再圧縮を実現すること。【解決手段】圧縮によるデータサイズの減少度合いを表す指定された圧縮度ＣSETで圧縮されてから記憶領域ＬＶ＃１、ＬＶ＃２に格納されるデータファイルｆ11、ｆ12、ｆ21について、指定された圧縮度ＣSETの情報と、データファイルのデータサイズから計算された圧縮度Ｃ11、Ｃ12、Ｃ21の情報とを記憶する記憶部１１と、データファイル毎に指定された圧縮度ＣSETと計算された圧縮度Ｃ11、Ｃ12、Ｃ21とを比較し、計算された圧縮度が指定された圧縮度以上であるデータファイルｆ11、ｆ21を抽出して再圧縮の対象とする制御部１２と、を有する、制御装置１０が提供される。【選択図】図１
2015201057.tif 000002
【特許請求の範囲】
【請求項１】
圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、前記指定された圧縮度の情報と、前記データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部と、
前記データファイル毎に前記指定された圧縮度と前記計算された圧縮度とを比較し、前記計算された圧縮度が前記指定された圧縮度以上である前記データファイルを抽出して再圧縮の対象とする制御部と、
を有する、制御装置。
【請求項２】
前記制御部は、前記指定された圧縮度よりも設定した値だけ大きい圧縮度が、設定した最大圧縮度よりも小さい場合には当該圧縮度を前記再圧縮の際に用いる圧縮度に指定し、当該圧縮度が前記最大圧縮度よりも大きい場合には前記最大圧縮度を前記再圧縮の際に用いる圧縮度に指定する
請求項１に記載の制御装置。
【請求項３】
前記記憶部は、前記データファイルへのアクセス頻度に関する情報を記憶し、
前記制御部は、前記計算された圧縮度が前記設定された圧縮度以上であり、かつ、設定された第１の閾値よりも前記アクセス頻度が少ないデータファイルを再圧縮の対象とする
請求項１又は２に記載の制御装置。
【請求項４】
前記記憶領域は、論理ボリュームであり、
前記制御部は、論理ドライブにマウント可能な状態であり、かつ、前記論理ドライブにマウントされていない前記論理ボリューム内のデータファイルを再圧縮の対象とする
請求項１〜３のいずれか１項に記載の制御装置。
【請求項５】
前記制御部は、前記論理ドライブにマウント可能な状態にある前記論理ボリュームを格納するキャッシュ領域の空き容量と、設定した第２の閾値とを比較し、前記キャッシュ領域の空き容量が前記第２の閾値より少ない場合に前記再圧縮の処理を実行させる
請求項４に記載の制御装置。
【請求項６】
前記記憶部は、前記データファイルへのアクセス頻度に関する情報を記憶し、
前記制御部は、前記論理ドライブにマウント可能な状態にある前記論理ボリュームを格納するキャッシュ領域の空き容量と、設定した第３の閾値とを比較し、前記キャッシュ領域の空き容量が前記第３の閾値より多い場合に、前記アクセス頻度が、設定された第４の閾値より多いデータファイルを抽出し、前記指定された圧縮度より小さい圧縮度で、抽出したデータファイルを再圧縮する
請求項４に記載の制御装置。
【請求項７】
前記制御部は、前記データファイルを圧縮することが可能な複数のサーバそれぞれの処理負荷を示す情報を取得し、設定した第３の閾値よりも前記処理負荷が小さい前記サーバに前記再圧縮の処理を実行させる
請求項１〜６のいずれか１項に記載の制御装置。
【請求項８】
圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、前記指定された圧縮度の情報と、前記データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部から、前記指定された圧縮度の情報及び前記計算された圧縮度の情報を取得可能なコンピュータが、
前記データファイル毎に前記指定された圧縮度と前記計算された圧縮度とを比較し、前記計算された圧縮度が前記指定された圧縮度以上である前記データファイルを抽出して再圧縮の対象とする
再圧縮制御方法。
【請求項９】
圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、前記指定された圧縮度の情報と、前記データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部から、前記指定された圧縮度の情報及び前記計算された圧縮度の情報を取得可能なコンピュータに、
前記データファイル毎に前記指定された圧縮度と前記計算された圧縮度とを比較し、前記計算された圧縮度が前記指定された圧縮度以上である前記データファイルを抽出して再圧縮の対象とする
処理を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、再圧縮制御方法、及びプログラムに関する。
【背景技術】
【０００２】
データセンタなどが扱う大量のデータをバックアップする用途では、大容量のテープ媒体を利用したテープライブラリシステムが広く利用されている。テープライブラリシステムは、テープ媒体の管理やテープ媒体に対するデータの読み書きを実行するライブラリ装置が含まれる。ライブラリ装置は、例えば、テープ媒体を収納する複数の収納スロット、テープ媒体のデータを読み書きする物理ドライブ、及び収納スロットから物理ドライブへテープ媒体を搬送するロボットなどを有する。
【０００３】
テープ媒体にデータを書き込む場合、ライブラリ装置は、ロボットを制御してテープ媒体を収納スロットから取り出す。また、ライブラリ装置は、取り出したテープ媒体を物理ドライブにマウントする。そして、ライブラリ装置は、物理ドライブを介してテープ媒体へとデータを書き込む。テープ媒体からデータを読み出す場合も同様に、テープ媒体の取り出しや、物理ドライブへのマウントなどの処理が発生する。このように、ライブラリ装置内ではテープ媒体へのデータアクセス時に機械的動作が介在する。
【０００４】
上記のようにデータアクセス時に機械的動作が介在すると、データの読み書き速度が低くなる。こうした事情に鑑み、ディスクアレイを利用してテープ媒体を仮想化し、データアクセス時の読み書き処理を高速化した仮想ライブラリシステムが提案されている。例えば、ディスクアレイを備えた仮想テープ装置をホストコンピュータとライブラリ装置との間に組み込み、ディスクアレイ上の論理ボリュームに対する読み書きを仮想的にテープ媒体への読み書きとして扱う仮想ライブラリシステムがある。
【０００５】
仮想ライブラリシステムにおいては、ディスクアレイ上に論理ボリュームが構築され、論理ボリュームをマウントするドライブ（論理ドライブ）も論理的に構築される。そのため、論理ボリュームに対するデータの読み書きが発生し、論理ボリュームを論理ドライブへとマウントする際にも機械的動作が介在せず、高速なデータの読み書き処理が実現される。なお、テープ媒体に比べてディスクアレイの方が、データアクセス性能が高いことも高速なデータの読み書きに寄与する。なお、論理ボリュームのデータは、設定された条件を満たした場合やホストコンピュータから要求を受けた場合にディスクアレイからテープ媒体へと退避される。
【０００６】
上記のような高速なデータの読み書きは、ディスクアレイに論理ボリュームが格納されている状況で実現される。論理ボリュームがディスクアレイに格納されていない場合、論理ボリュームをテープ媒体から読み出してディスクアレイへと格納する処理が生じる。この場合、ライブラリ装置内で機械的動作が発生し、データアクセスに長い時間がかかる。そのため、ディスクアレイの記憶容量が許す限り多くの論理ボリュームをディスクアレイに格納しておけば、データアクセスの性能向上が期待できる。
【０００７】
記憶容量が限られた記憶領域に、より多くのデータファイルを格納する方法として、格納するデータを圧縮する方法がある。なお、圧縮技術に関しては、例えば、メモリ内にあるページのうち、相対的に価値の低いページを圧縮する方法が提案されている。また、送信データのデータ量や種類に応じて送信データの圧縮方法を選択するデータ通信方法が提案されている。また、仮想テープ装置に関し、記憶装置に格納されるデータについて圧縮の適用要否を予め設定しておく方法が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００４−１３３９３４号公報
【特許文献２】特開２００５−１９２１５７号公報
【特許文献３】特開２００５−  ９９９７１号公報
【特許文献４】特開平１１−１４３７４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
論理ボリュームに格納されるデータファイルの圧縮率は、ホストコンピュータにより指定される。しかし、圧縮の効果は、データファイルの内容などに依存する。そのため、圧縮率を指定して圧縮処理を実行したとしても、圧縮前後のデータサイズから計算される実際の圧縮率が指定された圧縮率に達しない場合がある。ディスクアレイに格納できる論理ボリュームの数を増やすために、前回圧縮時の圧縮率が示す圧縮強度よりも強い圧縮強度でデータファイルを再圧縮する際、圧縮の効果が見込めないデータファイルにまで再圧縮を施すと無駄に処理負担を増大させることとなる。
【００１０】
そこで、１つの側面によれば、本発明の目的は、より効率的な再圧縮を実現することが可能な、制御装置、再圧縮制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本開示の１つの側面によれば、圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、指定された圧縮度の情報と、データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部と、データファイル毎に指定された圧縮度と計算された圧縮度とを比較し、計算された圧縮度が指定された圧縮度以上であるデータファイルを抽出して再圧縮の対象とする制御部と、を有する、制御装置が提供される。
【００１２】
また、本開示の他の１つの側面によれば、圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、指定された圧縮度の情報と、データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部から、指定された圧縮度の情報及び計算された圧縮度の情報を取得可能なコンピュータが、データファイル毎に指定された圧縮度と計算された圧縮度とを比較し、計算された圧縮度が指定された圧縮度以上であるデータファイルを抽出して再圧縮の対象とする再圧縮制御方法が提供される。
【００１３】
また、本開示の他の１つの側面によれば、圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、指定された圧縮度の情報と、データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部から、指定された圧縮度の情報及び計算された圧縮度の情報を取得可能なコンピュータに、データファイル毎に指定された圧縮度と計算された圧縮度とを比較し、計算された圧縮度が指定された圧縮度以上であるデータファイルを抽出して再圧縮の対象とする処理を実行させる、プログラムが提供される。
【発明の効果】
【００１４】
本発明によれば、より効率的な再圧縮を実現することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態に係るシステムの一例を示した図である。
【図２】第２実施形態に係る仮想ライブラリシステムの一例を示した図である。
【図３】仮想ライブラリシステムにおけるリード処理の流れを示した図である。
【図４】仮想ライブラリシステムにおけるライト処理の流れを示した図である。
【図５】第２実施形態に係るホストコンピュータの機能を実現可能なハードウェアの一例を示した図である。
【図６】第２実施形態に係るロボット制御サーバが有する機能について説明するための図である。
【図７】第２実施形態に係るドライブ制御サーバが有する機能について説明するための図である。
【図８】第２実施形態に係るチャネル制御サーバが有する機能について説明するための図である。
【図９】第２実施形態に係る仮想ライブラリ制御サーバが有する機能について説明するための図である。
【図１０】第２実施形態に係るＬＶ状態情報テーブルの一例を示した図である。
【図１１】第２実施形態に係るＬＶ内ファイル情報テーブルの一例を示した図である。
【図１２】第２実施形態に係るＬＶ内ファイルアクセス統計テーブルの一例を示した図である。
【図１３】第２実施形態に係るＬＶ内ファイル圧縮情報テーブルの一例を示した図である。
【図１４】第２実施形態に係る再圧縮処理ジョブ管理テーブルの一例を示した図である。
【図１５】第２実施形態に係るＩＣＰ負荷情報テーブルの一例を示した図である。
【図１６】第２実施形態に係る再圧縮処理ジョブ管理テーブルの更新（アンマウント条件判定後の更新）について説明するための図である。
【図１７】第２実施形態に係る再圧縮処理ジョブ管理テーブルの更新（再圧縮実行中に基幹処理が生じた場合）について説明するための図である。
【図１８】第２実施形態に係るホストコンピュータへの通知情報の一例を示した図である。
【図１９】第２実施形態に係るＬＶ内ファイルアクセス統計テーブルの更新処理を示したフロー図である。
【図２０】第２実施形態に係るＬＶ内ファイル圧縮情報テーブルの更新処理を示したフロー図である。
【図２１】第２実施形態に係る再圧縮ジョブの作成処理を示したフロー図である。
【図２２】第２実施形態に係る再圧縮処理の流れを示した第１のフロー図である。
【図２３】第２実施形態に係る再圧縮処理の流れを示した第２のフロー図である。
【図２４】第３実施形態に係るＬＶ状態情報テーブルの一例を示した図である。
【図２５】第３実施形態に係るＬＶ内ファイル情報テーブルの一例を示した図である。
【図２６】第３実施形態に係るＬＶ内ファイルアクセス統計テーブルの一例を示した図である。
【図２７】第３実施形態に係るＬＶ内ファイル圧縮情報テーブルの一例を示した図である。
【図２８】第３実施形態に係る再圧縮処理ジョブ管理テーブルの一例を示した図である。
【図２９】第３実施形態に係る優先度情報の一例を示した図である。
【図３０】第３実施形態に係る再圧縮処理ジョブ管理テーブルの更新（アンマウント条件判定後の更新）について説明するための図である。
【図３１】第３実施形態に係る再圧縮処理ジョブ管理テーブルの更新（再圧縮実行中に基幹処理が生じた場合）について説明するための図である。
【図３２】第３実施形態に係るホストコンピュータへの通知情報の一例を示した図である。
【図３３】第３実施形態に係るＬＶ内ファイル圧縮情報テーブルの更新処理を示したフロー図である。
【図３４】第３実施形態に係る再圧縮ジョブの作成処理を示した第１のフロー図である。
【図３５】第３実施形態に係る再圧縮ジョブの作成処理を示した第２のフロー図である。
【図３６】第３実施形態に係る再圧縮処理の流れを示した第１のフロー図である。
【図３７】第３実施形態に係る再圧縮処理の流れを示した第２のフロー図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
【００１７】
＜１．第１実施形態＞
図１を参照しながら、第１実施形態について説明する。なお、図１は、第１実施形態に係るシステムの一例を示した図である。
【００１８】
図１に示すように、第１実施形態に係るシステムは、制御装置１０、サーバ２０、及び記憶装置３０を含む。
なお、ホストコンピュータとライブラリ装置との間に配置される仮想テープ装置は、第１実施形態に係るシステムの一例である。図１の例では１つのサーバ２０を例示しているが、サーバ２０の数は２以上であってもよい。また、記憶装置３０には、データファイルを格納する記憶領域の一例である論理ボリュームＬＶ（Logical Volume）が格納される。
【００１９】
制御装置１０は、記憶部１１及び制御部１２を有する。
なお、記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性記憶装置、或いは、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置である。制御部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。但し、制御部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの電子回路であってもよい。制御部１２は、例えば、記憶部１１又は他のメモリに記憶されたプログラムを実行する。
【００２０】
図１の例では、説明の都合上、２つの論理ボリュームＬＶ＃１、ＬＶ＃２が記憶装置３０に格納されている。また、論理ボリュームＬＶ＃１には、２つのデータファイルｆ11、ｆ12が格納されている。また、論理ボリュームＬＶ＃２には、１つのデータファイルｆ21が格納されている。なお、データファイルｆ11、ｆ12、ｆ21は、圧縮によるデータサイズの減少度合いを表す指定された圧縮度ＣSETで圧縮されてから記憶領域ＬＶ＃１、ＬＶ＃２に格納される。圧縮度ＣSETは、例えば、ホストコンピュータにより予め指定された圧縮度、又は前回の再圧縮時に指定された圧縮度である。
【００２１】
なお、圧縮度の表現に利用できる指標としては、例えば、データ圧縮比、領域節約率、圧縮率などがある。データ圧縮比は、圧縮前のデータサイズを圧縮後のデータサイズで割った値である。領域節約率は、圧縮後のデータサイズを圧縮前のデータサイズで割った値を１から減算した値である。また、本稿で用いる圧縮率は、圧縮後のデータサイズを圧縮後のデータサイズで割った値である。上記の圧縮度は、圧縮後のデータサイズが圧縮前に比べて減少しているほど大きな値となる指標である。従って、上記の圧縮度は、例えば、データ圧縮比、領域節約率、及び圧縮率の逆数などを用いて表現することができる。
【００２２】
記憶部１１は、データファイルｆ11、ｆ12、ｆ21について、指定された圧縮度ＣSETの情報と、データファイルのデータサイズから計算された圧縮度Ｃ11、Ｃ12、Ｃ21の情報とを記憶する。また、制御部１２は、データファイル毎に指定された圧縮度ＣSETと計算された圧縮度Ｃ11、Ｃ12、Ｃ21とを比較する。また、制御部１２は、計算された圧縮度が指定された圧縮度以上であるデータファイルｆ11、ｆ21を抽出して再圧縮の対象とする。
【００２３】
また、制御部１２は、圧縮度を指定してサーバ２０に当該データファイルを再圧縮させる。図１の例では、指定された圧縮度ＣSETが１３％であり、圧縮度Ｃ11、Ｃ12、Ｃ21がそれぞれ１０％、１５％、１２％である。従って、制御部１２は、データファイルｆ11、ｆ21を再圧縮の対象とする。また、制御部１２は、データファイルｆ12を再圧縮の対象としない。また、制御部１２は、データファイルｆ11の再圧縮時に用いる圧縮度を（Ｃ11＋ΔＣ）に設定する。但し、圧縮度（Ｃ11＋ΔＣ）が最大圧縮度ＣMAX以上となる場合、制御部１２は、再圧縮時に用いる圧縮度をＣMAXに設定する。
【００２４】
また、制御部１２は、データファイルｆ21の再圧縮時に用いる圧縮度を（Ｃ21＋ΔＣ）に設定する。但し、圧縮度（Ｃ21＋ΔＣ）が最大圧縮度ＣMAX以上となる場合、制御部１２は、再圧縮時に用いる圧縮度をＣMAXに設定する。但し、ΔＣは、予め設定された値である。例えば、「ΔＣ＝５％」などの値に設定される。
【００２５】
上記のように、計算された圧縮度が指定された圧縮度ＣSETに達しているデータファイルを再圧縮の対象とすることで、効果の見込めない圧縮処理が回避され、再圧縮時の処理効率を向上させることができる。なお、データファイルの圧縮度に応じて、指定された圧縮度ＣSETよりも高い圧縮度でデータファイルが圧縮されることにより、記憶装置３０に格納しておける論理ボリュームＬＶが増える可能性がある。その結果、データアクセス性能の向上が期待できる。
【００２６】
以上、第１実施形態について説明した。
＜２．第２実施形態＞
次に、第２実施形態について説明する。
【００２７】
［２−１．システム］
図２を参照しながら、第２実施形態に係る仮想ライブラリシステムについて説明する。なお、図２は、第２実施形態に係る仮想ライブラリシステムの一例を示した図である。
【００２８】
図２に示すように、第２実施形態に係る仮想ライブラリシステムは、ホストコンピュータ１００、テープライブラリ２００、及び仮想ライブラリ３００を含む。
（ホストコンピュータ１００について）
ホストコンピュータ１００は、チャネル１０１、及び仮想ライブラリ制御プログラム１０２を有する。なお、本稿において仮想ライブラリ制御プログラム１０２は、ＶＴＣＰ（Virtual Tape Control Program）と表記される場合がある。
【００２９】
チャネル１０１は、仮想ライブラリ３００との間のチャネルを構築して論理ボリュームＬＶに対するリード処理やライト処理を実行する。なお、以下の説明において、リード処理及びライト処理を基幹処理と呼ぶ場合がある。仮想ライブラリ制御プログラム１０２は、仮想ライブラリ３００に対して基幹処理の対象となる論理ボリュームＬＶを論理ドライブＬＤ（Logical Drive）にマウントするように要求する。この要求に応じて論理ボリュームＬＶが論理ドライブＬＤにマウントされた後、チャネル１０１により基幹処理が実行される。
【００３０】
（テープライブラリ２００について）
テープライブラリ２００は、物理ドライブ２０１、物理ボリュームＰＶ（Physical Volume）が収納される収納スロット２０２、及びロボット２０３を有する。なお、本稿においてテープライブラリ２００は、ＴＬ（Tape Library）と表記される場合がある。また、物理ドライブ２０１は、ＰＤ（Physical Drive）と表記される場合がある。
【００３１】
物理ドライブ２０１には、物理ボリュームＰＶがマウントされる。また、物理ドライブ２０１は、マウントされた物理ボリュームＰＶのデータを読み出したり、マウントされた物理ボリュームＰＶへデータを書き込んだりする。例えば、物理ドライブ２０１は、マウントされた物理ボリュームＰＶから論理ボリュームＬＶのデータを読み出す。また、物理ドライブ２０１は、マウントされた物理ボリュームＰＶへ論理ボリュームＬＶのデータを書き込む。
【００３２】
物理ボリュームＰＶは、例えば、テープ媒体である。テープ媒体としては、例えば、カートリッジと呼ばれる保護ケース内のリールに磁気テープを巻いたテープカートリッジが利用される。物理ボリュームＰＶは、物理ドライブ２０１にマウントされていない物理ボリュームＰＶは、テープライブラリ２００内の収納スロット２０２に格納されている。マウント対象の物理ボリュームＰＶは、ロボット２０３により収納スロット２０２から取り出され、物理ドライブ２０１にマウントされる。なお、物理ドライブ２０１及びロボット２０３は、テープライブラリ２００内に複数設けられていてもよい。
【００３３】
（仮想ライブラリ３００について）
仮想ライブラリ３００は、ディスクアレイ３０１、ロボット制御サーバ３０２、ドライブ制御サーバ３０３、チャネル制御サーバ３０４、及び仮想ライブラリ制御サーバ３０５を有する。
【００３４】
なお、本稿においてディスクアレイ３０１は、ＴＶＣ（Tape Volume Cache）と表記される場合がある。また、ロボット制御サーバ３０２は、ＰＬＰ（Physical Library Processor）と表記される場合がある。また、ドライブ制御サーバ３０３は、ＩＤＰ（Integrated Device Processor）と表記される場合がある。また、チャネル制御サーバ３０４は、ＩＣＰ（Integrated Channel Processor）と表記される場合がある。また、仮想ライブラリ制御サーバ３０５は、ＶＬＰ（Virtual Library Processor）と表記される場合がある。
【００３５】
ディスクアレイ３０１は、記憶装置の一例である。例えば、ディスクアレイ３０１は、複数の記録媒体を組み合わせたＲＡＩＤ（Redundant Arrays of Inexpensive(or Independent) Disks）装置である。記録媒体としては、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などが利用される。ディスクアレイ３０１は、論理ボリュームＬＶのデータを格納する記憶領域３０１ａを有する。
【００３６】
ロボット制御サーバ３０２は、テープライブラリ２００が有するロボット２０３の動作を制御する。例えば、ロボット制御サーバ３０２は、仮想ライブラリ制御サーバ３０５から受けた指示に応じてロボット２０３の動作を制御し、物理ボリュームＰＶを物理ドライブ２０１にマウントさせる。
【００３７】
ドライブ制御サーバ３０３は、ディスクアレイ３０１の記憶領域３０１ａに格納された論理ボリュームＬＶのデータを物理ボリュームＰＶに格納する（セーブ）。また、ドライブ制御サーバ３０３は、物理ボリュームＰＶに格納された論理ボリュームＬＶのデータをディスクアレイ３０１の記憶領域３０１ａに格納する（リストア）。このとき、ドライブ制御サーバ３０３は、物理ドライブ２０１を介して物理ボリュームＰＶに論理ボリュームＬＶのデータを書き込んだり、物理ボリュームＰＶから論理ボリュームＬＶのデータを読み出したりする。
【００３８】
チャネル制御サーバ３０４は、ホストコンピュータ１００と接続するためのチャネルインターフェースカードを有する。また、チャネル制御サーバ３０４は、物理ドライブ２０１を仮想化した論理ドライブＬＤの機能を含む仮想ドライブの機能を実現する。仮想ライブラリ制御サーバ３０５は、ホストコンピュータ１００と接続され、ホストコンピュータ１００から受けた要求に応じて論理ドライブＬＤに対する論理ボリュームＬＶのマウントやアンマウントを制御する。また、仮想ライブラリ制御サーバ３０５は、論理ボリュームＬＶの管理、物理ボリュームＰＶの管理、及びセーブやリストアの要求などを実行する。
【００３９】
ここで、図３及び図４を参照しながら、論理ボリュームＬＶに対するデータのリード処理及びライト処理について説明する。
（リード処理の流れ）
まず、図３を参照しながら、リード処理について説明する。なお、図３は、仮想ライブラリシステムにおけるリード処理の流れを示した図である。
【００４０】
（Ｓ１１）ホストコンピュータ１００の仮想ライブラリ制御プログラム１０２は、仮想ライブラリ３００の仮想ライブラリ制御サーバ３０５に対し、リード処理の対象となる論理ボリュームＬＶを論理ドライブＬＤへマウントするように要求する。
【００４１】
（Ｓ１２）要求を受けた仮想ライブラリ制御サーバ３０５は、リード処理の対象となる論理ボリュームＬＶがディスクアレイ３０１の記憶領域３０１ａに存在するか否かを確認する。リード処理の対象となる論理ボリュームＬＶが記憶領域３０１ａに存在する場合、仮想ライブラリ制御サーバ３０５は、その論理ボリュームＬＶを論理ドライブＬＤへマウントするようにチャネル制御サーバ３０４に要求する。
【００４２】
リード処理の対象となる論理ボリュームＬＶが記憶領域３０１ａに存在しない場合、仮想ライブラリ制御サーバ３０５は、ロボット制御サーバ３０２、及びドライブ制御サーバ３０３を制御して論理ボリュームＬＶを記憶領域３０１ａにリストアさせる。そして、仮想ライブラリ制御サーバ３０５は、その論理ボリュームＬＶを論理ドライブＬＤへマウントするようにチャネル制御サーバ３０４に要求する。
【００４３】
（Ｓ１３）チャネル制御サーバ３０４は、ディスクアレイ３０１の記憶領域３０１ａから、リード処理の対象となる論理ボリュームＬＶを取得し、取得した論理ボリュームＬＶを未使用状態の論理ドライブＬＤにマウントする。
【００４４】
（Ｓ１４）ホストコンピュータ１００のチャネル１０１は、チャネル制御サーバ３０４を介して、論理ドライブＬＤにマウントされた論理ボリュームＬＶに対するリード処理を実行する。
【００４５】
（Ｓ１５）リード処理が完了すると、チャネル制御サーバ３０４は、リード処理の対象とされた論理ボリュームＬＶを論理ドライブＬＤからアンマウントする。そして、チャネル制御サーバ３０４は、論理ボリュームＬＶをディスクアレイ３０１の記憶領域３０１ａに格納する。Ｓ１５の処理が完了すると、図３に示した一連の処理は終了する。
【００４６】
（ライト処理の流れ）
次に、図４を参照しながら、ライト処理について説明する。なお、図４は、仮想ライブラリシステムにおけるライト処理の流れを示した図である。
【００４７】
（Ｓ２１）ホストコンピュータ１００の仮想ライブラリ制御プログラム１０２は、仮想ライブラリ３００の仮想ライブラリ制御サーバ３０５に対し、ライト処理の対象となる論理ボリュームＬＶを論理ドライブＬＤへマウントするように要求する。
【００４８】
（Ｓ２２）要求を受けた仮想ライブラリ制御サーバ３０５は、ライト処理の対象となる論理ボリュームＬＶがディスクアレイ３０１の記憶領域３０１ａに存在するか否かを確認する。ライト処理の対象となる論理ボリュームＬＶが記憶領域３０１ａに存在する場合、仮想ライブラリ制御サーバ３０５は、その論理ボリュームＬＶを論理ドライブＬＤへマウントするようにチャネル制御サーバ３０４に要求する。
【００４９】
ライト処理の対象となる論理ボリュームＬＶが記憶領域３０１ａに存在しない場合、仮想ライブラリ制御サーバ３０５は、ロボット制御サーバ３０２、及びドライブ制御サーバ３０３を制御して論理ボリュームＬＶを記憶領域３０１ａにリストアさせる。そして、仮想ライブラリ制御サーバ３０５は、その論理ボリュームＬＶを論理ドライブＬＤへマウントするようにチャネル制御サーバ３０４に要求する。
【００５０】
（Ｓ２３）チャネル制御サーバ３０４は、ディスクアレイ３０１の記憶領域３０１ａから、ライト処理の対象となる論理ボリュームＬＶを取得し、取得した論理ボリュームＬＶを未使用状態の論理ドライブＬＤにマウントする。
【００５１】
（Ｓ２４）ホストコンピュータ１００のチャネル１０１は、チャネル制御サーバ３０４を介して、論理ドライブＬＤにマウントされた論理ボリュームＬＶに対するライト処理を実行する。
【００５２】
（Ｓ２５）ライト処理が完了すると、チャネル制御サーバ３０４は、ライト処理の対象とされた論理ボリュームＬＶを論理ドライブＬＤからアンマウントする。そして、チャネル制御サーバ３０４は、ライト処理後の論理ボリュームＬＶをディスクアレイ３０１の記憶領域３０１ａに格納する。このとき、ライト処理によりデータが更新された論理ボリュームＬＶは、ディスクアレイ３０１の記憶領域３０１ａ以外に保存されていない。この状態をＤｉｒｔｙ状態と呼ぶ場合がある。
【００５３】
（Ｓ２６）仮想ライブラリ制御サーバ３０５は、ロボット制御サーバ３０２に対して任意の物理ボリュームＰＶを任意の物理ドライブ２０１へマウントするように要求する。
（Ｓ２７）ロボット制御サーバ３０２は、テープライブラリ２００のロボット２０３を制御して任意の物理ボリュームＰＶを任意の物理ドライブ２０１へマウントさせる。
【００５４】
（Ｓ２８）ロボット２０３は、ロボット制御サーバ３０２による制御を受けて収納スロット２０２から物理ボリュームＰＶを取得し、取得した物理ボリュームＰＶを物理ドライブ２０１へマウントする。
【００５５】
（Ｓ２９）仮想ライブラリ制御サーバ３０５は、ドライブ制御サーバ３０３に対してライト処理後の論理ボリュームＬＶを物理ボリュームＰＶに格納するように要求する。
（Ｓ３０）ドライブ制御サーバ３０３は、ディスクアレイ３０１の記憶領域３０１ａからライト処理後の論理ボリュームＬＶを取得し、物理ドライブ２０１にマウントされた物理ボリュームＰＶへ論理ボリュームＬＶを格納する。Ｓ３０の処理が完了すると、図４に示した一連の処理は終了する。
【００５６】
以上、第２実施形態に係る仮想ライブラリシステムについて説明した。
上記のような仕組みにより、仮想ライブラリ３００は、各種サーバの機能を用いてテープライブラリシステムをエミュレーションする（テープエミュレーション）。テープエミュレーションは、ホストコンピュータ１００に対してディスクアレイ３０１を仮想的な物理ボリュームＰＶの集合体に見せる。
【００５７】
ホストコンピュータ１００からライト処理が実行された場合、論理ボリュームＬＶにデータが保存される。また、論理ボリュームＬＶに保存されたデータは、仮想ライブラリ３００のバックエンドに接続されたテープライブラリ２００内の物理ボリュームＰＶへとバックグラウンドで保存される。このように、仮想ライブラリ３００が扱うデータの保存は二重化されており、データの安全性・信頼性が確保されている。
【００５８】
処理対象となる論理ボリュームＬＶがディスクアレイ３０１に存在している場合、仮想ライブラリ３００内で実行されるリード処理及びライト処理自体には、ロボット２０３による物理ボリュームＰＶの搬送を含む機械的な動作が介在しない。そのため、仮想ライブラリ３００内で実行されるリード処理及びライト処理は、物理ボリュームＰＶへ直接データを書き込んだり、物理ボリュームＰＶから直接データを読み出したりする処理に比べて高速である。
【００５９】
一方、処理対象となる論理ボリュームＬＶがディスクアレイ３０１に存在しない場合には、リード処理及びライト処理の途中でテープライブラリ２００における機械的な動作が介在する。そのため、仮想ライブラリ３００は、ディスクアレイ３０１の記憶容量が許す限り多くの論理ボリュームＬＶをディスクアレイ３０１に保持しようとする。論理ボリュームＬＶに対する新たなデータのライト処理によりディスクアレイ３０１の記憶容量が不足した場合、一部の論理ボリュームＬＶが物理ボリュームＰＶへと退避される。退避の対象となる論理ボリュームＬＶは、例えば、ＬＲＵ（Least Recently Used）アルゴリズムを用いて抽出される。
【００６０】
仮想ライブラリシステムでは上記のように動作するため、ディスクアレイ３０１の記憶容量を効率的に利用して少しでも多くの論理ボリュームＬＶをディスクアレイ３０１に保持できれば、データアクセス性能の向上が期待できる。こうした理由から、論理ボリュームＬＶにデータを格納する際、格納対象のデータに対して圧縮処理が施される。第２実施形態では、論理ボリュームＬＶに格納されたデータの圧縮状態を管理し、圧縮状態を好適に制御してデータアクセス性能を向上させる仕組みを提案する。
【００６１】
［２−２．ハードウェア］
ここで、図５を参照しながら、ホストコンピュータ１００が有する機能を実現可能なハードウェアについて説明する。なお、図５は、第２実施形態に係るホストコンピュータの機能を実現可能なハードウェアの一例を示した図である。
【００６２】
ホストコンピュータ１００が有する機能は、例えば、図５に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、ホストコンピュータ１００が有する機能は、コンピュータプログラムを用いて図５に示すハードウェアを制御することにより実現される。
【００６３】
図５に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ（Read Only Memory）９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０とを有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６とを有する。
【００６４】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
【００６５】
これらの要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
【００６６】
出力部９１８としては、例えば、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、又はＥＬＤ（Electro-Luminescence Display）などのディスプレイ装置が用いられる。また、出力部９１８として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部９１８は、情報を視覚的又は聴覚的に出力することが可能な装置である。
【００６７】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ＨＤＤなどの磁気記憶デバイスが用いられる。また、記憶部９２０として、ＳＳＤ（Solid State Drive）やＲＡＭディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
【００６８】
ドライブ９２２は、着脱可能な記録媒体であるリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
【００６９】
接続ポート９２４は、例えば、ＵＳＢ（Universal Serial Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small Computer System Interface）、ＲＳ−２３２Ｃポート、又は光オーディオ端子など、外部接続機器９３０を接続するためのポートである。外部接続機器９３０としては、例えば、プリンタなどが用いられる。
【００７０】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスである。通信部９２６としては、例えば、有線又は無線ＬＡＮ（Local Area Network）用の通信回路、ＷＵＳＢ（Wireless USB）用の通信回路、光通信用の通信回路やルータ、ＡＤＳＬ（Asymmetric Digital Subscriber Line）用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークであり、例えば、インターネット、ＬＡＮ、放送網、衛星通信回線などを含む。
【００７１】
以上、ホストコンピュータ１００が有する機能を実現可能なハードウェアについて説明した。なお、仮想ライブラリ３００に含まれる各種サーバが有する機能も、図５に例示したハードウェアの一部又は全部を利用して実現することが可能である。従って、仮想ライブラリ３００に含まれる各種サーバのハードウェアについては説明を省略する。
【００７２】
［２−３．各種サーバの機能］
次に、図６〜図１８を参照しながら、仮想ライブラリ３００に含まれる各種サーバの機能について、さらに説明する。
【００７３】
（２−３−１．ロボット制御サーバ（ＰＬＰ））
まず、図６を参照しながら、ロボット制御サーバ３０２の機能について、さらに説明する。なお、図６は、第２実施形態に係るロボット制御サーバが有する機能について説明するための図である。
【００７４】
図６に示すように、ロボット制御サーバ３０２は、ロボット制御部３２１、及びロボットインターフェース３２２を有する。なお、ロボット制御部３２１の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００７５】
ロボット制御部３２１は、テープライブラリ２００のロボット２０３を制御し、収納スロット２０２から物理ボリュームＰＶを取得して物理ドライブ２０１へとマウントさせる。また、ロボット制御部３２１は、テープライブラリ２００のロボット２０３を制御し、物理ドライブ２０１から物理ボリュームＰＶをアンマウントし、物理ボリュームＰＶを収納スロット２０２へ格納する。
【００７６】
ロボットインターフェース３２２は、ロボット制御サーバ３０２とロボット２０３とを接続するためのインターフェースである。ロボット制御部３２１は、ロボットインターフェース３２２を介してロボット２０３を制御する。例えば、ロボット制御部３２１は、仮想ライブラリ制御サーバ３０５から受けた要求に応じて物理ボリュームＰＶのマウントやアンマウントの処理を実行する。また、ロボット制御部３２１は、物理ボリュームＰＶのマウント完了をドライブ制御サーバ３０３へ通知する。
【００７７】
（２−３−２．ドライブ制御サーバ（ＩＤＰ））
次に、図７を参照しながら、ドライブ制御サーバ３０３の機能について、さらに説明する。なお、図７は、第２実施形態に係るドライブ制御サーバが有する機能について説明するための図である。
【００７８】
図７に示すように、ドライブ制御サーバ３０３は、キャッシュインターフェース３３１、ドライブ制御部３３２、及びドライブインターフェース３３３を有する。なお、ドライブ制御部３３２の機能は、上述したＣＰＵ９０２などを用いて実現できる。
【００７９】
キャッシュインターフェース３３１は、ドライブ制御サーバ３０３とディスクアレイ３０１とを接続するためのインターフェースである。ドライブ制御部３３２は、ディスクアレイ３０１の記憶領域３０１ａに格納された論理ボリュームＬＶを取得する場合、キャッシュインターフェース３３１を介して論理ボリュームＬＶを取得する。
【００８０】
ドライブインターフェース３３３は、ドライブ制御サーバ３０３とテープライブラリ２００の物理ドライブ２０１とを接続するためのインターフェースである。ドライブ制御部３３２は、物理ドライブ２０１にマウントされた物理ボリュームＰＶに論理ボリュームＬＶを格納する場合、ドライブインターフェース３３３を介して論理ボリュームＬＶを物理ボリュームＰＶに格納する。
【００８１】
また、ドライブ制御部３３２は、物理ボリュームＰＶに格納された論理ボリュームＬＶを取得し、取得した論理ボリュームＬＶをディスクアレイ３０１の記憶領域３０１ａに格納する。この場合、ドライブ制御部３３２は、ドライブインターフェース３３３を介して物理ドライブ２０１にマウントされた物理ボリュームＰＶから論理ボリュームＬＶを取得する。そして、ドライブ制御部３３２は、キャッシュインターフェース３３１を介して論理ボリュームＬＶをディスクアレイ３０１の記憶領域３０１ａに格納する。
【００８２】
例えば、ドライブ制御部３３２は、仮想ライブラリ制御サーバ３０５から受けた要求に応じてディスクアレイ３０１の記憶領域３０１ａに格納された論理ボリュームＬＶを物理ボリュームＰＶへと格納する。また、ドライブ制御部３３２は、仮想ライブラリ制御サーバ３０５から受けた要求に応じて物理ボリュームＰＶに格納された論理ボリュームＬＶをディスクアレイ３０１の記憶領域３０１ａへと格納する。
【００８３】
（２−３−３．チャネル制御サーバ（ＩＣＰ））
次に、図８を参照しながら、チャネル制御サーバ３０４の機能について、さらに説明する。なお、図８は、第２実施形態に係るチャネル制御サーバが有する機能について説明するための図である。
【００８４】
図８に示すように、チャネル制御サーバ３０４は、チャネルインターフェース３４１、論理ドライブ３４２、キャッシュインターフェース３４３、及びマウントデーモン３４４を有する。また、本稿においてマウントデーモン３４４は、ＭＤ（Mount Daemon）と表記される場合がある。また、マウントデーモン３４４の機能は、上述したＣＰＵ９０２などを用いて実現できる。また、論理ドライブ３４２の機能は、上述したＣＰＵ９０２、ＲＡＭ９０６、及び記憶部９２０などを用いて実現できる。
【００８５】
チャネルインターフェース３４１は、チャネル制御サーバ３０４とホストコンピュータ１００のチャネル１０１とを接続するためのインターフェースである。論理ドライブ３４２は、一又は複数の論理ドライブＬＤの集合を表すブロックである。キャッシュインターフェース３４３は、チャネル制御サーバ３０４とディスクアレイ３０１の記憶領域３０１ａとを接続するためのインターフェースである。
【００８６】
マウントデーモン３４４は、キャッシュインターフェース３４３を介してディスクアレイ３０１の記憶領域３０１ａから処理対象の論理ボリュームＬＶを取得し、論理ドライブ３４２へマウントする。また、マウントデーモン３４４は、論理ドライブ３４２へマウントした論理ボリュームＬＶに対する処理が完了した後、論理ボリュームＬＶを論理ドライブ３４２からアンマウントする。そして、マウントデーモン３４４は、アンマウントした論理ボリュームＬＶをディスクアレイ３０１の記憶領域３０１ａに格納する。
【００８７】
例えば、マウントデーモン３４４は、仮想ライブラリ制御サーバ３０５から受けた要求に応じて、論理ドライブ３４２から未使用状態の論理ドライブＬＤを選択し、選択した論理ドライブＬＤへ論理ボリュームＬＶをマウントする。また、マウントデーモン３４４は、論理ドライブＬＤにマウントした論理ボリュームＬＶへのリード処理又はライト処理が完了したことを検知し、論理ボリュームＬＶを論理ドライブＬＤからアンマウントする。
【００８８】
（２−３−４．仮想ライブラリ制御サーバ（ＶＬＰ））
次に、図９を参照しながら、仮想ライブラリ制御サーバ３０５の機能について、さらに説明する。なお、図９は、第２実施形態に係る仮想ライブラリ制御サーバが有する機能について説明するための図である。
【００８９】
図９に示すように、仮想ライブラリ制御サーバ３０５は、記憶部３５１、仮想ライブラリ制御部３５５、ライブラリ制御部３５２、データベース制御部３５４、及びキャッシュインターフェース３５３を有する。なお、仮想ライブラリ制御部３５５、ライブラリ制御部３５２、及びデータベース制御部３５４の機能は、上述したＣＰＵ９０２などを用いて実現できる。また、記憶部３５１の機能は、上述したＲＡＭ９０６や記憶部９２０などを用いて実現できる。
【００９０】
（記憶部３５１）
記憶部３５１は、物理ボリュームデータベース３５１ａ及び論理ボリュームデータベース３５１ｂを有する。
【００９１】
物理ボリュームデータベース３５１ａには、テープライブラリ２００が管理する物理ボリュームＰＶの情報や、物理ボリュームＰＶ毎に格納されている論理ボリュームＬＶの情報などが格納される。例えば、物理ボリュームデータベース３５１ａには、テープライブラリ２００の識別情報と、物理ボリュームＰＶの識別情報とを対応付けるテーブルが含まれる。また、物理ボリュームデータベース３５１ａには、例えば、物理ボリュームＰＶの識別情報と、論理ボリュームＬＶの識別情報と、論理ボリュームＬＶ毎の格納位置を示すアドレス情報とを対応付けるテーブルが含まれる。
【００９２】
論理ボリュームデータベース３５１ｂには、ＬＶ状態情報テーブル、ＬＶ内ファイル情報テーブル、ＬＶ内ファイルアクセス統計テーブル、ＬＶ内ファイル圧縮情報テーブル、再圧縮処理ジョブ管理テーブルが含まれる。また、記憶部３５１には、ＩＣＰ負荷情報テーブルを含むデータベースが格納される。以下、これらのテーブルについて説明する。
【００９３】
（ＬＶ状態情報テーブル）
まず、図１０を参照しながら、ＬＶ状態情報テーブルについて説明する。なお、図１０は、第２実施形態に係るＬＶ状態情報テーブルの一例を示した図である。
【００９４】
図１０に示すように、ＬＶ状態情報テーブルには、ＬＶ名、ＬＶグループ（Ｇｒｏｕｐ）、サイズ（Ｓｉｚｅ）、最終アクセス時刻、状態、ＬＤ名、及びホスト名の各項目に対応する情報が格納される。さらに、ＬＶ状態情報テーブルには、ＬＶ容量（ＬＶ  Ｓｉｚｅ）や使用率などの情報が格納されてもよい。
【００９５】
ＬＶ名の項目には、論理ボリュームＬＶの名前（識別情報）を示す情報が格納される。ＬＶグループの項目には、論理ボリュームＬＶが属するグループの名前（識別情報）を示す情報が格納される。サイズの項目には、論理ボリュームＬＶのデータサイズを示す情報（例えば、ｂｙｔｅ単位の値）が格納される。最終アクセス時刻の項目には、論理ボリュームＬＶに対してホストコンピュータ１００から最後にアクセスがあった時刻を示す情報が格納される。
【００９６】
状態の項目には、論理ボリュームＬＶの状態を表す情報が格納される。論理ボリュームＬＶの状態には、未使用状態を表す「ｈｏｍｅ」、データが空の状態を表す「ｓｃｒａｔｃｈ」がある。さらに、論理ボリュームＬＶの状態には、ディスクアレイ３０１の記憶領域３０１ａから物理ボリュームＰＶへ退避された状態を表す「ｍｉｇｒａｔｅｄ」、論理ドライブＬＤにマウントされている状態を表す「ｍｏｕｎｔｅｄ」がある。
【００９７】
ＬＤ名の項目には、論理ボリュームＬＶをマウントしている論理ドライブＬＤの名前（識別情報）を示す情報が格納される。ホスト名の項目には、論理ボリュームＬＶを使用しているホストコンピュータ１００の名前（識別情報）を示す情報が格納される。
【００９８】
なお、ＬＶ容量の項目を設けた場合、この項目には、論理ボリュームＬＶの容量を示す情報（例えば、ｂｙｔｅ単位の値）が格納される。また、使用量の項目を設けた場合、この項目には、ＬＶの容量に対する保存済みデータ量の割合を示す情報が格納される。
【００９９】
（ＬＶ内ファイル情報テーブル）
次に、図１１を参照しながら、ＬＶ内ファイル情報テーブルについて説明する。なお、図１１は、第２実施形態に係るＬＶ内ファイル情報テーブルの一例を示した図である。
【０１００】
図１１に示すように、ＬＶ内ファイル情報テーブルには、ＬＶ名、ファイルＩＤ、圧縮前データサイズ（Ｎａｔｉｖｅ  Ｓｉｚｅ）、圧縮後データサイズ（Ｃｏｍｐｒｅｓｓ  Ｓｉｚｅ）、開始ブロックＩＤ、及び圧縮フラグの各項目に対応する情報が格納される。
【０１０１】
ＬＶ名の項目には、論理ボリュームＬＶの名前（識別情報）を示す情報が格納される。ファイルＩＤの項目には、論理ボリュームＬＶ内のデータファイルを識別するＩＤ（IDentifier）が格納される。圧縮前データサイズの項目には、圧縮前のデータサイズを示す情報（例えば、ｂｙｔｅ単位の値）が格納される。圧縮後データサイズの項目には、圧縮後のデータサイズを示す情報（例えば、ｂｙｔｅ単位の値）が格納される。
【０１０２】
開始ブロックＩＤの項目には、データファイルの開始ブロックを示すブロックＩＤが格納される。圧縮フラグの項目には、データファイルが圧縮されているか否かを確認するためのフラグが格納される。例えば、データファイルが圧縮されている場合にはフラグ「１」が格納され、データファイルが圧縮されていない場合にはフラグ「０」が格納される。なお、ここでは「０」及び「１」を用いているが、フラグの表現は任意である。
【０１０３】
（ＬＶ内ファイルアクセス統計テーブル）
次に、図１２を参照しながら、ＬＶ内ファイルアクセス統計テーブルについて説明する。なお、図１２は、第２実施形態に係るＬＶ内ファイルアクセス統計テーブルの一例を示した図である。
【０１０４】
図１２に示すように、ＬＶ内ファイルアクセス統計テーブルには、ＬＶ名、ファイルＩＤ、開始ブロックＩＤ、最終リードアクセス時刻、最終ライトアクセス時刻、リードアクセス数、及びライトアクセス数の各項目に対応する情報が格納される。
【０１０５】
ＬＶ名の項目には、論理ボリュームＬＶの名前（識別情報）を示す情報が格納される。ファイルＩＤの項目には、論理ボリュームＬＶ内のデータファイルを識別するＩＤが格納される。開始ブロックＩＤの項目には、データファイルの開始ブロックを示すブロックＩＤが格納される。
【０１０６】
最終リードアクセス時刻の項目には、データファイルに対してホストコンピュータ１００から最後にリードアクセスがあった時刻を示す情報が格納される。最終ライトアクセス時刻の項目には、データファイルに対してホストコンピュータ１００から最後にライトアクセスがあった時刻を示す情報が格納される。
【０１０７】
リードアクセス数の項目には、データファイルに対して特定期間内にホストコンピュータ１００が行ったリードアクセスの回数を示す情報が格納される。ライトアクセス数の項目には、データファイルに対して特定期間内にホストコンピュータ１００が行ったライトアクセスの回数を示す情報が格納される。特定期間は、例えば、ホストコンピュータ１００が実行するジョブのスケジューリング周期と同じ時間間隔（例えば、１週間など）に設定される。
【０１０８】
（ＬＶ内ファイル圧縮情報テーブル）
次に、図１３を参照しながら、ＬＶ内ファイル圧縮情報テーブルについて説明する。なお、図１３は、第２実施形態に係るＬＶ内ファイル圧縮情報テーブルの一例を示した図である。
【０１０９】
図１３に示すように、ＬＶ内ファイル圧縮情報テーブルには、ＬＶ名、ファイルＩＤ、指定圧縮率、実質圧縮率、及び圧縮有効フラグの各項目に対応する情報が格納される。
ＬＶ名の項目には、論理ボリュームＬＶの名前（識別情報）を示す情報が格納される。ファイルＩＤの項目には、論理ボリュームＬＶ内のデータファイルを識別するＩＤが格納される。指定圧縮率の項目には、データファイルのライト時にホストコンピュータ１００から指定された圧縮率を示す情報が格納される。実質圧縮率の項目には、ディスクアレイ３０１に格納されたデータファイルの実質的な圧縮率を示す情報が格納される。
【０１１０】
実質圧縮率は、例えば、下記の式（１）で表現される。但し、下記の式（１）では、圧縮されないヘッダ部分（例えば、Ｆｉｌｅ  Ｈｅａｄｅｒ１、Ｆｉｌｅ  Ｈｅａｄｅｒ２、Ｅｎｄ  Ｏｆ  Ｆｉｌｅ１、Ｅｎｄ  Ｏｆ  Ｆｉｌｅ２の４つ）のデータサイズが８０ｋｂｙｔｅ×４の場合を想定している。つまり、圧縮対象となるデータ部分の圧縮率が実質圧縮率である。なお、ヘッダ部分のデータサイズや数が異なる場合には「８０×４」の値が変更される。
【０１１１】
（数１）
実質圧縮率＝（圧縮後データサイズ−８０×４）／（圧縮前データサイズ−８０×４）×１００
…（１）
圧縮有効フラグの項目には、データファイルに対する更なる圧縮が有効であるか否かを確認するためのフラグが格納される。例えば、実質圧縮率が指定圧縮率よりも小さい場合、データファイルに対する更なる圧縮が有効であることを示すフラグ「１」が格納される。実質圧縮率が指定圧縮率よりも大きい場合、データファイルに対する更なる圧縮が有効でないことを示すフラグ「０」が設定される。但し、実質圧縮率が予め設定された下限値より小さい場合にはフラグ「０」が設定される。なお、ここでは「０」及び「１」を用いているが、フラグの表現は任意である。
【０１１２】
（再圧縮処理ジョブ管理テーブル）
次に、図１４を参照しながら、再圧縮処理ジョブ管理テーブルについて説明する。なお、図１４は、第２実施形態に係る再圧縮処理ジョブ管理テーブルの一例を示した図である。
【０１１３】
図１４に示すように、再圧縮処理ジョブ管理テーブルには、ジョブＩＤ、ジョブ状態、ＬＶ名、ファイルＩＤ、開始時刻、終了時刻、及び再実行フラグの各項目に対応する情報が格納される。
【０１１４】
ジョブＩＤの項目には、後述する再圧縮処理のジョブを識別するＩＤが格納される。ジョブ状態の項目には、再圧縮処理のジョブに関する論理ボリュームＬＶ毎の実行状態を示す情報が格納される。ジョブの実行状態には、例えば、ジョブの実行中を表す「開始」、ジョブを中断した状態を表す「一時中断」、及びジョブの完了を表す「完了」がある。
【０１１５】
ＬＶ名の項目には、ジョブの対象となる論理ボリュームＬＶの名前（識別情報）を示す情報が格納される。ファイルＩＤの項目には、論理ボリュームＬＶ内のデータファイルを識別するＩＤが格納される。開始時刻の項目には、ジョブの開始時刻を示す情報が格納される。終了時刻の項目には、ジョブの終了時刻を示す情報が格納される。
【０１１６】
再実行フラグの項目には、ジョブの実行が可能な状態になった際に再実行の対象となるジョブであるか否かを確認するためのフラグが格納される。例えば、ジョブの実行再開時に再実行の対象となるデータファイルにはフラグ「１」が設定される。一方、ジョブの実行再開時に再実行の対象とならないデータファイルにはフラグ「０」が設定される。なお、ここでは「０」及び「１」を用いているが、フラグの表現は任意である。
【０１１７】
（ＩＣＰ負荷情報テーブル）
次に、図１５を参照しながら、ＩＣＰ負荷情報テーブルについて説明する。なお、図１５は、第２実施形態に係るＩＣＰ負荷情報テーブルの一例を示した図である。
【０１１８】
図１５に示すように、ＩＣＰ負荷情報テーブルには、ＩＣＰ名、及び使用率の項目に対応する情報が格納される。ＩＣＰ名の項目には、チャネル制御サーバ３０４の名前（識別情報）を示す情報が格納される。使用率の項目には、チャネル制御サーバ３０４の負荷状況（例えば、ＣＰＵ使用率など）を示す情報が格納される。
【０１１９】
（ライブラリ制御部３５２）
再び図９を参照する。ライブラリ制御部３５２は、ドライブ制御サーバ３０３、及びロボット制御サーバ３０２の動作を制御する。例えば、ライブラリ制御部３５２は、物理ボリュームＰＶのマウントやアンマウント、或いは、物理ボリュームＰＶとディスクアレイ３０１との間における論理ボリュームＬＶの移動などを制御する。
【０１２０】
（キャッシュインターフェース３５３）
キャッシュインターフェース３５３は、仮想ライブラリ制御サーバ３０５とディスクアレイ３０１とを接続するためのインターフェースである。例えば、ディスクアレイ３０１の記憶領域３０１ａに格納された論理ボリュームＬＶの状態を後述するデータベース制御部３５４が管理する際などに、データベース制御部３５４がキャッシュインターフェース３５３を介してディスクアレイ３０１へアクセスする。
【０１２１】
（データベース制御部３５４）
データベース制御部３５４は、上述したＬＶ状態情報テーブル（図１０を参照）、ＬＶ内ファイル情報テーブル（図１１を参照）、ＬＶ内ファイルアクセス統計テーブル（図１２を参照）、及びＬＶ内ファイル圧縮情報テーブル（図１３を参照）を管理する。
【０１２２】
例えば、データベース制御部３５４は、新たに論理ボリュームＬＶが生成された場合に、その論理ボリュームＬＶの情報をＬＶ状態情報テーブルに格納する。また、データベース制御部３５４は、論理ボリュームＬＶに対するライトアクセスやリードアクセスが生じた場合、その論理ボリュームＬＶについて最終アクセス時刻の情報を更新する。また、データサイズや状態、或いは、ＬＶの使用率などが変更された場合、データベース制御部３５４は、変更内容をＬＶ状態情報テーブルに反映させる。
【０１２３】
また、データベース制御部３５４は、ＬＶ状態情報テーブルの内容を変更した場合、変更内容をＬＶ内ファイル情報テーブルに反映させる。例えば、新たな論理ボリュームＬＶが生成された場合、データベース制御部３５４は、ＬＶ内ファイル情報テーブルに新たな論理ボリュームＬＶの情報を格納する。また、論理ボリュームＬＶに新たなデータファイルの書き込みがあった場合、データベース制御部３５４は、書き込まれたデータファイルの情報をＬＶ内ファイル圧縮情報テーブルに格納する。また、データベース制御部３５４は、論理ボリュームＬＶのデータファイルが更新された場合、更新内容をＬＶ内ファイル圧縮情報テーブルに反映させる。
【０１２４】
また、データベース制御部３５４は、ＬＶ内ファイル情報テーブルを変更した場合、変更内容をＬＶ内ファイルアクセス統計テーブルに反映させる。例えば、新たな論理ボリュームＬＶが生成された場合、データベース制御部３５４は、ＬＶ内ファイルアクセス統計テーブルに新たな論理ボリュームＬＶの情報を格納する。また、論理ボリュームＬＶに新たなデータファイルの書き込みがあった場合、データベース制御部３５４は、書き込まれたデータファイルの情報をＬＶ内ファイルアクセス統計テーブルに格納する。
【０１２５】
また、データベース制御部３５４は、論理ボリュームＬＶに対するリードアクセスが生じた場合、その論理ボリュームＬＶについて最終リードアクセス時刻の情報を更新する。さらに、データベース制御部３５４は、ＬＶ内ファイルアクセス統計テーブルに格納されているリードアクセス数の情報を更新する。また、データベース制御部３５４は、論理ボリュームＬＶに対するライトアクセスが生じた場合、その論理ボリュームＬＶについて最終ライトアクセス時刻の情報を更新する。さらに、データベース制御部３５４は、ＬＶ内ファイルアクセス統計テーブルに格納されているライトアクセス数の情報を更新する。
【０１２６】
ここで、ＬＶ内ファイルアクセス統計テーブルの更新について、さらに説明する。
上記のように、データベース制御部３５４は、論理ボリュームＬＶのデータファイルに対するリードアクセス及びライトアクセスの数をカウントする。但し、データベース制御部３５４は、設定した期間（以下、特定期間）内に生じたリードアクセス及びライトアクセスの数をカウントする。特定期間は、例えば、ホストコンピュータ１００が実行するジョブのスケジューリング周期（例えば、１週間）に合わせて設定される。また、データベース制御部３５４は、リード処理又はライト処理が終了したタイミングでＬＶ内ファイルアクセス統計テーブルを更新する。
【０１２７】
ＬＶ内ファイルアクセス統計テーブルの更新処理は、例えば、以下の手順で実行される。
データベース制御部３５４は、ＬＶ内ファイル情報テーブルと整合するようにＬＶ内ファイルアクセス統計テーブルの情報を更新する。次いで、データベース制御部３５４は、リード処理又はライト処理の対象となるデータの位置を指定する位置付けコマンドにより指定されたブロックＩＤ及び実行されたコマンドの種類を論理ドライブＬＤから取得する。なお、位置付けコマンドは、リード処理又はライト処理の実行を要求する際にホストコンピュータ１００が発行するコマンドである。
【０１２８】
データベース制御部３５４は、論理ドライブＬＤから取得したコマンドの種類がリードコマンドである場合、論理ドライブＬＤから取得したブロックＩＤとＬＶ内ファイル情報テーブルとを照合し、リードアクセスがあったデータファイルのファイルＩＤを特定する。そして、データベース制御部３５４は、特定したファイルＩＤについてＬＶ内ファイルアクセス統計テーブルの最終リードアクセス時刻及びリードアクセス数を更新する。
【０１２９】
一方、論理ドライブＬＤから取得したコマンドの種類がライトコマンドである場合、データベース制御部３５４は、論理ドライブＬＤから取得したブロックＩＤとＬＶ内ファイル情報テーブルとを照合する。そして、データベース制御部３５４は、ライトアクセスがあったデータファイルのファイルＩＤを特定する。そして、データベース制御部３５４は、特定したファイルＩＤについてＬＶ内ファイルアクセス統計テーブルの最終ライトアクセス時刻及びライトアクセス数を更新する。
【０１３０】
以上のような方法でＬＶ内ファイルアクセス統計テーブルが更新される。
また、データベース制御部３５４は、ライト処理、及び後述する再圧縮処理が終了したタイミングでＬＶ内ファイル圧縮情報テーブルを更新する。データベース制御部３５４は、ＬＶ内ファイル情報テーブルと整合するようにＬＶ内ファイル圧縮情報テーブルの情報を更新する。次いで、データベース制御部３５４は、ライト処理においてホストコンピュータ１００により指定された圧縮率、又は後述する再圧縮処理において指定された圧縮率を論理ドライブＬＤから取得する。そして、データベース制御部３５４は、論理ドライブＬＤから取得した圧縮率でＬＶ内ファイル圧縮情報テーブルに格納されている指定圧縮率の情報を更新する。
【０１３１】
また、データベース制御部３５４は、ＬＶ内ファイル情報テーブルから圧縮前データサイズ及び圧縮後データサイズを取得する。次いで、データベース制御部３５４は、上記の式（１）に基づいて実質圧縮率を計算する。次いで、データベース制御部３５４は、計算した実質圧縮率でＬＶ内ファイル情報テーブルに格納されている実質圧縮率の情報を更新する。また、データベース制御部３５４は、指定圧縮率と実質圧縮率とを比較し、更なる圧縮が有効であるか否かを判定する。
【０１３２】
例えば、指定圧縮率が実質圧縮率よりも大きい場合、データベース制御部３５４は、更なる圧縮が有効と判定する。一方、指定圧縮率が実質圧縮率よりも小さい場合、データベース制御部３５４は、更なる圧縮が有効でないと判定する。更なる圧縮が有効であると判定した場合、データベース制御部３５４は、ＬＶ内ファイル圧縮情報テーブルに圧縮有効フラグ「１」を格納する。一方、更なる圧縮が有効でないと判定した場合、データベース制御部３５４は、ＬＶ内ファイル圧縮情報テーブルに圧縮有効フラグ「０」を格納する。
【０１３３】
但し、設定された最大圧縮率で既に圧縮されているデータファイルに対しては、指定圧縮率が実質圧縮率より小さい場合でも圧縮有効フラグは「０」に設定される。
なお、データベース制御部３５４は、物理ボリュームデータベース３５１ａの管理も行う。また、データベース制御部３５４は、再圧縮処理ジョブ管理テーブルやＩＣＰ負荷情報テーブルへもアクセス可能である。但し、再圧縮処理ジョブ管理テーブルやＩＣＰ負荷情報テーブルの管理は、データベース制御部３５４を介して仮想ライブラリ制御部３５５により行われる。また、物理ボリュームデータベース３５１ａの管理は、データベース制御部３５４を介してライブラリ制御部３５２により行われる。
【０１３４】
（仮想ライブラリ制御部３５５）
仮想ライブラリ制御部３５５は、ＬＶ内ファイル圧縮情報テーブルを参照し、圧縮有効フラグが「１」のデータファイルを対象にチャネル制御サーバ３０４に再圧縮処理を実行させる。再圧縮処理とは、圧縮された状態で論理ボリュームＬＶに格納されているデータファイルを異なる圧縮率（例えば、更に小さい圧縮率）となるように再び圧縮する処理である。また、再圧縮処理は、再圧縮処理の実行単位である再圧縮処理ジョブを作成する段階、及び再圧縮処理を実行する段階を含む。以下、これらの段階について順に説明する。
【０１３５】
（Ａ）再圧縮処理ジョブを作成する段階について
再圧縮処理ジョブを作成する段階について説明する。
仮想ライブラリ制御部３５５は、再圧縮処理ジョブの作成を開始する。例えば、仮想ライブラリ制御部３５５は、設定された期間の最終日になると、設定された開始時刻に再圧縮処理を自動的に開始する。
【０１３６】
設定された期間は、例えば、ＬＶ内ファイルアクセス統計テーブルの更新に関する特定期間と同様に、ホストコンピュータ１００が実行するジョブのスケジューリング周期（例えば、１週間）に合わせて設定される。なお、圧縮処理を担当するチャネル制御サーバ３０４に高い負荷がかかる可能性があるため、再圧縮処理の開始時刻は、仮想ライブラリ３００に対する負荷が低い時間帯（例えば、１：００ＡＭ）に設定されることが好ましい。
【０１３７】
仮想ライブラリ制御部３５５は、ディスクアレイ３０１の使用率を監視し、再圧縮処理を開始するタイミングになると、設定した閾値よりディスクアレイ３０１の使用率が大きいか否かを判定する。設定した閾値よりディスクアレイ３０１の使用率が大きい場合、仮想ライブラリ制御部３５５は、再圧縮処理を先に進める。なお、使用率は、ディスクアレイ３０１の記憶領域３０１ａのうち、使用済みの領域が占める割合を表す。また、使用率の判定に用いる閾値の設定は、ディスクアレイ３０１の容量不足により論理ボリュームＬＶが物理ボリュームＰＶへと退避される前に再圧縮処理が実行されるように、ある程度低い値（例えば、５０％）に設定される。
【０１３８】
仮想ライブラリ制御部３５５は、ＬＶ状態情報テーブルに登録されている論理ボリュームＬＶの１つ１つについて、再圧縮に適した状態であるか否かを判定する。例えば、仮想ライブラリ制御部３５５は、ＬＶ状態情報テーブルに格納された論理ボリュームＬＶの状態を参照し、「scratch，migrated」以外の状態にあるか否かを判定する（以下、状態判定処理と呼ぶ場合がある。）。
【０１３９】
仮想ライブラリ制御部３５５は、「scratch，migrated」以外の状態にある論理ボリュームＬＶを再圧縮に適した状態にあると判定する。また、仮想ライブラリ制御部３５５は、「scratch，migrated」の状態にある論理ボリュームＬＶを再圧縮に適さない状態にあると判定する。scratch状態の論理ボリュームＬＶには圧縮対象のデータファイルが存在しない。また、migrated状態の論理ボリュームＬＶは、圧縮対象のデータがディスクアレイ３０１に格納されていない状態である。そのため、scratch状態の論理ボリュームＬＶ及びmigrated状態の論理ボリュームＬＶは、再圧縮処理の対象から除外される。
【０１４０】
例えば、図１０に示したＬＶ状態情報テーブルについて上記の状態判定処理を実行すると、少なくともＡ、Ｃ、Ｄ、Ｅの論理ボリュームＬＶが再圧縮に適した状態にあると判定される。
【０１４１】
次に、仮想ライブラリ制御部３５５は、状態判定処理により再圧縮に適した状態にあると判定された論理ボリュームＬＶの１つ１つについて、ＬＶ内ファイルアクセス統計テーブルに格納されたデータファイルの情報を参照する。そして、仮想ライブラリ制御部３５５は、情報を参照したデータファイルの１つ１つについて、再圧縮に適したデータファイルであるか否かを判定する。例えば、仮想ライブラリ制御部３５５は、リードアクセス数が、設定された数以下（例えば、０）であるか否かを判定する（以下、アクセス判定処理と呼ぶ場合がある。）。
【０１４２】
仮想ライブラリ制御部３５５は、リードアクセス数が、設定された数以下であるデータファイルを再圧縮に適したデータファイルであると判定する。また、仮想ライブラリ制御部３５５は、リードアクセス数が、設定された数を超過しているデータファイルを再圧縮に適さないデータファイルであると判定する。但し、リードアクセス数が、設定された数以下であるデータファイルであっても、特定期間内のライト処理により生成されたデータファイルである場合、仮想ライブラリ制御部３５５は、再圧縮に適さないデータファイルであると判定する。
【０１４３】
仮想ライブラリ３００は、例えば、ホストコンピュータ１００が利用するデータのバックアップ用途で利用される。バックアップ用途で利用される場合、ホストコンピュータ１００が実行するジョブは、多くの場合、予めスケジューリングされている。また、ジョブの実行タイミングには周期性があることが多い。そのため、特定期間内にホストコンピュータ１００から１度でもリードアクセスがあったデータファイルに対しては、次の特定期間内にもリードアクセスが再び発生すると予想される。
【０１４４】
上記のアクセス判定処理を適用すると、リードアクセスが予想されるデータファイルに対して再圧縮が実行されにくくなる。再圧縮により現状よりも圧縮率が低い状態になるとリードアクセス時に実行されるデータファイルの解凍時間が長くなり、リード性能が低下するリスクを生じるが、上記のアクセス判定処理の適用により、このようなリスクを低減することができる。また、リード性能が低下するリスクと共に、圧縮・解凍の処理を実行するチャネル制御サーバ３０４への負荷が高くなる懸念もあるが、上記のアクセス判定処理の適用により、このような懸念も軽減される。
【０１４５】
例えば、図１２に示したＬＶ内ファイルアクセス統計テーブルについて上記のアクセス判定処理を実行すると、ＬＶ名がＡの論理ボリュームＬＶについてファイルＩＤがＡ０、Ａ２のデータファイルが再圧縮に適したデータファイルと判定される。また、ＬＶ名がＣの論理ボリュームＬＶについてファイルＩＤがＣ０、Ｃ１、Ｃ２のデータファイルが再圧縮に適したデータファイルと判定される。また、ＬＶ名がＤの論理ボリュームＬＶについてファイルＩＤがＤ０、Ｄ１、Ｄ２のデータファイルが再圧縮に適したデータファイルと判定される。また、ＬＶ名がＥの論理ボリュームＬＶについてファイルＩＤがＥ０、Ｅ１、Ｅ２のデータファイルが再圧縮に適したデータファイルと判定される。
【０１４６】
なお、アクセス判定処理では、判定基準として特定期間内のリードアクセス数が採用されている。この特定期間は、ホストコンピュータ１００のジョブ実行周期に関係しており、リードアクセスの特性を見るために十分な長さの期間に設定されている。そのため、特定期間内のリードアクセス数を基準に判定を行うことで、リードアクセスの特性を考慮した判断が可能になる。
【０１４７】
次に、仮想ライブラリ制御部３５５は、ＬＶ内ファイル圧縮情報テーブルを参照し、上記のアクセス判定処理により再圧縮に適していると判定されたデータファイルの１つ１つについて再圧縮の妥当性を判定する（以下、有効条件判定処理と呼ぶ場合がある）。仮想ライブラリ制御部３５５は、対象のデータファイルに対応する圧縮有効フラグが「１」の場合、そのデータファイルを再圧縮が妥当なデータファイルであると判定する。一方、対象のデータファイルに対応する圧縮有効フラグが「０」の場合、仮想ライブラリ制御部３５５は、そのデータファイルを再圧縮が妥当なデータファイルでないと判定する。
【０１４８】
指定された圧縮率の通りに圧縮できたデータファイル（つまり、「指定圧縮率≧実質圧縮率」となっているデータファイル）は、再圧縮により更にデータサイズを小さくできる可能性がある。一方、指定された圧縮率まで圧縮できなかったデータファイル（つまり、「指定圧縮率＜実質圧縮率」となっているデータファイル）は、再圧縮により更にデータサイズが小さくなる可能性は低い。そのため、上記の有効条件判定を適用することで、更なる圧縮の効果が見込めないデータファイルに対する圧縮処理を避けることができ、再圧縮にかかる処理負荷の低減や処理の効率化が実現される。
【０１４９】
例えば、図１３に示したＬＶ内ファイル圧縮情報テーブルについて上記の有効条件判定処理を実行すると、ＬＶ名がＡの論理ボリュームＬＶについてファイルＩＤがＡ０、Ａ２のデータファイルが再圧縮妥当なデータファイルと判定される。また、ＬＶ名がＣの論理ボリュームＬＶについてファイルＩＤがＣ１のデータファイルが再圧縮妥当なデータファイルと判定される。また、ＬＶ名がＤの論理ボリュームＬＶについてファイルＩＤがＤ０、Ｄ２のデータファイルが再圧縮妥当なデータファイルと判定される。また、ＬＶ名がＥの論理ボリュームＬＶについてファイルＩＤがＥ０、Ｅ２のデータファイルが再圧縮妥当なデータファイルと判定される。
【０１５０】
次に、仮想ライブラリ制御部３５５は、再圧縮妥当なデータファイルと判定したデータファイルの情報を再圧縮処理ジョブ管理テーブルに登録する。再圧縮処理ジョブ管理テーブルが記憶部３５１に存在しない場合、仮想ライブラリ制御部３５５は、新規に再圧縮処理ジョブ管理テーブルを生成する。例えば、図１０〜図１３に示したテーブルについて上記の判定処理を実行した場合、再圧縮処理ジョブ管理テーブルは、図１４のようになる。仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルの作成を完了すると、再圧縮処理ジョブを作成する段階の処理を終了する。
【０１５１】
（Ｂ）再圧縮処理を実行する段階について
次に、再圧縮処理を実行する段階について説明する。以下の説明において、図１６〜図１８を参照する。なお、図１６は、第２実施形態に係る再圧縮処理ジョブ管理テーブルの更新（アンマウント条件判定後の更新）について説明するための図である。図１７は、第２実施形態に係る再圧縮処理ジョブ管理テーブルの更新（再圧縮実行中に基幹処理が生じた場合）について説明するための図である。図１８は、第２実施形態に係るホストコンピュータへの通知情報の一例を示した図である。
【０１５２】
再圧縮処理ジョブを作成する段階が終了すると、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルに登録されているジョブの１つ１つについて再圧縮処理の実行を開始する。例えば、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルに登録されているジョブの中で、ジョブ状態が「完了」になっていないジョブ（再実行フラグが「１」ではないジョブ）を抽出する。そして、仮想ライブラリ制御部３５５は、抽出したジョブの１つ１つをチャネル制御サーバ３０４に割り当てる。
【０１５３】
このとき、仮想ライブラリ制御部３５５は、チャネル制御サーバ３０４の負荷状況を考慮してジョブを割り当てる。仮想ライブラリ制御部３５５は、圧縮処理を担当するチャネル制御サーバ３０４の負荷情報（例えば、ＣＰＵ使用率）を取得する。そして、仮想ライブラリ制御部３５５は、取得した負荷情報に基づいてＩＣＰ負荷情報テーブル（図１５を参照）を作成する。
【０１５４】
また、仮想ライブラリ制御部３５５は、ＩＣＰ負荷情報テーブルを参照し、設定した閾値（例えば、５０％）よりも使用率が低い低負荷状態のチャネル制御サーバ３０４を抽出する。低負荷状態のチャネル制御サーバ３０４を抽出できた場合、仮想ライブラリ制御部３５５は、抽出したチャネル制御サーバ３０４にジョブを割り当てる。また、１つのジョブに対して低負荷状態のチャネル制御サーバ３０４を複数抽出できた場合、仮想ライブラリ制御部３５５は、最も使用率が低いチャネル制御サーバ３０４にジョブを割り当てる。
【０１５５】
一方、低負荷状態のチャネル制御サーバ３０４を抽出できなかった場合、仮想ライブラリ制御部３５５は、ＩＣＰ負荷情報テーブルの作成、及び低負荷状態にあるチャネル制御サーバ３０４の抽出を繰り返し実行する。例えば、仮想ライブラリ制御部３５５は、設定した時間間隔（例えば、数秒おき）で低負荷状態にあるチャネル制御サーバ３０４が出現するまで上記の処理を繰り返し実行する。
【０１５６】
再圧縮処理のジョブを高負荷状態にあるチャネル制御サーバ３０４に割り当ててしまうと、そのチャネル制御サーバ３０４の負荷が更に大きくなり、仮想ライブラリ３００の処理全体が遅延するなどの影響が懸念される。例えば、基幹処理に関する処理を実行中のチャネル制御サーバ３０４に再圧縮処理のジョブを割り当ててしまうと、基幹処理の遅延が生じる懸念がある。しかし、ＩＣＰ負荷情報テーブルに基づいて低負荷状態のチャネル制御サーバ３０４に再圧縮処理のジョブを割り当てることで、こうした懸念が軽減される。
【０１５７】
図１５に示したＩＣＰ負荷情報テーブルが得られた場合、例えば、ＩＣＰ名がＩＣＰ３のチャネル制御サーバ３０４にジョブが割り当てられる。
次に、仮想ライブラリ制御部３５５は、ＬＶ状態情報テーブルを参照し、再圧縮処理ジョブ管理テーブルに登録されているジョブに対応する論理ボリュームＬＶの状態を確認する。そして、仮想ライブラリ制御部３５５は、ジョブの対象となる論理ボリュームＬＶが論理ドライブＬＤへマウント可能な状態（home状態）にあるか否かを判定する（以下、アンマウント条件判定処理と呼ぶ場合がある。）。
【０１５８】
対象の論理ボリュームＬＶが論理ドライブＬＤへマウント可能な状態にある場合、仮想ライブラリ制御部３５５は、ＩＣＰ負荷情報テーブルから抽出された低負荷状態のチャネル制御サーバ３０４に対し、その論理ボリュームＬＶをマウントするように要求する。一方、対象の論理ボリュームＬＶが論理ドライブＬＤへマウント可能な状態にない場合、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルのジョブ状態を「一時中断」に設定し、再実行フラグに「１」を設定する。
【０１５９】
論理ボリュームＬＶの状態がmounted状態にある場合、この論理ボリュームＬＶは基幹処理で使用されている。基幹処理は、仮想ライブラリ３００において実行される処理のうち、優先度が最も高い処理である。上記のアンマウント条件判定処理を実行することにより、基幹処理が優先的に実行され、再圧縮処理は、基幹処理が完了した後で実行される。
【０１６０】
例えば、図１０〜図１４に示したテーブルについて上記の判定処理を実行した場合、再圧縮処理ジョブ管理テーブルは、図１６のようになる。この場合、ＬＶ名がＤの論理ボリュームＬＶはmounted状態にあるため、仮想ライブラリ制御部３５５は、その論理ボリュームＬＶに対応するジョブＪＯＢ２の状態を「一時中断」にし、データファイルＤ０、Ｄ２の再実行フラグを「１」に設定する。ジョブＪＯＢ２については、ジョブ状態及び再実行フラグに基づいて仮想ライブラリ制御部３５５により後で実行される。
【０１６１】
次に、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルに登録されているジョブの１つ１つについて、チャネル制御サーバ３０４に再圧縮処理を実行させる。このとき、仮想ライブラリ制御部３５５は、ＬＶ内ファイル圧縮情報テーブルに記載の指定圧縮率より所定値（例えば、１０％）だけ小さい圧縮率を指定してチャネル制御サーバ３０４に再圧縮処理を実行させる。
【０１６２】
但し、ＬＶ内ファイル圧縮情報テーブルに記載の指定圧縮率より所定値（例えば、１０％）だけ小さい圧縮率が、設定された最小圧縮率（例えば、１０％）より小さい場合には最小圧縮率が指定される。最小圧縮率は、例えば、ディスクアレイ３０１に格納する論理ボリュームＬＶ内のデータファイルに対して一律に設定される圧縮率である。
【０１６３】
上記のように、第２実施形態に係る再圧縮処理においては、所定値ずつ圧縮率が低減される。その理由は、いきなりデータファイルを最小圧縮率に圧縮してしまうと、スケジューリングされていない予期せぬリードアクセスがあった場合にデータファイルの解凍時間が長期化し、アクセス性能の低下を引き起こすからである。また、対象のデータファイルに適した指定圧縮率を見極めるという観点からも上記の再圧縮処理は好適である。
【０１６４】
再圧縮処理が完了すると、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブル及びＬＶ内ファイル圧縮情報テーブルを更新する。例えば、仮想ライブラリ制御部３５５は、完了したジョブのジョブ状態を「完了」に設定し、ジョブの実行が終了した時刻を終了時刻の項目に登録する。また、仮想ライブラリ制御部３５５は、再圧縮時に指定した圧縮率でＬＶ内ファイル圧縮情報テーブル内の指定圧縮率を更新する。さらに、仮想ライブラリ制御部３５５は、実質圧縮率を再度計算してＬＶ内ファイル圧縮情報テーブル内の実質圧縮率を更新する。
【０１６５】
ここで、再圧縮処理を実行中の論理ボリュームＬＶに対して基幹処理が実行された場合について考える。この場合、仮想ライブラリ制御部３５５は、再圧縮処理を実行中のデータファイルに対する再圧縮処理を最後まで実行させる。また、仮想ライブラリ制御部３５５は、再圧縮処理を実行予定のデータファイルが同じ論理ボリュームＬＶ内にあっても、再圧縮処理を実行させずに基幹処理を優先的に実行させる。
【０１６６】
例えば、図１４に示した再圧縮処理ジョブ管理テーブルに登録されているジョブＪＯＢ３のデータファイルＥ０に対する再圧縮処理の途中に、ＬＶ名がＥの論理ボリュームＬＶに対して基幹処理が実行された場合について考える。この場合、仮想ライブラリ制御部３５５は、データファイルＥ０の再圧縮処理を最後まで実行させ、データファイルＥ２の再圧縮処理は一時的に中断させる。そして、仮想ライブラリ制御部３５５は、図１７に示すように、ジョブＪＯＢ３のジョブ状態を「一時中断」にし、データファイルＥ２の再実行フラグを「１」に設定した上で、基幹処理の実行を優先させる。
【０１６７】
ジョブ状態が「一時中断」のジョブについては、後で再実行される。
ここで、ジョブの再実行について説明する。
仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブル内のジョブ状態を参照し、再圧縮処理について再実行の対象となるジョブを探索する。ジョブ状態が「一時中断」になっているジョブがない場合、仮想ライブラリ制御部３５５は、再実行の対象となるジョブがないと判定する。一方、ジョブ状態が「一時中断」になっているジョブがある場合、仮想ライブラリ制御部３５５は、再実行フラグが「１」のデータファイルに対する再圧縮処理を実行させる。
【０１６８】
図１７に例示した再圧縮処理ジョブ管理テーブルの場合、ＬＶ名がＤの論理ボリュームＬＶに含まれるデータファイルＤ０、Ｄ２が再実行の対象となる。さらに、ＬＶ名がＥの論理ボリュームＬＶに含まれるデータファイルＥ２が再実行の対象となる。仮想ライブラリ制御部３５５は、これら再実行の対象となるデータファイルＤ０、Ｄ２、Ｅ２に対する再圧縮処理を低負荷状態にあるチャネル制御サーバ３０４に実行させる。
【０１６９】
仮想ライブラリ制御部３５５は、再び再圧縮処理ジョブ管理テーブル内のジョブ状態を参照し、ジョブ状態が「一時中断」になっているジョブがない場合、ホストコンピュータ１００に対して再圧縮処理を実行した論理ボリュームＬＶの情報を通知する。例えば、仮想ライブラリ制御部３５５は、図１８に示すように、再圧縮処理を実行した論理ボリュームＬＶのＬＶ名、再圧縮処理を実行したデータファイルのファイルＩＤ、及び再圧縮の際に指定した指定圧縮率をホストコンピュータ１００に通知する。このとき、仮想ライブラリ制御部３５５は、ＬＶ内ファイル圧縮情報テーブルから通知情報を取得する。
【０１７０】
ホストコンピュータ１００への通知が完了すると、仮想ライブラリ制御部３５５は、再圧縮処理を終了する。
以上、仮想ライブラリ３００に含まれる各種サーバの機能について説明した。
【０１７１】
［２−４．処理の流れ］
次に、図１９〜図２３を参照しながら、ＬＶ内ファイルアクセス統計テーブルの更新、ＬＶ内ファイル圧縮情報テーブルの更新、再圧縮処理ジョブの作成、再圧縮処理の実行に係る処理の流れについて順に説明する。
【０１７２】
（２−４−１．ＬＶ内ファイルアクセス統計テーブルの更新）
図１９を参照しながら、ＬＶ内ファイルアクセス統計テーブルの更新に係る処理の流れについて説明する。なお、図１９は、第２実施形態に係るＬＶ内ファイルアクセス統計テーブルの更新処理を示したフロー図である。
【０１７３】
（Ｓ１０１）データベース制御部３５４は、ＬＶ内ファイル情報テーブルの内容と整合するようにＬＶ内ファイルアクセス統計テーブルの情報を更新する。
（Ｓ１０２）データベース制御部３５４は、リード処理又はライト処理の実行対象となるデータファイルのブロックＩＤ、及び実行された処理の種類を示す情報を論理ドライブＬＤから取得する。
【０１７４】
（Ｓ１０３）データベース制御部３５４は、実行された処理の種類がリード処理であるか否かを判定する。実行された処理の種類がリード処理である場合、処理はＳ１０４へと進む。一方、実行された処理の種類がリード処理でない場合（ライト処理である場合）、処理はＳ１０６へと進む。
【０１７５】
（Ｓ１０４）データベース制御部３５４は、ＬＶ内ファイル情報テーブルを参照し、リード処理が実行されたデータファイルのファイルＩＤを特定する。
（Ｓ１０５）データベース制御部３５４は、ＬＶ内ファイルアクセス統計テーブルに格納されている情報のうち、特定したファイルＩＤに関する最終リードアクセス時刻、及びリードアクセス数を更新する。Ｓ１０５の処理が完了すると、図１９に示した一連の処理は終了する。
【０１７６】
（Ｓ１０６）データベース制御部３５４は、ＬＶ内ファイルアクセス統計テーブルに格納されている情報のうち、特定したファイルＩＤに関する最終ライトアクセス時刻、及びライトアクセス数を更新する。Ｓ１０６の処理が完了すると、図１９に示した一連の処理は終了する。
【０１７７】
（２−４−２．ＬＶ内ファイル圧縮情報テーブルの更新）
次に、図２０を参照しながら、ＬＶ内ファイル圧縮情報テーブルの更新に係る処理の流れについて説明する。なお、図２０は、第２実施形態に係るＬＶ内ファイル圧縮情報テーブルの更新処理を示したフロー図である。
【０１７８】
（Ｓ１１１）データベース制御部３５４は、ＬＶ内ファイル情報テーブルの内容と整合するようにＬＶ内ファイル圧縮情報テーブルの情報を更新する。
（Ｓ１１２）データベース制御部３５４は、ライト処理時に用いた指定圧縮率を論理ドライブＬＤから取得し、取得した指定圧縮率でＬＶ内ファイル圧縮情報テーブルに含まれる指定圧縮率の情報を更新する。
【０１７９】
（Ｓ１１３）データベース制御部３５４は、ＬＶ内ファイル情報テーブルを参照し、圧縮前データサイズと圧縮後データサイズとを用いて実質圧縮率を計算する。そして、データベース制御部３５４は、計算した実質圧縮率でＬＶ内ファイル圧縮情報テーブルに含まれる実質圧縮率の情報を更新する。
【０１８０】
（Ｓ１１４）データベース制御部３５４は、指定圧縮率が実質圧縮率より大きいか否かを判定する。指定圧縮率が実質圧縮率より大きい場合、処理はＳ１１５へと進む。一方、指定圧縮率が実質圧縮率より大きくない場合、処理はＳ１１７へと進む。
【０１８１】
（Ｓ１１５）データベース制御部３５４は、実質圧縮率が下限値（最小圧縮率）に達していないかを判定する。実質圧縮率が下限値に達している場合、処理はＳ１１７へと進む。一方、実質圧縮率が下限値に達していない場合、処理はＳ１１６へと進む。
【０１８２】
（Ｓ１１６）データベース制御部３５４は、ＬＶ内ファイル圧縮情報テーブルに含まれる情報のうち、対象のデータファイルに対応する圧縮有効フラグを「１」に設定する。Ｓ１１６の処理が完了すると、図２０に示した一連の処理は終了する。
【０１８３】
（Ｓ１１７）データベース制御部３５４は、ＬＶ内ファイル圧縮情報テーブルに含まれる情報のうち、対象のデータファイルに対応する圧縮有効フラグを「０」に設定する。Ｓ１１７の処理が完了すると、図２０に示した一連の処理は終了する。
【０１８４】
（２−４−３．再圧縮処理ジョブの作成）
図２１を参照しながら、再圧縮処理ジョブの作成に係る処理の流れについて説明する。なお、図２１は、第２実施形態に係る再圧縮ジョブの作成処理を示したフロー図である。
【０１８５】
（Ｓ１２１）仮想ライブラリ制御部３５５は、ディスクアレイ３０１の使用率が、設定された閾値ＴｈＶより大きいか否かを判定する。ディスクアレイ３０１の使用率が閾値ＴｈＶより大きい場合、処理はＳ１２２へと進む。一方、ディスクアレイ３０１の使用率が閾値ＴｈＶより大きくない場合、図２１に示した一連の処理は終了する。
【０１８６】
（Ｓ１２２、Ｓ１３０）Ｓ１２２は、ＬＶ内ファイル情報テーブルに登録されている論理ボリュームＬＶの全てを対象に、１つ１つの論理ボリュームＬＶについてＳ１２２とＳ１３０との間にある処理を実行する処理ループの始点である。また、Ｓ１３０は、当該処理ループの終点である。
【０１８７】
（Ｓ１２３）仮想ライブラリ制御部３５５は、対象の論理ボリュームＬＶが「scratch，migrated」以外の状態であるか否かを判定する。対象の論理ボリュームＬＶが「scratch，migrated」以外の状態である場合、処理はＳ１２４へと進む。一方、対象の論理ボリュームＬＶが「scratch，migrated」以外の状態でない場合、処理はＳ１３０へと進む。
【０１８８】
（Ｓ１２４、Ｓ１２９）Ｓ１２４は、対象の論理ボリュームＬＶに関してＬＶ内ファイル情報テーブルに登録されているデータファイルの全てを対象に、１つ１つのデータファイルについてＳ１２４とＳ１２９との間にある処理を実行する処理ループの始点である。また、Ｓ１２９は、当該処理ループの終点である。
【０１８９】
（Ｓ１２５）仮想ライブラリ制御部３５５は、対象のデータファイルについてリードアクセス回数が、設定された閾値ＴｈＲより小さいか否かを判定する。リードアクセス回数が、設定された閾値ＴｈＲより小さい場合、処理はＳ１２６へと進む。一方、リードアクセス回数が、設定された閾値ＴｈＲより小さくない場合、処理はＳ１２９へと進む。
【０１９０】
（Ｓ１２６）仮想ライブラリ制御部３５５は、対象のデータファイルが特定期間内に作成されたデータファイルであるか否かを判定する。対象のデータファイルが特定期間内に作成されたデータファイルである場合、処理はＳ１２９へと進む。一方、対象のデータファイルが特定期間内に作成されたデータファイルでない場合、処理はＳ１２７へと進む。
【０１９１】
（Ｓ１２７）仮想ライブラリ制御部３５５は、対象のデータファイルに対応する圧縮有効フラグが「１」であるか否かを判定する。対象のデータファイルに対応する圧縮有効フラグが「１」である場合、処理はＳ１２８へと進む。一方、対象のデータファイルに対応する圧縮有効フラグが「１」でない場合（圧縮有効フラグが「０」の場合）、処理はＳ１２９へと進む。
【０１９２】
（Ｓ１２８）仮想ライブラリ制御部３５５は、対象のデータファイルを再圧縮処理ジョブ管理テーブルに登録する。Ｓ１２８の処理が完了すると、処理はＳ１２９へと進み、処理ループにより、異なるデータファイルについてＳ１２４以降の処理が繰り返し実行される。また、Ｓ１３０へと処理が到達した場合も、処理ループにより、異なる論理ボリュームＬＶについてＳ１２２以降の処理が繰り返し実行される。
【０１９３】
（２−４−４．再圧縮処理の実行）
図２２及び図２３を参照しながら、再圧縮処理の実行に係る処理の流れについて説明する。なお、図２２は、第２実施形態に係る再圧縮処理の流れを示した第１のフロー図である。図２３は、第２実施形態に係る再圧縮処理の流れを示した第２のフロー図である。
【０１９４】
（Ｓ１３１、Ｓ１３９）Ｓ１３１は、再圧縮処理ジョブ管理テーブルに登録されているジョブの全てを対象に、１つ１つのジョブについてＳ１３１とＳ１３９との間にある処理を実行する処理ループの始点である。また、Ｓ１３９は、当該処理ループの終点である。
【０１９５】
（Ｓ１３２）仮想ライブラリ制御部３５５は、チャネル制御サーバ３０４の負荷情報を取得し、取得した負荷情報に基づいてＩＣＰ負荷情報テーブルを作成する。
（Ｓ１３３）仮想ライブラリ制御部３５５は、ＩＣＰ負荷情報テーブルを参照し、低負荷状態のチャネル制御サーバ３０４が存在するか否かを判定する。低負荷状態のチャネル制御サーバ３０４が存在する場合、処理はＳ１３４へと進む。一方、低負荷状態のチャネル制御サーバ３０４が存在しない場合、処理はＳ１３２へと進む。
【０１９６】
（Ｓ１３４）仮想ライブラリ制御部３５５は、ジョブの対象となる論理ボリュームＬＶがアンマウント状態（home状態）であるか否かを判定する。ジョブの対象となる論理ボリュームＬＶがアンマウント状態（home状態）である場合、処理はＳ１３５へと進む。一方、ジョブの対象となる論理ボリュームＬＶがアンマウント状態（home状態）でない場合、処理はＳ１３８へと進む。
【０１９７】
（Ｓ１３５）仮想ライブラリ制御部３５５は、低負荷状態のチャネル制御サーバ３０４上にある論理ドライブＬＤにジョブの対象となる論理ボリュームＬＶをマウントさせる。
（Ｓ１３６）仮想ライブラリ制御部３５５は、ＬＶ内ファイル圧縮情報テーブルを参照し、現在の指定圧縮率より所定値ΔＣ（例えば、１０％）だけ低い圧縮率を指定してチャネル制御サーバ３０４に再圧縮を実行させる。
【０１９８】
（Ｓ１３７）仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブル、及びＬＶ内ファイル圧縮情報テーブルを更新する。例えば、仮想ライブラリ制御部３５５は、対象ジョブのジョブ状態や終了時刻などの情報を更新する。また、仮想ライブラリ制御部３５５は、再圧縮の実行時に指定した圧縮率で指定圧縮率の値を更新する。Ｓ１３７の処理が完了すると、処理は、図２３のＳ１４０へと進む。
【０１９９】
（Ｓ１３８）仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルを更新する。このとき、仮想ライブラリ制御部３５５は、対象ジョブの再実行フラグを「１」に設定する。また、仮想ライブラリ制御部３５５は、対象ジョブのジョブ状態を「一時停止」に設定する。Ｓ１３８の処理が完了すると、処理はＳ１３９へと進み、処理ループにより、異なるジョブについてＳ１３１以降の処理が繰り返し実行される。
【０２００】
（Ｓ１４０）仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルを参照し、ジョブ状態が「一時停止」のジョブが存在するか否かを判定する。ジョブ状態が「一時停止」のジョブが存在する場合、処理はＳ１３１へと進む。一方、ジョブ状態が「一時停止」のジョブが存在しない場合、処理はＳ１４１へと進む。
【０２０１】
（Ｓ１４１）仮想ライブラリ制御部３５５は、再圧縮処理を実行した論理ボリュームＬＶ及び再圧縮時の指定圧縮率に関する情報をホストコンピュータ１００に通知する。Ｓ１４１の処理が完了すると、図２２及び図２３に示した一連の処理は終了する。
【０２０２】
以上、第２実施形態について説明した。
＜３．第３実施形態＞
次に、第３実施形態について説明する。
【０２０３】
第２実施形態に係る再圧縮の処理を実行することにより、リードアクセスの頻度が少ないデータファイルは圧縮率が徐々に小さくなる。リードアクセスの特性に変化がない場合、圧縮率を徐々に下げる再圧縮により、アクセス性能の低下に配慮しつつ、ディスクスペースを有効活用することが可能になる。
【０２０４】
但し、圧縮がかなり進んだ段階でリードアクセスの特性が突如変化し、リードアクセスの頻度が高くなる状況も考えられる。高圧縮のデータファイルに対してリードアクセスが頻発すると、リードアクセスの度に実行される圧縮解凍処理に長い時間がかかり、アクセス性能の低下を招く恐れがある。そこで、第３実施形態では、設定されたリードアクセスの回数より多くのリードアクセスがあったデータファイルに対し、現状の圧縮率よりも大きな圧縮率となるようにデータファイルを再圧縮する方法を提案する。
【０２０５】
以下、圧縮率を大きくする再圧縮の方法を「圧縮緩和」と呼ぶ場合がある。なお、第３実施形態に係る仮想ライブラリシステムと図２に示した第２実施形態に係る仮想ライブラリシステムとの主な違いは、仮想ライブラリ制御サーバ３０５の機能にある。そこで、以下では、第３実施形態に係る仮想ライブラリ制御サーバ３０５の機能、ＬＶ内ファイル圧縮情報テーブルの更新、再圧縮処理ジョブの作成、再圧縮処理の実行に係る処理の流れについて順次説明する。
【０２０６】
［３−１．仮想ライブラリ制御サーバ（ＶＬＰ）の機能］
第３実施形態に係る仮想ライブラリ制御サーバ３０５の機能は、第２実施形態に係る仮想ライブラリ制御サーバ３０５と同様に図９のブロック図で示される。但し、記憶部３５１に格納される情報、データベース制御部３５４及び仮想ライブラリ制御部３５５の機能については第２実施形態と異なる点がある。以下、これら異なる点を中心に説明する。
【０２０７】
（記憶部３５１）
まず、記憶部３５１について説明する。
記憶部３５１に格納される論理ボリュームデータベース３５１ｂには、ＬＶ状態情報テーブル、ＬＶ内ファイル情報テーブル、ＬＶ内ファイルアクセス統計テーブル、ＬＶ内ファイル圧縮情報テーブル（圧縮緩和）、再圧縮処理ジョブ管理テーブル（圧縮緩和）が含まれる。また、記憶部３５１には、ＩＣＰ負荷情報テーブルを含むデータベース、及び優先度情報が格納される。以下、図２４〜図２９を参照しながら、これらのテーブル及び情報について説明する。
【０２０８】
（ＬＶ状態情報テーブル）
図２４は、第３実施形態に係るＬＶ状態情報テーブルの一例を示した図である。図２４に示すように、第３実施形態に係るＬＶ状態情報テーブルは、図１０に例示したＬＶ状態情報テーブルと同じ構造を有する。但し、図２４では、第３実施形態に係る圧縮緩和の説明を容易にするために項目名を並べ替えて表記している。
【０２０９】
図２４に示すように、ＬＶ状態情報テーブルには、ＬＶ名、ＬＶ容量（ＬＶ  Ｓｉｚｅ）、サイズ（Ｓｉｚｅ）、使用率、最終アクセス時刻、状態、ＬＤ名、及びホスト名の各項目に対応する情報が格納される。また、ＬＶ状態情報テーブルには、図１０と同様にＬＶグループ（Ｇｒｏｕｐ）などの情報が格納されてもよい。
【０２１０】
（ＬＶ内ファイル情報テーブル、ＬＶ内ファイルアクセス統計テーブル）
図２５は、第３実施形態に係るＬＶ内ファイル情報テーブルの一例を示した図である。図２６は、第３実施形態に係るＬＶ内ファイルアクセス統計テーブルの一例を示した図である。図２５に示すように、第３実施形態に係るＬＶ内ファイル情報テーブルは、図１１に例示したＬＶ内ファイル情報テーブルと同じ構造を有する。また、図２６に示すように、第３実施形態に係るＬＶ内ファイルアクセス統計テーブルは、図１２に例示したＬＶ内ファイルアクセス統計テーブルと同じ構造を有する。
【０２１１】
（ＬＶ内ファイル圧縮情報テーブル（圧縮緩和））
図２７は、第３実施形態に係るＬＶ内ファイル圧縮情報テーブルの一例を示した図である。図２７に示すように、第３実施形態に係るＬＶ内ファイル圧縮情報テーブルには、ＬＶ名、ファイルＩＤ、指定圧縮率、実質圧縮率、及び圧縮緩和有効フラグの各項目に対応する情報が格納される。図１３に例示したＬＶ内ファイル圧縮情報テーブルとの違いは、図２７に例示したＬＶ内ファイル圧縮情報テーブルが圧縮緩和有効フラグの項目を含む点にある。
【０２１２】
図１３に例示したＬＶ内ファイル圧縮情報テーブルは、圧縮率を小さくする再圧縮の有効性を判定する際に参照する圧縮有効フラグを含んでいた。一方、図２７に例示したＬＶ内ファイル圧縮情報テーブルは、圧縮率を大きくする再圧縮（圧縮緩和）の有効性を判定する際に参照する圧縮緩和有効フラグを含んでいる。以下、第３実施形態に係るＬＶ内ファイル圧縮情報テーブルをＬＶ内ファイル圧縮情報テーブル（圧縮緩和）と表記する場合がある。
【０２１３】
（再圧縮処理ジョブ管理テーブル（圧縮緩和）、ＩＣＰ負荷情報テーブル）
図２８は、第３実施形態に係る再圧縮処理ジョブ管理テーブルの一例を示した図である。図２８に示すように、第３実施形態に係る再圧縮処理ジョブ管理テーブルは、図１４に例示した再圧縮処理ジョブ管理テーブルと同じ構造を有する。但し、第３実施形態に係る再圧縮処理ジョブ管理テーブルは、圧縮緩和に係る再圧縮処理のジョブを管理するテーブルである。以下、第３実施形態に係る再圧縮処理ジョブ管理テーブルを再圧縮処理ジョブ管理テーブル（圧縮緩和）と表記する場合がある。なお、第３実施形態に係るＩＣＰ負荷情報テーブルは、図１５に例示したＩＣＰ負荷情報テーブルと同じ構造を有する。
【０２１４】
（優先度情報）
図２９は、第３実施形態に係る優先度情報の一例を示した図である。図２９に例示した優先度情報は、データファイル毎に設定される優先度の設定条件を示す情報である。
【０２１５】
図２９に例示した設定条件に従うと、優先度「１」は、圧縮前のファイルサイズが１ＭＢ未満、かつ、リードアクセスが５回以上のデータファイルに設定される。優先度「２」は、圧縮前のファイルサイズが１ＭＢ以上、５０ＭＢ未満、かつ、リードアクセスが５回以上のデータファイルに設定される。
【０２１６】
また、優先度「３」は、圧縮前のファイルサイズが１ＭＢ未満、かつ、リードアクセスが３回以上のデータファイルに設定される。優先度「４」は、圧縮前のファイルサイズが１ＭＢ以上、５０ＭＢ未満、かつ、リードアクセスが３回以上のデータファイルに設定される。また、優先度「５」は、圧縮前のファイルサイズが５０ＭＢ以上、かつ、リードアクセスが５回以上のデータファイルに設定される。優先度「６」は、圧縮前のファイルサイズが５０ＭＢ以上、かつ、リードアクセスが３回以上のデータファイルに設定される。
【０２１７】
このように、第３実施形態では、圧縮前のファイルサイズ、及びリードアクセスの回数に応じた優先度の設定方法を示す優先度情報が記憶部３５１に格納されている。なお、これらの優先度は、再圧縮処理ジョブ管理テーブルをソートする際に用いられる。
【０２１８】
（データベース制御部３５４）
次に、データベース制御部３５４について説明する。
第３実施形態に係るデータベース制御部３５４は、ＬＶ内ファイル圧縮情報テーブルに含まれる圧縮緩和有効フラグ（図２７を参照）を設定する機能をさらに有する。
【０２１９】
データベース制御部３５４は、圧縮緩和有効フラグの設定対象となるデータファイルについて、そのデータファイルの非圧縮時におけるファイルサイズが設定したサイズ（例えば、１００ＭＢ）以下であるか否かを判定する。非圧縮時におけるファイルサイズが設定したサイズ超過である場合、データベース制御部３５４は、圧縮緩和有効フラグを「０」に設定する。
【０２２０】
一方、非圧縮時におけるファイルサイズが設定したサイズ以下である場合、データベース制御部３５４は、データファイルの実質圧縮率が０％であるか否かを判定する。実質圧縮率が０％である場合、データベース制御部３５４は、圧縮緩和有効フラグを「０」に設定する。逆に、実質圧縮率が０％でない場合、データベース制御部３５４は、圧縮緩和有効フラグを「１」に設定する。
【０２２１】
また、データベース制御部３５４は、圧縮緩和有効フラグの設定をＬＶ内ファイル圧縮情報テーブルに反映させる。このように、第３実施形態に係るデータベース制御部３５４は、非圧縮時におけるデータファイルのファイルサイズ及び実質圧縮率に基づいて圧縮緩和有効フラグを設定する。
【０２２２】
（仮想ライブラリ制御部３５５）
次に、仮想ライブラリ制御部３５５について説明する。
仮想ライブラリ制御部３５５は、ＬＶ内ファイル圧縮情報テーブルを参照し、圧縮緩和有効フラグが「１」のデータファイルを対象にチャネル制御サーバ３０４に再圧縮処理を実行させる。再圧縮処理は、再圧縮処理の実行単位である再圧縮処理ジョブを作成する段階、及び再圧縮処理を実行する段階を含む。以下、圧縮緩和に係る再圧縮処理に関し、これらの段階について順に説明する。
【０２２３】
（Ａ）再圧縮処理ジョブを作成する段階について
再圧縮処理ジョブを作成する段階について説明する。
仮想ライブラリ制御部３５５は、再圧縮処理ジョブの作成を開始する。例えば、仮想ライブラリ制御部３５５は、設定された期間の最終日になると、設定された開始時刻に再圧縮処理を自動的に開始する。設定された期間は、例えば、ホストコンピュータ１００が実行するジョブのスケジューリング周期（例えば、１週間）に合わせて設定される。また、再圧縮処理の開始時刻は、仮想ライブラリ３００に対する負荷が低い時間帯（例えば、１：００ＡＭ）に設定されることが好ましい。
【０２２４】
また、仮想ライブラリ制御部３５５は、ディスクアレイ３０１の使用率を監視し、再圧縮処理を開始するタイミングになると、設定した閾値よりディスクアレイ３０１の使用率が大きいか否かを判定する。設定した閾値よりディスクアレイ３０１の使用率が大きい場合、仮想ライブラリ制御部３５５は、再圧縮処理を先に進める。
【０２２５】
なお、使用率は、ディスクアレイ３０１の記憶領域３０１ａのうち、使用済みの領域が占める割合を表す。また、使用率の判定に用いる閾値の設定は、圧縮緩和が原因でディスクアレイ３０１の容量不足に陥ることがないように、空き容量に余裕がある状況で行われるよう、ある程度低い値（例えば、６０％）に設定される。
【０２２６】
仮想ライブラリ制御部３５５は、ＬＶ状態情報テーブルに登録されている論理ボリュームＬＶの１つ１つについて、再圧縮に適した状態であるか否かを判定する。例えば、仮想ライブラリ制御部３５５は、ＬＶ状態情報テーブルに格納された論理ボリュームＬＶの状態を参照し、「scratch，migrated」以外の状態にあるか否かを判定する（状態判定処理）。
【０２２７】
仮想ライブラリ制御部３５５は、「scratch，migrated」以外の状態にある論理ボリュームＬＶを再圧縮に適した状態にあると判定する。また、仮想ライブラリ制御部３５５は、「scratch，migrated」の状態にある論理ボリュームＬＶを再圧縮に適さない状態にあると判定する。例えば、図２４に示したＬＶ状態情報テーブルについて上記の状態判定処理を実行すると、少なくともＡ、Ｃ、Ｄ、Ｅの論理ボリュームＬＶが再圧縮に適した状態にあると判定される。
【０２２８】
次に、仮想ライブラリ制御部３５５は、状態判定処理により再圧縮に適した状態にあると判定された論理ボリュームＬＶの１つ１つについて、論理ボリュームＬＶの使用率が設定した閾値（例えば、６０％）以下であるか否かを判定する。例えば、使用率が高い論理ボリュームＬＶに対して圧縮緩和を行うと、論理ボリュームＬＶの容量が圧迫され、その論理ボリュームＬＶへのライトアクセスが急に制限される可能性がある。そのため、使用率が設定した閾値を超える論理ボリュームＬＶは再圧縮に適さないと判定される。
【０２２９】
例えば、図２４に示したＬＶ状態情報テーブルを参照すると、状態判定処理により再圧縮に適した状態にあると判定された論理ボリュームＬＶのうち、少なくともＡ、Ｃ、Ｄ、Ｅが再圧縮に適した状態であると判定される。
【０２３０】
次に、仮想ライブラリ制御部３５５は、上記の使用率の判定を経て再圧縮に適した状態にあると判定された論理ボリュームＬＶについて、ＬＶ内ファイル情報テーブルの情報を参照する。そして、仮想ライブラリ制御部３５５は、情報を参照したデータファイルの１つ１つについて、リードアクセス数が、設定された数以上（例えば、３回）であるか否かを判定する（アクセス判定処理）。
【０２３１】
リードアクセス数が、設定された数以上であるデータファイルは、圧縮緩和に係る再圧縮に適したデータファイルであると判定される。一方、リードアクセス数が、設定された数未満であるデータファイルは圧縮緩和に係る再圧縮に適さないデータファイルであると判定される。
【０２３２】
圧縮緩和によりリードアクセス時の圧縮解凍時間が短縮されるため、リードアクセスが頻繁にあるデータファイルほど圧縮緩和による効果が顕著になる。そのため、上記のように、リードアクセスの頻度が高いデータファイルは圧縮緩和に係る再圧縮に適したデータファイルと判定される。
【０２３３】
但し、リードアクセス数が、設定された数を超過しているデータファイルであっても、特定期間内のライト処理により生成されたデータファイルである場合、仮想ライブラリ制御部３５５は、再圧縮に適さないデータファイルであると判定する。
【０２３４】
例えば、図２６に示したＬＶ内ファイルアクセス統計テーブルについて上記のアクセス判定処理を実行すると、ＬＶ名がＡの論理ボリュームＬＶについてファイルＩＤがＡ１、Ａ２のデータファイルが再圧縮に適したデータファイルと判定される。また、ＬＶ名がＣの論理ボリュームＬＶについてファイルＩＤがＣ１のデータファイルが再圧縮に適したデータファイルと判定される。
【０２３５】
また、ＬＶ名がＤの論理ボリュームＬＶについてファイルＩＤがＤ１、Ｄ２、Ｄ３のデータファイルが再圧縮に適したデータファイルと判定される。また、ＬＶ名がＥの論理ボリュームＬＶについてファイルＩＤがＥ１のデータファイルが再圧縮に適したデータファイルと判定される。
【０２３６】
次に、仮想ライブラリ制御部３５５は、ＬＶ内ファイル圧縮情報テーブルを参照し、上記のアクセス判定処理により再圧縮に適していると判定されたデータファイルの１つ１つについて再圧縮の妥当性を判定する（有効条件判定処理）。
【０２３７】
仮想ライブラリ制御部３５５は、対象のデータファイルに対応する圧縮緩和有効フラグが「１」の場合、そのデータファイルを再圧縮が妥当なデータファイルであると判定する。一方、対象のデータファイルに対応する圧縮緩和有効フラグが「０」の場合、仮想ライブラリ制御部３５５は、そのデータファイルを再圧縮が妥当なデータファイルでないと判定する。
【０２３８】
非圧縮時のデータサイズが大きすぎるデータファイルに対して圧縮緩和を行うと、そのデータファイルを格納している論理ボリュームＬＶの容量を急激に圧迫する可能性がある。また、非圧縮状態（圧縮率が０％）にあるデータファイルについては、圧縮率を現状より下げることができない。そのため、圧縮緩和有効フラグが「０」のデータファイルは、再圧縮に適さないデータファイルと判定される。
【０２３９】
例えば、図２７に示したＬＶ内ファイル圧縮情報テーブルについて上記の有効条件判定処理を実行すると、ＬＶ名がＡの論理ボリュームＬＶについてファイルＩＤがＡ１、Ａ２のデータファイルが圧縮緩和について再圧縮妥当なデータファイルと判定される。また、ＬＶ名がＣの論理ボリュームＬＶについてファイルＩＤがＣ１のデータファイルが圧縮緩和について再圧縮妥当なデータファイルと判定される。
【０２４０】
また、ＬＶ名がＤの論理ボリュームＬＶについてファイルＩＤがＤ１、Ｄ２、Ｄ３のデータファイルが圧縮緩和について再圧縮妥当なデータファイルと判定される。また、ＬＶ名がＥの論理ボリュームＬＶについてファイルＩＤがＥ１のデータファイルが圧縮緩和について再圧縮妥当なデータファイルと判定される。
【０２４１】
次に、仮想ライブラリ制御部３５５は、圧縮緩和について再圧縮妥当なデータファイルと判定したデータファイルの情報を圧縮緩和に係る再圧縮処理のジョブを管理する再圧縮処理ジョブ管理テーブル（圧縮緩和）に登録する。再圧縮処理ジョブ管理テーブル（圧縮緩和）が記憶部３５１に存在しない場合、仮想ライブラリ制御部３５５は、新規に再圧縮処理ジョブ管理テーブル（圧縮緩和）を生成する。
【０２４２】
例えば、図２４〜図２７に示したテーブルについて上記の判定処理を実行した場合、再圧縮処理ジョブ管理テーブル（圧縮緩和）は、図２８のようになる。仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブル（圧縮緩和）の作成を完了すると、再圧縮処理ジョブを作成する段階の処理を終了する。
【０２４３】
（Ｂ）再圧縮処理を実行する段階について
次に、再圧縮処理を実行する段階について説明する。以下の説明において、図３０〜図３２を参照する。なお、図３０は、第３実施形態に係る再圧縮処理ジョブ管理テーブルの更新（アンマウント条件判定後の更新）について説明するための図である。図３１は、第３実施形態に係る再圧縮処理ジョブ管理テーブルの更新（再圧縮実行中に基幹処理が生じた場合）について説明するための図である。図３２は、第３実施形態に係るホストコンピュータへの通知情報の一例を示した図である。
【０２４４】
上述した再圧縮処理ジョブを作成する段階が終了すると、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブル（圧縮緩和）に登録されているジョブの１つ１つについて圧縮緩和に係る再圧縮処理の実行を開始する。
【０２４５】
例えば、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブル（圧縮緩和）に登録されているジョブの中で、ジョブ状態が「完了」になっていないジョブ（再実行フラグが「１」ではないジョブ）を抽出する。そして、仮想ライブラリ制御部３５５は、抽出したジョブの１つ１つをチャネル制御サーバ３０４に割り当てる。
【０２４６】
このとき、仮想ライブラリ制御部３５５は、チャネル制御サーバ３０４の負荷状況を考慮してジョブを割り当てる。仮想ライブラリ制御部３５５は、圧縮処理を担当するチャネル制御サーバ３０４の負荷情報（例えば、ＣＰＵ使用率）を取得し、取得した負荷情報に基づいてＩＣＰ負荷情報テーブル（図１５を参照）を作成する。
【０２４７】
また、仮想ライブラリ制御部３５５は、ＩＣＰ負荷情報テーブルを参照し、設定した閾値（例えば、５０％）よりも使用率が低い低負荷状態のチャネル制御サーバ３０４を抽出する。次に、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルに登録されているジョブの対象となる論理ボリュームＬＶが論理ドライブＬＤへマウント可能な状態（home状態）にあるか否かを判定する（アンマウント条件判定処理）。
【０２４８】
対象の論理ボリュームＬＶが論理ドライブＬＤへマウント可能な状態にある場合、仮想ライブラリ制御部３５５は、低負荷状態のチャネル制御サーバ３０４に対し、その論理ボリュームＬＶをマウントするように要求する。一方、対象の論理ボリュームＬＶが論理ドライブＬＤへマウント可能な状態にない場合、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルのジョブ状態を「一時中断」に設定し、再実行フラグに「１」を設定する。
【０２４９】
例えば、図２４〜図２７に示したテーブルについて上記の判定処理を実行した場合、再圧縮処理ジョブ管理テーブルは、図３０のようになる。この場合、ＬＶ名がＣの論理ボリュームＬＶはmounted状態にある。そのため、仮想ライブラリ制御部３５５は、その論理ボリュームＬＶに対応するジョブＪＯＢ１の状態を「一時中断」にし、データファイルＣ１の再実行フラグを「１」に設定する。
【０２５０】
次に、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブルに登録されているジョブの１つ１つについて、チャネル制御サーバ３０４に再圧縮処理を実行させる。このとき、仮想ライブラリ制御部３５５は、ＬＶ内ファイル圧縮情報テーブル（圧縮緩和）に記載の指定圧縮率より所定値（例えば、１０％）だけ大きい圧縮率を指定してチャネル制御サーバ３０４に圧縮緩和に係る再圧縮処理を実行させる。
【０２５１】
再圧縮処理が完了すると、仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブル（圧縮緩和）及びＬＶ内ファイル圧縮情報テーブルを更新する。
上記のように、第３実施形態に係る再圧縮処理においては、所定値ずつ圧縮率が増加する。その理由は、いきなりデータファイルを非圧縮の状態にしてしまうと、リードアクセスの頻度が突如増加した場合にアクセス性能の低下を引き起こす恐れがあるからである。また、対象のデータファイルに適した指定圧縮率を見極めるという観点からも上記のように徐々に圧縮率を増加させる再圧縮処理は好適である。
【０２５２】
ここで、再圧縮処理を実行中の論理ボリュームＬＶに対して基幹処理が実行された場合について考える。この場合、仮想ライブラリ制御部３５５は、再圧縮処理を実行中のデータファイルに対する再圧縮処理を最後まで実行させる。また、仮想ライブラリ制御部３５５は、再圧縮処理を実行予定のデータファイルが同じ論理ボリュームＬＶ内にあっても、再圧縮処理を実行させずに基幹処理を優先的に実行させる。
【０２５３】
例えば、図３０に示した再圧縮処理ジョブ管理テーブル（圧縮緩和）に登録されているジョブＪＯＢ２のデータファイルＤ１に対する再圧縮処理の途中に、ＬＶ名がＤの論理ボリュームＬＶに対して基幹処理が実行された場合について考える。
【０２５４】
この場合、仮想ライブラリ制御部３５５は、データファイルＤ１の再圧縮処理を最後まで実行させ、データファイルＤ２、Ｄ３の再圧縮処理は一時的に中断させる。そして、仮想ライブラリ制御部３５５は、図３１に示すように、ジョブＪＯＢ２のジョブ状態を「一時中断」にし、データファイルＤ２、Ｄ３の再実行フラグを「１」に設定した上で、基幹処理の実行を優先させる。
【０２５５】
ジョブ状態が「一時中断」のジョブについては、後で再実行される。ジョブ状態が「一時中断」になっているジョブがない場合、仮想ライブラリ制御部３５５は、ホストコンピュータ１００に対して再圧縮処理を実行した論理ボリュームＬＶの情報を通知する。
【０２５６】
例えば、仮想ライブラリ制御部３５５は、図３２に示すように、再圧縮処理を実行した論理ボリュームＬＶのＬＶ名、再圧縮処理を実行したデータファイルのファイルＩＤ、及び再圧縮の際に指定した指定圧縮率をホストコンピュータ１００に通知する。ホストコンピュータ１００への通知が完了すると、仮想ライブラリ制御部３５５は、圧縮緩和に係る再圧縮処理を終了する。
【０２５７】
以上、第３実施形態に係る仮想ライブラリ制御部３５５の機能について説明した。
［３−２．処理の流れ］
次に、図３３〜図３７を参照しながら、ＬＶ内ファイル圧縮情報テーブル（圧縮緩和）の更新、圧縮緩和に係る再圧縮処理ジョブの作成、圧縮緩和に係る再圧縮処理の実行に係る処理の流れについて順に説明する。
【０２５８】
（３−２−１．ＬＶ内ファイル圧縮情報テーブルの更新）
図３３を参照しながら、ＬＶ内ファイル圧縮情報テーブル（圧縮緩和）の更新に係る処理の流れについて説明する。なお、図３３は、第３実施形態に係るＬＶ内ファイル圧縮情報テーブルの更新処理を示したフロー図である。
【０２５９】
（Ｓ２０１）データベース制御部３５４は、ＬＶ内ファイル情報テーブルの内容と整合するようにＬＶ内ファイル圧縮情報テーブル（圧縮緩和）の情報を更新する。
（Ｓ２０２）データベース制御部３５４は、ライト処理時に用いた指定圧縮率を論理ドライブＬＤから取得し、取得した指定圧縮率でＬＶ内ファイル圧縮情報テーブル（圧縮緩和）に含まれる指定圧縮率の情報を更新する。
【０２６０】
（Ｓ２０３）データベース制御部３５４は、ＬＶ内ファイル情報テーブルを参照し、圧縮前データサイズと圧縮後データサイズとを用いて実質圧縮率を計算する。そして、データベース制御部３５４は、計算した実質圧縮率でＬＶ内ファイル圧縮情報テーブル（圧縮緩和）に含まれる実質圧縮率の情報を更新する。
【０２６１】
（Ｓ２０４）データベース制御部３５４は、ＬＶ内ファイル情報テーブルを参照し、非圧縮時におけるデータファイルのファイルサイズが設定したサイズ（例えば、１００ＭＢ）以下であるか否かを判定する。非圧縮時のファイルサイズが設定したサイズ以下である場合、処理はＳ２０５へと進む。一方、非圧縮時のファイルサイズが設定したサイズ超過である場合、処理はＳ２０７へと進む。
【０２６２】
（Ｓ２０５）データベース制御部３５４は、実質圧縮率が０％であるか否かを判定する。実質圧縮率が０％である場合、処理はＳ２０７へと進む。一方、実質圧縮率が０％でない場合、処理はＳ２０６へと進む。
【０２６３】
（Ｓ２０６）データベース制御部３５４は、ＬＶ内ファイル圧縮情報テーブル（圧縮緩和）に含まれる情報のうち、対象のデータファイルに対応する圧縮緩和有効フラグを「１」に設定する。Ｓ２０６の処理が完了すると、図３３に示した一連の処理は終了する。
【０２６４】
（Ｓ２０７）データベース制御部３５４は、ＬＶ内ファイル圧縮情報テーブル（圧縮緩和）に含まれる情報のうち、対象のデータファイルに対応する圧縮緩和有効フラグを「０」に設定する。Ｓ２０７の処理が完了すると、図３３に示した一連の処理は終了する。
【０２６５】
（３−２−２．再圧縮処理ジョブの作成）
図３４及び図３５を参照しながら、圧縮緩和に係る再圧縮処理ジョブの作成に係る処理の流れについて説明する。なお、図３４は、第３実施形態に係る再圧縮ジョブの作成処理を示した第１のフロー図である。また、図３５は、第３実施形態に係る再圧縮ジョブの作成処理を示した第２のフロー図である。
【０２６６】
（Ｓ２１１）仮想ライブラリ制御部３５５は、ディスクアレイ３０１の使用率が、設定された閾値ＴｈＶ２（例えば、６０％）以下であるか否かを判定する。ディスクアレイ３０１の使用率が閾値ＴｈＶ２以下である場合、処理はＳ２１２へと進む。一方、ディスクアレイ３０１の使用率が閾値ＴｈＶ２超過である場合、図３４及び図３５に示した一連の処理は終了する。
【０２６７】
（Ｓ２１２、Ｓ２２１）Ｓ２１２は、ＬＶ内ファイル情報テーブルに登録されている論理ボリュームＬＶの全てを対象に、１つ１つの論理ボリュームＬＶについてＳ２１２と図３５のＳ２２１との間にある処理を実行する処理ループの始点である。また、Ｓ２２１は、当該処理ループの終点である。
【０２６８】
（Ｓ２１３）仮想ライブラリ制御部３５５は、対象の論理ボリュームＬＶが「scratch，migrated」以外の状態であるか否かを判定する。対象の論理ボリュームＬＶが「scratch，migrated」以外の状態である場合、処理はＳ２１４へと進む。一方、対象の論理ボリュームＬＶが「scratch，migrated」以外の状態でない場合、処理は図３５のＳ２２１へと進む。
【０２６９】
（Ｓ２１４）仮想ライブラリ制御部３５５は、Ｓ２１２で対象とされた論理ボリュームＬＶの使用率が、設定された閾値ＴｈＶ３（例えば、６０％）以下であるか否かを判定する。論理ボリュームＬＶの使用率が閾値ＴｈＶ３以下である場合、処理はＳ２１５へと進む。一方、論理ボリュームＬＶの使用率が閾値ＴｈＶ３超過である場合、処理は図３５のＳ２２１へと進む。
【０２７０】
（Ｓ２１５、Ｓ２２０）Ｓ２１５は、対象の論理ボリュームＬＶに関してＬＶ内ファイル情報テーブルに登録されているデータファイルの全てを対象に、１つ１つのデータファイルについてＳ２１５と図３５のＳ２２０との間にある処理を実行する処理ループの始点である。また、Ｓ２２０は、当該処理ループの終点である。
【０２７１】
（Ｓ２１６）仮想ライブラリ制御部３５５は、対象のデータファイルについてリードアクセス回数が、設定された閾値ＴｈＲ２（例えば、３回）以上か否かを判定する。リードアクセス回数が閾値ＴｈＲ２以上である場合、処理はＳ２１７へと進む。一方、リードアクセス回数が閾値ＴｈＲ２未満である場合、処理は図３５のＳ２２０へと進む。
【０２７２】
（Ｓ２１７）仮想ライブラリ制御部３５５は、対象のデータファイルが特定期間内に作成されたデータファイルであるか否かを判定する。対象のデータファイルが特定期間内に作成されたデータファイルである場合、処理は図３５のＳ２２０へと進む。一方、対象のデータファイルが特定期間内に作成されたデータファイルでない場合、処理はＳ２１８へと進む。
【０２７３】
（Ｓ２１８）仮想ライブラリ制御部３５５は、対象のデータファイルに対応する圧縮緩和有効フラグが「１」であるか否かを判定する。対象のデータファイルに対応する圧縮緩和有効フラグが「１」である場合、処理は図３５のＳ２１９へと進む。一方、対象のデータファイルに対応する圧縮有効フラグが「１」でない場合（圧縮有効フラグが「０」の場合）、処理は図３５のＳ２２０へと進む。
【０２７４】
（Ｓ２１９）仮想ライブラリ制御部３５５は、対象のデータファイルを再圧縮処理ジョブ管理テーブル（圧縮緩和）に登録する。Ｓ２１９の処理が完了すると、処理はＳ２２０へと進み、処理ループにより、異なるデータファイルについてＳ２１５以降の処理が繰り返し実行される。また、Ｓ２２１へと処理が到達した場合も、処理ループにより、異なる論理ボリュームＬＶについてＳ２１２以降の処理が繰り返し実行される。
【０２７５】
（Ｓ２２２）Ｓ２１２、Ｓ２２１の処理ループが終了すると、処理はＳ２２２へと進む。Ｓ２２２の処理では、仮想ライブラリ制御部３５５が、優先度情報で規定された優先度の高い順に、再圧縮処理ジョブ管理テーブル（圧縮緩和）をソートする。Ｓ２２２の処理が完了すると、図３４及び図３５に示した一連の処理は終了する。
【０２７６】
（３−２−３．再圧縮処理の実行）
図３６及び図３７を参照しながら、圧縮緩和に係る再圧縮処理の実行について処理の流れを説明する。なお、図３６は、第３実施形態に係る再圧縮処理の流れを示した第１のフロー図である。また、図３７は、第３実施形態に係る再圧縮処理の流れを示した第２のフロー図である。
【０２７７】
（Ｓ２３１、Ｓ２４２）Ｓ２３１は、再圧縮処理ジョブ管理テーブル（圧縮緩和）に登録されているジョブの全てを対象に、１つ１つのジョブについてＳ２３１と図３７のＳ２４２との間にある処理を実行する処理ループの始点である。また、Ｓ２４２は、当該処理ループの終点である。
【０２７８】
（Ｓ２３２）仮想ライブラリ制御部３５５は、チャネル制御サーバ３０４の負荷情報を取得し、取得した負荷情報に基づいてＩＣＰ負荷情報テーブルを作成する。
（Ｓ２３３）仮想ライブラリ制御部３５５は、ＩＣＰ負荷情報テーブルを参照し、低負荷状態のチャネル制御サーバ３０４が存在するか否かを判定する。低負荷状態のチャネル制御サーバ３０４が存在する場合、処理はＳ２３４へと進む。一方、低負荷状態のチャネル制御サーバ３０４が存在しない場合、処理はＳ２３２へと進む。
【０２７９】
（Ｓ２３４）仮想ライブラリ制御部３５５は、ジョブの対象となる論理ボリュームＬＶがアンマウント状態（home状態）であるか否かを判定する。ジョブの対象となる論理ボリュームＬＶがアンマウント状態（home状態）である場合、処理はＳ２３５へと進む。一方、ジョブの対象となる論理ボリュームＬＶがアンマウント状態（home状態）でない場合、処理は図３７のＳ２３９へと進む。
【０２８０】
（Ｓ２３５）仮想ライブラリ制御部３５５は、低負荷状態のチャネル制御サーバ３０４上にある論理ドライブＬＤにジョブの対象となる論理ボリュームＬＶをマウントさせる。
（Ｓ２３６、Ｓ２４１）Ｓ２３６は、再圧縮処理ジョブ管理テーブル（圧縮緩和）に登録されているデータファイルの全てを対象に、１つ１つのデータファイルについてＳ２３６と図３７のＳ２４１との間にある処理を実行する処理ループの始点である。また、Ｓ２４１は、当該処理ループの終点である。
【０２８１】
（Ｓ２３７）仮想ライブラリ制御部３５５は、ＬＶ内ファイル圧縮情報テーブル（圧縮緩和）を参照し、現在の指定圧縮率より所定値ΔＣ２（例えば、１０％）だけ高い圧縮率を指定してチャネル制御サーバ３０４に再圧縮を実行させる。
【０２８２】
（Ｓ２３８）仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブル（圧縮緩和）、及びＬＶ内ファイル圧縮情報テーブル（圧縮緩和）を更新する。例えば、仮想ライブラリ制御部３５５は、対象ジョブのジョブ状態や終了時刻などの情報を更新する。また、仮想ライブラリ制御部３５５は、再圧縮の実行時に指定した圧縮率で指定圧縮率の値を更新する。Ｓ２３８の処理が完了すると、処理は、図３７のＳ２４０へと進む。
【０２８３】
（Ｓ２３９）仮想ライブラリ制御部３５５は、再圧縮処理ジョブ管理テーブル（圧縮緩和）を更新する。このとき、仮想ライブラリ制御部３５５は、対象ジョブの再実行フラグを「１」に設定する。また、仮想ライブラリ制御部３５５は、対象ジョブのジョブ状態を「一時停止」に設定する。Ｓ２３９の処理が完了すると、処理はＳ２４２へと進み、処理ループにより、異なるジョブについてＳ２３１以降の処理が繰り返し実行される。
【０２８４】
（Ｓ２４０）仮想ライブラリ制御部３５５は、対象とする論理ボリュームＬＶの使用率が設定した閾値ＴｈＶ３（例えば、６０％）以下であるか否かを判定する。
論理ボリュームＬＶの使用率が閾値ＴｈＶ３以下である場合、処理はＳ２４１へと進み、処理ループにより、Ｓ２３６以降の処理が繰り返し実行される。一方、論理ボリュームＬＶの使用率が閾値ＴｈＶ３超過である場合、処理はＳ２４２へと進み、処理ループによりＳ２３１以降の処理が繰り返し実行される。
【０２８５】
（Ｓ２４３）Ｓ２３１、Ｓ２４２の処理ループが終了すると、処理はＳ２４３へと進む。Ｓ２４３の処理では、仮想ライブラリ制御部３５５が、再圧縮処理ジョブ管理テーブル（圧縮緩和）を参照し、ジョブ状態が「一時停止」のジョブが存在するか否かを判定する。ジョブ状態が「一時停止」のジョブが存在する場合、処理はＳ２３１へと進む。一方、ジョブ状態が「一時停止」のジョブが存在しない場合、処理はＳ２４４へと進む。
【０２８６】
（Ｓ２４４）仮想ライブラリ制御部３５５は、圧縮緩和に係る再圧縮処理を実行した論理ボリュームＬＶ及び再圧縮時の指定圧縮率に関する情報をホストコンピュータ１００に通知する。Ｓ２４４の処理が完了すると、図３６及び図３７に示した一連の処理は終了する。
【０２８７】
以上、第３実施形態について説明した。
以上、添付図面を参照しながら好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、様々な変形例や修正例に想到し得ることは明らかであり、こうした変形例や修正例についても当然に本発明の技術的範囲に属することは言うまでもない。
【０２８８】
＜４．付記＞
以上説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）  圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、前記指定された圧縮度の情報と、前記データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部と、
前記データファイル毎に前記指定された圧縮度と前記計算された圧縮度とを比較し、前記計算された圧縮度が前記指定された圧縮度以上である前記データファイルを抽出して再圧縮の対象とする制御部と、
を有する、制御装置。
【０２８９】
（付記２）  前記制御部は、前記指定された圧縮度よりも設定した値だけ大きい圧縮度が、設定した最大圧縮度よりも小さい場合には当該圧縮度を前記再圧縮の際に用いる圧縮度に指定し、当該圧縮度が前記最大圧縮度よりも大きい場合には前記最大圧縮度を前記再圧縮の際に用いる圧縮度に指定する
付記１に記載の制御装置。
【０２９０】
（付記３）  前記記憶部は、前記データファイルへのアクセス頻度に関する情報を記憶し、
前記制御部は、前記計算された圧縮度が前記設定された圧縮度以上であり、かつ、設定された第１の閾値よりも前記アクセス頻度が少ないデータファイルを再圧縮の対象とする
付記１又は２に記載の制御装置。
【０２９１】
（付記４）  前記記憶領域は、論理ボリュームであり、
前記制御部は、論理ドライブにマウント可能な状態であり、かつ、前記論理ドライブにマウントされていない前記論理ボリューム内のデータファイルを再圧縮の対象とする
付記１〜３のいずれかに記載の制御装置。
【０２９２】
（付記５）  前記制御部は、前記論理ドライブにマウント可能な状態にある前記論理ボリュームを格納するキャッシュ領域の空き容量と、設定した第２の閾値とを比較し、前記キャッシュ領域の空き容量が前記第２の閾値より少ない場合に前記再圧縮の処理を実行させる
付記４に記載の制御装置。
【０２９３】
（付記６）  前記記憶部は、前記データファイルへのアクセス頻度に関する情報を記憶し、
前記制御部は、前記論理ドライブにマウント可能な状態にある前記論理ボリュームを格納するキャッシュ領域の空き容量と、設定した第３の閾値とを比較し、前記キャッシュ領域の空き容量が前記第３の閾値より多い場合に、前記アクセス頻度が、設定された第４の閾値より多いデータファイルを抽出し、前記指定された圧縮度より小さい圧縮度で、抽出したデータファイルを再圧縮する
付記４に記載の制御装置。
【０２９４】
（付記７）  前記制御部は、前記データファイルを圧縮することが可能な複数のサーバそれぞれの処理負荷を示す情報を取得し、設定した第３の閾値よりも前記処理負荷が小さい前記サーバに前記再圧縮の処理を実行させる
付記１〜６のいずれかに記載の制御装置。
【０２９５】
（付記８）  圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、前記指定された圧縮度の情報と、前記データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部から、前記指定された圧縮度の情報及び前記計算された圧縮度の情報を取得可能なコンピュータが、
前記データファイル毎に前記指定された圧縮度と前記計算された圧縮度とを比較し、前記計算された圧縮度が前記指定された圧縮度以上であるデータファイルを抽出して再圧縮の対象とする
再圧縮制御方法。
【０２９６】
（付記９）  圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、前記指定された圧縮度の情報と、前記データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部から、前記指定された圧縮度の情報及び前記計算された圧縮度の情報を取得可能なコンピュータに、
前記データファイル毎に前記指定された圧縮度と前記計算された圧縮度とを比較し、前記計算された圧縮度が前記指定された圧縮度以上であるデータファイルを抽出して再圧縮の対象とする
処理を実行させる、プログラム。
【０２９７】
（付記１０）  前記コンピュータが、前記指定された圧縮度よりも設定した値だけ大きい圧縮度が、設定した最大圧縮度よりも小さい場合には当該圧縮度を前記再圧縮の際に用いる圧縮度に指定し、当該圧縮度が前記最大圧縮度よりも大きい場合には前記最大圧縮度を前記再圧縮の際に用いる圧縮度に指定する
付記８に記載の再圧縮制御方法。
【０２９８】
（付記１１）  前記記憶部は、前記データファイルへのアクセス頻度に関する情報を記憶し、
前記コンピュータが、前記計算された圧縮度が前記設定された圧縮度以上であり、かつ、設定された第１の閾値よりも前記アクセス頻度が少ないデータファイルを再圧縮の対象とする
付記８又は１０に記載の再圧縮制御方法。
【０２９９】
（付記１２）  前記記憶領域は、論理ボリュームであり、
前記制御部は、論理ドライブにマウント可能な状態であり、かつ、前記論理ドライブにマウントされていない前記論理ボリューム内のデータファイルを再圧縮の対象とする
付記８、１０、１１のいずれかに記載の再圧縮制御方法。
【０３００】
（付記１３）  前記コンピュータが、前記論理ドライブにマウント可能な状態にある前記論理ボリュームを格納するキャッシュ領域の空き容量と、設定した第２の閾値とを比較し、前記キャッシュ領域の空き容量が前記第２の閾値より少ない場合に前記再圧縮の処理を実行させる
付記１２に記載の再圧縮制御方法。
【０３０１】
（付記１４）  前記記憶部は、前記データファイルへのアクセス頻度に関する情報を記憶し、
前記コンピュータが、前記論理ドライブにマウント可能な状態にある前記論理ボリュームを格納するキャッシュ領域の空き容量と、設定した第３の閾値とを比較し、前記キャッシュ領域の空き容量が前記第３の閾値より多い場合に、前記アクセス頻度が、設定された第４の閾値より多いデータファイルを抽出し、前記指定された圧縮度より小さい圧縮度で、抽出したデータファイルを再圧縮する
付記１２に記載の再圧縮制御方法。
【０３０２】
（付記１５）  前記コンピュータが、前記データファイルを圧縮することが可能な複数のサーバそれぞれの処理負荷を示す情報を取得し、設定した第３の閾値よりも前記処理負荷が小さい前記サーバに前記再圧縮の処理を実行させる
付記８、１０〜１３のいずれかに記載の再圧縮制御方法。
【０３０３】
（付記１６）  圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、前記指定された圧縮度の情報と、前記データファイルのデータサイズから計算された圧縮度の情報とを記憶する記憶部から、前記指定された圧縮度の情報及び前記計算された圧縮度の情報を取得可能なコンピュータに、
前記データファイル毎に前記指定された圧縮度と前記計算された圧縮度とを比較し、前記計算された圧縮度が前記指定された圧縮度以上であるデータファイルを抽出して再圧縮の対象とする
処理を実行させる、プログラムが記録された、コンピュータにより読み取り可能な記録媒体。
【０３０４】
（付記１７）  前記制御部は、前記第３の閾値よりも処理負荷が小さい前記サーバが複数存在する場合に、前記処理負荷が最も小さい前記サーバに前記再圧縮の処理を実行させる
付記７に記載の制御装置。
【０３０５】
（付記１８）  圧縮によるデータサイズの減少度合いを表す指定された圧縮度で圧縮されてから記憶領域に格納されるデータファイルについて、前記指定された圧縮度の情報と、前記データファイルのデータサイズから計算された圧縮度の情報と、前記データファイルのアクセス頻度を示す情報とを記憶する記憶部と、
前記データファイルの中から前記アクセス頻度が予め設定された頻度以上であるデータファイルを抽出し、抽出したデータファイルを、前記指定された圧縮度よりも小さな圧縮度にする再圧縮の対象とする制御部と、
を有する、制御装置。
【０３０６】
（付記１９）  前記制御部は、前記再圧縮の対象としたデータファイルのうち、非圧縮状態のデータサイズが予め設定されたサイズ以上であるデータファイルを、前記再圧縮の対象から除外する
付記１８に記載の制御装置。
【０３０７】
（付記２０）  前記制御部は、前記記憶領域の空き容量が予め設定された容量以上である場合に前記再圧縮の対象としたデータファイルについて前記再圧縮の処理を開始する
付記１８又は１９に記載の制御装置。
【符号の説明】
【０３０８】
１０  制御装置
１１  記憶部
１２  制御部
２０  サーバ
３０  記憶装置
ＬＶ、ＬＶ＃１、ＬＶ＃２  論理ボリューム
Ｃ11、Ｃ12、Ｃ21  計算された圧縮度
ＣSET  指定された圧縮度
ＣMAX  最大圧縮度
ｆ11、ｆ12、ｆ21  データファイル
【図１】
2015201057.tif 000003
【図２】
2015201057.tif 000004
【図３】
2015201057.tif 000005
【図４】
2015201057.tif 000006
【図５】
2015201057.tif 000007
【図６】
2015201057.tif 000008
【図７】
2015201057.tif 000009
【図８】
2015201057.tif 000010
【図９】
2015201057.tif 000011
【図１０】
2015201057.tif 000012
【図１１】
2015201057.tif 000013
【図１２】
2015201057.tif 000014
【図１３】
2015201057.tif 000015
【図１４】
2015201057.tif 000016
【図１５】
2015201057.tif 000017
【図１６】
2015201057.tif 000018
【図１７】
2015201057.tif 000019
【図１８】
2015201057.tif 000020
【図１９】
2015201057.tif 000021
【図２０】
2015201057.tif 000022
【図２１】
2015201057.tif 000023
【図２２】
2015201057.tif 000024
【図２３】
2015201057.tif 000025
【図２４】
2015201057.tif 000026
【図２５】
2015201057.tif 000027
【図２６】
2015201057.tif 000028
【図２７】
2015201057.tif 000029
【図２８】
2015201057.tif 000030
【図２９】
2015201057.tif 000031
【図３０】
2015201057.tif 000032
【図３１】
2015201057.tif 000033
【図３２】
2015201057.tif 000034
【図３３】
2015201057.tif 000035
【図３４】
2015201057.tif 000036
【図３５】
2015201057.tif 000037
【図３６】
2015201057.tif 000038
【図３７】
2015201057.tif 000039