説明

周辺機器サーバシステム

【課題】周辺機器サーバシステムにおいて,煩雑な作業を必要とせず単に周辺機器ケーブルをLANケーブルや無線LANに置き換えたかのような直感的な使い勝手を得ることのできる周辺機器サーバシステムを提供する。
【解決手段】周辺機器サーバは,ホストより発行される通信アドレス設定要求を受信する通信アドレス設定要求受信手段と通信アドレス設定要求を受信すると自身と相互に通信可能なアドレスを生成するアドレス生成手段とアドレス生成手段により生成されたアドレスを通信アドレス設定要求に対する応答としてホストに応答し割り当てるアドレス割当手段とアドレスが割り当てられたホストに対し周辺機器への通信経路を確立するよう指示を出す,またはアドレスが割り当てられたホストに対し自ら通信経路を確立する通信経路確立手段を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,ネットワークを通じてホストから周辺機器サーバを経由して周辺機器を利用する周辺機器サーバシステムに関する。
【背景技術】
【0002】
近年急速に普及が進んでいるUSB(Universal Serial Bus)機器に代表されるコンピュータ周辺機器(以下周辺機器と称す)は,その規格上,ホストであるPCに直接接続することにより利用する形態を採っている。一方で,コンピュータネットワークが普及している現在,このような周辺機器をネットワーク経由で利用したいというニーズが存在し,これに応える技術として周辺機器サーバシステムという技術が開示されている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開2006/082782号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に開示の周辺機器サーバシステムに依れば,ネットワーク経由でPCから周辺機器を利用することができるため,周辺機器インタフェースの規格によるケーブル長の制限(USBの場合5メートル)を受けることがない。その一方で,このような周辺機器サーバシステムは,PC側にインストールされた専用ソフトを用いて操作対象の周辺機器を選択し接続する(PCとの間の仮想的な通信経路を予め確立する)という繁雑な作業が必要となる。このような作業はPCと周辺機器とをネットワーク経由で接続する運用形態となる当該システムにとって必須のものであるが,利用者にとってはその必要性が直感的に分かりづらく,結果として周辺機器サーバシステムの運用性を妨げる1つの要因となっていた。
【課題を解決するための手段】
【0005】
本願の第1の形態にかかる周辺機器サーバは,ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており,ホストには,周辺機器のデバイスドライバと,デバイスドライバが周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,周辺機器サーバには,ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,デバイスドライバと周辺機器との間に第1のカプセル操作手段および第2のカプセル操作手段を使用した仮想的な通信経路を確立することによりホストから周辺機器を利用することのできる周辺機器サーバシステムにおける周辺機器サーバにおいて,ホストより発行される通信アドレス設定要求を受信する通信アドレス設定要求受信手段と,受信した通信アドレス設定要求に対する応答として自身と相互に通信可能なアドレスをホストに応答し割り当てるアドレス割当手段と,アドレスが割り当てられたホストに対し周辺機器への通信経路を確立するよう指示を出す,またはアドレスが割り当てられたホストに対し自ら通信経路を確立する通信経路確立手段とを備えることを特徴とする。
【0006】
本願の第2の形態にかかるプログラムは,ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており, ホストには,周辺機器のデバイスドライバと,デバイスドライバが周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,周辺機器サーバには,ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,デバイスドライバと周辺機器との間に第1のカプセル操作手段および第2のカプセル操作手段を使用した仮想的な通信経路を確立することによりホストから周辺機器を利用することのできる周辺機器サーバシステムにおける周辺機器サーバにおいて,ホストに自身と周辺機器との間の通信経路を確立する旨の指示を周辺機器サーバから受信する手段と受信した指示に基づいて自身と周辺機器との間の通信経路を確立する手段として機能させることを特徴とする。
【0007】
本願の第3の形態にかかる周辺機器サーバシステムは,ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており,ホストには,周辺機器のデバイスドライバと,デバイスドライバが周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,周辺機器サーバには,ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,デバイスドライバと周辺機器との間に第1のカプセル操作手段および第2のカプセル操作手段を使用した仮想的な通信経路を確立することによりホストから周辺機器を利用することのできる周辺機器サーバシステムにおいて,周辺機器サーバは,ホストより発行される通信アドレス設定要求を受信する通信アドレス設定要求受信手段と受信した通信アドレス設定要求に対する応答として自身と相互に通信可能なアドレスをホストに応答し割り当てるアドレス割当手段とアドレスが割り当てられたホストに対し周辺機器への通信経路を確立するよう指示を出す通信経路確立指示手段とを備え,ホストは,通信経路確立指示手段による指示を受信する手段と受信した指示に基づいて,自身と周辺機器との間の通信経路を確立する手段とを備えることを特徴とする。
【0008】
本願の第4の形態にかかる周辺機器を利用する方法は,ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており,ホストには,周辺機器のデバイスドライバと,デバイスドライバが周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,周辺機器サーバには,ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,デバイスドライバと周辺機器との間に第1のカプセル操作手段および第2のカプセル操作手段を使用した仮想的な通信経路を確立することによりホストから周辺機器を利用する方法であって,周辺機器サーバが,ホストより発行される通信アドレス設定要求を受信するステップ,受信した通信アドレス設定要求に対する応答として自身と相互に通信可能なアドレスをホストに応答し割り当てるステップ,アドレスが割り当てられたホストに対し周辺機器への通信経路を確立するよう指示を出すステップ,ホストが,自身と周辺機器との間の通信経路を確立する旨の指示を周辺機器サーバから受信するステップ,受信した指示に基づいて,自身と周辺機器との間の通信経路を確立するステップから構成されることを特徴とする。
【0009】
本願の第5の形態にかかる周辺機器を利用する方法は,ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており,ホストには,周辺機器のデバイスドライバと,デバイスドライバが周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,周辺機器サーバには,ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,デバイスドライバと周辺機器との間に第1のカプセル操作手段および第2のカプセル操作手段を使用した仮想的な通信経路を確立することによりホストから周辺機器を利用する方法であって,周辺機器サーバが,ホストより発行される通信アドレス設定要求を受信するステップ,受信した通信アドレス設定要求に対する応答として自身と相互に通信可能なアドレスをホストに応答し割り当てるステップ,アドレスが割り当てられたホストに対し自ら通信経路を確立するステップから構成されることを特徴とする。
【発明の効果】
【0010】
本発明に依れば,周辺機器をネットワーク経由で利用するという従来技術(特許文献1)のメリットを残しつつ,デメリットであった運用の困難性を大幅に排除することができる。即ち,PCと周辺機器との間の距離はネットワークプロトコルが通信可能な範囲に及ぶため事実上無制限とすることができるという利点を維持しつつ,単に周辺機器ケーブルをLANケーブルや無線LANに置き換えたかのような直感的な使い勝手を得ることができる。
【発明を実施するための形態】
【0011】
以下では図面を参照し,本発明に係る実施例を説明する。
[実施例1]
[システム全体図]
【0012】
図1は本願発明に係るシステムの全体図である。ホストであるPC101と周辺機器サーバ103とがLANケーブルを通じて接続されている。図1では両者が直接接続される態様となっているが,間にリピータやスイッチングハブなど通常のネットワーク機器を介した形態であっても良い。ただし,詳細は後述するが,PC101と周辺機器サーバ103との間にリピータやスイッチングハブなどの中継装置を除く他のネットワーク機器は接続されない方が好ましい。
【0013】
周辺機器サーバ103にはPC101からの操作対象である周辺機器105が接続される。この接続にはUSBケーブルなど周辺機器インタフェースの規格に基づいたものを用いる。従って,周辺機器サーバ103と周辺機器105との間の距離はこの規格に基づいた長さに制限される。本実施例で示すようにインタフェースがUSBの場合は5メートルである。
[PCの機能ブロック図]
【0014】
図2はPC101の機能ブロック図である。デバイスドライバ201は,後に説明する入出力要求パケット(IRP)を発行することにより周辺機器105を制御するため,PC101にインストールされるソフトウェアである。第1のカプセル操作手段203は,デバイスドライバ201が発行する入出力要求パケットをネットワークパケットにカプセル化する手段である一方,逆にネットワークより受信したネットワークパケットから入出力要求パケットに対する応答データなどを取り出しデバイスドライバ201に送信する手段としても機能する。
【0015】
通信経路確立指示受信手段205は,PC101と周辺機器105との間の通信経路を確立する旨の,周辺機器サーバ103から送られる指示を受信する手段である。通信経路確立手段207は,受信した指示に基づきデバイスドライバ201と周辺機器105との間の仮想的な通信経路をネットワーク越しに確立する手段である。ただ,周辺機器サーバ103には複数の周辺機器が接続されることもあり得るため,通信経路の確立にはどの周辺機器との間の通信経路を確立するかという情報も含まれる。このようにして通信経路が確立されることで,PC101と周辺機器105がUSBケーブルにより直接接続されたかのようにPC101から周辺機器105を利用することができる。なお,従来技術である特許文献1ではこの通信経路の確立がPC101のユーザによる手動で行われていた。
【0016】
通信アドレス割当要求手段209は,ネットワーク通信における自己のアドレスの割り当てを要求する手段であって,一般的にはDHCP(Dynamic Host Configuration Protocol)サーバへ送信されるアドレス割り当て要求のことである。通信アドレス設定手段211は,当該割当要求に対する応答としてDHCPサーバより割り当てられたアドレスを自己に設定する手段である。これによりPC101はネットワーク上における他のネットワーク装置と相互に通信ができるようになる。第1のネットワーク通信手段213は,PC101がネットワーク上での通信を可能にする手段であり,一般的にはネットワークプロトコルなどの処理が含まれる。
[周辺機器サーバの機能ブロック図]
【0017】
デバイス制御手段301は,周辺機器サーバ103におけるデバイスドライバに相当するものであるが,これに限らずインタフェースのドライバなど周辺機器105の制御に必要な処理が含まれる。第2のカプセル操作手段303は,PC101より送信されたネットワークパケットから入出力要求パケットを取り出しこれをデバイス制御手段301に与える一方,デバイス制御手段301を通じて受信した周辺機器105からの応答データをネットワークパケットにカプセル化する手段としても機能する。
【0018】
通信アドレス割当要求受信手段305は,PC101からの通信アドレスの割当て要求を受信し,通信アドレス生成手段307にこの旨を通知する。通信アドレス生成手段307は,当該通知に応じてPC101に割り当てる通信アドレスを生成する。生成されるアドレスは,PC101と周辺機器サーバ103とが相互に通信可能なアドレスである。なお,本実施例では周辺機器サーバ103に予め静的な通信アドレスが設定されている場合を想定しているが,設定されていない場合は,相互に通信可能な周辺機器サーバ103自身に割り当てるアドレスとPC101に応答するアドレスとを生成すればよい。また,割り当てるアドレスは周辺機器サーバ103とPC101とが相互に通信可能でさえあればよく,必ずしも通信アドレス生成手段307によって生成が必要なものではない。即ち,他の装置が生成したり,周辺機器サーバ103自身が固定値で保持しているものなどであっても良い。通信アドレス応答手段309は,生成されたアドレスをPC101に割り当てるべく応答する。
【0019】
通信経路確立指示手段311は,PC101に対しデバイスドライバ201と周辺機器105との間の通信経路を確立するようPC101に指示を出すものである。第2のネットワーク通信手段313は,周辺機器サーバ103がネットワーク上での通信を可能にする手段であり,一般的にはネットワークプロトコルなどの処理が含まれる。
[PCと周辺機器サーバ間の通信シーケンス(1)]
【0020】
次に図4を参照してPC101が周辺機器105との間の通信経路を確立するまでの過程を説明する。S401にてPC101は自己の通信アドレスを設定するべく通信アドレス割当要求を送信する。先述したようにこの要求は一般的にはDHCPを用いて行われているため,特定の送信相手を指定しないブロードキャスト通信となる。従って,特定の周辺機器サーバ103を指定した要求ではなく,ネットワーク上における通信可能な範囲に存在する端末は全て受信することとなる。先に,PC101と周辺機器サーバ103との間には他のネットワーク機器が接続されない方が好ましいと説明したが,これは,周辺機器サーバ103以外に通信アドレス割り当て機能を持ったネットワーク装置が存在した場合,通信アドレスを割り当てる応答が複数返ってくることも想定され,その場合PC101に意図しない通信アドレスが設定されてしまう危険性があるということに基づいている。S403にて周辺機器サーバ103は受信した通信アドレス割当要求に基づきPC101に割り当てるべきアドレスを生成する。S405にて周辺機器サーバ103は生成されたアドレスをPC101に応答する。S407にてPC101は受信した通信アドレスを自己に設定する。S409にて周辺機器サーバ409はPC101に対し通信経路確立の指示を送信する。S411にてPC101は当該指示に基づきPC101と周辺機器105との間の通信経路を確立する。
[PCと周辺機器サーバ間の通信シーケンス(2)]
【0021】
図4では周辺機器サーバ103からの指示に基づきPC101が通信経路の確立を試みたが,勿論,周辺機器サーバ103から直接PC101に対し通信経路の確立を試みることが可能である(S501)。複数の周辺機器が周辺機器サーバ103に接続されている場合は,何れかの周辺機器を特定して接続を試みることとなる。
[総括]
【0022】
以上説明したように本発明に依れば,周辺機器をネットワーク経由で利用するという従来技術(特許文献1)のメリットを残しつつ,デメリットであった運用の困難性を大幅に排除することができる。即ち,PCと周辺機器との間の距離はネットワークプロトコルが通信可能な範囲に及ぶため事実上無制限とすることができるという利点を維持しつつ,単に周辺機器ケーブルをLANケーブルや無線LANに置き換えたかのような直感的な使い勝手を得ることができる。

