JP2006127252A - 切替機、切替方法及びプログラム - Google Patents

切替機、切替方法及びプログラム Download PDF

Info

Publication number
JP2006127252A
JP2006127252A JP2004316319A JP2004316319A JP2006127252A JP 2006127252 A JP2006127252 A JP 2006127252A JP 2004316319 A JP2004316319 A JP 2004316319A JP 2004316319 A JP2004316319 A JP 2004316319A JP 2006127252 A JP2006127252 A JP 2006127252A
Authority
JP
Japan
Prior art keywords
usb
switching
circuit
usb device
server
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.)
Pending
Application number
JP2004316319A
Other languages
English (en)
Inventor
Kenichi Fujita
憲一 藤田
Masanobu Hayama
正伸 羽山
Katsuji Deura
勝司 出浦
Kazuhiro Yasuno
和洋 安野
Masayuki Kuribayashi
将之 栗林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Component Ltd
Original Assignee
Fujitsu Component Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Component Ltd filed Critical Fujitsu Component Ltd
Priority to JP2004316319A priority Critical patent/JP2006127252A/ja
Priority to US11/260,294 priority patent/US7433991B2/en
Publication of JP2006127252A publication Critical patent/JP2006127252A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges

Abstract

【課題】 サーバに負荷をかけずに、デバイスの切替を行なうことができる切替機を提供する。
【解決手段】 コンソール側に接続したUSB装置と、ホスト側に接続したサーバとの接続切り替えを行う切替機1であって、コンソール側に接続したUSB装置を制御するUSBホストコントローラ回路2と、USB装置の切り替え中もサーバとの接続状態を保つUSB装置エミュレーション回路3と、USBホストコントローラ回路2と、選択されたUSB装置エミュレーション回路3とを接続するCPU6とを有する構成としている。このようにUSBエミュレーション回路3が、USB装置の切り替え中もサーバとの接続状態を保つため、サーバには常にUSB装置が接続されていると認識させることができる。従って、サーバに負荷をかけずに、USB装置の切り替えを行うことができる。
【選択図】 図1

Description

