(57)【特許請求の範囲】
【請求項１】
ネイティブ環境上にアプリケーション実行環境を実装し、該アプリケーション実行環境上でアプリケーションを実行することが可能な携帯通信機器であって、
前記アプリケーション実行環境は、前記アプリケーションからのタイマ設定要求に基づいて、用意されたクラスライブラリを使用して前記ネイティブ環境に対して該ネイティブ環境上で実行される起動タイマの設定要求を行う機能を有し、
前記ネイティブ環境は、前記アプリケーション実行環境からの前記クラスライブラリを使用した前記起動タイマの設定要求に基づいて前記起動タイマの設定を行う機能と、前記起動タイマが満了した際に一時停止あるいは終了されている前記アプリケーション実行環境および前記アプリケーションを起動するよう制御する機能とを少なくとも有していることを特徴とする携帯通信機器。
【請求項２】
前記ネイティブ環境は、前記起動タイマが満了して前記アプリケーションを起動した時に、前記タイマ設定要求で設定されたタイマイベントを前記アプリケーションに対して通知する機能を有し、前記起動タイマが満了した際に前記アプリケーションにおいて前記タイマイベントに基づく処理が実行されるようになされていることを特徴とする請求項１記載の携帯通信機器。
【請求項３】
前記ネイティブ環境は、前記ネイティブ環境上で実行される前記起動タイマをユーザ操作によりユーザ設定する機能を有し、当該ユーザ設定に基づいて前記起動タイマが満了した際に一時停止あるいは終了されている前記アプリケーション実行環境および前記アプリケーションを起動するよう制御することを特徴とする請求項１記載の携帯通信機器。
【請求項４】
前記ユーザ設定に基づいて前記起動タイマが満了した際の制御が、前記アプリケーション実行環境からのタイマ設定要求に基づいて前記起動タイマが満了した際の制御より優先して実行されることを特徴とする請求項３記載の携帯通信機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、携帯電話機などの携帯通信機器、特に、アプリケーション実行機能を有する携帯通信機器に関する。
【０００２】
【従来の技術】
近年、Ｊａｖａ(TM)などのアプリケーション実行機能を搭載した携帯通信機器が知られている。このようなＪａｖａ(TM)搭載機器において、アプリケーション起動中に電話やメールが着信すると、アプリケーションの動作が停止され、電話切断後に再度Ｊａｖａ(TM)アプリケーションが起動されていた。あるいは、電話やメールが到着したときに、自動的にＪａｖａ(TM)アプリケーションが一時停止されるようになされていた。
また、従来のＪａｖａ(TM)搭載携帯通信機器においては、Ｊａｖａ(TM)アプリケーションをユーザ操作によりタイマ起動できるようにタイマ設定を行うことが可能とされていた。
【０００３】
【発明が解決しようとする課題】
このような従来のＪａｖａ(TM)搭載携帯通信機器におけるタイマ設定のシーケンスを図９に示す。
Ｊａｖａ(TM)搭載携帯通信機器には、移動機ネイティブ環境上にＪａｖａ(TM)実行環境が実装されており、このＪａｖａ(TM)実行環境上においてＪａｖａ(TM)アプリケーションが実行可能とされている。Ｊａｖａ(TM)アプリケーションのタイマ起動の設定を行う際には、図９に示すように、ユーザは移動機の表示部にＪａｖａ(TM)メニューを表示してネイティブ環境上の起動タイマの設定を行うことにより、Ｊａｖａ(TM)アプリケーションを起動させる時刻を設定する。この起動タイマは、アプリケーション実行環境が停止されていても動作するよう移動機ネイティブ環境上で実行されるネイティブタイマであり、タイマ設定処理も移動機ネイティブ環境上で実行される移動機処理とされる。なお、図９に示すようにタイマ設定処理はアプリケーション実行環境が停止中に行われている。
【０００４】
そして、設定された時刻に達してネイティブタイマがタイムアップすると移動機ネイティブ環境からＪａｖａ(TM)実行環境にＪａｖａ(TM)起動要求が通知される。これにより、一時停止中のＪａｖａ(TM)実行環境が起動されてその動作が再開され、Ｊａｖａ(TM)アプリケーションに対してＪａｖａ(TM)起動要求を通知する。次いで、起動要求を受けたＪａｖａ(TM)アプリケーションが起動されるようになる。これにより、Ｊａｖａ(TM)アプリケーションが壁紙を表示するアプリケーションであった場合には、タイムアップした際にＪａｖａ(TM)の壁紙が表示部に表示されるようになる。そして、アプリケーション実行環境はＪａｖａ(TM)アプリケーションの起動完了を移動機ネイティブ環境に通知する。
【０００５】
このように、Ｊａｖａ(TM)アプリケーションを起動させるタイマは移動機ネイティブ環境におけるネイティブタイマとされており、そのタイマ設定はユーザが手動で行っており、Ｊａｖａ(TM)アプリケーションから起動タイマの設定をすることができず、Ｊａｖａ(TM)アプリケーションの主導の基で所望のタイミングで動作させることができないという問題点があった。そこで、Ｊａｖａ(TM)アプリケーションをタイマ起動させることなく所望のタイミングで動作可能なように、Ｊａｖａ(TM)アプリケーションの動作を継続させて動作させるようにすると、消費電力が大きくなりＪａｖａ(TM)アプリケーションを間欠的に動作させる状態に比べて待ち受け時間が短縮されるという問題点が生じることになる。
【０００６】
そこで、本発明は、アプリケーションからネイティブ環境上のタイマのタイマ設定を行えるようにした携帯通信機器を提供することを目的としている。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明の携帯通信機器は、ネイティブ環境上にアプリケーション実行環境を実装し、該アプリケーション実行環境上でアプリケーションを実行することが可能な携帯通信機器であって、前記アプリケーション実行環境は、前記アプリケーションからのタイマ設定要求に基づいて、用意されたクラスライブラリを使用して前記ネイティブ環境に対して該ネイティブ環境上で実行される起動タイマの設定要求を行う機能を有し、前記ネイティブ環境は、前記アプリケーション実行環境からの前記クラスライブラリを使用した前記起動タイマの設定要求に基づいて前記起動タイマの設定を行う機能と、前記起動タイマが満了した際に一時停止あるいは終了されている前記アプリケーション実行環境および前記アプリケーションを起動するよう制御する機能とを少なくとも有している。
【０００８】
また、上記本発明の携帯通信機器において、前記ネイティブ環境は、前記起動タイマが満了して前記アプリケーションを起動した時に、前記タイマ設定要求で設定されたタイマイベントを前記アプリケーションに対して通知する機能を有し、前記起動タイマが満了した際に前記アプリケーションにおいて前記タイマイベントに基づく処理が実行されるようになされていてもよい。
【０００９】
さらに、上記本発明の携帯通信機器において、前記ネイティブ環境は、前記ネイティブ環境上で実行される前記起動タイマをユーザ操作によりユーザ設定する機能を有し、当該ユーザ設定に基づいて前記起動タイマが満了した際に一時停止あるいは終了されている前記アプリケーション実行環境および前記アプリケーションを起動するよう制御するようにしてもよい。
さらにまた、前記ユーザ設定に基づいて前記起動タイマが満了した際の制御が、前記アプリケーション実行環境からのタイマ設定要求に基づいて前記起動タイマが満了した際の制御より優先して実行されるようにしてもよい。
【００１０】
このような本発明によれば、アプリケーションからのタイマ設定要求に基づいて、ネイティブ環境上で実行される起動タイマの設定要求をアプリケーション実行環境からネイティブ環境に対して行うことにより、ネイティブ環境においてタイマ設定が行われるようにしたので、アプリケーションからネイティブ環境上の起動タイマのタイマ設定を行うことができるようになる。これにより、アプリケーション自身によりアプリケーション起動のタイミングを制御することができるため、アプリケーションの主導の基で所望のタイミングでアプリケーションを動作させることができようになる。また、アプリケーションを動作し続けることなく所望のタイミングでアプリケーションが動作可能となることから、待ち受け時間が短縮されることを防止することができるようになる。
【００１１】
【発明の実施の形態】
図１は、本発明の実施の形態における携帯通信機器（以下、「移動機」という。）のハードウェア構成の概略を示すブロック図である。
図１において、１は移動機１００の全体の制御を行うＣＰＵ（中央処理装置）、２はオペレーティングシステムやネイティブプログラムなど各種制御プログラム、Ｊａｖａ(TM)実行環境プログラム、各種のＪａｖａ(TM)アプリケーションプログラム、各種のアプリケーションプログラムおよび各種データなどを記憶するＲＯＭやフラッシュメモリなどの不揮発性メモリ、ＤＲＡＭなどの揮発性メモリから構成される記憶部、３は表示部、４はキー入力部である。また、５はアンテナ、６は高周波増幅器、受信ミキサ、中間周波増幅器および復調部などからなる受信部、７は変調部、送信ミキサおよび送信電力増幅部などからなる送信部、８は前記受信ミキサおよび送信ミキサに高周波信号を供給する周波数シンセサイザ、９は音声信号処理などを行う信号処理部、１０は送話用マイク（ＭＩＣ）、１１は受話用スピーカ（ＳＰ）である。
【００１２】
本発明においては、このように構成された移動機１００上にＪａｖａ(TM)仮想マシン環境を実装し、Ｊａｖａ(TM)アプリケーションプログラムを動作させることができるようになされている。図２はこのようなＪａｖａ(TM)仮想マシン機能を持つ移動機（Ｊａｖａ(TM)移動機）のソフトウェア構造の概要を示す図であり、図３はソフトウェア構造をより詳細に示す図である。
これらの図に示すように、移動機ネイティブ環境１０１の上にＪａｖａ(TM)実行環境１０２が実装されており、その上でＪａｖａ(TM)アプリケーション１０３が実行される。Ｊａｖａ(TM)アプリケーション１０３は、３Ｄ（３次元）待ち受け用やゲーム等のアプリケーションプログラム、表示部３に表示する壁紙用等のアプリケーションプログラムとされる。移動機ネイティブ環境１０１は、移動機ハードウェア、オペレーティングシステム、および、ブラウザやネットワーキングコンポーネントなどのネイティブソフトウエアが含まれる移動機プラットフォームライブラリからなる。通常の電話機能やウェブサービスは、これらを使用して実行される。
【００１３】
Ｊａｖａ(TM)実行環境１０２は、Ｊａｖａ(TM)移動機ソフトウェア構造のミドルウェアに位置し、上位のＪａｖａ(TM)アプリケーション１０３と下位の移動機ネイティブ環境１０１におけるプログラムの実行と管理に必要なライブラリとプログラムを提供する。ここでは、組み込み機器をターゲットにしたJava 2 Platform Micro Edition（J2ME）が採用されており、Ｊａｖａ(TM)仮想マシンであるＫＶＭ（K Virtual Machine）、クラスライブラリ、および、Ｊａｖａ(TM)アプリケーションの実行制御機能および管理機能を有するアプリケーションマネージャが含まれている。
クラスライブラリには、コンフィギュレーションと呼ばれるコアクラスライブラリ（ＣＬＤＣ：Connected, Limited Device Configuration）とプロファイルと呼ばれる機器の種別に応じたクラスライブラリが含まれており、ＣＬＤＣ標準ライブラリ、携帯電話用プロファイルの標準であるＭＩＤＰ（Mobile Information Device Profile）、拡張クラスライブラリ、および、移動機ネイティブ環境への組み込み用に特化した実行環境管理ライブラリが含まれている。この実行環境管理ライブラリには、メモリ管理機能、ストレージ管理機能、低レベルグラフィック機能、イベント制御機能、タイマ機能、時間管理機能、ネットワーク通信機能、システムプロパティ機能などが標準機能として含まれており、デバイスコントロール機能、メディアコンポーネント機能（メディアプレイヤ）、サウンド機能、スプライト機能、３Ｄポリゴン機能などが拡張機能として含まれている。
【００１４】
上述した各ライブラリ及びソフトウェアを使用するために、図３に示すようにクラスライブラリ・アプリケーション・インターフェース（AP Class Library API）、移動機プラットフォーム・インターフェース（MS Platform API）、アプリケーションマネージャ・インターフェース（AM API）が規定されている。これにより、前記Ｊａｖａ(TM)アプリケーション１０３は、クラスライブラリ・アプリケーション・インターフェースを介してＡＰクラスライブラリ（ＣＬＤＣ＋ＭＩＤＰ＋拡張クラスライブラリ）を使用し、Ｊａｖａ(TM)実行環境１０２の管理プログラムは、移動機プラットフォーム・インターフェースを使用して移動機ネイティブ環境１０１内の移動機プラットフォーム・ライブラリを使用し、移動機ネイティブ環境１０１は、アプリケーションマネージャ・インターフェースを使用してアプリケーションマネージャの機能を使用することができる。
また、外部イベントなどが発生したときには、移動機ネイティブ環境１０１から前記実行環境管理ライブラリ中のイベント管理部に通知される。
【００１５】
Ｊａｖａ(TM)アプリケーション１０３は、１つのＪＡＲ（Java Archive）ファイルとそれに対応する１つのＪＡＤ（Java Application Descriptor）ファイル（記述子ファイル）で構成されている。
ＪＡＲファイルは、Ｊａｖａ(TM)アプリケーション１０３の実行に使用される圧縮／非圧縮のバイナリファイルであり、Ｊａｖａ(TM)アプリケーション１０３で使用される全クラスファイル、Ｊａｖａ(TM)アプリケーション１０３が使用する画像や音声などのリソースファイルおよびマニフェストファイルがまとめられたものである。マニフェストファイルは、アプリケーション名、バージョン、ベンダ名、クラス名、プログラムファイル名、コンフィギュレーション名、アプリケーションの説明などを記述したテキストファイルであり、Ｊａｖａ(TM)アプリケーションの識別、インストール、および、ＪＡＤファイルに記載されていない属性を使用するためにＪＡＲファイルに含まれているものである。
ＪＡＤファイルは、対応するＪＡＲファイルの説明（属性）が記述されたテキストファイルであり、アプリケーション名、アプリケーションのバージョン、ベンダ名、ＪＡＲファイルの存在する位置、ＪＡＲファイルのサイズなどの各種情報が記述されている。
【００１６】
前述のように、アプリケーションマネージャ１１０は、Ｊａｖａ(TM)アプリケーション１０３の実行制御機能を有しており、移動機ネイティブ環境１０１は、このアプリケーションマネージャ１１０を使用してＪａｖａ(TM)アプリケーション１０３の実行を制御する。このＪａｖａ(TM)アプリケーション１０３の実行制御について図４を参照して説明する。
Ｊａｖａ(TM)アプリケーション１０３を起動するとき、移動機ネイティブ環境１０１は、Ｊａｖａ(TM)実行環境１０２を立ち上げ、前記アプリケーションマネージャ・インターフェースで定められるアプリケーション起動関数を呼び出すことにより、Ｊａｖａ(TM)アプリケーション１０３を起動する。
【００１７】
Ｊａｖａ(TM)実行環境１０２およびＪａｖａ(TM)アプリケーション１０３を外部からの何らかの理由（着信イベントなど）で一時停止させるときには、移動機ネイティブ環境１０１は、アプリケーションマネージャ・インターフェースで定められるアプリケーション一時停止関数を呼び出してＪａｖａ(TM)アプリケーション１０３を一時停止させる。
また、Ｊａｖａ(TM)アプリケーション１０３が自ら所定の関数を発行することにより、移動機ネイティブ環境１０１がアプリケーション一時停止関数を呼び出してＪａｖａ(TM)アプリケーション１０３を一時停止させることもできる。
一時停止中のＪａｖａ(TM)アプリケーション１０３を再開させるときは、移動機ネイティブ環境１０１は、アプリケーションマネージャ・インターフェースで定められるアプリケーション再開関数を呼び出し、Ｊａｖａ(TM)アプリケーション１０３の実行を再開させる。
【００１８】
ユーザからの終了要求などにより、Ｊａｖａ(TM)アプリケーション１０３を終了させるときは、移動機ネイティブ環境１０１が、アプリケーションマネージャ・インターフェースで定められるアプリケーション終了関数を呼び出し、Ｊａｖａ(TM)アプリケーション１０３を終了させる。
さらにまた、終了要求、一時停止要求などに対してＪａｖａ(TM)実行環境１０２から応答がない場合等には、移動機ネイティブ環境１０１は、アプリケーションマネージャ・インターフェースで定められるアプリケーション強制終了関数を呼び出すことにより強制終了処理を行う。
ところで、本発明にかかる移動機１００において特徴的なことは、Ｊａｖａ(TM)アプリケーション１０３がタイマ設定要求を発行することにより、移動機ネイティブ環境１０１上で実行される起動タイマとされるネイティブタイマのタイマ設定を行えるようにしたことであり、この際に使用するクラスライブラリがＡＰクラスライブラリ（ＣＬＤＣ＋ＭＩＤＰ＋拡張クラスライブラリ）１１２に用意されている。
【００１９】
次に、本発明のＪａｖａ(TM)搭載の移動機１００における移動機ネイティブ環境１０１上で実行されるネイティブタイマのタイマ設定処理のシーケンスを図５ないし図７に示す。ただし、図５はタイマ満了時にＪａｖａ(TM)アプリケーションが一時停止状態になっている場合のシーケンス図であり、図６はタイマ満了時にＪａｖａ(TM)アプリケーションが終了状態になっている場合のシーケンス図であり、図７はタイマ満了時にＪａｖａ(TM)アプリケーションが起動を継続している場合のシーケンス図である。
図５に示すシーケンス図におけるタイマ設定処理を以下に説明する。Ｊａｖａ(TM)アプリケーション１０３が起動中に、Ｊａｖａ(TM)アプリケーション１０３がネイティブタイマのタイマ設定処理を開始すると、Ｊａｖａ(TM)アプリケーション１０３はタイマ設定要求をＪａｖａ(TM)実行環境に発行する。これを受けたＪａｖａ(TM)実行環境１０２は、移動機ネイティブ環境１０１に対してタイマ設定要求を発行し、これにより、移動機ネイティブ環境１０１においてＪａｖａ(TM)アプリケーションから指定された起動時刻がネイティブタイマにセットされる。
【００２０】
この場合、移動機ネイティブ環境１０１におけるネイティブタイマに対するタイマイベントの設定は、設定時間からｘｘ秒後に起動するという形で設定される。設定可能時間は、例えば１〜８６４００秒の範囲とされ、１つのＪａｖａ(TM)アプリケーションにつき１イベントのみ設定可能とされる。ただし、ユーザ操作に基づく移動機ネイティブ環境１０１からのネイティブタイマの起動設定はこれとは独立して設定することができる。なお、タイマイベントはそのタイマ設定が解除されない限りＪａｖａ(TM)アプリケーション１０３が終了した場合や、移動機１００の電源をＯＦＦにした場合にも解除されないようになされている。すなわち、これらの場合にはＪａｖａ(TM)アプリケーション１０３が終了した時点でタイマのカウントを中断せずに継続して行なうようにしている。
【００２１】
ここで、Ｊａｖａ(TM)アプリケーション１０３から一時停止要求がＪａｖａ(TM)実行環境１０２に発行されると、これを受けたＪａｖａ(TM)実行環境１０２は、移動機ネイティブ環境１０１に対してＪａｖａ(TM)アプリケーション１０３を一時停止させる一次停止開始要求を発行する。これを受けた移動機ネイティブ環境１０１は、Ｊａｖａ(TM)実行環境１０２にＪａｖａ(TM)アプリケーション１０３を一時停止させる一時停止要求を発行する。この一時停止要求の発行は、アプリケーションマネージャ・インターフェースで定められるアプリケーション一時停止関数を呼び出すことにより行われる。これにより、Ｊａｖａ(TM)アプリケーション１０３およびＪａｖａ(TM)実行環境１０２が一時停止される。Ｊａｖａ(TM)実行環境１０２は、一時停止する際に移動機ネイティブ環境１０１に対して一時停止完了通知を発行し、移動機ネイティブ環境１０１はＪａｖａ(TM)アプリケーション１０３およびＪａｖａ(TM)実行環境１０２が一時停止されたことを知る。
【００２２】
ここで、移動機ネイティブ環境１０１において実行中のネイティブタイマにセットされている時刻に達してタイマ満了となった場合に、表示部３に待ち受け画面が表示されている状態の時は、移動機ネイティブ環境１０１はＪａｖａ(TM)実行環境１０２に対してＪａｖａ(TM)起動要求を発行する。これにより、Ｊａｖａ(TM)実行環境１０２が起動されて、Ｊａｖａ(TM)実行環境１０２はＪａｖａ(TM)アプリケーション１０３に対してＪａｖａ(TM)起動要求を発行する。このＪａｖａ(TM)起動要求は、移動機ネイティブ環境１０１がアプリケーションマネージャ・インターフェースで定められるアプリケーション再開関数を呼び出すことにより行われる。これにより、一次停止されていたＪａｖａ(TM)アプリケーション１０３が再開されるようになる。
【００２３】
Ｊａｖａ(TM)実行環境１０２は起動に伴い、移動機ネイティブ環境１０１に対して起動完了通知を発行し、これを受けた移動機ネイティブ環境１０１はタイマ満了したタイマイベントをＪａｖａ(TM)実行環境１０２に対して発行する。これを受けたＪａｖａ(TM)実行環境１０２は、Ｊａｖａ(TM)アプリケーション１０３に対してタイマイベントを発行し、Ｊａｖａ(TM)アプリケーション１０３においてタイマイベントにより割込処理が開始されて実行されるようになる。この割込処理では、Ｊａｖａ(TM)アプリケーション１０３に割込処理として用意されているプログラムが実行される。
【００２４】
また、タイマ満了となったタイミングで、表示部３に待ち受け画面以外の画面（例えば、メニュー画面、メール画面、カメラ画面等）が表示されている状態とされている場合は、その画面から待ち受け画面に遷移したタイミングで移動機ネイティブ環境１０１がＪａｖａ(TM)起動要求を発行する。これにより、Ｊａｖａ(TM)実行環境１０２およびＪａｖａ(TM)アプリケーションが再開されて、移動機ネイティブ環境１０１はタイマイベントをＪａｖａ(TM)アプリケーション１０３に通知する。
【００２５】
次に、図６に示すタイマ満了時にＪａｖａ(TM)アプリケーションが終了状態になっている場合のシーケンス図におけるタイマ設定処理を以下に説明する。
Ｊａｖａ(TM)アプリケーション１０３から移動機ネイティブ環境１０１上で実行されるネイティブタイマのタイマ設定処理については図５に示すシーケンスと同様であるのでその説明は省略する。ここで、ユーザからの終了要求などにより、Ｊａｖａ(TM)アプリケーション１０３を終了させるときは、移動機ネイティブ環境１０１はＪａｖａ(TM)実行環境１０２に対して終了要求を発行する。これにより、Ｊａｖａ(TM)実行環境１０２が終了されて、Ｊａｖａ(TM)アプリケーション１０３が終了される。終了要求の発行は、移動機ネイティブ環境１０１がアプリケーションマネージャ・インターフェースで定められるアプリケーション終了関数を呼び出すことにより行われる。Ｊａｖａ(TM)実行環境１０２は、終了する際に移動機ネイティブ環境１０１に対して終了完了通知を発行し、移動機ネイティブ環境１０１はＪａｖａ(TM)アプリケーション１０３およびＪａｖａ(TM)実行環境１０２が終了したことを知る。
【００２６】
ここで、移動機ネイティブ環境１０１において実行中のネイティブタイマにセットされている時刻に達してタイマ満了となると、移動機ネイティブ環境１０１はＪａｖａ(TM)実行環境１０２に対してＪａｖａ(TM)起動要求を発行する。これにより、Ｊａｖａ(TM)実行環境１０２が起動されて、Ｊａｖａ(TM)実行環境１０２はＪａｖａ(TM)アプリケーション１０３に対してＪａｖａ(TM)起動要求を発行する。このＪａｖａ(TM)起動要求は、移動機ネイティブ環境１０１がアプリケーションマネージャ・インターフェースで定められるアプリケーション起動関数を呼び出すことにより行われる。これにより、Ｊａｖａ(TM)アプリケーション１０３が起動される。そして、Ｊａｖａ(TM)実行環境１０２は、移動機ネイティブ環境１０１に対して起動完了通知を発行し、これを受けた移動機ネイティブ環境１０１はタイマイベントをＪａｖａ(TM)実行環境１０２に対して発行する。これを受けたＪａｖａ(TM)実行環境１０２は、Ｊａｖａ(TM)アプリケーション１０３に対してタイマイベントを発行し、Ｊａｖａ(TM)アプリケーション１０３においてタイマイベントにより割込処理が開始されて実行されるようになる。この割込処理では、Ｊａｖａ(TM)アプリケーション１０３に割込処理として用意されているプログラムが実行される。
【００２７】
次に、図７に示すタイマ満了時にＪａｖａ(TM)アプリケーションが起動を継続している場合のシーケンス図におけるタイマ設定処理を以下に説明する。
Ｊａｖａ(TM)アプリケーション１０３から移動機ネイティブ環境１０１上で実行されるネイティブタイマのタイマ設定処理については図５に示すシーケンスと同様であるのでその説明は省略する。ここで、Ｊａｖａ(TM)アプリケーション１０３が実行中に、移動機ネイティブ環境１０１において実行中のネイティブタイマにセットされている時刻に達してタイマ満了となると、移動機ネイティブ環境１０１はタイマイベントをＪａｖａ(TM)実行環境１０２に対して発行する。これを受けたＪａｖａ(TM)実行環境１０２は、Ｊａｖａ(TM)アプリケーション１０３に対してタイマイベントを発行し、Ｊａｖａ(TM)アプリケーション１０３においてタイマイベントにより割込処理が開始されて実行されるようになる。この割込処理では、Ｊａｖａ(TM)アプリケーション１０３に割込処理として用意されているプログラムが実行される。
【００２８】
以上説明したように、本発明の移動機１００においてはＪａｖａ(TM)アプリケーション１０３から起動タイマであるネイティブタイマのタイマ設定を行うインタフェースが追加されていると共に、起動タイマがタイムアップした際に起動要求を発行するだけではなくタイマイベントを送出するインタフェースも追加されている。
また、ネイティブタイマのタイマ満了時に、移動機１００の電源がＯＦＦ状態とされていた時には、移動機１００の電源がＯＮされた後、待ち受け画面に遷移された時点で即時にＪａｖａ(TM)実行環境１０２およびＪａｖａ(TM)アプリケーション１０３を起動させ、タイマイベントを通知するようになされている。
【００２９】
なお、Ｊａｖａ(TM)アプリケーション１０３を起動するネイティブタイマのタイマ起動設定は、ユーザ操作によっても行うことができユーザ設定によるタイマ満了時にＪａｖａ(TM)アプリケーション１０３を起動させることができる。ユーザ操作によるネイティブタイマのタイマ起動設定が、Ｊａｖａ(TM)アプリケーション１０３によるネイティブタイマのタイマ起動設定と競合する場合は、ユーザ設定によるタイマ起動設定が優先する。すなわち、移動機ネイティブ環境１０１によるタイマ起動設定の起動タイマが満了した時に、Ｊａｖａ(TM)アプリケーションのタイマ起動設定によるＪａｖａ(TM)アプリケーションが起動していた場合は、そのＪａｖａ(TM)アプリケーションは自動的に終了される。そして、Ｊａｖａ(TM)アプリケーションによるタイマ起動設定による起動タイマが満了した時に、移動機ネイティブ環境１０１のタイマ起動設定によるＪａｖａ(TM)アプリケーションが起動していた場合は、当該Ｊａｖａ（ＴＭ）アプリケーションが終了するまで、Ｊａｖａ(TM)アプリケーションのタイマ起動設定によるＪａｖａ(TM)アプリケーションを起動しないようにしている。この様子を図８に示す。
【００３０】
図８に示すように、Ｊａｖａ(TM)アプリケーションＡはＪａｖａ(TM)アプリケーションＡからのネイティブタイマによるタイマ起動設定がなされている。この場合、タイマ起動設定の起動条件が満了した際に、他のＪａｖａ(TM)アプリケーションが起動していないことを条件にＪａｖａ(TM)アプリケーションＡが図示するように起動される。
また、Ｊａｖａ(TM)アプリケーションＢは移動機ネイティブ環境１０１からのネイティブタイマによるタイマ起動設定がなされている。そして、このタイマ起動設定の起動条件が満了すると、起動中のＪａｖａ(TM)アプリケーションＡが終了されて、Ｊａｖａ(TM)アプリケーションＢが優先して起動されるようになる。さらに、Ｊａｖａ(TM)アプリケーションＣはＪａｖａ(TM)アプリケーションＣからのネイティブタイマによるタイマ起動設定がなされている。この場合、タイマ起動設定の起動条件が満了しても、優先される移動機ネイティブ環境１０１によりタイマ起動されたＪａｖａ(TM)アプリケーションＢが起動していることからＪａｖａ(TM)アプリケーションＢの動作が継続され、Ｊａｖａ(TM)アプリケーションＣのは起動は保留される。そして、Ｊａｖａ(TM)アプリケーションＢが終了したタイミングで、Ｊａｖａ(TM)アプリケーションＣが起動されるようになる。
【００３１】
【発明の効果】
以上説明したように本発明は、アプリケーションからのタイマ設定要求に基づいて、ネイティブ環境上で実行される起動タイマの設定要求をアプリケーション実行環境からネイティブ環境に対して行うことにより、ネイティブ環境においてタイマ設定が行われるようにしたので、アプリケーションからネイティブ環境上の起動タイマのタイマ設定を行うことができるようになる。これにより、アプリケーション自身によりアプリケーション起動のタイミングを制御することができるため、アプリケーションの主導の基で所望のタイミングでアプリケーションを動作させることができようになる。また、アプリケーションを動作し続けることなく所望のタイミングでアプリケーションが動作可能となることから、待ち受け時間が短縮されることを防止することができるようになる。
【図面の簡単な説明】
【図１】本発明の実施の形態における携帯通信機器のハードウェア構成の概略を示すブロック図である。
【図２】本発明の実施の形態にかかるＪａｖａ(TM)仮想マシン機能を持つ移動機のソフトウェア構造の概要を示す図である。
【図３】本発明の実施の形態にかかるＪａｖａ(TM)仮想マシン機能を持つ移動機のソフトウェア構造の詳細を示す図である。
【図４】本発明の実施の形態にかかる移動機のＪａｖａ(TM)アプリケーションの実行制御について説明するための図である。
【図５】本発明の実施の形態にかかる移動機におけるネイティブタイマのタイマ設定処理のシーケンス図である。
【図６】本発明の実施の形態にかかる移動機におけるネイティブタイマのタイマ設定処理の他のシーケンス図である。
【図７】本発明の実施の形態にかかる移動機におけるネイティブタイマのタイマ設定処理の他のシーケンス図である。
【図８】本発明の実施の形態にかかる移動機におけるタイマ満了時の起動競合を示す図である。
【図９】従来の移動機におけるネイティブタイマのタイマ設定処理のシーケンス図である。
【符号の説明】
１  ＣＰＵ、２  ＲＯＭ／ＲＡＭ、３  表示部、４  キー入力部、５  アンテナ、６  受信部、７  送信部、８  シンセサイザ、９  信号処理部、１０  ＭＩＣ、１１  ＳＰ、１００  移動機、１０１  移動機ネイティブ環境、１０２  Ｊａｖａ(TM)実行環境、１０３  Ｊａｖａ(TM)アプリケーション、１１０  アプリケーションマネージャ、１１１  ＫＶＭ、１１２  クラスライブラリ
【図１】
0003958714.tif 000002
【図２】
0003958714.tif 000003
【図３】
0003958714.tif 000004
【図４】
0003958714.tif 000005
【図５】
0003958714.tif 000006
【図６】
0003958714.tif 000007
【図７】
0003958714.tif 000008
【図８】
0003958714.tif 000009
【図９】
0003958714.tif 000010