図面 (/)

技術 KVMスイッチ

出願人 富士通コンポーネント株式会社
発明者 朴真秀岡田了平羽山正伸石井尚樹安野和洋
出願日 2014年10月28日 (6年2ヶ月経過) 出願番号 2014-219621
公開日 2016年5月19日 (4年7ヶ月経過) 公開番号 2016-085690
状態 特許登録済
技術分野 データの入出力機構(インターフェイス)
主要キーワード Shiftキー KVMスイッチ Ctrlキー 通知リクエスト 切り替え元 エニュメレーション処理 発行間隔 オートスキャン
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年5月19日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (11)

課題

他のKVMスイッチからの制御データの送信指示なしに、他のKVMスイッチの制御データを送信することができるKVMスイッチを提供する。

解決手段

コンピュータキーボード及びマウスとの間に接続されるKVM(K:キーボード、V:ビデオ、M:マウス)スイッチ30は、他のKVMスイッチ40とカスケード接続するUSBポート34dと、他のKVMスイッチ40の動作を制御する制御情報を含む制御データの作成指示を入力するコントローラ32又はボタン群36と、制御データの作成指示が入力された場合に、キーボード又はマウスから入力されるキーコードデータと同一のデータ形式を有すると共に制御データを示す第1識別子(80h)と制御情報とを含む制御データを作成するコントローラ32と、作成された制御データを他のKVMスイッチ40に出力するUSBポート34dとを備える。

概要

背景

従来より、キーボードマウス及びモニタで構成されるコンソールを複数のコンピュータ共有する際に、その複数のサーバ切り替えKVMスイッチが知られている(例えば、特許文献1参照)。このKVMスイッチは、別のKVMスイッチをカスケード接続することができる。

図1は、カスケード接続された複数のKVMスイッチと、複数のコンピュータと、キーボード及びマウスとを有するシステムを示す図である。尚、図1では、ビデオデータに関する構成を省略している。

図1に示すシステム10は、コンピュータ1,2、マスタKVMスイッチ3、スレーブKVMスイッチ4、及びキーボード及びマウス5を備えている。コンピュータ1は、USB(Universal Serial Bus)ホストとして機能するUSBポート1aを有し、USBケーブル6を介してマスタKVMスイッチ3のUSBポート3dに接続されている。コンピュータ2は、USBホストとして機能するUSBポート2aを有し、USBケーブル7を介してスレーブKVMスイッチ4のUSBポート4dに接続されている。

マスタKVMスイッチ3は、USBホストとして機能するUSBポート3a、KVMスイッチ全体の動作を制御するコントローラ3b、USBポート3d〜3gを切り替える切替スイッチ3c及びUSBデバイスとして機能するUSBポート3d〜3gを備えている。スレーブKVMスイッチ4は、USBホストとして機能するUSBポート4a、KVMスイッチ全体の動作を制御するコントローラ4b、USBポート4d〜4gを切り替える切替スイッチ4c及びUSBデバイスとして機能するUSBポート4d〜4gを備えている。USBポート4aは、USBケーブル8を介してUSBポート3gに接続されている。USBデバイスとして機能するキーボード及びマウス5は、USBケーブル9を介してマスタKVMスイッチ3のUSBポート3aに接続されている。

キーボード及びマウス5は、キーコードおよびマウスデータをマスタKVMスイッチ3又はスレーブKVMスイッチ4に送信する。

概要

他のKVMスイッチからの制御データの送信指示なしに、他のKVMスイッチの制御データを送信することができるKVMスイッチを提供する。コンピュータとキーボード及びマウスとの間に接続されるKVM(K:キーボード、V:ビデオ、M:マウス)スイッチ30は、他のKVMスイッチ40とカスケード接続するUSBポート34dと、他のKVMスイッチ40の動作を制御する制御情報を含む制御データの作成指示を入力するコントローラ32又はボタン群36と、制御データの作成指示が入力された場合に、キーボード又はマウスから入力されるキーコードデータと同一のデータ形式を有すると共に制御データを示す第1識別子(80h)と制御情報とを含む制御データを作成するコントローラ32と、作成された制御データを他のKVMスイッチ40に出力するUSBポート34dとを備える。

目的

本発明は、他のKVMスイッチからの制御データの送信指示なしに、他のKVMスイッチの制御データを送信することができるKVMスイッチを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータキーボード及びマウスとの間に接続されるKVM(K:キーボード、V:ビデオ、M:マウス)スイッチであって、他のKVMスイッチカスケード接続する接続手段と、前記他のKVMスイッチの動作を制御する制御情報を含む制御データの作成指示を入力する入力手段と、前記制御データの作成指示が入力された場合に、前記キーボード又は前記マウスから入力されるキーコードデータと同一のデータ形式を有すると共に前記制御データを示す第1識別子と前記制御情報とを含む制御データを作成する作成手段と、前記作成された制御データを前記他のKVMスイッチに出力する出力手段とを備えることを特徴とするKVMスイッチ。

請求項2

