(57)【要約】  デバイスの計算能力に関する情報を提供するデバイス情報提供部と、前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを取得するアプリケーション取得部と、を備える、情報処理装置が提供される。
2020075624.tif 000002
【特許請求の範囲】
【請求項１】
デバイスの計算能力に関する情報を提供するデバイス情報提供部と、
前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを取得するアプリケーション取得部と、
を備える、情報処理装置。
【請求項２】
前記計算能力に関する情報は、前記デバイスが前記アプリケーションの実行に割ける単位時間あたりのサイクル数を含み、
前記計算能力に関する条件は、前記単位時間あたりのサイクル数と前記アプリケーションの実行に必要なサイクル数とに基づく処理時間が許容時間以下であるという条件を含む、
請求項１に記載の情報処理装置。
【請求項３】
前記計算能力に関する情報は、前記デバイスが前記アプリケーションの実行に割けるメモリサイズを含み、
前記計算能力に関する条件は、前記アプリケーションの実行に必要なメモリサイズが前記アプリケーションの実行に割けるメモリサイズ以下であるという条件を含む、
請求項１に記載の情報処理装置。
【請求項４】
前記計算能力に関する情報は、前記デバイスの１サイクルあたりの消費電力を含み、
前記計算能力に関する条件は、前記１サイクルあたりの消費電力と前記アプリケーションの実行に必要なサイクル数とに基づく消費電力が許容消費電力以下であるという条件を含む、
請求項１に記載の情報処理装置。
【請求項５】
前記アプリケーション取得部は、前記アプリケーションの実行に利用可能なデバイスの種類が前記アプリケーションの実行に必要なデバイスの種類に関する条件をさらに満たすことに基づいて、前記アプリケーションを取得する
請求項１に記載の情報処理装置。
【請求項６】
前記アプリケーションは、ニューラルネットワークを利用したアプリケーションを含む、
請求項１に記載の情報処理装置。
【請求項７】
前記アプリケーション取得部は、前記計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションに関する情報を取得し、前記アプリケーションに関する情報に基づいて前記アプリケーションが選択された場合に、前記アプリケーションを取得する、
請求項１に記載の情報処理装置。
【請求項８】
前記アプリケーション取得部は、前記アプリケーションに関する情報が表示されるように表示装置を制御し、ユーザによって前記アプリケーションが選択された場合に、前記アプリケーションを取得する、
請求項７に記載の情報処理装置。
【請求項９】
前記アプリケーションに関する情報は、前記アプリケーションの実行によって得られる実行結果の種類を含む、
請求項７に記載の情報処理装置。
【請求項１０】
前記アプリケーション取得部は、前記アプリケーションに関する情報と環境情報とに基づいて前記アプリケーションが選択された場合に、前記アプリケーションを取得する、
請求項７に記載の情報処理装置。
【請求項１１】
前記アプリケーションに関する情報は、前記アプリケーションの実行に必要なデバイスの種類を含み、
前記アプリケーション取得部は、前記環境情報に対応するデバイスの種類と前記アプリケーションの実行に必要なデバイスの種類とが適合する場合に、前記アプリケーションを選択する、
請求項１０に記載の情報処理装置。
【請求項１２】
前記情報処理装置は、前記アプリケーションを実行するアプリケーション実行部を備える、
請求項１に記載の情報処理装置。
【請求項１３】
前記アプリケーション取得部は、前記計算能力に関する情報が複数のアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記複数のアプリケーションを取得する、
請求項１に記載の情報処理装置。
【請求項１４】
プロセッサが、デバイスの計算能力に関する情報を提供することと、
前記プロセッサが、前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを取得することと、
を含む、情報処理方法。
【請求項１５】
デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定する判定部と、
前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを提供する提供部と、
を備える、情報提供装置。
【請求項１６】
プロセッサが、デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定することと、
前記プロセッサが、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを提供することと、
を含む、情報提供方法。
【請求項１７】
デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定する判定部と、
前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たさないことに基づいて、所定のアラートの提示を制御する提示制御部と、
を備える、提示制御装置。
【請求項１８】
前記提示制御装置は、前記アプリケーションを情報提供装置に登録するアプリケーション登録処理部を備える、
請求項１７に記載の提示制御装置。
【請求項１９】
プロセッサが、デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定することと、
前記プロセッサが、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たさないことに基づいて、所定のアラートの提示を制御することと、
を含む、提示制御方法。
【請求項２０】
情報処理装置と情報提供装置とを有する情報処理システムであって、
前記情報処理装置は、
デバイスの計算能力に関する情報を前記情報提供装置に提供するデバイス情報提供部と、
前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記情報提供装置から前記アプリケーションを取得するアプリケーション取得部と、
を備え、
前記情報提供装置は、
前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定する判定部と、
前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを前記情報処理装置に提供する提供部と、
を備える、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法、情報提供装置、情報提供方法、提示制御装置、提示制御方法および情報処理システムに関する。
【背景技術】
【０００２】
近年、情報提供装置から情報処理装置にダウンロードすべきアプリケーションを情報処理装置での実行に適したアプリケーションに絞り込む（フィルタリングをする）技術が知られている。【０００３】
例えば、サーバからスマートフォンにダウンロードすべきアプリケーションをスマートフォンでの実行に適したアプリケーションに絞り込む技術が開示されている（例えば、非特許文献１参照）。かかる技術では、スマートフォンが備えるディスプレイのサイズ、スマートフォンが備えるＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、スマートフォンに搭載されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のバージョンなどに基づいて絞り込み（フィルタリング）が行われる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“アプリ  マニフェスト”、［ｏｎｌｉｎｅ］、平成３０年４月２５日、特許学会、［平成３０年１０月２日検索］、インターネット〈URL:  https://developer.android.com/guide/topics/manifest/manifest-intro?hl=ja〉
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、情報処理装置での実行により適したアプリケーションが情報処理装置にダウンロードされるようにする技術が提供されることが望まれる。
【課題を解決するための手段】
【０００６】
本開示によれば、デバイスの計算能力に関する情報を提供するデバイス情報提供部と、前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを取得するアプリケーション取得部と、を備える、情報処理装置が提供される。【０００７】
また、本開示によれば、プロセッサが、デバイスの計算能力に関する情報を提供することと、前記プロセッサが、前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを取得することと、を含む、情報処理方法が提供される。【０００８】
また、本開示によれば、デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定する判定部と、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを提供する提供部と、を備える、情報提供装置が提供される。【０００９】
また、本開示によれば、プロセッサが、デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定することと、前記プロセッサが、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを提供することと、を含む、情報提供方法が提供される。【００１０】
また、本開示によれば、デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定する判定部と、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たさないことに基づいて、所定のアラートの提示を制御する提示制御部と、を備える、提示制御装置が提供される。【００１１】
また、本開示によれば、プロセッサが、デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定することと、前記プロセッサが、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たさないことに基づいて、所定のアラートの提示を制御することと、を含む、提示制御方法が提供される。【００１２】
また、本開示によれば、情報処理装置と情報提供装置とを有する情報処理システムであって、前記情報処理装置は、デバイスの計算能力に関する情報を前記情報提供装置に提供するデバイス情報提供部と、前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記情報提供装置から前記アプリケーションを取得するアプリケーション取得部と、を備え、前記情報提供装置は、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定する判定部と、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを前記情報処理装置に提供する提供部と、を備える、情報処理システムが提供される。
【図面の簡単な説明】
【００１３】
【図１】本開示の実施形態に係る情報処理システムの構成例を示す図である。
【図２】同実施形態に係るアプリケーション生成装置の機能構成例を示す図である。
【図３】同実施形態に係るサーバ装置の機能構成例を示す図である。
【図４】同実施形態に係るアプリケーション実行装置の機能構成例を示す図である。
【図５】アプリケーション生成装置からサーバ装置に提供される情報の例を示す図である。
【図６】アプリケーション実行装置からサーバ装置に提供されるデバイス情報の例を示す図である。
【図７】同実施形態に係る情報処理システムのアプリケーション登録時の動作の例を示すフローチャートである。
【図８】同実施形態に係る情報処理システムのアプリケーション実行時の動作の例を示すフローチャートである。
【図９】認識に必要な条件の例を示す図である。
【図１０】アプリケーション選択画面の例を示す図である。
【図１１】コンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１５】
また、本明細書および図面において、実質的に同一または類似の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一または類似の機能構成を有する複数の構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、類似する構成要素の各々を特に区別する必要がない場合、同一符号のみを付する。
【００１６】
なお、説明は以下の順序で行うものとする。
０．概要
１．実施形態の詳細
１．１．システム構成例
１．２．アプリケーション生成装置の機能構成例
１．３．サーバ装置の機能構成例
１．４．アプリケーション実行装置の機能構成例
１．５．各種情報の例
１．６．情報処理システムの動作
２．ハードウェア構成例
３．むすび
【００１７】
＜０．概要＞
まず、本開示の実施形態の概要を説明する。近年、情報提供装置から情報処理装置にダウンロードすべきアプリケーションを情報処理装置での実行に適したアプリケーションに絞り込む（フィルタリングをする）技術が知られている。
【００１８】
例えば、サーバからスマートフォンにダウンロードすべきアプリケーションをスマートフォンでの実行に適したアプリケーションに絞り込む技術が開示されている。かかる技術では、スマートフォンが備えるディスプレイのサイズ、スマートフォンが備えるＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）、スマートフォンに搭載されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）のバージョンなどに基づいて絞り込み（フィルタリング）が行われる。
【００１９】
本開示の実施形態では、情報処理装置での実行により適したアプリケーションが情報処理装置にダウンロードされるようにする技術について主に説明する。より具体的には、情報処理装置の計算能力がどの程度であるかによって、情報処理装置での実行に適したアプリケーションは変化し得ることが想定される。例えば、情報処理装置の計算能力が低いほど、アプリケーションを実行するために必要な計算能力が得られなくなる可能性が高まり、情報処理装置での実行に適したアプリケーションは制限されやすくなる。
【００２０】
例えば、計算能力に関する情報が、アプリケーションの実行に割ける単位時間あたりのサイクル数を含む場合が想定される。アプリケーションの実行に割ける単位時間あたりのサイクル数は、情報処理装置の単位時間あたりのサイクル数から、アプリケーション以外のプログラム（ＯＳなど）の実行に必要な単位時間あたりのサイクル数を差し引いた数であってよい。かかる場合には、アプリケーションの実行に割ける単位時間あたりのサイクル数が不足すると、アプリケーションが正常に実行されなくなってしまう可能性がある。
【００２１】
また、計算能力に関する情報が、アプリケーションの実行に割けるメモリサイズを含む場合も想定される。アプリケーションの実行に割けるメモリサイズは、情報処理装置のメモリサイズから、アプリケーション以外のプログラム（ＯＳなど）の実行に必要なメモリサイズを差し引いたサイズであってよい。かかる場合には、アプリケーションの実行に割けるメモリサイズが不足すると、アプリケーションが正常に実行されなくなってしまう可能性がある。
【００２２】
そこで、本開示の実施形態では、一例として、情報処理装置の計算能力に応じたアプリケーションが情報処理装置にダウンロードされるようにする技術について説明する。
【００２３】
なお、本開示の実施形態に適用可能なアプリケーションの種類は限定されない。しかし、アプリケーションがＯＳおよびミドルウェアなどを意識せずに実行される場合、アプリケーションが情報処理装置での実行に適しているかは、情報処理装置の計算能力により強く依存し得る。ＯＳおよびミドルウェアなどを意識せずに実行されるアプリケーションの例としては、ニューラルネットワークを利用したアプリケーションなどが想定される。
【００２４】
したがって、以下の説明では、より好適な実施形態として、ニューラルネットワークを利用したアプリケーションが利用される場合を主に想定する。さらに、ニューラルネットワークを利用したアプリケーション以外に、ＯＳおよびミドルウェアなどを意識せずに実行される他のアプリケーションも本開示の実施形態に好適である。
【００２５】
以下の説明では、情報処理装置を「アプリケーション実行装置」とも言う。また、以下の説明では、情報提供装置を「サーバ装置」とも言う。また、以下の説明では、ニューラルネットワークを利用したアプリケーションを「ニューラルネットワークアプリケーション」とも言う。
【００２６】
以上、本開示の実施形態の概要について説明した。
【００２７】
＜１．実施形態の詳細＞
続いて、本開示の実施形態の詳細について説明する。
【００２８】
［１．１．システム構成例］
まず、図面を参照しながら、本開示の実施形態に係る情報処理システムの構成例について説明する。図１は、本開示の実施形態に係る情報処理システムの構成例を示す図である。図１に示したように、本開示の実施形態に係る情報処理システム１は、アプリケーション生成装置１０、サーバ装置２０、アプリケーション実行装置３０および端末装置４０を有する。
【００２９】
アプリケーション生成装置１０、サーバ装置２０およびアプリケーション実行装置３０は、ネットワークに接続されており、ネットワークを介して互いに通信可能である。なお、図１に示した例では、サーバ装置２０とネットワークを介して通信可能なアプリケーション生成装置１０およびアプリケーション実行装置３０が１台ずつ存在している。しかし、サーバ装置２０とネットワークを介して通信可能なアプリケーション生成装置１０およびアプリケーション実行装置３０の少なくともいずれか一方は、複数存在してもよい。
【００３０】
アプリケーション実行装置３０と端末装置４０とは、通信を行うことが可能である。例えば、アプリケーション実行装置３０と端末装置４０とは、無線通信（例えば、近距離無線通信など）を行うことが可能であってよい。しかし、アプリケーション実行装置３０と端末装置４０とは、有線による通信が可能であってもよい。あるいは、端末装置４０もネットワークに接続されている場合、アプリケーション実行装置３０と端末装置４０とは、ネットワークを介して通信可能であってもよい。
【００３１】
アプリケーション生成装置１０は、例えば、コンピュータ（例えば、ワークステーションなど）によって構成される。アプリケーション生成装置１０は、アプリケーションの開発者によって利用され、アプリケーションの開発者による操作に基づいて（あるいは自動的に）アプリケーションを生成する。例えば、アプリケーション生成装置１０は、学習に必要なデバイスと接続されており、学習に必要なデバイスから得られたデータに基づいて学習を行うことによって、アプリケーション（学習済みのニューラルネットワークアプリケーション）を生成（構築）する。
【００３２】
図１には、アプリケーション生成装置１０が、学習に必要なデバイスの例としてのカメラ１２１と接続されており、カメラ１２１から得られた画像データに基づいて学習を行う例が示されている。かかる例では、アプリケーション生成装置１０によって生成されたアプリケーション（学習済みのニューラルネットワークアプリケーション）の実行によって、画像データに含まれている被写体の認識が行われる。しかし、学習に必要なデバイスは、カメラ１２１に限定されない。
【００３３】
例えば、学習に必要なデバイスは、マイクロフォン（以下、単に「マイク」とも言う。）であってもよい。このとき、アプリケーション生成装置１０は、マイクから得られた音データに基づいて学習を行えばよい。かかる場合には、アプリケーション生成装置１０によって生成されたアプリケーション（学習済みのニューラルネットワークアプリケーション）の実行によって、音データに含まれている音声データの発話者の認識が行われる。あるいは、学習に必要なデバイスは、カメラおよびマイクとは異なるセンサであってもよい。
【００３４】
このように、本開示の実施形態では、アプリケーションの実行によって何らかの対象（例えば、画像データに含まれている被写体、音データに含まれている音声データの発話者など）を認識する処理が行われる場合を想定する。しかし、アプリケーションの実行によって行われる処理は限定されない。すなわち、以下の説明において利用されている「認識」という文言は、適宜に「アプリケーションの実行」という文言に置き換えられてもよい。
【００３５】
アプリケーション生成装置１０は、アプリケーション（学習済みのニューラルネットワークアプリケーション）を生成すると、生成したアプリケーションを、ネットワークを介してサーバ装置２０に登録する。このとき、アプリケーション生成装置１０は、生成したアプリケーションの特徴データ（アプリケーションを含む）を、ネットワークを介してサーバ装置２０に登録する。アプリケーションの特徴データについては、後に詳細に説明する。
【００３６】
サーバ装置２０は、例えば、コンピュータによって構成される。サーバ装置２０は、アプリケーション生成装置１０からアプリケーションの特徴データ（アプリケーションを含む）の登録を受け付ける。サーバ装置２０は、登録を受け付けたアプリケーションの特徴データを保存する。
【００３７】
また、サーバ装置２０は、計算能力に応じたアプリケーションをアプリケーション実行装置３０に提供する。より具体的には、サーバ装置２０は、アプリケーション実行装置３０からアプリケーション実行装置３０の計算能力に関する情報を受け付けると、アプリケーション実行装置３０の計算能力に関する情報が、アプリケーションに応じた計算能力に関する条件を満たすか否かを判定する。サーバ装置２０は、アプリケーション実行装置３０の計算能力に関する情報が、アプリケーションに応じた計算能力に関する条件を満たす場合に、当該アプリケーションをアプリケーション実行装置３０に提供する。これによって、アプリケーション実行装置３０での実行により適したアプリケーションがアプリケーション実行装置３０にダウンロードされるようになる。
【００３８】
アプリケーション実行装置３０は、例えば、コンピュータによって構成される。アプリケーション実行装置３０は、ユーザによって利用され、ユーザによる操作（例えば、動作モードをアップデートモードにする操作）に基づいて（あるいは自動的に）、サーバ装置２０に接続し、自身の計算能力に関する情報をサーバ装置２０に提供する。アプリケーション実行装置３０は、自身の計算能力に応じたアプリケーションをサーバ装置２０からダウンロードすると、ダウンロードしたアプリケーションを実行する。より具体的には、アプリケーション実行装置３０は、自身の計算能力に関する情報が、アプリケーションに応じた計算能力に関する条件を満たすことに基づいて、当該アプリケーションをサーバ装置２０からダウンロードして実行する。
【００３９】
アプリケーション実行装置３０は、認識に利用可能なデバイス（アプリケーションの実行に利用可能なデバイスを有している。認識に利用可能なデバイスは、認識に利用される各種データを検出する。ここで、搭載デバイスの種類は限定されないが、搭載デバイスは、カメラを含んでもよいし、マイクを含んでもよいし、カメラおよびマイクとは異なるセンサを含んでもよい。以下では、認識に利用可能なデバイスを単に「搭載デバイス」とも言う。
【００４０】
図１に示した例では、アプリケーション実行装置３０が、搭載デバイスの例としてカメラ３２１を有している。このとき、アプリケーション実行装置３０は、アプリケーションの実行によって、カメラ３２１によって得られた画像データに含まれている被写体を認識する。また、アプリケーション実行装置３０は、搭載デバイスの一例としてのマイク３２２を有している。このとき、アプリケーション実行装置３０は、アプリケーションの実行によって、マイク３２２によって得られた音データに含まれている音声データの発話者を認識する。
【００４１】
その他、アプリケーション実行装置３０は、アプリケーション実行装置３０を動作させるために必要な電力を供給するバッテリ３９０を有している。また、アプリケーション実行装置３０は、ダウンロードすべきアプリケーションをさらに絞り込むために端末装置４０を利用し得る。端末装置４０は、典型的にはスマートフォンであってよいが、タブレット端末であってもよいし、携帯電話であってもよいし、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）であってもよいし、他の電子機器であってもよい。以下では、アプリケーション実行装置３０を「認識デバイス」と言う場合もある。
【００４２】
以上、本開示の実施形態に係る情報処理システム１の構成例について説明した。
【００４３】
［１．２．アプリケーション生成装置の機能構成例］
続いて、本開示の実施形態に係るアプリケーション生成装置１０の機能構成例について説明する。図２は、本開示の実施形態に係るアプリケーション生成装置１０の機能構成例を示す図である。図２に示したように、アプリケーション生成装置１０は、制御部１１０、検出部１２０、操作部１３０、記憶部１４０、通信部１６０および提示部１７０を有している。
【００４４】
制御部１１０は、アプリケーション生成装置１０の各部の制御を実行する。制御部１１０は、例えば、１または複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）などによって構成されていてよい。制御部１１０がＣＰＵなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。制御部１１０は、かかる処理装置によってプログラムが実行されることによって実現され得る。制御部１１０は、判定部１１１、提示制御部１１２およびアプリケーション登録処理部１１３を有している。これらのブロックの詳細は後に説明する。
【００４５】
検出部１２０は、学習に必要なデバイスを含んで構成され、学習に必要なデバイスによって学習に必要なデータを検出する。上記したように、学習に必要なデバイスは特定のデバイスに限定されない。例えば、学習に必要なデバイスは、カメラを含んでもよいし、マイクを含んでもよいし、カメラおよびマイクとは異なるセンサを含んでもよい。検出部１２０によって検出された学習に必要なデータは、制御部１１０に提供され、アプリケーション（学習済みのニューラルネットワークアプリケーション）の生成（構築）に利用される。
【００４６】
操作部１３０は、開発者による操作の入力を受け付ける機能を有する。本開示の実施形態においては、操作部１３０がマウスおよびキーボードを含む場合を主に想定する。しかし、操作部１３０は、マウスおよびキーボードを含む場合に限定されない。例えば、操作部１３０は、タッチパネルを含んでもよいし、タッチパッドを含んでもよいし、スイッチを含んでもよいし、レバーを含んでもよいし、ボタンを含んでもよい。また、操作部１３０は、開発者の音声を検出するマイクを含んでもよいし、開発者の視線を検出するイメージセンサを含んでもよい。
【００４７】
記憶部１４０は、メモリを含んで構成され、制御部１１０によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部１４０は、制御部１１０による演算のためにデータを一時的に記憶する。記憶部１４０は、磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または、光磁気記憶デバイスなどにより構成される。
【００４８】
通信部１６０は、通信回路を含んで構成され、ネットワークに接続されたサーバ装置２０から、ネットワークを介してデータを受信する機能を有する。また、通信部１６０は、サーバ装置２０にネットワークを介してデータを送信する機能を有する。
【００４９】
提示部１７０は、開発者に対して情報を提示する機能を有する。提示部１７０の種類は限定されない。例えば、提示部１７０は、開発者に視認可能な表示を行うことが可能なディスプレイを含んでよく、ディスプレイは、液晶ディスプレイであってもよいし、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイであってもよいし、他のディスプレイであってもよい。あるいは、提示部１７０は、開発者に触覚を提示する触覚提示装置を含んでもよいし、開発者に音を提示するスピーカを含んでもよい。
【００５０】
以上、本開示の実施形態に係るアプリケーション生成装置１０の機能構成例について説明した。
【００５１】
［１．３．サーバ装置の機能構成例］
続いて、本開示の実施形態に係るサーバ装置２０の機能構成例について説明する。図３は、本開示の実施形態に係るサーバ装置２０の機能構成例を示す図である。図３に示したように、サーバ装置２０は、制御部２１０、記憶部２６０および通信部２７０を有している。
【００５２】
制御部２１０は、サーバ装置２０の各部の制御を実行する。制御部２１０は、例えば、１または複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）などによって構成されていてよい。制御部２１０がＣＰＵなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。制御部２１０は、かかる処理装置によってプログラムが実行されることによって実現され得る。制御部２１０は、情報取得部２１１、判定部２１２およびアプリケーション提供部２１３を有している。これらのブロックの詳細は後に説明する。
【００５３】
記憶部２６０は、メモリを含んで構成され、制御部２１０によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部２６０は、制御部２１０による演算のためにデータを一時的に記憶する。記憶部２６０は、磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または、光磁気記憶デバイスなどにより構成される。
【００５４】
通信部２７０は、通信回路を含んで構成され、ネットワークに接続されたアプリケーション生成装置１０およびアプリケーション実行装置３０から、ネットワークを介してデータを受信する機能を有する。また、通信部２７０は、アプリケーション生成装置１０およびアプリケーション実行装置３０にネットワークを介してデータを送信する機能を有する。
【００５５】
以上、本開示の実施形態に係るサーバ装置２０の機能構成例について説明した。
【００５６】
［１．４．アプリケーション実行装置の機能構成例］
続いて、本開示の実施形態に係るアプリケーション実行装置３０の機能構成例について説明する。図４は、本開示の実施形態に係るアプリケーション実行装置３０の機能構成例を示す図である。図４に示したように、アプリケーション実行装置３０は、制御部３１０、検出部３２０、操作部３３０、記憶部３４０、通信部３６０および提示部３７０を有している。
【００５７】
制御部３１０は、アプリケーション実行装置３０の各部の制御を実行する。制御部３１０は、例えば、１または複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）などによって構成されていてよい。制御部３１０がＣＰＵなどといった処理装置によって構成される場合、かかる処理装置は、電子回路によって構成されてよい。制御部３１０は、かかる処理装置によってプログラムが実行されることによって実現され得る。制御部３１０は、デバイス情報提供部３１１、アプリケーション取得部３１２およびアプリケーション実行部３１３を有している。これらのブロックの詳細は後に説明する。
【００５８】
検出部３２０は、搭載デバイス（認識に利用可能なデバイス）を含んで構成され、搭載デバイスによって認識に必要なデータを検出する。上記したように、搭載デバイスは特定のデバイスに限定されない。例えば、搭載デバイスは、カメラを含んでもよいし、マイクを含んでもよいし、カメラおよびマイクとは異なるセンサを含んでもよい。検出部３２０によって検出された認識に必要なデータは、制御部３１０に提供され、認識に利用される（アプリケーションの実行に利用される）。
【００５９】
操作部３３０は、ユーザによる操作の入力を受け付ける機能を有する。本開示の実施形態においては、操作部３３０がボタンを含む場合を主に想定する。しかし、操作部３３０は、ボタンを含む場合に限定されない。例えば、操作部３３０は、タッチパネルを含んでもよいし、タッチパッドを含んでもよいし、スイッチを含んでもよいし、レバーを含んでもよいし、マウスを含んでもよいし、キーボードを含んでもよい。また、操作部３３０は、ユーザの音声を検出するマイクを含んでもよいし、ユーザの視線を検出するイメージセンサを含んでもよい。
【００６０】
記憶部３４０は、メモリを含んで構成され、制御部３１０によって実行されるプログラムを記憶したり、プログラムの実行に必要なデータを記憶したりする記録媒体である。また、記憶部３４０は、制御部３１０による演算のためにデータを一時的に記憶する。記憶部３４０は、磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または、光磁気記憶デバイスなどにより構成される。
【００６１】
通信部３６０は、通信回路を含んで構成され、ネットワークに接続されたサーバ装置２０から、ネットワークを介してデータを受信する機能を有する。また、通信部３６０は、サーバ装置２０にネットワークを介してデータを送信する機能を有する。
【００６２】
提示部３７０は、ユーザに対して情報を提示する機能を有する。提示部３７０の種類は限定されない。例えば、提示部３７０は、ユーザに視認可能な表示を行うことが可能なディスプレイを含んでよく、ディスプレイは、液晶ディスプレイであってもよいし、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイであってもよいし、他のディスプレイであってもよい。あるいは、提示部３７０は、ユーザに触覚を提示する触覚提示装置を含んでもよいし、ユーザに音を提示するスピーカを含んでもよい。
【００６３】
以上、本開示の実施形態に係るアプリケーション実行装置３０の機能構成例について説明した。
【００６４】
［１．５．各種情報の例］
図５および図６を参照しながら、情報処理システム１によって利用される各種情報の例について説明する。図５は、アプリケーション生成装置１０からサーバ装置２０に提供される情報の例を示す図である。図５を参照すると、アプリケーション生成装置１０からサーバ装置２０に提供される情報の例としてアプリケーションの特徴データが示されている。アプリケーションの特徴データは、アプリケーション生成装置１０によってニューラルネットワークアプリケーションの生成が終わると、アプリケーション生成装置１０によって自動的に取得される。
【００６５】
アプリケーションの特徴データは、図５に示すように、アプリケーション番号、アプリケーション名、認識に必要な搭載デバイスの種類（アプリケーションの実行に必要な搭載デバイスの種類）、認識に必要な計算サイクル数（アプリケーションの実行に必要な計算サイクル数）、認識を開始してから完了するまでの許容時間（アプリケーションの実行開始から終了までの許容時間）、認識に必要なメモリサイズ（アプリケーションの実行に必要なメモリサイズ）、ニューラルネットワークアプリケーションのサイズ、ニューラルネットワークアプリケーション本体、クラス分類名、および、クラス分類詳細を含む。
【００６６】
アプリケーション名は、アプリケーションを一意に特定可能な情報である。例えば、アプリケーション名は、学習に利用されるデータセットの名称であってよく、ＭＮＩＳＴ（Mixed  National  Institute  of  Standards  and  Technology  database）であってもよいし、ＩｍａｇｅＮｅｔであってもよいし、他の名称であってもよい。
【００６７】
クラス分類名は、認識結果として得られるクラス分類の名称（すなわち、アプリケーションの実行によって得られる実行結果の種類）であってよい。例えば、クラス分類名は、アプリケーション名がＭＮＩＳＴである場合、数字認識などであってよい。あるいは、クラス分類名は、アプリケーション名がＩｍａｇｅＮｅｔである場合、ギター認識などであってよい。
【００６８】
クラス分類詳細は、認識結果として得られるクラス分類の詳細（認識対象の名称）であってよい。例えば、クラス分類詳細は、アプリケーション名がＭＮＩＳＴである場合、「０」、「１」、・・・、「９」といった具体的な数字であってよい。あるいは、クラス分類詳細は、アプリケーション名がＩｍａｇｅＮｅｔである場合、「Stratocaster」、「Telecaster」、「Mustang」、「Les  Paul」などといった具体的なギター名であってもよい。
【００６９】
アプリケーション生成装置１０（および他のアプリケーション生成装置）それぞれは、アプリケーションを生成すると、生成したアプリケーションの特徴データをサーバ装置２０に提供する。サーバ装置２０は、このようにしてアプリケーション生成装置１０（および他のアプリケーション生成装置）それぞれから提供されたアプリケーションの特徴データを、アプリケーション情報データベース（ＤＢ）に登録する。
【００７０】
図６は、アプリケーション実行装置３０からサーバ装置２０に提供されるデバイス情報の例を示す図である。図６を参照すると、アプリケーション実行装置３０からサーバ装置２０に提供されるデバイス情報の例が示されている。デバイス情報は、ユーザによる操作（例えば、動作モードをアップデートモードにする操作）に基づいて（あるいは自動的に）、アプリケーション実行装置３０によって自動的に取得され、アプリケーション実行装置３０からサーバ装置２０に提供される。
【００７１】
デバイス情報は、図６に示すように、認識デバイス番号、搭載デバイスの種類（アプリケーションの実行に利用可能なデバイスの種類）、認識デバイスが認識に割ける（認識デバイスがアプリケーションの実行に割ける）計算リソース（計算サイクル数／秒）、認識デバイスが認識に割ける（認識デバイスがアプリケーションの実行に割ける）メモリサイズ、１サイクルあたりの消費電力および許容消費電力を含む。
【００７２】
ここで、認識デバイスが認識に割ける計算リソース（計算サイクル数／秒）は、上記した「計算能力に関する情報」の例に該当し得る。また、認識デバイスが認識に割けるメモリサイズも、上記した「計算能力に関する情報」の例に該当し得る。さらに、１サイクルあたりの消費電力も、上記した「計算能力に関する情報」の例に該当し得る。
【００７３】
アプリケーション実行装置３０（または他のアプリケーション実行装置）は、ユーザによる操作（例えば、動作モードをアップデートモードにする操作）に基づいて（あるいは自動的に）、サーバ装置２０に接続し、自身のデバイス情報をサーバ装置２０に提供する。サーバ装置２０は、このようにしてアプリケーション実行装置３０（または他のアプリケーション実行装置）から提供されたデバイス情報を、デバイス情報データベース（ＤＢ）に登録する。また、サーバ装置２０は、デバイス情報に応じたアプリケーションをアプリケーション実行装置３０（または他のアプリケーション実行装置）に返信する。
【００７４】
以上、情報処理システム１によって利用される各種情報の例について説明した。
【００７５】
［１．６．情報処理システムの動作］
図７〜図１０を参照しながら、本開示の実施形態に係る情報処理システム１の動作の例について説明する。
【００７６】
（アプリケーション登録時の動作）
図７は、本開示の実施形態に係る情報処理システム１のアプリケーション登録時の動作の例を示すフローチャートである。なお、図７に示したフローチャートは、本開示の実施形態に係る情報処理システム１によるアプリケーション登録時の動作の一例を示すに過ぎない。したがって、本開示の実施形態に係る情報処理システム１によるアプリケーション登録時の動作は、図７に示した例に限定されない。
【００７７】
図７に示されたように、アプリケーション生成装置１０は、アプリケーションの開発者による操作に基づいて（あるいは自動的に）アプリケーションを生成する（Ｓ１１）。ここで、サーバ装置２０には、アプリケーション実行装置３０（または他のアプリケーション実行装置）のデバイス情報が既にアップロードされている場合が想定される。したがって、アプリケーション生成装置１０は、サーバ装置２０にアップロードされたデバイス情報を参照しながら、アプリケーションを生成するのが望ましい。これによって、アプリケーションの開発効率が向上し得る。
【００７８】
具体的には、アプリケーション生成装置１０において、判定部１１１は、アプリケーションの開発者による操作に基づいて（あるいは自動的に）、通信部１６０を介してデバイスリスト要求をサーバ装置２０に送信する（Ｓ１２）。サーバ装置２０において、通信部２７０は、デバイスリスト要求を受信する（Ｓ１３）。そして、通信部２７０は、デバイス情報データベース（ＤＢ）から１または複数のデバイス情報が取得された場合、当該１または複数のデバイス情報を、デバイスリストとしてアプリケーション生成装置１０に送信（返信）する（Ｓ１４）。アプリケーション生成装置１０において、判定部１１１は、通信部１６０を介してデバイスリストをサーバ装置２０から受信する（Ｓ１５）。
【００７９】
なお、サーバ装置２０からアプリケーション生成装置１０に返信される１または複数のデバイス情報は、デバイス情報データベース（ＤＢ）に登録されている全部のデバイス情報であってもよいし、開発者によって指定されたアプリケーション実行装置３０のデバイス情報だけに限定されてもよい。判定部１１１は、デバイスリストの各デバイス情報が認識に必要な条件（アプリケーションの実行に必要な条件）を満たすか否かを判定する（Ｓ１６）。認識に必要な条件は限定されない。
【００８０】
図９は、認識に必要な条件の例を示す図である。図９を参照すると、認識に必要な条件の例として、「搭載デバイスに関する条件」「メモリサイズに関する条件」「処理時間に関する条件」「消費電力に関する条件」が示されている。本開示の実施形態では、認識に必要な条件が、これらの条件の全部を含む場合を主に想定する。しかし、認識に必要な条件は、これらの条件の一部のみを含んでもよい。また、認識に必要な条件は、「アプリケーションのサイズに関する条件」を含んでもよい。「アプリケーションのサイズに関する条件」は、通信負荷を考慮し、アプリケーションのサイズが閾値以下であるという条件であってよい。
【００８１】
ここで、「メモリサイズに関する条件」は、認識に必要な計算能力に関する条件（アプリケーションの実行に必要な計算能力に関する条件）の例に該当し得る。また、「処理時間に関する条件」も、認識に必要な計算能力に関する条件（アプリケーションの実行に必要な計算能力に関する条件）の例に該当し得る。さらに、「消費電力に関する条件」も、認識に必要な計算能力に関する条件（アプリケーションの実行に必要な計算能力に関する条件）の例に該当し得る。
【００８２】
「搭載デバイスに関する条件」は、搭載デバイスの種類に関する条件に相当し得る。この「搭載デバイスに関する条件」を搭載デバイスの種類が満たしていればよい。具体的には、図９に示したように、「搭載デバイスに関する条件」は、アプリケーションの特徴データ（図５）の「認識に必要な搭載デバイスの種類（Required  Device）」の集合が、デバイス情報（図６）の「搭載デバイスの種類（Equipped  Device）」の集合に含まれるという条件であってよい。かかる条件が満たされるアプリケーション実行装置は、認識に必要なデータを検出可能である。
【００８３】
「メモリサイズに関する条件」は、認識デバイスが認識に割けるメモリサイズに関する条件に相当し得る。この「メモリサイズに関する条件」を認識デバイスが認識に割けるメモリサイズが満たしていればよい。具体的には、図９に示したように、「メモリサイズに関する条件」は、アプリケーションの特徴データ（図５）の「認識に必要なメモリサイズ（Required  Memory）」が、デバイス情報（図６）の「認識デバイスが認識に割けるメモリサイズ（Available  Total  Memory）以下であるという条件であってよい。かかる条件が満たされるアプリケーション実行装置は、認識に必要なメモリサイズを有している。
【００８４】
「処理時間に関する条件」は、認識デバイスが認識に割ける計算リソース（計算サイクル数／秒）に関する条件に相当し得る。この「処理時間に関する条件」を認識デバイスが認識に割ける計算リソース（計算サイクル数）が満たしていればよい。
【００８５】
具体的には、「処理時間に関する条件」は、アプリケーションの特徴データ（図５）の「認識に必要な計算サイクル数（Calculation  Cycle）」と、デバイス情報（図６）の「認識デバイスが認識に割ける計算リソース（計算サイクル数／秒）（Calculation  Capability）」とに基づく処理時間（より具体的には、図９に示したように、「認識に必要な計算サイクル数（Calculation  Cycle）」を「認識デバイスが認識に割ける計算リソース（計算サイクル数／秒）（Calculation  Capability）」で除して得られる処理時間）が、アプリケーションの特徴データ（図５）の「認識を開始してから完了するまでの許容時間（Expectation  Processing  Time）」以下であるという条件であってよい。かかる条件が満たされるアプリケーション実行装置は、認識に必要な計算リソースを有している。
【００８６】
「消費電力に関する条件」は、認識デバイスが認識に消費する電力に関する条件に相当し得る。この「消費電力に関する条件」を認識デバイスが認識に消費する電力が満たしていればよい。
【００８７】
具体的には、「消費電力に関する条件」は、アプリケーションの特徴データ（図５）の「認識に必要な計算サイクル数（Calculation  Cycle）」と、デバイス情報（図６）の「１サイクルあたりの消費電力（Cycle  per  power）」とに基づく消費時間（より具体的には、図９に示したように、「認識に必要な計算サイクル数（Calculation  Cycle）」に「１サイクルあたりの消費電力（Cycle  perpower）」を乗じて得られる消費電力）が、デバイス情報（図６）の「許容消費電力（Acceptablemaximum  power）」以下であるという条件であってよい。かかる条件が満たされるアプリケーション実行装置は、許容消費電力以下の電力で認識を行うことができる。
【００８８】
認識に必要な条件（図９に示した例では、「搭載デバイスに関する条件」「メモリサイズに関する条件」「処理時間に関する条件」「消費電力に関する条件」）の一つでも満たされないデバイス情報を提供したアプリケーション実行装置は、アプリケーションの実行に適していないと言える。一方、認識に必要な条件の全部が満たされたデバイス情報を提供したアプリケーション実行装置は、アプリケーションの実行に適していると言える。
【００８９】
提示制御部１１２は、これらの条件が満たされるか否かの判定に基づく判定結果が提示部１７０によって提示されるように制御し、提示部１７０は、提示制御部１１２による制御に従って判定結果を提示する（Ｓ１７）。例えば、提示制御部１１２は、上記した「搭載デバイスに関する条件」「メモリサイズに関する条件」「処理時間に関する条件」「消費電力に関する条件」の一つでも満たされないデバイス情報がある場合に、所定のアラートが提示部１７０によって提示されるように制御してもよい。
【００９０】
アラートの種類は限定されない。例えば、アラートは所定の表示（例えば、所定のテキスト、所定の画像など）を含んでもよいし、所定の音を含んでもよい。また、提示制御部１１２は、満たされていない条件に対応する各項目（デバイス情報における項目およびアプリケーションの特徴データにおける項目）およびその値が所定のアラートとともに提示されるように提示部１７０を制御してもよい。
【００９１】
アプリケーション生成装置１０において、アプリケーション登録処理部１１３は、アプリケーションの開発者による操作に基づいて（あるいは自動的に）アプリケーションの特徴データ（アプリケーションを含む）を、通信部１６０を介してサーバ装置２０に送信（登録）する（Ｓ１８）。サーバ装置２０において、通信部２７０は、アプリケーションの特徴データを受信すると（Ｓ１９）、アプリケーションの特徴データをアプリケーション情報データベース（ＤＢ）に追加する。
【００９２】
（アプリケーション実行時の動作）
図８は、本開示の実施形態に係る情報処理システム１のアプリケーション実行時の動作の例を示すフローチャートである。なお、図８に示したフローチャートは、本開示の実施形態に係る情報処理システム１によるアプリケーション実行時の動作の一例を示すに過ぎない。したがって、本開示の実施形態に係る情報処理システム１によるアプリケーション実行時の動作は、図８に示した例に限定されない。
【００９３】
図８に示されたように、アプリケーション実行装置３０において、デバイス情報提供部３１１は、ユーザによる操作（例えば、動作モードをアップデートモードにする操作）に基づいて（あるいは自動的に）、サーバ装置２０に接続し、自身のデバイス情報を、通信部３６０を介してサーバ装置２０に送信（提供）する（Ｓ３１）。サーバ装置２０においては、情報取得部２１１は、アプリケーション実行装置３０からデバイス情報を、通信部２７０を介して受信（取得）する（Ｓ３２）。
【００９４】
判定部２１２は、情報取得部２１１によって受信されたデバイス情報とアプリケーション情報データベース（ＤＢ）とに基づいて、デバイス情報がアプリケーションごとに認識に必要な条件（各アプリケーションの実行に必要な条件）を満たすかを判定する（Ｓ３３）。ここで、判定部２１２によって用いられる「認識に必要な条件」については、アプリケーション生成装置１０における判定部１１１によって用いられる「認識に必要な条件」と同様であってよいため、詳細な説明は割愛する。
【００９５】
認識に必要な条件（図９に示した例では、「搭載デバイスに関する条件」「メモリサイズに関する条件」「処理時間に関する条件」「消費電力に関する条件」）の一つでも満たされないアプリケーションは、アプリケーション実行装置３０での実行に適していないと言える。一方、認識に必要な条件の全部が満たされたアプリケーションは、アプリケーション実行装置３０での実行に適していると言える。
【００９６】
アプリケーション提供部２１３は、認識に必要な条件の全部が満たされたアプリケーションの特徴データ（図５）のうち、アプリケーション名、クラス分類およびクラス分類詳細をアプリケーション情報データベース（ＤＢ）から取得する。さらに、アプリケーション提供部２１３は、認識に必要な条件の全部が満たされたアプリケーションの特徴データ（図５）の「認識に必要な計算サイクル数（Calculation  Cycle）」と、デバイス情報（図６）の「認識デバイスが認識に割ける計算リソース（計算サイクル数／秒）（Calculation  Capability）」とに基づく上記した処理時間を計算する。
【００９７】
アプリケーション提供部２１３は、認識に必要な条件の全部が満たされたアプリケーションに関する情報（アプリケーション名、クラス分類、クラス分類詳細および処理時間）のリストを、通信部２７０を介してアプリケーションリストとしてアプリケーション実行装置３０に送信する（Ｓ３４）。アプリケーションリストにはアプリケーション番号も付加されている。なお、本開示の実施形態では、アプリケーションに関する情報が、アプリケーション名、クラス分類、クラス分類詳細および処理時間の全部を含む場合を主に想定する。しかし、アプリケーションに関する情報は、アプリケーション名、クラス分類、クラス分類詳細および処理時間の一部のみを含んでもよい。
【００９８】
アプリケーション実行装置３０において、アプリケーション取得部３１２は、通信部３６０を介してアプリケーションリストを受信（取得）する（Ｓ３５）。そして、アプリケーション取得部３１２は、アプリケーションリストが端末装置４０の表示装置によって表示されるように制御する。端末装置４０の表示装置は、アプリケーション取得部３１２による制御に従ってアプリケーションリストを表示する。
【００９９】
図１０は、アプリケーション選択画面の例を示す図である。図１０を参照すると、アプリケーション選択画面Ｇ１０が示されている。アプリケーション選択画面Ｇ１０には、認識に必要な条件の全部が満たされたアプリケーションに関する情報（アプリケーション名、クラス分類、クラス分類詳細および処理時間）のリストがアプリケーションリストとして表示されている。
【０１００】
ユーザは、アプリケーションリストを参照して、端末装置４０の入力装置を介してアプリケーション実行装置３０に実行させたいアプリケーションを選択し、端末装置４０の入力装置を介して実行ボタンＢ１１を選択する。アプリケーション取得部３１２は、選択されたアプリケーションに対応する番号（アプリケーション番号）を選択結果として、通信部３６０を介してサーバ装置２０に送信する（Ｓ３７）。選択結果には、認識デバイス番号も付される。なお、ユーザによって端末装置４０の入力装置を介して戻るボタンＢ１２が選択されれば、アプリケーション選択画面Ｇ１０の前画面に遷移される。
【０１０１】
サーバ装置２０において、アプリケーション提供部２１３は、通信部２７０を介して選択結果を受信し（Ｓ３８）、選択結果（選択されたアプリケーション番号）に対応するアプリケーション（アプリケーション本体）を、通信部２７０を介して認識デバイス番号に対応するアプリケーション実行装置３０に送信（返信）する（Ｓ３９）。アプリケーション実行装置３０において、アプリケーション取得部３１２は、通信部３６０を介してアプリケーションを受信（取得）する（Ｓ４０）。
【０１０２】
アプリケーション実行部３１３は、アプリケーションをインストールしてアプリケーション実行装置３０を再起動させ、動作モードをアプリケーション実行モードに移行させる。そして、アプリケーション実行部３１３は、アプリケーションを実行する（アプリケーションに基づく認識を開始する）（Ｓ４１）。
【０１０３】
以上、本開示の実施形態に係る情報処理システム１の動作の例について説明した。
【０１０４】
＜２．ハードウェア構成例＞
次に、図１１を参照しながら、本開示の実施形態に係るアプリケーション生成装置１０、サーバ装置２０およびアプリケーション実行装置３０それぞれのハードウェア構成例の一例としてコンピュータ９０のハードウェア構成例について説明する。図１１は、コンピュータ９０のハードウェア構成例を示すブロック図である。なお、アプリケーション生成装置１０、サーバ装置２０およびアプリケーション実行装置３０それぞれのハードウェアウェア構成は、図１１に示したハードウェア構成例と完全に一致していなくてもよい（例えば、図１１に示したハードウェア構成例から不要な構成は削除されてもよい）。
【０１０５】
図１１に示されるように、コンピュータ９０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０３、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０５を含む。また、コンピュータ９０は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含む。さらに、コンピュータ９０は、撮像装置９３３、およびセンサ９３５を含む。コンピュータ９０は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）またはＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）と呼ばれるような処理回路を有してもよい。
【０１０６】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、コンピュータ９０内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一時的に記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０１０７】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、ユーザの音声を検出するマイクロフォンを含んでもよい。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、コンピュータ９０の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、コンピュータ９０に対して各種のデータを入力したり処理動作を指示したりする。また、後述する撮像装置９３３も、ユーザの手の動き、ユーザの指などを撮像することによって、入力装置として機能し得る。このとき、手の動きや指の向きに応じてポインティング位置が決定されてよい。
【０１０８】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、プロジェクタなどの表示装置、ホログラムの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などであり得る。出力装置９１７は、コンピュータ９０の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。また、出力装置９１７は、周囲を明るくするためライトなどを含んでもよい。
【０１０９】
ストレージ装置９１９は、コンピュータ９０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１１０】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、コンピュータ９０に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１１１】
接続ポート９２３は、機器をコンピュータ９０に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポートなどであり得る。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、コンピュータ９０と外部接続機器９２９との間で各種のデータが交換され得る。
【０１１２】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カードなどであり得る。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１１３】
撮像装置９３３は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）またはＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置９３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【０１１４】
センサ９３５は、例えば、測距センサ、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ９３５は、例えばコンピュータ９０の筐体の姿勢など、コンピュータ９０自体の状態に関する情報や、コンピュータ９０の周辺の明るさや騒音など、コンピュータ９０の周辺環境に関する情報を取得する。また、センサ９３５は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。
【０１１５】
＜３．むすび＞
以上説明したように、本開示の実施形態によれば、デバイスの計算能力に関する情報を提供するデバイス情報提供部と、前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを取得するアプリケーション取得部と、を備える、情報処理装置が提供される。かかる構成によれば、情報処理装置での実行により適したアプリケーションが情報処理装置にダウンロードされるようになる。
【０１１６】
また、アプリケーション生成装置は、情報提供装置にアップロードされたデバイス情報を参照しながら、アプリケーションを生成するのが望ましい。これによって、アプリケーションの開発効率が向上し得る。例えば、アプリケーション生成装置において、提示制御部は、計算能力に関する条件の一つでも満たされないデバイス情報がある場合に、所定のアラートが提示部によって提示されるように制御してもよい。
【０１１７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１１８】
例えば、上記では、認識に必要な条件が満たされたアプリケーションのうち、アプリケーションリストに基づいてユーザによって選択されたアプリケーションがアプリケーション実行装置３０によって取得される場合を主に説明した。しかし、アプリケーションリストに基づくアプリケーションの選択は、ユーザの代わりにアプリケーション実行装置３０によって自動的に行われてもよい。
【０１１９】
例えば、アプリケーション実行装置３０において、アプリケーション取得部３１２は、検出部３２０によって検出されたデータ（検出データ）から環境情報を得ることが可能である場合、アプリケーションに関する情報のリスト（アプリケーションリスト）と環境情報とに基づいて、アプリケーションを選択してもよい。例えば、アプリケーション取得部３１２は、アプリケーションリストに基づいて環境情報に適合するアプリケーションを選択してもよい。そして、アプリケーション取得部３１２は、選択したアプリケーションをサーバ装置２０から通信部３６０を介して取得してもよい。
【０１２０】
例えば、アプリケーションに関する情報のリスト（アプリケーションリスト）が、認識に必要な搭載デバイスの種類を含んでいる場合、アプリケーション取得部３１２は、環境情報に対応する搭載デバイスの種類と認識に必要な搭載デバイスの種類とが適合する場合に、アプリケーションを選択してもよい。
【０１２１】
例えば、アプリケーション取得部３１２は、環境情報が昼の時間帯を示す場合、かつ、昼の時間帯に対応する搭載デバイスの種類がカメラである場合には、認識に必要な搭載デバイスの種類がカメラであるアプリケーションを選択してもよい。一方、アプリケーション取得部３１２は、環境情報が夜の時間帯を示す場合、かつ、夜の時間帯に対応する搭載デバイスの種類がマイクである場合には、認識に必要な搭載デバイスの種類がマイクであるアプリケーションを選択してもよい。
【０１２２】
例えば、環境情報はどのようにして得られてもよい。例えば、アプリケーション実行装置３０のカメラによって得られた画像データの輝度が第１の閾値よりも高い場合に、環境情報が昼の時間帯を示すと判定され、画像データの輝度が第２の閾値よりも低い場合に、環境情報が夜の時間帯を示すと判定されてもよい。
【０１２３】
また、上記では、ユーザまたはアプリケーション実行装置３０によって１つのアプリケーションが選択され、実行される場合について主に説明した。しかし、アプリケーション実行装置３０のリソースが不足しなければ、複数のアプリケーションが同時に選択されてサーバ装置２０から取得され、アプリケーション実行部３１３によって並行して実行されてもよい。すなわち、複数のアプリケーションについて認識に必要な条件が統合されたとしても、統合後の条件が満たされる場合には、当該複数のアプリケーションが同時に選択されてサーバ装置２０から取得され、アプリケーション実行部３１３によって並行して実行されてもよい。
【０１２４】
例えば、アプリケーション取得部３１２は、複数のアプリケーションの実行に必要な計算能力に関する条件を足し合わせたとしても、当該足し合わせた後の条件を計算能力に関する情報が満たす場合に、複数のアプリケーションを取得してもよい。そして、アプリケーション実行部３１３は、当該複数のアプリケーションを並行して実行してもよい。このとき、同一の搭載デバイスに対する競合を防ぐため、複数のアプリケーションの間において、認識に必要な搭載デバイスの種類は異なっているのが望ましい。例えば、一方は、認識に必要な搭載デバイスの種類がカメラであるアプリケーションであり、他方は、認識に必要な搭載デバイスの種類がマイクであるアプリケーションであってもよい。
【０１２５】
また、上記では、認識に必要な条件が満たされたアプリケーションのうち、アプリケーションリストに基づいて選択されたアプリケーションがアプリケーション実行装置３０によって取得される場合を主に説明した。しかし、アプリケーションリストに基づくアプリケーションの選択は、適宜に省略されてもよい。すなわち、サーバ装置２０において、判定部２１２によって認識に必要な条件が満たされたと判定されたアプリケーションが、アプリケーション実行装置３０に提供され、アプリケーション実行装置３０のアプリケーション取得部３１２によって取得されてもよい。
【０１２６】
また、コンピュータに内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上記した制御部１１０が有する機能と同等の機能を発揮させるためのプログラムも作成可能である。また、該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。同様に、ハードウェアを制御部２１０が有する機能と同等の機能を発揮させるためのプログラムも作成可能である。また、該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。また、ハードウェアを、制御部３１０が有する機能と同等の機能を発揮させるためのプログラムも作成可能である。また、該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。
【０１２７】
また、例えば、上記した各装置の機能が実現されれば、各装置の構成の位置は特に限定されない。アプリケーション生成装置１０またはアプリケーション実行装置３０における各構成の一部または全部はサーバ装置２０によって行われてもよい。具体的な一例として、アプリケーション生成装置１０における判定部１１１は、サーバ装置２０に存在していてもよい（例えば、サーバ装置２０の判定部２１２と共通化されていてもよい）。また、アプリケーションリストに基づいてアプリケーションを選択する構成は、アプリケーション実行装置３０の代わりにサーバ装置２０に存在していてもよい。
【０１２８】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１２９】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
デバイスの計算能力に関する情報を提供するデバイス情報提供部と、
前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを取得するアプリケーション取得部と、
を備える、情報処理装置。
（２）
前記計算能力に関する情報は、前記デバイスが前記アプリケーションの実行に割ける単位時間あたりのサイクル数を含み、
前記計算能力に関する条件は、前記単位時間あたりのサイクル数と前記アプリケーションの実行に必要なサイクル数とに基づく処理時間が許容時間以下であるという条件を含む、
前記（１）に記載の情報処理装置。
（３）
前記計算能力に関する情報は、前記デバイスが前記アプリケーションの実行に割けるメモリサイズを含み、
前記計算能力に関する条件は、前記アプリケーションの実行に必要なメモリサイズが前記アプリケーションの実行に割けるメモリサイズ以下であるという条件を含む、
前記（１）または（２）に記載の情報処理装置。
（４）
前記計算能力に関する情報は、前記デバイスの１サイクルあたりの消費電力を含み、
前記計算能力に関する条件は、前記１サイクルあたりの消費電力と前記アプリケーションの実行に必要なサイクル数とに基づく消費電力が許容消費電力以下であるという条件を含む、
前記（１）〜（３）のいずれか一項に記載の情報処理装置。
（５）
前記アプリケーション取得部は、前記アプリケーションの実行に利用可能なデバイスの種類が前記アプリケーションの実行に必要なデバイスの種類に関する条件をさらに満たすことに基づいて、前記アプリケーションを取得する
前記（１）〜（４）のいずれか一項に記載の情報処理装置。
（６）
前記アプリケーションは、ニューラルネットワークを利用したアプリケーションを含む、
前記（１）〜（５）のいずれか一項に記載の情報処理装置。
（７）
前記アプリケーション取得部は、前記計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションに関する情報を取得し、前記アプリケーションに関する情報に基づいて前記アプリケーションが選択された場合に、前記アプリケーションを取得する、
前記（１）〜（６）のいずれか一項に記載の情報処理装置。
（８）
前記アプリケーション取得部は、前記アプリケーションに関する情報が表示されるように表示装置を制御し、ユーザによって前記アプリケーションが選択された場合に、前記アプリケーションを取得する、
前記（７）に記載の情報処理装置。
（９）
前記アプリケーションに関する情報は、前記アプリケーションの実行によって得られる実行結果の種類を含む、
前記（７）に記載の情報処理装置。
（１０）
前記アプリケーション取得部は、前記アプリケーションに関する情報と環境情報とに基づいて前記アプリケーションが選択された場合に、前記アプリケーションを取得する、
前記（７）に記載の情報処理装置。
（１１）
前記アプリケーションに関する情報は、前記アプリケーションの実行に必要なデバイスの種類を含み、
前記アプリケーション取得部は、前記環境情報に対応するデバイスの種類と前記アプリケーションの実行に必要なデバイスの種類とが適合する場合に、前記アプリケーションを選択する、
前記（１０）に記載の情報処理装置。
（１２）
前記情報処理装置は、前記アプリケーションを実行するアプリケーション実行部を備える、
前記（１）〜（１１）のいずれか一項に記載の情報処理装置。
（１３）
前記アプリケーション取得部は、前記計算能力に関する情報が複数のアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記複数のアプリケーションを取得する、
前記（１）〜（１２）のいずれか一項に記載の情報処理装置。
（１４）
プロセッサが、デバイスの計算能力に関する情報を提供することと、
前記プロセッサが、前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを取得することと、
を含む、情報処理方法。
（１５）
デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定する判定部と、
前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを提供する提供部と、
を備える、情報提供装置。
（１６）
プロセッサが、デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定することと、
前記プロセッサが、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを提供することと、
を含む、情報提供方法。
（１７）
デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定する判定部と、
前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たさないことに基づいて、所定のアラートの提示を制御する提示制御部と、
を備える、提示制御装置。
（１８）
前記提示制御装置は、前記アプリケーションを情報提供装置に登録するアプリケーション登録処理部を備える、
前記（１７）に記載の提示制御装置。
（１９）
プロセッサが、デバイスの計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定することと、
前記プロセッサが、前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たさないことに基づいて、所定のアラートの提示を制御することと、
を含む、提示制御方法。
（２０）
情報処理装置と情報提供装置とを有する情報処理システムであって、
前記情報処理装置は、
デバイスの計算能力に関する情報を前記情報提供装置に提供するデバイス情報提供部と、
前記計算能力に関する情報がアプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記情報提供装置から前記アプリケーションを取得するアプリケーション取得部と、
を備え、
前記情報提供装置は、
前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすか否かを判定する判定部と、
前記デバイスの計算能力に関する情報が前記アプリケーションの実行に必要な計算能力に関する条件を満たすことに基づいて、前記アプリケーションを前記情報処理装置に提供する提供部と、
を備える、情報処理システム。
【符号の説明】
【０１３０】
１      情報処理システム
１０    アプリケーション生成装置
１１０  制御部
１１１  判定部
１１２  提示制御部
１１３  アプリケーション登録処理部
１２０  検出部
１２１  カメラ
１３０  操作部
１４０  記憶部
１６０  通信部
１７０  提示部
２０    サーバ装置
２１０  制御部
２１１  情報取得部
２１２  判定部
２１３  アプリケーション提供部
２６０  記憶部
２７０  通信部
３０    アプリケーション実行装置
３１０  制御部
３１１  デバイス情報提供部
３１２  アプリケーション取得部
３１３  アプリケーション実行部
３２０  検出部
３２１  カメラ
３２２  マイク
３３０  操作部
３４０  記憶部
３６０  通信部
３７０  提示部
３９０  バッテリ
４０    端末装置
【図１】
2020075624.tif 000003
【図２】
2020075624.tif 000004
【図３】
2020075624.tif 000005
【図４】
2020075624.tif 000006
【図５】
2020075624.tif 000007
【図６】
2020075624.tif 000008
【図７】
2020075624.tif 000009
【図８】
2020075624.tif 000010
【図９】
2020075624.tif 000011
【図１０】
2020075624.tif 000012
【図１１】
2020075624.tif 000013
【国際調査報告】
2020075624.tif 000014
2020075624.tif 000015
2020075624.tif 000016
2020075624.tif 000017