本発明は、複数のコンピュータとの接続を切り替えることで入出力装置の共有を実現する切替機、切替方法及びプログラムに関する。
近年、サーバやPC(パーソナルコンピュータ)に接続するキーボードやマウス等の入出力装置のインタフェースにおいて、USB(Universal Serial Bus)が主流となり、他のインタフェースのキーボード及びマウスの入手が困難になりつつある。
そのような中、複数のコンピュータとの接続を切り替えることで入出力装置の共有を実現する切替機においても、USBキーボード及びUSBマウスを接続して切り替える装置が提案されている(特許文献1及び2参照)。
また、特許文献3には、1組のデータ入力機器を接続する主制御回路と、データ入力機器を介して入力される入力データを複数のコンピュータに選択的に送出する選択回路とを備えた選択作動装置が提案されている。
特開2001−43178号公報 特開2000−353145号公報 特許第3194082号公報
しかしながら、上述したUSBに対応した切替機では、接続するUSBの信号線を機械的に切り替えているだけであり、このような構成の場合、デバイスの接続と取り外しの処理が切替ごとに発生する。このためサーバ側にドライバのロード/アンロード処理が生じ、サーバに負荷がかかると共にドライバのロード/アンロード処理による待ち時間が発生する。またサーバの負荷状況やシステム構成によっては、ドライバのロード/アンロード処理に時間がかかり、切替操作によってドライバのアンロード中にロード処理が入り、システムが不安定になったり、システムが停止し操作不能になる可能性がある。また特許文献3は、USB機器に対応した切替機については開示していない。
本発明は上記事情に鑑みてなされたものであり、サーバに負荷をかけずに、デバイスの切替を行なうことができる切替機、切替方法及びプログラムを提供することを目的とする。
かかる目的を達成するために本発明の切替機は、コンソール側に接続したUSBデバイスと、ホスト側に接続した電子装置との接続切り替えを行う切替機であって、前記コンソール側に接続したUSBデバイスを制御するUSBホスト回路と、前記USBデバイスの切り替え中も前記電子装置との接続状態を保つUSB装置エミュレーション回路と、前記USBホスト回路と、前記USB装置エミュレーション回路とを接続する制御回路とを有する構成としている。このようにUSBエミュレーション回路が、前記USBデバイスの切り替え中も前記電子装置との接続状態を保つため、電子装置には常にUSBデバイスが接続されていると認識させることができる。従って、電子装置に負荷をかけずに、USBデバイスの切り替えを行うことができる。
上記構成の切替機において、前記USBホスト回路は、前記USBデバイスの接続及び取り外しに関わる処理を前記USBホスト回路だけで行うとよい。従って、電子装置に負荷をかけずに、USBデバイスの切り替えを行うことができる。
上記構成の切替機において、前記制御回路は、前記電子装置の切り替えが発生すると、前記USBデバイスからの信号の接続先を、選択されたポートの前記USB装置エミュレーション回路に切り替え、前記USBホスト回路は、前記制御回路による前記電子装置の切り替え処理中も前記USBデバイスとの接続を維持するとよい。従って、簡単な操作で電子装置の切り替えを行うことができる。
上記構成の切替機において、前記USBホスト回路は、前記USBデバイス内において発生するオーバーカレントに対する処理を、前記USBホスト回路だけで行うとよい。従って、電子装置に負荷をかけずに済む。
上記構成の切替機において、前記USBホスト回路は、前記USBデバイスで発生するエラーに対する処理を、前記USBホスト回路で行うとよい。従って、電子装置に負荷をかけずに済む。
上記構成の切替機において、前記USBホスト回路と前記制御回路とを異なるタイミングでリセットするリセットスイッチを有する構成としている。従って、USB装置との通信に異常が発生した場合に、電子装置に影響を与えずにUSB装置との接続を正常な状態に復帰させることができる。
上記構成の切替機において、前記USBホスト回路は、前記USBデバイスから受信したデータをPS/2形式に変換して前記制御回路に送信するとよい。また、前記USBデバイスから受信したデータをシリアルデータに変換して前記制御回路に送信してもよい。
上記構成の切替機において、前記USB装置エミュレーション回路は、前記コンソール側に接続した複数のUSBキーボード及びUSBマウスを一組のUSBキーボード及びUSBマウスとして前記電子装置にエニュメレーションさせるとよい。複数のUSBキーボード及びUSBマウスを一組のUSBキーボード及びUSBマウスとして動作させることができる。
上記構成の切替機において、前記USB装置エミュレーション回路は、前記コンソール側にUSBハブを介して接続された複数のUSBキーボード及びUSBマウスを一組のUSBキーボード及びUSBマウスとして前記電子装置にエニュメレーションさせるとよい。従って、USBハブを介して接続された複数のUSBキーボード及びUSBマウスを一組のUSBキーボード及びUSBマウスとして動作させることができる。
上記構成の切替機において、前記USBホスト回路は、複数の前記USBデバイスから受信したデータを合成して前記制御回路に送信するとよい。従って、複数のUSBデバイスからのデータを1つのデータとして電子装置に送ることができる。
上記構成の切替機において、前記制御回路は、所定のキー入力によって切替制御モードへ移行し、USBキーボードからのキー入力あるいはUSBマウスからの入力によって接続する前記電子装置を変更可能としている。所定のキー入力によって切替制御モードに移行させることができ、キー入力あるいはUSBマウスからの入力によって接続する電子装置を変更することができる。
上記構成の切替機において、前記制御回路は、前記切替制御モードに移行すると、前記USB装置エミュレーション回路に切替機接続確認コマンドを送信し、前記USB装置エミュレーション回路は、ポートからの所定の信号をチェックすることで、複数の前記切替機がカスケード接続されたことを認識し、前記制御回路に通知するとよい。従って、切替機のカスケード接続を切替機が認識することができる。
上記構成の切替機において、前記USB装置エミュレーション回路は、接続した前記USBデバイスからディスクリプタを取得して、自身のディスクプタを前記ディスクリプタに書き換え、前記電子装置に、前記USBデバイスのディスクリプタを認識させるとよい。従って、任意のUSBデバイスを電子装置に接続することができる。
上記構成の切替機において、前記切替機は、前記USB装置エミュレーション回路を複数具備し、複数の任意の前記USBデバイスをエミュレーション可能とするとよい。従って、複数のUSBデバイスを同時に使用することができる。
上記構成の切替機において、前記切替機は、Control転送機能を複数持つUSB装置エミュレーション回路を具備し、複数の任意のUSBデバイスをエミュレーション可能とするとよい。従って、複数のUSBデバイスを同時に使用することができる。
上記構成の切替機において、前記切替機は、他のインタフェースの入出力ポートを備え、前記USBデバイスと、前記他のインタフェースの入力デバイスを同時に接続可能であるとよい。従って、USBデバイスと、他のインタフェースの入力デバイスを同時に接続することができる。
上記構成の切替機において、前記USBホスト回路は、前記USBデバイスの接続を検出して、前記他のインタフェースの入力デバイスを無効化するとよい。従って、USBデバイスを他のインタフェースの入力デバイスよりも優先して使用できるように設定できる。
上記構成の切替機において、前記制御回路は、USBインタフェースの前記USBデバイスの接続を前記USBホスト回路によって検出すると、前記他のインタフェースの入力デバイスの無効化をソフトウェア的に行うとよい。従って、USBデバイスを他のインタフェースの入力デバイスよりも優先的に使用できるようにすることができる。
上記構成の切替機において、前記USBホスト回路は、前記USBデバイスが接続されると、該USBデバイスに前記切替機のファームウェアが格納されているか否かをチェックし、該ファームウェアを検出すると前記ファームウェアの書き換えを行うとよい。従って、ファームウェアが格納されたUSB装置を検出するだけでファームウェアを自動的にインストールすることができる。従って、新しいUSBキーボードやUSBマウスへの対応や、機能拡張を可能にすることができる。
上記構成の切替機において、前記USBホスト回路は、複数のファームウェアの更新を同時に行うとよい。従って、複数のファームウェアを自動的にインストールすることができる。
上記構成の切替機において、前記USBデバイスの状態を表示するLED、前記USBデバイスの状態をOSD表示する表示回路を具備しているとよい。
本発明の切替方法は、切替機のコンソール側に接続したUSBデバイスと、ホスト側に接続した電子装置との接続を切り替える切替方法であって、接続する前記USBデバイスを切り替えるステップと、前記USBデバイスの切り替え中も前記電子装置との接続状態を保つステップと、切り替えた前記USBデバイスと前記電子装置とを接続するステップとを有している。このように前記USBデバイスの切り替え中も前記電子装置との接続状態を保つため、電子装置には常にUSBデバイスが接続されていると認識させることができる。従って、電子装置に負荷をかけずに、USBデバイスの切り替えを行うことができる。
本発明の切替プログラムは、切替機のコンソール側に接続したUSBデバイスと、ホスト側に接続した電子装置との接続を切り替える切替プログラムであって、コンピュータに、接続する前記USBデバイスを切り替える処理と、前記USBデバイスの切り替え中も前記電子装置との接続状態を保つ処理と、切り替えた前記USBデバイスと前記電子装置とを接続する処理とを実行させる。このように前記USBデバイスの切り替え中も前記電子装置との接続状態を保つため、電子装置には常にUSBデバイスが接続されていると認識させることができる。従って、電子装置に負荷をかけずに、USBデバイスの切り替えを行うことができる。
本発明は、サーバに負荷をかけずに、デバイスの切替を行なうことができる切替機を提供することができる。
以下、本発明を実施するための最良の形態を説明する。
図1に本実施例の切替機1の構成を示す。図1に示すように切替機1はUSBホストコントローラ回路(以下、USB HC回路とも表記する)2、USB装置エミュレーション回路3、ビデオ信号切替回路4、切替スイッチ(以下、切替SWとも表記する)5、CPU6、OSD(On Screen Display)回路7、LED8、リセット回路9、USB I/F10、VGA(Video Graphics Array) I/F11等を備えている。
USBホストコントローラ回路2は、USBキーボード31、USBマウス32等を接続し、それらUSB装置とエニュメレーション(enumeration:デバイス認識処理)を行い、キーデータ及びマウスデータを抽出し、PS/2やUART(Universal Asynchronous Receiver Transmitter)に対応する信号に変換してCPU6へ送信する。
USB装置エミュレーション回路3は、接続するPCやサーバごとに複数設けられ、USBキーボード31やUSBマウス32の動作をエミュレーション(emulation:模倣)し、CPU6からキーデータ及びマウスデータを受信して接続されているサーバへ送信する。選択されたサーバに接続したUSB装置エミュレーション回路3は、サーバに対してキーボードやマウスのデータを出力する。また選択されていないサーバに接続したUSB装置エミュレーション回路3は、キーボードやマウスの動作をエミュレーションしたエミュレーション信号をサーバに出力し、該当するサーバを、キーボードやマウスが接続されているかのような状態とする。
ビデオ信号切替回路4は、PCやサーバから入力される複数のビデオ信号を選択的に切替える。切替スイッチ5は、切替機1に接続されたPCやサーバを選択する。
CPU6は、USB装置エミュレーション回路3、ビデオ信号切替回路4、切替SW5等の切り替えを制御し、キーデータ及びマウスデータをUSBホストコントローラ回路2から選択されているUSB装置エミュレーション回路3へ中継する。
OSD回路7は、切替機1の設定や切替制御の表示を行う。LED8は、選択されたPCやサーバを点灯表示する。リセット回路9は、切替機1及びUSBホストコントローラ回路2をリセットする。
次に、図2を参照しながらUSBホストコントローラ回路2の構成を説明する。図2に示すようにUSBホストコントーラ回路2は、MCU(Micro Controller Unit)22とUSBホストコントローラ(USB HC)21とで構成され、MCU22の外部バスにUSBホストコントローラ21が接続されている。MCU22は、ROMおよびRAM23を内蔵あるいは外部に接続できる一般的なものであり、ROMは例えば書換可能なフラッシュROM24である。USBホストコントローラ21は、例えばISP116xシリーズ(Philips社製、商品名)やSL811HS(Cypress社製商品名)等である。USBホストコントローラ回路2は、MCU22とUSBトランシーバの構成であってもよい。
またUSB装置エミュレーション回路3の一構成例としては、MCUによるUSB装置のエミュレーションが挙げられる(図1のUSB装置エミュレーション回路3がMCUに置き換わるだけなので図示せず)。MCU22は、ROM及びRAM等を内蔵した一般的なものであり、ROMは例えば書換可能なフラッシュROMである。
なお、USBホストコントローラ回路2のMCU22、USB装置エミュレーション回路3のMCU、CPU6は、プログラムを記録したメモリからプログラムを読み出して、このプログラムに従った動作を行なうことで、後述するシーケンスやフローチャートに示す手順に従った制御動作を行なう。
図3に切替機1、サーバ、USBキーボード31、USBマウス32、ディスプレイ33を接続した様子を示す。サーバのUSBとVGAがケーブルによって切替機1のサーバ側インタフェースに接続される。このときのケーブルは、USB、VGAそれぞれ別であってもよいし、例えばRJ45(Registered Jack 45:8ピンのモジュラ・コネクタ)にUSBとVGAをまとめた1本のケーブルでもよく、切替機1側のインタフェースは、それに合わせた形状(USBとVGAあるいはRJ45)となる。図3及び図1では、説明のため、USBの信号とVGAの信号の流れが分かりやすいようにUSBとVGAのインタフェースに分け、ケーブルは、USBとVGAを1本にまとめた複合ケーブルで表示している。
ディスプレイ33は、切替機1のコンソール側のVGAインタフェース(VGA I/F)11に接続される。USBキーボード31とUSBマウス32は、それぞれ切替機1のコンソール側のUSBインタフェース(USB I/F)10に接続される。そして、コンソール側のUSBキーボード31、USBマウス32、ディスプレイ33が切替機1によって選択されたサーバと接続される。
このとき、切替機内部の信号の流れは、次のようになる。サーバ側では、サーバと切替機1が接続されると、サーバのUSBホストコントローラ(不図示)にUSB装置エミュレーション回路3が接続され、エニュメレーションが開始される。ここで、USB装置エミュレーション回路3はUSBキーボード31とUSBマウス32の基本機能を持った複合デバイスとしてコンフィグレーション(configuration:デバイスの機能構成を設定する)される。そして、サーバとUSB装置エミュレーション回路3との通信経路が確立される。以後、USB装置エミュレーション回路3は、切替機1のCPU6から受信したキーデータ及びマウスデータをサーバへ送信し、サーバからのUSBキーボード31へのLED点灯情報等を受信して切替機1のCPU6へ送信する。
サーバからのVGA信号は、切替機1のVGA I/F11に接続され、ビデオ信号切替回路4に送信される。CPU6によってビデオ信号切替回路4が制御され、切替スイッチ5等で選択されたサーバのVGA信号がコンソール側のVGA I/F11に送信される。
一方、コンソール側では、USBキーボード31が切替機1に接続されると、USBホストコントローラ回路2とUSBキーボード31間でエニュメレーションが開始される。エニュメレーションが完了されると、USBホストコントローラ回路2は、USBキーボード31に対してInterrupt転送によりキーデータを要求する。USBキーボード31より受信したキーデータを切替機1のCPU6に送信する。この際のインタフェースは、PS/2やシリアル(UART、IIC)等を使用し、USBホストコントローラ回路2は、キーデータをこれらのインタフェースに対応した信号に変換して送信する。USBマウス32についてもUSBキーボード31と同様に処理する。
切替スイッチ5は、切替機1に接続されたサーバとコンソール側のキーボード、マウス、ディスプレイ33との接続とを選択的に切替える手段を提供する。この切替スイッチ5によって選択されたサーバをCPU6が検知し、USBホストコントローラ回路2とUSB装置エミュレーション回路3との送受信及びビデオ信号の送信経路をコンソール側と選択されたサーバが接続されるように切替える。また選択されたサーバがわかるようにLED8に表示する。
リセット回路9は、CPU6とUSBホストコントローラ回路2のMCU22とのリセット端子に接続され、リセットスイッチを設け、リセット手段を提供する。リセット回路9の詳細な説明は後述する。
OSD回路7は、ビデオ信号切替回路4とコンソール側VGA I/F11との間に設け、ビデオ信号切替回路4からのビデオ信号に接続情報や選択情報等を重畳する。サーバが接続されていないポートが選択されていた場合には、OSD回路7に別途クロックを提供し、接続情報や選択情報等が表示される。
本実施例の切替機1は、USB装置(キーボード・マウス・ハブ)とサーバとの間にUSBホストコントローラ回路を入れ、USB装置は、USBホストコントローラ回路2に接続される。USB装置の接続及び取り外しにより発生する処理(エニュメレーション等)は、USBホストコントローラ回路2が全て処理し、サーバ等には処理させないように構成する。USBホストコントローラ回路2は、物理的にUSB装置が取り外されない限り、切替操作時においてもUSB装置との接続を保つ。
また、サーバ側では、USB装置機能を持つUSB装置エミュレーション回路3がサーバと常に接続状態を保ち、USB装置の接続及び取り外しによるエニュメレーション及び取り外し処理を発生させない。CPU6は、選択されたサーバにUSB装置からのデータを送信するように、データの送信先を切り替え、かつ、サーバからのビデオ信号をコンソール側のディスプレイ33に送信されるように切替えを制御する。このようにすることで、サーバ側には常にキーボードとマウスが接続されていると認識させることが出来、サーバに負荷をかけず、切替時に接続・取り外しが発生せずに瞬時に切替えを行なうことが可能となる。
次に、図4、図5を参照しながら、USB装置の接続及び取外しにかかわる処理をサーバに行わせずに切替える方法を説明する。図4は、図3のシステム構成に対応したシーケンス図であり、サーバA、サーバB、切替機1、USBキーボード31、USBマウス32について、サーバA及びサーバBと切替機1との接続、USBキーボード31及びUSBマウス32と切替機1の接続、サーバAからサーバBへの切替時における切替機1から見た周辺機器との信号の様子を示している。
まず、サーバAとサーバBが切替機に接続される。この時、切替機1は初期状態でサーバAを選択しているものとし、ディスプレイ33は、サーバAのビデオ信号を受信する。平行してUSB装置エミュレーション回路3とサーバのUSBホストコントローラ回路2との間でエニュメレーションが開始され、切替機1のUSB装置エミュレーション回路3がUSBキーボード31とUSBマウス32の複合デバイスとしてコンフィギュレーションされる。
次に、USBキーボード31が切替機1に接続されると、USBキーボード31と切替機1との間でエニュメレーションが開始され、コンフィギュレーションが行われる。切替機1は、このエニュメレーション処理をサーバへ通知しないため、サーバにはエニュメレーション処理が発生しない。切替機1は、選択されているサーバ、つまりサーバAに対してのみキーデータを送信する。USBマウス32についても同様の処理となり、選択されているサーバに対してのみマウスデータを送信する。
サーバAからサーバBへの切替えが発生すると、ディスプレイ33がサーバBのビデオ信号受信に切り替わり、USBキーボード31及びUSBマウス32と切替機1との接続は保たれたまま、キーデータ及びマウスデータの送信先がサーバBへと切り替わる。USBキーボード31及びUSBマウス32と切替機1との接続が保たれるという制御は、USBホストコントローラ回路2を設けたことにより実現されている。その制御シーケンスは後述する。よって、切替え発生時においてもサーバに取外し処理及びエニュメレーション処理を行わせずに、切替操作を実現している。USBキーボード31が切替機1から取り外された場合には、取外し処理を切替機1内部のUSBホストコントローラ回路2が行い、サーバに対して取外し処理を生じさせない。USBマウス32についても同様に処理する。サーバが取外し処理を行うのは、切替機1とサーバとが切断された場合のみである。
上述したUSBキーボード31及びUSBマウス32と切替機1との接続が保たれたまま、キーデータ及びマウスデータの送信先がサーバAからサーバBへと切り替わるシーケンスを図5を参照しながら説明する。図5は、切替機1内部の切替スイッチ5、USBホストコントローラ回路2、CPU6、サーバAに接続するUSB装置エミュレーション回路3(A)、サーバBに接続するUSB装置ホストエミュレーション回路3(B)、及び切替機1に接続されるUSBキーボード31間の切替発生前後における信号の様子を示している。尚、USBキーボード31とUSBマウス32の処理は同様となるので、USBキーボード31についてのみ説明することとし、USBマウス32を省略している。また、切替発生前後に注目しているため、サーバAとサーバBは、既に接続されている状態である。
USBキーボード31が切替機1のコンソール側USB I/F10に接続されると、USBキーボード31とUSBホストコントローラ回路2との間でエニュメレーションが開始される。USBキーボード31がコンフィギュレーションされると、USBホストコントローラ回路2がUSBキーボード31にキーデータを要求するため、Interrupt転送が開始される。USBキーボード31は、USBホストコントローラ回路2からのInterrupt IN要求に応答して押されているキー(複数含む)のキーデータを送信する。これをUSBホストコントローラが受信し、CPU6へと送信する。このとき、キーデータをPS/2やUART等に変換してもよく、USB、PS/2、UART等の形式でCPU6へ送信する。CPU6は、このキーデータを受信し、選択されているサーバと接続されているポートのUSB装置エミュレーション回路3に送信する。USB装置エミュレーション回路3は、キーデータを受信し、接続されているサーバに自身の複合デバイスに含まれるUSBキーボード31のキーデータとして送信する。
切替スイッチ5によってサーバAからサーバBへの切替えが発生すると、CPU6は、キーデータの送信先をサーバBが接続されているポートのUSB装置エミュレーション回路3(B)に変更する。この時、USBホストコントローラ回路2は、何も影響を受けずにUSBキーボード31との接続を保っている。そして、USBホストコントローラ回路2は、USBキーボード31からのキーデータを受信するとCPU6に送信し、CPU6は、受信したキーデータをサーバBが接続されているポートのUSB装置エミュレーション回路3(B)に送信する。
また、USBキーボード31が取り外された場合、USBホストコントローラ回路2が取外し処理を行い、CPU6に取外しが行われたことを通知しない。この時、それぞれのUSB装置エミュレーション回路3は、接続されているそれぞれのサーバとの接続を保っている。
また、図6に示すように、Over Currentが発生した場合にも、USBホストコントローラ回路2が処理を行い、CPU6に通知しない。よって、サーバにOver Currentによる処理が発生せず、負荷がかからないと共に、USB装置エミュレーション回路3との接続が保たれるため、Over Currentによる影響を与えずに安定した動作を提供できる。尚、Over Currentに限らず、USBに関わるエラーやUSBデバイスの予期しないエラー、不具合等も同様にサーバに処理させることなくUSBホストコントローラ回路2が処理を行うため、サーバに安定した動作を提供できる。
Over Currentが発生した場合には、Over Current発生を通知するためのLEDを設けるか、複数の色で点灯可能なLEDを使用して一色をOver Currentに割り当てる等して、使用者にOver Currentの発生を知らせる。
さらに、OSD回路7により、USB装置の状態を表示させるようにすることで、正常動作の状態、Over Current状態、USB装置の設定状態、および、USB I/F10のポート状態を使用者に知らせることができる。
以上説明したように本発明によれば、サーバ側とはUSB装置エミュレーション回路3が常に接続状態を保ち、切替発生時及びUSB装置の接続・取り外しによるエニュメレーション処理と取り外し処理を発生させることがない。また、USB装置エミュレーション回路3のこのような処理と同時に、CPU6は、選択されたサーバにUSBキーボード31及びUSBマウス32のデータを送信するようにデータの送信先を切り替えるので、サーバ側には常にキーボードとマウスが接続されていると認識させることができる。従って、サーバに負荷をかけず、瞬時に切替を行なうことが可能となる。また、Over Current等のエラー処理についても、サーバに負荷をかけず、安定した動作を提供することができる。
次に、添付図面を参照しながら本発明の第2実施例を説明する。図7に、図1に示すリセット回路9の構成を示す。リセットスイッチ91、カウンタ回路92、CPU6のリセット用のリセットIC93、USBホストコントローラ回路2のリセット用のリセットIC94で構成される。カウンタ回路へはリセットSW91によって1kHzのクロックを供給し、1msをカウントする。ここで例えば、CPU6のリセット用のリセットIC93は、カウンタ回路の700ms出力と接続され、USBホストコントローラ回路2のリセット用のリセットIC94は、カウンタ回路の100ms出力と接続される。このように構成することで、短い時間のリセットスイッチ操作でUSBホストコントローラ回路2をリセットし、長い時間のリセットスイッチ操作でCPU6をリセットすることができる。つまり、切替機1に接続されるUSB装置とUSBホストコントローラ回路間に問題が発生した場合に、USBホストコントローラ回路2のみを初期化し、切替機1に接続されたサーバに影響を与えることなく、USB装置との接続を正常な状態に復帰させることが可能となる。加えて、長くリセットスイッチを操作することで切替機1全体をリセットすることも可能となる。
なお、図7には、ハードウェアによるリセット回路9を示したが、次のようなソフトウェアによる制御でもよい。CPU6のI/O端子とUSBホストコントローラ回路2の各リセット端子(図2におけるMCU22及びUSB HC21)とを接続し、リセット回路9からCPU6への入力を割込み端子に接続する。例えば、CPU6の割込み端子は、ハイアクティブとする。CPU6は、リセット回路9からの割込みを検出すると、CPU6内部のカウンタを起動し、時間計測を開始する。前記方法と同様に100ms経過時点での割込み端子のレベルをチェックし、ローであれば短いリセットスイッチ操作と判断し、USBホストコントローラ回路2をリセットする。100ms経過時点でハイであれば、700ms経過時点で再度割込み端子のレベルをチェックし、ローであれば、USBホストコントローラ回路2をリセットし、ハイであればCPU6及びUSBホストコントローラ回路2をリセットする。
次に、添付図面を参照しながら本発明の第3実施例を説明する。図8には、USBハブ34を用いて複数のマウス32A、32Bを切替機1に接続した構成を示している。この構成の場合に切替機1では、USBホストコントローラ回路2がUSBハブ34、USBキーボード31、USBマウス32A、USBハブ34に接続したUSBマウス32Bとそれぞれエニュメレーションを行い、コンフィギュレーションし、キーデータ及びマウスデータのみを選択されているサーバへ送出する。
さらに、切替時やUSBキーボード31、USBマウス32A、32B、USBハブ34の取外しに関わる処理も、実施例1で示したようにUSBホストコントローラ回路2が全ての処理を行う。これに加え、USBホストコントローラ回路2は、USBマウス32A及びUSBマウス32Bそれぞれから受信したマウスデータを合成し切替機1のCPU6に送信するように処理し、サーバに対しては、1台のマウスとして振舞う。
図8では、2台のUSBマウス32A,32Bの例示となっているが、3台以上のマウスでも同様に処理する。また、キーボードが複数接続された場合も、同様にサーバに対しては1台のキーボードとして振舞う。従って、サーバはエニュメレーション及び取外しに関わる処理を行う必要が無く、さらに、USB装置エミュレーション回路3によって提供されるUSBキーボード31及びUSBマウス32の複合デバイス1台として通信を行うため、これらUSB装置がサーバに直接接続される場合に比べて処理負荷が小さくて済む。
添付図面を参照しながら本発明の第4実施例を説明する。切替機1を製品として製作する場合、切替機1のポート数には、物理的な限界が生じる。このため、切替機1によって制御可能なサーバの台数が制限される。例えば、16ポートの製品であれば16台までのサーバ台数、32ポートの製品であれば32台までのサーバ台数となる。しかし、それ以上の台数を制御したい場合に対応出来ない。これを解決する方法として、切替機に切替機を接続するカスケード接続がある。図9にカスケード接続の例を示す。
切替機1Aのコンソール側には、USBキーボード31、USBマウス32、ディスプレイ33が接続され、サーバ側のUSB I/F10とVGA I/F11とがそれぞれ切替機1Bのコンソール側USB I/F10とVGA I/F11とに接続されている。切替機1Bのサーバ側にはサーバが接続されている。
単純に接続しただけでは、切替機1Bにとっては、USBキーボード31とUSBマウス32の複合デバイスが接続されたことになり、切替機1Aからは、キーデータとマウスデータが送信されるのみである。つまり、切替機1Aから切替機1Bの切替操作を制御することが出来ない。そこで、まず切替機1Bへカスケード接続したことを、替機1Aに認識させる手順を図10のフローチャートを参照しながら説明する。切替機1BのUSBホストコントローラ回路2では、接続を検出すると(ステップS1)、接続されたUSB装置のVID(製造元識別情報)とPID(機種識別情報)をチェックする(ステップS2)。このVIDとPIDにより、切替機1AのUSB装置エミュレーション回路3によるUSBキーボード31とUSBマウス32の複合デバイス(カスケード接続)であることを検知すると(ステップS3/YES)、切替機1AのUSB装置エミュレーション回路3へUSB仕様に準拠したベンダーリクエストによってカスケード接続通知コマンドを送信する(ステッップS5)。そして、切替制御モードへ移行するためのキーデータ(切替制御信号)を受信した場合に、USB仕様に準拠したベンダーリクエストによって切替結果を切替機1Aへ送信するように自身を設定する。また切替機1AのUSB装置エミュレーション回路3は、カスケード接続状態であることを記録する。切替制御モードとは、スイッチ以外の操作による切替機のポート(接続されたサーバ)とコンソールとの接続を切替える制御方法であり、特別な手順のキー入力やベンダーリクエスト等によって切替機1AのCPU6が通常のキーデータ及びマウスデータの送信を停止し、切替制御信号をカスケード接続された切替機1Bに送信することによって切替機1Bのポート(接続されたサーバ)を選択することができる。
切替制御信号は、例えば、切替制御モード状態で受信したキーデータやマウスデータを利用する。ポートを選択する方法は、ポートに番号を付与し、その番号に対応するキーボードの数字キーやファンクションキーを押す、あるいは矢印キーによって順次選択する等が挙げられる。この切替制御モードを図11のフローチャートを参照しながら説明する。ここでのキー操作の例を、切替制御モードへの移行のためのキーデータをCtrlキー+Altキー+Shiftキー、ポート選択を数字キー、選択決定及び切替制御モード終了をEnterキーとする。
図10に示すフローに従って、切替機1AのUSBエミュレーション回路3には、切替機1Aがカスケード接続状態にあることが記録されている。切替機1AのCPU6は、Ctrlキー+Altキー+ShiftキーのキーデータをUSBキーボード31から受信すると、切替制御モードに移行し、USB装置エミュレーション回路3へのキーデータ及びマウスデータの送信を停止する(ステップS6)。次に、切替機1Aは、現在選択されているポートに切替機1Bが接続されているかどうかを確認するために切替機接続確認コマンドを自身のUSB装置エミュレーション回路3に送信する(ステップS7)。USB装置エミュレーション回路3には、自身がカスケード接続状態にあるか否かが記録されている。この記録情報によりポートに切替機が接続されているかどうかをチェックする。ポートに接続された機器が切替機1Bであったならば、CPU6に切替機であると応答する。それ以外であれば、切替機ではないと応答する。そして、CPU6はUSB装置エミュレーション回路3からの応答を受信し(ステップS8)、切替機(本例では切替機1B)が接続されていた場合には(ステップS9/YES)、切替機1Bに切替制御モードへ移行するためのキーデータであるCtrlキー+Altキー+Shiftキーを送信し(ステップS10)、自身をカスケードモードに設定する(ステップS11)。設定のためのフラグは、CPU6内のRAM等に設ける。切替機が接続されていなかった場合は、自身のポートを切替えるため、切替制御モード終了ステートへ進む(ステップS12)。切替制御モード終了を示すEnterキーを受信しているかチェックし、受信していれば(ステップS12/YES)、カスケードモード確認ステートへ進み(ステップS13)、カスケード接続であれば(ステップS13/YES)、切替機1Bへ切替制御モード終了コマンドを送信し終了する(ステップS14)。カスケードモードでなければ(ステップS13/NO)、そのまま終了する。
また、切替制御モード終了を示すEnterキーを受信していなかった場合には(ステップS12/NO)、切替操作が行われたかどうかチェックを行う(ステップS15)。切替操作のチェックでは、数字キーやファンクションキーあるいは矢印キーを検出し、それぞれに対応するポート番号を特定する。ポート特定後、切替機1A自身がカスケードモードであるかどうかチェックする(ステップS16)。切替機1A自身がカスケードモードであった場合には(ステップS16/YES)、切替機1Bへ前記ポート番号へ切替える切替コマンド(キーデータ)を送信する(ステップS17)。切替コマンドを受信した切替機1Bはポートを切替え、切替結果を切替機1Aに送信する。
切替結果の送信は、USB Specification 1.1又は2.0で定められているベンダーリクエストに準拠したコマンドによって行う。切替機1Aは、切替結果受信後、切替制御モード終了確認ステート以降を繰り返す。
また、カスケードモードでない場合は(ステップS16/NO)、切替機1A自身のポートを切替える(ステップS18)。そして、切替えられたポートに切替機1Bが接続されているかどうかを確認するため、切替接続確認コマンド送信ステートへ進み、前記手順を繰り返す。
図12には、切替機1B側のフローを示す。切替機1Bは、切替機1Aより切替制御モードへ移行するためのキーデータ(Ctrlキー+Altキー+Shiftキー)を受信すると(ステップS21)、USB仕様に準拠したベンダーリクエストによって切替結果を切替機1Aへ送信するように自身を設定する。次に、切替制御モード終了を示すコマンドを受信することで(ステップS22)、切替制御モードを終了させる。
以上説明した方法によれば、切替機によって制御可能なサーバの台数を増やすことが出来、例えば、16ポートの製品であれば256台までのサーバ台数、32ポートの製品であれば1024台までのサーバ台数となり、制御可能なサーバの台数を改善することができる。
添付図面を参照しながら本発明の第5実施例を説明する。これまでの実施例では、切替機1がサーバに対してUSB装置エミュレーション回路3にて特定のUSBキーボード31とUSBマウス32の動作を提供することで、切替時の接続及び取外し処理をなくし、サーバへの負荷軽減とサーバの安定動作を実現してきた。しかし、使用者によっては、任意のUSBキーボード31やUSBマウス32を使用し、それぞれ固有の機能を使用したいといったニーズがある。前記の方法では、特定のUSBキーボード31とUSBマウス32として動作しているため、このニーズに応えることが出来ない。
そこで本実施例では、切替機1に接続されたUSBキーボード31及びUSBマウス32のディスクリプタ(デバイスの属性をレポートするデータ)をUSB装置エミュレーション回路3に送信し、USB装置エミュレーション回路3が切替機1に接続されたUSBキーボード31やUSBマウス32のエミュレーションを行うことで、このニーズに応える方法を図13のシーケンス図を参照しながら説明する。
図13は、USBキーボード31と切替機1とサーバAが接続される様子を例に挙げており、切替機1の回路中で関係するUSBホストコントローラ回路2、CPU6、USB装置エミュレーション回路3をピックアップしている。さらに、切替機1にサーバAが接続されており、USBキーボード31が未接続の状態である。この状態で、切替機1にUSBキーボード31が接続される。すると、切替機1のUSBホストコントローラ回路2とUSBキーボード31との間でエニュメレーションが行われる。
USBホストコントローラ回路2は、エニュメレーションが完了すると、USBキーボード31から受信したディスクリプタをCPU6へ送信する。CPU6は、このディスクリプタをUSB装置エミュレーション回路3へ送信する。USB装置エミュレーション回路3は、CPU6からディスクリプタを受信すると、サーバとの接続を一旦切断するためDisconnect処理を行い、自身のディスクリプタをCPU6から受信したディスクリプタに書き換える。Disconnect処理とは、例えば、USB装置エミュレーション回路3中のSIE(Serial Interface Engine)への電源供給を断つことによってUSB装置エミュレーション回路3がサーバからUSB装置が取り外されたかのように振舞う(実際にはケーブルは接続されたままである)ことである。
Disconnectから所定時間が経過し、サーバが取外し処理を終えた後、USB装置エミュレーション回路3は、Connect処理を行う。Connect処理とは、例えば、前述したSIEに電源を供給し、サーバにUSB装置が接続されたかのように振舞うことである。ここで、USB装置エミュレーション回路3のディスクリプタがUSBキーボード31のディスクリプタに書き換えられているため、エニュメレーション後には、サーバにはUSBキーボード31として見える。
エニュメレーションが完了すると、USB装置エミュレーション回路3は、エニュメレーション完了をCPU6に通知する。CPU6は、エニュメレーション完了通知を受信すると、USBホストコントローラ回路2にエニュメレーション完了通知を送信する。エニュメレーション完了通知を受信したUSBホストコントローラ回路2は、USBキーボード31に対してキーデータを要求するため、Interrupt INを発行する。USBキーボード31は、これを受けてキーの押下状態に変化があれば、キーデータを返す。そして、USBホストコントローラ回路2、CPU6、USB装置エミュレーション回路3を経由してサーバへキーデータが送信される。また、図示していないが、サーバにUSBキーボード31のデバイスドライバやそのデバイスドライバに対応するアプリケーションがインストールされている場合、逆の経路を辿り、キーボードにコマンドを送信することができる。
こうして、任意のUSBキーボード31を使用することが可能となる。そして、一旦USBキーボード31が接続され、サーバとUSB装置エミュレーション回路3との間でエニュメレーションが完了すれば、サーバの切替時にサーバがエニュメレーション及び取外し処理を行う必要がなく、さらに、USBキーボード31が取り外された場合には、取外し処理をUSBホストコントローラ回路2が行い、サーバが取外し処理をすることはなく、サーバへの負荷が小さくて済む。USBキーボード31が取り外された場合には、USBホストコントローラからCPU6を経由してUSB装置エミュレーション回路3にUSBキーボード31が取り外されたことが通知されるため、USBキーボード31が取り外されている間のサーバ上のデバイスドライバからの要求をUSB装置エミュレーション回路3で無効化することができ、安定した動作を提供できる。USBマウス32の場合も、同様の方法で任意のUSBマウス32を使用することができる。任意のUSBキーボード31とUSBマウス32を同時に使用する場合には、USBキーボード31用とUSBマウス32用のUSB装置エミュレーション回路3をそれぞれ設けることで同時に使用可能となる。あるいは、Control転送を複数持つUSB装置エミュレーション回路3を使用することで、1つの回路で2つ以上のUSB装置をエミュレーション出来、複数の任意のUSBキーボード31及びUSBマウス32を同時に使用可能とすることができる。
以上説明したように、この方法によれば、任意のUSBキーボード31及びUSBマウス32を使用することができるので、USBキーボード31及びUSBマウス32固有の機能を使用することが出来、切替発生時の接続・取り外しによるエニュメレーション処理と取り外し処理を発生させることなく、切替を行なうことが可能となる。
添付図面を参照しながら本発明の第6実施例について説明する。USBキーボード31及びUSBマウス32と他のI/Fを持つキーボード及びマウスを接続可能とし、USB装置が優先される方法を図14を参照しながら説明する。
図14は、図1の構成に、PS/2キーボードI/F41と、PS/2マウスI/F42と、PS/2キーボードI/F41の接続を切り替えるスイッチング回路43と、PS/2マウスI/F42の接続を切り替えるスイッチング回路44とを加えている。PS/2キーボードI/F41及びPS/2マウスI/F42からの信号を、スイッチング回路43、44を経由してCPU6に送受信するように接続し、USBホストコントローラ回路2がスイッチング回路43、44を制御するように接続している。ここでは、説明のためにマウスの接続のみに注目する。PS/2インタフェースの一方には、PS/2マウスが接続されているとする。この状態からUSBマウス32が接続されると、USBホストコントローラ回路2は、これを検出し、PS/2インタフェースとCPU6との接続を切断するようスイッチング回路44を制御する。こうすることで、USBマウス32が切替機1に接続された場合に、PS/2マウスが無効化され、USBマウス32のみを使用することができる。またインタフェースは、PS/2インタフェースに限らず、他のシリアルインタフェースであってもよい。また、USBキーボード31についても同様の制御が可能である。さらに、スイッチング回路43、44をCPU6が制御するようにしてもよい。
上述した方法は、スイッチング回路43、44によってハードウェア的にPS/2マウスを無効化しているが、これをソフトウェア的に制御することも可能である。この方法を図15を参照しながら説明する。図15は、PS/2マウスが接続されている切替機1にUSBマウス32が接続された場合のシーケンス図である。切替機1にUSBマウス32が接続されると、USBホストコントローラ回路2がCPU6にUSB装置接続検出通知を送信する。USBマウス32とUSBホストコントローラ回路2間でエニュメレーションが行われ、エニュメレーションが完了すると、USBホストコントローラ回路2がCPU6にUSBマウス32の接続通知を送信する。これを受けたCPU6は、PS/2無効化する。こうすることで、USBマウス32が切替機1に接続された場合に、PS/2マウスが無効化され、USBマウス32のみを使用することができる。またPS/2インタフェースに限らず、シリアルインタフェース等の他のインタフェースであってもよい。また、USBキーボード31についても同様の制御が可能である。また、USBとその他のインタフェースを切替えずに両方同時に使用可能としてもよい。
添付図面を参照しながら本発明の第7実施例を説明する。本実施例の切替機1は、新しいUSBキーボード31やUSBマウス32の新機能への対応や、切替機1の機能拡張等を可能とするために、USBインタフェースを介してファームウェアをアップデートする手段を実装する。さらに、ファームウェアを自動的にインストール可能とし、アップデート手順を簡略化する。切替機1には、切替機1全体を制御するCPU6のファームウェア、USBホストコントローラ回路2を制御するMCU22のファームウェア、USB装置エミュレーション回路3のMCUのファームウェアが存在する。これらファームウェアのアップデート方法を図16から図24を参照しながら説明する。
図16には、USBホストコントローラ回路2によるファームウェア書き換えの制御フローを示す。USB装置が切替機1に接続されると、USB装置エニュメレーション(ステップS31)が実施され、USB装置から取得したディスクリプタよりMass Strageクラス(ハードディスクなどの外部記憶装置を接続するための追加企画)であるかどうかをチェックする(ステップS32)。Mass Strageクラスであった場合(ステップS32/YES)、USB装置はディスクドライブとして認識され、USBホストコントローラ回路2は、USB装置上のファームウェアファイルを検索する(ステップS33)。このときのファイル名は、CPU6用、USBホストコントローラ回路2用、USB装置エミュレーション回路3用の3種類を用意し、それぞれ一意とする。またMass Strageクラスではなかった場合(ステップS32/NO)、この処理を抜ける。
CPU6用ファームウェアのファイルを見つけると(ステップS34/YES)、その署名ファイルを参照し(ステップS35)、署名を確認する(ステップS36)。このときに必要な鍵は、切替機1及び接続されたUSB装置内部に格納されており、これらの鍵を使用して署名の確認を行う。書名の確認により正しいファイルであれば(ステップS36/YES)、CPU6ファームウェアの書き換えを実施する(ステップS37)。
USBホストコントローラ回路2とCPU6との間でのCPUファームウェア書換の手順を図17のシーケンスを参照しながら説明する。まず、USBホストコントローラ回路2は、CPU6に対してCPUファーム書換コマンドを送信し、CPU6はCPU6書換コマンドを受信すると、自身をファームウェア書換モードに設定する。次に、USBホストコントローラ回路2は、USB装置からファームウェアファイルを読取り、CPU6へ転送する。これをファームウェアの読取りが完了するまで繰り返す。
CPU6は、ファームウェアを受信すると、フラッシュROMへ書き込む。これを受信が完了するまで繰り返す。CPU6は、受信が完了するとファームウェアのチェックサムをUSBホストコントローラ回路2へ送信する。USBホストコントローラ回路2は、チェックサムを受信し、USB装置から読み出したファームウェアのチェックサムと比較する。もし、チェックサムが異なっていた場合は、ファームウェアの書き込みに失敗したと判断し、ファームウェア復元コマンドをCPU6へ送信する。CPU6は、ファームウェア復元コマンドを受信すると、フラッシュROMの別ブロックに格納されているファームウェアをブート領域にコピーして、ファームウェア書換以前の状態に復元する。チェックサムが一致した場合、又はファームウェア復元コマンドを送信すると、書換終了コマンドをCPU6に送信してCPUファームウェアの書き換えを終了する。
次に、図18のフローチャートを参照しながら上述したCPUファームウェアの書き換えのUSBホストコントローラ回路2のフローを説明する。まず、USBホストコントローラ回路2は、CPU6に対してCPUファーム書換コマンドを送信する(ステップS51)。次にUSBホストコントローラ回路2は、USB装置からファームウェアファイルを読取り(ステップS52)、CPU6へ転送する(ステップS53)。これをファームウェアの読取りが完了(ステップS54)するまで繰り返す。ファームウェアの読取りが完了すると(ステップS54/YES)、送信完了コマンドをCPU6に送信し(ステップS55)、CPU6から転送されてくるチェックサムを待つ。チェックサムを受信すると(ステップS56)、これをUSB装置から読み出したファームウェアのチェックサムと比較する(ステップS57)。もし、チェックサムが異なっていた場合は(ステップS57/NO)、ファームウェア復元コマンドをCPU6へ送信する(ステップS58)。そして、書換終了コマンドをCPU6に送信して処理を終了する(ステップS59)。
次に、図19のフローチャートを参照しながらCPUファームウェアの書き換えのCPU6のフローを説明する。CPU6はCPU6書換コマンドを受信すると(ステップS61)、自身をファームウェア書換モードに設定する(ステップS62)。次に、CPU6は、ファームウェアを受信すると(ステップS63/YES)、フラッシュROMへこれを書き込む(ステップS64)。これを受信が完了するまで繰り返す(ステップS65)。CPU6は、受信が完了すると(ステップS65/YES)、ファームウェアのチェックサムをUSBホストコントローラ回路2へ送信する(ステップS66)。次に、USBホストコントローラ回路2からファームウェア復元コマンドを受信したか否かをチェックし(ステップS67)、これを受信した場合には(ステップS67/YES)、ファームウェアの復元処理を行なう(ステップS68)。次に、書換終了コマンドの受信をした場合には(ステップS69/YES)、ファームウェアの書き換えを終了する。
CPU6のファームウェア書換が終了すると、図16のUSBホストコントローラ(HC)回路用ファームウェアの有無をチェックに進み(ステップS38)、ファームウェアファイル名検索でUSBホストコントローラ(HC)回路用のファームウェアを見つけていると、その署名ファイルを読み込んで(ステップS39)署名を確認する(ステップS40)。署名の確認により正しいファイルであれば(ステップS40/YES)、USBホストコントローラ(HC)回路ファームウェア書換を実施する(ステップS41)。
USBホストコントローラ(HC)回路ファームウェア書換のフローを図20に示す。USBホストコントローラ回路2は、USB装置からファームウェアファイルを読取りUSBホストコントローラ回路2のフラッシュROMへ書き込む(ステップS72)。書き込んだファームウェアのチェックサムとUSB装置から読み取ったファームウェアのチェックサムとを比較し(ステップS73)、一致していたら(ステップS73/YES)USBホストコントローラ回路2ファームウェアの書き換えを終了する。もし、チェックサムが異なっていた場合は(ステップS73/NO)、ファームウェアの書き込みに失敗したと判断し、フラッシュROMの別ブロックに格納されているファームウェアをブート領域にコピーして、ファームウェア書換以前の状態に復元し(ステップS74)、USBホストコントローラ回路2ファームウェアの書換を終了する。
USBホストコントローラ回路2ファームウェアの書き換えが終了すると、図16のUSB装置エミュレーション回路3用ファームウェアの有無をチェックに進み(ステップS42)、ファームウェアファイル名検索でUSB装置エミュレーション回路3用のファームウェアを見つけると(ステップS42/YES)、その署名ファイルを読み込み(ステップS43)、参照し署名を確認する(ステップS44)。書名の確認により正しいファイルであれば(ステップS44/YES)、USB装置エミュレーション回路3ファームウェアの書き換えを実施する(ステップS45)。
USB装置エミュレーション回路3ファームウェアの書き換えシーケンスを図21に示す。まず、USBホストコントローラ回路2がCPU6に対してUSB装置エミュレーション回路3ファームウェア書換コマンドを送信する。CPU6は、切替機1の全てのポートのUSB装置エミュレーション回路3に、このコマンドを転送する。そして、CPU6は、切替機1のポート数をUSBホストコントローラ回路2へ送信する。USBホストコントローラ回路2は、これを受信する。このポート数は、後述するチェックサムの確認が全てのポートで完了したかどうかの判断に使用される。そして、CPU6は、自身をファームウェア転送モードに設定し、USB装置エミュレーション回路3は、自身をファームウェア書換モードに設定する。
次に、USBホストコントローラ回路2は、USB装置からファームウェアファイルを読取りCPU6へ転送する。CPU6は、ファームウェアを受信すると、全てのポートのUSB装置エミュレーション回路3へ転送する。各USB装置エミュレーション回路3は、ファームウェアを受信する(RAMに保存)と、自身のフラッシュROMへ書き込む。これらの処理をそれぞれがファームウェアの読取りが完了するまで繰り返す。
USBホストコントローラ回路2は、ファームウェアの読取りが完了すると、CPU6へ送信完了コマンドを送信する。CPU6は、このコマンドを受信すると、ファームウェアの受信を完了し、全てのポートのUSB装置エミュレーション回路3へ、このコマンドを送信する。各USB装置エミュレーション回路3は、このコマンドを受信すると、チェックサムをCPU6へ送信する。CPU6は、チェックサムをUSBホストコントローラ回路2へ転送する。CPU6は、全てのポートからチェックサムを受信するまでUSBホストコントローラ回路2へチェックサムの転送を行う。
USBホストコントローラ回路2は、チェックサムを受信すると、USB装置から読み出したファームウェアのチェックサムと比較する。全てのポートのチェックサムが一致したら、書換終了コマンドをCPU6に送信してファームウェアの書換を終了する。CPU6は、書換終了コマンドを受信すると、USB装置エミュレーション回路3に該コマンドを転送し、ファームウェア書換を終了する。USB装置エミュレーション回路3は、書換終了コマンドを受信すると、ファームウェア書換を終了する。
もし、チェックサムが異なっていた場合は、ファームウェアの書き込みに失敗したと判断し、ファームウェア復元コマンドをCPU6へ送信する。CPU6は、ファームウェア復元コマンドを受信すると、全てのポートのUSB装置エミュレーション回路3へファームウェア復元コマンドを転送する。各USB装置エミュレーション回路3は、ファームウェア復元コマンドを受信すると、フラッシュROMの別ブロックに格納されているファームウェアをブート領域にコピーして、ファームウェア書換以前の状態に復元する。USB装置エミュレーション回路3のファームウェア書換が終了すると、図16の切替機リセットステートへ進み(ステップS46)、切替機1をリセットし、書き換えられた各ファームウェアで切替機1が動作を開始する。
上述したUSB装置エミュレーション回路ファームウェア書き換えの各装置の動作手順を説明する。まず、図22のフローを参照しながらUSBホストコントローラ回路2の動作を説明する。USBホストコントローラ回路2は、USB装置エミュレーション回路3のファームウェア書換コマンドを受信すると(ステップS81)、これをCPU6に転送する。次に、CPU6から転送されてくるポート数の情報を受信する(ステップS82)。次に、受信したファームウェア(ステップS83)のCPU6への転送(ステップS84)を、ファームウェアの受信が完了するまで繰り返す(ステップS85)。ファームウェアの受信が完了すると(ステップS85/YES)、送信完了コマンドをCPU6に送信する(ステップS86)。
USBホストコントローラ回路2は、CPU6からチェックサムを受信すると(ステップS87)、USB装置から読み出したファームウェアのチェックサムと比較する。ステップS82で受信した全てのポートのチェックサムが一致したら(ステップS88/YESかつS90/YES)、書換終了コマンドをCPU6に送信してファームウェアの書換を終了する(ステップS91)。また、チェックサムが異なっていた場合は(ステップS88/NO)、ファームウェア復元コマンドをCPU6へ送信する(ステップS89)。
次に図23を参照しながら、USB装置エミュレーション回路ファームウェア書き換えのCPU6の手順を説明する。CPU6は、USBホストコントローラ回路2から転送されたUSB装置エミュレーション回路ファームウェア書換コマンドを、全てのポートのUSB装置エミュレーション回路3に送信する(ステップS101)。そして、CPU6は、切替機1のポート数をUSBホストコントローラ回路2へ送信し(ステップS102)、自身をファームウェア転送モードに設定する(ステップS103)。
次に、USBホストコントローラ回路2からファームウェアを受信すると(ステップS104/YES)、これをUSB装置エミュレーション回路3へ転送する(ステップS105)。またファームウェアの受信が完了すると(ステップS106/YES)、送信完了コマンドをUSB装置エミュレーション回路3に送信する(ステップS107)。
次に、CPU6は、USB装置エミュレーション回路3から送信されるチェックサムをUSBホストコントローラ回路2へ転送する(ステップS108)。これを全てのポートからチェックサムを受信するまで繰り返す(ステップS109)。次に、CPU6は、USBホストコントローラ回路2からファームウェアの復元コマンドを受信したか否かをチェックし(ステップS110)、受信している場合には(ステップS110/YES)、これをUSB装置エミュレーション回路3に転送する(ステップS111)。また、書換終了コマンドをUSBホストコントローラ回路2から受信すると(ステップS112)、これをUSB装置エミュレーション回路3に転送して(ステップS113)、処理を終了する。
次に図24のフローを参照しながらUSB装置エミュレーション回路3のファームウェア書き換え時の手順を説明する。USB装置エミュレーション回路3は、CPU6からファームウェア書換コマンドを受信すると(ステップS121)、自身をファームウェア書換モードに設定する(ステップS122)。次に、CPU6から受信するファームウェア(ステップS123)を自身のフラッシュROMに書き込む(ステップS124)。CPU6から送信完了コマンドを受信し、受信が完了すると(ステップS125)、チェックサムをCPU6に送信する(ステップS126)。
送信したチェックサムに対して、CPU6からファームウェア復元コマンドを受信すると(ステップS127)、ファームウェア復元処理を行なう(ステップS128)。またCPU6から書き換え終了コマンドを受信すると(ステップS129)、ファームウェアの書き換えを終了する。
以上説明した方法によれば、切替機1は、新しいUSBキーボード31やUSBマウス32の新機能への対応や、切替機1の機能拡張等を可能とし、ファームウェアが格納されたUSB装置を接続するだけでファームウェアを自動的にインストール可能となる。
上述した実施例は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
切替機の構成を示すブロック図である。 UAB HC回路の構成を示すブロック図である。 複数のサーバとコンソールとの接続例を示す図である。 サーバA及びサーバBと切替機1との接続、USBキーボード31及びUSBマウス32と切替機1の接続、サーバAからサーバBへの切替時における切替機1から見た周辺機器との信号の様子を示す図である。 切替機1内部の切替スイッチ5、USBホストコントローラ回路2、CPU6、サーバAに接続するUSB装置エミュレーション回路3(A)、サーバBに接続するUSB装置ホストエミュレーション回路3(B)、及び切替機1に接続されるUSBキーボード31間の切替発生前後における信号の様子を示す図である。 Over Current発生時の信号の様子を示す図である。 リセット回路9の構成を示す図である。 切替機1にUSBハブ34を介してUSBキーボードとUSBマウスを接続した状態を示す図である。 切替機1Aと切替機1Bとをカスケード接続した状態を示す図である。 切替機のカスケード接続を検出する手順を示すフローチャートである。 切替制御モードの動作を示すフローチャートである。 切替制御モード時の切替機1Bの動作を示すフローチャートである。 USBキーボード31と切替機1とサーバAが接続される時の信号の様子を示す図である。 PS/2マウス I/FとPS/2キーボード I/Fとを備える切替機の構成を示す図である。 ソフトウェアによってPS/2マウスを無効化する手順を示す図である。 USBホストコントーラ回路によるファームウェアの書き換え制御フローチャートである。 CPUファームウェア書き換えの手順を示す図である。 CPUファームウェア書き換え時のUSBホストコントローラ回路の手順を示すフローチャートである。 CPUファームウェア書き換え時のCPUの手順を示すフローチャートである。 USBホストコントローラ回路のファームウェアの書き換え制御フローチャートである。 USB装置エミュレーション回路ファームウェア書き換えの手順を示す図である。 USB装置エミュレーション回路ファームウェア書き換え時のUSBホストコントローラ回路の手順を示すフローチャートである。 USB装置エミュレーション回路ファームウェア書き換え時のCPUの手順を示すフローチャートである。 USB装置エミュレーション回路ファームウェア書き換え時のUSB装置エミュレーション回路の手順を示すフローチャートである。
符号の説明
1 切替機 2 USB HC回路
3 USB装置エミュレーション回路
4 ビデオ信号切替回路 5 切替SW
6 CPU 7 OSD回路
8 LED 9 リセット回路
10 USB I/F 11 VGA I/F
21 USB HB 22 MCU
23 RAM 24 フラッシュROM
31 USBキーボード 32 USBマウス
33 ディスプレイ 34 USBハブ
41 PS/2キーボード I/F
42 PS/2マウス I/F
91 リセットSW 92 カウンタ回路
93 リセットIC 94 リセットIC

