(57)【要約】【課題】    システム時計が狂った場合でも、イベントの発生順序を正しく保持することができるようにする。【解決手段】    情報管理装置の時刻をシステム時刻として計時する時計部と、イベントの発生を特徴付ける時刻であるタイムスタンプに相当する履歴時刻を記憶し、履歴時刻とシステム時刻との差分を特徴付ける差分時刻を記憶し、イベントの情報と履歴時刻とを対応させた履歴情報を記憶する記憶ユニットと、イベントが発生したときに、記憶ユニットから履歴時刻及び差分時刻を、それぞれ読込履歴時刻及び読込差分時刻として取得すると共に時計部からシステム時刻を取得して、イベントの履歴時刻を新履歴時刻として演算し、該新履歴時刻が読込履歴時刻より古い時刻の場合には、システム時刻及び読込差分時刻を用いて履歴時刻を補正履歴時刻として算出する情報管理ユニットと、を備える。【選択図】    図１
2015026269.tif 000002
【特許請求の範囲】
【請求項１】
イベントの情報と該イベントの履歴時刻を履歴情報として管理する情報管理装置であって、
当該情報管理装置の時刻をシステム時刻として計時する時計部と、
イベントの発生を特徴付ける時刻であるタイムスタンプに相当する履歴時刻を記憶し、履歴時刻とシステム時刻との差分を特徴付ける差分時刻を記憶し、前記イベントの情報と前記履歴時刻とを対応させた前記履歴情報を記憶する記憶ユニットと、
イベントが発生したときに、前記記憶ユニットから前記履歴時刻及び前記差分時刻を、それぞれ読込履歴時刻及び読込差分時刻として取得すると共に前記時計部から前記システム時刻を取得して、前記イベントの履歴時刻を新履歴時刻として演算し、該新履歴時刻が前記読込履歴時刻より古い時刻の場合には、前記システム時刻及び前記読込差分時刻を用いて履歴時刻を補正履歴時刻として算出する情報管理ユニットと、
を備えることを特徴とする情報管理装置。
【請求項２】
請求項１に記載の情報管理装置であって、
前記情報管理ユニットは、時刻変更要求を受信すると、当該時刻変更要求に含まれる設定時刻を抽出すると共に、前記記憶ユニットから前記差分時刻を取得し、前記時計部から前記システム時刻を取得して、当該システム時刻と前記設定時刻との差分に前記差分時刻を加算した時刻を新差分時刻として前記記憶ユニットに記憶させることを特徴とする情報管理装置。
【請求項３】
請求項１又は２に記載の情報管理装置であって、
前記情報管理ユニットは、前記記憶ユニットに記憶させる前記履歴時刻と前記イベント情報とを履歴情報として出力することを特徴とする情報管理装置。
【請求項４】
イベントの情報と該イベントの履歴時刻を履歴情報として管理する情報管理方法であって、
システム時刻として計時する計時手順と、
イベントの発生を特徴付ける時刻であるタイムスタンプに相当する履歴時刻を記憶し、履歴時刻とシステム時刻との差分を特徴付ける差分時刻を記憶し、前記イベントの情報と前記履歴時刻とを対応させた前記履歴情報を記憶する記憶手順と、
イベントが発生したときに、前記記憶手順から前記履歴時刻及び前記差分時刻を、それぞれ読込履歴時刻及び読込差分時刻として取得すると共に前記計時手順から前記システム時刻を取得して、前記イベントの履歴時刻を新履歴時刻として演算し、該新履歴時刻が前記読込履歴時刻より古い時刻の場合には、前記システム時刻及び前記読込差分時刻を用いて履歴時刻を補正履歴時刻として算出する時刻算出手順と、
を含むことを特徴とする情報管理方法。
【請求項５】
請求項４に記載の情報管理方法であって、
前記時刻算出手順は、時刻変更要求を受信すると、当該時刻変更要求に含まれる設定時刻を抽出すると共に、前記記憶手順から前記差分時刻を取得し、前記計時手順から前記システム時刻を取得して、当該システム時刻と前記設定時刻との差分に前記差分時刻を加算した時刻を新差分時刻として前記記憶手順に記憶させることを特徴とする情報管理方法。
【請求項６】
請求項４又は５に記載の情報管理方法であって、
前記時刻算出手順は、前記記憶手順に記憶させる前記履歴時刻と前記イベント情報とを履歴情報として出力することを特徴とする情報管理方法。
【請求項７】
イベントの情報と該イベントの履歴時刻を履歴情報として管理する情報管理プログラムであって、
システム時刻として計時する計時ステップと、
イベントの発生を特徴付ける時刻であるタイムスタンプに相当する履歴時刻を記憶し、履歴時刻とシステム時刻との差分を特徴付ける差分時刻を記憶し、前記イベントの情報と前記履歴時刻とを対応させた前記履歴情報を記憶する記憶ステップと、
イベントが発生したときに、前記記憶ステップから前記履歴時刻及び前記差分時刻を、それぞれ読込履歴時刻及び読込差分時刻として取得すると共に前記計時ステップから前記システム時刻を取得して、前記イベントの履歴時刻を新履歴時刻として演算し、該新履歴時刻が前記読込履歴時刻より古い時刻の場合には、前記システム時刻及び前記読込差分時刻を用いて履歴時刻を補正履歴時刻として算出する時刻算出ステップと、
を含むことを特徴とする情報管理プログラム。
【請求項８】
請求項７に記載の情報管理プログラムであって、
前記時刻算出ステップは、時刻変更要求を受信すると、当該時刻変更要求に含まれる設定時刻を抽出すると共に、前記記憶ステップから前記差分時刻を取得し、前記計時ステップから前記システム時刻を取得して、当該システム時刻と前記設定時刻との差分に前記差分時刻を加算した時刻を新差分時刻として前記記憶ステップに記憶させることを特徴とする情報管理プログラム。
【請求項９】
請求項７又は８に記載の情報管理プログラムであって、
前記時刻算出ステップは、前記記憶ステップに記憶させる前記履歴時刻と前記イベント情報とを履歴情報として出力することを特徴とする情報管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベントの発生時刻についてシステム時計の現在時刻の補正機構を備えた情報管理装置、情報管理方法及び情報管理プログラムに関する。
【背景技術】
【０００２】
組み込み型の情報管理装置や汎用コンピュータ用ソフトウェアなどにおいては、発生したイベントのイベント履歴を保存する際に、時刻データをタイムスタンプとして付加することが多い。
【０００３】
このタイムスタンプは、特許文献１、特許文献２にも記載されているように、適宜時刻補正を施しながら計時する時刻として、装置内部に設けられているハードウェア時計のリアルタイムクロックＩＣから読み出した時刻、又は、ソフトウェア時計のソフトウェアでカウントした時刻を、システム時計の時刻として用いる。
【０００４】
システム時計は、現実の実時刻と常に一致しているとは限らないため、適宜時刻調整を行う必要がある。しかし、かかる時刻調整が時刻の巻戻しの場合には、イベント履歴の前後関係が担保されなくなる不都合が生じる。
【０００５】
そこで、特許文献３においては、システム時計の現在時刻を変更する際に、変更後の時刻と変更前の現在時刻との時刻差分を時刻差分記憶部に保存し、イベントが発生した時刻をイベント履歴情報と関連付けて履歴記憶部に記憶すると共に、システム時計が示す現在時刻から時刻差分記憶部に保存された時刻差分を差し引いた時刻を補正現在時刻として履歴記憶部に保存するようにした情報管理装置が提案されている。
【０００６】
これによりシステム時計の現在時刻の変更が任意の時点で行われたとしても、履歴情報を正しく発生順に保持することができるようにしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１８５７７１号公報
【特許文献２】特開２００５−２３５０５４号公報
【特許文献３】特開２００８−２１０２３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
リアルクロック時計は内蔵電池により動作しているため、この内蔵電池が消耗して時刻が初期値に戻ることがあり、また外部ノイズによりリアルクロック時計の内蔵のメモリが書き換わったり、ソフトウェア時計を構成する集積回路のメモリが書き換わったりすることがある。
【０００９】
このようなシステム時計固有の原因により時刻が狂った場合には、特許文献３にかかる情報管理装置でもイベントの発生順序を正しく保持することができなくなってしまう不都合があった。
【００１０】
そこで、本発明の主目的は、システム時計が狂った場合でも、イベントの発生順序を正しく保持することができるようにした情報管理装置、情報管理方法及び情報管理プログラムを提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、イベントの情報と該イベントの履歴時刻を履歴情報として管理する情報管理装置に係る発明は、当該情報管理装置の時刻をシステム時刻として計時する時計部と、イベントの発生を特徴付ける時刻であるタイムスタンプに相当する履歴時刻を記憶し、履歴時刻とシステム時刻との差分を特徴付ける差分時刻を記憶し、イベントの情報と履歴時刻とを対応させた履歴情報を記憶する記憶ユニットと、イベントが発生したときに、記憶ユニットから履歴時刻及び差分時刻を、それぞれ読込履歴時刻及び読込差分時刻として取得すると共に時計部からシステム時刻を取得して、イベントの履歴時刻を新履歴時刻として演算し、該新履歴時刻が読込履歴時刻より古い時刻の場合には、システム時刻及び読込差分時刻を用いて履歴時刻を補正履歴時刻として算出する情報管理ユニットと、を備えることを特徴とする。
【００１２】
また、イベントの情報と該イベントの履歴時刻を履歴情報として管理する情報管理方法に係る発明は、システム時刻として計時する計時手順と、イベントの発生を特徴付ける時刻であるタイムスタンプに相当する履歴時刻を記憶し、履歴時刻とシステム時刻との差分を特徴付ける差分時刻を記憶し、イベントの情報と履歴時刻とを対応させた履歴情報を記憶する記憶手順と、イベントが発生したときに、記憶手順から履歴時刻及び差分時刻を、それぞれ読込履歴時刻及び読込差分時刻として取得すると共に計時手順からシステム時刻を取得して、イベントの履歴時刻を新履歴時刻として演算し、該新履歴時刻が読込履歴時刻より古い時刻の場合には、システム時刻及び読込差分時刻を用いて履歴時刻を補正履歴時刻として算出する時刻算出手順と、を含むことを特徴とする。
【００１３】
更に、イベントの情報と該イベントの履歴時刻を履歴情報として管理する情報管理プログラムに係る発明は、システム時刻として計時する計時ステップと、イベントの発生を特徴付ける時刻であるタイムスタンプに相当する履歴時刻を記憶し、履歴時刻とシステム時刻との差分を特徴付ける差分時刻を記憶し、イベントの情報と履歴時刻とを対応させた履歴情報を記憶する記憶ステップと、イベントが発生したときに、記憶ステップから履歴時刻及び差分時刻を、それぞれ読込履歴時刻及び読込差分時刻として取得すると共に計時ステップからシステム時刻を取得して、イベントの履歴時刻を新履歴時刻として演算し、該新履歴時刻が読込履歴時刻より古い時刻の場合には、システム時刻及び読込差分時刻を用いて履歴時刻を補正履歴時刻として算出する時刻算出ステップと、を含むことを特徴とする。
【発明の効果】
【００１４】
本発明によればイベントが検出されるたびに、当該イベントの履歴時刻と、直近のイベントの履歴時刻とを比較して、検出されたイベントの履歴時刻が直近の履歴時刻より後になるようにしたので、システム時計が狂った場合でも、イベントの発生順序を正しく保持することができるようになる。
【図面の簡単な説明】
【００１５】
【図１】本発明にかかる情報管理装置のブロック図である。
【図２】情報管理装置のフローチャートである。
【図３】事象を例示する図である。
【発明を実施するための形態】
【００１６】
本発明の実施形態を説明する。図１は、本発明の情報管理装置２の内部構成の一例を示すブロック構成図である。
【００１７】
情報管理装置２は、時計部１１、記憶ユニット１２、情報管理ユニット１３、時刻変更部１４を少なくとも含んで、種々のイベントの履歴情報を管理して出力装置１５に出力する。
【００１８】
出力装置１５は、記憶ユニット１２の履歴記憶部１２ｂに格納されている情報（履歴情報）を印刷又は表示するための装置である。なお、図１には管理された履歴情報の出力先として出力装置１５を例示しているが、かかる出力装置１５は情報管理装置２に含めることを要しない。
【００１９】
時計部１１は、情報管理装置２の現在時刻となる時刻（システム時刻Ｔｓ）を計時する。なお、時計部１１としてリアルタイムクロックＩＣやソフトウェア時計を用いることが可能である。以下の説明においては、リアルタイムクロックＩＣを用いた場合を例に説明する。
【００２０】
なお、本明細書において、システム時刻Ｔｓ、履歴時刻Ｔｈ、差分時刻Ｔｄ、設定時刻Ｔａの用語を用いる。システム時刻Ｔｓは、上述したように時計部１１が現在計時している時刻である。履歴時刻Ｔｈは、イベントの発生を特徴付ける時刻で、タイムスタンプに相当する時刻である。差分時刻Ｔｄは、履歴時刻Ｔｈとシステム時刻Ｔｓとの差分を示す時刻である。また、設定時刻Ｔａは、時計部１１の時刻を変更する際に指定される時刻である。
【００２１】
記憶ユニット１２は、時刻差分記憶部１２ａ、履歴記憶部１２ｂを備えて、情報管理ユニット１３からの各種の要求に応じて情報を記憶し、また記憶している情報を出力する。
【００２２】
この時刻差分記憶部１２ａは、情報管理ユニット１３からの差分時刻Ｔｄを受信して記憶し、また記録している差分時刻Ｔｄを出力する。なお、差分時刻Ｔｄは、符号（±）付の値である。
【００２３】
履歴記憶部１２ｂは、例えば玄関の扉が開いた等のようなイベントに関する情報（イベント情報）を履歴時刻Ｔｈと共に、履歴情報として記憶する（履歴情報＝イベント情報＋履歴時刻）。
【００２４】
情報管理ユニット１３は、履歴情報管理部１３ａ、時間管理部１３ｂを含んでいる。
履歴情報管理部１３ａは、イベントの発生を監視し、イベントが発生した際に時間管理部１３ｂにイベント時間に関する問い合せを行い、その結果に基づき履歴情報を記憶ユニット１２に出力すると共に、該履歴情報を出力装置１５に出力する。
時間管理部１３ｂは、時計部１１のシステム時刻Ｔｓの時間変更を行うと共に、所定の式に従い差分時刻Ｔｄや履歴時刻Ｔｈを演算する。このとき演算して得られた履歴時刻Ｔｈが、当該イベントが発生したときの直近のイベントの履歴時刻Ｔｈと時間的前後関係が正しいか否かについても判断する。この演算方法及び判断方法については、後述する。
【００２５】
以下、演算して得られた履歴時刻Ｔｈや差分時刻Ｔｄを、新履歴時刻Ｔｈ＿ｎや新差分時刻Ｔｄ＿ｎ、記憶ユニット１２から読込んだ履歴時刻Ｔｈや差分時刻Ｔｄを、読込履歴時刻Ｔｈ＿ｇや読込差分時刻Ｔｄ＿ｇ、補正処理により補正された履歴時刻Ｔｈ＿ｎや差分時刻Ｔｄ＿ｎを、補正履歴時刻Ｔｈ＿ｍや補正差分時刻Ｔｄ＿ｍのように、「新」、「読込」、「補正」、「＿ｇ」、「＿ｎ」、「＿ｍ」を付して識別容易にする。但し、これらの添字は、説明の都合によって付したものであるので、これらを総称する際には適宜履歴時刻Ｔｈや差分時刻Ｔｄと記載することがある。
【００２６】
時刻変更部１４は、ボタンやキーなどの入力機器、情報管理装置２の内部イベントやネットワーク等を介して受信した指示コマンドに基づいて、システム時刻Ｔｓの変更を指示する時刻変更要求を情報管理ユニット１３に出力する。
【００２７】
次に、このような情報管理装置２の詳細な構成を、動作と共に説明する。図２は、動作手順を示したフローチャートである。かかる処理判断は、主に情報管理ユニット１３が行う。図３は、具体的な事象を例示した図である。なお、図３において、Ｐ１，Ｐ２等は事象を説明するために付与した符号であり、各事象は時系列毎に列記されている。以下においては、説明の都合から、各事象は年単位で発生しているとするが、実際には時計部１１の最小時間単位である。
【００２８】
ステップＳ１，Ｓ２：  履歴情報管理部１３ａはイベントの発生を監視している。そして、イベントが発生した場合には、イベントが時刻変更部１４からの時刻変更要求か否かを判断する。時刻変更要求の場合には時刻変更要求を時間管理部１３ｂに出力してステップＳ３に進み、「ドアが開かれた」等の場合はイベント内容を時間管理部１３ｂに出力してステップＳ４に進む。
【００２９】
ステップＳ３：  この処理の具体例は事象Ｐ３の事象に対応する。時間管理部１３ｂは、履歴情報管理部１３ａから時刻変更要求を受信すると、この時刻変更要求に含まれる設定時刻Ｔａを抽出する。また、時間管理部１３ｂは、時計部１１からシステム時刻Ｔｓを取得すると共に、記憶ユニットから差分時刻Ｔｄを取得する。そして、設定時刻Ｔａ、システム時刻Ｔｓ、読込差分時刻Ｔｄ＿ｇから式１に従い新たな新差分時刻Ｔｄ＿ｎを算出する。
【００３０】
Ｔｄ＿ｎ＝Ｔａ−Ｔｓ＋Ｔｄ＿ｇ    …  （１）
そして、新差分時刻Ｔｄ＿ｎを時刻差分記憶部１２ａに出力して記憶させると共に、設定時刻Ｔａを時計部１１に出力してシステム時刻Ｔｓを変更させる。
【００３１】
事象Ｐ３の具体例では、設定時刻Ｔａ＝２００３、システム時刻Ｔｓ＝２０１２、読込差分時刻Ｔｄ＿ｇ＝０である。従って、新差分時刻Ｔｄ＿ｎ＝２００３−２０１２＋０＝−９となる。
【００３２】
ステップＳ４，Ｓ５：  一方、イベントがドアの開閉等の場合には、時間管理部１３ｂは、時計部１１からシステム時刻Ｔｓ、時刻差記憶部３１から読込差分時刻Ｔｄ＿ｇ、履歴記憶部１２ｂから読込履歴時刻Ｔｈ＿ｇを取得する。そして、これらを用いて式２に従い新履歴時刻Ｔｈ＿ｎを算出する。
【００３３】
Ｔｈ＿ｎ＝Ｔｓ＋Ｔｄ＿ｇ  …  （２）
その後、時間管理部１３ｂは、算出した新履歴時刻Ｔｈ＿ｎと取得した今発生したイベントの直近に発生したイベントの読込履歴時刻Ｔｈ＿ｇとの時間の前後を判断する。この判断結果により、新履歴時刻Ｔｈ＿ｎが読込履歴時刻Ｔｈ＿ｇより新しい時刻の場合は、時間の前後関係は正常であるとしてステップＳ７に進む。この処理の具体例は事象Ｐ２、４、５の事象に対応する。
【００３４】
事象Ｐ２では、システム時刻Ｔｓ＝２００６、読込差分時刻Ｔｄ＿ｇ＝０であるので、式２から新履歴時刻Ｔｈ＿ｎ＝２００６となる。この新履歴時刻Ｔｈ＿ｎは、読込履歴時刻Ｔｈ＿ｇ＝２０００より新しい時刻なので、時間関係は正常と判断される。事象Ｐ４、５も同じである。
【００３５】
ステップＳ６：  一方、新履歴時刻Ｔｈ＿ｎが読込履歴時刻Ｔｈ＿ｇより古い時刻の場合は、時間の前後関係に異常であるとして、ステップＳ６に進んで差分時刻Ｔｄの補正処理を行う。このような異常が発生する要因として、時計部１１が何らかの理由により巻戻った場合が考えられる。この事象の具体例は事象Ｐ７に対応する。
【００３６】
例えば、停電が発生したために、時計部１１は内蔵電池に切替えて時計を継続したが、内蔵電池が消耗してシステム時刻Ｔｓが初期値（ここでは２０００としている）に戻ってしまったような場合が考えられる。但し、情報管理ユニット１３は係る事情を認識できないため（監視事象の対象外）、新履歴時刻Ｔｈ＿ｎが読込履歴時刻Ｔｈ＿ｇより古い時刻となる場合が発生する。
【００３７】
このような状況では、読込履歴時刻Ｔｈ＿ｇで発生したイベントが「部屋のドアが開閉した」であり、新履歴時刻Ｔｈ＿ｎで発生したイベントが「玄関が開閉した」であ場合に、玄関が開閉される前に部屋のドアが開閉されたことになる。イベント監視を行う目的の１つは、かかる事態を正確に把握することであるが、上述したようにシステム時刻が巻戻ったために生じた場合には、誤報となってしまう。そこで、少なくとも、履歴時刻上からイベントの発生が前後しないようにすることが重要になり、本発明ではかかる不都合が発生しないように補正処理を行う。
【００３８】
即ち、新履歴時刻Ｔｈ＿ｎが読込履歴時刻Ｔｈ＿ｇより古い時刻の場合、時間管理部１３ｂは、補正差分時刻Ｔｄ＿ｍを式３に従い算出する（補正処理）。
【００３９】
Ｔｄ＿ｍ＝Ｔｓ−（Ｔｈ＿ｇ＋１）    …  （３）
なお、右辺の「１」は、時計部１１の最小時刻である。
【００４０】
そして、時間管理部１３ｂは算出した補正差分時刻Ｔｄ＿ｍとシステム時刻Ｔｓとを用いて、補正された履歴時刻（補正履歴時刻）Ｔｈ＿ｍを式４に従い算出する。
【００４１】
Ｔｈ＿ｍ＝Ｔｓ＋Ｔｄ＿ｍ  …  （４）
なお、式４は式２と添字が異なるだけで、実質的に同じ式である。
【００４２】
事象Ｐ６では、システム時刻Ｔｓ＝２００２、読込差分時刻Ｔｄ＿ｇ＝−９、読込履歴時刻Ｔｈ＿ｇ＝２０１４であるので、式２により算出した履歴時刻は、Ｔｈ＿ｎ＝２０１１となる。従って、新履歴時刻Ｔｈ＿ｎ＝２０１１は読込履歴時刻Ｔｈ＿ｇ＝２０１４より古い時刻なので、時間関係は異常と判断される。そこで、式３に従い補正差分時刻Ｔｄ＿ｍ＝−１３を算出し、この補正差分時刻Ｔｄ＿ｍ＝−１３を式４に代入して補正履歴時刻Ｔｈ＿ｍ＝２０１５を得る。これにより、補正履歴時刻Ｔｈ＿ｍ＝２０１５は、読込履歴時刻Ｔｈ＿ｇ＝２０１４より新しい時刻となる。
【００４３】
ステップＳ７：  以上により、時間の前後関係が正しい履歴時刻が算出されたので、時間管理部１３ｂは、差分時刻Ｔｄ及び履歴時刻Ｔｈを記憶ユニット１２に記憶させると共に、履歴時刻Ｔｈを履歴情報管理部１３ａに出力する。履歴情報管理部１３ａは必要に応じてイベント情報と履歴時刻Ｔｈとを履歴情報として出力装置１５に出力する。また、記憶ユニット１２は、差分時刻Ｔｄ及び履歴時刻Ｔｈを記憶する。
【００４４】
以上説明したように、システム時刻Ｔｓが何らかの理由により遡った様な場合でも、イベントの発生順序を適正に記憶・管理することが可能になる。
【００４５】
なお、上述した方法をプログラム化してもよい。また、このプログラムを情報記録媒体に記録することも可能である。
【符号の説明】
【００４６】
２    情報管理装置
１１    時計部
１２    記憶ユニット
１２ａ    時刻差分記憶部
１２ｂ    履歴記憶部
１３    情報管理ユニット
１３ａ    履歴情報管理部
１３ｂ    時間管理部
１４    時刻変更部
１５    出力装置
【図１】
2015026269.tif 000003
【図２】
2015026269.tif 000004
【図３】
2015026269.tif 000005