(57)【要約】【課題】計算機で実行されるジョブの処理効率を維持しつつ、ストレージシステムの電力消費量を低減させる。【解決手段】データを処理するジョブが実行される計算機に接続されるストレージシステムであって、ストレージコントローラ及びディスクドライブを備え、ストレージコントローラは、ディスクドライブの記憶領域を論理ボリュームに割り当てることによって計算機に提供し、ディスクドライブの回転を制御し、ジョブが実行される場合には、ジョブの実行順序及びジョブの負荷属性を含むジョブ情報を受信し、実行されるジョブによって一時的に使用されるファイルを格納するための論理ボリュームを要求された場合には、記憶領域が割り当てられていない論理ボリュームを選択し、ジョブの実行順序及びジョブの負荷属性の少なくとも一方に基づいて、選択された論理ボリュームに割り当てる記憶領域を選択し、論理ボリュームに割り当てる。【選択図】図１４
2009053921.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行することによってデータを処理するジョブが実行される計算機に接続されるストレージシステムであって、
前記計算機に接続されるインターフェースと、前記インターフェースに接続されるストレージコントローラと、前記計算機によって読み書きされるデータを格納するディスクドライブと、を備え、
前記ストレージコントローラは、
前記ディスクドライブの記憶領域を論理ボリュームに割り当てることによって前記計算機に提供し、
前記ディスクドライブの回転を制御し、
前記ジョブが実行される場合には、前記ジョブの実行順序及び前記ジョブの負荷属性を含むジョブ情報を前記計算機から受信し、
前記実行されるジョブによって一時的に使用されるファイルを格納するための論理ボリュームを前記計算機から要求された場合には、前記記憶領域が割り当てられていない論理ボリュームを選択し、
前記ジョブの実行順序及び前記ジョブの負荷属性の少なくとも一方に基づいて、前記選択された論理ボリュームに割り当てる記憶領域を選択し、
前記選択された記憶領域を前記選択された論理ボリュームに割り当て、
前記選択された論理ボリュームを前記計算機に通知することを特徴とするストレージシステム。
【請求項２】
前記負荷属性は、前記計算機による演算処理の負荷が大きいことを示す第１の負荷属性と、前記論理ボリュームにデータを読み書きする負荷が大きいことを示す第２の負荷属性と、を含むことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記ストレージコントローラは、前記実行されるジョブが前記第１の負荷属性を有する場合には、前記実行されるジョブと異なるジョブであって、前記第１の負荷属性を有するジョブによって一時的に使用されるファイルを格納する論理ボリュームに割り当てられた記憶領域を、前記選択された記憶領域とすることを特徴とする請求項２に記載のストレージシステム。
【請求項４】
前記ジョブは、一連の業務処理を実行するジョブの集合に含まれ、
前記ストレージコントローラは、
前記実行されるジョブが前記第１の負荷属性を有する場合には、前記集合に属するジョブであって、同時に実行される可能性が高いジョブによってアクセスされる各論理ボリュームに割り当てられる記憶領域の数の和の最大値を算出し、
前記実行されるジョブと同時に実行される可能性が高いジョブであって、前記第２の負荷属性を有するジョブによってアクセスされる論理ボリュームに割り当てられる記憶領域の数の和を算出し、
前記算出された最大値と前記算出された記憶領域の数の和との差が１よりも大きい場合には、前記第１の負荷属性を有するジョブによって一時的に使用されるファイルを格納する論理ボリュームに割り当てられた記憶領域よりも、いずれの論理ボリュームにも割り当てられていない記憶領域を優先して選択することを特徴とする請求項３に記載のストレージシステム。
【請求項５】
前記ストレージコントローラは、前記実行されるジョブが前記第２の負荷属性を有する場合には、いずれの論理ボリュームにも割り当てられていない記憶領域を、前記選択された記憶領域とすることを特徴とする請求項２に記載のストレージシステム。
【請求項６】
前記ストレージコントローラは、前記選択された記憶領域を前記選択された論理ボリュームに割り当てる場合に、前記選択された記憶領域を提供するディスクドライブの回転を開始することを特徴とする請求項１に記載のストレージシステム。
【請求項７】
前記ストレージコントローラは、前記選択された記憶領域を前記選択された論理ボリュームに割り当てる場合に、前記選択された記憶領域を提供するディスクドライブの回転を停止させないように制御することを特徴とする請求項１に記載のストレージシステム。
【請求項８】
前記ストレージコントローラは、回転状態のディスクドライブによって提供される記憶領域を、非回転状態のディスクドライブによって提供される記憶領域よりも優先して選択することを特徴とする請求項１に記載のストレージシステム。
【請求項９】
前記ストレージコントローラは、
前記実行順序に基づいて、前記実行されるジョブの後に実行されるジョブを特定し、
前記特定されたジョブが実行された場合にアクセスされる論理ボリュームに割り当てられる記憶領域を提供するディスクドライブの回転を開始することを特徴とする請求項１に記載のストレージシステム。
【請求項１０】
前記ストレージコントローラは、
前記実行順序に基づいて、前記実行されるジョブの後に実行されるジョブを特定し、
前記特定されたジョブが実行された場合にアクセスされる論理ボリュームに割り当てられる記憶領域を提供するディスクドライブの回転が停止しないように制御することを特徴とする請求項１に記載のストレージシステム。
【請求項１１】
プログラムを実行することによってデータを処理するジョブが実行され、ストレージシステムに接続される計算機であって、
前記ストレージシステムは、
回転を制御可能なディスクドライブを備え、
前記ディスクドライブの記憶領域を論理ボリュームに割り当てることによって前記計算機に提供し、
前記計算機は、前記ストレージシステムに接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記メモリは、
前記論理ボリュームが処理性能を優先するか電力消費量を優先するかを示す用途属性を含む論理ボリューム情報を記憶し、
前記ジョブの実行順序及び前記ジョブの負荷属性を含むジョブ情報を記憶し、
前記プロセッサは、
前記ジョブを実行する場合には、前記ジョブの負荷属性及び前記論理ボリュームの用途属性に基づいて、前記ジョブが実行された場合に一時的に使用されるファイルを格納するための論理ボリュームを選択し、
前記選択された論理ボリュームに対する記憶領域の割当要求を、前記選択された論理ボリュームの用途属性とともに前記ストレージシステムに送信し、
前記ジョブの実行が完了した場合には、前記ジョブの実行が完了したことを前記ストレージシステムに通知することを特徴とする計算機。
【請求項１２】
前記プロセッサは、
前記ジョブ情報に含まれる実行順序に基づいて、前記実行されるジョブの後に実行されるジョブを特定し、
前記特定されたジョブによってアクセスされるすべての論理ボリュームを抽出し、
前記抽出された論理ボリュームを前記ストレージシステムに通知し、
前記通知された論理ボリュームに割り当てられる記憶領域を提供するディスクドライブの回転を開始するように、前記ストレージシステムに要求することを特徴とする請求項１１に記載の計算機。
【請求項１３】
前記計算機は、実行待ちのジョブを格納するジョブキューを備え、
前記プロセッサは、
前記ジョブの実行順序に基づいて、前記ジョブキューにジョブを格納し、
前記ジョブキューから実行待ちのジョブが取り出される前に、前記実行待ちのジョブによってアクセスされるすべての論理ボリュームを抽出し、
前記実行待ちのジョブによってアクセスされるすべての論理ボリュームに割り当てられる記憶領域を提供するディスクドライブの回転を開始するように、前記ストレージシステムに要求することを特徴とする請求項１１に記載の計算機。
【請求項１４】
プログラムを実行することによってデータを処理するジョブが実行される計算機と、前記計算機によって読み書きされるデータを格納するストレージシステムを含む計算機システムであって、
前記計算機は、前記ストレージシステムに接続される第１インターフェースと、前記第１インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記ストレージシステムは、前記計算機に接続される第２インターフェースと、前記第２インターフェースに接続されるストレージコントローラと、前記計算機によって読み書きされるデータを格納するディスクドライブと、を備え、
前記ストレージコントローラは、
前記ディスクドライブの記憶領域を論理ボリュームに割り当てることによって前記計算機に提供し、
前記ディスクドライブの回転を制御し、
前記メモリは、
前記論理ボリュームが処理性能を優先するか電力消費量を優先するかを示す用途属性を含む論理ボリューム情報を記憶し、
前記ジョブの実行順序及び前記ジョブの負荷属性を含むジョブ情報を記憶し、
前記プロセッサは、
前記ジョブを実行する場合には、前記ジョブの負荷属性及び前記論理ボリュームの用途属性に基づいて、前記ジョブを実行する場合に一時的に使用されるファイルを格納するための論理ボリュームを選択し、
前記選択された論理ボリュームに対する記憶領域の割当要求を、前記選択された論理ボリュームの用途属性とともに前記ストレージシステムに送信し、
前記ストレージコントローラは、
前記選択された論理ボリュームに対する記憶領域の割当要求を受信すると、前記選択された論理ボリュームの用途属性に基づいて、前記選択された論理ボリュームに割り当てる記憶領域を選択し、
前記選択された記憶領域を前記選択された論理ボリュームに割り当て、
前記プロセッサは、前記ジョブの実行が完了した場合に、前記ジョブの実行が完了したことを前記ストレージシステムに通知し、
前記ストレージコントローラは、前記ジョブが完了したことを通知されると、前記選択された論理ボリュームに割り当てられた記憶領域を開放することを特徴とする計算機システム。
【請求項１５】
前記負荷属性は、前記計算機による演算処理の負荷が大きいことを示す第１の負荷属性と、前記論理ボリュームにデータを読み書きする負荷が大きいことを示す第２の負荷属性と、を含むことを特徴とする請求項１４に記載の計算機システム。
【請求項１６】
前記ストレージコントローラは、前記実行されるジョブが前記第１の負荷属性を有する場合には、前記実行されるジョブと異なるジョブであって、前記第１の負荷属性を有するジョブによって一時的に使用されるファイルを格納する論理ボリュームに割り当てられた記憶領域を、前記選択された記憶領域とすることを特徴とする請求項１５に記載の計算機システム。
【請求項１７】
前記ジョブは、一連の業務処理を実行するジョブの集合に含まれ、
前記ストレージコントローラは、
前記実行されるジョブが前記第１の負荷属性を有する場合には、前記集合に属するジョブであって、同時に実行される可能性が高いジョブによってアクセスされる各論理ボリュームに割り当てられる記憶領域の数の和の最大値を算出し、
前記実行されるジョブと同時に実行される可能性が高いジョブであって、前記第２の負荷属性を有するジョブによってアクセスされる論理ボリュームに割り当てられる記憶領域の数の和を算出し、
前記算出された最大値と前記算出された記憶領域の数の和との差が１よりも大きい場合には、前記第１の負荷属性を有するジョブによって一時的に使用されるファイルを格納する論理ボリュームに割り当てられた記憶領域よりも、いずれの論理ボリュームにも割り当てられていない記憶領域を優先して選択することを特徴とする請求項１６に記載の計算機システム。
【請求項１８】
前記ストレージコントローラは、前記実行されるジョブが前記第２の負荷属性を有する場合には、いずれの論理ボリュームにも割り当てられていない記憶領域を、前記選択された記憶領域とすることを特徴とする請求項１５に記載の計算機システム。
【請求項１９】
前記プロセッサは、
前記ジョブ情報に含まれる実行順序に基づいて、前記実行されるジョブの後に実行されるジョブを特定し、
前記特定されたジョブによってアクセスされるすべての論理ボリュームを抽出し、
前記抽出された論理ボリュームを前記ストレージシステムに通知し、
前記ストレージコントローラは、前記通知された論理ボリュームに割り当てられる記憶領域を提供するディスクドライブの回転を開始することを特徴とする請求項１４に記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを格納するストレージシステムに関し、特に、ストレージシステムの消費電力を低減する技術に関する。
【背景技術】
【０００２】
ホスト計算機において実行されるユーザプログラムによって使用される作業用の一時ファイルが、ストレージシステムによって提供される記憶領域に割り当てられる場合がある。この場合に、ジョブ管理機能によって割り当てられる論理ボリュームの選択について、ユーザプログラムの優先順位に対応した性能の論理ボリュームを選択する技術が開示されている（特許文献１参照）。また、特許文献１に開示された技術では、一時ファイルを格納する論理ボリュームを、空き容量又は入出力負荷を基準に選択する方法、及び、入出力負荷の少ない順に選択する方法が開示されている。
【０００３】
また、ストレージシステムの消費電力を低減するための技術として、ＭＡＩＤ（Ｍａｓｓｉｖｅ Ａｒｒａｙｓ ｏｆ Ｉｄｌｅ Ｄｉｓｋｓ）と呼ばれる技術が開示されている。ＭＡＩＤ技術は、ディスクドライブの制御回路による消費電力、及び、ディスクドライブが発する熱を排熱するために使用する電力を低減するために、非活動状態にあるディスクドライブの回転を停止させたり、電源を切断させたりする。
【特許文献１】特開平７−８４８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された一時ファイル領域の論理ボリューム割当方法では、プログラムの処理効率又は容量を考慮して一時ファイルが割り当てられるが、電力消費量については考慮されていない。処理効率のみを考慮して一時ファイルを多数のディスクドライブに分散して割り当てると、ＭＡＩＤ技術が採用されたストレージシステムであってもＭＡＩＤが有効に機能せず、電源投入状態又は回転状態のディスクドライブ数が増大し、電力消費量が増大してしまう。しかし、ＭＡＩＤが有効に機能するように割当先のディスクドライブを局所化すると、処理効率が低下してしまう。
【０００５】
本発明は、このような問題点に鑑みてなされたものであり、ホスト計算機上で実行されるプログラムの処理効率を維持しつつ、ストレージシステムの電力消費量を削減する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の代表的な一形態では、プログラムを実行することによってデータを処理するジョブが実行される計算機に接続されるストレージシステムであって、前記計算機に接続されるインターフェースと、前記インターフェースに接続されるストレージコントローラと、前記計算機によって読み書きされるデータを格納するディスクドライブと、を備え、前記ストレージコントローラは、前記ディスクドライブの記憶領域を論理ボリュームに割り当てることによって前記計算機に提供し、前記ディスクドライブの回転を制御し、前記ジョブが実行される場合には、前記ジョブの実行順序及び前記ジョブの負荷属性を含むジョブ情報を前記計算機から受信し、前記実行されるジョブによって一時的に使用されるファイルを格納するための論理ボリュームを前記計算機から要求された場合には、前記記憶領域が割り当てられていない論理ボリュームを選択し、前記ジョブの実行順序及び前記ジョブの負荷属性の少なくとも一方に基づいて、前記選択された論理ボリュームに割り当てる記憶領域を選択し、前記選択された記憶領域を前記選択された論理ボリュームに割り当て、前記選択された論理ボリュームを前記計算機に通知する。
【発明の効果】
【０００７】
本発明の一形態によれば、計算機で実行されるジョブの処理効率を維持しつつ、ストレージシステムの電力消費量を低減することができる。
【発明を実施するための最良の形態】
【０００８】
以下、各図を参照しながら本発明の実施の形態について説明する。
【０００９】
（第１の実施の形態）
図１は、本発明の第１の実施の形態の計算機システム９のハードウェア構成を示す図である。
【００１０】
計算機システム９は、計算機１及びストレージシステム２を含む。計算機１及びストレージシステム２は、それぞれ複数含まれていてもよい。計算機１とストレージシステム２とは、通信ネットワーク４を介して接続される。通信ネットワーク４は、例えば、ＳＡＮ（Storage Area Network）、ＬＡＮ(Local Area Network)、ＷＡＮ（Wide Area Network）、インターネット、専用回線、公衆回線などである。
【００１１】
計算機１は、主記憶装置１０、ＣＰＵ（Central Processing Unit）１１、及び入出力インターフェース１２を備える。
【００１２】
主記憶装置１０は、ＣＰＵ１１によって実行されるプログラム及び処理に必要な情報を記憶する。主記憶装置１０は、半導体メモリなどによって構成される。主記憶装置１０は、ジョブ管理プログラム１０００、ジョブネット定義情報１００、ジョブ定義情報１１０、ジョブファイル定義情報１２０及び論理ボリュームリスト１３０を記憶する。
【００１３】
ジョブ管理プログラム１０００は、ＣＰＵ１１に実行されることによって、ストレージシステム２にジョブ及びジョブネットなどの情報を送信し、ストレージシステム２に各種処理の実行を要求する。
【００１４】
ジョブとは、一定期間蓄積したデータを一括して処理するバッチ処理を、計算機１に要求する単位である。また、ジョブネットとは、実行順序を関連づけたジョブの集合である。
【００１５】
ジョブネット定義情報１００は、ジョブネットの定義情報が格納される。ジョブネット定義情報１００の詳細は、図８Ａにて後述する。
【００１６】
ジョブ定義情報１１０は、ジョブの定義情報を格納する。ジョブ定義情報１１０の詳細は、図９Ａにて後述する。
【００１７】
ジョブファイル定義情報１２０は、各ジョブの実行時にアクセスされるファイルの定義情報を格納する。ジョブファイル定義情報１２０の詳細は、図９Ｂにて後述する。
【００１８】
論理ボリュームリスト１３０は、ストレージシステム２によって提供される論理ボリュームの情報を格納する。なお、論理ボリュームリスト１３０は、本発明の第１の実施の形態では使用されず、本発明の第２の実施の形態にて使用される。
【００１９】
ＣＰＵ１１は、主記憶装置１０に記憶されたジョブ管理プログラム１０００などを実行し、各種処理を実行する。
【００２０】
入出力インターフェース１２は、通信ネットワーク４を介してストレージシステム２にアクセスするためのインターフェースであり、例えば、ホストバスアダプタである。
【００２１】
ストレージシステム２は、コントローラ部２０及びストレージ部３０を含む。コントローラ部２０は、計算機１からのデータの入出力要求に応答して入出力制御を行う。ストレージ部３０は、計算機１によって入出力されるデータを格納する。
【００２２】
コントローラ部２０は、一つ又は複数のチャネルアダプタ（ＣＨＡ：CHannel Adapter）２１、一つ又は複数のディスクアダプタ（ＤＫＡ：DisK Adapter）２２、共有メモリ２３、及び接続部２４を備える。
【００２３】
ＣＨＡ２１は、計算機１とデータを通信するインターフェースである。ＤＫＡ２２は、ディスクドライブ３１とデータを通信するインターフェースである。ＣＨＡ２１及びＤＫＡ２２は、ＣＰＵ、メモリ、複数の通信ポート等を備えたマイクロコンピュータシステム（例えば、回路基盤）として構成することができる。
【００２４】
ＣＨＡ２１は、計算機１からの読み出し要求を受信すると、ＤＫＡ２２に指定されたデータの読み出しを要求する。ＤＫＡ２２は、要求された内容に基づいて、ディスクドライブ３１からデータを読み出し、ＣＨＡ２１に応答する。ＣＨＡ２１は、応答されたデータを計算機１に送信する。
【００２５】
共有メモリ２３は、ストレージシステム２の制御のためにＣＨＡ２１又はＤＫＡ２２に参照される情報を格納する。共有メモリ２３は、例えば、揮発性又は不揮発性のメモリである。共有メモリ２３は、ＬＵ管理テーブル２００、仮想ＬＤＥＶ管理テーブル２１０、ＬＤＥＶ管理テーブル２２０、アドレスマッピング管理テーブル２３０、回転状態管理テーブル２４０、及びジョブ情報管理テーブル２５０などの情報を記憶する。
【００２６】
ＬＵ管理テーブル２００は、論理ユニットと当該論理ユニットに割り当てられた論理デバイスとの関係を格納する。ＬＵ管理テーブル２００の詳細は、図４にて後述する。
【００２７】
仮想ＬＤＥＶ管理テーブル２１０は、後述する仮想ＬＤＥＶ３５に割り当てられる論理デバイスのリストを格納する。仮想ＬＤＥＶ管理テーブル２１０の詳細は、図５にて後述する。
【００２８】
ＬＤＥＶ管理テーブル２２０は、論理デバイスを提供するＲＡＩＤグループなどを格納する。ＬＤＥＶ管理テーブル２２０の詳細は、図６にて後述する。
【００２９】
アドレスマッピング管理テーブル２３０は、仮想ＬＤＥＶ３５内の記憶領域のアドレスとＬＤＥＶ３３内の記憶領域のアドレスとの対応を格納する。アドレスマッピング管理テーブル２３０の詳細は、図７にて後述する。
【００３０】
回転状態管理テーブル２４０は、ＲＡＩＤグループ３２ごとのディスクドライブ３１の回転状態を格納する。回転状態管理テーブル２４０の詳細は、図２にて後述する。
【００３１】
ジョブ情報管理テーブル２５０は、計算機１から送信されたジョブの情報を格納する。ジョブ情報管理テーブル２５０の詳細は、図１１にて後述する。
【００３２】
接続部２４は、ＣＨＡ２１、ＤＫＡ２２、及び共有メモリ２３を相互に接続する。接続部２４は、例えば、クロスバースイッチである。
【００３３】
ストレージ部３０は、ディスクドライブ３１を含む。ディスクドライブ３１は、データを格納するための物理的な記憶領域を提供する。ディスクドライブ３１は、例えば、ＦＣ（Fibre Channel）ディスクドライブ、ＳＡＴＡ（Serial Advanced Technology Attachment）ディスクドライブ、ＰＡＴＡ（Parallel Advanced Technology Attachment）ディスクドライブ、ＦＡＴＡ（Fibre Attached Technology Adapted）ディスクドライブ、ＳＣＳＩ（Small Computer System Interface）ディスクドライブである。
【００３４】
ＲＡＩＤグループ３２は、複数のディスクドライブ３１がグループ化されて構成される。例えば、４つのディスクドライブ３１を一組としてグループ化することによって（３Ｄ＋１Ｐ）、論理的な記憶領域であるＲＡＩＤグループ３２が定義される。
【００３５】
ディスクドライブ３１は、ＤＫＡ２２内のメモリに格納された制御プログラムからＳＣＳＩコマンドなどの命令が発行されると、ディスクドライブ３１のディスクの回転状態を変更することができる。非回転状態(スピンオフ）から回転状態（スピンオン）に変更することをスピンアップ、回転状態から非回転状態に移行することをスピンダウンという。ＤＫＡ２２は、例えば、一定時間アクセスがない場合にはスピンダウンの命令をディスクドライブ３１に発行したり、スピンオフのディスクドライブ３１に入出力命令を発行する前にスピンアップさせる命令を発行する。スピンアップ及びスピンダウンの制御単位は、本発明の第１の実施の形態では一つのＲＡＩＤグループ３２であるが、複数のＲＡＩＤグループを制御単位としてもよい。
【００３６】
なお、ＤＫＡ２２は、ディスクドライブ３１のスピンアップ／スピンダウンを制御する替わりに、ストレージシステム２内にディスクドライブ３１の電源制御回路を設けて、電源制御回路を経由して、ディスクドライブ３１の電源のＯＮ／ＯＦＦを制御してもよい。ＤＫＡ２２がディスクドライブ３１の電源ＯＮ／ＯＦＦを制御する場合には、以下に説明する各処理において、「回転」を「電源」に、「スピンダウン」を「電源切断」に、「スピンアップ」を「電源投入」に、それぞれに置き換えればよい。
【００３７】
論理デバイス（ＬＤＥＶ：Logical DEVice）３３は、ＲＡＩＤグループ３２に定義される論理的な記憶領域である。ＬＤＥＶ３３は、ＲＡＩＤグループ３２を構成するディスクドライブ３１によって提供される物理的な記憶領域が論理的に分割された記憶領域を一つ又は複数含む記憶領域である。ＬＤＥＶ３３に格納されるデータと、当該データに基づいて生成されたパリティは、複数のディスクドライブ３１に分散されて格納される。
【００３８】
論理ユニット（ＬＵ：Logical Unit）３４は、ＬＤＥＶ３３又は仮想ＬＤＥＶ３５が割り当てられた論理的な記憶領域である。計算機１は、各ＬＵ３４を一つの論理ボリュームとして認識する。
【００３９】
仮想ＬＤＥＶ３５は、一部又はすべての領域にディスクドライブ３１によって提供される記憶領域が割り当てられていない論理デバイスである。仮想ＬＤＥＶ３５は、必要に応じてディスクドライブ３１によって提供される記憶領域が割り当てられる。一方、ＬＤＥＶ３３は、ＬＤＥＶ３３が定義された時点で、ＬＤＥＶ３３内のすべての領域にディスクドライブ３１によって提供される記憶領域が割り当てられる。仮想ＬＤＥＶ３５が割り当てられているＬＵ３４を仮想ＬＵ、仮想ＬＤＥＶ３５が割り当てられておらず直接ＬＤＥＶ３３が割り当てられているＬＵ３４を実ＬＵと定義する。
【００４０】
図２は、本発明の第１の実施の形態の回転状態管理テーブル２４０の構成を示す図である。
【００４１】
回転状態管理テーブル２４０は、ＲＡＩＤグループ３２ごとにエントリが設けられる。回転状態管理テーブル２４０は、ＲＡＩＤグループ識別子２４１、回転状態フラグ２４２、最終アクセス時刻２４３、及びスピンダウン禁止フラグ２４４を含む。
【００４２】
ＲＡＩＤグループ識別子２４１は、ＲＡＩＤグループ３２をストレージシステム２内で一意に識別する識別子である。
【００４３】
回転状態フラグ２４２は、ＲＡＩＤグループ３２を構成するディスクドライブ３１がスピンオンであるかスピンオフであるかを判別するフラグである。回転状態フラグ２４２の値が“ＯＮ”の場合はスピンオンであって、“ＯＦＦ”の場合はスピンオフである。
【００４４】
最終アクセス時刻２４３は、ＲＡＩＤグループ３２を構成するディスクドライブ３１が最後にアクセスされた時刻である。
【００４５】
スピンダウン禁止フラグ２４４は、ディスクドライブ３１に一定時間アクセスがない場合でもスピンオン状態を維持するためのフラグであって、フラグがＯＮであればスピンダウンを禁止する。
【００４６】
なお、ＤＫＡ２２がディスクドライブ３１の電源ＯＮ／ＯＦＦを制御する場合には、「回転状態フラグ」を「電源状態フラグ」に、「スピンダウン禁止フラグ」を「電源切断禁止フラグ」とすればよい。
【００４７】
図３は、本発明の第１の実施の形態の論理ユニットと論理デバイスとの関係の一例を示す図である。
【００４８】
ＬＵ３４Ａは、ディスクドライブ３１によって構成されたＲＡＩＤグループ３２によって提供されるＬＤＥＶ３３Ａが直接マッピングされている実ＬＵを示している。
【００４９】
一方、ＬＵ３４Ｂ及びＬＵ３４Ｃは、ＬＵ３４ＡのようにＬＤＥＶ３３に直接マッピングされておらず、仮想ＬＤＥＶ３５Ｂ及び仮想ＬＤＥＶ３５Ｃにマッピングされている仮想ＬＵを示している。
【００５０】
仮想ＬＤＥＶ３５は、計算機１から仮想ＬＵにデータ出力が要求された場合に、ＬＤＥＶ３３の集合の中からＬＤＥＶ３３によって提供される記憶領域の一部又は全部を動的に割り当てる。例えば、仮想ＬＤＥＶ３５Ｃでは、ＬＤＥＶ３３の集合にＬＤＥＶ３３Ｃ及びＬＤＥＶ３３Ｄが含まれている。ＬＵ３４Ｃにデータを出力する場合には、ＬＤＥＶ３３Ｃ及びＬＤＥＶ３３Ｄによって提供される記憶領域を仮想ＬＤＥＶ３５Ｃに動的に割り当てる。
【００５１】
図４は、本発明の第１の実施の形態のＬＵ管理テーブル２００の構成を示す図である。
【００５２】
ＬＵ管理テーブル２００は、ストレージシステム２に含まれるすべての実ＬＵ及び仮想ＬＵのエントリを格納する。ＬＵ管理テーブル２００は、ＬＵ識別子２０１、仮想化フラグ２０２、及びＬＤＥＶ識別子リスト２０３を含む。
【００５３】
ＬＵ識別子２０１は、ＬＵ３４をストレージシステム２内で一意に識別するための識別子である。ＬＵ識別子２０１は、例えば、ＣＣＡ（Channel Connection Address）、又は、ＬＵＮ（Logical Unit Number）とチャネル番号（ＣＨＡ２１の識別子）との組である。
【００５４】
仮想化フラグ２０２は、ＬＵ３４に仮想ＬＤＥＶ３５が割り当てられているか否かを判別するためのフラグである。仮想化フラグ２０２の値が“ＯＦＦ”の場合には、ＬＵ３４はＬＤＥＶ３３に直接マッピングされていることを示し、仮想化フラグ２０２の値が“ＯＮ”の場合には、仮想ＬＤＥＶ３５にマッピングされていることを示している。
【００５５】
ＬＤＥＶ識別子リスト２０３は、仮想化フラグ２０２が“ＯＦＦ”の場合に、ＬＵ３４にマッピングされたＬＤＥＶ３３のＬＤＥＶ識別子が記述されたリストである。ＬＤＥＶ識別子は、ＬＤＥＶ３３をストレージシステム２内で一意に識別するための識別子である。ＬＤＥＶ識別子は、例えば、論理デバイス番号（ＬＤＥＶ＃）である。
【００５６】
ＬＤＥＶ識別子リスト２０３は、仮想化フラグ２０２の値が“ＯＮ”の場合には、ＬＵ３４にマッピングされた仮想ＬＤＥＶ３５の仮想ＬＤＥＶ識別子が記述されたリストである。仮想ＬＤＥＶ識別子は、仮想ＬＤＥＶ３５をストレージシステム２内で一意に識別するための識別子である。仮想ＬＤＥＶ識別子は、ＬＤＥＶ識別子とは別の管理体系を有する。
【００５７】
図５は、本発明の第１の実施の形態の仮想ＬＤＥＶ管理テーブル２１０の構成を示す図である。
【００５８】
仮想ＬＤＥＶ管理テーブル２１０は、ストレージシステム２内のすべての仮想ＬＤＥＶ３５について、仮想ＬＤＥＶ３５ごとのエントリを格納する。仮想ＬＤＥＶ管理テーブル２１０は、仮想ＬＤＥＶ識別子２１１及びＬＤＥＶ識別子リスト２１２を含む。
【００５９】
仮想ＬＤＥＶ識別子２１１は、仮想ＬＤＥＶ３５を識別する識別子である。ＬＤＥＶ識別子リスト２１２は、仮想ＬＤＥＶ３５の記憶領域にマッピングさせる記憶領域を提供するＬＤＥＶ３３のＬＤＥＶ識別子のリストである。
【００６０】
図６は、本発明の第１の実施の形態のＬＤＥＶ管理テーブル２２０の構成を示す図である。
【００６１】
ＬＤＥＶ管理テーブル２２０は、ストレージシステム２に定義されたすべてのＬＤＥＶ３３について、ＬＤＥＶ３３ごとにエントリが格納される。ＬＤＥＶ管理テーブル２２０は、ＬＤＥＶ識別子２２１、ＲＡＩＤグループ識別子２２２、割当状態２２３、及び一時用途属性２２４を含む。
【００６２】
ＬＤＥＶ識別子２２１は、ＬＤＥＶ３３を識別する識別子である。ＲＡＩＤグループ識別子２２２は、記憶領域を提供するＬＤＥＶ３３が定義され、ディスクドライブ３１によって構成されるＲＡＩＤグループ３２の識別子である。
【００６３】
割当状態２２３は、ＬＵ３４にＬＤＥＶ３３が割り当てられている状態を示す値を格納する。具体的には、ＬＵ３４にＬＤＥＶ３３が直接割り当てられている場合には“Ｒ”、仮想ＬＤＥＶ３５が割り当てられている場合には“Ｖ”、未割り当ての場合には“Ｎ”が設定される。
【００６４】
一時用途属性２２４は、割当状態２２３に“Ｖ”が割り当てられているＬＤＥＶ３３について、当該ＬＤＥＶに割り当てられる一時ファイルの属性が格納される。具体的には、ＣＰＵ負荷が高いＣＰＵバウンドジョブの一時ファイルが割り当てられている場合には“Ｃ”が格納される。また、入出力（Ｉ／Ｏ）負荷が高いＩ／Ｏバウンドジョブの一時ファイルが割り当てられている場合には“Ｉ”が格納される。
【００６５】
図７は、本発明の第１の実施の形態のアドレスマッピング管理テーブル２３０の構成を示す図である。
【００６６】
アドレスマッピング管理テーブル２３０は、仮想ＬＤＥＶ３５によって提供される記憶領域のアドレスとＬＤＥＶ３３によって提供される記憶領域のアドレスとのマッピング情報を格納する。アドレスマッピング管理テーブル２３０は、仮想ＬＤＥＶ３５ごとに作成され、ＬＤＥＶ３３にマッピングされた（すなわち、ディスクドライブ３１に実データが存在する）仮想ＬＤＥＶ３５内のアドレスごとにエントリが格納される。アドレスとは、仮想ＬＤＥＶ３５及びＬＤＥＶ３３をそれぞれ一定のサイズで区切って番号を割り当てたものであり、仮想ＬＤＥＶ３５と当該仮想ＬＤＥＶ３５が使用するＬＤＥＶ群との間で対応がとれればよい。
【００６７】
アドレスマッピング管理テーブル２３０は、仮想ＬＤＥＶのアドレス２３１、当該仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３の識別子２３２、及び当該ＬＤＥＶ３３のアドレス２３３を含む。
【００６８】
ここで、計算機１においてバッチ処理を実行する場合に必要なプログラム及び情報について説明する。具体的には、ジョブ管理プログラム１０００、ジョブネット定義情報１００、ジョブ定義情報１１０及びジョブファイル定義情報１２０である。
【００６９】
計算機１のＣＰＵ１１は、ジョブ管理プログラム１０００を実行することによって、計算機１からアクセス可能な論理ボリューム（をマッピングしたＬＤＥＶ３３）に格納された定義ファイルを読み出す。読み出される定義ファイルは、具体的には、ジョブネット定義ファイル１０９及びジョブ定義ファイル１１９である。
【００７０】
計算機１のＣＰＵ１１は、読み出された定義ファイルを解析し、ジョブネット定義情報１００、ジョブ定義情報１１０及びジョブファイル定義情報１２０に解析された情報を格納する。
【００７１】
以下、ジョブネット定義情報１００の構成を図８Ａに、ジョブネット定義ファイル１０９の一例を図８Ｂに示す。また、ジョブ定義情報１１０の構成を図９Ａに、各ジョブでアクセスされるファイルの定義情報であるジョブファイル定義情報１２０の構成を図９Ｂに、ジョブ定義ファイル１１９の一例を図９Ｃに示す。ファイルとは、論理ボリュームに格納されたデータの論理的なまとまりであって、計算機１のプログラムからアクセスされる単位である。
【００７２】
図８Ａは、本発明の第１の実施の形態のジョブネット定義情報１００の構成を示す図である。
【００７３】
ジョブネット定義情報１００は、ジョブごとにエントリが格納される。ジョブネット定義情報１００は、ジョブネット識別子１０１、ジョブ識別子１０２、先行ジョブ識別子１０３、及び開始時刻１０４を含む。
【００７４】
ジョブネット識別子１０１は、ジョブネットを識別する識別子である。ジョブ識別子１０２は、ジョブネットに含まれる各ジョブを計算機システム９内で一意に識別するための識別子である。先行ジョブ識別子１０３は、先行して実行されるジョブの識別子である。開始時刻１０４は、ジョブネットの開始時刻１０４である。
【００７５】
図８Ａを参照すると、ＪＯＢ２及びＪＯＢ３の先行ジョブ識別子がＪＯＢ１になっており、ＮＥＴ１は、ＪＯＢ１の実行完了を待って、ＪＯＢ２とＪＯＢ３とを並列実行するジョブネットであることを示している。ＪＯＢ１は、毎日１時に実行される。
【００７６】
図８Ｂは、本発明の第１の実施の形態のジョブネット定義ファイル１０９の一例を示す図である。
【００７７】
“UNIT=NET ID=”に続く“NET1”は、ジョブネット識別子１０１を示している。“START=”に続く“01:00:00”がジョブネットの開始時刻１０４を示している。“UNIT=JOB ID=”に続く“JOB1”がジョブ識別子１０２を表す。“F=”に続く“JOB1”が先行ジョブ識別子１０３を示している。
【００７８】
図９Ａは、本発明の第１の実施の形態のジョブ定義情報１１０の構成を示す図である。
【００７９】
ジョブ定義情報１１０は、ジョブごとにエントリを格納する。ジョブ定義情報１１０は、ジョブ識別子１１１及び負荷属性１１２を含み、さらに、実行するプログラムの名称など、ジョブの実行に必要な情報を格納する。
【００８０】
ジョブ識別子１１１は、ジョブを識別する識別子である。負荷属性１１２は、ＣＰＵ負荷が高いＣＰＵバウンドジョブであるか、Ｉ／Ｏ負荷が高いＩ／Ｏバウンドジョブであるかを判別するための情報である。ＣＰＵバウンドジョブの場合には“Ｃ”が格納され、Ｉ／Ｏバウンドジョブの場合には“Ｉ”が格納される。
【００８１】
図９Ｂは、本発明の第１の実施の形態のジョブファイル定義情報１２０の構成を示す図である。
【００８２】
ジョブファイル定義情報１２０は、ファイルごとにエントリが格納される。ジョブファイル定義情報１２０は、ジョブ内でアクセスするファイルに関する情報を保持する。ジョブファイル定義情報１２０は、ジョブ識別子１２１、ファイルタイプ１２２、ファイル識別子１２３、及びＬＵ識別子１２４を含む。
【００８３】
ジョブ識別子１２１は、ジョブを識別する識別子である。ファイルタイプ１２２は、ジョブがアクセスするファイルが恒久ファイルであるか一時ファイルであるかを識別するための情報である。恒久ファイルとは、ジョブ開始前から存在し、ジョブ終了後も削除されないファイルである。一時ファイルとは、ジョブ内で作業用に使用され、ジョブ終了後に不要となるファイルである。ファイルタイプ１２２は、恒久ファイルの場合には“ＰＥＲＭ”が格納され、一時ファイルの場合には“ＴＥＭＰ”が格納される。
【００８４】
ファイル識別子１２３は、恒久ファイルの場合はファイルのパス名（図９では“/dir/fileName”）を格納する。一時ファイルの場合は、一時ファイルをジョブ内のプログラムから識別するための一時ファイル識別子（図９では“Ａ”）を格納する。
【００８５】
ＬＵ識別子１２４は、恒久ファイルの場合には、論理ボリュームのＬＵ識別子２０１を格納する。論理ボリュームのＬＵ識別子２０１は、恒久ファイルが格納された論理ボリュームの識別子（例えば、デバイスの識別子又はデバイス番号）をＯＳが提供するインターフェースを利用してパス名から取得し、ストレージシステム２に問い合わせることによって取得される。
【００８６】
図９Ｃは、本発明の第１の実施の形態のジョブ定義ファイル１１９の一例を示す図である。
【００８７】
先頭行の“JOB ID=”に続く“JOB1”は、ジョブ識別子１１１（１２１）を示している。“PERFORM=”に続く“I”は、負荷属性１１２がＩ／Ｏバウンドジョブであることを示している。
【００８８】
２行目は、“/dir/fileName”のパスにある恒久ファイルが、JOB1の処理においてアクセスされることを示している。なお、２行目に“TYPE=PERM”と記述することによって恒久ファイルであることを明示してもよい。３行目は、“JOB1”の処理で識別子が“A”である一時ファイルが使用されることを示している。
【００８９】
図１０は、本発明の第１の実施の形態のジョブ情報送信処理１１００の手順を示すフローチャートである。本処理は、計算機１のＣＰＵ１１がジョブ管理プログラム１０００を処理することによって実行される。
【００９０】
計算機１のＣＰＵ１１は、利用者によって実行が指定されたジョブネットのジョブネット定義ファイル１０９をストレージシステム２などから読み出し、主記憶装置１０にジョブネット定義情報１００を格納可能な大きさのメモリ領域を割り当てる。次に、読み出されたジョブネット定義ファイル１０９の情報を解析する。そして、ジョブネット定義ファイル１０９に記述されたジョブネット識別子１０１、ジョブ識別子１０２、及び先行ジョブ識別子１０３を抽出し、ジョブネット定義情報１００に格納する（ステップ１１０１）。
【００９１】
計算機１のＣＰＵ１１は、ジョブネット定義情報１００内の各エントリのジョブ識別子１０２に対応したジョブのジョブ定義ファイル１１９をストレージシステム２などから読み出す。そして、主記憶装置１０にジョブ定義情報１１０及びジョブファイル定義情報１２０を格納可能な大きさのメモリ領域を割り当てる。次に、読み出されたジョブ定義ファイル１１９を解析する。ジョブ定義ファイル１１９に記述されたジョブ識別子１１１、負荷属性１１２、ファイルタイプ１２２、ファイル識別子１２３、及びＬＵ識別子１２４を抽出し、ジョブ定義情報１１０及びジョブファイル定義情報１２０に格納する（ステップ１１０２）。
【００９２】
計算機１のＣＰＵ１１は、ジョブ情報の送信要求命令をストレージシステム２に送信する。さらに、計算機１のＣＰＵ１１は、ジョブネット定義情報１００の全エントリについて、ジョブネット識別子１０１、ジョブ識別子１０２及び先行ジョブ識別子１０３をストレージシステム２に送信する（ステップ１１０３）。
【００９３】
計算機１のＣＰＵ１１は、さらに、ジョブ定義情報１１０の全エントリについて、ジョブ識別子１１１及び負荷属性１１２をストレージシステム２に送信する（ステップ１１０４）。
【００９４】
計算機１のＣＰＵ１１は、ジョブ定義情報１１０のエントリごとに、ジョブ識別子１１１と一致するジョブ識別子１２１を有するジョブファイル定義情報１２０のエントリをすべて抽出する。そして、ジョブ識別子１１１と、抽出されたエントリにファイルタイプ１２２の値が“ＴＥＭＰ”であるエントリが一つでも含まれるか否かを判定する一時ファイル情報と、抽出されたエントリのすべてのＬＵ識別子１２４とを、ストレージシステム２に送信する（ステップ１１０５）。
【００９５】
ストレージシステム２のコントローラ部２０は、ジョブ情報送信処理１１００のステップ１１０３からステップ１１０５までの処理によって計算機１から送信された情報をＣＨＡ２１を介して受信すると、共有メモリ２３に割り当てられたジョブ情報管理テーブル２５０に保存する。
【００９６】
図１１は、本発明の第１の実施の形態のジョブ情報管理テーブル２５０の構成を示す図である。
【００９７】
ジョブ情報管理テーブル２５０は、ジョブごとに設けたエントリが格納される。ジョブ情報管理テーブル２５０は、ジョブネット識別子２５１、ジョブ識別子２５２、先行ジョブ識別子２５３、負荷属性２５４、一時ファイル２５５、ＬＵ識別子２５６、仮想ＬＵ識別子２５７及びＬＤＥＶ数２５８を含む。
【００９８】
ジョブネット識別子２５１は、エントリに対応するジョブが含まれているジョブネットの識別子である。ジョブ識別子２５２は、エントリに対応するジョブの識別子である。先行ジョブ識別子２５３は、エントリに対応するジョブに先行して処理されるジョブの識別子である。
【００９９】
負荷属性２５４は、ジョブ定義情報１１０の負荷属性１１２に対応する。負荷属性２５４には、ＣＰＵ負荷が高いＣＰＵバウンドジョブであるか、Ｉ／Ｏ負荷が高いＩ／Ｏバウンドジョブであるかを判別するための情報が格納される。
【０１００】
一時ファイル２５５は、ジョブ識別子２５２に対応するジョブが一時ファイルを使用するか否かを判別するための情報が格納される。
【０１０１】
ＬＵ識別子２５６は、ジョブ識別子２５２に対応するジョブによってアクセスされるすべての恒久ファイルが割り当てられているＬＵ３４の識別子のリストである。
【０１０２】
仮想ＬＵ識別子２５７は、事前に割り当てられた一時ファイル格納先である仮想ＬＵの識別子のリストである。ＬＤＥＶ数２５８は、仮想ＬＵ識別子２５７によって識別される仮想ＬＵに対応する仮想ＬＤＥＶ３５に割り当てられるＬＤＥＶ３３の数である。
【０１０３】
図１２は、本発明の第１の実施の形態のジョブ情報受信処理２１００の手順を示すフローチャートである。
【０１０４】
本処理は、コントローラ部２０に格納された制御プログラムを処理することによって実行される。本処理では、計算機１から送信されたジョブの情報をジョブ情報管理テーブル２５０に格納する。
【０１０５】
ストレージシステム２のコントローラ部２０は、ＣＨＡ２１が計算機１からジョブ情報の送信要求命令を受信すると（ステップ２１０１）、ジョブ情報受信処理を開始する。
【０１０６】
ストレージシステム２のＣＨＡ２１は、ジョブネット識別子１０１、ジョブ識別子１０２、及び先行ジョブ識別子１０３の組を受信する。ストレージシステム２のコントローラ部２０は、受信したデータの組ごとに、ジョブ情報管理テーブル２５０に新たなエントリを追加し、ジョブネット識別子２５１、ジョブ識別子２５２及び先行ジョブ識別子２５３に受信したデータを格納する（ステップ２１０２）。
【０１０７】
ストレージシステムのＣＨＡ２１は、ジョブ識別子１１１及び負荷属性１１２の組を受信する。ストレージシステム２のコントローラ部２０は、受信したジョブ識別子１１１と一致するジョブ識別子２５２を有するエントリに負荷属性１１２を格納する（ステップ２１０３）。
【０１０８】
ストレージシステム２のＣＨＡ２１は、ジョブ識別子１１１、一時ファイル情報及び一つ以上のＬＵ識別子の組を受信する。ストレージシステム２のコントローラ部２０は、受信したジョブ識別子１１１と一致するジョブ識別子２５２を有するエントリに、一時ファイル２５５及びＬＵ識別子２５６を格納する（ステップ２１０４）。
【０１０９】
ここで、各ジョブを実行する際の処理について説明する。
【０１１０】
計算機１のＣＰＵ１１は、開始時刻１０４が現在時刻と一致するジョブのエントリがジョブネット定義情報１００に含まれる場合には、当該ジョブの実行を開始する。
【０１１１】
また、計算機１のＣＰＵ１１は、ジョブネット定義情報１００のエントリに対応するジョブが実行可能な状態になると、当該ジョブによってアクセスされる恒久ファイル及び一時ファイルを格納するＬＵ（論理ボリューム）にジョブ実行前処理１２００を実行し、その後、当該ジョブを実行する。実行可能な状態になったジョブとは、開始時刻１０４が経過した未実行のジョブ、又は、先行ジョブの処理が完了した未実行のジョブである。
【０１１２】
なお、ジョブ実行前処理１２００は、ジョブが実行可能な状態になる前に、例えば、ジョブネットを開始したときに、すべてのジョブに対して実行してもよい。
【０１１３】
また、計算機１で同時に実行可能なジョブ数が制限され、ジョブが実行可能な状態になったときに同時に実行可能なジョブ数の上限に達している場合には、実際にジョブの実行が開始されるまでの任意の時点にジョブ実行前処理１２００を実行すればよい。例えば、ジョブが実行待ちジョブキューに含まれている間にジョブ実行前処理１２００を実行することによって、アクセス対象の論理ボリュームをスピンアップさせ、ジョブの実行開始時にスピンアップされるまで待機することなくジョブを実行することができる。
【０１１４】
図１３は、本発明の第１の実施の形態のジョブ実行前処理１２００の手順を示すフローチャートである。本処理は、計算機１のＣＰＵ１１がジョブ管理プログラム１０００を処理することによって実行される。
【０１１５】
計算機１のＣＰＵ１１は、ジョブ識別子１２１が実行対象ジョブのジョブ識別子と一致するエントリを、ジョブファイル定義情報１２０から抽出する（ステップ１２０１）。
【０１１６】
計算機１のＣＰＵ１１は、抽出されたエントリにファイルタイプ１２２の値が“ＴＥＭＰ”であるエントリが含まれているか否か判定する（ステップ１２０２）。抽出されたエントリにファイルタイプ１２２の値が“ＴＥＭＰ”であるエントリが含まれていない場合には（ステップ１２０２の結果が「Ｎｏ」）、ステップ１２０６の処理を実行する。
【０１１７】
計算機１のＣＰＵ１１は、抽出されたエントリにファイルタイプ１２２の値が“ＴＥＭＰ”であるエントリが含まれている場合には（ステップ１２０２の結果が「Ｙｅｓ」）、ストレージシステム２にジョブ識別子を送信し、一時ファイルの割当先となる論理ボリュームの仮想ＬＵにＬＤＥＶ３３の割り当てを要求する（ステップ１２０３）。そして、ストレージシステム２からＬＤＥＶ３３の割り当てが完了した旨の応答が送信されるまで待機する。
【０１１８】
計算機１のＣＰＵ１１は、ストレージシステム２からの応答を受信すると、ストレージシステム２から応答されたＬＵ識別子をＬＵ識別子１２４に記録する（ステップ１２０４）。さらに、ＬＵ識別子１２４によって特定される論理ボリュームをマウントする（ステップ１２０５）。
【０１１９】
計算機１のＣＰＵ１１は、マウント先のディレクトリのパス名、又は、マウント先のディレクトリに生成された一時ファイルのパス名を、環境変数又は引数などによって実行されるジョブに通知する。
【０１２０】
計算機１のＣＰＵ１１は、抽出されたエントリにファイルタイプ１２２の値が“ＰＥＲＭ”であるエントリが含まれているか否かを判定する（ステップ１２０６）。抽出されたエントリにファイルタイプ１２２の値が“ＰＥＲＭ”であるエントリが含まれている場合には（ステップ１２０６の結果が「Ｙｅｓ」）、ＬＵ識別子１２４によって特定される論理ボリュームのスピンアップをストレージシステム２に要求する（ステップ１２０７）。ステップ１２０７の処理において、抽出されたエントリのＬＵ識別子１２４によって特定される論理ボリュームにアクセスすることによってスピンアップさせてもよい。
【０１２１】
図１４は、本発明の第１の実施の形態の仮想ＬＵ割当処理２２００の手順を示すフローチャートである。本処理は、コントローラ部２０に格納された制御プログラムを処理することによって実行される。
【０１２２】
ストレージシステム２のコントローラ部２０は、図１３のステップ１２０３の処理によって計算機１から送信された仮想ＬＵ割当要求及びジョブ識別子をＣＨＡ２１が受信すると（ステップ２２０１）、仮想ＬＵ割当処理を開始する。
【０１２３】
ストレージシステム２のコントローラ部２０は、まず、ＬＵ管理テーブル２００から、仮想化フラグ２０２が“ＯＮ”であって、ＬＤＥＶ識別子リスト２０３に示される仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられていない仮想ＬＵを検索する（ステップ２２０２）。
【０１２４】
次に、ストレージシステム２のコントローラ部２０は、受信したジョブ識別子とジョブ識別子２５２とが一致するエントリをジョブ情報管理テーブル２５０から検索する（ステップ２２０３）。
【０１２５】
ストレージシステム２のコントローラ部２０は、ジョブ情報管理テーブル２５０から検索されたエントリのＬＤＥＶ数２５８が記録されているか否かを判定する（ステップ２２０４）。検索されたエントリのＬＤＥＶ数２５８が記録されていない場合には（ステップ２２０４の結果が「Ｎｏ」）、ＬＤＥＶ数算出処理２３００を実行し、ジョブに割り当てるＬＤＥＶ数を求める（ステップ２２０５）。
【０１２６】
さらに、ストレージシステム２のコントローラ部２０は、負荷属性２５４に応じてＬＤＥＶ３３を選択するために、検索された負荷属性２５４の負荷属性２５４の値が“Ｉ”であるか否かを判定する（ステップ２２０６）。
【０１２７】
ストレージシステム２のコントローラ部２０は、負荷属性２５４の値が“Ｉ”である場合には（ステップ２２０６の結果が「Ｙｅｓ」）、Ｉ／ＯバウンドジョブのＬＤＥＶ選択処理を実行し、仮想ＬＤＥＶ３５にＬＤＥＶ３３を割り当てる（ステップ２４００）。
【０１２８】
ストレージシステム２のコントローラ部２０は、負荷属性２５４の値が“Ｃ”である場合には（ステップ２２０６の結果が「Ｎｏ」）、ＣＰＵバウンドジョブのＬＤＥＶ選択処理を実行し、仮想ＬＤＥＶ３５にＬＤＥＶ３３を割り当てる（ステップ２５００）。
【０１２９】
ストレージシステム２のコントローラ部２０は、ステップ２２０２の処理で検索された仮想ＬＵに対応する仮想ＬＤＥＶ３５のＬＤＥＶ識別子リスト２１２に、ステップ２４００又はステップ２５００の処理で割り当てられたＬＤＥＶ３３の識別子を記録する（ステップ２２０９）。
【０１３０】
ストレージシステム２のコントローラ部２０は、新たに割り当てられたすべてのＬＤＥＶ３３、及び、ＬＵ識別子２５６に対応するＬＵに割り当てられているすべてのＬＤＥＶ３３を提供するＲＡＩＤグループ３２に対応する回転状態管理テーブル２４０のエントリのスピンダウン禁止フラグ２４４を“ＯＮ”に設定する（ステップ２２１０）。ジョブの実行中に使用中のディスクドライブがスピンダウンされることによって、処理性能が低下することを防止するためである。
【０１３１】
ストレージシステム２のコントローラ部２０は、ステップ２２１０の処理でスピンダウン禁止フラグ２４４が“ＯＮ”に設定されたＲＡＩＤグループ３２に対応するエントリについて、回転状態フラグ２４２が“ＯＦＦ”であるか否かを判定する（ステップ２２１１）。ＲＡＩＤグループ３２の回転状態フラグ２４２が“ＯＦＦ”である場合には（ステップ２２１１の結果が「Ｙｅｓ」）、当該ＲＡＩＤグループ３２に属する全ディスクドライブ３１をスピンアップする（ステップ２２１２）。
【０１３２】
最後に、ストレージシステム２のコントローラ部２０は、ステップ２２０２で割り当てられた仮想ＬＵのＬＵ識別子を、ＣＨＡ２１から計算機１に送信する（ステップ２２１３）。
【０１３３】
図１５は、本発明の第１の実施の形態のＬＤＥＶ数算出処理２３００の手順を示すフローチャートである。
【０１３４】
ストレージシステム２のコントローラ部２０は、受信したジョブ識別子とジョブ識別子２５２とが一致するジョブ情報管理テーブル２５０のエントリについて、負荷属性２５４の値が“Ｃ”、すなわち、ジョブの負荷属性がＣＰＵバウンドであるか否かを判定する（ステップ２３０１）。
【０１３５】
ストレージシステム２のコントローラ部２０は、該当するエントリの負荷属性２５４の値が“Ｃ”である場合には（ステップ２３０１の結果が「Ｙｅｓ」）、該当するエントリのＬＤＥＶ数２５８に１を記録する（ステップ２３０２）。ＣＰＵバウンドジョブの場合には、ディスクアクセスによる処理負荷が小さいため、使用するＬＤＥＶ３３の数を１に設定することによって省電力化を図ることができる。
【０１３６】
ストレージシステム２のコントローラ部２０は、該当するエントリの負荷属性２５４の値が“Ｃ”でない場合、すなわち、“Ｉ”である場合には（ステップ２３０１の結果が「Ｎｏ」）、必要なＬＤＥＶ数を算出し、該当するエントリのＬＤＥＶ数２５８に算出された値を記録する（ステップ２３０３）。具体的には、ステップ２２０２の処理で割り当てられた仮想ＬＵと計算機１との間の時間当たりの最大転送データ量と、ディスクドライブ３１の時間当たりの最大転送データ量とに基づいて、ディスクドライブ３１を複数割り当てることによって転送性能が向上するディスクドライブ３１の上限を算出する。Ｉ／Ｏバウンドジョブの場合には、ディスクアクセスによる処理負荷が大きいため、処理性能を最大限向上させるＬＤＥＶ数を設定する。
【０１３７】
ストレージシステム２のコントローラ部２０は、受信したジョブ識別子によって特定されるジョブが含まれるジョブネットと同じジョブネットに属するジョブに対し、ステップ２３０１からステップ２３０３までの処理を実行し、ＬＤＥＶ数２５８を設定する（ステップ２３０４）。
【０１３８】
以下、本発明の第１の実施の形態の仮想ＬＵ割当処理において、ファイルを割り当てるＬＤＥＶを選択する手順について説明する。図１６には、実行対象のジョブの負荷属性がＩ／Ｏバウンドジョブである場合、図１７には、実行対象のジョブの負荷属性がＣＰＵバウンドジョブである場合のＬＤＥＶ選択処理について説明する。
【０１３９】
以下の説明において、ＲＡＩＤグループ識別子２２２と一致するＲＡＩＤグループ識別子２４１のエントリの回転状態フラグ２４２が“ＯＮ”であるＬＤＥＶを“スピンオンＬＤＥＶ”と定義する。一方、ＲＡＩＤグループ識別子２２２と一致するＲＡＩＤグループ識別子２４１のエントリの回転状態フラグ２４２が“ＯＦＦ”であるＬＤＥＶを“スピンオフＬＤＥＶ”と定義する。
【０１４０】
また、割当状態２２３が“仮想ＬＤＥＶ”、かつ、一時用途属性２２４の値が“Ｃ”であるＬＤＥＶを“Ｃ−ＬＤＥＶ”と定義する。一方、割当状態２２３が“仮想ＬＤＥＶ”、かつ、一時用途属性２２４の値が“Ｉ”であるＬＤＥＶを“Ｉ−ＬＤＥＶ”と定義する。割当状態２２３が“仮想ＬＤＥＶ”、かつ、一時用途属性２２４の値が“Ｃ”又は“Ｉ”いずれでもないＬＤＥＶを“非一時ＬＤＥＶ”と定義する。割当状態２２３の値が“未割当”であるＬＤＥＶを“未割当ＬＤＥＶ”と定義する。
【０１４１】
図１６は、本発明の第１の実施の形態のＩ／ＯバウンドジョブのＬＤＥＶ選択処理２４００の手順を示すフローチャートである。
【０１４２】
ストレージシステム２のコントローラ部２０は、未割当ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索する。さらに、スピンオン未割当ＬＤＥＶ、スピンオフ未割当ＬＤＥＶの優先順位で、ＬＤＥＶ数２５８に達するまで検索されたＬＤＥＶ３３を仮想ＬＤＥＶ３５に割り当てる（ステップ２４０１）。このとき、仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３に対応するＬＤＥＶ管理テーブル２２０のエントリについて、一時用途属性２２４を“Ｉ”を設定する。
【０１４３】
ストレージシステム２のコントローラ部２０は、ステップ２４０１の処理で仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３の数がＬＤＥＶ数２５８に達したか否かを判定する（ステップ２４０２）。
【０１４４】
ストレージシステム２のコントローラ部２０は、仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３の数がＬＤＥＶ数２５８に達していない場合には（ステップ２４０２の結果が「Ｎｏ」）、非一時ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索する。複数のＬＤＥＶが検索された場合には、スピンオン非一時ＬＤＥＶ、スピンオフ非一時ＬＤＥＶの優先順位で、検索されたＬＤＥＶ３３をＬＤＥＶ数２５８に達するまで仮想ＬＤＥＶ３５に割り当てる。ただし、検索されたＬＤＥＶ３３が、実行対象のジョブと同一のジョブネットに属するジョブによって使用されている場合には、恒久ファイルとの入出力競合が発生しないように、割り当て対象のＬＤＥＶから除外する（ステップ２４０３）。
【０１４５】
ストレージシステム２のコントローラ部２０は、ステップ２４０３の処理で仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３の数がＬＤＥＶ数２５８に達したか否かを判定する（ステップ２４０４）。
【０１４６】
ストレージシステム２のコントローラ部２０は、仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３の数がＬＤＥＶ数２５８に達していない場合には（ステップ２４０４の結果が「Ｎｏ」）、ＬＤＥＶ管理テーブル２２０からＩ−ＬＤＥＶを検索する。さらに、ＬＤＥＶ数２５８に達するまで、検索されたＬＤＥＶ３３を仮想ＬＤＥＶ３５に割り当てる。ステップ２４０５の処理において、条件を満たすＬＤＥＶ３３が複数存在する場合には、ＬＤＥＶ３３が割り当てられている仮想ＬＤＥＶの数が均一となるように、割り当てた仮想ＬＤＥＶ３５の数が少ないＬＤＥＶ３３を優先して割り当てる。
【０１４７】
Ｉ／ＯバウンドジョブのＬＤＥＶ選択処理２４００において、スピンオン状態のディスクドライブ数が多く、ストレージシステム２の電力消費量が大きい場合には、電力消費量を一定以上増大させないため、回転状態のディスクドライブ数に上限を設け、仮想ＬＤＥＶ３５に割り当てるＬＤＥＶ３３を制限してもよい。この場合には、ステップ２４０１の処理の前に回転状態管理テーブル２４０の回転状態フラグ２４２が“ＯＮ”のエントリ数の合計値を取得する。ステップ２４０１及びステップ２４０３の処理において、スピンオン状態のディスクドライブ数の上限値をあらかじめ設定して共有メモリ２３に保持し、ディスクドライブ数の上限値がスピンオン状態のＬＤＥＶの数よりも大きい場合には、スピンオフ状態のＬＤＥＶを選択せず、スピンオン状態のＬＤＥＶのみを選択し、仮想ＬＤＥＶに割り当てる。
【０１４８】
図１７は、本発明の第１の実施の形態のＣＰＵバウンドジョブのＬＤＥＶ選択処理２５００の手順を示すフローチャートである。
【０１４９】
ストレージシステム２のコントローラ部２０は、ジョブネット識別子２５１が同じエントリであって、同時に実行される可能性の高いジョブのＬＤＥＶ数２５８の和の最大値を取得する。ここで得られた値は、当該ジョブネットにおいて同時に使用されるＬＤＥＶの数の最大値となる。また、同時に実行される可能性の高いジョブとは、例えば、先行ジョブ識別子２５３が同じジョブである。そして、取得された最大値から、処理対象のジョブと先行ジョブ識別子２５３が同じエントリのうち、負荷属性の値が“Ｉ”、すなわち、Ｉ／ＯバウンドジョブであるエントリのＬＤＥＶ数２５８の合計を減算する（ステップ２５０１）。
【０１５０】
ストレージシステム２のコントローラ部２０は、ステップ２５０１の処理で得られた値が１より大きいか否かを判定する（ステップ２５０２）。
【０１５１】
ステップ２５０１の処理で得られた値が１以下の場合には（ステップ２５０２の結果が「Ｎｏ」）、処理対象のジョブが実行されているタイミングで使用されているＬＤＥＶ３３の数は、実行中のジョブネットにおいて最大値となる。したがって、新たに未割当のＬＤＥＶ３３を仮想ＬＤＥＶ３５に割り当てると、過剰な台数のディスクドライブ３１をスピンオン状態にさせてしまう可能性があり、電力消費量が増大するおそれがある。そこで、ステップ２５０１の処理で得られた値が１以下の場合には、電力消費量の低減を優先して、他のＣＰＵバウンドジョブで使用されているＬＤＥＶ（Ｃ−ＬＤＥＶ）を一時ファイルの出力先として選択する。
【０１５２】
具体的には、ストレージシステム２のコントローラ部２０は、Ｃ−ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索し、仮想ＬＤＥＶ３５に割り当てる（ステップ２５０３）。なお、複数のＬＤＥＶが検索された場合には、スピンオンＣ−ＬＤＥＶをスピンオフＣ−ＬＤＥＶよりも優先して割り当てる。
【０１５３】
次に、ストレージシステム２のコントローラ部２０は、ステップ２５０３の処理で仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられたか否かを判定する（ステップ２５０４）。ステップ２５０３の処理で仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられた場合には（ステップ２５０４の結果が「Ｙｅｓ」）、本処理を終了する。
【０１５４】
ストレージシステム２のコントローラ部２０は、ステップ２５０３の処理で仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられなかった場合には（ステップ２５０４の結果が「Ｎｏ」）、未割当ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索し、仮想ＬＤＥＶ３５に割り当てる（ステップ２５０５）。複数のＬＤＥＶが検索された場合には、スピンオン未割当ＬＤＥＶをスピンオフ未割当ＬＤＥＶよりも優先して割り当てる。このとき、仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３に対応するＬＤＥＶ管理テーブル２２０のエントリについて、一時用途属性２２４を“Ｃ”を設定する。
【０１５５】
一方、ステップ２５０１の処理で得られた値が１より大きい場合には（ステップ２５０２の結果が「Ｙｅｓ」）、処理対象のジョブが実行されるタイミング以外でより多くのＬＤＥＶが使用されていることになる。したがって、処理対象のＣＰＵバウンドジョブに未割当ＬＤＥＶを割り当てても、ジョブネット全体として使用されるＬＤＥＶの数は増加しない。そこで、ストレージシステム２のコントローラ部２０は、ステップ２５０１の処理で得られた値が１より大きい場合には、処理性能の向上を優先して、未割当ＬＤＥＶを選択する。
【０１５６】
具体的には、ストレージシステム２のコントローラ部２０は、未割当ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索し、仮想ＬＤＥＶ３５に割り当てる（ステップ２５０６）。複数のＬＤＥＶが検索された場合には、スピンオン未割当ＬＤＥＶをスピンオフ未割当ＬＤＥＶよりも優先して割り当てる。このとき、仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３に対応するＬＤＥＶ管理テーブル２２０のエントリについて、一時用途属性２２４を“Ｃ”を設定する。
【０１５７】
ストレージシステム２のコントローラ部２０は、ステップ２５０６の処理で仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられたか否かを判定する（ステップ２５０７）。ステップ２５０６の処理で仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられた場合には（ステップ２５０７の結果が「Ｙｅｓ」）、本処理を終了する。
【０１５８】
ストレージシステム２のコントローラ部２０は、ステップ２５０６の処理で仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられなかった場合には（ステップ２５０７の結果が「Ｎｏ」）、Ｃ−ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索し、仮想ＬＤＥＶ３５に割り当てる（ステップ２５０８）。複数のＬＤＥＶが検索された場合には、スピンオンＣ−ＬＤＥＶをスピンオフＣ−ＬＤＥＶよりも優先して割り当てる。
【０１５９】
さらに、ストレージシステム２のコントローラ部２０は、ステップ２５０５又はステップ２５０８の処理によって仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられたか否かを判定する（ステップ２５０９）。ステップ２５０５又はステップ２５０８の処理によって仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられた場合には（ステップ２５０９の結果が「Ｙｅｓ」）、本処理を終了する。
【０１６０】
ストレージシステム２のコントローラ部２０は、ステップ２５０５又はステップ２５０８の処理によって仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられなかった場合には（ステップ２５０９の結果が「Ｎｏ」）、非一時ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索し、仮想ＬＤＥＶ３５に割り当てる（ステップ２５１０）。複数のＬＤＥＶが検索された場合には、スピンオン非一時ＬＤＥＶをスピンオフ非一時ＬＤＥＶよりも優先する。ただし、検索されたＬＤＥＶ３３が、実行対象のジョブと同一のジョブネットに属するジョブによって使用されている場合には、恒久ファイルとの入出力競合が発生しないように、割り当て対象のＬＤＥＶから除外する。
【０１６１】
図１８は、本発明の第１の実施の形態のＬＵ出力処理２８００の手順を示すフローチャートである。本処理は、コントローラ部２０に格納された制御プログラムを処理することによって実行される。
【０１６２】
ストレージシステム２のコントローラ部２０は、ＣＨＡ２１が計算機１からのデータ出力要求を受信し、さらに、出力するデータ、出力先ＬＵ識別子、及び出力先アドレスを受信する（ステップ２８０１）。
【０１６３】
ストレージシステム２のコントローラ部２０は、出力先ＬＵ識別子を有するエントリの仮想化フラグ２０２を参照し、出力先のＬＵが仮想ＬＵか実ＬＵかを判定する（ステップ２８０２）。
【０１６４】
ストレージシステム２のコントローラ部２０は、仮想化フラグ２０２の値が“ＯＦＦ”に設定され、出力先のＬＵが実ＬＵの場合には（ステップ２８０２の結果が「Ｙｅｓ」）、ＬＤＥＶ識別子リスト２０３に格納されたＬＤＥＶ３３を出力先とする（ステップ２８０３）。
【０１６５】
ストレージシステム２のコントローラ部２０は、仮想化フラグ２０２の値が“ＯＮ”に設定され、出力先のＬＵが仮想ＬＵの場合には（ステップ２８０２の結果が「Ｎｏ」）、アドレスマッピング管理テーブル２３０から出力先アドレスと仮想ＬＤＥＶアドレス２３１が一致するエントリを検索する（ステップ２８０４）。そして、ステップ２８０４の処理でエントリが検索されたか否かを判定する（ステップ２８０５）。
【０１６６】
ストレージシステム２のコントローラ部２０は、ステップ２８０４の処理でエントリが検索された場合には（ステップ２８０５の結果が「Ｙｅｓ」）、エントリのＬＤＥＶ識別子２３２によって特定される領域を出力先とする（ステップ２８０６）。
【０１６７】
ストレージシステム２のコントローラ部２０は、ステップ２８０４の処理でエントリが検索されなかった場合には（ステップ２８０５の結果が「Ｎｏ」）、同一仮想ＬＤＥＶ内の各ＬＤＥＶ領域数が均一となるように、ＬＤＥＶ識別子２３２が同じであって、エントリ数が最も少ないＬＤＥＶに領域を割り当ててデータを出力する（ステップ２８０７）。さらに、アドレスマッピング管理テーブル２３０に新規エントリを割り当てて出力先ＬＤＥＶの識別子２３２、出力先アドレス２３３、及び仮想ＬＤＥＶアドレス２３１を記録する（ステップ２８０８）。
【０１６８】
ストレージシステム２のコントローラ部２０は、データを出力したＬＤＥＶのＲＡＩＤグループ識別子２２２をＬＤＥＶ管理テーブル２２０から取得し、取得されたＲＡＩＤグループ識別子２２２を含む回転状態管理テーブル２４０のエントリの最終アクセス時刻２４３をデータ出力時の時刻に更新する（ステップ２８０９）。さらに、回転状態フラグ２４２が“ＯＦＦ”である場合には、ＲＡＩＤグループ識別子２４１に対応するＲＡＩＤグループ３２の全ディスクドライブ３１をスピンアップする（ステップ２７１０）。
【０１６９】
最後に、ストレージシステム２のコントローラ部２０は、計算機１によって要求されたデータを出力先ＬＤＥＶに出力する（ステップ２７１１）。
【０１７０】
図１９は、本発明の第１の実施の形態のジョブ終了処理１３００の手順を示すフローチャートである。本処理は、計算機１のＣＰＵ１１がジョブ管理プログラム１０００を処理することによって実行される。
【０１７１】
計算機１のＣＰＵ１１は、fsyncシステムコールなどを発行することによって、主記憶装置１０に記憶された入出力バッファに残っている未出力データがすべてストレージシステム２に出力されるまで待機する（ステップ１３０１）。
【０１７２】
計算機１のＣＰＵ１１は、ストレージシステム２にジョブ識別子を転送し、ジョブ終了を通知する（ステップ１３０２）。
【０１７３】
図２０は、本発明の第１の実施の形態のＬＤＥＶ解放処理２９００の手順を示すフローチャートである。
【０１７４】
本処理は、コントローラ部２０に格納された制御プログラムを処理することによって実行される。本処理では、ジョブの実行が完了した後に、一時ファイルが格納された仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３を解放する。
【０１７５】
ストレージシステム２のコントローラ部２０は、ＣＨＡ２１によって計算機１からジョブ終了通知を受信する（ステップ２９０１）。
【０１７６】
ストレージシステム２のコントローラ部２０は、ＬＤＥＶ３３の解放要求を受信すると、仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３を解放し、他の処理で使用可能な状態とする。以下、具体的な処理を説明する。
【０１７７】
ストレージシステム２のコントローラ部２０は、解放対象の仮想ＬＤＥＶ３５に対応する仮想ＬＤＥＶ管理テーブル２１０のエントリを検索し、ＬＤＥＶ識別子リスト２１２を取得する。ＬＤＥＶ識別子リスト２１２に含まれるＬＤＥＶ３３について、ＬＤＥＶ管理テーブル２２０の割当状態２２３を“Ｎ”に変更し、一時用途属性２２４をクリアする（ステップ２９０２）。ステップ２９０２の処理によって、解放対象の仮想ＬＤＥＶ３５に割り当てられていたＬＤＥＶを未割当状態とすることができる。
【０１７８】
ストレージシステム２のコントローラ部２０は、解放対象の仮想ＬＤＥＶ３５に対応する仮想ＬＤＥＶ管理テーブルのＬＤＥＶ識別子リスト２１２をクリアする（ステップ２９０３）。さらに、解放対象の仮想ＬＤＥＶ３５のアドレスマッピング管理テーブル２３０をクリアする（ステップ２９０４）。ステップ２９０３及びステップ２９０４の処理によって、解放対象の仮想ＬＤＥＶ３５と割り当てられていたＬＤＥＶ３３との関係をクリアする。
【０１７９】
また、ストレージシステム２のコントローラ部２０は、ＲＡＩＤグループ識別子２２２に対応する回転状態管理テーブル２４０のエントリのスピンダウン禁止フラグ２４４を“ＯＦＦ”に設定する（ステップ２９０５）。さらに、ジョブ情報管理テーブル２５０の仮想ＬＵ識別子２５７及びＬＤＥＶ数２５８をクリアする（ステップ２９０６）。仮想ＬＵ識別子２５７及びＬＤＥＶ数２５８は、次回ジョブが実行される場合に再度設定される。
【０１８０】
図２１は、本発明の第１の実施の形態のディスクドライブ３１の回転制御処理３０００の手順を示すフローチャートである。本処理は、コントローラ部２０に格納された制御プログラムを処理することによって実行される。
【０１８１】
ストレージシステム２のコントローラ部２０は、ＣＨＡ２１が計算機１からのデータ出力要求を受信したか否かを判定する（ステップ３００１）。ＣＨＡ２１が計算機１からのデータ出力要求を受信していない場合には（ステップ３００１の結果が「Ｎｏ」）、ステップ３００５の処理を実行する。
【０１８２】
ストレージシステム２のコントローラ部２０は、ＣＨＡ２１が計算機１からのデータ出力要求を受信した場合には（ステップ３００１の結果が「Ｙｅｓ」）、受信したスピンアップ対象ＬＵを構成するＬＥＤＶ３３を構成するＲＡＩＤグループ３２を特定する（ステップ３００２）。
【０１８３】
具体的には、ストレージシステム２のコントローラ部２０は、スピンアップ要求とともに送信されたＬＵ識別子１２４に基づいて、ＬＵ管理テーブル２００からＬＤＥＶ識別子リスト２０３を取得する。続いて、ＬＤＥＶ識別子リスト２０３に含まれるＬＤＥＶ識別子に基づいて、ＬＤＥＶ管理テーブル２２０からＲＡＩＤグループ識別子２２２を取得する。
【０１８４】
また、仮想化フラグ２０２の値が“ＯＮ”の場合には、ＬＤＥＶ識別子リスト２０３から仮想ＬＤＥＶ識別子を取得し、仮想ＬＤＥＶ管理テーブル２１０から仮想ＬＤＥＶ３５のＬＤＥＶ識別子リスト２１２を取得する。取得されたＬＤＥＶ識別子リスト２１２に基づいて、ＬＤＥＶ管理テーブル２２０からＲＡＩＤグループ識別子２２２を取得する。
【０１８５】
ストレージシステム２のコントローラ部２０は、取得されたＲＡＩＤグループ識別子とＲＡＩＤグループ識別子２４１が一致する回転状態管理テーブル２４０のエントリを抽出し、回転状態フラグ２４２の値が“ＯＦＦ”であるか否かを判定する（ステップ３００３）。回転状態フラグ２４２の値が“ＯＦＦ”である場合には（ステップ３００３の結果が「Ｙｅｓ」）、取得されたＲＡＩＤグループ識別子に対応するＲＡＩＤグループを構成する全ディスクドライブ３１をスピンアップする（ステップ３００４）。
【０１８６】
また、ストレージシステム２のコントローラ部２０は、ディスクドライブ３１がスピンオン状態となっている場合に、所定の時間、ディスクアクセスがない場合には、当該ディスクドライブ３１をスピンダウンさせることによって消費電力を低減する。
【０１８７】
具体的には、ストレージシステム２のコントローラ部２０は、回転状態管理テーブル２４０の各エントリの最終アクセス時刻と現在時刻との差が所定の時間を上回るエントリが存在するか否かを判定する（ステップ３００５）。さらに、所定の時間アクセスされていないＲＡＩＤグループのスピンダウン禁止フラグが“ＯＦＦ”であるか否かを判定する（ステップ３００６）。
【０１８８】
ストレージシステム２のコントローラ部２０は、回転状態管理テーブル２４０の各エントリの最終アクセス時刻と現在時刻との差が所定の時間を上回るエントリが存在し（ステップ３００５の結果が「Ｙｅｓ」）、所定の時間アクセスされていないＲＡＩＤグループのスピンダウン禁止フラグが“ＯＦＦ”である場合には（ステップ３００６の結果が「Ｙｅｓ」）、当該ＲＡＩＤグループ３２を構成する全ディスクドライブ３１をスピンダウンする（ステップ３００７）。
【０１８９】
本発明の第１の実施の形態によれば、ＣＰＵバウンドであるジョブを実行する場合に、同時に実行されているジョブによって同時に使用されているＬＤＥＶ３３の数に基づいて、論理ボリュームに割り当てるＬＤＥＶ３３を選択する。具体的には、同時に使用されているＬＤＥＶ３３の数が少ない場合には、未割当ＬＤＥＶを選択することによって、処理性能の向上を図ることができる。また、同時に使用されているＬＤＥＶ３３の数が多い場合には、他のジョブで使用されているＣＰＵバウンドジョブで使用されているＬＤＥＶ３３を選択することによって、ストレージシステム２の省電力化を図ることができる。
【０１９０】
さらに、本発明の第１の実施の形態によれば、ストレージシステム２の電力消費量を低減させた場合であっても、計算機１で実行されたジョブの処理効率を維持できるため、処理時間の遅延に伴う計算機１の電力消費量を増大させることなく、計算機システム９全体の省電力化を図ることができる。
【０１９１】
（第２の実施の形態）
本発明の第１の実施の形態では、計算機１が一時ファイルを格納先するＬＵに対するＬＤＥＶの割り当てをストレージシステム２に要求し、ストレージシステム２が仮想ＬＵを選択していた。一方、本発明の第２の実施の形態では、計算機１において事前に論理ボリュームごとに省電力優先属性と性能優先属性を設定し、論理ボリュームリスト１３０に記録する。そして、計算機１のＣＰＵ１１がジョブ管理プログラム１０００を実行し、論理ボリュームリスト１３０に基づいて論理ボリュームを選択する。
【０１９２】
また、ストレージシステム２は、ジョブ開始前に計算機１から要求されたタイミングではなく、ジョブ実行中にＬＵ３４に最初にアクセスされるタイミングで、仮想ＬＤＥＶ３５にＬＤＥＶ３３を割り当てる。
【０１９３】
なお、本発明の第２の実施の形態において、本発明の第１の実施の形態と共通する内容については適宜説明を省略する。
【０１９４】
第２の実施の形態の計算機システム９のハードウェア構成は、第１の実施の形態と同じである。第２の実施の形態では、計算機１において、論理ボリュームリスト１３０を参照して論理ボリュームが選択される。一方、ストレージシステム２では、計算機１において論理ボリュームが選択されるため、ジョブ情報管理テーブル２５０を必要としない。
【０１９５】
ここで、計算機１及びストレージシステム２に格納される各種情報について、第１の実施の形態と比較しながら説明する。
【０１９６】
まずは、計算機１に格納される情報について説明する。計算機１に含まれるジョブネット定義情報１００、ジョブ定義情報１１０及びジョブファイル定義情報１２０は、第１の実施の形態と共通である。
【０１９７】
ジョブ管理プログラム１０００が計算機１のＣＰＵ１１によって実行される処理のうち、本発明の第２の実施の形態特有の処理については後述する。
【０１９８】
論理ボリュームリスト１３０は、ストレージシステム２によって提供される論理ボリュームの情報を格納するリストである。論理ボリュームリスト１３０の詳細については、図２２Ａにて後述する。
【０１９９】
次に、ストレージシステム２に格納される情報について説明する。
【０２００】
ＬＵ管理テーブル２００、ＬＤＥＶ管理テーブル２２０、アドレスマッピング管理テーブル２３０、及び回転状態管理テーブル２４０の構成は、本発明の第１の実施の形態と同じである。また、前述したように、本発明の第２の実施の形態では、ジョブ情報管理テーブル２５０は不要である。
【０２０１】
仮想ＬＤＥＶ管理テーブル２１０は、図５に示した本発明の第１の実施の形態の構成に加えて、さらに一時用途属性２１３を含む。すなわち、本発明の第２の実施の形態の仮想ＬＤＥＶ管理テーブル２１０は、仮想ＬＤＥＶ識別子２１１、ＬＤＥＶ識別子リスト２１２及び一時用途属性２１３を含む。
【０２０２】
仮想ＬＤＥＶ識別子２１１及びＬＤＥＶ識別子リスト２１２は、本発明の第１の実施の形態と同じである。
【０２０３】
一時用途属性２１３は、ＬＤＥＶ管理テーブル２２０の一時用途属性２２４と同じである。なお、一時用途属性２１３は、仮想ＬＤＥＶ管理テーブル２１０に追加するのではなく、ＬＵ管理テーブル２００に追加してもよい。
【０２０４】
図２２Ａは、本発明の第２の実施の形態の論理ボリュームリスト１３０の構成を示す図である。
【０２０５】
論理ボリュームリスト１３０は、論理ボリュームごとにエントリが格納される。論理ボリュームリスト１３０は、論理ボリューム識別子１３１、ＬＵ識別子１３２、及びボリューム属性１３３を含む。
【０２０６】
論理ボリューム識別子１３１は、論理ボリュームを計算機１で一意に識別するための番号又は文字列であり、例えば、ＶＳＮ（Volume Serial Number)、ボリュームラベル、ＤＥＶＮ(DEVice Number)である。
【０２０７】
ＬＵ識別子１３２は、論理ボリュームに対応するＬＵ３４のＬＵ識別子である。ボリューム属性１３３は、論理ボリュームが省電力優先か性能優先かを示す情報である。
【０２０８】
図２２Ｂは、本発明の第２の実施の形態の論理ボリュームリストファイル１３９の一例を示す図である。
【０２０９】
論理ボリュームリストファイル１３９は、ジョブ管理プログラム１０００が一時ファイルの割当先として利用可能な論理ボリュームの一覧を定義したファイルである。論理ボリュームリストファイル１３９は、ストレージシステム２によって提供される論理ボリュームに格納される。なお、論理ボリュームリストファイル１３９は、実際には、論理ボリュームをマッピングしたＬＤＥＶ３３に格納されている。
【０２１０】
論理ボリュームリストファイル１３９には、ボリューム属性１３３と、当該ボリューム属性１３３を有する一時ファイルの割当先として利用可能な論理ボリュームの論理ボリューム識別子１３１が記述される。
【０２１１】
計算機１は、まず、ストレージシステム２によって提供される論理ボリュームに格納される論理ボリュームリストファイル１３９を読み出す。計算機１は、読み出された論理ボリュームリストファイル１３９を解析し、記述された内容を論理ボリュームリスト１３０に格納する。例えば、論理ボリュームリストファイル１３９の１行目を読み出して解析すると、論理ボリュームリスト１３０の論理ボリューム識別子１３１が“VOL01”である行と“VOL02”である行とを作成する。
【０２１２】
ストレージシステム２では、ジョブ情報受信処理２１００を実行するかわりに、事前に仮想ＬＤＥＶ３５又は仮想ＬＵに対して、性能優先か省電力優先かを設定する。そして、仮想ＬＤＥＶ管理テーブル２１０の一時用途属性２１３に性能優先であれば“Ｉ”を、省電力優先であれば“Ｃ”を記憶する。
【０２１３】
計算機１のＣＰＵ１１は、ジョブ管理プログラム１０００を実行することによって、ジョブ情報送信処理１１００及びジョブ実行前処理１２００の代わりに、ジョブ情報読込処理１４００及び一時ファイル割当処理１５００を実行する。
【０２１４】
図２３は、本発明の第２の実施の形態のジョブ情報読込処理１４００の手順を示すフローチャートである。本処理は、計算機１のＣＰＵ１１がジョブ管理プログラム１０００を処理することによって実行される。
【０２１５】
ステップ１４０１及びステップ１４０２の処理は、図１０に示したジョブ情報送信処理１１００のステップ１１０１及びステップ１１０２の処理と同じである。
【０２１６】
計算機１のＣＰＵ１１は、利用者によって実行が指定されたジョブネットのジョブネット定義ファイル１０９をストレージシステム２などから読み出して解析し、解析結果をジョブネット定義情報１００に格納する（ステップ１４０１）。
【０２１７】
計算機１のＣＰＵ１１は、ジョブネット定義情報１００の各エントリのジョブ識別子１０２に対応したジョブのジョブ定義ファイル１１９をストレージシステム２などから読み出して解析し、解析された情報をジョブ定義情報１１０及びジョブファイル定義情報１２０に格納する（ステップ１４０２）。
【０２１８】
計算機１のＣＰＵ１１は、論理ボリュームリストファイル１３９を読み出し、主記憶装置１０にメモリ領域を割り当てて、論理ボリュームリストファイル１３９を解析する。そして、論理ボリュームリストファイル１３９に記述されたボリューム属性１３３と論理ボリューム識別子１３１とを抽出し、論理ボリュームリスト１３０に格納する（ステップ１４０３）。
【０２１９】
計算機１のＣＰＵ１１は、論理ボリュームの識別子に基づいて、ストレージシステム２から論理ボリュームに対応するＬＵ識別子を取得し、ＬＵ識別子１３２に格納する（ステップ１４０４）。
【０２２０】
図２４は、本発明の第２の実施の形態の一時ファイル割当処理１５００の手順を示すフローチャートである。本処理は、計算機１のＣＰＵ１１がジョブ管理プログラム１０００を処理することによって実行される。
【０２２１】
計算機１のＣＰＵ１１は、まず、ジョブネット定義情報１００を参照し、実行可能状態になったジョブを選択する。さらに、選択されたジョブの負荷属性１１２をジョブ定義情報１１０から抽出する（ステップ１５０１）。
【０２２２】
計算機１のＣＰＵ１１は、実行対象のジョブのジョブ識別子とジョブ識別子１２１とが一致するエントリをジョブファイル定義情報１２０から抽出する（ステップ１５０２）。
【０２２３】
計算機１のＣＰＵ１１は、抽出されたジョブファイル定義情報１２０のエントリにファイルタイプ１２２が“ＴＥＭＰ”であるエントリが含まれるか否かを判定する（ステップ１５０３）。
【０２２４】
計算機１のＣＰＵ１１は、抽出されたジョブファイル定義情報１２０のエントリにファイルタイプ１２２が“ＴＥＭＰ”であるエントリが含まれる場合には（ステップ１５０３の結果が「Ｙｅｓ」）、実行対象のジョブの負荷属性と実行対象のジョブに先行して実行されるジョブに負荷属性が一致するジョブが含まれるか否かを判定する（ステップ１５０４）。
【０２２５】
計算機１のＣＰＵ１１は、先行して実行されるジョブと負荷属性１１２の値が一致する場合には（ステップ１５０４の結果が「Ｙｅｓ」）、先行して実行されるジョブのファイルタイプの値が“ＴＥＭＰ”であるジョブファイル定義情報１２０のエントリを取得する。そして、取得されたエントリのＬＵ識別子１２４を、実行対象のジョブであってファイルタイプの値が“ＴＥＭＰ”であるジョブファイル定義情報１２０のエントリに記録する（ステップ１５０５）。このように、先行して実行されるジョブの一時ファイルが割り当てられていた論理ボリュームに、実行対象のジョブの一時ファイルを割り当てることによって、当該論理ボリュームのスピンアップ状態を継続させることができる。
【０２２６】
一方、計算機１のＣＰＵ１１は、先行して実行されるジョブと負荷属性１１２の値が一致しない場合（ステップ１５０４の結果が「Ｎｏ」）、又は先行して実行されるジョブが複数存在する場合には、実行対象のジョブの負荷属性１１２の値が“Ｉ”（Ｉ／Ｏバウンドジョブ）であるか否かを判定する（ステップ１５０６）。
【０２２７】
計算機１のＣＰＵ１１は、実行対象のジョブの負荷属性１１２の値が“Ｉ”である場合には（ステップ１５０６の結果が「Ｙｅｓ」）、論理ボリュームリスト１３０からボリューム属性１３３の値が“性能優先”であるエントリを抽出する（ステップ１５０７）。一方、実行対象のジョブの負荷属性１１２の値が“Ｃ”（ＣＰＵバウンドジョブ）である場合には（ステップ１５０６の結果が「Ｎｏ」）、論理ボリュームリストからボリューム属性１３３の値が“省電力優先”であるエントリを抽出する（ステップ１５０８）。
【０２２８】
計算機１のＣＰＵ１１は、ステップ１５０７又はステップ１５０８の処理が終了すると、割り当てられた論理ボリュームに対応するＬＵ識別子を、ジョブファイル定義情報１２０のＬＵ識別子１２４に記録する（ステップ１５０９）。
【０２２９】
計算機１のＣＰＵ１１は、割り当てられた論理ボリュームをスピンアップさせる（ステップ１５１０）。具体的には、ストレージシステム２にスピンアップを要求するか、論理ボリュームに直接アクセスする。
【０２３０】
計算機１のＣＰＵ１１は、抽出されたエントリにファイルタイプ１２２の値が“ＰＥＲＭ”であるエントリが含まれているか否かを判定する（ステップ１５１１）。抽出されたエントリにファイルタイプ１２２の値が“ＰＥＲＭ”であるエントリが含まれている場合には（ステップ１５１１の結果が「Ｙｅｓ」）、ＬＵ識別子１２４によって特定される論理ボリュームのスピンアップをストレージシステム２に要求する（ステップ１５１２）。ステップ１２０７の処理において、抽出されたエントリのＬＵ識別子１２４によって特定される論理ボリュームにアクセスすることによってスピンアップさせてもよい。
【０２３１】
図２５は、本発明の第２の実施の形態の仮想ＬＵ割当処理２６００の手順を示すフローチャートである。
【０２３２】
本処理は、ストレージシステム２のコントローラ部２０に格納された制御プログラムを処理することによって実行される。また、本処理は、計算機１で実行されたジョブによって、論理ボリュームのアクセス要求がストレージシステム２のＣＨＡ２１を介してストレージシステム２のコントローラ部２０に受け付けられた後に実行される。
【０２３３】
ストレージシステム２のコントローラ部２０は、仮想ＬＤＥＶ３５又は仮想ＬＵの一時用途属性２１３の値が“Ｉ”であるか否かを判定する（ステップ２６０１）。
【０２３４】
ストレージシステム２のコントローラ部２０は、仮想ＬＤＥＶ３５又は仮想ＬＵの一時用途属性２１３の値が“Ｉ”である場合には（ステップ２６０１の結果が「Ｙｅｓ」）、必要なＬＤＥＶ数を算出し、ＬＤＥＶ数２５８に算出された値を共有メモリ２３に記録する（ステップ２６０２）。具体的には、仮想ＬＵと計算機１との間の時間当たりの最大転送データ量と、ディスクドライブ３１の時間当たりの最大転送データ量とに基づいて、ディスクドライブ３１を複数割り当てることによって転送性能が向上するディスクドライブ３１の上限を算出する。その後、図１６に示した本発明の第１の実施の形態のＩ／ＯバウンドジョブのＬＤＥＶ選択処理２４００を実行し、一時ファイルを割り当てるＬＤＥＶ３３を選択する（ステップ２６０３）。
【０２３５】
一方、ストレージシステム２のコントローラ部２０は、仮想ＬＤＥＶ３５又は仮想ＬＵの一時用途属性２１３の値が“Ｉ”でない場合、すなわち、一時用途属性２１３の値が“Ｃ”の場合には（ステップ２６０１の結果が「Ｎｏ」）、後述するＣＰＵバウンドジョブのＬＤＥＶ選択処理２７００を実行し、一時ファイルを割り当てるＬＤＥＶ３３を選択する（ステップ２６０４）。
【０２３６】
最後に、ストレージシステム２のコントローラ部２０は、選択された一つ又は複数のＬＤＥＶ３３のＬＤＥＶ識別子をＬＤＥＶ識別子リスト２０３に記録する（ステップ２６０５）。
【０２３７】
図２６は、本発明の第２の実施の形態のＣＰＵバウンドジョブのＬＤＥＶ選択処理の手順を示すフローチャートである。
【０２３８】
ストレージシステム２のコントローラ部２０は、Ｃ−ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索し、仮想ＬＤＥＶ３５に割り当てる（ステップ２７０１）。なお、複数のＬＤＥＶが検索された場合には、スピンオンＣ−ＬＤＥＶをスピンオフＣ−ＬＤＥＶよりも優先して割り当てる。
【０２３９】
次に、ストレージシステム２のコントローラ部２０は、ステップ２７０１の処理で仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられたか否かを判定する（ステップ２７０２）。ステップ２７０１の処理で仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられた場合には（ステップ２７０２の結果が「Ｙｅｓ」）、本処理を終了する。
【０２４０】
ストレージシステム２のコントローラ部２０は、ステップ２７０１の処理で仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられなかった場合には（ステップ２７０２の結果が「Ｎｏ」）、未割当ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索し、仮想ＬＤＥＶ３５に割り当てる（ステップ２７０３）。複数のＬＤＥＶが検索された場合には、スピンオン未割当ＬＤＥＶをスピンオフ未割当ＬＤＥＶよりも優先して割り当てる。このとき、仮想ＬＤＥＶ３５に割り当てられたＬＤＥＶ３３に対応するＬＤＥＶ管理テーブル２２０のエントリについて、一時用途属性２２４を“Ｃ”を設定する。
【０２４１】
さらに、ストレージシステム２のコントローラ部２０は、ステップ２７０３の処理によって仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられたか否かを判定する（ステップ２７０４）。ステップ２５０５の処理によって仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられた場合には（ステップ２７０４の結果が「Ｙｅｓ」）、本処理を終了する。
【０２４２】
ストレージシステム２のコントローラ部２０は、ステップ２７０３の処理によって仮想ＬＤＥＶ３５にＬＤＥＶ３３が割り当てられなかった場合には（ステップ２７０４の結果が「Ｎｏ」）、非一時ＬＤＥＶをＬＤＥＶ管理テーブル２２０から検索し、仮想ＬＤＥＶ３５に割り当てる（ステップ２７０５）。複数のＬＤＥＶが検索された場合には、スピンオン非一時ＬＤＥＶをスピンオフ非一時ＬＤＥＶよりも優先する。ただし、検索されたＬＤＥＶ３３が、実行対象のジョブと同一のジョブネットに属するジョブによって使用されている場合には、恒久ファイルとの入出力競合が発生しないように、割り当て対象のＬＤＥＶから除外する。
【０２４３】
本発明の第２の実施の形態のＬＵ出力処理２８００は、ステップ２８０２とステップ２８０４との間に、出力要求があった仮想ＬＵにＬＤＥＶ３３が割り当てられているかを判定する処理が加えられる。言い換えると、仮想ＬＤＥＶ管理テーブル２１０のＬＤＥＶ識別子リスト２１２に値が設定されているかを判定する。そして、出力要求のあった仮想ＬＵにＬＤＥＶ３３が割り当てられていない場合には、図２５に示した仮想ＬＵ割り当て処理２６００を実行する。以上の処理を除いて、図１８に示した第１の実施の形態の処理と同じである。
【０２４４】
本発明の第２の実施の形態のジョブ終了処理１３００は、ステップ１３０２の処理の代わりに、論理ボリュームに対応するＬＵに対してＬＤＥＶ３３の解放をストレージシステム２に要求する。他の処理については、図１９に示した第１の実施の形態の処理と同じである。
【０２４５】
本発明の第２の実施の形態のＬＤＥＶ解放処理は、ジョブ情報管理テーブル２５０を使用しないため、ステップ２９０６の処理を実行しない点を除き、図２０に示した第１の実施の形態の処理と同じである。
【０２４６】
本発明の第２の実施の形態の回転制御処理３０００は、図２１と同じである。
【０２４７】
本発明の第２の実施の形態によれば、本発明の第１の実施の形態と同様に、計算機１で実行されるジョブによってアクセスされる一時ファイルを格納するディスクドライブを、処理効率を維持しつつ、電力消費量を低減するように選択することができ、ストレージシステムの省電力化を図ることができる。
【０２４８】
本発明の第２の実施の形態によれば、ＣＰＵバウンドであるジョブを実行する場合に、他のジョブで使用されているＣＰＵバウンドジョブで使用されているＬＤＥＶ３３を選択することによって、ストレージシステム２の省電力化を図ることができる。
【図面の簡単な説明】
【０２４９】
【図１】本発明の第１の実施の形態の計算機システムのハードウェア構成を示す図である。
【図２】本発明の第１の実施の形態の回転状態管理テーブルの構成を示す図である。
【図３】本発明の第１の実施の形態の論理ユニットと論理デバイスとの関係の一例を示す図である。
【図４】本発明の第１の実施の形態のＬＵ管理テーブルの構成を示す図である。
【図５】本発明の第１の実施の形態の仮想ＬＤＥＶ管理テーブルの構成を示す図である。
【図６】本発明の第１の実施の形態のＬＤＥＶ管理テーブルの構成を示す図である。
【図７】本発明の第１の実施の形態のアドレスマッピング管理テーブルの構成を示す図である。
【図８Ａ】本発明の第１の実施の形態のジョブネット定義情報の構成を示す図である。
【図８Ｂ】本発明の第１の実施の形態のジョブネット定義ファイルの一例を示す図である。
【図９Ａ】本発明の第１の実施の形態のジョブ定義情報の構成を示す図である。
【図９Ｂ】本発明の第１の実施の形態のジョブファイル定義情報の構成を示す図である。
【図９Ｃ】本発明の第１の実施の形態のジョブ定義ファイルの一例を示す図である。
【図１０】本発明の第１の実施の形態のジョブ情報送信処理の手順を示すフローチャートである。
【図１１】本発明の第１の実施の形態のジョブ情報管理テーブルの構成を示す図である。
【図１２】本発明の第１の実施の形態のジョブ情報受信処理の手順を示すフローチャートである。
【図１３】本発明の第１の実施の形態のジョブ実行前処理の手順を示すフローチャートである。
【図１４】本発明の第１の実施の形態の仮想ＬＵ割当処理の手順を示すフローチャートである。
【図１５】本発明の第１の実施の形態のＬＤＥＶ数算出処理の手順を示すフローチャートである。
【図１６】本発明の第１の実施の形態のＩ／ＯバウンドジョブのＬＤＥＶ選択処理の手順を示すフローチャートである。
【図１７】本発明の第１の実施の形態のＣＰＵバウンドジョブのＬＤＥＶ選択処理の手順を示すフローチャートである。
【図１８】本発明の第１の実施の形態のＬＵ出力処理の手順を示すフローチャートである。
【図１９】本発明の第１の実施の形態のジョブ終了処理の手順を示すフローチャートである。
【図２０】本発明の第１の実施の形態のＬＤＥＶ解放処理の手順を示すフローチャートである。
【図２１】本発明の第１の実施の形態のディスクドライブの回転制御処理の手順を示すフローチャートである。
【図２２Ａ】本発明の第２の実施の形態の論理ボリュームリストの構成を示す図である。
【図２２Ｂ】本発明の第２の実施の形態の論理ボリュームリストファイルの一例を示す図である。
【図２３】本発明の第２の実施の形態のジョブ情報読込処理の手順を示すフローチャートである。
【図２４】本発明の第２の実施の形態の一時ファイル割当処理の手順を示すフローチャートである。
【図２５】本発明の第２の実施の形態の仮想ＬＵ割当処理の手順を示すフローチャートである。
【図２６】本発明の第２の実施の形態のＣＰＵバウンドジョブのＬＤＥＶ選択処理の手順を示すフローチャートである。
【符号の説明】
【０２５０】
１    計算機
２    ストレージシステム
４    通信ネットワーク
９    計算機システム
１０    主記憶装置
１１    ＣＰＵ
１２    入出力インターフェース
２０    コントローラ部
２１    ＣＨＡ
２２    ＤＫＡ
２３    共有メモリ
３０    ストレージ部
３１    ディスクドライブ
３２    ＲＡＩＤグループ
３３    論理デバイス（ＬＤＥＶ）
３４    論理ユニット（ＬＵ）
３５    仮想ＬＤＥＶ
１００    ジョブネット定義情報
１１０    ジョブ定義情報
１２０    ジョブファイル定義情報
１３０    論理ボリュームリスト
２００    ＬＵ管理テーブル
２１０    仮想ＬＤＥＶ管理テーブル
２２０    ＬＤＥＶ管理テーブル
２３０    アドレスマッピング管理テーブル
２４０    回転状態管理テーブル
２５０    ジョブ情報管理テーブル
１０００    ジョブ管理プログラム
【図１】
2009053921.tif 000003
【図２】
2009053921.tif 000004
【図３】
2009053921.tif 000005
【図４】
2009053921.tif 000006
【図５】
2009053921.tif 000007
【図６】
2009053921.tif 000008
【図７】
2009053921.tif 000009
【図８Ａ】
2009053921.tif 000010
【図８Ｂ】
2009053921.tif 000011
【図９Ａ】
2009053921.tif 000012
【図９Ｂ】
2009053921.tif 000013
【図９Ｃ】
2009053921.tif 000014
【図１０】
2009053921.tif 000015
【図１１】
2009053921.tif 000016
【図１２】
2009053921.tif 000017
【図１３】
2009053921.tif 000018
【図１４】
2009053921.tif 000019
【図１５】
2009053921.tif 000020
【図１６】
2009053921.tif 000021
【図１７】
2009053921.tif 000022
【図１８】
2009053921.tif 000023
【図１９】
2009053921.tif 000024
【図２０】
2009053921.tif 000025
【図２１】
2009053921.tif 000026
【図２２Ａ】
2009053921.tif 000027
【図２２Ｂ】
2009053921.tif 000028
【図２３】
2009053921.tif 000029
【図２４】
2009053921.tif 000030
【図２５】
2009053921.tif 000031
【図２６】
2009053921.tif 000032