(57)【要約】【課題】  ビデオモニター、コンソールデバイス及び周辺デバイスを複数のコンピュータシステムにおいて共有するための信号スイッチを提供すること。【解決手段】  信号スイッチにおいて、信号スイッチを管理する管理プログラム（４２）を記憶する第１メモリ（４０）を有するＣＰＵ（３０）と、ＣＰＵに接続され、複数のコンピュータシステムのいずれか及び一つ以上の周辺デバイスと通信するように構成されるハブスイッチモジュール（３２）と、産業標準に従って複数のコンソールデバイスをエミュレートし、ＣＰＵ及びハブスイッチモジュールに接続されるデバイス制御モジュール（３８）と、ＣＰＵに接続され、複数のコンソールデバイスと通信するように構成される主制御モジュール（４４）と、そしてＣＰＵに接続され、ビデオモニターデバイスと通信するように構成されるビデオ制御モジュール（５０）と、を備える。【選択図】  図４
2011014173.tif 000002
【特許請求の範囲】
【請求項１】
それぞれがキーボード、モニター及びマウスを含む一つ以上のコンソールデバイス及び一つ以上の周辺デバイスを複数のコンピュータシステムのいずれかにおいて共有するための信号スイッチであって、
前記一つ以上のコンソールデバイスから選択されるコンソールデバイスを前記複数のコンピュータシステムから選択される第１のコンピュータシステムに接続する第１チャネル；
前記選択された第１のコンピュータシステムを前記一つ以上の周辺デバイスから選択される周辺デバイスに接続し、前記選択された第１のコンピュータシステムと前記選択された周辺デバイスとの間でのデータフローを有する第２チャネル；
前記選択されたコンソールデバイスを前記複数のコンピュータシステムから選択される第２のコンピュータシステムに接続する第３チャネル；及び
前記選択された第１のコンピュータシステムと前記選択された周辺デバイスとの間の前記第２チャネルを通過する前記データフローを妨害することなく、前記選択されたコンソールデバイスを前記第１チャネルと前記第３チャネルとの間で切り替える手段と
を備える信号スイッチ。
【請求項２】
一つ以上のコンソールデバイス及び一つ以上の周辺デバイスを複数のコンピュータシステムのいずれかにおいて共有するための信号スイッチであって、
前記一つ以上のコンソールデバイスから選択されるコンソールデバイスを前記複数のコンピュータシステムから選択される第１のコンピュータシステムに接続する第１チャネル；
前記選択された第１のコンピュータシステムを前記一つ以上の周辺デバイスから選択される周辺デバイスに接続し、前記選択された第１のコンピュータシステムと前記選択された周辺デバイスとの間でのデータフローを有する第２チャネル；
前記選択されたコンソールデバイスを前記複数のコンピュータシステムから選択される第２のコンピュータシステムに接続する第３チャネル；及び
前記選択された第１のコンピュータシステムと前記選択された周辺デバイスとの間の前記第２チャネルを通過する前記データフローを妨害することなく、前記選択されたコンソールデバイスを前記第１チャネルと前記第３チャネルとの間で切り替える手段とを備え、
前記第１チャネル、前記第２チャネル及び前記第３チャネルが前記切り替え手段を通過することを特徴とする信号スイッチ。
【請求項３】
それぞれがキーボード、モニター及びマウスを含む一つ以上のコンソールデバイス及び一つ以上の周辺デバイスを複数のコンピュータシステムのいずれかにおいて共有するための信号スイッチであって、
前記一つ以上のコンソールデバイスから選択されるコンソールデバイスを前記複数のコンピュータシステムから選択される第１のコンピュータシステムに接続する第１チャネル；
前記選択された第１のコンピュータシステムを前記一つ以上の周辺デバイスから選択される周辺デバイスに接続する第２チャネル；
前記選択されたコンソールデバイスを前記複数のコンピュータシステムから選択される第２のコンピュータシステムに接続する第３チャネル；及び
前記選択された第１のコンピュータシステムと前記選択された周辺デバイスとの間の前記第２チャネルを維持しつつ、前記選択されたコンソールデバイスを前記第１チャネルと前記第３チャネルとの間で切り替える手段と
を備える信号スイッチ。
【請求項４】
それぞれがキーボード、モニター及びマウスを含む一つ以上のコンソールデバイス及び一つ以上の周辺デバイスを複数のコンピュータシステムのいずれかにおいて共有するための信号スイッチであって、
前記一つ以上のコンソールデバイスから選択されるコンソールデバイスを前記複数のコンピュータシステムから選択される第１のコンピュータシステムに接続する第１チャネル；
前記選択された第１のコンピュータシステムを前記一つ以上の周辺デバイスから選択される周辺デバイスに接続し、前記選択された第１のコンピュータシステムと前記選択された周辺デバイスとの間でのデータフローを有する第２チャネル；
前記選択されたコンソールデバイスを前記複数のコンピュータシステムから選択される第２のコンピュータシステムに接続する第３チャネル；及び
前記選択された第１のコンピュータシステムと前記選択された周辺デバイスとの間の前記第２チャネルを通過する前記データフローを妨害することなく、前記複数のコンピュータシステム及び前記選択されたコンソールデバイスとの間で、前記第１チャネルと前記第３チャネルを切り替える手段と
を備える信号スイッチ。
【請求項５】
一つ以上のコンソールデバイス及び一つ以上の周辺デバイスを複数のコンピュータシステムのいずれかにおいて共有するための信号スイッチであって、
前記一つ以上のコンソールデバイスから選択されるコンソールデバイスを前記複数のコンピュータシステムから選択される第１のコンピュータシステムに接続する第１チャネル；
前記選択された第１のコンピュータシステムを前記一つ以上の周辺デバイスから選択される周辺デバイスに接続し、前記選択された第１のコンピュータシステムと前記選択された周辺デバイスとの間でのデータフローを有する第２チャネル；
前記選択されたコンソールデバイスを前記複数のコンピュータシステムから選択される第２のコンピュータシステムに接続する第３チャネル；及び
前記選択された第１のコンピュータシステムと前記選択された周辺デバイスとの間の前記第２チャネルを通過する前記データフローを妨害することなく、前記複数のコンピュータシステム及び前記選択されたコンソールデバイスとの間で、前記第１チャネルと前記第３チャネルを切り替える手段とを備え、
前記第１チャネル、前記第２チャネル及び前記第３チャネルが前記切り替え手段を通過することを特徴とする信号スイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、「非同期／同期電子ＵＳＢ  ＫＶＭＰスイッチ」と題する２００１年１１月９日出願の米国仮出願第６０／３３８，０７１及び「コンソールデバイス及び周辺デバイスの信号スイッチ」と題する２００２年１０月１０日出願の米国特許出願１０／０６５，３７５の優先権を主張するものであり、これらの出願の内容は本明細書において参照されることによりそれら全てが本発明の開示に含まれる。
【０００２】
本発明は、コンソールデバイス及び周辺デバイスの信号スイッチに関する。
【背景技術】
【０００３】
シングルユーザまたはマルチユーザ対応のキーボードビデオマウス（「ＫＶＭ」）スイッチシステムは信号スイッチであり、このスイッチによりシングルユーザまたはマルチユーザは一セットのキーボード、ビデオデバイス及びマウス、または複数セットのキーボード、ビデオデバイス及びマウスを共有することができる。
【０００４】
現在のＫＶＭスイッチの問題は、プリンタのようなＵＳＢ周辺機器がスイッチに接続されるとスイッチの切り替え時にその周辺機器へのデータフローが妨害されることである。
【０００５】
ユニバーサルシリアルバス（ＵＳＢ）は通信アーキテクチャであり、このアーキテクチャによりパーソナルコンピュータ（ＰＣ）は種々のデバイスを簡単なケーブルを使用して相互接続する機能を有することができる。ＵＳＢは実際は２線シリアル通信リンクであり、このリンクは１秒当たり１．５メガビット（Ｍｂｐｓ）または１２メガビット（Ｍｂｐｓ）で動作する。ＵＳＢプロトコルはスタートアップ時または実行時のプラグインの際にデバイスを構成するように機能する。これらのデバイスは種々のデバイスクラスに分割される。各デバイスクラスは同様な機能を提供するデバイス群の共通動作及びプロトコルを定義する。
【０００６】
ＵＳＢ標準に関する最新の情報はワールドワイドウェブの次に示すサイト：http://www.usb.org.に掲載されている。このソースから入手できるのは、ユニバーサルシリアルバス（ＵＳＢ）仕様、ＵＳＢ  ＨＩＤ使用方法補足、ヒューマンインターフェイスデバイス（ＨＩＤ）のデバイスクラス定義である。
【０００７】
ＨＩＤクラスは人間がコンピュータシステムの動作を制御するために使用するデバイスから主として構成される。ＨＩＤクラスデバイスの典型的な例として：キーボード及びポインティングデバイス−例えば、標準マウスデバイス、トラックボール、及びジョイスティック；フロントパネル制御−例えば、ノブ、スイッチ、ボタン及びスライダー；電話機、ＶＣＲリモート制御、ゲームまたはシミュレーションデバイスのようなデバイスに含まれる制御−例えば、データグローブ、スロットル、ステアリングホイール、及びラダーペダル；及び、人間との相互作用を必要としないがＨＩＤクラスデバイスと同様なフォーマットでデータを供給するデバイス−例えば、バーコードリーダー、温度計、または電圧計、が挙げられる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
必要とされるものは、周辺機器の共有を可能にするスイッチでもあるＫＶＭスイッチであり、このスイッチによりこのスイッチに接続される全てのコンピュータは、スイッチ切り替え時に周辺機器へのデータフローを妨害することなく任意のＵＳＢ周辺デバイスを共有することができ、しかもＫＶＭチャネル及び周辺機器チャネルを一の共通コンピュータ、または種々のコンピュータに非同期で或いは同期して切り替えることができる。
【課題を解決するための手段】
【０００９】
本発明はこの要求にＫＶＭスイッチを提供することにより応えるものであり、このスイッチは周辺機器を共有するスイッチでもあり、このスイッチに接続される全てのコンピュータが任意のＵＳＢ周辺機器を共有することができ、スイッチ切替え時のその周辺機器へのデータフローを妨害することなく、ＫＶＭチャネル及び周辺チャネルを共通のコンピュータまたは種々のコンピュータに、非同期で、または同期して切り替えることができる。ＵＳＢ周辺機器はＫＶＭチャネルと非同期で、または同期して切り替えることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の信号スイッチの一使用形態を示すシステム図である。
【図２】本発明の信号スイッチの別の一使用形態を示すシステム図である。
【図３】本発明の信号スイッチの別の一使用形態を示すシステム図である。
【図４】本発明の信号スイッチのブロック図である。
【図５】本発明の信号スイッチの管理制御プログラムとして使用できるプロセスの一例を示す機能ブロック図である。
【発明を実施するための形態】
【００１１】
本発明、すなわちＵＳＢ  ＫＶＭＰにより複数のＵＳＢキーボード及び複数のＵＳＢマウスは共通のコンピュータと同時に通信することができる。このＵＳＢ  ＫＶＭＰは複数のＵＳＢ周辺チャネルをユーザに提供し、そしてこれらのチャネルをＵＳＢハブ、ＵＳＢプリンタ、ＵＳＢスキャナー、ＵＳＢカメラといった全ての種類のＵＳＢ周辺機器に接続することができる。
【００１２】
ビデオモニター、複数のコンソールデバイス及び一つ以上の周辺デバイスを、複数のコンピュータシステムのいずれかにおいて共有するための信号スイッチを開示するものであり、このスイッチは、信号スイッチを管理する管理プログラムを記憶する第１メモリを有するＣＰＵと、ＣＰＵに接続されて、複数のコンピュータシステムのいずれか及び一つ以上の周辺デバイスと通信することにより、ハブスイッチモジュールから一つ以上の周辺デバイスに渡される信号によりコンピュータからの操作をエミュレートするように構成されるハブスイッチモジュールと、ビデオモニター及び複数のコンソールデバイスをエミュレートする、ＣＰＵ及びハブスイッチモジュールに接続されたデバイス制御モジュールと、ＣＰＵに接続され、複数のコンソールデバイスと通信するように構成される主制御モジュールと、ＣＰＵに接続され、ビデオモニターデバイスと通信するように構成されるビデオ制御モジュールと、を備える。
【００１３】
別の実施形態においては、信号スイッチはさらにＣＰＵ及びビデオ制御モジュールに接続されるＯＳＤ制御デバイスを備える。
【００１４】
好適な実施形態においては、主制御モジュールはルートハブを含み、複数のコンソールデバイス及び一つ以上の周辺デバイスはＵＳＢ規格に準拠し、そしてコンソールデバイスは産業標準仕様に準拠する。
【００１５】
ビデオモニター、産業標準に準拠した複数のコンソールデバイス及び一つ以上の周辺デバイスを信号スイッチを通して複数のコンピュータシステムのいずれかにおいて共有する方法を開示する。この方法は、信号スイッチを初期化し、産業標準に従ってコンソールデバイスの内の一つ以上をエミュレートし、ルートハブのポートの各々を調べ、ダウンストリームポートが在るかどうかを判断し、そしてダウンストリームポートが在る場合にダウンストリームポートの各々を調べ、複数のコンソールデバイスの内のいずれかがルートハブ、またはいずれかのダウンストリームポートに接続されているかを判断し、そして接続されていると判断された場合に、接続されているデバイスの各々を調べ、接続されているデバイスのいずれかが産業標準に準拠しているかを判断し、接続されている準拠デバイスの各々を調べ、そしてそのようなデバイスからの全てのデータを分析し、そして複数のコンソールデバイスの内のいずれか、一つ以上の周辺デバイスのいずれか、またはいずれかのダウンストリームポートが新規接続状態または非接続状態にあったかを判断するためにポーリングを繰り返し、そしてそれらが新規接続状態または非接続状態にあった場合に制御をリセットすることを含む。
【００１６】
一の好適な実施形態においては、管理プログラムは信号スイッチを管理する工程及び上述の方法を備える。
【００１７】
一つ以上のコンソールデバイス及び一つ以上の周辺デバイスを複数のコンピュータシステムのいずれかにおいて共有するための信号スイッチについて開示する。このスイッチは、一つ以上のコンソールデバイスから選択されたコンソールデバイスを複数のコンピュータシステムから選択された第１のコンピュータシステムに接続する第１チャネルと、選択された第１のコンピュータシステムを一つ以上の周辺デバイスから選択された周辺デバイスに接続し、選択された第１のコンピュータシステムと選択された周辺デバイスとの間でのデータフローを有する第２チャネルと、選択されたコンソールデバイスを複数のコンピュータシステムから選択された第２のコンピュータシステムに接続する第３チャネルと、選択された第１のコンピュータシステムと選択された周辺デバイスとの間の第２チャネルを通過するデータフローを妨害することなく、選択されたコンソールデバイスを第１チャネルと第３チャネルとの間で切り替える手段と、を備える。
【実施例】
【００１８】
本発明のこれらの他の特徴、態様及び利点は、以下の記載、請求の範囲及び添付図面を参照することによりさらに深く理解され得るものと考える。
【００１９】
本発明は一つ以上のビデオモニター、キーボード、マウス及び周辺デバイスを共有する信号スイッチを目的とする。本発明の信号スイッチはＫＶＭ（キーボード・ビデオ・マウス）スイッチ及び周辺機器共有スイッチの組み合わせである。ＫＶＭスイッチは本開示を参照すれば明らかなようにこの技術分野では良く知られているところである。本発明による信号スイッチによりこのスイッチに接続される全てのコンピュータがこのスイッチに接続される全てのＵＳＢ周辺デバイスを共有することができる。
【００２０】
信号スイッチは、ＫＶＭチャネル及び周辺機器チャネルを共通のコンピュータまたは種々のコンピュータに非同期で、または同期して切り替えることができる。換言すると、ＫＶＭチャネル及び周辺機器チャネルを一緒に（同期して）切り替える、または別々に（非同期に）切り替えることができる。
【００２１】
本発明では、ＵＳＢエミュレーションプログラムを利用して、ＨＩＤ（ヒューマンインターフェイスデバイス）仕様をエミュレートすることによりスイッチがＰＣのＵＳＢポートと通信することが可能になり、またＵＳＢホストエミュレーションプログラムを通して、スイッチがＵＳＢキーボード、ＵＳＢマウス及びＵＳＢハブのようなＵＳＢデバイスと通信することが可能になる。換言すれば、エミュレーションを使用することによりスイッチが周辺デバイスに対してコンピュータのように機能し、そしてスイッチが複数のＵＳＢデバイスまたは複数のＵＳＢ対応ＰＣと同時に通信することが可能になる。
【００２２】
一の実施形態を現在のＨＩＤ仕様を参照して記載するが、この技術分野の当業者であれば本開示を参照することにより、本発明がデバイスとの接続を行なうためにいずれの仕様によっても実施し得ることが理解できるであろう。
【００２３】
図１は本発明が使用される多くの方法の内の一つを示している。簡単な構成では、本発明による信号スイッチ１０によりユーザは１２（第１コンピュータ１２１及び第２コンピュータ１２２により示される）及びＵＳＢ対応周辺機器２０（第１プリンタ２２により示される）を、モニター１４、第１キーボード１６及び第１マウス１８によって制御することができる。本実施例においては、周辺第１プリンタ２２は、モニター１４、第１キーボード１６及び第１マウス１８がコンピュータ１２２を制御している間においてもコンピュータ１２１により制御し続けることができる。これは、スイッチ１０が、モニター１４、第１キーボード１６及び第１マウス１８を第１コンピュータ１２１に接続する第１チャネル（図示せず）とモニター１４、第１キーボード１６及び第１マウス１８を第２コンピュータ１２２に接続する第３チャネル（図示せず）との間で切り替わり、その間、第１コンピュータ１２１を第１プリンタ２２に接続する第２チャネル（図示せず）を維持することができて、第１コンピュータ１２１と第１プリンタ２２との間の第１データフローが妨害されないようにしているからである。
【００２４】
図２を参照すると、ユーザがさらに多くのコンピュータシステム（第１コンピュータ１２１、第２コンピュータ１２２、第３コンピュータ１２３及び第４コンピュータ１２４により示される）及びＵＳＢ対応周辺機器２０を、モニター１４、第１キーボード１６及び第１マウス１８によって制御することができるよりローバストな使用方法が示されている。本発明において、信号スイッチ１０にも接続される一つ以上のＵＳＢハブ２４を備えることができ、このハブは次いでスキャナー２４１のような一つ以上のさらに別の周辺機器、または一つ以上のダウンストリームハブ２４２と接続することができ、このダウンストリームハブは次いで第２プリンタ２４２１のような一つ以上の周辺機器に接続できる。従って、ハブ／周辺機器のどのような構成のツリーも信号スイッチ１０に接続することができ、このようにすることによりこのツリーを単一セットのモニター１４、第１キーボード１６及び第１マウス１８の管理を通して一つ以上のコンピュータシステム１２により同期して、または非同期で制御することができることがわかる。
【００２５】
このように、例えば第１コンピュータ１２１と第１プリンタ２２との間の第１データフロー、第３コンピュータ１２３とスキャナー２４１との間の第２データフロー、及び第４コンピュータ１２４と第２プリンタ２４２１との間の第３データフローの全てが妨害されることなく維持することができ、この間、キーボード１６及びマウス１８、及び任意選択のモニター１４をコンピュータシステム１２間で切り替えることができる。
【００２６】
本発明との接続が可能な周辺デバイスは、限定されないが、ＵＳＢハブ、プリンタ、スキャナー及びカメラを含む。周辺機器には他の例があることをこの技術分野の当業者であれば本開示を参照することにより理解できるであろう。
【００２７】
図３を参照すると、本発明のさらに別の使用方法では、例えば第２キーボード１６１、第３キーボード１６２、第２マウス１８１、第３マウス１８２、第１複合ＫＭデバイス１９１及び第２複合ＫＭデバイス１９２のような複数のＫＭデバイスを接続することが可能である。好ましくは、信号スイッチは普通２つのＵＳＢコンソールポートだけを備えるので、第１ダウンストリームハブ１７１及び第２ダウンストリームハブ１７２のような一つ以上のダウンストリームハブを接続することができ、これらのハブに一つ以上のＫＭデバイスを接続することができる。
【００２８】
図４を参照すると、信号スイッチ１０は信号スイッチ１０を管理する中央処理装置（「ＣＰＵ」）３０を備えている。ＵＳＢハブスイッチモジュール３２をＣＰＵ３０に接続し、第１出力ポート３４を通して複数のコンピュータシステム１２と通信が可能となるように構成する。ＵＳＢハブスイッチモジュール３２はまた、出力ポート３６を通して周辺デバイス２０と通信が可能となるように構成される。図４において、第１出力ポート３４とＵＳＢハブスイッチモジュール３２との間に４本の接続が示されているが、これは単なる例示に過ぎない。接続の本数は、構成する信号スイッチ１０の接続対象となるコンピュータシステム１２の数に等しくなるようにする。
【００２９】
同様に図４において、第２出力ポート３６とＵＳＢハブスイッチモジュール３２との間に２本の接続が示されているが、これは単なる例示に過ぎない。接続の本数は構成する信号スイッチ１０の接続対象となる周辺出力ポートの数に等しくなるようにする。
【００３０】
ＵＳＢハブスイッチモジュール３２は周辺デバイス２０とコンピュータシステム１２との間のブリッジであり、このモジュールにより信号スイッチ１０は複数のコンピュータシステムの各々を一つ以上の周辺デバイスに接続することができる。ＵＳＢハブスイッチモジュールとして適切な回路の構成は、本開示を参照すればわかるようにこの技術分野では公知である。一の好適な実施形態においては、ＵＳＢハブスイッチモジュールは４つのＵＳＢハブ、及びＣＰＵファームウェアにより制御されるマトリクス構造のアナログスイッチを含む。Ｔｅｘａｓ  Ｉｎｓｔｒｕｍｅｎｔｓ（登録商標）はこのモジュールに適したＵＳＢハブチップを製造し、このモジュールは特定用途向け集積回路（ＡＳＩＣ）設計手法を使用して構成することができる。
【００３１】
信号制御用のＵＳＢデバイス制御モジュール３８はＣＰＵ３０及びＵＳＢハブスイッチモジュール３２に接続される。ＵＳＢデバイス制御モジュール３８はＵＳＢデバイスチップを備え、これらのチップを使用して第１キーボード１６及び第１マウス１８のようなコンソールデバイスをエミュレートして第１出力ポート３４に接続する。換言すれば、ＵＳＢデバイスチップに第１コンピュータシステムに取り付けられているコンソールデバイスをエミュレートさせることにより、実際のコンソールデバイスを第２または異なるコンピュータシステムに切り替え、その結果、第１コンピュータシステムとそれに接続される周辺機器との間の全てのチャネルをそのまま維持し、そのようなチャネルのデータフローが妨害されず、そして第１コンピュータシステムは実際にはエミュレートされてしまっているコンソールデバイスが依然として接続されているかのように処理を続行することができる。これらのチップはＣＰＵ３０ファームウェアにより制御される。一のデバイスチップが各コンピュータシステム１２に必要となる。ＵＳＢデバイス制御モジュールとして適切な回路の構成は、本開示を参照すればわかるようにこの技術分野では公知である。
【００３２】
図４において、ＵＳＢデバイス制御モジュール３８とＵＳＢハブスイッチモジュール３２との間に４本の接続が示されているが、これは単なる例示に過ぎない。接続の本数は構成する信号スイッチ１０の接続対象となるコンピュータシステム１２の数に等しくなるようにする。一の好適な実施形態においては、ＵＳＢデバイス制御モジュールは４つのＵＳＢデバイスチップを含み、これらのチップもまたＣＰＵファームウェアにより制御される。Ｐｈｉｌｉｐｓ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒｓ（登録商標）はこのモジュールでの使用に適したチップを製造し、このモジュールは特定用途向け集積回路（ＡＳＩＣ）設計手法を使用して構成することができる。
【００３３】
図４を参照すると、ＣＰＵ３０は第１メモリ４０を備え、このメモリに管理プログラム４２を記憶して信号スイッチ１０の動作を管理する。本発明での使用に適した管理プログラム４２の一部の機能に関するフローチャートを図５に示し、以下に記載する。
【００３４】
ＵＳＢ主制御モジュール４４は複数のコンソールデバイスと通信するように構成され、そしてＣＰＵ３０に接続される。ＵＳＢ主制御モジュールとして適切な回路の構成は、本開示を参照すればわかるようにこの技術分野では公知である。ＵＳＢ主制御モジュール４４はそれ自体がルートハブ４６を備え、このハブにより第３出力ポート４８を通して一つ以上のコンソールデバイスまたはダウンストリームハブと通信する。ルートハブはＵＳＢ対応ハブであり、本開示を参照すればわかるようにこの技術分野では公知である。
【００３５】
図３に示すように、第１ダウンストリームハブ１７１及び第２ダウンストリームハブ１７２のような一つ以上のダウンストリームハブが信号スイッチ１０に接続され、第３出力ポート４８の内の一つを通してルートハブ４６と通信する。もっと多くのダウンストリームハブを追加することにより最大１２７のデバイスまでデイジーチェーン接続することが可能である。
【００３６】
通常、第３出力ポート４８は２つの物理ポートを備える。任意選択であるが、異なる実施形態においては、内部コンソールＵＳＢハブ（図示せず）をさらにルートハブ４６に接続してコンソールデバイスの接続に利用できる第３出力ポート４８の数を増やすことができる。ＣＰＵ３０ファームウェアはハブ機能を処理することができる。本明細書に開示する方法に従ってＣＰＵを動作させるのに適したファームウェアの構成は、本開示を参照すればわかるようにこの技術分野では公知である。
【００３７】
任意選択のビデオ／パネル制御デバイスモジュール５０をＣＰＵ３０に接続して、光パネル、ＬＥＤ、ボタン、ビデオ制御スイッチのような種々の任意選択のパネル表示デバイス５４（破線で示す）または他の任意選択のパネルデバイスと通信させる。オンスクリーンディスプレイ（「ＯＳＤ」）機能を備えている場合、任意選択のＯＳＤ制御デバイスモジュール５６（破線で示す）をＣＰＵ３０及びビデオ／パネル制御デバイスモジュール５０に接続して、外部モニター１４に入力される信号を第４出力ポート５２を通して制御及び調整する。ビデオ／パネル制御デバイスモジュールまたは任意選択のＯＳＤ制御デバイスモジュールとして使用するのに適した回路の構成は、本開示を参照すればわかるようにこの技術分野では公知である。
【００３８】
図５を参照すると、本発明に使用するのに適した管理プログラム４２の一部のプロセスが次のように行なわれることがわかる。ステップ２１０で信号スイッチ１０は初期化される。ステップ２１２でルートハブ４６の各々が調べられ、ルートハブ４６からの全てのルートハブメッセージが保存される。ステップ２１４では、ルートハブ４６に接続されているデバイスの有無が判断される。デバイスがルートハブ４６に接続されていると判断されると、プログラムプロセスはステップ２１６に進み、そうでなければプロセスはステップ２２６に進む。
【００３９】
ルートハブ４６に接続されていると判断されたデバイスの各々はステップ２１６で調べられ、ルートハブ４６に接続されていると判断されたＵＳＢデバイスからのデバイスメッセージを分析して適切なメモリに保存する。
【００４０】
次にステップ２１８で、ルートハブ４６に接続されるダウンストリームハブの有無が判断される。ルートハブ４６に接続されるダウンストリームハブが無いと判断される場合、プロセスはステップ２２８に進む。ダウンストリームハブが検出される場合、プロセスはステップ２２０に進む。ルートハブ４６に接続されていると判断されたダウンストリームハブの各々はステップ２２０で調べられ、そしてハブのダウンストリームポートステータスを受信する。次にプロセスはステップ２２２に進む。
【００４１】
ステップ２２２で、ダウンストリームハブのポートに接続されているデバイスの有無を判断する。ダウンストリームハブのポートにデバイスが接続されていないと判断される場合、プロセスはステップ２２８に進む。ステップ２２２でダウンストリームハブのポートにデバイスが接続されていると判断される場合、プロセスはステップ２２４に進み、そこでそのようなデバイスの各々が調べられ、そして接続中のデバイスからのメッセージを分析して適切なメモリに保存する。次にプロセスはステップ２２８に進む。
【００４２】
ステップ２２８で、接続されているデバイスがＨＩＤキーボードまたはマウスまたは他のＨＩＤ準拠デバイスであるかどうかが判断される。本開示を参照することによりこの技術分野の当業者には明らかになるように、このステップでは任意の所望の産業標準またはデバイスクラスに準拠しているかをテストできる。接続されているデバイスがそのようなデバイスではない場合、プロセスはエラープロセスであるステップ２３２に進み、その結果ステップ２４０で主制御ＲＡＭをリセットすることになる。接続されているデバイスが準拠していると判断される場合、次のステップ２３０で、接続されているそのようなデバイスの各々を調べて、その報告データを分析する。準拠テストを行なうのは、スイッチが今まで、産業標準デバイスクラスに準拠する或るコンソールデバイスをエミュレートするように構成されてきたからである。
【００４３】
次に制御操作はステップ２２６に進み、そこでハブスイッチモジュール３２がポーリングされる。任意選択のステップ２３４で任意のパネル回路またはＬＥＤ回路がポーリングされる。ステップ２３８で、非接続状態または新規接続状態のダウンストリームポートの有無が判断される。ダウンストリームポートが非接続状態または新規接続状態にある場合、プロセスはステップ２４０に進み、そこで主制御ＲＡＭがリセットされる。ステップ２４０で主制御ＲＡＭをリセットした後、プロセスはステップ２１２に戻る。ダウンストリームポートが無い場合、プロセスはステップ２４２に進み、そこでＫＶＭデバイスがポーリングされ、そしてプロセスはステップ２３４に戻る。
【００４４】
ファームウェアはＵＳＢコンソールデバイスエミュレーション及びＰＣコンソールデバイスエミュレーションを制御する。本発明はＵＳＢ周辺機器と、それにリンクされるＰＣとの間のパスまたはチャネルを生成し、このパスまたはチャネルは規格に準拠したＫＭデバイスとＰＣとの間のチャネル切替えによる妨害を受けないのでＵＳＢ周辺機器を制御する必要がない。
【００４５】
本開示を参照するこの技術分野の当業者は、ヒューマンインターフェイスデバイス（ＨＩＤ）仕様に準拠することにより本発明に使用するのに適したＵＳＢエミュレーションプログラムを構成することができる。ＨＩＤ仕様はＨＩＤ準拠ＵＳＢデバイス用の擬似言語を定義してホストにどのようにしてホストが受信するデータを変換すべきかを示唆する。この擬似言語はフレキシブルであるので多くの方法で機能の同じ部分を記述することができる。本発明は、ホストが標準準拠デバイスから受信するデータをどのようにして変換すべきかをホストに示唆する手順を定義している他の産業標準仕様と一緒に使用することができる。
【００４６】
現在、ヒューマンインターフェイスデバイス（ＨＩＤ）ファームウェア仕様のデバイスクラス定義（６／２７／０１バージョン１．１１）は、http://www.usb.org/developers/data/devclass/HID1_11.pdfから入手することができ、このサイトの内容は本明細書の開示に含まれる。この仕様及び他のＨＩＤ関連情報の最新バージョンがhttp://www.usb.org/developers/hidpage.htmlに掲載されている。
【００４７】
コンピュータアクセステクノロジー社（Ｃｏｍｐｕｔｅｒ  Ａｃｃｅｓｓ  Ｔｅｃｈｎｏｌｏｇｙ  Ｃｏｒｐ．）から現在入手可能なもの等のバスアナライザを使用すれば、ＵＳＢバス読み出しを行い、キーボード及びマウスからのデータパケットを分析することができる。ＨＩＤ仕様によりパケットの意味を解釈することができる。全てのコンソールデバイスがＨＩＤ仕様、または将来の或る標準仕様に準拠していると仮定すると、このようなＨＩＤまたは標準準拠デバイスをエミュレートするだけで済む。
【００４８】
好適な実施形態においては、ＵＳＢハブスイッチ制御、ＵＳＢデバイスチップ制御（デバイスエミュレーション）及びコンソールデバイスエミュレーション（ホストエミュレーション）を含む全体のシステムプログラムはすべてＣＰＵチップ（フラッシュＲＯＭまたはＰＲＯＭ）に構築される。当業者は、本開示及びそれに続く基準仕様を参照することにより、スイッチを周辺デバイスに対してＰＣのように機能させるのに適したＵＳＢエミュレーションプログラムを書き込むことができ、スイッチが複数のＵＳＢデバイスまたは複数のＵＳＢ  ＰＣと同時に通信することを可能にすると考えられる。
【００４９】
上述した明細書において本発明を特定の実施形態を参照しながら記載した。しかしながら、種々の変形及び変更を本発明の広範な技術思想及び技術範囲から逸脱しない範囲で本発明に加え得ることは明らかであると考えられる。従って本明細書及び図面は限定的な意味合いで捉えられるべきではなく、例示として捉えられるべきものである。本発明がこのような実施形態により制限されるものと解釈されるべきではなく、請求の範囲に従って解釈されるべきものと考える。
【符号の説明】
【００５０】
１０  信号スイッチ
１２  複数のコンピュータシステム
１２１  第１コンピュータ
１２２  第２コンピュータ
１２３  第３コンピュータ
１２４  第４コンピュータ
１４  モニター
１６  第１キーボード
１６１  第２キーボード
１６２  第３キーボード
１７１  第１ダウンストリームハブ
１７２  第２ダウンストリームハブ
１８  第１マウス
１８１  第２マウス
１８２  第３マウス
１９１  第１複合ＫＭデバイス
１９２  第２複合ＫＭデバイス
２０  ＵＳＢ対応周辺機器
２２  第１プリンタ
２４  ＵＳＢハブ
２４１  スキャナー
２４２  ダウンストリームハブ
２４２１  第２プリンタ
３０  中央処理装置（ＣＰＵ）
３２  ＵＳＢハブスイッチモジュール
３４  第１出力ポート
３６  第２出力ポート
３８  ＵＳＢデバイス制御モジュール
４０  第１メモリ
４２  管理プログラム
４４  ＵＳＢ主制御モジュール
４６  ルートハブ
４８  第３出力ポート
５０  ビデオ／パネル制御デバイスモジュール
５２  第４出力ポート
５４  パネル表示デバイス
５６  ＯＳＤ制御デバイスモジュール
【図１】
2011014173.tif 000003
【図２】
2011014173.tif 000004
【図３】
2011014173.tif 000005
【図４】
2011014173.tif 000006
【図５】
2011014173.tif 000007