(57)【要約】【課題】マルチタスク処理における新たなアプリケーションの競合管理方法を提供する。【解決手段】アプリケーションマネージャ２５に、現在実行中のアプリケーションを登録する実行リスト６１及び待機中のアプリケーションを登録する実行待ちリスト６２を設ける。アプリケーション管理ブロック６４は、アプリケーションの競合が生じた場合、上記各リスト６１，６２に登録されている実行中のアプリケーションの状態及び待機中のアプリケーションの状態に対応する競合条件テーブルを参照し、各状態の優先度に基づいて、各アプリケーションの遷移させるべき状態（起動，終了，実行待ち等）を決定する。そして、アプリケーション制御ブロック６５が、このアプリケーション管理ブロック６４により決定された状態に、各アプリケーションを遷移させることで、各アプリケーションの競合管理を行う。【選択図】  図４
2005005909.tif 000002
【特許請求の範囲】
【請求項１】
タスクの実行要求を受け付ける実行要求受付手段と、
起動中のタスクを起動中タスクリストに登録する起動中タスク登録手段と、
上記実行要求受付手段として機能して上記タスクの実行要求を受け付けた際に、上記起動中タスクリストを参照して、タスク同士の競合の有無を検出する競合検出手段と、
上記競合検出手段として機能することで上記タスク同士の競合を検出した際に、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定する遷移状態決定手段と、
上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、上記遷移状態決定手段として機能することで決定した状態にそれぞれ遷移させる状態遷移手段として
コンピュータを機能させる競合管理プログラム。
【請求項２】
請求項１記載の競合管理プログラムであって、
上記起動中タスク登録手段としてコンピュータを機能させる際に、実行するタスクを上記起動中タスクリスト内の実行リストに登録し、実行待ちとするタスクを上記起動中タスクリスト内の実行待ちリストに登録する起動中タスク登録手段としてコンピュータを機能させること
を特徴とする競合管理プログラム。
【請求項３】
請求項２記載の競合管理プログラムであって、
上記起動中タスク登録手段としてコンピュータを機能させる際に、上記遷移状態決定手段として機能することで決定された状態の優先度に基づいて、実行するタスク及び実行待ちとするタスクの選別を行い、該実行するタスクを上記実行リストに登録し、該実行待ちとするタスクを上記実行待ちリストに登録する起動中タスク登録手段としてコンピュータを機能させること
を特徴とする競合管理プログラム。
【請求項４】
請求項１から請求項３のうち、いずれか一項記載の競合管理プログラムであって、
上記遷移状態決定手段としてコンピュータが機能することで、上記実行要求のなされたタスクの実行は不可であると決定された場合に、該タスクの実行要求をキャンセルする遷移状態決定手段としてコンピュータを機能させること
を特徴とする競合管理プログラム。
【請求項５】
タスクの実行要求を受け付ける実行要求受付手段と、
起動中のタスクを起動中タスクリストに登録する起動中タスク登録手段と、
上記実行要求受付手段として機能して上記タスクの実行要求を受け付けた際に、上記起動中タスクリストを参照して、タスク同士の競合の有無を検出する競合検出手段と、
上記競合検出手段として機能することで上記タスク同士の競合を検出した際に、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定する遷移状態決定手段と、
上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、上記遷移状態決定手段として機能することで決定した状態にそれぞれ遷移させる状態遷移手段として
コンピュータを機能させる競合管理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体。
【請求項６】
請求項５記載の記憶媒体であって、
上記起動中タスク登録手段としてコンピュータを機能させる際に、実行するタスクを上記起動中タスクリスト内の実行リストに登録し、実行待ちとするタスクを上記起動中タスクリスト内の実行待ちリストに登録する起動中タスク登録手段としてコンピュータを機能させること
を特徴とする競合管理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体。
【請求項７】
請求項６記載の記憶媒体であって、
上記起動中タスク登録手段としてコンピュータを機能させる際に、上記遷移状態決定手段として機能することで決定された状態の優先度に基づいて、実行するタスク及び実行待ちとするタスクの選別を行い、該実行するタスクを上記実行リストに登録し、該実行待ちとするタスクを上記実行待ちリストに登録する起動中タスク登録手段としてコンピュータを機能させること
を特徴とする競合管理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体。
【請求項８】
請求項５から請求項７のうち、いずれか一項記載の記憶媒体であって、
上記遷移状態決定手段としてコンピュータを機能させることで、上記実行要求のなされたタスクの実行は不可であると決定された場合に、該タスクの実行要求をキャンセルする遷移状態決定手段としてコンピュータを機能させること
を特徴とする競合管理プログラムが記憶されたコンピュータ読み取り可能な記憶媒体。
【請求項９】
実行要求受付手段がタスクの実行要求を受け付けるステップと、
起動中タスク登録手段が、起動中のタスクを起動中タスクリストに登録するステップと、
上記実行要求受付手段が上記タスクの実行要求を受け付けた際に、競合検出手段が、上記起動中タスクリストを参照して、タスク同士の競合の有無を検出するステップと、
上記競合検出手段が上記タスク同士の競合を検出した際に、遷移状態決定手段が、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定するステップと、
上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、状態遷移手段が、上記遷移状態決定手段で決定された状態にそれぞれ遷移させるステップと
を有する競合管理方法。
【請求項１０】
請求項９記載の競合管理方法であって、
上記起動中のタスクを起動中タスクリストに登録するステップでは、起動中タスク登録手段が、実行するタスクを上記起動中タスクリスト内の実行リストに登録し、実行待ちとするタスクを上記起動中タスクリスト内の実行待ちリストに登録すること
を特徴とする競合管理方法。
【請求項１１】
請求項１０記載の競合管理方法であって、
上記起動中のタスクを起動中タスクリストに登録するステップでは、起動中タスク登録手段が、上記遷移状態決定手段で決定された状態の優先度に基づいて、実行するタスク及び実行待ちとするタスクの選別を行い、該実行するタスクを上記実行リストに登録し、該実行待ちとするタスクを上記実行待ちリストに登録すること
を特徴とする競合管理方法。
【請求項１２】
請求項９から請求項１１のうち、いずれか一項記載の競合管理方法であって、
上記遷移状態決定手段で決定された状態に遷移させるステップでは、上記遷移状態決定手段が、上記実行要求がなされたタスクの実行は不可であると決定した場合に、該タスクの実行要求をキャンセルすること
を特徴とする競合管理方法。
【請求項１３】
タスクの実行要求を受け付ける実行要求受付手段と、
起動中のタスクを起動中タスクリストに登録する起動中タスク登録手段と、
上記実行要求受付手段で上記タスクの実行要求を受け付けた際に、上記起動中タスクリストを参照して、タスク同士の競合の有無を検出する競合検出手段と、
上記競合検出手段で上記タスク同士の競合が検出された際に、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定する遷移状態決定手段と、
上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、上記遷移状態決定手段で決定された状態にそれぞれ遷移させる状態遷移手段と
を有する電子機器。
【請求項１４】
請求項１３記載の電子機器であって、
上記起動中タスク登録手段は、実行するタスクを上記起動中タスクリスト内の実行リストに登録し、実行待ちとするタスクを上記起動中タスクリスト内の実行待ちリストに登録すること
を特徴とする電子機器。
【請求項１５】
請求項１４記載の電子機器であって、
上記起動中タスク登録手段は、上記遷移状態決定手段で決定された状態の優先度に基づいて、実行するタスク及び実行待ちとするタスクの選別を行い、該実行するタスクを上記実行リストに登録し、該実行待ちとするタスクを上記実行待ちリストに登録すること
を特徴とする電子機器。
【請求項１６】
請求項１３から請求項１５のうち、いずれか一項記載の電子機器であって、
上記遷移状態決定手段は、上記実行要求がなされたタスクの実行は不可であると決定した場合に、該タスクの実行要求をキャンセルすること
を特徴とする電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば携帯電話機，ＰＨＳ電話機（ＰＨＳ：Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ），ＰＤＡ装置（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ（Ｄａｔａ）  Ａｓｓｉｓｔａｎｔ），パーソナルコンピュータ装置等の端末装置に設けて好適な競合管理プログラム，競合管理プログラムが記憶された記憶媒体，競合管理方法及び電子機器に関する。
【０００２】
【従来の技術】
今日における携帯電話機は、シングルタスクのかたちでアプリケーションの実行管理を行うのが一般的である。
【０００３】
例えば、一方のアプリケーションの実行中に、他方のアプリケーションの実行指示があった場合、これら各アプリケーションの優先度をそれぞれ検出し、優先度の低いアプリケーションを強制的に終了させ、代わりに優先度の高いアプリケーションを起動することで、該アプリケーションの競合管理を行うようになっている。
【０００４】
具体的には、例えば電子メールの作成中に着呼があった場合、電子メールを作成するアプリケーションよりも、着呼を処理するアプリケーションの方が優先度が高いため、電子メールを作成するアプリケーションを強制的に終了させ、着呼を処理するアプリケーションを起動して着呼の処理を行う。これにより、電子メールの作成は中止され、着呼が優先して処理されることとなる。
【０００５】
これに対して、携帯電話機よりも情報処理能力（パフォーマンス）の高いパーソナルコンピュータ装置の場合、マルチタスクのかたちでアプリケーションの実行管理を行うのが一般的である。
【０００６】
このパーソナルコンピュータ装置においては、アプリケーションの競合が生じた場合、以下のいずれかの方法で競合管理を行うようになっている。
【０００７】
まず、第１の競合管理方法として、オペレーティングシステム（ＯＳ）が、実行中のアプリケーションの現在の状態にかかわらず、該実行中のアプリケーションの優先度を変更し（優先度を下げ）、後から実行が指定されたアプリケーションを優先して実行する競合管理を行う方法である。
【０００８】
具体的には、例えば表計算ソフトウェアの実行中に、ユーザから文書作成ソフトウェアの立ち上げが指示された場合、ＯＳは、表計算ソフトウェアのアプリケーションを待機状態とし、文書作成ソフトウェアのアプリケーションを優先して起動する。これにより、表計算ソフトウェアによる表作成を中断した状態で、文書作成ソフトウェアによる文書作成が可能となる。
【０００９】
次に、第２の競合管理方法として、アプリケーションのプログラミングの段階で競合する他のアプリケーションを予測し、競合が生じた場合、アプリケーション同士で通信を行い、一方のアプリケーションが他方のアプリケーションの状態に応じて優先度を変更するように、該アプリケーションをプログラミングしておくことで競合管理を行う方法である。
【００１０】
この第２の競合管理方法においては、競合したアプリケーション同士の通信で優先順位が決まるため、各アプリケーションが自己的に競合管理を行うこととなる。
【００１１】
なお、特表２００３−５０４７５３号の公表特許公報に、このようなアプリケーション管理に関する先行技術が開示されている。
【００１２】
【特許文献】
特表２００３−５０４７５３号公報
【００１３】
【発明が解決しようとする課題】
ここで、上述のように、現行における携帯電話機は、シングルタスクのかたちでアプリケーションの競合管理を行っているのであるが、将来的にマルチタスクのかたちでアプリケーションの実行管理を行うことが予測される。
【００１４】
しかし、前述の第１の管理方法或いは第２の管理方法で競合管理を行うようにすると以下の問題を生ずる。
【００１５】
すなわち、上記第１の競合管理方法で競合管理を行うと、ＯＳがアプリケーションの現在の状態を認識することなく後先のかたちでアプリケーションが実行されることとなるため、後から実行指示のなされたアプリケーションの実行が終了し、待機状態となっていたアプリケーション（＝先に実行されていたアプリケーション）の実行が再開される際に、該待機状態となっていたアプリケーションが正常に動作しないことが懸念される（待機状態とされたアプリケーションの動作保証が無い。）。
【００１６】
また、上記第２の競合管理方法で競合管理を行う場合には、予め競合するアプリケーションを全て予測してアプリケーションのプログラミングを行う必要がある。このような予測は、アプリケーション数が増え、また、システムが複雑化する程困難となる。
【００１７】
また、上記第２の競合管理方法で競合管理を行うこととすると、アプリケーションに仕様変更が生じた場合には、他の全てのアプリケーションも、この仕様変更に対応した仕様変更が必要となり、多数のアプリケーションの再プログラミング作業や再インストール作業（アプリケーションの設計及び実装の変更作業）等の大変面倒な作業が必要となることが懸念される。
【００１８】
マルチタスクを可能とする従来の競合管理方法は、このようなことを考慮する必要があったため、ソフトウェアの開発を困難なものとする問題があった。
【００１９】
本発明は、上述の課題に鑑みてなされたものであり、待機状態としたアプリケーションの動作を保証すること、競合するアプリケーションを考慮することなくアプリケーションのプログラミング（設計）を可能とすること、仕様変更が生じた場合でも他のアプリケーションの仕様変更を必要としないことを通じてソフトウェアの開発を容易化可能な競合管理プログラム，競合管理プログラムが記憶された記憶媒体，競合管理方法及び電子機器の提供を目的とする。
【００２０】
【課題を解決するための手段】
本発明は、実行要求受付手段がタスクの実行要求を受け付けた際に、競合検出手段が、起動中のタスクが登録されている起動中タスクリストを参照して、タスク同士の競合の有無を検出する。
【００２１】
上記競合検出手段で上記タスク同士の競合が検出されると、遷移状態決定手段が、該競合する各タスクの遷移すべき状態が記憶された競合条件テーブルを参照して、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの遷移させるべき状態をそれぞれ決定する。
【００２２】
そして、上記実行要求がなされたタスク、及び上記起動中タスクリストに登録されているタスクの状態を、状態遷移手段が、上記遷移状態決定手段で決定された状態にそれぞれ遷移させる。
【００２３】
なお、ここでいう「タスク」の概念は、アプリケーションの他、コンピュータが情報処理を行う際に実行する全てのタスクを含む概念である。
【００２４】
また、「起動中のタスク」の概念は、現在実行されているタスク、及び起動されてはいるが、現在、実行待ちとされているタスクの両方を含む概念である。
【００２５】
【発明の実施の形態】
本発明は一例として、携帯電話機に適用することができる。この本発明の実施の形態となる携帯電話機は、いわゆるホームメモリ機能，位置登録機能，追跡交換機能（自動追跡ルーチン）及びハンドオーバ機能等を備えた移動体通信システムで用いられるものである。
【００２６】
この移動体通信システムのサービスエリアには、複数の基地局が分散配置されており、これらの基地局によりそれぞれセルと呼ばれる無線通信エリアが形成されている。各基地局は、自局の無線通信エリア内に位置する各携帯電話機に対して無線チャンネルを割り当て、この無線チャンネルを介して各携帯電話機と通信を行い、該各携帯電話機とそれぞれ同期をとるようになっている。
【００２７】
また、この移動体通信端末システムは、通信中に携帯電話機がセル間を移動した場合、移動前のセルの基地局から移動後のセルの基地局に、通信に用いる基地局を切り替える、いわゆるハンドオーバを行って移動しながらの通信を可能としている。
【００２８】
図１は、ＣＤＭＡ方式（ＣＤＭＡ：Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）の移動体通信システムで用いられる当該第１の実施の形態の携帯電話機の全体的なブロック図である。
【００２９】
［受信動作］
この図１において、基地局から送信された無線周波信号は、アンテナ１で受信され、アンテナ共用器２（ＤＵＰ）を介して受信回路３（ＲＸ）に供給される。ＲＸ３は、上記無線周波信号と、周波数シンセサイザ４（ＳＹＮ）から供給された受信局部発振信号とをミキシング処理し、該無線周波信号を中間周波信号に周波数変換処理する。
【００３０】
なお、ＳＹＮ４から出力される受信局部発振信号の周波数は、制御部１２（ＣＰＵ）からの制御信号（ＳＹＣ）により設定される。
【００３１】
上記受信中間周波信号は、ＣＤＭＡ信号処理部６において、直交復調処理が施されたのち、受信チャネルに割り当てられた拡散符号（ＰＮ符号）により逆拡散処理され、これによりデータレートに応じた所定のフォーマットの復調データに変換される。そして、この変換された復調データはデータ符号処理部７に供給され、また上記受信データのうちデータレートを示す受信データレートはＣＰＵ１２に供給される。
【００３２】
データ符号処理部７は、上記ＣＤＭＡ信号処理部６から供給された復調データに対し、ＣＰＵ１２から通知される受信データレートに応じた伸長処理を施した後、ビタビ復号等を用いた復号処理及び誤り訂正復号処理を施し、ベースバンドの受信データを形成する。
【００３３】
ＰＣＭ符号処理部８は、音声信号通信の種別（音声通信、データ通信）に応じて異なる信号処理を行なうように、ＣＰＵ１２により制御される。
【００３４】
具体的には、音声通信時には、ＰＣＭ符号処理部８は、データ符号処理部７から供給された受信データをＰＣＭ復号処理してアナログ受話信号を形成する。このアナログ受話信号は、受話増幅器９にて増幅された後、スピーカ１０を介して拡声出力される。
【００３５】
また、データ通信時には、ＰＣＭ符号処理部８は、データ符号処理部７からの受信データをＣＰＵ１２へ供給する。ＣＰＵ１２は、この受信データをメモリ１３に記憶制御する。また必要に応じて、上記受信データを、外部インタフェースを介して、携帯情報端末装置（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）やノート型のパーソナルコンピュータ装置へ出力する。
【００３６】
［送信動作］
次に、音声通信時における話者の送話音声は、マイクロホン１１により集音され、送話増幅器１８で適正レベルに増幅される。そして、ＰＣＭ符号処理部８でＰＣＭ符号化処理が施された後、送信データとしてデータ符号処理部７に供給される。
【００３７】
なお、上記外部インタフェースを介して、例えば上記ＰＤＡ，ノート型のパーソナルコンピュータ装置，カメラ装置等の外部機器からデータや画像データ等が供給された場合、これらのデータは、ＣＰＵ１２に供給され、このＣＰＵ１２からＰＣＭ符号処理部８を介してデータ符号処理部７に供給される。
【００３８】
データ符号処理部７は、音声通信時には、ＰＣＭ符号処理部８から供給された送信音声データに基づいて入力音声のエネルギ量を検出し、この検出結果に基づいてデータレートを決定する。そして、上記送信データをこの決定したデータレートに応じたフォーマットのバースト信号に圧縮処理し、さらに誤り訂正符号化処理を施したのちＣＤＭＡ信号処理部６に供給する。
【００３９】
また、データ通信時には、データ符号処理部７は、ＰＣＭ符号処理部８から供給された送信データを、予め設定されたデータレートに応じたフォーマットのバースト信号に圧縮処理し、さらに誤り訂正符号化処理を施してＣＤＭＡ信号処理部６に供給する。
【００４０】
なお、音声通信時及びデータ通信時のいずれの場合も、上記データレートである送信データレートを示す情報は、ＣＰＵ１２に供給される。
【００４１】
ＣＤＭＡ信号処理部６は、データ符号処理部７で圧縮されたバースト信号に対して、送信チャネルに割り当てられたＰＮ符号を用いた拡散処理を施す。そしてこの拡散符号化された送信信号に対して直交変調処理を施し、この直交変調信号を送信回路５（ＴＸ）に供給する。
【００４２】
送信回路５は、この直交変調信号を、ＳＹＮ４から供給される送信局部発振信号とミキシング処理することで無線周波信号に変換する。そして、送信回路５は、ＣＰＵ１２により設定される送信データレートに基づいて、上記無線周波信号の有効部分だけを高周波増幅処理し、送信無線周波信号として、ＤＵＰ２を介してアンテナ１に供給する。これにより、この送信無線周波信号が、アンテナ１から基地局に対してバースト送信されることとなる。
【００４３】
なお、操作部１４（ＫＥＹ）には、ダイヤルキー、発信キー、電源キー、終了キー、音量調節キー、モード指定キー等のキー群が設けられている。
【００４４】
また表示部１５（ＬＣＤ）には、通話相手端末の電話番号や装置の動作状態、さらには受信データ等を表示するための液晶表示部の他、発信／着信動作や充電池１６（バッテリ）の充電動作等を示す発光部（ＬＥＤ等）が設けられている。
【００４５】
また、電源回路１７は、バッテリ１６に蓄電されている電力に基づいて、所定の動作電源電圧Ｖｃｃを形成し、これを当該携帯電話機の各回路部に供給するようになっている。
【００４６】
［主要部の構成］
次に、図２に当該実施の形態の携帯電話機の主要部の構成を示す。この図２からわかるように、当該実施の形態の携帯電話機は、上記ＣＰＵ１２により動作制御されるハードウェア群２１と、このハードウェア群２１の各ハードウェアに対応する複数のドライバからなるドライバ群２２と、オペレーションシステム２３（ＯＳ）と、複数のアプリケーションからなるアプリケーション群２４と、アプリケーションの競合管理を行うアプリケーションマネージャ２５と、各アプリケーションの動作状態毎に、競合したアプリケーションの起動の是非等を示す情報が記憶された競合条件テーブル２６とを有している。
【００４７】
ハードウェア群２１は、上記操作部１４及び上記表示部１５と、上記ＤＵＰ２，ＲＸ３，ＣＤＭＡ信号処理部６，データ符号処理部７等の通信システム３０と、携帯カメラ装置３１と、発光部（ＬＥＤ）や音声デバイス等の他のハードウェア３２と、上記メモリ１３等のメモリ／ファイルシステム３３とを有している。
【００４８】
ドライバ群２２は、上記表示部１５を駆動制御するＬＣＤドライバ３４（ＬＣＤ  Ｔａｓｋ／Ｄｒｉｖｅｒ）と、上記操作部１４を駆動制御するキードライバ３５（ＫＥＹ  Ｄｒｉｖｅｒ）と、上記通信システムを駆動制御する通信ドライバ３６と、上記携帯カメラ装置３１を駆動制御するカメラドライバ３７（Ｃａｍｅｒａ  Ｄｒｉｖｅｒ）と、上記他のハードウェアを駆動制御する他のハードウェアのドライバ３８と、上記メモリ／ファイルシステム３３を駆動制御するメモリ／ファイルシステムドライバ３９とを有している。
【００４９】
アプリケーション群２４は、各アプリケーションが共用するデータ群であるライブラリ４０（Ｌｉｂｒａｒｉｅｓ）と、ウインドウマネージャ４１（Ｗｉｎｄｏｗ  Ｍａｎａｇｅｒ）と、各アプリケーションの基本データ群となるアプリケーションフレームワーク４２（Ａｐｐｌｉｃａｔｉｏｎ  Ｆｒａｍｅ  ｗｏｒｋ）と、例えば電話アプリケーション（Ｔｅｌ  Ａｐｐ）や時計アプリケーション（Ｃｌｏｃｋ），スクリーンセーバー（Ｓｃｒｅｅｎ  Ｓａｖｅｒ），アプリケーションランチャー（Ａｐｐ  Ｌａｕｎｃｈｅｒ）等の各アプリケーション４３とを有している。
【００５０】
なお、この図２における「Ａｐｐ１」，「Ａｐｐ２」は、ユーザ定義の任意のアプリケーションを示している。
【００５１】
また、この図２において、ＣＰＵ１２，操作部１４，表示部１５，通信システム３０，携帯カメラ装置３１，他のハードウェア３２及びメモリ／ファイルシステム３３がそれぞれ「ハードウェア」であるのに対し、ＯＳ２３〜競合条件テーブル２６は、それぞれ「ソフトウェア」となっており、例えば図１に示すメモリ１３に格納されている。
【００５２】
（各アプリケーションの機能構成）
次に、図３に上記アプリケーション群２４の各アプリケーション４３の機能ブロック図を示す。この図３に示すように、アプリケーション４３は、当該アプリケーションのインターフェイスとなるコミュニケーションブロック５０と、上記アプリケーションマネージャ２５との間で、上記コミュニケーションブロック５０を介して通信を行うシステム制御ブロック５１と、例えば電話通信や携帯メールの作成等の、そのアプリケーションの動作を行うブロックであるユーザ制御ブロック５２とを有している。
【００５３】
後に説明するが、このアプリケーションは、システム制御ブロック５１がアプリケーションマネージャ２５との間で通信を行うことで、該アプリケーションマネージャ２５により動作状態（起動，起動待機等）が制御されるようになっている。
【００５４】
（アプリケーションマネージャの機能構成）
次に、図４にアプリケーションマネージャ２５の機能ブロック図を示す。この図４に示すように、アプリケーションマネージャ２５は、当該アプリケーションマネージャ２５のインターフェイスとなるコミュニケーションブロック６０と、実行中のアプリケーションを示すデータが格納される実行リスト６１及び実行待ちとなっているアプリケーションを示すデータが格納される実行待ちリスト６２を備えたアプリケーションリスト６３とを有している。
【００５５】
また、このアプリケーションマネージャ２５は、上記アプリケーションリストに格納されている各リスト６１，６２に基づいてアプリケーションの競合管理を行うアプリケーション管理ブロック６４と、このアプリケーション管理ブロック６４の競合管理に対応して各アプリケーションの起動，終了，状態遷移等を制御するアプリケーション制御ブロック６５とを有している。
【００５６】
（アプリケーションマネージャの動作概要）
このようなアプリケーションマネージャ２５は、各アプリケーションが競合した場合に、各アプリケーションの優先順位や現在の状態等に応じて、実行するアプリケーション、起動するアプリケーション、起動待ちとするアプリケーション、実行待機とするアプリケーションをそれぞれ決定し、それぞれ対応する上記リスト６１，６２に登録する。
【００５７】
そして、登録したアプリケーションの状態や新たなアプリケーションの起動要求等の状況の変化があった場合に、その現状に対応して上記各リスト６１，６２を再構築し、この各リスト６１，６２を参照しながら各アプリケーションの競合管理を行う。
【００５８】
（アプリケーションの状態の遷移）
すなわち、もう少し詳しく説明するために、図５に、各アプリケーションの各状態を模式的に示す。この図５からわかるように、各アプリケーションの状態としては、例えば当該携帯電話機内に記憶されていない状態（或いはアプリケーションが記憶されたメモリが当該携帯電話に設けられていない状態）である「非存在状態（Ｎｏｎ−Ｅｘｉｓｔｅｎｔ）」と、アプリケーション自体は記憶されているのであるが、実行が指定されていない状態である「不活性状態（Ｄｏｒｍａｎｔ）」とがある。
【００５９】
また、各アプリケーションの状態としては、そのアプリケーションが現在、実行されている状態である「実行状態」、及びそのアプリケーションが実行待ちとなっている状態である「実行待ち状態」とがある。
【００６０】
当該携帯電話機に設けられていないアプリケーションは、例えば当該携帯電話機にインストールされ、或いはそのアプリケーションが記憶されたメモリが当該携帯電話機に設けられることで、図５中「生成」として示すように、「不活性状態（当該携帯電話機内に存在しているのであるが、実行或いは実行の指示が無く休眠している状態）」となる。
【００６１】
この「不活性状態」のアプリケーションは、例えばユーザや他のアプリケーションからの実行指示があった場合、図５中「起動」或いは「待機起動」として示すように、上記「実行状態」或いは「実行待ち状態」のいずれかの状態に遷移する。
【００６２】
アプリケーションマネージャ２５は、この「不活性状態」のアプリケーションを「実行状態」に遷移させた場合は、上記実行リスト６１に、その実行状態としたアプリケーションを登録する。
【００６３】
また、アプリケーションマネージャ２５は、この「不活性状態」のアプリケーションを「実行待ち状態」に遷移させた場合は、上記実行待ちリスト６２に、その実行待ち状態としたアプリケーションを登録する。
【００６４】
次に、実行状態とされたアプリケーションは、その動作状況等に応じてその状態が遷移する。
【００６５】
一例ではあるが、上記アプリケーションが電話アプリケーションの場合、
通話先とのコネクションを確立するための処理を行う接続状態、
コネクションが確立された後に通話中の音声の処理等を行う通話状態、
通話中に該通話の保留が指定された場合に、通話の保留処理を行う保留状態、
通話の終了が指定された場合に、確立されているコネクションを切断処理する切断状態
等のように、通話の開始から終了までの間、アプリケーションの状態が変化する。
【００６６】
図５中の実行状態における第１〜第４の状態及び相互の矢印は、このような実行中のアプリケーションの状態の遷移を示している。
【００６７】
上記アプリケーションマネージャ２５は、「アプリケーションの起動要求を受け付けた際」，「実行中のアプリケーションの終了を検出した際」，「実行中のアプリケーションの状態遷移を検出した際」に、上記実行リスト６１及び上記実行待ちリスト６２に登録されているアプリケーションを参照し、各アプリケーションの「優先度」及び「状態」に応じて、例えば実行中のアプリケーションを待機状態とし、代わりに実行待ち状態のアプリケーションや新たに起動要求のなされたアプリケーションを実行状態し、或いは新たに起動要求のなされたアプリケーションは起動せずに起動待機状態とする等のように競合管理を行う。
【００６８】
なお、実行が終了したアプリケーションは、図５に「終了」として示すように前述の「不活性状態」に遷移する。また、「不活性状態」のアプリケーションは、削除されると、前述のように携帯電話機内に存在しない状態である「非存在状態」となる。
【００６９】
［アプリケーションマネージャの競合管理動作］
次に、このようなアプリケーションマネージャ２５の競合管理動作を、図６のフローチャートを用いて説明する。
【００７０】
この図６のフローチャートは、アプリケーションマネージャ２５が、「アプリケーションの起動要求を受け付けた際」，「実行中のアプリケーションの終了を検出した際」，「実行中のアプリケーションの状態の遷移を検出した際」にスタート（条件判定開始）となり、ステップＳ１から各ステップを実行する。
【００７１】
まず、ステップＳ１では、アプリケーションマネージャ２５が、「アプリケーションの起動要求」，「実行中のアプリケーションの終了」，「実行中のアプリケーションの状態の遷移」のいずれかを検出したため、図４に示すアプリケーションマネージャ２５のアプリケーション管理ブロック６４がアプリケーションリスト６３を参照する。
【００７２】
次に、ステップＳ２では、アプリケーション管理ブロック６４が、上記アプリケーションリスト６３の実行リスト６１に登録されているアプリケーションの有無を検出することで、現在、実行中のアプリケーションが存在するか否かを判別する。
【００７３】
アプリケーション管理ブロック６４は、上記実行リスト６１を参照し、現在、実行中のアプリケーションが存在しなかった場合（＝実行リスト６１にアプリケーションが登録されていなかった場合）、ステップＳ３において、起動要求のなされたアプリケーションを実行リスト６１に登録し、或いは実行待ちリスト６２に登録されている実行待ち状態のアプリケーションの中から実行状態に遷移させるアプリケーションを選択し、このアプリケーションを実行リスト６１に登録する。
【００７４】
このようにアプリケーション管理ブロック６４により、実行リスト６１に対して上記アプリケーションの登録が行われると、アプリケーション制御ブロック６５は、ステップＳ１０において、上記実行リスト６１に登録されたアプリケーションを実行状態に遷移させる。
【００７５】
これにより、起動要求のなされたアプリケーション、或いは実行待ちとなっていたアプリケーションが実行されることとなる。
【００７６】
次に、上記ステップＳ２において、実行リスト６１に一つ以上のアプリケーションの登録がされていた場合、アプリケーション管理ブロック６４は、図２に示す競合条件テーブル２６を参照する「競合チェック」を行う。
【００７７】
（競合条件テーブル）
この「競合チェック」に用いられる競合条件テーブル２６は、実行中のアプリケーションの一つ一つの状態を、競合する他のアプリケーションの一つ一つの状態にそれぞれ対応させたテーブルとなっており、この実行中のアプリケーションの状態と競合する他のアプリケーションの状態との競合関係において、実行中のアプリケーション及び競合する他のアプリケーションが遷移すべき状態を示したテーブルとなっている。
【００７８】
従って、当該実施の形態の携帯電話機に設けられているアプリケーションの総数を「Ｎ」、各アプリケーションが有する状態数を「Ｍ」とした場合、当該実施の形態の携帯電話機に設けられる競合条件テーブルの総数は、「競合条件テーブルの総数＝Ｎ×Ｍ」となる。
【００７９】
具体的には、例えば図７は、現在実行中のアプリケーションが電話アプリケーションである場合に参照される競合条件テーブル２６の一例を示している。
【００８０】
この図７中、第１〜第Ｎの状態（Ｎは自然数）は、前述の接続状態，通話状態，保留状態・・・の各状態を示している。また、図７中、「電話」，「待ち受け」・・・「メモ帳」は、状態が参照される各競合アプリケーションを示している。
【００８１】
また、この図７に示す「起動不可」，「割込側待機」，「動作側待機」，「動作側終了」の各状態は以下のことを意味している。
【００８２】
「起動不可」→起動要求のなされたアプリケーションは起動できないため、該起動要求をキャンセルする。
【００８３】
「割込側待機」→起動要求のなされたアプリケーションを実行待ち状態とし、現在実行しているアプリケーションを継続して実行する。
【００８４】
「動作側待機」→現在実行中のアプリケーションを終了することなく実行待ち状態とすると共に、起動要求のなされたアプリケーションの実行を開始する。
【００８５】
「動作側終了」→現在実行中のアプリケーションを終了して、起動要求のなされたアプリケーションの実行を開始する。
【００８６】
これら各状態は、
「起動不可」＞「割込側待機」＞「動作側待機」＞「動作側終了」
の順に優先度が割り当てられている。
【００８７】
アプリケーション管理ブロック６４は、実行中のアプリケーションの現在の状態、及び競合したアプリケーションの現在の状態に基づいて上記競合条件テーブルを参照して、実行中のアプリケーション及び競合したアプリケーションの遷移させるべき状態（上記起動不可，割込側待機，動作側待機，動作側終了等）をそれぞれ検出する。
【００８８】
そして、アプリケーション制御ブロック６５が、このアプリケーション管理ブロック６４により検出された上記実行中のアプリケーションの遷移させるべき状態及び競合したアプリケーションの遷移させるべき状態の上記優先度に基づいて、該実行中のアプリケーションの状態を上記検出された遷移させるべき状態に遷移させ、また、該競合したアプリケーションの状態を上記検出された遷移させるべき状態に遷移させる。
【００８９】
このような流れを、図６のフローチャートを用いて説明すると、アプリケーション管理ブロック６４は、ステップＳ５において、起動要求のなされたアプリケーション（割込側アプリケーション）の起動は不可であるか否かを、上記競合チェックにより判別する。
【００９０】
上記競合チェックにより、割込側アプリケーションの起動は不可であると判別した場合、割込側アプリケーションを起動することはできないため、アプリケーション管理ブロック６４は、ステップＳ１０において上記起動要求のなされたアプリケーションの該起動要求をキャンセルする。
【００９１】
これに対して、上記競合チェックにより、割込側アプリケーションの起動は可能であると判別した場合、アプリケーション管理ブロック６４は、この割込側アプリケーションの判別結果（アプリケーションＩＤ，アプリケーション名，タスクＩＤ，状態等）を一旦「仮リスト」に登録する。
【００９２】
なお、この「仮リスト」に登録された上記判別結果は、アプリケーションリスト６３に登録されている全てのアプリケーションに対して上記競合チェックが終了するまでの間、保持される。また、この仮リストは、上記メモリ１３の所定領域、或いはＣＰＵ１２内の一時記憶領域等に形成される。
【００９３】
アプリケーション管理ブロック６４は、アプリケーションリスト６３に登録されている全てのアプリケーションに対して上記競合チェックが終了すると、上記仮リストに登録されている各アプリケーションの遷移させるべき状態をそれぞれ検出する。そして、前述のように「起動不可」＞「割込側待機」＞「動作側待機」＞「動作側終了」となっている「状態の優先度」に基づいて、競合する各アプリケーションの遷移させるべき状態を決定し、この結果を上記アプリケーションリスト６３に反映する。
【００９４】
この結果、図８に示すように実行中の各アプリケーションの「アプリケーション識別番号（アプリケーションＩＤ）」，「アプリケーション名」，「タスク識別番号（タスクＩＤ）」，「状態」等からなる実行リスト６１、及び図９に示すように実行待ちの各アプリケーションの「アプリケーション識別番号（アプリケーションＩＤ）」，「アプリケーション名」，「タスク識別番号（タスクＩＤ）」，「状態」等からなる実行待ちリスト６２が、アプリケーションリスト６３内に形成されることとなる。
【００９５】
なお、この図８及び図９に示す「状態」としては、上記決定されたそのアプリケーションの「遷移させるべき状態」を示す情報が登録され、例えば電話アプリケーションの場合は、上記接続状態，通話状態，保留状態・・・等に対応する情報が登録される。
【００９６】
また、実行リスト６１及び実行待ちリスト６２に登録されるアプリケーションの数は、一つとは限らず、複数のアプリケーションが並行して実行され或いは実行待ちとなっている場合は、この複数のアプリケーションに対応する上記「アプリケーションＩＤ」や「アプリケーション名」等が登録される。
【００９７】
図６のフローチャートのステップＳ１，ステップＳ２及びステップＳ４〜ステップＳ９の流れは、アプリケーションリスト６３に登録されている全てのアプリケーションに対する競合チェックが終了するまでの間、競合チェックの結果を仮リストに登録する動作を繰り返し実行し、アプリケーションリスト６３に登録されている全てのアプリケーションに対する競合チェックが終了した際に、この仮リストの登録内容をアプリケーションリスト６３に反映する動作の流れを示している。
【００９８】
次に、このようにしてアプリケーションリスト６３に上記仮リストの結果が反映されると、アプリケーション制御ブロック６５は、ステップＳ１０において、アプリケーションリスト６３の実行リスト６１に登録されたアプリケーションを実行状態に遷移させると共に、実行待ちリスト６２に登録されたアプリケーションを実行待ち状態に遷移させる。
【００９９】
この後、アプリケーションマネージャ２５は、「アプリケーションの起動要求」，「実行中のアプリケーションの終了」，「実行中のアプリケーションの状態の遷移」の検出待ちの状態となる。そして、これらいずれかが検出されたタイミングで、再度、この図６に示すフローチャートを実行することとなる。
【０１００】
（電話アプリケーションが実行中の場合の競合管理）
このような動作を、図７の例を用いてさらに具体的に説明する。前述のように、この図７は、現在実行中のアプリケーションとして電話アプリケーションが実行されている場合に参照される競合条件テーブルの一例である。
【０１０１】
例えば、現在実行中の電話アプリケーションの状態が接続中（第１の状態）であるにもかかわらず、さらに電話アプリケーションの起動要求がなされた場合、競合条件テーブル２６を参照すると、電話アプリケーションを重ねて起動しないことが好ましいことから、図７に示すように「起動不可」となっている。
【０１０２】
このため、アプリケーション制御ブロック６５は、この場合、起動要求のあった電話アプリケーションの該要求をキャンセルし、現在実行中の電話アプリケーションを継続して実行制御する。
【０１０３】
これに対して、現在実行中の電話アプリケーションが接続中の状態（第１の状態）で、電子メール（Ｅメール）の作成要求（或いは送信要求）がなされた場合、競合条件テーブル２６を参照すると「割込側待機」となっている。このため、アプリケーション管理ブロック６４は、起動要求のなされたＥメールのアプリケーション（この場合、Ｅメールのアプリケーションは、割り込み側のアプリケーションとなる。）を上記実行待ちリスト６２に登録して実行待ち状態とする。
【０１０４】
同様に、現在実行中の電話アプリケーションが通話中の状態（第２の状態）で、動画プレーヤの起動要求がなされた場合、競合条件テーブル２６を参照すると「起動可能」となっている。このため、アプリケーション管理ブロック６４は、動画プレーヤのアプリケーションを上記実行リスト６１に登録する。これにより、アプリケーション制御ブロック６５は、上記現在実行中の電話アプリケーション、及び上記動画プレーヤのアプリケーションを並行して実行制御することとなる。
【０１０５】
同様に、現在実行中の電話アプリケーションが接続中の状態（第１の状態）で、アドレス帳の起動要求がなされた場合、競合条件テーブル２６を参照すると、「動作側待機」となっている。このため、アプリケーション管理ブロック６４は、実行リスト６１に登録されている現在実行中の電話アプリケーションを実行待ちリスト６２に登録し直すと共に、代わって実行リスト６１にアドレス帳のアプリケーションを新たに登録する。
【０１０６】
これにより、アプリケーション制御ブロック６５は、それまで実行していた電話アプリケーションを実行待ち状態に遷移させ、起動要求のなされたアドレス帳を起動して実行制御することとなる。
【０１０７】
なお、この具体例の説明では、アプリケーション管理ブロック６４は、競合条件テーブル２６を用いた検出結果に基づいて、アプリケーションリスト６３の登録内容を直接的に書き換えるが如く説明を行った。勿論、直接的に書き換えを行ってもよいのであるが、この実施の形態の場合は、上記「仮リスト」に判定結果を一旦記憶し、全てのアプリケーションの判定が終了したタイミングで、該仮リストの内容をアプリケーションリスト６３に反映させることは、前述のとおりである。
【０１０８】
（アドレス帳及び電話が競合した場合の競合管理）
次に、図１０及び図１１のシーケンス図（タイムチャート）を用いて、このような競合管理処理をさらに具体的に説明する。
【０１０９】
まず、図１０は、先にアドレス帳のアプリケーションが起動されており、後から電話アプリケーションの起動要求があった場合における競合管理処理の流れを示している。
【０１１０】
なお、このアドレス帳のアプリケーションは、メモリ１３の所定領域に設けられたアドレス帳の記憶領域に対して、通話先の携帯電話番号や携帯メールアドレス等の登録や削除等の編集を行うアプリケーションである。
【０１１１】
この図１０において、ステップＳ１１でアプリケーションランチャーからアプリケーションマネージャ２５に対して電話アプリケーションの起動要求があった場合、アプリケーションマネージャ２５のアプリケーション管理ブロック６４は、ステップＳ１２において、図７の例を用いて説明した競合条件テーブル２６を参照し、前述の「競合チェック」を行う。
【０１１２】
この競合チェックにより、アドレス帳のアプリケーションを実行待ち状態とし、電話アプリケーションを起動させる競合チェックの結果（＝動作側待機）が得られた場合、アプリケーション管理ブロック６４は、アプリケーション制御ブロック６５に対して、現在実行中のアドレス帳のアプリケーションの「待機要求」を送信する。
【０１１３】
この「待機要求」を受信すると、アプリケーション制御ブロック６５は、ステップＳ１３に示すように、現在実行制御しているアドレス帳のアプリケーションに待機要求を送信することで、該アドレス帳のアプリケーションを待機状態に制御する。
【０１１４】
アドレス帳のアプリケーションは待機状態となると、ステップＳ１４に示すように「待機完了」のデータを、アプリケーション制御ブロック６５を介してアプリケーション管理ブロック６４に送信する。
【０１１５】
次に、アプリケーション管理ブロック６４は、この「待機完了」のデータを受信すると、アプリケーション制御ブロック６５に対して電話アプリケーションの起動要求を送信する。この起動要求を受信すると、アプリケーション制御ブロック６５は、ステップＳ１５に示すように電話アプリケーションに対して起動要求を送信し、該電話アプリケーションを起動制御する。
【０１１６】
なお、起動が完了すると、ステップＳ１６に示すように電話アプリケーション側からアプリケーション管理ブロック６４に対して「起動完了通知」がなされる。
【０１１７】
次に、電話アプリケーションの実行が進行し、通話の終了等により電話アプリケーションの実行が終了すると、ステップＳ１７に示すように電話アプリケーション側からアプリケーション管理ブロック６４に対して「終了通知」がなされる。
【０１１８】
次に、この終了通知を受信すると、アプリケーション管理ブロック６４は、ステップＳ１８において、アプリケーションリスト６３に登録されている実行中のアプリケーション及び実行待ちのアプリケーションを参照し、前述の競合チェックを行う。そして、この競合チェックにより、先程、待機状態としたアドレス帳のアプリケーションを起動させてもよい場合に、アプリケーション制御ブロック６５に対してアドレス帳のアプリケーションの起動要求を送信する。
【０１１９】
アプリケーション制御ブロック６５は、この起動要求を受信すると、ステップＳ１９に示すように先程、待機状態としたアドレス帳のアプリケーションを再実行制御する。この再実行制御によりアドレス帳のアプリケーションが再び実行状態に遷移すると、このアドレス帳のアプリケーションからアプリケーション管理ブロック６４に対して「起動完了通知」がなされる。
【０１２０】
これにより、アドレス帳の編集作業等に割り込むかたちで電話アプリケーションが実行され、終話後に、再度、アドレス帳のアプリケーションが実行され、アドレス帳の編集作業等が行われることとなる。
【０１２１】
（Ｅメール及び電話が競合した場合の競合管理）
次に、図１１は、先に電話アプリケーションが起動されており、後からＥメールのアプリケーションの起動要求があった場合における競合管理処理の流れを示している。
【０１２２】
なお、このＥメールのアプリケーションは、携帯メールの送受信，送受信した携帯メールの削除等の編集や携帯メールの作成等を行うアプリケーションである。
【０１２３】
この図１１において、ステップＳ２１でアプリケーションランチャーからアプリケーションマネージャ２５に対してＥメールのアプリケーションの起動要求があった場合、アプリケーションマネージャ２５のアプリケーション管理ブロック６４は、ステップＳ２２において、上記競合条件テーブル２６を参照し、前述の「競合チェック」を行う。
【０１２４】
この競合チェックにより、起動要求のなされたＥメールのアプリケーションを実行待ち状態とし、電話アプリケーションを継続して実行する競合チェックの結果（＝割込側待機）が得られた場合、アプリケーション管理ブロック６４は、アプリケーション制御ブロック６５に対して、起動要求のなされたＥメールのアプリケーションの「待機要求」を送信する。
【０１２５】
アプリケーション制御ブロック６５は、この「待機要求」を受信すると、ステップＳ２３において、起動要求のなされたＥメールのアプリケーションを待機状態に制御すると共に、現在実行制御している電話アプリケーションを継続して実行制御する。
【０１２６】
次に、電話アプリケーションの実行が進行し、通話の終了等により電話アプリケーションの実行が終了すると、ステップＳ２４に示すように電話アプリケーション側からアプリケーション管理ブロック６４に対して「終了通知」がなされる。
【０１２７】
この終了通知を受信すると、アプリケーション管理ブロック６４は、ステップＳ２５において、アプリケーションリスト６３に登録されている実行中のアプリケーション及び実行待ちのアプリケーションを参照し、前述の競合チェックを行う。そして、この競合チェックにより、先程、待機状態としたＥメールのアプリケーションを起動させてもよい場合に、アプリケーション制御ブロック６５に対してＥメールのアプリケーションの起動要求を送信する。
【０１２８】
アプリケーション制御ブロック６５は、この起動要求を受信すると、ステップＳ２６に示すように先程、待機状態としたＥメールのアプリケーションを起動制御する。これにより、終話後に、Ｅメールの送受信や作成等が行われることとなる。
【０１２９】
なお、ステップＳ２７に示すように、Ｅメールのアプリケーションの起動が完了すると、該Ｅメールのアプリケーションからアプリケーション管理ブロック６４に対して「起動完了通知」がなされる。
【０１３０】
［実施の形態の効果］
以上の説明から明らかなように、当該実施の形態の携帯電話機は、アプリケーションマネージャ２５が、現在実行中のアプリケーションを、アプリケーションリスト６３の実行リスト６１に登録し、実行待ちとなっているアプリケーションを実行待ちリスト６２に登録する。
【０１３１】
そして、「アプリケーションの起動要求を受け付けた際」，「実行中のアプリケーションの終了を検出した際」，「実行中のアプリケーションの状態遷移を検出した際」等に、実行リスト６１及び実行待ちリスト６２を参照して、実行するアプリケーション及び実行待ちさせるアプリケーションを決定して、マルチタスク処理における各アプリケーションの競合管理を行う。これにより、以下の効果を得ることができる。
【０１３２】
実行中のアプリケーションの現在の状態の他、実行待ちとなっているアプリケーションの状態を参照し、実行中のアプリケーション及び実行待ちのアプリケーションを総合的に判断して、実行するアプリケーション及び実行待ちとするアプリケーションを決定するようになっている。
【０１３３】
このため、実行待ちとなっているアプリケーションの実行の再開を保証することができる。
【０１３４】
また、従来のアプリケーションの競合管理は、例えば表計算ソフトウェアの実行中にユーザから文書作成ソフトウェアの実行指示があった場合、この実行指示を優先して文書作成ソフトウェアの立ち上げを行うようになっている。
【０１３５】
しかし、当該実施の形態の携帯電話機の場合、実行中のアプリケーション及び実行待ちのアプリケーションを総合的に判断して、実行するアプリケーション及び実行待ちとするアプリケーションを決定するようになっているため、ユーザから実行指示がなされた場合でも、表計算ソフトウェアが所定の実行状態の場合は、文書作成ソフトウェアが起動しないようにすることができる。従って、より細かなアプリケーションの競合管理を可能とすることができる。
【０１３６】
また、実行するアプリケーション及び実行待ちとするアプリケーションは、アプリケーションマネージャ２５が、アプリケーションリスト６３及び競合条件テーブル２６を参照して決定するようになっている。すなわち、そのアプリケーションの実行の是非は、アプリケーションマネージャ２５が判断するようになっている。
【０１３７】
このため、アプリケーションをプログラミングする際に、他のアプリケーションとの競合関係を考慮することなくプログラミングを行うことを可能とすることができる。
【０１３８】
さらに、このように他のアプリケーションとの競合関係を考慮することなくプログラミングを行うことを可能とすることができるため、あるアプリケーションに仕様変更が生じた場合は、そのアプリケーションに対してのみ、仕様変更を加えればよいこととなる。
【０１３９】
このため、あるアプリケーションに仕様変更が生じた場合に、他の全てのアプリケーションに対しても、この仕様変更に対応した仕様変更を加え、多数のアプリケーションの再プログラミング作業や再インストール作業（アプリケーションの設計及び実装の変更作業）等の大変面倒な作業が必要となる不都合を防止することができる。
【０１４０】
そして、当該実施の形態の携帯電話機は、このようにアプリケーションのプログラミングを行う際に、他のアプリケーションの競合関係を考慮しなくてもよいため、ソフトウェアの開発を大幅に簡単化することができる。
【０１４１】
〔他の適用分野〕
上述の実施の形態の説明では、本発明を、携帯電話機に適用することとしたが、本発明はこの他、ＰＨＳ電話機（ＰＨＳ：Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）やＰＤＡ装置（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ（Ｄａｔａ）  Ａｓｓｉｓｔａｎｔ）等の移動体通信端末装置の他、パーソナルコンピュータ装置等の端末装置に適用してもよい。
【０１４２】
また、上述の実施の形態の説明では、アプリケーションの競合管理を行うようにしたが、これは、タスク毎の競合管理を行うようにしてもよい。
【０１４３】
最後に、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施の形態に限定されることはなく、該実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論であることを付け加えておく。
【０１４４】
【発明の効果】
本発明は、実行待ちとなっているタスクの実行の再開を保証することができる。
【０１４５】
また、タスクのプログラミングを行う際に、他のタスクとの競合関係を考慮することなくプログラミングを行うことを可能とすることができる。
【０１４６】
また、他のタスクとの競合関係を考慮することなくプログラミングが可能となるため、あるタスクに仕様変更が生じた場合は、そのタスクに対してのみ、仕様変更を加えればよいこととなる。
【０１４７】
このため、あるタスクに仕様変更が生じた場合に、他の全てのタスクに対して、この仕様変更に対応した仕様変更を加える必要が生じ、多数のタスクの再プログラミング作業や再インストール作業（タスクの設計及び実装の変更作業）等の大変面倒な作業が発生する不都合を防止することができる。
【０１４８】
そして、このようにタスクのプログラミングを行う際に、他のタスクの競合関係を考慮しなくてもよいため、ソフトウェアの開発を大幅に簡単化することができる。
【図面の簡単な説明】
【図１】本発明を適用した実施の形態となる携帯電話機の全体的なブロック図である。
【図２】実施の形態の携帯電話機の主要部の機能ブロック図である。
【図３】実施の形態の携帯電話機で実行される各アプリケーションの機能ブロック図である。
【図４】実施の形態の携帯電話機に設けられているアプリケーションマネージャの機能ブロック図である。
【図５】各アプリケーションの状態遷移を説明するための模式図である。
【図６】実施の形態の携帯電話機に設けられているアプリケーションマネージャのアプリケーションの競合管理動作を説明するためのフローチャートである。
【図７】実施の形態の携帯電話機に設けられている競合条件テーブルの一例を示す図である。
【図８】アプリケーションマネージャのアプリケーションリストに設けられている実行リストを示す図である。
【図９】アプリケーションマネージャのアプリケーションリストに設けられている実行待ちリストを示す図である。
【図１０】アドレス帳のアプリケーションの実行中に、電話アプリケーションの実行要求があった場合におけるアプリケーションマネージャの競合管理動作を説明するためのタイムチャートである。
【図１１】電話アプリケーションの実行中に、Ｅメールのアプリケーションの実行要求があった場合におけるアプリケーションマネージャの競合管理動作を説明するためのタイムチャートである。
【符号の説明】
１２…制御部（ＣＰＵ）、２１…ハードウェア群、２２…ドライバ群、２３…オペレーションシステム（ＯＳ）、２４…アプリケーション群、２５…アプリケーションマネージャ、２６…競合条件テーブル、６０…コミュニケーションブロック、６１…実行リスト、６２…実行待ちリスト、６３…アプリケーションリスト、６４…アプリケーション管理ブロック、６５…アプリケーション制御ブロック
【図１】
2005005909.tif 000003
【図２】
2005005909.tif 000004
【図３】
2005005909.tif 000005
【図４】
2005005909.tif 000006
【図５】
2005005909.tif 000007
【図６】
2005005909.tif 000008
【図７】
2005005909.tif 000009
【図８】
2005005909.tif 000010
【図９】
2005005909.tif 000011
【図１０】
2005005909.tif 000012
【図１１】
2005005909.tif 000013