前記他のKVMスイッチとのカスケード接続が確立しているか否かを判別する判別手段を備え、前記他のKVMスイッチとのカスケード接続が確立していないと判別された場合に、前記作成手段は、前記制御データを作成しないことを特徴とする請求項1に記載のKVMスイッチ。

請求項3

前記制御データの作成指示としてOSD(On-Screen Display)が起動された場合には、前記作成手段は、前記キーボード又は前記マウスから入力されるキーコードデータに含まれるキーコードに対応する制御情報と前記第1識別子とを含む制御データを作成することを特徴とする請求項1又は2に記載のKVMスイッチ。

請求項4

前記他のKVMスイッチに接続される操作対象のコンピュータを切り替えるボタンを有し、前記制御データの作成指示として前記ボタンが押下された場合には、前記作成手段は、前記押下されたボタンに対応する制御情報と前記第1識別子とを含む制御データを作成することを特徴とする請求項1乃至3のいずれか1項に記載のKVMスイッチ。

請求項5

前記判別手段は、前記他のKVMスイッチとのUSB(Universal Serial Bus)接続が確立した場合に、前記他のKVMスイッチとのカスケード接続が確立しているか否かを判別することを特徴とする請求項2に記載のKVMスイッチ。

請求項6

コンピュータと他のKVMスイッチとの間に接続されるKVM(K:キーボード、V:ビデオ、M:マウス)スイッチであって、前記他のKVMスイッチとカスケード接続する接続手段と、前記他のKVMスイッチに接続されたキーボード又はマウスから入力されるキーコードデータと、前記キーコードデータと同一のデータ形式を有すると共に前記KVMスイッチの動作を制御する制御情報を含む制御データとを受信する受信手段と、前記他のKVMスイッチとのカスケード接続が確立しており且つ前記他のKVMスイッチから受信したデータが前記制御データである場合に、前記制御情報に応じた処理を実行し、前記他のKVMスイッチとのカスケード接続が確立しておらず且つ前記他のKVMスイッチから受信したデータが前記制御データである場合に、当該受信したデータを廃棄する制御手段とを備えることを特徴とするKVMスイッチ。

請求項7

前記他のKVMスイッチから受信したデータが前記キーコードデータである場合には、前記制御手段は、当該キーコードデータを前記コンピュータに送信し、前記他のKVMスイッチから受信したデータが前記制御データである場合には、前記制御手段は、当該制御データを前記コンピュータに送信しないことを特徴とする請求項6に記載のKVMスイッチ。

請求項8

前記制御データは、前記制御データを示す第1識別子と前記制御情報とを含み、前記キーコードデータは、キーコードと、当該キーコードデータを示す第2識別子と含み、さらに、前記第1識別子及び前記第2識別子に基づいて、前記他のKVMスイッチから受信したデータが前記制御データであるか又は前記キーコードデータであるかを判別する第1判別手段を備えることを特徴とする請求項6又は7に記載のKVMスイッチ。

請求項9

前記他のKVMスイッチから受信する所定のリクエストに基づいて、前記他のKVMスイッチとのカスケード接続が確立しているか否かを判別する第2判別手段を備えていることを特徴とする請求項6乃至8のいずれか1項に記載のKVMスイッチ。

技術分野

0001

本発明は、KVMスイッチに関する。

背景技術

0002

従来より、キーボードマウス及びモニタで構成されるコンソールを複数のコンピュータ共有する際に、その複数のサーバ切り替えるKVMスイッチが知られている(例えば、特許文献1参照)。このKVMスイッチは、別のKVMスイッチをカスケード接続することができる。

0003

図1は、カスケード接続された複数のKVMスイッチと、複数のコンピュータと、キーボード及びマウスとを有するシステムを示す図である。尚、図1では、ビデオデータに関する構成を省略している。

0004

図1に示すシステム10は、コンピュータ1,2、マスタKVMスイッチ3、スレーブKVMスイッチ4、及びキーボード及びマウス5を備えている。コンピュータ1は、USB(Universal Serial Bus)ホストとして機能するUSBポート1aを有し、USBケーブル6を介してマスタKVMスイッチ3のUSBポート3dに接続されている。コンピュータ2は、USBホストとして機能するUSBポート2aを有し、USBケーブル7を介してスレーブKVMスイッチ4のUSBポート4dに接続されている。

0005

マスタKVMスイッチ3は、USBホストとして機能するUSBポート3a、KVMスイッチ全体の動作を制御するコントローラ3b、USBポート3d〜3gを切り替える切替スイッチ3c及びUSBデバイスとして機能するUSBポート3d〜3gを備えている。スレーブKVMスイッチ4は、USBホストとして機能するUSBポート4a、KVMスイッチ全体の動作を制御するコントローラ4b、USBポート4d〜4gを切り替える切替スイッチ4c及びUSBデバイスとして機能するUSBポート4d〜4gを備えている。USBポート4aは、USBケーブル8を介してUSBポート3gに接続されている。USBデバイスとして機能するキーボード及びマウス5は、USBケーブル9を介してマスタKVMスイッチ3のUSBポート3aに接続されている。

0006

