(57)【要約】【課題】デバイス制御装置にローカル接続されたデバイスを情報処理装置が仮想化制御している場合、デバイス制御装置は情報処理装置から制御されるデバイスの状態について整合性を取らなければならない。【解決手段】デバイス制御装置は、解像度情報紐付け部によってインターフェース設定要求と要求元の情報処理装置とを紐付け、設定値に応じたデバイスが複数存在するかのように情報処理装置に認識させて、情報処理装置に仮想化制御させ、各情報処理装置のデータ取得要求に応じたデータを送信する。【選択図】図１
2018190046.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して少なくとも１台以上の情報処理装置に接続されるとともに、各設定に応じた所定のデータをローカル接続されているデバイスから取得するデバイス制御装置であって、
前記設定ごとに前記デバイスの個体識別情報を生成し、前記情報処理装置に送信する識別情報生成手段と、
前記設定ごとに前記デバイスが複数あるかのように前記情報処理装置に認識させ、当該デバイスを情報処理装置に仮想化制御させる仮想化制御手段と、
前記デバイスを仮想化制御している前記情報処理装置が第１の設定によるデータ取得要求から第２の設定によるデータ取得要求に変更した場合、第２の設定に対応するデータを前記情報処理装置に送信するデータ送信手段と、
を備えることを特徴とするデバイス制御装置。
【請求項２】
前記情報処理装置との間の負荷を計測する負荷計測手段と、
前記負荷計測手段の計測結果に応じて前記情報処理装置のデータ処理性能を算出する性能算出手段と、 
前記性能算出手段によって算出されたデータ処理性能と前記デバイスの対応可能なデータの前記設定から、前記情報処理装置に送信可能なデータの設定を決定する決定手段と、をさらに備え、
前記データ送信手段が前記決定手段によって決定された設定を前記情報処理装置に送信することを特徴とする請求項１に記載のデバイス制御装置。
【請求項３】
前記デバイス制御装置に接続された前記情報処理装置からの前記データ取得要求に含まれる前記設定の数に応じて、前記設定に対応するデータの取得を制御することを特徴とする請求項１または請求項２に記載のデバイス制御装置。
【請求項４】
前記データ取得要求を送信した前記情報処理装置と当該データ取得要求に含まれる設定値とを紐付ける紐付け手段をさらに備え、
前記データ送信手段が前記紐付け手段に基づき前記設定に対応したデータを前記情報処理装置に送信することを特徴とする請求項１乃至請求項３の何れか１項に記載のデバイス制御装置。
【請求項５】
ネットワークを介して少なくとも１台以上の情報処理装置に接続されるとともに、各設定に応じた所定のデータをローカル接続されているデバイスから取得するデバイス制御装置のデバイス制御方法であって、
前記設定ごとに前記デバイスの個体識別情報を生成し、前記情報処理装置に送信する識別情報生成ステップと、
前記設定ごとに前記デバイスが複数あるかのように前記情報処理装置に認識させ、当該デバイスを情報処理装置に仮想化制御させる仮想化制御ステップと、
前記仮想化制御をしている前記情報処理装置が第１の設定によるデータ取得要求から第２の設定によるデータ取得要求に変更した場合、第２の設定に対応するデータを前記情報処理装置に送信するデータ送信ステップと、
を備えることを特徴とするデバイス制御方法。
【請求項６】
請求項１乃至請求項４の何れか１項に記載のデバイス制御装置の各手段をコンピュータに機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続された情報処理装置から送られる各種要求を処理するためのデバイス制御装置、デバイス制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークの普及により、パーソナルコンピュータ（以下、情報処理装置）などに直結（ローカル接続）して利用していた周辺機器（デバイス）を、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークを介して情報処理装置から利用できるように制御する装置（デバイス制御装置）がいくつか提案されている。
【０００３】
例えば、情報処理装置とＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格のインターフェースを介して直結（ローカル接続）して使用するプリンタ、ストレージ、スキャナなどのデバイス（以下、ＵＳＢデバイス）をデバイス制御装置に接続することで、ネットワーク上の情報処理装置は、デバイス制御装置を介してＵＳＢデバイスにアクセスし、直結（ローカル接続）したときと同様の状態で使用できるようになるものがある。
【０００４】
特許文献１では、周辺機器サーバ（デバイス制御装置）を介してネットワーク上のネットワーククライアント（情報処理装置）と周辺機器（デバイス）間でデータ送受信を可能とするデバイス制御システムにおいて、アイソクロナス転送により、周辺機器で処理されたデータをネットワーククライアントにデータ転送するものが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−０９０８４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
デバイス制御装置にローカル接続されたデバイスを複数の情報処理装置が仮想化制御している場合、一方の情報処理装置によるデバイスの仮想化制御において、デバイス制御装置が当該デバイスを仮想化制御している他方の情報処理装置についてもデバイスの状態の整合性を取る必要がある。これは、複数の情報処理装置からデバイスを仮想化制御した場合に、一方の情報処理装置がデバイスの設定を変更した場合に、他方の情報処理装置が意図しない設定により動作してしまうためである。
【０００７】
本発明は、デバイス制御装置にローカル接続されたデバイスを情報処理装置が仮想化制御している場合、デバイス制御装置にローカル接続されたデバイスを設定値ごとにデバイスが複数あるかのように情報処理装置に認識させることで、情報処理装置がデバイスの設定を変更した場合に、意図しない設定により動作することを防ぐことが可能なデバイス制御装置、デバイス制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、請求項１に記載のデバイス制御装置は、ネットワークを介して少なくとも１台以上の情報処理装置に接続されるとともに、各設定に応じた所定のデータをローカル接続されているデバイスから取得するデバイス制御装置であって、前記設定ごとに前記デバイスの個体識別情報を生成し、前記情報処理装置に送信する識別情報生成手段と、前記設定ごとに前記デバイスが複数あるかのように前記情報処理装置に認識させ、当該デバイスを情報処理装置に仮想化制御させる仮想化制御手段と、前記デバイスを仮想化制御している前記情報処理装置が第１の設定によるデータ取得要求から第２の設定によるデータ取得要求に変更した場合、第２の設定に対応するデータを前記情報処理装置に送信するデータ送信手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、デバイス制御装置にローカル接続されたデバイスをネットワーク上の情報処理装置で仮想化制御した際に、情報処理装置に設定値ごとにデバイスがあるかのように認識させることで情報処理装置がデバイスの設定を変更した場合に、意図しない設定により動作することを防ぐことが可能になる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態によるデバイス制御システムの一例を概略的に示すブロック図である。
【図２】図１の解像度情報、デバイス解像度情報、負荷状況デバイス解像度情報、紐付け情報の一例を示す図である。
【図３】本発明の第１の実施形態においてデバイス制御装置がデバイスから取得した画像を情報処理装置に送信する場合のシーケンス図の一例である。
【図４】デバイス制御装置がデバイスから画像を取得する際の動作を説明するシーケンス図である。
【図５】情報処理装置がデバイス制御装置の保持する画像を取得する際の動作を説明するシーケンス図である。
【図６】本発明の第２の実施形態によるデバイス制御システムの一例を概略的に示すブロック図である。
【図７】第２の実施形態にデバイス制御装置が情報処理装置からの仮想化制御の開始に応じてネットワーク性能情報を算出し、算出結果に応じた負荷状況デバイス解像度情報を各情報処理装置に送信する場合のシーケンス図の一例である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態によるデバイス制御システムの一例について図面を参照して説明する。
【００１２】
[第１の実施形態]
図１は、本発明の第１の実施形態によるデバイス制御システムの一例を概略的に示すブロック図である。
【００１３】
＜システム構成＞
図示のデバイス制御システムにおいては、情報処理装置１００Ａと情報処理装置１００Ｂ、デバイス制御装置２００、デバイス３００から構成されている。
【００１４】
情報処理装置１００Ａと情報処理装置１００Ｂ、デバイス制御装置２００は有線回線または無線回線のローカルエリアネットワーク（ＬＡＮ）を介して接続されている。または、情報処理装置１００Ａ、情報処理装置１００Ｂ、および、デバイス制御装置２００が、３Ｇ回線やＷｉ−Ｆｉ（登録商標）などの無線通信路を介して接続されている。
【００１５】
デバイス３００は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェースに準拠した接続ケーブルでデバイス制御装置２００に接続（ローカル接続）されている。ただし、ＵＳＢに限定されるものではなく、ＩＥＥＥ１３９４やＦｉｂｒｅ  Ｃｈａｎｎｅｌなど別のインターフェースに準拠したものであってもよい。以降の説明ではデバイス３００の通信インターフェースをＵＳＢとして説明する。
【００１６】
なお、図１に示すデバイス制御システムにおいては情報処理装置１００Ａと情報処理装置１００Ｂ、デバイス制御装置２００、デバイス３００がそれぞれ１つのみ示されているが、情報処理装置１００Ａと情報処理装置１００Ｂ、デバイス制御装置２００、デバイス３００の台数は図示の例に限定されるものではない。以降、複数台の情報処理装置を総称する場合は情報処理装置１００と記載し、１台の情報処理装置を示す場合は情報処理装置１００Ａや情報処理装置１００Ｂと記載する。
【００１７】
＜情報処理装置１００の構成＞
情報処理装置１００は、例えば、ユーザーによって利用されるパーソナルコンピュータ（ＰＣ）などの装置であって、ハードウェア構成として、ＣＰＵ１５１、入力部１５２、表示部１５３、メモリ１５４、および通信部１５５、記憶部を備えており、これらハードウェアは内部バスで相互に接続されている。
【００１８】
ＣＰＵは１５１、情報処理装置１００全体の制御を司る。入力部１５２は、例えば、キーボードおよびマウスを備えている。表示部１５３として、例えば、液晶モニタが用いられる。メモリ１５４はＲＡＭおよびＲＯＭなどである。
【００１９】
通信部１５５は、ＬＡＮおよび無線通信路に接続するためのインターフェースであって、デバイス制御装置２００とデータ送受信を行う。
【００２０】
記憶部には、ソフトウェアであるオペレーティングシステム（以下「ＯＳ」と呼ぶ：不図示）、アプリケーション１０１、解像度情報保持部１０２、デバイスドライバ１０４、仮想化制御部１０５、通信制御部１０６が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリ１５４に読み出されて、ＣＰＵ１５１の制御に従い動作する。
【００２１】
アプリケーション１０１は、デバイスドライバ１０４に対してデータ入出力要求を指示することによって、デバイス制御装置２００を介してデバイス３００を制御するソフトウェアプログラムである。
【００２２】
解像度情報保持部１０２は、後述するデバイス制御装置２００が備える解像度情報制御部２０３から送信されるデバイス解像度情報２０４を解像度情報１０３として保持する。
【００２３】
デバイスドライバ１０４は、ＯＳまたはアプリケーション１０１からのデータ入出力要求を、デバイス制御装置２００を介してデバイス３００に応じたデータ形式のデータ（以下「制御コマンド」と呼ぶ）に変換して、当該制御コマンドを仮想化制御部１０５に送る。さらに、デバイスドライバ１０４は制御コマンドに対する応答をアプリケーション１０１に送信する。デバイスドライバ１０４は、一般に製造会社によって提供されるソフトウェア部品であって、情報処理装置１００は各デバイスに対応したデバイスドライバ１０４によってデバイス制御装置２００を介してデバイス３００を制御することができる。
【００２４】
仮想化制御部１０５は、デバイス３００とのデータ送受信に必要なデバイススタックを解像度（設定値）ごとにデバイス制御装置が生成した個体識別情報により一意に特定し順次動的に生成されたものである。情報処理装置１００は、データ送受信要求に含まれる解像度（設定値）に対応したデバイス３００が複数あるかのように認識する。
【００２５】
仮想化制御部１０５は、デバイスドライバ１０４から送られた制御コマンド（つまり、データ入出力要求）をＵＳＢデータ形式に準拠したパケットデータ（以下「ＵＳＢデータ」と呼ぶ）に変換する。また、仮想化制御部１０５は通信制御部１０６から送られてくるＵＳＢデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ１０４に送る。
【００２６】
さらに、仮想化制御部１０５は、デバイス３００に対するデータ送受信要求に対して、デバイス３００が情報処理装置１００に直接的に接続（ローカル接続）されている際と同様の振る舞いをシミュレートする機能（以下「仮想化制御機能」と呼ぶ）を備えている。この仮想化制御機能によって、情報処理装置１００はデバイス３００をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。
【００２７】
通信制御部１０６は、仮想化制御部１０５から送られるＵＳＢデータとデバイス制御装置２００と通信する際のネットワークパケットとの変換処理を行って、デバイス制御装置２００との間でデータ送受信の制御を行うソフトウェアである。また、通信制御部１０６は仮想化制御部１０５を介してアプリケーション１０１またはデバイスドライバ１０４から送られるデータ送受信要求に応じて、デバイス制御装置２００との間のセッションの開始および切断の制御を行う。
【００２８】
＜デバイス制御装置２００の構成＞
デバイス制御装置２００は、ハードウェア構成として、ＣＰＵ３５１、入力部３５２、表示部３５３、メモリ３５４、通信部３５５、記憶部備えている。
【００２９】
ＣＰＵは３５１、デバイス制御装置２００全体の制御を司る。入力部３５２は、例えば、キーボードおよびマウスを備えている。表示部３５３として、例えば、液晶モニタが用いられる。メモリ３５４はＲＡＭおよびＲＯＭなどである。
【００３０】
通信部３５５は、ＬＡＮおよび無線通信路に接続するためのインターフェースであって、情報処理装置１００Ａまたは情報処理装置１００Ｂとデータ送受信を行う。
【００３１】
記憶部には、ソフトウェアであるオペレーティングシステム（以下「ＯＳ」と呼ぶ：不図示）、通信制御部２０１、仮想化通信部２０２、解像度情報制御部２０３、解像度情報紐付け部２０６、画像格納部２０８、画像取得部２０９を備えている。なお、これらソフトウェアはメモリ３５４に読み出されて、ＣＰＵ３５１の制御に従い動作する。
【００３２】
通信制御部２０１は、デバイス制御装置２００と情報処理装置１００との間で行われる入出力データなどの送受信を制御するソフトウェアである。
【００３３】
仮想化通信部２０２は、デバイス３００があたかも情報処理装置１００に直接的に（ローカル）接続されているかのように認識させて制御できるようにするため、情報処理装置１００の仮想化制御部１０５からの制御要求に従って（連動して）デバイス３００と自身の制御を行う。
【００３４】
また、仮想化通信部２０２がデバイス３００への接続を要求すると、仮想化制御を開始する。一方、仮想化通信部２０２がデバイス３００に切断を要求すると、仮想化通信部２０２はデバイス３００の仮想化制御を終了する。
【００３５】
仮想化通信部２０２は、デバイス解像度情報（後述）に基づき、解像度ごとにデバイス３００が接続されているかのように情報処理装置１００に認識させるために、解像度ごとに個体識別情報を作成し、通信制御部２０１を介して情報処理装置１００に送信する。この作成された個体識別情報により、デバイス制御装置２００は、情報処理装置１００に対して解像度ごとにデバイス３００が接続されているように認識させる。情報処理装置１００から送信される画像取得要求の解像度（設定値）が変更された場合、変更された解像度の画像を送信することができるデバイス３００に接続を切り替えているかのように振る舞う。なお、個体識別情報とは、情報処理装置１００がデバイス３００を解像度（設定値）ごとに識別するための情報であって、メーカーを識別するために機器を製造したメーカー毎に割り当てられたベンダーＩＤ（ＶＩＤ）、機種を識別するために機種毎に割り当てられた製品ＩＤ（ＰＩＤ）、機器の個体を識別するために機器毎に割り当てられたシリアル番号などである。シリアル番号はそれぞれの解像度（設定値）と仮想化通信部２０２が紐付けることで、１台のデバイス３００が解像度ごとに複数台存在しているかのように個体識別情報を複数作成することができる。
【００３６】
解像度情報制御部２０３は、デバイス解像度情報２０４を備えている。デバイス解像度情報２０４は、デバイス３００から受信したデバイス３００が設定可能な解像度情報である。解像度情報制御部２０３は、この解像度情報に基づき、情報処理装置１００の仮想化制御部１０５に対して、解像度ごとにデバイス３００が情報処理装置１００に接続されているかのように認識させるために、仮想化通信部２０２によって個体識別情報を割り当てる。
【００３７】
解像度情報制御部２０３は、情報処理装置１００からの画像取得要求に対し、紐付け情報２０７（後述）の要求元情報を参照し、一致するインターフェース設定番号の画像を画像格納部２０８（後述）から取得する。解像度情報制御部２０３は、紐付け情報２０７の要求元情報に基づき要求元の情報処理装置１００に画像格納部２０８から取得した画像を送信する。
【００３８】
また、解像度情報制御部２０３は、情報処理装置１００から送信される継続要求に対し、紐付け情報２０７に基づき、一致するインターフェース設定番号に対する画像を情報処理装置１００に送信する。
【００３９】
ここで、継続要求とは、解像度情報保持部１０２が発行し、解像度情報保持部１０２が、アプリケーション１０１から画像取得要求を受けずに、情報処理装置１００がアプリケーション１０１で設定した解像度の画像をデバイス制御装置２００から取得できるようにするための要求である。
【００４０】
図２は、図１に示す解像度情報１０３、デバイス解像度情報２０４、デバイス解像度情報３０４、紐付け情報２０７の一例を示す図である。なお、図１で説明したデバイス解像度情報２０４、デバイス解像度情報３０４は、図２（ａ）のデバイス解像度情報を備えている。また、図２（ｃ）の負荷状況デバイス解像度情報は第２の実施形態で後述する。紐付け情報２０７は、図２（ｂ）の紐付け情報を備えている。
【００４１】
図２（ａ）のデバイス解像度情報は、インターフェース設定番号と解像度情報から構成されている。デバイス３００は、デバイス３００が撮像可能な解像度と、デバイス３００の解像度を変更するために必要なインターフェース設定番号のリストである図２（ａ）のデバイス解像度情報３０４を備えている。デバイス３００が、デバイス３００の設定を変更するためにデバイス制御装置２００が備える解像度情報制御部２０３からの要求に応じて、図２（ａ）のデバイス解像度情報３０４を解像度情報制御部２０３へ送信する。また、デバイス制御装置２００は、情報処理装置１００から解像度変更を可能にするために、デバイス３００から受信した図２（ａ）のデバイス解像度情報２０４を解像度情報保持部１０２に送信する。図示の例では、インターフェース設定番号の＃１が１９２０×１０８０の解像度に対応している。
【００４２】
解像度情報紐付け部２０６は、図２（ｂ）の紐付け情報２０７を備えている。解像度情報紐付け部２０６は、情報処理装置１００からのインターフェース設定要求と要求元情報とを紐付ける処理を行い、図２（ｂ）の紐付け情報２０７として紐付け結果を保持する。解像度情報紐付け部２０６が、情報処理装置１００からインターフェース設定要求を受信すると図２（ｂ）の紐付け情報２０７を生成する。ここで、インターフェース設定要求とは、情報処理装置１００から送信されるインターフェース設定番号のことである。
【００４３】
図２（ｂ）の紐付け情報２０７は、要求元情報とインターフェース設定番号から構成されている。要求元情報は、例えば、デバイス名やＩＰアドレス、ＭＡＣアドレスなどであり、要求元となる情報処理装置を一意に識別できる情報であればよい。インターフェース設定番号は、解像度と対応付けられており、デバイス３００の設定を変更するための番号である。
【００４４】
画像格納部２０８は、画像取得部２０９を介してデバイス３００から取得した画像を格納する。
【００４５】
画像取得部２０９は、アプリケーション１０１、解像度情報保持部１０２からの画像取得要求または継続要求に応じて解像度情報制御部２０３から受信した画像取得要求に従い、デバイス３００から画像を取得するための機能部である。
【００４６】
解像度情報制御部２０３は、解像度情報保持部１０２に図２（ａ）のデバイス解像度情報２０４を送信後、画像取得要求を画像取得部２０９に送信する。その後、画像取得部２０９が、解像度情報制御部２０３から画像取得要求を受けると、図２（ａ）のデバイス解像度情報２０４を参照し、順次、デバイス３００へ画像取得要求を送信することで、画像取得を行う。
【００４７】
＜デバイス３００の構成＞
デバイス３００は、ネットワークカメラなどの撮影装置であって、解像度情報送信部３０１、画像送信部３０２、撮像部３０３を備えている。なお、撮影装置として例示するが、これに限定したものではない。
【００４８】
解像度情報送信部３０１は、デバイス３００がデバイス制御装置２００への接続後またはデバイス制御装置２００からの解像度情報送信要求があると、撮像部にある図２（ａ）のデバイス解像度情報３０４を解像度情報制御部２０３へ送信する。
【００４９】
画像送信部３０２は、撮像部３０３によって撮像された画像を画像格納部２０８に送信する。
【００５０】
撮像部３０３は、図２（ａ）のデバイス解像度情報３０４を備えている。デバイス解像度情報３０４は、デバイス３００が撮像可能な画像の解像度とインターフェース設定番号の一覧である。ＵＳＢデバイスは、インターフェース情報として解像度やサンプリング周波数などの各設定に対応したインターフェース設定番号と、インターフェース設定番号に紐付く最大転送サイズ情報を含むインターフェース設定を規格として持っている。デバイス３００が、デバイス制御装置２００に接続され、解像度情報制御部２０３からの画像取得要求を受けた画像取得部２０９からの指示を受信すると撮像を開始する。撮像する際は、図２（ａ）のデバイス解像度情報３０４に基づき、デバイス３００の解像度を順次切り替える。これにより、複数の解像度（設定値）による画像を取得することができる。
【００５１】
＜第１の実施形態におけるシーケンス＞
図３は、本発明の第１の実施形態においてデバイス制御装置２００がデバイス３００から取得した画像を情報処理装置１００に送信する場合のシーケンスの一例である。
【００５２】
まず、デバイス３００がデバイス制御装置２００に接続されると、デバイス制御装置２００が備える解像度情報制御部２０３は、デバイス３００に解像度情報を含むデバイス情報取得要求を送信する（ステップＳ１０１）。
【００５３】
デバイス３００は、解像度情報制御部２０３からのデバイス情報取得要求を受信すると、解像度情報制御部２０３に図２（ａ）のデバイス解像度情報３０４およびデバイス情報を送信する（ステップＳ１０２）。解像度情報制御部２０３は、デバイス解像度情報３０４を受信すると、デバイス解像度情報２０４として記憶・保持する。あわせてデバイス情報もデバイス制御装置２００の記憶部に記憶・保持する。
【００５４】
解像度情報制御部２０３は、図２（ａ）のデバイス解像度情報２０４を仮想化通信部２０２に送信する（ステップＳ１０３）。仮想化通信部２０２は、デバイス解像度情報２０４とデバイス情報に基づき、解像度ごとに個体識別情報を作成する。
【００５５】
次に説明するステップＳ１０４〜ステップＳ１１０は、情報処理装置１００Ａがデバイス３００との間で仮想化制御を開始するまでを説明するものである。ステップＳ１１１〜ステップＳ１１７は、情報処理装置１００Ｂがデバイス３００との間で仮想化制御を開始するまでを説明するものである。
【００５６】
仮想化通信部２０２は、解像度ごとの個体識別情報および図２（ａ）のデバイス解像度情報２０４を仮想化制御部１０５Ａに送信する（ステップＳ１０４）。
【００５７】
仮想化制御部１０５Ａは、解像度ごとの個体識別情報およびのデバイス解像度情報２０４をデバイスドライバ１０４Ａに送信する（ステップＳ１０５）。
【００５８】
デバイスドライバ１０４Ａは、解像度ごとの個体識別情報およびのデバイス解像度情報２０４を解像度情報保持部１０２Ａに送信する（ステップＳ１０６）。解像度情報保持部１０２Ａは、受信したデバイス解像度情報２０４を解像度情報１０３として記憶・保持する。
【００５９】
解像度情報保持部１０２Ａは、解像度ごとの個体識別情報をアプリケーション１０１Ａに送信する（ステップＳ１０７）。この個体識別情報により、情報処理装置１００Ａは、デバイス３００が解像度ごとに複数台あるかのように認識することができる。
【００６０】
アプリケーション１０１Ａは、情報処理装置１００Ａとデバイス３００との間の仮想化制御を開始するために、所定の解像度のデバイス３００への仮想化開始要求をデバイスドライバ１０４Ａに送信する（ステップＳ１０８）。
【００６１】
デバイスドライバ１０４Ａは、仮想化開始要求を受信すると仮想化制御部１０５Ａに仮想化開始要求を送信する（ステップＳ１０９）。
【００６２】
仮想化制御部１０５Ａは、仮想化開始要求を受信すると仮想化通信部２０２に仮想化開始要求を送信する（ステップＳ１１０）。ステップＳ１１０により、情報処理装置１００Ａとデバイス３００の間で仮想化制御が開始され、セッションが確立される。
【００６３】
情報処理装置１００Ｂも情報処理装置１００Ａと同様に、アプリケーション１０１Ｂへ個体識別情報を送信し、その後、情報処理装置１００Ｂとデバイス３００とを仮想化制御を開始するための仮想化開始要求をデバイス制御装置２００に送信する（ステップＳ１１１〜ステップＳ１１７）。
【００６４】
ステップＳ１１７以降は、後述する図４の画像取得処理のシーケンス、図５の情報処理装置画像取得処理のシーケンスが行われ、繰り返し画像取得が行われる。
【００６５】
＜デバイス制御装置２００による画像取得シーケンス＞
図４は、デバイス制御装置２００がデバイス３００から画像を取得し、画像格納部２０８に画像を格納する際の動作を説明するためのシーケンス図である。このとき、デバイス制御装置２００は、デバイス３００から取得した図２（ａ）のデバイス解像度情報２０４におけるすべてのインターフェース設定番号に対応した解像度の画像を取得するものとして説明する。
【００６６】
解像度情報制御部２０３は、解像度情報保持部１０２に解像度ごとの個体識別情報およびデバイス解像度情報２０４を送信後、画像取得要求を画像取得部２０９に送信する（ステップＳ２０１）。
【００６７】
画像取得部２０９は、解像度情報制御部２０３から画像取得要求を受信すると、デバイス解像度情報２０４を参照し、まず、撮像部３０３にインターフェース設定要求＃１を送信する（ステップＳ２０２）。インターフェース設定要求＃１を撮像部３０３が受信すると、撮像部３０３はデバイス３００で撮像する画像の解像度をインターフェース設定要求＃１に対応した２５６０×１４４０に変更する。
【００６８】
画像取得部２０９は、デバイス解像度情報２０４に基づき、インターフェース設定要求＃１を送信後、撮像部３０３に画像取得要求を送信する（ステップＳ２０３）。
【００６９】
撮像部３０３は、画像取得部２０９から画像取得要求を受信すると、撮像部３０３で撮像している画像を取得し、取得した画像を画像送信部３０２に送信する（ステップＳ２０４）。例えば、画像取得部２０９から受信したインターフェース設定要求の設定番号＃１の場合、解像度２５６０×１４４０の画像を取得する。
【００７０】
画像送信部３０２は、撮像部３０３からインターフェース設定要求の設定番号＃１の解像度である２５６０×１４４０の画像を受信すると、画像取得部２０９に解像度２５６０×１４４０の画像を送信する（ステップＳ２０５）。
【００７１】
画像取得部２０９は、画像送信部３０２からインターフェース設定要求の設定番号＃１の解像度である２５６０×１４４０の画像を受信すると、画像格納部２０８に解像度２５６０×１４４０の画像を送信する（ステップ２０６）。
【００７２】
画像取得部２０９が解像度２５６０×１４４０の画像を受信が完了すると、図２（ａ）のデバイス解像度情報２０４に基づき、撮像部３０３に送信するインターフェース設定要求の設定番号を＃１から＃２に変更し、撮像部３０３にインターフェース設定要求＃２を送信する（ステップＳ２０７）。インターフェース設定要求＃２を撮像部３０３が受信すると、撮像部３０３は、デバイス３００で撮像する画像の解像度を１９２０×１２００に変更する。
【００７３】
画像取得部２０９は、インターフェース設定要求＃２を撮像部３０３に送信後、撮像部３０３に画像取得要求を送信する（ステップＳ２０８）。
【００７４】
撮像部３０３は、画像取得部２０９から画像取得要求を受信すると、撮像部３０３で撮像している解像度１９２０×１２００の画像を画像送信部３０２に送信する（ステップＳ２０９）。
【００７５】
画像送信部３０２は、撮像部３０３から解像度１９２０×１２００の画像を受信すると、画像取得部２０９に解像度１９２０×１２００の画像を送信する（ステップＳ２１０）。
【００７６】
画像取得部２０９は、画像送信部３０２から解像度１９２０×１２００の画像を受信すると、画像格納部２０８に解像度１９２０×１２００の画像を送信する（ステップＳ２１１）。
【００７７】
以降、図２（ａ）デバイス解像度情報２０４にあるインターフェース設定番号に紐付いたすべての解像度に対応する画像を取得する。
【００７８】
画像取得部２０９は、解像度情報制御部２０３から受信した図２（ａ）デバイス解像度情報２０４に基づき、インターフェース設定要求＃Ｎ（Ｎは最大のインターフェース設定番号）を撮像部３０３に送信する（ステップＳ２１２）。インターフェース設定要求＃Ｎを撮像部３０３が受信すると、撮像部３０３はデバイス３００で撮像する画像の解像度を３２０×２００に変更する。
【００７９】
画像取得部２０９は、インターフェース設定要求＃Ｎを撮像部３０３に送信後、撮像部３０３に画像取得要求を送信する（ステップＳ２１３）。
【００８０】
撮像部３０３は、画像取得部２０９から画像取得要求を受信すると、解像度３２０×２００の画像を画像送信部３０２に送信する（ステップＳ２１４）。
【００８１】
画像送信部３０２は、撮像部３０３から解像度３２０×２００の画像を受信すると、画像取得部２０９に解像度３２０×２００の画像を送信する（ステップＳ２１５）。
【００８２】
画像取得部２０９は、画像送信部３０２から解像度３２０×２００の画像を受信すると、画像格納部２０８に解像度３２０×２００の画像を送信する（ステップＳ２１６）。
【００８３】
画像取得部２０９は、図２（ａ）のデバイス解像度情報２０４を参照し、取得すべき解像度の画像を取得完了確認後、解像度情報制御部２０３に画像取得完了通知を送信する（ステップＳ２１７）。
【００８４】
＜情報処理装置１００による画像取得シーケンス＞
図５は、情報処理装置１００が取得する画像の解像度を変更しデバイス制御装置２００から画像を取得する際の動作を説明するためのシーケンス図である。
【００８５】
まず、情報処理装置１００Ａとデバイス制御装置２００との間での画像取得シーケンスについてステップＳ３０１〜ステップＳ３２２にて説明する。アプリケーション１０１Ａは、図２（ａ）の解像度情報１０３Ａを参照し、取得したい画像の解像度を解像度情報保持部１０２Ａに送信する（ステップＳ３０１）。
【００８６】
解像度情報保持部１０２Ａは、取得したい画像の解像度をアプリケーション１０１Ａから取得すると、解像度情報１０３Ａを参照し、アプリケーション１０１Ａから取得した解像度と一致するインターフェース設定番号を解像度情報１０３Ａに基づき決定する。解像度情報保持部１０２Ａは、アプリケーション１０１Ａから取得した解像度と一致するインターフェース設定番号のインターフェース設定要求をデバイスドライバ１０４Ａに送信する（ステップＳ３０２）。
【００８７】
デバイスドライバ１０４Ａは、解像度情報保持部１０２Ａからインターフェース設定要求を受信すると、仮想化制御部１０５Ａにインターフェース設定要求を送信する（ステップＳ３０３）。
【００８８】
仮想化制御部１０５Ａは、デバイスドライバ１０４Ａからインターフェース設定要求を受信すると、仮想化通信部２０２にインターフェース設定要求を送信する（ステップＳ３０４）。
【００８９】
仮想化通信部２０２は、仮想化制御部１０５Ａからインターフェース設定要求を受信すると、解像度情報紐付け部２０６にインターフェース設定要求を送信する（ステップＳ３０５）。
【００９０】
解像度情報紐付け部２０６は、仮想化通信部２０２から受信したインターフェース設定要求と、情報処理装置１００Ａの要求元情報との紐付け処理を行い、図２（ｂ）の紐付け情報２０７を生成し、保持する（ステップＳ３０６）。
【００９１】
解像度情報紐付け部２０６は、情報処理装置１００Ａのインターフェース設定要求と情報処理装置１００の要求元情報との紐付け処理が完了すると仮想化通信部２０２に紐付け完了通知を送信する（ステップＳ３０７）。
【００９２】
仮想化通信部２０２は、解像度情報紐付け部２０６から紐付け完了通知を受信すると、仮想化制御部１０５Ａに紐付け完了通知を送信する（ステップＳ３０８）。
【００９３】
仮想化制御部１０５Ａは、仮想化通信部２０２から紐付け完了通知を受信すると、デバイスドライバ１０４Ａに紐付け完了通知を送信する（ステップＳ３０９）。
【００９４】
デバイスドライバ１０４Ａは、仮想化制御部１０５Ａから紐付け完了通知を受信すると、解像度情報保持部１０２Ａに紐付け完了通知を送信する（ステップＳ３１０）。
【００９５】
解像度情報保持部１０２Ａは、デバイスドライバ１０４Ａから紐付け完了通知を受信すると、アプリケーション１０１Ａに紐付け完了通知を送信する（ステップＳ３１１）。
【００９６】
アプリケーション１０１Ａは、デバイスドライバ１０４Ａから紐付け完了通知を受信すると、デバイスドライバ１０４Ａに画像取得要求を送信する（ステップＳ３１２）。
【００９７】
デバイスドライバ１０４Ａは、アプリケーション１０１Ａから画像取得要求を受信すると、仮想化制御部１０５Ａに画像取得要求を送信する（ステップＳ３１３）。
【００９８】
仮想化制御部１０５Ａは、デバイスドライバ１０４Ａから画像取得要求を受信すると、仮想化通信部２０２に画像取得要求を送信する（ステップＳ３１４）。
【００９９】
仮想化通信部２０２は、仮想化制御部１０５Ａから画像取得要求を受信すると、解像度情報紐付け部２０６に画像取得要求を送信する（ステップＳ３１５）。
【０１００】
解像度情報紐付け部２０６は、仮想化通信部２０２から画像取得要求を受信すると、画像格納部２０８に画像取得要求を送信する（ステップＳ３１６）。
【０１０１】
画像格納部２０８は、解像度情報紐付け部２０６から画像取得要求を受信すると、情報処理装置１００が解像度情報紐付け部２０６にインターフェース設定要求を送信することで生成した図２（ｂ）の紐付け情報２０７を参照し、情報処理装置１００Ａの設定したインターフェース設定番号に一致する画像を検索する（ステップＳ３１７）。
【０１０２】
画像格納部２０８は、情報処理装置１００Ａの設定したインターフェース設定番号と一致する解像度の画像を検索後、情報処理装置１００Ａの設定したインターフェース設定番号に一致する解像度の画像を仮想化通信部２０２に送信する（ステップＳ３１８）。
【０１０３】
仮想化通信部２０２は、画像格納部２０８から情報処理装置１００Ａの設定したインターフェース設定番号に一致する解像度の画像を取得すると、情報処理装置１００Ａの設定したインターフェース設定番号に一致する解像度の画像を仮想化制御部１０５Ａに送信する（ステップＳ３１９）。
【０１０４】
仮想化制御部１０５Ａは、仮想化通信部２０２から情報処理装置１００Ａの設定したインターフェース設定番号に一致する解像度の画像を取得すると、情報処理装置１００Ａの設定したインターフェース設定番号に一致する解像度の画像をデバイスドライバ１０４Ａに送信する（ステップＳ３２０）。
【０１０５】
デバイスドライバ１０４Ａは、仮想化制御部１０５Ａから情報処理装置１００Ａの設定したインターフェース設定番号に一致する解像度の画像を取得すると、情報処理装置１００Ａの設定したインターフェース設定番号に一致する解像度の画像をアプリケーション１０１Ａに送信する（ステップＳ３２１）。
【０１０６】
その後、アプリケーション１０１Ａが解像度情報１０３Ａを参照し、画像格納部２０８から取得したい画像の解像度を変更しない限り、解像度情報保持部１０２Ａが継続要求を発行し、解像度情報保持部１０２Ａは継続要求をデバイスドライバ１０４Ａに送信する（ステップＳ３２２）。解像度情報保持部１０２Ａが発行する継続要求は、解像度情報保持部１０２Ａがアプリケーション１０１Ａからの画像取得要求を受けずとも、情報処理装置１００Ａがアプリケーション１０１Ａに設定した解像度の画像を取得できるようにするための要求である。
【０１０７】
デバイスドライバ１０４Ａは、解像度情報保持部１０２Ａから継続要求を受信すると、仮想化制御部１０５Ａに継続要求を送信する（ステップＳ３２３）。
【０１０８】
解像度情報保持部１０２Ａは、デバイスドライバ１０４Ａから継続要求を受信すると、仮想化通信部２０２に継続要求を送信し、画像取得を継続して行う（ステップＳ３２４）。
【０１０９】
続いて、情報処理装置１００Ｂとデバイス制御装置２００との間での画像取得シーケンスについてステップＳ３２５〜ステップＳ３４８にて説明する。
【０１１０】
アプリケーション１０１Ｂは、図２（ａ）の解像度情報１０３Ｂを参照し、取得したい画像の解像度を解像度情報保持部１０２Ｂに送信し、解像度の設定を変更する（ステップＳ３２５）。
【０１１１】
解像度の設定を変更後の処理（ステップＳ３２６〜ステップＳ３４８）は、情報処理装置１００Ａと同様（ステップＳ３０２〜ステップＳ３２４）にインターフェース設定番号と情報処理装置１００Ｂの紐付けを行い、インターフェース設定番号に一致する解像度の画像を取得するので、説明を省略する。
【０１１２】
上述のように、本発明の第１の実施形態では、デバイス制御装置２００が解像度（設定値）ごとの個体識別情報を作成し、デバイスを情報処理装置に仮想化制御させることで、情報処理装置１００は、解像度ごとにデバイスが複数あるかのように認識し、画像取得要求に応じた画像を取得・表示が可能となる。これにより、情報処理装置１００からデバイス３００を仮想化制御した場合に、一方の情報処理装置１００がデバイス３００の設定を変更したとしても、情報処理装置１００はデバイス３００が解像度（設定値）ごとに複数存在しているかのように認識して仮想化制御するため、他方の情報処理装置１００が意図しない設定により動作することを防ぐことができる。
【０１１３】
[第２の実施形態]
次に本発明の第２の実施形態について説明する。第２の実施形態では、デバイス制御装置２００が、情報処理装置１００にデバイス解像度情報２０４を送信する際、情報処理装置１００のネットワーク負荷状況を考慮し、後述する負荷状況デバイス解像度情報２０５を解像度情報制御部２０３が作成する。解像度情報制御部２０３が、負荷状況デバイス解像度情報２０５を作成後、解像度情報制御部２０３が、負荷状況デバイス解像度情報２０５を情報処理装置１００に送信し、情報処理装置１００が、画像を取得するまでの流れを説明する。
【０１１４】
図６は、本発明の第２の実施形態によるデバイス制御システムの一例を概略的に示すブロック図である。なお、第１の実施形態と同様の構成については同じ参照番号を付し説明を省略する。第２の実施形態では、解像度情報制御部２０３が、負荷状況デバイス解像度情報２０５をさらに備えている。
【０１１５】
解像度情報制御部２０３は、情報処理装置１００からデバイス３００との仮想化制御を開始するために送信される仮想化開始要求を受信すると、情報処理装置１００の応答時間やＩＰパケット数などを取得するためのネットワーク性能情報取得要求を情報処理装置１００に送り、情報処理装置１００の応答時間やＩＰパケット数などのネットワーク性能情報を取得する。なお、ネットワーク性能情報を応答時間やＩＰパケット数として例示したが、これに限定したものではなく、情報処理装置１００とデバイス制御装置２００との間のネットワーク区間における負荷状況が分かるものであればよい。
【０１１６】
さらに、解像度情報制御部２０３は、取得したネットワーク性能情報よりネットワーク負荷状況を算出し、当該ネットワーク負荷状況に基づき、情報処理装置１００に送信する負荷状況デバイス解像度情報２０５を作成する。
【０１１７】
例えば、情報処理装置１００Ａのネットワーク負荷状況が、デバイス３００の全ての解像度を表示可能であれば、負荷状況デバイス解像度情報２０５は、図２（ａ）のデバイス解像度情報と同じものを情報処理装置１００に送信する。
【０１１８】
また、情報処理装置１００Ｂのネットワーク負荷が高い状態であり、解像度情報制御部２０３が、図２（ａ）のデバイス解像度情報２０４のインターフェース設定番号＃１の解像度２５６０×１４４０が表示できないと判断すると、インターフェース設定番号＃１の解像度２５６０×１４４０を除く、図２（ｃ）の負荷状況デバイス解像度情報２０５を解像度情報制御部２０３が生成し、保持する。その後、解像度情報制御部２０３が、情報処理装置１００Ｂに負荷状況デバイス解像度情報２０５を送信する。
【０１１９】
＜第２の実施形態におけるシーケンス＞
図７は、本発明の第２の実施形態においてデバイス制御装置２００がネットワーク性能情報を算出し、算出結果に応じた負荷状況デバイス解像度情報２０５を各情報処理装置に送信し、情報処理装置１００とデバイス３００との間で仮想化制御する場合のシーケンスの一例である。
【０１２０】
仮想化通信部２０２は、情報処理装置１００Ａの応答時間やＩＰパケット数などのネットワーク性能情報を取得するために、ｐｉｎｇなどのネットワーク性能情報取得要求を仮想化制御部１０５Ａに送信する（ステップＳ４０１）。
【０１２１】
仮想化制御部１０５Ａは、仮想化通信部２０２からネットワーク性能情報取得要求を受信すると、デバイスドライバ１０４Ａにネットワーク性能情報取得要求を送信する（ステップＳ４０２）。
【０１２２】
デバイスドライバ１０４Ａは、仮想化制御部１０５Ａからネットワーク性能情報取得要求を受信すると、アプリケーション１０１Ａにネットワーク性能情報取得要求を送信する（ステップＳ４０３）。
【０１２３】
次に、アプリケーション１０１Ａは、ステップＳ４０３でデバイスドライバ１０４Ａからネットワーク性能情報取得要求を受信すると、応答時間やＩＰパケット数などのネットワーク性能情報をデバイスドライバ１０４Ａに送信する（ステップＳ４０４）。
【０１２４】
デバイスドライバ１０４Ａは、アプリケーション１０１Ａからネットワーク性能情報を受信すると、仮想化制御部１０５Ａにネットワーク性能情報を送信する（ステップＳ４０５）。
【０１２５】
仮想化制御部１０５Ａは、デバイスドライバ１０４Ａからネットワーク性能情報を受信すると、仮想化通信部２０２にネットワーク性能情報を送信する（ステップＳ４０６）。
【０１２６】
仮想化通信部２０２は、仮想化制御部１０５Ａからネットワーク性能情報を受信すると、解像度情報制御部２０３にネットワーク性能情報を送信する（ステップＳ４０７）。ここで、取得したネットワーク性能情報の応答時間や受信ＩＰパケット数などからネットワーク性能を計測する。
【０１２７】
まず、アプリケーション１０１Ａは、デバイスドライバ１０４Ａに情報処理装置１００Ａとデバイス３００との間の仮想化制御を開始するための仮想化開始要求をデバイスドライバ１０４Ａに送信する（ステップＳ４０１）。
【０１２８】
デバイスドライバ１０４Ａは、アプリケーション１０１Ａから仮想化開始要求を受信すると、仮想化制御部１０５Ａに仮想化開始要求を送信する（ステップＳ４０２）。
【０１２９】
仮想化制御部１０５Ａは、デバイスドライバ１０４Ａから仮想化開始要求を受信すると、仮想化通信部２０２に仮想化開始要求を送信する（ステップＳ４０３）。ステップＳ４０３により、情報処理装置１００Ａとデバイス３００の間で仮想化制御が開始され、セッションが確立される。
【０１３０】
仮想化通信部２０２は、仮想化制御が開始されると、解像度情報制御部２０３に仮想化開始通知を送信する（ステップＳ４０４）。
【０１３１】
情報処理装置１００Ｂの場合も情報処理装置１００Ａと同様に、仮想化通信部２０２がネットワーク性能情報取得要求を情報処理装置１００Ｂに送信し、解像度情報制御部２０３がネットワーク性能情報を受信するする（ステップＳ４０８〜ステップＳ４１５）。
【０１３２】
解像度情報制御部２０３は、情報処理装置１００の表示可能な画像の解像度を、デバイス３００が撮像可能な解像度情報から決定するために、デバイス解像度情報３０４を含むデバイス情報取得要求をデバイス３００に送信する（ステップＳ４１６）。
【０１３３】
デバイス３００は、デバイス３００が撮影可能な解像度情報である図２（ａ）のデバイス解像度情報３０４およびデバイス情報を解像度情報制御部２０３に送信する（ステップＳ４１７）。
【０１３４】
解像度情報制御部２０３は、情報処理装置１００から取得した応答時間やＩＰパケット数などのネットワーク性能情報と、デバイス３００から取得した図２（ａ）のデバイス解像度情報２０４に基づき、情報処理装置１００Ａまたは情報処理装置１００Ｂに送信する図２（ｃ）の負荷状況デバイス解像度情報２０５を作成する（ステップＳ４１８）。あわせてデバイス情報もデバイス制御装置２００の記憶部に記憶・保持する。
【０１３５】
図２（ｃ）の負荷状況デバイス解像度情報２０５を作成する際の決定方法は、解像度情報制御部２０３が、ネットワーク性能情報とフレーム処理時間により得られたデータ量を閾値とし、１フレームのデータ量がこの閾値を超えないインターフェース設定番号に基づき決定する。なお、情報処理装置１００とデバイス制御装置２００との間のネットワーク負荷が低い場合、解像度情報制御部２０３は、負荷状況デバイス解像度情報２０５を作成せず、デバイス３００から取得したデバイス解像度情報２０４をそのまま使用してもよい。
【０１３６】
以下、情報処理装置１００Ａは、ネットワーク負荷が低く、図２（ａ）のデバイス解像度情報２０４にて十分画像を表示可能であり、情報処理装置１００Ａが図２（ａ）のデバイス解像度情報２０４を使用する例を示す。また、情報処理装置１００Ｂは、ネットワーク負荷が高く、図２（ａ）のデバイス解像度情報におけるインターフェース設定番号＃１の解像度２５６０×１４４０では、画像の表示が不可能であるとネットワーク負荷状況を考慮した解像度情報決定方法に基づき解像度情報制御部２０３が判断すると、解像度情報制御部２０３が、負荷状況デバイス解像度情報２０５を作成し、解像度情報制御部２０３が、情報処理装置１００Ｂに負荷状況デバイス解像度情報２０５を送信することで、情報処理装置１００Ｂが負荷状況デバイス解像度情報２０５を使用することを例に説明をする。
【０１３７】
解像度情報制御部２０３は、情報処理装置１００のＡネットワーク負荷状況を、情報処理装置１００Ａから取得した応答時間やＩＰパケット数などのネットワーク性能情報から判断し、情報処理装置１００Ａが表示可能な解像度情報を、図２（ａ）のデバイス解像度情報２０４と決定後、仮想化通信部２０２にデバイス情報およびデバイス解像度情報２０４を送信する（ステップＳ４１９）。
【０１３８】
仮想化通信部２０２は、解像度情報制御部２０３からデバイス情報およびデバイス解像度情報２０４を受信すると、デバイス解像度情報２０４とデバイス情報に基づき、解像度ごとに個体識別情報を作成し、仮想化制御部１０５Ａに個体識別情報およびデバイス解像度情報２０４を送信する（ステップＳ４２０）。
【０１３９】
仮想化制御部１０５Ａは、仮想化通信部２０２から個体識別情報およびデバイス解像度情報２０４を受信すると、デバイスドライバ１０４Ａに個体識別情報およびデバイス解像度情報２０４を送信する（ステップＳ４２１）。
【０１４０】
デバイスドライバ１０４Ａは、仮想化制御部１０５Ａから個体識別情報およびデバイス解像度情報２０４を受信すると、解像度情報保持部１０２Ａに個体識別情報およびデバイス解像度情報２０４を送信する（ステップ４２２）。解像度情報保持部１０２Ａは、デバイス解像度情報２０４を解像度情報１０３Ａとして記憶・保持する。
【０１４１】
解像度情報保持部１０２Ａは、解像度ごとの個体識別情報をアプリケーション１０１Ａに送信する（ステップＳ４２３）。この個体識別情報により、情報処理装置１００Ａは、デバイス３００が解像度ごとに複数台あるかのように認識することができる。
【０１４２】
解像度情報制御部２０３は、情報処理装置１００Ｂのネットワーク負荷状況を、情報処理装置１００Ｂから取得した応答時間やＩＰパケット数などのネットワーク性能情報から判断し、情報処理装置１００Ｂが表示可能な解像度情報である、図２（ｃ）の負荷状況デバイス解像度情報２０５を生成後、仮想化通信部２０２を介し、解像度情報保持部１０２Ｂに個体識別情報および負荷状況デバイス解像度情報２０５を送信する（ステップＳ４２４〜ステップＳ４２８）。
【０１４３】
アプリケーション１０１Ａは、情報処理装置１００Ａとデバイス３００との間の仮想化制御を開始するために、所定の解像度のデバイス３００への仮想化開始要求をデバイスドライバ１０４Ａに送信する（ステップＳ４２９）。
【０１４４】
デバイスドライバ１０４Ａは、仮想化開始要求を受信すると仮想化制御部１０５Ａに仮想化開始要求を送信する（ステップＳ４３０）。
【０１４５】
仮想化制御部１０５Ａは、仮想化開始要求を受信すると仮想化通信部２０２に仮想化開始要求を送信する（ステップＳ４３１）。ステップＳ４３１により、情報処理装置１００Ａとデバイス３００の間で仮想化制御が開始され、セッションが確立される。
【０１４６】
情報処理装置１００Ｂも同様に仮想化開始要求をデバイス制御装置２００に送信し、仮想化制御を開始する（ステップＳ４３２〜ステップＳ４３４）。
【０１４７】
ステップＳ４３４以降は、第１の実施形態で説明した図４の画像取得処理のシーケンス、図５の情報処理装置画像取得処理のシーケンスが行われ、繰り返し画像取得が行われる。
【０１４８】
上述のように、本発明の第２の実施形態では、情報処理装置１００のネットワーク負荷状況に基づき決定した負荷状況デバイス解像度情報２０５をデバイス制御装置２００の解像度情報制御部２０３が作成することで、情報処理装置１００で配信可能な範囲の解像度情報を生成する。これにより、デバイス制御装置２００が情報処理装置１００で配信可能な解像度（設定値）に絞った個体識別情報を作成し、情報処理装置１００は配信可能な解像度（設定値）のデバイスのみを認識することができる。
【０１４９】
以上説明したように、本発明では、デバイス制御装置２００はデバイス３００が撮像可能な解像度（設定値）ごとに個体識別情報を作成し、情報処理装置１００に解像度（設定値）ごとにデバイスがあるかのように認識させて仮想化制御する。これにより、情報処理装置１００がデバイス３００を仮想化制御した場合に、一方の情報処理装置１００がデバイス３００の設定を変更したとしても、情報処理装置１００はデバイス３００が設定値ごとに複数存在しているかのように認識して仮想化制御するため、他方の情報処理装置が意図しない設定により動作することを防ぐことができる。
【０１５０】
以上、本発明について実施形態に基づいて説明したが、本発明は、これらの実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【０１５１】
なお、システム構成として情報処理装置が２台の例示をしたが、１台の場合にはデバイス制御装置で不整合が起きない。また、複数台の情報処理装置がデバイス制御装置２００に接続され、デバイス３００に対して仮想化制御を行う場合であっても、複数の情報処理装置が同じ設定の画像取得要求をデバイス３００にデバイス制御装置２００を介して送信する場合も不整合は起きない。つまり、複数の情報処理装置が、それぞれ異なった設定の画像取得要求を行った際に不整合を防ぐために、紐付け情報２０７を参照し、それぞれの設定に基づいた画像取得要求を送信した要求元の情報処理装置へ画像を送信する。
【０１５２】
また、情報処理装置の台数が増減した場合、その増減に応じて必要（または不要）となった解像度の画像の取得を行う（または取得をやめる）ことも可能である。
【０１５３】
加えて、第２の実施形態においてネットワーク負荷状況を算出すると例示したが、ネットワーク負荷に限定したものではない。例えば、情報処理装置のＣＰＵやメモリの使用率、あるいは情報処理装置のスペックに応じて、情報処理装置へ負荷状況デバイス解像度情報２０５を作成し、送信してもよい。このとき、ｐｉｎｇなどのネットワーク性能情報取得要求にあたる、ＣＰＵやメモリの使用率やスペックを取得するための情報取得要求を送信し、その取得結果に基づき負荷状況デバイス解像度情報２０５を作成する。
【０１５４】
デバイス３００をカメラと例示したが、これに限定したものではなく、オーディオ装置などであってもよい。この場合、解像度ではなく音声データのサンプリング周波数などの情報に基づいた設定と紐付けた処理を行う。
【０１５５】
例えば、情報処理装置１００に、解像度情報保持部１０２を備えると説明したが、解像度情報保持部１０２がなくとも、解像度情報１０３をアプリケーション１０１などの別部品に含ませるようにしてもよい。
【０１５６】
また、情報処理装置１００に仮想化制御されるデバイスは、デバイス制御装置２００に接続されているデバイス３００として説明したが、デバイス制御装置２００に内蔵している内部デバイスであってもよい。
【０１５７】
上記の実施形態の機能を制御方法として、この制御方法を情報処理装置１００に実行させるようにすればよい。また、上述の実施形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムを情報処理装置１００が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【０１５８】
また、本発明は、以下の処理を実行することによっても実現される。つまり、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種の記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵなど）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１５９】
１００：情報処理装置
１０１：アプリケーション
１０２：解像度情報保持部
１０３：解像度情報
１０４：デバイスドライバ
１０５：仮想化制御部
１０６：通信制御部
２００：デバイス制御装置
２０１：通信制御部
２０２：仮想化通信部
２０３：解像度情報制御部
２０４：デバイス解像度情報
２０５：負荷状況デバイス解像度情報
２０６：解像度情報紐付け部
２０７：紐付け情報
２０８：画像格納部
２０９：画像取得部
３００：デバイス
３０１：解像度情報送信部
３０２：画像送信部
３０３：撮像部
３０４：デバイス解像度情報
【図１】
2018190046.tif 000003
【図２】
2018190046.tif 000004
【図３】
2018190046.tif 000005
【図４】
2018190046.tif 000006
【図５】
2018190046.tif 000007
【図６】
2018190046.tif 000008
【図７】
2018190046.tif 000009