(57)【特許請求の範囲】
【請求項１】
複数のクライアントと，
デバイスが接続されたデバイスサーバとが，
ネットワーク接続されており，
前記デバイスサーバが前記クライアントと前記デバイスとの通信を相互に変換することにより，前記クライアントと前記デバイスとの間においてネットワークを経由した通信が可能であるデバイスサーバシステムにおけるデバイスサーバであって，
前記クライアントと前記デバイスとのデータ通信に先立ち必要な情報（イニシャル情報）を取得するために，前記クライアントが前記デバイスサーバに向けて送信した通信（リクエスト）を受信するリクエスト受信手段と，
前記リクエスト受信手段が受信したリクエストのうち，いずれか１つのクライアントが送信したリクエストに対応する前記イニシャル情報を所定の記憶手段に記憶させるイニシャル情報受信手段と，
前記リクエスト受信手段が，前記イニシャル情報受信手段が記憶させたイニシャル情報に対応するクライアント以外のクライアント（他クライアント）からのリクエストを受信すると，当該他のクライアントが受信すべき通信が前記クライアントにより受信される通信と同内容であり，当該他のクライアントが前記デバイスと個別の通信を行う必要がない場合，当該他のクライアントが前記デバイスと擬似接続されて前記デバイスからの単方向データを受信できる状態とするため，前記所定の記憶手段に記憶されている前記イニシャル情報を当該他クライアントからのリクエストに対して応答する応答手段と，
を備えるデバイスサーバ。
【請求項２】
複数のクライアントと，
デバイスが接続されたデバイスサーバとが，
ネットワーク接続されており，
前記デバイスサーバが前記クライアントと前記デバイスとの通信を相互に変換することにより，前記クライアントと前記デバイスとの間においてネットワークを経由した通信が可能であるデバイスサーバシステムにおけるデバイスサーバであって，
前記クライアントと前記デバイスとのデータ通信に先立ち必要な情報（イニシャル情報）を取得するために，前記クライアントが前記デバイスサーバに向けて送信した通信（リクエスト）を受信するリクエスト受信手段と，
前記リクエスト受信手段が受信した通信について，前記デバイスと通信を行い，前記イニシャル情報を取得するか否かを判断する判断手段と，
前記判断手段が，情報取得が必要と判断した場合，前記デバイスと通信を行い前記イニシャル情報を取得し，これを所定の記憶手段に記憶させるイニシャル情報受信手段と，
前記判断手段が，情報取得が不要と判断した場合，前記イニシャル情報受信手段が記憶させたイニシャル情報に対応するクライアント以外のクライアント（他クライアント）が前記デバイスと擬似接続され，前記デバイスと当該他のクライアントとの間で受信すべき通信の内容が同じであり，当該他のクライアントが前記デバイスと個別の通信を行う必要がない場合に，当該他のクライアントが前記デバイスからの単方向データを受信できる状態とするため，前記所定の記憶手段に記憶されている前記イニシャル情報を読み出し，これを前記リクエスト受信手段が受信した通信に対する応答として前記クライアントに送信する応答手段と，
を備えるデバイスサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は，自身に接続されたコンピュータ周辺機器を，ネットワーク接続されたクライアントＰＣに利用させることのできるデバイスサーバ，およびデバイスサーバシステムに関するものである。
【背景技術】
【０００２】
スキャナやハードディスクといったコンピュータ周辺機器（以下，デバイスと称す）をネットワークに接続し，複数のクライアントＰＣにこれらのデバイスを利用させることのできるデバイスサーバと呼ばれる装置がある（特許文献１）。デバイスサーバは，以下詳述するようにその動作構造上，複数のクライアントＰＣから同時に利用することができない。デバイスサーバシステムは，デバイスがクライアントＰＣのバスに直接接続している状態をエミュレートすることによりネットワークを通じてデバイスをクライアントＰＣにて利用可能にするものである。このため，そのエミュレート状態を解除しなければ，他のクライアントＰＣからは利用できないわけである。たとえば，デバイスサーバではデバイスのインタフェースとしてＵＳＢ（Universal Serial Bus）を利用するが，以下の説明では，特に断りのない限り，インタフェースをＵＳＢとして説明する。
【０００３】
たとえば，あるクライアントＰＣがデバイスを利用する場合，クライアントＰＣ上で動作しているデバイスサーバシステムのソフトウェアを用いて，デバイスサーバに接続されているデバイスを選択し接続するという動作を行う。この動作により，クライアントＰＣのバスに対してデバイスが直接接続された状態をエミュレートできる。この間，他のクライアントＰＣから当該デバイスに接続することはできない。
一方，デバイスを利用していたクライアントＰＣが当該デバイスとの接続状態を解除（切断）すると，デバイスは他のクライアントＰＣから接続可能な状態になる。
【０００４】
デバイスサーバがこのような動作を行う理由は，デバイスが備える機能を可能な限りクライアントＰＣから利用できるようにするためである。デバイスサーバは，一般のネットワーク共有装置であるプリントサーバやＮＡＳ（Network Attached Storage）などと異なり，クライアントＰＣとデバイスの間で行われるバスの通信を直接ネットワーク上で送受信する。このため，クライアントＰＣは，理論上デバイスの備える全ての機能をネットワーク経由で利用することができる。ところが，このようなバスの通信は，プリントサーバやＮＡＳのように，もともとネットワーク経由で利用されることを想定したプロトコルを用いないため，常に１台のクライアントＰＣからしか利用できないわけである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開２００６／０８２７８２号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら，ネットワークが一般化した現在では，デバイスサーバ経由であっても複数のクライアントＰＣから同時にデバイスを利用したいという要望も多い。例えば，ＵＳＢカメラ・マイクロフォン等のデータを，ネットワーク経由で遠隔地にある複数のクライアントＰＣから同時に閲覧したい，という様な要望がある。あるいは，あるデバイスが測定したデータを複数のクライアントＰＣによってそれぞれ別個の処理を行いたい，という様な要望もある。本願発明は，かかる要望に応えるためのものである。すなわち，デバイスサーバシステムにおいて，複数のクライアントＰＣから，デバイスサーバに接続されたデバイスを同時に利用可能にすることを目的とする。
【課題を解決するための手段】
【０００７】
本願発明にかかる第１の形態は，複数のクライアントと，デバイスが接続されたデバイスサーバとが，ネットワーク接続されており，デバイスサーバがクライアントとデバイスとの通信を相互に変換することにより，クライアントとデバイスとの間においてネットワークを経由した通信が可能であるデバイスサーバシステムにおけるデバイスサーバであって，クライアントとデバイスとのデータ通信に先立ち必要な情報（イニシャル情報）を取得するために，クライアントがデバイスサーバに向けて送信した通信（リクエスト）を受信するリクエスト受信手段と，リクエスト受信手段が受信したリクエストのうち，いずれか１つのクライアントが送信したリクエストに対応するイニシャル情報を所定の記憶手段に記憶させるイニシャル情報受信手段と，リクエスト受信手段が，イニシャル情報受信手段が記憶させたイニシャル情報に対応するクライアント以外のクライアント（他クライアント）からのリクエストを受信すると，当該他のクライアントが受信すべき通信が前記クライアントにより受信される通信と同内容であり，当該他のクライアントが前記デバイスと個別の通信を行う必要がない場合，当該他のクライアントが前記デバイスと擬似接続されて前記デバイスからの単方向データを受信できる状態とするため，所定の記憶手段に記憶されているイニシャル情報を当該他クライアントからのリクエストに対して応答する応答手段と，を備えるデバイスサーバである。
【０００８】
本願発明にかかる第２の形態は，複数のクライアントと，デバイスが接続されたデバイスサーバとが，ネットワーク接続されており，デバイスサーバがクライアントとデバイスとの通信を相互に変換することにより，クライアントとデバイスとの間においてネットワークを経由した通信が可能であるデバイスサーバシステムにおけるデバイスサーバであって，クライアントとデバイスとのデータ通信に先立ち必要な情報（イニシャル情報）を取得するために，クライアントがデバイスサーバに向けて送信した通信（リクエスト）を受信するリクエスト受信手段と，リクエスト受信手段が受信した通信について，デバイスと通信を行い，イニシャル情報を取得するか否かを判断する判断手段と，判断手段が，情報取得が必要と判断した場合，デバイスと通信を行いイニシャル情報を取得し，これを所定の記憶手段に記憶させるイニシャル情報受信手段と，判断手段が，情報取得が不要と判断した場合，前記イニシャル情報受信手段が記憶させたイニシャル情報に対応するクライアント以外のクライアント（他クライアント）が前記デバイスと擬似接続され，前記デバイスと当該他のクライアントとの間で受信すべき通信の内容が同じであり，当該他のクライアントが前記デバイスと個別の通信を行う必要がない場合に，当該他のクライアントが前記デバイスからの単方向データを受信できる状態とするため，所定の記憶手段に記憶されているイニシャル情報を読み出し，これをリクエスト受信手段が受信した通信に対する応答としてクライアントに送信する応答手段と，を備えるデバイスサーバである。
【０００９】
さらに好ましくは，判断手段は，イニシャル情報を取得するか否かの判断に際し，所定の記憶手段にイニシャル情報が記憶されているかどうかに基づいて判断するものである。
【発明の効果】
【００１０】
本願発明によれば，デバイスからクライアントＰＣへの単方向の通信を行うデバイスサーバシステムにおいて，クライアントＰＣとデバイスとの接続時の情報（イニシャル情報）をデバイスサーバが記憶しておくことにより，他のクライアントＰＣからの接続リクエストが来てもデバイスとの通信を行わず，記憶しているイニシャル情報を応答することで，当該他のクライアントＰＣはデバイスに擬似接続することができ，デバイスからのデータも受信することができる。なお，本願発明の適用範囲は，複数台のすべてのクライアントＰＣが受信すべき通信が同内容であり，クライアントＰＣ毎にデバイスとの個別の通信を行う必要がない場合であり，デバイスとクライアントＰＣ間の通信はデバイスからクライアントＰＣへの単方向に限定される。
【発明を実施するための形態】
【００１１】
以下では図面を参照し本願発明に係る実施例を説明する。
［実施例］
［システム全体図］
【００１２】
図１は本願発明にかかるシステム全体図である。クライアントＰＣ１０１とデバイス１０３とがデバイスサーバ１０２を介してネットワーク接続されている。本実施例ではデバイス１０３をカメラとしているが，デバイスからクライアントＰＣに向けた単方向の通信を行うデバイスであればどのようなものでも本願発明は適用可能である。なお，当該単方向の通信とは，デバイスにとって本質的なデータの通信が単方向であるということを意味し，たとえばカメラの場合，カメラで撮影された映像データが相当し，マイクロフォンの場合，音声データが相当する。一方，クライアントＰＣからカメラに送信される映像データや音声データに対するリクエスト等の通信はデバイスにとって本質的なデータの通信ではないため，当該単方向の通信に含まない。
［機能ブロック図］
【００１３】
図２は本願発明にかかるデバイスサーバ１０２の機能ブロック図である。ネットワークＩ／Ｆ２０１は，ネットワークと接続するインタフェースであり，デバイスＩ／Ｆ２０６はデバイス１０３と接続するインタフェースである。なお，上述したようにデバイスＩ／Ｆ２０６は，たとえばＵＳＢのことである。デバイスサーバ１０２は，これらのインタフェース間の通信を相互にやり取りするものであり，それを可能にしているのがデータ変換手段２０２である。
【００１４】
データ変換手段２０２は，上述したそれぞれのインタフェースの通信を相互に変換する手段であり，具体的には，デバイス１０３が行う通信をネットワーク上でやり取りすることができるようカプセル化するとともに，ネットワークから受信したカプセル化データをデバイス１０３が行う通信形式に戻す役割を担う。
【００１５】
ここまで説明したネットワークＩ／Ｆ２０１，デバイスＩ／Ｆ２０６およびデータ変換手段２０２が，デバイスサーバ１０２が備える基本機能であり，本願発明のベースとなる従来技術である。
【００１６】
リクエスト受信手段２０３は，クライアントＰＣ１０１から送信される通信であって，デバイス１０３への接続をリクエストする通信を受信する手段である。この通信は，具体的には，クライアントＰＣ１０１が，デバイス１０３の能力を取得するための通信であり,たとえばデバイスＩ／Ｆ２０６がＵＳＢの場合，デバイスディスクリプタを要求する通信がそれに該当する。なお，クライアントＰＣ１０１とデバイス１０３との間で実際のデータ通信を行うには，データ通信に先立って前述したようなリクエストをクライアントＰＣ１０１からデバイス１０３に送信し，クライアントＰＣ１０１がデバイス１０３の能力を把握しておく必要がある。また，上述したように，このリクエストは本願発明が適用する，デバイスからクライアントＰＣに向けた単方向の通信ではない。
【００１７】
判断手段２０４は，リクエスト受信手段２０３が受信したリクエストに対する応答を，どのような方法により行うかを判断する手段である。具体的には，次の２つの方法のいずれを採用するかを判断する。１つは，デバイス１０３と直接通信を行い，リクエストに対する応答となる情報を得て応答することである。もう１つは，デバイス１０３と通信は行わず，後述する記憶手段２０７に記憶されている情報を読み出しこれを応答することである。次いで，判断の結果を後述するイニシャル情報受信手段２０５，または応答手段２０８に通知する。
【００１８】
イニシャル情報受信手段２０５は，デバイス１０３と通信を行いクライアントＰＣ１０１とデバイス１０３とのデータ通信に先立ち必要な情報（イニシャル情報）を取得し，これを記憶手段２０７に記憶させる。次いで，後述する応答手段２０８にイニシャル情報の取得および記憶させた旨通知する。
【００１９】
記憶手段２０７は，ＲＡＭなどの記憶領域であり，本願発明では上述したイニシャル情報を記憶する。なお，本実施例では記憶手段２０７はデバイスサーバ１０２の備える手段となっているが，本願発明はデバイスサーバ１０２外の所定の記憶手段であっても適用可能である。
【００２０】
応答手段２０８は，判断手段２０４，またはイニシャル情報受信手段２０５からの通知に基づいて，記憶手段２０７に記憶されているイニシャル情報を読み出し，これをクライアントＰＣ１０１に応答する。
［動作フロー］
【００２１】
図３はデバイスサーバ１０２の動作フローである。なお，各ステップの動作主体は図２で説明した各手段であり，その対応関係は図３に示すとおりである。
【００２２】
ステップ３０１にて，クライアントＰＣ１０１からリクエストを受信したかどうかを判断する。受信していれば次のステップに進み，そうでなければ受信処理を繰り返す。
【００２３】
ステップ３０２にて，受信したリクエストに対する応答としてのイニシャル情報を，デバイス１０３と通信して取得するか，記憶手段２０７に記憶されている情報を読み出して取得するかを判断する。デバイス１０３と通信する場合はステップ３０３に進み，そうでない場合はステップ３０５に進む。
【００２４】
ステップ３０３にて，デバイス１０３と通信を行いイニシャル情報を得る。次いでステップ３０４にて，取得したイニシャル情報を記憶手段２０７に記憶させる。
【００２５】
ステップ３０５にて，記憶手段２０７に記憶されているイニシャル情報を読み出し，ステップ３０６にて当該イニシャル情報をクライアントＰＣ１０１に対して応答する。
【００２６】
［その他の実施例］
上述した実施例での判断手段２０４の判断基準は様々なものを用いることができる。たとえば，判断手段２０４は，記憶手段２０７にイニシャル情報が記憶されているかどうかを判断基準とし，記憶されていなければデバイス１０３と通信を行うという判断をし，記憶されていればデバイス１０３と通信を行わず記憶手段２０７から読み出すという判断をしてもよい。
［まとめ］
【００２７】
本願発明によれば，デバイスからクライアントＰＣへの単方向の通信を行うデバイスサーバシステムにおいて，クライアントＰＣとデバイスとの接続時の情報（イニシャル情報）をデバイスサーバが記憶しておくことにより，他のクライアントＰＣからの接続リクエストが来てもデバイスとの通信を行わず，記憶しているイニシャル情報を応答することで，当該他のクライアントＰＣはデバイスに擬似接続することができ，デバイスからのデータも受信することができる。なお，本願発明の適用範囲は，複数台のすべてのクライアントＰＣが受信すべき通信が同内容であり，クライアントＰＣ毎にデバイスとの個別の通信を行う必要がない場合であり，デバイスとクライアントＰＣ間の通信はデバイスからクライアントＰＣへの単方向に限定される。
【図面の簡単な説明】
【００２８】
【図１】デバイスサーバシステム全体図
【図２】デバイスサーバの機能ブロック図
【図３】デバイスサーバの動作フロー
【符号の説明】
【００２９】
２０３  リクエスト受信手段
２０４  判断手段
２０５  イニシャル情報受信手段
２０８  応答手段
【図１】
0005799295.tif 000002
【図２】
0005799295.tif 000003
【図３】
0005799295.tif 000004