(57)【要約】多数のデータ発生源から大量のデータが送信されても、データが溢れることを防止しつつ、データを解析する手段に対して高速にデータを渡すことができる解析前処理システムを提供する。データ取得手段７１は、複数のデータ発生源で生成されたデータ群を取得する。データ切り出し手段７２は、データ取得手段７１が取得したデータ群から個々のデータを切り出す。サンプリング手段７３は、切り出されたデータから一部のデータをサンプリングし、バッファ７４に記憶させる。解析用データ決定手段７５は、バッファ７４に記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める。
2010095457.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）等で標準化されており、受信したデータがＲＦＣの仕様に従っている場合、その仕様に従って、ヘッダとデータとの境界やデータ間の区切りを判別し、各データを切り出せばよい。図８は、ストリームデータ生成手段４０１によって切り出されたデータの例を示す。図５に例示するデータが入力されると、ストリームデータ生成手段４０１は、図８に示すように３つのデータを切り出す。
【００４１】
サンプリング手段４０６は、ストリームデータ生成手段４０１が切り出した個々データに対してサンプリングを行い、サンプリングしたデータを送信データバッファ４０２に記憶させる。サンプリング手段４０６は、サンプリングしなかった各データは破棄する。
【００４２】
送信データバッファ４０２は、サンプリング手段４０６によってサンプリングされたデータを記憶するメモリである。図９は、送信データバッファ４０２におけるメモリイメージの例を示す模式図である。図９では、リスト構造を採用した場合を例示している。１つのデータを記憶するメモリ領域１３１に１つのデータが記憶される。また、各メモリ領域を連結するポインタ１３２が定められる。なお、サンプリング手段４０６は、各データを記憶させたときに各ポインタを、ストリームデータ生成手段４０１を介して解析ウィンドウ生成手段４０３に通知する。あるいは、解析ウィンドウ生成手段４０３に直接、ポインタを通知してもよい。ポインタを辿ることで、各データに順にアクセスできる。ただし、送信データバッファ４０２がデータを記憶する態様は、図９の例に限定されない。例えば、送信データバッファ４０２は、リスト構造ではなく、テーブル構造でデータを記憶してもよい。
【００４３】
解析ウィンドウ生成手段４０３は、サンプリング手段４０６が送信データバッファにデータを記憶させたタイミングで、そのデータを記憶させたメモリ領域へのポインタの通知を受け、ポインタを基に解析ウィンドウを生成する。解析ウィンドウ生成手段４０３には、解析ウィンドウの仕様が予め設定されている。解析ウィンドウの仕様には、解析ウィンドウの種類やウィンドウのサイズが含まれている。解析ウィンドウの種類として、タイムベースウィンドウで解析するか、トプルベースウィンドウで解析するかが定められる。ウィンドウサイズとして、タイムベースウィンドウの場合には時間が定められ、トプルベースウィンドウの場合にはデータの個数が定められる。
【００４４】
解析ウィンドウ生成手段４０３は、定められた仕様に従って解析ウィンドウを生成する。例えば、タイムベースウィンドウで解析を行うと定められ、ウィンドウサイズとして時間が定められているとする。この場合、解析ウィンドウ生成手段４０３は、解析ウィンドウを生成したときに、その解析ウィンドウの生成日時を記憶し、その日時にウィンドウサイズを加算することによって、次の解析ウィンドウを生成するタイミングを算出する。そして、解析ウィンドウ生成手段４０３は、新たなデータが追加されたことに伴い、ポインタの通知をサンプリング手段４０６から受けると、通知されたポインタが示すメモリ領域のデータにおける日時のフィールドにアクセスする。そして、次の解析ウィンドウの生成タイミングを越えている日時が記憶されているか否かを判定する。次の解析ウィンドウの生成タイミングを越える日時が記憶されている場合、解析ウィンドウ生成手段４０３は、送信データバッファに記憶された各データに対して新たなウィンドウＩＤを割り当てることによって、それらの一つの解析ウィンドウと定め、ストリームデータ送信手段４０４にそのデータの集合（解析ウィンドウ）の送信命令を発行する。
【００４５】
また、例えば、トプルベースウィンドウで解析を行うと定められ、ウィンドウサイズとしてデータ数が定められているとする。解析ウィンドウ生成手段４０３は、新たなデータが追加されたことに伴ってポインタの通知を受ける度に、その通知を受けた回数をカウントする。通知を受けた回数は、送信データバッファ４０２に追加されたデータ数を意味する。ウィンドウサイズで定められた個数分の通知を受けると、解析ウィンドウ生成手段４０３は、送信データバッファに記憶された各データに対して新たなウィンドウＩＤを割り当てることによって、それらの一つの解析ウィンドウと定め、ストリームデータ送信手段４０４にそのデータの集合（解析ウィンドウ）の送信命令を発行する。このとき、通知を受けた回数のカウント値を０に初期化する。
【００４６】
なお、タイムベースウィンドウの場合も、トプルベースウィンドウの場合も、データの集合の送信命令として、新たに定めた解析ウィンドウに属する各データを記憶するメモリ領域へのポインタの集合を発行する。
【００４７】
ストリームデータ送信手段４０４は、データの集合の送信命令（すなわち、送信対象のデータを記憶するメモリ領域へのポインタ）を解析ウィンドウ生成手段４０３から受け取ると、その各ポインタが示すメモリ領域に記憶されたデータを時系列データ解析手段５に送信する。ストリームデータ送信手段４０４は、データを送信すると、そのデータを送信データバッファ４０２から削除する。
【００４８】
時系列データ解析手段５は、データストリーム生成手段４から受信するデータを解析する。時系列データ解析手段５は、データストリーム生成手段４から受信したデータを記憶するための記憶手段（図示せず）を備え、受信したデータをその記憶手段に記憶させる。そして、時系列データ解析手段５は、同一のウィンドウＩＤが付加されているデータを読み込み、そのデータを対象にして解析を行う。また、読み込んだデータは、記憶手段から削除する。プローブカーのデータの解析を行う場合、時系列データ解析手段５は、例えば、プローブカーのデータを道路地図にマッチングさせて、プローブカーの平均速度から、どの位置で渋滞が生じているかを示す渋滞情報を生成する。この処理を、一定間隔（例えば、５分間隔）で行う。この場合、タイムベースウィンドウで解析を行うと定めておけばよい。時系列データ解析手段５が行う処理は、データ発生源１が発生させるデータや、解析目的に応じて決めておけばよく、特定の解析処理に限定されない。
【００４９】
図１０は、サンプリング手段４０６の構成例を示すブロック図である。サンプリング手段４０６は、サンプリングレート記憶手段４０６０３と、サンプリングレート設定手段４０６０２と、標本抽出手段４０６０１とを備える。
【００５０】
サンプリングレート記憶手段４０６０３は、サンプリングレートを記憶するメモリである。サンプリングレートは、ストリームデータ生成手段４０１から与えられるデータ群の中からデータをサンプリングする割合である。
【００５１】
サンプリングレート設定手段４０６０２は、外部から入力されたサンプリングレートをサンプリングレート記憶手段４０６０３に記憶させる。例えば、サンプリングレート設定手段４０６０２は、解析前処理システムのディスプレイ装置（図示せず）にＧＵＩ（Graphic User Interface）を表示して、解析前処理システムの管理者からサンプリングレートを入力され、そのサンプリングレートをサンプリングレート記憶手段４０６０３に記憶させる。ただし、他の態様でサンプリングレートが入力されてもよい。
【００５２】
例えば、与えられるデータの２割を時系列データ解析手段５に送信して解析対象とする場合、解析前処理システムの管理者は、サンプリングレート「０．２」を入力すればよい。サンプリングレート設定手段４０６０２は、このサンプリングレート「０．２」をサンプリングレート記憶手段４０６０３に記憶させる。ただし、サンプリングレート「０．２」は例示であり、他の値であってもよい。
【００５３】
また、サンプリングレートとして、時系列データ発生源１に依存しない一律のサンプリングレートが設定されていてもよい。あるいは、時系列データ発生源１毎（例えば、プローブカーの車両ＩＤ毎）にサンプリングレートが定められてもよい。サンプリングレート設定手段４０６０２は、個々の時系列データ発生源毎にサンプリングレートが入力されると、時系列データ発生源毎のサンプリングレートをそれぞれサンプリングレート記憶手段４０６０３に記憶させる。
【００５４】
標本抽出手段４０６０１は、ストリームデータ生成手段４０１でのフォーマット変換により分けられた複数のデータに対して、サンプリングレート記憶手段４０６０３に設定されているサンプリングレートでサンプリングを行い、サンプリングしたデータを送信データバッファ４０２に記憶させる。また、標本抽出手段４０６０１は、サンプリングしなかったデータを破棄する。標本抽出手段４０６０１は、データ破棄による時系列データ解析手段５での解析精度への影響を少なくするため、データを無作為に抽出する。例えば、サンプリングレートがｓであるとすると、（１／ｓ）個のデータの中から１個のデータをサンプリングする。この１／ｓをｎとすると、標本抽出手段４０６０１は、データ毎に０からｎ−１までの範囲で乱数を発生させ、乱数がｎで割り切れたデータを送信データバッファ４０２に記憶させればよい。サンプリングレートｓが０．２である場合、１／ｓ＝５である。この場合、データ毎に０から４までの範囲で乱数を発生させ、乱数が５で割り切れたデータを送信データバッファ４０２に記憶させればよい。なお、標本抽出手段４０６０１は、データを送信データバッファ４０２に記憶させたとき、そのメモリ領域のポインタを解析ウィンドウ生成手段４０３に通知する。
【００５５】
本実施形態において、データ受信手段３、データストリーム生成手段４のストリームデータ生成手段４０１、サンプリング手段４０６（サンプリングレート設定手段４０６０２、標本抽出手段４０６０１）、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、解析前処理システムが解析前処理プログラムを記憶するプログラム記憶手段（図示略）を備え、ＣＰＵがそのプログラムを読み込み、そのプログラムに従って、データ受信手段３、データストリーム生成手段４のストリームデータ生成手段４０１、サンプリング手段４０６、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４として動作すればよい。また、これらの各手段が別々の専用回路によって実現されていてもよい。
【００５６】
また、時系列データ発生源１、データ送信手段２、時系列データ解析手段５も、例えば、プログラムに従って動作するＣＰＵによって実現される。
【００５７】
次に、動作について説明する。
図１１は、本発明の第１の実施形態の処理経過の例を示すフローチャートである。サンプリングレート設定手段４０６０２は、予めサンプリングレートを入力され、そのサンプリングレートをサンプリングレート記憶手段４０６０３に記憶させているものとする。
【００５８】
各時系列データ発生源１がデータを発生し、データ送信手段２が解析前処理システムにデータを送信する処理を時系列データ発生送信ステップ（ステップＳ１）と記す。また、データを受信した解析前処理システム（例えばサーバＰＣ）がデータを受信し、データをサンプリングして送信データバッファ４０２に記憶させ、解析ウィンドウを生成する処理を、データストリーム生成ステップ（ステップＳ２）と記す。また、時系列データ解析手段５がデータを解析する処理を時系列データ受信解析ステップ（ステップＳ３）と記す。ステップＳ１，Ｓ２，Ｓ３は、互いに独立した処理であり、並行して実行される。すなわち、ステップＳ１，Ｓ２，Ｓ３は、非同期に実行される。
【００５９】
時系列データ発生送信ステップ（ステップＳ１）では、個々の時系列データ発生源１は、時間経過に伴って継続的にデータを発生させる（ステップＳ１０１）。個々の時系列データ発生源１は、発生させるデータに発生時刻（データ生成時刻）を含めてもよい。各時系列データ発生源１は、データをデータ送信手段２に送り、データ送信手段２は、データをまとめて送信するためにデータをバッファ（図示略）に記憶させる（ステップＳ１０２）。このバッファはデータ送信手段２側でデータをバッファリングするためのバッファである。また、データ送信手段２は、バッファに蓄積したデータを送信するタイミングになったか否かを判定する（ステップＳ１０３）。例えば、所定個数のデータが蓄積されたならば、データを送信すると判定し、蓄積されたデータが所定個数に達していなければデータを送信しないと判定してもよい。あるいは、前回のデータ送信から一定期間経過したならばデータを送信すると判定し、また一定期間経過していなければ送信しないと判定してもよい。データを送信するタイミングになったと判定した場合（ステップＳ１０３におけるＹｅｓ）、データ送信手段２は、データを結合して解析前処理システム７に送信し（ステップＳ１０４）、送信したデータをバッファから削除する（ステップＳ１０５）。データを送信するタイミングになっていない場合、ステップＳ１０１，Ｓ１０２を繰り返す。
【００６０】
なお、時系列データ発生源１とデータ送信手段２とが同一の装置において実現されている場合、ステップＳ１０１，Ｓ１０２，Ｓ１０３，Ｓ１０５の処理を時系列データ発生源１が実行してもよい。
【００６１】
データストリーム生成ステップ（ステップＳ２）では、データ受信手段３は、データ送信手段２が送信したデータを受信する（ステップＳ２０１）。データ受信手段３も、バッファ（図示略）を備え、受信したデータを一旦バッファに記憶させる。そして、データの受信タイミングとは非同期に、バッファのデータをデータストリーム生成手段４に入力する。このため、ステップＳ２をステップＳ１とは非同期に行うことができる。
【００６２】
ストリームデータ生成手段４０１は、データ受信手段３から入力されたデータをフォーマット変換し、結合されたデータから一つ一つのデータを切り出す（ステップＳ２０２）。ストリームデータ生成手段４０１は、切り出した個々のデータをサンプリング手段４０６に入力する。サンプリング手段４０６の標本抽出手段４０６０１は、サンプリングレート記憶手段４０６０３に記憶されたサンプリングレートを参照し、与えられたデータをサンプリングレートに応じてサンプリングする。標本抽出手段４０６０１は、サンプリングしたデータを送信データバッファに記憶させ、他のデータを破棄する（ステップＳ２０３）。また、標本抽出手段４０６０１は、データを記憶させたメモリ領域へのポインタを、解析ウィンドウ生成手段４０３に通知する。
【００６３】
解析ウィンドウ生成手段４０３はポインタを通知されると、解析ウィンドウを生成する条件が満たされたか否かを判定する（ステップＳ２０４）。例えば、トプルベースウィンドウで解析を行うと指定されている場合では、ウィンドウサイズで定められた個数分の通知を受けたか否かを判定する。あるいは、タイムベースウィンドウで解析を行うと指定されている場合では、前回の解析ウィンドウ生成時以降、ウィンドウサイズで定められた期間が経過しているか否かを判定する。解析ウィンドウを生成する条件が満たされている場合（ステップＳ２０４のＹｅｓ）、解析ウィンドウに含める各データに対して、共通のウィンドウＩＤを追加し、解析ウィンドウの送信命令を発行する（ステップＳ２０５）。ストリームデータ送信手段４０４は、この送信命令に応じて、共通のウィンドウＩＤが割り当てられたデータ群（すなわち、解析ウィンドウ）を時系列データ解析手段５に送信する（ステップＳ２０６）。そして、ストリームデータ送信手段４０４は、ステップＳ２０６で送信したデータを送信データバッファ４０２から削除する（ステップＳ２０７）。
【００６４】
一つ一つのデータを切り出して解析ウィンドウとする処理が解析の前処理に相当する。
【００６５】
時系列データ受信解析ステップ（ステップＳ３）では、時系列データ解析手段５は、ストリームデータ送信手段４０４が送信したデータ（解析ウィンドウ）を受信する（ステップＳ３０１）。時系列データ解析手段５は、解析用バッファ（図示略）を備え、ストリームデータ送信手段４０４が送信したデータを一旦解析用バッファに記憶させる。そして、時系列データ解析手段５は、データの受信タイミングとは非同期に解析用バッファに記憶したデータを解析する（ステップＳ３０２）。このため、ステップＳ２とステップＳ３も非同期に行うことができる。具体的には、ストリームデータ送信手段４０４が解析ウィンドウを送信する動作とは非同期にデータ解析を行うことができる。時系列データ解析手段５は、ステップＳ３０２での解析が終了したデータを時系列データ解析手段５のバッファから削除する（ステップＳ３０３）。
【００６６】
本実施形態によれば、各時系列データ発生源１が発生させたデータをデータ受信手段３が受信すると、そのデータをデータベースやファイルとしてではなく、メモリ（送信データバッファ４０２）に記憶させる。ＳＱＬでデータベースにアクセスする場合や、ファイルにアクセスする場合には、処理時間がかかってしまうが、本願発明では、メモリにデータを記憶させるので迅速にデータを時系列データ解析手段５に送ることができる。
【００６７】
また、特に本実施形態では、データ受信手段３が受信したデータを全て送信データバッファ４０２に記憶させるのではなく、サンプリングしたデータを送信データバッファ４０２に記憶させる。従って、時系列データ発生源１が多数存在し、大量のデータを受信したとしても、解析前処理システムにおいてデータが溢れることを防止して、前処理を行ったデータを時系列データ解析手段５に送ることができる。
【００６８】
さらに、個々のデータ送信手段２あるいは時系列データ発生源１に対してサンプリングを行わせるのではなく、解析前処理システムが備えるサンプリング手段４０６（標本抽出手段４０６０１）が、データ送信手段２および時系列データ発生源１とは非同期にサンプリングを行う。従って、データ送信手段２あるいは時系列データ発生源１に対して個別にサンプリングを行わせるような制御を行う必要がない。
【００６９】
実施形態２．
本発明の第２の実施形態の解析前処理システムも第１の実施形態と同様に、データ受信手段３とデータストリーム生成手段４とを備え（図１参照）、時系列データ発生源１が発生させたデータをデータ送信手段２から受信すると、データの前処理を行い、時系列データ解析手段５に送る。
【００７０】
また、第２の実施形態においても、第１の実施形態と同様に、データストリーム生成手段４は、ストリームデータ生成手段４０１と、サンプリング手段４０６と、送信データバッファ４０２と、解析ウィンドウ生成手段４０３と、ストリームデータ送信手段４０４とを備える（図２参照）。ただし、サンプリング手段４０６の動作が第１の実施形態と異なる。第１の実施形態では、サンプリング手段４０６は、外部から指定されたサンプリングレートでサンプリングを行う。それに対し、本実施形態では、サンプリング手段４０６は、入力されるデータ量の予測値や送信データバッファ４０２の使用量を算出して、動的にサンプリングレートを決定する。
【００７１】
図１２は、第２の実施形態におけるサンプリング手段４０６の構成例を示すブロック図である。第１の実施形態と同様の要素については、図１０と同一の符号を付し、詳細な説明を省略する。第２の実施形態におけるサンプリング手段４０６は、標本抽出手段４０６０１と、サンプリングレート記憶手段４０６０３と、サンプリングレート計算手段４０６０５と、流量監視手段４０６０６と、送信データバッファ利用量測定手段４０６０７とを備える。
【００７２】
サンプリングレート記憶手段４０６０３は、計算されたサンプリングレートを記憶するメモリである。標本抽出手段４０６０１は、第１の実施形態と同様に、サンプリングレートを参照し、ストリームデータ生成手段４０１から入力されるデータをサンプリングし、サンプリングしたデータを送信データバッファ４０２に記憶させる。ただし、本実施形態では、標本抽出手段４０６０１は、さらに、一定時間毎に、その時間内にストリームデータ生成手段４０１から入力されたデータ量を流量計算手段４０６０６に通知する。
【００７３】
流量計算手段４０６０６は、ストリームデータ生成手段４０１から入力される一定時間毎のデータ量（データ数）から、将来、ストリームデータ生成手段４０１から入力されるデータ量（データ数）を予測する。「将来」とは、例えば、データ量を予測する計算を行う時点から所定時間経過後の時点である。この所定時間の値は、予め定めておけばよい。流量計算手段４０６０６は、例えば、最小二乗法により、将来送られてくるデータ量を予測してもよい。一例を挙げると、ストリームデータ生成手段４０１から送られる一定時間当たりのデータ量ｙが、時刻ｔの一次関数として、ｙ＝ａ×ｔ＋ｂとして表されるものとみなす。また、流量計算手段４０６０６は、一定時間当たりのデータ量を標本抽出手段４０６０１から通知される。このことは、ｔ，ｙの組が通知されることを意味する。流量計算手段４０６０６は、ｔ，ｙの複数個の組から、ａ，ｂの値を最小二乗法で求め、ｙ＝ａ×ｔ＋ｂという関数を定めたならば、データ量を調べようとする将来の時刻を代入して、将来送られてくるデータ量を予測すればよい。ただし、この計算は例示であり、流量計算手段４０６０６は、他の予測アルゴリズムで将来のデータ量を予測してもよい。流量計算手段４０６０６は、データ量の予測結果を記憶しておき、サンプリングレート計算手段４０６０５に提供する。
【００７４】
送信データバッファ利用量測定手段４０６０７は、送信データバッファ４０２で使用されているメモリ量を測定する。例えば、図９に例示するように、送信データバッファ４０２がリスト構造でデータを記憶しているとする。この場合、送信データバッファ利用量測定手段４０６０７はリストを辿ることによって、記憶されているデータ数をカウントする。そして、そのデータ数に１データ当たりのデータサイズを乗じることで、送信データバッファ４０２で使用されているメモリ量を算出することができる。ただし、この計算は例示であり、送信データバッファ利用量測定手段４０６０７は、送信データバッファ４０２のメモリの構造に応じた計算方法で、使用メモリ量を算出すればよい。
【００７５】
サンプリングレート計算手段４０６０５は、流量監視手段４０６０６が予測した将来のデータ量と、送信データバッファ利用量測定手段４０６０７が算出した使用メモリ量とを参照して、サンプリングレートを計算する。サンプリングレート計算手段４０６０５は、送信データバッファ４０２で使用可能な最大メモリ量を予め記憶しておく。そして、サンプリングレート計算手段４０６０５は、流量監視手段４０６０６から予測データ数を読み込み、送信データバッファ利用量測定手段４０６０７から現在のメモリ使用量を読み込み、これらの値を用いて、サンプリングレートを計算する。例えば、以下に示す式（１）を用いてサンプリングレートを計算すればよい。
【００７６】
Ｒ＝（（（Ｍ−Ｎ）／Ｄ）／Ｆ）×０．８      式（１）
【００７７】
Ｒは、サンプリングレートである。Ｍは、使用可能な最大メモリ量である。Ｎは、現在使用されている使用メモリ量である。Ｄは、一つ当たりのデータサイズである。Ｆは、流量監視手段４０６０６が予測した将来送られてくるデータ量（データの数）である。（Ｍ−Ｎ）は、送信データバッファ４０２の空きメモリ量を表しており、これをＤで除算することで、空きメモリに記憶できるデータ数が得られる。さらに、これをＦで除算することで、送信データバッファ４０２が溢れないようにすることができる最大のサンプリングレートが得られる。流量監視手段４０６０６の予測は誤差を含むので、データ溢れが生じないようにするため、式（１）では、（（（Ｍ−Ｎ）／Ｄ）／Ｆ）に、係数として０．８を乗じている。この係数の値は０．８に限定されない。
【００７８】
式（１）は、送信データバッファ４０２の使用量からその空き容量を計算し、その空き容量に記憶させることができるデータ数と予測されたデータ量との関係からサンプリングデータを計算する式であるということができる。
【００７９】
サンプリングレート計算手段４０６０５は、他の方法で、サンプリングレートを決定してもよい。例えば、送信データバッファ利用量測定手段４０６０７は、一定期間毎の送信データバッファ４０２の使用量を履歴として保持し、同様に、流量監視手段４０６０６も一定期間毎に将来のデータ量を予測し予測結果を履歴として保持する。サンプリングレート計算手段４０６０５は、送信データバッファ４０２の使用量の履歴、および予測データ量の履歴を参照し、送信データバッファ４０２の使用量および予測データ量が増加傾向にあればサンプリングレートを低くし、逆の場合にはサンプリングレートを高くすることによって、サンプリングレートを変化させてもよい。
【００８０】
標本抽出手段４０６０１、サンプリングレート計算手段４０６０５、流量監視手段４０６０６、送信データバッファ利用量測定手段４０６０７は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵが解析前処理プログラムに従って、標本抽出手段４０６０１、サンプリングレート計算手段４０６０５、流量監視手段４０６０６、送信データバッファ利用量測定手段４０６０７や、その他の各手段として動作すればよい。また、標本抽出手段４０６０１、サンプリングレート計算手段４０６０５、流量監視手段４０６０６、送信データバッファ利用量測定手段４０６０７がそれぞれ別々の専用回路によって実現されていてもよい。
【００８１】
図１３は、サンプリングレート算出の処理経過の例を示すフローチャートである。標本抽出手段４０６０１は、一定時間毎に、その一定時間にストリームデータ生成手段４０１から送られてくるデータ量を流量監視手段４０６０６に通知する。そして、流量監視手段４０６０６は、一定時間毎のデータ量から、将来、ストリームデータ生成手段４０１から送られてくるデータ量を予測する（ステップＳ６０１）。また、送信データバッファ利用量測定手段４０６０７は、送信データバッファ４０２における現在のメモリ使用量を測定する（ステップＳ６０２）。そして、サンプリングレート計算手段４０６０５は、予測されたデータ量や、現在のメモリ使用量を用いて、式（１）の計算を行ってサンプリングレートを計算する（ステップＳ６０３）。
【００８２】
また、将来の予測データ量や、現在の使用メモリ量は変化するので、サンプリングレート計算手段４０６０５はその変化により動的にサンプリングレートを計算する。例えば、流力監視手段４０６０６は定期的に予測データ量を求め、送信データバッファ利用量測定手段４０６０７も定期的に使用メモリ量を測定し、予測データ量や使用メモリ量が変動したときにサンプリングレートを計算し直してもよい。
【００８３】
また、時系列データ発生送信ステップ（ステップＳ１）、データストリーム生成ステップ（ステップＳ２）、時系列データ受信解析ステップ（ステップＳ３）は、第１の実施形態と同様であり、図１１に示す動作と同様の動作を行えばよい。このとき、標本抽出手段４０６０１は、データのサンプリングを行うときに、サンプリングレート計算手段４０６０５が計算したサンプリングレートを用いる。
【００８４】
本実施形態においても、第１の実施形態と同様の効果を得ることができる。さらに、本実施形態では、予測される将来のデータ量および現在の使用メモリ量から動的にサンプリングレートを計算するので、送信データバッファ４０２におけるデータ溢れを防止しつつ、送信データバッファ４０２における無駄な空きメモリを少なくすることができる。
【００８５】
実施形態３．
本発明の第３の実施形態の解析前処理システムは、第１および第２の実施形態と同様に、データ受信手段３とデータストリーム生成手段４とを備える（図１参照）。そして、時系列データ発生源１が発生させたデータをデータ送信手段２から受信すると、データの前処理を行い、時系列データ解析手段５に送る。
【００８６】
図１４は、第３の実施形態におけるデータストリーム生成手段４の構成例を示す説明図である。本実施形態におけるデータストリーム生成手段４は、ストリームデータ生成手段４０１、サンプリング手段４０６、送信データバッファ４０２、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４に加え、フィルタリング手段４０７を備える。ストリームデータ生成手段４０１、送信データバッファ４０２、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４は、第１および第２の実施形態と同様である。
【００８７】
第３の実施形態では、サンプリング手段４０６は、フィルタリング手段４０７から入力されたデータを対象としてサンプリングを行う。サンプリング手段４０６は、第１の実施形態におけるサンプリング手段（図１０参照）と同様であっても、第２の実施形態におけるサンプリング手段（図１２参照）と同様であってもよい。すなわち、サンプリング手段４０６は、第１の実施形態と同様に、外部から入力されたサンプリングレートでデータのサンプリングを行ってもよい。あるいは、将来送られてくるデータ量を予測するとともに使用しているメモリ量を測定し、サンプリングレートを計算してサンプリングを行ってもよい。ただし、本実施形態では、サンプリング手段４０６の流量監視手段４０６０６が将来送られてくるデータ量を予測する場合、将来フィルタリング手段４０７から入力されるデータ量を予測すればよい。
【００８８】
フィルタリング手段４０７は、データ受信手段３が受信したデータからストリームデータ生成手段４０１が切り出した一つ一つのデータに対してフィルタリング処理を行う。換言すれば、フィルタリング手段４０７は、ストリームデータ生成手段４０１に切り出された各データが所定の条件を満たしているか否かをデータ毎に判定し、所定の条件を満たしているデータをサンプリング手段４０６に入力し、所定の条件を満たしていないデータを破棄する。この所定の条件とは、データが解析に有用であることを示す条件である。
【００８９】
所定の条件の例として、例えば、「既に送信バッファ４０２に記憶されているいずれのデータともデータの内容が異なる」という条件を用いてもよい。仮に、送信データバッファ４０２に既に記憶されているデータと同内容のデータを送信データバッファ４０２に記憶させたとする。この場合、ストリームデータ送信手段４０４は、同内容の複数のデータを時系列データ解析手段５に送信する。しかし、時系列データ解析手段５は解析を行うときに同内容のデータを複数個必要としない場合がある。
【００９０】
例えば、個々のプローブカーに設けられたセンサ（時系列データ発生源１）がプローブカーの位置、速度、車両ＩＤを含むデータ（図４参照）を一定時間間隔で発生させ、時系列データ解析手段５がそのデータに関する解析を行うものとする。この場合、停止しているプローブカーは、位置、速度、車両ＩＤが同内容となっているデータを繰り返し発生させる。一方、時系列データ解析手段５の解析処理では、あるプローブカーの状況（位置や速度）が変化したときに、その変化した内容を必要とし、内容が変化していないデータは参照する必要がないことがある。このような場合、位置、速度、車両ＩＤが同内容となっているデータは冗長なデータであり、解析には用いられない。具体例を挙げると、解析において各車両の平均速度を求める場合、停止している車両のデータは平均速度算出には不要であり、そのようなデータを複数個、時系列データ解析手段５に送る必要はない。
【００９１】
フィルタリング手段４０７は、「既に送信バッファ４０２に記憶されているいずれのデータともデータの内容が異なる」という条件を満たしているデータを送信データバッファ４０２に記憶させ、条件を満たしていないデータ（すなわち、既に送信データバッファ４０２に記憶済みのデータと同内容のデータ）を破棄する。この結果、冗長のデータを時系列解析手段５に送ることを防止できる。
【００９２】
以下、所定の条件として、「既に送信バッファ４０２に記憶されているいずれのデータともデータの内容が異なる」という条件を用いる場合を例にして説明する。この条件を第１の条件と記す。第１の条件は、データが解析に有用であることを示す所定の条件の一例であり、後述するように、他の条件を用いてもよい。
【００９３】
図１５は、フィルタリング手段４０７の構成例を示すブロック図である。フィルタリング手段４０７は、データ選別手段４０７０１と同一性判定手段４０７０２とを備える。
【００９４】
同一性判定手段４０７０２は、ストリームデータ生成手段４０１から入力される各データと、送信データバッファ４０２に既に記憶されている各データとの間で、データ同士の内容が同一となっているか否かを判定する。ストリームデータ生成手段４０１から入力される個々のデータは、フィルタリングの判定対象となるデータであり、以下、フィルタリング判定対象データと記す。
【００９５】
本例では、データの内容が同一であるというために、時系列データ発生源１が同一であることは必須であるものとする。例えば、図４に例示するプローブカーに関するデータの場合、車両ＩＤが同一であることは必須である。車両ＩＤが異なっているデータ同士は、たとえ、緯度、経度、速度が一致していても同一内容のデータではない。また、時系列データ発生源１が同一であることをデータ同一の必須条件とする場合、時間の経過に伴って発生する各データ間では日時は異なる。従って、内容が同一か否かを判定する場合、日時が同一であるか否かは無視してよい。データに含まれる項目の中に、日時のように、同一であるか否かを無視してよい項目があってもよい。
【００９６】
また、データ中の誤差を含む項目（例えば、図４に例示する緯度、経度、速度）に関しては、完全に一致している必要はない。この場合、同一性判定手段４０７０２は、送信データバッファ４０２に記憶されているデータに含まれる値と、フィルタリング判定対象データに含まれている値との差を計算し、その差が予め定められた範囲内であるか否かを判定すればよい。例えば、速度に関しては、送信データバッファ４０２に記憶されているデータ中の速度と、フィルタリング判定対象データ中の速度との差を計算し、その差が−５〜＋５の範囲内であれば、速度が同一と判定する。本例で示した−５，＋５の単位は「ｋｍ／ｈ」である。緯度や経度に関しても、データ間の値の差が、予め定められた範囲内に収まっているか否かを判定して、収まっていれば同内容と判定すればよい。
【００９７】
このように、同一性判定手段４０７０２は、フィルタリング判定対象データと、送信データバッファ４０２に記憶されたデータとの間で、時系列データ発生源１のＩＤ（例えば車両ＩＤ）が合致し、他の項目（例えば、緯度、経度、速度）の内容も同内容であると判定した場合に、データが同内容であると判定すればよい。また、時系列データ発生源１のＩＤが一致しなかったり、あるいは、他のいずれかの項目（例えば、緯度、経度、速度のいずれか）に同内容でないと判定した項目があったりした場合に、データが同内容でないと判定すればよい。
【００９８】
データ選別手段４０７０１は、フィルタリング判定対象データ毎に、フィルタリング判定対象データの内容が、送信データバッファ４０２中のいずれのデータとも同内容でないと判定されたか否かを確認する。そして、データ選別手段４０７０１は、その確認結果に応じて、フィルタリング判定対象データをサンプリング手段４０６に入力するか、あるいは、破棄する。
【００９９】
フィルタリング判定対象データの内容が、送信データバッファ４０２中のいずれのデータとも同内容でないと判定された場合、そのフィルタリング対象データは上記の第１の条件を満たしていることになる。この場合、データ選別手段４０７０１は、フィルタリング判定対象データをサンプリング手段４０６に入力する。
【０１００】
一方、フィルタリング判定対象データの内容が送信データバッファ４０２中のいずれかのデータと同内容であると判定された場合、そのフィルタリング対象データは上記の第１の条件を満たしていないことになる。この場合、データ選別手段４０７０１は、フィルタリング判定対象データを破棄する。
【０１０１】
フィルタリング手段４０７（データ選別手段４０７０１、同一性判定手段４０７０２）は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵが、解析前処理プログラムに従って、フィルタリング手段４０７（データ選別手段４０７０１、同一性判定手段４０７０２）や、他の各手段として動作すればよい。また、データ選別手段４０７０１、同一性判定手段４０７０２がそれぞれ別々の専用回路によって実現されていてもよい。
【０１０２】
図１６は、第３の実施形態の処理経過の例を示す説明図である。第１の実施形態と同様の処理については図１１と同一の符号を付し、説明を省略する。時系列データ発生送信ステップ（ステップＳ１）および時系列データ受信解析ステップ（ステップＳ３）は、第１の実施形態と同様である。
【０１０３】
データストリーム生成ステップ（ステップＳ２）に関しては、ストリームデータ生成手段４０１がフォーマット変換を行って、結合されている複数のデータから一つ一つのデータを切り出す処理（ステップＳ２０２）の後、フィルタリング手段４０７が各データに対するフィルタリング処理（ステップＳ２０８）を行い、フィルタリング処理の結果に対してサンプリング手段４０６がサンプリングを行う。その他の点に関しては、第１の実施形態と同様である。
【０１０４】
図１７は、フィルタリング処理（ステップＳ２０８）の処理経過の例を示すフローチャートである。ストリームデータ生成手段４０１は、一つ一つのデータを切り出すと、（ステップＳ２０２、図１６参照）、そのデータをフィルタリング手段４０７に入力する。この個々のデータはフィルタリング判定対象データである。
【０１０５】
同一性判定手段４０７０２は、フィルタリング判定対象データが入力されると、フィルタリング判定対象データ毎に、送信データバッファ４０２に記憶された個々のデータとの間で、同内容であるか否かを判定する（ステップＳ７０１）。
【０１０６】
データ選別手段４０７０１は、送信データバッファ４０２中のいずれのデータとも同内容でないと判定されたフィルタリング判定対象データを、サンプリング手段４０６に入力する（ステップＳ７０２）。一方、送信データバッファ４０２中のいずれかのデータと同内容であると判定されたフィルタリング判定対象データを破棄する（ステップＳ７０２）。ステップＳ７０２の処理を実行することで、サンプリング処理以降の処理を行うデータが選別される。
【０１０７】
サンプリング手段４０６は、データ選別手段４０７０１から入力されたデータを対象にして、サンプリングレートに応じたサンプリング処理（ステップＳ２０３）を行う。サンプリングレートは、第１の実施形態と同様に外部から入力された値であっても、第２の実施形態と同様にサンプリング手段４０６が計算した値であってもよい。
【０１０８】
本実施形態によれば、第１の実施形態または第２の実施形態と同様の効果が得られる。さらに、本実施形態では、サンプリング処理の前に、解析で用いない冗長なデータをフィルタリング手段４０７が破棄する。従って、冗長なデータを送信データバッファ４０２に記憶させることを防止できる。そして、その分、サンプリング処理で破棄するデータを少なくして、できるだけ送信データバッファ４０２にデータを記憶させることができる。すなわち、送信データバッファ４０２を有効に活用することができる。
【０１０９】
上記の第３の実施形態では、フィルタリング処理で用いる所定の条件として、「既に送信バッファ４０２に記憶されているいずれのデータともデータの内容が異なる」という条件（第１の条件）を用いる場合を説明した。第３の実施形態の変形例として、他の条件を用いる場合について説明する。第３の実施形態の変形例では、フィルタリング手段４０７の動作が異なるが、他の各手段は上記の第３の実施形態と同様である。
【０１１０】
本変形例では、フィルタリング処理で用いる所定の条件として、「データの内容が予め定められた基準を満たしている」という条件を用いる。この条件を、第２の条件と記す。例えば、データに含まれる内容に誤差が含まれることがあるが、誤差を含むデータであっても、基準を満たすデータであれば、解析に有効に用いることができる。このように解析に用いることができる有効なデータを判別するための基準を予め定めておき、フィルタリング手段４０７は、フィルタリング判定対象データの内容がこの基準を満たしているか否かを判定し、満たしていないデータを破棄する。
【０１１１】
個々のプローブカーに設けられたセンサ（時系列データ発生源１）が発生させるデータを例に説明すると、データは位置、速度、方向等を含むことが多い。ただし、これらの値は誤差を含む。特に位置（例えば、緯度、経度）は、ＧＰＳ（Global Positioning System）によって取得することが一般的であり、建物等の影響を受けると位置の計算に大きな誤差を含むことがある。そのような大きな誤差を含むデータは解析に利用できないので、フィルタリング手段４０７が排除する。
【０１１２】
図１８は、本変形例におけるフィルタリング手段４０７の構成例を示すブロック図である。本変形例におけるフィルタリング手段４０７は、有効データ定義手段４０７１３と、有効性判定手段４０７１２と、データ選別手段４０７１１とを備える。
【０１１３】
有効データ定義手段４０７１３は、有効に用いることができるデータの内容の基準を記憶する記憶装置である。図１９は、有効データ定義手段４０７１３が記憶する基準の例を示す説明図である。図１９に例示する基準は、図４に例示するデータに対応し、日時、車両ＩＤ、緯度、経度、速度が満たすべき基準を示している。図４に示す「最小」、「最大」は、これらの項目の値の範囲を規定する。データに含まれる項目の値が、「最小」から「最大」までの範囲に含まれていれば、その項目の値は有効である。例えば、図１９に示す例において、日時に関しては、「現在時刻から１日前」〜「現在時刻」までの範囲に含まれていれば有効である。同様に、車両ＩＤに関しては、「ＣＩＤ０００１」〜「ＣＩＤ９９９９」の範囲に含まれていれば有効である。このように、項目の値が文字列と数値の組み合わせである場合、その数値の範囲を規定してもよい。緯度に関しては、３４．０００〜３６．０００の範囲に含まれていれば有効である。経度に関しては、１３４．０００〜１３６．０００の範囲に含まれていれば有効である。速度に関しては、０〜１２０の範囲に含まれていれば有効である。本例では、「最小」、「最大」を定めているが、いずれか一方のみを定めていてもよい。
【０１１４】
図１９に示す「差分」は、直前のデータ（時系列データ発生源が同一の直前のデータ）との関係を規定する基準である。例えば、図１９に示す例において、日時に関しては、車両ＩＤが同一の直前のデータとの日時の差分が１時間以内であれば有効である。車両ＩＤに関しては、「差分」は規定されない。緯度に関しては、車両ＩＤが同一の直前のデータとの緯度の差分が０．０１以下であれば有効である。経度に関しては、車両ＩＤが同一の直前のデータとの経度の差分が０．０１以下であれば有効である。速度に関しては、車両ＩＤが同一の直前のデータとの速度の差分が１２０以下であれば有効である。
【０１１５】
「最小」、「最大」が規定する基準は、データに含まれる項目が満たすべき絶対的な基準である。「差分」は、データに含まれる項目が他のデータとの関係において満たすべき相対的な基準である。図１９に示す例では、絶対的な基準（最小、最大）と、相対的な基準（差分）とを定めているが、いずれか一方のみを定めていてもよい。
【０１１６】
有効性判定手段４０７１２は、ストリームデータ生成手段４０１からフィルタリング判定対象データが入力されると、そのフィルタリング判定対象データ中の各項目が、有効データ定義手段４０７１３に記憶されている各基準を満足しているか否かを判定する。例えば、図１９に例示する基準が記憶されているとする。有効性判定手段４０７１２は、フィルタリング判定対象データ中の日時、車両ＩＤ、緯度、経度、速度がそれぞれ最小値から最大値までの範囲に属しているか否かを判定する。また、日時、緯度、経度、速度それぞれに関し、直前のフィルタリング判定対象データにおける値との差を計算し、その計算結果が「差分」として規定された基準を満たしているか否かを判定する。
【０１１７】
有効性判定手段４０７１２は、相対的な基準について判定するため、あるフィルタリング判定対象データについて、有効性の判定を行ったならば、そのフィルタリング判定対象データを、同じ時系列データ発生源で発生した次のフィルタリング判定対象データが入力されるまで記憶しておく。あるいは、送信データバッファ４０２に記憶されている直前のデータを参照して相対的な基準について判定してもよい。
【０１１８】
データ選別手段４０７１１は、フィルタリング判定対象データ毎に、有効性判定手段４０７１２による判定結果を確認する。そして、データ選別手段４０７１１は、その確認結果に応じて、フィルタリング判定対象データをサンプリング手段４０６に入力するか、あるいは、破棄する。
【０１１９】
フィルタリング判定対象データの各項目について有効データ定義手段４０７１３に規定されている基準を満たしていると判定された場合、そのフィルタリング対象データは上記の第２の条件を満たしていることになる。この場合、データ選別手段４０７１１は、フィルタリング判定対象データをサンプリング手段４０６に入力する。
【０１２０】
一方、フィルタリング判定対象データの各項目の中に、有効データ定義手段４０７１３に規定されている基準を満たしていないと判定された場合、そのフィルタリング対象データは上記の第２の条件を満たしていないことになる。この場合、データ選別手段４０７１１は、フィルタリング判定対象データを破棄する。例えば、いずれかの項目について、絶対的な基準あるいは相対的な基準を満たしていないと判定されたならば、データ選別手段４０７１１は、そのフィルタリング判定対象データを破棄する。
【０１２１】
本変形例のフィルタリング手段４０７のデータ選別手段４０７１１、有効性判定手段４０７１２は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵが、解析前処理プログラムに従って、データ選別手段４０７１１、有効性判定手段４０７１２や、他の各手段として動作すればよい。また、データ選別手段４０７１１、同一性判定手段４０７１２がそれぞれ別々の専用回路によって実現されていてもよい。
【０１２２】
本変形例の処理経過は、第３の実施形態と同様である（図１６参照）。ただし、フィルタリング処理（ステップＳ２０８）における処理が異なる。図２０は、本変形例におけるフィルタリング処理の処理経過の例を示すフローチャートである。有効性判定手段４０７１２は、ストリームデータ生成手段４０１からフィルタリング判定対象データを入力されると、フィルタリング判定対象データ内の各項目が絶対的な基準を満足しているか否かを判定する（ステップＳ７１１）。例えば、図１９に例示する基準が定められている場合、日時、車両ＩＤ、緯度、経度、速度に関して、それぞれ最小値から最大値までの範囲内に含まれているか否かを判定する。全ての項目に関して絶対的な基準を満足していると判定した場合（ステップＳ７１２のＹｅｓ）、有効性判定手段４０７１２は、フィルタリング判定対象データ内の各項目が相対的な基準を満足しているか否かを判定する（ステップＳ７１３）。例えば、時、緯度、経度、速度に関して、車両ＩＤが同一の直前のフィルタリング判定対象データとの差を計算し、その差が、定められた基準（図１９に例示する「差分」）を満たしているか否かを判定する。
【０１２３】
データ選別手段４０７１１は、絶対的基準に関する判定結果、および相対的基準に関する判定結果を確認する。そして、絶対的基準に関する判定（ステップＳ７１１）または相対的基準に関する判定（ステップＳ７１３）において、いずれかの項目が基準を満たしていないと判定されている場合（ステップＳ７１２のＮｏ、あるいはステップＳ７１４のＮｏ）、データ選別手段４０７１１は、そのフィルタリング判定対象データを破棄する（ステップＳ７１６）。また、絶対的基準に関する判定（ステップＳ７１１）および相対的基準に関する判定（ステップＳ７１３）において、各項目が基準を満足していると判定されている場合（ステップＳ７１４のＹｅｓ）、データ選別手段４０７１１は、フィルタリング判定対象データを、サンプリング手段４０６に入力する（ステップＳ７１５）。この結果、サンプリング処理以降の処理を行うデータが選別される。
【０１２４】
サンプリング処理（ステップＳ２０３、図１６参照）以降の動作は、第３の実施形態と同様である。
【０１２５】
次に、第３の実施形態の他の変形例として、「既にストリームデータ生成手段４０１から入力されたいずれかのデータの複製ではない」という条件をフィルタリング処理で用いる場合の変形例を示す。この条件を第３の条件と記す。
【０１２６】
時系列データ発生源１がデータを発生させ、データ受信手段３がデータを受信するまでの過程で、時系列データ発生源１の複製が生じて、データ受信手段３が同一のデータを複数受信することがある。例えば、複数のデータ送信手段２が同一の時系列データ発生源１から同一データを受信し、その複数のデータ送信手段２がそのデータを解析前処理システムに送信した場合、このようなことが生じる。図２１は、この状況の具体例を示す説明図である。時系列データ発生源１がプローブカーに設けられたセンサであり、データ送信手段２ａ，２ｂが、時系列データ発生源１とデータ受信手段３との間でデータを中継する基地局であるとする。基地局は、エリア毎に設けられるが、対応するエリア同士が一部重なるように配置される。基地局に対応するエリア同士が重なっている部分にプローブカーが存在し、その位置からデータを無線発信すると、その各エリアに対応する基地局２ａ，２ｂがそれぞれ同一のデータを受信する。基地局２ａ，２ｂはいずれも受信したデータを解析前処理システムに送信するので、データ受信手段３は、同一のデータを複数受信することになる。このように複製されたデータは、時系列データ解析手段５での解析においては不要であり、フィルタリング手段４０７が排除する。
【０１２７】
図２２は、第３の条件を用いる場合のフィルタリング手段４０７の構成例を示すブロック図である。この変形例におけるフィルタリング手段４０７は、処理済みデータ記憶手段４０７２３と、有効性判定手段４０７２２と、データ選別手段４０７２１とを備える。
【０１２８】
処理済みデータ記憶手段４０７２３は、ストリームデータ生成手段４０１から入力された各データを識別するためのデータ識別情報を記憶する記憶装置である。図２３は、処理済みデータ記憶手段４０７２３が記憶するデータ識別情報の例を示す。データの発生源および発生時刻が同一であるデータが２個以上存在する場合、２個目以降のデータは複製である。従って、図２３に示すように、日時と、時系列データ発生源のＩＤ（例えば車両ＩＤ）との組み合わせを、データ識別情報とすればよい。図２３の第１レコードは、プローブカー「ＣＩＤ０００１」で日時「2008/7/20 12:00:00」に生成されたデータは、既に受信済みであることを意味する。
【０１２９】
有効性判定手段４０７２２は、ストリームデータ生成手段４０１からフィルタリング判定対象データを入力されると、処理済みデータ記憶手段４０７２３に記憶されたデータ識別情報を参照して、そのフィルタリング判定対象データが未だ入力されていなかったデータであるか否かを判定する。フィルタリング判定対象データが未だ入力されていなかったデータであるならば、有効性判定手段４０７２２は、そのフィルタリング判定対象データのデータ識別情報（例えば、日時と車両ＩＤの組）を処理済みデータ記憶手段４０７２３に記憶させる。
【０１３０】
データ選別手段４０７２１は、フィルタリング判定対象データ毎に、有効性判定手段４０７２２による判定結果を確認する。そして、データ選別手段４０７２１は、その確認結果に応じて、フィルタリング判定対象データをサンプリング手段４０６に入力するか、あるいは、破棄する。
【０１３１】
フィルタリング判定対象データが未だ入力されていなかったデータであると判定されたということは、そのフィルタリング判定対象データが初めて入力されたということであり、第３の条件を満たしていることになる。この場合、データ選別手段４０７２１は、フィルタリング判定対象データをサンプリング手段４０６に入力する。
【０１３２】
一方、フィルタリング判定対象データが既に入力済みのデータであると判定されたということは、第３の条件を満たしていないことになる。この場合、データ選別手段４０７２１は、フィルタリング判定対象データを破棄する。
【０１３３】
本変形例のフィルタリング手段４０７のデータ選別手段４０７２１、有効性判定手段４０７２２は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵが、解析前処理プログラムに従って、データ選別手段４０７２１、有効性判定手段４０７２２や、他の各手段として動作すればよい。また、データ選別手段４０７２１、有効性判定手段４０７２２がそれぞれ別々の専用回路によって実現されていてもよい。
【０１３４】
本変形例の処理経過は、第３の実施形態と同様である（図１６参照）。ただし、フィルタリング処理（ステップＳ２０８）における処理が異なる。図２４は、本変形例におけるフィルタリング処理の処理経過の例を示すフローチャートである。
【０１３５】
有効性判定手段４０７２２は、ストリームデータ生成手段４０１からフィルタリング判定対象データを入力されると、そのフィルタリング判定対象データが未だ入力されていなかったデータであるか否かを判定する（ステップＳ７２１）。具体的には、入力されたフィルタリング判定対象データのデータ識別情報（例えば、日時と車両ＩＤの組）が、既に処理済みデータ記憶手段４０７２３に記憶されているかどうかを判定する。データ識別情報が記憶されていなければ（ステップＳ７２２のＮｏ）、そのフィルタリング判定対象データは、未だ入力されていなかったデータ（初めて入力されたデータ）である。一方、データ識別情報が記憶されていれば（ステップＳ７２２のＹｅｓ）、そのフィルタリング判定対象データは、すでに入力されている。
【０１３６】
フィルタリング判定対象データが初めて入力されたデータであるならば（ステップＳ７２２のＮｏ）、有効性判定手段４０７２２は、そのフィルタリング判定対象データのデータ識別情報を処理済みデータ記憶手段４０７２３に追加記憶させる（ステップＳ７２３）。
【０１３７】
データ選別手段４０７２１は、有効性判定手段４０７２２の判定結果を確認する。そして、入力されたフィルタリング判定対象データが入力済みであったならば（ステップＳ７２２のＹｅｓ）、データ選別手段４０７２１は、そのフィルタリング判定対象データを破棄する（ステップＳ７２５）。また、入力されたフィルタリング判定対象データが初めて入力されたデータであるならば（ステップＳ７２２のＮｏ）、データ選別手段４０７２１は、そのフィルタリング判定対象データをサンプリング手段４０６に入力する（ステップＳ７２４）。この結果、サンプリング処理以降の処理を行うデータが選別される。
【０１３８】
サンプリング処理（ステップＳ２０３、図１６参照）以降の動作は、第３の実施形態と同様である。
【０１３９】
また、フィルタリング手段４０７は、前述の第１から第３の条件のうち、複数の条件を組み合わせ、その複数の条件を満たしているデータのみをサンプリング手段４０６に入力し、他のデータを破棄する構成であってもよい。例えば、第１と第２の条件を満たしているデータのみをサンプリング手段４０６に入力し、他のデータを破棄する構成であってもよい。条件の組み合わせ方は特に限定されない。
【０１４０】
図１８や図２２に示した各変形例においても、第３の実施形態と同様の効果を得ることができる。
【０１４１】
実施形態４．
本発明の第４の実施形態の解析前処理システムは、第１、第２および第３の実施形態と同様に、データ受信手段３とデータストリーム生成手段４とを備える（図１参照）。そして、時系列データ発生源１が発生させたデータをデータ送信手段２から受信すると、データの前処理を行い、時系列データ解析手段５に送る。
【０１４２】
図２５は、第４の実施形態におけるデータストリーム生成手段４の構成例を示す説明図である。本実施形態におけるデータストリーム生成手段４は、ストリームデータ生成手段４０１、サンプリング手段４０６、フィルタリング手段４０７、送信データバッファ４０２、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４に加え、切替手段４０９を備える。第４の実施形態の解析前処理システムは、切替手段４０９の切り替えによって、フィルタリング処理またはサンプリング処理のいずれか一方を行う。
【０１４３】
送信データバッファ４０２、解析ウィンドウ生成手段４０３、ストリームデータ送信手段４０４は、第１から第３までの各実施形態と同様である。
【０１４４】
切替手段４０９は、ストリームデータ生成手段４０１、フィルタリング手段４０７およびサンプリング手段４０６を制御して、フィルタリング処理とサンプリング処理のいずれか一方を行うように動作させる。
【０１４５】
切替手段４０９は、サンプリング処理を実行させる場合、ストリームデータ生成手段４０１に、切り出した個々のデータをサンプリング手段４０６へ入力させ、サンプリング手段４０６にそのデータをサンプリングさせる。このとき、フィルタリング手段４０７には動作を行わせない。
【０１４６】
また、切替手段４０９は、フィルタリング処理を実行させる場合、ストリームデータ生成手段４０１に、切り出した個々のデータをフィルタリング手段４０７へ入力させ、フィルタリング手段４０７にそのデータをフィルタリングさせる。このとき、サンプリング手段４０７には動作を行わせない。
【０１４７】
切替手段４０９は、例えば、サンプリング処理を実行させるのかあるいはフィルタリング処理を実行させるのかを、外部から入力された切替指示に応じて切り替える。切替指示は、例えば、キーボード等の入力デバイス（図示略）を介して入力されてもよい。あるいは、通信ネットワークを介して入力されてもよい。
【０１４８】
ストリームデータ生成手段４０１は、第１の実施形態と同様に、データ受信手段３が受信したデータをフォーマット変換して、個々のデータ（例えば、図８参照）を切り出す。そして、切替手段４０９がサンプリング処理を指示したときには、サンプリング手段４０６にそのデータを入力し、切替手段４０９がフィルタリング処理を指示したときには、フィルタリング手段４０７にそのデータを入力する。
【０１４９】
サンプリング手段４０６は、切替手段４０９がサンプリング処理を指示したときに、ストリームデータ生成手段４０１から入力されるデータに対してサンプリングを行う。サンプリング手段４０６の構成は、第１の実施形態と同様の構成（図１０参照）であっても、第２の実施形態と同様の構成（図１２参照）であってもよい。すなわち、サンプリング手段４０６は、第１の実施形態と同様に、外部から入力されたサンプリングレートでデータのサンプリングを行ってもよい。あるいは、第２の実施形態と同様に、サンプリング手段４０６自身がサンプリングレートを計算してサンプリングを行ってもよい。また、切替手段４０９がフィルタリング処理を指示する場合、サンプリング手段４０６は切替手段４０９によって、動作を行わないように制御される。
【０１５０】
フィルタリング手段４０７は、切替手段４０９がフィルタリング処理を指示したときに、ストリームデータ生成手段４０１から入力されるデータに対してフィルタリングを行う。フィルタリング手段４０７は、第３の実施形態と同様の構成であっても、第３の実施形態の各変形例と同様の構成であってもよい。すなわち、フィルタリング手段４０７は、図１５に示す構成と同様の構成であり、「既に送信バッファ４０２に記憶されているいずれのデータともデータの内容が異なる」という条件を用いてフィルタリングを行ってもよい。あるいは、フィルタリング手段４０７は、図１８と同様の構成であり、「データの内容が予め定められた基準を満たしている」という条件を用いてフィルタリングを行ってもよい。あるいは、フィルタリング手段４０７は、図２２と同様の構成であり、「既にストリームデータ生成手段４０１から入力されたいずれかのデータの複製ではない」という条件を用いてフィルタリングを行ってもよい。また、いずれの場合にも、フィルタリング手段４０７は、条件を満足するデータを送信データバッファ４０２に記憶させる。
【０１５１】
切替手段４０９は、例えば、解析前処理プログラムに従って動作するコンピュータのＣＰＵによって実現される。この場合、ＣＰＵが、解析前処理プログラムに従って、切替手段４０９や他の各手段として動作すればよい。また、切替手段４０９が専用回路として実現されていてもよい。
【０１５２】
以上のような構成により、切替手段４０９がサンプリング動作を指示した場合、解析前処理システムは第１または第２の実施形態と同様に動作する（図１１参照）。
【０１５３】
一方、切替手段４０９がフィルタリング動作を指示した場合、図１１に示すステップＳ２０３の代わりに、フィルタリング手段４０７がフィルタリングを行う。この場合、ストリームデータ生成手段４０１が各データをフィルタリング手段４０７に入力し、フィルタリング手段４０７のデータ選別手段４０７０１（あるいは、データ選別手段４０７１１，４０７２１）が、条件を満足するデータを送信データバッファ４０２に記憶させる。そして、条件を満たしていないデータを破棄する。
【０１５４】
第４の実施形態においても、ストリームデータ生成手段４０１が切り出した各データに対して、サンプリング処理またはフィルタリング処理を行うので、送信データバッファにおけるデータの溢れを防止することができる。また、解析やデータの内容に応じて、サンプリングによるデータ数の削減が好ましい場合は、サンプリングを実行させ、フィルタリングによるデータ数の削減が好ましい場合は、フィルタリングを実行させるように、データ数の削減方法を切り替えることができる。
【０１５５】
上記の各実施形態では、プローブカーに設けられた時系列データ発生源１がデータを発生させ、そのデータに対して、サンプリング等を行い解析ウィンドウを作成する前処理を行う場合を例示した。このような解析ウィンドウは、渋滞情報の生成の他にも、例えば、ヒヤリハットマップを用いて警告を行うといった解析に利用できる。同様に、人が時系列データ発生源１となるセンサを所持して、人に対して、ヒヤリハットマップを用いて警告するといった解析にも利用できる。また、データの種類は、上記のような解析に利用されるデータに限定されず、本発明は、解析対象となる種々のデータに対する前処理に適用可能である。
【０１５６】
また、サンプリングを行わない実施形態も考えられ、以下、この実施形態を説明する。本実施形態の解析前処理システムは、図１に示す第１の実施形態と同様に、データ受信手段３とデータストリーム生成手段４とを備える。図２６は、サンプリングを行わない実施形態におけるデータストリーム生成手段４の構成例を示すブロック図である。この実施形態において、データストリーム生成手段４は、ストリームデータ生成手段４０１と、送信データバッファ４０２と、解析ウィンドウ生成手段４０３と、ストリームデータ送信手段４０４とを備える。これらの各手段は、第１の実施形態と同様である。ただし、サンプリング手段４０６は設けられておらず、ストリームデータ生成手段４０１は、切り出したデータを全て送信データバッファ４０２に記憶させる。また、ストリームデータ生成手段４０１は、データを送信データバッファ４０２に記憶させた場合、その旨の通知として、例えば、記憶させたメモリ領域へのポインタを解析ウィンドウ生成手段４０３に通知する。
【０１５７】
この構成の場合、データストリーム生成ステップ（ステップＳ２、図１１参照）において、ステップＳ２０３（サンプリング処理）が行われないが、他の点に関しては、第１の実施形態と同様である。
【０１５８】
図２６に示す構成としても、データをデータベースやファイルとして記憶させておく場合よりも、迅速にデータを時系列データ解析手段５に送ることができる。ただし、送信データバッファ４０２でのデータ溢れを防止するために、第１から第４の各実施形態で示したようにサンプリング手段４０６を設けることが好ましい。
【０１５９】
次に、本発明の最小構成を説明する。図２７は、本発明の最小構成を示す説明図である。本発明の解析前処理システムは、データ取得手段７１と、データ切り出し手段７２と、バッファ７４と、サンプリング手段７３と、解析用データ決定手段７５と、解析用データ出力手段７６とを備える。
【０１６０】
データ取得手段７１（例えばデータ受信手段３）は、複数のデータ発生源で生成されたデータ群を取得する。
【０１６１】
データ切り出し手段７２（例えばストリームデータ生成手段４０１）は、データ取得手段７１が取得したデータ群から個々のデータを切り出す。
【０１６２】
バッファ７４（例えば送信データバッファ４０２）は、解析に用いられるデータを記憶する。
【０１６３】
サンプリング手段７３（例えばサンプリング手段４０６）は、切り出されたデータから一部のデータをサンプリングし、バッファ７４に記憶させる。
【０１６４】
解析用データ決定手段７５（例えば解析ウィンドウ生成手段４０３）は、バッファ７４に記憶されたデータの中から、解析に用いられるデータの集合である解析データ群（例えば解析ウィンドウ）を定める。
【０１６５】
解析用データ出力手段７６（例えばストリームデータ送信手段４０４）は、データを解析するデータ解析手段（例えば時系列データ解析手段５）に解析データ群を送る。
【０１６６】
そのような構成により、多数のデータ発生源から大量のデータが送信されても、データが溢れることを防止しつつ、データを解析する手段に対して高速にデータを渡すことができる。
【０１６７】
また、上記の実施形態には、サンプリング手段７３が、データを無作為にサンプリングする構成が開示されている。そのような構成によれば、データの解析精度への影響を少なくすることができる。
【０１６８】
また、上記の実施形態には、サンプリング手段７３が、与えられるデータ量の一定時間毎の実績から将来与えられるデータ量を予測する予測手段（例えば流量監視手段４０６０６）と、バッファ７４の使用量を計測するバッファ使用量計測手段（例えば送信データバッファ利用量測定手段４０６０７）と、予測されたデータ量と、バッファの使用量とに基づいて、サンプリングレートを計算するサンプリングレート計算手段（例えばサンプリングレート計算手段４０６０５）と、サンプリングレートに応じてデータをサンプリングする標本抽出手段（例えば標本抽出手段４０６０１）とを有する構成が開示されている。
【０１６９】
そのような構成によれば、バッファ７４の使用量や予測されるデータ量によって、動的にサンプリングレートを定めることができる。
【０１７０】
また、上記の実施形態には、サンプリングレート計算手段が、バッファ７４の使用量からバッファ７４の空き容量を計算し、空き容量に記憶させることができるデータ数と予測されたデータ量との関係からサンプリングデータを計算する構成が開示されている。
【０１７１】
そのような構成によれば、バッファ７４における無駄な空き容量を少なくすることができる。
【０１７２】
また、上記の実施形態には、サンプリング手段が、外部から入力されたサンプリングレートを記憶するサンプリングレート記憶手段（例えばサンプリングレート記憶手段４０６０３）と、サンプリングレートに応じてデータをサンプリングする標本抽出手段（例えば標本抽出手段４０６０１）とを有する構成が開示されている。
【０１７３】
また、上記の実施形態には、データ切り出し手段７２が切り出したデータ毎に、所定の条件を満たしているか否かを判定し、所定の条件を満たしているデータをサンプリング手段７３に入力し、所定の条件を満たしていないデータを破棄するフィルタリング手段（例えばフィルタリング手段４０７）を備える構成が開示されている。
【０１７４】
そのような構成によれば、冗長なデータをバッファ７４に記憶させることを防止できる。そして、その分、サンプリング処理で破棄するデータを少なくして、できるだけバッファ７４にデータを記憶させることができる。
【０１７５】
また、上記の実施形態には、フィルタリング手段が、データ切り出し手段７２が切り出したデータ毎に、既にバッファ７２に記憶されているいずれのデータともデータの内容が異なるという条件を満たしているか否かを判定する内容一致不一致判定手段（例えば同一性判定手段４０７０２）と、条件を満たしてないデータを破棄し、条件を満たすデータをサンプリング手段に入力するデータ選別手段（例えばデータ選別手段４０７０１）とを有する構成が開示されている。
【０１７６】
また、上記の実施形態には、フィルタリング手段が、データに含まれる内容が有効であることを示す基準を記憶する基準記憶手段（例えば有効データ定義手段４０７１３）と、データ切り出し手段７２が切り出したデータ毎に、データの内容が基準を満たしているか否かを判定する基準判定手段（例えば有効性判定手段４０７１２）と、データの内容が基準を満たしていないデータを破棄し、基準を満たしているデータをサンプリング手段７３に入力するデータ選別手段（例えばデータ選別手段４０７１１）とを有する構成が開示されている。
【０１７７】
また、上記の実施形態には、フィルタリング手段が、データ切り出し手段７２から入力された各データのデータ識別情報を記憶するデータ識別情報記憶手段（例えば処理済みデータ記憶手段４０７２３）と、データ切り出し手段７２からデータが入力されたときにそのデータのデータ識別情報がデータ識別情報記憶手段に記憶されているか否かを判定し、記憶されていないときにはそのデータのデータ識別情報をデータ識別情報記憶手段に記憶させる重複判定手段（例えば有効性判定手段４０７２２）と、データ識別情報がデータ識別情報記憶手段に記憶されていたと判定されたデータを破棄し、データ識別情報がデータ識別情報記憶手段に記憶されていなかったと判定されたデータをサンプリング手段に入力するデータ選別手段（例えばデータ選別手段４０７２１）とを有する構成が開示されている。
【０１７８】
また、上記の実施形態には、データ切り出し手段が切り出したデータ毎に、所定の条件を満たしているか否かを判定し、所定の条件を満たしているデータをバッファ７４に記憶させ、所定の条件を満たしていないデータを破棄するフィルタリング手段（例えばフィルタリング手段４０７）と、データ切り出し手段７２が切り出したデータをサンプリング手段７３とフィルタリング手段のどちらに入力させるかを制御する切替手段（例えば切替手段４０９）とを備える構成が開示されている。
【０１７９】
また、上記の実施形態には、解析用データ決定手段７５が、一定期間毎に、一定期間内にバッファ７４に記憶されたデータの集合を解析データ群として定める構成が開示されている。
【０１８０】
また、上記の実施形態には、解析用データ決定手段７５が、バッファ７４に記憶されたデータ数が所定個に達する毎に、所定個のデータの集合を解析データ群として定める構成が開示されている。
【０１８１】
また、上記の実施形態には、解析用データ出力手段７６が、データ解析手段に送った解析データ群に属する各データをバッファ７４から削除する構成が開示されている。
【０１８２】
また、上記の実施形態には、データを解析するデータ解析手段を備え、データ解析手段が、解析用データ出力手段７６が出力した解析データ群を保持し、解析を終えた解析データ群を削除することで解析用データ出力手段７６とは非同期に解析を行う構成が開示されている。
【０１８３】
なお、上記の実施の形態では、以下の（１）〜（１５）に示すような解析前処理システムの特徴的構成が示されている。
【０１８４】
（１）複数のデータ発生源で生成されたデータ群を取得するデータ取得部と、データ取得部が取得したデータ群から個々のデータを切り出すデータ切り出し部と、解析に用いられるデータを記憶するバッファと、切り出されたデータから一部のデータをサンプリングし、バッファに記憶させるサンプリング部と、バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める解析用データ決定部と、データを解析するデータ解析部に解析データ群を送る解析用データ出力部とを備えることを特徴とする解析前処理システム。
【０１８５】
（２）サンプリング部が、データを無作為にサンプリングする解析前処理システム。
【０１８６】
（３）サンプリング部が、与えられるデータ量の一定時間毎の実績から将来与えられるデータ量を予測する予測部と、バッファの使用量を計測するバッファ使用量計測部と、予測されたデータ量と、バッファの使用量とに基づいて、サンプリングレートを計算するサンプリングレート計算部と、サンプリングレートに応じてデータをサンプリングする標本抽出部とを有する解析前処理システム。
【０１８７】
（４）サンプリングレート計算部が、バッファの使用量からバッファの空き容量を計算し、空き容量に記憶させることができるデータ数と予測されたデータ量との関係からサンプリングデータを計算する解析前処理システム。
【０１８８】
（５）サンプリング部が、外部から入力されたサンプリングレートを記憶するサンプリングレート記憶部と、サンプリングレートに応じてデータをサンプリングする標本抽出部とを有する解析前処理システム。
【０１８９】
（６）データ切り出し部が切り出したデータ毎に、所定の条件を満たしているか否かを判定し、所定の条件を満たしているデータをサンプリング部に入力し、所定の条件を満たしていないデータを破棄するフィルタリング部を備える解析前処理システム。
【０１９０】
（７）フィルタリング部が、データ切り出し部が切り出したデータ毎に、既にバッファに記憶されているいずれのデータともデータの内容が異なるという条件を満たしているか否かを判定する内容一致不一致判定部と、条件を満たしてないデータを破棄し、条件を満たすデータをサンプリング部に入力するデータ選別部とを有する解析前処理システム。
【０１９１】
（８）フィルタリング部が、データに含まれる内容が有効であることを示す基準を記憶する基準記憶部と、データ切り出し部が切り出したデータ毎に、データの内容が基準を満たしているか否かを判定する基準判定部と、データの内容が基準を満たしていないデータを破棄し、基準を満たしているデータをサンプリング部に入力するデータ選別部とを有する解析前処理システム。
【０１９２】
（９）フィルタリング部が、データ切り出し部から入力された各データのデータ識別情報を記憶するデータ識別情報記憶部と、データ切り出し部からデータが入力されたときに当該データのデータ識別情報がデータ識別情報記憶部に記憶されているか否かを判定し、記憶されていないときには当該データのデータ識別情報をデータ識別情報記憶部に記憶させる重複判定部と、データ識別情報がデータ識別情報記憶部に記憶されていたと判定されたデータを破棄し、データ識別情報がデータ識別情報記憶部に記憶されていなかったと判定されたデータをサンプリング部に入力するデータ選別部とを有する解析前処理システム。
【０１９３】
（１０）データ切り出し部が切り出したデータ毎に、所定の条件を満たしているか否かを判定し、所定の条件を満たしているデータをバッファに記憶させ、所定の条件を満たしていないデータを破棄するフィルタリング部と、データ切り出し部が切り出したデータをサンプリング部とフィルタリング部のどちらに入力させるかを制御する切替部とを備える解析前処理システム。
【０１９４】
（１１）解析用データ決定部が、一定期間毎に、一定期間内にバッファに記憶されたデータの集合を解析データ群として定める解析前処理システム。
【０１９５】
（１２）解析用データ決定部が、バッファに記憶されたデータ数が所定個に達する毎に、所定個のデータの集合を解析データ群として定める解析前処理システム。
【０１９６】
（１３）解析用データ出力部が、データ解析部に送った解析データ群に属する各データをバッファから削除する解析前処理システム。
【０１９７】
（１４）データを解析するデータ解析部を備え、データ解析部が、解析用データ出力部が出力した解析データ群を保持し、解析を終えた解析データ群を削除することで解析用データ出力部とは非同期に解析を行う解析前処理システム。
【０１９８】
（１５）複数のデータ発生源で生成されたデータ群を取得するデータ取得手段と、データ取得手段が取得したデータ群から個々のデータを切り出すデータ切り出し手段と、解析に用いられるデータを記憶するバッファと、切り出されたデータから一部のデータをサンプリングし、バッファに記憶させるサンプリング手段と、バッファに記憶されたデータの中から、解析に用いられるデータの集合である解析データ群を定める解析用データ決定手段と、データを解析するデータ解析手段に解析データ群を送る解析用データ出力手段とを備えることを特徴とする解析前処理システム。
【０１９９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０２００】
この出願は、２００９年２月２０日に出願された日本出願特願２００９−０３８４１４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【０２０１】
本発明は、解析のために収集させるデータを解析用にまとめる解析前処理システムに好適に適用される。
【符号の説明】
【０２０２】
１  時系列データ発生源
２  データ送信手段
３  データ受信手段
４  データストリーム生成手段
５  時系列データ解析手段
７  解析前処理システム
４０１  ストリームデータ生成手段
４０２  送信データバッファ
４０３  解析ウィンドウ生成手段
４０４  ストリームデータ送信手段
４０６  サンプリング手段
４０７  フィルタリング手段
４０６０１  標本抽出手段
４０６０２  サンプリングレート設定手段
４０６０３  サンプリングレート記憶手段
４０６０５  サンプリングレート計算手段
４０６０６  流量監視手段
４０６０７  送信データバッファ利用量測定手段
４０７０１  データ選別手段
４０７０２  同一性判定手段
４０７１１，４０７２１  データ選別手段
４０７１２，４０７２２  有効性判定手段
４０７１３  有効データ定義手段
４０７２３  処理済みデータ記憶手段
【図１】
2010095457.tif 000003
【図２】
2010095457.tif 000004
【図３】
2010095457.tif 000005
【図４】
2010095457.tif 000006
【図５】
2010095457.tif 000007
【図６】
2010095457.tif 000008
【図７】
2010095457.tif 000009
【図８】
2010095457.tif 000010
【図９】
2010095457.tif 000011
【図１０】
2010095457.tif 000012
【図１１】
2010095457.tif 000013
【図１２】
2010095457.tif 000014
【図１３】
2010095457.tif 000015
【図１４】
2010095457.tif 000016
【図１５】
2010095457.tif 000017
【図１６】
2010095457.tif 000018
【図１７】
2010095457.tif 000019
【図１８】
2010095457.tif 000020
【図１９】
2010095457.tif 000021
【図２０】
2010095457.tif 000022
【図２１】
2010095457.tif 000023
【図２２】
2010095457.tif 000024
【図２３】
2010095457.tif 000025
【図２４】
2010095457.tif 000026
【図２５】
2010095457.tif 000027
【図２６】
2010095457.tif 000028
【図２７】
2010095457.tif 000029
【図２８】
2010095457.tif 000030
【国際調査報告】
2010095457.tif 000031
2010095457.tif 000032
2010095457.tif 000033
2010095457.tif 000034