(57)【特許請求の範囲】
【請求項１】
ネットワーク（１２）を介して、第１のコンピュータシステム（１４）のコンソールのエミュレーションを、前記ネットワーク上に遠隔配置された第２のコンピュータシステム（１６）に提供するためのアダプタカード（１８）であって、
前記アダプタカードが前記第１のコンピュータシステムに接続されているときに、前記第１のコンピュータシステムの入出力バス（２０）とインターフェースするローカルバス（２８）と、
前記ローカルバスに結合しており、前記第１のコンピュータシステム用にインストールされたグラフィックスコントローラとして働き、そして、これにより前記第１のコンピュータシステムと対話して前記第１のコンピュータシステムのコンソール画面を表したものを生成するグラフィックスコントローラ（２２）と、
前記ローカルバスに結合され、前記ネットワークに接続を提供するネットワークインターフェースコントローラ（２４）と、
前記ローカルバスに結合しており、前記第１のコンピュータシステムの前記コンソール画面を前記表したものにおける変更を判断し、前記変更に関する情報を前記遠隔配置されたコンピュータシステムに前記ネットワークインターフェースコントローラを介して伝送するプロセッサ（２６）と
を含むことを特徴とするアダプタカード。
【請求項２】
請求項１に記載のアダプタカードにおいて、
グラフィックスコントローラが第１のコンピュータシステムのコンソール画面を表すデータを格納する前記グラフィックスコントローラにインターフェースされたメモリ（４２）をさらに含み、前記メモリ内のデータを処理することによって、前記プロセッサがコンソール画面を表したものでの変更を判断することを特徴とするアダプタカード。
【請求項３】
請求項２に記載のアダプタカードにおいて、
前記ローカルバスにインターフェースされた第２のメモリ（４０）を含み、前記グラフィックスコントローラにインターフェースされた前記メモリ内に格納された第１のコンピュータシステムのコンソール画面を表すデータが前記プロセッサによって処理するための前記第２のメモリに定期的に転送され、第１のコンピュータシステムのコンソール画面を表したものでの変更を判断することを特徴とするアダプタカード。
【請求項４】
請求項３に記載のアダプタカードにおいて、
第１のコンピュータシステムのコンソール画面を表すデータの、前記グラフィックスコントローラにインターフェースされた前記メモリから前記第２のメモリへの転送を制御する、前記ローカルバスに結合されたメモリコントローラ（３６）をさらに含むことを特徴とするアダプタカード。
【請求項５】
請求項１に記載のアダプタカードにおいて、
前記第１のコンピュータシステムのコンソール画面を表すデータを取り込むための前記グラフィックスコントローラの出力に結合された先入れ先出し（ＦＩＦＯ）バッファ（４３）をさらに含み、前記プロセッサは、前記ＦＩＦＯバッファ内のデータを処理することでコンソール画面を表したものでの変更を判断することを特徴とするアダプタカード。
【請求項６】
請求項１に記載のアダプタカードにおいて、
前記プロセッサと前記ネットワークインターフェースコントローラ間の通信が前記ローカルバス（２８）から分離された別々のバスセグメント（２８ａ、２８ｂ）を跨いで行われるように、前記ネットワークインターフェースコントローラは、ブリッジ（３２、３４）によって前記ローカルバスに間接的に結合されることを特徴とするアダプタカード。
【請求項７】
請求項１に記載のアダプタカードにおいて、
前記ネットワークインターフェースコントローラはイーサネット（登録商標）プロトコルを実施することを特徴とするアダプタカード。
【請求項８】
請求項１に記載のアダプタカードにおいて、
第１のコンピュータのコンソール画面を表したものでの変更に関する情報は、ＴＣＰ／ＩＰプロトコルを使用してリモートコンピュータシステムに伝送されることを特徴とするアダプタカード。
【請求項９】
請求項１に記載のアダプタカードにおいて、
第１のコンピュータシステムおよび前記プロセッサのうちの１つによって選択的に制御することができる前記ローカルバスに結合された周辺機器インターフェース（４８）をさらに含み、周辺機器インターフェースが前記プロセッサによって制御されるときに、前記周辺機器インターフェースに接続されたデバイスは、前記ネットワークインターフェースコントローラおよび前記プロセッサを介してリモートコンピュータシステムから制御可能なことを特徴とするアダプタカード。
【請求項１０】
請求項９に記載のアダプタカードにおいて、
前記プロセッサが前記周辺機器インターフェースを制御するように選択されたときに、前記プロセッサは、周辺機器インターフェース用に修正されたＢＩＯＳを第１のコンピュータシステムによってロードさせ、前記プロセッサが前記周辺機器インターフェースの制御権を取ることができるように、第１のコンピュータシステムを停止させることを特徴とするアダプタカード。
【請求項１１】
請求項１０に記載のアダプタカードにおいて、
前記プロセッサは、前記アダプタカード上に格納されたフラグ変数を設定することにより、前記周辺機器インターフェースを制御するように選択され、前記プロセッサが前記フラグ変数を検査して前記修正されたＢＩＯＳを第１のコンピュータシステムによってロードさせるかどうかを判断することを特徴とするアダプタカード。
【請求項１２】
請求項９に記載のアダプタカードにおいて、
前記周辺機器インターフェースに接続されたデバイスは記憶媒体を含み、リモートコンピュータシステムによる記憶媒体の制御に、
記憶媒体のパーティションを切ることと、
記憶媒体をフォーマットすることと、
記憶媒体へのソフトウェアのインストールのうち、
少なくとも１つがさらに含まれることを特徴とするアダプタカード。
【請求項１３】
請求項９に記載のアダプタカードにおいて、
前記周辺機器インターフェースはＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）コントローラを含むことを特徴とするアダプタカード。
【請求項１４】
請求項１に記載のアダプタカードにおいて、
前記ローカルバスはＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを含むことを特徴とするアダプタカード。
【請求項１５】
請求項１に記載のアダプタカードにおいて、
前記プロセッサは、リモートコンピュータシステムのユーザがアダプタカードを構成できるようにするために、ＨＴＭＬページをリモートコンピュータシステムに提示するＷｅｂサーバ（８０）として部分的に機能することを特徴とするアダプタカード。
【請求項１６】
ネットワーク（１２）を介して、第１のコンピュータシステム（１４）のコンソールのエミュレーションを、前記ネットワーク上に遠隔配置された第２のコンピュータシステム（１６）に提供するためのシステムであって、
アダプタカードが前記第１のコンピュータシステムに接続されているときに、前記第１のコンピュータシステムの入出力バス（２０）とインターフェースするローカルバス（２８）と、
前記ローカルバスに結合しており、前記第１のコンピュータシステム用にインストールされたグラフィックスコントローラとして働き、そして、これにより前記第１のコンピュータシステムと対話して前記第１のコンピュータシステムのコンソール画面を表したものを生成するグラフィックスコントローラ（２２）と、
前記ローカルバスに結合され、前記ネットワークに接続を提供するネットワークインターフェースコントローラ（２４）と、
前記ローカルバスに結合しており、前記第１のコンピュータシステムの前記コンソール画面を前記表したものにおける変更を判断し、前記変更に関する情報を前記遠隔配置されたコンピュータシステムに前記ネットワークインターフェースコントローラを介して伝送するプロセッサ（２６）と、を含むアダプタカード（１８）、および、
前記アダプタカードから伝送された前記情報を受け取り、そこからリモートコンピュータシステムのディスプレイ装置上で前記第１のコンピュータの前記コンソール画面を前記表したものを再生する、リモートコンピュータシステム（１６）上で実行可能なクライアントプログラム（９６、９８）を備えたことを特徴とするシステム。
【請求項１７】
請求項１６に記載のシステムにおいて、
前記グラフィックスコントローラが前記第１のコンピュータシステムの前記コンソール画面を表すデータを格納する前記グラフィックスコントローラにインターフェースされたメモリ（４２）をさらに含み、前記メモリ内のデータを処理することによって、前記プロセッサが前記コンソール画面を前記表したものにおける変更を判断することを特徴とするシステム。
【請求項１８】
請求項１７に記載のシステムにおいて、
前記ローカルバスにインターフェースされた第２のメモリ（４０）を含み、前記グラフィックスコントローラにインターフェースされた前記メモリ内に格納された前記第１のコンピュータシステムの前記コンソール画面を表すデータが前記プロセッサによって処理するための前記第２のメモリに定期的に転送され、前記第１のコンピュータシステムの前記コンソール画面を前記表したものにおける変更を判断することを特徴とするシステム。
【請求項１９】
請求項１８に記載のシステムにおいて、
第１のコンピュータシステムのコンソール画面を表すデータの、前記グラフィックスコントローラにインターフェースされた前記メモリから前記第２のメモリへの転送を制御する前記ローカルバスに結合されたメモリコントローラ（３６）をさらに含むことを特徴とするシステム。
【請求項２０】
請求項１６に記載のシステムにおいて、
前記第１のコンピュータシステムのコンソール画面を表すデータを取り込むための前記グラフィックスコントローラの出力に結合された先入れ先出し（ＦＩＦＯ）バッファ（４３）をさらに含み、前記プロセッサは、前記ＦＩＦＯバッファ内のデータを処理することでコンソール画面を表したものでの変更を判断することを特徴とするシステム。
【請求項２１】
請求項１６に記載のシステムにおいて、
前記プロセッサと前記ネットワークインターフェースコントローラ間の通信が前記ローカルバスから分離された別々のバスセグメント（２８ａ、２８ｂ）を跨いで行われるように、前記ネットワークインターフェースコントローラはブリッジ（３２、３４）によって前記ローカルバスに間接的に結合されることを特徴とするシステム。
【請求項２２】
請求項１６に記載のシステムにおいて、
前記ネットワークインターフェースコントローラはイーサネット（登録商標）プロトコルを実施することを特徴とするシステム。
【請求項２３】
請求項１６に記載のシステムにおいて、
第１のコンピュータのコンソール画面を表したものでの変更に関する情報は、ＴＣＰ／ＩＰプロトコルを使用してリモートコンピュータシステムに伝送されることを特徴とするシステム。
【請求項２４】
請求項１６に記載のシステムにおいて、
第１のコンピュータシステムおよび前記プロセッサのうちの１つによって選択的に制御することができる前記ローカルバスに結合された周辺機器インターフェース（４８）をさらに含み、周辺機器インターフェースが前記プロセッサによって制御されるときに、前記周辺機器インターフェースに接続されたデバイスは前記ネットワークインターフェースコントローラおよび前記プロセッサを介してリモートコンピュータシステムから制御可能なことを特徴とするシステム。
【請求項２５】
請求項２４に記載のシステムにおいて、
前記プロセッサが前記周辺機器インターフェースを制御するように選択されたときに、前記プロセッサが、周辺機器インターフェース用に修正されたＢＩＯＳを第１のコンピュータシステムによってロードさせ、前記プロセッサが前記周辺機器インターフェースの制御権を取ることができるように、第１のコンピュータシステムを停止させることを特徴とするシステム。
【請求項２６】
請求項２５に記載のシステムにおいて、
前記プロセッサが、前記アダプタカード上に格納されたフラグ変数を設定することにより、前記周辺機器インターフェースを制御するように選択され、前記プロセッサが前記フラグ変数を検査して前記修正されたＢＩＯＳを第１のコンピュータシステムによってロードさせるかどうかを判断することを特徴とするシステム。
【請求項２７】
請求項２４に記載のシステムにおいて、
前記周辺機器インターフェースに接続されたデバイスは記憶媒体を含み、リモートコンピュータシステムによる記憶媒体の制御に、
記憶媒体のパーティションを切ることと、
記憶媒体をフォーマットすることと、
記憶媒体へのソフトウェアのインストールのうち、
少なくとも１つがさらに含まれることを特徴とするシステム。
【請求項２８】
請求項２４に記載のシステムにおいて、
前記周辺機器インターフェースはＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）コントローラを含むことを特徴とするシステム。
【請求項２９】
請求項１６に記載のシステムにおいて、
前記ローカルバスはＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを含むことを特徴とするシステム。
【請求項３０】
請求項１６に記載のシステムにおいて、
前記プロセッサは、リモートコンピュータシステムのユーザがアダプタカードを構成できるようにするために、ＨＴＭＬページをリモートコンピュータシステムに提示するＷｅｂサーバ（８０）として部分的に機能することを特徴とするシステム。
【請求項３１】
請求項３０に記載のシステムにおいて、
前記クライアントプログラムは前記プロセッサによってリモートコンピュータシステムに提示されたＨＴＭＬページを表示するＷｅｂブラウザ（９６）を含むことを特徴とするシステム。
【請求項３２】
請求項３１に記載のシステムにおいて、
前記クライアントプログラムは、アダプタカードから伝送された情報を受け取り、その情報からリモートコンピュータシステムのディスプレイ装置上で第１のコンピュータ画面のコンソール画面を表したものを再現するブラウザアドイン（９８）をさらに含むことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
（著作権の注記）
この特許に係る書類の開示の一部は、著作権の保護が帰属するマテリアルを含んでいる。著作権者は、米国特許商標庁のパテントファイルまたは記録に現れている通り、この特許に係る書類または開示が誰によってファクシミリ再生されることも拒絶しないが、そうでなければ、如何なるものであっても全ての著作権を保有する。
【０００２】
（背景）
（発明の分野）
本発明は、コンピュータシステムを対象とし、より具体的に言えば、コンピュータシステムコンソールのリモートエミュレーションのためのシステムを対象とする。
【０００３】
（従来技術の説明）
メインフレームおよび企業サーバを含む大規模コンピュータシステムには、従来から、システム管理者がコンピュータシステムを構成および管理できるようにする主コンソールが含まれる。これらの主コンソールは、通常、コンピュータシステムにローカルに取り付けられたモニタ、キーボード、並びにしばしばマウスなどのポインティングデバイスの形を取る。場合によっては、主コンソールに、大規模コンピュータシステムに緊密に結合された小規模ワークステーションが含まれる。
【０００４】
大規模コンピュータシステムにさらに柔軟性を持たせ、管理しやすくするために、モデムまたはネットワーク接続を介してリモートワークステーション上のコンピュータシステムの主コンソールをエミュレートするリモートコンソールが提供されてきた。典型的には、主コンソールの画面を表すビデオ情報が収集され、ネットワークを介してリモートワークステーションに伝送され、ここでリモートワークステーションがこの情報を使用してリモートワークステーション上に主コンソールの画面を再現する。リモートワークステーションでのキーストロークおよびマウス入力がホストコンピュータシステムに伝送され、システムのキーボードコントローラに挿入される。したがってシステム管理者は、あたかもコンピュータシステムの主コンソールを使用しているかのように、リモート位置からコンピュータシステムを管理および構成することができる。
【０００５】
欧州特許出願ＥＰ０９０１０７９号には、通常はメインフレームのコンソールとして機能するダムターミナルが、アダプタカードを備えたパーソナルコンピュータ（ＰＣ）に置き換えられた、リモートコンソールエミュレーションシステムについて記載されている。ＰＣのアダプタカードは、典型的なダムターミナルが接続されるのと同じ３２７０同軸ケーブルを使用して、ホストコンピュータシステムに接続される。ＰＣのアダプタカードは、ホスト制御装置からの通常のコンソール画面更新情報を傍受し、これを保存する。これらの更新は、他のコンピュータによって置き換えられたＰＣからネットワークを介してアクセスし、リモートコンソールエミュレーションを提供する従来の方法で表示することができる。
残念ながら、上記ＥＰ０９０１０７９号に記載のものを含む従来技術のリモートコンソールエミュレータにはいくつかの欠点がある。従来技術のリモートコンソールエミュレータは、通常、リモートコンソールに伝送するビデオ情報を取得するために、ホストコンピュータのシステムバスにアクセスしなければならない。ホストコンピュータのシステムバスにこうした影響を与えることで、その性能に作用することになる。従来技術のリモートコンソールエミュレータは、ホストコンピュータ上で動作するドライバなどの特殊なソフトウェアを必要とすることも多い。これらもホストコンピュータの性能にインパクトを与える可能性がある。多くの従来技術のリモートコンソールエミュレータに見られる他の欠点は、主にこうしたソリューションのソフトウェアが複雑であることから、テキストモードおよびグラフィックスモードの両方で、等しく良好に動作しないことである。したがって、こうした従来技術の顕著な欠点を克服する、改良されたリモートコンソールエミュレーションシステムが求められている。本発明は、この要求を満たすものである。
【０００６】
（発明の概要）
本発明は、ネットワークを介して、第１のコンピュータシステムコンソールのエミュレーションをネットワーク上に遠隔配置された第２のコンピュータシステムに提供するためのシステムおよびそのアダプタカードを対象とするものである。このシステムには、第１のコンピュータシステムにインストールされたアダプタカードと、遠隔配置されたコンピュータシステム上で実行されるクライアントプログラムとが含まれる。本発明によれば、アダプタカードには、アダプタカードが第１のコンピュータシステムに接続されているときに第１のコンピュータシステムの入出力バスとインターフェースするローカルバスと、第１のコンピュータシステムのコンソール画面を表したものを生成するために第１のコンピュータシステムと対話するローカルバスに結合されたグラフィックスコントローラと、ネットワークに接続を提供するローカルバスに結合されたネットワークインターフェースコントローラと、第１のコンピュータシステムのコンソール画面を表したものにおける変更を決定し、ネットワークインターフェースコントローラを介してこの変更に関する情報を遠隔配置されたコンピュータシステムに伝送するローカルバスに結合されたプロセッサとが含まれる。グラフィックスコントローラ、プロセッサ、およびネットワークインターフェースコントローラはすべてアダプタカード上に共に配置される（ｃｏ−ｌｏｃａｔｅ）ため、ローカルバスを介したこれらの間の通信が、第１のコンピュータシステムの入出力バスの性能に影響を与えることはない。さらに、本発明のシステムは、ホストコンピュータシステム上で実行される特殊なソフトウェアを一切必要としない。
【０００７】
クライアントプログラムは、リモートコンピュータシステム上で実行される。アダプタカードから伝送された情報を受け取り、ここから、リモートコンピュータシステムのディスプレイ装置上に第１のコンピュータ画面のコンソール画面を表したものを再現する。
【０００８】
本発明の他の態様によれば、アダプタカードには、第１のコンピュータシステムまたはプロセッサのいずれかによって選択的に制御可能な、ローカルバスに結合された周辺機器インターフェースがさらに含まれる。周辺機器インターフェースを制御するためのプロセッサまたは第１のコンピュータシステムの選択は、アダプタカード上に格納されたフラグ変数のセット／リセットによって達成される。コンピュータシステムが起動されると、アダプタカード上のプロセッサがフラグを検査して、プロセッサが周辺機器インターフェースの制御権を取るべきか、第１のコンピュータシステムが制御権を取るべきかを判定する。プロセッサが制御権を取ると、プロセッサは周辺機器インターフェース用に修正されたＢＩＯＳを第１のコンピュータシステムによってロードさせてしまうため、プロセッサが周辺機器インターフェースの制御権を取れるようにするために、第１のコンピュータシステムが停止してしまう。
【０００９】
本発明の他の特徴および利点については、以下で明らかになるであろう。
【００１０】
前述の概要、並びに下記に示す好ましい実施形態の詳細な説明は、添付の図面と共に読むことで、より良く理解することができる。本発明を例示する目的で、現時点での好ましい実施形態が図面内に示されているが、本発明は開示された特定の方法および手段に限定されるものでないことを理解されたい。
【００１１】
（好ましい実施形態の詳細な説明）
本発明は、メインフレームまたは企業サーバなどの第１のコンピュータシステムコンソールのエミュレーション（すなわちリモート制御）を、ネットワークを介して、ネットワーク上に遠隔配置された第２のコンピュータシステムまたはワークステーションに提供するための、アダプタカードを含むシステムを対象とするものである。本発明の一部は、フロッピィ（登録商標）ディスク、ＣＤ−ＲＯＭ、ハードドライブ、あるいは任意の他のコンピュータまたはマシン読取り可能記憶媒体などの、有形媒体内で実施されるプログラムコード（すなわち命令）の形式を取ることが可能であって、プログラムコードがコンピュータなどのマシンにロードされてマシンにより実行されると、そのマシンは本発明を実施するための装置となる。本発明の一部は、電気配線またはケーブル、光ファイバ、または任意の他の伝送形式などの何らかの伝送媒体を介して伝送される、プログラムコードの形式で実施することも可能であり、プログラムコードがコンピュータなどのマシンによって受け取られ、ロードされて実行されると、そのマシンは本発明を実施するための装置となる。汎用プロセッサ上で実施される場合、プログラムコードはプロセッサと組み合わされて、特定の論理回路に類似して動作する固有の装置を提供する。
【００１２】
図を参照すると、同じ番号は終始同じ要素を表すものであり、図１は、本発明の一実施形態に従い、ネットワーク１２（例えばインターネットを含む）を介して、ネットワーク上にある第２の遠隔配置されたコンピュータシステムまたはワークステーション１６から、メインフレームまたは企業サーバなどの第１のコンピュータシステム１４のコンソールのリモート制御またはエミュレーションを提供するためのシステム１０を示す図である。システム１０には、コンピュータシステム１４の入出力（Ｉ／Ｏ）バス２０とリモートワークステーション１６上で実行中のクライアントプログラム（以下に記述）に接続されたアダプタカード１８が含まれる。本実施形態では、アダプタカード１８は、Ｉ／Ｏバス２０がＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスであり、具体的に言えばＰＣＩ仕様のバージョン２．１に準拠したものであるコンピュータシステム１４で使用するように設計されている。ただし、本発明は、ＰＣＩベースのＩ／Ｏバスで使用するように限定されているものではなく、例えばＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）およびＥｘｔｅｎｄｅｄ  ＩＳＡ（ＥＩＳＡ）、並びに知的所有権を持つＩ／Ｏバス（ｐｒｏｐｒｉｅｔａｒｙ  Ｉ／Ｏ  ｂｕｓ）実施などの他の業界標準バス仕様を含む、どんなＩ／Ｏバス環境でも使用可能であることを理解されたい。
【００１３】
アダプタカード１８およびリモートワークステーション１６上で実行中のクライアントプログラムは、モニタ、マウス、およびキーボード（すなわち主コンソール）をコンピュータシステム１４に直接接続させる必要性をなくすものである。その代わりに、ネットワーク接続が可能なリモートコンピュータシステムまたはワークステーション上であれば、どこででもコンソールをエミュレートさせることができる。以下で述べるように、他の特徴によれば、アダプタカード１８およびクライアントプログラムは、ソフトウェアおよび／またはデータをローカルの記憶媒体(ｓｔｒａｇｅ  ｍｅｄｉｕｍ)上でパーティションを切ること、フォーマットすること、およびローディングすることを含む、コンピュータシステム１４上でのディスクイメージロード（ｄｉｓｋ  ｉｍａｇｅ  ｌｏａｄ）のリモート制御をサポートしている。
【００１４】
アダプタカード
リモートコンソールの機能
本発明のアダプタカード１８の一実施形態によれば、アダプタカード１８には、グラフィックスコントローラ２２、ネットワークインターフェースコントローラ２４、およびプロセッサ２６が含まれており、これらすべてがアダプタカードのプリント回路基板上に共に配置される。グラフィックスコントローラ２２、ネットワークインターフェースコントローラ２４、およびプロセッサ２６は、それぞれがアダプタカード上のローカルバス２８にインターフェースしている。本実施形態ではＰＣＩ間ブリッジを含んでいるブリッジ回路３０は、アダプタカード１８のローカルバス２８とコンピュータシステム１４のＩ／Ｏバス２０との間にブリッジを提供する。
【００１５】
本実施形態では、プロセッサ２６は、第２のブリッジ回路３２を介してローカルバス２８に間接的にインターフェースしている。ネットワークインターフェースコントローラ２４は、ブリッジ回路３０と第３のブリッジ回路３４を介して、ローカルバス２８に間接的にインターフェースしている。この様式で、ネットワークインターフェースコントローラ２４は、別のローカルバスセグメント２８ａ上で分離される。この分離により、ネットワークトラフィックがこれを介してグラフィックスコントローラ２２がプロセッサ２６およびホストＩ／Ｏバス２０と通信する、主ローカルバスセグメント２８にロードを加えることはない。ただし、他の実施形態では、ネットワークインターフェースコントローラ２４およびプロセッサ２６のうち１つまたは両方を、主ローカルバスセグメント２８に直接接続することができる。したがって、この点について本発明は、図示された実施に限定されることは決してない。
【００１６】
本実施形態では、グラフィックスコントローラ２２がＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃｓ  Ａｒｒａｙ）標準をサポートする。本発明によれば、少なくとも１つのアダプタカード１８が、コンピュータシステム１４用にインストールされたグラフィックスコントローラとして機能し、コンピュータシステム１４のオペレーティングシステムは、標準的なオペレーティングシステムドライバを使用する任意の標準ＶＧＡグラフィックスカードにアクセスするようにアダプタカードのグラフィックスコントローラ２２にアクセスする。本実施形態では、グラフィックスコントローラ２２が、コンピュータシステム１４のコンソール画面を表す情報を格納する関連付けられたビデオメモリ４２と、ＶＧＡ  ＢＩＯＳを格納することができる関連付けられた読取り専用メモリ（ＲＯＭ）４４とを備える。様々な製造業者のグラフィックスコントローラを使用して、グラフィックスコントローラ２２を実施することができる。例えば、一実施形態では、Ｃｉｒｒｕｓ  Ｌｏｇｉｃ，Ｉｎｃによって製造されたＣＬ−ＧＤ５４６５グラフィックスコントローラチップを使用してグラフィックスコントローラ２２を実施することができる。また、本実施形態ではグラフィックスコントローラ２２はＶＧＡ標準をサポートしているが、他の実施形態では、他の標準または将来の標準を実施するグラフィックスコントローラを使用することができる。
【００１７】
本実施形態では、ネットワークインターフェースコントローラ２４は１０／１００ＢａｓｅＴのイーサネット（登録商標）プロトコルを実施するが、他の実施形態では、他のネットワーキングプロトコルを使用することができる。本実施形態では、ネットワークインターフェースコントローラ２４は、Ｉｎｔｅｌ（登録商標）２１１４３およびＱｕａｌｉｔｙ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒから入手可能なＱＳ６６１１  １０／１００Ｂａｓｅ−ＴＸトランシーバを使用して実施される。２１１４３は、１０ＢａｓｅＴと１００ＢａｓｅＴの両方でＭＡＣレイヤをサポートしている。ＱＳ６６１１は、ネットワークの速度を自動検出し、可能であれば１００ＢａｓｅＴを選択する機能を提供する。この組合せによって、ネットワークインターフェースコントローラ２４は、速度自動検出および単向（ｓｉｍｐｌｅｘ）／二重（ｄｕｐｌｅｘ）動作を備えた１０／１００ＢａｓｅＴのフル二重イーサネット（登録商標）をサポートすることができる。ネットワークインターフェースコントローラ２４は、以下でより詳細に説明するように、リモートワークステーション１６上のクライアントプログラムと通信するために、イーサネット（登録商標）を介した伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ−Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を使用する。
【００１８】
本実施形態では、プロセッサ２６は、プロセッサ２６が実行するオペレーティングシステムおよびプログラムコードが格納された関連付けられたフラッシュメモリ３８、並びに関連付けられたローカルランダムアクセスメモリ４０を有し、これらは両方ともローカルバスセグメント２８ｂを介してプロセッサ２６とインターフェースする。ダイレクトメモリアクセス（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ／ＤＭＡ）コントローラなどのメモリコントローラ３６も、ローカルメモリ４０との間のメモリ転送を制御するために、バスセグメント２８ｂとインターフェースすることができる。本実施形態では、プロセッサ２６は、Ｉｎｔｅｌ（登録商標）  Ｃｏｒｐｏｒａｔｉｏｎから入手可能なｉ９６０（登録商標）ＲＰマイクロプロセッサを使用して実施されるが、これはプロセッサ２６、ブリッジ３２および３４、並びにＤＭＡコントローラ３６の機能をローカルバスセグメント２８ｂが内在する単一の半導体チップパッケージに組み込んだものである。さらに本実施形態では、ｉ９６０（登録商標）ＲＰプロセッサは、Ｗｉｎｄ  Ｒｉｖｅｒ  Ｓｙｓｔｅｍｓから入手可能なＶｘＷｏｒｋｓ（登録商標）リアルタイムオペレーティングシステム（ＲＴＯＳ）の制御下で動作する。オペレーティングシステムコードはフラッシュメモリ３８に格納される。ｉ９６０（登録商標）ＲＰプロセッサのリセット時、プロセッサはＶｘＷｏｒｋｓ（登録商標）オペレーティングシステムのロードおよびブートを実行する。他の実施形態では、そのための特定のマイクロプロセッサおよびオペレーティングシステムが異なる場合がある。さらに、ブリッジ３２および３４、並びにＤＭＡコントローラの機能がｉ９６０（登録商標）ＲＰプロセッサ内の単一のチップパッケージに含まれているのに対して、他の実施形態では、これらの機能ユニットが別々の離散的構成要素を使用して実施される場合がある。
【００１９】
前述の構成要素は、プロセッサ２６によって実行されるプログラムコード（以下で説明）と組み合わせて使用すると、リモートワークステーション１６のモニタ（または他のディスプレイ）上でコンピュータシステム１４のコンソール画面を再現し、リモートワークステーション１６で集められたキーストロークやマウスの移動およびクリック情報をコンピュータシステム１４に渡すように動作する。さらに詳しく説明すると、本実施形態では、プロセッサ２６がグラフィックスコントローラ２２によって生成されたコンソール画面を表したものでの変更を判断すると、その後、その変更に関する情報がヘッダ情報と共にＴＣＰ／ＩＰセグメント内にパッケージングされ、ネットワークインターフェースコントローラ２４経由でネットワーク１２を介してクライアントプログラムに伝送される。クライアントプログラムは受け取った情報を解釈し、その情報に基づいてリモートワークステーション１６のモニタ上にコンソール画面を再現することが可能であるため、コンピュータシステム１４のローカルコンソール画面上に何が表示されていたかを効果的に模倣することができる。同時にクライアントプログラムは、リモートワークステーションでのキーストローク、並びにマウスの移動およびクリック情報を取り込み、その情報をヘッド情報と共にＴＣＰ／ＩＰセグメントにパッケージングし、ネットワーク１２を介してその情報をアダプタカード１８に転送する。キーボードおよびマウスの情報は、ネットワークインターフェースコントローラ１８によって受け取られ、プロセッサ２６に渡される。プロセッサはこの情報をキーボード／マウスコントローラの待ち行列エントリに変換し、そのエントリをコンピュータシステム１４のキーボード／マウスコントローラ４６内に配置するが、ここでコンピュータシステム１４は、ローカルに接続されたキーボードおよびマウスから着信したかのようにエントリを検出する。グラフィックスコントローラ２２、プロセッサ２６、およびネットワークインターフェースコントローラ２４は、すべてアダプタカード１８の上に共に配置されるので、ローカルバス２８、２８ａ、２８ｂを介したこれらの間での通信は、ホストコンピュータシステム１４のＩ／Ｏバス２０の性能にインパクトを与えない。さらに、グラフィックスコントローラ２２は、そのオペレーティングシステムを含むコンピュータシステム１４用にインストールされたグラフィックスコントローラとして働くため、本発明のシステム１０は、ホストコンピュータシステム１４上で実行されるどんな特別なソフトウェアも必要としない。
【００２０】
本実施形態では、プロセッサ２６は前述の機能を実行するために、２つのメインプロセスを実行するが、どちらもプロセッサ２６が実行するプログラムコードで実施される。プログラムコードはフラッシュメモリ３８に格納されることが好ましい。これらのうち第１のプロセスには、アダプタカード１８の管理、構成、および制御を目的とするクライアントプログラムから、ユーザがアダプタカード１８と対話できるようにするＷｅｂサーバが含まれる。これらの管理、構成、および制御の機能選択肢は、Ｗｅｂサーバがクライアントプログラムに提供するハイパーテキストマークアップ言語（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ／ＨＴＭＬ）ページとしてユーザに提示される。プロセッサ２６が実行する第２のプロセスは、ＶＧＡ＿ｒｅｍｏｔｅｒ（）プロセスである。このプロセスは、コンソール画面を表したもの（コンピュータシステム１４からのコマンドに応答してグラフィックスコントローラ２２によって生成される）内での変更を判断し、これらの変更を表す情報をＴＣＰ／ＩＰセグメントにパッケージングし、このＴＣＰ／ＩＰセグメントをクライアントプログラムに送信する役割を果たす。さらにＶＧＡ＿ｒｅｍｏｔｅｒ（）プロセスは、リモートクライアントからキーストロークおよびマウス動作の情報を受け取り、この情報をキーボード／マウスコントローラの待ち行列エントリに変換し、その後、これらのエントリをコンピュータシステム１４のキーボード／マウスコントローラ４６内に配置する役割も果たす。
【００２１】
グラフィックスコントローラ２２によって生成されたコンソール画面を表したもの内での変更を判断するステップは、様々な方法で実施することができる。例えば前述したように、一実施形態では、Ｃｉｒｒｕｓ  Ｌｏｇｉｃ，Ｉｎｃによって製造されたＣＬ−ＧＤ５４６５グラフィックスコントローラチップを使用して、グラフィックスコントローラ２２が実施される。ＣＬ−ＧＤ５４６５グラフィックスコントローラの有利な特徴は、標準ＶＧＡレジスタおよび何らかの拡張レジスタを含む、チップのある種の内部レジスタが、メモリ内ですべて線形リストとしてアクセス可能なことである。本実施形態では、この有利な特徴を利用して、プロセッサ２６が、グラフィックスコントローラ２２の現在のＶＧＡモード（すなわちテキストまたはグラフィックス）を判定するために、初めにグラフィックスコントローラ２２上の状態レジスタをサンプリングする。次いで、このＶＧＡモードに基づき、（コンピュータシステム１４のコンソール画面を表す）テキストまたはグラフィックス情報がグラフィックスコントローラ２２のビデオメモリ４２からプロセッサ２６のローカルメモリ４０にコピーされる。本実施形態では、この転送はＤＭＡコントローラ３６によって制御される。次いでプロセッサ２６は、現在のテキストまたはグラフィック情報と以前にサンプリングした情報とを比較して、コンソール画面を表したもの内でのいずれかの変更を判断する。具体的に言えば、本実施形態では、画素値で変更を識別するために、現在のフレームと以前のフレームとが比較される。その後これらの変更に関する情報がＴＣＰ／ＩＰセグメントにパッケージングされ、クライアントプログラムに伝送される。本実施形態では、ＴＣＰ／ＩＰセグメントにはヘッダとその後に続くセグメント本体とが含まれる。グラフィックスモードの場合、ヘッダは、どのリフレッシュラインがセグメント本体で送信されるかを示し、セグメント本体にはこれらラインの新しい画素値が格納される。テキストモードでは、ヘッダはセグメント本体がテキストインデックスを含んでいることを示し、実際のインデックスはセグメント本体で搬送される。ヘッダ内で提供できる他の情報には、例えば特定のテキストフォント（テキストモードの場合）のインデックス、またはカラーパレット（テキストまたはグラフィックス）のインデックスが含まれる。本発明のシステムは、テキストモードでもグラフィックスモードでも等しく良好に動作することが理解できよう。
【００２２】
他のグラフィックスコントローラは、内部状態レジスタを読み取るために、Ｃｉｒｒｕｓ  Ｌｏｇｉｃ  ＣＬ−ＧＤ５４６５コントローラが提供するのと同じ機能は提供しない。実際に、多くのグラフィックスコントローラでは、状態レジスタは、状態レジスタへの書込みと共に読み取られるだけである。したがって、コンソール画面での変更を判断するための代替方法が必要となる。
【００２３】
グラフィックスコントローラ２２の状態レジスタを非破壊的に読み取ることが不可能な一代替実施形態では、ホストコンピュータシステム１４がグラフィックスコントローラへの書込みを試行するアドレス、データ、およびコマンドを解釈するように、プロセッサ２６をプログラミングすることができる。次いで、解釈された情報を使用して、グラフィックスコントローラの状態を判断することができる。情報はこの方法でいったん分析されると、あたかもホストから直接着信したかのようにグラフィックスコントローラ２２に渡される。次いでプロセッサ２６は、ビデオメモリ４２内の情報をサンプリングし、これを以前のサンプルと比較して、コンソール画面イメージにおける変更を判断することができる。次いでこれらの変更をパッケージングし、前述の方法と同じ方法でクライアントプログラムに伝送することができるため、クライアントはリモートワークステーション１６のモニタ上での変更を模倣することができる。
【００２４】
図１Ａは、他の代替実施形態を示す図であり、ここでグラフィックスコントローラ２２′は、液晶ディスプレイ（ＬＣＤ）画面向けのチップを使用して実施される。さらに、先入れ先出し（ＦＩＦＯ）バッファ４３が、普通はＬＣＤディスプレイ画面に接続される出力に接続される。次いで、グラフィックスコントローラ２２′がＦＩＦＯ内のデータを定期的にサンプリングして、そのＬＣＤ出力にどのデータを書き込もうとしているかを判定することができる。このデータには、生のグラフィックスデータおよびある種の画面配置情報が含まれることになる（チップが動作時に使用するように設計されているＬＣＤ画面のタイプに応じて、典型的には例えば、画素データの各連続するバッチをどこにゲートするかを示すある種の信号を使用可能である）。したがって本実施形態では、ＦＩＦＯ  ４３がＬＣＤディスプレイの代わりをする。ＶＧＡモードはこの情報からは判断できないが、たいていのＬＣＤモニタ用グラフィックスコントローラは画面の形状を事前に設定することができるので、プロセッサ２６は画面のトップがリフレッシュされるときを監視することができる。ＦＩＦＯ  ４３に取り込まれた情報から、プロセッサ２６は、連続するサンプル間でコンソール画面にどのような変更が生じたかを判断することができる。次いでこの変更をパッケージングし、上記と同じ方法でクライアントプログラムに伝送することができるため、クライアントはリモートワークステーション１６のモニタ上での変更を模倣することができる。
【００２５】
再度図１を参照すると、コントローラ２２の実施に使用されるグラフィックスコントローラの機能および特徴に応じて、一部の実施形態では単一のメモリをプロセッサ２６およびグラフィックスコントローラ２２の両方で共用することが可能なため、図１に示された別々のメモリ４０および４２を単一のメモリに置き換えることが可能なことに留意されたい。
【００２６】
ディスクイメージロード機能
さらに図１を参照すると、前述したように、本発明の追加の態様により、アダプタカード１８にはさらに、ソフトウェアおよび／またはデータを、インターフェース４８に接続されたローカルの記憶媒体（図示せず）上でパーティションを切ること、フォーマットすること、およびローディングすることを含む、コンピュータシステム１４上でのディスクイメージロードのリモート制御の追加機能に関するサポートを提供するために、周辺機器インターフェース４８が含まれる。本実施形態では、周辺機器インターフェースには、例えばＡｄａｐｔｅｃ，Ｉｎｃから入手可能なＡｄａｐｔｅｃ（登録商標）ＡＩＣ−７８９７  ＳＣＳＩコントローラチップを使用して実施されるＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ）コントローラが含まれる。本発明のこの態様によれば、コンピュータシステム１４の基本入出力システム（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ−ＢＩＯＳ）は、ブートのためにＳＣＳＩコントローラ４８に接続された記憶媒体（例えばディスクユニット）（図示せず）を使用することになる。コンピュータシステム１４のオペレーティングシステムは、記憶媒体または他のＳＣＳＩ周辺装置にアクセスするために、引き続きＳＣＳＩコントローラ４８を使用することができる。
【００２７】
ユーザは、クライアントプログラムを使用して、次にコンピュータシステム１４がブートしたときにアダプタカード１８がセットアップモードに入るように、アダプタカード１８へのネットワーク接続を介して要求することが可能であり、これはアダプタカード１８上に制御フラグ（ｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗ）を設定することによって達成される。ｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗフラグが設定されると、次にコンピュータシステム１４がブートしたときに、通常のＳＣＳＩ  ＢＩＯＳが、ＳＣＳＩ  ＢＩＯＳセットアップ時にホスト中央処理装置（ＣＰＵ）５０をストール（ｓｔａｌｌ）させる修正済みのＳＣＳＩ  ＢＩＯＳに置き換えられる。これによって、アダプタカード１８上のプロセッサがＳＣＳＩコントローラ４８にアクセスするだけであることが保証される。ユーザは、ＳＣＳＩコントローラ４８の状態を観察および設定し、コンピュータシステム１４用のブートデバイスを選択し、ＳＣＳＩコントローラ４８に接続されたディスクユニットをフォーマットしてパーティションを切ることができる。さらに、リモートワークステーション１６とＳＣＳＩコントローラ４８に接続されたディスクユニット間でファイルをコピーすることができる。ユーザは、Ｗｅｂサーバによってアダプタカード上に提供されるＨＴＭＬページを介してこれらの動作を選択し、プロセッサ２６は、フラッシュメモリ３８に格納されたプログラムコード内で実施される対応する手順を実行することによって、これらの機能を実行する。したがって周辺機器インターフェース４８（例えばＳＣＳＩコントローラ）は、この方法で、コンピュータシステム１４またはプロセッサ２６のいずれかによって選択的に制御することができる。
【００２８】
本実施形態では、周辺機器インターフェース４８にＳＣＳＩコントローラが含まれるが、他の実施形態では、記憶媒体の接続をサポートしている限りは他のインターフェースを実施することができる。他の可能なインターフェースに制限はなく、ＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｅｖｉｃｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）インターフェース、ＩＥＥＥ  １３９４（「ＦｉｒｅＷｉｒｅ」）インターフェース、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェース、およびＦｉｂｒｅ  Ｃｈａｎｎｅｌインターフェースが含まれる。現在は、その速度、ＳＣＳＩがサポートするケーブル長（４０ｆｔ（１２．１９２ｍ））、および様々なオペレーティングシステム（例えばＵｎｉｘ（登録商標）ｗａｒｅ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）  ＮＴ（登録商標）、ＶｘＷｏｒｋｓ（登録商標）など）およびデバイスタイプ（例えばＣＤＲＯＭ、ＤＩＳＫなど）に対するソフトウェアドライバの広範な可用性により、ＳＣＳＩインターフェースが好ましい。
【００２９】
クライアントプログラム
本実施形態では、クライアントプログラムは、アダプタカード１８上で実行中のＷｅｂサーバプロセスに接続されるブラウザを含み、前述のリモートコンソール機能を実施する１つまたは複数のソフトウェアモジュールと組み合わせて、システム１０の管理および制御インターフェースとしての働きをする。本実施形態では、任意のＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）およびＨＴＭＬ準拠ブラウザが、例えばＭｉｃｒｏｓｏｆｔ（登録商標）Ｉｎｔｅｒｎｅｔ  ＥｘｐｌｏｒｅｒまたはＮｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ（登録商標）を含む、クライアントプログラムのブラウザとしての働きをすることができる。現時点で好ましい実施形態では、リモートコンソールの機能（画面情報の解釈および処理、並びにキーストロークおよびマウス動作の収集および伝送）は、ブラウザのアドインとして実施される。具体的に言えば、本実施形態では、リモートコンソールの機能は、ＡｃｔｉｖｅＸコントロールとして実施される。ただしこの機能は、例えばＮｅｔｓｃａｐｅ  Ｎａｖｉｇａｔｏｒ（登録商標）で使用するためのプラグインとして、Ｊａｖａ（登録商標）アプレットとして、または実行可能プログラムなどの何らかの他の形式で、代替方法として実施することができる。次に、アダプタカード１８上でＷｅｂサーバによって実施され、クライアントプログラムのブラウザによって表示されるユーザインターフェースの詳細について説明する。
【００３０】
図１にはリモートワークステーションが１つだけ表示されているが、１つまたは複数の異なるリモートワークステーション上で実行中の複数のクライアントプログラムが単一のアダプタカード１８に接続し、これと対話することが可能なため、所与のコンピュータシステム１４のリモートコンソールエミュレーションをネットワーク上の複数位置から実行することができる。また、所与のリモートワークステーション上にある所与のクライアントプログラムを使用して、任意数の異なるコンピュータシステム１４内で任意数の異なるアダプタカード１８を制御することができる。したがって、単一のリモートワークステーション１６を使用して、複数の異なるコンピュータシステム１４を遠隔管理することができる。クライアントプログラムおよびアダプタカード１８には、それぞれ固有のインターネットプロトコル（ＩＰ）アドレスが割り当てられるため、ネットワーク１２全域で固有のアイデンティティを提供することができる。
【００３１】
本発明の実施形態では、クライアントプログラムに上述のリモートコンソール機能を実施する１つまたは複数のソフトウェアモジュール（例えばＡｃｔｉｖｅＸコントロール、プラグイン、Ｊａｖａ（登録商標）アプレットなど）と組み合わされたＷｅｂブラウザが含まれるが、他の実施形態では、クライアントプログラムは、アダプタカード１８の管理および構成の両方、並びにリモートコンソール機能を扱うスタンドアロン型コンピュータプログラムまたはアプリケーションの形で実施することができる。
【００３２】
システム動作
図２は、アダプタカード１８およびクライアントプログラムを含む本発明のシステム１０の動作に関してより詳細に示す流れ図である。図２は、アダプタカード１８上およびクライアントプログラム内のあるイベントが、相互に、またホストコンピュータシステム１４上のイベントに対して、いつ発生するかを示す時間ライン（ｔｉｍｅ  ｌｉｎｅ）を提供する図である。図２のある水平ライン、例えばライン６０、７４、および８２は同期イベントを表す。この例では、プロセッサ２６、ブリッジ３２および３４、並びにＤＭＡコントローラ３６は、前述のｉ９６０（登録商標）ＲＰマイクロプロセッサを使用して実施される。
【００３３】
図に示されるように、本発明のシステムの動作は、コンピュータシステム１４のブートで始まる。具体的に言えば、コンピュータシステム１４はステップ６２においてパワーオンまたはリセットされることにより、典型的には読取り専用メモリ（ＲＯＭ）（図示せず）からその事前ＰＯＳＴ（Ｐｏｗｅｒ  Ｏｎ  Ｓｅｌｆ−Ｔｅｓｔ）、ＰＯＳＴ、およびＢＩＯＳコードをロードする。ステップ６４では、ホストコンピュータ１４がそのＩ／Ｏバス２０に接続されたＰＣＩデバイスにアドレスを割り当てるプロセスを開始する。ステップ６６でより詳細に示されるように、コンピュータシステム１４は、初めにＰＣＩブリッジ３０に、その後グラフィックスコントローラ（ＶＧＡ）２２および周辺機器インターフェース（ＳＣＳＩ）４８にアドレスを割り当てる。ただしこのプロセスは、以下で論じるように、ライン７４で示される同期イベントがアダプタカード１８上で発生するまで持続する。
【００３４】
図２のライン６０は、最初の同期イベントを表すものであり、したがって図に示されるように、ホストコンピュータ１４上のステップ６０と同時に、ステップ６８でアダプタカード１８上のプロセッサ２６（本実施形態では、ｉ９６０（登録商標）ＲＰプロセッサ）がリセット信号を受け取る。これにより、ステップ７０に示されるように、プロセッサ２６は、その埋め込まれたオペレーティングシステムをフラッシュメモリ３８からロードしてブートする。
【００３５】
ステップ７２において、プロセッサ２６は様々な構成タスクを実行する。初めに、プロセッサ２６はローカルバスセグメント２８ａ（２次ＰＣＩバス）、並びにブリッジ３２および３４を構成する。次いでネットワークインターフェースコントローラ２４は、ＬＯＣＡＬデバイス（すなわちホストＣＰＵ  ５０が認識できない）として、バスセグメント２８ａ上でイニシャライズされる。グラフィックスコントローラＢＩＯＳ（この例ではＶＧＡ  ＢＩＯＳ）は、次にホストＢＩＯＳによってホストメモリ５２にロードされる。次いでプロセッサ２６はｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗフラグを検査して、アダプタカード１８が周辺機器インターフェース４８、この例ではＳＣＳＩコントローラの制御権を取るかどうか、またはコンピュータシステム１４にインターフェース４８の制御権を取らせるかどうかを判定する。ステップ７２の擬似コードで示されるようにｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗフラグが設定されると、次いでプロセッサ２６は修正済みのＳＣＳＩ  ＢＩＯＳ拡張コードをフラッシュメモリ３８からローカルメモリ４０内の位置にロードし、次いで、ここからホストＢＩＯＳがそのコードをホストメモリ５２にロードする。以下で説明するように、本明細書ではＳＣＳＩ  ＷＡＩＴ  ＢＩＯＳ拡張と呼ばれる修正済みＳＣＳＩ  ＢＩＯＳが、そのＳＣＳＩ  ＢＩＯＳセットアップ時にホスト中央処理ユニット（ＣＰＵ）５０をストールさせる（以下のステップ８８で説明）。次いでプロセッサ２６がＳＣＳＩコントローラ４８の制御権を取り、ローカルバス２８上でイニシャライズする。
【００３６】
他方では、ステップ７２においてｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗフラグが設定されないことが決まると、プロセッサ２６は標準ＳＣＳＩ  ＢＩＯＳ拡張をフラッシュメモリ３８からローカルメモリ４０内の位置にロードし、次いでホストＢＩＯＳがここから拡張をそのホストメモリ５２にロードする。標準ＳＣＳＩ  ＢＩＯＳ拡張コードは、そのＳＣＳＩ  ＢＩＯＳセットアップ時にホストコンピュータシステム１４をストールさせず、プロセッサ２６は制御権を取らず、さらにＳＣＳＩコントローラ４８もイニシャライズしない。
【００３７】
ｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗフラグに基づいて適切なＳＣＳＩ  ＢＩＯＳ拡張がいったんロードされると、プロセッサ２６はフラッシュメモリ３８からＳＣＳＩコントローラオプションのセット（Ｆｌａｓｈ＿ＳＣＳＩ＿ｏｐｔｉｏｎｓ）をロードするが、本実施形態ではこれがフラッシュメモリである。Ｆｌａｓｈ＿ＳＣＳＩ＿ｏｐｔｉｏｎｓは、あるＳＣＳＩ変数の初期値を決定する。最後に、ステップ７２においてプロセッサ２６は、そのローカルバスセグメント２８ｂと１次ローカルバスセグメント２８間のブリッジ３２を介した通信を可能にする。ライン７４で示されるように、ブリッジ３２を跨ぐ通信は、ホストコンピュータシステム１４がＰＣＩアドレスをプロセッサ２６に割り当てられるようにするのに必要であり、ステップ６６に示されるようにその後実行するため、これが同期イベントである。
【００３８】
Ｉ／Ｏバス２０に接続可能な他のＰＣＩデバイスにアドレスを割り当てた後、コンピュータシステム１４は次に任意のＶＧＡ  ＢＩＯＳ拡張（ホストＩ／Ｏバス２０およびバス２８などの任意の従属バス上にある）を探し、その後、その標準ＶＧＡ  ＢＩＯＳインストールユーティリティを実行する。アダプタカード１８、具体的に言えばアダプタカード１８上のグラフィックスコントローラ２２は、コンピュータシステム１４の１次グラフィックスデバイスとしての働きをするように意図されているので、コンピュータシステム１４の割込１０（ｉｎｔ１０）チェーンは空になる。その結果、コンピュータシステム１４はステップ７２においてアダプタカードによってロードされたＶＧＡ  ＢＩＯＳをｉｎｔ１０チェーンに追加し、これらの追加が今度はＰＣＩ．ＣＭＤ環境変数を値７に設定する（すなわちＰＣＩ．ＣＭＤ＝７と設定）。ライン８２で示されるように、ＶＧＡ＿ｒｅｍｏｔｅｒ（）プロセスは、以下で説明するようにこの機能が実行されるまでＰＣＩ．ＣＭＤ変数の設定を待つので、これは他の同期イベントを表している。
【００３９】
ステップ８８においてホストコンピュータは、ステップ７２でプロセッサ２６によってロードされたＳＣＳＩ  ＢＩＯＳ拡張（標準のＳＣＳＩ  ＢＩＯＳ拡張または修正済みのＳＣＳＩ  ＷＡＩＴ  ＢＩＯＳ拡張のいずれか）を実行する。ステップ７２でＳＣＳＩ  ＷＡＩＴ  ＢＩＯＳ拡張がロードされた場合、アダプタカード１８はＳＣＳＩコントローラ４８の制御権を取っており、その拡張がＢＩＯＳセットアップルーチンでホストコンピュータを中止する。この時点で、アダプタカード１８、したがってクライアントプログラムでのユーザは、ＳＣＳＩコントローラ４８に接続されたデバイスへのアクセスのみを有し、以下で説明するＷｅｂサーバインターフェースを介してこれらと対話することができる。具体的に言えば、本発明のこの態様により、ユーザはＳＣＳＩコントローラ４８の状態を観察および設定し、コンピュータシステム１４のブートデバイスを選択し、ＳＣＳＩコントローラ４８に接続されたディスクユニットをフォーマットしてパーティションを切ることができる。さらに、リモートワークステーション１６とＳＣＳＩコントローラ４８に接続されたディスクユニットの間でファイルをコピーすることができる。
【００４０】
他方、ステップ７２で標準のＳＣＳＩ  ＢＩＯＳ拡張がロードされた場合（すなわちｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗフラグが設定されておらず、アダプタカード１８はＳＣＳＩコントローラの制御権を取っていない場合）、ホストコンピュータシステム１４はこれらの標準拡張を実行し、ＳＣＳＩコントローラ４８の制御権を取る。ＢＩＯＳ＿ｏｐｔフラグが設定されており、割込１３（ｉｎｔ１３）がまだフック（ｈｏｏｋ）されていない場合、これにはｉｎｔ１３  ＢＩＯＳ拡張が含まれることになる。次いでコンピュータシステムは、そのＰＯＳＴコードを実行すること（ステップ９０）、および典型的なシステムＢＩＯＳセットアップに入る機会をユーザに提供すること（ステップ９２）を含む、通常のブートプロセスを続行する。最後にステップ９４においてコンピュータシステム１４は、ＳＣＳＩコントローラ４８に接続されたブートデバイスからオペレーティングシステムのブートを試みる。
【００４１】
アダプタカード１８上で実行したステップを再度参照すると、ステップ７２でリストされたタスクを実行した後、プロセッサ２６は、プログラムコードとしてフラッシュメモリ３８に格納されたセットアップソフトウェアの実行を開始する。さらに詳細に説明すると、セットアップソフトウェアは初めに、ネットワークインターフェースコントローラ２４とクライアントプログラム間のネットワーク１２を介した通信を可能にするために、ＴＣＰ／ＩＰプロトコルを実施するコードをイニシャライズする。次いでプロセッサ２６は、ＷｅｂサーバプロセスとＶＧＡ＿ｒｅｍｏｔｅｒ（）プロセスの両方を、別々のスレッドとして開始する。
【００４２】
ステップ８４に示されるように、ＶＧＡ＿ｒｅｍｏｔｅｒ（）プロセスはＰＣＩ／ＣＭＤ変数を待つ。ステップ７６において、いったんこの変数がホストコンピュータシステム１４によって適切な値（ＰＣＩ．ＣＭＤ＝７）に設定されると、ＶＧＡ＿ｒｅｍｏｔｅｒ（）プロセスはそのリモートコンソール機能を開始する。具体的に言えば、ステップ８４でリストされているように、ＶＧＡ＿ｒｅｍｏｔｅｒ（）プロセスは所定の間隔で前述の代替方法（ステップ８４で「Ｓｃｒａｐｅ  ＶＧＡ」と表されている）のうち１つを使用してグラフィックスコントローラ２２によって生成されたコンソール画面を表したもの内の変更を判断し、この変更をＴＣＰ／ＩＰセグメントにパッケージングし、次いでネットワークインターフェースコントローラ２４を介して、クライアントプログラムにこれらのセグメントを送信する。さらに、ＶＧＡ＿ｒｅｍｏｔｅｒ（）プロセスは、キーボード、並びにマウスの移動およびクリック情報をＴＣＰ／ＩＰセグメントを介してクライアントプログラムから定期的に受け取り、これらをキーボード／マウスコントローラ待ち行列エントリに変換した後、これらがあたかもローカルに生成されたかのようにホストコンピュータ４６のキーボード／マウスコントローラ４６に伝送する。
【００４３】
ＷＥＢサーバプロセスはステップ８０に示されている。プロセッサ２６がＷｉｎｄ  Ｒｉｖｅｒ  ＳｙｓｔｅｍｓからのＶｘＷｏｒｋｓ（登録商標）リアルタイムオペレーティングシステム（ＲＴＯＳ）を実行する本実施形態においては、ＷｅｂサーバもＷｉｎｄ  Ｒｉｖｅｒ  Ｓｙｓｔｅｍｓから供給される。本実施形態では、ＷＥＢサーバはＷｉｎｄ  Ｒｉｖｅｒ  ＳｙｓｔｅｍｓのＷｅｂサーバの機能である要求処理モジュール（Ｒｅｑｕｅｓｔ  Ｐｒｏｃｅｓｓｉｎｇ  Ｍｏｄｕｌｅ／ＲＰＭ）を使用する。要求処理モジュール（ＲＰＭ）とは、特定のＨＴＴＰまたはＨＴＭＬプロトコルあるいはデータ文字列がＷｅｂサーバに送信されると呼び出されるようにＷｅｂサーバに登録可能な、１つまたは複数のプロシージャのモジュールである。したがって、本実施形態においてＲＰＭは、ユーザがクライアントプログラムで選択した機能がそれによって開始され、アダプタカード１８上のプロセッサ２６によって実行されるメカニズムである。ステップ８０で示されるように、Ｗｅｂサーバは、ユーザが前述のようにクライアントプログラムで選択できる、管理機能（ａｄｍｉｎ＿ＲＰＭ）および構成機能（ｃｏｎｆｉｇ＿ＲＰＭ）を処理するために、２つのＲＰＭをセットアップする。さらに、ステップ８６では、別々に示された他のＲＰＭ（ＳＣＳＩ＿Ｃｏｎｆｉｇ＿ＲＰＭ）がアダプタカード１８のディスクイメージロード機能をサポートするためにＷｅｂサーバに登録される。ユーザがＳＣＳＩ＿Ｃｏｎｆｉｇ＿ＲＰＭから使用できるプロシージャは、ｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗフラグが設定されているかどうか（すなわち、アダプタカード１８またはコンピュータシステム１４がＳＣＳＩコントローラ４８の制御権を取っているかどうか）により異なる。アダプタカード１８が制御権を取っている（ｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗが設定されている）場合、ユーザにはフルセットの構成オプションが提供される。これらのオプションをサポートするためのＳＣＳＩ＿Ｃｏｎｆｉｇ＿ＲＰＭのプロシージャには、以下のものが含まれる。
【００４４】
（ｉ）ｉ９６０＿ｃｏｎｆｉｇ（）の取得／設定−プロセッサ２６によるＳＣＳＩコントローラ４８の制御をイネーブル／ディスエーブルするために、ユーザがｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗフラグの現在の状態を表示または設定できるようにするプロシージャ。
【００４５】
（ｉｉ）Ｆｌａｓｈ＿ＳＣＳＩ＿ｏｐｔｉｏｎｓ（）の取得／設定−ユーザがＳＣＳＩコントローラ４８に対してＦｌａｓｈ＿ＳＣＳＩ＿ｏｐｔｉｏｎｓを表示または設定できるようにするプロシージャ。
【００４６】
（ｉｉｉ）ＤＩＳＫオプションの取得／設定−ユーザが、例えばブートユニット、アクセス速度などとしての識別を含む、ＳＣＳＩコントローラに接続された記憶媒体（例えばディスクユニット）に関するある種のオプションを表示または設定できるようにするプロシージャ。
【００４７】
（ｉｖ）ディスクパーティショニング（ｐａｒｔｉｔｉｏｎｉｎｇ）の取得／設定−ユーザが、ＳＣＳＩコントローラに接続された記憶媒体のパーティショニングを表示または設定できるようにするプロシージャ。
【００４８】
（ｖ）ＭＢＲ／ＰＢＲの取得／設定−ユーザが、コンピュータシステム１４がそこからオペレーティングシステムをブートさせる記憶媒体のマスタブートレコード（Ｍａｓｔｅｒ  Ｂｏｏｔ  Ｒｅｃｏｒｄ）または１次ブートレコード（Ｐｒｉｍａｒｙ  Ｂｏｏｔ  Ｒｅｃｏｒｄ）を表示または設定できるようにするプロシージャ。
【００４９】
（ｖｉ）フォーマットの取得／設定−ユーザが、ＳＣＳＩコントローラ４８に接続された記憶媒体の現在のフォーマットを識別または変更できるようにするプロシージャ。
【００５０】
（ｖｉｉ）ＢＯＯＴファイルの取得／設定−ユーザが、コンピュータシステム１４がそこからオペレーティングシステムをブートさせる記憶媒体上で、現在のＢＯＯＴファイル（すなわち特定のオペレーティングシステムの初期設定（ｉｎｉｔｉａｌｉｚａｔｉｏｎ）に関連付けられたファイル）を表示または置換（破損の場合）できるようにするプロシージャ。
【００５１】
アダプタカード１８がＳＣＳＩコントローラ４８の制御権を取っていない（ｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗが設定されていない）場合、ユーザは上記プロシージャ（ｉ）および（ｉｉ）に限定される。
【００５２】
前述したように、リモートワークステーション１６でのクライアントプログラムまたはインターフェースは、ブラウザと、現時点での好ましい実施形態ではＡｃｔｉｖｅＸコントロールからなる。ステップ９６に示されるように、ブラウザ９６は、ｉ９６０  Ｗｅｂサーバに接続するため、ユーザをＷｅｂサーバにログイン可能にするため、管理および構成機能オプションを提供するＨＴＭＬページを表示するため、およびＡｃｔｉｖｅＸコントロールが起動される環境としての働きをするために使用される。ステップ９８に示されるように、ＡｃｔｉｖｅＸコントロールは、アダプタカード１８から受け取った画面情報の受取りおよび解釈、並びにアダプタカード１８に伝送するためのキーボードおよびマウス情報の収集を処理する。
【００５３】
図３は、アダプタカード１８上でＷｅｂサーバによって実施され、クライアントプログラムのブラウザによって表示されるユーザインターフェースのレイアウトの一実施形態を示す図である。図３の各ブロックは、Ｗｅｂサーバがブラウザに提示する異なるＨＴＭＬページを表す。本実施形態では、これらのＨＴＭＬページはフラッシュメモリ３８に格納される。ブロック１００は、Ｗｅｂサーバによってアダプタカード１８に提供されるインデックスページを表す。これは、ブラウザがアダプタカードのＩＰアドレスに最初に接続したときに表示されるページである。インデックスページ１００は、ユーザがユーザコード（ｕｓｅｒ  ｃｏｆｅ）およびパスワード（ｐａｓｓ  ｗｏｒｄ）を入力するための書式を提供する。ユーザコードおよびパスワードが入力されると、これがアダプタカード１８に伝送され、ここでプロセッサ２６がａｄｍｉｎ＿ＲＰＭからプロシージャを呼び出して、ユーザコード／パスワードの組合せおよびリモートワークステーション１６のＩＰアドレスが正しいかどうかを検証する。ユーザコード／パスワードの組合せが正しくない場合、ユーザがデータを再入力できるようにするＨＴＭＬページ１０２がユーザに表示される。検証が成功した場合、プロセッサ２６は現在ユーザがどのような特権を有するかを判断する。本実施形態では、ユーザは、管理者、情報提供者（Ｉｎｆｏｒｍａｔｉｏｎａｌ）、オブザーバという３レベルの特権のうち１つを有することができる。管理者レベルのユーザは、アダプタカードのすべての機能へのアクセス権を有する。情報提供者レベルのユーザは、管理者向けに確保されているものを除き、すべての動作を実行することができる。オブザーバレベルのユーザは、リモートワークステーション１６で生成されたコンソール画面を監視できるだけであり、ユーザのパスワード変更および同じアダプタカード１８に接続された他のクライアントプログラムへのメッセージ送信を除き、どんな構成または管理機能へのアクセス権も持たない。ユーザの特権レベルに基づき、３つのＨＴＭＬページ１０４、１０６、または１０８のうちの１つがＷｅｂサーバによってユーザに提示される。管理者レベルのユーザは、ＨＴＭＬページ１０４を受け取り、情報提供者レベルのユーザ（Ｉｎｆｏｒｍａｔｉｏｎ−ｌｅｖｅｌ）はＨＴＭＬページ１０６を受け取り、オブザーバレベル（Ｏｂｓｅｒｖｅｒ−ｌｅｖｅｌ）のユーザはＨＴＭＬページ１０８を受け取る。
【００５４】
管理者レベルのユーザ向けのＨＴＭＬページ１０４を参照すると、このレベルのユーザには、Ａｄｍｉｎ（管理）、Ｃｏｎｓｏｌｅ（コンソール）、Ｃｈａｎｇｅ  ＰａｓｓＷｏｒｄ（ＰＷ）（パスワード変更）、Ｓｅｎｄ  Ｍｅｓｓａｇｅ（メッセージ送信）、およびＳｏｆｔｗａｒｅ（Ｓ／Ｗ）Ｉｎｓｔａｌｌ（ソフトウェアインストール）というオプションがある。Ａｄｍｉｎオプションを選択するとＨＴＭＬページ１１０が表示され、ここでユーザに、Ｕｐｄａｔｅ  Ｓｏｆｔｗａｒｅ（ソフトウェア更新）、Ｃｏｎｆｉｇｕｒｅ  Ｂｏａｒｄ（ボード構成）、およびＣｏｎｆｉｇｕｒｅ  Ｕｓｅｒｓ（ユーザ構成）という追加オプションが与えられる。Ｕｐｄａｔｅ  Ｓｏｆｔｗａｒｅオプションを選択すると、アダプタカード１８上のｃｏｎｆｉｇ＿ＲＰＭにあるプロシージャが呼び出され、ユーザは、例えばアダプタカード１８上のソフトウェアをアップグレードするために新しいソフトウェア（すなわちプログラムコード）をアダプタカード１８に転送することができる。Ｃｏｎｆｉｇｕｒｅ  Ｂｏａｒｄオプションを選択すると追加のＨＴＭＬページ１１２が表示され、ここで、例えばアダプタカード１８のＩＰアドレスを設定する機能などの、ある種の構成オプションが提供される。図に示されるように、このオプションはアダプタカード１８上のｃｏｎｆｉｇ＿ＲＰＭにあるプロシージャを呼び出し、これがアダプタカード１８上の適切な位置に新しいＩＰアドレスを格納する。ＨＴＭＬページ１１０のＣｏｎｆｉｇｕｒｅ  Ｕｓｅｒｓオプションは、ユーザ検証のオン／オフ（ｕｓｅｒ  ｖａｌｉｄａｔｉｏｎ  ｏｎ  ａｎｄ  ｏｆｆ）を切り替えるためのオプションを提供し、新しいユーザコードとパスワードの組合せを追加し、既存のユーザコードとパスワードの組合せを修正し、所与のユーザの特権レベルを変更する追加のＨＴＭＬページ１１４および１１６とリンクしている。要求された変更または追加を実行するために、ａｄｍｉｎ＿ＲＰＭの適切なプロシージャが呼び出されることになる。
【００５５】
再度、初めの管理者レベルのＨＴＭＬページ１０４を参照すると、次の選択肢はＣｏｎｓｏｌｅである。このオプションを選択するとクライアントプログラムのＡｃｔｉｖｅＸコントロールが起動され、これがアダプタカード１８から受け取った情報に基づいて、リモートワークステーション１６のモニタ上のウィンドウまたはフレーム内にコンピュータシステム１４のコンソール画面を再現し、キーストロークおよびマウスの情報を収集してアダプタカード１８に伝送する。ＡｃｔｉｖｅＸコントロールの機能は、ユーザの特権レベルに応じて変わる場合がある。例えば、オブザーバレベルのユーザは再現されたコンソール画面を表示することができるが、キーストロークおよびマウス移動機能が使用不能になっているために、ユーザがコンピュータシステム１４と対話できない場合がある。
【００５６】
さらに管理者のＨＴＭＬページ１０４を参照すると、Ｃｈａｎｇｅ  Ｐａｓｓｗｏｒｄオプションは、ユーザのパスワードを変更するための書式を提供する追加のＨＴＭＬページ１２０にリンクしている。ここでも、要求された変更を実行するためにアダプタカード１８上のａｄｍｉｎ＿ＲＰＭ内にあるプロシージャが呼び出されることになる。
【００５７】
本実施形態では、Ｓｅｎｄ  Ｍｅｓｓａｇｅオプションも提供される。前述したように、複数のリモートワークステーションが所与のアダプタカード１８に接続できるため、それぞれ別々の位置にあるクライアントプログラム間でメッセージを渡す単純なメカニズムを提供することが望ましい。このオプションを使用すると、アダプタカード１８に接続されたあるリモートワークステーションにいるユーザが、同じアダプタカード１８に接続された別のリモートワークステーションのネットワークアドレスを入力し、簡単なテキストメッセージを他のユーザに渡すことができる。このメッセージを渡す機能は、アダプタカード１８のａｄｍｉｎ＿ＲＰＭの１つまたは複数のプロシージャとして実施される。
【００５８】
管理者レベルのユーザが使用可能な最後のオプションが、本発明のオペレーティングシステムロード機能をサポートするＳｏｆｔｗａｒｅ（Ｓ／Ｗ）Ｉｎｓｔａｌｌオプションである。このオプションを選択すると、本発明のこの態様に従って使用できる選択肢を備えた他のＨＴＭＬページ１２６が表示される。本発明のオペレーティングシステムロード機能の多くは、プロセッサ２６が周辺機器インターフェース４８（すなわち、好ましい実施形態ではＳＣＳＩコントローラ）の制御権を取っている必要があるので、Ｓ／Ｗ  Ｉｎｓｔａｌｌオプションを選択するとｉ９６０＿ｃｏｎｆｉｇ＿ｎｏｗフラグを設定するためにＳＣＳＩ＿Ｃｏｎｆｉｇ＿ＲＰＭのｓｅｔ＿ｉ９６０＿ｃｏｎｆｉｇ（）が呼び出され、次いでコンピュータシステム１４が再起動される。前述したように、これによってコンピュータシステム１４をＳＣＳＩ  ＢＩＯＳセットアップルーチンで中止させ、プロセッサ２６がＳＣＳＩコントローラ４８の制御権を取ることができるようにする。これがいったん完了すると、ＨＴＭＬページ１２６で提供されるオプションをユーザが選択することができる。
【００５９】
Ｓｅｌｅｃｔ  Ｄｉｓｋオプションを使用すると、ユーザはＳＣＳＩコントローラ４８に接続された記憶媒体（例えばディスクユニット）を選択することができる。Ｐａｒｔｉｔｉｏｎ  Ｄｉｓｋオプションを使用すると、ユーザは選択したディスクユニットについてパーティションを切ることができる。Ｆｏｒｍａｔ  Ｐａｒｔｉｔｉｏｎオプションを使用すると、ユーザは選択したディスクユニットをフォーマットすることができる。Ｉｎｓｔａｌｌ  Ｆｒｏｍ  ＣＤオプションを使用すると、ユーザは、オペレーティングシステムソフトウェアを含むソフトウェアを、リモートワークステーション１６に接続されたＣＤＲＯＭデバイスからアダプタカード１８上のＳＣＳＩコントローラ４８に接続された選択したディスクユニットにインストールすることができる。これらのオプションをそれぞれ実行するのに必要な機能は、前述のＳＣＳＩ＿Ｃｏｎｆｉｇ＿ＲＰＭのプロシージャによってサポートされる。
【００６０】
情報提供者レベルのユーザが使用できるオプションが、ＨＴＭＬページ１０６に表示される。図に示されるように、情報提供者レベルのユーザは、前述のＣｏｎｓｏｌｅ、Ｃｈａｎｇｅ  Ｐａｓｓｗｏｒｄ、Ｓｅｎｄ  Ｍｅｓｓａｇｅ、およびＳ／Ｗ  Ｉｎｓｔａｌｌ動作を実行することができる。ただし、情報提供者レベルのユーザは、管理者レベルのユーザが使用可能なＡｄｍｉｎ動作は実行することができない。
【００６１】
情報提供者レベルのユーザが使用できるオプションが、ＨＴＭＬページ１０８に表示される。図に示されるように、オブザーバレベルのユーザは、前述のＣｏｎｓｏｌｅ、Ｃｈａｎｇｅ  Ｐａｓｓｗｏｒｄ、およびＳｅｎｄ  Ｍｅｓｓａｇｅ動作しか実行することができない。オブザーバレベルのユーザは、ＡｄｍｉｎまたはＳｏｆｔｗａｒｅ  Ｉｎｓｔａｌｌ動作を実行することはできない。
【００６２】
前述したように本発明は、ネットワーク上の第２の遠隔配置されたコンピュータシステムまたはワークステーションから、ネットワークを介してメインフレームまたは企業サーバなどの第１のコンピュータシステムのコンソールをリモート制御またはエミュレーションするためのアダプタカードを含むシステムを対象としている。前述の実施形態は、その発明の広範な概念を逸脱することなく、変更可能なことを理解されたい。したがって、本発明は開示された特定の実施形態に限定されることはなく、添付の特許請求の範囲で定義されたような本発明の精神および範囲内でのすべての修正をカバーすることが意図されている。
【００６３】
Ｉｎｔｅｌおよびｉ９６０は、Ｉｎｔｅｌ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標である。ＶｘＷｏｒｋｓは、Ｗｉｎｄ  Ｒｉｖｅｒ  Ｓｙｓｔｅｍｓの登録商標である。Ｕｎｉｘ（登録商標）ｗａｒｅ（登録商標）は、Ｔｈｅ  Ｓａｎｔａ  Ｃｒｕｚ  Ｏｐｅｒａｔｉｏｎ，Ｉｎｃの登録商標である。Ｍｉｃｒｏｓｏｆｔ、Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）  ＮＴ（登録商標）および／または本明細書で参照された他のＭｉｃｒｏｓｏｆｔ製品は、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎの商標または登録商標のいずれかである。Ｎａｖｉｇａｔｏｒは、Ｎｅｔｓｃａｐｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｃｏｒｐｏｒａｔｉｏｎの登録商標である。Ｊａｖａ（登録商標）は、Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，Ｉｎｃの商標である。
【図面の簡単な説明】
【図１】  本発明のシステムの一実施形態を示す図である。
【図１Ａ】  図１のシステムの代替実施形態を示す図である。
【図２】  図１のシステムの動作を示す流れ図である。
【図３】  図１のシステムのユーザインターフェースを、その一実施形態に従って示す図である。
【図１】
0003693921.tif 000002
【図１Ａ】
0003693921.tif 000003
【図２】
0003693921.tif 000004
【図３】
0003693921.tif 000005