(57)【要約】【課題】内部デバイスや外部デバイスを使ってネットワーク上の情報処理装置を遠隔操作できるデバイス制御装置、その制御方法およびデバイス制御システムにおいて、情報処理装置とデバイス制御装置の間をデバイス数に基づいたセッション数に関わらず制御する方法を提供する。【解決手段】内部デバイスまたは外部デバイスが具備する１つまたは複数の所定の機能を組み合わせてデバイス制御装置に接続された１つの仮想複合デバイスとして識別させるための仮想複合デバイス識別情報を記憶し情報処理装置に送信する。情報処理装置が仮想複合デバイス識別情報に基づいて識別した仮想複合デバイスを、情報処理装置からの制御要求に従って制御する際、内部デバイスまたは外部デバイスと仮想複合デバイスとの間のデータ通信は第１のデータ形式に変換し、仮想複合デバイスとデバイス制御装置との間のデータ通信は第２のデータ形式に変換して制御する。【選択図】図１
2017010192.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して情報処理装置に接続され、１つまたは複数の所定の機能を内部デバイスとして認識させるデバイス制御装置であって、
前記内部デバイスおよび／または前記デバイス制御装置に接続された外部デバイスから構成される仮想複合デバイスとして識別させるための仮想複合デバイス識別情報を記憶する識別情報記憶手段と、
前記仮想複合デバイス識別情報を前記情報処理装置に送信する識別情報送信手段と、
前記情報処理装置が前記仮想複合デバイス識別情報に基づいて識別した前記仮想複合デバイスを、当該情報処理装置からの制御要求に従って制御する際、前記内部デバイスまたは前記外部デバイスと前記仮想複合デバイスとの間のデータ通信および前記仮想複合デバイスと前記デバイス制御装置との間のデータ通信は第１のデータ形式に変換し、前記情報処理装置と前記デバイス制御装置との間のデータ通信は第２のデータ形式に変換して制御する仮想化制御手段と、
を備えることを特徴とするデバイス制御装置。
【請求項２】
前記識別情報記憶手段は、前記デバイス制御装置が具備する１つまたは複数の所定の機能を内部デバイスとして識別させるための仮想デバイス識別情報をさらに記憶し、
所定の操作に応じて選択された１以上の前記内部デバイスおよび／または前記外部デバイスに基づいて構成された前記仮想複合デバイス以外の前記内部デバイスおよび／または前記外部デバイスの仮想デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項１に記載のデバイス制御装置。
【請求項３】
前記仮想化制御手段は、前記制御要求に対する情報を送受信する場合、前記仮想デバイス識別情報および前記仮想複合デバイス識別情報の対応関係に基づき、どの前記内部デバイスまたは前記外部デバイスと前記情報を送受信するか判断し、当該判断結果に従い前記情報を送受信することを特徴とする請求項２に記載のデバイス制御装置。
【請求項４】
前記識別情報送信手段は、前記内部デバイスおよび／または前記外部デバイスのうちデバイス制御装置が認識した１以上の前記内部デバイスおよび／または前記外部デバイスに基づいて構成される前記仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項１乃至３の何れか１項に記載のデバイス制御装置。
【請求項５】
前記内部デバイスまたは前記外部デバイスにおいて前記所定の操作が行われると、前記識別情報送信手段は、前記所定の操作に基づいて構成される前記仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項１乃至３の何れか１項に記載のデバイス制御装置。
【請求項６】
前記内部デバイスまたは前記外部デバイスにおいて所定の終了操作が行われると、前記仮想化制御手段は、前記仮想複合デバイスの制御を終了することを特徴とする請求項１乃至５の何れか１項に記載のデバイス制御装置。
【請求項７】
前記識別情報送信手段は、前記仮想複合デバイスの制御を終了すると、前記仮想複合デバイスを構成する前記内部デバイスおよび／または前記外部デバイスのうち前記所定の終了操作によって仮想化制御終了の対象とならなかったデバイスの仮想デバイス識別情報または前記仮想化制御終了の対象とならなかったデバイスで構成される仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項６に記載のデバイス制御装置。
【請求項８】
前記情報処理装置において所定の終了操作が行われると、当該終了操作に基づいた指示を受けた前記仮想化制御手段は前記情報処理装置からの指示を検知し、前記仮想複合デバイスの制御を終了することを特徴とする請求項１乃至５の何れか１項に記載のデバイス制御装置。
【請求項９】
前記情報処理装置と、請求項１乃至８の何れか１項に記載のデバイス制御装置と、を備えることを特徴とするデバイス制御システム。
【請求項１０】
ネットワークを介して情報処理装置に接続され、１つまたは複数の所定の機能を内部デバイスとして認識させるデバイス制御装置の制御方法であって、
前記内部デバイスおよび／または前記デバイス制御装置に接続された外部デバイスから構成される仮想複合デバイスとして識別させるための仮想複合デバイス識別情報を記憶する識別情報記憶ステップと、
前記仮想複合デバイス識別情報を前記情報処理装置に送信する識別情報送信ステップと、
前記情報処理装置が前記仮想複合デバイス識別情報に基づいて識別した前記仮想複合デバイスを、当該情報処理装置からの制御要求に従って制御する際、前記内部デバイスまたは前記外部デバイスと前記仮想複合デバイスとの間のデータ通信および前記仮想複合デバイスと前記デバイス制御装置との間のデータ通信は第１のデータ形式に変換し、前記情報処理装置と前記デバイス制御装置との間のデータ通信は第２のデータ形式に変換して制御する仮想化制御ステップと、
を備えることを特徴とするデバイス制御装置の制御方法。
【請求項１１】
前記識別情報記憶ステップは、前記デバイス制御装置が具備する１つまたは複数の所定の機能を内部デバイスとして識別させるための仮想デバイス識別情報をさらに記憶し、
所定の操作に応じて選択された１以上の前記内部デバイスおよび／または前記外部デバイスに基づいて構成された前記仮想複合デバイス以外の前記内部デバイスおよび／または前記外部デバイスの仮想デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項１０に記載のデバイス制御装置の制御方法。
【請求項１２】
前記仮想化制御ステップは、前記制御要求に対する情報を送受信する場合、前記仮想デバイス識別情報および前記仮想複合デバイス識別情報の対応関係に基づき、どの前記内部デバイスまたは前記外部デバイスと前記情報を送受信するか判断し、当該判断結果に従い前記情報を送受信することを特徴とする請求項１１に記載のデバイス制御装置の制御方法。
【請求項１３】
前記識別情報送信ステップは、前記内部デバイスおよび／または前記外部デバイスのうちデバイス制御装置が認識した１以上の前記内部デバイスおよび／または前記外部デバイスに基づいて構成される前記仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項１０乃至１２の何れか１項に記載のデバイス制御装置の制御方法。
【請求項１４】
前記内部デバイスまたは前記外部デバイスにおいて前記所定の操作が行われると、前記識別情報送信ステップは、前記所定の操作に基づいて構成される前記仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項１０乃至１２の何れか１項に記載のデバイス制御装置の制御方法。
【請求項１５】
前記内部デバイスまたは前記外部デバイスにおいて所定の終了操作が行われると、前記仮想化制御ステップは、前記仮想複合デバイスの制御を終了することを特徴とする請求項１０乃至１４の何れか１項に記載のデバイス制御装置の制御方法。
【請求項１６】
前記識別情報送信ステップは、前記仮想複合デバイスの制御を終了すると、前記仮想複合デバイスを構成する前記内部デバイスおよび／または前記外部デバイスのうち前記所定の終了操作によって仮想化制御終了の対象とならなかったデバイスの仮想デバイス識別情報または前記仮想化制御終了の対象とならなかったデバイスで構成される仮想複合デバイス識別情報を前記情報処理装置に送信することを特徴とする請求項１５に記載のデバイス制御装置の制御方法。
【請求項１７】
前記情報処理装置において所定の終了操作が行われると、当該終了操作に基づいた指示を受けた前記仮想化制御ステップは前記情報処理装置からの指示を検知し、前記仮想複合デバイスの制御を終了することを特徴とする請求項１０乃至１４の何れか１項に記載のデバイス制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して接続された情報処理装置から送られる各種要求を処理するためのデバイス制御装置、その制御方法、およびデバイス制御システムに関する。
【背景技術】
【０００２】
近年、ネットワークの普及によって、プリンタ、ストレージ、およびスキャナなどのデバイスを、ネットワーク上の情報処理装置であるクライアントＰＣが共有デバイスとして利用することが行われている。その実現方法がいくつか提案されている。
【０００３】
例えば、プリンタや複合機などのデバイス（デバイス制御装置）に具備されている操作パネルを、ネットワーク上の情報処理装置の入出力機能として仮想化制御し、デバイス制御装置からネットワーク上の情報処理装置を遠隔操作することで印刷やスキャンを実行させるデバイス制御システムがある（例えば、特許文献１参照）。特許文献１のデバイス制御システムにおいて情報処理装置から複数のデバイスを制御する場合、例えば、３つのデバイスを仮想化制御していると、デバイス毎にセッションを要するため、セッションはデバイス数の３つ必要であった。そのため、セッションを切断する場合にも、デバイス毎にセッションを管理する必要があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１０２８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、出願人自らが先に提案した特許文献１のクライアント装置およびデバイス制御システムをさらに拡張・発展させ、デバイス制御装置が具備する所定の機能である内部デバイスやデバイス制御装置に直結された外部デバイスを情報処理装置から制御する場合、これら内部デバイスや外部デバイスの数に基づいたセッション数に関わらず、情報処理装置とデバイス制御装置間の１以上のデバイス（内部デバイス、外部デバイス）を制御できるデバイス制御装置、その制御方法、およびデバイス制御システムを提供することを目的とする。
【０００６】
さらに本発明は、情報処理装置から内部デバイスや外部デバイスを制御する場合に、複数のデバイスを１つのデバイスとして認識させてセッションを利用することにより、そのセッションを利用するデバイス制御装置毎にセッションの接続または切断の制御を可能とし、セッション管理の利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、請求項１に記載のデバイス制御装置は、ネットワークを介して情報処理装置に接続され、１つまたは複数の所定の機能を内部デバイスとして認識させるデバイス制御装置であって、前記内部デバイスおよび／または前記デバイス制御装置に接続された外部デバイスから構成される仮想複合デバイスとして識別させるための仮想複合デバイス識別情報を記憶する識別情報記憶手段と、前記仮想複合デバイス識別情報を前記情報処理装置に送信する識別情報送信手段と、前記情報処理装置が前記仮想複合デバイス識別情報に基づいて識別した前記仮想複合デバイスを、当該情報処理装置からの制御要求に従って制御する際、前記内部デバイスまたは前記外部デバイスと前記仮想複合デバイスとの間のデータ通信および前記仮想複合デバイスと前記デバイス制御装置との間のデータ通信は第１のデータ形式に変換し、前記情報処理装置と前記デバイス制御装置との間のデータ通信は第２のデータ形式に変換して制御する仮想化制御手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、デバイス制御装置が具備する内部デバイスやデバイス制御装置に直接された外部デバイスを、ネットワークを介して情報処理装置から制御する際に、当該デバイス制御装置の内部デバイスや外部デバイスの数に関わらず、デバイス制御装置と情報処理装置の間のデータ通信におけるセッション数を削減することが可能となる。
【０００９】
さらに、複数のデバイス（内部デバイスや外部デバイス）を１つのデバイスとして情報処理装置に認識させることで、情報処理装置とデバイス制御装置の間のセッションの接続または切断を一元管理でき、利便性を向上させることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。
【図２】図１に示す仮想デバイス識別情報の一例を示す図である。
【図３】図１に示す仮想複合デバイス識別情報の一例を示す図である。
【図４】図１に示すデバイス制御システムにおける仮想複合デバイスのデバイス構成を示す図である。
【図５】図１に示すデバイス制御システムにおいて情報処理装置がデバイス制御装置に備えられた内部デバイスとデバイス制御装置に接続された外部デバイスを仮想化制御する際の動作を説明するためのシーケンス図である。
【図６】図１に示すデバイス制御システムにおいてデバイス制御装置に接続された外部デバイスのセッションの切断・再接続に連動して情報処理装置に接続された仮想複合デバイスのセッションを切断・再接続する際の動作を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態によるデバイス制御システムの一例について図面を参照して説明する。
【００１２】
図１は、本発明の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。
【００１３】
図示のデバイス制御システムにおいては、情報処理装置１００がローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）を介してデバイス制御装置２００に接続されている。ＬＡＮおよびＷＡＮは有線回線または無線回線で構成される。そして、デバイス制御装置２００には、例えば、通信インターフェース（例えば、ＵＳＢまたはＨＤＭＩ（登録商標））によって外部デバイス３００がローカル接続されている。以降の説明では、通信インターフェースをＵＳＢとして説明する。
【００１４】
＜情報処理装置１００の構成＞
情報処理装置１００は、ユーザによって利用されるパーソナルコンピュータ（ＰＣ）等の装置である。ハードウェア構成として、ＣＰＵ、入力部、表示部、メモリ、通信部（ともに不図示）、記憶部１１０を備え、これらハードウェアは内部バスで相互に接続されている。
【００１５】
ＣＰＵは情報処理装置１００の全体の制御を司る。入力部は、例えば、キーボードおよびマウスを備えている。表示部として、例えば、液晶モニタが用いられる。メモリはＲＡＭおよびＲＯＭ等である。
【００１６】
通信部はＬＡＮおよびＷＡＮなどに接続するためのインターフェースであって、デバイス制御装置２００とデータ送受信を行う。これにより、情報処理装置１００はデバイス制御装置２００にローカル接続された外部デバイス３００やデバイス制御装置２００に備えられた内部デバイス４００や外部デバイス３００とデータ送受信することが可能となる。
【００１７】
記憶部１１０には、ソフトウェアであるオペレーティングシステム（以下「ＯＳ」と呼ぶ：不図示）、アプリケーション１０１、デバイスドライバ１０２、仮想化制御部１０３および通信制御部１０４が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、ＣＰＵの制御に従い動作する。
【００１８】
アプリケーション１０１は、デバイスドライバ１０２に対してデータ入出力要求を指示することにより、デバイス制御装置２００に接続された外部デバイス３００やデバイス制御装置２００に備えられた内部デバイス４００を組み合わせた複合デバイス（以下「仮想複合デバイス」と呼ぶ）を制御するためのソフトウェアである。
【００１９】
デバイスドライバ１０２は、外部デバイス３００、内部デバイス４００、および仮想複合デバイス５００を制御するための機能部である。ＯＳまたはアプリケーション１０１からのデータ入出力要求を、外部デバイス３００、内部デバイス４００、および仮想複合デバイス５００に応じたデータ形式のデータ（以下「制御コマンド」と呼ぶ）に変換して、当該制御コマンドを仮想化制御部１０３に送る。さらに、デバイスドライバ１０２は制御コマンドに対する応答をアプリケーション１０１に通知する。このデバイスドライバ１０２は一般に、製造したメーカーによって提供されるソフトウェアであって、情報処理装置１００は各デバイスに対応したデバイスドライバ１０２によって外部デバイス３００、内部デバイス４００、および仮想複合デバイス５００を制御することができる。
【００２０】
仮想化制御部１０３は、デバイスドライバ１０２から送られた制御コマンド（つまり、データ入出力要求）をＵＳＢデータ形式に準拠したパケットデータ（以下「ＵＳＢデータ」と呼ぶ）に変換する。また、仮想化制御部１０３は通信制御部１０４から送られてくるＵＳＢデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ１０２に送る。
【００２１】
さらに、仮想化制御部１０３は、外部デバイス３００、内部デバイス４００、および仮想複合デバイス５００に対するデータ送受信要求に対して、外部デバイス３００、内部デバイス４００、および仮想複合デバイス５００が情報処理装置１００に直接的に接続（ローカル接続）されている際と同様の振る舞いをシミュレートする機能（以下「仮想化制御機能」と呼ぶ）を備えている。この仮想化制御機能により、情報処理装置１００は外部デバイス３００、内部デバイス４００、および仮想複合デバイス５００の接続状態が、外部デバイス３００、内部デバイス４００、および仮想複合デバイス５００をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。
【００２２】
通信制御部１０４は、仮想化制御部１０３から送られるＵＳＢデータとＬＡＮおよびＷＡＮを介してデバイス制御装置２００と通信する際のネットワークパケットとの変換処理を行い、デバイス制御装置２００と情報処理装置１００の間でデータ送受信の制御を行う。
【００２３】
また、通信制御部１０４は、仮想化制御部１０３を介してアプリケーション１０１またはデバイスドライバ１０２から送られるデータ送受信要求に応じて、デバイス制御装置２００と情報処理装置１００の間のセッションの開始および切断の制御を行う。デバイス制御装置２００と情報処理装置１００の間のセッションは、情報処理装置１００が仮想化制御するデバイス数分（内部デバイス、外部デバイス、仮想複合デバイスの数分）、生成される。
【００２４】
＜デバイス制御装置２００の構成＞
デバイス制御装置２００は、例えば、プリンタまたは複合機等の周辺機器であって、ハードウェア構成として、ＣＰＵ、メモリ、通信部、および記憶部（ともに不図示）を備えるとともに、内部デバイス４００を備えている。内部デバイス４００の構成の詳細は後述する。
【００２５】
ＣＰＵはデバイス制御装置２００全体の制御を司る。入力装置２０８は、例えば、キーボード、テンキーおよびマウス等の入力機器若しくはこれらの機能をソフトウェアで実現したソフトウェアキーボード等である。表示装置２１０としては、例えば、液晶モニタが用いられる。メモリはＲＡＭおよびＲＯＭ等である。
【００２６】
通信部はＬＡＮおよびＷＡＮに接続するためのインターフェースであって、情報処理装置１００とデータ送受信を行う。
【００２７】
記憶部には、ソフトウェアであるＯＳ（不図示）、通信制御部２０１、仮想化制御部２０２、仮想デバイス制御部２０３および仮想複合デバイス制御部２１１が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリに読み出されて、ＣＰＵの制御に従い動作する。
【００２８】
通信制御部２０１は、情報処理装置１００との間で行われる入出力データ等の送受信を制御する。
【００２９】
仮想化制御部２０２は、内部デバイス４００、外部デバイス３００、および仮想複合デバイス５００があたかも情報処理装置１００に直接的に接続（ローカル接続）されているかのように情報処理装置１００へ認識させて制御できるようにするため、情報処理装置１００の仮想化制御部１０３からの制御要求に従って（連動して）仮想複合デバイス５００の制御を行う。
【００３０】
仮想デバイス制御部２０３は、仮想デバイス識別情報２０４およびデータ形式変換処理部２０５を備えている。さらに、仮想デバイス制御部２０３は、デバイス制御装置２００に備えられた内部デバイス４００を仮想的なＵＳＢデバイスに切り替えるユーザインターフェース等の切替部を備えている。
【００３１】
仮想デバイス識別情報２０４は、情報処理装置１００および後述する仮想複合デバイス制御部２１１に内部デバイス４００を外部デバイス３００と同様に認識させるために用いる。仮想デバイス識別情報２０４の詳細は後述する。
【００３２】
データ形式変換処理部２０５は、仮想複合デバイス制御部２１１から送られるＵＳＢデータ形式に準拠したパケットデータと内部デバイス４００で処理可能なデータ形式のデータとの変換処理を行って、内部デバイス４００と接続された入力Ｉ／Ｆ２０７およびディスプレイＩ／Ｆ２０９と、仮想複合デバイス制御部２１１との間のデータの送受信を可能にしている。
【００３３】
仮想複合デバイス制御部２１１は、任意の複数のデバイス（内部デバイスや外部デバイス）を一つの仮想複合デバイスとして仮想化制御部２０２に認識および記憶させる制御を行う。また、仮想複合デバイス制御部２１１は、仮想複合デバイス識別情報２１２を記憶している。
【００３４】
仮想複合デバイス識別情報２１２は、情報処理装置１００に仮想複合デバイス５００を認識させるために用いる。仮想複合デバイス識別情報２１２の詳細は後述する。
【００３５】
＜外部デバイス３００の構成＞
外部デバイス３００は、個体識別情報３０１および通信Ｉ／Ｆ３０２を備えている。また、外部デバイス３００は、ＨＩＤクラスの入力装置を備えた入力デバイスであり、デバイス制御装置２００にＵＳＢインターフェースによって外付けで接続されている。
【００３６】
個体識別情報３０１は、外部デバイス３００を識別するための情報であり、メーカーを識別するために機器を製造したメーカー毎に割り当てられたベンダーＩＤ（ＶＩＤ）、機種を識別するために機種毎に割り当てられた製品ＩＤ（ＰＩＤ）、機器の個体を識別するために機器毎に割り当てられたシリアル番号などである。
【００３７】
通信Ｉ／Ｆ３０２は、ＵＳＢインターフェースやＨＤＭＩ（登録商標）であり、デバイス制御装置２００と通信を行うための機能部である。なお、通信Ｉ／Ｆ３０２は、デバイス制御装置２００と通信が実現可能であればＵＳＢインターフェースやＨＤＭＩ（登録商標）以外でもよい。
【００３８】
なお、図１に示すデバイス制御システムにおいては、情報処理装置１００、デバイス制御装置２００、および外部デバイス３００がそれぞれ１つのみ示されているが、情報処理装置１００、デバイス制御装置２００、および外部デバイス３００の台数は図示の例に限定されるものではない。
【００３９】
また、デバイス制御装置２００に外部デバイス３００を接続せず、デバイス制御システムを情報処理装置１００およびデバイス制御装置２００のみで構成するようにしてもよい。
【００４０】
＜内部デバイス４００の構成＞
内部デバイス４００（入出力デバイス）は、ユーザインターフェースとして用いられる入力装置２０８および表示装置２１０を備えている。入力装置２０８および表示装置２１０はそれぞれ入力Ｉ／Ｆ２０７およびディスプレイＩ／Ｆ２０９によって内部バス２０６に接続され、内部バス２０６でデバイス制御装置２００の各ハードウェアに接続されている。また、内部デバイス４００は、入力装置２０８として表示装置２１０に備えられたタッチパネルを用いるようにしてもよい。
【００４１】
なお、デバイス制御装置２００は、例えば、プリンタまたは複合機等のオフィス機器であるが、デバイス制御装置２００はオフィス機器に限定されるものではなく、様々な組込み装置、携帯電話機またはモバイル端末機器であってもよい。
【００４２】
＜仮想デバイス識別情報２０４について＞
次に、仮想デバイス識別情報２０４について説明する。通常、内部デバイス４００である表示装置２１０は、外部デバイス３００の個体識別情報に相当する情報を有していないので、情報処理装置１００および仮想複合デバイス制御部２１１は内部デバイス４００を認識することができない。
【００４３】
そこで、本実施形態では、個体識別情報に相当する仮想デバイス識別情報２０４を入力装置２０８と表示装置２１０の各々に割り当てて、情報処理装置１００および仮想複合デバイス制御部２１１に表示装置２１０を外部デバイス３００と同様のＵＳＢデバイスとして認識させる。ここでは、ＵＳＢデバイスのデータ構造を定義する構成情報（以下「ＵＳＢディスクリプタ」と呼ぶ）を疑似的に作成したものを仮想デバイス識別情報２０４とする。仮想デバイス識別情報２０４は、仮想デバイス制御部２０３に予め記憶されたものであるが、仮想デバイス制御部２０３によって生成するようにしてもよい。
【００４４】
図２は、図１に示す仮想デバイス識別情報２０４の一例を示す図であり、仮想デバイス識別情報２０４はＵＳＢディスクリプタからなる。
【００４５】
図２に示す疑似的なＵＳＢディスクリプタは、ベンダーＩＤ、プロダクトＩＤ、シリアル番号（不図示）、クラス、サブクラス、プロトコルおよびインターフェースから構成されている。
【００４６】
ベンダーＩＤは、各企業や製造したメーカー毎に割り当てられる識別情報であり、プロダクトＩＤは、ベンダーＩＤを持つ企業やメーカーが各製品や機種毎に重複しないよう割り振るコードである。本実施形態では、デバイス制御装置２００に割り当てられているベンダーＩＤおよびプロダクトＩＤが用いられる。
【００４７】
また、クラス、サブクラス、プロトコルおよびインターフェースは、キーボード、マウスおよびディスプレイ等デバイスの種類に応じてＵＳＢ規格で規定されている情報である。そして、ベンダーＩＤおよびプロダクトＩＤと、クラス、サブクラス、プロトコル、およびインターフェースとを関連付けた疑似的なＵＳＢディスクリプタが作成されて、仮想デバイス制御部２０３が仮想デバイス識別情報２０４として保持（記憶）する。
【００４８】
本実施形態の入力装置２０８はキーボードおよびマウスに対応し、表示装置２１０はディスプレイに対応している。これらキーボード、マウスおよびディスプレイをＵＳＢデバイスとして認識させるために、キーボード、マウス、およびディスプレイのそれぞれへ疑似的なＵＳＢディスクリプタ（つまり、仮想デバイス識別情報２０４）を割り当てている。
【００４９】
＜仮想複合デバイス識別情報２１２について＞
続いて、仮想複合デバイス識別情報２１２について説明する。前述した仮想デバイス識別情報２０４と同様に仮想複合デバイス５００は、デバイスの個体識別情報に相当する情報を有していない。そのため、情報処理装置１００は仮想複合デバイス５００を認識することができない。
【００５０】
本実施形態では、仮想複合デバイス制御部２１１が個体識別情報に相当する仮想複合デバイス識別情報２１２を仮想複合デバイス５００に割り当てて、表示装置２１０と外部デバイス３００を一つの仮想複合デバイス５００として情報処理装置１００に認識させる。ここでは、仮想複合デバイス５００のＵＳＢディスクリプタを疑似的に作成したものを仮想複合デバイス識別情報２１２とする。仮想複合デバイス識別情報２１２は、仮想複合デバイス制御部２１１に予め記憶されたものであるが、仮想複合デバイス制御部２１１によって生成するようにしてもよい。
【００５１】
図３は、図１に示す仮想複合デバイス識別情報２１２の一例を示す図であり、仮想複合デバイス識別情報２１２はＵＳＢディスクリプタからなる。
【００５２】
図３に示す疑似的なＵＳＢディスクリプタは、キーボードに対応する外部デバイス３００とディスプレイに対応する内部デバイス４００の表示装置２１０を組み合わせた仮想複合デバイス５００を生成した際の、仮想複合デバイス識別情報である。
【００５３】
仮想複合デバイス制御部２１１は、新たにベンダーＩＤ、プロダクトＩＤ、シリアル番号（不図示）、クラス、サブクラス、プロトコルおよびインターフェースを割り当て、仮想複合デバイス識別情報２１２として保持（記憶）する。
【００５４】
＜仮想複合デバイス５００のデバイス構成＞
図４は、図１に示すデバイス制御システムにおいて複数のデバイスを一つの仮想複合デバイスとして仮想化した仮想複合デバイス５００のデバイス構成を示す図である。
【００５５】
仮想複合デバイス制御部２１１は、外部デバイス３００と内部デバイス４００の表示装置２１０のデバイス構成情報に基づいて、仮想複合デバイス５００のデバイス構成情報を構成し、複数のデバイスを１つの仮想複合デバイス５００として構成する。図４に例示するように、外部デバイス３００と表示装置２１０のエンドポイントが重複している場合、仮想複合デバイス５００上では、エンドポイントが重複しないように別のエンドポイントに振り替え、その対応関係を記憶する。なお、図４の例示では、外部デバイス３００のエンドポイント（０ｘ８１）と表示装置２１０のエンドポイント（０ｘ８１）が重複している。そのため、仮想複合デバイス５００では表示装置２１０のエンドポイントを０ｘ８３に振り替え、例えば、内部デバイス４００として表示装置２１０のエンドポイント（０ｘ８１）と仮想複合デバイスとしての表示装置２１０のエンドポイント（０ｘ８３）の対応関係を記憶している。
【００５６】
仮想複合デバイス制御部２１１は、仮想複合デバイス５００のデバイス構成情報を構成すると、仮想化制御部２０２を介して、情報処理装置１００へ仮想複合デバイス５００を接続する。情報処理装置１００において、予めＯＳに組み込まれている仮想複合デバイス５００のドライバ（不図示）を用いて仮想複合デバイス５００をマウントし、外部デバイス３００と表示装置２１０をあたかも一つのデバイスのように認識することができる。
【００５７】
＜仮想複合デバイス５００の制御シーケンス＞
図５は、図１に示すデバイス制御システムにおいて情報処理装置１００が仮想複合デバイス５００を仮想化制御する際の動作を説明するためのシーケンス図である。ここでは、内部デバイス４００の表示装置２１０と外部デバイス３００を一つの仮想複合デバイス５００とする場合について説明する。
【００５８】
まず、デバイス制御装置２００からユーザ操作によって内部デバイス４００の表示装置２１０の仮想化制御を開始させる（ステップＳ１０１）。具体的には、ユーザは所定の操作によって表示装置２１０に操作画面を表示させ、内部デバイス４００の入力装置２０８を操作し、仮想複合デバイス５００を構成する内部デバイス４００の表示装置２１０と外部デバイス３００を選択して仮想デバイス制御部２０３への接続を開始させる。ここで、選択可能な外部デバイス３００は、情報処理装置１００が記憶しているデバイスドライバ１０２に基づくものである。なお、仮想複合デバイス５００を構成するために内部デバイス４００および外部デバイス３００を選択するとして説明したが、内部デバイス４００または外部デバイス３００のデバイス名を選択するのでなく内部デバイス４００または外部デバイス３００が具備する所定の機能を選択することも可能である。
【００５９】
ユーザの所定の操作によって、表示装置２１０から仮想デバイス制御部２０３に対して接続要求がＵＳＢデータとして送信される（ステップＳ１０２）。
【００６０】
仮想複合デバイス制御部２１１は、表示装置２１０に係る仮想デバイス識別情報２０４をＵＳＢデータとして受信する（ステップＳ１０３）。なお、この時点ではステップＳ１０１で選択した仮想複合デバイス５００を構成する全てのＵＳＢデバイスが接続されていない。そのため、仮想化制御部２０２へデバイスの接続通知は行わない。ただし、表示装置２１０を単体で仮想複合デバイス５００として構成した場合は、デバイスの接続通知を行い仮想化制御が開始される。
【００６１】
加えて、仮想複合デバイス５００を構成するデバイスとして選択されなかった内部デバイス４００または外部デバイス３００が、仮想複合デバイス５００と共存することも可能である。ここで共存とは、仮想複合デバイス５００とそれ以外のデバイスを別のセッションで管理することであり、情報処理装置１００には仮想複合デバイス５００とそれ以外のデバイスとして区別し認識される。このような場合に仮想デバイス制御部２０３は、仮想化制御部２０２へ共存するデバイスの接続通知を行い、デバイス制御装置２００と情報処理装置１００の間で仮想化制御が行われる。
【００６２】
続いて、デバイス制御装置２００にＵＳＢケーブルを介して外部デバイス３００をローカル接続することによって仮想化制御が開始されることを説明する。
【００６３】
ユーザは外部デバイス３００をデバイス制御装置２００に接続する（ステップＳ１０４）。これにより、外部デバイス３００の個体識別情報３０１が通信Ｉ／Ｆ３０２を介してデバイス制御装置２００にＵＳＢデータとして送信されて、仮想複合デバイス制御部２１１に外部デバイス３００が接続された旨が通知される（ステップＳ１０５）。
【００６４】
仮想複合デバイス制御部２１１は、表示装置２１０と外部デバイス３００から受信したＵＳＢデータを、図４の構成に基づいて仮想複合デバイス５００のインターフェースに対応するエンドポイントに格納する。これにより、仮想複合デバイス制御部２１１は、それぞれのデバイスから受信したＵＳＢデータを、表示装置２１０のＵＳＢデータと外部デバイス３００のＵＳＢデータを合わせて一つの仮想複合デバイス５００のＵＳＢデータ形式に変換して仮想複合デバイス識別情報２１２を生成する（ステップＳ１０６）。なお、仮想複合デバイス５００を構成する全てのデバイスが揃うことで仮想化制御が開始されると例示したが、これに限定するものではない。表示装置２１０が選択された際は、通常の内部デバイス４００としての仮想化制御を行うために、情報処理装置１００への接続通知を行い、外部デバイス３００が接続された際に、表示装置２１０と外部デバイス３００を１つの仮想複合デバイス５００として接続通知を行うことも可能である。
【００６５】
仮想複合デバイス制御部２１１は、仮想化制御部２０２に仮想複合デバイス５００の仮想複合デバイス識別情報２１２を送信して接続を通知する（ステップＳ１０７）。続いて、仮想化制御部２０２は、ＵＳＢデータ形式からネットワークパケットのデータへ変換し、通信制御部２０１を介して情報処理装置１００に仮想複合デバイス５００が接続された旨をネットワークパケットのデータとして通知する（ステップＳ１０８）。
【００６６】
情報処理装置１００の仮想化制御部１０３は、デバイス制御装置２００の仮想化制御部２０２から受信した仮想複合デバイス５００に係る仮想複合デバイス識別情報２１２をデバイスドライバ１０２に通知する（ステップＳ１０９）。このとき、通信制御部１０４がデバイス制御装置２００から受信したネットワークパケットのデータ形式を仮想複合デバイス５００のＵＳＢデータ形式に変換している。
【００６７】
デバイスドライバ１０２は、アプリケーション１０１に仮想複合デバイス５００の接続の通知を送信する（ステップＳ１１０）。ここでアプリケーション１０１は、仮想複合デバイス５００の接続の通知を受けると、仮想化制御部１０３に仮想複合デバイス５００の仮想化制御の開始を指示し、仮想化制御部１０３は、仮想複合デバイス５００の仮想化制御を開始する。そして、情報処理装置１００は、仮想化制御に必要なソフトウェア部品を生成・起動し、これらのソフトウェア部品を使用して仮想複合デバイス５００との接続を開始する。
【００６８】
仮想複合デバイス５００とアプリケーション１０１の接続が開始されると、アプリケーション１０１は仮想複合デバイス５００における表示装置の表示画面のキャプチャを行い、表示画面を取得する（ステップＳ１１１）。
【００６９】
アプリケーション１０１は、取得した仮想複合デバイス５００の表示画面をデバイスドライバ１０２に送信する（ステップＳ１１２）。デバイスドライバ１０２は、アプリケーション１０１から受取った表示画面を仮想化制御部１０３に送信する（ステップＳ１１３）。
【００７０】
仮想化制御部１０３は、デバイス制御装置２００の仮想化制御部２０２に表示画面をネットワークパケットのデータに変換して送信する（ステップＳ１１４）。仮想化制御部２０２は仮想複合デバイス制御部２１１に表示画面を仮想複合デバイス５００のＵＳＢデータとして送信する（ステップＳ１１５）。
【００７１】
仮想複合デバイス制御部２１１は、図４の構成に基づいて、仮想複合デバイス５００のＵＳＢデータのエンドポイントに基づいて受信したデータがどのデバイス（内部デバイス４００または外部デバイス３００）の制御情報であるか判断し、制御情報を送信するデバイスを決定する。エンドポイントが重複して振り替えている場合は、仮想複合デバイス制御部２１１に記憶した対応関係に基づいて判断を行う。
【００７２】
図５のシーケンスにおいては、表示画面情報として受信した仮想複合デバイス５００のＵＳＢデータを、仮想複合デバイス制御部２１１によって仮想化された表示装置２１０のＵＳＢデータ形式へと変換し、変換した表示画面情報を仮想デバイス制御部２０３へと送信する（ステップＳ１１６）。
【００７３】
仮想デバイス制御部２０３は内部デバイス４００の表示装置２１０に表示画面を送信する。このとき、仮想デバイス制御部２０３のデータ形式変換処理部２０５は、仮想複合デバイス制御部２１１から送られるＵＳＢデータを表示装置２１０のデータ形式に変換して、ディスプレイＩ／Ｆ２０９を介して表示装置２１０に送信する（ステップＳ１１７）。
【００７４】
そして、表示装置２１０は、情報処理装置１００から送られてくる画面データに応じた画面を表示する。このとき、表示装置２１０は、情報処理装置１００から送られてくる画面データ（受信した表示画面）を表示し、情報処理装置１００に対する入力待ち状態となる（ステップＳ１１８）。
【００７５】
なお、仮想化制御部２０２から送られるＵＳＢデータをデータ変換せずにディスプレイＩ／Ｆ２０９に通すことができる場合は、データ変換せずにディスプレイＩ／Ｆ２０９を介して表示装置２１０に送る。また、前述のステップＳ１１５で、取得した画面データを全て送信するのではなく、前回送信した表示画像との差分のみを送信する場合には、ここで、既に受信済みの表示画面に差分の表示画面を合成して表示する。
【００７６】
ユーザは、外部デバイス３００の入力装置を用いて情報処理装置１００を遠隔操作するための操作情報を入力する（ステップＳ１１９）。
【００７７】
続いて、外部デバイス３００は、外部デバイス３００の通信Ｉ／Ｆ３０２を介して仮想複合デバイス制御部２１１に操作情報をＵＳＢデータとして送信する（ステップＳ１２０）。
【００７８】
仮想複合デバイス制御部２１１は、受信した操作情報（ＵＳＢデータ）を仮想化制御部２０２に送信する（ステップＳ１２１）。このとき、仮想複合デバイス制御部２１１は、外部デバイス３００から受信した操作情報（ＵＳＢデータ）を仮想複合デバイス５００のデータ形式に変換して仮想化制御部２０２に送信する。
【００７９】
仮想化制御部２０２は、ＵＳＢデータ形式からネットワークパケットのデータへ変換し、通信制御部２０１を介して情報処理装置１００の仮想化制御部１０３に受信した操作情報をネットワークパケットのデータとして送信する（ステップＳ１２２）。情報処理装置１００の仮想化制御部１０３は、受信した操作情報をデバイスドライバ１０２に送信する（ステップＳ１２３）。デバイスドライバ１０２は、仮想化制御部１０３から受け取った操作情報をアプリケーション１０１に送信する（ステップＳ１２４）。
【００８０】
続いて、アプリケーション１０１は、デバイスドライバ１０２から受信した操作情報に応じた操作（処理）を実行する（ステップＳ１２５）。
【００８１】
このとき、情報処理装置１００は、処理（機能）の実行結果を表示装置２１０に表示する。この表示装置２１０に表示された画像データは、上述したステップＳ１１３〜ステップＳ１２０と同様にデバイス制御装置２００に送信され、デバイス制御装置２００の表示装置２１０に情報処理装置１００から送られてくる画像データ（表示画面）が表示される。
【００８２】
なお、ステップＳ１１０において仮想複合デバイス５００とアプリケーション１０１の接続が開始されると、その接続が切断（終了）されるまで、ステップＳ１１１〜ステップＳ１１８の処理（画面転送処理）とステップＳ１１９〜ステップＳ１２５の処理（遠隔操作処理）を非同期（並列）で繰り返す。このとき、仮想化制御部２０２、仮想デバイス制御部２０３および仮想複合デバイス制御部２１１は内部デバイス４００と情報処理装置１００との間でネットワークを介してデータ送受信を行う。
【００８３】
また、ステップＳ１０１において内部デバイス４００の表示装置２１０で仮想複合デバイス５００を構成するデバイスを選択するとして説明したが、外部デバイス３００から仮想複合デバイス５００を構成するデバイスを選択することも可能である。加えて、仮想複合デバイス５００を構成するデバイスを選択することなく、予めＯＳに組み込まれている仮想複合デバイス５００を構成可能なデバイスのうち接続されたすべての内部デバイス４００および外部デバイス３００を一つの仮想複合デバイス５００としてもよい。
【００８４】
図６は、図１に示すデバイス制御システムにおいて、図５に示す仮想複合デバイス５００の接続処理の後に、情報処理装置１００が仮想複合デバイス５００との接続を切断して再接続する際の動作を説明するためのシーケンス図である。
【００８５】
ユーザは、情報処理装置１００による仮想複合デバイス５００の仮想化制御を終了させる場合、仮想複合デバイス５００を構成しているデバイスのいずれかを切断する。ここでは、外部デバイス３００を切断する場合を例として説明する。
【００８６】
仮想複合デバイス制御部２１１に対する表示装置２１０の接続を維持し、外部デバイス３００を切断する（ステップＳ２０１）。外部デバイス３００は、仮想複合デバイス制御部２１１にＵＳＢデータ（第１のデータ形式）として切断要求する（ステップＳ２０２）。仮想複合デバイス制御部２１１は、仮想複合デバイス５００を構成するデバイスの一つが切断されたことを受け、仮想化制御部２０２に仮想複合デバイス５００のＵＳＢデータとして制御終了を通知する（ステップＳ２０３）。
【００８７】
続いて、仮想化制御部２０２は、情報処理装置１００の仮想化制御部１０３に仮想複合デバイス５００の制御が終了された旨（制御終了通知）をネットワークパケットのデータとして通知する（ステップＳ２０４）。仮想化制御部１０３は、デバイス制御装置の仮想化制御部２０２から受信した制御終了通知をデバイスドライバ１０２に通知する（ステップＳ２０５）。
【００８８】
デバイスドライバ１０２は、仮想化制御部１０３から受信した制御終了通知をアプリケーション１０１に通知する（ステップＳ２０６）と共に、仮想複合デバイス５００の制御を解除する。これによりアプリケーション１０１と仮想複合デバイス５００の通信（接続）が切断（解除）される。なお、仮想化制御部２０２は、仮想複合デバイス５００として接続が切断後、切断していないデバイス（ここでは、表示装置２１０）を仮想複合デバイス５００として情報処理装置１００に認識させるのではなく、表示装置２１０を内部デバイス４００として認識させることも可能である。
【００８９】
続いて、仮想複合デバイス制御部２１１に対する表示装置２１０の接続は維持したまま、外部デバイス３００を再度接続する（ステップＳ２０７）と、これにより、仮想複合デバイス制御部２１１に外部デバイス３００が接続された旨がＵＳＢデータとして通知される（ステップＳ２０８）。
【００９０】
仮想複合デバイス制御部２１１は、仮想複合デバイス５００を構成するデバイスがすべて接続されたことを受け、再度、仮想複合デバイス５００を生成する（ステップＳ２０９）。仮想複合デバイス制御部２１１は、仮想化制御部２０２に仮想複合デバイス５００の制御開始を仮想複合デバイス５００のＵＳＢデータとして通知する（ステップＳ２１０）。
【００９１】
続いて、仮想化制御部２０２は、情報処理装置１００の仮想化制御部１０３に仮想複合デバイス５００の制御が開始された旨（制御開始通知）をネットワークパケットのデータとして通知する（ステップＳ２１１）。仮想化制御部１０３は、デバイス制御装置の仮想化制御部２０２から受信した制御開始通知をデバイスドライバ１０２に通知する（ステップＳ２１２）。
【００９２】
デバイスドライバ１０２は、仮想化制御部１０３から受信した制御開始通知をアプリケーション１０１に通知する（ステップＳ２１３）と共に、仮想複合デバイス５００の制御を開始する。これによりアプリケーション１０１と仮想複合デバイス５００の通信（接続）が接続（開始）される。
【００９３】
ここまで図６において、仮想複合デバイス５００の内部デバイス４００または外部デバイス３００からの切断指示について例示したが、情報処理装置１００から切断指示することも可能である（不図示）。その切断指示に応じて、デバイス制御装置２００が仮想複合デバイス５００の制御を終了する。
【００９４】
本実施形態では、仮想化している複数のデバイスを１つの仮想複合デバイス５００として情報処理装置１００に認識させるため、デバイス毎のセッション管理ではなく、仮想複合デバイス単位でセッションを管理することが可能となる。クラウド環境などへの適用を考えると、情報処理装置１００側からデバイス毎のセッション管理ではなく、仮想複合デバイスとして接続または切断のセッション管理が可能となるため利便性が向上する。
【００９５】
上述のように、本発明の実施形態では、情報処理装置１００はデバイス制御装置２００に備えられた内部デバイス４００と外部デバイス３００を組み合わせた仮想複合デバイス５００を仮想化制御し、デバイスドライバ１０２を用いて仮想複合デバイス５００が直接的に接続（ローカル接続）された場合と同様にその振る舞いをシミュレートすることができる。そのため、デバイス制御装置２００に備えられた内部デバイス４００や外部デバイス３００を仮想複合デバイス５００として再構成して情報処理装置１００に仮想化接続することで情報処理装置１００から仮想複合デバイス５００を制御（利用）することができる。
【００９６】
そして、複数のデバイスを一つの仮想複合デバイス５００として用いることにより、情報処理装置１００にデバイスを仮想化接続する際、仮想化接続するデバイス毎に必要となるセッションを、デバイス制御装置に対して一つになるように使用することが出来る。このことにより、データ通信におけるセッション数を削減することが可能となる。また、仮想複合デバイス５００として情報処理装置１００に認識させることで、情報処理装置とデバイス制御装置の間のセッションを一元管理することが可能となる。
【００９７】
なお、内部デバイス４００（表示装置２１０）と外部デバイス３００（入力装置）を組み合せて仮想複合デバイス５００を生成する例示を説明したが、複数の内部デバイスを組み合せて仮想複合デバイス５００を生成してもよいし、また、複数の外部デバイスを組み合せて仮想複合デバイス５００を生成してもよい。さらに、デバイス制御装置２００内に仮想複合デバイスを複数生成してもよい。
【００９８】
以上、本発明について上記の各実施形態に基づいて説明したが、本発明は、これらの実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【００９９】
例えば、上記の実施形態の機能の制御方法として、この制御方法をデバイス制御装置に実行させるようにすればよい。また、上述の実施形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムをデバイス制御装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
【０１００】
また、本発明は、以下の処理を実行することによっても実現される。つまり、上述した実施形態の機能を実現するソフトウェア（プログラムコード）を、ネットワークまたは各種の記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。
【０１０１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。
【０１０２】
また、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されるように構成してもよい。
【０１０３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれたあと、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を実行し、その処理に応じて上述した実施形態が実現される場合も含んでいる。
【０１０４】
なお、プログラムコードを供給するため、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤやＤＶＤに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ＲＯＭ等の記憶媒体を用いることができる。または、プログラムコードは、ネットワークを介してダウンロードしてもよい。
【符号の説明】
【０１０５】
１００：情報処理装置
２００：デバイス制御装置
３００：外部デバイス
４００：内部デバイス
１０１：アプリケーション
１０２：デバイスドライバ
１０４，２０１：通信制御部
１０３，２０２：仮想化制御部
２０３：仮想デバイス制御部
２０４：仮想デバイス識別情報
２０５：データ形式変換処理部
２０６：内部バス
２０７：入力Ｉ／Ｆ
２０８：入力装置
２０９：ディスプレイＩ／Ｆ
２１０：表示装置
２１１：仮想複合デバイス制御部
２１２：仮想複合デバイス識別情報
【図１】
2017010192.tif 000003
【図２】
2017010192.tif 000004
【図３】
2017010192.tif 000005
【図４】
2017010192.tif 000006
【図５】
2017010192.tif 000007
【図６】
2017010192.tif 000008