キーボード及びマウス5は、キーコードおよびマウスデータをマスタKVMスイッチ3又はスレーブKVMスイッチ4に送信する。

先行技術

0007

特開2005−18135号公報

発明が解決しようとする課題

0008

上記のシステム10において、マスタKVMスイッチ3がスレーブKVMスイッチ4のUSBポート4d〜4gを切り替える場合、マスタKVMスイッチ3が、切り替え元及び切り替え先ポートを示すポート情報をスレーブKVMスイッチ4に送信する必要がある。

0009

しかしながら、USB規格では、ポート情報の送信の指示がUSBホストからUSBデバイスに送られないと、USBデバイスはポート情報をUSBホストに送信することはできない。つまり、ポート情報の送信の指示がスレーブKVMスイッチ4のUSBポート4aからマスタKVMスイッチ3のUSBポート3gに送られないと、USBポート3gはポート情報をUSBポート4aに送信することはできない。

0010

そのため、スレーブKVMスイッチ4がUSBのセットアップリクエストを定期的にマスタKVMスイッチ3に送信し、その応答データとしてマスタKVMスイッチ3がポート情報をスレーブKVMスイッチ4に送信する方法が考えられる。

0011

しかしながら、スレーブKVMスイッチ4がUSBのセットアップリクエストを定期的にマスタKVMスイッチ3に送信する場合、USBインタフェース(すなわち、USBポート4a,3g)に負荷がかかり、USBのセットアップリクエストの発行間隔によっては、マスタKVMスイッチ3からのポート情報の送信が遅延するおそれがある。

0012

本発明は、他のKVMスイッチからの制御データの送信指示なしに、他のKVMスイッチの制御データを送信することができるKVMスイッチを提供することを目的とする。また、本発明は、他のKVMスイッチへの制御データの送信指示なしに、自身の制御データを受信し、当該制御データに応じた処理を実行することができるKVMスイッチを提供することを目的とする。

課題を解決するための手段

0013

上記目的を達成するため、明細書に開示されたKVMスイッチは、コンピュータとキーボード及びマウスとの間に接続されるKVM(K:キーボード、V:ビデオ、M:マウス)スイッチであって、他のKVMスイッチとカスケード接続する接続手段と、前記他のKVMスイッチの動作を制御する制御情報を含む制御データの作成指示を入力する入力手段と、前記制御データの作成指示が入力された場合に、前記キーボード又は前記マウスから入力されるキーコードデータと同一のデータ形式を有すると共に前記制御データを示す第1識別子と前記制御情報とを含む制御データを作成する作成手段と、前記作成された制御データを前記他のKVMスイッチに出力する出力手段とを備える。

0014

上記目的を達成するため、明細書に開示されたKVMスイッチは、コンピュータと他のKVMスイッチとの間に接続されるKVM(K:キーボード、V:ビデオ、M:マウス)スイッチであって、前記他のKVMスイッチとカスケード接続する接続手段と、前記他のKVMスイッチに接続されたキーボード又はマウスから入力されるキーコードデータと、前記キーコードデータと同一のデータ形式を有すると共に前記KVMスイッチの動作を制御する制御情報を含む制御データとを受信する受信手段と、前記他のKVMスイッチとのカスケード接続が確立しており且つ前記他のKVMスイッチから受信したデータが前記制御データである場合に、前記制御情報に応じた処理を実行し、前記他のKVMスイッチとのカスケード接続が確立しておらず且つ前記他のKVMスイッチから受信したデータが前記制御データである場合に、当該受信したデータを廃棄する制御手段とを備える。

発明の効果

0015

本発明によれば、他のKVMスイッチからの制御データの送信指示なしに、他のKVMスイッチの制御データを送信することができる。また、本発明によれば、他のKVMスイッチへの制御データの送信指示なしに、自身のKVMスイッチの制御データを受信し、当該制御データに応じた処理を実行することができる。

図面の簡単な説明

0016

カスケード接続された複数のKVMスイッチと、複数のコンピュータと、キーボード及びマウスとを有するシステムを示す図である。
本実施の形態に係るKVM(K:キーボード、V:ビデオ、M:マウス)スイッチを備えるシステムの構成図である。
USB IDの一例を示す図である。
KVMバージョン情報の対応テーブルの一例を示す図である。
USBのキーコードデータのデータフォーマットを示す図である。
マスタKVMスイッチ及びスレーブKVMスイッチの制御データのデータフォーマットを示す図である。
(A)は、OSDを起動することにより、制御データを作成する方法を示すフローチャートである。(B)は、ボタン群のボタンを押下することにより、制御データを作成する方法を示すフローチャートである。
マスタKVMスイッチとスレーブKVMスイッチとの間のカスケード接続を確立する処理を示すシーケンス図である。
マスタKVMスイッチで実行される処理を示すフローチャートである。
スレーブKVMスイッチで実行される処理を示すフローチャートである。

実施例

0017

以下、図面を参照しながら本発明の実施の形態を説明する。

0018

