(57)【特許請求の範囲】
【請求項１】
複数のデバイスと、
複数のアプリケーションプログラムを実行する処理部とを有する情報処理装置において、
前記処理部は、
前記アプリケーションプログラムに含まれる前記アプリケーションプログラムを実行する際の制御情報を取得し、前記取得した制御情報から前記複数のアプリケーションの依存関係を抽出し、
前記抽出した依存関係に基づいて、実行している前記複数のアプリケーションプログラムからの前記デバイスへのアクセス要求を許可するか否かを決定する、
ことを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、電源と、前記電源の残量と前記デバイスとを対応付けた対応情報を格納する格納部とを有し、
前記処理部は、前記電源の残量に基づいて、前記対応情報を参照して前記電源の残量に対応するデイバス情報を取得し、前記抽出した依存関係と前記取得したデバイス情報とに基づいて、実行している複数のアプリケーションプログラムからの前記デバイスへのアクセス要求を許可するか否かを決定し、前記許可することを決定したアクセス要求に対応するデバイスへアクセスを行うことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記情報処理装置は、前記アプリケーションプログラムの実行結果を表示する表示部を有し、
前記処理部は、前記依存関係を参照して、実行している複数のアプリケーションプログラムのうち前記表示部に実行結果が表示されているアプリケーションプログラムと、前記表示部に実行結果が表示されているアプリケーションプログラムと依存するアプリケーションプログラムとに対して、前記デバイスへのアクセス要求を許可することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記処理部は、前記依存関係を参照して、実行している複数のアプリケーションプログラムのうち前記表示部に実行結果が表示されているアプリケーションプログラム及び前記表示部に実行結果が表示されているアプリケーションプログラムと依存するアプリケーションプログラム以外のアプリケーションプログラムに対して、前記デバイスへのアクセス要求を不許可とすることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記処理部は、前記電源の残量が所定値以下になった場合、前記制御情報をコピーし、実行している複数のアプリケーションプログラムのうち前記表示部に実行結果が表示されているアプリケーションプログラム及び前記表示部に実行結果が表示されているアプリケーションプログラムと依存するアプリケーションプログラム以外のアプリケーションプログラムの制御情報を書き換え、前記書き換えた制御情報に基づいて、実行している複数のアプリケーションプログラムからの前記デバイスへのアクセス要求を許可するか否かを決定することを特徴とする請求項２記載の情報処理装置。
【請求項６】
複数のデバイスを有し、複数のアプリケーションプログラムを実行する情報処理装置の制御方法において、
前記情報処理装置は、
前記アプリケーションプログラムに含まれる前記アプリケーションプログラムを実行する際の制御情報を取得し、前記取得した制御情報から前記複数のアプリケーションの依存関係を抽出し、
前記抽出した依存関係に基づいて、実行している前記複数のアプリケーションプログラムからの前記デバイスへのアクセス要求を許可するか否かを決定する、
ことを特徴とする制御方法。
【請求項７】
複数のデバイスを有し、複数のアプリケーションプログラムを実行する情報処理装置を制御する制御プログラムであって、
前記情報処理装置に、
前記アプリケーションプログラムに含まれる前記アプリケーションプログラムを実行する際の制御情報を取得し、前記取得した制御情報から前記複数のアプリケーションの依存関係を抽出し、
前記抽出した依存関係に基づいて、実行している前記複数のアプリケーションプログラムからの前記デバイスへのアクセス要求を許可するか否かを決定する、
処理を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
携帯電話をはじめとした各種携帯端末装置において無線通信、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等の周辺機器を利用した場合、電力消費量は大きく増加する。そのため、例えば、携帯端末装置のバッテリ残量が低下した場合に、周辺機器を停止させることにより、バッテリの持続時間を延長する技術がある。
【０００３】
しかし、携帯端末装置において周辺機器を完全に停止させてしまうと利用できなくなるアプリケーションが存在する。例えば、ＧＰＳやＷｉｆｉの利用を停止すると、携帯端末装置は高精度な位置情報を取得できなくなるため、位置情報を利用するナビアプリケーション等が利用できなくなる。そのため、周辺機器を停止させるのではなく、バックグラウンドで動作しているアプリケーションを強制終了させることで、消費電力を削減する技術もある。この場合でも、例えば、ナビゲーション中に目的地での予定を確認するため、予定表アプリケーションを起動して、フォアグラウンドで実行すると、バックグラウンドで動作することになるナビアプリケーションが強制終了されてしまい、ナビゲーションが中断し、ユーザの利便性は低下する。
【０００４】
また、携帯端末装置のフォアグラウンドで実行されているアプリケーションが周辺機器をアクセスした場合に周辺機器をＯＮにすると、同時にバックグラウンドで動作している無関係なアプリケーションも周辺機器を利用できてしまい、バッテリの消費が大きくなる。
【０００５】
先行技術文献としては、下記のものがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２００４−５３０９７６号公報
【特許文献２】特開２０１０−０５６７００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
携帯端末装置のバッテリ持続時間を長くするために、バッテリ残量が所定値以下になった場合、一律に消費電力が大きな周辺機器をオフにしたり、消費電力が大きいアプリケーションを強制終了したりすると、ユーザが使用したいアプリが周辺機器を使用できなくなるおそれがある。
【０００８】
本技術の開示での課題は、ユーザが使用したいアプリケーションプログラムを実行させることができ、かつ、消費電力を削減することができる情報処理装置を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、情報処理装置は、複数のデバイスと、複数のアプリケーションプログラムを実行する処理部とを有し、前記処理部は、前記アプリケーションプログラムに含まれる前記アプリケーションプログラムを実行する際の制御情報を取得し、前記取得した制御情報から前記複数のアプリケーションの依存関係を抽出し、前記抽出した依存関係に基づいて、実行している前記複数のアプリケーションプログラムからの前記デバイスへのアクセス要求を許可するか否かを決定する。
【発明の効果】
【００１０】
本開示の技術の一側面によれば、アプリケーションプログラムの依存関係とデバイス情報とに基づいて、実行している複数のアプリケーションプログラムからのデバイスへのアクセス要求を許可するか否かを決定する。そのため、ユーザが使用したいアプリケーションプログラムの実行は許可し、それ以外のアプリケーションプログラムの実行は不許可とすることで、ユーザが使用したいアプリケーションプログラムを実行させつつ、消費電力を削減することができる。
【図面の簡単な説明】
【００１１】
【図１】情報処理装置のハードウェア構成を示す図である。
【図２】情報処理装置を示す図（その１）である。
【図３】パッケージ情報ＤＢを示す図（その１）である。
【図４】依存関係対応表を示す図である。
【図５】依存関係抽出部の処理を示す図である。
【図６】アクセス制限対象表を示す図である
【図７】情報処理装置の処理を示すフローチャート（その１）である。
【図８】アクセス制御部の処理を示すフローチャート（その１）である。
【図９】情報処理装置を示す図（その２）である。
【図１０】パッケージ情報ＤＢを示す図（その２）である。
【図１１】パッケージ情報コピーＤＢを示す図である。
【図１２】パッケージ情報ＤＢ管理部の処理を示すフローチャートである。
【図１３】アクセス許可リスト制御部の処理を示すフローチャート（その１）である。
【図１４】アクセス制御部の処理を示すフローチャート（その２）である。
【図１５】情報処理装置を示す図（その３）である。
【図１６】利用周辺機器制御部の処理を示すフローチャートである。
【図１７】アクセス許可リスト制御部の処理を示すフローチャート（その２）である。
【図１８】アクセス制御部の処理を示すフローチャート（その３）である。
【発明を実施するための形態】
【００１２】
以下、本実施形態における情報処理装置について説明する。
【００１３】
（実施の形態１）
図１は、本実施形態における情報処理装置のハードウェア構成を示す図である。図１に示す情報処理装置１００は、例えばスマートフォンやタブレットＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などの携帯端末装置である。
【００１４】
情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、メインメモリ２０２と、補助メモリ２０３と、クロック供給回路２０４と、電圧供給回路２０５と、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）部２０６と、アンテナ２０７と、バッテリ２０８とをハードウェアモジュールとして備えている。また、情報処理装置１００は、電源回路２０９と、カメラモジュール２１０と、ブルートゥースインターフェース２１１と、ＧＰＳ２１２と、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）２１３と、センサ２１４と、Ｗｉｆｉ２１６と、外部給電部２１５とをハードウェアモジュールとして備えている。各ハードウェアモジュールは、例えばバス２１８によって接続されている。
【００１５】
ＣＰＵ２０１は、情報処理装置１００全体の制御を司る。また、ＣＰＵ２０１は、クロック供給回路２０４から供給されるクロック信号及び電圧供給回路２０５から供給される電圧によって動作する。ＣＰＵ２０１は、ソフト処理が不要な時は完全に動作を休止し、外部からの割り込みがあるまでスリープすることで消費電力を削減している。なお、ＣＰＵ２０１はクアッドコアＣＰＵ等、任意の数のコアを有していても良い。
【００１６】
メインメモリ２０２は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。メインメモリ２０２は、ＣＰＵ２０１のワークエリアとして使用される。
【００１７】
補助メモリ２０３は、例えば、ハードディスクやフラッシュメモリなどの不揮発メモリである。補助メモリ２０３には、情報処理装置１００を動作させる各種のプログラムが記憶されている。補助メモリ２０３に記憶されたプログラムは、メインメモリ２０２にロードされてＣＰＵ２０１によって実行される。これによって、後述する各種プログラムが情報処理装置１００にて実行されるようになる。また、補助メモリ２０３には、後述する各種アプリケーションプログラムも記憶されている。補助メモリ２０３に記憶されたアプリケーションプログラムは、メインメモリ２０２にロードされてＣＰＵ２０１によって実行される。
【００１８】
クロック供給回路２０４は、周波数が可変のクロック信号をＣＰＵ２０１へ供給する。クロック供給回路２０４は、例えば、クロック信号を発振する水晶振動子及びＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）などによって実現することができる。電圧供給回路２０５は、電源回路２０９から供給される電力によってＣＰＵ２０１に可変の電圧を供給する。電圧供給回路２０５は、例えば、ボルテージディテクタ及びボルテージレギュレータなどによって実現することができる。
【００１９】
ＲＦ部２０６は、ＣＰＵ２０１からの制御により、高周波信号をアンテナ２０７から他の無線通信装置へ送信するトランスミッタの機能を有する。また、ＲＦ部２０６は、アンテナ２０７によって受信された高周波信号をベースバンド信号に変換してＣＰＵ２０１へ出力するレシーバの機能を有する。
【００２０】
バッテリ２０８は、電源回路２０９へ電力を供給する。バッテリ２０８は、例えばリチウムイオン電池などの電池と電池保護用のＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などによって実現することができる。電源回路２０９は、バッテリ２０８から供給される電力を不図示の電源線を介して情報処理装置１００の各ハードウェアモジュールへ供給する。また、電源回路２０９は、外部給電部２１５に外部電源が接続されている場合は、外部給電部２１５から供給される電力を情報処理装置１００の各ハードウェアモジュールへ供給しても良い。電源回路２０９は、例えばスイッチングレギュレータ及びボルテージレギュレータによって実現することができる。
【００２１】
カメラモジュール２１０は、ＣＰＵ２０１からの制御により、被写体を撮影し、撮影により得られた映像データを取得する。ブルートゥースインターフェース２１１は、ＣＰＵ２０１からの制御により、他の通信装置との間でＢｌｕｅｔｏｏｔｈ（登録商標）による無線通信を行う通信インターフェースである。また、情報処理装置１００は、ブルートゥースインターフェース２１１の他に、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの無線通信インターフェースを備えていてもよい。
【００２２】
ＧＰＳ２１２は、ＣＰＵ２０１からの制御により、人工衛星の発する電波を受信することによって情報処理装置１００の地球上の現在位置を示す位置情報を取得する。
【００２３】
ＬＣＤ２１３は、ＣＰＵ２０１からの制御により、ユーザに対して画像を表示する画像表示装置である。また、ＬＣＤ２１３は、タッチパッドなどの位置入力機能も兼ね備えたタッチパネルであってもよい。
【００２４】
センサ２１４は、ＣＰＵ２０１からの制御により、情報処理装置１００内部の各状態を示す情報を取得する。センサ２１４としては、例えば、加速度センサ、ジャイロセンサ、照度センサ、地磁気センサ、傾きセンサ、加圧センサ、接近センサ、温度センサなどを挙げることができる。Ｗｉｆｉ２１６は、無線を利用して他の機器との通信を行う通信部である。ＣＰＵ２０１は、Ｗｉｆｉ２１６を利用して情報処理装置１００の現在位置を示す位置情報を取得する。
【００２５】
図２は、本実施形態における情報処理装置を示す図である。情報処理装置１００は、パッケージ情報ＤＢ３０２、依存関係抽出部３０４、依存関係対応表３０６、アクセス許可リスト制御部３０８、利用周辺機器制御部３１０、アクセス制限対象表３１２、アプリケーションＡ３１４、アプリケーションＡ´３１６、アプリケーションＢ´３１８、アプリケーションＢ３２０、アプリケーションＣ３２２、バッテリ管理部３２４、アクセス制御部３２６、アプリ管理部３２８、ドライバ３３１、ドライバ３３２、ドライバ３３４、ドライバ３３６、バッテリ２０８、ＧＰＳ２１２、センサ２１４及びＷｉｆｉ２１６を有する。なお、本実施形態において、「アプリケーション」とは、「アプリケーションプログラム」がＣＰＵ２０１に実行されたことによって実現された機能である。例えば、アプリケーションＡ３１４とは、アプリケーションプログラムＡがＣＰＵ２０１によって実行されたものである。
【００２６】
図３は、パッケージ情報ＤＢを示す図である。パッケージ情報ＤＢ３０２は、複数のパッケージ情報を格納する。制御情報であるハッケージ情報はアプリケーションプログラムに含まれる。本実施形態では、パッケージ情報ＤＢ３０２は、例えば、パッケージ情報４００、パッケージ情報４１０及びパッケージ情報４２０を格納する。パッケージ情報４００は、アプリ名４０２と、依存関係４０４と、アクセス許可情報４０６と、関連ファイルの保存場所４０８とを対応付けて記録する。アプリ名４０２は、アプリケーションプログラムの名称を示す。依存関係４０４は、アプリ名４０２が示すアプリケーションプログラムと依存するアプリケーションプログラムの名称を示す。アクセス許可情報４０６は、アクセスを許可するデバイスの名称を示す。関連ファイルの保存場所４０８は、アプリ名４０２が示すアプリケーションプログラムに関連するファイルの保存場所を示す。パッケージ情報４００は、アプリケーションＢと依存関係にあるアプリケーションはアプリケーションＢ´であり、アプリケーションＢがアクセス可能なデバイスはＧＰＳ２１２及びセンサ２１４であることを示している。なお、パッケージ情報４１０及びパッケージ情報４２０も、アプリ名４０２と、依存関係４０４と、アクセス許可情報４０６と、関連ファイルの保存場所４０８とを対応付けて記録する。
【００２７】
図４は、依存関係対応表３０６を示す図である。依存関係抽出部３０４は、パッケージ情報ＤＢ３０２を参照して、依存関係対応表３０６を生成する。依存関係対応表３０６は、アプリ名４２２と依存アプリ４２４とを対応付けて記録する。アプリ名４２２は、アプリケーションプログラムの名称を示す。依存アプリ４２４は、アプリ名４２２が示すアプリケーションプログラムに依存するアプリケーションの名称を示す。依存関係対応表３０６は、例えば、アプリケーションＡとアプリケーションＡ´とは依存関係にあることを示している。アプリケーションＡは、例えば、位置情報を用いるものであり、アプリケーションＡと依存関係にあるアプリケーションＡ´がＧＰＳ２１２から位置情報を取得し、アプリケーションＡは、アプリケーションＡ´が取得した位置情報を用いて処理を行う。
【００２８】
図５は、依存関係抽出部の処理を示す図である。例えば、スマートフォンでは１つのパッケージに画面操作を行うためのアプリケーションプログラムとバックグラウンドで動作するサービスが同封されており、これら複数のプログラムが連携して動作する。このような場合、パッケージに同封されたプログラムにどのようなプログラムがあるかは、パッケージに同封されているパッケージ情報に記述されており、パッケージ情報を解析することで把握可能である。ゆえに、依存関係抽出部３０４はパッケージ情報を利用して、アプリケーションプログラムの依存関係を抽出する。
【００２９】
また、例えば、ＰＣを始めとしたマルチウィンドウのシステムでは、動画を見ながら文書生成等を行う等、全く関係のない複数のアプリケーションプログラムをユーザが同時に利用する場合がある。しかし、スマートフォンのようにシングルウィンドウのシステムでは、一度に１つのアプリケーションプログラムが実行された画面しか表示できないため、ある瞬間に限定した場合にユーザが意図的に利用しているアプリケーションはフォアグラウンドの画面に表示されているアプリケーションであり、フォアグラウンドに実行結果が表示されているアプリケーションプログラムは特定可能である。これらの情報を集計して、ある時点で周辺機器の利用が許されるアプリケーションプログラムやサービスのリストを生成し、当該リストをスマートフォンに搭載されているアクセス制御部３２６に通知することで、ユーザが意図して操作しているアプリケーションとそれに関連する他のサービスやアプリケーションに対して周辺機器を利用可能にすることができる。
【００３０】
本実施形態にでは、アプリケーションＡ３１４がフォアグラウンドで実行、アプリケーションＡ´３１６及びアプリケーションＢ´３１８がバックグラウンドで実行されているとする。また、アプリケーションＢ３２０及びアプリケーションＣ３２２はスリープしているものとする。なお、ここで、フォアグラウンドで実行中のアプリケーションとは、実行している複数のアプリケーションのうちＬＣＤ２１３に実行結果が表示されているアプリケーションのことを言う。また、ここで、バックグラウンドで実行されているアプリケーションとは、実行している複数のアプリケーションのうちＬＣＤ２１３に実行結果が表示されているアプリケーション以外のアプリケーションを言う。
【００３１】
依存関係抽出部３０４は、パッケージ情報ＤＢ３０２に格納されているパッケージ情報４００を参照する。本実施形態では、パッケージ情報ＤＢ３０２にパッケージ情報４００、パッケージ情報４１０及びパッケージ情報４２０が格納されているとする。
【００３２】
パッケージ情報４００は、アプリケーションＡ３１４に関する情報を示している。パッケージ情報４００は、アプリケーションＡ３１４と依存関係にあるアプリケーションはアプリケーションＡ´３１６であり、アプリケーションＡ３１４にアクセスを許可するデバイスはＧＰＳ２１２及びセンサ２１４であることを示している。パッケージ情報４１０は、アプリケーションＢ´３１８に関する情報を示している。パッケージ情報４１０は、アプリケーションＢ´３１８と依存関係にあるアプリケーションはアプリケーションＢ３２０であり、アプリケーションＢ´３１８にアクセスを許可するデバイスはＧＰＳ２１２及びセンサ２１４であることを示している。パッケージ情報４２０は、アプリケーションＣ３２２に関する情報を示している。パッケージ情報４２０は、アプリケーションＣ３２２と依存関係にあるアプリケーションは存在せず、アプリケーションＣ３２２にアクセスを許可するデバイスはＷｉｆｉ２１６であることを示している。
【００３３】
依存関係抽出部３０４は、パッケージ情報４００、パッケージ情報４１０及びパッケージ情報４２０を参照することにより、依存関係対応表３０６を生成する。依存関係抽出部３０４は、パッケージ情報４００からアプリケーションＡ３１４に依存するアプリケーションはアプリケーションＡ´３１６であることを取得し、依存関係対応表３０６のアプリ名４２２及び依存アプリ４２４にアプリケーションＡ３１４とアプリケーションＡ´３１６とを対応付けて記録する。また、依存関係抽出部３０４は、パッケージ情報４１０からアプリケーションＢ´３１８に依存するアプリケーションはアプリケーションＢ３２０であることを取得し、依存関係対応表３０６のアプリ名４２２及び依存アプリ４２４にアプリケーションＢ３２０とアプリケーションＢ´３１８とを対応付けて記録する。さらに、依存関係抽出部３０４は、パッケージ情報４２０からアプリケーションＣ３２２に依存するアプリケーションは存在しないことを取得し、依存関係対応表３０６のアプリ名４２２にアプリケーションＣ３２２を記録する。
【００３４】
ミドルウェア３３０は、実行中のアプリケーションプログラムに関する情報を取得して、優先度制御部３０５に通知する。ミドルウェア３３０は、アプリケーションＡ３１４がフォアグラウンドで実行されていることを検出する。ミドルウェア３３０は、アプリケーションＡ´３１６及びアプリケーションＢ´３１８がバックグラウンドで実行されていることを検出する。さらに、ミドルウェア３３０は、アプリケーションＢ３２０及びアプリケーションＣ３２２はスリープしていることを検出する。ミドルウェア３３０は、アプリケーションＡ３１４がフォアグラウンドで実行されていること、アプリケーションＡ´３１６及びアプリケーションＢ´３１８がバックグラウンドで実行されていること、アプリケーションＢ３２０及びアプリケーションＣ３２２はスリープしていることを優先度制御部３０５に通知する。
【００３５】
優先度制御部３０５は、ミドルウェア３３０から実行中のアプリケーションプログラムに関する情報を取得する。優先度制御部３０５は、依存関係対応表３０６を参照して、ＣＰＵ２０１がフォアグラウンドで実行しているアプリケーションプログラム及びフォアグラウンドで実行しているアプリケーションプログラムと依存するアプリケーションプログラムの優先度を高くして実行する指示をカーネル３４０に対して行う。また、例えば、アプリケーションＢ´３１８がフォアグラウンドで実行された場合は、アプリケーションＢ´３１８及びアプリケーションＢ´３１８に依存するアプリケーションＢ３２０の優先度を高くして実行する指示をカーネル３４０に対して行う。カーネル３４０は、優先度制御部３０５からの指示を受けて各アプリケーションプログラムを実行させる。
【００３６】
バッテリ管理部３２４は、ドライバ３３１を介してバッテリ２０８の残量監視を行う。ドライバ３３１はバッテリ２０８の制御を行う。同様に、ドライバ３３２はＧＰＳ２１２の制御を、ドライバ３３４はセンサ２１４の制御を、ドライバ３３６はＷｉｆｉ２１６の制御をそれぞれ行う。
【００３７】
バッテリ管理部３２４は、バッテリ２０８の残量が閾値以下になったことを検出した場合、バッテリ残量低下通知をアクセス許可リスト制御部３０８及び利用周辺機器制御部３１０に対して行う。また、バッテリ管理部３２４は、バッテリ２０８の残量が閾値よりも大きくなったことを検出した場合、バッテリ残量回復通知をアクセス許可リスト制御部３０８及び利用周辺機器制御部３１０に対して行う。
【００３８】
利用周辺機器制御部３１０は、バッテリ管理部３２４からバッテリ残量低下通知を受けると、アクセス制限対象表３１２を参照して、バッテリ残量に応じたアクセス制限対象となるデバイス情報を取得する。利用周辺機器制御部３１０は、取得したアクセス制限対象となるデバイス情報に基づいて利用制限機器通知をアクセス制御部３２６に対して行う。
【００３９】
図６は、アクセス制限対象表３１２を示す図である。アクセス制限対象表３１２は、バッテリ残量４１２とアクセス制限対象４１４とを対応付けて記録する。バッテリ残量４１２はバッテリ２０８の残量を百分率で示す。アクセス制限対象４１４は、アクセス制限の対象とするデバイスの名称を示す。アクセス制限対象表３１２は、バッテリ残量が４０％以上であれば、アクセス制限対象となるデバイスはなく、バッテリ残量が３０％以上４０％未満であれば、アクセス制限対象となるデバイスはＷｉｆｉ２１６、バッテリ残量が２０％以上３０％未満であれば、アクセス制限対象となるデバイスはＧＰＳ２１２及びＷｉｆｉ２１６、バッテリ残量が２０％未満であれば、アクセス制限対象となるデバイスはＧＰＳ２１２、Ｗｉｆｉ２１６及びセンサ２１４となる。本実施形態では、電力をＷｉｆｉ２１６、ＧＰＳ２１２、センサ２１４の順で消費しているとする。
【００４０】
Ｗｉｆｉ２１６は、無線を利用して他の機器との通信を行う通信部である。このＷｉｆｉ２１６のように、無線送信を伴うデバイスは、他のデバイスを使用した場合に比べ消費電力が大きい。
【００４１】
また、ＣＰＵ２０１は、ＧＰＳ２１２が受信した複数の衛星からの情報を基に位置情報を算出する処理を実行する。特に最初の位置情報を取得するためには、各々別の周波数にて送信されている衛星から情報を取得するため、そのサーチのための処理や、取得された各衛星からの位置情報を算出する処理を行う。一般にこれらの処理は、ＣＰＵ２０１がＧＰＳ２１２を制御して衛星のサーチ処理を実行させ、ＧＰＳ２１２が受信した複数の衛星からの情報を基に位置情報を算出している。このため、ＧＰＳ２１２を使用するデバイスにおいては、Ｗｉｆｉ２１６のように無線送信を行う処理はないため、Ｗｉｆｉ２１６程ではないものの、ＣＰＵ２１６の処理負荷が増加により消費電力が高くなる。
【００４２】
また、センサ２１４の一例として、本実施の形態では加速度センサを想定している。加速度センサは、加速度センサからの加速度情報を取得し、その情報を格納する程度であるため、上記した無線送信を伴うＷｉｆｉ２１６やＣＰＵ２０１の処理負荷が高くなるＧＰＳ２１２を使用する場合と比較して、消費する電力は小さくなる。
【００４３】
アプリ管理部３２８は、ＣＰＵ２０１によってフォアグラウンドで実行されているアプリケーションプログラムを検出し、検出したアプリケーションプログラムの名称をアクセス許可リスト制御部３０８に通知する。
【００４４】
アクセス許可リスト制御部３０８は、アプリ管理部３２８から通知されたフォアグラウンドで実行されているアプリケーションプログラムの名称に基づいて、アクセス制限対象表３１２を参照して、フォアグラウンドで実行されているアプリケーションに依存するアプリケーションの名称を取得する。アクセス許可リスト制御部３０８は、取得したアプリケーションプログラムの名称に基づいてアクセス許可リストをアクセス制御部３２６に対して通知する。
【００４５】
アクセス制御部３２６は、実行されているアプリケーションからアクセス要求を受信する。また、アクセス制御部３２６は、利用周辺機器制御部３１０から利用制限機器通知を、アクセス許可リスト制御部３０８からアクセス許可リストを受信する。アクセス制御部３２６は、受信した利用制限機器通知及びアクセス許可リストに基づいて、実行されているアプリケーションからのアクセス要求を許可、または禁止する。
【００４６】
図７は、情報処理装置の処理を示すフローチャートである。
【００４７】
Ｓ１０１において、アクセス許可リスト制御部３０８は、メッセージを受信する。アクセス許可リスト制御部３０８は処理をＳ１０２へ移行する。
【００４８】
Ｓ１０２において、アクセス許可リスト制御部３０８は、受信したメッセージの種別を判定する。受信したメッセージの種別が、バッテリ残量回復である場合、アクセス許可リスト制御部３０８は、処理をＳ１１１へ移行する。一方、受信したメッセージの種別が、バッテリ残量低下である場合、または、アプリ管理部３２８からのフォアグラウンドアプリ変更通知である場合、アクセス許可リスト制御部３０８は、処理をＳ１０３へ移行する。
【００４９】
Ｓ１０３において、アクセス許可リスト制御部３０８は、バッテリ管理部３２４を介してバッテリ２０８のバッテリ残量が閾値以下であるか否かを判定する。バッテリ２０８のバッテリ残量が閾値以下である場合、アクセス許可リスト制御部３０８は、処理をＳ１０４へ移行する。一方、バッテリ２０８のバッテリ残量が閾値よりも大きい場合、アクセス許可リスト制御部３０８は、処理をＳ１０１へ戻す。
【００５０】
Ｓ１０４において、利用周辺機器制御部３１０は、バッテリ管理部３２４からバッテリ残量低下通知及びバッテリ２０８のバッテリ残量を受信すると、当該バッテリ残量の百分率に基づいてアクセス制限対象表３１２を参照する。利用周辺機器制御部３１０は、アクセス制限対象表３１２からバッテリ２０８のバッテリ残量に応じて利用制限の対象とするデバイス情報を取得する。本実施形態においては、例えば、バッテリ残量の百分率が２５［％］であるとすると、利用周辺機器制御部３１０は、利用制限の対象とするデバイスをＧＰＳ２１２及びＷｉｆｉ２１６とする。利用周辺機器制御部３１０は、処理をＳ１０５へ移行する。
【００５１】
Ｓ１０５において、利用周辺機器制御部３１０は、Ｓ１０４において取得した利用制限の対象とするデバイス情報として、利用制限の対象となるデバイスはＧＰＳ２１２及びＷｉｆｉ２１６である旨をアクセス制御部３２６に送信する。利用周辺機器制御部３１０は、処理をＳ１０６へ移行する。
【００５２】
Ｓ１０６において、アクセス許可リスト制御部３０８は、アプリ管理部３２８からフォアグラウンドで実行されているアプリケーションの名称を受信する。本実施形態では、フォアグラウンドで実行されているアプリケーションはアプリケーションＡ３１４であるとする。アクセス許可リスト制御部３０８は、処理をＳ１０７へ移行する。
【００５３】
Ｓ１０７において、アクセス許可リスト制御部３０８は、受信したフォアグラウンドで実行されているアプリケーションの名称に基づいて、依存関係対応表３０６を参照する。アクセス許可リスト制御部３０８は、依存関係対応表３０６から受信したアプリケーションの名称に依存するアプリケーションの名称を取得する。フォアグラウンドで実行されているアプリケーションはアプリケーションＡ３１４であるため、アクセス許可リスト制御部３０８は、アプリケーションＡ３１４と依存するアプリケーションの名称としてアプリケーションＡ´を取得する。アクセス許可リスト制御部３０８は、処理をＳ１０８へ送信する。
【００５４】
Ｓ１０８において、アクセス許可リスト制御部３０８は、Ｓ１０７において取得したアプリケーションの名称をアクセス許可リストとしてアクセス制御部３２６に送信する。本実施形態では、アクセス許可リスト制御部３０８は、アプリケーションの名称としてアプリケーションＡ３１４及びアプリケーションＡ´３１６を送信する。アクセス許可リスト制御部３０８は、処理をＳ１０９へ移行する。
【００５５】
Ｓ１０９において、アクセス許可リスト制御部３０８は、利用周辺機器制御部３１０から受信した利用制限の対象とするデバイス情報及びアクセス許可リスト制御部３０８から受信したアクセス許可リストに基づいて、アプリケーションから受信したアクセス要求のうち許可するアクセス要求を決定する。本実施形態では、利用制限の対象とするデバイスはＧＰＳ２１２及びＷｉｆｉ２１６であり、アクセス許可リストに記載されているアプリケーションの名称はアプリケーションＡ３１４及びアプリケーションＡ´３１６であるため、アプリケーションＡ３１４及びアプリケーションＡ´３１６からのＧＰＳ２１２またはＷｉｆｉ２１６へのアクセスを許可し、アプリケーションＡ３１４及びアプリケーションＡ´３１６以外のアプリケーションからのＧＰＳ２１２またはＷｉｆｉ２１６へのアクセスを不許可とする。アクセス許可リスト制御部３０８は、処理をＳ１１０へ移行する。
【００５６】
Ｓ１１０において、アクセス制御部３２６は、Ｓ１０９において決定したアクセス要求に基づいて、デバイスに対してアクセスを行う。アクセス制御部３２６は、処理を終了する。
【００５７】
図８は、アクセス制御部の処理を示すフローチャートである。図８を用いて、アクセス制御部の詳細な処理について説明する。
【００５８】
Ｓ１２１において、アクセス制御部３２６は、データを受信する。アクセス制御部３２６は、処理をＳ１２２へ移行する。
【００５９】
Ｓ１２２において、アクセス制御部３２６は、データの内容を判定する。受信したデータの内容が利用周辺機器制御部３１０からのアクセス制御対象通知である場合、アクセス制御部３２６は、処理をＳ１２３へ移行する。また、受信したデータの内容がアクセス許可リスト制御部３０８からのアクセス許可リストである場合、アクセス制御部３２６は、処理をＳ１２４へ移行する。さらに、受信したデータの内容がアプリケーションからの周辺機器等へのアクセス要求である場合、アクセス制御部３２６は、処理をＳ１２５へ移行する。
【００６０】
Ｓ１２３において、アクセス制御部３２６は、アクセス制御対象を保存する。アクセス制御部３２６は、処理をＳ１２１へ戻す。
【００６１】
Ｓ１２４おいて、アクセス制御部３２６は、アクセス許可リストを保存する。アクセス制御部３２６は、処理をＳ１２１へ戻す。
【００６２】
Ｓ１２５において、アクセス制御部３２６は、アクセス要求を行ったアプリケーションに関するパッケージ情報のアクセス許可情報を参照する。アクセス制御部３２６は、処理をＳ１２６へ移行する。
【００６３】
Ｓ１２６において、アクセス制御部３２６は、Ｓ１２５において参照したアクセス許可情報に基づいて、アプリケーションからの周辺機器へのアクセス要求が許可されているか否かを判定する。アクセス要求が許可されている場合、アクセス制御部３２６は、処理をＳ１２７へ移行する。一方、アクセス要求が許可されていない場合、アクセス制御部３２６は、処理をＳ１２８へ移行する。
【００６４】
Ｓ１２７において、アクセス制御部３２６は、アクセス許可リストを参照して、アプリケーションのアクセス要求先のデバイスがアクセス制限の対象であるか否かを判定する。アプリケーションのアクセス要求先のデバイスがアクセス制限の対象である場合、アクセス制御部３２６は、処理をＳ１２９へ移行する。一方、アプリケーションのアクセス要求先のデバイスがアクセス制限の対象でない場合、アクセス制御部３２６は、処理をＳ１３１へ移行する。
【００６５】
Ｓ１２９において、アクセス制御部３２６は、アクセス許可リストが定義済みであるか否かを判定する。アクセス許可リストが定義済みである場合、アクセス制御部３２６は、処理をＳ１３０へ移行する。一方、アクセス許可リストが定義済みでない場合、アクセス制御部３２６は、処理をＳ１３１へ移行する。
【００６６】
Ｓ１３０において、アクセス制御部３２６は、アクセス要求元のアプリケーションの名称がアクセス許可リストに記載されているか否かを判定する。アクセス要求元のアプリケーションの名称がアクセス許可リストに記載されている場合、アクセス制御部３２６は、処理をＳ１３１へ移行する。一方、アクセス要求元のアプリケーションの名称がアクセス許可リストに記載されていない場合、アクセス制御部３２６は、処理をＳ１２８へ移行する。
【００６７】
Ｓ１２８において、アクセス制御部３２６は、アクセス要求元のアプリケーションに対してアクセスを拒否する。アクセス制御部３２６は、処理を終了する。
【００６８】
Ｓ１３１において、アクセス制御部３２６は、アクセス要求元のアプリケーションに対してアクセスを許可する。アクセス制御部３２６は、処理を終了する。
【００６９】
本実施形態によれば、バッテリ残量が閾値以下になった場合、実行中のアプリケーションＡ３１４及びアプリケーションＡ´３１６は、ＧＰＳ２１２及びＷｉｆｉ２１６にはアクセスできるが、実行中のアプリケーションＢ´３１８は、ＧＰＳ２１２及びＷｉｆｉ２１６にはアクセスすることができない。このため、情報処理装置１００のバッテリ残量が少なくなった場合、アクセス許可リストに記載されたアプリケーションのみが利用制限対象となるデバイスにアクセスできるようにすることで、フォアグラウンドで実行中のアプリケーションと依存しないアプリケーションが特定の周辺機器にアクセスすることができなくなり、当該周辺機器による消費電力を削減することができる。
【００７０】
つまり、アプリケーションＢ´３１８は、ＧＰＳ２１２にアクセスすることが出来ないため、アプリケーションＢ´３１８からの要求でＧＰＳ２１２がＣＰＵ２０１に位置情報を算出させることがなくなるため、ＣＰＵ２０１における消費電力が小さくなる。また、アプリケーションＢ´３１８は、Ｗｉｆｉ２１６にアクセスすることが出来ないため、アプリケーションＢ´３１８からの要求でＷｉｆｉ２１６が位置情報を取得することがなくなるため、Ｗｉｆｉ２１６における消費電力が小さくなる。また、フォアグラウンドで実行中のアプリケーション及びフォアグラウンドで実行中のアプリケーションと依存するアプリケーションには、周辺機器へのアクセスを可能にすることで、ユーザが使用したいアプリケーションを実行させ続けることが可能になる。
【００７１】
なお、アプリケーションＢ´３１８は、例えば、レストランの位置情報を提供するアプリケーションＢ３２０に依存しており、ＧＰＳを用いて情報処理装置１００の位置情報を、加速度センサを利用して情報処理装置１００の移動方向を取得し、取得した情報処理装置１００の位置情報及び情報処理装置１００の移動方向からレストランの位置情報を提供する。アプリケーションＢ´３１８がＧＰＳ２１２にアクセス出来なくなった場合は、直前に取得した情報処理装置１００の位置情報及び加速度センサを利用して情報処理装置１００の移動方向からレストランの位置情報を提供すれば良い。
【００７２】
（実施の形態２）
本実施形態では、バッテリ残量に応じて、インストール済みアプリケーションプログラムのパッケージ情報を動的に書き換えることで、アクセス制限を実現する構成について説明する。本実施形態では、バッテリ残量が事前に登録された閾値を下回った時点でパッケージ情報が格納されたデータベースのコピーを生成した上で、パッケージ情報のアクセス許可情報のうち、アクセス制限の対象となる周辺機器の名称を削除する。この際、依存関係対応表と現在フォアグラウンドで動作しているアプリケーションプログラムの情報を参照し、フォアグラウンドで実行されているアプリケーションと依存関係のあるアプリケーションやサービスのパッケージ情報は書き換えの対象外とする。また、フォアグラウンドで実行されているアプリケーションが変更された場合は、バックアップしておいたパッケージ情報を参照し、新たにフォアグラウンドで実行されるアプリケーションのアクセス許可情報を復元すると共に、バックグラウンドで実行されるアプリケーションのアクセス許可情報を書き換える。
【００７３】
図９は、本実施形態における情報処理装置を示す図である。情報処理装置１００は、パッケージ情報ＤＢ３０２、依存関係抽出部３０４、依存関係対応表３０６、アクセス許可リスト制御部３０８、アプリケーションＡ３１４、アプリケーションＡ´３１６、アプリケーションＢ´３１８、アプリケーションＢ３２０、アプリケーションＣ３２２、バッテリ管理部３２４、アクセス制御部３２６、アプリ管理部３２８、ドライバ３３１、ドライバ３３２、ドライバ３３４、ドライバ３３６、バッテリ２０８、ＧＰＳ２１２、センサ２１４、Ｗｉｆｉ２１６及びパッケージ情報ＤＢ管理部３３７及びパッケージ情報コピーＤＢ３３８を有する。なお、図２において説明したものについては同一番号を付し、その説明を省略する。
【００７４】
バッテリ管理部３２４は、バッテリ２０８の残量が閾値以下になったことを検出した場合、バッテリ残量低下通知をパッケージ情報ＤＢ管理部３３７、アクセス許可リスト制御部３０８に対して行う。また、バッテリ管理部３２４は、バッテリ２０８の残量が閾値より大きくなったことを検出した場合、バッテリ残量回復通知をパッケージ情報ＤＢ管理部３３７、アクセス許可リスト制御部３０８に対して行う。
【００７５】
パッケージ情報ＤＢ管理部３３７は、バッテリ管理部３２４からバッテリ残量低下通知を受けると、パッケージ情報ＤＢ３０２に格納されているパッケージ情報４００をコピーし、パッケージ情報コピーＤＢ３３８に格納する。
【００７６】
図１０は、パッケージ情報コピーＤＢ３３８を示す図である。パッケージ情報ＤＢ管理部３３７は、パッケージ情報ＤＢ３０２に格納されているパッケージ情報４００をコピーし、パッケージ情報コピーＤＢ３３８に格納する。
【００７７】
アクセス許可リスト制御部３０８は、アプリ管理部３２８から通知されたフォアグラウンドで実行されているアプリケーションの名称と、バッテリ管理部３２４から受けたバッテリ残量低下通知とに基づいて、アクセス制限対象表３１２を参照して、パッケージ情報ＤＢ３０２に格納されたパッケージ情報を書き換える。
【００７８】
図１１は、パッケージ情報ＤＢを示す図である。アクセス許可リスト制御部３０８は、バッテリ残量が閾値以下になった場合、利用制限の対象とするデバイスをＧＰＳ２１２とすることを事前に決定しておく。そして、バッテリ残量が閾値以下になった場合、アクセス許可リスト制御部３０８は、パッケージ情報ＤＢ３０２に格納されたパッケージ情報４００を書き換え、アクセス許可情報４０６からＧＰＳを削除し、センサとする。また、フォアグラウンドで実行されているアプリケーションが変更された場合や、バッテリ２０８の残量が閾値よりも回復した場合は、アクセス許可リスト制御部３０８は、パッケージ情報コピーＤＢ３３８に格納していたパッケージ情報で、書き換えられたパッケージ情報を上書きする。
【００７９】
アクセス制御部３２６は、実行されているアプリケーションからアクセス要求を受信する。アクセス制御部３２６は、パッケージ情報ＤＢ３０２に格納された書き換えられたパッケージ情報を参照して、実行されているアプリケーションからのアクセス要求を許可、または禁止する。
【００８０】
図１２は、パッケージ情報ＤＢ管理部の処理を示すフローチャートである。
【００８１】
Ｓ２０１において、パッケージ情報ＤＢ管理部３３７は、バッテリ管理部３２４からバッテリ残量低下通知を受信する。パッケージ情報ＤＢ管理部３３７は、処理をＳ２０２へ移行する。
【００８２】
Ｓ２０２において、パッケージ情報ＤＢ管理部３３７は、バッテリ２０８のバッテリ残量が閾値以上であるか否かを判定する。バッテリ２０８のバッテリ残量が閾値以上である場合、パッケージ情報ＤＢ管理部３３７は、処理をＳ２０３へ移行する。一方、バッテリ２０８のバッテリ残量が閾値未満である場合、パッケージ情報ＤＢ管理部３３７は、処理をＳ２０４へ移行する。
【００８３】
Ｓ２０３において、パッケージ情報ＤＢ管理部３３７は、前回通知されたバッテリ残量が閾値以上であるか否かを判定する。前回通知されたバッテリ残量が閾値以上である場合、パッケージ情報ＤＢ管理部３３７は、処理をＳ２０２へ戻す。前回通知されたバッテリ残量が閾値未満である場合、パッケージ情報ＤＢ管理部３３７は、処理をＳ２０６へ移行する。
【００８４】
Ｓ２０４において、パッケージ情報ＤＢ管理部３３７は、前回通知されたバッテリ残量が閾値以上であるか否かを判定する。前回通知されたバッテリ残量が閾値以上である場合、パッケージ情報ＤＢ管理部３３７は、処理をＳ２０５へ移行する。一方、前回通知されたバッテリ残量が閾値未満である場合、パッケージ情報ＤＢ管理部３３７は、処理をＳ２０２へ戻す。
【００８５】
Ｓ２０５において、パッケージ情報ＤＢ管理部３３７は、パッケージ情報ＤＢ３０２に格納されているパッケージ情報のバックアップを取得し、パッケージ情報コピーＤＢ３３８に格納する。パッケージ情報ＤＢ管理部３３７は、処理を終了する。
【００８６】
Ｓ２０６において、パッケージ情報ＤＢ管理部３３７は、パッケージ情報コピーＤＢ３３８に格納されているパッケージ情報のバックアップで、パッケージ情報ＤＢ３０２に格納されているパッケージ情報を上書きする。パッケージ情報ＤＢ管理部３３７は、処理を終了する。
【００８７】
図１３は、アクセス許可リスト制御部の処理を示すフローチャートである。
【００８８】
Ｓ２１１において、アクセス許可リスト制御部３０８は、メッセージを受信する。アクセス許可リスト制御部３０８は、処理をＳ２１２へ移行する。
【００８９】
Ｓ２１２において、アクセス許可リスト制御部３０８は、バッテリ２０８のバッテリ残量が閾値以下であるか否かを判定する。バッテリ２０８のバッテリ残量が閾値以下である場合、アクセス許可リスト制御部３０８は、処理をＳ２１３へ移行する。一方、バッテリ２０８のバッテリ残量が閾値よりも大きい場合、アクセス許可リスト制御部３０８は、処理をＳ２１１へ戻す。
【００９０】
Ｓ２１３において、アクセス許可リスト制御部３０８は、アプリ管理部３２８からフォアグラウンドで実行されているアプリケーションの名称を受信する。アクセス許可リスト制御部３０８は、処理をＳ２１４へ移行する。
【００９１】
Ｓ２１４において、アクセス許可リスト制御部３０８は、受信したフォアグラウンドで実行されているアプリケーションの名称に基づいて、パッケージ情報ＤＢ３０２に格納されているパッケージ情報を参照して、アプリケーションの依存関係を抽出する。アクセス許可リスト制御部３０８は、処理をＳ２１５へ送信する。
【００９２】
Ｓ２１５において、アクセス許可リスト制御部３０８は、アクセス許可リストを生成する。アクセス許可リスト制御部３０８は、処理をＳ２１６へ移行する。
【００９３】
Ｓ２１６において、アクセス許可リスト制御部３０８は、アクセス許可リスト中のアプリケーションプログラム以外のパッケージ情報のアクセス許可情報を修正する。アクセス許可リスト制御部３０８は、処理をＳ２１７へ移行する。
【００９４】
Ｓ２１７において、アクセス許可リスト制御部３０８は、アクセスリスト中のアプリケーションプログラムオリジナルのアクセス許可情報をパッケージ情報コピーＤＢ３３８から取得し、パッケージ情報ＤＢ３０２に復元する。アクセス許可リスト制御部３０８は、処理を終了する。
【００９５】
図１４は、アクセス制御部の処理を示すフローチャートである。
【００９６】
Ｓ２２１において、アクセス制御部３２６は、データを受信する。アクセス制御部３２６は、処理をＳ２２２へ移行する。
【００９７】
Ｓ２２２において、アクセス制御部３２６は、パッケージ情報ＤＢ３０２を参照して、アクセスを要求したアプリケーションのパッケージ情報のアクセス許可情報を参照する。アクセス制御部３２６は、処理をＳ２２３へ移行する。
【００９８】
Ｓ２２３において、アクセス制御部３２６は、アクセス要求元のアプリケーションがアクセスを許可されているか否かを判定する。アクセス要求元のアプリケーションがアクセスを許可されている場合、アクセス制御部３２６は、処理をＳ２２４へ移行する。一方、アクセス要求元のアプリがアクセスを許可されていない場合、アクセス制御部３２６は、処理をＳ２２５へ移行する。
【００９９】
Ｓ２２４において、アクセス制御部３２６は、アクセス要求元のアプリケーションに対してアクセスを許可する。アクセス制御部３２６は、処理を終了する。
【０１００】
２２５において、アクセス制御部３２６は、アクセス要求元のアプリケーションに対してアクセスを拒否する。アクセス制御部３２６は、処理を終了する。
【０１０１】
（実施の形態３）
本実施形態では、実施の形態２に対して、バッテリ残量に応じてアクセス制限する周辺機器を変化させる手法を組み合わせた構成について説明する。実施の形態２に対して、バッテリ残量と周辺機器の対応関係を記述したアクセス制限対照表と残量変化で制限対象となる機器を通知する利用周辺機器制御部を追加している。
【０１０２】
図１５は、本実施形態における情報処理装置を示す図である。情報処理装置１００は、パッケージ情報ＤＢ３０２、依存関係抽出部３０４、依存関係対応表３０６、アクセス許可リスト制御部３０８、利用周辺機器制御部３１０、アクセス制限対象表３１２、アプリケーションＡ３１４、アプリケーションＡ´３１６、アプリケーションＢ´３１８、アプリケーションＢ３２０、アプリケーションＣ３２２、バッテリ管理部３２４、アクセス制御部３２６、アプリ管理部３２８、ドライバ３３１、ドライバ３３２、ドライバ３３４、ドライバ３３６、バッテリ２０８、ＧＰＳ２１２、センサ２１４、Ｗｉｆｉ２１６及びパッケージ情報ＤＢ管理部３３７及びパッケージ情報コピーＤＢ３３８を有する。なお、図２及び図９において説明したものについては同一番号を付し、その説明を省略する。
【０１０３】
バッテリ管理部３２４は、バッテリ２０８の残量が閾値以下になったことを検出した場合、バッテリ残量低下通知をパッケージ情報ＤＢ管理部３３７、アクセス許可リスト制御部３０８及び利用周辺機器制御部３１０に対して行う。
【０１０４】
パッケージ情報ＤＢ管理部３３７は、バッテリ管理部３２４からバッテリ残量低下通知を受けると、パッケージ情報ＤＢ３０２に格納されているパッケージ情報４００をコピーし、パッケージ情報コピーＤＢ３３８に格納する。例えば、フォアグラウンドで実行されているアプリケーションがアプリケーションＡ３１４、アプリケーションＡ３１４と依存するアプリケーションがアプリケーションＡ´３１６であり、バッテリ残量の百分率が２５［％］であるとすると、アクセス許可リスト制御部３０８は、アクセス制限対象表３１２を参照し、利用制限の対象とするデバイスをＧＰＳ２１２及びＷｉｆｉ２１６とする。よって、アプリケーションＢ３２０と、アプリケーションＢ３２０と依存するアプリケーションＢ´３１８からは、ＧＰＳ２１２及びＷｉｆｉ２１６へのアクセスを禁止させるため、アクセス許可リスト制御部３０８は、パッケージ情報ＤＢ３０２に格納されたパッケージ情報４００を書き換え、アクセス許可情報４０６からＧＰＳを削除し、センサとする。また、フォアグラウンドで実行されているアプリケーションが変わった場合や、バッテリ２０８の残量が閾値よりも回復した場合は、アクセス許可リスト制御部３０８は、パッケージ情報コピーＤＢ３３８に格納していたパッケージ情報で、書き換えられたパッケージ情報を上書きする。
【０１０５】
図１６は、利用周辺機器制御部の処理を示すフローチャートである。
【０１０６】
Ｓ３０１において、利用周辺機器制御部３１０は、バッテリ管理部３２４からバッテリ残量低下通知を受信する。利用周辺機器制御部３１０は、処理をＳ３０２へ移行する。
【０１０７】
Ｓ３０２において、利用周辺機器制御部３１０は、アクセス制限対照表３１２からバッテリ残量に対応するエントリを検索する。利用周辺機器制御部３１０は、処理をＳ３０３へ移行する。
【０１０８】
Ｓ３０３において、利用周辺機器制御部３１０は、アクセス制限対照表３１２を参照して、アクセス制限対象となるデバイスが存在するか否かを判定する。アクセス制限対象となるデバイスが存在する場合、利用周辺機器制御部３１０は、処理をＳ３０４へ移行する。一方、アクセス制限対象となるデバイスが存在しない場合、利用周辺機器制御部３１０は、処理をＳ３０１へ戻す。
【０１０９】
Ｓ３０４において、利用周辺機器制御部３１０は、アクセス制限対象をアクセス許可リスト制御部に通知する。利用周辺機器制御部３１０は、処理を終了する。
【０１１０】
図１７は、アクセス許可リスト制御部の処理を示すフローチャートである。
【０１１１】
Ｓ３１１において、アクセス許可リスト制御部３０８は、メッセージを受信する。アクセス許可リスト制御部３０８は、処理をＳ３１２へ移行する。
【０１１２】
Ｓ３１２において、アクセス許可リスト制御部３０８は、メッセージ種別を判定する。メッセージ種別が利用制限対象周辺機器リスト通知である場合、アクセス許可リスト制御部３０８は、処理をＳ３１３へ移行する。メッセージ種別が利用制限対象周辺機器リスト通知でない場合、アクセス許可リスト制御部３０８は、処理をＳ３１４へ移行する。
【０１１３】
Ｓ３１３において、アクセス許可リスト制御部３０８は、利用制限対象周辺機器リストを保存する。アクセス許可リスト制御部３０８は、処理をＳ３１４へ移行する。
【０１１４】
Ｓ３１４において、アクセス許可リスト制御部３０８は、バッテリ２０８のバッテリ残量が閾値以上であるか否かを判定する。バッテリ２０８のバッテリ残量が閾値以上である場合、アクセス許可リスト制御部３０８は、処理をＳ３１５へ移行する。一方、バッテリ２０８のバッテリ残量が閾値未満である場合、アクセス許可リスト制御部３０８は、処理をＳ３１１へ戻す。
【０１１５】
Ｓ３１５において、アクセス許可リスト制御部３０８は、アプリ管理部３２８からフォアグラウンドで実行されているアプリケーションの名称を受信する。アクセス許可リスト制御部３０８は、処理をＳ３１６へ移行する。
【０１１６】
Ｓ３１６において、アクセス許可リスト制御部３０８は、受信したフォアグラウンドで実行されているアプリケーションの名称に基づいて、パッケージ情報ＤＢ３０２に格納されているパッケージ情報を参照して、アプリケーションの依存関係を抽出する。アクセス許可リスト制御部３０８は、処理をＳ３１７へ移行する。
【０１１７】
Ｓ３１７において、アクセス許可リスト制御部３０８は、アクセス許可リストを生成する。アクセス許可リスト制御部３０８は、処理をＳ３１８へ移行する。
【０１１８】
Ｓ３１８において、アクセス許可リスト制御部３０８は、アクセス許可リスト中のアプリケーションプログラム以外のパッケージ情報のアクセス許可情報を修正する。アクセス許可リスト制御部３０８は、処理をＳ３１９へ移行する。
【０１１９】
Ｓ３１９において、アクセス許可リスト制御部３０８は、アクセスリスト中のアプリケーションプログラムオリジナルのアクセス許可情報をパッケージ情報コピーＤＢ３３８から取得し、パッケージ情報ＤＢ３０２に復元する。アクセス許可リスト制御部３０８は、処理を終了する。
【０１２０】
図１８は、アクセス制御部の処理を示すフローチャートである。
【０１２１】
Ｓ３２１において、アクセス制御部３２６は、データを受信する。アクセス制御部３２６は、処理をＳ３２２へ移行する。
【０１２２】
Ｓ３２２において、アクセス制御部３２６は、パッケージ情報ＤＢ３０２を参照して、アクセスを要求したアプリケーションに関するパッケージ情報のアクセス許可情報を参照する。アクセス制御部３２６は、処理をＳ３２３へ移行する。
【０１２３】
Ｓ３２３において、アクセス制御部３２６は、アクセス要求元のアプリケーションがアクセスを許可されているか否かを判定する。アクセス要求元のアプリケーションがアクセスを許可されている場合、アクセス制御部３２６は、処理をＳ３２４へ移行する。一方、アクセス要求元のアプリケーションがアクセスを許可されていない場合、アクセス制御部３２６は、処理をＳ３２５へ移行する。
【０１２４】
Ｓ３２４において、アクセス制御部３２６は、アクセス要求元のアプリケーションに対してアクセスを許可する。アクセス制御部３２６は、処理を終了する。
【０１２５】
２２５において、アクセス制御部３２６は、アクセス要求元のアプリケーションに対してアクセスを拒否する。アクセス制御部３２６は、処理を終了する。
【０１２６】
以上、本実施形態によれば、バッテリ残量低下時に、ユーザが対話的に操作しているアプリケーションとそのアプリケーションと連携するサービスや他のアプリケーションが周辺機器を利用できるようにすることにより、バッテリ残量が低下しても、ナビアプリケーション等は正常に利用することができる。また、データ通信などで無線を利用する場合、無線デバイスは待機状態に比べて、送受信中は多く電力を消費するため、無線デバイスへのアクセスをユーザが操作中のアプリケーションに限定することにより、消費電力を抑制することが可能となる。ゆえに、ユーザの利便性を維持しつつ、携帯端末装置全体の消費電力を低減して、バッテリの持続時間を長くすることが可能となる。
【０１２７】
以上、本発明の例示的な実施の形態の情報処理装置について説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１２８】
１００  情報処理装置
２０１  ＣＰＵ
２０２  メインメモリ
２０３  補助メモリ
２０４  クロック供給回路
２０５  電圧供給回路
２０６  ＲＦ部
２０７  アンテナ
２０８  バッテリ
２０９  電源回路
２１０  カメラモジュール
２１１  ブルートゥースインターフェース
２１２  ＧＰＳ
２１３  ＬＣＤ
２１４  センサ
２１５  外部給電部
２１６  Ｗｉｆｉ
２１８  バス
３０２  パッケージ情報ＤＢ
３０４  依存関係抽出部
３０５  優先度制御部
３０６  依存関係対応表
３０８  アクセス許可リスト制御部
３１０  利用周辺機器制御部
３１２  アクセス制限対象表
３１４  アプリケーションＡ
３１６  アプリケーションＡ´
３１８  アプリケーションＢ´
３２０  アプリケーションＢ
３２２  アプリケーションＣ
３２４  バッテリ管理部
３２６  アクセス制御部
３２８  アプリ管理部
３３０  ミドルウェア
３３１、３３２、３３４、３３６  ドライバ
３３７  パッケージ情報ＤＢ管理部
３３８  パッケージ情報コピーＤＢ
３４０  カーネル
４００、４１０、４２０  パッケージ情報
４０２、４２２  アプリ名
４０４  依存関係
４０６  アクセス許可情報
４０８  関連ファイルの保存場所
４１２  バッテリ残量
４１４  アクセス制限対象
４２４  依存アプリ
【図１】
0005853817.tif 000002
【図２】
0005853817.tif 000003
【図３】
0005853817.tif 000004
【図４】
0005853817.tif 000005
【図５】
0005853817.tif 000006
【図６】
0005853817.tif 000007
【図７】
0005853817.tif 000008
【図８】
0005853817.tif 000009
【図９】
0005853817.tif 000010
【図１０】
0005853817.tif 000011
【図１１】
0005853817.tif 000012
【図１２】
0005853817.tif 000013
【図１３】
0005853817.tif 000014
【図１４】
0005853817.tif 000015
【図１５】
0005853817.tif 000016
【図１６】
0005853817.tif 000017
【図１７】
0005853817.tif 000018
【図１８】
0005853817.tif 000019