(58)【調査した分野】(Int.Cl.,DB名)
前記制御手段は、前記コンソールから操作対象の情報処理装置に送信される操作データの送信経路と異なる経路を使って、前記第1コマンドを受信し、前記第2コマンドを送信することを特徴とする請求項1に記載のKVMスイッチ。
前記制御手段は、前記コンソールから操作対象の情報処理装置に送信される操作データの送信タイミングが前記第1コマンドの受信タイミング及び前記第2コマンドの送信タイミングと重ならないように、前記操作データの送信タイミングを制御することを特徴とする請求項1又は2に記載のKVMスイッチ。
前記いずれかの情報処理装置から前記第1コマンドを受信した場合に、前記複数の情報処理装置の処理状況を示す情報を表示装置に表示させる表示手段を備える請求項1乃至3のいずれか1項に記載のKVMスイッチ。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら本発明の実施の形態を説明する。
【0012】
図1は、本実施の形態にかかるKVM(K:キーボード、V:ビデオ、M:マウス)スイッチを備えるシステムの構成図である。
図2は、KVMスイッチに含まれるマイコンの構成図である。
【0013】
システム1は、サーバ2〜4、KVMスイッチ5、キーボード6、マウス7及びモニタ8を備えている。サーバ2〜4は、情報処理装置としてのコンピュータである。KVMスイッチ5は、サーバ2〜4と、コンソールと呼ばれるキーボード6、マウス7及びモニタ8との間に接続されている。尚、KVMスイッチ5に接続されるサーバの台数は3台に限定されず、2台でも、4台以上でもよい。本実施の形態では、サーバ2〜4を操作するためにキーボード6及びマウス7から出力されるデータを操作データという。
【0014】
KVMスイッチ5は、KVMスイッチ5全体の動作を制御するマイコン11、後述するOSD(On Screen Display)を提供するためのデータを有するOSDモジュール12と、データポート15、17A〜17Cと、ビデオ信号ポート16、18A〜18Cと、キーボード6及びマウス7からの操作データをデータポート17A〜17Cのいずれかに送信すると共にサーバ2〜4からのコマンドをマイコン11に送信するポートマイコン13A〜13Cと、モニタ8に表示されるビデオ信号の出力元のサーバを選択し且つ切り替えるビデオ信号セレクタ14と、を備えている。データポート15及び17A〜17Cは、例えば、USB(Universal Serial Bus)インターフェースであるが、シリアル通信用インターフェースでもよい。ビデオ信号ポート16及び18A〜18Cは、例えばデジタルビジュアルインタフェース(DVI)である。尚、KVMスイッチ5が備えるデータポート及びビデオ信号ポートの個数は、
図1の例に限定されない。
【0015】
マイコン11は、OSDモジュール12、ポートマイコン13A〜13C、ビデオ信号セレクタ14、データポート15に接続されている。ポートマイコン13A〜13Cは、それぞれデータポート17A〜17Cに接続されており、データポート17A〜17Cはそれぞれサーバ2〜4に接続されている。ビデオ信号セレクタ14は、OSDモジュール12及びビデオ信号ポート16,18A〜18Cに接続されており、ビデオ信号ポート18A〜18Cはサーバ2〜4にそれぞれ接続されている。データポート15は、キーボード6及びマウス7に接続されている。ビデオ信号ポート16は、モニタ8に接続されている。
【0016】
データポート17A及びビデオ信号ポート18Aには、サーバ2が接続されているが、サーバ2の代わりに他のKVMスイッチをカスケード接続することができる。データポート17B及びビデオ信号ポート18B並びにデータポート17C及びビデオ信号ポート18Cには、サーバ3,4の代わりに他のKVMスイッチをカスケード接続することができる。
【0017】
図1,2に示すように、マイコン11は、キーボード6及びマウス7からの操作データの宛先となるサーバを切り替えると共に、サーバ2〜4からのコマンドを解析する制御部22と、サーバ2〜4からのコマンドに応じて所定のサーバに送信され、当該所定のサーバに実行される処理を規定するコマンド、及びマイコン11で実行される処理内容を関連付けた後述するテーブルデータを格納するメモリ23とを備えている。尚、サーバ2〜4からKVMスイッチ5に送信されるコマンドを第1コマンド、KVMスイッチ5からサーバ2〜4に送信されるコマンドを第2コマンドとも称する。第1コマンド及び第2コマンドの種類は、限定されておらず、例えば、処理の実行を通知する実行コマンド、又はエラーを通知するエラーコマンドなどである。
【0018】
制御部22は、サーバ2〜4からの第1コマンドを受信し、メモリ23に格納されたテーブルデータに基づいて第1コマンドを解析し、当該第1コマンドに応じた第2コマンドを所定のサーバに送信する。
図2の例では、制御部22は第1コマンドを、サーバ2、即ち、ポートマイコン13Aから受信し、第2コマンドをサーバ3、即ち、ポートマイコン13Bに送信する。また、制御部22は、キーボード6及びマウス7からの操作データを、操作データの宛先に対応するポートマイコン13A〜13Cのいずれか1つに送信する。
図2の例では、制御部22がキーボード6及びマウス7からの操作データの宛先をサーバ2(即ち、ポートマイコン13A)に切り替えており、キーボード6及びマウス7からの操作データをサーバ2に送信する。
【0019】
キーボード6又はマウス7からサーバの切り替え指示(例えば、「Ctrl」キー+「Alt」キーのようなホットキー)を入力すると、マイコン11はサーバの切り替え用のOSDを出力するためのコマンドをOSDモジュール12に出力する。OSDモジュール12はビデオ信号セレクタ14を介してサーバの切り替え用のOSDをモニタ8に表示する。サーバの切り替え用のOSDにおいて、ユーザが所望のサーバ(切り替え先のサーバ)をキーボード6又はマウス7で選択することにより、マイコン11はサーバの切り替えを実行する。
【0020】
図3は、サーバ2の構成図である。サーバ3,4の構成は、サーバ2の構成と同一なので、その説明は省略する。サーバ2は、サーバ2全体の動作を制御するCPU(Central Processing Unit)30と、ワーキングエリアとして使用されるメモリ31と、アプリケーション、プログラム及びデータを格納するハードディスクドライブ(HDD)32と、ビデオ信号ポート18Aと接続するビデオ信号ポート33と、データポート17Aと接続するデータポート34とを備えている。また、CPU30は、システムバス35を介して、メモリ31、HDD32、ビデオ信号ポート33及びデータポート34に接続されている。ビデオ信号ポート33は例えばDVI(デジタルビジュアルインタフェース)であり、ビデオ信号ポート33はDVI用ケーブルを介してビデオ信号ポート18Aに接続されている。データポート34は、例えばUSBポートであり、データポート34はUSBケーブルを介してデータポート17Aに接続されている。尚、操作データ及びビデオ信号の通信ができる限り、サーバ2〜4とKVMスイッチ5との間に接続されるケーブルの種類は限定されない。サーバ2〜4は、操作データ及びビデオ信号の通信が可能な専用のケーブルを介してKVMスイッチ5と接続されてもよい。
【0021】
図4は、サーバ2〜4で異常が検出されたときにサーバ2〜4からKVMスイッチ5に送信される第1コマンドの一例を示す図である。
【0022】
第1コマンドは2バイトで構成されており、1バイト目のコードは異常の種類を示し、2バイト目のコードは、第1コマンドの送信元のサーバ接続されるデータポートを示す。1バイト目のコード「0x0A」は、温度異常を示し、1バイト目のコード「0x0B」は、電圧異常を示し、1バイト目のコード「0x0C」は、異常操作を示す。2バイト目のコード「0x01」は、データポート17Aを示し、2バイト目のコード「0x02」は、データポート17Bを示し、2バイト目のコード「0x03」は、データポート17Cを示す。尚、1バイト目及び2バイト目のコードは、これらの例に限定されるものではない。
【0023】
1バイト目及び2バイト目のコードは、予めサーバ2〜4のメモリ31又はHDD32に記憶されている。サーバ2〜4で異常が検出されると、記憶されているコードに基づいてサーバ2〜4のCPU30が異常に対応する第1コマンドを作成して、KVMスイッチ5に送信する。例えば、サーバ2で電圧異常が検出されると、サーバ2のCPU30が、1バイト目のコードが「0x0B」であり、2バイト目のコードが「0x01」である第1コマンドを作成して、KVMスイッチ5に送信する。サーバ3で温度異常が検出されると、サーバ3のCPU30が、1バイト目のコードが「0x0A」であり、2バイト目のコードが「0x02」である第1コマンドを作成して、KVMスイッチ5に送信する。
【0024】
また、サーバ2〜4のメモリ31又はHDD32は、KVMスイッチ5から受信する第2コマンドを解析して実行するためのプログラムを格納している。サーバ2〜4のCPU30は、KVMスイッチ5から第2コマンドを受信すると、このプログラムを使って、第2コマンドを解析して、第2コマンドに規定された処理を実行する。
【0025】
図5は、サーバ2〜4で異常が検出されたときにKVMスイッチ5からサーバ2〜4に送信される第2コマンドの一例を示す図である。
【0026】
第2コマンドは2バイトで構成されており、1バイト目のコードは異常の種類を示し、2バイト目のコードは、第2コマンドの送信先のサーバで実行される処理を示す。1バイト目のコード「0x0A」は、温度異常を示し、1バイト目のコード「0x0B」は、電圧異常を示し、1バイト目のコード「0x0C」は、異常操作を示す。2バイト目のコード「0xA0」は、データのレコードを示し、2バイト目のコード「0xB0」は、データのバックアップを示し、2バイト目のコード「0xC0」は、サーバのシャットダウンを示す。尚、1バイト目及び2バイト目のコードは、これらの例に限定されるものではない。
【0027】
図6は、KVMスイッチ5のメモリ23に格納されたテーブルデータを示す図である。
【0028】
テーブルデータは、サーバ2〜4から送信される第1コマンドと、当該第1コマンドに応じて送信される第2コマンドと、マイコン11で実行される処理内容とを関連付けたデータである。処理内容には、第1コマンドが検出された場合の第2コマンドの送付先も規定されている。テーブルデータは、予めメモリ23に記憶されている。尚、テーブルデータは編集可能であり、
図6の例に限定されるものではない。
【0029】
サーバ2〜4の異常に対応する第1コマンドを受信すると、マイコン11は、テーブルデータに基づいて第1コマンドを解析すると共に、受信した第1コマンドに対応する第2コマンドを作成し、テーブルデータに規定されたデータポートに第2コマンドを送信する。
図6の例では、1バイト目のコードが「0x0A」であり、2バイト目のコードが「0x01」である第1コマンドをデータポート17A(即ち、サーバ2)から受信した場合に、マイコン11は1バイト目のコードが「0x0A」であり、2バイト目のコードが「0xA0」である第2コマンドをデータポート17B(即ち、サーバ3)に送信すると共に、1バイト目のコードが「0x0A」であり、2バイト目のコードが「0xB0」である第2コマンドをデータポート17C(即ち、サーバ4)に送信する。また、1バイト目のコードが「0x0B」であり、2バイト目のコードが「0x01」である第1コマンドをデータポート17B(即ち、サーバ3)から受信した場合に、マイコン11は1バイト目のコードが「0x0B」であり、2バイト目のコードが「0xC0」である第2コマンドをデータポート17A(即ち、サーバ2)に送信する。
【0030】
このように、サーバ2〜4はKVMスイッチ5に対して第1コマンドを送信することができる。そして、KVMスイッチ5はテーブルデータに基づいて第2コマンドを作成し、テーブルデータに規定されたデータポートを介して所定のサーバに第2コマンドを送信することができる。つまり、KVMスイッチ5に接続されたサーバ2〜4は、KVMスイッチ5を介して互いに制御することができる。
【0031】
図4〜
図6では、第1コマンド及び第2コマンドの例として、サーバ2〜4の異常に対応するコマンドを説明したが、第1コマンド及び第2コマンドはサーバの異常に対応するコマンドに限定されるものではない。例えば、第1コマンドがサーバ2のデータ処理結果を示し、第2コマンドがサーバ3,4で実行させるデータ処理命令を示す場合、テーブルデータによってサーバ2からの第1コマンドに基づいて第2コマンドをサーバ3,4に送信することを規定することで、KVMスイッチ5は、サーバ2の処理結果に基づいて、サーバ3,4にデータ処理を実行させることができる。
【0032】
図7(A)は、サーバ2〜4及びKVMスイッチ5で実行される処理の一例を示すシーケンス図である。
図7(B)は、操作データ及び第1コマンド又は第2コマンドの送信状態を示す図である。
【0033】
図7(A)において、KVMスイッチ5はキーボード6及びマウス7からの操作データをサーバ2に送信する(ステップS1)。
図7(A)では、操作対象のサーバはサーバ2であるが、操作対象のサーバはサーバ3又はサーバ4でもよい。操作対象のサーバがサーバ3又はサーバ4である場合には、
図7(A)の操作データは、KVMスイッチ5からサーバ3又はサーバ4に送信される。
【0034】
図7(B)に示すように、操作データは第1コマンド又は第2コマンドと衝突しないように送信される。例えば、KVMスイッチ5の制御部22は、操作データの送信が第1コマンドの受信タイミング及び第2コマンドの送信タイミングと重ならないように、操作データの送信タイミングを制御する。これにより、マイコン11とサーバ2〜4との間の既存の操作データの経路を使って、操作データの通信に加えてサーバ2〜4の間の第1コマンド及び第2コマンドの通信が可能となる。
【0035】
図7(A)において、サーバ2のCPU30が異常を検出すると(ステップS2)、サーバ2のCPU30は第1コマンドをKVMスイッチ5に送信する(ステップS3)。
図7(A)の例では、サーバ2の温度異常が検出され、(0x0A、0x01)の第1コマンドが送信されている。尚、
図7(A)の各コマンドの括弧内の前の文字列が1バイト目のコードを示し、後の文字列が2バイト目のコードを示す。
【0036】
KVMスイッチ5の制御部22は、テーブルデータに基づいて第1コマンド(0x0A、0x01)を解析し、第2コマンドを作成する(ステップS4)。
【0037】
KVMスイッチ5は、第1コマンドを受信すると、
図8に示すように、各サーバ及びKVMスイッチ5の処理状況をユーザに通知する。具体的には、KVMスイッチ5が第1コマンドを受信すると、OSDモジュール12が各サーバの処理状況を示すOSDをモニタ8に表示する(ステップS5)。
【0038】
次いで、KVMスイッチ5はキーボード6及びマウス7からの操作データをサーバ2に送信する(ステップS6)。尚、操作データは、第1コマンド又は第2コマンドと衝突しない限り、必ずしも第2コマンドの作成後のタイミングでサーバ2に送信される必要はない。
【0039】
KVMスイッチ5の制御部22は、テーブルデータに従って、第2コマンド(0x0A、0xA0)をサーバ3に送信する(ステップS7)と共に、第2コマンド(0x0A、0xB0)をサーバ4に送信する(ステップS8)。サーバ3は受信した第2コマンド(0x0A、0xA0)に従って処理を実行する(ステップS9)。ここでは、
図5,6で規定された「0xA0」のデータレコード処理がサーバ3で実行される。サーバ4は受信した第2コマンド(0x0A、0xB0)に従って処理を実行する(ステップS10)。ここでは、
図5,6で規定された「0xB0」のデータバックアップ処理がサーバ4で実行される。
【0040】
図8の「サーバ2 異常検出 第1コマンド送信完了」は、サーバ2が異常を検出し、第1コマンドをKVMスイッチ5に送信したことを示す(*S5では第2コマンド未送信)。
図8の「サーバ3 実行中... 第2コマンド受信完了」は、サーバ3が第2コマンドを受信して、対応する処理を実行していることを示す。
図8の「サーバ4 実行中... 第2コマンド受信完了」は、サーバ4が第2コマンドを受信して、対応する処理を実行していることを示す。
【0041】
サーバ3,4が処理を実行している間(ステップS9,S10)、KVMスイッチ5はキーボード6及びマウス7からの操作データをサーバ2に送信する(ステップS11)。尚、操作データは、第1コマンド又は第2コマンドと衝突しない限り、必ずしもサーバ3,4が処理を実行している間にサーバ2に送信される必要はない。
【0042】
次に、サーバ3のCPU30が電圧異常を検出すると(ステップS12)、サーバ3のCPU30は第1コマンド(0x0B、0x02)をKVMスイッチ5に送信する(ステップS13)。KVMスイッチ5の制御部22は、テーブルデータに基づいて第1コマンド(0x0B、0x02)を解析し、対応する第2コマンドを作成する(ステップS14)。OSDモジュール12は各サーバ及びKVMスイッチ5の処理状況を示すOSDをモニタ8に表示する(ステップS15)。KVMスイッチ5の制御部22は、テーブルデータに従って、第2コマンド(0x0B、0xC0)をサーバ2に送信する(ステップS16)。サーバ2は受信した第2コマンド(0x0B、0xC0)に従って処理を実行する(ステップS17)。ここでは、
図5,6で規定された「0xC0」のサーバシャットダウン処理がサーバ2で実行される。
【0043】
その後、KVMスイッチ5はキーボード6及びマウス7からの操作データをサーバ2に送信する(ステップS18)。尚、操作データは、第1コマンド又は第2コマンドと衝突しない限り、必ずしもサーバ2の処理後にサーバ2に送信される必要はない。
【0044】
このように、KVMスイッチ5の制御部22は、操作データの送信経路(即ち、キーボード6及びマウス7からKVMスイッチ5を介してサーバ2までの経路)と異なる経路(即ち、KVMスイッチ5と各サーバとの間の経路)を使って、コマンドの送受信を実行できる。
【0045】
以上説明したように、本実施の形態によれば、KVMスイッチ5は操作対象のサーバに操作データを送信しながら、操作対象のサーバ又は他のサーバから第1コマンドを受信すると共に操作対象のサーバ又は他のサーバへ第2コマンドを送信することができる。つまり、KVMスイッチ5は、キーボード6及びマウス7からの操作データを操作対象のサーバに送信することとは別に、接続されたサーバとKVMスイッチ5との間でコマンドの送受信を実行できる。
【0046】
また、KVMスイッチ5は、テーブルデータに基づいて、接続されたサーバとKVMスイッチ5との間でコマンドの送受信を実行できるので、KVMスイッチ5に接続されたサーバの動作を自動的に管理でき、ユーザが手動でサーバに処理を実行させる必要がなく、ユーザのサーバ管理負担を軽減できる。
【0047】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。