図2は、本実施の形態に係るKVM(K:キーボード、V:ビデオ、M:マウス)スイッチを備えるシステムの構成図である。図2に示すシステム100では、ビデオデータに関するKVMスイッチの構成、サーバの構成及びコンソールとしてKVMスイッチに接続されるモニタを省略している。

0019

図2に示すシステム100は、コンピュータ21,22、マスタKVMスイッチ30、スレーブKVMスイッチ40、及びキーボード及びマウス50を備えている。マスタKVMスイッチ30及びスレーブKVMスイッチ40に接続されるコンピュータの台数は1つに限定されるものではなく、複数のコンピュータがマスタKVMスイッチ30及びスレーブKVMスイッチ40の各々に接続されてもよい。

0020

コンピュータ21は、USB(Universal Serial Bus)ホストとして機能するUSBポート21aを有し、USBケーブル11を介してマスタKVMスイッチ30のUSBポート34aに接続されている。コンピュータ22は、USBホストとして機能するUSBポート22aを有し、USBケーブル12を介してスレーブKVMスイッチ40のUSBポート44aに接続されている。

0021

マスタKVMスイッチ30は、USBホストとして機能するUSBポート31と、マスタKVMスイッチ30全体の動作を制御するコントローラ32と、USBポート34a〜34dを切り替える切替スイッチ33と、コンピュータ21及びスレーブKVMスイッチ40と接続可能であり、USBデバイスとして機能するUSBポート34a〜34dとを備えている。コントローラ32は、入力手段、作成手段及び判別手段として機能する。USBポート34a〜34dは接続手段及び出力手段として機能する。さらに、マスタKVMスイッチ30は、コンピュータと接続されるUSBポート(例えばUSBポート34a〜34d及び44a〜44d)を切り替えたり、各種のマスタKVMスイッチ30の制御情報を設定するためのOSD(On-Screen Display)を不図示のモニタに表示するOSDコントローラ35と、コンピュータと接続されるUSBポート(例えばUSBポート34a〜34d及び44a〜44d)を切り替えるための複数のボタンで構成されるボタン群36とを備えている。

0022

コントローラ32は、USBポート31、切替スイッチ33、OSDコントローラ35及びボタン群36に接続されている。さらに、切替スイッチ33は、USBポート34a〜34dに接続されている。コントローラ32はキャッシュメモリ32aを備えている。

0023

スレーブKVMスイッチ40は、USBホストとして機能するUSBポート41と、スレーブKVMスイッチ40全体の動作を制御するコントローラ42と、USBポート44a〜44dを切り替える切替スイッチ43と、コンピュータ22と接続可能であり、USBデバイスとして機能するUSBポート44a〜44dとを備えている。USBポート41は接続手段として機能する。コントローラ42は、受信手段、制御手段、第1判別手段及び第2判別手段として機能する。さらに、スレーブKVMスイッチ40は、コンピュータと接続されるUSBポート(例えば、USBポート44a〜44d)を切り替えたり、各種のスレーブKVMスイッチ40の制御情報を設定するためのOSD(On-Screen Display)を不図示のモニタに表示するOSDコントローラ45と、コンピュータと接続されるUSBポート(例えばUSBポート44a〜44d)を切り替えるための複数のボタンで構成されるボタン群46とを備えている。

0024

コントローラ42は、USBポート41、切替スイッチ43、OSDコントローラ45及びボタン群46に接続されている。さらに、切替スイッチ43は、USBポート44a〜44dに接続されている。コントローラ42はキャッシュメモリ42aを備えている。

0025

USBポート41は、USBケーブル14を介してUSBポート34dに接続されている。尚、USBポート41は、USBケーブル14を介してUSBポート34a〜34cのいずれかに接続されてもよい。USBデバイスとして機能するキーボード及びマウス50は、マスタKVMスイッチ30のUSBポート31に接続されている。

0026

キーボード及びマウス50は、キーコードデータに加えて、マスタKVMスイッチ30及びスレーブKVMスイッチ40の制御情報をマスタKVMスイッチ30に送信する。制御情報は、マスタKVMスイッチ30がスレーブKVMスイッチ40のUSBポート44a〜44dを切り替えるためのコマンド、マスタKVMスイッチ30がUSBポート34a〜34dを切り替えるためのコマンド、マスタKVMスイッチ30及びスレーブKVMスイッチ40に接続されている複数のコンピュータを順次切り替え、各コンピュータの動作を監視するためのコマンド(オートスキャンコマンド)、及びスレーブKVMスイッチ40に対してリセットを指示するためのリセット開始コマンドを含む。

0027

マスタKVMスイッチ30及びスレーブKVMスイッチ40は、実質的に同じ構成を備えているので、マスタKVMスイッチ30をスレーブKVMスイッチとして使用することもでき、スレーブKVMスイッチ40をマスタKVMスイッチとして使用することもできる。各KVMスイッチへのマスタ又はスレーブの設定は、OSDコントローラ35で読み出されたOSD上で行われる。

0028

ここで、キャッシュメモリ32a,42aは、各々図3に示すUSB IDと、図4に示すKVMバージョン情報の対応テーブルを備えている。図3はUSB IDの一例を示す図であり、図4は、KVMバージョン情報の対応テーブルの一例を示す図である。

