(57)【要約】【課題】リソースの消費を抑制できるデータ処理プログラム、データ処理方法、およびデータ処理装置を提供する。【解決手段】収集部４３ａは、記憶部４１に記憶され、入力されるデータを段階的にフィルタリングする複数のルールから各ルールに用いられるデータ項目を収集する。取込部４３ｃは、入力されるデータのうち、収集されたデータ項目のデータを選択的に取り込む。【選択図】図２
2015087829.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
記憶部に記憶され、入力されるデータを段階的にフィルタリングする条件を示す複数のルールから各ルールに用いられるデータ項目を収集し、
入力されるデータのうち、収集されたデータ項目のデータを選択的に取り込む
処理を実行させることを特徴とするデータ処理プログラム。
【請求項２】
前記収集する処理は、ルールにおいて判定に用いられる判定データ項目と、ルールを満たす場合に出力される出力データ項目を収集し、
前記取り込む処理は、受信したデータから、判定データ項目のデータを所定の形式に変換して取り込み、出力データ項目のデータをメモリに格納する
ことを特徴とする請求項１に記載のデータ処理プログラム。
【請求項３】
受信したデータについて、前記所定の形式に変換された判定データ項目のデータを用いて、前記複数のルールによる段階的なフィルタリングを行い、
前記メモリに記憶された出力データ項目のデータを用いてフィルタリングの結果を出力する
処理をさらに実行させることを特徴する請求項２に記載のデータ処理プログラム。
【請求項４】
前記複数のルールによる段階的なフィルタリングの処理後、前記メモリに記憶された出力データ項目のデータを削除する
処理をさらに実行させることを特徴する請求項３に記載のデータ処理プログラム。
【請求項５】
コンピュータが、
記憶部に記憶され、入力されるデータを段階的にフィルタリングする条件を示す複数のルールから各ルールに用いられるデータ項目を収集し、
入力されるデータのうち、収集されたデータ項目のデータを選択的に取り込む
処理を実行することを特徴とするデータ処理方法。
【請求項６】
記憶部に記憶され、入力されるデータを段階的にフィルタリングする複数のルールから各ルールに用いられるデータ項目を収集する収集部と、
入力されるデータのうち、収集されたデータ項目のデータを選択的に取り込む取込部と
を有することを特徴とするデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理プログラム、データ処理方法、およびデータ処理装置に関する。
【背景技術】
【０００２】
近年、様々な対象から刻々と収集されるデータを処理する技術として複合イベント処理（ＣＥＰ（Complex  Event  Processing））が知られている。この複合イベント処理は、ＥＳＰ（Event  Stream  Processing）と呼ぶ場合もあるが、ここでは、ＥＳＰも包含してＣＥＰと総称する。
【０００３】
複合イベント処理では、受信したデータに含まれる各種のデータ項目のデータを、設定されたルールに従って処理し、ルールに応じた結果を出力する。このデータ項目は、プロパティとも言う。例えば、複合イベント処理では、受信したデータに含まれる各種のプロパティのデータをルールに従ってフィルタリングして出力する。また、複合イベント処理では、複数のルールを設定して段階的にルールに従って処理を行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２１２２２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、複数のルールを設定して段階的に処理を行う場合、各段のルールは、後段のルールで用いるプロパティのデータが抽出されるように設定する。このため、後段のルールで用いるプロパティのデータが変更となると、変更されたプロパティのデータが抽出されるように前段のルールを変更しなければならず、煩雑である。このため、例えば、受信したデータの全てのプロパティのデータが抽出されるようにルールが設定される。
【０００６】
しかしながら、受信したデータの全てのプロパティのデータが抽出されるようにルールを設定した場合、不要なプロパティのデータまで抽出されてしまう。このような不要なプロパティのデータが抽出された場合、不要なプロパティのデータの保存や処理にリソースが消費されてしまう。
【０００７】
一側面では、リソースの消費を抑制するデータ処理プログラム、データ処理方法、およびデータ処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、データ処理プログラムは、コンピュータに、記憶部に記憶され、入力されるデータを段階的にフィルタリングする条件を示す複数のルールから各ルールに用いられるデータ項目を収集する処理を実行させる。また、データ処理プログラムは、コンピュータに、入力されるデータのうち、収集されたデータ項目のデータを選択的に取り込む処理を実行させる。
【発明の効果】
【０００９】
本発明の一側面によれば、リソースの消費を抑制できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、ＣＥＰシステムの概略的な構成の一例を示す図である。
【図２】図２は、データ処理装置の機能的な構成の一例を示す図である。
【図３】図３は、フィルタ条件データのデータ構成の一例を示す図である。
【図４】図４は、使用プロパティデータのデータ構成の一例を示す図である。
【図５】図５は、複合イベント処理のデータの流れの一例を示す図である。
【図６】図６は、入力イベントを抽出する流れを説明する図である。
【図７】図７は、出力イベントを抽出する流れを説明する図である。
【図８】図８は、出力イベントに含めるプロパティを抽出する流れを説明する図である。
【図９】図９は、ルール間のプロパティの対応関係を説明する図である。
【図１０】図１０は、判定に用いられているプロパティを抽出する流れを説明する図である。
【図１１】図１１は、判定に利用されるプロパティについての入力イベントプロパティを特定する流れを説明する図である。
【図１２】図１２は、出力に用いられるプロパティを抽出する流れを説明する図である。
【図１３】図１３は、出力に用いられるプロパティに対応する入力イベントのプロパティを特定する流れを説明する図である。
【図１４】図１４は、ルール１〜３から登録される使用プロパティ情報の一例を示す図である。
【図１５】図１５は、入力変換処理用の情報および出力変換処理用の情報の一例を示す図である。
【図１６】図１６は、複合イベント処理の流れの一例を説明する図である。
【図１７】図１７は、最終出力のプロパティのデータの削除の流れの一例を説明する図である。
【図１８】図１８は、登録処理の手順を示すフローチャートである。
【図１９】図１９は、複合イベント処理の手順を示すフローチャートである。
【図２０】図２０は、データ処理プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１１】
以下に、本発明にかかるデータ処理プログラム、データ処理方法、およびデータ処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１２】
実施例１に係るデータ処理装置について説明する。図１は、ＣＥＰシステムの概略的な構成の一例を示す図である。ＣＥＰシステム１０は、データ処理装置２０を有する。
【００１３】
データ処理装置２０は、複合イベント処理を行う物理サーバであり、例えば、データセンサや各企業に設けられたサーバコンピュータである。データ処理装置２０は、ＣＥＰ処理部２１が動作する。ＣＥＰ処理部２１は、複合イベント処理を実現するソフトウェアである。複合イベント処理を実現するソフトウェアとしては、例えば、Ｅｓｐｅｒが挙げられる。なお、図１の例では、データ処理装置２０が１つの場合を例示したが、開示のシステムはこれに限定されず、データ処理装置２０を２つ以上設けて処理を分散させてもよい。また、図１の例では、データ処理装置２０上で後述するＣＥＰ処理部２１が動作する場合を例示するが、データ処理装置２０で１または複数のＶＭ（Virtual  Machine：仮想マシン）を動作させ、ＶＭ上でＣＥＰ処理部２１が動作してもよい。
【００１４】
データ処理装置２０は、データをフィルタリングするフィルタ条件を記憶する。図１の例では、データ処理装置２０は、フィルタ条件として、ルール１〜３を記憶する。
【００１５】
データ処理装置２０には、様々な対象からデータがイベントとして配信される。例えば、データ処理装置２０は、図示しないネットワークに接続され、ネットワークを介して様々な対象からイベントの各種のプロパティのデータを含んだイベントのデータが配信される。このプロパティとは、データの属性などデータの項目を示すものである。プロパティのデータには、それぞれのプロパティの属性のデータが格納される。データ処理装置２０は、様々な対象から受信したイベントのデータを設定されたルールに従って処理し、ルールに応じた結果を出力先へ出力する。
【００１６】
次に、図２を参照して、データ処理装置２０のより詳細な構成について説明する。図２は、データ処理装置の機能的な構成の一例を示す図である。図２に示すように、データ処理装置２０は、通信制御Ｉ／Ｆ（interface）部４０と、記憶部４１と、メモリ４２と、制御部４３とを有する。
【００１７】
通信制御Ｉ／Ｆ部４０は、少なくとも１つのポートを有し、ネットワークとの間の通信を制御するインタフェースである。通信制御Ｉ／Ｆ部４０は、ネットワークを介して様々な対象から配信されたイベントのデータを受信する。また、通信制御Ｉ／Ｆ部４０は、フィルタリングの結果を示す情報を出力先へ出力する。
【００１８】
記憶部４１は、ハードディスク、光ディスクなどの記憶装置である。なお、記憶部４１は、フラッシュメモリなどのデータを書き換え可能な不揮発性のメモリであってもよい。
【００１９】
記憶部４１は、各種情報を記憶する。例えば、記憶部４１は、制御部４３で実行されるＯＳ（Operating  System）や後述する登録処理、複合イベント処理などの各種の処理を行うプログラムを記憶する。さらに、記憶部４１は、制御部４３で実行されるプログラムの実行に要する各種データを記憶する。例えば、記憶部４１は、フィルタ条件情報４１ａと、使用プロパティ情報４１ｂとを記憶する。
【００２０】
フィルタ条件情報４１ａは、データをフィルタリングする条件を示すルールを格納したデータである。このルールは、例えば、システムの管理者や開発者等によって設定される。ここで、複合イベント処理で用いられるルールの記述形式は、様々ある。本実施例では、ルールがＳＱＬ（Structured  Query  Language）をベースとしたイベント記述言語で記述された場合を例にするが、これに限定されるものではない。
【００２１】
図３は、フィルタ条件データのデータ構成の一例を示す図である。図３に示すように、フィルタ条件情報４１ａには、ルール１〜３の３つのフィルタ条件が格納されている。ＳＱＬをベースとしたイベント処理言語では、ルールは、ＳＱＬと同様に、insert  into句、select句、from句、where句、group  by句、order  by句から構成される。
【００２２】
insert  into句は、ルールにマッチしたデータをイベントとして出力する際の出力イベントの名称を指定する部分である。select句は、出力イベントのデータとするプロパティを指定する部分である。select句では、入力する入力イベントの全てのプロパティを出力イベントのプロパティに指定することを示す「*」が設定可能とされている。from句は、入力イベントを指定する部分である。where句は、処理対象とするデータの条件を指定する部分である。group  by句は、出力するデータのグループ分けを指定する部分である。order  by句は、出力するデータの出力順序を指定する部分である。select句、where句、group  by句およびorder  by句は、プロパティ名により条件の指定が行われる。
【００２３】
図３の例では、ルール１は、イベント「Event1」について、プロパティ「1b」のデータが１００より大きい場合、全てのプロパティのデータを抽出してイベント「FilteredEvent1」として出力することを示している。
【００２４】
また、ルール２は、イベント「Event2」について、プロパティ「2b」のデータが１００未満の場合、全てのプロパティのデータを抽出してイベント「FilteredEvent2」として出力することを示している。
【００２５】
また、ルール３は、from句において、イベント「FilteredEvent1」を「e1」とし、イベント「FilteredEvent2」を「e2」とする別名が定義されている。ルール３は、「e1」のプロパティ「1a」のデータと「e2」のプロパティ「2a」のデータとが一致する場合、「e1」のプロパティ「1a」、「e1」のプロパティ「1ｃ」、「e2」のプロパティ「2d」および「e2」のプロパティ「2d」の各データを抽出することを示している。また、ルール３は、「e1」のプロパティ「1a」のデータをプロパティ「1a」のデータとし、「e1」のプロパティ「1c」のデータをプロパティ「1c」のデータとする定義がされている。また、ルール３は、「e2」のプロパティ「2d」のデータをプロパティ「2d」のデータとし、e2のプロパティ「2e」のデータをプロパティ「2e」のデータとする定義がされている。ルール３は、プロパティ「1a」のデータ、プロパティ「1c」のデータ、プロパティ「2d」のデータ、プロパティ「2e」のデータをイベント「ActionEvent」として出力することを示している。
【００２６】
ここで、ルール１は、イベント「FilteredEvent2」を出力する。ルール２は、イベント「FilteredEvent2」を出力する。ルール３は、このイベント「FilteredEvent2」およびイベント「FilteredEvent2」からデータをフィルタリングしている。このことから、ルール１〜３は、ルール１とルール２のフィルタリング結果をルール３がさらにフィルタリングする段階的なフィルタリングである。
【００２７】
図２に戻り、使用プロパティ情報４１ｂは、ルールに用いられるプロパティを記憶したデータである。この使用プロパティ情報４１ｂは、後述する収集部４３ａによって登録される。
【００２８】
図４は、使用プロパティデータのデータ構成の一例を示す図である。図４に示すように、使用プロパティ情報４１ｂは、「判定プロパティ」、「判定プロパティの基になる入力イベントのプロパティ」、「最終出力プロパティ」、「最終出力プロパティの基になる入力イベントのプロパティ」の各項目を有する。「判定プロパティ」の項目は、ルールにおいて、判定に用いられるプロパティを記憶する領域である。「判定プロパティの基になる入力イベントのプロパティ」の項目は、判定プロパティがどの入力イベントのどのプロパティであるかを記憶する領域である。「最終出力プロパティ」の項目は、ルールに出力先へ最終的に出力されるプロパティが含まれる場合、当該プロパティを記憶する領域である。ルールに出力先へ最終的に出力されるプロパティが無い場合、「最終出力プロパティ」の項目には、最終出力プロパティが無いことを示す「−」が記憶される。「最終出力プロパティの基になる入力イベントのプロパティ」の項目は、最終出力プロパティの基になる入力イベントのプロパティがどの入力イベントのどのプロパティであるかを記憶する領域である。
【００２９】
図４の例では、ルール１は、判定において、イベント「Event1」のプロパティ「1b」が使用されることを示す。また、ルール１は、イベント「Event1」のプロパティ「1b」の基がイベント「Event1」のプロパティ「1b」であることを示す。また、ルール１は、最終出力プロパティが「−」であることから、出力先へ出力となるプロパティが無いことを示す。
【００３０】
ルール２は、判定において、イベント「Event2」のプロパティ「2b」が使用されることを示す。また、ルール２は、イベント「Event2」のプロパティ「2b」の基がイベント「Event2」のプロパティ「2b」であることを示す。また、ルール２は、最終出力プロパティが「−」であることから、出力先へ出力となるプロパティが無いことを示す。
【００３１】
また、ルール３は、判定において、イベント「FilteredEvent1」のプロパティ「1a」と、イベント「FilteredEvent2」のプロパティ「2a」とが使用されることを示す。また、ルール３は、イベント「FilteredEvent1」のプロパティ「1a」の基がイベント「Event1」のプロパティ「1a」であり、イベント「FilteredEvent2」のプロパティ「2a」の基がイベント「Event2」のプロパティ「2a」であることを示す。また、ルール３は、イベント「ActionEvent」のプロパティ「1a」、「1c」、「2d」、「2e」が最終的な出力先へ出力となるプロパティであることを示す。また、ルール３は、イベント「ActionEvent」のプロパティ「1a」はイベント「Event1」のプロパティ「1a」が基であり、イベント「ActionEvent」のプロパティ「1c」はイベント「Event1」のプロパティ「1c」が基であることを示す。また、ルール３は、イベント「ActionEvent」のプロパティ「2d」はイベント「Event2」のプロパティ「2ｄ」が基であり、イベント「ActionEvent」のプロパティ「2e」はイベント「Event2」のプロパティ「2e」が基であることを示す。
【００３２】
図２に戻り、メモリ４２は、各種のデータを一時的に記憶する装置である。メモリ４２は、ＲＡＭ（Random  Access  Memory）やキャッシュメモリなどのデータを書き換え可能な揮発性の半導体メモリである。例えば、メモリ４２は、制御部４３の処理で使用される各種のデータを一時的に記憶する。
【００３３】
制御部４３は、データ処理装置２０を制御するデバイスである。制御部４３としては、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用できる。制御部４３は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部４３は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部４３は、上述のＣＥＰ処理部２１が動作する。ＣＥＰ処理部２１は、収集部４３ａと、取込部４３ｂと、イベント処理部４３ｃと、出力部４３ｄと、削除部４３ｅを有する。なお、本実施例では、ＣＥＰ処理部２１が、収集部４３ａと、取込部４３ｂと、イベント処理部４３ｃと、出力部４３ｄと、削除部４３ｅを有する場合について説明するが、何れか処理部がＣＥＰ処理部２１とは別に提供されてもよい。
【００３４】
収集部４３ａは、フィルタリングで用いられるプロパティを収集する処理部である。収集部４３ａは、記憶部４１に記憶されたフィルタ条件情報４１ａの各ルールから、ルールの処理で用いられるプロパティを収集する。そして、収集部４３ａは、処理で用いられるプロパティの基となる入力イベントのプロパティを特定して、使用プロパティ情報４１ｂに登録する。
【００３５】
ここで、収集部４３ａが、フィルタ条件情報４１ａの各ルールから各ルールに用いられるプロパティを収集して使用プロパティ情報４１ｂにデータを登録する流れを説明する。図５は、複合イベント処理のデータの流れの一例を示す図である。図５の例では、プロパティ「1a」〜「1e」を有する機器５０Ａからプロパティ「1a」〜「1e」のデータを含んだ機器イベントＥ１が入力している。また、プロパティ「2a」〜「2e」を有する機器５０Ｂからプロパティ「2a」〜「2e」のデータを含んだ機器イベントＥ２が入力している。データ処理装置２０は、機器５０Ａから入力するプロパティ「1a」〜「1e」のデータを含んだ機器イベントＥ１をイベント「Event1」に変換して取り込む。また、データ処理装置２０は、機器５０Ｂから入力するプロパティ「2a」〜「2e」のデータを含んだ機器イベントＥ２をイベント「Event2」に変換して取り込む。データ処理装置２０は、取り込んだイベント「Event1」のデータをルール１に従って処理してイベント「FilteredEvent1」のデータを出力する。また、データ処理装置２０は、取り込んだイベント「Event2」のデータをルール２に従って処理してイベント「FilteredEvent2」のデータを出力する。そして、データ処理装置２０は、イベント「FilteredEvent1」のデータおよびイベント「FilteredEvent2」のデータをルール３に従って処理してイベント「ActionEvent」のデータを出力する。データ処理装置２０は、このイベント「ActionEvent」のデータを出力形式に合わせて出力変換処理を行ってアクション用のイベントとして、出力先へ出力する場合を示している。ルール１〜３は、図３に示したものとする。
【００３６】
収集部４３ａは、フィルタ条件情報４１ａに記憶されたルールから、それぞれのルールの入力イベントを抽出する。また、収集部４３ａは、入力イベントに別名が定義されている場合、別名も抽出する。
【００３７】
図６は、入力イベントを抽出する流れを説明する図である。収集部４３ａは、ルール１〜３のfrom句から、入力イベントを抽出する。また、収集部４３ａは、from句での別名の定義から入力イベントの別名を抽出する。例えば、収集部４３ａは、ルール１について、入力イベントとしてイベント「Event1」を抽出する。また、収集部４３ａは、ルール２について、入力イベントとしてイベント「Event2」を抽出する。また、収集部４３ａは、ルール３について、入力イベントとしてイベント「FilteredEvent1」、「FilteredEvent2」を抽出する。また、収集部４３ａは、ルール３について、イベント「FilteredEvent1」の別名が「e1」と抽出し、「FilteredEvent2」の別名が「e2」と抽出する。
【００３８】
また、収集部４３ａは、フィルタ条件情報４１ａに記憶されたルールから、それぞれのルールの出力イベントを抽出する。
【００３９】
図７は、出力イベントを抽出する流れを説明する図である。収集部４３ａは、ルール１〜３のinsert  into句から、出力イベントを抽出する。例えば、収集部４３ａは、ルール１について、出力イベントとしてイベント「FilteredEvent1」と抽出する。また、収集部４３ａは、ルール２について、出力イベントとしてイベント「FilteredEvent2」と抽出する。また、収集部４３ａは、ルール３について、出力イベントとしてイベント「ActionEvent」と抽出する。なお、ルールにinsert  into句が無い場合、収集部４３ａは、ルールにより出力されるイベントを他のイベントと識別するため、他のイベントと重複しないイベント名を定める。例えば、収集部４３ａは、insert  into句が無い場合、出力イベントのイベント名を入力イベントのイベント名＋「OutputStream」と定めて抽出する。
【００４０】
また、収集部４３ａは、フィルタ条件情報４１ａに記憶されたルールから、それぞれのルールの出力イベントに含めるプロパティを抽出する。また、収集部４３ａは、出力イベントに含めるプロパティの基となったプロパティを抽出する。また、収集部４３ａは、出力イベントに含めるプロパティの基になる入力イベントのプロパティを抽出する。
【００４１】
図８は、出力イベントに含めるプロパティを抽出する流れを説明する図である。収集部４３ａは、ルール１〜３のselect句から、プロパティを抽出する。例えば、収集部４３ａは、select句に「*」が記述されている場合、入力イベントの全プロパティを出力イベントに含めるプロパティとして抽出する。また、収集部４３ａは、select句に出力イベントに含めるプロパティの別名が定義されている場合、別名を抽出する。また、収集部４３ａは、select句に出力イベントに含めるプロパティの別名が定義されていない場合、記述されたプロパティを抽出する。
【００４２】
また、収集部４３ａは、抽出したプロパティの基となったプロパティを抽出する。また、収集部４３ａは、出力イベントに含めるプロパティの基になる入力イベントのプロパティを抽出する。
【００４３】
例えば、収集部４３ａは、ルール１について、select句に「*」が設定されているため、入力イベントの全てのプロパティ「1a」〜「1e」を出力イベントのデータのプロパティとして抽出する。このプロパティ「1a」〜「1e」の別名がselect句に定義されていないため、収集部４３ａは、基となったプロパティとして同一のプロパティ「1a」〜「1e」を抽出する。また、収集部４３ａは、プロパティ「1a」〜「1e」の基になる入力イベントのプロパティとしてイベント「Event1」のプロパティ「1a」〜「1e」を抽出する。
【００４４】
また、収集部４３ａは、ルール２について、select句に「*」が設定されているため、入力イベントの全てのプロパティ「2a」〜「2e」を出力データとするプロパティとして抽出する。このプロパティ「2a」〜「2e」の別名がselect句に定義されていないため、収集部４３ａは、基となったプロパティとして同一のプロパティ「2a」〜「2e」を抽出する。また、収集部４３ａは、プロパティ「2a」〜「2e」の基になる入力イベントのプロパティとしてイベント「Event2」のプロパティ「1a」〜「1e」を抽出する。
【００４５】
また、収集部４３ａは、ルール３について、select句から、プロパティ「1a」、「1c」、「2d」、「2e」を出力データとするプロパティとして抽出する。このプロパティ「1a」、「1c」、「2d」、「2e」の別名がselect句に定義されている。このため、収集部４３ａは、基となったプロパティとして、「e1」のプロパティ「1a」、「e1」のプロパティ「1c」、「e2」のプロパティ「2d」、「e2」のプロパティ「2e」を抽出する。また、収集部４３ａは、プロパティ「1a」、「1c」、「2d」、「2e」の基になる入力イベントのプロパティとしてイベント「FilteredEvent1」のプロパティ「1a」、「1c」、イベント「FilteredEvent2」のプロパティ「2ｄ」、「2e」を抽出する。
【００４６】
収集部４３ａは、抽出した各ルールの入力イベント、出力イベント、出力イベントに含まれるプロパティから、ルール間のプロパティの対応関係を特定する。
【００４７】
図９は、ルール間のプロパティの対応関係を説明する図である。例えば、収集部４３ａは、各ルールに入力イベント、入力イベントのプロパティ、出力イベントのプロパティ、出力イベントを特定する。これにより、ルールで入力されるものの、出力されないプロパティが特定される。図９の例では、入力イベントのプロパティに対応する出力イベントのプロパティがある場合、矢印を表示している。
【００４８】
また、収集部４３ａは、フィルタ条件情報４１ａに記憶されたルールから、判定に用いられているプロパティを抽出する。収集部４３ａは、ルール間のプロパティの対応関係から、判定に用いられているプロパティについての入力イベントのプロパティを特定する。
【００４９】
図１０は、判定に用いられているプロパティを抽出する流れを説明する図である。収集部４３ａは、ルール１〜３のwhere句から、判定に用いられているプロパティを抽出する。
【００５０】
例えば、収集部４３ａは、ルール１について、判定に利用されるプロパティとして、プロパティ「1b」を抽出する。収集部４３ａは、from句から、このプロパティ「1b」がイベント「Event1」のプロパティ「1b」であることを特定する。
【００５１】
また、収集部４３ａは、ルール２について、判定に利用されるプロパティとして、プロパティ「2b」を抽出する。収集部４３ａは、from句から、このプロパティ「2b」がイベント「Event2」のプロパティ「2b」であることを特定する。
【００５２】
また、収集部４３ａは、ルール３について、判定に利用されるプロパティとして、「e1」のプロパティ「1a」および「e2」のプロパティ「2a」を抽出する。収集部４３ａは、from句から、この「e1」のプロパティ「1a」がイベント「FilteredEvent1」のプロパティ「1a」であることを特定する。また、収集部４３ａは、from句から、この「e2」のプロパティ「2a」がイベント「FilteredEvent2」のプロパティ「2a」であることを特定する。
【００５３】
収集部４３ａは、先に特定したルール間のプロパティの対応関係から、判定に利用されるプロパティに対応する入力イベントのプロパティを特定する。図１１は、判定に利用されるプロパティに対応する入力イベントのプロパティを特定する流れを説明する図である。例えば、イベント「FilteredEvent1」のプロパティ「1a」は、対応関係において、最も上流のイベント「Event1」のプロパティ「1a」である。また、イベント「FilteredEvent2」のプロパティ「2a」は、対応関係において、最も上流のイベント「Event2」のプロパティ「2a」である。一方、イベント「Event1」のプロパティ「1b」およびイベント「Event2」のプロパティ「2b」は、対応関係においても最も上段である。そこで、収集部４３ａは、判定に利用されるプロパティについての入力イベントのプロパティをイベント「Event1」のプロパティ「1a」、「1b」およびイベント「Event2」のプロパティ「2a」、「2b」と特定する。
【００５４】
また、収集部４３ａは、フィルタ条件情報４１ａに記憶されたルールから、出力に用いられるイベントのプロパティを抽出する。そして、収集部４３ａは、ルール間のプロパティの対応関係から、出力に用いられるイベントのプロパティの基になる入力イベントのプロパティを特定する。
【００５５】
図１２は、出力に用いられるプロパティを抽出する流れを説明する図である。収集部４３ａは、ルール１〜３のselect句から、プロパティを抽出する。そして、収集部４３ａは、対応関係において、最も下流の出力イベントに含めるプロパティを求め、最も下流の出力イベントに含めるプロパティについての入力イベントのプロパティを特定する。例えば、ルール１〜３のselect句から抽出されるプロパティのうち、「e1」のプロパティ「1a」、「e1」のプロパティ「1c」、「e2」のプロパティ「2d」、「e2」のプロパティ「2e」が最終の出力となるプロパティである。この「e1」のプロパティ「1a」、「e1」のプロパティ「1c」、「e2」のプロパティ「2d」、「e2」のプロパティ「2e」は、イベント「FilteredEvent1」のプロパティ「1a」、「1c」およびイベント「FilteredEvent2」のプロパティ「2d」、「2e」である。
【００５６】
収集部４３ａは、先に特定したルール間のプロパティの対応関係から、出力に用いられるプロパティについての入力イベントのプロパティを特定する。図１３は、出力に用いられるプロパティに対応する入力イベントのプロパティを特定する流れを説明する図である。例えば、イベント「FilteredEvent1」のプロパティ「1a」、「1c」は、対応関係において、最も上流のイベント「Event1」のプロパティ「1a」、「1c」である。また、イベント「FilteredEvent2」のプロパティ「2d」、「2e」は、対応関係において、最も上流のイベント「Event2」のプロパティ「2d」、「2e」である。そこで、収集部４３ａは、出力に用いられるプロパティについての入力イベントのプロパティをイベント「Event1」のプロパティ「1a」、「1c」およびイベント「Event2」のプロパティ「2d」、「2e」と特定する。
【００５７】
収集部４３ａは、特定した結果を使用プロパティ情報４１ｂに登録する。例えば、収集部４３ａは、ルール毎に、判定に用いられるプロパティを「判定プロパティ」の項目に登録し、判定プロパティの基になる入力イベントのプロパティを「判定プロパティの基になる入力イベントのプロパティ」の項目に登録する。また、収集部４３ａは、ルール毎に、出力に用いられるプロパティを「最終出力プロパティ」の項目に登録し、最終出力プロパティの基になる入力イベントのプロパティを「最終出力プロパティの基になる入力イベントのプロパティ」の項目に登録する。これにより、収集部４３ａは、例えば、ルール１〜３から図１４に示すようにデータを登録する。図１４は、ルール１〜３から登録される使用プロパティ情報の一例を示す図である。この図１４に示す使用プロパティ情報４１ｂは、図４と同じである。
【００５８】
取込部４３ｂは、入力されるイベントのデータのうち、収集されたプロパティのデータを選択的に取り込む入力処理を行う処理部である。例えば、取込部４３ｂは、使用プロパティ情報４１ｂから、外部から受信されるイベント毎に、判定に用いられるプロパティと最終出力プロパティをリスト化した入力変換処理用の情報６０ａを生成する。また、取込部４３ｂは、使用プロパティ情報４１ｂから最終出力プロパティの基になる入力イベントのプロパティをリスト化した出力変換処理用の情報６０ｂを生成する。
【００５９】
図１５は、入力変換処理用の情報および出力変換処理用の情報の一例を示す図である。図１５に示すように、入力変換処理用の情報６０ａは、イベント「Event1」について、プロパティ「1a」、「1b」が判定に用いられるプロパティとして登録され、プロパティ「1a」、「1c」が最終出力プロパティとして登録されている。また、入力変換処理用の情報６０ａは、イベント「Event2」について、プロパティ「2a」、「2b」が判定に用いられるプロパティとして登録され、プロパティ「2d」、「2e」が最終出力プロパティとして登録されている。
【００６０】
また、出力変換処理用の情報６０ｂは、イベント「ActionEvent」のプロパティ「1a」の基として、イベント「Event1」のプロパティ「1a」が登録されている。また、出力変換処理用の情報６０ｂは、イベント「ActionEvent」のプロパティ「1c」の基として、イベント「Event1」のプロパティ「1c」が登録されている。また、出力変換処理用の情報６０ｂは、イベント「ActionEvent」のプロパティ「2d」の基として、イベント「Event2」のプロパティ「2d」が登録されている。また、出力変換処理用の情報６０ｂは、イベント「ActionEvent」のプロパティ「2e」の基として、イベント「Event2」のプロパティ「2e」が登録されている。
【００６１】
そして、取込部４３ｂは、外部からイベントを受信すると、入力変換処理用の情報６０ａおよび出力変換処理用の情報６０ｂに基づき、受信したイベントのデータのうち、収集されたプロパティのデータを選択的に取り込む入力処理を行う。例えば、取込部４３ｂは、受信したイベントのデータのうち、入力変換処理用の情報６０ａにおいて、当該イベントの判定に用いられるプロパティのデータを複合イベント処理に対応した所定の形式に変換して取り込む。例えば、複合イベント処理がＸＭＬ（Extensible  Markup  Language）形式のデータに対応する場合、取込部４３ｂは、判定に用いられるプロパティのデータをＸＭＬ（Extensible  Markup  Language）形式に変換して取り込む。また、例えば、取込部４３ｂは、出力変換処理用の情報６０ｂに基づき、外部から受信したイベントのデータを選択的に取り込む入力処理を行う。例えば、取込部４３ｂは、受信したイベントのデータのうち、出力変換処理用の情報６０ｂに登録されたプロパティのデータを、一意のＩＤを付与してメモリ４２に格納する。
【００６２】
そして、取込部４３ｂは、複合イベント処理に対応した所定の形式に変換した判定に用いられるプロパティのデータと、付与されたＩＤとをイベントのデータとしてイベント処理部４３ｃへ出力する。
【００６３】
イベント処理部４３ｃは、フィルタ条件情報４１ａに格納されたルールに従い、イベント処理する処理部である。例えば、イベント処理部４３ｃは、取込部４３ｂにより取り込んだイベントのデータを、フィルタ条件情報４１ａに格納された各ルールに従って処理し、ルールに応じた処理結果を出力部４３ｄへ出力する。イベント処理部４３ｃは、各ルールの出力のデータに、処理したイベントに含まれるＩＤを含めるようにする。なお、イベント処理部４３ｃは、段階的に各ルールの処理を行う場合に、出力のデータに後段のルールの判定に使用されないプロパティのデータが含まれる場合、使用されないプロパティのデータを削除するようにしてもよい。
【００６４】
出力部４３ｄは、イベント処理部４３ｃによる処理結果を出力先へ出力する出力処理を行う処理部である。例えば、出力部４３ｄは、イベント処理部４３ｃによる処理結果のイベントのデータを出力先へ出力する際、イベントのデータに含まれるＩＤからメモリ４２に格納された実際のプロパティのデータを読み出す。そして、出力部４３ｄは、ＩＤに代えて読み出したプロパティのデータを含めたイベントのデータを生成して出力先へ出力する。
【００６５】
ここで、取込部４３ｂ、イベント処理部４３ｃ、出力部４３ｄによる複合イベント処理の流れの一例を説明する。図１６は、複合イベント処理の流れの一例を説明する図である。図１６の例は、図５の例と同様に、プロパティ「1a」〜「1e」のデータを含んだ機器イベントＥ１と、プロパティ「2a」〜「2e」のデータを含んだ機器イベントＥ２を図３に示したルール１〜３により処理する場合を示している。
【００６６】
取込部４３ｂには、機器イベントＥ１および機器イベントＥ２が入力して機器イベントＥ１および機器イベントＥ２を受信する（図１６（１））。取込部４３ｂには、機器イベントＥ１が入力した場合、最終出力プロパティ「1a」、「1c」のデータを、一意のＩＤ−１を付与してメモリ４２に格納する（図１６（２））。そして、取込部４３ｂは、判定プロパティ「1a」、「1b」のデータを複合イベント処理に対応した所定の形式に変換し、ＩＤ−１と共に内部のイベント「Event1」を生成する（図１６（３））。また、取込部４３ｂは、機器イベントＥ２が入力した場合、最終出力プロパティ「2d」、「2e」のデータを、一意のＩＤ−２を付与してメモリ４２に格納する（図１６（２））。そして、取込部４３ｂは、判定プロパティ「2a」、「2b」のデータを複合イベント処理に対応した所定の形式に変換し、ＩＤ−２と共に内部のイベント「Event2」を生成する（図１６（３））。
【００６７】
イベント処理部４３ｃは、取込部４３ｂにより取り込んだイベントのデータを、ルール１〜３に従って処理し、ルール３に応じた処理結果を出力する（図１６（４））。なお、図１６の例では、イベント処理部４３ｃは、出力のデータに後段のルールの判定に使用されないプロパティのデータが含まれる場合、使用されないプロパティのデータを削除している。例えば、ルール１から出力するイベント「FilteredEvent1」では、ルール３の判定に用いられないプロパティ「1b」が削除されている。なお、使用されないプロパティのデータは、削除しなくてもよい。
【００６８】
このように、取込部４３ｂは、ルールの判定に用いるプロパティのデータを選択的に取り込むため、不要なプロパティのデータの保存や処理にリソースが消費されてしまうことを抑制できる。また、ルールの判定に用いるプロパティのデータは取り込まれるため、イベント処理部４３ｃは、ルールの判定を行うことができる。
【００６９】
出力部４３ｄは、最後段のルール３の処理結果の出力イベント「ActionEvent」を受信する（図１６（５））。出力部４３ｄは、出力イベント「ActionEvent」を受信すると、イベント「ActionEvent」に含まれるＩＤ−１、ＩＤ−２からメモリ４２に格納された最終出力のプロパティ「1a」、「1c」、「2d」、「2e」のデータを取得する（図１６（６））。そして、出力部４３ｄは、最終出力のプロパティのデータを含めたイベントのデータを生成してアクション用のイベントとして出力先へ出力する（図１６（７））。
【００７０】
このように、出力用のプロパティのデータをメモリ４２に格納してイベント処理部４３ｃによる処理の対象から除外することにより、イベント処理部４３ｃにおいて、出力用のプロパティのデータの保存や処理に無駄にリソースが消費されてしまうことを抑制できる。
【００７１】
削除部４３ｅは、メモリ４２に記憶された最終出力のプロパティのデータを削除する処理部である。削除部４３ｅは、複数のルールによる段階的なフィルタリングの処理後、メモリ４２に記憶された出力プロパティのデータを削除する。例えば、メモリ４２の各イベントの出力変換処理用の情報６０ｂに登録されたプロパティのデータを記憶する領域に、初期値をゼロとしたカウンタの領域を設ける。イベント処理部４３ｃは、イベントのデータの処理を開始する際に、当該イベントのデータに含まれるＩＤの記憶領域のカウンタに１加算する。また、イベント処理部４３ｃは、イベントのデータの処理を終了する際に、当該イベントのデータに含まれるＩＤの記憶領域のカウンタに１減算するようにする。これにより、イベントのデータが何れかのルールで処理中の場合は、カウンタの値がゼロより大きくなり、イベントのデータが何れのルールでも処理していない場合は、カウンタの値がゼロになる。
【００７２】
削除部４３ｅは、出力部４３ｄによりイベントのデータを生成して出力した後、出力したイベントに含まれたＩＤの記憶領域のカウンタの値がゼロであるか否かを判定し、カウンタの値がゼロである場合、当該ＩＤの記憶領域のデータを削除する。これにより、削除部４３ｅは、処理が完了して使用されなくなったデータがメモリ４２に残ることを抑制できる。
【００７３】
ここで、メモリ４２に記憶された最終出力のプロパティのデータを削除する流れの一例を説明する。図１７は、最終出力のプロパティのデータの削除の流れの一例を説明する図である。図１７の例は、図５および図１６の例と同様に、プロパティ「1a」〜「1e」のデータを含んだ機器イベントＥ１を図３に示したルール１、３により処理する場合を示している。
【００７４】
イベント処理部４３ｃは、イベント「Event1」およびイベント「FilteredEvent1」のイベントの処理を開始する際に、ＩＤ−１のカウンタに１を加算する。また、イベント処理部４３ｃは、イベント「Event1」およびイベント「FilteredEvent1」のイベントの処理を終了する際に、ＩＤ−１のカウンタから１を減算する。削除部４３ｅは、出力部４３ｄによりイベント「ActionEvent」の出力処理後、イベント「ActionEvent」に含まれたＩＤ−１の記憶領域のカウンタの値がゼロである場合、ＩＤ−１の記憶領域のデータを削除する。これにより、削除部４３ｅは、処理が完了して使用されなくなったデータがメモリ４２に残ることを抑制できる。
【００７５】
次に、本実施例に係るデータ処理装置２０が行う各種の処理の流れを説明する。最初に、データ処理装置２０が、フィルタ条件情報４１ａの各ルールから各ルールに用いられるプロパティを収集して使用プロパティ情報４１ｂにデータを登録する登録処理の流れについて説明する。図１８は、登録処理の手順を示すフローチャートである。この登録処理は、所定のタイミング、例えば、ルールが登録されたタイミングで実行される。
【００７６】
図１８に示すように、収集部４３ａは、各ルールから入力イベント、出力イベント、出力イベントに含まれるプロパティを抽出し、ルール間のプロパティの対応関係を特定する（Ｓ１０）。収集部４３ａは、フィルタ条件情報４１ａに記憶されたルールから、判定に用いられているプロパティを抽出する（Ｓ１１）。収集部４３ａは、ルール間のプロパティの対応関係から、判定に用いられているプロパティについての入力イベントのプロパティを特定する（Ｓ１２）。
【００７７】
また、収集部４３ａは、フィルタ条件情報４１ａに記憶されたルールから、出力に用いられるイベントのプロパティを抽出する（Ｓ１３）。収集部４３ａは、ルール間のプロパティの対応関係から、出力に用いられるイベントのプロパティの基になる入力イベントのプロパティを特定する（Ｓ１４）。
【００７８】
収集部４３ａは、特定した各プロパティを使用プロパティ情報４１ｂに登録し（Ｓ１５）、処理を終了する。
【００７９】
次に、データ処理装置２０が、外部から受信したイベントのデータの複合イベント処理を行う流れについて説明する。図１９は、複合イベント処理の手順を示すフローチャートである。この登録処理は、所定のタイミング、例えば、外部からイベントを受信したタイミングで実行される。
【００８０】
図１９に示すように、取込部４３ｂは、受信したイベントのデータのうち、イベントの判定に用いられるプロパティのデータを所定の形式に変換して取り込む（Ｓ２０）。また、取込部４３ｂは、受信したイベントのデータのうち、最終出力プロパティのデータを、一意のＩＤを付与してメモリ４２に格納する（Ｓ２１）。取込部４３ｂは、付与したＩＤをイベントのデータに含めてイベントを生成する（Ｓ２２）。
【００８１】
イベント処理部４３ｃは、生成されたイベントのデータをフィルタ条件情報４１ａに格納された各ルールに従って処理する（Ｓ２３）。この際、イベント処理部４３ｃは、イベントのデータの処理を開始する際に、当該イベントのデータに含まれるＩＤの記憶領域のカウンタに１加算する。また、イベント処理部４３ｃは、イベントのデータの処理を終了する際に、当該イベントのデータに含まれるＩＤの記憶領域のカウンタに１減算するようにする。
【００８２】
出力部４３ｄは、イベント処理部４３ｃによる処理結果のイベントのデータを出力先へ出力する（Ｓ２４）。
【００８３】
削除部４３ｅは、出力したイベントに含まれたＩＤの記憶領域のカウンタの値がゼロである記憶領域のデータを削除し（Ｓ２５）、処理を終了する。
【００８４】
このように、データ処理装置２０は、記憶部４１に記憶され、入力されるデータを段階的にフィルタリングする条件を示す複数のルールから各ルールに用いられるデータ項目を収集する。そして、データ処理装置２０は、入力されるデータのうち、収集されたプロパティのデータを選択的に取り込む。これにより、データ処理装置２０は、不要なプロパティのデータが取り込まれないため、リソースの消費を抑制できる。また、データ処理装置２０は、各ルールに用いられるプロパティのデータを選択的に取り込むため、各ルールに従った処理を行うことができる。また、各ルールに用いられるプロパティのデータを選択的に取り込むことにより、例えば、各ルールの処理を複数の装置で分散処理する場合、不要なプロパティのデータを取り込まないことで、各装置間の通信のデータ量も低減できる。
【００８５】
また、データ処理装置２０は、ルールにおいて判定に用いられる判定プロパティと、ルールを満たす場合に出力される出力プロパティを収集する。そして、データ処理装置２０は、受信したデータから、判定プロパティのデータを複合イベント処理に対応した所定の形式に変換して取り込み、出力プロパティのデータをメモリ４２に格納する。このように、データ処理装置２０は、判定プロパティのデータを取り込むことにより、最小限のプロパティのデータでルールの判定を行うことができるため、リソースの消費を抑制できる。また、データ処理装置２０は、出力プロパティのデータをメモリ４２に格納しておくことにより、ルールを満たす場合にルールに応じたデータを出力できる。
【００８６】
また、データ処理装置２０は、受信したデータについて、所定の形式に変換された判定プロパティのデータを用いて、複数のルールによる段階的なフィルタリングを行い、メモリ４２に記憶された出力プロパティのデータを用いてフィルタリングの結果を出力する。これにより、データ処理装置２０は、リソースの消費を抑えて段階的なフィルタリングを行うことができる。
【００８７】
また、データ処理装置２０は、複数のルールによる段階的なフィルタリングの処理後、メモリ４２に記憶された出力プロパティのデータを削除する。これにより、データ処理装置２０は、メモリ４２に記憶された出力プロパティのデータが残存してしまうことを抑制できる。
【実施例２】
【００８８】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００８９】
例えば、上記実施例では、使用プロパティ情報４１ｂから、入力変換処理用の情報６０ａと出力変換処理用の情報６０ｂを生成する。そして、上記実施例では、入力変換処理用の情報６０ａと出力変換処理用の情報６０ｂを用いて入力変換処理および出力変換処理を行う場合について説明したが、開示の装置はこれに限定されない。例えば、データ処理装置２０は、使用プロパティ情報４１ｂを用いて入力変換処理および出力変換処理を行ってもよい。
【００９０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示す収集部４３ａ、取込部４３ｂ、イベント処理部４３ｃ、出力部４３ｄおよび削除部４３ｅの各処理部が適宜統合されてもよい。また、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００９１】
［データ処理プログラム］
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図２０は、データ処理プログラムを実行するコンピュータを示す図である。
【００９２】
図２０に示すように、コンピュータ３００は、ＣＰＵ（Central  Processing  Unit）３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３１０〜３４０の各部は、バス４００を介して接続される。
【００９３】
ＲＯＭ３２０には上記実施例の各処理部と同様の機能を発揮するデータ処理プログラム３２０ａが予め記憶される。例えば、上記実施例の収集部４３ａ、取込部４３ｂ、イベント処理部４３ｃ、出力部４３ｄおよび削除部４３ｅと同様の機能を発揮するデータ処理プログラム３２０ａを記憶させる。なお、データ処理プログラム３２０ａについては、適宜分離しても良い。
【００９４】
そして、ＣＰＵ３１０が、データ処理プログラム３２０ａをＲＯＭ３２０から読み出して実行することで、上記実施例と同様の動作を実行する。すなわち、データ処理プログラム３２０ａは、収集部４３ａ、取込部４３ｂ、イベント処理部４３ｃ、出力部４３ｄおよび削除部４３ｅと同様の動作を実行する。
【００９５】
なお、上記したデータ処理プログラム３２０ａについては、必ずしも最初からＲＯＭ３２０に記憶させることを要しない。データ処理プログラム３２０ａはＨＤＤ３３０に記憶させてもよい。
【００９６】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００９７】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００９８】
１０    ＣＥＰシステム
２０    データ処理装置
２１    ＣＥＰ処理部
４１    記憶部
４１ａ  フィルタ条件情報
４１ｂ  使用プロパティ情報
４２    メモリ
４３    制御部
４３ａ  収集部
４３ｂ  イベント処理部
４３ｃ  取込部
４３ｄ  出力部
４３ｅ  削除部
【図１】
2015087829.tif 000003
【図２】
2015087829.tif 000004
【図３】
2015087829.tif 000005
【図４】
2015087829.tif 000006
【図５】
2015087829.tif 000007
【図６】
2015087829.tif 000008
【図７】
2015087829.tif 000009
【図８】
2015087829.tif 000010
【図９】
2015087829.tif 000011
【図１０】
2015087829.tif 000012
【図１１】
2015087829.tif 000013
【図１２】
2015087829.tif 000014
【図１３】
2015087829.tif 000015
【図１４】
2015087829.tif 000016
【図１５】
2015087829.tif 000017
【図１６】
2015087829.tif 000018
【図１７】
2015087829.tif 000019
【図１８】
2015087829.tif 000020
【図１９】
2015087829.tif 000021
【図２０】
2015087829.tif 000022