JP3693921B2 - リモートコンソールエミュレーションのためのシステムおよびアダプタカード - Google Patents
リモートコンソールエミュレーションのためのシステムおよびアダプタカード Download PDFInfo
- Publication number
- JP3693921B2 JP3693921B2 JP2000618847A JP2000618847A JP3693921B2 JP 3693921 B2 JP3693921 B2 JP 3693921B2 JP 2000618847 A JP2000618847 A JP 2000618847A JP 2000618847 A JP2000618847 A JP 2000618847A JP 3693921 B2 JP3693921 B2 JP 3693921B2
- Authority
- JP
- Japan
- Prior art keywords
- computer system
- adapter card
- processor
- controller
- local bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 43
- 230000002093 peripheral effect Effects 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 30
- 230000008859 change Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 241000699666 Mus <mouse, genus> Species 0.000 description 18
- 238000005192 partition Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 241000272470 Circus Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003278 mimic effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 206010000210 abortion Diseases 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009429 electrical wiring Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/105—Program control for peripheral devices where the programme performs an input/output emulation function
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
- Selective Calling Equipment (AREA)
Description
【0001】
(著作権の注記)
この特許に係る書類の開示の一部は、著作権の保護が帰属するマテリアルを含んでいる。著作権者は、米国特許商標庁のパテントファイルまたは記録に現れている通り、この特許に係る書類または開示が誰によってファクシミリ再生されることも拒絶しないが、そうでなければ、如何なるものであっても全ての著作権を保有する。
【0002】
(背景)
(発明の分野)
本発明は、コンピュータシステムを対象とし、より具体的に言えば、コンピュータシステムコンソールのリモートエミュレーションのためのシステムを対象とする。
【0003】
(従来技術の説明)
メインフレームおよび企業サーバを含む大規模コンピュータシステムには、従来から、システム管理者がコンピュータシステムを構成および管理できるようにする主コンソールが含まれる。これらの主コンソールは、通常、コンピュータシステムにローカルに取り付けられたモニタ、キーボード、並びにしばしばマウスなどのポインティングデバイスの形を取る。場合によっては、主コンソールに、大規模コンピュータシステムに緊密に結合された小規模ワークステーションが含まれる。
【0004】
大規模コンピュータシステムにさらに柔軟性を持たせ、管理しやすくするために、モデムまたはネットワーク接続を介してリモートワークステーション上のコンピュータシステムの主コンソールをエミュレートするリモートコンソールが提供されてきた。典型的には、主コンソールの画面を表すビデオ情報が収集され、ネットワークを介してリモートワークステーションに伝送され、ここでリモートワークステーションがこの情報を使用してリモートワークステーション上に主コンソールの画面を再現する。リモートワークステーションでのキーストロークおよびマウス入力がホストコンピュータシステムに伝送され、システムのキーボードコントローラに挿入される。したがってシステム管理者は、あたかもコンピュータシステムの主コンソールを使用しているかのように、リモート位置からコンピュータシステムを管理および構成することができる。
【0005】
欧州特許出願EP0901079号には、通常はメインフレームのコンソールとして機能するダムターミナルが、アダプタカードを備えたパーソナルコンピュータ(PC)に置き換えられた、リモートコンソールエミュレーションシステムについて記載されている。PCのアダプタカードは、典型的なダムターミナルが接続されるのと同じ3270同軸ケーブルを使用して、ホストコンピュータシステムに接続される。PCのアダプタカードは、ホスト制御装置からの通常のコンソール画面更新情報を傍受し、これを保存する。これらの更新は、他のコンピュータによって置き換えられたPCからネットワークを介してアクセスし、リモートコンソールエミュレーションを提供する従来の方法で表示することができる。
残念ながら、上記EP0901079号に記載のものを含む従来技術のリモートコンソールエミュレータにはいくつかの欠点がある。従来技術のリモートコンソールエミュレータは、通常、リモートコンソールに伝送するビデオ情報を取得するために、ホストコンピュータのシステムバスにアクセスしなければならない。ホストコンピュータのシステムバスにこうした影響を与えることで、その性能に作用することになる。従来技術のリモートコンソールエミュレータは、ホストコンピュータ上で動作するドライバなどの特殊なソフトウェアを必要とすることも多い。これらもホストコンピュータの性能にインパクトを与える可能性がある。多くの従来技術のリモートコンソールエミュレータに見られる他の欠点は、主にこうしたソリューションのソフトウェアが複雑であることから、テキストモードおよびグラフィックスモードの両方で、等しく良好に動作しないことである。したがって、こうした従来技術の顕著な欠点を克服する、改良されたリモートコンソールエミュレーションシステムが求められている。本発明は、この要求を満たすものである。
【0006】
(発明の概要)
本発明は、ネットワークを介して、第1のコンピュータシステムコンソールのエミュレーションをネットワーク上に遠隔配置された第2のコンピュータシステムに提供するためのシステムおよびそのアダプタカードを対象とするものである。このシステムには、第1のコンピュータシステムにインストールされたアダプタカードと、遠隔配置されたコンピュータシステム上で実行されるクライアントプログラムとが含まれる。本発明によれば、アダプタカードには、アダプタカードが第1のコンピュータシステムに接続されているときに第1のコンピュータシステムの入出力バスとインターフェースするローカルバスと、第1のコンピュータシステムのコンソール画面を表したものを生成するために第1のコンピュータシステムと対話するローカルバスに結合されたグラフィックスコントローラと、ネットワークに接続を提供するローカルバスに結合されたネットワークインターフェースコントローラと、第1のコンピュータシステムのコンソール画面を表したものにおける変更を決定し、ネットワークインターフェースコントローラを介してこの変更に関する情報を遠隔配置されたコンピュータシステムに伝送するローカルバスに結合されたプロセッサとが含まれる。グラフィックスコントローラ、プロセッサ、およびネットワークインターフェースコントローラはすべてアダプタカード上に共に配置される(co−locate)ため、ローカルバスを介したこれらの間の通信が、第1のコンピュータシステムの入出力バスの性能に影響を与えることはない。さらに、本発明のシステムは、ホストコンピュータシステム上で実行される特殊なソフトウェアを一切必要としない。
【0007】
クライアントプログラムは、リモートコンピュータシステム上で実行される。アダプタカードから伝送された情報を受け取り、ここから、リモートコンピュータシステムのディスプレイ装置上に第1のコンピュータ画面のコンソール画面を表したものを再現する。
【0008】
本発明の他の態様によれば、アダプタカードには、第1のコンピュータシステムまたはプロセッサのいずれかによって選択的に制御可能な、ローカルバスに結合された周辺機器インターフェースがさらに含まれる。周辺機器インターフェースを制御するためのプロセッサまたは第1のコンピュータシステムの選択は、アダプタカード上に格納されたフラグ変数のセット/リセットによって達成される。コンピュータシステムが起動されると、アダプタカード上のプロセッサがフラグを検査して、プロセッサが周辺機器インターフェースの制御権を取るべきか、第1のコンピュータシステムが制御権を取るべきかを判定する。プロセッサが制御権を取ると、プロセッサは周辺機器インターフェース用に修正されたBIOSを第1のコンピュータシステムによってロードさせてしまうため、プロセッサが周辺機器インターフェースの制御権を取れるようにするために、第1のコンピュータシステムが停止してしまう。
【0009】
本発明の他の特徴および利点については、以下で明らかになるであろう。
【0010】
前述の概要、並びに下記に示す好ましい実施形態の詳細な説明は、添付の図面と共に読むことで、より良く理解することができる。本発明を例示する目的で、現時点での好ましい実施形態が図面内に示されているが、本発明は開示された特定の方法および手段に限定されるものでないことを理解されたい。
【0011】
(好ましい実施形態の詳細な説明)
本発明は、メインフレームまたは企業サーバなどの第1のコンピュータシステムコンソールのエミュレーション(すなわちリモート制御)を、ネットワークを介して、ネットワーク上に遠隔配置された第2のコンピュータシステムまたはワークステーションに提供するための、アダプタカードを含むシステムを対象とするものである。本発明の一部は、フロッピィ(登録商標)ディスク、CD−ROM、ハードドライブ、あるいは任意の他のコンピュータまたはマシン読取り可能記憶媒体などの、有形媒体内で実施されるプログラムコード(すなわち命令)の形式を取ることが可能であって、プログラムコードがコンピュータなどのマシンにロードされてマシンにより実行されると、そのマシンは本発明を実施するための装置となる。本発明の一部は、電気配線またはケーブル、光ファイバ、または任意の他の伝送形式などの何らかの伝送媒体を介して伝送される、プログラムコードの形式で実施することも可能であり、プログラムコードがコンピュータなどのマシンによって受け取られ、ロードされて実行されると、そのマシンは本発明を実施するための装置となる。汎用プロセッサ上で実施される場合、プログラムコードはプロセッサと組み合わされて、特定の論理回路に類似して動作する固有の装置を提供する。
【0012】
図を参照すると、同じ番号は終始同じ要素を表すものであり、図1は、本発明の一実施形態に従い、ネットワーク12(例えばインターネットを含む)を介して、ネットワーク上にある第2の遠隔配置されたコンピュータシステムまたはワークステーション16から、メインフレームまたは企業サーバなどの第1のコンピュータシステム14のコンソールのリモート制御またはエミュレーションを提供するためのシステム10を示す図である。システム10には、コンピュータシステム14の入出力(I/O)バス20とリモートワークステーション16上で実行中のクライアントプログラム(以下に記述)に接続されたアダプタカード18が含まれる。本実施形態では、アダプタカード18は、I/Oバス20がPCI(Peripheral Component Interconnect)バスであり、具体的に言えばPCI仕様のバージョン2.1に準拠したものであるコンピュータシステム14で使用するように設計されている。ただし、本発明は、PCIベースのI/Oバスで使用するように限定されているものではなく、例えばISA(Industry Standard Architecture)およびExtended ISA(EISA)、並びに知的所有権を持つI/Oバス(proprietary I/O bus)実施などの他の業界標準バス仕様を含む、どんなI/Oバス環境でも使用可能であることを理解されたい。
【0013】
アダプタカード18およびリモートワークステーション16上で実行中のクライアントプログラムは、モニタ、マウス、およびキーボード(すなわち主コンソール)をコンピュータシステム14に直接接続させる必要性をなくすものである。その代わりに、ネットワーク接続が可能なリモートコンピュータシステムまたはワークステーション上であれば、どこででもコンソールをエミュレートさせることができる。以下で述べるように、他の特徴によれば、アダプタカード18およびクライアントプログラムは、ソフトウェアおよび/またはデータをローカルの記憶媒体(strage medium)上でパーティションを切ること、フォーマットすること、およびローディングすることを含む、コンピュータシステム14上でのディスクイメージロード(disk image load)のリモート制御をサポートしている。
【0014】
アダプタカード
リモートコンソールの機能
本発明のアダプタカード18の一実施形態によれば、アダプタカード18には、グラフィックスコントローラ22、ネットワークインターフェースコントローラ24、およびプロセッサ26が含まれており、これらすべてがアダプタカードのプリント回路基板上に共に配置される。グラフィックスコントローラ22、ネットワークインターフェースコントローラ24、およびプロセッサ26は、それぞれがアダプタカード上のローカルバス28にインターフェースしている。本実施形態ではPCI間ブリッジを含んでいるブリッジ回路30は、アダプタカード18のローカルバス28とコンピュータシステム14のI/Oバス20との間にブリッジを提供する。
【0015】
本実施形態では、プロセッサ26は、第2のブリッジ回路32を介してローカルバス28に間接的にインターフェースしている。ネットワークインターフェースコントローラ24は、ブリッジ回路30と第3のブリッジ回路34を介して、ローカルバス28に間接的にインターフェースしている。この様式で、ネットワークインターフェースコントローラ24は、別のローカルバスセグメント28a上で分離される。この分離により、ネットワークトラフィックがこれを介してグラフィックスコントローラ22がプロセッサ26およびホストI/Oバス20と通信する、主ローカルバスセグメント28にロードを加えることはない。ただし、他の実施形態では、ネットワークインターフェースコントローラ24およびプロセッサ26のうち1つまたは両方を、主ローカルバスセグメント28に直接接続することができる。したがって、この点について本発明は、図示された実施に限定されることは決してない。
【0016】
本実施形態では、グラフィックスコントローラ22がVGA(Video Graphics Array)標準をサポートする。本発明によれば、少なくとも1つのアダプタカード18が、コンピュータシステム14用にインストールされたグラフィックスコントローラとして機能し、コンピュータシステム14のオペレーティングシステムは、標準的なオペレーティングシステムドライバを使用する任意の標準VGAグラフィックスカードにアクセスするようにアダプタカードのグラフィックスコントローラ22にアクセスする。本実施形態では、グラフィックスコントローラ22が、コンピュータシステム14のコンソール画面を表す情報を格納する関連付けられたビデオメモリ42と、VGA BIOSを格納することができる関連付けられた読取り専用メモリ(ROM)44とを備える。様々な製造業者のグラフィックスコントローラを使用して、グラフィックスコントローラ22を実施することができる。例えば、一実施形態では、Cirrus Logic,Incによって製造されたCL−GD5465グラフィックスコントローラチップを使用してグラフィックスコントローラ22を実施することができる。また、本実施形態ではグラフィックスコントローラ22はVGA標準をサポートしているが、他の実施形態では、他の標準または将来の標準を実施するグラフィックスコントローラを使用することができる。
【0017】
本実施形態では、ネットワークインターフェースコントローラ24は10/100BaseTのイーサネット(登録商標)プロトコルを実施するが、他の実施形態では、他のネットワーキングプロトコルを使用することができる。本実施形態では、ネットワークインターフェースコントローラ24は、Intel(登録商標)21143およびQuality Semiconductorから入手可能なQS6611 10/100Base−TXトランシーバを使用して実施される。21143は、10BaseTと100BaseTの両方でMACレイヤをサポートしている。QS6611は、ネットワークの速度を自動検出し、可能であれば100BaseTを選択する機能を提供する。この組合せによって、ネットワークインターフェースコントローラ24は、速度自動検出および単向(simplex)/二重(duplex)動作を備えた10/100BaseTのフル二重イーサネット(登録商標)をサポートすることができる。ネットワークインターフェースコントローラ24は、以下でより詳細に説明するように、リモートワークステーション16上のクライアントプログラムと通信するために、イーサネット(登録商標)を介した伝送制御プロトコル/インターネットプロトコル(TCP/IP−Transmission Control Protocol/Internet Protocol)を使用する。
【0018】
本実施形態では、プロセッサ26は、プロセッサ26が実行するオペレーティングシステムおよびプログラムコードが格納された関連付けられたフラッシュメモリ38、並びに関連付けられたローカルランダムアクセスメモリ40を有し、これらは両方ともローカルバスセグメント28bを介してプロセッサ26とインターフェースする。ダイレクトメモリアクセス(Direct Memory Access/DMA)コントローラなどのメモリコントローラ36も、ローカルメモリ40との間のメモリ転送を制御するために、バスセグメント28bとインターフェースすることができる。本実施形態では、プロセッサ26は、Intel(登録商標) Corporationから入手可能なi960(登録商標)RPマイクロプロセッサを使用して実施されるが、これはプロセッサ26、ブリッジ32および34、並びにDMAコントローラ36の機能をローカルバスセグメント28bが内在する単一の半導体チップパッケージに組み込んだものである。さらに本実施形態では、i960(登録商標)RPプロセッサは、Wind River Systemsから入手可能なVxWorks(登録商標)リアルタイムオペレーティングシステム(RTOS)の制御下で動作する。オペレーティングシステムコードはフラッシュメモリ38に格納される。i960(登録商標)RPプロセッサのリセット時、プロセッサはVxWorks(登録商標)オペレーティングシステムのロードおよびブートを実行する。他の実施形態では、そのための特定のマイクロプロセッサおよびオペレーティングシステムが異なる場合がある。さらに、ブリッジ32および34、並びにDMAコントローラの機能がi960(登録商標)RPプロセッサ内の単一のチップパッケージに含まれているのに対して、他の実施形態では、これらの機能ユニットが別々の離散的構成要素を使用して実施される場合がある。
【0019】
前述の構成要素は、プロセッサ26によって実行されるプログラムコード(以下で説明)と組み合わせて使用すると、リモートワークステーション16のモニタ(または他のディスプレイ)上でコンピュータシステム14のコンソール画面を再現し、リモートワークステーション16で集められたキーストロークやマウスの移動およびクリック情報をコンピュータシステム14に渡すように動作する。さらに詳しく説明すると、本実施形態では、プロセッサ26がグラフィックスコントローラ22によって生成されたコンソール画面を表したものでの変更を判断すると、その後、その変更に関する情報がヘッダ情報と共にTCP/IPセグメント内にパッケージングされ、ネットワークインターフェースコントローラ24経由でネットワーク12を介してクライアントプログラムに伝送される。クライアントプログラムは受け取った情報を解釈し、その情報に基づいてリモートワークステーション16のモニタ上にコンソール画面を再現することが可能であるため、コンピュータシステム14のローカルコンソール画面上に何が表示されていたかを効果的に模倣することができる。同時にクライアントプログラムは、リモートワークステーションでのキーストローク、並びにマウスの移動およびクリック情報を取り込み、その情報をヘッド情報と共にTCP/IPセグメントにパッケージングし、ネットワーク12を介してその情報をアダプタカード18に転送する。キーボードおよびマウスの情報は、ネットワークインターフェースコントローラ18によって受け取られ、プロセッサ26に渡される。プロセッサはこの情報をキーボード/マウスコントローラの待ち行列エントリに変換し、そのエントリをコンピュータシステム14のキーボード/マウスコントローラ46内に配置するが、ここでコンピュータシステム14は、ローカルに接続されたキーボードおよびマウスから着信したかのようにエントリを検出する。グラフィックスコントローラ22、プロセッサ26、およびネットワークインターフェースコントローラ24は、すべてアダプタカード18の上に共に配置されるので、ローカルバス28、28a、28bを介したこれらの間での通信は、ホストコンピュータシステム14のI/Oバス20の性能にインパクトを与えない。さらに、グラフィックスコントローラ22は、そのオペレーティングシステムを含むコンピュータシステム14用にインストールされたグラフィックスコントローラとして働くため、本発明のシステム10は、ホストコンピュータシステム14上で実行されるどんな特別なソフトウェアも必要としない。
【0020】
本実施形態では、プロセッサ26は前述の機能を実行するために、2つのメインプロセスを実行するが、どちらもプロセッサ26が実行するプログラムコードで実施される。プログラムコードはフラッシュメモリ38に格納されることが好ましい。これらのうち第1のプロセスには、アダプタカード18の管理、構成、および制御を目的とするクライアントプログラムから、ユーザがアダプタカード18と対話できるようにするWebサーバが含まれる。これらの管理、構成、および制御の機能選択肢は、Webサーバがクライアントプログラムに提供するハイパーテキストマークアップ言語(HyperText Markup Language/HTML)ページとしてユーザに提示される。プロセッサ26が実行する第2のプロセスは、VGA_remoter()プロセスである。このプロセスは、コンソール画面を表したもの(コンピュータシステム14からのコマンドに応答してグラフィックスコントローラ22によって生成される)内での変更を判断し、これらの変更を表す情報をTCP/IPセグメントにパッケージングし、このTCP/IPセグメントをクライアントプログラムに送信する役割を果たす。さらにVGA_remoter()プロセスは、リモートクライアントからキーストロークおよびマウス動作の情報を受け取り、この情報をキーボード/マウスコントローラの待ち行列エントリに変換し、その後、これらのエントリをコンピュータシステム14のキーボード/マウスコントローラ46内に配置する役割も果たす。
【0021】
グラフィックスコントローラ22によって生成されたコンソール画面を表したもの内での変更を判断するステップは、様々な方法で実施することができる。例えば前述したように、一実施形態では、Cirrus Logic,Incによって製造されたCL−GD5465グラフィックスコントローラチップを使用して、グラフィックスコントローラ22が実施される。CL−GD5465グラフィックスコントローラの有利な特徴は、標準VGAレジスタおよび何らかの拡張レジスタを含む、チップのある種の内部レジスタが、メモリ内ですべて線形リストとしてアクセス可能なことである。本実施形態では、この有利な特徴を利用して、プロセッサ26が、グラフィックスコントローラ22の現在のVGAモード(すなわちテキストまたはグラフィックス)を判定するために、初めにグラフィックスコントローラ22上の状態レジスタをサンプリングする。次いで、このVGAモードに基づき、(コンピュータシステム14のコンソール画面を表す)テキストまたはグラフィックス情報がグラフィックスコントローラ22のビデオメモリ42からプロセッサ26のローカルメモリ40にコピーされる。本実施形態では、この転送はDMAコントローラ36によって制御される。次いでプロセッサ26は、現在のテキストまたはグラフィック情報と以前にサンプリングした情報とを比較して、コンソール画面を表したもの内でのいずれかの変更を判断する。具体的に言えば、本実施形態では、画素値で変更を識別するために、現在のフレームと以前のフレームとが比較される。その後これらの変更に関する情報がTCP/IPセグメントにパッケージングされ、クライアントプログラムに伝送される。本実施形態では、TCP/IPセグメントにはヘッダとその後に続くセグメント本体とが含まれる。グラフィックスモードの場合、ヘッダは、どのリフレッシュラインがセグメント本体で送信されるかを示し、セグメント本体にはこれらラインの新しい画素値が格納される。テキストモードでは、ヘッダはセグメント本体がテキストインデックスを含んでいることを示し、実際のインデックスはセグメント本体で搬送される。ヘッダ内で提供できる他の情報には、例えば特定のテキストフォント(テキストモードの場合)のインデックス、またはカラーパレット(テキストまたはグラフィックス)のインデックスが含まれる。本発明のシステムは、テキストモードでもグラフィックスモードでも等しく良好に動作することが理解できよう。
【0022】
他のグラフィックスコントローラは、内部状態レジスタを読み取るために、Cirrus Logic CL−GD5465コントローラが提供するのと同じ機能は提供しない。実際に、多くのグラフィックスコントローラでは、状態レジスタは、状態レジスタへの書込みと共に読み取られるだけである。したがって、コンソール画面での変更を判断するための代替方法が必要となる。
【0023】
グラフィックスコントローラ22の状態レジスタを非破壊的に読み取ることが不可能な一代替実施形態では、ホストコンピュータシステム14がグラフィックスコントローラへの書込みを試行するアドレス、データ、およびコマンドを解釈するように、プロセッサ26をプログラミングすることができる。次いで、解釈された情報を使用して、グラフィックスコントローラの状態を判断することができる。情報はこの方法でいったん分析されると、あたかもホストから直接着信したかのようにグラフィックスコントローラ22に渡される。次いでプロセッサ26は、ビデオメモリ42内の情報をサンプリングし、これを以前のサンプルと比較して、コンソール画面イメージにおける変更を判断することができる。次いでこれらの変更をパッケージングし、前述の方法と同じ方法でクライアントプログラムに伝送することができるため、クライアントはリモートワークステーション16のモニタ上での変更を模倣することができる。
【0024】
図1Aは、他の代替実施形態を示す図であり、ここでグラフィックスコントローラ22′は、液晶ディスプレイ(LCD)画面向けのチップを使用して実施される。さらに、先入れ先出し(FIFO)バッファ43が、普通はLCDディスプレイ画面に接続される出力に接続される。次いで、グラフィックスコントローラ22′がFIFO内のデータを定期的にサンプリングして、そのLCD出力にどのデータを書き込もうとしているかを判定することができる。このデータには、生のグラフィックスデータおよびある種の画面配置情報が含まれることになる(チップが動作時に使用するように設計されているLCD画面のタイプに応じて、典型的には例えば、画素データの各連続するバッチをどこにゲートするかを示すある種の信号を使用可能である)。したがって本実施形態では、FIFO 43がLCDディスプレイの代わりをする。VGAモードはこの情報からは判断できないが、たいていのLCDモニタ用グラフィックスコントローラは画面の形状を事前に設定することができるので、プロセッサ26は画面のトップがリフレッシュされるときを監視することができる。FIFO 43に取り込まれた情報から、プロセッサ26は、連続するサンプル間でコンソール画面にどのような変更が生じたかを判断することができる。次いでこの変更をパッケージングし、上記と同じ方法でクライアントプログラムに伝送することができるため、クライアントはリモートワークステーション16のモニタ上での変更を模倣することができる。
【0025】
再度図1を参照すると、コントローラ22の実施に使用されるグラフィックスコントローラの機能および特徴に応じて、一部の実施形態では単一のメモリをプロセッサ26およびグラフィックスコントローラ22の両方で共用することが可能なため、図1に示された別々のメモリ40および42を単一のメモリに置き換えることが可能なことに留意されたい。
【0026】
ディスクイメージロード機能
さらに図1を参照すると、前述したように、本発明の追加の態様により、アダプタカード18にはさらに、ソフトウェアおよび/またはデータを、インターフェース48に接続されたローカルの記憶媒体(図示せず)上でパーティションを切ること、フォーマットすること、およびローディングすることを含む、コンピュータシステム14上でのディスクイメージロードのリモート制御の追加機能に関するサポートを提供するために、周辺機器インターフェース48が含まれる。本実施形態では、周辺機器インターフェースには、例えばAdaptec,Incから入手可能なAdaptec(登録商標)AIC−7897 SCSIコントローラチップを使用して実施されるSCSI(Small Computer Systems Interface)コントローラが含まれる。本発明のこの態様によれば、コンピュータシステム14の基本入出力システム(Basic Input/Output System−BIOS)は、ブートのためにSCSIコントローラ48に接続された記憶媒体(例えばディスクユニット)(図示せず)を使用することになる。コンピュータシステム14のオペレーティングシステムは、記憶媒体または他のSCSI周辺装置にアクセスするために、引き続きSCSIコントローラ48を使用することができる。
【0027】
ユーザは、クライアントプログラムを使用して、次にコンピュータシステム14がブートしたときにアダプタカード18がセットアップモードに入るように、アダプタカード18へのネットワーク接続を介して要求することが可能であり、これはアダプタカード18上に制御フラグ(i960_config_now)を設定することによって達成される。i960_config_nowフラグが設定されると、次にコンピュータシステム14がブートしたときに、通常のSCSI BIOSが、SCSI BIOSセットアップ時にホスト中央処理装置(CPU)50をストール(stall)させる修正済みのSCSI BIOSに置き換えられる。これによって、アダプタカード18上のプロセッサがSCSIコントローラ48にアクセスするだけであることが保証される。ユーザは、SCSIコントローラ48の状態を観察および設定し、コンピュータシステム14用のブートデバイスを選択し、SCSIコントローラ48に接続されたディスクユニットをフォーマットしてパーティションを切ることができる。さらに、リモートワークステーション16とSCSIコントローラ48に接続されたディスクユニット間でファイルをコピーすることができる。ユーザは、Webサーバによってアダプタカード上に提供されるHTMLページを介してこれらの動作を選択し、プロセッサ26は、フラッシュメモリ38に格納されたプログラムコード内で実施される対応する手順を実行することによって、これらの機能を実行する。したがって周辺機器インターフェース48(例えばSCSIコントローラ)は、この方法で、コンピュータシステム14またはプロセッサ26のいずれかによって選択的に制御することができる。
【0028】
本実施形態では、周辺機器インターフェース48にSCSIコントローラが含まれるが、他の実施形態では、記憶媒体の接続をサポートしている限りは他のインターフェースを実施することができる。他の可能なインターフェースに制限はなく、IDE(Integrated Device Electronics)インターフェース、IEEE 1394(「FireWire」)インターフェース、USB(Universal Serial Bus)インターフェース、およびFibre Channelインターフェースが含まれる。現在は、その速度、SCSIがサポートするケーブル長(40ft(12.192m))、および様々なオペレーティングシステム(例えばUnix(登録商標)ware(登録商標)、Windows(登録商標) NT(登録商標)、VxWorks(登録商標)など)およびデバイスタイプ(例えばCDROM、DISKなど)に対するソフトウェアドライバの広範な可用性により、SCSIインターフェースが好ましい。
【0029】
クライアントプログラム
本実施形態では、クライアントプログラムは、アダプタカード18上で実行中のWebサーバプロセスに接続されるブラウザを含み、前述のリモートコンソール機能を実施する1つまたは複数のソフトウェアモジュールと組み合わせて、システム10の管理および制御インターフェースとしての働きをする。本実施形態では、任意のHTTP(HyperText Transfer Protocol)およびHTML準拠ブラウザが、例えばMicrosoft(登録商標)Internet ExplorerまたはNetscape Navigator(登録商標)を含む、クライアントプログラムのブラウザとしての働きをすることができる。現時点で好ましい実施形態では、リモートコンソールの機能(画面情報の解釈および処理、並びにキーストロークおよびマウス動作の収集および伝送)は、ブラウザのアドインとして実施される。具体的に言えば、本実施形態では、リモートコンソールの機能は、ActiveXコントロールとして実施される。ただしこの機能は、例えばNetscape Navigator(登録商標)で使用するためのプラグインとして、Java(登録商標)アプレットとして、または実行可能プログラムなどの何らかの他の形式で、代替方法として実施することができる。次に、アダプタカード18上でWebサーバによって実施され、クライアントプログラムのブラウザによって表示されるユーザインターフェースの詳細について説明する。
【0030】
図1にはリモートワークステーションが1つだけ表示されているが、1つまたは複数の異なるリモートワークステーション上で実行中の複数のクライアントプログラムが単一のアダプタカード18に接続し、これと対話することが可能なため、所与のコンピュータシステム14のリモートコンソールエミュレーションをネットワーク上の複数位置から実行することができる。また、所与のリモートワークステーション上にある所与のクライアントプログラムを使用して、任意数の異なるコンピュータシステム14内で任意数の異なるアダプタカード18を制御することができる。したがって、単一のリモートワークステーション16を使用して、複数の異なるコンピュータシステム14を遠隔管理することができる。クライアントプログラムおよびアダプタカード18には、それぞれ固有のインターネットプロトコル(IP)アドレスが割り当てられるため、ネットワーク12全域で固有のアイデンティティを提供することができる。
【0031】
本発明の実施形態では、クライアントプログラムに上述のリモートコンソール機能を実施する1つまたは複数のソフトウェアモジュール(例えばActiveXコントロール、プラグイン、Java(登録商標)アプレットなど)と組み合わされたWebブラウザが含まれるが、他の実施形態では、クライアントプログラムは、アダプタカード18の管理および構成の両方、並びにリモートコンソール機能を扱うスタンドアロン型コンピュータプログラムまたはアプリケーションの形で実施することができる。
【0032】
システム動作
図2は、アダプタカード18およびクライアントプログラムを含む本発明のシステム10の動作に関してより詳細に示す流れ図である。図2は、アダプタカード18上およびクライアントプログラム内のあるイベントが、相互に、またホストコンピュータシステム14上のイベントに対して、いつ発生するかを示す時間ライン(time line)を提供する図である。図2のある水平ライン、例えばライン60、74、および82は同期イベントを表す。この例では、プロセッサ26、ブリッジ32および34、並びにDMAコントローラ36は、前述のi960(登録商標)RPマイクロプロセッサを使用して実施される。
【0033】
図に示されるように、本発明のシステムの動作は、コンピュータシステム14のブートで始まる。具体的に言えば、コンピュータシステム14はステップ62においてパワーオンまたはリセットされることにより、典型的には読取り専用メモリ(ROM)(図示せず)からその事前POST(Power On Self−Test)、POST、およびBIOSコードをロードする。ステップ64では、ホストコンピュータ14がそのI/Oバス20に接続されたPCIデバイスにアドレスを割り当てるプロセスを開始する。ステップ66でより詳細に示されるように、コンピュータシステム14は、初めにPCIブリッジ30に、その後グラフィックスコントローラ(VGA)22および周辺機器インターフェース(SCSI)48にアドレスを割り当てる。ただしこのプロセスは、以下で論じるように、ライン74で示される同期イベントがアダプタカード18上で発生するまで持続する。
【0034】
図2のライン60は、最初の同期イベントを表すものであり、したがって図に示されるように、ホストコンピュータ14上のステップ60と同時に、ステップ68でアダプタカード18上のプロセッサ26(本実施形態では、i960(登録商標)RPプロセッサ)がリセット信号を受け取る。これにより、ステップ70に示されるように、プロセッサ26は、その埋め込まれたオペレーティングシステムをフラッシュメモリ38からロードしてブートする。
【0035】
ステップ72において、プロセッサ26は様々な構成タスクを実行する。初めに、プロセッサ26はローカルバスセグメント28a(2次PCIバス)、並びにブリッジ32および34を構成する。次いでネットワークインターフェースコントローラ24は、LOCALデバイス(すなわちホストCPU 50が認識できない)として、バスセグメント28a上でイニシャライズされる。グラフィックスコントローラBIOS(この例ではVGA BIOS)は、次にホストBIOSによってホストメモリ52にロードされる。次いでプロセッサ26はi960_config_nowフラグを検査して、アダプタカード18が周辺機器インターフェース48、この例ではSCSIコントローラの制御権を取るかどうか、またはコンピュータシステム14にインターフェース48の制御権を取らせるかどうかを判定する。ステップ72の擬似コードで示されるようにi960_config_nowフラグが設定されると、次いでプロセッサ26は修正済みのSCSI BIOS拡張コードをフラッシュメモリ38からローカルメモリ40内の位置にロードし、次いで、ここからホストBIOSがそのコードをホストメモリ52にロードする。以下で説明するように、本明細書ではSCSI WAIT BIOS拡張と呼ばれる修正済みSCSI BIOSが、そのSCSI BIOSセットアップ時にホスト中央処理ユニット(CPU)50をストールさせる(以下のステップ88で説明)。次いでプロセッサ26がSCSIコントローラ48の制御権を取り、ローカルバス28上でイニシャライズする。
【0036】
他方では、ステップ72においてi960_config_nowフラグが設定されないことが決まると、プロセッサ26は標準SCSI BIOS拡張をフラッシュメモリ38からローカルメモリ40内の位置にロードし、次いでホストBIOSがここから拡張をそのホストメモリ52にロードする。標準SCSI BIOS拡張コードは、そのSCSI BIOSセットアップ時にホストコンピュータシステム14をストールさせず、プロセッサ26は制御権を取らず、さらにSCSIコントローラ48もイニシャライズしない。
【0037】
i960_config_nowフラグに基づいて適切なSCSI BIOS拡張がいったんロードされると、プロセッサ26はフラッシュメモリ38からSCSIコントローラオプションのセット(Flash_SCSI_options)をロードするが、本実施形態ではこれがフラッシュメモリである。Flash_SCSI_optionsは、あるSCSI変数の初期値を決定する。最後に、ステップ72においてプロセッサ26は、そのローカルバスセグメント28bと1次ローカルバスセグメント28間のブリッジ32を介した通信を可能にする。ライン74で示されるように、ブリッジ32を跨ぐ通信は、ホストコンピュータシステム14がPCIアドレスをプロセッサ26に割り当てられるようにするのに必要であり、ステップ66に示されるようにその後実行するため、これが同期イベントである。
【0038】
I/Oバス20に接続可能な他のPCIデバイスにアドレスを割り当てた後、コンピュータシステム14は次に任意のVGA BIOS拡張(ホストI/Oバス20およびバス28などの任意の従属バス上にある)を探し、その後、その標準VGA BIOSインストールユーティリティを実行する。アダプタカード18、具体的に言えばアダプタカード18上のグラフィックスコントローラ22は、コンピュータシステム14の1次グラフィックスデバイスとしての働きをするように意図されているので、コンピュータシステム14の割込10(int10)チェーンは空になる。その結果、コンピュータシステム14はステップ72においてアダプタカードによってロードされたVGA BIOSをint10チェーンに追加し、これらの追加が今度はPCI.CMD環境変数を値7に設定する(すなわちPCI.CMD=7と設定)。ライン82で示されるように、VGA_remoter()プロセスは、以下で説明するようにこの機能が実行されるまでPCI.CMD変数の設定を待つので、これは他の同期イベントを表している。
【0039】
ステップ88においてホストコンピュータは、ステップ72でプロセッサ26によってロードされたSCSI BIOS拡張(標準のSCSI BIOS拡張または修正済みのSCSI WAIT BIOS拡張のいずれか)を実行する。ステップ72でSCSI WAIT BIOS拡張がロードされた場合、アダプタカード18はSCSIコントローラ48の制御権を取っており、その拡張がBIOSセットアップルーチンでホストコンピュータを中止する。この時点で、アダプタカード18、したがってクライアントプログラムでのユーザは、SCSIコントローラ48に接続されたデバイスへのアクセスのみを有し、以下で説明するWebサーバインターフェースを介してこれらと対話することができる。具体的に言えば、本発明のこの態様により、ユーザはSCSIコントローラ48の状態を観察および設定し、コンピュータシステム14のブートデバイスを選択し、SCSIコントローラ48に接続されたディスクユニットをフォーマットしてパーティションを切ることができる。さらに、リモートワークステーション16とSCSIコントローラ48に接続されたディスクユニットの間でファイルをコピーすることができる。
【0040】
他方、ステップ72で標準のSCSI BIOS拡張がロードされた場合(すなわちi960_config_nowフラグが設定されておらず、アダプタカード18はSCSIコントローラの制御権を取っていない場合)、ホストコンピュータシステム14はこれらの標準拡張を実行し、SCSIコントローラ48の制御権を取る。BIOS_optフラグが設定されており、割込13(int13)がまだフック(hook)されていない場合、これにはint13 BIOS拡張が含まれることになる。次いでコンピュータシステムは、そのPOSTコードを実行すること(ステップ90)、および典型的なシステムBIOSセットアップに入る機会をユーザに提供すること(ステップ92)を含む、通常のブートプロセスを続行する。最後にステップ94においてコンピュータシステム14は、SCSIコントローラ48に接続されたブートデバイスからオペレーティングシステムのブートを試みる。
【0041】
アダプタカード18上で実行したステップを再度参照すると、ステップ72でリストされたタスクを実行した後、プロセッサ26は、プログラムコードとしてフラッシュメモリ38に格納されたセットアップソフトウェアの実行を開始する。さらに詳細に説明すると、セットアップソフトウェアは初めに、ネットワークインターフェースコントローラ24とクライアントプログラム間のネットワーク12を介した通信を可能にするために、TCP/IPプロトコルを実施するコードをイニシャライズする。次いでプロセッサ26は、WebサーバプロセスとVGA_remoter()プロセスの両方を、別々のスレッドとして開始する。
【0042】
ステップ84に示されるように、VGA_remoter()プロセスはPCI/CMD変数を待つ。ステップ76において、いったんこの変数がホストコンピュータシステム14によって適切な値(PCI.CMD=7)に設定されると、VGA_remoter()プロセスはそのリモートコンソール機能を開始する。具体的に言えば、ステップ84でリストされているように、VGA_remoter()プロセスは所定の間隔で前述の代替方法(ステップ84で「Scrape VGA」と表されている)のうち1つを使用してグラフィックスコントローラ22によって生成されたコンソール画面を表したもの内の変更を判断し、この変更をTCP/IPセグメントにパッケージングし、次いでネットワークインターフェースコントローラ24を介して、クライアントプログラムにこれらのセグメントを送信する。さらに、VGA_remoter()プロセスは、キーボード、並びにマウスの移動およびクリック情報をTCP/IPセグメントを介してクライアントプログラムから定期的に受け取り、これらをキーボード/マウスコントローラ待ち行列エントリに変換した後、これらがあたかもローカルに生成されたかのようにホストコンピュータ46のキーボード/マウスコントローラ46に伝送する。
【0043】
WEBサーバプロセスはステップ80に示されている。プロセッサ26がWind River SystemsからのVxWorks(登録商標)リアルタイムオペレーティングシステム(RTOS)を実行する本実施形態においては、WebサーバもWind River Systemsから供給される。本実施形態では、WEBサーバはWind River SystemsのWebサーバの機能である要求処理モジュール(Request Processing Module/RPM)を使用する。要求処理モジュール(RPM)とは、特定のHTTPまたはHTMLプロトコルあるいはデータ文字列がWebサーバに送信されると呼び出されるようにWebサーバに登録可能な、1つまたは複数のプロシージャのモジュールである。したがって、本実施形態においてRPMは、ユーザがクライアントプログラムで選択した機能がそれによって開始され、アダプタカード18上のプロセッサ26によって実行されるメカニズムである。ステップ80で示されるように、Webサーバは、ユーザが前述のようにクライアントプログラムで選択できる、管理機能(admin_RPM)および構成機能(config_RPM)を処理するために、2つのRPMをセットアップする。さらに、ステップ86では、別々に示された他のRPM(SCSI_Config_RPM)がアダプタカード18のディスクイメージロード機能をサポートするためにWebサーバに登録される。ユーザがSCSI_Config_RPMから使用できるプロシージャは、i960_config_nowフラグが設定されているかどうか(すなわち、アダプタカード18またはコンピュータシステム14がSCSIコントローラ48の制御権を取っているかどうか)により異なる。アダプタカード18が制御権を取っている(i960_config_nowが設定されている)場合、ユーザにはフルセットの構成オプションが提供される。これらのオプションをサポートするためのSCSI_Config_RPMのプロシージャには、以下のものが含まれる。
【0044】
(i)i960_config()の取得/設定−プロセッサ26によるSCSIコントローラ48の制御をイネーブル/ディスエーブルするために、ユーザがi960_config_nowフラグの現在の状態を表示または設定できるようにするプロシージャ。
【0045】
(ii)Flash_SCSI_options()の取得/設定−ユーザがSCSIコントローラ48に対してFlash_SCSI_optionsを表示または設定できるようにするプロシージャ。
【0046】
(iii)DISKオプションの取得/設定−ユーザが、例えばブートユニット、アクセス速度などとしての識別を含む、SCSIコントローラに接続された記憶媒体(例えばディスクユニット)に関するある種のオプションを表示または設定できるようにするプロシージャ。
【0047】
(iv)ディスクパーティショニング(partitioning)の取得/設定−ユーザが、SCSIコントローラに接続された記憶媒体のパーティショニングを表示または設定できるようにするプロシージャ。
【0048】
(v)MBR/PBRの取得/設定−ユーザが、コンピュータシステム14がそこからオペレーティングシステムをブートさせる記憶媒体のマスタブートレコード(Master Boot Record)または1次ブートレコード(Primary Boot Record)を表示または設定できるようにするプロシージャ。
【0049】
(vi)フォーマットの取得/設定−ユーザが、SCSIコントローラ48に接続された記憶媒体の現在のフォーマットを識別または変更できるようにするプロシージャ。
【0050】
(vii)BOOTファイルの取得/設定−ユーザが、コンピュータシステム14がそこからオペレーティングシステムをブートさせる記憶媒体上で、現在のBOOTファイル(すなわち特定のオペレーティングシステムの初期設定(initialization)に関連付けられたファイル)を表示または置換(破損の場合)できるようにするプロシージャ。
【0051】
アダプタカード18がSCSIコントローラ48の制御権を取っていない(i960_config_nowが設定されていない)場合、ユーザは上記プロシージャ(i)および(ii)に限定される。
【0052】
前述したように、リモートワークステーション16でのクライアントプログラムまたはインターフェースは、ブラウザと、現時点での好ましい実施形態ではActiveXコントロールからなる。ステップ96に示されるように、ブラウザ96は、i960 Webサーバに接続するため、ユーザをWebサーバにログイン可能にするため、管理および構成機能オプションを提供するHTMLページを表示するため、およびActiveXコントロールが起動される環境としての働きをするために使用される。ステップ98に示されるように、ActiveXコントロールは、アダプタカード18から受け取った画面情報の受取りおよび解釈、並びにアダプタカード18に伝送するためのキーボードおよびマウス情報の収集を処理する。
【0053】
図3は、アダプタカード18上でWebサーバによって実施され、クライアントプログラムのブラウザによって表示されるユーザインターフェースのレイアウトの一実施形態を示す図である。図3の各ブロックは、Webサーバがブラウザに提示する異なるHTMLページを表す。本実施形態では、これらのHTMLページはフラッシュメモリ38に格納される。ブロック100は、Webサーバによってアダプタカード18に提供されるインデックスページを表す。これは、ブラウザがアダプタカードのIPアドレスに最初に接続したときに表示されるページである。インデックスページ100は、ユーザがユーザコード(user cofe)およびパスワード(pass word)を入力するための書式を提供する。ユーザコードおよびパスワードが入力されると、これがアダプタカード18に伝送され、ここでプロセッサ26がadmin_RPMからプロシージャを呼び出して、ユーザコード/パスワードの組合せおよびリモートワークステーション16のIPアドレスが正しいかどうかを検証する。ユーザコード/パスワードの組合せが正しくない場合、ユーザがデータを再入力できるようにするHTMLページ102がユーザに表示される。検証が成功した場合、プロセッサ26は現在ユーザがどのような特権を有するかを判断する。本実施形態では、ユーザは、管理者、情報提供者(Informational)、オブザーバという3レベルの特権のうち1つを有することができる。管理者レベルのユーザは、アダプタカードのすべての機能へのアクセス権を有する。情報提供者レベルのユーザは、管理者向けに確保されているものを除き、すべての動作を実行することができる。オブザーバレベルのユーザは、リモートワークステーション16で生成されたコンソール画面を監視できるだけであり、ユーザのパスワード変更および同じアダプタカード18に接続された他のクライアントプログラムへのメッセージ送信を除き、どんな構成または管理機能へのアクセス権も持たない。ユーザの特権レベルに基づき、3つのHTMLページ104、106、または108のうちの1つがWebサーバによってユーザに提示される。管理者レベルのユーザは、HTMLページ104を受け取り、情報提供者レベルのユーザ(Information−level)はHTMLページ106を受け取り、オブザーバレベル(Observer−level)のユーザはHTMLページ108を受け取る。
【0054】
管理者レベルのユーザ向けのHTMLページ104を参照すると、このレベルのユーザには、Admin(管理)、Console(コンソール)、Change PassWord(PW)(パスワード変更)、Send Message(メッセージ送信)、およびSoftware(S/W)Install(ソフトウェアインストール)というオプションがある。Adminオプションを選択するとHTMLページ110が表示され、ここでユーザに、Update Software(ソフトウェア更新)、Configure Board(ボード構成)、およびConfigure Users(ユーザ構成)という追加オプションが与えられる。Update Softwareオプションを選択すると、アダプタカード18上のconfig_RPMにあるプロシージャが呼び出され、ユーザは、例えばアダプタカード18上のソフトウェアをアップグレードするために新しいソフトウェア(すなわちプログラムコード)をアダプタカード18に転送することができる。Configure Boardオプションを選択すると追加のHTMLページ112が表示され、ここで、例えばアダプタカード18のIPアドレスを設定する機能などの、ある種の構成オプションが提供される。図に示されるように、このオプションはアダプタカード18上のconfig_RPMにあるプロシージャを呼び出し、これがアダプタカード18上の適切な位置に新しいIPアドレスを格納する。HTMLページ110のConfigure Usersオプションは、ユーザ検証のオン/オフ(user validation on and off)を切り替えるためのオプションを提供し、新しいユーザコードとパスワードの組合せを追加し、既存のユーザコードとパスワードの組合せを修正し、所与のユーザの特権レベルを変更する追加のHTMLページ114および116とリンクしている。要求された変更または追加を実行するために、admin_RPMの適切なプロシージャが呼び出されることになる。
【0055】
再度、初めの管理者レベルのHTMLページ104を参照すると、次の選択肢はConsoleである。このオプションを選択するとクライアントプログラムのActiveXコントロールが起動され、これがアダプタカード18から受け取った情報に基づいて、リモートワークステーション16のモニタ上のウィンドウまたはフレーム内にコンピュータシステム14のコンソール画面を再現し、キーストロークおよびマウスの情報を収集してアダプタカード18に伝送する。ActiveXコントロールの機能は、ユーザの特権レベルに応じて変わる場合がある。例えば、オブザーバレベルのユーザは再現されたコンソール画面を表示することができるが、キーストロークおよびマウス移動機能が使用不能になっているために、ユーザがコンピュータシステム14と対話できない場合がある。
【0056】
さらに管理者のHTMLページ104を参照すると、Change Passwordオプションは、ユーザのパスワードを変更するための書式を提供する追加のHTMLページ120にリンクしている。ここでも、要求された変更を実行するためにアダプタカード18上のadmin_RPM内にあるプロシージャが呼び出されることになる。
【0057】
本実施形態では、Send Messageオプションも提供される。前述したように、複数のリモートワークステーションが所与のアダプタカード18に接続できるため、それぞれ別々の位置にあるクライアントプログラム間でメッセージを渡す単純なメカニズムを提供することが望ましい。このオプションを使用すると、アダプタカード18に接続されたあるリモートワークステーションにいるユーザが、同じアダプタカード18に接続された別のリモートワークステーションのネットワークアドレスを入力し、簡単なテキストメッセージを他のユーザに渡すことができる。このメッセージを渡す機能は、アダプタカード18のadmin_RPMの1つまたは複数のプロシージャとして実施される。
【0058】
管理者レベルのユーザが使用可能な最後のオプションが、本発明のオペレーティングシステムロード機能をサポートするSoftware(S/W)Installオプションである。このオプションを選択すると、本発明のこの態様に従って使用できる選択肢を備えた他のHTMLページ126が表示される。本発明のオペレーティングシステムロード機能の多くは、プロセッサ26が周辺機器インターフェース48(すなわち、好ましい実施形態ではSCSIコントローラ)の制御権を取っている必要があるので、S/W Installオプションを選択するとi960_config_nowフラグを設定するためにSCSI_Config_RPMのset_i960_config()が呼び出され、次いでコンピュータシステム14が再起動される。前述したように、これによってコンピュータシステム14をSCSI BIOSセットアップルーチンで中止させ、プロセッサ26がSCSIコントローラ48の制御権を取ることができるようにする。これがいったん完了すると、HTMLページ126で提供されるオプションをユーザが選択することができる。
【0059】
Select Diskオプションを使用すると、ユーザはSCSIコントローラ48に接続された記憶媒体(例えばディスクユニット)を選択することができる。Partition Diskオプションを使用すると、ユーザは選択したディスクユニットについてパーティションを切ることができる。Format Partitionオプションを使用すると、ユーザは選択したディスクユニットをフォーマットすることができる。Install From CDオプションを使用すると、ユーザは、オペレーティングシステムソフトウェアを含むソフトウェアを、リモートワークステーション16に接続されたCDROMデバイスからアダプタカード18上のSCSIコントローラ48に接続された選択したディスクユニットにインストールすることができる。これらのオプションをそれぞれ実行するのに必要な機能は、前述のSCSI_Config_RPMのプロシージャによってサポートされる。
【0060】
情報提供者レベルのユーザが使用できるオプションが、HTMLページ106に表示される。図に示されるように、情報提供者レベルのユーザは、前述のConsole、Change Password、Send Message、およびS/W Install動作を実行することができる。ただし、情報提供者レベルのユーザは、管理者レベルのユーザが使用可能なAdmin動作は実行することができない。
【0061】
情報提供者レベルのユーザが使用できるオプションが、HTMLページ108に表示される。図に示されるように、オブザーバレベルのユーザは、前述のConsole、Change Password、およびSend Message動作しか実行することができない。オブザーバレベルのユーザは、AdminまたはSoftware Install動作を実行することはできない。
【0062】
前述したように本発明は、ネットワーク上の第2の遠隔配置されたコンピュータシステムまたはワークステーションから、ネットワークを介してメインフレームまたは企業サーバなどの第1のコンピュータシステムのコンソールをリモート制御またはエミュレーションするためのアダプタカードを含むシステムを対象としている。前述の実施形態は、その発明の広範な概念を逸脱することなく、変更可能なことを理解されたい。したがって、本発明は開示された特定の実施形態に限定されることはなく、添付の特許請求の範囲で定義されたような本発明の精神および範囲内でのすべての修正をカバーすることが意図されている。
【0063】
Intelおよびi960は、Intel Corporationの登録商標である。VxWorksは、Wind River Systemsの登録商標である。Unix(登録商標)ware(登録商標)は、The Santa Cruz Operation,Incの登録商標である。Microsoft、Windows(登録商標)、Windows(登録商標) NT(登録商標)および/または本明細書で参照された他のMicrosoft製品は、Microsoft Corporationの商標または登録商標のいずれかである。Navigatorは、Netscape Communications Corporationの登録商標である。Java(登録商標)は、Sun Microsystems,Incの商標である。
【図面の簡単な説明】
【図1】 本発明のシステムの一実施形態を示す図である。
【図1A】 図1のシステムの代替実施形態を示す図である。
【図2】 図1のシステムの動作を示す流れ図である。
【図3】 図1のシステムのユーザインターフェースを、その一実施形態に従って示す図である。
(著作権の注記)
この特許に係る書類の開示の一部は、著作権の保護が帰属するマテリアルを含んでいる。著作権者は、米国特許商標庁のパテントファイルまたは記録に現れている通り、この特許に係る書類または開示が誰によってファクシミリ再生されることも拒絶しないが、そうでなければ、如何なるものであっても全ての著作権を保有する。
【0002】
(背景)
(発明の分野)
本発明は、コンピュータシステムを対象とし、より具体的に言えば、コンピュータシステムコンソールのリモートエミュレーションのためのシステムを対象とする。
【0003】
(従来技術の説明)
メインフレームおよび企業サーバを含む大規模コンピュータシステムには、従来から、システム管理者がコンピュータシステムを構成および管理できるようにする主コンソールが含まれる。これらの主コンソールは、通常、コンピュータシステムにローカルに取り付けられたモニタ、キーボード、並びにしばしばマウスなどのポインティングデバイスの形を取る。場合によっては、主コンソールに、大規模コンピュータシステムに緊密に結合された小規模ワークステーションが含まれる。
【0004】
大規模コンピュータシステムにさらに柔軟性を持たせ、管理しやすくするために、モデムまたはネットワーク接続を介してリモートワークステーション上のコンピュータシステムの主コンソールをエミュレートするリモートコンソールが提供されてきた。典型的には、主コンソールの画面を表すビデオ情報が収集され、ネットワークを介してリモートワークステーションに伝送され、ここでリモートワークステーションがこの情報を使用してリモートワークステーション上に主コンソールの画面を再現する。リモートワークステーションでのキーストロークおよびマウス入力がホストコンピュータシステムに伝送され、システムのキーボードコントローラに挿入される。したがってシステム管理者は、あたかもコンピュータシステムの主コンソールを使用しているかのように、リモート位置からコンピュータシステムを管理および構成することができる。
【0005】
欧州特許出願EP0901079号には、通常はメインフレームのコンソールとして機能するダムターミナルが、アダプタカードを備えたパーソナルコンピュータ(PC)に置き換えられた、リモートコンソールエミュレーションシステムについて記載されている。PCのアダプタカードは、典型的なダムターミナルが接続されるのと同じ3270同軸ケーブルを使用して、ホストコンピュータシステムに接続される。PCのアダプタカードは、ホスト制御装置からの通常のコンソール画面更新情報を傍受し、これを保存する。これらの更新は、他のコンピュータによって置き換えられたPCからネットワークを介してアクセスし、リモートコンソールエミュレーションを提供する従来の方法で表示することができる。
残念ながら、上記EP0901079号に記載のものを含む従来技術のリモートコンソールエミュレータにはいくつかの欠点がある。従来技術のリモートコンソールエミュレータは、通常、リモートコンソールに伝送するビデオ情報を取得するために、ホストコンピュータのシステムバスにアクセスしなければならない。ホストコンピュータのシステムバスにこうした影響を与えることで、その性能に作用することになる。従来技術のリモートコンソールエミュレータは、ホストコンピュータ上で動作するドライバなどの特殊なソフトウェアを必要とすることも多い。これらもホストコンピュータの性能にインパクトを与える可能性がある。多くの従来技術のリモートコンソールエミュレータに見られる他の欠点は、主にこうしたソリューションのソフトウェアが複雑であることから、テキストモードおよびグラフィックスモードの両方で、等しく良好に動作しないことである。したがって、こうした従来技術の顕著な欠点を克服する、改良されたリモートコンソールエミュレーションシステムが求められている。本発明は、この要求を満たすものである。
【0006】
(発明の概要)
本発明は、ネットワークを介して、第1のコンピュータシステムコンソールのエミュレーションをネットワーク上に遠隔配置された第2のコンピュータシステムに提供するためのシステムおよびそのアダプタカードを対象とするものである。このシステムには、第1のコンピュータシステムにインストールされたアダプタカードと、遠隔配置されたコンピュータシステム上で実行されるクライアントプログラムとが含まれる。本発明によれば、アダプタカードには、アダプタカードが第1のコンピュータシステムに接続されているときに第1のコンピュータシステムの入出力バスとインターフェースするローカルバスと、第1のコンピュータシステムのコンソール画面を表したものを生成するために第1のコンピュータシステムと対話するローカルバスに結合されたグラフィックスコントローラと、ネットワークに接続を提供するローカルバスに結合されたネットワークインターフェースコントローラと、第1のコンピュータシステムのコンソール画面を表したものにおける変更を決定し、ネットワークインターフェースコントローラを介してこの変更に関する情報を遠隔配置されたコンピュータシステムに伝送するローカルバスに結合されたプロセッサとが含まれる。グラフィックスコントローラ、プロセッサ、およびネットワークインターフェースコントローラはすべてアダプタカード上に共に配置される(co−locate)ため、ローカルバスを介したこれらの間の通信が、第1のコンピュータシステムの入出力バスの性能に影響を与えることはない。さらに、本発明のシステムは、ホストコンピュータシステム上で実行される特殊なソフトウェアを一切必要としない。
【0007】
クライアントプログラムは、リモートコンピュータシステム上で実行される。アダプタカードから伝送された情報を受け取り、ここから、リモートコンピュータシステムのディスプレイ装置上に第1のコンピュータ画面のコンソール画面を表したものを再現する。
【0008】
本発明の他の態様によれば、アダプタカードには、第1のコンピュータシステムまたはプロセッサのいずれかによって選択的に制御可能な、ローカルバスに結合された周辺機器インターフェースがさらに含まれる。周辺機器インターフェースを制御するためのプロセッサまたは第1のコンピュータシステムの選択は、アダプタカード上に格納されたフラグ変数のセット/リセットによって達成される。コンピュータシステムが起動されると、アダプタカード上のプロセッサがフラグを検査して、プロセッサが周辺機器インターフェースの制御権を取るべきか、第1のコンピュータシステムが制御権を取るべきかを判定する。プロセッサが制御権を取ると、プロセッサは周辺機器インターフェース用に修正されたBIOSを第1のコンピュータシステムによってロードさせてしまうため、プロセッサが周辺機器インターフェースの制御権を取れるようにするために、第1のコンピュータシステムが停止してしまう。
【0009】
本発明の他の特徴および利点については、以下で明らかになるであろう。
【0010】
前述の概要、並びに下記に示す好ましい実施形態の詳細な説明は、添付の図面と共に読むことで、より良く理解することができる。本発明を例示する目的で、現時点での好ましい実施形態が図面内に示されているが、本発明は開示された特定の方法および手段に限定されるものでないことを理解されたい。
【0011】
(好ましい実施形態の詳細な説明)
本発明は、メインフレームまたは企業サーバなどの第1のコンピュータシステムコンソールのエミュレーション(すなわちリモート制御)を、ネットワークを介して、ネットワーク上に遠隔配置された第2のコンピュータシステムまたはワークステーションに提供するための、アダプタカードを含むシステムを対象とするものである。本発明の一部は、フロッピィ(登録商標)ディスク、CD−ROM、ハードドライブ、あるいは任意の他のコンピュータまたはマシン読取り可能記憶媒体などの、有形媒体内で実施されるプログラムコード(すなわち命令)の形式を取ることが可能であって、プログラムコードがコンピュータなどのマシンにロードされてマシンにより実行されると、そのマシンは本発明を実施するための装置となる。本発明の一部は、電気配線またはケーブル、光ファイバ、または任意の他の伝送形式などの何らかの伝送媒体を介して伝送される、プログラムコードの形式で実施することも可能であり、プログラムコードがコンピュータなどのマシンによって受け取られ、ロードされて実行されると、そのマシンは本発明を実施するための装置となる。汎用プロセッサ上で実施される場合、プログラムコードはプロセッサと組み合わされて、特定の論理回路に類似して動作する固有の装置を提供する。
【0012】
図を参照すると、同じ番号は終始同じ要素を表すものであり、図1は、本発明の一実施形態に従い、ネットワーク12(例えばインターネットを含む)を介して、ネットワーク上にある第2の遠隔配置されたコンピュータシステムまたはワークステーション16から、メインフレームまたは企業サーバなどの第1のコンピュータシステム14のコンソールのリモート制御またはエミュレーションを提供するためのシステム10を示す図である。システム10には、コンピュータシステム14の入出力(I/O)バス20とリモートワークステーション16上で実行中のクライアントプログラム(以下に記述)に接続されたアダプタカード18が含まれる。本実施形態では、アダプタカード18は、I/Oバス20がPCI(Peripheral Component Interconnect)バスであり、具体的に言えばPCI仕様のバージョン2.1に準拠したものであるコンピュータシステム14で使用するように設計されている。ただし、本発明は、PCIベースのI/Oバスで使用するように限定されているものではなく、例えばISA(Industry Standard Architecture)およびExtended ISA(EISA)、並びに知的所有権を持つI/Oバス(proprietary I/O bus)実施などの他の業界標準バス仕様を含む、どんなI/Oバス環境でも使用可能であることを理解されたい。
【0013】
アダプタカード18およびリモートワークステーション16上で実行中のクライアントプログラムは、モニタ、マウス、およびキーボード(すなわち主コンソール)をコンピュータシステム14に直接接続させる必要性をなくすものである。その代わりに、ネットワーク接続が可能なリモートコンピュータシステムまたはワークステーション上であれば、どこででもコンソールをエミュレートさせることができる。以下で述べるように、他の特徴によれば、アダプタカード18およびクライアントプログラムは、ソフトウェアおよび/またはデータをローカルの記憶媒体(strage medium)上でパーティションを切ること、フォーマットすること、およびローディングすることを含む、コンピュータシステム14上でのディスクイメージロード(disk image load)のリモート制御をサポートしている。
【0014】
アダプタカード
リモートコンソールの機能
本発明のアダプタカード18の一実施形態によれば、アダプタカード18には、グラフィックスコントローラ22、ネットワークインターフェースコントローラ24、およびプロセッサ26が含まれており、これらすべてがアダプタカードのプリント回路基板上に共に配置される。グラフィックスコントローラ22、ネットワークインターフェースコントローラ24、およびプロセッサ26は、それぞれがアダプタカード上のローカルバス28にインターフェースしている。本実施形態ではPCI間ブリッジを含んでいるブリッジ回路30は、アダプタカード18のローカルバス28とコンピュータシステム14のI/Oバス20との間にブリッジを提供する。
【0015】
本実施形態では、プロセッサ26は、第2のブリッジ回路32を介してローカルバス28に間接的にインターフェースしている。ネットワークインターフェースコントローラ24は、ブリッジ回路30と第3のブリッジ回路34を介して、ローカルバス28に間接的にインターフェースしている。この様式で、ネットワークインターフェースコントローラ24は、別のローカルバスセグメント28a上で分離される。この分離により、ネットワークトラフィックがこれを介してグラフィックスコントローラ22がプロセッサ26およびホストI/Oバス20と通信する、主ローカルバスセグメント28にロードを加えることはない。ただし、他の実施形態では、ネットワークインターフェースコントローラ24およびプロセッサ26のうち1つまたは両方を、主ローカルバスセグメント28に直接接続することができる。したがって、この点について本発明は、図示された実施に限定されることは決してない。
【0016】
本実施形態では、グラフィックスコントローラ22がVGA(Video Graphics Array)標準をサポートする。本発明によれば、少なくとも1つのアダプタカード18が、コンピュータシステム14用にインストールされたグラフィックスコントローラとして機能し、コンピュータシステム14のオペレーティングシステムは、標準的なオペレーティングシステムドライバを使用する任意の標準VGAグラフィックスカードにアクセスするようにアダプタカードのグラフィックスコントローラ22にアクセスする。本実施形態では、グラフィックスコントローラ22が、コンピュータシステム14のコンソール画面を表す情報を格納する関連付けられたビデオメモリ42と、VGA BIOSを格納することができる関連付けられた読取り専用メモリ(ROM)44とを備える。様々な製造業者のグラフィックスコントローラを使用して、グラフィックスコントローラ22を実施することができる。例えば、一実施形態では、Cirrus Logic,Incによって製造されたCL−GD5465グラフィックスコントローラチップを使用してグラフィックスコントローラ22を実施することができる。また、本実施形態ではグラフィックスコントローラ22はVGA標準をサポートしているが、他の実施形態では、他の標準または将来の標準を実施するグラフィックスコントローラを使用することができる。
【0017】
本実施形態では、ネットワークインターフェースコントローラ24は10/100BaseTのイーサネット(登録商標)プロトコルを実施するが、他の実施形態では、他のネットワーキングプロトコルを使用することができる。本実施形態では、ネットワークインターフェースコントローラ24は、Intel(登録商標)21143およびQuality Semiconductorから入手可能なQS6611 10/100Base−TXトランシーバを使用して実施される。21143は、10BaseTと100BaseTの両方でMACレイヤをサポートしている。QS6611は、ネットワークの速度を自動検出し、可能であれば100BaseTを選択する機能を提供する。この組合せによって、ネットワークインターフェースコントローラ24は、速度自動検出および単向(simplex)/二重(duplex)動作を備えた10/100BaseTのフル二重イーサネット(登録商標)をサポートすることができる。ネットワークインターフェースコントローラ24は、以下でより詳細に説明するように、リモートワークステーション16上のクライアントプログラムと通信するために、イーサネット(登録商標)を介した伝送制御プロトコル/インターネットプロトコル(TCP/IP−Transmission Control Protocol/Internet Protocol)を使用する。
【0018】
本実施形態では、プロセッサ26は、プロセッサ26が実行するオペレーティングシステムおよびプログラムコードが格納された関連付けられたフラッシュメモリ38、並びに関連付けられたローカルランダムアクセスメモリ40を有し、これらは両方ともローカルバスセグメント28bを介してプロセッサ26とインターフェースする。ダイレクトメモリアクセス(Direct Memory Access/DMA)コントローラなどのメモリコントローラ36も、ローカルメモリ40との間のメモリ転送を制御するために、バスセグメント28bとインターフェースすることができる。本実施形態では、プロセッサ26は、Intel(登録商標) Corporationから入手可能なi960(登録商標)RPマイクロプロセッサを使用して実施されるが、これはプロセッサ26、ブリッジ32および34、並びにDMAコントローラ36の機能をローカルバスセグメント28bが内在する単一の半導体チップパッケージに組み込んだものである。さらに本実施形態では、i960(登録商標)RPプロセッサは、Wind River Systemsから入手可能なVxWorks(登録商標)リアルタイムオペレーティングシステム(RTOS)の制御下で動作する。オペレーティングシステムコードはフラッシュメモリ38に格納される。i960(登録商標)RPプロセッサのリセット時、プロセッサはVxWorks(登録商標)オペレーティングシステムのロードおよびブートを実行する。他の実施形態では、そのための特定のマイクロプロセッサおよびオペレーティングシステムが異なる場合がある。さらに、ブリッジ32および34、並びにDMAコントローラの機能がi960(登録商標)RPプロセッサ内の単一のチップパッケージに含まれているのに対して、他の実施形態では、これらの機能ユニットが別々の離散的構成要素を使用して実施される場合がある。
【0019】
前述の構成要素は、プロセッサ26によって実行されるプログラムコード(以下で説明)と組み合わせて使用すると、リモートワークステーション16のモニタ(または他のディスプレイ)上でコンピュータシステム14のコンソール画面を再現し、リモートワークステーション16で集められたキーストロークやマウスの移動およびクリック情報をコンピュータシステム14に渡すように動作する。さらに詳しく説明すると、本実施形態では、プロセッサ26がグラフィックスコントローラ22によって生成されたコンソール画面を表したものでの変更を判断すると、その後、その変更に関する情報がヘッダ情報と共にTCP/IPセグメント内にパッケージングされ、ネットワークインターフェースコントローラ24経由でネットワーク12を介してクライアントプログラムに伝送される。クライアントプログラムは受け取った情報を解釈し、その情報に基づいてリモートワークステーション16のモニタ上にコンソール画面を再現することが可能であるため、コンピュータシステム14のローカルコンソール画面上に何が表示されていたかを効果的に模倣することができる。同時にクライアントプログラムは、リモートワークステーションでのキーストローク、並びにマウスの移動およびクリック情報を取り込み、その情報をヘッド情報と共にTCP/IPセグメントにパッケージングし、ネットワーク12を介してその情報をアダプタカード18に転送する。キーボードおよびマウスの情報は、ネットワークインターフェースコントローラ18によって受け取られ、プロセッサ26に渡される。プロセッサはこの情報をキーボード/マウスコントローラの待ち行列エントリに変換し、そのエントリをコンピュータシステム14のキーボード/マウスコントローラ46内に配置するが、ここでコンピュータシステム14は、ローカルに接続されたキーボードおよびマウスから着信したかのようにエントリを検出する。グラフィックスコントローラ22、プロセッサ26、およびネットワークインターフェースコントローラ24は、すべてアダプタカード18の上に共に配置されるので、ローカルバス28、28a、28bを介したこれらの間での通信は、ホストコンピュータシステム14のI/Oバス20の性能にインパクトを与えない。さらに、グラフィックスコントローラ22は、そのオペレーティングシステムを含むコンピュータシステム14用にインストールされたグラフィックスコントローラとして働くため、本発明のシステム10は、ホストコンピュータシステム14上で実行されるどんな特別なソフトウェアも必要としない。
【0020】
本実施形態では、プロセッサ26は前述の機能を実行するために、2つのメインプロセスを実行するが、どちらもプロセッサ26が実行するプログラムコードで実施される。プログラムコードはフラッシュメモリ38に格納されることが好ましい。これらのうち第1のプロセスには、アダプタカード18の管理、構成、および制御を目的とするクライアントプログラムから、ユーザがアダプタカード18と対話できるようにするWebサーバが含まれる。これらの管理、構成、および制御の機能選択肢は、Webサーバがクライアントプログラムに提供するハイパーテキストマークアップ言語(HyperText Markup Language/HTML)ページとしてユーザに提示される。プロセッサ26が実行する第2のプロセスは、VGA_remoter()プロセスである。このプロセスは、コンソール画面を表したもの(コンピュータシステム14からのコマンドに応答してグラフィックスコントローラ22によって生成される)内での変更を判断し、これらの変更を表す情報をTCP/IPセグメントにパッケージングし、このTCP/IPセグメントをクライアントプログラムに送信する役割を果たす。さらにVGA_remoter()プロセスは、リモートクライアントからキーストロークおよびマウス動作の情報を受け取り、この情報をキーボード/マウスコントローラの待ち行列エントリに変換し、その後、これらのエントリをコンピュータシステム14のキーボード/マウスコントローラ46内に配置する役割も果たす。
【0021】
グラフィックスコントローラ22によって生成されたコンソール画面を表したもの内での変更を判断するステップは、様々な方法で実施することができる。例えば前述したように、一実施形態では、Cirrus Logic,Incによって製造されたCL−GD5465グラフィックスコントローラチップを使用して、グラフィックスコントローラ22が実施される。CL−GD5465グラフィックスコントローラの有利な特徴は、標準VGAレジスタおよび何らかの拡張レジスタを含む、チップのある種の内部レジスタが、メモリ内ですべて線形リストとしてアクセス可能なことである。本実施形態では、この有利な特徴を利用して、プロセッサ26が、グラフィックスコントローラ22の現在のVGAモード(すなわちテキストまたはグラフィックス)を判定するために、初めにグラフィックスコントローラ22上の状態レジスタをサンプリングする。次いで、このVGAモードに基づき、(コンピュータシステム14のコンソール画面を表す)テキストまたはグラフィックス情報がグラフィックスコントローラ22のビデオメモリ42からプロセッサ26のローカルメモリ40にコピーされる。本実施形態では、この転送はDMAコントローラ36によって制御される。次いでプロセッサ26は、現在のテキストまたはグラフィック情報と以前にサンプリングした情報とを比較して、コンソール画面を表したもの内でのいずれかの変更を判断する。具体的に言えば、本実施形態では、画素値で変更を識別するために、現在のフレームと以前のフレームとが比較される。その後これらの変更に関する情報がTCP/IPセグメントにパッケージングされ、クライアントプログラムに伝送される。本実施形態では、TCP/IPセグメントにはヘッダとその後に続くセグメント本体とが含まれる。グラフィックスモードの場合、ヘッダは、どのリフレッシュラインがセグメント本体で送信されるかを示し、セグメント本体にはこれらラインの新しい画素値が格納される。テキストモードでは、ヘッダはセグメント本体がテキストインデックスを含んでいることを示し、実際のインデックスはセグメント本体で搬送される。ヘッダ内で提供できる他の情報には、例えば特定のテキストフォント(テキストモードの場合)のインデックス、またはカラーパレット(テキストまたはグラフィックス)のインデックスが含まれる。本発明のシステムは、テキストモードでもグラフィックスモードでも等しく良好に動作することが理解できよう。
【0022】
他のグラフィックスコントローラは、内部状態レジスタを読み取るために、Cirrus Logic CL−GD5465コントローラが提供するのと同じ機能は提供しない。実際に、多くのグラフィックスコントローラでは、状態レジスタは、状態レジスタへの書込みと共に読み取られるだけである。したがって、コンソール画面での変更を判断するための代替方法が必要となる。
【0023】
グラフィックスコントローラ22の状態レジスタを非破壊的に読み取ることが不可能な一代替実施形態では、ホストコンピュータシステム14がグラフィックスコントローラへの書込みを試行するアドレス、データ、およびコマンドを解釈するように、プロセッサ26をプログラミングすることができる。次いで、解釈された情報を使用して、グラフィックスコントローラの状態を判断することができる。情報はこの方法でいったん分析されると、あたかもホストから直接着信したかのようにグラフィックスコントローラ22に渡される。次いでプロセッサ26は、ビデオメモリ42内の情報をサンプリングし、これを以前のサンプルと比較して、コンソール画面イメージにおける変更を判断することができる。次いでこれらの変更をパッケージングし、前述の方法と同じ方法でクライアントプログラムに伝送することができるため、クライアントはリモートワークステーション16のモニタ上での変更を模倣することができる。
【0024】
図1Aは、他の代替実施形態を示す図であり、ここでグラフィックスコントローラ22′は、液晶ディスプレイ(LCD)画面向けのチップを使用して実施される。さらに、先入れ先出し(FIFO)バッファ43が、普通はLCDディスプレイ画面に接続される出力に接続される。次いで、グラフィックスコントローラ22′がFIFO内のデータを定期的にサンプリングして、そのLCD出力にどのデータを書き込もうとしているかを判定することができる。このデータには、生のグラフィックスデータおよびある種の画面配置情報が含まれることになる(チップが動作時に使用するように設計されているLCD画面のタイプに応じて、典型的には例えば、画素データの各連続するバッチをどこにゲートするかを示すある種の信号を使用可能である)。したがって本実施形態では、FIFO 43がLCDディスプレイの代わりをする。VGAモードはこの情報からは判断できないが、たいていのLCDモニタ用グラフィックスコントローラは画面の形状を事前に設定することができるので、プロセッサ26は画面のトップがリフレッシュされるときを監視することができる。FIFO 43に取り込まれた情報から、プロセッサ26は、連続するサンプル間でコンソール画面にどのような変更が生じたかを判断することができる。次いでこの変更をパッケージングし、上記と同じ方法でクライアントプログラムに伝送することができるため、クライアントはリモートワークステーション16のモニタ上での変更を模倣することができる。
【0025】
再度図1を参照すると、コントローラ22の実施に使用されるグラフィックスコントローラの機能および特徴に応じて、一部の実施形態では単一のメモリをプロセッサ26およびグラフィックスコントローラ22の両方で共用することが可能なため、図1に示された別々のメモリ40および42を単一のメモリに置き換えることが可能なことに留意されたい。
【0026】
ディスクイメージロード機能
さらに図1を参照すると、前述したように、本発明の追加の態様により、アダプタカード18にはさらに、ソフトウェアおよび/またはデータを、インターフェース48に接続されたローカルの記憶媒体(図示せず)上でパーティションを切ること、フォーマットすること、およびローディングすることを含む、コンピュータシステム14上でのディスクイメージロードのリモート制御の追加機能に関するサポートを提供するために、周辺機器インターフェース48が含まれる。本実施形態では、周辺機器インターフェースには、例えばAdaptec,Incから入手可能なAdaptec(登録商標)AIC−7897 SCSIコントローラチップを使用して実施されるSCSI(Small Computer Systems Interface)コントローラが含まれる。本発明のこの態様によれば、コンピュータシステム14の基本入出力システム(Basic Input/Output System−BIOS)は、ブートのためにSCSIコントローラ48に接続された記憶媒体(例えばディスクユニット)(図示せず)を使用することになる。コンピュータシステム14のオペレーティングシステムは、記憶媒体または他のSCSI周辺装置にアクセスするために、引き続きSCSIコントローラ48を使用することができる。
【0027】
ユーザは、クライアントプログラムを使用して、次にコンピュータシステム14がブートしたときにアダプタカード18がセットアップモードに入るように、アダプタカード18へのネットワーク接続を介して要求することが可能であり、これはアダプタカード18上に制御フラグ(i960_config_now)を設定することによって達成される。i960_config_nowフラグが設定されると、次にコンピュータシステム14がブートしたときに、通常のSCSI BIOSが、SCSI BIOSセットアップ時にホスト中央処理装置(CPU)50をストール(stall)させる修正済みのSCSI BIOSに置き換えられる。これによって、アダプタカード18上のプロセッサがSCSIコントローラ48にアクセスするだけであることが保証される。ユーザは、SCSIコントローラ48の状態を観察および設定し、コンピュータシステム14用のブートデバイスを選択し、SCSIコントローラ48に接続されたディスクユニットをフォーマットしてパーティションを切ることができる。さらに、リモートワークステーション16とSCSIコントローラ48に接続されたディスクユニット間でファイルをコピーすることができる。ユーザは、Webサーバによってアダプタカード上に提供されるHTMLページを介してこれらの動作を選択し、プロセッサ26は、フラッシュメモリ38に格納されたプログラムコード内で実施される対応する手順を実行することによって、これらの機能を実行する。したがって周辺機器インターフェース48(例えばSCSIコントローラ)は、この方法で、コンピュータシステム14またはプロセッサ26のいずれかによって選択的に制御することができる。
【0028】
本実施形態では、周辺機器インターフェース48にSCSIコントローラが含まれるが、他の実施形態では、記憶媒体の接続をサポートしている限りは他のインターフェースを実施することができる。他の可能なインターフェースに制限はなく、IDE(Integrated Device Electronics)インターフェース、IEEE 1394(「FireWire」)インターフェース、USB(Universal Serial Bus)インターフェース、およびFibre Channelインターフェースが含まれる。現在は、その速度、SCSIがサポートするケーブル長(40ft(12.192m))、および様々なオペレーティングシステム(例えばUnix(登録商標)ware(登録商標)、Windows(登録商標) NT(登録商標)、VxWorks(登録商標)など)およびデバイスタイプ(例えばCDROM、DISKなど)に対するソフトウェアドライバの広範な可用性により、SCSIインターフェースが好ましい。
【0029】
クライアントプログラム
本実施形態では、クライアントプログラムは、アダプタカード18上で実行中のWebサーバプロセスに接続されるブラウザを含み、前述のリモートコンソール機能を実施する1つまたは複数のソフトウェアモジュールと組み合わせて、システム10の管理および制御インターフェースとしての働きをする。本実施形態では、任意のHTTP(HyperText Transfer Protocol)およびHTML準拠ブラウザが、例えばMicrosoft(登録商標)Internet ExplorerまたはNetscape Navigator(登録商標)を含む、クライアントプログラムのブラウザとしての働きをすることができる。現時点で好ましい実施形態では、リモートコンソールの機能(画面情報の解釈および処理、並びにキーストロークおよびマウス動作の収集および伝送)は、ブラウザのアドインとして実施される。具体的に言えば、本実施形態では、リモートコンソールの機能は、ActiveXコントロールとして実施される。ただしこの機能は、例えばNetscape Navigator(登録商標)で使用するためのプラグインとして、Java(登録商標)アプレットとして、または実行可能プログラムなどの何らかの他の形式で、代替方法として実施することができる。次に、アダプタカード18上でWebサーバによって実施され、クライアントプログラムのブラウザによって表示されるユーザインターフェースの詳細について説明する。
【0030】
図1にはリモートワークステーションが1つだけ表示されているが、1つまたは複数の異なるリモートワークステーション上で実行中の複数のクライアントプログラムが単一のアダプタカード18に接続し、これと対話することが可能なため、所与のコンピュータシステム14のリモートコンソールエミュレーションをネットワーク上の複数位置から実行することができる。また、所与のリモートワークステーション上にある所与のクライアントプログラムを使用して、任意数の異なるコンピュータシステム14内で任意数の異なるアダプタカード18を制御することができる。したがって、単一のリモートワークステーション16を使用して、複数の異なるコンピュータシステム14を遠隔管理することができる。クライアントプログラムおよびアダプタカード18には、それぞれ固有のインターネットプロトコル(IP)アドレスが割り当てられるため、ネットワーク12全域で固有のアイデンティティを提供することができる。
【0031】
本発明の実施形態では、クライアントプログラムに上述のリモートコンソール機能を実施する1つまたは複数のソフトウェアモジュール(例えばActiveXコントロール、プラグイン、Java(登録商標)アプレットなど)と組み合わされたWebブラウザが含まれるが、他の実施形態では、クライアントプログラムは、アダプタカード18の管理および構成の両方、並びにリモートコンソール機能を扱うスタンドアロン型コンピュータプログラムまたはアプリケーションの形で実施することができる。
【0032】
システム動作
図2は、アダプタカード18およびクライアントプログラムを含む本発明のシステム10の動作に関してより詳細に示す流れ図である。図2は、アダプタカード18上およびクライアントプログラム内のあるイベントが、相互に、またホストコンピュータシステム14上のイベントに対して、いつ発生するかを示す時間ライン(time line)を提供する図である。図2のある水平ライン、例えばライン60、74、および82は同期イベントを表す。この例では、プロセッサ26、ブリッジ32および34、並びにDMAコントローラ36は、前述のi960(登録商標)RPマイクロプロセッサを使用して実施される。
【0033】
図に示されるように、本発明のシステムの動作は、コンピュータシステム14のブートで始まる。具体的に言えば、コンピュータシステム14はステップ62においてパワーオンまたはリセットされることにより、典型的には読取り専用メモリ(ROM)(図示せず)からその事前POST(Power On Self−Test)、POST、およびBIOSコードをロードする。ステップ64では、ホストコンピュータ14がそのI/Oバス20に接続されたPCIデバイスにアドレスを割り当てるプロセスを開始する。ステップ66でより詳細に示されるように、コンピュータシステム14は、初めにPCIブリッジ30に、その後グラフィックスコントローラ(VGA)22および周辺機器インターフェース(SCSI)48にアドレスを割り当てる。ただしこのプロセスは、以下で論じるように、ライン74で示される同期イベントがアダプタカード18上で発生するまで持続する。
【0034】
図2のライン60は、最初の同期イベントを表すものであり、したがって図に示されるように、ホストコンピュータ14上のステップ60と同時に、ステップ68でアダプタカード18上のプロセッサ26(本実施形態では、i960(登録商標)RPプロセッサ)がリセット信号を受け取る。これにより、ステップ70に示されるように、プロセッサ26は、その埋め込まれたオペレーティングシステムをフラッシュメモリ38からロードしてブートする。
【0035】
ステップ72において、プロセッサ26は様々な構成タスクを実行する。初めに、プロセッサ26はローカルバスセグメント28a(2次PCIバス)、並びにブリッジ32および34を構成する。次いでネットワークインターフェースコントローラ24は、LOCALデバイス(すなわちホストCPU 50が認識できない)として、バスセグメント28a上でイニシャライズされる。グラフィックスコントローラBIOS(この例ではVGA BIOS)は、次にホストBIOSによってホストメモリ52にロードされる。次いでプロセッサ26はi960_config_nowフラグを検査して、アダプタカード18が周辺機器インターフェース48、この例ではSCSIコントローラの制御権を取るかどうか、またはコンピュータシステム14にインターフェース48の制御権を取らせるかどうかを判定する。ステップ72の擬似コードで示されるようにi960_config_nowフラグが設定されると、次いでプロセッサ26は修正済みのSCSI BIOS拡張コードをフラッシュメモリ38からローカルメモリ40内の位置にロードし、次いで、ここからホストBIOSがそのコードをホストメモリ52にロードする。以下で説明するように、本明細書ではSCSI WAIT BIOS拡張と呼ばれる修正済みSCSI BIOSが、そのSCSI BIOSセットアップ時にホスト中央処理ユニット(CPU)50をストールさせる(以下のステップ88で説明)。次いでプロセッサ26がSCSIコントローラ48の制御権を取り、ローカルバス28上でイニシャライズする。
【0036】
他方では、ステップ72においてi960_config_nowフラグが設定されないことが決まると、プロセッサ26は標準SCSI BIOS拡張をフラッシュメモリ38からローカルメモリ40内の位置にロードし、次いでホストBIOSがここから拡張をそのホストメモリ52にロードする。標準SCSI BIOS拡張コードは、そのSCSI BIOSセットアップ時にホストコンピュータシステム14をストールさせず、プロセッサ26は制御権を取らず、さらにSCSIコントローラ48もイニシャライズしない。
【0037】
i960_config_nowフラグに基づいて適切なSCSI BIOS拡張がいったんロードされると、プロセッサ26はフラッシュメモリ38からSCSIコントローラオプションのセット(Flash_SCSI_options)をロードするが、本実施形態ではこれがフラッシュメモリである。Flash_SCSI_optionsは、あるSCSI変数の初期値を決定する。最後に、ステップ72においてプロセッサ26は、そのローカルバスセグメント28bと1次ローカルバスセグメント28間のブリッジ32を介した通信を可能にする。ライン74で示されるように、ブリッジ32を跨ぐ通信は、ホストコンピュータシステム14がPCIアドレスをプロセッサ26に割り当てられるようにするのに必要であり、ステップ66に示されるようにその後実行するため、これが同期イベントである。
【0038】
I/Oバス20に接続可能な他のPCIデバイスにアドレスを割り当てた後、コンピュータシステム14は次に任意のVGA BIOS拡張(ホストI/Oバス20およびバス28などの任意の従属バス上にある)を探し、その後、その標準VGA BIOSインストールユーティリティを実行する。アダプタカード18、具体的に言えばアダプタカード18上のグラフィックスコントローラ22は、コンピュータシステム14の1次グラフィックスデバイスとしての働きをするように意図されているので、コンピュータシステム14の割込10(int10)チェーンは空になる。その結果、コンピュータシステム14はステップ72においてアダプタカードによってロードされたVGA BIOSをint10チェーンに追加し、これらの追加が今度はPCI.CMD環境変数を値7に設定する(すなわちPCI.CMD=7と設定)。ライン82で示されるように、VGA_remoter()プロセスは、以下で説明するようにこの機能が実行されるまでPCI.CMD変数の設定を待つので、これは他の同期イベントを表している。
【0039】
ステップ88においてホストコンピュータは、ステップ72でプロセッサ26によってロードされたSCSI BIOS拡張(標準のSCSI BIOS拡張または修正済みのSCSI WAIT BIOS拡張のいずれか)を実行する。ステップ72でSCSI WAIT BIOS拡張がロードされた場合、アダプタカード18はSCSIコントローラ48の制御権を取っており、その拡張がBIOSセットアップルーチンでホストコンピュータを中止する。この時点で、アダプタカード18、したがってクライアントプログラムでのユーザは、SCSIコントローラ48に接続されたデバイスへのアクセスのみを有し、以下で説明するWebサーバインターフェースを介してこれらと対話することができる。具体的に言えば、本発明のこの態様により、ユーザはSCSIコントローラ48の状態を観察および設定し、コンピュータシステム14のブートデバイスを選択し、SCSIコントローラ48に接続されたディスクユニットをフォーマットしてパーティションを切ることができる。さらに、リモートワークステーション16とSCSIコントローラ48に接続されたディスクユニットの間でファイルをコピーすることができる。
【0040】
他方、ステップ72で標準のSCSI BIOS拡張がロードされた場合(すなわちi960_config_nowフラグが設定されておらず、アダプタカード18はSCSIコントローラの制御権を取っていない場合)、ホストコンピュータシステム14はこれらの標準拡張を実行し、SCSIコントローラ48の制御権を取る。BIOS_optフラグが設定されており、割込13(int13)がまだフック(hook)されていない場合、これにはint13 BIOS拡張が含まれることになる。次いでコンピュータシステムは、そのPOSTコードを実行すること(ステップ90)、および典型的なシステムBIOSセットアップに入る機会をユーザに提供すること(ステップ92)を含む、通常のブートプロセスを続行する。最後にステップ94においてコンピュータシステム14は、SCSIコントローラ48に接続されたブートデバイスからオペレーティングシステムのブートを試みる。
【0041】
アダプタカード18上で実行したステップを再度参照すると、ステップ72でリストされたタスクを実行した後、プロセッサ26は、プログラムコードとしてフラッシュメモリ38に格納されたセットアップソフトウェアの実行を開始する。さらに詳細に説明すると、セットアップソフトウェアは初めに、ネットワークインターフェースコントローラ24とクライアントプログラム間のネットワーク12を介した通信を可能にするために、TCP/IPプロトコルを実施するコードをイニシャライズする。次いでプロセッサ26は、WebサーバプロセスとVGA_remoter()プロセスの両方を、別々のスレッドとして開始する。
【0042】
ステップ84に示されるように、VGA_remoter()プロセスはPCI/CMD変数を待つ。ステップ76において、いったんこの変数がホストコンピュータシステム14によって適切な値(PCI.CMD=7)に設定されると、VGA_remoter()プロセスはそのリモートコンソール機能を開始する。具体的に言えば、ステップ84でリストされているように、VGA_remoter()プロセスは所定の間隔で前述の代替方法(ステップ84で「Scrape VGA」と表されている)のうち1つを使用してグラフィックスコントローラ22によって生成されたコンソール画面を表したもの内の変更を判断し、この変更をTCP/IPセグメントにパッケージングし、次いでネットワークインターフェースコントローラ24を介して、クライアントプログラムにこれらのセグメントを送信する。さらに、VGA_remoter()プロセスは、キーボード、並びにマウスの移動およびクリック情報をTCP/IPセグメントを介してクライアントプログラムから定期的に受け取り、これらをキーボード/マウスコントローラ待ち行列エントリに変換した後、これらがあたかもローカルに生成されたかのようにホストコンピュータ46のキーボード/マウスコントローラ46に伝送する。
【0043】
WEBサーバプロセスはステップ80に示されている。プロセッサ26がWind River SystemsからのVxWorks(登録商標)リアルタイムオペレーティングシステム(RTOS)を実行する本実施形態においては、WebサーバもWind River Systemsから供給される。本実施形態では、WEBサーバはWind River SystemsのWebサーバの機能である要求処理モジュール(Request Processing Module/RPM)を使用する。要求処理モジュール(RPM)とは、特定のHTTPまたはHTMLプロトコルあるいはデータ文字列がWebサーバに送信されると呼び出されるようにWebサーバに登録可能な、1つまたは複数のプロシージャのモジュールである。したがって、本実施形態においてRPMは、ユーザがクライアントプログラムで選択した機能がそれによって開始され、アダプタカード18上のプロセッサ26によって実行されるメカニズムである。ステップ80で示されるように、Webサーバは、ユーザが前述のようにクライアントプログラムで選択できる、管理機能(admin_RPM)および構成機能(config_RPM)を処理するために、2つのRPMをセットアップする。さらに、ステップ86では、別々に示された他のRPM(SCSI_Config_RPM)がアダプタカード18のディスクイメージロード機能をサポートするためにWebサーバに登録される。ユーザがSCSI_Config_RPMから使用できるプロシージャは、i960_config_nowフラグが設定されているかどうか(すなわち、アダプタカード18またはコンピュータシステム14がSCSIコントローラ48の制御権を取っているかどうか)により異なる。アダプタカード18が制御権を取っている(i960_config_nowが設定されている)場合、ユーザにはフルセットの構成オプションが提供される。これらのオプションをサポートするためのSCSI_Config_RPMのプロシージャには、以下のものが含まれる。
【0044】
(i)i960_config()の取得/設定−プロセッサ26によるSCSIコントローラ48の制御をイネーブル/ディスエーブルするために、ユーザがi960_config_nowフラグの現在の状態を表示または設定できるようにするプロシージャ。
【0045】
(ii)Flash_SCSI_options()の取得/設定−ユーザがSCSIコントローラ48に対してFlash_SCSI_optionsを表示または設定できるようにするプロシージャ。
【0046】
(iii)DISKオプションの取得/設定−ユーザが、例えばブートユニット、アクセス速度などとしての識別を含む、SCSIコントローラに接続された記憶媒体(例えばディスクユニット)に関するある種のオプションを表示または設定できるようにするプロシージャ。
【0047】
(iv)ディスクパーティショニング(partitioning)の取得/設定−ユーザが、SCSIコントローラに接続された記憶媒体のパーティショニングを表示または設定できるようにするプロシージャ。
【0048】
(v)MBR/PBRの取得/設定−ユーザが、コンピュータシステム14がそこからオペレーティングシステムをブートさせる記憶媒体のマスタブートレコード(Master Boot Record)または1次ブートレコード(Primary Boot Record)を表示または設定できるようにするプロシージャ。
【0049】
(vi)フォーマットの取得/設定−ユーザが、SCSIコントローラ48に接続された記憶媒体の現在のフォーマットを識別または変更できるようにするプロシージャ。
【0050】
(vii)BOOTファイルの取得/設定−ユーザが、コンピュータシステム14がそこからオペレーティングシステムをブートさせる記憶媒体上で、現在のBOOTファイル(すなわち特定のオペレーティングシステムの初期設定(initialization)に関連付けられたファイル)を表示または置換(破損の場合)できるようにするプロシージャ。
【0051】
アダプタカード18がSCSIコントローラ48の制御権を取っていない(i960_config_nowが設定されていない)場合、ユーザは上記プロシージャ(i)および(ii)に限定される。
【0052】
前述したように、リモートワークステーション16でのクライアントプログラムまたはインターフェースは、ブラウザと、現時点での好ましい実施形態ではActiveXコントロールからなる。ステップ96に示されるように、ブラウザ96は、i960 Webサーバに接続するため、ユーザをWebサーバにログイン可能にするため、管理および構成機能オプションを提供するHTMLページを表示するため、およびActiveXコントロールが起動される環境としての働きをするために使用される。ステップ98に示されるように、ActiveXコントロールは、アダプタカード18から受け取った画面情報の受取りおよび解釈、並びにアダプタカード18に伝送するためのキーボードおよびマウス情報の収集を処理する。
【0053】
図3は、アダプタカード18上でWebサーバによって実施され、クライアントプログラムのブラウザによって表示されるユーザインターフェースのレイアウトの一実施形態を示す図である。図3の各ブロックは、Webサーバがブラウザに提示する異なるHTMLページを表す。本実施形態では、これらのHTMLページはフラッシュメモリ38に格納される。ブロック100は、Webサーバによってアダプタカード18に提供されるインデックスページを表す。これは、ブラウザがアダプタカードのIPアドレスに最初に接続したときに表示されるページである。インデックスページ100は、ユーザがユーザコード(user cofe)およびパスワード(pass word)を入力するための書式を提供する。ユーザコードおよびパスワードが入力されると、これがアダプタカード18に伝送され、ここでプロセッサ26がadmin_RPMからプロシージャを呼び出して、ユーザコード/パスワードの組合せおよびリモートワークステーション16のIPアドレスが正しいかどうかを検証する。ユーザコード/パスワードの組合せが正しくない場合、ユーザがデータを再入力できるようにするHTMLページ102がユーザに表示される。検証が成功した場合、プロセッサ26は現在ユーザがどのような特権を有するかを判断する。本実施形態では、ユーザは、管理者、情報提供者(Informational)、オブザーバという3レベルの特権のうち1つを有することができる。管理者レベルのユーザは、アダプタカードのすべての機能へのアクセス権を有する。情報提供者レベルのユーザは、管理者向けに確保されているものを除き、すべての動作を実行することができる。オブザーバレベルのユーザは、リモートワークステーション16で生成されたコンソール画面を監視できるだけであり、ユーザのパスワード変更および同じアダプタカード18に接続された他のクライアントプログラムへのメッセージ送信を除き、どんな構成または管理機能へのアクセス権も持たない。ユーザの特権レベルに基づき、3つのHTMLページ104、106、または108のうちの1つがWebサーバによってユーザに提示される。管理者レベルのユーザは、HTMLページ104を受け取り、情報提供者レベルのユーザ(Information−level)はHTMLページ106を受け取り、オブザーバレベル(Observer−level)のユーザはHTMLページ108を受け取る。
【0054】
管理者レベルのユーザ向けのHTMLページ104を参照すると、このレベルのユーザには、Admin(管理)、Console(コンソール)、Change PassWord(PW)(パスワード変更)、Send Message(メッセージ送信)、およびSoftware(S/W)Install(ソフトウェアインストール)というオプションがある。Adminオプションを選択するとHTMLページ110が表示され、ここでユーザに、Update Software(ソフトウェア更新)、Configure Board(ボード構成)、およびConfigure Users(ユーザ構成)という追加オプションが与えられる。Update Softwareオプションを選択すると、アダプタカード18上のconfig_RPMにあるプロシージャが呼び出され、ユーザは、例えばアダプタカード18上のソフトウェアをアップグレードするために新しいソフトウェア(すなわちプログラムコード)をアダプタカード18に転送することができる。Configure Boardオプションを選択すると追加のHTMLページ112が表示され、ここで、例えばアダプタカード18のIPアドレスを設定する機能などの、ある種の構成オプションが提供される。図に示されるように、このオプションはアダプタカード18上のconfig_RPMにあるプロシージャを呼び出し、これがアダプタカード18上の適切な位置に新しいIPアドレスを格納する。HTMLページ110のConfigure Usersオプションは、ユーザ検証のオン/オフ(user validation on and off)を切り替えるためのオプションを提供し、新しいユーザコードとパスワードの組合せを追加し、既存のユーザコードとパスワードの組合せを修正し、所与のユーザの特権レベルを変更する追加のHTMLページ114および116とリンクしている。要求された変更または追加を実行するために、admin_RPMの適切なプロシージャが呼び出されることになる。
【0055】
再度、初めの管理者レベルのHTMLページ104を参照すると、次の選択肢はConsoleである。このオプションを選択するとクライアントプログラムのActiveXコントロールが起動され、これがアダプタカード18から受け取った情報に基づいて、リモートワークステーション16のモニタ上のウィンドウまたはフレーム内にコンピュータシステム14のコンソール画面を再現し、キーストロークおよびマウスの情報を収集してアダプタカード18に伝送する。ActiveXコントロールの機能は、ユーザの特権レベルに応じて変わる場合がある。例えば、オブザーバレベルのユーザは再現されたコンソール画面を表示することができるが、キーストロークおよびマウス移動機能が使用不能になっているために、ユーザがコンピュータシステム14と対話できない場合がある。
【0056】
さらに管理者のHTMLページ104を参照すると、Change Passwordオプションは、ユーザのパスワードを変更するための書式を提供する追加のHTMLページ120にリンクしている。ここでも、要求された変更を実行するためにアダプタカード18上のadmin_RPM内にあるプロシージャが呼び出されることになる。
【0057】
本実施形態では、Send Messageオプションも提供される。前述したように、複数のリモートワークステーションが所与のアダプタカード18に接続できるため、それぞれ別々の位置にあるクライアントプログラム間でメッセージを渡す単純なメカニズムを提供することが望ましい。このオプションを使用すると、アダプタカード18に接続されたあるリモートワークステーションにいるユーザが、同じアダプタカード18に接続された別のリモートワークステーションのネットワークアドレスを入力し、簡単なテキストメッセージを他のユーザに渡すことができる。このメッセージを渡す機能は、アダプタカード18のadmin_RPMの1つまたは複数のプロシージャとして実施される。
【0058】
管理者レベルのユーザが使用可能な最後のオプションが、本発明のオペレーティングシステムロード機能をサポートするSoftware(S/W)Installオプションである。このオプションを選択すると、本発明のこの態様に従って使用できる選択肢を備えた他のHTMLページ126が表示される。本発明のオペレーティングシステムロード機能の多くは、プロセッサ26が周辺機器インターフェース48(すなわち、好ましい実施形態ではSCSIコントローラ)の制御権を取っている必要があるので、S/W Installオプションを選択するとi960_config_nowフラグを設定するためにSCSI_Config_RPMのset_i960_config()が呼び出され、次いでコンピュータシステム14が再起動される。前述したように、これによってコンピュータシステム14をSCSI BIOSセットアップルーチンで中止させ、プロセッサ26がSCSIコントローラ48の制御権を取ることができるようにする。これがいったん完了すると、HTMLページ126で提供されるオプションをユーザが選択することができる。
【0059】
Select Diskオプションを使用すると、ユーザはSCSIコントローラ48に接続された記憶媒体(例えばディスクユニット)を選択することができる。Partition Diskオプションを使用すると、ユーザは選択したディスクユニットについてパーティションを切ることができる。Format Partitionオプションを使用すると、ユーザは選択したディスクユニットをフォーマットすることができる。Install From CDオプションを使用すると、ユーザは、オペレーティングシステムソフトウェアを含むソフトウェアを、リモートワークステーション16に接続されたCDROMデバイスからアダプタカード18上のSCSIコントローラ48に接続された選択したディスクユニットにインストールすることができる。これらのオプションをそれぞれ実行するのに必要な機能は、前述のSCSI_Config_RPMのプロシージャによってサポートされる。
【0060】
情報提供者レベルのユーザが使用できるオプションが、HTMLページ106に表示される。図に示されるように、情報提供者レベルのユーザは、前述のConsole、Change Password、Send Message、およびS/W Install動作を実行することができる。ただし、情報提供者レベルのユーザは、管理者レベルのユーザが使用可能なAdmin動作は実行することができない。
【0061】
情報提供者レベルのユーザが使用できるオプションが、HTMLページ108に表示される。図に示されるように、オブザーバレベルのユーザは、前述のConsole、Change Password、およびSend Message動作しか実行することができない。オブザーバレベルのユーザは、AdminまたはSoftware Install動作を実行することはできない。
【0062】
前述したように本発明は、ネットワーク上の第2の遠隔配置されたコンピュータシステムまたはワークステーションから、ネットワークを介してメインフレームまたは企業サーバなどの第1のコンピュータシステムのコンソールをリモート制御またはエミュレーションするためのアダプタカードを含むシステムを対象としている。前述の実施形態は、その発明の広範な概念を逸脱することなく、変更可能なことを理解されたい。したがって、本発明は開示された特定の実施形態に限定されることはなく、添付の特許請求の範囲で定義されたような本発明の精神および範囲内でのすべての修正をカバーすることが意図されている。
【0063】
Intelおよびi960は、Intel Corporationの登録商標である。VxWorksは、Wind River Systemsの登録商標である。Unix(登録商標)ware(登録商標)は、The Santa Cruz Operation,Incの登録商標である。Microsoft、Windows(登録商標)、Windows(登録商標) NT(登録商標)および/または本明細書で参照された他のMicrosoft製品は、Microsoft Corporationの商標または登録商標のいずれかである。Navigatorは、Netscape Communications Corporationの登録商標である。Java(登録商標)は、Sun Microsystems,Incの商標である。
【図面の簡単な説明】
【図1】 本発明のシステムの一実施形態を示す図である。
【図1A】 図1のシステムの代替実施形態を示す図である。
【図2】 図1のシステムの動作を示す流れ図である。
【図3】 図1のシステムのユーザインターフェースを、その一実施形態に従って示す図である。
Claims (32)
- ネットワーク(12)を介して、第1のコンピュータシステム(14)のコンソールのエミュレーションを、前記ネットワーク上に遠隔配置された第2のコンピュータシステム(16)に提供するためのアダプタカード(18)であって、
前記アダプタカードが前記第1のコンピュータシステムに接続されているときに、前記第1のコンピュータシステムの入出力バス(20)とインターフェースするローカルバス(28)と、
前記ローカルバスに結合しており、前記第1のコンピュータシステム用にインストールされたグラフィックスコントローラとして働き、そして、これにより前記第1のコンピュータシステムと対話して前記第1のコンピュータシステムのコンソール画面を表したものを生成するグラフィックスコントローラ(22)と、
前記ローカルバスに結合され、前記ネットワークに接続を提供するネットワークインターフェースコントローラ(24)と、
前記ローカルバスに結合しており、前記第1のコンピュータシステムの前記コンソール画面を前記表したものにおける変更を判断し、前記変更に関する情報を前記遠隔配置されたコンピュータシステムに前記ネットワークインターフェースコントローラを介して伝送するプロセッサ(26)と
を含むことを特徴とするアダプタカード。 - 請求項1に記載のアダプタカードにおいて、
グラフィックスコントローラが第1のコンピュータシステムのコンソール画面を表すデータを格納する前記グラフィックスコントローラにインターフェースされたメモリ(42)をさらに含み、前記メモリ内のデータを処理することによって、前記プロセッサがコンソール画面を表したものでの変更を判断することを特徴とするアダプタカード。 - 請求項2に記載のアダプタカードにおいて、
前記ローカルバスにインターフェースされた第2のメモリ(40)を含み、前記グラフィックスコントローラにインターフェースされた前記メモリ内に格納された第1のコンピュータシステムのコンソール画面を表すデータが前記プロセッサによって処理するための前記第2のメモリに定期的に転送され、第1のコンピュータシステムのコンソール画面を表したものでの変更を判断することを特徴とするアダプタカード。 - 請求項3に記載のアダプタカードにおいて、
第1のコンピュータシステムのコンソール画面を表すデータの、前記グラフィックスコントローラにインターフェースされた前記メモリから前記第2のメモリへの転送を制御する、前記ローカルバスに結合されたメモリコントローラ(36)をさらに含むことを特徴とするアダプタカード。 - 請求項1に記載のアダプタカードにおいて、
前記第1のコンピュータシステムのコンソール画面を表すデータを取り込むための前記グラフィックスコントローラの出力に結合された先入れ先出し(FIFO)バッファ(43)をさらに含み、前記プロセッサは、前記FIFOバッファ内のデータを処理することでコンソール画面を表したものでの変更を判断することを特徴とするアダプタカード。 - 請求項1に記載のアダプタカードにおいて、
前記プロセッサと前記ネットワークインターフェースコントローラ間の通信が前記ローカルバス(28)から分離された別々のバスセグメント(28a、28b)を跨いで行われるように、前記ネットワークインターフェースコントローラは、ブリッジ(32、34)によって前記ローカルバスに間接的に結合されることを特徴とするアダプタカード。 - 請求項1に記載のアダプタカードにおいて、
前記ネットワークインターフェースコントローラはイーサネット(登録商標)プロトコルを実施することを特徴とするアダプタカード。 - 請求項1に記載のアダプタカードにおいて、
第1のコンピュータのコンソール画面を表したものでの変更に関する情報は、TCP/IPプロトコルを使用してリモートコンピュータシステムに伝送されることを特徴とするアダプタカード。 - 請求項1に記載のアダプタカードにおいて、
第1のコンピュータシステムおよび前記プロセッサのうちの1つによって選択的に制御することができる前記ローカルバスに結合された周辺機器インターフェース(48)をさらに含み、周辺機器インターフェースが前記プロセッサによって制御されるときに、前記周辺機器インターフェースに接続されたデバイスは、前記ネットワークインターフェースコントローラおよび前記プロセッサを介してリモートコンピュータシステムから制御可能なことを特徴とするアダプタカード。 - 請求項9に記載のアダプタカードにおいて、
前記プロセッサが前記周辺機器インターフェースを制御するように選択されたときに、前記プロセッサは、周辺機器インターフェース用に修正されたBIOSを第1のコンピュータシステムによってロードさせ、前記プロセッサが前記周辺機器インターフェースの制御権を取ることができるように、第1のコンピュータシステムを停止させることを特徴とするアダプタカード。 - 請求項10に記載のアダプタカードにおいて、
前記プロセッサは、前記アダプタカード上に格納されたフラグ変数を設定することにより、前記周辺機器インターフェースを制御するように選択され、前記プロセッサが前記フラグ変数を検査して前記修正されたBIOSを第1のコンピュータシステムによってロードさせるかどうかを判断することを特徴とするアダプタカード。 - 請求項9に記載のアダプタカードにおいて、
前記周辺機器インターフェースに接続されたデバイスは記憶媒体を含み、リモートコンピュータシステムによる記憶媒体の制御に、
記憶媒体のパーティションを切ることと、
記憶媒体をフォーマットすることと、
記憶媒体へのソフトウェアのインストールのうち、
少なくとも1つがさらに含まれることを特徴とするアダプタカード。 - 請求項9に記載のアダプタカードにおいて、
前記周辺機器インターフェースはSCSI(Small Computer Systems Interface)コントローラを含むことを特徴とするアダプタカード。 - 請求項1に記載のアダプタカードにおいて、
前記ローカルバスはPCI(Peripheral Component Interconnect)バスを含むことを特徴とするアダプタカード。 - 請求項1に記載のアダプタカードにおいて、
前記プロセッサは、リモートコンピュータシステムのユーザがアダプタカードを構成できるようにするために、HTMLページをリモートコンピュータシステムに提示するWebサーバ(80)として部分的に機能することを特徴とするアダプタカード。 - ネットワーク(12)を介して、第1のコンピュータシステム(14)のコンソールのエミュレーションを、前記ネットワーク上に遠隔配置された第2のコンピュータシステム(16)に提供するためのシステムであって、
アダプタカードが前記第1のコンピュータシステムに接続されているときに、前記第1のコンピュータシステムの入出力バス(20)とインターフェースするローカルバス(28)と、
前記ローカルバスに結合しており、前記第1のコンピュータシステム用にインストールされたグラフィックスコントローラとして働き、そして、これにより前記第1のコンピュータシステムと対話して前記第1のコンピュータシステムのコンソール画面を表したものを生成するグラフィックスコントローラ(22)と、
前記ローカルバスに結合され、前記ネットワークに接続を提供するネットワークインターフェースコントローラ(24)と、
前記ローカルバスに結合しており、前記第1のコンピュータシステムの前記コンソール画面を前記表したものにおける変更を判断し、前記変更に関する情報を前記遠隔配置されたコンピュータシステムに前記ネットワークインターフェースコントローラを介して伝送するプロセッサ(26)と、を含むアダプタカード(18)、および、
前記アダプタカードから伝送された前記情報を受け取り、そこからリモートコンピュータシステムのディスプレイ装置上で前記第1のコンピュータの前記コンソール画面を前記表したものを再生する、リモートコンピュータシステム(16)上で実行可能なクライアントプログラム(96、98)を備えたことを特徴とするシステム。 - 請求項16に記載のシステムにおいて、
前記グラフィックスコントローラが前記第1のコンピュータシステムの前記コンソール画面を表すデータを格納する前記グラフィックスコントローラにインターフェースされたメモリ(42)をさらに含み、前記メモリ内のデータを処理することによって、前記プロセッサが前記コンソール画面を前記表したものにおける変更を判断することを特徴とするシステム。 - 請求項17に記載のシステムにおいて、
前記ローカルバスにインターフェースされた第2のメモリ(40)を含み、前記グラフィックスコントローラにインターフェースされた前記メモリ内に格納された前記第1のコンピュータシステムの前記コンソール画面を表すデータが前記プロセッサによって処理するための前記第2のメモリに定期的に転送され、前記第1のコンピュータシステムの前記コンソール画面を前記表したものにおける変更を判断することを特徴とするシステム。 - 請求項18に記載のシステムにおいて、
第1のコンピュータシステムのコンソール画面を表すデータの、前記グラフィックスコントローラにインターフェースされた前記メモリから前記第2のメモリへの転送を制御する前記ローカルバスに結合されたメモリコントローラ(36)をさらに含むことを特徴とするシステム。 - 請求項16に記載のシステムにおいて、
前記第1のコンピュータシステムのコンソール画面を表すデータを取り込むための前記グラフィックスコントローラの出力に結合された先入れ先出し(FIFO)バッファ(43)をさらに含み、前記プロセッサは、前記FIFOバッファ内のデータを処理することでコンソール画面を表したものでの変更を判断することを特徴とするシステム。 - 請求項16に記載のシステムにおいて、
前記プロセッサと前記ネットワークインターフェースコントローラ間の通信が前記ローカルバスから分離された別々のバスセグメント(28a、28b)を跨いで行われるように、前記ネットワークインターフェースコントローラはブリッジ(32、34)によって前記ローカルバスに間接的に結合されることを特徴とするシステム。 - 請求項16に記載のシステムにおいて、
前記ネットワークインターフェースコントローラはイーサネット(登録商標)プロトコルを実施することを特徴とするシステム。 - 請求項16に記載のシステムにおいて、
第1のコンピュータのコンソール画面を表したものでの変更に関する情報は、TCP/IPプロトコルを使用してリモートコンピュータシステムに伝送されることを特徴とするシステム。 - 請求項16に記載のシステムにおいて、
第1のコンピュータシステムおよび前記プロセッサのうちの1つによって選択的に制御することができる前記ローカルバスに結合された周辺機器インターフェース(48)をさらに含み、周辺機器インターフェースが前記プロセッサによって制御されるときに、前記周辺機器インターフェースに接続されたデバイスは前記ネットワークインターフェースコントローラおよび前記プロセッサを介してリモートコンピュータシステムから制御可能なことを特徴とするシステム。 - 請求項24に記載のシステムにおいて、
前記プロセッサが前記周辺機器インターフェースを制御するように選択されたときに、前記プロセッサが、周辺機器インターフェース用に修正されたBIOSを第1のコンピュータシステムによってロードさせ、前記プロセッサが前記周辺機器インターフェースの制御権を取ることができるように、第1のコンピュータシステムを停止させることを特徴とするシステム。 - 請求項25に記載のシステムにおいて、
前記プロセッサが、前記アダプタカード上に格納されたフラグ変数を設定することにより、前記周辺機器インターフェースを制御するように選択され、前記プロセッサが前記フラグ変数を検査して前記修正されたBIOSを第1のコンピュータシステムによってロードさせるかどうかを判断することを特徴とするシステム。 - 請求項24に記載のシステムにおいて、
前記周辺機器インターフェースに接続されたデバイスは記憶媒体を含み、リモートコンピュータシステムによる記憶媒体の制御に、
記憶媒体のパーティションを切ることと、
記憶媒体をフォーマットすることと、
記憶媒体へのソフトウェアのインストールのうち、
少なくとも1つがさらに含まれることを特徴とするシステム。 - 請求項24に記載のシステムにおいて、
前記周辺機器インターフェースはSCSI(Small Computer Systems Interface)コントローラを含むことを特徴とするシステム。 - 請求項16に記載のシステムにおいて、
前記ローカルバスはPCI(Peripheral Component Interconnect)バスを含むことを特徴とするシステム。 - 請求項16に記載のシステムにおいて、
前記プロセッサは、リモートコンピュータシステムのユーザがアダプタカードを構成できるようにするために、HTMLページをリモートコンピュータシステムに提示するWebサーバ(80)として部分的に機能することを特徴とするシステム。 - 請求項30に記載のシステムにおいて、
前記クライアントプログラムは前記プロセッサによってリモートコンピュータシステムに提示されたHTMLページを表示するWebブラウザ(96)を含むことを特徴とするシステム。 - 請求項31に記載のシステムにおいて、
前記クライアントプログラムは、アダプタカードから伝送された情報を受け取り、その情報からリモートコンピュータシステムのディスプレイ装置上で第1のコンピュータ画面のコンソール画面を表したものを再現するブラウザアドイン(98)をさらに含むことを特徴とするシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/310,542 | 1999-05-12 | ||
US09/310,542 US6732067B1 (en) | 1999-05-12 | 1999-05-12 | System and adapter card for remote console emulation |
PCT/US2000/012308 WO2000070472A1 (en) | 1999-05-12 | 2000-05-05 | System and adapter card for remote console emulation |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002544625A JP2002544625A (ja) | 2002-12-24 |
JP3693921B2 true JP3693921B2 (ja) | 2005-09-14 |
Family
ID=23202980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000618847A Expired - Fee Related JP3693921B2 (ja) | 1999-05-12 | 2000-05-05 | リモートコンソールエミュレーションのためのシステムおよびアダプタカード |
Country Status (6)
Country | Link |
---|---|
US (1) | US6732067B1 (ja) |
EP (1) | EP1190329B1 (ja) |
JP (1) | JP3693921B2 (ja) |
BR (1) | BR0010484A (ja) |
DE (1) | DE60001659T2 (ja) |
WO (1) | WO2000070472A1 (ja) |
Families Citing this family (73)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6676127B2 (en) | 1997-03-13 | 2004-01-13 | Shuffle Master, Inc. | Collating and sorting apparatus |
US6254096B1 (en) | 1998-04-15 | 2001-07-03 | Shuffle Master, Inc. | Device and method for continuously shuffling cards |
US6655684B2 (en) | 1998-04-15 | 2003-12-02 | Shuffle Master, Inc. | Device and method for forming and delivering hands from randomly arranged decks of playing cards |
US6882967B2 (en) * | 2000-01-27 | 2005-04-19 | Middle Digital Inc. | Apparatus and method for remote administration of a PC-server |
US8511684B2 (en) | 2004-10-04 | 2013-08-20 | Shfl Entertainment, Inc. | Card-reading shoe with inventory correction feature and methods of correcting inventory |
US8490973B2 (en) | 2004-10-04 | 2013-07-23 | Shfl Entertainment, Inc. | Card reading shoe with card stop feature and systems utilizing the same |
US8590896B2 (en) | 2000-04-12 | 2013-11-26 | Shuffle Master Gmbh & Co Kg | Card-handling devices and systems |
US7734758B1 (en) * | 2000-07-19 | 2010-06-08 | Cisco Technology, Inc. | USB encapsulation for network transmission |
US9292516B2 (en) * | 2005-02-16 | 2016-03-22 | Sonic Solutions Llc | Generation, organization and/or playing back of content based on incorporated parameter identifiers |
US7024497B1 (en) * | 2000-09-07 | 2006-04-04 | Adaptec, Inc. | Methods for accessing remotely located devices |
US6959380B2 (en) * | 2001-03-13 | 2005-10-25 | International Business Machines Corporation | Seamless computer system remote control |
US20030046398A1 (en) * | 2001-08-29 | 2003-03-06 | Charles Buckley | Method and system for managing a plurality of console devices in a network |
US7677565B2 (en) | 2001-09-28 | 2010-03-16 | Shuffle Master, Inc | Card shuffler with card rank and value reading capability |
US7753373B2 (en) | 2001-09-28 | 2010-07-13 | Shuffle Master, Inc. | Multiple mode card shuffler and card reading device |
US8616552B2 (en) | 2001-09-28 | 2013-12-31 | Shfl Entertainment, Inc. | Methods and apparatuses for an automatic card handling device and communication networks including same |
US8011661B2 (en) | 2001-09-28 | 2011-09-06 | Shuffle Master, Inc. | Shuffler with shuffling completion indicator |
US8337296B2 (en) | 2001-09-28 | 2012-12-25 | SHFL entertaiment, Inc. | Method and apparatus for using upstream communication in a card shuffler |
US6826628B2 (en) * | 2001-10-26 | 2004-11-30 | O2Micro International Limited | PCI-PCMCIA smart card reader |
US7146306B2 (en) * | 2001-12-14 | 2006-12-05 | International Business Machines Corporation | Handheld computer console emulation module and method of managing a logically-partitioned multi-user computer with same |
US7149814B2 (en) * | 2002-01-04 | 2006-12-12 | Hewlett-Packard Development Company, L.P. | Method and apparatus to provide sound on a remote console |
US6886829B2 (en) | 2002-02-08 | 2005-05-03 | Vendingdata Corporation | Image capturing card shuffler |
TWI253567B (en) * | 2002-08-06 | 2006-04-21 | Quanta Comp Inc | Method of remote controlling computers via network and architecture thereof |
US7543048B2 (en) * | 2002-11-22 | 2009-06-02 | Intel Corporation | Methods and apparatus for enabling of a remote management agent independent of an operating system |
JP2004280636A (ja) * | 2003-03-18 | 2004-10-07 | Internatl Business Mach Corp <Ibm> | ユーザインターフェース非装備の通信接続型情報処理装置を含む情報処理システムおよびその制御方法 |
CA2435655A1 (en) * | 2003-07-21 | 2005-01-21 | Symbium Corporation | Embedded system administration |
TWI231427B (en) * | 2004-03-04 | 2005-04-21 | Quanta Comp Inc | Method and system for controlling remote computers |
US7831680B2 (en) * | 2004-07-16 | 2010-11-09 | National Instruments Corporation | Deterministic communication between graphical programs executing on different computer systems |
US20060066048A1 (en) | 2004-09-14 | 2006-03-30 | Shuffle Master, Inc. | Magnetic jam detection in a card shuffler |
US7447900B2 (en) * | 2004-09-15 | 2008-11-04 | Hewlett-Packard Development Company, L.P. | Method and a system for designating a user selected console device as the primary console device for a particular computer |
US7766332B2 (en) * | 2006-07-05 | 2010-08-03 | Shuffle Master, Inc. | Card handling devices and methods of using the same |
WO2006066052A2 (en) | 2004-12-16 | 2006-06-22 | Sonic Solutions | Methods and systems for use in network management of content |
CA2504333A1 (en) * | 2005-04-15 | 2006-10-15 | Symbium Corporation | Programming and development infrastructure for an autonomic element |
US7764836B2 (en) | 2005-06-13 | 2010-07-27 | Shuffle Master, Inc. | Card shuffler with card rank and value reading capability using CMOS sensor |
US7844442B2 (en) * | 2005-08-16 | 2010-11-30 | Exent Technologies, Ltd. | System and method for providing a remote user interface for an application executing on a computing device |
US20110157196A1 (en) * | 2005-08-16 | 2011-06-30 | Exent Technologies, Ltd. | Remote gaming features |
US20070067764A1 (en) * | 2005-09-22 | 2007-03-22 | Byrd Brandy S | System and method for automated interpretation of console field changes |
US7556266B2 (en) | 2006-03-24 | 2009-07-07 | Shuffle Master Gmbh & Co Kg | Card shuffler with gravity feed system for playing cards |
US8419016B2 (en) | 2006-05-17 | 2013-04-16 | Shfl Entertainment, Inc. | Playing card delivery for games with multiple dealing rounds |
US20100115145A1 (en) * | 2006-05-26 | 2010-05-06 | Smart Technologies Ulc | Plug-and-play device and method of using the same |
US8353513B2 (en) | 2006-05-31 | 2013-01-15 | Shfl Entertainment, Inc. | Card weight for gravity feed input for playing card shuffler |
US8579289B2 (en) | 2006-05-31 | 2013-11-12 | Shfl Entertainment, Inc. | Automatic system and methods for accurate card handling |
US8342525B2 (en) | 2006-07-05 | 2013-01-01 | Shfl Entertainment, Inc. | Card shuffler with adjacent card infeed and card output compartments |
US8070574B2 (en) | 2007-06-06 | 2011-12-06 | Shuffle Master, Inc. | Apparatus, system, method, and computer-readable medium for casino card handling with multiple hand recall feature |
US8919775B2 (en) | 2006-11-10 | 2014-12-30 | Bally Gaming, Inc. | System for billing usage of an automatic card handling device |
US8484626B2 (en) * | 2007-09-28 | 2013-07-09 | Verizon Patent And Licensing Inc. | Generic XML screen scraping |
JP5180729B2 (ja) * | 2008-08-05 | 2013-04-10 | 株式会社日立製作所 | 計算機システム及びバス割当方法 |
US8514215B2 (en) * | 2008-11-12 | 2013-08-20 | International Business Machines Corporation | Dynamically managing power consumption of a computer with graphics adapter configurations |
US7988152B2 (en) | 2009-04-07 | 2011-08-02 | Shuffle Master, Inc. | Playing card shuffler |
US8967621B2 (en) | 2009-04-07 | 2015-03-03 | Bally Gaming, Inc. | Card shuffling apparatuses and related methods |
US20110265009A1 (en) * | 2010-04-27 | 2011-10-27 | Microsoft Corporation | Terminal services view toolbox |
US8410994B1 (en) | 2010-08-23 | 2013-04-02 | Matrox Graphics Inc. | System and method for remote graphics display |
US8800993B2 (en) | 2010-10-14 | 2014-08-12 | Shuffle Master Gmbh & Co Kg | Card handling systems, devices for use in card handling systems and related methods |
CN102761564B (zh) | 2011-04-25 | 2015-04-22 | 阿里巴巴集团控股有限公司 | 图形共享方法、系统与终端 |
US9731190B2 (en) | 2011-07-29 | 2017-08-15 | Bally Gaming, Inc. | Method and apparatus for shuffling and handling cards |
US8485527B2 (en) | 2011-07-29 | 2013-07-16 | Savant Shuffler LLC | Card shuffler |
US9659343B2 (en) * | 2011-12-29 | 2017-05-23 | Intel Corporation | Transpose of image data between a linear and a Y-tiled storage format |
US8960674B2 (en) | 2012-07-27 | 2015-02-24 | Bally Gaming, Inc. | Batch card shuffling apparatuses including multi-card storage compartments, and related methods |
US9511274B2 (en) | 2012-09-28 | 2016-12-06 | Bally Gaming Inc. | Methods for automatically generating a card deck library and master images for a deck of cards, and a related card processing apparatus |
US9378766B2 (en) | 2012-09-28 | 2016-06-28 | Bally Gaming, Inc. | Card recognition system, card handling device, and method for tuning a card handling device |
KR20160144440A (ko) | 2014-04-11 | 2016-12-16 | 발리 게이밍, 인코포레이티드 | 카드를 셔플링 및 처리하는 방법 및 장치 |
US9474957B2 (en) | 2014-05-15 | 2016-10-25 | Bally Gaming, Inc. | Playing card handling devices, systems, and methods for verifying sets of cards |
US9566501B2 (en) | 2014-08-01 | 2017-02-14 | Bally Gaming, Inc. | Hand-forming card shuffling apparatuses including multi-card storage compartments, and related methods |
USD764599S1 (en) | 2014-08-01 | 2016-08-23 | Bally Gaming, Inc. | Card shuffler device |
US9504905B2 (en) | 2014-09-19 | 2016-11-29 | Bally Gaming, Inc. | Card shuffling device and calibration method |
US9993719B2 (en) | 2015-12-04 | 2018-06-12 | Shuffle Master Gmbh & Co Kg | Card handling devices and related assemblies and components |
US10339765B2 (en) | 2016-09-26 | 2019-07-02 | Shuffle Master Gmbh & Co Kg | Devices, systems, and related methods for real-time monitoring and display of related data for casino gaming devices |
US10933300B2 (en) | 2016-09-26 | 2021-03-02 | Shuffle Master Gmbh & Co Kg | Card handling devices and related assemblies and components |
US11376489B2 (en) | 2018-09-14 | 2022-07-05 | Sg Gaming, Inc. | Card-handling devices and related methods, assemblies, and components |
US11896891B2 (en) | 2018-09-14 | 2024-02-13 | Sg Gaming, Inc. | Card-handling devices and related methods, assemblies, and components |
US11338194B2 (en) | 2018-09-28 | 2022-05-24 | Sg Gaming, Inc. | Automatic card shufflers and related methods of automatic jam recovery |
CN118593979A (zh) | 2019-09-10 | 2024-09-06 | 夏佛马士特公司 | 卡牌处理设备及其组装方法和使用方法 |
US11173383B2 (en) | 2019-10-07 | 2021-11-16 | Sg Gaming, Inc. | Card-handling devices and related methods, assemblies, and components |
CA3177989A1 (en) * | 2021-10-01 | 2023-04-01 | Brian Pritchard | Methods and systems for emulating application-specific workstations on personal computers |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5136695A (en) | 1989-11-13 | 1992-08-04 | Reflection Technology, Inc. | Apparatus and method for updating a remote video display from a host computer |
CA2072178A1 (en) * | 1991-06-24 | 1992-12-25 | Said S. Saadeh | Innate bus monitor for computer system manager |
CA2072198A1 (en) * | 1991-06-24 | 1992-12-25 | Scott C. Farrand | Remote console emulator for computer system manager |
DE69230306T2 (de) | 1991-09-09 | 2000-04-13 | Compaq Computer Corp., Houston | Fern-Urladessystem und Verfahren zum Urladen eines Computersystems |
US5257384A (en) * | 1991-09-09 | 1993-10-26 | Compaq Computer Corporation | Asynchronous protocol for computer system manager |
US5732212A (en) | 1992-10-23 | 1998-03-24 | Fox Network Systems, Inc. | System and method for remote monitoring and operation of personal computers |
CA2131235A1 (en) | 1993-09-10 | 1995-03-11 | Randall L. Hess | Personal computer with keyboard and auxiliary device emulation |
US5712978A (en) | 1994-12-30 | 1998-01-27 | Lucent Technologies Inc. | System for control of remote processors |
US5604509A (en) | 1995-04-14 | 1997-02-18 | Advent Design, Inc. | Remote display monitor system |
JPH0922339A (ja) | 1995-07-05 | 1997-01-21 | Matsushita Electric Ind Co Ltd | 遠隔操作装置 |
US5721842A (en) | 1995-08-25 | 1998-02-24 | Apex Pc Solutions, Inc. | Interconnection system for viewing and controlling remotely connected computers with on-screen video overlay for controlling of the interconnection switch |
US5764974A (en) | 1995-08-30 | 1998-06-09 | Unisys Corporation | System with user specified pattern definitions for matching input messages and associated decisions for conditionally responding to the input messages |
US5794239A (en) | 1995-08-30 | 1998-08-11 | Unisys Corporation | Apparatus and method for message matching using pattern decisions in a message matching and automatic response system |
US5918039A (en) * | 1995-12-29 | 1999-06-29 | Wyse Technology, Inc. | Method and apparatus for display of windowing application programs on a terminal |
US5912895A (en) * | 1996-05-01 | 1999-06-15 | Northern Telecom Limited | Information network access apparatus and methods for communicating information packets via telephone lines |
US6044062A (en) * | 1996-12-06 | 2000-03-28 | Communique, Llc | Wireless network system and method for providing same |
US6166729A (en) * | 1997-05-07 | 2000-12-26 | Broadcloud Communications, Inc. | Remote digital image viewing system and method |
EP0901079B1 (en) * | 1997-09-02 | 2006-03-15 | R. Brent Johnson | Emulation and emulated screen history |
US6052744A (en) * | 1997-09-19 | 2000-04-18 | Compaq Computer Corporation | System and method for transferring concurrent multi-media streams over a loosely coupled I/O bus |
US6128669A (en) * | 1997-09-30 | 2000-10-03 | Compaq Computer Corporation | System having a bridge with distributed burst engine to decouple input/output task from a processor |
US6085329A (en) * | 1998-01-13 | 2000-07-04 | Micron Electronics, Inc. | Portable computer with low power CD-player mode |
US6321287B1 (en) * | 1998-10-19 | 2001-11-20 | Dell Usa, L.P. | Console redirection for a computer system |
US6272627B1 (en) * | 1998-10-30 | 2001-08-07 | Ati International Srl | Method and apparatus for booting up a computing system with enhanced graphics |
US6326973B1 (en) * | 1998-12-07 | 2001-12-04 | Compaq Computer Corporation | Method and system for allocating AGP/GART memory from the local AGP memory controller in a highly parallel system architecture (HPSA) |
-
1999
- 1999-05-12 US US09/310,542 patent/US6732067B1/en not_active Expired - Lifetime
-
2000
- 2000-05-05 EP EP00928862A patent/EP1190329B1/en not_active Expired - Lifetime
- 2000-05-05 DE DE60001659T patent/DE60001659T2/de not_active Expired - Lifetime
- 2000-05-05 JP JP2000618847A patent/JP3693921B2/ja not_active Expired - Fee Related
- 2000-05-05 BR BR0010484-1A patent/BR0010484A/pt not_active IP Right Cessation
- 2000-05-05 WO PCT/US2000/012308 patent/WO2000070472A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
DE60001659T2 (de) | 2003-11-13 |
US6732067B1 (en) | 2004-05-04 |
DE60001659D1 (de) | 2003-04-17 |
EP1190329A1 (en) | 2002-03-27 |
JP2002544625A (ja) | 2002-12-24 |
WO2000070472A1 (en) | 2000-11-23 |
EP1190329B1 (en) | 2003-03-12 |
BR0010484A (pt) | 2002-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3693921B2 (ja) | リモートコンソールエミュレーションのためのシステムおよびアダプタカード | |
US6560641B1 (en) | System, method, and adapter card for remote console emulation including remote control of a peripheral device | |
CA2194112C (en) | Method & apparatus for display of windowing application programs on a terminal | |
TWI303025B (en) | Physical device , i/o device and computer system with virtual machine capable interfaces | |
US6836885B1 (en) | Method and apparatus for display of windowing application programs on a terminal | |
US8079021B2 (en) | Method and apparatus for display of windowing application programs on a terminal | |
US20060190238A1 (en) | Methods and systems for managing a device | |
US20040153579A1 (en) | Virtual disc drive control device | |
EP2345967B1 (en) | Displaying windowing application programs on a terminal | |
Cisco | Bootstrap Program | |
Cisco | Bootstrap Program | |
Cisco | Bootstrap Program | |
Cisco | Bootstrap Program | |
Cisco | Cisco 4000-M ROM Monitor | |
Cisco | Cisco 4000-M ROM Monitor | |
Cisco | Bootstrap Program | |
Cisco | Bootstrap Program | |
Cisco | Cisco 4000-M ROM Monitor | |
Cisco | Cisco 4000-M ROM Monitor | |
Cisco | Cisco 4000-M ROM Monitor | |
Cisco | Cisco 4000-M ROM Monitor | |
Cisco | Cisco 4000-M ROM Monitor | |
Cisco | Bootstrap Program | |
Cisco | Bootstrap Program | |
Cisco | Bootstrap Program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050121 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050421 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050527 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050622 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |