(57)【要約】【課題】スレーブＫＶＭスイッチがマスタＫＶＭスイッチにカスケード接続される場合にスレーブＫＶＭスイッチの不使用の端子を有効活用できるＫＶＭシステムを提供する。【解決手段】マスタＫＶＭ１にカスケード接続されたスレーブＫＶＭ７は、自装置に接続されたデバイス５からのデータをマスタＫＶＭ１に接続されたユーザが選択中のサーバ６に送信する場合に、当該データの送信元情報を含む付加データをデバイス５からのデータに追加し、マスタＫＶＭ１に送信する制御ＩＣ２２ｓを備え、マスタＫＶＭ１は、送信元情報がデバイスであり、ユーザが選択中のＫＶＭスイッチがマスタＫＶＭ１である場合に、付加データを除去し、デバイス５からのデータをユーザが選択中のサーバ６に送信する制御ＩＣ２２を備える。【選択図】図７
2019185193.tif 000002
【特許請求の範囲】
【請求項１】
サーバが接続される第１ＫＶＭスイッチと、前記第１ＫＶＭスイッチにカスケード接続されると共にデバイスが接続される第２ＫＶＭスイッチとを備えるＫＶＭシステムであって、
前記第２ＫＶＭスイッチは、前記デバイスからのデータをユーザが選択中のサーバに送信する場合に、当該データの送信元を示す情報を含む第１付加データを前記デバイスからのデータに追加し、前記第１ＫＶＭスイッチに送信する第２制御手段を備え、
前記第１ＫＶＭスイッチは、前記送信元を示す情報が前記デバイスであり、前記ユーザが選択中のＫＶＭスイッチが前記第１ＫＶＭスイッチである場合に、前記第１付加データを除去し、前記デバイスからのデータを前記ユーザが選択中のサーバに送信する第１制御手段を備えることを特徴とするＫＶＭシステム。
【請求項２】
前記第１制御手段は、前記第２ＫＶＭスイッチから受信した前記デバイスの種類、識別子及び前記デバイスが接続されているＫＶＭスイッチの識別子と、前記サーバとの間で構築された通信ラインとを関連付けした第１関連付けデータを作成し、
前記ユーザが選択中のサーバからのデータを前記デバイスに送信する場合に、前記第１制御手段は前記送信元を示す情報及び前記デバイスの種類を含む第２付加データを前記ユーザが選択中のサーバからのデータに追加し、
前記第１関連付けデータが前記第２付加データに含まれる前記デバイスの種類に対応するデバイスを含む場合に、前記第１制御手段は前記デバイスが接続されているＫＶＭスイッチの識別子及び前記デバイスの識別子を前記第２付加データに追加し、
前記デバイスが接続されているＫＶＭスイッチが前記第２ＫＶＭスイッチである場合に、前記第１制御手段は前記第２付加データを追加した前記ユーザが選択中のサーバからのデータを前記第２ＫＶＭスイッチに送信し、
前記送信元を示す情報がサーバであり且つ前記デバイスが接続されているＫＶＭスイッチが前記第２ＫＶＭスイッチである場合に、前記第２制御手段は前記第２付加データを除去し、前記ユーザが選択中のサーバからのデータを前記デバイスの識別子で特定されるデバイスに送信することを特徴とする請求項１に記載のＫＶＭシステム。
【請求項３】
前記第２ＫＶＭスイッチは、前記デバイスの種類、前記デバイスの識別子及び前記デバイスが接続されているＫＶＭスイッチの識別子と、前記第２ＫＶＭスイッチに接続されたサーバとの間で構築された通信ラインとを関連付けした第２関連付けデータを備え、
前記第２ＫＶＭスイッチに接続されたサーバから前記デバイスにデータを送信する場合に、前記第２制御手段は、前記第２関連付けデータに基づいて前記第２ＫＶＭスイッチに接続されたサーバからのデータを前記第１ＫＶＭスイッチを介さずに前記デバイスに送信することを特徴とする請求項１又は２に記載のＫＶＭシステム。
【請求項４】
前記第１ＫＶＭスイッチ及び前記第２ＫＶＭスイッチの各々は、前記デバイスが前記第２制御手段に認識された場合は点滅し、前記デバイスが前記第１制御手段と前記サーバとの間で構築された通信ラインと関連付けられた場合に点灯する照明手段を備えることを特徴とする請求項１乃至３のいずれか１項に記載のＫＶＭシステム。
【請求項５】
前記第１ＫＶＭスイッチ及び前記第２ＫＶＭスイッチの各々は、前記デバイスが前記第１制御手段と前記サーバとの間で構築された通信ラインと関連付けられない場合に、関連付けの再実行を指示する指示手段を備えることを特徴とする請求項１乃至３のいずれか１項に記載のＫＶＭシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カスケード接続された複数のＫＶＭ（Ｋ：キーボード、Ｖ：ビデオ、Ｍ：マウス）スイッチを備えるＫＶＭシステムに関する。
【背景技術】
【０００２】
複数のサーバから選択したサーバをコンソール（キーボード、マウス、ディスプレイ）を使用して操作及び閲覧を可能にするＫＶＭスイッチが存在する（例えば、特許文献１参照）。また、ＫＶＭスイッチ同士をカスケード接続することで接続可能なサーバ数を拡張する技術が知られている（例えば、特許文献２参照）。スレーブＫＶＭスイッチは、マスタＫＶＭスイッチから受信したコンソールのデータをスレーブＫＶＭスイッチに接続しているサーバに送信し、又はスレーブＫＶＭスイッチに接続しているサーバから受信したデータをマスタＫＶＭスイッチに送信する。つまり、スレーブＫＶＭスイッチは、マスタＫＶＭスイッチと自身に接続しているサーバとの間のデータの中継を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２１６２５１号公報
【特許文献２】特開２００３−１６３６７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＫＶＭスイッチはコンソール又は他のＫＶＭスイッチを接続するための複数のコンソールポートを備えている。ＫＶＭスイッチ同士がカスケード接続された場合、スレーブＫＶＭスイッチには不使用のコンソールポートが発生するが、カスケード接続時に不使用のコンソールポートにデバイスを接続しても、マスタＫＶＭスイッチが当該デバイスを認識せず、スレーブＫＶＭスイッチの不使用のコンソールポートを有効活用できていない。
【０００５】
本発明の目的は、第２ＫＶＭスイッチが第１ＫＶＭスイッチにカスケード接続される場合に第２ＫＶＭスイッチの不使用の端子を有効活用できるＫＶＭシステムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、明細書に開示されたＫＶＭシステムは、サーバが接続される第１ＫＶＭスイッチと、前記第１ＫＶＭスイッチにカスケード接続されると共にデバイスが接続される第２ＫＶＭスイッチとを備えるＫＶＭシステムであって、前記第２ＫＶＭスイッチは、前記デバイスからのデータをユーザが選択中のサーバに送信する場合に、当該データの送信元を示す情報を含む第１付加データを前記デバイスからのデータに追加し、前記第１ＫＶＭスイッチに送信する第２制御手段を備え、前記第１ＫＶＭスイッチは、前記送信元を示す情報が前記デバイスであり、前記ユーザが選択中のＫＶＭスイッチが前記第１ＫＶＭスイッチである場合に、前記第１付加データを除去し、前記デバイスからのデータを前記ユーザが選択中のサーバに送信する第１制御手段を備えることを特徴とする。
【発明の効果】
【０００７】
本発明のＫＶＭシステムによれば、第２ＫＶＭスイッチが第１ＫＶＭスイッチにカスケード接続される場合に第２ＫＶＭスイッチの不使用の端子を有効活用できる。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係るＫＶＭシステムの構成図である。
【図２】ＭＣＵの構成図である。
【図３】マスタＫＶＭスイッチとサーバとの間で構築された通信ラインとスレーブＫＶＭスイッチに接続されたデバイスとの関連付け処理を示すフローチャートである。
【図４】マスタＫＶＭスイッチに保存される関連付けデータの例を示す図である。
【図５】デバイスの有効又は無効を設定する設定画面の一例を示す図である。
【図６】付加データの構造例を示す図である。
【図７】スレーブＫＶＭスイッチに接続されたデバイスからサーバにデータを送信する処理を示す図である。
【図８】サーバからスレーブＫＶＭスイッチに接続されたデバイスに対してデータを送信する処理を示す図である。
【図９】（Ａ）は通信ＩＣとメイン処理制御ＩＣとの間で送受信されるデータの構造例を示す図である。（Ｂ）はホストコントローラＩＣとメイン処理制御ＩＣとの間で送受信されるデータの構造例を示す図である。（Ｃ）はホストコントローラＩＣと通信ＩＣとの間で送受信されるデータの構造例を示す図である。
【図１０】デバイスからデータを受信した際の付加データを使用した受信データの処理を示すフローチャートである。
【図１１】サーバからデータを受信した際の付加データを使用した受信データの処理を示すフローチャートである。
【図１２】マスタＫＶＭスイッチがスレーブＫＶＭスイッチからデータを受信した際の付加データを使用した受信データの処理を示すフローチャートである。
【図１３】スレーブＫＶＭスイッチがマスタＫＶＭスイッチからデータを受信した際の付加データを使用した受信データの処理を示すフローチャートである。
【図１４】マスタＫＶＭスイッチ及びスレーブＫＶＭスイッチのフロントパネルの構成図である。
【図１５】実施例２に係るスレーブＫＶＭスイッチに接続されたデバイスとサーバとで通信を行う例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００１０】
（実施例１）
図１は、実施例１に係るＫＶＭシステムの構成図である。
【００１１】
図１のＫＶＭシステム１００は第１ＫＶＭスイッチとしてのマスタＫＶＭスイッチ（「マスタＫＶＭ」）１と、第２ＫＶＭスイッチとしてのスレーブＫＶＭスイッチ（「スレーブＫＶＭ」）７とを備えている。マスタＫＶＭ１及びスレーブＫＶＭ７は同一のハードウエア構成を有するが、説明の便宜上、参照番号を変更している。
【００１２】
マスタＫＶＭ１は、マスタＫＶＭ１の動作を制御するＭＣＵ（Micro Controller Unit）２と、複数のコンソールポート３と、複数のサーバポート４とを備えている。ＭＣＵ２はデータを格納する記憶手段としてのＥＥＰＲＯＭ（不揮発性メモリ）２ａを備えている。ＭＣＵ２は複数のコンソールポート３及び複数のサーバポート４と接続されている。各コンソールポート３は、データ用のＰＳ／２、シリアル又はＵＳＢなどのインターフェース若しくはビデオ用のＶＧＡ又はＤＶＩなどのインターフェースであり、デバイス５としてのモニタ５ａ、マウス５ｂ及びキーボード５ｃにそれぞれ接続されている。コンソールポート３にはプリンタ又は記憶媒体なども接続可能である。各サーバポート４は、データ用のＰＳ／２、シリアル又はＵＳＢなどのインターフェース若しくはビデオ用のＶＧＡ又はＤＶＩなどのインターフェースであり、複数のサーバ６に接続される。さらに、図１に示すように、マスタＫＶＭ１がスレーブＫＶＭ７にカスケード接続される場合、１つのサーバポート４には、カスケード接続用のケーブル１２が接続される。
【００１３】
スレーブＫＶＭ７は、スレーブＫＶＭ７の動作を制御するＭＣＵ８と、複数のコンソールポート９と、複数のサーバポート１０とを備えている。ＭＣＵ８はデータを格納するＥＥＰＲＯＭ８ａを備えている。ＭＣＵ８は、複数のコンソールポート９及び複数のサーバポート１０と接続されている。各コンソールポート９は、データ用のＰＳ／２、シリアル又はＵＳＢなどのインターフェース若しくはビデオ用のＶＧＡ又はＤＶＩなどのインターフェースであり、１つのコンソールポート９には、ケーブル１２が接続されている。残りのコンソールポート９には、マウス、キーボード、プリンタ又は記憶媒体などのデバイス５が接続されている。各サーバポート１０は、データ用のＰＳ／２、シリアル又はＵＳＢなどのインターフェース若しくはビデオ用のＶＧＡ又はＤＶＩなどのインターフェースであり、複数のサーバ１１にそれぞれ接続されている。
【００１４】
尚、コンソールポート３,９及びサーバポート４,１０の個数は、３個に限定されるものではない。また、スレーブＫＶＭ７は１台に限定されるものではなく、ＫＶＭシステム１００はスレーブＫＶＭ７を複数備えていてもよい。
【００１５】
また、本実施例では、コンソールポート３,９はデバイス５とＵＳＢで接続しており、サーバポート４,１０はサーバ６，１１とＵＳＢで接続しており、ケーブル１２はＵＳＢケーブルであるとする。また、マスタＫＶＭ１には識別子としてＫＶＭ番号「０」が設定され、スレーブＫＶＭ７にはＫＶＭ番号「１」が設定されているものとする。
【００１６】
図２は、ＭＣＵ２の構成図である。ＭＣＵ８の構成はＭＣＵ２の構成と同様なのでその説明は省略する。ＭＣＵ２は、ホストコントローラＩＣ（「コントローラ」）２１と、第１制御手段として機能するメイン処理制御ＩＣ（「制御ＩＣ」）２２と、複数の通信ＩＣ２３ａ〜２３ｃとを備えている。制御ＩＣ２２はコントローラ２１と通信ＩＣ２３ａ〜２３ｃとの間に接続されている。
【００１７】
コントローラ２１は、認識可能なデバイス５の個数を保持するレジスタ２１ａ及びデバイス５の接続認識時に各デバイス５から取得するデータを保存するＲＡＭ２１ｂを備えている。制御ＩＣ２２は各種のデータ処理を行う。通信ＩＣ２３ａ〜２３ｃはサーバ６と１対１接続され、サーバ６とのデータ通信を行う。マスタＫＶＭ１がスレーブＫＶＭ７とカスケード接続される場合は、マスタＫＶＭ１の通信ＩＣ２３ａ〜２３ｃの一つがスレーブＫＶＭ７のコントローラ２１と接続される。
【００１８】
次に、スレーブＫＶＭ７に接続されたデバイス５でマスタＫＶＭ１に接続されたサーバと通信する方法について説明する。
【００１９】
図３は、マスタＫＶＭ１とサーバ６との間で構築された通信ライン（エンドポイント）とスレーブＫＶＭ７に接続されたデバイス５との関連付け処理を示すフローチャートである。マスタＫＶＭ１はスレーブＫＶＭ７にカスケード接続されているものとする。
【００２０】
マスタＫＶＭ１及びスレーブＫＶＭ７にサーバ６、１１を接続すると、サーバ６，１１はマスタＫＶＭ１及びスレーブＫＶＭ７をキーボード、マウス、記憶媒体及びプリンタの機能を持つ複合デバイスとして認識する。これにより、サーバ６、１１ではマスタＫＶＭ１及びスレーブＫＶＭ７との通信ラインがそれぞれ構築される（Ｓ１）。通信ラインの構築は、通常のＵＳＢ認識処理で実施される。ＵＳＢ認識時にキーボード、マウス、記憶媒体及びプリンタに対応するデバイス５をそれぞれいくつ認識させるかは通信ＩＣ２３ａ〜２３ｃの性能次第で増やすことが可能であるが、本実施例ではキーボード、マウス、記憶媒体及びプリンタに対応するデバイス５を１つずつ認識させる。
【００２１】
スレーブＫＶＭ７にデバイス５を接続すると、ＭＣＵ８はＵＳＢ認識処理を行う（Ｓ２）。デバイス５がキーボード、マウス、記憶媒体又はプリンタに対応する場合には、ＭＣＵ８はサーバ１１との間で構築された通信ラインのうち、対応する通信ラインとデバイス５とを関連付ける。これにより、スレーブＫＶＭ７に接続されたデバイス５はスレーブＫＶＭ７を通じてサーバ１１と通信を行うことが可能である。
【００２２】
ＭＣＵ８は、ＫＶＭ番号から自身がマスタＫＶＭ１であるか否かを確認する（Ｓ３）。ＫＶＭ番号から自身がマスタＫＶＭであると判断した場合には（Ｓ３でＮＯ）、本処理を終了する。自身がマスタＫＶＭでないと判断した場合には（Ｓ３でＹＥＳ）、ＭＣＵ８はスレーブＫＶＭ７に接続されたデバイス５の種類（Device Type）及びProduct IDをマスタＫＶＭ１に送信する（Ｓ４）。
【００２３】
マスタＫＶＭ１のＭＣＵ２は、ＭＣＵ８から受信した情報に基づいて、デバイス５の種類が「０１（キーボード）」であるか否かを判別する（Ｓ５）。デバイス５の種類が「０１」である場合には（Ｓ５でＹＥＳ）、ＭＣＵ２はデバイス５の種類（キーボード）、Product ID及びＫＶＭ番号をマスタＫＶＭ１とサーバ６との間で構築された通信ラインと関連付けてＥＥＰＲＯＭ２ａに保存する（Ｓ９）。このＫＶＭ番号は、デバイス５が接続されたスレーブＫＶＭ７の番号である。デバイス５の種類が「０１」でない場合には（Ｓ５でＮＯ）、ＭＣＵ２はデバイス５の種類が「０２（マウス）」であるか否かを判別する（Ｓ６）。
【００２４】
デバイス５の種類が「０２」である場合には（Ｓ６でＹＥＳ）、ＭＣＵ２はデバイス５の種類（マウス）、Product ID及びＫＶＭ番号をマスタＫＶＭ１とサーバ６との間で構築された通信ラインと関連付けてＥＥＰＲＯＭ２ａに保存する（Ｓ１０）。デバイス５の種類が「０２」でない場合には（Ｓ６でＮＯ）、ＭＣＵ２はデバイス５の種類が「０３（記憶媒体）」であるか否かを判別する（Ｓ７）。
【００２５】
デバイス５の種類が「０３」である場合には（Ｓ７でＹＥＳ）、ＭＣＵ２はデバイス５の種類（記憶媒体）、Product ID及びＫＶＭ番号をマスタＫＶＭ１とサーバ６との間で構築された通信ラインと関連付けてＥＥＰＲＯＭ２ａに保存する（Ｓ１１）。デバイス５の種類が「０３」でない場合には（Ｓ７でＮＯ）、ＭＣＵ２は、デバイス５の種類が「０４（プリンタ）」であるか否かを判別する（Ｓ８）。
【００２６】
デバイス５の種類が「０４」である場合には（Ｓ８でＹＥＳ）、ＭＣＵ２はデバイス５の種類（プリンタ）、Product ID及びＫＶＭ番号をマスタＫＶＭ１とサーバ６との間で構築された通信ラインと関連付けてＥＥＰＲＯＭ２ａに保存する（Ｓ１２）。デバイス５の種類が「０４」でない場合には（Ｓ８でＮＯ）Ｓ１３の処理に進む。
【００２７】
Ｓ９〜Ｓ１２の保存が完了すると、関連付けが完了したことをスレーブＫＶＭ７に知らせるために、ＭＣＵ２は保存したデバイス５の種類、Product ID及びＫＶＭ番号をスレーブＫＶＭ７に送信し、スレーブＫＶＭ７がこれを保存する（Ｓ１３）。これにより、マスタＫＶＭ１とサーバ６との間で構築された通信ラインとスレーブＫＶＭ７に接続されたデバイス５とが関連付けられる。
【００２８】
図４は、マスタＫＶＭ１に保存される関連付けデータの例を示す図である。図４の関連付けデータでは、通信ライン、デバイス５の種類、Product ID及びデバイス５が接続されているＫＶＭスイッチのＫＶＭ番号が関連付けされている。なお、図４のデータにおいて「デバイスなし」はProduct IDが００００であることを示している。マスタＫＶＭ１は図４の関連付けデータに基づいて、各デバイス５が接続しているＫＶＭスイッチを把握できる。
【００２９】
複数のデバイス５が通信ラインに関連付けられる場合、マスタＫＶＭ１は関連付けられる全てのデバイス５と同時に通信することになるが、図５のような設定画面（ＯＳＤ）などを用いて、関連付けるデバイス５の有効又は無効を設定することが可能である。図５の設定画面では通信ラインに関連付けられた記憶媒体が３種類あるが、Product IDが６７００である記憶媒体が有効であり、Product IDが２０２０及び００８９である記憶媒体は無効である。なお、設定画面のデータは設定手段として機能するＭＣＵ２に予め格納されており、ホットキー（例えば、Ｆ１キー＋shiftキー）の入力により設定画面をモニタ５ａに呼び出すことができる。
【００３０】
図４の関連付けデータと図５の各デバイス５の設定データとは、ＥＥＰＲＯＭ２ａに保存される。これにより、マスタＫＶＭ１やスレーブＫＶＭ７を再起動した場合又は関連付けの再実施があった場合に、通信エラーの発生を防ぐことが可能である。
【００３１】
図６は、マスタＫＶＭ１又はスレーブＫＶＭ７の制御ＩＣ２２によって付加される付加データの構造例を示す図である。
【００３２】
図６において、１バイト目〜７バイト目は付加データであり、８バイト目以降は制御ＩＣ２２が受信した通信データである。マスタＫＶＭ１からスレーブＫＶＭ７にデータを送信する場合、マスタＫＶＭ１の制御ＩＣ２２が付加データを通信データに追加する。スレーブＫＶＭ７からマスタＫＶＭ１にデータを送信する場合、スレーブＫＶＭ７の制御ＩＣ２２が付加データを通信データに追加する。
【００３３】
図６において、付加データの１バイト目はデバイス５が接続されているＫＶＭスイッチの番号を示す。２バイト目は送信元情報を示す。２バイト目が０１である場合は送信元がサーバであることを示し、２バイト目が０２である場合は送信元がデバイス５であることを示す。３バイト目及び４バイト目は送信先又は送信元のデバイス５のProduct IDを示す。５バイト目はユーザが選択中のＫＶＭスイッチの番号を示す。６バイト目はユーザが選択中のサーバに対応する通信ＩＣの番号を示す。７バイト目はデバイス５の種類を示す。
【００３４】
図７は、スレーブＫＶＭ７に接続されたデバイス５からサーバ６にデータを送信する処理を示す図である。以下では、マスタＫＶＭ１のコントローラ、制御ＩＣ及び通信ＩＣと区別するため、スレーブＫＶＭ７のコントローラ、制御ＩＣ及び通信ＩＣを２１ｓ，２２ｓ，２３ｓと表す。制御ＩＣ２２ｓは第２制御手段として機能する。
【００３５】
デバイス５からのデータはコントローラ２１ｓを経由して（Ｐ１）、制御ＩＣ２２ｓに送信される（Ｐ２）。制御ＩＣ２２ｓは、デバイス５のデータにデバイス５が接続されているＫＶＭスイッチの番号、送信元情報、送信元のデバイス５のProduct ID、及びデバイス５の種類を追加して、マスタＫＶＭ１の制御ＩＣ２２に送信する（Ｐ３〜Ｐ５）。
【００３６】
制御ＩＣ２２は、送信元情報からデータがデバイス由来のデータであり、図４の関連付けデータに対象のデバイス５があり且つ対象のデバイス５との通信が有効である場合に、図６の付加データの５バイト目及び６バイト目を通信ＩＣ２３ｂから受信したデータに追加する。ここでは、「ユーザが選択中のＫＶＭスイッチの番号」がマスタＫＶＭ１の番号を指定する。この時点で、通信ＩＣ２３ｂから受信したデータに図６の１バイト目〜７バイト目の付加データが追加されている。
【００３７】
制御ＩＣ２２は、付加データの１バイト目〜７バイト目を除去し、「ユーザが選択中のサーバに対応する通信ＩＣ番号」で指定された通信ＩＣ２３ａにデータを送信することでデバイス５の種類に対応するサーバへデバイス５のデータを送信することができる（Ｐ６〜Ｐ７）。
【００３８】
図８は、サーバ６からスレーブＫＶＭ７に接続されたデバイス５に対してデータを送信する処理を示す図である。
【００３９】
サーバ６のデータは通信ＩＣ２３ａを経由して（Ｐ１１）、制御ＩＣ２２に送信される（Ｐ１２）。
【００４０】
制御ＩＣ２２は、通信ＩＣ２３ａから受信したデータがサーバ由来のデータであると判断すると、通信ＩＣ２３ａから受信したデータに図６の付加データを追加し、「送信元情報」及び「デバイスの種類」を付加データに反映する。さらに、図４の関連付けデータに対象のデバイス５があり且つ対象のデバイス５との通信が有効である場合に、「デバイス５が接続されているＫＶＭスイッチの番号」及び「Product ID」を付加データに反映して、付加データを伴う通信ＩＣ２３ａから受信したデータをスレーブＫＶＭ７の制御ＩＣ２２ｓに送信する（Ｐ１３〜Ｐ１５）。
【００４１】
制御ＩＣ２２ｓは、マスタＫＶＭ１から受信したデータの「送信元情報」に基づき当該受信したデータがサーバ６のデータであると判断すると、受信したデータから図６の付加データを除去して、対象のデバイス５にサーバ６のデータを送信する（Ｐ１６〜Ｐ１７）。
【００４２】
図９（Ａ）は通信ＩＣ２３ａ,２３ｂと制御ＩＣ２２との間で送受信されるデータの構造例を示す図である。
【００４３】
図９（Ａ）の１バイト目〜３バイト目は付加データであり、４バイト目以降は通信データである。１バイト目の付加データは１バイト〜最後尾のバイトが１パケットであることを示すヘッダーである。２バイト目の付加データはデータ長を示す。３バイト目の付加データはデバイスの種類を示す。
【００４４】
例えば、図７のＰ６では、制御ＩＣ２２は図６の付加データから取得したデバイスの種類を図９（Ａ）の３バイト目に反映させて通信ＩＣ２３ａに送信する。尚、制御ＩＣ２２は通信ＩＣ２３ａに送信するデータから図６の付加データを除去しているので、通信ＩＣ２３ａに送信するデータは図６の付加データを含まない。通信ＩＣ２３ａは、受信したデータをデバイスの種類に対応するエンドポイントへのデータとして処理する。
【００４５】
図８のＰ１２では、通信ＩＣ２３ａはサーバ６から受信したデータに使用されたエンドポイントからデバイスの種類を判別し、デバイスの種類を図９（Ａ）の３バイト目に反映させて制御ＩＣ２２に送信する。制御ＩＣ２２は、通信ＩＣ２３ａから受信したデータに基づいてデバイスの種類を判別すると、通信ＩＣ２３ａから受信したデータから図９（Ａ）の付加データを除去する。
【００４６】
図７のＰ５では、通信ＩＣ２３ｂはコントローラ２１ｓから受信したデータから後述する図９（Ｃ）の付加データを除去し、除去後のデータに図９（Ａ）の付加データを追加し、図９（Ａ）のデバイスの種類としてＫＶＭスイッチを指定し、図９（Ａ）の付加データを追加したデータを制御ＩＣ２２に送信する。
【００４７】
図８のＰ１３では、制御ＩＣ２２は通信ＩＣ２３ａから受信したデータ及び図６の付加データに図９（Ａ）の付加データを追加し、図９（Ａ）のデバイスの種類としてＫＶＭスイッチを指定し、通信ＩＣ２３ａから受信したデータ及び図６並びに図９（Ａ）の付加データを通信ＩＣ２３ｂに送信する。
【００４８】
図９（Ｂ）はコントローラ２１ｓと制御ＩＣ２２ｓとの間で送受信されるデータの構造例を示す図である。
【００４９】
図９（Ｂ）の１バイト目〜５バイト目は付加データであり、６バイト目以降は通信データである。１バイト目の付加データは１バイト〜最後尾のバイトが１パケットであることを示すヘッダーである。２バイト目の付加データはデータ長を示す。３バイト目の付加データはデバイスの種類を示す。４バイト目及び５バイト目の付加データは送信先又は送信元のデバイス５のProduct IDを示す。
【００５０】
図８のＰ１６では、制御ＩＣ２２ｓは図６の付加データから取得したデバイスの種類及びProduct IDを図９（Ｂ）の３バイト目及び４〜５バイト目にそれぞれ反映させてコントローラ２１ｓに送信する。尚、制御ＩＣ２２ｓはコントローラ２１ｓに送信するデータから図６の付加データを除去しているので、コントローラ２１ｓに送信するデータは図６の付加データを含まない。コントローラ２１ｓは、デバイスの種類とProduct IDに対応するエンドポイントへのデータとして受信したデータを処理する。
【００５１】
図７のＰ２では、コントローラ２１ｓはデバイス５から受信したデータに使用されたエンドポイント及びアドレスからデバイスの種類及びProduct IDを判別し、図９（Ｂ）の３バイト目及び４〜５バイト目にデバイスの種類及びProduct IDを反映させて制御ＩＣ２２ｓに送信する。制御ＩＣ２２ｓはコントローラ２１ｓから受信したデータからデバイスの種類及びProduct IDを判別すると、コントローラ２１ｓから受信したデータから図９（Ｂ）の付加データを除去する。
【００５２】
図８のＰ１５では、コントローラ２１ｓは通信ＩＣ２３ｂから受信したデータから後述する図９（Ｃ）の付加データを除去し、除去後のデータに図９（Ｂ）の付加データを追加してデバイスの種類としてＫＶＭスイッチを指定し、図９（Ｂ）のProduct IDとして００００を指定して、図９（Ｂ）の付加データを追加したデータを制御ＩＣ２２ｓに送信する。
【００５３】
図７のＰ３では、制御ＩＣ２２ｓはコントローラ２１ｓから受信したデータ及び図６の付加データに図９（Ｂ）の付加データを追加し、図９（Ｂ）のデバイスの種類としてＫＶＭスイッチを指定し、図９（Ｂ）のProduct IDとして００００を指定して、コントローラ２１ｓから受信したデータ及び図６並びに図９（Ｂ）の付加データをコントローラ２１ｓに送信する。
【００５４】
図９（Ｃ）はコントローラ２１ｓと通信ＩＣ２３ｂとの間で送受信されるデータの構造例を示す図である。
【００５５】
図９（Ｃ）の１バイト目〜３バイト目は付加データであり、４バイト目以降は通信データである。１バイト目の付加データは１バイト〜最後尾のバイトが１パケットであることを示すヘッダーである。２バイト目はデータ長を示す。３バイト目の付加データはデバイスの種類を示す。
【００５６】
図７のＰ４では、コントローラ２１ｓは、制御ＩＣ２２ｓから受信する図９（Ｂ）のデバイスの種類がＫＶＭスイッチであれば、図９（Ｃ）のデバイスの種類としてＫＶＭスイッチを指定して、通信ＩＣ２３ｂにデータを送信する。通信ＩＣ２３ｂは受信したデータからデバイスの種類を判別すると、図９（Ｃ）の付加データを除去する。
【００５７】
図８のＰ１４では、通信ＩＣ２３ｂは制御ＩＣ２２から受信する図９（Ａ）のデバイスの種類がＫＶＭスイッチであれば、図９（Ｃ）の付加データにＫＶＭスイッチを指定して、コントローラ２１ｓにデータを送信する。コントローラ２１ｓは、受信したデータからデバイスの種類を判別すると図９（Ｃ）の付加データを除去する。
【００５８】
図１０は、デバイス５からデータを受信した際の付加データを使用した受信データの処理を示すフローチャートである。この処理は制御ＩＣ２２及び２２ｓで実行される。
【００５９】
コントローラ２１、２１ｓを介してデバイス５から受信データを受信すると、図６の付加データをデータに追加する（Ｓ２１）。このとき、付加データの１〜７バイト目は初期化される。
【００６０】
次に、カスケード接続の認識時にマスタＫＶＭ１から割り当てられるＫＶＭ番号、送信元情報、Product ID及びデバイスの種類を図６の付加データの１バイト目、２バイト目、３〜４バイト目及び７バイト目にそれぞれ反映させる（Ｓ２２）。ここでは、送信元情報はデバイスである。
【００６１】
自装置がマスタＫＶＭであるか否かを判別し（Ｓ２３）、自装置がスレーブＫＶＭの場合は（Ｓ２３でＮＯ）、マスタＫＶＭ１に対してデータを送信する（Ｓ２８）。
【００６２】
自装置がマスタＫＶＭである場合は（Ｓ２３でＹＥＳ）、図６の付加データの１バイト目、３〜４バイト目及び７バイト目に基づいて、デバイス５が図５の設定画面で有効に設定されているか否かを判別する（Ｓ２４）。デバイス５が設定画面で無効に設定されている場合は（Ｓ２４でＮＯ）、データを破棄する（Ｓ３１）。
【００６３】
デバイス５が設定画面で有効に設定されている場合は（Ｓ２４でＹＥＳ）、ユーザが選択中のＫＶＭ番号及びユーザが選択中の通信ＩＣ番号を図６の付加データの５バイト目及び６バイト目にそれぞれ反映する（Ｓ２５）。
【００６４】
次に、図６の付加データの５バイト目がマスタＫＶＭ１であるか否かを判別する（Ｓ２６）。５バイト目がスレーブＫＶＭ７である場合は（Ｓ２６でＮＯ）、付加データで指定されたスレーブＫＶＭ７にデータを送信する（Ｓ２９）。５バイト目がマスタＫＶＭ１である場合は（Ｓ２６でＹＥＳ）、付加データの６バイト目で特定される通信ＩＣに対して、付加データを除去してからデータを送信する（Ｓ２７，Ｓ３０）。Ｓ３０により選択中のサーバにデバイス５のデータが送信される。
【００６５】
図１１は、サーバからデータを受信した際の付加データを使用した受信データの処理を示すフローチャートである。この処理は制御ＩＣ２２及び２２ｓで実行される。
【００６６】
サーバからデータを受信すると、図６の付加データを受信データに追加する（Ｓ４１）。このとき、図６の付加データの１〜７バイト目は初期化される。次に、データの送信元情報及びサーバからのデータに含まれるデバイスの種類を図６の付加データの２バイト目及び７バイト目に反映させる（Ｓ４２）。ここでは、送信元情報はサーバである。
【００６７】
自装置がマスタＫＶＭであるか否かを判別し（Ｓ４３）、自装置がスレーブＫＶＭの場合は（Ｓ４３でＮＯ）、マスタＫＶＭ１に対してデータを送信する（Ｓ４９）。
【００６８】
自装置がマスタＫＶＭである場合は（Ｓ４３でＹＥＳ）、図４の関連付けデータ内に図６の付加データの７バイト目に対応するデバイスがあるか否かを判別する（Ｓ４４）。関連付けデータに付加データの７バイト目に対応するデバイスがない場合は（Ｓ４４でＮＯ）、データを破棄する（Ｓ５２）。関連付けデータに付加データの７バイト目に対応するデバイス５がある場合は（Ｓ４４でＹＥＳ）、対応するデバイス５との通信が有効であるか否かを判別する（Ｓ４５）。対応するデバイス５との通信が無効である場合は（Ｓ４５でＮＯ）、データを破棄する（Ｓ５２）。
【００６９】
対応するデバイス５との通信が有効である場合は（Ｓ４５でＹＥＳ）、関連付けデータに基づいて、対応するデバイス５が接続されているＫＶＭ番号及びデバイス５のProduct IDを図６の付加データの１バイト目及び３〜４バイト目にそれぞれ反映させる（Ｓ４６）。
【００７０】
次いで、図６の付加データの１バイト目がマスタＫＶＭ１であるか否かを判別する（Ｓ４７）。付加データの１バイト目がスレーブＫＶＭ７である場合は（Ｓ４７でＮＯ）、指定されたスレーブＫＶＭ７にデータを送信する（Ｓ５０）。１バイト目がマスタＫＶＭ１である場合は（Ｓ４７でＹＥＳ）、付加データを除去してデータを対象のデバイス５に送信する（Ｓ４８，Ｓ５１）。
【００７１】
図１２は、マスタＫＶＭ１がスレーブＫＶＭ７からデータを受信した際の付加データ使用した受信データの処理を示すフローチャートである。この処理は、制御ＩＣ２２で実行される。
【００７２】
受信データ内に含まれる図６の付加データの２バイト目がサーバであるか否かを判別する（Ｓ６１）。付加データの２バイト目がサーバである場合は（Ｓ６１でＹＥＳ）、図４の関連付けデータ内に付加データの７バイト目に対応するデバイスがあるか否かを判別する（Ｓ６２）。関連付けデータに７バイト目に対応するデバイスがない場合は（Ｓ６２でＮＯ）、データを破棄する（Ｓ７７）。関連付けデータに７バイト目に対応するデバイスがある場合は（Ｓ６２でＹＥＳ）、対応するデバイス５との通信が有効であるか否かを判別する（Ｓ６３）。
【００７３】
対応するデバイス５との通信が無効である場合は（Ｓ６３でＮＯ）、データを破棄する（Ｓ７７）。対応するデバイス５との通信が有効である場合は（Ｓ６３でＹＥＳ）、対応するデバイス５が接続されているＫＶＭ番号及びデバイス５のProduct IDを図６の付加データの１バイト目及び３〜４バイト目にそれぞれ反映させる（Ｓ６４）。
【００７４】
次いで、図６の付加データの１バイト目がマスタＫＶＭ１であるか否かを判別する（Ｓ６５）。付加データの１バイト目がスレーブＫＶＭ７である場合は（Ｓ６５でＮＯ）、指定されたスレーブＫＶＭ７にデータを送信する（Ｓ７５）。付加データの１バイト目がマスタＫＶＭ１である場合は（Ｓ６５でＹＥＳ）、付加データを除去してデータを対象のデバイス５に送信する（Ｓ６６，Ｓ７６）。
【００７５】
付加データの２バイト目がサーバでない場合は（Ｓ６１でＮＯ）、２バイト目がデバイスであるか否かを判別する（Ｓ６７）。２バイト目がデバイスでない場合は（Ｓ６７でＮＯ）、データを破棄する（Ｓ７２）。２バイト目がデバイスである場合は（Ｓ６７でＹＥＳ）、付加データの１バイト目、３〜４バイト目及び７バイト目に基づいて、スレーブＫＶＭ７に接続されたデバイス５が図５の設定画面で有効に設定されているか否かを判別する（Ｓ６８）。
【００７６】
スレーブＫＶＭ７に接続されたデバイス５が設定画面で無効に設定されている場合は（Ｓ６８でＮＯ）、データを破棄する（Ｓ７２）。スレーブＫＶＭ７に接続されたデバイス５が設定画面で有効に設定されている場合は（Ｓ６８でＹＥＳ）、ユーザが選択中のＫＶＭ番号及び通信ＩＣ番号を付加データの５バイト目及び６バイト目にそれぞれ反映する（Ｓ６９）。
【００７７】
次に、付加データの５バイト目がマスタＫＶＭ１であるか否かを判別する（Ｓ７０）。５バイト目がスレーブＫＶＭ７である場合は（Ｓ７０でＮＯ）、指定されたスレーブＫＶＭ７にデータを送信する（Ｓ７３）。５バイト目がマスタＫＶＭ１である場合は（Ｓ７０でＹＥＳ）、付加データの６バイト目で指定される通信ＩＣに対して、付加データを除去してからデータを送信する（Ｓ７１，Ｓ７４）。Ｓ７４により選択中のサーバにスレーブＫＶＭ７に接続されたデバイス５のデータが送信される。
【００７８】
図１３は、スレーブＫＶＭ７がマスタＫＶＭ１からデータを受信した際の付加データを使用した受信データの処理を示すフローチャートである。この処理は、制御ＩＣ２２ｓで実行される。
【００７９】
受信データ内に含まれる付加データの２バイト目がサーバであるか否かを判別する（Ｓ８１）。付加データの２バイト目がサーバである場合は（Ｓ８１でＹＥＳ）、付加データの１バイト目が自装置のＫＶＭ番号と一致するか否かを判別する（Ｓ８２）。付加データの１バイト目が自装置のＫＶＭ番号と一致しない場合は（Ｓ８２でＮＯ）データを破棄する（Ｓ９０）。付加データの１バイト目が自装置のＫＶＭ番号と一致する場合は（Ｓ８２でＹＥＳ）、付加データを除去して、スレーブＫＶＭ７に接続されたデバイス５にデータを送信する（Ｓ８３，Ｓ８９）。
【００８０】
付加データの２バイト目がサーバでない場合は（Ｓ８１でＮＯ）、２バイト目がデバイスであるか否かを判別する（Ｓ８４）。２バイト目がデバイスでない場合は（Ｓ８４でＮＯ）、データを破棄する（Ｓ８７）。２バイト目がデバイスである場合は（Ｓ８４でＹＥＳ）、付加データの５バイト目が自装置のＫＶＭ番号であるか否かを判別する（Ｓ８５）。付加データの５バイト目が自装置のＫＶＭ番号でない場合は（Ｓ８５でＮＯ）、データを破棄する（Ｓ８７）。
【００８１】
付加データの５バイト目が自装置のＫＶＭ番号である場合は（Ｓ８５でＹＥＳ）、付加データの６バイト目で指定される通信ＩＣに対して、付加データを除去してから選択中のサーバにデータを送信する（Ｓ８６，Ｓ８８）。
【００８２】
図７のＰ１〜Ｐ７は、図１０のＳ２１→Ｓ２２→Ｓ２３でＮＯ→図１２のＳ６１でＮＯ→Ｓ６７でＹＥＳ→Ｓ６８でＹＥＳ→Ｓ６９→Ｓ７０でＹＥＳ→Ｓ７１→Ｓ７４の一連の処理に対応する。図８のＰ１１〜Ｐ１７は、図１１のＳ４１→Ｓ４２→Ｓ４３〜Ｓ４５でＹＥＳ→Ｓ４６→Ｓ４７でＮＯ→Ｓ５０→図１３のＳ８１及びＳ８２でＹＥＳ→Ｓ８３→Ｓ８９の一連の処理に対応する。
【００８３】
図１４は、マスタＫＶＭ１及びスレーブＫＶＭ７のフロントパネルの構成図である。
【００８４】
フロントパネル３０は、複数のコンソールポート３又は９に対応するコネクタ３ａ，３ｂと、コネクタ３ａに対応するＬＥＤ３１ａ及びスイッチ３２ａと、コネクタ３ｂに対応するＬＥＤ３１ｂ及びスイッチ３２ｂとを備えている。ＬＥＤ３１ａ及びＬＥＤ３１ｂは照明手段として機能し、スイッチ３２ａ及びスイッチ３２ｂは指示手段として機能する。尚、コネクタ、ＬＥＤ及びスイッチの個数は図１４の例に限定されるものではない。
【００８５】
ＬＥＤ３１ａはＭＣＵ２又は８に接続されており、接続されたデバイス５がスレーブＫＶＭ７に認識された場合は点滅し、スレーブＫＶＭ７に接続されたデバイス５がマスタＫＶＭ１側の通信ラインと関連付けられた場合に点灯する。これにより、ユーザはデバイス５の認識状態を把握することが可能である。また、異常発生により関連付けができない場合は、スイッチ３２ａ又は３２ｂを押すことによって関連付けの処理をやり直すことができる。
【００８６】
以上説明したように、実施例１によれば、マスタＫＶＭ１にカスケード接続されたスレーブＫＶＭ７は、自装置に接続されたデバイス５からのデータをマスタＫＶＭ１に接続されたユーザが選択中のサーバ６に送信する場合に、当該データの送信元情報を含む付加データをデバイス５からのデータに追加し、マスタＫＶＭ１に送信する。マスタＫＶＭ１は、送信元情報がデバイスであり、ユーザが選択中のＫＶＭスイッチがマスタＫＶＭ１である場合に、付加データを除去してデバイス５からのデータをユーザが選択中のサーバ６に送信する。
【００８７】
このように、スレーブＫＶＭ７は、自装置に接続されたデバイス５からのデータをマスタＫＶＭ１に接続されたサーバに送信することができ、スレーブＫＶＭ７がマスタＫＶＭ１にカスケード接続される場合に、スレーブＫＶＭ７の不使用のコンソールポート９を有効活用できる。
【００８８】
また、実施例１によれば、スレーブＫＶＭ７から受信したデバイス５の種類、Product ID及びデバイスが接続されているＫＶＭスイッチのＫＶＭ番号と、サーバ６との間で構築された通信ラインとを関連付けした関連付けデータを作成する。そして、ユーザが選択中のサーバ６からのデータをデバイス５に送信する場合、送信元情報及びデバイス５の種類を含む付加データをユーザが選択中のサーバ６からのデータに追加する。関連付けデータが付加データに含まれるデバイス５の種類に対応するデバイスを含む場合、デバイスが接続されているＫＶＭスイッチのＫＶＭ番号及びデバイス５のProduct IDを付加データに追加する。一方、デバイスが接続されているＫＶＭスイッチのＫＶＭ番号がスレーブＫＶＭ７である場合、第２付加データを追加したユーザが選択中のサーバからのデータをスレーブＫＶＭ７に送信する。さらに、送信元情報がサーバであり且つデバイスが接続されているＫＶＭスイッチのＫＶＭ番号がスレーブＫＶＭ７である場合、付加データを除去し、ユーザが選択中のサーバからのデータをProduct IDで特定されるデバイス５に送信する（Ｓ８１及びＳ８２でＹＥＳ、Ｓ８３、Ｓ８９）。
【００８９】
このように、マスタＫＶＭ１は、自装置に接続されたサーバ１１からのデータをスレーブＫＶＭ７に接続されたデバイス５に送信することができ、スレーブＫＶＭ７がマスタＫＶＭ１にカスケード接続される場合に、スレーブＫＶＭ７の不使用のコンソールポート９を有効活用できる。
【００９０】
（実施例２）
図１５は、実施例２に係るスレーブＫＶＭ７に接続されたデバイス５とサーバ１１とで通信を行う例を示す図である。
【００９１】
実施例１では、図４の関連付けデータをマスタＫＶＭ１だけが持つため、一旦マスタＫＶＭ１を介して指定のサーバ又はデバイスにデータを送信する。つまり、スレーブＫＶＭ７に接続されたデバイス５からスレーブＫＶＭ７に接続されたサーバ１１にデータを送信する場合やその逆の場合も、一旦マスタＫＶＭ１を介してデータを送信する。
【００９２】
そこで、本実施例では、関連付けデータをスレーブＫＶＭ７のＥＥＰＲＯＭ８ａにも保存する。この場合、通信ラインはスレーブＫＶＭ７とサーバ１１との間で構築された通信ラインである。
【００９３】
関連付けデータをスレーブＫＶＭ７にも持たせることで、図１５のＰ２１〜Ｐ２４のようにスレーブＫＶＭ７に接続されたデバイス５とサーバ１１で通信を行う場合に、制御ＩＣ２２ｓは関連付けデータに基づいてサーバ１１からのデータをマスタＫＶＭ１を介さずにスレーブＫＶＭ７に接続されたデバイス５に直接送信することが可能になる。
【００９４】
具体的には、サーバ１１からデータを受信すると、制御ＩＣ２２ｓは使用した通信ラインと関連付けデータとに基づいてスレーブＫＶＭ７に対応したデバイスがあると判断して、サーバ１１からデータをマスタＫＶＭ１に送信せずにスレーブＫＶＭ７に接続されたデバイス５に直接送信する。逆に、スレーブＫＶＭ７に接続されたデバイス５からサーバ１１にデータを送信する場合は、スレーブＫＶＭ７に接続されたデバイス５からデータを受信した後、制御ＩＣ２２ｓは、指定しているサーバ１１にデータを送信する。これにより、マスタＫＶＭ１を経由せずに最短距離で通信を行うことが可能である。
【００９５】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【符号の説明】
【００９６】
１  マスタＫＶＭスイッチ
２，８  ＭＣＵ（Micro Controller Unit）
２ａ，８ａ  ＥＥＰＲＯＭ
３，９  コンソールポート
４，１０  サーバポート
７  スレーブＫＶＭスイッチ
２１  ホストコントローラＩＣ
２２  メイン処理制御ＩＣ
２３  通信ＩＣ
１００  ＫＶＭシステム
【図１】
2019185193.tif 000003
【図２】
2019185193.tif 000004
【図３】
2019185193.tif 000005
【図４】
2019185193.tif 000006
【図５】
2019185193.tif 000007
【図６】
2019185193.tif 000008
【図７】
2019185193.tif 000009
【図８】
2019185193.tif 000010
【図９】
2019185193.tif 000011
【図１０】
2019185193.tif 000012
【図１１】
2019185193.tif 000013
【図１２】
2019185193.tif 000014
【図１３】
2019185193.tif 000015
【図１４】
2019185193.tif 000016
【図１５】
2019185193.tif 000017