(57)【要約】【課題】選択肢となるコマンドやパーツの数が多くなっても、操作者の負担を増加させることなく操作コマンドの入力を正確に行なえるようにする。【解決手段】本監視装置は、操作コマンドの入力により操作される操作対象装置１を監視する装置であって、状態監視部１６および補完候補選択部１８ａを有する。状態監視部１６は、操作対象装置１の状態を監視する。補完候補選択部１８ａは、状態監視部１６によって監視される操作対象装置１の状態に応じて、操作コマンドに含まれうる複数の補完候補の中から優先補完候補を選択し、当該優先補完候補に係る情報を出力する。【選択図】図１０
2016018315.tif 000002
【特許請求の範囲】
【請求項１】
操作コマンドの入力により操作される操作対象装置を監視する監視装置であって、
前記操作対象装置の状態を監視する状態監視部と、
前記操作コマンドの入力時に、前記状態監視部によって監視される前記操作対象装置の状態に応じて、前記操作コマンドに含まれるうる複数の補完候補の中から優先補完候補を選択し、当該優先補完候補に係る情報を出力する補完候補選択部と、を有する、監視装置。
【請求項２】
前記状態監視部は、前記操作対象装置に含まれるパーツの種別ごとに各種別の状態を監視し、
前記操作コマンドの操作種別の入力に続く操作対象パーツの種別の入力に先立って、前記補完候補選択部は、前記操作種別と前記各種別の状態とに応じて、前記操作種別に続いて入力可能な前記操作対象パーツの種別を、前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、請求項１に記載の監視装置。
【請求項３】
前記補完候補選択部は、前記操作種別と前記各種別の状態とに応じた前記優先補完候補を規定する補完規則に従って、前記優先補完候補を選択する、請求項２に記載の監視装置。
【請求項４】
前記状態監視部は、前記各種別の状態として、前記各種別のパーツの異常レベルに係る情報を監視し、
前記補完候補選択部は、前記異常レベルの高い前記パーツの種別ほど優先度の高い前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、請求項２または請求項３に記載の監視装置。
【請求項５】
前記状態監視部は、前記操作対象装置に含まれるパーツごとに各パーツの状態を監視し、
前記操作コマンドの操作種別およびパーツ種別の入力に続く、操作対象パーツを特定するパーツ情報の入力に先立って、前記補完候補選択部は、前記操作種別および前記パーツ種別と前記各パーツの状態とに応じて、前記操作種別および前記パーツ種別に続いて入力可能な前記操作対象パーツのパーツ情報を、前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、請求項１〜請求項４のいずれか一項に記載の監視装置。
【請求項６】
前記補完候補選択部は、前記操作種別および前記パーツ種別と前記各パーツの状態とに応じた前記優先補完候補を規定する補完規則に従って、前記優先補完候補を選択する、請求項５に記載の監視装置。
【請求項７】
操作コマンドの入力により操作される操作対象装置を監視するコンピュータに、
前記操作対象装置の状態を監視し、
前記操作コマンドの入力時に、監視される前記操作対象装置の状態に応じて、前記操作コマンドに含まれうる複数の補完候補の中から優先補完候補を選択し、当該優先補完候補に係る情報を出力する、処理を実行させる、監視プログラム。
【請求項８】
操作対象装置に対する操作コマンドの入力操作を支援する装置であって、
表示部と、
前記操作対象装置に対する前記操作コマンドの入力時に、当該操作コマンドに含まれうる複数の補完候補の中から、前記操作対象装置の状態に応じて選択された優先補完候補に係る情報に基づき、前記優先補完候補を、前記複数の補完候補のうちの前記優先補完候補以外の補完候補よりも優先的に前記表示部に表示するように、前記表示部の表示状態を制御する表示制御部と、を有する、入力操作支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置、監視プログラム、及び入力操作支援装置に関する。
【背景技術】
【０００２】
ストレージやネットワークスイッチ等のアプライアンス装置では、当該装置に対する設定操作や情報表示等の日々の運用で必要となる管理・設定作業のためのインターフェイスとして、ＧＵＩ (Graphical User Interface)あるいはＣＬＩ (Command Line Interface)が備えられる場合が多い。
【０００３】
ＧＵＩでは、文字だけでなく、アイコンなどのイメージが表示され、操作対象が視覚的に明確である。また、マウス等で比較的簡単に操作が行なわれる。このため、操作者が熟練者でなくても、ＧＵＩは極めて使用しやすい。しかし、多数の複雑な操作や連続操作が必要な場合には、ＧＵＩは、非常に使いづらい。
【０００４】
これに対し、ＣＬＩは、軽快な操作性を有し、ＧＵＩでは困難な複雑な操作の組み合わせや連続操作を行なうのには都合がよい。このため、日常的な運用管理・設定作業では、ＣＬＩが使用されることが多い。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−３５１６００号公報
【特許文献２】特開平７−２５３８６７号公報
【特許文献３】特開２０１１−６５６１７号公報
【特許文献４】特開２０００−３３７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＣＬＩの操作には、ある程度の慣れが必要であることに加え、視覚的な情報が少ないため、ＣＬＩでは、ＧＵＩと比較してオペレーションミス（オペミス）が発生しやすい。特に、アプライアンス装置では、類似した操作が多数用意されているのに加え、同種や類似のパーツが数百、数千といった単位で装置に搭載されている場合もある。
【０００７】
したがって、ＣＬＩにて当該装置の管理・設定作業を行なうには、多数の類似コマンドの中から必要なコマンドを適切に選択・入力し、さらに数千のパーツの中から目的のパーツを示すパーツ番号をＣＬＩコマンドの書式に従って正しく指定する必要がある。このような指定に際しては、選択肢となるコマンドやパーツの数が多くなればなるほど、操作者の負担が増加し、それに伴いオペミスも発生し易くなる。
【０００８】
一つの側面で、本発明は、選択肢となるコマンドやパーツの数が多くなっても、操作者の負担を増加させることなく操作コマンドの入力を正確に行なえるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本件の監視装置は、操作コマンドの入力により操作される操作対象装置を監視する監視装置であって、状態監視部および補完候補選択部を有する。前記状態監視部は、前記操作対象装置の状態を監視する。前記補完候補選択部は、前記操作コマンドの入力時に、前記状態監視部によって監視される前記操作対象装置の状態に応じて、前記操作コマンドに含まれるうる複数の補完候補の中から優先補完候補を選択し、当該優先補完候補に係る情報を出力する。
【発明の効果】
【００１０】
選択肢となるコマンドやパーツの数が多くなっても、操作者の負担を増加させることなく操作コマンドの入力を正確に行なうことができる。
【図面の簡単な説明】
【００１１】
【図１】ＣＬＩの補完機能を具体的に説明する図である。
【図２】ＣＬＩの補完機能を具体的に説明する図である。
【図３】ＣＬＩの補完機能を具体的に説明する図である。
【図４】ＣＬＩの補完機能を具体的に説明する図である。
【図５】本実施形態におけるＣＬＩの補完機能（補完候補の表示例）を具体的に説明する図である。
【図６】本実施形態におけるＣＬＩの補完機能（補完候補の表示例）を具体的に説明する図である。
【図７】本実施形態におけるＣＬＩの補完機能（補完候補の表示例）を具体的に説明する図である。
【図８】本実施形態の監視装置および入力操作支援装置を適用されるストレージ装置（アプライアンス装置）のハードウェア構成を示すブロック図である。
【図９】図８に示すストレージ装置の機能構成を示すブロック図である。
【図１０】図８に示すストレージ装置の要部構成（本実施形態の監視装置および入力操作支援装置の構成）を示すブロック図である。
【図１１】本実施形態の状態情報管理テーブルの例（ディスクの状態情報）を示す図である。
【図１２】本実施形態の状態情報管理テーブルの例（ストレージプールの状態情報）を示す図である。
【図１３】本実施形態の状態情報管理テーブルの例（パーツ種別の状態情報）を示す図である。
【図１４】本実施形態の補完ルール（補完規則）の例を示す図である。
【図１５】本実施形態の監視装置の動作（状態監視処理）を説明するフローチャートである。
【図１６】本実施形態の監視装置および入力操作支援装置の動作（補完処理）を説明するフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、図面を参照し、本願の開示する監視装置、監視プログラムおよび入力操作支援装置の実施形態について、詳細に説明する。ただし、以下に示す実施形態は、あくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能を含むことができる。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００１３】
〔１〕一般的なＣＬＩ補完機能と本実施形態のＣＬＩ補完機能との対比説明
まず、図１〜図４を参照しながら一般的なＣＬＩ補完機能について説明する。なお、図１〜図４は、一般的なＣＬＩの補完機能を具体的に説明する図である。
【００１４】
ＣＬＩにおいては、効率的な入力操作を実現するための技術として補完機能が広く実装されている。補完機能では、操作者は、コマンドライン上で特定のキー（例えばTABキー）を押下することで、コマンド入力時のコマンド名やファイル名の入力を省略することができ、コマンド入力を容易に実行することができる。例えばコマンド“set link-aggregation”というコマンドを入力する際、操作者が、図１に示すように、“set link-a”まで入力してからTABキーを押下すると（１行目参照）、“ggregation”が自動補完（autocomplete）され（２行目参照）、入力作業を効率的に行なうことができる。なお、図中、“[TAB]”は、TABキーの押下操作を示す。
【００１５】
また、補完機能としては、TABキーの押下操作時点で複数の補完候補が存在する場合に当該複数の補完候補を画面上に表示し、操作者に次の文字入力を促す機能も有している。例えば図２に示すように、操作者は、“set lin”まで入力してからTABキーを押下すると（１行目参照）、３つの補完候補“link-aggrega”，“link-speed”，“link-status”が表示される（２行目参照）。補完候補を参照した操作者が“set lin”の後に続けて“k-a[TAB]”を入力すると（３行目参照）、図１の例と同様、“ggregation”が自動補完される（４行目参照）。
【００１６】
上述のように、補完機能では、ユーザがアクセス可能な名前（コマンド名，パーツ種別名，パーツ名等）を保持しておくことで、コマンド等の自動補完が行なわれる。その際、複数の補完候補が存在する場合、複数の補完候補（入力候補）をアルファベット順に表示補完する手法（図２や図４参照）が用いられる。当該手法以外に、予め設定されたコマンドの関連性情報に基づき表示補完を行なう手法や、コマンドの使用履歴に基づき表示補完を行なう手法なども存在する。これらの手法は、ＣＬＩ機能を用いた入力操作を容易化するための補助として有効であるが、上述したオペミスを防止するために有効な手法であるとは言い難い。
【００１７】
例えば、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置において、不良ディスクを当該ＲＡＩＤ装置から切り離す作業をＣＬＩによって実施する場合、操作者は、以下のような入力操作を行なう。例えば図３に示すように、操作者は、コマンドライン上にコマンド“remove disks”を入力した後に、当該ＲＡＩＤ装置から切り離すべきディスクのパーツ番号（ディスク番号；図３では101, 102）をパラメータとして指定入力する必要がある。
【００１８】
このとき、万一、操作者がディスクのパーツ番号の指定を誤り“100, 102”を指定入力した場合、本来、切り離すべきではないパーツ番号100のディスクを切り離してしまうことになり、重大なシステム障害を招くおそれがある。また、本来実行すべきコマンド“remove disks”ではないコマンド“remove disk-enclosures”を誤って指定入力して実行した場合も、重大な障害を招くことになる。したがって、上述のようなオペミスの発生を確実に抑止し、選択肢となるコマンドやパーツの数が多くなっても、操作者の負担を増加させることなく操作コマンドの入力を正確に行なえるようにすることが望まれている。
【００１９】
そこで、本実施形態では、図１〜図４を参照しながら上述した一般的なＣＬＩ補完機能を拡張してオペミス等の発生を抑止すべく、アプライアンス装置等の操作対象装置を管理する上で重要な要素である「操作対象装置の状態情報」が用いられる。つまり、操作コマンドの補完候補が、当該操作コマンドを実行する時点でのリアルタイムの状態情報を用いて動的に選択され表示部（図８，図１０の符号３ｂ参照）に表示される。これにより、各時点で操作者によって使用される可能性の高い候補をリアルタイムで判断して表示補完することができる。したがって、操作者は、より少ない操作量でＣＬＩ機能を用いることが可能になるとともに、指定すべき適切な補完候補（優先補完候補）が優先的に表示補完され、オペミスの発生を確実に抑止することができる。
【００２０】
ＣＬＩ機能による操作対象装置がアプライアンス製品である場合、当該装置の各種状態によって使用されるＣＬＩコマンド（操作コマンド）の頻度は大きく異なってくる。例えば、当該装置の特定パーツでエラーが発生している場合、当該特定パーツのエラーの詳細を表示するためのコマンドや、エラーの復旧に必要となるコマンドの使用頻度が必然的に高くなる。また、同種のパーツが多数搭載されている場合、エラーの生じたパーツを指定するコマンドの実行頻度も同様に高くなる。本実施形態では、操作対象装置の状態が監視され、操作対象装置の状態に応じて、操作コマンドの補完候補が動的に変更されて表示部に表示される。これにより、本実施形態では、補完処理実行時の装置の各種状態情報に基づき、使用される頻度の高いコマンドやパラメータ（パーツ種別，パーツ番号等）が優先的に表示され補完される。
【００２１】
以下に、操作対象装置の状態情報を使用した補完機能について、図４〜図７を参照しながら具体的に説明する。なお、図４は一般的なＣＬＩの補完機能を具体的に説明する図であり、図５〜図７は、本実施形態におけるＣＬＩの補完機能（補完候補の表示例）を具体的に説明する図である。
【００２２】
〔１−１〕“replace”コマンド（交換コマンド）
ここでは、まず、本実施形態のＣＬＩ補完機能をストレージ装置（操作対象装置）に適用した場合であって、ストレージ装置のパーツを交換する“replace”コマンドを入力する場合の補完機能について、図４〜図６を参照しながら説明する。
【００２３】
“replace”コマンドは、操作対象装置に搭載されたパーツを指定し、交換処理を開始するためのコマンドであり、“replace”コマンドの書式は、“replace パーツ種別 パーツ番号,パーツ番号,…”である。そのため、操作者によって指定されるパーツ種別やパーツ番号は、何らかの問題（エラー，故障等）の発生しているパーツに係るものである場合がほとんどである。
【００２４】
通常のＣＬＩ補完機能では、操作者が“replace”を入力した時点で補完キーであるTABキーを押下すると、図４に示すように、現在、操作対象装置に搭載されているパーツ種別（パーツ種別名）がアルファベット順に表示されるだけである（図４の２〜５行目参照）。このとき、操作対象装置に搭載されていないパーツ種別は表示されない。操作者は、図４の２〜５行目に表示されたパーツ種別の中から、交換対象のパーツ種別を選択し、選択したパーツ種別を、図４の６行目の“replace”の後に入力する。
【００２５】
これに対し、本実施形態の補完機能を適用される操作対象装置において“fatal”状態の２本の故障ディスクと“warning”状態のupsとが存在する場合に、図４の例と同様の入力操作を行なうと、本実施形態では、図５に示すような表示が行なわれる。なお、“fatal”状態の２本の故障ディスクのディスク番号（パーツ番号；パーツを特定するパーツ情報）は103, 307とする。また、upsはuninterruptible power supply（無停電電源装置）の略記である。
【００２６】
ここで、本実施形態において、各パーツの状態もしくは各パーツ種別の状態は、例えば、各パーツまたは各パーツ種別で生じている異常状態のレベル（異常レベル）に係る情報であるとする。各パーツまたは各パーツ種別の状態としては、例えば“fatal”, “error”, “warning”, “normal”の４段階のレベルが監視され、後述する状態情報管理テーブル２１（図１０，図１１，図１３参照）に設定される。“fatal”は、最も異常レベルの高い状態で、パーツ交換が必要な致命的な故障状態である。“error”は、２番目に異常レベルの高い状態で、交換することなく対応可能なエラーが発生している状態である。“warning”は、３番目に異常レベルの高い状態で、エラーの発生する可能性の高い状態であることを注意喚起する警告状態である。“normal”は、何ら問題の無い正常な状態である。
【００２７】
本実施形態のＣＬＩ補完機能では、図５に示すように、操作者が“replace”（操作種別）を入力した時点で補完キーであるTABキーを押下する（１行目参照）。これに伴い、“fatal”状態のパーツ種別“disks”と“warning”状態のパーツ種別“ups”とが、優先補完候補として複数のパーツ種別（補完候補；図４の２〜５行目参照）の中から自動的に選択され、優先的に表示される（２行目参照）。また、同時に、パーツ種別“disks”の優先表示の要因となった、当該パーツ種別“disks”の状態も、“(fatal)”として表示される（２行目参照）。同様に、パーツ種別“ups”の優先表示の要因となった、当該パーツ種別“ups”の状態も、“(warning)”として表示される（２行目参照）。“normal”状態のパーツ種別については、パーツ種別の優先表示に続いて、図４の例と同様、アルファベット順に表示される（３〜６行目参照）。
【００２８】
なお、優先表示の手法として、図５の例では、異常レベルの高い順にパーツ種別（パーツ種別名）を表示する手法を採用している。当該手法以外に、異常レベルに応じてパーツ種別の表示色や表示サイズや表示輝度などを変更して強調表示する手法を採用してもよい。また、同じ異常レベルのパーツ種別が複数存在する場合、これらのパーツ種別はアルファベット順で表示されてもよい。
【００２９】
図５に示す表示を参照した操作者が、図６に示すように、“replace”の後に、“fatal”状態のパーツ種別である“disks”を入力して補完操作つまりTABキーの押下操作を行なったとする（１行目参照）。この場合、本実施形態のＣＬＩ補完機能では、故障しているディスク（“fatal”状態のディスク）のパーツ番号103, 307が、優先補完候補として複数のパーツ番号（補完候補）の中から自動的に選択され、優先的に表示される（２行目参照）。また、同時に、パーツ番号103, 307の優先表示の要因となった、当該パーツ番号103, 307の状態も、“(fatal)”として表示される（２行目参照）。“normal”状態のディスクのパーツ番号については、パーツ番号の優先表示に続いて、昇順に表示される（３〜６行目参照）。操作者は、図６の２行目に優先表示されたパーツ番号の中から、“fatal”状態のディスクを確実に認識し、認識したディスクのパーツ番号103, 307を、図６の７行目の“replace disks”の後に正しく入力することができる。
【００３０】
なお、優先表示の手法として、図６の例では、異常レベルの高い順にパーツ番号（ディスク番号，パーツ情報）を表示する手法を採用している。当該手法以外に、異常レベルに応じてパーツ番号の表示色や表示サイズや表示輝度などを変更して強調表示する手法を採用してもよい。また、同じ異常レベルのパーツ番号が複数存在する場合、これらのパーツ番号は昇順（あるいはアルファベット順）で表示されてもよい。
【００３１】
〔１−２〕“expand pool”コマンド（拡張コマンド）
次に、本実施形態のＣＬＩ補完機能をストレージ装置に適用した場合であって、ストレージ装置のストレージプールを拡張する“expand pool”コマンドを入力する場合の補完機能について、図７を参照しながら説明する。
【００３２】
“expand pool”コマンドは、ストレージ装置に搭載されたストレージプールを指定し、指定したストレージプールを拡張し、当該ストレージプールの容量不足を解消するためのコマンドである。そのため、操作者によって指定されるストレージプールは、容量不足の発生する可能性の高いプール、つまり使用率の高い（使用量の多い）プールである場合が多い。ここでは図示しないが、通常のＣＬＩ補完機能では、操作者が“expand pool”を入力した時点でTABキーを押下すると、現在、操作対象装置に搭載されているストレージプールのプール番号（パーツ番号；例えばpool#1, pool#2, …）が昇順に表示されるだけである。
【００３３】
これに対し、本実施形態の補完機能を適用される操作対象装置においては、各ストレージプールの使用量または使用率（各パーツに係る数値情報）が、各パーツの状態として監視され、後述する状態情報管理テーブル２１（図１０，図１２参照）に設定される。ここでは、プール番号pool#1, pool#2, pool#3, pool#4のプールの使用率が、それぞれ３６％，１６％，８６％，２％とする。
【００３４】
そして、本実施形態のＣＬＩ補完機能では、図７に示すように、操作者が“expand pool”（操作種別）を入力した時点で補完キーであるTABキーを押下する（１行目参照）。これに伴い、操作対象装置に搭載された全てのストレージプールのプール番号（パーツ情報；補完候補）が、優先補完候補として選択され、使用率の高い順（降順）に優先的に表示される（２行目参照）。また、同時に、各ストレージプールの状態である使用率（使用量）も表示される（２行目参照）。操作者は、図７の２行目に優先表示されたプール番号の中から、使用率の高いストレージプールのプール番号を確実に認識し、認識したプール番号を、図７の３行目の“expand pool”の後に正しく入力することができる。
【００３５】
なお、優先表示の手法として、図７の例では、使用率の高い順にプール番号を表示する手法を採用している。当該手法以外に、使用率に応じてプール番号の表示色や表示サイズや表示輝度などを変更して強調表示する手法を採用してもよい。また、同じ使用率のプール番号が複数存在する場合、これらのプール番号は昇順で表示されてもよい。
【００３６】
上述のように、本実施形態のＣＬＩ補完機能を用い、操作対象装置の状態に応じて補完候補（特に優先補完候補）の表示を動的に変更可能にすることで、アプライアンスを管理する上での操作者によるオペミスの発生を確実に抑止することができる。したがって、選択肢となるコマンドやパーツの数が多くなっても、操作者の負担を増加させることなく操作コマンドの入力を正確に行なうことが可能になる。
【００３７】
〔２〕本実施形態のストレージ装置のハードウェア構成
まず、図８を参照しながら、本実施形態の監視装置および入力操作支援装置を適用されるストレージ装置１のハードウェア構成について説明する。図８は、ストレージ装置１のハードウェア構成を示すブロック図である。ストレージ装置１は、本実施形態の入力操作支援装置のＣＬＩ補完機能を用いて操作コマンドを入力され、当該操作コマンドによって操作される操作対象装置としてのアプライアンス装置である。
【００３８】
図８に示すストレージ装置１は、１以上（本実施形態では２）のホストコンピュータ２と通信可能に接続されている。ホストコンピュータ２は、例えば、サーバ機能をそなえた情報処理装置であり、ストレージ装置１との間においてコマンドを送受信する。ホストコンピュータ２は、例えば、ストレージ装置１に対してリード／ライトコマンド等の入出力要求（Ｉ／Ｏ要求）を送信することにより、ストレージ装置１が提供するボリュームに対するデータの書き込みや、当該ボリュームからのデータの読み出しを行なう。
【００３９】
ストレージ装置１は、ホストコンピュータ２からボリュームに対する入出力要求に応じ、当該ボリュームに対応する実ストレージに対してデータの読み出しや書き込み等の処理を行なう。また、ストレージ装置１は、複数（本実施形態では２）のＣＭ（Controller Module）１ａと、複数のディスク（物理ディスク）１ｂと、これらのＣＭ１ａとディスク１ｂとの間を通信可能に接続するＢＥＲ（Back End Router）１ｃとを有する。さらに、ストレージ装置１には、データバックアップ用のＢＵＤ（BackUp Disk）１ｄのほか、電源供給を行なうためのＰＳＵ（Power Supply Unit）１ｅやＢＴＵ（Battery Unit）１ｆなどもそなえられている。
【００４０】
ディスク１ｂとしては、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等の記憶装置が用いられ、複数の記憶装置を用いてＲＡＩＤを構成することができる。各ディスク１ｂは、ＢＥＲ１ｃを介して、各ＣＭ１ａにおける複数（図中２つ）のデバイスアダプタ（ＤＡ）４０に接続されている。各ディスク１ｂには、各ＣＭ１ａからアクセスして、データの書き込みや読み出しを行なうことができる。すなわち、各ディスク１ｂに対して、各ＣＭ１ａを接続することにより、各ディスク１ｂへのアクセス経路が冗長化される。
【００４１】
各ＣＭ１ａは、ストレージ装置１内の動作を制御するコントローラ（ストレージ制御装置）であり、ホストコンピュータ装置２から送信される入出力要求に従って、ディスク１ｂへのアクセス制御等、各種制御を行なう。各ＣＭ１ａは、互いにほぼ同様の構成を有している。各ＣＭ１ａは二重化されており、通常は、一方のＣＭ１ａがプライマリとして各種制御を行なう。しかし、このプライマリＣＭ１ａの故障時には、セカンダリのＣＭ１ａがプライマリとして動作を引き継ぐ。
【００４２】
各ＣＭ１ａは、チャネルアダプタ（ＣＡ）３０を介してホストコンピュータ２に接続される。そして、各ＣＭ１ａは、ホストコンピュータ２から送信されるリード／ライト等のコマンドを受信し、後述するＩＯ（Input Output）制御部１２（図９参照）の機能によって、ＤＡ４０およびＢＥＲ１ｃを介してディスク１ｂの制御を行なう。また、各ＣＭ１ａは、ＰＣＩ (Peripheral Component Interconnect) Express 等の図示しないインタフェースを介して相互に接続されている。
【００４３】
各ＣＭ１ａは、図８に示すように、上述したＣＡ３０やＤＡ４０をそなえるとともに、ＣＰＵ（Central Processing Unit）１０およびメモリ２０を有する。
メモリ（記憶部）２０は、種々のデータやプログラムを一時的に格納する、ＲＡＭ（Random Access Memory）等の記憶装置であり、図示しないメモリ領域とキャッシュ領域とを有している。キャッシュ領域には、ホストコンピュータ２から受信したデータ（入力データ）や、ホストコンピュータ２に対して送信するデータ（出力データ）が一時的に格納される。メモリ領域には、ＣＰＵ１０が実行するプログラム（監視プログラムを含む）や、当該プログラムの実行に必要な各種データが一時的に格納・展開される。また、メモリ領域には、当該プログラムの実行に必要な各種データとして、図１０〜図１３を参照しながら後述する状態情報管理テーブル２１や、図１０および図１４を参照しながら後述する補完ルール２２が格納される。さらに、メモリ領域には、ストレージ装置１に対する操作コマンドに含まれる可能性のある複数の補完候補（例えば図５〜図７を参照しながら前述したパーツ種別，パーツ番号，プール番号等）や、当該複数の補完候補に関する情報が格納される。
【００４４】
また、ストレージ装置１には、本実施形態の入力操作支援装置として機能する外部コンソール３が接続されている。外部コンソール３は、ストレージ装置１と、シリアルケーブルを介して相互に通信可能に接続されてもよいし、ＬＡＮ（Local Area Network）等のネットワークを介して相互に通信可能に接続されてもよい。外部コンソール３は、ストレージ装置１に対する操作コマンドを入力する際に操作者によって用いられる入出力装置である。外部コンソール３には、ＣＬＩ機能やＧＵＩ機能を実現すべく、キーボード，マウス等の入力部３ａと、液晶ディスプレイ，ＣＲＴ（Cathode Ray Tube）等の表示部３ｂと、当該表示部３ｂの表示状態を制御する表示制御部３ｃとが含まれる。入力部３ａは、表示部３ｂを参照した操作者によって操作され、ストレージ装置１に対する操作コマンドを含む各種指示を入力する。
【００４５】
〔３〕本実施形態のストレージ装置の機能構成
次に、図９を参照しながら、図８に示すストレージ装置１の機能構成について説明する。図９は、図８に示すストレージ装置１の機能構成を示すブロック図である。なお、図９では、図８における複数のＣＭ１ａのうちの一方のみにおける構成が図示されている。
【００４６】
ストレージ装置１のＣＰＵ１０およびメモリ２０上では複数のプログラムが動作しており、当該複数のプログラムにより各種機能が実現される。図８に示すストレージ装置１は、例えば図９に示すような各種機能を有している。ストレージ装置１は、ストレージ装置１のＣＰＵ１０およびメモリ２０上で各種機能（符号１１〜１９参照）を果たすプログラムを含むファームウェア１Ａと、ストレージ装置１に搭載される各種ハードウェア１Ｂとを有する。ハードウェア１Ｂには、後述する状態監視部１６によって状態を監視される各種パーツが含まれる。
【００４７】
ファームウェア１Ａには、ＯＳ（Operating System）の基本機能を提供するカーネル１１が含まれる。そして、ファームウェア１Ａには、カーネル１１上で動作する、ＩＯ制御部１２，ＣＡドライバ１３，ＤＡドライバ１４，ネットワークドライバ１５，状態監視部１６，構成制御部１７，ＣＬＩ制御部１８，ＧＵＩ制御部１９が含まれる。
【００４８】
ここで、ＩＯ制御部１２は、ホストコンピュータ２からの入出力要求（ＩＯ）を処理する機能を果たす。
【００４９】
ＣＡドライバ１３は、ＣＡ３０のハードウェアを制御する機能を果たす。ＤＡドライバ１４は、ＤＡ４０のハードウェアを制御する機能を果たす。
【００５０】
ネットワークドライバ１５は、ネットワーク通信を行なうためのハードウェアを制御する。ネットワークドライバ１５は、例えば、本実施形態の入力操作支援装置として機能する外部コンソール３に接続される。
【００５１】
状態監視部１６は、ストレージ装置１のハードウェア（各種パーツ）１Ｂの状態を監視し、各種情報を収集する機能を果たす。状態監視部１６は、図１０を参照しながら後述するごとく、本実施形態の監視装置の一部として機能する。なお、状態監視部１６によって監視され収集されたハードウェア１Ｂの状態情報は、図１０〜図１３を参照しながら後述する状態情報管理テーブル２１に設定保存される。
【００５２】
構成制御部１７は、ストレージ装置１の各種構成（例えばＲＡＩＤグループやプールボリューム等）を管理する機能を果たす。
【００５３】
ＣＬＩ制御部１８は、ＣＬＩを実現する機能を果たすもので、図１０を参照しながら後述する補完処理部１８ａを含む。補完処理部１８ａは、図１０を参照しながら後述するごとく、本実施形態の入力操作支援装置の一部として機能し、メモリ２０に保存される状態情報管理テーブル２１（図１１〜図１３参照）および補完ルール２２（図１４参照）に従って動作する。つまり、ＣＬＩ制御部１８は、ストレージ装置１外部の外部コンソール３からネットワークドライバ１５経由で操作され、状態監視部１６によって収集されたハードウェア１Ｂの状態情報を参照することで、本実施形態の入力操作支援装置として機能する。
【００５４】
ＧＵＩ制御部１９は、ストレージ装置１外部の外部コンソール３からネットワークドライバ１５経由で操作され、一般的なＧＵＩを実現する機能を果たす。
【００５５】
〔４〕本実施形態の入力操作支援システム（監視装置および入力操作支援装置）の構成および機能
次に、図１０を参照しながら、図８に示すストレージ装置１に組み込まれる、本実施形態の入力操作支援装置の詳細な機能構成について説明する。図１０は、図８に示すストレージ装置１の要部構成（本実施形態の監視装置および入力操作支援装置の構成）を示すブロック図である。なお、図１０では、図８における複数のＣＭ１ａのうちの一方のみにおける構成が図示されている。
【００５６】
本実施形態の入力操作支援システムは、ストレージ装置１に対する操作コマンドの入力操作を支援するもので、後述する監視装置および入力操作支援装置を有する。
【００５７】
監視装置は、上述した外部コンソール３から操作コマンドを入力されて操作されるストレージ装置１を監視するもので、図１０に示すように、上述した外部コンソール３からの指示を受けて動作する。また、本実施形態の監視装置は、図１０に示すように、状態監視部１６と、ＣＬＩ制御部１８の補完処理部１８ａとを含むとともに、メモリ２０上の状態情報管理テーブル２１（２１ａ，２１ｂ，２１ｃ）および補完ルール（補完規則）２２を含む。
【００５８】
さらに、本実施形態の入力操作支援装置は、図８および図１０に示すように入力部３ａ，表示部３ｂおよび表示制御部３ｃを有する外部コンソール３によって構成される。操作者は、外部コンソール３の入力部３ａを操作することによってストレージ装置１に対する操作コマンドを入力する。また、ストレージ装置１に対する操作コマンドの入力時、外部コンソール３の表示部３ｂの表示状態は、ストレージ装置１側の補完処理部１８ａから出力される優先補完候補に係る情報に基づき、表示制御部３ｃによって制御される。このとき、表示制御部３ｃは、図５〜図７を参照しながら前述したように、優先補完候補を、複数の補完候補のうちの優先補完候補以外の補完候補よりも優先的に表示部３ｂに表示するように、優先補完候補に係る情報に基づき、表示部３ｂの表示状態を制御する。
【００５９】
本実施形態におけるＣＰＵ１０（図８参照）は、種々の制御や演算を行なう処理装置であり、メモリ２０のメモリ領域に展開された所定のアプリケーションプログラム（監視プログラム）を実行する。これにより、ＣＰＵ１０は、状態監視部１６および補完処理部１８ａとしての機能、つまり本実施形態の監視装置としての機能を果たす。
【００６０】
前記所定のアプリケーションプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど），ブルーレイディスク等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、ＣＰＵ１０は、当該記録媒体から前記所定のアプリケーションプログラムを読み取って内部記憶装置または外部記憶装置としてのメモリ２０（メモリ領域）に転送し格納して用いる。
【００６１】
なお、以下の説明において、「操作コマンド」は、ストレージ装置１に対し指示可能な状態のコマンド、つまりＣＬＩ補完機能によって補完されたコマンドのことをいう。図５および図６で説明した例でいえば“replace disks 103, 307”が操作コマンドであり、図７で説明した例でいえば“expand pool pool#3”が操作コマンドである。
【００６２】
また、以下の説明において、「操作種別」は、操作コマンドの種別を示す記述のことをいう。例えば操作コマンド“replace disks 103, 307”では“replace”が操作種別であり、例えば操作コマンド“expand pool pool#3”では“expand pool”が操作種別である。
【００６３】
さらに、以下の説明において、「パーツ種別」は、操作コマンドを適用されるパーツの種別を特定する種別名を示す記述のことをいう。例えば操作コマンド“replace disks 103, 307”では“disks”がパーツ種別であり、操作コマンド“expand pool pool#3”にはパーツ種別は含まれていない。
【００６４】
また、以下の説明において、「パーツ情報」は、操作コマンドを適用されるパーツを特定するパーツ名あるいはパーツ番号を示す記述のことをいう。例えば操作コマンド“replace disks 103, 307”では“103, 307”がパーツ情報であり、操作コマンド“expand pool pool#3”では“pool#3”がパーツ情報である。
【００６５】
さて、ストレージ装置１に搭載される各種パーツ（ハードウェア）１Ｂは、状態を有している。本実施形態の監視装置における状態監視部１６は、各種パーツ１Ｂの状態を監視し、当該状態の監視結果をメモリ２０上の状態情報管理テーブル２１に設定保存する。状態監視部１６は、状態の変化を検出した場合、当該変化の発生した状態をもつパーツ（あるいはパーツ種別）について、状態情報管理テーブル２１の状態を即時に変更する。
【００６６】
ここで、状態情報管理テーブル２１としては、パーツ種別ごとに、各パーツの状態を保存する、図１１や図１２に示すようなテーブル２１ａや２１ｂが用意される。また、各パーツ種別の状態を保存する、図１３に示すようなテーブル２１ｃが用意されてもよい。
【００６７】
図１１は、パーツ種別「ディスク(disk)」についての状態情報管理テーブル２１ａの例（ディスクの状態情報）を示す図である。図１１に示す状態情報管理テーブル２１ａでは、各ディスクを特定するユニークなパーツ情報である「ディスク番号（パーツ番号）」と、当該ディスク番号のディスクの「状態」とが対応付けられて保存されている。図１１に示すテーブル２１ａに保存される各パーツの状態は、前述したように、各パーツで生じている異常状態のレベル（異常レベル）に係る情報であり、例えば“fatal”, “error”, “warning”, “normal”の４段階のレベル情報である。図１１に示すテーブル２１ａでは、ディスク番号000の状態として“normal”が、ディスク番号001の状態として“fatal”が、ディスク番号002の状態として“not exist”が、ディスク番号003の状態として“normal”が保存されている。なお、状態“not exist”は、対応するディスク番号のディスクが未実装であることを示す。
【００６８】
図１２は、パーツ種別「ストレージプール」についての状態情報管理テーブル２１ｂの例（ストレージプールの状態情報）を示す図である。図１２に示す状態情報管理テーブル２１ｂでは、各ストレージプールを特定するユニークなパーツ情報である「プール番号（パーツ番号）」と、当該プール番号のプールの状態である「プール使用率」とが対応付けられて保存されている。図１２に示すテーブル２１ｂに保存される各パーツの状態は、各ストレージプールに係るプール使用率（数値情報）である。図１２に示すテーブル２１ｂでは、プール番号001のプール使用率として“３６％”が、プール番号002のプール使用率として“１６％”が、プール番号003のプール使用率として“８６％”が、プール番号004のプール使用率として“２％”が保存されている。
【００６９】
図１３は、各パーツ種別の状態情報を管理する状態情報管理テーブル２１ｃの例を示す図である。図１３に示す状態情報管理テーブル２１ｂでは、各パーツ種別を特定するユニークな「パーツ種別」（パーツ種別名）と、当該パーツ種別名の「状態」とが対応付けられて保存されている。図１３に示すテーブル２１ｃに保存される各パーツ種別の状態は、前述したように、各パーツ種別で生じている異常状態のレベル、特に最も高い異常レベルに係る情報であり、例えば“fatal”, “error”, “warning”, “normal”の４段階のレベル情報である。図１３に示すテーブル２１ｃでは、パーツ種別“adapter”の状態として“normal”が、パーツ種別“disks”の状態として“fatal”が、パーツ種別“ups”の状態として“warning”が保存されている。このとき、例えば、パーツ種別“disks”の状態としては、図１１に示すようなパーツ種別「ディスク」についてのテーブル２１ａに保存されている「状態」のうち、最も高い異常レベルである“fatal”が抽出されテーブル２１ｃに保存される。
【００７０】
一方、ＣＬＩ制御部１８は、外部コンソール３からの接続要求を受け付け、外部コンソール３から入力されるＣＬＩコマンドを解析し、解析結果に応じて適宜処理を実行する。
【００７１】
そして、本実施形態の監視装置を構成する補完処理部１８ａは、ＣＬＩ制御部１８において、補完操作（例えばTABキーの押下操作）の実行を検知した場合にＣＬＩ補完処理を行なう。特に、補完処理部１８ａは、状態監視部１６によって監視されるストレージ装置１の状態、即ち状態情報管理テーブル２１における状態情報に応じて、優先補完候補を選択する補完候補選択部としての機能を果たす。つまり、補完処理部１８ａは、操作コマンドの入力時に、上記状態情報に応じて、当該操作コマンドに含まれうる複数の補完候補の中から優先補完候補を選択する。そして、補完処理部１８ａは、選択した当該優先補完候補に係る情報を外部コンソール３に対し出力する。より具体的に、補完処理部１８ａは、補完操作（例えばTABキーの押下操作）直前に入力された文字列に続く可能性のある複数の補完候補の中から、上記状態情報に応じた優先補完候補を選択する。なお、上記文字列に対応する上記複数の補完候補はメモリ２０に予め保存されており、補完処理部１８ａは、上記文字列をキーにメモリ２０を検索することで、上記文字列に対応する上記複数の補完候補を取得することができる。また、外部コンソール３に出力される当該優先補完候補に係る情報は、当該優先補完候補についての状態（上記状態情報）を含んでいる。さらに、補完処理部１８ａは、当該優先補完候補の属する複数の補完候補に係る情報や、後述する優先度に係る情報を、外部コンソール３に出力する。
【００７２】
補完処理部１８ａからの出力を受けた外部コンソール３では、上述したように、優先補完候補が、複数の補完候補のうちの優先補完候補以外の補完候補よりも優先的に表示部３ｂに表示される。これにより、上記状態情報に応じて、操作コマンドの優先補完候補が動的に変更されて外部コンソール３の表示部３ｂに表示される。
【００７３】
より具体的に、補完処理部１８ａおよび表示制御部３ｃは、少なくとも下記項目(a1)〜(a4)の機能を果たす。
【００７４】
(a1) 補完処理部１８ａは、操作コマンドの操作種別（例えば“replace”）に続いて操作対象パーツの種別（例えば“disks”）を入力するのに先立って補完操作を受けると、以下のように機能する。つまり、補完処理部１８ａは、操作種別と各種別の状態とに応じ、前記操作種別に続いて入力可能な操作対象パーツの種別を、優先補完候補として選択し、外部コンソール３に出力する。そして、外部コンソール３の表示制御部３ｃは、外部コンソール３からの優先補完候補を表示部３ｂに優先的に表示させる（図５参照）。このとき、補完処理部１８ａは、例えば図１３に示すようなテーブル２１ｃと、操作種別と各種別の状態とに応じた優先補完候補を規定する補完ルール２２とを参照し、当該補完ルール２２に従って優先補完候補を選択する。当該補完ルール２２については、図１４を参照しながら後述する。このとき、補完処理部１８ａは、異常レベルの高いパーツの種別ほど優先度の高い優先補完候補として選択する。補完処理部１８ａは、選択した優先補完候補および優先度に係る情報を外部コンソール３へ出力する。当該情報を受信した外部コンソール３では、表示制御部３ｃによって、異常レベルの高いパーツの種別ほど優先的に表示部３ｂに表示される（図５参照）。
【００７５】
(a2) 補完処理部１８ａは、操作コマンドの操作種別（例えば“replace”）およびパーツ種別（例えば“disks”）に続いて、操作対象パーツを特定するパーツ情報（例えばディスク番号）を入力するのに先立って補完操作を受けると、以下のように機能する。つまり、補完処理部１８ａは、操作種別およびパーツ種別と各パーツの状態とに応じ、操作種別およびパーツ種別に続いて入力可能な操作対象パーツのパーツ情報を、優先補完候補として選択し、外部コンソール３に出力する。そして、外部コンソール３の表示制御部３ｃは、外部コンソール３からの優先補完候補を表示部３ｂに優先的に表示させる（図６参照）。このとき、補完処理部１８ａは、例えば図１１に示すようなテーブル２１ａと、操作種別およびパーツ種別と各パーツの状態とに応じた優先補完候補を規定する補完ルール２２とを参照し、当該補完ルール２２に従って優先補完候補を選択する。当該補完ルール２２については、図１４を参照しながら後述する。また、補完処理部１８ａは、異常レベルの高いパーツのパーツ情報（ディスク番号）ほど優先度の高い優先補完候補として選択する。補完処理部１８ａは、選択した優先補完候補および優先度に係る情報を外部コンソール３へ出力する。当該情報を受信した外部コンソール３では、表示制御部３ｃによって、異常レベルの高いパーツのパーツ情報ほど優先的に表示部３ｂに表示される（図６参照）。
【００７６】
(a3) 補完処理部１８ａは、操作種別によっては、補完操作時に数値情報（例えばプール使用率）に従って各パーツのパーツ情報を優先補完候補として選択して外部コンソール３に出力する。そして、外部コンソール３の表示制御部３ｃは、外部コンソール３からの優先補完候補を表示部３ｂに優先的に表示させる。補完処理部１８ａは、例えば、操作種別およびパーツ種別を含む操作コマンドが、操作対象装置１におけるストレージプールの拡張コマンド（例えば“expand pool”コマンド）である場合に補完操作を受けると、以下のように機能する。つまり、補完処理部１８ａは、例えば図１２に示すテーブル２１ｂと、“expand pool”コマンドについての優先補完候補を規定する補完ルール２２とを参照し、当該補完ルール２２に従って優先補完候補を選択する。当該補完ルール２２については、図１４を参照しながら後述する。また、補完処理部１８ａは、使用率の高いストレージプールのパーツ情報（プール番号）ほど優先度の高い優先補完候補として選択する。補完処理部１８ａは、選択した優先補完候補および優先度に係る情報を外部コンソール３へ出力する。当該情報を受信した外部コンソール３では、表示制御部３ｃによって、使用率の高いパーツ情報（プール番号）ほど優先的に表示部３ｂに表示される（図７参照）。
【００７７】
(a4) 補完処理部１８ａは、優先補完候補とともに、当該優先補完候補が優先的に表示される理由である、当該優先補完候補についての状態を、外部コンソール３に出力する。そして、外部コンソール３の表示制御部３ｃは、外部コンソール３からの上記状態を、表示部３ｂに補足的に表示させる。つまり、表示制御部３ｃは、図５や図６の２行目に示すように、補完候補の表示に続いて、当該優先補完候補の状態として“(fatal)”，“(warning)”を表示部３ｂに補足的に表示させる。また、入力すべき操作コマンドが“expand pool”コマンド等の場合、表示制御部３ｃは、図７の２行目に示すように、補完候補の表示の後に、当該補完候補の状態として、数値情報であるプール使用率“(86%)”，“(36%)”，“(16%)”，“(2%)”を表示部３ｂに補足的に表示させる。
【００７８】
なお、表示制御部３ｃは、本実施形態において、優先的な表示の手法として、異常レベルの高い順にパーツ種別やパーツ情報を表示する手法や、使用率の高い順にプール番号を表示する手法を採用している。表示制御部３ｃは、当該手法以外に、異常レベルに応じてパーツ種別やパーツ情報の表示色や表示サイズや表示輝度などを変更して強調表示する手法や、使用率に応じてプール番号の表示色や表示サイズや表示輝度などを変更して強調表示する手法を採用してもよい。
【００７９】
次に、優先補完候補の決定時に補完処理部１８ａによって参照される補完ルール（補完規則）２２について、図１４を参照しながら説明する。なお、図１４は、本実施形態の補完ルール（補完規則）２２の例を示す図である。
【００８０】
本実施形態では、各操作コマンドの操作種別，パーツ種別，パーツ情報の補完処理に対応すべく、補完元ごとに、どのように補完処理を実行すべきかの補完ルール（補完規則）２２が、図１４に示すように、予め規定され、メモリ２０に保存されている。図１４に示す補完ルール２２においては、補完元ごとに、当該補完元に対応する補完候補，補完基準，補完順位，補足表示対象が規定されている。
【００８１】
ここで、「補完元」では、操作者によって補完操作の対象になった操作種別が規定される。「補完元」としては、例えば“replace”, “replace disk”, “expand pool”が規定される。「補完候補」では、補完候補として表示すべき情報が規定され、「補完基準」では、優先表示の順位を決める基準となる情報が規定される。また、「補完順位」では、「補完基準」に従う具体的な順位と、補足表示を行なうか否かのフラグとが規定される。「補足表示対象」では、補足表示を行なう場合に当該補足表示の対象となる情報が規定される。
【００８２】
補完ルール２２において、補完元が“replace”である場合、優先補完候補として表示すべき情報は「パーツ種別」であり、補完基準は「状態」であり、補足表示対象は「状態」である。また、補完順位としては、第１位として“fatal”状態と補足表示を行なう旨（補足表示フラグオン）とが規定され、第２位として“error”状態と補足表示フラグオンとが規定されている。また、第３位として“warning”状態と補足表示フラグオンとが規定され、第４位として“normal”状態と補足表示フラグオフとが規定されている。さらに、補完順位において、上述した第１位〜第４位以外の状態（例えば未実装状態である“not exist”状態）のパーツ種別は、優先補完対象外とすること、つまり表示部３ｂに表示させないことが規定されている。
【００８３】
このような補完ルール２２に従って実行される、“replace”コマンド入力時の補完処理手順(b1)〜(b5)について、以下に説明する。
【００８４】
(b1) 操作者が“replace”を入力した時点でTABキーを押下すると（図５の１行目参照）、ＣＬＩ制御部１８の補完処理部１８ａが、操作種別“replace”に対する補完処理を開始する。
【００８５】
(b2) 補完処理部１８ａは、補完ルール２２の補完元“replace”に対応するエントリの補完候補，補完基準，補完順位，補足表示対象を確認する。
【００８６】
(b3) 補完処理部１８ａは、補完候補として規定された「パーツ種別」に対応する状態情報管理テーブル２１ｃ（図１３参照）を読み出す。
【００８７】
(b4) 補完処理部１８ａは、補完基準「状態」と補完順位とに従い、状態情報管理テーブル２１ｃに記載された、各パーツ種別の状態情報をソートし、ソート結果および補足表示フラグを優先補完候補に係る情報として外部コンソール３へ出力する。
【００８８】
(b5) 外部コンソール３の表示制御部３ｃは、(b4)でソートされた順に各パーツ種別を表示部３ｂに表示させる（図５の２行目参照）。その際、補足表示フラグオンであれば、「状態」に関する情報“(fatal)”，“(warning)”等も表示部３ｂに表示させる（図５の２行目参照）。なお、“normal”状態のパーツ種別については、パーツ種別の優先表示に続いて、アルファベット順に表示される（図５の３〜６行目参照）。
【００８９】
また、補完ルール２２において、補完元が“replace disk”である場合、優先補完候補として表示すべき情報は「ディスク番号」であり、補完基準は「状態」であり、補足表示対象は「状態」である。また、補完順位は、補完元が“replace”である場合と同様に規定されている。
【００９０】
このような補完ルール２２に従って実行される、“replace disk”コマンド入力時の補完処理手順(c1)〜(c5)について、以下に説明する。
【００９１】
(c1) 操作者が“replace disks”を入力した時点でTABキーを押下すると（図６の１行目参照）、ＣＬＩ制御部１８の補完処理部１８ａが、操作種別“replace disk”に対する補完処理を開始する。
【００９２】
(c2) 補完処理部１８ａは、補完ルール２２の補完元“replace disk”に対応するエントリの補完候補，補完基準，補完順位，補足表示対象を確認する。
【００９３】
(c3) 補完処理部１８ａは、補完候補として規定された「ディスク番号」に対応する状態情報管理テーブル２１ａ（図１１参照）を読み出す。
【００９４】
(c4) 補完処理部１８ａは、補完基準「状態」と補完順位とに従い、状態情報管理テーブル２１ａに記載された、各ディスク番号の状態情報をソートし、ソート結果および補足表示フラグを優先補完候補に係る情報として外部コンソール３へ出力する。
【００９５】
(c5) 外部コンソール３の表示制御部３ｃは、(c4)でソートされた順に各ディスク番号を表示部３ｂに表示させる（図６の２行目参照）。その際、補足表示フラグオンであれば、「状態」に関する情報“(fatal)”等も表示部３ｂに表示させる（図６の２行目参照）。なお、“normal”状態のディスク番号については、ディスク番号の優先表示に続いて、昇順に表示される（図６の３〜６行目参照）。図６と図１１とにおいては、“fatal”状態のディスク番号は対応していない。
【００９６】
さらに、補完ルール２２において、補完元が“expand pool”である場合、優先補完候補として表示すべき情報は「プール名（プール番号）」であり、補完基準は「プール使用率」であり、補足表示対象は「プール使用率」である。また、補完順位はプール使用率の降順であり、補足表示フラグがオンであることが規定されている。
【００９７】
このような補完ルール２２に従って実行される、“expand pool”コマンド入力時の補完処理手順(d1)〜(d5)について、以下に説明する。
【００９８】
(d1) 操作者が“expand pool”を入力した時点でTABキーを押下すると（図７の１行目参照）、ＣＬＩ制御部１８の補完処理部１８ａが、操作種別“expand pool”に対する補完処理を開始する。
【００９９】
(d2) 補完処理部１８ａは、補完ルール２２の補完元“expand pool”に対応するエントリの補完候補，補完基準，補完順位，補足表示対象を確認する。
【０１００】
(d3) 補完処理部１８ａは、補完候補として規定された「プール名（プール番号）」に対応する状態情報管理テーブル２１ｂ（図１２参照）を読み出す。
【０１０１】
(d4) 補完処理部１８ａは、補完基準「プール使用率」と補完順位「降順」とに従い、状態情報管理テーブル２１ｂに記載された、各プール名（プール番号）の数値情報「プール使用率」をソートし、ソート結果および補足表示フラグを優先補完候補に係る情報として外部コンソール３へ出力する。
【０１０２】
(d5) 外部コンソール３の表示制御部３ｃは、(d4)でソートされた順に各プール名（プール番号）を表示部３ｂに表示させる（図７の２行目参照）。その際、補足表示フラグオンであれば、「プール使用率」も表示部３ｂに表示させる（図７の２行目参照）。
【０１０３】
〔５〕本実施形態の入力操作支援システム（監視装置および入力操作支援装置）
の動作
次に、図１５および図１６を参照しながら、本実施形態の入力操作支援装置の動作について説明する。
【０１０４】
〔５−１〕状態監視処理
まず、図１５に示すフローチャート（ステップＳ１１，Ｓ１２）に従って、本実施形態の監視装置における状態監視部１６による状態監視処理について説明する。
【０１０５】
状態監視部１６は、操作対象装置であるストレージ装置１の動作中、ストレージ装置１に搭載される各種パーツ１Ｂを常時監視している（ステップＳ１１）。そして、状態監視部１６は、いずれかのパーツの状態の変化を検出した場合（ステップＳ１１のＹＥＳ）、当該変化の発生した状態をもつパーツ（あるいはパーツ種別）について、状態情報管理テーブル２１の状態を即時に変更する（ステップＳ１２）。状態監視部１６は、このような処理を繰り返し実行する（ステップＳ１１のＮＯルート，ステップＳ１２からステップＳ１１へのルート参照）。これにより、メモリ２０における状態情報管理テーブル２１として、例えば図１１〜図１３に示すような状態情報管理テーブル２１ａ，２１ｂ，２１ｃが保存される。
【０１０６】
〔５−２〕補完処理
ついで、図１６に示すフローチャート（ステップＳ２１〜Ｓ３１）に従って、本実施形態の監視装置における補完処理部１８ａと本実施形態の入力操作支援装置としての外部コンソール３とによる補完処理について説明する。
【０１０７】
補完処理部１８ａは、TABキーの押下操作を検出すると（ステップＳ２１）、TABキー押下前の入力文字列を取得し（ステップＳ２２）、補完ルール２２を参照し、入力文字列に対応する補完ルールが存在するか否かを判断する（ステップＳ２３）。補完ルールが存在しない場合（ステップＳ２３のＮＯルート）、補完処理部１８ａは、処理を終了する。
【０１０８】
補完ルールが存在する場合（ステップＳ２３のＹＥＳルート）、補完処理部１８ａは、補完ルールの「補完候補」に対応する状態情報管理テーブル２１（２１ａ〜２１ｃ）を読み出す（ステップＳ２４）。そして、補完処理部１８ａは、補完ルールの「補完基準」および「補完順位」に基づき、状態情報管理テーブル２１の各エントリをソートする（ステップＳ２５）。
【０１０９】
補完処理部１８ａは、ステップＳ２５でソートしたエントリに対し、順に、以下のステップＳ２７〜Ｓ３１の処理を実行する（ステップＳ２６）。まず、補完処理部１８ａは、当該エントリが補完対象か否かを判断する（ステップＳ２７）。当該エントリが補完対象でない場合（ステップＳ２７のＮＯルート）、補完処理部１８ａは、処理を終了する。
【０１１０】
当該エントリが補完対象である場合（ステップＳ２７のＹＥＳルート）、補完処理部１８ａは、当該エントリに係る情報を外部コンソール３へ出力する（ステップＳ２８）。そして、当該エントリに係る情報を受信した外部コンソール３における表示制御部３ｃは、当該エントリが補足表示が必要な補完であるか否か、つまり当該エントリについて補足表示フラグがオンであるか否かを判断する（ステップＳ２９）。補足表示フラグがオンである場合（ステップＳ２９のＹＥＳルート）、表示制御部３ｃは、「補完候補」と「補足表示対象」とを併せて優先補完候補として表示部３ｂに表示させ（ステップＳ３０）、ステップＳ２６の処理に戻る。一方、補足表示フラグがオフである場合（ステップＳ２９のＮＯルート）、表示制御部３ｃは、「補完候補」のみを優先補完候補として表示部３ｂに表示させ（ステップＳ３１）、ステップＳ２６の処理に戻る。
【０１１１】
〔６〕本実施形態の効果
このように、本実施形態の入力操作支援システム（監視装置および入力操作支援装置）によれば、ＣＬＩ補完機能を用い、ストレージ装置１に搭載された各パーツの状態に応じて優先補完候補の表示が動的に変更される。これにより、アプライアンスを管理する上での操作者によるオペミスの発生を確実に抑止することができる。したがって、選択肢となるコマンドやパーツの数が多くなっても、操作者の負担を増加させることなく操作コマンドの入力を正確に行なうことが可能になる。
【０１１２】
このようにして、アプライアンス装置１に搭載されるＣＬＩ機能の操作性が向上することになり、より効率的な管理・設定を行なうことができる。また、操作者がＣＬＩによる入力操作に不慣れであっても、操作者は、より好ましい操作コマンドを入力するように導かれるので、オペミスの発生が確実に抑止され、本実施形態の入力操作支援システム（監視装置および入力操作支援装置）は有効に機能する。
【０１１３】
特に、本実施形態では、一般的なＣＬＩ補完機能を拡張してオペミス等の発生を抑止すべく、アプライアンス装置等の操作対象装置１を管理する上で重要な要素である「操作対象装置の状態情報」が用いられる。つまり、操作コマンドの優先補完候補が、当該操作コマンドを実行する時点でのリアルタイムの状態情報を用いて選択され表示部３ｂに動的に変更表示される。これにより、各時点で操作者によって使用される可能性の高い候補をリアルタイムで判断して表示補完することができる。したがって、操作者は、より少ない操作量でＣＬＩ機能を用いることが可能になるとともに、指定すべき適切な補完候補が優先的に表示補完され、オペミスの発生を確実に抑止することができる。
【０１１４】
また、本実施形態では、補完処理実行時の装置１の各種状態情報に基づき、使用される頻度の高いコマンドやパラメータ（パーツ種別，パーツ番号等）が優先的に表示され補完される。具体的に、操作者は、例えば図６の２行目に優先表示されたパーツ番号の中から、“fatal”状態のディスクを確実に認識し、認識したディスクのパーツ番号103, 307を、図６の７行目の“replace disks”の後に正しく入力することができる。また、操作者は、図７の２行目に優先表示されたプール番号の中から、使用率の高いストレージプールのプール番号を確実に認識し、認識したプール番号を、図７の３行目の“expand pool”の後に正しく入力することができる。
【０１１５】
〔７〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、係る特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【０１１６】
上述した実施形態では、各パーツや各パーツ種別の状態が、異常レベルに係る情報や、ストレージプールの使用率等に係る数値情報である場合について説明したが、本発明は、これに限定されるものではない。
【０１１７】
また、上述した実施形態では、操作対象装置がストレージ装置である場合について説明したが、本発明は、これに限定されるものでない。操作対象装置が、標準化された特定の機能に特化した機器（アプライアンス機器）、例えば、ネットワークスイッチ，ネットワーク用サーバ，キャッシュサーバ，ルータ，ファイルサーバ，暗号化装置，家庭用ゲーム機，Ｗｅｂ閲覧・メール送受信専用端末などであれば、本発明は、上述した実施形態と同様に適用され、上述した実施形態と同様の作用効果を得ることができる。
【０１１８】
さらに、本発明が適用される操作対象装置はアプライアンス装置に限定されるものでなく、本発明は、一般的なパーソナルコンピュータ，ワークステーションなどにも、上述した実施形態と同様に適用され、上述した実施形態と同様の作用効果を得ることができる。
【０１１９】
また、上述した実施形態では、監視装置を成す状態監視部１６および補完処理部１８ａが操作対象装置（ストレージ装置１）にそなえられるとともに、入力操作支援装置が、操作対象装置とは別体で操作対象装置に接続される外部コンソール３によって構成される場合について説明した。しかし、本発明は、これに限定されるものでない。例えば、入力操作支援装置（外部コンソール３としての機能）が操作対象装置（ストレージ装置１）に含まれてもよく、この場合も、上述した実施形態と同様の作用効果を得ることができる。さらに、入力操作支援装置（外部コンソール３）が、補完処理部（補完候補選択部）１８ａとしての機能を含み、操作対象装置側の状態監視部１６から状態情報を受信し、優先補完候補の選択を行なうように構成してもよい。この場合も、上述した実施形態と同様の作用効果を得ることができる。
【０１２０】
〔８〕付記
以上の各実施形態を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
操作コマンドの入力により操作される操作対象装置を監視する監視装置であって、
前記操作対象装置の状態を監視する状態監視部と、
前記操作コマンドの入力時に、前記状態監視部によって監視される前記操作対象装置の状態に応じて、前記操作コマンドに含まれうる複数の補完候補の中から優先補完候補を選択し、当該優先補完候補に係る情報を出力する補完候補選択部と、を有する、監視装置。
【０１２１】
（付記２）
前記状態監視部は、前記操作対象装置に含まれるパーツの種別ごとに各種別の状態を監視し、
前記操作コマンドの操作種別の入力に続く操作対象パーツの種別の入力に先立って、前記補完候補選択部は、前記操作種別と前記各種別の状態とに応じて、前記操作種別に続いて入力可能な前記操作対象パーツの種別を、前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、付記１に記載の監視装置。
【０１２２】
（付記３）
前記補完候補選択部は、前記操作種別と前記各種別の状態とに応じた前記優先補完候補を規定する補完規則に従って、前記優先補完候補を選択する、付記２に記載の監視装置。
【０１２３】
（付記４）
前記状態監視部は、前記各種別の状態として、前記各種別のパーツの異常レベルに係る情報を監視し、
前記補完候補選択部は、前記異常レベルの高い前記パーツの種別ほど優先度の高い前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、付記２または付記３に記載の監視装置。
【０１２４】
（付記５）
前記状態監視部は、前記操作対象装置に含まれるパーツごとに各パーツの状態を監視し、
前記操作コマンドの操作種別およびパーツ種別の入力に続く、操作対象パーツを特定するパーツ情報の入力に先立って、前記補完候補選択部は、前記操作種別および前記パーツ種別と前記各パーツの状態とに応じて、前記操作種別および前記パーツ種別に続いて入力可能な前記操作対象パーツのパーツ情報を、前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、付記１〜付記４のいずれか一項に記載の監視装置。
【０１２５】
（付記６）
前記補完候補選択部は、前記操作種別および前記パーツ種別と前記各パーツの状態とに応じた前記優先補完候補を規定する補完規則に従って、前記優先補完候補を選択する、付記５に記載の監視装置。
【０１２６】
（付記７）
前記状態監視部は、前記各パーツの状態として、前記各パーツの異常レベルに係る情報を監視し、
前記補完候補選択部は、前記異常レベルの高い前記パーツのパーツ情報ほど優先度の高い前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、付記５または付記６に記載の監視装置。
【０１２７】
（付記８）
前記状態監視部は、前記各パーツの状態として、前記各パーツに係る数値情報を監視し、
前記補完候補選択部は、前記数値情報に従って前記各パーツのパーツ情報を前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、付記５または付記６に記載の監視装置。
【０１２８】
（付記９）
前記操作種別および前記パーツ種別を含む前記操作コマンドが、前記操作対象装置におけるストレージプールの拡張コマンドである場合、
前記状態監視部は、前記各パーツの状態として、各ストレージプールの使用量または使用率を前記数値情報として監視し、
前記補完候補選択部は、前記使用量または使用率の多い前記ストレージプールのパーツ情報ほど優先度の高い前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、付記８に記載の監視装置
【０１２９】
（付記１０）
前記優先補完候補に係る情報は、前記優先補完候補についての前記状態を含む、付記１〜付記９のいずれか一項に記載の監視装置。
【０１３０】
（付記１１）
操作コマンドの入力により操作される操作対象装置を監視するコンピュータに、
前記操作対象装置の状態を監視し、
前記操作コマンドの入力時に、監視される前記操作対象装置の状態に応じて、前記操作コマンドに含まれうる複数の補完候補の中から優先補完候補を選択し、当該優先補完候補に係る情報を出力する、処理を実行させる、監視プログラム。
【０１３１】
（付記１２）
前記操作対象装置に含まれるパーツの種別ごとに各種別の状態を監視し、
前記操作コマンドの操作種別の入力に続く操作対象パーツの種別の入力に先立って、前記操作種別と前記各種別の状態とに応じて、前記操作種別に続いて入力可能な前記操作対象パーツの種別を、前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、処理を前記コンピュータに実行させる、付記１１記載の監視プログラム。
【０１３２】
（付記１３）
前記操作種別と前記各種別の状態とに応じた前記優先補完候補を規定する補完規則に従って、前記優先補完候補を選択する、
処理を前記コンピュータに実行させる、付記１２に記載の監視プログラム。
【０１３３】
（付記１４）
前記各種別の状態として、前記各種別のパーツの異常レベルに係る情報を監視し、
前記異常レベルの高い前記パーツの種別ほど優先度の高い前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、処理を前記コンピュータに実行させる、付記１２または付記１３に記載の監視プログラム。
【０１３４】
（付記１５）
前記操作対象装置に含まれるパーツごとに各パーツの状態を監視し、
前記操作コマンドの操作種別およびパーツ種別の入力に続く、操作対象パーツを特定するパーツ情報の入力に先立って、前記操作種別および前記パーツ種別と前記各パーツの状態とに応じて、前記操作種別および前記パーツ種別に続いて入力可能な前記操作対象パーツのパーツ情報を、前記優先補完候補として選択し、当該優先補完候補に係る情報を出力する、処理を前記コンピュータに実行させる、付記１１〜付記１４のいずれか一項に記載の監視プログラム。
【０１３５】
（付記１６）
前記操作種別および前記パーツ種別と前記各パーツの状態とに応じた前記優先補完候補を規定する補完規則に従って、前記優先補完候補を選択する、処理を前記コンピュータに実行させる、付記１５に記載の監視プログラム。
【０１３６】
（付記１７）
操作対象装置に対する操作コマンドの入力操作を支援する装置であって、
表示部と、
前記操作対象装置に対する前記操作コマンドの入力時に、当該操作コマンドに含まれうる複数の補完候補の中から、前記操作対象装置の状態に応じて選択された優先補完候補に係る情報に基づき、前記優先補完候補を、前記複数の補完候補のうちの前記優先補完候補以外の補完候補よりも優先的に前記表示部に表示するように、前記表示部の表示状態を制御する表示制御部と、を有する、入力操作支援装置。
【０１３７】
（付記１８）
前記操作コマンドの操作種別の入力に続く操作対象パーツの種別の入力に先立って、前記操作種別と前記操作対象装置に含まれるパーツの種別ごとの状態とに応じて選択された前記優先補完候補が、前記操作種別に続いて入力可能な前記操作対象パーツの種別である場合、前記表示制御部は、選択された前記操作対象パーツの種別を前記優先補完候補として前記表示部に表示するように、前記表示部の表示状態を制御する、付記１７に記載の入力操作支援装置。
【０１３８】
（付記１９）
前記パーツの種別ごとの状態が各種別のパーツの異常レベルに係る情報である場合、前記表示制御部は、前記異常レベルの高い前記パーツの種別ほど優先的に前記表示部に表示するように、前記表示部の表示状態を制御する、付記１８に記載の入力操作支援装置。
【０１３９】
（付記２０）
前記操作コマンドの操作種別およびパーツ種別の入力に続く、操作対象パーツを特定するパーツ情報の入力に先立って、前記操作種別および前記パーツ種別と前記操作対象装置に含まれる各パーツの状態とに応じて選択された前記優先補完候補が、前記操作種別および前記パーツ種別に続いて入力可能な前記操作対象パーツのパーツ情報である場合、前記表示制御部は、選択された前記操作対象パーツのパーツ情報を前記優先補完候補として前記表示部に表示するように、前記表示部の表示状態を制御する、付記１７〜付記１９のいずれか一項に記載の入力操作支援装置。
【符号の説明】
【０１４０】
１    ストレージ装置（操作対象装置；アプライアンス装置）
１Ａ    ファームウェア
１Ｂ    ハードウェア（各種パーツ）
１ａ    ＣＭ
１ｂ    ディスク
１ｃ    ＢＥＲ
１ｄ    ＢＵＤ
１ｅ    ＰＳＵ
１ｆ    ＢＴＵ
２    ホストコンピュータ
３    外部コンソール（入力操作支援装置；入力操作支援システム）
３ａ    入力部
３ｂ    表示部（入力操作支援装置；入力操作支援システム）
３ｃ    表示制御部（入力操作支援装置；入力操作支援システム）
１０    ＣＰＵ（処理部，コンピュータ；監視装置；入力操作支援システム）
１１    カーネル
１２    ＩＯ制御部
１３    ＣＡドライバ
１４    ＤＡドライバ
１５    ネットワークドライバ
１６    状態監視部（監視装置；入力操作支援システム）
１７    構成制御部
１８    ＣＬＩ制御部
１８ａ    補完処理部（補完候補選択部，監視装置；入力操作支援システム）
１９    ＧＵＩ制御部
２０    メモリ（記憶部）
２１，２１ａ，２１ｂ，２１ｃ    状態情報管理テーブル
２２    補完ルール（補完規則）
３０    ＣＡ
４０    ＤＡ
【図１】
2016018315.tif 000003
【図２】
2016018315.tif 000004
【図３】
2016018315.tif 000005
【図４】
2016018315.tif 000006
【図５】
2016018315.tif 000007
【図６】
2016018315.tif 000008
【図７】
2016018315.tif 000009
【図８】
2016018315.tif 000010
【図９】
2016018315.tif 000011
【図１０】
2016018315.tif 000012
【図１１】
2016018315.tif 000013
【図１２】
2016018315.tif 000014
【図１３】
2016018315.tif 000015
【図１４】
2016018315.tif 000016
【図１５】
2016018315.tif 000017
【図１６】
2016018315.tif 000018