(57)【要約】【課題】簡易な構成でアプリケーション間の競合を解決することができる移動通信端末を提供する。【解決手段】本発明の移動通信端末１０は、複数のアプリケーション１８ａ〜１８ｄを同時に起動できる移動通信端末１０であって、一のアプリケーションを選択して起動要求を行うアプリケーション選択部１３と、他のアプリケーションの起動状態に基づいて、アプリケーション選択部１３により起動要求を受けたアプリケーションが起動できるか否かを判定する起動状態判定部１４ａと、起動状態判定部１４ａにより選択されたアプリケーションが起動できないと判定された場合、アプリケーションごとの優先度に基づいて設定されるアプリレベルに従って、停止させるアプリケーションを決定する競合解決部１４と、を備えている。【選択図】図１
2008310695.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションを同時に起動できる移動通信端末において、
一のアプリケーションを選択して起動要求を行う選択手段と、
他のアプリケーションの起動状態に基づいて、前記選択手段により起動要求を受けたアプリケーションが起動できるか否かを判定する起動判定手段と、
前記起動判定手段により選択されたアプリケーションが起動できないと判定された場合、アプリケーションごとの優先度に基づいて設定される優先レベルに従って、停止させるアプリケーションを決定する競合解決手段と、
を備える移動通信端末。
【請求項２】
前記競合解決手段は、現在起動中のアプリケーションの中から、停止させるアプリケーションを決定することを特徴とする請求項１に記載の移動通信端末。
【請求項３】
前記起動判定手段は、予め設定されている前記移動通信端末で同時に起動可能なアプリケーションの数と、現在起動中のアプリケーションの数とに基づいて、前記選択手段により起動要求を受けたアプリケーションが起動できるか否かを判定することを特徴とする請求項１または２に記載の移動通信端末。
【請求項４】
アプリケーションの起動に利用されるメモリを備え、
前記起動判定手段は、予めアプリケーションの起動用に割り当てられた前記メモリの容量と、現在起動中のアプリケーションによって利用されている前記メモリの容量とに基づいて、前記選択手段により起動要求を受けたアプリケーションが起動できるか否かを判定することを特徴とする請求項１または２に記載の移動通信端末。
【請求項５】
前記現在起動中のアプリケーションが利用しているハードウェア資源と、前記選択手段により起動要求を受けたアプリケーションが利用するハードウェア資源とを比較して、前記選択手段により起動要求を受けたアプリケーションがハードウェア資源の利用で他のアプリケーションと競合するかどうか判定する競合判定手段を備え、
前記競合解決手段は、前記競合判定手段により競合していると判定された場合、前記選択手段により起動要求を受けたアプリケーションを優先的に起動させることを特徴とする請求項１から４のいずれか１項に記載の移動通信端末。
【請求項６】
前記競合解決手段は、前記優先レベルが最低となるアプリケーションが複数存在する場合に、前記移動通信端末のユーザに、停止すべきアプリケーションの候補の選択肢を提示することを特徴とする請求項１から５のいずれか１項に記載の移動通信端末。
【請求項７】
前記優先レベルは、動作検証試験の実施の有無、製作会社名、ダウンロード元サーバ、に基づきアプリケーションごとに設定されることを特徴とする請求項１から６のいずれか１項に記載の移動通信端末。
【請求項８】
前記優先レベルは、さらに、当該アプリケーションが通信するか否かに基づきアプリケーションごとに設定されることを特徴とする請求項１から７のいずれか１項に記載の移動通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動通信端末に関するものであり、より詳細には、アプリケーション間の競合を解決し、複数のアプリケーションを同時に起動できる移動通信端末に関するものである。
【背景技術】
【０００２】
近年、携帯電話などの移動通信端末の利便性拡大に向けて、カメラ、赤外線通信機能、イヤホンなど移動通信端末のハードウェア資源を利用するアプリケーションを、ダウンロードなどの手法により移動通信端末へ追加することが可能になっている。このため、移動通信端末に格納されている複数のアプリケーションを同時に起動させる状況が増えると考えられ、この移動通信端末のＣＰＵの処理能力やメモリ容量などの制約によって、アプリケーション間で起動の順番に関する競合が生じる場合がある。また、同一のハードウェア資源を利用する複数のアプリケーションが同時に起動して、これらのアプリケーションの間でハードウェア資源の利用に関する競合が生じる場合がある。
【０００３】
従来、移動通信端末内の既存のアプリケーション同士の競合を解決するために、たとえば、移動通信端末に格納されるすべてのアプリケーションのそれぞれが起動されている場合について、他のアプリケーションが取るべき競合解決策（起動可能、起動不可、待機など）を設定したテーブルを利用する手法などが提案されている（たとえば特許文献１を参照）。
【特許文献１】特開２００５−５９０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１のような従来の競合解決手法では、移動通信端末に格納されるすべてのアプリケーションのそれぞれが起動されている場合について、別個のテーブルを予め用意する必要があり、また、全てのアプリケーションの組み合わせについて競合解決策を設定する必要があるので、移動通信端末に格納されるアプリケーションの数が増えるにつれて、用意すべきテーブルおよび各テーブルで設定される競合解決策が膨大なものとなってしまう。さらに、移動通信端末に新たなアプリケーションが追加された場合には全てのテーブルを作り直す必要があるので、新たに追加されたアプリケーションを考慮して競合解決を行うことが困難となる場合がある。
【０００５】
そこで本発明は、上記の問題点を解決し、複数のアプリケーションを同時に起動できる移動通信端末において、アプリケーションが新たに追加された場合でも、簡易な構成でアプリケーション間の競合を解決することができる移動通信端末を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の移動通信端末は、複数のアプリケーションを同時に起動できる移動通信端末であって、一のアプリケーションを選択して起動要求を行う選択手段と、他のアプリケーションの起動状態に基づいて、前記選択手段により起動要求を受けたアプリケーションが起動できるか否かを判定する起動判定手段と、前記起動判定手段により選択されたアプリケーションが起動できないと判定された場合、アプリケーションごとの優先度に基づいて設定される優先レベルに従って、停止させるアプリケーションを決定する競合解決手段と、を備えている。
【０００７】
この構成により、アプリケーション間の競合が生じた場合には、アプリケーションごとの優先度に基づいて設定される優先レベルによって、優先レベルの低いアプリケーションを停止させることができる。優先レベルはアプリケーションごとに設定されるので、移動通信端末に新たなアプリケーションが追加された場合でも、当該アプリケーションの優先レベルを新たに設定するだけで、移動通信端末に格納される全てのアプリケーションの間で競合解決を行うことが可能となる。これにより、簡易な構成でアプリケーション間の競合を解決することができる。
【０００８】
また、本発明の移動通信端末においては、前記競合解決手段は、現在起動中のアプリケーションの中から、停止させるアプリケーションを決定することが好適である。
【０００９】
この構成により、選択手段により起動要求を受けたアプリケーションが必ず起動されるようになるので、当該アプリケーションに起動要求をかけた移動通信端末のユーザの意思を尊重して、競合解決に反映させることができる。これにより、ユーザにとって使いやすい移動通信端末を提供できる。
【００１０】
また、本発明の移動通信端末においては、前記起動判定手段は、予め設定されている前記移動通信端末で同時に起動可能なアプリケーションの数と、現在起動されているアプリケーションの数とに基づいて、前記選択手段により起動要求を受けたアプリケーションが起動できるか否かを判定することが好適である。
【００１１】
この構成により、移動通信端末で同時に起動できるアプリケーションの所定数に応じて、起動要求を受けたアプリケーションが起動できるか否かを判定することができるので、簡易な構成により起動可否を判定することができる。
【００１２】
また、本発明の移動通信端末は、さらに、アプリケーションの起動に利用されるメモリを備え、前記起動判定手段は、予めアプリケーションの起動用に割り当てられた前記メモリの容量と、現在起動中のアプリケーションによって利用されている前記メモリの容量とに基づいて、前記選択手段により起動要求を受けたアプリケーションが起動できるか否かを判定することが好適である。
【００１３】
この構成により、移動通信端末のメモリ容量に応じて、起動要求を受けたアプリケーションが起動できるか否かを判定することができるので、簡易な構成により起動可否を判定することができる。
【００１４】
また、本発明の移動通信端末は、さらに、前記現在起動中のアプリケーションが利用しているハードウェア資源と、前記選択手段により起動要求を受けたアプリケーションが利用するハードウェア資源とを比較して、前記選択手段により起動要求を受けたアプリケーションがハードウェア資源の利用で他のアプリケーションと競合するかどうか判定する競合判定手段を備え、前記競合解決手段は、前記競合判定手段により競合していると判定された場合、前記選択手段により起動要求を受けたアプリケーションを優先的に起動させることが好適である。
【００１５】
この構成により、アプリケーションの間で発生する同一のハードウェア資源の利用に関する競合を解決することができ、また、ユーザが起動要求したアプリケーションが優先的に起動されるので、ユーザにとって使いやすい移動通信端末を提供することができる。
【００１６】
また、本発明の移動通信端末においては、前記競合解決手段は、前記優先レベルが最低となるアプリケーションが複数存在する場合に、前記移動通信端末のユーザに、停止すべきアプリケーションの候補の選択肢を提示することが好適である。
【００１７】
この構成により、優先レベルが最低となるアプリケーションが複数存在する場合にも、移動通信端末のユーザによって停止すべきアプリケーションが選択され、ユーザの意思を尊重して、競合解決に反映させることができるので、ユーザにとって使いやすい移動通信端末を提供することができる。
【００１８】
また、本発明の移動通信端末においては、前記優先レベルは、動作検証試験の実施の有無、製作会社名、ダウンロード元サーバ、に基づきアプリケーションごとに設定されることが好適である。
【００１９】
この構成により、信頼性の高いアプリケーションを優先的に起動させることができるので、動作の安定した移動通信端末を提供できる。
【００２０】
また、本発明の移動通信端末においては、前記優先レベルは、さらに、当該アプリケーションが通信するか否かに基づきアプリケーションごとに設定されることが好適である。
【００２１】
この構成により、現在起動中のアプリケーションが通信機能を用いるタイプのものだった場合には、競合解決手段によって当該アプリケーションが停止されにくくなり、起動しているアプリケーションを通信途中で停止してしまうのを防ぐことができるので、ユーザにとって使いやすい移動通信端末を提供できる。
【発明の効果】
【００２２】
本発明の移動通信端末によると、複数のアプリケーションを同時に起動できる移動通信端末において、アプリケーションが新たに追加された場合でも、簡易な構成でアプリケーション間の競合を解決することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して本発明に係る移動通信端末の好適な実施形態について説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
【００２４】
まず、図１および図２を参照して、本実施形態に係る移動通信端末１０の構成について説明する。
【００２５】
図１は、移動通信端末１０の機能的構成を示すブロック図である。移動通信端末１０は、機能的には、図１に示すように、起動状態データベース１１と、アプリケーション情報データベース１２と、アプリケーション選択部（選択手段）１３と、競合解決部（競合解決手段）１４と、アプリケーション起動制御部１５と、アプリケーション情報取得部１６と、アプリレベル設定部１７と、アプリケーション１８ａ〜１８ｄと、ハードウェア資源１９ａ〜１９ｃと、を含むように構成される。競合解決部１４は、さらに起動状態判定部（起動判定手段）１４ａおよびハードウェア資源判定部（競合判定手段）１４ｂを含む。図１には、一例として、４種類のアプリケーション１８ａ〜１８ｄおよび３種類のハードウェア資源１９ａ〜１９ｃが提示されているが、移動通信端末１０は、通常、さまざまな仕様に応じて任意の数のハードウェア資源およびアプリケーションを格納している。
【００２６】
図２は、移動通信端末１０のハードウェア構成を示す図である。図２に示すように、移動通信端末１０は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、操作部１０４、無線通信部１０５、ディスプレイ１０６及びアンテナ１０７等のハードウェアにより構成されている。図１において説明した各機能は、図２に示すＣＰＵ１０１、ＲＡＭ１０２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１０１の制御のもとで操作部１０４、無線通信部１０５、ディスプレイ１０６を動作させるとともに、ＲＡＭ１０２やＲＯＭ１０３におけるデータの読み出し及び書き込みを行うことで実現される。また、ダウンロードされたアプリケーションは、図示しないＥＥＰＲＯＭなどの記憶手段に記憶される。ＲＡＭ１０２は、アプリケーションのワークエリアとして利用される。
【００２７】
以下、図１を用いて、移動通信端末１０の各機能要素について詳細に説明する。
【００２８】
起動状態データベース１１は、移動通信端末１０に格納されているアプリケーション１８ａ〜１８ｄのそれぞれが現在起動または停止されていることを示す起動状態に関する情報を保持している。図３は、起動状態データベース１１の一例を示す図である。図３に示すように、起動状態データベース１１は、移動通信端末１０に格納されている全てのアプリケーション１８ａ〜１８ｄのそれぞれについて、当該アプリケーションの名称を示す「アプリ名」、および当該アプリケーションの起動状態を示す「状態」のデータを対応付けて保持している。
【００２９】
起動状態データベース１１の「状態」欄に保持される起動状態とは、具体的には、起動されて移動通信端末１０のディスプレイ上の前面に表示されている状態を示す“起動(前面)”と、起動されて移動通信端末１０のディスプレイ上の背面に表示される状態を示す“起動(バックグラウンド)”と、停止された状態を示す“停止”と、のうちのいずれかである。図３の例では、現在３種類のアプリケーションが起動されており、そのうちアプリケーション（あ）１８ａが移動通信端末１０のディスプレイ上の前面に表示され、アプリケーション（い）１８ｂおよび（う）１８ｃが移動通信端末１０のディスプレイ上の背面に表示された状態を示している。
【００３０】
起動状態データベース１１は、後述する競合解決部１４による処理の結果を反映して、常時最新の状態に更新される。
【００３１】
アプリケーション情報データベース１２は、移動通信端末１０に格納されているアプリケーション１８ａ〜１８ｄのそれぞれについて、当該アプリケーションの優先度に基づき設定される優先レベルに関する情報を保持している。また、アプリケーション情報データベース１２は、さらに、当該アプリケーションが使用するハードウェア資源に関する情報を保持している。
【００３２】
図４は、アプリケーション情報データベース１２の一例を示す図である。図４に示すように、アプリケーション情報データベース１２は、移動通信端末１０に格納されている全てのアプリケーション１８ａ〜１８ｄのそれぞれについて、当該アプリケーションの名称を示す「アプリ名」、当該アプリケーションの起動優先順位（優先レベル）を示す「アプリレベル」、および当該アプリケーションが利用するハードウェア資源についての情報を示す「利用リソース」のデータを対応付けて保持している。
【００３３】
「アプリレベル」は、アプリケーションごとの優先度に基づいて設定される優先レベルを示すデータである。また、アプリレベルは、さらに、当該アプリケーションが通信するか否かに基づいて設定される。アプリレベルは、各アプリケーションの優先レベルに応じて、例えば高・中・低の３段階が割り当てられる。アプリレベルは、アプリレベル設定部１７によって算出される。アプリレベルの算出の詳細は後述する。
【００３４】
アプリケーション情報データベース１２は、後述するアプリケーション情報取得部１６およびアプリレベル設定部１７による処理の結果を反映させて、常時最新の情報に更新される。
【００３５】
アプリケーション選択部１３は、移動通信端末１０に格納されているアプリケーション１８ａ〜１８ｄのいずれかを選択して起動要求を行う。具体的には、アプリケーション選択部１３は、たとえば移動通信端末１０の操作部１０４やディスプレイ１０６を介して、ユーザから特定のアプリケーションの起動要求を受け取り、当該アプリケーションに対する起動要求を競合解決部１４に送信する。
【００３６】
競合解決部１４は、アプリケーション選択部１３により起動要求を受けたアプリケーション（以下「起動要求アプリ」という）が起動できるか否かを判定し、起動できないと判定した場合には、停止させるアプリケーションを決定する。競合解決部１４は、具体的には、起動状態判定部（起動判定手段）１４ａおよびハードウェア資源判定部（競合判定手段）１４ｂを備えており、これらの判定結果に基づいて、全てのアプリケーション１８ａ〜１８ｄの起動状態を決定して、この起動状態をアプリケーション起動制御部１５に送信する。また、競合解決部１４で決定された起動状態によって、起動状態データベース１１が更新される。
【００３７】
起動状態判定部１４ａは、起動状態データベース１１を参照して取得されたアプリケーションの起動状態に基づいて、アプリケーション選択部１３により起動要求を受けたアプリケーション（起動要求アプリ）が起動できるか否かを判定する。
【００３８】
具体的には、起動状態判定部１４ａは、起動状態データベース１１の「状態」欄を参照して、“起動（前面）”または“起動（バックグラウンド）”が入力されているアプリケーションを抽出する（図３参照）。そして、起動状態判定部１４ａは、起動状態データベース１１から抽出された現在起動されているアプリケーション（以下「起動中アプリ」という）の数が、予め設定された移動通信端末１０で同時に起動できるアプリケーションの所定数と同一である場合に、起動要求アプリがこのままでは起動できないと判定する。一方、起動状態判定部１４ａは、起動状態データベース１１から抽出された起動中アプリの数が、予め設定された移動通信端末１０で同時に起動できるアプリケーションの所定数より少ない場合には、起動要求アプリが起動できると判定する。なお、本実施形態では、移動通信端末１０で同時に起動できるアプリケーションの所定数が３個である場合を例示しているが、この所定数は移動通信端末１０の情報処理能力に応じて、２個以下または４個以上に設定しても良い。
【００３９】
なお、起動状態判定部１４ａは、代替的に、ＣＰＵ１０１への負荷を考慮して予めアプリケーションの起動用に割り当てられたＲＡＭ１０２の容量と、起動中アプリが使用しているＲＡＭ１０２の容量とを比較して、起動要求アプリの起動可否を判定するように構成しても良い。この場合、起動要求アプリを起動させるためにＲＡＭ１０２の容量が足りない場合には、起動要求アプリがこのままでは起動できない状態であると判定し、ＲＡＭ１０２の容量が充分ある場合には、起動可能な状態であると判定する。
【００４０】
また、起動状態判定部１４ａは、代替的に、アプリケーション選択部１３から起動要求を受信すると、起動状態データベース１１を参照せずに、後述するアプリケーション起動制御部１５から、または直接、各アプリケーション１８ａ〜１８ｄの起動状態を取得して可否判断するように構成しても良い。
【００４１】
ハードウェア資源判定部１４ｂは、アプリケーション情報データベース１２を参照して抽出された、起動中アプリが使用しているハードウェア資源と、起動要求アプリが使用するハードウェア資源とを比較して、起動要求アプリがハードウェア資源の利用で競合するかどうかを判定する。
【００４２】
具体的には、ハードウェア資源判定部１４ｂは、起動要求アプリおよび起動中アプリのそれぞれについて、アプリケーション情報データベース１２の「利用リソース」欄を参照して、各アプリケーションが利用するハードウェア資源に関する情報を取得する。そして、ハードウェア資源判定部１４ｂは、起動要求アプリと同一のハードウェア資源を利用するアプリケーションが存在する場合には、ハードウェア資源の利用で競合が生じていると判定し、起動要求アプリと同一のハードウェア資源を利用するアプリケーションがない場合には、競合が生じていないと判定する。
【００４３】
なお、ハードウェア資源判定部１４ｂは、代替的に、アプリケーション選択部１３から起動要求を受信すると、アプリケーション情報データベース１２を参照せずに、後述するアプリケーション情報取得部１６から、または直接、各アプリケーション１８ａ〜１８ｄが利用するハードウェア資源に関する情報を取得して競合判定を行うよう構成しても良い。
【００４４】
競合解決部１４は、起動状態判定部１４ａおよびハードウェア資源判定部１４ｂの判定結果に基づいて、アプリケーション間で競合が発生している場合には競合を解決するべく、各アプリケーションの起動状態を変更する。具体的には、起動状態判定部１４ａおよびハードウェア資源判定部１４ｂの判定結果は、次の４つのパターンに分けられる。すなわち、（１）起動状態判定部１４ａが起動可能と判定し、ハードウェア資源判定部１４ｂが競合なしと判定、（２）起動状態判定部１４ａが起動可能と判定し、ハードウェア資源判定部１４ｂが競合ありと判定、（３）起動状態判定部１４ａが起動不可と判定し、ハードウェア資源判定部１４ｂが競合ありと判定、（４）起動状態判定部１４ａが起動不可と判定し、ハードウェア資源判定部１４ｂが競合なしと判定、するパターンである。
【００４５】
（１）の場合、競合解決部１４は、起動要求アプリを新たに起動するのに充分な余裕が移動通信端末１０にあり、この起動要求アプリと同一のハードウェア資源を利用している起動中アプリもないので、起動要求アプリを新たに起動させるのに問題はないと判断する。そして、競合解決部１４は、当該アプリケーションの起動状態を“起動（前面）”に変更させる制御指令をアプリケーション起動制御部１５へ送信する。
【００４６】
（２）の場合、競合解決部１４は、起動要求アプリを新たに起動するのに充分な余裕が移動通信端末１０にあるが、この起動要求アプリと同一のハードウェア資源を利用している起動中アプリがあるので、当該起動中アプリの起動状態を“停止”に変更し、起動要求アプリの起動状態を“起動(前面)”に変更させる制御指令をアプリケーション起動制御部１５へ送信する。なお、起動要求アプリが利用するハードウェア資源が複数のアプリケーションで同時に利用できる場合、または、このハードウェア資源に割り当てられたメモリ容量にまだ空きがある場合には、起動要求アプリと同一のハードウェア資源を利用している起動中アプリの起動状態を“起動（バックグラウンド）”に変更するようにしても良い。
【００４７】
（３）の場合、競合解決部１４は、起動要求アプリを新たに起動するのに充分な余裕が移動通信端末１０に無いが、この起動要求アプリと同一のハードウェア資源を利用している起動中アプリがあるので、当該起動中アプリの起動状態を“停止”に変更し、起動要求アプリの起動状態を“起動(前面)”に変更させる制御指令をアプリケーション起動制御部１５へ送信する。
【００４８】
（４）の場合、競合解決部１４は、起動要求アプリを新たに起動するのに充分な余裕が移動通信端末１０に無く、この起動要求アプリと同一のハードウェア資源を利用している起動中アプリも無いので、アプリケーション情報データベース１２を参照して求められる各アプリケーションの優先レベルに基づき、停止させるアプリケーションを決定する。具体的には、競合解決部１４は、アプリケーション情報データベース１２の「アプリレベル」欄を参照して、起動中アプリの中でアプリレベルが最低のものを、停止させるアプリケーションとして決定する。そして、競合解決部１４は、アプリレベルが最低なアプリケーションの起動状態を“停止”に変更し、起動要求アプリの起動状態を“起動(前面)”に変更させる制御指令をアプリケーション起動制御部１５へ送信する。
【００４９】
また、競合解決部１４は、上記（４）の場合において、起動中アプリのうち最低のアプリレベルをもつアプリケーションが複数ある場合には、これらのアプリケーションのリストをアプリケーション選択部１３へ送信してユーザに提示し、停止すべきアプリケーションをユーザに指定させても良い。
【００５０】
このように変更されたアプリケーションの起動状態に関する情報は、アプリケーション起動制御部１５へ送信されるのと併せて、起動状態データベース１１にも送信されて、起動状態データベース１１の「状態」欄が最新の情報に更新される。
【００５１】
アプリケーション起動制御部１５は、競合解決部１４から受信した制御指令にしたがって、移動通信端末１０内のすべてのアプリケーション１８ａ〜１８ｄに対して、「起動(前面)」、「起動（バックグラウンド）」、または「停止」の指示を与える。
【００５２】
アプリケーション情報取得部１６は、移動通信端末１０の起動時、および新たなアプリケーションをダウンロードなどにより取得した時に、当該アプリケーションに関する情報を取得する。この情報とは、具体的には、アプリケーションの動作検証試験の実施の有無（実施済みの場合、試験実施証明書がアプリケーションに付与されている）、製作会社名（既存アプリの製作経験の有無）、ダウンロードもとサーバ（移動通信提供業者のネットワーク内か外か）、アプリ種別（電話アプリ等の「通信アプリ」なのか、ゲームアプリ等の「非通信アプリ」なのか）、および利用リソース、を含む。アプリケーション情報取得部１６は、アプリケーションから取得した情報を、アプリレベル設定部１７に送信する。
【００５３】
アプリレベル設定部１７は、アプリケーション情報取得部１６から受信したアプリケーションの情報を基に、各アプリケーションのアプリレベルを決定する。アプリレベルは、アプリケーションごとの優先度に基づいて設定される優先レベルを示す情報である。アプリレベルは、具体的には、図５に示すようなテーブルを参照して、情報ごとに設定されたポイントの合計に応じて、決定される。
【００５４】
図５を参照すると、「動作検証試験実施」においては、実施済みの場合１ポイントが、未実施の場合２ポイントが与えられる。「製作会社名」においては、既存アプリの製作経験が有る会社ならば１ポイントが、製作経験が無い会社ならば２ポイントが、個人製作ならば３ポイントが与えられる。「ダウンロードもとサーバ」においては、移動通信提供業者のネットワーク内のサーバであれば１ポイントが、提供業者のネットワーク外のサーバであれば２ポイントが与えられる。「アプリ種別」においては、通信アプリならば１ポイントが、非通信アプリならば２ポイントが与えられる。
【００５５】
アプリレベル設定部１７は、検証試験を実施済みのアプリや、製作経験のある会社の製作したアプリなど、信頼性の高いアプリケーションに対して小さいポイントを与えるように構成されている。また、アプリレベル設定部１７は、起動中アプリが通信機能を用いるタイプの場合には、競合解決部１４によって通信途中で停止されてしまうのを防ぐために、非通信アプリより通信アプリの方に小さいポイントを与えるように構成されている。そして、アプリケーションごとに付与されたポイントを合計した値に基づいてアプリレベルが決定される。この合計ポイントが小さいほどアプリケーションの信頼性がより高いことを表すので、たとえば、合計ポイントが４点ならばアプリレベルが「高」と設定され、５点ならば「中」と設定され、６点以上ならば「低」と設定される。
【００５６】
なお、アプリレベル設定部１７は、図５に示された項目の他にも、アプリケーションの優先度に関する任意の情報を参照してアプリレベルを設定することができる。たとえば、ダウンロードなどの手法により移動通信端末１０に追加された登録日時が新しいほど小さいポイントを与えるように設定して、新たに追加されたアプリケーションの優先度が高くなるように構成しても良い。
【００５７】
アプリレベル設定部１７は、算出したアプリレベルおよび各アプリケーションが利用するハードウェア資源のデータを、アプリケーション情報データベース１２へ送信する。
【００５８】
続いて、図６〜図８を参照して、本実施形態に係る移動通信端末１０の動作について説明する。図６は、本実施形態の移動通信端末１０において、アプリケーション間の競合を解決する処理を示すフローチャートである。この処理は、移動通信端末１０のユーザから、移動通信端末１０に格納されている特定のアプリケーションの起動要求を受けたときに実施される。
【００５９】
まず、アプリケーション選択部１３により、ユーザからのアプリケーションの起動要求が受信されると（Ｓ１０１）、起動状態判定部１４ａにより、現在起動中のアプリケーション（以下「起動中アプリ」という）が所定数かどうか判定される（Ｓ１０２）。起動状態判定部１４ａは、起動状態データベース１１の「状態」欄を参照して、“起動（前面）”または“起動（バックグラウンド）”が入力されているアプリケーションを起動中アプリとして抽出して、起動中アプリの数が、予め設定された移動通信端末１０で同時に起動できるアプリケーションの所定数と同一であるかどうかを判定する。起動中アプリが所定数の場合には、ステップＳ１０３に移行する。起動中アプリが所定数より少ない場合には、ステップＳ１０４に移行する。
【００６０】
なお、ステップＳ１０２の処理は、代替的に、起動状態判定部１４ａが、現在使用されているＣＰＵまたはメモリの使用量と、予め設定された移動通信端末１０で使用できるＣＰＵまたはメモリの所定量とを比較する手法でも良い。この場合、現在のＣＰＵまたはメモリの使用量が所定値に達しているときにはステップＳ１０３に移行し、現在のＣＰＵまたはメモリの使用量が所定値より小さいときにはステップＳ１０４に移行する。
【００６１】
ステップＳ１０２において、起動中アプリが所定数より少ないと判定された場合、ハードウェア資源判定部１４ｂにより、アプリケーション選択部１３で起動要求を受けたアプリケーション(以下「起動要求アプリ」という)と同じハードウェア資源（リソース）を利用している起動中アプリがあるかどうかが判定される（Ｓ１０４）。ハードウェア資源判定部１４ｂは、起動要求アプリおよび起動中アプリのそれぞれについて、アプリケーション情報データベース１２の「利用リソース」欄を参照して、各アプリケーションが利用するハードウェア資源に関する情報を取得し、起動要求アプリと同一のハードウェア資源を利用する起動中アプリがあるかどうかを判定する。
【００６２】
起動要求アプリと同一のハードウェア資源を利用する起動中アプリがない場合には、競合解決部１４により、起動要求アプリの起動状態が“起動（前面）”に設定され、起動中アプリの起動状態が“起動（バックグラウンド）”に設定される（Ｓ１０５）。
【００６３】
起動要求アプリと同一のハードウェア資源を利用する起動中アプリがある場合には、競合解決部１４により、起動要求アプリと同じリソースを使っている起動中アプリの起動状態が“停止”に設定され、起動要求アプリの起動状態が“起動（前面）”に設定され、他の起動中アプリの起動状態が“起動（バックグラウンド）”に設定される（Ｓ１０６）。なお、起動要求アプリが利用するリソースが複数のアプリケーションで同時に利用できる場合、または、このハードウェア資源に割り当てられたメモリ容量にまだ空きがある場合には、起動中アプリの起動状態を“起動（バックグラウンド）”に変更するようにしても良い。
【００６４】
ステップＳ１０２において、起動中アプリが所定数であると判定された場合にも、まず、ハードウェア資源判定部１４ｂにより、起動要求アプリと同じリソースを利用している起動中アプリがあるかどうかが判定される（Ｓ１０３）。起動要求アプリと同一のハードウェア資源を利用する起動中アプリがある場合には、競合解決部１４により、起動要求アプリと同じリソースを使っている起動中アプリの起動状態が“停止”に設定され、起動要求アプリの起動状態が“起動（前面）”に設定され、他の起動中アプリの起動状態が“起動（バックグラウンド）”に設定される（Ｓ１０８）。起動要求アプリと同一のリソースを利用する起動中アプリがない場合には、ステップＳ１０７に移行する。
【００６５】
ステップＳ１０３において、起動要求アプリと同一のリソースを利用する起動中アプリがないと判定された場合には、競合解決部１４により、アプリケーション情報データベース１２の「アプリレベル」欄を参照して、起動中アプリのアプリレベルが取得される（Ｓ１０７）。
【００６６】
続いて、競合解決部１４により、アプリレベルが最低の起動中アプリが複数あるかどうかが判定される（Ｓ１０９）。アプリレベルが最低の起動中アプリが１つだけの場合、競合解決部１４により、アプリレベルが最低の起動中アプリの起動状態が“停止”に設定され、起動要求アプリの起動状態が“起動（前面）”に設定され、他の起動中アプリの起動状態が“起動(バックグラウンド)”に設定される（Ｓ１１０）。アプリレベルが最低の起動中アプリが複数ある場合、ステップＳ１１１に移行する。
【００６７】
ステップＳ１０９において、アプリレベルが最低の起動中アプリが複数あると判定された場合には、競合解決部１４により、アプリケーション選択部１３を介して、起動中アプリのリストがユーザに提示され、停止すべきアプリケーションを選択するようユーザに確認される（Ｓ１１１）。そして、競合解決部１４により、ユーザが選択したアプリケーションの起動状態が“停止”に設定され、起動要求アプリの起動状態が“起動（前面）”に設定され、他の起動中アプリの起動状態が“起動(バックグラウンド)”に設定される（Ｓ１１２）。
【００６８】
図７は、図６に示した競合解決処理において、起動状態判定部１４ａによる判定処理と、ハードウェア資源判定部１４ｂによる判定処理の順序を入れ替えた変形例である。
【００６９】
まず、アプリケーション選択部１３により、ユーザからのアプリケーションの起動要求が受信されると（Ｓ２０１）、ハードウェア資源判定部１４ｂにより、起動要求アプリと同じリソースを利用している起動中アプリがあるかどうかが判定される（Ｓ２０２）。起動要求アプリと同一のリソースを利用する起動中アプリがある場合には、競合解決部１４により、起動要求アプリと同じリソースを使っている起動中アプリの起動状態が“停止”に設定され、起動要求アプリの起動状態が“起動（前面）”に設定され、他の起動中アプリの起動状態が“起動（バックグラウンド）”に設定される（Ｓ２０４）。なお、起動要求アプリが利用するリソースが複数のアプリケーションで同時に利用できる場合、または、このハードウェア資源に割り当てられたメモリ容量にまだ空きがある場合には、起動中アプリの起動状態を“起動（バックグラウンド）”に変更するようにしても良い。
【００７０】
ステップＳ２０２において、起動要求アプリと同一のリソースを利用する起動中アプリがないと判定された場合、起動状態判定部１４ａにより、起動中アプリが所定数かどうか判定される（Ｓ２０３）。起動中アプリが所定数より少ない場合には、競合解決部１４により、起動要求アプリの起動状態が“起動（前面）”に設定され、起動中アプリの起動状態が“起動（バックグラウンド）”に設定される（Ｓ２０６）。起動中アプリが所定数の場合には、ステップＳ２０５に移行する。
【００７１】
ステップＳ２０３において、起動中アプリが所定数であると判定された場合、競合解決部１４により、アプリケーション情報データベース１２の「アプリレベル」欄を参照して、起動中アプリのアプリレベルが取得される（Ｓ２０５）。
【００７２】
続いて、競合解決部１４により、アプリレベルが最低の起動中アプリが複数あるかどうかが判定される（Ｓ２０７）。アプリレベルが最低の起動中アプリが１つだけの場合、競合解決部１４により、アプリレベルが最低の起動中アプリの起動状態が“停止”に設定され、起動要求アプリの起動状態が“起動（前面）”に設定され、他の起動中アプリの起動状態が“起動(バックグラウンド)”に設定される（Ｓ２０８）。アプリレベルが最低の起動中アプリが複数ある場合、ステップＳ２０９に移行する。
【００７３】
ステップＳ２０７において、アプリレベルが最低の起動中アプリが複数あると判定された場合には、競合解決部１４により、アプリケーション選択部１３を介して、起動中アプリのリストがユーザに提示され、停止すべきアプリケーションを選択するようユーザに確認される（Ｓ２０９）。そして、競合解決部１４により、ユーザが選択したアプリケーションの起動状態が“停止”に設定され、起動要求アプリの起動状態が“起動（前面）”に設定され、他の起動中アプリの起動状態が“起動(バックグラウンド)”に設定される（Ｓ２１０）。
【００７４】
図８は、図７に示した競合解決処理において、ステップＳ２０３の起動状態判定部１４ａによる処理を変更した変形例である。図８において、ステップＳ２０３ａ以外の処理ブロックは、符号が共通する図７のものと同一の処理が行われるので、説明を省略する。
【００７５】
ステップＳ２０３ａにおいて、起動状態判定部１４ａにより、現在使用されているＣＰＵまたはメモリの使用量と、予め設定された移動通信端末１０で使用できるＣＰＵまたはメモリの所定量とを比較して、起動要求アプリを起動できるＣＰＵまたはメモリの使用量があるかどうかが判定される。動要求アプリを起動できるＣＰＵまたはメモリの使用量がある場合、起動要求アプリの起動状態が“起動（前面）”に設定され、起動中アプリの起動状態が“起動（バックグラウンド）”に設定される（Ｓ２０６）。動要求アプリを起動できるＣＰＵまたはメモリの使用量がない場合、ステップＳ２０５に移行する。
【００７６】
続いて、本実施形態の移動通信端末１０の作用および効果について説明する。
【００７７】
本実施形態の移動通信端末１０においては、アプリケーション間の競合が生じた場合には、競合解決部１４が、アプリケーションごとの優先度に基づいて設定されるアプリレベルによって、アプリレベルの低いアプリケーションを停止させる。アプリレベルはアプリレベル設定部１７によりアプリケーションごとに設定されるので、移動通信端末１０に新たなアプリケーションが追加された場合でも、当該アプリケーションの情報をアプリケーション情報取得部１６が取得し、この取得した情報に基づいてアプリレベル設定部１７が当該アプリケーションのアプリレベルを新たに設定するだけで、移動通信端末１０に格納される全てのアプリケーションの間で競合解決を行うことが可能となる。これにより、簡易な構成でアプリケーション間の競合を解決することができる。
【００７８】
また、本実施形態の移動通信端末１０において、競合解決部１４は、現在起動中のアプリケーション（起動中アプリ）の中から、停止させるアプリケーションを決定する。この構成により、アプリケーション選択部１３により起動要求を受けたアプリケーション（起動要求アプリ）が必ず起動されるようになるので、当該アプリケーションに起動要求をかけた移動通信端末１０のユーザの意思を尊重して、競合解決に反映させることができる。これにより、ユーザにとって使いやすい移動通信端末を提供できる。
【００７９】
また、本実施形態の移動通信端末１０において、起動状態判定部１４ａは、予め設定されている移動通信端末１０で同時に起動可能なアプリケーションの数と、起動中アプリの数とに基づいて、起動要求アプリが起動できるか否かを判定する。この構成により、移動通信端末１０で同時に起動できるアプリケーションの所定数に応じて、起動要求アプリが起動できるか否かを判定することができるので、簡易な構成により起動可否を判定することができる。
【００８０】
また、本実施形態の移動通信端末１０において、起動状態判定部１４ａは、予めアプリケーションの起動用に割り当てられたＲＡＭ１０２の容量と、起動中アプリによって利用されているＲＡＭ１０２の容量とに基づいて、起動要求アプリが起動できるか否かを判定する。この構成により、移動通信端末１０のメモリ容量に応じて、起動要求アプリが起動できるか否かを判定することができるので、簡易な構成により起動可否を判定することができる。
【００８１】
また、本実施形態の移動通信端末１０において、ハードウェア資源判定部１４ｂが、起動中アプリが利用しているハードウェア資源と、起動要求アプリが利用するハードウェア資源とを比較して、起動要求アプリがハードウェア資源の利用で他のアプリケーションと競合するかどうか判定する。競合解決部１４は、ハードウェア資源判定部１４ｂにより競合していると判定された場合、起動要求アプリを優先的に起動させる。この構成により、アプリケーションの間で発生する同一のハードウェア資源の利用に関する競合を解決することができ、また、ユーザが起動要求したアプリケーションが優先的に起動されるので、ユーザにとって使いやすい移動通信端末を提供することができる。
【００８２】
また、本実施形態の移動通信端末１０において、競合解決部１４は、アプリレベルが最低となるアプリケーションが複数存在する場合に、移動通信端末１０のユーザに、停止すべきアプリケーションの候補の選択肢を提示する。この構成により、アプリレベルが最低となるアプリケーションが複数存在する場合にも、移動通信端末１０のユーザによって停止すべきアプリケーションが選択され、ユーザの意思を尊重して、競合解決に反映させることができるので、ユーザにとって使いやすい移動通信端末を提供することができる。
【００８３】
また、本実施形態の移動通信端末１０において、アプリケーション情報データベース１２に保持されるアプリレベルは、動作検証試験の実施の有無、製作会社名、ダウンロード元サーバ、に基づきアプリケーションごとに設定される。この構成により、信頼性の高いアプリケーションを優先的に起動させることができるので、動作の安定した移動通信端末を提供できる。
【００８４】
また、本実施形態の移動通信端末１０において、アプリケーション情報データベース１２に保持されるアプリレベルは、さらに、当該アプリケーションが通信するか否かに基づき設定される。この構成により、起動中アプリが通信機能を用いるタイプのものだった場合には、競合解決部１４によって当該アプリケーションが停止されにくくなり、起動しているアプリケーションを通信途中で停止してしまうのを防ぐことができるので、ユーザにとって使いやすい移動通信端末を提供できる。
【図面の簡単な説明】
【００８５】
【図１】移動通信端末の機能的構成を示すブロック図である。
【図２】移動通信端末のハードウェア構成を示す図である。
【図３】起動状態データベースの一例を示す図である。
【図４】アプリケーション情報データベースの一例を示す図である。
【図５】アプリレベルを算出するためのポイントを決定するテーブルの一例を示す図である。
【図６】アプリケーション間の競合を解決する処理を示すフローチャートである。
【図７】アプリケーション間の競合を解決する処理を示すフローチャートである。
【図８】アプリケーション間の競合を解決する処理を示すフローチャートである。
【符号の説明】
【００８６】
１０…移動通信端末、１１…起動状態データベース、１２…アプリケーション情報データベース、１３…アプリケーション選択部、１４…競合解決部、１４ａ…起動状態判定部、１４ｂ…ハードウェア資源判定部、１５…アプリケーション起動制御部、１６…アプリケーション情報取得部、１７…アプリレベル設定部、
１８ａ-１８ｄ…アプリケーション、１９ａ-１９ｃ…ハードウェア資源。
【図１】
2008310695.tif 000003
【図２】
2008310695.tif 000004
【図３】
2008310695.tif 000005
【図４】
2008310695.tif 000006
【図５】
2008310695.tif 000007
【図６】
2008310695.tif 000008
【図７】
2008310695.tif 000009
【図８】
2008310695.tif 000010