Claims (25)

  1. コンソール側に接続したUSBデバイスと、ホスト側に接続した電子装置との接続切り替えを行う切替機であって、
    前記コンソール側に接続した前記USBデバイスを制御するUSBホスト回路と、
    前記USBデバイスの切り替え中も前記電子装置との接続状態を保つUSB装置エミュレーション回路と、
    前記USBホスト回路と、前記USB装置エミュレーション回路とを接続する制御回路とを有することを特徴とする切替機。
  2. 前記USBホスト回路は、前記USBデバイスの接続及び取り外しに関わる処理を前記USBホスト回路だけで行うことを特徴とする請求項1記載の切替機。
  3. 前記制御回路は、前記電子装置の切り替えが発生すると、前記USBデバイスからの信号の接続先を、選択されたポートの前記USB装置エミュレーション回路に切り替え、
    前記USBホスト回路は、前記制御回路による前記電子装置の切り替え処理中も前記USBデバイスとの接続を維持することを特徴とする請求項1又は2記載の切替機。
  4. 前記USBホスト回路は、前記USBデバイス内において発生するオーバーカレントに対する処理を、前記USBホスト回路だけで行うことを特徴とする請求項1から3のいずれか一項記載の切替機。
  5. 前記USBホスト回路は、前記USBデバイスで発生するエラーに対する処理を、前記USBホスト回路で行うことを特徴とする請求項1から4のいずれか1項記載の切替機。
  6. 前記USBホスト回路と前記制御回路とを異なるタイミングでリセットするリセットスイッチを有することを特徴とする請求項1から5のいずれか一項記載の切替機。
  7. 前記USBホスト回路は、前記USBデバイスから受信したデータをPS/2形式に変換して前記制御回路に送信することを特徴とする請求項1から6のいずれか一項記載の切替機。
  8. 前記USBホスト回路は、前記USBデバイスから受信したデータをシリアルデータに変換して前記制御回路に送信することを特徴とする請求項1から6のいずれか一項記載の切替機。
  9. 前記USB装置エミュレーション回路は、前記コンソール側に接続した複数のUSBキーボード及びUSBマウスを一組のUSBキーボード及びUSBマウスとして前記電子装置にエニュメレーションさせることを特徴とする請求項1から8のいずれか一項記載の切替機。
  10. 前記USB装置エミュレーション回路は、前記コンソール側にUSBハブを介して接続された複数のUSBキーボード及びUSBマウスを一組のUSBキーボード及びUSBマウスとして前記電子装置にエニュメレーションさせることを特徴とする請求項1から9のいずれか一項記載の切替機。
  11. 前記USBホスト回路は、複数の前記USBデバイスから受信したデータを合成して前記制御回路に送信することを特徴とする請求項9又は10記載の切替機。
  12. 前記制御回路は、所定のキー入力によって切替制御モードへ移行し、USBキーボードからのキー入力あるいはUSBマウスからの入力によって接続する前記電子装置を変更可能とすることを特徴とする請求項1から11のいずれか一項記載の切替機。
  13. 前記制御回路は、前記切替制御モードに移行すると、前記USB装置エミュレーション回路に切替機接続確認コマンドを送信し、
    前記USB装置エミュレーション回路は、ポートからの所定の信号をチェックすることで、複数の前記切替機がカスケード接続されたことを認識し、前記制御回路に通知することを特徴とする請求項12記載の切替機。
  14. 前記USB装置エミュレーション回路は、接続した前記USBデバイスからディスクリプタを取得して、自身のディスクプタを前記ディスクリプタに書き換え、前記電子装置に、前記USBデバイスのディスクリプタを認識させることを特徴とする請求項1から13のいずれか一項記載の切替機。
  15. 前記切替機は、前記USB装置エミュレーション回路を複数具備し、複数の任意の前記USBデバイスをエミュレーション可能とする請求項14記載の切替機。
  16. 前記切替機は、Control転送機能を複数持つUSB装置エミュレーション回路を具備し、複数の任意のUSBデバイスをエミュレーション可能とする請求項14の切替機。
  17. 前記切替機は、他のインタフェースの入出力ポートを備え、前記USBデバイスと、前記他のインタフェースの入力デバイスを同時に接続できることを特徴とする請求項1から16のいずれか一項記載の切替機。
  18. 前記USBホスト回路は、前記USBデバイスの接続を検出して、前記他のインタフェースの入力デバイスを無効化することを特徴とする請求項17記載の切替機。
  19. 前記制御回路は、USBインタフェースの前記USBデバイスの接続を前記USBホスト回路によって検出すると、前記他のインタフェースの入力デバイスの無効化をソフトウェア的に行うことを特徴とした請求項17記載の切替機。
  20. 前記USBホスト回路は、前記USBデバイスが接続されると、該USBデバイスに前記切替機のファームウェアが格納されているか否かをチェックし、該ファームウェアを検出すると前記ファームウェアの書き換えを行うことを特徴とする請求項1から19のいずれか一項記載の切替機。
  21. 前記USBホスト回路は、複数のファームウェアの更新を同時に行うことを特徴とする請求項20記載の切替機。
  22. 前記USBデバイスの状態を表示するLEDを具備することを特徴とする請求項1から21のいずれか一項記載の切替機。
  23. 前記USBデバイスの状態をOSD表示する表示回路を具備することを特徴とする請求項1から22のいずれか一項記載の切替機。
  24. 切替機のコンソール側に接続したUSBデバイスと、ホスト側に接続した電子装置との接続を切り替える切替方法であって、
    接続する前記USBデバイスを切り替えるステップと、
    前記USBデバイスの切り替え中も前記電子装置との接続状態を保つステップと、
    切り替えた前記USBデバイスと前記電子装置とを接続するステップとを有することを特徴とする切替方法。
  25. 切替機のコンソール側に接続したUSBデバイスと、ホスト側に接続した電子装置との接続を切り替える切替プログラムであって、
    コンピュータに、接続する前記USBデバイスを切り替える処理と、
    前記USBデバイスの切り替え中も前記電子装置との接続状態を保つ処理と、
    切り替えた前記USBデバイスと前記電子装置とを接続する処理とを実行させることを特徴とする切替プログラム。
