(57)【要約】【課題】ＵＳＢの接続先をＰＣのハングアップなしに迅速に切り替えることの可能なＵＳＢ切り替え器を提供する。【解決手段】ホストコントローラ１３は一組のキーボード３１及びマウス３２にＵＳＢを介して接続され、デバイスコントローラ２１、２２は通信回線を介してホストコントローラに、ＵＳＢを介してパーシナルコンピュータ２１、２２が接続される。切り替えスイッチ１０によりデバイスコントローラ中の一台とホストコントローラの間の通信を選択的に許容し、キーボード及びマウスと一台のパーシナルコンピュータとを選択的に接続する。【選択図】      図２
2004341692.tif 000002
【特許請求の範囲】
【請求項１】
一組の操作機器にＵＳＢを介して接続されるホストコントローラと、
前記ホストコントローラに通信回線を介して接続され、それぞれが複数台のパーソナルコンピュータにＵＳＢを介して接続される複数台のデバイスコントローラと、
前記複数台のデバイスコントローラ中の一台と前記ホストコントローラの間の通信を選択的に許容することにより前記一組の操作機器と前記複数のパーソナルコンピュータ中の一台を選択的に接続する切り替えスイッチを具備するＵＳＢ切り替え器。
【請求項２】
前記ホストコントローラに前記一組の操作機器が接続されたときに、前記一組の操作機器のデバイスディスクリプタを読み込んで記憶するデバイスディスクリプタ読み込み記憶手段を更に具備する請求項１に記載のＵＳＢ切り替え器。
【請求項３】
前記複数のデバイスコントローラのそれぞれが、
前記複数のデバイスコントローラのそれぞれに接続されたパーソナルコンピュータから送出されたコマンドが前記一組の操作機器にとって既知であるかを判定するコマンド判定手段と、
前記コマンド判定手段においてコマンドが前記一組の操作機器にとって既知であると判定されたときは、コマンドの実行が終了したことを直接当該パーソナルコンピュータに通知する直接終了通知手段を具備する請求項１又は２に記載のＵＳＢ切り替え器。
【請求項４】
前記複数のデバイスコントローラのそれぞれが、
前記複数のデバイスコントローラのそれぞれに接続されたパーソナルコンピュータから送出されたコマンドが前記一組の操作機器にとって既知であるかを判定するコマンド判定手段と、
前記コマンド判定手段においてコマンドが前記一組の操作機器にとって未知であると判定されたときは、前記ホストコントローラを介して当該コマンドを前記一組の操作機器に送出し、前記一組の操作機器が当該コマンドの実行を終了したときに当該パーソナルコンピュータに対してコマンドの実行が終了したことを通知する終了通知手段を具備する請求項１又は２に記載のＵＳＢ切り替え器。
【請求項５】
前記ホストコントローラが、
前記切り替えスイッチにより選択的に接続されていないパーソナルコンピュータから送出されたコマンドを記憶するコマンド記憶手段と、
前記切り替えスイッチにより当該パーソナルコンピュータが選択されたときに、前記コマンドを前記一組の操作機器に送出する記憶コマンド送出手段を具備する請求項１から４のいずれか一項に記載のＵＳＢ切り替え器。
【請求項６】
前記ホストコントローラが、
前記ホストコントローラと前記一組の操作機器との接続の切断を検知する切断検知手段と、
前記切断検知手段により切断が検知されたことを前記複数のデバイスコントローラのすべてに通知するホストコントローラ通知手段を具備し、
前記複数のデバイスコントローラのそれぞれが、
前記通知手段により切断が検知されたことが通知されたときに、前記複数のデバイスコントローラのそれぞれに接続されたパーソナルコンピュータに前記一組の操作機器の切断を通知するデバイスコントローラ通知手段を具備する請求項１から５のいずれか一項に記載のＵＳＢ切り替え器。
【請求項７】
前記複数のデバイスコントローラのそれぞれが、
前記通知手段により切断が検知されたことが通知されたときに、前記複数台のデバイスコントローラと対応するパーソナルコンピュータ間のエニュミレーションが完了していないときは、エニュミレーション完了までパーソナルコンピュータへの切断の通知を遅延させる遅延手段をさらに具備する請求項７に記載のＵＳＢ切り替え器。
【請求項８】
前記デバイスコントローラのそれぞれが、
前記デバイスコントローラのそれぞれに接続されたパーソナルコンピュータの電源が投入されているかを監視する電源監視手段を具備し、
前記ディスクリプタ記憶手段が、
前記電源監視手段により当該パーソナルコンピュータの電源が投入されていないと判断されたときにも、記憶しているデバイスディスクリプタを前記デバイスコントローラのそれぞれに送出するディスクリプタ送出手段を具備する請求項２に記載のＵＳＢ切り替え器。
【請求項９】
一組の操作機器以外のデバイスが前記ホストコントローラに接続されたときには、前記一組の操作機器以外のデバイスと切り替えスイッチにより選択されたデバイスコントローラに接続されたパーソナルコンピュータの間のＵＳＢを介してのデータ伝送を許容するデータ伝送手段をさらに具備する請求項１に記載のＵＳＢ切り替え器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一組の操作機器（一台のキーボードと一台のポインティングデバイス（例えばマウス））を複数台のコンピュータに選択的に接続する切り替え器に関し、特にＵＳＢ対応のキーボード及びポインティングデバイスを接続可能なＵＳＢ切り替え器に関する。
【０００２】
【従来の技術】
近年パーソナルコンピュータ（以下ＰＣと記す）の発展にともない、一人の使用者が複数台のコンピュータを使用する状況が存在する。
【０００３】
このような状況において、操作機器（キーボード及びポインティングデバイス）並びにディスプレイをコンピュータ毎に設置すると、広い設置場所が必要となるだけでなく、どの操作機器がどのコンピュータに接続されているかの判別が煩雑となる。
【０００４】
上記課題を解決するために、一組の操作機器を複数のＰＣ中の一台に選択的に接続する切り替え器を使用する場合がある（例えば特許文献１を参照）。
【０００５】
操作機器とＰＣの接続には、従来ＰＳ／２（登録商標）が使用されていたが、近年汎用性に優れたＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）が使用されるようになってきている。
【０００６】
ＵＳＢは四本の電線を使用し、二本で電力（＋５Ｖ及びＧＮＤ）を供給し、残りの二本でデータを差動伝送する。
【０００７】
即ち、ＵＳＢの接続先を変更するには、四本の電線を機械式あるいは電子式スイッチで切り替える必要がある。
【０００８】
【特許文献１】
特開２００２−１６９６３２（［０００５］、図８）
【０００９】
【発明が解決しようとする課題】
しかしながら、ＵＳＢはＰＣの電源が入ったまま操作機器の抜き差しを可能とするために、ＵＳＢにデバイスが接続されたことをＰＣが認識した後に操作機器のドライバをインストールしている。
【００１０】
ここで、本明細書においては、デバイスは一組の操作機器を含む周辺機器（ＦＤＤ、ＨＤＤ、ＵＳＢメモリ等）を指す。
【００１１】
このため、操作機器ドライバのインストール中に切り替えが行われた場合にはＰＣがハングアップするばかりでなく、操作機器ドライバのインストール完了後でなければ操作機器の操作ができず、インストール完了までに数十秒待たなければならない場合もあるという課題があった。
【００１２】
本発明は上記課題に鑑みなされたものであって、ＵＳＢの接続先をＰＣのハングアップなしに迅速に切り替えることの可能なＵＳＢ切り替え器を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明に係るＵＳＢ切り替え器は、一組の操作機器にＵＳＢを介して接続されるホストコントローラと、ホストコントローラに通信回線を介して接続されそれぞれがＵＳＢを介して複数台のパーソナルコンピュータに接続される複数台のデバイスコントローラと、複数台のデバイスコントローラ中の一台とホストコントローラの間の通信を選択的に許容することにより一組の操作機器と複数のパーソナルコンピュータ中の一台を選択的に接続する切り替えスイッチを具備する。
【００１４】
本発明にあっては、一組の操作機器に対してはホストコントローラが擬似パーソナルコンピュータとして作用し、複数台のパーソナルコンピュータに対しては対応するデバイスコントローラが擬似操作機器として作用し、ホストコントローラと複数台のデバイスコントローラ中の一台との間の通信を選択的に許容することにより一組の操作機器と一台のパーソナルコンピュータがＵＳＢにより接続される。
【００１５】
【発明の実施の形態】
図１は本発明に係るＵＳＢ切り替え器を使用したＰＣシステムの構成図であって、二台のＰＣを一組の操作機器と一組の表示装置を使用して操作する例を示す。なお、ＰＣの台数は二台に限定されず、ＰＣは三台以上であってもよい。
【００１６】
即ち、ＵＳＢ切り替え器１のＰＣ接続端子には、二台のＰＣ２１及び２２の操作機器ケーブル２１１及び２２１、並びに表示装置ケーブル２１２／２２２が接続される。
【００１７】
さらに、ＵＳＢ切り替え器１の操作機器接続端子には、キーボード３１、マウス３２及び表示装置３３が接続されている。
【００１８】
切り替え器には、オルタネート型の切り替えスイッチ１０が装備されており、切り替えスイッチ１０により第一のＰＣ２１を選択すると、キーボード３１、マウス３２及び表示装置３３は第一のＰＣ２１と接続され、キーボード３１、マウス３２及び表示装置３３により第一のＰＣ２１を操作することが可能となる。
【００１９】
切り替えスイッチ１０により第二のＰＣ２２を選択すると、キーボード３１、マウス３２及び表示装置３３は第二のＰＣ２２と接続され、キーボード３１、マウス３２及び表示装置３３により第二のＰＣ２２を操作することが可能となる。
【００２０】
図２は本発明に係るＵＳＢ切り替え器の構成図であるが、この構成図では表示装置部分を省略している。
【００２１】
即ち、本発明に係るＵＳＢ切り替え器１は、切り替えスイッチ１０、二台のデバイスコントローラ１１及び１２、並びに一台のホストコントローラ１３を具備する。
【００２２】
二台のデバイスコントローラ１１及び１２は同一の構成を有するマイクロコンピュータシステムであり、バス１１０（１２０）を中心として、ＣＰＵ１１１（１１２）、メモリ１１２（１２２）、端末インターフェイス（Ｉ／Ｆ）１１３（１２３）、通信Ｉ／Ｆ１１４（１２４）、及びディジタルインターフェイス（ＤＩ／Ｆ）１１５（１２５）から構成される。
【００２３】
ホストコントローラ１３もマイクロコンピュータシステムであり、バス１３０を中心として、ＣＰＵ１３１、メモリ１３２、二台の通信Ｉ／Ｆ１３３及び１３４、並びにＰＣＩ／Ｆ１３５から構成される。
【００２４】
そして、第一のデバイスコントローラ１１の通信Ｉ／Ｆ１１４とホストコントローラ１３の第一の通信Ｉ／Ｆ１３３の間、及び第二のデバイスコントローラ１２の通信Ｉ／Ｆ１２４とホストコントローラ１３の第二の通信Ｉ／Ｆ１３４の間は、適当な通信回線１４１及び１４２でそれぞれ接続される。
【００２５】
第一のデバイスコントローラ１１のＤＩ／Ｆ１１５及び第二のデバイスコントローラ１１のＤＩ／Ｆ１２５は、切り替えスイッチ１０に接続される。
【００２６】
第一のデバイスコントローラ１１の端末Ｉ／Ｆ１１３には第一のＰＣ２１が、第二のデバイスコントローラ１２の端末Ｉ／Ｆ１２３には第二のＰＣ２２が接続される。
【００２７】
即ち、第一のデバイスコントローラ１１は第一のＰＣ２１の擬似操作機器として、第二のデバイスコントローラ１２は第二のＰＣ２２の擬似操作機器として機能する。
【００２８】
また、ホストコントローラ１３のＰＣＩ／Ｆ１３５には、キーボード３１及びマウス３２が接続される。
【００２９】
即ち、ホストコントローラ１３はキーボード３１及びマウス３２の模擬ホストコンピュータとして機能する。
【００３０】
図３はデバイス接続時の動作説明図であって、切り替えスイッチにより選択されたＰＣ、デバイスコントローラ、ホストコントローラ及びデバイスの動作を示す。
【００３１】
デバイス、例えばキーボード３１（又はマウス３２）が切り替え器１のホストコントローラ１３のＰＣＩ／Ｆ１３５に接続されると、ホストコントローラ１３はステップ３０１においてデバイス接続検知を開始し、ステップ３０２でキーボード３１からデバイスディスクリプタの読み取りを開始する。
【００３２】
キーボード３１がステップ３０３においてデバイスディスクリプタを送出すると、ホストコントローラ１３はステップ３０４においてメモリ１３２にデバイスディスクリプタを記憶する。
【００３３】
その後、ホストコントローラ１３はステップ３０５においてデバイスを検出したことを選択されたＰＣに対応するデバイスコントローラ１１（又は１２）に通信回線１４１（又は１４２）を介して送信する。
【００３４】
デバイスコントローラ１１（又は１２）はステップ３０６において端末Ｉ／Ｆ１１３（又は１２３）を介してＰＣ２１（又は２２）にＵＳＢデバイスの検出を通知し、ＰＣ２１（又は２２）はステップ３０７においてキーボードが接続されたことを認知する。
【００３５】
図４はデバイス接続時の動作説明図であって、デバイスが切り替え器１のホストコントローラ１３のＰＣＩ／Ｆ１３５から切り離されると、ホストコントローラ１３はステップ４０１においてデバイス切り離しを検知し、ステップ４０２でデバイスが切り離されたことを選択されたＰＣに対応するデバイスコントローラ１１（又は１２）に通信回線１４１（又は１４２）を介して送信する。
【００３６】
デバイスコントローラ１１（又は１２）はステップ４０３において端末Ｉ／Ｆ１１３（又は１２３）を介してＰＣ２１（又は２２）にデバイスの切り離しを通知し、ＰＣ２１（又は２２）はステップ４０４においてキーボードが切り離されたことを認知する。
【００３７】
図５はデバイスディスクリプタ読み出し時の動作説明図であって、ＰＣはデバイスの接続を認知した後にデバイスディスクリプタの読み出しを実行する。
【００３８】
ステップ５０１でＰＣがディスクリプタの読み出しを開始すると、ステップ５０２でデバイスコントローラは既にデバイスを検知済みであるかを判定する。
【００３９】
ステップ５０２で否定判定されたとき、即ちデバイスが検知されていないときは、ステップ５０３でデバイスコントローラからＰＣにデバイス非接続情報を送出し、ステップ５０４でＰＣはデバイスが接続されていないことを認識する。
【００４０】
ステップ５０２で肯定判定されたとき、即ちデバイスが検知されているときは、ステップ５０５においてホストコントローラはメモリに記憶しているデバイスディスクリプタを読み出し、ステップ５０６においてホストコントローラからデバイスコントローラを介してＰＣにデバイスディスクリプタを送出し、ステップ５０７においてＰＣはデバイスディスクリプタを読み込む。
【００４１】
なお、本実施例においては、デバイスディスクリプタはホストコントローラのメモリに記憶されているものとしているが、デバイスディスクリプタはデバイスコントローラに記憶されていても、さらには図２には図示されていないデバイスコントローラ及びホストコントローラが共通にアクセス可能なメモリに記憶されていてもよい。
【００４２】
さらに、各デバイスコントローラは対応するＰＣの電源が投入されているかを監視する電源監視機能を具備していてもよく、この電源監視機能により対応するＰＣの電源が投入されていないと判断された場合にも他のＰＣあるいはＵＳＢ切り替え器に内蔵される電源から供給される電力によりホストコントローラからデバイスディスクリプタを読み込むようにすることも可能である。
【００４３】
図６及び図７はコマンド実行時の動作説明図であって、ステップ６０１においてＰＣがコマンド（例えばキーボードのＬＥＤ点灯コマンド）を送出すると、ステップ６０２でデバイスコントローラは既にデバイスを検知済みであるかを判定する。
【００４４】
ステップ６０２で否定判定されたとき、即ちデバイスが検知されていないときは、ステップ６０３でデバイスコントローラからＰＣにデバイス非接続情報を送出し、ステップ６０４でＰＣはデバイスが接続されていないことを認識する。
【００４５】
ステップ６０２で肯定判定されたとき、即ちデバイスが検知されているときは、ステップ６０５でコマンドを解析し、ステップ６０６でこのコマンドが操作機器にとって既知のコマンドであるかを判定する。
【００４６】
ステップ６０６で肯定判定されたとき、即ちコマンドが操作機器にとって既知のコマンドであるときは、ステップ６０７でデバイスコントローラからＰＣにコマンドに対するデバイスの応答を送出し、ステップ６０８でＰＣはこの応答を認識する。
【００４７】
ステップ６０９においてデバイスコントローラはホストコントローラにデバイス設定コマンドを送出し、ステップ６１０でホストコントローラはデバイス設定コマンドを記憶する。
【００４８】
ステップ６１１でホストコントローラがデバイス設定コマンドをデバイスに送出すると、ステップ６１２でデバイスはこのコマンドを実行し、ステップ６１３でコマンド実行が終了した旨をホストコントローラに通知し、ステップ６１４でホストコントローラはこの旨を認識する。
【００４９】
逆にステップ６０６で否定判定されたとき、即ちコマンドが操作機器にとって未知のコマンドであるときは、ステップ６１５（図７）で当該デバイスコントローラが選択されているかを判定する。
【００５０】
ステップ６１５で否定判定されたとき、即ち当該デバイスコントローラが選択されていないときは、ステップ６１６でデバイスコントローラからＰＣにデバイス非接続情報を送出し、ステップ６１７でＰＣはデバイスが接続されていないことを認識する。
【００５１】
ステップ６１５で肯定判定されたとき、即ち当該デバイスコントローラが選択されているときは、ステップ６１８においてデバイスコントローラはホストコントローラにコマンドを送出する。
【００５２】
ステップ６１９においてホストコントローラはデバイスを受信してメモリに記憶した後、ステップ６２０においてデバイスにコマンドを送出する。
【００５３】
ステップ６２１においてデバイスはコマンドを実行し、ステップ６２２においてコマンド実行終了をホストコントローラに通知し、ステップ６２３においてホストコントローラはコマンドの実行が終了したことを認識する。
【００５４】
図８はＵＳＢ切り替え時の動作説明図であって、ＵＳＢ切り替え器に設置される切り替えスイッチ１０により操作機器と接続されるＰＣを切り替えた場合の動作を説明する。
【００５５】
即ち、ステップ８０１において切り替えスイッチ１０が操作された時は、ステップ８０２において非選択側のデバイスコントローラは切り離されたデバイスが操作機器（キーボード又はマウス）であるかを判定であるかを判定する。
【００５６】
ステップ８０２で肯定判定されたとき、即ち切り離されたデバイスが操作機器であるときは、特に処理は実行されない。
【００５７】
ステップ８０２で否定判定されたとき、即ち切り離されたデバイスが操作機器でないときは、ステップ８０３においてデバイスコントローラはＰＣに対してデバイス切り離しを通知し、ステップ８０４においてＰＣはデバイスの切り離しを認知する。
【００５８】
また、ステップ８０１において切り替えスイッチ１０が操作されたときは、ホストコントローラはステップ８０５において切り離されたデバイスが操作機器（キーボード又はマウス）であるかを判定であるかを判定する。
【００５９】
ステップ８０５で肯定判定されたとき、即ち切り離されたデバイスが操作機器であるときは、ステップ８０６においてホストコントローラはデバイスに対してリセット信号を送出し、ステップ８０７においてデバイスは自身をリセットする。
【００６０】
ステップ８０８においてデバイスはリセット完了を通知し、ステップ８０９においてホストコントローラはデバイスリセットをデバイスコントローラに通知する。
【００６１】
ステップ８１０で新たに選択されたデバイスコントローラはＰＣにデバイス接続検出を通知し、ステップ８１１で新たにデバイスと接続されたＰＣはデバイスが接続されたことを認知する。
【００６２】
次にステップ８１２（図９）で新たに選択されたＰＣから既に送出されていたコマンドがある場合はそのコマンドを読み出してデバイスに送出する。
【００６３】
ステップ８１３においてデバイスがコマンドを実行し、ステップ８１４でコマンド実行をホストコントローラに通知する。
【００６４】
ステップ８１５でホストコントローラはコマンド実行が終了したことを認知し、ステップ８１６において新たに選択されたデバイスコントローラはデバイスとの通信を開始する。
【００６５】
図１０はデバイスとＰＣ間のデータ通信時の動作説明図であって、ＰＣはデバイスコントローラに対してポーリングを行い、ホストコントローラはデバイスに対してポーリングを行う。
【００６６】
即ち、デバイスからデータが送信されていない場合は、ＰＣのポーリングに対しデバイスコントローラはＮＡＫを返送し、ホストコントローラのポーリングに対しデバイスはＮＡＫを返送する。
【００６７】
デバイスにデータが設定されると、デバイスはホストコントローラのポーリングに応答して、ホストコントローラにデータを送信する。
【００６８】
すると、ホストコントローラはデバイスコントローラにデータを送信し、デバイスコントローラはＰＣのポーリングに応答してＰＣにデータを送信し、ＰＣはそのデータを受信する。
【００６９】
なお、選択されていないＰＣはデバイスコントローラに対してポーリングを行うが、デバイスコントローラはデバイスからのデータを受信しないので、デバイスコントローラはＰＣにＮＡＫを返送する。
【００７０】
【発明の効果】
本発明に係るＵＳＢ切り替え器によれば、ＵＳＢを機械的に接断せず、ＰＣを模擬デバイスに、デバイスを模擬ＰＣに接続したままＵＳＢの物理的な接続先を切り替えることにより、ＰＣのハングアップなしに迅速にＵＳＢの接続先を切り替えることが可能となる。
【図面の簡単な説明】
【図１】本発明に係るＵＳＢ切り替え器を使用したＰＣシステムの構成図である。
【図２】本発明に係るＵＳＢ切り替え器の構成図である。
【図３】デバイス接続時の動作説明図である。
【図４】デバイス切り離し時の動作説明図である。
【図５】デバイスディスクリプタ読み出し時の動作説明図である。
【図６】コマンド実行時の動作説明図（１／２）である。
【図７】コマンド実行時の動作説明図（２／２）である。
【図８】ＵＳＢ切り替え時の動作説明図（１／２）である。
【図９】ＵＳＢ切り替え時の動作説明図（２／２）である。
【図１０】デバイスとＰＣ間のデータ通信時の動作説明図である。
【符号の説明】
１…ＵＳＢ切り替え器
１０…切り替えスイッチ
１１、１２…デバイスコントローラ
１１０、１２０…バス
１１１、１２１…ＣＰＵ
１１２、１２２…メモリ
１１３、１２３…端末Ｉ／Ｆ
１１４、１２４…通信Ｉ／Ｆ
１１５、１２５…ＤＩ／Ｆ
１３…ホストコントローラ
１３０…バス
１３１…ＣＰＵ
１３２…メモリ
１３３、１３４…通信Ｉ／Ｆ
１３５…ＰＣＩ／Ｆ
２１、２２…ＰＣ（パーソナルコンピュータ）
３１…キーボード
３２…マウス
【図１】
2004341692.tif 000003
【図２】
2004341692.tif 000004
【図３】
2004341692.tif 000005
【図４】
2004341692.tif 000006
【図５】
2004341692.tif 000007
【図６】
2004341692.tif 000008
【図７】
2004341692.tif 000009
【図８】
2004341692.tif 000010
【図９】
2004341692.tif 000011
【図１０】
2004341692.tif 000012