(57)【要約】  サーバのリモートブート用のシステムは、クライアント開始部、ｉＳＣＳＩ仮想化部、およびｉＳＣＳＩ開始部を有する。クライアント開始部はサーバへのアクセスを要求し、ｉＳＣＳＩ仮想化部はアクセス要求を受け取る。それから、ｉＳＣＳＩ開始部はｉＳＣＳＩ仮想化部が受け取った要求に応じて、サーバ上のｉＳＣＳＩブートＲＯＭを使用することによって、サーバへのログインを開始し、ｉＳＣＳＩブートＲＯＭを使用することによってディスクオペレーティングシステムをエミュレートし、サーバのブートを可能にする。サーバは、８ビットモードと次の３２ビットモードの両方でブートする。ｉＳＣＳＩブートＲＯＭは、サーバのブートが完了したときローカル装置として現れる。ｉＳＣＳＩ仮想化部は少なくとも二度、ログインを認証する。ｉＳＣＳＩ仮想化部は、一対の複製したアクティブディレクトリサービスサーバ（ＡＤＳＳ）を有する。
2009536375.tif 000002
【特許請求の範囲】
【請求項１】
サーバのリモートブート用のシステムであって、
前記サーバへのアクセスを要求するクライアント開始部と、
アクセス要求を受け取るｉＳＣＳＩ仮想化部と、
前記ｉＳＣＳＩ仮想化部が受け取った要求に応じて、前記サーバ上のｉＳＣＳＩブートＲＯＭを使用することによって、前記サーバへのログインを開始し、前記ｉＳＣＳＩブートＲＯＭを使用することによって、ディスクオペレーティングシステムをエミュレートし、前記サーバのブートを可能にするｉＳＣＳＩ開始部を有するシステム。
【請求項２】
前記サーバが、１６ビットモードと、次の３２ビットモードの両方でブートする請求項１記載のシステム。
【請求項３】
前記ｉＳＣＳＩブートＲＯＭが、サーバのブートの完了時に、ローカル装置として現れる請求項１記載のシステム。
【請求項４】
前記ｉＳＣＳＩ仮想化部が、前記ログインを認証する請求項１記載のシステム。
【請求項５】
前記ｉＳＣＳＩ仮想化部が、前記ログインを少なくとも二度認証する請求項４記載のシステム。
【請求項６】
前記ｉＳＣＳＩ仮想化部が、一対の複製したアクティブディレクトリサービスサーバ（ＡＤＳＳ）を有する請求項１記載のシステム。
【請求項７】
サーバのリモートブート用の方法であって、
サーバにアクセスするための要求を開始部から受け取り、
要求に基づいてサーバの電源をオンすることによって、サーバのブートを開始し、ｉＳＣＳＩブートＲＯＭを用いて、開始したブート処理を中断し、
前記ｉＳＣＳＩブートＲＯＭを用いて、ディスクオペレーティングシステムをエミュレートし、
ディスクオペレーティングシステムのエミュレーションに基づいて前記サーバを完全にブート可能にする方法。
【請求項８】
前記サーバを完全にブート可能にする前記ステップがさらに、１６ビットモードと次の３２ビットモードの使用によって、前記サーバを完全にブート可能にすることを含む請求項７記載の方法。
【請求項９】
さらに、サーバのブートの完了時に、ローカル装置として前記ｉＳＣＳＩブートＲＯＭを提供するステップを有する請求項７記載の方法。
【請求項１０】
さらに、前記サーバへのログインを認証するステップを有する請求項７記載の方法。
【請求項１１】
さらに、前記サーバへの前記ログインを少なくとも二度認証するステップを有する請求項１０記載の方法。
【請求項１２】
サーバのリモートブート用のシステムであって、
前記サーバへのアクセスを要求する手段と、
前記アクセス要求を受け取る手段と、
前記アクセス要求に応じて、前記サーバ上に存在するｉＳＣＳＩブートＲＯＭを使用することによって、前記サーバへのログインを開始し、前記ｉＳＣＳＩブートＲＯＭを使用することによって、ディスクオペレーティングシステムをエミュレートし、前記サーバのブートを可能にするシステム。
【請求項１３】
前記サーバが、１６ビットモードと次の３２ビットモードの両方でブートする請求項１２記載のシステム。
【請求項１４】
前記ｉＳＣＳＩブートＲＯＭが、サーバのブート完了時にローカル装置として現れる請求項１２記載のシステム。
【請求項１５】
前記受け取る手段が、さらに前記ログインを認証する請求項１２記載のシステム。
【請求項１６】
前記受け取る手段が、前記ログインを少なくとも二度認証する請求項１５記載のシステム。
【請求項１７】
前記受け取る手段が、一対の複製したアクティブディレクトリサービスサーバ（ＡＤＳＳ）を有する請求項１２記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はサーバのリモートブートに関し、より詳細には、ｉＳＣＳＩブートドライブを使用することによるサーバのリモートブートに関する。
【背景技術】
【０００２】
（優先権の主張）
この出願は、米国仮出願番号第６０／４９８，４６０号、発明の名称「拡張可能なインターネットエンジン用のｉＳＣＳＩブートドライブシステムおよび方法」、出願日２００３年、８月２８日、米国仮出願番号第６０／４９８，４４７号、発明の名称「拡張可能なインターネットエンジン用の保守ユニットアーキテクチャ」、出願日２００３年８月２８日、および米国仮出願番号第６０／４９８，４９３号、「ネットワークスイッチが付いているブレード（サーバ）のための計算ハウジング」、出願日２００３年８月２８日に対して優先権を主張し、それらの開示内容は参照によってここで組み込まれる。さらに、この出願は参照によって米国特許出願番号第０９／７１０，０９５号、発明の名称「様々なアカウント／サイト全体で動的ホストサービス管理を提供するための方法およびシステム」、出願日２０００年１１月１０日を組み込む。
【０００３】
コンピュータまたはコンピュータシステムはオンにしたとき、オペレーティングシステムをロードすることによって、動作の準備を行わなければならない。単一のコンピュータシステムの正常な動作では、使用者がコンピュータにブートコマンドを発行し、コンピュータはコンピュータのシステムメモリからオペレーティングシステムのファイルの取得を試みることによって、ブートコマンドに応答する。特定のハードウェア構成に必要なハードウェアパラメータを用いて特定のマシンを構成するには、構成データファイルも必要とされる。これらのファイルはさらに、特定のマシンに関連したビデオ、プリンタ、および周辺装置を初期化するために必要とされる情報を有する。例えば、これらのファイルは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｃｏｒｐｏｒａｔｉｏｎから入手可能なＭＳ−ＤＯＳオペレーティングシステム内のＣＯＮＦＩＧ．ＳＹＳを含んでいる。
【０００４】
コンピュータまたはコンピュータシステムは、通常クライアントワークステーション、サーバおよび中央ネットワークからなるネットワーク内に接続できる。電源をオフにしているときコンピュータのストレージが維持されるシステムでは、オペレーティングシステムはコンピュータ自体に格納できる。コンピュータが電源をオフにしているとき失われるストレージしか有していないシステムでは、コンピュータはコンピュータ自体内からはブート情報を取得できない。その場合、クライアントはネットワークを介して、ブートサーバとして機能しているサーバにオペレーティングシステムファイルの要求を送る。クライアントワークステーションが不揮発性ストレージ機能を有していても、ワークステーションのコンピュータ内のメモリ空間が節約されるので、サーバからブートすることが望ましい。オペレーティングシステムおよびアプリケーションプログラムが新しくより大きな機能を提供するように拡張するので、サーバからのブートが非常に望ましくなる。
【０００５】
市場には、リモートブートのいくつかの方法が存在する。一つは、リモート初期プログラムロード（ＲＩＰＬ）と呼ばれる。ＲＩＰＬは、リモート位置からワークステーション上にオペレーティングシステムをロードする処理である。ＲＩＰＬプロトコルは、３Ｃｏｍ、Ｍｉｃｒｏｓｏｆｔ（登録商標）、およびＩＢＭ（登録商標）によって共同開発された。現在では、ＩＢＭ（登録商標）ＯＳ／２  Ｗａｒｐ  Ｓｅｒｖｅｒ、ＤＥＣ（登録商標）Ｐａｔｈｗｏｒｋｓ、およびＷｉｎｄｏｗｓ（登録商標）ＮＴと共に用いられている。他の二つの一般に用いられているリモートＩＰＬプロトコルは、ＵＮＩＸ（登録商標）およびＴＣＰ／ＩＰネットワークと共に用いられているＮｏｖｅｌｌ（登録商標）ＮＣＰ（ＮｅｔＷａｒｅ  Ｃｏｒｅ  Ｐｒｏｔｏｃｏｌ）、およびＢＯＯＴ−Ｐ（ＩＥＥＥ規格）である。
【０００６】
ＲＩＰＬは、ハードウェアとソフトウェアの組み合わせを用いて実現されている。要求元またはワークステーションと呼ばれる要求装置は、それにブートストラッププログラムを送るようにローディング装置に要求することによって開始する。ローディング装置はハードディスクを有し、ＲＩＰＬサーバまたはファイルサーバと呼ばれる別のコンピュータである。ＲＩＰＬサーバはローダプログラムを用いて、ワークステーションにブートストラッププログラムを送る。いったんワークステーションがブートストラッププログラムを受け取ると、オペレーティングシステムを要求するために装備され、さらにアプリケーションプログラムを要求し使用することができる。ソフトウェア実装はベンダ毎に異なるが、理論的には、それらは全ての同様の機能を実行し同様の処理を経る。クライアントワークステーションは、そのローカルエリアネットワーク（ＬＡＮ）アダプタまたはネットワークインタフェースカード（ＮＩＣ）上に設置した専用リードオンリメモリ（ＲＯＭ）を必要とする。専用ＲＯＭは一般にリモートブートＲＯＭとして知られているが、リモートブートチップの二つの具体例は、ＡＮＳＩ／ＩＥＥＥ規格８０２．２をサポートするＲＩＰＬチップと、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）環境内で用いられるプリブート実行環境（ＰＸＥ）チップである。
【０００７】
リモートブートを行うさらに別の方法は、米国特許第６，４８７，６０１号に記載されている。動的ＭＡＣ割り当ておよび構成用のこの方法は、サーバマシンからクライアントマシンにリモートブートする機能に基づいて、ローカル管理アドレス（ＬＡＡ）を割り当てる機能を追加して汎用管理アドレス（ＵＡＡ）を上書きする。ワークステーションにおける一組のプログラムは、リモートブートおよびサーバとの相互作用を可能にする。クライアントマシンは、ＤＭＡＣ発見フレームを送出する。発見フレームは、実行し要求をリスニング中のサーバ上にインストールしたＤＭＡＣプログラムによって中断される。いったんＤＭＡＣプログラムが要求を中断すると、その要求を解析して二つの動作の一つを行う。必要であれば、サーバは「初期化」スクリプトを実行する。既に初期化されているワークステーションの場合、サーバはテーブルまたはプールからクライアントワークステーションにＬＡＡを送る。その後、クライアントワークステーションは、その新しいＬＡＡを備えたオペレーティングシステムを要求する。ブートオプションは、ＬＡＡまたはＬＡＡの範囲に対応するテーブルまたはプールである。ＵＡＡの上書きを実現するために、ＤＭＡＣはワークステーションにＬＡＡを割り当てる。いったんＬＡＡが割り当てられると、そのアドレスに送出されるパッケージに基づいてブートを続行する。
【０００８】
インターネットＳＣＳＩ（ｉＳＣＳＩ）プロトコルは、ＴＣＰ／ＩＰネットワーク上でブロックストレージアプリケーションを有効にする手段を定義する。ＳＣＳＩアーキテクチャはクライアント／サーバモデルに基づいており、ｉＳＣＳＩはこれを考慮してＴＣＰ／ＩＰネットワーク上にストレージ機能を提供する。クライアントは一般にファイルサーバ等のホストシステムであり、データを読み書きするための要求を発行する。サーバは、クライアントの要求に応答するディスクアレイ等の資源である。ストレージ用語では、クライアントは、コマンドの発行において能動的役割を果たす開始部である。サーバは目標であり、クライアントの要求を実現する受動的役割を果たし、開始部のコマンドを処理する一つ以上の論理ユニットを有する。論理ユニットには、識別番号、つまり論理ユニット番号（ＬＵＮ）を割り当てる。
【０００９】
論理ユニットによって処理されるコマンドは、ホストシステムが発行するコマンド記述ブロック（ＣＤＢ）に含まれている。例えば、特定の論理ユニットに送られるＣＤＢは、所定の数のデータブロックを読み出すためのコマンドであってもよい。目標の論理ユニットは、要求されたブロックの開始部へ転送を開始し、要求の完了を示すステータスによって終了する。ｉＳＣＳＩの中心的役割は、ＴＣＰ／ＩＰネットワーク上の開始部と目標の間のＣＤＢトランザクションをカプセル化して確実に提供することである。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
この発明は、サーバのリモートブート用のシステムおよび方法である。システムは一般に、クライアント開始部、ｉＳＣＳＩ仮想化部、およびｉＳＣＳＩ開始部を有する。クライアント開始部はサーバへのアクセスを要求し、ｉＳＣＳＩ仮想化部はアクセス要求を受け取る。それから、ｉＳＣＳＩ開始部はｉＳＣＳＩ仮想化部が受け取った要求に応じて、サーバ上のｉＳＣＳＩブートＲＯＭを使用することによってサーバへのログインを開始し、ｉＳＣＳＩブートＲＯＭを使用することによってディスクオペレーティングシステムをエミュレートし、サーバのブートを可能にする。
【課題を解決するための手段】
【００１１】
サーバは、８ビットモードと次の３２ビットモードの両方でブートする。ｉＳＣＳＩブートＲＯＭは、サーバのブートが完了したときローカル装置として現れる。ｉＳＣＳＩ仮想化部は少なくとも二度、ログインを認証する。ｉＳＣＳＩ仮想化部は、一対の複製したアクティブディレクトリサービスサーバ（ＡＤＳＳ）を有する。
【００１２】
この発明のサーバをリモートブートする方法は、次のステップを含んでいる。１）開始部からの要求を受け取り、サーバにアクセスする。２）要求に基づいてサーバをオンにすることによって、サーバのブートを開始する。３）ｉＳＣＳＩブートＲＯＭを用いて、開始したブート処理を中断する。４）ｉＳＣＳＩブートＲＯＭを用いて、ディスクオペレーティングシステムをエミュレートする。５）ディスクオペレーティングシステムのエミュレーションに基づいてサーバの完全なブートを可能にする。
【発明を実施するための最良の形態】
【００１３】
図１を参照すると、拡張可能なインターネットエンジン用のアーキテクチャ１００は、各々エンジンブレード１１０として構成した複数のサーバ基板によって規制されている。インターネットエンジンの拡張性に関するさらなる詳細は、米国特許第６，４５２，８０９号、発明の名称「拡張可能なインターネットエンジン」内に提供されており、参照によってここで組み込まれる。このアーキテクチャはさらに一組のハードウェア１３０によって規制され、ハードウェア１３０はＡＤＳＳモジュール１３２、ドメインホスト制御プロトコルサーバ（ＤＨＣＰＤ）１３４、データベース１３６、ＸＭＬインタフェース１３８および監視タイマ１４０を含むアクティブデータストレージシステム（ＡＤＳＳ）を確立する。ハードウェア１３０はハードウェア１５０によって複製され、ハードウェア１５０はＡＤＳＳモジュール１５２、ドメインホスト制御プロトコルサーバ（ＤＨＣＰＤ）１５４、データベース１５６、ＸＭＬインタフェースおよび監視タイマ１６０を有する。ＡＤＳＳハードウェア１３０とＡＤＳＳハードウェア１５０はどちらも、イーサネット（登録商標）スイッチング装置１２０を介してブレード１１０にインタフェースする。組み合わせたＡＤＳＳハードウェア１３０とＡＤＳＳハードウェア１５０は、仮想化部、つまり開始部への仮想ボリュームとして機能できるシステム（例えば、クライアント、ホストシステム、またはデータの読み書きを要求するファイルサーバ）と見なすこともできる。
【００１４】
アーキテクチャ１００はさらにエンジンオペレーティングシステム（ＯＳ）１６２とストレージスイッチ１６６によって規制され、エンジンＯＳ１６２はハードウェア１３０、１５０とシステム管理ユニット（ＳＭＵ）１６４の間を動作可能なように接続し、ストレージスイッチ１６６はハードウェア１３０、１５０と複数のストレージディスク１６８の間を動作可能なように接続する。
【００１５】
ＡＤＳＳモジュール１３２と１５２は分散コンピューティング環境用のディレクトリサービスを実現し、単一の簡略化された一組のインタフェースを備えたアプリケーションを提供し、使用者は独自サービスの間の違いを迂回しながら、様々なネットワークからディレクトリ資源を見つけ出し利用することができる。それは集中型の標準化されたシステムであり、ユーザデータ、セキュリティ、および分散資源のネットワーク管理を自動化し、他のディレクトリとの相互運用を可能にする。さらに、アクティブディレクトリサービスによって、使用者は単一のログオン処理を用いて、ネットワーク上の任意の場所の許可された資源にアクセスでき、同時にネットワーク管理者にはネットワークの直観的な階層的視点、および全てのネットワークオブジェクトに対する単一点管理が提供される。
【００１６】
ＤＨＣＰＤ１３４と１５４はアーキテクチャ１００に接続した装置に、サーバシステム内の一意的なＩＰアドレスを割り当てるように動作し、例えば、コンピュータがネットワークにログオンしたとき、ＤＨＣＰサーバはマスタリストから一意的な未使用のＩＰアドレスを選択し、それをシステムに割り当てる。それらの各ＡＤＳＳモジュールおよびＤＨＣＰＤに通信可能なように接続したデータベース１３６と１５６は、全ての目標、開始部、ボリューム、および生のストレージマッピング情報のリポジトリとして機能し、さらにＤＨＣＰＤの情報源としても機能する。データベースは全てのＡＤＳＳチームメンバ間で複製され、必須のシステム情報が冗長的になるようにする。ＸＭＬインタフェースデーモン１３８と１５８は、エンジンオペレーティングシステム１６２とＡＤＳＳハードウェア１３０、１５０の間のインタフェースとして機能する。それらは、ロギング機能を提供し、ＡＤＳＳ機能を自動化するロジックを提供するように機能する。監視タイマ１４０と１６０は、任意のサーバ動作のロックアップが発生した際にサーバ動作を再開し、例えば、監視タイマのタイムアウトはＡＤＳＳの故障を示す。ストレージスイッチ１６６は好ましくはファイバチャネルまたはイーサネット（登録商標）型であり、ディスク１６８とＡＤＳＳハードウェア１３０、１５０の間でデータのストレージおよび検索を可能にする。
【００１７】
なお、図のアーキテクチャ１００の実施例では、ＡＤＳＳハードウェア１３０は故障がない限り、主ＤＨＣＰサーバとして機能する。ライン１３９として表されているハートビート監視回路は、ＡＤＳＳハードウェア１３０とＡＤＳＳハードウェア１５０の間のアーキテクチャ内に組み込んで故障のテストを行う。サーバ１３０の故障時には、サーバ１５０はハートビート応答がないことを検出し、直ちにＤＨＣＰ情報を提供し始める。特に大きな環境では、サーバハードウェアはファイバチャネルスイッチを介して、ディスク１６８内のストレージ等の利用可能な全てのストレージを調べ、サーバの一つに故障が発生した場合、別の複数のサーバ（ここでは他の一つだけが示されているが）の一つが、故障したサーバの機能の代わりになるようにする。アーキテクチャ１００の全てのＩＰおよびＭＡＣアドレス情報に対してサーバ毎に一つのデータベースだけが存在するので、ＤＨＣＰＤモジュールは対応するデータベースに直接インタフェースする。
【００１８】
この実施例では、エンジンオペレーティングシステムのインタフェース１６４（または単純なウェブベースのインタフェース）は、ＸＭＬインタフェースデーモン１３８または１５８を介して「動作」コマンドを発行し、仮想ボリュームの生成、変更、または削除を行う。ＸＭＬインタフェース１３８はさらに、開始部が利用可能な仮想ボリュームの割り当て／割り当て解除または拡大／縮小用の動作コマンド、およびチェックポイント、ミラー、コピー、移動コマンドを発行する。ＸＭＬインタフェースデーモン１３８のロジック部はさらに、正当な動作のチェック、サーバコマンドへの変換、サーバコマンドの実行、コマンド実行の確認、コマンドが失敗した場合のロールバック、およびエンジンオペレーティングシステム１６２へのフィードバックの提供を含む「動作」コマンドを受け取る。エンジンオペレーティングシステム１６２はさらに、ＸＭＬインタフェース１３８を介した情報のクエリを発行し、ＸＭＬインタフェース１３８は正当なクエリのチェック、ＸＭＬクエリのデータベースクエリへの変換、応答のＸＭＬへの変換、ＸＭＬデータのオペレーティングシステム１６２への返信を行う。ＸＭＬインタフェース１３８はさらにオペレーティングシステム１６２に警告を送信し、故障の警告はログインサーバまたはＳＮＭＰを介して送信される。
【００１９】
明らかに、この発明のＡＤＳＳシステムは分散性を有する。具体的には、この発明は分散仮想化を有し、この発明の全てのＡＤＳＳユニットは全てのクライアントブレードを「調べる」ことができ、全てのＡＤＳＳユニットは仮想ボリュームを格納した全てのＲＡＩＤストレージユニットを「調べる」ことができるので、この発明は任意のＡＤＳＳが任意のクライアントブレードにサービスを提供できる。このように、クライアントブレードは、負荷の障害回避または再分配のために、要求に応じて任意のＡＤＳＳユニットにマッピングできる。それから、任意の時刻にＡＤＳＳユニットをチームに追加し、全システムの合計の帯域幅を更新できる。この発明は、Ｄａｔａｃｏｒｅ（商標）によるＳＡＮＳｙｍｐｈｏｎｙ（商標）と呼ばれる従来技術の製品と対照的に比べられるが、その製品は単純な障害回避方法を備えたストレージ仮想化部の耐障害性の対を有するが、さらに拡張することはできない。
【００２０】
拡張可能なインターネットエンジンアーキテクチャ１００の上記の観点において、ここで図２の流れ図を参照しながら拡張可能なインターネットエンジンへのログイン処理を理解できる。ログインはｉＳＣＳＩブートドライブを使用することによって確立され、ｉＳＣＳＩブートドライブを有効にする動作は、ｉＳＣＳＩ仮想化部（仮想化部を含むＡＤＳＳハードウェア１３０とＡＤＳＳハードウェア１５０、図２の流れ図の右側参照）と、ｉＳＣＳＩ開始部（図２の流れ図の左側参照）に分割されている。開始ブロック２０２では、ログインは開始部からｉＳＣＳＩ仮想化部への要求で始まる。それから、決定ブロック２０４では、ｉＳＣＳＩ仮想化部は仮想ボリュームが要求中の開始部に割り当てられているかどうかを決定する。仮想ボリュームが割り当てられていなかった場合、ｉＳＣＳＩ仮想化部は新しい開始部要求を待機する。しかし、仮想ボリュームが開始部に割り当てられていればログイン処理を進め、動作ブロック２０６では、開始部のＭＡＣ（媒体アクセス制御アドレス）に対してＤＨＣＰサーバ１３４の応答を有効にする。次に、動作ブロック２０８では、ＭＡＣに関連した仮想ボリュームが割り当てられていることをＡＤＳＳモジュール１３２に知らせ、ｉＳＣＳＩ開始部の動作ブロック２１０では、適切なエンジンブレード１１０の電源をオンにするように通信する。
【００２１】
次に、動作ブロック２１２では、そのブレードのネットワークインタフェースカードに対してＰＣＩ（周辺部品相互接続）装置ＩＤマスクを生成し、ブート要求を開始する。なお、ブレードは、データベース１３６内の次の特徴によって定義されている。１）所定のＮＩＣ（ネットワークインタフェースカード）のＭＡＣアドレス。２）開始部のＩＰアドレス（割り当て済み）、ａ）クラスＡサブネット［２５５．０．０．０］およびｂ）１０．［ラック］．［シャーシ］．［スロット］を含む。３）ｉＳＣＳＩ認証フィールド（割り当て済み）、ａ）プッシュスルーＤＨＣＰ、およびｂ）開始部名を含む。「プッシュスルーＤＨＣＰ」という用語は、全てのｉＳＣＳＩ認証フィールドがＤＨＣＰ上でクライアント開始部にプッシュされることを指している。簡略化のために、従来技術の全てのｉＳＣＳＩ実装では、ボリューム等のサービスを提供するｉＳＣＳＩ目標のユーザ名、パスワード、ＩＰアドレス等の認証情報はオペレーティングシステムのユーティリティソフトウェアを介して、クライアントコンソール内に手動で入力する必要がある。オペレーティングシステムと個々のｉＳＣＳＩソフトウェアドライバをロードし、事前設定パラメータを読み込むか、操作者がこの情報の入力に手動で介入するまで、この情報は利用可能でないため、これは従来技術のｉＳＣＳＩ実装がブートを行うことができない主な理由の一つであった。
【００２２】
動的ホスト構成プロトコル（ＤＨＣＰ）の従来の使用は、特定のネットワーク上で有効なアドレスのプールからクライアントにＩＰアドレスを割り当てることである。通常、これらのアドレスはランダムに分配され、クライアントはＩＰアドレスのないブロードキャストによってＤＨＣＰサーバを捜し、ＤＨＣＰはそのアドレスのプールからクライアントに正当なＩＰアドレスを「リース」することによって応答する。この発明では、ＩＰアドレスとＭＡＣアドレス（イーサネット（登録商標）のネットワークインタフェースカードの物理的な変更不可能なアドレス）を相関させることによって、ブレードクライアントに特定のＩＰアドレスを割り当てる専用のＤＨＣＰサーバを生成し、それらのＭＡＣアドレスが不変であるため、ブレードクライアントのＩＰアドレスが常に同じになることを保証する。ＩＰアドレスとＭＡＣの相関はＡＤＳＳの初期構成の間で適宜生成されるが、この後は不変である。さらに、ＤＨＣＰ規格内で特別に拡張したフィールドを利用してブレードクライアントに追加情報を送り、ＡＤＳＳを探すために必要はｉＳＣＳＩパラメータを定義し、ＡＤＳＳはブレードのディスク要求、およびＡＤＳＳへのログインに必要な認証のサービスを提供する。
【００２３】
ＤＨＣＰを介してこの情報をプッシュすることによって、この発明はブート処理のＯＳ前段階において、クライアント開始部に対して、この情報を利用可能にする方法を提供するだけでなく中央権限を生成でき、ＡＤＳＳはこれらの設定を格納および動的に変更し、クライアント側から任意の介入なく、別のＡＤＳＳユニットへの障害回避、クライアント上に実装した仮想ディスクの数およびサイズの追加または変更を容易にする。
【００２４】
ここで図２の処理を継続すると、動作ブロック２１４で、ｉＳＣＳＩブートＲＯＭはブート処理を中断し、ＤＨＣＰサーバ１３４に発見要求を送る。なお、この発明のブレードアーキテクチャでは、ブレードマザーボードのＰＣＩ−Ｘバスは、中心面を介してシャーシの背面上のＰＣＩ−Ｘスロットに送られる。これはシステム管理基板を介して実現され、システム管理基板はＰＣＩブリッジチップを用いて、ＰＣＩ信号の調整および再生成を行う。このブリッジチップはさらに、システムが管理基板内のＰＣＩ−Ｘバスに接触できるようにし、そこにｉＳＣＳＩブートＲＯＭが配置される。上記のように、ｉＳＣＳＩブートＲＯＭはマザーボードのＰＣＩ−Ｘバス上に配置する。インテル互換マザーボードアーキテクチャはブート時、マザーボードのＢＩＯＳチップによって制御される。しかし、ブート処理の一部では、ＰＣＩ−Ｘバス上に存在するいわゆるオプションＲＯＭまたはＲＯＭ拡張部を捜し出す。ブート処理の所定の点において、マザーボードのＢＩＯＳはＲＯＭ拡張部に制御を渡し、ＲＯＭ拡張部はそのコードを実行できる。この発明では、これはＴＣＰ／ＩＰスタックおよびｉＳＣＳＩ開始部がロードアップされ、エミュレーション処理、つまりそれによってｉＳＣＳＩブロック装置（仮想ボリューム）がクライアント上のローカルディスクとなるように見える処理が始まる時点である。
【００２５】
これは、ＳＣＳＩカードがブート処理を中断し、システムがＳＣＳＩ装置からブート可能になる方法とほとんど同様である。ＲＯＭ拡張部は、特にブート前環境のマザーボードの機能を拡張し、通常、マザーボードのＢＩＯＳが元来は認識しない装置を有効にするためのものである。
【００２６】
発見要求の後、動作ブロック２１６で、ＤＨＣＰサーバは開始部のＭＡＣとロードバランシングのルールセットに基づいて、発見要求に応答を返す。具体的には、ＤＨＣＰサーバ１３４は、クライアントのＩＰアドレス、ネットマスク、ゲートウェイ、およびｉＳＣＳＩログイン情報、つまり１）サーバのＩＰアドレス（ＡＤＳＳのＩＰ）、２）プロトコル（デフォルトではＴＣＰ）、３）ポート番号（デフォルトでは３２６０）、４）初期のＬＵＮ（論理ユニット番号）、５）目標名、つまりＡＤＳＳサーバのｉＳＣＳＩ目標名、６）開始部名、を送る。
【００２７】
直前で述べたロードバランシングのルールセットは、様々なＡＤＳＳユニット内で義務を提供する仮想ボリュームを分散させることを指している。ＡＤＳＳシステムのアーキテクチャは二つのマスタＡＤＳＳサーバを両方とも含み、それらはＤＨＣＰ、データベース、および管理資源を提供し、必須のデータベース情報とＤＨＣＰサービスの耐障害性用のクラスタとして構成される。さらに、複数の「スレーブ」ＡＤＳＳワーカが含まれ、それらはマスタＡＤＳＳサーバ対に接続され、それによって制御される。これらのＡＤＳＳユニットは、単に仮想ボリュームのサービスを提供する。ロードバランシングは、最低接続優先度モデルを備えたラウンドロビンを介して、様々なＡＤＳＳユニット内で義務を提供する仮想ボリュームを分散させることによって実現され、そこでは最小数のクライアントにサービスを提供するＡＤＳＳが最初にインラインになり、新しいクライアントにサービスを提供する。サービスのクラスは、クライアントの最大数に上限かけることによって実現され、それによっていずれか一つのＡＤＳＳはクライアントに対してより多くのストレージ帯域を生成でき、そのクライアントは標準のＡＤＳＳプール上で動作するものに対して、これらの上限をかけたＡＤＳＳユニットを使用する。
【００２８】
次に再び図２を参照すると、動作ブロック２１８で、ｉＳＣＳＩブートＲＯＭはＤＨＣＰサーバ１３４の情報を受け取り、動作ブロック２２０で、その情報を用いてブレードサーバへのログインを開始する。ＡＤＳＳモジュール１３２は、動作ブロック２２２で、ログイン要求を受け取り、侵入するログインのＭＡＣと開始部名に基づいてその要求を認証する。次に、動作ブロック２２４で、ＡＤＳＳモジュールはログインセッションを生成し、割り当てた仮想ボリュームのサービスを提供する。動作ブロック２２６で、ｉＳＣＳＩブートＲＯＭは、仮想ボリュームを備えたＤＯＳディスクをエミュレートし、Ｉｎｔ１３をリベクトルする。動作ブロック２２８で、ｉＳＣＳＩブートＲＯＭは、その上位メモリブロック（ＵＭＢ）内にＡＤＳＳログイン情報を格納する。それから、動作ブロック２３０で、ｉＳＣＳＩブートＲＯＭはブート処理が継続できるようにする。
【００２９】
また、動作ブロック２３２で、ブレードはネットワーク上のｉＳＣＳＩブロック装置から８ビットモードでブートする。動作ブロック２３４で、８ビットオペレーティングシステムのブートローダが、３２ビット統合ｉＳＣＳＩドライバをロードする。動作ブロック２３６で、３２ビット統合ｉＳＣＳＩドライバは、ＵＭＢからＡＤＳＳログイン情報を読み込み、再ログインを開始する。動作ブロック２３８で、ＡＤＳＳモジュール１３２はログイン要求を受け取り、ＭＡＣに基づいて再認証する。次に、動作ブロック２４０で、ＡＤＳＳモジュールはログインセッションを再生成し、割り当てた仮想ボリュームのサービスを再び提供する。最後に、動作ブロック２４２で、３２ビットオペレーティングシステムは、ローカル装置であるかのようにｉＳＣＳＩブロック装置を用いて十分に使用可能になる。
【００３０】
動作ブロック２２６と「Ｉｎｔ１３のリベクトル」という用語については、次の説明でブロック２２６の動作と機能を理解するための背景を提供する。１９８３年の最初のＩＢＭ（登録商標）ＰＣコンピュータから始まり、全てのＩｎｔｅｌ（登録商標）互換コンピュータはいくつかの非常に基本的な動作を備え、それらはマザーボード上に配置された基本入出力システム（ＢＩＯＳ）ＲＯＭによって処理されている。ハードウェアが比較的単純であった頃に戻ると、コンピュータのハードウェアへの全てのアクセスは割り込み呼び出しを用いて、ＢＩＯＳを介して仲介され、これを用いてユーザコードの実行を中断し、ＢＩＯＳコードを実行してハードウェアアクセスを実現していた。残念ながら、互換性を維持するために、この割り込みのシステムは現在もまだ存在し、最新のオペレーティングシステムを実行するために対処しなければならない問題としてまだ残っている。
【００３１】
最新のオペレーティングシステムは、それら自体の３２ビットドライバを用いてハードウェアに直接アクセスするが、これらの３２ビットドライバが機能する前に、１９８３年に開発された旧式のＢＩＯＳハードウェアアクセス法によってそれらをロードしなければならない。Ｉｎｔｅｒｒｕｐｔ  １３ｈはＰＣ互換コンピュータ上のディスクサービス用のハンドラであり、いわゆるシステム内のディスク上のブートセクタを検索するものである。ＢＩＯＳでサポートされたディスクではない装置からＰＣ互換コンピュータをブートオフするためには、ＢＩＯＳから所望のＲＯＭ拡張コードにＩｎｔ１３をリベクトルする必要がある。
【００３２】
この割り込みの転送によって、ＢＩＯＳに対するディスク呼び出しはＲＯＭ拡張コードによって中断され、ＲＯＭ拡張部が代わりにディスクサービスを提供可能になる。しかし、ＲＯＭ拡張部のディスクサービスはｉＳＣＳＩブロック装置（仮想ボリューム）にアクセスしており、ローカルディスクドライブにはアクセスしていない。マザーボードのＢＩＯＳがそのローカルディスク上のブートセクタを探す場合、付属のｉＳＣＳＩブロック装置のブートセクタを見つけ出し、そこに格納されたコードを実行し始め、それは通常ＯＳのブートローダ処理である。それから、この転送またはリベクトルによって、最新のＯＳブートローダ（Ｗｉｎｄｏｗｓ（登録商標）用のＮＴＬＯＡＤＥＲ．ＥＸＥまたはＬｉｎｕｘ（登録商標）用のＬＩＬＯ（商標）またはＧＲＵＢ（商標））が有効になり、システムのハードウェア自体に直接アクセスするために必要な全ての３２ビットドライバをロードし、それらはこの発明のｉＳＣＳＩドライバを含み、ｉＳＣＳＩブロック装置（仮想ボリューム）への３２ビットアクセスを提供する。
【００３３】
動作ブロック２３６と用語「ＵＭＢ」について、次に説明する。再び、１９８３年に開発されたＩＢＭ（登録商標）ＰＣアーキテクチャの歴史を参照する必要がある。最初のＩＢＭ（登録商標）ＰＣは８ビットコンピュータであり、コンピュータのマイクロプロセッサは全部で１ＭＢつまり１０２４ＫＢのメモリにアクセスできるだけであった。これは、プログラムを実行するためのＲＡＭ、ＢＩＯＳおよびＢＩＯＳ拡張部を格納するためのＲＯＭ、装置制御およびビデオＲＡＭ用のメモリ位置を含んでいる。最初のＰＣは、このメモリをＲＭＡ用に０〜６４０ＫＢのブロック、全ての他の装置およびメモリをマッピングする上位メモリブロック（ＵＭＢ）として６４０〜１０２４ＫＢに分割していた。
【００３４】
最新のプロセッサは、８ビットから１６ビット、さらに進んで最新の６４ビットプロセッサ（ビット数が増えると、さらにより多くのメモリ量にアクセス可能）まで進歩しているが、元の８ビットＰＣとの互換性を維持するために、最新のコンピュータもまだ全て８ビット環境でブートし、元のＰＣと同じルールおよび制限を有している。従って、ＵＭＢの概念はブート時にまだ存在している。
【００３５】
この発明のｉＳＣＳＩブート処理では、上記のように８ビットＲＯＭ拡張部から始まり、それは初期の処理を介してコンピュータを受け取るが、ｉＳＣＳＩ目標情報と関連のパラメータを、ＯＳによってロードされる３２ビットｉＳＣＳＩドライバに何とかして渡す必要がある。この発明は、ｉＳＣＳＩ  ＲＯＭ拡張部で未使用のＵＭＢ（システムのＲＡＭにマッピングされている）内にこの情報を格納し、後で３２ビットｉＳＣＳＩドライバで検索することによってこれを行う。
【００３６】
上で用いた「ｉＳＣＳＩブロック装置」という用語について、次に説明する。ｉＳＣＳＩブロック装置は、ｉＳＣＳＩ接続上で利用可能になるディスク、つまり仮想ボリュームを指している。ブロック装置という用語を用いる理由は、標準的なネットワークファイルシステムと区別するためである。ＳＣＳＩドライブはブロック内に配置したセクタからなり、ファイルシステムレベルで動作するネットワーク共有とは異なり、これらのブロックの読み込みまたは書き出しを行うために、ＳＣＳＩコマンドを発行することによって読み出し（従って、データにアクセスするより「生」の方法である）、ここでの要求はファイルおよびディレクトリに対して行われ、ＯＳの互換性に依存する。この発明はｉＳＣＳＩ上のブロックレベルのアクセスを用いるので、ＳＣＳＩと互換性のある任意のＯＳを基本的にサポートできる。
【００３７】
ここで図３を参照すると、アーキテクチャ１００の一部を構成するように適応させた監視データ管理構成３００を示している。監視データ管理構成３００は複数のブレードサーバ３１２〜３１８を有し、ブレードサーバ３１２〜３１８は複数の分散管理ユニット（ＤＭＵ）３３２〜３３８とインタフェースし、ＤＭＵ３３２〜３３８はさらに少なくとも一つの監視管理ユニット（ＳＭＵ）３６０とインタフェースする。ＳＭＵ３６０は、共有ＫＶＭ／ＵＳＢ装置への出力３６２とイーサネット（登録商標）管理用の出力３６４を有する。
【００３８】
この実施例では、各ブレードサーバ３１２〜３１８（４個）はシャーシ内に配置した８個のブレードを有する。各ＤＭＵモジュールは通信ライン３２２Ａ〜３２８Ａを介して、各ブレードとシャーシファン、電圧レール、およびサーバユニットの温度の状態を監視する。ＤＭＵはさらにシャーシ内のブレードの電源機能を制御し、入出力装置から（通信ライン３２２Ｂ〜３２８Ｂを介して）のコマンドに応じて、ブレードサーバシャーシ内の個々のブレードを切り替える。それに加えて、各ＤＭＵモジュール（３３２〜３３８）は様々なブレード機能の制御と監視を行い、管理バス３３２ＡとＩ／Ｏバス３２２Ｂを介して、所定のブレードサーバに対してＳＭＵ３６０との管理通信を仲裁するように構成する。さらに、ＤＭＵモジュールは、ＳＭＵ３６０に接続した単一ＤＶＩ型ケーブル内にＫＶＭ／ＵＳＢ出力および管理信号を統合し、イベントの回転ログを維持する。
【００３９】
この実施例では、各ブレードサーバのブレードは各々組み込み型マイクロコントローラを有する。組み込み型マイクロコントローラは基板の状態を監視し、回転ログ上にステータスを格納し、ポーリングされたときにステータスを報告し、問題が生じたとき警告を送り、様々な機能（電源オン、電源オフ、リセット、ＫＶＭ（キーボード、ビデオ、マウス）選択およびＫＶＭ開放等）のコマンドを受け取る。これらの機能の通信は、ライン３２２Ｃ〜３２８Ｃを介して発生する。
【００４０】
ＳＭＵ３６０は、例えば、管理バス３４２ＡとＩ／Ｏバス３４２Ｂ接続においてスター構成のＤＭＵモジュールとインタフェースするように構成する。ＳＭＵ３６０は、ＤＭＵへの管理接続を介して送られたコマンドによって、ＤＭＵと通信する。管理通信は、衝突検出および再送信機能を備えた共有バス上で、確実なパケット通信を介して処理される。ＳＭＵモジュールはＤＭＵと同じ物理的形状を有し、そのローカルシャーシ用の組み込み型ＤＭＵを有する。ＳＭＵは、それらの管理接続３４２〜３４８上で、ＤＭＵに送られたコマンドを介して、４つのシャーシ（ブレードサーバユニット）のラック全体と通信する。ＳＭＵは、ラック用のイーサネット（登録商標）ポートを介して、高レベルユーザインタフェースを提供する。ＳＭＵはＫＶＭ／ＵＳＢバスを切り替え統合し、それらを共有ＫＶＭ／ＵＳＢ出力ソケットに送る。
【００４１】
ブレード間のキーボード／ビデオ／マウス／ＵＳＢ（ＫＵＭ／ＵＳＢ）切り替えは、スイッチドバスの方法論を介して行われる。第一ブレードを選択すると背面板上にブロードキャスト信号が発生し、ＫＶＭ／ＵＳＢバスから全てのブレードを開放する。全てのブレードは背面板上の信号を受け取り、バスに接続された前のブレードを電気的に切断する。それから、選択したブレードを通信バスに電気的に接続する。
【００４２】
この発明の開示内容の一部は、著作権保護されている。著作権の所有者は、特許商標局のファイルまたは記録にあるように、この発明の開示内容をファクシミリ複製することを許可するが、そうでない場合は全ての著作権を保護する。
【００４３】
この発明の自動システムの好ましい実施例を説明してきたが、当然のことながら、様々な変更および変形を行うことができ、この発明の範囲は請求項によって定義されるものとする。
【図面の簡単な説明】
【００４４】
【図１】簡略化した拡張可能なインターネットエンジンを示すブロック図であり、この発明のｉＳＣＳＩブートドライブを用いる複製サーバを備えている。
【図２】この発明のｉＳＣＳＩブートドライブの起動／動作を示す流れ図である。
【図３】この発明に従って確立したサーバファームを示すブロック図である。
【図１】
2009536375.tif 000003
【図２】
2009536375.tif 000004
【図３】
2009536375.tif 000005