説明

複数のクライアントと同時通信可能なデバイスサーバ

【課題】デバイスサーバシステムにおいて,複数のクライアントPCから,デバイスサーバに接続されたデバイスを同時に利用可能にすることを目的とする。
【解決手段】デバイスからクライアントPCへの単方向の通信を行うデバイスサーバシステムにおいて,クライアントPCとデバイスとの接続時の情報(イニシャル情報)をデバイスサーバが記憶しておくことにより,他のクライアントPCからの接続リクエストが来てもデバイスとの通信を行わず,記憶しているイニシャル情報を応答することで,当該他のクライアントPCはデバイスに擬似接続することができ,デバイスからのデータも受信することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本願発明は,自身に接続されたコンピュータ周辺機器を,ネットワーク接続されたクライアントPCに利用させることのできるデバイスサーバ,およびデバイスサーバシステムに関するものである。
【背景技術】
【0002】
スキャナやハードディスクといったコンピュータ周辺機器(以下,デバイスと称す)をネットワークに接続し,複数のクライアントPCにこれらのデバイスを利用させることのできるデバイスサーバと呼ばれる装置がある(特許文献1)。デバイスサーバは,以下詳述するようにその動作構造上,複数のクライアントPCから同時に利用することができない。デバイスサーバシステムは,デバイスがクライアントPCのバスに直接接続している状態をエミュレートすることによりネットワークを通じてデバイスをクライアントPCにて利用可能にするものである。このため,そのエミュレート状態を解除しなければ,他のクライアントPCからは利用できないわけである。たとえば,デバイスサーバではデバイスのインタフェースとしてUSB(Universal Serial Bus)を利用するが,以下の説明では,特に断りのない限り,インタフェースをUSBとして説明する。
【0003】
たとえば,あるクライアントPCがデバイスを利用する場合,クライアントPC上で動作しているデバイスサーバシステムのソフトウェアを用いて,デバイスサーバに接続されているデバイスを選択し接続するという動作を行う。この動作により,クライアントPCのバスに対してデバイスが直接接続された状態をエミュレートできる。この間,他のクライアントPCから当該デバイスに接続することはできない。
一方,デバイスを利用していたクライアントPCが当該デバイスとの接続状態を解除(切断)すると,デバイスは他のクライアントPCから接続可能な状態になる。
【0004】
デバイスサーバがこのような動作を行う理由は,デバイスが備える機能を可能な限りクライアントPCから利用できるようにするためである。デバイスサーバは,一般のネットワーク共有装置であるプリントサーバやNAS(Network Attached Storage)などと異なり,クライアントPCとデバイスの間で行われるバスの通信を直接ネットワーク上で送受信する。このため,クライアントPCは,理論上デバイスの備える全ての機能をネットワーク経由で利用することができる。ところが,このようなバスの通信は,プリントサーバやNASのように,もともとネットワーク経由で利用されることを想定したプロトコルを用いないため,常に1台のクライアントPCからしか利用できないわけである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開2006/082782号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら,ネットワークが一般化した現在では,デバイスサーバ経由であっても複数のクライアントPCから同時にデバイスを利用したいという要望も多い。例えば,USBカメラ・マイクロフォン等のデータを,ネットワーク経由で遠隔地にある複数のクライアントPCから同時に閲覧したい,という様な要望がある。あるいは,あるデバイスが測定したデータを複数のクライアントPCによってそれぞれ別個の処理を行いたい,という様な要望もある。本願発明は,かかる要望に応えるためのものである。すなわち,デバイスサーバシステムにおいて,複数のクライアントPCから,デバイスサーバに接続されたデバイスを同時に利用可能にすることを目的とする。
【課題を解決するための手段】
【0007】
本願発明にかかる第1の形態は,複数のクライアントと,デバイスが接続されたデバイスサーバとが,ネットワーク接続されており,デバイスサーバがクライアントとデバイスとの通信を相互に変換することにより,クライアントとデバイスとの間においてネットワークを経由した通信が可能であるデバイスサーバシステムにおけるデバイスサーバであって,クライアントとデバイスとのデータ通信に先立ち必要な情報(イニシャル情報)であって,クライアントが当該イニシャル情報を取得するためにデバイスサーバに向けて送信した通信(リクエスト)を受信するリクエスト受信手段と,リクエスト受信手段が受信したリクエストのうち,いずれか1つのクライアントが送信したリクエストに対応するイニシャル情報を所定の記憶手段に記憶させるイニシャル情報受信手段と,リクエスト受信手段が,イニシャル情報受信手段が記憶させたイニシャル情報に対応するクライアント以外のクライアント(他クライアント)からのリクエストを受信すると,所定の記憶手段に記憶されているイニシャル情報を当該他クライアントからのリクエストに対して応答する応答手段と,を備えるデバイスサーバである。
【0008】
本願発明にかかる第2の形態は,複数のクライアントと,デバイスが接続されたデバイスサーバとが,ネットワーク接続されており,デバイスサーバがクライアントとデバイスとの通信を相互に変換することにより,クライアントとデバイスとの間においてネットワークを経由した通信が可能であるデバイスサーバシステムにおけるデバイスサーバであって,クライアントとデバイスとのデータ通信に先立ち必要な情報(イニシャル情報)であって,クライアントが当該イニシャル情報を取得するためにデバイスサーバに向けて送信した通信(リクエスト)を受信するリクエスト受信手段と,リクエスト受信手段が受信した通信について,デバイスと通信を行い,イニシャル情報を取得するか否かを判断する判断手段と,判断手段が,情報取得が必要と判断した場合,デバイスと通信を行いイニシャル情報を取得し,これを所定の記憶手段に記憶させるイニシャル情報受信手段と,判断手段が,情報取得が不要と判断した場合,所定の記憶手段に記憶されているイニシャル情報を読み出し,これをリクエスト受信手段が受信した通信に対する応答としてクライアントに送信する応答手段と,を備えるデバイスサーバである。
【0009】
さらに好ましくは,判断手段は,イニシャル情報を取得するか否かの判断に際し,所定の記憶手段にイニシャル情報が記憶されているかどうかに基づいて判断するものである。
【発明の効果】
【0010】
本願発明によれば,デバイスからクライアントPCへの単方向の通信を行うデバイスサーバシステムにおいて,クライアントPCとデバイスとの接続時の情報(イニシャル情報)をデバイスサーバが記憶しておくことにより,他のクライアントPCからの接続リクエストが来てもデバイスとの通信を行わず,記憶しているイニシャル情報を応答することで,当該他のクライアントPCはデバイスに擬似接続することができ,デバイスからのデータも受信することができる。なお,本願発明の適用範囲は,複数台のすべてのクライアントPCが受信すべき通信が同内容であり,クライアントPC毎にデバイスとの個別の通信を行う必要がない場合であり,デバイスとクライアントPC間の通信はデバイスからクライアントPCへの単方向に限定される。
【発明を実施するための形態】
【0011】
以下では図面を参照し本願発明に係る実施例を説明する。
[実施例]
[システム全体図]
【0012】
図1は本願発明にかかるシステム全体図である。クライアントPC101とデバイス103とがデバイスサーバ102を介してネットワーク接続されている。本実施例ではデバイス103をカメラとしているが,デバイスからクライアントPCに向けた単方向の通信を行うデバイスであればどのようなものでも本願発明は適用可能である。なお,当該単方向の通信とは,デバイスにとって本質的なデータの通信が単方向であるということを意味し,たとえばカメラの場合,カメラで撮影された映像データが相当し,マイクロフォンの場合,音声データが相当する。一方,クライアントPCからカメラに送信される映像データや音声データに対するリクエスト等の通信はデバイスにとって本質的なデータの通信ではないため,当該単方向の通信に含まない。
[機能ブロック図]
【0013】
図2は本願発明にかかるデバイスサーバ102の機能ブロック図である。ネットワークI/F201は,ネットワークと接続するインタフェースであり,デバイスI/F206はデバイス103と接続するインタフェースである。なお,上述したようにデバイスI/F206は,たとえばUSBのことである。デバイスサーバ102は,これらのインタフェース間の通信を相互にやり取りするものであり,それを可能にしているのがデータ変換手段202である。
【0014】
データ変換手段202は,上述したそれぞれのインタフェースの通信を相互に変換する手段であり,具体的には,デバイス103が行う通信をネットワーク上でやり取りすることができるようカプセル化するとともに,ネットワークから受信したカプセル化データをデバイス103が行う通信形式に戻す役割を担う。
【0015】
ここまで説明したネットワークI/F201,デバイスI/F206およびデータ変換手段202が,デバイスサーバ102が備える基本機能であり,本願発明のベースとなる従来技術である。
【0016】
リクエスト受信手段203は,クライアントPC101から送信される通信であって,デバイス103への接続をリクエストする通信を受信する手段である。この通信は,具体的には,クライアントPC101が,デバイス103の能力を取得するための通信であり,たとえばデバイスI/F206がUSBの場合,デバイスディスクリプタを要求する通信がそれに該当する。なお,クライアントPC101とデバイス103との間で実際のデータ通信を行うには,データ通信に先立って前述したようなリクエストをクライアントPC101からデバイス103に送信し,クライアントPC101がデバイス103の能力を把握しておく必要がある。また,上述したように,このリクエストは本願発明が適用する,デバイスからクライアントPCに向けた単方向の通信ではない。
【0017】
判断手段204は,リクエスト受信手段203が受信したリクエストに対する応答を,どのような方法により行うかを判断する手段である。具体的には,次の2つの方法のいずれを採用するかを判断する。1つは,デバイス103と直接通信を行い,リクエストに対する応答となる情報を得て応答することである。もう1つは,デバイス103と通信は行わず,後述する記憶手段207に記憶されている情報を読み出しこれを応答することである。次いで,判断の結果を後述するイニシャル情報受信手段205,または応答手段208に通知する。
【0018】
イニシャル情報受信手段205は,デバイス103と通信を行いクライアントPC101とデバイス103とのデータ通信に先立ち必要な情報(イニシャル情報)を取得し,これを記憶手段207に記憶させる。次いで,後述する応答手段208にイニシャル情報の取得および記憶させた旨通知する。
【0019】
記憶手段207は,RAMなどの記憶領域であり,本願発明では上述したイニシャル情報を記憶する。なお,本実施例では記憶手段207はデバイスサーバ102の備える手段となっているが,本願発明はデバイスサーバ102外の所定の記憶手段であっても適用可能である。
【0020】
応答手段208は,判断手段204,またはイニシャル情報受信手段205からの通知に基づいて,記憶手段207に記憶されているイニシャル情報を読み出し,これをクライアントPC101に応答する。
[動作フロー]
【0021】
図3はデバイスサーバ102の動作フローである。なお,各ステップの動作主体は図2で説明した各手段であり,その対応関係は図3に示すとおりである。
【0022】
ステップ301にて,クライアントPC101からリクエストを受信したかどうかを判断する。受信していれば次のステップに進み,そうでなければ受信処理を繰り返す。
【0023】
ステップ302にて,受信したリクエストに対する応答としてのイニシャル情報を,デバイス103と通信して取得するか,記憶手段207に記憶されている情報を読み出して取得するかを判断する。デバイス103と通信する場合はステップ303に進み,そうでない場合はステップ305に進む。
【0024】
ステップ303にて,デバイス103と通信を行いイニシャル情報を得る。次いでステップ304にて,取得したイニシャル情報を記憶手段207に記憶させる。
【0025】
ステップ305にて,記憶手段207に記憶されているイニシャル情報を読み出し,ステップ306にて当該イニシャル情報をクライアントPC101に対して応答する。
【0026】
[その他の実施例]
上述した実施例での判断手段204の判断基準は様々なものを用いることができる。たとえば,判断手段204は,記憶手段207にイニシャル情報が記憶されているかどうかを判断基準とし,記憶されていなければデバイス103と通信を行うという判断をし,記憶されていればデバイス103と通信を行わず記憶手段207から読み出すという判断をしてもよい。
[まとめ]
【0027】
本願発明によれば,デバイスからクライアントPCへの単方向の通信を行うデバイスサーバシステムにおいて,クライアントPCとデバイスとの接続時の情報(イニシャル情報)をデバイスサーバが記憶しておくことにより,他のクライアントPCからの接続リクエストが来てもデバイスとの通信を行わず,記憶しているイニシャル情報を応答することで,当該他のクライアントPCはデバイスに擬似接続することができ,デバイスからのデータも受信することができる。なお,本願発明の適用範囲は,複数台のすべてのクライアントPCが受信すべき通信が同内容であり,クライアントPC毎にデバイスとの個別の通信を行う必要がない場合であり,デバイスとクライアントPC間の通信はデバイスからクライアントPCへの単方向に限定される。
【図面の簡単な説明】
【0028】
【図1】デバイスサーバシステム全体図
【図2】デバイスサーバの機能ブロック図
【図3】デバイスサーバの動作フロー
【符号の説明】
【0029】
203 リクエスト受信手段
204 判断手段
205 イニシャル情報受信手段
208 応答手段

