(57)【要約】【課題】アプリケーション実行環境がサスペンド状態から復帰したときに、不要なイベントによりアプリケーションが連続して実行されるのを防止する。【解決手段】イベントキュー管理モジュール１０１には、基本ソフトウェア部１０３の各イベント検出手段から通知されたイベントオブジェクト１３０をイベントの発生順にイベントキュー１１７に格納してキュー管理を行うキュー管理部１１８と、キュー管理部１１８によりキュー管理されているイベントオブジェクト１３０のイベント種別及びパラメータを検出するイベント種別検出部１１９と、アプリケーション実行環境１０４の停止状態を検出する停止状態検出部１２０と、アプリケーション実行環境１０４が停止状態のときに、イベントキュー１１７に格納されているイベントオブジェクト１３０のうち不要なイベントを削除するイベント削除部１２１と、が設けられている。【選択図】図３
2010108294.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション実行環境において動作するアプリケーションがイベントの発生により処理を行う場合に、前記イベントのキュー管理を行うイベントキュー管理装置であって、
発生したイベントをキューに格納して前記イベントのキュー管理を行うキュー管理手段と、
前記キュー管理手段によりキュー管理されている前記イベントのイベント種別を検出するイベント種別検出手段と、
前記アプリケーション実行環境の停止状態を検出する停止状態検出手段と、
前記停止状態検出手段が前記アプリケーション実行環境の停止状態を検出すると、前記キュー管理手段により前記キューに格納されているイベントのうち、前記イベント種別検出手段により検出された前記イベントのイベント種別に基づいて不要なイベントを検索し、前記不要なイベントを削除するイベント削除手段と、
を有することを特徴とするイベントキュー管理装置。
【請求項２】
新規のイベントの発生を検出する新規イベント検出手段を更に有し、
前記イベント削除手段は、前記新規イベント検出手段により新規にイベントを検出したときに、前記不要なイベントを削除することを特徴とする請求項１に記載のイベントキュー管理装置。
【請求項３】
前記イベント削除手段は、前記キューに格納されているイベントのうち、新規に発生したイベントのイベント種別と同じイベント種別のイベントを削除することを特徴とする請求項１又は２に記載のイベントキュー管理装置。
【請求項４】
アプリケーション実行環境において動作するアプリケーションがイベントの発生により処理を行う場合に、前記イベントのキュー管理を行うイベントキュー管理方法であって、
発生したイベントをキューに格納して前記イベントのキュー管理を行うキュー管理ステップと、
前記キューステップによりキュー管理されている前記イベントのイベント種別を検出するイベント種別検出ステップと、
前記アプリケーション実行環境の停止状態を検出する停止状態検出ステップと、
前記停止状態検出ステップで前記アプリケーション実行環境の停止状態を検出すると、前記キュー管理ステップにより前記キューに格納されているイベントのうち、前記イベント種別検出ステップにより検出された前記イベントのイベント種別に基づいて不要なイベントを検索して、前記不要なイベントを削除するイベント削除ステップと、
を有することを特徴とするイベントキュー管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベントのキュー管理を行うイベントキュー管理装置及びイベントキュー管理方法に関する。
【背景技術】
【０００２】
従来から、大量のイベントが発生した場合に、これらのイベントのキュー管理を行うキュー管理装置が知られている（例えば、特許文献１参照）。この従来のキュー管理装置は、システムの処理負荷を超えるような膨大な量のイベントが発生すると、イベントキューに格納されたイベントのうち、所定の基準を満たさないキューを削除することで、負荷の急激な上昇を抑制するものである。
【０００３】
一方、計算機や移動型小型情報端末のソフトウェア内部処理では、イベント配送システムモデルなどを用いて、ソフトウェアモジュール間の信号伝達を行う場合がある。これは、例えば、ユーザの操作イベント、ハードウェアタイマなどによって指定時刻や指定時間経過後に発生するイベント、特定ハードウェアが特定状態になったことを受けて発生する割り込みに起因するイベントなどのイベントが発生すると、アプリケーションがイベントハンドラでイベントを受け取り、発生したイベントに対応した適切な処理を行うものである。
【特許文献１】特開平０４−３４５２４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、携帯電話などの移動機では、ＶＭ（Virtual Machine）などのアプリケーション実行環境において、様々なイベントハンドラでイベントを受け取るアプリケーションが動作可能となっている。一方、音声通話中などは、ＶＭがサスペンド状態となって一時的に停止状態となるため、移動機にイベントが発生しても、アプリケーションのイベントハンドラにはイベントが配送されない状態となる。
【０００５】
そして、ＶＭがサスペンド状態となっているときに、移動機にイベントが発生した際、この間に発生した全てのイベントがイベントキューに格納され、その後、ＶＭがサスペンド状態から復帰（レジューム）すると、イベントキューに格納されていた全てのイベントが一気に連続してＶＭに渡される。
【０００６】
このため、例えば、イベントキューに同じイベントが重複して格納されていると、サスペンド状態から復帰したときに、アプリケーションが同じイベントハンドラを連続して起動させるため、同じ処理が連続して実行されるという問題があった。
【０００７】
このため、従来は、アプリケーションを作成する際、ＶＭの復帰により不要なイベントや期待していないイベントが一気に連続してＶＭに渡されることを考慮する必要があるという問題があった。
【０００８】
なお、特許文献１に記載された技術では、システムに発生しているイベントの量に応じて優先基準値が変動するため、アプリケーションを作成する際、特定イベントのイベントハンドラが実行されないケースを考慮する必要があり、アプリケーションの作成コストが高くなり、豊富なコンテンツ流通の阻害要因になるという問題がある。
【０００９】
そこで、本発明は、アプリケーション実行環境がサスペンド状態から復帰したときに、不要なイベントによりアプリケーションが連続して実行されるのを防止することができるイベントキュー管理装置及びイベントキュー管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るイベントキュー管理装置は、アプリケーション実行環境において動作するアプリケーションがイベントの発生により処理を行う場合に、イベントのキュー管理を行うイベントキュー管理装置であって、発生したイベントをキューに格納してイベントのキュー管理を行うキュー管理手段と、キュー管理手段によりキュー管理されているイベントのイベント種別を検出するイベント種別検出手段と、アプリケーション実行環境の停止状態を検出する停止状態検出手段と、停止状態検出手段がアプリケーション実行環境の停止状態を検出すると、キュー管理手段によりキューに格納されているイベントのうち、イベント種別検出手段により検出されたイベントのイベント種別に基づいて不要なイベントを検索し、不要なイベントを削除するイベント削除手段と、を有することを特徴とする。
【００１１】
本発明に係るイベントキュー管理方法は、アプリケーション実行環境において動作するアプリケーションがイベントの発生により処理を行う場合に、イベントのキュー管理を行うイベントキュー管理方法であって、発生したイベントをキューに格納してイベントのキュー管理を行うキュー管理ステップと、キューステップによりキュー管理されているイベントのイベント種別を検出するイベント種別検出ステップと、アプリケーション実行環境の停止状態を検出する停止状態検出ステップと、停止状態検出ステップでアプリケーション実行環境の停止状態を検出すると、キュー管理ステップによりキューに格納されているイベントのうち、イベント種別検出ステップにより検出されたイベントのイベント種別に基づいて不要なイベントを検索して、不要なイベントを削除するイベント削除ステップと、を有することを特徴とする。
【００１２】
本発明に係るイベントキュー管理装置及びイベントキュー管理方法によれば、発生したイベントはキューに格納されてキュー管理されるが、アプリケーション実行環境が停止状態になると、キューに格納されているイベントのうち、イベント種別に基づいて不要なイベントが検索されて削除されるため、アプリケーション実行環境が停止状態であるサスペンド状態から復帰したときに、不要なイベントによりアプリケーションが連続して実行されるのを防止することができ、省電力化を図ることができる。しかも、アプリケーションを作成する際、不要なイベントによりアプリケーションが連続して実行されることを考慮しなくて済むため、アプリケーションの作成コストを低減することができる。
【００１３】
この場合、新規のイベントの発生を検出する新規イベント検出手段を更に有し、イベント削除手段は、新規イベント検出手段により新規にイベントを検出したときに、不要なイベントを削除することが好ましい。このイベントキュー管理装置によれば、新規にイベントが発生するたびに、キューから不要なイベントが削除されるため、キューには、常に不要なイベントがない状態となる。このため、アプリケーション実行環境が復帰する時期に関わらず、不要なイベントによりアプリケーションが連続して実行されるのを防止することができる。
【００１４】
そして、イベント削除手段は、キューに格納されているイベントのうち、新規に発生したイベントのイベント種別と同じイベント種別のイベントを削除することが好ましい。このイベントキュー管理装置によれば、キューに格納されているイベントのうち新規イベントのイベント種別と同じイベント種別のイベントは削除されるため、アプリケーション実行環境が復帰したときに、同じイベントによりアプリケーションが連続して実行されるのを防止することができる。
【発明の効果】
【００１５】
本発明によれば、アプリケーション実行環境が停止状態から復帰したときに、不要なイベントによりアプリケーションが連続して実行されるのを防止することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明に係るイベントキュー管理装置及びイベントキュー管理方法の実施形態について図面を参照して説明する。本実施形態では、本発明に係るイベントキュー管理モジュールを携帯電話などの移動機に適用するものとして説明する。なお、各図において、同一要素には同一符号を付して重複する説明を省略する。
【００１７】
図１は、本実施形態に係るイベントキュー管理モジュールが搭載された移動機の構成図である。図１に示すように、本実施形態に係るイベントキュー管理モジュール１０１は、移動機１００に搭載されている。なお、移動機１００は、折り畳み式の開閉可能な構造となっている。そして、移動機１００には、基本ソフトウェア部１０３と、アプリケーション実行環境１０４と、アプリケーション実装本体１０５とが設けられている。
【００１８】
基本ソフトウェア部１０３は、移動機１００の各種機能を実現するための基本ソフトウェアが組み込まれたものである。そして、基本ソフトウェア部１０３には、低位層として、メッセージ送受信部１０７と、開閉検出スイッチ１０８と、タイマモジュール１０９と、メッセージボックス１１０とが設けられており、各低位層で発生したイベントを検出するイベント検出手段として、メッセージボックス増減検出部１１１と、端末開閉状態検出部１１２と、指定タイマ時刻検出部１１３とが設けられている。
【００１９】
メッセージ送受信部１０７は、移動機１００外部との間でメールやメッセージなどの送受信を行うものである。そして、メッセージ送受信部１０７は、メールやメッセージを送受信すると、この送受信したメールやメッセージをメッセージボックス１１０に保存する。
【００２０】
開閉検出スイッチ１０８は、移動機１００のヒンジ部分などに設けられたスイッチセンサを監視することにより、移動機１００の開閉状態が変動したことを検出するものである。
【００２１】
タイマモジュール１０９は、内部に搭載されたリアルタイムクロックにより指定された時刻になったことを検出すると、割り込み信号を送信するものである。
【００２２】
メッセージボックス１１０は、メッセージ送受信部１０７が送受信したメールやメッセージを保存する記憶装置である。そして、メッセージボックス１１０は、この保存したメールやメッセージを、フォルダ単位で管理している。
【００２３】
メッセージボックス増減検出部１１１は、メッセージボックス１１０に記憶されるメールがフォルダ単位で増減したことを検出するイベント検出手段である。そして、メッセージボックス増減検出部１１１は、フォルダ単位でメールが増減したイベントを検出すると、イベント種別が“メッセージＢＯＸイベント”のイベントオブジェクトを、アプリケーション実行環境１０４に通知する。
【００２４】
端末開閉状態検出部１１２は、移動機１００の形状が開から閉に、又は、閉から開に変化したことを検出するイベント検出手段である。そして、端末開閉状態検出部１１２は、移動機１００の開閉状態が変化したイベントを検出すると、イベント種別が“移動機開変化イベント”又は“移動機閉変化イベント”のイベントオブジェクトを、アプリケーション実行環境１０４に通知する。
【００２５】
指定タイマ時刻検出部１１３は、上位アプリケーションからの要求に応じて、タイマモジュール１０９を利用して指定された時刻になったことを検出するイベント検出手段である。そして、指定タイマ時刻検出部１１３は、指定された時刻になったとのイベントを検出すると、イベント種別が“指定時刻イベント”のイベントオブジェクトを、アプリケーション実行環境１０４に通知する。
【００２６】
図２は、イベントオブジェクトの構成例を示す図である。図２に示すように、基本ソフトウェア部１０３の各イベント検出手段１１１〜１１３から通知されるイベントオブジェクト１３０は、種別管理部１３１と、パラメータ部１３２とにより構成されている。種別管理部１３１には、イベント種別を示す情報が記述されており、イベントが基本ソフトウェア部１０３のどの検出部によって発生したイベントであるかを示している。パラメータ部１３２には、イベントの種別毎に定義された構造に従ってイベントの保有する情報が記述されている。なお、図２に示すイベントオブジェクト１３０には、種別管理部１３１に、イベント種別として“メッセージＢＯＸイベント”が記述されており、パラメータ部１３２に、パラメータとして、メッセージボックス１１０のＢＯＸ番号１に対して、２００８年５月１２日１１時４分２３秒にメッセージが到着したことが記述されている。なお、パラメータ部１３２のＢＯＸ番号は、メッセージボックス１１０のフォルダに対応するものである。
【００２７】
また、図１に示すように、アプリケーション実装本体１０５は、アプリケーション実行環境１０４上で動作するアプリケーション実装の本体部分であり、様々なイベントをイベントハンドラ経由で取得することができる。イベントハンドラは、イベントが発生することにより、アプリケーション実行環境１０４から呼び出されること（アプリケーション実行環境１０４により実行されること）を予定して作成されたものである。そして、アプリケーション実装本体１０５には、イベントハンドラとして、メッセージボックス状態ハンドラ１２２と、端末開閉状態ハンドラ１２３と、指定タイマ時刻検出ハンドラ１２４とが設けられている。
【００２８】
メッセージボックス状態ハンドラ１２２は、メッセージボックス１１０においてフォルダ単位でメールが増減したイベントが発生すると、アプリケーション実行環境から呼び出され、当該フォルダにおいてメールが増減したことをアプリケーションに通知する処理を行うものである。
【００２９】
端末開閉状態ハンドラ１２３は、移動機１００の開閉状態が変化したイベントが発生すると、この開閉状態の変化をアプリケーションに通知し、アプリケーションの振る舞いを変更する処理を行うものである。
【００３０】
指定タイマ時刻検出ハンドラ１２４は、指定された時刻になったとのイベントが発生すると、指定された時刻になったことをアプリケーションに通知する処理を行うものであり、例えば、通知を受けたアプリケーションは、アラーム音を発生させるなどの処理を呼び出すことができる。
【００３１】
そして、アプリケーション実行環境１０４は、基本ソフトウェア部１０３に組み込まれた基本ソフトウェア上で動作する実行環境であり、アプリケーション実装本体１０５を動作させるためのＶＭ（Virtual Machine）である。すなわち、アプリケーション実行環境１０４は、基本ソフトウェア部１０３の各イベント検出手段（内部のメッセージボックス増減検出部１１１、端末開閉状態検出部１１２及び指定タイマ時刻検出部１１３）からイベントオブジェクト１３０が通知されると、イベントハンドラ１２２〜１２４を呼び出すものである。このアプリケーション実行環境１０４は、通常、イベントハンドラ１２２〜１２４でイベントを受け取ることができる状態となっているが、音声通話中などは、一時的にイベントハンドラ１２２〜１２４でイベントを受け取ることができないサスペンド状態（停止状態）となる。そして、アプリケーション実行環境１０４には、基本ソフトウェア部１０３から通知されたイベントオブジェクト１３０をキュー管理するイベントキュー管理モジュール１０１が設けられている。
【００３２】
図３は、イベントキュー管理モジュールの構成を示す図である。図３に示すように、イベントキュー管理モジュール１０１には、基本ソフトウェア部１０３の各イベント検出手段（メッセージボックス増減検出部１１１、端末開閉状態検出部１１２及び指定タイマ時刻検出部１１３）から通知されたイベントオブジェクト１３０を格納するイベントキュー１１７が設けられている。そして、イベントキュー管理モジュール１０１には、キュー管理部１１８と、イベント種別検出部１１９と、停止状態検出部１２０と、イベント削除部１２１の各機能が設けられている。
【００３３】
キュー管理部１１８は、基本ソフトウェア部１０３の各イベント検出手段（メッセージボックス増減検出部１１１、端末開閉状態検出部１１２及び指定タイマ時刻検出部１１３）から通知されたイベントオブジェクト１３０を、イベントの発生順にイベントキュー１１７に格納してキュー管理を行うものである。
【００３４】
イベント種別検出部１１９は、キュー管理部１１８によりキュー管理されているイベントオブジェクト１３０のイベント種別及びパラメータを検出するものである。すなわち、イベント種別検出部１１９は、基本ソフトウェア部１０３の各イベント検出手段１１１〜１１３から新規のイベントオブジェクト１３０が通知されると、このイベントオブジェクト１３０の種別管理部１３１及びパラメータ部１３２を参照して、新規に発生したイベントの種別及びパラメータを判定する。例えば、図２に示すイベントオブジェクト１３０が新規に発生したイベントである場合、このイベントの種別は、メッセージＢＯＸイベントであり、このパラメータは、ＢＯＸ番号１にメッセージが到着したものであることを検出する。そして、イベント種別検出部１１９は、イベントオブジェクト１３０がイベントキュー１１７に格納される際に、キュー管理部１１８のキュー管理情報として当該イベントオブジェクト１３０のイベント種別及びパラメータを登録する。
【００３５】
停止状態検出部１２０は、アプリケーション実行環境１０４の実行状態を監視することで、アプリケーション実行環境１０４が停止状態であることを検出するものである。
【００３６】
イベント削除部１２１は、アプリケーション実行環境１０４が停止状態のときに、イベントキュー１１７に格納されているイベントオブジェクト１３０のうち特定の不要なイベントオブジェクト１３０を削除するものである。すなわち、イベント削除部１２１は、停止状態検出部１２０がアプリケーション実行環境１０４の停止状態である場合にイベントの到着を検出すると、イベント種別検出部１１９により登録されたイベントオブジェクト１３０のイベント種別及びパラメータを参照して、イベントキュー１１７に格納されているイベントオブジェクト１３０のうち、特定の不要なイベントオブジェクト１３０を検索して削除する。この特定のイベントオブジェクト１３０は、例えば、新規のイベントオブジェクト１３０のイベント種別と同じイベント種別のイベントオブジェクト１３０であって、イベントキュー１１７内に複数個格納されていることに意味がないイベントオブジェクト１３０などである。
【００３７】
図４は、移動機のハードウェア構成を例示する図である。なお、図４に示すように、移動機１００は、物理的には、ＣＰＵ２０１と、ＲＯＭ２０２と、ＲＡＭ２０３と、補助記憶装置２０４と、通信モジュール２０５と、操作部２０６と、ディスプレイ２０７とを備える。そして、イベントキュー管理モジュール１０１は、移動機１００の一機能として動作し、図３において説明した各機能は、図４に示すＣＰＵ２０１やＲＡＭ２０３上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ２０１の制御のもとで通信モジュール２０５を動作させると共に、ＲＡＭ２０３や補助記憶装置２０４におけるデータの読み出し及び書き込みを行うことで実現される。
【００３８】
次に、図５を参照して、本実施形態に係るイベントキュー管理モジュール１０１の処理動作について説明する。図５は、イベントキュー管理モジュールの処理動作を説明するためのフローチャートである。なお、図５は、移動機１００が音声通話を行っている場合など、アプリケーション実行環境１０４がサスペンド状態になったときの処理動作を示している。
【００３９】
図５に示すように、イベントキュー管理モジュール１０１は、アプリケーション実行環境１０４がサスペンド状態になると、イベント待機状態となり、新規にイベントが発生するまで待機している（ステップＳ１）。
【００４０】
そして、基本ソフトウェア部１０３においてイベントが発生すると、イベントキュー管理モジュール１０１は、イベント検出手段１１１〜１１３からイベントオブジェクト１３０が通知される（ステップＳ２）。
【００４１】
そして、イベントキュー管理モジュール１０１は、発生したイベントの種別とパラメータを確認する（ステップＳ３）。すなわち、ステップＳ３では、イベント種別検出部１１９において、ステップＳ２で通知されたイベントオブジェクト１３０の種別管理部１３１及びパラメータ部１３２を参照することで、新規に発生したイベントの種別とパラメータを確認する。
【００４２】
そして、イベントキュー管理モジュール１０１は、イベント種別が移動機開閉変化イベントであるか否かを判定する（ステップＳ４）。
【００４３】
ステップＳ４において、イベント種別が移動機開閉変化イベントであると判定した場合（ステップＳ４：ＹＥＳ）、イベントキュー管理モジュール１０１は、ステップＳ５に進み、イベント削除部１２１により、イベントキュー１１７に格納されているイベントオブジェクト１３０のうち、新規に発生したイベントのイベント種別と同じイベント種別のイベントオブジェクト１３０を削除する（ステップＳ５）。上述したように、イベント種別検出部１１９では、イベントオブジェクト１３０をイベントキュー１１７に格納する際に、キュー管理情報としてイベント種別を登録している。このため、ステップＳ５では、キュー管理情報に登録されているイベント種別と、ステップＳ３において判定した新規に発生したイベントのイベント種別とを比較することで、イベントキュー１１７に格納されているイベントオブジェクト１３０のうち、新規に発生したイベントのイベント種別と同じイベント種別のイベントオブジェクト１３０を検索して削除する。
【００４４】
そして、イベントキュー管理モジュール１０１は、新規に発生したイベントのイベントオブジェクト１３０を、イベントキュー１１７の最後尾に追加格納する（ステップＳ６）。これにより、イベントキュー１１７に格納されたイベントオブジェクト１３０のうち、移動機１００の開閉状態が変化したイベントのイベントオブジェクト１３０は、最後尾に追加格納されたイベントオブジェクト１３０のみとなる。
【００４５】
一方、上述したステップＳ４において、イベント種別が移動機開閉変化イベントでないと判定した場合（ステップＳ４：ＮＯ）、イベントキュー管理モジュール１０１は、ステップＳ７に進み、イベント種別がメッセージＢＯＸイベントであるか否かを判定する（ステップＳ７）。
【００４６】
ステップＳ７において、イベント種別がメッセージＢＯＸイベントであると判定した場合（ステップＳ７：ＹＥＳ）、イベントキュー管理モジュール１０１は、ステップＳ８に進み、イベント削除部１２１により、イベントキュー１１７に格納されているイベントオブジェクト１３０のうち、新規に発生したイベントのイベント種別及びパラメータと同じイベント種別及びパラメータのイベントオブジェクト１３０を削除する（ステップＳ８）。上述したように、メッセージボックス１１０ではメールの増減をフォルダ単位で管理しているため、同じイベント種別でも、メールが増減したフォルダが異なれば、別のイベントとして考えられる。このため、ステップＳ７では、イベントキュー１１７に格納されているイベントオブジェクト１３０のうち、新規に発生したイベントのイベント種別が同じであるとともに、パラメータのＢＯＸ番号が同じ（メールが増減したフォルダが同じ）イベントオブジェクト１３０を検索して削除する。なお、ステップＳ８では、イベントオブジェクト１３０（図２参照）のパラメータのうち、変更時刻が異なっていても、ＢＯＸ番号及び変更種類が同じであれば、パラメータが同じであると判断する。
【００４７】
そして、イベントキュー管理モジュール１０１は、新規に発生したイベントのイベントオブジェクト１３０を、イベントキュー１１７の最後尾に追加格納する（ステップＳ６）。これにより、イベントキュー１１７に格納されたイベントオブジェクト１３０のうち、同一フォルダ（ＢＯＸ番号）においてメールが増減したイベントのイベントオブジェクト１３０は、最後尾に追加格納されたイベントオブジェクト１３０のみとなる。
【００４８】
一方、ステップＳ７において、イベント種別がメッセージＢＯＸイベントでないと判定した場合（ステップＳ７：ＮＯ）、イベントキュー管理モジュール１０１は、ステップＳ６に進み、新規に発生したイベントのイベントオブジェクト１３０を、イベントキュー１１７の最後尾に追加格納する（ステップＳ６）。
【００４９】
このように、本実施形態に係るイベントキュー管理モジュール１０１よれば、アプリケーション実行環境１０４がサスペンド状態になると、新規に発生したイベントのイベントオブジェクト１３０はイベントキュー１１７に格納されてキュー管理されるが、イベントキュー１１７に格納されているイベントオブジェクト１３０のうち特定の不要なイベントオブジェクト１３０は削除されるため、アプリケーション実行環境１０４がサスペンド状態から復帰したときに、不要なイベントオブジェクト１３０によりイベントハンドラ１２２〜１２４が呼び出されて、アプリケーションが連続して実行されるのを防止することができ、アプリケーションを作成する際、不要なイベントオブジェクト１３０により同じイベントハンドラ１２２〜１２４が連続して呼び出されることを考慮しなくて済むため、例えば、「連続してイベントが発生した場合に後続イベントのハンドラを無効化する」といったコードの記載を省くことができ、アプリケーションの作成コスト・試験コストを低減することができる。
【００５０】
また、新規にイベントが発生するたびに、イベントキュー１１７から不要なイベントオブジェクト１３０が削除されるため、イベントキュー１１７には、常に不要なイベントがない状態となる。このため、アプリケーション実行環境１０４がサスペンド状態から復帰する時期に関わらず、不要なイベントオブジェクト１３０によりイベントハンドラが呼び出されてアプリケーションが連続して実行されるのを防止することができる。
【００５１】
また、イベントキューに格納されているイベントオブジェクト１３０のうち、新規に発生したイベントのイベント種別と同じイベント種別のイベントオブジェクト１３０が削除されるため、アプリケーション実行環境１０４がサスペンド状態から復帰したときに、同じイベント種別のイベントオブジェクト１３０によりイベントハンドラが呼び出されてアプリケーションが連続して実行されるのを防止することができる。
【００５２】
以上、本発明をその実施形態に基づき具体的に説明したが、本発明は上記実施形態に限定されるものではない。例えば、上記実施形態では、３種類のイベントが発生し、アプリケーションによりこのイベントに対応した処理が実行されるものとして説明したが、イベントの内容や種別数、アプリケーションの処理内容は特に限定されるものではない。そして、イベントキュー管理モジュール１０１は、イベントの種別やアプリケーションの処理内容に応じて、イベントキュー１１７に格納されたイベントオブジェクト１３０を削除する基準を適宜変更してもよい。
【００５３】
また、上記実施形態では、新規のイベントオブジェクト１３０のイベント種別と同じイベント種別のイベントオブジェクト１３０を不要なイベントとして削除したが、例えば、関連又は類似するイベント種別をグループ化して登録しておき、この登録情報を参照することで、新規のイベントオブジェクト１３０のイベント種別と関連又は類似するイベント種別のイベントオブジェクト１３０を不要なイベントとして削除してもよい。
【００５４】
また、上記実施形態では、イベントキュー管理モジュール１０１をアプリケーション実行環境１０４に設けるものとして説明したが、例えば、基本ソフトウェア部１０３やアプリケーション実装本体１０５などに設けてもよく、独立して移動機１００に設けてもよい。
【図面の簡単な説明】
【００５５】
【図１】本実施形態に係るイベントキュー管理モジュールが搭載された移動機の構成図である。
【図２】イベントオブジェクトの構成例を示す図である。
【図３】イベントキュー管理モジュールの構成を示す図である。
【図４】移動機のハードウェア構成を例示する図である。
【図５】イベントキュー管理モジュールの処理動作を説明するためのフローチャートである。
【符号の説明】
【００５６】
１００…移動機、１０１…イベントキュー管理モジュール、１０３…基本ソフトウェア部、１０４…アプリケーション実行環境、１０５…アプリケーション実装本体（アプリケーション）、１０７…メッセージ送受信部、１０８…開閉検出スイッチ、１０９…タイマモジュール、１１０…メッセージボックス、１１１…メッセージボックス増減検出部、１１１…メッセージボックス増減検出部、１１２…端末開閉状態検出部、１１３…指定タイマ時刻検出部、１１７…イベントキュー、１１８…キュー管理部、１１９…イベント種別検出部、１２０…停止状態検出部、１２１…イベント削除部、１２２…メッセージボックス状態ハンドラ、１２３…端末開閉状態ハンドラ、１２４…指定タイマ時刻検出ハンドラ、１３０…イベントオブジェクト、１３１…種別管理部、１３２…パラメータ部。
【図１】
2010108294.tif 000003
【図２】
2010108294.tif 000004
【図３】
2010108294.tif 000005
【図４】
2010108294.tif 000006
【図５】
2010108294.tif 000007