説明

情報処理装置、制御プログラム及び制御方法

【課題】本技術の開示での課題は、バッテリ残量が所定値以下になった場合にバッテリ持続時間を延ばすことができる情報処理装置を提供することである。
【解決手段】課題を解決するために、電源を有する情報処理装置は、複数のアプリケーションプログラムを実行する処理部と、前記アプリケーションプログラムの実行結果を表示する表示部とを有し、前記処理部は、前記電源の残量が閾値以下になった場合、実行している複数のアプリケーションプログラムのうち前記表示部に実行結果が表示されているアプリケーションプログラム以外のアプリケーションプログラムを優先順位に応じて終了する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報制御プログラム及び情報制御方法に関する。
【背景技術】
【0002】
携帯電話を始めとした各種携帯端末において無線通信、GPS(Global Positioning System)等の周辺機器を利用した場合、電力消費量は大きく増加する。バッテリの持続時間を延長するため、例えば、アプリケーションが周辺機器の利用開始と利用停止を宣言するAPI(Application Program Interface)を用意し、当該APIを利用した場合、周辺機器を利用することを許可する機能をOS(Operating System)とミドルウェアに持たせる技術がある。また、例えば、システムがアプリケーションの動作を監視し、周辺機器へのアクセスの開始と終了を検出する技術がある。
【0003】
しかし、上述した技術では、OSとアプリケーションの双方に修正が必要となり、スマートフォンのように多様なアプリケーションをユーザが自由にダウンロードしてインストールすることができる端末に対して、一部の端末に対してのみ追加して導入することは困難である。同様の理由により、個々のアプリケーションパッケージにどの周辺機器を利用するかの定義を全アプリに添付してもらうよう、アプリケーションパッケージの形式を改版することも困難である。また、アプリケーションの動作を常時観測し、システムがアプリケーションによる周辺機器の利用を検出するため、アプリケーションやAPIの修正は不要であるが、常時観測した場合は観測によるシステム負荷の増加により、端末の消費電力が増加したり、システムのレスポンスが悪化したりする。
【0004】
先行技術文献としては、下記のものがある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−73255号公報
【特許文献2】特開2009−93295号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本技術の開示での課題は、バッテリ残量が所定値以下になった場合にバッテリ持続時間を延ばすことができる情報処理装置を提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、電源を有する情報処理装置は、複数のアプリケーションプログラムを実行する処理部と、前記アプリケーションプログラムの実行結果を表示する表示部と、複数の動作情報と前記複数の動作情報に対応する前記複数のアプリケーションプログラムとをそれぞれ対応付けて記録した第1テーブルと、前記複数のアプリケーションプログラムと、前記複数のアプリケーションプログラムを実行した場合に前記処理部が消費する電力に基づいて決定した順位とをそれぞれ対応付けて記録した第2テーブルとを格納する格納部とを有し、前記処理部は、所定の動作情報を検出した場合、前記第1テーブルを参照し、前記所定の動作情報に対応するアプリケーションプログラムを検出し、前記検出したアプリケーションプログラムに基づいて、前記第2テーブルを参照して、前記検出したアプリケーションプログラムの順位を取得し、前記電源の残量が閾値以下になった場合、実行している複数のアプリケーションプログラムのうち前記表示部に実行結果が表示されているアプリケーションプログラム以外のアプリケーションプログラムを前記順位に応じて終了する。
【発明の効果】
【0008】
本開示の技術の一側面によれば、情報処理装置のバッテリ残量が所定値以下になった場合、バックグラウンドで動作するアプリケーションを実行するCPUの消費電力に応じて、当該アプリケーションを強制終了する。そのため、CPUが消費する電力が大きいアプリケーションから強制終了し、CPUが消費する電力が小さくなるため、バッテリ持続時間を延ばすことができる。
【図面の簡単な説明】
【0009】
【図1】情報処理装置のハードウェア構成を示す図である。
【図2】アプリケーションパッケージの構成とインストール時の格納先を示す図である。
【図3】アプリ管理プログラムインストール処理を示すフローチャートである。
【図4】アプリ管理プログラムバージョンアップ処理を示すフローチャートである。
【図5】アプリ管理プログラムアンインストール処理を示すフローチャートである。
【図6】アプリ管理プログラムアクセス権限変更処理を示すフローチャートである。
【図7】クラスアプリ種類対応表を示す図である。
【図8】アプリ種類・アクセス許可情報対応表を示す図である。
【図9】強制終了対象除外リストを示す図である。
【図10】強制終了対象アプリリストを示す図である。
【図11】強制終了対象アプリリスト作成のデータの流れを示す図である。
【図12】強制終了対象アプリリストメンテナンス部の処理を示すフローチャートである。
【図13】強制終了対象アプリリストメンテナンス部リスト処理を示すフローチャートである。
【図14】強制終了対象アプリリスト作成のタイミングチャートを示す図である。
【図15】バッテリ残量・クラス対応表を示す図である。
【図16】バッテリ残量に応じたアプリ強制終了システムを示す図である。
【図17】バッテリ残量に応じたアプリの強制終了時のタイミングチャートを示す図である。
【図18】アプリ制御部の処理を示すフローチャートである。
【図19】アプリ判定部の処理を示すフローチャートである。
【図20】バッテリ残量監視部の処理を示すフローチャートである。
【図21】実施形態1におけるシステムの構成を示す図である。
【図22】強制終了対象アプリリストメンテナンス部の処理を示すフローチャートである。
【図23】実施形態2におけるシステムの構成を示す図である。
【図24】強制終了対象アプリリストメンテナンス部の処理を示すフローチャートである。
【図25】アプリ管理プログラムの処理を示すフローチャートである。
【図26】実施形態3におけるシステムの構成を示す図である。
【図27】アプリ管理プログラムの内部構造を示す図である。
【図28】アプリ管理プログラムの処理を示すフローチャートである。
【図29】強制終了対象追加処理を示すフローチャートである。
【図30】強制終了対象削除処理を示すフローチャートである。
【図31】強制終了対象クラス変更処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本実施形態における情報処理システムについて説明する。
【0011】
(実施形態1)
図1は、本実施形態における情報処理装置のハードウェア構成を示す図である。図1に示す情報処理装置100は、例えばスマートフォンやタブレットPC(Personal Computer)などの携帯情報端末である。
【0012】
情報処理装置100は、CPU(Central Processing Unit)201と、メインメモリ202と、補助メモリ203と、クロック供給回路204と、電圧供給回路205と、RF(Radio Frequency)部206と、アンテナ207と、バッテリ208とをハードウェアモジュールとして備えている。また、情報処理装置100は、電源回路209と、カメラモジュール210と、ブルートゥースインターフェース211と、GPSモジュール212と、LCD(Liquid Crystal Display)213と、センサ214と、外部給電部215とをハードウェアモジュールとして備えている。各ハードウェアモジュールは、例えばバス216によって接続されている。
【0013】
CPU201は、情報処理装置100の全体の制御を司る。また、CPU201は、クロック供給回路204から供給されるクロック信号および電圧供給回路205から供給される電圧によって動作する。メインメモリ202は、例えばRAM(Random Access Memory)である。メインメモリ202は、CPU201のワークエリアとして使用される。
【0014】
補助メモリ203は、例えば、ハードディスクやフラッシュメモリなどの不揮発メモリである。補助メモリ203には、情報処理装置100を動作させる各種のプログラムが記憶されている。補助メモリ203に記憶されたプログラムは、メインメモリ202にロードされてCPU201によって実行される。これによって、後述する各種プログラムが情報処理装置100にて実行されるようになる。
【0015】
クロック供給回路204は、周波数が可変のクロック信号をCPU201へ供給する。クロック供給回路204は、例えば、クロック信号を発振する水晶振動子およびRTC(Real Time Clock)などによって実現することができる。電圧供給回路205は、電源回路209から供給される電力によってCPU201に可変の電圧を供給する。電圧供給回路205は、例えばボルテージディテクタおよびボルテージレギュレータなどによって実現することができる。
【0016】
RF部206は、CPU201からの制御により、高周波信号をアンテナ207から他の無線通信装置へ送信するトランスミッタの機能を有する。また、RF部206は、アンテナ207によって受信された高周波信号をベースバンド信号に変換してCPU201へ出力するレシーバの機能を有する。
【0017】
バッテリ208は、電源回路209へ電力を供給する。バッテリ208は、例えばリチウムイオン電池などの電池と電池保護用のIC(Integrated Circuit)などによって実現することができる。電源回路209は、バッテリ208から供給される電力を情報処理装置100の各ハードウェアモジュールへ供給する。また、電源回路209は、外部給電部215に外部電源が接続されている場合は、外部給電部215から供給される電力を情報処理装置100の各ハードウェアモジュールへ供給してもよい。電源回路209は、例えばスイッチングレギュレータおよびボルテージレギュレータによって実現することができる。
【0018】
カメラモジュール210は、CPU201からの制御により、被写体を撮影し、撮影により得られた映像データを取得する。ブルートゥースインターフェース211は、CPU201からの制御により、他の通信装置との間でBluetooth(登録商標)による無線通信を行う通信インターフェースである。また、情報処理装置100は、ブルートゥースインターフェース211の他に、無線LAN(Local Area Network)などの無線通信インターフェースを備えていてもよい。
【0019】
GPSモジュール212は、CPU201からの制御により、人工衛星の発する電波を受信することによって情報処理装置100の地球上の現在位置を示す位置情報を取得する。
【0020】
LCD213は、CPU201からの制御により、ユーザに対して画像を表示する画像表示装置である。また、LCD213は、タッチパッドなどの位置入力機能も兼ね備えたタッチパネルであってもよい。
【0021】
センサ214は、CPU201からの制御により、情報処理装置100の内部の各状態を示す情報を取得する。センサ214としては、例えば、加速度センサ、ジャイロセンサ、照度センサ、地磁気センサ、傾きセンサ、加圧センサ、接近センサ、温度センサなどを挙げることができる。
【0022】
図2は、本実施形態におけるアプリケーションパッケージ304の構成とインストール時の格納先について示した図である。
【0023】
スマートフォンでは、有料無料を問わず、世界中のアプリ開発者が提供するアプリケーションパッケージをユーザがネットワークからダウンロードし、端末にインストールして利用する。そのため、セキュリティ上の理由からアプリケーションパッケージにはデータ通信を行うか否か、無線LANを利用するか否か、GPSを利用した高精度の位置測位を行うか否か、ユーザの個人情報を読取るか否かといったアクセス許可情報が添付されている。ユーザが当該アクセス許可情報を参照し、そのアプリケーションを実際に利用するか否か判定するだけでなく、システムはアプリケーション実行時に、該当アプリケーションパッケージに添付されたアクセス許可情報にない動作をアプリケーションが行おうとした場合にそれを防止する。そのため、スマートフォンでは、アプリケーションのインストール時にパッケージ内のアクセス許可情報は端末内部に保存されている。
【0024】
アプリケーションパッケージ304は、アプリプログラム、設定ファイル、付属データ及びアクセス許可情報を有する。アプリ管理部301は、各種アプリケーションを管理する。アプリ管理部301は、アプリプログラム、設定ファイル及び付属データをストレージ302に格納する。アプリ管理部301は、アプリ名、アクセス許可情報及びプログラム等格納先情報をパッケージ情報DB303に格納する。
【0025】
図3は、本実施形態におけるアプリ管理プログラムインストール処理を示すフローチャートである。
【0026】
ステップS101において、アプリ管理部301は、パッケージ情報DB303にインストール対象アプリのエントリを作成する。アプリ管理部301は、処理をステップS102に移行する。
【0027】
ステップS102において、アプリ管理部301は、アプリケーションパッケージからプログラムやデータを取得し、ファイルシステムに書き込む。アプリ管理部301は、処理をステップS103に移行する。
【0028】
ステップS103において、アプリ管理部301は、パッケージ情報DB303にプログラムやデータファイル名とアクセス許可情報を記録する。アプリ管理部301は、処理を終了する。
【0029】
図4は、本実施形態におけるアプリ管理プログラムバージョンアップ処理を示すフローチャートである。
【0030】
ステップS111において、アプリ管理部301は、パッケージ情報DB303をアプリ名で検索し、プログラム及びデータファイルのファイル名を特定する。アプリ管理部301は、処理をステップS112に移行する。
【0031】
ステップS112において、アプリ管理部301は、プログラム、データファイルを削除する。アプリ管理部301は、処理をステップS113に移行する。
【0032】
ステップS113において、アプリ管理部301は、アプリケーションパッケージ304からプログラムやデータを取得し、ファイルシステムに書き込む。アプリ管理部301は、処理をステップS114に移行する。
【0033】
ステップS114において、アプリ管理部301は、パッケージ情報DB303にプログラムやデータファイル名とアクセス許可情報を記録する。アプリ管理部301は、処理を終了する。
【0034】
図5は、本実施形態におけるアプリ管理プログラムアンインストール処理を示すフローチャートである。
【0035】
ステップS121において、アプリ管理部301は、パッケージ情報DB303をアプリ名で検索し、プログラム及びデータファイルのファイル名を特定する。アプリ管理部301は、処理をステップS122に移行する。
【0036】
ステップS122において、アプリ管理部301は、プログラム、データファイルを削除する。アプリ管理部301は、処理をステップS123に移行する。
【0037】
ステップS123において、アプリ管理部301は、パッケージ情報DB303からアンインストール対象のアプリのエントリを削除する。アプリ管理部301は、処理を終了する。
【0038】
図6は、本実施形態におけるアプリ管理プログラムアクセス権限変更処理を示すフローチャートである。
【0039】
ステップS131において、アプリ管理部301は、パッケージ情報DB303をアプリ名で検索し、アクセス許可情報を取得する。アプリ管理部301は、処理をステップS132に移行する。
【0040】
ステップS132において、アプリ管理部301は、修正対象アプリのアクセス許可情報を上書きする。アプリ管理部301は、処理を終了する。
【0041】
スマートフォンにおいて、電力を多く消費する周辺機器は無線LANや3Gといった無線機器を用いてデータ通信行う場合やGPSを用いた高精度の位置測位を行う場合のように特定の周辺機器にアクセスする場合の他、LCDをOFFにしている状態に端末がスリープモードに入ることを禁止する動作をアプリケーションが行う場合である。これらの消費電力を増加させる動作は当該動作に対応するアクセス許可情報が既に存在する。
【0042】
スマートフォンにインストール済みの全アプリケーションのアクセス許可情報を読取ることにより、個々のアプリケーションが消費電力を増加させるいずれかの動作を行う可能性があるか否か、行う可能性がある場合、どの動作を行うかといった情報の判定が、アプリケーションを実行することなく可能である。
【0043】
また、端末メーカはどの周辺機器がどの程度電力を消費するか、端末がスリープせずに動作し続けた場合に、CPUがどの程度電力を消費するかは容易に判定可能である。されらに、これらの動作を行った場合の消費電力の大小関係に着目すると、この大小関係は端末の機種に関係なく概ね成り立つ。そのため、端末の製造業者で以外の第三者(例えば、バッテリ残量の変化に応じてアプリケーションを強制終了するアプリケーションの開発者)であっても、この情報を提供することが可能である。
【0044】
本実施形態では、以上の2種類の情報を照合することにより、消費電力を増加させる動作に基づいて作成したアプリケーションのグループを消費電力の大きさで順位を付ける。
【0045】
図7に、クラスアプリ種類対応表510を示す。クラスアプリ種類対応表510はクラス名511及びアプリケーションの種類512を有する。クラスアプリ種類対応表510は、バッテリレベルが減少した場合に強制終了したいアプリケーションの種類をクラスに分類している。
【0046】
本実施形態においては、CPU201がアプリケーションを実行した場合に、消費する電力の大きさに応じてアプリケーションを分類している。クラスアプリ種類対応表510は、アプリケーション「GPS利用」、「音楽再生」を実行する際のCPU201の消費電力が、アプリケーション「データ通信」を実行する際のCPU201の消費電力よりも大きいことを示している。アプリケーション「GPS利用」、「音楽再生」及び「データ通信」が同時に実行されている場合、アプリケーション「GPS利用」及び「音楽再生」が「データ通信」よりも優先的に強制終了の対象となる。
【0047】
図8に、アプリ種類・アクセス許可情報対応表520を示す。アプリ種類・アクセス許可情報対応表520はアプリケーションの種類512及びアクセス許可情報522を有する。アクセス許可情報522は、アプリケーションが消費電力を増加させる動作を示す。アプリ種類・アクセス許可情報対応表520は、強制終了の対象となるアプリケーションが持つアクセス許可情報の値とアプリケーションの種類とを対応付けている。
【0048】
図9に、強制終了対象除外リスト540を示す。強制終了対象除外リスト540は変更可否531及びアプリケーション名リスト532を有する。強制終了対象除外リスト540は、強制終了処理の対象から除外するアプリケーションを示す。変更可否531は、さらに、システムが提供する変更不可とユーザが指定可能な変更可を有する。アプリケーション名リスト532はアプリケーション名を示す。
【0049】
本実施形態においては、アプリケーション「電話」は、強制終了の対象とならないことを示す。また、ユーザは変更可に、強制終了の対象としたくないアプリケーションを追加することができる。
【0050】
図10に、強制終了対象アプリリスト530を示す。強制終了対象アプリリスト530は、クラス名511及びアプリケーション名542を有する。強制終了対象アプリリストメンテナンス部305は、図7乃至図9に示した表とインストール済みの全アプリケーションのアクセス情報を参照することにより、強制終了対象アプリリスト530を生成する。図10に示した強制終了対象アプリリスト530は、アプリケーション「ナビ」、「音楽」を「ブラウザ」よりも優先的に強制終了することを示している。
【0051】
図11に、図1に示した情報処理装置100の機能ブロック図を示す。情報処理装置100は、強制終了対象アプリリストメンテナンス部305、パッケージ情報DB303、クラスアプリ種類対応表510、強制終了対象除外リスト540、アプリ種類・アクセス許可情報対応表520及び強制終了対象アプリリスト530を有する。強制終了対象アプリリストメンテナンス部305は、上述したように図7乃至図9に示した表とインストール済みの全アプリケーションのアクセス情報を参照することにより、リスト処理手続きを行い、強制終了対象アプリリスト530を生成する。
【0052】
図12に、強制終了対象アプリリストメンテナンス部の処理のフローチャートを示す。
【0053】
ステップS141において、強制終了対象アプリリストメンテナンス部305は、強制終了対象アプリリスト再構築イベントが有るか否かを判定する。強制終了対象アプリリスト再構築イベントが有る場合、強制終了対象アプリリストメンテナンス部305は、処理をステップS143へ移行する。一方、強制終了対象アプリリスト再構築イベントが無い場合、強制終了対象アプリリストメンテナンス部305は、処理をステップS142へ移行する。
【0054】
ステップS142において、強制終了対象アプリリストメンテナンス部305は、一定時間待機し、処理をステップS141へ戻す。
【0055】
ステップS143において、強制終了対象アプリリストメンテナンス部305は、リスト処理手続きを行う。強制終了対象アプリリストメンテナンス部305は、処理をステップS141へ戻す。
【0056】
図13に、強制終了対象アプリリストメンテナンス部のリスト処理手続きのフローチャートを示す。
【0057】
ステップS151において、強制終了対象アプリリストメンテナンス部305は、インストール済みの全アプリケーションを処理したか否かを判定する。インストール済みの全アプリケーションを処理した場合、強制終了対象アプリリストメンテナンス部305は、処理を終了する。一方、インストール済みの全アプリケーションを処理していない場合、強制終了対象アプリリストメンテナンス部305は、処理をステップS152へ移行する。
【0058】
ステップS152において、強制終了対象アプリリストメンテナンス部305は、パッケージ情報DB303からインストール済みのアプリ名とアクセス許可情報を取得する。強制終了対象アプリリストメンテナンス部305は、処理をステップS153へ移行する。
【0059】
ステップS153において、強制終了対象アプリリストメンテナンス部305は、アプリ種類・アクセス許可情報対応表520を読み取る。強制終了対象アプリリストメンテナンス部305は、処理をステップS154へ移行する。
【0060】
ステップS154において、強制終了対象アプリリストメンテナンス部305は、対象アプリが属するアプリ種類を判定する。強制終了対象アプリリストメンテナンス部305は、処理をステップS155へ移行する。
【0061】
ステップS155において、強制終了対象アプリリストメンテナンス部305は、クラスアプリ種類対応表510を読み取る。強制終了対象アプリリストメンテナンス部305は、処理をステップS156へ移行する。
【0062】
ステップS156において、強制終了対象アプリリストメンテナンス部305は、アプリが属するクラス番号判定を行う。強制終了対象アプリリストメンテナンス部305は、処理をステップS157へ移行する。
【0063】
ステップS157において、強制終了対象アプリリストメンテナンス部305は、アプリがどこかのクラスに属するか否かを判定する。アプリがどこかのクラスに属する場合、強制終了対象アプリリストメンテナンス部305は、処理をステップS158へ移行する。一方、アプリがどこかのクラスに属さない場合、強制終了対象アプリリストメンテナンス部305は、処理をステップS151へ戻す。
【0064】
ステップS158において、強制終了対象アプリリストメンテナンス部305は、アプリを強制終了対象アプリリスト530に登録する。強制終了対象アプリリストメンテナンス部305は、処理をステップS151へ戻す。
【0065】
図14に、強制終了対象アプリリスト作成のタイミングチャートを示す。
【0066】
上述した処理で生成された強制終了対象アプリリスト530と、アプリ判定部308から得られるバックグラウンドで動作しているアプリケーションの一覧を照合し、アプリ制御部306はOS307に対して強制終了の指示を出す。バッテリの残量の監視はバッテリ残量監視部310が行う。バッテリ残量がどこまで低下した場合にイベントを発生させるかは、バッテリ残量がある閾値まで低下した場合に、バッテリ残量監視部310が強制終了の対象となるアプリケーションのクラス名をアプリ制御部306に通知する。
【0067】
図15にバッテリ残量・クラス対応表550を示す。バッテリ残量・クラス対応表550は、クラス名511及びバッテリ残量552を有する。バッテリ残量552は情報処理装置100のバッテリ残量を示す。
【0068】
バッテリ残量・クラス対応表550は、情報処理装置100のバッテリ残量が50%になった場合、強制終了対象アプリリスト530のクラス名1と対応付けられたアプリケーション「ナビ」及び「音楽」が強制終了の対象になることを示す。バッテリ残量監視部310は、情報処理装置100のバッテリ残量がある閾値まで低下した場合、バッテリ残量・クラス対応表550を参照し、強制終了の対象となるアプリケーションのクラス名をアプリ制御部306に通知する。強制終了対象アプリリスト530と、アプリ判定部308から得られるバックグラウンドで動作しているアプリケーションの一覧を照合し、アプリ制御部306はOS307に対して強制終了の指示を通知する。OS307は、アプリ制御部306から通知された指示に基づいて強制終了の対象となるアプリケーションを終了する。
【0069】
図16に、図1に示した情報処理装置100の機能ブロック図を示す。情報処理装置100は、強制終了対象アプリリストメンテナンス部305、パッケージ情報DB303、クラスアプリ種類対応表510、強制終了対象除外リスト540、アプリ種類・アクセス許可情報対応表520、強制終了対象アプリリスト530、アプリ制御部306、OS307、アプリ判定部308、バッテリ208、バッテリ残量監視部310及びバッテリ残量・クラス対応表550を有する。図11を用いて説明したものについては同一番号を付し、その説明を省略する。
【0070】
アプリ判定部308はバックグラウンドで動作しているアプリケーションの一覧を取得し、アプリ制御部306に通知する。バッテリ残量監視部310は、バッテリ208の残量の監視を行う。アプリ制御部306は、上述した処理で生成された強制終了対象アプリリスト530と、アプリ判定部308から通知されるバックグラウンドで動作しているアプリケーションの一覧を照合する。アプリ制御部306は、強制終了対象アプリリスト530にバックグラウンドで動作しているアプリケーション名が存在する場合、当該アプリケーションを強制終了させるために、OS307に対して強制終了の指示を通知する。OS307は、アプリ制御部306からの通知に基づいてアプリケーションを終了する。
【0071】
図17に、バッテリ残量に応じたアプリの強制終了時のタイミングチャートを示す。
【0072】
図18にアプリ制御部306の処理を示す。
【0073】
ステップS161において、アプリ制御部306は、バッテリ残量監視部310からアプリ強制終了イベント通知が有るか否かを判定する。アプリ強制終了イベント通知が有る場合、アプリ制御部306は、処理をステップS162へ移行する。一方、アプリ強制終了イベント通知が無い場合、アプリ制御部306は、ステップS161の処理を繰り返す。
【0074】
ステップS162において、アプリ制御部306は、アプリ判定部308からバックグラウンドで動作しているアプリ一覧を取得する。アプリ制御部306は、処理をステップS163へ移行する。
【0075】
ステップS163において、アプリ制御部306は、強制終了対象アプリリスト530からアプリ強制終了イベントに対応するクラス番号のアプリリストを読み取る。アプリ制御部306は、処理をステップS164へ移行する。
【0076】
ステップS164において、アプリ制御部306は、読み取ったアプリリストのうち実行中のバックグラウンドアプリと一致しているアプリを検出する。アプリ制御部306は、処理をステップS165へ移行する。
【0077】
ステップS165において、アプリ制御部306は、一致しているアプリを対象にOS307に強制終了指示を出す。アプリ制御部306は、処理をステップS166へ移行する。
【0078】
ステップS166において、アプリ制御部306は、一定時間待機する。アプリ制御部306は、処理をステップS161へ戻す。
【0079】
図19にアプリ判定部306の処理を示す。
【0080】
ステップS171において、アプリ判定部308は、アプリ制御部306からの通知が有るか否かを判定する。アプリ制御部306からの通知が有る場合、アプリ判定部308は、処理をステップS172へ移行する。一方、アプリ判定部308からの通知が無い場合、アプリ判定部308は、処理をステップS176へ移行する。
【0081】
ステップS172において、アプリ判定部308は、実行中のアプリ一覧を取得する。アプリ判定部308は、処理をステップS173へ移行する。
【0082】
ステップS173において、アプリ判定部308は、現在フォアグラウンドで動作しているアプリ名を取得する。アプリ判定部308は、処理をステップS174へ移行する。
【0083】
ステップS174において、アプリ判定部308は、実行中のアプリ一覧からフォアグラウンドで動作しているものを除外する。アプリ判定部308は、処理をステップS175へ移行する。
【0084】
ステップS175において、アプリ判定部308は、作成したアプリ一覧をアプリ制御部306に通知する。アプリ判定部308は、処理をステップS176へ移行する。
【0085】
ステップS176において、アプリ判定部308は、一定時間待機する。アプリ判定部308は、処理をステップS171に戻す。
【0086】
図20にバッテリ残量監視部310の処理を示す。
【0087】
ステップS181において、バッテリ残量監視部310は、前回チェック時のバッテリ残量を100に設定する。バッテリ残量監視部310は、処理をステップS182へ移行する。
【0088】
ステップS182において、バッテリ残量監視部310は、バッテリ残量・クラス対応表550を読み取る。バッテリ残量監視部310は、処理をステップS183へ移行する。
【0089】
ステップS183において、バッテリ残量監視部310は、バッテリの残量を読み取る。バッテリ残量監視部310は、処理をステップS184へ移行する。
【0090】
ステップS184において、バッテリ残量監視部310は、前回チェック時のバッテリ残量を読み取る。バッテリ残量監視部310は、処理をステップS185へ移行する。
【0091】
ステップS185において、バッテリ残量監視部310は、バッテリ残量が閾値を跨いで減少しているか否かを判定する。バッテリ残量が閾値を跨いで減少している場合、バッテリ残量監視部310は、処理をステップS187へ移行する。一方、バッテリ残量が閾値を跨いで減少していない場合、バッテリ残量監視部310は、処理をステップS186へ移行する。
【0092】
ステップS186において、バッテリ残量監視部310は、アプリ強制終了イベントをアプリ制御部306に通知する。バッテリ残量監視部310は、処理をステップS187へ移行する。
【0093】
ステップS187において、バッテリ残量監視部310は、今回チェック時のバッテリ残量を前回チェック時のバッテリ残量に上書きする。バッテリ残量監視部310は、処理をステップS188へ移行する。
【0094】
ステップS188において、バッテリ残量監視部310は、一定時間待機する。バッテリ残量監視部310は、処理をステップS183へ戻す。
【0095】
本実施形態によれば、現在セキュリティ上の目的のみに用いられているアクセス許可情報を活用することにより、既存のアプリケーションやOSへの修正やアプリケーションの動作の解析や消費電力の測定を行うことなく、アプリケーションをグループに分類することが可能となる。この分類に従ってバッテリ残量の低下時に、消費電力の大きなアプリケーションのグループに属する実行中のアプリケーションを強制終了することにより、端末のバッテリの持続時間を増加させることが可能となる。
【0096】
(実施形態2)
本実施例では、原理図におけるイベントとしてタイマを用いる。一定時間間隔でイベントが発生するよう、OSのコア(カーネル)等に登録しておき、イベント発生時にインストール済みの全アプリケーションのアクセス許可情報を解析し、完全に表をつくり直す。
【0097】
図21に、図1に示した情報処理装置100の機能ブロック図を示す。なお、各ブロックの機能については上述しているため、その説明を省略する。
【0098】
図22に、強制終了対象アプリリストメンテナンス部の処理を示す。
【0099】
ステップS191において、強制終了対象アプリリストメンテナンス部305は、リスト処理手続きを行う。強制終了対象アプリリストメンテナンス部305は処理をステップS192へ移行する。
【0100】
ステップS192において、強制終了対象アプリリストメンテナンス部305は、次回起動時間を登録する。強制終了対象アプリリストメンテナンス部305は処理をステップS193へ移行する。
【0101】
ステップS193において、強制終了対象アプリリストメンテナンス部305は、スリープを行う。強制終了対象アプリリストメンテナンス部305は処理をステップS194へ移行する。
【0102】
ステップS194において、強制終了対象アプリリストメンテナンス部305は、タイマイベントを受信する。強制終了対象アプリリストメンテナンス部305は、処理をステップS191へ戻し、再びリスト処理手続きを行う。
【0103】
(実施形態3)
本実施形態では、アプリケーションのメンテナンスに用いるインストーラに対してイベント発生機能を追加し、新規アプリケーションのインストール、既存アプリケーションのバージョンアップやアンインストールといったメンテナンス後に、表を再構成するためのイベントを発生させる。次に、イベントを着信した表構成部では、イベント着信時にインストール済みの全アプリケーションのアクセス許可情報を読取り、表を完全に作り直す。
【0104】
図23に、図1に示した情報処理装置100の機能ブロック図を示す。なお、各ブロックの機能については上述しているため、その説明を省略する。
【0105】
図24に強制終了対象アプリリストメンテナンス部の処理を示す。
【0106】
ステップS201において、強制終了対象アプリリストメンテナンス部305は、リスト処理手続きを行う。強制終了対象アプリリストメンテナンス部305は、処理をステップS202へ移行する。
【0107】
ステップS202において、強制終了対象アプリリストメンテナンス部305は、アプリ管理部301からの強制終了対象アプリリストの再構成指示を待機する。強制終了対象アプリリストメンテナンス部305は、処理をステップS203へ移行する。
【0108】
ステップS203において、強制終了対象アプリリストメンテナンス部305は、アプリ管理部301から強制終了対象アプリリストの再構成指示を受信する。強制終了対象アプリリストメンテナンス部305は、処理をステップS201へ戻し、再びリスト処理手続きを行う。
【0109】
図25にアプリ管理プログラムの処理を示す。
【0110】
ステップS211において、アプリ管理部301は、処理内容を判定する。処理内容がアクセス権限変更の場合、アプリ管理部301は、処理をステップS212へ移行する。また、処理内容がアンインストールの場合、アプリ管理部301は、処理をステップS214へ移行する。さらに、処理内容がインストールの場合、アプリ管理部301は、処理をステップS215へ移行する。
【0111】
ステップS212において、アプリ管理部301は、アクセス権限変更処理を行う。アプリ管理部301は、処理をステップS213へ移行する。
【0112】
ステップS214において、アプリ管理部301は、アンインストール処理を行う。アプリ管理部301は、処理をステップS213へ移行する。
【0113】
ステップS215において、アプリ管理部301は、インストール内容を判定する。インストール内容が新規インストールの場合、アプリ管理部301は、処理をステップS216へ移行する。一方、インストール内容がバージョンアップインストールの場合、アプリ管理部301は、処理をステップS217へ移行する。
【0114】
ステップS216において、アプリ管理部301は、インストール処理を実行する。アプリ管理部301は、処理をステップS213へ移行する。
【0115】
ステップS217において、アプリ管理部301は、アクセス許可情報の変更が有るか否かを判定する。アクセス許可情報の変更が有る場合、アプリ管理部301は、処理をステップS218へ移行する。一方、アクセス許可情報の変更が無い場合、アプリ管理部301は、処理をステップS219へ移行する。
【0116】
ステップS218において、アプリ管理部301は、バージョンアップ処理を実行する。アプリ管理部301は、処理をステップS213へ移行する。
【0117】
ステップS219において、アプリ管理部301は、バージョンアップ処理を実行する。アプリ管理部301は、処理を終了する。
【0118】
ステップS213において、アプリ管理部301は、強制終了対象アプリリスト再構成指示を強制終了対象アプリリストメンテナンス部305に送信する。アプリ管理部301は、処理を終了する。
【0119】
(実施形態4)
本実施形態では、インストーラ内部に強制終了対象アプリリストメンテナンス部の機能を統合する。実施形態3におけるイベントを発生させる代わりに、アプリケーションのメンテナンス作業時に、発生したメンテナンスによって表が影響を受ける範囲だけを検出した上で修正する。
【0120】
図26に、図1に示した情報処理装置100の機能ブロック図を示す。なお、各ブロックの機能については上述しているため、その説明を省略する。
【0121】
図27に本実施形態におけるアプリ管理プログラムの構成図を示す。アプリ管理プログラム170は、インストール処理部312、アンインストール処理部313、強制終了対象削除処理部314、アクセス権限変更部315、強制終了対象クラス変更部316及び強制終了対象追加処理部317を有する。インストール処理部312はインストール処理を行う。アンインストール処理部313はアンインストール処理を行う。強制終了対象削除処理部314は、強制終了対象アプリリスト530に対して強制終了対象となっているアプリケーション名の削除を行う。アクセス権限変更部315は、アクセス権限の変更を行う。強制終了対象クラス変更部316は、強制終了対象アプリリスト530に対して強制終了対象となっているアプリケーションのクラス変更を行う。強制終了対象追加処理部317は、強制終了対象アプリリスト530に対して新たに強制終了の対象となるアプリケーションのアプリケーション名を追加する。
【0122】
図28にアプリ管理プログラムの処理を示す。
【0123】
ステップS221において、アプリ管理部301は、処理内容を判定する。処理内容がアクセス権限変更の場合、アプリ管理部301は、処理をステップS222へ移行する。また、処理内容がアンインストールの場合、アプリ管理部301は、処理をステップS224へ移行する。さらに、処理内容がインストールの場合、アプリ管理部301は、処理をステップS226へ移行する。
【0124】
ステップS222において、アプリ管理部301は、アクセス権限変更処理を行う。アプリ管理部301は、処理をステップS223へ移行する。
【0125】
ステップS223において、アプリ管理部301は、強制終了対象クラス変更処理を行う。アプリ管理部301は、処理を終了する。
【0126】
ステップS224において、アプリ管理部301は、アンインストール処理を行う。アプリ管理部301は、処理をステップS225へ移行する。
【0127】
ステップS225において、アプリ管理部301は、強制終了対象削除処理を行う。アプリ管理部301は、処理を終了する。
【0128】
ステップS226において、アプリ管理部301は、インストール内容を判定する。インストール内容が新規インストールの場合、アプリ管理部301は、処理をステップS227へ移行する。一方、インストール内容がバージョンアップインストールの場合、アプリ管理部301は、処理をステップS229へ移行する。
【0129】
ステップS227において、アプリ管理部301は、インストール処理を実行する。アプリ管理部301は、処理をステップS228へ移行する。
【0130】
ステップS228において、アプリ管理部301は、強制終了対象追加処理を行う。アプリ管理部301は、処理を終了する。
【0131】
ステップS229において、アプリ管理部301は、アクセス許可情報の変更が有るか否かを判定する。アクセス許可情報の変更が有る場合、アプリ管理部301は、処理をステップS230へ移行する。一方、アクセス許可情報の変更が無い場合、アプリ管理部301は、処理をステップS232へ移行する。
【0132】
ステップS230において、アプリ管理部301は、バージョンアップ処理を実行する。アプリ管理部301は、処理をステップS231へ移行する。
【0133】
ステップS231において、アプリ管理部301は、強制終了対象クラス変更処理を行う。アプリ管理部301は、処理を終了する。
【0134】
ステップS232において、アプリ管理部301は、バージョンアップ処理を実行する。アプリ管理部301は、処理を終了する。
【0135】
図29に強制終了対象追加処理を示す。
【0136】
ステップS241において、強制終了対象追加処理部317は、インストール対象アプリパッケージのアプリ名とアクセス許可情報を読み取る。強制終了対象追加処理部317は、処理をステップS242へ移行する。
【0137】
ステップS242において、強制終了対象追加処理部317は、アプリ種類・アクセス許可情報対応表520を読み取る。強制終了対象追加処理部317は、処理をステップS243へ移行する。
【0138】
ステップS243において、強制終了対象追加処理部317は、対象アプリが属するアプリ種類を判定する。強制終了対象追加処理部317は、処理をステップS244へ移行する。
【0139】
ステップS244において、強制終了対象追加処理部317は、クラスアプリ種類対応表510を読み取る。強制終了対象追加処理部317は、処理をステップS245へ移行する。
【0140】
ステップS245において、強制終了対象追加処理部317は、アプリが属するクラス番号を判定する。強制終了対象追加処理部317は、処理をステップS246へ移行する。
【0141】
ステップS246において、強制終了対象追加処理部317は、アプリがどこかのクラスに属するか否かを判定する。アプリがどこかのクラスに属する場合、強制終了対象追加処理部317は、処理をステップS247へ移行する。一方、アプリがどこかのクラスに属さない場合、強制終了対象追加処理部317は、処理を終了する。
【0142】
ステップS247において、強制終了対象追加処理部317は、アプリを強制終了対象アプリリストに追加する。強制終了対象追加処理部317は、処理を終了する。
【0143】
図30に強制終了対象削除処理を示す。
【0144】
ステップS251において、強制終了対象削除処理部314は、削除対象アプリのアプリ名を強制終了対象アプリリストから読み取る。強制終了対象削除処理部314は、処理をステップS252へ移行する。
【0145】
ステップS252において、強制終了対象削除処理部314は、強制終了対象アプリリストに登録済みか否かを判定する。強制終了対象アプリリストに登録済みである場合、強制終了対象削除処理部314は、処理をステップS253へ移行する。一方、強制終了対象アプリリストに登録済みでない場合、強制終了対象削除処理部314は、処理を終了する。
【0146】
ステップS253において、強制終了対象削除処理部314は、強制終了対象アプリリスト530からアンインストール対象アプリを登録削除する。強制終了対象削除処理部314は、処理を終了する。
【0147】
図31に強制終了対象クラス変更処理を示す。
【0148】
ステップS261において、強制終了対象クラス変更部316は、パッケージ情報DB303をアプリ名で検索し、アクセス許可情報を取得する。強制終了対象クラス変更部316は、処理をステップS262へ移行する。
【0149】
ステップS262において、強制終了対象クラス変更部316は、修正対象アプリのアクセス許可情報を上書きする。強制終了対象クラス変更部316は、処理を終了する。
【0150】
以上、本発明の例示的な実施の形態の情報処理システムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【0151】
100 情報処理装置
170 アプリ管理プログラム
201 CPU
202 メインメモリ
203 補助メモリ
204 クロック供給回路
205 電圧供給回路
206 RF部
207 アンテナ
208 バッテリ
209 電源回路
210 カメラモジュール
211 ブルートゥースインターフェース
212 GPSモジュール
213 LCD
214 センサ
215 外部給電部
216 バス
301 アプリ管理部
302 ストレージ
303 パッケージ情報DB
304 アプリパッケージ
305 強制終了対象アプリリストメンテナンス部
306 アプリ制御部
307 OS
308 アプリ判定部
310 バッテリ残量監視部
312 インストール処理部
313 アンインストール処理部
314 強制終了対象削除処理部
315 アクセス権限変更部
316 強制終了対象クラス変更部
317 強制終了対象追加処理部
510 クラスアプリ種類対応表
511 クラス名
512 アプリケーションの種類
520 アプリ種類・アクセス許可情報対応表
522 アクセス許可情報
530 強制終了対象アプリリスト
531 変更可否
532 アプリケーション名リスト
540 強制終了対象除外リスト
542 アプリケーション名
550 バッテリ残量・クラス対応表
552 バッテリ残量

