(57)【要約】【課題】ＵＳＢデバイスサーバシステムにおいて、コンポジットドライバを利用するデバイスドライバによって制御されるＭＦＰを利用可能にする。【解決手段】ＵＳＢデバイスサーバ１０５は、Ｓ５０１の接続要求を受信し、サーバ側デバイス選択手段は、デバイス検出手段により検出されたＭＦＰに備えられる各デバイス（プリンタ，スキャナ，ストレージ）の内、任意の手段により予め設定されている情報に基づき特定のデバイス情報をマスクする。次いで、ＵＳＢデバイスサーバ１０５は、マスクしない特定のデバイスのみの情報（例えば、スキャナおよびストレージ）をＳ５０１に対する応答としてＰＣ１０１に返す（Ｓ５０３）。【選択図】図５
2008287453.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、少なくとも１台の多機能ＵＳＢデバイスが接続されたＵＳＢデバイスサーバであって、
前記多機能ＵＳＢデバイスの各デバイスを検出するデバイス検出手段と、
前記検出された各デバイスのうち、任意のデバイスを選択可能なサーバ側デバイス選択手段と、
応答手段とを備え、
前記サーバ側デバイス選択手段は、ネットワークを介して受け取った前記多機能ＵＳＢデバイスのデバイス情報取得要求に基づきデバイスを選択し、前記応答手段は、この選択されたデバイスの情報を前記デバイス情報取得要求に対する応答として送信することを特徴とするＵＳＢデバイスサーバ。
【請求項２】
前記ＵＳＢデバイスサーバは、さらに接続管理テーブルを備え、前記サーバ側デバイス選択手段は、ネットワークを介して受け取った前記多機能ＵＳＢデバイスのデバイス情報取得要求に対し、前記接続管理テーブルを参照してデバイスの接続可否を判断し、前記応答手段は、この判断結果に基づき応答することを特徴とする請求項１記載のＵＳＢデバイスサーバ。
【請求項３】
前記多機能ＵＳＢデバイスはプリンタデバイスを備え、かつ前記ＵＳＢデバイスサーバは、さらにプリントサーバ手段を備え、前記プリンタデバイスは前記プリントサーバ手段によりネットワーク共有されることを特徴とする請求項１または請求項２記載のＵＳＢデバイスサーバ。
【請求項４】
少なくとも１つの多機能ＵＳＢデバイスが接続されたＵＳＢデバイスサーバとＰＣとがネットワークを介して通信するＵＳＢデバイスサーバシステムであって、
前記ＰＣは、
前記ＵＳＢデバイスサーバに接続された少なくとも１つの多機能ＵＳＢデバイスのうち、任意のデバイスを選択するＰＣ側デバイス選択手段と、
前記ＰＣ側デバイス選択手段にて選択したデバイスと前記ＰＣとの接続を要求するデバイス接続要求手段とを備え、
前記ＵＳＢデバイスサーバは、
自身に接続された多機能ＵＳＢデバイスが備えるデバイスを検出するデバイス検出手段と、
前記デバイス検出手段により検出されたデバイスのうち、前記デバイス接続要求手段により要求されたデバイス情報に合致するデバイスのみを選択するサーバ側デバイス選択手段と、
前記サーバ側デバイス選択手段により選択されたデバイスの情報を前記ＰＣに応答する応答手段とを備え、
前記ＰＣは、受け取ったデバイス情報に基づき前記ＰＣのＯＳに対してプラグアンドプレイを発行することを特徴とするＵＳＢデバイスサーバシステム。
【請求項５】
前記多機能ＵＳＢデバイスは、前記ＰＣのＯＳが備えるコンポジットドライバを利用するデバイスドライバによって制御され、前記ＰＣは、前記ＵＳＢデバイスサーバより受け取ったデバイス情報に含まれるデバイスのみのプラグアンドプレイを発行し、前記コンポジットドライバ経由にて前記デバイスを利用できるようにすることを特徴とする請求項４記載のサーバシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおいてＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）周辺機器をホストコンピュータ（ＰＣ）から共有することのできるＵＳＢデバイスサーバおよびＵＳＢデバイスサーバシステムに関する。
【背景技術】
【０００２】
図１は、ＵＳＢデバイスサーバシステムにおける多機能ＵＳＢデバイス（以下、ＭＦＰと記載）の接続図を示している。各ＰＣ（１０１ａ，１０１ｂ，１０１ｃ）は、ＵＳＢデバイスサーバ１０５を介して、プリンタ機能、スキャナ機能およびストレージ機能からなる多機能デバイスであるＭＦＰ１０７を共有している。ＵＳＢデバイスサーバ１０５とは、従来、ＰＣ１０１（ＰＣ１０１ａ，ＰＣ１０１ｂ，ＰＣ１０１ｃ を総称する場合、単にＰＣ１０１と記載する）のローカルインタフェースに直接接続する形態でのみ利用可能であったＵＳＢデバイス（ここではＭＦＰ１０７）を、ネットワーク上の任意のＰＣ１０１からネットワークを介して共有できるようにするものである。各ＰＣ１０１では、このＵＳＢデバイスサーバ１０５に接続されたＭＦＰ１０７を、自ら備えるローカルインタフェースに接続されているＭＦＰ１０７と同様に利用できる。すなわち、ＵＳＢデバイスサーバ１０５に接続されたＭＦＰ１０７のステータスを画面上でモニタしたり、データファイルを送受信したりすることができる。なお、上記したＵＳＢデバイスサーバ１０５は非特許文献１にて公開されている。
【非特許文献１】サイレックス・テクノロジー社のＨＰ「ＵＳＢデバイスサーバ」(ＵＲＬアドレス：http://www.silex.jp/japan/products/network/deviceserver/index.html）  なお、ＵＳＢデバイスサーバシステムにおいて、ＭＦＰ１０７を利用する場合の論理接続図を図２に示す。ＭＦＰ１０７の各デバイスを利用するアプリケーション２０１は、各デバイスドライバ（プリンタドライバ２０３，ストレージドライバ２０５，スキャナドライバ２０７）を介して通信し、各デバイスドライバから出力されたデータは、仮想ＵＳＢポートドライバ２０９を経由してネットワーク上にあるＵＳＢデバイスサーバ１０５に送られる。  ところで、ＵＳＢデバイスサーバ１０５は、その運用方法によっていくつかの種類があり、そのうちの１つとして、デバイスサーバ機能に加えプリントサーバ機能も備える複合ＵＳＢデバイスサーバがある。これは、ＭＦＰ１０７の備えるデバイスのうち、プリンタ機能だけを従来からあるプリントサーバ機能で使用し、その他の機能をデバイスサーバ機能で使用するＵＳＢデバイスサーバ１０５である。以下、特に断りがない限り、ＵＳＢデバイスサーバ１０５はプリントサーバ機能とデバイスサーバ機能とが備えられた複合ＵＳＢデバイスサーバを示す。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが、上述したＵＳＢデバイスサーバ１０５は、ＭＦＰ１０７によっては正常に動作しないことがあった。特に、ＰＣ１０１側のアプリケーション２０１がＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の提供するＵＳＢコンポジットドライバを利用する場合に、ＭＦＰ１０７の備えるデバイスの全機能若しくは一部の機能が利用できない問題があった。より詳細には、アプリケーション２０１は、複数のデバイスドライバをとりまとめる存在であるＵＳＢコンポジットドライバを経由して各デバイスドライバにアクセスするのであるが、図２に示す構成の場合、ＵＳＢコンポジットドライバがＰＣ１０１側のドライバスタックに組み込まれておらず、このためアプリケーション２０１が、正常に各デバイスにアクセスできない場合があった。これが結果として、アプリケーション２０１の機能が利用できないなどの問題を引き起こしていた。
本発明は、上述した問題に鑑みてなされたものであり、ＰＣ１０１側のアプリケーション２０１がＵＳＢコンポジットドライバを利用する場合でも、正常にＭＦＰ１０７が利用できるよう構成されたＵＳＢデバイスサーバ１０５およびＵＳＢデバイスサーバシステムを提供することを目的とする。
【課題を解決するための手段】
【０００４】
本発明の第１の局面に係るＵＳＢデバイスサーバは、ネットワークに接続され、少なくとも１台の多機能ＵＳＢデバイスが接続されたＵＳＢデバイスサーバであって、多機能ＵＳＢデバイスの各デバイスを検出するデバイス検出手段と、検出された各デバイスのうち、任意のデバイスを選択可能なサーバ側デバイス選択手段と、応答手段とを備え、サーバ側デバイス選択手段は、ネットワークを介して受け取った多機能ＵＳＢデバイスのデバイス情報取得要求に基づきデバイスを選択し、応答手段は、この選択されたデバイスの情報をデバイス情報取得要求に対する応答として送信する。
上記のＵＳＢデバイスサーバによれば、多機能ＵＳＢデバイスの備える複数のデバイスの内、任意のデバイスのみをＵＳＢデバイスサーバが制御することができる。
ＵＳＢデバイスサーバは、さらに接続管理テーブルを備え、サーバ側デバイス選択手段は、ネットワークを介して受け取った多機能ＵＳＢデバイスのデバイス情報取得要求に対し、接続管理テーブルを参照してデバイスの接続可否を判断し、応答手段は、この判断結果に基づき応答する。
上記のＵＳＢデバイスサーバによれば、多機能ＵＳＢデバイスの備える複数のデバイスのうち、要求元に対して予め決められたデバイスのみを接続させるなどの運用が可能になる。
ＵＳＢデバイスサーバは、さらにプリントサーバ手段を備え、接続されている多機能ＵＳＢデバイスのうち、プリンタデバイスはプリントサーバ手段によりネットワーク共有される。
上記のＵＳＢデバイスサーバによれば、スキャナやストレージなどのデバイスはデバイスサーバ手段により共有が可能な一方、プリンタだけを従来のプリントサーバ手段により共有することができる。これにより、印刷に際し、印刷用プロトコルであるＬＰＲやＲＡＷなどを利用することができる。
本発明の第１の局面に係るＵＳＢデバイスサーバシステムは、少なくとも１つの多機能ＵＳＢデバイスが接続されたＵＳＢデバイスサーバとＰＣとがネットワークを介して通信するＵＳＢデバイスサーバシステムであって、ＰＣは、ＵＳＢデバイスサーバに接続された少なくとも１つの多機能ＵＳＢデバイスのうち、任意のデバイスを選択するＰＣ側デバイス選択手段と、ＰＣ側デバイス選択手段にて選択したデバイスとＰＣとの接続を要求するデバイス接続要求手段とを備え、ＵＳＢデバイスサーバは、自身に接続された多機能ＵＳＢデバイスが備えるデバイスを検出するデバイス検出手段と、デバイス検出手段により検出されたデバイスのうち、デバイス接続要求手段により要求されたデバイス情報に合致するデバイス情報をのみを選択するサーバ側デバイス選択手段と、サーバ側デバイス選択手段により選択されたデバイスの情報をＰＣに応答する応答手段とを備え、ＰＣは、受け取ったデバイス情報に基づきＰＣのＯＳに対してプラグアンドプレイを発行する。
上記のＵＳＢデバイスサーバシステムによれば、ＰＣは任意のデバイスのみをＵＳＢデバイスサーバ経由にて利用することが可能になる。
ＵＳＢデバイスサーバシステムにおいて、多機能ＵＳＢデバイスは、ＰＣのＯＳが備えるコンポジットドライバを利用するデバイスドライバによって制御され、ＰＣは、ＵＳＢデバイスサーバより受け取ったデバイス情報に含まれるデバイスのみのプラグアンドプレイを発行し、コンポジットドライバ経由にてデバイスを利用できるようにする。
上記のＵＳＢデバイスサーバシステムによれば、コンポジットドライバを利用するデバイスドライバによって制御されるデバイスを、ＰＣからＵＳＢデバイスサーバ経由にて利用できる。
【発明を実施するための最良の形態】
【０００５】
以下、本発明の実施の形態について図面を参照し説明する。
【実施例１】
【０００６】
図３に本発明に係るＵＳＢデバイスサーバシステムの機能ブロック図を示す。ＰＣ１０１は、ＰＣ１０１上にてＯＳと共に動作するユーティリティであるＰＣ側デバイス選択手段３０３およびデバイス接続要求手段３０５、ネットワークプロトコルなどネットワーク通信に係る機能を提供するＰＣ側ネットワークＩ／Ｆ２１１、既に述べたプリンタドライバ２０３、ストレージドライバ２０５およびスキャナドライバ２０７に代表されるデバイスドライバ３０７、また各デバイスを利用するアプリケーション２０１などを備える。一方、ＵＳＢデバイスサーバ１０５は、ＭＦＰ１０７の備える各デバイスを検出するデバイス検出手段３１３、検出された各デバイスの内、任意のデバイスを選択するサーバ側デバイス選択手段３１５およびＰＣ１０１と同じくネットワーク通信に係る機能を提供するサーバ側ネットワークＩ／Ｆ３１７、ＭＦＰ１０７との接続機能を提供するＵＳＢ Ｉ／Ｆ３１１を備える。
図４にＵＳＢコンポジットドライバを使用するＵＳＢデバイスサーバシステムの論理接続図を示す。前述したように、ＵＳＢコンポジットドライバ４０１とは、ＭＦＰ１０７などのように、デバイスの機能が複数のデバイスドライバによって制御される場合、これら複数のデバイスドライバをとりまとめるインタフェース的な役割を果たすドライバである。即ち、アプリケーション２０１がＵＳＢコンポジットドライバ４０１を利用するとは、次のような動作となる。アプリケーション２０１は、各デバイスドライバ経由にてデバイスと通信するのであるが、この際、ＵＳＢコンポジットドライバ４０１にも同時にアクセスし、相互の情報に基づきＭＦＰ１０７に接続された各デバイスと通信する。
図５に、ＵＳＢコンポジットドライバ４０１が正常に組み込まれたドライバスタック（図４）を形成するための動作フローについて説明する。
（１）Ｓ５０１にてユーザがＰＣ１０１上で動作するデバイスサーバ１０５の接続ユーティリティ等のＰＣ側デバイス選択手段３０３およびデバイス接続要求手段３０５を用いて、ＰＣ１０１とＭＦＰ１０７とを接続するようＵＳＢデバイスサーバ１０５に接続要求を発行する。
（２）Ｓ５０３にて、ＵＳＢデバイスサーバ１０５は、Ｓ５０１の接続要求を受信し、サーバ側デバイス選択手段３１５は、デバイス検出手段３１３により検出されたＭＦＰ１０７に備えられる各デバイス（プリンタ２１５、スキャナ２１７、ストレージ２１９）のうち、任意の手段により予め設定されている情報に基づき特定のデバイス情報をマスクする。次いで、ＵＳＢデバイスサーバ１０５は、マスクしないデバイスのみの情報（例えば、スキャナ２１７およびストレージ２１９）をＳ５０１に対する応答としてＰＣ１０１に返す。この理由については後述する。
（３）Ｓ５０５にて、ＰＣ１０１の仮想ＵＳＢポートドライバ２０９はＳ５０３で応答されたデバイス接続情報を受信する。
（４）Ｓ５０７にて、このデバイス接続情報に基づき、仮想ＵＳＢポートドライバ２０９は、ＰＣ１０１とマスクされないＭＦＰ１０７が備えるデバイスとを接続する。
（５）Ｓ５０９にて、仮想ＵＳＢポートドライバ２０９は、ＵＳＢデバイスサーバ１０５にＭＦＰ１０７のディスクリプタ情報を要求する。
（６）Ｓ５１１にて、ＵＳＢデバイスサーバ１０５は、Ｓ５０３と同様にマスクしないデバイスのディスクリプタのみを仮想ＵＳＢポートドライバ２０９に応答する。
（７）Ｓ５１３にて、仮想ＵＳＢポートドライバ２０９が上記ディスクリプタ情報を受信する。
（８）Ｓ５１５にて、仮想ＵＳＢポートドライバ２０９がＳ５１３にて受信したディスクリプタ情報に基づきＰＣ１０１のＯＳに対してプラグアンドプレイ（ＰｎＰ）を発行する。
上記フローを実行することで、ＰＣ１０１は、ＵＳＢコンポジットドライバ４０１を経由してＭＦＰ１０７の備えるスキャナ２１７およびストレージ２１９を利用できるようになる。この理由は以下の通りである。プリントサーバ機能とデバイスサーバ機能を備えるＵＳＢデバイスサーバ１０５では、プリンタ機能はプリントサーバ機能を経由して使用するため、デバイスサーバ機能を利用する際に必要となる図５のフロー（左手にあるＰＣ１０１側ステップ）に示す処理は必要ない。このため、従来の接続処理では、デバイスサーバ機能として使用しないプリンタ２１５までも、Ｓ５０１およびＳ５０９の要求に対して、ＵＳＢデバイスサーバ１０５が応答していた。この結果、プリンタ２１５のデバイスドライバまでもがＰＣ１０１のドライバスタックに組み込まれる事となり、実際の運用であるプリントサーバ機能を利用した印刷とは異なるドライバスタックが形成されていた。これが、ＵＳＢコンポジットドライバ４０１のＰＣ１０１への正常な組み込みを阻害する原因となり、アプリケーション２０１がＵＳＢコンポジットドライバ４０１を経由して、ＭＦＰ１０７の全部もしくは一部の機能が利用できない原因となっていた。本実施例では、Ｓ５０３およびＳ５１１に示すように、デバイスサーバ機能で利用しないデバイスに関しては、ＵＳＢデバイスサーバ１０５側で情報をマスクし、ＰＣ１０１に応答している。これにより、ＰＣ１０１に対しては、ＭＦＰ１０７には最初からマスクされたデバイスが存在しないものと認識させることができ、結果としてＵＳＢコンポジットドライバ４０１のＰＣ１０１への正常な組み込みが可能になった。
本実施例の別の態様として、マスクするデバイスを予めＵＳＢデバイスサーバ１０５において設定しておくのではなく、Ｓ５０１およびＳ５０９にて、接続したいデバイスをＰＣ１０１側から指定し、このデバイス以外をＳ５０３およびＳ５１１にてマスクして応答することで、任意のデバイスのみをＰＣ１０１に組み込むことも可能である。
（効果）
上記に示す手順を実行することで、ＰＣ１０１側のアプリケーション２０１がＵＳＢコンポジットドライバ４０１を利用する場合でも、正常に各デバイスを利用することが可能となる。また、特定のデバイスをマスクしてＰＣ１０１に応答することで、任意のデバイスのみをＰＣ１０１に利用させることもできる。即ち、ＭＦＰ１０７の備える複数のデバイスを、それぞれ独立したデバイスとして複数のＰＣ１０１から利用することが可能となり、結果として、デバイスの効率的共有が可能となる。
【実施例２】
【０００７】
前述した実施例１では、ＵＳＢデバイスサーバ１０５の予め備える情報に基づき任意のデバイスのみをＰＣ１０１に接続させる、もしくはＰＣ１０１側から任意のデバイスを指定するようにしていたが、ＵＳＢデバイスサーバ１０５が接続要求元のＰＣ１０１に対応して応答するデバイスを固定的に登録した情報（図７参照）を予め持っておき、これに基づき応答しても良い。
本実施例では上記したＵＳＢデバイスサーバ１０５の動作について図６を参照し説明する。なお、Ｓ６０１およびＳ６０３以外は全て図５と同じであるため、同じ符号を付し、説明を省略する。
（１）Ｓ６０１にて、ＵＳＢデバイスサーバ１０５は、接続要求を受信し、サーバ側デバイス選択手段３１５は、ＰＣ１０１の情報（例えばＩＰアドレスやホスト名）と該ＰＣ１０１が利用可能なＭＦＰ１０７上のデバイスとの組み合わせが保持されている接続管理テーブル（図７）を参照する。次いでＵＳＢデバイスサーバ１０５は、要求元ＰＣ１０１に対応するデバイスの情報をＰＣ１０１に応答する。なお、この接続管理テーブルはＵＳＢデバイスサーバ１０５内だけでなく、ネットワーク上など任意の場所に存在しても良い。また、接続管理テーブルが保持する情報は、ＰＣ１０１上のアプリケーション２０１等の任意の手段により編集可能である。
（２）Ｓ６０３にて、ＵＳＢデバイスサーバ１０５は、Ｓ６０１と同様、接続管理テーブルを参照し要求元ＰＣ１０１が接続可能なデバイスのディスクリプタ情報のみをＰＣ１０１に応答する。
（効果）
上記に示す手順を実行することで、ＰＣ１０１に対し予め許可したデバイスのみを使用させるような運用が可能となる。例えば重要なデータがストレージ２１９に保存されている場合、特定のＰＣ１０１のみをこのストレージ２１９に接続させるといった運用が可能となり、セキュリティの向上に貢献する。また、特定のＰＣ１０１しか接続できないので、デバイスの利用を分散させるなど、デバイスの負荷分散にも効果が期待できる。
上記した２つの実施例は、従来技術において記載の通りプリントサーバ機能とデバイスサーバ機能の双方を備える複合ＵＳＢデバイスサーバでの例であるが、本発明はデバイスサーバ機能だけを備えるＵＳＢデバイスサーバにおいても利用可能である。また、デバイス情報をマスクする場所について、記載の実施例ではＵＳＢデバイスサーバ１０５側としたが、逆に、ＵＳＢデバイスサーバ１０５側ではマスクせずＰＣ１０１側にてマスクしプラグアンドプレイを発行するようにしても同様の効果が得られることは自明である。
【図面の簡単な説明】
【０００８】
【図１】従来技術におけるＵＳＢデバイスサーバシステムのＭＦＰ接続図
【図２】従来技術におけるＵＳＢデバイスサーバシステムのＭＦＰ論理接続図
【図３】本発明に係るＵＳＢデバイスサーバシステムの機能ブロック図
【図４】コンポジットドライバが組み込まれたＵＳＢデバイスサーバシステムにおけるＭＦＰ論理接続図
【図５】実施例１におけるＵＳＢデバイスサーバシステムのフローチャート
【図６】実施例２におけるＵＳＢデバイスサーバシステムのフローチャート
【図７】接続管理テーブル
【符号の説明】
【０００９】
１０１ａ    ＰＣ
１０１ｂ    ＰＣ
１０１ｃ    ＰＣ
１０５    ＵＳＢデバイスサーバ
１０７    多機能ＵＳＢデバイス（ＭＦＰ）
３０３    ＰＣ側デバイス選択手段
３０５    デバイス接続要求手段
３１３    デバイス検出手段
３１５    サーバ側デバイス選択手段
４０１    ＵＳＢコンポジットドライバ
【図２】
2008287453.tif 000003
【図４】
2008287453.tif 000004
【図５】
2008287453.tif 000005
【図６】
2008287453.tif 000006
【図７】
2008287453.tif 000007
【図１】
2008287453.tif 000008
【図３】
2008287453.tif 000009