(57)【要約】  プリフェッチ動作にも時間がかるため、プリフェッチのタイミングをスケジューリングしなければ、必要時に、低速な記憶媒体から高速の記憶媒体へのコピー（プリフェッチ）が実行できず処理待ちが発生してしまうという課題がある。本発明の一実施形態では、外部計算機からのリード要求の前にあらかじめ第１の記憶媒体から第２の記憶媒体にデータをコピーするプリフェッチのスケジュールを、前記プリフェッチにかかる時間に基づいて決定する。
2016001959.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを備える計算機であって、
前記プロセッサは、
外部計算機からのリード要求の前にあらかじめ第１の記憶媒体から第２の記憶媒体にデータをコピーするプリフェッチのスケジュールを、前記プリフェッチにかかる時間に基づいて決定する
ことを特徴とする計算機。
【請求項２】
請求項１記載の計算機であって、
複数の前記第１の記憶媒体からデータを読み出し可能なドライブに、前記複数の第１の記憶媒体をロードするスケジュールであるドライブスケジュールを格納するメモリを備え、
前記プロセッサは前記ドライブスケジュールに基づいて前記プリフェッチのスケジュールを決定する
ことを特徴とする計算機。
【請求項３】
請求項２記載の計算機であって、
前記メモリには、アプリケーションの実行スケジュール情報と、前記アプリケーションで利用されるデータ情報と、前記複数の第１の記憶媒体に格納されるデータの位置情報と、前記第２の記憶媒体の情報と、が格納され、
前記アプリケーションの実行スケジュール情報と、前記アプリケーションで利用されるデータ情報と、前記格納されるデータの位置情報と、前記第２の記憶媒体の情報と、前記ドライブスケジュールに基づいて、前記プリフェッチのスケジュールを決定し、前記決定したプリフェッチでのドライブ利用スケジュールをドライブ利用ジョブとして前記ドライブスケジュールに反映する
ことを特徴とする計算機。
【請求項４】
請求項３記載の計算機であって、
前記プロセッサは、
前記アプリケーション実行スケジュール、前記格納されるデータの位置情報、前記プリフェッチにかかる時間に基づいて、アプリケーション実行開始までに前記アプリケーションが利用するデータのプリフェッチが完了出来るロード開始時刻を計算し、
前記ドライブスケジュールを参照し、前記ロード開始時刻の前記ドライブが空いているか確認し、
前記ロード開始時刻にドライブが空いていない場合には、前記アプリケーションが利用するデータのプリフェッチまたは当該時刻にドライブを利用予定のプリフェッチの実行時間を早め、前記プリフェッチのスケジュールを決定する
ことを特徴とする計算機。
【請求項５】
請求項４記載の計算機であって、
前記プロセッサは、
アプリケーションの実行スケジュール情報に基づいて、前記アプリケーションの実行完了時間に前記アプリケーションの前記第２の記憶媒体から前記アプリケーションで利用されるデータを削除し、
前記第２の記憶媒体の情報に基づいて、
前記第２の記憶媒体の格納データ量が閾値を超える時間がないように、前記プリフェッチのスケジュールを決定する、
ことを特徴とする計算機。
【請求項６】
請求項３記載の計算機であって、
前記第１の記憶媒体を備える第１のストレージ装置と、前記第２の記憶媒体を備える第２のストレージ装置と接続され、
前記決定したプリフェッチのスケジュールに基づいて、前記第１のストレージ前記にリード指示を送信し、前記第１のストレージから前記第２の記憶媒体にデータを格納させ、
前記第２のストレージ装置に接続される前記外部計算機は前記第２の記憶媒体に格納されるデータにアクセスする
ことを特徴とする計算機。
【請求項７】
請求項６記載の計算機であって、
前記ドライブは前記第１の記憶媒体にデータをライトする機能を備え、
前記プロセッサは前記第２の記憶媒体から前記第１の記憶媒体へのデータ移動を考慮して前記ドライブスケジュールを決定する、
ことを特徴とする計算機。
【請求項８】
請求項７記載の計算機であって、
前記メモリには更に前記第１の記憶媒体のデータ格納開始時期期限が格納され、
前記プロセッサは前記第１の記憶媒体データ格納開始時期期限に基づいて前記ドライブスケジュールを決定する
ことを特徴とする計算機。
【請求項９】
請求項５記載の計算機であって、
前記第１の記憶媒体を備える第１のストレージ装置、前記第２の記憶媒体を備える第２のストレージ装置、第３の記憶媒体を備える第３のストレージ装置、及び前記第３のストレージ装置から前記第２のストレージ装置への移動を管理するアーカイブ管理サーバと接続され、
前記プロセッサは、前記第３のストレージ装置または前記アーカイブ管理サーバから、前記第３の記憶媒体格納データの管理情報の最終アクセス時刻、階層移動ポリシーを取得し、前記取得した情報に基づき前記第３のストレージ装置から前記第２のストレージ装置へ移動するデータと時刻を予測し、
前記予測に基づき前記第２の記憶媒体の情報を更新する
ことを特徴とする計算機。
【請求項１０】
請求項５記載の計算機であって、
前記プロセッサは、
前記ドライブスケジュールを参照し、
前記アプリケーションで利用されるデータと同一のデータをリードするドライブ利用ジョブがあった場合、前記第２の記憶媒体の情報に基づいて、前記同一の第１の記憶媒体をロードするドライブ利用ジョブが実行されてから前記アプリケーションの実行完了時間まで前記アプリケーションで利用されるデータを前記第２の記憶媒体に格納していた場合に前記第２の記憶媒体の格納データ量が閾値を超える時間があるか確認し、
第２の記憶媒体の格納データ量が閾値を超える時間がない場合、前記アプリケーションのプリフェッチに際して前記ドライブスケジュールにドライブ利用ジョブの追加を行わず、前記同一のデータをリードするドライブ利用ジョブを関連ドライブ利用ジョブとして管理する
ことを特徴とする計算機。
【請求項１１】
請求項１０記載の計算機であって、
前記プロセッサはアプリケーションの完了通知を受け取った場合、
前記アプリケーションの実行スケジュール情報及び前記アプリケーションで利用されるデータ情報を参照し、前記アプリケーションの実行に用いたデータが他のアプリケーションの関連ドライブ利用ジョブと管理されていないか判断し、
他のアプリケーションの関連ドライブ利用ジョブと管理されていない場合、前記アプリケーションの実行に用いたデータを前記第２の記憶媒体から削除する
ことを特徴とする計算機。
【請求項１２】
複数の可搬型記憶媒体及びを備える第１の記憶装置と、前記可搬型記憶媒体より高速なデータリードが可能なプリフェッチ用記憶媒体を備える第２の記憶装置と、前記第１の記憶装置及び前記第２の記憶装置からホスト計算機にハイブリッドストレージシステムを提供するハイブリット管理サーバと、前記ホスト計算機からのリード要求の前にあらかじめ第１の記憶装置から第２の記憶装置にデータをコピーするプリフェッチを管理する装置管理サーバと、を備える記憶システムであって、
前記第１の記憶装置は前記複数可搬型記憶媒体からデータをリードするドライブを前記複数の可搬型記憶媒体より少ない数備え、
前記装置管理サーバは前記複数可搬型記憶媒体をロードするスケジュールであるドライブスケジュール、前記プリフェッチ記憶媒体の情報、ホストのアプリケーションの実行スケジュール情報、及び、前記複数の可搬型記憶媒体に格納されるデータの位置情報、に基づいて前記プリフェッチのスケジュールを決定する
ことを特徴とする記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージシステムにおけるドライブ制御に関する。
【背景技術】
【０００２】
ストレージシステムではＲｅａｄ性能向上のために、アプリケーション（ＡＰ）実行前に、データを格納している記憶媒体から、より高速にＲｅａｄ可能な記憶装置にコピーし（これをプリフェッチと呼ぶ）キャッシュデータを作成する。例えば、特許文献１に開示される、磁気ディスクと光ディスクと含むストレージシステムにおいて、リクエスト傾向に従って光ディスクのデータを磁気ディスクにコピーし、キャッシュデータを作成する技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許６２３３６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プリフェッチ動作にも時間がかかるため、プリフェッチのタイミングをスケジューリングしなければ、必要な時に低速な記憶媒体から高速の記憶媒体へのコピー（プリフェッチ）が実行できず、処理待ちが発生してしまうという課題がある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の一実施形態では、外部計算機からのリード要求の前にあらかじめ第１の記憶媒体から第２の記憶媒体にデータをコピーするプリフェッチのスケジュールを、プリフェッチにかかる時間に基づいて決定する。
【発明の効果】
【０００６】
上位装置への応答時間が短縮される。
【図面の簡単な説明】
【０００７】
【図１】図１は実施例の概要を説明する図である。
【図２】図２は実施例１の全体の構成図である。
【図３Ａ】図３Ａは実施例１のホスト計算機の構成図である。
【図３Ｂ】図３Ｂは実施例１のファイルサーバの構成図である。
【図４】図４は実施例１のブロックストレージの構成図である。
【図５】図５は実施例１の可搬型記憶装置の構成図である。
【図６Ａ】図６Ａは実施例１のハイブリット制御サーバの構成図である。
【図６Ｂ】図６Ｂは実施例１のジョブ管理サーバの構成図である。
【図７】図７は実施例１の装置管理サーバの構成図である。
【図８】図８は実施例１のアーカイブ管理サーバの構成図である。
【図９Ａ】図９Ａは実施例１のファイル構成管理テーブルの情報を示す図である。
【図９Ｂ】図９Ｂは実施例１のブロック構成管理テーブルの情報を示す図である。
【図９Ｃ】図９Ｃは実施例１の可搬型記憶装置構成管理テーブルの情報を示す図である。
【図１０】図１０は実施例１のジョブ管理テーブルの情報を示す図である。
【図１１】図１１は実施例１の構成管理テーブルの情報を示す図である。
【図１２】図１２は実施例１のデータ管理テーブルの情報を示す図である。
【図１３】図１３は実施例１のジョブ対応関係管理テーブルの情報を示す図である。
【図１４Ａ】図１４Ａは実施例１のＨＤＤ容量管理テーブルの情報を示す図である。
【図１４Ｂ】図１４Ｂは実施例１のポリシー管理テーブルの情報を示す図である。
【図１５】図１５は実施例１の全体フローを示す図である。
【図１６】図１６は実施例１のドライブ利用処理のジョブ時間計算のフローを示す図である。
【図１７】図１７は実施例１のジョブ実行順序と利用ドライブを決定するフローを示す図である。
【図１８】図１８は同じメディアを利用する他のジョブがあった場合のマージ処理のフローを示す図である。
【図１９】図１９は実施例１のプリフェッチデータ削除のフローを示す図である。
【図２０】図２０は実施例２のドライブ利用処理のジョブ時間計算のフローを示す図である。
【図２１】図２１は実施例２のジョブ実行順序と利用ドライブを決定するフローを示す図である。
【図２２】図２２は実施例３のＨＤＤ容量の情報収集処理のフローを示す図である。
【図２３】図２３は実施例４のジョブ実行順序と利用ドライブを決定するフローを示す図である。
【図２４Ａ】図２４Ａは実施例５の可搬型記憶装置構成管理テーブルの情報を示す図である。
【図２４Ｂ】図２４Ｂは実施例５のオフライン可搬型記憶媒体管理テーブルの情報を示す図である。
【図２５】図２５は実施例５のドライブ利用処理のジョブ時間計算のフローを示す図である。
【発明を実施するための形態】
【０００８】
図１は本実施例の概略を示す図である。装置管理サーバ６５は、ストレージ管理プログラム５０４とドライブ利用処理計算プログラム５１１とを保持する。可搬型記憶装置４０は、データを記録再生するドライブ４０５、媒体搬送部４０６、及び複数の可搬型記憶媒体４０８を有する。ハイブリッド型記憶装置９１はハイブリット制御サーバ５０、ブロックストレージ３１、及び可搬型記憶装置４０を有する。ブロックストレージ３１は論理ボリューム３１３を有する。ハイブリット制御サーバ５０は読み書きプログラム５１２を有する。
【０００９】
ハイブリッド型記憶装置９１はブロックストレージ３１と可搬型記憶装置４０を利用し、データをアーカイブする。上位階層の記憶装置からのデータはまずハイブリット制御サーバ５０の読み書きプログラム５１２により、ブロックストレージ３１に書き込まれ、特定の条件を満たすと読み書きプログラム５１２により可搬型記憶装置４０に書き込まれる。データをＲｅａｄするときには読み書きプログラム５１２が可搬型記憶装置４０からデータを読み出しブロックストレージ３１にコピーする。このコピー処理をアプリケーションが必要とする時間より前に実施する（プリフェッチする）と可搬型記憶装置４０の媒体搬送時間によるＲｅａｄ遅延を隠蔽することが可能となる。
【００１０】
ストレージ管理プログラム５０４は定期的、もしくはデータ生成のタイミングでホスト計算機１０、ファイルサーバ２０、ブロックストレージ３０、可搬型記憶装置４０、アーカイブ管理サーバ７０、ジョブ管理サーバ６０から各種情報を収集する。次に収集したデータに含まれるアプリケーションのスケジュールの情報、ブロックストレージの記憶情報、ドライブ性能情報、データ格納位置情報、に基づいて前記複数の可搬型記憶媒体を前記ドライブにロードするスケジュールを決定する。
【００１１】
本実施例により、可搬型記憶装置４０内のドライブを利用する処理の適切な実行順序を決定することが可能となる。その結果、可搬型記憶装置４０を利用したＲｅａｄ／Ｗｒｉｔｅ処理の遅延を防ぐことが可能となる。特に、ドライブの数が少ない場合や、可搬型記憶媒体４０８がホログラムディスクなどＲｅａｄ／Ｗｒｉｔｅ性能が低い場合に有効である。また、可搬型記憶装置４０をＲｅａｄ／Ｗｒｉｔｅ両方の処理が同頻度で発生するＡｃｔｉｖｅ  Ａｒｃｈｉｖｅの目的で利用する場合に本実施例の効果が重要となる。
【実施例１】
【００１２】
図２は全体の計算機システム１の構成例を示すブロック図である。ホスト計算機１０はデータネットワーク８０ａを介してファイルサーバ２０と、ハイブリッド型記憶装置９１と接続される。ハイブリッド型記憶装置９１はハイブリット制御サーバ５０とブロックストレージ３１と可搬型記憶装置４０と、を有する。ハイブリット制御サーバ５０とブロックストレージ３１とはデータネットワーク８０ｃを介して接続される。ハイブリット制御サーバ５０と可搬型記憶装置４０とはデータネットワーク８０ｄを介して接続される。ファイルサーバ２０とブロックストレージ３０はデータネットワーク８０ｂを介して接続される。ホスト計算機１０、ファイルサーバ２０、ブロックストレージ３０、ハイブリッド型記憶装置９１（ハイブリット制御サーバ５０、ブロックストレージ３１、可搬型記憶装置４０）、ジョブ管理サーバ６０、装置管理サーバ６５、アーカイブ管理サーバ７０は管理ネットワーク９０を介して接続される。なお、データネットワーク８０ａ、８０ｂ、８０ｃ、８０ｄ、は分かれている必要はなく、同一ネットワークでも良い。またデータネットワーク８０や管理ネットワーク９０のプロトコルはＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）やＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）など任意のプロトコルで構わなく、データネットワーク８０と管理ネットワーク９０が同一ネットワークであってもよい。ハイブリッド型記憶装置９１と装置管理サーバ６５を含むシステムをまとめて記憶システム９２と呼ぶ。さらに記憶システム９２と、ファイルサーバ２０と、ブロックストレージ３０と、ジョブ管理サーバ６０、アーカイブ管理サーバ７０を含むシステムをまとめて階層記憶システム９３と呼ぶ。【００１３】
本実施例では各サーバが独立である場合を示すが、各サーバは必ずしも独立である必要はなく、一つの以上のサーバで各処理を実行しても良い。また、ストレージ装置や可搬型記憶装置が各サーバの処理を実行しても良い。また、ストレージ装置３０とストレージ装置３１が異なる筐体である例を示したが、同一の筐体でもよく、ファイルサーバ２０とハイブリット制御サーバ５０それぞれに記憶領域が提供されればよい。【００１４】
図３Ａはホスト計算機１０の例を示す図である。ホスト計算機１０は、ＣＰＵ１０１、メモリ１０２、データＩＦ（Ｉｎｔｅｒｆａｃｅ）１０８、管理ＩＦ１０９を備える。メモリ１０２にはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）１０３とストレージ装置の記憶領域をマウントするためのデバイスマネージャ１０７が格納される。ＯＳ１０３にはアプリケーション１０４と階層管理エージェント１０５とジョブ実行エージェント１０６が含まれる。ＣＰＵ１０１がメモリ上のＯＳ１０３やデバイスマネージャ１０７を動作させる。階層管理エージェント１０５は、後述するアーカイブ管理サーバ７０内の階層管理プログラム７０４と通信する。ジョブ実行エージェント１０６は、後述するジョブ管理サーバ６０のジョブ管理プログラム６０４と通信する。データＩＦ１０８はデータネットワーク８０と接続される。管理インタフェース１０９は管理ネットワーク９０と接続する。なお、データインタフェース１０８と管理インタフェース１０９は共通のＩＦであってもよい。【００１５】
図３Ｂはファイルサーバ２０の例を示す図である。ファイルサーバ２０は、ホストＩＦ２０１、ファイル制御プロセッサ２０２、メモリ２０３、ディスクＩＦ２０６、管理ＩＦ２０７を備える。メモリ２０３にはファイル構成管理テーブル２０４と階層管理エージェント２０５が格納される。階層管理エージェント２０５はアーカイブ管理サーバ７０内の階層管理プログラム７０４と通信する。ファイル制御プロセッサ２０２が、メモリ内の階層管理エージェントを動作させる。ホストＩＦ２０１はデータネットワーク８０ａを介してホスト計算機１０と接続する。ディスクＩＦ２０６はデータネットワーク８０ｂを介してブロックストレージ３０と接続する。管理インタフェース２０７は管理ネットワーク９０を介して装置管理サーバ６５と接続する。ファイル制御プロセッサ２０２はブロックストレージ３０のボリュームをマウントしファイルサーバ２０をＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）として動作させる。【００１６】
図４はブロックストレージ３０及び３１の例を示す図である。ブロックストレージ３０及び３１はブロック制御プロセッサ３０２、メモリ３０３、物理ストレージデバイス３０６、管理ＩＦ３１５を備える。メモリ３０３はブロック構成テーブル３０４と階層管理エージェント３０５が格納される。階層管理エージェント３０５はアーカイブ管理サーバ７０内の階層管理プログラム７０４と通信する。ブロック制御プロセッサ３０２が、メモリ内の階層管理エージェント３０５を動作させる。ブロック構成テーブル３０４の詳細は後述する。物理ストレージデバイス３０６は１つ以上のＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３０７や１つ以上のＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）３０８といった記憶媒体である。複数種類の物理記憶領域を含んでもよい。なお、物理ストレージデバイスの種類はＨＤＤやＳＳＤだけでなく他の任意の種類のデバイスでよい。【００１７】
ここで、物理ブロックストレージ３１の物理ストレージデバイスは、可搬型記憶装置の記憶媒体４０８からプリフェッチ目的でデータが格納される事があるため、プリフェッチ用記憶媒体と表記する事がある。このプリフェッチ用記憶媒体はプリフェッチに用いられるために記憶媒体４０８よりアクセス性能が高速であることが期待される。記憶媒体複数の物理ストレージデバイスはＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成が組まれている。物理制御プロセッサ３０２は物理ストレージデバイスに基づき、論理ボリューム３１２をホスト計算機１０やファイルサーバ２０に提供する。管理インタフェース３１５は管理ネットワーク９０を介して装置管理サーバ６５と接続する。【００１８】
図５は可搬型記憶装置の例を示す図である。可搬型記憶装置は、ロボットなどの媒体搬送機構などを用いて、可搬型記憶媒体をドライブにセットする記憶装置である。可搬型記憶装置４０は、ホストＩＦ４０１、コントローラ４０２、メモリ４０３、キャッシュメモリ４０４、ドライブ４０５、媒体搬送部４０６、媒体格納部４０７を備える。ホストＩＦ４０１はデータネットワーク８０を介してホスト計算機１０と接続する。管理ＩＦ４０９は管理ネットワーク９０を介して装置管理サーバ６５と接続する。【００１９】
メモリ４０３は、Ｒｅａｄ／Ｗｒｉｔｅプログラム４１０とエージェントプログラム４１１と可搬型記憶装置管理プログラム４１２と可搬型記憶装置構成管理テーブル４１３とを保持する。Ｒｅａｄ／Ｗｒｉｔｅプログラム４１０はドライブ４０５を通じて記憶媒体４０８にデータを書き込む、または、ドライブ４０５を通じて媒体のデータを再生するプログラムである。エージェントプログラム４１１は装置管理サーバ６５のストレージ管理プログラム６５４と読み書き指示プログラム６５７と通信するプログラムである。可搬型記憶装置管理プログラム４１２は、媒体格納部４０７に含まれる記憶媒体４０８の搬送を行う媒体搬送部４０６を管理し、可搬型記憶媒体４０８の情報を管理するプログラムである。可搬型記憶装置構成管理テーブル４１３の詳細は後述する。コントローラ４０２が、メモリ４０３内のプログラムを動作させる。キャッシュメモリ４０４は上位階層から送られたデータや可搬型記憶媒体４０８からリードしたデータ一時的にキャッシュしておく記憶媒体であり、ＤＲＡＭやフラッシュＨＤＤなどで構成され、Ｒｅａｄ／Ｗｒｉｔｅ性能が可搬型記憶媒体より高い。【００２０】
ドライブ４０５は媒体搬送部４０６により搬送された記憶媒体４０８に対してデータの読み書きを実施する。ドライブ４０５の数は１以上であり、記憶媒体４０８の数より少ない。また、複数のドライブ４０５を備える場合には性能の異なるドライブが混在しても良い。また、記憶媒体４０８が複数種類ある場合には、記憶媒体の種別毎に専用のドライブ４０５があってもよいし、異なる種別の記憶媒体で共通のドライブ４０５があってもよい。【００２１】
媒体搬送部４０６は記憶媒体格納部４０７とドライブ４０５での記憶媒体４０８の搬送を行う。ここでドライブ４０５に記憶媒体４０８をリード可能な状態に配置することをロードと呼ぶ。記憶媒体搬送部４０６の数は一以上であればよく、必ずしもドライブの数と同等である必要はない。また、本実施例では、全ての媒体搬送部４０７は全てのドライブ４０５及び媒体格納部４０７に記憶媒体を搬送可能であるが、特定の媒体搬送部４０７を特定の媒体ドライブ及び媒体格納部間の搬送のみ実施するようにしてもよい。媒体格納部４０７には複数の記憶媒体４０８が格納される。媒体格納部４０７は１以上あればよい。可搬型記憶媒体４０８は、一つ以上のＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃやホログラムディスクなどの光学記憶媒体や、テープなどの磁気記憶媒体などである。記憶媒体４０８の数はドライブ４０５の数より多く、複数種類の記憶媒体が混在していてもよい。【００２２】
図６Ａはハイブリット制御サーバ５０の例を説明するブロック図である。ハイブリット制御サーバ５０はホストＩＦ、ファイル制御プロセッサ５０２、メモリ５０３、ディスクＩＦ５０４、ライブラリＩＦ５０５、及び管理ＩＦ５０６を備える。【００２３】
ハイブリット制御サーバ５０はブロックストレージ３１と可搬型記憶装置４０を一つの記憶装置としてホスト計算機に提供する。具体的には、ハイブリット制御サーバ５０は可搬型記憶装置４０の記憶容量を持つ記憶装置としてホスト計算機に提供され、ブロックストレージ３１の記憶領域はホストにアクセスされるキャッシュ領域として利用される。【００２４】
メモリ５０３にはファイル構成管理テーブル５０１と階層管理エージェント５１１とＲｅａｄ／Ｗｒｉｔｅプログラム５１２を含む。階層管理エージェント５１１はアーカイブ管理サーバ７０内の階層管理プログラム７０４と通信する。ファイル制御プロセッサ５０２が、メモリ内の階層管理エージェントを動作させる。ホストＩＦ５０１はデータネットワーク８０ａを介して、ホスト計算機１０と接続する。ディスクＩＦ５０４はデータネットワーク８０ｃを介してブロックストレージ３０と接続する。ライブラリＩＦ５０５はデータネットワーク８０ｄを介して可搬型記憶装置４０と接続する。管理ＩＦ５０６は管理ネットワーク９０を介して装置管理サーバ６５、アーカイブ管理サーバ７０と接続する。【００２５】
ファイル制御プロセッサ５０２はブロックストレージ３１の論理ボリューム、および可搬型記憶装置４０の記憶媒体またはボリュームをマウントしハイブリット制御サーバ５０をＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）として動作させる。ここではＮＡＳの詳細な動作は省略する。メモリ５０３内のファイル構成管理テーブル５１０はハイブリット制御サーバ５０が持つ物理リソース情報を持つ。ファイル構成管理テーブルの詳細は後述の、ファイル管理サーバ２０のファイル構成管理テーブル２０４と同じ構成である。Ｒｅａｄ／Ｗｒｉｔｅプログラム５１２はホスト計算機１０または階層管理プログラム７０からの指示によりブロックストレージ３１または可搬型記憶装置４０のデータを読み書きするプログラムである。【００２６】
図６Ｂはジョブ管理サーバ６０の例を説明するブロック図である。ジョブ管理サーバ６０はＣＰＵ６０１、ＮＩＣ６０２及びメモリ６０３を備える。メモリ６０３にはジョブ管理プログラム６０４とジョブ管理テーブル６０５が格納される。ジョブ管理プログラム６０４は階層管理システムで動作するジョブ処理を実行するプログラムである。ジョブ実行のためにホスト計算機１０のジョブ実行エージェント１０６や装置管理サーバ６５のジョブ実行エージェント６６３、アーカイブ管理サーバ７０のジョブ実行エージェント７０７と通信して計画したジョブを実行する。ジョブ管理テーブル６０５の詳細は後述する。また、ＮＩＣ６０２を介して管理ネットワーク９０と接続する。ジョブ管理サーバ６０には、当該ジョブ管理サーバ６０を操作するための入出力装置６２０が接続される。入出力装置６２０は、マウス、キーボード及びディスプレイなどの装置であり、ジョブ管理サーバ６０と管理者（ユーザとも呼ぶ）との間で情報を入出力するために利用される。【００２７】
図７は装置管理サーバ６５の例を説明するブロック図である。ホスト計算機１０、ファイルサーバ２０、ブロックストレージ３０、ハイブリッド型記憶装置９１（ハイブリット制御サーバ５０、ブロックストレージ３１、可搬型記憶装置４０）、ジョブ管理サーバ６０、アーカイブ管理サーバ７０と接続され管理ネットワーク９０を介して、各計算機から必要な情報を取得することができ、各計算機に必要な情報（プログラムを含む）を与えることができる。【００２８】
装置管理サーバ６５は、ＣＰＵ６５１、ＮＩＣ６５２、メモリ６５３を備え入出力装置６７０が接続される。ＣＰＵ６５１は、メモリ６５３上に展開されるプログラムを実行する。メモリ６５３は、ストレージ管理プログラム６５４、システム管理プログラム６５５、ドライブ利用処理計算プログラム６５６、読み書き指示プログラム６５７、構成管理テーブル６５８、データ管理テーブル６５９、ジョブ対応関係管理テーブル６６０、ＨＤＤ容量管理テーブル６６１、ポリシー管理テーブル６６２、ジョブ実行エージェント６６３、実行スクリプト６６４、を格納する。なお、他のプログラムが格納されていてもよい。【００２９】
ストレージ管理プログラム６５４は、構成管理テーブル６５８、データ管理テーブル６５９、ジョブ対応関係管理テーブル６６０、ＨＤＤ容量管理テーブル６６１、ポリシー管理テーブル６６２の情報を使用して、各管理対象（ホスト計算機１０、ファイルサーバ２０、ブロックストレージ３０、ハイブリッド型記憶装置９１（ハイブリット制御サーバ５０、ブロックストレージ３１、可搬型記憶装置４０）、ジョブ管理サーバ６０、アーカイブ管理サーバ７０）の情報を管理する。また、ストレージ管理プログラム６５４は可搬型記憶装置４０内のエージェントプログラム４１１と通信し指示出しや情報の通知を受けることができる。システム管理プログラム６５５は、ジョブ管理サーバ６０のジョブ管理プログラム６０４、アーカイブ管理サーバ７０の階層管理プログラム７０４と通信し指示出しや情報の通知を受けることができる。また、ストレージ管理プログラム６５４とシステム管理プログラム６５５は同一のプログラムであってもよい。【００３０】
ドライブ利用処理計算プログラム６５６は、構成管理テーブル６５８、データ管理テーブル６５９、ジョブ対応関係管理テーブル６６０、ＨＤＤ容量管理テーブル６６１、ポリシー管理テーブル６６２の情報を使用して、ドライブを占有する処理の内容（処理時間など）を計算するプログラムである。読み書き指示プログラム６５７は、可搬型記憶装置４０内のキャッシュメモリ４０４内に溜まっているデータを記憶媒体４０８に書き出す指示を与えるプログラムである。構成管理テーブル６５８、データ管理テーブル６５９、ジョブ対応関係管理テーブル６６０及びジョブ対応関係管理テーブルＨＤＤ容量管理テーブル６６１の詳細については後述する。【００３１】
ポリシー管理テーブル６６２は、ファイルやホスト計算機等の単位でデータを動かすポリシーを記載するテーブルである。アーカイブ管理サーバ７０内の移動ポリシーテーブル７０５と同じ内容を含む。ジョブ実行エージェント６６３はジョブ管理プログラム６０４から指示を受けて処理を実行するエージェントである。実行スクリプト６６４はジョブ実行エージェント６６３が実行する処理の内容が記載されたスクリプトである。処理に応じて、ストレージ管理プログラムやシステム管理プログラムなど複数のプログラムを呼び出す処理が記載される。入出力装置６７０は、マウス、キーボード及びディスプレイなどの装置であり、装置管理サーバ６５と管理者（ユーザとも呼ぶ）との間で情報を入出力するために利用される。【００３２】
図８はアーカイブ管理サーバ７０の例を説明するブロック図である。アーカイブ管理サーバ７０とデータネットワーク８０または管理ネットワーク９０を介してホスト計算機１０、ファイルサーバ２０、ブロックストレージ３０、ハイブリッド型記憶装置９１（ハイブリット制御サーバ５０、ブロックストレージ３１、可搬型記憶装置４０）、ジョブ管理サーバ６０、装置管理サーバ６５と接続され管理ネットワーク８０を介して、各計算機から必要な情報を取得することができ、各計算機に必要な情報（プログラムを含む）を与えることができる。【００３３】
アーカイブ管理サーバ７０は、プロセッサであるＣＰＵ７０１、ＮＩＣ７０２、メモリ７０３を含み、入出力装置７２０が接続される。ＣＰＵ７０１は、メモリ７０３上に展開されるプログラムを実行する。メモリ７０３は、階層管理プログラム７０４、移動ポリシーテーブル７０５、データ管理テーブル７０６、ジョブ実行エージェント７０７、を格納する。なお、他のプログラムが格納されていてもよい。【００３４】
階層管理プログラム７０４は、階層管理エージェント１０５、２０５、３０５、５１１、と通信し、ホスト計算機１０、ファイルサーバ２０、ハイブリット制御サーバ５０のファイル情報を取得し、ホスト計算機１０、ファイルサーバ２０、ブロックストレージ３０、ハイブリット制御サーバ５０につながるブロックストレージ３１と可搬型記憶装置４０のファイルまたはボリュームを別のホスト計算機１０、ファイルサーバ２０、ブロックストレージ３０、ハイブリット制御サーバ５０につながるブロックストレージ３１と可搬型記憶装置４０へ移動するプログラムである。【００３５】
ポリシー管理テーブル７０５は、ファイルやホスト計算機等で利用されるファイル群単位でデータを動かすポリシーを記載するテーブルである。装置管理サーバ６５内の移動ポリシーテーブル６６２と同じ内容を含み、ポリシー管理テーブル７０５が元の内容を示す。データ管理テーブル７０６は、ホスト計算機１０、ファイルサーバ２０、ハイブリット制御サーバ５０内のファイルの属性情報を示すテーブルである。【００３６】
入出力装置７２０は、マウス、キーボード及びディスプレイなどの装置であり、装置管理サーバ７０と管理者（ユーザとも呼ぶ）との間で情報を入出力するために利用される。【００３７】
図９Ａはファイルサーバ２０内およびハイブリット制御サーバ５０のファイル構成管理テーブル２０４である。ファイル構成管理テーブル２０４は以下の（２０４０）乃至（２０４２）の情報を持つ。なお、ファイル構成管理テーブル５１０もファイル構成管理テーブル２０４と同様の構成を備える。
（２０４０）デバイス種別。ファイルサーバが持つデバイスの種類の情報を持つ。
（２０４１）デバイス識別子。ファイルサーバが持つデバイスを一意に識別する情報を持つ。
（２０４２）スペック。ファイルシステムの場合はサイズが設定される。【００３８】
図９Ｂはブロックストレージ３０及び３１内のブロック構成管理テーブル３０４である。ブロック構成管理テーブル３０４は以下の（３０４０）乃至（３０４２）の情報を持つ。
（３０４０）デバイス種別。ブロックストレージが持つデバイスの種類の情報を持つ。デバイスには、物理記憶ストレージデバイスを含め、ブロックストレージの持つポートなどの資源や、ホストに提供される、論理ボリューム３１２なども管理される。
（３０４１）デバイス識別子。ブロックストレージが持つデバイスを一意に識別する情報を持つ。
（３０４２）スペック。デバイス種別によって設定される値が異なる論理ボリュームの場合、サイズとＲｅａｄ／Ｗｒｉｔｅの速度、ポートの場合は速度、物理記憶ストレージデバイスの場合Ｒｅａｄ／Ｗｒｉｔｅの速度の値が設定される。【００３９】
図９Ｃは、可搬型記憶装置４０の可搬型記憶装置構成管理テーブル４１である。可搬型記憶装置構成管理テーブル４１３は以下の（４１３０）乃至（４１３４）の情報を持つ。
（４１３０）デバイス種別。可搬型記憶装置が持つデバイスの種類の情報を持つ。ここでデバイスとは記憶媒体４０８だけでなく、キャッシュ、ドライブ及び媒体搬送部を含む。
（４１３１）デバイス識別子。可搬型記憶装置が持つデバイスを一意に識別する情報を持つ。
（４１３２）スペック。キャッシュの場合はサイズ、記憶媒体の場合はサイズ、媒体搬送部の場合はディスクの搬送にかかる時間であるロード時間が設定される。
（４１３３）書込み単位。光ディスクなどの記憶媒体に一度に書きこむことのできる最小のサイズを示す。
（４１３４）媒体使用期限。ホログラムディスクの場合、一定期間までに書き込み完了しなければ書き込みできなくなるという特性がある。これを媒体使用期限またはシェルフライフと呼ぶ。その期限の日にちを示す。なお、日にちではなく残り時間を保持してもよい。【００４０】
図１０はジョブ管理テーブル６０５である。ジョブ管理テーブルは以下の（６０５０）乃至（６０５７）の情報を持つ。ジョブ管理テーブルの情報は、ジョブ管理サーバ６０の入出力装置６２０からのユーザによる入力またはドライブ利用処理計算プログラムによるジョブ計算によって設定される。
（６０５０）ジョブ識別子。ジョブを一意に識別する情報を持つ。
（６０５１）ジョブ種別。ジョブの内容がＲｅａｄ／Ｗｒｉｔｅいずれかを示す情報を持つ。
（６０５２）ジョブ実行エージェントマシン。各ジョブを実行するマシンのマシン名の情報を持つ。ここでＨｏｓｔはホスト計算機を示し、Ｍｇｍｔは管理サーバを示す。
（６０５３）ジョブ実行エージェントＩＰアドレス。各ジョブを実行するマシンのＩＰアドレスの情報を持つ。
（６０５４）利用アプリ／スクリプト。各ジョブによって実行されるマシン上のアプリまたはスクリプトの場所の情報を持つ。
（６０５５）利用データ。各ジョブによって実行されるマシン上のアプリまたはスクリプトが利用するデータの情報を持つ。データの情報とはホスト計算機やアプリケーションが認識しているファイルやディレクトリ名である。
（６０５６）ジョブの実行開始予定時間。ジョブが実行される予定の時間の情報を持つ。
（６０５７）ジョブの実行完了必須時間。ジョブの実行完了すべき時間の情報を持つ。ユーザが設定しない場合、空欄でもよい。【００４１】
図１１は装置管理サーバ６５が備える構成管理テーブル６５８である。構成管理テーブルは（６５８０）乃至（６５８７）の情報を持つ。構成管理テーブルの情報は、ファイルサーバ内のファイル構成管理テーブル２０４（ハイブリット制御サーバ５０内のファイル構成管理テーブル５１０）、ブロックストレージ内のブロック構成管理テーブル３０４および可搬型記憶装置構成管理テーブル４１３から生成される。これらの情報はストレージ管理プログラム６５４が各情報を格納している管理対象から定期的に収集する。構成管理テーブル６５８の各カラムの詳細はここでは割愛する。【００４２】
図１２は装置管理サーバ６５が備えるデータ管理テーブル６５９の説明である。データ管理テーブルは以下の（６５９０）乃至（６５９５）の情報を持つ。なお、データ管理テーブル７０６はデータ管理テーブル６５９と同じ構造で同じ情報を持つ。
（６５９０）データ識別子。管理対象となるデータを一意に識別する情報を示す。
（６５９１）データサイズ。当該データのサイズを示す。
（６５９２）装置。データが保存されている記憶装置の場所を示す。
（６５９３）装置内保存場所。データが保存されている記憶装置内の論理的な記憶領域の場所を示す。
（６５９４）  データパス。データが保存されている記憶装置内の記憶領域内のデータパスを示す。
（６５９５）最終アクセス時刻。当該データが最後にアクセスされた時刻を示す。【００４３】
図１３は装置管理サーバ６５が備えるジョブ対応関係権利管理テーブル６６０である。ジョブ対応関係管理テーブルはホスト計算機や管理計算機が実行する上位アプリケーションのジョブと、上位アプリケーションを実行するために、可搬型記憶装置のドライブが実行するジョブであるドライブ利用ジョブの対応関係を管理するテーブルである。ジョブ対応関係管理テーブルジョブは以下の（６６００）乃至（６６１０）の情報を持つ。
（６６００）上位アプリケーションのジョブ。ホスト計算機や管理計算機により指定された、上位アプリケーションが実行予定のジョブの識別子。
（６６０１）ジョブの内容がＲｅａｄ／Ｗｒｉｔｅいずれであるかを示す。
（６６０２）利用データ。各ジョブによって実行されるマシン上のアプリまたはスクリプトが利用するデータの情報を持つ。
（６６０３）上位ＡＰのジョブの実行開始予定時間。上位ＡＰのジョブが実行される予定の時間の情報を持つ。
（６６０４）上位ＡＰのジョブの実行完了必須時間。ジョブの実行完了すべき時間の情報を持つ。ユーザが設定しない場合、空欄でもよい。
（６６０５）ドライブ利用ジョブ。ユーザが入力した、もしくは、ドライブ利用処理計算プログラムによって計算されたジョブの識別子の情報を持つ。
（６６０６）必要とする可搬型記憶媒体。ドライブ利用ジョブがＲｅａｄ／Ｗｒｉｔｅ処理で利用する記憶媒体の識別子の情報を持つ。
（６６０７）利用予定ドライブ。ドライブ利用ジョブが利用予定のドライブの識別子の情報を持つ。
（６６０８）ドライブ占有開始予定時間。ドライブ利用ジョブが実行開始予定の時間の情報を持つ。
（６６０９）ドライブ占有終了予定時間。ドライブ利用ジョブの実行終了予定時間の情報を持つ。
（６６１０）関連ドライブ利用ジョブ。別のドライブ利用ジョブと関連がある場合、そのジョブの識別子の情報を持つ。ここで「関連があるジョブ」とは、ジョブで利用する記憶媒体が同じで両方処理が終わらなければデータ削除などの後処理が実行できないジョブを意味する。例えばＪｏｂ  αを必要とするＪｏｂ  Ａの実行が終了したとしても、Ｊｏｂ  γを利用するＪｏｂ  Ｃの実行が終了するまでは、データ削除を実施しない。本実施例ではジョブに対して、利用するドライブを管理しているが、ドライブの時刻毎にジョブが割り当てられているか管理しても良い。【００４４】
図１４Ａは装置管理サーバ６５が備えるＨＤＤ容量管理テーブル６６１である。ＨＤＤ容量管理テーブルは以下の（６６１１）乃至（６６１５）の情報を持つ。
（６６１１）装置。ＨＤＤを持つ装置の識別情報を示す。
（６６１２）Ｖｏｌｕｍｅ。装置内の論理ボリュームの識別子を示す。
（６６１３）時間。現在及び未来の時間を示す。なお、図任意の時間間隔でよく、また、現在過去の時間も管理してもよい。
（６６１４）全容量。Ｖｏｌｕｍｅに記載された論理ボリュームの全容量を示す。
（６６１５）空き容量。時間ごとの論理ボリュームの空き容量を示す。【００４５】
図１４Ｂは装置管理サーバ６５が備えるポリシー管理テーブル６６２を示す。ポリシー管理テーブル６６２は以下の（６６２０）乃至（６６２３）の情報を持つ。なお、ポリシー管理テーブル７０５はポリシー管理テーブル６６２と同じ構造で同じ情報を持つ。
（６６２０）ファイル。ファイルの識別情報を示す。なお、この実施例ではファイル単位にポリシーを設定しているがホスト単位やディレクトリ単位で移動ポリシーを設定しても良い。
（６６２１）階層。ファイルが存在するストレージ装置を示す。ここではブロックストレージ３０に格納されている場合をＳＴ１、ブロックストレージ３１に格納されている場合をＳＴ２、及び可搬型記憶装置４０に格納されている場合をＳＴ３とする。なお、ブロックストレージ３０内で異なる性質の記憶媒体を備える場合などは、ブロックストレージ３０に格納されているデータでも、ＳＴ０とＳＴ１の様に複数の階層に分かれても良い。また、可搬型記憶装置４０に性質の異なる記憶媒体としてＨＤＤと光ディスクが格納されている場合、ＳＴ３とＳＴ４の様に複数の階層に分かれても良い。
（６６２２）移動ポリシー。データの移動ポリシーを示す。図１４Ｂの場合、ＳＴ１に含まれるＦｉｌｅ１に対して、一ヶ月アクセスが無ければＳＴ２という別の階層へデータを移動する、ということを示す。
（６６２３）移動後の削除ポリシー。ポリシーに従ってデータを移動した後の元ファイルに対する処理内容を示す。【００４６】
図１５は実施例１における、全体の処理の流れを示す。実施例１では、上位のＲｅａｄジョブが入力されたときにプリフェッチ処理を実行するときのドライブ利用時間のスケジューリング処理の流れを示す。
（Ｓｔｅｐ１０００）各プログラムが定期的に情報を収集する。具体的には、まず、ユーザがジョブ管理サーバ６０の入出力装置６２０からジョブ実行情報（ジョブ種別、ジョブ実行マシン、利用アプリ／スクリプト、利用データ、実行時間、実行完了時間など）を入力する。次に、ジョブ管理プログラム６０が入力された内容に従い、ジョブ管理テーブル６０５を更新する。【００４７】
また、アーカイブ管理サーバ７０の階層管理プログラム７０４が各ホストのＯＳやアプリケーションからファイル情報を定期的に収集する。階層管理プログラム７０４がデータ管理テーブル７０６を更新する。【００４８】
また、装置管理サーバ６５のシステム管理プログラム６５５がファイルサーバ２０、ブロックストレージ３０、３１、ハイブリット制御サーバ５０、可搬型記憶装置４０、ジョブ管理サーバ６０、アーカイブ管理サーバ７０から定期的に、ファイル構成管理テーブル２０４、ブロック管理テーブル３０４、可搬型記憶装置管理テーブル４１３、ファイル構成管理テーブル５１０、ジョブ管理テーブル６０５、ポリシー管理テーブル７０５及びデータ管理テーブル７０６、を取得する。これらの情報取得頻度は各装置やテーブルごとに異なるタイミングで情報を取得しても良い。【００４９】
ストレージ管理プログラム６５４が構成管理テーブル６５８、データ管理テーブル６５９、ジョブ対応関係管理テーブル６６０、ＨＤＤ容量管理テーブル６６１、ポリシー管理テーブル６６２を更新する。システム管理プログラム６５５がジョブ管理サーバ６０から取得したジョブ情報とジョブ対応関係管理テーブル６６０の情報で差分があればドライブ利用処理計算プログラム６５６へ差分を通知する。
（Ｓｔｅｐ１１００）ドライブ利用処理計算プログラム６５６がジョブで必要となるデータをＲｅａｄするためのドライブ利用処理（プリフェッチ処理）に要する時間を計算する。
（Ｓｔｅｐ１２００）ドライブ利用処理計算プログラム６５６が事前に登録済みのジョブ情報とドライブに関する情報からジョブの実行順序とそのドライブ利用処理で利用するドライブを決定する。さらにそのドライブ利用処理をジョブとして登録する。
（Ｓｔｅｐ１３００）ジョブ管理プログラム６０４が各種ジョブ処理を実行する。
（Ｓｔｅｐ１４００）階層管理プログラム７０４がプリフェッチしたデータをポリシーに従って削除する。【００５０】
図１６ではＳｔｅｐ１１００のドライブ利用処理計算の詳細処理を説明する。実施例１ではドライブ利用処理としては記憶媒体からデータをＲｅａｄする処理を示す。
（Ｓｔｅｐ１１０１）ドライブ利用処理計算プログラム６５６がシステム管理プログラムか６５５からの通知により上位アプリのジョブ追加を検知する。
（Ｓｔｅｐ１１０２）ドライブ利用処理計算プログラム６５６がジョブ対応関係管理テーブル６６０から上位アプリ／スクリプトで必要となるデータ、及び時間を特定する。なお、スクリプトに記載されている実行アプリケーションの引数となっているデータを利用してもよい。
（Ｓｔｅｐ１１０３）ドライブ利用処理計算プログラム６５６がジョブ対応関係管理テーブル６６０とデータ管理テーブル６５９の内容から対象データの位置を調べる。その位置が可搬型記憶装置４０である場合はＳｔｅｐ１１０４へ進む。可搬型記憶装置４０に無い場合はＳｔｅｐ１１０６に進む。
（Ｓｔｅｐ１１０４）ドライブ利用処理計算プログラム６５６が構成管理テーブル６５８からドライブのＲｅａｄ性能とＨＤＤのＷｒｉｔｅ性能とロード時間を取得する。
（Ｓｔｅｐ１１０５）ドライブ利用処理計算プログラム６５６が必要となるデータのデータサイズと前のフローで取得した各種情報を用いてプリフェッチ（可搬型記憶装置からブロックストレージのＨＤＤへのコピー）に要する時間を算出する。例えば最も単純な算出方法としては、データのＲｅａｄに要する時間とコピーに要する時間とロード時間を足し合わせる方法が考えられる。すなわち、データのＲｅａｄに要する時間Ｔ＿ｒ［ｓｅｃ］について、データサイズＤ＿Ｓｉｚｅ［ＧＢ］、ドライブのＲｅａｄ性能をＰ＿Ｒ［ＧＢ／ｓｅｃ］とすると、Ｔ＿ｒ＝Ｄ＿Ｓｉｚｅ／Ｐ＿Ｒで計算する。またデータをＨＤＤにＷｒｉｔｅする時間Ｔ＿ｗ［ｓｅｃ］について、データサイズＤ＿Ｓｉｚｅ［ＧＢ］、ＨＤＤのＷｒｉｔｅ性能をＰ＿Ｗ［ＧＢ／ｓｅｃ］とすると、Ｔ＿ｗ＝Ｄ＿Ｓｉｚｅ／Ｐ＿Ｗで計算できる。ディスクのロード時間をＴ＿ｌ［ｓｅｃ］とすると、プリフェッチに要する時間Ｔ＿Ｐｒｅ＝Ｔ＿ｒ＋Ｔ＿ｗ＋Ｔ＿ｌと求めることができる。また、対象となるデータとデータが保存されているディスクが複数個あり、ドライブが複数台ある場合には、複数の処理を並列に実施してプリフェッチに要する時間を計算することも可能である。また、一部のデータのＲｅａｄが完了した後に、ＨＤＤへのＷｒｉｔｅが可能な場合は、Ｒｅａｄ完了前にＷｒｉｔｅを開始し、重複する時間を除くようにプリフェッチ時間を計算してもよい。また、ディスクのロード時間が位置によって異なる場合はそれを考慮に入れた計算をしてもよい。また、過去の計算結果と実際のプリフェッチ処理の実績時間を記録しておき、差分を元に計算時間を学習して計算させてもよい。また、その他の計算方法によってプリフェッチ時間を算出してもよい。
（Ｓｔｅｐ１１０６）ドライブ利用処理計算プログラム６５６が、本ジョブではプリフェッチ処理が不要と判断する。【００５１】
図１７を用いて、Ｓｔｅｐ１２００のジョブ実行順序と利用ドライブを決定する処理の詳細を説明する。
（Ｓｔｅｐ１２０１）ドライブ利用処理計算プログラム６５６が、ドライブを占有するジョブ情報をジョブ対応関係管理テーブル６６０から確認する。
（Ｓｔｅｐ１２０２）ドライブ利用処理計算プログラム６５６が、今回のドライブ利用処理のジョブで利用する可搬型記憶媒体と同じ可搬型記憶媒体を使用する、別のプリフェッチジョブが上位アプリのジョブ開始時間より前にあるかどうか調べる。前にあるならば図１８のＳｔｅｐ１２１０へ進む。前に無ければＳｔｅｐ１２０３へ進む。
（Ｓｔｅｐ１２０３）ドライブ利用処理計算プログラム６５６が、プリフェッチジョブの元となる上位アプリのバッチジョブ開始時間より前のドライブ空き時間をジョブ対応関係管理テーブル６６０から探索する。Ｓｔｅｐ１１０５で、複数のディスク、複数のドライブを並列でプリフェッチ可能かチェックしている場合、複数のドライブを探索対象とする。
（Ｓｔｅｐ１２０４）ドライブ利用処理計算プログラム６５６が、Ｓｔｅｐ１２０３で探索した空き時間の中でＨＤＤ空き容量が十分にある時間が存在するか調べる。空き容量が十分ある時間が存在する場合はＳｔｅｐ１２０６へ進む。無い場合はＳｔｅｐ１２０５へ進む。
（Ｓｔｅｐ１２０５）ドライブ利用処理計算プログラム６５６が、ジョブ管理プログラム６０４へエラーを返す。この結果、入出力装置６２０にユーザが登録しようとしたジョブが時間通りには実施できないことを表示することが可能となる。
（Ｓｔｅｐ１２０６）ドライブ利用処理計算プログラム６５６が、十分時間がある期間とそのドライブを選択し、その時間でプリフェッチジョブを実行するようジョブの順番を決定する。【００５２】
なお、ドライブ選択方法、ジョブの順番の決定方法としていくつかの方法が挙げられる。一つは単純前詰と呼ばれる方法が挙げられる。この方法は、ドライブ毎にジョブネット（ジョブの集合を持つことが可能なグループ）を用意し、ドライブ利用処理に要する時間を計算した後、そのジョブを現在時間に最も近い空き時間とドライブにジョブネットを設定する方法である。この方法の場合、時系列的に前から空きドライブにジョブを割り当てることが可能となる。【００５３】
また、ドライブ利用処理時間の計算精度が必ずしも正確でないため、常に時間的に前から割り当てるのではなく、他のジョブ間の間隔が最も大きい空き時間にジョブ実行時間を割り当てる方法も挙げられる。また、前詰の場合、上位ＡＰのジョブ処理が比較的遠い将来（１か月後、１年後など）に実行される場合、事前に実行する処理と上位ＡＰのジョブ実行時間の間隔が遠くなる。その場合、ＨＤＤの容量を必要以上に占有してしまうため、上位ＡＰのジョブ実行時間から期間を設けて、その期間以内に前詰するという方法も挙げられる。この期間は固定値でも良いし、上位ＡＰの種類や過去の実績から学習して適切な時間に動的に変更しても良い。また、ドライブの性能が良いもの、またはドライブの性能がプリフェッチ時間の予想を満たすものを優先的に選択する方法も挙げられる。また、その他の方法でジョブ実行時間やドライブを決定しても良い。
（Ｓｔｅｐ１２０７）ドライブ利用処理計算プログラム６５６が、ＨＤＤ空き容量テーブル６６１からプリフェッチデータ保持期間のＨＤＤ空き容量を減らす。
（Ｓｔｅｐ１２０８）ドライブ利用処理計算プログラム６５６が、指定したドライブでデータをプリフェッチするスクリプトを作成する。このスクリプトには階層管理プログラム７０４がハイブリット制御サーバ５０の階層管理エージェントを経由して光ディスクのデータをＨＤＤにコピーする処理が記載される。
（Ｓｔｅｐ１２０９）システム管理プログラム６５５が作成したスクリプトを実行するジョブをジョブ対応関係管理テーブル６６０と、ジョブ管理プログラム６０４経由でジョブ管理テーブル６０５に登録する。これにより処理が完了する。【００５４】
図１８はＳ１２０２で同じメディアを利用する他のジョブがあった場合のマージ処理を示す。
（Ｓｔｅｐ１２１０）ドライブ利用処理計算プログラム６５６が、Ｓｔｅｐ１２１１以降で複数のジョブをマージする処理を開始する。
（Ｓｔｅｐ１２１１）ドライブ利用処理計算プログラム６５６が、前のプリフェッチジョブで利用する可搬型記憶媒体と、今回のプリフェッチジョブで利用する可搬型記憶媒体を比較する。
（Ｓｔｅｐ１２１２）ドライブ利用処理計算プログラム６５６が、今回のプリフェッチジョブで利用する可搬型記憶媒体について、全てが前のプリフェッチジョブで利用する可搬型記憶媒体に含まれるかどうか調べる。全て含まれる場合はＳｔｅｐ１２１３へ進む。含まれない場合は、一部含まれる可搬型記憶媒体に対してのみＳｔｅｐ１２１３以降の処理を実施する。含まれない可搬型記憶媒体に対してはＳｔｅｐ１２０３の処理を実施する。
（Ｓｔｅｐ１２１３）ドライブ利用処理計算プログラム６５６が、今回のプリフェッチジョブに対応する上位ジョブに必要なデータを、前のプリフェッチジョブのプリフェッチデータ保持期間終了から上位ジョブ完了時刻まで、プリフェッチデータをＨＤＤ空き容量があるかを、ＨＤＤ空き容量テーブル６６１から調べる。空き容量がある場合はＳｔｅｐ１２１４へ進む。無い場合はＳｔｅｐ１２０３へ進む。
（Ｓｔｅｐ１２１４）ドライブ利用処理計算プログラム６５６が、ＨＤＤ空き容量テーブル６６１から前のプリフェッチデータ保持期間終了から上位ジョブ完了時刻までのＨＤＤ空き容量を減らす。
（Ｓｔｅｐ１２１５）ドライブ利用処理計算プログラム６５６が、今回のプリフェッチジョブは前のプリフェッチジョブで対応すると判断し、ジョブ対応関係管理テーブル６６０の関連プリフェッチジョブに前のプリフェッチジョブのジョブ識別子を登録する。そのときにドライブ占有開始予定時間とドライブ占有終了予定時間は空欄とする。【００５５】
図１９を用いてＳｔｅｐ１４００のプリフェッチデータ削除処理の詳細を説明する。
（Ｓｔｅｐ１４０１）ドライブ利用処理計算プログラム６５６が、上位ＡＰのジョブ実行が完了したか、システム管理プログラム６５５経由でジョブ管理プログラム６０４へ問い合わせする。またはジョブ管理プログラム６０４から上位ＡＰのジョブ完了通知を受け取ってもよい。その場合はＳｔｅｐ１４０３へ進む。
（Ｓｔｅｐ１４０２）上位ジョブが完了した場合はＳｔｅｐ１４０３へ進む。完了していない場合はＳｔｅｐ１４０１へ戻る。
（Ｓｔｅｐ１４０３）ドライブ利用処理計算プログラム６５６が、ジョブ対応関係管理テーブル６６０から、完了した上位ＡＰのジョブのドライブ利用ジョブが以降の上位ＡＰの関連ドライブ利用ジョブとなっていないか判断する。これは、以降の上位ＡＰでの利用を予定しているデータは消せないためである。上位ＡＰが無いかチェックする。
（Ｓｔｅｐ１４０４）Ｓｔｅｐ１４０３で確認した結果同じデータを利用する上位ＡＰがある場合はＳｔｅｐ１４０５へ進む。無い場合はＳｔｅｐ１４０６へ進む。
（Ｓｔｅｐ１４０５）同じデータを利用する上位ＡＰを対象に、Ｓ１４００を実行する。
（Ｓｔｅｐ１４０６）システム管理プログラム６５５が階層管理プログラム７０４に対してプリフェッチしたデータについてポリシー管理テーブルに従ってデータ削除を指示する。
（Ｓｔｅｐ１４０７）ストレージ管理プログラム６５４がＨＤＤ容量管理テーブル６６１のＨＤＤ空き容量を更新する。【００５６】
なお、本実施例ではデータをキャッシュする部分としてブロックストレージ３１の論理ボリュームを利用したが、可搬型記憶装置内のキャッシュメモリ４０４を利用しても良いし、階層ストレージの下位ストレージの記憶領域を利用してもよい。【００５７】
以上の処理により、可搬型記憶装置のドライブ利用処理をスケジューリングできアーカイブされるファイルを容量効率よく記憶することが可能となり、Ｒｅａｄ処理の待ちが発生しにくくなり結果として上位ＡＰの処理待ちが発生しにくくなる。
【実施例２】
【００５８】
実施例２ではＲｅａｄ処理だけではなくＷｒｉｔｅ処理も含めたジョブのスケジューリングを実施する。以下では実施例１との差分のみ説明する。実施例１との差分は、ドライブ利用処理の計算と、ジョブ実行順序と利用ドライブの計算の２つのシーケンスである。【００５９】
図２０を用いて、実施例２におけるドライブ利用処理のジョブの実行時間計算処理を説明する。
（Ｓｔｅｐ２１０１）Ｓｔｅｐ１１０１と同様に、ドライブ利用処理計算プログラム６５６が上位アプリのジョブ追加を検知する。これはＳｔｅｐ１０３２の結果発生する。または、階層管理プログラム７０４によるブロックストレージの論理ボリュームでのデータ蓄積完了やポリシーによる書き込み開始を検知し、ドライブ利用処理計算プログラム６５６へ通知する。ここで論理ボリュームでのデータ蓄積完了とは、論理ボリュームから可搬型記憶媒体へのデータ書き込みは上位ＡＰと常に連動するとは限らずデータを蓄積してから光ディスク１枚分データを貯めてからデータ書き込みを実施することや、１枚分貯めなくてもポリシーにしたがってデータ書き込みをすることがある。なお、この処理は必ずしも階層管理プログラム７０４が実施する必要は無く、ストレージ管理プログラム６５４やシステム管理プログラム６５５が実施しても良い。
（Ｓｔｅｐ２１０２）検知したジョブ処理の内容がＷｒｉｔｅ処理である場合はＳｔｅｐ２１０３へ進む。そうでない場合は実施例１のＳｔｅｐ１１０２以降の処理を実行する。
（Ｓｔｅｐ２１０３）Ｗｒｉｔｅ処理の書き込み先が可搬型記憶装置４０である場合はＳｔｅｐ２１０４へ進む。そうでない場合はＳｔｅｐ２１０５へ進む。
（Ｓｔｅｐ２１０４）ドライブ利用処理計算プログラム６５６が、書き出し予定のデータサイズと論理ボリュームのＲｅａｄ性能と書き出し先ディスク性能とロード時間からＷｒｉｔｅに要する時間を計算する。なお、時間の計算方法は、Ｓｔｅｐ１１０４と同様に、単純にデータサイズとドライブ、論理ボリューム性能とロード時間から算出しても良いし、過去の実績の履歴を保存し、学習により処理時間を改善していってもよい。また、複数ドライブ、複数ディスクを利用する場合は、並列で処理可能な場合に、プリフェッチ時間を短縮してもよい。さらに、重複する処理の部分を短縮してもよい。また、その他の手段で計算しても良い。
（Ｓｔｅｐ２１０５）ドライブ利用処理計算プログラム６５６が、書き出し予定のデータサイズと書き出し論理ボリューム性能からＷｒｉｔｅに要する時間を計算。【００６０】
図２１を用いてはジョブ実行順序と利用ドライブの決定方法について説明する。
（Ｓｔｅｐ２２０１）ドライブ利用処理計算プログラム６５６が、ドライブを占有するジョブ情報をジョブ対応関係管理テーブル６６０から確認する。
（Ｓｔｅｐ２２０２）Ｓｔｅｐ２１００で検知したジョブ処理の内容がＷｒｉｔｅ処理である場合はＳｔｅｐ２２０３へ進む。そうでない場合は実施例１のＳｔｅｐ１２０２以降の処理を実行する。
（Ｓｔｅｐ２２０３）Ｗｒｉｔｅ処理の書き込み先が可搬型記憶装置４０である場合はＳｔｅｐ２１０４へ進む。そうでない場合はＳｔｅｐ２１０５へ進む。
（Ｓｔｅｐ２２０４）ドライブ利用処理計算プログラム６５６が、Ｗｒｉｔｅジョブ実行時間でドライブ空き時間をジョブ対応関係管理テーブル６６０から探索する。
（Ｓｔｅｐ２２０５）空き時間がある場合はＳｔｅｐ２２０６へ進む。空き時間が無い場合は、ドライブ利用処理計算プログラム６５６が、ストレージ管理プログラム６５４、またはジョブ管理プログラム６０４へエラーを返す。この結果、入出力装置６７０、または６２０にエラーを表示することが可能となる。
（Ｓｔｅｐ２２０６）ドライブ利用処理計算プログラム６５６が、同じドライブ、ディスクを利用するジョブがあり、さらにその後に十分な空き時間があるかをチェックする。時間がある場合はＳｔｅｐ２２０７へ進む。時間が無い場合はＳｔｅｐ２２０８へ進む。
（Ｓｔｅｐ２２０７）ドライブ利用処理計算プログラム６５６が、その同じドライブを選択し、ジョブ対応関係管理テーブル６６０の開始、終了時間を同じドライブ・ディスクを利用するジョブの直後になるよう更新する。ドライブ利用ジョブカラムは空欄とする。  
（Ｓｔｅｐ２２０８）ドライブ利用処理計算プログラム６５６が、空いているドライブを選択する。【００６１】
なお、ドライブ選択方法、ジョブの順番の決定方法としていくつかの方法が挙げられる。実施例１のＳｔｅｐ１２０６の方法に加えて、例えばシェルフライフを考慮する方法が挙げられる。光ディスクのうち、ホログラムディスクでは構成管理テーブル６５８の媒体使用期限６５８６で管理されるデータ書込みまでの寿命があり、シェルフライフと呼ぶ。Ｗｒｉｔｅジョブの場合はブロックストレ―ジの論路ボリュームに空き容量があれば、実行時間を遅くする事が可能である一方で、このシェルフライフを考慮してＷｒｉｔｅジョブを実行する必要がある。【００６２】
そこで、シェルフライフの期限が近く、論理ボリュームに空きがが存在するジョブの近くにＷｒｉｔｅジョブを設定することにより、ホログラムディスクの容量を有効に利用することができる。また、ホストなどから可搬型記憶媒体へのＷｒｉｔｅ指示を受けることもある。これは書き換え不可能な記憶媒体にデータを格納した事を確定したいという意図で実施される。このようなＷｒｉｔｅ指示に基づくＷｒｉｔｅジョブは計算機からの指示に間に合うよう設定される。【００６３】
また、ホログラムディスクには追記処理を実行した場合に容量の無駄が発生することがあり、可能な限りデータをまとめてＷｒｉｔｅしたい。そのため、一度ＷｒｉｔｅデータをＨＤＤに蓄え、ある程度データを蓄積、まとめてからデータをホログラムディスクに書き出すことがある。このまとめる方法として何らかの関連がある複数のデータをまとめることがある。期限に間に合うドライブを選択した後、ジョブ対応関係管理テーブル６６０の開始、終了時間を更新し上位ＡＰのジョブ処理は空欄とする。  
（Ｓｔｅｐ２２０９）ストレージ管理プログラム６５４がＨＤＤ空き容量テーブルからＷｒｉｔｅ発生以降のＨＤＤ空き容量を減らす。【００６４】
以上の処理により、実施例１のＲｅａｄ処理だけでなくＲｅａｄ／Ｗｒｉｔｅ処理が混在するシステムにおいても可搬型記憶装置のドライブ利用処理をスケジューリングが可能となり、Ｒｅａｄ／Ｗｒｉｔｅ処理の待ちが発生しにくくなり結果として上位ＡＰの処理待ちが発生しにくくなる。
【実施例３】
【００６５】
実施例１、実施例２ではブロックストレージ３１のＨＤＤ容量管理テーブル６６１の予想をハイブリッド型記憶装置９１内の処理だけで管理していた。実施例３ではハイブリッド型記憶装置９１内の処理だけでなく、上位階層のファイルサーバ２０やブロックストレージ３０からのデータ移動処理も踏まえて、将来の容量を予測し、処理を実行する。以下では実施例２との差分のみ説明する。実施例２との差分は、各構成要素の情報取得処理のシーケンス（実施例１のＳｔｅｐ１０３０相当）である。【００６６】
図２２を用いて、実施例３における情報取得処理Ｓｔｅｐ３０３０を説明する。
（Ｓｔｅｐ３０３１）装置管理サーバ６５のシステム管理プログラム６５５がファイルサーバ２０、ブロックストレージ３０、３１、ハイブリット制御サーバ５０、可搬型記憶装置４０、ジョブ管理サーバ６０、アーカイブ管理サーバ７０から定期的に情報取得する。
（Ｓｔｅｐ３０３２）システム管理プログラム６５５が実施例１のＳｔｅｐ１０３２の処理に加え、アーカイブ管理サーバ７０から取得したデータ管理テーブル７０６の最終アクセス時間の情報とポリシー管理テーブル７０５の移動ポリシー情報からブロックストレージ３０からブロックストレージ３１に移動するデータとその時間を予測する。
（Ｓｔｅｐ３０３３）ストレージ管理プログラム６５４が移動するデータ容量と時間からＨＤＤ容量管理テーブル６６１の情報を更新する。さらに実施例１のＳｔｅｐ１０３３に記載のテーブルも更新する。  
以上の処理により、実施例２の処理に加え、ハイブリッド型記憶装置外のデータ移動も考慮して可搬型記憶装置のドライブ利用処理をスケジューリングが可能となり、ハイブリッド型記憶装置を含む階層ストレージシステムでの、Ｒｅａｄ／Ｗｒｉｔｅ処理の待ちが発生しにくくなり結果として上位ＡＰの処理待ちが発生しにくくすることが可能となる。
【実施例４】
【００６７】
実施例３までは、ジョブの実行順序と利用するドライブを決定するときに空き時間の探索を実施するが、空き時間が無い場合はエラーとしていた。実施例４では、空き時間が無い場合に既に登録済みのドライブ利用処理のジョブ実行時間をずらすことで新たに登録するドライブ利用処理が可能になるかどうかチェックする処理をする。以下では実施例１との差分のみ説明する。実施例１との差分は、ジョブ実行順序決定と利用ドライブ決定のシーケンス（実施例１のＳｔｅｐ１２００相当）である。【００６８】
図２３を用いて、実施例４におけるジョブ実行順序決定と利用ドライブ決定処理Ｓｔｅｐ４２００を説明する。
（Ｓｔｅｐ４２０１）実施例１のＳｔｅｐ１２０１からＳｔｅｐ１２０３までの処理を実行する。
（Ｓｔｅｐ４２０２）ドライブ利用処理計算プログラム６５６が、ドライブ空き時間をジョブ対応関係管理テーブル６６０から探索する。空き容量が十分ある時間が存在する場合は実施例１のＳｔｅｐ１２０６へ進む。無い場合はＳｔｅｐ４２０３へ進む。
（Ｓｔｅｐ４２０３）ドライブ利用処理計算プログラム６５６が、既に登録済みのドライブ利用ジョブ処理のドライブおよび時間を変更すれば空き時間ができるかどうかチェックする。空き時間ができる場合はＳｔｅｐ４２０４へ進む。できない場合はドライブ利用処理計算プログラム６５６が、ストレージ管理プログラム６５４、またはジョブ管理プログラム６０４へエラーを返す。この結果、入出力装置６７０、または６２０にエラーを表示することが可能となる。
（Ｓｔｅｐ４２０４）ドライブ利用処理計算プログラム６５６が、ジョブ対応関係管理テーブル６６０で既に登録済みジョブの開始時間、終了時間を変更する。なお、この変更方法はいくつかの方法が挙げられる。例えば、全ての登録済みドライブ利用処理のジョブを全て解除し、上位ＡＰのジョブ開始時間の早いもの、または処理時間が最も長いものから前詰で登録していく方法が挙げられる。または、最後に登録したドライブ利用ジョブから実行時間をずらしていき、新規ジョブが登録可能か設定する処理が挙げられる。【００６９】
または、登録済みジョブのうち、複数ドライブや複数データを利用するジョブで、ジョブ分割可能なものがあるか探索し、分割可能なものがあればジョブを細分化し、時間をずらすことでより空き時間作成しやすくして、ジョブの設定が可能かどうか調べる方法も挙げられる。また、単純にＲｅａｄとＷｒｉｔｅでは、Ｒｅａｄの方が緊急を要する可能性が高い為、ホストなどの計算機から、前記可搬端記憶媒体へのＷｒｉｔｅ指示に基づくＷｒｉｔｅの場合を除いては単純にＲｅａｄを優先しても良い。また、他の方法でジョブの開始時間、終了時間を変更しても良い。
（Ｓｔｅｐ４２０５）ドライブ利用処理計算プログラム６５６が、空いた時間とドライブを選択し、その時間でドライブ利用処理のジョブを実行するよう順番を決定する。
（Ｓｔｅｐ４２０６）ドライブ利用処理計算プログラム６５６が、変更および追加したドライブ利用処理のジョブを実行するスクリプトを作成及び変更する。
（Ｓｔｅｐ４２０７）システム管理プログラム６５５が、作成したスクリプトを実行するジョブを登録、及び変更したスクリプトを実行するジョブを変更するようにジョブ管理プログラム６０４に登録する。【００７０】
以上の処理により、既に登録済みのドライブ利用処理によってドライブの空きがなかった場合でも既存のドライブ利用処理実行時間を変更することで、新たな処理のスケジューリングが可能となり、Ｒｅａｄ／Ｗｒｉｔｅ処理待ちを発生しにくくすることができる。
【実施例５】
【００７１】
実施例４までは光ディスクが可搬型記憶装置内に存在することが前提となっていたが、光ディスクは必ずしも可搬型記憶装置に存在するとは限らず、例えば消費電力削減のために可搬型記憶装置外に移動しオフライン状態にすることもある。実施例５ではオフライン状態の光ディスクが存在する場合のドライブ利用スケジューリングの処理を説明する。以下では実施例１との差分のみ説明する。実施例１との差分は、オフライン管理用のテーブルが追加されること、ドライブ利用処理の時間予測処理のシーケンス（実施例１のＳｔｅｐ１１００相当）が変更することである。【００７２】
図２４Ａはオフライン管理で利用する可搬型記憶装置構成管理テーブル４１３Ｂである。可搬型記憶装置構成管理テーブル４１３Ｂは実施例１の可搬型記憶装置構成管理テーブル４１３にオンライン／オフラインカラム４１３５が追加されたものである。オフライン可搬型記憶媒体管理テーブル４１４は以下の（４１４０）乃至（４１４３）の情報を持つ。なお、オフライン管理テーブル４１４は可搬型記憶装置４０内のメモリ４０３内と、装置管理サーバ６５内のメモリ６５３内の両方に存在する。元データがメモリ４０３にあり、ストレージ管理プログラム６５４が定期的に収集する。またこのオフライン情報は可搬型記憶装置管理プログラム４１２によって更新される。【００７３】
まず、可搬型記憶装置構成管理テーブル４１３Ｂの差分のみ説明する。
（４１３５）オンライン／オフライン。ディスクがオンライン状態かオフライン状態かを示す。【００７４】
図２４Ｂを用いてオフライン可搬型記憶媒体管理テーブル４１４について説明する。
（４１４０）可搬型記憶媒体識別子。可搬型記憶媒体を一意に識別する情報を持つ。
（４１４１）保管場所。可搬型記憶媒体を保管している場所の識別子の情報を持つ。この情報には、物理的な場所（住所、建物、倉庫、棚、など）であればなんでも含むことができる。
（４１４２）タグ。可搬型記憶媒体を管理するためのタグ情報を持つ。この情報は可搬型記憶媒体識別子と同じでも良いし、管理用に新規に設定しても良い。
（４１４３）取得に要する時間。可搬型記憶媒体をオンラインにするための時間を持つ。この情報は正確であっても目安の情報であってもよい。【００７５】
図２５は可搬型記憶媒体がオフラインの場合のドライブ利用処理時間予測の処理Ｓｔｅｐ５１００を示す。
（Ｓｔｅｐ５１０１）実施例１のＳｔｅｐ１１０１、Ｓｔｅｐ１１０２の処理を実行する。
（Ｓｔｅｐ５１０２）ドライブ利用処理計算プログラム６５６が、ドライブ利用処理の対象データの位置が可搬型記憶装置４０かどうかをチェックする。可搬型記憶装置４０の場合はＳｔｅｐ５１０５へ進む。可搬型記憶装置４０で無い場合はＳｔｅｐ５１０３へ進む。
（Ｓｔｅｐ５１０３）ドライブ利用処理計算プログラム６５６が、ドライブ利用処理の対象データの位置がオフラインかどうかを調べる。オフラインの場合はＳｔｅｐ５１０４へ進む。そうでない場合は対象データの位置がＨＤＤにあると判断し、Ｓｔｅｐ５１０７へと進む。
（Ｓｔｅｐ５１０４）ドライブ利用処理計算プログラム６５６が、オフライン可搬型記憶媒体管理テーブル４１４から可搬型記憶媒体取得に要する時間を取得する。
（Ｓｔｅｐ５１０５）ドライブ利用処理計算プログラム６５６が、構成管理テーブルからドライブとＨＤＤのＲｅａｄ／Ｗｒｉｔｅ性能とロード時間を取得する。
（Ｓｔｅｐ５１０６）実施例１のＳｔｅｐ１１０５を実行する。
（Ｓｔｅｐ５１０７）ドライブ利用処理計算プログラム６５６が、プリフェッチ不要と判断する。【００７６】
以上の処理により、可搬型記憶媒体が可搬型記憶装置４０外にありオフライン状態の場合でもドライブを利用する処理のスケジューリングが可能となり、Ｒｅａｄ／Ｗｒｉｔｅ処理待ちを発生しにくくすることができる。
【符号の説明】
【００７７】
計算機システム：１、ホスト計算機：１０、装置管理サーバ：６５、ハイブリッド型記憶装置９１
【図１】
2016001959.tif 000003
【図２】
2016001959.tif 000004
【図３Ａ】
2016001959.tif 000005
【図３Ｂ】
2016001959.tif 000006
【図４】
2016001959.tif 000007
【図５】
2016001959.tif 000008
【図６Ａ】
2016001959.tif 000009
【図６Ｂ】
2016001959.tif 000010
【図７】
2016001959.tif 000011
【図８】
2016001959.tif 000012
【図９Ａ】
2016001959.tif 000013
【図９Ｂ】
2016001959.tif 000014
【図９Ｃ】
2016001959.tif 000015
【図１０】
2016001959.tif 000016
【図１１】
2016001959.tif 000017
【図１２】
2016001959.tif 000018
【図１３】
2016001959.tif 000019
【図１４Ａ】
2016001959.tif 000020
【図１４Ｂ】
2016001959.tif 000021
【図１５】
2016001959.tif 000022
【図１６】
2016001959.tif 000023
【図１７】
2016001959.tif 000024
【図１８】
2016001959.tif 000025
【図１９】
2016001959.tif 000026
【図２０】
2016001959.tif 000027
【図２１】
2016001959.tif 000028
【図２２】
2016001959.tif 000029
【図２３】
2016001959.tif 000030
【図２４Ａ】
2016001959.tif 000031
【図２４Ｂ】
2016001959.tif 000032
【図２５】
2016001959.tif 000033
【国際調査報告】
2016001959.tif 000034
2016001959.tif 000035
2016001959.tif 000036
2016001959.tif 000037