(57)【要約】      （修正有）【課題】シンクライアント環境でエミュレーション環境を作成することなく、シンクライアント側のＵＳＢ機器を簡単に使用できるようにすることのできる機器接続システムを提供する。【解決手段】サーバ装置１のユーザ別ＯＳ１３が、仮想ＵＳＢ・クライアントプログラム１５に対してＵＳＢ機器３７の利用を要求する。仮想ＵＳＢ・クライアントプログラム１５は、シンクライアント装置３の仮想ＵＳＢ・サーバプログラム３５に対してＵＳＢ機器３７の利用を要求する。シンクライアント装置３の仮想ＵＳＢ・サーバプログラム３５は、ＵＳＢ機器３７を利用可能とし、サーバ装置１の仮想ＵＳＢ・クライアントプログラム１５からの利用要求を受け付ける。これにより、サーバ装置１のユーザ別ＯＳ１３が、シンクライアント装置３のＵＳＢ機器３７を利用することができる。【選択図】図１
2010176471.tif 000002
【特許請求の範囲】
【請求項１】
サーバベース方式のシンクライアント環境を構成するためのサーバ装置および当該サーバ装置と通信可能なシンクライアント装置を有する接続機器利用システムであって、
前記サーバ装置は、
前記シンクライアント装置に接続された接続機器を利用するために当該サーバ装置をクライアントとして機能させることにより、前記シンクライアント装置に対して前記接続機器の利用要求を行い、前記接続機器を利用可能な接続機器として認識する第１の認識手段と、
前記第１の認識手段において接続機器が認識されたことを受けて、所定のデバイスドライバを取得し、前記接続機器を自己に接続された接続機器として認識する第２の認識手段とを備え、
前記シンクライアント装置は、
前記サーバ装置に利用させるための少なくとも１つの接続機器が接続されており、
当該シンクライアント装置に接続された接続機器を前記サーバ装置に利用させるために当該シンクライアント装置をサーバとして機能させることにより、前記サーバ装置から前記接続機器の利用要求があった場合に、前記接続機器を前記サーバ装置に利用可能とする利用可能化手段を備えたこと
を特徴とする接続機器利用システム。
【請求項２】
請求項１の接続機器利用システムにおいて、
前記サーバ装置は、さらに、
前記第２の認識手段において接続機器が自己に接続された接続機器として認識されたことを受けてレジストリを更新するレジストリ更新手段と、
前記サーバ装置の前記第１の認識手段において接続機器が認識されると、認識された接続機器が接続されているシンクライアント装置の識別ＩＤおよび当該接続機器の機器ＩＤを取得するＩＤ取得手段と、
前記第１のＩＤ取得手段において前記識別ＩＤおよび前記機器ＩＤが取得されると、前記サーバ装置上におけるレジストリを監視する監視手段と、
前記レジストリ更新手段において接続機器が認識されることによって更新されたレジストリの更新前後の状態に基づいて、前記識別ＩＤおよび前記機器ＩＤがいずれの認識ＩＤに対応するものであるかを特定する対応ＩＤ特定手段を備えたこと
を特徴とする接続機器利用システム。
【請求項３】
シンクライアント装置と通信可能に設けられ、サーバベース方式のシンクライアント環境を構成するためのサーバ装置であって、
前記シンクライアント装置に接続された接続機器を利用するために当該サーバ装置をクライアントとして機能させることにより、前記シンクライアント装置に対して前記接続機器の利用要求を行い、前記接続機器を利用可能な接続機器として認識する第１の認識手段と、
前記第１の認識手段において接続機器が認識されたことを受けて、所定のデバイスドライバを取得し、前記接続機器を自己に接続された接続機器として認識する第２の認識手段とを備えたこと、
を特徴とするサーバ装置。
【請求項４】
シンクライアント装置と通信可能に設けられ、サーバベース方式のシンクライアント環境を構成するためのサーバ装置を、コンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段を構成させることを特徴とするプログラム：
前記シンクライアント装置に接続された接続機器を利用するために当該サーバ装置をクライアントとして機能させることにより、前記シンクライアント装置に対して前記接続機器の利用要求を行い、前記接続機器を利用可能な接続機器として認識する第１の認識手段と、
前記第１の認識手段において接続機器が認識されたことを受けて、所定のデバイスドライバを取得し、前記接続機器を自己に接続された接続機器として認識する第２の認識手段。
【請求項５】
サーバ装置と通信可能に設けられ、サーバベース方式のシンクライアント環境を構成するためのシンクライアント装置であって、
当該シンクライアント装置に接続された接続機器を前記サーバ装置に利用させるために当該シンクライアント装置をサーバとして機能させることにより、前記サーバ装置から前記接続機器の利用要求があった場合に、前記接続機器を前記サーバ装置に利用可能とする利用可能化手段を備えたこと
を特徴とするシンクライアント装置。
【請求項６】
サーバ装置と通信可能に設けられ、サーバベース方式のシンクライアント環境を構成するためのシンクライアント装置であって、前記サーバ装置に利用させるための少なくとも１つの接続機器が接続されており、前記接続機器を制御するためのデバイスドライバを記憶する記憶部を備えたシンクライアント装置を、コンピュータを用いて実現するためのプログラムであって、コンピュータに以下の手段を構成させることを特徴とするプログラム：
当該シンクライアント装置に接続された接続機器を前記サーバ装置に利用させるために当該シンクライアント装置をサーバとして機能させることにより、前記サーバ装置から前記接続機器の利用要求があった場合に、前記接続機器を前記サーバ装置に利用可能とする利用可能化手段。
【請求項７】
サーバベース方式のシンクライアント環境を構成するためのサーバ装置および当該サーバ装置と通信可能なシンクライアント装置を有する接続機器利用方法であって、
前記サーバ装置は、
前記シンクライアント装置に接続された接続機器を利用するために当該サーバ装置をクライアントとして機能させることにより、前記シンクライアント装置に対して前記接続機器の利用要求を行い、前記接続機器を利用可能な接続機器として認識する第１の認識ステップと、
前記第１の認識ステップにおいて接続機器が認識されたことを受けて、所定のデバイスドライバを取得し、前記接続機器を自己に接続された接続機器として認識する第２の認識ステップとを実行し、
前記シンクライアント装置は、
前記サーバ装置に利用させるための少なくとも１つの接続機器が接続されており、
当該シンクライアント装置に接続された接続機器を前記サーバ装置に利用させるために当該シンクライアント装置をサーバとして機能させることにより、前記サーバ装置から前記接続機器の利用要求があった場合に、前記接続機器を前記サーバ装置に利用可能とする利用可能化ステップを実行すること
を特徴とする接続機器利用システム。
【請求項８】
請求項７の接続機器利用方法において、
前記サーバ装置は、さらに、
前記第２の認識ステップにおいて接続機器が自己に接続された接続機器として認識されたことを受けてレジストリを更新するレジストリ更新ステップと、
前記サーバ装置の前記第１の認識ステップにおいて接続機器が認識されると、認識された接続機器が接続されているシンクライアント装置の識別ＩＤおよび当該接続機器の機器ＩＤを取得するＩＤ取得ステップと、
前記第１のＩＤ取得ステップにおいて前記識別ＩＤおよび前記機器ＩＤが取得されると、前記サーバ装置上におけるレジストリを監視する監視ステップと、
前記レジストリ更新ステップにおいて接続機器が認識されることによって更新されたレジストリの更新前後の状態に基づいて、前記識別ＩＤおよび前記機器ＩＤがいずれの認識ＩＤに対応するものであるかを特定する対応ＩＤ特定ステップを実行すること
を特徴とする接続機器利用方法。
【請求項９】
サーバ装置および当該サーバ装置と通信可能なシンクライアント装置を用いた接続機器利用システムであって、
前記サーバ装置は、
前記シンクライアント装置に接続された接続機器を利用するために当該サーバ装置をクライアントとして機能させることにより、前記シンクライアント装置に対して前記接続機器の利用要求を行う利用要求手段を備え、
前記シンクライアント装置は、
前記サーバ装置に利用させるための少なくとも１つの接続機器に接続されており、
当該シンクライアント装置に接続された接続機器を前記サーバ装置に利用させるために当該シンクライアント装置をサーバとして機能させることにより、前記サーバ装置から前記接続機器の利用要求があった場合に、前記サーバ装置からの前記利用要求に応答する利用可能化手段を備えたこと
を特徴とする接続機器利用システム。
【請求項１０】
サーバ装置および当該サーバ装置と通信可能なシンクライアント装置を用いた接続機器利用方法であって、
前記サーバ装置は、
前記シンクライアント装置に接続された接続機器を利用するために当該サーバ装置をクライアントとして機能させることにより、前記シンクライアント装置に対して前記接続機器の利用要求を行う利用要求ステップを実行し、
前記シンクライアント装置は、
前記サーバ装置に利用させるための少なくとも１つの接続機器と、
当該シンクライアント装置に接続された接続機器を前記サーバ装置に利用させるために当該シンクライアント装置をサーバとして機能させることにより、前記サーバ装置から前記接続機器の利用要求があった場合に、前記サーバ装置からの前記利用要求に応答する利用要求応答ステップを実行すること
を特徴とする接続機器利用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、シンクライアント環境において、シンクライアント装置側に接続された接続機器を、サーバ装置側で利用させるための接続機器利用システムに関する。
【背景技術】
【０００２】
近年、サーバベース方式のシンクライアント環境が普及してきている。このサーバベース方式では、シンクライアント装置のキーボード／マウスから入力された入力情報に基づいてサーバ装置側でアプリケーションの実行処理を行い、その処理結果の画面情報のみをサーバ装置からシンクライアント装置に転送する仕組みになっている。
【０００３】
これにより、シンクライアント装置にアプリケーションを導入する必要がなくなるという利点がある他、シンクライアント装置側にデータを保存することがないために情報漏洩などのセキュリティリスクが低減するという利点が注目されている。
【０００４】
一方、コンピュータの周辺機器としてＵＳＢ（Universal Serial Bus）機器が普及している。ＵＳＢ機器を用いると、コンピュータとの接続／非接続を非常に簡単に行うことができる。
【０００５】
ここで、シンクライアント環境においてＵＳＢ機器を導入する例について検討する。例えば、シンクライアント側に接続されたＵＳＢ機器をサーバ側で利用する場合、エミュレータ環境を双方に作成することにより、サーバの通信ポートをシンクライアントのＵＳＢ機器に擬似的に割り当ててＵＳＢ機器を利用することができる。この場合、シンクライアントのＵＳＢ機器があたかもサーバに接続されているように動作させることができ、シンクライアント環境においてもＵＳＢ機器の利便性を享受することができるようになる（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２１０１１５号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上記のようなシンクライアント環境においては、サーバ側がシンクライアント側の各ＵＳＢ機器をハンドリングするためのエミュレータ環境の構築が、サーバおよびシンクライアントの双方に必要となる。例えば、エミュレーションを行うミドルウェアを導入し、サーバとシンクライアントの組合せ毎にポート設定やデバイスドライバのインストール等を行う必要がある。この場合、シンクライアントの数が増大するにつれて作業工数も増大するという問題があった。
【０００８】
また、上記のようなエミュレータ環境はシンクライアント環境と親和性が高いため、シンクライアント環境を提供するベンダーに大きく依存する。このため、シンクライアント側に新たなＵＳＢ機器を導入する場合、導入可否の判断がベンダーの対応状況によって左右されるため、時間的・コスト的制約を受けざるを得ないという問題があった。
【０００９】
この発明は、上記のような問題点を解決するため、シンクライアント環境でエミュレーション環境を作成することなく、シンクライアント側のＵＳＢ機器を簡単に使用できるようにすることのできる機器接続システムの提供を目的とする。
【課題を解決するための手段】
【００１０】
(1)  この発明の接続機器利用システムは、
サーバベース方式のシンクライアント環境を構成するためのサーバ装置および当該サーバ装置と通信可能なシンクライアント装置を有する接続機器利用システムであって、
前記サーバ装置は、
前記シンクライアント装置に接続された接続機器を利用するために当該サーバ装置をクライアントとして機能させることにより、前記シンクライアント装置に対して前記接続機器の利用要求を行い、前記接続機器を利用可能な接続機器として認識する第１の認識手段と、
前記第１の認識手段において接続機器が認識されたことを受けて、所定のデバイスドライバを取得し、前記接続機器を自己に接続された接続機器として認識する第２の認識手段とを備え、
前記シンクライアント装置は、
前記サーバ装置に利用させるための少なくとも１つの接続機器が接続されており、
当該シンクライアント装置に接続された接続機器を前記サーバ装置に利用させるために当該シンクライアント装置をサーバとして機能させることにより、前記サーバ装置から前記接続機器の利用要求があった場合に、前記接続機器を前記サーバ装置に利用可能とする利用可能化手段を備えたことを特徴とする。
【００１１】
したがって、シンクライアント装置に接続された接続機器をサーバ装置側で利用する際に、サーバ装置およびシンクライアント装置にエミュレーション環境を構築する必要がない。このため、シンクライアント装置のユーザは、任意の接続機器をシンクライアント環境において簡単に使用することができ利便性が向上する。
【００１２】
(2)  この発明の接続機器利用システムにおいては、
サーバ装置は、さらに、
第２の認識手段において接続機器が自己に接続された接続機器として認識されたことを受けてレジストリを更新するレジストリ更新手段と、
前記サーバ装置の前記第１の認識手段において接続機器が認識されると、認識された接続機器が接続されているシンクライアント装置の識別ＩＤおよび当該接続機器の機器ＩＤを取得するＩＤ取得手段と、
第１のＩＤ取得手段において前記識別ＩＤおよび前記機器ＩＤが取得されると、前記サーバ装置上におけるレジストリを監視する監視手段と、
前記レジストリ更新手段において接続機器が認識されることによって更新されたレジストリの更新前後の状態に基づいて、前記識別ＩＤおよび前記機器ＩＤがいずれの認識ＩＤに対応するものであるかを特定する対応ＩＤ特定手段を備えたことを特徴とする。
【００１３】
したがって、複数のシンクライアント装置のそれぞれにＵＳＢ機器が接続されている場合であっても、サーバ装置は、どのシンクライアント装置のＵＳＢ機器かを判断することができる。
【００１４】
(9)  この発明の接続機器利用システムは、
サーバ装置および当該サーバ装置と通信可能なシンクライアント装置を用いた接続機器利用システムであって、
前記サーバ装置は、
前記シンクライアント装置に接続された接続機器を利用するために当該サーバ装置をクライアントとして機能させることにより、前記シンクライアント装置に対して前記接続機器の利用要求を行う利用要求手段を備え、
前記シンクライアント装置は、
前記サーバ装置に利用させるための少なくとも１つの接続機器に接続されており、
当該シンクライアント装置に接続された接続機器を前記サーバ装置に利用させるために当該シンクライアント装置をサーバとして機能させることにより、前記サーバ装置から前記接続機器の利用要求があった場合に、前記サーバ装置からの前記利用要求に応答する利用可能化手段を備えたことを特徴とする。
【００１５】
したがって、シンクライアント装置に接続された接続機器をサーバ装置側で利用する際に、サーバ装置およびシンクライアント装置にエミュレーション環境を構築する必要がない。このため、シンクライアント装置のユーザは、任意の接続機器をシンクライアント環境において簡単に使用することができ利便性が向上する。
【００１６】
［請求項の用語］
(1)  サーバ装置の第１の認識手段または利用要求手段は、実施形態においては、図６のステップＳ６２３およびＳ６２５の機能がこれに該当する。第２の認識手段は、実施形態においては、図６のステップＳ６３１の機能がこれに該当する。シンクライアント装置の利用可能化手段は、実施形態においては、図６のステップＳ６０１、６０３ＳおよびＳ６０７の機能がこれに該当する。
【００１７】
(2)  サーバ装置のレジストリ更新手段は、実施形態においては、図６のステップＳ６３３の機能がこれに該当する。サーバ装置のＩＤ取得手段は、実施形態においては、図６のステップＳ６２７の機能がこれに該当する。サーバ装置の監視手段は、実施形態においては、図６のステップＳ６２９およびＳ６３５の機能がこれに該当する。サーバ装置の対応ＩＤ特定手段は、実施形態においては、図６のステップＳ６３７の機能がこれに該当する。
【００１８】
(3)  「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【図面の簡単な説明】
【００１９】
【図１】接続機器利用システムの概念図である。
【図１ａ】接続機器利用システムの利用時の概念図である。
【図２】接続機器利用システムの機能ブロック図である。
【図３】サーバ装置のハードウェア構成図である。
【図４】シンクライアント装置のハードウェア構成図である。
【図５】サーバ装置とシンクライアント装置で実行されるプログラムの関係図である。
【図６】接続機器利用システムの処理フローチャートである。
【図７】デバイスインスタンスＩＤおよびデバイスＩＤの特定処理の過程を示す図である。
【発明を実施するための形態】
【００２０】
１．第１の実施形態
(1)  概要
図１に本発明の概念図を示す。サーバ装置１とシンクライアント装置３とから構成されるシンクライアント環境において、シンクライアント装置３のシンクライアント環境・クライアントプログラム３１は、サーバ装置１側でユーザ別ＯＳ１３を実行させる。これを受けて、サーバ装置１のシンクライアント環境サーバプログラム１１は、実行結果の画面情報３３のみをシンクライアント装置３に返す。
【００２１】
サーバ装置１のユーザ別ＯＳ１３がシンクライアント装置３に接続されたＵＳＢ機器３７を利用する場合を考える。この場合、サーバ装置１のユーザ別ＯＳ１３が、仮想ＵＳＢ・クライアントプログラム１５に対してＵＳＢ機器３７の利用を要求する。これを受けてサーバ装置１の仮想ＵＳＢ・クライアントプログラム１５は、シンクライアント装置３の仮想ＵＳＢ・サーバプログラム３５に対してＵＳＢ機器３７の利用を要求する。
【００２２】
このとき、シンクライアント装置３の仮想ＵＳＢ・サーバプログラム３５は、ＵＳＢ機器３７を利用可能とし、サーバ装置１の仮想ＵＳＢ・クライアントプログラム１５からの利用要求を受け付ける。
【００２３】
これにより、サーバ装置１のユーザ別ＯＳ１３が、シンクライアント装置３のＵＳＢ機器３７を利用することができる。つまり、サーバ装置１のシンクライアント環境・サーバプログラム１１において実行されるユーザ別ＯＳ１３から仮想ＵＳＢ・クライアントプログラム１５および仮想ＵＳＢ・サーバプログラム３５を介してＵＳＢ機器３７にアクセスするため、サーバ装置１は、エミュレータ環境を経由することなくＵＳＢ機器３７を利用することができる。
【００２４】
また、図１ａに示すように、１つのサーバ装置１に３つのシンクライアント装置ａ〜ｃが接続されてシンクライアント環境が構築されている場合、マルチユーザに対応するサーバ装置１では、各シンクライアント装置のための処理がマルチスレッドとして実行されている。
【００２５】
サーバ装置１の各シンクライアント装置のための処理においては、ユーザ別ＯＳ１３の他、仮想ＵＳＢ・クライアントプログラムが実行されており、各シンクライアント装置ａ〜ｃにおいては、仮想ＵＳＢ・サーバプログラムが実行されていることから、各シンクライアント装置は、別のシンクライアント装置に接続されたＵＳＢ機器を簡単に利用することができる。
【００２６】
(2)  機能ブロック図
図２に、本発明にかかる接続機器利用システムの機能ブロック図を示す。この図において、サーバ装置１は、第１の認識手段２０１、レジストリ更新手段２０３、ＩＤ取得手段２０５、監視手段２０７、対応ＩＤ特定手段２０９、第２の認識手段２１１、レジストリ記録部２１３およびシンクライアント環境・サーバプログラム２１５を備えている。シンクライアント装置３は、利用可能化手段２２１、接続機器２２５ａ〜２２５ｃおよびシンクライアント環境・クライアントプログラム、ディスプレイ２２９およびキーボード／マウス２３１を備えている。
【００２７】
サーバ装置１の第１の認識手段２０１は、シンクライアント装置３に接続された接続機器２２５ａ〜２２５ｃを利用するために当該サーバ装置１をクライアントとして機能させることにより、前記シンクライアント装置３に対して前記接続機器の利用要求を行い、前記接続機器を利用可能な接続機器として認識するためのものである。例えば、接続機器が接続されているシンクライアント装置３のネットワーク上のコンピュータ名に基づいてシンクライアント名を認識するとともに、接続機器に記録されているシリアル番号に基づいてデバイスＩＤを認識する。
【００２８】
第２の認識手段２１１は、前記第１の認識手段において接続機器が認識されたことを受けて、デバイスドライバ２１２を読み込み、前記接続機器を自己に接続された接続機器として認識するためのものである。例えば、接続機器のデバイスドライバをインストールした時に生成されるデバイスインスタンスＩＤを認識する。
【００２９】
レジストリ更新手段２０３は、前記第２の認識手段において接続機器が自己に接続された接続機器として認識されたことを受けてレジストリ記録部２１３を更新するためのものである。レジストリ記録部２１３は、認識した接続機器に関する情報（デバイスインスタンスＩＤ等）を記録するためのものである。
【００３０】
ＩＤ取得手段２０５は、サーバ装置の前記第１の認識手段において接続機器が認識されると、認識された接続機器が接続されているシンクライアント装置３の識別ＩＤおよび当該接続機器の機器ＩＤを取得するためのものである。例えば、シンクライアント名を識別ＩＤとして、デバイスＩＤを機器ＩＤとして取得する。
【００３１】
監視手段２０７は、前記第１のＩＤ取得手段において前記識別ＩＤおよび前記機器ＩＤが取得されると、前記サーバ装置上におけるレジストリを監視するためのものである。対応ＩＤ特定手段２０９は、前記サーバ装置の前記レジストリ更新手段２０３において接続機器が認識されることによって更新されたレジストリの更新前後の状態に基づいて、前記識別ＩＤおよび前記機器ＩＤがいずれの認識ＩＤに対応するものであるかを特定するためのものである。例えば、シンクライアント名（識別ＩＤ）およびデバイスＩＤ（機器ＩＤ）が、いずれのデバイスインスタンスＩＤに対応するものであるかを特定する。
【００３２】
シンクライアント環境・サーバプログラム２１５は、上記において認識した接続機器を利用することのできる、サーバベース方式のシンクライアント環境を構成するためのものである。
【００３３】
シンクライアント装置３の利用可能化手段２２１は、当該シンクライアント装置に接続された接続機器を前記サーバ装置に利用させるために当該シンクライアント装置をサーバとして機能させることにより、前記サーバ装置から前記接続機器の利用要求があった場合に、前記接続機器を利用可能とするとともに、前記サーバ装置からの前記利用要求に応答して、前記接続機器を前記サーバ装置に利用可能とするためのものである。
【００３４】
シンクライアント環境・クライアントプログラムは、ディスプレイ２２９およびキーボード／マウス２３１を用いて、サーバベース方式のシンクライアント環境を構成するためのものである。
【００３５】
(3)  ハードウェア構成
(3-1)  サーバ装置
図２に示したサーバ装置１を構成する装置をＣＰＵを用いて実現したハードウェア構成の一例を、図３に示す。なお、本実施形態においては、サーバ装置１を１つのコンピュータ装置で構成する例について説明する。
【００３６】
図３に示すように、上記コンピュータ装置は、ディスプレイ３０１、ＣＰＵ３０３、メモリ３０５、キーボード／マウス３０７、ハードディスク３０９、ＣＤ／ＤＶＤ−ＲＯＭドライブ３１１および通信回路３１５を備えている。
【００３７】
ハードディスク３０９は、ユーザ別ＯＳ１３を実現可能なＯＳ（オペレーティングシステム、例えば、Windows Server 商標）。）３０９０の他、シンクライアント環境・サーバプログラム１１、仮想ＵＳＢ・クライアントプログラム１５、仮想ＵＳＢ・制御プログラム３０９１およびレジストリ３０９９を記憶する。ここで、シンクライアント環境・サーバプログラム１１、仮想ＵＳＢ・クライアントプログラム１５および仮想ＵＳＢ・制御プログラム３０９１は、ＣＤ／ＤＶＤ−ＲＯＭ３１１を介してＣＤまたはＤＶＤ３１２等に記録されたデータを読み出してインストールされたものである。なお、上記インストールは、通信回路３１５を用いてネットワーク等からダウンロードしたデータを使用して行うようにしてもよい。
【００３８】
サーバ装置１を構成する第１の認識手段２０１およびＩＤ取得手段２０５は、仮想ＵＳＢ・クライアントプログラム１５によって実現される。レジストリ更新手段２０３および第２の認識手段２１１は、オペレーティングシステムによって実現される。監視手段２０７および対応ＩＤ特定手段２０９は、仮想ＵＳＢ・制御プログラム３０９１によって実現される。
【００３９】
(3-2)  シンクライアント装置
図２に示したシンクライアント装置３を構成する装置をＣＰＵを用いて実現したハードウェア構成の一例を、図４に示す。
【００４０】
図４に示すように、上記コンピュータ装置は、ディスプレイ４０１、ＣＰＵ４０３、メモリ４０５、キーボード／マウス４０７、ハードディスク４０９、ＣＤ／ＤＶＤ−ＲＯＭドライブ４１１、通信回路４１５、ＵＳＢプリンタ４１７、ＵＳＢスキャナ４１９およびＵＳＢカードリーダ４２１を備えている。
【００４１】
ハードディスク４０９は、オペレーティングシステム（図示しない）の他、シンクライアント環境・クライアントプログラム３１および仮想ＵＳＢ・サーバプログラム３５を記憶する。ここで、シンクライアント環境・クライアントプログラム３１および仮想ＵＳＢ・サーバプログラム３５は、ＣＤ／ＤＶＤ−ＲＯＭ４１１を介してＣＤまたはＤＶＤ４１２等に記録されたデータを読み出してインストールされたものである。なお、上記インストールは、通信回路４１５を用いてネットワーク等からダウンロードしたデータを使用して行うようにしてもよい。
【００４２】
シンクライアント装置３を構成する利用可能化手段２２１は、仮想ＵＳＢ・サーバプログラム３５によって実現される。
【００４３】
(4)  処理詳細
(4-1)  シンクライアント環境の構築
図５、図６および図７を用いて、図１ａに示したシンクライアントａが、サーバ装置１とシンクライアント環境を構築する例について説明する。
【００４４】
なお、シンクライアント装置ａにおけるシンクライアント環境・クライアントプログラム３１および仮想ＵＳＢ・サーバプログラム３５は、それぞれ実行中とする。また、サーバ装置１におけるシンクライアント環境・サーバプログラム１１、仮想ＵＳＢ・クライアントプログラム１５、仮想ＵＳＢ・クライアントプログラム１５・制御プログラム３０９１およびユーザ別ＯＳ１３は、それぞれ実行中とする。また、シンクライアント装置ａ〜ｃとサーバ装置１は、ネットワーク上では物理的に接続可能な状態であり、お互いのコンピュータ名を認識しているものとする。
【００４５】
シンクライアント装置ａを使用するユーザが所望のＵＳＢ機器であるプリンタを、シンクライアント装置ａのＵＳＢポートにＵＳＢケーブルを用いて接続すると、仮想ＵＳＢ・サーバプログラム３５を実行するＣＰＵ４０３は、接続されたＵＳＢ機器であるプリンタを認識し（ステップＳ６０１）、認識したプリンタを共有可能に設定する（ステップＳ６０３）。これにより、ＵＳＢ機器であるプリンタがサーバ装置１からアクセス可能となる。
【００４６】
シンクライアント環境・クライアントプログラム３１を実行するＣＰＵ４０３は、シンクライアント装置ａのディスプレイ４０１に、サーバ装置１に接続するためのログイン画面を表示している。ログイン画面においてユーザからのユーザＩＤおよびパスワードの入力を受けると、ＣＰＵ４０３は、サーバ装置１にログインする処理を行う（ステップＳ６０５）。
【００４７】
これを受けて、シンクライアント環境・サーバプログラム１１を実行するサーバ装置１のＣＰＵ３０３は、シンクライアント装置ａのログイン処理を実行する（ステップＳ６２１）。ログイン処理においては、入力されたユーザＩＤおよびパスワードが予め登録されているものと合致するか否かを認証する。
【００４８】
ログイン処理において、ユーザＩＤおよびパスワードの認証に問題がなければ、仮想ＵＳＢ・クライアントプログラム１５を実行するサーバ装置１のＣＰＵ３０３は、シンクライアント装置ａにおいて共有化されているＵＳＢ機器の利用を要求する（ステップＳ６２３）。
【００４９】
これを受けて、仮想ＵＳＢ・サーバプログラム３５を実行するシンクライアント装置ａのＣＰＵ４０３は、予め共有化しているＵＳＢ機器であるプリンタをサーバ装置１が利用することを無条件に許可する（ステップＳ６０７）。なお、この許可は、サーバ装置１の認証の結果を条件にして行うようにしてもよい。例えば、特定のユーザにのみプリンタの使用許可を与えたい場合には、認証の結果にプリンタの使用許可を含めておき、これに基づいてプリンタの利用許可をしてもよい。
【００５０】
ＵＳＢ機器であるプリンタの利用許可を受けて、サーバ装置１のＣＰＵ３０３は、上記プリンタを接続デバイスとして認識する（ステップＳ６２５）。
【００５１】
これを受けて、仮想ＵＳＢ・制御プログラム３０９１を実行するＣＰＵ３０３は、上記において認識したＵＳＢ機器であるプリンタのデバイスＩＤおよび、接続されているシンクライアント装置ａのＩＤを取得する（ステップＳ６２７）。例えば、プリンタのデバイスＩＤ「プリンタ０１」と、シンクライアント装置のＩＤ「シンクライアントａ」を取得する。
【００５２】
続いて、仮想ＵＳＢ・制御プログラム３０９１を実行するＣＰＵ３０３は、レジストリを参照してデバイスインスタンスＩＤの一覧を取得する（ステップＳ６２９）。例えば、レジストリに記録されているエントリの中からＵＳＢデバイスに関するデバイスインスタンスＩＤをすべて取得して一覧を生成する。
【００５３】
図７のＡに、この場合に取得するデバイスインスタンスＩＤ一覧の例を示す。なお、シンクライアント装置ａがログインした直後においては、ＵＳＢ機器が１つも接続されていないため、デバイスインスタンスＩＤは存在しない。
【００５４】
次に、仮想ＵＳＢ・クライアントプログラム１５を実行するＣＰＵ３０３は、上記において認識したＵＳＢ機器であるプリンタを、ユーザ別ＯＳ１３が認識できるデバイスとして擬似的に接続する（ステップＳ６３１）。これにより、例えば、サーバ装置１からみて、通常のコンピュータ装置にＵＳＢ機器が接続された場合と同じ状態となる。
【００５５】
ＵＳＢ機器であるプリンタが擬似的に接続されると、サーバ装置１のユーザ別ＯＳを実行するＣＰＵ３０３は、デバイス認識処理を実行してデバイスインスタンスＩＤを生成する（ステップＳ６３３）。例えば、ＵＳＢ機器が接続されたことを認識すると、プラグアンドプレイ機能により、当該ＵＳＢ機器に必要なデバイスドライバを検索してこれをインストールする。インストールが完了すると、接続されたＵＳＢ機器に対応するデバイスインスタンスＩＤ「ＵＳＢ＃０１」を生成し、これをレジストリに記録する。これにより、ユーザ別ＯＳ側からＵＳＢ機器であるプリンタを認識することができるようになる。
【００５６】
続いて、仮想ＵＳＢ・制御プログラム３０９１を実行するＣＰＵ３０３は、レジストリを参照してデバイスインスタンスＩＤの一覧を再取得する（ステップＳ６３５）。図７のＢに、この場合に取得するデバイスインスタンスＩＤ一覧の例を示す。この図においては、上記において生成したデバイスインスタンスＩＤ「ＵＳＢ＃０１」が記録されている。
【００５７】
次に、ＣＰＵ３０３は、上記ステップＳ６２９およびＳ６３５において取得したレジストリのデバイスインスタンスＩＤ一覧をそれぞれ比較して、今回接続されたＵＳＢ機器のデバイスインスタンスＩＤと、これに対応するデバイスＩＤを特定する（ステップＳ６３７）。例えば、追加されたデバイスインスタンスＩＤは「ＵＳＢ＃０１」であることにより、これに対応するデバイスＩＤは、上記ステップＳ６２７において取得した「プリンタ０１」であると特定する。
【００５８】
さらに、ＣＰＵ３０３は、特定したデバイスインスタンスＩＤとデバイスＩＤをメモリ３０５またはハードディスク３０９に記録する。図７のＣに、この記録の例を示す。この図においては、デバイスインスタンスＩＤ「ＵＳＢ＃０１」およびデバイスＩＤ「プリンタ０１」の他に、上記ステップＳ６２７において取得したシンクライアントＩＤ「シンクライアントａ」とデバイス名「シンクライアントａのプリンタ」がそれぞれ記録される。
【００５９】
これにより、シンクライアント装置ａのための処理を実行するサーバ装置１が、ユーザ別ＯＳによって認識したＵＳＢ機器と、仮想ＵＳＢ・クライアントプログラムによって認識したＵＳＢ機器とを特定して、これらを対応付けることができる。
【００６０】
なお、デバイス名は、デバイスＩＤとシンクライアントＩＤから生成するようにしている。図７のＤに示すように、デバイス名を「シンクライアントａのプリンタ」としている。例えば、レジストリのDescriptionキーを変更して、ユーザ別ＯＳにおける認識デバイス名を「シンクライアントａのプリンタ」とすることにより、ユーザは、デバイス名に基づいてＵＳＢ機器がいずれのシンクライアント装置に接続されているかを認識することができる。
【００６１】
(4-2)  ＵＳＢ機器の追加接続
次に、図１ａに示したシンクライアント装置ａが、シンクライアント装置ｂに接続されたＵＳＢ機器であるスキャナを利用可能にする例について説明する。
【００６２】
図１ａに示すように、シンクライアント装置ｂにおいては、シンクライアント装置ａとは異なるシンクライアント環境が、サーバ装置１との間において構築されている。この場合シンクライアント装置ｂでは、上述したシンクライアント装置ａと同様に仮想ＵＳＢ・サーバプログラムが実行されている。
【００６３】
このため、サーバ装置１で実行される各シンクライアント環境を構築する処理において、シンクライアント装置ｂのＵＳＢ機器が利用可能である。すなわち、シンクライアント装置ａの処理を実行するサーバ装置１からシンクライアント装置ｂに接続されたＵＳＢ機器であるスキャナが利用可能である。これにより、シンクライアント装置ａのユーザは、シンクライアント装置ｂに接続されたＵＳＢ機器であるスキャナを、シンクライアント装置ａにおいて利用可能となる。
【００６４】
このような場合において、シンクライアント装置ａのための処理を実行するサーバ装置１が、ユーザ別ＯＳによって認識したＵＳＢ機器と、仮想ＵＳＢ・クライアントプログラムによって認識したＵＳＢ機器とをどのように特定してこれらを対応付けるかについて説明する。
【００６５】
なお、シンクライアント装置ａおよびシンクライアント装置ｂにおけるシンクライアント環境・クライアントプログラム３１および仮想ＵＳＢ・サーバプログラム３５は、それぞれ実行中とする。また、サーバ装置１におけるシンクライアント環境・サーバプログラム１１、仮想ＵＳＢ・クライアントプログラム１５、仮想ＵＳＢ・クライアントプログラム１５・制御プログラム３０９１およびユーザ別ＯＳは、シンクライアント装置ａおよびシンクライアント装置ｂごとにそれぞれ実行中とする。
【００６６】
シンクライアント装置ｂにＵＳＢ機器であるスキャナが接続されると、上述したようにステップＳ６０１、Ｓ６０３によってＵＳＢ機器であるスキャナが共有化される。
【００６７】
一方、シンクライアント装置ａのための処理として、仮想ＵＳＢ・クライアントプログラム１５を実行するサーバ装置１のＣＰＵ３０３は、シンクライアント装置ｂにおいて共有化されているＵＳＢ機器を発見してシンクライアントｂにＵＳＢ機器の利用を要求する（ステップＳ６２３）。
【００６８】
これを受けて、仮想ＵＳＢ・サーバプログラム３５を実行するシンクライアント装置ｂのＣＰＵ４０３は、予め共有化しているＵＳＢ機器であるスキャナをサーバ装置１が利用することを許可する（ステップＳ６０７）。なお、この許可は、サーバ装置１の認証がなされたことを前提に行うようにしてもよい。
【００６９】
ＵＳＢ機器であるスキャナの利用許可を受けて、サーバ装置１のＣＰＵ３０３は、上記スキャナを接続デバイスとして認識する（ステップＳ６２５）。
【００７０】
これを受けて、仮想ＵＳＢ・制御プログラム３０９１を実行するＣＰＵ３０３は、上記において認識したＵＳＢ機器であるスキャナのデバイスＩＤおよび、接続されているシンクライアント装置ｂのＩＤを取得する（ステップＳ６２７）。例えば、スキャナのデバイスＩＤ「スキャナ０１」と、シンクライアント装置のＩＤ「シンクライアントｂ」を取得する。
【００７１】
続いて、仮想ＵＳＢ・制御プログラム３０９１を実行するＣＰＵ３０３は、レジストリを参照してデバイスインスタンスＩＤの一覧を取得する（ステップＳ６２９）。例えば、レジストリに記録されているエントリの中からＵＳＢデバイスに関するデバイスインスタンスＩＤをすべて取得して一覧を生成する。
【００７２】
図７のＤに、この場合に取得するデバイスインスタンスＩＤ一覧の例を示す。なお、シンクライアント装置ａには、上述した処理によってプリンタが接続されているため、デバイスインスタンスＩＤは１つだけ存在する。
【００７３】
次に、仮想ＵＳＢ・クライアントプログラム１５を実行するＣＰＵ３０３は、上記において認識したＵＳＢ機器であるスキャナを、ユーザ別ＯＳが認識できるデバイスとして接続する（ステップＳ６３１）。これにより、例えば、通常のコンピュータ装置にＵＳＢ機器が接続された場合と同じ状態となる。
【００７４】
ＵＳＢ機器であるスキャナを認識すると、サーバ装置１のユーザ別ＯＳを実行するＣＰＵ３０３は、デバイス認識処理を実行してデバイスインスタンスＩＤを生成する（ステップＳ６３３）。
【００７５】
続いて、仮想ＵＳＢ・制御プログラム３０９１を実行するＣＰＵ３０３は、レジストリを参照してデバイスインスタンスＩＤの一覧を再取得する（ステップＳ６３５）。図７のＥに、この場合に取得するデバイスインスタンスＩＤ一覧の例を示す。この図においては、上記において生成したデバイスインスタンスＩＤ「ＵＳＢ＃０１」および「ＵＳＢ＃０２」が記録されている。
【００７６】
次に、ＣＰＵ３０３は、上記ステップＳ６２９およびＳ６３５において取得したレジストリのデバイスインスタンスＩＤ一覧をそれぞれ比較して、今回接続されたＵＳＢ機器のデバイスインスタンスＩＤと、これに対応するデバイスＩＤを特定する（ステップＳ６３７）。例えば、追加されたデバイスインスタンスＩＤは「ＵＳＢ＃０２」であることにより、これに対応するデバイスＩＤは、上記ステップＳ６２７において取得した「スキャナ０１」であると特定する。
【００７７】
さらに、ＣＰＵ３０３は、特定したデバイスインスタンスＩＤとデバイスＩＤをメモリ３０５またはハードディスク３０９に記録する。図７のＦに、この記録の例を示す。この図においては、デバイスインスタンスＩＤ「ＵＳＢ＃０２」およびデバイスＩＤ「スキャナ０１」の他に、上記ステップＳ６２７において取得したシンクライアントＩＤ「シンクライアントｂ」とデバイス名「シンクライアントｂのスキャナ」がそれぞれ記録される。
【００７８】
また、シンクライアント装置ｃにおいてＵＳＢ機器であるプリンタが接続されている場合には、シンクライアント装置ａの処理を実行するサーバ装置１においては、上記処理により図７のＧに示すようにデバイスが認識されることになる。
【００７９】
これにより、サーバ装置１では仮想ＵＳＢ・クライアントプログラム１５が認識したＵＳＢ機器とユーザ別ＯＳが認識したＵＳＢ機器を特定することができる。このため、複数のＵＳＢ機器が接続された場合であっても、各機器がどのシンクライアント装置に接続されているかを判別することができる。
【００８０】
(5)  まとめ
以上のように、シンクライアント装置３の仮想ＵＳＢ・サーバプログラム３５がＵＳＢ機器を利用可能とし、サーバ装置１の仮想ＵＳＢ・クライアントプログラム１５からの利用要求を受け付けることにより、サーバ装置１のユーザ別ＯＳ１３が、シンクライアント装置３のＵＳＢ機器３７を利用することができる。このため、シンクライアント装置３のユーザは、エミュレータ環境を経由することなくＵＳＢ機器をシンクライアント環境で利用することができる。
【００８１】
また、ＵＳＢ機器の認識過程においてレジストリを監視することにより、認識したＵＳＢ機器がシンクライアント環境におけるどのシンクライアント装置に接続されたものであるかを簡単に特定することができる。これにより、シンクライアント装置のユーザは、他のシンクライアント装置のＵＳＢ機器を容易に利用することができる。
【００８２】
さらに、サーバ装置１側にＵＳＢ機器を認識させるため、サーバ装置１側に認識させるＵＳＢ機器のデバイスドライバが存在すれば、エミュレータ環境の場合のようにシンクライアント装置３側にデバイスドライバを記録しておく必要がない。これにより、サーバ管理者は、各シンクライアント装置３にデバイスドライバをインストールする必要がなくなり、新たなＵＳＢ機器を簡単に導入することができる。
【００８３】
２．その他の実施形態
(1)  上記実施形態においては、図１および図１ａに示したように１つのサーバ装置１しか表示していないが、複数のサーバ装置を用いて本発明のシステムを構築するようにしてもよい。なお、この場合、サーバ装置を振り分けるためのロードバランサを導入すればよい。
【００８４】
(2)  上記実施形態においては、ログイン処理でユーザＩＤとパスワードによってユーザ認証を行うようにしているが、ユーザ認証時においてユーザが使用できるシンクライアント装置やＵＳＢ機器の種類（例えばプリンタ等）を制限するようにしてもよい。なお、この場合、ユーザごとに使用できるＵＳＢ機器等を記録したデバイス制御データベースを導入すればよい。
【００８５】
(3)  上記実施形態においては、サーバ装置１内にデバイスドライバ２１２を記録しておき、これを参照してＵＳＢ機器の認識処理を実行するようにしたが、デバイスドライバ２１２は他の装置に記録したものを用いてもよい。
【００８６】
(4)  上記実施形態においては、ＵＳＢ機器としてプリンタおよびスキャナを例にして説明したが、他のＵＳＢ機器を用いることも当然ながら可能である。例えば、指紋認証機器、メモリ機器またはハードディスク機器等がこれに該当する。これらの機器をシンクライアント装置に接続した場合、サーバ装置１側にデバイスドライバが存在する限り、ユーザはシンクライアント装置側で所望の機器を利用することができる。これにより、セキュアな状態を保持できるシンクライアント環境においてＵＳＢ機器の利便性が向上する。
【００８７】
(5)  上記実施形態においては、図１に示す各機能を実現する為に、ＣＰＵを用いソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。なお、プログラムの一部の処理をさらに、オペレーティングシステム（ＯＳ）にさせるようにしてもよい。
【符号の説明】
【００８８】
１：サーバ装置
３：シンクライアント装置
【図１】
2010176471.tif 000003
【図１ａ】
2010176471.tif 000004
【図２】
2010176471.tif 000005
【図３】
2010176471.tif 000006
【図４】
2010176471.tif 000007
【図５】
2010176471.tif 000008
【図６】
2010176471.tif 000009
【図７】
2010176471.tif 000010