【図面の簡単な説明】
【0023】
【図1】周辺機器利用システムの全体図
【図2】PCの機能ブロック図
【図3】周辺機器サーバの機能ブロック図
【図4】PCと周辺機器サーバ間の通信シーケンス図(1)
【図5】PCと周辺機器サーバ間の通信シーケンス図(2)
【符号の説明】
【0024】
305 通信アドレス割当要求受信手段
307 通信アドレス生成手段
309 通信アドレス応答手段
311 通信経路確立指示手段

【特許請求の範囲】
【請求項1】
ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており,
前記ホストには,前記周辺機器のデバイスドライバと,前記デバイスドライバが前記周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および前記周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,
前記周辺機器サーバには,前記ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および前記周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,
前記デバイスドライバと前記周辺機器との間に前記第1のカプセル操作手段および前記第2のカプセル操作手段を使用した仮想的な通信経路を確立することにより前記ホストから前記周辺機器を利用することのできる周辺機器サーバシステムにおける周辺機器サーバにおいて,
1)前記ホストより発行される通信アドレス設定要求を受信する通信アドレス設定要求受信手段と,
2)受信した前記通信アドレス設定要求に対する応答として自身と相互に通信可能なアドレスを前記ホストに応答し割り当てるアドレス割当手段と,
3)アドレスが割り当てられた前記ホストに対し前記周辺機器への通信経路を確立するよう指示を出す,またはアドレスが割り当てられた前記ホストに対し自ら通信経路を確立する通信経路確立手段と,
を備えることを特徴とする周辺機器サーバ。
【請求項2】
ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており,
前記ホストには,前記周辺機器のデバイスドライバと,前記デバイスドライバが前記周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および前記周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,
前記周辺機器サーバには,前記ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および前記周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,
前記デバイスドライバと前記周辺機器との間に前記第1のカプセル操作手段および前記第2のカプセル操作手段を使用した仮想的な通信経路を確立することにより前記ホストから前記周辺機器を利用することのできる周辺機器サーバシステムにおける周辺機器サーバにおいて,
前記ホストに
1)自身と前記周辺機器との間の通信経路を確立する旨の指示を前記周辺機器サーバから受信する手段と,
2)受信した前記指示に基づいて,自身と前記周辺機器との間の通信経路を確立する手段,
として機能させることを特徴とするプログラム。
【請求項3】
ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており,
前記ホストには,前記周辺機器のデバイスドライバと,前記デバイスドライバが前記周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および前記周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,
前記周辺機器サーバには,前記ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および前記周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,
前記デバイスドライバと前記周辺機器との間に前記第1のカプセル操作手段および前記第2のカプセル操作手段を使用した仮想的な通信経路を確立することにより前記ホストから前記周辺機器を利用することのできる周辺機器サーバシステムにおいて,
1)前記周辺機器サーバは,
a)前記ホストより発行される通信アドレス設定要求を受信する通信アドレス設定要求受信手段と,
b)受信した前記通信アドレス設定要求に対する応答として自身と相互に通信可能なアドレスを前記ホストに応答し割り当てるアドレス割当手段と,
c)アドレスが割り当てられた前記ホストに対し前記周辺機器への通信経路を確立するよう指示を出す通信経路確立指示手段と,
を備え,
2)前記ホストは,
d)前記通信経路確立指示手段による指示を受信する手段と,
e)受信した前記指示に基づいて,自身と前記周辺機器との間の通信経路を確立する手段と,
を備えることを特徴とする周辺機器サーバシステム。
【請求項4】
ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており,
前記ホストには,前記周辺機器のデバイスドライバと,前記デバイスドライバが前記周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および前記周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,
前記周辺機器サーバには,前記ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および前記周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,
前記デバイスドライバと前記周辺機器との間に前記第1のカプセル操作手段および前記第2のカプセル操作手段を使用した仮想的な通信経路を確立することにより前記ホストから前記周辺機器を利用する方法であって,
1)前記周辺機器サーバが,
a)前記ホストより発行される通信アドレス設定要求を受信するステップ,
b)受信した前記通信アドレス設定要求に対する応答として自身と相互に通信可能なアドレスを前記ホストに応答し割り当てるステップ,
c)アドレスが割り当てられた前記ホストに対し前記周辺機器への通信経路を確立するよう指示を出すステップ,
2)前記ホストが,
d)自身と前記周辺機器との間の通信経路を確立する旨の指示を前記周辺機器サーバから受信するステップ,
e)受信した前記指示に基づいて,自身と前記周辺機器との間の通信経路を確立するステップ,
から構成される周辺機器を利用する方法。
【請求項5】
ホストと,周辺機器が接続された周辺機器サーバとがネットワーク接続されており,
前記ホストには,前記周辺機器のデバイスドライバと,前記デバイスドライバが前記周辺機器に発行する入出力要求パケットをネットワークパケットとして送信するためにカプセル化する,および前記周辺機器サーバから送信されるカプセル化されたネットワークパケットより入出力要求パケットに対する応答データを取り出す第1のカプセル操作手段とが備えられ,
前記周辺機器サーバには,前記ホストから送信されるカプセル化されたネットワークパケットより入出力要求パケットを取り出す,および前記周辺機器からのデータを入出力要求パケットに対する応答データとしてホストに送信するためネットワークパケットとしてカプセル化する第2のカプセル操作手段とが備えられており,
前記デバイスドライバと前記周辺機器との間に前記第1のカプセル操作手段および前記第2のカプセル操作手段を使用した仮想的な通信経路を確立することにより前記ホストから前記周辺機器を利用する方法であって,
前記周辺機器サーバが,
1)前記ホストより発行される通信アドレス設定要求を受信するステップ,
2)受信した前記通信アドレス設定要求に対する応答として自身と相互に通信可能なアドレスを前記ホストに応答し割り当てるステップ,
3)アドレスが割り当てられた前記ホストに対し自ら通信経路を確立するステップ,
から構成される周辺機器を利用する方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate