(57)【要約】【課題】ネットワークを流れる複数のデータの中から次に受信するデータを効率良く予測できるデータ処理装置及びデータ処理方法を提供することを課題とする。【解決手段】ネットワークＮを流れる複数のデータから各データを順次受信するデータ処理装置１であって、複数のデータを通信周期毎に分類し、通信周期毎に当該通信周期を有するデータについての検索情報を生成する分類手段１１と、分類手段１１で生成した通信周期毎の検索情報に基づいてデータを検索する検索手段１２，１５とを備えることを特徴とし、分類手段１１では、少なくとも周期性の有無及び周期性がある場合には周期が記述されたデータ定義ファイルに基づいて、複数のデータを通信周期毎に分類し、通信周期毎の検索情報を生成すると好適である。【選択図】図１
2010122996.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを流れる複数のデータから各データを順次受信するデータ処理装置であって、
複数のデータを通信周期毎に分類し、通信周期毎に当該通信周期を有するデータについての検索情報を生成する分類手段と、
前記分類手段で生成した通信周期毎の検索情報に基づいてデータを検索する検索手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記分類手段は、ネットワークを流れるデータについての少なくとも周期性の有無及び周期性がある場合には周期が記述されたデータ定義ファイルに基づいて、複数のデータを通信周期毎に分類し、通信周期毎の検索情報を生成することを特徴とする請求項１に記載するデータ処理装置。
【請求項３】
前記検索手段で検索したデータに関連した処理を取得する取得手段を備えることを特徴とする請求項１又は請求項２に記載するデータ処理装置。
【請求項４】
前記分類手段は、同一の通信周期を有するデータが複数存在する場合、同一の通信周期を有するデータを受信した順に当該受信したデータに関する情報を並べ、検索情報を生成することを特徴とする請求項１〜請求項３のいずれか１項に記載するデータ処理装置。
【請求項５】
前記分類手段は、周期性がないデータが存在する場合、通信周期毎の検索情報とは別に周期性がないデータに対する検索情報を生成することを特徴とする請求項１〜請求項４のいずれか１項に記載するデータ処理装置。
【請求項６】
データは、センサデータであることを特徴とする請求項１〜請求項５のいずれか１項に記載するデータ処理装置。
【請求項７】
ネットワークを流れる複数のデータから各データを順次受信するデータ処理方法であって、
複数のデータを通信周期毎に分類し、通信周期毎に当該通信周期を有するデータについての検索情報を生成する分類工程と、
前記分類工程で生成した通信周期毎の検索情報に基づいてデータを検索する検索工程と
を含むことを特徴とするデータ処理方法。
【請求項８】
前記分類工程は、ネットワークを流れるデータについての少なくとも周期性の有無及び周期性がある場合には周期が記述されたデータ定義ファイルに基づいて、複数のデータを通信周期毎に分類し、通信周期毎の検索情報を生成することを特徴とする請求項７に記載するデータ処理方法。
【請求項９】
前記検索工程で検索したデータに関連した処理を取得する取得工程を含むことを特徴とする請求項７又は請求項８に記載するデータ処理方法。
【請求項１０】
前記分類工程は、同一の通信周期を有するデータが複数存在する場合、同一の通信周期を有するデータを受信した順に当該受信したデータに関する情報を並べ、検索情報を生成することを特徴とする請求項７〜請求項９のいずれか１項に記載するデータ処理方法。
【請求項１１】
前記分類工程は、周期性がないデータが存在する場合、通信周期毎の検索情報とは別に周期性がないデータに対する検索情報を生成することを特徴とする請求項７〜請求項１０のいずれか１項に記載するデータ処理方法。
【請求項１２】
データは、センサデータであることを特徴とする請求項７〜請求項１１のいずれか１項に記載するデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを流れる複数のデータから各データを順次受信するデータ処理装置及びデータ処理方法に関する。
【背景技術】
【０００２】
車両内などに構築されるネットワークに流れる多数のセンサデータを順次受信し、受信したセンサデータに関連した処理を効率的に行うための技術が開発されている。特許文献１に記載のセンサネットワークシステムでは、ネットワークからセンサデータを受信する場合、次に受信するセンサデータを予測し、そのセンサデータを受信する前にそのセンサデータに対応してイベントアクションをキャッシュに予め格納しておく。この予測方法としては、あるセンサデータを受信した場合に、前回の受信時刻と現時刻との差分から周期を求め、その現時刻に周期を加算して次回の受信時刻を予測し、この予測した次回の受信時刻を学習テーブルに登録する。さらに、学習テーブルに登録されているセンサデータ毎に次回の受信時刻と現時刻との差分時間が閾値以下か否かを判定し、閾値以下のセンサデータについてのイベントアクションをイベントアクションテーブルから読み出す。
【特許文献１】特開２００６−２０９４５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のシステムでは、学習テーブルに登録されている全てのセンサデータの次回の受信時刻と現時刻との差分時間をそれぞれ判定して次に受信するセンサデータを検索するので、処理負荷が高い。さらに、同じセンサデータを少なくとも２回受信しなければ、予測及び検索を行うことができない。そのため、センサデータを効率的に検索できず、検索時間を要するので、センサデータに対応するイベントアクションを効率良く読み出せない。また、ネットワークには周期的でないセンサデータも流れている場合があるが、そのようなセンサデータも周期的なセンサデータとみなされて同様に予測及び検索を行うので、学習テーブルに登録される正確でない周期や次回受信時刻に基づいた検索となり、無駄な検索となる。
【０００４】
そこで、本発明は、ネットワークを流れる複数のデータの中から次に受信するデータを効率良く予測できるデータ処理装置及びデータ処理方法を提供することを課題とする。
【課題を解決するための手段】
【０００５】
本発明に係るデータ処理装置は、ネットワークを流れる複数のデータから各データを順次受信するデータ処理装置であって、複数のデータを通信周期毎に分類し、通信周期毎に当該通信周期を有するデータについての検索情報を生成する分類手段と、分類手段で生成した通信周期毎の検索情報に基づいてデータを検索する検索手段とを備えることを特徴とする。
【０００６】
このデータ処理装置では、分類手段により、ネットワークを流れる複数のデータを通信周期毎に分類し、通信周期毎の検索情報を生成する。そして、データ処理装置では、検索手段により、通信周期毎の検索情報に基づいてデータを検索する。ネットワークを同一の通信周期で流れるデータは、通常、ネットワークを流れる順番が不変である。したがって、通信周期毎にデータを分類しておくことにより、次に流れてくるデータを一意に予測することができる。このように、データ処理装置では、ネットワークを流れる複数のデータを通信周期毎に分類して検索情報を生成しておくことにより、検索情報によって次に受信するデータを効率良く予測できる。その結果、ネットワークからデータを受信する際の検索負荷や検索時間を低減できる。
【０００７】
なお、通信周期毎のデータの分類では、厳密に同一の通信周期で分類してもよいし、あるいは、他の通信周期と明らかに異なる同程度の通信周期をグループとして分類してもよい。
【０００８】
本発明の上記データ処理装置では、分類手段は、ネットワークを流れるデータについての少なくとも周期性の有無及び周期性がある場合には周期が記述されたデータ定義ファイルに基づいて、複数のデータを通信周期毎に分類し、通信周期毎の検索情報を生成する構成としてもよい。
【０００９】
ネットワークを流れる各データについて、ネットワークを流れるときの周期性の有無や周期性があるデータについてはその周期などが記述されるデータ定義ファイルがそれぞれ作成される。そして、データ処理装置の分類手段では、各データについてのデータ定義ファイルを参照し、周期性がある各データを通信周期毎に分類し、通信周期毎の検索情報を生成する。このように、データ処理装置では、各データについてのデータ定義ファイルを利用することにより、各データを通信周期毎に簡単に分類することができる。
【００１０】
本発明の上記データ処理装置では、検索手段で検索したデータに関連した処理を取得する取得手段を備える構成としてもよい。
【００１１】
このデータ処理装置では、検索手段で検索情報に基づいてデータを検索した後、取得手段によりその検索されたデータに関連した処理を取得し、そのデータに対して取得した処理を実行する。
【００１２】
本発明の上記データ処理装置では、分類手段は、同一の通信周期を有するデータが複数存在する場合、同一の通信周期を有するデータを受信した順に当該受信したデータに関する情報を並べ、検索情報を生成すると好適である。
【００１３】
上記したように同一の通信周期を有するデータはネットワークを流れる順番が不変であるので、同一の通信周期を有する複数のデータを受信した順に並べると、次もその順番通りにデータが流れてくる。そこで、データ処理装置の分類手段では、同一の通信周期を有するデータが複数存在する場合、同一の通信周期を有するデータを受信した毎にそのデータに関する情報を受信した順に並べ、検索情報を生成する。このように、データ処理装置では、同一の通信周期のデータを受信順に並べて検索情報を生成することにより、検索情報によって同一の通信周期を有する複数のデータがネットワークを流れてくる順番が簡単に判り、効率良く予測や検索ができる。
【００１４】
本発明の上記データ処理装置では、分類手段は、周期性がないデータが存在する場合、通信周期毎の検索情報とは別に周期性がないデータに対する検索情報を生成すると好適である。
【００１５】
ネットワークには、周期性がないデータが流れている場合もある。そこで、データ処理装置の分類手段では、周期性がないデータが存在する場合、周期性があるデータとは別に周期性がないデータを分類し、通信周期毎の検索情報とは別に周期性がないデータに対する検索情報を生成する。このように、データ処理装置では、周期性がないデータを１つの検索情報として生成しておくことにより、周期性があるデータを通信周期毎の検索情報によって効率良く予測及び検索でき、周期性がないデータも専用の検索情報によって効率良く検索できる。
【００１６】
本発明の上記データ処理装置では、データは、センサデータであると好適である。車両などでは多数のセンサを用いて各種制御を行うので、車両などに構築されるネットワークには多数のセンサデータが流れる。そのため、このようなネットワークから受信するセンサデータを効率良く予測し、短時間かつ低負荷でセンサデータを検索することは重要となる。したがって、多数のセンサデータが流れるネットワークには、本発明に係るデータ処理装置は非常に適している。
【００１７】
本発明に係るデータ処理方法は、ネットワークを流れる複数のデータから各データを順次受信するデータ処理方法であって、複数のデータを通信周期毎に分類し、通信周期毎に当該通信周期を有するデータについての検索情報を生成する分類工程と、分類工程で生成した通信周期毎の検索情報に基づいてデータを検索する検索工程とを含むことを特徴とする。
【００１８】
本発明の上記データ処理方法では、分類工程は、ネットワークを流れるデータについての少なくとも周期性の有無及び周期性がある場合には周期が記述されたデータ定義ファイルに基づいて、複数のデータを通信周期毎に分類し、通信周期毎の検索情報を生成する構成としてもよい。
【００１９】
本発明の上記データ処理方法では、検索工程で検索したデータに関連した処理を取得する取得工程を含む構成としてもよい。
【００２０】
本発明の上記データ処理方法では、分類工程は、同一の通信周期を有するデータが複数存在する場合、同一の通信周期を有するデータを受信した順に当該受信したデータに関する情報を並べ、検索情報を生成すると好適である。
【００２１】
本発明の上記データ処理方法では、分類工程は、周期性がないデータが存在する場合、通信周期毎の検索情報とは別に周期性がないデータに対する検索情報を生成すると好適である。
【００２２】
本発明の上記データ処理方法では、データは、センサデータであると好適である。
【００２３】
これらの各データ処理方法は、上記の各データ処理装置と同様の作用効果を有する。
【発明の効果】
【００２４】
本発明は、ネットワークを流れる複数のデータを通信周期毎に分類して検索情報を生成しておくことにより、検索情報によって次に受信するデータを効率良く予測できる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して、本発明に係るデータ処理装置及びデータ処理方法の実施の形態を説明する。
【００２６】
本実施の形態では、本発明に係るデータ処理装置及びデータ処理方法を、車両に搭載されるセンサデータ処理装置に適用する。本実施の形態に係るセンサデータ処理装置では、車両内に構築されているネットワークから各種センサのデータを受信し、受信したセンサデータに必要な処理を施してＥＣＵ[Electronic Control Unit]などに出力する。
【００２７】
図１〜図４を参照して、本実施の形態に係るセンサデータ処理装置１について説明する。図１は、本実施の形態に係るセンサデータ処理装置の構成図である。図２は、データ定義ファイルの一例である。図３は、仮アクションリストの一例である。図４は、本アクションリストの一例である。
【００２８】
センサデータ処理装置１は、ネットワークに流れるセンサデータを受信した際に、必要に応じてそのセンサデータに関連した処理を行う機能を実行する。特に、センサデータ処理装置１は、センサデータの周期性に着目し、周期別と周期なしのアクションリストを作成し、アクションリストに基づいて受信するセンサデータの予測及び検索する。
【００２９】
センサデータ処理装置１は、データ定義入力部１０、アクションリスト作成部１１、アクションリスト管理部１２、関連処理登録部１３、関連処理呼出部１４、受信データ検索部１５、受信データ識別部１６、データ受信部１７を備えている。
【００３０】
なお、本実施の形態では、アクションリスト作成部１１が特許請求の範囲に記載する分類手段に相当し、アクションリスト管理部１２及び受信データ検索部１５が特許請求の範囲に記載する検索手段に相当し、関連処理呼出部１４が特許請求の範囲に記載する取得手段に相当する。
【００３１】
車両内に構築されるネットワーク（ＣＡＮ[Controller AreaNetwork]）Ｎは、車両に搭載されるＥＣＵで処理されたデータや各センサＳのデータなどを通信するためのネットワークである。各センサＳでは、センサの種類などに応じて周期的あるいは非周期的にデータを出力している。各センサＳからのセンサデータは、ネットワークＮに直接流すものもあれば、ＥＣＵを介してネットワークＮに流すものもある。
【００３２】
信頼性やリアルタイム性を重視した車両内のネットワークでは、ネットワークに流れるデータの種類、周期、サイズなどが設計時に決定していると考えられる。したがって、このようなネットワークを流れる各データ（特に、センサデータ）に対しては、設計時に、データ定義ファイルを予め用意することができる。また、車両内に構築されるネットワークは、帯域が限られているので、同時に多量のデータを流すことはできない。したがって、ネットワークの帯域やネットワークを流れるデータの数などに基づいて、各データについての周期やサイズが決定される。
【００３３】
図２には、データ定義ファイルの一例を示している。データ定義ファイルに記述される情報は、例えば、データＩＤ、データが周期的に流れるか否か、周期的に流れる場合にはその周期、データ送信元情報（センサ種類、データ単位、検出精度など）、データサイズがある。データ定義ファイルは、１つのデータに対して１つずつ用意されてもよいし、あるいは、複数（全部でもよい）のデータに対して１つ用意されてもよい。
【００３４】
アクションリストは、センサデータ毎に付与されるデータＩＤによって次に受信するセンサデータを予測できるリストであり、受信したセンサデータをデータＩＤによって検索するためのリストである。アクションリストとしては、周期性を有するセンサデータについては周期毎のリストがそれぞれ作成され、周期性を有さないセンサデータについては周期なしのリストが作成される。周期毎の各アクションリストは、同一の周期を持つ各センサデータのアクション情報からなり、同一の周期を持つセンサデータがネットワークＮを流れてくる順（センサデータ処理装置１で受信した順）にアクション情報が並べられている。周期なしのアクションリストは、周期性がない各センサデータのアクション情報からなり、任意の順でアクション情報が並べられている。
【００３５】
アクション情報には、センサデータのデータＩＤとそのセンサデータに関連した処理を行う機能を呼び出すための情報（例えば、機能を呼び出すためのアドレス情報）が登録される。各センサデータに対してどのような機能を実行するかは、センサの種類や検出精度、後工程で行うアプリケーションなどに応じて決定される。したがって、初期化時にアプリケーションが決まっている場合には初期化時に機能を呼び出すための情報を登録でき、アプリケーションが稼動後に追加や変更された場合には稼動後に機能を呼び出すための情報が登録される。なお、センサデータに対して処理を行うことなく、生データのまま後工程に出力する場合にはＮｕｌｌ（機能を呼び出すための情報が無い）が設定される。なお、アクションリストは、双方向リストでもよいし、あるいは、単方向リストでもよい。
【００３６】
データ定義入力部１０では、ネットワークＮから受信する各センサデータのデータ定義ファイルを読み込む。ここでは、センサデータ処理装置１で取り扱うセンサデータのデータ定義ファイルだけが読み込まれる。
【００３７】
アクションリスト作成部１１では、初期化時に、データ定義入力部１０で読み込んだ多数のセンサデータに対するデータ定義ファイルから仮のアクションリストを作成する。具体的には、アクションリスト作成部１１では、データ定義ファイルに基づいて、センサデータ毎にデータＩＤと関連処理機能の情報（初期値としてＮｕｌｌを設定）からなるアクション情報を作成する。そして、アクションリスト作成部１１では、データ定義ファイルに基づいて、周期性があるセンサデータのアクション情報と周期性がないセンサデータのアクション情報とを分類し、周期性があるセンサデータについては同一の周期を有するセンサデータのアクション情報毎に分類する。さらに、アクションリスト作成部１１では、同一の周期毎に分類されたアクション情報を各周期リンクヘッダに所定の順番（例えば、データＩＤの順番）で繋げ、周期毎の仮アクションリストをそれぞれ作成する。また、アクションリスト作成部１１では、周期なしに分類されたアクション情報を周期なしリンクヘッダに所定の順番で繋げ、周期なしの仮アクションリストを作成する。
【００３８】
なお、この仮アクションリスト作成時には、関連処理機能の情報としては処理を行わない「Ｎｕｌｌ」が設定される。但し、初期化時に、後工程でのアプリケーションが決定しており、センサデータ（データＩＤ）に対応する関連処理機能が決定している場合にはアクション情報に登録されているデータＩＤに基づいて関連処理機能の情報を予め登録しておいてもよい。また、初期化時には、ネットワークＮからセンサデータを受信していないので、同一の周期のセンサデータの中でネットワークＮを流れる順番が判らないため、任意の順番でアクション情報が並べられる。このような順番が不確定な状態のアクションリストが仮アクションリストである。
【００３９】
図３には、初期化時に作成された仮アクションリストの一例を示している。この例は、読み込まれたデータ定義ファイルが１６個であり（１つのセンサデータに対して１つのデータ定義ファイルの場合）、１００ｍｓｅｃの周期で流れるセンサデータが４個、５００ｍｓｅｃの周期で流れるセンサデータが４個、１秒の周期で流れるセンサデータが４個、周期性がないセンサデータが４個の場合のアクションリストである。周期１００ｍｓｅｃの仮アクションリストＰＬ１は、周期（１００ｍｓｅｃ）リンクヘッダにアクション情報Ａ１（データＩＤ＝１）、アクション情報Ａ２（データＩＤ＝２）、アクション情報Ａ３（データＩＤ＝３）、アクション情報Ａ４（データＩＤ＝４）の順で繋がったリストである。周期５００ｍｓｅｃの仮アクションリストＰＬ２は、周期（５００ｍｓｅｃ）リンクヘッダにアクション情報Ａ５（データＩＤ＝５）、アクション情報Ａ６（データＩＤ＝６）、アクション情報Ａ７（データＩＤ＝７）、アクション情報Ａ８（データＩＤ＝８）の順で繋がったリストである。周期１ｓｅｃの仮アクションリストＰＬ３は、周期（１ｓｅｃ）リンクヘッダにアクション情報Ａ９（データＩＤ＝９）、アクション情報Ａ１０（データＩＤ＝１０）、アクション情報Ａ１１（データＩＤ＝１１）、アクション情報Ａ１２（データＩＤ＝１２）の順で繋がったリストである。周期なしの仮アクションリストＰＬ４は、周期なしリンクヘッダにアクション情報Ａ１３（データＩＤ＝１３）、アクション情報Ａ１４（データＩＤ＝１４）、アクション情報Ａ１５（データＩＤ＝１５）、アクション情報Ａ１６（データＩＤ＝１６）の順で繋がったリストである。ちなみに、実際のネットワークでは、多数のデータが存在し、周期毎の各データや周期性のない各データがほぼ同じ数で均等に分類されることは稀である。
【００４０】
アクションリスト作成部１１では、システム稼動後の過渡期（仮アクションリストのアクション情報を本アクションリストに繋ぎかえる過程）に、仮アクションリストから本アクションリストを作成する。具体的には、アクションリスト作成部１１では、ネットワークＮを流れるセンサデータを受信する毎に、受信データ検索部１５で何れかの仮アクションリストの中にその受信したセンサデータのデータＩＤに一致するアクション情報を検索できた場合、その仮アクションリストに繋がっているアクション情報を本アクションリストに繋ぎかえる。本アクションリストにアクション情報を繋ぐ場合、リストの先頭に繋ぐ。したがって、本アクションリストでは、先頭に最も直近に受信されたセンサデータのアクション情報が繋がっており、最後尾に最も過去に受信されたセンサデータのアクション情報が繋がっている。その結果、仮アクションリストのアクション情報が全て本アクションリストに繋がった場合、本アクションリストに繋がっているアクション情報の順番でセンサデータがネットワークＮを流れるので、次に受信すると予測されるセンサデータは本アクションリストの最後尾に繋がっているアクション情報のセンサデータである。
【００４１】
なお、周期性がないアクションリストについては、本アクションリストを作成する際に、所定のルールに基づいてアクション情報を繋げてもよいし、あるいは、任意の順番で繋げてもよい。所定のルールで繋げる場合、例えば、上記のようにセンサデータを受信した順にリストの先頭に繋いでもよいし、受信した頻度が多い順に繋いでもよい。
【００４２】
稼動後の過渡期には、本アクションリストと仮アクションリストが存在する。周期１００ｍｓｅｃのアクションリストを例に挙げて具体的に説明する。稼動後に、最初に、周期１００ｍｓｅｃのセンサデータの中でデータＩＤが４のセンサデータを受信した場合、周期１００ｍｓｅｃの本アクションリストの先頭にデータＩＤが４のアクション情報が繋げられるので、周期１００ｍｓｅｃの本アクションリストＦＬ１はアクション情報Ａ４（データＩＤ＝４）だけが繋がったリストになり、仮アクションリストＰＬ１はアクション情報Ａ１（データＩＤ＝１）、アクション情報Ａ２（データＩＤ＝２）、アクション情報Ａ３（データＩＤ＝３）の順で繋がったリストになる。次に、周期１００ｍｓｅｃのセンサデータの中でデータＩＤが１のセンサデータを受信した場合、周期１００ｍｓｅｃの本アクションリストの先頭にデータＩＤが１のアクション情報が繋げられるので、周期１００ｍｓｅｃの本アクションリストＦＬ１はアクション情報Ａ１（データＩＤ＝１）、アクション情報Ａ４（データＩＤ＝４）の順で繋がったリストになり、仮アクションリストＰＬ１はアクション情報Ａ２（データＩＤ＝２）、アクション情報Ａ３（データＩＤ＝３）の順で繋がったリストになる。次に、周期１００ｍｓｅｃのセンサデータの中でデータＩＤが２のセンサデータを受信した場合、周期１００ｍｓｅｃの本アクションリストの先頭にデータＩＤが２のアクション情報が繋げられるので、周期１００ｍｓｅｃの本アクションリストＦＬ１はアクション情報Ａ２（データＩＤ＝２）、アクション情報Ａ１（データＩＤ＝１）、アクション情報Ａ４（データＩＤ＝４）の順で繋がったリストになり、仮アクションリストＰＬ１はアクション情報Ａ３（データＩＤ＝３）だけが繋がったリストになる。
【００４３】
アクションリスト作成部１１では、過渡期終了後（全ての仮アクションリストのアクション情報が本アクションリストに繋ぎかえられた後）、本アクションリストの中で繋ぎかえを行う。具体的には、アクションリスト作成部１１では、ネットワークＮを流れるセンサデータを受信する毎に、受信データ検索部１５で何れかの本アクションリストの中にその受信したセンサデータのデータＩＤに一致するアクション情報を検索できた場合、その本アクションリストのアクション情報をリストの最後尾（稀に、最後尾でない場合もある）から先頭に繋ぎかえる。
【００４４】
図４には、図３の仮アクションリストが全て本アクションリストになった場合を示している。周期１００ｍｓｅｃの本アクションリストＦＬ１は、周期（１００ｍｓｅｃ）リンクヘッダにアクション情報Ａ３（データＩＤ＝３）、アクション情報Ａ２（データＩＤ＝２）、アクション情報Ａ１（データＩＤ＝１）、アクション情報Ａ４（データＩＤ＝４）の順で繋がったリストになる。この本アクションリストＦＬ１により、この時点では周期１００ｍｓｅｃのセンサデータの中ではデータＩＤが４のセンサデータ、データＩＤが１のセンサデータ、データＩＤが２のセンサデータ、データＩＤが３のセンサデータの順に流れてくると予測できる。周期５００ｍｓｅｃの本アクションリストＦＬ２は、周期（５００ｍｓｅｃ）リンクヘッダにアクション情報Ａ６（データＩＤ＝６）、アクション情報Ａ５（データＩＤ＝５）、アクション情報Ａ７（データＩＤ＝７）、アクション情報Ａ８（データＩＤ＝８）の順で繋がったリストになる。この本アクションリストＦＬ２により、この時点では周期５００ｍｓｅｃのセンサデータの中でデータＩＤが８のセンサデータ、データＩＤが７のセンサデータ、データＩＤが５のセンサデータ、データＩＤが６のセンサデータの順に流れてくると予測できる。周期１ｓｅｃの本アクションリストＦＬ３は、周期（１ｓｅｃ）リンクヘッダにアクション情報Ａ９（データＩＤ＝９）、アクション情報Ａ１０（データＩＤ＝１０）、アクション情報Ａ１２（データＩＤ＝１２）、アクション情報Ａ１１（データＩＤ＝１１）の順で繋がったリストになる。この本アクションリストＦＬ３により、この時点では周期１ｓｅｃのセンサデータの中でデータＩＤが１１のセンサデータ、データＩＤが１２のセンサデータ、データＩＤが１０のセンサデータ、データＩＤが９のセンサデータの順に流れてくると予測できる。周期なしの本アクションリストＦＬ４は、周期なしリンクヘッダにアクション情報Ａ１３（データＩＤ＝１３）、アクション情報Ａ１６（データＩＤ＝１６）、アクション情報Ａ１５（データＩＤ＝１５）、アクション情報Ａ１４（データＩＤ＝１４）の順で繋がったリストになる。周期性がない場合、各センサデータが同じ周期で流れないので、流れる順番が絶えず変動する。
【００４５】
アクションリスト管理部１２は、アクションリスト作成部１１で作成されたアクションリストを管理する。具体的には、アクションリスト管理部１２では、システム稼動後の過渡期に、ネットワークＮを流れるセンサデータを受信する毎に、複数の仮アクションリストの中から何れかの仮アクションリストを選択する。この選択では、最適な選択方法が採られ、例えば、周期の短い仮アクションリストから選択する。そして、アクションリスト管理部１２では、選択した仮アクションリストが実際に存在するか否かを判定する。選択した仮アクションリストが存在するが、その仮アクションリストのアクション情報の中に受信したセンサデータのアクション情報が無かった場合、アクションリスト管理部１２では、他の仮アクションリストを選択する。仮アクションリストが存在しない場合（つまり、全ての仮アクションリストのアクション情報の中に受信したセンサデータのデータＩＤが無かった場合）、アクションリスト管理部１２では、複数の本アクションリストの中から何れかの本アクションリストを選択する。そして、アクションリスト管理部１２では、選択した本アクションリストが実際に存在するか否かを判定する。選択した本アクションリストが存在するが、その本アクションリストのアクション情報の中に受信したセンサデータのアクション情報が無かった場合、アクションリスト管理部１２では、他の本アクションリストを選択する。本アクションリストが存在しない場合（つまり、全ての本アクションリストのアクション情報の中に受信したセンサデータのデータＩＤが無かった場合）、このシステムで扱わないセンサデータであるので、アクションリスト管理部１２では、その受信したセンサデータを破棄する。なお、過渡期終了後には、アクションリスト管理部１２では、本アクションリストに対してのみ上記処理を行う。
【００４６】
関連処理登録部１３では、センサデータ毎に、センサデータに関連した処理を行う機能を決定し、その機能を呼び出すための情報をアクション情報に登録する。但し、センサデータに対して処理を行わない場合にはＮｕｌｌを登録する。この関連処理登録部１３での登録は、センサデータのアクション情報毎に、システム稼動前に行うべき処理が決まっている場合にはシステム稼動前（例えば、初期化時の仮アクションリスト作成後に）に行われ、システム稼動後に行うべき処理が決まった場合にはその処理が決まった後にその都度行われる。
【００４７】
関連処理呼出部１４では、受信データ検索部１５でアクション情報を検索できた場合、そのアクション情報に登録されている機能を呼び出すための情報を用いて、その機能を呼び出す。これによって、受信したセンサデータには、必要な各種処理が施される。
【００４８】
受信データ検索部１５では、アクションリストの中からデータ受信部１７で受信したセンサデータ（データＩＤ）に対応するアクション情報を検索する。具体的には、受信データ検索部１５では、ネットワークＮを流れるセンサデータを受信する毎に、受信データ識別部１６から受信したセンサデータのデータＩＤを入力すると、アクションリスト管理部１２で存在が確認された仮アクションリスト又は本アクションリストに基づいて、そのアクションリストに繋がれている各アクション情報のデータＩＤと受信したセンサデータのデータＩＤとをそれぞれ照合し、一致するデータＩＤがあるかを検索する。
【００４９】
特に、本アクションリストを検索する場合、本アクションリストの最後尾に繋がるアクション情報から照合し、データＩＤが一致しない場合にはその前に繋がっているアクション情報と順次照合する。本アクションリストでは、最後に受信したセンサデータのアクション情報が先頭に順次繋がっていくので、最後尾に繋がっているアクション情報が次に受信するセンサデータのものである可能性が非常に高い。また、この検索では、受信したセンサデータとデータＩＤが一致するアクション情報が見つからない場合には先頭のアクション情報まで検索してもよいが（但し、データＩＤが一致する可能性は非常に低い）、検索効率などを考慮して、アクション情報の検索する上限数（例えば、最後尾のアクション情報とその次のアクション情報の２個）を設定しておくよい。この上限を超えた場合、検索を中止し、データＩＤが一致するアクション情報が見つからなかったと判断する。ちなみに、周期の短いセンサデータほど、センサデータを流す微妙なタイミングによって、センサデータが流れる順番が前後する可能性がある。
【００５０】
受信データ識別部１６では、データ受信部１７で受信したセンサデータからデータＩＤを抽出し、そのデータＩＤをアクションリスト管理部１２に出力する。
【００５１】
データ受信部１７では、ネットワークＮに流れるセンサデータを順次受信し、受信したセンサデータを受信データ識別部１６に出力する。
【００５２】
図１を参照して、センサデータ処理装置１における動作について説明する。ここでは、初期化時の動作を図５のフローチャートに沿って説明し、稼動時の動作を図６のフローチャートに沿って説明する。図５は、本実施の形態に係るセンサデータ処理装置における初期化時の動作の流れを示すフローチャートである。図６は、本実施の形態に係るセンサデータ処理装置における稼動時の動作の流れを示すフローチャートである。
【００５３】
初期化時、データ定義入力部１０では、予め用意されているデータ定義ファイルを読み込む（Ｓ１０）。ここで、センサデータ処理装置１で取り扱う全てのセンサデータについてのデータ定義ファイルを読み込む。
【００５４】
アクションリスト作成部１１では、各センサデータについてのデータ定義ファイルに基づいて、センサデータ毎にアクション情報をそれぞれ作成する。そして、アクションリスト作成部１１では、各センサデータについてのデータ定義ファイルに基づいて、各センサデータを周期毎と周期なしに分類し、各センサデータについてのアクション情報からなる周期毎の仮アクションリストと周期なしの仮アクションリストをそれぞれ作成する（Ｓ１１）。
【００５５】
関連処理登録部１３では、センサデータ毎（仮アクションリストに登録されているアクション情報毎）に、センサデータに関連した処理を行う機能をデータＩＤから決定し、アクション情報にその機能を呼び出すための情報（例えば、アドレス）を登録する（Ｓ１２）。ここでは、センサデータに対して行うべき処理が決まっているものだけ、登録が行われる。
【００５６】
システム稼動後、データ受信部１７では、ネットワークＮに流れるセンサデータを順次受信する（Ｓ２０）。受信データ識別部１６では、受信したセンサデータからデータＩＤを抽出し、そのデータＩＤをアクションリスト管理部１２に出力する。
【００５７】
アクションリスト管理部１２では、仮アクションリストの中から何れかの仮アクションリストを指定する（Ｓ２１）。そして、アクションリスト管理部１２では、検索が行われていない仮アクションリストの中に指定した仮アクションリストが存在するか否かを判定する（Ｓ２２）。
【００５８】
Ｓ２２にて仮アクションリストが存在すると判定した場合、受信データ検索部１５では、その仮アクションリストに繋がるアクション情報の中に受信したセンサデータのデータＩＤと一致するデータＩＤのアクション情報があるかを検索し（Ｓ２３）、その仮アクションリストの中にアクション情報が見つかったか否かを判定する（Ｓ２４）。
【００５９】
Ｓ２４にてアクション情報が見つからなかったと判定した場合（すなわち、Ｓ２１で指定した仮アクションリストの中には今回受信したセンサデータのデータＩＤのアクション情報が無かった場合）、Ｓ２１の処理に戻って、アクションリスト管理部１２では、別の仮アクションリストを選択する。
【００６０】
Ｓ２４にてアクション情報が見つかったと判定した場合（すなわち、Ｓ２１で指定した仮アクションリストの中に今回受信したセンサデータのアクション情報があった場合）、アクションリスト作成部１１では、そのアクション情報を本アクションリストの先頭に繋ぐ（Ｓ２５）。そして、関連処理呼出部１４では、その見つかったアクション情報に登録されている機能の情報に基づいて、受信したセンサデータに関連する処理の機能を呼び出す（Ｓ２６）。センサデータには、この呼び出された機能によってセンサデータに対して必要な処理が施される。なお、アクション情報における機能の情報がＮｕｌｌの場合、機能は呼び出されず、センサデータには処理は施されない。
【００６１】
Ｓ２２にて仮アクションリストが存在しないと判定した場合（すなわち、全ての仮アクションリストに対する検索が終了し、全ての仮アクションリストの中に今回受信したセンサデータのデータＩＤのアクション情報が無かった場合）、アクションリスト管理部１２では、本アクションリストの中から何れかの本アクションリストを指定する（Ｓ２７）。そして、アクションリスト管理部１２では、稼動後に作成された本アクションリストの中に指定した本アクションリストが存在するか否かを判定する（Ｓ２８）。
【００６２】
Ｓ２８にて本アクションリストが存在しないと判定した場合（すなわち、作成された全ての本アクションリストに対する検索が終了し、全ての本アクションリストの中に今回受信したセンサデータのデータＩＤのアクション情報が無かった場合）、アクションリスト管理部１２では、受信したセンサデータを本システムでは扱わないデータと判断し、そのセンサデータを破棄する（Ｓ２９）。
【００６３】
Ｓ２８にて本アクションリストが存在すると判定した場合、受信データ検索部１５では、その本アクションリストに繋がるアクション情報の中から受信したセンサデータのデータＩＤと一致するデータＩＤのアクション情報があるかを検索し（Ｓ３０）、本アクションリストの中にアクション情報が見つかったか否かを判定する（Ｓ３１）。この検索では、本アクションリストに最後尾に繋がるアクション情報から上限数分のアクション情報だけを検索する。Ｓ３０で受信したセンサデータのデータＩＤと一致するアクション情報が見つかった場合、アクションリスト作成部１１では、そのアクション情報を本アクションリストの先頭に繋ぎかえる。
【００６４】
Ｓ３１にてアクション情報が見つからなかったと判定した場合（すなわち、Ｓ２７で指定した本アクションリストの中には今回受信したセンサデータのアクション情報が無かった場合）、Ｓ２７の処理に戻って、アクションリスト管理部１２では、別の本アクションリストを選択する。
【００６５】
Ｓ３１にてアクション情報が見つかったと判定した場合、関連処理呼出部１４では、その見つかったアクション情報に登録されている機能の情報に基づいて、受信したセンサデータに関連する処理の機能を呼び出す（Ｓ２６）。センサデータには、この呼び出された機能によって各種処理が施される。
【００６６】
稼動後において、上記のＳ２１からＳ２５までの処理は、仮アクションリストから本アクションリストになるまでの過渡期の状態である。したがって、全ての仮アクションリストのアクション情報が本アクションリストに繋ぎかえられた場合（過渡期終了後）、Ｓ２０でセンサデータを受信後、Ｓ２１〜Ｓ２５の処理を飛ばして、Ｓ２７の処理に移行するようにするとよい。
【００６７】
稼動後、ネットワークＮを流れるデータを受信毎に、上記の処理が繰り返し行われる。
【００６８】
なお、上記では、周期性があるセンサデータやアクションリストに対する処理について説明したが、周期性がないセンサデータやアクションリストに対する処理については、周期毎のアクションリストを全て検索後に周期なしのアクションリストを検索あるいはその逆の順序で検索するようにするとよい。
【００６９】
このセンサデータ処理装置１によれば、周期毎にデータ受信順にアクション情報を繋げた本アクションリストを生成することにより、本アクションリストによって次に受信するセンサデータを効率良く予測でき、予測精度も高い。その結果、受信したセンサデータを検索する場合の検索負荷が低減し、検索が高速となる。さらに、センサデータ処理装置１では、本アクションリストを検索する際に検索する上限数を設けることにより、無駄な検索を排除でき、検索がより高速となる。
【００７０】
また、センサデータ処理装置１では、ネットワークを流れるセンサデータをそれぞれ１回受信するだけで、仮アクションリストから本アクションリストが完成するので、その本アクションリストによって次に受信するセンサデータを予測でき、従来より早期に予測可能な状態になる。
【００７１】
また、センサデータ処理装置では、データ定義ファイルに周期性の有無が記述され、その情報に基づいて周期毎のアクションリストと周期なしのアクションリストをそれぞれ作成できるので、周期毎のアクションリストと周期なしのアクションリストとに分けて検索などを行うことができる。そのため、周期的でないセンサデータを周期的なセンサデータとして扱うことがなくなり、より効率良く検索を行うことができる。
【００７２】
また、センサデータ処理装置１では、各センサデータについてのデータ定義ファイルに基づいて扱うデータの種類やデータを処理するのに必要なメモリなどのコンピュータ資源を決定できるので、初期化時（システム稼動前）にコンピュータ資源が枯渇するか否かを判断できる。
【００７３】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【００７４】
例えば、本実施の形態では車両内に構築されるネットワークに流れるセンサデータを取り扱うセンサデータ処理装置に適用したが、センサデータ以外の各種データにも適用可能であり、ロボットなどに構築される他のネットワークあるいはインタネットなどのネットワークにも適用可能である。
【００７５】
また、本実施の形態では検索情報としてアクションリストによるリスト構造を用いたが、検索情報を他の構造で生成してもよい。
【００７６】
また、本実施の形態では本アクションリストにアクション情報を繋ぎかえるときに先頭に繋ぎかえるようにしたが、他の繋ぎかえかたでもよく、例えば、最後尾に繋ぎかえる。
【００７７】
また、本実施の形態ではシステム稼動後に実際にセンサデータを受信した順で本アクションリストでのアクション情報の繋ぎ順を決定したが、稼動前にセンサデータが流れる順が決まっている場合には初期化時に本アクションリストを作成してもよい。
【００７８】
また、本実施の形態では同一の周期を有するセンサデータ毎に分類し、同一の周期を有するセンサデータのアクション情報から１つのアクションリストを生成する構成としたが、リストの生成方法としては様々な方法があり、例えば、ある周期を基点としてべき乗となる周期毎にリストを生成する方法、他のグループの周期とは明らかに異なる周期とそれに近い周期を１つのグループとして分類し、そのグループ毎にリストを生成する方法がある（例えば、周期が１０ｍｓｅｃ、１５ｍｓｅｃ、９００ｍｓｅｃ、９０５ｍｓｅｃのデータがある場合、周期が１０ｍｓｅｃと１５ｍｓｅｃのデータ群を１つのグループとし、９００ｍｓｅｃと９０５ｍｓｅｃのデータ群を１つのグループとして、それぞれアクションリストを生成する）。
【００７９】
また、より高速な検索が可能な構成も考えられる。周期毎の全てのアクションリストを対象として、各周期のアクションリストから予め決められた検索上限数の範囲に存在するアクション情報をそれぞれ抽出し、その抽出した各アクション情報に記述されているデータＩＤからハッシュ値をそれぞれ計算し、ハッシュ表を作成しておく。そして、センサデータを受信する毎に、その受信したセンサデータのデータＩＤからハッシュ値を計算し、ハッシュ表を参照にして、その受信したセンサデータに対するアクション情報を特定する。この特定されたアクション情報についてはアクションリストの先頭に繋ぎかえられるので、ハッシュ表から削除し、そのアクションリストから検索上限数の範囲に新たに入るアクション情報を抽出し、その抽出したアクション情報に記述されているデータＩＤからハッシュ値を計算し、ハッシュ表を更新する。具体的な例を図４のアクションリストを用いて説明する。初期化時に、全てのアクション情報には、データＩＤのハッシュ値が計算され、ハッシュ値が記述されているものとする。検索上限数を２とした場合、各周期のアクションリストの最後尾とその一つ前に繋がれているアクション情報（データＩＤが４、１、８、７、１１、１２の各アクション情報）が抽出され、この抽出されたアクション情報のデータＩＤのハッシュ値を利用してハッシュ表が作成され、このハッシュ表から一意にアクション情報を特定できるようにしておく。この状態で、データＩＤが８のセンサデータを受信した場合、そのデータＩＤの８からハッシュ値が計算され、ハッシュ表からそのハッシュ値に該当するアクション情報が抽出され、アクション情報に記述されるデータＩＤが８の関連処理機能が呼び出される。その後、データＩＤが８のアクション情報がアクションリストの先頭に繋ぎかえられ、ハッシュ表からデータＩＤが８のハッシュ値が削除される。そして、同じ周期のアクションリストから次に繋がれているデータＩＤが５のアクション情報が抽出され、この抽出されたデータＩＤが５のハッシュ値を利用してハッシュ表が更新される。
【００８０】
また、ネットワークに流れるデータ自身に周期的なデータか否かを示すフラグを付与したデータ構成あるいはデータのＩＤに対して周期的なデータか否かで規則を設けてＩＤに組み込むデータ構成とし、その構成のデータがネットワークを流れるようにしてもよい。この場合、受信データ識別部において受信データが周期的なデータか否かを判断でき、周期的でないデータであれば、受信データ検索部において周期なしのアクションリストのアクション情報だけを検索すればよい。この形態も、ハッシュ管理が可能である。
【００８１】
また、ネットワークに流れるデータ内にＩＤとは別に周期を示すフラグを設けたデータ構成とし、その構成のデータがネットワークを流れるようにしてもよい。例えば、周期が１００ｍｓｅｃのフラグを１、５００ｍｓｅｃのフラグを２、１秒のフラグを３、周期なしを０とした場合、データ受信時にそのフラグに基づいてアクションリストを一意に特定でき、より高速な検索が可能となる。この形態も、ハッシュ管理が可能である。
【００８２】
また、仮アクションリストに登録されたセンサデータが実際にネットワークに流れない場合が考えられる。その場合、そのセンサデータのアクション情報が仮アクションリストに残るため、全てのアクション情報が本アクションリストに繋ぎかえられない。したがって、稼動後に何時までも、過渡状態が継続し、仮アクションリストによる検索が続く。そこで、稼動後に所定時間経過した場合、仮アクションリストの検索を強制的に終了したり（本アクションリストのみ対象とする）、あるいは、仮アクションリストに残っているアクション情報を周期なしのアクションリストに繋げる。
【図面の簡単な説明】
【００８３】
【図１】本実施の形態に係るセンサデータ処理装置の構成図である。
【図２】データ定義ファイルの一例である。
【図３】仮アクションリストの一例である。
【図４】本アクションリストの一例である。
【図５】本実施の形態に係るセンサデータ処理装置における初期化時の動作の流れを示すフローチャートである。
【図６】本実施の形態に係るセンサデータ処理装置における稼動時の動作の流れを示すフローチャートである。
【符号の説明】
【００８４】
１…センサデータ処理装置、１０…データ定義入力部、１１…アクションリスト作成部、１２…アクションリスト管理部、１３…関連処理登録部、１４…関連処理呼出部、１５…受信データ検索部、１６…受信データ識別部、１７…データ受信部
【図１】
2010122996.tif 000003
【図２】
2010122996.tif 000004
【図３】
2010122996.tif 000005
【図４】
2010122996.tif 000006
【図５】
2010122996.tif 000007
【図６】
2010122996.tif 000008