0029

図3に示すように、USB IDは、ベンダID及びプロダクトIDを含む。ベンダIDはKVMスイッチの販売会社を特定する識別子であり、プロダクトIDはKVMスイッチの種類を特定する識別子である。USB IDは、マスタKVMスイッチ30がカスケード接続機能を有するか否かを判断するためにスレーブKVMスイッチ40のコントローラ42によって利用される。具体的には、マスタKVMスイッチ30及びスレーブKVMスイッチ40がUSB接続された場合に、スレーブKVMスイッチ40のコントローラ42は、マスタKVMスイッチ30からUSB IDを取得する。そして、コントローラ42は、その取得されたUSB IDがキャッシュメモリ42aに格納されたUSB IDと一致する場合に、マスタKVMスイッチ30がカスケード接続機能を有すると判断する。コントローラ42は、その取得されたUSB IDがキャッシュメモリ42aに格納されたUSB IDと一致しない場合に、マスタKVMスイッチ30がカスケード接続機能を有しないと判断する。

0030

本実施の形態では、キャッシュメモリ32a,42aは、各々自KVMスイッチのKVMバージョン情報(例えば「0001h」)を有する。KVMバージョン情報は、カスケード接続に対応するKVMスイッチを示す情報である。

0031

図4のKVMバージョン情報の対応テーブルは、マスタKVMスイッチ30がスレーブKVMスイッチ40のKVMバージョン情報を確認し、スレーブKVMスイッチ40がマスタKVMスイッチ30のKVMバージョン情報を確認することを示している。つまり、マスタKVMスイッチ30はスレーブKVMスイッチ40のKVMバージョン情報を取得し、その取得したKVMバージョン情報が、対応テーブルに記載されたスレーブのKVMバージョン情報と一致する場合には、マスタKVMスイッチ30はスレーブKVMスイッチ40がカスケード接続に対応するKVMスイッチであると判断する。取得したKVMバージョン情報が、対応テーブルに記載されたスレーブのKVMバージョン情報と一致しない場合に、マスタKVMスイッチ30はスレーブKVMスイッチ40がカスケード接続に対応するKVMスイッチでないと判断する。

0032

スレーブKVMスイッチ40はマスタKVMスイッチ30のKVMバージョン情報を取得し、その取得したKVMバージョン情報が、対応テーブルに記載されたマスタのKVMバージョン情報と一致する場合には、スレーブKVMスイッチ40はマスタKVMスイッチ30がカスケード接続に対応するKVMスイッチであると判断する。取得したKVMバージョン情報が、対応テーブルに記載されたマスタのKVMバージョン情報と一致しない場合には、スレーブKVMスイッチ40はマスタKVMスイッチ30がカスケード接続に対応するKVMスイッチでないと判断する。

0033

図5は、USBのキーコードデータのデータフォーマットを示す図である。

0034

キーコードデータは、キーボード又はマウスからマスタKVMスイッチ30に入力され、8バイトで構成される。1バイト目ShiftキーCtrlキーなどのモディファイヤーキー情報が設定され、3バイト目から8バイト目に数字キー文字キーのキーコードが設定される。2バイト目は、リザーブ(Reserve)の領域であり、0固定である。この2バイト目に入力される「0」は、後述するように、キーコードデータの識別子として機能する。尚、本実施の形態では、マウスから入力されるデータ及びキーボードから入力されるデータは、同一のデータフォーマットを有し、キーコードデータとして説明される。

0035

図6は、マスタKVMスイッチ30及びスレーブKVMスイッチ40の制御データのデータフォーマットを示す図である。

0036

マスタKVMスイッチ30及びスレーブKVMスイッチ40の制御データは、キーコードデータと同様に8バイトで構成される。1バイト目は、リザーブ(Reserve)の領域であり、0固定である又は制御情報が設定される。2バイト目には、制御データを示す制御データ識別子として「80h」が設定される。3バイト目から8バイト目には、マスタKVMスイッチ30及びスレーブKVMスイッチ40の制御情報が設定される。

0037

マスタKVMスイッチ30及びスレーブKVMスイッチ40の制御データは、制御情報を設定するためのOSDが起動している場合やコンピュータと接続されるUSBポート(例えばUSBポート34a〜34d,44a〜44d)を切り替えるためボタン群36,46のボタンが押下された場合に、コントローラ32,42によって作成される。なお、本実施の形態では、マスタKVMスイッチ30がスレーブKVMスイッチ40とカスケード接続されており、スレーブKVMスイッチ40にキーボード及びマウスが接続されていないため、制御データはコントローラ32によって作成される。スレーブKVMスイッチ40にキーボード及びマウスが接続されている場合(例えば、スレーブKVMスイッチ40が単体で使用される場合やマスターKVMスイッチとして機能する場合)は、コントローラ42が制御データを作成する。

0038

ここで、コントローラ32が制御データを作成する方法について説明する。図7(A)は、OSDを起動することにより、制御データを作成する方法を示すフローチャートである。図7(B)は、ボタン群36のボタンを押下することにより、制御データを作成する方法を示すフローチャートである。

