(57)【要約】【課題】通信装置を利用して入出力デバイスをより簡易に制御すること。【解決手段】ＩＰインタフェースと非ＩＰインタフェースとを備えインターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置と、通信装置に対してＩＰインタフェースを介して通信可能なサーバとを含む情報処理システムである。サーバは、通信装置の非ＩＰインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶し、通信装置の非ＩＰインタフェースに接続された入力デバイスおよび出力デバイスを検出し、通信装置の非ＩＰインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、入力デバイスまたは出力デバイスが行なうべき動作を決定し、決定した動作を入力デバイスまたは出力デバイスに指示する。【選択図】  図１
2013200694.tif 000002
【特許請求の範囲】
【請求項１】
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備え、インターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置と、該通信装置に対して前記インターネットプロトコルインタフェースを介して通信可能なサーバとを含む情報処理システムであって、
前記サーバは、
前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段と、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出手段と、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記記憶手段を参照して、前記入力デバイスまたは出力デバイスが行なうべき動作を決定する決定手段と、
前記決定手段が決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示手段と、
を備えたことを特徴とする情報処理システム。
【請求項２】
前記サーバは、前記入力デバイスまたは前記出力デバイスに対するユーザによる操作を示すデータを受信する受信手段をさらに備え、
前記記憶手段は、前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは前記出力デバイスに対するユーザによる操作に対して前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶し、
前記決定手段は、前記受信手段が前記ユーザによる操作を示すデータを受信した場合に、前記記憶手段を参照して前記データに対応する前記動作を決定することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記記憶手段は、
前記通信装置に複数の入力デバイスと出力デバイスが接続された場合に前記出力デバイスに対して行なわれる操作と、その操作が行なわれた場合にデータを入力すべき入力デバイスとを対応づけて記憶し、
前記受信手段は、前記記憶手段を参照して選択した入力デバイスからデータを入力することを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記記憶手段は、
前記通信装置に入力デバイスと複数の出力デバイスが接続された場合に前記入力デバイスに対して行なわれる操作と、その操作が行なわれた場合にデータを出力すべき出力デバイスとを対応づけて記憶し、
前記指示手段は、前記入力デバイスから入力したデータについて、前記記憶手段を参照して選択した前記出力デバイスに指示を送ることを特徴とする請求項１、２または３に記載の情報処理システム。
【請求項５】
前記記憶手段は、前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスから入力したデータを前記出力デバイスに出力するために必要なアプリケーションとを対応付けてさらに記憶し、
前記サーバは、前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記記憶手段を参照して、前記入力デバイスおよび出力デバイスの組み合わせに対応づけられたアプリケーションを実行することを特徴とする請求項１、２、３または４に記載の情報処理システム。
【請求項６】
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備え、インターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置と、該通信装置に対して前記インターネットプロトコルインタフェースを介して通信可能なサーバと用いた情報処理方法であって、
前記サーバは、
前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段を備え、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出ステップと、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記記憶手段を参照して前記入力デバイスまたは前記出力デバイスが行なうべき動作を決定する決定ステップと
前記決定ステップが決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示ステップと、
を備えたことを特徴とする情報処理方法。
【請求項７】
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備えインターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置に対し、前記インターネットプロトコルインタフェースを介して通信可能なサーバであって、
前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段と、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出手段と、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記記憶手段を参照して前記入力デバイスまたは出力デバイスが行なうべき動作を決定する決定手段と、
前記決定手段が決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示手段と、
を備えたことを特徴とするサーバ。
【請求項８】
前記入力デバイスまたは前記出力デバイスに対するユーザによる操作を示すデータを受信する受信手段をさらに備え、
前記記憶手段は、前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは前記出力デバイスに対するユーザによる操作に対して前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶し、
前記決定手段は、前記受信手段が前記ユーザによる操作を示すデータを受信した場合に、前記記憶手段を参照して前記データに対応する前記動作を決定することを特徴とする請求項７に記載のサーバ。
【請求項９】
前記記憶手段は、
前記通信装置に複数の入力デバイスと出力デバイスが接続された場合に前記出力デバイスに対して行なわれる操作と、その操作が行なわれた場合にデータを入力すべき入力デバイスとを対応づけて記憶し、
前記受信手段は、前記記憶手段を参照して選択した入力デバイスからデータを入力することを特徴とする請求項７または８に記載のサーバ。
【請求項１０】
前記記憶手段は、
前記通信装置に入力デバイスと複数の出力デバイスが接続された場合に前記入力デバイスに対して行なわれる操作と、その操作が行なわれた場合にデータを出力すべき出力デバイスとを対応づけて記憶し、
前記指示手段は、前記入力デバイスから入力したデータについて、前記記憶手段を参照して選択した前記出力デバイスに指示を送ることを特徴とする請求項７、８または９に記載のサーバ。
【請求項１１】
前記記憶手段は、前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスから入力したデータを前記出力デバイスに出力するために必要なアプリケーションとを対応付けてさらに記憶し、
前記サーバは、前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記記憶手段を参照して、前記入力デバイスおよび出力デバイスの組み合わせに対応づけられたアプリケーションを実行することを特徴とする請求項７、８、９または１０に記載のサーバ。
【請求項１２】
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備えインターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置に対し、前記インターネットプロトコルインタフェースを介して通信可能なサーバの制御方法であって、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出ステップと、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段を参照して、前記入力デバイスまたは出力デバイスが行なうべき動作を決定する決定ステップと、
前記決定ステップで決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示ステップと、
を含むことを特徴とするサーバの制御方法。
【請求項１３】
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備えインターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置に対し、前記インターネットプロトコルインタフェースを介して通信可能なサーバの制御プログラムであって、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出ステップと、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段を参照して、前記入力デバイスまたは出力デバイスが行なうべき動作を決定する決定ステップと、
前記決定ステップで決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示ステップと、
をコンピュータに実行させることを特徴とするサーバの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法、サーバ、その制御方法および制御プログラムに関する。
【背景技術】
【０００２】
上記技術分野において、特許文献１には、仮想サーバがシンクライアントを介してＵＳＢデバイスを制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２１８３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記文献に記載の技術では、１つのＵＳＢデバイスにサーバからのデータを出力することしか想定しておらず、２台以上のデバイスが関連する入出力については、なんらサーバの制御は行なわれておらず、使い勝手が悪かった。
【０００５】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係るシステムは、
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備え、インターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置と、該通信装置に対して前記インターネットプロトコルインタフェースを介して通信可能なサーバとを含む情報処理システムであって、
前記サーバは、
前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段と、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出手段と、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記記憶手段を参照して、前記入力デバイスまたは出力デバイスが行なうべき動作を決定する決定手段と、
前記決定手段が決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示手段と、
を備えたことを特徴とする。
【０００７】
上記目的を達成するため、本発明に係る方法は、
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備え、インターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置と、該通信装置に対して前記インターネットプロトコルインタフェースを介して通信可能なサーバと用いた情報処理方法であって、
前記サーバは、
前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段を備え、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出ステップと、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記記憶手段を参照して前記入力デバイスまたは前記出力デバイスが行なうべき動作を決定する決定ステップと
前記決定ステップが決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示ステップと、
を備えたことを特徴とする。
【０００８】
上記目的を達成するため、本発明に係る装置は、
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備えインターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置に対し、前記インターネットプロトコルインタフェースを介して通信可能なサーバであって、
前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段と、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出手段と、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記記憶手段を参照して前記入力デバイスまたは出力デバイスが行なうべき動作を決定する決定手段と、
前記決定手段が決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示手段と、
を備えたことを特徴とする。
【０００９】
上記目的を達成するため、本発明に係る方法は、
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備えインターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置に対し、前記インターネットプロトコルインタフェースを介して通信可能なサーバの制御方法であって、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出ステップと、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段を参照して、前記入力デバイスまたは出力デバイスが行なうべき動作を決定する決定ステップと、
前記決定ステップで決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示ステップと、
を含むことを特徴とする。
【００１０】
上記目的を達成するため、本発明に係るプログラムは、
インターネットプロトコルインタフェースと非インターネットプロトコルインタフェースとを備えインターネットおよび入力デバイスおよび出力デバイスに接続できる通信装置に対し、前記インターネットプロトコルインタフェースを介して通信可能なサーバの制御プログラムであって、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出する検出ステップと、
前記通信装置の非インターネットプロトコルインタフェースに接続された入力デバイスおよび出力デバイスを検出した場合に、前記通信装置の非インターネットプロトコルインタフェースに接続される入力デバイスおよび出力デバイスの組合せと、前記入力デバイスまたは出力デバイスが行なうべき動作とを対応付けて記憶する記憶手段を参照して、前記入力デバイスまたは出力デバイスが行なうべき動作を決定する決定ステップと、
前記決定ステップで決定した前記動作を前記入力デバイスまたは出力デバイスに指示する指示ステップと、
をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、通信装置を利用して入出力デバイスをより簡易に制御することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態に係る情報処理システムの構成を示すブロック図である。
【図２】本発明の第２実施形態に係る情報処理システムの構成を示すブロック図である。
【図３Ａ】本発明の第２実施形態に係る情報処理システムの構成を示すブロック図である。
【図３Ｂ】本発明の第２実施形態に係るクラウドサーバに用意されたテーブルを示す図である。
【図４】本発明の第２実施形態に係る情報処理システムの全体的な処理の流れを説明するシーケンス図である。
【図５Ａ】本発明の第２実施形態に係る情報処理システムにおけるデータのやりとりを示す図である。
【図５Ｂ】本発明の第２実施形態に係る情報処理システムにおけるデータのやりとりを示す図である。
【図６】本発明の第２実施形態に係るクラウドサーバのハードウェア構成を示す図である。
【図７】本発明の第２実施形態に係るクラウドサーバに用意されたテーブルを示す図である。
【図８】本発明の第２実施形態に係るクラウドサーバに用意されたテーブルを示す図である。
【図９】本発明の第２実施形態に係るクラウドサーバに用意されたテーブルを示す図である。
【発明を実施するための形態】
【００１３】
以下に、図面を参照して、本発明の実施の形態について例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、本発明の技術範囲をそれらのみに限定する趣旨のものではない。
【００１４】
［第１実施形態］
本発明の第１実施形態としての情報処理システム１００について、図１を用いて説明する。情報処理システム１００は、互いに通信可能な通信装置１１０とサーバ１２０とを含む。
【００１５】
通信装置１１０は、インターネットプロトコルインタフェース（図中、ＩＰインタフェース）１１１と、非インターネットプロトコルインタフェース（図中、非ＩＰインタフェース）１１２とを備え、インターネット１３０と入出力デバイス１４０、１５０の両方に接続できる。
【００１６】
また、サーバ１２０は、通信装置１１０との間で、インターネットプロトコルインタフェース１１１およびインターネット１３０を介して通信可能である。
【００１７】
サーバ１２０は、記憶部１２１、検出部１２２、決定部１２４、および指示部１２５を備える。
【００１８】
記憶部１２１は、通信装置１１０の非インターネットプロトコルインタフェース１１２に接続される入力デバイス１４０および出力デバイス１５０の組合せと、入力デバイス１４０または出力デバイス１５０に対するユーザによる操作に対して入力デバイス１４０または出力デバイス１５０が行なうべき動作とを対応付けて記憶する。
【００１９】
検出部１２２は、通信装置１１０の非インターネットプロトコルインタフェース１１２に接続された入力デバイス１４０および出力デバイス１５０を検出する。
【００２０】
決定部１２４は、通信装置１１０の非インターネットプロトコルインタフェース１１２に接続された入力デバイス１４０および出力デバイス１５０を検出した場合に、記憶部１２１を参照して前記入力デバイスまたは出力デバイスが行なうべき動作を決定する。
【００２１】
指示部１２５は、決定部１２４が決定した動作を入力デバイス１４０または出力デバイス１５０に指示する。
【００２２】
以上の構成により、通信装置１１０に入力デバイス１４０と出力デバイス１５０とを接続するだけで、サーバ１２０が適切な動作を決定して、入力デバイスから入力したデータに基づいて出力デバイス１５０からの出力を得ることができる。つまり、よりユーザフレンドリーな形態で、サーバを利用して入出力デバイスを制御することができる。
【００２３】
［第２実施形態］
〈全体構成〉
次に本発明の第２実施形態に係る情報処理システム２００について、図２を用いて説明する。図２は、本実施形態に係る情報処理システム２００の全体構成を説明するための図である。図２に示すように、通信装置の一例としてのモバイルワイヤレスルータ２０１は、ＵＳＢインタフェース２０２を介してハブ２０３に接続されている。さらにそのハブ２０３の先に、やはりＵＳＢインタフェース２０４、２０５、２０６を介して、モニタ２０７、プリンタ２０８、デジタル顕微鏡２０９に接続されている。また、モバイルワイヤレスルータ２０１は、不図示のアンテナを用いて、インターネットを介してクラウドサーバ２１０と通信可能に構成されている。
【００２４】
本実施形態では、インターネットプロトコル（以下ＩＰ）インタフェースとしての無線通信インタフェースと非ＩＰインタフェースとしてのＵＳＢインタフェースとを備えたモバイルワイヤレスルータについて説明する。しかし本発明はこれに限定されるものではなく、ＩＰインタフェースと非ＩＰインタフェースとを備えていれば、モバイルワイヤレスルータに代えてスマートフォンなどの携帯電話機や、タブレットＰＣやノートＰＣなどの通信装置を利用してもよい。また、ここでは、代表的な例として、入力デバイスとしてのデジタル顕微鏡２０９と、出力デバイスとしてのモニタ２０７およびプリンタ２０８とを、ハブ２０３を介してモバイルワイヤレスルータ２０１に接続している。しかし、これらの入出力デバイスはあくまでも例であって、本発明は、全くこれらに限定されない。例えば、入力デバイスとして、デジタルカメラやデジタルビデオカメラやＤＶＤプレーヤやＩＣレコーダを接続してもよい。さらには、キーボードやマウスなどを入力デバイスとして接続してもよい。出力デバイスとしては、ここに挙げたもののほか、スピーカやプロッタなどが含まれる。
【００２５】
モバイルワイヤレスルータ２０１のＵＳＢポートは、通常、モバイルワイヤレスルータ２０１そのものの設定、ログデータの出力、ＵＳＢストレージ接続など、用途があらかじめ限定されていた。クラウドサーバ２１０を利用することで、このＵＳＢインタフェースを、モバイルワイヤレスルータ２０１にデバイスドライバをインストールせずに、プリンタ２０８等の入出力デバイスを使用することができるように機能拡大する。
【００２６】
ここで、モバイルワイヤレスルータ２０１に設けられた通信ポートは、ＵＳＢに限定するものではなく、ＩＰを利用しないデータ通信用インタフェース(例.シリアル通信インタフェース、ＩＥＥＥ１３９４、ＨＤＭＩなど)であればよい。また、ＩＰを利用した無線通信インタフェースとしては、Wi-Fi（wireless fidelity、登録商標）が例として挙げられる。その他、無線通信規格であるIEEE 802.11シリーズ(IEEE 802.11a, b, c, d, e)を利用した無線通信インタフェースでもよい。
【００２７】
〈各装置の内部構成〉
図３Ａを用いて、情報処理システム２００のより詳しい構成について説明する。図３Ａに示すように、クラウドサーバ２１０は、契約ユーザごとに仮想ＰＣ３１０〜３３０を備えている。それぞれの仮想ＰＣ３１０〜３３０は、データ受信部３１１と、データ処理部３１２と、仮想ＵＳＢインタフェース３１３とを備えている。
【００２８】
また、クラウドサーバ２１０は、図３Ｂのテーブル３５０に示すように、契約ユーザごとに、仮想ＰＣと接続する通信装置の識別情報（モバイルワイヤレスルータの個体ＩＤ、ＭＡＣアドレスなど）と、割り当てられる仮想ＰＣとを登録している。これにより、クラウドサーバ２１０は、通信装置からのアクセスを検出すると、テーブル３５０の登録機器からその通信装置を検索し、契約ユーザと仮想ＰＣとを特定することが可能となる。
【００２９】
モバイルワイヤレスルータ２０１は、接続検知部３０１と、ディスクリプタ処理部３０２と、無線通信部３０３と、ＵＳＢインタフェース３０４とを備えている。また無線通信部３０３は、送信部３３１と、受信部３３２とを備えている。
【００３０】
接続検知部３０１は、通信インタフェースとしてのＵＳＢインタフェース３０４を介して入出力デバイス（ここではモニタ、プリンタ、デジタル顕微鏡）２０７〜２０９が接続されたことを検知する。ディスクリプタ処理部３０２は、ＵＳＢインタフェース３０４を介して接続された入出力デバイス２０７〜２０９からディスクリプタを取得する。さらにディスクリプタ処理部３０２は、入出力デバイス２０７〜２０９を特定するために必要なデバイス情報（例えばデバイスディスクリプタおよびインタフェースディスクリプタ）を抽出する。そして、抽出したディスクリプタを、送信部３３１から仮想ＰＣ３１０に送信する。
【００３１】
入出力デバイス２０７〜２０９と、モバイルワイヤレスルータ２０１のようなホストとの間では、最下位の物理層においてＵＳＢの転送方式を確認し、ＵＳＢの論理処理でディスクリプタを確認し、ドライバ層でプラグアンドプレイプロトコルを確認する。ＵＳＢの転送方式としては、コントロール転送、バルク転送、インタラブト転送、アイソクロナス転送などがあり、これらのいずれの方式を採用するかを互いに確認することによりデバイス・ホスト間で物理的な通信モードの整合が行なわれる。
【００３２】
一方、ＵＳＢの論理ポート制御用の情報であるディスクリプタとして、デバイスディスクリプタ、コンフィグレーションディスクリプタ、インタフェースディスクリプタ、エンドポイントディスクリプタのやり取りがデバイス・ホスト間で行なわれる。
【００３３】
ここで、デバイスディスクリプタはベンダーＩＤ、プロダクトＩＤ等、機器を識別するための情報であり、コンフィグレーションディスクリプタはターゲットのＵＳＢ構成情報で、インタフェースディスクリプタの数を持つ。また、インタフェースディスクリプタは、インタフェースの情報で、インタフェースが持つエンドポイントディスクリプタの数を持ち、エンドポイントディスクリプタは、通信用のポートであるエンドポイントの情報である。
【００３４】
ＵＳＢインタフェース３０４に入出力デバイス２０７〜２０９が繋がると、ＵＳＢインタフェース３０４から入出力デバイス２０７〜２０９へディスクリプタを要求し、それに、入出力デバイス２０７〜２０９が、デバイスディスクリプタ等で応答する。これをクラウドサーバ２１０の仮想ＰＣ３１０に送信することにより、仮想ＵＳＢインタフェース３１３は、入出力デバイス２０７〜２０９のプロファイルを把握することができる。
【００３５】
デバイスディスクリプタにデバイスクラス、サブクラス、プロトコルの記載がない場合は、インタフェースディスクリプタで確認してもよい。また、モバイルワイヤレスルータ２０１側から、$INTERFACE という環境変数で確認してもよい。
【００３６】
無線通信部３０３の送信部３３１は、デバイスディスクリプタや、入力デバイスから取得したデータをクラウドサーバ２１０に送信する。仮想ＰＣ３１０のデータ受信部３１１は、モバイルワイヤレスルータ２０１からデータ（コンテンツデータや操作データ）を受信する。データ処理部３１２は、入出力デバイス２０７〜２０９の組み合わせに対応してあらかじめ定められた処理を、受信したデータに対して施す。例えば、データ処理部３１２は、デジタル顕微鏡２０９から入力してモバイルワイヤレスルータ２０１を介して受信した画像データに処理を加えて、モニタ２０７またはプリンタ２０８から出力可能なデータ形式への変換を行なう。仮想ＵＳＢインタフェース３１３は、変換済みのデータをUSBoverIPnetwork形式でのデータにカプセリングしてモバイルワイヤレスルータ２０１の受信部３３２に送信する。受信部３３２は受信したUSBoverIPnetwork形式でのデータをアンカプセリングして、ＵＳＢデータとし、入出力デバイス２０７〜２０９に送信する。
【００３７】
〈全体的な処理の流れ〉
図４を用いて、情報処理システム２００の全体的な処理の流れについて説明する。図４は、情報処理システム２００の全体的な処理の流れを示すシーケンス図である。まず、モバイルワイヤレスルータ２０１は、入力デバイスおよび出力デバイスとの接続を検出する（Ｓ４０１）。
【００３８】
入出力デバイス２０７〜２０９がモバイルワイヤレスルータ２０１のＵＳＢポートに接続されると、モバイルワイヤレスルータ２０１は、入出力デバイス２０７〜２０９にアドレスを割り当てた後、ディスクリプタを要求する。ディスクリプタを要求された入出力デバイス２０７〜２０９は、内部に事前に設定されたデバイスディスクリプタやコンフィグレーションディスクリプタを送信する。
【００３９】
モバイルワイヤレスルータ２０１は、入出力デバイス２０７〜２０９から、デバイス情報を取得する（Ｓ４０２、Ｓ４０３）と、取得したデバイス情報を、クラウドサーバ２１０に送る（Ｓ４０４）。通常のＵＳＢ接続の場合、通信装置は入出力デバイスから送信されたディスクリプタに基づいて、内蔵されているデバイスドライバを探して、デバイスドライバを駆動し、ＵＳＢ通信を実行させる。しかし、ここでは、モバイルワイヤレスルータ２０１は、デバイス情報が入出力デバイス２０７〜２０９から送信されてくると、イーサネット（登録商標）等のＩＰネットワークインタフェースを介して、クラウドサーバ２１０内の仮想ＰＣ３１０に送信する。
【００４０】
仮想ＰＣ３１０では、受信したデータからデバイスディスクリプタの情報を取出し、仮想ＰＣ３１０内にあらかじめインストールされたデバイスドライバを特定して駆動する。これにより、モバイルワイヤレスルータ２０１にデバイスドライバをインストールしなくても、入出力デバイス２０７〜２０９を接続するだけで、手軽に入出力デバイス２０７〜２０９を利用することができる。
【００４１】
また、クラウドサーバ２１０の仮想ＰＣ３１０は、受信したデバイス情報を用いて、モバイルワイヤレスルータ２０１に接続された入出力デバイス２０７〜２０９の組み合わせを検出する（Ｓ４０５）。
【００４２】
クラウドサーバ２１０は、さらに、検出した入出力デバイス２０７〜２０９の組み合わせに対応づけられた処理を決定する（Ｓ４０６）。ここでの処理には、データ形式の変換処理のほか、入出力デバイス２０７〜２０９の操作データを、入出力デバイス２０７〜２０９へのコマンドデータへ変換する処理が含まれる。
【００４３】
ステップＳ４０７では、クラウドサーバ２１０の仮想ＵＳＢインタフェース３１３が、処理後のデータをUSBoverIPnetwork形式のデータにカプセリングして、モバイルワイヤレスルータ２０１に送信する。また、入出力デバイス２０７〜２０９から取得したデータをアンカプセリングして処理（例えばサーバ２０１のストレージに記憶）する。ステップＳ４０８では、クラウドサーバ２０１から受信したデータをアンカプセリングして、入出力デバイス２０７〜２０９に送信する一方、入出力デバイス２０７〜２０９から取得したデータをカプセリングしてクラウドサーバ２０１に送信する。
【００４４】
〈デバイス情報の取得方法〉
図５Ａ、図５Ｂ、図５Ｃは、ステップＳ４０２、４０３で説明したディスクリプタのやりとりについてより詳しく説明する図である。これらの図は、仮想ＰＣ３１０とモバイルワイヤレスルータ２０１と入出力デバイス２０７〜２０９との間でやり取りされるパケットデータについて示している。
【００４５】
図５Ａは、入出力デバイスがうまく検出できない場合のシーケンスを示す。まず、モバイルワイヤレスルータ２０１と入出力デバイス２０７〜２０９とが接続されると、セットアップ・ステージ５０１において、トークン・パケットとデータ・パケットとを、モバイルワイヤレスルータ２０１から入出力デバイス２０７〜２０９に送信する。入出力デバイス２０７〜２０９は、これに応えてハンドシェイク・パケットをモバイルワイヤレスルータ２０１に送信する。適正なハンドシェイク・パケットが返ってくるか否かにより、自機で入出力デバイス２０７〜２０９を制御できるか判断する。
【００４６】
例えば、モバイルワイヤレスルータ２０１に接続されることがあらかじめ想定されているデバイスであれば、適正なハンドシェイク・パケットが返り、データ・ステージ、ステータス・ステージを続ける。それにより取得したデバイスディスクリプタに対応して、モバイルワイヤレスルータ２０１内に用意されたデバイスドライバを駆動することで、入出力デバイスを制御できる。しかし、モバイルワイヤレスルータ２０１が接続を想定されているデバイスは非常に数が少ない。セットアップ・ステージ５０１においてハンドシェイク・パケットが返ってこない場合、ここで、ＵＳＢ切断処理を行なう（５０７）。
【００４７】
次に仮想ＰＣ３１０は、モバイルワイヤレスルータ２０１を介して、入出力デバイス２０７〜２０９との間で、セットアップ・ステージ５０３を再度行ないデータ・ステージ５０４に進むことにより、デバイスディスクリプタといったデバイス情報を取得する。仮想ＰＣ３１０は、世の中に存在する様々な入出力デバイスとも接続可能となるように数多くのドライバおよびデータ変換モジュールをあらかじめ備えている。そのため、仮想ＰＣ３１０と入出力デバイス２０７〜２０９との間では、セットアップ・ステージ５０３、データ・ステージ５０４、ステータス・ステージ５０５と順調に進み、入出力デバイス２０７〜２０９と接続が適正に確立する。
【００４８】
図５Ｂは、モバイルワイヤレスルータ２０１が入出力デバイス２０７〜２０９から取得したデバイスディスクリプタに対応するドライバをモバイルワイヤレスルータ２０１が有していない場合のシーケンスを示す。この場合、モバイルワイヤレスルータ２０１と入出力デバイス２０７〜２０９との間でセットアップ・ステージ５１１、データ・ステージ５１２、ステータス・ステージ５１３を行なう。この３つのステージによって取得したデバイスディスクリプタに対応するデバイスドライバをモバイルワイヤレスルータ２０１が有していないと判断すると、ＵＳＢ切断処理５１４を行なう。
そして、モバイルワイヤレスルータ２０１は、仮想ＰＣ３１０に対して入出力デバイス２０７〜２０９との接続を要求する。モバイルワイヤレスルータ２０１と入出力デバイス２０７〜２０９との間のＵＳＢ接続を切断後、仮想ＰＣ３１０において、セットアップ・ステージ５１５、データ・ステージ５１６、ステータス・ステージ５１７を行なう。
また、図５Ｃに示すように、スマートフォン２１０とＵＳＢディスプレイ２４０との間のセットアップ・ステージ５２１とその後のデータ・ステージ５２２によってＵＳＢディスプレイ２４０から取得したデバイスディスクリプタとハンドシェイク・パケットとを、スマートフォン２１０の内部にキャッシュしておいてもよい（５２４）。
【００４９】
そしてその後、スマートフォン２１０とＵＳＢディスプレイ２４０との間の接続を一度切断した後に、仮想ＰＣ３３０ａ主導で、ＵＳＢディスプレイ２４０との接続確立処理を開始する（５２５）。この場合、セットアップ・ステージ７１５において、スマートフォン２１０は、セットアップ用のトークン・パケットおよびデータ・パケットをＵＳＢディスプレイ２４０に送らず、ハンドシェイク・パケットを生成し、送信する。また、データ・ステージ５２６では、スマートフォン２１０は、トークン・パケットとデータ・パケットとを仮想ＰＣ３３０ａから受信すると、それらをＵＳＢディスプレイ２４０に送らずに、キャッシュからデバイスディスクリプタを読出し、仮想ＰＣ３３０ａに送信する。すなわち、ＵＳＢディスプレイ２４０からデバイスディスクリプタを取得する処理を省略することが可能となるため、ＵＳＢディスプレイ２４０との通信切断後の再開を効率良く行なうことが可能となる。
【００５０】
（クラウドサーバのハードウェア構成）
クラウドサーバ２１０のハードウェア構成について、図６を用いて説明する。クラウドサーバ２１０は、ＣＰＵ６０１、ＲＯＭ６０２、通信制御部６０３、ＲＡＭ６０４、およびストレージ６０５を備えている。ＣＰＵ６０１は中央処理部であって、様々なプログラムを実行することによりクラウドサーバ２１０全体を制御する。ＲＯＭ６０２は、リードオンリメモリであり、ＣＰＵ６０１が最初に実行すべきブートプログラムの他、各種パラメータ等を記憶している。また、ＲＡＭ６０４は、ランダムアクセスメモリであり、各種データを一時記憶している。ここでは、入出力デバイス構成６４１と、入出力デバイス２０７〜２０９で行なわれた操作を示すコマンド６４２と、入出力デバイス２０７〜２０９がどのような状況にあるかを示すデバイス状況６４３と、入力データ６４４および処理済データ６４５を記憶する。
【００５１】
一方、ストレージ６０５は、仮想ＰＣ３１０で駆動すべきアプリケーションを決定するための対応アプリケーションデータベース６５１を保存している。この対応アプリケーションデータベース６５１の一例を図７に示す。図７に示すように、例えば、モバイルワイヤレスルータ２０１にデジタルカメラとモニタのみが接続された場合には、画像編集アプリケーションを仮想ＰＣ３１０で起動してその画面をモニタに表示する。一方、モバイルワイヤレスルータ２０１にデジタルカメラとモニタとキーボードとマウスとが接続された場合には、仮想ＰＣ３１０において、Ｗｅｂブラウザを起動し、ブログＵＲＬにアクセスした状態の画面をモニタに表示する。または、キーボードとモニタのみが接続された場合には、仮想ＰＣ３１０はテキスト編集アプリケーションを起動して、その編集用画面をモニタに表示する。これらの起動アプリケーションは、あらかじめ仮想ＰＣ３１０にデフォルト設定され、ユーザがその設定を変更可能に構成されている。また、ユーザの過去の仮想ＰＣ３１０の使用履歴を蓄積して、その過去の履歴から、入出力デバイス２０７〜２０９と起動すべきアプリケーションとの対応関係を更新してもよい。また、仮想ＰＣ３１０は、対応アプリケーションデータベース６５１を、通信装置ごとに用意してもよい。つまり、ユーザがモバイルワイヤレスルータを用いた場合と、スマートフォンを用いた場合とで、仮想ＰＣ３１０において起動するアプリケーションを代えてもよい。その場合は、クラウドサーバ２１０は、まずユーザの通信装置を特定してから、その通信装置に接続された入出力デバイスを特定し、それら全ての組み合わせに対応するアプリケーションを起動する。
【００５２】
図６に戻ると、ストレージ６０５は、さらに操作・動作対応データベース６５２を保存している。操作・動作対応データベース６５２の一例を図８に示す。図８に示すように、操作・動作対応データベース６５２は、モバイルワイヤレスルータ２０１に接続された入出力デバイスの種類とそれらに対する操作に応じて、どの入力デバイスまたは出力デバイスをどのように制御するかを決定する。
【００５３】
例えば、列８０１に示すように、汎用モニタと汎用プリンタと汎用スキャナが通信装置に接続された状態で、プリンタのプリントボタンが押下されると、スキャナで原稿を読み取り、プリントを行なうようにクラウドサーバ２１０が入出力デバイスを制御する。つまり、ユーザは、モバイルワイヤレスルータにプリンタとスキャナを接続して原稿をセットしてプリントボタンを押すだけで、何の設定も必要とせずにコピーを行なうことが可能となる。一方同じ状態でスキャナボタンが押下された場合には、スキャンした画像を汎用モニタに表示する。このとき、クラウドサーバ２１０の制御によって、汎用モニタに、「プリントする場合にはプリンタのプリントボタンを押してください」といった表示を行なってもよい。
【００５４】
列８０２は、図２に示したような、モニタ２０７とプリンタ２０８とデジタル顕微鏡２０９とが通信装置に接続された状況の場合について示している。この場合、デジタル顕微鏡２０９の電源がオンになると、モニタ２０７にその撮像画像を表示する。そして、その状態でプリンタのプリントボタンが押されると、表示された画像をプリントする。プリンタに小型モニタが設けられている場合には、一度目のスイッチでその小型モニタに表示し、２度目に印刷するなどといった制御でもよい。
【００５５】
一方、列８０３に示すように汎用キーボードと汎用モニタと汎用プリンタとの通信装置に対する接続を検知すると、仮想ＰＣ３１０がテキスト編集アプリケーションを自動的に起動する。そして、キーボードのキー押下を、モバイルワイヤレスルータ２０１を介して検出すると、そのキーに対応する文字の表示をモニタに対して行なう。さらにプリンタのプリントボタンが押されたことを検知すると、モニタに表示された画像をプリンタに出力する。
【００５６】
列８０４に示すように汎用デジタルカメラと汎用モニタと汎用プリンタとが通信装置に接続されたことを検知した場合には、仮想ＰＣ３１０において、画像編集アプリケーションを起動し、デジタルカメラに格納された画像をモニタに表示する。さらにプリンタのプリントボタンが押されたことを検知すると、モニタに表示された画像をプリンタに出力する。
【００５７】
列８０５に示すように汎用ＤＶＤプレーヤと汎用モニタとが通信装置に接続されたことを検知した場合には、仮想ＰＣ３１０において、ＤＶＤ再生アプリケーションを起動し、ＤＶＤ再生ボタンの押下を検出して、ＤＶＤを再生し、映像をモニタに表示する。ＰＣやルータや、タブレットなどに、ＤＶＤドライブとモニタとが接続されたと判断すると、クラウドサーバは、「それらの組合せが接続された場合には、ＤＶＤをモニタで見たいに違いない」と判断して、仮想ＰＣで映像再生処理を行なう。この時、データ変換が必要であれば変換を行なう。
【００５８】
列８０６に示すように、汎用ＩＣレコーダと汎用スピーカとが通信装置に接続されたことを検知した場合には、汎用ＩＣレコーダの再生ボタンが押下されたことを検知して、レコーダに記録された音声をスピーカに出力する。
【００５９】
このように、操作・動作対応データベース６５２は、通信装置に複数の入力デバイスと出力デバイスが接続された場合に出力デバイスに対して行なわれる操作と、その操作が行なわれた場合にデータを入力すべき入力デバイスとを対応づけて記憶する。データ受信部３１１は、操作・動作対応データベース６５２を参照して選択した入力デバイスからデータを入力する。
【００６０】
一方、操作・動作対応データベース６５２は、通信装置に入力デバイスと複数の出力デバイスが接続された場合に入力デバイスに対して行なわれる操作と、その操作が行なわれた場合にデータを出力すべき出力デバイスとを対応づけて記憶する。仮想ＵＳＢインタフェース３１３は、操作・動作対応データベース６５２を参照して選択された出力デバイスに向けて処理後のデータを送信する。
【００６１】
なお、ここでは、汎用デバイスの組み合わせについて説明したが、メーカや製造番号などを特定して、各種操作に対して特殊な動作を行なわせてもよい。
【００６２】
また、仮想ＰＣ３１０は、操作・動作対応データベース６５２を、通信装置ごとに用意してもよい。つまり、ユーザがモバイルワイヤレスルータを用いた場合と、スマートフォンを用いた場合とで、操作に対して仮想ＰＣ３１０が指示する動作を代えてもよい。その場合は、クラウドサーバ２１０は、まずユーザの通信装置を特定してから、その通信装置に接続された入出力デバイスを特定し、入出力デバイスに対して行なわれた操作を特定して、それら全ての組み合わせに対応する動作を入出力デバイスに指示する。
【００６３】
さらに、クラウドサーバ２１０で、集合知を用いて、操作・動作対応データベース６５２を更新してもよいし、ユーザごとに特殊な操作を行なう設定を可能としてもよい。
【００６４】
また、クラウドサーバ２１０は、入出力デバイスの組み合わせと、その間で行なうべきデータ処理方法とを対応づけて記憶してもよい。例えば、ＤＶＤプレーヤから入力したデータについて、モニタに応じてエンコード方法を変えてもよい。
【００６５】
図６に戻ると、ストレージ６０５は、入出力デバイスを制御するためのデバイスドライバ６５３と、テキスト編集アプリケーションなどといった各種アプリケーション６５４と、入出力デバイスにコマンドを送信するための動作指示プログラム６５５とを記憶する。
【００６６】
またさらに、ストレージ６０５は、エラー履歴データベース６５６を記憶してもよい。エラー履歴データベース６５６の一例を図９に示す。エラー履歴データベース６５６は、モバイルワイヤレスルータ２０１などの通信装置に接続される入出力デバイスの組み合わせごとに、発生しうる障害とその解決方法を記憶する。モニタがある場合には、そのモニタに、エラー状況と解決方法を表示する。その後のユーザの操作に応じて、解決方法を実行する。例えば、列９０１に示す状況であれば、Ａ社製デジカメの表示画面に「Ｂ社製のモニタに画像を表示するためにはデジタルカメラのファームウェアのバージョンアップが必要です。バージョンアップを実行しますか。」と表示させる。これに対してユーザがＯＫボタンを操作すれば、仮想ＰＣ３１０からデジタルカメラに最新のファームウェアがダウンロードされて、その更新が行なわれる。
【００６７】
図９のエラー履歴データベース６５６では、エラーの履歴のみを蓄積しているが、正常動作した入出力デバイスの組み合わせについて蓄積してもよい。そうすれば、問題発生時の原因を特定しやすくなる。
【００６８】
以上、本実施形態によれば、クラウドサーバで、入出力デバイスと操作と動作との対応テーブルを用意してそのテーブル通りに入出力デバイスを動作させる。これにより、ユーザはクラウドサーバや仮想ＰＣの存在を意識しなくても非常に簡単に入出力デバイスを操作できる。繋いでボタンを押したら思った通りの出力が得られる。
【００６９】
特に、処理能力が小さく、簡易で小型の通信端末を用いながらも、クラウドサーバ２１０の高い処理能力を利用して、各種の入出力デバイス２０７〜２０９を便利に使うことができる。
【００７０】
例えば、ネットワークビデオを購入しなくても、ＤＶＤメディアをＤＶＤドライブ装置にマウントし、モバイルワイヤレスルータ２０１に接続するだけで、クラウドサーバ２１０内の仮想ＰＣがＤＶＤを自動再生し、その表示用画像データをモニタ２０７に送る。ユーザはハブ２０３にＤＶＤプレーヤとモニタを接続してＤＶＤメディアを装填するだけで、簡単にＤＶＤを鑑賞できる。
【００７１】
また例えば、学校において、モバイルワイヤレスルータ２０１にモニタ２０７とデジタル顕微鏡２０９を接続して、デジタル顕微鏡２０９の撮像ボタンを操作するだけで、顕微鏡の画像を生徒に簡単に見せて授業を行なうことができる。
【００７２】
［他の実施形態］
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
【００７３】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるＷＷＷ(World Wide Web)サーバも、本発明の範疇に含まれる。
【図１】
2013200694.tif 000003
【図２】
2013200694.tif 000004
【図３Ａ】
2013200694.tif 000005
【図３Ｂ】
2013200694.tif 000006
【図４】
2013200694.tif 000007
【図５Ａ】
2013200694.tif 000008
【図５Ｂ】
2013200694.tif 000009
【図６】
2013200694.tif 000010
【図７】
2013200694.tif 000011
【図８】
2013200694.tif 000012
【図９】
2013200694.tif 000013