(57)【要約】【課題】ローカル端末に接続されたＵＳＢデバイスを、遠隔地にあるクライアント端末から利用する。【解決手段】ローカル端末に接続されたＵＳＢデバイスを、ＴＣＰ／ＩＰやファイバーチャネル、ブルートゥース（登録商標）といったプロトコルを用いることで、擬似的にリモート環境にあるコンピュータに接続されたデバイスとして利用できるようにする。その際に、端末側ではＵＳＢデバイスと端末との通信データをリモートコンピュータに転送する方式をとるので、ローカル端末とリモートコンピュータの間でのＯＳの違いは問題にならない。また、ローカル端末側には各ＵＳＢデバイス固有のデバイスドライバは必要なく、ローカル端末に接続されたＵＳＢデバイスは、リモートコンピュータ側のデバイスドライバを利用し動作する。【選択図】図１
2008210115.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢデバイスのドライバを備えたリモートコンピュータと、
前記リモートコンピュータと、ネットワークにより相互に通信接続された、ＵＳＢコネクタを備えるローカル端末と、
前記ローカル端末に接続されたＵＳＢデバイスと、
を備えるシステムにおける、リモートコンピュータ上でローカル端末のＵＳＢデバイスを操作するシステムであって、
リモートコンピュータが、ＵＳＢプロトコル形式のデータとネットワークプロトコル形式のデータを相互変換する手段と、
前記ネットワークプロトコル形式のデータに変換を行ったＵＳＢプロトコルのデータをローカル端末に送信する手段と、
ローカル端末に仮想デバイスアドレスを設定する手段とを備え、
ローカル端末が、ＵＳＢデバイス認識手段と、
ネットワークプロトコル形式のデータとＵＳＢプロトコル形式のデータに相互変換する手段と、
リモートコンピュータとＵＳＢデバイスとの相互の通信信号を前記仮想デバイスアドレスに基づいてリダイレクトする手段と、
を備えることを特徴とするＵＳＢデバイスを操作するシステム。
【請求項２】
請求項１に記載のＵＳＢデバイスを操作するシステムであって、
ローカル端末が、ローカル端末にＵＳＢデバイスの接続があったことを契機に、リモートコンピュータに前記ＵＳＢプロトコルのデータをネットワークプロトコル形式のデータに変換後に転送すること及び仮想デバイスアドレスの設定をすることを要求する手段を更に備えることを特徴とするＵＳＢデバイスを操作するシステム。
【請求項３】
リモートコンピュータと、
前記リモートコンピュータと、ネットワークにより相互に通信接続された、ＵＳＢコネクタを備えるローカル端末と、
前記ローカル端末に接続されたＵＳＢデバイスと、
を備えるシステムにおける、リモートコンピュータ上でローカル端末のＵＳＢデバイスを操作するシステムであって、
リモートコンピュータが、ローカル端末に仮想デバイスアドレスを設定する手段と、
当該ネットワークプロトコル形式のデータとＵＳＢプロトコル形式のデータを相互変換する手段を備え、
ローカル端末が、ＵＳＢデバイス認識手段と、
当該ネットワークプロトコル形式のデータとＵＳＢプロトコル形式のデータを相互変換する手段を備え、
リモートコンピュータとＵＳＢデバイスとの相互の通信信号を前記仮想デバイスアドレスに基づいてリダイレクトする手段と、
を備えることを特徴とするＵＳＢデバイスを操作するシステム。
【請求項４】
請求項１乃至３の何れか１項に記載のＵＳＢデバイスを操作するシステムであって、
リモートコンピュータとローカル端末がそれぞれ同一または、異なるＯＳにより動作していることを特徴とするＵＳＢデバイスを操作するシステム。
【請求項５】
ＵＳＢデバイスのドライバを備えたリモートコンピュータと、
前記リモートコンピュータと、ネットワークにより相互に通信接続された、ＵＳＢコネクタを備えるローカル端末と、
前記ローカル端末に接続されたＵＳＢデバイスと、
を備えるシステムにおける、リモートコンピュータ上でローカル端末のＵＳＢデバイスを操作する方法であって、
リモートコンピュータが、ＵＳＢプロトコル形式のデータとネットワークプロトコル形式のデータを相互変換するステップと、
前記ネットワークプロトコル形式のデータに変換を行ったＵＳＢプロトコルのデータをローカル端末に送信するステップと、
ローカル端末に仮想デバイスアドレスを設定するステップとを備え、
ローカル端末が、ＵＳＢデバイス認識ステップと、
ネットワークプロトコル形式のデータとＵＳＢプロトコル形式のデータに相互変換するステップと、
リモートコンピュータとＵＳＢデバイスとの相互の通信信号を前記仮想デバイスアドレスに基づいてリダイレクトするステップと、
を備えることを特徴とするＵＳＢデバイスを操作する方法。
【請求項６】
請求項５に記載のＵＳＢデバイスを操作する方法であって、
ローカル端末が、ローカル端末にＵＳＢデバイスの接続があったことを契機に、リモートコンピュータに前記ＵＳＢデバイスのＵＳＢプロトコル形式のデータをネットワークプロトコル形式のデータに変換後に転送すること及び仮想デバイスアドレスの設定をすることを要求するステップを更に備えることを特徴とするＵＳＢデバイスを操作する方法。
【請求項７】
リモートコンピュータと、
前記リモートコンピュータと、ネットワークにより相互に通信接続された、ＵＳＢコネクタを備えるローカル端末と、
前記ローカル端末に接続されたＵＳＢデバイスと、
を備えるシステムにおける、リモートコンピュータ上でローカル端末に接続されたＵＳＢデバイスを操作する方法であって、
リモートコンピュータが、ローカル端末に仮想デバイスアドレスを設定するステップを備え、
ローカル端末が、ＵＳＢデバイス認識ステップと、
ＵＳＢデバイスから送られてきたＵＳＢプロトコル形式のデータをネットワーク形式のデータに変換するステップと
リモートコンピュータとＵＳＢデバイスとの相互の通信信号を前記仮想デバイスアドレスに基づいてリダイレクトするステップと、
を備えることを特徴とするＵＳＢデバイスを操作する方法。
【請求項８】
請求項５乃至７の何れか１項に記載のＵＳＢデバイスを操作する方法であって、
リモートコンピュータとローカル端末がそれぞれ同一、または異なるＯＳにより動作していることを特徴とする方法。
【請求項９】
コンピュータに請求項５乃至８の何れか１項に記載のＵＳＢデバイスを操作する方法を実行させることを特徴とするプログラム。
【請求項１０】
ＵＳＢデバイスドライバを備えるＵＳＢデバイスを操作する装置であって、
ＵＳＢプロトコル形式のデータとネットワークプロトコル形式のデータを相互変換する手段と、
前記ネットワークプロトコル形式のデータに変換を行ったＵＳＢプロトコル形式のデータを他の装置に送信する手段と、
前記送信の相手方である他の装置に仮想デバイスアドレスを設定する手段とを備えることを特徴とするＵＳＢデバイスを操作する装置。
【請求項１１】
ＵＳＢコネクタを備えるＵＳＢデバイスを操作する装置であって、
ＵＳＢデバイス認識手段と、
ネットワークプロトコル形式で他の装置から送付されてきた前記ＵＳＢプロトコル形式のデータをＵＳＢプロトコル形式に変換する手段と、
リモートコンピュータとＵＳＢデバイスとの相互の通信信号を前記仮想デバイスアドレスに基づいてリダイレクトする手段と、
を備えることを特徴とするＵＳＢデバイスを操作する装置。
【請求項１２】
ＵＳＢコネクタを備えるＵＳＢデバイスを操作する装置であって、
ＵＳＢデバイス認識手段と、
ＵＳＢプロトコル形式のデータとネットワーク形式のデータを相互変換可能な手段と、
他の装置から仮想デバイスアドレスを設定される手段と、
前記仮想デバイスアドレスの設定を行った他の端末とＵＳＢデバイスとの相互の通信信号を前記仮想デバイスアドレスに基づいてリダイレクトする手段と、
を備えることを特徴とするＵＳＢデバイスを操作するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はリモートコンピュータ上でローカル端末の操作を行うことに関し、より詳細には、遠隔地にあるリモートコンピュータ上でローカル端末のＵＳＢデバイスを操作するシステム、その方法及びそのプログラムに関する。
【背景技術】
【０００２】
近年、ＵＳＢデバイスは、その導入が手軽なことからコンピュータのインターフェースとしての地位を確立し、キーボード、マウスなどの入力機器から指紋などの認証デバイス、ストレージ、カメラまで用途を問わず様々なデバイスで用いられている。
【０００３】
すなわち、ＵＳＢデバイスの利用は日常的、一般的になっており、さまざまな環境下にあっても、その利用ができることが求められている。
【０００４】
一方、ネットワークインフラの発展に伴い、遠隔地にあるコンピュータの利用シーンが年々増加しているという現状がある。
【０００５】
この点、利用したいＵＳＢデバイスがローカル端末に接続されていた場合であっても、リモートコンピュータのデバイスとして認識されることはなかった。よって、直接リモートコンピュータに利用したいＵＳＢデバイス接続しなければならないといった不便さがあった。
【０００６】
また、近年、情報漏えい対策として、リモートコンピュータの画面情報のみをローカル端末に転送するシンクライアントシステムが注目されている。
【０００７】
この点、ローカルのシンクライアント専用端末側では、入力デバイス以外のＵＳＢデバイスを予め備えていない場合が多い。
【０００８】
この場合に、リモートコンピュータであるシンクライアントサーバへのログインにおいて、カードリーダや指紋認証機器などの利用をするためには、ローカルのシンクライアント専用端末に対応したデバイスドライバを新たに作成しなければならない。
【０００９】
これは、特に対応するデバイスドライバが比較的少ない、Ｌｉｎｕｘや組み込みＯＳなどの分野では、使いたいＵＳＢデバイスごとにデバイスドライバを新たに作成する必要があり、費用面、期間面ともにコストが掛かるという問題があり、コストのかからない方法が必要とされていた。
【００１０】
この点、専用のネットワーク装置を用意し、その専用のネットワーク装置に接続したデバイスをネットワーク上の複数の端末から共有するという技術が存在する（例えば特許文献１参照）。
【特許文献１】特開２００４−０７８３５９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
もっとも、上記の技術を用いるためには、予め専用のネットワーク装置を用意する必要があるという問題があった。
【００１２】
この点、ネットワーク装置ではなく、あくまでもユーザの使用する端末にＵＳＢデバイスを接続することで、リモート端末にＵＳＢデバイスが接続されているように擬似的に見せる方法が求められている。
【００１３】
更に、端末側には、利用するＵＳＢデバイス独自のデバイスドライバをインストールする必要がなく、端末のＯＳを問わずにＵＳＢデバイスを接続でき、デバイスドライバ自体はリモートコンピュータのものが利用できることも望まれていた。
【００１４】
なぜならば、遠隔地にあるコンピュータをリモート環境から操作する場合、ＵＳＢデバイスは遠隔地のコンピュータに接続されていなければならず、更に利用する端末に対応したＵＳＢデバイス独自のデバイスドライバがインストールされていなければならなかったので、リモート操作時に手元にＵＳＢデバイスがあっても、これをローカル端末で操作することができないためである。
【００１５】
また、ＵＳＢデバイスのイーサネット（登録商標）上での共有を目的に、ＵＳＢデバイスをイーサネット（登録商標）に接続し、ネットワーク上の複数のマシンで共有するための装置も既に製品化されている。
【００１６】
しかし、接続の際にはＩＰアドレスを割り振った専用のハードウェア機器が必要であり、さらに、その専用のハードウェア機器がない場所にはＵＳＢデバイスを接続できないことから、ＵＳＢデバイス自体を持ち運ぶという用途には向かないという問題があった。
【００１７】
加えて、ＵＳＢデバイスにはＯＳ固有のドライバが必要であり、ローカルの端末側とリモートコンピュータでＯＳに違いがある場合、両ＯＳそれぞれに、デバイスドライバが必要であり、ある特定のＯＳにしかデバイスドライバ作成されていないデバイスも多く、端末側に対応したドライバが存在しないデバイスも多く存在するといった問題もあった。
【００１８】
そこで、本発明は、特別のネットワーク装置を用いることなく、更に、ローカル端末側のＯＳの種別や、ドライバの有無を問うこともない、ローカル端末に接続されたＵＳＢデバイスを、リモートコンピュータ上で操作するためのシステム、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明によれば、ＵＳＢデバイスのドライバを備えたリモートコンピュータと、前記リモートコンピュータと、ネットワークにより相互に通信接続された、ＵＳＢコネクタを備えるローカル端末と、前記ローカル端末に接続されたＵＳＢデバイスと、を備えるシステムにおける、リモートコンピュータ上でローカル端末のＵＳＢデバイスを操作するシステムであって、リモートコンピュータが、ＵＳＢプロトコル形式のデータとネットワークプロトコル形式のデータを相互変換する手段と、前記ネットワークプロトコル形式のデータに変換を行ったＵＳＢプロトコルのデータをローカル端末に送信する手段と、ローカル端末に仮想デバイスアドレスを設定する手段とを備え、ローカル端末が、ＵＳＢデバイス認識手段と、ネットワークプロトコル形式のデータとＵＳＢプロトコル形式のデータに相互変換する手段と、リモートコンピュータとＵＳＢデバイスとの相互の通信信号を前記仮想デバイスアドレスに基づいてリダイレクトする手段と、を備えることを特徴とするＵＳＢデバイスを操作するシステムが提供される。
【００２０】
上記のＵＳＢデバイスを操作するシステムにおいて、リモートコンピュータとローカル端末はそれぞれ異なるＯＳにより動作しているようにしてもよい。
【発明の効果】
【００２１】
本発明によれば、ローカル端末側のＯＳの種別や、ドライバの有無を問わずに、ローカル端末に接続されたＵＳＢデバイスを、リモートコンピュータ上で操作できるようになる。
【００２２】
これにより、ローカル端末に接続されたＵＳＢデバイスを、リモート端末にＵＳＢデバイスが接続されているように擬似的に操作することが可能となる。
【発明を実施するための最良の形態】
【００２３】
次に、本発明の最良の形態について図面を用いて説明する。
【００２４】
まず本実施形態のシステムの構成を図１を用いて説明する。本実施形態のシステムは、リモートコンピュータ１００、ローカル端末２００、第１〜第ＭのＵＳＢハブ、第１〜第ＮのＵＳＢデバイスを備える。
【００２５】
なお、Ｍ及びＮはＵＳＢの規格上、１２７以下の整数値となる。また、ＵＳＢハブは階段状に５段まで重ねることが可能である。
【００２６】
リモートコンピュータ１００の構成として、デバイスドライバ１１０、リモートコアドライバ１２０、仮想ＵＳＢハブ１３０、第１のデータ変換部１４０を備える。
【００２７】
ローカル端末２００の構成として、第２のデータ変換部２１０、転送デバイスドライバ２２０、転送デバイス指定ソフト２３０、コアドライバ２４０、ＵＳＢルートハブ２５０を備える。
【００２８】
次に、本発明の各構成部の概略を説明する。まず、接続されたローカル端末２００に接続されたＵＳＢデバイスは、コアドライバ２４０によって、デバイスアドレスが割り振られる。
【００２９】
次に、第１〜第ＮのＵＳＢデバイスのうち、転送デバイス指定ソフト２３０で指定されたＵＳＢデバイスに対しては、デバイスドライバとして転送デバイスドライバ２２０がロードされる。
【００３０】
転送デバイスドライバ２２０は、リモートコンピュータ１００にアクセスさせたいＵＳＢデバイスのデバイスドライバとして汎用的に利用するドライバである。
【００３１】
パワー・マネージメントＩＲＰ（Ｉ／Ｏリクエストのパケット）、デバイスアドレスの解決など一部の処理を除き、第２のデータ変換部２１０、第１のデータ変換部１４０を通して、仮想ＵＳＢハブ１３０にリダイレクトされる。
【００３２】
また、第１のデータ変換部１４０と第２のデータ変換部２１０の間は、ＵＳＢプロトコルを、ＴＣＰ／ＩＰやファイバーチャネルなどに対応するプロトコルに変換し、経路３００を通して接続される。
【００３３】
仮想ＵＳＢハブ１３０は、リモートコンピュータ１００上のソフトウェアとして仮想的に構成されたＵＳＢハブで、リモートコンピュータ１００上のＯＳからは、実際のＵＳＢハブとして認識され、第１のデータ変換部１４０、経路３００、データ変換部２１０、転送デバイスドライバ２２０を通して、転送デバイス指定ソフト２３０で指定した第１〜第ＮのＵＳＢデバイスが直接接続されているよう振舞う。
【００３４】
更に、構成の動作の詳細を図１及び図２を用いて説明する。
【００３５】
なお、説明が煩雑になるのを防ぐため、第２のアドレス変換部２１０の動作に関しては省略してまず全体の動作手順を説明し、その後に別途、第２のアドレス変換部２１０の動作について説明する。
【００３６】
まず、第１〜第ＮのＵＳＢデバイスのうち何れかひとつをローカル端末２００のＵＳＢルートハブ２５０に接続する（Ｓ１）。
【００３７】
ローカル端末２００のＯＳは、物理的なＵＳＢデバイスの接続を検知（バスエニュメレーション）する（Ｓ２）。
【００３８】
接続されたＵＳＢデバイスは、デフォルト・アドレス０で待機状態に移行する（Ｓ３）。
【００３９】
その後、ローカル端末２００のコアドライバ２４０が、ＵＳＢデバイスに対して、デバイスディスクリプタを要求する（Ｓ４）。
【００４０】
なお、ここでデバイスディスクリプタとは、ＵＳＢデバイスがもつ特性や属性を表現する規格化された情報である。
【００４１】
ＵＳＢデバイスは要求に従い、デバイスディスクリプタをコアドライバ２４０に返す（Ｓ５）。
【００４２】
ローカル端末２００のコアドライバ２４０は、デバイスディスクリプタを受け取ると、ＵＳＢデバイスに、システム固有のアドレスを付与する（Ｓ６）。
【００４３】
ＵＳＢデバイスは、付与されたデバイスアドレスを、自身に設定し、アドレス状態と呼ばれる状態へと移行する（Ｓ７）。
【００４４】
この状態で、ローカル端末２００のＯＳ上から接続したＵＳＢデバイスを認識することができる。
【００４５】
ユーザはリモートコンピュータ１００で利用したいＵＳＢデバイスに対して、転送デバイス指定ソフト２３０を用いて、転送デバイスドライバ２２０をロードする（Ｓ８）。
【００４６】
転送デバイスドライバ２２０は第２のデータ変換部２１０を通して、ＵＳＢプロトコル形式のデータをＴＣＰ／ＩＰやブルートゥース（登録商標）等の何らかのネットワークプロトコルに変換し、経路３を通して、リモートコンピュータ１００上に送られる。リモートコンピュータ１００側の第１のデータ変換部１４０により、このデータはＵＳＢプロトコルに復号化され仮想ＵＳＢハブ１３０に接続される（Ｓ９）。
【００４７】
仮想ＵＳＢハブ１３０はＵＳＢデバイスの接続確立を検知する（Ｓ１０）。転送デバイスドライバ２２０は、仮想アドレス・デフォルト０で待機する（Ｓ１１）。
【００４８】
リモートコンピュータ１００のリモートコアドライバ１２０は、デフォルト・アドレス０のＵＳＢデバイスに対して、デバイスディスクリプタを要求する（Ｓ１２）。
【００４９】
転送デバイスドライバ２２０は、デフォルト・アドレス０に対するデバイスディスクリプタの要求を、デバイスアドレスで指定された適切なＵＳＢデバイスにリダイレクトする（Ｓ１３）。
【００５０】
ＵＳＢデバイスは、要求に対しディスクリプタを返信する（Ｓ１４）。
【００５１】
ディスクリプタは転送デバイスドライバ２２０でリダイレクトされ、リモートコンピュータ１００のリモートコアドライバ１２０に渡される。次に、リモートコンピュータのコアドライバは、転送デバイスドライバ２２０に対して、システム固有のデバイスアドレスを割り振る（Ｓ１５）。
【００５２】
そして、転送デバイスドライバ２２０はアドレス状態に移行する（Ｓ１６）。
【００５３】
これにより、リモートコンピュータ１００から見ると、転送デバイスドライバ２２０に割り振られたデバイスアドレスが、ローカル端末２００に接続されたＵＳＢデバイスのデバイスアドレスのように見えることとなる。
【００５４】
また、リモートコンピュータ１００のコアドライバ１２０は、ＵＳＢデバイスから返されたデバイスディスクリプタを元に、そのＵＳＢデバイスに適切なデバイスドライバ１１０をリモートコンピュータ１００からロードする（Ｓ１７）。
【００５５】
ロードされたデバイスドライバ１１０は、対象のＵＳＢデバイスに対して、デバイスディスクリプタを要求する（Ｓ１８）。
【００５６】
その後、転送デバイスドライバ２２０が、それをリダイレクトし（Ｓ１９）、ＵＳＢデバイスがデバイスディスクリプタをリモートコンピュータ１００のデバイスドライバ１１０に返す（Ｓ２０）。
【００５７】
そして、デバイスドライバ１１０はデバイスディスクリプタの情報を元に、構成設定データを作成する（Ｓ２１）。
【００５８】
構成設定データは、転送デバイスドライバ２２０に割り振られたデバイスアドレス宛へ送られる（Ｓ２１）。
【００５９】
転送デバイスドライバ２２０は構成設定データをリダイレクトし、ＵＳＢデバイスに送る（Ｓ２２）。
【００６０】
ＵＳＢデバイスは、その構成設定データに基づいて初期化され、構成状態と呼ばれる状態に移行する（Ｓ２３）。
【００６１】
本実施形態の動作手順は以上である。
【００６２】
これ以降のリモートコンピュータ１００上のデバイスドライバ１１０とローカル端末２に接続されたＵＳＢデバイス間の通信は、パワー・マネージメントＩＲＰ（Ｉ／Ｏリクエストのパケット）、デバイスアドレスの解決などの一部の通信を除き転送デバイスドライバ２２０でリダイレクトされることとなる。
【００６３】
これにより、あたかもリモートコンピュータ１００にローカル端末２００のＵＳＢデバイスが接続されているかのように操作できる。
【００６４】
次にここで、先ほど省略した転送デバイスドライバ２２０に送られたパケットの処理についてより詳細に説明する。
【００６５】
転送デバイスドライバ２２０の内部構成とその周辺の関係について図３を用いて説明する。
【００６６】
転送デバイスドライバ２２０は、パケットフィルタ２２１、パケット制御部２２２、デバイスアドレス対応部２２３よりなる。
【００６７】
パケットフィルタ２２１は、第２のデータ変換部２１０より送られてきた、ＵＳＢプロトコルのパケットをパケット制御部２２２の指示に従い、フィルタリングする。パケット制御部２２２は、パケットフィルタ２２１の動作の指示を行うとともに、デバイスアドレス設定リクエストパケットの入力があった際に、デバイスアドレス対応部２２３の更新作業も行う。
【００６８】
デバイスアドレス対応部２２３は、ＵＳＢデバイスに対して、ローカル端末２００が割り当てたシステム固有のデバイスアドレスと、リモートコンピュータ１００が転送デバイスドライバ２２０に割り当てた、（リモートコンピュータ１００からは、デバイスのアドレスに見える）仮想的なデバイスアドレスの対応表となる。
【００６９】
図３で示した転送デバイスドライバ２２０の内部の動作について、図４を用いて説明する。
【００７０】
第２のデータ変換部２０１は、リモートコンピュータ１００より送られてきたデータをＵＳＢプロトコルのパケットに復号する（Ｓ３１）。
【００７１】
復号したＵＳＢパケットは、パケットフィルタ２２１に送られる（Ｓ３２）。
【００７２】
該パケットフィルタ２２１に送られたパケットは、デバイスアドレス設定リクエスト状態のパケット、送信先デバイスアドレスが指定されたパケット、それらに該当しないものに分けられる（Ｓ３３）。
【００７３】
デバイスアドレス設定リクエスト状態のパケットの場合、パケット制御部２２２が、デバイスアドレス対応部２２３に記述された、仮想デバイスアドレスをデバイスアドレス設定リクエストで要求されたデバイスアドレスに書き換えることで処理が終了する（Ｓ３４）。
【００７４】
一方、すでに送信先デバイスアドレスが指定されたパケットは、パケット制御部２２２が、デバイスアドレス対応部２２３を参照し、仮想デバイスアドレスからローカル端末２００のシステムが認識できる実際のデバイスアドレスに書き換えられる（Ｓ３５）。
【００７５】
そして、該書き換えの後にＵＳＢデバイスに送信される（Ｓ３６）。
【００７６】
他方、パケットフィルタ２２１で検出されなかったパケットは、そのままＵＳＢデバイスに送信される（Ｓ３７）。
【００７７】
送られたパケットはＵＳＢデバイスが受け取る（Ｓ３８）。
【００７８】
上記の各手順により、リモートコンピュータ１００からローカル端末２００のデバイスが操作できるようになる。
【００７９】
（他の実施例）
次に、本発明のほかの実施例について説明する。
【００８０】
本実施形態の基本的構成は、上記実施形態と同じである。
【００８１】
もっとも、相違点として、ローカル端末２００のＯＳがプラグアンドプレイに対応する機能を備えることを特徴とする。
【００８２】
この場合は、ローカル端末２００のコアドライバ２４０がＵＳＢデバイスに対応するデバイスドライバをインターネット等のネットワークからロードすることとなる。
【００８３】
そのため、前記の実施形態と異なり、リモートコンピュータのデバイスドライバ１１０をローカル端末に送信する必要が無くなる。
【００８４】
更に、異なる実施形態について説明する。
【００８５】
上記の各実施形態では、一方の遠隔地にあるクライアント端末が他方の遠隔地にある端末に接続されたＵＳＢデバイスを利用する場面を説明した。
【００８６】
しかし、本実施形態は、前記クライアント側に、仮想ＵＳＢハブを構成することで、リモートコンピュータ側のＵＳＢデバイスをローカル端末のデバイスとして接続することも可能である。
【００８７】
つまり、上記のようにどちらかのみが、他方を利用するだけでなく、クライアント端末とローカル端末のそれぞれが、同時に互いに接続されているＵＳＢデバイスを利用することも可能である。
【００８８】
（発明の効果）
本発明の第１の効果は、遠隔地にあるコンピュータであるローカル端末に接続された、ＵＳＢデバイスを利用することができるようになるという点である。
【００８９】
また、第２の効果は、ローカル端末にはＵＳＢデバイス固有のデバイスドライバが必要ないという点である。ローカル端末にはＵＳＢデバイス固有のデバイスドライバがなくともリモートコンピュータ上のデバイスドライバを利用できるからである。
【００９０】
更に、第３の効果は、ローカル端末がリモートコンピュータとのコネクションを確立した際に、リモートコンピュータ上のプラグアンドプレイ機能を利用し、該ＵＳＢデバイス固有のデバイスドライバをインストールできる点である。
【００９１】
加えて、第４の効果は、ローカル端末、リモートコンピュータのＯＳの差異にかかわらず、リモートコンピュータ上のデバイスとしてＵＳＢデバイスが利用できる点である。
【００９２】
また、第５の効果は、ローカル端末上の特定のＵＳＢデバイスを指定して、リモートコンピュータ上の仮想的なＵＳＢハブに接続エミュレートが可能な点である。
【００９３】
そして、第６の効果は、ローカル端末とリモートコンピュータでＵＳＢデバイスを共有できることから、ＵＳＢデバイスをそれぞれの端末ごとに用意する必要が無い点である。つまり、ＵＳＢデバイスそのもののハード的リソース削減が期待できることとなる。
【００９４】
更に、第７の効果は、ネットワーク上から他のコンピュータがＵＳＢデバイスを利用できるため、ＵＳＢデバイスを常時持ち歩く必要がなくなる点である。
【００９５】
なお、本発明は、ローカル端末に接続されたＵＳＢデバイスが、リモートコンピュータのデバイスとして利用できることを鑑みると、利用できる場面の具体例として以下のものが想定できる。
【００９６】
第１に、シンクライアントシステムでの利用が考えられる。ローカルのシンクライアント専用端末とシンクライアントサーバ間で、このシステムを適用することで、ＴＣＰ／ＩＰなどのネットワークを通じてローカルの専用端末にデバイスドライバをインストールすることなく、そこに接続したＵＳＢデバイスを、リモートにあるシンクライアントサーバへと接続し、カードリーダや指紋読み取り装置といったＵＳＢデバイスをシンクライアントサーバ側のデバイスドライバを利用し接続できる。
【００９７】
また、第２に、外出先と業務サーバ間でのＶＰＮ接続での利用が考えられる。外出先やさまざまな業務の拠点などから業務サーバへアクセスする際に、業務サーバに仮想ＵＳＢハブをインストールすることで、ＵＳＢに対応した各種認証機器や記録媒体の読み書きなどが行える。
【００９８】
なお、上記した２つの利用場面は、あくまで例示であり本発明が利用できる場面を限定的に特定したものではない。
【図面の簡単な説明】
【００９９】
【図１】本発明の基本的構成を表す図である。
【図２】本発明の動作を表す図である。
【図３】本発明における、転送デバイスドライバの内部構造及びＵＳＢプロトコルの経路を表す図である。
【図４】本発明における、転送デバイスドライバの動作を表す図である。
【符号の説明】
【０１００】
１００  リモートコンピュータ
１１０  デバイスドライバ
１２０  リモートコアドライバ
１３０  仮想ＵＳＢハブ
１４０  第１のデータ変換部
２００  ローカル端末
２１０  第２のデータ変換部
２２０  転送デバイスドライバ
２２１  パケットフィルタ
２２２  パケット制御部
２２３  デバイスアドレス対応部
２３０  転送デバイス指定ソフト
２４０  コアドライバ
２５０  ＵＳＢルートハブ
４００  第１のＵＳＢハブ
５００  第１のＵＳＢデバイス
６００  第２のＵＳＢデバイス
７００  第３のＵＳＢデバイス
８００  第４のＵＳＢデバイス
９００  第ＭのＵＳＢハブ
１０００  第５のＵＳＢデバイス
１１００  第ＮのＵＳＢデバイス
【図１】
2008210115.tif 000003
【図２】
2008210115.tif 000004
【図３】
2008210115.tif 000005
【図４】
2008210115.tif 000006