(57)【要約】      （修正有）【課題】複数のステータスの組み合わせに係る状態をより正しく捉える状態監視方法、プログラム、装置及びシステムを提供する。【解決手段】状態監視方法は、第１ステータスにおける状態遷移を検出する処理と、第２ステータスにおける状態遷移を検出する処理と、第２ステータスにおける状態遷移を検出した第１時点から遡って第２ステータスにおける状態遷移が発生した第２時点を特定する特定処理と、少なくとも第２時点における第１ステータスと第２ステータスとの組み合わせに係る条件を判定する判定処理とを含む。【選択図】図１４
2016213711.tif 000002
【特許請求の範囲】
【請求項１】
第１ステータスにおける状態遷移を検出する処理と、
第２ステータスにおける状態遷移を検出する処理と、
前記第２ステータスにおける前記状態遷移を検出した第１時点から遡って前記第２ステータスにおける前記状態遷移が発生した第２時点を特定する特定処理と、
少なくとも前記第２時点における前記第１ステータスと前記第２ステータスとの組み合わせに係る条件を判定する判定処理と
を含み、コンピュータ又はプロセッサにより実行される状態監視方法。
【請求項２】
前記判定処理において、前記第２時点から前記第１時点までの間における前記条件を判定する
請求項１記載の状態監視方法。
【請求項３】
前記第２時点が前記第１時点から遡る時間を制限する
処理を含む請求項１又は２記載の状態監視方法。
【請求項４】
前記特定処理において、前記第２ステータスにおける前記状態遷移を検出する際に用いた時系列データの変化に基づいて前記第２時点を特定する
請求項１乃至３のいずれか１つ記載の状態監視方法。
【請求項５】
第１ステータスにおける状態遷移を検出し、
第２ステータスにおける状態遷移を検出し、
前記第２ステータスにおける前記状態遷移を検出した第１時点から遡って前記第２ステータスにおける前記状態遷移が発生した第２時点を特定し、
少なくとも前記第２時点における前記第１ステータスと前記第２ステータスとの組み合わせに係る条件を判定する
処理をコンピュータ又はプロセッサに実行させるプログラム。
【請求項６】
第１ステータスにおける状態遷移を検出する第１検出部と、
第２ステータスにおける状態遷移を検出し、前記第２ステータスにおける前記状態遷移を検出した第１時点から遡って前記第２ステータスにおける前記状態遷移が発生した第２時点を特定する第２検出部と、
少なくとも前記第２時点における前記第１ステータスと前記第２ステータスとの組み合わせに係る条件を判定する判定部と
を有する状態監視装置。
【請求項７】
第１ステータスにおける状態遷移を検出する第１検出部と、
第２ステータスにおける状態遷移を検出し、前記第２ステータスにおける前記状態遷移を検出した時点から遡って前記第２ステータスにおける前記状態遷移が発生した第２時点を特定する第２検出部と、
少なくとも前記第２時点における前記第１ステータスと前記第２ステータスとの組み合わせに係る条件を判定する判定部と
を有する状態監視システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態を監視する技術に関する。
【背景技術】
【０００２】
例えば携帯端末でユーザの歩行状態を検出した場合に、運動量の測定などの所定処理を行うアプリケーションがある。歩行状態の検出は、加速度を測定する物理センサを用いて、論理的に歩行状態を検出する歩行センサによって行われる。
【０００３】
歩行センサは、加速度の変化に関する周期性を特定することによって、論理的に歩行状態を検出する。従って、歩行センサは、或る程度の長さの時系列データに対する判定を行う。
【０００４】
或る程度の長さの時系列データを得ることを前提として判定を行う論理センサは、実際の状態遷移よりも遅れて当該状態を検出することになる。
【０００５】
そして、１つのステータスにおける状態遷移を検出するためには、通常論理センサは１つで足りる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１６４４４号公報
【特許文献２】特開２０１０−７４２７８号公報
【特許文献３】特開２０１１−２２８８７２号公報
【特許文献４】国際公開第２０１１／１１４６２０号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、一側面では、複数のステータスの組み合わせに係る状態をより正しく捉えることである。
【課題を解決するための手段】
【０００８】
一態様の状態監視方法は、（Ａ）第１ステータスにおける状態遷移を検出する処理と、（Ｂ）第２ステータスにおける状態遷移を検出する処理と、（Ｃ）第２ステータスにおける状態遷移を検出した第１時点から遡って第２ステータスにおける状態遷移が発生した第２時点を特定する特定処理と、（Ｄ）少なくとも第２時点における第１ステータスと第２ステータスとの組み合わせに係る条件を判定する判定処理とを含む。
【発明の効果】
【０００９】
一側面においては、複数のステータスの組み合わせに係る状態をより正しく捉えることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、携帯端末の使用態様を示す図である。
【図２】図２は、ステータス遷移の例を示す図である。
【図３】図３は、ステータス遷移の例を示す図である。
【図４】図４は、テーブル遷移の例を示す図である。
【図５】図５は、携帯端末のハードウエア構成例を示す図である。
【図６】図６は、携帯端末のモジュール構成例を示す図である。
【図７】図７は、第１検出処理フローの例を示す図である。
【図８】図８は、測定処理フローの例を示す図である。
【図９】図９は、第２検出処理（Ａ）フローの例を示す図である。
【図１０】図１０は、第１ウィンドウの例を示す図である。
【図１１】図１１は、第２ウィンドウの例を示す図である。
【図１２】図１２は、第１特定処理フローの例を示す図である。
【図１３】図１３は、第２特定処理フローの例を示す図である。
【図１４】図１４は、監視処理（Ａ）フローの例を示す図である。
【図１５】図１５は、携帯端末の使用態様を示す図である。
【図１６】図１６は、ステータス遷移の例を示す図である。
【図１７】図１７は、ステータス遷移の例を示す図である。
【図１８】図１８は、テーブル遷移の例を示す図である。
【図１９】図１９は、携帯端末の使用態様を示す図である。
【図２０】図２０は、ステータス遷移の例を示す図である。
【図２１】図２１は、テーブル遷移の例を示す図である。
【図２２Ａ】図２２Ａは、監視処理（Ｂ）フローの例を示す図である。
【図２２Ｂ】図２２Ｂは、監視処理（Ｂ）フローの例を示す図である。
【図２３】図２３は、携帯端末のハードウエア構成例を示す図である。
【図２４】図２４は、マイクロコントローラのハードウエア構成例を示す図である。
【図２５】図２５は、携帯端末のハードウエア構成例を示す図である。
【図２６】図２６は、マイクロコントローラのハードウエア構成例を示す図である。
【図２７】図２７は、第１のプログラム配置例を示す図である。
【図２８】図２８は、第２のプログラム配置例を示す図である。
【図２９】図２９は、第３のプログラム配置例を示す図である。
【図３０】図３０は、状態監視システムの構成例を示す図である。
【図３１】図３１は、第１のモジュール配置例を示す図である。
【図３２】図３２は、第２のモジュール配置例を示す図である。
【図３３】図３３は、第３のモジュール配置例を示す図である。
【図３４】図３４は、状態監視システムの構成例を示す図である。
【図３５】図３５は、第４のモジュール配置例を示す図である。
【図３６】図３６は、第５のモジュール配置例を示す図である。
【図３７】図３７は、第６のモジュール配置例を示す図である。
【図３８】図３８は、テーブル遷移の例を示す図である。
【図３９】図３９は、第２検出処理（Ｂ）フローの例を示す図である。
【図４０】図４０は、監視処理（Ｃ）フローの例を示す図である。
【図４１】図４１は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
図１に、携帯端末１０１の使用態様を示す。この例におけるアプリケーションは、歩行中のユーザに、近くにタクシーが存在することを報知する。アプリケーションが動作する携帯端末１０１は、タクシーに搭載された無線タグ１０３を検知する機能と、携帯端末１０１を保持するユーザの歩行状態を検出する機能と、状況を監視する機能とを有している。
【００１２】
時刻１１：５８：００において、ユーザは携帯端末１０１のアプリケーションを起動する。このとき、ユーザは路上で静止している。
【００１３】
時刻１２：００：００に、ユーザの近くに無線タグ１０３を搭載したタクシーが停車する。破線は、無線タグ１０３が近距離無線通信によって携帯端末１０１に検知される範囲を示している。このとき、携帯端末１０１は、無線タグ１０３を検知する。
【００１４】
時刻１２：００：０１に、ユーザは歩行を開始する。但し、携帯端末１０１における歩行状態の検出は、実際にユーザが歩行を開始した時点よりも遅れる。この例では、遅延時間が２秒である。従って、この時点で、携帯端末１０１は、未だ歩行状態を検出していない。
【００１５】
時刻１２：００：０２に、ユーザは、無線タグ１０３が検知される範囲の外に出る。この時点でも、携帯端末１０１は、未だ歩行状態を検出していない。
【００１６】
そして、時刻１２：００：０３に、携帯端末１０１は、歩行状態を検出する。但し、このとき、携帯端末１０１は、無線タグ１０３を検知していない。
【００１７】
図２に、図１の例で携帯端末１０１が捉えるステータス遷移を示す。枠２０１内のグラフは、時刻１２：００：０２において携帯端末１０１が捉えているステータスを示している。上段のグラフは、無線タグ１０３の検知に係るステータス（以下、第１ステータスという。）を示している。下段のグラフは、歩行状態に係るステータス（以下、第２ステータスという。）を示している。
【００１８】
この例におけるアプリケーションは、第１ステータスが「検知」であり、且つ第２ステータスが「歩行」であるという起動条件を満たす場合に、報知処理を行う。時刻１２：００：０２において第１ステータスは「非検知」であり、更に第２ステータスが「静止」であるので、アプリケーションは、報知処理を行わない。
【００１９】
枠２０３内のグラフは、時刻１２：００：０３において携帯端末１０１が捉えているステータスを示している。第２ステータスは「歩行」に移るが、第１ステータスが「非検知」であるので、アプリケーションは報知処理を行わない。
【００２０】
枠２０５内のグラフは、時刻１２：００：０４において携帯端末１０１が捉えているステータスを示している。その後も、起動条件を満たす状態にはならないので、アプリケーションは、報知処理を行わない。
【００２１】
本実施の形態では、この例のように、実際には起動条件を満たしている状況が生じているにも関わらず、歩行状態の検出が遅れることによって、状況の監視が失敗する事態を解消する。
【００２２】
図３に、本実施の形態によるステータス遷移の例を示す。枠３０１内のグラフは、時刻１２：００：０２において携帯端末１０１が捉えているステータスを示している。枠３０１内のグラフにおけるステータスは、図２に示した枠２０１内のグラフにおけるステータスと同様である。実際に歩行を開始した時刻１２：００：０１の第２ステータスは、「静止」となっている。
【００２３】
枠３０３内のグラフは、時刻１２：００：０３において携帯端末１０１が捉えているステータスを示している。図２の場合と同様に、時刻１２：００：０３に第２ステータスが「歩行」に移る。但し、本実施の形態では、実際に歩行を開始した時刻１２：００：０１まで遡って、第２ステータスが「歩行」に変更される。
【００２４】
その結果、時刻１２：００：０１から時刻１２：００：０２までの間において、第１ステータスが「検知」であり、且つ第２ステータスが「歩行」であるという起動条件を満たすようになる。本実施の形態では、第２ステータスを遡って変更する。更に、条件判定も遡って行う。従って、時刻１２：００：０３に、アプリケーションによる報知処理が行われるようになる。
【００２５】
図４に、本実施の形態によるテーブルの遷移の例を示す。携帯端末１０１は、第１ステータスを記録する第１テーブル４０１と、第２ステータスを記録する第２テーブル４０３とを保持する。
【００２６】
第１テーブル４０１は、第１ステータスに対応するレコードを有している。第１テーブル４０１のレコードは、第１ステータスを設定するためのフィールドと、第１ステータスの遷移時刻を設定するためのフィールドと、無線タグＩＤを設定するためのフィールドとを有している。第１ステータスは、「検知」あるいは「非検知」のいずれかを示す。
【００２７】
第１ステータスが「検知」である場合には、当該レコードに、第１ステータスが「非検知」から「検知」へ遷移した時刻が設定され、更に検知した無線タグ１０３のＩＤが設定される。
【００２８】
第１ステータスが「非検知」である場合には、当該レコードに、第１ステータスが「検知」から「非検知」へ遷移した時刻が設定される。尚、第１ステータスが「非検知」である場合には、無線タグＩＤを設定するためのフィールドに、無効であることを意味するＮＵＬＬが設定される。
【００２９】
但し、この例では、第１ステータスの遷移に関するイベントが発生した時刻を、第１ステータスの遷移時刻と看做す。
【００３０】
第２テーブル４０３は、第２ステータスに対応するレコードを有している。第２テーブル４０３のレコードは、第２ステータスを設定するためのフィールドと、第２ステータスの遷移時刻を設定するためのフィールドとを有している。第２ステータスは、「歩行」あるいは「静止」のいずれかを示す。
【００３１】
第２ステータスが「歩行」である場合には、当該レコードに、第２ステータスが「静止」から「歩行」へ遷移した時刻が設定される。一方、第２ステータスが「静止」である場合には、当該レコードに、第２ステータスが「歩行」から「静止」へ遷移した時刻が設定される。
【００３２】
この例では、アプリケーションが起動された時刻１１：５８：００に、第１テーブル４０１に第１レコードが設けられる。第１レコードの第１ステータスのフィールドには、初期値「非検知」が設定される。第１レコードの遷移時刻のフィールドには、起動時刻１１：５８：００が設定される。また、第１レコードの無線タグＩＤのフィールドには、無効であることを意味するＮＵＬＬが設定される。
【００３３】
また、アプリケーションが起動された時刻１１：５８：００に、第２テーブル４０３に第１レコードが設けられる。第１レコードの第２ステータスのフィールドには、初期値「静止」が設定される。第１レコードの遷移時刻のフィールドには、起動時刻１１：５８：００が設定される。
【００３４】
次に、時刻１２：００：００に第１ステータスが「検知」へ遷移したことを示すイベント（以下、「検知」イベントという。）が発生する。第１ステータスに関する「検知」イベントには、検知した無線タグ１０３のＩＤが含まれている。このとき、第１テーブル４０１に第２レコードが設けられる。第２レコードの第１ステータスのフィールドには、イベントに基づいて「検知」が設定される。第２レコードの遷移時刻のフィールドには、イベントが発生した時刻１２：００：００が設定される。また、第２レコードの無線タグＩＤのフィールドには、第１ステータスに関する「検知」イベントに含まれる無線タグＩＤ「００：０１：２３：４５：ＡＢ：ＣＤ」が設定される。
【００３５】
第１ステータスに関する「検知」イベントが発生した時刻１２：００：００における判定では、現在の第２ステータスが「静止」であるので、起動条件を満たさない。従って、報知処理は行われない。
【００３６】
次に、時刻１２：００：０２に第１ステータスが「非検知」へ遷移したことを示すイベント（以下、「非検知」イベントという。）が発生する。このとき、第１テーブル４０１に第３レコードが設けられる。第３レコードの第１ステータスのフィールドには、イベントに基づいて「非検知」が設定される。第３レコードの遷移時刻のフィールドには、イベントが発生した時刻１２：００：０２が設定される。第３レコードの無線タグＩＤのフィールドには、無効であることを意味するＮＵＬＬが設定される。
【００３７】
第１ステータスに関する「非検知」イベントが発生した時刻１２：００：０２における判定では、現在の第１ステータスが「非検知」であり、更に現在の第２ステータスが「静止」であるので、起動条件を満たさない。従って、報知処理は行われない。
【００３８】
次に、時刻１２：００：０３に第２ステータスが「歩行」へ遷移したことを示すイベント（以下、「歩行」イベントという。）が発生する。第２ステータスに関する「歩行」イベントには、歩行を開始した時刻、つまり遷移時刻「１２：００：０１」が含まれている。このとき、第２テーブル４０３に第２レコードが設けられる。第２レコードの第２ステータスのフィールドには、イベントに基づいて「歩行」が設定される。第２レコードの遷移時刻のフィールドには、第２ステータスに関する「歩行」イベントに含まれる遷移時刻「１２：００：０１」が設定される。
【００３９】
第２ステータスに関する「歩行」イベントが発生した時刻１２：００：０３における判定では、時刻１２：００：０１における第１ステータスが「検知」であり、且つ第２ステータスが「歩行」であるので、起動条件を満たす。従って、報知処理が行われる。以上で、本実施の形態の概要についての説明を終える。
【００４０】
以下、携帯端末１０１の動作に関して説明する。まず、本実施の形態における携帯端末１０１のハードウエア構成について説明する。図５に、携帯端末１０１のハードウエア構成例を示す。携帯端末１０１は、ＣＰＵ（Central Processing Unit）５０１、記憶回路５０３、無線通信用アンテナ５１１、無線通信制御回路５１３、ＬＣＤ（Liquid Crystal Display）制御回路５２３、ＬＣＤ５２５、タッチパッド５２７、キー群５２９、ＧＰＳ（Global Positioning System）装置５３１、タイマー回路５３３及び加速度センサ５３７を有している。
【００４１】
ＣＰＵ５０１は、記憶回路５０３に記憶されているプログラムを実行する。記憶回路５０３は、例えば、ＲＯＭ（Read Only Memory）５０５とＲＡＭ（Random Access Memory）５０７とフラッシュメモリ５０９とを有している。ＲＯＭ５０５は、例えば基礎的なプログラムや初期データを格納している。ＲＡＭ５０７は、プログラムを展開する領域を含んでいる。ＲＡＭ５０７は、一時的なデータを格納する領域も含んでいる。フラッシュメモリ５０９は、例えば、アプリケーションなどのプログラムやユーザデータを格納している。
【００４２】
ＬＣＤ制御回路５２３は、所定の動作周波数でクロック回路を動作させ、ＬＣＤ５２５を駆動させる。ＬＣＤ５２５は、各種画面を表示する。タッチパッド５２７は、例えば、ＬＣＤ５２５の表示面上に配置されたパネル状のセンサであり、タッチ操作による指示を受け付ける。具体的には、ＬＣＤ５２５とタッチパッド５２７とを一体としたタッチパネルとして用いられる。キー群５２９の各ハードキーは、筐体の一部に設けられている。
【００４３】
無線通信用アンテナ５１１は、例えば、セルラー方式、無線ＬＡＮ（Local Area Network）方式あるいは近距離通信方式（例えば、Bluetooth（登録商標） Low Energy）による無線電波を受信する。無線通信制御回路５１３は、各方式における使用周波数に応じて無線通信の制御を行う。この無線通信制御回路５１３は、例えば近傍にあって無線信号を出力する無線タグ１０３の検出に用いられる。
【００４４】
加速度センサ５３７は、加速度を測定する。具体的には、加速度センサ５３７は、直交する３つの軸の各方向における加速度を測定する。
【００４５】
この例では、ＣＰＵ５０１に、加速度センサ５３７が接続されている。そして、ＣＰＵ５０１は、加速度センサ５３７の測定結果を直接取得する。
【００４６】
尚、図５に示した携帯端末１０１は、携帯電話器（フィーチャーフォンとスマートフォンとを含む）であり、携帯型の電子機器の例である。但し、本実施の形態を、他の携帯型の電子機器に適用してもよい。例えば腕時計型やめがね型などのウェアラブル端末、タブレット端末、ゲーム機、歩数計、録音機、音楽再生機、カメラ、画像再生機、テレビ放送受信機、ラジオ放送受信機、コントローラ、電子時計、電子辞書、電子翻訳機、無線機、ＧＰＳ発信機、計測器、健康支援機器又は医療機器などの携帯型の電子機器において、携帯端末１０１と同様のモジュールを設け、以下に述べる処理を実行するようにしてもよい。
【００４７】
次に、携帯端末１０１のモジュールについて説明する。図６に、携帯端末１０１のモジュール構成例を示す。携帯端末１０１は、第１論理センサ６０１、第２論理センサ６０３、監視部６０５及びアプリケーションプログラム６０７を有する。第１論理センサ６０１は、第１ステータスを検出する第１検出処理を実行する。第２論理センサ６０３は、加速度を測定する処理及び第２ステータスを検出する第２検出処理を実行する。監視部６０５は、監視処理を実行する。アプリケーションプログラム６０７は、第１論理センサ６０１、第２論理センサ６０３及び監視部６０５を利用し、監視部６０５における判定結果に応じた所定処理（この例では、報知処理）を行う。
【００４８】
第１論理センサ６０１は、検知部６１１、第１生成部６１３及び第１ステータス記憶部６１５を有する。検知部６１１は、近隣から発せられる無線信号を受信するように無線通信制御回路５１３を制御することで、無線タグ１０３を検知する。第１生成部６１３は、第１ステータスの遷移に関するイベントを生成する。第１ステータス記憶部６１５は、現在の第１ステータスを記憶する。
【００４９】
第２論理センサ６０３は、測定部６２１、第１判定部６２３、特定部６２５、第２生成部６２７、第２ステータス記憶部６２９及びデータ記憶部６３１を有する。測定部６２１は、加速度センサ５３７を用いて加速度を測定する。第１判定部６２３は、加速度の時系列データに基づいて歩行状態の判定を行う。特定部６２５は、第２ステータスの遷移時刻を特定する。第２生成部６２７は、第２ステータスの遷移に関するイベントを生成する。第２ステータス記憶部６２９は、現在の第２ステータスを記憶する。データ記憶部６３１は、加速度の時系列データを記憶する。
【００５０】
監視部６０５は、受付部６４１、取得部６４３、抽出部６４５、第２判定部６４７、起動部６４９、条件記憶部６５１及びテーブル記憶部６５３を有する。受付部６４１は、アプリケーションプログラム６０７から起動条件を受け付ける。取得部６４３は、第１ステータスの遷移に関するイベント及び第２ステータスの遷移に関するイベントを取得する。抽出部６４５は、条件判定に用いる第１ステータスを第１テーブル４０１から抽出する。更に、抽出部６４５は、条件判定に用いる第２ステータスを第２テーブル４０３から抽出する。第２判定部６４７は、条件判定を行う。起動部６４９は、所定処理（この例では、アプリケーションプログラム６０７による報知処理）を起動する。条件記憶部６５１は、起動条件を記憶する。テーブル記憶部６５３は、第１テーブル４０１及び第２テーブル４０３を記憶する。
【００５１】
上述した第１論理センサ６０１、第２論理センサ６０３、監視部６０５、検知部６１１、第１生成部６１３、測定部６２１、第１判定部６２３、特定部６２５、第２生成部６２７、受付部６４１、取得部６４３、抽出部６４５、第２判定部６４７及び起動部６４９は、ハードウエア資源（例えば、図５）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００５２】
上述した第１ステータス記憶部６１５、第２ステータス記憶部６２９、データ記憶部６３１、条件記憶部６５１及びテーブル記憶部６５３は、ハードウエア資源（例えば、図５）を用いて実現される。
【００５３】
尚、ユーザ操作によってアプリケーションプログラム６０７が起動されると、アプリケーションプログラム６０７は、第１論理センサ６０１、第２論理センサ６０３及び監視部６０５の処理を起動するものとする。つまり、アプリケーションプログラム６０７の処理と連動して、第１論理センサ６０１、第２論理センサ６０３及び監視部６０５も処理を開始する。尚、アプリケーションプログラム６０７、第１論理センサ６０１、第２論理センサ６０３及び監視部６０５は、並行して処理を行う。
【００５４】
まず、第１論理センサ６０１による第１検出処理について説明する。図７に、第１検出処理フローの例を示す。検知部６１１は、無線タグ１０３を検知するタイミングを待つ（Ｓ７０１）。この例で、検知部６１１は、所定の周期で無線タグ１０３を検知する。当該タイミングに至ると、検知部６１１は、無線タグ１０３の検知を試みる（Ｓ７０３）。つまり、検知部６１１は、無線通信用アンテナ５１１及び無線通信制御回路５１３を用いて、近辺の無線タグ１０３を探索する動作を行う。
【００５５】
第１生成部６１３は、無線タグ１０３を検知したか否かを判定する（Ｓ７０５）。無線タグ１０３を検知したと判定した場合には、第１生成部６１３は、第１ステータス記憶部６１５に記憶されている現在の第１ステータスが「非検知」であるか否かを判定する（Ｓ７０７）。
【００５６】
第１ステータス記憶部６１５に記憶されている現在の第１ステータスが「非検知」でないと判定した場合、つまり第１ステータスが「検知」である場合には、第１ステータスを変更しない。そして、Ｓ７０１の処理に戻って、上述した処理を繰り返す。
【００５７】
一方、第１ステータス記憶部６１５に記憶されている現在の第１ステータスが「非検知」であると判定した場合には、第１生成部６１３は、現在の第１ステータスを「検知」に変更する（Ｓ７０９）。第１生成部６１３は、第１ステータスに関する「検知」イベントを生成する（Ｓ７１１）。第１ステータスに関する「検知」イベントには、検知した無線タグ１０３のＩＤが含まれる。第１ステータスに関する「検知」イベントは、監視部６０５に伝えられる。そして、Ｓ７０１の処理に戻って、上述した処理を繰り返す。
【００５８】
Ｓ７０５における判定の説明に戻る。Ｓ７０５において、無線タグ１０３を検知しなかったと判定した場合には、第１生成部６１３は、第１ステータス記憶部６１５に記憶されている現在の第１ステータスが「検知」であるか否かを判定する（Ｓ７１３）。
【００５９】
第１ステータス記憶部６１５に記憶されている現在の第１ステータスが「検知」でないと判定した場合、つまり第１ステータスが「非検知」である場合には、第１ステータスを変更しない。そして、Ｓ７０１の処理に戻って、上述した処理を繰り返す。
【００６０】
一方、第１ステータス記憶部６１５に記憶されている現在の第１ステータスが「検知」であると判定した場合には、第１生成部６１３は、現在の第１ステータスを「非検知」に変更する（Ｓ７１５）。第１生成部６１３は、第１ステータスに関する「非検知」イベントを生成する（Ｓ７１７）。第１ステータスに関する「非検知」イベントは、監視部６０５に伝えられる。そして、Ｓ７０１の処理に戻って、上述した処理を繰り返す。以上で、第１検出処理の説明を終える。
【００６１】
次に、第２論理センサ６０３による測定処理及び第２検出処理について説明する。測定処理は、第２検出処理と並行して実行される。図８に、測定処理フローの例を示す。測定部６２１は、加速度を測定するタイミングを待つ（Ｓ８０１）。この例で、検知部６１１は、所定の周期で加速度を測定する。当該タイミングに至ると、測定部６２１は、加速度センサ５３７を用いて加速度を測定する（Ｓ８０３）。測定部６２１は、測定時刻を付して、加速度をデータ記憶部６３１に記憶する（Ｓ８０５）。そして、Ｓ８０１に戻って、上述した処理を繰り返す。
【００６２】
本実施の形態では、第２検出処理（Ａ）を実行する。図９に、第２検出処理（Ａ）フローの例を示す。第１判定部６２３は、歩行状態を判定するタイミングを待つ（Ｓ９０１）。この例で、第１判定部６２３は、所定の周期で歩行状態の判定を行う。
【００６３】
当該タイミングに至ると、第１判定部６２３は、データ記憶部６３１に記憶されている加速度データのうち、第１ウィンドウ内の時系列データを特定する（Ｓ９０３）。第１ウィンドウは、判定対象となる期間に相当する。
【００６４】
図１０に、第１ウィンドウの例を示す。第１ウィンドウの開始時点は、現在時刻から所定時間Ｗ（第１ウィンドウ長という。）遡った時点である。第１ウィンドウの終了時点は、現在時刻である。
【００６５】
図１０に示したグラフの縦軸は、加速度の変化を模式的に示している。同じく横軸は、時間を示している。尚、実際の加速度は、３次元の値である。
【００６６】
１段目は、時刻Ｔ1における第１ウィンドウを示している。この第１ウィンドウの開始時点Ｔ2から同じく終了時点Ｔ1までに含まれる加速度の時系列データが、判定対象となる。尚、この例で、歩行を始めた時刻（始動時刻という。）ＴStartが、第１ウィンドウに含まれるが、第１ウィンドウに含まれる時系列データでは、歩行に相当する期間の割合が少なく、周期性の確度が低い。従って、第２ステータスは「静止」であると判定される。
【００６７】
２段目は、時刻Ｔ3における第１ウィンドウを示している。この第１ウィンドウにおける開始時点Ｔ4から終了時点Ｔ3までに含まれる加速度の時系列データが、判定対象となる。この第１ウィンドウに含まれる時系列データでも、歩行に相当する期間の割合が少ない。従って、第２ステータスは「静止」であると判定される。
【００６８】
３段目は、時刻Ｔ5における第１ウィンドウを示している。この第１ウィンドウにおける開始時点Ｔ6から終了時点Ｔ5までに含まれる加速度の時系列データが、判定対象となる。この第１ウィンドウに含まれる時系列データでは、歩行に相当する期間の割合が多く、周期性の確度が高い。従って、第２ステータスは「歩行」であると判定される。
【００６９】
図９の説明に戻る。第１判定部６２３は、第１ウィンドウに含まれる加速度の時系列データに対するフーリエ変換を行って、加速度の時系列データに含まれる周波数成分を求める（Ｓ９０５）。第１判定部６２３は、歩行に伴う周期性を示す周波数（この例では、１乃至３Ｈｚの周波数）成分の割合に関する２つの閾値を用いる。第１判定部６２３は、まず１乃至３Ｈｚの周波数成分の割合が上方の閾値（例えば、６０％）以上であるか否かを判定する（Ｓ９０７）。１乃至３Ｈｚの周波数成分の割合が上方の閾値以上である場合には、ユーザが歩行していると看做す。
【００７０】
１乃至３Ｈｚの周波数成分の割合が上方の閾値以上であると判定した場合には、第１判定部６２３は、第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「静止」であるか否かを判定する（Ｓ９０９）。
【００７１】
第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「静止」ではないと判定した場合、つまり現在の第２ステータスが「歩行」である場合には、第２ステータスを変更しない。そして、Ｓ９０１の処理に戻って、上述した処理を繰り返す。
【００７２】
一方、第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「静止」であると判定した場合、第１判定部６２３は、現在の第２ステータスを「歩行」に変更する（Ｓ９１１）。そして、特定部６２５は、第１特定処理を実行する（Ｓ９１３）。第１特定処理では、第１ウィンドウ内に第２ウィンドウを設定して、始動時刻ＴStartを特定する。
【００７３】
図１１に、第２ウィンドウの例を示す。第２ウィンドウ長は、第１ウィンドウ長よりも短い。第２ウィンドウ長は、歩行に伴う周期性を示す波形の変化を検出できる程度に設定される。この例では、第１ウィンドウ内を所定時間ｗに分割する。そして、分割された各期間が、第２ウィンドウに相当する。以下で説明する第１特定処理及び第２特定処理の例では、第２ウィンドウを、順次第１ウィンドウの終了時点側から開始時点側へ移す。
【００７４】
図１１は、図１０の３段目に示した第１ウィンドウに対して設定される第２ウィンドウの例を示している。図１１に示した例では、最初に開始時点ｔ1から終了時点Ｔ5の第２ウィンドウが設定される。その後順に、開始時点ｔ2から終了時点ｔ1の第２ウィンドウ、開始時点ｔ3から終了時点ｔ2の第２ウィンドウ、開始時点ｔ4から終了時点ｔ3の第２ウィンドウ、開始時点ｔ5から終了時点ｔ4の第２ウィンドウ、開始時点ｔ6から終了時点ｔ5の第２ウィンドウ及び開始時点ｔ7から終了時点ｔ6の第２ウィンドウが設定される。この例では開始時点ｔ7から終了時点ｔ6の第２ウィンドウにおいて加速度信号を解析した結果として利用者が移動していないと判断されるため、始動時刻ＴStartをｔ6と判定する。
【００７５】
図１２に、第１特定処理フローの例を示す。特定部６２５は、最初の第２ウィンドウを設定する（Ｓ１２０１）。特定部６２５は、第２ウィンドウ内の時系列データにおける加速度の分散値を算出する（Ｓ１２０３）。そして、特定部６２５は、加速度の分散値が閾値よりも小さいか否かを判定する（Ｓ１２０５）。
【００７６】
加速度の分散値が閾値よりも小さくないと判定した場合、つまり、加速度の分散値が閾値以上である場合には、特定部６２５は、第２ウィンドウを第２ウィンドウ長だけ過去方向に移動させる（Ｓ１２０７）。そして、Ｓ１２０３の処理に戻って、上述した処理を繰り返す。
【００７７】
一方、加速度の分散値が閾値よりも小さいと判定した場合、特定部６２５は、第２ステータスの遷移時刻を特定する（Ｓ１２０９）。第１特定処理の場合には、第２ステータスの遷移時刻は、始動時刻ＴStartを指す。例えば、特定部６２５は、加速度の分散値が閾値よりも小さいと判定された第２ウィンドウの終了時点を第２ステータスの遷移時刻として特定する。但し、特定部６２５は、第２ウィンドウに含まれる他の時点を特定するようにしてもよい。例えば、特定部６２５は、第２ウィンドウの開始時点を特定するようにしてもよい。特定部６２５は、第２ウィンドウの中央時点を特定するようにしてもよい。第１特定処理を終えると、図９に示したＳ９１５の処理に移る。
【００７８】
尚、第１特定処理において、図１２に示した例と異なる方法によって第２ステータスの遷移時刻を特定するようにしてもよい。例えば、特定部６２５は、第２ステータスの変化を検知した時の第１ウィンドウの開始時点を第２ステータスの遷移時刻として特定してもよい。あるいは、特定部６２５は、第２ステータスの変化を検知した時の第１ウィンドウの終了時点から所定時間遡った時刻を、第２ステータスの遷移時刻として特定してもよい。
【００７９】
図９の説明に戻る。第２生成部６２７は、第２ステータスに関する「歩行」イベントを生成する（Ｓ９１５）。この例で、第２ステータスの遷移に関するイベントは、第２ステータスの遷移時刻を含む。第２ステータスに関する「歩行」イベントには、遷移時刻として始動時刻ＴStartが設定される。第２ステータスに関する「歩行」イベントは、監視部６０５に伝えられる。そして、Ｓ９０１の処理に戻って、上述した処理を繰り返す。
【００８０】
Ｓ９０７における判定の説明に戻る。１乃至３Ｈｚの周波数成分の割合が上方の閾値以上ではないと判定した場合、つまり、１乃至３Ｈｚの周波数成分の割合が上方の閾値を下回る場合には、第１判定部６２３は、１乃至３Ｈｚの周波数成分の割合が下方の閾値（例えば、２０％）以下であるか否かを判定する（Ｓ９１６）。
【００８１】
１乃至３Ｈｚの周波数成分の割合が下方の閾値以下である場合には、ユーザが静止していると看做す。尚、１乃至３Ｈｚの周波数成分の割合が下方の閾値以下ではない場合には、状態判定の信頼性が低いので、そのままＳ９０１の処理に戻って、上述した処理を繰り返す。
【００８２】
一方、１乃至３Ｈｚの周波数成分の割合が下方の閾値以下であると判定した場合には、第１判定部６２３は、第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「歩行」であるか否かを判定する（Ｓ９１７）。
【００８３】
第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「歩行」ではないと判定した場合、つまり現在の第２ステータスが「静止」である場合には、第２ステータスを変更しない。そして、Ｓ９０１の処理に戻って、上述した処理を繰り返す。
【００８４】
一方、第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「歩行」であると判定した場合、第１判定部６２３は、現在の第２ステータスを「静止」に変更する（Ｓ９１９）。
【００８５】
そして、特定部６２５は、第２特定処理を実行する（Ｓ９２１）。第２特定処理では、第１ウィンドウ内に第２ウィンドウを設定して、ユーザが停止した時刻（停止時刻という。）を特定する。
【００８６】
図１３に、第２特定処理フローの例を示す。特定部６２５は、最初の第２ウィンドウを設定する（Ｓ１３０１）。特定部６２５は、第２ウィンドウ内の時系列データにおける加速度の分散値を算出する（Ｓ１３０３）。特定部６２５は、加速度の分散値が閾値よりも大きいか否かを判定する（Ｓ１３０５）。
【００８７】
加速度の分散値が閾値よりも大きくないと判定した場合、つまり、加速度の分散値が閾値以下である場合には、特定部６２５は、第２ウィンドウを第２ウィンドウ長だけ過去方向に移動させる（Ｓ１３０７）。そして、Ｓ１３０３の処理に戻って、上述した処理を繰り返す。
【００８８】
一方、加速度の分散値が閾値よりも大きいと判定した場合、特定部６２５は、第２ステータスの遷移時刻を特定する（Ｓ１３０９）。第２特定処理の場合には、第２ステータスの遷移時刻は、停止時刻を指す。例えば、特定部６２５は、加速度の分散値が閾値よりも大きいと判定された第２ウィンドウの終了時点を第２ステータスの遷移時刻として特定する。但し、特定部６２５は、第２ウィンドウに含まれる他の時点を特定するようにしてもよい。例えば、特定部６２５は、第２ウィンドウの開始時点を特定するようにしてもよい。特定部６２５は、第２ウィンドウの中央時点を特定するようにしてもよい。第２特定処理を終えると、図９に示したＳ９２３の処理に移る。
【００８９】
尚、第２特定処理において、他の方法によって第２ステータスの遷移時刻を特定するようにしてもよい。例えば、特定部６２５は、第１ウィンドウの開始時点を第２ステータスの遷移時刻として特定してもよい。あるいは、特定部６２５は、第１ウィンドウの終了時点から所定時間遡った時刻を、第２ステータスの遷移時刻として特定してもよい。
【００９０】
図９の説明に戻る。第２生成部６２７は、第２ステータスが「静止」へ遷移したことを示すイベント（以下、「静止」イベントという。）を生成する（Ｓ９２３）。第２ステータスに関する「静止」イベントには、遷移時刻として停止時刻が設定される。第２ステータスに関する「静止」イベントは、監視部６０５に伝えられる。そして、Ｓ９０１の処理に戻って、上述した処理を繰り返す。以上で、第２検出処理（Ａ）の説明を終える。
【００９１】
次に、監視部６０５による監視処理について説明する。本実施の形態では、監視処理（Ａ）を実行する。図１４に、監視処理（Ａ）フローの例を示す。受付部６４１は、アプリケーションプログラム６０７から起動条件を受け付ける（Ｓ１４０１）。受付部６４１は、受け付けた起動条件を条件記憶部６５１に記憶する。この例における起動条件は、第１ステータスが「検知」であり、且つ第２ステータスが「歩行」であるという内容である。
【００９２】
取得部６４３は、第１論理センサ６０１から第１ステータスの遷移に関するイベントを取得したか否かを判定する（Ｓ１４０３）。
【００９３】
第１論理センサ６０１から第１ステータスの遷移に関するイベントを取得したと判定した場合には、取得部６４３は、テーブル記憶部６５３に第１ステータスを記憶する（Ｓ１４０５）。具体的には、取得部６４３は、第１テーブル４０１に新たなレコードを設ける。そして、取得部６４３は、新たなレコードに第１ステータス及び遷移時刻を設定する。この例では、第１ステータスの遷移に関するイベントを取得した時刻を、遷移時刻と看做す。更に、第１ステータスが「検知」である場合に、取得部６４３は、Ｓ１４０３で取得したイベントに含まれる無線タグＩＤを新たなレコードに設定する。第１ステータスが「非検知」である場合には、無線タグＩＤのフィールドに無効であることを意味するＮＵＬＬが設定される。
【００９４】
抽出部６４５は、第２テーブル４０３から現在の第２ステータスを抽出する（Ｓ１４０７）。この例で、現在の第２ステータスは、第２テーブル４０３の最新レコードにおける第２ステータスである。
【００９５】
第２判定部６４７は、起動条件を満たすか否かを判定する（Ｓ１４０９）。この例では、Ｓ１４０３で取得したイベントの第１ステータスが「検知」であり、且つ現在の第２ステータスが「歩行」であるか否かを判定する。
【００９６】
起動条件を満たさないと判定した場合には、Ｓ１４０３の処理に戻って、上述した処理を繰り返す。
【００９７】
一方、起動条件を満たすと判定した場合には、起動部６４９は、アプリケーションプログラム６０７による報知処理を起動する（Ｓ１４１１）。アプリケーションプログラム６０７による所定処理を起動する方法は、任意である。例えば、起動部６４９は、アプリケーションプログラム６０７にコマンドを送るようにしてもよい。起動部６４９は、キューを用いるようにしてもよい。そして、Ｓ１４０３の処理に戻って、上述した処理を繰り返す。
【００９８】
アプリケーションプログラム６０７は、起動された報知処理を実行する。この例で、アプリケーションプログラム６０７は、上述した通り報知音を出力する。更に、アプリケーションプログラム６０７は、タクシーが近くに存在することを知らせる画面を表示する。尚、起動部６４９によって起動される処理の内容は、任意である。起動部６４９は、例えばメールの送信、広告画面の出力、音出力、撮影、録音あるいはデバイスや電源の制御などの処理を起動してもよい。
【００９９】
Ｓ１４０３における判定の説明に戻る。Ｓ１４０３において、第１論理センサ６０１から第１ステータスの遷移に関するイベントを取得していないと判定した場合には、取得部６４３は、第２論理センサ６０３から第２ステータスの遷移に関するイベントを取得したか否かを判定する（Ｓ１４１３）。
【０１００】
第２論理センサ６０３から第２ステータスの遷移に関するイベントを取得していないと判定した場合には、Ｓ１４０３に戻って、上述した処理を繰り返す。
【０１０１】
一方、第２論理センサ６０３から第２ステータスの遷移に関するイベントを取得したと判定した場合には、取得部６４３は、テーブル記憶部６５３に第２ステータスを記憶する（Ｓ１４１５）。具体的には、取得部６４３は、第２テーブル４０３に新たなレコードを設ける。そして、取得部６４３は、新たなレコードに第２ステータス及び遷移時刻を設定する。第２ステータスの遷移時刻は、上述した通りＳ１４１３において取得したイベントに含まれている。
【０１０２】
抽出部６４５は、第１テーブル４０１から、当該第２ステータスの遷移時刻における第１ステータス及び当該第２ステータスの遷移時刻より後の第１ステータスを抽出する（Ｓ１４１７）。具体的には、抽出部６４５は、当該第２ステータスの遷移時刻よりも前の時点を指す第１ステータスの遷移時刻のうち、最新の第１ステータスを抽出する。更に、抽出部６４５は、当該最新の第１ステータス以降の第１ステータスを抽出する。
【０１０３】
図４で監視部６０５が時刻１２：００：０３に第２ステータスに関する「歩行」イベントを取得した場合を例にして、具体的に説明する。時刻１２：００：０３における第１テーブル４０１には、第２ステータスの遷移に関するイベントに含まれる遷移時刻１２：００：０１より前の遷移時刻１１：５８：００（第１レコード）及び同じく遷移時刻１２：００：００（第２レコード）が設定されている。そのうち、最新の遷移時刻１２：００：００における第２ステータスの「検知」（第２レコード）が抽出される。更に、それ以降の第２ステータス「非検知」（第３レコード）が抽出される。
【０１０４】
図１４の説明に戻る。第２判定部６４７は、抽出された第１ステータスを１つ特定する（Ｓ１４１９）。第２判定部６４７は、起動条件を満たすか否かを判定する（Ｓ１４２１）。この例では、Ｓ１４１９で特定した第１ステータスが「検知」であり、且つＳ１４１３で取得したイベントが示す第２ステータスが「歩行」であるか否かを判定する。
【０１０５】
起動条件を満たすと判定した場合には、起動部６４９は、アプリケーションプログラム６０７による報知処理を起動する（Ｓ１４２３）。報知処理の内容は、Ｓ１４１１の場合と同様である。
【０１０６】
一方、起動条件を満たさないと判定した場合には、第２判定部６４７は、未処理の第１ステータスがあるか否かを判定する（Ｓ１４２５）。未処理の第１ステータスがあると判定した場合には、Ｓ１４１９の処理に戻って、上述した処理を繰り返す。未処理の第１ステータスがないと判定した場合には、報知処理を起動しない。そして、Ｓ１４０３の処理に戻って、上述した処理を繰り返す。以上で、監視処理（Ａ）の説明を終える。
【０１０７】
本実施の形態によれば、複数のステータスの組み合わせに係る状態をより正しく捉えることができる。具体的には、一方のステータスの検出が遅れる場合であっても、他方のステータスとの組み合わせに係る状態をより正しく捉えることができる。
【０１０８】
また、第２ステータスの遷移時刻における第１ステータス及び第２ステータスの遷移時刻より後の第１ステータスについて起動条件を判定するので、複数のステータスとの組み合わせに係る状態の取り逃しを抑制できる。
【０１０９】
［実施の形態２］
本実施の形態では、第２ステータスの遷移時刻を、第２ステータスの遷移に関するイベントの発生時点から遡らせる時間長に制限を設ける例について説明する。
【０１１０】
図１５に、携帯端末１０１の使用態様を示す。この例では、歩行状態の検出に係る遅延時間が５秒であると想定する。時刻１１：５８：００乃至時刻１２：００：０２の状況は、図１の場合と同様である。
【０１１１】
そして、時刻１２：００：０６に、携帯端末１０１は、歩行状態を検出する。このとき、携帯端末１０１は無線タグ１０３を検知していない。図１に示した例に比べて、歩行状態を検出するタイミングが遅くなっている。このようにユーザがタクシーから離れた位置における報知は、無駄となることがある。従って、この例では最長２秒までしか遷移時刻を遡らせない。本実施の形態では、このように遡りが許容される時間（以下、許容時間という）が設定されている。
【０１１２】
図１６は、図１５の例に実施の形態１を適用した場合のステータス遷移の例を示している。枠１６０１内のグラフは、時刻１２：００：０２において携帯端末１０１が捉えているステータスを示している。枠１６０１内のグラフにおけるステータスは、図３に示した枠３０１内のグラフにおけるステータスと同様である。
【０１１３】
枠１６０３内のグラフは、時刻１２：００：０５において携帯端末１０１が捉えているステータスを示している。このとき、第２ステータスは、未だ「静止」である。
【０１１４】
枠１６０５内のグラフは、時刻１２：００：０６において携帯端末１０１が捉えているステータスを示している。このとき、第２ステータスは「歩行」に移る。実施の形態１の場合には、実際に歩行を開始した時刻１２：００：０１まで遡って、第２ステータスが「歩行」に変更される。つまり、実施の形態１を適用した場合には、５秒遡った遷移時刻が求められる。しかし、実施の形態２では、許容時間である２秒を超える遡りはアプリケーションプログラム６０７の趣旨に適さないものとする。
【０１１５】
図１７に、実施の形態２におけるステータス遷移の例を示す。枠１７０１内のグラフは、時刻１２：００：０５において携帯端末１０１が捉えているステータスを示している。枠１７０１内のグラフにおけるステータスは、図１６に示した枠１６０３内のグラフにおけるステータスと同様である。
【０１１６】
枠１７０３内のグラフは、時刻１２：００：０６において携帯端末１０１が捉えているステータスを示している。このとき、第２ステータスは「歩行」に移る。現在時刻１２：００：０６から実際に歩行を開始した時刻１２：００：０１までの時間５秒が、許容時間２秒を超えている。従って、現在時刻１２：００：０６から許容時間２秒だけ遡って、時刻１２：００：０４以降の第２ステータスを「歩行」に変更する。従って、起動条件を満たさず、時刻１２：００：０６において報知処理は行われない。
【０１１７】
図１８に、図１７の例に基づくテーブル遷移の例を示す。時刻１１：５８：００乃至時刻１２：００：０２における第１テーブル４０１及び第２テーブル４０３は、図４の場合と同様である。
【０１１８】
時刻１２：００：０６に第２ステータスに関する「歩行」イベントが発生する。第２ステータスに関する「歩行」イベントには、歩行を開始した時刻、つまり遷移時刻「１２：００：０１」が含まれている。このとき、第２テーブル４０３に第２レコードが設けられる。第２レコードの第２ステータスのフィールドには、イベントに基づいて「歩行」が設定される。イベントに含まれる遷移時刻「１２：００：０１」は繰り下げられて、第２レコードの遷移時刻のフィールドには、「１２：００：０４」が設定される。
【０１１９】
実施の形態２において報知が行われる例について説明する。図１９に、携帯端末１０１の別の使用態様を示す。時刻１１：５８：００乃至時刻１２：００：０１における状況は、図１５の場合と同様である。但し、この例におけるユーザの歩行は、遅いものとする。
【０１２０】
そして、時刻１２：００：０５に、ユーザは携帯端末１０１が無線タグ１０３を検知する範囲の外に出る。但し、この時点で、携帯端末１０１は、未だ歩行状態を検出していない。
【０１２１】
時刻１２：００：０６に、携帯端末１０１は、歩行状態を検出する。このとき、ユーザは、まだタクシーの近くに居る。
【０１２２】
図２０に、図１９の例で携帯端末１０１が捉えるステータス遷移の例を示す。枠２００１内のグラフは、時刻１２：００：０５において携帯端末１０１が捉えているステータスを示している。このとき、第２ステータスは、未だ「静止」を示している。
【０１２３】
枠２００３内のグラフは、時刻１２：００：０６において携帯端末１０１が捉えているステータスを示している。第２ステータスは、時刻１２：００：０４まで遡って「歩行」に変更される。
【０１２４】
その結果、時刻１２：００：０４から時刻１２：００：０５までの間において、第１ステータスが「検知」であり、且つ第２ステータスが「歩行」であるという起動条件を満たすようになる。従って、時刻１２：００：０６に、アプリケーションによる報知処理が行われる。
【０１２５】
図２１に、図２０の例に基づくテーブル遷移の例を示す。時刻１１：５８：００及び時刻１２：００：００における第１テーブル４０１及び第２テーブル４０３は、図４の場合と同様である。
【０１２６】
時刻１２：００：０５に第１ステータスに関する「非検知」イベントが発生する。このとき、第１テーブル４０１に第３レコードが設けられる。第３レコードの第１ステータスのフィールドには、イベントに基づいて「非検知」が設定される。第３レコードの遷移時刻のフィールドには、イベントが発生した時刻１２：００：０５が設定される。第３レコードの無線タグＩＤのフィールドには、無効であることを意味するＮＵＬＬが設定される。
【０１２７】
そして、時刻１２：００：０６に第２ステータスに関する「歩行」イベントが発生する。時刻１２：００：０６における第２テーブル４０３は、図１８の場合と同様である。但し、繰り下げられた遷移時刻「１２：００：０４」における第１ステータスは、「検知」であるので、時刻１２：００：０４に遡って起動条件を満たすと判定される。以上で、本実施の形態の概要についての説明を終える。
【０１２８】
本実施の形態における監視部６０５は、監視処理（Ｂ）を実行する。図２２Ａ及び図２２Ｂに、監視処理（Ｂ）フローの例を示す。Ｓ１４０１において、受付部６４１は、上述した起動条件と共に、許容時間を受け付ける。そして、受付部６４１は、受け付けた許容時間を条件記憶部６５１に記憶する。
【０１２９】
Ｓ１４０３乃至Ｓ１４１３の処理は、図１４の場合と同様である。
【０１３０】
Ｓ１４１３において、第１論理センサ６０１から第２ステータスの遷移に関するイベントを取得したと判定した場合には、端子Ａを介して図２２Ｂに示したＳ２２０１の処理に移る。
【０１３１】
図２２Ｂの説明に移る。取得部６４３は、第２ステータスの遷移に関するイベントに含まれる遷移時刻が制限時刻より前であるか否かを判定する（Ｓ２２０１）。制限時刻は、Ｓ１４１３において第２ステータスの遷移に関するイベントを取得した時刻から、許容時間だけ遡った時刻である。
【０１３２】
遷移時刻が制限時刻より前であると判定した場合には、取得部６４３は、制限時刻まで遷移時刻を繰り下げる（Ｓ２２０３）。つまり、制限時刻を遷移時刻と看做してＳ１４１５の処理及びそれ以降の処理を行う。
【０１３３】
遷移時刻が制限時刻より前ではないと判定した場合には、そのままＳ１４１５の処理に移る。
【０１３４】
Ｓ１４１５乃至Ｓ１４２５の処理は、図１４の場合と同様である。
【０１３５】
本実施の形態によれば、長く遡って状態を監視する意義の少ない適用態様において、無駄な状態検出を省くことができる。
【０１３６】
［実施の形態３］
本実施の形態では、第１論理センサ６０１、第２論理センサ６０３及び監視部６０５における処理の一部を、サブプロセッサが実行する例について説明する。
【０１３７】
図２３に、携帯端末１０１のハードウエア構成例を示す。ＣＰＵ５０１には、マイクロコントローラ２３０１が接続されている。マイクロコントローラ２３０１には、加速度センサ５３７が接続されている。マイクロコントローラ２３０１は、加速度センサ５３７を制御する。
【０１３８】
この例で、ＣＰＵ５０１は、マイクロコントローラ２３０１を介して加速度センサ５３７の測定結果を取得するようにしてもよい。
【０１３９】
図２４に、マイクロコントローラ２３０１のハードウエア構成例を示す。マイクロコントローラ２３０１は、入出力インターフェース回路２４０１、サブプロセッサ２４０３、記憶回路２４０５及びタイマー回路２４０７を有する。
【０１４０】
入出力インターフェース回路２４０１は、加速度センサ５３７へ測定命令を出力する。また、入出力インターフェース回路２４０１は、加速度センサ５３７で測定した加速度データで測定した姿勢データを受ける。更に、入出力インターフェース回路２４０１は、ＣＰＵ５０１へデータ（例えば、命令やイベント）を送り、ＣＰＵ５０１からデータ（例えば、命令やイベント）を受けることもある。
【０１４１】
入出力インターフェース回路２４０１は、サブプロセッサ２４０３に接続されている。サブプロセッサ２４０３は、記憶回路２４０５及びタイマー回路２４０７に接続されている。サブプロセッサ２４０３は、演算処理を行なう。記憶回路２４０５は、データを記憶する。記憶回路２４０５は、例えば揮発性のメモリ及び不揮発性のメモリを含んでいる。タイマー回路２４０７は、時刻及び経過時間を測定する。
【０１４２】
尚、加速度センサ５３７をマイクロコントローラ２３０１に含めるようにしてもよい。加速度センサ５３７をマイクロコントローラ２３０１に含める場合の携帯端末１０１のハードウエア構成例を図２５に示す。更に、加速度センサ５３７を含むマイクロコントローラ２３０１のハードウエア構成例を図２６に示す。加速度センサ５３７は、サブプロセッサ２４０３に接続されている。サブプロセッサ２４０３は、加速度センサ５３７へ測定命令を渡す。また、サブプロセッサ２４０３は、加速度センサ５３７で測定した加速度データで測定した姿勢データを受ける。
【０１４３】
マイクロコントローラ２３０１は、他のセンサを含むようにしてもよい。例えば、マイクロコントローラ２３０１は、無線タグ１０３を検出する無線センサ２６０１を含むようにしてもよい。無線センサ２６０１は、例えば図５に示した無線通信用アンテナ５１１及び無線通信制御回路５１３に相当する。
【０１４４】
続いて、プログラム配置について３つの例を示す。図２７に、第１のプログラム配置例を示す。図７に示した第１検出処理をＣＰＵ５０１に実行させるための第１検出プログラム２７０１が、記憶回路５０３に格納されている。ＣＰＵ５０１が第１検出プログラム２７０１を実行することによって、第１論理センサ６０１が実現される。尚、第１ステータス記憶部６１５は、記憶回路５０３に設けられる。
【０１４５】
図８に示した測定処理及び例えば図９に示した第２検出処理をサブプロセッサ２４０３に実行させるための第２検出プログラム２７０３が、記憶回路２４０５に格納されている。サブプロセッサ２４０３が第２検出プログラム２７０３を実行することによって、第２論理センサ６０３が実現される。尚、第２ステータス記憶部６２９及びデータ記憶部６３１は、記憶回路２４０５に設けられる。また、第２ステータスの遷移に関するイベントは、入出力インターフェース回路２４０１からＣＰＵ５０１に送られる。
【０１４６】
例えば図１４に示した監視処理をＣＰＵ５０１に実行させるための監視プログラム２７０５が、記憶回路５０３に格納されている。ＣＰＵ５０１が監視プログラム２７０５を実行することによって、監視部６０５が実現される。尚、条件記憶部６５１及びテーブル記憶部６５３は、記憶回路５０３に設けられる。
【０１４７】
アプリケーションプログラム６０７は、記憶回路５０３に格納されている。そして、ＣＰＵ５０１がアプリケーションプログラム６０７を実行する。
【０１４８】
図２８に、第２のプログラム配置例を示す。図７に示した第１検出処理をサブプロセッサ２４０３に実行させるための第１検出プログラム２７０１が、記憶回路２４０５に格納されている。サブプロセッサ２４０３が第１検出プログラム２７０１を実行することによって、第１論理センサ６０１が実現される。尚、第１ステータス記憶部６１５は、記憶回路２４０５に設けられる。第１ステータスの遷移に関するイベントは、入出力インターフェース回路２４０１からＣＰＵ５０１に送られる。
【０１４９】
図８に示した測定処理及び例えば図９に示した第２検出処理をサブプロセッサ２４０３に実行させるための第２検出プログラム２７０３が、記憶回路２４０５に格納されている。サブプロセッサ２４０３が第２検出プログラム２７０３を実行することによって、第２論理センサ６０３が実現される。尚、第２ステータス記憶部６２９及びデータ記憶部６３１は、記憶回路２４０５に設けられる。第２ステータスの遷移に関するイベントは、入出力インターフェース回路２４０１からＣＰＵ５０１に送られる。
【０１５０】
例えば図１４に示した監視処理をＣＰＵ５０１に実行させるための監視プログラム２７０５が、記憶回路５０３に格納されている。ＣＰＵ５０１が監視プログラム２７０５を実行することによって、監視部６０５が実現される。尚、条件記憶部６５１及びテーブル記憶部６５３は、記憶回路５０３に設けられる。
【０１５１】
アプリケーションプログラム６０７は、記憶回路５０３に格納されている。そして、ＣＰＵ５０１がアプリケーションプログラム６０７を実行する。
【０１５２】
図２９に、第３のプログラム配置例を示す。図７に示した第１検出処理をサブプロセッサ２４０３に実行させるための第１検出プログラム２７０１が、記憶回路２４０５に格納されている。サブプロセッサ２４０３が第１検出プログラム２７０１を実行することによって、第１論理センサ６０１が実現される。尚、第１ステータス記憶部６１５は、記憶回路２４０５に設けられる。
【０１５３】
図８に示した測定処理及び例えば図９に示した第２検出処理をサブプロセッサ２４０３に実行させるための第２検出プログラム２７０３が、記憶回路２４０５に格納されている。サブプロセッサ２４０３が第２検出プログラム２７０３を実行することによって、第２論理センサ６０３が実現される。尚、第２ステータス記憶部６２９及びデータ記憶部６３１は、記憶回路２４０５に設けられる。
【０１５４】
例えば図１４に示した監視処理をサブプロセッサ２４０３に実行させるための監視プログラム２７０５が、記憶回路２４０５に格納されている。サブプロセッサ２４０３が監視プログラム２７０５を実行することによって、監視部６０５が実現される。尚、条件記憶部６５１及びテーブル記憶部６５３は、記憶回路２４０５に設けられる。入出力インターフェース回路２４０１は、ＣＰＵ５０１から送られる起動条件（実施の形態２に基づく場合には、許容時間を含む。）を受ける。また、サブプロセッサ２４０３は、入出力インターフェース回路２４０１を介してアプリケーションプログラム６０７における所定処理（この例では、報知処理）を起動する。
【０１５５】
アプリケーションプログラム６０７は、記憶回路５０３に格納されている。そして、ＣＰＵ５０１がアプリケーションプログラム６０７を実行する。
【０１５６】
図２８及び図２９に示したプログラム配置例で、第１論理センサ６０１は、図２６に示した無線センサ２６０１を用いるようにしてもよい。
【０１５７】
本実施の形態によれば、ＣＰＵ５０１の処理負荷を減らすことができる。
【０１５８】
［実施の形態４］
本実施の形態では、携帯端末１０１及びウェアラブル端末３００１を用いる状態監視システムの例について説明する。上述した携帯端末１０１における機能の一部を、ウェアラブル端末３００１が担う。
【０１５９】
図３０に、状態監視システムの構成例を示す。本実施の形態に係る状態監視システムは、携帯端末１０１及びウェアラブル端末３００１を含む。携帯端末１０１とウェアラブル端末３００１とは、近距離無線通信を行う。ウェアラブル端末３００１のハードウエア構成は、例えば図５の場合と同様である。
【０１６０】
図３１に、第１のモジュール配置例を示す。第１論理センサ６０１、監視部６０５及びアプリケーションプログラム６０７は、携帯端末１０１に設けられる。第２論理センサ６０３は、ウェアラブル端末３００１に設けられる。携帯端末１０１は、近距離無線通信によってウェアラブル端末３００１から第２ステータスの遷移に関するイベントを受信する。
【０１６１】
図３２に、第２のモジュール配置例を示す。監視部６０５及びアプリケーションプログラム６０７は、携帯端末１０１に設けられる。第１論理センサ６０１及び第２論理センサ６０３は、ウェアラブル端末３００１に設けられる。携帯端末１０１は、近距離無線通信によってウェアラブル端末３００１から第１ステータスの遷移に関するイベント及び第２ステータスの遷移に関するイベントを受信する。
【０１６２】
図３３に、第３のモジュール配置例を示す。アプリケーションプログラム６０７は、携帯端末１０１に設けられる。第１論理センサ６０１、第２論理センサ６０３及び監視部６０５は、ウェアラブル端末３００１に設けられる。ウェアラブル端末３００１は、近距離無線通信によって携帯端末１０１から起動条件（実施の形態２に基づく場合には、許容時間を含む。）を受信する。また、ウェアラブル端末３００１は、近距離無線通信によってアプリケーションプログラム６０７における所定処理を起動する。
【０１６３】
本実施の形態によれば、ウェアラブル端末３００１を活用してユーザの状態を監視することができる。また、携帯端末１０１の処理負荷を減らすことができる面もある。
【０１６４】
［実施の形態５］
本実施の形態では、携帯端末１０１及びサーバ装置３４０１を用いる状態監視システムの例について説明する。上述した携帯端末１０１における機能の一部を、サーバ装置３４０１が担う。
【０１６５】
図３４に、状態監視システムの構成例を示す。本実施の形態に係る状態監視システムは、サーバ装置３４０１及び携帯端末１０１を含む。サーバ装置３４０１と携帯端末１０１とは、ネットワーク（例えば、インターネットあるいはＬＡＮ）を介して通信を行う。
【０１６６】
図３５に、第４のモジュール配置例を示す。第１論理センサ６０１、監視部６０５及びアプリケーションプログラム６０７は、サーバ装置３４０１に設けられる。第２論理センサ６０３は、携帯端末１０１に設けられる。サーバ装置３４０１は、ネットワークを介して携帯端末１０１から第２ステータスの遷移に関するイベントを受信する。
【０１６７】
図３６に、第５のモジュール配置例を示す。監視部６０５及びアプリケーションプログラム６０７は、サーバ装置３４０１に設けられる。第１論理センサ６０１及び第２論理センサ６０３は、携帯端末１０１に設けられる。サーバ装置３４０１は、ネットワークを介して携帯端末１０１から第１ステータスの遷移に関するイベント及び第２ステータスの遷移に関するイベントを受信する。
【０１６８】
図３７に、第６のモジュール配置例を示す。アプリケーションプログラム６０７は、サーバ装置３４０１に設けられる。第１論理センサ６０１、第２論理センサ６０３及び監視部６０５は、携帯端末１０１に設けられる。携帯端末１０１は、ネットワークを介してサーバ装置３４０１から起動条件（実施の形態２に基づく場合には、許容時間を含む。）を受信する。また、携帯端末１０１は、ネットワークを介してアプリケーションプログラム６０７における所定処理を起動する。
【０１６９】
本実施の形態によれば、ネットワークを活用して状態監視を行うことができる。また、携帯端末１０１の処理負荷を減らすことができる面もある。
【０１７０】
［実施の形態６］
他の第２論理センサ６０３の例について説明する。上述した実施の形態では、第２論理センサ６０３においてユーザの歩行状態を検出する例について説明したが、本実施の形態では、第２論理センサ６０３においてユーザの現在位置を検出する例について説明する。
【０１７１】
本実施の形態に係る第２論理センサ６０３は、ＧＰＳ装置５３１を用いて携帯端末１０１の現在位置を測定する。本実施の形態に係る第２ステータスは、測定の精度を示す。具体的には、第２ステータスは、「高精度」あるいは「低精度」のいずれかを示す。第２ステータスが「高精度」である場合には、測定された現在位置の信頼性が高い。第２ステータスが「低精度」である場合には、測定された現在位置の信頼性が低い。
【０１７２】
本実施の形態に係るアプリケーションプログラム６０７は、第２ステータスが「高精度」である場合の現在位置を用いたサービスを行う。この例で、アプリケーションプログラム６０７は、盗難車両の捜索に役立つ情報提供を行う。盗難車両は、無線タグ１０３を搭載しているものとする。監視部６０５における起動条件は、第１ステータスが「検知」であり、且つ第２ステータスが「高精度」であるという内容である。この起動条件を満たすときに、盗難車両を特定する無線タグ１０３のＩＤ及び盗難車両の所在を示す現在地の情報は、盗難車両の捜索に役立つ。従って、アプリケーションプログラム６０７は、無線タグ１０３のＩＤ及び携帯端末１０１の現在地を、盗難車両の捜索を支援するサーバに報知する。
【０１７３】
図３８に、本実施の形態におけるテーブルの遷移の例を示す。第１テーブル４０１の構成は、図４の場合と同様である。
【０１７４】
第２テーブル４０３のレコードは、図４の場合と同様に、第２ステータスを設定するためのフィールドと、第２ステータスの遷移時刻を設定するためのフィールドとを有している。但し、第２ステータスは、「高精度」あるいは「低精度」のいずれかを示す。
【０１７５】
第２ステータスが「高精度」である場合には、当該「高精度」の測定を行った時刻から所定時間遡った時刻が、遷移時刻として当該レコードに設定される。
【０１７６】
ユーザの歩行速度及び位置測定の精度を勘案すれば、測定時刻以前においても現在位置が有効であると看做してもかまわない場合がある。従って、本実施の形態では、測定時刻から所定時間遡った時刻を、遷移時刻として扱う。つまり、当該所定時間は、現在位置の近辺にユーザが居たと想定される期間に相当する。当該所定時間は、例えばユーザの歩行速度を勘案して事前に決めるようにしてもよい。ユーザの歩行が遅ければ、比較的長い間その近辺にユーザが居たと想定される。一方、ユーザの歩行が速ければ、比較的短い間に限って、その近辺にユーザが居たと想定される。
【０１７７】
第２ステータスが「低精度」である場合には、当該「低精度」の測定を行った時刻が、遷移時刻として当該レコードに設定される。
【０１７８】
図３８に示した例で、アプリケーションが起動された時刻１１：５８：００に、第１テーブル４０１に第１レコードが設けられる。第１レコードの第１ステータスのフィールドには、初期値「非検知」が設定される。第１レコードの遷移時刻のフィールドには、起動時刻１１：５８：００が設定される。また、第１レコードの無線タグＩＤのフィールドには、無効であることを意味するＮＵＬＬが設定される。
【０１７９】
また、アプリケーションが起動された時刻１１：５８：００に、第２テーブル４０３に第１レコードが設けられる。第１レコードの第２ステータスのフィールドには、初期値「低精度」が設定される。第１レコードの遷移時刻のフィールドには、起動時刻１１：５８：００が設定される。
【０１８０】
そして、時刻１２：００：００に、ユーザの近くに盗難車両が停車し、第１ステータスに関する「検知」イベントが発生するものとする。第１ステータスに関する「検知」イベントには、検知した無線タグ１０３のＩＤが含まれている。このとき、第１テーブル４０１に第２レコードが設けられる。第２レコードの第１ステータスのフィールドには、イベントに基づいて「検知」が設定される。第２レコードの遷移時刻のフィールドには、イベントが発生した時刻１２：００：００が設定される。また、第２レコードの無線タグＩＤのフィールドには、第１ステータスに関する「検知」イベントに含まれる無線タグＩＤ「００：０１：２３：４５：ＡＢ：ＣＤ」が設定される。
【０１８１】
但し、第１ステータスに関する「検知」イベントが発生した時刻１２：００：００における判定では、現在の第２ステータスが「低精度」であるので、起動条件を満たさない。従って、報知処理は行われない。
【０１８２】
次に、時刻１２：００：０２にユーザが移動したことによって、携帯端末１０１が無線タグ１０３を検知する範囲の外に出たために、第１ステータスに関する「非検知」イベントが発生するものとする。このとき、第１テーブル４０１に第３レコードが設けられる。第３レコードの第１ステータスのフィールドには、イベントに基づいて「非検知」が設定される。第３レコードの遷移時刻のフィールドには、イベントが発生した時刻１２：００：０２が設定される。第３レコードの無線タグＩＤのフィールドには、無効であることを意味するＮＵＬＬが設定される。
【０１８３】
第１ステータスに関する「非検知」イベントが発生した時刻１２：００：０２における判定では、現在の第１ステータスが「非検知」であり、更に現在の第２ステータスが「低精度」であるので、起動条件を満たさない。従って、報知処理は行われない。
【０１８４】
次に、時刻１２：００：０３に、例えばＧＰＳ装置５３１における電波の受信状態が改善し、第２ステータスが「高精度」へ遷移したことを示すイベント（以下、「高精度」イベントという。）が発生するものとする。第２ステータスに関する「高精度」イベントには、当該「高精度」の測定を行った時刻から所定時間（この例では、１０秒）遡った時刻、つまり遷移時刻「１１：５９：５３」が含まれる。そして、第２テーブル４０３に第２レコードが設けられる。第２レコードの第２ステータスのフィールドには、イベントに基づいて「高精度」が設定される。第２レコードの遷移時刻のフィールドには、第２ステータスに関する「高精度」イベントに含まれる遷移時刻「１１：５９：５３」が設定される。
【０１８５】
第２ステータスに関する「高精度」イベントが発生した時刻１２：００：０３における判定では、時刻１２：００：００から時刻１２：００：０２までの間において、第１ステータスが「検知」であり、且つ第２ステータスが「高精度」であるので、起動条件を満たす。従って、報知処理が行われる。
【０１８６】
次に、本実施の形態における第２検出処理について説明する。本実施の形態では、第２検出処理（Ｂ）が実行される。図３９に、第２検出処理（Ｂ）フローの例を示す。測定部６２１は、現在位置を測定するタイミングを待つ（Ｓ３９０１）。この例で、第１判定部６２３は、ＧＰＳ装置５３１を用いて所定の周期で現在位置を測定する。
【０１８７】
現在位置を測定するタイミングにいたると、測定部６２１は、現在位置を測定する（Ｓ３９０３）。現在位置は、地理座標（緯度：経度）によって示される。現在位置のデータは、測定時刻とともにデータ記憶部６３１に記憶される。
【０１８８】
測定部６２１は、測定の誤差を特定する（Ｓ３９０５）。測定の誤差は、距離によって示される。
【０１８９】
第２生成部６２７は、現在位置の測定イベントを生成する（Ｓ３９０７）。この例で、現在位置の測定イベントは、アプリケーションプログラム６０７に渡される。監視部６０５は、現在位置の測定イベントを取得しない。
【０１９０】
第１判定部６２３は、誤差が閾値（例えば、２０ｍ）以下であるか否かを判定する（Ｓ３９０９）。誤差が閾値以下であれば、高い精度で現在位置が測定されたと看做す。誤差が閾値を超えていれば、低い精度で現在位置が測定されたと看做す。
【０１９１】
誤差が閾値以下であると判定した場合には、第１判定部６２３は、第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「低精度」であるか否かを判定する（Ｓ３９１１）。
【０１９２】
第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「低精度」ではないと判定した場合、つまり現在の第２ステータスが「高精度」である場合には、第２ステータスを変更しない。そして、Ｓ３９０１の処理に戻って、上述した処理を繰り返す。
【０１９３】
一方、第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「低精度」であると判定した場合、第１判定部６２３は、現在の第２ステータスを「高精度」に変更する（Ｓ３９１３）。
【０１９４】
そして、特定部６２５は、遷移時刻を特定する（Ｓ３９１５）。この例では、特定部６２５は、Ｓ３９０３において現在位置を測定した時刻から所定時間遡った時点を、遷移時刻と看做す。当該所定時間は、事前に決めておいてもよい。あるいは、アプリケーションプログラム６０７が、当該所定時間を指定するようにしてもよい。
【０１９５】
第２生成部６２７は、第２ステータスに関する「高精度」イベントを生成する（Ｓ３９１７）。第２ステータスに関する「高精度」イベントには、Ｓ３９１５において特定した遷移時刻が含まれる。第２ステータスに関する「高精度」イベントは、監視部６０５に伝えられる。そして、Ｓ３９０１の処理に戻って、上述した処理を繰り返す。
【０１９６】
Ｓ３９０９における判定の説明に戻る。誤差が閾値以下ではないと判定した場合、つまり誤差が閾値を超える場合には第１判定部６２３は、第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「高精度」であるか否かを判定する（Ｓ３９１９）。
【０１９７】
第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「高精度」ではないと判定した場合、つまり現在の第２ステータスが「低精度」である場合には、第２ステータスを変更しない。そして、Ｓ３９０１の処理に戻って、上述した処理を繰り返す。
【０１９８】
一方、第２ステータス記憶部６２９に記憶されている現在の第２ステータスが「高精度」であると判定した場合には、第１判定部６２３は、現在の第２ステータスを「低精度」に変更する（Ｓ３９２１）。
【０１９９】
第２生成部６２７は、第２ステータスが「低精度」へ遷移したことを示すイベント（以下、「低精度」イベントという。）を生成する（Ｓ３９２３）。第２ステータスに関する「低精度」イベントにおける遷移時刻は、Ｓ３９０３において現在位置を測定した時刻を指す。そして、Ｓ３９０１の処理に戻って、上述した処理を繰り返す。
【０２００】
次に、本実施の形態における監視処理について説明する。本実施の形態では、監視処理（Ｃ）が実行される。図４０に、監視処理（Ｃ）フローの例を示す。この例で、Ｓ１４０１において受け付ける起動条件は、第１ステータスが「検知」であり、且つ第２ステータスが「高精度」であるという内容である。
【０２０１】
Ｓ１４０３乃至Ｓ１４０７の処理は、図１４の場合と同様である。
【０２０２】
Ｓ４００１において、第２判定部６４７は、Ｓ１４０３で取得したイベントの第１ステータスが「検知」であり、且つ現在の第２ステータスが「高精度」であるか否かを判定する。Ｓ１４０３で取得したイベントの第１ステータスが「検知」であり、且つ現在の第２ステータスが「高精度」であると判定した場合には、Ｓ１４１１の処理に移る。一方、当該条件を満たさないと判定した場合には、Ｓ１４０３に示した処理に戻って、上述した処理を繰り返す。
【０２０３】
Ｓ１４１１において起動される報知処理で、アプリケーションプログラム６０７は、第２論理センサ６０３から現在位置の測定イベントを取得する。そして、アプリケーションプログラム６０７は、盗難車両捜索を支援するサーバに、携帯端末１０１の現在位置で無線タグＩＤを検知したことを報知する。
【０２０４】
盗難車両捜索を支援するサーバは、例えば盗難車両の所有者に、盗難車両の所在地を通知する。このようにして、盗難車両を捜索する手掛りとなる情報を提供する。
【０２０５】
Ｓ１４１３乃至Ｓ１４１９の処理は、図１４の場合と同様である。
【０２０６】
Ｓ４００３において、第２判定部６４７は、Ｓ１４１９で特定したイベントの第１ステータスが「検知」であり、且つＳ１４１３で取得したイベントが示す第２ステータスが「高精度」であるか否かを判定する。Ｓ１４１９で特定したイベントの第１ステータスが「検知」であり、且つＳ１４１３で取得したイベントが示す第２ステータスが「高精度」であると判定した場合には、Ｓ１４２３に示した処理に移る。一方、当該条件を満たさないと判定した場合には、Ｓ１４２５に示した処理に移る。
【０２０７】
Ｓ１４２３及びＳ１４２５の処理は、図１４の場合と同様である。
【０２０８】
本実施の形態によれば、信頼性の高い位置情報に基づく状況監視が行われる。この例では、盗難車両が近くにある状況を、より正しく捉えることができる。
【０２０９】
上述した各実施の形態において、起動条件で検知対象の無線タグ１０３を限定するようにしてもよい。そして、監視部６０５は、起動条件において定められた無線タグ１０３以外の無線タグ１０３を無視するようにしてもよい。
【０２１０】
抽出部６４５は、Ｓ１４０７において、現在の第２ステータスのレコードより前のレコードを削除するようにしてもよい。更に、抽出部６４５は、Ｓ１４１７において、抽出した第１ステータスのレコードよりも前のレコードを削除するようにしてもよい。このようにすれば、記憶領域の無駄遣いが起きない。
【０２１１】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【０２１２】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【０２１３】
なお、上で述べたサーバ装置３４０１は、コンピュータ装置であって、図４１に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０２１４】
以上述べた実施の形態をまとめると、以下のようになる。
【０２１５】
一態様の状態監視方法は、（Ａ）第１ステータスにおける状態遷移を検出する処理と、（Ｂ）第２ステータスにおける状態遷移を検出する処理と、（Ｃ）第２ステータスにおける状態遷移を検出した第１時点から遡って第２ステータスにおける状態遷移が発生した第２時点を特定する特定処理と、（Ｄ）少なくとも第２時点における第１ステータスと第２ステータスとの組み合わせに係る条件を判定する判定処理とを含む。
【０２１６】
このようにすれば、複数のステータスの組み合わせに係る状態をより正しく捉えることができる。具体的には、一方のステータスの検出が遅れる場合であっても、他方のステータスとの組み合わせに係る状態をより正しく捉えることができる。
【０２１７】
更に、上記判定処理において、第２時点から第１時点までの間における上記条件を判定するようにしてもよい。
【０２１８】
このようにすれば、複数のステータスとの組み合わせに係る状態の取り逃しを抑制できる。
【０２１９】
更に、第２時点が第１時点から遡る時間を制限する処理を含むようにしてもよい。
【０２２０】
このようにすれば、長く遡って状態を監視する意義の少ない適用態様において、無駄な状態検出を減らすことができる。
【０２２１】
更に、上記特定処理において、第２ステータスの上記遷移を検出する際に用いた時系列データの変化に基づいて第２時点を特定するようにしてもよい。
【０２２２】
このようにすれば、より正しく第２時点を特定することができる。
【０２２３】
更に、上記条件の判定結果に基づいて、所定処理を起動する処理を含むようにしてもよい。
【０２２４】
このようにすれば、状態に応じた所定処理を行うことができる。
【０２２５】
なお、上記処理をプロセッサ又はコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【０２２６】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２２７】
（付記１）
第１ステータスにおける状態遷移を検出する処理と、
第２ステータスにおける状態遷移を検出する処理と、
前記第２ステータスにおける前記状態遷移を検出した第１時点から遡って前記第２ステータスにおける前記状態遷移が発生した第２時点を特定する特定処理と、
少なくとも前記第２時点における前記第１ステータスと前記第２ステータスとの組み合わせに係る条件を判定する判定処理と
を含み、コンピュータ又はプロセッサにより実行される状態監視方法。
【０２２８】
（付記２）
前記判定処理において、前記第２時点から前記第１時点までの間における前記条件を判定する
付記１記載の状態監視方法。
【０２２９】
（付記３）
前記第２時点が前記第１時点から遡る時間を制限する
処理を含む付記１又は２記載の状態監視方法。
【０２３０】
（付記４）
前記特定処理において、前記第２ステータスにおける前記状態遷移を検出する際に用いた時系列データの変化に基づいて前記第２時点を特定する
付記１乃至３のいずれか１つ記載の状態監視方法。
【０２３１】
（付記５）
前記条件の判定結果に基づいて、所定処理を起動する
処理を含む付記１乃至５のいずれか１つ記載の状態監視方法。
【０２３２】
（付記６）
第１ステータスにおける状態遷移を検出し、
第２ステータスにおける状態遷移を検出し、
前記第２ステータスにおける前記状態遷移を検出した第１時点から遡って前記第２ステータスにおける前記状態遷移が発生した第２時点を特定し、
少なくとも前記第２時点における前記第１ステータスと前記第２ステータスとの組み合わせに係る条件を判定する
処理をコンピュータ又はプロセッサに実行させるプログラム。
【０２３３】
（付記７）
第１ステータスにおける状態遷移を検出する第１検出部と、
第２ステータスにおける状態遷移を検出し、前記第２ステータスにおける前記状態遷移を検出した第１時点から遡って前記第２ステータスにおける前記状態遷移が発生した第２時点を特定する第２検出部と、
少なくとも前記第２時点における前記第１ステータスと前記第２ステータスとの組み合わせに係る条件を判定する判定部と
を有する状態監視装置。
【０２３４】
（付記８）
第１ステータスにおける状態遷移を検出する第１検出部と、
第２ステータスにおける状態遷移を検出し、前記第２ステータスにおける前記状態遷移を検出した時点から遡って前記第２ステータスにおける前記状態遷移が発生した第２時点を特定する第２検出部と、
少なくとも前記第２時点における前記第１ステータスと前記第２ステータスとの組み合わせに係る条件を判定する判定部と
を有する状態監視システム。
【符号の説明】
【０２３５】
１０１  携帯端末    １０３  無線タグ
４０１  第１テーブル    ４０３  第２テーブル
５０１  ＣＰＵ    ５０３  記憶回路
５０５  ＲＯＭ    ５０７  ＲＡＭ
５０９  フラッシュメモリ    ５１１  無線通信用アンテナ
５１３  無線通信制御回路    ５２３  ＬＣＤ制御回路
５２５  ＬＣＤ    ５２７  タッチパッド
５２９  キー群    ５３１  ＧＰＳ装置
５３３  タイマー回路        ５３７  加速度センサ
６０１  第１論理センサ    ６０３  第２論理センサ
６０５  監視部    ６０７  アプリケーションプログラム
６１１  検知部    ６１３  第１生成部
６１５  第１ステータス記憶部    ６２１  測定部
６２３  第１判定部    ６２５  特定部
６２７  第２生成部    ６２９  第２ステータス記憶部
６３１  データ記憶部    ６４１  受付部
６４３  取得部    ６４５  抽出部
６４７  第２判定部    ６４９  起動部
６５１  条件記憶部    ６５３  テーブル記憶部
２３０１  マイクロコントローラ    ２４０１  入出力インターフェース回路
２４０３  サブプロセッサ    ２４０５  記憶回路
２４０７  タイマー回路    ２６０１  無線センサ
２７０１  第１検出プログラム    ２７０３  第２検出プログラム
２７０５  監視プログラム    ３００１  ウェアラブル端末
３４０１  サーバ装置
【図１】
2016213711.tif 000003
【図２】
2016213711.tif 000004
【図３】
2016213711.tif 000005
【図４】
2016213711.tif 000006
【図５】
2016213711.tif 000007
【図６】
2016213711.tif 000008
【図７】
2016213711.tif 000009
【図８】
2016213711.tif 000010
【図９】
2016213711.tif 000011
【図１０】
2016213711.tif 000012
【図１１】
2016213711.tif 000013
【図１２】
2016213711.tif 000014
【図１３】
2016213711.tif 000015
【図１４】
2016213711.tif 000016
【図１５】
2016213711.tif 000017
【図１６】
2016213711.tif 000018
【図１７】
2016213711.tif 000019
【図１８】
2016213711.tif 000020
【図１９】
2016213711.tif 000021
【図２０】
2016213711.tif 000022
【図２１】
2016213711.tif 000023
【図２２Ａ】
2016213711.tif 000024
【図２２Ｂ】
2016213711.tif 000025
【図２３】
2016213711.tif 000026
【図２４】
2016213711.tif 000027
【図２５】
2016213711.tif 000028
【図２６】
2016213711.tif 000029
【図２７】
2016213711.tif 000030
【図２８】
2016213711.tif 000031
【図２９】
2016213711.tif 000032
【図３０】
2016213711.tif 000033
【図３１】
2016213711.tif 000034
【図３２】
2016213711.tif 000035
【図３３】
2016213711.tif 000036
【図３４】
2016213711.tif 000037
【図３５】
2016213711.tif 000038
【図３６】
2016213711.tif 000039
【図３７】
2016213711.tif 000040
【図３８】
2016213711.tif 000041
【図３９】
2016213711.tif 000042
【図４０】
2016213711.tif 000043
【図４１】
2016213711.tif 000044