説明

周辺機器接続システム

【課題】 複数ユーザにより周辺機器を共用可能とする場合に、各周辺機器への各ユーザのアクセス可否を効率よく管理できるようにする。
【解決手段】 データ通信手段71は、スレーブアダプタ41およびマスタアダプタ31との間でデータ通信を行う。接続許可手段73は、周辺機器へのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、マスタアダプタ31を使用するユーザに対してアクセスが許可されている1または複数の周辺機器を特定し、特定した1または複数の周辺機器が接続されている1または複数のスレーブアダプタ41とそのマスタアダプタ31との接続を許可する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、周辺機器接続システムに関するものである。
【背景技術】
【0002】
物理的に遠隔にある周辺機器を、コンピュータに論理的に接続して使用する技術が提案されている(例えば特許文献1参照)。
【0003】
特許文献1に記載の技術では、SCSI周辺機器が、通信網を介して、遠隔のホスト計算機に使用される。このシステムでは、ホスト計算機と通信網との間に発信側装置が設置され、SCSI周辺機器と通信網との間に着信側装置が設置される。そして、発信側装置と着信側装置との間で通信路を介して直接的にデータ通信が行われる。
【0004】
【特許文献1】特開平8−129514号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記の技術では、発信側装置は、発信側装置内蔵の周辺機器データベースから選択された周辺機器に対応する着信側装置との間で接続を確立する。
【0006】
しかしながら、複数のユーザが上記のシステムを使用し、かつあるユーザのホスト計算機から別のユーザの周辺機器を使用する場合、すべてのユーザの発信側装置における周辺機器データベースに対して、他のユーザの周辺機器のうち使用可能な周辺機器をそれぞれ特定して登録しなければならない。また、使用可能な周辺機器が使用不可となったり、使用不可な周辺機器が使用可能となったりした場合には、状況に応じて動的に各ユーザの周辺機器データベースを変更しなければならない。また、発信側装置に周辺機器の識別子が記録されている必要がある。
【0007】
このため、上記の技術では、複数ユーザにより周辺機器を共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することは困難である。
【0008】
本発明は、複数ユーザにより周辺機器を共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる周辺機器接続システム、並びに、その周辺機器接続システムで使用可能なサーバ装置、マスタアダプタ装置およびスレーブアダプタ装置を得ることを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明では以下のようにした。
【0010】
本発明に係る周辺機器接続システムは、サーバ装置と、有線または無線の周辺機器インタフェースで周辺機器を接続されるとともにサーバ装置との間でコンピュータネットワークを介してデータ通信が可能な1または複数のスレーブアダプタと、その周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるとともにサーバ装置との間でコンピュータネットワークを介してデータ通信が可能なマスタアダプタとを備える。そして、サーバ装置は、周辺機器へのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、マスタアダプタを使用するユーザに対してアクセスが許可されている1または複数の周辺機器を特定し、特定した1または複数の周辺機器が接続されている1または複数のスレーブアダプタとそのマスタアダプタとの接続を許可する。
【0011】
これにより、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、スレーブアダプタに接続された周辺機器を複数ユーザにより共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる。また、周辺機器のユーザが認証データを変更するだけで、他のユーザによる周辺機器へのアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。
【0012】
本発明に係るサーバ装置は、有線または無線の周辺機器インタフェースで周辺機器を接続される1または複数のスレーブアダプタ、およびその周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるマスタアダプタとの間でデータ通信を行うデータ通信手段と、周辺機器へのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、マスタアダプタを使用するユーザに対してアクセスが許可されている1または複数の周辺機器を特定し、特定した1または複数の周辺機器が接続されている1または複数のスレーブアダプタとそのマスタアダプタとの接続を許可する接続許可手段とを備える。
【0013】
これにより、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、スレーブアダプタに接続された周辺機器を複数ユーザにより共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる。また、周辺機器のユーザが認証データを変更するだけで、他のユーザによる周辺機器へのアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。
【0014】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、サーバ装置は、データ通信手段を介して、周辺機器インタフェースで接続された際に周辺機器が提供するデバイス情報を、スレーブアダプタから取得して、そのスレーブアダプタとの接続が許可されているマスタアダプタへ供給し、端末装置と周辺機器との周辺機器インタフェースでの接続を確立する接続確立手段を備える。
【0015】
これにより、端末装置に周辺機器が直接接続される場合と同様に所定のインタフェース規格で、遠隔の周辺機器を端末装置へ論理的に接続することができる。
【0016】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、接続確立手段は、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を、接続が許可されているスレーブアダプタおよびマスタアダプタのうちの一方からデータ通信手段を介して受信し、スレーブアダプタおよびマスタアダプタのうちの他方へデータ通信手段を介して送信する。
【0017】
これにより、スレーブアダプタおよびマスタアダプタが直接的に通信せずに済むため、スレーブアダプタとマスタアダプタとの間の通信路を確立する必要がない。したがって、周辺機器インタフェースでの接続後も、スレーブアダプタとマスタアダプタは、通信相手へコンピュータネットワーク上の識別子を知られずに済むとともに、通信相手のコンピュータネットワーク上の識別子を管理する必要がない。
【0018】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、周辺機器のデバイスドライバと、マスタアダプタからデータ通信手段を介して、端末装置が送信した周辺機器へのコマンドを受信し、そのコマンドに基づいて、デバイスドライバによりデータ通信手段およびスレーブアダプタを介して周辺機器を制御する遠隔制御手段とを備える。
【0019】
これにより、周辺機器のデバイスドライバを実装されない端末装置の場合でも、サーバ装置のデバイスドライバを利用して、端末装置から周辺機器を制御することができる。
【0020】
本発明に係る周辺機器接続システムは、サーバ装置と、有線または無線の周辺機器インタフェースで周辺機器を接続されるとともにサーバ装置との間でコンピュータネットワークを介してデータ通信が可能な1または複数のスレーブアダプタと、その周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるとともにサーバ装置との間でコンピュータネットワークを介してデータ通信が可能なマスタアダプタとを備える。そして、サーバ装置は、スレーブアダプタへのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、マスタアダプタを使用するユーザに対してアクセスが許可されている1または複数のスレーブアダプタを特定し、特定した1または複数のスレーブアダプタとそのマスタアダプタとの接続を許可する。
【0021】
これにより、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、スレーブアダプタに接続された周辺機器を複数ユーザにより共用可能とする場合、各スレーブアダプタへの各ユーザのアクセス可否を効率よく管理することができる。また、スレーブアダプタなどのユーザが認証データを変更するだけで、スレーブアダプタに接続されている周辺機器への、他のユーザによるアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。
【0022】
本発明に係るサーバ装置は、有線または無線の周辺機器インタフェースで周辺機器を接続される1または複数のスレーブアダプタ、およびその周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるマスタアダプタとの間でデータ通信を行うデータ通信手段と、スレーブアダプタへのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、マスタアダプタを使用するユーザに対してアクセスが許可されている1または複数のスレーブアダプタを特定し、特定した1または複数のスレーブアダプタとそのマスタアダプタとの接続を許可する接続許可手段とを備える。
【0023】
これにより、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、スレーブアダプタに接続された周辺機器を複数ユーザにより共用可能とする場合、各スレーブアダプタへの各ユーザのアクセス可否を効率よく管理することができる。また、スレーブアダプタなどのユーザが認証データを変更するだけで、スレーブアダプタに接続されている周辺機器への、他のユーザによるアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。
【0024】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、サーバ装置は、データ通信手段を介して、周辺機器インタフェースで接続された際に周辺機器が提供するデバイス情報を、スレーブアダプタから取得して、そのスレーブアダプタとの接続が許可されているマスタアダプタへ供給し、端末装置と周辺機器との周辺機器インタフェースでの接続を確立する接続確立手段を備える。
【0025】
これにより、端末装置に周辺機器が直接接続される場合と同様に所定のインタフェース規格で、遠隔の周辺機器を端末装置へ論理的に接続することができる。
【0026】
また、本発明に係るサーバ装置は、上記のサーバ装置に加え、次のようにしてもよい。この場合、接続確立手段は、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を、接続が許可されているスレーブアダプタおよびマスタアダプタのうちの一方からデータ通信手段を介して受信し、スレーブアダプタおよびマスタアダプタのうちの他方へデータ通信手段を介して送信する。
【0027】
これにより、スレーブアダプタおよびマスタアダプタが直接的に通信せずに済むため、スレーブアダプタとマスタアダプタとの間の通信路を確立する必要がない。したがって、周辺機器インタフェースでの接続後も、スレーブアダプタとマスタアダプタは、通信相手へコンピュータネットワーク上の識別子を知られずに済むとともに、通信相手のコンピュータネットワーク上の識別子を管理する必要がない。
【0028】
また、本発明に係るサーバ装置は、上記のサーバ装置のいずれかに加え、次のようにしてもよい。この場合、周辺機器のデバイスドライバと、マスタアダプタからデータ通信手段を介して、端末装置が送信した周辺機器へのコマンドを受信し、そのコマンドに基づいて、デバイスドライバによりデータ通信手段およびスレーブアダプタを介して周辺機器を制御する遠隔制御手段とを備える。
【0029】
これにより、周辺機器のデバイスドライバを実装されない端末装置の場合でも、サーバ装置のデバイスドライバを利用して、端末装置から周辺機器を制御することができる。
【0030】
本発明に係るスレーブアダプタ装置は、マスタアダプタ装置とスレーブアダプタ装置との接続関係を管理するサーバ装置との間でデータ通信を行うデータ通信手段と、周辺機器インタフェースで周辺機器との間でデータ通信を行い、周辺機器が接続された際に提供する周辺機器のデバイス情報を取得しデータ通信手段を介してサーバ装置へ送信するエミュレータと、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号の送信および/または受信をデータ通信手段を介して行う通信処理手段とを備える。
【0031】
これにより、周辺機器と端末装置との接続に必要なデバイス情報がサーバ装置へ供給され、さらにマスタアダプタ装置を介して端末装置へ提供されるようにすることができる。したがって、サーバ装置がスレーブアダプタ装置とマスタアダプタ装置との対応付けを一元的に管理するため、スレーブアダプタ装置において、マスタアダプタ装置の識別情報を管理する必要がなく、システム内のユーザおよびマスタアダプタ装置が増減しても問題なく周辺機器と端末装置とを接続させることができる。
【0032】
また、本発明に係るスレーブアダプタ装置は、上記のスレーブアダプタ装置に加え、次のようにしてもよい。この場合、通信処理手段は、マスタアダプタ装置との間でピアツーピア通信を行い、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を送受する。
【0033】
これにより、スレーブアダプタ装置とマスタアダプタ装置との通信がサーバ装置を介さずに行われるため、サーバ装置の負荷を低減させることができる。
【0034】
また、本発明に係るスレーブアダプタ装置は、上記のスレーブアダプタ装置のいずれかに加え、次のようにしてもよい。この場合、通信処理手段は、サーバ装置から認証情報を受信し、マスタアダプタ装置との間の暗号化通信、および/または、マスタアダプタ装置の認証に使用する。
【0035】
これにより、ピアツーピア通信によるスレーブアダプタ装置とマスタアダプタ装置との間の通信路を安全に確立することができる。
【0036】
また、本発明に係るスレーブアダプタ装置は、上記のスレーブアダプタ装置のいずれかに加え、次のようにしてもよい。この場合、スレーブアダプタ装置は、周辺機器が接続された際に、その周辺機器に固有な識別子を動的に割り当て、データ通信手段を介してサーバ装置へ通知する。
【0037】
これにより、サーバ装置がこの識別子をマスタアダプタ装置に提示することで、マスタアダプタ装置はその識別子の周辺機器を接続相手として選択可能となる。また、スレーブアダプタ装置に接続される周辺機器の識別子を予めサーバ装置に登録する作業が不要となる。
【0038】
本発明に係るマスタアダプタ装置は、マスタアダプタ装置とスレーブアダプタ装置との接続関係を管理するサーバ装置との間でデータ通信を行うデータ通信手段と、周辺機器インタフェースで端末装置との間でデータ通信を行い、周辺機器が接続された際に提供する周辺機器のデバイス情報をサーバ装置からデータ通信手段を介して取得し端末装置へ提供するエミュレータと、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号の送信および/または受信をデータ通信手段を介して行う通信処理手段とを備える。
【0039】
これにより、周辺機器と端末装置との接続に必要なデバイス情報がスレーブアダプタ装置を介してサーバ装置へ供給されることで、そのデバイス情報はサーバ装置からマスタアダプタ装置を介して端末装置へ提供される。したがって、サーバ装置がスレーブアダプタとマスタアダプタとの対応付けを一元的に管理するため、マスタアダプタ装置において、スレーブアダプタ装置の識別情報を管理する必要がなく、システム内のユーザおよびスレーブアダプタ装置が増減しても問題なく周辺機器と端末装置とを接続させることができる。
【0040】
また、本発明に係るホストアダプタ装置は、上記のホストアダプタ装置に加え、次のようにしてもよい。この場合、通信処理手段は、スレーブアダプタ装置との間でピアツーピア通信を行い、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を送受する。
【0041】
これにより、スレーブアダプタ装置とマスタアダプタ装置との通信がサーバ装置を介さずに行われるため、サーバ装置の負荷を低減させることができる。
【0042】
また、本発明に係るホストアダプタ装置は、上記のホストアダプタ装置のいずれかに加え、次のようにしてもよい。この場合、通信処理手段は、サーバ装置から認証情報を受信し、スレーブアダプタ装置との間の暗号化通信、および/または、スレーブアダプタ装置の認証に使用する。
【0043】
これにより、ピアツーピア通信によるスレーブアダプタ装置とマスタアダプタ装置との間の通信路を安全に確立することができる。
【0044】
また、本発明に係るホストアダプタ装置は、上記のホストアダプタ装置のいずれかに加え、次のようにしてもよい。この場合、ホストアダプタ装置は、端末装置が接続されると、その端末装置で実行されているオペレーティングシステムの種別を検出し、その種別のオペレーティングシステム用の周辺機器のデバイスドライバがその端末装置にあるか否かを判定し、そのデバイスドライバがない場合には、そのデバイスドライバをダウンロードしてその端末装置にインストールする。
【0045】
これにより、周辺機器のデバイスドライバが端末装置になくても、端末装置を自動的に利用開始可能な状態にすることができる。
【発明の効果】
【0046】
本発明によれば、複数ユーザにより周辺機器を共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる。
【発明を実施するための最良の形態】
【0047】
以下、図に基づいて本発明の実施の形態を説明する。
【0048】
実施の形態1.
図1は、本発明の実施の形態1に係る周辺機器接続システムの構成を示すブロック図である。図1において、PC1は、USB(Universal Serial Bus)インタフェース11を有するパーソナルコンピュータであり、プリンタ2は、USBインタフェース21を有する周辺機器である。USBインタフェース11,21は、USB規格に従ってデータ通信を行うインタフェース回路である。PC1およびプリンタ2は、このシステムにより、論理的に互いに接続される端末装置および周辺機器である。PC1は、ホスト側のUSBインタフェース11を有し、プリンタ2は、デバイス側のUSBインタフェース21を有する。すなわち、PC1およびプリンタ2は、同一のインタフェース規格のインタフェース11,21を有し、USBケーブルで直接的に接続可能なものである。USBケーブルで直接的に両者を接続した場合、PC1はプリンタ2を使用可能となる。また、PC1は、コンピュータネットワーク6を介してデータ通信を行うネットワークインタフェース(図示せず)を有する。
【0049】
また、アダプタ装置3は、プリンタ2を使用するPC1をUSB規格で直接的に接続されるとともに、コンピュータネットワーク6を介してサーバ装置5との間でデータ通信が可能なホストアダプタ31を備える装置である。アダプタ装置3は、例えば携帯可能な1つの筐体の中にホストアダプタ31を有する。アダプタ装置3は、ホストアダプタ31に電気的に接続されたB系列のUSBコネクタを有する。
【0050】
また、アダプタ装置4は、プリンタ2をUSB規格で直接的に接続されるとともに、コンピュータネットワーク6を介してサーバ装置5との間でデータ通信が可能なデバイスアダプタ41を備える装置である。アダプタ装置4は、例えば携帯可能な1つの筐体の中にデバイスアダプタ41を有する。アダプタ装置4は、デバイスアダプタ41に電気的に接続されたA系列のUSBコネクタを有する。なお、デバイスアダプタ41には、USBハブが内蔵され、複数のUSB周辺機器が接続可能とされる。
【0051】
また、サーバ装置5は、ホストアダプタ31とデバイスアダプタ41との接続関係を管理するサーバ装置である。さらに、サーバ装置5は、USB規格で接続された際にプリンタ2が提供するデバイス情報を、コンピュータネットワーク6を介してデバイスアダプタ41から取得して、接続許可されているホストアダプタ31へ供給するサーバ装置である。プリンタ2のデバイス情報は、ホストアダプタ31にPC1が接続された際に、PC1に提供される。
【0052】
また、コンピュータネットワーク6は、IP(Internet Protocol )で通信可能な通信網である。コンピュータネットワーク6には、LAN(Local Area Network)、インターネットなどのWAN(Wide Area Network )、DSL(Digital Subscriber Line )などが適宜含まれる。
【0053】
また、PC7は、パーソナルコンピュータであり、コンピュータネットワーク6を介してデータ通信を行うネットワークインタフェース(図示せず)を有する。PC1は、アダプタ装置3の所有者(または管理者)に管理されるパーソナルコンピュータであり、PC7は、アダプタ装置4の所有者(または管理者)に管理されるパーソナルコンピュータである。
【0054】
ここで、アダプタ装置3,4およびサーバ装置5の詳細な構成を説明する。
【0055】
図2は、図1におけるアダプタ装置3の構成を示すブロック図である。図2に示すように、アダプタ装置3のホストアダプタ31は、デバイスエミュレータ51、ネットワークインタフェース52およびHTTP通信処理部53を有する処理装置である。
【0056】
デバイスエミュレータ51は、プリンタ2のUSBデバイスインタフェースをエミュレートするエミュレータ機能およびHTTP(Hypertext Transfer Protocol )クライアント機能を有し、USB規格でPC1との間でデータ通信を行い、プリンタ2が接続された際に提供するプリンタ2のデバイス情報をサーバ装置5からネットワークインタフェース52を介して取得しPC1へ提供するエミュレータである。USB規格の場合には、例えば、デバイスエミュレータ51の物理層は、USBのデバイスインタフェースの物理層とされ、デバイスエミュレータ51の上位層は、デジタルシグナルプロセッサ(DSP)で構成される。デバイス情報として、デスクリプタなどが授受される。
【0057】
ネットワークインタフェース52は、コンピュータネットワーク6を介してデータ通信を行う回路である。ネットワークインタフェース52としては、イーサネット(登録商標)用のネットワークインタフェースカードなどが使用される。
【0058】
HTTP通信処理部53は、PC1とプリンタ2との間の接続確立後に、PC1からのUSB規格の出力信号をHTTPでカプセル化し、HTTPでUSB規格の信号をサーバ装置5へ伝送する通信処理部である。また、HTTP通信処理部53は、PC1とプリンタ2との間の接続確立後に、プリンタ2からのUSB規格の出力信号を、HTTPでカプセル化された状態で受信し、デカプセル化によりそのUSB規格の信号を復元する通信処理部である。
【0059】
図3は、図1におけるアダプタ装置4の構成を示すブロック図である。図3に示すように、アダプタ装置4のデバイスアダプタ41は、ホストエミュレータ61、ネットワークインタフェース62およびHTTP通信処理部63を有する処理装置である。
【0060】
ホストエミュレータ61は、PC1のUSBホストインタフェースをエミュレートするエミュレート機能およびHTTPクライアント機能を有し、USB規格でプリンタ2との間でデータ通信を行い、プリンタ2が接続された際に提供するデバイス情報を取得しネットワークインタフェース62を介してサーバ装置5へ送信するエミュレータである。USB規格の場合には、例えば、ホストエミュレータ61の物理層は、USBのホストインタフェースの物理層とされ、ホストエミュレータ61の上位層は、デジタルシグナルプロセッサ(DSP)で構成される。
【0061】
ネットワークインタフェース62は、コンピュータネットワーク6を介してデータ通信を行う回路である。ネットワークインタフェース62としては、イーサネット(登録商標)用のネットワークインタフェースカードなどが使用される。
【0062】
HTTP通信処理部63は、PC1とプリンタ2との間の接続確立後に、プリンタ2からのUSB規格の出力信号をHTTPでカプセル化し、HTTPでUSB規格の信号をサーバ装置5へ伝送する通信処理部である。また、HTTP通信処理部63は、PC1とプリンタ2との間の接続確立後に、PC1からのUSB規格の出力信号を、HTTPでカプセル化された状態で受信し、デカプセル化によりそのUSB規格の信号を復元する通信処理部である。
【0063】
図4は、図1におけるサーバ装置5の構成を示すブロック図である。図4において、ネットワークインタフェース71は、コンピュータネットワーク6を介してデータ通信を行う回路である。ネットワークインタフェース71としては、イーサネット(登録商標)用のネットワークインタフェースカードなどが使用される。
【0064】
データ格納装置72は、データを書き換え可能に格納する記録媒体を有する装置である。データ格納装置72としては、ハードディスクドライブ、半導体メモリなどが適宜使用される。データ格納装置72には、バッファ81が確保されるとともに、認証テーブル82およびユーザテーブル83が格納される。
【0065】
バッファ81は、デバイスアダプタ41によりプリンタ2から取得されたデバイス情報をファイルとして格納するとともに、ホストアダプタ31およびデバイスアダプタ41から取得されるUSB規格の信号をファイルとして格納する領域である。その際、ホストアダプタ31およびデバイスアダプタ41のうちの送信元および送信先の情報と関連付けてファイルが格納される。
【0066】
認証テーブル82は、デバイスアダプタ41に接続されている周辺機器(例えばプリンタ2)へのアクセスを許可されているユーザを特定するための認証データを有するテーブルである。図5は、図4における認証テーブル82の一例を示す図である。図5に示すように、この実施の形態1では、認証データは、(a)デバイスアダプタ41に固有なデバイスアダプタ識別子、(b)各デバイスアダプタ41に接続されている周辺機器の周辺機器識別子、(c)周辺機器の所有者(または管理者)に固有なユーザ識別子である所有者識別子、(d)デバイスアダプタ41に接続されている周辺機器へのアクセスが許可されているユーザのユーザ識別子を互いに関連付けて有する。この認証データが認証テーブル82に含まれる。アクセスが許可されたユーザのユーザ識別子は、周辺機器の所有者(または管理者)であるユーザによるPC7に対する選択操作に基づいて、ユーザテーブル83に登録されているユーザから選択され認証テーブル82へ登録される。1つの周辺機器に対して、アクセスが許可されるユーザは、複数でもよい。なお、いずれのデバイスアダプタ41に接続されていても利用可能とする場合には、図5ではアスタリスクで示されているようにデバイスアダプタ識別子は指定されない。また、周辺機器の所有者は当然に当該周辺機器へのアクセス許可を有している。
【0067】
ユーザテーブル83は、当該システムによる周辺機器接続サービスを享受するユーザのユーザ識別子、そのユーザの所有(または管理)するホストアダプタ31および/またはデバイスアダプタ41のアダプタ識別子を互いに関連付けて有するテーブルである。
【0068】
次に、サーバ装置5のウェブサーバ処理部73は、HTTPサーバ機能を有し、ネットワークインタフェース71を介して、USB規格で接続された際にプリンタ2が提供するデバイス情報を、デバイスアダプタ41から取得し、そのプリンタ2への接続が許可されている1または複数のユーザのホストアダプタ31へ供給し、物理的に離れているPC1とプリンタ2とを論理的にUSB規格で接続可能とする処理部である。なお、供給先のホストアダプタ31を特定するために、ウェブサーバ処理部73は、まず、認証テーブル82を参照して、プリンタ2へのアクセスが許可されているユーザのユーザ識別子を特定し、次に、ユーザテーブル83を参照して、そのユーザ識別子のユーザのホストアダプタ31のアダプタ識別子を特定する。
【0069】
また、認証設定処理部74は、プリンタ2またはデバイスアダプタ41の所有者(または管理者)であるユーザの操作に基づいて、そのデバイスアダプタ41に接続される周辺機器について認証テーブル82に対する認証データの追加および削除を行う処理部である。このユーザ操作は、PC7に対して行われ、その操作の情報は、PC7のネットワークインタフェースおよびコンピュータネットワーク6を介してサーバ装置5に伝送される。
【0070】
なお、ウェブサーバ処理部73および認証設定処理部74は、データ格納装置72または図示せぬ記録媒体に格納されたコンピュータプログラムを図示せぬプロセッサにより実行することで実現される。
【0071】
次に、上記システムにおける各装置の動作について説明する。図6は、実施の形態1に係る周辺機器接続システムにおけるPC1とプリンタ2との接続およびデータ通信について説明する図である。
【0072】
まず、デバイスアダプタ41に接続された周辺機器のユーザ(例えばプリンタ2のユーザ)は、その周辺機器へのアクセスを許可する他のユーザを設定する。その流れは、以下のようになる。そのユーザは、PC7を操作して、サーバ装置5の認証テーブル82への認証データの登録を行う。そのユーザ操作に基づいて、PC7は、ウェブブラウザといったHTTPクライアント機能により、まず、認証設定要求を、設定を行うユーザ自身のユーザ識別子とともにサーバ装置5へ送信する(ステップS1)。
【0073】
サーバ装置5のウェブサーバ処理部73は、その要求を受信すると、ユーザテーブル83を参照して、ユーザのリストを含む、ある周辺機器についての周辺機器識別子およびアクセスを許可するユーザの識別子を入力するための認証設定画面データを生成し、例えばHTML(Hypertext Markup Language )ファイルなどとしてPC7へ送信する(ステップS2)。PC7は、その認証設定画面データを受信すると、図示せぬディスプレイにその認証設定画面データに基づく認証設定画面を表示する。
【0074】
その後、PC7の入力装置に対して周辺機器識別子およびユーザ識別子を入力するユーザ操作があると、PC7は、その操作情報と設定を行ったユーザ自身のユーザ識別子とを認証設定情報としてサーバ装置5へ送信する(ステップS3)。この際、当該周辺機器を特定のデバイスアダプタ41に接続したときにしか利用できないようにする場合は、特定のデバイスアダプタ41のデバイスアダプタ識別子を送信するようにしてもよい。サーバ装置5のウェブサーバ処理部73は、その認証設定情報を受信すると、その情報を認証設定処理部74に供給する。認証設定処理部74は、その情報に基づき、その周辺機器についての認証データを生成し、認証テーブル82に登録する(ステップS4)。この際、デバイスアダプタ識別子も受信した場合は、ウェブサーバ処理部73は、認証テーブル82に、当該デバイスアダプタ識別子も関連付けて登録する。なお、ここで、周辺機器識別子は、デバイスアダプタ41が認識可能であって、デバイスアダプタ41に接続されている1または複数の周辺機器から1つの周辺機器を特定可能な、サーバ装置5において他の周辺機器識別子と重複しない情報である。
【0075】
なお、ある周辺機器の認証データが既に認証テーブル82に存在する場合には、生成された認証データにより、認証テーブル82内のそのデバイスアダプタ41の認証データが上書きされる構成にしてもよい。また、PC7に対して所定の操作が行われた場合に、その操作により指定された認証データが認証テーブル82から削除されるようにしてもよい。
【0076】
このようにして、サーバ装置5における認証テーブル82が構築される。
【0077】
その後、プリンタ2がアダプタ装置4に接続されると、プリンタ2のUSBインタフェース21は、USBによる接続を確立するためにデバイス情報をアダプタ装置4に出力する(ステップS21)。アダプタ装置4のデバイスアダプタ41におけるホストエミュレータ61は、そのデバイス情報を取得すると、プリンタ2の周辺機器識別子を付して、そのデバイス情報を1つのファイルとし、HTTPで、ネットワークインタフェース62およびコンピュータネットワーク6を介してサーバ装置5へ送信する(ステップS22)。その際、ホストエミュレータ61は、HTTPのPOSTコマンドを使用して、デバイス情報のファイルをサーバ装置5の所定のURL(Uniform Resource Locator)のCGI(Common Gateway Interface)に対してアップロードする。そのとき、サーバ装置5では、デバイス情報のファイルは、バッファ81に格納される(ステップS23)。
【0078】
一方、アダプタ装置3のホストアダプタ31におけるデバイスエミュレータ51は、自己のホストアダプタ識別子を指定して、サーバ装置5へのポーリングにより、このホストアダプタ31宛のデバイス情報の有無を定期的に監視している。このとき、デバイスエミュレータ51は、サーバ装置5の所定のURLのCGIにアクセスし、このホストアダプタ31との接続を許可されている周辺機器の状態(上述のデバイス情報があるか否かなど)をCGIからの応答として取得する。デバイスエミュレータ51は、そのデバイス情報のファイルの存在を検出すると、そのファイルを、コンピュータネットワーク6およびネットワークインタフェース52を介して取得する(ステップS24)。その際、デバイスエミュレータ51は、HTTPのGETコマンドを使用して、サーバ装置5のバッファ81からそのファイルをダウンロードする。なお、デバイスエミュレータ51は、デバイス情報を取得した後も、上述のポーリングを継続する。これにより、その後に、別の周辺機器がデバイスアダプタ41に接続された場合でも、その周辺機器のデバイス情報が取得可能となる。
【0079】
ここで、ウェブサーバ処理部73は、そのポーリングを受けた際に指定されたホストアダプタ識別子、並びに認証テーブル82およびユーザテーブル83に基づき、ポーリングを行ったホストアダプタ31を所有(または管理)するユーザが、プリンタ2へのアクセスを許可されているか否かを判定する。そして、ポーリングを行ったホストアダプタ31を所有(または管理)するユーザが、プリンタ2へのアクセスを許可されている場合には、ウェブサーバ処理部73は、デバイス情報をそのホストアダプタ31へ送信する(ステップS24)。
【0080】
ホストアダプタ31におけるデバイスエミュレータ51は、PC1がアダプタ装置3に接続されている場合にはただちに、取得したデバイス情報をPC1のUSBインタフェース11に提供する(ステップS25)。これにより、PC1において、プリンタ2の接続が検出される(ステップS26)。一方、デバイス情報を取得したときにPC1がアダプタ装置3に接続されていない場合には、デバイスエミュレータ51は、PC1が接続されるまでそのデバイス情報を図示せぬメモリに保持し、PC1が接続されると、そのデバイス情報をPC1に提供する。なお、デバイスアダプタ41に接続される周辺機器のデバイスドライバがPC1に存在しない場合には、PC1は、所定のダウンロードサーバからデバイスドライバプログラムを自動的にダウンロードして当該周辺機器を利用できるようにしてもよい。その方法の一例としては、アダプタ装置3が、PC1との接続時あるいは新たな周辺機器の接続を検出したタイミングで、PC1の実行しているOSと所有するデバイスドライバを確認し、当該OSで動作する当該周辺機器を制御するためのデバイスドライバを有していない場合には、アダプタ装置3が記憶領域に予め保持しているデバイスドライバをPC1に提供して実行させる方法、あるいは、ネットワーク6上の所定のダウンロードサーバからアダプタ装置3がデバイスドライバを自動的にダウンロードしPC1に提供して実行させるといった方法が考えられる。
【0081】
これにより、PC1とプリンタ2との間のUSBによる接続が確立される。
【0082】
その後、PC1は、例えばアプリケーションプログラムの実行中に印刷ジョブが発生した場合には、デバイスドライバにより、プリンタ2に印刷ジョブを実行させるコマンド(すなわち、印刷データ)を、USB規格の信号としてアダプタ装置3へ出力する(ステップS31)。アダプタ装置3のホストアダプタ31では、その信号は、デバイスエミュレータ51により受信され、HTTP通信処理部53によりHTTPでカプセル化された後にネットワークインタフェース52を介して、サーバ装置5へ伝送される(ステップS32)。このとき、HTTP通信処理部53は、HTTPのPOSTコマンドを使用して、上述のように接続が確立された周辺機器の周辺機器識別子およびホストアダプタ31の識別子とともにそのファイルをサーバ装置5の所定のURLのCGIに対してアップロードする。これにより、USB規格の信号がサーバ装置5においてバッファリングされる(ステップS33)。続けて、サーバ装置5のウェブサーバ処理部73は、ユーザテーブル83を参照し、ホストアダプタ31の識別子から、その所有者(または管理者)のユーザ識別子を取得する。また、サーバ装置5のウェブサーバ処理部73は、CGIに対して送信されてきた、HTTPでカプセル化されたUSB規格の信号を、受信時に取得した周辺機器識別子と取得したユーザ識別子とを関連付けて、1つのファイルとしてバッファ81に格納する。
【0083】
一方、接続の確立後、アダプタ装置4のデバイスアダプタ41におけるHTTP通信処理部63は、ポーリングにより、自己に接続されている周辺機器(プリンタ2など)宛のファイルの有無を定期的に監視する。このとき、HTTP通信処理部63は、サーバ装置5の所定のURLのCGIにアクセスし、自己に接続されている周辺機器宛のファイルの有無を確認する。サーバ装置5のウェブサーバ処理部73は、そのCGIにより、ホストアダプタ31から当該周辺機器に対して送信されたコマンドのファイルがバッファリングされており、かつ、そのファイル中で関連付けられているユーザ識別子が、当該周辺機器へのアクセスを許可されているユーザのユーザ識別子か否かを、認証テーブル82に基づいて判定し、判定結果を含めた応答を送信する。そして、HTTP通信処理部63は、CGIからの応答によってそのファイルの存在を検出すると、そのファイルを、コンピュータネットワーク6およびネットワークインタフェース62を介して取得する(ステップS34)。このとき、HTTP通信処理部63は、HTTPのGETコマンドを使用して、サーバ装置5からそのファイルをダウンロードする。HTTP通信処理部63は、そのファイルを基にしてUSB規格の信号を復元し、ホストエミュレータ61に供給する。ホストエミュレータ61は、その信号をプリンタ2へ入力する(ステップS35)。
【0084】
プリンタ2は、その信号をUSBインタフェース21で受信し、その信号に基づき印刷ジョブの処理を実行する(ステップS36)。
【0085】
また、印刷ジョブの実行中に、プリンタ2が、応答、通知などをUSB規格の信号として出力した場合には、その信号は、アダプタ装置4により受信され(ステップS37)、HTTPでカプセル化された後、サーバ装置5へ伝送される(ステップS38)。サーバ装置5では、その信号は、1つのファイルとして、バッファ81に格納される。これにより、USB規格の信号がサーバ装置5においてバッファリングされる(ステップS39)。
【0086】
一方、ホストアダプタ31のHTTP通信処理部53は、ポーリングにより、そのファイルの有無を定期的に監視している。そして、HTTP通信処理部53は、そのファイルの存在を検出すると、そのファイルを、コンピュータネットワーク6およびネットワークインタフェース52を介して取得する(ステップS40)。HTTP通信処理部53は、そのファイルから元のUSB規格の信号を復元し、デバイスエミュレータ51に供給する。デバイスエミュレータ51は、その信号をPC1へ入力する(ステップS41)。ここで、ステップS24と同様に、自己のホストアダプタ識別子を指定したポーリングにより、HTTP通信処理部53はファイルの存在を検知する。サーバ装置5のCGIは、認証テーブル82およびユーザテーブル83に基づいてファイルの存在について通知する。
【0087】
これにより、PC1は、プリンタ2がUSBケーブルで直接接続されている場合と同様に、論理的に接続された状態となる。このため、PC1のユーザは、PC1のユーザの有するデータファイルなどに基づいて遠隔のユーザのプリンタ2で印刷することができる。
【0088】
なお、複数のアダプタ装置4がネットワーク6に接続されていたり、複数の周辺機器(プリンタなど)が複数のアダプタ装置4に接続されていたりしており、アダプタ装置3を使用するユーザに対して複数の周辺機器へのアクセスが許可される場合には、各周辺機器のデバイス情報がPC1へ供給される。PC1が複数の周辺機器のうちの1つを選択し使用する場合には、ホストアダプタ31におけるUSBハブ機能により、選択されたUSB周辺機器が特定され、PC1とそのUSB周辺機器とのUSB規格に従ったデータ通信が行われる。
【0089】
例えば、2台のアダプタ装置4がネットワーク6に接続されており、それぞれのアダプタ装置4に1台ずつプリンタ2が接続されているシステムにおいて、それぞれのプリンタ2へのアクセスが許可されているユーザが所有(または管理)しているホストアダプタ31(つまり、そのホストアダプタ31を有するアダプタ装置3)を介して、PC1がサーバ装置5に接続されている場合、ユーザが使用するPC1と2台のプリンタ2のそれぞれとのUSBでの接続が確立される。そして、その状態で、PC1で動作しているアプリケーションから印刷を行う場合、PC1の図示せぬディスプレイにより、プリンタのリストにおいてその2台のプリンタ2が選択可能に表示され、ユーザの操作によりいずれかのプリンタ2が選択される。その操作により、PC1におけるプリンタ2用のデバイスドライバは、選択されたプリンタ2に対して、印刷データをUSBで出力する。その印刷データは、ホストアダプタ31のUSBハブ機能により特定される宛先のプリンタ2の周辺機器識別子とそのユーザのユーザ識別子を付して、サーバ装置5へHTTPのPOSTコマンドで伝送される。サーバ装置5では、その印刷データがバッファ81に格納される。その後、選択されたプリンタ2が接続されているデバイスアダプタ41は、その印刷データをサーバ装置5からHTTPのGETコマンドで取得し、印刷データをUSBの信号としてそのプリンタ2へ入力する。
【0090】
また、1つの周辺機器(例えばプリンタ2)について複数のユーザがアクセスを許可されている場合には、いずれのユーザのPC1からもホストアダプタ31を介してその周辺機器を使用可能となる。
【0091】
また、デバイスアダプタ41は、周辺機器の接続が解除されると、ポーリングによるその周辺機器宛のファイルの有無の監視を停止する。そして、サーバ装置5は、デバイスアダプタ41によるその周辺機器宛のファイルの有無の問い合わせるポーリングが一定時間受信されなかった場合には、その周辺機器とデバイスアダプタ41との接続が解除されたと判断し、デバイス情報を削除する。そして、ホストアダプタ31は、ポーリングにより定期的にデバイス情報の有無を監視しており、サーバ装置5におけるその周辺機器のデバイス情報がなくなると、その周辺機器の接続が解除されたと判定し、PC1とのUSBでの物理層の接続を解除する。これにより、PC1は、遠隔にある周辺機器の接続が解除されたことを検出することができる。
【0092】
以上のように、上記実施の形態1によれば、データ通信手段としてのネットワークインタフェース71は、スレーブアダプタとしてのデバイスアダプタ41およびマスタアダプタとしてのホストアダプタ31との間でデータ通信を行う。接続許可手段としてのウェブサーバ処理部73は、周辺機器(プリンタ2など)へのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、ホストアダプタ31を使用するユーザに対してアクセスが許可されている1または複数の周辺機器を特定し、デバイス情報を送信することで、特定した周辺機器が接続されているデバイスアダプタ41とそのホストアダプタ31との接続を許可する。
【0093】
これにより、サーバ装置5がデバイスアダプタ41とホストアダプタ31との対応付けを一元的に管理するため、デバイスアダプタ41に接続された周辺機器を複数ユーザにより共用可能とする場合、各周辺機器への各ユーザのアクセス可否を効率よく管理することができる。また、周辺機器のユーザが認証データを変更するだけで、他のユーザによる周辺機器へのアクセスの可否を変更することができる。つまり、周辺機器へのアクセスの可否を簡単な操作で行うことができる。また、PC1とプリンタ2は、いずれも、相手のネットワーク識別子(IPアドレスなど)を知らなくても済むため、PC1およびプリンタ2は、そのような相手のネットワーク識別子を管理せずに済む。また、適切な利用権限を有するユーザは、異なるクライアントからでも同一の周辺機器を利用することができる。
【0094】
また、上記実施の形態1によれば、接続確立手段としてのウェブサーバ処理部73は、ネットワークインタフェース71を介して、USB規格で接続された際にプリンタ2が提供するデバイス情報を、デバイスアダプタ41から取得して、そのデバイスアダプタ41との接続が許可されているホストアダプタ31へ供給し、PC1とプリンタ2とのUSB規格で論理的な接続を確立する。
【0095】
これにより、PC1にプリンタ2が直接接続される場合と同様にUSB規格で、遠隔のプリンタ2をPC1へ論理的に接続することができる。
【0096】
実施の形態2.
本発明の実施の形態2では、プリンタ2などの周辺機器を使用する端末装置として、プリンタ2のデバイスドライバが実装されない装置が使用される。
【0097】
図7は、本発明の実施の形態2に係る周辺機器接続システムの構成を示すブロック図である。図7において、携帯端末101は、プリンタ2のデバイスドライバが実装されていない端末装置である。携帯端末101は、周辺機器用のインタフェース111を有するとともに、コンピュータネットワーク6におけるインターネットに接続可能なネットワーク接続機能を有する。携帯端末101としては、PDA(登録商標)、携帯電話機などが考えられる。
【0098】
アダプタ装置102は、プリンタ2を使用する携帯端末101を接続されるとともに、コンピュータネットワーク6を介してサーバ装置103との間でデータ通信が可能なマスタアダプタ121を備える装置である。このマスタアダプタ121とデバイスアダプタ41との接続は、ホストアダプタ31と同様に、マスタアダプタ121のアダプタ識別子を使用してサーバ装置103において認証データおよび接続データで管理される。
【0099】
図8は、図7におけるアダプタ装置102の構成を示すブロック図である。アダプタ装置102において、インタフェース131は、携帯端末101のインタフェース111との間で接続を確立しデータ通信可能な回路である。通信処理部132は、インタフェース131により受信されたコマンドをHTTPでネットワークインタフェース52を介してサーバ装置103へ伝送するとともに、プリンタ2が出力する応答、通知などを、ネットワークインタフェース52を介してサーバ装置103からHTTPで受信し、インタフェース131を介して携帯端末101に入力する。ネットワークインタフェース52は、図2のものと同様のものである。
【0100】
サーバ装置103は、プリンタ2のデバイスドライバを有し、実施の形態1のサーバ装置5と同様にアダプタ装置4を介してプリンタ2との間でUSB規格の信号の送受を行うことで、そのデバイスドライバを使用してデバイスアダプタ41を介してプリンタ2を制御し、また、マスタアダプタ121を介して携帯端末101との間でコマンド、通知、応答などを送受する装置である。図9は、図7におけるサーバ装置103の構成を示すブロック図である。サーバ装置103において、ウェブサーバ処理部141は、プリンタ2のデバイスドライバ142を使用して、マスタアダプタ121に接続されている携帯端末101からマスタアダプタ121を介してコマンドを受信してそのコマンドに基づいてプリンタ2を制御するとともに、プリンタ2からの通知、応答などをマスタアダプタ121を介して携帯端末101に供給する処理部である。また、ウェブサーバ処理部141は、実施の形態1のウェブサーバ処理部73と同様の、デバイスアダプタ41との通信機能を有する。
【0101】
なお、サーバ装置103におけるその他の構成要素については、実施の形態1のサーバ装置5のものと同様である。
【0102】
次に、上記システムにおける各装置の動作について説明する。
【0103】
まず、プリンタ2がアダプタ装置4に接続されると、実施の形態1と同様に、デバイス情報がサーバ装置103に伝送される。このデバイス情報は、サーバ装置103のバッファ81に格納される。ウェブサーバ処理部141は、そのデバイス情報に基づいて、プリンタ2との間でUSB規格での接続を論理的に確立する。
【0104】
一方、アダプタ装置102のマスタアダプタ121における通信処理部132は、定期的なポーリングにより、サーバ装置103に対してマスタアダプタ121を所有(または管理)するユーザによるアクセスが許可されている周辺機器とサーバ装置103との接続が確立されている否かを問い合わせる。そして、接続可能な周辺機器が存在する場合には、マスタアダプタ121は、問い合わせに対する応答から、その周辺機器の種別を特定する。
【0105】
その後、アダプタ装置102に携帯端末101が接続されると、通信処理部132は、インタフェース131を介して携帯端末101で実行されているオペレーティングシステム(OS)の種類を特定し、接続可能な周辺機器を本システムで制御するための、そのOSで動作するドライバプログラムを所定のダウンロードサーバからネットワークインタフェース6を介して取得し図示せぬメモリに格納する。なお、ダウンロードサーバは、サーバ装置103でもよいし、他のサーバ装置でもよい。このドライバプログラムは、サーバ装置103のデバイスドライバ142を利用して周辺機器を制御するためのコマンドを、マスタアダプタ121を介してサーバ装置103に送信する機能を実現するものである。通信処理部132は、そのドライバプログラムを取得すると、インタフェース131を介して携帯端末101にインストールする。なお、OSと連携して周辺機器から端末装置にドライバを自動的にインストールする技術は、既存の技術を使用すればよい。
【0106】
このようにして、携帯端末101は、そのドライバプログラムを実行することで、サーバ装置103における、プリンタ2のデバイスドライバ142を利用して、プリンタ2を制御することが可能となる。
【0107】
そして、携帯端末101がプリンタ2を制御する場合、そのドライバプログラムによりコマンドが出力される。そのコマンドは、マスタアダプタ102の識別子と周辺機器識別子を添付されて、マスタアダプタ121によりHTTPでサーバ装置103に伝送される。サーバ装置103のウェブサーバ処理部141は、そのコマンドを受信すると、ユーザテーブル83を参照し、マスタアダプタ102の識別子から、その所有者(または管理者)のユーザ識別子を取得する。続けて、サーバ装置103のウェブサーバ処理部141は、取得した周辺機器識別子に基づいて、対応する周辺機器としてプリンタ2を特定する。続けて、サーバ装置103のウェブサーバ処理部141は、プリンタ2用のデバイスドライバ142を使用して、送信されてきたHTTPでカプセル化されたコマンドに対応するUSB規格の信号を作成して、受信時に取得した周辺機器識別子と取得したユーザ識別子とを関連付けてバッファ81に格納する。続けて、サーバ装置103のウェブサーバ処理部141は、デバイスアダプタ41からの要求に応じて、当該ファイルが、プリンタ2へのアクセスが許可されているユーザにより作成されたファイルである場合には、当該ファイルをHTTPでカプセル化してデバイスアダプタ41に送信する。デバイスアダプタ41は、ファイルを取得すると、取得したファイルからUSB規格の信号を抽出しプリンタ2へ供給する。これにより、プリンタ2が制御される。なお、デバイスアダプタ41に接続される周辺機器のデバイスドライバ142がサーバ装置103に存在しない場合には、ウェブサーバ処理部141は、ネットワーク6上の所定のダウンロードサーバからデバイスドライバプログラムを自動的にダウンロードしてデバイスドライバ142を実現するようにする。
【0108】
プリンタ2から応答、通知などが出力されると、サーバ装置103のウェブサーバ処理部141は、デバイスアダプタ41からHTTPでカプセル化されたUSB規格の信号を受信する。ウェブサーバ処理部141は、デカプセル化した後、プリンタ2からの応答、通知などを抽出し、バッファリングする。
【0109】
プリンタ2からの応答などがサーバ装置103においてバッファリングされているか否かは、上述のドライバプログラムに従って携帯端末101によりマスタアダプタ121を介して監視されている。そして、プリンタ2からの応答などがバッファリングされていることを検出すると、携帯端末101は、マスタアダプタ121を介して、その応答などを取得する。
【0110】
以上のように、上記実施の形態2によれば、サーバ装置103は、プリンタ2のデバイスドライバ142を有する。そして、遠隔制御手段としてのウェブサーバ処理部141は、携帯端末101に接続されているマスタアダプタ121からネットワークインタフェース71を介して、携帯端末101が送信したプリンタ2へのコマンドを受信し、そのコマンドに基づいて、ネットワークインタフェース71を介して、デバイスドライバ142によりデバイスアダプタ41を介してプリンタ2を制御する。これにより、プリンタ2などの周辺機器のデバイスドライバを実装されない携帯端末101といった端末装置の場合でも、その端末装置からその周辺機器を制御することができる。
【0111】
実施の形態3.
本発明の実施の形態3に係る周辺機器接続システムは、実施の形態1のシステムの一部を変更したものである。実施の形態3では、PC1とプリンタ2との接続確立後のUSB規格の信号の送受が、サーバ装置5を介さずに、アダプタ装置3,4間でコンピュータネットワーク6を介して直接に行われる。
【0112】
実施の形態3では、サーバ装置5が、接続確立時に、アダプタ装置3,4のそれぞれに通信相手となるアダプタ装置3,4のIPアドレスなどのネットワーク6上での識別子を通知し、その後、アダプタ装置3,4は、ネットワーク6を介するUSB規格の信号の伝送を、サーバ装置5を介さずに、アダプタ装置3,4間でコンピュータネットワーク6を介して直接に行う。この場合、HTTP通信処理部53,63にHTTPサーバ機能を設けて、HTTPでUSB規格の信号を送受すればよい。あるいは、HTTP通信処理部53,63の代わりに、HTTPによるカプセル化は行わず、TCP(Transmission Control Protocol )などでUSB規格の信号を送受する通信処理部を設けるようにしてもよい。また、このとき、サーバ装置5は、権限のあるユーザによるデバイスの操作であることを認証するための認証情報をアダプタ装置3,4に通知し、アダプタ装置3,4間での通信時にはその認証情報の付加された通信のみを許可するようにしたり、当該認証情報を共通鍵とした暗号化通信を行うようにしたりしてもよい。もちろん、認証情報は、複数に分割してアダプタ装置3,4に通知されるようにしてもよい。複数に分割した認証情報を通知する場合、分割された認証情報の1つを暗号鍵として使用し、別の1つを、通信相手のアダプタ装置から受信する暗号化された情報を解読するための復号鍵として使用してもよい。また、アダプタ装置3への認証情報と、アダプタ装置4への認証情報は、同一である必要はない。
【0113】
なお、実施の形態3のシステムにおける各装置のその他の構成および動作については、実施の形態1のものと同様であるので、その説明を省略する。
【0114】
以上のように、上記実施の形態3によれば、PC1とプリンタ2との間のUSB規格の信号の伝送がサーバ装置5を経由しないため、サーバ装置5の負荷が軽減される。
【0115】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【0116】
例えば、上記各実施の形態においては周辺機器としてプリンタ2がアダプタ装置4に接続されるが、周辺機器は、プリンタ2に限らず、USBインタフェースを有するミュージックプレーヤ、ストレージ、スキャナ、デジタルカメラなどの機器でもよい。
【0117】
また、上記各実施の形態においては、周辺機器と端末装置との間の周辺機器インタフェースとして、USBが使用されているが、周辺機器インタフェースは、USBに限定されず、IEEE1394など他の周辺機器インタフェースとしてもよい。また、周辺機器インタフェースは、ブルートゥース(商標)、赤外線通信ポートなどの無線インタフェースとしてもよい。また、周辺機器インタフェースとして、有線LANまたは無線LANを使用してもよい。その場合には、PC1およびプリンタ2は、コンピュータネットワーク6にそれぞれ接続される同一規格のLANインタフェースを備え、エミュレータ51は、ネットワークインタフェース52を介して、ネットワークプリンタなどのネットワーク接続型の周辺機器との通信を行い、エミュレータ61は、ネットワークインタフェース62を介して、PC1との通信を行う。
【0118】
また、上記各実施の形態においては、1台のアダプタ装置3,4には、1つのホストアダプタ31またはデバイスアダプタ41のみが設けられているが、各アダプタ装置3,4に、ホストアダプタ31とデバイスアダプタ41の両方を設けるようにしてもよい。その場合、ネットワークインタフェース52,62は、1つのネットワークインタフェースとしてもよい。また、各アダプタ装置3,4に、複数のホストアダプタ31および/または複数のデバイスアダプタ41を設けるようにしてもよい。
【0119】
また、上記実施の形態2において、携帯端末101は、インターネット接続機能を使用してサーバ装置103に接続し、マスタアダプタ121を経由せずに、プリンタ2を制御するためのコマンドなどを送受するようにしてもよい。その場合、例えばマスタアダプタ識別子の代わりにユーザ識別子をサーバ装置103に送信するといったことが考えられる。
【0120】
また、上記各実施の形態においては、周辺機器ごとにアクセスの可否が設定されているが、その代わりに、デバイスアダプタ41ごとにアクセスの可否が設定されるようにしてもよい。その場合、そのデバイスアダプタ41に接続されているすべての周辺機器へのアクセスが一括して設定される。このとき、固定的な周辺機器識別子の代わりに、周辺機器がデバイスアダプタ41に接続される都度デバイスアダプタ41により動的に割り当てられる周辺機器に固有の識別子を利用するようにしてもよい。
【0121】
あるいは、デバイスアダプタ41ごとにアクセスの可否を設定する場合、認証テーブル82において周辺機器識別子の代わりにデバイスアダプタ41のアダプタ識別子に対してアクセス可否が設定され、その設定に基づいてデバイスアダプタ41とマスタアダプタ31との接続が許可されるようにしてもよい。さらに、この場合において、マスタアダプタ31は、通信先を指定する際に、周辺機器識別子ではなくデバイスアダプタ識別子を使用するようにしてもよい。この場合には、周辺機器識別子が不要となる。例えばデバイスアダプタ41に接続可能な周辺機器を1つのみとする場合、デバイスアダプタ41に接続される複数の周辺機器へのアクセス可否を1つずつ設定する必要がない場合等においては、このようにしてもよい。
【0122】
このようにしてデバイスアダプタ41ごとにアクセスの可否を設定すると、デバイスアダプタ41の所有者(または管理者)が当該デバイスアダプタ41を任意の周辺機器とネットワーク6に接続するだけで当該デバイスアダプタ41の利用権限を有するユーザがその周辺機器を使用可能となるので、例えば、出先で印刷をしたい、音楽を聴きたいといったときに、利用する周辺機器を出先で動的に選択でき、対応する周辺機器を持ち歩く必要がなくなる。
【0123】
なお、同一のデバイスアダプタ41を使用するユーザが複数いる場合には、デバイスアダプタ41のアダプタ識別子に複数の所有者識別子を関連付けておき、いずれのユーザでも、そのデバイスアダプタ41へのアクセス可否を設定可能なようにしておけばよい。また、周辺機器識別子とデバイスアダプタ識別子の両方により、周辺機器へのアクセス可否の管理とデバイスアダプタ41へのアクセス可否の管理の両方を行うようにしてもよい。周辺機器およびデバイスアダプタ41を利用する際に、マスタアダプタ31からの宛先指定時に所有者識別子を含めなければならないようにしてもよい。
【0124】
また、認証テーブル82において、デバイスアダプタ41の識別子に関連付けてデバイスアダプタ41に対するアライアス(別の識別子)を登録しておき、サーバ装置5は、マスタアダプタ31に、デバイスアダプタ41の識別子としてアライアスを通知し、マスタアダプタ31は、デバイスアダプタ41を指定する際に、そのアライアスを使用するようにしてもよい。その場合、サーバ装置5は、認証テーブル82に基づいて、マスタアダプタ31から受信したアライアスからデバイスアダプタ識別子を割り出し、ポーリングがあった際にそのデバイスアダプタ識別子により、ポーリングを実施しているデバイスアダプタ41を特定できるようにしておく。そうすることで、周辺機器の所有者(または管理者)は、アクセス許可を与えるユーザに対して、実際に使用される、周辺機器やデバイスの識別子を隠蔽することができる。
【産業上の利用可能性】
【0125】
本発明は、例えば、複数ユーザのコミュニティ内での周辺機器の共用に適用可能である。
【図面の簡単な説明】
【0126】
【図1】本発明の実施の形態1に係る周辺機器接続システムの構成を示すブロック図である。
【図2】図1におけるアダプタ装置3の構成を示すブロック図である。
【図3】図1におけるアダプタ装置4の構成を示すブロック図である。
【図4】図1におけるサーバ装置の構成を示すブロック図である。
【図5】図4における認証テーブルの一例を示す図である。
【図6】実施の形態1に係る周辺機器接続システムにおけるPCとプリンタとの接続およびデータ通信について説明する図である。
【図7】本発明の実施の形態2に係る周辺機器接続システムの構成を示すブロック図である。
【図8】図7におけるアダプタ装置の構成を示すブロック図である。
【図9】図7におけるサーバ装置の構成を示すブロック図である。
【符号の説明】
【0127】
1 PC(端末装置)
2 プリンタ(周辺機器)
3 アダプタ装置(マスタアダプタ装置)
4 アダプタ装置(スレーブアダプタ装置)
5,103 サーバ装置
6 コンピュータネットワーク
31 ホストアダプタ(マスタアダプタ)
41 デバイスアダプタ(スレーブアダプタ)
51 デバイスエミュレータ(エミュレータ)
52,62 ネットワークインタフェース(データ通信手段)
53,63 HTTP通信処理部(通信処理手段)
61 ホストエミュレータ(エミュレータ)
71 ネットワークインタフェース(データ通信手段)
73 ウェブサーバ処理部(接続確立手段,接続許可手段)
101 携帯端末(端末装置)
141 ウェブサーバ処理部(遠隔制御手段)
142 デバイスドライバ

