(57)【要約】商品等に関するイベントデータを蓄積したデータベースから、特定状態（例えば在庫状態）にある商品等を効率的に検索出来る装置を提供する。  本発明の一実施形態のデータ管理装置は、種類に応じて、対象の状態を特定状態から別の状態に、または、別の状態から特定状態に遷移させるイベントの発生時刻、当該イベントの種類、当該イベントにより状態が変化した対象の識別子である対象ＩＤを包含するイベントデータを記憶するイベント記憶手段と、イベント記憶手段内のイベントデータから、所定の作成時刻に於ける最古時刻（当該時刻に特定状態にあることが当該イベントデータから判定される対象のうち、特定状態に最古に遷移した対象が特定状態に遷移した時刻）を検索して、作成時刻と最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶するＣＫＰＴ作成部、を備える。
2010107106.tif 000002
【特許請求の範囲】
【請求項１】
種類に応じて、対象の状態を特定状態から別の状態に、または、別の状態から前記特定状態に遷移させるイベントの発生時刻、当該イベントの種類、当該イベントにより状態が変化した対象の識別子である対象ＩＤを包含するイベントデータを記憶するイベント記憶手段と、
前記イベント記憶手段内のイベントデータから、所定の作成時刻に於ける最古時刻（当該時刻に前記特定状態にあることが当該イベントデータから判定される対象のうち、前記特定状態に最古に遷移した対象が前記特定状態に遷移した時刻）を検索して、前記作成時刻と前記最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶するＣＫＰＴ作成手段、を備えるデータ管理装置。
【請求項２】
検索時刻に前記特定状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前であるチェックポイントに包含される最古時刻以降の前記イベント記憶手段内のイベントデータから抽出して出力する検索手段、を備える請求項１のデータ管理装置。
【請求項３】
定期または不定期に複数回到来する前記作成時刻ごとに、前記チェックポイントを、前回作成したチェックポイントに包含される最古時刻以降のイベントデータから作成する前記ＣＫＰＴ手段と、
検索時刻に前記特定状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前で最も新しいチェックポイントに包含される最古時刻以降のイベントデータから抽出する前記検索手段、を備える請求項２のデータ管理装置。
【請求項４】
複数回到来する前記作成時刻ごとに、前回作成した長期チェックポイントに包含される最古時刻以降の長期イベント記憶手段内の長期イベントデータ（閾値時間以上前記特定状態が継続している対象の対象ＩＤを包含するイベントデータ）から、前記作成時刻における最古時刻を検索して前記作成時刻と前記最古時刻を包含する前記長期チェックポイントを作成して前記長期ＣＫＰＴ記憶手段に記憶し、前記イベント記憶手段のイベントデータから長期イベントデータを抽出して前記長期イベント記憶手段に格納し、前記イベント記憶手段内のイベントデータ（長期イベントデータを除く）から、所定の作成時刻に於ける最古時刻を検索して、前記作成時刻と前記短期最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶する前記ＣＫＰＴ作成手段と、
前記検索時刻に前記特定状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前で最も新しい長期チェックポイントに包含される最古時刻以降の前記長期イベント記憶域の長期イベントデータおよび作成時刻が前記検索時刻以前で最も新しいチェックポイントに包含される最古時刻以降の前記イベント記憶手段内のイベントデータから抽出して出力する前記検索手段、を備える請求項３のデータ管理装置。
【請求項５】
前記イベント記憶手段内のイベントデータから、複数の特定状態の各々について最古時刻を検索して、前記作成時刻と各々の前記最古時刻を包含するチェックポイントを作成する前記ＣＫＰＴ作成手段と、
前記検索時刻に前記特定状態の一である検索状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前であるチェックポイントの前記検索状態に対応する最古時刻以降の前記イベント記憶手段内のイベントデータから抽出して出力する前記検索手段、を備える請求項２または３のデータ管理装置。
【請求項６】
イベント端末からイベントデータを入力して前記イベント記憶手段に登録するイベント登録手段と、ユーザ端末から前記検索時刻を入力し、前記検索時刻に前記特定状態にあった対象の対象ＩＤを前記ユーザ端末に出力する前記検索手段を備える、請求項２乃至４の何れかのデータ管理装置と、
前記イベント端末と、
前記ユーザ端末を包含するデータ管理システム。
【請求項７】
種類に応じて、対象の状態を特定状態から別の状態に、または、別の状態から前記特定状態に遷移させるイベントの発生時刻、当該イベントの種類、当該イベントにより状態が変化した対象の識別子である対象ＩＤを包含するイベントデータを記憶するイベント記憶手段と、
前記イベント記憶手段内のイベントデータから検索される、所定の作成時刻に於ける最古時刻（当該時刻に前記特定状態にあることが当該イベントデータから判定される対象のうち、前記特定状態に最古に遷移した対象が前記特定状態に遷移した時刻）と前記作成時刻を包含するチェックポイントを記憶するＣＫＰＴ記憶手段、を備えるイベントデータベース。
【請求項８】
定期または不定期に複数回到来する前記作成時刻ごとに作成されたチェックポイントを記憶する前記ＣＫＰＴ記憶手段を備える請求項７のイベントデータベース。
【請求項９】
コンピュータに、
種類に応じて、対象の状態を特定状態から別の状態に、または、別の状態から前記特定状態に遷移させるイベントの発生時刻、当該イベントの種類、当該イベントにより状態が変化した対象の識別子である対象ＩＤを包含するイベントデータをイベント記憶手段に記憶するイベント登録処理と、
前記イベント記憶手段内のイベントデータから、所定の作成時刻に於ける最古時刻（当該時刻に前記特定状態にあることが当該イベントデータから判定される対象のうち、前記特定状態に最古に遷移した対象が前記特定状態に遷移した時刻）を検索して、前記作成時刻と前記最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶するＣＫＰＴ作成処理、を実行させるデータ管理プログラム。
【請求項１０】
前記コンピュータに、
検索時刻に前記特定状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前であるチェックポイントに包含される最古時刻以降の前記イベント記憶手段内のイベントデータから抽出して出力する検索処理、を実行させる請求項９のデータ管理プログラム。
【請求項１１】
前記コンピュータに、
定期または不定期に複数回到来する前記作成時刻ごとに、前記チェックポイントを、前回作成したチェックポイントに包含される最古時刻以降のイベントデータから作成する前記ＣＫＰＴ処理と、
検索時刻に前記特定状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前で最も新しいチェックポイントに包含される最古時刻以降のイベントデータから抽出する前記検索処理、を実行させる請求項１０のデータ管理プログラム。
【請求項１２】
前記コンピュータに、複数回到来する前記作成時刻ごとに、前回作成した長期チェックポイントに包含される最古時刻以降の長期イベント記憶手段内の長期イベントデータ（閾値時間以上前記特定状態が継続している対象の対象ＩＤを包含するイベントデータ）から、前記作成時刻における最古時刻を検索して前記作成時刻と前記最古時刻を包含する前記長期チェックポイントを作成して前記長期ＣＫＰＴ記憶手段に記憶し、前記イベント記憶手段のイベントデータから長期イベントデータを抽出して前記長期イベント記憶手段に格納し、前記イベント記憶手段内のイベントデータ（長期イベントデータを除く）から、所定の作成時刻に於ける最古時刻を検索して、前記作成時刻と前記短期最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶する前記ＣＫＰＴ作成処理と、
前記検索時刻に前記特定状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前で最も新しい長期チェックポイントに包含される最古時刻以降の前記長期イベント記憶域の長期イベントデータおよび作成時刻が前記検索時刻以前で最も新しいチェックポイントに包含される最古時刻以降の前記イベント記憶手段内のイベントデータから抽出して出力する前記検索処理、を実行させる請求項１１のデータ管理プログラム。
【請求項１３】
前記コンピュータに、前記イベント記憶手段内のイベントデータから、複数の特定状態の各々について最古時刻を検索して、前記作成時刻と各々の前記最古時刻を包含するチェックポイントを作成する前記ＣＫＰＴ作成処理と、
前記検索時刻に前記特定状態の一である検索状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前であるチェックポイントの前記検索状態に対応する最古時刻以降の前記イベント記憶手段内のイベントデータから抽出して出力する前記検索処理、を実行させる請求項１０または１１のデータ管理プログラム。
【請求項１４】
種類に応じて、対象の状態を特定状態から別の状態に、または、別の状態から前記特定状態に遷移させるイベントの発生時刻、当該イベントの種類、当該イベントにより状態が変化した対象の識別子である対象ＩＤを包含するイベントデータをイベント記憶手段に記憶し、
前記イベント記憶手段内のイベントデータから、所定の作成時刻に於ける最古時刻（当該時刻に前記特定状態にあることが当該イベントデータから判定される対象のうち、前記特定状態に最古に遷移した対象が前記特定状態に遷移した時刻）を検索して、前記作成時刻と前記最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶するデータ管理方法。
【請求項１５】
検索時刻に前記特定状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前であるチェックポイントに包含される最古時刻以降の前記イベント記憶手段内のイベントデータから抽出して出力する請求項１４のデータ管理方法。
【請求項１６】
定期または不定期に複数回到来する前記作成時刻ごとに、前記チェックポイントを、前回作成したチェックポイントに包含される最古時刻以降のイベントデータから作成し、
検索時刻に前記特定状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前で最も新しいチェックポイントに包含される最古時刻以降のイベントデータから抽出する請求項１５のデータ管理方法。
【請求項１７】
複数回到来する前記作成時刻ごとに、前回作成した長期チェックポイントに包含される最古時刻以降の長期イベント記憶手段内の長期イベントデータ（閾値時間以上前記特定状態が継続している対象の対象ＩＤを包含するイベントデータ）から、前記作成時刻における最古時刻を検索して前記作成時刻と前記最古時刻を包含する前記長期チェックポイントを作成して前記長期ＣＫＰＴ記憶手段に記憶し、前記イベント記憶手段のイベントデータから長期イベントデータを抽出して前記長期イベント記憶手段に格納し、前記イベント記憶手段内のイベントデータ（長期イベントデータを除く）から、所定の作成時刻に於ける最古時刻を検索して、前記作成時刻と前記短期最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶し、
前記検索時刻に前記特定状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前で最も新しい長期チェックポイントに包含される最古時刻以降の前記長期イベント記憶域の長期イベントデータおよび作成時刻が前記検索時刻以前で最も新しいチェックポイントに包含される最古時刻以降の前記イベント記憶手段内のイベントデータから抽出して出力する請求項１６のデータ管理方法。
【請求項１８】
前記イベント記憶手段内のイベントデータから、複数の特定状態の各々について最古時刻を検索して、前記作成時刻と各々の前記最古時刻を包含するチェックポイントを作成し、
前記検索時刻に前記特定状態の一である検索状態にあった対象の対象ＩＤを、作成時刻が前記検索時刻以前であるチェックポイントの前記検索状態に対応する最古時刻以降の前記イベント記憶手段内のイベントデータから抽出して出力する請求項１５または１６のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベントデータベース、データ管理装置、データ管理システム、データ管理プログラムおよびデータ管理方法に関する。
【背景技術】
【０００２】
イベントデータはイベントとその発生時刻を結びつけるデータである。イベントデータは、当該イベントの発生時刻、種類、イベントの対象（商品等）の識別子、発生場所、発生事由等を包含する。物流管理アプリケーション等において、イベントデータはＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）、センサ、端末等を利用して取得されて、商品等の流通情報の参照や分析のためにデータベースに蓄積されて利用される。
特許文献１は、医療品に含まれたＩＤタグを読み出して、医療品の識別子と読み出し日時、場所、医療品の情報が関連づけられたイベントデータをサーバに送信するゲート装置を開示する。サーバは、メーカ、販社、病院等のゲート装置からイベントデータを受信してトレース情報を作成する。同サーバは、トレース情報から、医療品が検出された位置毎に医療品の数量を算出し、所定の位置における医療品の数量を関連づけた在庫データを生成する。
特許文献２は、流通ポイントが、通過する物流対象物に付されたＲＦＩＤタグの識別子をリーダライタで読み取り、識別子・通過時刻・通過地点情報を１つの流通イベントレコードとして保存することを開示する。サーバは各流通ポイントから流通イベントレコードを受信して流通履歴データベースに保存する。サーバは、識別子と期間が指定された問い合わせに、その期間に識別子を持った物流対象物がどこの流通ポイントを移動したかの履歴情報を返す。
特許文献３は、移動体端末からの作業完了情報を受け取り、入力があったというタイムスタンプを生成してログを取る荷物配送管理サーバが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３３５９２６号公報
【特許文献２】特開２００５−２３４６２８号公報
【特許文献３】特開２００３−１２８２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
データ管理装置は、商品等に関するイベントデータを蓄積したデータベースから、特定状態（例えば在庫状態）にある商品等を効率的に検索出来ない。特許文献１のサーバは、医療品の在庫データを生成する際に、トレース情報を効率的に検索する技術は何も開示しない。特許文献２、３の技術は、履歴データベースから特定状態にある物流対象物等を検索しない。従って、引用文献１、２、３に記載された技術は、上述の課題を解決しない。
本発明の目的は、上記課題を解決するためのイベントデータベース、データ管理装置、データ管理システム、データ管理プログラムおよびデータ管理方法を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の一実施形態のデータ管理装置は、種類に応じて、対象の状態を特定状態から別の状態に、または、別の状態から前記特定状態に遷移させるイベントの発生時刻、当該イベントの種類、当該イベントにより状態が変化した対象の識別子である対象ＩＤを包含するイベントデータを記憶するイベント記憶手段と、前記イベント記憶手段内のイベントデータから、所定の作成時刻に於ける最古時刻（当該時刻に前記特定状態にあることが当該イベントデータから判定される対象のうち、前記特定状態に最古に遷移した対象が前記特定状態に遷移した時刻）を検索して、前記作成時刻と前記最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶するＣＫＰＴ作成手段、を備える。
本発明の一実施形態のイベントデータベースは、種類に応じて、対象の状態を特定状態から別の状態に、または、別の状態から前記特定状態に遷移させるイベントの発生時刻、当該イベントの種類、当該イベントにより状態が変化した対象の識別子である対象ＩＤを包含するイベントデータを記憶するイベント記憶手段と、前記イベント記憶手段内のイベントデータから検索される、所定の作成時刻に於ける最古時刻（当該時刻に前記特定状態にあることが当該イベントデータから判定される対象のうち、前記特定状態に最古に遷移した対象が前記特定状態に遷移した時刻）と前記作成時刻を包含するチェックポイントを記憶するＣＫＰＴ記憶手段、を備える。
本発明の一実施形態のデータ管理プログラムは、コンピュータに、種類に応じて、対象の状態を特定状態から別の状態に、または、別の状態から前記特定状態に遷移させるイベントの発生時刻、当該イベントの種類、当該イベントにより状態が変化した対象の識別子である対象ＩＤを包含するイベントデータをイベント記憶手段に記憶するイベント登録処理と、前記イベント記憶手段内のイベントデータから、所定の作成時刻に於ける最古時刻（当該時刻に前記特定状態にあることが当該イベントデータから判定される対象のうち、前記特定状態に最古に遷移した対象が前記特定状態に遷移した時刻）を検索して、前記作成時刻と前記最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶するＣＫＰＴ作成処理、を実行させる。
本発明の一実施形態のデータ管理方法は、種類に応じて、対象の状態を特定状態から別の状態に、または、別の状態から前記特定状態に遷移させるイベントの発生時刻、当該イベントの種類、当該イベントにより状態が変化した対象の識別子である対象ＩＤを包含するイベントデータをイベント記憶手段に記憶し、前記イベント記憶手段内のイベントデータから、所定の作成時刻に於ける最古時刻（当該時刻に前記特定状態にあることが当該イベントデータから判定される対象のうち、前記特定状態に最古に遷移した対象が前記特定状態に遷移した時刻）を検索して、前記作成時刻と前記最古時刻を包含するチェックポイントを作成してＣＫＰＴ記憶手段に記憶する。
【発明の効果】
【０００６】
データ管理装置は、商品等に関するイベントデータを蓄積したデータベースから、特定状態にある商品等を効率的に検索することが出来る。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態にかかるデータ管理システム１０の全体構成図である。
【図２】イベント記憶部２６に格納されるデータの構成図である。
【図３】遷移記憶部２７に格納されるデータの構成図である。
【図４】ＣＫＰＴ記憶部２８に格納されるデータの構成図である。
【図５】配列６０のデータ構成図である。
【図６Ａ】ＣＫＰＴ作成部２４の動作フローチャートである。
【図６Ｂ】ＣＫＰＴ作成部２４の動作フローチャート（２／２）である。
【図７Ａ】検索部２５の動作フローチャート（１／２）である。
【図７Ｂ】検索部２５の動作フローチャート（２／２）である。
【図８】第２の実施形態にかかるデータ管理システム１０の全体構成図である。
【図９】第２の実施形態のＣＫＰＴ作成部２４の動作フローチャートである。
【図１０】第２の実施形態の検索部２５の動作フローチャートである。
【図１１】第４の実施形態のデータ管理装置２０の構成を示す図である。
【図１２】イベントデータベース７０の構成図である。
【符号の説明】
【０００８】
１０    データ管理システム
１１    イベント端末
１２    ＲＦＩＤリーダ
１３    ユーザ端末
１４    ネットワーク
２０    データ管理装置
２１    コンピュータ
２２    イベント登録部
２３    入出力部
２４    ＣＫＰＴ作成部
２５    検索部
２６    イベント記憶部
２７    遷移記憶部
２８    ＣＫＰＴ記憶部
２９    データ管理プログラム
２Ａ    長期イベント記憶部
２Ｂ    長期ＣＫＰＴ記憶部
３０    イベントデータ
３１    発生時刻
３２    対象ＩＤ
３３    種類
４０    遷移表
４１    適用範囲
４２    原状態
４３    新状態
４４    特定一覧
５０    チェックポイント
５１    作成時刻
５２    特定状態
５３    最古時刻
６０    配列
６１    配列要素
６２    カレント状態
６３    遷移時刻
７０    イベントデータベース
【発明を実施するための最良の形態】
【０００９】
図１は、本発明の第１の実施形態にかかるデータ管理システム１０の全体構成図である。データ管理システム１０は、例えば、データ管理装置２０、イベント端末１１及びユーザ端末１３から構成される。イベント端末１１及びユーザ端末１３は、データ管理装置２０とネットワーク１４を介して接続されている。
データ管理装置２０は、イベント登録部２２、入出力部２３、ＣＫＰＴ作成部２４、検索部２５、イベント記憶部２６、遷移記憶部２７、ＣＫＰＴ記憶部２８を包含する。なお、ＣＫＰＴはチェックポイント（ＣｈｅｃＫＰｏｉｎＴ）を意味する。
イベント登録部２２は、例えばイベント端末１１からイベントデータ３０を入力して、イベント記憶部２６に格納する。検索部２５は、イベント記憶部２６のイベントデータ３０を検索して、特定の状態にあるイベントの対象（商品等）の一覧を出力する。入出力部２３は、例えば、ユーザ端末１３から検索の要求を受信して、検索の結果を返信する。
ＣＫＰＴ作成部２４は、チェックポイント５０を作成してＣＫＰＴ記憶部２８に格納する。チェックポイント５０は、イベント記憶部２６のイベントデータ３０の検索範囲を限定することにより検索を高速化するためのデータである。
例えば、検索部２５が、商品等の入庫と出庫のイベントデータ３０を格納するイベント記憶部２６から、倉庫の在庫商品を検索するものとする。通常、ある程度古い入庫イベントの商品等は、既に出庫していることが多い。検索時点で入庫はしたが出庫していない商品等のうち最古の入庫イベントの時刻がわかれば、検索部２５は、検索範囲をそれ以降のイベントデータ３０に限定できる。
一般的に、イベントの対象ごとに検索時刻以前に最後に状態遷移した時刻を見つけた上で、全てのイベント対象を通じて最古となる時刻がわかれば、検索部２５は、イベントデータ３０の検索範囲をその時刻以降に限定できる。データ管理装置２０は、この最古の時刻をチェックポイント５０に記憶する。
イベント登録部２２、入出力部２３、ＣＫＰＴ作成部２４及び検索部２５は、専用のハードウェアとして実現される。イベント登録部２２、入出力部２３、ＣＫＰＴ作成部２４または検索部２５は、コンピュータ２１でもあるデータ管理装置２０の図示されないプロセッサが、データ管理プログラム２９を実行することで実現されても良い。
イベント記憶部２６、遷移記憶部２７およびＣＫＰＴ記憶部２８は、例えば、ディスク、メモリ等の記憶装置である。遷移記憶部２７は、イベントの対象（商品等）の状態遷移に関する情報を包含する。
イベント端末１１は、イベントの発生を検知等するとイベントデータ３０を生成してデータ管理装置２０に送信する。イベント端末１１は、ＲＦＩＤリーダ１２、各種センサ、キーボード等を備える。
イベント端末１１は、例えば、ＩＣタグを付されたイベントの対象（商品等）が倉庫の入庫ゲート、出庫ゲートを通過すると入庫イベント、出庫イベントの発生を検知する。イベント端末１１はキーボードの入力からイベントの発生を検知しても良い。例えば、倉庫管理者が倉庫内にある商品等の状態を検査して、問題がないことをキーボードから入力した場合に、検査合格イベントを検出しても良い。
データ管理装置２０は、受信したイベントデータ３０をイベント記憶部２６に蓄積し、蓄積されたイベントデータ３０を検索して、イベントの対象（商品等）の状態（在庫状、出荷済み等）を判断する。
なお、イベントの対象は商品等に限られない。イベントの対象は、状態を有し、イベントの発生により状態が遷移するものであればよい。イベントの対象は、物、動物であっても良いし、サービス、契約という抽象的なものであってもよい。
例えば、サービスは、停止中、提供中、一部提供中等の状態を有し、サービス開始というイベントにより停止中状態から提供中状態に遷移する。サービスは、機器障害というイベントにより提供中状態から一部提供中状態に遷移する。この場合、イベント端末１１は、サービス開始イベント等をサービス提供システム等と接続された通信装置からの入力により検知する。
契約は、未締結、締結中という状態を有し、交渉合意というイベントにより未締結状態から締結中状態に遷移する。この場合、イベント端末１１は、交渉合意イベントをキーボード等からの入力により検知する。
図２はイベント記憶部２６に格納されるデータの構成図である。イベント記憶部２６は、ひとつ又は複数のイベントデータ３０を格納する。各イベントデータ３０は、発生時刻３１、対象ＩＤ３２および種類３３を包含する。
発生時刻３１はイベントが発生した時刻を示す。発生時刻３１は、例えば、イベントの発生を検知したイベント端末１１が付したタイムスタンプ値である。発生時刻３１は、イベント登録部２２がイベントデータ３０受信時に付した値であっても良い。発生時刻３１は、例えば、年、月、日、時、分、秒の値から構成される。
対象ＩＤ３２はイベントの対象の識別子を示す。対象ＩＤ３２は、例えば、イベント端末１１のＲＦＩＤリーダ１２が、対象の商品等に付されたＩＣタグから読み取った値である。対象ＩＤ３２は、キーボードや通信装置等からイベント端末１１に入力された値でも良い。
種類３３は、イベントの種別を表す。種類３３は、例えば、入庫イベントと出庫イベントの種別値である。
イベントデータ３０は、発生時刻３１順にアクセスできるように格納されている。例えば、イベントデータ３０は発生時刻３１順に格納されている。イベントデータ３０は発生時刻３１順に格納されているポインタが示す領域に分散して格納されていても良い。
図３は遷移記憶部２７に格納されるデータの構成図である。遷移記憶部２７は、ひとつ又は複数の遷移表４０を格納する。各遷移表４０はシステムパラメータとして管理者等により予め与えられている。各遷移表４０は、適用範囲４１、特定一覧４４と、ひとつ又は複数の種類３３ごとの原状態４２と新状態４３を格納する。
適用範囲４１は当該遷移表４０が適用される対象を指定する。適用範囲４１は例えば対象ＩＤ３２の値の範囲を格納する。対象が複数種存在（衣服と生鮮食料品、等）し、対象種毎に有する状態や発生イベントの種類３３が異なる場合、対象種に応じて適用される遷移表４０が異なる。
特定一覧４４は、遷移表４０で定義される状態のうち、チェックポイント５０に登録される状態（同時に検索対象となる状態）を定義する。
種類３３ごとの原状態４２と新状態４３は、当該種類３３のイベントが発生した場合、対象の状態が原状態４２から新状態４３に遷移することを示す。図３は、例えば、対象ＩＤ３２が「０００１」で種類３３が「入庫」のイベントデータ３０が入力されたとき、対象ＩＤ３２が「０００１」の対象（商品等）が、「非在庫」状態から「在庫」状態に遷移することを示している。
図４はＣＫＰＴ記憶部２８に格納されるデータの構成図である。ＣＫＰＴ記憶部２８は、ひとつ又は複数のチェックポイント５０を包含する。各チェックポイント５０は、作成時刻５１、ひとつ又は複数の特定状態５２ごとの最古時刻５３を包含する。
作成時刻５１は、当該チェックポイント５０が作成された時刻を示す。特定状態５２及び最古時刻５３は、作成時刻５１の時点で特定状態５２の状態にあることがイベント記憶部２６等のイベントデータ３０から判定される対象のうち、特定状態５２に最古に遷移した対象が特定状態５２に遷移した時刻を示す。作成時刻５１の時点で特定状態５２の状態にある対象がない場合、最古時刻５３は作成時刻５１と同じ値になる。
チェックポイント５０に特定状態５２として記録されるのは、各遷移表４０の特定一覧４４に格納されている状態である。
作成時刻５１および最古時刻５３は、例えば、年、月、日、時、分、秒の値から構成される。チェックポイント５０は、生成時刻５１順にアクセスできるように格納されている。例えば、チェックポイント５０は作成時刻５１順に格納されている。チェックポイント５０は作成時刻５１順に格納されているポインタが示す領域に分散して格納されていても良い。
図５は配列６０のデータ構成図である。配列６０はＣＫＰＴ作成部２４および検索部２５が、その動作過程で使用する作業域であり、データ管理装置２０の図示されないメモリや連想記憶装置上等に配置される。配列６０は複数の配列要素６１を包含する。各配列要素６１は対象ＩＤ３２、カレント状態６２、遷移時刻６３を包含する。
配列要素６１は、対象ＩＤ３２の対象が、遷移時刻６３にカレント状態６２に遷移したことを示す。
図６Ａ及び図６ＢはＣＫＰＴ作成部２４の動作フローチャートである。ＣＫＰＴ作成部２４は、例えば定期／不定期に到来する起動時刻ごとに起動される。不定期に到来する起動時刻とは、例えば、管理者の操作やイベントデータ３０の一定数の登録ごとに到来する駆動時刻である。起動は一回だけであってもよい。
起動されると、ＣＫＰＴ作成部２４は配列６０の全配列要素６１を未使用状態化（Ｎｕｌｌ値設定等）する（Ｓ１）。
ＣＫＰＴ作成部２４は、ＣＫＰＴ記憶部２８から最新のチェックポイント５０を取得し、当該チェックポイント５０から最古時刻５３の最も古いものを取得する。同部は、当該最古時刻５３より後に作成された最古の発生時刻３１を有するイベントデータ３０を取得する（Ｓ２）。
最新のチェックポイント５０とは作成時刻５１が最も遅いチェックポイント５０である。最古の発生時刻３１を有するイベントデータ３０とは、最も早い発生時刻３１を有するイベントデータ３０である。また、ＣＫＰＴ記憶部２８内にチェックポイント５０が未だ格納されていない場合、ＣＫＰＴ作成部２４は、先頭（最古）のイベントデータ３０を取得する。
取得したイベントデータ３０の発生時刻３１が起動時刻以前である場合（Ｓ３でＹ）、ＣＫＰＴ作成部２４は、当該イベントデータ３０によって引き起こされる状態遷移を決定し（Ｓ４、Ｓ７）、以下に記述する配列６０の更新を行う（Ｓ５、Ｓ８）。同部は、イベントデータ３０の対象ＩＤ３２が適用範囲４１に包含される遷移表４０を、イベントデータ３０の種類３３をキーに検索して、状態遷移（原状態４２と新状態４３）を決定する。
特定一覧４４の状態に遷移する場合（Ｓ４でＹ）、同部はイベントデータ３０の対象ＩＤ３２と同じ対象ＩＤ３２を格納する配列要素６１の遷移時刻６３とカレント状態６２に、イベントデータ３０の発生時刻３１と遷移表４０の新状態４３を格納する（Ｓ５）。配列６０内にイベントデータ３０の対象ＩＤ３２と同じ対象ＩＤ３２を格納する配列要素６１が登録されていない場合、同部は、未使用の配列要素６１を取得して対象ＩＤ３２を格納したうえで、上述の遷移時刻６３およびカレント状態６２を格納する。
特定一覧４４の状態から特定一覧４４に無い状態に遷移する場合（Ｓ４でＮ、Ｓ７でＹ）、同部はイベントデータ３０の対象ＩＤ３２と同じ対象ＩＤ３２を格納する配列要素６１の情報を削除し、当該配列要素６１を未使用状態に戻す（Ｓ８）。イベントデータ３０の対象ＩＤ３２と同じ対象ＩＤ３２を格納する配列要素６１が登録されていない場合、同部は何もしない。
状態遷移をしない場合又は特定一覧４４に無い状態間での遷移をする場合（Ｓ４およびＳ７でＮ）、同部は何もしない。
配列６０の更新後、ＣＫＰＴ作成部２４は、発生時刻３１順で次のイベントデータ３０を取得して（Ｓ６）、Ｓ３の処理に戻る。
取得したイベントデータ３０の発生時刻３１が起動時刻より遅い場合（Ｓ３でＮ）、同部は配列６０を走査し、カレント状態６２の状態種別ごとに最も古い遷移時刻６３を取得し、新たなチェックポイント５０を作成してＣＫＰＴ記憶部２８に追記する（Ｓ９）。同部は、作成時刻５１には起動時刻を、各特定状態５２には各カレント状態６２を、各最古時刻５３には各最も古い遷移時刻６３を格納する。なお、特定一覧４４に定義されていても、配列６０のカレント状態６２内にひとつも登録されていなかった状態については、ＣＫＰＴ作成部２４は最古時刻５３に起動時刻を格納する。
図７Ａ及び図７Ｂは検索部２５の動作フローチャートである。検索部２５は、入出力部２３を経由して、ユーザ端末１３から検索状態と検索時刻を含む検索要求を受信する（Ｓ１１）。ついで、検索部２５は配列６０の全配列要素６１を未使用状態化（Ｎｕｌｌ値設定等）する（Ｓ１２）。
検索部２５は、ＣＫＰＴ記憶部２８から最新のチェックポイント５０を取得し、当該チェックポイント５０から最古時刻５３の最も古いものを取得する。同部は、当該最古時刻５３より後で作成された最古の発生時刻３１を有するイベントデータ３０を取得する（Ｓ１３）。ＣＫＰＴ記憶部２８内にチェックポイント５０が未だ格納されていない場合、検索部２５は、先頭（最古）のイベントデータ３０を取得する。
取得したイベントデータ３０の発生時刻３１が起動時刻以前である場合（Ｓ１４でＹ）、検索部２５は、当該イベントデータ３０によって引き起こされる状態遷移を決定し（Ｓ１５、Ｓ１８）、以下に記述する配列６０の更新を行う（Ｓ１６、Ｓ１９）。同部は、イベントデータ３０の対象ＩＤ３２が適用範囲４１に包含される遷移表４０を、イベントデータ３０の種類３３をキーに検索して、状態遷移（原状態４２と新状態４３）を決定する。
検索状態に遷移する場合（Ｓ１５でＹ）、同部は未使用の配列要素６１を取得して対象ＩＤ３２を格納する（Ｓ１６）。
検索状態からその他の状態に遷移する場合（Ｓ１５でＮ、Ｓ１８でＹ）、同部はイベントデータ３０の対象ＩＤ３２と同じ対象ＩＤ３２を格納する配列要素６１の情報を削除し、当該配列要素６１を未使用状態に戻す（Ｓ１９）。状態遷移をしない場合又は他の状態間での遷移をする場合（Ｓ１５およびＳ１８でＮ）、同部は何もしない。
配列６０の更新後、検索部２５は、発生時刻３１順で次のイベントデータ３０を取得して（Ｓ１７）、Ｓ１４の処理に戻る。
取得したイベントデータ３０の発生時刻３１が起動時刻より遅い場合（Ｓ１４でＮ）、同部は配列６０を走査して登録されている対象ＩＤ３２を全て取得して、入出力部２３経由で、ユーザ端末１３に出力する（Ｓ１Ａ）。
本実施形態のデータ管理装置２０は、イベントデータ３０を蓄積したイベント記憶部２６から、特定状態５２にある対象（商品等）を効率的に検索することが出来る。その理由は、チェックポイント５０を保持することによって検索範囲を限定できるからである。
本実施形態のデータ管理装置２０は、複数の特定状態５２の何れかにある対象（商品等）を効率的に検索することが出来る。その理由は、チェックポイント５０を特定状態５２のおのおの対応に保持するからである。
図８は、本発明の第２の実施形態にかかるデータ管理システム１０の全体構成図である。本実施形態のデータ管理装置２０は、第１の実施形態にかかるデータ管理装置２０の構成に加えて、長期イベント記憶部２Ａと長期ＣＫＰＴ記憶部２Ｂを備えている。
長期イベント記憶部２Ａと長期ＣＫＰＴ記憶部２Ｂは、例えば、ディスク、メモリ等の記憶装置である。長期イベント記憶部２Ａはイベント記憶部２６から抽出された一部のイベントデータ３０（長期イベントデータ）の複写（詳細は後述）を格納する。長期ＣＫＰＴ記憶部２Ｂは、長期イベントデータから作成されたチェックポイント５０（長期チェックポイント）を格納する。
図９は第２の実施形態のＣＫＰＴ作成部２４の動作フローチャートである。ＣＫＰＴ作成部２４は、長期イベント記憶部２Ａの長期イベントデータから長期チェックポイントを作成して、長期ＣＫＰＴ記憶部２Ｂに格納する（Ｓ２１）。この手順の詳細は、図６Ａ及び図６Ｂに示したとおりである。但し、イベントデータ３０（長期イベントデータ）はイベント記憶部２６ではなく長期イベント記憶部２Ａから入力し、チェックポイント５０（長期チェックポイント）はＣＫＰＴ記憶部２８ではなく長期ＣＫＰＴ記憶部２Ｂを対象に入出力する。この時点で、配列６０には、長期イベントデータから得られた対象ＩＤ３２のカレント状態６２と遷移時刻６３が格納されている。
引き続いて同部は、イベントデータ記憶部２６のイベントデータ３０の内容で配列６０を更新する（Ｓ２２）。この手順の詳細は図６Ａ及び図６ＢのＳ２乃至Ｓ８のとおりである。その後、同部は、ＣＫＰＴ記憶部２８内の長期イベントデータを抽出して、そのコピーを長期ＣＫＰＴ記憶部２Ｂに追記する（Ｓ２３）。このときＣＫＰＴ作成部２４は、配列６０を走査して、遷移時刻６３と起動時刻の差が閾値以上である対象ＩＤ３２（長期滞留ＩＤ）を取得する。同部は、イベント記憶部２６のイベントデータ３０のうち、長期滞留ＩＤを対象ＩＤ３２として包含するイベントデータ３０を長期イベントデータであると判断する。
最後に同部は、配列６０を走査して、カレント状態６２ごとに最も古い遷移時刻６３（但し、長期滞留ＩＤの遷移時刻６３は除く）を取得して、新たなチェックポイント５０を作成してＣＫＰＴ記憶部２８に追記する（Ｓ２４）。同部は、作成時刻５１には起動時刻を、各特定状態５２には各カレント状態６２を、各最古時刻５３には各最も古い遷移時刻６３を格納する。なお、特定一覧４４に定義されていても、配列６０のカレント状態６２内にひとつも登録されていなかった状態については、ＣＫＰＴ作成部２４は最古時刻５３に起動時刻を格納する。
図１０は第２の実施形態の検索部２５の動作フローチャートである。検索部２５は、入出力部２３を経由して、ユーザ端末１３から検索状態と検索時刻を含む検索要求を受信する（Ｓ３１）。ついで、検索部２５は配列６０の全配列要素６１を未使用状態化（Ｎｕｌｌ値設定等）する（Ｓ３２）。
検索部２５は、長期イベント記憶部２Ａと長期ＣＫＰＴ記憶部２Ｂに基づいて配列６０に対象ＩＤ３２を登録する（Ｓ３３）。この詳細な手順は図７Ａ及び図７ＢのＳ１３乃至Ｓ１９のとおりである。但し、イベントデータ３０（長期イベントデータ）はイベント記憶部２６ではなく長期イベント記憶部２Ａから入力し、チェックポイント５０（長期チェックポイント）はＣＫＰＴ記憶部２８ではなく長期ＣＫＰＴ記憶部２Ｂを対象に入出力する。
続いて、検索部２５は、イベント記憶部２６とＣＫＰＴ記憶部２８に基づいて配列６０に対象ＩＤ３２を追加登録する（Ｓ３４）。この詳細な手順は図７Ａ及び図７ＢのＳ１３乃至Ｓ１９のとおりである。
最後に、同部は配列６０を走査して登録されている対象ＩＤ３２を全て取得して、入出力部２３経由で、ユーザ端末１３に出力する（Ｓ３５）。
本実施形態のデータ管理システム１０は、他の点では第１の実施形態と同じである。
本実施形態のデータ管理装置２０は、頻繁に状態が変化する対象と希にしか状態が変化しない対象とが混在する環境でも、複数の特定状態５２の何れかにある対象（商品等）を効率的に検索することが出来る。その理由は、長期イベントデータを抜きだした長期イベント記憶部２Ａを設けて当該データから長期チェックポイントを作成し、長期イベントデータ以外のイベントデータ３０からチェックポイント５０を作成するからである。このような構成としたため、データ管理装置２０は、チェックポイント５０における最古時刻５３を作成時刻５１に近づけることできる。従って、検索部２５は、イベント記憶部２６の検索範囲を限定することが出来る。
本発明の第３の実施形態にかかるデータ管理装置２０は、遷移記憶部２７に格納する遷移表４０をひとつだけとし、遷移表４０は提供範囲４１と特定一覧４４を包含しない。さらに、状態遷移が簡単である場合等は、遷移情報をＣＫＰＴ作成部２４の論理に含めてしまい、データ管理装置２０は遷移記憶部２７を備えなくても良い。また、本実施形態においてチェックポイント５０（長期チェックポイントを含む）は、おのおのひとつの作成時刻５１と最古時刻５３のみを包含する。
本実施形態のデータ管理装置２０は、状態遷移のパターンが１種類かつ検索対象となる状態が１種類であるアプリケーションを簡単に実現できる。その理由は、遷移記憶部２７等の記憶容量およびＣＫＰＴ作成部２４等の処理量を減らすことが出来るからである。このようなアプリケーションは、例えば、物流に於ける在庫管理アプリケーションがある。
また、本発明に於いてデータ管理装置２０はイベント記憶部２６、ＣＫＰＴ記憶部２８、ＣＫＰＴ作成部２４だけを備えていても良い。イベント登録部２２、検索部２５、入出力部２３は、イベント記憶部２６及びＣＫＰＴ記憶部２８を共有する他の装置（イベント登録装置、検索装置等）に備えることとしても良い。
図１１は、このような実施形態（第４の実施形態）のデータ管理装置２０の構成を示す図である。なお、イベント記憶部２６及びＣＫＰＴ記憶部２８の両者はイベントデータベース７０を構成する。
本実施形態のデータ管理装置２０は、イベントデータ３０を蓄積したイベント記憶部２６から、特定状態５２にある対象（商品等）を効率的に検索することが出来る。その理由は、チェックポイント５０を保持することによって検索範囲を限定できるからである。
図１２はイベントデータベース７０の構成図である。例えば、イベント記憶部２６およびＣＫＰＴ記憶部２８が持ち運び可能な記録媒体である場合、イベントデータベース７０はＣＫＰＴ作成部２４を備えたデータ管理装置２０から取り出され得る。取り出されたイベントデータベース７０は、ＣＫＰＴ作成部２４や検索部２５を備える別の装置に接続されて使用されても良い。イベントデータベース７０は、遷移記憶部２７、または、長期イベント記憶部２Ａ及び長期ＣＫＰＴ記憶部２Ｂを包含していても良い。
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、２００９年３月１７日に出願された日本出願特願２００９−０６３７２２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2010107106.tif 000003
【図２】
2010107106.tif 000004
【図３】
2010107106.tif 000005
【図４】
2010107106.tif 000006
【図５】
2010107106.tif 000007
【図６Ａ】
2010107106.tif 000008
【図６Ｂ】
2010107106.tif 000009
【図７Ａ】
2010107106.tif 000010
【図７Ｂ】
2010107106.tif 000011
【図８】
2010107106.tif 000012
【図９】
2010107106.tif 000013
【図１０】
2010107106.tif 000014
【図１１】
2010107106.tif 000015
【図１２】
2010107106.tif 000016
【国際調査報告】
2010107106.tif 000017
2010107106.tif 000018