説明

デバイス識別装置

【課題】シリアル番号を持たない複数の周辺機器が接続された場合であっても,常に当該周辺機器を一意に識別できる装置,プログラムおよびシステムを提供する。
【解決手段】デバイスサーバシステムにおいて,ドライバがUSBデバイスを指定する際に用いる論理通信経路の生成に,デバイスサーバのMACアドレスおよびUSBの物理ポート番号に基づいた第1の仮想シリアル番号とUSBデバイスの機器情報に基づいた第2の仮想シリアル番号の両方を用いる。これにより,ドライバからUSBデバイスへの通信経路である論理通信経路を常に固定的にすることができる。この結果,シリアル番号を持たないUSBデバイスを複数接続したとしても,ドライバからは,常に希望するUSBデバイスに対して通信を行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本願発明は,デバイスサーバシステムにおいてデバイスを識別する技術に関し,特に,デバイス自身が自己を識別させるための情報(デバイス識別情報)を備えていない場合に適用可能なものである。
【背景技術】
【0002】
USB機器(以下,USBデバイス)に代表される周辺機器をネットワークで共有するデバイスサーバシステムという技術が知られている。デバイスサーバシステムとは,図1に示すようなシステムであり,PC101などのコンピュータとUSBデバイスであるプリンタA103およびプリンタB104が接続されたデバイスサーバ102とがネットワーク接続されている環境において,PC101からネットワーク越しに当該USBデバイスを利用させることのできるシステムである。
【0003】
図1でも示すとおり,通常,デバイスサーバ102には複数のUSBデバイスが接続可能であり,PC101はネットワークを通じてこれらUSBデバイスを利用することができる(詳細は非特許文献1を参照)。
【先行技術文献】
【特許文献】
【0004】
【非特許文献1】サイレックス・テクノロジー株式会社 ホームページ<http://www.silex.jp/products/usbdeviceserver/index.html?init>
【0005】
ところで,デバイスサーバシステムにおいて複数のUSBデバイスを利用する場合,以下のような問題があった。
【0006】
通常,USBデバイスは,製造時に自身に割り当てられたユニークな番号であるシリアル番号(以下で記載のデバイス識別情報と同義)を,自身の備える不揮発性メモリに保存している。PC101上で動作し,USBデバイスを制御するドライバは,このシリアル番号を用いて生成された論理的な通信経路(以下,論理通信経路)によって,通信する相手(USBデバイス)を特定し,通信を行う。
【0007】
しかし,USBデバイスによっては,コスト等の事情から不揮発性メモリを搭載していない,即ち,シリアル番号を持たないものも存在する。そこで従来は,このようなUSBデバイスを識別する手段として,USBデバイスがデバイスサーバ102に接続された際,デバイスサーバ102によって仮想のシリアル番号(以下,第1の仮想シリアル番号と称し,その理由は後述する。)が生成され,ドライバとUSBデバイス間の通信は,この第1の仮想シリアル番号に基づいて生成された論理通信経路を用いて行われていた。なお,後述する本願発明においては,この仮想シリアル番号のほか,他の仮想シリアル番号も用いるため,第1の仮想シリアル番号と記載している。
【0008】
上述した第1の仮想シリアル番号は,USBデバイスの接続台数や接続順,および接続ポートなどの情報を元に生成されるものであるため,USBデバイスの電源を入れる順序やデバイスサーバ102がUSBデバイスを認識する順序などによって,その都度,変化してしまうことがあった。
【0009】
このような動作は,複数のUSBデバイスをそれぞれ区別して利用したいユーザにとっては,大きな問題となる。特に,同一機種のUSBデバイスを複数使用する場合,その区別をすることは事実上不可能であった。
【0010】
例えば,シリアル番号を持たない複数の同じ機種のUSBプリンタが接続されている場合,プリンタのステータスを監視するアプリケーションが表示するステータス情報が何れのプリンタのものかは一見しただけではわからない。また,表示されている情報とプリンタの対応関係が判明したとしても,次回の起動時に同じ対応関係になるとは限らないという問題もあった。このような問題に対して,以下の技術が開示されている。
【0011】
【特許文献2】特開2009−159048号公報
【0012】
特許文献2に開示の技術は,シリアル番号を持たないUSBデバイスが接続された際,上述した第1の仮想シリアル番号を生成するものであるが,この仮想シリアル番号が,常にユニーク(一意)で,固定的であることが特徴となるものである。これにより,USBデバイスの電源を入れなおしたとしても,常に固定的な論理通信経路が生成され,ドライバからは,常に希望するUSBデバイスへ通信が行えることを意図したものである。
【0013】
具体的には図2に示すとおり,USBデバイスが接続されたデバイスサーバ102のMACアドレスと,デバイスサーバ102のUSBポートに固定的に割り当てられている番号とを組みわせたものを第1の仮想シリアル番号として用いる。
【0014】
ところが,特許文献2に開示の技術は,常に一意の第1の仮想シリアル番号を生成できるものの,これをもとに生成される論理通信経路が,常に固定であるとは限らなかった。つまり,常に固定的な論理通信経路を生成するには,第1の仮想シリアル番号が固定なだけでは十分でなかったわけである。
【0015】
図3はこのような問題の具体例である。本図は,非特許文献1に開示のデバイスサーバシステムにおいてデータ通信経路を図示したものであり,PC101のドライバからデバイスサーバ102に接続されたプリンタA103およびプリンタB104を使う場面を想定したものである。
【0016】
デバイスサーバシステムは,本図で示す仮想ドライバが大きな役割を果たしている。この仮想ドライバが,ドライバが送受信可能なUSBパケットとデバイスサーバが送受信可能なネットワークパケットとを相互に変換することにより,PC101からデバイスサーバ102に接続されたデバイス(プリンタA103およびプリンタB104)が利用できるわけである。
【0017】
図3の論理通信経路Aおよび論理通信経路Bは,本来は,プリンタのシリアル番号をもとにドライバによって生成されるものである。特許文献2では,デバイスサーバ102のMACアドレスである112233445566と,デバイスサーバ102が備えるUSBポートの物理的(固定的)番号である01および02を組みわせた第1の仮想シリアル番号をもとに生成していた。
【0018】
図3の上側は,論理通信経路AがプリンタA103に対応しており,論理通信経路BがプリンタB104に対応している様子を示している。つまり,ドライバが論理通信経路Aを指定して通信することでプリンタA103と通信が行え,同様に論理通信経路Bを指定することでプリンタB104と通信が行えるわけである。
【0019】
しかしながら,特許文献2に開示の発明だけでは,毎回このような対応関係とならない場合もあった。つまり,図3の下側に示すように,論理通信経路BがプリンタA103に対応し,論理通信経路AがプリンタB104に対応することもあったわけである。
【0020】
このようになる原因は,ドライバが固定的な論理通信経路を生成する際に必要な情報が欠落していたことにある。すなわち,デバイスサーバ102のMACアドレスとデバイスサーバ102の物理的USBポート番号に基づいて生成された第1の仮想シリアル番号だけでは,常に固定的な論理通信経路を生成できなかったわけである。
【発明の概要】
【発明が解決しようとする課題】
【0021】
本願発明の目的は,上述した問題を解決するためのものである。すなわち,シリアル番号を持たない複数の周辺機器が接続された場合であっても,常に当該周辺機器を一意に識別できる装置,プログラムおよびシステムを提供することである。
【課題を解決するための手段】
【0022】
本願発明にかかる第1の形態は,周辺機器が接続可能な周辺機器サーバとコンピュータとがネットワークで接続され,当該コンピュータから当該周辺機器を利用可能な周辺機器利用システムにおける当該周辺機器サーバであって,周辺機器を接続する周辺機器インタフェースと,周辺機器サーバを常にユニークに特定することができる情報を取得する周辺機器サーバ情報取得手段と,周辺機器インタフェースに固定的に関連付けられた情報を取得する周辺機器インタフェース情報取得手段と,周辺機器の機器情報を取得する機器情報取得手段と,周辺機器インタフェースに接続された周辺機器が自身の識別情報(周辺機器識別情報)を備えているかどうかを判断する,周辺機器識別情報存否判断手段と,周辺機器識別情報存否判断手段が,周辺機器識別情報を備えていないと判断した場合動作する手段であって,周辺機器サーバ情報取得手段と周辺機器インタフェース情報取得手段とによって取得されたそれぞれの情報に基づき周辺機器利用システム内において常にユニークであり不変な第1の仮想識別情報を生成する第1の仮想識別情報生成手段,周辺機器から取得した機器情報に基づき第2の仮想識別情報を生成する第2の仮想識別情報生成手段,および生成した第1の仮想識別情報と生成した第2の仮想識別情報とに基づいて,周辺機器の仮想の識別情報(周辺機器仮想識別情報)を生成する,周辺機器仮想識別情報生成手段を備え,さらに,周辺機器サーバは,コンピュータから送信された周辺機器の識別情報の問い合わせに対し,生成した仮想周辺機器識別情報を応答する周辺機器識別情報応答手段,を備え,周辺機器仮想識別情報は,コンピュータにおいて,周辺機器に対する,常に固定の論理通信経路を生成するために用いられる,ことを特徴とする。
【0023】
さらに好ましくは,機器情報は周辺機器のデバイスディスクリプタであり,第2の仮想識別情報生成手段は,ディスクリプタのiManufacturer情報とiProduct情報を取得し,当該取得した情報に基づいて不変の値を特定し,当該不変の値を第2の仮想識別情報として生成する,ことを特徴とする。
【0024】
本願発明にかかる第2の形態は,周辺機器が接続可能な周辺機器サーバとコンピュータとがネットワークで接続され,当該コンピュータから当該周辺機器を利用可能な周辺機器利用システムにおける当該周辺機器サーバを,周辺機器サーバを常にユニークに特定することができる情報を取得する周辺機器サーバ情報取得手段と,周辺機器サーバの備える周辺機器インタフェースに固定的に関連付けられた情報を取得する周辺機器インタフェース情報取得手段と,周辺機器の機器情報を取得する機器情報取得手段と,周辺機器インタフェースに接続された周辺機器が自身の識別情報(周辺機器識別情報)を備えているかどうかを判断する,周辺機器識別情報存否判断手段と,周辺機器識別情報存否判断手段が,周辺機器識別情報を備えていないと判断した場合動作する,周辺機器サーバ情報取得手段と周辺機器インタフェース情報取得手段とによって取得されたそれぞれの情報に基づき周辺機器利用システム内において常にユニークであり不変な第1の仮想識別情報を生成する第1の仮想識別情報生成手段,周辺機器から取得した機器情報に基づき第2の仮想識別情報を生成する第2の仮想識別情報生成手段,および生成した第1の仮想識別情報と生成した第2の仮想識別情報とに基づいて,周辺機器の仮想の識別情報(周辺機器仮想識別情報)を生成する,周辺機器仮想識別情報生成手段を備え,さらに,周辺機器サーバは,コンピュータから送信された周辺機器の識別情報の問い合わせに対し,生成した仮想周辺機器識別情報を応答する周辺機器識別情報応答手段と,して機能させるプログラムであって,周辺機器仮想識別情報は,コンピュータにおいて,周辺機器に対する,常に固定の論理通信経路を生成するために用いられる,ことを特徴とする。
【0025】
さらに好ましくは,機器情報は周辺機器のデバイスディスクリプタであり,第2の仮想識別情報生成手段は,ディスクリプタのiManufacturer情報とiProduct情報を取得し,当該取得した情報に基づいて不変の値を特定し,当該不変の値を第2の仮想識別情報として生成する,ことを特徴とする。
【0026】
本願発明にかかる第3の形態は,周辺機器が接続可能な周辺機器サーバとコンピュータとがネットワークで接続され,当該コンピュータから当該周辺機器を利用可能な周辺機器利用システムであって,周辺機器サーバは,周辺機器を接続する周辺機器インタフェースと,周辺機器サーバを常にユニークに特定することができる情報を取得する周辺機器サーバ情報取得手段と,周辺機器インタフェースに固定的に関連付けられた情報を取得する周辺機器インタフェース情報取得手段と,周辺機器の機器情報を取得する機器情報取得手段と,周辺機器インタフェースに接続された周辺機器が自身の識別情報(周辺機器識別情報)を備えているかどうかを判断する,周辺機器識別情報存否判断手段と,周辺機器識別情報存否判断手段が,周辺機器識別情報を備えていないと判断した場合動作する手段であって,周辺機器サーバ情報取得手段と周辺機器インタフェース情報取得手段とによって取得されたそれぞれの情報に基づき周辺機器利用システム内において常にユニークであり不変な第1の仮想識別情報を生成する第1の仮想識別情報生成手段,周辺機器から取得した機器情報に基づき第2の仮想識別情報を生成する第2の仮想識別情報生成手段,および生成した第1の仮想識別情報と生成した第2の仮想識別情報とに基づいて,周辺機器の仮想の識別情報(周辺機器仮想識別情報)を生成する,周辺機器仮想識別情報生成手段,を備えるとともに,コンピュータから送信された周辺機器の識別情報の問い合わせに対し,生成した仮想周辺機器識別情報を応答する周辺機器識別情報応答手段,を備え,コンピュータは,周辺機器サーバに向けて,周辺機器識別情報の問い合わせを送信する手段と,問合せに対する応答として,周辺機器サーバから送信された周辺機器識別情報を受信する手段と,受信した周辺機器識別情報に基づいて,周辺機器に対する,常に固定の論理通信経路を生成する手段と,を備えることを特徴とする。
【0027】
さらに好ましくは,機器情報は周辺機器のデバイスディスクリプタであり,第2の仮想識別情報生成手段は,ディスクリプタのiManufacturer情報とiProduct情報を取得し,当該取得した情報に基づいて不変の値を特定し,当該不変の値を第2の仮想識別情報として生成する,ことを特徴とする。
【発明の効果】
【0028】
本願発明によれば,デバイスサーバシステムにおいて,ドライバがUSBデバイスを指定する際に用いる論理通信経路の生成に,デバイスサーバのMACアドレスおよびUSBの物理ポート番号に基づいた第1の仮想シリアル番号とUSBデバイスの機器情報に基づいた第2の仮想シリアル番号の両方を用いる。これにより,ドライバからUSBデバイスへの通信経路である論理通信経路を常に固定的にすることができる。この結果,シリアル番号を持たないUSBデバイスを複数接続したとしても,ドライバからは,常に希望するUSBデバイスに対して通信を行うことができる。
【発明を実施するための形態】
【0029】
以下では図面を参照し本願発明に係る実施例を説明する。
[実施例1]
[システム全体図]
【0030】
図1は本願発明にかかるシステム全体図の一例である。詳細説明は背景技術においてすでになされているため割愛する。なお,プリンタA103とプリンタB104は,同一機種である場合を想定する。
[シーケンス図(1)]
【0031】
図4は,本願発明にかかるデバイスサーバシステムのシーケンス図である。デバイスサーバ102にUSBデバイス(本実施例では同一機種プリンタを想定)が接続(ステップ401)され,デバイスサーバ102のステップ402およびステップ403において,それぞれのデバイス識別情報を生成する。
【0032】
その後,PC101からUSBデバイスへの接続要求(ステップ404)があれば,これに対してデバイスサーバ102は,生成したデバイス識別情報を応答(ステップ405)する。これを受信したPC101では,USBデバイスのドライバインストール(ステップ406)が行われ,PC101からデバイスへの通信が可能になる。この時,USBデバイスへの論理通信経路が生成される。
【0033】
そして,PC101,具体的にはPC101のドライバはUSBデバイスを指定して通信を行う(ステップ407)。この通信は,デバイスサーバ102を経由してUSBデバイスに到達する(ステップ408)。
【0034】
なお,本願発明は,上述したデバイス識別情報の生成(ステップ402)の処理に特徴を有するものであり,以下では,この部分を中心に説明する。
[機能ブロック図]
【0035】
図5はデバイスサーバ102の機能ブロック図である。
【0036】
デバイス識別情報存否判断手段505は,周辺機器インタフェース501を介してUSBデバイスの識別情報が存在するかどうかを判断する。このデバイス識別情報が上述した論理通信経路を生成する際に必要な情報であり,これが存在しない場合は,後述する第1の仮想シリアル番号生成手段504,および第2の仮想シリアル番号生成手段507に生成を指示する。
【0037】
第1の仮想シリアル番号生成手段504は,上記指示に基づき,デバイスサーバ情報取得手段503が取得したデバイスサーバ情報と周辺機器インタフェース情報取得手段502が取得した周辺機器インタフェース501のインタフェース情報をもとに第1の仮想シリアル番号を生成する。この第1の仮想シリアル番号は,背景技術において説明したとおりのものであり,デバイスサーバ102自身のMACアドレスと物理USBポート番号に基づいて生成されるものである。つまり,デバイスサーバ情報取得手段503が取得する情報は,デバイスサーバ102のMACアドレスであり,周辺機器インタフェース情報取得手段502が取得する情報は,当該USBデバイスが接続されている周辺機器インタフェース501の物理ポート番号である。
【0038】
第2の仮想シリアル番号生成手段507は,上記指示に基づき,機器情報取得手段506を経由して取得したデバイスの機器情報をもとに第2の仮想シリアル番号を生成する。ここでいう機器情報とは具体的には図8に示すものであり,一般的にはデバイスディスクリプタと呼ばれている。機器情報内にあるiManufacture,iProductおよびiSerialNumberは,本願発明において重要な情報であり,利用の仕方については後述する。
【0039】
デバイス識別情報生成手段508は,生成された第1の仮想シリアル番号と第2の仮想シリアル番号とを用いて,デバイス識別情報を生成する。
【0040】
デバイス識別情報問合受信手段510は,ネットワークインタフェース509を通じて,PC101からのデバイス識別情報問合せを受信し,デバイス識別情報応答手段511は,これに対する応答として,デバイス識別情報生成手段508が生成したデバイス識別情報を応答する。
[シーケンス図(2)]
【0041】
図6は,本願発明にかかるデバイスサーバシステムのシーケンス図である。図4との違いは,デバイス識別情報,およびその元となる第1の仮想シリアル番号と第2の仮想シリアル番号の使われ方を中心に記載している点である。なお,図示するように,ドライバと仮想ドライバは,いずれもPC101内部のものである。なお,仮想ドライバについては背景技術にて説明済みのため説明を省略する。
【0042】
ステップ601にて,USBデバイスがデバイスサーバ102に接続される。
【0043】
ステップ602にて,デバイスサーバ102は,接続されたUSBデバイスがデバイス識別情報を備えているかどうかを判断し,備えていなければ,ステップ603に進む。
【0044】
ステップ603にて,デバイスサーバ102は,USBデバイスのデバイス識別情報を生成する。具体的には,すでに説明した第1の仮想シリアル番号,および第2の仮想シリアル番号を生成し,これらをもとにデバイス識別情報を生成する。
【0045】
ステップ604にて,PC101の仮想ドライバからデバイスサーバ102に向けて送信された,USBデバイスへの接続要求を受信する。
【0046】
ステップ605にて,受信した接続要求に対し,デバイスサーバ102は生成したデバイス識別情報を応答する。
【0047】
ステップ606にて,仮想ドライバは受信したデバイス識別情報をドライバに渡す。
【0048】
ステップ607にて,ドライバは渡されたデバイス識別情報をもとにUSBデバイスへの論理通信経路を生成する。
【0049】
ステップ608にて,ドライバは生成した論理通信経路を指定してUSBデバイスへの通信を開始する。
【0050】
ステップ609にて,仮想ドライバは,ドライバが指定した論理通信経路をもとにUSBデバイスへの通信経路を特定する。具体的には,USBデバイスに対するインタフェースおよびエンドポイントを特定する。
【0051】
ステップ610にて,仮想ドライバは特定した通信経路をネットワークパケットに変換する。
【0052】
ステップ611にて,このネットワークパケットをデバイスサーバ102に送信する。
【0053】
ステップ612にて,ネットワークパケットを受信したデバイスサーバ102は,中身のインタフェースおよびエンドポイントを参照し,該当するUSBデバイスに対して通信を行う。
[デバイス識別情報生成の動作フロー]
【0054】
図7はデバイスサーバ102がデバイス識別情報を生成する際の動作フローである。この処理は図6におけるステップ607の具体的動作である。
【0055】
すでに述べたように,本願発明では,USBデバイスがデバイス識別情報を備えていない場合,デバイスサーバ102がこれを生成する。そして,このデバイス識別情報は,第1の仮想シリアル番号と第2の仮想シリアル番号をもとに生成されるものである。
【0056】
したがって,デバイス識別情報を生成するフローとしては,ステップ701〜ステップ703に示す通りとなる。
【0057】
第1の仮想シリアル番号を生成するため,ステップ711において,デバイスサーバ102のMACアドレスを取得する。
【0058】
ステップ712において,USBデバイスが接続されているUSBポートの物理ポート番号を取得する。
【0059】
ステップ713において,これらの情報をもとに第1の仮想シリアル番号を生成する。この生成の過程は図2で示したとおりである。
【0060】
第2の仮想シリアル番号を生成するため,ステップ721にて,USBデバイスの機器情報を取得する。この機器情報は図8に示した通りでる。
【0061】
ステップ722にて,取得した機器情報のiManufacturer情報を参照する。
【0062】
ステップ723にて,取得した機器情報のiProduct情報を参照する。
【0063】
ステップ724にて,参照したiManufacturer情報およびiProduct情報をもとに第2の仮想シリアル番号を生成する。
[第2の仮想シリアル番号生成の規則]
【0064】
すでに述べたように,本願発明の特徴は,デバイス識別情報の生成にある。このデバイス識別情報の生成には第1の仮想シリアル番号と第2の仮想シリアル番号が用いられる。従来技術においては,第1の仮想シリアル番号だけを用いており,それだけでは不十分であると述べた。そこで本願発明では,第2の仮想シリアル番号も用いるが,以下で,その生成の詳細について説明する。
【0065】
第2の仮想シリアル番号の生成には,USBデバイスの機器情報(デバイスディスクリプタ)が用いられてり,中でもiManufacturer情報とiProduct情報を用いる。これらの情報はUSBデバイスの製造者が任意に設定できる値である。
【0066】
図9は,第2の仮想シリアル番号生成の規則について図示したものである。図9において第2の仮想シリアル番号に相当するのは,iSerialNumberである。これは1バイトの値で表されるものであり,iManufacturer情報とiProduct情報をもとに生成される。
【0067】
iManufacturer情報とiProduct情報も通常は1バイトの値である。図示するように,iManufacturer情報が1であり,iProduct情報が2である場合には,iSerialNumberは3を割り当てる。
【0068】
別の例として,iManufacturer情報が2であり,iProduct情報が0である場合には,iSerialNumberは1を割り当てる。
【0069】
このようにiSerialNumberを生成するには所定の規則がある。つまり,iManufacturer情報とiProduct情報を除いた値で1に最も近い値が,iSerialNumberになるわけである。
【0070】
このような規則を設けることにより,iManufacturer情報とiProduct情報との重複を避けつつ,常に固定のiSerialNumberを生成することができる。ひいては,これをもとに生成されるデバイス識別情報や,さらには論理通信経路を常に固定のものとすることができるわけである。
【0071】
なお,iSerialNumberは,iManufacturer情報とiProduct情報と重複せず,常に不変(固定的)なものであればどのような値でもよい。上述したように,最も1に近い値とするのは,こうした条件を満たす方法のうちの1つである。
【0072】
ところで,USBデバイスが同じ機種の場合には,iManufacturer情報とiProduct情報とが同じ値になることもある。このような場合,上記の規則に従ってiSerialNumberを生成すると,当然同じ値のiSerialNumberが得られることとなる。USBデバイスの識別は,上述の第1の仮想シリアル番号で可能であるため,同じ値のiSerialNumberが生成されることは特に問題ではない。本願発明にとって重要なのは,任意のUSBデバイスに対して生成されるiSerialNumberが常に同じ値であることであり,それが他のUSBデバイスのiSerialNumberと同じであるかどうかは問わないわけである。
【0073】
さらに別の場合として,iManufacturer情報とiProduct情報を持たないUSBデバイスもある。ただ,どのようなUSBデバイスであってもデバイスディスクリプタは備えていることから,iManufacturer情報とiProduct情報には,単に0(ゼロ)の値が入っているだけである。このような場合も,上述するように同じ値のiSerialNumberが生成されることとなる。
[まとめ]
【0074】
本願発明によれば,デバイスサーバシステムにおいて,ドライバがUSBデバイスを指定する際に用いる論理通信経路の生成に,デバイスサーバのMACアドレスおよびUSBの物理ポート番号に基づいた第1の仮想シリアル番号とUSBデバイスの機器情報に基づいた第2の仮想シリアル番号の両方を用いる。これにより,ドライバからUSBデバイスへの通信経路である論理通信経路を常に固定的にすることができる。この結果,シリアル番号を持たないUSBデバイスを複数接続したとしても,ドライバからは,常に希望するUSBデバイスに対して通信を行うことができる。
【図面の簡単な説明】
【0075】
【図1】システム全体図
【図2】第1の仮想シリアル番号生成の様子
【図3】論理通信経路とデバイスとの対応
【図4】シーケンス図(1)
【図5】デバイスサーバの機能ブロック
【図6】シーケンス図(2)
【図7】デバイス識別情報生成の動作フロー
【図8】機器情報の詳細
【図9】第2の仮想シリアル番号生成の規則
【符号の説明】
【0076】
501 周辺機器インタフェース
502 周辺機器インタフェース情報取得手段
503 デバイスサーバ情報取得手段
504 第1の仮想シリアル番号生成手段
505 デバイス識別情報存否判断手段
506 機器情報取得手段
507 第2の仮想シリアル番号生成手段
508 デバイス識別情報生成手段
510 デバイス識別情報問合受信手段
511 デバイス識別情報応答手段


【特許請求の範囲】
【請求項1】
周辺機器が接続可能な周辺機器サーバとコンピュータとがネットワークで接続され,当該コンピュータから当該周辺機器を利用可能な周辺機器利用システムにおける当該周辺機器サーバであって,
(1)周辺機器を接続する周辺機器インタフェースと,
(2)前記周辺機器サーバを常にユニークに特定することができる情報を取得する周辺機器サーバ情報取得手段と,
(3)前記周辺機器インタフェースに固定的に関連付けられた情報を取得する周辺機器インタフェース情報取得手段と,
(4)前記周辺機器の機器情報を取得する機器情報取得手段と,
(5)周辺機器インタフェースに接続された周辺機器が自身の識別情報(周辺機器識別情報)を備えているかどうかを判断する,周辺機器識別情報存否判断手段と,
前記周辺機器識別情報存否判断手段が,周辺機器識別情報を備えていないと判断した場合動作する手段であって,
(6−a)前記周辺機器サーバ情報取得手段と前記周辺機器インタフェース情報取得手段とによって取得されたそれぞれの情報に基づき前記周辺機器利用システム内において常にユニークであり不変な第1の仮想識別情報を生成する第1の仮想識別情報生成手段,
(6−b)前記周辺機器から取得した前記機器情報に基づき第2の仮想識別情報を生成する第2の仮想識別情報生成手段,および
(6−c)生成した第1の仮想識別情報と生成した第2の仮想識別情報とに基づいて,前記周辺機器の仮想の識別情報(周辺機器仮想識別情報)を生成する,周辺機器仮想識別情報生成手段
を備え,
さらに,前記周辺機器サーバは,
(7)前記コンピュータから送信された前記周辺機器の識別情報の問い合わせに対し,生成した前記仮想周辺機器識別情報を応答する周辺機器識別情報応答手段,を備え,
前記周辺機器仮想識別情報は,前記コンピュータにおいて,前記周辺機器に対する,常に固定の論理通信経路を生成するために用いられる,
ことを特徴とする。
【請求項2】
前記機器情報は前記周辺機器のデバイスディスクリプタであり,
前記第2の仮想識別情報生成手段は,前記ディスクリプタのiManufacturer情報とiProduct情報を取得し,当該取得した情報に基づいて不変の値を特定し,当該不変の値を第2の仮想識別情報として生成する,
ことを特徴とする請求項1に記載の周辺機器サーバ。
【請求項3】
周辺機器が接続可能な周辺機器サーバとコンピュータとがネットワークで接続され,当該コンピュータから当該周辺機器を利用可能な周辺機器利用システムにおける当該周辺機器サーバを,
(1)前記周辺機器サーバを常にユニークに特定することができる情報を取得する周辺機器サーバ情報取得手段と,
(2)前記周辺機器サーバの備える周辺機器インタフェースに固定的に関連付けられた情報を取得する周辺機器インタフェース情報取得手段と,
(3)前記周辺機器の機器情報を取得する機器情報取得手段と,
(4)前記周辺機器インタフェースに接続された周辺機器が自身の識別情報(周辺機器識別情報)を備えているかどうかを判断する,周辺機器識別情報存否判断手段と,
前記周辺機器識別情報存否判断手段が,周辺機器識別情報を備えていないと判断した場合動作する,
(5−a)前記周辺機器サーバ情報取得手段と前記周辺機器インタフェース情報取得手段とによって取得されたそれぞれの情報に基づき前記周辺機器利用システム内において常にユニークであり不変な第1の仮想識別情報を生成する第1の仮想識別情報生成手段,
(5−b)前記周辺機器から取得した前記機器情報に基づき第2の仮想識別情報を生成する第2の仮想識別情報生成手段,および
(5−c)生成した第1の仮想識別情報と生成した第2の仮想識別情報とに基づいて,前記周辺機器の仮想の識別情報(周辺機器仮想識別情報)を生成する,周辺機器仮想識別情報生成手段を備え,
さらに,前記周辺機器サーバは,
(7)前記コンピュータから送信された前記周辺機器の識別情報の問い合わせに対し,生成した前記仮想周辺機器識別情報を応答する周辺機器識別情報応答手段と,して機能させるプログラムであって,
前記周辺機器仮想識別情報は,前記コンピュータにおいて,前記周辺機器に対する,常に固定の論理通信経路を生成するために用いられる,
ことを特徴とする。
【請求項4】
前記機器情報は前記周辺機器のデバイスディスクリプタであり,
前記第2の仮想識別情報生成手段は,前記ディスクリプタのiManufacturer情報とiProduct情報を取得し,当該取得した情報に基づいて不変の値を特定し,当該不変の値を第2の仮想識別情報として生成する,
ことを特徴とする請求項3に記載のプログラム。
【請求項5】
周辺機器が接続可能な周辺機器サーバとコンピュータとがネットワークで接続され,当該コンピュータから当該周辺機器を利用可能な周辺機器利用システムであって,
前記周辺機器サーバは,
(1)周辺機器を接続する周辺機器インタフェースと,
(2)前記周辺機器サーバを常にユニークに特定することができる情報を取得する周辺機器サーバ情報取得手段と,
(3)前記周辺機器インタフェースに固定的に関連付けられた情報を取得する周辺機器インタフェース情報取得手段と,
(4)前記周辺機器の機器情報を取得する機器情報取得手段と,
(5)周辺機器インタフェースに接続された周辺機器が自身の識別情報(周辺機器識別情報)を備えているかどうかを判断する,周辺機器識別情報存否判断手段と,
前記周辺機器識別情報存否判断手段が,周辺機器識別情報を備えていないと判断した場合動作する手段であって,
(6−a)前記周辺機器サーバ情報取得手段と前記周辺機器インタフェース情報取得手段とによって取得されたそれぞれの情報に基づき前記周辺機器利用システム内において常にユニークであり不変な第1の仮想識別情報を生成する第1の仮想識別情報生成手段,
(6−b)前記周辺機器から取得した前記機器情報に基づき第2の仮想識別情報を生成する第2の仮想識別情報生成手段,および
(6−c)生成した第1の仮想識別情報と生成した第2の仮想識別情報とに基づいて,前記周辺機器の仮想の識別情報(周辺機器仮想識別情報)を生成する,周辺機器仮想識別情報生成手段,を備えるとともに,
(7)前記コンピュータから送信された前記周辺機器の識別情報の問い合わせに対し,生成した前記仮想周辺機器識別情報を応答する周辺機器識別情報応答手段,を備え,
前記コンピュータは,
(8)前記周辺機器サーバに向けて,周辺機器識別情報の問い合わせを送信する手段と,
(9)前記問合せに対する応答として,前記周辺機器サーバから送信された周辺機器識別情報を受信する手段と,
(10)受信した周辺機器識別情報に基づいて,前記周辺機器に対する,常に固定の論理通信経路を生成する手段と,
を備えることを特徴とする。
【請求項6】
前記機器情報は前記周辺機器のデバイスディスクリプタであり,
前記第2の仮想識別情報生成手段は,前記ディスクリプタのiManufacturer情報とiProduct情報を取得し,当該取得した情報に基づいて不変の値を特定し,当該不変の値を第2の仮想識別情報として生成する,
ことを特徴とする請求項5に記載の周辺機器利用システム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−109466(P2013−109466A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−252546(P2011−252546)
【出願日】平成23年11月18日(2011.11.18)
【出願人】(500112146)サイレックス・テクノロジー株式会社 (74)
【Fターム(参考)】