【特許請求の範囲】
【請求項1】
サーバ装置と、
有線または無線の周辺機器インタフェースで周辺機器を接続されるとともに前記サーバ装置との間でコンピュータネットワークを介してデータ通信が可能な1または複数のスレーブアダプタと、
その周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるとともに前記サーバ装置との間でコンピュータネットワークを介してデータ通信が可能なマスタアダプタとを備え、
前記サーバ装置は、前記周辺機器へのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、前記マスタアダプタを使用するユーザに対してアクセスが許可されている1または複数の前記周辺機器を特定し、特定した1または複数の前記周辺機器が接続されている1または複数の前記スレーブアダプタとそのマスタアダプタとの接続を許可すること、
を特徴とする周辺機器接続システム。
【請求項2】
有線または無線の周辺機器インタフェースで周辺機器を接続されるスレーブアダプタ、およびその周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるマスタアダプタとの間でデータ通信を行うデータ通信手段と、
前記周辺機器へのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、前記マスタアダプタを使用するユーザに対してアクセスが許可されている1または複数の前記周辺機器を特定し、特定した1または複数の前記周辺機器が接続されている1または複数の前記スレーブアダプタとそのマスタアダプタとの接続を許可する接続許可手段と、
を備えることを特徴とするサーバ装置。
【請求項3】
前記データ通信手段を介して、前記周辺機器インタフェースで接続された際に前記周辺機器が提供するデバイス情報を、前記スレーブアダプタから取得して、そのスレーブアダプタとの接続が許可されている前記マスタアダプタへ供給し、前記端末装置と前記周辺機器との前記周辺機器インタフェースでの接続を確立する接続確立手段を備えることを特徴とする請求項2記載のサーバ装置。
【請求項4】
前記接続確立手段は、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を、接続が許可されている前記スレーブアダプタおよび前記マスタアダプタのうちの一方から前記データ通信手段を介して受信し、前記スレーブアダプタおよび前記マスタアダプタのうちの他方へ前記データ通信手段を介して送信することを特徴とする請求項3記載のサーバ装置。
【請求項5】
前記周辺機器のデバイスドライバと、
前記マスタアダプタから前記データ通信手段を介して、前記端末装置が送信した前記周辺機器へのコマンドを受信し、そのコマンドに基づいて、前記デバイスドライバにより前記データ通信手段および前記スレーブアダプタを介して前記周辺機器を制御する遠隔制御手段と、
を備えることを特徴とする請求項2記載のサーバ装置。
【請求項6】
サーバ装置と、
有線または無線の周辺機器インタフェースで周辺機器を接続されるとともに前記サーバ装置との間でコンピュータネットワークを介してデータ通信が可能な1または複数のスレーブアダプタと、
その周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるとともに前記サーバ装置との間でコンピュータネットワークを介してデータ通信が可能なマスタアダプタとを備え、
前記サーバ装置は、前記スレーブアダプタへのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、前記マスタアダプタを使用するユーザに対してアクセスが許可されている1または複数の前記スレーブアダプタを特定し、特定した1または複数の前記スレーブアダプタとそのマスタアダプタとの接続を許可すること、
を特徴とする周辺機器接続システム。
【請求項7】
有線または無線の周辺機器インタフェースで周辺機器を接続される1または複数のスレーブアダプタ、およびその周辺機器を使用可能な端末装置を有線または無線の周辺機器インタフェースで接続されるマスタアダプタとの間でデータ通信を行うデータ通信手段と、
前記スレーブアダプタへのアクセスを許可されている1または複数のユーザを特定するための認証データを参照し、前記マスタアダプタを使用するユーザに対してアクセスが許可されている1または複数の前記スレーブアダプタを特定し、特定した1または複数の前記スレーブアダプタとそのマスタアダプタとの接続を許可する接続許可手段と、
を備えることを特徴とするサーバ装置。
【請求項8】
前記データ通信手段を介して、前記周辺機器インタフェースで接続された際に前記周辺機器が提供するデバイス情報を、前記スレーブアダプタから取得して、そのスレーブアダプタとの接続が許可されている前記マスタアダプタへ供給し、前記端末装置と前記周辺機器との前記周辺機器インタフェースでの接続を確立する接続確立手段を備えることを特徴とする請求項7記載のサーバ装置。
【請求項9】
前記接続確立手段は、所定の通信プロトコルでカプセル化された周辺機器インタフェースの信号を、接続が許可されている前記スレーブアダプタおよび前記マスタアダプタのうちの一方から前記データ通信手段を介して受信し、前記スレーブアダプタおよび前記マスタアダプタのうちの他方へ前記データ通信手段を介して送信することを特徴とする請求項8記載のサーバ装置。
【請求項10】
前記周辺機器のデバイスドライバと、
前記マスタアダプタから前記データ通信手段を介して、前記端末装置が送信した前記周辺機器へのコマンドを受信し、そのコマンドに基づいて、前記デバイスドライバにより前記データ通信手段および前記スレーブアダプタを介して前記周辺機器を制御する遠隔制御手段と、
を備えることを特徴とする請求項7記載のサーバ装置。
【請求項11】
有線または無線の周辺機器インタフェースで互いに接続可能な周辺機器と端末装置のうちの前記周辺機器に接続され、前記端末装置に接続されたマスタアダプタ装置と連携して前記周辺機器と前記端末装置とを論理的に接続するスレーブアダプタ装置において、
前記マスタアダプタ装置と当該スレーブアダプタ装置との接続関係を管理するサーバ装置との間でデータ通信を行うデータ通信手段と、
前記周辺機器インタフェースで前記周辺機器との間でデータ通信を行い、前記周辺機器が接続された際に提供する前記周辺機器のデバイス情報を取得し前記データ通信手段を介して前記サーバ装置へ送信するエミュレータと、
所定の通信プロトコルでカプセル化された前記周辺機器インタフェースの信号の送信および/または受信を前記データ通信手段を介して行う通信処理手段と、
を備えることを特徴とするスレーブアダプタ装置。
【請求項12】
前記通信処理手段は、前記マスタアダプタ装置との間でピアツーピア通信を行い、所定の通信プロトコルでカプセル化された前記周辺機器インタフェースの信号を送受することを特徴とする請求項11記載のスレーブアダプタ装置。
【請求項13】
前記通信処理手段は、前記サーバ装置から認証情報を受信し、前記マスタアダプタ装置との間の暗号化通信、および/または、前記マスタアダプタ装置の認証に使用することを特徴とする請求項12記載のスレーブアダプタ装置。
【請求項14】
前記周辺機器が接続された際に、その周辺機器に固有な識別子を動的に割り当て、前記データ通信手段を介して前記サーバ装置へ通知することを特徴とする請求項11記載のスレーブアダプタ装置。
【請求項15】
有線または無線の周辺機器インタフェースで互いに接続可能な周辺機器と端末装置のうちの前記端末装置に接続され、前記周辺機器に接続されたスレーブアダプタ装置と連携して前記周辺機器と前記端末装置とを論理的に接続するマスタアダプタ装置において、
当該マスタアダプタ装置と前記スレーブアダプタ装置との接続関係を管理するサーバ装置との間でデータ通信を行うデータ通信手段と、
前記周辺機器インタフェースで前記端末装置との間でデータ通信を行い、前記周辺機器が接続された際に提供する前記周辺機器のデバイス情報を前記サーバ装置から前記データ通信手段を介して取得し前記端末装置へ提供するエミュレータと、
所定の通信プロトコルでカプセル化された前記周辺機器インタフェースの信号の送信および/または受信を前記データ通信手段を介して行う通信処理手段と、
を備えることを特徴とするマスタアダプタ装置。
【請求項16】
前記通信処理手段は、前記スレーブアダプタ装置との間でピアツーピア通信を行い、所定の通信プロトコルでカプセル化された前記周辺機器インタフェースの信号を送受することを特徴とする請求項15記載のマスタアダプタ装置。
【請求項17】
前記通信処理手段は、前記サーバ装置から認証情報を受信し、前記スレーブアダプタ装置との間の暗号化通信、および/または、前記スレーブアダプタ装置の認証に使用することを特徴とする請求項16記載のマスタアダプタ装置。
【請求項18】
前記端末装置が接続されると、その端末装置で実行されているオペレーティングシステムの種別を検出し、その種別のオペレーティングシステム用の前記周辺機器のデバイスドライバがその端末装置にあるか否かを判定し、そのデバイスドライバがない場合には、そのデバイスドライバをダウンロードしてその端末装置にインストールすることを特徴とする請求項15記載のマスタアダプタ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−98977(P2009−98977A)
【公開日】平成21年5月7日(2009.5.7)
【国際特許分類】
【出願番号】特願2007−270703(P2007−270703)
【出願日】平成19年10月17日(2007.10.17)
【出願人】(399014484)ヴィジョンアーツ株式会社 (19)
【Fターム(参考)】