0039

図7(A)では、予め規定されたホットキー(たとえば、ファンクションキー+「1」キー)が入力されると、コントローラ32は、OSDコントローラ35を使って、OSDを起動する(ステップS1)。オペレータがキーボード及びマウス50でキーコードを入力すると、コントローラ32は制御データを新たに作成する。この場合、コントローラ32は、入力されたキーコードに対応する制御情報を制御データの3バイト目から8バイト目に設定し(ステップS2)、制御データの1バイト目に「0」を設定し、制御データの2バイト目に制御データ識別子を設定する(ステップS3)。これにより、制御データの作成が完了する。

0040

また、図7(B)においてボタン群36のいずれかのボタンが押下された場合には(ステップS4でYES)、コントローラ32は、制御データを新たに作成する。この場合、コントローラ32は、押下されたボタンに対応する制御情報を制御データの3バイト目から8バイト目に設定し(ステップS5)、制御データの1バイト目に「0」を設定し、制御データの2バイト目に制御データ識別子を設定する(ステップS6)。これにより、制御データの作成が完了する。

0041

このように、本実施の形態では、制御データのデータフォーマットをキーコードデータのデータフォーマットと同一にし、マスタKVMスイッチ30からの制御情報の送信にキーコードデータのデータフォーマットを利用している。これにより、スレーブKVMスイッチ40のコントローラ42が、キーコードデータと同様に制御データを受信することができるので、従来のように、スレーブKVMスイッチ40がUSBのセットアップリクエストを定期的にマスタKVMスイッチ30に送信する必要がなくなる。

0042

ここで、制御データのデータフォーマットをキーコードデータのデータフォーマットと同一にしない場合を検討する。例えば、USBのベンダー定義として制御情報をキーボード及びマウス50からのキーコードデータに追加する方法が考えられる。

0043

この場合、USBのデータ構成を示すレポートディスクリプタがベンダー定義の制御情報を含むので、コンピュータ21,22のBIOS(Basic Input/Output System)セットアップにおいてキーボード及びマウス50が動作しない可能性がある。つまり、制御データのデータフォーマットをキーコードデータのデータフォーマットと同一にしない場合には、コンピュータ21,22の操作で不具合が発生するおそれがある。したがって、制御データのデータフォーマットをキーコードデータのデータフォーマットと同一にすることで、コンピュータ21,22の操作で不具合が発生することを回避できる。

0044

制御情報が、スレーブKVMスイッチ40の動作を制御するコマンド(例えば、スレーブKVMスイッチ40のUSBポート44a〜44dを切り替えるためのコマンド)である場合には、制御データは、マスタKVMスイッチ30とスレーブKVMスイッチ40との間のカスケード接続が確立した後にマスタKVMスイッチ30からスレーブKVMスイッチ40に送信される。

0045

スレーブKVMスイッチ40が8バイトのデータをマスタKVMスイッチ30から受信すると、コントローラ42は、受信したデータの2バイト目が「0」であるか、又は制御データ識別子(80h)であるかを判別する。これにより、コントローラ42は、マスタKVMスイッチ30からキーコードデータが送られたのか又は制御データが送られたのかを判断することができる。

0046

マスタKVMスイッチ30から受信したデータの2バイト目が制御データ識別子である場合には、コントローラ42は、受信したデータの1バイト目及び/又は3バイト目から8バイト目の制御情報を確認する。制御情報が、例えば、USBポート44aからUSBポート44bに切り替えるためのコマンドである場合には、コントローラ42は、USBポート44aからUSBポート44bに切り替える処理を行う、即ち、USBポート44aからUSBポート44bに切り替えるように切替スイッチ43を制御する。

0047

図8は、マスタKVMスイッチ30とスレーブKVMスイッチ40との間のカスケード接続を確立する処理を示すシーケンス図である。

0048

マスタKVMスイッチ30がスレーブKVMスイッチ40にUSB接続されると、スレーブKVMスイッチ40のUSBポート41(USBホスト)は、マスタKVMスイッチ30のUSBポート34d(USBデバイス)に対し、エニュメレーション処理を行う(ステップS11)。エニュメレーション処理では、USBデバイス側の機器(ここではマスタKVMスイッチ30)がどのようなUSB機器であるかを示すUSB IDがUSBホスト側の機器(ここではスレーブKVMスイッチ40)に送信される。

0049

コントローラ42は、マスタKVMスイッチ30のUSB IDが、カスケード接続機能を有するKVMスイッチのUSB IDと一致するか否かを判別する(ステップS12)。カスケード接続機能を有するKVMスイッチのUSB IDは予めキャッシュメモリ42aに格納されている。マスタKVMスイッチ30のUSB IDが、カスケード接続機能を有するKVMスイッチのUSB IDと一致する場合には、コントローラ42は、USB接続を認識する(ステップS13)。マスタKVMスイッチ30のUSB IDが、カスケード接続機能を有するKVMスイッチのUSB IDと一致しない場合には、コントローラ42は、USB接続を認識できないので、カスケード接続を確立する処理を中止する。マスタKVMスイッチ30のUSB IDが、カスケード接続機能を有するKVMスイッチのUSB IDと一致する場合には、コントローラ42は、スレーブKVMスイッチ40のKVMバージョン情報を含むカスケードバージョン通知リクエスト(GET_CASCADE_VERSION)をマスタKVMスイッチ30のコントローラ32に送信する(ステップS14)。

