(57)【要約】【課題】ネットワーク上の負荷を低減し、ユーザの操作性を維持することができるＫＶＭスイッチを提供する。【解決手段】ＩＰ−ＫＶＭスイッチ２０のサーバソフトウエア２６（マイコン２１ａ）が、キーボード５及びマウス６の操作権を有するユーザ及びキーボード５及びマウス６の操作権を有さないユーザによって選択された選択領域７１の情報を取得し（Ｓ４２、Ｓ６１）、モニタ７の画面内の選択領域７１の情報に基づいて、選択領域７１以外の非選択領域７２に表示される画面データのデータ量を削減する（Ｓ４６）。【選択図】図１２
2018018221.tif 000002
【特許請求の範囲】
【請求項１】
サーバに接続されると共に、ユーザが前記サーバを操作するための入力装置及び前記サーバからの画面データを表示する表示装置が接続されたクライアントとネットワークを介して接続されるＫＶＭ（Ｋ：キーボード、Ｖ：ビデオ、Ｍ：マウス）スイッチであって、
前記ユーザによって選択された前記表示装置の画面内の選択領域の情報を取得する取得手段と、
前記表示装置の画面内の選択領域の情報に基づいて、前記選択領域以外の非選択領域に表示される画面データのデータ量を削減する削減手段と
を備えることを特徴とするＫＶＭスイッチ。
【請求項２】
前記ＫＶＭスイッチは、複数のクライアントに接続可能であり、
前記入力装置の操作権を有さないユーザによって選択された前記表示装置の画面内の選択領域のサイズが、前記入力装置の操作権を有するユーザによって選択された前記表示装置の画面内の選択領域のサイズよりも大きい場合に、前記入力装置の操作権を有さないユーザによって選択された前記表示装置の画面内の選択領域の情報を前記削減手段に設定することを中止する設定手段を備えることを特徴とする請求項１に記載のＫＶＭスイッチ。
【請求項３】
前記設定手段は、前記入力装置の操作権を有するユーザによって選択された前記表示装置の画面内の選択領域の情報を前記削減手段に設定し、
前記入力装置の操作権を有さないユーザによって選択された前記表示装置の画面内の選択領域のサイズが、前記入力装置の操作権を有するユーザによって選択された前記表示装置の画面内の選択領域のサイズよりも小さい場合に、前記入力装置の操作権を有さないユーザによって選択された前記表示装置の画面内の選択領域の情報を前記削減手段に設定することを特徴とする請求項２に記載のＫＶＭスイッチ。
【請求項４】
設定可能な選択領域の予め決められたサイズを示す情報をクライアントに通知する通知手段を備えていることを特徴とする請求項２又は３に記載のＫＶＭスイッチ。
【請求項５】
前記クライアントは、マウスで前記表示装置の画面内の領域を指定することによって又はマウスカーソルの先端から予め設定された距離だけ離れた領域を指定することによって、前記選択領域を設定する第２設定手段を備えていることを特徴とする請求項１乃至４のいずれか１項に記載のＫＶＭスイッチ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＫＶＭスイッチに関する。
【背景技術】
【０００２】
複数のユーザによる複数サーバへの接続を随時選択して制御するＫＶＭスイッチを備えるコンピュータ操作システムが知られている。また、複数のＫＶＭスイッチを備え、１つのＫＶＭスイッチと１つのサーバとの接続が有効化されている場合に、他のＫＶＭスイッチによる当該サーバへの接続要求が拒否されるシステムが知られている。
【０００３】
また、複数のリモートコンピュータの中から接続対象のリモートコンピュータを選択するＩＰ−ＫＶＭスイッチが知られている。このＩＰ−ＫＶＭスイッチは、インターネットを介してユーザワークステーションに接続されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−８５２６３号公報
【特許文献２】特表２００７−５３８４１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＩＰ−ＫＶＭスイッチは、ユーザが操作するクライアントとネットワークを介してデータ通信を行うため、ネットワークの負荷状況によっては、キーボードやマウスの操作による画面変化に遅延が生じ、操作性が低下する。また、音声データがサーバからＩＰ−ＫＶＭスイッチを介してクライアントに送信される場合には、通信遅延により音声が途切れる場合がある。
【０００６】
また、複数のクライアント（ユーザ）がＩＰ−ＫＶＭスイッチを介して同一のサーバにアクセスする場合、最初にＩＰ−ＫＶＭスイッチにアクセスしたユーザがマウス及びキーボードの操作権を有する。このとき、他のユーザはサーバの操作をできないが、他のユーザが使用するクライアントは当該サーバから画面データを受信することができる。従って、同一サーバに接続するユーザが増加するほど、ネットワークへの負荷が増加し、最初にＩＰ−ＫＶＭスイッチにアクセスしたユーザの操作性に影響を及ぼすという問題がある。
【０００７】
本発明は、ネットワーク上の負荷を低減し、ユーザの操作性を維持することができるＫＶＭスイッチを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、明細書に開示されたＫＶＭスイッチは、サーバに接続されると共に、ユーザが前記サーバを操作するための入力装置及び前記サーバからの画面データを表示する表示装置が接続されたクライアントとネットワークを介して接続されるＫＶＭ（Ｋ：キーボード、Ｖ：ビデオ、Ｍ：マウス）スイッチであって、前記ユーザによって選択された前記表示装置の画面内の選択領域の情報を取得する取得手段と、前記表示装置の画面内の選択領域の情報に基づいて、前記選択領域以外の非選択領域に表示される画面データのデータ量を削減する削減手段とを備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ネットワーク上の負荷を低減し、ユーザの操作性を維持することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態に係るＫＶＭスイッチを備えるシステムの構成図である。
【図２】図１のシステムの詳細な構成図である。
【図３】（Ａ）は、サーバの制御部の構成図であり、（Ｂ）は、ＩＰ−ＫＶＭスイッチの制御部の構成図であり、（Ｃ）は、クライアントＰＣの制御部の構成図である。
【図４】クライアントＰＣからのビューアセッション開始からサーバの画面データがクライアントＰＣに表示されるまでのデータの流れを示すフローチャートである。
【図５】セッション接続開始から接続完了までの処理を示すフローチャートである。
【図６】キーボード及びマウスの操作権を有するユーザがキーボードを操作して、サーバの画面データがクライアントＰＣに表示される場合のデータの流れを示す図である。
【図７】図６のデータの流れを示すフローチャートである。
【図８】キーボード及びマウスの操作権を有さないユーザが使用するクライアントＰＣにサーバの画面データが表示される場合のデータの流れを示す図である。
【図９】モニタに表示されるビューアの一例を示す図である。
【図１０】ユーザがモニタに表示されるビューアで選択領域を設定する方法の一例を示す図である。
【図１１】選択領域の設定開始からサーバの画面データがクライアントＰＣに表示されるまでのデータの流れを示すフローチャートである。
【図１２】図１１のデータの流れを示すフローチャートである。
【図１３】図１１及び図１２のＳ４２の処理の詳細を示すフローチャートである。
【図１４】（Ａ）は、固定サイズの選択領域の一例を示す図であり、（Ｂ）は、設定可能な選択領域の固定サイズのリストの一例を示す図である。
【図１５】（Ａ）は、マウスカーソルの周囲領域が選択領域となる例を示す図であり、（Ｂ）は、図１５（Ａ）のマウスカーソルの周囲領域の設定画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００１２】
図１は、本実施の形態に係るＫＶＭ（Ｋ：キーボード、Ｖ：ビデオ、Ｍ：モニタ）スイッチを備えるシステムの構成図である。
【００１３】
本実施の形態に係るＫＶＭスイッチは、例えばＩＰ（Internet Protocol) −ＫＶＭスイッチである。図１に示すように、システム１は、サーバ１０と、ＩＰ−ＫＶＭスイッチ２０と、クライアントＰＣ６０ａ〜６０ｃとを備えている。ＩＰ−ＫＶＭスイッチ２０は、クライアントＰＣ６０ａ〜６０ｃがネットワーク５０を介してサーバ１０を遠隔操作するための装置であり、サーバ１０からクライアントＰＣ６０ａ〜６０ｃへの画面データや音声データなどをパケットデータに変換し、クライアントＰＣ６０ａ〜６０ｃからサーバ１０へのパケットデータをキーデータ又はマウスデータに変換する。
【００１４】
サーバ１０は、キーコードを入力するキーボードインタフェース（Ｉ／Ｆ）１２、マウスデータを入力するマウスＩ／Ｆ１３、サーバ１０の画面データを出力するモニタＩ／Ｆ１４、及びサーバ１０の音声データを出力する音声出力Ｉ／Ｆ１５を備えている。キーボードＩ／Ｆ１２、マウスＩ／Ｆ１３、モニタＩ／Ｆ１４、および音声出力Ｉ／Ｆ１５は、ケーブルを介してＩＰ−ＫＶＭスイッチ２０に接続されている。
【００１５】
クライアントＰＣ６０ａ〜６０ｃは、ネットワーク５０を介してＩＰ−ＫＶＭスイッチ２０に接続されている。クライアントＰＣ６０ａ〜６０ｃはサーバ１０に同時にアクセスすることができるが、サーバ１０を操作できるクライアントＰＣはいずれか１つである。例えば、クライアントＰＣ６０ａがサーバ１０を操作している場合には、クライアントＰＣ６０ｂ，６０ｃでは、ＩＰ−ＫＶＭスイッチ２０を介してサーバ１０からの画面データや音声データを受信できるが、サーバ１０を操作することはできない。
【００１６】
図２は、図１のシステムの詳細な構成図である。クライアントＰＣ６０ａ〜６０ｃの構成は共通するので、図２ではクライアントＰＣ６０ａの構成を示している。また、図２内のステップ番号（Ｓｘ）はデータの流れを示し、後述する図４のフローチャートのステップ番号に対応する。図３（Ａ）はサーバ１０の制御部の構成図であり、図３（Ｂ）はＩＰ−ＫＶＭスイッチ２０の制御部の構成図であり、図３（Ｃ）はクライアントＰＣ６０ａの制御部の構成図である。
【００１７】
図２に示すように、サーバ１０は、キーボードＩ／Ｆ１２、マウスＩ／Ｆ１３、モニタＩ／Ｆ１４、音声出力Ｉ／Ｆ１５に加えて、サーバ１０の動作を制御する制御部１１を備えている。制御部１１は、図３（Ａ）に示すように、ＣＰＵ１１ａ、メモリ１１ｂ及びハードディスクドライブ（ＨＤＤ）１１ｃを備えている。また、ＨＤＤ１１ｃには、オペレーティングシステム（ＯＳ）１６が格納されている。
【００１８】
ＩＰ−ＫＶＭスイッチ２０は、ＩＰ−ＫＶＭスイッチ２０の動作を制御する制御部２１と、各種データやサーバソフトウエア２６を格納するメモリ２２と、キーボードＩ／Ｆ１２、マウスＩ／Ｆ１３及びモニタＩ／Ｆ１４と専用ケーブルを介して接続されるサーバＩ／Ｆ２３と、音声出力Ｉ／Ｆ１５とサウンドケーブルを介して接続される音声Ｉ／Ｆ２４と、ネットワーク５０と接続する通信Ｉ／Ｆ２５とを備えている。
【００１９】
制御部２１は、図３（Ｂ）に示すように、メモリ２２から読み出されたサーバソフトウエア２６に従って、ＩＰ−ＫＶＭスイッチ２０の動作を制御するマイコン２１ａ及び画面データ、音声データ、マウスデータ、キーデータを含む各種データの入出力経路を切り替えるスイッチ２１ｂを備えている。サーバソフトウエア２６に従って動作するマイコン２１ａは、割当手段、取得手段、削減手段、設定手段及び通知手段として機能する。また、マイコン２１ａは、サーバ１０にアクセスしたユーザの順番を決定し、メモリ２２に、サーバ１０にアクセスしたユーザの順番に関する情報を保持する。この情報は、キーボード５及びマウス６の操作権を有するユーザの順番に関連する。尚、本実施の形態では、原則的に、ＩＰ−ＫＶＭスイッチ２０に最初にアクセスしたユーザがキーボード５及びマウス６の操作権を有する。また、ＩＰ−ＫＶＭスイッチ２０に最初にアクセスしたユーザがサーバ１０への接続を終了した場合に、マイコン２１ａは、キーボード５及びマウス６の操作権をＩＰ−ＫＶＭスイッチ２０に最初にアクセスしたユーザからＩＰ−ＫＶＭスイッチ２０に２番目にアクセスしたユーザに移行する。
【００２０】
図２に戻り、クライアントＰＣ６０ａは、クライアントＰＣ６０ａの動作を制御する制御部６２と、ネットワーク５０と接続する通信Ｉ／Ｆ６３と、キーボード５からキーコードを入力するキーボード用Ｉ／Ｆ６４と、マウス６からマウスデータを入力するマウス用Ｉ／Ｆ６５と、サーバ１０からの画面データをモニタ７に出力するモニタ用Ｉ／Ｆ６６と、音声データをスピーカ８に出力する音声出力用Ｉ／Ｆ６７とを備えている。
【００２１】
制御部６２は、図３（Ｃ）に示すように、ＣＰＵ６２ａ、メモリ６２ｂ及びハードディスクドライブ（ＨＤＤ）６２ｃを備えている。また、ＯＳ６８及びクライアントソフトウエア６９はＨＤＤ６２ｃに格納されている。オペレーティングシステム（ＯＳ）６８及びクライアントソフトウエア６９はＨＤＤ６２ｃから読み出されて、ＣＰＵ６２ａにより実行される。クライアントソフトウエア６９に従って動作するＣＰＵ６２ａは、第２設定手段として機能する。
【００２２】
図４は、クライアントＰＣ６０ａからのビューアセッション開始からサーバ１０の画面データがクライアントＰＣ６０ａに表示されるまでのデータの流れを示すフローチャートである。尚、ＯＳ１６は、ＣＰＵ１１ａにより実行され、サーバソフトウエア２６は、マイコン２１ａにより実行され、クライアントソフトウエア６９は、ＣＰＵ６２ａにより実行される。
【００２３】
まず、クライアントＰＣ６０ａのクライアントソフトウエア６９が、ＩＰ−ＫＶＭスイッチ２０のサーバソフトウエア２６へセッション接続の要求を出力する（Ｓ１）。次に、ＩＰ−ＫＶＭスイッチ２０のサーバソフトウエア２６が、セッション状態（サーバソフトウエア２６とクライアントソフトウエア６９との接続状態）を確認し、クライアントＰＣ６０ａへのセッション接続を開始する（Ｓ２）。尚、サーバソフトウエア２６は、セッション状態を確認した結果、既にＩＰ−ＫＶＭスイッチ２０に接続しているユーザがいる場合には、Ｓ１でセッション状態を確認したクライアントＰＣとの間の使用帯域を抑制する（Ｓ２）。ここで、帯域の抑制とは、ＩＰ−ＫＶＭスイッチ２０に２番目以降にアクセスするクライアントとの通信に割り当てられる帯域を、ＩＰ−ＫＶＭスイッチ２０に最初にアクセスするクライアントとの通信に割り当てられる帯域よりも小さくすることを意味する。以下の説明では、ユーザが使用するクライアントとの通信に割り当てられる帯域は、「ユーザに割り当てられる帯域」と記載する。
【００２４】
次いで、サーバ１０のＯＳ１６は、サーバ１０の画面データをモニタ用Ｉ／Ｆ１４へ送信する（Ｓ３）。モニタ用Ｉ／Ｆ１４は、画面データをＩＰ−ＫＶＭスイッチ２０のサーバ用Ｉ／Ｆ２３へ送信する（Ｓ４）。ＩＰ−ＫＶＭスイッチ２０のサーバ用Ｉ／Ｆ２３は画面データを制御部２１へ送信する（Ｓ５）。制御部２１のマイコン２１ａは、画面データをパケットデータに変換し、パケットデータを通信Ｉ／Ｆ２５に送信する（Ｓ６）。通信Ｉ／Ｆ２５は、パケットデータをクライアントＰＣ６０ａの通信Ｉ／Ｆ６３に送信する（Ｓ７）。通信Ｉ／Ｆ６３はパケットデータをクライアントＰＣ６０ａのクライアントソフトウエア６９に送信する（Ｓ８）。
【００２５】
クライアントソフトウエア６９は、パケットデータから画面データを取得し、取得した画面データをモニタ用Ｉ／Ｆ６６へ送信する（Ｓ９）。モニタ用Ｉ／Ｆ６６は、画面データをモニタ７へ送信し（Ｓ１０）、本処理を終了する。Ｓ１〜Ｓ１０の処理により、サーバ１０の画面データがモニタ７に表示される。
【００２６】
図５は、セッション接続開始から接続完了までの処理を示すフローチャートである。サーバソフトウエア２６は、マイコン２１ａにより実行され、クライアントソフトウエア６９は、ＣＰＵ６２ａにより実行される。
【００２７】
まず、ＩＰ−ＫＶＭスイッチ２０のサーバソフトウエア２６が、セッション状態を確認する（Ｓ１１）。次に、サーバソフトウエア２６は、セッション状態の確認結果に基づいて、既にＩＰ−ＫＶＭスイッチ２０に接続しているユーザがいるか否かを判別する（Ｓ１２）。既にＩＰ−ＫＶＭスイッチ２０に接続しているユーザがいない場合には（Ｓ１２でＮＯ）、サーバソフトウエア２６は帯域を抑制せずに、予め決められた帯域を使ってクライアントソフトウエア６９と接続し（Ｓ１３）、本処理を終了する。
【００２８】
一方、既にＩＰ−ＫＶＭスイッチ２０に接続しているユーザがいる場合には（Ｓ１２でＹＥＳ）、サーバソフトウエア２６は、帯域の抑制のための設定変更の情報をクライアントソフトウエア６９に通知する（Ｓ１４）。クライアントソフトウエア６９は、通知された情報に基づいて、帯域の抑制のための設定変更を実行する（Ｓ１５）。サーバソフトウエア２６は、抑制された帯域を使ってクライアントソフトウエア６９と接続し（Ｓ１６）、本処理を終了する。例えば、Ｓ１３の予め決められた帯域は、３００ｋｂｐｓであり、Ｓ１６の抑制された帯域は、Ｓ１３の予め決められた帯域よりも小さく、１００ｋｂｐｓである。
【００２９】
ここで、Ｓ１５の帯域の抑制のための設定について説明する。
【００３０】
帯域の抑制のための設定は、ＩＰ−ＫＶＭスイッチ２０からクライアントＰＣ６０ａに送信されるサーバ１０の画面データのデータ量を削減する設定であり、例えば、（１）表示色の色数を削減する、（２）フレームレートを落とす、（３）インタレース方式でデータ送信する、又は（４）画面サイズを小さくする、のいずれか１つである。なお、帯域抑制には他の方法を用いることも可能である。
【００３１】
（１）表示色の色数を削減する場合
例えば、サーバソフトウエア２６及びクライアントソフトウエア６９が、表示色の設定を１６ｂｉｔ表示から８ｂｉｔ表示へ変更する。１６ｂｉｔ表示の場合、１ピクセルあたり２バイトのデータ容量があり、８ｂｉｔ表示の場合、１ピクセルあたり１バイトのデータ容量である。サーバ１０から送信される画面データを１６ｂｉｔ表示から８ｂｉｔ表示へ変更することで、送信するデータ量は半分に削減されるので、帯域を抑制することができる。
【００３２】
（２）フレームレートを落とす場合
サーバソフトウエア２６及びクライアントソフトウエア６９が、フレームレートの設定値を高い値から低い値に変更する。例えば、ＩＰ−ＫＶＭスイッチ２０にアクセスする最初のユーザに対するフレームレートが６０ｆｐｓである場合に、ＩＰ−ＫＶＭスイッチ２０にアクセスする２番目及びそれ以降のユーザに対するフレームレートを６ｆｐｓにする。この場合、単位時間あたりに送信されるフレーム数（静止画数）が１０分の１になるため、２番目及びそれ以降のユーザが利用するクライアントＰＣに送信されるデータ量が削減されるので、帯域を抑制することができる。
【００３３】
（３）インタレース方式でデータ送信する
サーバソフトウエア２６及びクライアントソフトウエア６９が、データの転送方式としてインタレース方式を設定する。例えば、サーバソフトウエア２６がサーバ１０から送信される画面データを４回に分けて、クライアントソフトウエア６９に送信する。これにより、ネットワーク５０に一度に流れるデータ量は４分の１に削減されるので、帯域を抑制することができる。
【００３４】
（４）画面サイズを小さくする
サーバソフトウエア２６及びクライアントソフトウエア６９が、画面サイズの設定を大きいサイズから小さいサイズに変更する。例えば、ＩＰ−ＫＶＭスイッチ２０にアクセスする２番目及びそれ以降のユーザに対する画面サイズを、最初のユーザに対する画面サイズの４分の１に設定する。このとき、サーバ１０の画面サイズが１９２０×１２００ピクセルである場合、サーバソフトウエア２６はサーバの画面データを縮小処理し（９６０×６００ピクセル）、縮小された画面データをクライアントソフトウエア６９に送信する。これにより、クライアントＰＣに送信されるデータ量が削減されるので、帯域を抑制することができる。
【００３５】
最大１Ｍｂｐｓの帯域が利用できる環境で、各ユーザに３００ｋｂｐｓの帯域が割り当てられる場合、４人目のユーザで１Ｍｂｐｓの帯域を越えてしまうため、操作性に影響が出る。
【００３６】
本実施の形態では、サーバソフトウエア２６及びクライアントソフトウエア６９における帯域の抑制のための設定により、ＩＰ−ＫＶＭスイッチ２０にアクセスする最初のユーザに対しては帯域の抑制が行われないが、ＩＰ−ＫＶＭスイッチ２０にアクセスする２番目及びそれ以降のユーザに対しては帯域の抑制が行われる。例えば、ＩＰ−ＫＶＭスイッチ２０にアクセスする最初のユーザに対しては３００ｋｂｐｓの帯域が割り当てられ、ＩＰ−ＫＶＭスイッチ２０にアクセスする２番目及びそれ以降のユーザに対しては３０ｋｂｐｓの帯域が割り当てられる。つまり、キーボード５及びマウス６の操作権を有するユーザに対しては帯域の抑制が行われないが、キーボード５及びマウス６の操作権を有さないユーザに対しては帯域の抑制が行われる。これにより、キーボード５及びマウス６の操作権を有するユーザの操作性を維持しつつ、ネットワーク上の負荷を低減することができる。
【００３７】
また、ＩＰ−ＫＶＭスイッチ２０のメモリ２２は、予め、ネットワークの帯域値を保持している。サーバソフトウエア２６（マイコン２１ａ）は、キーボード５及びマウス６の操作権を有さないユーザに対して下記の式（１）に従った帯域を割り当てることで、全ユーザの合計の帯域がネットワークの帯域を越えないようにしている。
（ネットワークの帯域−キーボード及びマウスの操作権を有するユーザの帯域）／Ｎ……（１）
【００３８】
式（１）のＮは、ＩＰ−ＫＶＭスイッチ２０にアクセスしているユーザ数を示す。また、上記式（１）では、キーボード５及びマウス６の操作権を有さないユーザに対して割り当てられる帯域を決定する際に、予めネットワークの帯域からキーボード５及びマウス６の操作権を有するユーザの帯域を減算しているので、キーボード５及びマウス６の操作権を有するユーザの帯域は変動することがなく、キーボード５及びマウス６の操作権を有するユーザの操作性を維持することができる。ここでは、キーボード５及びマウス６の操作権を有さない各ユーザに対して、均一な帯域が割り当てられているが、ＩＰ−ＫＶＭスイッチ２０へのアクセス順に従ってキーボード５及びマウス６の操作権を有さないユーザに割り当てられる帯域を変動させてもよい。例えば、ＩＰ−ＫＶＭスイッチ２０にアクセスする２番目のユーザに対しては、６０ｋｂｐｓの帯域が割り当てられ、ＩＰ−ＫＶＭスイッチ２０にアクセスする３番目のユーザに対しては、５０ｋｂｐｓの帯域が割り当てられてもよい。このように、ＩＰ−ＫＶＭスイッチ２０へのアクセス順に従ってキーボード５及びマウス６の操作権を有さないユーザに割り当てられる帯域を減少させてもよい。但し、この場合も、キーボード及びマウスの操作権を有するユーザの帯域は変動させない。
【００３９】
図６は、キーボード５及びマウス６の操作権を有するユーザがキーボード５を操作して、サーバ１０の画面データがクライアントＰＣ６０ａに表示される場合のデータの流れを示す図である。図７は、図６のデータの流れを示すフローチャートである。尚、図６のステップ番号は、図７のステップ番号に対応する。また、図６及び図７では、キーボード５が操作される場合を示すが、マウス６が操作される場合も図６及び図７と同様の処理が実行される。
【００４０】
まず、キーボード５がクライアントＰＣ６０ａのキーボード用Ｉ／Ｆ６４へキーデータを送信する（Ｓ２１）。キーボード用Ｉ／Ｆ６４は、キーデータをクライアントソフトウエア６９に送信する（Ｓ２２）。
【００４１】
制御部６２のＣＰＵ６２ａは、キーデータをパケットデータに変換し、パケットデータを通信Ｉ／Ｆ６３に送信する（Ｓ２３）。通信Ｉ／Ｆ６３は、パケットデータをネットワーク５０を介してＩＰ−ＫＶＭスイッチ２０の通信Ｉ／Ｆ２５に送信する（Ｓ２４）。通信Ｉ／Ｆ２５は、パケットデータをサーバソフトウエア２６に送信する（Ｓ２５）。
【００４２】
サーバソフトウエア２６は、パケットデータからキーデータを取得し、サーバ用Ｉ／Ｆ２３に送信する（Ｓ２６）。サーバ用Ｉ／Ｆ２３は、キーデータをサーバ１０のキーボード用Ｉ／Ｆ１２に送信する（Ｓ２７）。キーボード用Ｉ／Ｆ１２は、キーコードをＯＳ１６に送信する（Ｓ２８）。以上のＳ２１〜Ｓ２８の処理により、キーコードがサーバ１０へ送信される。
【００４３】
次に、ＯＳ１６がサーバ１０の画面データをモニタ用Ｉ／Ｆ１４に送信する（Ｓ２９）。モニタ用Ｉ／Ｆ１４は、画面データをＩＰ−ＫＶＭスイッチ２０のサーバ用Ｉ／Ｆ２３に送信する（Ｓ３０）。サーバ用Ｉ／Ｆ２３は、画面データをサーバソフトウエア２６に送信する（Ｓ３１）。
【００４４】
制御部２１のマイコン２１ａは、画面データをパケットデータに変換し、パケットデータを通信Ｉ／Ｆ２５に送信する（Ｓ３２）。通信Ｉ／Ｆ２５は、パケットデータをクライアントＰＣ６０ａの通信Ｉ／Ｆ６３に送信する（Ｓ３３）。通信Ｉ／Ｆ６３はパケットデータをクライアントＰＣ６０ａのクライアントソフトウエア６９に送信する（Ｓ３４）。
【００４５】
クライアントソフトウエア６９は、パケットデータから画面データを取得し、取得した画面データをモニタ用Ｉ／Ｆ６６へ送信する（Ｓ３５）。モニタ用Ｉ／Ｆ６６は、画面データをモニタ７へ送信し（Ｓ３６）、本処理を終了する。Ｓ２９〜Ｓ３６の処理により、サーバ１０の画面データがモニタ７に表示される。
【００４６】
図８は、キーボード５及びマウス６の操作権を有さないユーザが使用するクライアントＰＣ６０ａにサーバ１０の画面データが表示される場合のデータの流れを示す図である。図８のデータの流れは、図６のデータの流れの一部と同一なので、同一のステップ番号を付す。
【００４７】
図８では、キーボード５及びマウス６の操作権を有さないユーザがクライアントＰＣ６０ａを使用しているので、キーコードやマウスデータがＩＰ−ＫＶＭスイッチ２０を介してサーバ１０に送信されることはない。従って、図８では、図６のＳ２１〜Ｓ２８の処理が存在しない。
【００４８】
また、上述したように、サーバソフトウエア２６及びクライアントソフトウエア６９が、帯域の抑制のための設定変更を行っているため、ネットワーク５０を介して通信Ｉ／Ｆ２５から通信Ｉ／Ｆ６３に送信されるパケットデータ（Ｓ３３）は、キーボード５及びマウス６の操作権を有するユーザへのパケットデータ（図６Ｓ３３）に比べて、データ量が少なくなる。
【００４９】
図９は、モニタ７に表示されるビューアの一例を示す図である。図９のビューア７０はサーバ１０の画面データを表示するものであり、クライアントソフトウエア６９の起動によってモニタ７に表示される。ビューア７０は、ユーザが選択した領域（以下、選択領域という）７１及びユーザが選択していない領域（以下、非選択領域という）７２を含む。ユーザが選択領域７１を設定する方法については後述する。ビューア７０の初期状態では、ビューア７０の表示領域全体が選択領域７１に相当し、非選択領域７２は存在しない。
【００５０】
制御部２１のマイコン２１ａは、選択領域７１内に表示される画面データを、データ量を削減することなくクライアントＰＣ６０ａのクライアントソフトウエア６９に送信する。一方、非選択領域７２が存在する場合、制御部２１のマイコン２１ａは非選択領域７２内に表示される画面データのデータ量を削減してクライアントＰＣ６０ａのクライアントソフトウエア６９に送信する。これにより、ビューア７０の全表示領域に表示される画面データを送信する場合に比べて、ＩＰ−ＫＶＭスイッチ２０からクライアントＰＣ６０ａに送信される画面データを減らすことができ、ネットワーク上の負荷を低減し、ユーザの操作性を維持することができる。
【００５１】
非選択領域７２内の画面データのデータ量を削減する方法は、例えば、（１）非選択領域７２内の画面データの更新を実行しない、（２）非選択領域７２内の画面データの表示色の色数を削減する、（３）非選択領域７２内の画面データのフレームレートを落とす、又は（４）インタレース方式で非選択領域７２内の画面データを送信する、のいずれか１つである。
【００５２】
図１０は、ユーザがモニタ７に表示されるビューア７０で選択領域７１を設定する方法の一例を示す図である。
【００５３】
まず、ユーザは、ビューア７０のメニュバー７３に含まれる選択ボタン７４を押下する（図１０の上段図参照）。次に、ユーザは、マウスカーソルのドラグ＆ドロップ操作で選択領域７１をビューア７０に設定する（図１０の中段図参照）。尚、クライアントソフトウエア６９の設定によって選択領域７１のサイズに制限をもたせることができる。最後に、ユーザは、メニュバー７３に含まれる適用ボタン７５を押下する。このような操作により選択領域７１が決定される（図１０の下段図参照）。
【００５４】
図１０では、ユーザがマウスカーソルを使って選択領域７１の位置及びサイズを決定したが、選択領域７１のサイズが予め決められていて、ユーザは選択領域７１の位置だけを決定するようにしてもよい。たとえば、ユーザが選択ボタン７４を押下すると、固定サイズの矩形状の選択領域７１が表示され、ユーザがマウスカーソルで選択領域７１を所望の位置に移動させ適用ボタン７５を押下することで選択領域７１の位置が決定されてもよい。
【００５５】
図１１は、選択領域７１の設定からサーバ１０の画面データがクライアントＰＣ６０ａに表示されるまでのデータの流れを示すフローチャートである。尚、ＯＳ１６はＣＰＵ１１ａにより実行され、サーバソフトウエア２６はマイコン２１ａにより実行され、クライアントソフトウエア６９はＣＰＵ６２ａにより実行される。図１２は、図１１のデータの流れを示すフローチャートである。尚、図１２のステップ番号は、図１１のステップ番号に対応する。また、図１１及び図１２ではキーボード５が操作される場合を示すが、マウス６が操作される場合も図１１及び図１２と同様の処理が実行される。
【００５６】
ビューア７０での選択領域７１設定の操作に応じて、クライアントＰＣ６０ａのクライアントソフトウエア６９が、設定された選択領域７１の位置及びサイズの情報をＩＰ−ＫＶＭスイッチ２０のサーバソフトウエア２６に出力する（Ｓ４１）。次に、ＩＰ−ＫＶＭスイッチ２０のサーバソフトウエア２６が、選択領域７１の設定に対する応答コマンドをクライアントソフトウエア６９に送信する（Ｓ４２）。
【００５７】
次いで、サーバ１０のＯＳ１６は、サーバ１０の画面データをモニタ用Ｉ／Ｆ１４へ送信する（Ｓ４３）。モニタ用Ｉ／Ｆ１４は、画面データをＩＰ−ＫＶＭスイッチ２０のサーバ用Ｉ／Ｆ２３へ送信する（Ｓ４４）。ＩＰ−ＫＶＭスイッチ２０のサーバ用Ｉ／Ｆ２３は画面データを制御部２１へ送信する（Ｓ４５）。制御部２１のマイコン２１ａは、例えば非選択領域７２内の画面データの更新を停止、又はフレームレートを落とすことで、非選択領域７２内の画面データのデータ量を削減する一方、選択領域７１のデータ量は削減しない。マイコン２１aは続いて、選択領域７１及び非選択領域７２の画面データをパケットデータに変換し、パケットデータを通信Ｉ／Ｆ２５に送信する（Ｓ４６）。通信Ｉ／Ｆ２５は、パケットデータをクライアントＰＣ６０ａの通信Ｉ／Ｆ６３に送信する（Ｓ４７）。通信Ｉ／Ｆ６３はパケットデータをクライアントＰＣ６０ａのクライアントソフトウエア６９に送信する（Ｓ４８）。
【００５８】
クライアントソフトウエア６９は、パケットデータから画面データを取得し、取得した画面データをモニタ用Ｉ／Ｆ６６へ送信する（Ｓ４９）。モニタ用Ｉ／Ｆ６６は、画面データをモニタ７へ送信し（Ｓ５０）、本処理を終了する。Ｓ１〜Ｓ１０の処理により、サーバ１０の画面データがモニタ７のビューア７０に表示される。
【００５９】
図１３は、図１１及び図１２のＳ４２の処理の詳細を示すフローチャートである。
【００６０】
まず、ＩＰ−ＫＶＭスイッチ２０のサーバソフトウエア２６がクライアントＰＣ６０ａのクライアントソフトウエア６９から選択領域７１の位置及びサイズの情報を取得する（Ｓ６１）。複数のクライアントで選択領域７１の設定がなされた場合には、サーバソフトウエア２６は、ユーザによって選択された選択領域７１の位置及びサイズの情報を取得する。なお、キーボード５及びマウス６の操作権を有さないユーザによって選択領域が選択された場合には、そのユーザにより選択された選択領域７１の位置及びサイズの情報を取得する。
【００６１】
サーバソフトウエア２６は、ＩＰ−ＫＶＭスイッチ２０にアクセスしたユーザの操作による選択領域７１の情報に基づいて、選択領域７１が設定可能であるか否かを判断する（Ｓ６２）。なお、複数ユーザがＩＰ−ＫＶＭスイッチ２０にアクセスしようとしている場合には、サーバソフトウエア２６は、ＩＰ−ＫＶＭスイッチ２０にアクセスしたユーザの順番に関する情報や、他のクライアントＰＣのクライアントソフトウエアからの選択領域７１の情報も考慮して、あるユーザが設定しようとしている選択領域７１が設定可能であるか否かをＳ６２で判断する。
【００６２】
複数ユーザがＩＰ−ＫＶＭスイッチ２０にアクセスする状況では、あるユーザがＩＰ−ＫＶＭスイッチ２０に最初にアクセスしたユーザである場合は、その時点では他のクライアントＰＣのクライアントソフトウエアからの選択領域７１の情報を取得していないため、サーバソフトウエア２６はそのユーザによる選択領域７１の設定が可能であると判断する。一方、ＩＰ−ＫＶＭスイッチ２０に２番目以降にアクセスしたユーザについては、他のクライアントＰＣのクライアントソフトウエアからの選択領域７１の情報がすでに取得されている。この場合、ネットワーク上の負荷を低減し、且つＩＰ−ＫＶＭスイッチに最初にアクセスしたユーザの操作性に影響を及ぼすことを避けるために、このユーザが設定しようとする選択領域７１のサイズを、先行してアクセスしたユーザが用いる他のクライアントＰＣのクライアントソフトウエアからの選択領域７１のサイズよりも小さくすることが好ましい。
【００６３】
あるユーザが設定しようとしている選択領域７１のサイズが先行してアクセスしたユーザが設定しようとしている選択領域７１のサイズよりも小さい場合には、サーバソフトウエア２６は、選択領域７１が設定可能であると判断する。一方、選択領域７１のサイズが先行してアクセスしたユーザが設定しようとしている選択領域７１のサイズよりも大きい場合には、サーバソフトウエア２６は、後からアクセスしたユーザは選択領域７１が設定不可能であると判断する。
【００６４】
選択領域７１が設定可能である場合には（Ｓ６２でＹＥＳ）、サーバソフトウエア２６は、選択領域７１の位置及びサイズの情報を制御部２１のマイコン２１ａに設定し、選択領域７１が設定可能である旨の応答コマンドを選択領域７１に関する情報を発したクライアントＰＣ６０ａのクライアントソフトウエア６９に送信する（Ｓ６３）。尚、選択領域７１の位置及びサイズの情報は、非選択領域７２内の画面データのデータ量を削減するためにＳ４６で使用される。
【００６５】
一方、選択領域７１が設定不可能である場合には（Ｓ６２でＮＯ）、サーバソフトウエア２６は、制御部２１のマイコン２１ａへの選択領域７１の設定を中止し、選択領域７１が設定不可能である旨の応答コマンドをクライアントＰＣ６０ａのクライアントソフトウエア６９に送信する（Ｓ６４）。
【００６６】
Ｓ６４では、サーバソフトウエア２６は、選択領域７１が設定不可能である旨の応答コマンドだけでなく、設定可能な選択領域７１のサイズを示す情報をクライアントＰＣ６０ａのクライアントソフトウエア６９に送信してもよい。例えば、設定可能な選択領域７１のサイズが３６０ｘ２４０ピクセル未満である場合には、サーバソフトウエア２６は、設定可能な選択領域７１のサイズが３６０ｘ２４０ピクセル未満であることを示す情報をクライアントＰＣ６０ａのクライアントソフトウエア６９に送信してもよい。この場合、クライアントＰＣ６０ａのユーザは設定可能な選択領域７１のサイズがわかるので、選択領域７１を再設定しやすい。
【００６７】
Ｓ６４では、サーバソフトウエア２６は、選択領域７１が設定不可能である旨の応答コマンドだけでなく、設定可能な選択領域７１の固定サイズを示す情報をクライアントＰＣ６０ａのクライアントソフトウエア６９に送信してもよい。この場合、モニタ７には、図１４（Ａ）に示すような、固定サイズの選択領域７１が表示されるので、クライアントＰＣ６０ａのユーザは、選択領域７１を再設定しやすい。ユーザがマウスカーソルで選択領域７１を所望の位置に移動させ、適用ボタン７５を押下すると、選択領域７１が決定される。
【００６８】
Ｓ６４では、サーバソフトウエア２６は、選択領域７１が設定不可能である旨の応答コマンドだけでなく、設定可能な選択領域７１の固定サイズのリスト７６をクライアントＰＣ６０ａのクライアントソフトウエア６９に送信してもよい。リスト７６がクライアントＰＣ６０ａのクライアントソフトウエア６９に送信されると、モニタ７には、図１４（Ｂ）に示すような設定可能な選択領域７１の固定サイズのリスト７６が表示される。クライアントＰＣ６０ａのユーザがリスト７６内の選択領域７１の固定サイズの一つを選択することで、モニタ７には図１４（Ａ）に示す固定サイズの選択領域７１が表示される。尚、図１４（Ａ）は、固定サイズの選択領域７１の一例を示す図であり、図１４（Ｂ）は、設定可能な選択領域７１の固定サイズのリスト７６の一例を示す図である。
【００６９】
Ｓ６４の後、クライアントソフトウエア６９が選択領域７１を再設定し、再設定された選択領域７１の位置及びサイズの情報をＩＰ−ＫＶＭスイッチ２０のサーバソフトウエア２６に送信する（Ｓ６５）。手順はＳ６１に戻る。
【００７０】
図１５（Ａ）は、マウスカーソルの周囲領域が選択領域７１となる例を示す図である。図１５（Ｂ）は、図１５（Ａ）のマウスカーソルの周囲領域の設定画面の一例を示す図である。
【００７１】
図１５（Ｂ）では、マウスカーソルの先端から水平方向に距離Ｘ１だけ離れ且つマウスカーソルの先端から垂直方向に設定された距離Ｙ１だけ離れた矩形のマウスカーソルの周囲領域が選択領域７１となる。図９と同様に、ビューア７０は選択領域７１と非選択領域７２を含む。また、図９と同様に、選択領域７１内の画面データのデータ量は削減されないが、非選択領域７２内の画面データのデータ量は制御部２１のマイコン２１ａによって削減される。非選択領域７２内の画面データのデータ量を削減する方法は、例えば、（１）非選択領域７２内の画面データの更新を実行しない、（２）非選択領域７２内の画面データの表示色の色数を削減する、（３）非選択領域７２内の画面データのフレームレートを落とす、又は（４）インタレース方式で非選択領域７２内の画面データを送信する、のいずれか１つである。
【００７２】
マウスカーソルの周囲領域を設定する場合には、ユーザがクライアントソフトウエア６９に図１５（Ｂ）の設定画面を読み出すコマンドを入力する。これにより、クライアントソフトウエア６９が図１５（Ｂ）の設定画面をモニタ７に表示する。図１５（Ｂ）の設定画面では、ブランク８１にマウスカーソルの先端から水平方向に離れる距離を設定でき、ブランク８２にマウスカーソルの先端から垂直方向に離れる距離を設定できる。
【００７３】
以上説明したように、本実施の形態によれば、ＩＰ−ＫＶＭスイッチ２０が、操作権を有するユーザが使用するクライアントとの通信に予め決められた帯域（例えば３００ｋｂｐｓ）を割り当て、操作権を有さないユーザが使用するクライアントとの通信には予め決められた帯域よりも小さい帯域（例えば１００ｋｂｐｓ）を割り当て（図５参照）、操作権を有するユーザ及び操作権を有さないユーザによって選択された選択領域７１の情報を取得し（Ｓ４２、Ｓ６１）、モニタ７の画面内の選択領域７１の情報に基づいて、選択領域７１以外の非選択領域７２に表示される画面データのデータ量を削減する（Ｓ４６）。従って、ネットワーク上の負荷を低減し、操作権を有するユーザの操作性を維持することができる。特に、非選択領域７２に表示される画面データが削減されるので、画面データを削減しない場合に比べて、ネットワーク上の負荷を低減できる。
【００７４】
また、操作権を有さないユーザによって選択された選択領域７１のサイズが、操作権を有するユーザによって選択された選択領域７１のサイズよりも大きい場合に（Ｓ６２でＮＯ）、サーバソフトウエア２６は操作権を有さないユーザによって選択された選択領域７１の情報を、非選択領域の画面データのデータ量を削減するマイコン２１ａに設定することを中止するので、操作権を有するユーザの操作性に影響を及ぼすことを避けることができる。
【００７５】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【符号の説明】
【００７６】
１  システム
１０  サーバ
１１，２１，６２  制御部
１１ａ，６２ａ  ＣＰＵ
１１ｂ，２２，６２ｂ  メモリ
１１ｃ，６２ｃ  ＨＤＤ
２０  ＩＰ−ＫＶＭスイッチ
２１ａ  マイコン
２６  サーバソフトウエア
６０ａ〜６０ｃ  クライアントＰＣ
６９  クライアントソフトウエア
【図１】
2018018221.tif 000003
【図２】
2018018221.tif 000004
【図３】
2018018221.tif 000005
【図４】
2018018221.tif 000006
【図５】
2018018221.tif 000007
【図６】
2018018221.tif 000008
【図７】
2018018221.tif 000009
【図８】
2018018221.tif 000010
【図９】
2018018221.tif 000011
【図１０】
2018018221.tif 000012
【図１１】
2018018221.tif 000013
【図１２】
2018018221.tif 000014
【図１３】
2018018221.tif 000015
【図１４】
2018018221.tif 000016
【図１５】
2018018221.tif 000017