(57)【要約】  イベント処理システムにおいて、イベント処理に要求されるサービスレベルを満足する。  ノード情報取得部１１０は、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得する。ノード・経路決定部１２０は、ノード情報をもとに、指定されたサービスレベルを満たすように、イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの転送経路の組を決定する。
2014034060.tif 000002
【特許請求の範囲】
【請求項１】
各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な１以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得するノード情報取得手段と、
前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定するノード・経路決定手段と、を備えるイベント処理制御装置。
【請求項２】
前記ノード・経路決定手段は、前記送信元ノードから１以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上でイベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項１に記載のイベント処理制御装置。
【請求項３】
前記サービスレベルには、前記イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定され、前記性能情報は、前記複数のノードの各々から当該ノードに接続された他のノードへの転送遅延、及び、前記複数のノードの各々の前記イベント処理のスループットの少なくとも一方を含み、
前記ノード・経路決定手段は、前記送信元ノードから１以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上の前記イベント処理が可能なノードの組の内、当該経路上の各ノード間の転送遅延をもとに算出した前記転送経路の遅延時間が、前記要求レスポンス以下の経路を含む第１の条件、及び、前記スループットが前記要求スループット以上のノードを含む第２の条件の内の、少なくとも一方が成立する組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項２に記載のイベント処理制御装置。
【請求項４】
前記ノード・経路決定手段は、前記イベント処理ノードに、処理対象のイベントに係る条件及び処理内容を含む処理ルールを設定し、前記転送経路上の各ノードに、転送対象のイベント、または、イベント処理結果に係る条件及び転送先のノードの識別子を含む転送ルールを設定し、
前記イベント処理ノードは、前記設定された処理ルールに従って、イベントを処理し、前記転送経路上の各ノードは、前記設定された転送ルールに従って、イベント、または、イベント処理結果を転送する、請求項２または３に記載のイベント処理制御装置。
【請求項５】
前記処理ルールは、複数の前記送信元ノードからのイベントに対する処理ルールであり、
前記ノード・経路決定手段は、前記複数の前記送信元ノードの各々から共通のノードまでの複数の第１の経路と当該共通のノードから前記送信先ノードまでの第２の経路とを合わせた経路、及び、当該第２の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項４に記載のイベント処理制御装置。
【請求項６】
前記処理ルールは、複数の前記送信元ノードの各々からのイベントに対する複数の第１の処理ルール、及び、前記複数の第１の処理ルールにより生成されるイベント処理結果に対する第２の処理ルールに分割可能であり、
前記ノード・経路決定手段は、前記複数の第１の経路と前記第２の経路とを合わせた経路、前記複数の第１の経路の各々における前記イベント処理が可能なノード、及び、前記第２の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、前記複数の第１の処理ルールの各々を設定する前記イベント処理ノード、及び、前記第２の処理ルールを設定する前記イベント処理ノードの組に決定する、請求項５に記載のイベント処理制御装置。
【請求項７】
前記複数のノードは、複数エリアのいずれかに移動可能な第１のノードと、前記複数エリアの内の所定のカバーエリアに存在する第１のノードと接続する第２のノードとを含み、
前記ノード・経路決定手段は、前記第２のノードの前記所定のカバーエリア、及び、前記第１のノードが存在するエリアの情報をもとに、前記第１のノードと前記第２のノードとが接続されているかどうかを判断し、前記送信元ノードから１以上のノードを経由した前記送信先ノードまでの経路を抽出する、請求項２乃至６のいずれかに記載のイベント処理制御装置。
【請求項８】
さらに、前記サービスレベルを満たしているかどうかを監視する、サービスレベル監視手段を含み、
前記サービスレベルを満たしていない場合、前記ノード・経路決定手段は、前記転送経路、及び、前記イベント処理ノードの組を再決定する、請求項３に記載のイベント処理制御装置。
【請求項９】
前記サービスレベル監視手段は、前記送信元ノードでイベントに挿入されたタイムスタンプを用いて前記イベント処理ノードで測定された、前記送信元ノードから前記イベント処理ノードまでの経路における遅延時間の測定値、及び、前記イベント処理ノードでイベント処理結果に挿入されたタイムスタンプを用いて前記送信先ノードで測定された、前記イベント処理ノードから前記送信先ノードまでの経路における遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行う、請求項８に記載のイベント処理制御装置。
【請求項１０】
イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの転送経路の組を決定し、前記送信元ノードから前記イベント処理ノードまでの経路における第１の遅延時間の測定値、及び、前記イベント処理ノードから前記送信先ノードまでの経路における第２の遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行うイベント処理制御装置により、前記イベント処理ノードとして選択されるノード装置であって、
イベントを処理してイベント処理結果を生成するイベント処理を実行する1以上の処理手段と、
前記生成されたイベント処理結果を、前記転送経路に従って、接続された他のノードへ転送するとともに、前記送信元ノードでイベントに挿入されたタイムスタンプを用いて、前記第１の遅延時間を測定し、前記送信先ノードにおいて前記第２の遅延時間の測定に用いられるタイムスタンプを、前記生成されたイベント処理結果へ挿入し、前記処理手段における前記イベント処理のスループットを測定し、前記第１の遅延時間の測定値と前記イベント処理のスループットの測定値とを、前記イベント処理制御装置に送信する転送手段と、を備えるノード装置。
【請求項１１】
各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な１以上のノードを含む複数のノードと、
前記複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定するイベント処理制御装置と、を備えるイベント処理システム。
【請求項１２】
前記イベント処理制御装置は、前記送信元ノードから１以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上でイベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項１１に記載のイベント処理システム。
【請求項１３】
前記サービスレベルには、前記イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定され、前記性能情報は、前記複数のノードの各々から当該ノードに接続された他のノードへの転送遅延、及び、前記複数のノードの各々の前記イベント処理のスループットの少なくとも一方を含み、
前記イベント処理制御装置は、前記送信元ノードから１以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上の前記イベント処理が可能なノードの組の内、当該経路上の各ノード間の転送遅延をもとに算出した前記転送経路の遅延時間が、前記要求レスポンス以下の経路を含む第１の条件、及び、前記スループットが前記要求スループット以上のノードを含む第２の条件の内の、少なくとも一方が成立する組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項１２に記載のイベント処理システム。
【請求項１４】
前記イベント処理制御装置は、前記イベント処理ノードに、処理対象のイベントに係る条件及び処理内容を含む処理ルールを設定し、前記転送経路上の各ノードに、転送対象のイベント、または、イベント処理結果に係る条件及び転送先のノードの識別子を含む転送ルールを設定し、
前記イベント処理ノードは、前記設定された処理ルールに従って、イベントを処理し、前記転送経路上の各ノードは、前記設定された転送ルールに従って、イベント、または、イベント処理結果を転送する、請求項１２または１３に記載のイベント処理システム。
【請求項１５】
前記処理ルールは、複数の前記送信元ノードからのイベントに対する処理ルールであり、
前記イベント処理制御装置は、前記複数の前記送信元ノードの各々から共通のノードまでの複数の第１の経路と当該共通のノードから前記送信先ノードまでの第２の経路とを合わせた経路、及び、当該第２の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項１４に記載のイベント処理システム。
【請求項１６】
前記処理ルールは、複数の前記送信元ノードの各々からのイベントに対する複数の第１の処理ルール、及び、前記複数の第１の処理ルールにより生成されるイベント処理結果に対する第２の処理ルールに分割可能であり、
前記イベント処理制御装置は、前記複数の第１の経路と前記第２の経路とを合わせた経路、前記複数の第１の経路の各々における前記イベント処理が可能なノード、及び、前記第２の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、前記複数の第１の処理ルールの各々を設定する前記イベント処理ノード、及び、前記第２の処理ルールを設定する前記イベント処理ノードの組に決定する、請求項１５に記載のイベント処理システム。
【請求項１７】
前記複数のノードは、複数エリアのいずれかに移動可能な第１のノードと、前記複数エリアの内の所定のカバーエリアに存在する第１のノードと接続する第２のノードとを含み、
前記イベント処理制御装置は、前記第２のノードの前記所定のカバーエリア、及び、前記第１のノードが存在するエリアの情報をもとに、前記第１のノードと前記第２のノードとが接続されているかどうかを判断し、前記送信元ノードから１以上のノードを経由した前記送信先ノードまでの経路を抽出する、請求項１２乃至１６のいずれかに記載のイベント処理システム。
【請求項１８】
前記イベント処理制御装置は、さらに、前記サービスレベルを満たしているかどうかを監視し、前記サービスレベルを満たしていない場合、前記転送経路、及び、前記イベント処理ノードの組を再決定する、請求項１３に記載のイベント処理システム。
【請求項１９】
前記送信元ノードは、イベントにタイムスタンプを挿入し、
前記イベント処理ノードは、前記イベントに挿入されたタイムスタンプを用いて、前記送信元ノードから前記イベント処理ノードまでの経路における遅延時間を測定し、前記イベント処理結果にタイムスタンプを挿入し、
前記送信先ノードは、前記イベント処理結果に挿入されたタイムスタンプを用いて、前記イベント処理ノードから前記送信先ノードまでの経路における遅延時間を測定し、
前記イベント処理制御装置は、前記送信元ノードから前記イベント処理ノードまでの経路における遅延時間の測定値、及び、前記イベント処理ノードから前記送信先ノードまでの経路における遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行う、請求項１８に記載のイベント処理システム。
【請求項２０】
各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な１以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、
前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する、イベント処理制御方法。
【請求項２１】
前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記送信元ノードから１以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上でイベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項２０に記載のイベント処理制御方法。
【請求項２２】
前記サービスレベルには、前記イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定され、前記性能情報は、前記複数のノードの各々から当該ノードに接続された他のノードへの転送遅延、及び、前記複数のノードの各々の前記イベント処理のスループットの少なくとも一方を含み、
前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記送信元ノードから１以上のノードを経由した前記送信先ノードまでの経路、及び、当該経路上の前記イベント処理が可能なノードの組の内、当該経路上の各ノード間の転送遅延をもとに算出した前記転送経路の遅延時間が、前記要求レスポンス以下の経路を含む第１の条件、及び、前記スループットが前記要求スループット以上のノードを含む第２の条件の内の、少なくとも一方が成立する組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項２１に記載のイベント処理制御方法。
【請求項２３】
前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記イベント処理ノードに、処理対象のイベントに係る条件及び処理内容を含む処理ルールを設定し、前記転送経路上の各ノードに、転送対象のイベント、または、イベント処理結果に係る条件及び転送先のノードの識別子を含む転送ルールを設定し、
前記イベント処理ノードは、前記設定された処理ルールに従って、イベントを処理し、前記転送経路上の各ノードは、前記設定された転送ルールに従って、イベント、または、イベント処理結果を転送する、請求項２１または２２に記載のイベント処理制御方法。
【請求項２４】
前記処理ルールは、複数の前記送信元ノードからのイベントに対する処理ルールであり、
前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記複数の前記送信元ノードの各々から共通のノードまでの複数の第１の経路と当該共通のノードから前記送信先ノードまでの第２の経路とを合わせた経路、及び、当該第２の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、及び、前記イベント処理ノードの組に決定する、請求項２３に記載のイベント処理制御方法。
【請求項２５】
前記処理ルールは、複数の前記送信元ノードの各々からのイベントに対する複数の第１の処理ルール、及び、前記複数の第１の処理ルールにより生成されるイベント処理結果に対する第２の処理ルールに分割可能であり、
前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記複数の第１の経路と前記第２の経路とを合わせた経路、前記複数の第１の経路の各々における前記イベント処理が可能なノード、及び、前記第２の経路上の前記イベント処理が可能なノードの組の内、前記サービスレベルを満たす組を、前記転送経路、前記複数の第１の処理ルールの各々を設定する前記イベント処理ノード、及び、前記第２の処理ルールを設定する前記イベント処理ノードの組に決定する、請求項２４に記載のイベント処理制御方法。
【請求項２６】
前記複数のノードは、複数エリアのいずれかに移動可能な第１のノードと、前記複数エリアの内の所定のカバーエリアに存在する第１のノードと接続する第２のノードとを含み、
前記転送経路、及び、前記イベント処理ノードの組を決定する場合、前記第２のノードの前記所定のカバーエリア、及び、前記第１のノードが存在するエリアの情報をもとに、前記第１のノードと前記第２のノードとが接続されているかどうかを判断し、前記送信元ノードから１以上のノードを経由した前記送信先ノードまでの経路を抽出する、請求項２１乃至２５のいずれかに記載のイベント処理制御方法。
【請求項２７】
さらに、前記サービスレベルを満たしているかどうかを監視し、
前記サービスレベルを満たしていない場合、前記転送経路、及び、前記イベント処理ノードの組を再決定する、請求項２２に記載のイベント処理制御方法。
【請求項２８】
前記サービスレベルを満たしているかどうかを監視する場合、前記送信元ノードでイベントに挿入されたタイムスタンプを用いて前記イベント処理ノードで測定された、前記送信元ノードから前記イベント処理ノードまでの経路における遅延時間の測定値、及び、前記イベント処理ノードでイベント処理結果に挿入されたタイムスタンプを用いて前記送信先ノードで測定された、前記イベント処理ノードから前記送信先ノードまでの経路における遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行う、請求項２７に記載のイベント処理制御方法。
【請求項２９】
コンピュータに、
各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な１以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、
前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する、処理を実行させるプログラムを格納する、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法に関する。
【背景技術】
【０００２】
デバイスなどから大量に発生する様々なイベントを処理する複合イベント処理（ＣＥＰ（Complex Event Processing））システムの一例が、特許文献１に開示されている。【０００３】
特許文献１の負荷分散振り分けシステムは、複数のイベント処理装置（イベント処理サーバ）、転送装置（振り分け器）、及び、イベント処理制御装置（イベント処理分散制御部）を含む。イベント処理制御装置は、イベント処理の処理条件と処理内容を含む処理ルールをイベント処理装置に設定する。ここで、イベント処理制御装置は、同一の処理条件を含む処理ルールを同一のイベント処理装置に設定する。また、イベント処理制御装置は、イベント処理装置にイベント処理に必要なイベントが転送されるように、転送ルール（振り分けルール）を生成し、転送装置に設定する。転送装置は、設定された転送ルールに基づいて、受信したイベントをイベント処理装置へ転送する。【０００４】
また、特許文献１のような負荷分散振り分けシステムにおいて、イベントやイベント処理結果の転送遅延を低減する技術の一例が、特許文献２に開示されている。特許文献２のイベント処理システムでは、イベント処理結果の送信先であるアプリケーションに近いイベント処理装置に処理ルールが設定される。また、イベントの送信元であるイベント発生源に近い転送装置にイベントが送信される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４１６１９９８号公報
【特許文献２】特開２００９−２１７４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複合イベント処理システムでは、ユーザ等により、イベント処理に対して、要求スループットや要求レスポンス等のサービスレベルを指定したＳＬＡ（Service Level Agreement）が設定されることがある。しかしながら、上述の特許文献２に記載のシステムのように、アプリケーションに近いイベント処理装置でイベント処理を行うだけでは、ＳＬＡで指定されるサービスレベルを保証できない。【０００７】
本発明の目的は、上述した課題を解決し、イベント処理に要求されるサービスレベルを満たすことができるイベント処理制御装置、ノード装置、イベント処理システム、及び、イベント処理制御方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明の一態様におけるイベント処理制御装置は、各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な１以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得するノード情報取得手段と、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する。【０００９】
本発明の一態様におけるノード装置は、イベント処理の要求レスポンス、及び、要求スループットの内の少なくとも一方が指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの転送経路の組を決定し、前記送信元ノードから前記イベント処理ノードまでの経路における第１の遅延時間の測定値、及び、前記イベント処理ノードから前記送信先ノードまでの経路における第２の遅延時間の測定値をもとに算出した前記転送経路の遅延時間の測定値が、前記要求レスポンス以下かどうかの監視、及び、前記イベント処理ノードで測定された前記イベント処理のスループットの測定値が、前記要求スループット以上かどうかの監視の内の、少なくとも一方を行うイベント処理制御装置により、前記イベント処理ノードとして選択されるノード装置であって、イベントを処理してイベント処理結果を生成するイベント処理を実行する1以上の処理手段と、前記生成されたイベント処理結果を、前記転送経路に従って、接続された他のノードへ転送するとともに、前記送信元ノードでイベントに挿入されたタイムスタンプを用いて、前記第１の遅延時間を測定し、前記送信先ノードにおいて前記第２の遅延時間の測定に用いられるタイムスタンプを、前記生成されたイベント処理結果へ挿入し、前記処理手段における前記イベント処理のスループットを測定し、前記第１の遅延時間の測定値と前記イベント処理のスループットの測定値とを、前記イベント処理制御装置に送信する転送手段と、を備える。【００１０】
本発明の一態様におけるイベント処理システムは、各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な１以上のノードを含む複数のノードと、前記複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定するイベント処理制御装置と、を備える。【００１１】
本発明の一態様におけるイベント処理制御方法は、各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な１以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する。【００１２】
本発明の一態様におけるコンピュータが読み取り可能な記録媒体は、コンピュータに、各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な１以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する、処理を実行させるプログラムを格納する。
【発明の効果】
【００１３】
本発明の効果は、イベント処理システムにおいて、イベント処理に要求されるサービスレベルを満たすことができることである。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態の特徴的な構成を示すブロック図である。
【図２】本発明の第１の実施の形態における、イベント処理システムの構成を示すブロック図である。
【図３】本発明の第１の実施の形態における、イベント処理制御装置１００の構成を示すブロック図である。
【図４】本発明の第１の実施の形態における、ＣＥＰノード２００の構成を示すブロック図である。
【図５】本発明の第１の実施の形態における、ルール設定処理を示すフローチャートである。
【図６】本発明の第１の実施の形態における、イベント５０１の例を示す図である。
【図７】本発明の第１の実施の形態における、イベント処理設定要求５０２の例を示す図である。
【図８】本発明の第１の実施の形態における、転送ルール５０６の例を示す図である。
【図９】本発明の第１の実施の形態における、イベント処理結果５０７の例を示す図である。
【図１０】本発明の第１の実施の形態における、ノード情報５０８の例を示す図である。
【図１１】本発明の第１の実施の形態における、ノード情報５０９の例を示す図である。
【図１２】本発明の第１の実施の形態における、ローカル転送ルール１５０６の例を示す図である。
【図１３】本発明の第１の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。
【図１４】本発明の第１の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の他の例を示す図である。
【図１５】本発明の第１の実施の形態におけるイベント処理設定要求５０２の他の例を示す図である。
【図１６】本発明の第１の実施の形態における、転送ルール５０６の他の例を示す図である。
【図１７】本発明の第１の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の他の例を示す図である。
【図１８】本発明の第１の実施の形態における、イベント処理設定要求５０２の他の例を示す図である。
【図１９】本発明の第１の実施の形態における、転送ルール５０６の他の例を示す図である。
【図２０】本発明の第１の実施の形態における、ローカル転送ルール１５０６の他の例を示す図である。
【図２１】本発明の第１の実施の形態における、イベント処理設定要求５０２の他の例を示す図である。
【図２２】本発明の第１の実施の形態における、ローカル転送ルール１５０６の他の例を示す図である。
【図２３】本発明の第２の実施の形態における、イベント処理システムの構成を示すブロック図である。
【図２４】本発明の第２の実施の形態における、ノード情報５０８の例を示す図である。
【図２５】本発明の第２の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。
【図２６】本発明の第３の実施の形態における、イベント処理制御装置１００の構成を示すブロック図である。
【図２７】本発明の第３の実施の形態における、ルール設定処理を示すフローチャートである。
【図２８】本発明の第３の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。
【発明を実施するための形態】
【００１５】
（第１の実施の形態）
次に、本発明の第１の実施の形態について説明する。
【００１６】
はじめに、本発明の第１の実施の形態の構成について説明する。
【００１７】
図２は、本発明の第１の実施の形態における、イベント処理システムの構成を示すブロック図である。図２を参照すると、本発明の第１の実施の形態のイベント処理システムは、イベント処理制御装置１００、複数のＣＥＰノード２００、イベントソース３００、及び、イベントシンク４００を含む。以下、ＣＥＰノード２００、イベントソース３００、及び、イベントシンク４００を、まとめて、ノードと呼ぶ。
【００１８】
ＣＥＰノード２００は、１以上の他のノードに接続され、イベント５０１やイベント処理結果５０７を転送するためのネットワークを構成する。以下、イベント５０１、及び、イベント処理結果５０７を、まとめてイベントデータと呼ぶ。
【００１９】
図２の例では、ノード識別子（ノードＩＤ）「Ｓ１１」、「Ｓ１２」のイベントソース３００は、ノードＩＤ「Ｎ１１」、「Ｎ１２」のＣＥＰノード２００に、それぞれ接続されている。また、ノードＩＤ「Ｎ１１」、「Ｎ１２」のＣＥＰノード２００の各々は、ノードＩＤ「Ｎ２１」、「Ｎ２２」のＣＥＰノード２００の各々に接続されている。また、ノードＩＤ「Ｎ２１」、「Ｎ２２」のＣＥＰノード２００の各々は、ノードＩＤ「Ｎ３１」、「Ｎ３２」のＣＥＰノード２００の各々に接続されている。さらに、ノードＩＤ「Ｎ３１」、「Ｎ３２」のＣＥＰノード２００の各々は、ノードＩＤ「ＡＰ１」、「ＡＰ２」のイベントシンク４００の各々に接続されている。
【００２０】
なお、ＣＥＰノード２００と、当該ＣＥＰノード２００に接続されたイベントソース３００、及び、イベントシンク４００の内の少なくとも一方が、携帯端末等の同一のデバイスに含まれていてもよい。
【００２１】
イベントソース３００は、例えば、センサや情報読み取り装置であり、所定の種類の情報を検出し、検出した情報を含むイベント５０１をＣＥＰノード２００に送信する。イベントソース３００は、例えば、ＲＦＩＤリーダや磁気カードリーダ等、非接触あるいは接触型の情報読み取り装置でもよい。また、イベントソース３００は、温度、気圧等の気象情報を検出するセンサでもよい。また、イベントソース３００は、携帯端末等の位置情報を検出するセンサでもよい。
【００２２】
図６は、本発明の第１の実施の形態における、イベント５０１の例を示す図である。図６の例では、イベント５０１は、属性として、当該イベント５０１の送信元のイベントソース３００のノードＩＤである「送信元ＩＤ」、及び、検出した情報である「属性Ａ」、「属性Ｂ」、…を含む。
【００２３】
イベントシンク４００は、例えば、ユーザ等により実行される、イベント処理結果５０７を利用するアプリケーションが動作するアプリケーションサーバである。イベントシンク４００は、イベント処理設定要求５０２をイベント処理制御装置１００に送信する。また、イベントシンク４００は、ＣＥＰノード２００からイベント処理結果５０７を受信する。
【００２４】
図７は、本発明の第１の実施の形態における、イベント処理設定要求５０２の例を示す図である。イベント処理設定要求５０２は、処理ルール５０３、経路情報５０４、及び、要求サービスレベル５０５を含む。
【００２５】
ここで、処理ルール５０３は、処理ルール識別子（処理ルールＩＤ、または、ＲＩＤ）、処理条件、及び、処理内容を含む。処理条件は、処理対象であるイベント５０１に係る条件を示す。処理内容は、処理条件が成立する場合に行う処理を示す。
【００２６】
図７の例では、処理ルール５０３に、処理条件「条件１：１０Ｅｖｅｎｔｓ（送信元ＩＤ＝Ｓ１１）」、処理内容「ａｖｅｒａｇｅ（条件１，Ａ）」が設定されている。ここで、条件１「１０Ｅｖｅｎｔｓ（送信元ＩＤ＝Ｓ１１）」は、（）内の条件が成立するイベント５０１を１０個受信することを示す。また、処理内容「ａｖｅｒａｇｅ（条件１，Ａ）」は、条件１に係るイベント５０１（送信元ＩＤ＝Ｓ１１の１０個のイベント５０１）について、属性Ａの平均値を算出することを示す。
【００２７】
経路情報５０４は、送信先ＩＤ、及び、送信元ＩＤを含む。ここで、送信先ＩＤには、イベント処理設定要求５０２を送信した（イベント処理結果５０７の送信先である）イベントシンク４００のノードＩＤが設定される。また、送信元ＩＤには、処理対象のイベント５０１の送信元ＩＤが設定される。なお、イベント処理制御装置１００は、処理ルール５０３の処理条件をもとに、送信元ＩＤを設定してもよい。
【００２８】
要求サービスレベル５０５は、ユーザ等により設定された、イベント処理に対して要求されるサービスレベルを示す。要求サービスレベル５０５は、要求スループット、及び、要求レスポンスを含む。ここで、要求スループットは、処理ルール５０３で指定されるイベント処理で要求されるスループットを示す。また、要求レスポンスは、処理ルール５０３で指定されるイベント処理で要求されるレスポンスタイムを示す。要求スループットは、例えば、単位時間あたりにイベント処理システムで処理されるイベント数の下限値で指定される。また、要求レスポンスは、イベント５０１がイベントソース３００より送信されてから、イベント処理結果５０７がイベントシンク４００で受信されるまでの時間の上限値で指定される。なお、処理ルール５０３で指定されるイベント処理が、複数のイベント５０１に係る処理の場合、レスポンスタイムは、イベント処理に必要な最後のイベント５０１がイベントソース３００より送信されてから、イベント処理結果５０７がイベントシンク４００で受信されるまでの時間でもよい。
【００２９】
イベント処理制御装置１００は、イベントシンク４００からイベント処理設定要求５０２を受信し、サービスレベルを満たすように、イベントデータを転送する経路（転送経路）、及び、イベント処理を行うＣＥＰノード２００（イベント処理ノード）を決定する。イベント処理制御装置１００は、イベント処理ノードに、処理ルール５０３を設定する。また、イベント処理制御装置１００は、転送経路上の各ＣＥＰノード２００に、転送経路に従った転送ルール５０６を設定する。
【００３０】
図８は、本発明の第１の実施の形態における、転送ルール５０６（５０６ａ、ｂ、…）の例を示す図である。転送ルール５０６は、転送条件、及び、転送先を含む。ここで、転送条件は、他のノードへの転送対象であるイベントデータに係る条件を示す。転送先は、転送条件が成立するイベントデータを転送する、他のノードを示す。
【００３１】
図８の転送ルール５０６において、転送条件における「Ｅｖｅｎｔ（）」は、（）内の条件が成立するイベント５０１を示す。また、転送条件における「Ｒｅｓｕｌｔ（）」は、（）内の条件が成立するイベント処理結果５０７を示す。
【００３２】
ＣＥＰノード２００は、転送ルール５０６に従って、イベントデータを、転送先に転送する。また、ＣＥＰノード２００は、処理ルール５０３に従って、受信したイベント５０１を処理し、イベント処理結果５０７を生成する。
【００３３】
図９は、本発明の第１の実施の形態における、イベント処理結果５０７の例を示す図である。図９の例では、イベント処理結果５０７は、属性として「ＲＩＤ」、及び、「処理結果」を含む。
【００３４】
図３は、本発明の第１の実施の形態における、イベント処理制御装置１００の構成を示すブロック図である。図３を参照すると、イベント処理制御装置１００は、ノード情報取得部１１０、ノード・経路決定部１２０、及び、ノード情報記憶部１３０を含む。
【００３５】
ノード情報取得部１１０は、各ＣＥＰノード２００からノード情報５０８、各イベントソース３００からノード情報５０９を取得し、ノード情報記憶部１３０に保存する。ノード情報記憶部１３０は、取得したノード情報５０８、５０９を記憶する。
【００３６】
図１０は、本発明の第１の実施の形態における、ノード情報５０８（５０８ａ、ｂ、…）の例を示す図である。ノード情報５０８は、ＣＥＰノード２００の性能情報として、処理性能と転送性能とを含む。
【００３７】
処理性能は、ＣＥＰノード２００におけるイベント処理に係る性能を示す。図１０の例では、処理性能は、スループット、レスポンス、及び、設定可能ルール数を含む。ここで、スループット、レスポンスは、ＣＥＰノード２００内の処理部２２０のスループット、レスポンスタイムを示す。設定可能ルール数は、スループット、及び、レスポンスを保証できる、処理ルール数の上限を示す。
【００３８】
スループットは、例えば、単位時間あたりに処理部２２０で処理可能なイベント数で示される。また、レスポンスは、例えば、ＣＥＰノード２００内の処理部２２０がイベント５０１を受信してからイベント処理結果５０７を送信するまでの時間で示される。なお、処理ルール５０３で指定されるイベント処理が、複数のイベント５０１に係る処理の場合、レスポンスタイムは、処理部２２０がイベント処理に必要な最後のイベント５０１を受信してからイベント処理結果５０７を送信するまでの時間でもよい。
【００３９】
転送性能は、ＣＥＰノード２００と接続された他のノードへのイベントデータの転送に係る性能を示す。図１０の例では、転送性能は、１以上のネクストホップと転送遅延の組を含む。ここで、ネクストホップは、ＣＥＰノード２００内の転送部２３０が、イベントデータを転送可能な他のノードのノードＩＤを示す。転送遅延は、転送部２３０がイベントデータを送信してから、ネクストホップで示されるノードへ、当該イベントデータが到達するまでの時間を示す。なお、ネクストホップは、ＣＥＰノード２００が接続している他のノードを示す、接続情報としても用いられる。
【００４０】
なお、ＣＥＰノード２００が、処理部２２０を含まない（イベント処理を行わない）場合、ノード情報５０８は、処理性能を含まなくてもよい。
【００４１】
図１１は、本発明の第１の実施の形態における、ノード情報５０９（５０９ａ、ｂ、…）の例を示す図である。ノード情報５０９は、イベントソース３００の性能情報として、転送性能を含む。転送性能は、ノード情報５０８の転送性能と同様に、イベントソース３００と接続された他のノードへのイベントデータの転送に係る性能を示す。
【００４２】
なお、ノード情報５０８、５０９は、管理者等により、各ＣＥＰノード２００、各イベントソース３００に予め設定されていると仮定する。
【００４３】
ノード・経路決定部１２０は、取得したノード情報５０８、５０９をもとに、イベント処理を行うＣＥＰノード２００（イベント処理ノード）、及び、イベントデータを転送する経路（転送経路）を決定する。また、ノード・経路決定部１２０は、決定したイベント処理ノードに、処理ルール５０３を設定する。さらに、ノード・経路決定部１２０は、決定した転送経路上の各ＣＥＰノード２００に、転送経路に従った転送ルール５０６を設定する。
【００４４】
図４は、本発明の第１の実施の形態における、ＣＥＰノード２００の構成を示すブロック図である。図４を参照すると、ＣＥＰノード２００は、ローカル制御部２１０、１以上の処理部２２０（２２０ａ、ｂ、…）、及び、転送部２３０を含む。
【００４５】
ローカル制御部２１０は、イベント処理制御装置１００から受信した処理ルール５０３を処理部２２０に設定する。また、ローカル制御部２１０は、処理ルール５０３をもとに、受信したイベントデータを処理部２２０へ転送するためのローカル転送ルール１５０６を生成し、転送部２３０に設定する。また、ローカル制御部２１０は、イベント処理制御装置１００から受信した転送ルール５０６を、転送部２３０に設定する。
【００４６】
図１２は、本発明の第１の実施の形態における、ローカル転送ルール１５０６の例を示す図である。ローカル転送ルール１５０６は、転送ルール５０６と同様に、転送条件、及び、転送先を含む。ここで、転送条件は、処理部２２０への転送対象であるイベントデータに係る条件を示す。転送先は、転送条件が成立するイベントデータを転送する、処理部２２０を示す。
【００４７】
処理部２２０は、処理ルール５０３に従って、イベント処理を行う。
【００４８】
転送部２３０は、転送ルール５０６に従って、イベントデータを他のノードへ転送する。また、転送部２３０は、ローカル転送ルール１５０６に従って、イベントデータを処理部２２０へ転送する。
【００４９】
なお、イベント処理制御装置１００、及び、ＣＥＰノード２００は、それぞれプログラム制御によって動作する情報処理装置であってもよい。また、ＣＥＰノード２００における、ローカル制御部２１０、処理部２２０、及び、転送部２３０は、それぞれプログラム制御によって動作する情報処理装置であってもよい。
【００５０】
次に、本発明の第１の実施の形態におけるイベント処理システムの動作を、具体例とともに説明する。
【００５１】
はじめに、本発明の第１の実施の形態におけるルール設定処理について説明する。図５は、本発明の第１の実施の形態における、ルール設定処理を示すフローチャートである。
【００５２】
イベント処理制御装置１００のノード情報取得部１１０は、各ＣＥＰノード２００、各イベントソース３００からノード情報５０８、５０９を取得する（ステップＳ１０１）。ノード情報取得部１１０は、取得したノード情報５０８、５０９を、ノード情報記憶部１３０に保存する。
【００５３】
例えば、ノード情報取得部１１０は、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２１」、「Ｎ２２」、「Ｎ３１」、「Ｎ３２」のＣＥＰノード２００から、図１０のノード情報５０８ａ〜ｆを取得する。また、ノード情報取得部１１０は、ノードＩＤ「Ｓ１１」、「Ｓ１２」のイベントソース３００から、図１１のノード情報５０９ａ、ｂを取得する。
【００５４】
次に、ノード・経路決定部１２０は、イベントシンク４００から、イベント処理設定要求５０２を受信する（ステップＳ１０２）。
【００５５】
例えば、ノード・経路決定部１２０は、ノードＩＤ「ＡＰ１」のイベントシンク４００から、図７のイベント処理設定要求５０２を受信する。
【００５６】
次に、ノード・経路決定部１２０は、要求サービスレベル５０５を満たすように、イベント処理を行うＣＥＰノード２００（イベント処理ノード）、及び、イベントデータを転送する経路（転送経路）の組を決定する（ステップＳ１０３）。
【００５７】
ここで、ノード・経路決定部１２０は、ノード情報５０８、５０９を参照し、経路情報５０４の送信元ＩＤで指定されたイベントソース３００から、送信先ＩＤで指定されたイベントシンク４００まで至る経路（候補経路）と当該経路上で設定済みルール数が設定可能ルール数未満のＣＥＰノード２００（候補ノード）の組を抽出する。そして、候補ノードのスループットが要求サービスレベル５０５で指定された要求スループット以上、かつ、候補経路上の各ノードの転送遅延の総和と候補ノードのレスポンスとの合計（総遅延時間）が、要求サービスレベル５０５で指定された要求レスポンス以下の場合、ノード・経路決定部１２０は、当該候補経路と候補ノードの組を、転送経路とイベント処理ノードの組に決定する。
【００５８】
図１３は、本発明の第１の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。図１３において、「ｄ：＊」は、各ノードからネクストホップへの転送遅延、「ｔｈ：＊」は、各ノードのスループット、「ｒ：＊」は、各ノードのレスポンスを示す。図１０、図１１のノード情報５０８ａ〜ｆ、５０９ａ、ｂに対して、各ノードの転送遅延、スループット、及び、レスポンスは、図１３のように示される。
【００５９】
例えば、図１３において、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の候補経路において、ノードＩＤ「Ｎ２２」のＣＥＰノード２００を候補ノードとした場合、候補ノードのスループット「１００イベント／秒」は、要求スループット「５０イベント／秒」以上であり、総遅延時間は「７０ミリ秒」は、要求レスポンス「２００ミリ秒」以下である。したがって、ノード・経路決定部１２０は、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の経路とノードＩＤ「Ｎ２２」のＣＥＰノード２００の組を、転送経路とイベント処理ノードの組に決定する。
【００６０】
なお、要求サービスレベル５０５を満たすような候補経路と候補ノードの組が複数存在する場合、ノード・経路決定部１２０は、例えば、候補ノードがイベントソース３００に近い候補経路と候補ノードの組を、転送経路とイベント処理ノードの組に決定してもよい。これにより、例えば、複数のイベント５０１についての平均値を算出する場合等、イベント処理により生成されるイベント処理結果５０７の数が、処理対象のイベント５０１の数より少ない場合に、ＣＥＰノード２００により構成されるネットワーク上のトラフィック量を低減できる。
【００６１】
また、要求サービスレベル５０５を満たすような候補経路や候補ノードが存在しない場合、ノード・経路決定部１２０は、イベントシンク４００へ、イベント処理設定要求５０２に対するエラー応答を送信してもよい。
【００６２】
また、ノード・経路決定部１２０は、決定した転送経路とイベント処理ノードの組を、処理ルール５０３や転送ルール５０６を設定する他の装置等に出力してもよい。
【００６３】
次に、ノード・経路決定部１２０は、イベント処理ノードに、処理ルール５０３を送信（設定）する（ステップＳ１０４）。
【００６４】
例えば、ノード・経路決定部１２０は、図７の処理ルール５０３を、ノードＩＤ「Ｎ２２」のＣＥＰノード２００に送信する。
【００６５】
ノード・経路決定部１２０は、転送経路上の各ＣＥＰノード２００に設定すべき転送ルール５０６を生成し、各ＣＥＰノード２００に送信（設定）する（ステップＳ１０５）。
【００６６】
ここで、ノード・経路決定部１２０は、転送経路上のイベントソース３００とイベント処理ノードとの間の各ＣＥＰノード２００に対する転送ルール５０６の転送条件に、処理ルール５０３の処理条件に合致するイベント５０１の条件を設定する。また、ノード・経路決定部１２０は、転送先に、転送経路上の次のノードのノードＩＤを設定する。
【００６７】
例えば、ノード・経路決定部１２０は、図８の転送ルール５０６ａを、ノードＩＤ「Ｎ１１」のＣＥＰノード２００に送信する。
【００６８】
また、ノード・経路決定部１２０は、イベント処理ノード、及び、転送経路上のイベント処理ノードとイベントシンク４００との間の各ＣＥＰノード２００に対する転送ルール５０６の転送条件に、処理ルール５０３の処理ルールＩＤを設定する。また、ノード・経路決定部１２０は、転送先に、転送経路上の次のノードのノードＩＤを設定する。
【００６９】
例えば、ノード・経路決定部１２０は、図８の転送ルール５０６ｂ、ｃを、ノードＩＤ「Ｎ２２」、「Ｎ３１」のＣＥＰノード２００に、それぞれ送信する。
【００７０】
次に、イベント処理ノードであるＣＥＰノード２００のローカル制御部２１０は、イベント処理制御装置１００から、処理ルール５０３と転送ルール５０６とを受信する（ステップＳ１１１）。
【００７１】
例えば、ノードＩＤ「Ｎ２２」のＣＥＰノード２００のローカル制御部２１０は、図７の処理ルール５０３と図８の転送ルール５０６ｂとを受信する
ローカル制御部２１０は、受信した処理ルール５０３を設定する処理部２２０を決定し、処理ルール５０３を送信（設定）する（ステップＳ１１２）。ここで、ローカル制御部２１０は、処理部２２０の負荷が均等となるように処理部２２０を決定してもよいし、特許文献１に記載されているように、同一の処理条件を含む処理ルール５０３が同一の処理部２２０に設定されるように処理部２２０を決定してもよい。
【００７２】
例えば、ローカル制御部２１０は、処理ルール５０３を、処理部ＩＤ「ＥＰ１」の処理部２２０に設定する。
【００７３】
また、ローカル制御部２１０は、ローカル転送ルール１５０６を生成し、転送部２３０に送信（設定）する（ステップＳ１１３）。ここで、ローカル制御部２１０は、ローカル転送ルール１５０６の転送条件に、処理ルール５０３の処理条件に合致するイベント５０１の条件を設定する。ローカル制御部２１０は、転送先に、処理ルール５０３を設定した処理部２２０の処理部ＩＤを設定する。
【００７４】
例えば、ローカル制御部２１０は、図１２のローカル転送ルール１５０６を、転送部２３０に設定する。
【００７５】
さらに、ローカル制御部２１０は、受信した転送ルール５０６を転送部２３０に送信（設定）する（ステップＳ１１４）。
【００７６】
例えば、ローカル制御部２１０は、図８の転送ルール５０６ｂを転送部２３０に設定する。
【００７７】
次に、イベント処理ノード以外のＣＥＰノード２００のローカル制御部２１０は、イベント処理制御装置１００から、転送ルール５０６を受信する（ステップＳ１２１）。ローカル制御部２１０は、受信した転送ルール５０６を転送部２３０に送信（設定）する（ステップＳ１２２）。
【００７８】
例えば、ノードＩＤ「Ｎ１１」のＣＥＰノード２００のローカル制御部２１０は、図８の転送ルール５０６ａを転送部２３０に設定する。また、ノードＩＤ「Ｎ３１」のＣＥＰノード２００のローカル制御部２１０は、図８の転送ルール５０６ｃを転送部２３０に設定する。
【００７９】
以上により、図１３に示すように、イベント処理ノード、及び、転送経路が決定され、各ＣＥＰノード２００に、処理ルール５０３、転送ルール５０６、及び、ローカル転送ルール１５０６が設定される。
【００８０】
次に、本発明の実施の形態におけるイベント処理の動作について説明する。
【００８１】
転送経路上のイベントソース３００とイベント処理ノードとの間の各ＣＥＰノード２００の転送部２３０は、設定された転送ルール５０６に従って、イベント５０１を転送する。これにより、イベントソース３００から送信されたイベント５０１は、イベント処理ノードまで転送される。
【００８２】
例えば、図１３において、イベントソース３００は、図６に示すイベント５０１を、ノードＩＤ「Ｎ１１」のＣＥＰノード２００へ送信する。ノードＩＤ「Ｎ１１」のＣＥＰノード２００の転送部２３０において、イベント５０１（送信元ＩＤ＝Ｓ１１）に対して、転送ルール５０６ａの転送条件が成立する。従って、転送部２３０は、イベント５０１を、転送ルール５０６ａの転送先である、ノードＩＤ「Ｎ２２」のＣＥＰノード２００へ転送する。
【００８３】
イベント処理ノードの転送部２３０は、設定されたローカル転送ルール１５０６に従って、イベント５０１を、処理部２２０へ転送する。イベント処理ノードの処理部２２０は、設定された処理ルール５０３に従って、イベント処理を行い、イベント処理結果５０７を生成し、転送部２３０へ送信する。
【００８４】
例えば、ノードＩＤ「Ｎ２２」のＣＥＰノード２００の転送部２３０において、イベント５０１（送信元ＩＤ＝Ｓ１１）に対して、ローカル転送ルール１５０６の転送条件が成立する。従って、転送部２３０は、イベント５０１を、ローカル転送ルール１５０６の転送先である、処理部ＩＤ「ＥＰ１」の処理部２２０へ転送する。処理部ＩＤ「ＥＰ１」の処理部２２０において、イベント５０１（送信元ＩＤ＝Ｓ１１）を１０個受信した場合、処理ルール５０３の処理条件（条件１）が成立する。処理部２２０は、処理ルール５０３の処理内容に従って、１０個のイベント５０１（送信元ＩＤ＝Ｓ１１）について、属性Ａの平均値を算出する。そして、処理部２２０は、算出した平均値を含む、図９のイベント処理結果５０７を生成し、転送部２３０へ送信する。
【００８５】
転送経路上のイベント処理ノード、及び、イベント処理ノードとイベントシンク４００との間の各ＣＥＰノード２００の転送部２３０は、設定された転送ルール５０６に従って、イベント処理結果５０７を転送する。これにより、イベント処理ノードで生成されたイベント処理結果５０７は、イベントシンク４００まで転送される。
【００８６】
例えば、ノードＩＤ「Ｎ２２」のＣＥＰノード２００の転送部２３０において、イベント処理結果５０７（処理ルールＩＤ＝ＰＲ１）に対して、転送ルール５０６ｂの転送条件が成立する。従って、転送部２３０は、イベント処理結果５０７を、転送ルール５０６ｂの転送先である、ノードＩＤ「Ｎ３１」のＣＥＰノード２００へ転送する。
【００８７】
同様に、ノードＩＤ「Ｎ３１」のＣＥＰノード２００の転送部２３０において、イベント処理結果５０７（処理ルールＩＤ＝ＰＲ１）に対して、転送ルール５０６ｃの転送条件が成立する。従って、転送部２３０は、イベント処理結果５０７を、転送ルール５０６ｃの転送先である、ノードＩＤ「ＡＰ１」のイベントシンク４００へ転送する。
【００８８】
以上により、本発明の第１の実施の形態の動作が完了する。
【００８９】
次に、本発明の第１の実施の形態に係る、他の具体例を説明する。
【００９０】
＜他の具体例１＞
他の具体例１として、複数のイベントソース３００から送信されるイベント５０１に対してイベント処理を行う場合の例を説明する。
【００９１】
図１４は、本発明の第１の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の他の例を示す図である。また、図１５は、本発明の第１の実施の形態における、イベント処理設定要求５０２の他の例を示す図である。図１６は、本発明の第１の実施の形態における、転送ルール５０６の他の例を示す図である。
【００９２】
ここでは、各ノードの転送遅延、スループット、及び、レスポンスが、図１４のように設定されていると仮定する。また、イベント処理制御装置１００が、ノードＩＤ「ＡＰ１」のイベントシンク４００から、図１５のイベント処理設定要求５０２を受信したと仮定する。
【００９３】
ここで、図１５のイベント処理設定要求５０２に含まれる処理ルール５０３には、処理条件「条件１：１０Ｅｖｅｎｔｓ（送信元ＩＤ＝Ｓ１１ｏｒＳ１２）」、処理内容「ａｖｅｒａｇｅ（条件１，Ａ）」が設定されている。この場合、イベント処理に必要なイベント５０１は、複数の異なるイベントソース３００から送信される。
【００９４】
イベント処理制御装置１００のノード・経路決定部１２０は、上述のステップＳ１０３において、複数のイベントソース３００の各々から共通のＣＥＰノード２００までの各経路（個別経路、または、第１の経路）と、当該共通のＣＥＰノード２００からイベントシンク４００までの共通の経路（共通経路、または、第２の経路）とを合わせた経路を候補経路として、要求サービスレベル５０５を満たす転送経路とイベント処理ノードの組を決定する。ここで、ノード・経路決定部１２０は、イベント処理ノードを、共通経路上のＣＥＰノード２００から選択する。また、ノード・経路決定部１２０は、候補経路に含まれる、各イベントソース３００からイベントシンク４００まで至る経路の総遅延時間の最大値が、要求レスポンス以上かどうかを判断する。
【００９５】
例えば、図１４において、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」の個別経路、「Ｓ１２」→「Ｎ１２」→「Ｎ２２」の個別経路、及び、「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の共通経路を合わせた候補経路において、ノードＩＤ「Ｎ２２」のＣＥＰノード２００を候補ノードとした場合、候補ノードのスループット「１００イベント／秒」は、要求スループット「５０イベント／秒」以上である。また、総遅延時間の最大値は、ノードＩＤ「Ｓ１２」→「Ｎ１２」→「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の経路における「１５０ミリ秒」であり、要求レスポンス「２００ミリ秒」以下である。したがって、ノード・経路決定部１２０は、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」、「Ｓ１２」→「Ｎ１２」→「Ｎ２２」、「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の経路とノードＩＤ「Ｎ２２」のＣＥＰノード２００の組を、転送経路とイベント処理ノードの組に決定する。
【００９６】
そして、ノード・経路決定部１２０は、ステップＳ１０４において、図１５の処理ルール５０３を、ノードＩＤ「Ｎ２２」のＣＥＰノード２００に送信する。
【００９７】
また、ノード・経路決定部１２０は、ステップＳ１０５において、図１６の転送ルール５０６ｄ、ｅ、ｆ、ｇを、それぞれ、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」、「Ｎ３１」のＣＥＰノード２００に、送信する。
【００９８】
さらに、ノードＩＤ「Ｎ２２」のＣＥＰノード２００のローカル制御部２１０は、ステップＳ１１３において、図１２で転送条件を「Ｅｖｅｎｔ（送信元ID=S11 or S12）」としたローカル転送ルール１５０６を、転送部２３０に設定する。
【００９９】
以上により、図１４に示すように、イベント処理ノード、及び、転送経路が決定され、各ＣＥＰノード２００に、処理ルール５０３、転送ルール５０６、及び、ローカル転送ルール１５０６が設定される。
【０１００】
次に、ノードＩＤ「Ｓ１１」、「Ｓ１２」のイベントソース３００から送信されたイベント５０１（送信元ＩＤ＝Ｓ１１またはＳ１２）が、ノードＩＤ「Ｎ２２」のＣＥＰノード２００に転送される。ノードＩＤ「Ｎ２２」のＣＥＰノード２００の処理部２２０において、イベント５０１（送信元ＩＤ＝Ｓ１１またはＳ１２）を１０個受信した場合、図１５の処理ルール５０３の処理条件（条件１）が成立する。処理部２２０は、処理ルール５０３の処理内容に従って、１０個のイベント５０１（送信元ＩＤ＝Ｓ１１またはＳ１２）について、属性Ａの平均値を算出する。そして、算出した平均値を含むイベント処理結果５０７（ルールＩＤ＝ＰＲ１）が、ノードＩＤ「ＡＰ１」のイベントシンク４００に転送される。
【０１０１】
なお、複数のイベントソース３００から送信されるイベント５０１に対してイベント処理を行う場合でも、要求サービスレベル５０５を満たすような候補経路と候補ノードの組が複数存在する場合、ノード・経路決定部１２０は、候補ノードがイベントソース３００に近い候補経路と候補ノードの組を、転送経路とイベント処理ノードの組に決定してもよい。
【０１０２】
＜他の具体例２＞
他の具体例２として、複数のイベントソース３００から送信されるイベント５０１に対してイベント処理を行う場合で、さらに、処理ルール５０３を分割して設定する場合について説明する。
【０１０３】
図１７は、本発明の第１の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の他の例を示す図である。また、図１８は、本発明の第１の実施の形態における、イベント処理設定要求５０２の他の例を示す図である。図１９は、本発明の第１の実施の形態における、転送ルール５０６の他の例を示す図である。図２０は、本発明の第１の実施の形態における、ローカル転送ルール１５０６の他の例を示す図である。
【０１０４】
ここでは、各ノードの転送遅延、スループット、及び、レスポンスが、図１７のように設定されていると仮定する。また、イベント処理制御装置１００が、ノードＩＤ「ＡＰ１」のイベントシンク４００から、図１８のイベント処理設定要求５０２を受信したと仮定する。
【０１０５】
ここで、図１８のイベント処理設定要求５０２に含まれる処理ルール５０３には、処理条件「条件１：１０Ｅｖｅｎｔｓ（送信元ＩＤ＝Ｓ１１）  ａｎｄ  条件２：１０Ｅｖｅｎｔｓ（送信元ＩＤ＝Ｓ１２）」、処理内容「ａｖｅｒａｇｅ（条件１，Ａ）＋ａｖｅｒａｇｅ（条件２，Ａ）」が設定されている。この場合、イベント処理に必要なイベント５０１は、他の具体例１と同様に、複数の異なるイベントソース３００から送信される。また、他の具体例１と異なり、処理ルール５０３は、異なるイベントソース３００の各々からのイベント５０１に対する処理ルール（個別処理ルール、または、第１の処理ルール）、及び、当該個別処理ルールのイベント処理結果５０７対する処理ルール（全体処理ルール、または、第２の処理ルール）に分割できる。
【０１０６】
例えば、イベント処理制御装置１００のノード・経路決定部１２０は、上述のステップＳ１０２において、処理ルール５０３を、図１８のように、分割処理ルール１５０３ａ、ｂ、ｃに分割する。ここで、分割処理ルール１５０３ａ、ｂは、それぞれ、ノードＩＤ「ＩＳ１１」、「ＩＳ１２」のイベントソース３００から送信されるイベント５０１に対する個別処理ルールである。また、分割処理ルール１５０３ｃは、分割処理ルール１５０３ａ、ｂのイベント処理結果５０７に対する全体処理ルールである。図１８の例では、分割処理ルール１５０３ａに、処理条件「条件１：１０Ｅｖｅｎｔｓ（送信元ＩＤ＝Ｓ１１）」、処理内容「ａｖｅｒａｇｅ（条件１，Ａ）」、分割処理ルール１５０３ｂに、処理条件「条件１：１０Ｅｖｅｎｔｓ（送信元ＩＤ＝Ｓ１２）」、処理内容「ａｖｅｒａｇｅ（条件１，Ａ）」が設定されている。また、分割処理ルール１５０３ｃに、処理条件「条件１：Ｒｅｓｕｌｔ（ＲＩＤ＝ＰＲ１０１）  ａｎｄ  条件２：Ｒｅｓｕｌｔ（ＲＩＤ＝ＰＲ１０２）」、処理内容「ｖａｌｕｅ（条件１）＋ｖａｌｕｅ（条件２）」が設定されている。ここで、処理条件における「Ｒｅｓｕｌｔ（）」は、（）内の条件が成立するイベント処理結果５０７を受信することを示す。また、処理内容における「ｖａｌｕｅ（条件１）」は、条件１が成立するイベント処理結果５０７における処理結果の値を示す。
【０１０７】
ノード・経路決定部１２０は、上述のステップＳ１０３において、他の具体例１と同様に、個別経路と、共通経路とを合わせた経路を候補経路として、要求サービスレベル５０５を満たす転送経路とイベント処理ノードの組を決定する。ここで、ノード・経路決定部１２０は、個別処理ルールを設定する候補ノードを、個別経路上のＣＥＰノード２００から抽出する。また、ノード・経路決定部１２０は、全体処理ルールを設定する候補ノードを、共通経路上のＣＥＰノード２００から抽出する。また、ノード・経路決定部１２０は、個別処理ルールと全体処理ルールを設定する各候補ノードについて、スループットが要求スループット以上かどうかを判断する。また、ノード・経路決定部１２０は、候補経路に含まれる、各イベントソース３００からイベントシンク４００まで至る経路の、各候補ノードのレスポンスを含む総遅延時間の最大値が、要求レスポンス以下かどうかを判断する。
【０１０８】
例えば、図１７において、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」の個別経路、「Ｓ１２」→「Ｎ１２」→「Ｎ２２」の個別経路、及び、「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の共通経路を合わせた候補経路において、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」のＣＥＰノード２００を、それぞれ、分割処理ルール１５０３ａ、ｂ、ｃを設定する候補ノードとした場合、各候補ノードのスループット「１００イベント／秒」は、要求スループット「５０イベント／秒」以上である。また、総遅延時間の最大値は、ノードＩＤ「Ｓ１２」→「Ｎ１２」→「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の経路における「１６０ミリ秒」であり、要求レスポンス「２００ミリ秒」以下である。したがって、ノード・経路決定部１２０は、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」、「Ｓ１２」→「Ｎ１２」→「Ｎ２２」、「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の経路とノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」のＣＥＰノード２００の組を、転送経路とイベント処理ノードの組に決定する。
【０１０９】
そして、ノード・経路決定部１２０は、ステップＳ１０４において、図１８の分割処理ルール１５０３ａ、ｂ、ｃを、それぞれ、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」のＣＥＰノード２００に送信する。
【０１１０】
また、ノード・経路決定部１２０は、ステップＳ１０５において、図１９の転送ルール５０６ｈ、ｉ、ｊ、ｋを、それぞれ、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」、「Ｎ３１」のＣＥＰノード２００に送信する。ここで、ノードＩＤ「Ｎ１１」、「Ｎ１２」のＣＥＰノード２００の転送ルール５０６ｈ、ｉの転送条件には、「Ｒｅｓｕｌｔ（ＲＩＤ＝ＰＲ１０１）」、「Ｒｅｓｕｌｔ（ＲＩＤ＝ＰＲ１０２）」のように、イベント処理結果５０７の条件が設定される。
【０１１１】
さらに、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」のＣＥＰノード２００のローカル制御部２１０は、ステップＳ１１３において、それぞれ、図２０のローカル転送ルール１５０６ａ、ｂ、ｃを、転送部２３０に設定する。ここで、ノードＩＤ「Ｎ２２」のＣＥＰノード２００のローカル転送ルール１５０６ｃの転送条件には、「Ｒｅｓｕｌｔ（ＲＩＤ＝ＰＲ１０１）」、「Ｒｅｓｕｌｔ（ＲＩＤ＝ＰＲ１０２）」のように、イベント処理結果５０７の条件が設定される。
【０１１２】
以上により、図１７に示すように、イベント処理ノード、及び、転送経路が決定され、各ＣＥＰノード２００に、分割処理ルール１５０３、転送ルール５０６、及び、ローカル転送ルール１５０６が設定される。
【０１１３】
次に、ノードＩＤ「Ｓ１１」のイベントソース３００から送信されたイベント５０１（送信元ＩＤ＝Ｓ１１）が、ノードＩＤ「Ｎ１１」のＣＥＰノード２００に転送される。ノードＩＤ「Ｎ１１」のＣＥＰノード２００の処理部２２０において、イベント５０１（送信元ＩＤ＝Ｓ１１）を１０個受信した場合、図１８の分割処理ルール１５０３ａの処理条件（条件１）が成立する。処理部２２０は、分割処理ルール１５０３ａの処理内容に従って、１０個のイベント５０１（送信元ＩＤ＝Ｓ１１）について、属性Ａの平均値を算出し、算出した平均値を含むイベント処理結果５０７（ルールＩＤ＝ＰＲ１０１）を生成する。イベント処理結果５０７（ルールＩＤ＝ＰＲ１０１）は、ノードＩＤ「Ｎ２２」のＣＥＰノード２００に転送される。
【０１１４】
同様に、ノードＩＤ「Ｓ１２」のイベントソース３００から送信されたイベント５０１（送信元ＩＤ＝Ｓ１２）が、ノードＩＤ「Ｎ１２」のＣＥＰノード２００に転送される。ノードＩＤ「Ｎ１２」のＣＥＰノード２００の処理部２２０において、イベント５０１（送信元ＩＤ＝Ｓ１２）を１０個受信した場合、図１８の分割処理ルール１５０３ｂの処理条件（条件１）が成立する。処理部２２０は、分割処理ルール１５０３ｂの処理内容に従って、１０個のイベント５０１（送信元ＩＤ＝Ｓ１２）について、属性Ａの平均値を算出し、算出した平均値を含むイベント処理結果５０７（ルールＩＤ＝ＰＲ１０２）を生成する。イベント処理結果５０７（ルールＩＤ＝ＰＲ１０２）は、ノードＩＤ「Ｎ２２」のＣＥＰノード２００に転送される。
【０１１５】
ノードＩＤ「Ｎ２２」のＣＥＰノード２００の処理部２２０において、イベント処理結果５０７（ルールＩＤ＝ＰＲ１０１）、及び、イベント処理結果５０７（ルールＩＤ＝ＰＲ１０２）を受信した場合、図１８の分割処理ルール１５０３ｃの処理条件（条件１  ａｎｄ  条件２）が成立する。処理部２２０は、分割処理ルール１５０３ｃの処理内容に従って、イベント処理結果５０７（ルールＩＤ＝ＰＲ１０１）とイベント処理結果５０７（ルールＩＤ＝ＰＲ１０２）とに含まれる平均値の合計を算出する。そして、算出した合計値を含むイベント処理結果５０７（ルールＩＤ＝ＰＲ１０３）が、ノードＩＤ「ＡＰ１」のイベントシンク４００に転送される。
【０１１６】
＜他の具体例３＞
他の具体例３として、処理ルール５０３を分割して設定する場合の他の例を説明する。
【０１１７】
図２１は、本発明の第１の実施の形態における、イベント処理設定要求５０２の他の例を示す図である。図２２は、本発明の第１の実施の形態における、ローカル転送ルール１５０６の他の例を示す図である。
【０１１８】
ここでは、各ノードの転送遅延、スループット、及び、レスポンスが、他の具体例２と同様に、図１７のように設定されていると仮定する。また、イベント処理制御装置１００が、ノードＩＤ「ＡＰ１」のイベントシンク４００から、図２１のイベント処理設定要求５０２を受信したと仮定する。
【０１１９】
ここで、図２１のイベント処理設定要求５０２に含まれる処理ルール５０３には、処理条件「条件１：Ｅｖｅｎｔ（０≦属性Ａ＜１００）  ａｎｄ  条件２：Ｅｖｅｎｔ（２００≦属性Ａ＜３００）」、処理内容「Ｎｏｔｉｆｙ」が設定されている。処理条件における「Ｅｖｅｎｔ（）」は、（）内の条件が成立するイベント５０１を受信することを示す。処理内容における「Ｎｏｔｉｆｙ」は、処理条件の成立を通知することを示す。
【０１２０】
ここで、イベントソース３００から受信するイベント５０１の属性Ａの範囲は、ノードＩＤ「Ｎ１１」のＣＥＰノード２００では、０≦属性Ａ＜２００、ノードＩＤ「Ｎ１２」のＣＥＰノード２００では、２００≦属性Ａ＜４００のように、予め決められていると仮定する。これは、例えば、ＣＥＰノード２００がエリアごとに設置され、エリア内のイベントソース３００が、所定の移動体（人や自動車、バス等）を検出して、当該移動体の位置を属性Ａとしたイベント５０１を、当該エリアのＣＥＰノード２００へ送信するような場合に相当する。この場合、イベント処理に必要なイベント５０１は、他の具体例２と同様に、複数の異なるイベントソース３００から送信される。また、処理ルール５０３は、他の具体例２と同様に、異なるイベントソース３００の各々からのイベント５０１に対する個別処理ルール、及び、当該個別処理ルールのイベント処理結果５０７に対する全体処理ルールに分割できる。
【０１２１】
例えば、イベント処理制御装置１００のノード・経路決定部１２０は、上述のステップＳ１０２において、処理ルール５０３を、図２１のように、分割処理ルール１５０３ａ、ｂ、ｃに分割する。図２１の例では、分割処理ルール１５０３ａに、処理条件「条件１：Ｅｖｅｎｔ（０≦属性Ａ＜１００）」、処理内容「Ｎｏｔｉｆｙ」、分割処理ルール１５０３ｂに、処理条件「条件１：Ｅｖｅｎｔ（２００≦属性Ａ＜３００）」、処理内容「Ｎｏｔｉｆｙ」が設定されている。また、分割処理ルール１５０３ｃに、処理条件「条件１：Ｒｅｓｕｌｔ（ＲＩＤ＝ＰＲ１０１）  ａｎｄ  条件２：Ｒｅｓｕｌｔ（ＲＩＤ＝ＰＲ１０２）」、処理内容「Ｎｏｔｉｆｙ」が設定されている。
【０１２２】
ノード・経路決定部１２０は、上述のステップＳ１０３において、他の具体例２と同様に、図１７における、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」、「Ｓ１２」→「Ｎ１２」→「Ｎ２２」、「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の経路とノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」のＣＥＰノード２００の組を、転送経路とイベント処理ノードの組に決定する。
【０１２３】
そして、ノード・経路決定部１２０は、ステップＳ１０４において、図２１の分割処理ルール１５０３ａ、ｂ、ｃを、それぞれ、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」のＣＥＰノード２００に送信する。
【０１２４】
また、ノード・経路決定部１２０は、ステップＳ１０５において、図１９の転送ルール５０６ｈ、ｉ、ｊ、ｋを、それぞれ、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」、「Ｎ３１」のＣＥＰノード２００に送信する。
【０１２５】
さらに、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２２」のＣＥＰノード２００のローカル制御部２１０は、ステップＳ１１３において、それぞれ、図２２のローカル転送ルール１５０６ａ、ｂ、ｃを、転送部２３０に設定する。
【０１２６】
以上により、他の具体例２と同様に、図１７に示すように、イベント処理ノード、及び、転送経路が決定され、各ＣＥＰノード２００に、分割処理ルール１５０３、転送ルール５０６、及び、ローカル転送ルール１５０６が設定される。
【０１２７】
次に、ノードＩＤ「Ｓ１１」のイベントソース３００から送信されたイベント５０１（属性Ａ＝５０）が、ノードＩＤ「Ｎ１１」のＣＥＰノード２００に転送される。ノードＩＤ「Ｎ１１」のＣＥＰノード２００の処理部２２０において、イベント５０１（属性Ａ＝５０）を受信した場合、図２１の分割処理ルール１５０３ａの処理条件（条件１）が成立する。処理部２２０は、分割処理ルール１５０３ａの処理内容に従って、ルールＩＤ「ＰＲ１０１」の処理条件が成立したことを示すイベント処理結果５０７（ルールＩＤ＝ＰＲ１０１）を生成する。イベント処理結果５０７（ルールＩＤ＝ＰＲ１０１）は、ノードＩＤ「Ｎ２２」のＣＥＰノード２００に転送される。
【０１２８】
同様に、ノードＩＤ「Ｓ１２」のイベントソース３００から送信されたイベント５０１（属性Ａ＝２５０）が、ノードＩＤ「Ｎ１２」のＣＥＰノード２００に転送される。ノードＩＤ「Ｎ１２」のＣＥＰノード２００の処理部２２０において、イベント５０１（属性Ａ＝２５０）を受信した場合、図２１の分割処理ルール１５０３ｂの処理条件（条件１）が成立する。処理部２２０は、分割処理ルール１５０３ｂの処理内容に従って、ルールＩＤ「ＰＲ１０２」の処理条件が成立したことを示すイベント処理結果５０７（ルールＩＤ＝ＰＲ１０２）を生成する。イベント処理結果５０７（ルールＩＤ＝ＰＲ１０２）は、ノードＩＤ「Ｎ２２」のＣＥＰノード２００に転送される。
【０１２９】
ノードＩＤ「Ｎ２２」のＣＥＰノード２００の処理部２２０において、イベント処理結果５０７（ルールＩＤ＝ＰＲ１０１）、及び、イベント処理結果５０７（ルールＩＤ＝ＰＲ１０２）を受信した場合、図２１の分割処理ルール１５０３ｃの処理条件（条件１  ａｎｄ  条件２）が成立する。処理部２２０は、分割処理ルール１５０３ｃの処理内容に従って、ルールＩＤ「ＰＲ１０３」の処理条件が成立したことを示すイベント処理結果５０７（ルールＩＤ＝ＰＲ１０３）を生成する。イベント処理結果５０７（ルールＩＤ＝ＰＲ１０３）は、ノードＩＤ「ＡＰ１」のイベントシンク４００に転送される。
【０１３０】
なお、本発明の第１の実施の形態においては、要求サービスレベル５０５において、要求スループット、及び、要求レスポンスが指定されている場合を例に、構成、及び、動作を説明したが、要求サービスレベル５０５において、要求スループット、及び、要求レスポンスのいずれか一方が指定されていてもよい。この場合、ノード・経路決定部１２０は、要求サービスレベル５０５で指定された、要求スループット、または、要求レスポンスを満たすように、イベント処理ノード、及び、転送経路の組を決定する。また、要求サービスレベル５０５で、イベント処理に係る、他の要求項目が指定されていてもよい。
【０１３１】
次に、本発明の第１の実施の形態の特徴的な構成を説明する。
【０１３２】
図１は、本発明の第１の実施の形態の特徴的な構成を示すブロック図である。図１を参照すると、本発明の第１の実施の形態におけるイベント処理制御装置１００は、ノード情報取得部１１０、及び、ノード・経路決定部１２０を含む。
【０１３３】
ノード情報取得部１１０は、複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報５０８、５０９を取得する。ここで、複数のノードの各々は、イベント５０１、または、イベント処理結果５０７を、転送経路に従って、接続された他のノードへ転送する。複数のノードには、受信したイベント５０１を処理してイベント処理結果５０７を生成するイベント処理が可能な１以上のノードが含まれる。
【０１３４】
ノード・経路決定部１２０は、ノード情報５０８、５０９をもとに、指定されたサービスレベル５０５を満たすように、イベント処理を行うノードであるイベント処理ノード、及び、イベント５０１の送信元ノードから、イベント処理ノードを含む１以上のノードを経由した、イベント処理結果５０７の送信先ノードまでの転送経路の組を決定する。
【０１３５】
本発明の第１の実施の形態によれば、イベント処理システムにおいて、イベント処理に要求されるサービスレベルを満たすことができる。その理由は、ノード・経路決定部１２０が、ノード情報５０８、５０９をもとに、要求サービスレベル５０５を満たすように、転送経路、及び、転送経路上のイベント処理ノードの組を決定するためである。
【０１３６】
また、これにより、様々な性能のＣＥＰノード２００がイベント処理ノードとして利用可能な場合に、適切なＣＥＰノード２００をイベント処理ノードとして用いることができる。
【０１３７】
また、本発明の第１の実施の形態によれば、複数のイベントソース３００から送信されるイベント５０１に対してイベント処理を行う場合でも、イベント処理に要求されるサービスレベルを満たすことができる。その理由は、ノード・経路決定部１２０が、複数のイベントソース３００の各々から共通のノードまでの個別経路と当該共通のノードからイベントシンク４００までの共通経路とを合わせた経路、及び、当該共通経路上のイベント処理が可能なノードの組の内、要求サービスレベル５０５を満たす組を、転送経路、及び、イベント処理ノードの組に決定するためである。
【０１３８】
また、本発明の第１の実施の形態によれば、処理ルール５０３が、複数のイベントソース３００の各々からのイベント５０１に対する個別ルールと、個別ルールの処理結果に対する全体ルールとに分割可能な場合、転送経路の負荷、及び、イベント処理ノードの負荷を低減できる。その理由は、ノード・経路決定部１２０が、複数の個別経路と共通経路とを合わせた経路、当該複数の個別経路の各々におけるイベント処理が可能なノード、及び、当該共通経路上のイベント処理が可能なノードの組の内、要求サービスレベル５０５を満たす組を、転送経路、複数の個別ルールの各々を設定するイベント処理ノード、及び、全体ルールを設定するイベント処理ノードの組に決定するためである。
【０１３９】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。
【０１４０】
本発明の第２の実施の形態においては、ＣＥＰノード２００が移動可能であり、ＣＥＰノード２００間の接続関係が可変である点において、本発明の第１の実施の形態と異なる。
【０１４１】
はじめに、本発明の第２の実施の形態の構成について説明する。
【０１４２】
図２３は、本発明の第２の実施の形態における、イベント処理システムの構成を示すブロック図である。図２３を参照すると、本発明の第２の実施の形態においては、ＣＥＰノード２００が、複数の階層（「クラウド」、「基地局」、及び、「端末」）ごとに配置される。
【０１４３】
ここで、「端末」階層のＣＥＰノード２００（第１のノード）と当該ＣＥＰノード２００に接続された（当該ＣＥＰノード２００にイベント５０１を送信する）イベントソース３００とは、例えば、携帯端末等の移動可能な同一のデバイスに含まれ、複数のエリアのいずれかに移動できる。「基地局」階層のＣＥＰノード２００（第２のノード）は、複数のカバーエリアを有し、カバーエリア内に移動（存在）している「端末」階層のＣＥＰノード２００と接続される。
【０１４４】
図２３の例では、ノードＩＤ「Ｎ２１」のＣＥＰノード２００のカバーエリアは、エリア識別子（エリアＩＤ）「Ａ」、「Ｂ」、「Ｃ」のエリアである。また、ノードＩＤ「Ｎ２２」のＣＥＰノード２００のカバーエリアは、エリアＩＤ「Ｄ」、「Ｅ」、「Ｆ」のエリアである。
【０１４５】
また、「基地局」階層のＣＥＰノード２００は、「クラウド」階層のＣＥＰノード２００と接続される。さらに、「クラウド」階層のＣＥＰノード２００は、イベントシンク４００と接続される。
【０１４６】
図２４は、本発明の第２の実施の形態における、ノード情報５０８の例を示す図である。本発明の第２の実施の形態におけるノード情報５０８は、本発明の第１の実施の形態におけるノード情報５０８（図１０）の内容に加えて、配置情報を含む。配置情報は、ＣＥＰノード２００が属する階層を示す階層種別を含む。
【０１４７】
階層種別が「端末」の場合、配置情報は、さらに、移動エリアを含む。移動エリアには、ＣＥＰノード２００が移動（存在）しているエリアのエリアＩＤが設定される。また、転送性能には、「基地局」階層のＣＥＰノード２００への転送遅延が設定される。
【０１４８】
階層種別が「基地局」の場合、配置情報は、さらに、カバーエリアを含む。カバーエリアには、ＣＥＰノード２００のカバーエリアのエリアＩＤが設定される。
【０１４９】
次に、本発明の第２の実施の形態におけるイベント処理システムの動作について説明する。ここでは、本発明の第２の実施の形態におけるルール設定処理について、本発明の第１の実施の形態との差異を説明する。
【０１５０】
図２５は、本発明の第２の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。
【０１５１】
ここでは、図２３に示すように、ノードＩＤ「Ｎ１１」のＣＥＰノード２００が、エリアＩＤ「Ｄ」のエリアに存在すると仮定する。この場合、ステップＳ１０１において、ノード情報取得部１１０は、ノードＩＤ「Ｎ１１」、「Ｎ１２」、「Ｎ２１」、「Ｎ２２」、「Ｎ３１」、「Ｎ３２」のＣＥＰノード２００から、図２４に示すノード情報５０８ａ〜ｆを取得する。さらに、本発明の第１の実施の形態と同様に、ステップＳ１０２において、ノード・経路決定部１２０は、ノードＩＤ「ＡＰ１」のイベントシンク４００から、図７に示すイベント処理設定要求５０２を受信したと仮定する。
【０１５２】
ステップＳ１０３において、ノード・経路決定部１２０は、ノード情報５０８を参照し、「端末」階層のＣＥＰノード２００が、当該ＣＥＰノード２００が存在するエリアをカバーエリアとする「基地局」階層のＣＥＰノード２００と接続されると判断し、イベント処理ノード、及び、転送経路を決定する。
【０１５３】
例えば、図２５において、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の候補経路において、ノードＩＤ「Ｎ２２」のＣＥＰノード２００を候補ノードとした場合、候補ノードのスループット「１００イベント／秒」は、要求スループット「５０イベント／秒」以上であり、総遅延時間「９０ミリ秒」は、要求レスポンス「２００ミリ秒」以下である。したがって、ノード・経路決定部１２０は、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の経路とノードＩＤ「Ｎ２２」のＣＥＰノード２００の組を、転送経路とイベント処理ノードの組に決定する。
【０１５４】
なお、本発明の第２の実施の形態におけるイベント処理は、本発明の第１の実施の形態と同様である。
【０１５５】
以上により、本発明の第２の実施の形態の動作が完了する。
【０１５６】
本発明の第２の実施の形態によれば、「基地局」階層のＣＥＰノード２００と移動可能な「端末」階層のＣＥＰノード２００ように、ＣＥＰノード２００間の接続関係が可変である場合でも、イベント処理に要求されるサービスレベルを満たすことができる。その理由は、ノード・経路決定部１２０が、「基地局」階層のＣＥＰノード２００の所定のカバーエリア、及び、「端末」階層のＣＥＰノード２００が存在するエリアの情報をもとに、「端末」階層のＣＥＰノード２００と「基地局」階層のＣＥＰノード２００とが接続されているかどうかを判断するためである。
【０１５７】
（第３の実施の形態）
次に、本発明の第３の実施の形態について説明する。
【０１５８】
本発明の第３の実施の形態においては、サービスレベルの監視を行う点において、本発明の第１の実施の形態と異なる。
【０１５９】
はじめに、本発明の第３の実施の形態の構成について説明する。
【０１６０】
図２６は、本発明の第３の実施の形態における、イベント処理制御装置１００の構成を示すブロック図である。図２６を参照すると、本発明の第３の実施の形態におけるイベント処理制御装置１００は、本発明の第１の実施の形態におけるイベント処理制御装置１００の構成に加えて、サービスレベル監視部１４０を含む。
【０１６１】
サービスレベル監視部１４０は、イベント処理ノード、及び、イベントシンク４００から、監視結果５１０を受信する。
【０１６２】
次に、本発明の第３の実施の形態におけるイベント処理システムの動作を、具体例とともに説明する。本発明の第３の実施の形態におけるルール設定処理、及び、イベント処理は、本発明の第１の実施の形態と同様である。ここでは、本発明の第３の実施の形態におけるサービスレベル監視処理について説明する。図２７は、本発明の第３の実施の形態におけるルール設定処理を示すフローチャートである。
【０１６３】
図２８は、本発明の第３の実施の形態における、イベント処理ノード、及び、転送経路の決定結果の例を示す図である。
【０１６４】
ここでは、ルール設定処理により、ノードＩＤ「Ｓ１１」→「Ｎ１１」→「Ｎ２２」→「Ｎ３１」→「ＡＰ１」の経路とノードＩＤ「Ｎ２２」のＣＥＰノード２００の組が、転送経路とイベント処理ノードの組として決定されていると仮定する。
【０１６５】
はじめに、イベント処理制御装置１００のサービスレベル監視部１４０は、転送経路上のイベント処理ノード、及び、イベントシンク４００から、監視結果５１０を取得する（ステップＳ２０１）。
【０１６６】
ここで、イベント処理ノードからの監視結果５１０には、転送経路上のイベントソース３００からイベント処理ノードまでの経路の遅延時間、イベント処理ノードの処理部２２０のレスポンスタイム、及び、スループットの測定結果が含まれる。また、イベントシンク４００からの監視結果５１０には、転送経路上のイベント処理ノードからイベントシンク４００までの経路の遅延時間の測定結果が含まれる。
【０１６７】
イベントソース３００からイベント処理ノードまでの経路の遅延時間は、例えば、イベントソース３００においてイベント５０１に挿入されたタイムスタンプをもとに、イベント処理ノードの転送部２３０により測定される。また、イベント処理ノードからイベントシンク４００までの経路の遅延時間は、例えば、イベント処理ノードにおいてイベント処理結果５０７に挿入されたタイムスタンプをもとに、イベントシンク４００により測定される。イベント処理ノードの処理部２２０のレスポンスタイム、及び、スループットは、イベント処理ノードの転送部２３０により測定される。
【０１６８】
なお、処理ルール５０３が複数の分割処理ルール１５０３に分割され、複数のイベント処理ノードに設定されている場合、イベント処理ノードで分割された経路ごとに、遅延時間が測定される。
【０１６９】
サービスレベル監視部１４０は、取得した監視結果５１０をもとに、転送経路とイベント処理ノードとの組が、要求サービスレベル５０５を満たしているかどうかを判断する（ステップＳ２０２）。ここで、サービスレベル監視部１４０は、取得したイベントソース３００からイベント処理ノードまでの経路の遅延時間、イベント処理ノードからイベントシンク４００までの経路の遅延時間、及び、イベント処理ノードにおけるレスポンスタイムの測定値を合計して、総遅延時間の測定値を算出する。そして、サービスレベル監視部１４０は、総遅延時間の測定値が要求レスポンス以下かどうかを判断する。また、サービスレベル監視部１４０は、取得したイベント処理ノードのスループットの測定値が要求スループット以上かどうかを判断する。
【０１７０】
なお、イベント処理に必要なイベント５０１が、複数の異なるイベントソース３００から送信される場合、サービスレベル監視部１４０は、各イベントソース３００からイベントシンク４００まで至る経路の総遅延時間の最大値が、要求レスポンス以下かどうかを判断する。
【０１７１】
要求サービスレベル５０５を満たしていない場合（ステップＳ２０２／Ｎ）、サービスレベル監視部１４０は、ノード・経路決定部１２０に、現在の転送経路とイベント処理ノードの組以外の、他の転送経路とイベント処理ノードの組の抽出を指示する（ステップＳ２０３）。ノード・経路決定部１２０は、上述のステップＳ１０３と同様の処理により、他の転送経路とイベント処理ノードの組を抽出する。
【０１７２】
ステップＳ２０３において、他の転送経路とイベント処理ノードの組がある場合（ステップＳ２０４／Ｙ）、サービスレベル監視部１４０は、ノード・経路決定部１２０に、当該他の転送経路とイベント処理ノードの組に対する、処理ルール５０３と転送ルール５０６との設定を指示する（ステップＳ２０５）。ノード・経路決定部１２０は、上述のステップＳ１０４、Ｓ１０５と同様の処理により、他の転送経路とイベント処理ノードの組に対する処理ルール５０３と転送ルール５０６との再設定を行う。
【０１７３】
ステップＳ２０３において、他の転送経路とイベント処理ノードの組がない場合（ステップＳ２０４／Ｎ）、サービスレベル監視部１４０は、イベントシンク４００へ、要求サービスレベル５０５を満たしていないこと（違反）を通知する（ステップＳ２０６）。なお、この場合、サービスレベル監視部１４０は、処理ルール５０３と転送ルール５０６との設定を解除し、イベント処理を中止してもよい。
【０１７４】
以降、ステップＳ２０１〜Ｓ２０６の処理が、繰り返し実行される。
【０１７５】
以上により、本発明の第３の実施の形態の動作が完了する。
【０１７６】
本発明の第３の実施の形態によれば、イベント処理システムが、イベント処理に要求されるサービスレベルを維持できる。その理由は、サービスレベル監視部１４０が、要求サービスレベル５０５を満たしているかどうかを監視し、要求サービスレベル５０５を満たしていない場合、ノード・経路決定部１２０が、転送経路、及び、イベント処理ノードの組を再決定するためである。
【０１７７】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１７８】
この出願は、２０１２年８月３０日に出願された日本出願特願２０１２−１８９９０３を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１７９】
１００    イベント処理制御装置
１１０    ノード情報取得部
１２０    ノード・経路決定部
１３０    ノード情報記憶部
１４０    サービスレベル監視部
２００    ＣＥＰノード
２１０    ローカル制御部
２２０    処理部
２３０    転送部
３００    イベントソース
４００    イベントシンク
５０１    イベント
５０２    イベント処理設定要求
５０３    処理ルール
１５０３    分割処理ルール
５０４    経路情報
５０５    要求サービスレベル
５０６    転送ルール
１５０６    ローカル転送ルール
５０７    イベント処理結果
５０８    ノード情報
５０９    ノード情報
５１０    監視結果
【図１】
2014034060.tif 000003
【図２】
2014034060.tif 000004
【図３】
2014034060.tif 000005
【図４】
2014034060.tif 000006
【図５】
2014034060.tif 000007
【図６】
2014034060.tif 000008
【図７】
2014034060.tif 000009
【図８】
2014034060.tif 000010
【図９】
2014034060.tif 000011
【図１０】
2014034060.tif 000012
【図１１】
2014034060.tif 000013
【図１２】
2014034060.tif 000014
【図１３】
2014034060.tif 000015
【図１４】
2014034060.tif 000016
【図１５】
2014034060.tif 000017
【図１６】
2014034060.tif 000018
【図１７】
2014034060.tif 000019
【図１８】
2014034060.tif 000020
【図１９】
2014034060.tif 000021
【図２０】
2014034060.tif 000022
【図２１】
2014034060.tif 000023
【図２２】
2014034060.tif 000024
【図２３】
2014034060.tif 000025
【図２４】
2014034060.tif 000026
【図２５】
2014034060.tif 000027
【図２６】
2014034060.tif 000028
【図２７】
2014034060.tif 000029
【図２８】
2014034060.tif 000030
【手続補正書】
【提出日】平成27年2月18日(2015.2.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２９
【補正方法】変更
【補正の内容】
【請求項２９】
コンピュータに、
各々が、イベント、または、イベント処理結果を、転送経路に従って、接続された他のノードへ転送する複数のノードであって、受信したイベントを処理してイベント処理結果を生成するイベント処理が可能な１以上のノードを含む複数のノードの各々について、接続先ノードに係る情報、及び、性能情報を含むノード情報を取得し、
前記ノード情報をもとに、指定されたサービスレベルを満たすように、前記イベント処理を行うノードであるイベント処理ノード、及び、イベントの送信元ノードから、前記イベント処理ノードを含む１以上のノードを経由した、イベント処理結果の送信先ノードまでの前記転送経路の組を決定する、処理を実行させるプログラム。
【国際調査報告】
2014034060.tif 000031
2014034060.tif 000032
2014034060.tif 000033
2014034060.tif 000034