(57)【要約】【課題】  ストレージ・エリア・ネットワークに接続された所定のマシンに関するデバイスのセットを構成するための方法を提供する。【解決手段】  ストレージ・エリア・ネットワーク上の各マシン用の初期プログラム・ロード・ファームウエアおよびネットワーク・アダプタ・ファームウエアが、ストレージ・エリア・ネットワーク・アプライアンスにデバイスのリストを照会するように修正される。ストレージ・エリア・ネットワーク・アプライアンスは、ワールド・ワイド・ネームによって識別することができ、かつストレージ・エリア・ネットワーク上の各マシンに関するブート・デバイス、ルート・ボリューム・グループ・デバイス、プライマリ・デバイス、およびセカンダリ・デバイスのリストを保管することができる。一方、ストレージ・エリア・ネットワーク・アプライアンスは、クエリを受信待機し、クエリのタイプおよび／またはブート・タイプに基づいて適切なデバイスのリストを戻す。マシンに関するブート・タイプは、通常ブート、保守ブート、またはインストール・ブートに設定することができる。【選択図】      図４
2004355624.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ・エリア・ネットワークに接続されたマシン上においてオペレーションを実施するための方法であって、
ストレージ・エリア・ネットワーク・アプライアンスに対してブート・デバイス・クエリを送信するステップと、
前記ストレージ・エリア・ネットワーク・アプライアンスからブート・デバイスのリストを受信するステップと、
前記ブート・デバイスのリスト内の少なくとも１つのブート・デバイスを構成するステップと、
前記少なくとも１つのブート・デバイスから前記マシンのブートを行うステップと、
を含む方法。
【請求項２】
前記ストレージ・エリア・ネットワーク・アプライアンスに対してルート・ボリューム・グループ・デバイス・クエリを送信するステップと、
前記ストレージ・エリア・ネットワーク・アプライアンスからルート・ボリューム・グループ・デバイスのセットを識別するルート・ボリューム・グループ・デバイスのリストを受信するステップと、
前記ルート・ボリューム・グループ・デバイスのセットを構成するステップと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記ストレージ・エリア・ネットワーク・アプライアンスは、前記マシンに関するブート・タイプをストアしており、かつ前記ストレージ・エリア・ネットワーク・アプライアンスによって戻される前記ルート・ボリューム・グループ・デバイスのリストは、前記ブート・タイプに基づいて選択される、請求項２に記載の方法。
【請求項４】
前記ブート・タイプは、通常と、インストールと、保守のうちの１つである、請求項３に記載の方法。
【請求項５】
前記ストレージ・エリア・ネットワーク・アプライアンスに対してプライマリ・デバイス・クエリを送信するステップと、
前記ストレージ・エリア・ネットワーク・アプライアンスからプライマリ・デバイスのセットを識別するプライマリ・デバイスのリストを受信するステップと、
前記プライマリ・デバイスを構成するステップと、
をさらに含む、請求項２に記載の方法。
【請求項６】
前記ストレージ・エリア・ネットワーク・アプライアンスに対してセカンダリ・デバイス・クエリを送信するステップと、
前記ストレージ・エリア・ネットワーク・アプライアンスからセカンダリ・デバイスのセットを識別するセカンダリ・デバイスのリストを受信するステップと、
前記セカンダリ・デバイスのセットを構成するステップと、
をさらに含む、請求項５に記載の方法。
【請求項７】
前記ストレージ・エリア・ネットワーク・アプライアンスに対して非必須デバイス・クエリを送信するステップと、
前記ストレージ・エリア・ネットワーク・アプライアンスから非必須デバイスのセットを識別する非必須デバイスのリストを受信するステップと、
前記非必須デバイスのセットを構成するステップと、
をさらに含む、請求項６に記載の方法。
【請求項８】
前記ストレージ・エリア・ネットワーク・アプライアンスは、前記マシンに関するブート・タイプを保管しており、かつ前記ストレージ・エリア・ネットワーク・アプライアンスによって戻される前記ブート・デバイスのリストは、前記ブート・タイプに基づいて選択される、請求項１に記載の方法。
【請求項９】
前記ブート・タイプは、通常と、インストールと、保守のうちの１つである、請求項８に記載の方法。
【請求項１０】
前記ストレージ・エリア・ネットワーク・アプライアンスは、マシンからクエリを受信し、前記クエリに関してクエリ・タイプを識別し、前記クエリ・タイプに基づいて前記マシンへデバイスのリストを戻す、請求項１に記載の方法。
【請求項１１】
前記クエリ・タイプは、ブートと、ルート・ボリューム・グループと、プライマリと、セカンダリと、非必須のうちの１つである、請求項１０に記載の方法。
【請求項１２】
ストレージ・エリア・ネットワーク・データ処理システムであって、
ストレージ・エリア・ネットワーク・ファブリックと、
前記ストレージ・エリア・ネットワーク・ファブリックに接続された複数のマシンと、
前記ストレージ・エリア・ネットワーク・ファブリックに接続された複数のストレージ・デバイスと、
前記ストレージ・エリア・ネットワーク・ファブリックに接続されたストレージ・エリア・ネットワーク・アプライアンスとを備え、
前記ストレージ・エリア・ネットワーク・アプライアンスは、前記複数のマシン内の所定のマシンからクエリを受信し、前記クエリに関してクエリ・タイプを識別し、前記クエリ・タイプに基づいて前記所定のマシンへデバイスのリストを戻し、前記デバイスのリストは、１つ以上のデバイスのセットを識別する、ストレージ・エリア・ネットワーク・データ処理システム。
【請求項１３】
前記ストレージ・エリア・ネットワーク・アプライアンスは、前記複数のマシン内の各マシンに関するブート・タイプを保管し、前記ストレージ・エリア・ネットワーク・アプライアンスによって戻される前記デバイスのリストは、前記ブート・タイプに基づいて選択される、請求項１２に記載のストレージ・エリア・ネットワーク・データ処理システム。
【請求項１４】
前記ブート・タイプは、通常と、インストールと、保守のうちの１つである、請求項１３に記載のストレージ・エリア・ネットワーク・データ処理システム。
【請求項１５】
前記所定のマシンは、前記ストレージ・エリア・ネットワーク・アプライアンスから前記デバイスのリストを受信し、前記１つ以上のデバイスのセット内の少なくとも１つのデバイスを構成する、請求項１２に記載のストレージ・エリア・ネットワーク・データ処理システム。
【請求項１６】
前記所定のマシンが、前記少なくとも１つのデバイスからブートする、請求項１５に記載のストレージ・エリア・ネットワーク・データ処理システム。
【請求項１７】
前記所定のマシンが、前記少なくとも１つのデバイス上においてインストール操作を行う、請求項１５に記載のストレージ・エリア・ネットワーク・データ処理システム。
【請求項１８】
前記所定のマシンが、前記少なくとも１つのデバイス上において保守操作を行う、請求項１５に記載のストレージ・エリア・ネットワーク・データ処理システム。
【請求項１９】
前記クエリ・タイプは、ブートと、ルート・ボリューム・グループと、プライマリと、セカンダリと、非必須のうちの１つである、請求項１２に記載のストレージ・エリア・ネットワーク・データ処理システム。
【請求項２０】
ストレージ・エリア・ネットワークに接続されたマシン上において操作を行うためのコンピュータ可読媒体内のコンピュータ・プログラム記録媒体であって、
ストレージ・エリア・ネットワーク・アプライアンスに対してブート・デバイス・クエリを送信するための命令と、
前記ストレージ・エリア・ネットワーク・アプライアンスからブート・デバイスのリストを受信するための命令と、
前記ブート・デバイスのリスト内の少なくとも１つのブート・デバイスを構成するための命令と、
前記少なくとも１つのブート・デバイスから前記マシンのブートを行うための命令と
を含む、コンピュータ・プログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ・エリア・ネットワークに関する。より詳細に述べれば、本発明は、ストレージ・エリア・ネットワーク上においてブート、保守、またはインストール操作（operation）を行うための方法、装置、およびプログラムを提供する。
【背景技術】
【０００２】
ストレージ・エリア・ネットワーク（ＳＡＮ）は、ストレージ・ディスクのネットワークである。大規模エンタープライズ内においては、ＳＡＮによって複数のサーバがディスク・ストレージの集中プールに接続されている。それぞれが独自のディスクを有する非常に多くのサーバを管理することに比べて、ＳＡＮは、システム管理を改善する。すべてのストレージを単一のリソースとして扱うことによって、ディスクの保守ならびに日常的なバックアップのスケジュールならびに制御がより容易になる。一部のＳＡＮ内においては、ディスク自体が、ホスト・コンピュータにおける処理のオーバーヘッドをまったく伴うことなく、バックアップのためにデータをほかのディスクへコピーすることができる。
【０００３】
ＳＡＮネットワークは、コンピュータとディスクの間におけるデータ転送を、それらが直接接続されているときに等しい、高い周辺チャネル速度において可能にする。ファイバ・チャネル（Fibre Channel）は、ＳＡＮとともに推進力となり、通常はＳＣＳＩコマンドをカプセル化するために用いられる。シリアル・ストレージ・アーキテクチャ（serialstorage architecture；ＳＳＡ）およびエンタープライズ・システム接続（enterprise system connection；ＥＳＣＯＮ）チャネルもまたサポートされている。普及が期待されるＳＡＮのオプションに、ＩＰストレージがあり、これは、高速ギガビット・イーサネット（Gigabit Ethernet）上のＩＰ（Internet Protocol；インターネット・プロトコル）を介してローカルに、あるいはインターネットを介して全世界の随所にデータを転送することを可能にする。ＩＰストレージは、「ｉＳＣＳＩ」と呼ばれることもある。
【０００４】
ＳＡＮは、非常に多くのストレージ・デバイス（記憶装置）を含むことができる。このことは、ブート、保守、およびインストール操作を困難にする。たとえば、ワークステーションまたはサーバを、ＳＡＮ上の４０，０００台のディスク内にあるブート・デバイスからブートすることが考えられる。ブート・デバイスを構成するための多数のデバイスの構成は、時間を要し、効率も悪い。
【０００５】
現在は、ブート・デバイスが、不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）内に識別されている。したがって、保守操作もしくはインストールのために、代替デバイスからのコンピュータのブートが必要になった場合には、ＮＶＲＡＭ内において識別済みデバイスが変更されなければならない。たとえば、コンピュータ上においてインストール操作が行われる場合に、管理者は、コンパクト・ディスク（ＣＤ）等のリムーバブル（取り外し可能）メディアからそのコンピュータのブートを行う必要がある。つまり管理者は、コンピュータ内のブート・ディスクを変更してＳＡＮ上のＣＤドライブを参照させなければならない。
【０００６】
したがって、ストレージ・エリア・ネットワーク上においてブート、保守、またはインストール操作を行うための改善された手段（mechanism）を提供することは利点となるであろう。
【特許文献１】米国特許第６，３４５，２９４号
【特許文献２】米国特許第６，３４３，３２４号
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、ストレージ・エリア・ネットワークに接続された所定のマシンに関するデバイスのセットを構成するための手段を提供する。
【課題を解決するための手段】
【０００８】
ストレージ・エリア・ネットワーク上の各マシン用の初期プログラム・ロード・ファームウエアおよびネットワーク・アダプタ・ファームウエアが、ストレージ・エリア・ネットワーク・アプライアンスにデバイスのリストの照会をするために修正される。ストレージ・エリア・ネットワーク・アプライアンスは、ワールド・ワイド・ネーム（ＷＷＮ）によって識別することができ、かつストレージ・エリア・ネットワーク上の各マシンに関するブート・デバイス、ルート・ボリューム・グループ・デバイス、プライマリ・デバイス、およびセカンダリ・デバイスのリストを保管（store）することができる。ストレージ・エリア・ネットワーク・アプライアンスは、次にクエリを受信待機（listen）し、クエリのタイプおよび／またはブート・タイプに基づいて適切なデバイスのリストを戻す。マシンに関するブート・タイプは、通常ブート、保守ブート、またはインストール・ブートに設定することができる。
【０００９】
新規であると確信される本発明の特徴については付随する特許請求の範囲に示されている。しかしながら本発明自体はもとより、その好ましい実施の形態、さらに別の目的およびその利点は、添付図面とともに以下の例示的な実施態様の詳細な説明を読むことによって最良の理解が得られるであろう。
【発明を実施するための最良の形態】
【００１０】
次に図面を参照すると、図１は、本発明を具体化することのできるストレージ・エリア・ネットワーク（ＳＡＮ）データ処理システムの図である。ＳＡＮデータ処理システム１００は、本発明を実施できるコンピュータのネットワークである。ネットワーク・データ処理システム１００は、ストレージ・エリア・ネットワーク１０２を含むが、これは、ネットワーク・データ処理システム１００内の互いに接続される各種のデバイスとコンピュータの間に通信リンクを提供するために使用されるメディア（medium）である。ネットワーク１０２は、ワイヤ、ワイヤレス通信リンク、あるいは光ファイバ・ケーブル等の接続を含むことができる。
【００１１】
図示された例においては、マシンＡ  １０４、マシンＢ  １０６、およびマシンＣ  １０８が、複数のストレージ・デバイスとともにＳＡＮファブリック１０２に接続されている。前記複数のストレージ・デバイスには、ディスク・アレイ１１２、ディスク・ドライブ１１４、磁気テープ・ドライブ１１６、および光ディスク・ドライブ１１８を含めることができる。ＳＡＮデータ処理システム１００は、このほかにも図示していない追加のマシンおよび他のストレージ・デバイスを含むことができる。いくつかの例においては、前記複数のストレージ・デバイスが、数万台のディスクを含んでいることもある。マシンＡ、マシンＢ、およびマシンＣは、サーバおよび／またはクライアント・ワークステーションとすることができる。
【００１２】
図示された例においては、ＳＡＮファブリック１０２を、ファイバ・チャネル・ネットワークとすることができる。ファイバ・チャネルは、ストレージ・エリア・ネットワーク（ＳＡＮ）の構築に使用される高速伝送技術である。ファイバ・チャネルは、ＡＴＭ、ＩＰ、およびそのほかのプロトコルを搬送する汎用ネットワークとして使用することが可能であるが、基本的にサーバからディスク・アレイへＳＣＳＩトラフィックを転送するために使用されてきた。ファイバ・チャネル・プロトコル（ＦＣＰ；Fibre Channel Protocol）は、ＳＣＳＩコマンドをファイバ・チャネル（Fibre Channel）フレームにシリアライズ化する。しかしながらＩＰが、イン‐バンドＳＮＭＰネットワーク・マネジメントに使用される。ファイバ・チャネルは、シングルモードおよびマルチモードのファイバ接続をサポートするだけでなく、同軸ケーブルならびにツイスト・ペアも同様にサポートする。当然のことながら、ＳＡＮデータ処理システム１００もまた、たとえばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、あるいはワイド・エリア・ネットワーク（ＷＡＮ）のような多数の異なるタイプのネットワークとして具体化することができる。なお図１は、本発明に関するアーキテクチャ上の制限を与えるのではなく、例示として意図されたものである。
【００１３】
マシン１０４〜１０８は、ＳＡＮ内のデバイスからブートすることができる。たとえば、マシンＡ  １０４は、ディスク・ドライブ１１４内のディスクからブートすることができる。現時点においては、ブート・デバイス・アドレスが、マシンＡ内のＮＶＲＡＭに保管（store）されていなければならない。したがって、保守操作もしくはインストールによって、コンピュータを代替デバイスからブートすることが必要となった場合に、ＮＶＲＡＭ内において識別済みデバイスの変更が行われなければならない。たとえば、コンピュータ上においてインストール操作を実施することになった場合に、管理者が、コンパクト・ディスク（ＣＤ）等のリムーバブル・メディアからコンピュータをブートする必要が生じることがある。従って、管理者は、コンピュータ内のブート・ディスクを変更して、ＳＡＮ上のＣＤドライブを参照させなければならない。
【００１４】
本発明の好ましい実施態様によれば、ＳＡＮ  ＢＯＳＢｏｏｔ／ＢＯＳＩｎｓｔａｌｌ（ＢＯＳブート／ＢＯＳインストール）デバイス１２０がＳＡＮファブリック１０２に接続されている。マシン１０４〜１０８の初期プログラム・ロード（ＩＰＬ）ファームウエアおよびネットワーク・アダプタ・ファームウエアは、デバイスのリストに関してＳＡＮデバイス１２０を照会する（クエリを行う）ために修正される。ネットワーク・アダプタは、その中にＳＡＮデバイスのアドレスもしくはワールド・ワイド・ネーム（ＷＷＮ）保管している。基本オペレーティング・システム（ＢＯＳ）ブート操作またはインストール操作を行うとき、ファームウエアは、ブート・デバイスに関するクエリをＳＡＮデバイスへ送信する。その後このファームウエアは、ルート・ボリューム・グループ（ｒｏｏｔｖｇ）デバイス、プライマリ・デバイス、セカンダリ・デバイス、および非必須デバイスに関する類似のクエリを送信することもできる。
【００１５】
管理者は、通常ブート、インストール、または保守ブートのためのブート・タイプを設定することができる。このブート・タイプは、ＳＡＮデバイス１２０内に保管することができる。また管理者は、ブート・デバイス、ｒｏｏｔｖｇ（ルートｖｇ）デバイス、プライマリ・デバイス、セカンダリ・デバイス、および非必須デバイスのリストをＳＡＮデバイス内に保管する。ＳＡＮ  ＢＯＳｂｏｏｔ／ＢＯＳｉｎｓｔａｌｌ（ＢＯＳブート／ＢＯＳインストール）デバイスは、ＳＡＮ上のマシンからのクエリを受信待機する。ブート・クエリを受信したときには、ＳＡＮデバイス１２０が、ブート・タイプに基づいて適切なブート・デバイスのリストを戻す（return）。同様にしてＳＡＮデバイスは、ＳＡＮ上のマシンから受信したクエリに基づいて、ｒｏｏｔｖｇ（ルートｖｇ）デバイス、プライマリ・デバイス、セカンダリ・デバイス、または非必須デバイスのリストを戻すことができる。
【００１６】
次に図２を参照すると、本発明を実施することのできるデータ処理システムを例示するブロック図が示されている。データ処理システム２００は、クライアント・コンピュータの一例である。データ処理システム２００は、ＰＣＩ（Peripheral Component Interconnect）ローカル・バス・アーキテクチャを採用している。図示の例ではＰＣＩバスが使用されているが、ＡＧＰ（AcceleratedGraphics Port）およびＩＳＡ（Industry Standard Architecture）といった他のバス・アーキテクチャを使用してもよい。ＰＣＩローカル・バス２０６へは、ＰＣＩブリッジ２０８を介してプロセッサ２０２およびメイン・メモリ２０４が接続されている。ＰＣＩブリッジ２０８は、プロセッサ２０２用の統合メモリ・コントローラおよびキャッシュ・メモリを含むこともできる。ＰＣＩローカル・バス２０６への追加の接続は、直接コンポーネント相互接続を介して、もしくは拡張ボード（add-inboard）を介して行うことができる。
【００１７】
図示の例においては、ストレージ・エリア・ネットワーク（ＳＡＮ）アダプタ２１０、ＳＣＳＩホスト・バス・アダプタ２１２、および拡張バス・インターフェース２１４が、直接コンポーネント相互接続によってＰＣＩローカル・バス２０６に接続されている。これに対して、オーディオ・アダプタ２１６、グラフィック・アダプタ２１８、およびオーディオ／ビデオ・アダプタ２１９は、拡張スロットに挿入された拡張ボードによってＰＣＩローカル・バス２０６に接続されている。拡張バス・インターフェース２１４は、キーボードおよびマウス・アダプタ２２０、モデム２２２、および追加メモリ２２４のための接続を提供する。ＳＣＳＩ（Small Computer System Interface）ホスト・バス・アダプタ２１２は、ハードディスク・ドライブ２２６、磁気テープ・ドライブ２２８、およびＣＤ‐ＲＯＭドライブ２３０のための接続を提供する。代表的なＰＣＩローカル・バス実装は、３ないしは４個のＰＣＩ拡張スロットもしくは拡張（add-in）コネクタをサポートする。
【００１８】
オペレーティング・システムは、プロセッサ２０２上において実行され、図２のデータ処理システム２００内の各種コンポーネントを調整し、かつ制御する。オペレーティング・システムは、マイクロソフト・コーポレーション（Microsoft Corporation）から入手可能なWindows（ウインドウズ）ＸＰ等の市販のオペレーティング・システムとしてもよい。オペレーティング・システムとともにＪａｖａ等のオブジェクト指向プログラミング・システムを実行して、Ｊａｖａプログラムまたはデータ処理システム２００上において実行中のアプリケーションからオペレーティング・システムに対する呼び出しを提供することもできる。「Ｊａｖａ」はサン・マイクロシステムズ社（SunMicrosystems Inc.）の商標である。オペレーティング・システム、オブジェクト指向オペレーティング・システム、およびアプリケーションもしくはプログラムのための命令は、ハードディスク・ドライブ２２６等のストレージ・デバイス上に配置され、プロセッサ２０２による実行のためにメイン・メモリ２０４内にロードすることができる。
【００１９】
本発明の好ましい実施態様においては、データ処理システム２００が、ストレージ・エリア・ネットワーク上のデバイスから、ＳＡＮアダプタ２１０を介してブートされる。プロセッサ２０２は、ＮＶＲＡＭ  ２５０から、ブート・コードのロードを行うが、これは、初期プログラム・ロード（ＩＰＬ）ファームウエアと呼ばれることもある。ブート・コードは、ＳＡＮ  ＢＯＳｂｏｏｔ／ＢＯＳｉｎｓｔａｌｌ（ＢＯＳブート／ＢＯＳインストール）デバイスに対してデバイスに関する照会をするための命令を含んでいる。ＳＡＮアダプタ２１０内のファームウエアは、ＳＡＮデバイスに関するワールド・ワイド・ネーム（ＷＷＮ）を含むことができる。それに代えて、ＳＡＮデバイスに関するＷＷＮをブート・コードの保管セットとしてもよい。
【００２０】
ＢＯＳｂｏｏｔ（ＢＯＳブート）操作またはＢＯＳｉｎｓｔａｌｌ（ＢＯＳインストール）操作時に、ファームウエアは、ＳＡＮデバイスに対してブート・デバイスに関するクエリを送信する。その後ファームウエアは、ルート・ボリューム・グループ（ｒｏｏｔｖｇ）デバイス、プライマリ・デバイス、セカンダリ・デバイス、または非必須デバイスに関する類似のクエリを送信することができる。このように本発明は、所定のマシンに関して構成されるデバイスのセットを決定するための動的な手段を提供する。
【００２１】
当業者であれば理解されるであろうが、図２のハードウエアは、具体化に応じて多様となり得る。このほかの内部ハードウエアもしくは周辺デバイス、たとえばフラッシュ読み出し専用メモリ（ＲＯＭ）、同等の不揮発性メモリ、あるいは光ディスク・ドライブ等を、図２に図示されているハードウエアに代えて、あるいはそれらに追加して使用してもよい。また、本発明のプロセスをマルチプロセッサ・データ処理システムに適用することもできる。
【００２２】
図２に図示されている例ならびに上記の例に、アーキテクチャ上の限定を含意する意図はない。たとえばデータ処理システム２００を、ＰＤＡの形態に加えて、ノートブック・コンピュータあるいはハンド・ヘルド・コンピュータとしてもよい。さらに、データ処理システム２００をキオスク（Kiosk）もしくはウェブ・アプライアンス（web appliance）とすることもできる。
【００２３】
図３は、本発明の好ましい実施態様に従ったＳＡＮ  ＢＯＳｂｏｏｔ／ＢＯＳｉｎｓｔａｌｌ（ＢＯＳブート／ＢＯＳインストール）デバイスの一例を示したブロック図である。ＳＡＮアプライアンス３００は、コントローラ３０２、ブート／インストール・モジュール３０４、通信アダプタ３０６、および構成モジュール３０８を含んでいる。エレメント３０２〜３０８は、ハードウエア、ソフトウエア、あるいはハードウエアとソフトウエアの組み合わせとして具体化することができる。好ましい実施態様においては、ブート／インストール・モジュール３０４および構成モジュール３０８が、１ないしは複数のプロセッサによって実行されるソフトウエア命令として具体化されている。通信アダプタ３０６は、好ましくはストレージ・エリア・ネットワーク上のマシンおよびデバイスと通信するためのファイバ・チャネル・アダプタ等のＳＡＮアダプタである。
【００２４】
またＳＡＮアプライアンス３００は、ブート・デバイス・リスト３１２、ｒｏｏｔｖｇ（ルートｖｇ）デバイス・リスト３１４、プライマリ・デバイス・リスト３１６、およびセカンダリ・デバイス・リスト３１８を保管している。この例においては、ＳＡＮデバイスが、ブート・デバイス・リスト、ルート・ボリューム・グループ・デバイス・リスト、プライマリ・デバイス・リスト、およびセカンダリ・デバイス・リストを保管している。しかしながら、本発明の範囲内において、それより多くの、もしくはそれより少ないデバイス・リストを保管することもできる。たとえばＳＡＮアプライアンス３００は、非必須デバイス・リストも保管することができる。さらにＳＡＮアプライアンス３００は、通常ブート・デバイス、インストール・ブート・デバイス、および保守ブート・デバイスに関する別々のリストを保管することもできる。
【００２５】
エレメント３０２〜３０８および３１２〜３１８は、コントロール／データ信号バス３２０を介して互いに結合されている。図３にはバス・アーキテクチャが示されているが、そのような形態に本発明が限定されることはない。むしろ、エレメント３０２〜３０８および３１２〜３１８の間におけるコントロール／データ信号の通信を容易にする任意のアーキテクチャを、本発明の精神ならびに範囲から逸脱することなく使用することができる。コントローラ３０２は、ＳＡＮアプライアンスの全体的な動作を制御し、かつ残りのエレメント３０４〜３０８の動作を調整する。
【００２６】
本発明の動作によれば、ブート／インストール・モジュール３０４がコントローラ３０２に対して、通信アダプタ３０６を介してクエリを受信待機するように命令する。ＳＡＮアプライアンス３００は、各マシンのブート・タイプも保管している。これは、ブート・デバイス・リスト３１２内もしくはそのほかの場所に保管することができる。ブート・デバイスに関するクエリを受信するときには、ブート／インストール・モジュールが、要求を行っているマシンに関するブート・タイプに基づいてブート・デバイス・リスト３１２内の適切なブート・デバイスを識別する。ｒｏｏｔｖｇ（ルートｖｇ）デバイスに関するクエリを受信するときには、ブート／インストール・モジュールが、ｒｏｏｔｖｇ（ルートｖｇ）デバイス・リスト３１４からのｒｏｏｔｖｇ（ルートｖｇ）デバイスのリストを戻す。プライマリ・デバイスに関するクエリを受信するときには、ブート／インストール・モジュール３０４が、プライマリ・デバイス・リスト３１６からのプライマリ・デバイスのリストを戻す。同様に、セカンダリ・デバイスに関するクエリを受信するときには、ブート／インストール・モジュールが、セカンダリ・デバイス・リスト３１８からのセカンダリ・デバイスのリストを戻す。
【００２７】
構成モジュール３０８は、コントローラ３０２に対してマシンと通信し、設定を構成し、デバイス・リストの生成、更新、削除、および修正を行うように命令する。たとえば構成モジュール３０８は、リモート・ロケーションにおいて特定のマシンに関するブート・タイプを設定すること、あるいはプライマリ・デバイス・リストにデバイスを追加することを、管理者に対して許可することができる。本発明の好ましい実施態様においては、構成モジュール３０８が、ウェブ・ブラウザを介して管理者のワークステーションに構成インターフェースを提供するウェブ・サーバを含むことができる。
【００２８】
図３に図示された例ならびに上記の例に、アーキテクチャ上の限定を含意する意図はない。たとえばＳＡＮアプライアンス３００を、ストレージ・エリア・ネットワークに接続されるコンピュータもしくはサーバとすることもできる。また構成モジュールが、ＳＡＮアプライアンスのＷＷＮもしくはアドレス、ＳＡＮアプライアンスに関するユーザ名ならびにパスワードといったそのほかのオプションの設定を管理者に許可するようにしてもよい。
【００２９】
図４を参照すると、本発明の好ましい実施態様に従ってＳＡＮ  ＢＯＳｂｏｏｔ／ＢＯＳｉｎｓｔａｌｌ（ＢＯＳブート／ＢＯＳインストール）デバイスの動作を例示したフローチャートが示されている。プロセスが開始すると管理者は、ＳＡＮデバイス内の通常ブート用のブート・デバイスをセットし（ステップ４０２）、さらに管理者は、ＳＡＮデバイス内のインストール／保守用のブート・デバイスをセットする（ステップ４０４）。続いて管理者は、ＳＡＮアプライアンス内のｒｏｏｔｖｇ（ルートｖｇ）デバイスをセットし（ステップ４０６）、プライマリ・デバイスをセットし（ステップ４０８）、マシンに関するブート・タイプをセットする（ステップ４１０）。
【００３０】
終了条件が存在するか否かについての決定が行われる（ステップ４１２）。終了条件は、たとえばＳＡＮデバイスがオフもしくはオフラインとなったときとすることができる。終了条件が存在すれば、プロセスが終了する。しかしながらステップ４１２において終了条件が存在しなければ、クエリを受信しているか否かについての決定がなされる（ステップ４１４）。クエリを受信していない場合には、プロセスがステップ４１２へ戻り、終了条件が存在するか否かについての決定がなされる。
【００３１】
ステップ４１４においてクエリを受信した場合には、クエリのタイプが決定される（ステップ４１６）。クエリがブート・クエリである場合には、プロセスが、要求を行っているマシンのブート・タイプに基づいてブート・デバイスのリストを戻す（ステップ４１８）。その後プロセスが、ステップ４１２へ戻り、終了条件が存在するか否かについての決定がなされる。ステップ４１６において、クエリがｒｏｏｔｖｇ（ルートｖｇ）クエリであった場合には、プロセスが、要求を行っているマシンにｒｏｏｔｖｇ（ルートｖｇ）デバイスのリストを戻し（ステップ４２０）、ステップ４１２へ戻って終了条件が存在するか否かについての決定を行う。ステップ４１６において、クエリがプライマリ・デバイス・クエリであった場合には、プロセスが、要求を行っているマシンにプライマリ・デバイスのリストを戻し（ステップ４２２）、ステップ４１２へ戻って終了条件が存在するか否かについての決定を行う。
【００３２】
図４に示されている例は、ブート・デバイス・リスト、ルート・ボリューム・グループ・デバイス・リスト、およびプライマリ・デバイス・リストを戻す。しかしながらＳＡＮデバイスは、本発明の範囲内において、それより多くの、あるいはそれより少ないデバイス・リストを戻すことができる。たとえばクエリ・タイプに、セカンダリ・デバイスおよび非必須デバイスに関するクエリを含めてもよい。
【００３３】
次に図５を参照すると、本発明の好ましい実施態様に従ってインストール／保守オペレーションの動作を例示したフローチャートが示されている。このプロセスが開始すると、ＩＰＬファームウエアがクエリ・タイプを「ブート」にセットする（ステップ５０２）。続いてファームウエアは、ＳＡＮアプライアンスへクエリを送り（ステップ５０４）、ＳＡＮアプライアンスからブート・デバイスのリストを受け取る（ステップ５０６）。
【００３４】
その後プロセスは、ブート・デバイスの構成を行い（ステップ５０８）、ブート・イメージを読み出し（ステップ５１０）、カーネルおよびランダム・アクセス・メモリ（ＲＡＭ）のファイル構造（ＦＳ）をブート・イメージから読み出す（ステップ５１２）。さらにその後プロセスは、構成マネージャを実行する（ステップ５１４）。
【００３５】
構成マネージャは、クエリ・タイプを「ｒｏｏｔｖｇ（ルートｖｇ）」にセットする（ステップ５１６）。次に構成マネージャは、ＳＡＮアプライアンスに対してクエリを送り（ステップ５１８）、ＳＡＮアプライアンスからｒｏｏｔｖｇ（ルートｖｇ）デバイスのリストを受け取る（ステップ５２０）。プロセスは、ｒｏｏｔｖｇ（ルートｖｇ）デバイスの構成を行い（ステップ５２２）、ｒｏｏｔｖｇ（ルートｖｇ）デバイスをターゲット・インストール・デバイスとして表示する（ステップ５２４）。その後、このプロセスが終了する。
【００３６】
ここで図６を参照すると、本発明の好ましい実施態様に従ってブート・オペレーションの動作を例示したフローチャートが示されている。このプロセスが開始すると、ＩＰＬファームウエアがクエリ・タイプを「ブート」にセットする（ステップ６０２）。続いてファームウエアは、ＳＡＮアプライアンスへクエリを送り（ステップ６０４）、ＳＡＮアプライアンスからブート・デバイスのリストを受け取る（ステップ６０６）。
【００３７】
その後プロセスは、ブート・デバイスの構成を行い（ステップ６０８）、ブート・イメージを読み出し（ステップ６１０）、カーネルおよびＲＡＭのＦＳをブート・イメージから読み出す（ステップ６１２）。さらにプロセスは、構成マネージャを実行する（ステップ６１４）。
【００３８】
その後、構成マネージャは、クエリ・タイプを「ｒｏｏｔｖｇ（ルートｖｇ）」にセットする（ステップ６１６）。次に構成マネージャは、ＳＡＮアプライアンスに対してクエリを送り（ステップ６１８）、ＳＡＮアプライアンスからｒｏｏｔｖｇ（ルートｖｇ）デバイスのリストを受け取る（ステップ６２０）。プロセスは、ｒｏｏｔｖｇ（ルートｖｇ）デバイスの構成を行う（ステップ６２２）。その後プロセスは、ｒｏｏｔｖｇ（ルートｖｇ）ファイル・システムを開始する（ステップ６２４）。
【００３９】
構成マネージャは、クエリ・タイプを「プライマリ」にセットし（ステップ６２６）、ＳＡＮアプライアンスに対してクエリを送り（ステップ６２８）、ＳＡＮアプライアンスからプライマリ・デバイスのリストを受け取る（ステップ６３０）。その後構成マネージャは、プライマリ・デバイスの構成を行い（ステップ６３２）、プロセスがプライマリ・ボリューム・グループをスタートする（ステップ６３４）。さらにその後、プロセスがプライマリ・ファイル・システムをマウントし（ステップ６３６）、プロセスが終了する。
【００４０】
マシンが立ち上がり、実行が始まると、構成マネージャが、同様の方法に従ってセカンダリ・デバイスおよび非必須デバイスのセット・アップを行うことができる。ブートに関する段階（phase）は、具体化に応じて任意数の段階に分割することができる。たとえば、プライマリ・デバイスが、ブート・デバイスならびにｒｏｏｔｖｇ（ルートｖｇ）デバイスを除くすべてのデバイスを含むようにしてもよい。
【００４１】
このように本発明は、ストレージ・エリア・ネットワーク上のマシンに関するストレージ・デバイスの構成を動的に行うためのメカニズムを提供することによって従来技術の欠点を解決している。ＳＡＮアプライアンスは、管理者による、ブートおよび／またはインストール用のマシンへのＳＡＮからのデバイスの割り当てを可能にする。本発明は、マシン自体のファームウエア内のアドレスを変更する必要のない、ブート・デバイスの容易な変更を可能にする。さらに、デバイスの段階的な構成を行うことが可能であり、その結果、ブート／インストール・プロセスの間における数千ものデバイスの構成の必要性、すなわちその後のそれらの再構成のために行われるような構成の必要性が排除される。本発明は、構成が行われるべきデバイスのセットを考慮し、所定のマシン上における段階的構成が、特定の構成段階の間にいずれのデバイスの構成が行われるかについて動的に決定できるようにしている。さらに、それらのデバイスは、マシンがダウンしている間、実行している間、あるいはそのマシンにオペレーティング・システムがインストールされる前に定義することができる。
【００４２】
ここで重要なことは、本発明が完全に機能するデータ処理システムに関連して説明されているが、当業者にあっては、本発明によるプロセスが命令のコンピュータ可読媒体の形式ならびに各種の形式で配布可能であること、および本発明が配布を行うために実際に使用される信号担持（bearing）媒体の特定のタイプとは無関係に等しく適用されることに注意することである。コンピュータ可読媒体の例としては、フレキシブル・ディスク、ハードディスク・ドライブ、ＲＡＭ、ＣＤ‐ＲＯＭ、ＤＶＤ‐ＲＯＭ等の記録可能タイプの媒体、たとえば無線周波数および光通信等の伝送形式を使用するディジタルならびにアナログ通信リンク、有線またはワイヤレス通信リンクといった伝送タイプの媒体を挙げることができる。コンピュータ可読媒体は、特定のデータ処理システム内における実際の使用ためにデコードされ、コード化されたフォーマットの形式をとることができる。
【００４３】
以上、例証ならびに説明を目的として本発明の記載をしたが、それが網羅的であること、あるいは開示された形式に本発明を限定することは意図されていない。当業者にとっては、多くの修正および変形が明らかであろう。これらの実施態様は、企図された特定の使用に対して多様な修正を伴う多様な実施態様が適切になることから、本発明の原理、特定の応用がもっとも良好に説明されるべく、かつ当業者が本発明の理解を得られるべく選択され、説明されている。
【図面の簡単な説明】
【００４４】
【図１】本発明を具体化することのできるストレージ・エリア・ネットワーク・データ処理システムを表した図である。
【図２】本発明を具体化することのできるデータ処理システムを例示したブロック図である。
【図３】本発明の好ましい実施態様によるＳＡＮ  ＢＯＳｂｏｏｔ／ＢＯＳｉｎｓｔａｌｌ（ＢＯＳブート／ＢＯＳインストール）デバイスの一例を示したブロック図である。
【図４】本発明の好ましい実施態様によるＳＡＮ  ＢＯＳｂｏｏｔ／ＢＯＳｉｎｓｔａｌｌ（ＢＯＳブート／ＢＯＳインストール）デバイスの動作を例示したフローチャートである。
【図５】本発明の好ましい実施態様によるインストール／保守オペレーションを例示したフローチャートである。
【図６】本発明の好ましい実施態様によるブート・オペレーションを例示したフローチャートである。
【符号の説明】
【００４５】
１００  ＳＡＮデータ処理システム／ネットワーク・データ処理システム
１０２  ＳＡＮファブリック／ストレージ・エリア・ネットワーク／ネットワーク
１０４  マシンＡ
１０６  マシンＢ
１０８  マシンＣ
１０４〜１０８  マシン
１１２  ディスク・アレイ
１１４  ディスク・ドライブ
１１６  磁気テープ・ドライブ
１１８  光ディスク・ドライブ
１２０  ＳＡＮ  ＢＯＳＢｏｏｔ／ＢＯＳＩｎｓｔａｌｌ（ＢＯＳブート／ＢＯＳインストール）デバイス／ＳＡＮデバイス
２００  データ処理システム
２０２  プロセッサ
２０４  メイン・メモリ
２０６  ＰＣＩローカル・バス
２０８  ＰＣＩブリッジ
２１０  ＳＡＮアダプタ／ストレージ・エリア・ネットワーク・アダプタ
２１２  ＳＣＳＩホスト・バス・アダプタ
２１４  拡張バス・インターフェース
２１６  オーディオ・アダプタ
２１８  グラフィック・アダプタ
２１９  オーディオ／ビデオ・アダプタ
２２０  キーボードおよびマウス・アダプタ
２２２  モデム
２２４  追加メモリ
２２６  ハードディスク・ドライブ
２２８  磁気テープ・ドライブ
２３０  ＣＤ‐ＲＯＭドライブ
２５０  ＮＶＲＡＭ
３００  ＳＡＮアプライアンス
３０２  コントローラ
３０４  ブート／インストール・モジュール
３０６  通信アダプタ
３０８  構成モジュール
３０２〜３０８  エレメント
３１２  ブート・デバイス・リスト
３１４  ｒｏｏｔｖｇ（ルートｖｇ）デバイス・リスト
３１６  プライマリ・デバイス・リスト
３１８  セカンダリ・デバイス・リスト
３１２〜３１８  エレメント
３２０  コントロール／データ信号バス
【図１】
2004355624.tif 000003
【図２】
2004355624.tif 000004
【図３】
2004355624.tif 000005
【図４】
2004355624.tif 000006
【図５】
2004355624.tif 000007
【図６】
2004355624.tif 000008