(57)【特許請求の範囲】
【請求項１】
ストレージシステムを含んだ計算機システムのリソースの検索を実行させその検索の結果を表示する計算機であって、
検索範囲とされる順序である検索順を各々のカテゴリについて表す情報を含んだカテゴリ管理情報を記憶した記憶デバイスと
前記記憶デバイスに接続されており、検索処理を検索エンジンに実行させ、その検索処理の結果を表示するようになっている制御デバイスと
を有し、
前記制御デバイスは、
（Ａ）複数のカテゴリにそれぞれ関連付けられており横方向に沿って左から右へかけて前記検索順と同じ順序で並んだ複数のタブを表示し、
（Ｂ）検索条件を受け付け、
（Ｃ）前記複数のタブのうちの最も左のタブから最も右のタブへかけたカテゴリの並び順である前記検索順に従って、前記検索条件を満たすリソースを、前記複数のカテゴリの各々について検索させ、
（Ｄ）１つのカテゴリについて検索が終了する都度に、
（ｄ１）その検索終了したカテゴリが前記検索条件に合致するリソースが見つかったカテゴリである検索ヒットカテゴリである場合、そのカテゴリのタブの表示を、選択可能な状態である活性状態とし、
（ｄ２）その検索終了したカテゴリが前記検索条件に合致するリソースが見つからなかったカテゴリである非検索ヒットカテゴリである場合、そのカテゴリのタブの表示を、選択不可能な状態である非活性状態とする、
計算機。
【請求項２】
請求項１記載の計算機であって、
前記複数のカテゴリは、前記ストレージシステムを含む１以上のシステムにそれぞれ対応したカテゴリであるシステムカテゴリと、システムが有する２種類以上の構成要素にそれぞれ対応した２以上のカテゴリである２以上のコンポーネントカテゴリとを含み、
前記横方向に並んだ複数のタブにおいて、いずれの前記コンポーネントカテゴリに対応したタブよりも前記システムカテゴリに対応したタブが左に位置している、
計算機。
【請求項３】
請求項１又は２記載の計算機であって、
前記（ｄ２）において、非活性状態のタブは、不可視とされたタブである、
計算機。
【請求項４】
請求項１乃至３のうちのいずれか１項に記載の計算機であって、
前記（Ｄ）において、前記制御デバイスは、検索範囲となっている最中のカテゴリに対応するタブの表示を非活性状態とし、且つ、そのカテゴリについて検索中であることを意味する検索中オブジェクトを表示し、そのカテゴリについて検索が終了した場合に、前記検索中オブジェクトの表示を、次の検索順のカテゴリについて検索中であることを意味するよう変更し、且つ、検索が終了したカテゴリについて非検索ヒットであることがわかった後に、そのカテゴリについて前記（ｄ２）を実行する、
計算機。
【請求項５】
請求項１乃至４のうちのいずれか１項に記載の計算機であって、
前記（ｄ２）において、前記制御デバイスは、非検索ヒットのカテゴリに対応する非活性状態のタブをアニメーションで不可視とする、
計算機。
【請求項６】
請求項１乃至５のうちのいずれか１項に記載の計算機であって、
前記（ｄ２）において、非活性状態のタブは、不可視とされたタブであり、
前記タブの並びが表示可能な範囲である表示可能範囲があり、
前記制御デバイスは、非検索ヒットのカテゴリに対応するタブを不可視としたことによりタブの並びに空きが生じた場合に、タブの並びの方向に沿って可視状態のタブを詰め、且つ、選択状態のタブのサイズと、検索中のカテゴリに対応するタブのサイズを変更せず、サイズが変更されないタブ以外の残りの可視状態のタブのうち少なくとも１つのタブのサイズを、前記表示可能範囲のうちのサイズが変更されないタブの範囲以外の範囲のサイズに基づいて変更する、
計算機。
【請求項７】
請求項６記載の計算機であって、
前記表示可能範囲は、タブ画面の横幅又は縦幅である、
計算機。
【請求項８】
請求項６又は７記載の計算機であって、
サイズの変更前のタブには、カテゴリの名称が原則通りに表示されておらず、
サイズの変更後のタブには、カテゴリの名称が原則通りに表示される、計算機。
【請求項９】
請求項１乃至８のうちのいずれか１項に記載の計算機であって、
前記制御デバイスは、前記複数のカテゴリのうちの或るカテゴリについて別の検索条件が入力されて検索実行指示を受けた場合、その或るカテゴリの検索順が先頭となるよう前記カテゴリ管理情報を更新し、且つ、前記複数のカテゴリにそれぞれ対応した複数のタブの並びを前記或るカテゴリに対応したタブが最も左に位置するように変更する、
計算機。
【請求項１０】
ストレージシステムを含んだ計算機システムのリソースの検索を実行させその検索の結果を表示する方法であって、
（Ａ）検索範囲とされる順序である検索順を各々のカテゴリについて表す情報を含んだカテゴリ管理情報が表す検索順と同じ順序で横方向に沿って左から右へかけて並んだ複数のタブであって、複数のカテゴリにそれぞれ関連付けられている複数のタブを表示し、
（Ｂ）検索条件を受け付け、
（Ｃ）前記複数のタブのうちの最も左のタブから最も右のタブへかけたカテゴリの並び順である前記検索順に従って、前記検索条件を満たすリソースを、前記複数のカテゴリの各々について検索させ、
（Ｄ）１つのカテゴリについて検索が終了する都度に、
（ｄ１）その検索終了したカテゴリが前記検索条件に合致するリソースが見つかったカテゴリである検索ヒットカテゴリである場合、そのカテゴリのタブの表示を、選択可能な状態である活性状態とし、
（ｄ２）その検索終了したカテゴリが前記検索条件に合致するリソースが見つからなかったカテゴリである非検索ヒットカテゴリである場合、そのカテゴリのタブの表示を、選択不可能な状態である非活性状態とする、
方法。
【請求項１１】
ストレージシステムを含んだ計算機システムのリソースの検索を実行しその検索の結果を表示する検索処理システムであって、
（Ａ）検索範囲とされる順序である検索順を各々のカテゴリについて表す情報を含んだカテゴリ管理情報が表す検索順と同じ順序で横方向に沿って左から右へかけて並んだ複数のタブであって、複数のカテゴリにそれぞれ関連付けられている複数のタブを表示する手段と、
（Ｂ）検索条件を受け付ける手段と、
（Ｃ）前記複数のタブのうちの最も左のタブから最も右のタブへかけたカテゴリの並び順である前記検索順に従って、前記検索条件を満たすリソースを、前記複数のカテゴリの各々について検索させる手段と、
（Ｄ）１つのカテゴリについて検索が終了する都度に（ｄ１）及び（ｄ２）を実行する手段と
（ｄ１）その検索終了したカテゴリが前記検索条件に合致するリソースが見つかったカテゴリである検索ヒットカテゴリである場合、そのカテゴリのタブの表示を、選択可能な状態である活性状態とする、
（ｄ２）その検索終了したカテゴリが前記検索条件に合致するリソースが見つからなかったカテゴリである非検索ヒットカテゴリである場合、そのカテゴリのタブの表示を、選択不可能な状態である非活性状態とする、
を有する検索処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムを含んだ計算機システムのリソースの検索に関する。
【背景技術】
【０００２】
入力された検索条件に合致するオブジェクトを検索する技術は一般に知られている。検索条件は、例えば、キーワードである（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０６４１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ストレージシステムを含んだ計算機システムは、一般に、１以上のストレージシステム、或いは、１以上のストレージシステムに加えて、それに接続された１以上のホスト計算機（以下、ホスト）を含む。計算機システムのリソース（物理的又は論理的な構成要素）のカテゴリとして、例えば、（１）ホスト、（２）ホストとストレージシステム間にあるスイッチ、（３）ストレージシステムが有する通信ポート、（４）ストレージシステムが有する論理ボリューム、（５）Thin  Provisioningに従う仮想的な論理ボリュームに割り当てられる記憶領域を有するプール、（６）複数の記憶デバイスで構成され論理ボリュームの基になりストレージシステムが有するパリティグループ（ＲＡＩＤ（Redundant  Array  of  Independent  (or  Inexpensive)  Disks）グループとも呼ばれる）等がある。
【０００５】
ユーザは、異なるカテゴリの複数の所望のリソース同士を関連付けることで、ストレージシステムにおける論理的な関係（例えば、どのホストがどの通信ポートを介してどの論理ボリュームにアクセスするようにするか）を構築していくことができる。
【０００６】
ユーザがスムーズに所望のリソースを探せるよう、ストレージシステムのリソースを検索するための検索処理システムがある。
【０００７】
検索処理システムは、複数種類のカテゴリのうち、ユーザからカテゴリの指定を受け付け、ユーザから指定されたカテゴリ（正確には、そのカテゴリに属する複数のリソース）から、ユーザから入力された検索条件に合致するリソースを検索する。
【０００８】
しかしながら、検索処理システムには、デフォルトのカテゴリが設定されており、ユーザは、検索処理システムにカテゴリを指定することなく検索を実行させてしまうことがある。この場合、検索処理システムは、検索条件に合致するリソースをデフォルトのカテゴリから検索する。この検索の結果として、下記の２つがあり得る。
（結果１）検索条件に合致するリソースが見つからない。
（結果２）検索条件に合致するリソースが見つかるが、見つかったリソースは、ユーザが探しているリソースではない。
【０００９】
上記（結果１）は、ユーザ所望のカテゴリが指定されていないために当然に起こり得る結果である。
【００１０】
上記（結果２）は、ユーザ所望のカテゴリが指定されていないことに加えて、以下の理由により起こり得る。すなわち、計算機システムにおいて、カテゴリが異なる複数のリソースに、完全に又は部分的に一致するＩＤが付与されていることがある。例えば、カテゴリ「ホスト」に属する或るホストとカテゴリ「論理ボリューム」に属する或る論理ボリュームの両方のＩＤに、仮想マシンの略称である「ＶＭ」が含まれていることがある。このケースにおいて、デフォルトのカテゴリが「ホスト」であり、ユーザが、「ＶＭ」を含むＩＤを有する論理ボリュームを探すために、検索条件（キーワード）として「ＶＭ」を入力したが、カテゴリとして「論理ボリューム」を指定することなく検索処理システムに検索を実行させた場合、ＩＤに「ＶＭ」が含まれる論理ボリュームではなく、ＩＤに「ＶＭ」が含まれるホストが探し出されてしまう。
【課題を解決するための手段】
【００１１】
計算機が、検索範囲とされる順番である検索順を各々のカテゴリについて表す情報を含んだカテゴリ管理情報を記憶する。計算機は、複数のカテゴリのうちのユーザ所望のカテゴリの指定を受け付ける電子的な画面部品であって複数のカテゴリの全てを検索範囲とすることを意味する特殊カテゴリをデフォルトとしたカテゴリ指定部品を表示する。計算機は、カテゴリ指定部品に特殊カテゴリが指定されている状態で検索実行指示を受けた場合、カテゴリ管理情報が表す検索順に従う順番で検索範囲となるカテゴリが切り替わるよう検索を検索エンジンに実行させる。計算機は、検索ヒットのカテゴリを表すオブジェクトの表示を、選択可能な状態である活性状態とし、非検索ヒットのカテゴリを表すオブジェクトの表示を、選択不可能な状態である非活性状態とする。
【００１２】
検索ヒットは、検索条件に合致するリソースが少なくともＸ個（Ｘは、自然数で、固定値でもユーザ任意の変数でも良い）見つかったことを意味し、非検索ヒットは、検索条件に合致するリソースが少なくともＸ個見つからなかったことを意味して良い。
【００１３】
また、検索エンジンは、当該計算機が有していても良いし、その計算機に接続された遠隔の第１の計算機（例えばサーバ）が有していても良い。
【００１４】
また、画面部品や検索結果は表示デバイスに表示され、検索条件の入力や検索実行の指示は入力デバイスから行われて良いが、表示デバイス及び入力デバイスは、当該計算機が有していても良いし、その計算機に接続された遠隔の第２の計算機が有していても良い。後者の場合、制御デバイスを有する計算機にとって、第２の計算機が、表示デバイス及び入力デバイスとして機能して良い。
【００１５】
また、制御デバイス（及びその制御デバイスを有する計算機）の「表示する」という行為は、制御デバイスが、その制御デバイスを有する計算機の表示デバイスに画面部品等を表示する行為と、表示デバイスを有する上記第２の計算機に、その表示デバイスに表示される画面部品等の表示用情報を送信する行為のいずれであっても良い。第２の計算機は、表示用情報を受信した場合、その表示用情報が表す画面部品等を表示デバイスに表示することができる。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施形態に係る検索処理システムの構成図である。
【図２】図２は、実施形態に係る検索カテゴリテーブルの構成図である。
【図３】図３Ａは、実施形態に係るストレージシステムテーブルの構成図である。図３Ｂは、実施形態に係るボリュームカテゴリテーブルの構成図である。図３Ｃは、実施形態に係るプールカテゴリテーブルの構成図である。
【図４】図４は、実施形態に係る検索画面の一例を示す図である。
【図５】図５は、実施形態に係る検索途中における検索画面の一例を示す図である。
【図６】図６は、実施形態においてカテゴリ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」まで検索処理が終了した時点の検索画面の一例を示す図である。
【図７】図７は、実施形態に係る詳細ビュー画面の一例を示す図である。
【図８】図８は、実施形態に係る復帰後の検索画面の一例を示す図である。
【図９】図９は、実施形態に係る検索表示処理のフローチャートである。
【図１０】図１０は、実施形態に係る検索カテゴリテーブル初期化処理のフローチャートである。
【図１１】図１１は、実施形態に係る検索処理のフローチャートである。
【図１２】図１２は、実施形態に係る検索復帰処理のフローチャートである。
【図１３】図１３は、実施形態に係る再検索処理のフローチャートである。
【図１４】図１４は、実施形態に係る再検索実行前の検索画面の一例を示す図である。
【図１５】図１５は、実施形態に係る再検索実行直後の検索画面の一例を説明する図である。
【図１６】図１６は、実施形態に係る再検索実行中の検索画面の一例を示す図である。
【図１７】図１７は、実施形態の第１の変形例に係る検索画面の一例を示す図である。
【図１８】図１８は、実施形態の第２及び第３の変形例に係る検索画面の第１状態を示す図である。
【図１９】図１９は、実施形態の第２の変形例に係る検索画面の第２状態を示す図である。
【図２０】図２０は、実施形態の第２の変形例に係る検索画面の第３状態を示す図である。
【図２１】図２１は、実施形態の第３の変形例に係る検索画面の第２状態を示す図である。
【図２２】図２２は、実施形態の第３の変形例に係る検索画面の第３状態を示す図である。
【図２３】図２３は、実施形態の第３の変形例に係る検索画面の第４状態を示す図である。
【発明を実施するための形態】
【００１７】
実施形態及びその幾つかの変形例を、図面を参照して説明する。なお、以下に説明する実施形態及び変形例は、特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１８】
なお、以下の説明では、「ａａａテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「ａａａテーブル」を「ａａａ情報」と呼ぶことができる。
【００１９】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Central  Processing  Unit））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び／又は通信インターフェースデバイス（例えばＩ／Ｆ）を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサ或いはそのプロセッサを有するシステム（例えば、クライアント、ストレージ管理サーバ）が行う処理としても良い。また、プロセッサが行う処理の一部又は全部を行うハードウェア回路を含んでも良い。プログラムは、プログラムソースから各装置にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
【００２０】
また、以下の説明では、ストレージシステムを含む計算機システムのリソースを検索するシステムを、検索処理システムと呼ぶことがある。検索処理システムは、１以上の計算機で構成される。以下の実施形態及び変形例では、検索条件を入力するための入力デバイスと検索結果を表示するための表示デバイスとを有するクライアントと、入力された検索条件に合致するリソース（検索対象）を検索するサーバとが別体であるが、クライアントとサーバは一体であっても良い。入力デバイスは、例えば、キーボード、ポインティングデバイス及びタッチパネルのうちの少なくとも１つであるが、これ以外のデバイスであってもよい。また、出力デバイスは、例えば、表示デバイス又はタッチパネルであるが、これ以外のデバイスであっても良い。サーバは、入力デバイスとして、シリアルインターフェースやイーサーネットインターフェース（イーサーネットは登録商標）を有しても良い。サーバの入出力デバイスに、前述したクライアントが接続され、サーバが、表示用情報をクライアントに送信したり、入力用情報をクライアントから受信することで、クライアントで表示を行ったり入力を受け付けても良い。
【００２１】
また、リソースの検索を実行させるユーザと、リソース同士を関連付けるユーザとは、同一人であっても良いし異なっていても良い。
【００２２】
図１は、実施形態に係る検索処理システムの構成図である。
【００２３】
検索処理システムは、ストレージ管理サーバ（以下、サーバ）２０と、サーバ２０に接続されたクライアント１０とを有する。例えば、クライアント１０は、サーバ２０に、通信ネットワーク（例えば、ＬＡＮ（Local  Area  Network））を介して接続されて良い。
【００２４】
サーバ２０に、計算機システム３０が接続されて良い。サーバ２０は、計算機システム３０に、通信ネットワーク（例えば、ＬＡＮ）を介して接続されて良い。本実施形態に係る計算機システム３０は、１以上のストレージシステムと１以上のストレージシステムに接続される１以上のホスト計算機（以下、ホスト）とを含む。ストレージシステムは、複数の通信ポートを有するコントローラと、コントローラに接続された複数のパリティグループとを有する。パリティグループは、複数の記憶デバイス（例えば、ＳＳＤ（Solid  State  Drive）或いはＨＤＤ（Hard  Disk  Drive）で構成されている。パリティグループを基に、論理ボリュームが形成される。論理ボリュームは、ホストに提供されても良いし、プールの構成要素となっても良い。プールを構成する論理ボリュームは、２以上の記憶領域に分割される。プールからThin  Provisioningに従う仮想的な論理ボリュームに記憶領域が割り当てられる。
【００２５】
クライアント１０は、計算機であり、通信インターフェース（Ｉ／Ｆ）１５と、記憶デバイスと、Ｉ／Ｆ１５及び記憶デバイスに接続された制御デバイスとを有する。本実施形態では、記憶デバイスは、メモリ１１及びＨＤＤ１４であり、制御デバイスは、ＣＰＵ１２である。メモリ１１と、ＣＰＵ１２と、入出力デバイス１３と、ＨＤＤ１４と、Ｉ／Ｆ１５とは、バス１６を介して接続されている。ＨＤＤ１４のような補助記憶デバイスは、クライアント１０の外部に存在しても良い。
【００２６】
メモリ１１は、例えば、ＲＡＭ（Random  Access  Memory）であり、ＣＰＵ１２が実行するコンピュータプログラムや、ＣＰＵ１２が使用するデータを記憶する。本実施形態では、メモリ１１は、通信及び画面表示の基本的な処理を実行するための既知のブラウザ１１０と、ブラウザ１１０の機能を利用してストレージ管理を行うためのストレージ管理クライアントプログラム（以下、クライアントプログラム）１１１とを記憶する。クライアントプログラム１１１には、検索画面（図４）等を表示させる処理を行うための検索表示処理プログラム１１２が含まれる。
【００２７】
入出力デバイス１３は、クライアント１０を使用するユーザによる入力を受け付ける入力デバイス（例えば、マウス及びキーボード）や、ブラウザ１１０により構成される画面を表示する出力デバイス（例えば、表示デバイス）である。
【００２８】
ＣＰＵ１２は、メモリ１１に記憶されたプログラムを実行することにより各種処理を実行する。
【００２９】
ＨＤＤ１４は、各種情報を記憶する。本実施形態では、ＨＤＤ１４は、検索カテゴリテーブル１４１を記憶する。また、本実施形態では、検索カテゴリテーブル１４１に対応する検索時における検索結果（レコード）を記憶する。
【００３０】
Ｉ／Ｆ１５は、サーバ２０との通信を仲介する。
【００３１】
サーバ２０も、計算機であり、通信インターフェース（Ｉ／Ｆ）２１及び２５と、記憶デバイスと、Ｉ／Ｆ２１及び記憶デバイスに接続された制御デバイスとを有する。本実施形態では、記憶デバイスは、メモリ２２及びＨＤＤ２４であり、制御デバイスは、ＣＰＵ２３である。Ｉ／Ｆ２１と、メモリ２２と、ＣＰＵ２３と、ＨＤＤ２４と、Ｉ／Ｆ２５とは、バス２６を介して接続されている。ＨＤＤ２４のような補助記憶デバイスは、サーバ２０の外部に存在しても良い。Ｉ／Ｆ２１及び２５は一体でも良い。
【００３２】
Ｉ／Ｆ２１は、クライアント１０との通信を仲介する。
【００３３】
メモリ２２は、例えば、ＲＡＭであり、ＣＰＵ２３が実行するプログラムや、ＣＰＵ２３が使用するデータを記憶する。本実施形態では、メモリ２２は、ストレージ管理を行うためのストレージ管理プログラム２２０を記憶する。ストレージ管理プログラム２２０には、検索処理を行うための検索処理プログラム２２１が含まれる。ＣＰＵ２３は、メモリ２２に記憶されたプログラムを実行することにより各種処理を実行する。
【００３４】
ＨＤＤ２４は、各種情報を記憶する。本実施形態では、ＨＤＤ２４は、ストレージシステムテーブル２４１、ボリュームカテゴリテーブル２４２、プールカテゴリテーブル２４３等のストレージシステム３０に関係する複数のカテゴリのリソースについてのテーブルを記憶する。複数のカテゴリのリソースについてのテーブルは、例えば、定期的（又は不定期的）に、プログラム２２０により、ストレージシステム３０に含まれる装置（例えば、ストレージシステムと、ホストと、ストレージシステムとホストとの間に存在するスイッチとのうちの少なくとも１つ）から必要な情報が収集されその収集された情報を基に更新される。なお、テーブルに格納される情報は、ストレージシステム３０の構成が変更された後（例えば、パリティグループが追加又は除去された後、或いは、論理ボリュームが追加又は除去された後）、直ちに取得されてもよい。このようにすると、テーブルの情報をなるべく最新の情報に維持することができる。ストレージシステム３０から送信された情報は、Ｉ／Ｆ２５で受信され、プログラム２２０により、その情報が関わるカテゴリのテーブルに反映される。
【００３５】
図２は、検索カテゴリテーブル１４１の構成図である。
【００３６】
検索カテゴリテーブル１４１は、カテゴリ１４１ａと、表示順１４１ｂと、選択状態１４１ｃと、検索結果数１４１ｄとのフィールドを有するレコードを格納する。
【００３７】
カテゴリ１４１ａは、カテゴリ名を表す情報を格納する。本実施形態に係る複数のカテゴリは、Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ、Ｈｏｓｔ、Ｖｏｌｕｍｅ（論理ボリューム）、Ｐａｒｉｔｙ  Ｇｒｏｕｐ、ＴＰ  Ｐｏｏｌ（前述したプール、ＴＰはＴｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇの略である）、及び、Ｌｏｇｉｃａｌ  Ｇｒｏｕｐである。
【００３８】
表示順１４１ｂは、検索画面（図４参照）における表示順、すなわち、検索画面に表示されるタブ（カテゴリ１４１ａに格納されているカテゴリ名が表示されるタブ）の並びの順番を表す情報を格納する。本実施形態では、検索範囲となるカテゴリは、この表示順に従う順序で切り替わる。すなわち、表示順が早いカテゴリほど早くに検索範囲とされる。言い換えれば、表示順は、検索範囲とされる順番であって、その順番が、並び順にも採用されていることになる。なお、表示順は、デフォルトの設定では、ユーザによる操作の種類が多い程早い順番（優先して早くに検索範囲となる順番）で良い。
【００３９】
選択状態１４１ｃは、検索結果をタブ画面４３の最前面に表示させるカテゴリとして選択されているか否か（非選択であるか）を表す情報を格納する。例えば、選択可能状態（活性状態）のタブの１つについて、ユーザ操作により入力デバイスを介してタブの指定を受け付けると、検索表示処理プログラム１１２は、該当カテゴリの選択状態に「選択」を、その他のカテゴリの選択状態に「非選択」を格納する。また、検索表示処理プログラム１１２は、指定されたタブを含む画面範囲を最前面表示するなど、選択状態のタブに対する処理を行う。
【００４０】
検索結果数１４１ｄは、検索結果数、すなわち、カテゴリの中で検索条件に合致した（ヒットした）リソースの数、を表す情報を格納する。なお、本実施形態では、検索範囲とされていないカテゴリについては、検索結果数として「−１」が格納される。検索結果数「−１」の複数のカテゴリにおいて一番表示順が早いカテゴリが、検索処理中のカテゴリである。また、本実施形態では、検索結果数が１以上のカテゴリのタブは活性状態（選択状態又は選択可能状態）、検索結果数が「０」または「−１」のカテゴリのタブは非活性状態（選択不可状態）とする。このように、検索結果数から活性状態か非活性状態の判別が可能であるが、検索カテゴリテーブル１４１が、活性状態か非活性状態かを表すカラムを有していても良い。
【００４１】
図２に示すテーブル１４１によれば、例えば、以下のことがわかる。
（＊）カテゴリ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」について、タブ並びにおいてそのカテゴリのタブが１番目に存在し、そのタブが活性状態となっており、そのカテゴリについて検索条件に合致するリソースが２つある。さらに、カテゴリ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」は、選択状態のカテゴリ、すなわち、検索結果をタブ画面４３の最前面に表示させるカテゴリとして選択されている。
（＊）カテゴリ「Ｈｏｓｔ」について、タブ並びにおいてそのカテゴリのタブが２番目に存在するはずだが、そのカテゴリについて検索条件に合致するリソースが１つも見つからなかったために、そのタブが非活性状態となっている。
（＊）カテゴリ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」について、タブ並びにおいてそのカテゴリのタブが４番目に存在し、検索結果数「−１」のカテゴリの中で一番表示順が早いため、未だそのカテゴリについては検索処理中であって、そのタブが非活性状態（検索中を示す状態）となっていることがわかる。
（＊）カテゴリ「ＴＰ  Ｐｏｏｌ」について、タブ並びにおいてそのカテゴリのタブが５番目に存在し、そのカテゴリについては未だ検索処理が開始されていないため、そのタブが非活性状態となっていることがわかる。
【００４２】
なお、上記において、タブが「活性状態」であるとは、入力デバイスを操作してそのタブを指定可能な状態（例えば、指定されたタブを含む画面範囲が最前面表示される状態）である。一方、タブが「非活性状態」であるとは、入力デバイスを操作してそのタブを指定不可能な状態、例えば、活性状態のタブとは異なる表示属性でタブが表示されている状態、或いは、そのタブに対応するカテゴリが検索処理中である状態である。表示属性としては、例えば、タブの色、タブに表示されるカテゴリ名の文字のフォント、タブの形状、タブ（及び文字）の透過率等がある。透過率は、活性状態よりも小さい透過率である。例えば、透過率が１００％より小さくＮ％よりも大きい状態（Ｎは、活性状態での透過率で０以上の値）であれば、タブはいわゆる半透明の状態であり、透過率が１００％であれば、タブが視覚的には消えた状態となる。なお、既に選択状態が「選択」のカテゴリのタブが、検索処理が開始されて非活性状態となった場合は、その他のタブへの指定を入力デバイスを介して受け付けない限り、当該タブを含む画面範囲を最前面表示した等のままの状態で検索処理が行なわれる。
【００４３】
図３Ａは、ストレージシステムテーブル２４１の構成図である。
【００４４】
ストレージシステムテーブル２４１は、ストレージ２４１ａと、シリアル番号２４１ｂと、容量２４１ｃと、ステータス２４１ｄと、更新日時２４１ｅとのフィールドを有するレコードを格納する。
【００４５】
ストレージ２４１ａは、ストレージシステム名を表す情報を格納する。
【００４６】
シリアル番号２４１ｂは、ストレージシステムのシリアル番号を表す情報を格納する。
【００４７】
容量２４１ｃは、ストレージシステムの記憶容量を表す情報を格納する。
【００４８】
ステータス２４１ｄは、ストレージシステムのステータス（状態）を表す情報を格納する。
【００４９】
更新日時２４１ｅは、レコードを更新した日時を表す情報を格納する。「日時」は、年、月、日、時、分、秒（小数点以下の秒を含んでも良い）のうちの少なくとも１つを含む。
【００５０】
例えば、ストレージシステムテーブル２４１の一番上のレコードによれば、ストレージシステム名が「ＵＳＰ  Ｖ」のストレージシステムのシリアル番号は、「１１１１」であり、容量は、「１０ＴＢ」であり、ステータスは、「正常」であり、当該レコードの更新日時が「２０１０／０７／２２  １１：００：００」である。
【００５１】
図３Ｂは、ボリュームカテゴリテーブル２４２の構成図である。
【００５２】
ボリュームカテゴリテーブル２４２は、ボリュームＩＤ２４２ａと、ラベル２４２ｂと、ボリュームタイプ２４２ｃと、容量２４２ｄと、ストレージ２４２ｅと、シリアル番号２４２ｆと、プールＩＤ２４２ｇとのフィールドを有するレコードを格納する。
【００５３】
ボリュームＩＤ２４２ａは、論理ボリュームの識別情報（ＩＤ）を格納する。
【００５４】
ラベル２４２ｂは、論理ボリュームのラベル（例えば、論理ボリュームの用途を表す情報）を格納する。
【００５５】
ボリュームタイプ２４２ｃは、論理ボリュームのタイプを表す情報を格納する。
【００５６】
容量２４２ｄは、論理ボリュームの容量を表す情報を格納する。
【００５７】
ストレージ２４２ｅは、論理ボリュームを有するストレージシステムのストレージシステム名を表す情報を格納する。
【００５８】
シリアル番号２４２ｆは、論理ボリュームを有するストレージシステムのシリアル番号を格納する。
【００５９】
プールＩＤ２４２ｇは、論理ボリュームを有するプールのＩＤを格納する。なお、論理ボリュームがプールに格納されているボリュームでない場合には、プールＩＤとして何も格納されない。
【００６０】
例えば、ボリュームカテゴリテーブル２４２の一番上のレコードによれば、ボリュームＩＤが「００：００」の論理ボリュームは、ラベルが「マーケティング」であり、ボリュームタイプが「ノーマル」であり、容量が「１００ＧＢ」であり、ストレージシステム名「ＵＳＰ  Ｖ」でシリアル番号「１１１１」のストレージシステムにあり、プールを構成する論理ボリュームではない。
【００６１】
図３Ｃは、プールカテゴリテーブル２４３の構成図である。
【００６２】
プールカテゴリテーブル２４３は、プールＩＤ２４３ａと、ラベル２４３ｂと、容量２４３ｃと、ストレージ２４３ｄと、シリアル番号２４３ｅとのフィールドを有するレコードを格納する。
【００６３】
プールＩＤ２４３ａは、プールの識別情報（ＩＤ）を格納する。
【００６４】
ラベル２４３ｂは、プールのラベルを格納する。
【００６５】
容量２４３ｃは、プールの容量を格納する。
【００６６】
ストレージ２４３ｄは、プールを有するストレージシステムのストレージシステム名を格納する。
【００６７】
シリアル番号２４３ｅは、プールを有するストレージシステムのシリアル番号を格納する。
【００６８】
例えば、プールカテゴリテーブル２４３の一番上のレコードによれば、プールＩＤが「０」のプールは、ラベルがなく、容量が「１ＴＢ」であり、ストレージシステム名「ＵＳＰ  Ｖ」でシリアル番号「１１１１」のストレージシステムにある。
【００６９】
次に、本実施形態に係る検索処理システムの処理を説明する。
【００７０】
まず、検索を実行する際に、検索表示処理プログラム１１２により入出力デバイス１３に表示される検索画面の一例を説明する。なお、本実施形態では、例えば、ユーザは、所望の論理ボリュームを所望のホストに割当てるために、所望の論理ボリューム及び／又は所望のホストを、クライアント１０を通じてサーバ２０に検索させる。
【００７１】
図４は、実施形態に係る検索画面の一例を示す図である。
【００７２】
検索画面４０は、クライアント１０で検索表示処理プログラム１１２が実行されることにより入出力デバイス１３に表示される画面であり、典型的にはＧＵＩ（Graphical  User  Interface）である。検索画面４０は、検索に関する指定を受け付ける検索指定領域４１と、検索の進捗状況及び結果を表示するためのサブ画面領域４２とを有する。
【００７３】
検索指定領域４１には、複数の電子的な画面部品、例えば、検索条件としてのキーワード（例えば、数字、文字及び記号のうちの少なくとも１つの符号を含んだ１以上の符号）の入力欄であるキーワード入力欄４１ａと、検索範囲としてのカテゴリの指定を受け付けるためのカテゴリプルダウンメニュー４１ｂと、検索の実行指示を受け付けるための「Ｓｅａｒｃｈ」ボタン４１ｃとが表示される。検索画面４０は、例えば、完全一致検索（入力されたキーワードと完全に一致する被比較情報が割り振られているリソースを検索すること）と部分一致検索（入力されたキーワードと部分的に一致する被比較情報が割り振られているリソースを検索すること）とを切り替えるための電子的な画面部品（ツール）を有していても良い。リソースの被比較情報としては、ストレージシステム名、シリアル番号、ボリュームＩＤ及びラベルのうちの少なくとも１つで良い。被比較情報が何であるかはデフォルトで決められていても良いしユーザが決めても良い。
【００７４】
カテゴリプルダウンメニュー４１ｂは、複数のカテゴリからユーザ所望のカテゴリを指定することを意味する操作がされた場合には、指定可能な複数のカテゴリの名称を一覧表示する。
【００７５】
サブ画面領域４２には、タブ画面４３が表示される。タブ４２１の表示状態は、そのタブに対応するカテゴリについての検索処理の状況（例えば、検索中か否か、検索済みであって検索条件に合致するリソースが見つかったか否か等）によって異なる。
【００７６】
タブの並び順は、図２に示したテーブル１４１が示す表示順に従う順序である。例えば、図面において左から順に、表示順に従ってタブ４２１が横方向に沿って並んでいる。表示順は、検索処理の実行順序でもある。つまり、検索範囲は、表示順に従って遷移する。なお、タブの並びは、縦方向でも良い。
【００７７】
図４に示すように、タブ４２１の表示態様には幾つかの種類がある。
【００７８】
例えば、図４でのタブ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」は、活性状態かつ選択状態のタブであって、タブ画面４３において最前面に表示されている画面のタブである。タブ画面４３における最前面の画面には、その画面に対応するカテゴリから見つかった、検索条件に合致するリソースに関する情報が表示される。
【００７９】
図４でのタブ「Ｈｏｓｔ」は、非活性状態のタブであって、そのタブに対応するカテゴリについて検索中であることを意味するオブジェクト、例えば、ローディングアイコンＬＩが表示されるタブである。
【００８０】
また、図４でのタブ「Ｖｏｌｕｍｅ」、「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」、「ＴＰ  Ｐｏｏｌ」及び「Ｌｏｇｉｃａｌ  Ｇｒｏｕｐ」は、それぞれ、非活性状態のタブであって、検索がまだ行われていない状態のタブである。
【００８１】
検索画面４０は、初期状態、すなわち、プログラム起動後の最初の状態においては、サブ画面領域４２には、タブ画面４３が表示されていなくても良いし、ブランクの状態でタブ画面４３が表示されても良い。検索条件が入力欄４１ａに入力されて検索処理が開始した後に、タブ画面４３の表示が遷移していって良い。
【００８２】
本実施形態の１つの特徴によれば、新しいカテゴリ「Ａｌｌ  ｒｅｓｏｕｒｃｅｓ」が用意されている。カテゴリ「Ａｌｌ  ｒｅｓｏｕｒｃｅｓ」は、「Ａｌｌ  ｒｅｓｏｕｒｃｅｓ」以外の全てのカテゴリを検索範囲とすることを意味するカテゴリである。カテゴリ選択領域４１ｂでは、デフォルトとして、その新カテゴリ「Ａｌｌ  ｒｅｓｏｕｒｃｅｓ」が設定されている。これにより、検索条件を入力したユーザがカテゴリを指定しないまま「Ｓｅａｒｃｈ」ボタン４１ｃを押したとしても、ユーザが所望するカテゴリを検索範囲とした検索が確実に行われることになる。
【００８３】
また、本実施形態によれば、他にも幾つかの特徴がある。以下、検索画面４０の遷移を説明しつつ、適宜、他の特徴も説明する。なお、以下の説明では、「検索処理の結果、検索条件に合致するリソースが少なくともＸ個（Ｘは、自然数で、固定値でもユーザ任意の変数でも良い）見つかったカテゴリ」を「検索ヒットカテゴリ」と言い、検索ヒットカテゴリに対応するタブを「検索ヒットタブ」と言う。また、「検索処理の結果、検索条件に合致するリソースが少なくともＸ個見つからなかったカテゴリ」を「非検索ヒットカテゴリ」と言い、非検索ヒットカテゴリに対応するタブを「非検索ヒットタブ」と言う。
【００８４】
検索処理中のカテゴリに対応するタブ４２１には、前述した通り、ローディングアイコンＬＩが表示される。図４で言えば、カテゴリ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」について検索処理が終了すると、ローディングアイコンＬＩは、タブ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」の右隣のタブ「Ｈｏｓｔ」に移動し（つまり、表示順に従って検索範囲が切り替わり）、タブ「Ｈｏｓｔ」に対応するカテゴリ「Ｈｏｓｔ」を検索範囲とした検索処理が開始される。
【００８５】
検索処理が終了したカテゴリに対応するタブ４２１の表示態様は、検索処理の結果によって異なる。図４で言えば、タブ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」は、活性状態である。なぜなら、そのタブは、検索ヒットタブであるからである。また、タブ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」は、反転表示されている。なぜなら、そのタブは、検索結果を示す画面がタブ画面４３の最前面に表示されているタブだから（つまり、そのタブに対応するカテゴリが選択状態が「選択」であるから）である。
【００８６】
また、検索範囲の切り替わりが進み、図５に示す状況になったとする。すなわち、カテゴリ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」、「Ｈｏｓｔ」、「Ｖｏｌｕｍｅ」及び「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」については、検索処理が終了し、カテゴリ「ＴＰ  Ｐｏｏｌ」については検索処理中であり、カテゴリ「Ｌｏｇｉｃａｌ  Ｇｒｏｕｐ」については、検索処理が未だ開始されていない状態であるとする。
【００８７】
図５でのタブ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」は、活性状態である。なぜなら、そのタブは、検索ヒットタブであるからである。また、図５でのタブ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」は、非反転表示されている。なぜなら、そのタブは、検索結果を示す画面がタブ画面４３の最前面に表示されていないタブだから（つまり、そのタブに対応するカテゴリが選択状態が「非選択」であるから）である。
【００８８】
また、図５によれば、タブ「Ｈｏｓｔ」は、非活性状態であり、例えば、矢印８５３で示すように、タブ画面４３から消されている。なぜなら、そのタブは、非検索ヒットタブであるからである。
【００８９】
そして、図５によれば、消されたタブ「Ｈｏｓｔ」よりも右側に存在する全てのタブが、矢印８５３で示すように、左側（先頭側）に詰められる。その際、タブ画面４３の横の長さよりもタブ画面４３に表示されているタブ群（複数のタブ）全体の横幅の方が長いが故に、少なくとも１つのタブでのカテゴリ名の表示に問題があれば（例えば、カテゴリ名の一部が表示されない、或いは、カテゴリ名を縮小して表示している）、その少なくとも１つのタブの横幅がリサイズされることで、カテゴリ名の表示の問題が緩和（例えば、カテゴリ名がすべて表示される、或いは、カテゴリ名が等倍で表示される）されても良い。
【００９０】
また、非検索ヒットタブは、検索処理の終了後に一瞬で消されても良いが、本実施形態では、時間をかけて徐々に消される。具体的には、例えば、図５でのタブ「Ｖｏｌｕｍｅ」のように、非検索ヒットタブは、矢印８５４で示すように、アニメーションによって、徐々に下に移動してタブ画面４３から消されていく（図５では、タブ「Ｖｏｌｕｍｅ」は、消去途中の状態である）。タブ「Ｖｏｌｕｍｅ」が完全に消えた後に、図６に示すように、タブ「Ｖｏｌｕｍｅ」よりも右側に存在する全てのタブが、左側（先頭側）に詰められる。
【００９１】
図４〜図６によれば、検索ヒットカテゴリに対応するタブは、活性状態となるため、ユーザが入出力デバイス１３を操作して選択することができるようになっている。一方、非検索ヒットカテゴリに対応するタブは、消されてしまうので、ユーザは、そのカテゴリが非検索ヒットであったことを、容易に把握でき、且つ、誤って選択されることもない。
【００９２】
また、検索処理中及び検索処理待ちのカテゴリに対応するタブは、非活性状態であり、タブは検索範囲が遷移順に並んでおり、且つ、ローディングアイコンが検索処理中のカテゴリに対応するタブ上に表示されるので、ユーザは、どのカテゴリまで検索処理が進んでいるかを容易に把握することができる。
【００９３】
なお、図６に示すように、例えば、カテゴリ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」まで検索処理が終了した時点で、活性状態のタブ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」が選択されたとする。タブ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」は反転表示され、タブ画面４３には、タブ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」の画面が最前面に表示される。タブ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」の画面には、検索処理において見つかったリソースに関連する情報の一覧と、その情報へのリンク表示９１０がされている。リンク表示９１０が入力デバイスにより指定されると、そのリンク表示９１０に従うリソース詳細情報を表示する詳細ビュー画面（図７参照）が表示される。なお、その際には、検索画面４０が消去される（例えばビュー画面の背面に表示される）こととなる。
【００９４】
図７に示す詳細ビュー画面１０００によれば、検索時のリソースを示すリソース記号１００１と、キーワードが表示されるキーワード領域１００２と、検索の開始を指示するための検索開始ボタン１００３とが表示される。キーワード領域１００２には、初期状態では、直前の検索で使用したキーワードが表示されており、以降、新たなキーワードを入力することもできるようになっている。また、ビュー画面１０００には、対応するリソースの概要を表示するサマリー表示領域１０１０と、リソースの詳細を表示するリソース詳細表示領域１０２０とが表示される。ユーザは、ビュー画面１０００を表示させることで、検索条件に合致したリソースの詳細情報を見ることができる。
【００９５】
なお、ビュー画面に表示される情報へのリンクの表示９１０は、例えば、検索カテゴリテーブル１４１のフィールドに記載の情報と、その情報へのリンクとを含んで良い。検索表示処理プログラム１１２が、検索結果の表示時に、そのリンク表示をしても良い。
【００９６】
また、ビュー画面１０００の表示中、バックグラウンドで検索処理が継続していても良いし、ビュー画面１０００の表示と共に検索処理が中断されても良い。図７に示したビュー画面１０００で所定の操作（例えば検索開始ボタン１００３の押下）がされると、再び検索画面４０が表示される。図８に例示する画面４０によれば、ビュー画面１０００が表示される前の状態よりも検索処理が進んでいる。なぜなら、ローディングアイコンＬＩがタブ「ＴＰ  Ｐｏｏｌ」からタブ「Ｌｏｇｉｃａｌ  Ｇｒｏｕｐ」に遷移しているからである。
【００９７】
以下、フローチャートを参照して、本実施形態で行われる処理を説明する。
【００９８】
図９は、実施形態に係る検索表示処理のフローチャートである。
【００９９】
ユーザによる入出力デバイス１３に対する操作により、初期状態の検索画面４０において、検索範囲をデフォルト（「Ａｌｌ  Ｒｅｓｏｕｒｓｅ」）のままとした状態で、検索条件としてのキーワードが入力されて、Ｓｅａｒｃｈボタン４１ｃが押下されると、検索表示処理プログラム１１２（厳密には、ブラウザ１１０及び検索表示処理プログラム１１２を実行するＣＰＵ１２）は、検索カテゴリテーブル初期化処理（図１０参照）を実行する（ステップＳ１）。
【０１００】
次いで、検索表示処理プログラム１１２は、全カテゴリに対応する、非活性状態のタブを、検索カテゴリテーブル１４１の表示順１４１ｂの表示順に従う並び順で、タブ表示領域４２の左側から並べて表示する（ステップＳ２）。本実施形態では、タブには、そのタブに対応するカテゴリ名の全体が表示される。このように、検索の初期の時点で、検索範囲としてのカテゴリに対応するタブを表示させることで、検索処理の開始前にユーザに検索範囲（カテゴリ）を把握させることができる。
【０１０１】
次いで、検索表示処理プログラム１１２は、検索カテゴリテーブル１４１のレコードの各カテゴリについて、レコードの表示順１４１ｂの表示順に従って、ステップＳ３〜Ｓ１４の処理を繰り返し実行する。
【０１０２】
まず、検索表示処理プログラム１１２は、処理対象のカテゴリ（該当カテゴリ）に対する検索処理の開始指示を、サーバ２０に送信する（ステップＳ４）。検索処理の開始指示には、例えば、該当カテゴリ名と、キーワードが含まれる。これにより、サーバ２０では、検索処理（図１１参照）が実行される。
【０１０３】
検索表示処理プログラム１１２は、該当カテゴリのタブにローディングアイコンＬＩを表示して非活性状態とし（ステップＳ５）、検索処理が終わったか、すなわち、サーバ２０から検索結果を受け取ったか否かを判定する（ステップＳ６）。検索処理が終了していない場合（ステップＳ６でＮｏ）には、検索表示処理プログラム１１２は、ステップＳ５を実行する。一方、検索処理が終わった場合（ステップＳ６でＹｅｓ）には、検索表示処理プログラム１１２は、検索ヒット数が１以上であるか否かを判定する（ステップＳ７）。このフローチャートによれば、前述の「検索処理の結果、検索条件に合致するリソースが少なくともＸ個見つかったカテゴリ」という文章におけるＸが１である。つまり、「検索ヒット数」とは、検索条件に合致するリソースの数（検索処理において見つかったリソースの数）である。
【０１０４】
この結果、検索ヒット数が１以上でない場合（ステップＳ７でＮｏ）には、検索の結果に検索条件に合致するリソースが存在しないことを意味しているので、検索表示処理プログラム１１２は、該当カテゴリのタブを非表示にし（ステップＳ８）、ステップＳ１２に処理を進める。ここで、本実施形態では、タブを非表示にする場合には、表示されているタブが下方向に移動して消えていくアニメーションを表示させることにより、タブが非表示となることをユーザが知覚できるようにしている。なお、重要なカテゴリに対応するタブ（例えば、デフォルトでの表示順が早いカテゴリのタブ）については、ゆっくり消えるようにし、重要でないカテゴリに対応するタブについては、それよりも短い時間で消えるようにしてもよい。なお、非表示にするタブを有する画面がタブ画面４３において最前面に表示されていた（該当カテゴリの選択状態１４１ｃに「選択」が格納されていた）場合は、検索表示処理プログラム１１２は、当該カテゴリの選択状態１４１ｃに「非選択」を格納し、例えば表示順が次のタブの選択状態に「選択」を格納するようにしてもよい。
【０１０５】
一方、検索ヒット数が１以上である場合（ステップＳ７でＹｅｓ）には、検索表示処理プログラム１１２は、該当カテゴリのタブを活性状態とし（ステップＳ９）、該当カテゴリに対応するタブを有する画面がタブ画面４３において最前面に表示されているか否か（該当カテゴリの選択状態１４１ｃに「選択」が格納されているか否か）を判定する（ステップＳ１０）。
【０１０６】
この判定の結果が肯定的である場合（ステップＳ１０でＹｅｓ）には、検索表示処理プログラム１１２は、該当カテゴリに対応するタブを有する画面に、検索結果一覧（見つかったリソースに関する情報の一覧）を表示し（ステップＳ１１）、ステップＳ１２に処理を進める。
【０１０７】
検索表示処理プログラム１１２は、検索ヒット数を、検索カテゴリテーブル１４１の該当カテゴリの検索結果数１４１ｄに格納する（ステップＳ１２）。また、検索表示処理プログラム１１２は、該当カテゴリのタブの左側に空き領域（非表示とされたタブの分の空き領域）があれば、該当カテゴリに対応するタブ（及び、そのタブの右側に存在する全てのタブ）を左詰めに移動させる（ステップＳ１３）。
【０１０８】
検索表示処理プログラム１１２は、上記処理を検索カテゴリテーブル１４１のレコードの各カテゴリについて、表示順１４１ｂに格納されている表示順に従って繰り返し実行した後、処理を終了する。
【０１０９】
上記検索表示処理によると、非検索ヒットタブをアニメーションで消すので、ユーザに、対象のカテゴリについて検索ヒットがなかったことを把握させることができる。また、タブを消去させるので、以降に、非検索ヒットタブをユーザが選択してしまうという無駄な操作を防止することができる。また、検索処理が終了し検索ヒットが得られたことが確定した時点でタブが活性状態となるので、別のカテゴリについて検索処理が終了していなくても、ユーザは、活性状態のタブを選択することにより、そのタブに対応するカテゴリの検索結果をタブ画面４３に表示させることができる。ユーザは、所望のカテゴリの検索結果を迅速に閲覧することができる。
【０１１０】
上記処理において、ステップＳ１３の処理を、各カテゴリに対する繰り返し処理（ステップＳ３〜Ｓ１４）の中で実行するようにしていたが、例えば、全てのカテゴリに対する繰り返し処理が終了した後に、ステップＳ１３を実行するようにしてもよい。
【０１１１】
図１０は、検索カテゴリテーブル初期化処理（図９のステップＳ１）のフローチャートである。
【０１１２】
検索カテゴリテーブル初期化処理において、検索表示処理プログラム１１２は、検索カテゴリテーブル１４１のカテゴリ数分（レコード数分）だけ、ステップＳ２１〜Ｓ２４の処理を繰り返す。すなわち、検索表示処理プログラム１１２は、処理対象のカテゴリ（該当カテゴリ）のレコードの表示順１４１ｂを、デフォルトの表示順に変更し（ステップＳ２２）、検索結果数１４１ｄ内の値を、検索をしていないことを示す“−１”に変更する（ステップＳ２３）。また、検索表示処理プログラム１１２は、選択状態１４１ｃ内の値を、表示順が１のカテゴリは“選択”、その他のカテゴリは“非選択”に変更するようにしてもよい。
【０１１３】
図１１は、実施形態に係る検索処理のフローチャートである。
【０１１４】
検索処理では、サーバ２０の検索処理プログラム２２１が、クライアント１０から受け取った検索要求から、キーワードと、検索対象のカテゴリのカテゴリ名とを取得し、カテゴリ名のカテゴリについてのリソース情報を格納するカテゴリテーブル（例えば、カテゴリ名がストレージであれば、ストレージシステムテーブル２４１であり、カテゴリ名がボリュームであれば、ボリュームカテゴリテーブル２４２）を参照する（ステップＳ３１）。
【０１１５】
次いで、検索処理プログラム２２１は、取得したカテゴリテーブルに対して、キーワードと部分一致するレコードを取得する（ステップＳ３２）。なお、キーワードとの部分一致を判定するフィールドとしては、レコードのすべてのフィールドとしてもよいし、一部のフィールドとしてもよい。例えば、レコードの一部のフィールドとする場合には、ストレージシステムのカテゴリテーブルであれば、ストレージシステム名、ＩＰアドレス、シリアル番号とし、ホストのカテゴリテーブルであれば、ホスト名、ＩＰアドレス、ＷＷＮとし、ボリュームのカテゴリテーブルであれば、ＩＤ、ラベルとし、パリティグループのカテゴリテーブルであれば、ＩＤとし、プールのカテゴリテーブルであれば、ＩＤ、ラベルとし、論理グループのカテゴリテーブルであれば、論理グループ名、説明としてもよい。
【０１１６】
次いで、検索処理プログラム２２１は、取得した各レコードと、レコード数とをクライアント１０に通知する（ステップＳ３３）。これにより、クライアント１０に検索要求のあったカテゴリについての検索結果を返すことができる。
【０１１７】
図１２は、実施形態に係る検索復帰処理のフローチャートである。
【０１１８】
この検索復帰処理は、例えば、図７に示したビュー画面１０００を用いて検索を開始させる場合の処理である。
【０１１９】
ビュー画面１０００の検索開始ボタン１００３が押下されると、検索表示処理プログラム１１２は、キーワード入出力領域１００２に入力されているキーワードを取得する（ステップＳ４１）。次いで、検索表示処理プログラム１１２は、取得したキーワードが、直前の検索時から変更があるか否かを判定する（ステップＳ４２）。ここで、変更があるか否かの判定は、例えば、直前のキーワードをメモリ１１に格納しておき、比較することにより判定することができる。
【０１２０】
この結果、直前の検索時から変更がある場合（ステップＳ４２のＹｅｓ）には、検索表示処理プログラム１１２は、当該キーワードを用いて、図９に示した検索表示処理を実行する（ステップＳ４３）。
【０１２１】
一方、直前の検索時から変更がない場合（ステップＳ４２でＮｏ）には、検索表示処理プログラム１１２は、検索画面４０の初期画面を表示させ、ＨＤＤ１４に記憶されている直前の検索時の検索カテゴリテーブル１４１のレコードの各カテゴリについて、レコードの表示順１４１ｂの表示順に従って、ステップＳ４４〜Ｓ５１の処理を繰り返し実行する。
【０１２２】
まず、検索表示処理プログラム１１２は、該当するカテゴリのレコードの選択状態１４１ｃが「選択」であるか否かを判定する（ステップＳ４５）。「選択」である場合（ステップＳ４５でＹｅｓ）には、前回検索時において検索結果が得られており、且つ表示させるように選択されていることを示しているので、プログラム１１２は、該当カテゴリのタブを活性状態とし、前回の検索時に取得した検索結果をＨＤＤ１４から取得し、タブ画面４３に検索結果の一覧を表示させ（ステップＳ４６）、ステップＳ５１に処理を進める。
【０１２３】
一方、「非選択」の場合（ステップＳ４５でＮｏ）には、検索表示処理プログラム１１２は、該当カテゴリのレコードの検索結果数が０以下であるか否か、すなわち、検索がヒットしたか否かを判定する（ステップＳ４７）。検索結果数が０以下でない場合（ステップＳ４７でＮｏ）には、前回の検索がヒットして終了したことを意味しているので、プログラム１１２は、該当カテゴリのタブを活性状態とし（ステップＳ４８）、ステップＳ５１に処理を進める。
【０１２４】
一方、検索結果数が０以下である場合（ステップＳ４７でＹｅｓ）には、検索表示処理プログラム１１２は、該当カテゴリのレコードの検索結果数が“−１”であるか否か、すなわち、検索が行われていたか否かを判定する（ステップＳ４９）。検索結果数が“−１”でない場合（ステップＳ４９でＮｏ）には、検索結果が０であって、検索したがヒットしなかったことを意味しているので、プログラム１１２は、該当カテゴリのタブを表示させることなく、ステップＳ５１に処理を進める。
【０１２５】
一方、検索結果数が“−１”である場合（ステップＳ４９でＹｅｓ）には、前回の検索時に検索がまだ行われていなかったか、あるいは検索処理中であったが完了しなかったことを意味しているので、プログラム１１２は、該当カテゴリのタブを非活性の状態で検索画面４０に表示する（ステップＳ５０）。
【０１２６】
そして、ステップＳ４４〜ステップＳ５１の繰り返し処理をすべてのカテゴリのレコードに対して行った後に、検索結果数が“−１”のカテゴリについて、図９に示した検索表示処理の一部の処理（ステップＳ３以降の処理）が実行される。
【０１２７】
上記した検索復帰処理によると、直前のキーワードを変更しなかった場合には、検索が終わったカテゴリについては、直前の検索結果を利用して検索結果を表示させることができ、検索が終わっていなかったカテゴリについてのみ検索を実施することができる。このため、新たに最初から再検索する必要がなく、検索時間を短縮することができる。
【０１２８】
図１３は、本実施形態に係る再検索処理のフローチャートである。
【０１２９】
再検索処理は、例えば、検索を実行したときに或るカテゴリの検索結果内に、ユーザが所望していた結果が得られていない場合に、当該カテゴリに対してユーザが別のキーワードで再検索をしたいという状況に対応するための処理である。従って、再検索をしたい状況においては、例えば、図１４に示すような検索画面となっている。
【０１３０】
図１４に示す検索画面４０では、キーワード入力欄４１ａには、先の検索において入力したキーワード（同図では、「１００」）が表示されている。また、検索ヒットタブが活性状態で表示され、その中で、ユーザが着目しているカテゴリ（同図では、「Ｖｏｌｕｍｅ」）のタブが活性状態且つ選択状態である。タブ画面４３には、指定されたタブの画面が再前面に表示され、その画面では、検索結果の一覧が表示される。ここで、ユーザが再検索を行いたい場合には、キーワード入力欄４１ａに対して、再検索で使用するキーワードを入力し、「Ｓｅａｒｃｈ」ボタン４１ｃを押下することとなる。
【０１３１】
ユーザによって、「Ｓｅａｒｃｈ」ボタン４１ｃが押下されると、検索表示処理プログラム１１２は、再検索処理を実行する。
【０１３２】
まず、検索表示処理プログラム１１２は、検索カテゴリテーブル１４１の選択状態１４１ｃが「選択」となっているカテゴリの表示順を取得する（ステップＳ６１）。
【０１３３】
次いで、検索表示処理プログラム１１２は、検索カテゴリテーブル１４１のレコードの各カテゴリについて、ステップＳ６２〜Ｓ６５の処理を繰り返し実行する。すなわち、検索表示処理プログラム１１２は、処理対象のカテゴリのレコードの表示順が、ステップＳ６１で取得した表示順より小さいか否かを判定し（ステップＳ６３）、処理対象のカテゴリの表示順が、取得した表示順より小さい場合（ステップＳ６３でＹｅｓ）には、処理対象のカテゴリに対する表示順を、取得した表示順よりも後ろにするために、レコードの表示順に１を足す（ステップＳ６４）。一方、レコードの表示順が、ステップＳ６１で取得した表示順より小さくない場合（ステップＳ６３でＮｏ）には、選択対象のカテゴリよりも後の表示順であるので、ここでは何もせずにステップＳ６５に進む。検索カテゴリテーブル１４１のレコードの各カテゴリについて、ステップＳ６２〜Ｓ６５の処理を繰り返し実行し終えた場合には、検索表示処理プログラム１１２は、レコードの選択状態１４１ｃが「選択」となっているカテゴリの表示順を「１」、すなわち先頭に変更する（ステップＳ６６）。
【０１３４】
次いで、検索表示処理プログラム１１２は、検索カテゴリテーブル１４１のレコードの表示順１４１ｂが「１」のカテゴリのタブを先頭の位置に移動させる。例えば、図１４に示す検索画面４０で新たにキーワードが入力された場合には、検索表示処理プログラム１１２は、図１４において活性状態であったタブ「Ｖｏｌｕｍｅ」を、図１５に示すように矢印１５０１の方向に移動させて、先頭のタブとして表示させる（ステップＳ６７）。なお、この検索画面４０では、キーワード入力欄４１ａには、新たなキーワード（ここでは、「ＶＭ」）が表示されている。
【０１３５】
次いで、検索表示処理プログラム１１２は、図９の検索表示処理のステップＳ２以降の処理を実行する（ステップＳ６８）。なお、ステップＳ２においては、図１６に示すように、表示順が２番目以降のカテゴリのタブを、非活性状態とする。
【０１３６】
この再検索処理によると、ユーザが指定したタブのカテゴリが再検索では最初に検索範囲となるので、ユーザ所望のカテゴリについての検索結果を早期に提供することができる。
【０１３７】
次に、実施形態の第１の変形例について説明する。
【０１３８】
上記第１の実施形態においては、各カテゴリのタブに対して、カテゴリの名称全体を表示させるようにしていた。しかしながら、カテゴリ名称の長さや、検索対象とするカテゴリの数、検索画面のサイズ等によっては、全てのカテゴリのタブについて、カテゴリ名称全体を表示させようとすると、一度に表示可能な表示領域内ですべてのタブを表示できない場合があり、このような場合には、表示範囲を左右方向にスクロールさせなくては、各タブの内容等を確認できない虞もある。
【０１３９】
第１の変形例は、このような事態を防止するために、表示させるタブのサイズやタブに表示させるカテゴリ名を制御している。
【０１４０】
図１７は、実施形態の第１の変形例に係る検索画面の一例を示す図である。
【０１４１】
第１の変形例においては、検索表示処理プログラム１１２は、優先タブのサイズ（特に横幅）を、カテゴリ名を縮小したり一部分省略したりすることなく表示できる通常サイズとし、非優先タブのサイズ（横幅）を、カテゴリ名を縮小する或いは一部分省略したりしても良い例外サイズとする。優先タブは、例えば、検索ヒットタブ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」や、検索途中のタブ「Ｈｏｓｔ」である。非優先タブは、例えば、検索処理待ちのカテゴリに対応するタブである。タブの通常サイズ（横幅）は、カテゴリ名の長さによって異なっていて良い。
【０１４２】
非優先タブの例外サイズは、例えば、利用可能幅１７０４に基づいて決定されて良い。検索表示処理プログラム１１２は、利用可能幅１７０４を、下記の（式１）、
利用可能幅１７０４
＝（予め設定されている、タブを一度に表示することのできる全体幅）
−（１以上の優先タブの表示に必要な幅）…（式１）
で算出することができる。利用可能幅１７０４は、全ての検索処理待ちカテゴリのタブを表示する幅である。本実施形態では、利用可能幅１７０４が、検索処理待ちカテゴリの数で除算されることで、各検索処理待ちカテゴリのタブの横幅が決定されても良い。決定された横幅のタブにカテゴリ名の全体が表示できない場合には、カテゴリ名が一部省略されても良いし、カテゴリ名の省略名が表示されても良いし、カテゴリ名が縮小表示されても良い。また、複数の検索処理待ちカテゴリのそれぞれの横幅は、表示順が早いほど長くても良い。
【０１４３】
検索表示処理プログラム１１２は、検索処理待ちのカテゴリのタブ上に、カーソルＣＳが位置している場合（いわゆる、タブにマウスオーバされた場合）には、そのタブのカテゴリの名称全体をツールチップ１７０５として表示させる。これにより、ユーザは、例外サイズのタブのカテゴリ名を適切に把握することができる。
【０１４４】
第１の変形例によると、検索でヒットしたカテゴリのタブや、検索中のカテゴリについては、カテゴリの名称全体を適切に確認することができる。また、検索処理待ちのカテゴリのタブが表示されるので、検索処理の進捗状態を適切に把握することができる。また、カテゴリ名の全体が表示されていないタブであっても、マウスオーバすることにより、カテゴリ名称全体が表示されるので、タブに対応するカテゴリを適切に把握することができる。
【０１４５】
次に、実施形態の第２の変形例について説明する。
【０１４６】
第２の変形例は、タブの表示制御についての変形例である。
【０１４７】
図１８は、実施形態の第２の変形例に係る検索画面の第１状態を示す図である。図１９は、実施形態の第２の変形例に係る検索画面の第２状態を示す図である。図２０は、実施形態の第２の変形例に係る検索画面の第３状態を示す図である。
【０１４８】
第２の変形例においては、検索表示処理プログラム１１２は、検索表示処理を開始すると、図１８に示すように、検索画面４０に、検索対象の全てのカテゴリについてのタブの表示は行わず、検索中のカテゴリのタブ「Ｖｏｌｕｍｅ」を表示させる。そして、検索表示処理プログラム１１２は、このカテゴリに対する検索において、検索ヒットしなかった場合には、図１９に示すように、ヒットしなかったタブ「Ｖｏｌｕｍｅ」を消去し（例えばアニメーションで消去し）、次の検索対象のカテゴリのタブ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」を表示させ、当該カテゴリに対する検索を実行する。そして、検索処理でヒットした場合には、検索表示処理プログラム１１２は、図２０に示すように、検索ヒットタブ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」を活性状態とし、次の検索対象のカテゴリのタブ「Ｈｏｓｔ」を非活性状態として表示し、当該カテゴリに対する検索を実行する。
【０１４９】
第２の変形例によると、ヒットしたカテゴリのタブ及び検索中のカテゴリのタブのみを表示するようにしているので、タブが表示可能な限られた範囲を有効に利用することができる。
【０１５０】
次に、実施形態の第３の変形例について説明する。
【０１５１】
第３の変形例は、タブの表示制御についての変形例である。
【０１５２】
図１８は、実施形態の第３の変形例に係る検索画面の第１状態を示す図である。図２１は、実施形態の第３の変形例に係る検索画面の第２状態を示す図である。図２２は、実施形態の第３の変形例に係る検索画面の第３状態を示す図である。図２３は、実施形態の第３の変形例に係る検索画面の第４状態を示す図である。
【０１５３】
第３の変形例においては、検索表示処理プログラム１１２は、検索表示処理を開始すると、図１８に示すように、検索画面４０に、検索対象の全てのカテゴリについてのタブの表示は行わず、検索中のカテゴリのタブ「Ｖｏｌｕｍｅ」を表示させる。そして、検索表示処理プログラム１１２は、このカテゴリに対する検索において、ヒットしなかった場合には、図２１に示すように、ヒットしなかったタブ「Ｖｏｌｕｍｅ」を消去して、空き領域２１０１とし、次の検索対象のカテゴリのタブ「Ｓｔｏｒａｇｅ  Ｓｙｓｔｅｍ」を表示させ、当該カテゴリに対する検索を実行する。そして、検索処理でヒットした場合には、検索表示処理プログラム１１２は、図２２に示すように、タブ画面４３に検索結果を表示するとともに、次の検索対象のカテゴリのタブ「Ｈｏｓｔ」を非活性状態として表示させ、当該カテゴリに対する検索を実行する。そして、検索表示処理プログラム１１２は、このカテゴリについての検索処理において、検索ヒットしなかった場合には、図２３に示すように、非検索ヒットとなったタブ「Ｈｏｓｔ」を消去して、空き領域２１０５とし、次の検索対象のカテゴリのタブ「Ｐａｒｉｔｙ  Ｇｒｏｕｐ」を非活性状態で表示させ、当該カテゴリについての検索処理を実行する。
【０１５４】
第３の変形例によると、ヒットしたカテゴリのタブ及び検索中のカテゴリのタブのみを表示し、検索でヒットしていないカテゴリのタブの表示された領域を空き領域としているので、ヒットしていないカテゴリの存在をユーザが適切に把握することができる。なお、第３の変形例において、例えば、検索で最初にヒットしたカテゴリのタブを、タブの表示が可能な領域の左端に表示するようにしてもよい。
【０１５５】
以上、実施形態及び幾つかの変形例を説明したが、本発明は、これらの実施形態及び変形例に限定されるものでなく、その趣旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１５６】
例えば、上記実施形態では、検索がヒットしなかった場合に、対応するカテゴリのタブを非表示とするようにしていたが、タブが必ずしも非表示とならなくても良い。
【０１５７】
また、上記実施形態において、タブの非表示が開始されてからその非表示が終了するまでの時間（以下、アニメーション時間長）が、種々の状況に応じて変更されもよい。例えば、直前の検索では、検索がヒットしたカテゴリであったが、後続の検索では、検索がヒットしなかったカテゴリである場合において、当該カテゴリのタブのアニメーション時間長は、直前の検索処理でヒットしなかったカテゴリに対応するタブのアニメーション時間長よりも長くしてもよい。このようにすると、検索がヒットしなかったことを効果的にユーザに知覚させることができる。
【０１５８】
また、上記実施形態の図７のビュー画面１０００が、検索途中の検索画面（図６）と同じ状態の画面に戻るための画面部品（例えばボタン）を有してもよい。この場合には、その画面部品（ツール）が操作された場合に、図１２の検索復帰処理のステップＳ４４以降の処理を実行するようにすればよい。
【０１５９】
また、上記実施形態では、クライアント１０が、カテゴリに対する表示順を記憶するようにしていたが、例えば、サーバ２０がクライアント毎（又は、ユーザ毎）にカテゴリの表示順を表す情報（最終の表示順、表示履歴等）を記憶しておくようにし、その記憶している情報に基づいて、表示順を把握するようにしてもよい。
【０１６０】
また、タブに代えて、カテゴリを表す符号列又はマークを表示したオブジェクトが採用されても良い。この場合、複数のオブジェクトが、それら複数のオブジェクトにそれぞれ対応する表示順に従う順に、所定の規則（例えば、横、縦及び斜めのいずれかの方向に沿った列、或る点を始点とし右回り又は左回りの環状）で並べられて良い。
【０１６１】
また、「Ａｌｌ  Ｒｅｓｏｕｒｓｅ」について、検索表示処理プログラム１１２は、１つの検索要求に全てのカテゴリと検索範囲の順序とを指定しても良い。この場合、検索処理プログラム２２１は、指定された順序に従って検索範囲を切り替え、検索範囲とするカテゴリが切り替わる毎に、検索開始及び／又は検索終了とされたカテゴリを検索表示処理プログラム１１２に通知しても良い。検索表示処理プログラム１１２は、その通知を受けたときに、通知されたカテゴリが検索中となったこと、及び、その直前のカテゴリが検索終了となったことを知ることができる。
【０１６２】
また、クライアント１０は、いわゆる仮想マシン（例えば仮想デスクトップ）であっても良い。この場合、入出力デバイスは、仮想マシンとしてのクライアント１０と通信可能な遠隔の計算機が有しても良い。クライアント１０は、遠隔の計算機から検索条件の入力や検索実行の指示を受けたり、表示用情報（例えば検索結果）をその遠隔の計算機に送信したりしても良い。
【符号の説明】
【０１６３】
１０：クライアント、２０：ストレージ管理サーバ、３０：ストレージシステム。
【図１】
0005764716.tif 000002
【図２】
0005764716.tif 000003
【図３】
0005764716.tif 000004
【図４】
0005764716.tif 000005
【図５】
0005764716.tif 000006
【図６】
0005764716.tif 000007
【図７】
0005764716.tif 000008
【図８】
0005764716.tif 000009
【図９】
0005764716.tif 000010
【図１０】
0005764716.tif 000011
【図１１】
0005764716.tif 000012
【図１２】
0005764716.tif 000013
【図１３】
0005764716.tif 000014
【図１４】
0005764716.tif 000015
【図１５】
0005764716.tif 000016
【図１６】
0005764716.tif 000017
【図１７】
0005764716.tif 000018
【図１８】
0005764716.tif 000019
【図１９】
0005764716.tif 000020
【図２０】
0005764716.tif 000021
【図２１】
0005764716.tif 000022
【図２２】
0005764716.tif 000023
【図２３】
0005764716.tif 000024