【特許請求の範囲】
【請求項1】
電源を有する情報処理装置において、
複数のアプリケーションプログラムを実行する処理部と、
前記アプリケーションプログラムの実行結果を表示する表示部と、
複数の動作情報と前記複数の動作情報に対応する前記複数のアプリケーションプログラムとをそれぞれ対応付けて記録した第1テーブルと、前記複数のアプリケーションプログラムと、前記複数のアプリケーションプログラムを実行した場合に前記処理部が消費する電力に基づいて決定した順位とをそれぞれ対応付けて記録した第2テーブルとを格納する格納部と、
を有し、
前記処理部は、
所定の動作情報を検出した場合、前記第1テーブルを参照し、前記所定の動作情報に対応するアプリケーションプログラムを検出し、
前記検出したアプリケーションプログラムに基づいて、前記第2テーブルを参照して、前記検出したアプリケーションプログラムの順位を取得し、
前記電源の残量が閾値以下になった場合、実行している複数のアプリケーションプログラムのうち前記表示部に実行結果が表示されているアプリケーションプログラム以外のアプリケーションプログラムを前記順位に応じて終了する、
ことを特徴とする情報処理装置。
【請求項2】
前記処理部は、前記表示部に表示結果が表示されているアプリケーションプログラム以外の前記実行している複数のアプリケーションプログラムのうち前記順位が高いアプリケーションプログラムを終了することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記格納部は、所定のアプリケーションプログラム名を記録した第3テーブルを格納し、前記処理部は、前記電源の残量が閾値以下になった場合、実行している複数のアプリケーションプログラムのうち前記表示部に実行結果が表示されているアプリケーションプログラム及び前記第3テーブルに記録されているアプリケーションプログラム以外のアプリケーションプログラムを前記順位に応じて終了することを特徴とする請求項1記載の情報処理装置。
【請求項4】
前記処理部は、一定時間毎に、前記第1テーブルと前記第2テーブルとに基づいて、終了させるアプリケーションプログラム名が記載された第4テーブルを生成することを特徴とする請求項1記載の情報処理装置。
【請求項5】
前記処理部は、アプリケーションプログラムの追加処理、削除処理及び更新処理のいずれか1つの処理を検出した場合、前記第1テーブルと前記第2テーブルとに基づいて、終了させるアプリケーションプログラム名が記載された第4テーブルを生成することを特徴とする請求項1記載の情報処理装置。
【請求項6】
電源と、複数のアプリケーションプログラムを実行する処理部とを有する情報処理装置を制御する制御方法において、
前記処理部は、
前記アプリケーションプログラムの実行結果を表示部に表示し、
複数の動作情報と前記複数の動作情報に対応する前記複数のアプリケーションプログラムとをそれぞれ対応付けて記録した第1テーブルと、前記複数のアプリケーションプログラムと、前記複数のアプリケーションプログラムを実行した場合に前記処理部が消費する電力に基づいて決定した順位とをそれぞれ対応付けて記録した第2テーブルとを格納部に格納し、
所定の動作情報を検出した場合、前記第1テーブルを参照し、前記所定の動作情報に対応するアプリケーションプログラムを検出し、
前記検出したアプリケーションプログラムに基づいて、前記第2テーブルを参照して、前記検出したアプリケーションプログラムの順位を取得し、
前記電源の残量が閾値以下になった場合、実行している複数のアプリケーションプログラムのうち前記表示部に実行結果が表示されているアプリケーションプログラム以外のアプリケーションプログラムを前記順位に応じて終了する、
ことを特徴とする情報処理装置の制御方法。
【請求項7】
電源を有する情報処理装置を制御する制御プログラムであって、
前記情報処理装置に、
複数のアプリケーションプログラムを実行し、
前記アプリケーションプログラムの実行結果を表示部に表示し、
複数の動作情報と前記複数の動作情報に対応する前記複数のアプリケーションプログラムとをそれぞれ対応付けて記録した第1テーブルと、前記複数のアプリケーションプログラムと、前記複数のアプリケーションプログラムを実行した場合に前記処理部が消費する電力に基づいて決定した順位とをそれぞれ対応付けて記録した第2テーブルとを格納部に格納し、
所定の動作情報を検出した場合、前記第1テーブルを参照し、前記所定の動作情報に対応するアプリケーションプログラムを検出し、
前記検出したアプリケーションプログラムに基づいて、前記第2テーブルを参照して、前記検出したアプリケーションプログラムの順位を取得し、
前記電源の残量が閾値以下になった場合、実行している複数のアプリケーションプログラムのうち前記表示部に実行結果が表示されているアプリケーションプログラム以外のアプリケーションプログラムを前記順位に応じて終了する、
処理を実行させることを特徴とする情報処理装置の制御プログラム。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図12】
image rotate

【図13】
image rotate

【図22】
image rotate

【図24】
image rotate

【図30】
image rotate

【図31】
image rotate

【図1】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図23】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate