(57)【特許請求の範囲】
【請求項１】
第一の記憶部と第一の処理部を備える第一の計算機と、第二の記憶部と第二の処理部を備える複数の第二の計算機から構成される系列データを管理する系列データ管理システムであって、
前記第一の記憶部は前記系列データと該系列データが格納される前記第二の記憶部との対応関係を示す対応情報を記憶し、
前記第一の処理部は、
前記第二の記憶部に格納され、単位キーに基づいて系列ブロックに分割された系列データの検索指示を受信し、
前記対応情報に基づいて、前記検索指示に対応する前記系列データが格納された前記第二の計算機を特定し、
前記特定された第二の計算機に対し、前記検索指示に対応する前記系列データの前記第一の計算機への送信を指示する送信指示を送信し、
前記送信指示に基づいて前記第二の計算機から前記第一の計算機に送信された前記系列データを前記検索指示の送信先に送信し、
前記第二の記憶部は、
前記単位キーごとの前記系列データのアクセス頻度と前記系列ブロック間の結合頻度と前記格納された系列データを記憶し
前記第二の処理部は、
前記第一の処理部からの前記送信指示に基づいて前記系列データを前記第一の計算機に送信し、
前記送信される前記系列データの範囲が複数の前記系列ブロックに含まれる場合、前記結合頻度を更新し、
前記送信される前記系列データの前記アクセス頻度を更新し、
複数の前記系列ブロックを前記結合頻度に基づいて結合して前記第二の記憶部に格納し、
前記系列ブロック及び前記結合された系列ブロックを前記アクセス頻度に基づいて分割することで新たな結合ブロックを生成し、前記第二の記憶部に格納する、ことを特徴とする系列データ管理システム。
【請求項２】
請求項1に記載の系列データ管理システムにおいて、
前記第二の処理部は、前記結合する系列ブロックが複数の前記第二の記憶部に存在する場合、前記結合する系列ブロックを同一の前記第二の計算機に移動して結合して前記第二の記憶部に格納することを特徴とする系列データ管理システム。
【請求項３】
請求項1に記載の系列データ管理システムにおいて、
前記第二の処理部は、前記第二の記憶部の容量に基づいて前記第二の記憶部に格納される系列ブロックを別の前記第二の計算機に移動させることを特徴とする系列データ管理システム。
【請求項４】
請求項1に記載の系列データ管理システムにおいて、
前記第二の処理部は、前記系列ブロックのデータ量に基づいて前記系列ブロックを分割する判定を行うことを特徴とする系列データ管理システム。
【請求項５】
請求項1に記載の系列データ管理システムにおいて、
前記第二の処理部は、前記第二の記憶部の容量に基づいて前記系列ブロックを分割し、
前記分割した系列ブロックを別の前記第二の計算機に移動させることを特徴とする系列データ管理システム。
【請求項６】
第一の計算機にネットワークを介して接続され、処理部と記憶部を備える第二の計算機を構成する情報処理装置であって、
前記記憶部は、
単位キーに基づいて系列ブロックに分割された系列データと前記単位キーごとの前記系列データのアクセス頻度と前記系列ブロック間の結合頻度を記憶し、
前記処理部は、
前記第一の計算機から前記系列データの前記第一の計算機への送信を指示する送信指示を受信し、
前記送信指示に基づいて前記系列データを前記第一の計算機に送信し、
前記送信される前記系列データの範囲が複数の前記系列ブロックに含まれる場合、前記結合頻度を更新し、
前記送信される前記系列データの前記アクセス頻度を更新し、
複数の前記系列ブロックを前記結合頻度に基づいて結合して前記記憶部に格納し、
前記系列ブロック及び前記結合された系列ブロックを前記アクセス頻度に基づいて分割することで新たな結合ブロックを生成し、前記記憶部に格納する、ことを特徴とする情報処理装置。
【請求項７】
請求項6に記載の情報処理装置において、
前記処理部は、前記結合する系列ブロックが複数の前記記憶部に存在する場合、前記結合する系列ブロックを同一の前記記憶部に移動して結合することを特徴とする情報処理装置。
【請求項８】
請求項6に記載の情報処理装置において、
前記処理部は、前記記憶部の容量に基づいて前記記憶部に格納される系列ブロックを別の前記第二の計算機に移動させることを特徴とする情報処理装置。
【請求項９】
請求項6に記載の情報処理装置において、
前記処理部は、前記系列ブロックのデータ量に基づいて前記系列ブロックを分割する判定を行うことを特徴とする情報処理装置。
【請求項１０】
請求項6に記載の情報処理装置において、
前記処理部は、前記記憶部の容量に基づいて前記系列ブロックを分割し、前記分割した系列ブロックを別の前記第二の計算機に移動させることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、センサにより取得され、時間の経過に伴い発生するデータである系列データを処理する方法、及びその方法を実行するデータ処理システムに係る。特に、多数のセンサにより取得される複数の系列データをその時刻ないし測定位置をキーとして集約処理を行う技術に関する。
【背景技術】
【０００２】
従来、高速道路の維持管理業務においては、点検員が２乃至３日に一度の頻度で、交通パトロールカーを走行し、走行時の体感により全線の路面の段差を判定し、損傷が認められる場合は、緊急措置・経過観察・補修の対策を取っている。近年、ＧＰＳ（Ｇｌｏｂａｌ Ｐｏｓｉｔｉｏｎｉｎｇ Ｓｙｓｔｅｍ）、加速度センサなどセンシング技術の発達に伴い、車両に取り付けられた移動体センサを用いて道路損傷状況を自動的に把握することが可能となってきている。たとえば特許文献1は、単一の計測車両の鉛直方向振動データを用いて道路の路面凹凸状態を診断する方法を開示している。
【０００３】
また一方、多数のセンサより日々収集される系列データを複数のストレージに分散して管理し、複数のＣＰＵを用いてデータ演算処理を行うデータ分散処理システムが広く用いられている。特許文献2は、大規模な時系列データをキーと値の集合として表現し、特定キー範囲の時系列データをブロックとして管理し、複数のストレージに分散して格納する方式について述べられている。該ブロックに格納される時系列データの直後の時刻の時系列データが含まれるブロックの複製を該ブロックと同じストレージに格納することにより、二つのブロックに含まれる時系列範囲を対象とする分析において、ストレージ間の通信を抑制する方式を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第4096091号公報
【特許文献２】特許第5799812号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
道路の路面凹凸状態を診断する場合において、測定誤差を低減するためには、特許文献1で開示される単一の車両の計測データを用いる方法ではなく、たとえば一日間に走行する複数車両が計測したデータを集約し、統計処理を行う方法が必要となる。また、路面凹凸状態の経時変化を見積もり、路面損傷の進展を推測し、補修を必要とする時期を予測する場合、あるいは上記路面損傷の進展から外れて急激に変化した個所を検知するためには、異なる日時に計測されたデータを集約し、統計処理を行う方法が必要となる。このような処理を効率的に行うためには、日々収集される多数の系列データを複数のストレージに分散管理し、複数のCPUで分散処理を行う手段が必要となる。
【０００６】
このような分散処理においては、以下二点の課題を両立する必要がある。第一の課題は、各ストレージに格納されるデータ量がほぼ等しいデータサイズを取ること、すなわちデータ量のバランスを取ることである。第二の課題は、分析に必要とされるデータが同じストレージに配置されることにより、分析にあたり必要とされるデータを異なるストレージから取得する通信コストを抑制することである。具体的には、指定した時間範囲、指定した種類の車両のセンサが生成した系列データにおける、道路上の指定した位置（距離標）範囲の系列データができるだけ同じストレージに格納されている必要がある。特に道路状態を診断する場合においては、路面損傷が激しく、経過観察が必要な道路区間を重点的に分析する場合がある。このような分析においては、その距離標区間に存在するデータ量の多寡ではなく、データの性質に応じて分散配置を行う必要がある。
【０００７】
特許文献2は分析者が利用したい距離標区間が同じストレージに格納されることを保障することで第二の課題を解決する。しかし特許文献2は複数の系列データを結合する方式を開示していない。またデータの複製を利用するため、管理すべきデータ量が増加し、ストレージの容量を圧迫してしまう。
【課題を解決するための手段】
【０００８】
本発明の代表的な一形態は、第一の記憶部と第一の処理部を備える第一の計算機と、第二の記憶部と第二の処理部を備える複数の第二の計算機から構成される系列データを管理する系列データ管理システムであって、前記第一の記憶部は前記系列データと該系列データが格納される前記第二の記憶部との対応関係を示す対応情報を記憶し、前記第一の処理部は、前記第二の記憶部に格納され、単位キーに基づいて系列ブロックに分割された系列データの検索指示を受信し、前記対応情報に基づいて、前記検索指示に対応する前記系列データが格納された前記第二の計算機を特定し、前記特定された第二の計算機に対し、前記検索指示に対応する前記系列データの前記第一の計算機への送信を指示する送信指示を送信し、前記送信指示に基づいて前記第二の計算機から前記第一の計算機に送信された前記系列データを前記検索指示の送信先に送信し、前記第二の記憶部は、前記単位キーごとの前記系列データのアクセス頻度と前記系列ブロック間の結合頻度と前記格納された系列データを記憶し前記第二の処理部は、前記第一の処理部からの前記送信指示に基づいて前記系列データを前記第一の計算機に送信し、前記送信される前記系列データの範囲が複数の前記系列ブロックに含まれる場合、前記結合頻度を更新し、前記送信される前記系列データの前記アクセス頻度を更新し、複数の前記系列ブロックを前記結合頻度に基づいて結合して前記第二の記憶部に格納し、前記系列ブロック及び前記結合された系列ブロックを前記アクセス頻度に基づいて分割することで新たな結合ブロックを生成し、前記第二の記憶部に格納するものである。
【発明の効果】
【０００９】
上記構成をとることにより、複数系列データを結合する分析において、系列データを複数の分散ノードにバランスよく配置することを可能とするとともに、分析に必要な系列データを同一ノードに格納することを保証する。これによりノード間の通信量を抑制することができ、並列分析のスケーラビリティが向上することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の概要を説明する概念図である。
【図２】本発明が適用された系列データ管理システムの一実施形態における簡略化されたシステム構成を示すブロック図である。
【図３】マスタノード203のマスタ処理部215を構成する機能ブロック、および記憶装置222に格納される情報を示すブロック図である。
【図４】分散ノード204のノード処理部220を構成する機能ブロック、および記憶装置223に格納される情報を示すブロック図である。
【図５】地物データ管理表T01、地物関係管理表T02の例を示す図である。
【図６】区間管理表T03および区間データ管理部303の例を示す図である。
【図７】分散配置管理表T04の例を示す図である。
【図８】系列データ801の例および系列データ加工部305の処理を説明する概念図である。
【図９】距離標管理表T07、系列ブロック管理表T05、系列ブロックT06の例を示す図である。
【図１０】アクセス頻度管理表T08と結合頻度管理表T09の例およびアクセス頻度更新機能415と結合頻度更新機能420の処理を説明する概念図である。
【図１１Ａ】マスタノード203における系列データ検索機能、系列データ登録機能、系列データ分析機能の入力引数と出力について説明する図である。
【図１１Ｂ】分散ノード204における系列データ検索機能、系列データ登録機能、系列データ分析機能の入力引数と出力について説明する図である。
【図１２】本発明の系列データ検索機能を説明するフローチャートである。
【図１３】本発明の系列データ登録機能を説明するフローチャートである。
【図１４】マスタノード203における本発明の系列データ分析機能を説明するフローチャートである。
【図１５】分散ノード204における本発明の系列データ分析機能を説明するフローチャートである。
【図１６】本発明の系列ブロック最適化機能406を説明するフローチャートである。
【図１７Ａ】本発明の系列ブロック結合機能416の概略動作について説明する図である。
【図１７Ｂ】本発明の系列ブロック再配置機能417の概略動作について説明する図である。
【図１７Ｃ】本発明の系列ブロック分割機能418の概略動作について説明する図である。
【図１８】本発明の系列ブロック結合機能416を説明するフローチャートである。
【図１９】本発明の系列ブロック再配置機能417を説明するフローチャートである。
【図２０】本発明の系列ブロック分割機能418を説明するフローチャートである。
【図２１】本発明の系列データ分散処理システムが対象とする分析アプリケーションの例について説明する図である。
【発明を実施するための形態】
【実施例】
【００１１】
以下、本発明の実施形態について図1から図20を順に参照して説明する。
【００１２】
図1は、本発明の概要を説明する概念図である。本発明では、系列データを、センサ軸、および距離標軸に基づいて複数の系列ブロックT06A、T06B、T06C、T06D、T06E、T06Fなどに分割して管理する。
【００１３】
系列ブロックとは、系列データの集合のことである。系列データは時刻をキーとした観測値の集合である時系列データ、あるいは距離標をキーとした観測値の集合である距離標系列データを意味するが、本発明においては特別に指定した場合を除き、距離標系列データのことを系列データと呼ぶ。
【００１４】
系列ブロックT06A、T06B、T06Cは同じセンサ、T06D、T06E、T06Fも同じセンサが生成した系列データである。また、系列ブロックは分散ノード204A、204Bなどに分散して管理されている。本発明のシステムが系列データの分析要求を受け付けた際、分析に必要な系列データの範囲101に従って複数の系列ブロックT06A、T06B、T06D、T06Eを結合して一つの系列ブロックとしてまとめたのち、範囲101の系列データを部分系列データとして切り出し、分析プログラム405に提供する。
【００１５】
範囲101に対応する系列データが、複数の分散ノードに格納されている場合、範囲101の系列データを含む系列ブロックを通信にて取得する。本発明のシステムは、アクセス頻度表T08を有し、系列データの分析要求を受け付けた際、系列データ範囲101を含む要素102、103、104のアクセス頻度を加算する。
【００１６】
本発明のシステムは、結合頻度表T09を有し、系列データの分析要求を受け付けた際、分析範囲が複数の系列ブロックに含まれる場合、系列ブロックの結合位置の要素105の結合頻度を加算する。本発明のシステムが系列ブロックの分割幅および分散ノード配置の最適化要求を受け付けた際、結合頻度表T09において最も結合頻度の高い位置106で系列ブロック（T06BとT06C、T06EとT06F）を結合する。また系列ブロックが異なる分散ノード204A、204Bに存在する場合、系列ブロックをいずれか一方の分散ノードに再配置する。次にアクセス頻度表T08において結合ブロックの中心位置に近く、最もアクセス頻度の低い位置107で系列ブロック（T06BおよびT06E）を分割する。
【００１７】
以上の操作によって、複数の系列データの分析際に、系列データを複数の分散ノードにバランスよく配置することを可能とするとともに、分析に必要な系列データを同一ノードに格納することを保証出来る。
【００１８】
図2は、本発明の実施形態における系列データ分散処理システムの構成を示すブロック図である。系列データ分散処理システムは、マスタノード203、複数個の分散ノード204、複数個のクライアント201、複数のセンサデバイス202、およびこれらをつなぐネットワーク205から構成される。ネットワーク205は、LAN、WAN等の有線および無線の種々の構成が考えられる。本発明は、マスタノード203、分散ノード204、クライアント201、センサデバイス202が通信できるものであればどのようなネットワークであってもよい。
【００１９】
クライアント201は、プロセッサ207、メモリ208、記憶装置224、ネットワーク205と接続するネットワークインタフェース206、利用者から情報を入力し、また情報を提示する入出力デバイス221を備える。プロセッサ207は、記憶装置224からメモリ208上にロードされたプログラムである通信部209、クライアント部210を実行する事により、クライアント201が供える機能を実現することができる。通信部209はネットワークインタフェース206を介してマスタノード203と情報を交換する機能を有する。
【００２０】
マスタノード203は、プロセッサ212、メモリ213、ネットワーク205と接続するネットワークインタフェース211、記憶装置222を備える。プロセッサ212は、記憶装置222からメモリ213上にロードされたプログラムである通信部214、マスタ処理部215を実行する事により、マスタノード203が供える機能を実現することができる。通信部214はネットワークインタフェース211を介してクライアント201、分散ノード204、センサデバイス202と情報を交換する機能を有する。
【００２１】
分散ノード204は、プロセッサ217、メモリ218、ネットワーク205と接続するネットワークインタフェース216、記憶装置223を備える。プロセッサ217は、記憶装置223からメモリ218上にロードされたプログラムである通信部219、ノード処理部220を実行する事により、分散ノード204が供える機能を実現することができる。プロセッサ217は並列処理のため複数台存在する場合がある。通信部219はネットワークインタフェース216を介してマスタノード203と情報を交換する機能を有する。
【００２２】
センサデバイス202は、図示しないが、センサを通じて計測を行い、計測の結果である時系列データをマスタノード203に送信する機能を有する。
【００２３】
図3は、マスタノード203のマスタ処理部215を構成する機能ブロック、および記憶装置222に格納される情報を示すブロック図である。マスタ処理部215は、系列データ検索部306、系列データ登録部307、系列データ分析部308と、系列データ機能群301から構成される。系列データ機能群301はさらに、地物管理部302、区間データ管理部303、分散配置管理部304、系列データ加工部305から構成される。
【００２４】
マスタノード203は、通信部214を介して他の装置から呼び出される入力インタフェースとして、検索インタフェースI01、登録インタフェースI03、分析インタフェースI05を備える。またマスタノード203は、通信部214を介して他の装置を呼び出す出力インタフェースとして、検索インタフェースI02、登録インタフェースI04、分析インタフェースI06を備える。
【００２５】
記憶装置222には、地物データ管理表T01、地物関係管理表T02、区間管理表T03、分散配置管理表T04が格納される。
【００２６】
図4は、分散ノード204のノード処理部220を構成する機能ブロック、および記憶装置223に格納される情報を示すブロック図である。ノード処理部220は、系列データ検索部402、系列データ登録部403、系列データ分析部404と、系列データ機能群401から構成される。系列データ機能群401はさらに、系列ブロック管理部407、系列データ加工部408、最適化部406、タイマ409から構成される。
【００２７】
分散ノード204は、通信部219を介して他の装置から呼び出される入力インタフェースとして、検索インタフェースI02、登録インタフェースI04、分析インタフェースI06を備える。分散ノード204はさらに、他の装置より与えられた分析プログラム405を呼び出すための分析インタフェースI07を備える。
【００２８】
記憶装置223には、アクセス頻度管理表T08、距離標管理表T07、系列ブロック管理表T05と、複数個の系列ブロックT06が格納される。
【００２９】
図5を用いて、地物データ管理表T01、地物関係管理表T02、地物管理部302を説明する。地物データはたとえば3軸加速度センサ、GPS測位センサ、カメラに関する情報であり、またこれらのセンサが取り付けられた車両に関する情報である。
【００３０】
地物データ管理表とは、系列データを生成するセンサ装置、およびそれに関係づけられる装置に関する情報を計算機上で表現した構造体である。地物データ管理表T01は、地物を識別する地物ID、該地物が生成した系列データを識別する系列ID、該地物の0個以上の属性を管理する。属性とは、地物の名称、種類である。地物関係管理表T02は、地物間の関係を管理する情報であり、接続関係を識別する接続ID、地物データ管理表における地物IDを2個、それぞれ接続元地物IDおよび接続先地物IDとして管理する。地物関係管理表T02はさらに、接続関係の種類などの複数個の情報を接続関係に関する属性情報である列として保有してもよい。
【００３１】
例として、加速度センサをあらわす地物503は、車両をあらわす地物502と、保有という種類の関係501で結び付けられており、地物データ管理表T02は加速度センサの系列データと車両についての情報が結び付いた状態を示している。
【００３２】
地物管理部302は検索機能309、更新機能310を有する。更新機能310は、新しい地物の登録・削除、地物の系列ID、属性の更新、地物間の関係の接続・接続解除の要求を受け付け、地物データ管理表T01および地物関係管理表T02を更新する。また、「名称がXという属性を持つ車両に接続された加速度センサの系列IDを取得せよ」という検索要求を受け付けたとき、検索機能309は地物データ管理表T01および地物関係管理表T02を検索し、系列IDを返戻する。
【００３３】
図6を用いて、区間管理表T03および区間データ管理部303を説明する。区間管理表T03はたとえば道路上で異常が検知された区間などを管理するために用いる。区間管理表T03は区間を管理する識別子である区間ID、区間を現す距離標範囲、時間範囲をレコードとして保有する。
【００３４】
ここで距離標範囲とは、道路上の二地点の距離標で指定される範囲を表す。距離標とは、道路上の位置を一次元で表した指標である。本発明において距離標範囲を「A km/B km」と表記する場合、道路上の距離標A km以上、B km未満までの範囲を示す。たとえば「100km/101km」は、道路上の距離標100kmから101kmまで(ただし101kmは含まない)である。
【００３５】
また時間範囲とは、二個所の時刻で指定される範囲を表す。本発明において時間範囲を「A/B」と表記する場合、時刻A以上、時刻B未満の時間範囲を示す。たとえば「2015-03-25/2015-03-26」は、2015年3月25日の1日分である。なお時刻の表記はISO8621に従い、例えば「2015-03-25」と表記した時刻は、2015年3月25日0時0分0秒を表す。
【００３６】
区間管理表T03は、さらに区間を分類するための情報として、分類ID、区間種類IDをレコードの列として保有してもよい。さらに区間の名称や統計量などの複数個の情報を区間に対する属性情報である列として保有してもよい。たとえば時刻2015-01-01に道路上の距離標100kmから100.1kmの範囲において、日常点検の結果あるいはセンサデータの分析を通じて道路舗装の劣化が発見されたとき、区間管理表T03において、距離標範囲100km/100.1km、時間範囲2015-01-01/+∞を格納し、分類IDに舗装状態、区間種類IDに舗装劣化、区間属性に劣化状態を表す統計量や名称をそれぞれ格納することができる。また2015-02-01の補修により舗装劣化が解消されたとき、時間範囲を2015-01-01/2015-02/01に更新することができる。
【００３７】
区間はたとえば距離標D、時刻Tを軸として持つグラフ601において、矩形602のように表現される。
【００３８】
区間データ管理部303は検索機能311、更新機能312を有する。距離標範囲、時間範囲、およびオプションとして区間の分類ID、種類IDを引数に検索要求を受け付けた時、検索機能311は区間管理表T03から、上記距離標範囲・時間範囲に含まれ、かつ分類ID、種類IDに一致するレコードを検索し、そのレコードの距離標範囲、時間範囲の2組の情報の集合を返戻する。
【００３９】
図7を用いて、分散配置管理表T04および分散配置管理部304を説明する。分散配置管理表T04は、系列データがどの分散ノード204に格納されるかを管理する。分散配置管理表T04は、距離標範囲、時間範囲、ノードIDをレコードとして保有する。たとえば距離標D、時刻Tを軸として持つグラフ701において、分散配置管理表の各レコードは矩形702、703のように表現され、ノードID1、2によりそれぞれ分散ノード204A、204Bにマッピングされる。
【００４０】
分散配置管理部304は検索機能313、更新機能314を有する。距離標範囲、時間範囲を引数に検索機能313が呼び出された時、検索機能313は分散配置管理表T04から、上記距離標範囲・時間範囲に含まれるレコードを検索し、そのレコードの距離標範囲、時間範囲、ノードIDの3組の情報の集合を返戻する。
【００４１】
時刻709、距離標範囲710、ノードID１を引数に更新機能314が呼び出された時、更新機能314は時刻709以降の該当距離標範囲710の分散配置を指定ノードID１に変更する。具体的には、時間範囲の終了時刻が未定義であるレコードのうち、距離標範囲710を距離標範囲として含むレコード703を検索して、それぞれのレコードの終了時刻に引数で指定される時刻709を設定し、あらたに距離標範囲710を距離標範囲とし、開始時刻が時刻709で終了時刻が未定義のレコード707をノードID１に変更し、該検索レコードの距離標範囲から距離標範囲710を除いた範囲を持つレコード708を追加する。最終的に距離標D、時刻Tを軸として持つグラフ704のように、分散配置管理表の各レコードは矩形705、706、707、708のように表現され、ノードIDによりそれぞれ分散ノード204A、204B、204A、204Bにマッピングされる。
【００４２】
図8を用いて、系列データ801および系列データ加工部305について説明する。系列データ801は、次元D、点数N、キーと値の組み合わせで構成され、キーと値の組み合わせが点数N個繰り返し格納される構造が、次元D個繰り返し格納されるという構造を取る。
【００４３】
系列データ802、803、804、805、806、807、808、810は系列データ801の具体例である。たとえば系列データ802は次元数Dが1、点数Nが2であり、キーと値の組み合わせを2つ持つ。系列データ807は次元数Dが2であり、点数Nが2、キーと値の組み合わせを2つ持つ構造を二組持つ多変量の系列データである。ここで「値」とは、センサ観測の結果得られた数値あるいはこれを加工した数値である。数値はスカラ値であってもよいし、3軸加速度のようにベクトル値であってもかまわない。
【００４４】
系列データ加工部305は、系列結合機能315、次元結合機能316、系列分割機能317を有する。複数の系列データ802、803を引数に系列結合機能315が呼び出されたとき、系列結合機能315は系列データをそのキーによりソートし、系列方向に結合することで単一の系列データ804を生成し、これを返戻する。たとえば「100km/110km」、「110km/120km」、「120km/130km」の系列データを引数に系列結合機能315が呼び出された時、系列結合機能315は「100km/130km」の系列データを返戻する。
【００４５】
複数の系列データ805、806を引数に次元結合機能316が呼び出されたとき、次元結合機能316は系列データの集合から多変量の系列データ807を生成し、これを返戻する。
【００４６】
分割範囲809と系列データ808を引数に系列分割機能317が呼び出されたとき、系列分割機能321は系列データ808から、分割範囲809に含まれる部分系列データ810を抽出し、これを返戻する。
【００４７】
図4に示す系列データ加工部408は系列結合機能412、次元結合機能413、系列分割機能414を有するが、これらは系列データ加工部305の系列結合機能315、次元結合機能316、系列分割機能317と同じ動作を行うため説明を省略する。
【００４８】
図9を用いて、距離標管理表T07、系列ブロック管理表T05、系列ブロックT06および系列ブロック管理部407を説明する。距離標管理表T07は、系列データを系列ブロックT06に分割して格納する際の距離標軸での分割範囲を管理する。距離標管理表T07は、上記分割範囲を識別する範囲ID  901、距離標範囲902、時間範囲903をレコードとして保有する。系列ブロック管理表T05は、系列データがどの系列ブロックT06に格納されているかを管理する。系列ブロック管理表T05は、範囲ID 901、系列ID  904、ブロックID  905をレコードとして保有する。
【００４９】
系列ブロックT06は、ブロックID 905をファイル名とし、系列データ801を格納するファイルとして分散ノード204に格納される。ただしブロックIDを指定することにより系列ブロックT06が一意に取得できればよく、たとえば系列ブロックT06をデータベース上のバイナリオブジェクトとして管理してもかまわない。また系列ブロックT06は、gzip等の一般に知られる圧縮アルゴリズムにより、圧縮した構造で格納しても構わない。
【００５０】
系列ブロック管理部407は系列ブロック検索機能410、系列ブロック登録機能411を有する。系列ID集合、距離標範囲、時間範囲を引数に系列ブロック検索機能410が呼び出された時、系列ブロック検索機能410は距離標管理表T07から、引数の距離標範囲・時間範囲に含まれるレコードの範囲ID 901の集合を検索し、系列ブロック管理表T05から、その範囲ID 901の集合を含み、系列ID 904の集合を含むブロックID 905集合を検索し、ブロックID 905に対応する系列ブロックT06の集合を返戻する。
【００５１】
図10を用いて、アクセス頻度管理表T08、結合頻度管理表T09および最適化部406を説明する。
【００５２】
アクセス頻度管理表T08は、分散ノード204が管理する系列データのアクセス頻度を距離標軸上で管理する。アクセス頻度管理表T08は、距離標範囲1001とアクセス頻度1002、時間範囲1003をレコードとして保有する。分散ノード204が初期設定を行う際、あらかじめ与えられる距離標範囲、距離標間隔を用い、距離標範囲を距離標間隔で分割した各距離標に対する、アクセス頻度が0のレコードを登録する。たとえば分散ノード204が距離標範囲100km/200kmの系列データを格納し、距離標間隔が1kmと指定される場合、アクセス頻度管理表T08には距離標範囲1001が100-101km、101-102km、・・・、199-200kmとなるレコードが格納される。
【００５３】
結合頻度管理表T09は、分散ノード204が管理する系列ブロックの結合頻度を距離標軸上で管理する。結合頻度管理表T09は、結合距離標1004と結合頻度1005、時間範囲1006をレコードとして保有する。分散ノード204が初期設定を行う際、あらかじめ与えられる距離標範囲、距離標間隔を用い、距離標範囲を距離標間隔で分割した各距離標の系列ブロックの結合頻度が0のレコードを登録する。たとえば分散ノード204が距離標範囲100km/200kmの系列データを格納し、距離標間隔が1kmと指定される場合、結合頻度管理表T09には結合距離標1004が100km、101km、・・・、200kmとなるレコードが格納される。
【００５４】
最適化部406はアクセス頻度更新機能415、系列データ結合機能416、系列データ再配置機能417、系列データ分割機能418、系列データ移動機能419、結合頻度更新機能420を有する。
距離標範囲である検索範囲を引数にアクセス頻度更新機能415および結合頻度更新機能420が呼び出された時、アクセス頻度更新機能415および結合頻度更新機能420は、アクセス頻度管理表T08および結合頻度管理表T09を更新する。すなわち、アクセス頻度管理表T08において、距離標範囲1001が検索範囲に含まれるレコードのアクセス頻度1002に1を加算する。また結合頻度管理表T09において、系列ブロック間の距離標1004が検索範囲に含まれる場合、結合頻度1005に1を加算する。
【００５５】
アクセス頻度更新機能415の動作の具体例を示す。複数の距離標範囲を含む検索範囲1007に対する検索が行われた場合、アクセス頻度管理表T08の検索範囲1007に含まれるレコードのアクセス頻度1008は1加算される。
【００５６】
結合頻度更新機能420の動作の具体例を示す。複数の系列ブロックT06AとT06Bに含まれる検索範囲1007に対する検索が行われた場合、系列ブロックの結合頻度1009は1加算される。一方、検索範囲1010のように系列ブロックをまたがらない検索が行われた場合、アクセス頻度管理表T08のそれぞれの検索範囲1010に含まれるレコードのアクセス頻度1008は1加算されるが、結合頻度表T09の結合頻度1009は加算されない。
【００５７】
系列データ結合機能416、系列データ再配置機能417、系列データ移動機能419、系列データ分割機能418については図16、図17、図18にて後述する。
【００５８】
図11A、図11Bを用いて、本発明の系列データ検索機能、系列データ登録機能、系列データ分析機能の入力引数と出力について説明する。マスタノード203の系列データ検索インタフェースI01を介してパラメタ1101、すなわち距離標範囲、時間範囲、および系列ID集合を引数として系列データ検索部306を呼び出すことにより、指定した距離標範囲、時間範囲、および系列ID集合に対応する系列データ1102が返戻される。
【００５９】
分散ノード204の系列データ検索インタフェースI02を介してパラメタ1107、すなわち距離標範囲、時間範囲、および系列ID集合を引数として系列データ検索部402を呼び出すことにより、指定した距離標範囲、時間範囲、および系列ID集合に対応する系列データ1108が返戻される。
【００６０】
マスタノード203の系列データ登録インタフェースI03を介してパラメタ1103、すなわち系列データ、登録系列ID集合を引数として系列データ登録部307を呼び出すことにより、指定した系列データが指定した系列ID集合に対応する系列データとして登録されたかどうかを示すフラグ1104が返戻される。
【００６１】
分散ノード204の系列データ登録インタフェースI04を介してパラメタ1109、すなわち系列データ、登録系列ID集合を引数として系列データ登録部403を呼び出すことにより、指定した系列データが指定した系列ID集合に対応する系列データとして登録されたかどうかを示すフラグ1110が返戻される。
【００６２】
マスタノード203の系列データ分析インタフェースI05を介してパラメタ1105、すなわち距離標範囲、時間範囲、系列ID集合、単位距離標範囲、分析プログラム、出力系列ID集合を引数として系列データ分析部308を呼び出すことにより、分析が成功したかどうかを示すフラグ1106が返戻される。
【００６３】
パラメタ1111はノードID、距離標範囲、時間範囲、系列ID集合から構成される情報が複数個と、単位距離標範囲、分析プログラム、出力系列ID集合から構成される。分散ノード204の系列データ分析インタフェースI06を介してパラメタ1111を引数として系列データ分析部404を呼び出すことにより、分析が成功したかどうかを示すフラグ1112が返戻される。
【００６４】
図12は、本発明の系列データ検索機能を説明するフローチャートである。図12を用いて本発明の系列データ検索機能について説明する。
【００６５】
マスタノード203の系列データ検索インタフェースI01を介してパラメタ1101、すなわち距離標範囲、時間範囲、および系列ID集合を引数に系列データ検索部306が呼び出された時、系列データ検索部306は、分散配置管理部304の検索機能313を利用して距離標範囲、時間範囲に該当する系列データの格納される分散ノード204のノードIDを取得する(STEP S1201)。系列データ検索部306は、ノードIDで指定される分散ノード204のそれぞれに対し、検索インタフェースI02を介して系列データ検索部402の実行を依頼する(STEP S1202、S1203)。次に系列データ検索部306は、系列データ検索部402の全ての結果を受け取る(STEP S1204、STEP S1205)。系列データ検索部306は、系列データ加工部305の系列結合機能315を呼び出し、これらの系列データを系列順に結合し(STEP S1206)、検索インタフェースI01を介して要求元に返戻する(STEP S1207)。
【００６６】
分散ノード204の系列データ検索インタフェースI06を介して検索対象の距離標範囲、時間範囲、および系列ID集合を引数に系列データ検索部402が呼び出された時、系列データ検索部402は、距離標範囲を引数として最適化部406のアクセス頻度更新機能415と結合頻度更新機能420を呼び出し、アクセス頻度情報と結合頻度情報を更新する(STEP S1211)。次に系列データ検索部402は、距離標範囲、時間範囲、系列ID集合を引数に系列ブロック管理部407の検索機能410を呼び出し、系列ブロック集合を取得する（STEP S1212）。次に系列データ検索部402は系列データ加工部408の系列結合機能412を利用し、同じ系列IDを持つ系列ブロックを系列順に結合して系列データを作成する(STEP S1213)。次に系列データ管理部401は系列データ加工部408の系列分割機能414を利用し、引数で指定された距離標範囲の系列データを切り出す(STEP S1214)。次に系列データ検索部402は、得られた系列ID毎の複数の系列データ集合を系列データ加工部408の次元結合機能413を利用して次元方向に結合し(STEP S1215)、検索インタフェースI02を介して要求元に返戻する(STEP S1216)。
【００６７】
図13は、本発明の系列データ登録機能を説明するフローチャートである。図13を用いて、系列データを分割し、分散ノードに系列ブロックとして登録する本発明の系列データ登録機能について説明する。
【００６８】
マスタノード203の系列データ登録インタフェースI03を介してパラメタ1103、すなわち系列データ、登録系列ID集合を引数として系列データ登録部307が呼び出された時、系列データ登録部307は、分散配置管理部304の検索機能313を利用し、距離標範囲、時間範囲に該当する系列データの格納されるべき分散ノード204を識別するノードIDを取得する(STEP S1301)。次に系列データ登録部307は、検索機能313の返戻に従い、系列データ加工部305の系列分割機能317を利用し、系列データを系列方向に分割し、複数の部分系列データを生成する(STEP S1302)。次に系列データ登録部307は、ノードIDで指定される分散ノード204のそれぞれに対し、系列インタフェースI04を介してパラメタ1109、すなわち系列データ、登録系列ID集合を引数として系列データ登録部403を呼び出す(STEP S1303、S1304)。次に系列データ登録部307は、系列データ登録部403の全ての結果を受け取る(STEP S1305、S1306)。最後に系列データ登録部307は、登録インタフェースI03を介して結果を要求元に返戻する。
【００６９】
分散ノード204の系列データ登録インタフェースI04を介して系列ID、系列データを引数として系列データ登録部403が呼び出された時、系列データ登録部403は、系列ブロック管理部407の検索機能410を利用し、系列データの距離標範囲に含まれる距離標範囲集合を取得する(STEP S1307)。次に系列データ登録部403は、系列データ加工部408の系列分割機能414を利用し、系列データを複数の部分系列データに分割する(STEP 1308)。次に系列データ登録部403は、系列ブロック管理部407の系列ブロック登録機能411を利用し、分割した全ての部分系列データを系列ブロックT06として登録し(STEP S1309、S1310)、登録インタフェースI04を介して登録結果を要求元に返戻する(STEP S1311)。
【００７０】
図14および図15は、本発明の系列データ分析機能を説明するフローチャートである。図14、図15を用いて本発明の系列データ分析機能について説明する。なお、本発明の系列データ分析機能を実行する際にも、アクセス頻度と結合頻度は更新されるが、図10の説明と同じ手順を行うため説明を省略する。
【００７１】
マスタノード203の分析インタフェースI05を介して距離標範囲、時間範囲、系列ID集合、単位距離標範囲、分析プログラム、出力系列ID集合を引数に系列データ分析部308が呼び出された時、系列データ分析部308は、分散配置管理部304の検索機能313を利用して距離標範囲、時間範囲に該当する系列データの格納される分散ノード204のノードIDを取得する(図14のSTEP S1401)。系列データ分析部308は、ノードIDで指定される分散ノード204のそれぞれに対し、距離標範囲、時間範囲、系列ID集合、単位距離標範囲、分析プログラム、出力系列ID集合を引数に分析インタフェースI06を介して系列データ分析部404の実行を依頼する(STEP S1402、S1403)。次に系列データ分析部308は、系列データ分析部404の全ての結果を受け取る(STEP S1404、S1405)。系列データ分析部308は、分析結果を結合し(STEP S1406)、分析インタフェースI05を介して要求元に分析結果を返戻する(STEP S1407)。
【００７２】
分散ノード204の分析インタフェースI06を介して距離標範囲、時間範囲、系列ID集合、単位距離標範囲、分析プログラム、出力系列ID集合を引数に系列データ分析部404が呼び出された時、系列データ分析部404は分析範囲を並列処理のために分割する(図15のSTEP S1501)。ここで分析範囲は距離標範囲のことである。例えば系列データ分析部404が存在する分散ノード204のプロセッサが4個搭載されており、分析範囲である距離標範囲が100km/140kmの場合、100km/110km、110km/120km、120km/130km、130km/140kmの4区間に分割する。
【００７３】
次に系列データ分析部404は時間範囲、系列ID集合、単位距離標範囲、分析プログラム、出力系列ID集合とともに分割した距離標範囲を引数に別プロセスの処理である分析スレッド1501を複数実行する（STEP S1502、S1503）。系列データ分析部404は各分析スレッド1501の結果を受け取り(STEP 1504、S1505)、分析インタフェースI06を介して分析結果を要求元に返戻する(STEP S1506)。
【００７４】
分散ノード204の系列データ分析部404が分析スレッド1501を生成し、パラメタ1111、すなわちノードID、距離標範囲、時間範囲、系列ID集合を単位とした集合、単位距離標範囲、分析プログラム、出力系列ID集合を引数に分析スレッド1501が呼び出された時、分析スレッド1501は初めに、検索インタフェースI02を介して引数で指定されたそれぞれのノードIDの分散ノード204の系列データ検索部402を利用して系列データを取得する(STEP S1507、S1508)。分析スレッド1501は次に、系列データ加工部408の系列結合機能412および次元結合機能413を利用してこれらの系列データを系列方向・次元方向に結合する(STEP 1509)。次に分析スレッド1501は、系列データ加工部408の系列分割機能414を利用し、単位距離標範囲に従い系列データを複数の部分系列データに分割する(STEP S1510)。
【００７５】
次に分析スレッド1501は、全ての部分系列データのそれぞれを引数として、分析プログラム405を呼び出す(STEP S1511、S1512)。分析プログラム405は、マスタノード215の系列データ分析部308が分析IF I05を介して外部から受け付け、分析IF I06を介して分散ノード220に登録されたプログラムであり、複数の列を持つ系列データを入力し、異なる複数の列を持つ系列データを出力するプログラムである。次に分析スレッド1501は、分析プログラム405が返戻した系列データを系列ブロック管理部407の登録機能411を利用して系列ブロックT06として登録する(STEP S1513)。そして上記処理が成功したかどうかのフラグを要求基に返戻する(STEP S1514)。
【００７６】
図16を用いて、本発明の系列ブロック最適化機能406について説明する。系列ブロック最適化機能406は初めに、結合すべき系列ブロック群を見つける結合判定を行い（STEP S1601）、結合すべき系列ブロック群に対し再配置判定を行う（STEＰ S1602）。結合すべき系列ブロック群が異なる分散ノードに存在する場合、再配置機能417を用いて系列ブロックのノード間再配置を行う（STEP 1603）。続いて結合機能416を用いて結合すべき系列ブロック群を結合する。
【００７７】
系列ブロック最適化機能406は次に、分割すべき系列ブロックを見つける分割判定を行い（STEP 1605）、分割すべき系列ブロックに対して分割機能418を用いて分割する（STEP S1606）。次に分割した系列ブロック群に対し、再配置判定を行い（STEP S1607）、再配置機能417を用いて再配置すべき系列ブロックを異なる分散ノードに再配置する（STEP 1608）
図17A、図17B、図17Cを用いて、本発明の系列ブロック結合機能416、系列ブロック再配置機能417、系列ブロック分割機能418の概略動作について説明する。
【００７８】
図17Aを用いて系列ブロック結合機能416の概略を説明する。T09Aは図10で既に説明した結合頻度管理表T09の各レコードを距離標軸で並べたものであり、結合頻度1005を矩形高さとしている。T05AおよびT05Bは、図9で既に説明した系列ブロック管理表T05の各レコードを距離標軸で並べたものであり、距離標範囲902を矩形横幅としている。系列ブロックの結合処理は、結合頻度管理表T09において、結合頻度1005が高いレコード間でレコード群をグループ化し、それに対応する系列ブロック管理表T05の各レコードを結合する。本例では、グループ1701を含む系列ブロック群が結合され1703に、グループ1702を含む系列ブロック群が結合され1704に置き換えられる。
【００７９】
図17Bを用いて系列ブロック再配置機能417の概略を説明する。T09B、T09Cはそれぞれ分散ノード204A、204Bにおける結合頻度管理表T09の各レコードを距離標軸で並べたものである。分散ノード204Aの結合頻度管理表T09Bの端にあるレコード1705は、隣接する分散ノード204Bに存在する系列ブロックとの結合頻度を管理する。そのため、結合頻度1005が高いレコード1705が結合頻度管理表T09Bの端に存在する場合、それに対応する系列ブロック1706を分散ノード204Bから分散ノード204Aに移動し、系列ブロック1707とする。
【００８０】
図17Cを用いて系列ブロック分割機能418の概略を説明する。T08Dはアクセス頻度管理表T08の各レコードを距離標軸で並べたものである。T05Gはこれに対応する系列ブロック管理表T05のレコードである。アクセス頻度管理表T08Dにおいて、アクセス頻度が低いレコード1708に対応する距離標で系列ブロックを分割し、T05Hを得る。
【００８１】
図18は、本発明の系列ブロック結合機能416を説明するフローチャートである。図18を用いて本発明の系列ブロック結合機能416について詳細に説明する。系列ブロック結合機能416はタイマ409によりあらかじめ指定された時間間隔で実行する。系列ブロック結合機能416は任意のタイミングで実行する事ができるため、たとえば系列データ検索部402、系列データ登録部403、系列データ分析部404の処理を行う前ないし後に実行しても構わない。また、図示していないインタフェースを用いてクライアント201からの要求で実行しても構わない。
【００８２】
系列ブロック結合機能416は、はじめに距離標管理表T07において、時間範囲903の終了時刻が未定であるレコードを全て検索し、その距離標範囲902の終了距離標を結合候補距離標として取得する(STEP S1801)。次に系列ブロック結合機能416は、結合頻度管理表T09において、該結合候補距離標のアクセス頻度1002を取得する(STEP S1802)。次に系列ブロック結合機能416は、結合頻度の最も高い結合候補距離標を選択する(STEP S1803)。次に系列ブロック結合機能416は、結合処理の終了判定を行い、結果が真(T)であれば処理を終了する(STEP S1804)。終了判定は、たとえば最も高い結合頻度があらかじめ与えられる設定値より下回ることによって判定する。終了判定に対し、さらにSTEP S1805以降の実施回数が予め与えられる設定値よりも上回ることをOR条件で加えても構わない。
【００８３】
終了判定が偽である場合、系列ブロック結合機能416は、距離標管理表T07から、結合距離標を距離標範囲902の開始位置として持つレコード、終了位置として持つレコードを検索する。レコードが片方しか見つからない場合、結合距離標は分散ノード204が保有する系列データの端点であり、それ以降あるいはそれ以前の距離標に対する系列データは他の分散ノード204に管理されている。この場合、系列ブロック結合機能416は、後述する系列ブロック再配置機能417を実行し、STEP S1809に進む。
【００８４】
それ以外の場合、系列ブロック結合機能416は、距離標管理表T07から、結合距離標を距離標範囲902の開始位置として持つレコード、終了位置として持つレコードを削除し、該２つのレコードの距離標範囲902を結合したレコードを追加する(STEP S1806)。次に系列ブロック結合機能416は、系列ブロック管理表T05において、該削除したレコードの範囲IDを持つレコードと、該レコードのブロックIDを持つ系列ブロックT06を検索し、系列データ加工部408の系列結合機能412を利用して系列ブロックT06を結合するとともに系列ブロック管理表T05を更新する(STEP S1807、S1808)。次に系列ブロック結合機能416は、次に結合頻度の高い距離標を選択し、STEP S1804に戻る(STEP S1809)。
【００８５】
図19は、本発明の系列ブロック再配置機能417を説明するフローチャートである。図19を用いて本発明の系列ブロック再配置機能417について説明する。系列ブロック再配置機能417は図18のSTEP S1805の結果が真の時に呼び出される。系列ブロック再配置機能417は始めに、結合距離標である距離標を引数として、再配置インタフェースI07を介してマスタノード203の分散配置管理部304の検索機能313を呼び出す(STEP S1901)。図7において前述したとおり、検索機能313は当該距離標を含む分散ノード204のノードIDを返戻する。
【００８６】
次に系列ブロック再配置機能417は、該ノードIDに対する分散ノード204の再配置インタフェースI08を介して、最適化部406の系列データ移動機能419を呼び出す(STEP S1902)。次に系列ブロック再配置機能417は、系列データ移動機能419の返戻として、移動対象の系列ブロック集合を取得する(STEP S1903)。次に系列ブロック再配置機能417は、距離標管理表T07に対し、取得した系列ブロック集合に対するレコードを追加する(STEP S1904)。次に系列ブロック再配置機能417は、取得した系列ブロック集合の全ての系列IDに対し、系列ブロックの追加、および系列ブロック管理表のレコード追加を行う(STEP S1906)。
【００８７】
最後に系列ブロック再配置機能417は、取得した系列ブロックの距離標範囲を引数として再配置インタフェースI07を介してマスタノード203の分散配置管理部304の更新機能314を呼び出す(STEP S1907)。図7において前述したとおり、更新機能314は当該距離標範囲に対する分散ノード204のノードIDを更新する。
【００８８】
系列ブロック移動機能419は、結合距離標である距離標を引数として、再配置インタフェースI08を介して別の分散ノード204から呼び出される。系列ブロック移動機能419は始めに、距離標管理表T07から、引数の距離標を距離標範囲902に含むレコードを削除する(S1908)。次に系列ブロック移動機能419は、系列ブロック管理表T05における削除したレコードの範囲ID 901を持つレコードを削除し、削除したレコードのブロックID 905を持つ系列ブロックT06を削除する(STEP S1909、S1910)。次に系列ブロック移動機能419は、削除した系列ブロック集合を返戻する(STEP S1911)。
【００８９】
図20は、本発明の系列ブロック分割機能418を説明するフローチャートである。図20を用いて本発明の系列ブロック分割機能418について説明する。系列ブロック分割機能418は、タイマ409によりあらかじめ指定された時間間隔で実行する。系列ブロック分割機能416は任意のタイミングで実行する事ができるため、たとえば系列データ検索部402、系列データ登録部403、系列データ分析部404の処理を行う前ないし後に実行しても構わない。また、図示していないインタフェースを用いてクライアント201からの要求で実行しても構わない。
【００９０】
系列ブロック分割機能418は、はじめに距離標管理表T07において、時間範囲903の終了時刻が未定であるレコードから、距離標範囲902の距離標幅が最も大きいレコードを選択する(STEP S2001)。なお距離標幅とは、距離標範囲の終了距離標と開始距離標の差分である。次に系列ブロック分割機能418は、分割処理の終了判定を行い、結果が真(T)であれば処理を終了する(STEP S2002)。終了判定は、たとえば距離標幅があらかじめ与えられる設定値より下回ることによって判定する。終了判定に対し、さらにSTEP S2003以降の実施回数が予め与えられる設定値よりも上回ることをOR条件で加えても構わない。
【００９１】
系列ブロック分割機能418は次に、アクセス頻度管理表T08から選択したレコードのアクセス頻度1002を取得する(STEP S2003)。次に系列ブロック分割機能418は、アクセス頻度を利用して分割距離標を選択する(STEP S2004)。分割距離標の選択方法は、例えば距離標範囲902の中心となる距離標から前方向および後ろ方向に一ステップずつ距離標を進め、アクセス頻度管理表T08における対応する距離票のアクセス頻度1002が予め指定した閾値を下回る距離標を分割距離票とする。次に系列ブロック分割機能418は、距離標管理表T07において、分割距離標を含むレコードを検索し、該レコードを該分割距離標で分割する(STEP S2006)。次に系列ブロック分割機能418は、系列ブロック管理表T05において、該レコードの範囲ID 901を持つレコードを選択し、分割するとともに、該レコードのブロックIDを持つ系列ブロックT06を検索し、系列データ加工部408の系列分割機能414を利用して系列ブロックT06を分割するとともに系列ブロック管理表T05を更新する(STEP S2007、S2008)。次に系列ブロック分割機能418は、距離標管理表T07において次に距離標範囲の大きいレコードを選択し、STEP S2002に戻る(STEP S2009)。
【産業上の利用可能性】
【００９２】
図21を用いて、本発明の系列データ分散処理システムが対象とする分析アプリケーションの例について説明する。一日当たり1000台規模で走行するプローブカーから収集されるGPS測位情報、3軸加速度、ビデオカメラ映像を用いて、わだち掘れ、道路ジョイント劣化、ポットホール等の道路上の異常個所を検出し、その経年劣化を推定する分析を行うことを想定する。プローブカーの走行ラインの違いがあるため、道路横断面に存在する異常個所を一台のプローブカーからの計測データだけで推測することは困難である。そのため、複数台のプローブカーの計測データを結合した分析が必要となる。グラフ2101は、複数のプローブカーによる計測データを示す概念図であり、横軸が道路上の距離標、縦軸が系列データを時間方向に並べたものになる。系列データ2102は単独車両が計測した系列データであり、例えば車両の計測した路面垂直方向の振動加速度である。
【００９３】
距離標軸のウィンドウ幅2103における、単独車両の路面垂直方向の振動加速度の二乗平均平方根から、道路の路面性状を算出する事が出来る。時間軸でのウィンドウ幅2104において上記路面性状を集計し、ヒストグラム2106を算出する事が出来る。ヒストグラム2106は、道路上の特定の距離標範囲における路面性状の確率密度分布であり、横軸が路面性状度、縦軸がその確率密度を示している。路面に存在する複数の異常個所は、たとえばヒストグラム2106を混合ガウス分布と仮定してピークを分離することで分離する事ができる。また、このヒストグラム2106を特定の距離標毎に履歴管理し、その時間変化を抽出することで異常の進展状況を把握できる。たとえば1月毎にヒストグラム2107、2108、2109を管理し、そのピークの位置や大きさを比較することで異常の進展状況を把握できる。
【００９４】
本発明の系列データ分散処理システムは、上記のような分析を効率化する。すなわち、多数の系列データ2102が複数の分散ノード204に分散して配置する必要がある時、距離標軸でのウィンドウ2103および時間軸でのウィンドウ2104に含まれる部分系列データを取得し、外部から与えられた分析プログラム405に提供する時に、上記部分系列データができるだけ同じ分散ノード204に配置することにより、部分系列データ取得における分散ノード間の通信を抑制することで、高速化を図ることができる。
【符号の説明】
【００９５】
201            クライアント
202            センサデバイス
203            マスタノード
204            分散ノード
205            ネットワーク
206            ネットワークインタフェース
207            プロセッサ
208            メモリ
209            通信部
210            メモリ
211            ネットワークインタフェース
212            プロセッサ
213            メモリ
214            通信部
215            マスタ処理部
216            ネットワークインタフェース
217            プロセッサ
218            メモリ
219            通信部
220            ノード処理部
221            入出力デバイス
222            記憶装置
223            記憶装置
224            記憶装置
301            系列データ機能群
302            地物管理部
303            区間データ管理部
304            分散配置管理部
305            系列データ加工部
306            系列データ検索部
307            系列データ登録部
308            系列データ分析部
309            検索機能
310            更新機能
311            検索機能
312            更新機能
313            検索機能
314            更新機能
315            系列結合機能
316            次元結合機能
317            系列分割機能
401            系列データ機能群
402            系列データ検索部
403            系列データ登録部
404            系列データ分析部
405            分析プログラム
406            最適化部
407            系列ブロック管理部
408            系列データ加工部
409            タイマ
410            検索機能
411            登録機能
412            系列結合機能
413            次元結合機能
414            系列分割機能
415            アクセス頻度更新機能
416            系列データ結合機能
417            系列データ再配置機能
418            系列データ分割機能
419            系列データ移動機能
420            結合頻度更新機能
【図１】
0006614958.tif 000002
【図２】
0006614958.tif 000003
【図３】
0006614958.tif 000004
【図４】
0006614958.tif 000005
【図５】
0006614958.tif 000006
【図６】
0006614958.tif 000007
【図７】
0006614958.tif 000008
【図８】
0006614958.tif 000009
【図９】
0006614958.tif 000010
【図１０】
0006614958.tif 000011
【図１１Ａ】
0006614958.tif 000012
【図１１Ｂ】
0006614958.tif 000013
【図１２】
0006614958.tif 000014
【図１３】
0006614958.tif 000015
【図１４】
0006614958.tif 000016
【図１５】
0006614958.tif 000017
【図１６】
0006614958.tif 000018
【図１７Ａ】
0006614958.tif 000019
【図１７Ｂ】
0006614958.tif 000020
【図１７Ｃ】
0006614958.tif 000021
【図１８】
0006614958.tif 000022
【図１９】
0006614958.tif 000023
【図２０】
0006614958.tif 000024
【図２１】
0006614958.tif 000025