(57)【特許請求の範囲】
【請求項１】
少なくとも１つの記憶装置を管理するための方法であって、
（ａ）前記少なくとも１つの記憶装置を識別するステップと、
（ｂ）前記識別された少なくとも１つの記憶装置についての情報を記憶するデータベースを作成するステップであって、前記識別された少なくとも１つの記憶装置についての情報は前記識別された少なくとも１つの記憶装置のための動作規則を含む、ステップと、
（ｃ）前記データベース内の情報に従ってグラフィカル・ユーザー・インターフェース（ＧＵＩ）をユーザーに提供するステップであって、前記グラフィカル・ユーザー・インターフェースは、（ｉ）情報の表示、および（ｉｉ）前記少なくとも１つの記憶装置の動作を制御するための少なくとも１つの処理の実行、のうち少なくとも一方をユーザーが選択することによりリクエストするために、前記識別された少なくとも１つの記憶装置に関する少なくとも１つのメニュー選択肢を表示する、ステップと、
（ｄ）前記選択されたメニュー選択肢を処理するステップと、
（ｅ）前記選択されたメニュー選択肢の前記処理に応答して、前記グラフィカル・ユーザー・インターフェースを自動的に更新するステップと、
を含み、
前記選択されたメニュー選択肢を処理するステップは、さらに、
前記少なくとも１つの処理の実行のリクエストが、前記識別された少なくとも１つの記憶装置のための動作規則に従っているかどうかを判定するステップと、
前記少なくとも１つの処理の実行のリクエストが前記識別された少なくとも１つの記憶装置のための動作規則に従っておらず、すなわち少なくとも１つの処理の実行のリクエストが不正な動作である場合に、前記少なくとも１つの処理の実行をキャンセルし、エラー・メッセージを作成するステップと、
を有する、
ことを特徴とする方法。
【請求項２】
前記少なくとも１つの記憶装置を識別するステップが、前記少なくとも１つの記憶装置の製造者およびモデル番号を確認するステップを含む、請求項１に記載の方法。
【請求項３】
前記データベースを作成するステップが、前記少なくとも１つの記憶装置の（イ）コマンドおよび（ロ）処理ルーチン、のうちの少なくとも１つを含む情報を取得するステップを含む、請求項１に記載の方法。
【請求項４】
前記グラフィカル・ユーザー・インターフェースを提供するステップが、
識別された少なくとも１つの記憶装置の各々を示すアイコンを、階層的に第１の枠内に表示するステップと、前記第１の枠内に表示されたアイコンのうち、対応するものに関する情報を第２の枠内に表示するステップと、
を含む、請求項１に記載の方法。
【請求項５】
後に行われたユーザーによるメニュー選択を受信するたびに、前記ステップ（ｄ）および前記ステップ（ｅ）を繰り返す、請求項１に記載の方法。
【請求項６】
少なくとも１つの記憶装置を管理するための装置であって、
利用する可能性のある記憶装置についての情報を記憶するデータベースであって、前記少なくとも１つの記憶装置についての情報は前記少なくとも１つの記憶装置のための動作規則を含む、データベースと、
前記少なくとも１つの記憶装置に接続され、（ａ）前記少なくとも１つの記憶装置を識別し、（ｂ）（ｉ）情報の表示、および（ｉｉ）前記少なくとも１つの記憶装置の動作を制御するための少なくとも１つの処理の実行、のうちの少なくとも一方をユーザーが選択することによりリクエストするために、前記データベース内の情報に従って、前記ユーザーに対し、前記識別された少なくとも１つの記憶装置に関する少なくとも１つのメニュー選択肢を表示するグラフィカル・ユーザー・インターフェースを提供し、（ｃ）前記少なくとも１つの処理の実行のリクエストが、前記識別された少なくとも１つの記憶装置のための動作規則に従っているかどうかを判定し、前記少なくとも１つの処理の実行のリクエストが前記識別された少なくとも１つの記憶装置のための動作規則に従っておらず、すなわち少なくとも１つの処理の実行のリクエストが不正な動作である場合に、前記少なくとも１つの処理の実行をキャンセルし、エラー・メッセージを作成することにより、前記選択されたメニュー選択肢を処理し、（ｄ）前記選択されたメニュー選択肢の前記処理に応答して、前記グラフィカル・ユーザー・インターフェースを自動的に更新するプロセッサと、
を含むことを特徴とする装置。
【請求項７】
前記プロセッサが、前記少なくとも１つの記憶装置を、前記少なくとも１つの記憶装置の製造者およびモデル番号を確認することにより識別する、請求項６に記載の装置。
【請求項８】
前記データベースが、前記記憶装置の（イ）コマンド、および（ロ）処理ルーチン、のうちの少なくとも１つを含む、請求項６に記載の装置。
【請求項９】
前記プロセッサが、識別された少なくとも１つの記憶装置の各々を示すアイコンを階層的に第１の枠内に表示し、前記第１の枠内に表示されたアイコンのうち、対応するものに関する情報を第２の枠内に表示することにより前記グラフィカル・ユーザー・インターフェースを提供する、請求項６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願とのクロスリファレンス）
本出願は、米国特許法第１１９条（ｅ）項に基づいて２００２年７月１日付で出願された米国仮特許出願第６０／３９２，７７９号の優先権を主張するものである。
【０００２】
本発明は、１つ以上の記憶装置を管理する技術に関する。
【背景技術】
【０００３】
磁気記憶装置の設計および製造の技術進歩により、このような装置は、記憶容量のギガバイト（ＧＢ）あたりの単価を尺度にして、コストが大幅に削減されている。大容量記憶装置は、比較的に廉価であるため、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ：レイド、複数のＨＤＤを使って、単独のＨＤＤよりも高い信頼性や性能を実現する方式）等のような装置の大規模なアレイ（配列）が普及してきている。様々な記憶装置の製造者は、一般に、このようなＲＡＩＤを自己のソフトウェアと共に提供し、ＲＡＩＤ内の個々の記憶装置を制御できるようにしている。
【０００４】
異なる製造者の記憶装置は、異なる特徴を有することが多い。異なる製造者の記憶装置を組み合わせることにより、各記憶装置の最良の特徴を有効に利用することができる。現在、残念ながら、ＲＡＩＤ内における一組の異種（ｈｅｔｅｒｏｇｅｎｅｏｕｓ：ヘテロジニアス）記憶装置等、異種記憶ディスクの低レベル管理のための技術は、存在しない。現在、ネットワークを介して異なる製造元(ベンダー)からの複数のＲＡＩＤを管理するためのソフトウェアは存在するが、このようなソフトウェアは、単一のＲＡＩＤにおいて別個の製造元からの１つ以上の記憶装置を管理したり、スタンドアローン（独立型）の記憶装置を効果的に管理したりする機能を有していない。
【０００５】
従って、１つ以上の記憶装置を管理するための技術に対する需要が存在する。
【発明の開示】
【０００６】
（発明の概要）
簡潔に言うと、本発明の原理に従って、磁気ディスク・ドライブ、光磁気ディスク・ドライブ、または、テープ記憶装置等の少なくとも１つの記憶装置、好ましくは、複数のこのような記憶装置を管理する方法が提供される。この方法は、通常、各装置を当該装置の製造者で識別することにより開始される。識別された記憶ディスクの各々のために、当該装置についての情報を記憶するデータベースが作成される。例えば、データベース内の情報には、記憶装置の動作特性、特定のインターフェース・プロトコル、および動作規則が含まれる。対応するデータベースから取得された各記憶装置の情報に基づいて、グラフィカル・ユーザー・インターフェース（ＧＵＩ：絵文字などを介して人がコンピュータを操作するインターフェース）が作成される。グラフィカル・ユーザー・インターフェースは、ユーザーに対し、ユーザーが少なくとも１つのメニューの選択肢を選択できるように表示される。この１つのメニュー選択肢が選択されると、（ａ）識別された記憶装置に関連付けられる情報の表示、（ｂ）識別された記憶装置の動作を少なくとも部分的に制御するための少なくとも１つの処理の実行、のうちの一方がユーザーに対して行われる。ユーザーの選択が処理され、ユーザーの選択したメニュー選択肢の処理に応答して、グラフィカル・ユーザー・インターフェース（ＧＵＩ）が、自動的に更新される。従って、例えば、ユーザーが、メニュー選択肢を選択して、識別された記憶装置が特定の処理を実行した場合には、グラフィカル・ユーザー・インターフェース（ＧＵＩ）は、この記憶装置により実行された処理の結果を反映するように表示画面を更新する。
【発明を実施するための最良の形態】
【０００７】
図１は、少なくとも１つ、好ましくは、複数の記憶装置を管理するためのホスト・システム（ｈｏｓｔ  ｓｙｓｔｅｍ：上位システム）１０を示す概略ブロック図である。各記憶装置を例示的に記憶装置１２１、１２２、および１２３で示す。各記憶装置１２１、１２２、および１２３は、単一の磁気または光学ディスク・ドライブ、磁気テープ・ドライブ、または、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）等の個々の記憶装置のアレイである。実際には、記憶装置１２１〜１２３は、異なる製造者のものである。従って、各記憶装置は、動作特性が若干異なることが多く、装置を管理する際に、このような動作特性の差異を考慮することが必要である。
【０００８】
ファイバー・チャネル構成（ｆｉｂｒｅ  ｃｈａｎｎｅｌ  ｆａｂｒｉｃ）１４は、記憶装置１２１〜１２３を、ホスト・バス・アダプター（ＨＢＡ）１６に接続する。ホスト・バス・アダプター１６は、各装置のホスト・システム１０に対するインターフェースとなる。通常、ホスト・バス・アダプター１６は、ファイバー・チャネル構成１４を介したホスト・システム１０と記憶装置１２１〜１２３との間の情報の経路としてのＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）機能を有する。ホスト・バス・アダプター１６に、ＳＣＳＩを使用しないディスク記憶装置のための他のインターフェースを含めるようにしてもよい。記憶装置１２１〜１２３の各々は、ホスト・バス・アダプター１６と直接接続されることにより、ファイバー・チャネル構成１４を必要としないようにしてもよい。従って、記憶装置１２１〜１２３は、ファイバー・チャネル記憶装置に限定されることなく、ＳＣＳＩコマンドに応答するどのような形式の記憶装置であってもよい。
【０００９】
ホスト・システム１０は、通常、周知のパーソナル・コンピュータやミニ・コンピュータ等の汎用コンピュータである。ホスト・システム１０には、少なくとも１つのデータベース（ＤＢＳ）１８が関連付けられる。データベース１８には、１つ以上のライブラリが記憶されている。データベース１８内の各ライブラリは、記憶装置１２１〜１２３のうち、対応するものに特有の情報を記憶する。特に、記憶装置１２１〜１２３の各々に関連付けられるライブラリは、当該記憶装置に関連付けられる動作特性を含んでいる。装置の動作特性には、（ａ）動作規則（ｏｐｅｒａｔｉｏｎａｌ  ｒｕｌｅｓ）、（ｂ）コマンド、および（ｃ）処理ルーチン、のうちの少なくとも１つが含まれる。図１に示す実施の形態は、記憶装置１２１〜１２３の各々に関連付けられたライブラリを記憶する単一のデータベース１８を示しているが、各記憶装置に関連付けられたライブラリは、別個のデータベース（図示せず）に存在していてもよい。実際には、データベース１８における各ライブラリは、ＳＣＳＩコマンドのみに依存する。従って、ホスト・バス・アダプター（ＨＢＡ）１６は、ファイバー・チャネル（ＦＣ：Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ）／ＳＣＳＩホスト・バス・アダプターに限定する必要はない。何故ならば、低レベル・プロトコル（例えば、この場合、ファイバー・チャネル構成）に関わらず、ライブラリ内のコマンドは、特定のホスト・バス・アダプター・プロトコルに依存する必要がないからである。
【００１０】
ホスト・システム１０は、コミュニケーション・オブジェクト・モデル（ＣＯＭ：Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）／分散コミュニケーション・オブジェクト・モデル（ＤＣＯＭ：Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）層２０を含んでいる。このＣＯＭ／ＤＣＯＭ層２０は、実際には、各記憶装置１２１〜１２３のための特定の構成規則（ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｒｕｌｅｓ）を含むメモリである。実際には、各記憶装置のための特定の構成規則は、各装置のための対応するライブラリに記憶された情報に基づいて決定される。更に、ＣＯＭ／ＤＣＯＭ層２０は、１つ以上のアプレット、プログラムおよび／またはサブルーチン（集合的に「プログラム」と呼ぶ）を含み、これらは、複数のインターフェースを介して公開された（ｅｘｐｏｓｅｄ）Ｃ＋＋オブジェクトであり、Ｃ＋＋オブジェクトのインスタンスは、１つ以上のネットワークにおいて複数のコンピュータに亘った複数の言語を通じて作成される。ＣＯＭ／ＤＣＯＭ層２０におけるプログラムは、各記憶装置１２１〜１２３のためにリクエストされた処理の各々を監視し、リクエストされた処理が、製造者により定められた当該記憶装置のための規則に確実に従うようにする。記憶装置にリクエストされた処理が、この装置に関連付けられた規則に従っていない場合には、このような処理は、どのようなものであってもブロック（阻止）され、エラー・メッセージが作成される。ＣＯＭ／ＤＣＯＭ層２０に存在するプログラムのホスト・システム１０による実行は、ユーザーが端末（図示せず）にいる必要なしに行われる。
【００１１】
更に、ホスト・システム１０は、各記憶装置１２１〜１２３から受信された入力情報および一人以上のユーザーから受信された入力情報を管理するグラフィカル・ユーザー・インターフェース（ＧＵＩ：Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）アプリケーション２２を実行する。このような入力情報から、ＧＵＩアプリケーション２２は、表示装置（図示せず）上でユーザーに表示するグラフィカル・インターフェースを作成する。ユーザーに対してＧＵＩ２２により表示される各記憶装置についての情報の全体的なフォーマットは、統一的な外観を有するが、各記憶装置毎に、その特定の特徴を考慮して、異なるメニュー選択肢を設けるようにしてもよい。
【００１２】
図２は、本発明の原理に従って、記憶装置１２１〜１２３を管理するためにホスト・システム１０により実行される方法の各ステップを示す流れ図である。図２の方法は、ステップ１００の実行により開始され、ステップ１００において、図１に示すホスト・システム１０は、当該ホスト・システム１０に対して、どの記憶装置が取り付けられているかを検出する。換言すれば、ステップ１００では、ホスト・システム１０は、取り付けられた装置１２１〜１２３を識別するために、クエリーを発し、具体的には、各装置の製造元（即ち、製造者）およびモデル（型）番号を識別する。各装置の製造元およびモデルを検出するほか、更に、ホスト・システム１０は、ステップ１００において、各装置が直接ホスト・バス・アダプター１６に取り付けられているか、または、ファイバー・チャネル構成（ｆａｂｒｉｃ：ファブリック）１４を介して接続されているかを確認する。ステップ１００において、ホスト・システム１０は、検出された記憶装置の各々に対し、識別子（ＩＤ）を割り当てる。割り当てられる識別子は、装置が図１のファイバー・チャネル構成１４に取り付けられたときに割り当てられるファイバー・チャネル識別子であってもよい。また、識別子は、装置に割り当てられる論理ユニット番号（ＬＵＮ：Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）や製造元識別番号（ベンダーＩＤ番号）でもよい。
【００１３】
ステップ１００の後、ステップ１１０が実行され、このとき、ホスト・システム１０は、検出された各記憶装置を、その製造元とモデル（型）により分類する。ステップ１１０において、ホスト・システム１０は、ステップ１００において検出された各記憶装置のためのライブラリを作成する。各ライブラリは、単一のデータベース（例えば、図１のデータベース１８）に存在してもよく、別個のデータベースに存在していてもよい。上述したように、記憶装置に関連付けられた各ライブラリには、当該装置に関連付けられた動作規則、コマンド、処理ルーチンが含まれる。ステップ１１０の後、ステップ１２０が実行され、ホスト・システム１０は、図１のグラフィカル・ユーザー・インターフェース（ＧＵＩ）アプリケーション２２を実行し、ユーザーに対してＧＵＩの作成、表示を行う。
【００１４】
図３は、ユーザーに対して提供されるＧＵＩの一部を構成する具体的な画面表示２００を示す。画面表示２００の左側には、通常、システム枠２０２が表示される。システム枠２０２は、図２のステップ１００において、ホスト・システム１０により検出される様々な装置およびサブ・エレメント（副要素）を階層的に表示するものであり、図３のシステム枠２０２内に各装置およびサブ・エレメントに対応するアイコンが現れる。図３の例示的な実施の形態においては、システム枠２０２内に現れるアイコン２０６は、図２のシステム１００においてホスト・システム１０により検出された製造元独自の記憶装置（Ｖｅｎｄｏｒ  Ｕｎｉｑｕｅ  Ｓｔｏｒａｇｅ  Ｄｅｖｉｃｅ）（図示せず）の存在に対応するものである。図３のシステム枠２０２に現れるアイコン２０８は、アイコン２０６により表される製造元独自の記憶装置内のコントローラ・ノード（図示せず）に対応する。システム枠２０２内のアイコン２１０は、アイコン２０６により表されたコントローラ・ノードに関連付けられたバインドされたＬＵＮ（ｂｏｕｎｄ  ＬＵＮｓ）（図示せず）が１つ以上存在することを意味する。アイコン２１０は、このアイコン２１０により表されるバインドされたＬＵＮ内の対応するＬＵＮを特定する。最後に、図３のシステム枠２０２内のアイコン２１２は、バインドされていないディスク（ｕｎｂｏｕｎｄ  ｄｉｓｋｓ）（図示せず）が１つ以上存在することを意味する。アイコン２０６〜２１２のうち、１つ以上をドロップ・ダウン・メニューに関連付けることができ、（ａ）識別された記憶装置に関連付けられた情報の表示、および（ｂ）識別された記憶装置の動作を少なくとも部分的に制御するための少なくとも１つの処理の実行、のうちの一方がユーザーに対して行われるようにする。
【００１５】
更に、図３を参照すると、画面表示２００は、表示枠（ｄｉｓｐｌｙａ  ｐａｎｅ：ディスプレイ・ペイン）２０２のほかにサブシステム表示枠２１４を含んでいる。実際には、サブシステム表示枠２１４は、（マウス等を用いて）ユーザーが、アイコン２０６〜２１２のうち、特定の１つを選択することに関連する具体的な情報を表示する。例示的な実施形態においては、コントローラ・ノード・アイコン２０８が、強調表示されると、サブシステム表示枠２１４に、コントローラ・ノードについてのより具体的な情報が表示される。
【００１６】
図２を参照すると、ステップ１２０におけるＧＵＩの作成および表示の後、ホスト・システム１０は、次に、１つ以上のメニュー選択肢（ｏｐｔｉｏｎ：オプション）を選択する、通常のユーザーからの入力を待機する。このようなメニュー選択肢には、（限定するものではないが）、以下のものが含まれる。
・物理記憶装置のグループを論理ユニット番号（ＬＵＮ）にバインドする
・１セット（組）の論理ユニット番号（ＬＵＮ）のバインドを解除する
・１つ以上の記憶装置をホット・スペアとして指定する
・各記憶装置のシステム・クロックをセットする
・製造元独自のファームウェアを個々のコントローラおよび／または記憶装置にロードする
・製造元独自のコントローラおよび／または記憶装置設定をチェック／設定する
・識別のため、存在している場合には、記憶装置の発光ダイオード（ＬＥＤ：Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）を点滅させる
・状態情報を特定する
・各記憶装置のためのファイバー・チャネル構成ＩＤを設定する
・ＲＡＩＤ再構成処理を開始または停止する
・コンシステンシー（整合性）チェック処理を開始または停止する
・ディスクリート記憶システムにおけるファイル・システムを初期化する
【００１７】
ユーザーによる１つ以上のメニュー選択を受信した後、図２のステップ１２４において、図１のホスト・システム１０は、受信したメニュー選択を処理する。実際には、ホスト・システム１０は、メニュー選択の対象となった特定の記憶装置が選択内容を実行するまで、適切なソフトウェア・スタック（ｓｏｆｔｗａｒｅ  ｓｔａｃｋ）を介してメニュー選択を処理する。ステップ１２４の後、ステップ１２６において、ホスト・システム１０は、自動的にユーザーに対して表示されていたＧＵＩを更新し、ユーザーが選択したメニュー選択肢の実行の結果として発生した変更を反映させる。このように、ユーザーは、選択されたメニュー選択肢の結果を視覚的に確認することができる。ステップ１２６の後、プログラムの実行は、再び１２２に戻り、ユーザーが別のメニュー選択肢を選択するのを待機する。
【００１８】
以上、異なる動作特性を有する１つ以上の記憶装置を管理するための技術について説明した。
【図面の簡単な説明】
【００１９】
【図１】図１は、少なくとも１つの記憶装置を管理するための本発明の原理に従ったシステムの概略ブロック図である。
【図２】図２は、少なくとも１つの記憶装置を管理するための図１のシステムにより実行される方法の各ステップを示す流れ図である。
【図３】図３は、ユーザーに対して表示されるグラフィカル・ユーザ・インタフェース（ＧＵＩ）の開始画面である。
【図１】
0004819358.tif 000002
【図２】
0004819358.tif 000003
【図３】
0004819358.tif 000004