【特許請求の範囲】
【請求項1】
複数のクライアントと,
デバイスが接続されたデバイスサーバとが,
ネットワーク接続されており,
前記デバイスサーバが前記クライアントと前記デバイスとの通信を相互に変換することにより,前記クライアントと前記デバイスとの間においてネットワークを経由した通信が可能であるデバイスサーバシステムにおけるデバイスサーバであって,
前記クライアントと前記デバイスとのデータ通信に先立ち必要な情報(イニシャル情報)であって,前記クライアントが当該イニシャル情報を取得するために前記デバイスサーバに向けて送信した通信(リクエスト)を受信するリクエスト受信手段と,
前記リクエスト受信手段が受信したリクエストのうち,いずれか1つのクライアントが送信したリクエストに対応する前記イニシャル情報を所定の記憶手段に記憶させるイニシャル情報受信手段と,
前記リクエスト受信手段が,前記イニシャル情報受信手段が記憶させたイニシャル情報に対応するクライアント以外のクライアント(他クライアント)からのリクエストを受信すると,前記所定の記憶手段に記憶されている前記イニシャル情報を当該他クライアントからのリクエストに対して応答する応答手段と,
を備えるデバイスサーバ。
【請求項2】
複数のクライアントと,
デバイスが接続されたデバイスサーバとが,
ネットワーク接続されており,
前記デバイスサーバが前記クライアントと前記デバイスとの通信を相互に変換することにより,前記クライアントと前記デバイスとの間においてネットワークを経由した通信が可能であるデバイスサーバシステムにおけるデバイスサーバであって,
前記クライアントと前記デバイスとのデータ通信に先立ち必要な情報(イニシャル情報)であって,前記クライアントが当該イニシャル情報を取得するために前記デバイスサーバに向けて送信した通信(リクエスト)を受信するリクエスト受信手段と,
前記リクエスト受信手段が受信した通信について,前記デバイスと通信を行い,前記イニシャル情報を取得するか否かを判断する判断手段と,
前記判断手段が,情報取得が必要と判断した場合,前記デバイスと通信を行い前記イニシャル情報を取得し,これを所定の記憶手段に記憶させるイニシャル情報受信手段と,
前記判断手段が,情報取得が不要と判断した場合,前記所定の記憶手段に記憶されている前記イニシャル情報を読み出し,これを前記リクエスト受信手段が受信した通信に対する応答として前記クライアントに送信する応答手段と,
を備えるデバイスサーバ。
【請求項3】
前記判断手段は,前記イニシャル情報を取得するか否かの判断に際し,前記所定の記憶手段にイニシャル情報が記憶されているかどうかに基づいて判断することを特徴とする請求項2に記載のデバイスサーバ。




【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−256256(P2012−256256A)
【公開日】平成24年12月27日(2012.12.27)
【国際特許分類】
【出願番号】特願2011−129698(P2011−129698)
【出願日】平成23年6月10日(2011.6.10)
【出願人】(500112146)サイレックス・テクノロジー株式会社 (74)
【Fターム(参考)】