(57)【要約】【課題】携帯電話において、アプリケーションの起動時間を短縮する。【解決手段】携帯電話において使用されるアプリケーションの使用頻度を計測し、一日における使用頻度の高いアプリケーションは、ユーザの終了指示があっても実際には終了せずに、ある一定時間か別のアプリケーションが起動されるまで、待機状態で待たせておき、次に同じプログラムの起動指示が出た場合に、起動時の初期処理を省略することにより起動時間を短縮する。【選択図】  図１
2004185165.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置と内部記憶装置と外部記憶装置と表示装置と入力装置と通信装置とを含むパーソナルモバイル端末装置であって、
ユーザの要求によりアプリケーションプログラムを開始するプログラム実行手段において、プログラム実行の度にプログラムの開始時刻や終了時刻等の使用頻度情報を収集するプログラム使用情報収集手段と、収集した過去のプログラム使用情報から高頻度で使用されると予想可能なプログラムを特定する高頻度使用プログラム特定手段と、ユーザによるプログラム終了要求時においては高頻度使用プログラムか否かにより終了を延期するか否かを決定するプログラム終了決定手段とを備えることにより、次回同プログラムの起動要求があった場合に、プログラム起動時の初期化処理等を省略し起動時間の短縮を可能としたことを特徴とする携帯アプリ起動時間短縮方法。
【請求項２】
上記プログラム実行手段において、プログラムの起動直後の内部記憶装置内のプログラム実行状態をそのまま外部記憶装置に格納するプログラム実行状態格納手段と、外部記憶装置に格納しておいた実行状態を内部記憶装置に復元するプログラム実行状態復元手段を備えることにより、上記高頻度使用プログラム特定手段によりその日の高頻度プログラムと特定されたプログラムのうちのいくつかに対して、あらかじめ起動直後の実行状態の保存データを生成し外部記憶装置に格納しておき、起動要求があった場合に保存データを内部記憶装置に展開することで起動直後の状態からすぐにプログラムを開始することにより，起動時間の短縮を可能としたことを特徴とする請求項１記載のモバイル端末装置における携帯アプリ起動時間短縮方法。
【請求項３】
上記プログラム実行手段において、初めて実行するアプリケーションのアプリケーションの起動直後の実行状態を外部記憶装置に格納する時に必要なサイズを測定する実行状態保存サイズ取得手段を備えることにより、各アプリケーションの実行状態保存サイズ情報を格納しておき、高頻度プログラムの中から実行状態を保存するプログラムを決める際に、実行状態保存サイズの小さいものを優先することにより、リソースの効率的使用を可能とした請求項２記載のプログラム実行状態格納方法。
【請求項４】
上記プログラム使用情報収集手段により収集したプログラム使用情報から、定期的に使用されるプログラムとその使用時刻を抽出するプログラム使用パターン抽出手段と、抽出したプログラム使用パターン情報の使用予定時刻の少し前の時刻に定期使用プログラムを起動しユーザの使用に対する準備を行うプログラム先行起動手段を設けることにより、プログラムの起動時間を短縮することを可能としたことを特徴とする請求項１記載のモバイル端末装置における携帯アプリ起動時間短縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、携帯電話や携帯端末でのプログラム実行におけるユーザの使い勝手を向上する技術に関する。
【０００２】
【従来の技術】
従来の携帯電話においては、アプリケーションプログラムの起動に多少時間がかかっており、使い勝手の面でユーザの改善要求の高い部分である。
【０００３】
一般のアプリケーションプログラムの起動時間を短縮する技術としては、アプリケーションをいくつかのファイルに分割しておき、すぐに使用する部分を含むファイルからロード・起動する方法がある（下記の特許文献１）。
【０００４】
計算機の起動時間短縮技術として、計算機ＯＦＦ時にメモリ上のＯＳ，及びアプリケーションの実行情報をハードディスクに格納しておき、次回立ち上げ時にそれをハードディスクからメモリに転送することにより，前回電源ＯＦＦ時の実行情報を再現する方法がある（下記の特許文献２）。
【０００５】
【特許文献１】
特開２０００−３２２２６４号公報
【特許文献２】
特開平１１−３９１４３号公報
【０００６】
【発明が解決しようとする課題】
上記従来方法のうち、前者の方法は実現は可能であるが、実行手段側もアプリケーション側も分割ロード・実行形式に変更する必要がある。本発明ではアプリケーション側に修正を加えることなく，アプリケーションの実行システムを修正することで高頻度使用のアプリケーションの起動時間を短縮する方法を提供する。
【０００７】
また後者の方法は多くの記憶エリアを必要とするため、アプリケーション全てに対して実行状態を保持しておくのは、リソース容量から不可能であるか、使用効率面から好ましくない。
【０００８】
【課題を解決するための手段】
上記のような従来技術の問題点を解決するために、携帯電話は通常１人のユーザが占有して使用するものであることに着眼すると、頻繁に使用されるプログラムはほぼ一定していることが予想できる。使用されるプログラムの中から高頻度で使用されるプログラムや定期的に使用されるプログラムを特定することによって、高頻度で使用されるプログラムに対しては起動処理を省略し、定期的に使用されるプログラムに対しては使用予定に先立って起動準備をすることにより、ユーザが高頻度で使用するプログラムの多くを速やかに起動することが可能となる。
【０００９】
また高頻度で使用されるプログラムの中の１つまたはいくつかについてのみ実行状態を保持しておくことによって、リソースをさほど圧迫することなく、起動時に実行状態を速やかに生成し実行を開始することが可能となる。
【００１０】
【発明の実施の形態】
以下、本発明についての実施例を図を用いて説明する。
【００１１】
まず始めに図１により、本発明による携帯電話の機器構成図を示す。携帯電話１０１は内部記憶装置１０６に格納されている総管理プログラム１０６１を処理装置１０２で処理することによってすべての処理を管理している。通話を行う処理はすべての処理に最優先され通話装置１０３と外部通信装置１０７によって行う。電話番号やメール、メッセージ等は表示装置１０４に表示し、電話番号の入力、テキストの入力等を含む携帯電話への操作要求は全ては入力装置１０５から行う。ユーザからアプリケーションの起動要求が入力されると、総管理プログラム１０６１の中のアプリ起動部１０６１１が、外部記憶装置１０８に格納されているアプリケーションプログラム１０８１を、アプリケーションプログラムを起動するためのエンジンであるアプリケーション実行手段１０８３とともに内部記憶装置１０６にロードし実行する。実行中の情報はアプリケーションプログラム実行状態１０６２として内部記憶装置１０６に置く。アプリケーション実行手段１０８３の実行状態を示す情報は、総管理プログラム１０６１内に実行手段状態１０６１２として保持する。実行手段状態１０６１２には、実行中、終了中、待機中の３つの状態がある。
【００１２】
アプリケーション実行手段１０８３は、アプリケーションの実行とともにアプリケーションの実行情報を収集し、アプリケーション実行頻度情報１０８２として格納する。また、アプリケーション実行頻度情報１０８２からプログラム使用パターン情報１０８５を抽出し格納する。また外部記憶装置１０８の容量に余裕がある場合は、特定のアプリケーションのアプリケーションプログラム実行状態１０６２を外部記憶装置１０８にアプリケーションプログラム実行状態の保存データ１０８４として格納する。初めて実行するアプリケーションに関しては、アプリケーションの実行状態保存サイズを調べてアプリケーション実行状態保存サイズ情報１０８６に追加する。アプリケーション実行状態保存サイズ情報１０８６の取得は各アプリケーションのダウンロード時に行なってもよい。
【００１３】
図２にプログラム実行手段１０８３に含まれる各種手段を示す。
【００１４】
プログラム使用情報収集手段２０１はプログラムの実行に際し、アプリケーション実行頻度情報１０８２を収集する。アプリケーション実行頻度情報１０８２とは、例えば図３に示すような各アプリケーション毎の１日のトータル実行回数と起動指示時刻（ユーザが起動を指示した時刻）の如き情報３０３を収集したアプリ使用状況情報（１日分）３０２で、この１日分の情報を曜日毎に例えば過去１週間分を収集した継続的アプリ使用状況情報（１週間分）３０１などである。
【００１５】
高頻度使用プログラム特定手段２０２は、アプリケーション実行頻度情報１０８２から、曜日毎の各アプリケーションの実行回数情報５０１を抽出し、この情報から例えば曜日毎に１日の使用回数が３回以上のアプリで実行回数の高い方から３つまでをアプリケーションを高頻度起動プログラムとして、抽出情報の一例５０２の如き高頻度起動プログラム情報４０１を生成する。図５に示す高頻度起動プログラム情報の例では、月曜の高頻度アプリはアプリＡのみ、火曜はアプリＡとアプリＤとアプリＦの３つというような具合となる。
【００１６】
プログラム終了決定手段２０３は、ユーザからのアプリ終了要求があった時に、そのアプリが高頻度使用アプリか否か、また高頻度アプリである場合実行状態の保存データがあるか否かによって、アプリを本当に終了するか、見た目上は終了したようにするが実際には実行状態のまま待機状態にするかを決定する。
【００１７】
プログラム実行状態格納手段２０４は、リソースに余裕がある場合で、高頻度アプリが２つ以上ある場合に、リソース制限の範囲内でそのうちの幾つかのアプリについて、実行状態１０６２を実行状態の保存データ１０８４として外部記憶装置１０８に格納する。この時対象となる高頻度アプリのうち、プログラム実行状態保存サイズ情報１０８６により、保存サイズが小さい方を優先的に格納する。
【００１８】
プログラム実行状態復元手段２０５は、プログラム実行状態格納手段２０４によって実行状態を保存したアプリを起動する時に、実行状態の保存データ１０８４から実行状態１０６２を内部記憶装置１０６に復元する。
【００１９】
プログラム使用パターン抽出手段２０６は、継続的アプリ使用状況情報（１週間分）３０１から、例えばアプリＢの曜日毎の実行回数と起動時刻を抽出したアプリＢの実行状況情報６０１を生成し、この情報からアプリＢが月曜から金曜までの毎日同じ回数起動され、しかも起動時刻が１５：００の前後１０分以内の範囲にあることから、このアプリＢを定期的使用プログラムであると特定し、抽出情報の一例６０２の如き定期的使用プログラム情報４０２を生成する。この時プログラム使用パターン抽出手段２０６は、全てのアプリから高頻度起動プログラムを除いた残りについて行なう。本実施例では一週間分の情報を元に定期的使用プログラムを特定しているが、これを１ヶ月分にすれば、毎日や毎曜日だけでなく毎月の決まった日時に実行されるプログラムについても対応可能である。
【００２０】
プログラム先行起動手段２０７は、実行手段状態１０６１２が待機中であって、定期的使用プログラム情報４０２に登録されているプログラムの開始予定時刻の例えば５分前になったら、待機状態のプログラムを終了し、定期的使用プログラムを開始予定時刻に先行して起動しておく。
【００２１】
プログラム実行状態保存サイズ取得手段２０８は、新しいプログラムの起動直後の実行状態を外部記憶装置１０８に格納する場合の格納情報サイズを計測し、アプリケーション実行状態保存サイズ情報１０８６に追加する。
【００２２】
上記のような各種処理手段を備えたプログラム実行手段１０８３は、起動したアプリケーションが高頻度起動プログラム情報４０１に入っている場合、ユーザのアプリ終了指示があっても実際には終了せず、ある一定時間かまたは他のアプリが起動されるまで、そのままの状態で待機する。待機中には、高頻度使用プログラムのうちの特定のプログラムについてアプリケーションプログラム実行状態保存データ１０８４の生成を行なったり、高頻度使用プログラム特定手段２０２やプログラム使用パターン抽出手段２０６を用いて各種情報抽出処理を行なう。
【００２３】
本発明の実現方法を、各機能の詳細な処理内容を示す以下フローチャートを用いて説明する。
【００２４】
まず携帯電話の全ての処理を管理している総管理プログラム１０６１の処理フローは以下の通りである。フローチャートは図７に示す。
処理７０１：通話割り込みが有った場合、処理７０２に進み、それ以外は処理７０３に進む分岐処理。
処理７０２：通話処理を別プロセスで行い処理７０１に戻る。
処理７０３：ユーザから通話要求が有った場合、処理７０４に進み、それ以外は処理７０５に進む分岐処理。
処理７０４：通話処理を別プロセスで行い処理７０１に戻る。
処理７０５：ユーザからその他機能の要求が有った場合、処理７０６に進み、それ以外は処理７０７に進む分岐処理。
処理７０６：その他の機能処理を別プロセスで行い処理７０１に戻る。
処理７０７：ユーザからアプリ起動要求が有った場合、処理７０８に進み、それ以外は処理７０９に進む分岐処理。
処理７０８：アプリ実行処理を別プロセスで行い処理７０１に戻る（プログラム実行手段）。
【００２５】
次に上記プログラム実行手段で行なう処理を、図８から図１２を用いて詳細に説明する。
【００２６】
まず図８ではアプリ開始前の処理を行なう。
処理８０１：実行手段状態１０６１２が実行中の場合、処理８０２に進み、それ以外は処理８０３に進む分岐処理。
処理８０２：実行中のアプリケーションを終了し、実行手段状態１０６１２を終了中とする。
処理８０３：実行手段状態１０６１２が待機中の場合、処理８０４に進み、それ以外は処理８０８に進む分岐処理。
処理８０４：開始アプリケーションが待機アプリケーションと一致する場合、処理８０８に進み、それ以外は処理８０５に進む分岐処理。
処理８０５：待機中アプリに実行状態保存１０８４が存在する場合は処理８０７に進み、それ以外は処理８０６に進む分岐処理。
処理８０６：前待機アプリに待機アプリを設定する。前待機アプリとは、あるアプリが待機状態の時に、他のアプリが起動された場合、他アプリを実行するが、他アプリの終了後に他アプリが高頻度アプリでない場合に他アプリに実行前の状態に戻すために、待機中だったアプリを覚えておくためのもの。
処理８０７：待機中のアプリケーションを終了し、実行手段状態１０６１２を終了中とする。
処理８０８：アプリケーションを起動する。この処理の詳細な内容は図９で説明する。
【００２７】
図１に示したアプリケーション実行手段１０８３の処理フローは以下の通りである。フローチャートは図９に示す。
処理９０１：起動アプリの識別子と起動時刻を一時保存する。後に実行頻度情報として格納する。
処理９０２：実行手段状態＝＝待機中の場合（アプリ実行が待機状態からの再開始の場合）は、処理９０４に進み、そうでない場合は処理９０３に進む分岐処理。
処理９０３：アプリケーションの初期化処理（ファイルからのロードなど）を行い、処理９０４に進む。初期化処理の詳細な内容は、図１０を用いて後述する。
処理９０４：実行手段状態に実行中を設定。
処理９０５：アプリケーションプログラムを実行し、終了後処理９０６に進む。
処理９０６：表面上の終了処理として画面を切り替え、ＵＩの対話権を総管理プログラム１０６１に戻す。
処理９０７：処理９０１で一時保存しておいた、起動アプリの識別子と起動時刻を実行頻度情報として、アプリ使用状況情報（１日分）２０２に追加する（プログラム使用情報収集手段）。
処理９０８：実行していたプログラムが高頻度起動プログラムである場合、処理９０９に進み、それ以外は処理９１０に進む分岐処理（プログラム終了決定手段）。
処理９０９：現在の実行状態を保ち、次にアプリケーションに対する要求が起こるまで待機する。待機処理の詳細な内容は、図１１を用いて後述する。
処理９１０：終了処理を行ない、プログラム実行処理を終了する。終了処理の詳細な内容は、図１３を用いて後述する。
【００２８】
アプリケーションの初期化処理の詳細を図１０のフローチャートを用いて説明する。
処理１００１：アプリケーションに実行状態保存データがある場合は処理１００２に進み、ない場合は処理１００３に進む分岐処理。
処理１００２：アプリケーションの実行状態保存データをロードしてアプリケーションの初期処理を終了する。
処理１００３：通常のアプリケーションの初期化処理を行なう。
処理１００４：アプリケーションの実行が初回である場合処理１００５に進み、それ以外は初期化処理を終了する。
処理１００５：アプリケーションの実行状態の保存する時に必要なサイズを取得し、アプリケーション実行状態保存サイズ情報１０８６に追加して初期化処理を終了する。
【００２９】
次にアプリケーションの待機処理の詳細を図１１を用いて説明する。
処理１１０１：実行手段状態に待機中を設定。
処理１１０２：今日実行予定の定期的使用アプリケーションがある場合は処理１１０３に進み、それ以外は処理１１０４に進む分岐処理。
処理１１０３：定期的アプリケーションの開始時刻までの間他の処理を行なう時間である予定時刻チェック間隔に∞（または充分に大きい数値）を設定し、処理１１０７に進む。
処理１１０４：予定時刻チェック間隔に１分など少な目の値を設定し、処理１１０５に進む。
処理１１０５：現在時刻から定期的アプリケーションの開始予定時刻まで例えば５分未満になっっていたら処理１１０６に進み、それ以外は処理１１０７に進む分岐処理。
処理１１０６：定期的アプリケーションの先行起動処理を行なう（プログラム先行起動手段）。
処理１１０７：予定時刻チェック間隔を経過するまで、処理１１０８や処理１１０９を行ない、経過した場合処理１１０５に戻る分岐処理。
処理１１０８：アプリ使用状況情報３０２から高頻度起動プログラム情報４０１を抽出する高頻度使用プログラム特定処理を行なう（高頻度使用プログラム特定手段）。
処理１１０９：アプリ使用状況情報３０１から定期的使用プログラム情報４０２を抽出するプログラム使用パターン抽出処理を行なう（プログラム使用パターン抽出手段）。
【００３０】
次にプログラム先行起動処理の詳細を図１２を用いて説明する。
処理１２０１：待機中アプリケーションの実行状態保存データがある場合は処理１２０３に進み、ない場合は処理１２０２に進む分岐処理。
処理１２０２：前待機アプリに待機中アプリを設定し、処理１２０３に進む。
処理１２０３：待機中アプリを終了し、実行手段状態に終了中を設定する。
処理１２０４：起動するアプリケーションの初期化処理を行なう。対話権の移動はまだない。
処理１２０５：開始予定時刻を過ぎたら、待機状態に入り、待機処理を行なう。処理の詳細は説明済。
【００３１】
次にプログラム終了処理の詳細を図１３を用いて説明する。
処理１３０１：実行手段状態に終了中を設定する。
処理１３０２：前待機アプリがある場合は処理１３０３に進み、ない場合はプログラム実行処理を終了する分岐処理。
処理１３０３：前待機アプリの初期化処理を行ない、処理１３０４に進む。
処理１３０４：待機状態に入り、待機処理行なう。処理の詳細は説明済。
【００３２】
【発明の効果】
以上述べたように本発明によれば、携帯電話などのリソースの少ない機器において、アプリケーションを実行する際に、過去の使用実績から頻繁に使用するアプリケーションを選択し、そのアプリケーションに関してユーザが終了指示を出しても実際には終了せず待機状態にしておき、次に同アプリケーションが起動されたときに起動にかかる待ち時間なしにユーザにアプリケーションを提供可能となる。また外部記憶装置に余裕があれば、高頻度使用のアプリケーションのうちの幾つかを実行状態を外部記憶装置に格納しておくことを組み合わせることにより、より多くの高頻度使用のアプリケーションの起動時間を短縮することが可能になる。
【図面の簡単な説明】
【図１】本発明を実現するハードウェア構成とソフトウェア構成の一例を示す図である。
【図２】本発明を実現するための中心となるソフトウェア構成を示す図である。
【図３】本発明を実現するために収集する情報と、その収集情報の具体的な一例を示す図である。
【図４】収集した情報から、加工して生成する情報を示す図である。
【図５】収集情報から生成する加工情報の具体的な一例と、加工情報を生成する過程の中間情報の一例を示す図である。
【図６】収集情報から生成するもう一つの加工情報の具体的な一例と、その加工情報を生成する過程の中間情報の一例を示す図である。
【図７】本発明の一実施例における、携帯電話の処理全体を管理するプログラムの処理フローの一例である。
【図８】本発明を実現する中心的ソフトウェアの開始部分の処理フローの一例である。
【図９】本発明を実現する中心的ソフトウェアの一部で、アプリケーションの起動から終了要求を受けた時までの処理フローの一例を示す図である。
【図１０】本発明を実現する中心的ソフトウェアの一部で、アプリケーションを初期化する処理フローの一例を示す図である。
【図１１】本発明を実現する中心的ソフトウェアの一部で、アプリケーションを待機状態にしている間の処理フローの一例を示す図である。
【図１２】本発明を実現する中心的ソフトウェアの一部で、アプリケーションを先行起動する処理フローの一例を示す図である。
【図１３】本発明を実現する中心的ソフトウェアの終了部分の処理フローの一例を示す図である。
【符号の説明】
１０１…携帯電話装置、１０２…中央処理装置、１０３…通話装置、１０４…表示装置、１０５…入力装置、１０６…内部記憶装置、１０６１…総管理プログラム、１０６１１…アプリ起動部、１０６１２…実行手段状態、１０６２…外部通信装置、１０８…外部記憶装置、１０８１…アプリケーションプログラム群、１０８２…アプリケーション実行頻度情報、１０８３…アプリケーション実行手段、１０８４…アプリケーションプログラム実行状態の保存データ、１０８５…プログラム使用パターン情報、１０８６…アプリケーション実行状態保存サイズ情報、２０１…プログラム情報収集手段、２０２…高頻度使用プログラム特定手段、２０３…プログラム終了決定手段、２０４…プログラム実行状態格納手段、２０５…プログラム実行状態復元手段、２０６…プログラム使用パターン抽出手段、２０７…プログラム先行起動手段、２０８…プログラム実行状態保存サイズ取得手段、３０１…継続的アプリ使用状況情報（一週間分）、３０２…アプリ使用状況情報（一日分）、３０３…アプリケーション使用状況情報（１日分）の一例、４０１…高頻度起動プログラム情報、４０２…定期的使用プログラム情報、５０１…曜日毎の各アプリ実行回数情報（中間データ）、５０２…高頻度起動プログラム情報の一例、６０１…アプリＢの実行状況情報（中間データ）、６０２…定期的使用プログラム情報の一例。
【図１】
2004185165.tif 000003
【図２】
2004185165.tif 000004
【図３】
2004185165.tif 000005
【図４】
2004185165.tif 000006
【図５】
2004185165.tif 000007
【図６】
2004185165.tif 000008
【図７】
2004185165.tif 000009
【図８】
2004185165.tif 000010
【図９】
2004185165.tif 000011
【図１０】
2004185165.tif 000012
【図１１】
2004185165.tif 000013
【図１２】
2004185165.tif 000014
【図１３】
2004185165.tif 000015