(57)【要約】【課題】  複数ユーザにより周辺機器を共用可能とする場合に、各周辺機器への各ユーザのアクセス可否を効率よく管理できるようにする。【解決手段】  データ通信手段７１は、スレーブアダプタ４１およびマスタアダプタ３１との間でデータ通信を行う。接続許可手段７３は、周辺機器へのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、マスタアダプタ３１を使用するユーザに対してアクセスが許可されている１または複数の周辺機器を特定し、特定した１または複数の周辺機器が接続されている１または複数のスレーブアダプタ４１とそのマスタアダプタ３１との接続を許可する。【選択図】  図１
2009098977.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置と、
有線または無線の周辺機器インタフェースで周辺機器を接続されるとともに前記サーバ装置との間でコンピュータネットワークを介してデータ通信が可能な１または複数のスレーブアダプタと、
その周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるとともに前記サーバ装置との間でコンピュータネットワークを介してデータ通信が可能なマスタアダプタとを備え、
前記サーバ装置は、前記周辺機器へのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、前記マスタアダプタを使用するユーザに対してアクセスが許可されている１または複数の前記周辺機器を特定し、特定した１または複数の前記周辺機器が接続されている１または複数の前記スレーブアダプタとそのマスタアダプタとの接続を許可すること、
を特徴とする周辺機器接続システム。
【請求項２】
有線または無線の周辺機器インタフェースで周辺機器を接続されるスレーブアダプタ、およびその周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるマスタアダプタとの間でデータ通信を行うデータ通信手段と、
前記周辺機器へのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、前記マスタアダプタを使用するユーザに対してアクセスが許可されている１または複数の前記周辺機器を特定し、特定した１または複数の前記周辺機器が接続されている１または複数の前記スレーブアダプタとそのマスタアダプタとの接続を許可する接続許可手段と、
を備えることを特徴とするサーバ装置。
【請求項３】
前記データ通信手段を介して、前記周辺機器インタフェースで接続された際に前記周辺機器が提供するデバイス情報を、前記スレーブアダプタから取得して、そのスレーブアダプタとの接続が許可されている前記マスタアダプタへ供給し、前記端末装置と前記周辺機器との前記周辺機器インタフェースでの接続を確立する接続確立手段を備えることを特徴とする請求項２記載のサーバ装置。
【請求項４】
前記接続確立手段は、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を、接続が許可されている前記スレーブアダプタおよび前記マスタアダプタのうちの一方から前記データ通信手段を介して受信し、前記スレーブアダプタおよび前記マスタアダプタのうちの他方へ前記データ通信手段を介して送信することを特徴とする請求項３記載のサーバ装置。
【請求項５】
前記周辺機器のデバイスドライバと、
前記マスタアダプタから前記データ通信手段を介して、前記端末装置が送信した前記周辺機器へのコマンドを受信し、そのコマンドに基づいて、前記デバイスドライバにより前記データ通信手段および前記スレーブアダプタを介して前記周辺機器を制御する遠隔制御手段と、
を備えることを特徴とする請求項２記載のサーバ装置。
【請求項６】
サーバ装置と、
有線または無線の周辺機器インタフェースで周辺機器を接続されるとともに前記サーバ装置との間でコンピュータネットワークを介してデータ通信が可能な１または複数のスレーブアダプタと、
その周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるとともに前記サーバ装置との間でコンピュータネットワークを介してデータ通信が可能なマスタアダプタとを備え、
前記サーバ装置は、前記スレーブアダプタへのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、前記マスタアダプタを使用するユーザに対してアクセスが許可されている１または複数の前記スレーブアダプタを特定し、特定した１または複数の前記スレーブアダプタとそのマスタアダプタとの接続を許可すること、
を特徴とする周辺機器接続システム。
【請求項７】
有線または無線の周辺機器インタフェースで周辺機器を接続される１または複数のスレーブアダプタ、およびその周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるマスタアダプタとの間でデータ通信を行うデータ通信手段と、
前記スレーブアダプタへのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、前記マスタアダプタを使用するユーザに対してアクセスが許可されている１または複数の前記スレーブアダプタを特定し、特定した１または複数の前記スレーブアダプタとそのマスタアダプタとの接続を許可する接続許可手段と、
を備えることを特徴とするサーバ装置。
【請求項８】
前記データ通信手段を介して、前記周辺機器インタフェースで接続された際に前記周辺機器が提供するデバイス情報を、前記スレーブアダプタから取得して、そのスレーブアダプタとの接続が許可されている前記マスタアダプタへ供給し、前記端末装置と前記周辺機器との前記周辺機器インタフェースでの接続を確立する接続確立手段を備えることを特徴とする請求項７記載のサーバ装置。
【請求項９】
前記接続確立手段は、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を、接続が許可されている前記スレーブアダプタおよび前記マスタアダプタのうちの一方から前記データ通信手段を介して受信し、前記スレーブアダプタおよび前記マスタアダプタのうちの他方へ前記データ通信手段を介して送信することを特徴とする請求項８記載のサーバ装置。
【請求項１０】
前記周辺機器のデバイスドライバと、
前記マスタアダプタから前記データ通信手段を介して、前記端末装置が送信した前記周辺機器へのコマンドを受信し、そのコマンドに基づいて、前記デバイスドライバにより前記データ通信手段および前記スレーブアダプタを介して前記周辺機器を制御する遠隔制御手段と、
を備えることを特徴とする請求項７記載のサーバ装置。
【請求項１１】
有線または無線の周辺機器インタフェースで互いに接続可能な周辺機器と端末装置のうちの前記周辺機器に接続され、前記端末装置に接続されたマスタアダプタ装置と連携して前記周辺機器と前記端末装置とを論理的に接続するスレーブアダプタ装置において、
前記マスタアダプタ装置と当該スレーブアダプタ装置との接続関係を管理するサーバ装置との間でデータ通信を行うデータ通信手段と、
前記周辺機器インタフェースで前記周辺機器との間でデータ通信を行い、前記周辺機器が接続された際に提供する前記周辺機器のデバイス情報を取得し前記データ通信手段を介して前記サーバ装置へ送信するエミュレータと、
所定の通信プロトコルでカプセル化された前記周辺機器インタフェースの信号の送信および／または受信を前記データ通信手段を介して行う通信処理手段と、
を備えることを特徴とするスレーブアダプタ装置。
【請求項１２】
前記通信処理手段は、前記マスタアダプタ装置との間でピアツーピア通信を行い、所定の通信プロトコルでカプセル化された前記周辺機器インタフェースの信号を送受することを特徴とする請求項１１記載のスレーブアダプタ装置。
【請求項１３】
前記通信処理手段は、前記サーバ装置から認証情報を受信し、前記マスタアダプタ装置との間の暗号化通信、および／または、前記マスタアダプタ装置の認証に使用することを特徴とする請求項１２記載のスレーブアダプタ装置。
【請求項１４】
前記周辺機器が接続された際に、その周辺機器に固有な識別子を動的に割り当て、前記データ通信手段を介して前記サーバ装置へ通知することを特徴とする請求項１１記載のスレーブアダプタ装置。
【請求項１５】
有線または無線の周辺機器インタフェースで互いに接続可能な周辺機器と端末装置のうちの前記端末装置に接続され、前記周辺機器に接続されたスレーブアダプタ装置と連携して前記周辺機器と前記端末装置とを論理的に接続するマスタアダプタ装置において、
当該マスタアダプタ装置と前記スレーブアダプタ装置との接続関係を管理するサーバ装置との間でデータ通信を行うデータ通信手段と、
前記周辺機器インタフェースで前記端末装置との間でデータ通信を行い、前記周辺機器が接続された際に提供する前記周辺機器のデバイス情報を前記サーバ装置から前記データ通信手段を介して取得し前記端末装置へ提供するエミュレータと、
所定の通信プロトコルでカプセル化された前記周辺機器インタフェースの信号の送信および／または受信を前記データ通信手段を介して行う通信処理手段と、
を備えることを特徴とするマスタアダプタ装置。
【請求項１６】
前記通信処理手段は、前記スレーブアダプタ装置との間でピアツーピア通信を行い、所定の通信プロトコルでカプセル化された前記周辺機器インタフェースの信号を送受することを特徴とする請求項１５記載のマスタアダプタ装置。
【請求項１７】
前記通信処理手段は、前記サーバ装置から認証情報を受信し、前記スレーブアダプタ装置との間の暗号化通信、および／または、前記スレーブアダプタ装置の認証に使用することを特徴とする請求項１６記載のマスタアダプタ装置。
【請求項１８】
前記端末装置が接続されると、その端末装置で実行されているオペレーティングシステムの種別を検出し、その種別のオペレーティングシステム用の前記周辺機器のデバイスドライバがその端末装置にあるか否かを判定し、そのデバイスドライバがない場合には、そのデバイスドライバをダウンロードしてその端末装置にインストールすることを特徴とする請求項１５記載のマスタアダプタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周辺機器接続システムに関するものである。
【背景技術】
【０００２】
物理的に遠隔にある周辺機器を、コンピュータに論理的に接続して使用する技術が提案されている（例えば特許文献１参照）。
【０００３】
特許文献１に記載の技術では、ＳＣＳＩ周辺機器が、通信網を介して、遠隔のホスト計算機に使用される。このシステムでは、ホスト計算機と通信網との間に発信側装置が設置され、ＳＣＳＩ周辺機器と通信網との間に着信側装置が設置される。そして、発信側装置と着信側装置との間で通信路を介して直接的にデータ通信が行われる。
【０００４】
【特許文献１】特開平８−１２９５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記の技術では、発信側装置は、発信側装置内蔵の周辺機器データベースから選択された周辺機器に対応する着信側装置との間で接続を確立する。
【０００６】
しかしながら、複数のユーザが上記のシステムを使用し、かつあるユーザのホスト計算機から別のユーザの周辺機器を使用する場合、すべてのユーザの発信側装置における周辺機器データベースに対して、他のユーザの周辺機器のうち使用可能な周辺機器をそれぞれ特定して登録しなければならない。また、使用可能な周辺機器が使用不可となったり、使用不可な周辺機器が使用可能となったりした場合には、状況に応じて動的に各ユーザの周辺機器データベースを変更しなければならない。また、発信側装置に周辺機器の識別子が記録されている必要がある。
【０００７】
このため、上記の技術では、複数ユーザにより周辺機器を共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することは困難である。
【０００８】
本発明は、複数ユーザにより周辺機器を共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる周辺機器接続システム、並びに、その周辺機器接続システムで使用可能なサーバ装置、マスタアダプタ装置およびスレーブアダプタ装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明では以下のようにした。
【００１０】
本発明に係る周辺機器接続システムは、サーバ装置と、有線または無線の周辺機器インタフェースで周辺機器を接続されるとともにサーバ装置との間でコンピュータネットワークを介してデータ通信が可能な１または複数のスレーブアダプタと、その周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるとともにサーバ装置との間でコンピュータネットワークを介してデータ通信が可能なマスタアダプタとを備える。そして、サーバ装置は、周辺機器へのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、マスタアダプタを使用するユーザに対してアクセスが許可されている１または複数の周辺機器を特定し、特定した１または複数の周辺機器が接続されている１または複数のスレーブアダプタとそのマスタアダプタとの接続を許可する。
【００１１】
これにより、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、スレーブアダプタに接続された周辺機器を複数ユーザにより共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる。また、周辺機器のユーザが認証データを変更するだけで、他のユーザによる周辺機器へのアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。
【００１２】
本発明に係るサーバ装置は、有線または無線の周辺機器インタフェースで周辺機器を接続される１または複数のスレーブアダプタ、およびその周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるマスタアダプタとの間でデータ通信を行うデータ通信手段と、周辺機器へのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、マスタアダプタを使用するユーザに対してアクセスが許可されている１または複数の周辺機器を特定し、特定した１または複数の周辺機器が接続されている１または複数のスレーブアダプタとそのマスタアダプタとの接続を許可する接続許可手段とを備える。
【００１３】
これにより、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、スレーブアダプタに接続された周辺機器を複数ユーザにより共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる。また、周辺機器のユーザが認証データを変更するだけで、他のユーザによる周辺機器へのアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。
【００１４】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、サーバ装置は、データ通信手段を介して、周辺機器インタフェースで接続された際に周辺機器が提供するデバイス情報を、スレーブアダプタから取得して、そのスレーブアダプタとの接続が許可されているマスタアダプタへ供給し、端末装置と周辺機器との周辺機器インタフェースでの接続を確立する接続確立手段を備える。
【００１５】
これにより、端末装置に周辺機器が直接接続される場合と同様に所定のインタフェース規格で、遠隔の周辺機器を端末装置へ論理的に接続することができる。
【００１６】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、接続確立手段は、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を、接続が許可されているスレーブアダプタおよびマスタアダプタのうちの一方からデータ通信手段を介して受信し、スレーブアダプタおよびマスタアダプタのうちの他方へデータ通信手段を介して送信する。
【００１７】
これにより、スレーブアダプタおよびマスタアダプタが直接的に通信せずに済むため、スレーブアダプタとマスタアダプタとの間の通信路を確立する必要がない。したがって、周辺機器インタフェースでの接続後も、スレーブアダプタとマスタアダプタは、通信相手へコンピュータネットワーク上の識別子を知られずに済むとともに、通信相手のコンピュータネットワーク上の識別子を管理する必要がない。
【００１８】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、周辺機器のデバイスドライバと、マスタアダプタからデータ通信手段を介して、端末装置が送信した周辺機器へのコマンドを受信し、そのコマンドに基づいて、デバイスドライバによりデータ通信手段およびスレーブアダプタを介して周辺機器を制御する遠隔制御手段とを備える。
【００１９】
これにより、周辺機器のデバイスドライバを実装されない端末装置の場合でも、サーバ装置のデバイスドライバを利用して、端末装置から周辺機器を制御することができる。
【００２０】
本発明に係る周辺機器接続システムは、サーバ装置と、有線または無線の周辺機器インタフェースで周辺機器を接続されるとともにサーバ装置との間でコンピュータネットワークを介してデータ通信が可能な１または複数のスレーブアダプタと、その周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるとともにサーバ装置との間でコンピュータネットワークを介してデータ通信が可能なマスタアダプタとを備える。そして、サーバ装置は、スレーブアダプタへのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、マスタアダプタを使用するユーザに対してアクセスが許可されている１または複数のスレーブアダプタを特定し、特定した１または複数のスレーブアダプタとそのマスタアダプタとの接続を許可する。
【００２１】
これにより、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、スレーブアダプタに接続された周辺機器を複数ユーザにより共用可能とする場合、各スレーブアダプタへの各ユーザのアクセス可否を効率よく管理することができる。また、スレーブアダプタなどのユーザが認証データを変更するだけで、スレーブアダプタに接続されている周辺機器への、他のユーザによるアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。
【００２２】
本発明に係るサーバ装置は、有線または無線の周辺機器インタフェースで周辺機器を接続される１または複数のスレーブアダプタ、およびその周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるマスタアダプタとの間でデータ通信を行うデータ通信手段と、スレーブアダプタへのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、マスタアダプタを使用するユーザに対してアクセスが許可されている１または複数のスレーブアダプタを特定し、特定した１または複数のスレーブアダプタとそのマスタアダプタとの接続を許可する接続許可手段とを備える。
【００２３】
これにより、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、スレーブアダプタに接続された周辺機器を複数ユーザにより共用可能とする場合、各スレーブアダプタへの各ユーザのアクセス可否を効率よく管理することができる。また、スレーブアダプタなどのユーザが認証データを変更するだけで、スレーブアダプタに接続されている周辺機器への、他のユーザによるアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。
【００２４】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、サーバ装置は、データ通信手段を介して、周辺機器インタフェースで接続された際に周辺機器が提供するデバイス情報を、スレーブアダプタから取得して、そのスレーブアダプタとの接続が許可されているマスタアダプタへ供給し、端末装置と周辺機器との周辺機器インタフェースでの接続を確立する接続確立手段を備える。
【００２５】
これにより、端末装置に周辺機器が直接接続される場合と同様に所定のインタフェース規格で、遠隔の周辺機器を端末装置へ論理的に接続することができる。
【００２６】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、接続確立手段は、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を、接続が許可されているスレーブアダプタおよびマスタアダプタのうちの一方からデータ通信手段を介して受信し、スレーブアダプタおよびマスタアダプタのうちの他方へデータ通信手段を介して送信する。
【００２７】
これにより、スレーブアダプタおよびマスタアダプタが直接的に通信せずに済むため、スレーブアダプタとマスタアダプタとの間の通信路を確立する必要がない。したがって、周辺機器インタフェースでの接続後も、スレーブアダプタとマスタアダプタは、通信相手へコンピュータネットワーク上の識別子を知られずに済むとともに、通信相手のコンピュータネットワーク上の識別子を管理する必要がない。
【００２８】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、周辺機器のデバイスドライバと、マスタアダプタからデータ通信手段を介して、端末装置が送信した周辺機器へのコマンドを受信し、そのコマンドに基づいて、デバイスドライバによりデータ通信手段およびスレーブアダプタを介して周辺機器を制御する遠隔制御手段とを備える。
【００２９】
これにより、周辺機器のデバイスドライバを実装されない端末装置の場合でも、サーバ装置のデバイスドライバを利用して、端末装置から周辺機器を制御することができる。
【００３０】
本発明に係るスレーブアダプタ装置は、マスタアダプタ装置とスレーブアダプタ装置との接続関係を管理するサーバ装置との間でデータ通信を行うデータ通信手段と、周辺機器インタフェースで周辺機器との間でデータ通信を行い、周辺機器が接続された際に提供する周辺機器のデバイス情報を取得しデータ通信手段を介してサーバ装置へ送信するエミュレータと、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号の送信および／または受信をデータ通信手段を介して行う通信処理手段とを備える。
【００３１】
これにより、周辺機器と端末装置との接続に必要なデバイス情報がサーバ装置へ供給され、さらにマスタアダプタ装置を介して端末装置へ提供されるようにすることができる。したがって、サーバ装置がスレーブアダプタ装置とマスタアダプタ装置との対応付けを一元的に管理するため、スレーブアダプタ装置において、マスタアダプタ装置の識別情報を管理する必要がなく、システム内のユーザおよびマスタアダプタ装置が増減しても問題なく周辺機器と端末装置とを接続させることができる。
【００３２】
また、本発明に係るスレーブアダプタ装置は、上記のスレーブアダプタ装置に加え、次のようにしてもよい。この場合、通信処理手段は、マスタアダプタ装置との間でピアツーピア通信を行い、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を送受する。
【００３３】
これにより、スレーブアダプタ装置とマスタアダプタ装置との通信がサーバ装置を介さずに行われるため、サーバ装置の負荷を低減させることができる。
【００３４】
また、本発明に係るスレーブアダプタ装置は、上記のスレーブアダプタ装置のいずれかに加え、次のようにしてもよい。この場合、通信処理手段は、サーバ装置から認証情報を受信し、マスタアダプタ装置との間の暗号化通信、および／または、マスタアダプタ装置の認証に使用する。
【００３５】
これにより、ピアツーピア通信によるスレーブアダプタ装置とマスタアダプタ装置との間の通信路を安全に確立することができる。
【００３６】
また、本発明に係るスレーブアダプタ装置は、上記のスレーブアダプタ装置のいずれかに加え、次のようにしてもよい。この場合、スレーブアダプタ装置は、周辺機器が接続された際に、その周辺機器に固有な識別子を動的に割り当て、データ通信手段を介してサーバ装置へ通知する。
【００３７】
これにより、サーバ装置がこの識別子をマスタアダプタ装置に提示することで、マスタアダプタ装置はその識別子の周辺機器を接続相手として選択可能となる。また、スレーブアダプタ装置に接続される周辺機器の識別子を予めサーバ装置に登録する作業が不要となる。
【００３８】
本発明に係るマスタアダプタ装置は、マスタアダプタ装置とスレーブアダプタ装置との接続関係を管理するサーバ装置との間でデータ通信を行うデータ通信手段と、周辺機器インタフェースで端末装置との間でデータ通信を行い、周辺機器が接続された際に提供する周辺機器のデバイス情報をサーバ装置からデータ通信手段を介して取得し端末装置へ提供するエミュレータと、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号の送信および／または受信をデータ通信手段を介して行う通信処理手段とを備える。
【００３９】
これにより、周辺機器と端末装置との接続に必要なデバイス情報がスレーブアダプタ装置を介してサーバ装置へ供給されることで、そのデバイス情報はサーバ装置からマスタアダプタ装置を介して端末装置へ提供される。したがって、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、マスタアダプタ装置において、スレーブアダプタ装置の識別情報を管理する必要がなく、システム内のユーザおよびスレーブアダプタ装置が増減しても問題なく周辺機器と端末装置とを接続させることができる。
【００４０】
また、本発明に係るホストアダプタ装置は、上記のホストアダプタ装置に加え、次のようにしてもよい。この場合、通信処理手段は、スレーブアダプタ装置との間でピアツーピア通信を行い、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を送受する。
【００４１】
これにより、スレーブアダプタ装置とマスタアダプタ装置との通信がサーバ装置を介さずに行われるため、サーバ装置の負荷を低減させることができる。
【００４２】
また、本発明に係るホストアダプタ装置は、上記のホストアダプタ装置のいずれかに加え、次のようにしてもよい。この場合、通信処理手段は、サーバ装置から認証情報を受信し、スレーブアダプタ装置との間の暗号化通信、および／または、スレーブアダプタ装置の認証に使用する。
【００４３】
これにより、ピアツーピア通信によるスレーブアダプタ装置とマスタアダプタ装置との間の通信路を安全に確立することができる。
【００４４】
また、本発明に係るホストアダプタ装置は、上記のホストアダプタ装置のいずれかに加え、次のようにしてもよい。この場合、ホストアダプタ装置は、端末装置が接続されると、その端末装置で実行されているオペレーティングシステムの種別を検出し、その種別のオペレーティングシステム用の周辺機器のデバイスドライバがその端末装置にあるか否かを判定し、そのデバイスドライバがない場合には、そのデバイスドライバをダウンロードしてその端末装置にインストールする。
【００４５】
これにより、周辺機器のデバイスドライバが端末装置になくても、端末装置を自動的に利用開始可能な状態にすることができる。
【発明の効果】
【００４６】
本発明によれば、複数ユーザにより周辺機器を共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる。
【発明を実施するための最良の形態】
【００４７】
以下、図に基づいて本発明の実施の形態を説明する。
【００４８】
実施の形態１．
図１は、本発明の実施の形態１に係る周辺機器接続システムの構成を示すブロック図である。図１において、ＰＣ１は、ＵＳＢ（Universal Serial Bus）インタフェース１１を有するパーソナルコンピュータであり、プリンタ２は、ＵＳＢインタフェース２１を有する周辺機器である。ＵＳＢインタフェース１１，２１は、ＵＳＢ規格に従ってデータ通信を行うインタフェース回路である。ＰＣ１およびプリンタ２は、このシステムにより、論理的に互いに接続される端末装置および周辺機器である。ＰＣ１は、ホスト側のＵＳＢインタフェース１１を有し、プリンタ２は、デバイス側のＵＳＢインタフェース２１を有する。すなわち、ＰＣ１およびプリンタ２は、同一のインタフェース規格のインタフェース１１，２１を有し、ＵＳＢケーブルで直接的に接続可能なものである。ＵＳＢケーブルで直接的に両者を接続した場合、ＰＣ１はプリンタ２を使用可能となる。また、ＰＣ１は、コンピュータネットワーク６を介してデータ通信を行うネットワークインタフェース（図示せず）を有する。
【００４９】
また、アダプタ装置３は、プリンタ２を使用するＰＣ１をＵＳＢ規格で直接的に接続されるとともに、コンピュータネットワーク６を介してサーバ装置５との間でデータ通信が可能なホストアダプタ３１を備える装置である。アダプタ装置３は、例えば携帯可能な１つの筐体の中にホストアダプタ３１を有する。アダプタ装置３は、ホストアダプタ３１に電気的に接続されたＢ系列のＵＳＢコネクタを有する。
【００５０】
また、アダプタ装置４は、プリンタ２をＵＳＢ規格で直接的に接続されるとともに、コンピュータネットワーク６を介してサーバ装置５との間でデータ通信が可能なデバイスアダプタ４１を備える装置である。アダプタ装置４は、例えば携帯可能な１つの筐体の中にデバイスアダプタ４１を有する。アダプタ装置４は、デバイスアダプタ４１に電気的に接続されたＡ系列のＵＳＢコネクタを有する。なお、デバイスアダプタ４１には、ＵＳＢハブが内蔵され、複数のＵＳＢ周辺機器が接続可能とされる。
【００５１】
また、サーバ装置５は、ホストアダプタ３１とデバイスアダプタ４１との接続関係を管理するサーバ装置である。さらに、サーバ装置５は、ＵＳＢ規格で接続された際にプリンタ２が提供するデバイス情報を、コンピュータネットワーク６を介してデバイスアダプタ４１から取得して、接続許可されているホストアダプタ３１へ供給するサーバ装置である。プリンタ２のデバイス情報は、ホストアダプタ３１にＰＣ１が接続された際に、ＰＣ１に提供される。
【００５２】
また、コンピュータネットワーク６は、ＩＰ（Internet Protocol ）で通信可能な通信網である。コンピュータネットワーク６には、ＬＡＮ（Local Area Network）、インターネットなどのＷＡＮ（Wide Area Network ）、ＤＳＬ（Digital Subscriber Line ）などが適宜含まれる。
【００５３】
また、ＰＣ７は、パーソナルコンピュータであり、コンピュータネットワーク６を介してデータ通信を行うネットワークインタフェース（図示せず）を有する。ＰＣ１は、アダプタ装置３の所有者（または管理者）に管理されるパーソナルコンピュータであり、ＰＣ７は、アダプタ装置４の所有者（または管理者）に管理されるパーソナルコンピュータである。
【００５４】
ここで、アダプタ装置３，４およびサーバ装置５の詳細な構成を説明する。
【００５５】
図２は、図１におけるアダプタ装置３の構成を示すブロック図である。図２に示すように、アダプタ装置３のホストアダプタ３１は、デバイスエミュレータ５１、ネットワークインタフェース５２およびＨＴＴＰ通信処理部５３を有する処理装置である。
【００５６】
デバイスエミュレータ５１は、プリンタ２のＵＳＢデバイスインタフェースをエミュレートするエミュレータ機能およびＨＴＴＰ（Hypertext Transfer Protocol ）クライアント機能を有し、ＵＳＢ規格でＰＣ１との間でデータ通信を行い、プリンタ２が接続された際に提供するプリンタ２のデバイス情報をサーバ装置５からネットワークインタフェース５２を介して取得しＰＣ１へ提供するエミュレータである。ＵＳＢ規格の場合には、例えば、デバイスエミュレータ５１の物理層は、ＵＳＢのデバイスインタフェースの物理層とされ、デバイスエミュレータ５１の上位層は、デジタルシグナルプロセッサ（ＤＳＰ）で構成される。デバイス情報として、デスクリプタなどが授受される。
【００５７】
ネットワークインタフェース５２は、コンピュータネットワーク６を介してデータ通信を行う回路である。ネットワークインタフェース５２としては、イーサネット（登録商標）用のネットワークインタフェースカードなどが使用される。
【００５８】
ＨＴＴＰ通信処理部５３は、ＰＣ１とプリンタ２との間の接続確立後に、ＰＣ１からのＵＳＢ規格の出力信号をＨＴＴＰでカプセル化し、ＨＴＴＰでＵＳＢ規格の信号をサーバ装置５へ伝送する通信処理部である。また、ＨＴＴＰ通信処理部５３は、ＰＣ１とプリンタ２との間の接続確立後に、プリンタ２からのＵＳＢ規格の出力信号を、ＨＴＴＰでカプセル化された状態で受信し、デカプセル化によりそのＵＳＢ規格の信号を復元する通信処理部である。
【００５９】
図３は、図１におけるアダプタ装置４の構成を示すブロック図である。図３に示すように、アダプタ装置４のデバイスアダプタ４１は、ホストエミュレータ６１、ネットワークインタフェース６２およびＨＴＴＰ通信処理部６３を有する処理装置である。
【００６０】
ホストエミュレータ６１は、ＰＣ１のＵＳＢホストインタフェースをエミュレートするエミュレート機能およびＨＴＴＰクライアント機能を有し、ＵＳＢ規格でプリンタ２との間でデータ通信を行い、プリンタ２が接続された際に提供するデバイス情報を取得しネットワークインタフェース６２を介してサーバ装置５へ送信するエミュレータである。ＵＳＢ規格の場合には、例えば、ホストエミュレータ６１の物理層は、ＵＳＢのホストインタフェースの物理層とされ、ホストエミュレータ６１の上位層は、デジタルシグナルプロセッサ（ＤＳＰ）で構成される。
【００６１】
ネットワークインタフェース６２は、コンピュータネットワーク６を介してデータ通信を行う回路である。ネットワークインタフェース６２としては、イーサネット（登録商標）用のネットワークインタフェースカードなどが使用される。
【００６２】
ＨＴＴＰ通信処理部６３は、ＰＣ１とプリンタ２との間の接続確立後に、プリンタ２からのＵＳＢ規格の出力信号をＨＴＴＰでカプセル化し、ＨＴＴＰでＵＳＢ規格の信号をサーバ装置５へ伝送する通信処理部である。また、ＨＴＴＰ通信処理部６３は、ＰＣ１とプリンタ２との間の接続確立後に、ＰＣ１からのＵＳＢ規格の出力信号を、ＨＴＴＰでカプセル化された状態で受信し、デカプセル化によりそのＵＳＢ規格の信号を復元する通信処理部である。
【００６３】
図４は、図１におけるサーバ装置５の構成を示すブロック図である。図４において、ネットワークインタフェース７１は、コンピュータネットワーク６を介してデータ通信を行う回路である。ネットワークインタフェース７１としては、イーサネット（登録商標）用のネットワークインタフェースカードなどが使用される。
【００６４】
データ格納装置７２は、データを書き換え可能に格納する記録媒体を有する装置である。データ格納装置７２としては、ハードディスクドライブ、半導体メモリなどが適宜使用される。データ格納装置７２には、バッファ８１が確保されるとともに、認証テーブル８２およびユーザテーブル８３が格納される。
【００６５】
バッファ８１は、デバイスアダプタ４１によりプリンタ２から取得されたデバイス情報をファイルとして格納するとともに、ホストアダプタ３１およびデバイスアダプタ４１から取得されるＵＳＢ規格の信号をファイルとして格納する領域である。その際、ホストアダプタ３１およびデバイスアダプタ４１のうちの送信元および送信先の情報と関連付けてファイルが格納される。
【００６６】
認証テーブル８２は、デバイスアダプタ４１に接続されている周辺機器（例えばプリンタ２）へのアクセスを許可されているユーザを特定するための認証データを有するテーブルである。図５は、図４における認証テーブル８２の一例を示す図である。図５に示すように、この実施の形態１では、認証データは、（ａ）デバイスアダプタ４１に固有なデバイスアダプタ識別子、（ｂ）各デバイスアダプタ４１に接続されている周辺機器の周辺機器識別子、（ｃ）周辺機器の所有者（または管理者）に固有なユーザ識別子である所有者識別子、（ｄ）デバイスアダプタ４１に接続されている周辺機器へのアクセスが許可されているユーザのユーザ識別子を互いに関連付けて有する。この認証データが認証テーブル８２に含まれる。アクセスが許可されたユーザのユーザ識別子は、周辺機器の所有者（または管理者）であるユーザによるＰＣ７に対する選択操作に基づいて、ユーザテーブル８３に登録されているユーザから選択され認証テーブル８２へ登録される。１つの周辺機器に対して、アクセスが許可されるユーザは、複数でもよい。なお、いずれのデバイスアダプタ４１に接続されていても利用可能とする場合には、図５ではアスタリスクで示されているようにデバイスアダプタ識別子は指定されない。また、周辺機器の所有者は当然に当該周辺機器へのアクセス許可を有している。
【００６７】
ユーザテーブル８３は、当該システムによる周辺機器接続サービスを享受するユーザのユーザ識別子、そのユーザの所有（または管理）するホストアダプタ３１および／またはデバイスアダプタ４１のアダプタ識別子を互いに関連付けて有するテーブルである。
【００６８】
次に、サーバ装置５のウェブサーバ処理部７３は、ＨＴＴＰサーバ機能を有し、ネットワークインタフェース７１を介して、ＵＳＢ規格で接続された際にプリンタ２が提供するデバイス情報を、デバイスアダプタ４１から取得し、そのプリンタ２への接続が許可されている１または複数のユーザのホストアダプタ３１へ供給し、物理的に離れているＰＣ１とプリンタ２とを論理的にＵＳＢ規格で接続可能とする処理部である。なお、供給先のホストアダプタ３１を特定するために、ウェブサーバ処理部７３は、まず、認証テーブル８２を参照して、プリンタ２へのアクセスが許可されているユーザのユーザ識別子を特定し、次に、ユーザテーブル８３を参照して、そのユーザ識別子のユーザのホストアダプタ３１のアダプタ識別子を特定する。
【００６９】
また、認証設定処理部７４は、プリンタ２またはデバイスアダプタ４１の所有者（または管理者）であるユーザの操作に基づいて、そのデバイスアダプタ４１に接続される周辺機器について認証テーブル８２に対する認証データの追加および削除を行う処理部である。このユーザ操作は、ＰＣ７に対して行われ、その操作の情報は、ＰＣ７のネットワークインタフェースおよびコンピュータネットワーク６を介してサーバ装置５に伝送される。
【００７０】
なお、ウェブサーバ処理部７３および認証設定処理部７４は、データ格納装置７２または図示せぬ記録媒体に格納されたコンピュータプログラムを図示せぬプロセッサにより実行することで実現される。
【００７１】
次に、上記システムにおける各装置の動作について説明する。図６は、実施の形態１に係る周辺機器接続システムにおけるＰＣ１とプリンタ２との接続およびデータ通信について説明する図である。
【００７２】
まず、デバイスアダプタ４１に接続された周辺機器のユーザ（例えばプリンタ２のユーザ）は、その周辺機器へのアクセスを許可する他のユーザを設定する。その流れは、以下のようになる。そのユーザは、ＰＣ７を操作して、サーバ装置５の認証テーブル８２への認証データの登録を行う。そのユーザ操作に基づいて、ＰＣ７は、ウェブブラウザといったＨＴＴＰクライアント機能により、まず、認証設定要求を、設定を行うユーザ自身のユーザ識別子とともにサーバ装置５へ送信する（ステップＳ１）。
【００７３】
サーバ装置５のウェブサーバ処理部７３は、その要求を受信すると、ユーザテーブル８３を参照して、ユーザのリストを含む、ある周辺機器についての周辺機器識別子およびアクセスを許可するユーザの識別子を入力するための認証設定画面データを生成し、例えばＨＴＭＬ（Hypertext Markup Language ）ファイルなどとしてＰＣ７へ送信する（ステップＳ２）。ＰＣ７は、その認証設定画面データを受信すると、図示せぬディスプレイにその認証設定画面データに基づく認証設定画面を表示する。
【００７４】
その後、ＰＣ７の入力装置に対して周辺機器識別子およびユーザ識別子を入力するユーザ操作があると、ＰＣ７は、その操作情報と設定を行ったユーザ自身のユーザ識別子とを認証設定情報としてサーバ装置５へ送信する（ステップＳ３）。この際、当該周辺機器を特定のデバイスアダプタ４１に接続したときにしか利用できないようにする場合は、特定のデバイスアダプタ４１のデバイスアダプタ識別子を送信するようにしてもよい。サーバ装置５のウェブサーバ処理部７３は、その認証設定情報を受信すると、その情報を認証設定処理部７４に供給する。認証設定処理部７４は、その情報に基づき、その周辺機器についての認証データを生成し、認証テーブル８２に登録する（ステップＳ４）。この際、デバイスアダプタ識別子も受信した場合は、ウェブサーバ処理部７３は、認証テーブル８２に、当該デバイスアダプタ識別子も関連付けて登録する。なお、ここで、周辺機器識別子は、デバイスアダプタ４１が認識可能であって、デバイスアダプタ４１に接続されている１または複数の周辺機器から１つの周辺機器を特定可能な、サーバ装置５において他の周辺機器識別子と重複しない情報である。
【００７５】
なお、ある周辺機器の認証データが既に認証テーブル８２に存在する場合には、生成された認証データにより、認証テーブル８２内のそのデバイスアダプタ４１の認証データが上書きされる構成にしてもよい。また、ＰＣ７に対して所定の操作が行われた場合に、その操作により指定された認証データが認証テーブル８２から削除されるようにしてもよい。
【００７６】
このようにして、サーバ装置５における認証テーブル８２が構築される。
【００７７】
その後、プリンタ２がアダプタ装置４に接続されると、プリンタ２のＵＳＢインタフェース２１は、ＵＳＢによる接続を確立するためにデバイス情報をアダプタ装置４に出力する（ステップＳ２１）。アダプタ装置４のデバイスアダプタ４１におけるホストエミュレータ６１は、そのデバイス情報を取得すると、プリンタ２の周辺機器識別子を付して、そのデバイス情報を１つのファイルとし、ＨＴＴＰで、ネットワークインタフェース６２およびコンピュータネットワーク６を介してサーバ装置５へ送信する（ステップＳ２２）。その際、ホストエミュレータ６１は、ＨＴＴＰのＰＯＳＴコマンドを使用して、デバイス情報のファイルをサーバ装置５の所定のＵＲＬ（Uniform Resource Locator）のＣＧＩ（Common Gateway Interface）に対してアップロードする。そのとき、サーバ装置５では、デバイス情報のファイルは、バッファ８１に格納される（ステップＳ２３）。
【００７８】
一方、アダプタ装置３のホストアダプタ３１におけるデバイスエミュレータ５１は、自己のホストアダプタ識別子を指定して、サーバ装置５へのポーリングにより、このホストアダプタ３１宛のデバイス情報の有無を定期的に監視している。このとき、デバイスエミュレータ５１は、サーバ装置５の所定のＵＲＬのＣＧＩにアクセスし、このホストアダプタ３１との接続を許可されている周辺機器の状態（上述のデバイス情報があるか否かなど）をＣＧＩからの応答として取得する。デバイスエミュレータ５１は、そのデバイス情報のファイルの存在を検出すると、そのファイルを、コンピュータネットワーク６およびネットワークインタフェース５２を介して取得する（ステップＳ２４）。その際、デバイスエミュレータ５１は、ＨＴＴＰのＧＥＴコマンドを使用して、サーバ装置５のバッファ８１からそのファイルをダウンロードする。なお、デバイスエミュレータ５１は、デバイス情報を取得した後も、上述のポーリングを継続する。これにより、その後に、別の周辺機器がデバイスアダプタ４１に接続された場合でも、その周辺機器のデバイス情報が取得可能となる。
【００７９】
ここで、ウェブサーバ処理部７３は、そのポーリングを受けた際に指定されたホストアダプタ識別子、並びに認証テーブル８２およびユーザテーブル８３に基づき、ポーリングを行ったホストアダプタ３１を所有（または管理）するユーザが、プリンタ２へのアクセスを許可されているか否かを判定する。そして、ポーリングを行ったホストアダプタ３１を所有（または管理）するユーザが、プリンタ２へのアクセスを許可されている場合には、ウェブサーバ処理部７３は、デバイス情報をそのホストアダプタ３１へ送信する（ステップＳ２４）。
【００８０】
ホストアダプタ３１におけるデバイスエミュレータ５１は、ＰＣ１がアダプタ装置３に接続されている場合にはただちに、取得したデバイス情報をＰＣ１のＵＳＢインタフェース１１に提供する（ステップＳ２５）。これにより、ＰＣ１において、プリンタ２の接続が検出される（ステップＳ２６）。一方、デバイス情報を取得したときにＰＣ１がアダプタ装置３に接続されていない場合には、デバイスエミュレータ５１は、ＰＣ１が接続されるまでそのデバイス情報を図示せぬメモリに保持し、ＰＣ１が接続されると、そのデバイス情報をＰＣ１に提供する。なお、デバイスアダプタ４１に接続される周辺機器のデバイスドライバがＰＣ１に存在しない場合には、ＰＣ１は、所定のダウンロードサーバからデバイスドライバプログラムを自動的にダウンロードして当該周辺機器を利用できるようにしてもよい。その方法の一例としては、アダプタ装置３が、ＰＣ１との接続時あるいは新たな周辺機器の接続を検出したタイミングで、ＰＣ１の実行しているＯＳと所有するデバイスドライバを確認し、当該ＯＳで動作する当該周辺機器を制御するためのデバイスドライバを有していない場合には、アダプタ装置３が記憶領域に予め保持しているデバイスドライバをＰＣ１に提供して実行させる方法、あるいは、ネットワーク６上の所定のダウンロードサーバからアダプタ装置３がデバイスドライバを自動的にダウンロードしＰＣ１に提供して実行させるといった方法が考えられる。
【００８１】
これにより、ＰＣ１とプリンタ２との間のＵＳＢによる接続が確立される。
【００８２】
その後、ＰＣ１は、例えばアプリケーションプログラムの実行中に印刷ジョブが発生した場合には、デバイスドライバにより、プリンタ２に印刷ジョブを実行させるコマンド（すなわち、印刷データ）を、ＵＳＢ規格の信号としてアダプタ装置３へ出力する（ステップＳ３１）。アダプタ装置３のホストアダプタ３１では、その信号は、デバイスエミュレータ５１により受信され、ＨＴＴＰ通信処理部５３によりＨＴＴＰでカプセル化された後にネットワークインタフェース５２を介して、サーバ装置５へ伝送される（ステップＳ３２）。このとき、ＨＴＴＰ通信処理部５３は、ＨＴＴＰのＰＯＳＴコマンドを使用して、上述のように接続が確立された周辺機器の周辺機器識別子およびホストアダプタ３１の識別子とともにそのファイルをサーバ装置５の所定のＵＲＬのＣＧＩに対してアップロードする。これにより、ＵＳＢ規格の信号がサーバ装置５においてバッファリングされる（ステップＳ３３）。続けて、サーバ装置５のウェブサーバ処理部７３は、ユーザテーブル８３を参照し、ホストアダプタ３１の識別子から、その所有者（または管理者）のユーザ識別子を取得する。また、サーバ装置５のウェブサーバ処理部７３は、ＣＧＩに対して送信されてきた、ＨＴＴＰでカプセル化されたＵＳＢ規格の信号を、受信時に取得した周辺機器識別子と取得したユーザ識別子とを関連付けて、１つのファイルとしてバッファ８１に格納する。
【００８３】
一方、接続の確立後、アダプタ装置４のデバイスアダプタ４１におけるＨＴＴＰ通信処理部６３は、ポーリングにより、自己に接続されている周辺機器（プリンタ２など）宛のファイルの有無を定期的に監視する。このとき、ＨＴＴＰ通信処理部６３は、サーバ装置５の所定のＵＲＬのＣＧＩにアクセスし、自己に接続されている周辺機器宛のファイルの有無を確認する。サーバ装置５のウェブサーバ処理部７３は、そのＣＧＩにより、ホストアダプタ３１から当該周辺機器に対して送信されたコマンドのファイルがバッファリングされており、かつ、そのファイル中で関連付けられているユーザ識別子が、当該周辺機器へのアクセスを許可されているユーザのユーザ識別子か否かを、認証テーブル８２に基づいて判定し、判定結果を含めた応答を送信する。そして、ＨＴＴＰ通信処理部６３は、ＣＧＩからの応答によってそのファイルの存在を検出すると、そのファイルを、コンピュータネットワーク６およびネットワークインタフェース６２を介して取得する（ステップＳ３４）。このとき、ＨＴＴＰ通信処理部６３は、ＨＴＴＰのＧＥＴコマンドを使用して、サーバ装置５からそのファイルをダウンロードする。ＨＴＴＰ通信処理部６３は、そのファイルを基にしてＵＳＢ規格の信号を復元し、ホストエミュレータ６１に供給する。ホストエミュレータ６１は、その信号をプリンタ２へ入力する（ステップＳ３５）。
【００８４】
プリンタ２は、その信号をＵＳＢインタフェース２１で受信し、その信号に基づき印刷ジョブの処理を実行する（ステップＳ３６）。
【００８５】
また、印刷ジョブの実行中に、プリンタ２が、応答、通知などをＵＳＢ規格の信号として出力した場合には、その信号は、アダプタ装置４により受信され（ステップＳ３７）、ＨＴＴＰでカプセル化された後、サーバ装置５へ伝送される（ステップＳ３８）。サーバ装置５では、その信号は、１つのファイルとして、バッファ８１に格納される。これにより、ＵＳＢ規格の信号がサーバ装置５においてバッファリングされる（ステップＳ３９）。
【００８６】
一方、ホストアダプタ３１のＨＴＴＰ通信処理部５３は、ポーリングにより、そのファイルの有無を定期的に監視している。そして、ＨＴＴＰ通信処理部５３は、そのファイルの存在を検出すると、そのファイルを、コンピュータネットワーク６およびネットワークインタフェース５２を介して取得する（ステップＳ４０）。ＨＴＴＰ通信処理部５３は、そのファイルから元のＵＳＢ規格の信号を復元し、デバイスエミュレータ５１に供給する。デバイスエミュレータ５１は、その信号をＰＣ１へ入力する（ステップＳ４１）。ここで、ステップＳ２４と同様に、自己のホストアダプタ識別子を指定したポーリングにより、ＨＴＴＰ通信処理部５３はファイルの存在を検知する。サーバ装置５のＣＧＩは、認証テーブル８２およびユーザテーブル８３に基づいてファイルの存在について通知する。
【００８７】
これにより、ＰＣ１は、プリンタ２がＵＳＢケーブルで直接接続されている場合と同様に、論理的に接続された状態となる。このため、ＰＣ１のユーザは、ＰＣ１のユーザの有するデータファイルなどに基づいて遠隔のユーザのプリンタ２で印刷することができる。
【００８８】
なお、複数のアダプタ装置４がネットワーク６に接続されていたり、複数の周辺機器（プリンタなど）が複数のアダプタ装置４に接続されていたりしており、アダプタ装置３を使用するユーザに対して複数の周辺機器へのアクセスが許可される場合には、各周辺機器のデバイス情報がＰＣ１へ供給される。ＰＣ１が複数の周辺機器のうちの１つを選択し使用する場合には、ホストアダプタ３１におけるＵＳＢハブ機能により、選択されたＵＳＢ周辺機器が特定され、ＰＣ１とそのＵＳＢ周辺機器とのＵＳＢ規格に従ったデータ通信が行われる。
【００８９】
例えば、２台のアダプタ装置４がネットワーク６に接続されており、それぞれのアダプタ装置４に１台ずつプリンタ２が接続されているシステムにおいて、それぞれのプリンタ２へのアクセスが許可されているユーザが所有（または管理）しているホストアダプタ３１（つまり、そのホストアダプタ３１を有するアダプタ装置３）を介して、ＰＣ１がサーバ装置５に接続されている場合、ユーザが使用するＰＣ１と２台のプリンタ２のそれぞれとのＵＳＢでの接続が確立される。そして、その状態で、ＰＣ１で動作しているアプリケーションから印刷を行う場合、ＰＣ１の図示せぬディスプレイにより、プリンタのリストにおいてその２台のプリンタ２が選択可能に表示され、ユーザの操作によりいずれかのプリンタ２が選択される。その操作により、ＰＣ１におけるプリンタ２用のデバイスドライバは、選択されたプリンタ２に対して、印刷データをＵＳＢで出力する。その印刷データは、ホストアダプタ３１のＵＳＢハブ機能により特定される宛先のプリンタ２の周辺機器識別子とそのユーザのユーザ識別子を付して、サーバ装置５へＨＴＴＰのＰＯＳＴコマンドで伝送される。サーバ装置５では、その印刷データがバッファ８１に格納される。その後、選択されたプリンタ２が接続されているデバイスアダプタ４１は、その印刷データをサーバ装置５からＨＴＴＰのＧＥＴコマンドで取得し、印刷データをＵＳＢの信号としてそのプリンタ２へ入力する。
【００９０】
また、１つの周辺機器（例えばプリンタ２）について複数のユーザがアクセスを許可されている場合には、いずれのユーザのＰＣ１からもホストアダプタ３１を介してその周辺機器を使用可能となる。
【００９１】
また、デバイスアダプタ４１は、周辺機器の接続が解除されると、ポーリングによるその周辺機器宛のファイルの有無の監視を停止する。そして、サーバ装置５は、デバイスアダプタ４１によるその周辺機器宛のファイルの有無の問い合わせるポーリングが一定時間受信されなかった場合には、その周辺機器とデバイスアダプタ４１との接続が解除されたと判断し、デバイス情報を削除する。そして、ホストアダプタ３１は、ポーリングにより定期的にデバイス情報の有無を監視しており、サーバ装置５におけるその周辺機器のデバイス情報がなくなると、その周辺機器の接続が解除されたと判定し、ＰＣ１とのＵＳＢでの物理層の接続を解除する。これにより、ＰＣ１は、遠隔にある周辺機器の接続が解除されたことを検出することができる。
【００９２】
以上のように、上記実施の形態１によれば、データ通信手段としてのネットワークインタフェース７１は、スレーブアダプタとしてのデバイスアダプタ４１およびマスタアダプタとしてのホストアダプタ３１との間でデータ通信を行う。接続許可手段としてのウェブサーバ処理部７３は、周辺機器（プリンタ２など）へのアクセスを許可されている１または複数のユーザを特定するための認証データを参照し、ホストアダプタ３１を使用するユーザに対してアクセスが許可されている１または複数の周辺機器を特定し、デバイス情報を送信することで、特定した周辺機器が接続されているデバイスアダプタ４１とそのホストアダプタ３１との接続を許可する。
【００９３】
これにより、サーバ装置５がデバイスアダプタ４１とホストアダプタ３１との対応付けを一元的に管理するため、デバイスアダプタ４１に接続された周辺機器を複数ユーザにより共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる。また、周辺機器のユーザが認証データを変更するだけで、他のユーザによる周辺機器へのアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。また、ＰＣ１とプリンタ２は、いずれも、相手のネットワーク識別子（ＩＰアドレスなど）を知らなくても済むため、ＰＣ１およびプリンタ２は、そのような相手のネットワーク識別子を管理せずに済む。また、適切な利用権限を有するユーザは、異なるクライアントからでも同一の周辺機器を利用することができる。
【００９４】
また、上記実施の形態１によれば、接続確立手段としてのウェブサーバ処理部７３は、ネットワークインタフェース７１を介して、ＵＳＢ規格で接続された際にプリンタ２が提供するデバイス情報を、デバイスアダプタ４１から取得して、そのデバイスアダプタ４１との接続が許可されているホストアダプタ３１へ供給し、ＰＣ１とプリンタ２とのＵＳＢ規格で論理的な接続を確立する。
【００９５】
これにより、ＰＣ１にプリンタ２が直接接続される場合と同様にＵＳＢ規格で、遠隔のプリンタ２をＰＣ１へ論理的に接続することができる。
【００９６】
実施の形態２．
本発明の実施の形態２では、プリンタ２などの周辺機器を使用する端末装置として、プリンタ２のデバイスドライバが実装されない装置が使用される。
【００９７】
図７は、本発明の実施の形態２に係る周辺機器接続システムの構成を示すブロック図である。図７において、携帯端末１０１は、プリンタ２のデバイスドライバが実装されていない端末装置である。携帯端末１０１は、周辺機器用のインタフェース１１１を有するとともに、コンピュータネットワーク６におけるインターネットに接続可能なネットワーク接続機能を有する。携帯端末１０１としては、ＰＤＡ（登録商標）、携帯電話機などが考えられる。
【００９８】
アダプタ装置１０２は、プリンタ２を使用する携帯端末１０１を接続されるとともに、コンピュータネットワーク６を介してサーバ装置１０３との間でデータ通信が可能なマスタアダプタ１２１を備える装置である。このマスタアダプタ１２１とデバイスアダプタ４１との接続は、ホストアダプタ３１と同様に、マスタアダプタ１２１のアダプタ識別子を使用してサーバ装置１０３において認証データおよび接続データで管理される。
【００９９】
図８は、図７におけるアダプタ装置１０２の構成を示すブロック図である。アダプタ装置１０２において、インタフェース１３１は、携帯端末１０１のインタフェース１１１との間で接続を確立しデータ通信可能な回路である。通信処理部１３２は、インタフェース１３１により受信されたコマンドをＨＴＴＰでネットワークインタフェース５２を介してサーバ装置１０３へ伝送するとともに、プリンタ２が出力する応答、通知などを、ネットワークインタフェース５２を介してサーバ装置１０３からＨＴＴＰで受信し、インタフェース１３１を介して携帯端末１０１に入力する。ネットワークインタフェース５２は、図２のものと同様のものである。
【０１００】
サーバ装置１０３は、プリンタ２のデバイスドライバを有し、実施の形態１のサーバ装置５と同様にアダプタ装置４を介してプリンタ２との間でＵＳＢ規格の信号の送受を行うことで、そのデバイスドライバを使用してデバイスアダプタ４１を介してプリンタ２を制御し、また、マスタアダプタ１２１を介して携帯端末１０１との間でコマンド、通知、応答などを送受する装置である。図９は、図７におけるサーバ装置１０３の構成を示すブロック図である。サーバ装置１０３において、ウェブサーバ処理部１４１は、プリンタ２のデバイスドライバ１４２を使用して、マスタアダプタ１２１に接続されている携帯端末１０１からマスタアダプタ１２１を介してコマンドを受信してそのコマンドに基づいてプリンタ２を制御するとともに、プリンタ２からの通知、応答などをマスタアダプタ１２１を介して携帯端末１０１に供給する処理部である。また、ウェブサーバ処理部１４１は、実施の形態１のウェブサーバ処理部７３と同様の、デバイスアダプタ４１との通信機能を有する。
【０１０１】
なお、サーバ装置１０３におけるその他の構成要素については、実施の形態１のサーバ装置５のものと同様である。
【０１０２】
次に、上記システムにおける各装置の動作について説明する。
【０１０３】
まず、プリンタ２がアダプタ装置４に接続されると、実施の形態１と同様に、デバイス情報がサーバ装置１０３に伝送される。このデバイス情報は、サーバ装置１０３のバッファ８１に格納される。ウェブサーバ処理部１４１は、そのデバイス情報に基づいて、プリンタ２との間でＵＳＢ規格での接続を論理的に確立する。
【０１０４】
一方、アダプタ装置１０２のマスタアダプタ１２１における通信処理部１３２は、定期的なポーリングにより、サーバ装置１０３に対してマスタアダプタ１２１を所有（または管理）するユーザによるアクセスが許可されている周辺機器とサーバ装置１０３との接続が確立されている否かを問い合わせる。そして、接続可能な周辺機器が存在する場合には、マスタアダプタ１２１は、問い合わせに対する応答から、その周辺機器の種別を特定する。
【０１０５】
その後、アダプタ装置１０２に携帯端末１０１が接続されると、通信処理部１３２は、インタフェース１３１を介して携帯端末１０１で実行されているオペレーティングシステム（ＯＳ）の種類を特定し、接続可能な周辺機器を本システムで制御するための、そのＯＳで動作するドライバプログラムを所定のダウンロードサーバからネットワークインタフェース６を介して取得し図示せぬメモリに格納する。なお、ダウンロードサーバは、サーバ装置１０３でもよいし、他のサーバ装置でもよい。このドライバプログラムは、サーバ装置１０３のデバイスドライバ１４２を利用して周辺機器を制御するためのコマンドを、マスタアダプタ１２１を介してサーバ装置１０３に送信する機能を実現するものである。通信処理部１３２は、そのドライバプログラムを取得すると、インタフェース１３１を介して携帯端末１０１にインストールする。なお、ＯＳと連携して周辺機器から端末装置にドライバを自動的にインストールする技術は、既存の技術を使用すればよい。
【０１０６】
このようにして、携帯端末１０１は、そのドライバプログラムを実行することで、サーバ装置１０３における、プリンタ２のデバイスドライバ１４２を利用して、プリンタ２を制御することが可能となる。
【０１０７】
そして、携帯端末１０１がプリンタ２を制御する場合、そのドライバプログラムによりコマンドが出力される。そのコマンドは、マスタアダプタ１０２の識別子と周辺機器識別子を添付されて、マスタアダプタ１２１によりＨＴＴＰでサーバ装置１０３に伝送される。サーバ装置１０３のウェブサーバ処理部１４１は、そのコマンドを受信すると、ユーザテーブル８３を参照し、マスタアダプタ１０２の識別子から、その所有者（または管理者）のユーザ識別子を取得する。続けて、サーバ装置１０３のウェブサーバ処理部１４１は、取得した周辺機器識別子に基づいて、対応する周辺機器としてプリンタ２を特定する。続けて、サーバ装置１０３のウェブサーバ処理部１４１は、プリンタ２用のデバイスドライバ１４２を使用して、送信されてきたＨＴＴＰでカプセル化されたコマンドに対応するＵＳＢ規格の信号を作成して、受信時に取得した周辺機器識別子と取得したユーザ識別子とを関連付けてバッファ８１に格納する。続けて、サーバ装置１０３のウェブサーバ処理部１４１は、デバイスアダプタ４１からの要求に応じて、当該ファイルが、プリンタ２へのアクセスが許可されているユーザにより作成されたファイルである場合には、当該ファイルをＨＴＴＰでカプセル化してデバイスアダプタ４１に送信する。デバイスアダプタ４１は、ファイルを取得すると、取得したファイルからＵＳＢ規格の信号を抽出しプリンタ２へ供給する。これにより、プリンタ２が制御される。なお、デバイスアダプタ４１に接続される周辺機器のデバイスドライバ１４２がサーバ装置１０３に存在しない場合には、ウェブサーバ処理部１４１は、ネットワーク６上の所定のダウンロードサーバからデバイスドライバプログラムを自動的にダウンロードしてデバイスドライバ１４２を実現するようにする。
【０１０８】
プリンタ２から応答、通知などが出力されると、サーバ装置１０３のウェブサーバ処理部１４１は、デバイスアダプタ４１からＨＴＴＰでカプセル化されたＵＳＢ規格の信号を受信する。ウェブサーバ処理部１４１は、デカプセル化した後、プリンタ２からの応答、通知などを抽出し、バッファリングする。
【０１０９】
プリンタ２からの応答などがサーバ装置１０３においてバッファリングされているか否かは、上述のドライバプログラムに従って携帯端末１０１によりマスタアダプタ１２１を介して監視されている。そして、プリンタ２からの応答などがバッファリングされていることを検出すると、携帯端末１０１は、マスタアダプタ１２１を介して、その応答などを取得する。
【０１１０】
以上のように、上記実施の形態２によれば、サーバ装置１０３は、プリンタ２のデバイスドライバ１４２を有する。そして、遠隔制御手段としてのウェブサーバ処理部１４１は、携帯端末１０１に接続されているマスタアダプタ１２１からネットワークインタフェース７１を介して、携帯端末１０１が送信したプリンタ２へのコマンドを受信し、そのコマンドに基づいて、ネットワークインタフェース７１を介して、デバイスドライバ１４２によりデバイスアダプタ４１を介してプリンタ２を制御する。これにより、プリンタ２などの周辺機器のデバイスドライバを実装されない携帯端末１０１といった端末装置の場合でも、その端末装置からその周辺機器を制御することができる。
【０１１１】
実施の形態３．
本発明の実施の形態３に係る周辺機器接続システムは、実施の形態１のシステムの一部を変更したものである。実施の形態３では、ＰＣ１とプリンタ２との接続確立後のＵＳＢ規格の信号の送受が、サーバ装置５を介さずに、アダプタ装置３，４間でコンピュータネットワーク６を介して直接に行われる。
【０１１２】
実施の形態３では、サーバ装置５が、接続確立時に、アダプタ装置３，４のそれぞれに通信相手となるアダプタ装置３，４のＩＰアドレスなどのネットワーク６上での識別子を通知し、その後、アダプタ装置３，４は、ネットワーク６を介するＵＳＢ規格の信号の伝送を、サーバ装置５を介さずに、アダプタ装置３，４間でコンピュータネットワーク６を介して直接に行う。この場合、ＨＴＴＰ通信処理部５３，６３にＨＴＴＰサーバ機能を設けて、ＨＴＴＰでＵＳＢ規格の信号を送受すればよい。あるいは、ＨＴＴＰ通信処理部５３，６３の代わりに、ＨＴＴＰによるカプセル化は行わず、ＴＣＰ（Transmission Control Protocol ）などでＵＳＢ規格の信号を送受する通信処理部を設けるようにしてもよい。また、このとき、サーバ装置５は、権限のあるユーザによるデバイスの操作であることを認証するための認証情報をアダプタ装置３，４に通知し、アダプタ装置３，４間での通信時にはその認証情報の付加された通信のみを許可するようにしたり、当該認証情報を共通鍵とした暗号化通信を行うようにしたりしてもよい。もちろん、認証情報は、複数に分割してアダプタ装置３，４に通知されるようにしてもよい。複数に分割した認証情報を通知する場合、分割された認証情報の１つを暗号鍵として使用し、別の１つを、通信相手のアダプタ装置から受信する暗号化された情報を解読するための復号鍵として使用してもよい。また、アダプタ装置３への認証情報と、アダプタ装置４への認証情報は、同一である必要はない。
【０１１３】
なお、実施の形態３のシステムにおける各装置のその他の構成および動作については、実施の形態１のものと同様であるので、その説明を省略する。
【０１１４】
以上のように、上記実施の形態３によれば、ＰＣ１とプリンタ２との間のＵＳＢ規格の信号の伝送がサーバ装置５を経由しないため、サーバ装置５の負荷が軽減される。
【０１１５】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【０１１６】
例えば、上記各実施の形態においては周辺機器としてプリンタ２がアダプタ装置４に接続されるが、周辺機器は、プリンタ２に限らず、ＵＳＢインタフェースを有するミュージックプレーヤ、ストレージ、スキャナ、デジタルカメラなどの機器でもよい。
【０１１７】
また、上記各実施の形態においては、周辺機器と端末装置との間の周辺機器インタフェースとして、ＵＳＢが使用されているが、周辺機器インタフェースは、ＵＳＢに限定されず、ＩＥＥＥ１３９４など他の周辺機器インタフェースとしてもよい。また、周辺機器インタフェースは、ブルートゥース（商標）、赤外線通信ポートなどの無線インタフェースとしてもよい。また、周辺機器インタフェースとして、有線ＬＡＮまたは無線ＬＡＮを使用してもよい。その場合には、ＰＣ１およびプリンタ２は、コンピュータネットワーク６にそれぞれ接続される同一規格のＬＡＮインタフェースを備え、エミュレータ５１は、ネットワークインタフェース５２を介して、ネットワークプリンタなどのネットワーク接続型の周辺機器との通信を行い、エミュレータ６１は、ネットワークインタフェース６２を介して、ＰＣ１との通信を行う。
【０１１８】
また、上記各実施の形態においては、１台のアダプタ装置３，４には、１つのホストアダプタ３１またはデバイスアダプタ４１のみが設けられているが、各アダプタ装置３，４に、ホストアダプタ３１とデバイスアダプタ４１の両方を設けるようにしてもよい。その場合、ネットワークインタフェース５２，６２は、１つのネットワークインタフェースとしてもよい。また、各アダプタ装置３，４に、複数のホストアダプタ３１および／または複数のデバイスアダプタ４１を設けるようにしてもよい。
【０１１９】
また、上記実施の形態２において、携帯端末１０１は、インターネット接続機能を使用してサーバ装置１０３に接続し、マスタアダプタ１２１を経由せずに、プリンタ２を制御するためのコマンドなどを送受するようにしてもよい。その場合、例えばマスタアダプタ識別子の代わりにユーザ識別子をサーバ装置１０３に送信するといったことが考えられる。
【０１２０】
また、上記各実施の形態においては、周辺機器ごとにアクセスの可否が設定されているが、その代わりに、デバイスアダプタ４１ごとにアクセスの可否が設定されるようにしてもよい。その場合、そのデバイスアダプタ４１に接続されているすべての周辺機器へのアクセスが一括して設定される。このとき、固定的な周辺機器識別子の代わりに、周辺機器がデバイスアダプタ４１に接続される都度デバイスアダプタ４１により動的に割り当てられる周辺機器に固有の識別子を利用するようにしてもよい。
【０１２１】
あるいは、デバイスアダプタ４１ごとにアクセスの可否を設定する場合、認証テーブル８２において周辺機器識別子の代わりにデバイスアダプタ４１のアダプタ識別子に対してアクセス可否が設定され、その設定に基づいてデバイスアダプタ４１とマスタアダプタ３１との接続が許可されるようにしてもよい。さらに、この場合において、マスタアダプタ３１は、通信先を指定する際に、周辺機器識別子ではなくデバイスアダプタ識別子を使用するようにしてもよい。この場合には、周辺機器識別子が不要となる。例えばデバイスアダプタ４１に接続可能な周辺機器を１つのみとする場合、デバイスアダプタ４１に接続される複数の周辺機器へのアクセス可否を１つずつ設定する必要がない場合等においては、このようにしてもよい。
【０１２２】
このようにしてデバイスアダプタ４１ごとにアクセスの可否を設定すると、デバイスアダプタ４１の所有者（または管理者）が当該デバイスアダプタ４１を任意の周辺機器とネットワーク６に接続するだけで当該デバイスアダプタ４１の利用権限を有するユーザがその周辺機器を使用可能となるので、例えば、出先で印刷をしたい、音楽を聴きたいといったときに、利用する周辺機器を出先で動的に選択でき、対応する周辺機器を持ち歩く必要がなくなる。
【０１２３】
なお、同一のデバイスアダプタ４１を使用するユーザが複数いる場合には、デバイスアダプタ４１のアダプタ識別子に複数の所有者識別子を関連付けておき、いずれのユーザでも、そのデバイスアダプタ４１へのアクセス可否を設定可能なようにしておけばよい。また、周辺機器識別子とデバイスアダプタ識別子の両方により、周辺機器へのアクセス可否の管理とデバイスアダプタ４１へのアクセス可否の管理の両方を行うようにしてもよい。周辺機器およびデバイスアダプタ４１を利用する際に、マスタアダプタ３１からの宛先指定時に所有者識別子を含めなければならないようにしてもよい。
【０１２４】
また、認証テーブル８２において、デバイスアダプタ４１の識別子に関連付けてデバイスアダプタ４１に対するアライアス（別の識別子）を登録しておき、サーバ装置５は、マスタアダプタ３１に、デバイスアダプタ４１の識別子としてアライアスを通知し、マスタアダプタ３１は、デバイスアダプタ４１を指定する際に、そのアライアスを使用するようにしてもよい。その場合、サーバ装置５は、認証テーブル８２に基づいて、マスタアダプタ３１から受信したアライアスからデバイスアダプタ識別子を割り出し、ポーリングがあった際にそのデバイスアダプタ識別子により、ポーリングを実施しているデバイスアダプタ４１を特定できるようにしておく。そうすることで、周辺機器の所有者（または管理者）は、アクセス許可を与えるユーザに対して、実際に使用される、周辺機器やデバイスの識別子を隠蔽することができる。
【産業上の利用可能性】
【０１２５】
本発明は、例えば、複数ユーザのコミュニティ内での周辺機器の共用に適用可能である。
【図面の簡単な説明】
【０１２６】
【図１】本発明の実施の形態１に係る周辺機器接続システムの構成を示すブロック図である。
【図２】図１におけるアダプタ装置３の構成を示すブロック図である。
【図３】図１におけるアダプタ装置４の構成を示すブロック図である。
【図４】図１におけるサーバ装置の構成を示すブロック図である。
【図５】図４における認証テーブルの一例を示す図である。
【図６】実施の形態１に係る周辺機器接続システムにおけるＰＣとプリンタとの接続およびデータ通信について説明する図である。
【図７】本発明の実施の形態２に係る周辺機器接続システムの構成を示すブロック図である。
【図８】図７におけるアダプタ装置の構成を示すブロック図である。
【図９】図７におけるサーバ装置の構成を示すブロック図である。
【符号の説明】
【０１２７】
１  ＰＣ（端末装置）
２  プリンタ（周辺機器）
３  アダプタ装置（マスタアダプタ装置）
４  アダプタ装置（スレーブアダプタ装置）
５，１０３  サーバ装置
６  コンピュータネットワーク
３１  ホストアダプタ（マスタアダプタ）
４１  デバイスアダプタ（スレーブアダプタ）
５１  デバイスエミュレータ（エミュレータ）
５２，６２  ネットワークインタフェース（データ通信手段）
５３，６３  ＨＴＴＰ通信処理部（通信処理手段）
６１  ホストエミュレータ（エミュレータ）
７１  ネットワークインタフェース（データ通信手段）
７３  ウェブサーバ処理部（接続確立手段，接続許可手段）
１０１  携帯端末（端末装置）
１４１  ウェブサーバ処理部（遠隔制御手段）
１４２  デバイスドライバ
【図１】
2009098977.tif 000003
【図２】
2009098977.tif 000004
【図３】
2009098977.tif 000005
【図４】
2009098977.tif 000006
【図５】
2009098977.tif 000007
【図６】
2009098977.tif 000008
【図７】
2009098977.tif 000009
【図８】
2009098977.tif 000010
【図９】
2009098977.tif 000011