(57)【特許請求の範囲】
【請求項１】
アプリケーション実行環境を管理するアプリケーションプログラム実行管理部と、アプリケーションプログラムに関連したプログラム関連データを、該アプリケーションプログラムの実行終了後に保持しておくためのデータ保持部と、該アプリケーションプログラム実行管理部から書込要求の指令が送られたときに該データ保持部に新しいプログラム関連データを書き込む制御手段とを備えたアプリケーションプログラム実行可能な情報通信端末であって、
上記アプリケーションプログラム実行管理部は、実行中のアプリケーションプログラムに関連したプログラム関連データの変更があったときに該アプリケーションプログラムから呼び出される関数の呼び出しの履歴を保持し、該アプリケーションプログラムの実行終了処理において、該関数の呼び出しの履歴を用いて、上記データ保持部に保持されているプログラム関連データの更新の要否を判断し、該プログラム関連データの更新が不要な場合には、上記書込要求の指令を上記制御手段に送らずにアプリケーション実行環境を終了させることを特徴とするアプリケーションプログラム実行可能な情報通信端末。
【請求項２】
請求項１のアプリケーションプログラム実行可能な情報通信端末において、
上記アプリケーションプログラムは着信イベントで特殊な動作をするアプリケーションプログラムであり、
上記プログラム関連データは着信履歴のデータであることを特徴とするアプリケーションプログラム実行可能な情報通信端末。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションプログラムに関連したプログラム関連データをアプリケーションプログラムの終了後に保持するためのデータ保持部を備えた情報通信端末に関するものである。
【０００２】
【従来の技術】
従来、この種の情報通信端末として、ＪＡＶＡ（サンマイクロシステムズ社の登録商標。以下、同様である。）仮想マシン機能を実装し、ＪＡＶＡで記述されたアプリケーションプログラムを実行できるようにした携帯電話機が知られている。このアプリケーションプログラムを実行することにより、携帯電話機のディスプレイ上に３次元動画からなる待ち受け画面を表示させたり、携帯電話機上でゲームや占いを行ったり、音楽を再生したりすることができる。
そして、上記携帯電話機では、アプリケーションプログラムの終了時に、上記アプリケーションプログラムに関連した、ゲームのスコアやプレイタイムなどのプログラム関連データを、データ保持部に保持しておく場合があった。また、この保持対象のプログラム関連データとしては、日時の変化によって待受画面の表示が変化するような待受画面用のアプリケーションプログラムを終了するときの「日時のデータ」もある。更に、起動中の着信イベント等で特殊な動作（例えばキャラクタが動いて着信を知らせる動作）をさせるアプリケーションプログラムを終了するときの「着信履歴のデータ」もある。この「着信履歴のデータ」の具体例としては、「前回着信があったアドレス」、「通話やメールの累積」、「アドレスの追加」がある。このようなプログラム関連データは、アプリケーションプログラムの終了時に、アプリケーションプログラムが使用する作業メモリ領域から、データ保持部に書き込まれる。
【０００３】
【発明が解決しようとする課題】
ところが、上記従来の携帯電話機において、上記データ保持部に保持されるプログラム関連データは、そのデータの性質上、更新する必要がない場合もあった。そして、このように更新不要な場合にも、作業メモリ領域にあるプログラム関連データをデータ保持部へ書き込んでアプリケーションプログラムの実行を終了していた。このため、プログラム関連データの更新が不要なときにも、データ書き込み処理が行なわれることになり、アプリケーションプログラムの実行終了に要する時間が長くなってしまうという問題点があった。
【０００４】
例えば、上記アプリケーションプログラムとしてゲームプログラムを実行する場合、データ保持部にその利用者がいままでゲームで達成したスコアの中で１番高い得点であるハイスコアをデータ保持部に保持させる場合がある。このデータ保持部のハイスコアのデータは、いつも更新するものではなく、ゲームで達成したスコアがハイスコアよりも悪かったときは、データ保持部のハイスコアのデータは更新しなくてもよい。また、前述の起動中の着信イベント等で特殊な動作をさせるアプリケーションプログラムの場合、プログラム起動中に新たなメール等の着信がなければ、着信履歴のデータは更新しなくてもよい。
ところが、従来の携帯電話機では、アプリケーションプログラムの終了時に、上記ハイスコアのデータや上記着信履歴データの更新が不要な場合でも、作業メモリ領域にある今までと同じハイスコアや着信履歴のデータをそのままデータ保持部に書き込んでいた。このため、更新する必要のないデータの書き込み処理が行なわれることになり、アプリケーションプログラムの実行終了に要する時間が長くなってしまうという問題点があった。
【０００５】
特に、携帯電話機では、アプリケーションプログラムの起動及び終了を頻繁に行なう場合が多く、しかもハードウェアのデータ処理能力も比較的低いため、上記アプリケーションプログラム終了時の処理時間が問題となる。
【０００６】
本発明は以上の問題点に鑑みなされたものである。その目的は、データ保持部に保持されているプログラム関連データの更新が不要な場合に、アプリケーションプログラム終了時の処理時間を従来よりも短縮することができる情報通信端末を提供することである。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、請求項１の発明は、アプリケーション実行環境を管理するアプリケーションプログラム実行管理部と、アプリケーションプログラムに関連したプログラム関連データを、該アプリケーションプログラムの実行終了後に保持しておくためのデータ保持部と、該アプリケーションプログラム実行管理部から書込要求の指令が送られたときに該データ保持部に新しいプログラム関連データを書き込む制御手段とを備えたアプリケーションプログラム実行可能な情報通信端末であって、上記アプリケーションプログラム実行管理部は、実行中のアプリケーションプログラムに関連したプログラム関連データの変更があったときに該アプリケーションプログラムから呼び出される関数の呼び出しの履歴を保持し、該アプリケーションプログラムの実行終了処理において、該関数の呼び出しの履歴を用いて、上記データ保持部に保持されているプログラム関連データの更新の要否を判断し、該プログラム関連データの更新が不要な場合には、上記書込要求の指令を上記制御手段に送らずにアプリケーション実行環境を終了させることを特徴とするものである。
また、請求項２の発明は、請求項１のアプリケーションプログラム実行可能な情報通信端末において、上記アプリケーションプログラムは着信イベントで特殊な動作をするアプリケーションプログラムであり、上記プログラム関連データは着信履歴のデータであることを特徴とするものである。
【０００８】
ここで、上記「情報通信端末」としては、ＰＤＣ（Personal Digital Cellular）方式、ＧＳＭ（Global System for Mobile Communication）方式、ＴＩＡ（Telecommunications Industry Association）方式等の携帯電話機、ＩＭＴ（International Mobile Telecommunications）−２０００で標準化された携帯電話機、ＰＨＳ（Personal Handyphone Service）、自動車電話機、固定電話機等の電話機のうち、アプリケーションプログラム実行可能なものが挙げられる。また、この「情報通信端末」としては、上記電話機のほか、電話機能を有しないＰＤＡ（Personal Digital Assistance）等の移動型の情報通信端末も挙げられる。
また、上記「アプリケーションプログラム」は情報通信端末の基本ソフトウェア上で実行される応用プログラムであり、ゲームのプログラム、占いのプログラム、３次元動画を表示させるプログラム等が挙げられる。
【０００９】
請求項１及び２の情報通信端末では、アプリケーションプログラムの実行終了処理において、アプリケーションプログラムに関連したプログラム関連データの更新の要否を判断する。そして、プログラム関連データの更新が不要な場合には、データ保持部へのプログラム関連データの書き込みを行わないようにする。これにより、プログラム関連データの変更がなかった場合に、プログラム関連データの更新が不要な場合に、データ保持部へのプログラム関連データの不要な書き込み処理を回避することができる。
【００１０】
なお、上記プログラム関連データの更新要否の判断と、上記プログラム関連データの書き込み制御とを行なう機能は、情報通信端末内で制御用プログラムを実行することによって実現することができる。この制御用プログラムは、上記アプリケーションプログラム実行管理部の内部で実行されるように構成してもいいし、アプリケーションプログラム実行管理部とは異なる制御部で実行するようにしてもよい。また、両者で分担して実行するようにしたもよい。
また、上記制御用プログラムの受け渡しは、デジタル情報としてプログラムを記録したＦＤ，ＣＤ−ＲＯＭ等の記録媒体を用いて行なってもいいし、コンピュータネットワーク等の通信回線を用いて行なってもよい。この制御用プログラムの情報通信端末に対するインストールやバージョンアップは、例えば、上記記録媒体からデータを読み取るデータ読取装置と情報通信端末とをインターフェースケーブル等の有線インターフェースで接続して行う。また、上記制御用プログラムのインストールやバージョンアップは、上記データ読取装置と情報通信端末とを無線インターフェースで接続して行なうようにしてもいいし、通信ネットワークを介してオンラインで行うようにしてもよい。
【００１１】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
図２は本発明の実施形態に係る携帯電話機１０の外観図であり、図３は同携帯電話機１０のハードウェアの概略ブロック図である。携帯電話機１０は、システムバス１００、ＣＰＵ１０１、ＲＡＭ１０２やＲＯＭ１０３等からなる内部記憶装置（内部メモリ）、入力装置１０４、出力装置１０５、携帯電話用通信装置１０６等を備えている。上記入力装置１０４は、データ入力キー（テンキー、＊キー、＃キー）１１、通話開始キー１２、終話キー１３、スクロールキー１４、多機能キー１５、マイク１６等で構成されている。また、上記出力装置１０５は、液晶ディスプレイ（ＬＣＤ）１７やスピーカ１８等で構成されている。また、携帯電話用通信装置１０６は、携帯電話通信網を介して他の携帯電話機や各種サーバと通信するための装置である。ＣＰＵ１０１やＲＡＭ１０２等の構成要素はお互いに、システムバス１００を介して、各種データや後述のプログラムの命令等のやり取りを行っている。
【００１２】
図４は本実施形態の携帯電話機１０における本発明の主要部を抽出して示したブロック図であり、図５は同携帯電話機１０におけるソフトウェア構造の説明図である。携帯電話機１０は、電話通信部２０１、データ通信部２０２、操作部２０３、アプリケーションプログラム実行管理部２０４、主制御部２０５、データ保持部２０６等を備えている。
【００１３】
上記電話通信部２０１は、携帯電話機や固定電話機と電話通信を行なうために、携帯電話通信網の基地局と無線通信を行なうものであり、前述のハードウェア構成上の携帯電話用通信装置１０６等に対応する。
【００１４】
上記データ通信部２０２は、携帯電話機通信網を介して他の携帯電話機とメールのやり取りを行ったり、ニュース、地図情報、商品情報などの特定の情報提供サービスを受けたりするためのものである。また、このデータ通信部２０２は、ＪＡＶＡアプリケーションプログラム、音楽データ、画像データをダウンロードするときにも用いられる。さらに、このデータ通信部２０２は、ゲートウェイサーバを介して、インターネット等の外部の通信ネットワークに接続し、インターネット上での電子メールのやり取りやホームページの閲覧等を行う場合にも用いられる。このデータ通信部２０２も、上記電話通信部２０１と同様に、前述のハードウェア構成上の携帯電話用通信装置１０６等に対応する。
【００１５】
上記操作部２０３は、利用者が操作可能な前述のテンキー１１、通話開始キー１２、終話キー１３等で構成されている。この操作部２０３を操作することにより、利用者は、携帯電話機１０に対してデータを入力したり、電話着信の際に通話の開始及び終了を行なったり、プリケーションプログラムの選択、起動及び停止を行なったりすることができる。
【００１６】
上記アプリケーションプログラム実行管理部２０４は、前述のシステムバス１００、ＣＰＵ１０１やＲＡＭ１０２等で構成されている。このアプリケーションプログラム実行管理部２０４は、図５のソフトウェア構造上において中央の「共通ＪＡＶＡ実行環境」に対応している。そして、アプリケーションプログラム実行管理部２０４は、ＪＡＶＡアプリケーション用のクラスライブラリ、実行環境管理ライブラリ、アプリケーション管理等のソフトウェアを提供する。そして、ＪＡＶＡアプリケーションプログラムの実行環境を管理する。
ここで、ＪＡＶＡアプリケーションプログラムは、クラスライブラリＡＰＩ（アプリケーションインターフェース）を介して上記共通ＪＡＶＡ実行環境内にある関数等のクラスライブラリを呼び出して使用できるようになっている。この関数等のクラスライブラリの呼び出しの履歴は、後述のユーザデータの更新有無の判断がなされるまで、又はＪＡＶＡアプリケーションプログラムの仮想的な実行環境が終了するまで保持される。
また、共通ＪＡＶＡ実行環境内の実行環境管理ライブラリは、電話機プラットフォームＡＰＩを介して後述の電話機プラットフォーム内の電話機プラットフォームライブラリを呼び出して使用できるようになっている。
【００１７】
上記主制御部２０５は、上記電話通信部２０１、データ通信部２０２、操作部２０３、アプリケーションプログラム実行管理部２０４及び後述のデータ保持部２０６を制御するものである。この主制御部２０５は、前述のシステムバス１００、ＣＰＵ１０１やＲＡＭ１０２等で構成されている。また、この主制御部２０５は、図５のソフトウェア構造上において最下部の「電話機プラットフォーム」に対応している。そして、上記電話通信部２０１等を制御するための制御用プログラムやユーザインターフェースを実行したり、電話機プラットフォームライブラリを提供したりする。この電話機プラットフォームは、上記共通ＪＡＶＡ実行環境内の実行環境管理ライブラリに対してイベントコマンドを送ることによりＪＡＶＡアプリケーション上の各種イベントを実行することができる。また、この電話機プラットフォームは、アプリケーション管理ＡＰＩを介して上記共通ＪＡＶＡ実行環境内のアプリケーション管理のソフトウェアを呼び出して使用することもできる。
【００１８】
上記データ保持部２０６は、不揮発性のＲＡＭ１０２等の内部メモリで構成され、図５の最下部の「電話機プラットフォーム」の内部に設けられている。
なお、データ保持部２０６は内部メモリではなく、携帯電話機本体に着脱可能な外部の記録媒体で構成してもよい。この外部の記録媒体としては、ＳＤメモリーカード、ＣＦ（コンパクトフラッシュ：登録商標）メモリーカード、スマートメディア、メモリースティック、ＭＭＣ（マルチメディアカード）が挙げられる。また、上記データ保持部２０６は、通信ネットワークを介して携帯電話機１０と通信可能なサーバに設けても良い。
【００１９】
上記データ保持部２０６は、ＪＡＶＡアプリケーションプログラムに関連したプログラム関連データを、ＪＡＶＡアプリケーションプログラムの実行終了後に保持しておく機能を有している。このプログラム関連データとしては、ゲームのプログラムを実行したときに達成できたハイスコアのデータなどのユーザデータ等が挙げられる。
【００２０】
また、携帯電話機１０は、上記データ保持部２０６へのプログラム関連データの書き込みを制御する制御手段を備えている。この制御手段は、アプリケーションプログラムの実行終了処理において、上記プログラム関連データの更新の要否を判断するように制御する。そして、プログラム関連データの更新が不要な場合には、上記データ保持部２０６へのプログラム関連データの書き込みを行わないように制御する。
本実施形態では、この制御手段を、上記アプリケーションプログラム実行管理部２０４と、上記主制御部２０５とを組み合わせて構成している。アプリケーションプログラム実行管理部２０４は、アプリケーションプログラムの実行終了処理において上記プログラム関連データの更新の要否の判断を行なう。更に、プログラム関連データの更新が必要な場合にデータ書込指令及び書き込み対象のプログラム関連データの主制御部２０５への送信を行なう。主制御部２０５は、アプリケーションプログラム実行管理部２０４からのデータ書込指令の有無に基づいてデータ保持部２０６に対するプログラム関連データの書き込みを制御する。
【００２１】
携帯電話機１０を所定の手順に従って動作させる電話機プラットフォームを構築するための制御用プログラムはＲＡＭ１０２やＲＯＭ１０３に記憶されている。また、基本ＯＳ（オペレーティングシステム）のプログラムや、上記共通ＪＡＶＡ実行環境を構築するためのプログラム及びＪＡＶＡアプリケーションプログラムも、ＲＡＭ１０２やＲＯＭ１０３に記憶されている。そして、これらのプログラムは、必要に応じてＣＰＵ１０１やＲＡＭ１０２中の作業エリアに呼び出されて実行される。
【００２２】
上記構成の携帯電話機１０において外部からの電話着信があったときは、ディスプレイ１７上に「○×さんから電話です・・・」等の着信通知を表示したり、携帯電話機自体を振動させたりする。これにより、電話着信があった旨を利用者に報知する。この報知を受けた利用者は、通話開始キー１２を押下することにより電話着信を受けて通話を開始することができる。通話を終了するときは、終話キー１３を押下する。ここで、本実施形態の携帯電話機１０ではエニーキーアンサー機能を備えている。そして、上記通話開始キー１２のほか、エニーキーとして設定されているデータ入力キー１１（テンキー、＊キー及び＃キー）のいずれのキーを押下しても電話着信を受けて通話を開始できるようになっている。
一方、上記電話着信の報知を受けた利用者が、例えば会議中であるなどの理由によって電話着信に対する応答を保留する場合は、応答保留キーとして兼用されている上記終話キー１３を押下する。
【００２３】
また、上記構成の携帯電話機１０においてＪＡＶＡアプリケーションプログラムを実行するときは、ディスプレイ１７上のリストから希望のＪＡＶＡアプリケーションを選択して多機能キー１５を押下することにより起動する。ここで、ＪＡＶＡアプリケーションプログラムとしては、ディスプレイ１７上に３次元動画からなる待ち受け画面を表示させたりする常駐型のＪＡＶＡアプリケーションプログラムを起動させることもできる。
【００２４】
図６は、上記ユーザデータの変更があるときの常駐型ＪＡＶＡアプリケーションプログラムの実行終了処理のシーケンスフロー図である。
ＪＡＶＡアプリケーションプログラムを起動しているときに、プログラム関連データとしてのユーザデータの変更があったときは、ＪＡＶＡアプリケーションプログラムから共通ＪＡＶＡ実行環境内にある関数が呼び出される。この関数としては、例えば「AddRecordStore」、「SetRecorStore」、「OpenRecordStore(True)」、「DeleteRecordStore」の４種類が呼び出し可能になっている。これらは、ＪＡＶＡアプリケーションからＪＡＶＡ仮想マシン（ＶＭ）に対して、プログラム終了時に書き込まれるユーザデータの作成、追加、変更、削除を要求するＡＰＩである。
上記関数呼び出しの履歴は、ＪＡＶＡ仮想マシン（ＶＭ）が使用する作業メモリ領域（JAVA work area）に、前述のようにユーザデータの更新有無の判断がなされるまで、又はＪＡＶＡアプリケーションプログラムの仮想的な実行環境が終了するまで保持される。そして、この関数呼び出しの履歴は、後述のユーザデータ更新の要否の判断に用いられる。
次に、ユーザが上記常駐型のＪＡＶＡアプリケーションプログラムの実行終了を要求するように操作部２０３を操作する。この操作により、上記主制御部２０５の電話機プラットフォームから上記アプリケーションプログラム実行管理部２０４のＪＡＶＡ仮想マシン（ＶＭ）に対して、「終了要求」の指令が送られる。
上記「終了要求」の指令を受けたアプリケーションプログラム実行管理部２０４のＪＡＶＡ仮想マシン（ＶＭ）は、ＪＡＶＡアプリケーションプログラムに対して「終了要求」の指令を送ってプログラムを終了させる。そして、上記関数呼び出しの履歴を確認してユーザデータの変更があったか否か、すなわちユーザデータの更新が必要な否かが判断される。ここで、ユーザデータの変更があったとき、すなわちユーザデータの更新が必要であると判定したときは、「書込要求」の指令を、ユーザデータとともに、主制御部２０５の電話機プラットフォームに対して送る。この「書込要求」の指令は、新しいユーザデータの上記データ保持部２０６への書き込み処理を要求するための指令である。
「書込要求」の指令を受けた主制御部２０５の電話機プラットフォームでは、ＪＡＶＡ仮想マシン（ＶＭ）から受けた新しいユーザデータを、データ保持部２０６へ書き込む処理を実行する。以下、このユーザデータの書き込みを「レコードストア」という。そして、ＪＡＶＡ仮想マシン（ＶＭ）に対して「書込終了」の情報を送るとともに、携帯電話機１０のディスプレイ１７上の表示を「終了中画面」から通常の「待ち受け画面」に切り替える。
「書込終了」の情報を受けたＪＡＶＡ仮想マシン（ＶＭ）は、ＪＡＶＡアプリケーションプログラムの仮想的な実行環境を終了させる。
【００２５】
図１は、上記ユーザデータの変更がないときの常駐型ＪＡＶＡアプリケーションプログラムの実行終了処理のシーケンスフロー図である。
常駐型のＪＡＶＡアプリケーションプログラムを起動しているときに、ユーザデータ（例えば、着信履歴やハイスコアのデータ）の変更がないときは、ＪＡＶＡアプリケーションプログラムから共通ＪＡＶＡ実行環境内にある関数は呼び出されない。従って、この関数呼び出しの履歴は残らない。
前述の図６の場合と同様に、上記「終了要求」の指令を受けたアプリケーションプログラム実行管理部２０４は、ＪＡＶＡアプリケーションプログラムに対して「終了要求」の指令を送ってプログラムを終了させる。そして、上記関数呼び出しの履歴を確認してユーザデータの変更があったか否か、すなわちユーザデータの更新の要否を判断する。ここで、ユーザデータの変更がないので、ユーザデータの更新が不要であると判断される。そして、前述の図６の場合のようなユーザデータの上記データ保持部２０６への書き込み処理を要求するための「書込要求」の指令を送ることなく、ＪＡＶＡアプリケーションプログラムの仮想的な実行環境を終了させる。
「書込要求」の指令を受けなかった主制御部２０５の電話機プラットフォームでは、上記レコードストア処理を実行することなく、携帯電話機１０のディスプレイ１７上の表示を「終了中画面」から通常の「待ち受け画面」に切り替える。
【００２６】
以上のように、上記ユーザデータの変更がなかった場合には、主制御部２０５の電話機プラットフォームとの間で上記「書込要求」及び「書込終了」のやり取りがない。しかも電話機プラットフォーム側で上記「レコードストア」処理も行なわれない。従って、上記ユーザデータの変更がなかった場合のＪＡＶＡアプリケーションプログラムの終了処理を従来よりも短縮することができる。
【００２７】
なお、本発明は、ＪＡＶＡ以外の他の種類のアプリケーションプログラムを実行できるように構成された携帯電話機についても適用でき、同様な効果が得られるものである。
また、本発明は、アプリケーションプログラムを実行可能なものであれば、ＰＨＳ、自動車電話機、固定電話機等の電話機のほか、携帯型のＰＤＡの場合についても適用でき、同様な効果が得られるものである。
【００２８】
【発明の効果】
請求項１及び２の発明によれば、データ保持部に保持されいているプログラム関連データの更新が不要な場合に、プログラム関連データの不要な書き込み処理を回避できる。従って、アプリケーションプログラム終了時の処理時間を従来よりも短縮することができるという優れた効果がある。
【図面の簡単な説明】
【図１】本発明の実施形態に係る携帯電話機におけるユーザデータの変更がないときの常駐型ＪＡＶＡアプリケーションプログラムの実行終了処理のシーケンスフロー図。
【図２】同携帯電話機の外観図。
【図３】同携帯電話機のハードウェアの概略構成図。
【図４】同携帯電話機の主要部を示したブロック図。
【図５】同携帯電話機におけるソフトウェア構造を示す説明図。
【図６】同携帯電話機におけるユーザデータの変更があるときの常駐型ＪＡＶＡアプリケーションプログラムの実行終了処理のシーケンスフロー図。
【符号の説明】
１０    携帯電話機
１１    データ入力キー
１２    通話開始キー
１３    終話キー
１４    スクロールキー
１５    多機能キー
１６    マイク
１７    ディスプレイ
１８    スピーカ
１００  システムバス
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  入力装置
１０５  出力装置
１０６  携帯電話用通信装置
２０１  電話通信部
２０２  データ通信部
２０３  操作部
２０４  アプリケーションプログラム実行管理部
２０５  主制御部
２０６  データ保持部
【図１】
0003872989.tif 000002
【図２】
0003872989.tif 000003
【図３】
0003872989.tif 000004
【図４】
0003872989.tif 000005
【図５】
0003872989.tif 000006
【図６】
0003872989.tif 000007