特許第5970897号(P5970897)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許5970897情報処理システム、情報処理方法、および携帯端末、サーバ、それらの制御方法ならびに制御プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5970897
(24)【登録日】2016年7月22日
(45)【発行日】2016年8月17日
(54)【発明の名称】情報処理システム、情報処理方法、および携帯端末、サーバ、それらの制御方法ならびに制御プログラム
(51)【国際特許分類】
   H04M 11/00 20060101AFI20160804BHJP
   H04M 1/00 20060101ALI20160804BHJP
   G06F 13/00 20060101ALI20160804BHJP
【FI】
   H04M11/00 302
   H04M1/00 V
   G06F13/00 354A
【請求項の数】15
【全頁数】24
(21)【出願番号】特願2012-68515(P2012-68515)
(22)【出願日】2012年3月24日
(65)【公開番号】特開2013-201591(P2013-201591A)
(43)【公開日】2013年10月3日
【審査請求日】2015年2月9日
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100134430
【弁理士】
【氏名又は名称】加藤 卓士
(72)【発明者】
【氏名】小林 佳和
【審査官】 宮田 繁仁
(56)【参考文献】
【文献】 特開2008−065774(JP,A)
【文献】 特開2007−102308(JP,A)
【文献】 特開平06−021944(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04M1/00、1/24−3/00、3/16−3/20、
3/38−3/58、7/00−7/16、
11/00−11/10、99/00
G06F13/00
(57)【特許請求の範囲】
【請求項1】
通信インタフェースを介して入力デバイスが接続された場合に、自機が該入力デバイスを制御できるか否かを判定する判定手段と、
前記判定手段により、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求手段と、
前記入力デバイスと前記サーバ間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御手段と、
を備えた携帯端末と、
前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御するサーバと、
を備えたことを特徴とする情報処理システム。
【請求項2】
前記判定手段は、さらに、前記入力デバイスの提供するデータを自機で処理できるか否かを判定し、
前記要求手段は、前記判定手段が、前記入力デバイスの提供するデータを自機で処理できないと判定した場合に、さらに、前記サーバに対して前記入力デバイスの提供するデータの処理をリクエストし、
前記信号転送制御手段は、さらに、前記入力デバイスの提供するデータを前記サーバが処理できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスから前記サーバへのデータ転送を制御し、
前記サーバは、前記要求手段からのリクエストに応答して、前記入力デバイスと前記サーバとの間に確立された通信により前記入力デバイスの提供するデータを取得して処理することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記サーバは、
前記入力デバイスの提供するデータを取得するデータ取得手段と、
前記データ取得手段で取得したデータを前記携帯端末で処理可能なデータに変換する変換手段と、
前記変換手段で変換された前記携帯端末で処理可能なデータを、前記無線通信ネットワークを介して前記携帯端末に送信する送信手段と、
を備え、
前記携帯端末は、
前記携帯端末で処理可能なデータを受信する受信手段をさらに備えたことを特徴とする請求項1または2に記載の情報処理システム。
【請求項4】
前記サーバは、
前記入力デバイスの種類と、前記入力デバイスから入力したデータの出力先を問い合わせる問い合わせメッセージとの対応関係を記憶するメッセージテーブルをさらに備え、
前記携帯端末に接続された前記入力デバイスに対応する前記問い合わせメッセージを前記テーブルから読み出して、前記携帯端末に表示させることを特徴とする請求項1、2または3に記載の情報処理システム。
【請求項5】
前記サーバは、
前記入力デバイスの種類と、前記入力デバイスから取得したデータに対して施すことのできる処理の候補との対応関係を記憶する処理候補テーブルをさらに備え、
前記携帯端末に接続された前記入力デバイスに対応する処理の候補を前記処理候補テーブルから読み出して、前記携帯端末に選択可能に表示させることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。
【請求項6】
通信インタフェースを介して入力デバイスが接続された場合に、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
前記判定ステップにより、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求ステップと、
前記要求ステップのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御ステップと、
前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御ステップと、
を含むことを特徴とする情報処理方法。
【請求項7】
通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定手段と、
前記判定手段により、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求手段と、
前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御手段と、
を備えたことを特徴とする携帯端末
【請求項8】
前記判定手段は、さらに、前記入力デバイスの提供するデータを自機で処理できるか否かを判定し、
前記要求手段は、前記判定手段が、前記入力デバイスの提供するデータを自機で処理できないと判定した場合に、さらに、前記サーバに対して前記入力デバイスの提供するデータの処理をリクエストし、
前記信号転送制御手段は、さらに、前記入力デバイスの提供するデータを前記サーバが処理できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスから前記サーバへのデータ転送を制御することを特徴とする請求項7に記載の携帯端末
【請求項9】
前記入力デバイスの提供するデータを取得して、前記携帯端末で処理可能なデータに変換する変換手段と、
前記変換手段で変換された前記携帯端末で処理可能なデータを、前記無線通信ネットワークを介して前記携帯端末に送信する送信手段と、
を備えた前記サーバから前記携帯端末で処理可能なデータを、無線通信ネットワークを介して受信する受信手段を備えることを特徴とする請求項7または8に記載の携帯端末
【請求項10】
通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
前記判定ステップにより、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求ステップと、
前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御ステップと、
を含むことを特徴とする携帯端末の制御方法。
【請求項11】
通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
前記判定ステップにより、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求ステップと、
前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御ステップと、
をコンピュータに実行させることを特徴とする携帯端末の制御プログラム。
【請求項12】
請求項1乃至5のいずれか1項に記載の情報処理システムに含まれるサーバであって、前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御手段を備えたことを特徴とするサーバ。
【請求項13】
前記要求手段からのリクエストに応答して、前記入力デバイスと前記サーバとの間に確立された通信により前記入力デバイスの提供するデータを取得して処理する処理手段
をさらに備えたことを特徴とする請求項12に記載のサーバ。
【請求項14】
請求項1乃至5のいずれか1項に記載の情報処理システムに含まれるサーバの制御方法であって、
前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御することを特徴とするサーバの制御方法。
【請求項15】
請求項1乃至5のいずれか1項に記載の情報処理システムに含まれるサーバの制御プログラムであって、前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御ステップ
をコンピュータに実行させることを特徴とするサーバの制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理方法、および携帯端末、サーバ、それらの制御方法ならびに制御プログラムに関する。
【背景技術】
【0002】
上記技術分野において、特許文献1には、複数の周辺機器(例えば、ディスプレイ、マウス、キーボード、プリンタ等)を集約して接続するリモートデスクトップシステムが開示されている。また、無線LAN(Local Area Network)もしくは移動体通信網を介してリモートサーバに接続可能な携帯通信端末(例えば、スマートフォン等)も開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−102308号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記文献に記載の技術では、携帯電話機自体に入力デバイスを接続することは開示されておらず、さらに、サーバが携帯電話機を介してその入力デバイスを制御する技術についても触れられていない。すなわち、携帯電話機を入力デバイスに接続するだけでは、様々な入力デバイスからデータを取得することができなかった。
【0005】
本発明の目的は、上述の課題を解決する技術を提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係るシステムは、
通信インタフェースを介して入力デバイスが接続された場合に、自機が該入力デバイスを制御できるか否かを判定する判定手段と、
前記判定手段により、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求手段と、
前記入力デバイスと前記サーバ間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御手段と、
を備えた携帯端末と、
前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御するサーバと、
を備えたことを特徴とする。
【0007】
上記目的を達成するため、本発明に係る方法は、
通信インタフェースを介して入力デバイスが接続された場合に、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
前記判定ステップにより、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求ステップと、
前記要求ステップのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御ステップと、
前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御ステップと、
を備えたことを特徴とする。
【0008】
上記目的を達成するため本発明に係る携帯端末は、
通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定手段と、
前記判定手段により、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求手段と、
前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御手段と、
を備えたことを特徴とする。
【0009】
上記目的を達成するため、本発明に係る携帯端末の制御方法は、
通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
前記判定ステップにより、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求ステップと、
前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御ステップと、
を含むことを特徴とする。
【0010】
上記目的を達成するため、本発明に係る携帯端末の制御プログラムは、
通信インタフェースを介して入力デバイスが接続された場合に、該入力デバイスを認識し、自機が該入力デバイスを制御できるか否かを判定する判定ステップと、
前記判定ステップにより、自機が前記入力デバイスを制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバに対して、前記入力デバイスの制御をリクエストする要求ステップと、
前記入力デバイスと前記サーバとの間の通信が確立して前記入力デバイスを前記サーバが制御できるように、前記通信インタフェースおよび前記無線通信ネットワークを介する前記入力デバイスと前記サーバとの間の信号転送を制御する信号転送制御ステップと、
をコンピュータに実行させることを特徴とする。
【0011】
上記目的を達成するため、本発明に係るサーバは、
上記情報処理システムに含まれるサーバであって、前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御手段を備えたことを特徴とする。
【0012】
上記目的を達成するため、本発明に係るサーバの制御方法は、
上記情報処理システムに含まれるサーバの制御方法であって、前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御ステップを含むことを特徴とする。
【0013】
上記目的を達成するため、本発明に係るサーバの制御プログラムは、
上記情報処理システムに含まれるサーバの制御プログラムであって、前記要求手段からのリクエストに応答して、前記入力デバイスとの間に確立された通信により前記入力デバイスを制御する制御ステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、携帯端末に接続された様々な入力デバイスからデータを取得することができる。
【図面の簡単な説明】
【0015】
図1】本発明の第1実施形態に係る情報処理システムの構成を示すブロック図である。
図2】本発明の第2実施形態に係る情報処理システムの構成概要を示す図である。
図3】本発明の第2実施形態に係る情報処理システムの構成を示すブロック図である。
図4】本発明の第2実施形態に係る情報処理システム全体の処理の流れを示すシーケンス図である。
図5A】本発明の第2実施形態におけるスマートフォンの手続きの流れを示すフローチャートである。
図5B】本発明の第2実施形態におけるスマートフォンの手続きの流れを示すフローチャートである。
図6】本発明の第2実施形態におけるスマートフォンに表示されるメッセージを示す図である。
図7A】本発明の第2実施形態に係る情報処理システムでのパケット送受信処理の一例を示す図である。
図7B】本発明の第2実施形態に係る情報処理システムでのパケット送受信処理の他の例を示す図である。
図7C】本発明の第2実施形態に係る情報処理システムでのパケット送受信処理のさらに他の例を示す図である。
図7D】本発明の第2実施形態に係る情報処理システムで用いられるテーブルの構成を示す図である。
図7E】本発明の第2実施形態に係る情報処理システムで用いられるテーブルの構成を示す図である。
図7F】本発明の第2実施形態に係る情報処理システムで用いられるテーブルの構成を示す図である。
図7G】本発明の第2実施形態に係る情報処理システムの変形例を示す図である。
図7H】本発明の第2実施形態に係る情報処理システムの他の変形例を示す図である。
図8A】本発明の第2実施形態に係る情報処理システムでのサーバとデバイス間での通信確立処理の一例を示す図である。
図8B】本発明の第2実施形態に係る情報処理システムでのサーバとデバイス間での通信確立処理の一例を示す図である。
図8C】本発明の第2実施形態に係る情報処理システムでのサーバとデバイス間での通信確立処理の一例を示す図である。
図8D】本発明の第2実施形態に係る情報処理システムでのサーバとデバイス間での通信確立処理の一例を示す図である。
図9】本発明の第2実施形態におけるサーバのハードウェア構成を示す図である。
【発明を実施するための形態】
【0016】
以下に、本発明を実施するための形態について、図面を参照して、例示的に詳しく説明記載する。ただし、以下の実施の形態に記載されている、構成、数値、処理の流れ、機能要素などは一例に過ぎず、その変形や変更は自由であって、本発明の技術範囲を以下の記載に限定する趣旨のものではない。
【0017】
[第1実施形態]
本発明の第1実施形態としての情報処理システム100について、図1を用いて説明する。情報処理システム100は、携帯電話機に接続された入力デバイスが提供するデータを、サーバを介して変換し、携帯電話機で出力可能にするものである。
【0018】
図1に示すように、情報処理システム100は、携帯電話機110と、サーバ130と、入力デバイス140とを含む。携帯電話機110は、判定部111と、要求部112と、信号転転送制御部113とを備える。
【0019】
携帯電話機110の判定部111は、通信インタフェース150を介して入力デバイス140が接続された場合に、自機110が入力デバイス140を制御できるか否かを判定する。要求部112は、判定部111により、自機110が入力デバイス140を制御できないと判定された場合に、無線通信ネットワークを介して接続されたサーバ130に対して、入力デバイス140の制御をリクエストする。信号転送制御部113は、入力デバイス140とサーバ130間の通信が確立して入力デバイス140をサーバ130が制御できるように、通信インタフェース150および無線通信ネットワークを介する入力デバイス140とサーバ130間の信号転送を制御する。
【0020】
サーバ130は、要求部112からのリクエストに応答して、入力デバイス140との間に確立された通信により入力デバイス140を制御する。
【0021】
以上の構成および動作により、本実施形態に係る情報処理システムによれば、サーバは携帯電話機に接続された入力デバイスを制御して、入力デバイスに記憶されたコンテンツデータを取得することができる。これにより、携帯電話機に接続された様々な入力デバイスからデータを取得することができる。
【0022】
[第2実施形態]
次に本発明の第2実施形態に係る情報処理システム200について、図2を用いて説明する。図2は、本実施形態に係る情報処理システム200の概要を説明するための図である。情報処理システム200は、スマートフォンなどの携帯電話機210と、クラウドサーバ230とをネットワーク250を介して通信可能に接続されている。また、スマートフォン210は、DVDプレーヤ240に接続されている。
【0023】
スマートフォン210は、DVDプレーヤ240と、USB(Universal Serial Bus)などの通信インタフェースを介して接続されている。スマートフォン210は、DVDプレーヤ240に接続されると、まず、デバイスを識別できるか否か判定し、識別できた場合、自機でデータ取得できるファイルシステムか判定し、さらに、取得したデータが自機で処理できるデータ形式か否か判定する。判定した結果、自機で処理できない場合には、スマートフォン210はクラウドサーバ230にネットワーク250を介して接続し、DVDプレーヤ240の制御をリクエストする。そして、スマートフォン210は、クラウドサーバ230とDVDプレーヤ240との通信を制御するために信号転送を制御する。
【0024】
クラウドサーバ230は、DVDプレーヤ240の制御をスマートフォン210からリクエストされると、スマートフォン210によりDVDプレーヤ240との間に確立された通信によりDVDプレーヤ240を制御する。
【0025】
(情報処理システムの構成)
次に、情報処理システム200の内部構成について、図3を用いて説明する。図3は、本実施形態に係る情報処理システム200の構成を示すブロック図である。
【0026】
スマートフォン210は、接続検知部311と、デバイス判定部312と、ファイルシステム判定部313と、データ形式判定部314と、ユーザ問合せ部315と、無線通信部316とを備える。また、スマートフォン210は、USBインタフェース319と、コンテンツ記憶部320と、表示部321とを備える。そして、無線通信部316は、送信部317と、受信部318とを備える。
【0027】
一方、クラウドサーバ230は、仮想PC330a〜330cを有する。そして、仮想PC330aは、データ受信部331と、データ変換部332と、仮想USBインタフェース333と、データ送信部334とを備える。さらに、DVDプレーヤ240は、DVD(Digital Video Disc)341を着脱可能であり、USBインタフェース342を備えている。
【0028】
スマートフォン210の接続検知部311は、通信インタフェースとしてのUSBインタフェース319を介して何らかのデバイスと接続されたことを検知する。デバイス判定部312は、USBインタフェース319を介して接続されたデバイスがDVDプレーヤ240であることを認識すると、自機で制御できるか否か判定する。すなわち、デバイス判定部312は、接続を検知したデバイスの種類、DVDプレーヤ240の製造元、DVDプレーヤ240の製品タイプなどを検知してDVDプレーヤ240を制御するドライバを有しているか否か判定する。
【0029】
ファイルシステム判定部313は、DVD341に記憶されたデータのファイルシステムを確認し、スマートフォン210からDVD341にアクセスできるか否か判定する。例えば、DVD用のファイルシステムとしてUniversal Disk Format (ユニバーサルディスクフォーマット、UDF)が知られている。
【0030】
データ形式判定部314は、DVDプレーヤ240に記憶されたデータのデータ形式が、自機のアプリケーションで対応できるものか判定する。
【0031】
ユーザ問合せ部315は、ドライバを有していない場合、DVD341のファイルシステムに対応できない場合、あるいは、データ形式に対応していない場合に、ユーザに対して、クラウドサーバ230へのアクセスを行なうか否か問い合わせる。特に、ユーザ問合せ部315は、データ形式を判定した結果、自機で処理できないデータ形式である場合には、クラウドサーバ230にデータの処理をリクエストするか否かユーザに対して問い合わせる。送信部317は、ユーザにより選択されたリクエスト結果をクラウドサーバ230の仮想PC330aに送信する。
【0032】
受信部318は、仮想USBインタフェース333から受信したIP(Internet Protocol)のパケットをアンカプセリングしてUSBのデータに変換する。そして、USBインタフェース319を介してDVDプレーヤ240のUSBインタフェース342にデータを送信する。一方、DVDプレーヤ240は、スマートフォン210を介して受け取った仮想PC330aからのコマンドに応答してUSBインタフェース342を介して、USBインタフェース319にデータ(例えばコンテンツデータ)を送る。
【0033】
送信部317は、USBインタフェース319を介してDVD341からのデータを受け取り、IP形式のデータにカプセリングして、データ受信部331に転送する。
【0034】
コンテンツ記憶部320は、仮想PC330aから送信された変換済みのデータを記憶し、表示部321は、変換済のデータを表示するディスプレイである。
【0035】
クラウドサーバ230の仮想PC330aは、データ受信部331においてスマートフォン210のリクエストを受信する。データ変換部332は、DVDプレーヤ240から取得したデータをスマートフォン210からのリクエストに基づいて、スマートフォン210で処理可能(表示可能)なデータ形式に変換する。仮想USBインタフェース333は、DVDプレーヤ240との間で通信を確立し、スマートフォン210からのリクエストに基づいて記憶部341に記憶されているデータを読み出して取得する。そして、データ送信部334は、変換済みのデータをスマートフォン210に送信する。
【0036】
DVDプレーヤ240はUSBインタフェース342を介して、スマートフォン210のUSBインタフェース319と接続を行なう。
【0037】
(情報処理システム200全体の処理の流れ)
次に、情報処理システム200全体の処理の流れについて、図4に示すシーケンス図を用いて説明する。
【0038】
ステップS401において、入力デバイスをスマートフォン210に接続すると、ステップS403において、スマートフォン210の接続検知部311は、USBインタフェースを介してデバイス(ここではDVDプレーヤ240)が接続されたことを検知する。ステップS409において、スマートフォン210は、DVDプレーヤ240を自機で制御可能か否か判定する(S409a)。DVDプレーヤ240を自機で制御可能と判定すると、さらに、スマートフォン210は、ファイルシステムを確認し、DVD241のデータを自機で取得可能か否か判定する(S409b)。さらに、スマートフォン210は、DVDプレーヤ240に記憶されたコンテンツデータを自機で表示再生可能か否か判定する(S409c)。
【0039】
ステップS410では、入力デバイスから取得したデータをどこにどのように出力するかを、ユーザに確認する。例えば「DVD内のコンテンツを認識できました。どこに出力しますか。」といった表示をスマートフォン210の表示部321に対して行なう。また例えば「スマートフォン」「外部ディスプレイ」「メール添付」「動画サイトにアップロード」などといった選択肢を表示してもよい。
【0040】
ステップS409のいずれかの判定で、「不可」の判断をした場合、または、ステップS409で「可」の判定であっても、ステップS410でクラウドサーバ経由の出力が選択された場合、ステップS411において、スマートフォン210は、クラウドサーバ230にログインする。このとき、図6に示すように、スマートフォン210のユーザに確認をとる。ステップS413において、送信部317は、クラウドサーバ230に対して、DVDプレーヤ240からのデータ取得をリクエストする。
【0041】
さらに、ステップS415において、クラウドサーバ230の仮想USBインタフェース333は、DVDプレーヤ240との通信確立用のデータを生成する。データ送信部334は、通信確立用データをカプセリングし、スマートフォン210に送信する(S417)。ステップS419において、スマートフォン210は、クラウドサーバ230から受信した通信確立用データをアンカプセリングする。ステップS421において、USBインタフェース319は、アンカプセリングされた通信確立用データをDVDプレーヤ240に送信する。ステップS423において、スマートフォン210とクラウドサーバ230と、DVDプレーヤ240との間の通信が確立する。
【0042】
クラウドサーバ230との通信が確立すると、ステップS425において、クラウドサーバ230は、DVDプレーヤ240を駆動して、DVD341に記憶されたデータを読み出してスマートフォン210に送信させる。ステップS427において、スマートフォン210は、DVDプレーヤ240から送信されたデータをクラウドサーバ230に送信するために中継する。ステップS429において、クラウドサーバ230のデータ受信部331は、スマートフォン210で中継されたデータを受信する。クラウドサーバ230は、受信したデータを記憶または送信する。ステップS431において、データ送信部334は、受け取ったデータを必要に応じて変換してスマートフォン210に送信する。ステップS433において、スマートフォン210は、受け取った変換済みデータを出力(表示、再生)する。
【0043】
(スマートフォンでの処理の流れ)
図5Aを用いて、スマートフォン210におけるより詳しい処理の流れを説明する。ステップS501において、接続検知部311はデバイスの接続を検知すると、ステップS503に進む。ステップS503において、デバイス判定部312は接続されたデバイスを認識しようとする。デバイスを認識できない場合には、ステップS527に進み、クラウドサーバ230に処理をリクエストするか否かについて、ユーザに確認する表示を行なう。接続デバイスを認識できた場合には、ステップS505に進み、USBインタフェース319は、デバイスディスクリプタを確認する。ステップS509において、USBインタフェース319は、接続されたデバイスを制御するためのドライバを自機に有するか否か確認し、有しなければステップS527に進む。有する場合には、ステップS511に進み、ファイルシステム判定部313は、デバイスのファイルシステムを確認し、自機で対応可能なファイルシステムであれば、ステップS513に進む。一方、自機で対応不可能なファイルシステムであれば、ステップS527に進む。
【0044】
ステップS515において、データ形式判定部314は、DVDプレーヤ240のDVD241に記憶されたデータのデータ形式を判定する。ステップS517において、スマートフォン210は、そのデータ形式のデータを処理できるアプリケーションを保有しているか確認する。保有していない場合には、ステップS535に進む。一方、保有している場合には、ステップS519に進み、処理メニューを表示する。例えば、「スマートフォンに表示」「外部ディスプレイに表示」「メール添付」「動画サイトにアップロード」「データベースに記憶」などといった選択肢を表示する。
【0045】
ステップS519において、ユーザから、自機でデータ処理を行なう旨の指示を受け付けるとステップS523に進み、DVDプレーヤ240からデータを取得する。ステップS525において、表示部321は、取得したデータを表示する(出力する)。
【0046】
一方、ステップS527において、スマートフォン210は、サーバにデータの処理をリクエストするか否かを確かめるべく、ユーザに対する確認メッセージを表示する。ステップS529において、クラウドサーバ230にリクエストをしない場合には、処理を終了する。一方、クラウドサーバ230にリクエストをする場合には、ステップS531に進んでログイン処理を行ない、リクエストを要求する。ステップS533に進み、クラウドサーバ230からデータ形式通知があれば、ステップS517に進む。一方、クラウドサーバ230からデータ形式の通知がなければ、ステップS533において通知の有無を確認する作業を繰り返す。
【0047】
一方、データ処理用アプリケーションがない場合には、ステップS535において、スマートフォン210は、クラウドサーバ230にデータ処理をリクエストするか否かを確かめるべく、ユーザに対する確認メッセージを表示する。ステップS537において、クラウドサーバ230にデータ処理をリクエストしない場合には終了する。一方、クラウドサーバ230にデータ処理をリクエストする場合には、ステップS539に進んでログイン処理を行ない、送信部317は、クラウドサーバ230に対してデータ処理のリクエストを送信する。このとき、同時にクラウドサーバ230に対して、スマートフォン210が処理(再生、表示)できるデータ形式を通知する。
【0048】
クラウドサーバ230にデータ処理をリクエストした後、ステップS519に進んで、処理メニューを表示する。ここでの処理メニューで、クラウドサーバ230からのメール送信や、ウェブサイトへのアップロードが指示された場合、スマートフォン210からクラウドサーバ230に対して、そのようなリクエストが送られる。一方、ユーザから自機で再生したい旨の指示があると、ステップS523において、クラウドサーバ230から、スマートフォン210で表示可能なように変換されたコンテンツデータを取得する。そしてその場合、ステップS525においてスマートフォン210の表示部321にDVDの再生画像を表示する。
【0049】
(クラウドサーバ230での処理の流れ)
図5Bを用いて、情報処理システム200におけるクラウドサーバ230の処理の流れを説明する。ステップS551において、クラウドサーバ230の仮想PC330aは、スマートフォン210からのログインを検知すると、登録したユーザであるか否か確認する。登録したユーザでなければ、処理を終了する。登録したユーザであれば、ステップS553において、仮想PC330aは、スマートフォン210からの通信確立リクエストを続いて受信する。ステップS557において、仮想PC330aは、USBプロトコルで生成した通信確立用データ(USBパケット)をIPプロトコルでカプセリングする。
【0050】
ステップS557において、仮想PC330aは、カプセリングした通信確立用データをDVDプレーヤ240に送信する。これによりステップS559において、仮想PC330aはDVDプレーヤ240との間で通信を確立する。次に、テップS561において、仮想PC330aは、DVDプレーヤ240からデータを取得する。ステップS563において、仮想PC330aは、取得したデータを不図示のメモリに記憶する。ステップS565において、データ受信部331は、ユーザからの指示を取得する。ステップS567において、仮想PC330aは、データを記憶することを要求するリクエストか否か確認し、記憶する必要があれば、ステップS569に進み、サーバ230に用意されたストレージ(不図示)に記憶する。
【0051】
一方、記憶する必要がなければステップS571に進み、データ送信部334は、他のデバイスにデータを送信する必要があるか否か確認する。送信する必要があれば、ステップS573に進み指定されたアドレスに送信する。他のデバイスに送信する必要がなければ、ステップS575に進み、スマートフォン210で再生表示するか否か確認し、スマートフォン210にも送信する必要がなければ処理を終了する。スマートフォン210に送信する必要があれば、ステップS577に進み、データ変換部332はスマートフォン210において処理可能なデータ形式に変換した後、データ送信部334はデータを送信する。
【0052】
(スマートフォンの表示)
図6は、スマートフォン210に表示されるメッセージを示す図である。スマートフォン210の表示部321は、ユーザに対して、何らかのデバイスがUSBインタフェース319に接続されたことを確認した旨のメッセージ601を表示する。また、併せて、このデバイスが入力デバイスなのか出力デバイスなのかを確認することができないため、クラウドサーバ230に接続してデバイスの制御をリクエストするか否かのメッセージ601を表示する。このメッセージ601により、スマートフォン210は、メッセージを表示する(YES)か否(NO)かをユーザに選択させる。
【0053】
〈デバイス情報の取得方法〉
図7A図7B図7Cは、ステップS409、S503で説明したディスクリプタのやりとりについてより詳しく説明する図である。これらの図は、仮想PC330aとスマートフォン210とDVDプレーヤ240との間でやり取りされるパケットデータについて示している。
【0054】
図7Aは、入出力デバイスがうまく検出できない場合のシーケンスを示す。まず、スマートフォン210とDVDプレーヤ240とが接続されると、セットアップ・ステージS701において、トークン・パケットとデータ・パケットとを、スマートフォン210からDVDプレーヤ240に送信する。DVDプレーヤ240は、これに応えてハンドシェイク・パケットをスマートフォン210に送信する。適正なハンドシェイク・パケットが返ってくるか否かにより、自機でDVDプレーヤ240を制御できるか判断する。
【0055】
例えば、スマートフォン210に接続されることがあらかじめ想定されているデバイスであれば、適正なハンドシェイク・パケットが返り、データ・ステージ、ステータス・ステージを続ける。それにより取得したデバイスディスクリプタに対応して、スマートフォン210内に用意されたデバイスドライバを駆動することで、入出力デバイスを制御できる。しかし、スマートフォン210が接続を想定されているデバイスは非常に数が少ない。セットアップ・ステージS701においてハンドシェイク・パケットが返ってこない場合、ここで、USB切断処理を行ない(S702)、スマートフォン210は仮想PC330aに対してデータ取得のリクエストを行なう(S413)。
【0056】
次に仮想PC330aは、スマートフォン210を介して、DVDプレーヤ240との間で、セットアップ・ステージS703を再度行ない、データ・ステージS704に進むことにより、デバイスディスクリプタといったデバイス情報を取得する。仮想PC330aは、世の中に存在する様々な入出力デバイスとも接続可能となるように数多くのドライバおよびデータ変換モジュールをあらかじめ備えている。そのため、仮想PC330aとDVDプレーヤ240との間では、セットアップ・ステージS703、データ・ステージS704、ステータス・ステージS705と順調に進み、DVDプレーヤ240と接続が適正に確立する。
【0057】
図7Bは、スマートフォン210がDVDプレーヤ240から取得したデバイスディスクリプタに対応するドライバをスマートフォン210が有していない場合のシーケンスを示す。この場合、スマートフォン210とDVDプレーヤ240との間でセットアップ・ステージS711、データ・ステージS712、ステータス・ステージS713を行なう。この3つのステージによって取得したデバイスディスクリプタに対応するデバイスドライバをスマートフォン210が有していないと判断すると、USB切断処理S714を行ない、スマートフォン210は仮想PC330aに対してデータ取得のリクエストを行なう(S413)。
【0058】
そして、スマートフォン210は、仮想PC330aに対してDVDプレーヤ240との接続を要求する。スマートフォン210とDVDプレーヤ240との間のUSB接続を切断後、仮想PC330aにおいて、再度、セットアップ・ステージS715、データ・ステージS716、ステータス・ステージS717を行なう。これにより仮想PC330aは、DVDプレーヤ240から直接デバイスディスクリプタを取得して、デバイスにあったドライバを駆動できる。
【0059】
また、図7Cに示すように、スマートフォン210とDVDプレーヤ240との間のセットアップ・ステージS721およびデータ・ステージS722においてDVDプレーヤ240から取得したデバイスディスクリプタを、スマートフォン210の内部にキャッシュしてUSB切断処理を行ない(S724)、スマートフォン210は仮想PC330aに対してデータ取得のリクエストを行なう(S413)。
【0060】
そして、スマートフォン210とDVDプレーヤ240との間の接続を一度切断した後に、仮想PC330a主導で、DVDプレーヤ240との接続確立処理を開始する(S725〜S727)。この場合、セットアップ・ステージS725において、スマートフォン210は、セットアップ用のトークン・パケットおよびデータ・パケットをDVDプレーヤ240に送らず、ハンドシェイク・パケットを生成し、仮想PC330aに送信する。また、データ・ステージS726では、スマートフォン210は、トークン・パケットとデータ・パケットとを仮想PC330aから受信すると、それらをDVDプレーヤ240に送らずに、キャッシュからデバイスディスクリプタを読出し、仮想PC330aに送信する。すなわち、DVDプレーヤ240からデバイスディスクリプタを取得する処理を省略することが可能となるため、DVDプレーヤ240との通信切断後の再開を効率良く行なうことが可能となる。
【0061】
(入力デバイス特定テーブル)
図7Dに示すように、スマートフォン210は、デバイスドライバを有するデバイスディスクリプタと、インタフェースディスクリプタと、ベンダIDと、プロダクトIDとの対応関係を示すテーブル730を記憶する。
【0062】
スマートフォン210は、DVDプレーヤ240が接続された際にDVDプレーヤ240から通知されたデバイスディスクリプタと、テーブル730のデバイスディスクリプタとを比較する。DVDプレーヤ240から通知されたデバイスディスクリプタがテーブル730上のデバイスディスクリプタと一致する場合には、スマートフォン210は、DVDプレーヤ240が自機で処理可能な入力デバイスであると判定する。一方、デバイスディスクリプタが一致しない場合には、スマートフォン210は、自機で処理不可能な入力デバイスであると判定する。
【0063】
なお、DVDプレーヤ240から通知されたデバイスディスクリプタ内のベンダIDとプロダクトIDとを抽出し、テーブル730内のベンダIDおよびプロダクトIDと比較してもよい。その場合、テーブル730内に一致するベンダIDおよびプロダクトID7存在する場合には、自機で処理可能な出力デバイスであると判定できる。逆に、ベンダIDおよびプロダクトIDが一致しない場合には、スマートフォン210は、自機で処理不可能なDVDプレーヤ240であると判定できる。
【0064】
(問い合わせ内容テーブル)
図7Eに示すように、クラウドサーバ230は、スマートフォン210のユーザに対して、入力デバイスごとに様々な問い合わせを行なうための問い合わせメッセージとの対応関係を示すテーブル740を有している。そして、データ送信部334は、スマートフォン210に接続された入力デバイスに対応する問い合わせメッセージをテーブル740から読み出して、スマートフォン210の表示部321に表示させる。例えば、DVDプレーヤ240が接続された場合は、スマートフォン210の画面で再生するか否か問い合わせる。スキャナが接続された場合には、読み取った画像を仮想PCに記憶するか否か問合わせる。また、デジタルカメラが接続された場合には、ブログにアップロードするか、インターネット上のフォトアルバムに記憶するか、プリント業者に写真のプリントを依頼するか問合わせる。さらに、センサが接続された場合には、センサ結果をどこに送信するかについて候補を表示して選択を促す。
【0065】
さらに、図7Fに示すように、問い合わせ内容のみならず、クラウドサーバ230において行なう処理候補を各種の入力デバイスに関連付けて処理候補テーブル750として保存している。それぞれの処理候補ごとに、具体的な処理内容、データ変換方法、データサイズなども関連づけて保存している。スマートフォン210に接続された入力デバイスに対応する処理の候補を処理候補テーブル750から読み出して、スマートフォン210に選択可能に表示させる。これら図7E、7Fに示したテーブルを用いることにより、ステップS410で説明したように、入力デバイスから取得したデータをどこにどのように出力するかを、ユーザに確認することができる。例えば「DVD内のコンテンツを認識できました。どこに出力しますか。」といった表示をスマートフォン210の表示部321に対して行なう。また例えば「スマートフォン」「外部ディスプレイ」「メール添付」「動画サイトにアップロード」などといった選択肢を表示してもよい。
【0066】
例えば、図7Gに示すように、ガイガーカウンタ780がスマートフォン710に接続された場合が考えられる。そして、スマートフォン710の表示部321から、放射線量公開サイトにアップロードするようリクエストを受けた場合には、クラウドサーバ230は、スマートフォン210が有しているGPS(Global Positioning System)722などを用いて、放射線量と検出場所と検出時間とを互いに関連付けて指定のサイトに送信する。これにより、ユーザは簡単に、地図上の各位置での放射線量を公開できる。
【0067】
また、図7Hに示すように、スマートフォン210に電子楽器790が接続された場合には、クラウドサーバ230は電子楽器790から得られた演奏データを、同様に他のスマートフォンに接続された他の楽器の演奏データとマージして出力することも可能である。
【0068】
そして、これら入力デバイスおよびユーザからのリクエストを対応付けてナレッジとして蓄積することにより、入力デバイスを接続された際に、ユーザへの問い合わせ内容を随時変えることが可能となり、ユーザにとって最適な問い合わせ内容を提示できる。
【0069】
(USB接続処理)
図8A図8Dを用いて、USBでの通信を確立するまでにクラウドサーバ230とスマートフォン210とDVDプレーヤ240との間でやりとりされる信号をより詳細に説明する。特に、ここでは、図7Cに示したように、デバイスディスクリプタをキャッシュに保存する例について説明する。
【0070】
ステップS801において、DVDプレーヤ240をスマートフォン210に接続し、電源を投入する。次に、ステップS802において、スマートフォン210はDVDプレーヤ240に対するUSB接続処理を開始し、リセット信号を送信する。次に、ステップS803において、スマートフォン210は、DVDプレーヤ240に対してアドレスを指定する。この後においてスマートフォン210とDVDプレーヤ240との間でやりとりされるパケットにはそのアドレスが付加される。
【0071】
ステップS804において、スマートフォン210はディスクリプタをDVDプレーヤ240から取得するために「GET DESDCRIPTOR」の処理を行なう。「GET DESDCRIPTOR」の処理は、図7Cで説明したステップS721〜S723と同様であるため、詳細は説明しない。ディスクリプタのリクエストをDVDプレーヤ240に送信すると(S805)、DVDプレーヤ240は、エンドポイント0領域に記憶されたデバイスディスクリプタをスマートフォン210に送信する(S806、S807)。スマートフォン210は、ステータス・ステージS723において、その確認信号(ACK)をDVDプレーヤ240に送信する。
【0072】
この時点でデバイスディスクリプタを取得したスマートフォン210は、そのデバイスディスクリプタをキャッシュに保存する(S724)。また、そのデバイスディスクリプタを用いて、スマートフォン210が制御可能なデバイスか判定する(S409)。制御不可能と判断すると、ステップS811に進み、USB切断処理を行ない、同時に、クラウドサーバ230に対し、DVDプレーヤ240の制御依頼を行なう(S812)。
【0073】
次に、ステップS813において、クラウドサーバ230は、DVDプレーヤ240の制御を行なうべく処理を開始し、リセット信号を、スマートフォン210を介してDVDプレーヤ240に送信する。次に、ステップS815において、クラウドサーバ230は、セットアドレスを行ない、DVDプレーヤ240に対してアドレスを指定する。
【0074】
さらに、クラウドサーバ230は、ゲットディスクリプタ(S816)と、ゲットコンフィギュレーション(S824)とをスマートフォン210を介してDVDプレーヤ240に対して行なう(S823)。具体的には、ステップS817において、クラウドサーバ230は、ゲットディスクリプタをスマートフォン210に送る。ステップS819において、スマートフォン210は、キャッシュに保存されたデバイスディスクリプタを読み出し、クラウドサーバ230に送信する。
【0075】
ステップS825において、DVDプレーヤ240は、エンドポイント0領域に記憶されたコンフィギュレーションディスクリプタを送信する。次に、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してBULK TRANSFERを行なうと(S826)、DVDプレーヤ240は、DVDに保存されたコンテンツデータを読み出して(S827)、クラウドサーバ230に送信する。
【0076】
ステップS409において、DVDプレーヤ240のデバイスディスクリプタに基づいて、制御可能なデバイスではないと判定すると、図8BのステップS828に進む。ステップS828、S829では、コンフィギュレーションディスクリプタ取得処理を行ない、DVDプレーヤ240は、それに応じてコンフィギュレーションディスクリプタをスマートフォン210に送信する。スマートフォン210は、ステップS832において、取得したコンフィギュレーションディスクリプタをキャッシュに保存する。そして、ステップS409において、スマートフォン210は、コンフィギュレーションディスクリプタに基づいて、DVDプレーヤ240がスマートフォン210にとって制御可能なデバイスか否か判定する。制御可能ではないと判定すると、ステップS833に進んでスマートフォン210とDVDプレーヤ240との間のUSB接続を切断する。
【0077】
USB接続を切断後、スマートフォン210は、クラウドサーバ230に対して、DVDプレーヤ240の制御を依頼する。クラウドサーバ230は、その制御依頼に応じて、USB制御を開始すると共にリセット信号を、スマートフォン210を介してDVDプレーヤ240に送信する(S835)そして続けてセットアドレスを行ない(S836)、アドレスをDVDプレーヤ240に指定する。さらに、GET DESCRIPTOR(S837)で、スマートフォン210に対して、ディスクリプタを要求すると、スマートフォン210は、その要求をDVDプレーヤ240に中継する代わりに、デバイスディスクリプタをキャッシュから読出して(S839)、クラウドサーバ230に返す(S840)。
【0078】
さらに、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してGET CONFIGURATIONを実行すると(S841)、スマートフォン210は、そのコマンドをDVDプレーヤ240に送信する代わりに、キャッシュに記憶されたコンフィギュレーションディスクリプタを読み出し、クラウドサーバ230に送信する(S843)。次に、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してBULK TRANSFERを行なうと(S844)、DVDプレーヤ240は、DVDに保存されたコンテンツデータを読み出して(S845)、スマートフォン210を介してクラウドサーバ230に送信する。
【0079】
ステップS409において、コンフィギュレーションディスクリプタに基づいて、制御可能なデバイスであると判定すると(B)、図8CのステップS846に示すBULK TRANSFERに進む。BULK TRANSFERでも、セットアップ・ステージ、データ・ステージ、ステータス・ステージを行なうことにより、DVDプレーヤ240はDVD241からコンテンツデータを読出して、スマートフォン210に送信する(S849)。
【0080】
スマートフォン210は、読出されたコンテンツデータを受信すると、キャッシュに保存し(S851)、そのコンテンツデータを再生処理できるアプリケーションがあるか否か判定する(S852)。
【0081】
処理できると判定すると、ステップS853に進み、クラウドサーバ230にアクセスせずに処理を継続する。つまり、この場合DVDプレーヤ240のコンテンツデータは、そのままスマートフォン210で再生できる。
【0082】
一方、スマートフォン210が、DVDプレーヤ240のコンテンツデータを処理できるアプリケーションを有していない場合、ステップS854に進んでUSB接続の切断処理を行ない、さらに、図8DのステップS856に進む。
【0083】
図8DのステップS856では、やはりクラウドサーバ230に対してUSBデバイス制御の依頼を行なう。スマートフォン210は、クラウドサーバ230に対して、DVDプレーヤ240の制御を依頼する。クラウドサーバ230は、その制御依頼に応じて、USB制御を開始すると共にリセット信号を、スマートフォン210を介してDVDプレーヤ240に送信する(S857)そして続けてセットアドレスを行ない(S859)、アドレスをDVDプレーヤ240に指定する。さらに、GET DESCRIPTOR(S861)で、スマートフォン210に対して、ディスクリプタを要求すると、スマートフォン210は、その要求をDVDプレーヤ240に中継する代わりに、デバイスディスクリプタをキャッシュから読出して(S863)、クラウドサーバ230に返す。
【0084】
さらに、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してGET CONFIGURATIONを実行すると(S865)、スマートフォン210は、そのコマンドを中継する代わりに、キャッシュに保存されたコンフィギュレーションディスクリプタを読出して、スマートフォン210を中継してクラウドサーバ230に送信する(S867)。
【0085】
次に、クラウドサーバ230は、スマートフォン210を介してDVDプレーヤ240に対してBULK TRANSFERを行なうと(S869)、スマートフォン210は、キャッシュに保存された入力データを読み出して(S871)、クラウドサーバ230に送信する。
【0086】
以上のシーケンスにより、スマートフォン210のキャッシュをうまく使って、クラウドサーバ230とDVDプレーヤ240との通信を効率的に行なうことが可能となる。
【0087】
(スマートフォンのハードウェア構成)
スマートフォン210の内部構成について、図9を用いて説明する。スマートフォン210は、CPU(Central Processing Unit)910、ROM(Read Only Memory)920、無線通信部316、RAM(Random Access Memory)940、ストレージ950、および入出力インタフェース960を備えている。
【0088】
CPU910は中央処理部であって、様々なプログラムを実行することによりスマートフォン210全体を制御する。ROM920は、リードオンリメモリであり、CPU910が最初に実行すべきブートプログラムの他、各種パラメータ等を記憶している。また、RAM940は、接続検知結果941と、デバイス判定結果942と、ファイルシステム判定結果943と、データ形式判定結果944と、取得コンテンツデータ945と、変換済コンテンツデータ946とを記憶する。
【0089】
ストレージ950は、スマートフォンの処理能力を示す処理能力データベース951を記憶している。このデータベースを参照することにより、スマートフォン210が自機で処理できるコンテンツデータか否かを判定できる。さらにストレージ950は、デバイス判定モジュール953と、ファイルシステム判定モジュール954と、データ形式判定モジュール955と、データ中継モジュール956と、ユーザインタフェース表示モジュール957と、データ処理アプリケーション959とを記憶する。
【0090】
デバイス判定モジュール953は、CPU910に実行されることにより、デバイス判定部312として機能する。また、ファイルシステム判定モジュール954は、CPU910に実行されることにより、ファイルシステム判定部313として機能する。
【0091】
データ形式判定モジュール955は、CPU910に実行されることにより、データ形式判定部314として機能する。さらにデータ中継モジュール956は、CPU910に実行されることにより、無線通信部316と共に機能して、クラウドサーバ230と入力デバイスとの間のデータのやりとりを中継する。具体的には、USBoverIPのカプセリングおよびアンカプセリングを行なう。ユーザインタフェース表示モジュール957は、CPU910に実行されることにより、図6で示したようなダイアログを、スマートフォン210のディスプレイに表示する。
【0092】
入出力インタフェース960は、入出力機器との入出力データを中継する。入出力インタフェース960には、スマートフォン210に内蔵された表示部320、タッチパネル962、スピーカ964、マイク965、カメラ966が接続される。さらに、外部デバイスを接続可能なUSBインタフェース319を備えている。
【0093】
また、無線通信部316は、クラウドサーバ230とのネットワークを介した通信を制御する。
【0094】
RAM940に記憶される接続検知結果941は、接続検知部311において検知した、接続されたデバイスの接続検知結果を一次記憶したものである。デバイス判定結果942は、検知した接続デバイスがどのようなデバイスであるか判定した結果を一次記憶したものである。本実施形態においては、DVDプレーヤ240を一次記憶する。ファイルシステム判定結果943は、自機において取得したDVDプレーヤ240に記憶されたデータのファイルシステムを自機で取得可能か否か判定した結果を一時記憶したものである。データ形式判定結果944は、DVDプレーヤ240に記憶されたデータのデータ形式を自機で処理能か否か判定した結果を一時記憶したものである。
【0095】
次に、取得コンテンツデータ945は、DVDプレーヤ240などの入力デバイスから取得したコンテンツデータをクラウドサーバ230に送信するために一次記憶したものである。変換済コンテンツデータ946は、クラウドサーバ230において変換したコンテンツデータであり、スマートフォン210にて再生する場合に一次記憶する。
【0096】
以上の構成および動作により、本実施形態に係る情報処理システムによれば、スマートフォンに接続された、ドライバをプリインストールしていない入力デバイスを制御することができる。
【0097】
[他の実施形態]
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、それぞれの実施形態に含まれる別々の特徴を如何様に組み合わせたシステムまたは装置も、本発明の範疇に含まれる。
【0098】
また、本発明は、複数の機器から構成されるシステムに適用されてもよいし、単体の装置に適用されてもよい。さらに、本発明は、実施形態の機能を実現する情報処理プログラムが、システムあるいは装置に直接あるいは遠隔から供給される場合にも適用可能である。したがって、本発明の機能をコンピュータで実現するために、コンピュータにインストールされるプログラム、あるいはそのプログラムを格納した媒体、そのプログラムをダウンロードさせるWWW(World Wide Web)サーバも、本発明の範疇に含まれる。
図1
図2
図3
図4
図5A
図5B
図6
図7A
図7B
図7C
図7D
図7E
図7F
図7G
図7H
図8A
図8B
図8C
図8D
図9