0050

コントローラ32は、カスケードバージョン通知リクエストを受信すると、カスケードバージョン通知リクエストに含まれるスレーブKVMスイッチ40のKVMバージョン情報が、図4の対応テーブルに記載されたスレーブKVMスイッチ40のKVMバージョン情報と一致するか否かを判別する(ステップS15)。スレーブKVMスイッチ40のKVMバージョン情報が、図4の対応テーブルに記載されたスレーブKVMスイッチ40のKVMバージョン情報と一致する場合、コントローラ32は、マスタKVMスイッチ30のKVMバージョン情報をスレーブKVMスイッチ40に返信する(ステップS16)。

0051

コントローラ42は、マスタKVMスイッチ30のKVMバージョン情報を受信すると、受信したマスタKVMスイッチ30のKVMバージョン情報が、図4の対応テーブルに記載されたマスタKVMスイッチ30のKVMバージョン情報と一致するか否かを判別する(ステップS17)。受信したマスタKVMスイッチ30のKVMバージョン情報が、図4の対応テーブルに記載されたマスタKVMスイッチ30のKVMバージョン情報と一致する場合には、コントローラ42は、カスケードイネーブルリクエストSET_CASCADE_ENABLE)をマスタKVMスイッチ30に送信する(ステップS18)。コントローラ32は、カスケードイネーブルリクエストを受信し、スレーブKVMスイッチ40のコントローラ42とカスケード接続を確立する(ステップS19)。

0052

スレーブKVMスイッチ40の制御データは、カスケード接続の確立後に、マスタKVMスイッチ30のコントローラ32からスレーブKVMスイッチ40のコントローラ42に送信される。

0053

図9は、マスタKVMスイッチ30で実行される処理を示すフローチャートである。

0054

まず、マスタKVMスイッチ30のコントローラ32は、カスケード接続が確立しているか否かを判別する(ステップS21)。上述したように、コントローラ32は、カスケード接続を確立する前にカスケードイネーブルリクエストをマスタKVMスイッチ30から受信しているので(図8のステップS18)、カスケードイネーブルリクエストをマスタKVMスイッチ30に受信しているか否かに基づいてカスケード接続が確立しているか否かを判断することができる。

0055

カスケード接続が確立している場合には(ステップS21でYES)、コントローラ32は、スレーブKVMスイッチ40用の制御データの作成指示が入力されたか否かを判別する(ステップS22)。スレーブKVMスイッチ40用の制御データは、OSDでの制御データの入力又はボタン群36のボタンの押下により作成されるので、ここでは、コントローラ32は、OSDでのスレーブKVMスイッチ40用の制御データの入力又はボタン群36のボタンの押下を監視することにより、ステップS22の判別を実行する。

0056

スレーブKVMスイッチ40用の制御データの作成指示が入力されている場合には(ステップS22でYES)、コントローラ32は、キーボード及びマウス50から入力されたキーコードデータ又はボタン群36のボタンの押下に基づいて、スレーブKVMスイッチ40用の制御データを作成する(ステップS23)。なお、具体的なスレーブKVMスイッチ40用の制御データの作成方法は、図7(A)又は図7(B)に基づいている。その後、コントローラ32は、作成された制御データをスレーブKVMスイッチ40のコントローラ42に送信し(ステップS24)、本処理を終了する。

0057

一方、スレーブKVMスイッチ40用の制御データの作成指示が入力されていない場合には(ステップS22でNO)、コントローラ32は、キーボード及びマウス50から入力されたキーコードデータをスレーブKVMスイッチ40のコントローラ42に送信し(ステップS25)、本処理を終了する。

0058

カスケード接続が確立していない場合には(ステップS21でNO)、コントローラ32は、スレーブKVMスイッチ40用の制御データの作成指示が入力されたか否かを判別する(ステップS26)。スレーブKVMスイッチ40用の制御データの作成指示が入力されている場合には(ステップS26でYES)、コントローラ32は、そのスレーブKVMスイッチ40用の制御データの作成指示を無視し(ステップS27)、本処理を終了する。この場合、USB接続は確立していても、カスケード接続が確立していないので、コントローラ32がスレーブKVMスイッチ40用の制御データをコントローラ42に送信しても、コントローラ42はコントローラ32からのスレーブKVMスイッチ40用の制御データをキーコードデータとして誤認識するからである。

0059

スレーブKVMスイッチ40用の制御データの作成指示が入力されていない場合(ステップS26でNO)、コントローラ32は、キーボード及びマウス50から入力されたキーコードデータをスレーブKVMスイッチ40のコントローラ42に送信し(ステップS28)、本処理を終了する。

