JPWO2010107105A1 - ネットワークシステム - Google Patents
ネットワークシステム Download PDFInfo
- Publication number
- JPWO2010107105A1 JPWO2010107105A1 JP2011504889A JP2011504889A JPWO2010107105A1 JP WO2010107105 A1 JPWO2010107105 A1 JP WO2010107105A1 JP 2011504889 A JP2011504889 A JP 2011504889A JP 2011504889 A JP2011504889 A JP 2011504889A JP WO2010107105 A1 JPWO2010107105 A1 JP WO2010107105A1
- Authority
- JP
- Japan
- Prior art keywords
- node
- information
- load
- broker
- filter condition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/10—Arrangements in telecontrol or telemetry systems using a centralized architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/40—Arrangements in telecontrol or telemetry systems using a wireless architecture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/80—Arrangements in the sub-station, i.e. sensing device
- H04Q2209/82—Arrangements in the sub-station, i.e. sensing device where the sensing device takes the initiative of sending data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/80—Arrangements in the sub-station, i.e. sensing device
- H04Q2209/84—Measuring functions
- H04Q2209/845—Measuring functions where the measuring is synchronized between sensing devices
Abstract
センサノードを配備した後に、個々のセンサノードを収容するブローカノードが高負荷になった場合に、同一の意味情報を受信する低負荷ブローカノードへ負荷を分散する。センサネットワークシステムは、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、センサノードで生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、を含んで構成され、センサノードを収容するブローカノードが高負荷状態となった場合に、登録されたフィルタ条件を用いて、高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態にある他のブローカノードを探索し、高負荷ブローカノードから低負荷ブローカノードへセンサノードの収容関係を切り替える。
Description
本発明はネットワークシステムに関し、特に、ネットワークに接続したセンサノードが生成する意味情報を利用するセンサネットワークシステム、ブローカノード、センサノード、負荷分散方法、プログラム及び記録媒体に関する。
近年、実空間の様々な状態を、センサノードを用いて可視化する情報処理システムが検討されてきた。このようなシステムでは、多数のセンサノードが実空間に配備され、個々のセンサノードによってセンシングされたデータが、サーバノードに送信される。そしてこのサーバによって、これらのデータ集合が、センシング対象となった実空間の状況を可視化した情報として扱われている。
例えば、特許文献1では、センサノードにおいて、単なる数値的なデータの取得に加えて、意味情報を付加することで、より高度な実空間のセンシングと可視化、およびそれらの技術に基づいた状況依存型サービスの実現が示されている。
さらに、上記のような意味情報を用いた情報ルーティング方式も存在する。特許文献2によれば、あるサービスエンティティが登録した意味情報のフィルタ条件を、意味情報ネットワークを構成する意味情報ルータや意味情報スイッチへ伝播させることで、意味情報を受信するためのパスを設定する。なおフィルタ条件とは、ルータが中継できる意味情報として設定された意味情報であり、多種類のフィルタ条件が設定されたルータは多くの意味情報を中継する。ここで他のサービスエンティティが、ある意味情報を発した場合、前記意味情報ルータや意味情報スイッチにおいて、登録されたフィルタ条件とのフィルタ処理が実行される。そしてフィルタ条件にマッチした意味情報だけが、フィルタ条件を設定したサービスエンティティに配信される。
例えば、特許文献1では、センサノードにおいて、単なる数値的なデータの取得に加えて、意味情報を付加することで、より高度な実空間のセンシングと可視化、およびそれらの技術に基づいた状況依存型サービスの実現が示されている。
さらに、上記のような意味情報を用いた情報ルーティング方式も存在する。特許文献2によれば、あるサービスエンティティが登録した意味情報のフィルタ条件を、意味情報ネットワークを構成する意味情報ルータや意味情報スイッチへ伝播させることで、意味情報を受信するためのパスを設定する。なおフィルタ条件とは、ルータが中継できる意味情報として設定された意味情報であり、多種類のフィルタ条件が設定されたルータは多くの意味情報を中継する。ここで他のサービスエンティティが、ある意味情報を発した場合、前記意味情報ルータや意味情報スイッチにおいて、登録されたフィルタ条件とのフィルタ処理が実行される。そしてフィルタ条件にマッチした意味情報だけが、フィルタ条件を設定したサービスエンティティに配信される。
センサネットワークシステムを用いて実空間の事象をセンシングする場合、1つの事象に対して、多地点にセンサノードを設置する場合が想定される。特許文献2のモデルに照らせば、ある1つの事象に対して、1つの意味情報の型(タイプ)が定義され、多数のセンサノードが検出した数値データが前記型に代入されることで、1つの意味情報の実体が構成される。
このようなセンサネットワークシステムでは、個々のセンサノードを収容するエッジノードに対する負荷分散が難しいという問題がある。上記事例では、1つの無線基地局が、複数のセンサノードを収容するモデルが示されている。これら無線基地局とセンサノードは、固定的に配備されており、この2つの関係は固定的である。一方で、センサノードが生成するセンシングデータと付加される意味情報の発生頻度は、そのセンサノードの配備先によって異なる。つまり、1つのセンシング対象と、それに関するセンシングデータ、そして付加される意味情報が規定された場合に、状況変化が多数発生する場所に設置されたセンサノードは、より多くのセンサデータと意味情報を発生する。一方、状況変化が少ない場所に設置されたセンサノードは、前者より少ないセンサデータと意味情報を発生する。その結果、負荷の高くなる基地局もあれば、負荷が比較的低い基地局も存在することになる。
本発明は、上述した事情に鑑みて、ネットワークに接続するセンサノードの発生する意味情報が増加して、当該センサノードを収容するエッジノードの負荷が高くなった場合でも、他の低負荷エッジノードへ負荷を分散できるようにすることを目的とする。
このようなセンサネットワークシステムでは、個々のセンサノードを収容するエッジノードに対する負荷分散が難しいという問題がある。上記事例では、1つの無線基地局が、複数のセンサノードを収容するモデルが示されている。これら無線基地局とセンサノードは、固定的に配備されており、この2つの関係は固定的である。一方で、センサノードが生成するセンシングデータと付加される意味情報の発生頻度は、そのセンサノードの配備先によって異なる。つまり、1つのセンシング対象と、それに関するセンシングデータ、そして付加される意味情報が規定された場合に、状況変化が多数発生する場所に設置されたセンサノードは、より多くのセンサデータと意味情報を発生する。一方、状況変化が少ない場所に設置されたセンサノードは、前者より少ないセンサデータと意味情報を発生する。その結果、負荷の高くなる基地局もあれば、負荷が比較的低い基地局も存在することになる。
本発明は、上述した事情に鑑みて、ネットワークに接続するセンサノードの発生する意味情報が増加して、当該センサノードを収容するエッジノードの負荷が高くなった場合でも、他の低負荷エッジノードへ負荷を分散できるようにすることを目的とする。
本発明の一側面であるセンサネットワークシステムは、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、センサノードで生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録する前記サーバノードと、を含んで構成され、センサノードを収容するブローカノードが高負荷状態となった場合に、登録されたフィルタ条件を用いて、高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態にある他のブローカノードを探索し、高負荷ブローカノードから低負荷ブローカノードへセンサノードの収容関係を切り替える。
本発明の一側面であるブローカノードは、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、ともにセンサネットワークを構成し、他のノードから取得した情報の内容を判別する取得情報判別手段と、取得情報判別手段で取得情報の内容がフィルタ条件登録に関する制御情報と判別された場合にフィルタ条件の登録を行うフィルタ条件管理手段と、高負荷状態となった場合に負荷分散に関する制御情報を他のブローカノードに送信し、取得情報判別手段で取得情報の内容が負荷分散に関する制御情報と判別された場合に、フィルタ条件管理手段で登録されたフィルタ条件を用いて、高負荷状態のブローカノードのフィルタ条件と同一のフィルタ条件を持ち、かつ、低負荷状態にある他のブローカノードを探索し、センサノードに生成した意味情報の送信先を切り替えさせる負荷分散処理を行う負荷分散処理手段と、を有する。
本発明の一側面であるセンサノードは、定義された情報形式にセンシングした数値データを用いて意味情報を生成し、生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、ともにセンサネットワークシステムを構成し、現在の収容先である高負荷状態のブローカノードから、登録されたフィルタ条件を用いて探索されたブローカノードで、高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態の他のブローカノードへの接続情報、および、接続先変更の対象となる意味情報を指定された場合に、高負荷ブローカノードから低負荷ブローカノードへ意味情報の送信先を切り替える。
本発明の一側面である負荷分散方法は、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、センサノードで生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、を含んで構成されるセンサネットワークシステムで用いられ、センサノードを収容するブローカノードが高負荷状態となった場合に、登録されたフィルタ条件を用いて、高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態にある他のブローカノードを探索し、高負荷ブローカノードから低負荷ブローカノードへセンサノードの収容関係を切り替える。
本発明の一側面であるプログラムは、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、センサノードで生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、を含んで構成されるセンサネットワークシステムで用いられ、ブローカノードのコンピュータに、センサノードを収容するブローカノードが高負荷状態となった場合に、登録されたフィルタ条件を用いて、高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態にある他のブローカノードを探索させ、高負荷ブローカノードから低負荷ブローカノードへセンサノードの収容関係を切り替えさせる。
本発明の一側面である記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
本発明の一側面であるブローカノードは、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、ともにセンサネットワークを構成し、他のノードから取得した情報の内容を判別する取得情報判別手段と、取得情報判別手段で取得情報の内容がフィルタ条件登録に関する制御情報と判別された場合にフィルタ条件の登録を行うフィルタ条件管理手段と、高負荷状態となった場合に負荷分散に関する制御情報を他のブローカノードに送信し、取得情報判別手段で取得情報の内容が負荷分散に関する制御情報と判別された場合に、フィルタ条件管理手段で登録されたフィルタ条件を用いて、高負荷状態のブローカノードのフィルタ条件と同一のフィルタ条件を持ち、かつ、低負荷状態にある他のブローカノードを探索し、センサノードに生成した意味情報の送信先を切り替えさせる負荷分散処理を行う負荷分散処理手段と、を有する。
本発明の一側面であるセンサノードは、定義された情報形式にセンシングした数値データを用いて意味情報を生成し、生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、ともにセンサネットワークシステムを構成し、現在の収容先である高負荷状態のブローカノードから、登録されたフィルタ条件を用いて探索されたブローカノードで、高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態の他のブローカノードへの接続情報、および、接続先変更の対象となる意味情報を指定された場合に、高負荷ブローカノードから低負荷ブローカノードへ意味情報の送信先を切り替える。
本発明の一側面である負荷分散方法は、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、センサノードで生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、を含んで構成されるセンサネットワークシステムで用いられ、センサノードを収容するブローカノードが高負荷状態となった場合に、登録されたフィルタ条件を用いて、高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態にある他のブローカノードを探索し、高負荷ブローカノードから低負荷ブローカノードへセンサノードの収容関係を切り替える。
本発明の一側面であるプログラムは、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、センサノードで生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、を含んで構成されるセンサネットワークシステムで用いられ、ブローカノードのコンピュータに、センサノードを収容するブローカノードが高負荷状態となった場合に、登録されたフィルタ条件を用いて、高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態にある他のブローカノードを探索させ、高負荷ブローカノードから低負荷ブローカノードへセンサノードの収容関係を切り替えさせる。
本発明の一側面である記録媒体は、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
本発明によれば、ネットワークに接続するセンサノードの発生する意味情報が増加して当該センサノードを収容するエッジノードの負荷が高くなった場合でも、他の低負荷エッジノードへ負荷を分散することができる。
本発明は、多数のセンサノードによって測定されたセンシングデータを、ネットワーク上にあるサーバへ集約する場合において、センサノードを収容するブローカノード(エッジノード)の負荷分散を行うセンサネットワークシステムである。
[第1実施形態]
図1Aは本発明の第1の実施の形態のセンサネットワークシステムを示す構成図である。センサネットワークシステム1は、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノード2a〜2fと、センサノード2a〜2fで生成された意味情報を転送するブローカノード3A〜3Cを有している。さらにセンサネットワークシステム1は、取得する意味情報に対するフィルタ条件をブローカノード3A〜3Cに登録する、サーバノードとしてのサービスノード4を有している。
センサネットワークシステム1は、センサノードを収容するブローカノードが高負荷状態となった場合に、登録されたフィルタ条件を用いて、当該ブローカノードが転送していた意味情報を転送可能で、かつ低負荷状態の他のブローカノードを探索する。そして前記高負荷ブローカノードから前記低負荷ブローカノードへ前記センサノードの収容関係の切り替えを行う。
この実施の形態では、センサノードの発生する意味情報が増加した結果、当該センサノードを収容するエッジノードの負荷が高くなった場合に、当該センサノードが発生する意味情報フローの転送先を別の低負荷のエッジノードへ切り替えている。このため、エッジノード間の負荷が分散され、大量の意味情報を発生するセンサノードを収容するエッジノードの負荷を軽減させることが可能となる。
[第2実施形態]
図1Bは、図1Aに示したセンサネットワークシステム1における、ブローカノード3A〜3Cの構成を示す図である。このブローカノードは、取得情報判別部5、フィルタ条件管理部6、負荷分散処理部7を有する。
取得情報判別部5は、他のノードから取得した情報の内容を判別する。フィルタ条件管理部6は、取得情報判別部5で取得情報の内容がフィルタ条件登録に関する制御情報と判別された場合にフィルタ条件の登録を行う。負荷分散処理部7は、自ノードが高負荷状態となった場合に負荷分散に関する制御情報を他のブローカノードに送信する。また取得情報判別部5で取得情報の内容が負荷分散に関する制御情報と判別された場合に、フィルタ条件管理部6に登録されたフィルタ条件を用いて、高負荷ブローカノードと同一のフィルタ条件を持つ低負荷ブローカノードを探索する。そして負荷増加要因となっているセンサノードで生成した意味情報の送信先を、低負荷ブローカノードへ切り替えさせる。
なお、高負荷の要因となっているセンサノードは、個々のセンサノードが発生する意味情報を用いて識別する。また、低負荷のブローカノードは、やはりセンサノードが発生する意味情報に関し、同じ意味情報を発生するセンサノードを収容しているブローカノードを探索することにより検出する。
この実施形態では、ブローカノードは取得情報判別部、フィルタ条件管理部、負荷分散処理部を有し、当該ブローカノードの負荷の状況や、取得する情報の内容に応じて、それぞれ実行する処理を分担させることができる。
[第3実施形態]
図2は、本発明の第3実施形態のセンサネットワークシステムの構成を示した図である。図2において、第3実施形態のセンサネットワークシステムは、センサノード10〜15、ブローカノード20〜28、そしてサービスノード30、31で構成される。センサノード10〜15のうち、センサノード10〜12は事象Aについてのセンシングを行っており、センサノード13〜15は事象Bについてのセンシングを行っている。ここでは、簡単化のためにセンシングする事象とセンサノードの関係は1対1で表現しているが、1つのセンサノードが複数の事象をセンシングしてもよい。
センサノード10〜15は、設置先の事象Aあるいは事象Bをセンシングし、そのセンシング対象の数値データを生成する。事象Aや事象Bは、例として、気温、雨量、二酸化炭素濃度などの環境情報や、設置場所を通過する車両数、さらにはコンピュータシステムやネットワークシステムの稼動情報や負荷情報が挙げられる。
事象Aや事象Bには、あらかじめ意味情報テンプレートが用意されており、上記の数値データが意味情報テンプレートに設定されることによって、1つの意味情報が生成される。例えば、毎秒1つの数値データがセンシングされ、このセンシングデータ毎に意味情報が生成される場合、毎秒1つの意味情報が生成される。
また別の意味情報の生成方法もある。センサノード10〜12に、あらかじめ事象Aに関する閾値を設定しておき、閾値以下の状態から閾値以上の状態への変化あるいはその逆があった場合に、意味情報を生成するという場合もある。ここで閾値は、必ずしも1つとは限らない。事象Bについても同様である。
サービスノード30は事象Aの意味情報の受信者であり、サービスノード31は事象Bの意味情報の受信者である。サービスノード30、31は、受信したい意味情報のみを受信するためのフィルタ条件を生成し、ブローカノード27、28の各々へ登録する。このフィルタ条件は、例えばフラッディング処理によって、他のブローカノード20〜26へも伝播されていく。
ブローカノード20〜28は、フィルタ条件を隣接ブローカノードへ転送する場合に、自ノードの情報を付加しておく。この情報は、隣接ブローカノードがフィルタ条件にマッチする意味情報を受信した場合に、その意味情報を転送するための転送先情報として利用される。
意味情報の伝播は、さらに高度な方法として集約型もある。これは、同一事象に対して複数のフィルタ条件が設定された場合、意味情報ルータ20〜28は、出力ポート単位で設定されているフィルタ条件を検出する。そして意味情報の伝播は、当該意味情報に対するフィルタ条件を有するポートのうち、フィルタ条件の総数が多い(多種類のイベント情報を転送できる)方のポートを用いることとし、フィルタ条件数が少ない方のポートでの伝播は停止するというモデルである。
以上の処理によって、意味情報を転送する配信パスがブローカノード20〜28に設定される。
ブローカノード20〜28は、センサノード10〜15から送信される意味情報に対して所定の処理を行う各機能を有する。図3は、第1実施形態におけるブローカノードの機能構成を示したブロック図である。図3に示すように、ブローカノード20〜28は、メッセージ判別機能40、マッチング処理機能41、イベント情報送信機能42、フィルタ条件管理機能43、転送先管理機能44、負荷分散処理機能45で構成される。
メッセージ判別機能40は、他のブローカノードやセンサノードからの配信メッセージ、フィルタ条件登録メッセージ、そして負荷分散メッセージについて、メッセージの種類の判別を行う。ここで、配信メッセージは意味情報を配信するためのメッセージ、フィルタ条件登録メッセージはフィルタ条件を伝播するためのメッセージ、負荷分散メッセージは負荷分散プロセスを実施するためのメッセージである。また負荷情報メッセージは個々のブローカノードの負荷情報を通知するためのメッセージである。
このブローカノードがフィルタ条件登録メッセージを受信した場合、フィルタ条件は、フィルタ条件管理機能43へ渡され、登録される。次に、フィルタ条件管理機能43は、この登録メッセージの送信元を、イベント情報の転送先として、転送先管理機能44に登録する。前述したフラッディング処理の場合、このフィルタ条件は登録メッセージとして、イベント情報送信機能42を介して、次の隣接ブローカノードに転送される。ここで、もし隣接ノードがセンサノードであって、そのセンサノードがフィルタ条件を満足する意味情報を発信しているのであれば、このフィルタ条件が設定される。
ブローカノードが配信メッセージを受信した場合、配信意味情報は、マッチング処理機能41に転送される。そして、マッチング処理機能41は、フィルタ条件管理機能43に、この配信意味情報のフィルタ条件の問い合わせを行う。そして、フィルタ条件管理機能43は、フィルタ条件の検索を行うとともに、該当フィルタ条件の転送先を転送先管理機能44から得る。1つ以上のフィルタ条件が検索されれば、マッチング処理機能41は、照合処理を行う。もしフィルタ条件にマッチすれば、マッチング処理機能41は、その意味情報を転送先情報とともにイベント情報送信機能42にデータ転送する。そして、イベント情報送信機能42は、指定された転送先へ意味情報を配信メッセージとして送信する。
ブローカノードが負荷分散メッセージを受信した場合、負荷分散メッセージは、負荷分散処理機能45へ渡される。そして、負荷分散処理機能45は、受信した負荷分散メッセージに記されたフィルタ条件を、自ノードが持っているか否かを判定するために、フィルタ条件管理機能43に問い合わせる。もし自ノードが受信したフィルタ条件と一致する条件を持ち、そのフィルタ条件が設定されているのであれば、負荷分散処理機能45は、後述の負荷分散の手順を実行する。もしそのフィルタ条件が設定されていなければ、結果として得られた転送先へ負荷分散メッセージを送信する。
ブローカノードが特定のブローカノードの負荷情報メッセージを受信した場合、負荷分散処理機能45は、イベント情報送信機能42を介して、このメッセージが示す転送先へその負荷情報を送信する。
センサノード10〜12は事象A、センサノード13〜15は事象Bに関する意味情報を生成するが、設置場所が異なるために、その生成パターンが異なる。その結果、例えば、センサノード10が、一定時間内に発生する意味情報数と、センサノード11、12が一定時間内に発生する意味情報数に差が生じる場合がある。
ここで、図2においてセンサノード10が一定時間内に発生する意味情報数が多くなり、その結果、ブローカノード20が高負荷になったと仮定する。高負荷となったブローカノード20は、最初に高負荷の要因となっている意味情報配信を特定する。高負荷要因となっている意味情報は、そのテンプレート情報を参照すれば特定できる。次に、高負荷要因となっている意味情報配信に対するフィルタ条件を特定する。なおフィルタ条件は、1つの意味情報配信に対して複数がマッチする場合もある。
その後、高負荷となったブローカノード20が、負荷分散先を特定する。この負荷分散のための手順について、図4に示す。ブローカノード20は、特定されたフィルタ条件を、負荷分散メッセージとして隣接ブローカノード23に転送する。
負荷分散メッセージを受信したブローカノード23では、負荷分散処理機能45が上述したように受信した負荷分散メッセージの処理を実行し、さらに隣接ブローカノード21、25、26へ負荷分散メッセージを転送する。以下同様にして、ブローカノード20が発したフィルタ条件の情報は、ブローカノード21〜28に伝播する。図4では、特にブローカノード20〜26について示しており、ブローカノード27、28についても、ブローカノード25、26からフィルタ条件が伝播される。
上記フィルタ条件が伝播されたブローカノード21〜28のうち、ブローカノード23〜28は、事象Aに関する意味情報を生成するセンサノード11、12を収容していない。これらのブローカノードでは、フィルタ条件の伝播動作だけが実行される。
一方、事象Aに関する意味情報を生成するセンサノード11、12を収容しているブローカノード21、22は、自ブローカノードの識別子と、自ノードの負荷情報(例えば平均CPU使用率)を、ブローカノード20に通知する。この通知は、例えば図5に示すような経路で行われる。すなわち、ブローカノード21が送信した負荷情報は、ブローカノード23を介して、ブローカノード20へ通知される。同様に、ブローカノード22が送信した負荷情報は、ブローカノード24、21、23を介して、ブローカノード20へ通知される。
以上の処理によって、高負荷となったブローカノード20には、図2で事象Aに関する意味情報を受信するブローカノードとしてリストに載っている、ブローカノード21、22の負荷情報が集約される。そして、ブローカノード20は、例えば該リストから最も低負荷のエッジノードを選択して、これを高負荷要因となっている意味情報配信のノード切り替え先と決定することができる。
また別な方法として、複数の低負荷ブローカノードを選択し、さらにそれらへ負荷分散する割合を決定することで、該複数の低負荷ブローカノードへ負荷分散を行うことが可能となる。
そして、ブローカノード20は、センサノード10に対して、切り替え先となるブローカノードの情報を伝える。例えば、切り替え先のエッジノードのアドレスを伝える。
ここで、切り替え先をブローカノード21と仮定すると、センサノード10は、該切り替え先情報を受信した後、事象Aに関する意味情報の送信先を、ブローカノード20からブローカノード21へ切り替える。
以上の処理を経ることによって、ブローカノード20は、高負荷要因であったセンサノード10からの事象Aに関する意味情報を受信することがなくなり、高負荷状態を回避できるようになる。
[第4実施形態]
昨今では、仮想化技術の導入により、1つの物理機器上で複数の仮想機器を運用することが可能となっている。本発明の第4実施形態として、仮想化システムに本発明を適用した場合のセンサネットワークシステムの事例を説明する。
図6は、第4実施形態のセンサネットワークシステムの構成を示した図である。この第4実施形態は、本発明を特にCPU(Central Processing Unit)使用率の観測に適用したものである。システム管理クライアント100〜150は、個々の仮想機器をモニタするアプリケーションである。これらのアプリケーションのうち、システム管理クライアント100〜120は、システムAに属する、異なる3つの仮想機器のCPU使用率を観測している。また、システム管理クライアント130〜150は、システムBに属するCPU使用率を観測している。
システム管理クライアント100〜150は、インターネット400を介して、DHT(Distributed Hash Table)型オーバレイネットワークへアクセスする。インターネットを介した接続はあくまでも一例であって、他の方法としては、第3世代移動体ネットワーク等が挙げられる。また、DHT型オーバレイネットワークへは、例えばTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)、あるいはHTTP(Hyper Text Transfer Protocol)によって接続される。
第4実施形態において、意味情報は、状態変化(イベント)の発生した時に発せられるイベント情報としてXML(Extensible Markup Language)形式で記述される。XMLにおけるスキーマがイベント情報のテンプレートであり、テンプレート内に含まれる個々の要素あるいは属性情報の記述によって、イベント情報の内容が示されていく。例えば、システム状態というスキーマが定義され、そのスキーマ内にシステムA、システムBという要素を用意することで、システムA、B毎のイベント情報が区別される。さらに、CPU種別、CPU使用率、仮想機器名、IP(Internet Protocol)アドレス等の要素を追記していくことで、観測対象がより詳細に規定されていく。測定されたCPU使用率の数値データは、上記CPU使用率の要素に含まれるデータとして取り扱われる。図6では、特にCPU使用率の情報について明示した。
以上の構成によって、個々のCPU情報に関する意味情報の実体が作られ、さらに、例えば毎秒1つの割合でイベント情報が生成される。
図6におけるイベント情報ルータは、DHTによって構成されたオーバレイネットワークノード上のアプリケーションとして動作する。個々のイベント情報ルータは、DHT上で個々のノードを識別するためのノードIDを保有する。そして、ここのイベント情報ルータは、意味情報の具体例としてXML形式で記述されたメッセージを、上記のノードIDを用いてルーティングする。
システム管理サーバ300は、システムAに属する3つの仮想機器で測定されたCPU使用率情報の受信者である。また、システム管理サーバ310は、システムBに属する3つの仮想機器で測定されたCPU使用率情報の受信者である。システム管理サーバ300、310は、受信したいイベント情報のみを受信するために、X−path表現によるフィルタ条件を生成し、イベント情報ルータ270、280の各々へ登録する。このフィルタ条件は、前述した第3の実施の形態と同様の手順で、他のイベント情報ルータに伝播されていく。
イベント情報ルータ200〜280は、X−path形式のフィルタ条件を隣接イベント情報ルータへ転送する場合に、自ノードのIDを付加しておく。この情報は、隣接イベント情報ルータがフィルタ条件にマッチするイベント情報を受信した場合の転送先情報として利用される。
イベント情報の伝播は、さらに高度な方法として集約型もある。これは、同一事象に対して複数のフィルタ条件が設定された場合、イベント情報ルータ200〜280は、出力ポート単位で設定されているフィルタ条件を検出する。そしてイベント情報の伝播は、当該イベント情報に対するフィルタ条件を有するポートのうち、フィルタ条件の総数が多い(多種類のイベント情報を転送できる)方のポートを用いることとし、フィルタ条件数が少ない方のポートでの伝播は停止するというモデルである。
以上の処理によって、イベント情報を転送する配信パスがイベント情報ルータ200〜280に設定される。
図7に示すイベント情報ルータ200〜280の構成は、基本的に前述した第3実施形態と同様である。個々の機能は、アプリーケーションプロセスによって実現される。XML Parsingプロセス500は、受信したXMLメッセージをツリー形式に変換し、個々のメッセージ種別を判定して、適切な処理プロセスへデータ転送を行う。
このイベント情報ルータがX−pathフィルタ条件を含む登録メッセージを受信した場合、その条件は、フィルタ条件管理プロセス503へ渡され、登録される。次に、フィルタ条件管理プロセス503は、この登録メッセージの送信元のDHTノードIDを、イベント情報の転送先として、DHTルーティングテーブル504に登録する。これらの処理を終えた後、該X−path条件は、登録メッセージとして、イベント情報送信プロセス502を介して、次の隣接イベント情報ルータに転送される。ここで、もし隣接イベント情報ルータがシステム管理クライアントであって、そのクライアントがX−path条件を満足するイベント情報を発信しているのであれば、このX−path条件が設定される。
イベント情報ルータがイベント情報を受信した場合、イベント情報は、マッチング処理プロセス501にデータ転送される。そして、マッチング処理プロセス501は、X−pathフィルタ条件管理プロセス503に、このイベント情報に対するX−pathフィルタ条件の問い合わせを行う。そして、X−pathフィルタ条件管理プロセス503は、X−pathフィルタ条件の検索を行うとともに、上記X−pathフィルタ条件にマッチするイベント情報の転送先DHTノードIDを、DHTルーティングテーブル504から得る。1つ以上のX−pathフィルタ条件が検索されれば、マッチング処理プロセス501は照合処理を行う。そして、X−pathフィルタ条件にマッチすれば、マッチング処理プロセス501は、その配信メッセージをイベント情報送信プロセス502に渡す。最後に、イベント情報送信プロセス502は、指定されたDHTノードへイベント情報を配信メッセージとして送信する。
イベント情報ルータが負荷分散メッセージを受信した場合、負荷分散メッセージは、負荷分散処理プロセス505へ渡される。そして、負荷分散処理プロセス505は、受信したX−pathフィルタ条件を自ノードが持つか否かを判定するために、X−pathフィルタ条件管理プロセス503に問い合わせする。もし自ノードが受信したX−pathフィルタ条件と一致するフィルタ条件を持ち、そのフィルタ条件が登録されていれば、負荷分散処理プロセス505は、後述の負荷分散の手順を実行する。もし登録されていなければ、結果として得られたDHTノードIDを持つイベント情報ルータへ負荷分散メッセージを送信する。
イベント情報ルータが負荷情報メッセージを受信した場合、負荷分散処理プロセス505は、イベント情報送信プロセス502を介して、DHTノードIDで示されたDHTノードへ負荷情報を送信する。
システム管理クライアント100〜120はシステムAに属する仮想機器のCPU使用率に関するイベント情報を生成し、システム管理クライアント130〜150はシステムBに属する仮想機器のCPU使用率に関するイベント情報を生成する。しかし、設置場所が異なるために、その生成パターンが異なる。その結果、例えば、システム管理クライアント100が一定時間内に発生する意味情報数と、システム管理クライアント110、120が一定時間内に発生する意味情報数に差が生じる場合がある。
ここで、図6においてシステム管理クライアント100が一定時間内に発生するイベント情報数が多くなり、その結果、イベント情報ルータ200が高負荷になったと仮定する。高負荷となったイベント情報ルータ200は、最初に高負荷の要因となっているイベント情報の送信元を特定する。次に、その要因となっているイベント情報配信に対するX−pathフィルタ条件を特定する。1つのイベント情報配信に対して、複数のフィルタ条件がマッチする場合もあるため、特定されるX−pathフィルタ条件は、複数になる場合もありえる。そして、イベント情報ルータ200は、特定されたX−pathフィルタ条件を隣接イベント情報ルータ230に転送する。
このX−pathフィルタ条件の伝播手順は、先に述べた第3実施形態と同様である。つまり、イベント情報ルータ230は、該フィルタ条件を隣接イベント情報ルータ210、250、260に転送する。同様にして、イベント情報ルータ200が発生したフィルタ条件の情報は、イベント情報ルータ210〜280に伝播する。
イベント情報ルータ210〜280のうちイベント情報ルータ230〜280は、システムAに属する仮想機器のCPU使用率に関するイベント情報を生成するシステム管理クライアント110、120を収容しておらず、上記の伝播動作だけを実行する。
一方、イベント情報ルータ210、220は、システムAに属する仮想機器のCPU使用率に関するイベント情報を生成するシステム管理クライアント110、120を収容している。そこで、イベント情報ルータ210、220は、自イベント情報ルータのDHTノードIDと、自イベント情報ルータの負荷情報(例えば平均CPU使用率)をイベント情報ルータ200に通知する。
以上の処理によって、高負荷となったイベント情報ルータ200に、システムAに属する仮想機器のCPU使用率を受信する意味情報ルータの負荷情報が集約される。図6では、イベント情報ルータ210、220がイベント情報ルータ200によって認識される。そして、イベント情報ルータ200は、例えば集約された負荷情報のリストから最も低負荷のイベント情報ルータを選択することで、これを高負荷要因となっているイベント情報フローの切り替え先と決定することができる。
また別な方法として、複数の低負荷イベント情報ルータを選択し、さらにそれらへ負荷分散する割合を決定することで、該複数の低負荷イベント情報ルータへ負荷分散を行うことが可能となる。
そして、イベント情報ルータ200は、システム管理クライアント100に対して、切り替え先となるイベント情報ルータのIPアドレス等のアクセス情報を伝える。
ここで、切り替え先をイベント情報ルータ210と仮定すると、システム管理クライアント100は、該切り替え先情報を受信した後、システムAに属する仮想機器のCPU使用率の送信先を、イベント情報ルータ200からイベント情報ルータ210へ切り替える。
以上の処理を経ることによって、イベント情報ルータ200は、高負荷要因であったシステム管理クライアント100からのシステムAに属する仮想機器のCPU使用率を受信することがなくなり、高負荷状態を回避できるようになる。
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。例えば大規模ネットワークシステムの稼動状況を監視する用途に適用できる。すなわち、ネットワークシステム内で発生する様々な状態変化を意味情報やイベント情報として記述し、高度なシステム運用情報の活用が実現可能となる。同様にして、他の環境情報の記述化や交通情報の記述化を進めていくことで、実空間を観測する様々なシステムを互いに利用しつつ横断的な情報活用が可能となる。
また、上述した実施形態におけるブローカノードやイベント情報ルータで実行されるプログラムは、先に述べた各部(取得情報判別部5、フィルタ条件管理部6、負荷分散処理部7)を含むモジュール構成となっている。そして実際のハードウエアを用いて、メッセージ判別機能40、フィルタ条件管理機能43、負荷分散処理機能45や、XML Parsingプロセス500、X−pathフィルタ条件管理プロセス503、負荷分散処理プロセス505などを実現する。すなわち、コンピュータ(CPU)が所定の記録媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされて生成される。
本実施形態におけるブローカノードで実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルとしてコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD、不揮発性のメモリカード等があげられる。また、上記プログラムは、ROM等にあらかじめ組み込んで提供するように構成してもよい。
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年3月19日に出願された日本出願特願2009−068900を基礎とする優先権を主張し、その開示の全てをここに取り込む。
[第1実施形態]
図1Aは本発明の第1の実施の形態のセンサネットワークシステムを示す構成図である。センサネットワークシステム1は、定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノード2a〜2fと、センサノード2a〜2fで生成された意味情報を転送するブローカノード3A〜3Cを有している。さらにセンサネットワークシステム1は、取得する意味情報に対するフィルタ条件をブローカノード3A〜3Cに登録する、サーバノードとしてのサービスノード4を有している。
センサネットワークシステム1は、センサノードを収容するブローカノードが高負荷状態となった場合に、登録されたフィルタ条件を用いて、当該ブローカノードが転送していた意味情報を転送可能で、かつ低負荷状態の他のブローカノードを探索する。そして前記高負荷ブローカノードから前記低負荷ブローカノードへ前記センサノードの収容関係の切り替えを行う。
この実施の形態では、センサノードの発生する意味情報が増加した結果、当該センサノードを収容するエッジノードの負荷が高くなった場合に、当該センサノードが発生する意味情報フローの転送先を別の低負荷のエッジノードへ切り替えている。このため、エッジノード間の負荷が分散され、大量の意味情報を発生するセンサノードを収容するエッジノードの負荷を軽減させることが可能となる。
[第2実施形態]
図1Bは、図1Aに示したセンサネットワークシステム1における、ブローカノード3A〜3Cの構成を示す図である。このブローカノードは、取得情報判別部5、フィルタ条件管理部6、負荷分散処理部7を有する。
取得情報判別部5は、他のノードから取得した情報の内容を判別する。フィルタ条件管理部6は、取得情報判別部5で取得情報の内容がフィルタ条件登録に関する制御情報と判別された場合にフィルタ条件の登録を行う。負荷分散処理部7は、自ノードが高負荷状態となった場合に負荷分散に関する制御情報を他のブローカノードに送信する。また取得情報判別部5で取得情報の内容が負荷分散に関する制御情報と判別された場合に、フィルタ条件管理部6に登録されたフィルタ条件を用いて、高負荷ブローカノードと同一のフィルタ条件を持つ低負荷ブローカノードを探索する。そして負荷増加要因となっているセンサノードで生成した意味情報の送信先を、低負荷ブローカノードへ切り替えさせる。
なお、高負荷の要因となっているセンサノードは、個々のセンサノードが発生する意味情報を用いて識別する。また、低負荷のブローカノードは、やはりセンサノードが発生する意味情報に関し、同じ意味情報を発生するセンサノードを収容しているブローカノードを探索することにより検出する。
この実施形態では、ブローカノードは取得情報判別部、フィルタ条件管理部、負荷分散処理部を有し、当該ブローカノードの負荷の状況や、取得する情報の内容に応じて、それぞれ実行する処理を分担させることができる。
[第3実施形態]
図2は、本発明の第3実施形態のセンサネットワークシステムの構成を示した図である。図2において、第3実施形態のセンサネットワークシステムは、センサノード10〜15、ブローカノード20〜28、そしてサービスノード30、31で構成される。センサノード10〜15のうち、センサノード10〜12は事象Aについてのセンシングを行っており、センサノード13〜15は事象Bについてのセンシングを行っている。ここでは、簡単化のためにセンシングする事象とセンサノードの関係は1対1で表現しているが、1つのセンサノードが複数の事象をセンシングしてもよい。
センサノード10〜15は、設置先の事象Aあるいは事象Bをセンシングし、そのセンシング対象の数値データを生成する。事象Aや事象Bは、例として、気温、雨量、二酸化炭素濃度などの環境情報や、設置場所を通過する車両数、さらにはコンピュータシステムやネットワークシステムの稼動情報や負荷情報が挙げられる。
事象Aや事象Bには、あらかじめ意味情報テンプレートが用意されており、上記の数値データが意味情報テンプレートに設定されることによって、1つの意味情報が生成される。例えば、毎秒1つの数値データがセンシングされ、このセンシングデータ毎に意味情報が生成される場合、毎秒1つの意味情報が生成される。
また別の意味情報の生成方法もある。センサノード10〜12に、あらかじめ事象Aに関する閾値を設定しておき、閾値以下の状態から閾値以上の状態への変化あるいはその逆があった場合に、意味情報を生成するという場合もある。ここで閾値は、必ずしも1つとは限らない。事象Bについても同様である。
サービスノード30は事象Aの意味情報の受信者であり、サービスノード31は事象Bの意味情報の受信者である。サービスノード30、31は、受信したい意味情報のみを受信するためのフィルタ条件を生成し、ブローカノード27、28の各々へ登録する。このフィルタ条件は、例えばフラッディング処理によって、他のブローカノード20〜26へも伝播されていく。
ブローカノード20〜28は、フィルタ条件を隣接ブローカノードへ転送する場合に、自ノードの情報を付加しておく。この情報は、隣接ブローカノードがフィルタ条件にマッチする意味情報を受信した場合に、その意味情報を転送するための転送先情報として利用される。
意味情報の伝播は、さらに高度な方法として集約型もある。これは、同一事象に対して複数のフィルタ条件が設定された場合、意味情報ルータ20〜28は、出力ポート単位で設定されているフィルタ条件を検出する。そして意味情報の伝播は、当該意味情報に対するフィルタ条件を有するポートのうち、フィルタ条件の総数が多い(多種類のイベント情報を転送できる)方のポートを用いることとし、フィルタ条件数が少ない方のポートでの伝播は停止するというモデルである。
以上の処理によって、意味情報を転送する配信パスがブローカノード20〜28に設定される。
ブローカノード20〜28は、センサノード10〜15から送信される意味情報に対して所定の処理を行う各機能を有する。図3は、第1実施形態におけるブローカノードの機能構成を示したブロック図である。図3に示すように、ブローカノード20〜28は、メッセージ判別機能40、マッチング処理機能41、イベント情報送信機能42、フィルタ条件管理機能43、転送先管理機能44、負荷分散処理機能45で構成される。
メッセージ判別機能40は、他のブローカノードやセンサノードからの配信メッセージ、フィルタ条件登録メッセージ、そして負荷分散メッセージについて、メッセージの種類の判別を行う。ここで、配信メッセージは意味情報を配信するためのメッセージ、フィルタ条件登録メッセージはフィルタ条件を伝播するためのメッセージ、負荷分散メッセージは負荷分散プロセスを実施するためのメッセージである。また負荷情報メッセージは個々のブローカノードの負荷情報を通知するためのメッセージである。
このブローカノードがフィルタ条件登録メッセージを受信した場合、フィルタ条件は、フィルタ条件管理機能43へ渡され、登録される。次に、フィルタ条件管理機能43は、この登録メッセージの送信元を、イベント情報の転送先として、転送先管理機能44に登録する。前述したフラッディング処理の場合、このフィルタ条件は登録メッセージとして、イベント情報送信機能42を介して、次の隣接ブローカノードに転送される。ここで、もし隣接ノードがセンサノードであって、そのセンサノードがフィルタ条件を満足する意味情報を発信しているのであれば、このフィルタ条件が設定される。
ブローカノードが配信メッセージを受信した場合、配信意味情報は、マッチング処理機能41に転送される。そして、マッチング処理機能41は、フィルタ条件管理機能43に、この配信意味情報のフィルタ条件の問い合わせを行う。そして、フィルタ条件管理機能43は、フィルタ条件の検索を行うとともに、該当フィルタ条件の転送先を転送先管理機能44から得る。1つ以上のフィルタ条件が検索されれば、マッチング処理機能41は、照合処理を行う。もしフィルタ条件にマッチすれば、マッチング処理機能41は、その意味情報を転送先情報とともにイベント情報送信機能42にデータ転送する。そして、イベント情報送信機能42は、指定された転送先へ意味情報を配信メッセージとして送信する。
ブローカノードが負荷分散メッセージを受信した場合、負荷分散メッセージは、負荷分散処理機能45へ渡される。そして、負荷分散処理機能45は、受信した負荷分散メッセージに記されたフィルタ条件を、自ノードが持っているか否かを判定するために、フィルタ条件管理機能43に問い合わせる。もし自ノードが受信したフィルタ条件と一致する条件を持ち、そのフィルタ条件が設定されているのであれば、負荷分散処理機能45は、後述の負荷分散の手順を実行する。もしそのフィルタ条件が設定されていなければ、結果として得られた転送先へ負荷分散メッセージを送信する。
ブローカノードが特定のブローカノードの負荷情報メッセージを受信した場合、負荷分散処理機能45は、イベント情報送信機能42を介して、このメッセージが示す転送先へその負荷情報を送信する。
センサノード10〜12は事象A、センサノード13〜15は事象Bに関する意味情報を生成するが、設置場所が異なるために、その生成パターンが異なる。その結果、例えば、センサノード10が、一定時間内に発生する意味情報数と、センサノード11、12が一定時間内に発生する意味情報数に差が生じる場合がある。
ここで、図2においてセンサノード10が一定時間内に発生する意味情報数が多くなり、その結果、ブローカノード20が高負荷になったと仮定する。高負荷となったブローカノード20は、最初に高負荷の要因となっている意味情報配信を特定する。高負荷要因となっている意味情報は、そのテンプレート情報を参照すれば特定できる。次に、高負荷要因となっている意味情報配信に対するフィルタ条件を特定する。なおフィルタ条件は、1つの意味情報配信に対して複数がマッチする場合もある。
その後、高負荷となったブローカノード20が、負荷分散先を特定する。この負荷分散のための手順について、図4に示す。ブローカノード20は、特定されたフィルタ条件を、負荷分散メッセージとして隣接ブローカノード23に転送する。
負荷分散メッセージを受信したブローカノード23では、負荷分散処理機能45が上述したように受信した負荷分散メッセージの処理を実行し、さらに隣接ブローカノード21、25、26へ負荷分散メッセージを転送する。以下同様にして、ブローカノード20が発したフィルタ条件の情報は、ブローカノード21〜28に伝播する。図4では、特にブローカノード20〜26について示しており、ブローカノード27、28についても、ブローカノード25、26からフィルタ条件が伝播される。
上記フィルタ条件が伝播されたブローカノード21〜28のうち、ブローカノード23〜28は、事象Aに関する意味情報を生成するセンサノード11、12を収容していない。これらのブローカノードでは、フィルタ条件の伝播動作だけが実行される。
一方、事象Aに関する意味情報を生成するセンサノード11、12を収容しているブローカノード21、22は、自ブローカノードの識別子と、自ノードの負荷情報(例えば平均CPU使用率)を、ブローカノード20に通知する。この通知は、例えば図5に示すような経路で行われる。すなわち、ブローカノード21が送信した負荷情報は、ブローカノード23を介して、ブローカノード20へ通知される。同様に、ブローカノード22が送信した負荷情報は、ブローカノード24、21、23を介して、ブローカノード20へ通知される。
以上の処理によって、高負荷となったブローカノード20には、図2で事象Aに関する意味情報を受信するブローカノードとしてリストに載っている、ブローカノード21、22の負荷情報が集約される。そして、ブローカノード20は、例えば該リストから最も低負荷のエッジノードを選択して、これを高負荷要因となっている意味情報配信のノード切り替え先と決定することができる。
また別な方法として、複数の低負荷ブローカノードを選択し、さらにそれらへ負荷分散する割合を決定することで、該複数の低負荷ブローカノードへ負荷分散を行うことが可能となる。
そして、ブローカノード20は、センサノード10に対して、切り替え先となるブローカノードの情報を伝える。例えば、切り替え先のエッジノードのアドレスを伝える。
ここで、切り替え先をブローカノード21と仮定すると、センサノード10は、該切り替え先情報を受信した後、事象Aに関する意味情報の送信先を、ブローカノード20からブローカノード21へ切り替える。
以上の処理を経ることによって、ブローカノード20は、高負荷要因であったセンサノード10からの事象Aに関する意味情報を受信することがなくなり、高負荷状態を回避できるようになる。
[第4実施形態]
昨今では、仮想化技術の導入により、1つの物理機器上で複数の仮想機器を運用することが可能となっている。本発明の第4実施形態として、仮想化システムに本発明を適用した場合のセンサネットワークシステムの事例を説明する。
図6は、第4実施形態のセンサネットワークシステムの構成を示した図である。この第4実施形態は、本発明を特にCPU(Central Processing Unit)使用率の観測に適用したものである。システム管理クライアント100〜150は、個々の仮想機器をモニタするアプリケーションである。これらのアプリケーションのうち、システム管理クライアント100〜120は、システムAに属する、異なる3つの仮想機器のCPU使用率を観測している。また、システム管理クライアント130〜150は、システムBに属するCPU使用率を観測している。
システム管理クライアント100〜150は、インターネット400を介して、DHT(Distributed Hash Table)型オーバレイネットワークへアクセスする。インターネットを介した接続はあくまでも一例であって、他の方法としては、第3世代移動体ネットワーク等が挙げられる。また、DHT型オーバレイネットワークへは、例えばTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)、あるいはHTTP(Hyper Text Transfer Protocol)によって接続される。
第4実施形態において、意味情報は、状態変化(イベント)の発生した時に発せられるイベント情報としてXML(Extensible Markup Language)形式で記述される。XMLにおけるスキーマがイベント情報のテンプレートであり、テンプレート内に含まれる個々の要素あるいは属性情報の記述によって、イベント情報の内容が示されていく。例えば、システム状態というスキーマが定義され、そのスキーマ内にシステムA、システムBという要素を用意することで、システムA、B毎のイベント情報が区別される。さらに、CPU種別、CPU使用率、仮想機器名、IP(Internet Protocol)アドレス等の要素を追記していくことで、観測対象がより詳細に規定されていく。測定されたCPU使用率の数値データは、上記CPU使用率の要素に含まれるデータとして取り扱われる。図6では、特にCPU使用率の情報について明示した。
以上の構成によって、個々のCPU情報に関する意味情報の実体が作られ、さらに、例えば毎秒1つの割合でイベント情報が生成される。
図6におけるイベント情報ルータは、DHTによって構成されたオーバレイネットワークノード上のアプリケーションとして動作する。個々のイベント情報ルータは、DHT上で個々のノードを識別するためのノードIDを保有する。そして、ここのイベント情報ルータは、意味情報の具体例としてXML形式で記述されたメッセージを、上記のノードIDを用いてルーティングする。
システム管理サーバ300は、システムAに属する3つの仮想機器で測定されたCPU使用率情報の受信者である。また、システム管理サーバ310は、システムBに属する3つの仮想機器で測定されたCPU使用率情報の受信者である。システム管理サーバ300、310は、受信したいイベント情報のみを受信するために、X−path表現によるフィルタ条件を生成し、イベント情報ルータ270、280の各々へ登録する。このフィルタ条件は、前述した第3の実施の形態と同様の手順で、他のイベント情報ルータに伝播されていく。
イベント情報ルータ200〜280は、X−path形式のフィルタ条件を隣接イベント情報ルータへ転送する場合に、自ノードのIDを付加しておく。この情報は、隣接イベント情報ルータがフィルタ条件にマッチするイベント情報を受信した場合の転送先情報として利用される。
イベント情報の伝播は、さらに高度な方法として集約型もある。これは、同一事象に対して複数のフィルタ条件が設定された場合、イベント情報ルータ200〜280は、出力ポート単位で設定されているフィルタ条件を検出する。そしてイベント情報の伝播は、当該イベント情報に対するフィルタ条件を有するポートのうち、フィルタ条件の総数が多い(多種類のイベント情報を転送できる)方のポートを用いることとし、フィルタ条件数が少ない方のポートでの伝播は停止するというモデルである。
以上の処理によって、イベント情報を転送する配信パスがイベント情報ルータ200〜280に設定される。
図7に示すイベント情報ルータ200〜280の構成は、基本的に前述した第3実施形態と同様である。個々の機能は、アプリーケーションプロセスによって実現される。XML Parsingプロセス500は、受信したXMLメッセージをツリー形式に変換し、個々のメッセージ種別を判定して、適切な処理プロセスへデータ転送を行う。
このイベント情報ルータがX−pathフィルタ条件を含む登録メッセージを受信した場合、その条件は、フィルタ条件管理プロセス503へ渡され、登録される。次に、フィルタ条件管理プロセス503は、この登録メッセージの送信元のDHTノードIDを、イベント情報の転送先として、DHTルーティングテーブル504に登録する。これらの処理を終えた後、該X−path条件は、登録メッセージとして、イベント情報送信プロセス502を介して、次の隣接イベント情報ルータに転送される。ここで、もし隣接イベント情報ルータがシステム管理クライアントであって、そのクライアントがX−path条件を満足するイベント情報を発信しているのであれば、このX−path条件が設定される。
イベント情報ルータがイベント情報を受信した場合、イベント情報は、マッチング処理プロセス501にデータ転送される。そして、マッチング処理プロセス501は、X−pathフィルタ条件管理プロセス503に、このイベント情報に対するX−pathフィルタ条件の問い合わせを行う。そして、X−pathフィルタ条件管理プロセス503は、X−pathフィルタ条件の検索を行うとともに、上記X−pathフィルタ条件にマッチするイベント情報の転送先DHTノードIDを、DHTルーティングテーブル504から得る。1つ以上のX−pathフィルタ条件が検索されれば、マッチング処理プロセス501は照合処理を行う。そして、X−pathフィルタ条件にマッチすれば、マッチング処理プロセス501は、その配信メッセージをイベント情報送信プロセス502に渡す。最後に、イベント情報送信プロセス502は、指定されたDHTノードへイベント情報を配信メッセージとして送信する。
イベント情報ルータが負荷分散メッセージを受信した場合、負荷分散メッセージは、負荷分散処理プロセス505へ渡される。そして、負荷分散処理プロセス505は、受信したX−pathフィルタ条件を自ノードが持つか否かを判定するために、X−pathフィルタ条件管理プロセス503に問い合わせする。もし自ノードが受信したX−pathフィルタ条件と一致するフィルタ条件を持ち、そのフィルタ条件が登録されていれば、負荷分散処理プロセス505は、後述の負荷分散の手順を実行する。もし登録されていなければ、結果として得られたDHTノードIDを持つイベント情報ルータへ負荷分散メッセージを送信する。
イベント情報ルータが負荷情報メッセージを受信した場合、負荷分散処理プロセス505は、イベント情報送信プロセス502を介して、DHTノードIDで示されたDHTノードへ負荷情報を送信する。
システム管理クライアント100〜120はシステムAに属する仮想機器のCPU使用率に関するイベント情報を生成し、システム管理クライアント130〜150はシステムBに属する仮想機器のCPU使用率に関するイベント情報を生成する。しかし、設置場所が異なるために、その生成パターンが異なる。その結果、例えば、システム管理クライアント100が一定時間内に発生する意味情報数と、システム管理クライアント110、120が一定時間内に発生する意味情報数に差が生じる場合がある。
ここで、図6においてシステム管理クライアント100が一定時間内に発生するイベント情報数が多くなり、その結果、イベント情報ルータ200が高負荷になったと仮定する。高負荷となったイベント情報ルータ200は、最初に高負荷の要因となっているイベント情報の送信元を特定する。次に、その要因となっているイベント情報配信に対するX−pathフィルタ条件を特定する。1つのイベント情報配信に対して、複数のフィルタ条件がマッチする場合もあるため、特定されるX−pathフィルタ条件は、複数になる場合もありえる。そして、イベント情報ルータ200は、特定されたX−pathフィルタ条件を隣接イベント情報ルータ230に転送する。
このX−pathフィルタ条件の伝播手順は、先に述べた第3実施形態と同様である。つまり、イベント情報ルータ230は、該フィルタ条件を隣接イベント情報ルータ210、250、260に転送する。同様にして、イベント情報ルータ200が発生したフィルタ条件の情報は、イベント情報ルータ210〜280に伝播する。
イベント情報ルータ210〜280のうちイベント情報ルータ230〜280は、システムAに属する仮想機器のCPU使用率に関するイベント情報を生成するシステム管理クライアント110、120を収容しておらず、上記の伝播動作だけを実行する。
一方、イベント情報ルータ210、220は、システムAに属する仮想機器のCPU使用率に関するイベント情報を生成するシステム管理クライアント110、120を収容している。そこで、イベント情報ルータ210、220は、自イベント情報ルータのDHTノードIDと、自イベント情報ルータの負荷情報(例えば平均CPU使用率)をイベント情報ルータ200に通知する。
以上の処理によって、高負荷となったイベント情報ルータ200に、システムAに属する仮想機器のCPU使用率を受信する意味情報ルータの負荷情報が集約される。図6では、イベント情報ルータ210、220がイベント情報ルータ200によって認識される。そして、イベント情報ルータ200は、例えば集約された負荷情報のリストから最も低負荷のイベント情報ルータを選択することで、これを高負荷要因となっているイベント情報フローの切り替え先と決定することができる。
また別な方法として、複数の低負荷イベント情報ルータを選択し、さらにそれらへ負荷分散する割合を決定することで、該複数の低負荷イベント情報ルータへ負荷分散を行うことが可能となる。
そして、イベント情報ルータ200は、システム管理クライアント100に対して、切り替え先となるイベント情報ルータのIPアドレス等のアクセス情報を伝える。
ここで、切り替え先をイベント情報ルータ210と仮定すると、システム管理クライアント100は、該切り替え先情報を受信した後、システムAに属する仮想機器のCPU使用率の送信先を、イベント情報ルータ200からイベント情報ルータ210へ切り替える。
以上の処理を経ることによって、イベント情報ルータ200は、高負荷要因であったシステム管理クライアント100からのシステムAに属する仮想機器のCPU使用率を受信することがなくなり、高負荷状態を回避できるようになる。
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。例えば大規模ネットワークシステムの稼動状況を監視する用途に適用できる。すなわち、ネットワークシステム内で発生する様々な状態変化を意味情報やイベント情報として記述し、高度なシステム運用情報の活用が実現可能となる。同様にして、他の環境情報の記述化や交通情報の記述化を進めていくことで、実空間を観測する様々なシステムを互いに利用しつつ横断的な情報活用が可能となる。
また、上述した実施形態におけるブローカノードやイベント情報ルータで実行されるプログラムは、先に述べた各部(取得情報判別部5、フィルタ条件管理部6、負荷分散処理部7)を含むモジュール構成となっている。そして実際のハードウエアを用いて、メッセージ判別機能40、フィルタ条件管理機能43、負荷分散処理機能45や、XML Parsingプロセス500、X−pathフィルタ条件管理プロセス503、負荷分散処理プロセス505などを実現する。すなわち、コンピュータ(CPU)が所定の記録媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされて生成される。
本実施形態におけるブローカノードで実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルとしてコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD、不揮発性のメモリカード等があげられる。また、上記プログラムは、ROM等にあらかじめ組み込んで提供するように構成してもよい。
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2009年3月19日に出願された日本出願特願2009−068900を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は上述の実施形態の他、大規模ネットワークシステムの稼動状況を監視する用途にも適用できる。たとえば、ネットワークシステム内で発生する様々な状態変化を意味情報やイベント情報として記述し、高度なシステム運用情報の活用を実現可能とするシステムに利用できる。また、他の環境情報の記述化や交通情報の記述化を進めていくことで、実空間を観測する様々なシステムを互いに利用しつつ横断的な情報活用を可能とするシステムに利用できる。
1 センサネットワークシステム
2,10〜15 センサノード
3,20〜28 ブローカノード
4,31,31 サービスノード
5 取得情報判別部
6 フィルタ条件管理部
7 負荷分散処理部
40 メッセージ判別機能
41 マッチング処理機能
42 イベント情報送信機能
43 フィルタ条件管理機能
44 転送先管理機能
45 負荷分散処理機能
100〜150 システム管理クライアント
200〜280 イベント情報ルータ
300,310 システム管理サーバ
500 XML Parsingプロセス
510 マッチング処理プロセス
520 イベント情報送信プロセス
530 X−pathフィルタ条件管理プロセス
540 DHTルーティングテーブル
550 負荷分散処理プロセス
2,10〜15 センサノード
3,20〜28 ブローカノード
4,31,31 サービスノード
5 取得情報判別部
6 フィルタ条件管理部
7 負荷分散処理部
40 メッセージ判別機能
41 マッチング処理機能
42 イベント情報送信機能
43 フィルタ条件管理機能
44 転送先管理機能
45 負荷分散処理機能
100〜150 システム管理クライアント
200〜280 イベント情報ルータ
300,310 システム管理サーバ
500 XML Parsingプロセス
510 マッチング処理プロセス
520 イベント情報送信プロセス
530 X−pathフィルタ条件管理プロセス
540 DHTルーティングテーブル
550 負荷分散処理プロセス
Claims (17)
- 定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、前記センサノードで生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件を前記ブローカノードに対して登録するサーバノードと、を含んで構成され、
前記センサノードを収容する前記ブローカノードが高負荷状態となった場合に、登録された前記フィルタ条件を用いて、前記高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態にある他のブローカノードを探索し、前記高負荷ブローカノードから前記低負荷ブローカノードへ前記センサノードの収容関係を切り替えることを特徴とするセンサネットワークシステム。 - 前記ブローカノードは、
他のノードから取得した情報の内容を判別する取得情報判別手段と、
前記取得情報判別手段で前記取得情報の内容がフィルタ条件登録に関する制御情報と判別された場合にフィルタ条件の登録を行うフィルタ条件管理手段と、
高負荷状態となった場合に負荷分散に関する制御情報を他のブローカノードに送信し、前記取得情報判別手段で前記取得情報の内容が負荷分散に関する制御情報と判別された場合に、前記フィルタ条件管理手段で登録されたフィルタ条件を用いて、前記高負荷ブローカノードのフィルタ条件と同一のフィルタ条件を持つ前記低負荷ブローカノードを探索し、前記センサノードに生成した意味情報の送信先を切り替えさせる負荷分散処理を行う負荷分散処理手段と、
を有することを特徴とする請求項1に記載のセンサネットワークシステム。 - 前記ブローカノードは、収容しているセンサノードが一定時間内に発生する意味情報数が多くなり高負荷状態となった場合に、該高負荷状態の要因である意味情報フローおよび前記意味情報フローに対するフィルタ条件を特定し、該フィルタ条件を負荷分散に関する制御情報に含めて他のブローカノードに送信することを特徴とする請求項1又は2に記載のセンサネットワークシステム。
- 前記ブローカノードは、他の前記高負荷ブローカノードから負荷分散に関する制御情報を取得し、前記制御情報に含まれるフィルタ条件と合致するフィルタ条件を検索して合致するフィルタ条件が得られた場合に、自ノードの識別情報及び負荷情報を他のブローカノードに送信することを特徴とする請求項1から3のいずれか1項に記載のセンサネットワークシステム。
- 前記ブローカノードは、高負荷要因となった意味情報に対するフィルタ条件と同一のフィルタ条件を持つ他のブローカノードから負荷情報を受信し、前記他のブローカノードの中から、前記高負荷要因となった意味情報を生成するセンサノードの新たな収容先となるブローカノードを選択することを特徴とする請求項1から4のいずれか1項に記載のセンサネットワークシステム。
- 前記センサノードは、現在の収容先である前記高負荷ブローカノードから、新たな収容先となる前記低負荷ブローカノードへの接続情報および接続先変更の対象となる意味情報を指定された場合に、前記高負荷ブローカノードから前記低負荷ブローカノードへ前記意味情報の送信先を切り替えることを特徴とする請求項1から5のいずれか1項に記載のセンサネットワークシステム。
- 定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、取得する意味情報に対するフィルタ条件をブローカノードに対して登録するサーバノードと、ともにセンサネットワークを構成し、
他のノードから取得した情報の内容を判別する取得情報判別手段と、
前記取得情報判別手段で前記取得情報の内容がフィルタ条件登録に関する制御情報と判別された場合にフィルタ条件の登録を行うフィルタ条件管理手段と、
高負荷状態となった場合に負荷分散に関する制御情報を他のブローカノードに送信し、前記取得情報判別手段で前記取得情報の内容が負荷分散に関する制御情報と判別された場合に、前記フィルタ条件管理手段で登録されたフイルタ条件を用いて、高負荷状態のブローカノードのフィルタ条件と同一のフィルタ条件を持ち、かつ、低負荷状態にある他のブローカノードを探索し、前記センサノードに生成した意味情報の送信先を切り替えさせる負荷分散処理を行う負荷分散処理手段と、
を有することを特徴とするブローカノード。 - 前記負荷分散処理手段は、収容しているセンサノードが一定時間内に発生する意味情報数が多くなり高負荷状態となった場合に、該高負荷状態の要因である意味情報フローおよび前記意味情報フローに対するフィルタ条件を特定し、該フィルタ条件を負荷分散に関する制御情報に含めて他のブローカノードに送信することを特徴とする請求項7に記載のブローカノード。
- 前記負荷分散処理手段は、他の前記高負荷ブローカノードから負荷分散に関する制御情報を取得し、前記制御情報に含まれるフィルタ条件と合致するフィルタ条件を検索して合致するフィルタ条件が得られた場合に、自ノードの識別情報及び負荷情報を他のブローカノードに送信することを特徴とする請求項7又は8に記載のブローカノード。
- 前記負荷分散処理手段は、高負荷要因となった意味情報に対するフィルタ条件と同一のフィルタ条件を持つ他のブローカノードから負荷情報を受信し、前記他のブローカノードの中から、前記高負荷要因となった意味情報を生成するセンサノードの新たな収容先となるブローカノードを選択することを特徴とする請求項7から9のいずれか1項に記載のブローカノード。
- 前記負荷分散処理手段は、収容している前記センサノードに対して、新たな収容先となる前記低負荷ブローカノードへの接続情報および接続先変更の対象となる意味情報を指定し、前記センサノードに前記意味情報の送信先を切り替えさせることを特徴とする請求項7から10のいずれか1項に記載のブローカノード。
- 定義された情報形式にセンシングした数値データを用いて意味情報を生成し、
生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件を前記ブローカノードに対して登録するサーバノードと、ともにセンサネットワークシステムを構成し、
現在の収容先である高負荷状態のブローカノードから、登録された前記フィルタ条件を用いて探索されたブローカノードで、前記高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態の他のブローカノードへの接続情報、および、接続先変更の対象となる意味情報を指定された場合に、前記高負荷ブローカノードから前記低負荷ブローカノードへ前記意味情報の送信先を切り替えることを特徴とするセンサノード。 - 定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、前記センサノードで生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件を前記ブローカノードに対して登録するサーバノードと、を含んで構成されるセンサネットワークシステムで用いられ、
前記センサノードを収容する前記ブローカノードが高負荷状態となった場合に、登録された前記フィルタ条件を用いて、前記高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態にある他のブローカノードを探索し、前記高負荷ブローカノードから前記低負荷ブローカノードへ前記センサノードの収容関係を切り替えることを特徴とする負荷分散方法。 - 前記ブローカノードが、収容しているセンサノードの意味情報生成により高負荷状態となった場合に、負荷分散に関する制御情報を他のブローカノードに送信する負荷分散情報送信ステップと、
前記ブローカノードが、他のノードから取得した情報の内容を判別する取得情報判別ステップと、
前記ブローカノードが、前記取得情報判別ステップで前記取得情報の内容がフィルタ条件登録に関する制御情報と判別された場合に、フィルタ条件の登録を行うフィルタ条件管理ステップと、
前記ブローカノードが、前記取得情報判別ステップで前記取得情報の内容が負荷分散に関する制御情報と判別された場合に、前記フィルタ条件管理ステップで登録されたフィルタ条件を用いて、前記高負荷ブローカノードのフィルタ条件と同一のフィルタ条件を持つ前記低負荷ブローカノードを探索する低負荷ノード探索ステップと、
前記ブローカノードが、前記低負荷ノード探索ステップで探索された前記低負荷ブローカノードを、収容している前記センサノードに通知し、該センサノードに生成した意味情報の送信先を切り替えさせる負荷分散処理ステップと、
を有することを特徴とする請求項13に記載の負荷分散方法。 - 定義された情報形式にセンシングした数値データを用いて意味情報を生成するセンサノードと、前記センサノードで生成された意味情報を転送するブローカノードと、取得する意味情報に対するフィルタ条件を前記ブローカノードに対して登録するサーバノードと、を含んで構成されるセンサネットワークシステムで用いられ、
前記ブローカノードのコンピュータに、
前記センサノードを収容する前記ブローカノードが高負荷状態となった場合に、登録された前記フィルタ条件を用いて、前記高負荷ブローカノードが転送していた意味情報を転送可能で低負荷状態にある他のブローカノードを探索させ、前記高負荷ブローカノードから前記低負荷ブローカノードへ前記センサノードの収容関係を切り替えさせることを特徴とするプログラム。 - 前記ブローカノードのコンピュータに、
収容しているセンサノードの意味情報生成により高負荷状態となった場合に、高負荷状態となった場合に負荷分散に関する制御情報を他のブローカノードに送信する負荷分散情報送信処理と、
他のノードから取得した情報の内容を判別する取得情報判別処理と、
前記取得情報判別処理で前記取得情報の内容がフィルタ条件登録に関する制御情報と判別された場合に、フィルタ条件の登録を行うフィルタ条件管理処理と、
前記取得情報判別処理で前記取得情報の内容が負荷分散に関する制御情報と判別された場合に、前記フィルタ条件管理ステップで登録されたフィルタ条件を用いて、前記高負荷ブローカノードのフィルタ条件と同一のフィルタ条件を持つ前記低負荷ブローカノードを探索する低負荷ノード探索処理と、
前記低負荷ノード探索処理で探索された前記低負荷ブローカノードを、収容している前記センサノードに通知し、該センサノードに生成した意味情報の送信先を切り替えさせる負荷分散処理と、
を実行させることを特徴とする請求項15に記載のプログラム。 - 請求項15又は16に記載のプログラムを記録しコンピュータで読み取り可能なことを特徴とする記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009068900 | 2009-03-19 | ||
JP2009068900 | 2009-03-19 | ||
PCT/JP2010/054749 WO2010107105A1 (ja) | 2009-03-19 | 2010-03-15 | ネットワークシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2010107105A1 true JPWO2010107105A1 (ja) | 2012-09-20 |
Family
ID=42739761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011504889A Withdrawn JPWO2010107105A1 (ja) | 2009-03-19 | 2010-03-15 | ネットワークシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US9331932B2 (ja) |
EP (1) | EP2410500B1 (ja) |
JP (1) | JPWO2010107105A1 (ja) |
CN (1) | CN102356413B (ja) |
WO (1) | WO2010107105A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593176B2 (en) | 2019-03-12 | 2023-02-28 | Fujitsu Limited | Computer-readable recording medium storing transfer program, transfer method, and transferring device |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009107511A1 (ja) * | 2008-02-29 | 2009-09-03 | 日本電気株式会社 | 複合イベント検出/配信システム、複合イベント検出/配信方法、及び複合イベント検出/配信用プログラム |
JP5639945B2 (ja) * | 2011-04-04 | 2014-12-10 | 株式会社日立製作所 | ネットワークシステム |
CN102289508B (zh) * | 2011-08-31 | 2015-02-04 | 上海西本网络科技有限公司 | 分布式缓存阵列及其数据查询方法 |
WO2013054453A1 (ja) * | 2011-10-13 | 2013-04-18 | オムロン株式会社 | ネットワークシステムおよびノード装置群 |
JP5408230B2 (ja) * | 2011-11-04 | 2014-02-05 | オムロン株式会社 | ネットワークシステム、ノード装置群、センサ装置群およびセンサデータ送受信方法 |
JP6417940B2 (ja) * | 2012-04-26 | 2018-11-07 | 日本電気株式会社 | 情報配信システム、ゲートウェイ装置、配信制御方法及びプログラム |
JP6123205B2 (ja) * | 2012-09-26 | 2017-05-10 | 日本電気株式会社 | メッセージ交換システム、メッセージ配信システム、メッセージ交換方法、メッセージ配信方法およびコンピュータ・プログラム |
CN103442078B (zh) * | 2013-09-05 | 2016-09-07 | 北京工业大学 | 一种用于建筑结构安全监测的传感器系统 |
CN103957174B (zh) * | 2014-05-16 | 2017-02-15 | 北京信诺瑞得软件系统有限公司 | 语义交换机松耦合系统进行信息处理的方法 |
CN103957173B (zh) * | 2014-05-16 | 2017-02-01 | 北京信诺瑞得软件系统有限公司 | 语义交换机 |
JP6428012B2 (ja) * | 2014-07-16 | 2018-11-28 | 富士通株式会社 | 分散処理プログラム、分散処理管理装置及び分散処理方法 |
WO2017031025A1 (en) * | 2015-08-19 | 2017-02-23 | Gojo Industries, Inc. | Wireless sensor network |
JP6614248B2 (ja) * | 2016-02-15 | 2019-12-04 | 富士通株式会社 | 処理制御プログラム、処理制御方法、情報処理装置、および通信装置 |
JP6332308B2 (ja) * | 2016-03-10 | 2018-05-30 | トヨタ自動車株式会社 | サイドエアバッグ装置を備えた車両用シート |
WO2019026709A1 (ja) | 2017-08-03 | 2019-02-07 | オムロン株式会社 | センサ管理ユニット、センサ装置、センサ管理方法、及びセンサ管理プログラム |
CN110832880B (zh) * | 2017-08-03 | 2022-06-03 | 欧姆龙株式会社 | 传感器管理单元、传感器装置、传感器管理方法和传感器管理程序 |
JP6928245B2 (ja) * | 2017-08-31 | 2021-09-01 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、情報処理システムおよびその処理方法とプログラム |
JP7027074B2 (ja) * | 2017-09-04 | 2022-03-01 | 株式会社日立システムズ | デバイス管理システム、及びデバイス管理方法 |
JP7017112B2 (ja) | 2018-03-29 | 2022-02-08 | 富士通株式会社 | 誤差補正方法、分散処理システムおよび情報処理装置 |
JP2021153289A (ja) * | 2020-03-23 | 2021-09-30 | キヤノン株式会社 | 情報処理システム、情報処理方法、制御プログラム、記録媒体、ノード装置、ゲートウェイ装置、製造システム、物品の製造方法 |
CN113810443A (zh) * | 2020-06-16 | 2021-12-17 | 中兴通讯股份有限公司 | 资源管理方法、系统、代理服务器及存储介质 |
CN112820092B (zh) * | 2020-12-25 | 2021-12-31 | 北京市腾河电子技术有限公司 | 采集用电数据的方法、终端设备、存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954775B1 (en) * | 1999-01-15 | 2005-10-11 | Cisco Technology, Inc. | Parallel intrusion detection sensors with load balancing for high speed networks |
JP2002190825A (ja) * | 2000-12-21 | 2002-07-05 | Fujitsu Ltd | トラフィックエンジニアリング方法及びそれを用いたノード装置 |
JP2003203088A (ja) | 2002-01-08 | 2003-07-18 | Nippon Telegr & Teleph Corp <Ntt> | プログラマブルコンテンツ提供方法および提供システム、送信端末、プログラム、記録媒体 |
JP4221200B2 (ja) | 2002-08-19 | 2009-02-12 | 日本電気通信システム株式会社 | 移動体通信システムにおける負荷分散システム及び交換装置 |
US7346684B2 (en) * | 2003-01-31 | 2008-03-18 | Utstarcom, Inc. | System and method for control of packet data serving node selection in a mobile internet protocol network |
JP2005284341A (ja) * | 2004-03-26 | 2005-10-13 | Hitachi Ltd | センサネットのセンサ情報管理装置及びシステム |
SE0402782D0 (sv) * | 2004-11-10 | 2004-11-10 | Ericsson Telefon Ab L M | Method and arrangement in a telecommunication system |
US20060143439A1 (en) | 2004-12-06 | 2006-06-29 | Xpaseo | Method and system for sensor data management |
JP2007179243A (ja) | 2005-12-27 | 2007-07-12 | Hitachi Ltd | 通信システム及び通信装置 |
JP4596943B2 (ja) * | 2005-03-24 | 2010-12-15 | 株式会社日立製作所 | センサネットワークシステム、データの転送方法及びプログラム |
JP2007156779A (ja) | 2005-12-05 | 2007-06-21 | Hitachi Ltd | センサネットシステム、基地局及びセンシングデータの中継方法 |
JP4839152B2 (ja) | 2006-08-04 | 2011-12-21 | 株式会社日立製作所 | センサネットワークシステム及びセンサネットワークのデータ処理方法 |
US8189474B2 (en) * | 2006-09-27 | 2012-05-29 | Infosys Limited | Dynamic stack-based networks for resource constrained devices |
JP2009068900A (ja) | 2007-09-11 | 2009-04-02 | Nuclear Fuel Ind Ltd | 沸騰水型原子炉用燃料集合体 |
-
2010
- 2010-03-15 US US13/255,989 patent/US9331932B2/en active Active
- 2010-03-15 EP EP10753596.5A patent/EP2410500B1/en active Active
- 2010-03-15 JP JP2011504889A patent/JPWO2010107105A1/ja not_active Withdrawn
- 2010-03-15 CN CN2010800126476A patent/CN102356413B/zh not_active Expired - Fee Related
- 2010-03-15 WO PCT/JP2010/054749 patent/WO2010107105A1/ja active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593176B2 (en) | 2019-03-12 | 2023-02-28 | Fujitsu Limited | Computer-readable recording medium storing transfer program, transfer method, and transferring device |
Also Published As
Publication number | Publication date |
---|---|
US20120002549A1 (en) | 2012-01-05 |
EP2410500B1 (en) | 2019-05-15 |
CN102356413B (zh) | 2013-08-14 |
CN102356413A (zh) | 2012-02-15 |
US9331932B2 (en) | 2016-05-03 |
EP2410500A4 (en) | 2015-04-22 |
EP2410500A1 (en) | 2012-01-25 |
WO2010107105A1 (ja) | 2010-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2010107105A1 (ja) | ネットワークシステム | |
CN102656922B (zh) | 利用用于使用群体智能在大规模分布式系统中进行信息路由的框架的系统和方法 | |
US8356093B2 (en) | Apparatus and system for estimating network configuration | |
CN100388695C (zh) | 互联网的域间路由监测与分析系统及其工作方法 | |
CN105409248B (zh) | 用于增强发现的系统和方法 | |
US20110283016A1 (en) | Load distribution system, load distribution method, apparatuses constituting load distribution system, and program | |
US20130151563A1 (en) | Network-based dynamic data management | |
Chen et al. | PS-QUASAR: A publish/subscribe QoS aware middleware for Wireless Sensor and Actor Networks | |
JPWO2008126210A1 (ja) | 通信経路選択プログラム、通信経路選択方法および通信経路選択装置 | |
CN104054304A (zh) | 计算机系统、控制器、交换机、通信方法以及存储网络管理程序的记录介质 | |
CN101529809A (zh) | 链路状态协议控制的网络中路由选择信息的分布式存储 | |
JP2004326790A (ja) | ネットワーク装置をディスカバリするための方法および装置 | |
Gregori et al. | Sensing the Internet through crowdsourcing | |
CN111404822B (zh) | 数据传输方法、装置、设备以及计算机可读存储介质 | |
CN103250449A (zh) | 通信系统、控制设备、通信方法和程序 | |
CN105530115B (zh) | 一种实现操作管理维护功能的方法及装置 | |
CN101702678A (zh) | 一种星形堆叠系统和方法 | |
CN105794156A (zh) | 通信系统、通信方法、网络信息组合装置以及网络信息组合程序 | |
KR20180034603A (ko) | 서비스 요소 호스트 선택 | |
JP2010009449A (ja) | 分散情報配置システム | |
Yang et al. | Message-oriented middleware with QoS awareness | |
WO2013150691A1 (ja) | 管理サーバ、および、フロー処理方法 | |
CN115442275B (zh) | 基于分级可信流的混合遥测方法和系统 | |
JP2010009448A (ja) | 分散情報配置システム | |
CN102316004B (zh) | 在通信网络中用于确定节点间路由信息的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130604 |