(57)【要約】  記憶アレイを構成する方法であって、（Ａ）初期テストのための最小数のコンポーネントで記憶アレイを構成し、（Ｂ）記憶アレイの構造のテストを開始するために記憶アレイに第１のシンボルコールコマンドを送信し、（Ｃ）記憶アレイから応答を受信し、及び（Ｄ）応答に応じてテストに合格したかどうかを判断するステップを備える方法。【選択図】図１
2012503819.tif 000002
【特許請求の範囲】
【請求項１】
記憶アレイを設定するための方法であって、
（Ａ）初期テストのための最小数のコンポーネントで前記記憶アレイを構成し、
（Ｂ）前記記憶アレイの構造のテストを開始するために前記記憶アレイに第１のシンボルコールコマンドを送信し、
（Ｃ）前記記憶アレイから応答を受信し、
及び（Ｄ）前記応答に応じて前記テストに合格したかどうかを判断する、
ステップを備えることを特徴とする方法。
【請求項２】
前記テストに合格したとき、前記方法は前記構造をキャプチャすることを特徴とする請求項１に記載の方法。
【請求項３】
前記テストに合格しなかったとき、前記方法は前記構造を分析することを特徴とする請求項２に記載の方法。
【請求項４】
前記方法は、前記記憶アレイの次のテストのためにステップ（Ｂ）から（Ｄ）を繰り返すことを特徴とする請求項３に記載の方法。
【請求項５】
前記方法は、スヌーパデバイスにおいてステップ（Ｃ）と（Ｄ）を実現することを特徴とする請求項１に記載の方法。
【請求項６】
前記テストに合格したとき、前記方法はファイルに前記構造を書き込むことを特徴とする請求項１に記載の方法。
【請求項７】
前記ファイルは、ＸＭＬファイルからなることを特徴とする請求項６に記載の方法。
【請求項８】
前記ファイルは、ＨＴＭＬファイルからなることを特徴とする請求項６に記載の方法。
【請求項９】
前記ファイルは、ＴＸＴファイルからなることを特徴とする請求項６に記載の方法。
【請求項１０】
前記テストは、様々なテストの１つ以上を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
前記記憶アレイは、前記第１のシンボルコールコマンドに応じてオブジェクトグラフに書き入れることを特徴とする請求項１に記載の方法。
【請求項１２】
第１のオペレーティングシステムに関連するシンボルコールの第１のセットを生成するように構成された第１の回路と、
（ｉ）前記シンボルコールの第１のセットを受信し、（ｉｉ）前記シンボルコールの第１のセットに対するレスポンスのセットを生成するように構成された第２の回路と、
（ｉ）前記レスポンスのセットをキャプチャし、（ｉｉ）前記レスポンスのセットを格納するように構成された第３の回路と、
を備えることを特徴とする装置。
【請求項１３】
（ｉ）第２のオペレーティングシステムに関連する前記第１の回路からのシンボルコールの第２のセットを受信し、（ｉｉ）前記シンボルコールの第２のセットに応じて前記第１の回路に前記レスポンスのセットを送信するように構成された第４の回路を更に備えることを特徴とする請求項１２に記載の装置。
【請求項１４】
前記第４の回路は、（ｉ）ネットワークインタフェース、（ｉｉ）スヌーパ機能、および（ｉｉｉ）前記レスポンスのセットを格納するためのメモリを備えることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記第４の回路は、ＸＭＬファイルに前記レスポンスのセットを格納することを特徴とする請求項１４に記載の装置。
【請求項１６】
前記ＸＭＬファイルは、オブジェクトグラフの構造を備えることを特徴とする請求項１５に記載の装置。
【請求項１７】
前記第１の回路は、ＳＡＮｔｒｉｃｉｔｙ／Ｓｉｍｐｌｉｃｉｔｙホストとして実現されることを特徴とする請求項１２に記載の装置。
【請求項１８】
前記第１の回路は、複数のオペレーティングシステムのいずれか１つ以上を実行することを特徴とする請求項１２に記載の装置。
【請求項１９】
前記第２の回路は、記憶アレイとして実現されることを特徴とする請求項１２に記載の装置。
【請求項２０】
記憶アレイを認証するための方法であって、
（Ａ）第１のオペレーティングシステムに関連する前記記憶アレイにシンボルコールの第１のセットを送信し、
（Ｂ）スヌーパデバイスで前記記憶アレイからの応答のセットをキャプチャし、
（Ｃ）デバイスに前記応答を格納し、
（Ｄ）異なるオペレーティングシステムに関連する前記記憶アレイにシンボルコールの異なるセットを送信し、
（Ｅ）前記デバイスで前記シンボルコールの異なるセットをインターセプトし、
及び（Ｆ）前記シンボルコールの異なるセットに応じて前記デバイスから前記格納された応答を送信する、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に記憶アレイ、特に外部記憶アレイにおいて帯域外管理アプリケーションを認証するための方法及び／又は装置に関する。
【背景技術】
【０００２】
従来のテスト環境は様々な問題に遭遇する。クライアントインタフェースは適切な命令を送信することができるが、アレイは応答しない状態にあるかもしれない。それ故に、アレイは全く応答しないか又は間違った情報を応答する。このようなシナリオにおいては、エンジニアはしばしば構成のトラブルシューティングに時間を費やす。この問題は簡単な解決を持ち合わせているかもしれないが、きっと相当な労働時間がこのような問題のデバッグに費やされる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来の方法はこの問題に対する正攻法を提供しない。従来のアレイが構成の問題に陥ったとき、従来のソリューションは修正のためにその問題をデバッグする。従来の方法には複数の欠点がある。このような従来の方法では、トラブルシューティングに時間を費やすための覚悟ができていなければならない。数時間のエンジニアリング時間が記憶アレイを最適な状態にするために費やされる。
【０００４】
外部記憶アレイにおいて帯域外管理アプリケーションを認証するための方法及び／又は装置を実現することが望ましいだろう。
【課題を解決するための手段】
【０００５】
本発明は、記憶アレイを構成するための方法に関し、（Ａ）初期テストのための最小数のコンポーネントで記憶アレイを構成し、（Ｂ）記憶アレイの構造のテストを開始するために記憶アレイに第１のシンボルコールコマンドを送信し、（Ｃ）記憶アレイから応答を受信し、及び（Ｄ）応答に応じてテストに合格したかどうかを判断するステップを備える。
【０００６】
本発明の目的、特徴及び利点は、（ｉ）アレイ（例えば、オブジェクトグラフ構造の形式の）からシンボルコール（及び対応する応答）をキャプチャし、（ｉｉ）シンボルコールと適切なシンボル応答へのリンクを判断する機構を提供し、（ｉｉｉ）異なる環境（例えば、オペレーティングシステム）において帯域外ＳＡＮｔｒｉｃｉｔｙを認証するための追加のハードウェアの必要性を排除し、及び／又は（ｉｖ）ブロック記憶アレイネットワーク製品（例えば、ＳＡＮ）又はネットワークアレイストレージ（ＮＡＳ）で用いられるスヌーパデバイスなどのデバイスを提供することを含む。
【０００７】
これらと他の本発明の目的、特徴、及び利点は、以下の明細書と添付された特許請求の範囲と図面とから明らかになるだろう。
【図面の簡単な説明】
【０００８】
【図１】アレイ構成のブロック図である。
【図２】データキャプチャフェーズにおける本発明の実施例のブロック図である。
【図３】データキャプチャフェーズにおける本発明の実施例の処理のフローチャートである。
【図４】データ検索フェーズにおける本発明の実施例のブロック図である。
【図５】データ検索フェーズにおける本発明の実施例の処理のフローチャートである。
【図６】本発明の実施の形態に従ったより詳細なフローチャートである。
【発明を実施するための形態】
【０００９】
図１を参照すると、典型的なアレイ構成を実現するシステム１０のブロック図が示される。システム１０は、ブロック１２、ブロック（又は回路）１４、ブロック（又は回路）１６、ブロック（又は回路）１８、ブロック（又は回路）２０、ブロック（又は回路）２２、及びブロック（又は回路）２４を含む。ブロック１２はイーサネット（登録商標）ネットワークを表す。ブロック１４はホストデバイスを表す。ブロック１６はファイバチャンネル（ＦＣ）スイッチを表す。ブロック１８は記憶アレイ（又はコントローラ）を表す。ブロック２０はドライブトレイを表す。ブロック２２はドライブトレイを表す。ブロック２４はテストジェネレータを表す。システム１０はイーサネット（登録商標）ネットワーク１２を通じた帯域外管理を有するアレイ構成を示す。
【００１０】
本発明の一実施の形態は、構成の繰り返しテスト中に、記憶アレイ１８、ドライブトレイ２０、２２を不要にするだろう。記憶アレイ１８、ドライブトレイ２０、２２は、（ｉ）イーサネット（登録商標）ネットワーク１２を通じてフレームを送受信し、（ｉｉ）スヌーパ機能を提供し、及び／又は（ｉｉｉ）ＸＭＬファイルに異なるシンボルコールのためのオブジェクトグラフを格納する機能を提供する、機能を有する既知のデバイスと置き換えられるだろう。
【００１１】
帯域外管理を通じてシンボルコールがテストされる必要があるとき、ホスト１４が記憶アレイ１８へのＴＣＰ／ＩＰパケットに関数呼出（ファンクションコール）をカプセル化する。記憶アレイ１８は、コールを受け、コールを実行するだろう。記憶アレイ１８は、クライアントに適切なリターンコードを送信し、オブジェクトグラフにおいて構造を占めるだろう。一旦ホスト１４がオブジェクトグラフのデータを解読すれば、ホスト１４はグラフィカルユーザインタフェース（ＧＵＩ）において適切な情報を表示する。
【００１２】
図２を参照すると、本発明の好適な実施の形態の一例に従ってシステム１００のブロック図が示される。システム１００は、一般にブロック（又は回路）１０２、ブロック（又は回路）１０４、及びブロック１０６を備える。回路１０２はホスト回路として実現されるだろう。一例では、回路１０２はＳＡＮｔｒｉｃｉｔｙ／Ｓｉｍｐｌｉｃｉｔｙ回路（又はモジュール）として実現されるだろう。ブロック１０４は記憶アレイであるだろう。例えば、ブロック１０４は、ディスクドライブ又は他の記憶デバイス（例えば、ソリッドステートストレージなど）のアレイを表すだろう。ブロック１０６はネットワーク（例えば、イーサネット（登録商標）ネットワーク）を表すだろう。ネットワーク１０６は、一般に複数のブロック１０８ａ〜１０８ｎ、ブロック（又は回路）１１０、ブロック（又は回路）１１２、及びブロック（又は回路）１１４を備える。ブロック１０８ａ〜１０８ｎは、各記憶アレイ１０４へのシンボルコールを表すだろう。ブロック１１０は、記憶アレイ１０４からの応答を表すだろう。ブロック１１２はスヌーパ回路として実現されるだろう。ブロック１１４は、アレイ１０４から受信された別の応答を表すだろう。付加的な応答１１０及び／又は１１４が実現されるだろう。
【００１３】
システム１００の様々な実施の形態は多数の利益を有する。例えば、テスト中に記憶アレイ１０４の必要性が排除されるだろう。記憶アレイ１０４は、デバイスのためのデータベースを構築する間に一度だけ用いられるだろう。このような実施の形態は、テストが終了した後に記憶アレイ１０４を操作するとき、構成の問題に陥るリスクを低減するだろう。別の例では、応答１１０又は１１４は、一般にオペレーティングシステム（ＯＳ）に依存しないホスト１０２からのシンボルコール１０８ａ〜１０８ｎの１つに応じて記憶アレイ１０４によって送信される。シンボルコール１０８ａ〜１０８ｎは、任意のタイプのオペレーティングシステムを実行するホスト１０２（又はネットワーク１０６に接続された別のホスト）から開始されるだろう。別の例では、シンボルコール１０８ａ〜１０８ｎをテストするための所要時間は、ホスト１０２は記憶アレイ１０４上で動作が終了するのを待つ必要がないので、通常はシステム１００のない環境におけるテスト時間以下になるだろう。システム１００は管理アプリケーションを認証するために必要とされるリソースを低減するだろう。
【００１４】
記憶アレイ１０４をテストするフローは、（ｉ）データキャプチャフェーズ、及び（ｉｉ）データ検索フェーズの２つのフェーズに分けられるだろう。データキャプチャフェーズは、ホスト１０２、スヌーパデバイス１１２、及びアレイ１０４の最小構成を用いるだろう。ホスト１０２は、通常、ハードウェアデバイスとしておよび／又はソフトウェアアプリケーションとしてインストールされたＳＡＮｔｒｉｃｉｔｙ／Ｓｉｍｐｌｉｃｉｔｙアプリケーションを有するだろう。
【００１５】
図３を参照すると、処理２００の図が示される。処理２００は、データキャプチャフェーズにおけるシステム１００を示すだろう。処理２００は、一般にステップ（又は状態）２０２、ステップ（又は状態）２０４、ステップ（又は状態）２０６、判断ステップ（又は状態）２０８、ステップ（又は状態）２１０、及びステップ（又は状態）２１２を備える。ステップ２０２は処理２００を開始するだろう。ステップ２０４は、初期テスト（例えば、テストｉ）を実行するようにホスト１０２（例えば、ＳＡＮｔｒｉｃｉｔｙ／Ｓｉｍｐｌｉｃｉｔｙ）に指示するだろう。ステップ２０６は、記憶アレイ１０４からの応答１１０を記録するようにスヌーパ１１２に指示するだろう。判断ステップ２０８は、テストに合格したかどうかを判断するだろう。テストに合格したとき、処理２００はステップ２１０を続行するだろう。ステップ２１０は、ＸＭＬファイルの構造をキャプチャするだろう。言うまでもないが、ＸＭＬファイルは他のタイプのファイルで実現されても良い（例えば、ＨＴＭＬ、ＴＸＴなど）。テストに合格しなかったとき、処理２００はステップ２１２に移行するだろう。ステップ２１２は失敗を分析し、テストを再実行するだろう。処理２００がステップ２１２に移行した後、処理２００はステップ２０４に戻るだろう。
【００１６】
説明されたテストは、様々なテストの１つ以上を含むだろう。一例では、テストスイートは次のテストの１つとして実現されるだろう。例えば、スイートにおいて第１のテストは、ｉ＝０のとき（例えば、変数「ｉ」はゼロに初期化される）ボリューム作成動作の機能をテストするだろう。ホスト１０２は、イーサネット（登録商標）ネットワーク１０６を通じて記憶アレイ１０４に関連するパラメータを有する特定のシンボルコール（例えば、ＣＲＥＡＴＥＶＯＬＵＭＥ）を送信するだろう。記憶アレイ１０４は、シンボルコールＣＲＥＡＴＥＶＯＬＵＭＥを受信し、要求された機能を実行し、適切なリターンコード（例えば、応答１１０）を返信し、オブジェクトグラフに書き入れるだろう。以下の表１はオブジェクトグラフの一例を示す。
【００１７】
【表１】
2012503819.tif 000003
【００１８】
パケットが記憶アレイ１０４から送信されるとき、スヌーパデバイス１１２はリターンコード１１０をキャプチャするだろう。リターンコード１１０はホスト１０２を通過するだろう。一旦ホスト１０２がリターンコード１１０（例えば、ＲＥＴＣＯＤＥ＿ＯＫ）を受信すれば、ホスト１０２はファイル（例えば、ｊＲＰＣ）を介して記憶アレイ１０４からオブジェクトグラフを受信するだろう。以下の表２は、アレイ１０４が特定のシンボルコールに対してホスト１０２に送信するであろう複数のリターンコード（例えば、応答１１０と１１４）を表す。
【００１９】
【表２】
2012503819.tif 000004
【００２０】
オブジェクトグラフがホスト１０２に送信されている間、スヌーパデバイス１１２はパケットのデータをキャプチャし、データをローカルに（例えば、ＸＭＬファイルに）格納し、パケットをホスト１０２へ送信するだろう。その後、ホスト１０２は、スイート（例えば、ｉ＝ｉ＋１、「ｉ」が１だけインクリメントされる）において次のテストを実行する準備をするだろう。テストが失敗したとき、失敗の原因を究明するために一般に解析が行われる。その後、この失敗したテストは再実行されるだろう（例えば、ｉ＝０、「ｉ」の値が変更されず維持される）。
【００２１】
データキャプチャフェーズは、一般に特定の繰り返しテストサイクルにおいて一度だけ行われる。データキャプチャフェーズでは、１つのオペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ（登録商標）など）に関係するシンボルコール１０８ａ〜１０８ｎがテストされるだろう。オブジェクト構造はキャプチャされローカルに格納されるだろう。データ検索フェーズでは、データキャプチャフェーズでテストされたシンボルコール１０８ａ〜１０８ｎが、図４に関連して説明された技法を用いて異なるオペレーティングシステム（例えば、ＡＩＸ、Ｌｉｎｕｘ、Ｓｏｌａｒｉｓ、ＨＰ−ＵＸなど）に対してテストされるだろう。
【００２２】
図４を参照すると、データ検索フェーズにおけるシステム３００のブロック図が示される。システム３００は、一般にブロック（又は回路）３０２、ブロック（又は回路）３０４、ブロック３０６、複数のシンボルコール３０８ａ〜３０８ｎ、及び複数の応答３１０ａ〜３１０ｎを備える。回路３０２はホスト回路として実現されるだろう。一例では、ホスト回路３０２はＳＡＮｔｒｉｃｉｔｙ／Ｓｉｍｐｌｉｃｉｔｙ回路として実現されるだろう。ホスト回路３０２は、複数の標準オペレーティングシステムのいずれか１つ以上を実行するだろう。ブロック３０４は装置回路として実現されるだろう。一例では、デバイス３０４は、記憶アレイ１０４のＩＰアドレス、スヌーパ機能、及び／又はデータを格納するための機能（例えば、メモリ）を有するハードウェアで実現されるだろう。一例では、データはＸＭＬ形式で格納されるだろう。ブロック３０６はネットワーク（例えば、イーサネット（登録商標）ネットワーク）として実現されるだろう。
【００２３】
一実施の形態では、データ検索フェーズのための最小構成は、ホスト３０２（インストールされたＳＡＮｔｒｉｃｉｔｙ／Ｓｉｍｐｌｉｃｉｔｙを有する）とデバイス３０４（スヌーパのような機能、ネットワークインタフェース、及びＸＭＬファイルに構造を格納する機能を有する）であるだろう。データキャプチャフェーズにおけるテストスイートが終了した後、以下の技法が他のオペレーティングシステムからのシンボルコール３０８ａ〜３０８ｎをテストするために用いられるだろう。スイートは、データキャプチャフェーズのようなシンボルコール３０８ａ〜３０８ｎの同一のシリーズにおいて、スイートのコールをテストし始めるだろう。
【００２４】
ホスト３０２は、デバイス３０４に同様のパラメータを有する特定のシンボルコール（例えば、ＣＲＥＡＴＥＶＯＬＵＭＥ）を送信するだろう（例えば、ｉ＝０、「ｉ」がゼロに初期化される）。デバイス３０４は、スヌーパ機能を用いて要求を解読し、ストレージにおいてシンボルコール３０８ａ〜３０８ｎのためのリターンコード（例えば、応答３１０ａ〜３１０ｎ）を調べ、ホスト３０２にリターンコード３１０ａ〜３１０ｎを送信するだろう。応答３１０ａ〜３１０ｎの受信に際して、ホスト３０２はデバイス３０４にオブジェクトグラフのための要求を送信するだろう。その後、オブジェクトグラフの構造を格納するＸＭＬファイルがホスト３０２に送信されるだろう。その後、ホスト３０２はオブジェクトグラフを解読し、テストが成功したかどうかを判断するだろう。テストに合格したとき、ホスト３０２はスイートにおいて次のテストを続行するだろう（例えば、ｉ＝ｉ＋１、「ｉ」が１だけインクリメントされる）。失敗の場合には、設定は問題に対して検査されなければならず、テストが再実行されるだろう（例えば、ｉ＝０、「ｉ」の値が変更されず維持される）。
【００２５】
図５を参照すると、処理４００の図が示される。処理４００は、データ検索フェーズにおけるシステム３００の一例を示すだろう。処理４００は、開始ステップ（又は状態）４０２、ステップ（又は状態）４０４、ステップ（又は状態）４０６、判断ステップ（又は状態）４０８、及びステップ（又は状態）４１０を備えるだろう。ステップ４０２は処理４００を開始するだろう。ステップ４０４は、テスト（例えば、ｉ）を実行するようにホスト３０２（ＳＡＮｔｒｉｃｉｔｙ／Ｓｉｍｐｌｉｃｉｔｙ）に指示するだろう。ステップ４０６は、応答３１０ａ〜３１０ｎを調べるようにデバイス３０４に指示するだろう。判断ステップ４０８は、テストに合格したかどうかを判断するだろう。テストに合格したとき、処理４００はステップ４０４に戻る。テストに合格しなかったとき、処理４００はステップ４１０に進行する。ステップ４１０は、失敗に対して設定を分析する。処理４００がステップ４１０に進行した後、処理４００はステップ４０４に戻る。
【００２６】
図６を参照すると、処理５００のフローチャートが示される。処理５００は、データ検索フェーズにおけるデバイス３０４を示すだろう。処理５００は、開始ステップ（又は状態）５０２、ステップ（又は状態）５０４、ステップ（又は状態）５０６、ステップ（又は状態）５０８、判断ステップ（又は状態）５１０、ステップ（又は状態）５１２、ステップ（又は状態）５１４、ステップ（又は状態）５１６、及びステップ（又は状態）５１８を備える。ステップ５０２は処理５００を開始するだろう。ステップ５０４では、デバイス３０４がホスト３０２からシンボルコールを受信するだろう。ステップ５０６では、デバイス３０４がイーサネット（登録商標）パケットからシンボル要求をキャプチャするだろう。ステップ５０８では、デバイス３０４が適切な構造のアベイラビリティのためのルックアップテーブル（例えば、表１又は表２）を参照するだろう。判断ステップ５１０では、デバイス３０４が構造が使用可能かどうかを判断するだろう。使用可能でなければ、処理５００はステップ５１２に移行する。ステップ５１２では、デバイス３０４が適切なエラーメッセージ（例えば、ＲＥＳＰＯＮＳＥ＿ＮＯＴ＿ＡＶＡＩＬＡＢＬＥ）と共にテストに失敗するだろう。使用可能であれば、その後、処理５００はステップ５１４に移行する。ステップ５１４では、デバイス３０４がレポジトリから構造を検索するだろう。ステップ５１６では、デバイス３０４がイーサネット（登録商標）ネットワーク３０６を介してホスト３０２に応答３１０ａ〜３１０ｎを送信するだろう。ステップ５１８は処理５００を終了するだろう。
【００２７】
図３、５、及び６のフローチャートによって実行された機能は、関連する技術分野における当業者に明らかであろうように、本明細書の教示に従ってプログラムされた従来の多目的デジタルコンピュータを用いて実現されるだろう。同様に関連する技術分野における当業者に明らかであろうように、熟練したプログラマは本開示の教示に基づいて適切なソフトウェアコードを容易に用意することができる。
【００２８】
本発明は、同様に、ＡＳＩＣ、ＦＰＧＡの用意によって、又はここに説明されるように従来の構成回路の適切なネットワークを相互に連結させることによって実現され、これらの変更は技術分野における当業者に容易に明らかであろう。
【００２９】
本発明は、同様に、本発明に従って処理を実行するようにコンピュータをプログラムするために用いることができる命令を含む記憶メディアであろうコンピュータ製品を含むだろう。記憶メディアは、限定されるものではないが、フロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、磁気又は光カードを含む任意のタイプのディスク、又は電子命令を格納するのに適した任意のタイプのメディアを含むことができる。
【００３０】
本発明は、特にその好適な実施の形態に関して示され説明されたが、本発明の範囲から逸脱することなく、形式と細部の様々な変更がなされるであろうことが当業者によって理解されるだろう。
【図１】
2012503819.tif 000005
【図２】
2012503819.tif 000006
【図３】
2012503819.tif 000007
【図４】
2012503819.tif 000008
【図５】
2012503819.tif 000009
【図６】
2012503819.tif 000010
【国際調査報告】
2012503819.tif 000011