(57)【特許請求の範囲】
【請求項１】
属性の識別情報と当該属性の値との組合せを複数含むデータを伝送するための統一されたデータ構造で表されるデータを継続的に取得するストリームデータ取得部と、
前記データに含まれる当該データが生成された日時に応じた時間帯と、第１の属性の値を所定の規則に基づいて近似した離散値である階級値とに基づいて、取得された前記データを分類して記憶部に記憶させる取得データ統合部と、
前記階級値に関連付けて予め前記記憶部に蓄積されている、第２の属性の値との比較対象となる基準値を抽出する蓄積データ抽出部と、
前記取得されたデータに含まれる前記第２の属性の値と、前記基準値との関係に基づいて、異常を検知する情報分析部と、
を有する情報処理システム。
【請求項２】
前記取得データ統合部は、所定の規則に基づいて区切られた時間帯と、前記階級値とに基づいて、前記ストリームデータ取得部が取得したデータを並列処理するためのグループに分類する
請求項１に記載の情報処理システム。
【請求項３】
前記記憶部は、前記階級値と当該階級値に係る前記基準値の格納領域へのポインタとを関連づけて記憶しており、
前記蓄積データ抽出部は、前記取得データ統合部が分類した前記階級値に基づいて前記基準値を抽出する
請求項１又は２に記載の情報処理システム。
【請求項４】
前記蓄積データ抽出部は、前記階級値に関連付けて予め前記記憶部に蓄積されている前記基準値に加えて、前記階級値から上下所定範囲内の階級値の少なくともいずれかに紐付けられた前記基準値を抽出する
請求項１から３のいずれか一項に記載の情報処理システム。
【請求項５】
属性の識別情報と当該属性の値との組合せを複数含むデータを伝送するための統一されたデータ構造で表されるデータを継続的に取得するストリームデータ取得ステップと、
前記データに含まれる当該データが生成された日時に応じた時間帯と、第１の属性の値
を所定の規則に基づいて近似した離散値である階級値とに基づいて、取得された前記データを分類して記憶部に記憶させる取得データ統合ステップと、
前記階級値に関連付けて予め前記記憶部に蓄積されている、第２の属性の値との比較対象となる基準値を抽出する蓄積データ抽出ステップと、
前記取得されたデータに含まれる前記第２の属性の値と、前記基準値との関係に基づいて、異常を検知する情報分析ステップと、
をコンピュータが実行する情報処理方法。
【請求項６】
属性の識別情報と当該属性の値との組合せを複数含むデータを伝送するための統一されたデータ構造で表されるデータを継続的に取得するストリームデータ取得ステップと、
前記データに含まれる当該データが生成された日時に応じた時間帯と、第１の属性の値を所定の規則に基づいて近似した離散値である階級値とに基づいて、取得された前記データを分類して記憶部に記憶させる取得データ統合ステップと、
前記階級値に関連付けて予め前記記憶部に蓄積されている、第２の属性の値との比較対象となる基準値を抽出する蓄積データ抽出ステップと、
前記取得されたデータに含まれる前記第２の属性の値と、前記基準値との関係に基づいて、異常を検知する情報分析ステップと、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、センサのセンシングデータが蓄積されるデータベースを有するセンサーシステムと、データベースに記憶されたデータを、汎用的データ形式として蓄積する総合データベースを有する統合システムと、外部システムの総合データベースへのアクセスを仲介するクライアントアプリケーション部とを有するセンシングシステムが提案されている（例えば、特許文献１）。当該システムは、統合システムがデータベースからセンシングデータを収集し、総合データベースに蓄積するセンシングデータ蓄積手段と、各データの付随情報を収集し書き込む付随情報蓄積手段とを有し、クライアントアプリケーション部がセンシングデータ要求に際し、センシングデータと付随情報とを総合データベースから読み出すセンシングデータ提供手段を有する。このようにすれば、数値情報に付随する情報を提供することができ、数値データの意味を解した上で利用することができるとしている。
【０００３】
また、ネットワークから入力されたストリームデータの中から、抽出条件（識別条件）と一致するストリームデータを抽出し、抽出したストリームデータに加工処理を施し、加工処理したストリームデータを、宛先情報に基づいてネットワークに出力する技術が提案されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２０４１４０号公報
【特許文献２】特開２００９−４９９０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、複数のセンサからデータを取得して統合的に処理を行うセンサフュージョン（センサ融合）といった技術や、ストリームデータをリアルタイムに処理するための技術が提案されていた。しかしながら、扱うデータ量の増加に応じて、処理速度の向上が要求される。
【０００６】
そこで、本発明は、ストリームデータの処理効率を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理システムは、複数の属性に対応する値を含むデータを継続的に取得するデータ取得部と、取得したデータに含まれる所定の属性に対応する値を所定の規則に基づいて近似した離散値である階級値を求め、同一の階級値に関連付けて予め記憶部に蓄積されている基準値を抽出する蓄積データ抽出部とを有する。
【０００８】
予め階級値に関連付けて基準値を蓄積しておくため、階級値をいわゆるインデックスとして処理に用いる基準値を抽出することができる。したがって、所定の属性に対応する値がいわゆる連続値の場合であっても、階級値と紐付けられたグループを単位として後の処理を行うことで、処理の効率を向上させることができるようになる。
【０００９】
また、所定の規則に基づいて区切られた時間帯と、所定の属性に対応する値を所定の規則に基づいて近似した階級値とに基づいて、データ取得部が取得したデータを並列処理す
るためのグループに分類する取得データ統合部をさらに有するようにしてもよい。このようにすれば、直近のデータを処理対象として抽出したり、データの経時的な変化の有無を判断する処理に適した態様でデータを予め分類することができる。また、このようなグループをそれぞれ別の装置が並列に処理するようにしてもよい。
【００１０】
また、蓄積データ抽出部は、データ取得部が取得したデータ、及び前記階級値と当該階級値に係る前記データの格納先を示す情報との対応関係に基づいてデータを抽出するようにしてもよい。このようにすれば、統合されたデータのデータ構造に関わらず、統合されたデータを階級値に対応付けて汎用的に保持させることができる。さらに、このようなデータをキー・バリュー・ストア（Key Value Store：ＫＶＳ）形式のデータベースに格納
するようにしてもよい。
【００１１】
また、蓄積データ抽出部は、所定の属性に対応する値から所定範囲内の階級値の少なくともいずれかを示すグループに紐付けて蓄積されたデータを抽出するようにしてもよい。周囲の階級値にグループ分けされたデータも抽出するため、所定の属性に対応する値が階級値の境界付近に存在する場合であってもデータを漏れなく抽出できる。
【００１２】
また、階級値は、所定の属性に対応する値を表現するための、詳細度の異なる複数段階の離散値を含み、蓄積データ抽出部は、データ取得部が取得したデータの量に応じて、複数段階の離散値のいずれかを用いて蓄積データを抽出するようにしてもよい。階級値の詳細度を変更することにより、上述した基準値を用いる後の処理の精度や、処理にかかる負荷を調整することができる。
【００１３】
また、データ取得部が取得するデータは、緯度及び経度を含む位置情報であり、階級値は、地域を予め定められた位置及び大きさの網目状に区画するメッシュの識別情報であり、データ取得部が取得した位置情報と同一のメッシュを示すグループに紐付けて蓄積された位置情報から、所定の位置との距離が近いものを抽出する情報分析部をさらに有するようにしてもよい。このようにすれば、２次元のデータである位置情報を階級値に変換して扱うことができるようになる。
【００１４】
なお、課題を解決するための手段に記載の内容は、本発明の課題や技術的思想を逸脱しない範囲で可能な限り組み合わせることができる。課題を解決するための手段の内容は、コンピュータ等の装置若しくは複数の装置を含むシステム、コンピュータが実行する方法、又はコンピュータに実行させるプログラムとして提供することができる。また、プログラムを保持する記録媒体を提供するようにしてもよい。
【発明の効果】
【００１５】
本発明によれば、ストリームデータの処理効率を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態１に係るシステム構成の一例を示す図である。
【図２】情報処理装置の一例を示す機能ブロック図である。
【図３】コンピュータの一例を示す装置構成図である。
【図４】ストリームデータ処理の一例を示す処理フロー図である。
【図５】取得するストリームデータを説明するための図である。
【図６】地域メッシュコードを説明するための図である。
【図７】階級値インデックスとデータの格納先を説明するための図である。
【図８】階級値インデックスの一例を示す図である。
【図９】階級値インデックスの一例を示す図である。
【図１０】データ格納マップの一例を示す図である。
【図１１】情報処理システムの一例を示す機能ブロック図である。
【図１２】実施形態２に係るシステム構成の一例を示す図である。
【図１３】実施形態２に係るストリームデータ処理の一例を示す処理フロー図である。
【図１４】実施形態３に係るシステム構成の一例を示す図である。
【図１５】メッシュ、移動体、及び店舗の位置関係の一例を示す図である。
【発明を実施するための形態】
【００１７】
＜実施形態１＞
以下、本発明の実施形態について、図面を用いて説明する。なお、下記の実施形態は本発明の例示であり、本発明は、下記の構成には限定されない。
【００１８】
＜システムの構成＞
図１は、本実施の形態に係るシステムの一例を模式的に示す図である。図１のシステムは、本実施の形態に係る処理を行う情報処理装置１と、ネットワーク２を介して情報処理装置１に接続された工場３とを含む。ネットワーク２は、例えばインターネットやイントラネット等の情報通信網であり、情報処理装置１と工場３の図示していないコンピュータとは相互に情報を送受信することができる。また、工場３は、様々な機械及びセンサを備えている。機械の動作はそれぞれ１以上のセンサによって測定され、測定されたデータは工場３の図示していないコンピュータからネットワーク２を介して情報処理装置１へ継続的に送信される。なお、工場３におけるセンサとコンピュータとの接続は、既存の技術を用いて有線又は無線により行うことができる。
【００１９】
情報処理装置１は、様々なセンサからデータを取得することができる。本実施形態では、回転機器の回転数や、振動加速度、振動変位、機器温度等が測定される例を示すが、対象とするデータはこれらには限定されない。また、情報処理装置１は、データの測定時刻も工場３のコンピュータから取得するようにしてもよい。なお、システムは複数の情報処理装置１を備えていてもよいし、複数の工場３からデータを取得する構成であってもよい。
【００２０】
＜機能構成＞
図２は、情報処理装置１の一例を示す機能ブロック図である。図２の情報処理装置１は、記憶部１１と、データ取得部１２と、取得データ統合部１３と、蓄積データ抽出部１４と、情報分析部１５と、情報出力部１６とを有する。記憶部１１は、いわゆる主記憶装置または補助記憶装置であり、情報を一時的又は永続的に保持する。データ取得部１２は、ネットワーク２を介して工場３からデータを継続的に取得し、記憶部１１に格納する。なお、情報処理装置１は、任意のタイミングで発生するデータを順に処理する、いわゆるストリームデータ処理を行うものとする。また、記憶部１１に格納される少なくとも一部のデータの形式は、ＫＶＳ形式を採用してもよい。取得データ統合部１３は、取得したデータを所定の規則に基づいて記憶部１１へ格納する。蓄積データ抽出部１４は、記憶部１１に格納された過去の取得データや、予め記憶部１１に格納されている所定の閾値等のデータを取得する。情報分析部１５は、統合したデータを用いて所定の処理を行い、例えば機器に異常が生じた可能性の有無を判断する。本実施の形態では、例えば機器の回転数に対して予め定められた閾値を越える振動加速度が測定された場合に異常が生じたと判断するような、複数のセンサの値からセンサフュージョンによる処理を行う。情報出力部１６は、例えば情報分析部１５によって判断された機器の状態に関する情報を工場３のコンピュータ、又はネットワーク２に接続された図示していない監視者のコンピュータ等に出力する。また、図２では１つの情報処理装置１を示しているが、取得したデータに含まれるセンサの測定値から、所定の規則に基づいて近似した階級値を求め、階級値ごとに受信データを異なるノードに格納するようにしてもよい。また１つの情報処理装置１の複数のプロ
セッサ又はいわゆるマルチコアプロセッサのコアが並列に処理を行うようにしてもよい。
【００２１】
＜装置構成＞
図３は、コンピュータの一例を示す装置構成図である。情報処理装置１や図示していない工場３のコンピュータは、例えば図３に示すようなコンピュータである。図３に示すコンピュータ１０００は、ＣＰＵ（Central Processing Unit）１００１、主記憶装置１０
０２、補助記憶装置（外部記憶装置）１００３、通信ＩＦ（Interface）１００４、入出
力ＩＦ（Interface）１００５、ドライブ装置１００６、通信バス１００７を備えている
。ＣＰＵ１００１は、プログラムを実行することにより本実施の形態に係る処理等を行う。主記憶装置１００２は、ＣＰＵ１００１が読み出したプログラムやデータをキャッシュしたり、ＣＰＵの作業領域を展開したりする。主記憶装置は、具体的には、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）等である。補助記憶装置１００３は、ＣＰＵ１００１により実行されるプログラムや、本実施の形態で用いる設定情報などを記憶する。補助記憶装置１００３は、具体的には、ＨＤＤ（Hard-disk Drive）やＳＳＤ（Solid State Drive）、ｅＭＭＣ（embedded Multi-Media Card）、フラッシュメモリ等で
ある。主記憶装置１００２や補助記憶装置１００３は、情報処理装置１の記憶部１１等として働く。通信ＩＦ１００４は、他のコンピュータとの間でデータを送受信する。情報処理装置１は、通信ＩＦ１００４を介してネットワーク２に接続される。通信ＩＦ１００４は、具体的には、有線又は無線のネットワークカード等である。入出力ＩＦ１００５は、入出力装置と接続され、ユーザから入力を受け付けたり、ユーザへ情報を出力したりする。入出力装置は、具体的には、キーボード、マウス、ディスプレイ、タッチパネル等である。ドライブ装置１００６は、磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体に記録されたデータを読み出したり、記憶媒体にデータを書き込んだりする。そして、以上のような構成要素が、通信バス１００７で接続されている。なお、これらの構成要素はそれぞれ複数設けられていてもよいし、一部の構成要素（例えば、ドライブ装置１００６）を設けないようにしてもよい。また、入出力装置がコンピュータと一体に構成されていてもよい。また、ドライブ装置１００６で読み取り可能な可搬性の記憶媒体や、フラッシュメモリのような可搬性の補助記憶装置１００３、通信ＩＦ１００４などを介して、本実施の形態で実行されるプログラムが提供されるようにしてもよい。そして、ＣＰＵ１００１がプログラムを実行することにより、上記のようなコンピュータを図２に示した情報処理装置１等として働かせる。
【００２２】
＜ストリームデータ処理＞
図４は、ストリームデータ処理の一例を示す処理フロー図である。まず、工場３に設けられたセンサが測定した機器の状態を示すデータを工場３のコンピュータが送信し、情報処理装置１のデータ取得部１２は、ネットワーク２を介して受信する（図４：Ｓ１）。なお、工場３のコンピュータは、例えば回転数や機器の温度、加速度等、複数のセンサによって同じ時間帯に測定されたデータを１つの単位として、任意のタイミングで情報処理装置１へ送信する。また、図４のストリームデータ処理は、データ取得部１２がデータを受信する度に開始されるものとする。ただし、データ取得部１２によるデータの取得は、いわゆるプッシュ（Ｐｕｓｈ）型の通信方式によるものでもプル（Ｐｕｌｌ）型の通信方式によるものでもよい。
【００２３】
図５は、取得するストリームデータを説明するための図である。本実施形態では、測定値の名称又は性質等を識別することができる属性名（すなわち、属性の識別情報）と、測定された値を示す属性値とが取得されるものとする。図５の例では、属性名及び属性値の列にそれぞれ「機器回転数」及び「１０４３」が格納されたレコードと、「機器温度」及び「１３．３８」が格納されたレコードと、「加速度」及び「０．０１２」が格納されたレコードとが示されている。属性名及び属性値からなるデータ構造によれば、データの測定日時（すなわち作成日時）、運転状態、その他の様々なセンサによって測定されたデー
タも、同一のフォーマットで伝送することができる。なお、例えば機器回転数を測定するセンサがシステム上に複数存在する場合、属性名によっていずれのセンサが取得した値であるか識別できるよう、属性名にセンサの識別情報を含めてもよい。また、センサによる測定値のほかに、例えば属性名及び属性値に「作成時刻（測定時刻）」及び時刻を示す値をそれぞれ格納して伝送するようにしてもよい。
【００２４】
次に、情報処理装置１の取得データ統合部１３は、受信したデータを統合する（Ｓ２）。本ステップでは、例えば図５に示したデータが順次取得される。また、本ステップでは、取得したデータのうち所定の属性値について階級値を求め、同一の時間帯に測定された同一の階級値に係るデータを統合して記憶部１１に保持させる。なお、階級値に変換する対象の属性値は、予め定めておくものとする。また、本実施形態に係る階級値とは、所定の規則に基づいて測定値から変換される離散値をいうものとする。階級値は、次の（１）から（５）に例示するような規則に基づいて求めることができる。
【００２５】
（１）所定の定義式に基づく階級値
例えば、測定値の取り得る値の最小値及び最大値を基準として、最小値から最大値までを任意の範囲を示す値（階級とも呼ぶ）に変換する式を定義することができる。温度センサの測定可能な値が最小値（Ｔｍｉｎ）から最大値（Ｔｍａｘ）であることが分かっている場合、次の数１に示すような定義式を用いて０から１００までの整数に変換するようにしてもよい。
【数１】
0006489400.tif 000002
本実施形態では、数１で求められる値をさらに床関数や天井関数を用いて整数に変換するものとする。床関数とは、ある実数について小数点以下等の端数を切り捨て、ある実数以下の最大の整数を求める関数である。天井関数とは、ある実数について小数点以下等の端数を切り上げ、ある実数以上の最小の整数を求める関数である。なお、本実施形態の階級値は、実数に限らず、所定の数の倍数のような離散値であってもよい。
【００２６】
（２）値の取り得る範囲として表される階級値
測定値の範囲に対応付けて、階級値を定めておくようにしてもよい。例えば、温度センサの測定値について、測定値１０℃以上１３℃未満の範囲を階級値１２℃と対応付け、測定値１３℃以上１６℃未満の範囲を階級値１４度と対応付けるといったように予め定義しておく。そして、取得データ統合部１３は、対応関係の定義を参照し、階級値に変換する。
【００２７】
（３）２次元の領域として表される階級値
測定値が２次元の値のように複数の値を含む場合、予め定められた格子状の領域を示す階級値に変換してもよい。例えば、世界測地系に基づく緯度及び経度を含む位置情報に基づき、対象の範囲をメッシュ（網目）状の区域に分け、各区域の識別情報を階級値として用いることができる。なお、段階的に詳細度（粒度とも呼ぶ）の異なるメッシュを定義し、各段階の詳細度により対象の位置を表現するような階級値を採用するようにしてもよい。具体的には、例えば日本工業規格（ＪＩＳ）に定められている「地域メッシュコード」を用いるようにしてもよいし、独自の形式でメッシュを定義してもよい。
【００２８】
ここで、地域メッシュコードは、第１次メッシュ（「第１次地域区画」とも呼ぶ）、第２次メッシュ（「第２次地域区画」、「統合地域メッシュ」とも呼ぶ）及び第３次メッシュ（「第３次地域区画」、「基準地域メッシュ」とも呼ぶ）といった標準地域メッシュ、並びに２分の１地域メッシュ、４分の１地域メッシュ及び８分の１地域メッシュといった分割地域メッシュの各段階の大きさのメッシュで位置を表現する。図６は、地域メッシュコードを説明するための図である。第１次メッシュとは、地域を１辺の長さが約８０ｋｍの略矩形の領域に分割したものであり、第１次メッシュコードは、緯度を表す上２桁の数字及び経度を表す下２桁の数値からなる４桁の数字で表される。第２次メッシュは、第１次メッシュを東西方向及び南北方向にそれぞれ８等分したものであり、第２次メッシュコードは、緯度方向を表す上１桁の数字及び経度方向を表す下１桁の数字からなる２桁の数字を「−（ハイフン）」で第１次メッシュコードに連結した形式で表される。第３次メッシュは、第２次メッシュを東西方向及び南北方向にそれぞれ１０等分したものであり、第３次メッシュコードは、緯度方向を表す上１桁の数字及び経度方向を表す下１桁の数字からなる２桁の数字を第１次メッシュコード及び第２次メッシュコードに連結した形式で表される。２分の１地域メッシュは、第３次メッシュを東西方向及び南北方向にそれぞれ２等分したものであり、２分の１地域メッシュコードは、南西の領域を１、南東の領域を２、北西の領域を３、北東の領域を４として第１次〜第３次メッシュコードに連結した形式で表される。４分の１地域メッシュは、２分の１地域メッシュを東西方向及び南北方向にそれぞれ２等分したものであり、４分の１地域メッシュコードは、南西の領域を１、南東の領域を２、北西の領域を３、北東の領域を４として第１次〜２分の１地域メッシュコードに連結した形式で表される。８分の１地域メッシュは、４分の１地域メッシュを東西方向及び南北方向にそれぞれ２等分したものであり、８分の１地域メッシュコードは、南西の領域を１、南東の領域を２、北西の領域を３、北東の領域を４として第１次〜４分の１地域メッシュコードに連結した形式で表される。なお、緯度及び経度を含む位置情報から地域メッシュコードへの変換処理は既存のアルゴリズムを用いて行うことができるため、詳細は省略する。また、本実施形態では、便宜上、第１次メッシュ側を上位のメッシュ、８分の１地域メッシュ側を下位のメッシュと相対的に呼ぶ。
【００２９】
なお、位置情報の場合の階級値は、地域メッシュコードに限らず、いわゆるＩＳＯ規格やＪＩＳ規格に定められた国名コード、行政区分（都道府県）コード、全国地方公共団体コード等を連結して表すようにしてもよい。また、位置情報以外の場合においても、上述のような詳細度の階層構造を有する階級値を採用してもよい。例えば、建物における位置を表す場合、建物の識別情報、フロア（階数）、ブロック（区画）又は部屋の識別情報といった情報を結合して階級値とすることができる。このように、階級値には、数値だけでなく文字列を用いてもよい。
【００３０】
（４）複数の値を連結して表される階級値
例えば温度と湿度のように複数の測定値が存在する場合、各々から求められる離散値を連結して１つの階級値に変換してもよい。具体的には、温度及び湿度についてそれぞれ上述の規則（１）や（２）によって離散値を求め、温度を上２桁、湿度を下２桁のように２つの離散値をそれぞれ異なる桁に格納した階級値を生成する。
【００３１】
（５）所定の関数に基づく階級値
例えば、局所性鋭敏型ハッシュ（ＬＳＨ：Locality Sensitive Hashing）を用いて求めたハッシュ値を階級値としてもよい。ＬＳＨは、高次元データを次元圧縮するための手法であり、高次元空間内での距離が近い２つのベクトルが、ハッシュテーブルにおいて高確率で同じバケットに入るような処理を行う。ＬＳＨは既存のアルゴリズムを用いて求めることができるため、詳細は省略する。
【００３２】
取得データは、時間帯及び上述の階級値に基づいて分類され、記憶部１１に格納される
。また、時間帯は、予め定められた基準時刻から、例えば固定長の時間ずつに区切った期間をいうものとする。例えば、０時を基準として１分ごとの時間帯でデータをグループ化する場合、データの作成時刻を１（分）で除した剰余をデータの作成日時から減じ、当該時間帯を示す識別情報とする。本実施形態では、このような時間帯を、ウィンドウ時間とも呼ぶものとする。本実施形態では、時間帯及び階級値によって分類したデータをそれぞれ並列処理するものとする。すなわち、Ｓ２における「統合」とは、例えば時間帯及び階級値に基づくグループに分類して記憶させることである。
【００３３】
また、本実施形態では、後の処理において基準値（例えば、閾値）として用いるデータ（データ格納マップとも呼ぶ）を予め記憶部１１に記憶しているものとする。データ格納マップは、上述の階級値と紐付けて記憶される。図７は、データの格納形式を模式的に表す図である。本実施形態では、階級値インデックスに含まれる階級値とデータ格納領域へのポインタとをＫＶＳ形式で保持する。また、ポインタが示すデータ格納領域には、データ格納マップが保持される。
【００３４】
具体的には、図８及び図９に示すようなデータがＫＶＳ形式で保持される。図８は、機器温度の階級値インデックスの一例を示す表である。図８では、機器温度の階級値に対応付けて、データ格納領域ポインタとしてマップ名が複数登録されている。図９は、回転数の階級値インデックスの一例を示す表である。図９では、回転数の階級値に対応付けて、データ格納領域ポインタとしてマップ名が複数登録されている。そして、図８及び図９に示したマップ名（data_1、data_2・・・）の各々に対応付けて、図１０に示すデータ格納マップが予め登録されている。図１０のデータ格納マップには、当該基準値の作成日時、回転数の階級値、機器温度上限、機器温度下限、加速度上限及び加速度下限の項目に対応する値が登録されている。回転数の階級値は、本来は連続値であった回転数をＫＶＳ形式におけるキーとして用いるために、離散値に変換した値である。また、機器温度上限、機器温度下限、加速度上限及び加速度下限は、それぞれ正常と判断できる範囲を示す基準値である。基準値は、過去の正常動作時における測定データに基づいて予め決定しておく。
【００３５】
本実施形態では、データへのアクセス速度を向上させるため、例えばＫＶＳ形式を採用するものとする。ここで、ＫＶＳ形式におけるレコードの抽出は、一般的に、キーに格納された単一の値を指定して実行する。したがって、例えば幅のある連続値の範囲をキーとするような使い方には不向きといえる。本実施形態では、上述の規則（１）〜（５）に例示する通り、測定値の大きさの程度や位置が近い場合に、同一の離散値に変換される可能性が高くなるような階級値を求める。すなわち、ＫＶＳ形式の検索処理を可能とするために、もとの測定値の大小関係や位置関係を保持する傾向のある（換言すれば、大小関係や位置関係が逆転しない）一種の近似値を用いる。本実施形態では、所定の規則に基づいて求められた離散値である階級値をキーに用いるとともに、バリューとしてデータ格納領域を示す情報（例えばポインタ）を登録することによって、様々なデータに対して汎用的に利用可能な格納形式を実現している。
【００３６】
次に、蓄積データ抽出部１４は、本実施形態に係る蓄積データを読み出す（Ｓ３）。本実施形態に係る蓄積データは、例えば記憶部１１に格納されている基準値等（図７のデータ格納マップ）や、センサの付属情報（例えば、図示していないセンサの設置位置、センサの規格等）といったデータをいうものとする。本ステップでは、データ取得部１２が取得した測定データ（本ステップにおいては「問合せ値」とも呼ぶ）に基づいて、蓄積データを抽出する。
【００３７】
例えば、階級値インデックスから、問合せ値に基づいて求めた階級値と完全一致する階級値に紐付けられている蓄積データを抽出する。また、本ステップは、所定の周期で実行するようにしてもよい。具体的には、Ｓ２において統合処理の基準としたウィンドウ時間
の経過後、所定の待機時間が経過した後にＳ３の処理を行うようにしてもよい。
【００３８】
例えば、機器温度の階級値が０℃を基準とした５℃刻みの床関数によって求められる離散値と定義されている場合において、取得した機器温度の測定値が１２℃のとき、階級値として１０℃が求められる。そして、図９に示したような階級値インデックスが記憶部１１に保持されている場合、Ｓ３において階級値インデックス１０℃に対応付けられている蓄積データの格納領域ポインタとしてマップ名「data_1」及び「data_2」が読み出され、当該ポインタが示すデータ格納領域に保持されている蓄積データが抽出される。本実施形態では、問合せ値から求められる階級値と、階級値インデックスにおいて保持されている階級値とを同一の規則に基づいて求める。したがって、測定値が連続値の場合であっても一定の範囲に属する値を同一の階級値に変換し、データ検索のキーに用いることができる。なお、取得データ統合部１３がデータを統合するための基準に用いる階級値と、蓄積データ抽出部１４が記憶部１１から蓄積データを取得する際のキーとして用いる階級値とは一致しなくてもよいし、異なる属性名に対応する値をそれぞれ階級値に変換して用いるようにしてもよい。
【００３９】
なお、Ｓ３では、問合せ値に基づいて求めた階級値の周囲（上下）所定範囲内に含まれる階級値に紐付けられた蓄積データをさらに抽出するようにしてもよい。例えば、上述の機器温度の例において、問合せ値から求められた階級値±５℃の階級値インデックスに対応する蓄積データをさらに抽出できるようにする。本実施形態では所定の範囲に属する値（問合せ値）を１つの階級値に変換しているところ、所定の範囲の境界付近においては同程度の値が異なる階級値に変換される場合もある。周囲の階級値に紐付けられた蓄積データを抽出することで、例えば最近傍の測定値に係るデータ等、後の処理において対象とすべきデータに漏れが生じることを抑制できる。なお、所定範囲の大きさは、予め適切な値を指定しておくものとする。
【００４０】
また、Ｓ３において複数の問合せ値に基づいて蓄積データを抽出するようにしてもよい。この場合、例えば、複数の測定値の各々から階級値を求めると共に、階級値インデックスにおいて各階級値に共通して紐付けられた蓄積データを抽出する。例えば、上述の機器温度及び回転数の例において、機器温度の階級値が１０℃、回転数の階級値が１０００の場合、図９及び図１０の該当レコードに共通して紐付けられている「data_1」及び「data_2」に対応する蓄積データが抽出される。
【００４１】
その後、情報処理装置１の情報分析部１５は、測定データと蓄積データとが所定の条件を満たすか判断する（Ｓ４）。本ステップでは、実施形態に応じて様々な判断を行う。例えば、データ取得部１２が新たに取得した機器の振動加速度及び機器温度について、回転数の階級値に基づく基準値を抽出し、基準値の範囲から外れているか判断する。また、所定の解析処理を行い、データ取得部１２が新たに取得した機器の振動加速度と、すでに記憶部１１に格納されている蓄積データに係る振動加速度との相関性に基づいて、所定の定義式に基づいて算出される異常値スコアを求めるようにしてもよい。そして、基準値の範囲外の値である場合や、異常値スコアが所定の閾値以上になった場合、異常値スコアに所定の閾値以上の変化があった場合等には、Ｓ４において所定の条件を満たすと判断する。なお、複数のウィンドウ時間について監視し、所定期間以上連続してこのような場合が続いたときにはじめて所定の条件を満たすと判断するようにしてもよい。
【００４２】
そして、所定の条件を満たすと判断された場合（Ｓ４：Ｙｅｓ）、情報処理装置１に接続された出力装置、又はネットワーク２を介して接続された工場３のコンピュータ等、所定の装置に情報を出力する（Ｓ５）。例えば、本実施形態では、センサによる監視対象の機器に異常が生じているおそれがある旨のメッセージを出力する。Ｓ４において所定の条件を満たさないと判断された場合（Ｓ４：Ｎｏ）、又はＳ５の後、Ｓ１で受信したデータ
の処理を終了する。
【００４３】
なお、Ｓ４において所定の条件を満たさないと判断された場合も、例えば機器が正常に動作している旨の情報を出力するようにしてもよい。また、正常と判断された場合、その旨の情報を蓄積データに追加しておき、Ｓ３において正常と判断されたデータを抽出対象としてもよい。
【００４４】
上述の通り、本実施形態では、測定データから求められる階級値と、階級値インデックスにおいて蓄積データに対応付けられている階級値とを同一の規則に基づいて求める。したがって、測定値が連続値の場合であっても所定の範囲に含まれる測定値を同一の階級値に変換してデータ検索のキーに用いることができる。そして、階級値をキーとしたＫＶＳ形式で階級値インデックスを保持することにより、受信するストリームデータをリアルタイムに処理可能としている。また、複数の情報処理装置１、又は複数のプロセッサ若しくはいわゆるマルチコアプロセッサの複数のコアが、異なる階級値に係るデータを並列処理するような構成にも適している。このように、ストリームデータの処理効率を向上させることができる。
【００４５】
また、図２に示した機能ブロック図と同様の機能を、複数の装置に分散させる構成にしてもよい。図１１に、本実施形態に係る処理を並列に実行する情報処理システムの一例を示す。図１１のシステムは、工場３からデータを受信するデータ取得部１２ａ及び例えば受信したデータを振り分けるためのキューである記憶部１１ａを含む情報処理装置１１ａと、以降の処理を並列に実行する情報処理装置１１ｂとを有している。なお、情報処理装置１１ｂの各々に対応するキューを用意し、データ取得部１２ａが取得したデータを、例えば所定の属性値から求めた階級値に基づいて振り分けるようにしてもよい。また、情報処理装置１１ｂは、記憶部１１ｂと、取得データ統合部１３ｂと、蓄積データ抽出部１４ｂと、情報分析部１５ｂと、情報出力部１６ｂとを含む。例えば、各情報処理装置１ｂの取得データ統合部１３ｂは、例えば各自に振り分けられたデータを情報処理装置１ａのキューから取得する。図１１のような分散システムによれば、データ取得部１２ａが取得したデータについて例えば所定の属性値から求めた階級値に基づき、並列に処理を行うことができるようになる。なお、データ取得部１２ａがデータを分散させるための基準に用いる階級値と、蓄積データ抽出部１４ｂが記憶部１１ｂから蓄積データを取得する際のキーとして用いる階級値とは一致しなくてもよいし、異なる属性名に対応する値をそれぞれ階級値に変換して用いるようにしてもよい。また、処理を複数の装置に分散させるための、物理的又は論理的な機能の切り分け方は、図１１の構成には限られない。例えば、情報処理装置１１ａが多重化されていてもよいし、キューは情報処理装置１１ｂ又は図示していない他の情報処理装置が有していてもよい。
【００４６】
＜実施形態２＞
図１２は、実施形態２に係るシステムの一例を模式的に示す図である。システムの構成及び処理は基本的に実施形態１と同様であるため、対応する構成要素及び処理については対応する符号を付し説明を省略する。以下、実施形態１との差異を中心に説明する。図１２のシステムは、本実施の形態に係る処理を行う情報処理装置１と、ネットワーク２を介して情報処理装置１に接続されたデータセンター３ａとを含む。本実施形態では、データセンターの温度、湿度、空調機器の動作状況等をセンサで監視し、空調制御を行う。
【００４７】
なお、データセンター３ａは、１つの建物が１以上のフロア（階）を有し、各フロアは１以上のエリア（領域）又は部屋等を有し、エリア又は部屋等の各々は、１以上のサーバ装置を備えるものとする。また、エリア又は部屋等の各々は、１以上の空調機器を備える。また、エリア若しくは部屋、又はサーバ装置の少なくともいずれかが温度センサ、湿度センサ等を備える。そして、設置された位置に基づいて、空調機器と当該空調機器が影響
を与えるセンサとの対応付けが記憶されているものとする。
【００４８】
図１３は、実施形態２に係る処理の一例を示す処理フロー図である。実施形態２では、Ｓ５ａにおいて機器の動作を制御する点が実施形態１とは異なっている。また、上述の通り、取得するデータは、データセンターの温度、湿度、空調機器の動作状況等を示すデータである。
【００４９】
Ｓ２においては、例えば建物の識別情報、フロアの識別情報、エリア又は部屋の識別情報、機器の識別情報等を階級値として取得データを統合する。離散値を階級値として用いる場合、変換せずにそのまま用いるようにしてもよい。
【００５０】
また、Ｓ３においては、例えば取得データに係るセンサの識別情報に基づいて、当該センサによって過去に測定された温度や湿度のデータ（すなわち、蓄積データ）をウィンドウ時間ごとに読み出す。
【００５１】
そして、Ｓ４において、各センサの測定値が上昇傾向にあるか、又は下降傾向にあるか（すなわち、所定の条件を満たすか）判断する。本実施形態では、各センサについて温度又は湿度の目標値が予め定められており、当該目標値と測定値との差が増大する傾向にある場合、空調機器の動作の目標値（設定温度、設定湿度とも呼ぶ）を修正するものとする。
【００５２】
所定の条件を満たすと判断された場合、Ｓ５ａでは、空調機器ごとに予め定められた各センサへの影響範囲に基づいて、設定を変更すべき空調機器を特定し、空調機器の設定温度又は設定湿度といった設定値を変更する。
【００５３】
本実施形態によれば、異常を検知した場合に、情報を出力する代わりに機器の動作を制御することができる。なお、さらに空調機器の設定値を変更した旨の情報を所定の装置に出力するようにしてもよい。
【００５４】
＜実施形態３＞
図１４は、実施形態３に係るシステムの一例を模式的に示す図である。システムの構成及び処理は基本的に実施形態１と同様であるため、対応する構成要素及び処理については対応する符号を付し説明を省略する。以下、実施形態１との差異を中心に説明する。図１４のシステムは、本実施の形態に係る処理を行う情報処理装置１と、ネットワーク２を介して情報処理装置１に接続された、移動体３ｂとを含む。本実施形態では、移動体３ｂはＧＰＳ（Global Positioning System）受信機等の位置情報を取得可能なセンサを備えて
いるものとする。具体的には、移動体３ｂは、ナビゲーション装置を備える車両や、ユーザが所持して移動する携帯電話機、スマートフォン、タブレット（スレートＰＣ（Personal Computer））、ノート型ＰＣ等である。本実施形態では、例えば、所定のアプリケー
ションソフトウェアをインストールした各移動体３ｂから位置情報を取得する。そして、ある店舗の位置から所定範囲内に存在する移動体３ｂに対し、店舗の広告又は電子クーポンといった情報を出力する。なお、移動体３ｂから所定期間内に受信した位置情報を基準値として記憶部１１に記憶し、いずれかの基準値が予め定められた店舗の位置から所定範囲内に存在する場合、基準値に対応する移動体３ｂに情報を出力するものとする。この場合、基準値の格納領域を上述した階級値インデックスによって記憶せず、メモリ等の主記憶装置に保持するようにしてもよい。
【００５５】
次に、実施形態１と同様に図４に基づいて実施形態３の処理を説明する。上述の通り、本実施形態では移動体３ｂの存在する位置情報を継続的に取得する。また、Ｓ２において、同一の時間帯に同一のメッシュ内に存在する移動体３ｂの情報を統合して格納する。な
お、上述の第１次メッシュから８分の１地域メッシュの中から、処理に応じて好ましい詳細度のメッシュを採用することができる。例えば、本実施形態では第３次メッシュを用いて処理を行うものとする。
【００５６】
そして、Ｓ３において、例えば所定の店舗の位置（すなわち、問合せ値）から所定範囲（探索範囲とも呼ぶ）内の移動体３ｂを読み出す。ここでは、簡易的に同一の階級値（すなわち、同一のメッシュ）に含まれる移動体３ｂを対象として探索範囲内に存在するか判断してもよい。ただし、例えば図１５に示すように、店舗４と同一のメッシュに存在する移動体３ｂ−１よりも、周囲のメッシュに存在する移動体３ｂ−２の方が店舗４に近い場合もある。図１５は、メッシュ、移動体、及び店舗の位置関係の一例を示す図である。図１５の例では、縦方向にＡ〜Ｃの３つ、横方向に１〜３の３つ、合計でＡ１〜Ｃ３の９つのメッシュが示されている。本実施形態では、問合せ値である店舗４が属するメッシュＢ２の周囲に存在するメッシュＣ１に属する移動体３ｂを対象として探索範囲内に存在するか判定できるようにする。詳細には、あるメッシュＢ２において基準となる店舗４がいずれの方角に存在するのか（すなわち、南西側、南東側、北西側又は北東側）に存在するのか、下位のメッシュコードを参照することで判断できるため、該当する方角（図１５の例では南西側）の周囲のメッシュ（例えばＢ１、Ｃ１及びＣ２）に含まれる移動体を対象として探索範囲内に存在するか判断する。なお、対象とされた移動体３ｂと店舗４との距離の計算は、ヒュベニの公式等を用いて算出することができるため詳細は省略する。
【００５７】
Ｓ４では、店舗４の位置から探索範囲内に存在するという条件を満たす移動体３ｂを抽出し、当該条件を満たす移動体３ｂが１以上存在する場合には、Ｓ５において該当する移動体３ｂの情報を所定の装置に出力する。なお、店舗４からの距離が近い順に所定数の移動体３ｂを抽出するようにしてもよい。また、Ｓ４において連続するウィンドウ時間の各々における移動体３ｂと店舗４との距離を比較し、時間の経過に伴って距離が減少している（すなわち、移動体３ｂが店舗４に近づいている）場合に、Ｓ５において当該移動体３ｂに情報を出力するようにしてもよい。
【００５８】
本実施形態でも、測定データ（位置情報）から求められる階級値（地域メッシュコード）と、蓄積データの階級値インデックスとを同一の規則に基づいて求めるため、測定値が連続値の場合であっても所定の範囲に含まれる測定値を同一の階級値に変換してデータ検索のキーに用いることができる。そして、階級値をキーとしたＫＶＳ形式で階級値インデックスを保持することにより、受信するストリームデータをリアルタイムに処理可能としている。また、図１５を用いて説明した通り同一の階級値に含まれる移動体３ｂのみを探索するだけでは最近傍の移動体３ｂが抽出できないおそれがあるところ、Ｓ３において周囲の階級値に係るメッシュを探索の対象とすることで、漏れなく移動体３ｂを抽出できるようにしている。
【００５９】
なお、周囲のメッシュに含まれる移動体３ｂを探索の対象とするために、次のような処理を行ってもよい。ここでは、図１５の例において、移動体同士の距離に基づき、ある処理対象の移動体３ｂ−１から所定範囲内（例えば、図１５の移動体３ｂ−１を中心とする破線の円内）に存在する移動体を抽出するものとする。Ｓ１において例えば図１５の移動体３ｂ−２、３ｂ−３に関する位置情報を取得した場合、当該位置情報から求めた階級値（メッシュＣ１、Ａ３）だけでなく、当該階級値から所定範囲内の階級値（周囲のメッシュ）に係るグループにも分類する。すなわち、予め定められている探索範囲の大きさ（所定範囲）に基づき、移動体３ｂ−２、３ｂ−３の周囲所定範囲内に隣接するメッシュの少なくとも一部が存在する場合は、周囲のメッシュに存在する移動体からも探索の対象として抽出されるべきであるため、該当する周囲のメッシュにも紐付けて移動体３ｂ−２、３ｂ−３の情報を登録しておく。そして、Ｓ２において取得データを統合する際、例えばメモリ上に、移動体３ｂ−２の場合、自身が属するメッシュＣ１だけでなく、所定範囲内に
存在する上（Ｂ１）、右上（Ｂ２）、及び右（Ｃ２）のメッシュにも紐付けて移動体３ｂ−２に関する情報を保持しておく。同様に、移動体３ｂ−３の場合、自身が属するメッシュＡ３だけでなく、周囲所定範囲内に存在するメッシュＡ２、Ｂ２、Ｂ３にも紐付けて移動体３ｂ−３に関する情報を保持しておく。図１１に示した情報処理システムのような構成により並列処理する場合において、周囲のメッシュに相当する階級値を異なる装置が処理するときであっても、予め各装置に移動体の情報を保持させておくことにより漏れなく探索の対象を抽出できるようになる。
【００６０】
＜その他＞
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。
【００６１】
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやＲＯＭ等がある。
【００６２】
なお、階級値が複数段階の詳細度で表現される場合、例えば各段階の階級値によって上述の階級値インデックスを作成しておき、情報処理装置１の処理負荷に応じて処理に使用する階級値の詳細度を変更するようにしてもよい。１つのメッシュに含まれる移動体の数が増加し、処理負荷が所定の閾値を超えたと判断された場合、使用する階級値を下位のメッシュに変更することで処理対象の移動体数を減らし、処理負荷を軽減させることができる。また、近傍の移動体を特定するような処理の場合、移動体の密度（例えばメッシュ当たりの移動体の数）に応じて、階級値の詳細度を変更するようにしてもよい。
【００６３】
また、店舗４からの距離に基づく処理には限定されず、例えば複数の移動体３ｂ同士の距離を算出し、例えば近隣の移動体間で通信処理を行う態様としてもよい。
【００６４】
また、処理の対象となるストリームデータは、センサが測定したデータには限られない。例えば、ＳＮＳ（Social Network Service）やミニブログ等への投稿、コンピュータや通信機器が記録する様々なログデータ等を処理対象としてもよい。また、投稿にユーザ端末のＧＰＳで測定した位置情報が付加されているときは、当該位置情報を地域メッシュである階級値に変換して例えば地域ごとの傾向を分析することができる。
【符号の説明】
【００６５】
１      情報処理装置
１１      記憶部
１２      データ取得部
１３      取得データ統合部
１４      蓄積データ抽出部
１５      情報分析部
１６      情報出力部
２      ネットワーク
３      工場
３ａ      データセンター
３ｂ      移動体
４      店舗
【図１】
0006489400.tif 000003
【図２】
0006489400.tif 000004
【図３】
0006489400.tif 000005
【図４】
0006489400.tif 000006
【図５】
0006489400.tif 000007
【図６】
0006489400.tif 000008
【図７】
0006489400.tif 000009
【図８】
0006489400.tif 000010
【図９】
0006489400.tif 000011
【図１０】
0006489400.tif 000012
【図１１】
0006489400.tif 000013
【図１２】
0006489400.tif 000014
【図１３】
0006489400.tif 000015
【図１４】
0006489400.tif 000016
【図１５】
0006489400.tif 000017