0060

図10は、スレーブKVMスイッチ40で実行される処理を示すフローチャートである。

0061

まず、スレーブKVMスイッチ40のコントローラ42は、カスケード接続が確立しているか否かを判別する(ステップS31)。上述したように、コントローラ42は、カスケード接続を確立する前にカスケードイネーブルリクエストをマスタKVMスイッチ30に送信しているので(図8のステップS18)、カスケードイネーブルリクエストをマスタKVMスイッチ30に送信しているか否かに基づいてカスケード接続が確立しているか否かを判断することができる。

0062

カスケード接続が確立している場合には(ステップS31でYES)、コントローラ42は、8バイトのデータをマスタKVMスイッチ30から受信したか否かを判別する(ステップS32)。8バイトのデータをマスタKVMスイッチ30から受信していない場合には(ステップS32でNO)、本処理を終了する。一方、8バイトのデータをマスタKVMスイッチ30から受信した場合には(ステップS32でYES)、コントローラ42は、受信したデータの2バイト目が「0」であるか、又は制御データ識別子(80h)であるかを判別する(ステップS33)。ここでは、コントローラ42は、マスタKVMスイッチ30からキーコードデータが送られたのか又は制御データが送られたのかを判断している。

0063

ステップS33において、マスタKVMスイッチ30から受信したデータの2バイト目が制御データ識別子である場合には、コントローラ42は、受信したデータの1バイト目及び/又は3バイト目から8バイト目の制御情報に応じた処理を実行し、この受信したデータをスレーブKVMスイッチ40に接続されているコンピュータに送信しない(ステップS34)。この場合、受信したデータは、スレーブKVMスイッチ40用の制御データであるので、受信したデータがスレーブKVMスイッチ40に接続されているコンピュータに送信されると、当該コンピュータが誤動作を引き起こすためである。

0064

ステップS33において、マスタKVMスイッチ30から受信したデータの2バイト目が「0」である場合には、コントローラ42は、受信したデータをスレーブKVMスイッチ40に接続されているコンピュータに送信し(ステップS35)、本処理を終了する。

0065

カスケード接続が確立していない場合には(ステップS31でNO)、コントローラ42は、8バイトのデータをマスタKVMスイッチ30から受信したか否かを判別する(ステップS36)。8バイトのデータをマスタKVMスイッチ30から受信していない場合には(ステップS36でNO)、本処理を終了する。

0066

8バイトのデータをマスタKVMスイッチ30から受信した場合には(ステップS36でYES)、コントローラ42は、受信したデータの2バイト目が「0」であるか、又は制御データ識別子(80h)であるかを判別する(ステップS37)。

0067

ステップS37において、マスタKVMスイッチ30から受信したデータの2バイト目が制御データ識別子である場合には、コントローラ42は、受信したデータを無効な制御データとして廃棄し、この受信したデータをスレーブKVMスイッチ40に接続されているコンピュータに送信しない(ステップS38)。この場合、カスケード接続が確立していないので、スレーブKVMスイッチ40が受信したデータを処理できないためである。また、受信したデータがスレーブKVMスイッチ40に接続されているコンピュータに送信されると、当該コンピュータが誤動作を引き起こすためである。

0068

ステップS37において、マスタKVMスイッチ30から受信したデータの2バイト目が「0」である場合には、コントローラ42は、受信したデータをスレーブKVMスイッチ40に接続されているコンピュータに送信し(ステップS39)、本処理を終了する。

0069

上記実施の形態では、マスタKVMスイッチ30とスレーブKVMスイッチ40との間のインターフェースとして、USBインターフェースを利用したが、I2C(HID Over I2C)のようなマスタ/スレーブ関係を持つインターフェースも利用できる。

0070

以上説明したように、本実施の形態によれば、マスタKVMスイッチ30のコントローラ32が制御データのデータフォーマットをキーコードデータのデータフォーマットと同一にし、マスタKVMスイッチ30からの制御情報の送信にキーコードデータのデータフォーマットを利用している。これにより、スレーブKVMスイッチ40のコントローラ42が、キーコードデータと同様に制御データを受信することができるので、従来のように、スレーブKVMスイッチ40がUSBのセットアップリクエストを定期的にマスタKVMスイッチ30に送信する必要がなくなる。

0071

また、本実施の形態では、スレーブKVMスイッチ40の制御データを送信する専用のUSBポート(USBデバイス)をマスタKVMスイッチ3及びスレーブKVMスイッチ4に新たに設ける必要がない。また、多くのUSBデバイスに対応するコントローラをマスタKVMスイッチ3及びスレーブKVMスイッチ4に新たに設ける必要がない。従って、マスタKVMスイッチ3及びスレーブKVMスイッチ4の製造コストを抑制できる。

0072

尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。

0073

21,22コンピュータ
30マスタKVMスイッチ
31,34a〜34d,41,44a〜44dUSBポート
32,42コントローラ
33,43切替スイッチ
35,45OSDコントローラ
36,46 ボタン群
40スレーブKVMスイッチ
50キーボード及びマウス
100 システム

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