(57)【要約】【課題】プラグアンドプレイでのデバイス変更や周辺機器の接続に対応したシンクライアントシステムを実現する。【解決手段】周辺機器２０の接続インターフェイス１１６と、計算機１００との間にイニシエータとしてＶＰＮ１６０を構築し通信を行うＶＰＮ構築手段１１１と、接続インターフェイス１１６での周辺機器接続イベントをＶＰＮ経由で計算機１００に通知するイベント通知手段１１３とを備える周辺機器接続装置１１０と、周辺機器接続装置１１０からのＶＰＮ構築要求に応じてＶＰＮ経由での通信を行うＶＰＮ通信手段１０１と、周辺機器接続装置１１０よりＶＰＮ経由で周辺機器接続イベントの通知を受けて、周辺機器接続装置１１０の接続インターフェイス１１６に接続されている周辺機器２０を、当該計算機１００の周辺機器として割り当てる機器割当手段１０２，１０５とを備える計算機１００とからシンクライアントシステム１０を構成する。【選択図】図１
2010117855.tif 000002
【特許請求の範囲】
【請求項１】
ＩＰネットワークに接続された計算機および周辺機器接続装置からなるシステムであって、
前記周辺機器接続装置が、
周辺機器の接続インターフェイスと、前記計算機との間にイニシエータとしてＶＰＮを構築し当該ＶＰＮ経由での通信を行うＶＰＮ構築手段と、前記接続インターフェイスでの周辺機器接続イベントを前記構築したＶＰＮ経由で前記計算機に通知するイベント通知手段とを備え、
前記計算機が、
前記周辺機器接続装置からのＶＰＮ構築要求に応じてＶＰＮ経由での通信を行うＶＰＮ通信手段と、前記周辺機器接続装置よりＶＰＮ経由で前記周辺機器接続イベントの通知を受けて、前記周辺機器接続装置の接続インターフェイスに接続されている前記周辺機器を、当該計算機の周辺機器として割り当てる機器割当手段とを備える、
ことを特徴とするシンクライアントシステム。
【請求項２】
前記周辺機器接続装置が、
前記接続インターフェイスとして、前記周辺機器を物理的に接続する周辺機器ハブを備え、
前記ＶＰＮ構築手段として、前記ＩＰネットワーク上で前記計算機との間のＶＰＮを構築するＶＰＮクライアントプログラムを備え、
前記周辺機器と前記周辺機器ハブとを制御する周辺機器ホストコントローラを備えることを特徴とする請求項１に記載のシンクライアントシステム。
【請求項３】
前記周辺機器接続装置が、
利用者の認証用情報を少なくとも含む初期設定データを格納した識別情報記憶装置と、
当該周辺機器接続装置の起動時に前記識別情報記憶装置から前記初期設定データを読み出して、この初期設定データに従って利用者認証処理を行う接続制御装置と、
を備えることを特徴とする請求項１に記載のシンクライアントシステム。
【請求項４】
前記周辺機器接続装置において、
周辺機器接続装置の起動後の稼動状態を示すインジケータを備え、
前記接続制御装置が、前記利用者認証の進行状況を前記インジケータに表示するものであることを特徴とする請求項３に記載のシンクライアントシステム。
【請求項５】
前記周辺機器接続装置において、
前記周辺機器と前記周辺機器ハブとを制御する周辺機器ホストコントローラが、前記周辺機器の起動時またはリセット時、ＶＰＮ切断後に再度ＶＰＮを構築する前、のいずれかのタイミングで、前記周辺機器ハブに接続されている周辺機器を一定時間占有し、
前記接続制御装置が、前記占有している周辺機器を介して認証情報入力を利用者に促し、ここで入力された認証情報を前記初期設定データの認証用情報と照合して利用者認証処理を実行する、
ことを特徴とする請求項３に記載のシンクライアントシステム。
【請求項６】
前記周辺機器接続装置において、
利用者固有情報と前記計算機の識別情報とを記憶した着脱可能な記憶装置を備え、
前記接続制御装置が、前記占有している周辺機器を介して認証情報入力を利用者に促し、ここで入力された認証情報と前記着脱可能な記憶装置から読み出した情報と照合して利用者認証処理を実行する、
ことを特徴とする請求項５に記載のシンクライアントシステム。
【請求項７】
前記計算機が、
前記ＶＰＮ通信手段としてＶＰＮサーバプログラムを備え、
前記機器割当手段として、前記周辺機器接続装置に接続されている周辺機器を接続する接続ドライバソフトウェアと、前記周辺機器を機器ごとに制御する機器ドライバソフトウェアを備える、
ことを特徴とする請求項１に記載のシンクライアントシステム。
【請求項８】
ＩＰネットワークに接続された計算機および周辺機器接続装置からなるコンピュータシステムにおいて、
前記周辺機器接続装置が、
前記計算機との間にイニシエータとしてＶＰＮを構築し当該ＶＰＮ経由での通信を行う処理と、周辺機器を接続可能な接続インターフェイスでの周辺機器接続イベントを前記構築したＶＰＮ経由で前記計算機に通知する処理とを実行し、
前記計算機が、
前記周辺機器接続装置からのＶＰＮ構築要求に応じてＶＰＮ経由での通信を行う処理と、前記周辺機器接続装置よりＶＰＮ経由で前記周辺機器接続イベントの通知を受けて、前記周辺機器接続装置の接続インターフェイスに接続されている前記周辺機器を、当該計算機の周辺機器として割り当てる処理とを実行する、
ことを特徴とするシンクライアントシステム構成方法。
【請求項９】
ＩＰネットワークに接続された計算機とシンクライアントシステムを構成する装置であって、周辺機器の接続インターフェイスと、前記計算機との間にイニシエータとしてＶＰＮを構築し当該ＶＰＮ経由での通信を行うＶＰＮ構築手段と、前記接続インターフェイスでの周辺機器接続イベントを前記構築したＶＰＮ経由で前記計算機に通知するイベント通知手段とを備えることを特徴とする周辺機器接続装置。
【請求項１０】
ＩＰネットワークに接続された装置とシンクライアントシステムを構成する計算機であって、前記装置からのＶＰＮ構築要求に応じてＶＰＮ経由での通信を行うＶＰＮ通信手段と、前記装置の接続インターフェイスに周辺機器が接続されたイベントの通知を前記装置よりＶＰＮ経由で受けて、前記装置の接続インターフェイスに接続されている周辺機器を当該計算機の周辺機器として割り当てる機器割当手段とを備えることを特徴とする計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シンクライアントシステム、シンクライアントシステム構成方法、シンクライアントシステムを構成する周辺機器接続装置および計算機に関する。
【背景技術】
【０００２】
キーボードやマウスおよびディスプレイなどのユーザインタフェースを担当するグラフィカルユーザインタフェースモジュール（以下ＧＵＩモジュール）と、計算処理および記憶を担当する計算モジュールと分離して構成し、両者をＴＣＰ／ＩＰネットワーク等で接続することにより、リモートから操作することができるパーソナルコンピュータを実現するシンクライアントシステムと呼ばれる技術がある。現在使用されているシンクライアントシステムでは、ＧＵＩモジュールを制御する機構をＣＰＵ、メモリ、二次記憶装置から構成される端末で実現しているものが主流である。この端末を用いてネットワーク接続されたパーソナルコンピュータ（以下、リモートＰＣと呼ぶことにする）をリモートから操作する処理は、以下のように実現されている。
【０００３】
（１）リモートＰＣのオペレーティングシステムおよびウィンドウシステムが、（リモートＰＣ側の）ディスプレイデバイスに対して実行する画面描画コマンドをキャプチャする第一のブログラムを準備する。端末上の第二のプログラムは、ＴＣＰ／ＩＰネットワークを介して前記リモートＰＣの第一のプログラムにアクセスし、その描画コマンドを入手する。また第二のプログラムは、管理するウィンドウ領域に対して前記描画コマンドを実行する。これにより、端末自身が制御するディスプレイデバイスに対して表示処理が行われる。
【０００４】
（２）第二のプログラムは、端末上のオペレーティングシステムを介して入力されたキーボード・マウスイベントを取得し、（管理するウィンドウ領域でエミュレーションした）リモートＰＣのウィンドウシステムに対するキーボード・マウスイベントに変換する。変換したキーボード・マウスイベントは、ＴＣＰ／ＩＰネットワークを介して第一のプログラムに送信する。リモートＰＣ上の第一のプログラムは、リモートＰＣのオペレーティングシステムおよびウィンドウシステムに対して、前記キーボード・マウスイベントを発行することにより、リモートＰＣ上のアプリケーションプログラムへの入力処理を行う。
【０００５】
こうしたシンクライアントシステムについての従来技術として、例えば、端末として周辺機器を制御する機能を有するパーソナルコンピュータを使用し、リモートＰＣが端末に周辺機器からのデータを取得する処理を要求する技術（特許文献１参照）が提案されている。このシンクライアントシステムは、周辺機器を利用する際に発生する大量のデータ転送を端末と周辺機器間に限定し、リモートＰＣと端末をつなぐネットワークの負荷を低減していた。
【０００６】
また、通信機能および画面操作インタフェース機能を有する端末をリモートＰＣに接続し、リモートＰＣの計算処理機能および記憶機能により実質的にパーソナルコンピュータを構成する技術も提案されていた（特許文献２参照）。
【特許文献１】特開２００６−３２３６６０号公報
【特許文献２】特開２０００−３３０９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
背景技術で述べたように、現在主流のシンクライアントシステムでは、ＧＵＩモジュールを制御する機構をＣＰＵ、メモリ、二次記憶装置から構成される端末、いわゆる通常のパーソナルコンピュータを使用している。また、従来のシンクライアントシステムで周辺機器を利用するために、シンクライアント端末の隣にパーソナルコンピュータを配置する状況があった。
【０００８】
こうした公知技術では、シンクライアント端末に対して例えばＵＳＢインタフェースを利用した周辺機器などを接続し、これをリモートＰＣ側で確実に認識して利用する形態が考慮されていなかった。また、周辺機器を接続し利用するための装置として、そのコスト面について十分考慮されている訳ではなかった。
【０００９】
そこで本発明は上記課題を鑑みてなされたものであり、プラグアンドプレイでのデバイス変更や周辺機器の接続に対応したシンクライアントシステムを実現する技術の提供を主たる目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決する本発明のシンクライアントシステムは、ＩＰネットワークに接続された計算機および周辺機器接続装置からなるシステムである。前記周辺機器接続装置は、周辺機器の接続インターフェイスと、前記計算機との間にイニシエータとしてＶＰＮを構築し当該ＶＰＮ経由での通信を行うＶＰＮ構築手段と、前記接続インターフェイスでの周辺機器接続イベントを前記構築したＶＰＮ経由で前記計算機に通知するイベント通知手段とを備える。この周辺機器接続装置は、シンクライアント端末となる装置である。
【００１１】
周辺機器の例としては、ＵＳＢ機器を想定できる。従って、この場合、周辺機器接続装置が備える接続インターフェイスもＵＳＢインターフェイスとなり、例えば、ＵＳＢ機器を物理的に接続する周辺機器ハブが想定される。前記ＶＰＮ構築手段としては、前記ＩＰネットワーク上で前記計算機との間のＶＰＮを構築するＶＰＮクライアントプログラムを想定する。このＶＰＮクライアントプログラムは、前記ＩＰネットワーク上においてＵＳＢプロトコルをトンネリングする通信路を形成する。
【００１２】
また、前記周辺機器接続装置は、前記周辺機器と前記周辺機器ハブとを制御する周辺機器ホストコントローラを備えるとしてもよい。周辺機器ハブに接続する周辺機器がＵＳＢ機器であれば、この周辺機器ホストコントローラは、ＵＳＢホストコントローラである。
【００１３】
一方、前記計算機は、前記周辺機器接続装置からのＶＰＮ構築要求に応じてＶＰＮ経由での通信を行うＶＰＮ通信手段と、前記周辺機器接続装置よりＶＰＮ経由で前記周辺機器接続イベントの通知を受けて、前記周辺機器接続装置の接続インターフェイスに接続されている前記周辺機器を、当該計算機の周辺機器として割り当てる機器割当手段とを備える。
【００１４】
ＶＰＮ通信手段としては、ＶＰＮサーバプログラムを想定する。また、前記機器割当手段としては、前記周辺機器接続装置に接続されている周辺機器を接続する接続ドライバソフトウェアと、前記周辺機器を機器ごとに制御する機器ドライバソフトウェアを想定する。前記接続ドライバソフトウェアとしてはリモートＵＳＢハブアダプタを、前記機器ドライバソフトウェアとしてはＵＳＢバスドライバを想定する。
【００１５】
こうした構成のシンクライアントシステムにおいて、例えば、周辺機器接続装置に接続したＵＳＢ機器（例えば、ディスプレイ、キーボード、マウスなどのＨＩＤ：Human Interface Device）を用いて、計算機（リモートＰＣ）を操作するとする。その場合、まず、ユーザにより周辺機器接続装置の電源投入がなされる。すると、この周辺機器接続装置は、ＩＰネットワークのプロトコルに適応した通信手段にてＩＰネットワークに接続し、その後、レイヤ２のＶＰＮ（例えばＰＰＴＰ）でイニシエータとなって計算機に対するＶＰＮ接続を行う（周辺機器接続装置と計算機の双方に新しいネットワークインタフェースを生成し、任意のＩＰアドレスを付与）。周辺機器接続装置は、ＶＰＮが構築済みであることを確認し、ＵＳＢホストコントローラによりＵＳＢ機器が周辺機器接続装置に接続されたことを検出し、ＶＰＮクライアントおよびＶＰＮを経由して計算機のＵＳＢバスドライバに通知する。すると計算機では必要なデバイスドライバがロードされ、前記ＵＳＢ機器の利用が可能になる。
【００１６】
なお、前記周辺機器接続装置が、利用者の認証用情報を少なくとも含む初期設定データを格納した識別情報記憶装置を備えるとしてもよい。この場合、前記周辺機器接続装置は、当該周辺機器接続装置の起動時に前記識別情報記憶装置から前記初期設定データを読み出して、この初期設定データに従って利用者認証処理を行う接続制御装置を備えるとすればよい。
【００１７】
また、前記周辺機器接続装置において、前記周辺機器接続装置の起動後の稼動状態を示すインジケータを備えており、前記接続制御装置が前記利用者認証の進行状況を前記インジケータに表示するものであるとしてもよい。
【００１８】
また、前記周辺機器接続装置において、前記周辺機器と前記周辺機器ハブとを制御する周辺機器ホストコントローラが、前記周辺機器の起動時またはリセット時、ＶＰＮ切断後に再度ＶＰＮを構築する前、のいずれかのタイミングで、前記周辺機器ハブに接続されている周辺機器を一定時間占有するとしてもよい。この場合、前記接続制御装置が、前記占有している周辺機器を介して認証情報入力を利用者に促し、ここで入力された認証情報を前記初期設定データの認証用情報と照合して利用者認証処理を実行する。
【００１９】
また、前記周辺機器接続装置において、利用者固有情報と前記計算機の識別情報とを記憶した着脱可能な記憶装置を備えるとしてもよい。この場合、前記接続制御装置が、前記占有している周辺機器を介して認証情報入力を利用者に促し、ここで入力された認証情報と前記着脱可能な記憶装置から読み出した情報と照合して利用者認証処理を実行する。
【００２０】
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【発明の効果】
【００２１】
本発明によれば、プラグアンドプレイでのデバイス変更や周辺機器の接続に対応したシンクライアントシステムを実現できる。
【発明を実施するための最良の形態】
【００２２】
−−−システム構成概要−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の周辺機器接続装置たるＵＳＢコンセントレータ（以下、ＵＳＢコンセントレータ１１０）と、計算機たるリモートＰＣ（以下、リモートＰＣ１００）の接続構成の概略を示す図である。本実施形態におけるシンクライアントシステム１０において、前記ＵＳＢコンセントレータ１１０は、周辺機器たるＵＳＢデバイス２０である、ディスプレイアダプタ１２０、キーボード・マウス１３０、およびその他デバイス１４０を、物理的・電気的に接続し、これらのＵＳＢデバイス２０をリモートＰＣ１００に論理的に接続する機能を提供する。前記リモートＰＣ１００は、前記ＵＳＢコンセントレータ１１０を介してＵＳＢデバイス２０を制御し、自身に物理的電気的に接続されたＵＳＢデバイスと同様に利用することができる。なお、その他のデバイス１４０は、プリンタ、スキャナ、ｗｅｂカメラ、Ｂｌｕｅｔｏｏｔｈ（登録商標）のアダプタ、ＩＣカードリーダ、指紋・指静脈リーダ等が該当する。
【００２３】
また、前記ＵＳＢコンセントレータ１１０およびリモートＰＣ１００は、それぞれネットワークドライバ１１４とネットワークドライバ１０４を介してＴＣＰ／ＩＰネットワーク１５０に接続されている。前記リモートＰＣ１００がＵＳＢデバイス２０を制御する際に使用するＵＳＢパケットは、このＴＣＰ／ＩＰネットワーク１５０でトンネリングされる。このため、リモートＰＣ１００には、ＵＳＢバスドライバ１０２（機器ドライバソフトウェア）の下位レイヤにリモートＵＳＢハブアダプタ１０５（接続ドライバソフトウェア）を、ＵＳＢコンセントレータ１１０には接続制御装置１１３（イベント通知手段、ＶＰＮ構築手段）を設けることにより、前記トンネリングを実現している。
【００２４】
前記リモートＵＳＢハブアダプタ１０５と接続制御装置１１３とは、ＵＳＢパケットを送信する必要が生じるたびに、ＵＳＢパケットをデータグラムとするＩＰパケットを生成し、相手に送信する。本実施形態では、ＵＳＢコンセントレータ１１０にＶＰＮクライアント１１１（ＶＰＮ構築手段）を、リモートＰＣ１００にＶＰＮサーバ（ＶＰＮ通信手段）１０１を設け、ＵＳＢコンセントレータ１１０が起動された後、ＶＰＮクライアント１１１からＶＰＮサーバ１０１に対してＶＰＮを構築することにより仮想的な通信回線を確保する。
【００２５】
（ＵＳＢコンセントレータの構成）
ＵＳＢコンセントレータ１１０は、前記のＵＳＢデバイスを接続する機構として、ＵＳＢホストコントローラ１１５と、ＵＳＢルートハブ１１６を持つ。ＵＳＢルートハブ１１６は複数のコネクタを持ち、ＵＳＢの規格で定められた個数以下のＵＳＢデバイスを接続することが可能である。ＵＳＢコンセントレータ１１０には、ディスプレイアダプタ１２０とキーボード・マウス１３０とその他デバイス１４０を接続する。ＵＳＢホストコントローラ１１５内には、ＵＳＢコンセントレータ１１０自身がＵＳＢデバイスを制御するためのＵＳＢバスドライバと、ＵＳＢコンセントレータ１１０が制御するＵＳＢデバイスに対応するデバイスドライバが内蔵されている。
【００２６】
さらにＵＳＢコンセントレータ１１０は、リモートＰＣ１００と協調してシンクライアントシステムを構成するために必要な識別情報４００を、識別情報記憶装置１１２に保持する。
【００２７】
一方、リモートＰＣ１００は、前記ＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイス２０を制御する機構として、ＵＳＢバスドライバ１０２の下位レイヤにリモートＵＳＢハブアダプタ１０５を持つ。リモートＵＳＢハブアダプタ１０５は、前記ＵＳＢコンセントレータ１１０の接続制御装置１１３との間でＴＣＰ／ＩＰによる通信を行う機能を有する。また前記リモートＵＳＢバスアダプタ１０５は、リモートＰＣ１００上のオペレーティングシステムおよびアプリケーションプログラムが、前記ＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイス２０を制御する際に使用するＵＳＢパケットを転送する。
【００２８】
こうした構成により、前記ＵＳＢコンセントレータ１１０は、ＵＳＢプロトコルをＩＰプロトコルに変換するリモートＵＳＢハブ機能を実現することができる。ＶＰＮクライアント１１１とＶＰＮサーバ１０１間に構築されたＶＰＮ１６０を介して、接続制御装置１１３がリモートＵＳＢバスアダプタ１０５に認識される。このリモートＵＳＢバスアダプタ１０５が、ＵＳＢバスドライバ１０２に接続制御装置１１３の発した接続イベントを中継し、前記ＵＳＢバスドライバ１０２にＵＳＢホストコントローラ１１５が接続される。  この接続で、前記ＵＳＢコンセントレータ１１０のＵＳＢルートハブ１１６についてのエニュメレーションと、ＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイス２０（正確にはＵＳＢコンセントレータ１１０のＵＳＢルートハブ１１６に接続されたＵＳＢデバイス）のエニュメレーションがリモートＰＣ１００側でなされ、プラグアンドプレイを実現するのである。
【００２９】
−−−ＵＳＢコンセントレータの構成−−−
図２は本実施形態のＵＳＢコンセントレータ１１０のハードウェア構成を示す図である。ＵＳＢコンセントレータ１１０は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、およびそれらの間を接続するバス２０８、ＴＣＰ／ＩＰネットワークとの間のインタフェースであるネットワークインターフェイス２０４、リムーバブルメディアインターフェイス２０５、ＵＳＢデバイス２０を接続するＵＳＢインターフェイス２０６、利用者に対するメッセージを表示することが可能な液晶表示部２０７（インジケータ）により構成される。
【００３０】
前記ＲＯＭ２０３には、ＶＰＮクライアント１１１を実現するプログラム、接続制御装置１１３を実現するプログラム、ＵＳＢバスドライバおよびデバイスドライバ（図示せず）が格納されている。前記ＵＳＢバスドライバおよびデバイスドライバは、ＵＳＢコンセントレータ１１０上で稼動するソフトウェアからＵＳＢデバイス２０を利用できるようにするものである。また、ＵＳＢインターフェイス２０６は、ＵＳＢホストコントローラ１１５およびＵＳＢルートハブ１１６を実現するものである。また、前記ＲＯＭ２０３（ないしＲＡＭ２０２）にはネットワークドライバ１１４が格納されている。
【００３１】
図１における識別情報記憶装置１１２は、ＲＡＭ２０２の一部を不揮発性メモリとして使用して実現する方法と、リムーバブルメディアインターフェイス２０５およびリムーバブルメディアを使用して実現する方法のいずれかにより実現することができる。液晶表示部２０７は、ＵＳＢコンセントレータ１１０で稼動するソフトウェアが利用者に対してメッセージを表示するものである。
【００３２】
本実施形態におけるＵＳＢコンセントレータ１１０は、ＵＳＢホストコントローラ１１５が受理したキーボード・マウスイベントを、ＶＰＮクライアント１１１を用いてリモートＰＣ１００に送信する。またリモートＰＣ１００内で処理された画面描画イベントは、ＶＰＮクライアント１１１が受信した後、ＵＳＢホストコントローラ１１５を介してＵＳＢディスプレイアダプタ１２０に渡されて表示処理が行われる。つまり、ＵＳＢコンセントレータ１１０はＵＳＢホストコントローラ１１５およびＶＰＮクライアント１１１のみでも実現することが可能であり、安価なハードウェアで実現することが可能になる。
【００３３】
また本実施形態においては、ＵＳＢデバイス２０の接続に必要なデバイスドライバは、リモートＰＣ側でセットアップする。ＵＳＢコンセントレータ１００にＵＳＢデバイス２０を接続した後に起動される処理は、通常のＰＣのＵＳＢコネクタに機器を接続した場合と同等であり、プラグアンドプレイでＵＳＢデバイスを変更することと、プリンタ、スキャナ、デジタルカメラといったＵＳＢ機器を接続することが可能になる。
【００３４】
−−−処理フロー例１−−−
以下、本実施形態におけるシンクライアントシステム構成方法の実際手順について、図に基づき説明する。図３は本実施形態のＵＳＢコンセントレータ１１０とリモートＰＣ１００の接続手順を示す図である。図中、水平方向に都度の通信を示し、時間は上から下に経過し、上から下の順に実行し処理される。
【００３５】
・起動処理：本実施形態のＵＳＢコンセントレータ１１０において、起動後、前記ＵＳＢルートハブ１１６は、ＵＳＢホストコントローラ１１５に対し接続イベント（３００）を送る。ＵＳＢホストコントローラ１１５は、ＵＳＢルートハブ１１６に接続されているＵＳＢデバイス２０を識別し、各ＵＳＢデバイス２０にアドレスを割当て、各ＵＳＢデバイス２０のディスクリプタ情報を収集する。
【００３６】
一方、ＵＳＢホストコントローラ１１５は、前記ディスクリプタ情報を用いて、ＵＳＢルートハブ１１６につながるＵＳＢデバイス２０を制御するために必要なデバイスドライバをロードし、ＵＳＢコンセントレータ１１０がＵＳＢデバイス２０を使用可能な状態にするエニュメレーション処理（３０１）を実施する。ここで使用可能な状態にするＵＳＢデバイス２０は、キーボード・マウス１３０や、ＩＣカードリーダ、生体認証用のデバイスなど、ＵＳＢコンセントレータ１１０が必要とするＵＳＢデバイスのみに限ってもよい（例：必要なＵＳＢデバイスについての情報をＵＳＢコンセントレータ１１０がＲＯＭ２０３などに予め記憶しておき、エニュメレーション対象を限定して実行する）。
【００３７】
・認証処理：上記のエニュメレーション処理（３０１）が終了すると、ＵＳＢコンセントレータ１１０で利用可能なＵＳＢデバイス２０からの入力イベント（３０２）を受け付ける。この入力イベントは接続制御装置１１３で利用可能である。そこで、ＵＳＢコンセントレータ１１０は、エニュメレーションが済んで利用可能となったＵＳＢデバイス２０においてパスワード入力を利用者にさせ、その入力値と所定の認証情報（ＲＯＭ２０３等に格納）とを照合するなどの方法を用いて、ＵＳＢコンセントレータ１１０の利用者認証を行ってもよい。
【００３８】
・ＶＰＮ構築：ＵＳＢコンセントレータ１１０はＩＰアドレスを取得する処理を行う。想定される方法としては、例えば、起動前のＵＳＢコンセントレータ１１０に有線ＬＡＮのコネクタを接続しておき、前記エニュメレーション処理（３０１）の前後にネットワークドライバ１１４を、あらかじめ識別情報記憶装置１１２に書き込んでおいた識別情報４００に従って活性化させるやり方がある（詳細は後述する）。また、利用者の認証処理が終了した時点で、８０２．１Ｘに定められた方法に従ってＴＣＰ／ＩＰネットワーク１５０に接続するようにしてもよい。
【００３９】
ＩＰアドレスが付与され、ＴＣＰ／ＩＰネットワーク１５０に接続したＵＳＢコンセントレータ１１０は、リモートＰＣ１００との間でＶＰＮ１６０を構築する。ＵＳＢコンセントレータ１１０の接続制御装置１１３は、前記識別情報４００を用いてＶＰＮクライアント１１１にＶＰＮ構築指示（３１０）を出す（詳細は後述）。
【００４０】
前記ＶＰＮクライアント１１１は、ＴＣＰ／ＩＰネットワーク１５０を介し、前記リモートＰＣ１００のＶＰＮサーバ１０１に接続要求（３１１）を出して、ＶＰＮ１６０を構築（３１２）する。ＶＰＮ実現方式としてレイヤ２でＶＰＮを構築するＬ２ＴＰ等を用いることにより、ＴＣＰ／ＩＰネットワーク上では別セグメントに配置されたリモートＰＣ１００とＵＳＢコンセントレータ１１０とを、仮想的な同一のセグメントに接続されたものとして処理を行うことができる。このため、ＶＰＮ１６０上では、リモートＰＣ１００およびＵＳＢコンセントレータ１１０のＩＰアドレスとして、例えば、１９２．１６８．０．１と、１９２．１６８．０．２のようなプライベートアドレスをあらかじめ付与しておくことが可能になる。ＶＰＮクライアント１１０は、前述したＶＰＮ構築処理が終了したことを確認し、接続制御装置１１３に完了通知（３１３）を行う。
【００４１】
・中継処理：一方、ＵＳＢコンセントレータ１１０のの接続制御装置１１３は、前記完了通知（３１３）を受け取ると、前記エニュメレーション処理（３０１）により使用可能な状態にしたＵＳＢデバイス２０との入出力を、ＶＰＮクライアント１１１にリダイレクトする。この処理を行った後は、ＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイス２０への入出力は、すべてリモートＰＣ１００との間で行われることになる。
【００４２】
リダイレクト処理が完了すると、前記接続制御装置１１３は、ＶＰＮクライアント１１１およびＶＰＮ１６０を介してＶＰＮサーバ１０１と通信し、このＶＰＮサーバ１０１を介してリモートＵＳＢハブアダプタ１０５に対して接続イベント（３１４）を送る。リモートＵＳＢハブアダプタ１０５が、ＵＳＢバスドライバ１０２に前記接続イベントを中継（３２０）することにより、前記ＵＳＢバスドライバ１０２による、ＵＳＢコンセントレータ１１０上のＵＳＢルートハブ１１６に対するエニュメレーション処理（３２１）が開始される。
【００４３】
・ＵＳＢルートハブのエニュメレーション：続いて、前記リモートＰＣ１００のＵＳＢバスドライバ１０２は、リモートＵＳＢハブアダプタ１０５が中継（３２０）した接続イベントを受け取ると、前記ＵＳＢコンセントレータ１１０のＵＳＢルートハブ１１６にアドレスを割当て、ディスクリプタ情報を収集する。ＵＳＢバスドライバ１０２は、前記ディスクリプタ情報より、ＵＳＢルートハブ１１６を制御するために必要なデバイスドライバをロードして使用可能な状態にする。
【００４４】
なお、リモートＰＣ１００のＯＳブート時や、ＶＰＮサーバ１０１がＶＰＮの構築を完了した時点、ＶＰＮサーバ１０１を介して接続イベント（３１４）がリモートＵＳＢハブアダプタ１０５に送られた時点等で、リモートＵＳＢハブアダプタ１０５がＵＳＢバスドライバ１０２の代理としてＵＳＢルートハブ１１６のエニュメレーション処理を行うとしてもよい。ＵＳＢルートハブ１１６のエニュメレーション処理（３２１）が完了すると、当該ＵＳＢルートハブ１１６は、リモートＰＣ１００のＵＳＢバスドライバ１０２に接続イベントを送る。
【００４５】
・ＵＳＢデバイス群のエニュメレーション：前記接続イベントを受信したリモートＰＣ１００のＵＳＢバスドライバ１０２は、ＵＳＢルートハブ１１６にハブクラスリクエスト（３３０）を送信する。このハブクラスリクエストが送信されると、ＵＳＢコンセントレータ１１０（のＵＳＢルートハブ１１６）に接続されたすべてのＵＳＢデバイス２０に対するエニュメレーション処理（３３１）が、ＵＳＢバスドライバ１０２により実行される。ＵＳＢバスドライバ１０２の上位には、各ＵＳＢデバイス２０に対応するデバイスドライバ１０３が準備されており、前記ＵＳＢバスドライバ１０２は、各々のＵＳＢデバイス２０を識別し、ディスクリプタ情報を収集した上でエニュメレーション処理を実行する。
【００４６】
・ＵＳＢデバイスの入出力処理：リモートＰＣ１００で、ＵＳＢコンセントレータ１１０のＵＳＢルートハブ１１６に接続されている全てのＵＳＢデバイス２０についてエニュメレーションが終了すると、リモートＰＣ１００はＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイス２０に対して、通常のトランザクション（３４０）を行えるようになる。
【００４７】
・ＵＳＢデバイスの取り外しなど：ＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイス２０は、ＶＰＮ１６０による仮想的な通信回線でリモートＰＣ１００と接続されており、リモートＰＣ１００に物理的に接続されたＵＳＢデバイスと同様に取り外しを行うことができる。ＵＳＢコンセントレータ１１０の電源が切断された場合、もしくはＶＰＮ１６０が切断された場合、リモートＵＳＢハブアダプタ１０５はこれを検知して、ＵＳＢホストコントローラ１１５が取り外されたことをＵＳＢバスドライバ１０２に通知する。ＵＳＢバスドライバ１０２は、ＵＳＢホストコントローラ１１５および、その下に接続されていたＵＳＢデバイス群全体が取り外されたものとして動作する。
【００４８】
なお、ＵＳＢコンセントレータ１１０のＶＰＮクライアント１１１は、ＶＰＮ１６０が切断されたことを検知することができる。そこで、このＶＰＮクライアント１１１より接続制御装置１１３に対してＶＰＮ切断が通知された場合、接続制御装置１１３が、それまでリモートＰＣ１００側と接続状態であったＵＳＢデバイス２０との入出力を利用できるよう、前記ＵＳＢデバイス２０の入出力をＶＰＮクライアント１１１にリダイレクトし、ＶＰＮの構築処理に処理を戻すとしてもよい。
【００４９】
−−−識別情報について−−−
続いて識別情報とその利用形態について説明する。図４は本実施形態のＵＳＢコンセントレータ１１０の起動と接続に用いる識別情報を示す図である。この識別情報４００は、少なくとも、ＵＳＢコンセントレータ１１０をＴＣＰ／ＩＰネットワーク１５０に接続する際に使用するネットワーク設定と、ＵＳＢコンセントレータ１１０の接続先となるリモートＰＣ１００を識別するために使用するＶＰＮ設定を含むものである。
【００５０】
・ネットワーク設定の情報について：図４に示す例では、識別情報４００が含むネットワーク設定にて、「ＩＰアドレス付与」欄に「１」が設定され、この識別情報４００を持つＵＳＢコンセントレータ１１０に固定のＩＰアドレスが付与されていることを示す。その他のＩＰアドレス付与方法としては、ＤＨＣＰを利用する方法がある。この場合、「ＩＰアドレス付与」欄を、「０」と書き換えることで、ＩＰアドレスの付与方法を変更することができる。
【００５１】
「ＩＰアドレス」欄、「ネットマスク」欄および、「デフォルトルート」欄は、ＵＳＢコンセントレータ１１０に割り当てたＩＰアドレスと、接続するＴＣＰ／ＩＰネットワークにおけるネットマスク設定、およびデフォルトルート設定を格納する。図４の例では、ＩＰアドレスとして「２０２．２４６．０．３」が、ネットマスクとして「２５５．２５５．２５５．０」が、デフォルトルートとしてＩＰアドレス「２０２．２４６．０．１」がそれぞれ設定されている。 
なお、識別情報４００のネットワーク設定で、「ＩＰアドレス付与」欄に「０」が設定されている場合、ＵＳＢコンセントレータ１１０は、識別情報４００に記載されているＩＰアドレスやネットマスクやデフォルトルートを無効と判断し、ＴＣＰ／ＩＰネットワーク１５０のＤＨＣＰサーバにＩＰアドレスの動的付与を要求しＩＰアドレスを得る。そしてここで得たＩＰアドレスを利用してＴＣＰ／ＩＰネットワーク１５０で通信が可能となる。
【００５２】
・ＶＰＮ接続先の情報について：図４に示す例では、識別情報４００のＶＰＮ設定にて、リモートＰＣ１００をさし示す「接続先ホスト名」欄に「ＲｅｍｏｔｅＰＣ＃０１」、「接続先ＩＰアドレス」欄に「２０２．２４６．１０．２５」が設定されている。接続先ホスト名は、完全修飾ドメイン名（ＦＱＤＮ）を用いて記載してもよく、ホスト名およびＩＰアドレスのいずれかを用いてリモートＰＣとの接続動作を実施する。  
なお、識別情報４００は、コンセントレータ起動時認証設定、およびＶＰＮ構築用認証設定を含むことも可能である。
【００５３】
・コンセントレータ起動時認証設定：ＵＳＢコンセントレータ１１０は、自動でリモートＰＣ１００とＶＰＮ１６０を構築できるが、自動で接続すると誰でもＵＳＢコンセントレータ１１０の電源を入れるだけでリモートＰＣ１００が使える可能性がある。その為、ＵＳＢコンセントレータ１１０を起動する利用者を認証するための認証情報の設定が必要となる場面もある。そこで図４に示すコンセントレータ起動時認証設定の情報として、ユーザ名「ｃｏｎｃｅｎｔ−ｕｓｒ０１」と、それに対応するパスワード「ｏｐｅｎｓｅｓａｍｉ」のハッシュ値「$1$7yUhHx7u$Az6BlzzMtrqQ/wflXLFgV．」が設定されている。また、図４の例では（ｎｕｌｌ）で未設定であるが、記載ＰＩＮ（個人識別番号）のハッシュ値を識別情報４００に追加して記載し、ＰＩＮにより認証を簡略化してもかまわない。ＵＳＢコンセントレータ１１０は、起動時に前記コンセントレータ起動時認証設定の情報を識別情報４００から読み出し、一時的に占有しているＵＳＢデバイス２０から利用者の認証情報入力を受け付けて、これらを照合することで利用者認証を実行する。
【００５４】
・ＶＰＮ構築用認証設定：また、ＶＰＮ構築の際、ＶＰＮサーバ１０１は、ＶＰＮクライアント１１１に対してＶＰＮ構築用のユーザ名とパスワードによる利用者認証の要求、またはＸ．５０９による証明書での利用者認証を行うことも可能である。図４の例では、識別情報４００のＶＰＮ構築用認証設定の情報として、ＶＰＮユーザ名「ｃｏｎｃｅｎｔ−ｕｓｒ０１」とＶＰＮパスワード「ｏｐｅｎｓｅｓａｍｉ」のハッシュ値「$1$7yUhHx7u$Az6BlzzMtrqQ/wflXLFgV．」が設定されている。また、図４では（ｎｕｌｌ）で未設定であるが、認証方式としてｘ．５０９形式のクライアント証明書や、生体認証を用いることも可能である。クライアント証明書や生体認証を用いる場合は、ＩＣカードなどの耐タンパ性を持つ記憶メディアに認証情報を格納することが必要である。そこで、ＩＣカードリーダや生体認証装置など（いずれもＵＳＢデバイス２０）のデバイスドライバをＵＳＢコンセントレータ１１０に搭載し、それらを使用可能な状態にするエニュメレーション処理（３０１）を実施したうえで、ＶＰＮ構築用の認証処理を行ってもよい。
【００５５】
−−−処理フロー例２−−−
次に、ＵＳＢコンセントレータ１１０において、ＵＳＢデバイス２０をＵＳＢインターフェイス２０６に、識別情報４００を格納したリムーバブルメディアをリムーバブルインターフェイス２０５にそれぞれ接続した状態で電源を投入し、シンクライアント端末として利用可能となるまでの処理を示す。図５は、本実施形態のＵＳＢコンセントレータとリモートＰＣの起動から接続までの手順を示す図である。
【００５６】
ここではまず、ＵＳＢコンセントレータ自身でのエニュメレーション処理を実行する。すなわち、電源ＯＮとなったＵＳＢコンセントレータ１１０は、接続制御装置１１３を実現するプログラムを起動し、接続されたキーボード・マウス１３０や、ＩＣカードリーダ、生体認証用といったＵＳＢデバイス２０を、ＵＳＢコンセントレータ１１０で利用できるようにするエニュメレーション処理を行う（５０２）。識別情報４００がリムーバブルメディアに格納されている場合は、リムーバブルメディア ＩＦ２０５に接続されたリムーバブルメディアのマウント処理も実施する。
【００５７】
続いて、ＵＳＢコンセントレータ１１０は、利用者認証処理を実行する。すなわち、前記接続制御装置１１３を実現するプログラムが、前記ステップ５０１で使用可能になったＵＳＢデバイス２０を用いて利用者の認証を行う（５０２）。利用者を認証するため、前記接続制御装置１１３は、前記液晶表示部２０７に認証情報を入力することを利用者に促すメッセージ（例：ＲＯＭ２０３に予め記憶していて必要に応じて読み出す）を表示する。その上で、前記ステップ５０１でエニュメレーションされたキーボード・マウス１３０から利用者識別情報および認証情報を受理し、識別情報４００に格納されたコンセントレータ起動時認証設定との照合処理を行う。この照合でキーボード・マウス１３０から受理した利用者識別情報および認証情報と、識別情報４００に格納されたコンセントレータ起動時認証設定とが一致することにより、前記接続制御装置１１３は、前記利用者が正当な権限を持つ利用者であることを確認する。
【００５８】
なお、ＵＳＢコンセントレータ１１０が液晶表示部２０７を具備する代わりに、前記ステップ５０１においてディスプレイアダプタ１２０に対するエニュメレーション処理を実施し、ディスプレイ１２１に例えばログイン画面を表示して利用者に認証を促し、識別情報４００と照合して利用者を認証することも可能である。
【００５９】
また、ＵＳＢコンセントレータ１１０のハードウェア構成として、例えばテンキーのような簡単なキー入力デバイスを設けておき、キーボード・マウス１３０の代わりに使用するようにしてもよい。この構成の場合は、前記ステップ５０１に先立ち、ステップ５０２を先に実行し、前記テンキーを介して入力されたＩＤ・パスワード等による利用者認証が終わったＵＳＢコンセントレータ１１０のみがＵＳＢデバイスのエニュメレーション処理を行うようにしてもよい。
【００６０】
次に、前記接続制御装置１１３を実現するプログラムが、利用者認証が成功したか判断する（５０３）。接続制御装置１１３は、認証失敗、つまり利用者から受領した情報と識別情報４００から読み出した情報とが一致しなかったと判断した場合（５０３：Ｎ）、処理を再度ステップ５０２に戻す。前記接続制御装置１１３は、例えば、利用者毎や所定時間帯毎に認証に失敗した回数をＲＡＭ２０２記録しておき、前記失敗の回数が規定回数を超えた場合に、リセットを行って初期状態に戻るようにしてもよい。なお、ＵＳＢコンセントレータ１１０自体、または識別情報４００を保持していることを持って利用者とみなすことにより、ステップ５０２およびステップ５０３を省略することも可能である。
【００６１】
前記ステップ５０３で利用者認証に成功した場合（５０３：Ｙ）、接続制御装置１１３を実現するプログラムは、識別情報４００に記載されたネットワーク設定情報を用いてＵＳＢコンセントレータ１１０のネットワークインターフェイス２０４にＩＰアドレスを付与し、ＴＣＰ／ＩＰネットワーク１５０に接続する（５０４）。
【００６２】
接続制御装置１１３を実現するプログラムは、前記ステップ５０４の処理により、ＴＣＰ／ＩＰネットワークに接続できたか判断する（５０５）。例えば、出荷直後で識別情報４００に情報が未設定であったり、あるいは他の何らかの原因により、前記ネットーワークインターフェイス２０４にＩＰアドレスが付与されなかった場合（５０５：Ｎ）、前記接続制御装置１１３は処理を前記ステップ５５１に遷移させる。この場合、接続制御装置１１３は、キーボード・マウス１３０および液晶表示部２０７を用いて、識別情報４００のネットワーク設定の書き換え指示を利用者から取得し、識別情報４００を更新する処理を実行する（５５１）。この処理の後、接続制御装置１１３はステップ５０４に処理を戻し、再度ネットワーク接続を試みる。
【００６３】
一方、前記ＴＣＰ／ＩＰネットーワークへの接続が成功した場合（５０５：Ｙ）、接続制御装置１１３を実現するプログラムは、識別情報４００に記載されたＶＰＮ設定（の接続先ホスト名、ＩＰアドレスの情報）を用いて、ＵＳＢコンセントレータ１１０とリモートＰＣ１００の間でＶＰＮを確立する（５０６）。本ステップ内では、キーボード・マウス１３０もしくは、その他デバイス１４０として接続されたＩＣカードリーダや生体認証装置および、液晶表示部２０７を用いて、接続制御装置１１３が、前記ステップ５０２およびステップ５０３と同様の手法でＶＰＮ利用者の認証を行う。
【００６４】
ここでの認証に成功すると、接続制御装置１１３を実現するプログラムは、ＶＰＮクライアント１１１を実現するプログラムを起動する。起動したＶＰＮクライアント１１１を実現するプログラムは、識別情報４００のＶＰＮ設定に従いリモートＰＣ１００のＶＰＮサーバ１０１との間でＶＰＮの構築を試行することとなる。
【００６５】
上述のＶＰＮ構築処理に続き、ＶＰＮクライアント１１１を実現するプログラムは、ＶＰＮの構築状況を判断する（５０７）。例えば、ＶＰＮサーバ１０１に接続できなかった場合（５０７：Ｎ）、前記ＶＰＮクライアント１１１は、識別情報４００のＶＰＮ設定を書き換えるか否か判断するステップ５５２に遷移する。このステップ５５２では、接続不成功の旨を、例えば、前記液晶表示部２０８に表示して利用者の判断指示を待つ。出荷直後で識別情報４００のＶＰＮ設定が未設定である、もしくは、間違った設定が原因で接続すべきＶＰＮサーバを特定できないなどと利用者が判断し、識別情報４００の書き換え指示を、前記キーボード・マウス１３０等で受領した場合（５５２：Ｙ）、ステップ５５３に遷移する。このステップ５５３では、ＶＰＮクライアント１１１が、キーボード・マウス１３０および液晶表示部２０７を用いて、識別情報４００におけるＶＰＮ設定書き換え指示内容を利用者から受領し、ＶＰＮ設定の更新を実行する。この更新処理の後、ステップ５０６に戻る。
【００６６】
他方、ＶＰＮサーバ１０１に接続できた場合（５０７：Ｙ）、ＶＰＮサーバ１０１およびＶＰＮクライアント１１１に仮想的なネットワークインターフェイスが生成され、予め定めておいたネットワーク設定（識別情報４００由来）がそれぞれのネットワークインターフェイスに行われる。これにより例えば、リモートＰＣ１００には、「１９２．１６８．０．１」というＩＰアドレスが、ＵＳＢコンセントレータ１１０には「１９２．６８．０．２」というＩＰアドレスがそれぞれ新たに付与される。リモートＵＳＢハブアダプタ１０５と接続制御装置１１３は、上記のＩＰアドレスを用いてＶＰＮ１６０上での通信を行えるようになる。ＶＰＮ１６０上での通信が行えることを確認すると、ＶＰＮクライアント１１１を実現するプログラムは、接続制御装置１１３を実現するプログラムに、接続完了通知を返す。
【００６７】
続いて、接続制御装置１１３を実現するプログラムは、ＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイス２０をリモートＰＣ１００のデバイスとして利用する状態に移行させる（５０８）。本ステップ以降では、ＵＳＢホストコントローラ１１５から送られたＵＳＢパケットは、ＩＰパケットでトンネリングしてリモートＵＳＢハブアダプタ１０５に送信される。一方、リモートＵＳＢハブアダプタ１０５から送られたＩＰパケットについては、このＩＰパケットよりＵＳＢパケットを取り出してＵＳＢホストコントローラ１１５に送信される。
【００６８】
次に、接続制御装置１１３を実現するプログラムは、エニュメレーション処理を中継することにより、ＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイスを、リモートＰＣ１００が利用可能にする（５０９）。ここではまず、接続制御装置１１３が、リモートＵＳＢハブアダプタ１０５に対し、ＵＳＢルートハブ１１６の接続イベントを送信する。ＵＳＢバスドライバ１０２が前記接続イベントをリモートＵＳＢハブアダプタ１０５経由で受信すると、ＵＳＢバスドライバ１０２によるＵＳＢルートハブ１１６に対するエニュメレーション処理が行われる。
【００６９】
上記ＵＳＢルートハブ１１６に対するエニュメレーション処理が、リモートＰＣ１００へのデバイスドライバのインストール失敗やデバイスドライバのバージョンのミスマッチ、リモートＰＣ１００へのユーティリティプログラムのインストールの失敗等が原因で失敗した場合、接続制御装置１１３を実現するプログラムは、液晶表示部２０７にＵＳＢルートハブ１１６のエニュメレーションに失敗したことを表示し、処理を中断する。
【００７０】
一方、ＵＳＢルートハブ１１６に対するエニュメレーションに成功すると、前記ＵＳＢバスドライバ１０２は、ＵＳＢコンセントレータ１１０のＵＳＢルートハブ１１６からハブクラスリクエストを送信され、これを契機に、ＵＳＢコンセントレータ１１０に接続された各々のＵＳＢデバイス２０に対するエニュメレーション処理を実施する。
【００７１】
前記ＵＳＢデバイス２０に対するエニュメレーション処理は、シーケンシャルに行われる。したがって、ＵＳＢデバイス２０のエニュメレーション処理に失敗した場合、前記ＵＳＢデバイス２０が接続されたアドレスを識別することにより、ディスプレイアダプタ１２０、キーボード・マウス１３０、その他デバイス１４０の中のどのＵＳＢデバイスのエニュメレーション処理に失敗したか識別することが可能である。接続されたＵＳＢデバイス２０のエニュメレーション処理が失敗した場合、接続制御装置１１３を実現するプログラムは、液晶表示部２０７にエニュメレーションに失敗したＵＳＢデバイスに関する情報を表示する。
【００７２】
前記ステップ５０９が正常に終了すると、リモートＰＣ１００上のオペレーティングシステムおよびアプリケーションプログラムがＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイス２０を制御できるようになる。より具体的には、ＵＳＢコンセントレータ１１０に接続されたディスプレイアダプタ１２０につながるディスプレイ１２１上にリモートＰＣ１００のデスクトップ画面が表示され、キーボード・マウス１３０により、リモートＰＣ１００に対するキーボード・マウス操作を行うことが可能になる。前記のキーボード・マウス操作では、Ｃｔｒｌ＋Ａｌｔ＋Ｄｅｌｅｔｅキーといった、いわゆる特殊キーと呼ばれるキー操作もＵＳＢコンセントレータ１１０に接続されたキーボードを用いて行うことができる。
【００７３】
他方、ステップ５０９でエニュメレーション処理が失敗したＵＳＢデバイスがあっても、その他のエニュメレーション処理に成功したＵＳＢデバイスの動作にはなんら影響を与えない。すなわち、リモートＰＣ１００で利用できないＵＳＢデバイスは、ステップ５０９のエニュメレーション処理で失敗したＵＳＢデバイスに限定される。
【００７４】
次に、ＵＳＢコンセントレータ１１０に接続されたＵＳＢデバイスを用いてリモートＰＣ１００の操作を可能とする処理（５１０）を説明する。この処理では、接続制御装置１１３を実現するプログラムが、各ＵＳＢデバイス２０に対するデータ転送が失敗した際に、液晶表示装置２０７にその旨を表示する。ステップ５１０を実行している最中に新たなＵＳＢデバイス２０の接続が行われた場合、ＵＳＢルートハブ１１５からＵＳＢバスドライバ１０２に対し、接続イベントが送信され、送信された接続イベントのポート番号に従って新たに追加されたＵＳＢデバイスのエニュメレーション処理が実行される。一方、ＵＳＢデバイス２０、例えばその他のデバイス１４０がＵＳＢコンセントレータ１１０から取り外されると、リモートＰＣ１００のＵＳＢバスドライバ１０２は、ＵＳＢデバイス２０の取り外しを検知して該当のデバイスドライバをアンロードし、前記取り外されたＵＳＢデバイスをリモートＰＣ１００のＯＳやアプリケーションから利用できなくする。本実施形態のＵＳＢコンセントレータ１１０は、その他デバイス１４０のみならず、ディスプレイアダプタ１２０および、キーボード・マウス１３０も取り外した後、再度接続することが可能である。
【００７５】
なお、利用者がリモートＰＣ１００の利用を終了する際、ＵＳＢコンセントレータ１１０のリセットボタンを押すなどしてリセットをかけると、ＵＳＢコンセントレータ１１０は図５のフローにおける「電源ＯＮ／リセット」の処理に戻る。そして、利用者認証の為、ＵＳＢコンセントレータ１１０は、ＵＳＢインターフェイス２０６に接続されているキーボード・マウス１３０を一時的に占有する。このキーボード・マウス１３０等で利用者からのＩＤ・パスワード等を受領し、ステップ５０２と同様の利用者認証を実行する。また、リモートＰＣ１００からＶＰＮを切断すると、接続制御装置１１３を実現するプログラムは、このＶＰＮ切断を検知し、再び前記キーボード・マウス１３０を占有し、前記ステップ５０２同様の利用者認証を実行し、ＶＰＮの構築を試行し始める。
【００７６】
また、ＶＰＮ１６０の接続状態によらず、ＵＳＢルートハブ１１６およびその配下に接続されたＵＳＢデバイス２０のエニュメレーションに失敗する場合は、利用者ないし管理者が、リモートＰＣ１００に、前記ＵＳＢコンセントレータ１１０のデバイスドライバと当該デバイスドライバのインストール情報のファイルとをコピーする。そして、必要に応じてＵＳＢコンセントレータ１１０の設定を変更するか、もしくは状態を監視するユーティリティプログラムをインストールすることで解決を図る。
【００７７】
本作業は、リモートＰＣ１００にキーボード・マウスおよびディスプレイを接続し、ＴＣＰ／ＩＰネットワークやリムーバブルメディアを用いてデバイスドライバをリモートＰＣ１００にコピーして行うか、従来型のシンクライアントシステムで行うことが可能である。
【００７８】
以上本実施形態によれば、ＵＳＢコンセントレータ（周辺機器接続装置）がイニシエータとなり、リモートＰＣ（計算機）に対してＶＰＮ接続を要求してＶＰＮを構築すれば、プラグアンドプレイで着脱可能なＵＳＢデバイス２０を接続することが可能なシンクライアントシステムを実現できる。特にＵＳＢコンセントレータがインターネットを介してＮＡＴ（Ｎｅｔｗｏｒｋ Ａｄｄｒｅｓｓ Ｔｒａｎｓｌａｔｉｏｎ）で保護されたプライベートネットワークに設置されている場合でも、ＶＰＮサーバへのＴＣＰコネクションを確立することが可能であるため、シンクライアントシステムを構築することが可能である。
【００７９】
また、本実施形態のＵＳＢコンセントレータ上では、接続制御装置を実現するプログラムと、ＶＰＮクライアントを構成するプログラムのみが最低限稼動すればよく、必要なリソースは少ない。このため、シンクライアント端末を少量のＲＡＭやＲＯＭを搭載した安価な構成のハードウェアで実現することが可能である。また、前記プログラムはシンプルなものであり、セキュリティホールが発生する余地が少ない。更に、プログラムのアップデートが必要な状況も発生しにくいため、シンクライアント端末の保守作業を簡略化することが可能である。
【００８０】
さらに、一人の利用者が本実施形態のＵＳＢコンセントレータを複数個用いてシンクライアントシステムを構成することもできる。これは例えば家庭ネットワークに設置したＵＳＢコンセントレータと勤め先のネットワークに設置したリモートＰＣによりシンクライアントシステムを構成する場合に、ひとつのＵＳＢコンセントレータを利用者の手元に置いてキーボード、マウス、ディスプレイアダプタを接続するために使用し、もうひとつのＵＳＢコンセントレータを離れた場所にあるＵＳＢプリンタの接続用に使用するような場合に有効である。
【００８１】
したがって、プラグアンドプレイでのデバイス変更や周辺機器の接続に対応したシンクライアントシステムを実現できる。
【００８２】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【図面の簡単な説明】
【００８３】
【図１】本実施形態のＵＳＢコンセントレータとリモートＰＣの接続構成を示す図である。
【図２】本実施形態のＵＳＢコンセントレータのハードウェア構成を示す図である。
【図３】本実施形態のＵＳＢコンセントレータとリモートＰＣの接続手順を示す図である。
【図４】本実施形態のＵＳＢコンセントレータの起動と接続に用いる識別情報を示す図である。
【図５】本実施形態のＵＳＢコンセントレータとリモートＰＣの起動から接続までの手順を示す図である。
【符号の説明】
【００８４】
１０    シンクライアントシステム
２０    周辺機器（ＵＳＢデバイス）
１００  リモートＰＣ（計算機）
１０１  リモートＰＣのＶＰＮサーバ（ＶＰＮ通信手段）
１０２  ＵＳＢドライバ（機器ドライバソフトウェア）
１０３  ＵＳＢバスドライバ
１０４  ネットワークドライバ
１０５  リモートＵＳＢハブアダプタ（接続ドライバソフトウェア）
１１０  ＵＳＢコンセントレータ（周辺機器接続装置）
１１１  ＶＰＮクライアント（ＶＰＮ構築手段）
１１２  識別情報記憶装置
１１３  接続制御装置（イベント通知手段）
１１４  ネットワークドライバ
１１５  ＵＳＢホストコントローラ
１１６  ＵＳＢルートハブ
１２０  ディスプレイアダプタ
１２１  ディスプレイ
１３０  キーボードとマウス
１４０  その他のデバイス
１５０  ＴＣＰ／ＩＰネットワーク
１６０  仮想プライベートネットワーク（ＶＰＮ）
４００  識別情報
【図１】
2010117855.tif 000003
【図２】
2010117855.tif 000004
【図３】
2010117855.tif 000005
【図４】
2010117855.tif 000006
【図５】
2010117855.tif 000007