(57)【要約】  本発明のシステムは、遠隔にある表示デバイスの画面共有や遠隔にある操作デバイスの操作統合をする情報処理システムである。この情報処理システムは、複数の通信端末にそれぞれが接続された複数の操作デバイスと、複数の操作デバイスに対する操作の情報を入力する操作統合部と、通信機能を有する表示デバイスと、複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御部と、表示デバイスに画面を表示させる表示制御部と、を備える。表示制御部は、通信機能を有する複数の表示デバイスに前記画面を表示させる表示共有部を有する。
2016080428.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信端末にそれぞれが接続された複数の操作デバイスと、
前記複数の操作デバイスに対する操作の情報を入力する操作統合手段と、
通信機能を有する表示デバイスと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御手段と、
前記表示デバイスに前記画面を表示させる表示制御手段と、
を備える情報処理システム。
【請求項２】
前記表示制御手段は、通信機能を有する複数の前記表示デバイスに前記画面を表示させる表示共有手段を有する請求項１に記載の情報処理システム。
【請求項３】
前記操作統合手段は、操作デバイス用のクラスドライバと、前記操作デバイス用のクラスドライバと協働する、操作デバイスの数に対応する数の操作デバイス用のバスドライバとを含み、
前記表示共有手段は、表示デバイス用のクラスドライバと、前記表示デバイス用のクラスドライバと協働する、表示デバイスの数に対応する数の表示デバイス用のバスドライバとを含む、請求項２に記載の情報処理システム。
【請求項４】
前記通信端末は、
接続されたデバイスを制御するデバイス制御手段と、
前記デバイス制御手段とのインタフェースを行なうデバイスインタフェース手段と、
を有し、
アプリケーションと、前記アプリケーションの下で複数の操作デバイスに対する操作を入力する前記操作統合手段と、前記アプリケーションの下で応じた画面を表示するよう制御する前記制御手段と、前記アプリケーションの下で複数の表示デバイスに前記画面を表示させる前記表示共有手段とを、前記通信端末または前記通信機能と通信する情報処理装置が有する、請求項２または３に記載の情報処理システム。
【請求項５】
前記情報処理装置はクラウドサーバの仮想ＰＣ(Personal Computer)であって、
前記表示共有手段は、前記情報処理装置または前記表示デバイスが有するグラフィックアクセレータが生成した画像の表示を共有させる請求項４に記載の情報処理システム。
【請求項６】
前記情報処理装置と前記通信端末との間の通信帯域を調整するための通信バッファを備える請求項４または５に記載の情報処理システム。
【請求項７】
前記複数の操作デバイスの操作と前記複数の表示デバイスの表示とを、前記通信バッファの容量を調整することによって同期させる同期手段をさらに備える請求項６に記載の情報処理システム。
【請求項８】
前記操作デバイスおよびそのデバイスドライバの設定と、前記表示デバイスとそのデバイスドライバの設定とを格納する設定格納手段を備える請求項２乃至７のいずれか１項に記載の情報処理システム。
【請求項９】
前記設定格納手段は、さらに、通信の設定および通信帯域を調整するための通信バッファの容量を格納する請求項８に記載の情報処理システム。
【請求項１０】
前記通信端末に接続するデバイスの通信容量が通信帯域を超える場合に、前記表示デバイスの通信データを圧縮する圧縮手段を備える請求項１乃至９のいずれか１項に記載の情報処理システム。
【請求項１１】
複数ユーザが共有するデバイスを、前記操作デバイスの通信経路および前記表示デバイスの通信経路と独立した通信経路で接続する通信手段を備える請求項１乃至１０のいずれか１項に記載の情報処理システム。
【請求項１２】
前記通信端末に接続するデバイスのステータスに応じて、前記デバイスを用いた作業を支援するワークフローをミドルウェアとして実行する実行手段と、
前記ワークフローを検索可能に格納するワークフロー格納手段と、
をさらに備える請求項１乃至１１のいずれか１項に記載の情報処理システム。
【請求項１３】
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を入力する操作統合ステップと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
通信機能を有する前記表示デバイスに前記画面を表示させる表示制御ステップと、
を含む情報処理方法。
【請求項１４】
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合手段と、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御手段と、
通信機能を有する前記表示デバイスに前記画面を表示させる表示制御手段と、
を備える情報処理装置。
【請求項１５】
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合ステップと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
通信機能を有する表示デバイスに前記画面を表示させる表示制御ステップと、
を含む情報処理装置の制御方法。
【請求項１６】
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合ステップと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
通信機能を有する表示デバイスに前記画面を表示させる表示制御ステップと、
をコンピュータに実行させる情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラムに関する。
【背景技術】
【０００２】
上記技術分野において、特許文献１には、擬似的なデバイスドライバやコアドライバを設けることによって、ローカル端末にＵＳＢバス接続されたデバイスをリモートコンピュータから自装置にＵＳＢバス接続したデバイスのように制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２１０１１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記文献に記載の技術では、擬似的なデバイスドライバやコアドライバを設けて代理する構成なので、遠隔にある表示デバイスの画面を共有しながら、遠隔にある複数の操作デバイスに対する操作を統合することができなかった。【０００５】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係る情報処理システムは、
複数の通信端末にそれぞれが接続された複数の操作デバイスと、
前記複数の操作デバイスに対する操作の情報を入力する操作統合手段と、
通信機能を有する表示デバイスと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御手段と、
前記表示デバイスに前記画面を表示させる表示制御手段と、
を備える。【０００７】
上記目的を達成するため、本発明に係る情報処理方法は、
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を入力する操作統合ステップと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
通信機能を有する前記表示デバイスに前記画面を表示させる表示制御ステップと、
を含む。【０００８】
上記目的を達成するため、本発明に係る情報処理装置は、
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合手段と、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御手段と、
通信機能を有する前記表示デバイスに前記画面を表示させる表示制御手段と、
を備える。【０００９】
上記目的を達成するため、本発明に係る情報処理装置の制御方法は、
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合ステップと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
通信機能を有する表示デバイスに前記画面を表示させる表示制御ステップと、
を含む。【００１０】
上記目的を達成するため、本発明に係る情報処理装置の制御プログラムは、
複数の通信端末にそれぞれが接続された複数の操作デバイスに対する操作の情報を受信する操作統合ステップと、
前記複数の操作デバイスからの操作の情報に応じた画面の生成を制御する制御ステップと、
通信機能を有する表示デバイスに前記画面を表示させる表示制御ステップと、
をコンピュータに実行させる。
【発明の効果】
【００１１】
本発明によれば、遠隔にある表示デバイスの画面を共有しながら、遠隔にある複数の操作デバイスの操作を統合することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態に係る情報処理システムの構成を示すブロック図である。
【図２Ａ】本発明の第２実施形態に係る情報処理システムの構成を示すブロック図である。
【図２Ｂ】本発明の第２実施形態に係る情報処理システムのソフトウェア構成を示す図である。
【図２Ｃ】本発明の第２実施形態に係るＵＳＢハブ接続の概念を示す図である。
【図２Ｄ】本発明の第２実施形態に係るＵＳＢハブ接続における情報の流れを示す図である。
【図２Ｅ】本発明の第２実施形態に係る通信メッセージの構成を示す図である。
【図２Ｆ】本発明の第２実施形態に係る通信データ構成を示す図である。
【図２Ｇ】本発明の第２実施形態に係る情報処理システムにおけるデータ伝送を示す図である。
【図３Ａ】本発明の第２実施形態に係るＨＤＭＩ（登録商標）デバイス接続の概念を示す図である。
【図３Ｂ】本発明の第２実施形態に係るＨＤＭＩ（登録商標）デバイス接続における情報の流れを示す図である。
【図４Ａ】前提技術に係る情報処理システムの概念を示す図である。
【図４Ｂ】前提技術に係る情報処理システムのソフトウェア構成を示す図である。
【図５】本発明の第２実施形態に係る情報処理装置の機能構成を示すブロック図である。
【図６】本発明の第２実施形態に係るアプリケーションデータベースの構成を示す図である。
【図７】本発明の第２実施形態に係る共有デバイス登録テーブルの構成を示す図である。
【図８】本発明の第２実施形態に係る情報処理装置のハードウェア構成を示すブロック図である。
【図９】本発明の第２実施形態に係る情報処理装置の処理手順を示すフローチャートである。
【図１０】本発明の第２実施形態に係る共有デバイス登録処理の手順を示すフローチャートである。
【図１１】本発明の第３実施形態に係る情報処理システムの構成を示すブロック図である。
【図１２】本発明の第３実施形態に係る情報処理システムのソフトウェア構成を示す図である。
【図１３Ａ】本発明の第４実施形態に係る情報処理システムの構成を示すブロック図である。
【図１３Ｂ】本発明の第４実施形態に係る情報処理システムの他の構成を示すブロック図である。
【図１４】本発明の第４実施形態に係る情報処理システムのソフトウェア構成を示す図である。
【図１５】本発明の第４実施形態に係る設定履歴データベースの構成を示す図である。
【図１６】本発明の第４実施形態に係る設定制御フローの処理手順を示すフローチャートである。
【図１７Ａ】本発明の第５実施形態に係る情報処理システムの構成を示すブロック図である。
【図１７Ｂ】本発明の第５実施形態に係る情報処理システムの他の構成を示すブロック図である。
【図１８】本発明の第５実施形態に係るワークフローデータベースの構成を示す図である。
【図１９】本発明の第６実施形態に係る情報処理システムの構成を示すブロック図である。
【図２０】本発明の第６実施形態に係る情報処理システムのソフトウェア構成を示す図である。
【図２１】本発明の第６実施形態に係る設定履歴データベースの構成を示す図である。
【図２２】本発明の第６実施形態に係るワークフローの処理手順を示すフローチャートである。
【図２３】本発明の第７実施形態に係る情報処理システムにおけるデータ伝送を示す図である。
【図２４】本発明の第７実施形態に係る情報処理システムにおける他のデータ伝送を示す図である。
【発明を実施するための形態】
【００１３】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素は単なる例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１４】
［第１実施形態］
本発明の第１実施形態としての情報処理システム１００について、図１を用いて説明する。情報処理システム１００は、デバイスに対する操作を統合し表示を共有するシステムである。
【００１５】
図１に示すように、情報処理システム１００は、複数の操作デバイス１１３、１１４と、操作統合部１０１と、通信機能を有する表示デバイス１１５と、制御部１０２と、表示制御部１０３と、を含む。複数の操作デバイス１１３、１１４は、複数の通信端末１１１、１１２にそれぞれが接続される。操作統合部１０１は、複数の操作デバイス１１３，１１４に対する操作の情報を入力する。制御部１０２は、複数の操作デバイス１１３，１１４からの操作の情報に応じ。表示制御部１０３は、表示デバイス１１５に画面を表示させる。
【００１６】
本実施形態によれば、遠隔にある表示デバイスの画面を共有しながら、遠隔にある複数の操作デバイスの操作を統合することができる。
【００１７】
［第２実施形態］
次に、本発明の第２実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、ＰＣ(Personal Computer)に通信を介して接続された遠隔の操作デバイスや遠隔の表示デバイスにおいて、操作統合を行なう。遠隔の操作デバイスとしては、例えば、通信端末にＵＳＢ(Universal Serial Bus)接続されたキーボードやポインティングデバイスが含まれ、遠隔の表示デバイスとしては、通信機能を有してＨＤＭＩ（登録商標）(High-Definition Multimedia Interface)接続されたモニタ、あるいは、スマホやタブレットの表示画面であってもよい。
【００１８】
《情報処理システム》
本実施形態の情報処理システムを説明する前に、本実施形態の特徴を明瞭にするために前提技術に係る情報処理システムについて説明する。
【００１９】
（前提技術）
図４Ａは、前提技術に係る情報処理システム４００の概念を示す図である。
【００２０】
図４Ａの情報処理システム４００は、ＰＣにおけるクラスドライバ４３２を含むデバイスドライバによって、ＵＳＢあるいはＨＤＭＩ（登録商標），ＶＧＡなどによるデバイス接続を制御する。そして、デバイスドライバの機器側に、操作機器の統合のためにＵＳＢ＿ＨＵＢ４３３を設け、表示機器（モニタ）の共有のためにモニタ分配機４３４を設ける。それぞれに分配されたバスが複数の操作機器やモニタに接続されて、機器共有を実現する。なお、操作機器としてキーボードとマウスとを接続するためには、ＵＳＢの先にさらにＵＳＢ＿ＨＵＢ４２１、４２２を接続して分配する。
【００２１】
このように、図４Ａにおいて、共有機器はバスの許容長により制限される。また、リモートデスクトップやデスクトップの仮想化(ＤａａＳ：Desktop-as-a-Service)では、操作統合ができない。また、ＴＶ会議における画面共有では、ＰＣ１台をシエアしあい、操作統合して資料を作ることも実現されていなかった。
【００２２】
図４Ｂは、前提技術に係る情報処理システム４００のソフトウェア構成を示す図である。
【００２３】
図４Ｂにおいて、起動されたアプリケーション４３１から周辺機器への入出力命令があると、クラスドライバ４３２において、デバイスの種類に応じて異なるプロトコルが選択される。次に、それぞれのバスドライバにおいて、ＵＳＢあるいはＨＤＭＩ（登録商標）によって固有のプロトコルが選択される。
【００２４】
バスドライバのプロトコルに従う信号は、ＵＳＢ＿ＨＵＢ４３３あるいはモニタ分配機４３４により分配されて、ホストコントローラドライバを制御する。ホストコントローラドライバは、ホストコントローラＩＣによるそれぞれの物理バスのシリアル通信を制御する。
【００２５】
ここで、クラスドライバ４３２、バスドライバ、ホストコントローラドライバの３層が、典型的なデバイスドライバを構成する。
【００２６】
このように、前提技術においては、１人のＰＣ画面を仮想化して、その人が遠隔利用したり、会議ソフトウェアにおいては、１人のＰＣ画面を複数のスクリーンへ投影したりしていた。したがって、遠隔機器を用いてアプリケーションをリアルタイムに共有して操作を簡易統合する発想は無かった。
【００２７】
《本実施形態の情報処理システム》
本実施形態の情報処理システムにおいては、前提技術のように、ＰＣが手もとにあり、物理的なＵＳＢ＿ＨＵＢとモニタ分配機とを介して接続できる範囲で、機器共有および操作統合を行なっていた状態から、遠隔地において周辺機器をつないで、簡単に機器共有および操作統合を実現する。
【００２８】
（システム構成）
図２Ａは、本実施形態に係る情報処理システム２００の構成を示すブロック図である。
【００２９】
図２Ａの情報処理システム２００は、情報処理装置２３０としてのＰＣにおけるクラスドライバ２３２（デバイスマネージャとして動作する）とバスドライバとによって、ＵＳＢあるいはＨＤＭＩ（登録商標），ＶＧＡなどによるデバイス接続を制御する。ここで、クラスドライバ２３２とバスドライバとを仮想ＨＵＢ２３３、あるいは、仮想モニタ分配機２３４となるように構成する。
【００３０】
仮想ＨＵＢ２３３、あるいは、仮想モニタ分配機２３４で分配されるそれぞれのメッセージは、ネットワークを介して遠隔の通信端末または通信機能部２２０のホストコントローラドライバとの間で伝送される。なお、操作機器としてキーボードとマウスとを接続するためには、通信端末２２０に仮想ＵＳＢ＿ＨＵＢ２２１、２２２を設けて分配する。
【００３１】
デバイス２１０としては、例えば、キーボード２１１，２１４と、マウス２１２，２１５と、通信機能付きモニタ２１３，２１６が接続されて、それぞれが操作統合または表示共有を実現する。
【００３２】
なお、図２Ａにおいては、２台のモニタによる画面共有の構成を示しているが、１台のモニタを見ながら複数の操作統合（キーボード、マウス）をすることが可能である。
【００３３】
（ソフトウェア構成）
図２Ｂは、本実施形態に係る情報処理システム２００のソフトウェア構成を示す図である。
【００３４】
図２Ｂにおいて、起動されたアプリケーション２３１から周辺機器への入出力命令があると、クラスドライバ２３２において、デバイスの種類に応じて異なるプロトコルが選択される。次に、それぞれのバスドライバにおいて、ＵＳＢあるいはＨＤＭＩ（登録商標）によって固有のプロトコルが選択される。ここで、クラスドライバ２３２の異なるプロトコルのそれぞれに対してバス分岐に対応する複数のバスドライバを起動することによって、仮想ＨＵＢ２３３あるいは仮想モニタ分配機２３４として動作する。
【００３５】
ネットワークを介して、通信端末あるいは通信機能部においては、各バスドライバに対応してホストコントローラドライバが機能される。ここで、クラスドライバ２３２、バスドライバ、ホストコントローラドライバの３層が、典型的なデバイスドライバを構成するため、デバイスドライバはネットワークの通信により分断されている。なお、本実施形態においては、バスドライバとホストコントローラドライバとの間を通信で遠隔に延長したが、遠隔のデバイス制御と通信制御とを効率的に行える、他のドライバ間あるいはドライバ内を通信による分断としてもよい。
【００３６】
各デバイスをバス接続するためのホストコントローラにおいても、ハブドライバが複数のホストコントローラに分配することにより、仮想ＵＳＢ＿ＨＵＢ２２１，２２２が構成される。ホストコントローラにバス接続するデバイス２１１〜２１６は、図２Ａと同様である。
【００３７】
このように、本実施形態の情報処理システムにおいては、ソフト化と機能分割とにより、遠隔地において周辺機器をつないで、簡単に機器共有および操作統合を実現する。
【００３８】
《ＵＳＢハブ接続の概念》
図２Ｃは、本実施形態に係るＵＳＢハブ接続の概念を示す図である。なお、図２Ｂにおいては、常備のソフトウェアであるＯＳ(Operating System)やＢＩＯＳ(Basic Input/Output System)などの図示を省略している。
【００３９】
図２Ｃには、情報処理装置としてのホスト２３０と、遠隔にあって、ホスト２３０とネットワーク２４０を介して接続するＵＳＢハブ２２１（２２２）と、複数のＵＳＢデバイス２１１、２１２（２１４、２１５）と、が図示されている。
【００４０】
ホスト２３０は、ソフトウェアとして、アプリケーションソフトウェア２３１と、デバイスドライバの一部としてのクラスドライバ２３２と、操作機器に対応するクラスドライバ２３２から分配される複数のＵＳＢバスドライバと、を有する。クラスドライバ２３２から分配される複数のＵＳＢバスドライバが、仮想ＨＵＢ２３３を構成する。
【００４１】
アプリケーションソフトウェア２３１は、あらかじめホスト２３０が提供するサービス、あるいは、ユーザが開発したサービスを提供するためのソフトウェアである。クラスドライバ２３２は、アプリケーションソフトウェア２３１が要求した入出力ファイル操作を解釈して、対象デバイスに対応するプロトコルを選択する。本例ではＵＳＢデバイス２１１，２１２に対する入出力ファイルのアクセスなので、ＵＳＢのプロトコルに応じたコマンドやデータフォーマットに従うデータの送受信を準備する。すなわち、ネットワーク２４０を介して送受信する制御情報やデータを定義する構造体を生成する。複数のバスドライバは、通信部２４０を介して複数のＵＳＢハブ２２１、２２２のホストコントローラドライバ２２５にそれぞれ接続する。
【００４２】
ＵＳＢハブ２２１（２２２）は、ホストコントローラドライバ２２５と、複数のＳＩＥに分岐するＵＳＢバスインタフェース２２６とを有する。ホストコントローラドライバ２２５は、複数のＵＳＢケーブルに分岐するための機能を有する。また、複数のＳＩＥは、それぞれ、複数のＵＳＢケーブル２６１，２６２を介して、複数のＵＳＢデバイス２１１，２１２の各ＳＩＥと接続される。
【００４３】
ＵＳＢデバイス（キーボード）２１１は、ソフトウェアとして、ＵＳＢハブ２２１のＵＳＢバスインタフェース２２６とＵＳＢケーブル２６１を介して接続して、信号をやり取りするＵＳＢデバイス２１１のＵＳＢバスインタフェース２１７を有する。また、ＵＳＢデバイス２１１は、デバイス情報や制御情報を含むディスクリプタを記憶するＦＩＦＯ(First-in First-out)０からなるエンドポイント０２１８と、入出力データを記憶するＦＩＦＯ１〜ｎからなるエンドポイント１〜ｎ２１９とを有する。
【００４４】
かかる接続により、ＵＳＢハブ２２１とＵＳＢデバイス２１１（２１２）とは、お互いのＵＳＢバスインタフェース２２６、および２１７により物理レベルの通信を実行する。また、クラスドライバ２３２、ＵＳＢバスドライバ、ネットワーク２４０およびホストコントローラドライバ２２５を介したシステムレベルのコントロール転送により、デフォルトパイプ２５１を介してアプリケーションソフトウェア２３１とエンドポイント０（２１８）との間で、基本処理としての制御通信を実現する。また、アプリケーションレベルのデータ転送では、データパイプ群２５２を介してアプリケーションソフトウェア２３１とエンドポイント１〜ｎ（２１９）との間で、デバイスクラスの各メソッドとしてのデータ通信を実現する。
【００４５】
以上のように、ネットワーク２４０を介した、ホスト２３０のバスドライバとＵＳＢハブ２２１のホストコントローラドライバ２２５とのネットワーク通信と、ＵＳＢケーブルを介した、ＵＳＢバスインタフェース２２６と２１７間のシリアル通信とから、統一された通信チャネル（パイプ）を形成することができる。
【００４６】
なお、ＵＳＢインタフェース２２６とＵＳＢデバイス（マウス）２１２との間の処理も、デバイスが異なるのみで同様であるので、説明を省略する。
【００４７】
（情報の流れ）
図２Ｄは、本実施形態に係るＵＳＢハブ接続における情報の流れを示す図である。なお、図２Ｄには、主要な記憶領域を示し、細部の構成は省略している。なお、図２Ｄにおいては、デバイスドライバの内、ホストコントローラドライバの処理を、ホストとしての情報処理装置２３０と遠隔のＵＳＢハブ２２１とに通信を介して分離して、情報処理装置２３０からＵＳＢデバイス２１１（２１２）を直接接続しているように制御する例を示す。しかしながら、デバイスドライバのどの階層で分離するかは、情報処理装置２３０およびＵＳＢハブ２２１の性能や、通信環境により選択するのが望ましい。
【００４８】
情報処理装置２３０には、入出力ファイル構造体２３４と、デバイス制御情報２３５、ＵＳＢバッファ２３６と、通信構造体２３７と、が確保される。入出力ファイル構造体２３４は、アプリケーションソフトウェア２３１が入出力ファイル操作を指示した時に確保され、例えば、ファイル格納先やデバイス種別、入出力プロトコルなどに対応して所定の処理を行なう関数群と、デバイス情報と、入出力バッファと、を含む。デバイス制御情報２３５は、送受信される制御コマンド群と、現在の転送モードと、ステータスと、を含む。ここで、制御コマンド群には、ＵＳＢデバイスへの入出力を制御するための制御コマンドの外に、通信に関わる設定や通信エラーへの対処などを制御する制御コマンドを含む。なお、デバイス制御情報２３５は、入出力ファイル構造体２３４のデバイス情報に一体化されていてもよい。ＵＳＢバッファ２３６は、クラスドライバ２３２およびバスドライバが入出力ファイル構造体２３４の関数群の処理に応じて、デバイス種別がＵＳＢデバイスの場合に確保される、エンドポイントにそれぞれ対応するバッファを有する。通信構造体２３７は、クラスドライバ２３２およびバスドライバが入出力ファイル構造体２３４の関数群の処理に応じて、デバイスがネットワークを介した遠隔にある場合に確保される構造体である。通信構造体２３７は、通信に関連するプロトコルやメッセージフォーマット、通信速度などを設定するための関数群と、送信する制御コマンドと、受信したステータスと、送信データを一時記憶する送信バッファと、受信データを一時記憶する受信バッファと、を含む。なお、ＵＳＢバッファ２３６は必須ではない。入出力ファイル構造体２３４の入出力バッファと、通信構造体２３７の送信バッファおよび受信バッファとの間で、直接、データ転送が行なわれてもよい。また、通信により分離されるデバイスドライバの階層が上位であれば、制御コマンドやステータスは独自に通信される必要はなく、送受信データの中に含まれていればよい。
【００４９】
ＵＳＢハブ２２１には、通信構造体２２７と、デバイス制御情報２２８と、ＵＳＢバッファ２２９と、が確保される。通信構造体２２７は、アプリケーションソフトウェア２３１が確保した通信構造体２３７に対応付けられた構造体である。通信構造体２２７は、通信に関連するプロトコルやメッセージフォーマット、通信速度などを設定するための関数群と、受信した制御コマンドと、送信するステータスと、受信データを一時記憶する受信バッファと、送信データを一時記憶する送信バッファと、を含む。デバイス制御情報２２８は、送受信される制御コマンド群と、現在の転送モードと、ステータスと、を含む。ここで、制御コマンド群のそれぞれは、その制御コマンドを実行するＵＳＢコマンド列に変換する制御フローに対応付けられる。また、制御コマンド群には、ＵＳＢデバイスへの入出力を制御するための制御コマンドの外に、通信に関わる設定や通信エラーへの対処などを制御する制御コマンドを含む。ＵＳＢバッファ２２９は、デバイス種別がＵＳＢデバイスの場合に確保される、ＵＳＢデバイス２１１（２１２）のエンドポイントにそれぞれ対応するバッファを有する。
【００５０】
ＵＳＢデバイス２１１（２１２）には、エンドポイントとして、デバイス種別に応じてＦＩＦＯ0〜ＦＩＦＯnが準備されている。
【００５１】
（通信メッセージ）
図２Ｅは、本実施形態に係る通信メッセージの構成を示す図である。なお、通信メッセージのフォーマットは、図２Ｅに限定されるものではない。
【００５２】
図２Ｅには、デフォルトパイプ２５１である制御チャネルで送受信される制御メッセージ２７０と、データパイプ群２５２となるデータチャネルで送受信されるデータメッセージ２８０とが図示されている。
【００５３】
制御メッセージ２７０の内、ホスト２３０から通信端末からなるＵＳＢハブ２２１に送信される制御メッセージは、ＩＰアドレス２７１と、伝送先エリア／伝送元エリア２７２と、通信データ２７３と、誤り訂正の例えばＣＲＣ２７４と、を有する。ＩＰアドレス２７１としては、送信先の通信端末アドレスと送信元のホストアドレスとがセットされる。伝送先エリア／伝送元エリア２７２としては、伝送先エリアにＵＳＢデバイス２１１（２１２）のＦＩＦＯ0が、伝送元エリアにホスト２３０のＵＳＢバッファ0が、指示される。また、通信データ２７３としては、ホスト２３０が割り当てたデバイスアドレスやＵＳＢデバイス２１１（２１２）の制御コマンドが伝送される。
【００５４】
制御メッセージ２７０の内、通信端末からなるＵＳＢハブ２２１からホスト２３０に送信される制御メッセージは、ＩＰアドレス２７５と、伝送先エリア／伝送元エリア２７６と、通信データ２７７と、誤り訂正の例えばＣＲＣ２７８と、を有する。ＩＰアドレス２７５としては、送信先のホストアドレスと送信元の通信端末アドレスとがセットされる。伝送先エリア／伝送元エリア２７６としては、伝送先エリアにホスト２３０のＵＳＢバッファ0が、伝送元エリアにＵＳＢデバイス２１１（２１２）のＦＩＦＯ0が、指示される。また、通信データ２７７としては、ＵＳＢデバイス２１１（２１２）のデバイスディスクリプタやデバイスステータスが伝送される。
【００５５】
データメッセージ２８０の内、ホスト２３０から通信端末からなるＵＳＢハブ２２１に送信されるデータメッセージは、ＩＰアドレス２８１と、伝送先エリア／伝送元エリア２８２と、通信データ２８３と、誤り訂正の例えばＣＲＣ２８４と、を有する。ＩＰアドレス２８１としては、送信先の通信端末アドレスと送信元のホストアドレスとがセットされる。伝送先エリア／伝送元エリア２８２としては、伝送先エリアにＵＳＢデバイス２１０のＦＩＦＯ1〜nが、伝送元エリアにホスト２３０のＵＳＢバッファ1〜nが、対応付けられて指示される。また、通信データ２８３としては、１つまたは複数のバルクＯＵＴデータが伝送される。
【００５６】
データメッセージ２８０の内、通信端末からなるＵＳＢハブ２２１からホスト２３０に送信されるデータメッセージは、ＩＰアドレス２８５と、伝送先エリア／伝送元エリア２８６と、通信データ２８７と、誤り訂正の例えばＣＲＣ２８８と、を有する。ＩＰアドレス２８５としては、送信先のホストアドレスと送信元の通信端末アドレスとがセットされる。伝送先エリア／伝送元エリア２８６としては、伝送先エリアにホスト２３０のＵＳＢバッファ1〜nが、伝送元エリアにＵＳＢデバイス２１０のＦＩＦＯ1〜nが、対応付けられて指示される。また、通信データ２８７としては、１つまたは複数のバルクＩＮデータが伝送される。
【００５７】
なお、コントロール転送、バルク転送の外に、インタラプト転送やアイソクロナス転送があるが、データメッセージの構成としては、“ＳＥＴＵＰ”ステージが省略されるが同様であるので、それらのメッセージの説明を省略する。
【００５８】
このように、カプセリングしたＩＰアドレスとしては、ホスト２３０と通信端末からなる２２１との間のネットワーク通信であるが、データは、ホスト２３０にアプリケーションソフトウェア２３１が確保させたＵＳＢバッファと、ＵＳＢデバイス２１１（２１２）のエンドポイントであるＦＩＦＯとの間で伝送される。
【００５９】
（通信データ構成例）
図２Ｆは、本実施形態に係る通信データ構成を示す図である。図２Ｆにおいては、図２Ｅにおける、カブセル化のためのＩＰアドレスなどは省かれている。なお、図２Ｆには、本実施形態を実現する通信データ構成の一例を示すが、これに限定されるわけではない。例えば、デバイスドライバの上位層における通信データとして、関数のパラメータ（引数）を送受信することや、さらに、関数自体を送受信することなどもできる。
【００６０】
図２Ｆには、基本的な通信データ構成２７３／２７７と、ＵＳＢの場合の通信データ構成２７３と、他のＨＤＭＩ（登録商標）やＳＣＳＩの場合の通信データ構成２７７が示されている。
【００６１】
通信データ構成２７３／２７７は、デバイス特定情報を有する。デバイス特定情報は、デバイス種類と、接続バス種類と、デバイス識別子と、を含む。通信データ構成２７３／２７７は、接続バスにおける転送モードと、接続バスを介して転送すべき情報と、を有する。転送すべき情報には、コマンドやステータスやデータを含む。
【００６２】
ＵＳＢの場合の通信データ構成２７３は、デバイス特定情報として、デバイス種類である産業機器と、接続バスであるＵＳＢと、デバイス識別子であるＩＥ００１と、を有する。ＵＳＢの場合の通信データ構成２７３は、転送モードとしてＵＳＢコントロール転送と、転送情報としてＵＳＢリクエストやデバイスディスクリプタを含む。かかる構成によれば、従来のＵＳＢ接続による最大１２７台という制限を考慮する必要はなくなる。
【００６３】
他のＨＤＭＩ（登録商標）やＳＣＳＩの場合の通信データ構成２７７は、デバイス特定情報として、モニタ、ＨＤＭＩ（登録商標）、ＭＴ０００２や、ＣＤ、ＳＣＳＩ、ＣＤ０００５を有する。また、転送モード２としてＨＤＭＩ（登録商標）制御やＳＣＳＩ制御、転送情報としてＤＤＣ／ＣＥＤやコマンド／レスポンスを含む。
【００６４】
（データ伝送例）
図２Ｇは、本実施形態に係る情報処理システム２００におけるデータ伝送を示す図である。なお、図２Ｇは、ＵＳＢデバイスにおけるＬ２レベルの通信を示すが、通信はさらに下位レベルであっても上位レベルであってもよい。
【００６５】
図２Ｇは、ＵＳＢ接続されたＵＳＢデバイスのディスクリプタ取得手順を示すシーケンス図である。
【００６６】
デバイス２１０に設定されているディスクリプタは、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲなどのＵＳＢリクエストにより取得される。ＵＳＢリクエストは、それぞれコントロール転送によりデバイス２１０とやり取りされる。各コントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。デバイス２１０から取得したディスクリプタはＩＰヘッダやＴＣＰヘッダでＩＰカプセリングして、携帯端末からなるＵＳＢハブ２２１から情報処理装置２３０に送信される。
【００６７】
ここで、情報処理装置２３０のアプリケーションインタフェースを構成するクラスドライバ２３２およびバスドライバは、アプリケーション２３１のデバイス入出力要求に応じて、まず接続デバイスを確認するためコントロール転送とＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストとを生成して、通信制御部に渡す。
【００６８】
ＩＰヘッダやＴＣＰヘッダでＩＰカプセリングされたコントロール転送とＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストとは、通信端末からなるＵＳＢハブ２２１の通信制御部で受信されてＩＰアンカプセリングされる。コントロール転送とＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストとは、ホストコントローラドライバ２２５に渡される。ホストコントローラドライバ２２５は、コントロール転送とＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストとに基づいて、デバイス２１０へのＵＳＢバスにおける各パケットを生成するようＵＳＢバスインタフェース（不図示）に指示する。
【００６９】
ホストコントローラドライバ２２５は、デバイス２１０から受信した、データ・ステージで受信したデータ・パケットをデバイスディスクリプタとして抽出し、コントロール転送とデバイスディスクリプタとして、通信制御部に渡す。ＩＰヘッダやＴＣＰヘッダでＩＰカプセリングされたコントロール転送とデバイスディスクリプタとは、通信端末からなるＵＳＢハブ２２１の通信制御部から情報処理装置２３０の通信制御部に送信される。
【００７０】
情報処理装置の通信制御部は、アンカプセリングしたコントロール転送とデバイスディスクリプタを、アプリケーションインタフェースを構成するバスドライバおよびクラスドライバ２３２に渡すと、クラスドライバ２３２はアプリケーション２３１のデバイス入出力要求に応答して、接続デバイス情報を通知する。
【００７１】
以下、他のコントロール転送や、バルク転送、インタラプト転送、アイソロナス転送においても、同様のデータ伝送が行なわれる。なお、ホストコントローラドライバ２２５とＵＳＢバスインタフェース２２６とが一体にされたソフトウェアであってもよい。
【００７２】
《ＨＤＭＩ（登録商標）デバイス接続の概念》
図３Ａは、本実施形態に係るＨＤＭＩ（登録商標）デバイス接続の概念を示す図である。なお、図３Ａにおいて、図２Ｃと同じ構成要素には同じ参照番号を付して説明を省略する。
【００７３】
ホスト２３０は、ソフトウェアとして、アプリケーションソフトウェア２３１と、デバイスドライバの一部としてのクラスドライバ２３２と、操作機器に対応するクラスドライバ２３２から分配される複数のＨＤＭＩ（登録商標）バスドライバと、を有する。クラスドライバ２３２から分配される複数のＨＤＭＩ（登録商標）バスドライバが、仮想モニタ分配機２３４を構成する。
【００７４】
情報処理装置としてのホスト２３０には、ネットワーク２４０を介してＨＤＭＩ（登録商標）デバイス２１３（２１６）が接続される。ＨＤＭＩ（登録商標）デバイス２１３（２１６）は、ホストコントローラドライバ３２５を有し、ホスト２３０と直接通信を行ないデバイスの制御をする。また、ＨＤＭＩ（登録商標）ケーブルによる物理的な接続は無く、ホストコントローラドライバ３２５は、ＨＤＭＩ（登録商標）バッファとエンドポイントとのデータ交換を、ＨＤＭＩ（登録商標）バスインタフェース３１７を介して、直接、実行する。
【００７５】
ＨＤＭＩ（登録商標）デバイス２１３（２１６）は、ソフトウェアとして、ホストコントローラドライバ３２５と信号をやり取りするＨＤＭＩ（登録商標）デバイス２１３（２１６）のＨＤＭＩ（登録商標）バスインタフェース３１７を有する。また、ＨＤＭＩ（登録商標）デバイス２１３（２１６）は、デバイス情報や制御情報を含むディスクリプタを記憶する制御情報のエンドポイント３１８と、入出力データを記憶するエンドポイント３１９とを有する。
【００７６】
かかる接続により、アプリケーションインタフェースを構成するクラスドライバ２３２とＨＤＭＩ（登録商標）バスドライバ、ネットワーク２４０およびホストコントローラドライバ３２５を介したシステムレベルのコントロール転送により、制御パイプ（ＤＤＣ：ディスプレイ・データ・チャネル／ＣＥＣ：コンシューマエレクトロニクス・コントロール）３５１を介してアプリケーションソフトウェア２３１とエンドポイント３１８との間で、基本処理としての制御通信を実現する。また、アプリケーションレベルのデータ転送では、データパイプ群３５２を介してアプリケーションソフトウェア２３１とエンドポイント３１９との間で、デバイスクラスの各メソッドとしてのＴＭＤＳデータ通信を実現する。
【００７７】
以上のように、ネットワーク２４０を介した、ホスト２３０のＨＤＭＩ（登録商標）デバイス２１３バスドライバとＨＤＭＩ（登録商標）デバイス２１３（２１６）のホストコントローラドライバ３２５とのネットワーク通信と、ホストコントローラドライバ３２５とＨＤＭＩ（登録商標）バスインタフェース３１７とのシリアル通信とから、統一された通信チャネル（パイプ）を形成することができる。
【００７８】
このような構成とすることにより、遠隔に直接、ネットワーク接続されたＨＤＭＩ（登録商標）デバイスに対し、情報処理装置に接続した場合と同じ操作ができる。
【００７９】
（情報の流れ）
図３Ｂは、本実施形態に係るＨＤＭＩ（登録商標）デバイス接続における情報の流れを示す図である。なお、図２Ｄと同様の構成要素には同じ参照番号を付して、説明を省略する。
【００８０】
情報処理装置２３０において、生成されるバッファはＨＤＭＩ（登録商標）バッファ３３６であり、制御バッファと３つのデータバッファとからなる。同様に、ＨＤＭＩ（登録商標）デバイス２１３（２１６）におけるデバイスバッファもＨＤＭＩ（登録商標）バッファ３２９であり、制御バッファと３つのデータバッファとからなる。
【００８１】
なお、通信メッセージなどの構成は、図２Ｅ〜図２Ｇと類似であるので、詳細な説明を省略する。
【００８２】
《情報処理装置の機能構成》
図５は、本実施形態に係る情報処理装置２３０の機能構成を示すブロック図である。なお、図５には、本実施形態の動作に関連の深い機能構成部を図示し、情報処理装置２３０が有する通常の機能構成部は図示していない。例えば、情報処理装置２３０がパーソナルコンピュータ（以下、ＰＣ）の場合の種々の処理機能については示していない。
【００８３】
情報処理装置２３０は、通信制御部５０１と、アプリケーション起動部５０２と、アプリケーション実行部５０３と、アプリケーションインタフェース５０４と、を備える。また、情報処理装置２３０の内部あるいは外部にアプリケーションデータベース（図中、アプリケーションＤＢ）５１０を備える。
【００８４】
通信制御部５０１は、ネットワーク２４０を介する通信端末２２０やデバイスの通信機能部との通信を制御する。アプリケーション起動部５０２は、ユーザ指示あるいはクラウドサーバ指示により、アプリケーションデータベース５１０からアプリケーションを選択して起動する。アプリケーション実行部５０３は、機器共有や操作統合を実現するために使用される共有デバイス登録テーブル５３１を有し、アプリケーション起動部５０２により起動されたアプリケーションを実行する。
【００８５】
アプリケーションインタフェース５０４は、クラスドライバを実行する実行部２３２と、仮想ＨＵＢ２３３と、仮想モニタ分配機２３４と、を含む、仮想ＨＵＢ２３３と仮想モニタ分配機２３４とは、通信パイプに対応する数のバスドライバを起動する。アプリケーションデータベース５１０は、複数のアプリケーション５１１、および、デバイスドライバの一部である複数のアプリケーションインタフェース５１２を格納する。
【００８６】
（アプリケーションデータベース）
図６は、本実施形態に係るアプリケーションデータベース５１０の構成を示す図である。図６には複数のアプリケーション５１１の構成を示す。
【００８７】
複数のアプリケーション５１１は、アプリケーションＩＤ６０１に対応付けて、このアプリケーションが操作統合可か（６０２）、画面共有可か（６０３）、アプリケーションプログラム６０４、を記憶する。なお、操作統合可か（６０２）、画面共有可か（６０３）は、アプリケーションプログラム６０４の中に埋め込まれていてもよい。
【００８８】
（共有デバイス登録テーブル）
図７は、本実施形態に係る共有デバイス登録テーブル５３１の構成を示す図である。共有デバイス登録テーブル５３１は、機器共有や操作共有を実現するためにアプリケーション実行部５０３によって使用される。
【００８９】
共有デバイス登録テーブル５３１は、接続されて使用可となっている共有デバイス７０１のそれぞれに対応付けて、クラスドライバＩＤ７０２、仮想ＨＵＢに接続するかの情報７０３、仮想モニタ分配機に接続するかの情報７０４、を記憶する。仮想ＨＵＢに接続するかの情報７０３、および、仮想モニタ分配機に接続するかの情報７０４は、使用するか否か（○は使用、×は不使用）とバスドライバＩＤとを記憶する。
【００９０】
《情報処理装置のハードウェア構成》
図８は、本実施形態に係る情報処理装置２３０のハードウェア構成を示すブロック図である。
【００９１】
図８で、ＣＰＵ(Central Processing Unit)８１０は演算制御用のプロセッサであり、プログラムを実行することで図５の情報処理装置２３０の機能構成部を実現する。ＲＯＭ(Read Only Memory)８２０は、初期データおよびプログラムなどの固定データおよびプログラムを記憶する。また、通信制御部４０１は、ネットワーク２４０を介して通信端末２２０と通信する。なお、ＣＰＵ８１０は１つに限定されず、複数のＣＰＵであっても、あるいは画像処理用のＧＰＵ(Graphics Processing Unit)を含んでもよい。また、通信制御部５０１は、ＣＰＵ８１０とは独立したＣＰＵを有して、ＲＡＭ(Random Access Memory)８４０の領域に送受信データを書き込みあるいは読み出しするのが望ましい。また、ＲＡＭ８４０とストレージ８５０との間でデータを転送するＤＭＡＣ(Direct Memory Access Controller)を設けるのが望ましい（図示なし）。したがって、ＣＰＵ８１０は、ＲＡＭ８４０にデータが受信あるいは転送されたことを認識してデータを処理する。また、ＣＰＵ８１０は、処理結果をＲＡＭ８４０に準備し、後の送信あるいは転送は通信制御部５０１やＤＭＡＣに任せる。
【００９２】
ＲＡＭ８４０は、ＣＰＵ８１０が一時記憶のワークエリアとして使用するランダムアクセスメモリである。ＲＡＭ８４０には、本実施形態の実現に必要なデータを記憶する領域が確保されている。起動アプリケーションＩＤ８４１は、現在起動しているアプリケーションの識別子である。操作統合／画面共有フラグ８４２は、現在起動しているアプリケーションにおいて操作統合や画面共有が行なわれているか否かのフラグである。共有デバイス登録テーブル５３１は、図７に示したテーブルである。送受信データ８４４は、通信制御部５０１を介して送受信するデータである。
【００９３】
ストレージ８５０には、データベースや各種のパラメータ、あるいは本実施形態の実現に必要な以下のデータまたはプログラムが記憶されている。アプリケーション５１１は、登録されたアプリケーションである。アプリケーションインタフェース５１２は、クラスドライバとバスドライバを含む情報処理装置２３０で実行されているドライバである。
【００９４】
ストレージ８５０には、以下のプログラムが格納される。情報処理装置制御プログラムは、本情報処理装置２３０の全体を制御する基礎プログラムである。アプリケーションインタフェース８５２は、アプリケーションインタフェース５１２から読み出されて情報処理装置２３０で実行されているクラスドライバとバスドライバを含むドライバである。アプリケーションプログラム８５３は、アプリケーション５１１から読み出されて実行されているアプリケーションである。
【００９５】
なお、図８のＲＡＭ８４０やストレージ８５０には、情報処理装置２３０が有する汎用の機能や他の実現可能な機能に関連するプログラムやデータは図示されていない。
【００９６】
《情報処理装置の処理手順》
図９は、本実施形態に係る情報処理装置２３０の処理手順を示すフローチャートである。このフローチャートは、図８のＣＰＵ８１０がＲＡＭ８４０を用いて実行し、図５の機能構成部を実現する。
【００９７】
情報処理装置２３０は、ステップＳ９０１において、アプリケーションを起動する。次に、情報処理装置２３０は、ステップＳ９０３において、起動したアプリケーションがデバイス共有を行なうか否かを判定する。起動したアプリケーションがデバイス共有を行なう場合、情報処理装置２３０は、ステップＳ９０５において、共有フラグをセットする。次に、情報処理装置２３０は、ステップＳ９０７において、共有するデバイスが接続され使用可能か否かを判定する。共有するデバイスが接続され使用可能な場合、情報処理装置２３０は、ステップＳ９０９において、共有デバイスの登録処理を実行する。
【００９８】
共有デバイスの登録処理後、情報処理装置２３０は、ステップＳ９１１において、共有デバイスの切り離しあるいは使用不可を判定する。共有デバイスの切り離しあるいは使用不可の場合、情報処理装置２３０は、ステップＳ９１３において、共有デバイスをシステムから削除する。
【００９９】
情報処理装置２３０は、ステップＳ９１５において、アプリケーションの終了か否かを判定する。終了でなければ、情報処理装置２３０は、ステップＳ９０７に戻って、さらに、共有デバイスの接続を判定する。
【０１００】
（共有デバイス登録処理）
図１０は、本実施形態に係る共有デバイス登録処理（Ｓ９０９）の手順を示すフローチャートである。
【０１０１】
情報処理装置２３０は、ステップＳ１００１において、接続され使用可能となった共有デバイスの種類を判別する。かかるデバイスの種類の判別は、遠隔からの通信を介したデバイスディスクリプタの取得により実現する。情報処理装置２３０は、ステップＳ１００３において、デバイスの種類に対応するクラスドライバを起動する。次に、情報処理装置２３０は、ステップＳ１００５において、デバイスを接続するバスに対応するバスドライバを起動して、クラスドライバと関連付ける。
【０１０２】
情報処理装置２３０は、ステップＳ１００７において、起動したクラスドライバとバスドライバとにより、通信先の通信端末や通信機能部のホストコントローラドライバの起動を指示する。そして、情報処理装置２３０は、ステップＳ１００９において、通信先の共有ドライバの対する設定がＯＫか否かを判定する。ＯＫの応答があれば、情報処理装置２３０は、ステップＳ１０１１において、正常登録処理を行なう。ＯＫでなければ、情報処理装置２３０は、タイムアウトになるまでステップＳ１００９の判定を繰り返す。タイムアウトになれば、情報処理装置２３０は、ステップＳ１０１３からＳ１０１５に進んで、エラー処理を行なう。
【０１０３】
本実施形態によれば、ＰＣに通信を介して接続された遠隔の操作デバイスや遠隔の表示デバイスにおいて操作統合をすることができる。
【０１０４】
［第３実施形態］
次に、本発明の第３実施形態に係る通信処理システムについて説明する。本実施形態に係る通信処理システムは、上記第２実施形態と比べると、クラウドサーバに構築された仮想ＰＣに通信を介して接続するデバイスを共有する点で異なる。その他の構成および動作は、第２実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１０５】
《情報処理システムの構成》
図１１は、本実施形態に係る情報処理システム１１００の構成を示すブロック図である。なお、図１１において、図２Ａと同様の構成要素には同じ参照番号を付して、説明を省略する。
【０１０６】
図１１において、情報処理装置１１３０は、クラウドサーバに構築された仮想ＰＣである。仮想モニタ分配機１１３４は、ＩＰ／ＭＡＣ通信により通信端末あるいは通信機能部１１２０と通信する。この時に、サーバ側／ローカル側のグラフィックアクセラレータを活用して画面生成することができ、その生成画面を仮想モニタ分配機１１３４につないで、分配する。
【０１０７】
（ソフトウェア構成）
図１２は、本実施形態に係る情報処理システム１１００のソフトウェア構成を示す図である。なお、図１２において、図２Ｂと同様の構成要素には同じ参照番号を付して、説明を省略する。
【０１０８】
図１２には、サーバ側／ローカル側のグラフィックアクセラレータ１２３０が追加され、アプリケーション２３１による画面生成に利用される。
【０１０９】
本実施形態によれば、仮想ＰＣに通信を介して接続された遠隔の操作デバイスや遠隔の表示デバイスにおいて操作統合をすることができる。
【０１１０】
［第４実施形態］
次に、本発明の第４実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２実施形態、第３実施形態と比べると、操作統合のために接続してうまくいった機器と、その設定情報とをデータベースに格納して保存し、保存情報を利用する点で異なる。その他の構成および動作は、第２実施形態、第３実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１１１】
《情報処理システムの構成》
図１３Ａは、本実施形態に係る情報処理システム１３０１の構成を示すブロック図である。なお、図１３Ａにおいて、図２Ａまたは図１１と同じ構成要素には同じ参照番号を付して、説明を省略する。
【０１１２】
図１３Ａには、設定履歴データベース１３３０が設けられている。設定履歴データベース１３３０には、表示共有しているモニタの設定情報１３３１と、操作を統合する操作機器（キーボード、マウス）の設定情報１３３２と、の履歴が蓄積され、新たな機器共有においては設定履歴データベース１３３０から接続機器とうまくいった設定とを見付けて利用する。また、図１３Ａにおいては、ＩＰ／ＭＡＣ通信１１３５におけるジッタや通信帯域の不足による通信エラーを、通信バッファ（ＦＩＦＯ）を設けることで防ぐ処理１３２０も追加されている。
【０１１３】
図１３Ｂは、本実施形態に係る情報処理システム１３０２の構成を示すブロック図である。なお、図１３Ｂにおいて、図２Ａ、図１１または図１３Ａと同じ構成要素には同じ参照番号を付して、説明を省略する。
【０１１４】
図１３Ｂでは、設定履歴データベース１３３０に、さらに、通信バッファ（ＦＩＦＯ）の容量を含む通信の設定１３３３の履歴を蓄積し、新たな機器共有においては設定履歴データベース１３３０から接続機器とうまくいった設定に加えて、適切な通信の設定を見付けて利用する（リソースフィードバック１３３４）。
【０１１５】
（ソフトウェア構成）
図１４は、本実施形態に係る情報処理システム１３０１，１３０２のソフトウェア構成を示す図である。なお、図１４において、図２Ｂまたは図１２と同じ構成要素には同じ参照番号を付して、説明を省略する。
【０１１６】
図１４においては、設定履歴データベース１３３０に設定情報の履歴を蓄積し、新たな機器共有においては設定履歴データベース１３３０からうまくいった設定情報を見付けるための、ミドルウェア１４３０として設定制御フロー１４３１が設けられ、アプリケーション２３１の効率的な実行を支援する。
【０１１７】
（設定履歴データベース）
図１５は、本実施形態に係る設定履歴データベース１３３０の構成を示す図である。なお、設定履歴データベース１３３０は、情報処理装置の中にあっても、情報処理装置の外のクラウドサーバが有していてもよい。
【０１１８】
設定履歴データベース１３３０は、アプリケーションＩＤ１５０１に対応付けて、今までの履歴として、複数の操作機器１５０２、複数の共有画面機器１５０３、通信バッファ１５０４、の組み合わせを記憶する。複数の操作機器１５０２と複数の共有画面機器１５０３には、機器種類と共有設定情報とを記憶する。また、通信バッファ１５０４には、設定位置と容量とを記憶する。そして、それらの組み合わせによるシステムの評価値１５０５を記憶する。かかる評価値１５０１により、好適な組み合わせが選択される。
【０１１９】
《設定制御フローの処理手順》
図１６は、本実施形態に係る設定制御フローの処理手順を示すフローチャートである。このフローチャートは、情報処理装置が実行してもよいが、基本的にはクラウドサーバが実行するのが望ましい。
【０１２０】
クラウドサーバは、ステップＳ１６１１において、アプリケーションの共有を開始したか否かを判定する。共有を開始したと判定した場合、クラウドサーバは、ステップＳ１６１３において、設定履歴データベース１３３０から好適な接続機器と設定とを検索する。そして、クラウドサーバは、ステップＳ１６１５において、接続機器に対して選択された設定情報を設定する。
【０１２１】
アプリケーションが共有を開始してないと判定した場合、クラウドサーバは、ステップＳ１６２１において、アプリケーションの共有を終了したか否かを判定する。共有が終了したと判定した場合、クラウドサーバは、ステップＳ１６２３において、接続機器と設定を評価する。評価の基準は種々あるが、最も単純なものは通信エラーの有無である。そして、クラウドサーバは、ステップＳ１６２５において、接続機器と設定を評価値と共に設定履歴データベース１３３０に格納する。
【０１２２】
アプリケーションによる共有開始でも共有終了でもなければ、クラウドサーバは、ステップＳ１６２１において、他の処理をする。
【０１２３】
なお、図１６には、通信の設定は説明しなかったが、接続機器と設定に追加すれば処理は同様である。
【０１２４】
本実施形態によれば、共有操作のために接続してうまくいった機器と、その設定情報とを保存して再利用することができる。
【０１２５】
［第５実施形態］
次に、本発明の第５実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２実施形態乃至第４実施形態と比べると、複数のユーザが使用する共有デバイスを遠隔に接続する点で異なる。その他の構成および動作は、第２実施形態から第４実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１２６】
《情報処理システムの構成》
図１７Ａは、本実施形態に係る情報処理システム１７０１の構成を示すブロック図である。なお、図１７Ａにおいて、図２Ａ、図１１、図１３Ａまたは図１３Ｂと同様の構成要素には同じ参照番号を付して、説明を省略する。
【０１２７】
図１７Ａにおいては、通信端末と通信機能部１７２１の仮想ＵＳＢ＿ＨＵＢ１７２２に、複数のユーザが共有して利用する共有プリンタ１７１１と共有書画カメラ１７１２とが接続されている。かかる接続においては、仮想ＵＳＢ＿ＨＵＢ１７２２の帯域が不足する可能性が高くなる。あるいは、通信のトラフィックを考慮すると、仮想ＵＳＢ＿ＨＵＢ１７２２に近いモニタの通信帯域にも影響が出ることが考えられる。
【０１２８】
図１７Ａにおいては、このようなシステム構成の偏りの中で、機器共有を安定的に達成する機器設定や通信の設定として、うまくいった情報を設定履歴データベース１７３０に蓄積して利用する。
【０１２９】
なお、通信トラフィックの偏りで、モニタの通信帯域が不足して通信バッファ（ＦＩＦＯ）では解決できない場合、画像データの圧縮率を高める、あるいは、間引くことが考えられる。この場合には、モニタの表示画面の品質に関わるので、ユーザに問い合わせるのが望ましい。
【０１３０】
図１７Ｂは、本実施形態に係る情報処理システム１７０１の構成を示すブロック図である。なお、図１７Ｂにおいて、図２Ａ、図１１、図１３Ａ、図１３Ｂまたは図１７Ａと同様の構成要素には同じ参照番号を付して、説明を省略する。
【０１３１】
図１７Ｂは、上記通信トラフィックの偏りを無くす方法の１つとして、通信端末と通信機能部１７２３に、共有プリンタ１７１１と共有書画カメラ１７１２とを、キーボードやマウスとは別の仮想ＵＳＢ＿ＨＵＢ１７２４を使用して、別通信経路で接続する。
【０１３２】
（設定履歴データベース）
図１８は、本実施形態に係る設定履歴データベース１７３０の構成を示す図である。なお、図１８において、図１５と同様の構成要素には同じ参照番号を付して、説明を省略する。
【０１３３】
設定履歴データベース１７３０は、共有プリンタ１７１１や共有書画カメラ１７１２などの他の共有機器１７０６と、それらの組み合わせ時の通信バッファ１７０４と、データ圧縮率１７０７と、を記憶する。通信バッファ１７０４には、例えば、図１８では、モニタ間の同期や操作機器間やモニタとの同期などの必要の有無が記憶されている。かかる同期は、特に、ＴＶ会議システムにおいて必要となる。
【０１３４】
本実施形態によれば、複数のユーザが使用する、遠隔に接続された共有デバイスにおいても好適に操作統合の制御を行ない、接続してうまくいった機器と、その設定情報とを保存して再利用することができる。
【０１３５】
［第６実施形態］
次に、本発明の第６実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２実施形態乃至第５実施形態と比べると、共有機器をどのように利用するかのワークフローを有する点で異なる。その他の構成および動作は、第２実施形態から第５実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１３６】
《情報処理システムの構成》
図１９は、本実施形態に係る情報処理システム１９００の構成を示すブロック図である。なお、図１９において、図２Ａ、図１１、図１３Ａ、図１３Ｂ、図１７Ａまたは図１７Ｂと同様の構成要素には同じ参照番号を付して、説明を省略する。
【０１３７】
図１９は、例えば、共有プリンタ１７１１や共有書画カメラ１７１２を複数のユーザ（ＡさんとＢさん）が利用する場合のスケジューリング、あるいは、共有プリンタ１７１１や共有書画カメラ１７１２のステータス（空きや使用中など）を制御する、作業支援ワークフロー／操作支援ワークフローを有する。これらの作業支援ワークフロー／操作支援ワークフローは、ワークフローデータベース１９３０の履歴が蓄積されて、有効に利用される。
【０１３８】
なお、ワークフローデータベース１９３０は、設定履歴データベース１７３０と一体であってもよい。
【０１３９】
（ソフトウェア構成）
図２０は、本実施形態に係る情報処理システム１９００のソフトウェア構成を示す図である。なお、図２０において、図２Ｂ、図１２または図１４と同じ構成要素には同じ参照番号を付して、説明を省略する。
【０１４０】
図２０においては、ワークフローデータベース１９３０にワークフローの履歴を蓄積し、新たな機器共有においてはワークフローデータベース１９３０からうまくいったワークフローを見付けるための、ミドルウェア２０３０として設定制御フロー２０３１とワークフロー２０３２が設けられ、アプリケーション２３１の効率的な実行を支援する。
【０１４１】
（ワークフローデータベース）
図２１は、本実施形態に係るワークフローデータベース１９３０の構成を示す図である。
【０１４２】
ワークフローデータベース１９３０は、アプリケーションＩＤ２１０１に対応付けて、今までの操作機器２１０２、システムの利用者２１０３、ワークフロー２１０４、を記憶する。そして、それらの組み合わせの評価値２１０５を記憶する。この評価値２１０５に基づいて、好適なワークフローが利用される。
【０１４３】
《ワークフローの処理手順》
図２２は、本実施形態に係るワークフローの処理手順を示すフローチャートである。このワークフローは共有機器の利用スケジュールの一例である。このフローチャートは、情報処理装置が実行してもよいが、基本的にはクラウドサーバが実行するのが望ましい。
【０１４４】
クラウドサーバは、ステップＳ２２０１において、共有機器情報を取得する。次に、クラウドサーバは、ステップＳ２２０３において、共有機器の利用者情報を取得する。そして、クラウドサーバは、ステップＳ２２０５において、共有機器の利用スケジュールを設定する。
【０１４５】
クラウドサーバは、ステップＳ２２０７において、利用スケジュールに従って、共有機器利用を管理する。クラウドサーバは、ステップＳ２２０９において、利用スケジュールの変更があるか否かを判定する。利用スケジュールの変更がある場合、クラウドサーバは、ステップＳ２２０５に戻って、新たな利用スケジュールを設定して処理を継続する。
【０１４６】
利用スケジュールの変更がない場合、クラウドサーバは、ステップＳ２２１１において、共有機器や利用者の変更があるか否かを判定する。共有機器や利用者の変更がある場合、クラウドサーバは、ステップＳ２２０１に戻って、新たな共有機器や利用者を取得して処理を継続する。
【０１４７】
共有機器や利用者の変更がない場合、クラウドサーバは、ステップＳ２２１３において、機器共有の終了か否かを判定する。機器共有の終了でない場合、クラウドサーバは、ステップＳ２２０７に戻って、利用スケジュールによる共有機器利用の管理を継続する。
【０１４８】
本実施形態によれば、共有機器の利用スケジュールなどにおいても好適に共有操作の制御を行ない、そのワークフローを保存して再利用することができる。
【０１４９】
［第７実施形態］
次に、本発明の第７実施形態に係る情報処理システムについて説明する。本実施形態に係る情報処理システムは、上記第２実施形態乃至第６実施形態と比べると、情報処理装置２３０（仮想ＰＣ）とデバイスが接続された通信端末２２０との間で異なるデータが通信される点で異なる。すなわち、本実施形態においては、情報処理装置２３０のアプリケーションＩＦと通信端末２２０のホストコントローラＩＦとが、第２実施形態と異なる部分で分離されている。例えば、ホストコントローラチップ（ＨＣ）を含めて全体のデバイスドライバをソフトウェアで実現した場合に、特に、ホストコントローラドライバとホストコントローラチップとの組を種々の階層で通信効率や通信速度を考慮して分割する。そして、分割された階層間の情報を情報処理装置２３０と通信端末２２０間でネットワーク通信するよう設計する。その他の構成および動作は、第２実施形態から第６実施形態と同様であるため、同じ構成および動作については同じ符号を付してその詳しい説明を省略する。
【０１５０】
（データ伝送例）
図２３は、本実施形態に係る情報処理システムにおけるデータ伝送を示す図である。なお、図２３は、図２Ｇと同様に、ＵＳＢ接続されたＵＳＢデバイスのディスクリプタ取得手順を示す図である。したがって、図２３において、図２Ｇと同様の構成要素には同じ参照番号を付して、説明は省略する。
【０１５１】
デバイス２１０に設定されているディスクリプタは、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲなどのＵＳＢリクエストにより取得される。コントロール転送であるＵＳＢリクエストのＵＳＢプロトコルを含むフレームは、情報処理装置２３０とデバイス２１０間でやり取りされる。各コントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。デバイス２１０から取得したディスクリプタはＩＰヘッダやＴＣＰヘッダでＩＰカプセリングされたフレームに挿入されて、携帯端末２２０から情報処理装置２３０に送信される。
【０１５２】
ここで、情報処理装置２３０のアプリケーションインタフェース２３３２は、アプリケーション２３１のデバイス入出力要求に応じて、まず接続デバイスを確認するためＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストのＵＳＢプロトコルを含むフレームを生成して、通信制御部４０１に渡す。
【０１５３】
ＩＰヘッダやＴＣＰヘッダでＩＰカプセリングされたＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストを含むフレームは、通信端末２２０の通信制御部５０１で受信されてＩＰアンカプセリングされる。ＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストは、ホストコントローラインタフェース２３２５に渡される。ホストコントローラインタフェース２３２５は、ＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストのＵＳＢプロトコルを含むフレームに基づいて、デバイス２１０へのＵＳＢバスにおける各パケットを転送するようＵＳＢバスインタフェース２２６（不図示）に指示する。
【０１５４】
ホストコントローラインタフェース２３２５は、デバイス２１０からデータ・ステージにおいて受信したデータ・パケットをデバイスディスクリプタ２３６３として含むフレームを、通信制御部５０１に渡す。ＩＰヘッダやＴＣＰヘッダでＩＰカプセリングされたデバイスディスクリプタ２３６３を含むフレームは、通信端末２２０の通信制御部５０１から情報処理装置２３０の通信制御部４０１に送信される。
【０１５５】
情報処理装置の通信制御部４０１は、アンカプセリングしたデバイスディスクリプタ２３６３を含むフレームをアプリケーションインタフェース２３３２に渡すと、アプリケーションインタフェース２３３２はアプリケーション２３１のデバイス入出力要求に応答して、接続デバイス情報を通知する。
【０１５６】
以下、他のコントロール転送や、バルク転送、インタラプト転送、アイソロナス転送においても、同様のデータ伝送が行なわれる。なお、ホストコントローラインタフェース２３２５とＵＳＢバスインタフェース２２６とが一体にされたソフトウェアであってもよい。
【０１５７】
図２４は、本実施形態に係る情報処理システムにおける他のデータ伝送を示す図である。なお、図２４は、図２Ｇおよび図２３と同様に、ＵＳＢ接続されたＵＳＢデバイスのディスクリプタ取得手順を示す図である。したがって、図２４において、図２Ｇおよび図２３と同様の構成要素には同じ参照番号を付して、説明は省略する。
【０１５８】
デバイス２１０に設定されているディスクリプタは、ＧＥＴ＿ＤＥＳＣＲＩＰＴＯＲなどのＵＳＢリクエストにより取得される。ＵＳＢリクエストのＵＳＢプロトコルを含むコントロール転送は、セット・ステージと、データ・ステージと、ステータス・ステージとからなる。各ステージは、トークン・パケットと、データ・パケットと、ハンドシェイク・パケットとからなる。コントロール転送であるＵＳＢリクエストのＵＳＢプロトコルを含むセット・ステージと、データ・ステージと、ステータス・ステージとは、それぞれ、情報処理装置２３０とデバイス２１０間でやり取りされる。ディスクリプタは、各データ・ステージのデータ・パケットで取得される。デバイス２１０から取得したディスクリプタはＩＰヘッダやＴＣＰヘッダでＩＰカプセリングされたデータ・ステージに挿入されて、携帯端末２２０から情報処理装置２３０に送信される。
【０１５９】
ここで、情報処理装置２３０のアプリケーションインタフェース２４３２は、アプリケーション２３１のデバイス入出力要求に応じて、まず接続デバイスを確認するためＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストのＵＳＢプロトコルを含むセット・ステージを生成して、通信制御部４０１に渡す。
【０１６０】
ＩＰヘッダやＴＣＰヘッダでＩＰカプセリングされたＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストを含むセット・ステージは、通信端末２２０の通信制御部５０１で受信されてＩＰアンカプセリングされる。ＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストは、ホストコントローラインタフェース２４２５に渡される。ホストコントローラインタフェース２４２５は、ＧＥＴ  ＤＥＳＣＲＩＰＴＯＲのＵＳＢリクエストのＵＳＢプロトコルを含むセット・ステージに基づいて、デバイス２１０へのＵＳＢバスにおける各パケットを転送するようＵＳＢバスインタフェース２２６（不図示）に指示する。
【０１６１】
ホストコントローラインタフェース２４２５は、デバイス２１０からデータ・ステージにおいて受信したデータ・パケットをデバイスディスクリプタ２４６３として含むデータ・ステージを、通信制御部５０１に渡す。ＩＰヘッダやＴＣＰヘッダでＩＰカプセリングされたデバイスディスクリプタ２４６３を含むデータ・ステージは、通信端末２２０の通信制御部５０１から情報処理装置２３０の通信制御部４０１に送信される。
【０１６２】
情報処理装置の通信制御部４０１は、アンカプセリングしたデバイスディスクリプタ２４６３を含むデータ・ステージをアプリケーションインタフェース２４３２に渡すと、アプリケーションインタフェース２４３２はアプリケーション２３１のデバイス入出力要求に応答して、接続デバイス情報を通知する。
【０１６３】
また、ホストコントローラインタフェース２４２５は、デバイス２１０からステータス・ステージで受信したデータ・パケットをステータスデータ２４６４として含むステータス・ステージを、通信制御部５０１に渡す。ＩＰヘッダやＴＣＰヘッダでＩＰカプセリングされたステータスデータ２４６４を含むステータス・ステージは、通信端末２２０の通信制御部５０１から情報処理装置２３０の通信制御部４０１に送信される。
【０１６４】
情報処理装置の通信制御部４０１は、アンカプセリングしたステータスデータ２４６４を含むステータス・ステージをアプリケーションインタフェース２４３２に渡すと、アプリケーションインタフェース２４３２はアプリケーション２３１のデバイス入出力要求に応答して、接続デバイス情報を通知する。
【０１６５】
なお、上記説明では、アプリケーションインタフェース２４３２においては、ハンドシェイク・パケットについて判定していないが、アプリケーションインタフェース２４３２が各ステージにおけるハンドシェイク・パケットを確認する構成であってもよい。
【０１６６】
以下、他のコントロール転送や、バルク転送、インタラプト転送、アイソロナス転送においても、同様のデータ伝送が行なわれる。なお、ホストコントローラインタフェース２４２５とＵＳＢバスインタフェース２２６とが一体にされたソフトウェアであってもよい。
【０１６７】
本実施形態によれば、情報処理装置（仮想ＰＣ）と通信端末間の通信が互いのドライバを分割したフレーム単位の通信であってもステージ単位の通信であっても、ＵＳＢデバイスを遠隔の通信端末に接続した時にも、情報処理装置に直接接続した場合と同じ操作ができる。
【０１６８】
［他の実施形態］
なお、上記実施形態においては、ＵＳＢ、ＨＤＭＩ（登録商標）によるデバイスの接続例を示したが、ＳＣＳＩなどの他の接続であっても同様の効果を奏する。さらに、デバイスを近距離無線、例えば、赤外線通信、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などで接続する場合にも適用でき、同様の効果を奏する。
【０１６９】
また、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
【０１７０】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるＷＷＷ(World Wide Web)サーバも、本発明の範疇に含まれる。特に、少なくとも、上述した実施形態に含まれる処理ステップをコンピュータに実行させるプログラムを格納した非一時的コンピュータ可読媒体（non-transitory computer readable medium）は本発明の範疇に含まれる。
【０１７１】
なお、この出願は、同日出願された日本国特許出願（特願２０１４−２３５１０８，特願２０１４−２３５１０９、特願２０１４−２３５１１１）と関連し、その開示の全てをここに取り込む。
【０１７２】
この出願は、２０１４年１１月１９日に出願された日本国特許出願  特願２０１４−２３５１１０号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2016080428.tif 000003
【図２Ａ】
2016080428.tif 000004
【図２Ｂ】
2016080428.tif 000005
【図２Ｃ】
2016080428.tif 000006
【図２Ｄ】
2016080428.tif 000007
【図２Ｅ】
2016080428.tif 000008
【図２Ｆ】
2016080428.tif 000009
【図２Ｇ】
2016080428.tif 000010
【図３Ａ】
2016080428.tif 000011
【図３Ｂ】
2016080428.tif 000012
【図４Ａ】
2016080428.tif 000013
【図４Ｂ】
2016080428.tif 000014
【図５】
2016080428.tif 000015
【図６】
2016080428.tif 000016
【図７】
2016080428.tif 000017
【図８】
2016080428.tif 000018
【図９】
2016080428.tif 000019
【図１０】
2016080428.tif 000020
【図１１】
2016080428.tif 000021
【図１２】
2016080428.tif 000022
【図１３Ａ】
2016080428.tif 000023
【図１３Ｂ】
2016080428.tif 000024
【図１４】
2016080428.tif 000025
【図１５】
2016080428.tif 000026
【図１６】
2016080428.tif 000027
【図１７Ａ】
2016080428.tif 000028
【図１７Ｂ】
2016080428.tif 000029
【図１８】
2016080428.tif 000030
【図１９】
2016080428.tif 000031
【図２０】
2016080428.tif 000032
【図２１】
2016080428.tif 000033
【図２２】
2016080428.tif 000034
【図２３】
2016080428.tif 000035
【図２４】
2016080428.tif 000036
【国際調査報告】
2016080428.tif 000037
2016080428.tif 000038
2016080428.tif 000039