(57)【特許請求の範囲】
【請求項１】
計算機と、ネットワークを介して前記計算機に接続されるストレージ装置と、を備える計算機システムであって、
前記計算機は、
前記ネットワークに接続される第１インタフェースと、前記第１インタフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、
前記第１プロセッサが前記第１メモリに格納されたデータベース管理システムを実行することによってデータベースサーバとして動作し、
前記ストレージ装置は、前記計算機によって書き込まれたデータを格納する複数のディスク装置と、前記複数のディスク装置を制御するコントローラと、を備え、
前記コントローラは、前記ネットワークに接続される第２インタフェースと、前記第２インタフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、
前記複数のディスク装置の少なくとも一つには、前記計算機によって書き込まれたデータベーススキーマのデータが格納され、
前記計算機システムは、さらに管理部を備え、
前記管理部は、
前記前記計算機が受信したクエリに基づいて、これからアクセスすべき前記データベーススキーマを特定し、
前記特定されたデータベーススキーマの全データ量が前記第２メモリの空き容量より大きい場合、前記特定されたデータベーススキーマのデータの少なくとも一部を前記ディスク装置から読み出して、前記読み出されたデータを前記第２メモリに書き込む指示を前記ストレージ装置に送信し、
前記計算機の性能を示す値を取得し、
前記取得された性能を示す値が所定の閾値より高い性能を示す場合、前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転数を減少させるための制御指示を前記ストレージ装置に送信し、
前記コントローラは、前記制御指示に基づいて、前記回転数を制御される前記ディスク装置を特定し、前記特定されたディスク装置の回転数の減少、又は、前記特定されたディスク装置の回転の停止を実行することを特徴とする計算機システム。
【請求項２】
前記管理部は、
前記特定されたデータベーススキーマの全データ量が前記第２メモリの空き容量より大きくない場合、前記特定されたデータベーススキーマの全データを前記ディスク装置から読み出して、前記読み出されたデータを前記第２メモリに書き込み、
前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転を停止させるための前記制御指示を前記ストレージ装置に送信することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記管理部は、
前記ディスク装置の回転数を減少させる指示を前記ストレージ装置に送信した後、さらに前記計算機の性能を示す値を取得し、
前記取得された性能を示す値が所定の閾値より高い性能を示す場合、前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転数をさらに減少させるための前記制御指示を前記ストレージ装置に送信することを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記管理部は、前記取得された性能を示す値が所定の閾値より低い性能を示す場合、前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転数を増加させるための前記制御指示を前記ストレージ装置に送信し、
前記コントローラは、前記制御指示に従って、前記ディスク装置の回転数を増加させることを特徴とする請求項１に記載の計算機システム。
【請求項５】
前記管理部は、前記ストレージ装置に空きメモリ量通知命令を送信し、
前記ストレージ装置の前記コントローラは、前記空きメモリ量通知命令に従って、前記第２メモリの空き容量を示す値を前記管理部に送信することを特徴とする請求項２に記載の計算機システム。
【請求項６】
前記管理部は、前記第１プロセッサが前記第１メモリに格納されたプログラムを実行することによって実現されることを特徴とする請求項１に記載の計算機システム。
【請求項７】
前記管理部は、前記第２プロセッサが前記第２メモリに格納されたプログラムを実行することによって実現されることを特徴とする請求項１に記載の計算機システム。
【請求項８】
前記計算機システムは、さらに、前記ネットワークを介して前記計算機及び前記ストレージ装置に接続される第２計算機を備え、
前記第２計算機は、前記ネットワークに接続される第３インタフェースと、前記第３インタフェースに接続される第３プロセッサと、前記第３プロセッサに接続される第３メモリと、を備え、
前記管理部は、前記第３プロセッサが前記第３メモリに格納されたプログラムを実行することによって実現されることを特徴とする請求項１に記載の計算機システム。
【請求項９】
計算機と、ネットワークを介して前記計算機に接続されるストレージ装置と、を備える計算機システムを制御する方法であって、
前記計算機は、
前記ネットワークに接続される第１インタフェースと、前記第１インタフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、
前記第１プロセッサが前記第１メモリに格納されたデータベース管理システムを実行することによってデータベースサーバとして動作し、
前記ストレージ装置は、前記計算機によって書き込まれたデータを格納する複数のディスク装置と、前記複数のディスク装置を制御するコントローラと、を備え、
前記コントローラは、前記ネットワークに接続される第２インタフェースと、前記第２インタフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、
前記複数のディスク装置の少なくとも一つには、前記計算機によって書き込まれたデータベーススキーマのデータが格納され、
前記方法は、
前記計算機が受信したクエリに基づいて、これからアクセスすべき前記データベーススキーマを特定する第１手順と、
前記特定されたデータベーススキーマのデータの少なくとも一部を前記ディスク装置から読み出して、前記読み出されたデータを前記第２メモリに書き込む指示を前記ストレージ装置に送信する第２手順と、
前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転数を制御するための制御指示を前記ストレージ装置に送信する第３手順と、
前記制御指示に基づいて、前記回転数を制御される前記ディスク装置を特定し、前記特定されたディスク装置の回転数の減少、又は、前記特定されたディスク装置の回転の停止を実行する第４手順と、
前記計算機の性能を示す値を取得する第５手順と、を含み、
前記第２手順は、前記特定されたデータベーススキーマの全データ量が前記第２メモリの空き容量より大きい場合、前記特定されたデータベーススキーマのデータの一部を前記ディスク装置から読み出して、前記読み出されたデータを前記第２メモリに書き込む手順を含み、
前記第３手順は、前記第５手順によって取得された性能を示す値が所定の閾値より高い性能を示す場合、前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転数を減少させるための前記制御指示を前記ストレージ装置に送信する手順を含むことを特徴とする方法。
【請求項１０】
前記第２手順は、前記特定されたデータベーススキーマの全データ量が前記第２メモリの空き容量より大きくない場合、前記特定されたデータベーススキーマの全データを前記ディスク装置から読み出して、前記読み出されたデータを前記第２メモリに書き込む手順を含み、
前記第３手順は、前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転を停止させるための前記制御指示を前記ストレージ装置に送信する手順を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記方法は、前記ディスク装置の回転数を減少させる指示を前記ストレージ装置に送信した後、さらに前記計算機の性能を示す値を取得する第６手順をさらに含み、
前記第３手順は、前記第６手順によって取得された性能を示す値が所定の閾値より高い性能を示す場合、前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転数をさらに減少させるための前記制御指示を前記ストレージ装置に送信する手順を含むことを特徴とする請求項９に記載の方法。
【請求項１２】
前記第３手順は、前記第５手順によって取得された性能を示す値が所定の閾値より低い性能を示す場合、前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転数を増加させるための前記制御指示を前記ストレージ装置に送信する手順を含み、
前記第４手順は、前記制御指示に従って、前記ディスク装置の回転数を増加させる手順を含むことを特徴とする請求項９に記載の方法。
【請求項１３】
前記方法は、さらに、
前記ストレージ装置に空きメモリ量通知命令を送信する第７手順と、
前記空きメモリ量通知命令に従って、前記ストレージ装置が前記第２メモリの空き容量を示す値を送信する第８手順と、を含むことを特徴とする請求項１０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書で開示される技術は、データベース（以下、ＤＢ）を運用する計算機システムと、ＤＢのデータを記憶するストレージ装置に関し、特にストレージ装置の消費電力を低減する技術に関する。
【背景技術】
【０００２】
現在、ＤＢを基盤とする多くのアプリケーションが存在し、ＤＢに関する一連の処理／管理を行うデータベースマネージメントシステム（以下、ＤＢＭＳ）は極めて重要なものとなっている。ＤＢの特徴の一つは、膨大な量のデータを扱うことである。そのため、ＤＢＭＳが稼動する計算機システム（以下、ＤＢシステム）の多くにおいては、ＤＢＭＳが動作する計算機（以下、ＤＢサーバ）に、複数台の記憶装置を備えた（つまり大容量の）ストレージ装置を接続し、ストレージ装置上にＤＢのデータを記憶するシステム形態が一般的である。
【０００３】
上記ＤＢＭＳが管理するＤＢのデータは年々増加傾向にあり、それに伴ってストレージ装置の更なる大容量化が進んでいる。ストレージ装置の大容量化の方法の一つとして、搭載されるディスク台数を増やす方法がある。搭載するディスク台数を増やすことで記憶領域は増大するが、ディスクの回転によって多くの電力が消費されるため、ディスク台数の増加によってストレージ装置全体の消費電力が増大してしまう問題がある。ストレージ装置の消費電力を低減させるための技術として、例えば、特許文献１が知られている。
【０００４】
特許文献１は、ディスクアレイ装置が上位装置からのアクセスを所定の時間受信しなかった場合、ディスク装置の節電（すなわち、電源ＯＮ／ＯＦＦ及び節電モードの選択）を制御する技術を開示している。ディスクアレイ装置は、上位装置からアクセスを受信したときに、アクセス先のディスク装置の電源がＯＦＦになっている場合、そのディスク装置の電源を投入した後、アクセスを実行する。
【０００５】
また、ディスク（ハードディスクドライブ）単体に着目すると、消費電力はディスクの回転数に関係する。すなわち、回転数が低ければ消費電力は小さく、回転数が高くなれば消費電力も大きくなる。非特許文献１は、動的に回転数を変更することが可能なディスクの技術を開示している。本技術によれば、ディスクの回転数を小さく設定することによって、消費電力を抑えることができる。
【０００６】
ＤＢシステムにおいて、ＤＢＭＳがクエリ実行の際に作成するクエリプランを基に、ＤＢＭＳがアクセスするデータを予めストレージ装置のディスクから読み出してキャッシュメモリ上に書き込んでおくことによって、性能を向上する技術が特許文献２に開示されている。このように、これからアクセスされるデータをあらかじめディスクから読み出してメモリ上に保持することは、先読みと呼ばれる。
【特許文献１】特開２０００−２９３３１４号公報
【特許文献２】特開２００５−２５８７３５号公報
【非特許文献１】ＡＣＭ  ＳＩＧＡＲＣＨ  Ｃｏｍｐｕｔｅｒ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｎｅｗｓ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ３０ｔｈ  ａｎｎｕａｌ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｏｍｐｕｔｅｒ  ａｒｃｈｉｔｅｃｔｕｒｅ  ＩＳＣＡ  ’０３，  Ｖｏｌｕｍｅ  ３１  Ｉｓｓｕｅ  ２
【発明の開示】
【発明が解決しようとする課題】
【０００７】
前述したように、ＤＢＭＳが管理するＤＢのデータを記憶するストレージ装置において、記憶領域の増加（すなわちディスク台数の増加）に伴い消費電力も大きくなるため、ストレージ装置の消費電力を削減するための技術が望まれる。
【０００８】
ストレージ装置の消費電力を削減するための技術として、特許文献１に開示されている技術を利用することができる。例えば、所定の時間アクセスがない場合にディスク装置の電源をＯＦＦにしておき、アクセスがあった場合に、そのアクセス先のディスク装置の電源をＯＮにすることで、消費電力を削減することが可能となる。しかし、この技術では、ストレージ装置は、上位装置（例えば、ストレージ装置に接続された計算機）からアクセス要求（すなわちＩ／Ｏ要求）を受信すると、ディスク装置の電源をＯＮにしてからデータアクセスを実行する。このため、上位装置に対するＩ／Ｏの応答が遅くなるという課題がある。
【０００９】
そこで、特許文献１に開示された技術に、非特許文献１に開示されている技術を組み合わせることが考えられる。すなわち、所定の時間アクセスがない場合、ストレージ装置のディスクの回転を低速にしておくことで消費電力が削減される。上位装置からＩ／Ｏ要求があった場合にディスクの回転を高速（通常）にすることで、上位装置に対するＩ／Ｏの応答を上記よりも早くすることができる。しかし、この場合、ディスクの回転を高速にするため、ストレージ装置の消費電力は多くなる。一方、ディスクの回転を低速のままにしておくことも考えられる。しかし、その場合、消費電力は削減されるが、単位時間あたりのデータ転送量が小さくなるため、上位装置に対するＩ／Ｏの応答が遅くなる。例えば、ストレージ装置がある決められた性能要件を満たさなければならない場合、結局はディスクの回転を高速で運用する場面が多くなる可能性が高い。この場合、ストレージ装置の消費電力削減は見込めない。
【００１０】
本発明の目的は、先読みを用いて性能を維持しつつ、ある決められた性能要件内で、ＤＢのデータを記憶するストレージ装置内のディスクの回転を可能な限り低速にしておくことで、ストレージ装置の消費電力を削減することにある。
【課題を解決するための手段】
【００１１】
本願で開示する代表的な発明は、計算機と、ネットワークを介して前記計算機に接続されるストレージ装置と、を備える計算機システムであって、前記計算機は、前記ネットワークに接続される第１インタフェースと、前記第１インタフェースに接続される第１プロセッサと、前記第１プロセッサに接続される第１メモリと、を備え、前記第１プロセッサが前記第１メモリに格納されたデータベース管理システムを実行することによってデータベースサーバとして動作し、前記ストレージ装置は、前記計算機によって書き込まれたデータを格納する複数のディスク装置と、前記複数のディスク装置を制御するコントローラと、を備え、前記コントローラは、前記ネットワークに接続される第２インタフェースと、前記第２インタフェースに接続される第２プロセッサと、前記第２プロセッサに接続される第２メモリと、を備え、前記複数のディスク装置の少なくとも一つには、前記計算機によって書き込まれたデータベーススキーマのデータが格納され、前記計算機システムは、さらに管理部を備え、前記管理部は、前記前記計算機が受信したクエリに基づいて、これからアクセスすべき前記データベーススキーマを特定し、前記特定されたデータベーススキーマの全データ量が前記第２メモリの空き容量より大きい場合、前記特定されたデータベーススキーマのデータの少なくとも一部を前記ディスク装置から読み出して、前記読み出されたデータを前記第２メモリに書き込む指示を前記ストレージ装置に送信し、前記計算機の性能を示す値を取得し、前記取得された性能を示す値が所定の閾値より高い性能を示す場合、前記特定されたデータベーススキーマのデータが格納された前記ディスク装置の回転数を減少させるための制御指示を前記ストレージ装置に送信し、前記コントローラは、前記制御指示に基づいて、前記回転数を制御される前記ディスク装置を特定し、前記特定されたディスク装置の回転数の増加・減少、又は、前記特定されたディスク装置の回転の停止を実行することを特徴とする。
【発明の効果】
【００１２】
本発明の一実施形態によれば、ＤＢのデータを記憶するストレージ装置内のディスクの回転を可能な限り低速にしておくことで、ストレージ装置の消費電力を削減することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を説明する。尚、これにより本発明が限定されるものではない。
【００１４】
図１は、本発明の実施形態のＤＢシステムの構成を示すブロック図である。
【００１５】
本実施形態のＤＢシステム（すなわち図１に示す計算機システム）では、通信ネットワーク１３０を介して、ＤＢサーバ１００と、ストレージ装置１４０とが接続される。ＤＢサーバ１００は、ストレージ装置１４０に格納されているＤＢを管理するＤＢＭＳ１１８を実行する。ストレージ装置１４０は、ＤＢ等、ＤＢサーバ１００が使用するデータを格納する。通信ネットワーク１３０は、ローカルエリアネットワーク（ＬＡＮ）又はワイドエリアネットワーク（ＷＡＮ）等のネットワークであってもよいし、ファイバチャネル等で構成されるネットワーク（ストレージエリアネットワーク：ＳＡＮ）であってもよい。
【００１６】
尚、図１は、ＤＢサーバ１００及びストレージ装置１４０をそれぞれ１台のみ記載しているが、本実施形態の計算機システムは、複数台のＤＢサーバ１００及びストレージ装置１４０を備えてもよい。さらに、通信ネットワーク１３０には、計算機１７０が接続されてもよい。計算機１７０は、例えば、ＤＢサーバ１００と同様のＤＢサーバ、又は、ＤＢサーバ１００を利用するクライアント計算機であってもよい。
【００１７】
ＤＢサーバ１００は、例えば一般的な計算機であってもよい。具体的には、例えば、ＤＢサーバ１００は、内部バス１０２で接続されたＣＰＵ（制御プロセッサ）１０４、入出力装置１０６、記憶装置１０８、メモリ１１０、及びＩ／Ｆ１１２（すなわち通信ネットワーク１３０に接続されるインタフェース）を備える。メモリ１１０、及び記憶装置１０８の少なくとも一方には、オペレーティングシステム（以下、ＯＳ）１１４、ＤＢＭＳ１１８、ＤＢ情報取得プログラム１２２及びマネージャプログラム１２４が格納される。
【００１８】
ＯＳ１１４、ＤＢＭＳ１１８、ＤＢ情報取得プログラム１２２、及びマネージャプログラム１２４は、ＣＰＵ１０４によって実行される。
【００１９】
ＯＳ１１４は、ローデバイスとストレージ装置１４０上の論理的な記憶領域とを対応付けるローデバイス情報１１６を保持する。尚、ローデバイスとは、ＯＳで管理する論理的な記憶装置単位である。
【００２０】
ＤＢＭＳ１１８は、ＤＢの運用管理に必要なＤＢＭＳ管理情報１２０を保持する。ＤＢＭＳ１１８は、アプリケーション（図示省略）からクエリを受付け、受付けたクエリのクエリプランを作成し、そのクエリプランに従って処理を実行する。また、この処理の中で、ストレージ装置１４０の格納しているデータにアクセスする必要がある場合、ＤＢＭＳ１１８は、該当データのアクセス要求（以下、Ｉ／Ｏ要求とも言う）をストレージ装置１４０に発行する。
【００２１】
ＤＢ情報取得プログラム１２２は、ＤＢに関する種々の情報を取得し、マネージャプログラム１２４に送信する処理を実行する。また、ＤＢ情報取得プログラム１２２は、ＤＢサーバ１００の性能を監視し、それも合わせてマネージャプログラム１２４に送信する。
【００２２】
マネージャプログラム１２４は、特許文献２（特開２００５−２５８７３５号公報）に記載された先読み処理に必要なＤＢ処理管理情報１２６、各論理ユニットの制御状態に関する論理ユニット状態情報１２８、及び、管理者が設定する性能要件情報１２９を保持する。尚、本実施例において、管理者が設定する性能要件、及び、ＤＢ情報取得プログラム１２２が監視するＤＢサーバ１００の性能は、Ｉ／Ｏの応答時間（レスポンスタイム）である。しかし、応答時間の代わりに、ＤＢサーバ１００の性能を示すいかなる指標（例えばスループット又はＩＯＰＳ等）が設定及び監視されてもよい。
【００２３】
ストレージ装置１４０は、複数のディスク１５２と、それらのディスク１５２に接続されたコントローラ１４３を有する。コントローラ１４３は、例えば内部バス１４２で接続されたＩ／Ｆ１４４（通信ネットワーク１３０とのインタフェース）、ＣＰＵ（制御プロセッサ）１４６、キャッシュメモリ１４８、及びメモリ１５０を有する。
【００２４】
メモリ１５０には、ストレージ装置１４０を制御する制御プログラム１５４が格納さる。制御プログラム１５４は、ＣＰＵ１４６によって実行される。制御プログラム１５４は、記憶領域管理情報１５６、ディスク回転管理情報１５８及びメモリ管理情報１６０を含む。記憶領域管理情報１５６は、ストレージ装置１４０の論理的な記憶領域と、ディスク１５２が有する物理的な記憶領域とを対応付ける情報である。ディスク回転管理情報１５８は、ディスク１５２の個々の回転状態を管理する情報である。メモリ管理情報１６０は、メモリ１５０の使用状況を管理する情報である。
【００２５】
ディスク１５２は、例えばハードディスクドライブ（磁気記憶装置）である。ストレージ装置１４０は、複数のディスク１５２をＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  （ｏｒ  Ｉｎｅｘｐｅｎｓｉｖｅ）  Ｄｉｓｋｓ）構成にしてもよい。以下、ディスク１５２を物理ディスクとも記載する。
【００２６】
尚、上述した各種プログラムは、可搬記憶媒体又は通信ネットワークを介して各装置にインストールされてもよい。
【００２７】
ストレージ装置１４０がＤＢサーバ１００から書き込み（ライト）要求と、その要求によって書き込まれるべきデータとを受信した場合、制御プログラム１５４は、受信したデータをキャッシュメモリ１４８に一時的に格納し、その後、該当するディスク１５２の記憶領域にデータを書き込む。ストレージ装置１４０が読み出し（リード）要求を受信した場合、制御プログラム１５４は、該当するデータ（すなわちその要求によって読み出されるべきデータ）をキャッシュメモリ１４８から読み出して、ＤＢサーバ１００に送信する。該当するデータがキャッシュメモリ１４８上にない場合、制御プログラム１５４は、該当するデータをディスク１５２からキャッシュメモリ１４８に読み出し、ＤＢサーバ１００に送信する。
【００２８】
以上が、本実施形態におけるＤＢシステムの構成に関する説明である。尚、本実施形態においてマネージャプログラム１２４は、ＤＢサーバ１００上で動作する。しかし、マネージャプログラム１２４は、ＤＢサーバ１００及びストレージ装置１４０に接続された別の計算機１７０上で動作してもよい。
【００２９】
計算機１７０は、内部バス１７２で接続されたＣＰＵ１７４、入出力装置１７６、記憶装置１７８、メモリ１８０、及びＩ／Ｆ１８２を備える。マネージャプログラム１２４が計算機１７０上で動作する場合、マネージャプログラム１２４は、メモリ１８０に格納され、ＣＰＵ１７４によって実行される。
【００３０】
あるいは、マネージャプログラム１２４は、ストレージ装置１４０上で動作してもよい。その場合、マネージャプログラム１２４は、メモリ１５０に格納され、ＣＰＵ１４６によって実行される。
【００３１】
あるいは、ＤＢサーバ１００とストレージ装置１４０は、一つの筐体に搭載されてもよい。具体的には、例えばＤＢサーバ１００は、いわゆるブレードサーバとして、ストレージ装置１４０のコントローラ１４３、或いはディスク１５２が搭載される筐体に搭載されてもよい。
【００３２】
続いて、以下、前述した各種情報について詳細に説明する。
【００３３】
図２Ａは、本発明の実施形態のストレージ装置１４０の制御プログラム１５４が保持する記憶領域管理情報１５６の構成例を示した説明図である。
【００３４】
記憶領域管理情報１５６は、ストレージ装置１４０が有する論理的な記憶領域（以下「論理ユニット」と記載する）と、実際にデータが記憶される物理的な記憶領域とを対応付ける情報であり、論理ユニット毎に対応するエントリを有する。各エントリは、論理ユニットを識別するための論理ユニット番号を登録するフィールド２００、論理ユニット内における論理ブロックの番号（以下「論理ブロックアドレス」と記載する）を登録するフィールド２０２、論理ブロックに対応する物理ブロックが属するディスク１５２を識別するための物理ディスク番号を登録するフィールド２０４、及び、論理ブロックに対応する物理ブロックの番号（以下「物理ブロックアドレス」と記載する）を登録するフィールド２０６を含む。
【００３５】
尚、ブロックとは、記憶領域を扱う際の単位を示すものであり、一般的に５１２バイトであることが多い。また、論理ブロックは物理ブロックと一対一で対応している必要があるが、全ての論理ブロックが同一のディスク１５２上にある必要はない。
【００３６】
ストレージ装置１４０は、ＤＢサーバ１００から論理ユニット及び論理ブロックアドレスが指定されたアクセスを受け付ける。そして、ストレージ装置１４０は、指定された論理ユニット及び論理ブロックに対応する物理ブロックの物理ディスク番号及び物理ブロックアドレスを記憶領域管理情報１５６に基づいて割り出し、割り出されたアドレスが示す物理ブロックに対して実際にアクセスを実行する。
【００３７】
例えば、図２Ａによれば、ストレージ装置１４０は、論理ユニット番号「０」及び論理ブロックアドレス「２０００００」が指定されたアクセス要求を受信した場合、物理ディスク番号「１」によって識別されるディスク１５２の、物理ブロックアドレス「０」によって識別される物理ブロックに対してアクセスを実行する。
【００３８】
図２Ｂは、本発明の実施形態のストレージ装置１４０の制御プログラム１５４が保持するディスク回転管理情報１５８の構成例を示した説明図である。
【００３９】
ディスク回転管理情報１５８は、ストレージ装置１４０が有するディスク１５２の回転状態を個別に（すなわち、物理ディスクごとに）管理する情報であり、物理ディスク毎に対応するエントリを有する。各エントリは、個々のディスク１５２を識別するための物理ディスク番号を登録するフィールド２２０、及び、物理ディスクの回転状態（例えば、通常、低速又は停止等）の情報を登録するフィールド２２２を含む。
【００４０】
尚、この例において、「通常」は、ディスク１５２が通常の回転数で回転している状態を示す。「低速」は、ディスク１５２が「通常」より低い回転数で回転している状態を示す。「停止」は、ディスク１５２の回転が停止している状態を示す。フィールド２２２には、「通常」等の代わりに、各ディスク１５２の回転数（ｒｐｍ）が登録されてもよい。
【００４１】
図２Ｂの例では、物理ディスク番号「０」、「１」及び「２」に対応する回転状態情報として、それぞれ、「通常」、「低速」及び「停止」が登録されている。これは、物理ディスク番号「１」によって識別されるディスク１５２が、物理ディスク番号「０」によって識別されるディスク１５２より低い回転数で回転していること、及び、物理ディスク番号「２」によって識別されるディスク１５２の回転が停止していることを示す。
【００４２】
図２Ｃは、本発明の実施形態のストレージ装置１４０の制御プログラム１５４が保持するメモリ管理情報１６０の構成例を示した説明図である。
【００４３】
メモリ管理情報１６０は、メモリサイズを登録するフィールド１６２、使用メモリサイズを登録するフィールド１６４及び空きメモリサイズを登録するフィールド１６６を含む。
【００４４】
フィールド１６２には、メモリ１５０のサイズ、すなわち、メモリ１５０の総容量を示す値が登録される。フィールド１６４には、メモリ１５０の全記憶領域のうち、現在実際に使用されている領域の容量を示す値が登録される。フィールド１６６には、メモリ１５０の全記憶領域のうち、現在使用されていない領域の容量を示す値が登録される。
【００４５】
図３は、本発明の実施形態のＤＢサーバ１００のＯＳ１１４が保持するローデバイス情報１１６の構成例を示した説明図である。
【００４６】
ローデバイス情報１１６は、ＯＳ１１４が持つローデバイスと、そのローデバイスに割り当てられたストレージ装置１４０上の記憶領域とを対応付ける情報である。ローデバイス情報１１６は、ローデバイス毎に対応するエントリを有する。各エントリは、ローデバイスのファイル名を登録するフィールド３００、ローデバイスに対して割り当てられた記憶領域が属するストレージ装置１４０の装置アドレスを登録するフィールド３０２、割り当てられた記憶領域が属する論理ユニットの論理ユニット番号を登録するフィールド３０４、割り当てられた記憶領域の論理ユニット上での先頭論理ブロックアドレスを登録するフィールド３０６、及び、割り当てられた記憶領域の論理ブロック数を登録するフィールド３０８を含む。
【００４７】
例えば、図３によれば、ファイル名「／ｄｅｖ／ｒｄｓｋ／ｒａｗ１」によって識別されるローデバイスに、アドレス「１０００」によって識別されるストレージ装置１４０の、番号「０」によって識別される論理ユニットの、アドレス「０」を先頭とする６７１０８８６４個の論理ブロックが割り当てられている。
【００４８】
図４Ａは、本発明の実施形態のＤＢＭＳ１１８が保持するＤＢＭＳ管理情報１２０の構成例を示した説明図である。
【００４９】
ＤＢＭＳ管理情報１２０は、ＤＢの初期設定時又は運用時に、管理者等によって設定される。
【００５０】
ＤＢＭＳ管理情報１２０は、ＤＢシステムファイルの設定情報であるＤＢシステムファイル情報４００、データ領域の設定情報であるデータ領域情報４２０、テーブルやインデックスといったＤＢスキーマの設定情報であるＤＢスキーマ情報４４０を含む。
【００５１】
図４Ｂは、本発明の実施形態のＤＢシステムファイル情報４００の構成例を示した説明図である。
【００５２】
ＤＢシステムファイル情報４００は、ＤＢシステムファイルと、前述のローデバイスとを対応付ける情報である。ＤＢシステムファイル情報４００は、ＤＢシステムファイル毎にエントリを有する。各エントリは、ＤＢシステムファイルのファイル名を登録するフィールド４０２、及び、ＤＢシステムファイルが登録されるローデバイスのファイル名を登録するフィールド４０４を含む。
【００５３】
尚、ＤＢシステムファイルは、ローデバイスに作られる一つの大きなファイルである。ＤＢＭＳ１１８は、このＤＢシステムファイルにＤＢのデータを書き込むことでＤＢを構築する。また、ＤＢシステムファイルに書き込まれたＤＢのデータについて、ＯＳ１１４は、前述のローデバイス情報１１６に基づいて、実際にデータを書き込むストレージ装置１４０の論理的な記憶領域を割り出す。そして、割り出した情報に基づいて、ＯＳ１１４が実際のデータ書き込み命令をストレージ装置１４０に発行する。データ読み出し（リード）も同様にして実行される。
【００５４】
図４Ｃは、本発明の実施形態のデータ領域情報４２０の構成例を示した説明図である。
【００５５】
データ領域情報４２０は、ＤＢＭＳ１１８が管理するデータ領域の設定情報である。データ領域情報４２０は、データ領域毎にエントリを有する。各エントリは、データ領域を識別するためのデータ領域ＩＤを登録するフィールド４２２、データ領域の名前を登録するフィールド４２４、データ領域が作られるＤＢシステムファイルのファイル名を登録するフィールド４２６、及び、データ領域に割り当てた領域サイズを登録するフィールド４２８を含む。尚、データ領域とは、ＤＢのデータを記憶するデータ領域であり、ＤＢシステムファイル上に作成される。
【００５６】
図４Ｄは、本発明の実施形態のＤＢスキーマ情報４４０の構成例を示した説明図である。
【００５７】
ＤＢスキーマ情報４４０は、ＤＢＭＳ１１８が管理する表（テーブル）及び索引（インデックス）といったＤＢスキーマに関する設定情報である。ＤＢスキーマ情報４４０は、ＤＢスキーマ毎にエントリを有する。
【００５８】
各エントリは、フィールド４４２、フィールド４４４、フィールド４４６、フィールド４４８、フィールド４５０及びフィールド４５２を含む。フィールド４４２には、ＤＢスキーマを識別するためのＤＢスキーマＩＤが登録される。フィールド４４４には、ＤＢスキーマの名前が登録される。フィールド４４６には、ＤＢスキーマの種別（例えば「表」又は「索引」）が登録される。フィールド４４８には、ＤＢスキーマが書き込まれるデータ領域を識別するためのデータ領域ＩＤが登録される。フィールド４５０には、ＤＢスキーマのサイズが登録される。フィールド４５２には、ＤＢスキーマが書き込まれるデータ領域上のオフセットが登録される。
【００５９】
図５Ａは、本発明の実施形態のマネージャプログラム１２４が保持するＤＢ処理管理情報１２６の構成例を示した説明図である。
【００６０】
ＤＢ処理管理情報１２６は、各ＤＢスキーマの論理的な位置情報であるＤＢスキーマ位置情報５００、及び、ＤＢ処理に関する情報であるＤＢ処理情報５２０を含む。
【００６１】
尚、ＤＢ処理管理情報１２６は、ＤＢ情報取得プログラム１２２がＤＢＭＳ１１８及びＯＳ１１４から取得し、マネージャプログラム１２４に送信した情報に基づいて作成される。
【００６２】
図５Ｂは、本発明の実施形態のＤＢスキーマ位置情報５００の構成例を示した説明図である。
【００６３】
ＤＢスキーマ位置情報５００は、前述のＤＢスキーマがストレージ装置１４０の記憶領域に記憶された実際の位置を示す情報である。ＤＢスキーマ位置情報５００は、ＤＢスキーマ毎にエントリを有する。各エントリは、フィールド５０２、フィールド５０４、フィールド５０６、フィールド５０８、フィールド５１０、フィールド５１２及びフィールド５１４を含む。
【００６４】
フィールド５０２には、ＤＢスキーマを識別するためのスキーマＩＤが登録される。フィールド５０４には、ＤＢスキーマを有するＤＢＭＳを識別するためのＤＢＭＳ  ＩＤが登録される。ＤＢＭＳ  ＩＤは、管理者等によってあらかじめ各ＤＢＭＳに一意の値として割り当てられている値である。フィールド５０６には、ＤＢスキーマの種別が登録される。フィールド５０８には、ＤＢスキーマのサイズが登録される。フィールド５１０には、ＤＢスキーマが書き込まれたストレージ装置１４０の装置アドレスが登録される。フィールド５１２ＤＢには、スキーマが書き込まれたストレージ装置１４０の論理ユニットに付与された論理ユニット番号が登録される。フィールド５１４には、ＤＢスキーマが書き込まれた論理ユニット内の領域の先頭の論理ブロックのアドレスが登録される。
【００６５】
図５Ｃは、本発明の実施形態のＤＢ処理情報５２０の構成例を示した説明図である。
【００６６】
ＤＢ処理情報５２０は、ＤＢＭＳが実行するクエリ、及びそのクエリ内で実行される検索（テーブルスキャン又はインデックススキャン等。以下「スキャン」ともいう）に関する情報である。ＤＢ処理情報５２０は、クエリのステップ毎にエントリを有する。
【００６７】
各エントリは、フィールド５２２、フィールド５２４、フィールド５２６、フィールド５２８及びフィールド５３０を有する。フィールド５２２には、クエリを実行するＤＢＭＳを識別するためのＤＢＭＳ  ＩＤが登録される。フィールド５２４には、実行するクエリを識別するためのクエリＩＤが登録される。フィールド５２６には、クエリ内で実行されるスキャンを識別するためのスキャンＩＤが登録される。尚、スキャンＩＤは、そのクエリの中で実行されるスキャンを一意に識別するためにＤＢＭＳによって割り当てられる。スキャンＩＤの値が小さいスキャンから順番に実行される。フィールド５２８には、クエリ内で実行されるスキャンでアクセスされるＤＢスキーマを識別するためのＤＢスキーマＩＤが登録される。フィールド５３０には、スキャンの種別が登録される。
【００６８】
図５Ｄは、本発明の実施形態のマネージャプログラム１２４が保持する論理ユニット状態情報１２８の構成例を示した説明図である。
【００６９】
論理ユニット状態情報１２８は、マネージャプログラム１２４が論理ユニットに対して、現在どのような制御を実行しているかを示す情報である。論理ユニット状態情報１２８は、論理ユニット毎にエントリを有する。各エントリは、論理ユニット番号を登録するフィールド５４０、論理ユニットが属するストレージ装置１４０のアドレスを登録するフィールド５４２、及び、論理ユニットの現在の制御状態に関する情報を登録するフィールド５４４を有する。
【００７０】
より詳細には、フィールド５４４には、論理ユニットに対応するディスク１５２の回転の制御に関する情報が登録される。図５Ｄの例では、論理ユニット番号「０」、「１」及び「２」に対応するフィールド５４４に、それぞれ、「停止」、「低速」及び「通常」が登録されている。これは、論理ユニット番号「０」によって識別される論理ユニットに割り当てられたディスク１５２の回転が停止し、論理ユニット番号「１」によって識別される論理ユニットに割り当てられたディスク１５２が低速で回転し、論理ユニット番号「２」によって識別される論理ユニットに割り当てられたディスク１５２が通常の回転をするように制御されていることを示す。ここで、「停止」、「低速」及び「通常」の意味は、図２Ｂにおいて説明したとおりである。
【００７１】
図６Ａは、本発明の実施形態の空きメモリ量通知応答６００の構成例を示した説明図である。
【００７２】
空きメモリ量通知応答６００は、マネージャプログラム１２４がストレージ装置１４０にリクエストした空きメモリ量通知命令に対してストレージ装置１４０から送信される応答である。
【００７３】
空きメモリ量通知応答６００は、該当ストレージ装置アドレスを登録するフィールド６０２、及び空きメモリ量を登録するフィールド６０４を有する。ストレージ装置１４０の制御プログラム１５４は、マネージャプログラム１２４から空きメモリ量通知命令を受信すると、内部に保持するメモリ管理情報１６０を参照し、自ストレージ装置１４０のアドレス、及び、現在の空きメモリ量（すなわちフィールド１６６の値）を、それぞれ、空きメモリ量通知応答６００のフィールド６０２及び６０４にセットして、マネージャプログラム１２４に返信する。
【００７４】
図６Ｂは、本発明の実施形態のマネージャプログラム１２４がストレージ装置１４０に発行するディスク制御命令６１０の構成例を示した説明図である。
【００７５】
ディスク制御命令６１０は、制御対象である論理ユニット番号を登録するフィールド６１２、及び制御内容を登録するフィールド６１４を含む。マネージャプログラム１２４は、必要に応じてこのディスク制御命令６１０を発行することによって、ストレージ装置１４０のディスク１５２の回転を制御する。
【００７６】
ストレージ装置１４０の制御プログラム１５４は、ディスク制御命令６１０を受信すると、記憶領域管理情報１５６を参照して該当論理ユニットに対応する物理ディスク１５２を割り出し、指示された制御を実行する。その際、制御プログラム１５４は、受信したディスク制御命令６１０に従ってディスク回転管理情報１５８を更新する。
【００７７】
尚、本実施形態では、ディスク制御命令６１０によって、論理ユニットのディスクの回転を通常回転、低速回転、停止の３段階の制御をすることができる。しかし、より多くの段階の制御が実行されてもよいし、２段階の制御（例えば通常回転と低速回転、又は、通常回転と停止）が実行されてもよい。本実施形態において、ディスク１５２の回転数は、例えば、通常回転に設定されている場合に１５０００ｒｐｍ、低速回転に設定されている場合に５４００ｒｐｍである。
【００７８】
図６Ｃは、本発明の実施形態のＤＢ情報取得プログラム１２２がマネージャプログラム１２４に送信するＤＢ処理実行情報６３０の構成例を示した説明図である。
【００７９】
ＤＢ処理実行情報６３０は、ＤＢＭＳ１１８がクエリ実行のためにクエリプランに基づいてストレージ装置１４０上のＤＢデータへのアクセス要求を発行する際に、ＤＢ情報取得プログラム１２２によって作成され、マネージャプログラム１２４に送信される。ＤＢ処理実行情報６３０は、フィールド６３２、フィールド６３４、フィールド６３６、フィールド６３８、フィールド６４０及びフィールド６４２を含む。
【００８０】
フィールド６３２には、アクセス要求元であるクエリを実行しているＤＢＭＳのＩＤ（識別子）が登録される。フィールド６３４には、アクセス要求元であるクエリのＩＤが登録される。フィールド６３６には、アクセス要求元であるスキャンのＩＤが登録される。フィールド６３８には、これから発行されるアクセス要求によってアクセス先として指定されるスキーマのＩＤが登録される。フィールド６４０には、これから発行されるアクセス要求によってアクセス先として指定される位置（すなわち論理ブロックのアドレス）が登録される。フィールド６４２には、現在のＩ／Ｏ応答時間が登録される。Ｉ／Ｏ応答時間は、ＤＢ情報取得プログラム１２２がＤＢサーバ１００のＩ／Ｏを監視して内部に保持している性能情報１２３に基づく情報である。
【００８１】
図６Ｄは、本発明の実施形態のＤＢ処理終了情報６５０の構成例を示した説明図である。
【００８２】
ＤＢ処理終了情報６５０は、ＤＢＭＳ１１８がクエリを終了する際、ＤＢ情報取得プログラム１２２によってマネージャプログラム１２４に送信される。
【００８３】
ＤＢ処理終了情報６５０は、終了するクエリを実行していたＤＢＭＳ１１８のＤＢＭＳ  ＩＤを登録するフィールド６５２、及び、終了するクエリのクエリＩＤを登録するフィールド６５４を含む。
【００８４】
続いて、ＤＢ情報取得プログラム１２２が実行する処理（以下、ＤＢ情報取得送信処理と記載する）、マネージャプログラム１２４が実行する処理（以下、消費電力削減処理と記載する）の手順について説明する。尚、ＤＢは構築済み（すなわち、ＤＢ処理管理情報１２６は作成済み）であるものとする。また、マネージャプログラム１２４が実行する先読み処理は特許文献２（特開２００５−２５８７３５号公報）に記載してあるため説明を省略する。
【００８５】
図７は、本発明の実施形態のＤＢ情報取得送信処理の手順例を示したフロー図である。
【００８６】
以下の説明においてプログラムが主語になる場合、実際にはそのプログラムを実行するＣＰＵ１０４（又はＣＰＵ１４６）によって処理が実行される。
【００８７】
システム管理者は、ＤＢサーバ１００上でＤＢ情報取得プログラム１２２を起動し、ＤＢ情報取得送信処理を開始する（ステップ７００）。
【００８８】
最初に、ＤＢ情報取得プログラム１２２は、ＤＢＭＳ１１８が起動したか否かを判定する（ステップ７０４）。
【００８９】
ＤＢＭＳ１１８が起動していないと判定された場合、ＤＢ情報取得プログラム１２２は、ＤＢが変更されたか否かを判定する（ステップ７０６）。
【００９０】
ＤＢＭＳ１１８が起動したか（ステップ７０４でＹｅｓ）、又は、ＤＢが変更された場合（ステップ７０６でＹｅｓ）、ＤＢ情報取得プログラム１２２は、ＤＢＭＳ１１８が保持するＤＢＭＳ管理情報１２０、及び、ＯＳ１１４が保持するローデバイス情報１１６を参照して、ＤＢスキーマに関する情報を取得する（ステップ７０８）。
【００９１】
具体的には、例えば、スキーマＩＤ、スキーマ種別、及びデータ領域ＩＤがＤＢスキーマ情報４４０から取得される。そして、その取得されたデータ領域ＩＤに対応するＤＢシステムファイル名がデータ領域情報４２０から取得される。そして、その取得されたＤＢシステムファイル名に対応するローデバイスファイル名がＤＢシステムファイル情報４００から取得される。そして、その取得されたローデバイスファイル名に対応するストレージ装置アドレス及び論理ユニット番号がローデバイス情報１１６から取得される。
【００９２】
ＤＢ情報取得プログラム１２２は、ステップ７０８で取得した情報と、ＤＢＭＳ管理情報１２０を保持するＤＢＭＳ１１８のＩＤとを含んだＤＢスキーマ位置情報５００を作成し、マネージャプログラム１２４に送信する（ステップ７１０）。ＤＢスキーマ位置情報５００を受信したマネージャプログラム１２４は、その情報を内部に保持する。尚、ＤＢ情報取得プログラム１２２が起動した時点でＤＢＭＳ１１８が動作している場合、ＤＢ情報取得プログラム１２２は起動直後に、ステップ７０８及びステップ７１０の処理を実行する。
【００９３】
ステップ７０６においてＤＢが変更されていないと判定されたか、又は、ステップ７１０が終了した場合、ＤＢ情報取得プログラム１２２は、ＤＢＭＳ１１８がクエリを受け付けたか否かを判定する（ステップ７１２）。
【００９４】
ＤＢＭＳ１１８がクエリを受け付けた場合（ステップ７１２でＹｅｓ）、ＤＢＭＳ１１８によってクエリプランが作成される。ＤＢ情報取得プログラム１２２は、作成されたクエリのクエリプランに関する情報をＤＢＭＳ１１８から取得して（ステップ７１４）、その情報を用いてＤＢ処理情報５２０を作成し、マネージャプログラム１２４に送信する（ステップ７１６）。
【００９５】
続いて、ＤＢ情報取得プログラム１２２は、性能（本実施例ではＩ／Ｏ応答時間）の監視を開始し、取得した情報を性能情報１２３として内部に保持する（ステップ７１８）。具体的には、例えば、ＤＢ情報取得プログラム１２２は、ＯＳ１１４にＩ／Ｏの開始時間と終了時間を出力するフックを設け、そのフックによって情報を取得し、取得された情報に基づいてＩ／Ｏ応答時間を割り出して保持する。尚、全てのＩ／Ｏの応答時間を保持するとデータ量が大きくなるため、ＤＢ情報取得プログラム１２２は、ある期間又はあるＩ／Ｏ数の平均Ｉ／Ｏ応答時間を性能情報１２３として保持してもよい。
【００９６】
ステップ７１８の次に、処理はステップ７２０に進む。
【００９７】
一方、ステップ７１２において、ＤＢＭＳ１１８がクエリを受け付けていないと判定された場合、ステップ７１４から７１８は実行されずに、処理はステップ７２０に進む。
【００９８】
クエリ実行中（つまりＤＢ処理中）、ＤＢＭＳ１１８がＤＢのデータにアクセスする場合、ＤＢＭＳ１１８からＩ／Ｏ要求がＯＳ１１４を介してストレージ装置１４０に発行される。ＤＢ情報取得プログラム１２２は、ＤＢＭＳ１１８のＩ／Ｏ要求発行を監視するか、もしくはＤＢＭＳ１１８内部にフックを設け、Ｉ／Ｏ要求発行時にＤＢ情報取得プログラム１２２に通知するようにして、Ｉ／Ｏ要求発行の有無を判定する（ステップ７２０）。
【００９９】
ＤＢＭＳ１１８からＩ／Ｏ要求が発行される場合（ステップ７２０でＹｅｓ）、ＤＢ情報取得プログラム１２２は、そのＩ／Ｏ要求の情報を取得する（ステップ７２２）。ここで取得されるＩ／Ｏ要求の情報には、そのＩ／Ｏ要求を発行するＤＢＭＳ１１８の識別子、処理されているクエリ及びスキャンの識別子、そのＩ／Ｏ要求によるアクセス先のスキーマの識別子及びそのアクセス先の位置情報が含まれる。
【０１００】
そして、ＤＢ情報取得プログラム１２２は、その取得した情報と性能情報１２３とに基づいてＤＢ処理実行情報６３０を作成し、マネージャプログラム１２４に送信する（ステップ７２４）。
【０１０１】
ステップ７２４が終了すると、処理はステップ７２６に進む。
【０１０２】
一方、ステップ７２０において、ＤＢＭＳ１１８からＩ／Ｏ要求が発行されないと判定された場合、ステップ７２２及び７２４は実行されずに、処理はステップ７２６に進む。
【０１０３】
次に、ＤＢ情報取得プログラム１２２は、ＤＢＭＳ１１８がクエリの実行を終了したか否かを判定する（ステップ７２６）。
【０１０４】
ＤＢＭＳ１１８がクエリの実行を終了した場合（ステップ７２６でＹｅｓ）、ＤＢ情報取得プログラム１２２は、終了したクエリに関する情報をＤＢＭＳ１１８から取得する（ステップ７２８）。そして、ＤＢ情報取得プログラム１２２は、取得した情報に基づいてＤＢ処理終了情報６５０を作成し、マネージャプログラム１２４に送信する（ステップ７３０）。続いて、マネージャプログラム１２４は、性能監視を終了する（ステップ７３２）。
【０１０５】
ステップ７３２が終了すると、処理はステップ７０４に戻る。
【０１０６】
一方、ステップ７２６において、ＤＢＭＳ１１８がクエリの実行を終了していないと判定された場合、ステップ７２８から７３２は実行されずに、処理はステップ７０４に戻る。
【０１０７】
以上が、ＤＢ情報取得送信処理の手順例についての説明である。尚、ＤＢＭＳ１１８が複数のクエリを受付けた場合、それらの複数のクエリの各々に対して上述の処理が行われる。
【０１０８】
ＤＢ情報取得プログラム１２２が、ステップ７０４でＹｅｓ、ステップ７０６でＹｅｓ、ステップ７１２でＹｅｓ、ステップ７２０でＹｅｓ、及びステップ７２６でＹｅｓとなったことを検知できるようにするための方法として、種々の方法を採用することができる。具体的には、例えば、ＤＢＭＳ１１８内部に、下記の（１）乃至（５）のタイミングで、ＤＢ情報取得プログラム１２２に情報を通知するインタフェースを設けてもよい。この場合、そのインタフェースを通じて、ＤＢ情報取得プログラム１２２は、各ステップにおける「Ｙｅｓ」を検知することができる。
【０１０９】
（１）ＤＢＭＳ起動後。この場合、例えば、ＤＢＭＳ１１８がＤＢ情報取得プログラム１２２に対し、起動したことの通知を、起動と同時に送信する。
【０１１０】
（２）ＤＢに変更があった時。この場合、例えば、ＤＢＭＳ１１８がＤＢ情報取得プログラム１２２に対し、ＤＢを変更したことの通知を、変更と同時に送信する。
【０１１１】
（３）クエリ受付時。この場合、例えば、ＤＢＭＳ１１８がＤＢ情報取得プログラム１２２に対し、受付けられたクエリのクエリプランに関する情報を、クエリプランの作成と同時に送信する。
【０１１２】
（４）ＤＢＭＳのアクセス要求発行時。この場合、例えば、ＤＢＭＳ１１８がＤＢ情報取得プログラム１２２に対し、アクセス先に関する情報を、アクセス要求発行と同時に送信する。）
（５）クエリ終了時。この場合、例えば、ＤＢＭＳ１１８がＤＢ情報取得プログラム１２２に対し、終了したクエリに関する情報を、クエリの処理の終了と同時に送信する。
【０１１３】
次に、消費電力削減処理の手順例について説明する。尚、マネージャプログラム１２４が実行する先読み処理については、前述した通り特許文献２に記載されているため説明を省略する。
【０１１４】
図８Ａ及び図８Ｂは、本発明の実施形態の消費電力削減処理の手順例を示したフロー図である。
【０１１５】
システム管理者は、マネージャプログラム１２４を起動し、消費電力削減処理を開始する（ステップ８００）。尚、本実施例においてマネージャプログラム１２４は、前述のＤＢ情報取得プログラム１２２より先に起動される必要があるが、情報の取得手順を変更すればその限りではない。また、初期の状態において、ストレージ装置１４０の全てのディスク１５２の回転は通常回転である。
【０１１６】
マネージャプログラム１２４は、ＤＢ情報取得プログラム１２２からＤＢスキーマ位置情報５００を受信したか否かを判定する（ステップ８０２）。ＤＢスキーマ位置情報５００を受信していない場合（ステップ８０２でＮｏ）、マネージャプログラム１２４は、受信するまでステップ８０２の判定を繰り返す。ＤＢスキーマ位置情報５００をＤＢ情報取得プログラム１２２から受信した場合（ステップ８０２でＹｅｓ）、マネージャプログラム１２４は、受信したＤＢスキーマ位置情報５００をＤＢ処理管理情報１２６の一部として内部に保持する（ステップ８０４）。
【０１１７】
次に、マネージャプログラム１２４は、ＤＢ情報取得プログラム１２２からＤＢ処理情報５２０を受信したか否かを判定する（ステップ８０６）。ＤＢ処理情報５２０は、クエリを受け付けたＤＢ情報取得プログラム１２２によって送信される（図７のステップ７１６参照）。ＤＢ処理情報５２０を受信していない場合（ステップ８０６でＮｏ）、マネージャプログラム１２４は、受信するまでステップ８０６の判定を繰り返す。
【０１１８】
ＤＢ処理情報５２０をＤＢ情報取得プログラム１２２から受信した場合（ステップ８０６でＹｅｓ）、マネージャプログラム１２４は、受信したＤＢ処理情報５２０をＤＢ処理管理情報１２６の一部として内部に保持する。さらに、マネージャプログラム１２４は、ＤＢ処理情報５２０を参照して、ＤＢＭＳがこれからアクセスするＤＢスキーマ（表、索引等）を特定する（ステップ８０８）。ここで特定されたＤＢスキーマ（すなわち、ＤＢ処理情報５２０に登録されている全てのＤＢスキーマ）は、現在のクエリ（すなわち、図７のステップ７１６においてＤＢ情報取得プログラム１２２が受け付けたクエリ）を処理するためにＤＢＭＳ１１８によってこれからアクセスされる。
【０１１９】
次に、マネージャプログラム１２４は、空きメモリ量通知命令をストレージ装置１４０に発行し、ストレージ装置１４０から送信される空きメモリ量通知応答６００の受信を待つ（ステップ８１０）。
【０１２０】
次に、マネージャプログラム１２４は、ＤＢスキーマ位置情報５００を参照して、ステップ８０８で特定されたＤＢスキーマの総データ量を特定する。具体的には、マネージャプログラム１２４は、ＤＢスキーマ位置情報５００のエントリのうち、ステップ８０８で特定されたＤＢスキーマに対応するエントリのフィールド５０８に登録されているスキーマサイズを合計した値を合計することによって、総データ量を割り出す。そして、マネージャプログラム１２４は、割り出された総データ量をステップ８１０で取得したストレージ装置１４０の空きメモリ量と比較する（ステップ８１２）。
【０１２１】
ステップ８０８で特定したＤＢスキーマの総データ量がストレージ装置１４０の空きメモリ量よりも小さい場合（ステップ８１２でＮｏ）、ステップ８０８で特定したＤＢスキーマの全データをメモリ１５０の空き容量に格納することができる。この場合、マネージャプログラム１２４は、ステップ８０８で特定したＤＢスキーマの全データをストレージ装置１４０のメモリ１５０上に先読みする指示をストレージ装置１４０に発行し、その先読みの完了通知がストレージ装置１４０から送信されるのを待つ。先読みの完了通知をストレージ装置１４０から受信したら、マネージャプログラム１２４は、ステップ８０８で特定されたＤＢスキーマを記憶している論理ユニットに対応するディスク１５２の回転を停止する（又は低速回転にする）ディスク制御命令６１０を作成してストレージ装置１４０に発行する（ステップ８１４）。
【０１２２】
ステップ８１４で発行される先読み指示は、先読みされるデータ（すなわちステップ８０８で特定されたＤＢスキーマのデータ）が格納されている位置を指定する情報を含む。具体的には、ステップ８０８で特定されたＤＢスキーマに対応する配置先論理ユニット番号５１２及び配置先先頭論理アドレス５１４の値が先読み指示に含まれる。
【０１２３】
先読み指示を受信したストレージ装置１４０の制御プログラム１５４は、先読み指示によって指定された位置からデータを読み出す。具体的には、制御プログラム１５４は、記憶領域管理情報１５６を参照して、先読み指示に含まれる論理ユニット番号及び論理ブロックアドレスを物理ディスク番号及び物理ブロックアドレスに変換する。そして、制御プログラム１５４は、変換によって得られた物理ディスク番号及び物理ブロックアドレスが示すディスク１５２の記憶領域からデータを読み出す。そして、制御プログラム１５４は、読み出したデータをメモリ１５０に書き込む。
【０１２４】
制御プログラム１５４は、メモリ１５０へのデータの書き込みが終了すると、先読みの完了通知を送信する。
【０１２５】
ステップ８１４で発行されるディスク制御命令６１０の論理ユニット番号６１２には、ステップ８０８で特定されたＤＢスキーマを記憶している論理ユニットに付与された番号（すなわち、特定されたＤＢスキーマに対応する配置先論理ユニット番号５１２）が登録される。
【０１２６】
ステップ８１４においてマネージャプログラム１２４が発行したディスク制御命令６１０を受信したストレージ装置１４０の制御プログラム１５４は、そのディスク制御命令６１０によって指定された論理ユニットに対応するディスク１５２を特定する。
【０１２７】
例えば、図６Ｂに示すように、ディスク制御命令６１０の論理ユニット番号６１２及び制御内容６１４にそれぞれ「０」及び「停止」が登録されている場合、制御プログラム１５４は、論理ユニット番号「０」が付与された論理ユニットに対応するディスク１５２（言い換えると、その論理ユニットに書き込まれたデータが最終的に格納されるディスク１５２）を特定する。
【０１２８】
具体的には、制御プログラム１５４は、記憶領域管理情報１５６を参照する。例えば、図２Ａに示す記憶領域管理情報１５６が参照された場合、論理ユニット番号２００の値「０」に対応する物理ディスク番号２０４として少なくとも「０」、「１」及び「２」が登録されている。これは、論理ユニット番号「０」が付与された論理ユニットに、物理ディスク番号「０」、「１」及び「２」が付与されたディスク１５２が対応することを意味する。
【０１２９】
さらに、制御プログラム１５４は、ディスク制御命令６１０に従って、特定されたディスク１５２の回転を制御する。例えば、制御プログラム１５４は、物理ディスク番号「０」、「１」及び「２」が付与されたディスク１５２の回転を停止させる。このとき、制御プログラム１５４は、ディスク回転管理情報１５８を更新する。例えば、物理ディスク番号「０」、「１」及び「２」に対応する回転状態情報２２２の値を「停止」にする。
【０１３０】
続いて、マネージャプログラム１２４は、回転を停止した（又は低速回転にした）論理ユニットに対応する論理ユニット状態情報１２８のフィールド５４４を「停止」（又は「低速」）に更新する（ステップ８１６）。
【０１３１】
次に、マネージャプログラム１２４は、ＤＢ処理終了情報６５０を受信したか否かを判定する（ステップ８１８）。ＤＢ処理終了情報６５０を受信していない場合（ステップ８１８でＮｏ）、マネージャプログラム１２４は、ＤＢ処理終了情報６５０を受信するまでステップ８１８の判定を繰り返す。
【０１３２】
ＤＢ処理終了情報６５０をＤＢ情報取得プログラム１２２から受信した場合（ステップ８１８でＹｅｓ）、マネージャプログラム１２４は、回転を停止していた（又は低速回転にしていた）論理ユニットに対応するディスク１５２の回転を通常回転にするディスク制御命令６１０を作成して、ストレージ装置１４０に発行する（ステップ８２０）。
【０１３３】
ステップ８２０においてマネージャプログラム１２４が発行したディスク制御命令６１０を受信したストレージ装置１４０の制御プログラム１５４は、そのディスク制御命令６１０によって指定された論理ユニットに対応するディスク１５２を特定する。この特定はステップ８１４と同様にして実行される。
【０１３４】
さらに、制御プログラム１５４は、ディスク制御命令６１０に従って、特定されたディスク１５２の回転を「通常」に戻す。
【０１３５】
次に、マネージャプログラム１２４は、ステップ８２０において通常回転に設定された論理ユニットに対応する論理ユニット状態情報１２８のフィールド５４４を「通常」に更新する（ステップ８２２）。そして、マネージャプログラム１２４は、ステップ８０６のＤＢ処理情報受信待ちループに戻る。
【０１３６】
尚、ストレージ装置１４０のディスク１５２からメモリ１５０上に読み出されているデータが更新された場合は、マネージャプログラム１２４は、その更新されたデータに対応するディスク１５２上のデータ（すなわち、そのデータの読み出し元のデータ）に更新を反映させる。
【０１３７】
以上の手順によって、ＤＢＭＳ１１８がこれからアクセスするデータ（言い換えると、ＤＢＭＳ１１８がアクセスする可能性があるデータ）があらかじめストレージ装置１４０のディスク１５２から読み出され、そのデータがメモリ１５０上に書き込まれる。その後、ＤＢＭＳ１１８がそれらのデータにアクセスする場合、ディスク１５２へのアクセスの代わりにメモリ１５０へのアクセスが実行される。このように、元のデータを格納しているディスク１５２にアクセスする必要がなくなるため、それらのデータを格納しているディスク１５２の回転を停止する（又は低速回転にする）ことができる。その結果、ストレージ装置１４０の消費電力を削減することが可能となる。
【０１３８】
但し、ＤＢＭＳ１１８がアクセスする可能性があるデータ量がストレージ装置１４０の空きメモリよりも大きい場合、それらのデータの全てをディスク１５２から読み出してメモリ１５０に書き込むことができない。この場合、以下の処理を実行して可能な限りストレージ装置１４０の消費電力削減を図る。
【０１３９】
ステップ８０８で特定したＤＢスキーマの総データ量がストレージ装置１４０の空きメモリ量よりも大きい場合（ステップ８１２でＹｅｓ）、マネージャプログラム１２４は、システム管理者から性能要件（以下、性能Ｓ。本実施例の場合Ｉ／Ｏ応答時間）を受け付け、その性能要件を性能要件情報１２９として保持する（ステップ８２４）。
【０１４０】
マネージャプログラム１２４は、ステップ８０８で内部に保持したＤＢ処理情報５２０を参照して、本クエリが先読み実行可能か否か（言い換えると、先読みを実行することによってアクセス性能向上の効果が得られるか否か）を判定する（ステップ８２６）。この判定は、いかなる方法によって実行されてもよい。例えば、マネージャプログラム１２４は、特許文献２に記載された公知の技術によってこの判定を実行することができる。
【０１４１】
ステップ８２６において先読み実行不可（すなわち、先読みを実行してもアクセス性能が向上しない）と判定された場合（ステップ８２８でＮｏ）、アクセス性能の低下なしにディスク回転数を低速にすることができない。この場合、ディスク回転数の制御（すなわち低速化）は実行されず、処理はステップ８０６のＤＢ処理情報受信待ちループに戻る。
【０１４２】
ステップ８２６において先読み実行可能と判定された場合（ステップ８２８でＹｅｓ）、ディスク回転数を低速にすることによるアクセス性能の低下を、先読みによるアクセス性能の向上が補うことができる。この場合、マネージャプログラム１２４は、ＤＢ情報取得プログラム１２２から送信されたＤＢ処理実行情報６３０に基づいて先読み処理を実行する。さらに、マネージャプログラム１２４は、ＤＢ処理実行情報６３０内のＩ／Ｏ応答時間６４２を参照して、現在の性能状況（Ｉ／Ｏ応答時間）を取得する（ステップ８３０）。
【０１４３】
なお、ステップ８３０において先読みされるデータは、ステップ８０８において特定されたＤＢスキーマに含まれるデータの一部である。この先読みされるデータは、例えば特許文献２に記載された方法によって特定されてもよい。
【０１４４】
マネージャプログラム１２４は、ステップ８３０で取得した現在の性能（Ｉ／Ｏ応答時間）が、設定された性能要件情報１２９に保持されている性能Ｓ（Ｉ／Ｏ応答時間）以上であるか否かを判定する（ステップ８３２）。例えば、ステップ８３０で取得したＩ／Ｏ応答時間が、性能Ｓとして保持されているＩ／Ｏ応答時間以下である場合、ステップ８３０で取得した現在の性能が性能Ｓ以上であると判定される。
【０１４５】
なお、本実施形態は、性能としてＩ／Ｏ応答時間が比較される例を示す。しかし、Ｉ／Ｏ応答時間以外の性能を示す情報（例えば、単位時間当たりのＩ／Ｏ回数（ＩＯＰＳ）又はデータスループット等）が比較されてもよい。具体的には、ステップ８３０で取得したＩＯＰＳの値が、性能Ｓとして保持されているＩＯＰＳの値以上である場合、ステップ８３０で取得した現在の性能が性能Ｓ以上であると判定されてもよい。
【０１４６】
ステップ８３２で現在の性能が性能Ｓ以上である場合（ステップ８３２でＹｅｓ）、マネージャプログラム１２４は、論理ユニット状態情報１２８を参照して、先読みされる表又は索引のデータを格納している論理ユニットのディスクの回転状況が通常回転であるか否かを判定する。その結果、もし通常回転であれば、その論理ユニットのディスクの回転を低速回転にするディスク制御命令６１０を作成してストレージ装置１４０に送信する（ステップ８３４）。
【０１４７】
なお、先読みされる表又は索引のデータを格納している論理ユニットは、ステップ８１４と同様にして特定される。ステップ８３４で送信されるディスク制御命令６１０の論理ユニット番号６１２には、特定された論理ユニットの番号が登録され、制御内容６１４には、「低速」が登録される。
【０１４８】
ステップ８３４においてマネージャプログラム１２４が発行したディスク制御命令６１０を受信したストレージ装置１４０の制御プログラム１５４は、そのディスク制御命令６１０によって指定された論理ユニットに対応するディスク１５２を特定する。この特定は、ステップ８１４と同様にして実行される。
【０１４９】
さらに、制御プログラム１５４は、ディスク制御命令６１０に従って、特定されたディスク１５２の回転を制御する。例えば、物理ディスク番号「０」、「１」及び「２」が付与されたディスク１５２が特定された場合、制御プログラム１５４は、これらのディスク１５２の回転を低速にする。
【０１５０】
なお、これらのディスク１５２の回転が既に低速に設定されている場合、マネージャプログラム１２４は、それらのディスク１５２の回転数をさらに低速にするディスク制御命令６１０を送信してもよい。この場合、制御プログラム１５４は、これらのディスク１５２の回転をさらに低速にする。
【０１５１】
次に、マネージャプログラム１２４は、その論理ユニットに対応する論理ユニット状態情報１２８のフィールド５４４を「低速」に更新する（ステップ８３６）。
【０１５２】
ステップ８３２で現在の性能が性能Ｓ以上でない場合（ステップ８３２でＮｏ）、マネージャプログラム１２４は、論理ユニット状態情報１２８を参照して、先読み対象の表又は索引のデータを記憶している論理ユニットのディスクの回転状況が低速回転であるか否かを判定する。その結果、もし低速回転であれば、その論理ユニットのディスクの回転を通常回転にするディスク制御命令６１０を作成してストレージ装置１４０に送信する（ステップ８３８）。
【０１５３】
ステップ８３８においてマネージャプログラム１２４が発行したディスク制御命令６１０を受信したストレージ装置１４０の制御プログラム１５４は、そのディスク制御命令６１０によって指定された論理ユニットに対応するディスク１５２を特定する。この特定は、ステップ８１４と同様にして実行される。
【０１５４】
さらに、制御プログラム１５４は、ディスク制御命令６１０に従って、特定されたディスク１５２の回転を制御する。例えば、物理ディスク番号「０」、「１」及び「２」が付与されたディスク１５２が特定された場合、制御プログラム１５４は、これらのディスク１５２の回転を通常の回転数に戻す。
【０１５５】
あるいは、制御プログラム１５４は、これらのディスク１５２の回転数を、現在設定されている回転数より高く、通常の回転数より低い回転数に設定してもよい。
【０１５６】
次に、マネージャプログラム１２４は、その論理ユニットに対応する論理ユニット状態情報１２８のフィールド５４４を「通常」に更新する（ステップ８４０）。
【０１５７】
ステップ８３６又はステップ８４０を実行した後、マネージャプログラム１２４は、ＤＢ情報取得プログラム１２２からＤＢ処理終了情報６５０を受信したか否かを判定する（ステップ８４２）。
【０１５８】
マネージャプログラム１２４は、ＤＢ処理終了情報６５０を受信していない場合（ステップ８４２でＮｏ）、ステップ８３０以降の処理を繰り返す。
【０１５９】
ＤＢ処理終了情報６５０を受信した場合（ステップ８４２でＹｅｓ）、マネージャプログラム１２４は、論理ユニット状態情報１２８を参照して、先読みされる表又は索引のデータを記憶している論理ユニットのディスクが低速回転であるか否かを判定する。その結果、もし低速回転であれば、その論理ユニットのディスクの回転を通常回転にするディスク制御命令６１０を作成してストレージ装置１４０に送信する（ステップ８４４）。さらに、マネージャプログラム１２４は、その論理ユニットに対応する論理ユニット状態情報１２８のフィールド５４４を「通常」に更新し（ステップ８４６）、ステップ８０６のＤＢ処理情報受信待ちループに戻る。
【０１６０】
以上の手順によって、ＤＢＭＳ１１８がアクセスする可能性があるデータ量がストレージ装置１４０の空きメモリ量よりも大きいために、全データをメモリ１５０に書き込むことができない場合でも、ディスク１５２の回転を低速にすることで、ストレージ装置１４０の消費電力を削減することが可能となる。ＤＢＭＳ１１８がこれからアクセスしようとするデータ（言い換えると、ＤＢＭＳ１１８がアクセスする可能性があるデータの少なくとも一部）の先読みを実行することによって、アクセス性能を改善することができる。この先読みによる性能改善によって、ディスクの低速回転に起因する性能の低下を相殺することができる。システム管理者は、必要な性能を性能要件（性能Ｓ）として任意に設定することができる。この性能要件が満たされる範囲内で可能な限りストレージ装置１４０のディスク１５２の回転を低速にすることで、必要な性能を維持しながらストレージ装置１４０の消費電力を削減することが可能となる。
【０１６１】
以上、本発明の実施形態によれば、ＤＢＭＳが稼動するＤＢサーバと、ＤＢのデータを格納するストレージ装置とがネットワークによって接続されたシステムにおいて、ＤＢサーバ上、又は同じネットワークに接続されて別のサーバ上、あるいはストレージ装置上で、マネージャプログラムを実行する。マネージャプログラムは、ＤＢＭＳが管理するＤＢスキーマのストレージ装置上の記憶位置に関する情報と、ＤＢＭＳが実行するＤＢ処理に関する情報と、ＤＢＭＳがＤＢ処理を実行する際に行われるＤＢのデータへのアクセスに関する情報とに基づいて次の処理を実行する。
【０１６２】
マネージャプログラムは、まずＤＢＭＳが実行するＤＢ処理でこれからアクセスするＤＢスキーマ（すなわち、表又は索引等）を特定してそれらの全データ量を算出する。算出された全データ量がストレージ装置の空きメモリ量よりも小さい場合、マネージャプログラムは、対象となる全データの先読み命令をストレージ装置に発行する。ストレージ装置のメモリ上への先読みが完了した後、マネージャプログラムは、対象データを格納しているディスクの回転を停止する（又は低速回転にする）指示をストレージ装置に発行する。ストレージ装置はその指示に従って、該当するディスクの回転を制御する。
【０１６３】
ＤＢＭＳが実行するＤＢ処理でこれからアクセスされるＤＢスキーマの全データ量がストレージ装置の空きメモリ量よりも大きい場合、マネージャプログラムは、特許文献２記載の先読み処理を実行する。さらに、マネージャプログラムは、ＤＢサーバの性能を監視し、設定された性能要件内であれば、対象データを格納しているディスクの回転を低速回転にする指示をストレージ装置に発行する。該当のディスクを低速回転にしている間に、ＤＢサーバの性能が設定された性能要件を超えた場合、マネージャプログラムは、該当のディスクの回転を通常回転にする指示をストレージ装置に発行する。ストレージ装置は、それらの指示に従って、該当するディスクの回転を制御する。
【０１６４】
その結果、必要な性能が維持される範囲で、ストレージ装置の消費電力が削減される。
【図面の簡単な説明】
【０１６５】
【図１】本発明の実施形態のＤＢシステムの構成を示すブロック図である。
【図２Ａ】本発明の実施形態のストレージ装置の制御プログラムが保持する記憶領域管理情報の構成例を示した説明図である。
【図２Ｂ】本発明の実施形態のストレージ装置の制御プログラムが保持するディスク回転管理情報の構成例を示した説明図である。
【図２Ｃ】本発明の実施形態のストレージ装置の制御プログラムが保持するメモリ管理情報の構成例を示した説明図である。
【図３】本発明の実施形態のＤＢサーバのＯＳが保持するローデバイス情報の構成例を示した説明図である。
【図４Ａ】本発明の実施形態のＤＢＭＳが保持するＤＢＭＳ管理情報の構成例を示した説明図である。
【図４Ｂ】本発明の実施形態のＤＢシステムファイル情報の構成例を示した説明図である。
【図４Ｃ】本発明の実施形態のデータ領域情報の構成例を示した説明図である。
【図４Ｄ】本発明の実施形態のＤＢスキーマ情報の構成例を示した説明図である。
【図５Ａ】本発明の実施形態のマネージャプログラムが保持するＤＢ処理管理情報の構成例を示した説明図である。
【図５Ｂ】本発明の実施形態のＤＢスキーマ位置情報の構成例を示した説明図である。
【図５Ｃ】本発明の実施形態のＤＢ処理情報の構成例を示した説明図である。
【図５Ｄ】本発明の実施形態のマネージャプログラムが保持する論理ユニット状態情報の構成例を示した説明図である。
【図６Ａ】本発明の実施形態の空きメモリ量通知応答の構成例を示した説明図である。
【図６Ｂ】本発明の実施形態のマネージャプログラムがストレージ装置に発行するディスク制御命令の構成例を示した説明図である。
【図６Ｃ】本発明の実施形態のＤＢ情報取得プログラムがマネージャプログラムに送信するＤＢ処理実行情報の構成例を示した説明図である。
【図６Ｄ】本発明の実施形態のＤＢ処理終了情報の構成例を示した説明図である。
【図７】本発明の実施形態のＤＢ情報取得送信処理の手順例を示したフロー図である。
【図８Ａ】本発明の実施形態の消費電力削減処理の手順例を示したフロー図の第１の部分である。
【図８Ｂ】本発明の実施形態の消費電力削減処理の手順例を示したフロー図の第２の部分である。
【符号の説明】
【０１６６】
１００  データベース（ＤＢ）サーバ
１０４、１４６、１７４  ＣＰＵ
１１０、１５０、１８０  メモリ
１１４  ＯＳ
１１６  ローデバイス情報
１１８  データベース管理システム（ＤＢＭＳ）
１２０  ＤＢＭＳ管理情報
１２２  ＤＢ性能取得プログラム
１２３  性能情報
１２４  マネージャプログラム
１２６  ＤＢ処理管理情報
１２８  論理ユニット状態情報
１２９  性能要件情報
１４３  コントローラ
１５２  ディスク
１５４  制御プログラム
１５６  記憶領域管理情報
１５８  ディスク回転管理情報
１６０  メモリ管理情報
１７０  計算機
【図１】
0005020774.tif 000002
【図２Ａ】
0005020774.tif 000003
【図２Ｂ】
0005020774.tif 000004
【図２Ｃ】
0005020774.tif 000005
【図３】
0005020774.tif 000006
【図４Ａ】
0005020774.tif 000007
【図４Ｂ】
0005020774.tif 000008
【図４Ｃ】
0005020774.tif 000009
【図４Ｄ】
0005020774.tif 000010
【図５Ａ】
0005020774.tif 000011
【図５Ｂ】
0005020774.tif 000012
【図５Ｃ】
0005020774.tif 000013
【図５Ｄ】
0005020774.tif 000014
【図６Ａ】
0005020774.tif 000015
【図６Ｂ】
0005020774.tif 000016
【図６Ｃ】
0005020774.tif 000017
【図６Ｄ】
0005020774.tif 000018
【図７】
0005020774.tif 000019
【図８Ａ】
0005020774.tif 000020
【図８Ｂ】
0005020774.tif 000021