(57)【要約】【課題】アプリケーションプログラムの起動中に、他のタスクを起動させるイベントが発生しても、アプリケーションプログラムの処理において競合を発生させず、アプリケーションプログラムを正常に動作させることを可能とする携帯電話端末を提供する。【解決手段】制御部２は、ビジー管理テーブル１４を備えており、アプリケーション管理部３０は、アプリケーションプログラム４０が起動されるときに、起動される当該アプリケーションプログラムが、連続処理対象アプリケーションプログラムである場合には、ビジー管理テーブル１４にフラグを記録する。タスク制御部１１は、割り込み管理テーブル１２から受信イベント情報を読み出す場合に、ビジー管理テーブル１４を参照し、フラグが記憶されている場合には、受信イベント情報に対応するタスクではなく、ＯＳタスク２１を起動する。【選択図】    図１
2006155225.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムの実行を制御するアプリケーション管理タスクを含む複数のタスクと、
前記複数のタスクに対応するイベントを受信するイベント受信部と、
前記イベント受信部により受信したイベントを、当該イベントに対応するタスクに関連付けて受信イベント情報として記録する割り込み管理テーブルと、
前記受信イベント情報に対応するタスクを起動するタスク制御部と、
前記アプリケーション管理タスクの制御により起動するアプリケーションプログラムが連続起動を伴う連続起動対象アプリケーションプログラムである場合に連続起動情報を記録し、当該連続起動対象アプリケーションプログラムの連続処理終了にて前記連続起動情報が削除される連続起動管理テーブルと、を有し、
前記タスク制御部は、前記割り込み管理テーブルから受信イベント情報を読み出す際には前記連続起動管理テーブルを参照し、前記連続起動管理情報が記録される場合には前記受信イベントに対応するタスクではなく、前記アプリケーション管理タスクを起動することを特徴とする携帯電話端末。
【請求項２】
前記連続起動対象アプリケーションプログラムは、中断可能に複数の動作処理により構成され、
前記タスク制御部は、前記動作処理が中断されるごとに前記割り込み管理テーブルから受信イベント情報を読み出すことを特徴とする請求項１に記載の携帯電話端末。
【請求項３】
アプリケーションプログラムの実行を制御するアプリケーション管理タスクを含む複数のタスクと、前記複数のタスクに対応するイベントを受信するイベント受信部と、前記イベント受信部により受信したイベントを、当該イベントに対応するタスクに関連付けて受信イベント情報として記録する割り込み管理テーブルと、前記受信イベント情報に対応するタスクを起動するタスク制御部と、連続起動管理テーブルと、を備えた携帯電話端末におけるタスク管理方法であって、
前記アプリケーション管理タスクの制御により起動するアプリケーションプログラムが連続起動を伴う連続起動対象アプリケーションプログラムである場合に前記連続起動管理テーブルに連続起動情報を記録する工程と、
前記連続起動対象アプリケーションプログラムの連続処理終了にて前記連続起動管理テーブルから前記連続起動情報を削除する工程と、
前記タスク制御部が前記割り込み管理テーブルから受信イベント情報を読み出す際に、前記連続起動管理テーブルを参照し、前記連続起動管理情報が記録される場合には前記受信イベントに対応するタスクではなく、前記アプリケーション管理タスクを起動する工程と、
を有することを特徴とするタスク管理方法。
【請求項４】
アプリケーションプログラムの実行を制御するアプリケーション管理タスクを含む複数のタスクと、前記複数のタスクに対応するイベントを受信するイベント受信部と、前記イベント受信部により受信したイベントを、当該イベントに対応するタスクに関連付けて受信イベント情報として記録する割り込み管理テーブルと、前記受信イベント情報に対応するタスクを起動するタスク制御部と、連続起動管理テーブルと、を備えた携帯電話端末のコンピュータに、
前記アプリケーション管理タスクの制御により起動するアプリケーションプログラムが連続起動を伴う連続起動対象アプリケーションプログラムである場合に前記連続起動管理テーブルに連続起動情報を記録する手順と、
前記連続起動対象アプリケーションプログラムの連続処理終了にて前記連続起動管理テーブルから前記連続起動情報を削除する手順と、
前記タスク制御部が前記割り込み管理テーブルから受信イベント情報を読み出す際に、前記連続起動管理テーブルを参照し、前記連続起動管理情報が記録される場合には前記受信イベントに対応するタスクではなく、前記アプリケーション管理タスクを起動する手順と、
を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のプログラムの実行を制御する携帯電話端末及びタスク管理方法並びにそのコンピュータプログラムに関する。
【背景技術】
【０００２】
従来の技術では、シングルタスクオペレーティングシステムにおいて、マルチタスク的な動きをさせるために、ＯＳ（オペレーティングシステム）のメモリ上で動作しているアプリケーションプログラムについてのスレッド履歴を記憶しておく。そして、次に動作を要求するアプリケーションプログラムがあるか否かをオペレーティングシステムにてタイマー等により監視する。次に動作を要求するアプリケーションプログラムがある場合には、アプリケーションプログラムのスレッド履歴に当該アプリケーションプログラムを追加し、当該アプリケーションプログラムにオペレーティングシステムが制御を切り替える。そして、元に使用していたアプリケーションプログラムを再び操作するために切り替えるときは、蓄積されたスレッド履歴において最先に蓄積されたものから順に読み出して１つずつ処理を切り替える形にして実現していた（例えば、特許文献１）。
【０００３】
特許文献１に示す技術は、処理能力的に携帯電話端末よりも余裕があり、かつ、着信のような突発的割り込み制御の発生率が低いパーソナルコンピュータ上での制御例である。
携帯電話端末における従来技術では、複数のアプリケーションプログラムの起動指示がタイマー等から指定されたとしても、１つずつの処理が完了しない限りは、次のアプリケーションプログラムの処理に入ることができなかった。さらに、元のアプリケーションプログラムの状態を複数保持しておくこともできなかった。そのため、従来技術である特許文献２に示す携帯端末では、着信等の事象発生時にアプリケーションプログラムの種別または状態によって個別に監視して制御を行っている。
【特許文献１】特開平６−４４０８４号公報
【特許文献２】特開２００３−３１９０２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そこで、携帯電話端末では、特許文献１及び２に示されている技術とは異なり実装可能なメモリ容量が少ないため、あるアプリケーションプログラムが起動中の場合に、他のアプリケーションプログラムを起動させる場合には、オペレーティングシステム上で起動中のアプリケーションプログラムを終了させるとともに復帰させるための情報を記憶しておく。そして、他のアプリケーションプログラムが終了した場合には、復帰させるための情報に基づいて先に起動されていたアプリケーションプログラムを復帰させることでマルチタスク的な処理を実現している。
【０００５】
ところで、携帯電話端末には、アプリケーションプログラムの制御を管理するオペレーティングシステムのタスク（以下、アプリケーション管理タスク）の他に、電話の着信を受信して通話を制御するタスクや、電源のオン及びオフを検出して携帯電話端末の起動と停止を制御するタスクなどが存在する。そのため、複数のタスクの制御を管理するタスク管理機能が割り込み処理を行うことによって、電源がオフにされた場合には、他の処理が行われていても停止することが可能となっている。
【０００６】
しかしながら、アプリケーションプログラムは１つのアプリケーションプログラムでＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を占有させないマルチタスク的な処理を実現するために、複数の処理工程、即ちスレッドに分けられており、１つのスレッドが終了するごとにオペレーティングシステムへ制御を戻す処理を行っている。オペレーティングシステムに制御が戻されたとき、タスク管理機能による割り込み処理のためにオペレーティングシステムタスク以外の他のタスクが起動される場合がある。このような場合に、起動された他のタスクから状態を保存して停止している当該アプリケーションプログラムに指示情報が送信されるとアプリケーションプログラムの処理において競合が発生してしまうという問題がある。
【０００７】
本発明は、上記問題を解決すべくなされたもので、その目的は、アプリケーションプログラムの起動中に、アプリケーション管理タスク以外の他のタスクを起動させるイベントが発生しても、アプリケーションプログラムの処理において競合を発生させず、アプリケーションプログラムを正常に動作させることを可能とする携帯電話端末及びタスク管理方法並びにそのコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明は、アプリケーションプログラムの実行を制御するアプリケーション管理タスクを含む複数のタスクと、前記複数のタスクに対応するイベントを受信するイベント受信部と、前記イベント受信部により受信したイベントを、当該イベントに対応するタスクに関連付けて受信イベント情報として記録する割り込み管理テーブルと、前記受信イベント情報に対応するタスクを起動するタスク制御部と、前記アプリケーション管理タスクの制御により起動するアプリケーションプログラムが連続起動を伴う連続起動対象アプリケーションプログラムである場合に連続起動情報を記録し、当該連続起動対象アプリケーションプログラムの連続処理終了にて前記連続起動情報が削除される連続起動管理テーブルと、を有し、前記タスク制御部は、前記割り込み管理テーブルから受信イベント情報を読み出す際には前記連続起動管理テーブルを参照し、前記連続起動管理情報が記録される場合には前記受信イベントに対応するタスクではなく、前記アプリケーション管理タスクを起動することを特徴とする携帯電話端末である。
【０００９】
さらに、本発明は、上記に記載の発明において、前記連続起動対象アプリケーションプログラムは、中断可能に複数の動作処理により構成され、前記タスク制御部は、前記動作処理が中断されるごとに前記割り込み管理テーブルから受信イベント情報を読み出すことが好ましい。
【００１０】
本発明は、アプリケーションプログラムの実行を制御するアプリケーション管理タスクを含む複数のタスクと、前記複数のタスクに対応するイベントを受信するイベント受信部と、前記イベント受信部により受信したイベントを、当該イベントに対応するタスクに関連付けて受信イベント情報として記録する割り込み管理テーブルと、前記受信イベント情報に対応するタスクを起動するタスク制御部と、連続起動管理テーブルと、を備えた携帯電話端末におけるタスク管理方法であって、前記アプリケーション管理タスクの制御により起動するアプリケーションプログラムが連続起動を伴う連続起動対象アプリケーションプログラムである場合に前記連続起動管理テーブルに連続起動情報を記録する工程と、前記連続起動対象アプリケーションプログラムの連続処理終了にて前記連続起動管理テーブルから前記連続起動情報を削除する工程と、前記タスク制御部が前記割り込み管理テーブルから受信イベント情報を読み出す際に、前記連続起動管理テーブルを参照し、前記連続起動管理情報が記録される場合には前記受信イベントに対応するタスクではなく、前記アプリケーション管理タスクを起動する工程と、を有することを特徴とするタスク管理方法である。
【００１１】
本発明は、アプリケーションプログラムの実行を制御するアプリケーション管理タスクを含む複数のタスクと、前記複数のタスクに対応するイベントを受信するイベント受信部と、前記イベント受信部により受信したイベントを、当該イベントに対応するタスクに関連付けて受信イベント情報として記録する割り込み管理テーブルと、前記受信イベント情報に対応するタスクを起動するタスク制御部と、連続起動管理テーブルと、を備えた携帯電話端末のコンピュータに、前記アプリケーション管理タスクの制御により起動するアプリケーションプログラムが連続起動を伴う連続起動対象アプリケーションプログラムである場合に前記連続起動管理テーブルに連続起動情報を記録する手順と、前記連続起動対象アプリケーションプログラムの連続処理終了にて前記連続起動管理テーブルから前記連続起動情報を削除する手順と、前記タスク制御部が前記割り込み管理テーブルから受信イベント情報を読み出す際に、前記連続起動管理テーブルを参照し、前記連続起動管理情報が記録される場合には前記受信イベントに対応するタスクではなく、前記アプリケーション管理タスクを起動する手順と、を実行させることを特徴とするコンピュータプログラムである。
【発明の効果】
【００１２】
この発明によれば、アプリケーションプログラムの起動中に、アプリケーション管理タスク以外の他のタスクを起動させるイベントが発生しても、アプリケーションプログラムの処理において競合を発生させず、アプリケーションプログラムを正常に動作させることを可能とする携帯電話端末を得ることができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施形態による携帯電話端末を図面を参照して説明する。
図１は、本実施形態による携帯電話端末１を示した概略ブロック図である。
図１において携帯電話端末１は、無線により公衆通信網に接続する無線通信部５０や、液晶画面を備えた表示部５１や、ユーザの入力を受けるキー操作部５２や、音声を入出力する音声処理部５３を携帯電話としての基本的な機能として備えている。
また、携帯電話端末１は、アプリケーションプログラムの起動、一時停止、終了などを制御する制御部２を備えている。
【００１４】
制御部２は、タスク管理部１０と、複数のタスク２０と、アプリケーション管理部３０と、複数のアプリケーションプログラム４０とから構成されている。制御部２において、タスク管理部１０は、タスクの起動を制御し、例えば、非同期に通知される電源を停止するイベント等を受信したときは、他の処理が行われていても割り込み処理によって携帯電話端末を停止させる。タスク管理部１０において、イベント受信部１３は、複数のタスク２０に対応付けられたイベントを受信し、複数のタスク２０ごとに割り当てられた割り込み管理テーブルにフラグを設定する。例えば、イベントとしては、電話着信イベント、電話切断イベント、電源オン及びオフのイベントの他、アプリケーションプログラムが他のアプリケーションプログラムを起動するためのイベント等も存在する。
【００１５】
ビジー設定受信部１５は、アプリケーション管理部３０からビジー状態設定指示を受信してビジー管理テーブル１４にフラグを記録し、また、ビジー解除指示を受信してビジー管理テーブル１４のフラグを削除する。
【００１６】
なお、上述した連続起動管理テーブルとしてビジー管理テーブル１４が該当し、同じく上述した連続起動情報としてフラグとして設定される情報が該当する。
【００１７】
タスク制御部１１は、割り込み管理テーブル１２を参照して、フラグが設定されている箇所に対応するタスク２０を選択して起動する。また、対応するタスク２０を起動した後に、当該フラグを削除する。
【００１８】
タスク２０は、例えば、ＯＳ（オペレーティングシステム）タスク２１、通話管理タスク２２、電源管理タスク２３などから構成されている。ＯＳタスクは、主にアプリケーションプログラム４０を動作させるためのタスクである。通話管理タスク２２は、無線通信部５０を介して受信される電話着信や切断のイベントに対応して起動されるタスクである。電源管理タスク２３は、キー操作部５２による電源のオン、オフのイベントに対応して起動されるタスクである。
【００１９】
ここで、タスク２０とはアプリケーションプログラム４０や音声処理部５３などに対し、動作開始や終了、および各種変化を命令する処理系列のことであって、ゲームプログラムの起動・演算・終了など様々存在する。タスク２０には、連続起動タスクと、連続起動でないタスク（以下、非連続起動タスク）が存在する。連続起動タスクとは、中断可能なタスクであって、一瞬だけでも手を離すことの出来る処理を行うタスクであり、具体的には着信制御タスクなどがある。着信制御タスクの処理としては、着信発生すると、発信者の番号抽出、発信者番号の記録、発信者番号による着信音の選出（鳴り分け）、着信音の停止など、処理が切り分かれているものであり、切り分けられた処理のそれぞれの間であれば一瞬であれば手を離すことが出来る。例えば、音声処理部５３に着信音鳴動を命令してからは音声処理部５３は鳴動を開始し、次の命令（鳴動停止など）が生じるまでは音声処理部５３は鳴動を継続できるので手を離せる。ただし、次の命令を監視するためにすぐに監視状態にならねばならない。非連続起動タスクとは、逆に手を離すことの出来ないタスクであり、具体的にはゲーム用のタスクなどが有る。これは常に演算を行っておらねばならず、非連続起動タスクと言える。ただし、プログラムの組み方によっては手を離せる瞬間を作ることも可能である。
【００２０】
アプリケーション管理部３０は、ＯＳタスク２１との間で情報の送受信を行い、受信した情報に基づいて対応するアプリケーションプログラム４０を起動、一時停止または終了させる制御を行う。また、アプリケーションプログラムがＯＳタスク２１以外のタスクが割り込み処理によって起動されることにより競合が発生するか否かを予め設定されている競合条件情報に基づいて判定する。また、ビジー設定受信部１５にビジー状態設定指示、ビジー状態削除指示を送信し、ビジー管理テーブル１４にフラグを記録あるいは削除させる。
【００２１】
アプリケーションプログラム４０は、例えば、無線通信部５０を介して電話着信が受信された場合にユーザによるキー操作部５２の操作によって起動して着信し、音声処理部５３を介しての通話、呼の保留あるいは切断などの処理を行い、また通話時間の測定などを行って通話時間などを表示部５１へ表示する電話処理のアプリケーションプログラムや、ユーザによるキー操作部５２の操作によって電話帳を表示部５１に表示する電話帳プログラムや、予め設定された時刻に音声処理部５３を介してアラームを鳴動するアラームプログラムなどが存在する。
【００２２】
なお、上述したアプリケーション管理タスクは、アプリケーション管理部３０とＯＳ２１に該当する。
【００２３】
図２は、割り込み管理テーブル１２のデータ構成を示した図である。図２に示すように、タスク２０ごとに記録される項目が存在しており、項目には、フラグとイベントデータから構成されている。フラグの項目には、イベント受信部１３がイベントを受信し、イベントに該当するタスクを検出したときに、検出したタスクに対応する箇所に、フラグを設定、具体的には「１」を記録し、イベントデータに、受信したイベントに含まれるデータが記録される。また、タスク制御部１１が、割り込み管理テーブル１２を参照し、フラグの項目に「１」が記録されているタスクを検出し、検出したタスクに対応するイベントデータの項目に記憶されているデータを読み出し、検出したタスクを当該データに基づいて起動する。起動後には、タスク制御部１１によって当該フラグとイベントデータの項目に記憶されている情報が削除される（図中に示す「−」が削除された状態を示す）。
【００２４】
図３は、アプリケーションプログラムの制御処理において発生する競合処理を説明するためのシーケンス図である。最初に、タスク管理部１０のイベント受信部１３が、電話の着信イベントを受信する。イベント受信部１３は、着信イベントを通話管理タスクに対応するイベントであると判定し、割り込み管理テーブル１２の通話管理タスク２２に対応するフラグの項目に「１」を記録し、無線通信部５０より受信した着信イベントに含まれるデータをイベントデータの項目に記録する（ステップＳａ１）。次に、タスク制御部１１は、割り込み管理テーブル１２を参照し、フラグが設定されている通話管理タスクのイベントデータから、着信イベントに含まれていたデータを読み出し、当該データに基づいて通話管理タスク２２を起動する。そして、通話管理タスク２２に対応するフラグとイベントデータとの項目に記憶されている情報を削除する（ステップＳａ２）。
【００２５】
通話管理タスク２２は、受信したイベントが着信イベントであるため、ＯＳタスク２１に通話処理を実行するアプリケーションプログラムＡを起動させる指示情報を送信する（ステップＳａ３）。指示情報を受信したＯＳタスク２１は、アプリケーション管理部３０に通話処理を実行するアプリケーションプログラムＡを起動させる起動指示を送信する（ステップＳａ４）。起動指示を受信したアプリケーション管理部３０は、アプリケーションプログラムＡを内部の記憶領域、例えば不揮発性ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）あるいはＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）から読み出し、アプリケーションプログラムＡを起動する（ステップＳａ５）。そして、アプリケーションプログラムＡは着信処理中となる（ステップＳａ６）。
【００２６】
無線通信部５０において電話着信が発生し、着信イベントが受信され、アプリケーションプログラムＡが着信処理を行っている間に、偶然にもユーザによるキー操作部５２の終話キー押下操作が発生し、タスク管理部１０のイベント受信部１３が切断イベントを受信すると、イベント受信部１３によって割り込み管理テーブル１２の通話管理タスクのフラグの項目に「１」が記録され、切断イベントに含まれる情報がイベントデータに記録される（ステップＳａ７）。
【００２７】
アプリケーションプログラムＡが実行する着信処理は、発信者電話番号の抽出、着信履歴保存、音声処理部５３への着信音の指定、鳴動、表示部５１への着信表示指定などの幾つかの処理工程から構成されており、１つの処理工程が終了すると、処理を中断し、処理工程の状態を保持して状態通知をアプリケーション管理部３０に送信する（ステップＳａ８）。状態通知を受信したアプリケーション管理部３０は、状態通知に含まれる状態情報をＯＳタスク２１に送信する（ステップＳａ９）。
【００２８】
状態情報を受信したＯＳタスク２１は、アプリケーションプログラムＡに、中断した処理工程に続く次の処理工程を実行させるため、再度ＯＳタスク２１を起動する必要があり、割り込み管理テーブル１２のＯＳタスクのフラグの項目に「１」を記録する。そして、タスク制御部１１にＯＳタスク２１の処理の終了を通知する。このように、アプリケーションプログラムの処理工程ごとにＯＳタスク２１を終了させるのは、１つのタスクの処理に、携帯電話端末１に備えられているＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を占有せず、例えば、電話着信等のすぐに応答しなければならない他のタスクが割り込みによって起動できるようにするためである（ステップＳａ１０）。
【００２９】
ＯＳタスク２１から処理終了通知を受信したタスク制御部１１は、割り込み管理テーブル１２を参照する。このとき、割り込み管理テーブル１２にはＯＳタスク２１に対応するフラグの項目と、受信した切断イベントに対応する通話管理タスクのフラグの項目に「１」が記憶されている。タスク制御部１１は、先にフラグが設定されたタスクから起動する。つまり、ここでは、ＯＳタスク２１より先にフラグが設定されていた切断イベントに基づく通話管理タスクが先に起動される（ステップＳａ１１）。
【００３０】
タスク制御部１１から切断イベントに含まれる情報に基づいて起動された通話管理タスクは、ＯＳタスク２１に通話を切断させる指示情報を送信する（ステップＳａ１２）。指示情報を受信したＯＳタスク２１は、アプリケーション管理部３０に切断指示を送信する（ステップＳａ１３）。切断指示を受信したアプリケーション管理部３０は、切断指示に対応するアプリケーションプログラムＡに、切断通知を送信する（ステップＳａ１４）。切断通知を受信したアプリケーションプログラムＡは、このとき着信処理の途中であるため、着信処理の途中で、切断通知を受信することは想定されておらず、アプリケーションプログラムＡの処理において競合が発生し、正常に着信できないかあるいは正常に切断することができない事態が発生する。
【００３１】
図４は、本実施形態におけるビジー状態を利用したアプリケーションプログラムの制御処理を示したシーケンス図である。最初に、タスク管理部１０のイベント受信部１３が、電話の着信イベントを受信する。イベント受信部１３は、着信イベントを通話管理タスクに対応するイベントであると判定し、割り込み管理テーブル１２の通話管理タスク２２に対応するフラグの項目に「１」を記録し、受信した着信イベントに含まれるデータをイベントデータの項目に記録する（ステップＳｂ１）。次に、タスク制御部１１は、割り込み管理テーブル１２を参照し、フラグの項目に「１」が記憶されている通話管理タスクのイベントデータから、着信イベントに含まれていたデータを読み出し、当該データに基づいて通話管理タスク２２を起動する。そして、通話管理タスク２２に対応するフラグとイベントデータとの項目に記憶されている情報を削除する（ステップＳｂ２）。
【００３２】
通話管理タスク２２は、受信したイベントが着信イベントであるため、ＯＳタスク２１に通話処理を実行するアプリケーションプログラムＡを起動させる指示情報を送信する（ステップＳｂ３）。指示情報を受信したＯＳタスク２１は、アプリケーション管理部３０にアプリケーションプログラムＡを起動させる起動指示を送信する（ステップＳｂ４）。
【００３３】
起動指示を受信したアプリケーション管理部３０は、起動指示に対応するアプリケーションプログラムＡがビジー状態を必要とする連続起動対象のアプリケーションプログラムであることを予め内部の記憶領域にアプリケーションプログラムごとに設定されている競合条件情報から判定し、ビジー状態設定指示をビジー設定受信部１５に送信する。ビジー状態設定指示を受信したビジー設定受信部１５は、ビジー管理テーブルにフラグとして「１」を記録する（ステップＳｂ５）。そして、アプリケーション管理部３０は、アプリケーションプログラムＡをメモリにロードして、アプリケーションプログラムＡを起動する（ステップＳｂ６）。そして、アプリケーションプログラムＡは着信処理中となる（ステップＳｂ７）。
【００３４】
無線通信部５０において電話着信が発生し、着信イベントが受信され、アプリケーションプログラムＡが着信処理を行っている間に、タスク管理部１０のイベント受信部１３が先の例のように切断イベントを受信すると、イベント受信部１３によって割り込み管理テーブル１２の通話管理タスクのフラグの項目に「１」が記録され、切断イベントに含まれる情報がイベントデータに記録される（ステップＳｂ８）。
【００３５】
アプリケーションプログラムＡが実行する着信処理は、先の例同様幾つかの処理工程から構成されており、１つの処理工程が終了すると、処理を中断し、処理工程の状態を保持して状態通知をアプリケーション管理部３０に送信する（ステップＳｂ９）。状態通知を受信したアプリケーション管理部３０は、状態通知に含まれる状態情報をＯＳタスク２１に送信する（ステップＳｂ１０）。
【００３６】
状態情報を受信したＯＳタスク２１は、アプリケーションプログラムＡに、中断した処理工程に続く次の処理工程を実行させるため、再度ＯＳタスク２１を起動する必要があり、割り込み管理テーブル１２のＯＳタスクのフラグの項目に「１」を記録する。そして、タスク制御部１１に処理の終了を通知する（ステップＳｂ１１）。
【００３７】
ＯＳタスク２１から処理終了通知を受信したタスク制御部１１は、割り込み管理テーブル１２を参照する前に、ビジー管理テーブル１４を参照する（ステップＳｂ１２）。ビジー管理テーブル１４にはフラグとして「１」が記録されているため、タスク制御部１１は、ＯＳタスク２１を連続して起動するとともに、割り込み管理テーブル１２のＯＳタスク２１のフラグの項目に記憶されている「１」を削除する（ステップＳｂ１３）。タスク制御部１１から起動されたＯＳタスク２１は、アプリケーション管理部３０に起動指示を送信する（ステップＳｂ１４）。
【００３８】
起動指示を受信したアプリケーション管理部３０は、起動通知をアプリケーションプログラムＡに通知する（ステップＳｂ１５）。起動通知を受信したアプリケーションプログラムＡは、着信処理を中断した際に保持した状態に基づいて次の工程の処理を行う。そして、着信処理が完了するまで、これらＳｂ９〜Ｓｂ１５の動作を繰り返す。その後、音声処理部５３による着信音の鳴動開始、表示部５１による着信中の表示などの着信処理が完了すると完了応答をアプリケーション管理部３０に送信する（ステップＳｂ１６）。完了応答を受信したアプリケーション管理部３０は、ビジー状態を解除するためビジー状態解除指示をビジー設定受信部１５に送信する（ステップＳｂ１７）。また、アプリケーション管理部３０は、完了通知をＯＳタスク２１に送信する（ステップＳｂ１８）。完了通知を受信したＯＳタスク２１は、処理終了をタスク制御部１１に送信する（ステップＳｂ１９）。ＯＳタスク２１から処理終了を受信したタスク制御部１１は、ビジー管理テーブル１４を参照する。このとき、ビジー管理テーブル１４には、フラグが設定されていないため、次に、割り込み管理テーブル１２を参照し、フラグの項目に「１」が記憶されているタスクを探し、（この場合は最も割り込みとして古いものである）通話管理タスク２２を起動し、通話管理タスク２２のフラグとイベントデータとの項目に記憶されている情報を削除する（ステップＳｂ２０）
【００３９】
タスク制御部１１から切断イベントに含まれる情報に基づいて起動された通話管理タスクは、ＯＳタスク２１に通話を切断させる指示情報を送信する（ステップＳｂ２１）。指示情報を受信したＯＳタスク２１は、アプリケーション管理部３０に切断指示を送信する（ステップＳｂ２２）。切断指示を受信したアプリケーション管理部３０は、切断指示に対応する通話処理を行うアプリケーションプログラムＡに、切断通知を送信する（ステップＳｂ２３）。切断通知を受信したアプリケーションプログラムＡは、既に着信処理が完了しているため、切断通知に基づいて着信音の鳴動停止、表示終了、通信の切断などの切断処理を行う。もちろん、この切断処理中においても細やかな処理工程の間ごとに、着信処理と同様にビジー管理テーブル１４のフラグ、割り込み管理テーブル１２の参照を行うことは言うまでもない。
【００４０】
上記の構成によって、通話処理を行うアプリケーションプログラムＡの着信処理中に、切断イベントが発生しても、アプリケーションプログラムＡの処理において競合を発生させず、アプリケーションプログラムを正常に動作させることが可能となる。
【００４１】
なお、上述したタスク制御部１１は、割り込み管理テーブル１２に記憶されているフラグを参照する場合に、先に設定されているフラグから参照するようにしているが、例えば、タスクごとに優先度を設けて、優先度の高い順に参照するようにしてもよい。優先度に従って割り込み処理が行われる場合であっても、本実施形態のビジー状態を用いた制御は有効な手段となる。
【００４２】
また、本発明の実施の形態として、着信の生じたときにおけるキー操作部５２による終話キー押下の割り込みの発生時を例に説明を行ったが、これに限られるものではなく、一つの処理を行っているときの割り込み処理の生じる事柄全般に有用であることは言うまでもない。例えば、着信処理中にメニュー呼出キー押下した場合にも、着信処理が完了してからメニュー呼出を行うようにできたり、発信処理にて無線通信部５０の制御を開始する処理を行うときに、逆に着信が生じてしまうような場合にも、一方ずつ処理することが可能となる。
【００４３】
上述の携帯電話端末１は内部に、コンピュータシステムを有している。そして、上述したビジー状態設定、解除の処理は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【図面の簡単な説明】
【００４４】
【図１】本実施形態による携帯電話端末の内部構成を示すブロック図である。
【図２】同実施形態における割り込み管理テーブルのデータ構成を示す図である。
【図３】従来の構成におけるアプリケーションプログラムの着信及び切断処理を説明するためのシーケンス図である。
【図４】同実施形態におけるアプリケーションプログラムの着信及び切断処理を説明するためのシーケンス図である。
【符号の説明】
【００４５】
１    携帯電話端末
２    制御部
１０  タスク管理部
１５  ビジー設定受信部
１４  ビジー管理テーブル
２０  タスク
２１  ＯＳタスク
２２  通話管理タスク
２３  電源管理タスク
３０  アプリケーション管理部
４０  アプリケーションプログラム
【図１】
2006155225.tif 000003
【図２】
2006155225.tif 000004
【図３】
2006155225.tif 000005
【図４】
2006155225.tif 000006