(57)【特許請求の範囲】
【請求項１】
一つ以上のホストコンピュータと、前記ホストコンピュータにより使用されるデータを記憶する一つ以上のストレージシステムと、管理装置とを含むコンピュータシステムを管理するための方法であって、
前記管理装置は、
（Ａ）前記ストレージシステムの有する複数の記憶領域の中から前記ホストコンピュータに割り当てる一つ以上の記憶領域を検索するための前提条件として、少なくとも、前記ホストコンピュータを識別するためのホスト識別情報と必要な記憶サイズを受信し、
（Ｂ）さらに、前記複数の記憶領域の中から前記ホストコンピュータに割り当てる一つ以上の記憶領域を検索するための一つ以上の検索条件を含む検索条件セットを一つ以上取得し、
（Ｃ）前記前提条件と前記検索条件セットとに基づいて、前記ストレージシステムの有する複数の記憶領域のうち一つ以上の記憶領域を候補として検出し、
（Ｄ）検出された前記候補をユーザに提示し、
（Ｅ）提示された前記候補のうち、ユーザにより選択された記憶領域を識別するための記憶領域識別情報を受信し、
（Ｆ）前記記憶領域識別情報を指定して前記ストレージシステムに通知することにより、前記記憶領域識別情報により特定される記憶領域を前記ホストコンピュータに割り当てるように前記ストレージシステムに指示し、
（Ｇ）ユーザが最終的に選択した検索条件セットに基づいて、その検索条件セットに含まれる前記各検索条件に関する優先度を管理するための優先度管理情報を更新し、
（Ｈ）前記前提条件を再び受信した場合は、前記優先度管理情報に管理されている前記優先度に基づいて、一つ以上の検索条件を含む一つ以上の検索条件セットを、ユーザに推奨する推奨検索条件セットとして作成し、
（Ｉ）前記推奨検索条件セットに含まれる前記検索条件に基づいて、前記ストレージシステムの有する前記各記憶領域のうち一つ以上の記憶領域を候補として検出し、
（Ｊ）検出された前記候補と前記推奨検索条件セットに含まれる前記検索条件とを対応付けて、前記推奨検索条件セット毎に提示する、
コンピュータシステムの管理方法。
【請求項２】
（Ｋ）提示される前記推奨検索条件セットのうち、ユーザにより選択された推奨検索条件セットに基づいて、前記優先度管理情報で管理される優先度を更新する、
請求項１に記載のコンピュータシステムの管理方法。
【請求項３】
前記ホストコンピュータには、それぞれ異なるホスト識別情報により特定される、第１ホストコンピュータ及び第２ホストコンピュータが含まれており、
前記優先度管理情報で管理される前記優先度のうち所定の優先度には、前記第１ホストコンピュータに関する値と、前記第２ホストコンピュータに関する値とが含まれる、
請求項１に記載のコンピュータシステムの管理方法。
【請求項４】
前記管理装置は、前記ホストコンピュータ上で実行される業務プログラムを識別するための業務プログラム識別情報を用いて、前記ホストコンピュータ上で実行される第１業務プログラムと第２業務プログラムとを管理し、
前記優先度管理情報で管理される前記優先度のうち所定の優先度には、前記第１業務プログラムに関する値と、前記第２業務プログラムに関する値とが含まれる、
請求項１に記載のコンピュータシステムの管理方法。
【請求項５】
前記管理装置は、各ユーザを識別するためのユーザ識別情報を用いて、第１ユーザと第２ユーザとを管理し、
前記優先度管理情報で管理される前記優先度のうち所定の優先度には、前記第１ユーザに関する値と、前記第２ユーザに関する値とが含まれる、
請求項１に記載のコンピュータシステムの管理方法。
【請求項６】
前記優先度管理情報で管理されている前記優先度のうち、所定値未満の優先度を有するレコードを削除する、
請求項１に記載のコンピュータシステムの管理方法。
【請求項７】
前記（Ｈ）で受信される前記前提条件に、各ユーザを識別するためのユーザ識別情報、または、前記ホストコンピュータ上で実行される業務プログラムを識別するための業務プログラム識別情報の少なくともいずれか一つが含まれている場合、
前記管理装置は、
前記優先度管理情報により管理されている優先度のうち、前記ホスト識別情報と、前記ユーザ識別情報または前記業務プログラム識別情報のうちいずれか一方とが一致する優先度と、前記ユーザ識別情報または前記業務プログラム識別情報のうちいずれか一方が一致する優先度と、それぞれ取得し、
取得された前記各優先度のうち最も高い値を有する優先度に対応する、一つ以上の検索条件を含む一つ以上の検索条件セットを最も推奨順位の高い前記推奨検索条件セットとしてユーザに提示する、
請求項１に記載のコンピュータシステムの管理方法。
【請求項８】
前記（Ｈ）で受信される前記前提条件に、各ユーザを識別するためのユーザ識別情報と、前記ホストコンピュータ上で実行される業務プログラムを識別するための業務プログラム識別情報とが含まれている場合、
前記管理装置は、
前記優先度管理情報により管理されている優先度のうち、前記ホスト識別情報と前記ユーザ識別情報及び前記業務プログラム識別情報が一致する優先度と、前記ユーザ識別情報と前記業務プログラム識別情報が一致する他の優先度と、前記業務プログラム識別情報だけが一致するさらに他の優先度とを、それぞれ取得し、
取得された前記各優先度のうち最も高い値を有する優先度に対応する、一つ以上の検索条件を含む一つ以上の検索条件セットを最も推奨順位の高い前記推奨検索条件セットとしてユーザに提示する、
請求項１に記載のコンピュータシステムの管理方法。
【請求項９】
前記優先度管理情報は、検索条件毎に優先度を管理しており、
前記（Ｇ）では、ユーザにより選択された前記記憶領域に対応する検索条件に関する優先度が前記優先度管理情報に登録されているか否かを判定し、登録されていない場合は、その検索条件の優先度を算出して前記優先度管理情報に登録させる、
請求項１に記載のコンピュータシステムの管理方法。
【請求項１０】
前記（Ｊ）において、前記推奨検索条件セットに含まれる前記検索条件は、ユーザにより修正可能である、
請求項１に記載のコンピュータシステムの管理方法。
【請求項１１】
前記記憶領域は、論理ボリューム、または、ＲＡＩＤ（Redundant Array of Independent Disks）グループの少なくともいずれか一方である、
請求項１に記載のコンピュータシステムの管理方法。
【請求項１２】
一つ以上のホストコンピュータと、前記ホストコンピュータにより使用されるデータを記憶する一つ以上のストレージシステムとに接続される管理装置であって、
前記ホストコンピュータ及び前記ストレージシステムと通信する通信インターフェースと、
所定のコンピュータプログラムを記憶するメモリと、
前記メモリに記憶された前記所定のコンピュータプログラムを読み込んで実行するマイクロプロセッサとを備え、
前記マイクロプロセッサは、
（Ａ）前記ストレージシステムの有する複数の記憶領域の中から前記ホストコンピュータに割り当てる一つ以上の記憶領域を検索するための前提条件として、少なくとも、前記ホストコンピュータを識別するためのホスト識別情報と必要な記憶サイズを受信し、
（Ｂ）さらに、前記複数の記憶領域の中から前記ホストコンピュータに割り当てる一つ以上の記憶領域を検索するための一つ以上の検索条件を含む検索条件セットを一つ以上取得し、
（Ｃ）前記前提条件と前記検索条件セットとに基づいて、前記ストレージシステムの有する複数の記憶領域のうち一つ以上の記憶領域を候補として検出し、
（Ｄ）検出された前記候補をユーザに提示し、
（Ｅ）提示された前記候補のうち、ユーザにより選択された記憶領域を識別するための記憶領域識別情報を受信し、
（Ｆ）前記記憶領域識別情報を指定して前記ストレージシステムに通知することにより、前記記憶領域識別情報により特定される記憶領域を前記ホストコンピュータに割り当てるように前記ストレージシステムに指示し、
（Ｇ）ユーザが最終的に選択した検索条件セットに基づいて、その検索条件セットに含まれる前記各検索条件に関する優先度を管理するための優先度管理情報を更新し、
（Ｈ）前記前提条件を再び受信した場合は、前記優先度管理情報に管理されている前記優先度に基づいて、一つ以上の検索条件を含む一つ以上の検索条件セットを、ユーザに推奨する推奨検索条件セットとして作成し、
（Ｉ）前記推奨検索条件セットに含まれる前記検索条件に基づいて、前記ストレージシステムの有する前記各記憶領域のうち一つ以上の記憶領域を候補として検出し、
（Ｊ）検出された前記候補と前記推奨検索条件セットに含まれる前記検索条件とを対応付けて、前記推奨検索条件セット毎に提示する、
管理装置。
【請求項１３】
（Ｋ）提示される前記推奨検索条件セットのうち、ユーザにより選択された推奨検索条件セットに基づいて、前記優先度管理情報で管理される優先度を更新する、
請求項１２に記載の管理装置。
【請求項１４】
前記ホストコンピュータには、それぞれ異なるホスト識別情報により特定される、第１ホストコンピュータ及び第２ホストコンピュータが含まれており、
前記優先度管理情報で管理される前記優先度のうち所定の優先度には、前記第１ホストコンピュータに関する値と、前記第２ホストコンピュータに関する値とが含まれる、
請求項１３に記載の管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステムの管理方法及び管理装置に関する。
【背景技術】
【０００２】
企業等で管理されるデータの量は、日々増大する。システム管理者等のユーザは、ホストコンピュータに、そのホストコンピュータが必要とするサイズの論理ボリュームを割り当てる。しかし、コンピュータシステムの構成は複雑であり、ホストコンピュータに適した論理ボリュームを見つけ出して、そのホストコンピュータに割り当てるのは手間がかかり、使い勝手が悪い。【０００３】
そこで、アプリケーションプログラム毎の要求特性及び期待されるディスク性能等をポリシとして予め定義しておき、定義されたポリシのうちユーザにより選択されたポリシに合致する論理ボリュームを、ホストコンピュータに割り当てる論理ボリュームとして決定するようにした技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３３４５６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記文献に記載の従来技術は、検索条件をポリシとして保存することにより、過去に使用した検索条件を再利用し易くしている。このようにして従来技術では、ユーザの入力作業の軽減を図っている。【０００６】
しかし、従来技術では、検索条件の組合せの数だけポリシを定義して保存する必要があるため、システムの運用期間が長くなればなるほど、多数のポリシが生成される。従って、多数のポリシを管理するための作業が必要となり、ユーザの負担が増加する。さらに、ポリシの数が増大するほど、ポリシ群の中から適切なポリシを選択することは難しくなるため、ユーザの使い勝手が低い。【０００７】
そこで、本発明の目的は、ユーザの使い勝手を向上できるようにしたコンピュータシステムの管理方法及び管理装置を提供することにある。本発明の他の目的は、ユーザの操作履歴に基づいて、記憶領域の検索に使用する情報をユーザに推奨することにより、ユーザの使い勝手を向上できるようにしたコンピュータシステムの管理方法及び管理装置を提供することにある。本発明の更なる目的は、後述する実施形態の記載から明らかになるであろう。
【課題を解決するための手段】
【０００８】
上記課題を解決するための一つの観点では、一つ以上のホストコンピュータと、ホストコンピュータにより使用されるデータを記憶する一つ以上のストレージシステムと、管理装置とを含むコンピュータシステムを管理するための方法であって、管理装置は、（Ａ）ストレージシステムの有する複数の記憶領域の中からホストコンピュータに割り当てる一つ以上の記憶領域を検索するための前提条件として、少なくとも、ホストコンピュータを識別するためのホスト識別情報と必要な記憶サイズを受信し、（Ｂ）さらに、複数の記憶領域の中からホストコンピュータに割り当てる一つ以上の記憶領域を検索するための検索条件を一つ以上受信し、（Ｃ）前提条件と検索条件とに基づいて、ストレージシステムの有する複数の記憶領域のうち一つ以上の記憶領域を候補として検出し、（Ｄ）検出された候補をユーザに提示し、（Ｅ）提示された候補のうち、ユーザにより選択された記憶領域を識別するための記憶領域識別情報を受信し、（Ｆ）記憶領域識別情報を指定してストレージシステムに通知することにより、記憶領域識別情報により特定される記憶領域をホストコンピュータに割り当てるようにストレージシステムに指示し、（Ｇ）検索条件に基づいて、検索条件に関する優先度を管理するための優先度管理情報を更新し、（Ｈ）前提条件を再び受信した場合は、優先度管理情報に管理されている優先度に基づいて、一つ以上の検索条件を含む一つ以上の検索条件セットを、ユーザに推奨する推奨検索条件セットとして作成し、（Ｉ）推奨検索条件セットに含まれる検索条件に基づいて、ストレージシステムの有する各記憶領域のうち一つ以上の記憶領域を候補として検出し、（Ｊ）検出された候補と推奨検索条件セットに含まれる検索条件とを対応付けて、推奨検索条件セット毎に提示する。【０００９】
さらに、管理装置は、（Ｋ）提示される推奨検索条件セットのうち、ユーザにより選択された推奨検索条件セットに基づいて、優先度管理情報で管理される優先度を更新してもよい。【００１０】
本発明は、コンピュータシステムを管理する管理装置により実行されるコンピュータシステムとして構成することもできる。そのコンピュータプログラムは、記録媒体に固定して配布したり、通信ネットワークを介して配信することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施形態の概要を示す説明図である。
【図２】図２は、コンピュータシステムの全体概要を示す。
【図３】図３は、管理サーバの構成を示すブロック図である。
【図４】図４は、ストレージシステムの構成を示すブロック図である。
【図５】図５は、ストレージシステムの構成情報の例を示すテーブルである。
【図６】図６は、ストレージシステムと論理ボリュームとの対応関係を示すテーブルである。
【図７】図７は、通信ポートとホストグループの対応関係を示すテーブルである。
【図８】図８は、論理ボリュームと通信ポートの対応関係を示すテーブルである。
【図９】図９は、推奨情報管理領域の構成及び関係を模式的に示す図である。
【図１０】図１０は、ユーザを管理するためのテーブルである。
【図１１】図１１は、業務アプリケーションプログラムの種別を示すラベルを管理するためのテーブルである。
【図１２】図１２は、ホストコンピュータを管理するためのテーブルである。
【図１３】図１３は、検索のための前提条件の組合せと条件タイプ識別子との関係を示す条件タイプ検出テーブルである。
【図１４】図１４は、条件タイプを管理するためのテーブルである。
【図１５】図１５は、検索条件毎の優先度を管理するためのテーブルである。
【図１６】図１６は、ユーザ情報及びアクセス制御情報を登録するための処理を示すフローチャートである。
【図１７】図１７は、ユーザ情報を登録する画面の例である。
【図１８】図１８は、アクセス制御情報を登録する画面の例である。
【図１９】図１９は、推奨情報を提供する処理を示すフローチャートである。
【図２０】図２０は、ホスト情報を登録する画面の例である。
【図２１】図２１は、ボリュームをホストに割り当てさせるための情報（前提条件）を入力する画面例である。
【図２２】図２２は、推奨情報を提供する画面の例である。
【図２３】図２３は、推奨情報を検出する処理を示すフローチャートである。
【図２４】図２４は、優先度を取得する処理を示すフローチャートである。
【図２５】図２５は、推奨情報管理領域を更新させる処理を示すフローチャートである。
【図２６】図２６は、優先度を算出する処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて、本発明の実施の形態を説明する。最初に、図１を参照して本発明の概要を説明し、次に、図２以降を参照して実施例について説明する。図１は、本発明の理解及び実施に必要な程度で記載されている。本発明の範囲は、図１に記載の構成に限定されない。図１に記載されていない特徴は、後述の実施例で明らかにされる。
【００１３】
図１に示すように、コンピュータシステムは、少なくとも一つの管理サーバ１０と、少なくとも一つのホストコンピュータ２０と、少なくとも一つのストレージシステム３０とを含む。管理サーバ１０は、管理用通信ネットワークＣＮ１を介して、ホストコンピュータ２０及びストレージシステム３０に接続される。ホストコンピュータ２０とストレージシステム３０とは、データ送受信用のＩ／Ｏ（Input/Output）ネットワークＣＮ２を介して接続される。
【００１４】
先にホストコンピュータ２０及びストレージシステム３０を説明し、次に管理サーバ１０を説明する。ホストコンピュータ２０は、例えば、いわゆるオープン系サーバコンピュータ、または、メインフレームコンピュータのようなコンピュータとして構成される。ホストコンピュータ２０がメインフレームコンピュータの場合、例えば、ＦＩＣＯＮ（Fibre Connection：登録商標）、ＥＳＣＯＮ（Enterprise System Connection：登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection Architecture：登録商標）、ＦＩＢＡＲＣ（Fibre Connection
Architecture：登録商標）等の通信プロトコルに従って、データ通信が行われる。ホストコンピュータ２０がサーバコンピュータの場合は、例えば、ＦＣＰ（Fibre Channel Protocol）、ｉＳＣＳＩ（internet Small Computer System Interface）等の通信プロトコルに従って、データ通信が行われる。
【００１５】
ホストコンピュータ２０は、例えば、顧客管理ソフトウェア、商品管理ソフトウェア、売上げ管理ソフトウェア、電子メール管理ソフトウェア、文書作成ソフトウェア、表計算ソフトウェア、画像処理ソフトウェア、画像配信ソフトウェア等のようなアプリケーションプログラム２１を少なくとも一つ備えている。アプリケーションプログラム２１は、割り当てられた論理ボリュームにアクセスして、データを読み書きする。
【００１６】
ストレージシステム３０は、コントローラ３１と、複数の記憶装置３２と、ＲＡＩＤグループ３３とを備える。コントローラ３１は、ホストコンピュータ２０からのコマンドに従って、論理ボリューム３４（図２参照）にデータを読み書きする。さらに、コントローラ３１は、管理サーバ１０からの指示に従って、ストレージシステム３０の構成を変更させる。
【００１７】
記憶装置３２は、データを記憶するための装置である。記憶装置としては、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等のデータを読み書き可能な種々のデバイスを利用可能である。
【００１８】
記憶装置としてハードディスクデバイスを用いる場合、例えば、ＦＣ（Fibre Channel）ディスク、ＳＣＳＩ（Small Computer System Interface）ディスク、ＳＡＴＡディスク、ＡＴＡ（AT Attachment）ディスク、ＳＡＳ（Serial Attached SCSI）ディスク等を用いることができる。また、例えば、フラッシュメモリ（ＳＳＤ）、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲＡＭ（MagnetoresistiveRandom Access
Memory）、相変化メモリ（Ovonic Unified Memory）、ＲＲＡＭ（Resistance RAM）」等の種々の記憶装置を用いることもできる。さらに、例えば、フラッシュメモリデバイスとハードディスクドライブのように、種類の異なる記憶装置を混在させる構成でもよい。
【００１９】
ＲＡＩＤグループ３３は、例えば、ＲＡＩＤ１，５，６のようなＲＡＩＤレベル毎のグループを示す。ＲＡＩＤグループ３３は、少なくとも一つの記憶装置３２を含む。
【００２０】
「管理装置」としての管理サーバ１０は、後述のように、検索のための前提条件をユーザから受信すると、その前提条件に応じた検索条件を含む推奨検索条件セットを作成し、推奨検索条件セットに合致する論理ボリュームまたはＲＡＩＤグループを候補として、ユーザに提示する。管理サーバ１０は、ユーザの選択に基づいてストレージシステム３０に指示を与え、さらに、ユーザの選択に基づいて、検索条件に関連付けられる優先度を更新する。なお、通信パスを、候補としてユーザに提示してもよい。
【００２１】
管理サーバ１０の構成の例を説明する。管理サーバ１０は、例えば、前提条件取得部１１と、検索条件セット取得部１２と、検索部１３と、構成情報管理部１４と、検索結果出力部１５と、検索条件セット修正部１６と、割当て指示部１７と、検索条件セット更新部１８と、検索条件セット管理テーブル１９とを備える。
【００２２】
前提条件取得部１１は、検索の前提となる条件をユーザから取得する。前提条件としては、例えば、ユーザを識別する情報（ユーザ名）、ホストコンピュータ２０上で動作するアプリケーションプログラム２１の種類を識別する情報（業務ラベル名）、ホストコンピュータ２０を識別する情報（ホスト名）を挙げることができる。
【００２３】
検索条件セット取得部１２は、前提条件に応じた検索条件セットを、検索条件セット管理テーブル１９から取得する。検索条件セットは、少なくとも一つの検索条件を含むセットである。検索条件セットは、ユーザに推奨される検索条件のセットであり、「推奨検索条件セット」に該当する。
【００２４】
検索条件は、条件タイプと条件値とを含む。条件タイプとしては、例えば、ストレージシステムのモデル名、ディスクタイプ、回転数、ＲＡＩＤレベル、ボリュームタイプ、パス等を挙げることができる。条件値は、条件タイプ毎に異なる。
【００２５】
例えば、条件タイプ「ストレージシステムのモデル名」の場合、条件値として、モデル１、モデル２のような値が設定される。条件タイプ「ディスクタイプ」の場合、条件値として、ＦＣ、ＳＣＳＩ、ＳＡＴＡ、ＡＴＡ、ＳＡＳ、ＳＳＤ（Flash Solid State Drive）のような値が設定される。条件タイプ「回転数」の場合、条件値として、１００００回転、１５０００回転のような値が設定される。条件タイプ「ＲＡＩＤレベル」の場合、条件値として、ＲＡＩＤ１、ＲＡＩＤ５、ＲＡＩＤ６のような値が設定される。
さらに、条件値には、「＝」、「≠」、「含む」、「除く」のような条件式を設定することもできる。例えば、「＝ＦＣ」は、ＦＣディスクを指定する。「≠ＦＣ」は、ＦＣ以外の他の種類のディスクを指定する。「ＦＣを含む」は、ＦＣディスクを含む他の種類のディスクを指定する。
【００２６】
検索部１３は、検索条件セットに基づいて構成情報管理部１４により管理される構成情報を検索する。構成情報とは、ストレージシステム３０の構成を示す情報である。検索部１３は、ホストコンピュータ２０に割り当てる、論理ボリュームまたはＲＡＩＤグループ３３の候補を少なくとも一つ抽出する。
【００２７】
ホストコンピュータ２０に割り当てる「記憶領域」としては、論理ボリュームまたはＲＡＩＤグループ３３に限らない。例えば、プールのような単位をホストコンピュータ２０に割当てる構成でもよい。そのプールは、いわゆるシンプロビジョニング技術に使用される。シンプロビジョニング技術では、見せかけのサイズを有する仮想ボリュームをホストコンピュータ２０に提供し、ホストコンピュータ２０からのライトアクセスに応じて仮想ボリュームに割り当てる実記憶領域を増加させる。仮想ボリュームに割り当てられる実記憶領域は、プール内の論理ボリュームの中から選択される。以下、ホストコンピュータ２０に割り当てられる記憶領域としての、論理ボリュームまたはＲＡＩＤグループ３３（あるいはプール）を「ボリューム等」と呼ぶ場合がある。
【００２８】
検索部１３による検索の結果は、検索結果出力部１５を介して出力される。検索結果出力部１５は、例えば、管理サーバ１０に接続される操作端末４０（図２参照）の画面に、検索結果を表示させる。
【００２９】
検索結果は、例えば、各検索条件セット毎の表示部を含む。各表示部には、検索条件セットを構成する検索条件に関する情報と、その検索条件セットを用いた検索の結果を示す情報とが含まれる。検索条件に関する情報には、条件タイプと条件値が含まれる。検索条件に関する情報の少なくとも一部は、ユーザが修正可能な形態で提供される。検索結果を示す情報は、ホストコンピュータ２０に割り当てるボリューム等を特定するための情報を含む。
【００３０】
ユーザが、推奨された検索条件セットの一部または全部の修正を希望する場合、検索条件セット修正部１６により検索条件セットの一部または全部が修正され、検索部１３により再検索される。
【００３１】
ユーザは、各検索条件セット毎の表示部を見比べて、ホストコンピュータ２０に割り当てるボリューム等を決定し、管理サーバ１０に割当ての実行を指示する。ユーザの指示を受けた割当て指示部１７は、ユーザにより選択されたボリューム等をユーザにより指定されたホストコンピュータ２０に割り当てるようにとの指示を、ストレージシステム３０のコントローラ３１に送信する。コントローラ３１は、割当て指示部１７からの指示に従って、指定されたボリューム等を指定されたホストコンピュータ２０が使用できるように、ストレージシステム３０の構成を変更する。
【００３２】
検索条件セット更新部１８は、ストレージシステム３０への割当て指示が正常に終了すると、検索条件セット管理テーブル１９の内容を更新する。検索条件セット管理テーブル１９は、ユーザから入力される前提条件と、過去に使用された検索条件セットとが対応付けられて記憶されている。過去に使用された検索条件セットを構成する各検索条件には、使用頻度を示す優先度がそれぞれ設定されている。優先度が高いほど、その検索条件セットの使用頻度が大きいことを意味する。
【００３３】
検索条件セット更新部１８は、検索条件セット管理テーブル１９に記憶されている各検索条件のうち、ユーザにより選択された検索条件に関連付けられている優先度を高く設定する。これに対し、検索条件セット更新部１８は、検索条件セット管理テーブル１９に記憶されている各検索条件のうち、ユーザにより選択されなかった検索条件の優先度を低く設定する。
【００３４】
なお、検索条件セット更新部１８は、ユーザにより選択された検索条件が検索条件セット管理テーブル１９に登録されていない場合、その検索条件を検索条件セット管理テーブル１９に追加する。
【００３５】
このように構成される本実施形態では、ユーザが、検索を行うための前提条件を管理サーバ１０に入力するだけで、その前提条件に対応する検索条件セットが少なくとも一つ管理サーバ１０からユーザに推奨される。ユーザは、推奨された検索条件セットをそのまま使用したり、または、推奨された検索条件セットを一部修正して使用したりすることができる。従って、ユーザは、検索条件セットの全てを指定する必要がなく、前提条件を入力するだけで、適切なボリューム等を選択することができる。これにより、ユーザの利便性が向上する。
【００３６】
本実施形態では、ユーザがコンピュータシステムを使用する期間が長くなるほど、そのユーザの検索履歴が検索条件セット管理テーブル１９に蓄積されていく。従って、ユーザに推奨される検索条件セット及び検索結果である候補の精度を高めることができる。
【００３７】
後述の実施例では、コンピュータシステムを初めて使用するユーザ、または、使用期間の短いユーザのために、ユーザに推奨する検索条件セットの抽出範囲を広げる。
【実施例１】
【００３８】
図２は、本実施例に係るコンピュータシステムの全体を示す。図１で述べたように、少なくとも一つの管理サーバ１０は、ＬＡＮ（Local Area Network）のような管理用通信ネットワークＣＮ１を介して、少なくとも一つのホストコンピュータ２０と、少なくとも一つのストレージシステム３０と、少なくとも一つの操作端末４０とに接続されている。ホストコンピュータ２０とストレージシステム３０とは、ＳＡＮ（Storage Area Network）のようなＩ／Ｏ用の通信ネットワークＣＮ２を介して接続されている。以下、ホストコンピュータ２０とストレージシステム３０と操作端末４０とは、それぞれ複数存在するものとして述べる。【００３９】
管理サーバ１０は、図２に示すように、コントローラ３１と、記憶装置３２と、ＲＡＩＤグループ３３と、論理ボリューム３４と、通信ポート（以下、ポートと呼ぶ）３５とを備える。【００４０】
論理ボリューム３４は、ＲＡＩＤグループ３３として仮想化された物理的記憶領域を用いて作成される。一つのＲＡＩＤグループ３３に複数の論理ボリューム３４を設けることができる。論理ボリューム３４は、通信ポート３５を介して所定のホストコンピュータ２０に対応付けられる。換言すれば、各ホストコンピュータ２０は、自分に割り当てられた論理ボリューム３４にのみアクセスすることができ、自分に割り当てられていない論理ボリューム３４にアクセスすることはできない。
後述の図１８に示すように、管理サーバ１０で管理されている、論理ボリューム３４に関する情報及びホストコンピュータ２０に関する情報のうち、ユーザがアクセス可能な論理ボリュームとホストコンピュータとをリスト化した情報を、アクセスコントロールリスト（ＡＣＬ）と呼ぶ。【００４１】
図３は、管理サーバ１０のブロック図である。管理サーバ１０は、複数のコンピュータから構成することもできるし、図３に示すように、一つのコンピュータとして構成することもできる。【００４２】
管理サーバ１０は、例えば、マイクロプロセッサ（ＣＰＵ）１０１と、メモリ１０２と、通信インターフェース（ＬＡＮ＿Ｉ／Ｆ）１０３とを備える。【００４３】
マイクロプロセッサ１０１は、メモリ１０２に記憶されたコンピュータプログラムを読み込んで実行することにより、後述の機能を実現する。メモリ１０２には、各種の管理情報１０００と、構成情報管理プログラム１１００と、推奨情報管理プログラム１２００とが記憶されている。なお、図３では、便宜上一つのメモリ１０２を示すが、複数のメモリから構成されてもよい。【００４４】
メモリ１０２には、ＲＡＭ（Random Access Memory）及びＲＯＭ（Read Only Memory）等の半導体メモリのほかに、例えば、ハードディスクデバイスまたはフラッシュメモリデバイスのような補助記憶装置も含むことができる。【００４５】
管理サーバ１０は、管理用通信ネットワークＣＮ１を介して各操作端末４０に接続されている。各操作端末４０は、例えば、マイクロプロセッサと、メモリと、通信インターフェースと、キーボード等の情報入力装置と、ディスプレイ等の情報出力装置を備えるコンピュータ端末として構成される。ユーザは、そのユーザが使用権限を有する操作端末４０を用いて、管理サーバ１０にボリューム割当てを指示することができる。【００４６】
図３では、ユーザと情報交換を行うための操作端末４０と、ボリューム等の検索及びボリューム等の割当てを行う管理サーバ１０とを別々のコンピュータとして構成する場合を例に挙げる。これに限らず、管理サーバ１０にユーザインターフェースを設けて、ユーザと情報交換する構成としてもよい。【００４７】
ユーザは、例えば、キーボードスイッチ、ポインティングデバイス、タッチパネル、音声入力装置等を用いて、管理サーバ１０に情報（情報には指示も含む）を入力できる。ユーザは、例えば、ディスプレイ、プリンタ、音声出力装置等を用いて、管理サーバ１０からの情報を確認することができる。【００４８】
メモリ１０２に記憶される管理情報１０００は、例えば、ストレージシステムの構成情報１０１０と、ストレージシステムと論理ボリューム（ＬＵ）の対応関係を示す情報１０２０と、ポートとホストグループの対応関係を示す情報１０３０と、論理ボリュームとポートの対応関係を示す情報１０４０と、推奨情報管理領域１０５０とを含む。各情報の詳細は後述する。【００４９】
構成情報管理プログラム１１００は、各管理情報（構成情報でもある）１０１０，１０２０，１０３０，１０４０を管理するためのコンピュータプログラムである。【００５０】
推奨情報管理プログラム１２００は、推奨情報管理領域１０５０に記憶される情報を管理し、ユーザの検索を支援して適切なボリューム等を推奨するためのコンピュータプログラムである。【００５１】
図４は、ストレージシステム３０のブロック図である。ストレージシステム３０は、例えば、少なくとも一つのコントローラ３１と、少なくとも一つの記憶装置３２とを備えている。コントローラ３１は、ストレージシステム３０の動作を制御する。上述の通り、複数の記憶装置３２をグループ化して、ＲＡＩＤグループ３３が構成される。ＲＡＩＤグループ３３の有する物理的記憶領域を用いて、論理ボリューム３４が形成される。【００５２】
コントローラ３１は、例えば、ホストコンピュータ２０と通信するための第１通信制御回路と、各記憶装置３２と通信するための第２通信制御回路と、データ及び制御情報等を記憶するためのメモリと、マイクロプロセッサなどを備える（いずれも不図示）。コントローラ３１を複数設けて冗長構成を形成することにより、いずれか一方のコントローラが故障した場合でも、他方のコントローラ３１がストレージシステム３０の動作を制御することができる。【００５３】
コントローラ３１は、例えば、ストレージシステムの構成情報３０００と、Ｉ／Ｏ処理プログラム３１００と、ボリューム作成プログラム３２００と、ボリューム割当てプログラム３３００とを保持する。【００５４】
ストレージシステムの構成情報３０００は、ストレージシステム３０の構成を管理する情報である。Ｉ／Ｏ処理プログラム３１００は、ホストコンピュータ２０から発行されるリードコマンド及びライトコマンドを処理し、その処理結果をホストコンピュータ２０に返すコンピュータプログラムである。【００５５】
ボリューム作成プログラム３２００は、管理サーバ１０からの指示に応じて、論理ボリューム３４を作成するためのコンピュータプログラムである。【００５６】
ボリューム割当てプログラム３３００は、管理サーバ１０からの指示に応じて、指定された論理ボリューム３４を指定されたホストコンピュータ２０に割り当てるためのコンピュータプログラムである。【００５７】
図５は、ストレージシステムの構成情報１０１０の例を示す。管理サーバ１０は、定期的にまたは不定期に、コンピュータシステム内の各ストレージシステム３０から構成情報を取得して記憶する。なお、以下の説明において、ＩＤ、識別情報、識別子、名前は、置換可能である。【００５８】
ストレージシステム構成情報１０１０は、例えば、ストレージＩＤ欄１０１１と、ＲＡＩＤグループＩＤ欄１０１２と、ＲＡＩＤレベル１０１３と、ディスクタイプ欄１０１４と、ＲＰＭ欄１０１５とを対応付けて管理する。【００５９】
ストレージＩＤ欄１０１１には、ストレージシステム３０を識別するための情報（ＩＤ）が記憶される。ＲＡＩＤグループＩＤ欄１０１２には、各ストレージシステム内に設けられているＲＡＩＤグループ３３を識別するための情報（ＩＤ）が記憶される。ＲＡＩＤレベル欄１０１３には、ＲＡＩＤグループ３３のＲＡＩＤレベルが記憶される。ディスクタイプ欄１０１４には、ＲＡＩＤグループ３３を構成する記憶装置３２のタイプが記憶される。ＲＰＭ（Rotation Per Minute）欄１０１５には、記憶装置３２の回転速度、つまり、データへのアクセス速度が記憶される。【００６０】
図６は、ストレージシステムと論理ボリュームとの対応関係を示す情報１０２０の例である。ストレージシステム−論理ボリューム対応関係情報１０２０は、例えば、ストレージＩＤ欄１０２１と、ボリュームＩＤ欄１０２２と、ＲＡＩＤグループＩＤ欄１０２３とを対応付けて管理する。ボリュームＩＤ欄１０２２には、各論理ボリューム３４を識別するための情報（ＩＤ）が記憶される。管理サーバ１０は、情報１０２０を用いることにより、どのストレージシステムにどの論理ボリュームが設けられているか等を把握することができる。【００６１】
図７は、ポートとホストグループの対応関係を示す情報１０３０の例である。ポート−ホストグループ対応関係情報１０３０は、例えば、ホストグループＩＤ欄１０３１と、ポートＩＤ欄１０３２と、ホストＷＷＮ欄１０３３とを対応付けて管理する。【００６２】
ホストグループＩＤ欄１０３１には、ホストグループを識別するための情報（ＩＤ）が記憶される。一つのホストグループに複数のホストコンピュータ２０を関連付けることにより、複数のホストコンピュータ２０をグループ管理することができる。ポートＩＤ欄１０３２には、各ポート３５を識別するための情報（ＩＤ）が記憶される。ホストＷＷＮ欄１０３３には、ポート３５に対応付けられるホストコンピュータ２０のＷＷＮ（World Wide Name）が記憶される。管理サーバ１０は、情報１０３０を用いることにより、どの通信ポート３５にどのホストコンピュータ２０が対応付けられているか等を把握することができる。【００６３】
図８は、論理ボリュームとポートとの対応関係を示す情報１０４０の例である。論理ボリューム−ポート対応関係情報１０４０は、例えば、ストレージＩＤ欄１０４１と、ボリュームＩＤ欄１０４２と、ＬＵＮ欄１０４３と、ポートＩＤ欄１０４４とを対応付けて管理する。ＬＵＮ欄１０４３には、ＬＵＮ（Logical Unit Number）が記憶される。管理サーバ１０は、情報１０４０を用いることにより、各ストレージシステム３０の各ポート３５に、どの論理ボリューム３４が対応付けられているか等を把握することができる。【００６４】
図９は、推奨情報管理領域１０５０の構成等を模式的に示す。図９には、ユーザから入力される前提条件に基づいて検索条件セットを取得する様子が示されている。【００６５】
ユーザは、ホストコンピュータ２０にボリューム等を割り当てようとする場合、操作端末４０を介して管理サーバ１０に、前提条件を入力する。その前提条件として、本実施例では、ユーザ名（ユーザＩＤ）、業務ラベル名（業務ラベルＩＤ）、ホスト名（ホストＩＤ）を用いる。つまり、ユーザは、ホストコンピュータ２０に論理ボリューム等を割り当てようとする場合、割り当てようとするユーザ名と、アプリケーションプログラム２１の種類と、ホストコンピュータ名とを指定するだけでよい。なお、都合上、図中では「業務ラベル」を「ラベル」と省略する場合がある。【００６６】
条件タイプ検出テーブル１０５４は、前提条件を構成する各項目（ユーザ名、業務ラベル名、ホスト名）の組合せ毎に、条件タイプＩＤが対応付けられる。従って、ユーザが前提条件を入力すると、その前提条件に対応する条件タイプＩＤが決定される。【００６７】
決定された条件タイプＩＤに基づいて、条件タイプ管理テーブル１０５５を使用することにより、その条件タイプＩＤに対応する検索条件セットを少なくとも一つ取得することができる。条件タイプ管理テーブル１０５５は、条件タイプＩＤ毎に、複数の検索条件の組合せを管理している。【００６８】
条件タイプ管理テーブル１０５５では、各検索条件毎に優先度管理テーブル１０５６が対応付けられている。優先度管理テーブル１０５６は、検索条件に設定する値（条件値）とその条件値の優先度とを管理する。例えば、検索条件「ディスクタイプ」に、条件値「＝ＦＣ」かつ優先度「０．７」と、条件値「＝ＳＳＤ」かつ優先度「０．６」の２組の条件値及び優先度が対応付けられる場合もある。一つの検索条件に複数の条件値が対応付けられている場合、最も優先度の高い条件値を選択することができる。【００６９】
なお、図１に示す検索条件セット管理テーブル１９は、推奨情報管理領域１０５０に記憶されている少なくとも一つの情報に対応する。例えば、検索条件セット管理テーブル１９は、推奨情報管理テーブル１０５４と、条件タイプ管理テーブル１０５５と、優先度管理テーブル１０５６に対応すると考えることができる。【００７０】
図１０は、ユーザを管理するテーブル１０５１を示す。ユーザ管理テーブル１０５１は、例えば、ユーザＩＤ欄１０５１Ａと、ユーザ名欄１０５１Ｂと、認証情報欄１０５１Ｃと、ＡＣＬ欄１０５１Ｄとを対応付けて管理する。【００７１】
ユーザＩＤ欄１０５１Ａには、各ユーザを識別する情報（ＩＤ）が記憶される。ユーザ名欄１０５１Ｂには、各ユーザの名称が記憶される。認証情報欄１０５１Ｃには、ユーザが操作端末４０を用いて管理サーバ１０にログインするために使用される、パスワード等の認証情報が記憶される。パスワードに代えて、または、パスワードと共に、生体情報を用いてもよい。【００７２】
ＡＣＬ欄１０５１Ｄには、ユーザが利用できるボリュームに関する情報が記憶される。ＡＣＬ欄に「ＮＵＬＬ」が設定されている場合は、アクセス制限が設定されていないことを意味する。ＡＣＬ欄に論理ボリューム及びホストＩＤが設定されている場合、ユーザは、設定された論理ボリューム及びホストコンピュータにのみ、アクセス可能であることを意味する。【００７３】
図１１は、業務ラベルを管理するためのテーブル１０５２を示す。業務ラベル管理テーブル１０５２は、例えば、ラベルＩＤ欄１０５２Ａと、ラベル名欄１０５２Ｂとを対応付けて管理する。業務ラベルとは、アプリケーションプログラム２１のタイプを示す情報である。従って、業務ラベルを「業務タイプ」と呼び変えることもできる。【００７４】
ラベルＩＤ欄１０５２Ａには、各アプリケーションプログラム２１の種類を示すラベルを識別するための情報（ＩＤ）が記憶される。ラベル名欄１０５２Ｂには、業務ラベルの名称（アプリケーションプログラム２１の種類を示す名称）が記憶される。業務ラベル名には、例えば、「データベース」、「ウェブ」、「ファイル」、「ＥＲＰ」、「電子メール」、「初期値」のような値が設定される。【００７５】
ＥＲＰ（Enterprise Resource Planning package）とは、基幹業務を統合的に管理するためのパッケージソフトウェアである。アプリケーションプログラム２１の種類が不明な場合には、初期値が設定される。【００７６】
図１２は、ホストコンピュータ２０を管理するためのテーブル１０５３を示す。ホスト管理テーブル１０５３は、例えば、ホストＩＤ欄１０５３Ａと、ホスト名欄１０５３Ｂと、ＩＰアドレス欄１０５３Ｃと、オペレーティングシステムタイプ欄１０５３Ｄと、クラスタ欄１０５３Ｅとを対応付けて管理する。【００７７】
ホストＩＤ欄１０５３Ａには、各ホストコンピュータ２０を識別する情報（ＩＤ）が記憶される。ホスト名欄１０５３Ｂには、ホストコンピュータ２０の名称が記憶される。ＩＰアドレス欄１０５３Ｃには、ホストコンピュータ２０のＩＰ（Internet Protocol）アドレスが記憶される。オペレーティングシステムタイプ欄１０５３Ｄには、ホストコンピュータ２０で稼働するオペレーティングシステムのタイプが記憶される。クラスタ欄１０５３Ｅには、ホストコンピュータがクラスタに属する場合、そのクラスタを識別するための情報が記憶される。【００７８】
図１３は、条件タイプを検出するためのテーブル１０５４を示す。条件タイプ検出テーブル１０５４は、例えば、ユーザＩＤ欄１０５４Ａと、ホストＩＤ欄１０５４Ｂと、ラベルＩＤ欄１０５４Ｃと、条件タイプＩＤ欄１０５４Ｄとを対応付けて管理する。【００７９】
つまり、条件タイプ検出テーブル１０５４は、前提条件と検索条件セットとを対応付けるためのテーブルである。条件タイプ検出テーブル１０５４を用いることにより、前提条件（１０５４Ａ，１０５４Ｂ，１０５４Ｃの各欄の値）に基づいて、その前提条件に対応付けられている条件タイプＩＤ（１０５４Ｄ欄の値）を検出できる。【００８０】
図１４は、条件タイプを管理するためのテーブル１０５５を示す。条件タイプ管理テーブル１０５５は、例えば、条件タイプＩＤ欄１０５５Ａと、ストレージタイプへのポインタ欄１０５５Ｂと、ディスクタイプへのポインタ欄１０５５Ｃと、ＲＰＭへのポインタ欄１０５５Ｄと、ボリュームタイプへのポインタ欄１０５５Ｅと、ＲＡＩＤレベルへのポインタ欄１０５５Ｆと、通信パスへのポインタ欄１０５５Ｈとを対応付けて管理する。【００８１】
条件タイプＩＤ欄１０５５Ａには、条件タイプを識別するための情報（ＩＤ）が記憶される。ストレージタイプへのポインタ欄１０５５Ｂには、一つの検索条件としてのストレージタイプの条件値及び優先度を優先度管理テーブル１０５６から取得するためのポインタが記憶される。ディスクタイプへのポインタ欄１０５５Ｃには、一つの検索条件としてのディスクタイプの条件値及び優先度を優先度管理テーブル１０５６から取得するためのポインタが記憶される。【００８２】
同様に、ＲＰＭへのポインタ欄１０５５Ｄには、一つの検索条件としてのＲＰＭの条件値及び優先度を優先度管理テーブル１０５６から取得するためのポインタが記憶される。ボリュームタイプへのポインタ欄１０５５Ｅには、一つの検索条件としてのボリュームタイプの条件値及び優先度を優先度管理テーブル１０５６から取得するためのポインタが記憶される。ＲＡＩＤレベルへのポインタ欄１０５５Ｆには、一つの検索条件としてのＲＡＩＤレベルの条件値及び優先度を優先度管理テーブル１０５６から取得するためのポインタが記憶される。通信パスへのポインタ欄１０５５Ｈには、一つの検出条件としての通信パスの条件値及び優先度を優先度管理テーブル１０５６から取得するためのポインタが記憶される。【００８３】
つまり、条件タイプ管理テーブル１０５５は、条件タイプＩＤ毎に、検索条件セットの具体的構成を特定するためのテーブルである。【００８４】
図１５は、優先度を管理するためのテーブル１０５６を示す。優先度管理テーブル１０５６は、例えば、ポインタ欄１０５６Ａと、値欄１０５６Ｂと、優先度欄１０５６Ｃと、関連ポインタ欄１０５６Ｄとを対応付けて管理する。【００８５】
ポインタ欄１０５６Ａには、各検索条件に対応するポインタが記憶される。値欄１０５６Ｂには、各検索条件に設定される値（条件値）が記憶される。優先度欄１０５６Ｃには、条件値の優先度が記憶される。関連ポインタ欄１０５６Ｄには、その検索条件に関連する他のポインタが記憶される。【００８６】
具体的に説明する。図中では、ストレージタイプへのポインタを「ＳＴＰ」と、ディスクタイプへのポインタを「ＤＴＰ」と、ＲＰＭへのポインタを「ＲＰＭＰ」と、ボリュームタイプへのポインタを「ＶＴＰ」と、ＲＡＩＤレベルへのポインタを「ＲＡＩＤＰ」と、通信パスへのポインタを「ＰＰ」と、表示している。【００８７】
検索条件「ストレージタイプ」の取りうる値としては、例えば、Ｒ７００，Ｒ６００，ＤＦ８００等のモデル名を挙げることができる。検索条件「ディスクタイプ」の取りうる値としては、例えば、ＦＣ，ＳＳＤ，ＳＡＴＡ，ＡＮＹ等を挙げることができる。ＡＮＹとは、ディスクタイプを問わず、いずれのディスクタイプでもよいことを意味する。検索条件「ＲＰＭ」の取りうる値としては、例えば、１５０００，１００００，７２００等を挙げることができる。なお、検索条件「ＲＰＭ」を検索条件「データ転送速度」に変える場合、データ転送速度が取りうる値として、例えば、６Ｇｂｐｓ、３Ｇｂｐｓ等を挙げることができる。なお、上述の通り、条件値には、「＝」、「≠」、「含む」、「含まない」のような条件式を設定することができる。【００８８】
検索条件「ボリュームタイプ」の取りうる値としては、例えば、ＬＤＥＶ、ＲＡＩＤグループ、プール等を挙げることができる。ＬＤＥＶとは、ストレージシステム３０の有する論理ボリュームを意味する。条件値としてＬＤＥＶが指定された場合、ホストコンピュータ２０には、作成済みの論理ボリューム３４が割り当てられる。条件値としてＲＡＩＤグループが指定された場合、ホストコンピュータ２０にはＲＡＩＤグループ３３が割り当てられる。ユーザは、割り当てられたＲＡＩＤグループ３３の領域を利用して論理ボリューム３４を作成し、その論理ボリューム３４をホストコンピュータ２０に割り当てることができる。条件値としてプールが指定された場合、ホストコンピュータ２０には、シンプロビジョニング技術を用いる仮想ボリュームが割り当てられる。【００８９】
検索条件「ＲＡＩＤレベル」の取りうる値としては、例えば、ＲＡＩＤ１，ＲＡＩＤ５，ＲＡＩＤ６等を挙げることができる。検索条件「通信パス」の取りうる値としては、１、２、または３以上の値を挙げることができる。条件値に１が指定された場合、ホストコンピュータ２０と論理ボリュームとは１本の通信パスで接続される。条件値に２が指定された場合、ホストコンピュータ２０と論理ボリュームとは２本の通信パスで接続される。いずれか一方の通信パスに障害が生じた場合でも、ホストコンピュータ２０は、他方の正常な通信パスを用いて論理ボリュームにアクセスすることができる。【００９０】
次に、管理サーバ１０を用いた管理方法（ボリューム等の割当て支援方法）の例を説明する。以下に述べる各処理は、メモリに記憶された各プログラムをマイクロプロセッサが読み込んで実行することにより実現される。従って、以下の各処理の主語は、プログラムであってもよいし、マイクロプロセッサであってもよい。あるいは、以下の各処理の主語をコントローラまたはサーバとして、説明することもできる。本実施例では、便宜上、管理サーバを主語として各プログラムの動作を説明する。【００９１】
なお、各プログラムの全部または一部を専用ハードウェア回路として実現する構成でもよい。各プログラムは、プログラムを配布するためのプログラム配布サーバを介して、管理サーバにインストールさせることができる。さらに、記録媒体に固定された各プログラムを、管理サーバに読み込ませてインストールさせてもよい。【００９２】
図１６は、ユーザ情報及びアクセス制御情報（ＡＣＬ情報）を管理サーバ１０に登録するための処理を示す。図１７は、ユーザ情報を登録するための画面例を示す。図１８は、ＡＣＬ情報を登録するための画面例を示す。【００９３】
ユーザは、操作端末４０を用いて管理サーバ１０にアクセスし、図１７に示すユーザ情報登録画面Ｇ１０を開く。図１７に示すように、ユーザは、自分の名前をユーザ名入力部ＧＰ１０に入力し、さらに、パスワードをパスワード入力部ＧＰ１１に入力する。入力内容に間違いが無い場合、ユーザは、登録ボタンＧＰ１２を操作する。ユーザ情報の登録を取り消す場合、ユーザは、取消ボタンＧＰ１３を操作する。【００９４】
管理サーバ１０は、登録ボタンＧＰ１２の操作に基づいて、ユーザ情報を登録するか否かを判定する（Ｓ１０）。ユーザ情報を登録する場合（Ｓ１０：ＹＥＳ）、管理サーバ１０は、ユーザ情報登録画面Ｇ１０に入力されたユーザ名及びパスワードを、図１０に示すユーザ管理テーブル１０５１に登録する（Ｓ１１）。【００９５】
ユーザ情報の登録が完了すると、ＡＣＬ情報の登録に移る。ユーザ名及びパスワードが既に登録されている場合は、ユーザ情報の登録に関するステップをスキップして、ＡＣＬ情報の登録に移ることができる。【００９６】
図１８は、ＡＣＬ情報を登録するための画面Ｇ２０である。ＡＣＬ情報登録画面Ｇ２０は、例えば、ユーザを指定するユーザ指定部ＧＰ２０と、論理ボリュームを選択するボリューム選択部ＧＰ２１と、ホストコンピュータを選択するホスト選択部ＧＰ２２と、登録ボタンＧＰ２３及び取消ボタンＧＰ２４を含む。【００９７】
ボリューム選択部ＧＰ２１は、論理ボリュームを一覧表示するボリューム表示部ＧＰ２５と、ボリューム表示部ＧＰ２５で選択された論理ボリューム３４を、ＡＣＬ情報に追加するためのボタンＧＰ２６とを含む。【００９８】
ホスト選択部ＧＰ２２は、ホストコンピュータを一覧表示するホスト表示部ＧＰ２７と、ホスト表示部ＧＰ２７で選択されたホストコンピュータ２０を、ＡＣＬ情報に追加するためのボタンＧＰ２８とを含む。【００９９】
即ち、ユーザは、登録画面Ｇ２０を用いて、ホストコンピュータ２０と、そのホストコンピュータ２０にアクセスを許可する論理ボリューム３４との組合せを指定する。【０１００】
図１６に戻る。管理サーバ１０は、登録画面Ｇ２０の登録ボタンＧＰ２３の操作に基づいて、ＡＣＬ情報を登録するか否かを判定する（Ｓ１２）。ＡＣＬ情報を登録する場合（Ｓ２３：ＹＥＳ）、管理サーバ１０は、登録画面Ｇ２０に入力された内容をユーザ情報管理テーブル１０５１のＡＣＬ欄１０５１Ｄに記憶させる。ＡＣＬ情報の登録を完了した場合、または、ＡＣＬ情報を登録しない場合（Ｓ２３：ＮＯ）、本処理を終了する。【０１０１】
図１９は、ユーザに推奨情報を提供するための処理を示す。本処理では、以下に述べるように、ユーザがホストコンピュータ２０にボリューム等の割当てを希望する場合に、ユーザから入力される比較的僅かな前提条件に基づいて一つまたは複数の検索条件セットを取得する。本処理では、それらの検索条件セットに従ってボリューム等を選び出し、それらの選び出されたボリューム等をユーザに提示して、最終的な選択を求める。さらに、本処理では、ユーザによる最終的な選択内容に基づいて、各検索条件の優先度を更新し、次の機会に備える。【０１０２】
適切なボリューム等の割当てを希望するユーザは、操作端末４０を用いて管理サーバ１０にアクセスし、ユーザ名及びパスワードを入力する。管理サーバ１０は、ユーザから入力されたユーザ名及びパスワードに基づいて、ユーザ認証を行う（Ｓ２０）。ユーザ認証に失敗した場合は、操作端末４０にエラーメッセージを送信する。【０１０３】
ユーザ認証に成功すると、管理サーバ１０は、ホスト情報を登録するか否かを判定する（Ｓ２１）。例えば、コンピュータシステムに新たなホストコンピュータ２０が追加されたような場合に、ユーザは、その新ホストコンピュータについての情報を管理サーバ１０に登録する。【０１０４】
図２０は、ホスト情報を登録するための画面Ｇ３０を示す。ホスト情報登録画面Ｇ３０は、例えば、ＩＰアドレス入力部ＧＰ３０と、オペレーティングシステムタイプ入力部ＧＰ３１と、ユーザＩＤ入力部ＧＰ３２と、パスワード入力部ＧＰ３３と、登録ボタンＧＰ３４と、取消ボタンＧＰ３５等を備えることができる。ホスト名を入力する箇所を設けてもよい。【０１０５】
ＩＰアドレス入力部ＧＰ３０には、登録対象のホストコンピュータ２０に設定されているＩＰアドレスが入力される。オペレーティングシステムタイム入力部ＧＰ３１には、登録対象のホストコンピュータ２０に搭載されているオペレーティングシステムのタイプが入力される。ユーザＩＤ入力部ＧＰ３２には、登録対象のホストコンピュータ２０を管理するユーザのＩＤが入力される。パスワード入力部ＧＰ３３には、そのユーザが管理サーバ１０にログインするためのパスワードが入力される。【０１０６】
ユーザが、画面Ｇ３０に必要な情報を入力して登録ボタンＧＰ３４を押すと、ホスト情報の登録が管理サーバ１０に要求される。【０１０７】
管理サーバ１０は、ホスト情報の登録が要求されると（Ｓ２１：ＹＥＳ）、画面Ｇ３０を介してユーザから入力された情報（ＩＰアドレス、オペレーティングシステムタイプ等）を、図１２に示すホスト管理テーブル１０５３に登録する（Ｓ２２）。【０１０８】
管理サーバ１０は、ホストコンピュータ２０にボリューム等を割当てるための情報を、ユーザから取得する（Ｓ２３）。【０１０９】
ボリューム等を割り当てるための情報は、ユーザからリアルタイムに入力される必要はない。ボリューム等を割当てるための情報を、所定の記憶領域に事前に記憶させ、ユーザがボリューム割当ての実行を管理サーバ１０に指示した場合に、その情報を管理サーバ１０のマイクロプロセッサが読み込んで処理する構成でもよい。【０１１０】
図２１は、ボリューム等を割り当てるための情報を入力する画面Ｇ４０を示す。画面Ｇ４０には、ログインユーザ名表示部ＧＰ４０と、ホスト名入力部ＧＰ４１と、業務ラベル名入力部ＧＰ４２と、ボリュームサイズ入力部ＧＰ４３と、ボリューム数入力部ＧＰ４４と、検索ボタンＧＰ４５と、取消ボタンＧＰ４６とを含む。【０１１１】
ログインユーザ名表示部ＧＰ４０には、ボリューム等の割当てを希望するユーザを特定するためのユーザ名が表示される。表示されたユーザ名は、前提条件に含まれる。ホスト名入力部ＧＰ４１には、ボリューム等が割り当てられるホストコンピュータを特定するためのホスト名が入力される。入力されたホスト名は、前提条件に含まれる。業務ラベル指定部ＧＰ４２には、ボリューム等を使用する予定のアプリケーションプログラム２１のタイプを特定するための業務ラベル名が入力される。入力された業務ラベル名は、前提条件に含まれる。【０１１２】
ボリュームサイズ入力部ＧＰ４３には、ホストコンピュータに割り当てるボリューム等のサイズが入力される。通常の場合、入力されるボリュームサイズは、論理ボリューム３４の最大サイズ以下であるため、ボリュームサイズは前提条件に含める必要はない。しかし、ボリュームサイズを前提条件に含める構成でもよい。【０１１３】
ボリューム数入力部ＧＰ４４には、ホストコンピュータに割り当てるボリューム等の数が入力される。ボリューム数は、検索のための前提条件に含める必要はない。ボリューム数は、検索結果を一定数に収めるために使用される。例えば、１０個のボリュームが必要な場合、検索された１０個以上のボリュームの中から上位１０個のボリュームがユーザに提示される。【０１１４】
管理サーバ１０は、ユーザから入力される前提条件（ユーザ名、ホスト名、業務ラベル名）に基づいて、ユーザにボリューム等を推奨するための推奨情報を取得し（Ｓ２４）、その推奨情報を操作端末４０に送信して表示させる（Ｓ２５）。推奨情報を取得するステップＳ２４の詳細は、図２３で後述する。次に、推奨情報の提供例について、図２２を参照して説明する。【０１１５】
図２２は、推奨情報をユーザに提供する画面Ｇ５０である。管理サーバ１０は、ユーザから入力される一つの前提条件に基づいて、複数の検索条件セットを選択し、各検索条件セットに基づいて検索した結果をユーザに提供することができる。従って、画面Ｇ５０には、各検索条件セットに対応する推奨情報が複数含まれる場合がある。【０１１６】
画面Ｇ５０には、推奨情報を表示するための推奨部ＧＰ５１が複数（図２２では３つ）表示されている。各推奨部ＧＰ５１は、例えば、検索に使用された検索条件セットを表示する検索条件表示部ＧＰ５２と、検索されたボリューム等を表示するボリューム検索結果表示部ＧＰ５３と、通信パスの検索結果を示すパス検索結果表示部ＧＰ５４と、割当てを指示するボタンＧＰ５５とを含む。【０１１７】
検索条件表示部ＧＰ５２は、検索条件セットを表示する。検索条件セットは、複数の検索条件を含むことができる。各検索条件は、条件タイプと、条件値とを備える。図２５の例では、検索条件に、例えば、「を含む」、「を除く」、「一致」、「以上」、「以下」のような条件式も含まれている。条件式は、例えば、ユーザによる変更が可能である。条件値（図２５の例では、Ｒ６００、ＦＣ、１００００、ＲＡＩＤ５）も、ユーザが変更できるようになっている。ユーザが、検索条件セットの全部または一部を変更して検索ボタンＧＰ５５を押すと、その変更された検索条件セットに基づいて再検索される。【０１１８】
ユーザは、例えば、プルダウンメニューの中から、所望の条件式または条件値を選択することができる。あるいは、ユーザは、所望の条件式または条件値を直接入力できる構成でもよい。ユーザが管理サーバ１０に何らかの情報を入力する場合、上述のプルダウンメニューを用いる方法、または、所望の数値または文字を直接入力する方法のいずれも採用することができる。【０１１９】
ボリューム検索結果表示部ＧＰ５３には、検索条件表示部ＧＰ５２に表示された検索条件セットに合致するボリューム等が表示される。ボリュームタイプの条件値としてＲＡＩＤグループが設定された場合、ボリューム検索結果表示部ＧＰ５３には、検索条件セットに合致するＲＡＩＤグループのＩＤが表示される。同様に、ボリュームタイプの条件値としてプールが設定された場合、ボリューム検索結果表示部ＧＰ５３には、検索条件セットに合致するプールのＩＤが表示される。【０１２０】
なお、アクセス制御情報が設定されている場合、ボリューム等を割り当てようとするホストコンピュータがアクセス可能なボリューム等だけが、ボリューム検索結果表示部ＧＰ５３に表示される。【０１２１】
検索されたボリュームの数が、ユーザにより指定されたボリューム数を上回っている場合、ユーザの指定するボリューム数以上のボリュームが表示部ＧＰ５３に表示される。検索された全てのボリュームを表示させる構成でもよい。または、検索された全てのボリュームのうち、ユーザの指定するボリューム数だけ所定の基準で選択して、表示させる構成でもよい。【０１２２】
図１９に戻る。管理サーバ１０は、推奨情報をユーザに提供した後（Ｓ２５）、検索ボタンＧＰ５６の操作に基づいて、再検索するか否かを判定する（Ｓ２６）。ユーザは、推奨情報の作成に使用された検索条件セットの少なくとも一部を変更して、再検索を指示することができる。【０１２３】
再検索が要求された場合（Ｓ２６：ＹＥＳ）、管理サーバ１０は、修正された検索条件セットに基づいて再検索する（Ｓ２７）。管理サーバ１０は、再検索の結果に基づいて推奨情報を作り直し、ユーザに提供する（Ｓ２５）。【０１２４】
ユーザが推奨情報の内容に満足した場合、ユーザは、割当てボタンＧＰ５５を押す。割当てボタンＧＰ５５が押されると、再検索は行われず（Ｓ２６：ＮＯ）、管理サーバ１０からストレージシステム３０にボリュームの割当てが指示される（Ｓ２８）。その指示には、ホストコンピュータを特定する情報と、そのホストコンピュータに割り当てるボリューム等を特定する情報とが少なくとも含まれる。ストレージシステム３０は、管理サーバ１０からの指示を受領すると、指定されたボリューム等を指定されたホストコンピュータが使用できるように、ストレージシステムの構成を変更する。ストレージシステムの構成変更は、管理サーバ１０に通知される。【０１２５】
管理サーバ１０は、ボリューム等の割当てが完了したことを確認すると、推奨情報管理領域１０５０の記憶内容を更新する（Ｓ２９）。推奨情報管理領域１０５０の更新方法については、図２５で後述する。【０１２６】
図２３は、推奨情報を取得する処理を示すフローチャートである。図２３のフローチャートは、図１９中のＳ２４の詳細を示す。【０１２７】
管理サーバ１０は、ユーザから入力された情報（ユーザ名、ホスト名、業務ラベル名）に基づいて、ユーザＩＤとホストＩＤ及び業務ラベルＩＤを取得する（Ｓ３０）。管理サーバ１０は、以下に述べる４つの場合の優先度（Ｃ１）−（Ｃ４）を、それぞれ算出する（Ｓ３１）。【０１２８】
（Ｃ１）対象となるホストコンピュータに関する優先度
（Ｃ２）対象となるホストコンピュータとクラスタを構成する他のホストコンピュータに関する優先度
（Ｃ３）ユーザの指定するユーザ及び業務ラベルだけが一致する場合の優先度
（Ｃ４）ユーザの指定する業務ラベルだけが一致する場合の優先度
Ｃ１の場合、ユーザの指定する前提条件（ユーザ名、ホスト名及び業務ラベル名）をそのまま使用して検索条件セットを取得し、その検索条件セットによる検索結果から優先度を取得する。【０１２９】
Ｃ２の場合、ユーザの指定するユーザ名及び業務ラベル名と、ユーザの指定するホストとクラスタを構成する他のホストの名称とから、前提条件を構成する。即ち、ユーザの指定する前提条件のうちホスト名を、指定されたホストコンピュータとクラスタを構成する他のホストコンピュータの名前に変更する。ホスト名の変更された前提条件に基づいて検索条件セットを取得し、その検索条件セットによる検索結果から優先度を取得する。【０１３０】
Ｃ３の場合、ユーザにより指定される業務ラベル名及びユーザ名が一致し、ホスト名は問わない前提条件が用いられる。即ち、ユーザ名及び業務ラベルだけがユーザの指定内容と一致し、ホスト名だけ異なる複数の前提条件が生成される。ユーザの管理下にあるホストコンピュータのうち、業務ラベルの一致するアプリケーションプログラムを搭載したホストコンピュータの数だけ、前提条件が生成される。それら前提条件のそれぞれについて検索条件セットが取得され、それぞれの検索条件セットによる検索結果から優先度が算出される。【０１３１】
Ｃ４の場合、ユーザにより指定される業務ラベル名だけが一致し、ユーザ名及びホスト名は問わない複数の前提条件が用いられる。つまり、業務ラベル名のみ一致し、ユーザ名及びホスト名が異なる複数の前提条件に基づいて検索条件セットがそれぞれ取得され、それらの検索結果から優先度がそれぞれ算出される。【０１３２】
このように、本実施例では、あるユーザがボリューム等の割当てを希望する場合、そのユーザの指定する前提条件をそのまま使用して優先度を求める場合（Ｃ１）と、ユーザの指定する前提条件を管理サーバ１０が変更して、優先度を算出するための範囲を広げる場合（Ｃ２，Ｃ３，Ｃ４）とがある。さらに、後者の場合、優先度を算出するための範囲は、段階的に広がるように設定されている（Ｃ２＜Ｃ３＜Ｃ４）。なお、Ｃ２，Ｃ３，Ｃ４の全ての場合においてそれぞれの優先度が算出されるとは限らない。例えば、クラスタを構成しないホストコンピュータの場合、Ｃ２の優先度は算出されない。【０１３３】
複数の場合で優先度の算出をするため、ユーザの経験が少なく、推奨情報管理領域１０５０に十分な操作履歴が蓄積されていなくても、他のホストに関して作成された検索条件セットまたは他のユーザに関して作成された検索条件セットを利用できる。これにより、通常の場合、ユーザから指定される前提条件に対応する推奨情報を少なくとも一つは作成することができる。【０１３４】
管理サーバ１０は、Ｓ３１で算出された４種類の優先度に重み付けし、重み付け後の値に基づいて、ユーザに推奨する順番を決定する（Ｓ３２）。【０１３５】
ここで、Ｃ１の場合の優先度を第１の場合の優先度ＰＣ１、Ｃ２の場合の優先度を第２の場合の優先度ＰＣ２、Ｃ３の場合の優先度を第３の場合の優先度ＰＣ３、Ｃ４の場合の優先度を第４の場合の優先度ＰＣ４とする。ＰＣ１に乗じる重み係数をα１、ＰＣ２に乗じる重み係数をα２、ＰＣ３に乗じる重み係数をα３、ＰＣ４に乗じる重み係数をα４とする。α１＞α２＞α３＞α４＞０である。α１の値は１に設定してもよい。【０１３６】
Ｓ３２では、ＰＣ１＊α１、ＰＣ２＊α２、ＰＣ３＊α３、ＰＣ４＊α４をそれぞれ算出し、優先度の大きい順番に並べる。ＰＣ２、ＰＣ３、ＰＣ４は、それぞれ複数存在する可能性がある。Ｃ２，Ｃ３，Ｃ４の各場合で取得されたそれぞれの優先度に、重み係数を乗じる。【０１３７】
管理サーバ１０は、各検索条件毎に、Ｓ３２で決定された推奨順位の高い順に、検索条件セットを並び替える（Ｓ３３）。管理サーバ１０は、並び替えられた検索条件セットに基づいてボリューム等を検索し、推奨情報を提供する（Ｓ３４）。【０１３８】
図２２に示すように、ユーザには、「おすすめ１」−「おすすめ３」と名付けられた複数の推奨部ＧＰ５１が提供される。図２２に示す例では、推奨順位の高い推奨部ＧＰ５１ほど、画面の上部に配置される。これに限らず、推奨順位の高い推奨部ＧＰ５１ほど、画面の右側または左側、あるいは下側に配置する構成でもよい。さらに、各推奨部ＧＰ５１をそれぞれ個別のウインドウで表示する場合、各ウインドウが重なったときには、推奨順位の高い推奨部ＧＰ５１ほど上側に位置するように構成してもよい。【０１３９】
図２４は、優先度を取得（算出）するための処理を示すフローチャートである。本処理は、図２３中のＳ３１の詳細を示す。【０１４０】
上述した各場合Ｃ１−Ｃ４における優先度ＰＣ１−ＰＣ４は、図２４に示す処理に従って求めることができる。ここでは、ユーザの入力した前提条件をそのまま使用する場合（Ｃ１）の優先度ＰＣ１を求める方法を主に説明する。【０１４１】
Ｃ２の優先度ＰＣ２を求める場合は、ホストＩＤを本来の対象ホストコンピュータのＩＤから、対象ホストコンピュータとクラスタを構成する他のホストコンピュータのＩＤに変えて、図２４の処理を実行すればよい。【０１４２】
Ｃ３の優先度ＰＣ３を求める場合は、同一ユーザにより管理されているホストコンピュータであって、かつ、指定された業務ラベルと同一の業務ラベルを有するアプリケーションプログラムが搭載されたホストコンピュータのＩＤを使用する。そのようなホストコンピュータが複数存在する場合、各ホストコンピュータ毎にそれぞれ図２４の処理を実行し、それにより得られた各優先度の中から最大の優先度を一つ選択する。【０１４３】
Ｃ４の優先度ＰＣ４を求める場合は、コンピュータシステムに含まれる全ホストコンピュータのうち、指定された業務ラベルＩＤと同一の業務ラベルＩＤを有するアプリケーションプログラムが搭載されたホストコンピュータのＩＤを使用する。ＰＣ３の場合と同様に、複数のホストコンピュータが存在する場合は、各ホストコンピュータ毎に優先度を求め、その中から最大の優先度を一つ選択する。【０１４４】
ＰＣ１の算出方法を述べる。管理サーバ１０は、ユーザＩＤ、ホストＩＤ及び業務ラベルＩＤに基づいて、図１４に示す条件タイプ検出テーブル１０５４を検索し、条件タイプＩＤを取得する（Ｓ４０）。管理サーバ１０は、条件タイプＩＤに基づいて条件タイプ管理テーブル１０５５を検索し、検索条件セットを一つ取得する（Ｓ４１）。【０１４５】
管理サーバ１０は、Ｓ４１において、前提条件に対応する検索条件セットを取得できたか否かを判定する（Ｓ４２）。検索条件セットを取得できなかった場合（Ｓ４２：ＮＯ）、本処理は終了する。【０１４６】
検索条件セットを取得できた場合（Ｓ４２：ＹＥＳ）、管理サーバ１０は、各条件値及びその優先度を、図１５に示す優先度管理テーブル１０５６から取得する（Ｓ４３）。さらに、管理サーバ１０は、その条件値に他の条件値が関連付けられているかを判定する（Ｓ４４）。即ち、管理サーバ１０は、ある検索条件セットに、優先度の異なる複数の条件値が関連付けられているか否かを判定する。【０１４７】
関連する他の条件値が有る場合（Ｓ４４：ＹＥＳ）、管理サーバ１０は、関連する他の条件値及びその優先度を取得する（Ｓ４５）。管理サーバ１０は、ある検索条件について、それに関連する全ての条件値及び優先度を取得すると（Ｓ４４：ＮＯ）、本処理を終了する。【０１４８】
例えば、検索条件「ディスクタイプ」に最初に対応付けられている条件値が「＝ＦＣ」であり、その優先度が０．８である場合、管理サーバ１０は、その情報（条件値「＝ＦＣ」、優先度０．８）を取得する。【０１４９】
最初の条件値「＝ＦＣ」にさらに他の条件値「＝ＳＳＤ」が関連付けられており、その優先度が０．７である場合、管理サーバ１０は、その関連する情報（条件値「＝ＳＳＤ」、優先度０．７）を取得する。管理サーバ１０は、検索条件セットに含まれる各検索条件毎に、その検索条件に関連付けられている全ての条件値及び優先度の組合せを取得する。【０１５０】
図２５は、推奨情報を更新する処理を示すフローチャートである。本処理は、図１９中のＳ２９の詳細を示す。【０１５１】
管理サーバ１０は、ユーザＩＤと、ホストＩＤ及び業務ラベルＩＤを取得し（Ｓ５０）、その前提条件（ユーザＩＤ、ホストＩＤ、業務ラベルＩＤ）に対応する検索条件セットを特定する。管理サーバ１０は、検索条件セットを構成する各検索条件毎に、条件値及び優先度を取得する（Ｓ５１）。【０１５２】
管理サーバ１０は、ユーザにより選択された各検索条件の優先度に基づいて、新たな優先度を算出する（Ｓ５２）。つまり、ユーザが最終的に選択した検索条件セットの各優先度に従って、その検索条件セットに含まれる各優先度を改めて算出する。詳細は図２６で後述するが、最近使用された条件値ほど優先度が高くなり、使用されない条件値の優先度は次第に低下するように、検索条件セットに含まれる優先度が算出される。【０１５３】
管理サーバ１０は、優先度管理テーブル１０５６に記憶されている優先度のうち、新たな値が算出された優先度を、その新たな値に書き換える（Ｓ５３）。さらに、管理サーバ１０は、ユーザが今まで使用されていない新しい検索条件を選択した場合、その検索条件を優先度管理テーブル１０５６に追加する（Ｓ５３）。【０１５４】
最後に、管理サーバ１０は、優先度管理テーブル１０５６に登録されている各優先度のうち、所定値を下回る優先度のレコードを削除する（Ｓ５４）。これにより、使用頻度の少ない検索条件を、優先度管理テーブル１０５６から取り除くことができる。この結果、優先度管理テーブル１０５６のサイズが増加するのを抑制でき、管理サーバ１０のメモリ資源を有効に使用できる。【０１５５】
図２６は、優先度を算出する処理を示すフローチャートである。本処理は、図２５中のＳ５２の詳細を示す。【０１５６】
管理サーバ１０は、ユーザの選択した検索条件が、図２５のＳ５０で特定された検索条件セットの中に存在するか否かを判定する（Ｓ６０）。つまり、ユーザの入力した前提条件に対応する検索条件セットの中に存在していたか否かを判定する。ユーザの選択した検索条件が、前提条件に対応する検索条件セットの中に存在している場合（Ｓ６０：ＹＥＳ）、管理サーバ１０は、所定の各優先度について、Ｓ６２，Ｓ６３，Ｓ６４の各ステップを実行する（Ｓ６１）。
即ち、優先度管理テーブル１０５６に記憶されている全ての優先度を更新するのではなく、前提条件に対応する条件タイプから辿ることのできる検索条件セットだけを更新するようになっている。【０１５７】
所定の各優先度とは、優先度管理テーブル１０５６に記憶されている全ての優先度のうち、前提条件に一致する検索条件セットの優先度であって、前提条件に対応付けられた条件タイプに基づいて辿ることができる検索条件セットの優先度である。【０１５８】
管理サーバ１０は、優先度管理テーブル１０５６から所定の優先度に関するレコードを対象レコード一つ取り出し、対象レコードの内容がユーザにより選択された検索条件と一致するか否かを判定する（Ｓ６２）。【０１５９】
対象レコードの内容がユーザの選択した検索条件に一致する場合、管理サーバ１０は、対象レコード内の優先度Ｐｒの値を大きくするように更新する（Ｓ６３）。例えば、管理サーバ１０は、ユーザにより使用された検索条件の優先度Ｐｒを、Ｐｒ←Ｒ＋γ＊Ｐｒとして算出することにより、Ｐｒの値を増加させる。ここで、例えば、Ｒは１に設定され（Ｒ＝１）、割引率γは０以上１以下の範囲で設定される（０≦γ≦１）。従って、ユーザによって使用された検索条件の優先度は、使用されるたびに増加し、高い推奨順位でユーザに提示される。【０１６０】
これに対し、対象レコードの内容がユーザの選択した検索条件と一致しない場合（Ｓ６２：ＮＯ）、管理サーバ１０は、対象レコード内の優先度Ｐｒの値を小さくするように更新する（Ｓ６４）。【０１６１】
例えば、管理サーバ１０は、ユーザに選択されなかった検索条件の優先度Ｐｒを、Ｐｒ←γ＊Ｐｒとして算出することにより、Ｐｒの値を減少させる。従って、ユーザに使用されなかった検索条件の優先度は次第に減少し、低い推奨順位でユーザに提示される。やがて、優先度Ｐｒが所定値を下回ると、そのレコードは優先度管理テーブル１０５６から除去される。【０１６２】
ユーザにより選択された検索条件が優先度管理テーブル１０５６に登録されていない場合（Ｓ６０）、管理サーバ１０は、所定の各優先度についてＳ６６のステップを実行する（Ｓ６５）。【０１６３】
管理サーバ１０は、対象レコード内の優先度ＰｒをＳ６４と同一の演算式に従って、減少させる（Ｓ６６）。【０１６４】
最後に、管理サーバ１０は、ユーザの選択した新たな検索条件についての優先度Ｐｒを、Ｐｒ←Ｒとして算出する（Ｓ６７）。Ｒは、例えば１に設定される。【０１６５】
このように、新たな検索条件をユーザが使用した場合、新たな検索条件に対応する既存の各検索条件の優先度は低く設定され（Ｓ６６）、新たな検索条件の優先度が最も大きくなるように算出される（Ｓ６７）。【０１６６】
以上詳述した通り、本実施例では、ユーザが、検索を行うための前提条件を管理サーバ１０に入力するだけで、前提条件に対応する検索条件セットがユーザに提示される。ユーザは、提示された検索条件セットをそのまま使用してもよく、または、提示された検索条件の少なくとも一部を変更して使用してもよい。【０１６７】
このように本実施例では、ユーザの入力する前提条件と操作履歴とを利用して検索条件セットを提供するため、ユーザの入力する情報の量を少なくすることができ、ホストコンピュータにボリューム等を割り当てる作業の効率を高めることができる。本実施例では、従来技術のように、日々増大する一方のポリシを管理する必要がなく、ユーザの管理作業の負担を軽減することができる。前提条件とは、例えば、ユーザの操作履歴を利用して少なくとも一つの検索条件セットを取得するために必要な条件、と表現可能である。【０１６８】
さらに、本実施例では、ユーザの使用頻度に応じて検索条件の優先度を変更し、優先度に基づいてユーザに提供する場合の推奨順位を決定する。これにより、本実施例では、ユーザにより使用される検索条件ほど高い順位でユーザに提供することができ、ユーザは、よく使用する検索条件を速やかに見つけることができる。【０１６９】
本実施例では、ユーザに使用されない検索条件の優先度を低く設定し、所定値を下回った場合には優先度管理テーブル１０５６から消去する。従って、管理サーバ１０の有するメモリ資源を効率的に使用できる。【０１７０】
本実施例では、ユーザの操作履歴を単純に時系列で記録するのではなく、同一種類のレコードは一つだけ保存する。既存のレコードの優先度は、ユーザの使用状態に応じて変化する。従って、優先度管理テーブル１０５６のサイズが増加するのを抑制し、メモリ資源を効率的に使用できる。【０１７１】
本実施例では、Ｃ１−Ｃ４の複数の場合の優先度をそれぞれ算出して重み付けし、優先度の大小に従ってユーザに推奨する順位を決定する。従って、コンピュータシステムの管理経験の少ないユーザであっても、他のユーザの操作履歴を利用して適切なボリューム等を選択することができる。これにより、ユーザの利便性が向上する。【０１７２】
なお、本発明は、上述した実施例に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【符号の説明】
【０１７３】
１０：管理サーバ、２０：ホストコンピュータ、２１：アプリケーションプログラム、３０：ストレージシステム、３２：記憶装置、３３：ＲＡＩＤグループ、３４：論理ボリューム
【図１】
0005589081.tif 000002
【図２】
0005589081.tif 000003
【図３】
0005589081.tif 000004
【図４】
0005589081.tif 000005
【図５】
0005589081.tif 000006
【図６】
0005589081.tif 000007
【図７】
0005589081.tif 000008
【図８】
0005589081.tif 000009
【図９】
0005589081.tif 000010
【図１０】
0005589081.tif 000011
【図１１】
0005589081.tif 000012
【図１２】
0005589081.tif 000013
【図１３】
0005589081.tif 000014
【図１４】
0005589081.tif 000015
【図１５】
0005589081.tif 000016
【図１６】
0005589081.tif 000017
【図１７】
0005589081.tif 000018
【図１８】
0005589081.tif 000019
【図１９】
0005589081.tif 000020
【図２０】
0005589081.tif 000021
【図２１】
0005589081.tif 000022
【図２２】
0005589081.tif 000023
【図２３】
0005589081.tif 000024
【図２４】
0005589081.tif 000025
【図２５】
0005589081.tif 000026
【図２６】
0005589081.tif 000027