(57)【特許請求の範囲】
【請求項１】
アプリケーションを実行可能な処理部を有する情報処理装置を制御する制御プログラムであって、
前記情報処理装置に、
前記情報処理装置に格納されている第１のアプリケーションに含まれる前記第１のアプリケーションを制御する第１の制御情報を取得し、
前記情報処理装置に格納されている、制御情報の組み合わせとアプリケーション種別との対応関係を示す種別情報に基づいて前記第１の制御情報に対応する第１のアプリケーション種別を判定し、前記情報処理装置に格納されている、アプリケーション種別に対応するアプリケーションに要求される応答性能情報に基づいて前記第１のアプリケーション種別に対応する第１の応答性能情報を判定し、前記第１のアプリケーションと前記第１の応答性能情報とを対応付けた対応情報を生成し、
前記第１のアプリケーションが稼働している場合、前記対応情報に記載された前記第１のアプリケーションに対応した前記第１の応答性能情報に基づいて前記処理部の動作周波数を制御する、
処理を実行させる制御プログラム。
【請求項２】
アプリケーションのインストール処理に応じて、前記対応情報を生成する請求項１記載の制御プログラム。
【請求項３】
前記第１のアプリケーションが稼働しているか否かを前記第１のアプリケーションの処理に要した前記処理部の割り当て時間から判定することを特徴とする請求項１または２に記載の制御プログラム。
【請求項４】
周辺機器へのアクセスの状態と前記第１の制御情報とを対比させることにより、前記第１のアプリケーションの稼働を判定する請求項１乃至３のいずれか１項に記載の制御プログラム。
【請求項５】
アプリケーションのインストールまたはアンインストールの対象となったアプリケーションに対して、前記対応情報の更新を行うことを特徴とする請求項１記載の制御プログラム。
【請求項６】
前記情報処理装置は、複数のアプリケーションを実行可能であり、
前記対応情報の生成は、情報処理装置で稼働させるアプリケーション毎に生成されており、
前記動作周波数の制御は、稼働中の前記第１のアプリケーションに対応した対応情報に基づいて前記処理部の動作周波数を制御する、
請求項１記載の制御プログラム。
【請求項７】
前記第１のアプリケーションが稼働しているか否かを前記第１のアプリケーションの処理に要した前記処理部の割り当て時間から判定することを特徴とする請求項５または６記載の制御プログラム。
【請求項８】
アプリケーションを実行する処理部を有する情報処理装置を制御する制御方法において、
前記情報処理装置は、
前記情報処理装置に格納されている第１のアプリケーションに含まれる前記第１のアプリケーションを制御する第１の制御情報を取得し、
前記情報処理装置に格納されている、制御情報の組み合わせとアプリケーション種別との対応関係を示す種別情報に基づいて前記第１の制御情報に対応する第１のアプリケーション種別を判定し、前記情報処理装置に格納されている、アプリケーション種別に対応するアプリケーションに要求される応答性能情報に基づいて前記第１のアプリケーション種別に対応する第１の応答性能情報を判定し、前記第１のアプリケーションと前記第１の応答性能情報とを対応付けた対応情報を生成し、
前記第１のアプリケーションが稼働している場合、前記対応情報に記載された前記第１のアプリケーションに対応した前記第１の応答性能情報に基づいて前記処理部の動作周波数を制御する、
ことを特徴とする制御方法。
【請求項９】
アプリケーションを実行する処理部を有する情報処理装置において、
前記情報処理装置に格納されている第１のアプリケーションに含まれる前記第１のアプリケーションを制御する第１の制御情報を取得する取得部と、
制御情報の組み合わせとアプリケーション種別との対応関係を示す種別情報、及び、前記アプリケーション種別に対応するアプリケーションに要求される応答性能情報とを格納する格納部と、
前記種別情報に基づいて前記第１の制御情報に対応する第１のアプリケーション種別を判定し、前記応答性能情報に基づいて前記第１のアプリケーション種別に対応する第１の応答性能情報を判定し、前記第１のアプリケーションと前記第１の応答性能情報とを対応付けた対応情報を生成し、前記第１のアプリケーションが稼働している場合、前記対応情報に記載された前記第１のアプリケーションに対応した前記第１の応答性能情報に基づいて前記処理部の動作周波数を制御する制御部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置の制御プログラム、制御方法及び情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置では、ユーザ当該装置を利用しているか否かを判定し、ＣＰＵの動作周波数を自動的に変更することが一般的に行われている。アプリケーションが動作するために必要な性能情報が既知であれば、アプリケーションが問題なく動作するために必要なＣＰＵの動作周波数を算出し、ＣＰＵの動作周波数を算出された値に設定する。算出された値を用いることで、ＣＰＵの動作周波数を必要以上に高く設定する必要がなくなり、情報処理装置の消費電力を削減することが可能となる。また、スマートフォンなどの携帯端末装置で多く採用されているＯＳではＣＰＵの利用率に応じてＣＰＵの動作周波数を変更する方式が採用されている。この方式では、アプリケーションが必要とする最大の計算能力をＣＰＵに与える。
【０００３】
しかし、スマートフォンの場合、ユーザがスマートフォンを直接操作していない場合でも、リアルタイム性が重要となる場面が存在する。例えば、音楽再生、ＶｏＩＰによる通話、ストリーミングによる音声コンテンツの再生等、スマートフォンにヘッドセットを接続し、スマートフォン本体をユーザの鞄等に収納した状態で利用することがある。そのため、ユーザが直接端末を操作していないが、スマートフォン上にて応答性が重要なアプリケーションを実行していることを検出し、ＣＰＵの動作周波数の抑制の実施と解除を切り替える必要がある。
【０００４】
スマートフォンでは、アプリケーションはネット上のマーケットからダウンロードしたアプリケーションをユーザが自由にインストールすることが可能である。これらアプリケーションのパッケージにはアプリケーションの性能情報やリアルタイム性が必要なアプリケーションであるか否かを判定するために用いられるアプリケーションの種別情報は含まれていない。
【０００５】
先行技術文献としては、下記のものがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平０８−７６８７４号公報
【特許文献２】特開２００５−２８５０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そのため、ユーザがスマートフォンを操作しない場合でもリアルタイム性を実現するためには、ＣＰＵの動作周波数の抑制を実施したり、解除したりするために必要な情報を記述するフィールドを全てのアプリケーションに追加するか、ユーザがインストールしたアプリケーションの種別情報を設定ファイル等に記述する必要がある。
【０００８】
しかし、アプリパッケージの形式の変更やユーザによる登録作業は容易に実行することができないため、現在のアプリパッケージに含まれている情報のみから、アプリケーションの種別情報を推測することが必要である。
【０００９】
本技術の開示での課題は、ユーザがアプリケーションの種別情報の情報を新たに生成することなく、リアルタイム性が必要なアプリケーションであるか否かを判定することができる情報処理装置を提供することである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、アプリケーションを実行可能な処理部を有する情報処理装置を制御する制御プログラムは、前記情報処理装置に、前記アプリケーションに含まれる前記アプリケーションを制御する制御情報を取得し、前記取得した制御情報と、前記情報処理装置に格納されている制御情報の組み合わせと前記アプリケーション種別との対応関係を示す種別情報と、前記アプリケーション種別に対応する前記情報処理装置に格納された前記アプリケーションに要求される応答性能情報とに基づいて、前記アプリケーションと前記アプリケーションに対応した応答性能情報とを対応付けた対応情報を生成し、前記対応情報に記載されたアプリケーションが稼働している場合、前記対応情報に記載された前記アプリケーションに対応した応答性能情報に基づいて前記処理部の動作周波数を制御する処理を実行させる。
【発明の効果】
【００１１】
本開示の技術の一側面によれば、アプリケーションのアクセス制御情報からアプリケーションの種別を推測することにより、ユーザやアプリケーション開発者がアプリケーションの種別情報を新たに用意することなく、リアルタイム性が必要なアプリケーションであるか否かの判定を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】情報処理装置のハードウェア構成を示す図である。
【図２】アプリケーションパッケージの構成とインストール時の格納先について示した図である。
【図３】情報処理装置の機能ブロック図（その１）である。
【図４】アプリ種別判定ルールを示す図である。
【図５】要求性能判定ルールを示す図（その１）である。
【図６】パッケージＤＢを示す図である。
【図７】判定結果表を示す図（その１）である。
【図８】アプリ要求性能事前登録表を示す図である。
【図９】アプリ要求性能リストを示す図（その１）である。
【図１０】アプリ要求性能リストの生成処理に関するフローチャート（その１）である。
【図１１】アプリ種別判定ルールで一致するエントリを検索する処理の詳細を示すフローチャートである。
【図１２】ルール検索を示す図（その１）である。
【図１３】ルール検索を示す図（その２）である。
【図１４】アプリ要求性能リストの生成処理に関するフローチャート（その２）である。
【図１５】アプリ動作有無判定部の動作に関するフローチャート（その１）である。
【図１６】スマートフォンにおけるＣＰＵ動作周波数の制御イメージを示す図（その１）である。
【図１７】要求性能判定ルールを示す図（その２）である。
【図１８】判定結果表を示す図（その２）である。
【図１９】アプリ要求性能リストを示す図（その２）である。
【図２０】スマートフォンにおけるＣＰＵ動作周波数の制御イメージを示す図（その２）である。
【図２１】情報処理装置の機能ブロック図（その２）である。
【図２２】アプリ要求性能リストの生成処理に関するフローチャート（その３）である。
【図２３】アプリ要求性能リストの生成処理に関するフローチャート（その４）を示す。
【図２４】アプリ動作有無判定部の動作に関するフローチャート（その２）である。
【図２５】情報処理装置の機能ブロック図（その３）である。
【図２６】アプリ管理部の機能ブロック図である。
【図２７】アプリ要求性能リストの生成処理に関するフローチャート（その５）を示す。
【図２８】アプリ管理部の処理に関するフローチャートである。
【図２９】アプリ動作有無判定部の動作に関するフローチャート（その３）である。
【発明を実施するための形態】
【００１３】
以下、本実施形態における情報処理装置について説明する。
【００１４】
（実施形態１）
図１は、本実施形態における情報処理装置のハードウェア構成を示す図である。図１に示す情報処理装置１００は、例えばスマートフォンやタブレットＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などの携帯情報端末である。
【００１５】
情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メインメモリ２０２と、補助メモリ２０３と、クロック供給回路２０４と、電圧供給回路２０５と、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）部２０６と、アンテナ２０７と、バッテリ２０８とをハードウェアモジュールとして備えている。また、情報処理装置１００は、電源回路２０９と、カメラモジュール２１０と、ブルートゥースインターフェース２１１と、ＧＰＳモジュール２１２と、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）２１３と、センサ２１４と、外部給電部２１５とをハードウェアモジュールとして備えている。各ハードウェアモジュールは、例えばバス２１６によって接続されている。
【００１６】
ＣＰＵ２０１は、情報処理装置１００の全体の制御を司る。また、ＣＰＵ２０１は、クロック供給回路２０４から供給されるクロック信号及び電圧供給回路２０５から供給される電圧によって動作する。ＣＰＵ２０１は、ソフト処理が不要な時は完全に動作を休止し、外部からの割り込みがあるまでスリープすることで消費電力を削減している。なお、ＣＰＵ２０１はクアッドコアＣＰＵ等、任意の数のコアを有していても良い。
【００１７】
メインメモリ２０２は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メインメモリ２０２は、ＣＰＵ２０１のワークエリアとして使用される。
【００１８】
補助メモリ２０３は、例えば、ハードディスクやフラッシュメモリなどの不揮発メモリである。補助メモリ２０３には、情報処理装置１００を動作させる各種のプログラムが記憶されている。補助メモリ２０３に記憶されたプログラムは、メインメモリ２０２にロードされてＣＰＵ２０１によって実行される。これによって、後述する各種プログラムが情報処理装置１００にて実行されるようになる。
【００１９】
クロック供給回路２０４は、周波数が可変のクロック信号をＣＰＵ２０１へ供給する。クロック供給回路２０４は、例えば、クロック信号を発振する水晶振動子及びＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）などによって実現することができる。電圧供給回路２０５は、電源回路２０９から供給される電力によってＣＰＵ２０１に可変の電圧を供給する。電圧供給回路２０５は、例えば、ボルテージディテクタ及びボルテージレギュレータなどによって実現することができる。
【００２０】
ＲＦ部２０６は、ＣＰＵ２０１からの制御により、高周波信号をアンテナ２０７から他の無線通信装置へ送信するトランスミッタの機能を有する。また、ＲＦ部２０６は、アンテナ２０７によって受信された高周波信号をベースバンド信号に変換してＣＰＵ２０１へ出力するレシーバの機能を有する。
【００２１】
バッテリ２０８は、電源回路２０９へ電力を供給する。バッテリ２０８は、例えばリチウムイオン電池などの電池と電池保護用のＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などによって実現することができる。電源回路２０９は、バッテリ２０８から供給される電力を不図示の電源線を介して情報処理装置１００の各ハードウェアモジュールへ供給する。また、電源回路２０９は、外部給電部２１５に外部電源が接続されている場合は、外部給電部２１５から供給される電力を情報処理装置１００の各ハードウェアモジュールへ供給しても良い。電源回路２０９は、例えばスイッチングレギュレータ及びボルテージレギュレータによって実現することができる。
【００２２】
カメラモジュール２１０は、ＣＰＵ２０１からの制御により、被写体を撮影し、撮影により得られた映像データを取得する。ブルートゥースインターフェース２１１は、ＣＰＵ２０１からの制御により、他の通信装置との間でＢｌｕｅｔｏｏｔｈ（登録商標）による無線通信を行う通信インターフェースである。また、情報処理装置１００は、ブルートゥースインターフェース２１１の他に、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの無線通信インターフェースを備えていてもよい。
【００２３】
ＧＰＳモジュール２１２は、ＣＰＵ２０１からの制御により、人工衛星の発する電波を受信することによって情報処理装置１００の地球上の現在位置を示す位置情報を取得する。
【００２４】
ＬＣＤ２１３は、ＣＰＵ２０１からの制御により、ユーザに対して画像を表示する画像表示装置である。また、ＬＣＤ２１３は、タッチパッドなどの位置入力機能も兼ね備えたタッチパネルであってもよい。
【００２５】
センサ２１４は、ＣＰＵ２０１からの制御により、情報処理装置１００の内部の各状態を示す情報を取得する。センサ２１４としては、例えば、加速度センサ、ジャイロセンサ、照度センサ、地磁気センサ、傾きセンサ、加圧センサ、接近センサ、温度センサなどを挙げることができる。
【００２６】
図２は、本実施形態におけるアプリケーションパッケージ３０４の構成とインストール時の格納先について示した図である。
【００２７】
スマートフォンでは、有料無料を問わず、世界中のアプリケーション開発者が提供するアプリケーションパッケージをユーザがネットワークからダウンロードし、端末にインストールして利用する。そのため、セキュリティ上の理由からアプリケーションパッケージにはデータ通信を行うか否か、無線ＬＡＮを利用するか否か、ＧＰＳを利用した高精度の位置測位を行うか否か、ユーザの個人情報を読取るか否かといったアクセス制御情報が添付されている。ユーザが当該アクセス制御情報を参照し、そのアプリケーションを実際に利用するか否か判定するだけでなく、システムはアプリケーション実行時に、該当アプリケーションパッケージに添付されたアクセス制御情報にない動作をアプリケーションが行おうとした場合にそれを防止する。そのため、スマートフォンでは、アプリケーションのインストール時にパッケージ内のアクセス制御情報は端末内部に保存されている。
【００２８】
アプリケーションパッケージ３０４は、アプリケーション、設定ファイル、付属データ及びアクセス制御情報を有する。アプリ管理部３０１は、各種アプリケーションを管理する。アプリ管理部３０１は、アプリケーション、設定ファイル及び付属データをストレージ３０２に格納する。アプリ管理部３０１は、アプリケーション名、アクセス制御情報及びプログラム等格納先情報をパッケージ情報ＤＢ３０３に格納する。
【００２９】
図３に、図１に示した情報処理装置１００の機能ブロック図を示す。本実施形態では、一定時間間隔でインストール済みアプリケーションのパッケージ情報ＤＢ３０３を調査し、アプリ要求性能リスト３１１を再構成すると共に、アプリケーションが利用しているＣＰＵ時間の観測結果に基づいて、応答性能が重要となるアプリケーションが実際に使われているか否かを判定することについて説明する。
【００３０】
情報処理装置１００は、パッケージ情報ＤＢ３０３、アプリ要求性能事前登録表３０５、アプリ種別判定ルール３０７、アプリ要求性能判定部３０９、アプリ要求性能リスト３１１、アプリ動作有無判定部３１３、カーネル３２３、ミドルウェア３１５、ハード状態検出部３１７、省電力部３１９及びルールＤＢ３２１を有する。カーネル３２３は、タイマ部３２５、プロセス管理部３２７及びＣＰＵ動作周波数制御部３２９を有する。なお、既に説明したものについては同一番号を付し、その説明を省略する。
【００３１】
アプリ要求性能事前登録表３０５は、あるアプリケーションに要求される性能を事前に定義した表である。アプリ種別判定ルール３０７は、アプリケーションの種別を判定するための論理式とアプリケーションの種別とを対応付けたルールである。アプリ要求性能判定部３０９は、パッケージ情報ＤＢ３０３、アプリ要求性能事前登録表３０５及び判定ルール３０７を参照して、アクセス制御情報の組み合わせを解析し、アプリケーションの種類を判定する。そして、アプリ要求性能判定部３０９は、アプリ要求性能リスト３１１を生成する。なお、アプリ要求性能判定部３０９は、これらの動作をタイマ部３２５からの通知に基づいて行う。アプリ要求性能リスト３１１は、後述する判定結果表４４０とアプリ要求性能事前登録表４５０とをマージしたリストである。アプリ動作有無判定部３１３は、タイマ部３２５からの通知に基づいて一定間隔で、アプリケーションのプロセスを読み取って解析を行う。そして、アプリ動作有無判定部３１３は、アプリ要求性能リスト３１１を参照して、監視対象アプリリストに名前があるアプリケーションがＣＰＵタイムを基準値以上消費したことを検出し、監視対象アプリ活性イベント通知を省電力部３１９に対して行う。ミドルウェア３１５は、例えば、Ａｎｄｒｏｉｄフレームワーク（登録商標）等のアプリケーションの土台として機能するソフトウェアである。ミドルウェア３１５は、例えば、ＬＣＤ２１３のオン・オフの変化があったことをハード状態検出部３１７に通知する。ハード状態検出部３１７は、ＬＣＤ２１３の状態変化を検出し、省電力部３１９に通知する。省電力部３１９は、ＣＰＵ動作周波数制御部３２９にＣＰＵ２０１の動作周波数の変更指示を送信する。カーネル３２３は、アプリケーションや周辺機器の監視、メモリ等の資源の管理、割り込み処理等の機能を提供する。タイマ部３２５は、時刻情報を取得する。プロセス管理部３２７は、アプリケーションのプロセスを管理する。ＣＰＵ動作周波数制御部３２９は、ＣＰＵ２０１の動作周波数を制御する。
【００３２】
図４に、アプリ種別判定ルール３０７を示す。スマートフォンでは、マーケットに対して誰でも開発したアプリケーションを自由に登録可能であるため、アプリケーションによる端末内のデータや周辺機器に対するアクセスを制御するためのアクセス制御情報がアプリケーションに含まれている。ユーザはアプリケーションのインストール時にアクセス制御情報を参照し、望まないデータや周辺機器へのアクセスの有無を確認し、アプリケーションをインストールするか否かを判断する。また、アプリケーション実行中はＯＳのセキュリティ機能により、アプリケーションのアクセス制御情報に記述のないデータや周辺機器へのアクセスがあった場合に、ブロックする。アクセス制御情報には、個人情報へのアクセスだけでなく、録音、カメラの利用、ＬＣＤをオフにしている状態でも端末が定期的なスリープ状態に移行することを防止するなどの項目がある。本実施形態では、１つのアプリケーションに含まれる複数のアクセス制御情報を論理式に当てはめることにより、アプリケーションの種別を判定することが可能であることに着目している。
【００３３】
アプリ種別判定ルール３０７は、式４１２とアクション４１４とを有する。式４１２は、アプリケーションの種別を判定するための論理式を示している。アクション４１４は、式４１２から判定されるアプリケーションの種別を示している。例えば、アプリケーションに含まれるアクセス制御情報が論理式「端末のスリープ防止ａｎｄ 録音 ａｎｄ （音声設定変更 ｏｒ 端末設定全般変更）ａｎｄ完全なインターネットアクセス」を満たす場合、アプリケーションの種別は「ＶｏＩＰ」と判定される。ここで、アプリケーションの種別とは、アプリケーションが使用するファイル転送方式や利用する機器の情報を示す。
【００３４】
図５に、要求性能判定ルール４２０を示す。要求性能判定ルール４２０は、式４１２とアクション４１４とを有する。式４１２は、アプリケーションの種別を示している。アクション４１４は、式４１２に示されているアプリケーションの種別に対応するアクションを示している。要求性能判定ルール４２０は、例えば、アプリケーションの種別が、「ＶｏＩＰまたはストリーミングまたはＩＣレコーダ」である場合、ＬＣＤ２１３がオフ時でもリアルタイム応答が必要であることを示す。ここで、アプリケーションの要求性能とは、ＬＣＤ２１３がＯＦＦの時でも当該アプリケーションにリアルタイム応答が要求されることを示す。
【００３５】
図６に、パッケージＤＢ４３０を示す。パッケージＤＢ４３０は、アプリ名４３２と、アクセス制御情報４３４と、作者情報４３６と及びファイル情報４３８とを有する。アプリ名４３２はアプリケーションの名称を示す。アクセス制御情報４３４は、アプリケーションによる端末内のデータや周辺機器に対するアクセスを制御するための情報である。アクセス制御情報４３４は、例えば、「端末のスリープ防止」、「録音」、「音声設定変更」、「完全なインターネットアクセス」等を有する。作者情報は、アプリケーションの作者の情報を示す。ファイル情報４３８は、アプリパッケージ更新及び削除に利用する情報である。
【００３６】
例えば、アプリＡは、「端末のスリープ防止」、「録音」、「音声設定変更」及び「完全なインターネットアクセス」が許可されている。一方、例えばアプリＧは、「端末のスリープ防止」及び「完全なインターネットアクセス」が許可されている。アクセス制御情報４３４から、それぞれアプリＡ及びアプリＢはＶｏＩＰ、アプリＣはストリーミング、アプリＤはＩＣレコーダ、アプリＥはブラウザ、アプリＦは音声検索、アプリＧはナビ系のアプリケーションであることが分かる。
【００３７】
図７に、判定結果表４４０を示す。判定結果表４４０は、アプリ名４３２及び要求性能４４４を有する。アプリ要求性能判定部３０９は、アプリ種別判定ルール３０７、要求性能判定ルール４２０及びパッケージ情報ＤＢ３０３に基づいて、判定結果表４４０を生成する。判定結果表４４０は、あるアプリケーションに対して、ＬＣＤ２１３がオフ時にリアルタイム応答が必要か否かを示している。
【００３８】
図８に、アプリ要求性能事前登録表３０５を示す。アプリ要求性能事前登録表３０５は、アプリ名４３２及び要求性能４４４を有する。アプリ要求性能事前登録表３０５は、管理者によって事前に生成される。アプリ要求性能事前登録表３０５は、例えば、ＯＳ標準サービスＸはＬＣＤ２１３がオフ時にリアルタイム応答が必要であることを示している。
【００３９】
図９に、アプリ要求性能リスト３１１を示す。アプリ要求性能リスト３１１は、アプリ名４３２及び要求性能４４４を有する。アプリ要求性能判定部３０９は、判定結果表４４０とアプリ要求性能事前登録表３０５とをマージすることでアプリ要求性能リスト３１１を生成する。
【００４０】
図１０に、アプリ要求性能リスト３１１の生成処理に関するフローチャートを示す。
【００４１】
Ｓ１０１において、アプリ要求性能判定部３０９は、パッケージ情報ＤＢ３０３からアクセス制御情報を読み取る。アプリ要求性能判定部３０９は、処理をＳ１０２へ移行する。
【００４２】
Ｓ１０２において、アプリ要求性能判定部３０９は、読み取ったアクセス制御情報に基づいて、アプリ種別判定ルール３０７を参照して、一致するエントリを検索する。アプリ要求性能判定部３０９は、処理をＳ１０３へ移行する。
【００４３】
Ｓ１０３において、アプリ要求性能判定部３０９は、一致したルールのアクションを参照して、アプリケーションの種別を判定する。アプリ要求性能判定部３０９は、処理をＳ１０４へ移行する。
【００４４】
Ｓ１０４において、アプリ要求性能判定部３０９は、アプリケーションの種別が定義済みか否かを判定する。アプリケーションの種別が定義済みである場合、アプリ要求性能判定部３０９は、処理をＳ１０７へ移行する。一方、アプリケーションの種別が定義済みでない場合、アプリ要求性能判定部３０９は、処理をＳ１０５へ移行する。
【００４５】
Ｓ１０５において、アプリ要求性能判定部３０９は、要求性能判定ルール４２０を参照して、アプリケーションの種別に対応するアクションを検索する。アプリ要求性能判定部３０９は、処理をＳ１０６へ移行する。
【００４６】
Ｓ１０６において、アプリ要求性能判定部３０９は、判定結果表４４０にアプリ名と要求性能とを対応付けて書き込む。アプリ要求性能判定部３０９は、処理をＳ１０７へ移行する。
【００４７】
Ｓ１０７において、アプリ要求性能判定部３０９は、全てのアプリケーションに対して処理を行ったか否かを判定する。全てのアプリケーションに対して処理を行った場合、アプリ要求性能判定部３０９は、処理をＳ１０８へ移行する。全てのアプリケーションに対して処理を行っていない場合、アプリ要求性能判定部３０９は、処理をＳ１０１へ戻す。
【００４８】
Ｓ１０８において、アプリ要求性能判定部３０９は、アプリ要求性能事前登録表３０５と判定結果表４４０とをマージする。アプリ要求性能判定部３０９は、処理をＳ１０９へ移行する。
【００４９】
Ｓ１０９において、アプリ要求性能判定部３０９は、Ｓ１０８におけるマージ処理に基づいてアプリ要求性能リスト３１１を生成する。アプリ要求性能判定部３０９は、処理を終了する。
【００５０】
図１１は、図１０を用いて説明したＳ１０２におけるアプリケーションの種別判定ルールで一致するエントリを検索する処理の詳細を示すフローチャートである。
【００５１】
Ｓ１１１において、アプリ要求性能判定部３０９は、アプリケーションの種別判定ルール３０７を参照して、図１２に示すようにアクセス制御情報のうちアプリケーションの種別判定ルール３０７に出現するものをマーキングする。アプリ要求性能判定部３０９は、処理をＳ１１２へ移行する。
【００５２】
Ｓ１１２において、アプリ要求性能判定部３０９は、図１２に示すようにアプリケーションの種別判定ルール３０７に出現しなかったアクセス制御情報を削除する。アプリ要求性能判定部３０９は、処理をＳ１１３へ移行する。
【００５３】
Ｓ１１３において、アプリ要求性能判定部３０９は、各ルールに対して、ルール中に出現しなかったアクセス制御情報がないアプリケーションしか適合しないように、否定条件を追加する。否定条件を追加したアプリケーションの種別判定ルール３０７を図１３に示す。アプリ要求性能判定部３０９は、処理を終了する。
【００５４】
図１４に、アプリ要求性能リスト３１１の生成処理に関するフローチャートを示す。
【００５５】
Ｓ１２１において、アプリ要求性能判定部３０９は、タイマ部３２５から一定時間が経過した旨の通知があったか否かを判定する。タイマ部３２５から一定時間が経過した旨の通知があった場合、アプリ要求性能判定部３０９は処理をＳ１２２へ移行する。一方、タイマ部３２５から一定時間が経過した旨の通知がない場合、アプリ要求性能判定部３０９は処理をＳ１２１へ戻す。
【００５６】
Ｓ１２２において、アプリ要求性能判定部３０９は、アプリ要求性能リスト３１１の生成処理を行う。アプリ要求性能判定部３０９は、処理を終了する。
【００５７】
図１５に、アプリ動作有無判定部３１３の動作に関するフローチャートを示す。
【００５８】
Ｓ１３１において、アプリ動作有無判定部３１３は、タイマ部３２５から一定時間が経過した旨の通知があったか否かを判定する。タイマ部３２５から一定時間が経過した旨の通知があった場合、アプリ動作有無判定部３１３は処理をＳ１３２へ移行する。一方、タイマ部３２５から一定時間が経過した旨の通知がない場合、アプリ動作有無判定部３１３は処理をＳ１３１へ戻す。
【００５９】
Ｓ１３２において、アプリ動作有無判定部３１３は、プロセス管理部３２７からアプリケーションのプロセス情報を取得し、解析を行う。アプリ動作有無判定部３１３は、処理をＳ１３３へ移行する。
【００６０】
Ｓ１３３において、アプリ動作有無判定部３１３は、アプリ要求性能リスト３１１を参照して、アプリ名を取得する。アプリ動作有無判定部３１３は、処理をＳ１３４へ移行する。
【００６１】
Ｓ１３４において、アプリ動作有無判定部３１３は、Ｓ１３３において取得したアプリ名に対応するアプリケーションが消費したＣＰＵタイムを取得する。アプリ動作有無判定部３１３は、処理をＳ１３５へ移行する。
【００６２】
Ｓ１３５において、アプリ動作有無判定部３１３は、消費したＣＰＵタイムが基準値以上のアプリケーションが存在するか否かを判定する。消費したＣＰＵタイムが基準値以上のアプリケーションが存在する場合、アプリ動作有無判定部３１３は、処理をＳ１３６へ移行する。一方、消費したＣＰＵタイムが基準値以上のアプリケーションが存在しない場合、アプリ動作有無判定部３１３は、処理を終了する。
【００６３】
Ｓ１３６において、アプリ動作有無判定部３１３は、消費したＣＰＵタイムが基準値以上のアプリケーションが存在する旨を省電力部３１９に通知する。省電力部３１９は、ＣＰＵ動作周波数制御部３２９にＣＰＵ動作周波数制御変更指示を通知することで、ＣＰＵ動作周波数制御部３２９にＣＰＵの動作周波数を制御させる。アプリ動作有無判定部３１３は、処理を終了する。
【００６４】
図１６に、スマートフォンにおけるＣＰＵ動作周波数の制御イメージを示す。本実施形態では、ＬＣＤ２１３をオフにした状態で利用するアプリケーションにリアルタイム応答が必要か否かを判定している。ＬＣＤ２１３がオンである場合と、ＬＣＤ２１３がオフであるがＶｏＩＰ等を利用するアプリケーションを動作させている場合は、端末をユーザが直接操作していると判定し、ＣＰＵの動作周波数を高く設定する、もしくは、ＯＳのカーネルがＣＰＵの動作周波数を高く設定できるように、パラメータを調整する。
【００６５】
また、図１７に、アプリケーションの要求性能の内容が異なり、要求性能が複雑になる場合の要求性能判定ルール４２０を示す。ＶｏＩＰ等のアプリケーションを処理の遅延に対する耐性に基づいて、複数の段階に分割する。以後は上述した処理と同様に、図１８に示した判定結果表４４０を用いて、図１９に示したアプリ要求性能リスト３１１を生成する。
【００６６】
図２０に、スマートフォンにおけるＣＰＵ動作周波数の制御イメージを示す。本実施形態では、ＬＣＤ２１３がオフである状態でＶｏＩＰ等のアプリケーションを利用中である場合に、ＯＳのカーネル３２３に対して設定するＣＰＵ２０１の動作周波数の上限値を変化させる。
【００６７】
（実施形態２）
図２１に、図１に示した情報処理装置１００の機能ブロック図を示す。本実施形態では、アプリケーションの動作の判定をデバイスアクセスの検出で実施し、アプリ要求性能リスト３１１の生成を、インストーラの動作終了のイベントで実施する場合について説明する。
【００６８】
情報処理装置１００は、パッケージ情報ＤＢ３０３、アプリ要求性能事前登録表３０５、アプリ種別判定ルール３０７、アプリ管理部３０１、アプリ要求性能判定部３０９、アプリ要求性能リスト３１１、アプリ動作有無判定部３１３、カーネル３２３、ミドルウェア３１５、ハード状態検出部３１７、省電力部３１９及びルールＤＢ３２１を有する。カーネル３２３は、タイマ部３２５、デバイスドライバ３３１及びＣＰＵ動作周波数制御部３２９を有する。なお、上述したものについては同一番号を付し、その説明を省略する。
【００６９】
アプリ管理部３０１は、アプリ要求性能判定部３０９にアプリメンテナンスイベント通知を行う。アプリ管理部３０１は、アプリケーションのインストールやアンインストールの完了をアプリ要求性能判定部３０９に通知する。デバイスドライバ３３１は、デバイスへのアクセスを検出し、アプリ動作有無判定部３１３にデバイスアクセスイベント通知を行う。アプリ動作有無判定部３１３は、省電力部３１９に監視対象アプリ活性イベント通知を行う。アプリ動作有無判定部３１３は、省電力部３１９に監視対象アプリリストに名前が存在するアプリケーションが特定のデバイスにアクセスしたことを通知する。
【００７０】
図２２に、アプリ要求性能リスト３１１の生成処理に関するフローチャートを示す。
【００７１】
Ｓ２０１において、アプリ要求性能判定部３０９は、デバイスドライバ３３１からデバイスアクセスを検出した旨の通知があったか否かを判定する。デバイスドライバ３３１からデバイスアクセスを検出した旨の通知があった場合、アプリ要求性能判定部３０９は処理をＳ２０２へ移行する。一方、デバイスドライバ３３１からデバイスアクセスを検出した旨の通知がない場合、アプリ要求性能判定部３０９は処理をＳ２０１へ戻す。
【００７２】
Ｓ２０２において、アプリ要求性能判定部３０９は、アプリ要求性能リスト３１１の生成処理を行う。アプリ要求性能判定部３０９は、処理を終了する。
【００７３】
図２３に、アプリ要求性能リスト３１１の生成処理に関するフローチャートを示す。
【００７４】
Ｓ２１１において、アプリ要求性能判定部３０９は、アプリ管理部３０１からアプリメンテナンスイベント通知があったか否かを判定する。アプリ管理部３０１からアプリメンテナンスイベント通知があった場合、アプリ要求性能判定部３０９は処理をＳ２１２へ移行する。一方、アプリ管理部３０１からアプリメンテナンスイベント通知がない場合、アプリ要求性能判定部３０９は処理をＳ２１１へ戻す。
【００７５】
Ｓ２１２において、アプリ要求性能判定部３０９は、アプリ要求性能リスト３１１の生成処理を行う。アプリ要求性能判定部３０９は、処理を終了する。
【００７６】
図２４に、本実施形態におけるアプリ動作有無判定部３１３の動作に関するフローチャートを示す。
【００７７】
Ｓ２２１において、アプリ動作有無判定部３１３は、デバイスドライバ３３１からデバイスアクセスを検出した旨の通知があったか否かを判定する。デバイスドライバ３３１からデバイスアクセスを検出した旨の通知があった場合、アプリ要求性能判定部３０９は処理をＳ２２２へ移行する。一方、デバイスドライバ３３１からデバイスアクセスを検出した旨の通知がない場合、アプリ要求性能判定部３０９は処理をＳ２２１へ戻す。
【００７８】
Ｓ２２２において、アプリ動作有無判定部３１３は、アプリ要求性能リスト３１１を参照して、アプリ名を取得する。アプリ動作有無判定部３１３は、処理をＳ２２３へ移行する。
【００７９】
Ｓ２２３において、アプリ動作有無判定部３１３は、Ｓ２２２において取得したアプリ名に対応するアプリケーションが特定のデバイスにアクセスしたか否かを判定する。Ｓ２２２において取得したアプリ名に対応するアプリケーションが特定のデバイスにアクセスした場合、アプリ動作有無判定部３１３は、処理をＳ２２４へ移行する。一方、Ｓ２２２において取得したアプリ名に対応するアプリケーションが特定のデバイスにアクセスしていない場合、アプリ動作有無判定部３１３は、処理を終了する。
【００８０】
Ｓ２２４において、アプリ動作有無判定部３１３は、Ｓ２２２において取得したアプリ名に対応するアプリケーションが特定のデバイスにアクセスした旨を省電力部３１９に通知する。省電力部３１９は、ＣＰＵ動作周波数制御部３２９にＣＰＵ動作周波数制御変更指示を通知することで、ＣＰＵ動作周波数制御部３２９にＣＰＵの動作周波数を制御させる。アプリ動作有無判定部３１３は、処理を終了する。
【００８１】
（実施形態３）
図２５に、図１に示した情報処理装置１００の機能ブロック図を示す。本実施形態では、アプリケーションが動作しているか否かの判定はアプリケーションの処理に要したＣＰＵの割り当て時間とデバイスアクセスの有無の両方を用い、アプリ要求性能リスト３１１の生成機能をアプリケーションのインストーラの中に作り込んだ場合について説明する。
【００８２】
情報処理装置１００は、ストレージ３０２、パッケージ情報ＤＢ３０３、アプリ要求性能事前登録表３０５、判定ルール３０７、アプリ管理部３０１、アプリケーションパッケージ３０４、アプリ要求性能リスト３１１、アプリ動作有無判定部３１３、カーネル３２３、ミドルウェア３１５、ハード状態検出部３１７、省電力部３１９及びルールＤＢ３２１を有する。カーネル３２３は、タイマ部３２５、デバイスドライバ３３１、プロセス管理部３２７及びＣＰＵ動作周波数制御部３２９を有する。なお、上述したものについては同一番号を付し、その説明を省略する。
【００８３】
アプリ管理部３０１は、アプリケーションのインストールまたはアンインストール時にアプリ要求性能リスト３１１を更新する。アプリ動作有無判定部３１３は、タイマ部３２５からの通知に基づいて一定間隔で、アプリケーションのプロセスを読み取って解析を行う。そして、アプリ動作有無判定部３１３は、アプリ要求性能リスト３１１を参照して、監視対象アプリリストに名前があるアプリケーションがＣＰＵタイムを基準値以上消費したことを検出し、監視対象アプリ活性イベント通知を省電力部３１９に対して行う。また、アプリ動作有無判定部３１３にデバイスアクセスイベント通知を行う。アプリ動作有無判定部３１３は、省電力部３１９に監視対象アプリリストに名前が存在するアプリケーションが特定のデバイスにアクセスしたことを通知する。
【００８４】
図２６に、アプリ管理部３０１の機能ブロック図を示す。アプリ管理部３０１は、インストール処理部３３３、アンインストール処理部３３５、アプリリスト削除処理部３３７、アクセス権限変更部３３９、アプリリストクラス変更部３４１及びアプリリスト追加処理部３４３を有する。インストール処理部３３３はインストール処理を行う。アンインストール処理部３３５はアンインストール処理を行う。アクセス権限変更部３３９は、アクセス権限の変更を行う。アプリリストクラス変更部３４１は、アプリ要求性能リスト３１１に対してアプリケーションのクラス変更を行う。アプリリスト追加処理部３４３は、アプリ要求性能リスト３１１に対して新たにアプリケーション名を追加する。
【００８５】
図２７に、アプリ要求性能リスト３１１の生成処理に関するフローチャートを示す。
【００８６】
Ｓ３０１において、アプリ管理部３０１は、アプリケーションのインストール処理またはアンインストール処理のいずれかが完了したか否かを判定する。アプリケーションのインストール処理またはアンインストール処理のいずれかが完了した場合、アプリ管理部３０１は、処理をＳ３０２へ移行する。一方、アプリケーションのインストール処理またはアンインストール処理のいずれかが完了していない場合、アプリ管理部３０１は、処理をＳ３０１に戻す。
【００８７】
Ｓ３０２において、アプリ管理部３０１は、アプリ要求性能リスト３１１の生成処理を行う。アプリ要求性能判定部３０９は、処理を終了する。
【００８８】
図２８にアプリ管理部３０１の処理に関するフローチャートを示す。
【００８９】
Ｓ３１１において、アクセス権限変更部３３９は、処理内容を判定する。処理内容がアクセス権限変更の場合、アクセス権限変更部３３９は、処理をＳ３１２へ移行する。また、処理内容がアンインストールの場合、アクセス権限変更部３３９は、処理をＳ３１４へ移行する。さらに、処理内容がインストールの場合、アプリ管理部３０１は、処理をＳ３１６へ移行する。
【００９０】
Ｓ３１２において、アクセス権限変更部３３９は、アクセス権限変更処理を行う。アプリリストクラス変更部３４１は、処理をＳ３１３へ移行する。
【００９１】
Ｓ３１３において、アプリリストクラス変更部３４１は、アプリ要求性能リスト３１１に対してアプリケーションのクラス変更を行う。アプリリストクラス変更部３４１は、処理を終了する。
【００９２】
Ｓ３１４において、アンインストール処理部３３５は、アンインストール処理を行う。アンインストール処理部３３５は、処理をＳ３１５へ移行する。
【００９３】
Ｓ３１５において、アプリリスト削除処理部３３７、アプリ要求性能リスト３１１に対してアプリケーション名の削除処理を行う。アプリリスト削除処理部３３７は、処理を終了する。
【００９４】
Ｓ３１６において、インストール処理部３３３は、インストール内容を判定する。インストール内容が新規インストールの場合、インストール処理部３３３は、処理をＳ３１７へ移行する。一方、インストール内容がバージョンアップインストールの場合、インストール処理部３３３は、処理をＳ３１９へ移行する。
【００９５】
Ｓ３１７において、インストール処理部３３３は、インストール処理を実行する。アプリ管理部３０１は、処理をＳ３１８へ移行する。
【００９６】
Ｓ３１８において、アプリリスト追加処理部３４３は、アプリ要求性能リスト３１１に対してアプリケーション名の追加処理を行う。アプリリスト追加処理部３４３は、処理を終了する。
【００９７】
Ｓ３１９において、インストール処理部３３３は、アクセス制御情報の変更が有るか否かを判定する。アクセス制御情報の変更が有る場合、インストール処理部３３３は、処理をＳ３２０へ移行する。一方、アクセス制御情報の変更が無い場合、インストール処理部３３３は、処理をＳ３２２へ移行する。
【００９８】
Ｓ３２０において、インストール処理部３３３は、バージョンアップ処理を実行する。インストール処理部３３３は、処理をＳ３２１へ移行する。
【００９９】
Ｓ３２１において、アプリリストクラス変更部３４１は、アプリ要求性能リスト３１１に対してアプリケーションのクラス変更を行う。アプリリストクラス変更部３４１は、処理を終了する。
【０１００】
Ｓ３２２において、インストール処理部３３３は、バージョンアップ処理を実行する。アプリ管理部３０１は、処理を終了する。
【０１０１】
図２９に、アプリ動作有無判定部３１３の動作に関するフローチャートを示す。
【０１０２】
Ｓ３３１において、アプリ動作有無判定部３１３は、タイマ部３２５から一定時間が経過した旨の通知があったか否かを判定する。タイマ部３２５から一定時間が経過した旨の通知があった場合、アプリ動作有無判定部３１３は処理をＳ３３３へ移行する。一方、タイマ部３２５から一定時間が経過した旨の通知がない場合、アプリ動作有無判定部３１３は処理をＳ３３２へ移行する。
【０１０３】
Ｓ３３２において、アプリ動作有無判定部３１３は、デバイスドライバ３３１からデバイスアクセスを検出した旨の通知があったか否かを判定する。デバイスドライバ３３１からデバイスアクセスを検出した旨の通知があった場合、アプリ要求性能判定部３０９は処理をＳ３３３へ移行する。一方、デバイスドライバ３３１からデバイスアクセスを検出した旨の通知がない場合、アプリ要求性能判定部３０９は処理をＳ３３１へ戻す。
【０１０４】
Ｓ３３３において、アプリ動作有無判定部３１３は、プロセス管理部３２７からアプリケーションのプロセス情報を取得し、解析を行う。アプリ動作有無判定部３１３は、処理をＳ３３４へ移行する。
【０１０５】
Ｓ３３４において、アプリ動作有無判定部３１３は、アプリ要求性能リスト３１１を参照して、アプリ名を取得する。アプリ動作有無判定部３１３は、処理をＳ３３５へ移行する。
【０１０６】
Ｓ３３５において、アプリ動作有無判定部３１３は、Ｓ３３４において取得したアプリ名に対応するアプリケーションが消費したＣＰＵタイムを取得する。アプリ動作有無判定部３１３は、処理をＳ３３６へ移行する。
【０１０７】
Ｓ３３６において、アプリ動作有無判定部３１３は、消費したＣＰＵタイムが基準値以上のアプリケーションが存在するか否か、また、Ｓ３３４において取得したアプリ名に対応するアプリケーションが特定のデバイスにアクセスしたか否かを判定する。この判定を満たす場合、アプリ動作有無判定部３１３は、処理をＳ３３７へ移行する。一方、この判定を満たさない場合、アプリ動作有無判定部３１３は、処理を終了する。
【０１０８】
Ｓ３３７において、アプリ動作有無判定部３１３は、省電力部３１９に、ＣＰＵ動作周波数制御部３２９に対してＣＰＵ動作周波数制御変更指示を通知させることで、ＣＰＵ動作周波数制御部３２９にＣＰＵの動作周波数を制御させる。アプリ動作有無判定部３１３は、処理を終了する。
【０１０９】
本実施形態では、アプリ要求性能リストの生成方法とアプリケーションの動作の判定方法や実装手法の差により複数の実施例が構成可能である。アプリの要求性能リストの生成機能の実装方法は大きく分けて、「一定時間間隔でパッケージ情報ＤＢからアプリ要求性能リストを再構成する方法」、「インストーラによる何らかの処理の終了をトリガとして、要求性能リストを再構成する方法」及び「インストーラ内部に要求性能リストを再構成する機能を埋め込む方法」の３つ存在する。
【０１１０】
また、同様にアプリケーションの動作を判定するための方法は大きく分けて、「一定時間間隔でアプリが利用したＣＰＵ時間をチェックして、チェックしたＣＰＵ時間に基づき判定する方法」、「周辺機器へのアクセスを検出する方法」及び「一定時間間隔でアプリケーションが利用したＣＰＵ時間をチェックして、チェックしたＣＰＵ時間に基づき判定する方法と、周辺機器へのアクセスを検出する方法とを併用する方法」の３つ存在する。
【０１１１】
本実施形態で説明した以外にも、「一定時間間隔でパッケージ情報ＤＢからアプリ要求性能リストを再構成する方法」と「周辺機器へのアクセスを検出する方法」とを組み合わせた実施例、「一定時間間隔でパッケージ情報ＤＢからアプリ要求性能リストを再構成する方法」と「一定時間間隔でアプリケーションが利用したＣＰＵ時間をチェックして、チェックしたＣＰＵ時間に基づき判定する方法と、周辺機器へのアクセスを検出する方法とを併用する方法」とを組み合わせた実施例がある。
【０１１２】
また、「インストーラによる何らかの処理の終了をトリガとして、要求性能リストを再構成する方法」と「周辺機器へのアクセスを検出する方法」とを組み合わせた実施例、「インストーラによる何らかの処理の終了をトリガとして、要求性能リストを再構成する方法」と「一定時間間隔でアプリケーションが利用したＣＰＵ時間をチェックして、チェックしたＣＰＵ時間に基づき判定する方法と、周辺機器へのアクセスを検出する方法とを併用する方法」とを組み合わせた実施例がある。
【０１１３】
さらに、「インストーラ内部に要求性能リストを再構成する機能を埋め込む方法」と「一定時間間隔でアプリケーションが利用したＣＰＵ時間をチェックして、チェックしたＣＰＵ時間に基づき判定する方法」とを組み合わせた実施例、「インストーラ内部に要求性能リストを再構成する機能を埋め込む方法」と「周辺機器へのアクセスを検出する方法」とを組み合わせた実施例がある。
【０１１４】
以上、本実施形態によれば、スマートフォンのアプリパッケージに付属するアプリケーションのアクセス制御情報の内容からアプリケーションの種類を推測することにより、端末ユーザやアプリ開発者がアプリケーションの種別の情報を新規に用意することなく、アプリケーションの要求性能の判定（リアルタイム性が必要なアプリケーションであるか否かの種別判定）を行うことができる。この判定結果に基づいて、ＬＣＤがオフの状態におけるＣＰＵの動作周波数の抑制の実施と解除を制御することにより、スマートフォンの消費電力の削減とユーザの体感性能の確保を両立させることが可能となる。
【０１１５】
また、本実施形態によれば、例えば、音楽再生、ＶｏＩＰによる通話、ストリーミングによる音声コンテンツの再生等、ユーザが直接操作していない場合でも、リアルタイム性が重要となる利用シーンにおいて、ＬＣＤがオフであっても、応答性が重要なアプリケーションを実行していることを検出し、ＣＰＵの動作周波数の抑制の実施と解除を切り替えることができる。ゆえに、例えば、ＬＣＤがオフの時でも、応答性が重要なアプリケーションが実行されている場合は、電力設定を処理優先モードに切り替えることで、音飛び等が発生することを防ぐことができる。
【０１１６】
以上、本発明の例示的な実施の形態の情報処理装置について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１１７】
１００  情報処理装置
２０１  ＣＰＵ
２０２  メインメモリ
２０３  補助メモリ
２０４  クロック供給回路
２０５  電圧供給回路
２０６  ＲＦ部
２０７  アンテナ
２０８  バッテリ
２０９  電源回路
２１０  カメラモジュール
２１１  ブルートゥースインターフェース
２１２  ＧＰＳモジュール
２１３  ＬＣＤ
２１４  センサ
２１５  外部給電部
２１６  バス
３０１  アプリ管理部
３０２  ストレージ
３０３  パッケージ情報ＤＢ
３０４  アプリパッケージ
３０５  アプリ要求性能事前登録表
３０７  アプリ種別判定ルール
３０９  アプリ要求性能判定部
３１１  アプリ要求性能リスト
３１３  アプリ動作有無判定部
３１５  ミドルウェア
３１７  ハード状態検出部
３１９  省電力部
３２１  ルールＤＢ
３２３  カーネル
３２５  タイマ部
３２７  プロセス管理部
３２９  ＣＰＵ動作周波数制御部
３３１  デバイスドライバ
３３３  インストール処理部
３３５  アンインストール処理部
３３７  アプリリスト削除処理部
３３９  アクセス権限変更部
３４１  アプリリストクラス変更部
３４３  アプリリスト追加処理部
４１２  式
４１４  アクション
４３２  アプリ名
４３４  アクセス制御情報
４３６  作者情報
４３８  ファイル情報
４４４  要求性能
４５２  プログラム名
【図１】
0005942416.tif 000002
【図２】
0005942416.tif 000003
【図３】
0005942416.tif 000004
【図４】
0005942416.tif 000005
【図５】
0005942416.tif 000006
【図６】
0005942416.tif 000007
【図７】
0005942416.tif 000008
【図８】
0005942416.tif 000009
【図９】
0005942416.tif 000010
【図１０】
0005942416.tif 000011
【図１１】
0005942416.tif 000012
【図１２】
0005942416.tif 000013
【図１３】
0005942416.tif 000014
【図１４】
0005942416.tif 000015
【図１５】
0005942416.tif 000016
【図１６】
0005942416.tif 000017
【図１７】
0005942416.tif 000018
【図１８】
0005942416.tif 000019
【図１９】
0005942416.tif 000020
【図２０】
0005942416.tif 000021
【図２１】
0005942416.tif 000022
【図２２】
0005942416.tif 000023
【図２３】
0005942416.tif 000024
【図２４】
0005942416.tif 000025
【図２５】
0005942416.tif 000026
【図２６】
0005942416.tif 000027
【図２７】
0005942416.tif 000028
【図２８】
0005942416.tif 000029
【図２９】
0005942416.tif 000030