(57)【要約】【課題】イベントキューに滞留するイベントを少なくできる。【解決手段】イベント発生部１０３で発生したイベントに、タイムスタンプ付加部１０４からのタイムスタンプを付加し、順次イベントキュー１０５に格納する。イベント制御部１０６は、イベントキュー１０５よりイベントを読み出す。タイムスタンプ保存部１０７より、そのイベントと同じイベントのタイムスタンプを読み出し、タイムスタンプ比較部１０８でイベントキュー１０５より読み出されたイベントのタイムスタンプと比較する。両者の差が予め定めた値より小さくない場合、イベント処理部１０９に供給し、イベント処理する。【選択図】  図１
2004287755.tif 000002
【特許請求の範囲】
【請求項１】
イベント発生手段で発生したイベントを一時保存するイベントキューと、前記イベントキューより読み出されたイベントをイベント処理するイベント処理手段と、前記イベント発生手段で発生したイベントにタイムスタンプを付与するタイムスタンプ付与手段と、前記タイムスタンプ付与手段によって付与されたタイムスタンプの間隔が予め定めた値より小さい場合、前記タイムスタンプに対応するイベントを破棄するイベント破棄手段とを備え、前記イベント破棄手段で破棄されないイベントのみを前記イベント処理手段で処理するように構成したイベント制御装置。
【請求項２】
前記予め定めた値を、イベントの処理負荷が大きい場合には大きく、小さい場合には小さく設定したことを特徴とする請求項１記載のイベント制御装置。
【請求項３】
イベントの処理負荷を測定する処理負荷測定手段を備え、前記予め定めた値が前記処理負荷測定手段の測定結果に応じて変化するように構成した請求項１又は２記載のイベント制御装置。
【請求項４】
前記予め定めた値を、イベントの属性に応じて異なる値に設定した請求項１乃至請求項３のいずれか１項記載のイベント制御装置。
【請求項５】
前記イベントの属性が、イベントの種別、イベントの重要性、およびイベントの特性のうち少なくとも１つであることを特徴とする請求項４記載のイベント制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キー入力などのイベントを一旦イベントキューに保存し、順次読み出してイベント処理するイベント制御装置に関する。
【０００２】
【従来の技術】
従来、タッチパネルやキースイッチなど、多くの入力デバイスを具備した情報端末、例えば、カーナビゲーションシステムや、カーＡＶシステム、業務用車載機器などでは、ユーザがこれらの入力デバイスを使用して機器の反応速度より早く操作することが考えられるため、これらの入力デバイスで発生したイベントを一旦イベントキューに保存し、順次読み出してイベント処理を行う、いわゆる、イベント駆動型のイベント制御装置が広く使用されている。
【０００３】
図５は、従来使用されているイベント制御装置の概略構成図である。
【０００４】
図５において、タッチパネル（図示せず）やキーボード３０１、ポインティングデバイス３０２などと言った入力デバイスを操作することによって発生するイベントは、イベント発生部３０３から順次イベントキュー３０５に保存される。保存されたイベントは、イベント制御部３０６によって読み出され、読み出されたイベントに基づいてそれぞれのイベントを処理するイベント処理部３０９がそのイベント処理を実施する。
【０００５】
ところで、この場合、イベント制御部３０６は、読み出したイベントに対応してそれぞれのイベントをイベント処理部３０９に送出しイベント処理させるが、処理されるイベント相互間では干渉を起こさないようにする必要があり、通常、１つのイベント処理を完全に終了した後、次のイベントを読み出すという逐次処理を行うようにしている。
【０００６】
そのため、この種のものでは、イベントが集中して発生した場合、それらのイベントが最終的にイベント処理されるまでに相当の時間を要し、結局、反応が鈍いものになるという問題があった。
【０００７】
一方、これらに対し、イベント処理の効率をより向上させるものとして、従来から次の２つの方法が提案されている。
【０００８】
すなわち、第１の方法は、読み出したイベントを、キー操作によるイベントとその他のイベントに分類し、それらのイベントをそれぞれ個別のイベント処理部で処理するようにしたものであり（例えば、特許文献１参照）、
第２の方法は、各イベントにそれぞれ識別子を付加し、これらの識別子毎に保存、読み出しのそれぞれの回数を記憶しておき、読み出し回数が保存回数より大きくないときに、そのイベントを不要なものとして受信しないようにしたものである（例えば、特許文献２参照）。
【０００９】
【特許文献１】
特開平６―６００３８号公報（第５頁、第９図）
【特許文献２】
特開平１０―３３９３号公報（第１０頁、第２図）
【００１０】
【発明が解決しようとする課題】
しかしながら、従来から提案されている２つの方法でも、それぞれ次のような問題があった。
【００１１】
すなわち、第１の方法では、ＣＰＵ能力やメモリリソースを多く消費するイベント処理部を各イベント毎に複数用意しなければならず、組み込み機器への適用が困難であり、また、第２の方法では、イベントキューの検索処理を頻繁に行う必要があり、組み込み機器のＣＰＵ性能では、満足する処理速度を達成することが困難であるという問題があった。
【００１２】
本発明は、このような従来の問題に鑑みてなされたものであり、イベントキューに保存されたイベントを、限られたＣＰＵ能力やメモリリソースででも、効率よく処理し、イベントキューに滞留するイベントを少なくすることのできるイベント制御装置を提供することを目的とするものである。
【００１３】
【課題を解決するための手段】
本発明のイベント制御装置は、イベント発生手段で発生したイベントを一時保存するイベントキューと、イベントキューより読み出されたイベントをイベント処理するイベント処理手段と、イベント発生手段で発生したイベントにタイムスタンプを付与するタイムスタンプ付与手段と、タイムスタンプ付与手段によって付与されたタイムスタンプの間隔が予め定めた値より小さい場合、そのタイムスタンプに対応するイベントを破棄するイベント破棄手段とを備え、イベント破棄手段で破棄されないイベントのみをイベント処理手段で処理する構成を有している。
【００１４】
この構成により、イベントキューに保存されたイベントであっても、タイムスタンプの間隔が予め定めた値より小さい場合には、そのイベントが破棄されるため、例えば、ユーザがいらいらして同じキー操作を何度も繰り返し行った場合のように不要なキー操作がある場合でも、それらのキー操作に基づくイベントを破棄し、次のイベントを実行するように動作させることができ、不要なキー操作によるイベントのために、イベントキューに多くのイベントが滞留するのを極力防止することができる。
【００１５】
また、本発明のイベント制御装置は、予め定めた値を、イベントの処理負荷に応じ、大きい場合には大きく、小さい場合には小さく設定している。
【００１６】
この構成により、イベントの処理負荷に応じて、予め定めた値が、処理負荷が大きい場合には大きく、小さい場合には小さくなって、より精度よく、しかも素早く不要なイベントを破棄できることになり、イベントキューに滞留するイベントをより少なくすることができる。
【００１７】
また、本発明のイベント制御装置は、イベントの処理負荷を測定する処理負荷測定手段を備え、予め定めた値が処理負荷測定手段の測定結果に応じて変化する構成を有している。
【００１８】
この構成により、予め定めた値が、処理負荷測定手段によって測定した結果に基づいて自動的に変化することになり、より精度よく、素早く不要なイベントを破棄することができる。
【００１９】
また、本発明のイベント制御装置は、予め定めた値を、イベントの属性に応じて異なる値に設定した構成を有する。
【００２０】
この構成により、予め定めた値がイベントの属性に応じた値になるため、イベントの属性に応じて、予め定めた値が変化し、より精度よく、素早く不要なイベントを破棄することができる。
また、本発明のイベント制御装置は、イベントの属性が、イベントの種別、イベントの重要性、およびイベントの特性のうち少なくとも１つである構成を有している。
【００２１】
この構成により、イベントの種別、重要性、特性の少なくとも１つによって、それぞれ予め定めた値を異ならすことになり、それぞれにおいて、より精度よく、素早く不要なイベントを破棄することができるようになる。
【００２２】
【発明の実施の形態】
以下、本発明の一実施の形態におけるイベント制御装置について、図面を用いて説明する。
【００２３】
図１は、本発明の一実施の形態におけるイベント制御装置の概略構成図である。
【００２４】
本発明の一実施の形態におけるイベント制御装置は、図１に示すように、キーボード１０１、ポインティングデバイス１０２などの操作や、その他の入力手段の状況変化によってそれぞれのイベントを発生させるイベント発生部１０３と、このイベント発生部１０３で発生したイベントにそのイベントが発生した時刻に相当するタイムスタンプを付与するタイムスタンプ付与部１０４と、タイムスタンプ付与部１０４によって付与されたタイムスタンプと共に対応するイベントを順次渡すイベントキュー１０５と、イベントキュー１０５に渡されたイベントを順次読み出し制御するイベント制御部１０６と、イベントキュー１０５より読み出したイベントのタイムスタンプを保存するタイムスタンプ保存部１０７と、イベントキュー１０５より読み出したイベントが前回イベント処理部１０９で処理したイベントと同じである場合に、読み出したイベントのタイムスタンプとタイムスタンプ保存部１０７に保持されたタイムスタンプを利用して互いに比較するタイムスタンプ比較部１０８と、イベントの処理であるイベント処理１、イベント処理２〜イベント処理ｎを実行するイベント処理部１０９とを備えている。
【００２５】
次に、本実施の形態について、図２、図３を用いてその動作を説明する。図２および図３は、本発明の一実施の形態におけるイベント制御装置の動作を示す流れ図である。
【００２６】
本実施の形態において、キーボード１０１やポインティングデバイス１０２などの操作部を操作したり、その他の入力手段において状況の変化があったりすると、これらの状況変化によってイベント発生部１０３にそれぞれのイベントが発生する。
【００２７】
イベントが発生すると（Ｓ１０１）、イベントスタンプ付与部１０４が動作し、そのイベントに、イベントが発生した時刻に相当するイベントスタンプが付与される（Ｓ１０２）。付与されたイベントスタンプは、発生したイベントと共にイベントキュー１０５に順次格納保存される（Ｓ１０３）。
【００２８】
イベントキュー１０５に格納されたイベントは、イベントスタンプと共に、順次イベント制御部１０６で読み出され、読み出されたイベントは、イベント処理部１０４に供給され、イベント処理される。そして、イベントがイベント処理されると、そのイベントのタイムスタンプが、イベントと共に、タイムスタンプ保存部１０５に保存される。
【００２９】
このように、本実施の形態でも、発生したイベントは、イベントキュー１０５に順次保存され、保存されたイベントは、イベントキュー１０５より順次読み出され、イベント処理される。
【００３０】
ところで、本実施の形態では、イベントキュー１０５に保存されたイベントを全てイベント処理するのではなく、特定の条件で一部破棄するようにしている。
【００３１】
すなわち、イベント制御部１０６はイベントキュー１０５にイベントが格納保存されたかを調べ（Ｓ２１０）、格納されたイベントがあれば、イベントキュー１０５よりイベントが読み出されると（Ｓ２０２）、タイムスタンプ保存部１０７より、そのイベントと同じイベントのタイムスタンプを読み出す。そして、そのタイムスタンプをタイムスタンプ比較部１０８でイベントキュー１０５より読み出されたイベントのタイムスタンプと比較する（Ｓ２０３）。
【００３２】
比較の結果、両者の差が予め定めた値より小さい場合には、イベント破棄手段を備えるイベント制御部１０６はそのイベントを破棄し（Ｓ２０４）、次のイベントをイベントキュー１０５より読み出す。そして、両者の差が予め定めた値より小さくない場合にのみ、そのイベントをイベント処理部１０９に供給し、イベント処理する（Ｓ２０５）。そして、イベントがイベント処理されると、そのイベントのタイムスタンプが、イベントと共に、タイムスタンプ保存部１０５に保存される（Ｓ２０６）。
【００３３】
このように、本実施の形態によれば、イベントキュー１０５より読み出したイベントが、前回イベント処理したイベントと同じイベントで、かつ、両者のタイムスタンプの差が予め定めた値より小さいイベントであった場合には、そのイベントを破棄し、次のイベントをイベントキュー１０５より読み出すようにしている。
【００３４】
従って、例えば、ユーザがいらいらして同じキーを短時間に何回も繰り返し操作したような場合には、それを誤りと判断して最初の１回のみイベント処理し、後の処理を行わないため、全体として、イベント処理を早くすることができる。
【００３５】
なお、本実施の形態において、予め定めた値は、各イベントに対し任意に設定すればよいが、例えば、イベントの処理負荷（１イベントを処理するのに必要とする時間）が大きい場合には大きく、小さい場合には小さく設定することが望ましい。このように設定すれば、各イベントに対し、予め定めた値が適切なものとなり、精度よく素早い処理を可能にすることができる。
【００３６】
そして、図４に示すように、イベント処理の処理負荷、すなわち、そのイベント処理に要する時間を測定する処理負荷測定部１１０を別に設け、処理負荷測定部１１０で測定した処理負荷に応じて予め定めた値を、先に説明したように、処理負荷が大きい場合には大きく、小さい場合には小さくなるように自動的に変化するように構成すれば、各イベントに対する予め定めた値をより緻密に設定することができるという効果を有する。
【００３７】
また、予め定めた値を、イベントの種別、重要性、特性などの属性に応じて異なる値に設定すれば、より柔軟に対応でき、より精度よく素早く処理可能なイベント制御装置とすることが可能である。
【００３８】
また、本実施の形態では、イベントキュー１０５よりイベントを読み出し、そのイベントをイベント処理する段階で、そのイベントを破棄するかどうかを決定するようにしているが、イベントキュー１０５に保存されているイベントを監視する監視手段を設け、それらのイベントの中に同じイベントで、タイムスタンプの間隔が予め定めた値より小さいものがあった場合には、それらのイベントの中で、タイムスタンプの値が最も小さいもの、あるいは、最も大きいものの１つのイベントのみを有効とし、他を破棄するようにしても良い。
【００３９】
このようにすれば、短時間に何回もキー操作した場合、その中の最初、又は、最後に操作したキーによるイベントのみ有効にすることができる。
【００４０】
また、上記実施の形態では、タイムスタンプの間隔が予め定めた値より小さい場合にイベントを破棄するようにしているが、次の当該イベントが予め定めた値を過ぎでも発生しない場合には、最後のイベントは破棄せずにイベント処理部で処理することにより、最後に操作したキーなどのイベントを有効にすることができる。
【００４１】
【発明の効果】
以上のように、本発明は、イベント発生手段で発生したイベントを一時保存するイベントキューより読み出されたイベントをイベント処理手段がイベント処理するに際し、イベント発生手段で発生したイベントにタイムスタンプ付与手段によって付与されたタイムスタンプの間隔が予め定めた値より小さい場合、イベント破棄手段が、そのタイムスタンプに対応するイベントを破棄し、イベント破棄手段で破棄されないイベントのみをイベント処理手段で処理するように構成したものである。
【００４２】
従って、イベントキューに保存されたイベントであっても、タイムスタンプの間隔が予め定めた値より小さい場合には、そのイベントが破棄されるため、例えば、ユーザがいらいらして同じキー操作を何度も繰り返し行った場合のように不要なキー操作がある場合でも、それらのキー操作によるイベントは破棄されることになり、これらのイベントのために、イベントキューに多くのイベントが滞留するのを防止でき、必要なイベントを効率よくイベント処理することがでるという効果を有する。
【図面の簡単な説明】
【図１】本発明の一実施の形態におけるイベント制御装置の概略構成図
【図２】本発明の一実施の形態におけるイベント制御装置の動作を示す流れ図
【図３】本発明の一実施の形態におけるイベント制御装置の動作を示す流れ図
【図４】本発明の他の実施の形態におけるイベント制御装置の概略構成図
【図５】従来のイベント制御装置の概略構成図
【符号の説明】
１０１  キーボード
１０２  ポインティングデバイス
１０３  イベント発生部
１０４  タイムスタンプ付与部
１０５  イベントキュー
１０６  イベント制御部
１０７  タイムスタンプ保存部
１０８  タイムスタンプ比較部
１０９  イベント処理部
１１０  処理負荷測定部
【図１】
2004287755.tif 000003
【図２】
2004287755.tif 000004
【図３】
2004287755.tif 000005
【図４】
2004287755.tif 000006
【図５】
2004287755.tif 000007