JP2004316319A 2004-10-29 2004-10-29 切替機、切替方法及びプログラム Pending JP2006127252A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004316319A JP2006127252A (ja) 2004-10-29 2004-10-29 切替機、切替方法及びプログラム
US11/260,294 US7433991B2 (en) 2004-10-29 2005-10-28 Selector, selection method, and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004316319A JP2006127252A (ja) 2004-10-29 2004-10-29 切替機、切替方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010278511A Division JP2011090703A (ja) 2010-12-14 2010-12-14 切替機

Publications (1)

Publication Number Publication Date
JP2006127252A true JP2006127252A (ja) 2006-05-18

Family

ID=36263455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004316319A Pending JP2006127252A (ja) 2004-10-29 2004-10-29 切替機、切替方法及びプログラム

Country Status (2)

Country Link
US (1) US7433991B2 (ja)
JP (1) JP2006127252A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108499A (ja) * 2008-10-30 2010-05-13 Action Star Enterprise Co Ltd コンピュータ切替器を利用して複数のコンピュータ本体においてファイルを転送するシステム
JP2011090703A (ja) * 2010-12-14 2011-05-06 Fujitsu Component Ltd 切替機
JP2012068933A (ja) * 2010-09-24 2012-04-05 Digital Electronics Corp コンピュータ切替器
JP2012118728A (ja) * 2010-11-30 2012-06-21 Fujitsu Component Ltd Kvm装置
WO2016117212A1 (ja) * 2015-01-23 2016-07-28 コベルコ建機株式会社 制御手段及びこれを備えた車載プログラムの書き換え装置並びに車載プログラムの書き換え方法
US9740300B2 (en) 2013-10-31 2017-08-22 Fujitsu Limited Information processing system, management apparatus, and management method

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814479B2 (en) * 2005-12-14 2010-10-12 International Business Machines Corporation Simultaneous download to multiple targets
JP2007264697A (ja) * 2006-03-27 2007-10-11 Seiko Epson Corp 処理システム、プロジェクタ、プログラムおよび情報記憶媒体
US7562159B2 (en) * 2006-04-28 2009-07-14 Mediatek Inc. Systems and methods for selectively activating functions provided by a mobile phone
US11068426B2 (en) * 2006-08-31 2021-07-20 Red Hat, Inc. Portable storage device capable of transferring data to a portable storage device
TWI321731B (en) * 2006-09-18 2010-03-11 Quanta Comp Inc Device connection system and device connection method
US7721016B2 (en) * 2007-02-12 2010-05-18 Seagate Technology Llc Method for using host controller to solicit a command failure from target device in order to initiate re-enumeration of the target device
US7761735B2 (en) * 2007-04-13 2010-07-20 International Business Machines Corporation Automated firmware restoration to a peer programmable hardware device
US7761734B2 (en) * 2007-04-13 2010-07-20 International Business Machines Corporation Automated firmware restoration to a peer programmable hardware device
US20080301497A1 (en) * 2007-06-04 2008-12-04 Silicon Motion, Inc. Testing Apparatus, System, and Method for Testing at Least One Device with a Connection Interface
US7769940B2 (en) * 2008-02-13 2010-08-03 Belkin International, Inc. Switching device configured to couple a first computer to a first peripheral device and one or more second peripheral devices and method of manufacturing same
US8890877B2 (en) * 2008-02-28 2014-11-18 Standard Microsystems Corporation Updating firmware in a display device using a serial bus
US8166220B2 (en) 2008-08-04 2012-04-24 Sandisk Il Ltd. Device for connection with a storage device and a host
US7769941B2 (en) * 2008-09-23 2010-08-03 Aten International Co., Ltd. USB matrix switch system
KR101033177B1 (ko) 2008-10-02 2011-05-11 (주)인터넷커머스코리아 업무 프로그램의 자동 테스트 과정 동안 usb 장치의 동작을 가상적으로 대행하는 에뮬레이터 및 그 동작 방법
US20110153901A1 (en) * 2009-06-26 2011-06-23 International Business Machines Corporation Virtual usb key for blade server
US8190798B1 (en) 2011-03-09 2012-05-29 Apple Inc. Client device configuration based on information stored by host device
US20120260013A1 (en) * 2011-04-06 2012-10-11 Oct Technology Co.,Ltd. KVM switcher (Multi-computer switcher) with integrated parallel transmission, serial peripheral interface and universal serial bus
US9430090B2 (en) * 2012-08-08 2016-08-30 Uni-Structures, Inc. Switch system for outputting multimedia content to a digital sign
TW201409277A (zh) * 2012-08-21 2014-03-01 Hon Hai Prec Ind Co Ltd 輸入系統及方法
US10127181B2 (en) 2014-04-30 2018-11-13 Microchip Technology Incorporated Port disconnect charging function for USB hub
US9971395B2 (en) 2014-08-20 2018-05-15 Microchip Technology Incorporated Low power connection detect method and system for USB charging
TWI541657B (zh) * 2014-09-12 2016-07-11 亞信電子股份有限公司 提供主機即時切換及分享通用串列匯流排(usb)電子設備之電子裝置
US10042784B2 (en) 2014-10-13 2018-08-07 Microchip Technology Incorporated Side channel access through USB streams
US10060981B2 (en) 2014-12-03 2018-08-28 Power ProbeTeK, LLC Diagnostic circuit test device
US20160170931A1 (en) * 2014-12-12 2016-06-16 Lantronix, Inc. Console server with usb console port
US9804977B2 (en) 2015-04-28 2017-10-31 Microchip Technology Incorporated Universal serial bus smart hub
US10191874B2 (en) 2015-12-22 2019-01-29 Microchip Technology Incorporated Method and apparatus for providing USB power delivery negotiated through a dedicated transmission channel
US10162788B2 (en) 2016-08-19 2018-12-25 Microchip Technology Incorporated USB on the go (OTG) multi-hub endpoint reflector hub
US10642693B2 (en) * 2017-09-06 2020-05-05 Western Digital Technologies, Inc. System and method for switching firmware
US11188490B1 (en) * 2019-12-10 2021-11-30 Cisco Technology, Inc. Systems and methods for switching a console connection between CPUs

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216251A (ja) * 2000-02-04 2001-08-10 Fujitsu Takamisawa Component Ltd コンピュータ切替器
JP2001282701A (ja) * 2000-03-31 2001-10-12 Aiwa Co Ltd 情報処理装置及び情報処理方法
JP2001352661A (ja) * 2000-06-08 2001-12-21 Sony Corp 接続装置および方法
JP2002140282A (ja) * 2000-10-31 2002-05-17 Sony Corp 切替装置および方法、画像表示装置、ならびに、情報処理装置
JP2002342255A (ja) * 2001-05-14 2002-11-29 Matsushita Electric Ind Co Ltd Usb機器接続装置
WO2003042844A1 (en) * 2001-11-09 2003-05-22 Aten Technology, Inc. Signal switch for console and peripheral devices
JP2003263373A (ja) * 2002-03-07 2003-09-19 Fuji Xerox Co Ltd Usb装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308239B1 (en) * 1996-11-07 2001-10-23 Hitachi, Ltd. Interface switching apparatus and switching control method
JP3194082B2 (ja) 1997-02-12 2001-07-30 株式会社ナナオ 複数コンピュータの選択作動装置
JP2000353145A (ja) 1999-06-10 2000-12-19 Mitsumi Electric Co Ltd Usb切替器
JP2001043178A (ja) 1999-07-30 2001-02-16 Nec Home Electronics Ltd 切換装置
US6708231B1 (en) * 1999-08-12 2004-03-16 Mitsumi Electric Co., Ltd. Method and system for performing a peripheral firmware update
US6378014B1 (en) * 1999-08-25 2002-04-23 Apex Inc. Terminal emulator for interfacing between a communications port and a KVM switch
JP4707291B2 (ja) * 2001-12-10 2011-06-22 富士通コンポーネント株式会社 切替機能付きのコンピュータ装置およびコンピュータシステム
US20030131127A1 (en) * 2002-01-05 2003-07-10 King Randy J. KVM video & OSD switch
JP4527348B2 (ja) * 2002-05-29 2010-08-18 富士通コンポーネント株式会社 インタフェース装置、インタフェース装置におけるファームウェアの更新方法、及びそのプログラム
TW542390U (en) * 2002-06-03 2003-07-11 Action Star Entpr Co Ltd Switch device capable of sharing keyboard, monitor and mouse
TWI295885B (en) * 2002-06-03 2008-04-11 Action Star Entpr Co Ltd Ubs sharer for use with an usb device
US20040075638A1 (en) * 2002-10-17 2004-04-22 Hsu Han USB based on-line on-screen display and method for switching between microprocessor based electronic devices
US20050273312A1 (en) * 2004-06-03 2005-12-08 Francisc Sandulescu Distriubte USB KVM switch

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001216251A (ja) * 2000-02-04 2001-08-10 Fujitsu Takamisawa Component Ltd コンピュータ切替器
JP2001282701A (ja) * 2000-03-31 2001-10-12 Aiwa Co Ltd 情報処理装置及び情報処理方法
JP2001352661A (ja) * 2000-06-08 2001-12-21 Sony Corp 接続装置および方法
JP2002140282A (ja) * 2000-10-31 2002-05-17 Sony Corp 切替装置および方法、画像表示装置、ならびに、情報処理装置
JP2002342255A (ja) * 2001-05-14 2002-11-29 Matsushita Electric Ind Co Ltd Usb機器接続装置
WO2003042844A1 (en) * 2001-11-09 2003-05-22 Aten Technology, Inc. Signal switch for console and peripheral devices
JP2003263373A (ja) * 2002-03-07 2003-09-19 Fuji Xerox Co Ltd Usb装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010108499A (ja) * 2008-10-30 2010-05-13 Action Star Enterprise Co Ltd コンピュータ切替器を利用して複数のコンピュータ本体においてファイルを転送するシステム
JP2012068933A (ja) * 2010-09-24 2012-04-05 Digital Electronics Corp コンピュータ切替器
JP2012118728A (ja) * 2010-11-30 2012-06-21 Fujitsu Component Ltd Kvm装置
JP2011090703A (ja) * 2010-12-14 2011-05-06 Fujitsu Component Ltd 切替機
US9740300B2 (en) 2013-10-31 2017-08-22 Fujitsu Limited Information processing system, management apparatus, and management method
WO2016117212A1 (ja) * 2015-01-23 2016-07-28 コベルコ建機株式会社 制御手段及びこれを備えた車載プログラムの書き換え装置並びに車載プログラムの書き換え方法
JP2016139399A (ja) * 2015-01-23 2016-08-04 コベルコ建機株式会社 制御手段及びこれを備えた車載プログラムの書き換え装置並びに車載プログラムの書き換え方法
US10365918B2 (en) 2015-01-23 2019-07-30 Kobelco Construction Machinery Co., Ltd. Control means, in-vehicle program rewriting device equipped with same, and in-vehicle program rewriting method

