(57)【要約】多数のデータ発生源から大量のデータを受信する場合に、それらのデータを高速に、データを解析する手段に対して発生時刻順に渡すことができる解析前処理システムを提供する。データ取得手段７１は、複数のデータ発生源で生成されたデータ群を取得する。データ切り出し手段７２は、そのデータ群から個々のデータを切り出す。並べ替え制御手段７３は、切り出されたデータを保持し、遅延最大データ発生源からのデータを検知したときに、そのデータ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替える。データ記憶バッファ７４は、発生時刻順に並べ替えられたデータを記憶する。解析用データ決定手段は、データ記憶バッファ７４に記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める。
2010095458.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ発生源で生成されたデータ群を取得するデータ取得手段と、
データ取得手段が取得したデータ群から個々のデータを切り出すデータ切り出し手段と、
データ切り出し手段が切り出したデータを保持し、データ生成からデータがデータ取得手段に取得されるまでの時間が最大となるデータ発生源である遅延最大データ発生源からのデータを検知したときに、当該データ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替える並べ替え制御手段と、
発生時刻順に並べ替えられたデータを記憶するデータ記憶バッファと、
前記データ記憶バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める解析用データ決定手段と、
データを解析するデータ解析手段に解析データ群を送る解析用データ出力手段とを備える
ことを特徴とする解析前処理システム。
【請求項２】
データ取得手段は、取得したデータ群にデータを取得した取得時刻の情報を付加し、
並べ替え制御手段は、
データ切り出し手段が切り出したデータを一時的に保持するための一時バッファと、
データに含まれているデータ発生時刻と前記取得時刻との差である遅延を計算する遅延計算手段と、
前記遅延が最大となるデータ発生源を遅延最大データ発生源として特定し、前記一時バッファに遅延最大データ発生源で生成されたデータが追加されたときに、当該データの追加を検知する検知手段と、
前記一時バッファへの遅延最大データ発生源で生成されたデータの追加が検知されると、当該データ以前に発生したデータを前記一時バッファから選択し、選択したデータを発生時刻順に並べ替える並べ替え手段とを有する
請求項１に記載の解析前処理システム。
【請求項３】
遅延計算手段は、各データ発生源の遅延を定期的に計算する請求項２に記載の解析前処理システム。
【請求項４】
発生時刻順に並べ替えられたデータ毎に、所定の条件を満たしているか否かを判定し、所定の条件を満たしているデータをデータ記憶バッファに記憶させ、所定の条件を満たしていないデータを破棄するフィルタリング手段を備える
請求項１から請求項３のうちのいずれか１項に記載の解析前処理システム。
【請求項５】
フィルタリング手段は、
発生時刻順に並べ替えられたデータ毎に、既にデータ記憶バッファに記憶されているいずれのデータともデータの内容が異なるという条件を満たしているか否かを判定する内容一致不一致判定手段と、
前記条件を満たしていないデータを破棄し、前記条件を満たすデータをデータ記憶バッファに記憶させるデータ選別手段とを有する
請求項４に記載の解析前処理システム。
【請求項６】
フィルタリング手段は、
データに含まれる内容が有効であることを示す基準を記憶する基準記憶手段と、
発生時刻順に並べ替えられたデータ毎に、データの内容が前記基準を満たしているか否かを判定する基準判定手段と、
データの内容が基準を満たしていないデータを破棄し、基準を満たしているデータをデータ記憶バッファに記憶させるデータ選別手段とを有する
請求項４または請求項５に記載の解析前処理システム。
【請求項７】
フィルタリング手段は、
発生時刻順に並べ替えられた各データのデータ識別情報を記憶するデータ識別情報記憶手段と、
並べ替え制御手段がデータを選択して並べ替えたときに当該データのデータ識別情報がデータ識別情報記憶手段に記憶されているか否かを判定し、記憶されていないときには当該データのデータ識別情報をデータ識別情報記憶手段に記憶させる重複判定手段と、
データ識別情報がデータ識別情報記憶手段に記憶されていたと判定されたデータを破棄し、データ識別情報がデータ識別情報記憶手段に記憶されていなかったと判定されたデータをデータ記憶バッファに記憶させるデータ選別手段とを有する
請求項４から請求項６のうちのいずれか１項に記載の解析前処理システム。
【請求項８】
解析用データ決定手段は、一定期間毎に、前記一定期間内にデータ記憶バッファに記憶されたデータの集合を解析データ群として定める
請求項１から請求項７のうちのいずれか１項に記載の解析前処理システム。
【請求項９】
解析用データ決定手段は、データ記憶バッファに記憶されたデータ数が所定個に達する毎に、前記所定個のデータの集合を解析データ群として定める
請求項１から請求項７のうちのいずれか１項に記載の解析前処理システム。
【請求項１０】
解析用データ出力手段は、データ解析手段に送った解析データ群に属する各データをデータ記憶バッファから削除する
請求項１から請求項９のうちのいずれか１項に記載の解析前処理システム。
【請求項１１】
データを解析するデータ解析手段を備え、
前記データ解析手段は、解析用データ出力手段が出力した解析データ群を保持し、解析を終えた解析データ群を削除することで解析用データ出力手段とは非同期に解析を行う
請求項１から請求項１０のうちのいずれか１項に記載の解析前処理システム。
【請求項１２】
複数のデータ発生源で生成されたデータ群を取得し、
取得したデータ群から個々のデータを切り出し、
切り出したデータを保持し、データ生成からデータが取得されるまでの時間が最大となるデータ発生源である遅延最大データ発生源からのデータを検知したときに、当該データ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替え、
発生時刻順に並べ替えたデータをデータ記憶バッファに記憶させ、
前記データ記憶バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定め、
データを解析するデータ解析手段に解析データ群を送る
ことを特徴とする解析前処理方法。
【請求項１３】
取得したデータ群にデータの取得時刻の情報を付加し、
データに含まれているデータ発生時刻と前記取得時刻との差である遅延を計算し、
前記遅延が最大となるデータ発生源を遅延最大データ発生源として特定し、切り出したデータを一時的に保持するための一時バッファに遅延最大データ発生源で生成されたデータが追加されたときに、当該データの追加を検知し、
前記一時バッファへの遅延最大データ発生源で生成されたデータの追加を検知すると、当該データ以前に発生したデータを前記一時バッファから選択し、選択したデータを発生時刻順に並べ替える
請求項１２に記載の解析前処理方法。
【請求項１４】
コンピュータに、
複数のデータ発生源で生成されたデータ群を取得するデータ取得処理、
データ取得処理で取得したデータ群から個々のデータを切り出すデータ切り出し処理、
データ切り出し処理で切り出したデータを保持し、データ生成からデータがデータ取得処理で取得されるまでの時間が最大となるデータ発生源である遅延最大データ発生源からのデータを検知したときに、当該データ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替える並べ替え制御処理、
発生時刻順に並べ替えたデータをデータ記憶バッファに記憶させるデータ記憶処理、
前記データ記憶バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める解析用データ決定処理、および、
データを解析するデータ解析手段に解析データ群を送る解析用データ出力処理
を実行させるための解析前処理プログラム。
【請求項１５】
コンピュータに、
データ取得処理で、取得したデータ群にデータの取得時刻の情報を付加し、
並べ替え制御処理で、
データに含まれているデータ発生時刻と前記取得時刻との差である遅延を計算する遅延計算処理、
前記遅延が最大となるデータ発生源を遅延最大データ発生源として特定し、切り出したデータを一時的に保持するための一時バッファに遅延最大データ発生源で生成されたデータが追加されたときに、当該データの追加を検知する検知処理、および、
前記一時バッファへの遅延最大データ発生源で生成されたデータの追加が検知されると、当該データ以前に発生したデータを前記一時バッファから選択し、選択したデータを発生時刻順に並べ替える並べ替え処理
を実行させる請求項１４に記載の解析前処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ解析の対象となるデータに対して前処理を行う解析前処理システム、解析前処理方法および解析前処理プログラムに関する。
【背景技術】
【０００２】
複数のセンサや地理的に分散しているサーバのログ等を対象としてデータを時系列に解析する時系列解析装置がある。このような時系列解析装置では、解析対象となるデータを一旦、データベースやファイルとして保存し、バッチ処理等で解析する。【０００３】
このようなデータを蓄積するデータベースが非特許文献１に記載されている。非特許文献１に記載された技術では、センサネットワークで観測されたセンサデータをネットワーク上の単一のデータベースに蓄積する。過去のデータを参照する場合には、ＳＱＬで問い合わせを行うことでデータを参照する。【０００４】
また、Ｗｅｂサーバとして広く利用されているapache（Apacheソフトウェア財団）のログを解析する例を説明する。通常、クライアントからのアクセスを分散させるために複数のＷｅｂサーバが用意されている。各Ｗｅｂサーバはそれぞれ独立に、アクセスやエラーのログをファイルとして保存する。apacheのデフォルトの設定では、エラーログは、/usr/local/apache/logs/error.logファイルに記録される。解析装置がこれらのログを解析する場合、解析装置はＦＴＰ（File Transfer Protocol）等を利用して、複数のサーバに記録されたログを収集し、そのログを解析する。【０００５】
解析データが解析対象とするデータを収集する一般的な構成の例を図３２に示す。データ発生源となる各Ｗｅｂサーバ２０２は、それぞれクライアント２０１にアクセスされ、データ（ログ）を生成する。各Ｗｅｂサーバ２０２は、そのログをログ収集手段２０３に送信し、ログ収集手段２０３はそのデータを受信すると、記憶手段にデータベースあるいはファイルとして記憶する。そして、ログ収集手段２０３はそのデータをデータ解析用のデータ形式に変換してデータ解析装置２０４に渡し、データ解析装置２０４がデータ解析を行う。【０００６】
なお、ログ収集手段２０３には複数のＷｅｂサーバ２０２からデータの発生時刻順にデータが送られてくるとは限らない。解析の際にデータが時系列順に並んでいる必要がある場合、ログ収集手段２０３は、データを時系列順に並べ替えてからデータ解析装置２０４に渡す。【０００７】
データ発生源（図３２に示す例ではＷｅｂサーバ２０２）とデータ解析装置とがそれぞれ独立に動作する構成を実現するための簡易な構成として、発生したデータをデータベースやファイルとして保存して、データ解析装置がそのデータを解析する構成が挙げられる。また、データ発生源とデータ解析装置とが互いにコミュニケーションを取りながら非同期に処理を進める構成では、双方が相手からのコミュニケーションの依頼の有無を判定する必要があり、煩雑なシステムとなる。このような煩雑な動作を回避するため、発生したデータをデータベースやファイルとして保存する構成が採用されている。【０００８】
また、データ発生源からデータを送信する処理、そのデータを受信する処理、受信するデータを一時保存する処理に利用できるライセンスフリーのライブラリが多く存在する。例えば、ファイルを転送する場合にはＦＴＰサーバを利用すればよい。また、データベースにおいてＯＤＢＣ（Open Database Connectivity）ドライバを利用してもよい。このようなライブラリを利用できることからも、発生したデータをデータベースやファイルとして保存する構成が採用されている。【０００９】
また、特許文献１には、振動センサや脈拍センサ等の複数のセンサの計測したデータをマイコンが収集し、マイコンがＰＤＡ等にデータを出力する構成が記載されている。マイコンは、生体信号の原データに対して、外乱信号の除去を目的としたフィルタリング処理や、秒単位・分単位での集計処理等を施し、加工データを生成する。マイコンは、加工データをＰＤＡに送信する。また、特許文献１には、計測データに変動がなく、被験者の状態が未だ生体信号を計測すべきでないと判断したときに、所定時間が経過するまで、生体信号の計測動作を待機することが記載されている。【００１０】
また、特許文献２には、２以上の入力装置から同一の出力装置に対するデータ転送要求が発行されることにより生じる競合を回避するための調停装置が記載されている。そして、出力装置に対する複数のデータ転送要求の中から最も優先度が高くかつ最も時間的に古いデータ転送要求を特定して、出力装置に対するデータ転送を許可することが記載されている。【００１１】
また、特許文献３には、受信したデータが再び後続のストリームで受信される場合、後続のデータストリームを中断することが記載されている。また、顧客の組織やユーザの組織に関するフィルタリングをデータストリームに行うことが記載されている。【００１２】
特許文献４には、１回目の測定データと２回目の測定データの差の絶対値が所定値を越える場合に測定データを削除する荷電ビーム測長装置が記載されている。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００３−３０７７５号公報（段落００３７，００４８−００５０，００６３、図１）
【特許文献２】特開２００３−３０９５９７号公報（段落００１３）
【特許文献３】特開２００２−７７２７７号公報（段落００３３，００３５）
【特許文献４】特開２００２−６２１２３号公報（段落００２１）
【非特許文献】
【００１４】
【非特許文献１】白石陽、「センサネットワークのためのデータベース技術」、情報処理、社団法人情報処理学会、Ｖｏｌ．４７、Ｎｏ．４（２００６０４１５）、ｐｐ．３８７−３９３、２００６年
【発明の概要】
【発明が解決しようとする課題】
【００１５】
センサやＷｅｂサーバ等のデータ発生源が複数存在し、それらのデータを一旦、データベースやファイルとして記憶し、データ解析装置に渡す構成（例えば、図３２に示す構成）では、データ発生源の数が多くなると、データを収集する手段（例えば、図３２に示すログ収集手段２０３）へのアクセス集中により、データを収集する手段での処理が間に合わなくなる可能性がある。例えば、データベースあるいはファイルとしてデータを保存する場合、データ保存のためのＩ／Ｏが低速であるため、データを保存する処理等が間に合わなくなる可能性がある。【００１６】
また、データを時系列順に並べ替えてデータ解析装置に渡す場合には、データの発生時刻で、収集したデータをソートすればよい。ソート処理として、クイックソート等の高速なアルゴリズムが知られているが、平均計算量はＯ（ｎ×ｌｏｇ（ｎ））で表され、データ量が多くなると、高速アルゴリズムを採用しても計算量が多くなる。そのため、データを収集する手段が保存したデータ量が多い場合には、時系列化のための処理時間がかかってしまう。【００１７】
そこで、本発明は、多数のデータ発生源から大量のデータを受信する場合に、それらのデータを高速に、データを解析する手段に対して発生時刻順に渡すことができる解析前処理システム、解析前処理方法および解析前処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明による解析前処理システムは、複数のデータ発生源で生成されたデータ群を取得するデータ取得手段と、データ取得手段が取得したデータ群から個々のデータを切り出すデータ切り出し手段と、データ切り出し手段が切り出したデータを保持し、データ生成からデータがデータ取得手段に取得されるまでの時間が最大となるデータ発生源である遅延最大データ発生源からのデータを検知したときに、そのデータ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替える並べ替え制御手段と、発生時刻順に並べ替えられたデータを記憶するデータ記憶バッファと、データ記憶バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める解析用データ決定手段と、データを解析するデータ解析手段に解析データ群を送る解析用データ出力手段とを備えることを特徴とする。【００１９】
また、本発明による解析前処理方法は、複数のデータ発生源で生成されたデータ群を取得し、取得したデータ群から個々のデータを切り出し、切り出したデータを保持し、データ生成からデータが取得されるまでの時間が最大となるデータ発生源である遅延最大データ発生源からのデータを検知したときに、そのデータ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替え、発生時刻順に並べ替えたデータをデータ記憶バッファに記憶させ、データ記憶バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定め、データを解析するデータ解析手段に解析データ群を送ることを特徴とする。【００２０】
また、本発明による解析前処理プログラムは、コンピュータに、複数のデータ発生源で生成されたデータ群を取得するデータ取得処理、データ取得処理で取得したデータ群から個々のデータを切り出すデータ切り出し処理、データ切り出し処理で切り出したデータを保持し、データ生成からデータがデータ取得処理で取得されるまでの時間が最大となるデータ発生源である遅延最大データ発生源からのデータを検知したときに、そのデータ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替える並べ替え制御処理、発生時刻順に並べ替えたデータをデータ記憶バッファに記憶させるデータ記憶処理、データ記憶バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める解析用データ決定処理、および、データを解析するデータ解析手段に解析データ群を送る解析用データ出力処理を実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、多数のデータ発生源から大量のデータを受信する場合に、それらのデータを高速に、データを解析する手段に対して発生時刻順に渡すことができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１の実施形態の解析前処理システムの例を示すブロック図である。
【図２】データストリーム生成手段の構成例を示すブロック図である。
【図３】解析前処理システムの物理構成の一例を示す説明図である。
【図４】時系列データ発生源が生成するデータの例を示す説明図である。
【図５】データ送信手段が送信するデータの例を示す説明図である。
【図６】解析ウィンドウを模式的に示す説明図である。
【図７】データストリーム生成手段の入出力の例を示す説明図である。
【図８】切り出されたデータの例を示す説明図である。
【図９】受信時刻が追加されたデータの例を示す説明図である。
【図１０】送信データバッファにおけるメモリイメージの例を示す模式図である。
【図１１】遅延制御手段の構成例を示すブロック図である。
【図１２】本発明の第１の実施形態の処理経過の例を示すフローチャートである。
【図１３】並べ替え制御の処理経過の例を示すフローチャートである。
【図１４】ステップＳ５３の処理経過の例を示すフローチャートである。
【図１５】いつ、どの時系列データ発生源でどのデータが発生したかを示すタイムテーブルの例を示す説明図である。
【図１６】データがストリームデータ生成手段に入力されたタイミングを示すタイムテーブルの例を示す説明図である。
【図１７】図１６に例示するタイムテーブルにおいて一部のデータが削除されたことを示す説明図である。
【図１８】図１７に例示するタイムテーブルにおいて一部のデータが削除されたことを示す説明図である。
【図１９】第２の実施形態におけるデータストリーム生成手段の構成例を示すブロック図である。
【図２０】フィルタリング手段の構成例を示すブロック図である。
【図２１】第２の実施形態の処理経過の例を示す説明図である。
【図２２】フィルタリング処理の処理経過の例を示すフローチャートである。
【図２３】第２の実施形態の変形例におけるフィルタリング手段の構成例を示すブロック図である。
【図２４】有効データ定義手段が記憶する基準の例を示す説明図である。
【図２５】第２の実施形態の変形例におけるフィルタリング処理の処理経過の例を示すフローチャートである。
【図２６】データの複製が生じる状況の具体例を示す説明図である。
【図２７】第２の実施形態の他の変形例におけるフィルタリング手段の構成例を示すブロック図である。
【図２８】データ識別情報の例を示す説明図である。
【図２９】第２の実施形態の他の変形例におけるフィルタリング処理の処理経過の例を示すフローチャートである。
【図３０】参考実施形態におけるデータストリーム生成手段の構成例を示すブロック図である。
【図３１】本発明の最小構成を示す説明図である。
【図３２】解析対象データを収集するシステムの一般的な構成例を示すブロック図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面を参照して説明する。
【００２４】
実施形態１．
図１は、本発明の第１の実施形態の解析前処理システムの例を示すブロック図である。本発明の解析前処理システム７は、時系列データ発生源１が発生させたデータを受信するデータ受信手段３と、受信したデータを加工して時系列データ解析手段５に送るデータストリーム生成手段４とを備える。
【００２５】
時系列データ発生源１は、時間の経過とともにデータを順次、発生させるデータ発生源である。データ送信手段２は、時系列データ発生源１が発生させたデータを解析前処理システム７に送信する。また、時系列データ解析手段５は、データストリーム生成手段４から入力されるデータを対象に解析処理を行う。図１に示すように、時系列データ発生源１およびデータ送信手段２は複数設けられていてよい。
【００２６】
データ受信手段３は、時系列データ発生源１が発生させたデータを各データ送信手段２から受信する。このとき、個々の時系列データ発生源１とデータ受信手段３との間の通信状況の違い等の要因により、データ受信手段３は、個々の時系列データ発生源で生成されたデータを発生時刻順に受信するとは限らない。
【００２７】
データストリーム生成手段４は、データ受信手段３が受信した各データを時系列順（すなわち発生時刻順）に並べ替える。そして、データストリーム生成手段４は、時系列データ解析手段５における１回分の解析毎に、時系列順に並べ替えられたデータの中から、１回分の解析の対象となるデータの集合を定め、時系列データ解析手段５に送る。時系列データ解析手段５は、このデータを用いて解析を行う。
【００２８】
なお、時系列データ発生源１およびデータ送信手段２が解析前処理システムに含まれていてもよい。同様に、時系列データ解析手段５が解析前処理システムに含まれていてもよい。
【００２９】
図２は、データストリーム生成手段４の構成例を示すブロック図である。図１で示した要素と同一の要素については、図１と同一の符号を付す。データストリーム生成手段４は、ストリームデータ生成手段４０１と、遅延制御手段４０５と、送信データバッファ４０２と、解析ウィンドウ生成手段４０３と、ストリームデータ送信手段４０４とを備える。ストリームデータ生成手段４０１は、データ受信手段３が受信したデータを、解析のためのデータフォーマットに変換し、遅延制御手段４０５に入力する。遅延制御手段４０５は、フォーマット変換によって得られた個々のデータを時系列順に並べ替える。このとき、遅延制御手段４０５は、データ発生時刻からデータがデータ受信手段３に受信されるまでの時間が最も大きい時系列データ発生源を特定し、その時系列データ発生源で発生したデータが入力されると、そのデータ以前の時刻に発生した各データを順にストリームデータ生成手段４０１に返す。なお、データ発生時刻からデータがデータ受信手段３に受信されるまでの時間を遅延と記す。ストリームデータ生成手段４０１は、遅延制御手段４０５によって時系列順に並べ替えられたデータを送信データバッファ４０２に記憶させる。送信データバッファ４０２は、データを一時的に記憶するメモリである。解析ウィンドウ生成手段４０３は、送信データバッファ４０２にデータが登録されたことを通知されると、時系列データ解析装置５が一度に解析するデータの集合を生成する。ストリームデータ送信手段４０４は、解析ウィンドウ生成手段４０３からの命令に応じて、送信データバッファ４０２から時系列データ解析手段５にデータを送信する。
【００３０】
図３は、解析前処理システムの物理構成の一例を示す説明図である。典型的には、時系列データ発生源１は物理的に分散した位置に存在し、サーバがデータを収集して解析を行う。図３に示す例では、ｎ台のクライアントＰＣ１，ＰＣ２，・・・，ＰＣｎがそれぞれ、時系列データ発生源１とデータ送信手段２とを備える。各クライアントは、例えば、ＰＣ（パーソナルコンピュータ）等の情報処理装置である。また、図３に示す例では、データ解析を行うサーバＰＣ８にデータ受信手段３、データストリーム生成手段４、および時系列データ解析手段５が設けられている。
【００３１】
ただし、図３に示す物理構成は例示であり、図３に示す例に限定されない。例えば、複数の時系列データ発生源が、一つの計算機で実現されていてもよい。また、データ受信手段３、データストリーム生成手段４、および時系列データ解析手段５がそれぞれ異なる計算機で実現されてもよい。図３に示す各手段をどのような装置で実現するかは、発生するデータの数、計算機の処理能力、時系列データ発生源１の物理的な分散状況に応じて、適宜定めればよい。時系列データ発生源１、データ送信手段２、データ受信手段３、データストリーム生成手段４、および時系列データ解析手段５を１台の計算機に設ける構成であってもよい。
【００３２】
以下の説明では、複数のクライアントがデータを発生させ、このデータをサーバＰＣに送信して、サーバＰＣが前処理、および解析を行う場合を例にして説明する。
【００３３】
各手段の詳細を説明する。
【００３４】
時系列データ発生源１は、解析対象となるデータを継続的に発生させる。時系列データ発生源１がセンサであり、解析対象となるセンサデータを継続的に生成してもよい。また、時系列データ発生源１がＷｅｂサーバ等のサーバ装置であり、解析対象となるログを継続的に生成してもよい。各時系列データ発生源１は、発生させるデータに、そのデータの発生時刻の情報を含める。本実施形態では、時系列データ発生源１が、車両（プローブカー）に搭載され、例えば速度、位置、進行方向等を測定するセンサである場合を例にして説明する。何万台ものプローブカーを走行させ、各プローブカーのセンサからデータを収集して解析することで、渋滞情報を生成することができる。ただし、本発明は、プローブカーのデータ解析以外にも適用可能である。図３では、各ＰＣが時系列データ発生源１およびデータ送信手段２として動作する場合を示しているが、本例では、プローブカーとは別に設けられる基地局がデータ送信手段２に相当する。
【００３５】
図４は、個々のプローブカーに設けられたセンサ（時系列データ発生源１）が生成するデータの例を示す説明図である。本例において、個々のプローブカーに設けられた時系列データ発生源１は、日時、車両ＩＤ、緯度、経度、速度を含むデータを生成する。日時は、データの発生日時である。車両ＩＤは、時系列データ発生源１が搭載されているプローブカーのＩＤ（識別情報）である。各プローブカーには、それぞれユニークな車両ＩＤが割り当てられている。緯度は、プローブカーの位置の緯度であり、経度は、プローブカーの位置の経度である。また、速度は、プローブカーの速度であり、図４に示す例では時速である。よって、図４に示すデータは、「2008/7/20 12:00:00」に生成されたデータであり、プローブカー「ＣＩＤ０００１」が「緯度35.000」、「経度135.000」に存在し、時速６０．０ｋｍで走行していることを示している。本例では、日時、車両ＩＤ、緯度、経度、速度の組を１つのデータとする。
【００３６】
データ送信手段２は、時系列データ発生源１が生成したデータを解析前処理システム（サーバＰＣ）に送信する。本例では、プローブカーとは別に設けられた基地局がデータ送信手段２に相当する。また、プローブカーには基地局に対してデータを送信する送信手段（図示略）も設けられている。プローブカーに設けられた送信手段（図示略）は、無線ＬＡＮを介して基地局（データ送信手段２）にデータを送信し、基地局（データ送信手段２）は、そのデータをサーバＰＣに送信する。基地局（データ送信手段２）は、例えば、有線ＬＡＮを介してサーバＰＣに接続される。本発明は、プローブカーから収集するデータ以外を対象とする場合にも適用可能であり、データ送信手段２のデータ送信方法は特に限定されない。例えば、ＦＴＰ（FILE TRANSFER PROTOCOL RFC 959）を利用して、データを送信してもよい。
【００３７】
図５は、データ送信手段２が送信するデータの例を示す説明図である。データ送信手段２は、一つ一つのデータを個別にサーバＰＣに送信するのではなく、一定個数のデータをまとめて送信することが好ましい。このように複数のデータをまとめて送信することにより、通信コストを下げることができる。データ送信手段２は、図５に例示するように、区切り１０７でデータを連結し、ヘッダ１０６を付加して、データをサーバＰＣに送信する。ヘッダ１０６は、通信プロトコルで定められたヘッダであり、例えば、送信データのサイズ等のパラメータを含む。区切り１０７は、個々のデータの境界を示す情報である。
【００３８】
データ受信手段３は、データ送信手段２が送信したデータ（例えば、図５に例示するデータ）を受信する。データ受信手段３は、データ送信手段２と同じ通信プロトコルに従って、データを受信すればよい。例えば、ＦＴＰによってデータを受信してもよい。データ受信手段３は、受信したデータのヘッダ１０６（図５参照）に、受信時刻（受信したときの現在時刻）を付加する。
【００３９】
データストリーム生成手段４は、データ受信手段３が受信したデータを一つずつのデータに分ける。また、データストリーム生成手段４は、そのデータを時系列順に並べ替える。具体的には、遅延（データ発生からデータがデータ受信手段３に受信されるまでの時間）が最も大きい時系列データ発生源を特定し、その時系列データ発生源で生成されたデータを検知すると、そのデータ以前に発生したデータを順に送信データバッファ４０２に記憶させることでデータを並べ替える。さらに、データストリーム生成手段４は、時系列データ手段５が解析を行うためのデータの集合（解析ウィンドウ）を定める。通常、時系列データ解析手段５は、データを一つずつ解析するのではなく、データの集合の解析を繰り返す。解析ウィンドウとは、この１回の解析において解析対象となるデータの集合である。図６は、解析ウィンドウを模式的に示す説明図である。図６に示す各丸印は、時間経過に伴い生成されたデータを表している。このデータ１１０の集合が解析ウィンドウ１２０であり、時系列データ解析手段５は、一つの解析ウィンドウを用いて、１回の解析処理を行う。データストリーム生成手段４は、時系列順にデータを並べ、データから解析ウィンドウを定める処理を行い、解析ウィンドウを時系列データ解析手段５に送る。
【００４０】
解析ウィンドウの種類として、例えば、タイムベースウィンドウ（Time-Base Window）やトプルベースウィンドウ（Topple-Base Window）が挙げられる。タイムベースウィンドウは、一定時間毎に、その時間内に属するデータをまとめた解析ウィンドウである。トプルベースウィンドウは、時系列順に一定個数ずつデータを特定して、そのデータをまとめた解析ウィンドウである。図６は、トプルベースウィンドウの例を示し、２個のデータずつ解析ウィンドウを生成した場合を示している。
【００４１】
データストリーム生成手段４は、解析ウィンドウ毎に、解析ウィンドウを識別するためのＩＤ（ウィンドウＩＤ）を定め、ウィンドウＩＤをデータに挿入し、時系列データ解析手段５に渡す。
【００４２】
図７は、データストリーム生成手段４の入出力の例を示す説明図である。データストリーム生成手段４には、データ受信手段３から、複数のデータが区切り１０７で連結され、通信用のヘッダ１０６を含むデータが入力される。なお、このヘッダ１０６には、データ受信手段３がデータを受信した受信時刻が追加されている。データストリーム生成手段４は、入力されたデータから、一つ一つのデータを切り出し、時系列順に並べ替え、ウィンドウＩＤを割り当て、ウィンドウＩＤを割り当てたデータを時系列データ解析手段５に渡す。データストリーム生成手段４は、一つの解析ウィンドウに含める各データに共通のウィンドウＩＤを割り当てる。共通のウィンドウＩＤが割り当てられたデータの集合が、１回の解析で同時に解析される。また、ウィンドウＩＤが割り当てられる個々のデータは、時系列データ発生源１が生成したデータであり、本例では、日時、車両ＩＤ、緯度、経度、速度を含む。
【００４３】
図２等を参照して、データストリーム生成手段４が備える各要素を説明する。ストリームデータ生成手段４０１は、データ受信手段３がデータ送信手段２（図２において図示略。図１参照。）から受信したデータに対してフォーマット変換を行い、一つ一つのデータに分割する。ストリームデータ生成手段４０１は、ヘッダ１０６および区切り１０７（図７参照）を判別し、ヘッダ１０６と区切り１０７との間のデータや、区切り１０７間のデータをそれぞれ切り出せばよい。データのフォーマットは、ＲＦＣ（Request for Comments）等で標準化されており、受信したデータがＲＦＣの仕様に従っている場合、その仕様に従って、ヘッダとデータとの境界やデータ間の区切りを判別し、各データを切り出せばよい。図８は、ストリームデータ生成手段４０１によって切り出されたデータの例を示す。図５に例示するデータが入力されると、ストリームデータ生成手段４０１は、図８に示すように３つのデータを切り出す。
【００４４】
さらに、ストリームデータ生成手段４０１は、切り出した各データに、ヘッダ１０６に追加されている受信時刻の情報を追加する。図８に示す３つのデータを例に説明すると、それぞれ受信時刻が追加されることにより、図９に例示するデータとなる。ストリームデータ生成手段４０１は、受信時刻を追加した各データ（図９参照）を遅延制御手段４０５に入力する。さらに、遅延制御手段４０５がデータを時系列順に並べ替えると、ストリームデータ生成手段４０１は、並べ替えられたデータを送信データバッファ４０２に記憶させる。受信時刻は、遅延を求めるために利用され、以降は用いられない。そのため、ストリームデータ生成手段４０１は、送信データバッファ４０２にデータを記憶させるときに、受信時刻を削除する。なお、受信時刻を削除せずに送信データバッファ４０２にデータを記憶させてもよい。
【００４５】
遅延制御手段４０５は、ストリームデータ生成手段４０１が切り出したデータを保持する。また、遅延制御手段４０５は、データに含まれる日時（データ発生日時）とデータの受信時刻とを参照して、遅延が最大となるデータ発生源を特定する。そして、ストリームデータ生成手段４０１から入力されるデータの中から、そのデータ発生源で生成されたデータを検知すると、そのデータ以前に生成されたデータを、保持しているデータ中から抽出し、時系列順に並べ替えてストリームデータ生成手段４０１に入力する。遅延制御手段４０５の詳細な構成については図１１を参照して後述する。
【００４６】
送信データバッファ４０２は、並べ替えられたデータを記憶するメモリである。図１０は、送信データバッファ４０２におけるメモリイメージの例を示す模式図である。図１０では、リスト構造を採用した場合を例示している。１つのデータを記憶するメモリ領域１３１に１つのデータが記憶される。また、各メモリ領域を連結するポインタ１３２が定められる。ストリームデータ生成手段４０１は、各データを記憶させたときに、そのメモリ領域へのポインタを解析ウィンドウ生成手段４０３に通知する。ポインタを辿ることで、各データに順にアクセスできる。ただし、送信データバッファ４０２がデータを記憶する態様は、図１０の例に限定されない。例えば、送信データバッファ４０２は、リスト構造ではなく、テーブル構造でデータを記憶してもよい。
【００４７】
解析ウィンドウ生成手段４０３は、ストリームデータ生成手段４０１が送信データバッファにデータを記憶させたタイミングで、そのデータを記憶させたメモリ領域へのポインタの通知を受け、ポインタを基に解析ウィンドウを生成する。解析ウィンドウ生成手段４０３には、解析ウィンドウの仕様が予め設定されている。解析ウィンドウの仕様には、解析ウィンドウの種類やウィンドウのサイズが含まれている。解析ウィンドウの種類として、タイムベースウィンドウで解析するか、トプルベースウィンドウで解析するかが定められる。ウィンドウサイズとして、タイムベースウィンドウの場合には時間が定められ、トプルベースウィンドウの場合にはデータの個数が定められる。
【００４８】
解析ウィンドウ生成手段４０３は、定められた仕様に従って解析ウィンドウを生成する。例えば、タイムベースウィンドウで解析を行うと定められ、ウィンドウサイズとして時間が定められているとする。この場合、解析ウィンドウ生成手段４０３は、解析ウィンドウを生成したときに、その解析ウィンドウの生成日時を記憶し、その日時にウィンドウサイズを加算することによって、次の解析ウィンドウを生成するタイミングを算出する。そして、解析ウィンドウ生成手段４０３は、新たなデータが追加されたことに伴い、ポインタの通知をストリームデータ生成手段４０１から受けると、通知されたポインタが示すメモリ領域のデータにおける日時のフィールドにアクセスする。そして、次の解析ウィンドウの生成タイミングを越えている日時が記憶されているか否かを判定する。次の解析ウィンドウの生成タイミングを越える日時が記憶されている場合、解析ウィンドウ生成手段４０３は、送信データバッファに記憶された各データに対して新たなウィンドウＩＤを割り当てることによって、それらの一つの解析ウィンドウと定め、ストリームデータ送信手段４０４にそのデータの集合（解析ウィンドウ）の送信命令を発行する。
【００４９】
また、例えば、トプルベースウィンドウで解析を行うと定められ、ウィンドウサイズとしてデータ数が定められているとする。解析ウィンドウ生成手段４０３は、新たなデータが追加されたことに伴ってポインタの通知を受ける度に、その通知を受けた回数をカウントする。通知を受けた回数は、送信データバッファ４０２に追加されたデータ数を意味する。ウィンドウサイズで定められた個数分の通知を受けると、解析ウィンドウ生成手段４０３は、送信データバッファに記憶された各データに対して新たなウィンドウＩＤを割り当てることによって、それらの一つの解析ウィンドウと定め、ストリームデータ送信手段４０４にそのデータの集合（解析ウィンドウ）の送信命令を発行する。このとき、通知を受けた回数のカウント値を０に初期化する。
【００５０】
なお、タイムベースウィンドウの場合も、トプルベースウィンドウの場合も、データの集合の送信命令として、新たに定めた解析ウィンドウに属する各データを記憶するメモリ領域へのポインタの集合を発行する。
【００５１】
ストリームデータ送信手段４０４は、データの集合の送信命令（すなわち、送信対象のデータを記憶するメモリ領域へのポインタ）を解析ウィンドウ生成手段４０３から受け取ると、その各ポインタが示すメモリ領域に記憶されたデータを時系列データ解析手段５に送信する。ストリームデータ送信手段４０４は、データを送信すると、そのデータを送信データバッファ４０２から削除する。
【００５２】
時系列データ解析手段５は、データストリーム生成手段４から受信するデータを解析する。時系列データ解析手段５は、データストリーム生成手段４から受信したデータを記憶するための記憶手段（図示せず）を備え、受信したデータをその記憶手段に記憶させる。そして、時系列データ解析手段５は、同一のウィンドウＩＤが付加されているデータを読み込み、そのデータを対象にして解析を行う。また、読み込んだデータは、記憶手段から削除する。プローブカーのデータの解析を行う場合、時系列データ解析手段５は、例えば、プローブカーのデータを道路地図にマッチングさせて、プローブカーの平均速度から、どの位置で渋滞が生じているかを示す渋滞情報を生成する。この処理を、一定間隔（例えば、５分間隔）で行う。この場合、タイムベースウィンドウで解析を行うと定めておけばよい。時系列データ解析手段５が行う処理は、データ発生源１が発生させるデータや、解析目的に応じて決めておけばよく、特定の解析処理に限定されない。
【００５３】
図１１は、遅延制御手段４０５の構成例を示すブロック図である。遅延制御手段４０５は、一時バッファ４０５０１と、遅延計算手段４０５０２と、遅延記憶手段４０５０３と、転送タイミング制御手段４０５０４と、データ転送手段４０５０５とを備える。
【００５４】
一時バッファ４０５０１は、ストリームデータ生成手段４０１が切り出した個々のデータを記憶するメモリである。ストリームデータ生成手段４０１が、切り出したデータに受信時刻を追加したもの（図９参照）を一時バッファ４０５０１に記憶させる。また、一時バッファ４０５０１は、送信データバッファ４０２とは別に設けられる。一時バッファ４０５０１は、送信データバッファ４０２と同様のメモリであってもよい。ただし、一時バッファ４０５０１に記憶されるデータの並びの順序は、発生時刻順になっていなくてもよい。
【００５５】
遅延計算手段４０５０２は、一時バッファに記憶されている各データを参照して、時系列データ発生源毎に、データに含まれている日時（データ発生日時）と受信時刻との差（すなわち遅延）を計算する。例えば、遅延計算手段４０５０２は、一時バッファに記憶されているデータ群の中から車両ＩＤ毎に一つずつデータを抽出し、遅延を計算する。
【００５６】
遅延記憶手段４０５０３は、時系列データ発生源毎の遅延を記憶するメモリである。遅延計算手段４０５０２は、時系列データ発生源毎に遅延を計算すると、その遅延を時系列データ発生源の識別情報（例えば車両ＩＤ）と対応付けて遅延記憶手段４０５０３に記憶させる。遅延記憶手段４０５０３が時系列データ発生源の識別情報および遅延を記憶する態様は特に限定されない。例えば、配列として記憶しても、あるいは、ハッシュテーブルとして記憶してもよい。
【００５７】
転送タイミング制御手段４０５０４は、遅延記憶手段４０５０３に記憶された時系列データ発生源毎の遅延を参照して、遅延が最大となる時系列データ発生源を特定する。この時系列データ発生源を遅延最大データ発生源と記す。また、転送タイミング制御手段４０５０４は、一時バッファ４０５０１にデータが追加されたときに、そのデータが遅延最大データ発生源で生成されたデータであるか否かを判定し、遅延最大データ発生源で生成されたデータであるならば、そのデータ以前に生成されたデータを並べ替えることをデータ転送手段４０５０４に指示する。
【００５８】
データ転送手段４０５０５は、転送タイミング制御手段４０５０４からの指示に応じて、遅延最大データ発生源で生成され新たに一時バッファ４０５０１に追加されたデータ以前に生成されたデータを一時バッファ４０５０１から読み出し、発生時刻順に並べてストリームデータ生成手段４０１に転送する。換言すれば、ストリームデータ生成手段４０１に返す。
【００５９】
本実施形態において、データ受信手段３、データストリーム生成手段４のストリームデータ生成手段４０１、遅延制御手段４０５（遅延計算手段４０５０２、転送タイミング制御手段４０５０４、データ転送手段４０５０５）、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、解析前処理システムが解析前処理プログラムを記憶するプログラム記憶手段（図示略）を備え、ＣＰＵがそのプログラムを読み込み、そのプログラムに従って、データ受信手段３、データストリーム生成手段４のストリームデータ生成手段４０１、遅延制御手段４０５（遅延計算手段４０５０２、転送タイミング制御手段４０５０４、データ転送手段４０５０５）、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４として動作すればよい。また、これらの各手段が別々の専用回路によって実現されていてもよい。
【００６０】
また、時系列データ発生源１、データ送信手段２、時系列データ解析手段５も、例えば、プログラムに従って動作するＣＰＵによって実現される。
【００６１】
次に、動作について説明する。
図１２は、本発明の第１の実施形態の処理経過の例を示すフローチャートである。各時系列データ発生源１がデータを発生し、データ送信手段２が解析前処理システムにデータを送信する処理を時系列データ発生送信ステップ（ステップＳ１）と記す。また、データを受信した解析前処理システム（例えばサーバＰＣ）がデータを受信し、データを時系列順に並べ替えて送信データバッファ４０２に記憶させ、解析ウィンドウを生成する処理を、データストリーム生成ステップ（ステップＳ２）と記す。また、時系列データ解析手段５がデータを解析する処理を時系列データ受信解析ステップ（ステップＳ３）と記す。ステップＳ１，Ｓ２，Ｓ３は、互いに独立した処理であり、並行して実行される。すなわち、ステップＳ１，Ｓ２，Ｓ３は、非同期に実行される。
【００６２】
時系列データ発生送信ステップ（ステップＳ１）では、個々の時系列データ発生源１は、時間経過に伴って継続的にデータを発生させる（ステップＳ１０１）。個々の時系列データ発生源１は、発生させるデータに発生時刻（データ生成時刻）を含める。各時系列データ発生源１は、データをデータ送信手段２に送り、データ送信手段２は、データをまとめて送信するためにデータをバッファ（図示略）に記憶させる（ステップＳ１０２）。このバッファはデータ送信手段２側でデータをバッファリングするためのバッファである。また、データ送信手段２は、バッファに蓄積したデータを送信するタイミングになったか否かを判定する（ステップＳ１０３）。例えば、所定個数のデータが蓄積されたならば、データを送信すると判定し、蓄積されたデータが所定個数に達していなければデータを送信しないと判定してもよい。あるいは、前回のデータ送信から一定期間経過したならばデータを送信すると判定し、また一定期間経過していなければ送信しないと判定してもよい。データを送信するタイミングになったと判定した場合（ステップＳ１０３におけるＹｅｓ）、データ送信手段２は、データを結合して解析前処理システム７に送信し（ステップＳ１０４）、送信したデータをバッファから削除する（ステップＳ１０５）。データを送信するタイミングになっていない場合、ステップＳ１０１，Ｓ１０２を繰り返す。
【００６３】
なお、時系列データ発生源１とデータ送信手段２とが同一の装置において実現されている場合、ステップＳ１０１，Ｓ１０２，Ｓ１０３，Ｓ１０５の処理を時系列データ発生源１が実行してもよい。
【００６４】
データストリーム生成ステップ（ステップＳ２）では、データ受信手段３は、データ送信手段２が送信したデータを受信する（ステップＳ２０１）。このとき、データ受信手段３は、受信したデータのヘッダ１０６（図７参照）に受信時刻の情報を追加する。また、データ受信手段３も、バッファ（図示略）を備え、受信したデータを一旦バッファに記憶させる。そして、データの受信タイミングとは非同期に、バッファのデータをデータストリーム生成手段４に入力する。このため、ステップＳ２をステップＳ１とは非同期に行うことができる。
【００６５】
ストリームデータ生成手段４０１は、データ受信手段３から入力されたデータをフォーマット変換し、結合されたデータから一つ一つのデータを切り出す（ステップＳ２０２）。このとき、ストリームデータ生成手段４０１は、入力されたデータのヘッダに含まれている受信時刻の情報を、切り出したデータに付加する。この結果、図９に例示するように、受信時刻を含むデータが得られる。ストリームデータ生成手段４０１は、受信時刻を付加した各データを遅延制御手段４０５の一時バッファ４０５０１に記憶させる。
【００６６】
そして、遅延制御手段４０５は、遅延最大データ発生源で生成されたデータが新たに一時バッファ４０５０１に追加記憶されたか否かを判定し、追加記憶されている場合に、そのデータ以前の時刻に生成された各データを発生時刻順にストリームデータ生成手段４０１に返す処理（並べ替え制御処理）を実行する（ステップＳ２０３）。ステップＳ２０３の処理の詳細については後述する。
【００６７】
ストリームデータ生成手段４０１は、ステップＳ２０３で、発生時刻順に並べられたデータを遅延制御手段４０５から入力されると、その各データから受信時刻の情報を削除する。例えば、図９に例示する各データから受信時刻を削除して、図８に例示するデータに戻す。そして、ストリームデータ生成手段４０１は、その各データを発生時刻順に送信データバッファ４０２（図２参照）に記憶させる（ステップＳ２０４）。このとき、ストリームデータ生成手段４０１は、データを記憶させた各メモリ領域へのポインタを解析ウィンドウ生成手段４０３に通知する。
【００６８】
解析ウィンドウ生成手段４０３はポインタを通知されると、解析ウィンドウを生成する条件が満たされたか否かを判定する（ステップＳ２０５）。例えば、トプルベースウィンドウで解析を行うと指定されている場合では、ウィンドウサイズで定められた個数分の通知を受けたか否かを判定する。あるいは、タイムベースウィンドウで解析を行うと指定されている場合では、前回の解析ウィンドウ生成時以降、ウィンドウサイズで定められた期間が経過しているか否かを判定する。解析ウィンドウを生成する条件が満たされている場合（ステップＳ２０５のＹｅｓ）、解析ウィンドウに含める各データに対して、共通のウィンドウＩＤを追加し、解析ウィンドウの送信命令を発行する（ステップＳ２０６）。ストリームデータ送信手段４０４は、この送信命令に応じて、共通のウィンドウＩＤが割り当てられたデータ群（すなわち、解析ウィンドウ）を時系列データ解析手段５に送信する（ステップＳ２０７）。そして、ストリームデータ送信手段４０４は、ステップＳ２０７で送信したデータを送信データバッファ４０２から削除する（ステップＳ２０８）。
【００６９】
一つ一つのデータを切り出して解析ウィンドウとするまでの処理が解析の前処理に相当する。
【００７０】
時系列データ受信解析ステップ（ステップＳ３）では、時系列データ解析手段５は、ストリームデータ送信手段４０４が送信したデータ（解析ウィンドウ）を受信する（ステップＳ３０１）。時系列データ解析手段５は、解析用バッファ（図示略）を備え、ストリームデータ送信手段４０４が送信したデータを一旦解析用バッファに記憶させる。そして、時系列データ解析手段５は、データの受信タイミングとは非同期に解析用バッファに記憶したデータを解析する（ステップＳ３０２）。このため、ステップＳ２とステップＳ３も非同期に行うことができる。具体的には、ストリームデータ送信手段４０４が解析ウィンドウを送信する動作とは非同期にデータ解析を行うことができる。時系列データ解析手段５は、ステップＳ３０２での解析が終了したデータを時系列データ解析手段５のバッファから削除する（ステップＳ３０３）。
【００７１】
上記のステップＳ２０３（並べ替え制御処理）について説明する。図１３は、並べ替え制御の処理経過の例を示すフローチャートである。図１３に示す例では、まず、遅延計算手段４０５０２が、各時系列データ発生源１の遅延を計算済みであるか否かを判定する（ステップＳ５１）。各時系列データ発生源１の遅延を未だ計算していなければ（ステップＳ５１のＮｏ）、遅延計算手段４０５０２は、例えば、時系列データ発生源のＩＤ毎に、データを一つずつ一時バッファ４０５０１から読み込む。そして、そのデータに含まれる受信時刻から日時（発生日時）を減算することによって各時系列データ発生源１の遅延を計算し、計算した遅延を、そのデータの発生源のＩＤ（例えば車両ＩＤ）と対応付けて、遅延記憶手段４０５０３に記憶させる（ステップＳ５２）。ステップＳ５２の後、ステップＳ５３に移行する。一方、各時系列データ発生源１の遅延を計算済みであるならば（ステップＳ５１のＹｅｓ）、ステップ５３に移行する。
【００７２】
なお、ステップＳ５２に移行する場合、各時系列データ発生源１で生成されたデータが一時バッファ４０５０１に集められていなければ、各時系列データ発生源１で生成されたデータが揃うまで待機し、各時系列データ発生源１のデータが一時バッファ４０５０１に揃ってからステップＳ５２の処理を実行することが好ましい。例えば、全ての時系列データ発生源１のデータが揃うと見込まれる十分な時間を定めておき、その時間の経過後にステップＳ５２を実行してもよい。ただし、各時系列データ発生源１の遅延を計算することができれば、他のタイミングでステップＳ５２を実行してもよい。また、個々の時系列データ発生源１をまとめて計算するのではなく、別々のタイミングで計算してもよい。
【００７３】
また、図１３に示す例では、ステップＳ５２を最初に１回実行する例を示しているが、定期的にステップＳ５２を実行してもよい。すなわち、時系列データ発生源のＩＤ毎に受信時刻から日時（発生日時）を減算して遅延を計算する処理を一定の期間毎に行ってもよい。時系列データ発生源のＩＤ毎に定期的に遅延を計算する場合、時系列データ発生源のＩＤ毎に遅延を計算するタイミングがずれていてもよい。定期的に遅延を計算することにより、時間経過に伴って各時系列データ発生源の遅延が変化しても、その変化に合わせて、遅延記憶手段４０５０３に記憶させる遅延を更新できる。各時系列データ発生源の遅延が変化すると、遅延最大データ発生源が切り替わることがあるが、そのような場合でも、転送タイミング制御手段４０５０４は遅延最大データ発生源を認識できる。
【００７４】
ステップＳ５３おいて、遅延制御手段４０５は、一時バッファ４０５０１に記憶されたデータをストリームデータ生成手段４０１に返す制御を実行する（ステップＳ５３）。ステップＳ５３が、実質的に並べ替えを行う処理であり、ステップＳ５３の処理経過の例を図１４に示す。ステップＳ５３に移行すると、まず、転送タイミング制御手段４０５０４が、一時バッファ４０５０１に記憶されている各データを参照し、遅延最大データ発生源で生成されたデータが新たに一時バッファ４０５０１に追加されたか否かを判定する（ステップＳ５０１）。遅延最大データ発生源で生成されたデータが新たに一時バッファ４０５０１に追加されていない場合（ステップＳ５０１のＮｏ）、データを並べ替えてストリームデータ生成手段４０１に返す処理を行うことなく、ステップＳ５３の処理を終了する。
【００７５】
また、遅延最大データ発生源で生成されたデータが新たに一時バッファ４０５０１に追加されている場合（ステップＳ５０１のＹｅｓ）、転送タイミング制御手段４０５０４は、データを並べ替えてストリームデータ生成手段４０１に返すタイミングとなったと判定し、データ転送手段４０５０５にストリームデータ生成手段４０１へのデータ入力を指示する。すると、データ転送手段４０５０５は、遅延最大データ発生源で生成され新たに一時バッファ４０５０１に追加されたデータの発生日時を確認し、その発生日時以前に生成された各データを、一時バッファ４０５０１に記憶されているデータの中から選択する（ステップＳ５０２）。すなわち、遅延最大データ発生源で生成されたデータの発生日時以前の発生時刻を含んでいるデータを選択する。
【００７６】
次に、データ転送手段４０５０５は、選択したデータを発生時刻順に並べ替え（ステップＳ５０３）、並べ替えたデータをストリームデータ生成手段４０１に入力する（ステップＳ５０４）。続いて、データ転送手段４０５０５は、ステップＳ５０４でストリームデータ生成手段４０１に入力したデータを一時バッファ４０５０１から削除する（ステップＳ５０５）。
【００７７】
ストリームデータ生成手段４０１は、ステップＳ５０４において入力されたデータを、ステップＳ２０４（図１２参照）で発生時刻順に送信データバッファ４０２に記憶させる。
【００７８】
遅延最大データ発生源で発生したデータが一時バッファ４０５０１に追加されたときに、遅延制御手段４０５（図１１参照）が、そのデータ以前に発生していたデータを並べ替えてストリームデータ生成手段４０１に入力する具体例を以下に示す。以下に示す例では、３つの時系列データ発生源Ａ〜Ｃが発生するデータを時系列順に並べ替える場合を例にする。また、以下に示す図１５ないし図１８では、説明を簡単にするため、時刻を１，２，３，・・・という値で表し、各データを発生時刻順に（１），（２），（３）等と括弧付きの番号で表す。
【００７９】
図１５は、いつ、どの時系列データ発生源でどのデータが発生したかを示すタイムテーブルの例である。各時刻の列に図示した括弧付きの番号は、その時刻で発生したデータを示している。例えば、時刻１で、時系列データ発生源Ｃがデータ（１）を発生させたことを表している。同様に、時刻２で、時系列データ発生源Ｂがデータ（２）を発生させたことを表し、時刻３で、時系列データ発生源Ｃがデータ（３）を発生させたことを表している。他の時刻に関しても同様である。
【００８０】
また、図１６は、データ受信手段３がデータを受信し、そのデータがストリームデータ生成手段４０１に入力されたタイミングを示すタイムテーブルである。本例では、説明を簡単にするため、データ受信手段３がデータを受信してからストリームデータ生成手段４０１にそのデータが入力されるまでの間隔が短く、両者のタイミングをほぼ同時と見なせる場合を例にする。図１６では、例えば、時系列データ発生源Ｃで発生したデータ（１）が時刻３で一時バッファ４０５０１に記憶され、時系列データ発生源Ｃで発生したデータ（３）および時系列データ発生源Ａで発生したデータ（４）が時刻５で一時バッファ４０５０１に記憶されることを表している。また、例えば、時系列データ発生源Ｂで発生したデータ（２）が時刻６で一時バッファ４０５０１に記憶されることを表している。
【００８１】
また、本例では、時系列データ発生源Ａ，Ｂ，Ｃの遅延は、それぞれ１，４，２である。従って、例えば、時系列データ発生源Ａで時刻４に発生したデータ（４）は、時刻４に遅延１を加算した時刻５で一時バッファに記憶される。また、時系列データ発生源Ｂで時刻２に発生したデータ（２）は、時刻２に遅延４を加算した時刻６で一時バッファに記憶される。また、時系列データ発生源Ｃで時刻１に発生したデータ（１）は、時刻１に遅延２を加算した時刻３で一時バッファに記憶される（以上、図１５、図１６参照）。本例では、時系列データ発生源Ｂの遅延４が最大であるので、時系列データ発生源Ｂが遅延最大データ発生源に該当する。
【００８２】
従って、転送タイミング制御手段４０５０４は、時系列データ発生源Ｂで発生したデータ（２）が時刻６で一時バッファに追加されると、その時点で、データ転送手段４０５０５に対しストリームデータ生成手段４０１へのデータ入力を指示する。そして、データ転送手段４０５０５は、データ（２）以前に発生していたデータ（１），（２）を選択し、発生時刻順に並べてストリームデータ生成手段４０１に入力する。続いて、データ転送手段４０５０５は、そのデータ（１），（２）を一時バッファから削除する。図１７は、ストリームデータ生成手段４０１に入力されたデータ（１），（２）を除いたタイムテーブルである。
【００８３】
転送タイミング制御手段４０５０４は、時系列データ発生源Ｂで発生したデータ（５）が時刻９で一時バッファに追加されると、その時点で、データ転送手段４０５０５に対しストリームデータ生成手段４０１へのデータ入力を指示する。そして、データ転送手段４０５０５は、一時バッファに記憶されているデータの中から、データ（５）以前に発生していたデータ（３）〜（５）を選択し、発生時刻順に並べてストリームデータ生成手段４０１に入力する。続いて、データ転送手段４０５０５は、そのデータ（３）〜（５）を一時バッファから削除する。図１８は、ストリームデータ生成手段４０１に入力された（３）〜（５）を除いたタイムテーブルである。以降の動作も同様である。
【００８４】
本実施の形態によれば、上記のように、遅延最大データ発生源で発生したデータが一時バッファに追加記憶された時点で、データ転送手段４０５０５が、そのデータ以前に発生していたデータを一時バッファから選択し、発生時刻順に並べ替える。そして、その並べ替えられたデータが送信データバッファ４０２に記憶され、そのデータから解析ウィンドウを生成することができる。よって、各時系列データ発生手段で発生したデータを高速に、また、時系列順に時系列データ解析手段５に送ることができる。
【００８５】
遅延最大データ発生源で発生したデータが一時バッファに追加記憶されるタイミングを待たずに、一時バッファ４０５０１でのバッファリング時間を短くしてしまうと、データ転送手段４０５０５がストリームデータ生成手段４０１にデータを送った後に、そのデータ以前に発生したデータが一時バッファ４０５０１に到着してしまい、データ順序が乱れてしまう。また、一時バッファでのバッファリング時間を長くしすぎると、データが発生してから、そのデータを時系列データ解析手段５が解析するまでの時間間隔が大きくなってしまい、解析のリアルタイム性が損なわれる。本実施形態によれば、このようなデータ順序の乱れや、リアルタイム性の低下を防ぐことができる。
【００８６】
また、本実施形態によれば、各時系列データ発生源１が発生させたデータをデータ受信手段３が受信すると、ストリームデータ生成手段４０１が、そのデータをデータベースやファイルとしてではなく、メモリ（送信データバッファ４０２）に記憶させる。ＳＱＬでデータベースにアクセスする場合や、ファイルにアクセスする場合には、処理時間がかかってしまうが、本願発明では、メモリにデータを記憶させるので迅速にデータを時系列データ解析手段５に送ることができる。
【００８７】
実施形態２．
本発明の第２の実施形態の解析前処理システムも第１の実施形態と同様に、データ受信手段３とデータストリーム生成手段４とを備え（図１参照）、時系列データ発生源１が発生させたデータをデータ送信手段２から受信すると、データの前処理を行い、時系列データ解析手段５に送る。
【００８８】
図１９は、第２の実施形態におけるデータストリーム生成手段４の構成例を示す説明図である。本実施形態におけるデータストリーム生成手段４は、ストリームデータ生成手段４０１、遅延制御手段４０５、送信データバッファ４０２、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４に加え、フィルタリング手段４０７を備える。ストリームデータ生成手段４０１、遅延制御手段４０５、送信データバッファ４０２、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４は、第１の実施形態と同様である。
【００８９】
ただし、本実施形態では、遅延制御手段４０５は、遅延最大データ発生源からの新たなデータを検知して、そのデータ以前のデータを並べ替えると、そのデータをフィルタリング手段４０７に入力する。
【００９０】
フィルタリング手段４０７は、遅延制御手段４０５によって発生時間順に並べ替えられた一つ一つのデータに対してフィルタリング処理を行う。換言すれば、フィルタリング手段４０７は、発生時間順に並べ替えられた各データが所定の条件を満たしているか否かをデータ毎に判定し、所定の条件を満たしているデータを送信データバッファ４０２に記憶させ、所定の条件を満たしていないデータを破棄する。この所定の条件とは、データが解析に有用であることを示す条件である。なお、本実施形態では、図９に例示するようにデータに付加されている受信時刻の削除を、例えば、フィルタリング手段４０７が行うが、受信時刻を削除せずに、そのまま送信データバッファ４０２に記憶させてもよい。
【００９１】
所定の条件の例として、例えば、「既に送信バッファ４０２に記憶されているいずれのデータともデータの内容が異なる」という条件を用いてもよい。仮に、送信データバッファ４０２に既に記憶されているデータと同内容のデータを送信データバッファ４０２に記憶させたとする。この場合、ストリームデータ送信手段４０４は、同内容の複数のデータを時系列データ解析手段５に送信する。しかし、時系列データ解析手段５は解析を行うときに同内容のデータを複数個必要としない場合がある。
【００９２】
例えば、個々のプローブカーに設けられたセンサ（時系列データ発生源１）がプローブカーの位置、速度、車両ＩＤを含むデータ（図４参照）を一定時間間隔で発生させ、時系列データ解析手段５がそのデータに関する解析を行うものとする。この場合、停止しているプローブカーは、位置、速度、車両ＩＤが同内容となっているデータを繰り返し発生させる。一方、時系列データ解析手段５の解析処理では、あるプローブカーの状況（位置や速度）が変化したときに、その変化した内容を必要とし、内容が変化していないデータは参照する必要がないことがある。このような場合、位置、速度、車両ＩＤが同内容となっているデータは冗長なデータであり、解析には用いられない。具体例を挙げると、解析において各車両の平均速度を求める場合、停止している車両のデータは平均速度算出には不要であり、そのようなデータを複数個、時系列データ解析手段５に送る必要はない。
【００９３】
フィルタリング手段４０７は、「既に送信バッファ４０２に記憶されているいずれのデータともデータの内容が異なる」という条件を満たしているデータを送信データバッファ４０２に記憶させ、条件を満たしていないデータ（すなわち、既に送信データバッファ４０２に記憶済みのデータと同内容のデータ）を破棄する。この結果、冗長のデータを時系列解析手段５に送ることを防止できる。
【００９４】
以下、所定の条件として、「既に送信バッファ４０２に記憶されているいずれのデータともデータの内容が異なる」という条件を用いる場合を例にして説明する。この条件を第１の条件と記す。第１の条件は、データが解析に有用であることを示す所定の条件の一例であり、後述するように、他の条件を用いてもよい。
【００９５】
図２０は、フィルタリング手段４０７の構成例を示すブロック図である。フィルタリング手段４０７は、データ選別手段４０７０１と同一性判定手段４０７０２とを備える。
【００９６】
同一性判定手段４０７０２は、遅延制御手段４０５から入力される各データと、送信データバッファ４０２に既に記憶されている各データとの間で、データ同士の内容が同一となっているか否かを判定する。遅延制御手段４０５から入力される個々のデータは、フィルタリングの判定対象となるデータであり、以下、フィルタリング判定対象データと記す。
【００９７】
本例では、データの内容が同一であるというために、時系列データ発生源１が同一であることは必須であるものとする。例えば、図４に例示するプローブカーに関するデータの場合、車両ＩＤが同一であることは必須である。車両ＩＤが異なっているデータ同士は、たとえ、緯度、経度、速度が一致していても同一内容のデータではない。また、時系列データ発生源１が同一であることをデータ同一の必須条件とする場合、時間の経過に伴って発生する各データ間では日時は異なる。従って、内容が同一か否かを判定する場合、日時が同一であるか否かは無視してよい。データに含まれる項目の中に、日時のように、同一であるか否かを無視してよい項目があってもよい。
【００９８】
また、データ中の誤差を含む項目（例えば、図４に例示する緯度、経度、速度）に関しては、完全に一致している必要はない。この場合、同一性判定手段４０７０２は、送信データバッファ４０２に記憶されているデータに含まれる値と、フィルタリング判定対象データに含まれている値との差を計算し、その差が予め定められた範囲内であるか否かを判定すればよい。例えば、速度に関しては、送信データバッファ４０２に記憶されているデータ中の速度と、フィルタリング判定対象データ中の速度との差を計算し、その差が−５〜＋５の範囲内であれば、速度が同一と判定する。本例で示した−５，＋５の単位は「ｋｍ／ｈ」である。緯度や経度に関しても、データ間の値の差が、予め定められた範囲内に収まっているか否かを判定して、収まっていれば同内容と判定すればよい。
【００９９】
このように、同一性判定手段４０７０２は、フィルタリング判定対象データと、送信データバッファ４０２に記憶されたデータとの間で、時系列データ発生源１のＩＤ（例えば車両ＩＤ）が合致し、他の項目（例えば、緯度、経度、速度）の内容も同内容であると判定した場合に、データが同内容であると判定すればよい。また、時系列データ発生源１のＩＤが一致しなかったり、あるいは、他のいずれかの項目（例えば、緯度、経度、速度のいずれか）に同内容でないと判定した項目があったりした場合に、データが同内容でないと判定すればよい。
【０１００】
データ選別手段４０７０１は、フィルタリング判定対象データ毎に、フィルタリング判定対象データの内容が、送信データバッファ４０２中のいずれのデータとも同内容でないと判定されたか否かを確認する。そして、データ選別手段４０７０１は、その確認結果に応じて、フィルタリング判定対象データを送信データバッファ４０２に記憶させるか、あるいは、破棄する。
【０１０１】
フィルタリング判定対象データの内容が、送信データバッファ４０２中のいずれのデータとも同内容でないと判定された場合、そのフィルタリング対象データは上記の第１の条件を満たしていることになる。この場合、データ選別手段４０７０１は、フィルタリング判定対象データを送信データバッファ４０２に記憶させる。
【０１０２】
一方、フィルタリング判定対象データの内容が送信データバッファ４０２中のいずれかのデータと同内容であると判定された場合、そのフィルタリング対象データは上記の第１の条件を満たしていないことになる。この場合、データ選別手段４０７０１は、フィルタリング判定対象データを破棄する。
【０１０３】
フィルタリング手段４０７（データ選別手段４０７０１、同一性判定手段４０７０２）は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵが、解析前処理プログラムに従って、フィルタリング手段４０７（データ選別手段４０７０１、同一性判定手段４０７０２）や、他の各手段として動作すればよい。また、データ選別手段４０７０１、同一性判定手段４０７０２がそれぞれ別々の専用回路によって実現されていてもよい。
【０１０４】
図２１は、第２の実施形態の処理経過の例を示す説明図である。第１の実施形態と同様の処理については図１２と同一の符号を付し、説明を省略する。時系列データ発生送信ステップ（ステップＳ１）および時系列データ受信解析ステップ（ステップＳ３）は、第１の実施形態と同様である。
【０１０５】
データストリーム生成ステップ（ステップＳ２）に関しては、遅延制御手段４０５がステップＳ２０３でデータを並べ替えると、フィルタリング手段４０７が並べ替えられた各データに対するフィルタリング処理（ステップＳ２０９）を行い、一つ一つのデータを送信データバッファ４０２に記憶させるか、あるいは破棄する。その他の点に関しては、第１の実施形態と同様である。
【０１０６】
図２２は、フィルタリング処理（ステップＳ２０９）の処理経過の例を示すフローチャートである。遅延制御手段４０５は、遅延最大データ発生源からの新たなデータを検知したときにそのデータ以前のデータを並べ替えると（ステップＳ２０３、図２１参照）、そのデータをフィルタリング手段４０７に入力する。この個々のデータはフィルタリング判定対象データである。
【０１０７】
同一性判定手段４０７０２は、フィルタリング判定対象データが入力されると、フィルタリング判定対象データ毎に、送信データバッファ４０２に記憶された個々のデータとの間で、同内容であるか否かを判定する（ステップＳ７０１）。
【０１０８】
データ選別手段４０７０１は、送信データバッファ４０２中のいずれのデータとも同内容でないと判定されたフィルタリング判定対象データを、送信データバッファ４０２に記憶させる（ステップＳ７０２）。なお、このとき、データ選別手段４０７０１は、フィルタリング判定対象データに付加されている受信時刻（図９参照）を削除してから、フィルタリング判定対象データを送信データバッファ４０２に記憶させる。また、データ選別手段４０７０１は、送信データバッファ４０２中のいずれかのデータと同内容であると判定されたフィルタリング判定対象データを破棄する（ステップＳ７０２）。ステップＳ７０２の処理を実行することで、データが選別される。
【０１０９】
また、データ選別手段４０７０１は、ステップＳ７０２でデータを送信データバッファ４０２に記憶させたときに、そのデータを記憶させたメモリ領域へのポインタを解析ウィンドウ生成手段４０３に通知する。データ選別手段４０７０１は、この通知を、ストリームデータ生成手段４０１を介して行ってもよい。
【０１１０】
本実施形態によれば、第１の実施形態と同様の効果が得られる。さらに、本実施形態では、解析で用いない冗長なデータをフィルタリング手段４０７が破棄するので、冗長なデータを送信データバッファ４０２に記憶させることを防止できる。
【０１１１】
上記の第２の実施形態では、フィルタリング処理で用いる所定の条件として、「既に送信バッファ４０２に記憶されているいずれのデータともデータの内容が異なる」という条件（第１の条件）を用いる場合を説明した。第２の実施形態の変形例として、他の条件を用いる場合について説明する。第２の実施形態の変形例では、フィルタリング手段４０７の動作が異なるが、他の各手段は上記の第２の実施形態と同様である。
【０１１２】
本変形例では、フィルタリング処理で用いる所定の条件として、「データの内容が予め定められた基準を満たしている」という条件を用いる。この条件を、第２の条件と記す。例えば、データに含まれる内容に誤差が含まれることがあるが、誤差を含むデータであっても、基準を満たすデータであれば、解析に有効に用いることができる。このように解析に用いることができる有効なデータを判別するための基準を予め定めておき、フィルタリング手段４０７は、フィルタリング判定対象データの内容がこの基準を満たしているか否かを判定し、満たしていないデータを破棄する。
【０１１３】
個々のプローブカーに設けられたセンサ（時系列データ発生源１）が発生させるデータを例に説明すると、データは位置、速度、方向等を含むことが多い。ただし、これらの値は誤差を含む。特に位置（例えば、緯度、経度）は、ＧＰＳ（Global Positioning System）によって取得することが一般的であり、建物等の影響を受けると位置の計算に大きな誤差を含むことがある。そのような大きな誤差を含むデータは解析に利用できないので、フィルタリング手段４０７が排除する。
【０１１４】
図２３は、本変形例におけるフィルタリング手段４０７の構成例を示すブロック図である。本変形例におけるフィルタリング手段４０７は、有効データ定義手段４０７１３と、有効性判定手段４０７１２と、データ選別手段４０７１１とを備える。
【０１１５】
有効データ定義手段４０７１３は、有効に用いることができるデータの内容の基準を記憶する記憶装置である。図２４は、有効データ定義手段４０７１３が記憶する基準の例を示す説明図である。図２４に例示する基準は、図４に例示するデータに対応し、日時、車両ＩＤ、緯度、経度、速度が満たすべき基準を示している。図４に示す「最小」、「最大」は、これらの項目の値の範囲を規定する。データに含まれる項目の値が、「最小」から「最大」までの範囲に含まれていれば、その項目の値は有効である。例えば、図２４に示す例において、日時に関しては、「現在時刻から１日前」〜「現在時刻」までの範囲に含まれていれば有効である。同様に、車両ＩＤに関しては、「ＣＩＤ０００１」〜「ＣＩＤ９９９９」の範囲に含まれていれば有効である。このように、項目の値が文字列と数値の組み合わせである場合、その数値の範囲を規定してもよい。緯度に関しては、３４．０００〜３６．０００の範囲に含まれていれば有効である。経度に関しては、１３４．０００〜１３６．０００の範囲に含まれていれば有効である。速度に関しては、０〜１２０の範囲に含まれていれば有効である。本例では、「最小」、「最大」を定めているが、いずれか一方のみを定めていてもよい。
【０１１６】
図２４に示す「差分」は、直前のデータ（時系列データ発生源が同一の直前のデータ）との関係を規定する基準である。例えば、図２４に示す例において、日時に関しては、車両ＩＤが同一の直前のデータとの日時の差分が１時間以内であれば有効である。車両ＩＤに関しては、「差分」は規定されない。緯度に関しては、車両ＩＤが同一の直前のデータとの緯度の差分が０．０１以下であれば有効である。経度に関しては、車両ＩＤが同一の直前のデータとの経度の差分が０．０１以下であれば有効である。速度に関しては、車両ＩＤが同一の直前のデータとの速度の差分が１２０以下であれば有効である。
【０１１７】
「最小」、「最大」が規定する基準は、データに含まれる項目が満たすべき絶対的な基準である。「差分」は、データに含まれる項目が他のデータとの関係において満たすべき相対的な基準である。図２４に示す例では、絶対的な基準（最小、最大）と、相対的な基準（差分）とを定めているが、いずれか一方のみを定めていてもよい。
【０１１８】
有効性判定手段４０７１２は、遅延制御手段４０５からフィルタリング判定対象データが入力されると、そのフィルタリング判定対象データ中の各項目が、有効データ定義手段４０７１３に記憶されている各基準を満足しているか否かを判定する。例えば、図２４に例示する基準が記憶されているとする。有効性判定手段４０７１２は、フィルタリング判定対象データ中の日時、車両ＩＤ、緯度、経度、速度がそれぞれ最小値から最大値までの範囲に属しているか否かを判定する。また、日時、緯度、経度、速度それぞれに関し、直前のフィルタリング判定対象データにおける値との差を計算し、その計算結果が「差分」として規定された基準を満たしているか否かを判定する。
【０１１９】
有効性判定手段４０７１２は、相対的な基準について判定するため、あるフィルタリング判定対象データについて、有効性の判定を行ったならば、そのフィルタリング判定対象データを、同じ時系列データ発生源で発生した次のフィルタリング判定対象データが入力されるまで記憶しておく。あるいは、送信データバッファ４０２に記憶されている直前のデータを参照して相対的な基準について判定してもよい。
【０１２０】
データ選別手段４０７１１は、フィルタリング判定対象データ毎に、有効性判定手段４０７１２による判定結果を確認する。そして、データ選別手段４０７１１は、その確認結果に応じて、フィルタリング判定対象データを送信データバッファ４０２に記憶させるか、あるいは、破棄する。
【０１２１】
フィルタリング判定対象データの各項目について有効データ定義手段４０７１３に規定されている基準を満たしていると判定された場合、そのフィルタリング対象データは上記の第２の条件を満たしていることになる。この場合、データ選別手段４０７１１は、フィルタリング判定対象データを送信データバッファ４０２に記憶させる。
【０１２２】
一方、フィルタリング判定対象データの各項目の中に、有効データ定義手段４０７１３に規定されている基準を満たしていないと判定された場合、そのフィルタリング対象データは上記の第２の条件を満たしていないことになる。この場合、データ選別手段４０７１１は、フィルタリング判定対象データを破棄する。例えば、いずれかの項目について、絶対的な基準あるいは相対的な基準を満たしていないと判定されたならば、データ選別手段４０７１１は、そのフィルタリング判定対象データを破棄する。
【０１２３】
本変形例のフィルタリング手段４０７のデータ選別手段４０７１１、有効性判定手段４０７１２は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵが、解析前処理プログラムに従って、データ選別手段４０７１１、有効性判定手段４０７１２や、他の各手段として動作すればよい。また、データ選別手段４０７１１、同一性判定手段４０７１２がそれぞれ別々の専用回路によって実現されていてもよい。
【０１２４】
本変形例の処理経過は、第２の実施形態と同様である（図２１参照）。ただし、フィルタリング処理（ステップＳ２０９）における処理が異なる。図２５は、本変形例におけるフィルタリング処理の処理経過の例を示すフローチャートである。有効性判定手段４０７１２は、遅延制御手段４０５からフィルタリング判定対象データを入力されると、フィルタリング判定対象データ内の各項目が絶対的な基準を満足しているか否かを判定する（ステップＳ７１１）。例えば、図２４に例示する基準が定められている場合、日時、車両ＩＤ、緯度、経度、速度に関して、それぞれ最小値から最大値までの範囲内に含まれているか否かを判定する。全ての項目に関して絶対的な基準を満足していると判定した場合（ステップＳ７１２のＹｅｓ）、有効性判定手段４０７１２は、フィルタリング判定対象データ内の各項目が相対的な基準を満足しているか否かを判定する（ステップＳ７１３）。例えば、時、緯度、経度、速度に関して、車両ＩＤが同一の直前のフィルタリング判定対象データとの差を計算し、その差が、定められた基準（図２４に例示する「差分」）を満たしているか否かを判定する。
【０１２５】
データ選別手段４０７１１は、絶対的基準に関する判定結果、および相対的基準に関する判定結果を確認する。そして、絶対的基準に関する判定（ステップＳ７１１）または相対的基準に関する判定（ステップＳ７１３）において、いずれかの項目が基準を満たしていないと判定されている場合（ステップＳ７１２のＮｏ、あるいはステップＳ７１４のＮｏ）、データ選別手段４０７１１は、そのフィルタリング判定対象データを破棄する（ステップＳ７１６）。また、絶対的基準に関する判定（ステップＳ７１１）および相対的基準に関する判定（ステップＳ７１３）において、各項目が基準を満足していると判定されている場合（ステップＳ７１４のＹｅｓ）、データ選別手段４０７１１は、フィルタリング判定対象データから受信時刻（図９参照）を削除し、そのフィルタリング判定対象データを送信データバッファ４０２に記憶させる（ステップＳ７１５）。データ選別手段４０７１１は、ステップＳ７１５でデータを送信データバッファ４０２に記憶させたときに、そのデータを記憶させたメモリ領域へのポインタを解析ウィンドウ生成手段４０３に通知する。データ選別手段４０７１１は、この通知を、ストリームデータ生成手段４０１を介して行ってもよい。
【０１２６】
フィルタリング処理の後のステップＳ２０５（図２１参照）以降の動作は、第２の実施形態と同様である。本変形例によれば、解析に有用でないデータを除外して、解析に有用な情報を時系列データ解析手段５に送ることができる。
【０１２７】
次に、第２の実施形態の他の変形例として、「既に遅延制御手段４０５から入力されたいずれかのデータの複製ではない」という条件をフィルタリング処理で用いる場合の変形例を示す。この条件を第３の条件と記す。
【０１２８】
時系列データ発生源１がデータを発生させ、データ受信手段３がデータを受信するまでの過程で、時系列データ発生源１の複製が生じて、データ受信手段３が同一のデータを複数受信することがある。例えば、複数のデータ送信手段２が同一の時系列データ発生源１から同一データを受信し、その複数のデータ送信手段２がそのデータを解析前処理システムに送信した場合、このようなことが生じる。図２６は、この状況の具体例を示す説明図である。時系列データ発生源１がプローブカーに設けられたセンサであり、データ送信手段２ａ，２ｂが、時系列データ発生源１とデータ受信手段３との間でデータを中継する基地局であるとする。基地局は、エリア毎に設けられるが、対応するエリア同士が一部重なるように配置される。基地局に対応するエリア同士が重なっている部分にプローブカーが存在し、その位置からデータを無線発信すると、その各エリアに対応する基地局２ａ，２ｂがそれぞれ同一のデータを受信する。基地局２ａ，２ｂはいずれも受信したデータを解析前処理システムに送信するので、データ受信手段３は、同一のデータを複数受信することになる。このように複製されたデータは、時系列データ解析手段５での解析においては不要であり、フィルタリング手段４０７が排除する。
【０１２９】
図２７は、第３の条件を用いる場合のフィルタリング手段４０７の構成例を示すブロック図である。この変形例におけるフィルタリング手段４０７は、処理済みデータ記憶手段４０７２３と、有効性判定手段４０７２２と、データ選別手段４０７２１とを備える。
【０１３０】
処理済みデータ記憶手段４０７２３は、遅延制御手段４０５から入力された各データを識別するためのデータ識別情報を記憶する記憶装置である。図２８は、処理済みデータ記憶手段４０７２３が記憶するデータ識別情報の例を示す。データの発生源および発生時刻が同一であるデータが２個以上存在する場合、２個目以降のデータは複製である。従って、図２８に示すように、日時と、時系列データ発生源のＩＤ（例えば車両ＩＤ）との組み合わせを、データ識別情報とすればよい。図２８の第１レコードは、プローブカー「ＣＩＤ０００１」で日時「2008/7/20 12:00:00」に生成されたデータは、既に受信済みであることを意味する。
【０１３１】
有効性判定手段４０７２２は、遅延制御手段４０５からフィルタリング判定対象データを入力されると、処理済みデータ記憶手段４０７２３に記憶されたデータ識別情報を参照して、そのフィルタリング判定対象データが未だ入力されていなかったデータであるか否かを判定する。フィルタリング判定対象データが未だ入力されていなかったデータであるならば、有効性判定手段４０７２２は、そのフィルタリング判定対象データのデータ識別情報（例えば、日時と車両ＩＤの組）を処理済みデータ記憶手段４０７２３に記憶させる。
【０１３２】
データ選別手段４０７２１は、フィルタリング判定対象データ毎に、有効性判定手段４０７２２による判定結果を確認する。そして、データ選別手段４０７２１は、その確認結果に応じて、フィルタリング判定対象データを送信データバッファ４０２に記憶させるか、あるいは、破棄する。
【０１３３】
フィルタリング判定対象データが未だ入力されていなかったデータであると判定されたということは、そのフィルタリング判定対象データが初めて入力されたということであり、第３の条件を満たしていることになる。この場合、データ選別手段４０７２１は、フィルタリング判定対象データを送信データバッファ４０２に記憶させる。
【０１３４】
一方、フィルタリング判定対象データが既に入力済みのデータであると判定されたということは、第３の条件を満たしていないことになる。この場合、データ選別手段４０７２１は、フィルタリング判定対象データを破棄する。
【０１３５】
本変形例のフィルタリング手段４０７のデータ選別手段４０７２１、有効性判定手段４０７２２は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵが、解析前処理プログラムに従って、データ選別手段４０７２１、有効性判定手段４０７２２や、他の各手段として動作すればよい。また、データ選別手段４０７２１、有効性判定手段４０７２２がそれぞれ別々の専用回路によって実現されていてもよい。
【０１３６】
本変形例の処理経過は、第２の実施形態と同様である（図２１参照）。ただし、フィルタリング処理（ステップＳ２０９）における処理が異なる。図２９は、本変形例におけるフィルタリング処理の処理経過の例を示すフローチャートである。
【０１３７】
有効性判定手段４０７２２は、遅延制御手段４０５からフィルタリング判定対象データを入力されると、そのフィルタリング判定対象データが未だ入力されていなかったデータであるか否かを判定する（ステップＳ７２１）。具体的には、入力されたフィルタリング判定対象データのデータ識別情報（例えば、日時と車両ＩＤの組）が、既に処理済みデータ記憶手段４０７２３に記憶されているかどうかを判定する（ステップＳ７２２）。データ識別情報が記憶されていなければ（ステップＳ７２２のＮｏ）、そのフィルタリング判定対象データは、未だ入力されていなかったデータ（初めて入力されたデータ）である。一方、データ識別情報が記憶されていれば（ステップＳ７２２のＹｅｓ）、そのフィルタリング判定対象データは、すでに入力されている。
【０１３８】
フィルタリング判定対象データが初めて入力されたデータであるならば（ステップＳ７２２のＮｏ）、有効性判定手段４０７２２は、そのフィルタリング判定対象データのデータ識別情報を処理済みデータ記憶手段４０７２３に追加記憶させる（ステップＳ７２３）。
【０１３９】
データ選別手段４０７２１は、有効性判定手段４０７２２の判定結果を確認する。そして、入力されたフィルタリング判定対象データが入力済みであったならば（ステップＳ７２２のＹｅｓ）、データ選別手段４０７２１は、そのフィルタリング判定対象データを破棄する（ステップＳ７２５）。また、入力されたフィルタリング判定対象データが初めて入力されたデータであるならば（ステップＳ７２２のＮｏ）、データ選別手段４０７２１は、そのフィルタリング判定対象データから受信時刻（図９参照）を削除し、そのフィルタリング判定対象データを送信データバッファ４０２に記憶させる（ステップＳ７２４）。データ選別手段４０７２１は、ステップＳ７２４でデータを送信データバッファ４０２に記憶させたときに、そのデータを記憶させたメモリ領域へのポインタを解析ウィンドウ生成手段４０３に通知する。データ選別手段４０７１１は、この通知を、ストリームデータ生成手段４０１を介して行ってもよい。
【０１４０】
フィルタリング処理の後のステップＳ２０５（図２１参照）以降の動作は、第２の実施形態と同様である。本変形例によれば、データが複製されていても、複製された冗長なデータを時系列データ解析手段５に送らないようにすることができる。
【０１４１】
また、フィルタリング手段４０７は、前述の第１から第３の条件のうち、複数の条件を組み合わせ、その複数の条件を満たしているデータのみを送信データバッファ４０２に記憶させ、他のデータを破棄する構成であってもよい。例えば、第１と第２の条件を満たしているデータのみを送信データバッファ４０２に記憶させ、他のデータを破棄する構成であってもよい。条件の組み合わせ方は特に限定されない。
【０１４２】
図２３や図２７に示した各変形例においても、第２の実施形態と同様の効果を得ることができる。
【０１４３】
また、時系列順にデータを並べ替えていることが解析で要求されない場合に適用される実施形態も考えられ、以下、この実施形態を説明する。本実施形態の解析前処理システムは、図１に示す第１の実施形態と同様に、データ受信手段３とデータストリーム生成手段４とを備える。図３０は、データの並べ替えを行わない実施形態におけるデータストリーム生成手段４の構成例を示すブロック図である。この実施形態において、データストリーム生成手段４は、ストリームデータ生成手段４０１と、送信データバッファ４０２と、解析ウィンドウ生成手段４０３と、ストリームデータ送信手段４０４とを備える。これらの各手段は、第１の実施形態と同様である。ただし、遅延制御手段４０５は設けられておらず、ストリームデータ生成手段４０１は、切り出したデータを全て送信データバッファ４０２に記憶させる。また、ストリームデータ生成手段４０１は、データを送信データバッファ４０２に記憶させた場合、その旨の通知として、例えば、記憶させたメモリ領域へのポインタを解析ウィンドウ生成手段４０３に通知する。なお、図３０に示す実施形態では、遅延最大データ発生源を特定する必要がないので、ストリームデータ生成手段４０１は、切り出したデータに受信時刻の情報を付加しなくてよい。
【０１４４】
図３０に示す構成の場合、データストリーム生成ステップ（ステップＳ２、図１２参照）において、ステップＳ２０３（並べ替え制御）が行われないが、他の点に関しては、第１の実施形態と同様である。
【０１４５】
図３０に示す構成としても、データをデータベースやファイルとして記憶させておく場合よりも、迅速にデータを時系列データ解析手段５に送ることができる。
【０１４６】
次に、本発明の最小構成を説明する。図３１は、本発明の最小構成を示す説明図である。本発明の解析前処理システムは、データ取得手段７１と、データ切り出し手段７２と、並べ替え制御手段７３と、データ記憶バッファ７４と、解析用データ決定手段７５と、解析用データ出力手段７６とを備える。
【０１４７】
データ取得手段７１（例えばデータ受信手段３）は、複数のデータ発生源で生成されたデータ群を取得する。
【０１４８】
データ切り出し手段７２（例えばストリームデータ生成手段４０１）は、データ取得手段７１が取得したデータ群から個々のデータを切り出す。
【０１４９】
並べ替え制御手段７３（例えば遅延制御手段４０５）は、データ切り出し手段７２が切り出したデータを保持し、データ生成からデータがデータ取得手段７１に取得されるまでの時間が最大となるデータ発生源である遅延最大データ発生源からのデータを検知したときに、そのデータ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替える。
【０１５０】
データ記憶バッファ７４（例えば送信データバッファ４０２）は、発生時刻順に並べ替えられたデータを記憶する。
【０１５１】
解析用データ決定手段（例えば解析ウィンドウ生成手段４０３）は、データ記憶バッファ７４に記憶されたデータの中から、解析に用いられるデータの集合である解析データ群（例えば解析ウィンドウ）を定める。
【０１５２】
解析用データ出力手段７６（例えばストリームデータ送信手段４０４）は、データを解析するデータ解析手段（例えば時系列データ解析手段５）に解析データ群を送る。
【０１５３】
そのような構成により、多数のデータ発生源から大量のデータを受信する場合に、それらのデータを高速に、データを解析する手段に対して発生時刻順に渡すことができる。
【０１５４】
また、上記の実施形態には、データ取得手段７１が、取得したデータ群にデータを取得した取得時刻の情報を付加し、並べ替え制御手段７３が、データ切り出し手段７２が切り出したデータを一時的に保持するための一時バッファ（例えば一時バッファ４０５０１）と、データに含まれているデータ発生時刻と取得時刻との差である遅延を計算する遅延計算手段（例えば遅延計算手段４０５０２）と、遅延が最大となるデータ発生源を遅延最大データ発生源として特定し、一時バッファに遅延最大データ発生源で生成されたデータが追加されたときに、そのデータの追加を検知する検知手段（例えば転送タイミング制御手段４０５０４）と、一時バッファへの遅延最大データ発生源で生成されたデータの追加が検知されると、そのデータ以前に発生したデータを一時バッファから選択し、選択したデータを発生時刻順に並べ替える並べ替え手段（例えばデータ転送手段４０５０５）とを有する構成が開示されている。そのような構成によれば、遅延最大データ発生源を特定することができる。
【０１５５】
また、上記の実施形態には、遅延計算手段が、各データ発生源の遅延を定期的に計算する構成が開示されている。そのような構成によれば、時間の経過により、各データ発生源の遅延が変化して遅延最大データ発生源が入れ替わっても、遅延最大データ発生源を特定することができる。
【０１５６】
また、上記の実施形態には、発生時刻順に並べ替えられたデータ毎に、所定の条件を満たしているか否かを判定し、所定の条件を満たしているデータをデータ記憶バッファ７４に記憶させ、所定の条件を満たしていないデータを破棄するフィルタリング手段（例えばフィルタリング手段４０７）を備える構成が開示されている。そのような構成によれば、冗長なデータをデータ解析手段に送らないようにすることができる。
【０１５７】
また、上記の実施形態には、フィルタリング手段が、発生時刻順に並べ替えられたデータ毎に、既にデータ記憶バッファ７４に記憶されているいずれのデータともデータの内容が異なるという条件を満たしているか否かを判定する内容一致不一致判定手段（例えば同一性判定手段４０７０２）と、条件を満たしていないデータを破棄し、条件を満たすデータをデータ記憶バッファ７４に記憶させるデータ選別手段とを有する構成が開示されている。
【０１５８】
また、上記の実施形態には、フィルタリング手段が、データに含まれる内容が有効であることを示す基準を記憶する基準記憶手段（例えば有効データ定義手段４０７１３）と、発生時刻順に並べ替えられたデータ毎に、データの内容が基準を満たしているか否かを判定する基準判定手段（例えば有効性判定手段４０７１２）と、データの内容が基準を満たしていないデータを破棄し、基準を満たしているデータをデータ記憶バッファ７４に記憶させるデータ選別手段（例えばデータ選別手段４０７１１）とを有する構成が開示されている。
【０１５９】
また、上記の実施形態には、フィルタリング手段が、発生時刻順に並べ替えられた各データのデータ識別情報を記憶するデータ識別情報記憶手段（例えば処理済みデータ記憶手段４０７２３）と、並べ替え制御手段７３がデータを選択して並べ替えたときにそのデータのデータ識別情報がデータ識別情報記憶手段に記憶されているか否かを判定し、記憶されていないときにはそのデータのデータ識別情報をデータ識別情報記憶手段に記憶させる重複判定手段（例えば有効性判定手段４０７２２）と、データ識別情報がデータ識別情報記憶手段に記憶されていたと判定されたデータを破棄し、データ識別情報がデータ識別情報記憶手段に記憶されていなかったと判定されたデータをデータ記憶バッファ７４に記憶させるデータ選別手段（例えばデータ選別手段４０７２１）とを有する構成が開示されている。
【０１６０】
また、上記の実施形態には、解析用データ決定手段７５が、一定期間毎に、一定期間内にデータ記憶バッファ７４に記憶されたデータの集合を解析データ群として定める構成が開示されている。
【０１６１】
また、上記の実施形態には、解析用データ決定手段７５が、データ記憶バッファ７４に記憶されたデータ数が所定個に達する毎に、所定個のデータの集合を解析データ群として定める構成が開示されている。
【０１６２】
また、上記の実施形態には、解析用データ出力手段７６が、データ解析手段に送った解析データ群に属する各データをデータ記憶バッファ７４から削除する構成が開示されている。
【０１６３】
また、上記の実施形態には、データを解析するデータ解析手段を備え、データ解析手段が、解析用データ出力手段７６が出力した解析データ群を保持し、解析を終えた解析データ群を削除することで解析用データ出力手段７６とは非同期に解析を行う構成が開示されている。
【０１６４】
なお、上記の実施の形態では、以下の（１）〜（１２）に示すような解析前処理システムの特徴的構成が示されている。
【０１６５】
（１）複数のデータ発生源で生成されたデータ群を取得するデータ取得部と、データ取得部が取得したデータ群から個々のデータを切り出すデータ切り出し部と、データ切り出し部が切り出したデータを保持し、データ生成からデータがデータ取得部に取得されるまでの時間が最大となるデータ発生源である遅延最大データ発生源からのデータを検知したときに、当該データ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替える並べ替え制御部と、発生時刻順に並べ替えられたデータを記憶するデータ記憶バッファと、データ記憶バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める解析用データ決定部と、データを解析するデータ解析部に解析データ群を送る解析用データ出力部とを備えることを特徴とする解析前処理システム。
【０１６６】
（２）データ取得部が、取得したデータ群にデータを取得した取得時刻の情報を付加し、並べ替え制御部が、データ切り出し部が切り出したデータを一時的に保持するための一時バッファと、データに含まれているデータ発生時刻と取得時刻との差である遅延を計算する遅延計算部と、遅延が最大となるデータ発生源を遅延最大データ発生源として特定し、一時バッファに遅延最大データ発生源で生成されたデータが追加されたときに、当該データの追加を検知する検知部と、一時バッファへの遅延最大データ発生源で生成されたデータの追加が検知されると、当該データ以前に発生したデータを一時バッファから選択し、選択したデータを発生時刻順に並べ替える並べ替え部とを有する解析前処理システム。
【０１６７】
（３）遅延計算部が、各データ発生源の遅延を定期的に計算する解析前処理システム。
【０１６８】
（４）発生時刻順に並べ替えられたデータ毎に、所定の条件を満たしているか否かを判定し、所定の条件を満たしているデータをデータ記憶バッファに記憶させ、所定の条件を満たしていないデータを破棄するフィルタリング部を備える解析前処理システム。
【０１６９】
（５）フィルタリング部が、発生時刻順に並べ替えられたデータ毎に、既にデータ記憶バッファに記憶されているいずれのデータともデータの内容が異なるという条件を満たしているか否かを判定する内容一致不一致判定部と、条件を満たしていないデータを破棄し、条件を満たすデータをデータ記憶バッファに記憶させるデータ選別部とを有する解析前処理システム。
【０１７０】
（６）フィルタリング部が、データに含まれる内容が有効であることを示す基準を記憶する基準記憶部と、発生時刻順に並べ替えられたデータ毎に、データの内容が基準を満たしているか否かを判定する基準判定部と、データの内容が基準を満たしていないデータを破棄し、基準を満たしているデータをデータ記憶バッファに記憶させるデータ選別部とを有する解析前処理システム。
【０１７１】
（７）フィルタリング部が、発生時刻順に並べ替えられた各データのデータ識別情報を記憶するデータ識別情報記憶部と、並べ替え制御部がデータを選択して並べ替えたときに当該データのデータ識別情報がデータ識別情報記憶部に記憶されているか否かを判定し、記憶されていないときには当該データのデータ識別情報をデータ識別情報記憶部に記憶させる重複判定部と、データ識別情報がデータ識別情報記憶部に記憶されていたと判定されたデータを破棄し、データ識別情報がデータ識別情報記憶部に記憶されていなかったと判定されたデータをデータ記憶バッファに記憶させるデータ選別部とを有する解析前処理システム。
【０１７２】
（８）解析用データ決定部が、一定期間毎に、一定期間内にデータ記憶バッファに記憶されたデータの集合を解析データ群として定める解析前処理システム。
【０１７３】
（９）解析用データ決定部が、データ記憶バッファに記憶されたデータ数が所定個に達する毎に、その所定個のデータの集合を解析データ群として定める解析前処理システム。
【０１７４】
（１０）解析用データ出力部が、データ解析部に送った解析データ群に属する各データをデータ記憶バッファから削除する解析前処理システム。
【０１７５】
（１１）データを解析するデータ解析部を備え、データ解析部が、解析用データ出力部が出力した解析データ群を保持し、解析を終えた解析データ群を削除することで解析用データ出力部とは非同期に解析を行う解析前処理システム。
【０１７６】
（１２）複数のデータ発生源で生成されたデータ群を取得するデータ取得手段と、データ取得手段が取得したデータ群から個々のデータを切り出すデータ切り出し手段と、データ切り出し手段が切り出したデータを保持し、データ生成からデータがデータ取得手段に取得されるまでの時間が最大となるデータ発生源である遅延最大データ発生源からのデータを検知したときに、当該データ以前に発生したデータを選択し、選択したデータを発生時刻順に並べ替える並べ替え制御手段と、発生時刻順に並べ替えられたデータを記憶するデータ記憶バッファと、データ記憶バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める解析用データ決定手段と、データを解析するデータ解析手段に解析データ群を送る解析用データ出力手段とを備えることを特徴とする解析前処理システム。
【０１７７】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１７８】
この出願は、２００９年２月２０日に出願された日本出願特願２００９−０３８４１２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０１７９】
本発明は、解析のために収集させるデータを解析用にまとめる解析前処理システムに好適に適用される。
【符号の説明】
【０１８０】
１  時系列データ発生源
２  データ送信手段
３  データ受信手段
４  データストリーム生成手段
５  時系列データ解析手段
７  解析前処理システム
４０１  ストリームデータ生成手段
４０２  送信データバッファ
４０３  解析ウィンドウ生成手段
４０４  ストリームデータ送信手段
４０５  遅延制御手段
４０５０１  一時バッファ
４０５０２  遅延計算手段
４０５０３  遅延記憶手段
４０５０４  転送タイミング制御手段
４０５０５  データ転送手段
４０７  フィルタリング手段
４０７０１  データ選別手段
４０７０２  同一性判定手段
４０７１１，４０７２１  データ選別手段
４０７１２，４０７２２  有効性判定手段
４０７１３  有効データ定義手段
４０７２３  処理済みデータ記憶手段
【図１】
2010095458.tif 000003
【図２】
2010095458.tif 000004
【図３】
2010095458.tif 000005
【図４】
2010095458.tif 000006
【図５】
2010095458.tif 000007
【図６】
2010095458.tif 000008
【図７】
2010095458.tif 000009
【図８】
2010095458.tif 000010
【図９】
2010095458.tif 000011
【図１０】
2010095458.tif 000012
【図１１】
2010095458.tif 000013
【図１２】
2010095458.tif 000014
【図１３】
2010095458.tif 000015
【図１４】
2010095458.tif 000016
【図１５】
2010095458.tif 000017
【図１６】
2010095458.tif 000018
【図１７】
2010095458.tif 000019
【図１８】
2010095458.tif 000020
【図１９】
2010095458.tif 000021
【図２０】
2010095458.tif 000022
【図２１】
2010095458.tif 000023
【図２２】
2010095458.tif 000024
【図２３】
2010095458.tif 000025
【図２４】
2010095458.tif 000026
【図２５】
2010095458.tif 000027
【図２６】
2010095458.tif 000028
【図２７】
2010095458.tif 000029
【図２８】
2010095458.tif 000030
【図２９】
2010095458.tif 000031
【図３０】
2010095458.tif 000032
【図３１】
2010095458.tif 000033
【図３２】
2010095458.tif 000034
【国際調査報告】
2010095458.tif 000035
2010095458.tif 000036
2010095458.tif 000037
2010095458.tif 000038