(57)【要約】【課題】投影対象の切り替えの度にユーザは、まず映像入力端子の切り替え行い、その後デバイスの切り替えを行うという複数の切り替え操作を行わなければならず操作が煩雑となる。さらに、ユーザがデバイスの切り替え操作時に意図しない情報処理装置、もしくはデバイス制御装置を選択する可能性があるという課題がある。【解決手段】デバイス制御装置に設定された映像入力端子の選択に応じて、接続切替制御部は、デバイスが制御される対象を情報処理装置もしくはデバイス制御装置か判定し、デバイス制御装置に接続されたデバイスが情報処理装置との間で仮想化制御されるのか、あるいはデバイス制御装置がデバイスを直接制御するのかを切り替えを行う。【選択図】図１
2018097757.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して第１の情報処理装置に接続され、第２の情報処理装置および外部デバイスとローカル接続されたデバイス制御装置であって、
前記外部デバイスを制御する外部デバイス制御手段と、
前記外部デバイスがあたかも前記第１の情報処理装置にローカル接続されているかのように前記第１の情報処理装置へ認識させて制御できるようにするために、前記第１の情報処理装置からの制御要求に従って前記外部デバイスを制御する仮想化制御手段と、
前記第１の情報処理装置または前記第２の情報処理装置から受信した前記デバイス制御装置の所定の機能に応じた所定の情報の入力元を切り替える入力切替手段と、
前記入力切替手段による前記入力元の切り替えに連動して、前記外部デバイスの制御を前記第１の情報処理装置と前記デバイス制御装置との間で切り替える外部デバイス接続切替手段と、を備え、
前記外部デバイス接続切替手段は、
前記入力切替手段による前記入力元が前記第１の情報処理装置に切り替わった場合、前記仮想化制御手段に前記外部デバイスを制御させ、
前記入力切替手段による前記入力元が前記第２の情報処理装置に切り替わった場合、前記外部デバイス制御手段に前記外部デバイスを制御させること、
を特徴とするデバイス制御装置。
【請求項２】
前記外部デバイス接続切替手段は、前記第１の情報処理装置の個体識別情報に基づき、前記外部デバイスの制御先の判定を行うために前記第１の情報処理装置の仮想化接続先情報を記憶する記憶手段をさらに備え、
前記外部デバイス接続切替手段は、前記記憶手段に記憶された前記仮想化接続先情報に基づき制御先となる前記第１の情報処理装置を決定することを特徴とする請求項１に記載のデバイス制御装置。
【請求項３】
前記所定の機能とは、表示機能であって、
前記所定の情報とは、前記デバイス制御装置で表示するために画面情報であることを特徴とする請求項１または請求項２に記載のデバイス制御装置。
【請求項４】
ネットワークを介して第１の情報処理装置に接続され、第２の情報処理装置および外部デバイスとローカル接続されたデバイス制御装置のデバイス制御方法であって、
前記外部デバイスを制御する外部デバイス制御ステップと、
前記外部デバイスがあたかも前記第１の情報処理装置にローカル接続されているかのように前記第１の情報処理装置へ認識させて制御できるようにするために、前記第１の情報処理装置からの制御要求に従って前記外部デバイスを制御する仮想化制御ステップと、
前記第１の情報処理装置または前記第２の情報処理装置から受信した前記デバイス制御装置の所定の機能に応じた所定の情報の入力元を切り替える入力切替ステップと、
前記入力切替ステップによる前記入力元の切り替えに連動して、前記外部デバイスの制御を前記第１の情報処理装置と前記デバイス制御装置との間で切り替える外部デバイス接続切替ステップと、を備え、
前記外部デバイス接続切替ステップは、
前記入力切替ステップによる前記入力元が前記第１の情報処理装置に切り替わった場合、前記仮想化制御ステップを実行し、
前記入力切替ステップによる前記入力元が前記第２の情報処理装置に切り替わった場合、前記外部デバイス制御ステップを実行すること、
を特徴とするデバイス制御方法。
【請求項５】
前記第１の情報処理装置の個体識別情報に基づき、前記外部デバイスの制御先の判定を行うために前記第１の情報処理装置の仮想化接続先情報を記憶する記憶ステップをさらに備え、
前記外部デバイス接続切替ステップは、前記記憶ステップで記憶した前記仮想化接続先情報に基づき制御先となる前記第１の情報処理装置を決定することを特徴とする請求項４に記載のデバイス制御方法。
【請求項６】
前記所定の機能とは、表示機能であって、
前記所定の情報とは、前記デバイス制御装置で表示するために画面情報であることを特徴とする請求項４または請求項５に記載のデバイス制御方法。
【請求項７】
請求項１乃至請求項３の何れか１項に記載のデバイス制御装置、ネットワークを介して前記デバイス制御装置と接続された第１の情報処理装置、および前記デバイス制御装置にローカル接続された第２の情報処理装置から構成されるデバイス制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス制御装置、デバイス制御方法、およびデバイス制御システムに関し、特に、ネットワークを介してデバイスを制御する機能を備えたデバイス制御装置、デバイス制御方法、およびデバイス制御システムに関する。
【背景技術】
【０００２】
プロジェクタやディスプレイ等といったＨＤＭＩ（登録商標）やＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）等の複数の映像入力端子を備える映像出力装置において、ユーザは自らの映像ソース（映像の入力元）に合わせ映像入力端子を選択し、映像の表示切替を行うものがある。その映像入力端子の選択手段としてＯＳＤ（Ｏｎ  Ｓｃｒｅｅｎ  Ｄｉｓｐｌａｙ）が備わっている場合がある。ＯＳＤによる映像入力端子の選択画面の一例を図６に示す。ユーザは映像出力装置によって表示された映像入力端子の選択肢から任意のひとつを図６に示すようなリモコン等の入力補助装置を利用して選択する。また、映像入力端子については機器に備わっている限りであるが、複数の映像ソースの同時接続が可能である。
【０００３】
また、ネットワークを介してＰＣ（情報処理装置）とプロジェクタ（デバイス制御装置）を接続する画面転送システムが注目されており、デバイス制御装置において、ローカルエリアネットワーク（ＬＡＮ）を映像入力端子のひとつとして扱うことが可能である（特許文献１参照）。
【０００４】
さらに、近年、ネットワークの普及により、プリンタ、ストレージ、およびスキャナ等のデバイスを、ネットワーク上の情報処理装置であるホストコンピュータから共有デバイスとして利用することが行われている。その実現方法がいくつか提案されている。
【０００５】
例えば、本出願人は、クライアントＰＣが、デバイスサーバにローカル接続されたデバイスをローカル接続されたように認識し、デバイスの制御（以下「仮想化制御」と呼ぶ。）を行うデバイス制御システムを提案している（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１２７９１５号公報
【特許文献２】国際公開第２０１１／０５５８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の映像出力装置は、ネットワークに接続した情報処理装置の画面を投影しているのみである。
【０００８】
また、情報処理装置の操作は情報処理装置の画面に対して入力および出力する場合が多く、情報処理装置とデバイス制御装置との距離が離れているなどの理由により情報処理装置の画面を参照できない場合、ユーザが情報処理装置に対して任意の操作をすることは難しい。
【０００９】
そのため、特許文献２の技術を適用し、ネットワークに接続した情報処理装置を投影対象として扱い、デバイス制御装置に接続されたデバイス（例：マウスやキーボード）を仮想化接続により情報処理装置にローカル接続されたかのように認識させ情報処理装置から仮想化制御を行いたい場合がある。例えば、映像入力をＬＡＮ接続とローカル接続との間で切り替えるユースケースにおいて、ＬＡＮ接続からローカル接続へと切り替わった後は仮想化接続したデバイスによる情報処理装置の操作は不要である場合が多い。不要な操作を防ぐためにもデバイスをデバイス制御装置による直接的な制御（以下「直接制御」と呼ぶ）に切り替えを行うことが考えられる。
【００１０】
しかし、そのような場合に特許文献２の技術を適用したのみでは、投影対象の切り替えの度にユーザは、まず映像入力端子の切り替えを行い、その後、デバイスを制御する対象の切り替えを行うという複数の切り替え操作を行わなければならず操作が煩雑となる。
【００１１】
そこで、本発明はデバイス制御装置に設定された映像入力端子の選択に応じて、デバイスを制御する対象が情報処理装置か、もしくはデバイス制御装置かを判定し、デバイス制御装置に接続されたデバイスを情報処理装置が仮想化制御を行うのか、あるいはデバイス制御装置が直接制御するのかを切り替えるデバイス制御装置、デバイス制御方法およびデバイス制御システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、請求項１に記載のデバイス制御装置は、ネットワークを介して第１の情報処理装置に接続され、第２の情報処理装置および外部デバイスとローカル接続されたデバイス制御装置であって、前記外部デバイスを制御する外部デバイス制御手段と、前記外部デバイスがあたかも前記第１の情報処理装置にローカル接続されているかのように前記第１の情報処理装置へ認識させて制御できるようにするために、前記第１の情報処理装置からの制御要求に従って前記外部デバイスを制御する仮想化制御手段と、前記第１の情報処理装置または前記第２の情報処理装置から受信した前記デバイス制御装置の所定の機能に応じた所定の情報の入力元を切り替える入力切替手段と、前記入力切替手段による前記入力元の切り替えに連動して、前記外部デバイスの制御を前記第１の情報処理装置と前記デバイス制御装置との間で切り替える外部デバイス接続切替手段と、を備え、前記外部デバイス接続切替手段は、前記入力切替手段による前記入力元が前記第１の情報処理装置に切り替わった場合、前記仮想化制御手段に前記外部デバイスを制御させ、前記入力切替手段による前記入力元が前記第２の情報処理装置に切り替わった場合、前記外部デバイス制御手段に前記外部デバイスを制御させること、を特徴とする。
【発明の効果】
【００１３】
本発明によれば、映像入力端子の選択に応じて、デバイス制御装置がデバイスを直接制御するのかもしくは情報処理装置がデバイスを仮想化制御するのかを判定し、デバイスの制御を仮想化制御と直接制御の切り替えを行うことにより、ユーザはデバイスを制御する対象の切り替えを行う必要がなくなり、デバイスを仮想化制御と直接制御との間で切り替えながら使用する場合の利便性が向上する。
【００１４】
また、ユーザがデバイスの切り替え操作を明示的に行う必要がなくなり、情報処理装置の操作性を改善することができる。さらに、ユーザがデバイスの切り替え操作を明示的に行う必要がないためユーザの誤操作を低減し、意図しない情報処理装置がデバイスを仮想化制御することを回避することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明のデバイス制御システムの一例の構成を概略的に示すブロック図である。
【図２】図１に示すデバイス制御システムのデバイス制御装置において映像の入力切り替え後に、情報処理装置もしくはデバイス制御装置にデバイスの接続先を切り替える際の動作を説明するためのシーケンス図である。
【図３】図１に示すデバイス制御装置における外部デバイスの制御の切り替えに係る処理を説明するためのフローチャートである。
【図４】図１に示す情報処理装置で行われる外部デバイス３００の仮想化制御に係る処理を説明するためのフローチャートである。
【図５】図１に示すデバイス制御装置が記憶する仮想化接続先情報の一例である。
【図６】背景技術として示すＯＳＤによる映像入力端子の選択画面の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態によるデバイス制御システムの一例について図面を参照して説明する。
【００１７】
図１は、本発明の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。
【００１８】
図示のデバイス制御システムにおいては、情報処理装置１００がローカルエリアネットワーク（ＬＡＮ）を介してデバイス制御装置２００に接続されている。ＬＡＮは有線回線または無線回線で構成される。そして、デバイス制御装置２００には、例えば、通信インターフェース（例えば、ＵＳＢまたはＨＤＭＩ（登録商標））によって外部デバイス３００および情報処理装置４００がローカル接続されている。以降の説明では、通信インターフェースをＵＳＢとして説明する。
【００１９】
なお、図１に示すデバイス制御システムにおいては、情報処理装置１００、情報処理装置１２０、情報処理装置４００、デバイス制御装置２００、および外部デバイス３００がそれぞれ示されているが、情報処理装置１００、情報処理装置１２０、情報処理装置４００、デバイス制御装置２００、および外部デバイス３００の台数は図示の例に限定されるものではない。また、デバイス制御装置２００は、例えば、プロジェクタやディスプレイ等のオフィス機器であるが、携帯電話機、又はモバイル端末機器であってもよい。
【００２０】
また、図１に示すデバイス制御システムでは、デバイス制御装置２００と外部デバイス３００をそれぞれ別体の装置で構成しているが、デバイス制御装置２００を外部デバイス３００のケーシング内に収まるように一体構造としても良い。
【００２１】
本実施形態では、情報処理装置１００および情報処理装置１２０をＰＣ、デバイス制御装置２００をプロジェクタ、外部デバイス３００をＵＳＢマウス、情報処理装置４００をＰＣとして説明する。なお、情報処理装置１２０は、情報処理装置１００と同様の構成を備えているため、情報処理装置１００の構成についての説明をもって記載を省略する。
【００２２】
＜情報処理装置１００の構成＞
情報処理装置１００は、パーソナルコンピュータ（ＰＣ）等の装置である。ハードウェア構成として、ＣＰＵ１５１、入力部１５２、表示部１５３、メモリ１５４、通信部１５５、および記憶部１１０等を備え、これらハードウェアは内部バスで相互に接続されている。
【００２３】
ＣＰＵ１５１は情報処理装置１００全体の制御を司る。入力部１５２は、例えば、キーボードおよびマウスを備えている。表示部１５３として、例えば、液晶モニタが用いられる。メモリ１５４はＲＡＭおよびＲＯＭ等である。
【００２４】
通信部１５５はＬＡＮに接続するためのインターフェースであって、デバイス制御装置２００とデータ送受信を行う。これにより、情報処理装置１００はデバイス制御装置２００とデータ送受信を行う。
【００２５】
記憶部１１０には、ソフトウェアであるオペレーティングシステム（以下「ＯＳ」と呼ぶ：図示せず）、通信制御部１０４、仮想化制御部１０３、デバイスドライバ１０２、およびアプリケーション１０１が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリ１５４に読み出されて、ＣＰＵ１５１の制御に従い動作する。
【００２６】
アプリケーション１０１は、デバイスドライバ１０２に対してデータ入出力要求を指示することにより、外部デバイス３００を制御するためのソフトウェアである。
【００２７】
デバイスドライバ１０２は、ＯＳまたはアプリケーション１０１からのデータ入出力要求を、外部デバイス３００に応じたデータ形式のデータ（以下「制御コマンド」と呼ぶ）に変換して、当該制御コマンドを仮想化制御部１０３に送る。さらに、デバイスドライバ１０２は制御コマンドに対する応答をアプリケーション１０１に通知する。
【００２８】
また、このデバイスドライバ１０２は、一般に製造会社によって提供されるソフトウェアであって、情報処理装置１００は各デバイスに対応したデバイスドライバ１０２によって外部デバイス３００を制御することができる。
【００２９】
仮想化制御部１０３は、デバイスドライバ１０２から送られた制御コマンド（つまり、データ入出力要求）をＵＳＢデータ形式に準拠したパケットデータ（以下「ＵＳＢデータ」と呼ぶ）に変換する。また、仮想化制御部１０３は通信制御部１０４から送られてくるＵＳＢデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ１０２に送る。
【００３０】
さらに、仮想化制御部１０３は外部デバイス３００に対するデータ送受信要求に対して、外部デバイス３００が情報処理装置１００に直接的に接続（ローカル接続）されている際と同様の振る舞いをシミュレートする機能（以下「仮想化制御機能」と呼ぶ）を備えている。この仮想化制御機能により、情報処理装置１００は外部デバイス３００の接続状態が、これらの外部デバイス３００をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。
【００３１】
通信制御部１０４は、仮想化制御部１０３から送られるＵＳＢデータとＬＡＮを介してデバイス制御装置２００と通信する際のネットワークパケットとの変換処理を行って、デバイス制御装置２００と情報処理装置１００の間でデータ送受信の制御を行う。また、通信制御部１０４は仮想化制御部１０３を介してアプリケーション１０１またはデバイスドライバ１０２から送られるデータ送受信要求に応じて、デバイス制御装置２００と情報処理装置１００の間のセッションの開始および切断の制御を行う。
【００３２】
＜デバイス制御装置２００の構成＞
デバイス制御装置２００は、例えば、プロジェクタ、ディスプレイなどの周辺機器であって、ハードウェア構成として、ＣＰＵ２５１、入力部２５２、表示部２５３、メモリ２５４、通信部２５５、映像受信部２５６、映像出力部２５７、および記憶部２１０等を備える。
【００３３】
ＣＰＵ２５１はデバイス制御装置２００全体の制御を司る。入力部２５２は、例えば、タッチパネルやボタン等を備えている。表示部２５３として、例えば、液晶パネルが用いられる。メモリ２５４はＲＡＭおよびＲＯＭ等である。
【００３４】
通信部２５５はＬＡＮに接続するためのインターフェースであって、情報処理装置１００とデータ送受信を行う。
【００３５】
映像受信部２５６は、映像信号を受け取るためのインターフェース（映像入力端子）であって、情報処理装置（情報処理装置１００、情報処理装置１２０、情報処理装置４００）から映像信号（画面情報）の受信を行う。なお、映像受信部２５６が備えるインターフェースは複数あり、ＬＡＮ接続された情報処理装置から映像を受信するためのインターフェースと、ローカル接続された情報処理装置から映像を受信するためのインターフェースを備えている。
【００３６】
映像出力部２５７は、映像入力端子制御部２０４で選択された映像入力端子から入力された映像ソースを投影する。また、映像出力部２５７は、外部デバイス３００がマウス等の入力装置であって、かつ、外部デバイス３００をデバイス制御装置が直接制御する場合、外部デバイス制御部２０２からの指示により外部デバイス３００の座標情報をポインタとして映像ソースに重畳して表示する。
【００３７】
なお、映像出力部２５７に入力される映像は、映像入力端子から入力された映像ソースのみではなく、例えばデバイス制御装置２００に備わるメモリ２５４や記憶部２１０に保存された映像ソースでもよい。
【００３８】
記憶部２１０には、ソフトウェアであるＯＳ（図示せず）、通信制御部２０１、外部デバイス制御部２０２、仮想化制御部２０３、映像入力端子制御部２０４および接続切替制御部２０５が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリ２５４に読み出されて、ＣＰＵ２５１の制御に従い動作する。
【００３９】
通信制御部２０１は、情報処理装置（情報処理装置１００、情報処理装置１２０、情報処理装置４００）との間で行われる入出力データ等の送受信を制御する。
【００４０】
外部デバイス制御部２０２は、デバイス制御装置２００で外部デバイス３００を使用するための制御を行い、外部デバイス３００とデバイス制御装置２００との間のデータの送受信の制御を行う。
【００４１】
仮想化制御部２０３は、デバイス制御装置２００に接続された外部デバイス３００があたかも情報処理装置（情報処理装置１００、情報処理装置１２０）にローカル接続されているかのように情報処理装置（情報処理装置１００、情報処理装置１２０）へ認識させて制御できるようにするため、情報処理装置（情報処理装置１００、情報処理装置１２０）の仮想化制御部１０３からの制御要求に従って（連動して）外部デバイス３００の制御を行う。
【００４２】
映像入力端子制御部２０４は、例えばＯＳＤなどを使用してユーザが選択した映像入力端子に基づき、制御を行う。
【００４３】
接続切替制御部２０５は、外部デバイス３００の制御権を情報処理装置（情報処理装置１００、情報処理装置１２０）とデバイス制御装置２００との間で切り替える制御を行う。
【００４４】
接続切替制御部２０５は、映像入力端子制御部２０４で選択された映像入力端子に基づき（連動し）、情報処理装置が外部デバイス３００を仮想化制御するか、デバイス制御装置２００が外部デバイス３００を直接制御するかを切り替える。例えば、ＬＡＮを介して映像入力が行われていた場合は外部デバイス３００を情報処理装置１００で仮想化制御すると判断し、映像入力がローカル接続により行われていた場合はデバイス制御装置２００により直接制御すると判断する。判断方法についての詳細は図３および図５にて後述する。
【００４５】
＜外部デバイス３００の構成＞
外部デバイス３００は、例えば、マウス、キーボード、およびテンキー等の入力装置等であり、外部デバイス３００はデバイス制御装置２００にＵＳＢインターフェース等の通信Ｉ／Ｆ３０２によって接続される。
【００４６】
前述のように、外部デバイス３００はデバイス制御装置２００にＵＳＢインターフェースによって外付けで接続されている。なお、外部デバイス３００が備える通信インターフェースは、ＵＳＢまたはＨＤＭＩ（登録商標）に限定されるものではない。
【００４７】
個体識別情報３０１は、外部デバイス３００を識別するための情報であって、メーカーを識別するために機器を製造したメーカー毎に割り当てられたベンダーＩＤ（ＶＩＤ）、機種を識別するために機種毎に割り当てられた製品ＩＤ（ＰＩＤ）、機器の個体を識別するために機器毎に割り当てられたシリアル番号などである。外部デバイス３００がデバイス制御装置２００に接続された際などに、デバイス制御装置２００が外部デバイス３００から取得する情報である。
【００４８】
＜情報処理装置４００の構成＞
情報処理装置４００は、パーソナルコンピュータ（ＰＣ）等の装置であって、情報処理装置１００と同等である。また、情報処理装置４００はデバイス制御装置２００にＤＶＩ等の直接的に接続（ローカル接続）される映像出力Ｉ／Ｆ４０１によって接続される。また、情報処理装置４００は、外部デバイス３００の仮想化制御を行わず、デバイス制御装置２００に映像を供給するのみである。
【００４９】
＜デバイス制御システムにおけるシーケンス＞
図２は、図１に示すデバイス制御システムにおけるデバイス制御装置２００において映像入力先の切り替えに応じて、外部デバイス３００の制御の切り替えを実現する際の動作を説明するためのシーケンス図である。なお、外部デバイス３００を仮想化制御する情報処理装置を情報処理装置１００として説明する。
【００５０】
図示の例では、外部デバイス３００はデバイス制御装置２００にローカル接続されており、かつ、情報処理装置１００、情報処理装置１２０およびデバイス制御装置２００は相互でＬＡＮ接続されている状態から説明を開始する。また、映像入力端子としてはローカル接続のもの、例えばＤＶＩが選択されており、情報処理装置４００から映像が入力されている状態とする。
【００５１】
＜デバイス制御装置２００と外部デバイス３００の接続による切り替え＞
初めに、デバイス制御装置２００がローカル接続された情報処理装置４００からの映像を入力とし、外部デバイス３００を制御する場合について説明する。
【００５２】
ユーザは、外部デバイス３００をデバイス制御装置２００に接続する。これにより、外部デバイス制御部２０２が接続を検知し、外部デバイス３００の個体識別情報３０１を取得する（ステップＳ２０１）。また、その際に外部デバイス制御部２０２が個体識別情報３０１をデバイス制御装置２００の接続切替制御部２０５に送信する。
【００５３】
接続切替制御部２０５は、映像入力端子制御部２０４で選択された映像入力端子に基づき外部デバイス３００を制御する対象が情報処理装置（情報処理装置１００、情報処理装置１２０）であるか、デバイス制御装置２００であるか決定する（ステップＳ２０２）。
【００５４】
接続切替制御部２０５は、ローカル接続されている映像入力端子が選択されていることで、外部デバイス３００を制御する対象がデバイス制御装置２００であると決定する。この決定によって、接続切替制御部２０５は、情報処理装置４００の映像ソースを入力とし、外部デバイス制御部２０２に対し外部デバイス３００の制御開始を要求する（ステップＳ２０３）。接続切替制御部２０５の処理の詳細は図３で後述する。
【００５５】
外部デバイス制御部２０２は、外部デバイス３００とデータ送受信を行う（ステップＳ２０４）。
【００５６】
ステップＳ２０１〜ステップＳ２０４までの処理により、外部デバイス３００はデバイス制御装置２００と接続が完了し、情報処理装置１００からの映像ソースに対して、外部デバイス３００からの座標情報をデバイス制御装置２００が重畳可能な状態となる。
【００５７】
＜映像入力がＬＡＮ接続の場合における外部デバイス３００の制御切り替え処理＞
次に、外部デバイス３００の制御を情報処理装置１００に切り替える場合について説明する。
【００５８】
入力部２５２を介したユーザ操作により、映像入力端子制御部２０４は、入力ソースをＬＡＮ接続された情報処理装置１００に切り替える（ステップＳ２０５）。
【００５９】
入力ソースの切り替えに伴い、映像入力端子制御部２０４は、外部デバイス３００の制御先の切り替えを接続切替制御部２０５に要求する（ステップＳ２０６）。
【００６０】
接続切替制御部２０５は、映像入力端子制御部２０４で選択された映像入力端子に基づき外部デバイス３００の接続先を情報処理装置（情報処理装置１００、情報処理装置１２０）であるか、デバイス制御装置２００であるか判定し、情報処理装置１００に接続する（ステップＳ２０７）。後述する図３フローチャートに基づき、デバイス制御装置２００が仲介することで、情報処理装置１００が外部デバイス３００との間で仮想化制御を開始する。
【００６１】
接続切替制御部２０５から通信制御部２０１を介して外部デバイス３００の接続時に取得した個体識別情報３０１を情報処理装置１００に送信する（ステップＳ２０８）
【００６２】
情報処理装置１００は、個体識別情報３０１に基づきデバイスドライバ１０２、仮想化制御部１０３を一意に特定し、順次動的に生成する。その後、アプリケーション１０１を起動し、情報処理装置１００において外部デバイス３００の仮想制御を開始する（ステップＳ２０９）。詳細は図４にて後述する。
【００６３】
情報処理装置１００は、仮想化制御部２０３を介して外部デバイス３００の仮想化制御を行い、仮想化制御部２０３とデータ送受信（データ通信）を実行する（ステップＳ２１０）。
【００６４】
続いて、仮想化制御部２０３は、通信Ｉ／Ｆ３０２を介して外部デバイス３００のデバイス操作情報を送受信する（ステップＳ２１１）
【００６５】
ステップＳ２０５〜ステップＳ２１１までの説明により、映像入力がローカル接続からＬＡＮ接続に切替わった場合における外部デバイス３００の接続先の切り替え処理を示した。
【００６６】
＜映像入力がローカル接続による入力の場合における外部デバイス３００の制御切り替え処理＞
次に、外部デバイス３００の制御をデバイス制御装置２００に切り替える場合について説明する。
【００６７】
入力部２５２を介したユーザ操作により、映像入力端子制御部２０４は、入力ソースを情報処理装置４００のローカル接続（ＬＡＮ接続以外）に切り替える（ステップＳ２１２）。映像入力端子制御部２０４は外部デバイス３００の切り替え要求を接続切替制御部２０５に送信する（ステップＳ２１３）。
【００６８】
接続切替制御部２０５は、映像入力端子制御部２０４で選択された映像入力端子に基づき外部デバイス３００を制御する対象が情報処理装置１００であるか、デバイス制御装置２００であるか判定し、デバイス制御装置２００に接続する（ステップＳ２１４）。
【００６９】
外部デバイス３００の制御要求を外部デバイス制御部２０２に送信する際、既に情報処理装置１００が外部デバイス３００を仮想化制御していた場合、接続切替制御部２０５は、仮想化制御部２０３に対し仮想化終了要求を送信する（ステップＳ２１５）。
【００７０】
仮想化制御部２０３は、ステップＳ２１５の要求を受けて外部デバイス３００の仮想化制御を終了し、情報処理装置１００に対し外部デバイス３００の制御終了通知を行う（ステップＳ２１６）。ステップＳ２１２〜ステップＳ２１６により外部デバイス３００の仮想化制御は終了する。
【００７１】
後述する図３に基づき、外部デバイス３００は、デバイス制御装置２００に外部デバイス３００のデータ送受信の制御要求を行う（ステップＳ２１７）。
【００７２】
外部デバイス制御部２０２は、外部デバイス３００とデータ送受信を行う（ステップＳ２１８）。
【００７３】
ステップＳ２１２〜ステップＳ２１８までの説明により、映像入力がＬＡＮ接続からＬＡＮ以外の接続に切替わった場合における外部デバイス３００の制御の切り替え処理を示した。
【００７４】
なお、情報処理装置４００については映像出力Ｉ／Ｆ４０１を介してのデバイス制御装置２００へ映像を供給するのみであり、外部デバイス３００の接続先切り替えには直接関わらないため、外部デバイス３００の仮想化制御も行わない。
【００７５】
入力ソースの切り替え先がＬＡＮ接続であるかローカル接続であるかに基づき、ステップＳ２０５〜ステップＳ２１１と、ステップＳ２１２〜ステップＳ２１８の処理により外部デバイス３００の制御の切り替えを実現することが可能となる。
【００７６】
＜デバイス制御装置２００による制御の切り替え処理＞
図３は、デバイス制御装置２００における外部デバイス３００の制御の切り替えに係る処理を説明するためのフローチャートである。なお、この処理は外部デバイス３００の接続状態が変化した際、および映像入力端子制御部２０４で入力している映像入力端子が変更された際に実施される。
【００７７】
デバイス制御装置２００の接続切替制御部２０５は、外部デバイス３００が接続されたか否かを外部デバイス制御部２０２からの接続要求により検知する（ステップＳ３０１）。外部デバイス３００の接続が検知されないと（ステップＳ３０１でＮｏ）、デバイス制御装置２００は当該接続が検知されるまでステップＳ３０１の処理を繰り返す。
【００７８】
一方、外部デバイス３００の接続を検知すると（ステップＳ３０１でＹｅｓ）、デバイス制御装置２００の接続切替制御部２０５は、情報処理装置（情報処理装置１００、情報処理装置１２０）における外部デバイス３００の仮想化制御の要否を判定する（ステップＳ３０２）。
【００７９】
ステップＳ３０２では、判定には映像入力端子制御部２０４においてどの映像入力端子が投影対象として選択されているかの情報を取得し、投影対象となっている映像入力端子がローカル接続のものであった場合（ステップＳ３０２でＮｏ）、仮想化制御を行う必要がないため、接続切替制御部２０５はデバイス制御装置２００の外部デバイス制御部２０２に対し外部デバイス３００をローカル接続するように要求を送信する（ステップＳ３１０）。
【００８０】
一方、投影対象となっている映像入力端子がＬＡＮ接続のものであった場合（ステップＳ３０２でＹｅｓ）、接続切替制御部２０５は、ＬＡＮ接続されている情報処理装置を識別する情報をまとめた情報（仮想化接続先情報）を現在接続されている情報処理装置（情報処理装置１００または情報処理装置１２０）の情報に更新する（ステップＳ３０３）。なお、この仮想化接続先情報に格納される情報処理装置（情報処理装置１００または情報処理装置１２０）の識別情報は、ＬＡＮ接続されている情報処理装置からの映像ソースをデバイス制御装置２００が投影するために記憶部２１０に保持している情報と同様のものである。仮想化接続先情報の詳細は図５で後述する。
【００８１】
接続切替制御部２０５は、仮想化接続先情報を参照し、デバイス制御装置２００が画面を投影している情報処理装置（情報処理装置１００または情報処理装置１２０）を外部デバイス３００の仮想化接続先として決定する（ステップＳ３０４）。
【００８２】
続いて、デバイス制御装置２００の接続切替制御部２０５は仮想化制御を開始する（ステップＳ３０５）。仮想化制御については、次に図４のフローチャートで説明する。
＜情報処理装置１００における外部デバイス３００の仮想化制御＞
図４は、図１に示す情報処理装置１００における外部デバイス３００の仮想化制御に係る処理を説明するためのフローチャートである。
【００８３】
情報処理装置１００内のＯＳ起動中に常に待機および動作しているソフトウェア（以後常駐モジュールと呼ぶ：不図示）は、デバイス制御装置２００を介してＬＡＮ接続された外部デバイス３００を知るために、通信制御部１０４を介して、デバイス制御装置２００に対して検索パケットをブロードキャストする。具体的には、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）などのプロトコルを用いて、デバイス制御装置２００の検索（問い合わせ）を行なう。
【００８４】
常駐モジュールは、デバイス制御装置２００から個体識別情報３０１の受信を待ち（ステップＳ４０１）、デバイス制御装置２００から受信がない場合には（ステップＳ４０１でＮｏ）、仮想化制御は行わず、処理を終了する。
【００８５】
一方、常駐モジュールは、デバイス制御装置２００から個体識別情報３０１の受信があると（ステップＳ４０１でＹｅｓ）、個体識別情報３０１の登録を行う。（ステップＳ４０２）
【００８６】
常駐モジュールは、取得した個体識別情報３０１のうち、デバイスディスクリプタに記述されたベンダーＩＤ（ＶＩＤ）と製品ＩＤ（ＰＩＤ）、ストリングディスクリプタに記述されたシリアル番号とデバイス名称によって外部デバイス３００の個体を識別する。また、インターフェースディスクリプタに記述されたインターフェース番号を識別する。このようにして識別された外部デバイス３００の個体に関する情報に基づいて、仮想化制御部１０３の生成（ステップＳ４０３）、デバイスドライバの生成（ステップＳ４０４）を動的に行う。
【００８７】
その後、アプリケーション１０１を起動し、アプリケーション１０１からドライバソフトウェア部品を制御するためのインターフェース（アプリケーション／ドライバインターフェース）を起動する（ステップＳ４０５）。起動が完了したらデバイス制御装置２００への通知を行う（ステップＳ４０６）。このようにして、情報処理装置１００内において外部デバイス３００の仮想化制御が実行される。なお、情報処理装置１２０も同様に外部デバイス３００の仮想化制御を実行する。
【００８８】
＜仮想化接続先情報について＞
図５は、仮想化制御を行う情報処理装置を一意に決定するために用いられる情報（仮想化接続先情報）を説明するための図である。なお、本実施形態ではＬＡＮ接続されている情報処理装置は情報処理装置１００および情報処理装置１２０の２つである。加えて、ローカル接続（ＤＶＩ接続）されている情報処理装置は、図に示す情報処理装置４００である。
【００８９】
本実施形態では、図３のステップＳ３０３においてＬＡＮ接続されており、投影対象となっている情報処理装置１００の個体識別情報に基づいて仮想化接続先情報を作成し、デバイス制御装置２００が備える記憶部２１０に格納される。
【００９０】
記憶部２１０に格納する情報処理装置１００の個体識別情報は、デバイス制御装置２００とＬＡＮ接続されている情報処理装置１００を一意に識別できるものである。加えて、仮想化接続先情報は、仮想化制御に必要なＬＡＮ接続に関する情報だけでなく、その他の接続形態（ＤＶＩやＨＤＭＩ（登録商標）といったローカル接続）に係る情報も併せて管理している。この仮想化接続先情報により、デバイス制御装置２００は、外部デバイス３００をＬＡＮ接続された情報処理装置が仮想化制御するのか、あるいは自身が直接制御を行うのかを管理する。
【００９１】
このとき、デバイス制御装置２００が接続する情報処理装置を一意に識別することが可能であれば、複数の情報の組み合わせ（例えば、情報処理装置名とＩＰアドレスなどの組み合わせ）であってもよい。
【００９２】
また、図５では、格納する情報の例として情報処理装置のＩＰアドレス、接続形態、および、現在投影対象であるかどうかという情報を例示しているが、接続する情報処理装置を一意に識別できれば、ＩＰアドレスに限らず、例えば、ＭＡＣアドレスやデバイス情報等でもよい。
【００９３】
上述のように、本実施形態では、デバイス制御装置２００にローカル接続され、かつ情報処理装置１００に仮想化制御され、あたかも直接接続されたようにふるまう外部デバイス３００が存在した場合に、従来では常に外部デバイス３００の接続先をユーザ操作によって切り替えるという操作手順を踏む必要があったが、映像の入力切り替えが発生した場合、映像の入力切り替えに連動してデバイス制御装置２００が外部デバイス３００の接続先を切り替えることによりユーザの利便性が向上する。
【００９４】
具体的には、デバイス制御装置２００においてＬＡＮ接続からローカル接続への映像の入力切り替えが発生し、情報処理装置１００が外部デバイス３００の仮想化制御が不要になった場合、映像の入力の切り替えに連動してデバイス制御装置２００の接続切替制御部２０５が外部デバイス３００の接続先の判断を行う。接続先の判断結果に基づき、接続切替制御部２０５が外部デバイス３００の接続をデバイス制御装置２００とのローカル接続に切り替えを実施する。これにより、ユーザは外部デバイス３００の接続先を意識する必要がなくなると共にユーザによる外部デバイス３００の接続先切り替えの操作を省略することができる。
【００９５】
なお、上記の実施形態では、デバイス制御装置２００をプロジェクタやディスプレイとして例示したが、これに限定したものではない。デバイス制御装置２００の機能（本実施形態では表示機能）に応じた情報処理装置（情報処理装置１００、情報処理装置１２０、情報処理装置４００）からの所定の情報の入力に応じて外部デバイス３００を制御する情報処理装置を切り替えるような場合にも適用することができる。
【００９６】
以上、本発明について上記の実施形態に基づいて説明したが、本発明は、これらの実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００９７】
例えば、上記の実施形態の機能の制御方法として、この制御方法をデバイス制御装置に実行させるようにすればよい。また、上述の実施形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムをデバイス制御装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【００９８】
また、本発明は、以下の処理を実行することによっても実現される。つまり、上述した実施形態の機能を実現するソフトウェア（プログラムコード）を、ネットワークまたは各種の記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。
【００９９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。
【０１００】
また、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されるように構成してもよい。
【０１０１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれたあと、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を実行し、その処理に応じて上述した実施形態が実現される場合も含んでいる。
【０１０２】
なお、プログラムコードを供給するため、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤやＤＶＤに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等の記憶媒体を用いることができる。または、プログラムコードは、ネットワークを介してダウンロードしてもよい。
【符号の説明】
【０１０３】
１００：情報処理装置
１０１：アプリケーション
１０２：デバイスドライバ
１０３：仮想化制御部
１０４：通信制御部
１１０：記憶部
１５１：ＣＰＵ
１５２：入力部
１５３：表示部
１５４：メモリ
１５５：通信部
２００：デバイス制御装置
２０１：通信制御部
２０２：外部デバイス制御部
２０３：仮想化制御部
２０４：映像入力端子制御部
２０５：接続切替制御部
２１０：記憶部
２５１：ＣＰＵ
２５２：入力部
２５３：表示部
２５４：メモリ
２５５：通信部
２５６：映像受信部
２５７：映像出力部
３００：外部デバイス
３０１：個体識別情報
３０２：通信Ｉ／Ｆ
４００：情報処理装置
４０１：映像出力Ｉ／Ｆ
【図１】
2018097757.tif 000003
【図２】
2018097757.tif 000004
【図３】
2018097757.tif 000005
【図４】
2018097757.tif 000006
【図５】
2018097757.tif 000007
【図６】
2018097757.tif 000008