Also Published As

Publication number Publication date
US7433991B2 (en) 2008-10-07
US20060095644A1 (en) 2006-05-04

Similar Documents

Publication Publication Date Title
JP2006127252A (ja) 切替機、切替方法及びプログラム
US8886513B2 (en) Embedded bus emulation
US20180011718A1 (en) Re-enumeration of usb 3.0 compatible devices
KR101251250B1 (ko) 원격 디바이스 드라이버를 이용한 원격 제어 시스템 및 원격 디바이스 드라이버를 이용한 원격 제어 방법
KR20050030623A (ko) 원버튼 외장형 백업
US20090210608A1 (en) KVM switch and operation method thereof
US20090077222A1 (en) Kvm switch and multi-computer system incorporating the same
CN102749985B (zh) 动态调整总线时钟的方法及其装置
US9557791B2 (en) Computer device and method for converting working mode of universal serial bus connector of the computer device
CN109791528A (zh) 配置坞
JPH11203230A (ja) デバイスの制御方法および制御装置
US20100082846A1 (en) Usb device and method for connecting the usb device with usb host
CN101980159B (zh) U盘固件的更新装置及更新方法
WO2015196479A1 (zh) 程序数据的更新方法及设备
CN102081526B (zh) 基本输入/输出系统架构
CN102122238B (zh) 计算机管理系统与方法
JP2011090703A (ja) 切替機
TWI545438B (zh) 電腦管理系統與方法
JP2001184296A (ja) Usb通信インターフェース、コンピュータ、ハブ、電子機器、電子機器における機能切換方法
CN101989245A (zh) 投影机及其控制方法和微处理器
CN104823174B (zh) Usb3.0兼容设备的重新列举的方法和系统
CN101226424A (zh) 多媒体电子式切换器
JP2019106067A (ja) 情報処理装置
TWI721520B (zh) 操作裝置
JP6164046B2 (ja) 情報処理システム、管理装置、管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100625

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101214

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101221

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110225