JP4731822B2 - 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム - Google Patents

携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム Download PDF

Info

Publication number
JP4731822B2
JP4731822B2 JP2004100268A JP2004100268A JP4731822B2 JP 4731822 B2 JP4731822 B2 JP 4731822B2 JP 2004100268 A JP2004100268 A JP 2004100268A JP 2004100268 A JP2004100268 A JP 2004100268A JP 4731822 B2 JP4731822 B2 JP 4731822B2
Authority
JP
Japan
Prior art keywords
event
program
application
application program
competition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004100268A
Other languages
English (en)
Other versions
JP2005284905A (ja
Inventor
哲 西田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to JP2004100268A priority Critical patent/JP4731822B2/ja
Priority to US11/091,347 priority patent/US7730479B2/en
Priority to CNA2005100624311A priority patent/CN1677352A/zh
Publication of JP2005284905A publication Critical patent/JP2005284905A/ja
Application granted granted Critical
Publication of JP4731822B2 publication Critical patent/JP4731822B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Description

本発明は、複数のプログラムを制御する携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラムに関する。
従来の技術では、シングルタスクオペレーティングシステムにおいて、マルチタスク的な動きをさせるために、OS(オペレーティングシステム)のメモリ上で動作しているアプリケーションプログラムについてのスレッド履歴を記憶しておく。そして、次に動作を要求するアプリケーションプログラムがあるか否かをオペレーティングシステムにてタイマー等により監視する。次に動作を要求するアプリケーションプログラムがある場合には、アプリケーションプログラムのスレッド履歴に当該アプリケーションプログラムを追加し、当該アプリケーションプログラムにオペレーティングシステムが制御を切り替える。元に使用していたアプリケーションプログラムを再び操作するために切り替えるときは、蓄積されたスレッド履歴において最先に蓄積されたものから順に読み出して1つずつ処理を切り替える形にして実現していた(例えば、特許文献1)。
特許文献1に示す技術は、処理能力的に携帯電話機よりも余裕があり、かつ、着信のような突発的割り込み制御の発生率が低いパーソナルコンピュータ上での制御例である。
携帯電話機における従来技術では、複数のアプリケーションプログラムの起動指示がタイマー等から指定されたとしても、1つずつの処理が完了しない限りは、次のアプリケーションプログラムの処理に入ることができなかった。さらに、元のアプリケーションプログラムの状態を複数保持しておくこともできなかった。そのため、従来技術である特許文献2に示す携帯端末では、着信等の事象発生時にアプリケーションプログラムの種別または状態によって個別に監視して制御を行っている。
特開平6−44084号公報 特開2003−319020号公報
しかしながら、特許文献1における技術では、割り込みが発生した際に、待機状態にある処理に切り替えるだけで、起動中のプログラムと起動しようとしているプログラムの競合条件などを考慮した制御を行っていないという問題がある。また、特許文献2における技術では、アプリケーションプログラムの種別や状態に基づいて、割り込みイベントの処理を決定しているが、複数のアプリケーションプログラムに対応した競合判定処理については考慮されていないという問題がある。
本発明は、上記問題を解決すべくなされたもので、その目的は、複数のアプリケーションプログラムの競合処理の追加を容易にし、競合処理をアプリケーションプログラムごとに分散化する携帯電話端末装置を提供することにある。
上述した課題を解決するために、本発明は、複数のアプリケーションプログラムを有する携帯電話端末装置であって、イベント情報を受信し、受信したイベント情報を、当該イベント情報が対応付けられているアプリケーションプログラムに向けて通知するプログラム管理手段と、複数のアプリケーションプログラムごとに予め、起動を許可しない条件を他のアプリケーションプログラムの状態に応じて設定された競合条件を記憶する競合条件記憶部と、前記アプリケーションプログラム毎に対になって備えられる複数のイベントジャッジ手段であって所定のイベントジャッジ手段が前記プログラム管理手段から前記イベント情報を受信した場合、所定のイベントジャッジ手段と対となるアプリケーションプログラムに対応する前記競合条件を前記競合条件記憶部から読み出すと共に、他のアプリケーションプログラムの起動の状態の確認を要求する状態確認要求を、前記プログラム管理手段に送信する複数のイベントジャッジ手段と、を備え、前記プログラム管理手段は、前記状態確認要求を複数のイベントジャッジ手段のいずれかより受信した場合には、当該イベントジャッジ手段と対となるアプリケーションプログラム以外の他のアプリケーションプログラムの起動の状態を確認し、当該イベントジャッジ手段に対して起動の状態の確認結果を通知し、前記複数のイベントジャッジ手段は、前記プログラム管理手段より前記確認結果を受信すると、当該確認結果が読み出した前記競合条件に設定されている状態に合致しているか参照し、前記競合条件の全てに該当しない場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動し、前記競合条件のいずれか一つに該当する場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動せず保留する通知を前記プログラム管理手段に行うと当該対となるアプリケーションプログラムが保留中であることを示す保留情報を所定の記憶領域に記憶し、前記プログラム管理手段は、前記保留情報が前記所定の記憶領域に記憶されている場合において、前記競合条件の全てに該当しない状態になると、当該保留情報を前記所定の記憶領域に記憶させたイベントジャッジ手段に対して、アプリケーションプログラムを起動させるためのイベントを送信することにより、前記保留情報により特定されるアプリケーションプログラムの保留を解除して起動させる。
本発明は、上記の発明において、前記イベントジャッジ手段は、前記プログラム管理手段より前記確認結果を受信すると、当該確認結果が読み出した前記競合条件に設定されている状態に合致しているか参照し、競合条件のいずれか一つに該当する場合には前記当該イベントジャッジ手段と対となるアプリケーションプログラムを起動せず保留する通知を前記プログラム管理手段に行うと同時に当該対となるアプリケーションプログラムの保留を解除して再び起動させるための復帰情報を所定の記憶領域に記憶し、前記復帰情報を前記所定の記憶領域に記憶した後に動作中のアプリケーションプログラムが終了した場合、前記復帰情報を読み出して前記アプリケーションプログラムを起動させることを特徴とする。
本発明は、上記の発明において、前記プログラム管理手段は、受信したイベント情報が、予め自携帯電話装置内に搭載されるプログラムとは異なる、ネットワーク経由で受信したダウンロードプログラムに対応するイベント情報であった場合、当該ダウンロードプログラムの起動について、予め設定された前記競合条件とは異なる競合条件に基づいて起動判断を行うことを特徴とする。
本発明は、上記の発明において、前記競合条件記憶部は、複数の前記イベント情報に共通の特例競合条件(特例競合管理テーブル91)を記憶しており、前記イベントジャッジ手段は、前記イベント情報を受信した後に、前記確認結果が前記競合条件に合致するかの判定を行う前に、前記特例競合条件を読み出して前記確認結果が前記特例競合条件に合致するか判定し、合致しない場合に前記競合条件に合致するかの判定を行うことを特徴とする。
本発明は、複数のアプリケーションプログラムを有する携帯電話端末装置のプログラム管理方法であって、イベント情報を受信し、受信したイベント情報を、当該イベント情報が対応付けられているアプリケーションプログラムに向けて通知するプログラム管理手段と、複数のアプリケーションプログラムごとに予め、起動を許可しない条件を他のアプリケーションプログラムの状態に応じて設定された競合条件を記憶する競合条件記憶部と、前記アプリケーションプログラム毎に対になって備えられる複数のイベントジャッジ手段であって所定のイベントジャッジ手段が前記プログラム管理手段から前記イベント情報を受信した場合、当該イベントジャッジ手段と対となるアプリケーションプログラムに対応する前記競合条件を前記競合条件記憶部から読み出すと共に、他のアプリケーションプログラムの起動の状態の確認を要求する状態確認要求を、前記プログラム管理手段に送信する複数のイベントジャッジ手段と、を備え、前記プログラム管理手段は、前記状態確認要求を複数のイベントジャッジ手段のいずれかより受信した場合には、当該イベントジャッジ手段と対となるアプリケーションプログラム以外の他のアプリケーションプログラムの起動の状態を確認し、当該イベントジャッジ手段に対して起動の状態の確認結果を通知し、前記イベントジャッジ手段は、前記プログラム管理手段より前記確認結果を受信すると、当該確認結果が読み出した前記競合条件に設定されている状態に合致しているか参照し、前記競合条件の全てに該当しない場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動し、前記競合条件のいずれか一つに該当する場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動せず保留する通知を前記プログラム管理手段に行うと当該対となるアプリケーションプログラムが保留中であることを示す保留情報を所定の記憶領域に記憶し、前記プログラム管理手段は、前記保留情報が前記所定の記憶領域に記憶されている場合において、前記競合条件の全てに該当しない状態になると、前記保留情報を前記所定の記憶領域に記憶させた前記イベントジャッジ手段に対して、アプリケーションプログラムを起動させるためのイベントを送信することにより、前記保留情報により特定されるアプリケーションプログラムの保留を解除して起動させる。
本発明は、複数のアプリケーションプログラムを有し、イベント情報を受信し、受信したイベント情報を、当該イベント情報が対応付けられているアプリケーションプログラムに向けて通知するプログラム管理手段と、複数のアプリケーションプログラムごとに予め、起動を許可しない条件を他のアプリケーションプログラムの状態に応じて設定された競合条件を記憶する競合条件記憶部と、前記アプリケーションプログラム毎に対になって備えられる複数のイベントジャッジ手段であって所定のイベントジャッジ手段が前記プログラム管理手段から前記イベント情報を受信した場合、当該イベントジャッジ手段と対となるアプリケーションプログラムに対応する前記競合条件を前記競合条件記憶部から読み出すと共に、他のアプリケーションプログラムの起動の状態の確認を要求する状態確認要求を、前記プログラム管理手段に送信する複数のイベントジャッジ手段と、を備えた携帯電話端末装置のコンピュータに、前記プログラム管理手段が、前記状態確認要求を複数のイベントジャッジ手段のいずれかより受信した場合には、当該イベントジャッジ手段と対となるアプリケーションプログラム以外の他のアプリケーションプログラムの起動の状態を確認し、当該イベントジャッジ手段に対して起動の状態の確認結果を通知する手順、前記複数のイベントジャッジ手段が、前記プログラム管理手段より前記確認結果を受信すると、当該確認結果が読み出した前記競合条件に設定されている状態に合致しているか参照し、前記競合条件の全てに該当しない場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動し、前記競合条件のいずれか一つに該当する場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動せず保留する通知を前記プログラム管理手段に行うと当該対となるアプリケーションプログラムが保留中であることを示す保留情報を所定の記憶領域に記憶し、前記プログラム管理手段は、前記保留情報が前記所定の記憶領域に記憶されている場合において、前記競合条件の全てに該当しない状態になると、当該保留情報を前記所定の記憶領域に記憶させた前記イベントジャッジ手段に対して、アプリケーションプログラムを起動させるためのイベントを送信することにより、前記保留情報により特定されるアプリケーションプログラムの保留を解除して起動させる手順、を実行させる。
以上説明したように、この発明によれば、それぞれのプログラムごとに起動するか否かを定めた競合条件を予め設定している。そして、プログラムの起動要求のイベント情報を受信した際に、そのプログラムに対応する競合条件を読み出して、携帯情報端末が競合条件に合致する状態かを確認する。状態が競合条件全てに合致しない場合には起動し、競合条件のいずれか1つに合致する場合には起動しない構成となっている。そのため、アプリケーションプログラムが追加された際にも、追加されたアプリケーションプログラム対応する競合条件のみを追加するだけで競合条件の更新を行うことができる。それによって、競合条件を一元的に管理する場合に考慮しなければならない他のプログラムへの影響度などのプログラム設計上の作業負担を軽減することが可能となる。
また、本発明によれば、ネットワーク経由でダウンロードしたゲーム等の第三者が作成したプログラムに関しては、競合条件を知ることができないため、予め設定した所定の競合条件、例えば排他性の高い競合条件を設定する構成となっている。それによって、既存のプログラムへの影響度をさげることができ、プログラムのフリーズ等の状態を回避することが可能となる。
以下、本発明の一実施形態による携帯電話端末装置を図面を参照して説明する。
図1は、この発明の一実施形態による携帯電話端末装置におけるアプリケーションプログラム管理に関わる部分の構成を示す概略ブロック図である。
イベントアプリケーションテーブル70は、オペレーティングシステム(以下、OS:Operating Systemと略す。)や他のアプリケーションプログラムから通知されたイベントをどのアプリケーションプログラムに通知するものかの対応付けを記憶しているテーブルである。
アプリケーション状態テーブル71は、それぞれのアプリケーションプログラムの状態を記憶する。アプリケーション内部状態72は、動作中のアプリケーションプログラムの動作状態を記憶する。
また、復帰レベルテーブル80は、起動中に停止(=Suspend)されたアプリケーションプログラムや後述する競合判定により起動時に保留(=Idle)されたアプリケーションプログラムの復帰時に必要な復帰情報を記憶するスタック型の記憶部である。
アプリケーション30a、30b、30cは、携帯電話端末装置内で動作するアプリケーションプログラムであり、待ち受けアプリケーション、メール、カメラ等のプログラムがある。
イベントジャッジ部20a、20b、20cは、アプリケーション30a、30b、30cごとに設けられており、アプリケーションプログラムを起動するイベントを受信した際に、起動中のアプリケーションプログラムとの関係で起動が可能か否かの競合状態を判定する。競合状態の判定のため、他のアプリケーションの状態や内部状態を照会する。また、自らが管理するアプリケーションプログラムに固有の競合条件を予め記憶しており、他のアプリケーションの状態や記憶している固有の競合条件に基づいて、アプリケーションプログラムの動作を決定する。
同図において、アプリケーション管理部(図中のAPMAN)10は、携帯電話端末装置で発生する全てのイベントを受信し、受信したイベントを現在動作中のアプリケーション、もしくは、イベントアプリケーションテーブル70に対応付けられているアプリケーションプログラムにイベントを通知する。
また、アプリケーション管理部10は、アプリケーションプログラムの起動要求やその他のイベントの受信をOSから受信し、イベントアプリケーションテーブル70から対応するアプリケーションプログラムのイベントジャッジ部にイベントを送信する。イベントジャッジ部からの問い合わせによって他のアプリケーションの状態情報等を応答する。イベントジャッジ部における結果に従って、起動要求のあったアプリケーションプログラムを起動し、現在動作中のアプリケーションを停止する。
また、イベントジャッジ部における判定結果において将来起動予定として保留されたアプリケーションや現在動作中で停止されたアプリケーションの復帰情報を復帰レベルテーブルに記憶する。また、動作中のアプリケーションの正常終了により、復帰レベルテーブルが記憶している中から優先度の最も高いアプリケーションの復帰情報を読み出して復帰させる。
図2は、従来と本実施形態のアプリケーション管理に関わる機能ブロックの構成の違いを示した図である。同図の(1)及び(2)において、OSライブラリ1は、携帯電話端末装置においてアプリケーションプログラムを実際に実行するためのオペレーティングシステムの一部であり、ユーザが携帯電話端末装置を操作した場合等にその操作に基づいてイベントを発生させる。
同図(1)は、従来における構成を示した図であり、携帯電話端末装置のOSライブラリ1がユーザの操作によって発生する信号を受信し、アプリケーション30にイベントの振り分けを行う。また、OSライブラリ1は、アプリケーションの競合管理等も行っており、アプリケーションが追加される度に競合処理を新たに作り込む必要があるため、競合処理のために大きなテーブルを必要とし、非常に複雑な構成となっていた。
同図(2)は、本実施形態における構成を示した図であり、OSライブラリ1はイベントをアプリケーション30に直接通知せず、最初に、アプリケーション管理部10に全てを通知する。各アプリケーション30にはそれぞれのアプリケーション30の競合条件を記憶しているイベントジャッジ部20が個別に備えられている。アプリケーション管理部10は、受信したイベントを各アプリケーション30に振り分ける際、最初に対応するイベントジャッジ部20に通知する。
イベントジャッジ部20は、予め記憶している自らが管理するアプリケーションプログラムの競合条件に照らし合わせて、起動できるかどうかを判定する。その際、イベントジャッジ部は携帯電話端末装置のカメラ等を利用するための装置のリソースの状態や、他のアプリケーションの状態等をアプリケーション管理部10に要求して取得する。そして、起動可能と判定した場合には対応するアプリケーション30を起動する。起動可能でない場合には、保留するため復帰情報を復帰レベルテーブル80に記憶する。
また、同図(2)において、アプリケーション管理部10は、携帯電話端末装置において動作中のアプリケーション30が常に1つになるように制御を行う。そのため、新しいアプリケーション30が起動すると、起動中のアプリケーション30を停止し、メモリ上から退避させるためにそのアプリケーションプログラムを終了させて、復帰情報を上述した復帰レベルテーブル80に記憶する制御も行う。
従来では、OSライブラリ1が、イベントの振り分け処理とアプリケーション30の起動、終了、停止、保留及び復帰の処理と競合判定の処理を行っていた。一方、本実施形態では、アプリケーション管理部10が、イベントの振り分け処理とアプリケーション30の起動、終了、停止、保留及び復帰の処理を行い、それぞれのイベントジャッジ部20が対応するアプリケーション30に閉じて競合判定の処理を行っている。
そのため、競合判定の処理が1つの部分に集中せずに分散され、アプリケーション30が追加されても、イベントジャッジ部20を新たに設けることで、競合判定処理の追加をすることができる。例えば、カメラデバイスの性能向上時などにおいても、競合判定処理を変更する必要がなく、カメラデバイスの制御関係のアプリケーションプログラムの変更で済み、OSやアプリケーション管理部10等については大きな変更が伴わないようにすることができる。
また、アプリケーション管理部10は、携帯電話端末装置上で1つしかアプリケーション30を起動しないように制御している。そのため、OS上では1つのアプリケーションプログラムしか起動していないことになり、優先処理などの複雑な復帰処理ができないOSライブラリ1のスタック記憶領域を利用する必要がなくなる。
それによって、アプリケーションプログラムの競合判定をアプリケーション管理部10だけで制御することが可能となり、機能追加等もOSを変更する必要なくアプリケーション側に閉じて実施することが可能となる。さらに、常に1つしかアプリケーションが起動しないため、競合判定処理の制約も少なくシンプルにすることができ、処理が容易になるだけでなく、設計上も有利に働く。
図3は、上述した復帰レベルテーブル80を利用することによって達成するアプリケーションプログラム復帰時の優先処理の具体例を示した図である。
同図において、携帯電話端末装置上のアプリケーションプログラムの例として予め設定してある日付及び時刻になるとアラームが鳴動するスケジュールアラームと時間がくると自動的に電源を落とすオートパワーオフを取り上げている。
ここで、着信中にスケジュールアラームのイベントが通知され、その後オートパワーオフのイベントが通知された場合を想定する。従来では、スタックの最先にあるイベントから復帰させることしかできなかったため、オートパワーオフが復帰し、スケジュールアラームを鳴動することなく携帯電話端末装置の電源がオフ状態となる。このような仕様では、ユーザにとって不都合であるため、本実施形態では、最初にスケジュールアラームを鳴動し、その後オートパワーオフで電源をオフにするという順序の入れ替えを復帰レベルテーブル80を利用して可能としている。
図4は、アプリケーション管理部10がイベントを制御するための情報を記憶するテーブルを示した図である。
同図(1)のイベントアプリケーションテーブル70は、アプリケーション管理部10がOSライブラリ1から受信したイベントを振り分ける際に参照するテーブルであり、イベントとアプリケーションプログラムへの参照情報を対応付けて記憶している。
同図(2)のアプリケーション状態テーブル71は、各アプリケーションの現在の状態を記憶しているテーブルであり、状態には動作中(Active)、停止中(Suspend)、保留中(Idle)がある。
同図(3)のアプリケーション内部状態テーブル72は、各アプリケーションの内部状態を記憶しているテーブルであり、例えば、Dormant(休止中)、NULL(状態無し)、Wait(待機中)、Connect(接続中)等、各アプリケーションに特有の状態を記憶している。
図5は、イベントジャッジ部20の競合判定の結果によりアプリケーション管理部10が起動中に停止、若しくは起動時に保留したアプリケーションプログラムを復帰させる際に必要となる情報を記憶する復帰レベルテーブル80を示した図である。復帰レベルテーブル80は、スタック型の記憶領域であり、最先に記憶したものから順に復帰させることになる。
また、同図に示す通り、復帰レベルテーブル80a、80b、80c、80dのように幾つかの復帰レベルごとにスタックを備えている。そして、アプリケーションプログラムに予め設定されている復帰レベルに従って、各アプリケーションプログラムを該当するレベルのスタックに記憶する。そして、現在動作中のアプリケーションが正常終了した際に、アプリケーション管理部10が復帰レベルテーブルを参照し、優先度のレベルが最も高く、最先に記憶したアプリケーションプログラムを復帰させる。
上述したOSライブラリ1もアプリケーションを停止及び保留するためのスタック型の記憶領域を有しているが、1つしか有していないため、スタックに記憶したうち最先のアプリケーションプログラムからしか復帰させることができなかった。一方、本実施形態では、アプリケーションプログラムに予め設定された復帰レベルに従って記憶するため、携帯電話端末装置の仕様に合わせて復帰させるべき順番でアプリケーションプログラムを復帰させることを可能としている。また、アプリケーションプログラムの復帰レベルは任意に変更することができるため、携帯電話端末装置上で個々のユーザが自由に設定することが可能となる。
例えば、復帰に関する優先順位をユーザに指定可能にするならば、競合の発生するアプリケーションそれぞれに関し、個別の復帰レベルの番号を割振るよう、特に図示しない携帯電話端末装置の表示部にグラフィックユーザインタフェースを用いて表示させる。例えば、カメラ、Eメール受信、メール作成、オートパワーオフ、スケジュールアラーム、目覚ましアラーム等といった競合の起こりうる事象を列挙しておき、これらの隣に図示しないテンキーなどにより、個別の通し番号を1から割振らせる。
ここで、復帰レベルテーブルは通し番号分設けられており、これらのアプリケーションのそれぞれが保留されたときに、その時点のワーカーがスタックされていくこととなる。アプリケーションの数と通し番号の和は一致しなく、重複する番号が多少あっても良い。しかし、重複する場合は、重複する番号の復帰レベルテーブルに、異なるアプリケーションがスタックされうることとなり、復帰時には新しいものが先に復帰するような扱いとなる。
ここで、復帰レベルとして指定する番号に、「0」を指定させても良い。この場合は、復帰レベルテーブル「0」を設けるというよりも、保留指示がなされて通常は復帰レベルに従って復帰レベルテーブルにスタックされるところだが、「0」であるため復帰レベルテーブルにスタックされることなく、終了の処理扱いとなる。つまり、復帰レベル「0」の指定されたアプリケーションが起動されようとしたが、既に起動しているほかのアプリケーションとの競合判定が行われる。
そして、その判定の結果、起動不可と判定され、保留すると決定されたが、復帰レベルテーブルにこのワーカーはスタックされず、終了の扱いとなる。ユーザが、既に何らかのアプリケーションを起動している場合には、目覚ましアラームは鳴動させなくとも良いと思う場合に、この復帰レベル「0」を予め指定しておけばよい。それによって、このような細かなニーズにも対応できるようになる。
図6の子チェーンテーブル81は、復帰の際にアプリケーションプログラムの親子関係を考慮して復帰させるために親子関係を記憶している。復帰レベルテーブル80を参照して復帰させるアプリケーションプログラムを検出する際に、子の関係に該当するアプリケーションプログラムを検出する場合等にアプリケーション管理部10が参照する。
図7は、本実施形態におけるアプリケーションプログラムの構成を示したブロック図である。同図において、OSアプレット60は、OSに備わっているアプリケーションプログラムであり、ユーザがインターネット等のサービスを利用するために用いるブラウザ62やEメール63等のプログラムの他に、待機機能61a、アドレス帳61b等の一般的に用いられるアプリケーションを1つにパッケージ化したOSアプリケーション61から構成されている。
ダウンロードアプレット40は、ユーザが携帯電話端末装置を介して自らダウンロードしたゲーム等の幾つかのアプレット40a、40b…を有している。UI(User Interface)プロキシ50は、主に各種アプリケーションプログラムの起動に関わるユーザへの画面表示などの制御を行うためのプログラムであって、電話機能51、データ通信のためのコネクタ通信52、発信確認画面53、待受け54及びSMS(Short Message Service)55等を備えている。
以下、本実施形態では、競合判定や復帰制御の対象をアプレットではなく、アプレットを構成する最小構成単位であるワーカーを基に処理や制御について説明する。制御対象をアプレットとしないのは、アプレットは更に幾つかのワーカーから構成されており、アプレット単位で制御を行うことは、そのアプレットに関連する複数のワーカーの動作も制御することになるため制御が複雑になるからである。
同図において、ワーカーとは例えば、OSアプリケーション61の待機機能61a、アドレス帳61b等のそれぞれがワーカーとなる。また、ダウンロードアプレット40においては、アプレット40a及び40bがワーカーとなる。さらに、また、UIプロキシ50の電話機能51においては第1呼通話51a及び第2呼通話51bがワーカーとなり、待受け54においては、それに含まれるスクリーンセーバー54a及び節電54bがワーカーとなる。
図8から図14を参照して、イベントジャッジ部20における競合判定の制御について説明する。図8は、競合判定制御におけるアプリケーション管理部10及びイベントジャッジ部20の関係を示した概略図である。
同図において、(1)アプリケーション管理部10のイベント受信部10aは、アプレット60(またはアプレット50)からイベントを受信する。(2)イベント受信部10aは、アプレットに設定されているクラスID等の情報からどのワーカーに対する要求なのかを判断する。(3)イベントジャッジ部20は、競合判定を行い、オペレーションを決定する。競合判定は、そのワーカーが起動できる状態かどうかを判断し、競合している場合には、起動ワーカーの保留、拒否及び起動中ワーカーの終了等の処理を決定する。(4)アプリケーション管理部10のオペレーション実行制御部10bは、決定されたオペレーションに従い、対応するアプレット60(またはアプレット50)において、ワーカーの起動だけでなく、終了及びワーカー復帰のための処理をアプリケーション終了制御部10cやアプリケーション復帰制御部10dに行わせる。
図9は、各ワーカーに割り当てられたイベントジャッジ部20ごとに予め設定する競合条件テーブル90の構成を示した図である。競合条件テーブル90は同図に示すとおり、拒否条件90aと保留条件90bのテーブルから構成されており、拒否条件90a及び保留条件90bごとに幾つかの条件の組み合わせを設定する。
ちなみに、携帯電話端末装置内部にて発生する全てのアプリケーションプログラムに伴うワーカーが起動する際に、既に起動中のアプリケーションプログラムのワーカーと競合し、即起動してはならない条件の全てが競合条件として拒否条件90aもしくは保留条件90bのいずれかに予め記述される。例えば、スケジュールアラーム起動のワーカーは着信中には保留されるよう、スケジュールアラーム起動のワーカーに関する保留条件テーブルに条件の一つとして「着信中」が記述されている。
また、オートパワーオフ起動のワーカーも同様に着信中には保留されるよう、オートパワーオフ起動のワーカー保留条件の一つに「着信中」が記述される。さらに、拒否条件テーブルには、既に何らかのワーカーに対して割り込みで生じた場合には、起動する必要の無いような競合条件が記述される。
競合判定においては最初に、拒否条件90aを判定し、設定されている条件のうちいずれかの条件に該当した場合に、判定結果が拒否となる。拒否条件のいずれにも該当しない場合には、次に、保留条件90bを判定し、保留条件90bに設定されているいずれかの条件を満たしたときに、競合判定結果は保留となる。
拒否条件90a及び保留条件90bのどちらにも当てはまらなければ、競合判定結果は許可となる。例えば、着信中に予め設定していた時刻が到来し、スケジュールアラーム鳴動のワーカーがイベントジャッジ部に通知されたときには、イベントジャッジ部はこの「着信中」という競合条件が競合条件テーブルに記述されているか否かを判定する。この場合、先に述べたように保留条件90bにこの条件が記述されるため、着信のワーカーを停止することなく、スケジュールアラーム鳴動のワーカーが起動を保留する。そして、イベントジャッジ部20は、オペレーション実行制御部10bに決定した内容を通知する。
図10は、図9の条件の記述を具体的に示した図である。例えば、拒否条件としては
Eメール通信中(同図の条件10)またはSMS通信中(条件11)が設定されている。保留条件90bはカメラ起動中(条件50)かつ、カメラ撮影中(条件12)の条件と、カメラ起動中(条件50)かつ、カメラ保存中(条件13)が設定されている。
なお、各条件に設定されている携帯電話端末装置のカメラ等を利用するための装置のリソース状態及び他のアプレットの状態等の競合判定に必要な情報については、イベントを受信したイベントジャッジ部20がアプリケーション管理部10に照会を行う。照会を受けたアプリケーション管理部10は、装置のリソース情報及び各イベントジャッジ部が登録している各アプリケーションの状態等の情報を応答する。
図11は、イベントジャッジ部20の競合条件判定において競合判定の制御ができない様々なイベント発生時等の状況において、共通の状態に起因して携帯電話端末装置内部で発生する事象を考慮した特例措置の手段を説明するための図である。
同図において、特例競合管理テーブル91は、複数のイベントに共通の競合条件をまとめたものであり、それぞれのイベントジャッジ部に対応する競合条件テーブル90に個別に設定するよりも1つにまとめることで管理が容易による。設定されている値がNULLの場合は、特例競合判定による動作が設定されていないことを意味する。NULLで無い場合には、ワーカー別特例競合テーブル92への参照情報が格納される。
ワーカー別特例競合テーブル92は、特例競合処理が必要なイベント、例えばワーカー起動、ワーカー終了等のイベントが設定されており、それに該当する特例競合処理関数93への参照情報を格納している。
特例競合処理関数93が実行する特例競合処理は、制御を決定する処理及びその他の必要な処理である。特例競合処理関数93は、各ワーカーが提供するアプリケーションインタフェース(API)であり、判定結果としてイベントジャッジ部20の判定結果と同じ返り値である許可、保留、拒否を返すことで、その後のワーカー起動や終了の処理はイベントジャッジ部20における競合判定処理と同様に行われる。
ここで、特例競合管理テーブル91に設定される具体的な特例となる競合の例としてバッテリー残量を取り上げて説明する。携帯電話端末装置には充電式のバッテリーが搭載されており、このバッテリーは図示しないバッテリー電圧管理部により、残量が管理されている。このバッテリー残量が第1の所定値を下回ると、メモリへの書き込みや読み出しが不安定になりがちであるため、第1の所定値以下になると限られた一部のワーカー以外は起動を受け付けなくなる。例えば、カメラ起動などは受け付けないが、着信があれば着信通知は行う、といった状態になる。さらに、残量が少なくなり、第1の所定値よりも低い第2の所定値にまで落ち込むと、バッテリー切れをユーザインタフェース上で通知した後に、全てのワーカーを強制終了させる。ここでいう、バッテリー電圧管理部からの、残量警告のイベントに対応するワーカーへの入力を受け付けたイベントジャッジ部が特例判定を行うことになる。
ここで、NULLとならないワーカーとして、上述した残量警告のイベントのような特殊な条件でのワーカーが挙げられる。第1の所定値に基づく残量警告イベントに対応するワーカーならば、ワーカー別特例競合テーブルのワーカー起動にはカメラ起動中やスケジュールアラーム等の条件が記述され、これに基づく特例競合処理関数には許可を応答する関数が記述される。
さらに、ワーカー別特例競合テーブル92のワーカー終了として、着信中が記述され、これは特例競合処理関数93として保留を返す関数が設定される。その他、許可、保留もしくは拒否のいずれかが記述されることとなる。また、第2の所定値に基づく残量警告ならば、ほぼ全てのアプリケーションプログラムに基づくワーカーが、ワーカー起動かつ許可(つまり、第2の所定値に基づく残量警告ならば即実行)として記述されることとなる。
第2の所定値に基づく残量警告がイベントとして発生した場合として、特例競合管理テーブル91には、たいていがワーカー起動かつ許可として記述されているが、条件付許可として「通信中」も記述されている。つまり、バッテリー残量が低下し、通信が維持できなくなる危険性が生じると前述の警告がイベントとして発生し、ほぼ全てのワーカーを終了させる。しかし、特例として、通信中の場合には、通信を終了させる前に、必ず課金に関する通話時間や獲得パケット数を計算し、これをメモリに格納もしくは通信網に送信し終わってから通信を終了するという、条件付き許可が記述されている。
一方、NULLとなるワーカーは、上述の特殊な競合判定ではなく、一般的なワーカーに基づくものに記述される場合と、個別の競合条件テーブル90に設定されているため特例競合管理テーブル91においてはNULLと設定されている場合がある。
また、バッテリー残量以外の特例競合の判定を伴う例として、通話中に通話を維持した状態で必要に迫られEメールを起動する場合がある。Eメールの起動によりイベントとして「Eメール展開要求」が発生し、イベントを受信したイベントジャッジ部は特例競合管理テーブル91を参照する。このとき、「Eメール展開要求」のイベントに特例競合条件として登録されているのは上述した「バッテリー残量低(第2所定値)」だけであるとする。バッテリー残量に余裕がある場合には、この条件には該当しないため、次に競合テーブルが参照され、通話中であってもEメールの展開要求は許可であるため、Eメールを展開しEメールを表示する。表示されたEメールのテキスト中に0で始まる11桁の数字列が含まれていると、これを電話番号であると自動認識し、その数字列の表示色を変更するようになっている。
上記の状態に継続して、その数字列がユーザが操作するカーソルによって選択され、決定キーが押下されると、その番号に発呼する「Phone to機能」が起動し、発呼要求のイベントが発生する。このイベントについてもイベントジャッジ部は特例競合管理テーブル91が設定されており、発呼要求のイベントには、拒否条件として「通話中」が記述されているとする。この時、発呼要求のイベントは「通信中」の条件に従って、新たな発呼をすることができず、エラーの表示を行う。
ただし、3者通話契約を事前に通信事業者との間でなされていたならば、「許可」が記述されており、発呼することができる。ただし、この「許可」には3者通話という条件の関数が指定されており、この条件において許可される。このとき、特例競合管理テーブル91の「発呼要求イベント」発生時の「通話中」の場合の条件として「拒否」から「条件付許可」に書き換えられる。この書き換えはローダーマシンにて行っても良いし、特例競合管理テーブル91としてまとめられているため書き換えが容易になっているために、無線通信で書き換えを基地局経由で行っても良い。
また、さらに、特例として設定する事例として、外部インタフェースの接続有無なども挙げられる。携帯電話端末装置は通常10〜18芯程度のコネクタを有しており、内部のメモリの書き換えや読み出し、または携帯電話端末装置をモデムとして使用するためにパーソナルコンピュータが接続されるときに外部インタフェースとして使用される。この外部インタフェースの使用時にはたいていの操作を「拒否」するように構成したいときにも特例競合条件テーブル91は有効となる。つまり、外部インタフェース使用中か否かの判断テーブルを作成するだけでよく、他の多くの競合条件テーブル90については手を加えることもなく競合判定処理が行えるからである。
こういった特例の条件は、メーカ側としてはモデルチェンジしても変更するような仕様でないため、設計変更する際に変更箇所が少なくてすむため非常に有効な手段である。つまり、特例競合条件テーブル91にて許可が指定されるイベントは、複数のイベントに重複して発生しうる条件が記述されることが多くなる。
図12は、イベントジャッジ部20におけるワーカー起動時の処理を示したフローチャートである。
イベントジャッジ部20は、上述した競合条件テーブル90に従って判定処理を行う。
同図におけるイベントジャッジ部20aは、ワーカー起動のイベントをアプリケーション管理部10から受信したイベントジャッジ部20aであり後述する競合状態により停止し、終了させられるワーカーに対応するイベントジャッジ部20bと区別するために符号を別にしている。
最初にアプリケーション管理部10のイベント受信部10aからワーカー起動のイベントを受信し、上述した特例競合管理テーブル91に従って特例競合条件判定処理を実行する(ステップS12−1)。特例競合条件判定処理の結果を判定し(ステップS12−2)、一致する条件がある場合、即ち競合条件有りとなった場合にはステップS12−4の競合判定結果の処理に進む。一致する条件が無い場合、即ち特例競合管理テーブルにNULLと記述されているなど、競合条件無しとなった場合には、競合条件テーブル90に設定されている条件に従って競合条件判定処理を行う(ステップS12−3)。
そして、競合条件判定処理の結果を判定し(ステップS12−4)、拒否の場合は競合判定結果拒否をアプリケーション管理部10に送信する。判定結果が保留の場合には後述するワーカー保留処理を実行すると共に、アプリケーション復帰制御部10dに保留ワーカー追加指示を送信する。アプリケーション復帰制御部10dは復帰レベルテーブル80にそのワーカーを追加する(ステップS12−5)。
許可の場合にはワーカーを起動するために競合しているワーカーを終了する必要があり、競合ワーカー終了制御を実行する。その際、アプリケーション終了制御部10cに競合する起動中のワーカーを停止し、終了させるワーカー終了を指示する(ステップS12−6)。起動中のワーカーを終了させた後、起動要求のあったワーカーを起動すると共に、アプリケーション終了制御部10cにワーカー起動を指示する(ステップS12−7)。
ワーカーの起動または終了を行ったアプリケーション終了制御部10cはワーカー起動またはワーカー終了の処理を行って、アプリケーション管理部10にワーカー起動またはワーカー終了を通知する。
イベントジャッジ部20aは、競合判定の結果が許可もしくは保留の場合もアプリケーション管理部10に競合判定結果許可もしくは競合判定結果保留の情報を送信する。拒否、保留、許可、ワーカー起動及びワーカー終了を受信したアプリケーション管理部10は、ワーカーの起動及び終了をOSに対して指示し、起動中のワーカーが終了し、起動を要求されたワーカーが起動する。
図13は、図12において競合により停止し、終了させるワーカーが存在した場合に、当該ワーカーに対応するイベントジャッジ部20bが実行する処理を示したフローチャートである。
同図においてワーカー終了のイベントは図12のイベントジャッジ部20aの起動中ワーカー終了の要求に基づいてアプリケーション管理部10が送信したものである。ワーカー終了のイベントを受信したイベントジャッジ部20bは、特例競合管理テーブル91に従って特例競合条件判定処理を実行する(ステップS13−1)。
特例競合条件判定処理の結果を判定し(ステップS13−2)、一致する条件がある場合、即ち競合条件有りとなった場合にはステップS13−4の競合判定結果の処理に進む。一致する条件が無い場合、即ち競合条件無しとなった場合には、競合条件テーブル90に設定されている条件に従って競合条件判定処理を行う(ステップS13−3)。
そして、競合条件判定処理の結果を判定する(ステップS13−4)。競合判定の結果が、拒否もしくは保留の場合はその結果をアプリケーション管理部10に送信する。結果が許可の場合にはワーカー終了処理を行う。その際、アプリケーション終了制御部10cに当該ワーカー終了を指示する。また、ワーカーの終了を行ったアプリケーション終了制御部10cはワーカー終了をアプリケーション管理部10に送信する(ステップS13−5)。ワーカー終了を受信したアプリケーション終了制御部10cは、ワーカー終了の処理を行いアプリケーション管理部10にワーカー終了を通知する。アプリケーション管理部10は当該ワーカーの終了をOSに対して指示する。
図14は、図12の処理において、競合判定の結果、保留されたワーカー及び、起動中に停止し、終了させられたワーカーを復帰させる場合のイベントジャッジ部20aにおける処理のフローチャートである。
起動中のワーカーが強制的ではなく正常に終了すると、その旨を受信したアプリケーション管理部10が復帰レベルテーブル80から復帰させるワーカーを読み出し、そのワーカーのイベントジャッジ部20cにワーカー起動させるためのイベントを送信する。
最初にワーカー起動のイベントを受信したイベントジャッジ部20aは、特例競合管理テーブル91に従って特例競合条件判定処理を実行する(ステップS14−1)。特例競合条件判定処理の結果を判定し(ステップS14−2)、一致する条件がある場合、即ち競合条件有りとなった場合にはステップS13−4の競合判定結果の処理に進む。一致する条件が無い場合、即ち競合条件無しとなった場合には、競合条件テーブル90に設定されている条件に従って競合条件判定処理を行う(ステップS14−3)。
そして、競合条件判定処理の結果を判定する(ステップS14−4)。判定結果が許可の場合には競合ワーカー終了制御の処理を行い、競合しているワーカーを終了させるためアプリケーション終了制御部10cに終了を指示し、許可の結果をアプリケーション復帰制御部10dに送信する(ステップS14−5)。
判定結果が、拒否または保留の場合はその結果をアプリケーション復帰制御部10dに送信する。拒否を受信したアプリケーション復帰制御部10dは該当するワーカーを復帰レベルテーブル80から削除する。保留を受信した場合には、再び復帰レベルテーブル80に登録する。許可を受信した場合には、復帰レベルテーブル80に記憶している当該ワーカーを読み出してアプリケーション管理部10に当該ワーカーへの参照情報を含んだワーカー起動を送信する。競合するワーカーの終了指示を受信したアプリケーション終了制御部10cは、ワーカー終了の処理を行って、ワーカー終了をアプリケーション管理部10に送信する。
図15から図19を参照して上述したアプリケーション終了制御部10cが実行するワーカーの起動及び終了の処理について説明する。これらに基づき、復帰レベルテーブルへの書き込み、読み出し、削除、さらに強制終了させる場合などにおいてイベントジャッジ部は親ワーカーと子ワーカーとを共に取り扱う。
図15は、ワーカー間の親子関係を記憶している子チェーンテーブル81を示したものである。あるワーカーを終了させるとそれに従属するワーカーも終了させるなどの連鎖した終了処理を制御するためのテーブルである。
同図では、基準となるルートから起動されたワーカーをリンクさせていくことで親子関係が生じることを示している。起動するワーカーを子とするかどうかは、動作結果を期待するワーカーなのか、自身を終了したとき一緒に終了させたいワーカーなのか、または、他ワーカーから引用されて起動されているワーカーなのか等を携帯電話端末装置の仕様に基づいて決定する必要がある。
図16は、従属関係が親子関係無しの場合を示した図であり、ワーカーCがルートから直接リンクされる。
図17は、従属関係が親子関係有りの場合を示した図であり、ワーカーAとワーカーDが親子関係となっている。ワーカーDがユーザ操作によって起動したものである場合には、ワーカーAが終了してもリンクされているワーカーDは終了せずに親がリンクしていた場所、即ちルートにリンクする。一方、ワーカーDがワーカーAから引用されて起動したものである場合には、ワーカーAが終了するとワーカーDも終了する。
図18は、子のワーカーDが終了した場合の処理を示した図である。アプリケーション管理部10からの要求により子のワーカーDが終了すると、子のワーカーDは親のワーカーAに終了通知を送信する。終了通知を受信した親のワーカーAは子ワーカーDの情報を削除する等の処理を行う。
図19は、アプリケーション終了制御部10cの処理を示したフローチャートである。イベントジャッジ部20よりワーカー起動を受信し、起動を要求したワーカーの子であるか否かを判定する(ステップS19−1)。起動を要求したワーカーの子の場合には、子チェーンテーブル80dに起動を要求したワーカーの子としてリンクする(ステップS19−2)。起動元の子で無い場合には子チェーンテーブル81においてルートにリンクする(ステップS19−3)。
次に、動作中(=アクティブ)ワーカーが有るか否かを判定する(ステップS19−4)。動作中のワーカーが有る場合には、ワーカー追加指示をアプリケーション復帰制御部10dに送信して復帰レベルテーブル80に動作中のワーカーを記憶させ、アプリケーション管理部10にワーカー起動を送信する。また、動作中のワーカーが無い場合にもアプリケーション管理部10にワーカー起動を送信する。この処理によって、競合によって起動中から保留されたワーカーを復帰レベルテーブルに記憶する。
ワーカー終了を受信した場合には、子チェーンテーブル81から終了要求のあったワーカーを削除してワーカー終了をアプリケーション管理部10に送信する。
次に、図20から図25を参照して、図6で取り上げた復帰レベルテーブル80へのワーカーの追加手段について説明する。
復帰レベルテーブル80がワーカーを追加する場合としては、動作中であったワーカーが保留状態になる場合、または、上記競合判定において起動を保留された場合がある。
復帰レベルテーブルに対する制御としては、復帰レベルテーブル80にワーカーを追加する制御、起動を保留されている親子関係のある保留ワーカーにリンクする制御等がある。
図20に示す復帰レベルテーブルにワーカーを追加する処理は、動作中のワーカーが、ユーザ操作によって待ち受けアプリケーションが起動したワーカーである場合と、電話機能アプリケーション及びアラームなどの割り込みワーカーである場合に発生する。つまり、親子関係を持たず、上記したルートに直接リンクするワーカーの場合に復帰レベルテーブルに直接積み上げられることになる。
図21に示す保留ワーカーに動作中のワーカーをリンクする処理は、動作中のワーカーが、待ち受けアプリケーション以外のワーカーからのユーザ操作にワーカー起動だった場合に発生する。この場合は、上述した親子関係をもつワーカーにおいて、子のワーカーが動作中であり、親ワーカーが保留中の場合に発生することになる。
図22は、他のワーカーからリンクされているワーカーが終了した場合の処理を示した図である。同図において保留ワーカー(2)が終了すると、終了したワーカー(2)の子のワーカーである(3)が(1)にリンクすることになる。例えば、カメラに関するワーカーについて考え、用法を示す。この場合、親となるのは「カメラ起動中」ワーカーである。さらに、子ワーカーとなるのが、「セルフタイマー」や「ズームアップ」である。図22に置き換えると、(1)がカメラ起動中、(2)がセルフタイマー、(3)ズームアップとなる。仕様にもよるが、例えば、これら(1)から(3)が起動している状態で、さらに目覚ましアラーム起動のワーカーが入ってくるとイベントジャッジ部はオペレーション実効性魚部の時にアプリケーション復帰管理部にて、カメラ関係のワーカーの保留要求がなされる。
担当のイベントジャッジ部では、これら(1)から(3)について図22の左図に示すように親子関係を対応付けたまま復帰レベルテーブルに積み上げられる。そして目覚ましアラームの処理が完了したとき、特に(2)のセルフタイマーについてはタイムカウントに間が空いてしまい、セルフタイマーとしては使い物にならなくなってしまう場合がある。その場合には、これを削除し(3)のズームアップを繰り上げて右図のように(2)として積み上げ直し、この積み上げ直し後の復帰レベルテーブルに従って、カメラに関するアプリケーションを復帰させる。
図23は、ワーカー起動を受信した場合のアプリケーション復帰制御部10dの内部処理を示したフローチャートである。同図は、アプリケーション終了制御部10cがイベントジャッジ部20からワーカー起動の指示を受信し、既に動作中のワーカーがある場合に、動作中のワーカーを保留するためにワーカー追加指示をアプリケーション復帰制御部10dに送信した場合を示している。ワーカー追加指示を受信したアプリケーション復帰制御部10dは、ワーカー追加指示に含まれている当該ワーカーが復帰するための情報を設定されているレベルに合わせて復帰レベルテーブルに追加して処理を終了する。
図24は、起動したワーカーが、競合判定の結果により保留ワーカーとなった場合を示した図であり、新たに発生した保留ワーカーを設定されているレベルに合わせて復帰レベルテーブルに追加する。
図25は、図24の場合におけるアプリケーション復帰制御部10dの内部処理を示したフローチャートである。
競合判定結果が保留の場合にイベントジャッジ部20はアプリケーション復帰制御部10dに保留ワーカー追加指示を送信する。保留ワーカー追加を受信したアプリケーション復帰制御部10dは、保留ワーカー追加指示に含まれている復帰のための情報及びレベルに合わせてワーカーを復帰レベルテーブルに追加して処理を終了する。
以上のように、アプリケーション管理部10が、イベントの振り分け処理とアプリケーション30の起動、終了、保留及び復帰の処理を行い、それぞれのイベントジャッジ部20が対応するアプリケーション30に閉じて競合判定の処理を行う構成を備えている。そのため、競合判定の処理が1つの部分に集中せずに分散され、アプリケーション30が追加されても、イベントジャッジ部20を新たに設けることで、OSやアプリケーション管理部10等については大きな変更が伴わないようにすることができる。
そのため、予め、オートパワーオフの復帰レベルをスケジュールアラームの復帰レベルよりも低く設定してあれば、着信中にスケジュールアラームのイベントが通知され、さらにオートパワーオフのイベントが通知された2つのイベントが保留された場合でも、着信の終了後に先にオートパワーオフが復帰し、スケジュールアラームが放置され電源オフしてしまうようなことがなくなる。さらに、復帰レベルを任意に設定可能にすることにより、携帯電話端末装置上のアプリケーションプログラムの任意の順序での復帰制御を可能としている。それによって、例えば、着信中などの割り込み処理、Eメール着信、アラームの順でプログラムが保留にされても、最初にアラームを復帰させてその後Eメール着信の処理を行わせるなどの制御が可能となる。
上述の携帯電話端末装置は内部に、コンピュータシステムを有している。そして、上述した携帯電話端末装置の処理過程は、プログラムの形式でコンピュータ読み取り可能な記
録媒体に記憶されており、このプログラムをコンピュータが読み出して実行すること
によって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、
磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等を
いう。また、このコンピュータプログラムを通信回線によってコンピュータに配信
し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
本発明の一実施形態による携帯電話端末装置におけるアプリケーションプログラム管理に関わる部分の構成を示すブロック図である。 従来技術と同実施形態におけるアプリケーション管理に関わる機能ブロックの構成の違いを示した図である。 同実施形態におけるアプリケーションプログラム復帰時の優先処理の具体例を示した図である。 同実施形態におけるアプリケーション管理部がイベント制御のための情報を記憶するテーブル構成図である。 同実施形態における復帰レベルテーブルを示した図である。 同実施形態における子チェーンテーブルを示した図である。 同実施形態におけるアプリケーションプログラムの構成を示したブロック図である。 同実施形態におけるアプリケーション管理部及びイベントジャッジ部の競合判定制御における関係図である。 同実施形態における競合条件テーブルの構成図である。 同実施形態における競合条件テーブルの具体的設定形態を示す図である。 同実施形態における特例措置の手段を示した図である。 同実施形態におけるイベントジャッジ部のワーカー起動の処理を示したフローチャートである。 同実施形態におけるイベントジャッジ部の競合発生によるワーカー終了の処理を示したフローチャートである。 同実施形態におけるイベントジャッジ部の保留ワーカー復帰の処理を示したフローチャートである。 同実施形態におけるワーカー間の親子関係を記憶している子チェーンテーブルを示した図である。 同実施形態におけるワーカー間の従属関係が親子関係無しの場合を示した図である。 同実施形態におけるワーカー間の従属関係が親子関係有りの場合を示した図である。 同実施形態における子が終了時の処理を示した図である。 同実施形態におけるアプリケーション終了制御部の処理を示したフローチャートである。 同実施形態における復帰レベルテーブルにワーカーを追加する処理を示した図である。 同実施形態における保留ワーカーに動作中のワーカーをリンクする処理を示した図である。 同実施形態における他のワーカーからリンクされているワーカーを終了させた場合の処理を示した図である。 同実施形態におけるアプリケーション復帰制御部の処理を示したフローチャート(その1)である。 同実施形態における起動中ワーカーが競合判定の結果により保留ワーカーとなった場合を示した図である。 同実施形態におけるアプリケーション復帰制御部の処理を示したフローチャート(その2)である。
符号の説明
10 アプリケーション管理部
20 イベントジャッジ部
30(30a〜30c) アプリケーション

Claims (6)

  1. 複数のアプリケーションプログラムを有する携帯電話端末装置であって、
    イベント情報を受信し、受信したイベント情報を、当該イベント情報が対応付けられているアプリケーションプログラムに向けて通知するプログラム管理手段と、
    複数のアプリケーションプログラムごとに予め、起動を許可しない条件を他のアプリケーションプログラムの状態に応じて設定された競合条件を記憶する競合条件記憶部と、
    前記アプリケーションプログラム毎に対になって備えられる複数のイベントジャッジ手段であって
    所定のイベントジャッジ手段が前記プログラム管理手段から前記イベント情報を受信した場合、所定のイベントジャッジ手段と対となるアプリケーションプログラムに対応する前記競合条件を前記競合条件記憶部から読み出すと共に、他のアプリケーションプログラムの起動の状態の確認を要求する状態確認要求を、前記プログラム管理手段に送信する複数のイベントジャッジ手段と、を備え、
    前記プログラム管理手段は、
    前記状態確認要求を複数のイベントジャッジ手段のいずれかより受信した場合には、当該イベントジャッジ手段と対となるアプリケーションプログラム以外の他のアプリケーションプログラムの起動の状態を確認し、当該イベントジャッジ手段に対して起動の状態の確認結果を通知し、
    前記複数のイベントジャッジ手段は、
    前記プログラム管理手段より前記確認結果を受信すると、当該確認結果が読み出した前記競合条件に設定されている状態に合致しているか参照し、前記競合条件の全てに該当しない場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動し、前記競合条件のいずれか一つに該当する場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動せず保留する通知を前記プログラム管理手段に行うと当該対となるアプリケーションプログラムが保留中であることを示す保留情報を所定の記憶領域に記憶し、
    前記プログラム管理手段は、
    前記保留情報が前記所定の記憶領域に記憶されている場合において、前記競合条件の全てに該当しない状態になると、当該保留情報を前記所定の記憶領域に記憶させたイベントジャッジ手段に対して、アプリケーションプログラムを起動させるためのイベントを送信することにより、前記保留情報により特定されるアプリケーションプログラムの保留を解除して起動させる携帯電話端末装置。
  2. 前記イベントジャッジ手段は、
    前記プログラム管理手段より前記確認結果を受信すると、当該確認結果が読み出した前記競合条件に設定されている状態に合致しているか参照し、
    競合条件のいずれか一つに該当する場合には、前記当該イベントジャッジ手段と対となるアプリケーションプログラムを起動せず保留する通知を前記プログラム管理手段に行うと同時に当該対となるアプリケーションプログラムの保留を解除して再び起動させるための復帰情報を所定の記憶領域に記憶し、
    前記復帰情報を前記所定の記憶領域に記憶した後に動作中のアプリケーションプログラムが終了した場合、前記復帰情報を読み出して前記アプリケーションプログラムを起動させる
    請求項1に記載の携帯電話端末装置。
  3. 前記プログラム管理手段は、受信したイベント情報が、予め自携帯電話装置内に搭載されるプログラムとは異なる、ネットワーク経由で受信したダウンロードプログラムに対応するイベント情報であった場合、当該ダウンロードプログラムの起動について、予め設定された前記競合条件とは異なる競合条件に基づいて起動判断を行う
    請求項1または2に記載の携帯電話端末装置。
  4. 前記競合条件記憶部は、複数の前記イベント情報に共通の特例競合条件を記憶しており、
    前記イベントジャッジ手段は、前記イベント情報を受信した後に、前記確認結果が前記競合条件に合致するかの判定を行う前に、前記特例競合条件を読み出して前記確認結果が前記特例競合条件に合致するか判定し、合致しない場合に前記競合条件に合致するかの判定を行う
    請求項1乃至3のいずれか1つに記載の携帯電話端末装置。
  5. 複数のアプリケーションプログラムを有する携帯電話端末装置のプログラム管理方法であって、
    イベント情報を受信し、受信したイベント情報を、当該イベント情報が対応付けられているアプリケーションプログラムに向けて通知するプログラム管理手段と、
    複数のアプリケーションプログラムごとに予め、起動を許可しない条件を他のアプリケーションプログラムの状態に応じて設定された競合条件を記憶する競合条件記憶部と、
    前記アプリケーションプログラム毎に対になって備えられる複数のイベントジャッジ手段であって
    所定のイベントジャッジ手段が前記プログラム管理手段から前記イベント情報を受信した場合、当該イベントジャッジ手段と対となるアプリケーションプログラムに対応する前記競合条件を前記競合条件記憶部から読み出すと共に、他のアプリケーションプログラムの起動の状態の確認を要求する状態確認要求を、前記プログラム管理手段に送信する複数のイベントジャッジ手段と、を備え、
    前記プログラム管理手段は、
    前記状態確認要求を複数のイベントジャッジ手段のいずれかより受信した場合には、当該イベントジャッジ手段と対となるアプリケーションプログラム以外の他のアプリケーションプログラムの起動の状態を確認し、当該イベントジャッジ手段に対して起動の状態の確認結果を通知し、
    前記イベントジャッジ手段は、
    前記プログラム管理手段より前記確認結果を受信すると、当該確認結果が読み出した前記競合条件に設定されている状態に合致しているか参照し、前記競合条件の全てに該当しない場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動し、前記競合条件のいずれか一つに該当する場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動せず保留する通知を前記プログラム管理手段に行うと当該対となるアプリケーションプログラムが保留中であることを示す保留情報を所定の記憶領域に記憶し、
    前記プログラム管理手段は、前記保留情報が前記所定の記憶領域に記憶されている場合において、前記競合条件の全てに該当しない状態になると、前記保留情報を前記所定の記憶領域に記憶させた前記イベントジャッジ手段に対して、アプリケーションプログラムを起動させるためのイベントを送信することにより、前記保留情報により特定されるアプリケーションプログラムの保留を解除して起動させる携帯電話端末装置のプログラム管理方法。
  6. 複数のアプリケーションプログラムを有し、
    イベント情報を受信し、受信したイベント情報を、当該イベント情報が対応付けられているアプリケーションプログラムに向けて通知するプログラム管理手段と、
    複数のアプリケーションプログラムごとに予め、起動を許可しない条件を他のアプリケーションプログラムの状態に応じて設定された競合条件を記憶する競合条件記憶部と、
    前記アプリケーションプログラム毎に対になって備えられる複数のイベントジャッジ手段であって
    所定のイベントジャッジ手段が前記プログラム管理手段から前記イベント情報を受信した場合、当該イベントジャッジ手段と対となるアプリケーションプログラムに対応する前記競合条件を前記競合条件記憶部から読み出すと共に、他のアプリケーションプログラムの起動の状態の確認を要求する状態確認要求を、前記プログラム管理手段に送信する複数のイベントジャッジ手段と、
    を備えた携帯電話端末装置のコンピュータに、
    前記プログラム管理手段が、
    前記状態確認要求を複数のイベントジャッジ手段のいずれかより受信した場合には、当該イベントジャッジ手段と対となるアプリケーションプログラム以外の他のアプリケーションプログラムの起動の状態を確認し、当該イベントジャッジ手段に対して起動の状態の確認結果を通知する手順、
    前記複数のイベントジャッジ手段が、
    前記プログラム管理手段より前記確認結果を受信すると、当該確認結果が読み出した前記競合条件に設定されている状態に合致しているか参照し、前記競合条件の全てに該当しない場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動し、前記競合条件のいずれか一つに該当する場合には、前記確認結果を受信したイベントジャッジ手段と対となるアプリケーションプログラムを起動せず保留する通知を前記プログラム管理手段に行うと当該対となるアプリケーションプログラムが保留中であることを示す保留情報を所定の記憶領域に記憶し、
    前記プログラム管理手段は、
    前記保留情報が前記所定の記憶領域に記憶されている場合において、前記競合条件の全てに該当しない状態になると、当該保留情報を前記所定の記憶領域に記憶させた前記イベントジャッジ手段に対して、アプリケーションプログラムを起動させるためのイベントを送信することにより、前記保留情報により特定されるアプリケーションプログラムの保留を解除して起動させる手順、
    を実行させるコンピュータプログラム。
JP2004100268A 2004-03-30 2004-03-30 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム Expired - Fee Related JP4731822B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004100268A JP4731822B2 (ja) 2004-03-30 2004-03-30 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム
US11/091,347 US7730479B2 (en) 2004-03-30 2005-03-28 Cell-phone terminal, program management method and computer program of same
CNA2005100624311A CN1677352A (zh) 2004-03-30 2005-03-28 移动电话终端、及其程序管理方法和相应的计算机程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004100268A JP4731822B2 (ja) 2004-03-30 2004-03-30 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2005284905A JP2005284905A (ja) 2005-10-13
JP4731822B2 true JP4731822B2 (ja) 2011-07-27

Family

ID=35183197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004100268A Expired - Fee Related JP4731822B2 (ja) 2004-03-30 2004-03-30 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4731822B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020139078A1 (en) * 2018-12-28 2020-07-02 Mimos Berhad System for managing operation mode based on service availability and method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007020735A1 (ja) * 2005-08-18 2007-02-22 Matsushita Electric Industrial Co., Ltd. 競合解決装置
US20100229184A1 (en) * 2006-04-05 2010-09-09 Shunji Satou System management apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
JP2005099951A (ja) * 2003-09-22 2005-04-14 Brother Ind Ltd ジョブ管理装置、ジョブ管理プログラム、およびそれらを備えた画像形成装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3633465B2 (ja) * 2000-09-27 2005-03-30 日本電気株式会社 携帯電話端末及びそれに用いる画面遷移制御方法
JP4058752B2 (ja) * 2001-12-11 2008-03-12 日本電気株式会社 携帯情報端末装置
JP2004078936A (ja) * 2002-07-31 2004-03-11 Matsushita Electric Ind Co Ltd 情報処理端末及び情報処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
JP2005099951A (ja) * 2003-09-22 2005-04-14 Brother Ind Ltd ジョブ管理装置、ジョブ管理プログラム、およびそれらを備えた画像形成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020139078A1 (en) * 2018-12-28 2020-07-02 Mimos Berhad System for managing operation mode based on service availability and method thereof

Also Published As

Publication number Publication date
JP2005284905A (ja) 2005-10-13

Similar Documents

Publication Publication Date Title
US7730479B2 (en) Cell-phone terminal, program management method and computer program of same
JP4058752B2 (ja) 携帯情報端末装置
US8885633B2 (en) Data communication method, data communication system, and communication terminal
US7809363B2 (en) Mobile phone terminal, program management method, and computer program for the same
JP2003169372A (ja) 携帯通信機器
KR100645735B1 (ko) 모바일 플랫폼의 컨텐츠 오동작 통신 검출 장치 및 방법
JP4563710B2 (ja) 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム
JP4637242B2 (ja) 通信機器
WO2007119550A1 (ja) システム管理装置
JP2008172683A (ja) 携帯電話機
JP4731822B2 (ja) 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム
JP4601983B2 (ja) 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム
US7761853B2 (en) Portable terminal device, method for restoring program, method for terminating program, and computer program therefor
EP1762938B1 (en) Linked operation method and mobile communication terminal device
JP2001103132A (ja) 電話装置
JP2003258950A (ja) アプリケーションプログラム実行可能な情報通信端末及びその制御方法
JP2000151798A (ja) ダイヤル/データロック機能付き携帯電話
JP3245500B2 (ja) マルチプログラミングにおける事象管理方式
WO2006041179A1 (ja) 連係動作方法及び通信端末装置
JP3038435U (ja) メッセージコールサービス装置
JP2004147070A (ja) 通信端末および通信端末の電子メール検索方法
JP2810839B2 (ja) 接続制御装置
JP4379933B2 (ja) 情報端末装置
KR100797923B1 (ko) 데이터 관리 기능을 가지는 이동통신 단말기 및 그 방법
JP4904112B2 (ja) 電話機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110412

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110420

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4731822

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees