JP2015228611A - 情報生成装置、ネットワークシステム、及び情報生成方法 - Google Patents

情報生成装置、ネットワークシステム、及び情報生成方法 Download PDF

Info

Publication number
JP2015228611A
JP2015228611A JP2014113982A JP2014113982A JP2015228611A JP 2015228611 A JP2015228611 A JP 2015228611A JP 2014113982 A JP2014113982 A JP 2014113982A JP 2014113982 A JP2014113982 A JP 2014113982A JP 2015228611 A JP2015228611 A JP 2015228611A
Authority
JP
Japan
Prior art keywords
transfer destination
node
destination information
data
event
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.)
Granted
Application number
JP2014113982A
Other languages
English (en)
Other versions
JP6331715B2 (ja
Inventor
福井 誠之
Masayuki Fukui
誠之 福井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014113982A priority Critical patent/JP6331715B2/ja
Publication of JP2015228611A publication Critical patent/JP2015228611A/ja
Application granted granted Critical
Publication of JP6331715B2 publication Critical patent/JP6331715B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ネットワークを構成する各ノードがデータの転送先の判定に用いる情報に関するメモリ消費量と計算コストとの偏りを平準化させること。【解決手段】データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置は、複数のノードのそれぞれについて、データ種別ごとに当該ノードによる転送回数を記憶した記憶部と、前記ノードごとに、当該ノードに関して前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、転送先の判定のための計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する。【選択図】図3

Description

本発明は、情報生成装置、ネットワークシステム、及び情報生成方法に関する。
機器において発生するイベントやセンサ等において検知されるイベントを、ネットワークを介して収集して各種のサービスに活用するセンサネットワークシステムが実現され始めている。例えば、機器に内蔵されたセンサで検出された機器の動作状況を示すログデータをクラウド側に収集し、当該ログデータに基づいて自動的にリモートメンテナンスが行われたり、電力センサで検出された機器の使用電力を示す電力データをクラウド側に収集し、当該電力データに基づいて自動的に省電力制御が行われたりする。
イベントの発生元となる機器又はセンサ等(以下、「センサノード」という。)が多くなればなるほど、有用な情報を得ることができる。一方で、センサノードの増加は、ネットワーク帯域の逼迫や、イベントが収集されるルートノードの負荷の増大を引き起こす原因となる。
そこで、ルートノードで行われるイベントのフィルタリング処理やイベントの集約処理等のイベントの加工処理を、センサノードや、イベントを中継するGW(gateway)ノード等の前線のノード(以下、「下位ノード」という。)において実行することで、ネットワークトラフィック及びルートノードの負荷を低下させる方法が考案されている(例えば、特許文献1参照)。イベントのフィルタリング処理とは、例えば、不要なイベントを破棄する処理である。また、イベントの集約処理とは、複数のイベントを集約して、当該複数のイベントに基づいて得られるイベントを出力する処理である。例えば、電力を示すイベントを1時間ごとに集約し、電力量を示すイベントを出力する処理が、集約処理の一例として挙げられる。フィルタリング処理や集約処理等が、下位ノードで行われることで、上位のノードやルートノードに到達するイベントの数を削減することができる。その結果、ネットワークトラフィックやルートノードの負荷の低下させることができる。
上記の方法において、フィルタリング処理や集約処理等の加工処理は、正しい順序で実行される必要が有る。また、特定のノードの負荷の増加を抑制するために、各処理はできるだけ各ノードに分散されるのが望ましい。更に、イベントの種別によって、適用される加工処理は異なる。例えば、機器の動作状況を示すログデータに対して適用されるべき加工処理と、機器の使用電力を示す電力データに対して適用されるべき加工処理とは異なる。したがって、イベントの種別に応じて、ノード間の転送経路は異なる。そこで、各ノードには、イベントの種別ごとに、転送先のノードを示す情報(以下、「転送先情報」という。)が設定される。各ノードは、イベントを受信すると、当該イベントの種別を転送先情報に当てはめて転送先のノードを判定し、当該ノードに対してイベントを転送する。そうすることで、各イベントに対して正しい順序で加工処理が実行され、1以上の加工処理の実行結果が、最終的にルートノードに収集される。
特開2013−47922号公報 特開2012−146113号公報 特開2013−152569号公報
しかしながら、センサノードやGWノード等の下位ノードの数が膨大となり、イベントの種別や実行すべき加工処理の数も膨大となる大規模センサネットワークにおいては、各ノードに設定する転送先情報が肥大化し、各ノードの記憶容量を逼迫させる虞が有る。
転送先情報の肥大化に対する対策として、ハッシュ関数を用いることでメモリ効率を向上させることが可能な、ブルームフィルタ(Bloom Filter)や、ブルームフィルタを改良したカウンティングフィルタ(Counting Filter)等が用いられる。
例えば、ブルームフィルタ用いる場合、イベントの転送先のノードごとに数ビットのビット列(例えば、16ビットのビット列)が設けられる。また、イベントの種別ごとに、例えば3種類のハッシュ値が計算される。そして、イベントの種別に対応するビット列において、3種類のハッシュ値に対応するビットの値が「1」に設定される。イベントの転送時には、当該イベントに対して3種類のハッシュ値が計算され、当該3種類のハッシュ値に対応するビットの値が「1」であるビット列に係るノードが、転送先であると判定される。したがって、転送先のノードが共通する複数の種別のイベントの転送先情報を、1つのビット列に統合することができる。その結果、ブルームフィルタによれば、転送先情報の情報量は、当該ノードに接続しているノード数×ビット列のビット数となる。一方、イベントの種別ごとに転送先ノードを示す転送先情報の場合、イベントの種別×ノードの識別情報の情報量となる。したがって、イベントの種別が膨大である場合に、ブルームフィルタを用いることで、メモリの消費量を削減することができる。
しかし、ブルームフィルタやカウンティングフィルタを用いる場合、各ノードがイベントを転送するたびに、ハッシュ値の計算が必要とされる。したがって、大量のイベントが処理されるセンサネットワークシステムにおいては、ハッシュ値の計算コストが各ノードのCPUの処理能力を逼迫させ、イベントの転送性能の劣化させる可能性がある。
また、センサネットワークシステムのネットワーク構成が変化したり、転送すべきイベントの種別が増減したりした場合、膨大な数のノードに関して、ハッシュ値の再計算が行われる必要が有る。大規模なセンシングネットワークシステムにおいては、このような再計算のコストも無視できないほど大きくなる可能性が有る。
そこで、一側面では、ネットワークを構成する各ノードがデータの転送先の判定に用いる情報に関するメモリ消費量と計算コストとの偏りを平準化させることを目的とする。
一つの案では、データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置は、複数のノードのそれぞれについて、データ種別ごとに当該ノードによる転送回数を記憶した記憶部と、前記ノードごとに、当該ノードに関して前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、転送先の判定のための計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する。
一態様によれば、ネットワークを構成する各ノードがデータの転送先の判定に用いる情報に関するメモリ消費量と計算コストとの偏りを平準化させることができる。
第一の実施の形態におけるセンサネットワークシステムの構成例を示す図である。 第一の実施の形態におけるルートノードのハードウェア構成例を示す図である。 第一の実施の形態におけるルートノードの機能構成例を示す図である。 モジュール記憶部の構成例を示す図である。 モジュール定義記憶部の構成例を示す図である。 イベント記憶部の構成例を示す図である。 イベント発生情報記憶部の構成例を示す図である。 配備先情報記憶部の構成例を示す図である。 第一の実施の形態におけるセンサノードの機能構成例を示す図である。 第一の実施の形態におけるGWノードの機能構成例を示す図である。 第一の実施の形態のルートノードが実行する転送先情報の生成処理の処理手順の一例を説明するためのフローチャートである。 第一のセンサノードに関するイベント発生情報のソート結果の一例を示す図である。 第一のセンサノードに関する第一転送先情報の一例を示す図である。 第一のセンサノードに関するカウンティングフィルタの一例を示す図である。 第二のセンサノードに関するイベント発生情報のソート結果の一例を示す図である。 第二のセンサノードに関する第一転送先情報の一例を示す図である。 第二のセンサノードに関するカウンティングフィルタの一例を示す図である。 センサノードが実行する処理手順の一例を説明するためのフローチャートである。 GWノードが実行する処理手順の一例を説明するためのフローチャートである。 第二の実施の形態におけるルートノードの機能構成例を示す図である。 第二の実施の形態のルートノードが実行する転送先情報の生成処理の処理手順の一例を説明するためのフローチャートである。 変更回数記憶部の構成例を示す図である。 第二の実施の形態におけるイベント発生情報のソート結果の一例を示す図である。 第二の実施の形態において生成される第一転送先情報の一例を示す図である。 第二の実施の形態において生成される第二転送先情報の一例を示す図である。
以下、図面に基づいて第一の実施の形態を説明する。図1は、第一の実施の形態におけるセンサネットワークシステムの構成例を示す図である。図1において、センサネットワークシステム1は、センサノード30a、30b、30c、及び30d等の1以上のセンサノード30、GWノード20a、20b、及び30c等の1以上のGWノード20、及び1つのルートノード10等を含む。これらのノードのうち、センサノード30及びGWノード20は、ビルA内に設置されている。ルートノード10は、クラウドサービスを提供する事業者によって管理されている。但し、各ノードの配置位置は、所定のものに限定されない。
センサノード30は、例えば、センサを内蔵する通信機器又はセンサに接続された通信機器である。センサノード30は、特定の又は専用の通信機器に限定されない。例えば、PC(Personal Computer)、周辺機器、AV機器、携帯端末、家電製品等がセンサノード30であってもよい。センサノード30は、センサによって計測又は検知された1次的なイベントデータ、又は1次的なイベントデータに関して加工処理が実行された2次的なイベントデータを、いずれかのGWノード20に送信する。
イベントデータとは、センサによって計測される計測値、又はセンサによって検知される事象等のイベントを示すデータである。イベントデータには、当該計測値や当該事象を示す値が含まれる。
また、加工処理とは、フィルタリング処理又は集約処理等である。フィルタリング処理とは、例えば、不要なイベントを破棄する処理である。集約処理とは、複数のイベントを集約することにより得られるイベントを出力する処理である。
本実施の形態において、各センサノード30は、各センサノード30に接続される機器の電力を計測する電力センサに接続される。センサノード30は、計測された電力を示すイベントデータ(以下、「電力データ」という。)を、GWノード20に送信する。また、本実施の形態では、集約処理の一例として、1時間分の電力を示すイベントデータに基づいて、機器の種別ごとに電力量を示すイベントデータ(以下、「電力量データ」という。)を生成する処理が実行される。
GWノード20は、センサノード30からのイベントデータを、他のGWノード20又はルートノード10に転送する通信機器である。GWノード20も特定の機器又は専用の通信機器に限定されない。GWノード20は、必要に応じて、受信したイベントデータに対して加工処理を行うことにより得られるイベントデータを転送する。
ルートノード10は、イベントデータが収集されるノードである。ルートノード10に収集されるイベントデータに基づいて、各種のサービスが提供される。ルートノード10は、また、イベントデータに対する加工処理を、各ノードに分散して配備させるための処理(以下、「分散配備処理」という。)をも実行する。分散配備処理が実行される前は、ルートノード10には1次的なイベントデータが収集される。この場合、ルートノード10が、収集されたイベントデータに対して加工処理を実行する。分散配備処理が実行された後は、ルートノード10には、2次的なイベントデータが収集される。ルートノード10は、2次的なイベントデータを利用して、又は2次的なイベントデータに対して更に加工処理を行うことにより得られるデータを利用して、各種のサービスを提供する。
なお、2次的なイベントデータとは、1回以上の加工処理が行われることにより出力されるベントデータをいう。すなわち、2回以上の加工処理が行われたイベントデータについても、2次的なイベントデータという。
また、本実施の形態において、ルートノード10から見て、センサノード30及びGWノード20を区別しない場合、これらのノードを「下位ノード」という。また、センサノード30から見て、GWノード20及びルートノード10を区別しない場合、これらのノードを「上位ノード」という。
また、図1では、イベントデータの転送に関する論理的なネットワーク構成が示されている。イベントデータやその他の通信データを構成するパケット等の転送は、別途配置されるルータ等を介して行われる。したがって、例えば、各センサノード30とルートノード10とがGWノード20を介さずに通信することも可能である。
なお、図1には、各ノードのノードIDが示されている。ノードIDは、ノードごとの識別情報の一例である。本実施の形態において、各ノードのノードIDには、図1に示される値が用いられる。
図2は、第一の実施の形態におけるルートノードのハードウェア構成例を示す図である。図2のルートノード10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
ルートノード10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってルートノード10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
なお、センサノード30及びGWノード20も、図2に示されるようなハードウェアを有していてもよい。
図3は、第一の実施の形態におけるルートノードの機能構成例を示す図である。図3において、ルートノード10は、モジュール登録部11、イベント受信部12、モジュール実行部13、イベント発生情報受信部14、配備先決定部15、モジュール送信部16、転送先情報生成部17、及び転送先情報送信部18等を有する。これら各部は、ルートノード10にインストールされたプログラムが、CPU104に実行させる処理により実現される。
ルートノード10は、また、モジュール記憶部111、モジュール定義記憶部112、イベント記憶部113、イベント発生情報記憶部114、配備先情報記憶部115、及び転送先情報記憶部116等を利用する。これら各記憶部は、補助記憶装置102、又はルートノード10にネットワークを介して接続される記憶装置等を用いて実現可能である。
モジュール登録部11は、各ノードに加工処理を実行させるプログラムモジュール(以下、単に「モジュール」という。)に関する情報を、モジュール記憶部111及びモジュール定義記憶部112に登録する。例えば、モジュール登録部11は、モジュールの開発者が利用する端末装置からモジュールのアップロードを受け付け、当該モジュールをモジュール記憶部111に登録する。モジュール登録部11は、また、アップロードされたモジュールに関する定義情報を、モジュールの開発者が利用する端末装置から受け付け、当該定義情報をモジュール定義記憶部112に登録する。
図4は、モジュール記憶部の構成例を示す図である。図4において、モジュール記憶部111は、モジュール識別子に対応付けて、モジュールの実体であるバイナリコードを記憶する。モジュール識別子は、モジュールごとの識別情報である。例えば、C言語でプログラミングされたモジュールについては関数名がモジュール識別子とされてもよい。また、Java(登録商標)言語でプログラミングされたモジュールについてはクラス名がモジュール識別子とされてもよい。本実施の形態において、モジュール識別子が、「電力量集計」であるモジュール(以下、「電力量集計モジュール」という。)は、電力データを集約して、電力量データを生成する処理(以下、「電力量集計処理」という。)を、当該モジュールが配備されたノードに実行させるモジュールである。
なお、モジュール記憶部111には、モジュールに関してバイナリコード以外のデータが記憶されてもよい。例えば、モジュールがスクリプト言語で実装される場合には、スクリプトが記述されたテキストデータが、モジュール識別子に対応付けられて記憶されてもよい。また、コンパイル前のソースコードがモジュール識別子に対応付けられて記憶されてもよい。ソースコードがモジュール記憶部111に記憶される場合、モジュールが配備される段階においてルートノード10又は配備先のノードでコンパイル等が実行されてもよい。
図5は、モジュール定義記憶部の構成例を示す図である。図5において、モジュール定義記憶部112は、モジュール記憶部111に記憶されたモジュールごとに、モジュール識別子、入力イベント型名、出力イベント型名、及び集約属性名等を対応付けて記憶する。
入力イベント型名は、モジュールに対して入力データとなるイベントデータのイベント型の名前である。イベント型とは、イベントデータのデータ型である。又は、イベント型は、イベントデータによって示されるイベントの型若しくは種別であるともいえる。例えば、電力データのイベント型名は、「電力」である。電力量データのイベント型名は、「電力量」である。
出力イベント型名は、モジュールによって出力されるイベントデータのイベント型名である。集約属性名は、モジュールによって実行される処理が集約処理である場合に、イベントデータに含まれる属性項目のうちイベントデータを集約する単位を識別するための属性項目の項目名である。仮に、モジュールによって実行される処理がフィルタリング処理であり、イベントデータを集約する必要が無い場合、当該モジュールに関して、集約属性名の項目は空であってもよい。
図5の例では、電力量集計モジュールは、電力データを入力し、電力量データを出力することが示されている。また、電力データに含まれている機器種別IDが共通する単位で、電力データが集約され、電力量データが生成されることが示されている。
なお、機器種別IDとは、センサノード30によって電力が計測される機器の種別に対する識別子である。本実施の形態では、以下の機器種別IDが有ることとする。
・デスクトップPC
・サーバPC
・ノートPC
・液晶モニタ
・充電器
・プリンタ
・ネットワーク機器
・照明器具
・空調機器
・その他
なお、本実施の形態において、機器種別IDは、各機器の個体(機体)を識別する情報ではない。したがって、例えば、複数台のデスクトップPCがビルAに配置されている場合、各デスクトップPCに係る電力データを区別することなく、電力量集計処理が実行される。
イベント受信部12は、下位ノードからイベントデータを受信する。ルートノード10にいずれかのモジュールが配備されている場合、イベント受信部12によって受信されたイベントデータは、当該モジュールによって処理される。ルートノード10にモジュールが配備されていない場合、イベント受信部12によって受信されたイベントデータは、イベント記憶部113に記憶される。なお、分散配備処理の実行前は、1次的なイベントデータが受信される。分散配備処理の実行後は、2次的なイベントデータも受信される。
モジュール実行部13は、ルートノード10に配備されたモジュールの実行制御を行う。例えば、モジュール実行部13は、イベント受信部12によってイベントデータが受信されると、当該イベントデータのイベント型名を入力イベント型名とするモジュールがルートノード10に配備されているか否かを配備先情報記憶部115を参照して判定する。当該モジュールがルートノード10に配備されている場合、モジュール実行部13は、当該モジュールを実行することによって当該イベントデータに対する加工処理をルートノード10に実行させる。モジュール実行部13は、加工処理によって出力されたイベントデータを、イベント記憶部113に記憶する。
なお、分散配備処理の実行前は、全てのモジュールが、ルートノード10に配備されている。すなわち、必要とされるすべての加工処理が、ルートノード10によって実行される。したがって、モジュール実行部13は、或るイベントデータに対して2以上の加工処理を実行する必要が有る場合は、当該2以上の加工処理に係る2以上のモジュールを、順番に実行する。
図6は、イベント記憶部の構成例を示す図である。図6において、イベント記憶部113は、イベントデータごとに、イベント型名、イベント発生時刻、及びイベント属性等を対応付けて記憶する。イベント発生時刻は、1次的なイベントデータであれば、当該イベントデータに係るイベントが発生又は検知された時刻である。2次的なイベントデータであれば、当該イベントデータが、いずれかのモジュールによって生成された時刻である。イベント属性は、イベントデータの属性項目ごとに、項目名と値との組を含む情報である。
本実施の形態では、センサノード30から送信されるイベントデータは、電力データであり、ルートノード10も含めていずれかのノードにおいて電力量集計処理が実行されることにより電力量データが生成される。したがって、イベント記憶部113には、電力量データが記憶される。電力量集計処理では、機器種別IDごとに電力データが集約されるため、図6では、1時間間隔で、機器種別IDごとの電力量を示す電力量データが記憶された例が示されている。
また、図6には、電力量データの属性項目には、機器種別ID及び電力量が含まれることが示されている。
イベント発生情報受信部14は、各センサノード30及び各GWノード20におけるイベントデータの発生状況を示す統計情報(以下、「イベント発生情報」という。)を、各下位ノードから受信する。イベント発生情報は、例えば、所定時間あたり、又はこれまでの累積のイベントデータの発生回数を示す情報である。したがって、イベント発生情報は、頻繁に発生するイベントデータとは異なり、通信負荷に与える影響は小さい。また、イベント発生情報は、直接的に、各下位ノードからルートノード10に送信されてもよい。すなわち、イベント発生情報は、後述の転送先情報に基づく経路制御は行われなくてよい。イベント発生情報受信部14は、受信されたイベント発生情報を、イベント発生情報記憶部114に記憶する。
なお、本実施の形態では、電力データのみが記憶されるが、複数のイベント型のイベントデータが、イベント記憶部113に記憶されてもよい。すなわち、一つのセンサネットワークシステム1において、複数のイベント型のイベントデータが並行して扱われてもよい。
図7は、イベント発生情報記憶部の構成例を示す図である。図7において、イベント発生情報記憶部114は、イベント発生情報受信部14によって受信されたイベント発生情報を記憶する。図7に示されるように、イベント発生情報は、発生ノードID、発生イベント型名、集約属性、及びイベント発生回数等を含む。
発生ノードIDは、イベント発生情報の送信元のノードIDである。発生イベント型名は、イベント発生情報において集計対象とされているイベントデータのイベント型名である。集約属性は、イベント発生情報の集計単位を示す、集約属性名とその属性値(以下、「集約属性値」という。)との組み合わせである。イベント発生回数は、集約属性に当てはまるイベントデータについて、ノードIDに係るノードにおける発生回数である。発生回数は、当該ノードからのイベントデータの転送回数に該当する。
なお、ルートノード10は、分散配備処理の実行前に、モジュール定義記憶部112に記憶されている各集約属性名を、各下位ノードに通知するようにしてもよい。各下位ノードは、通知された集約属性名に係る属性値ごとに、イベント発生回数を集計してもよい。
配備先決定部15は、分散配備処理を制御する。すなわち、配備先決定部15は、モジュール記憶部111及びモジュール定義記憶部112に記憶されたモジュールの配備先のノードを決定する。配備される単位は、厳密には、モジュールと、当該モジュールの集約属性名に対する集約属性値との組み合わせごととなる。例えば、電力量集計モジュールには電力量集計処理を実行するためのロジックが実装されているが、当該モジュール自体には、いずれの集約属性値ごとに電力量の集計を行うかは特定されていない。電力集計モジュールについて、いずれの集約属性値ごとに集計を行うかが決定されることにより、当該電力集計モジュールが実行すべき具体的な処理内容が決まる。したがって、配備先決定部15は、モジュールと集約属性値との組み合わせごとに、当該組み合わせの配備先を決定する。以下、モジュールと集約属性値との組み合わせを、「インスタンス」という。
最初に分散配備処理が実行される前は、全てのインスタンスの配備先は、ルートノード10である。すなわち、全ての1次的なイベントデータがルートノード10に収集される状態で、センサネットワークシステム1の運用が開始される。センサネットワークシステム1の運用の開始に応じて、各ノードにおけるイベントデータの発生状況が明らかになる。すなわち、イベント発生情報記憶部114に、イベント発生情報が記憶される。そこで、配備先決定部15は、例えば、イベント発生情報記憶部114が記憶するイベント発生情報等に基づいて、インスタンスを配備することによりイベントデータの流通量の削減効果が高いと予測されるノードを、当該インスタンスの配備先として決定する。但し、本実施の形態において、インスタンスの配備先の決定方法は、所定のものに限定されない。例えば、特開2013−47922号公報に記載された方法で、配備先が決定されてもよいし、他の方法で配備先が決定されてもよい。配備先決定部15は、分散配備処理によって得られる情報を、配備先情報記憶部115に記憶する。なお、分散配備処理は、センサネットワークシステム1のトポロジが変化するたびに行われてもよい。
図8は、配備先情報記憶部の構成例を示す図である。図8において、配備先情報記憶部115は、配備先が決定されたインスタンスごとに、モジュール識別子、入力イベント型名、集約属性名、集約属性値、及び配備先ノードID等を記憶する。
モジュール識別子は、当該インスタンスに用いられるモジュールのモジュール識別子である。入力イベント型名は、当該モジュールの入力イベント型名である。集約属性名は、当該モジュールの集約属性名である。集約属性値は、当該インスタンスの集約属性値である。配備先ノードIDは、当該インスタンスの配備先のノードのノードIDである。なお、或るモジュール識別子に対する入力イベント型及び集約属性名は、当該モジュール識別子に対してモジュール定義記憶部112に記憶されている情報に基づいて特定可能である。
例えば、図8の最初のレコードには、ノードIDが「GW−2F」であるGWノード20に対して、集約属性値が「デスクトップPC」である電力集計処理のインスタンスが配備されることが示されている。すなわち、当該GWノード20は、機器種別IDの値が「デスクトップPC」である電力イベントデータに関して、電力集計処理を実行することが示されている。
モジュール送信部16は、配備先情報記憶部115に記憶された配備先情報に基づいて、各イベントに係るモジュールのバイナリコードを、当該イベントの配備先のノード宛に送信する。なお、モジュールのバイナリコードと共に、当該モジュールを用いるインスタンスの集約属性名及び集約属性値も、各ノードに送信される。
転送先情報生成部17は、イベント発生情報記憶部114に記憶されたイベント発生情報と、配備先情報記憶部115に記憶された配備先情報とに基づいて、各ノードの転送先情報を生成する。転送先情報とは、イベント型名及び集約属性ごとに、当該イベント型名及び当該集約属性に係るイベントデータの転送先の判定に利用される情報である。すなわち、或る下位ノードが、イベントデータを受信すると、当該下位ノードは、転送先情報に基づいて、当該イベントデータを次に転送すべきノードを判定する。したがって、本実施の形態では、イベント型名及び集約属性ごとに、イベントデータの転送経路が異なる。転送先情報生成部17による処理は、例えば、配備先情報記憶部115に配備先情報が記憶された後の任意のタイミングで行われる。
転送先情報記憶部116は、転送先情報生成部17によって生成される転送先情報をノードごとに記憶する。転送先情報送信部18は、転送先情報記憶部116に転送先情報が記憶されたノードに対して、当該転送先情報を送信する。
図9は、第一の実施の形態におけるセンサノードの機能構成例を示す図である。図9において、センサノード30は、モジュール受信部31、転送先情報受信部32、センサ情報受信部33、モジュール実行部34、イベント送信部35、及びイベント発生情報送信部36等を有する。これら各部は、センサノード30にインストールされたプログラムが、センサノード30のCPUに実行させる処理により実現される。センサノード30は、また、モジュール情報記憶部311及び転送先情報記憶部312等を有する。これら各記憶部は、例えば、センサノード30が有する補助記憶装置又はメモリ装置等を用いて実現可能である。
モジュール受信部31は、当該センサノード30がインスタンスの配備先として決定された場合にルートノード10から当該センサノード30宛に送信される、当該インスタンスのモジュール、集約属性名、及び集約属性値等を受信する。モジュール受信部31は、受信されたモジュール、集約属性名、及び集約属性値等を相互に対応付けて、モジュール情報記憶部311に記憶する。
転送先情報受信部32は、ルートノード10から当該センサノード30宛に送信される転送先情報を受信する。転送先情報受信部32は、受信された転送先情報を、転送先情報記憶部312に記憶する。なお、初期状態において、転送先情報記憶部312には、全てのイベントについて、ルートノード10を転送先とすることを示す転送先情報が記憶されていてもよい。
センサ情報受信部33は、センサによって検知又は計測されるイベントデータを受信する。本実施の形態では、電力センサによって計測される電力が、センサ情報受信部33によって受信される。
モジュール実行部34は、受信されたイベントデータに適用されるべきモジュール等(インスタンス)がモジュール情報記憶部311に記憶されている場合に、当該イベントデータに対して、当該モジュールを実行する。
イベント送信部35は、センサ情報受信部33によって受信された1次的なイベントデータ、又はモジュール実行部34によって生成される2次的なイベントデータを、転送先情報記憶部312に記憶されている転送先情報に基づいて特定されるノードへ転送する。
イベント発生情報送信部は、当該センサノード30において発生するイベントデータの発生回数を、集約属性値ごとに集計し、所定のタイミングで、集計結果を含むイベント発生情報を、ルートノード10宛に送信する。
図10は、第一の実施の形態におけるGWノードの機能構成例を示す図である。図10において、GWノード20は、モジュール受信部21、転送先情報受信部22、イベント受信部23、モジュール実行部24、イベント送信部25、及びイベント発生情報送信部26等を有する。これら各部は、GWノード20にインストールされたプログラムが、GWノード20のCPUに実行させる処理により実現される。GWノード20は、また、モジュール情報記憶部211及び転送先情報記憶部212等を有する。これら各記憶部は、例えば、GWノード20が有する補助記憶装置又はメモリ装置等を用いて実現可能である。
イベント受信部23は、他ノードから転送されるイベントデータを受信する。その他の各部については、センサノード30が有する同名の各部と同様である。
以下、センサネットワークシステム1における各ノードが実行する処理手順について説明する。
図11は、第一の実施の形態のルートノードが実行する転送先情報の生成処理の処理手順の一例を説明するためのフローチャートである。図11の処理は、例えば、分散配備処理の過程において、配備先情報記憶部115に配備先情報が記憶された後に行われる。また、分散配備処理が完了した後に、定期的に実行されてもよい。
ステップS101において、転送先情報生成部17は、イベント発生情報記憶部114の更新を待機する。イベント発生情報記憶部114の更新は、イベント発生情報受信部14が、いずれかの下位ノードからイベント発生情報を受信し、当該イベント発生情報をイベント発生情報記憶部114に記憶することによって発生する。
イベント発生情報記憶部114が更新されると(S101でYes)、転送先情報生成部17は、ステップS102以降の処理を開始する。但し、更新が発生するたびにステップS102以降が実行されなくてもよい。例えば、一定期間ごとに、当該一定期間においてイベント発生情報記憶部114に対する更新の有無が確認され、更新が有った場合に、ステップS102以降が実行されてもよい。又は、更新量が所定量に達したタイミングでステップS102以降が実行されてもよい。
ステップS102において、転送先情報生成部17は、未処理のノードの有無を判定する。未処理のノードとは、イベント発生情報記憶部114に、当該ノードのノードIDを含むイベント発生情報が記憶されているノードのうち、今回の図11の処理において未処理のノードをいう。したがって、今回の処理において最初にステップS102が実行される場合、イベント発生情報記憶部114にイベント発生情報が記憶されているノードの全てが未処理のノードとなる。
未処理のノードが有る場合(S102でYes)、転送先情報生成部17は、未処理のノードのうちの一つのノードを処理対象とする(S103)。以下、処理対象とされたノードを「対象ノード」という。例えば、図7に示されるイベント発生情報記憶部114には、センサノード30a、センサノード30b、センサノード30c、又はセンサノード30dのノードIDをノードIDに含むイベント発生情報が記憶されている。例えば、これら4つのセンサノード30のうち、ノードIDが、「電力センサA」であるセンサノード30aが対象ノードとされる。
続いて、転送先情報生成部17は、対象ノードのノードIDを含むイベント発生情報を、イベント発生情報記憶部114から抽出する(S104)。続いて、転送先情報生成部17は、抽出されたイベント発生情報を、イベント発生回数の降順にソートする(S105)。
図12は、第一のセンサノードに関するイベント発生情報のソート結果の一例を示す図である。図12では、図7に示されているイベント発生情報のうち、センサノード30aのイベント発生情報が、イベント発生回数の降順にソートされた例が示されている。
続いて、転送先情報生成部17は、変数iに1を代入する(S106)。変数iは、ソートされたイベント発生情報のうち、処理対象とされるイベント発生情報の順番を示す変数である。ソート結果においてi番目のイベント発生情報を、以下、「イベント発生情報(i)」という。
続いて、転送先情報生成部17は、イベント発生情報(i)のイベント型名及び集約属性に対応する配備先ノードIDを、配備先情報記憶部115から取得する(S107)。具体的には、配備先情報記憶部115において、イベント発生情報(i)のイベント型名に一致する入力イベント型名を含み、かつ、イベント発生情報(i)の集約属性に一致する集約属性名及び集約属性値を含むレコードに記憶されている配備先ノードIDが取得される。
例えば、図12において1番目のイベント発生情報のイベント型名及び集約属性は、それぞれ、「電力」、「機器種別ID="ノートPC"」である。図8において、入力イベント型名が「電力」であり、集約属性名が「機器種別ID」であり、集約属性値が「ノートPC」であるレコードは、3番目のレコードである。したがって、この場合、「GW−3F」が取得される。
続いて、転送先情報生成部17は、変数iの値が閾値α以下であるか否かを判定する(S108)。閾値αは、固定的に定められていてもよいし、ステップS104において抽出されたイベント発生情報の数に応じて算出されてもよい。例えば、ステップS104において抽出されたイベント発生情報の数を2で除した結果が、閾値αとされてもよい。ここでは、閾値αの値は、「2」であるとする。
変数iの値が閾値α以下である場合(S108でYes)、転送先情報生成部17は、イベント発生情報(i)のイベント型名及び集約属性のそれぞれの値に、ステップS107で取得された配備先ノードIDを対応付けた転送先情報を生成し、当該転送先情報を対象ノードのノードIDに対応付けて転送先情報記憶部116に記憶する(S109)。
続いて、転送先情報生成部17は、変数iの値が、ステップS104において抽出されたイベント発生情報の個数を示すN以上であるか否かを判定する(S112)。すなわち、対象ノードに関する全てのイベント発生情報に関して、転送先情報の生成が完了したか否かが判定される。変数iの値がN未満である場合(S122でNo)、転送先情報生成部17は、変数iに1を加算して(S113)、ステップS107以降を繰り返す。
すなわち、イベント発生回数が上位α番目までのイベント型名及び集約属性については、イベント型名及び集約属性ごとに、ノードIDが対応付けられたエントリを有する転送先情報が生成される。なお、ステップS109において生成される転送先情報を、以下、「第一転送先情報」という。
図13は、第一のセンサノードに関する第一転送先情報の一例を示す図である。図13に示されるように、第一転送先情報は、イベント型名及び集約属性に対応付けて、転送先ノードIDを含む。なお、ステップS107において取得された配備先ノードIDは、転送先ノードIDとして、第一転送先情報に含まれる。
図13において、1番目のエントリ(又はレコード)は、図12における1番目のイベント発生情報に基づく第一転送先情報である。2番目のエントリは、図12における2番目のエントリに基づく第一転送先情報である。
一方、ステップS108において、変数iの値が閾値αを超える場合(S108でNo)、転送先情報生成部17は、イベント発生情報(i)のイベント型名及び集約属性に関して以下のA〜Cに示されるような3種類のハッシュ値を計算する(S110)。
A)イベント型名及び集約属性の文字列の末尾に "A"を付加した文字列のSHA−256ハッシュ値A
B)イベント型名及び集約属性の文字列の末尾にさらに"B"を付加した文字列のSHA−256ハッシュ値B
C)イベント型名及び集約属性の文字列の末尾にさらに"C"を付加した文字列のSHA−256ハッシュ値C
なお、SHA−256以外のハッシュ関数が用いられてもよい。また、イベント型名及び集約属性の文字列の末尾に付加される文字は、上記と異なっていてもよい。
続いて、転送先情報生成部17は、ハッシュ値A〜Cを、ステップS107において取得された配備先ノードIDに対応するカウンティングフィルタに適用する(S111)。本実施の形態において、カウンティングフィルタの幅(ブルームフィルタで言うところのビット数)は、16桁であるとする。したがって、ハッシュ値A〜Cのそれぞれを16で除した場合の剰余が、配備先ノードIDに対応するカウンティングフィルタに適用される。剰余をカウンティングフィルタに適用するとは、カウンティングフィルタにおいて、当該剰余が示す値の桁に1が加算されることをいう。
続いて、ステップS112以降が実行される。すなわち、イベント発生回数が上位α番目より後のイベント型名及び集約属性については、転送先のノードごとにエントリを含むカウンティングフィルタが、転送先情報として生成される。生成された転送先情報(カウンティングフィルタ)は、対象ノードのノードIDに対応付けられて転送先情報記憶部116に記憶される。以下、ステップS111において生成される転送先情報を、「第二転送先情報」という。
例えば、図12の3番目以降のイベント発生情報に関しては、ステップS111において、次のような値が、カウンティングフィルタに適用される。以下の括弧内の3つの数値は、ハッシュ値Aを16で除した剰余、ハッシュ値Bを16で除した剰余、ハッシュ値Cを16で除した剰余である。
電力:機器種別ID="液晶モニタ": (15,12,7)
電力:機器種別ID="充電器": (9,6,4)
電力:機器種別ID="その他": (13,14,5)
電力:機器種別ID="サーバPC": (6,11,5)
電力:機器種別ID="プリンタ": (13,12,12)
電力:機器種別ID="空調機器": (7,3,7)
電力:機器種別ID="照明器具": (2,8,0)
電力:機器種別ID="ネットワーク機器": (13,10,2)
上記に基づいて、図14に示されるようなカウンティングフィルタが生成される。図14は、第一のセンサノードに関するカウンティングフィルタの一例を示す図である。
図14に示されるように、カウンティングフィルタは、転送先のノードごとにエントリを有する。各エントリは16桁の幅を有する。各エントリには、当該ノードへ転送されるイベントのイベント型名及び集約属性が合成されて含まれる。
対象ノードに関する全てのイベント発生情報について、転送先情報の生成が完了すると(S112でYes)、転送先情報送信部18は、対象ノードの第一転送先情報及び第二転送先情報を、対象ノード宛に送信する(S114)。その結果、対象ノードに対して、第一転送先情報及び第二転送先情報が設定される。例えば、対象ノードがセンサノード30aであれば、図13に示される第一転送先情報と、図14に示される第二転送先情報とが送信される。
転送先情報生成部17は、未処理のノードが無くなるまで、ステップS103以降を繰り返す(S102)。未処理のノードが無くなると(S103でNo)、転送先情報生成部17は、図11の処理を終了させる。
例えば、ノードIDが「電力センサB」であるセンサノード30bに関しては、ステップS105において、図15に示されるようなソート結果が得られる。
図15に示されるイベント発生情報のうち、上位の二つについては、図16に示される第一転送先情報が生成される。一方、3番目以降のイベント発生情報については、図17に示されるカウンティングフィルタが、第二転送先情報として生成される。したがって、センサノード30bには、図16に示される第一転送先情報と、図17に示される第二転送先情報とが送信される。
続いて、各センサノード30が実行する処理について説明する。図18は、センサノードが実行する処理手順の一例を説明するためのフローチャートである。
転送先情報受信部32は、ルートノード10から送信された第一転送先情報及び第二転送先情報を受信すると(S201でYes)、当該転送先情報を、転送先情報記憶部312に記憶する(S202)。
モジュール受信部31は、モジュール、集約属性名、及び集約属性値を受信すると(S203でYes)、当該集約属性名及び当該集約属性値に対応付けて、当該モジュールをモジュール情報記憶部311に記憶する(S204)。
センサ情報受信部33が、センサからセンサ情報に係るイベントデータを受信すると(S205でYes)、モジュール実行部34は、当該イベントデータの属性項目の属性名及び属性値が、モジュール情報記憶部311に記憶されているいずれかのモジュールに対応付けられているか否かを判定する(S206)。当該属性名及び当該属性値が、いずれかのモジュールに対応付けられている場合(S206でYes)、モジュール実行部34は、受信されたイベントデータに対して、当該モジュールに係る処理を実行する(S207)。
ステップS206でNoの場合又はステップS207に続いて、イベント送信部35は、センサ情報受信部33によって受信されたイベントデータ、又はモジュール実行部13による処理の結果として出力されるイベントデータを、転送先情報に基づいて特定される転送先のノードに転送する(S208)。
転送先情報に基づく転送先のノードの特定は、例えば、次のように行われる。まず、イベント送信部35は、第一転送先情報の中で、送信対象のイベントデータのイベント型名及び集約属性に一致するエントリを検索する。該当するエントリが有れば、当該エントリの転送先ノードIDに係るノードが、転送先のノードとして特定される。
該当するエントリが無い場合、イベント送信部35は、イベントデータに関して、ハッシュ値A、B、及びCを計算し、各ハッシュ値を16で除した剰余を求める。その結果、3つの値が得られる。イベント送信部35は、第二転送先情報であるカウンティングフィルタにおいて、当該3つの値が示す桁に1以上の値が記録されているエントリに対応するノードを、転送先ノードとして特定する。
続いて、イベント発生情報送信部36は、イベント送信部35によって転送されたイベントデータに係るイベント型名及び集約属性に対応するイベント発生回数に1を加算する(S209)。なお、イベント発生回数は、例えば、メモリ装置に記憶される。
イベント発生情報送信部36は、イベント発生情報の送信時期の経過を検知すると(S210)、イベント型名及び集約属性ごとにメモリ装置に記憶されているイベント発生回数を、ルートノード10宛に送信する(S211)。イベント発生情報の送信時期は、例えば、一定期間ごとであってもよい。
続いて、GWノード20が実行する処理について説明する。図19は、GWノードが実行する処理手順の一例を説明するためのフローチャートである。ステップS301〜S304は、図18のステップS201〜S204と同様であるため、その説明は省略する。
イベント受信部23が、他ノードから転送されたイベントデータを受信すると(S305でYes)、ステップS306〜S309において、図18のステップS206〜S209と同様の処理が実行される。また、ステップ310及びS311は、図18のステップS210及びS211と同様である。
なお、上記において、カウンティングフィルタの代わりにブルームフィルタが用いられてもよい。
また、本実施の形態では、センサによって検知されるデータが転送対象である例について説明したが、例えば、各コンピュータによって生成されるログデータやその他のデータの転送に関して、本実施の形態が適用されてもよい。
また、転送先情報は、ルートノード10以外のコンピュータが生成してもよい。
上述したように、第一の実施の形態によれば、センサノード30又はGWノード20がイベントを転送する際、発生回数の多いイベント(つまり、多くの転送処理を行う必要があるイベント)に関しては、第二転送先情報よりも必要とされる計算量が少ない第一転送先情報に基づいて転送先が判定される。すなわち、発生回数の多いイベントに関しては、ハッシュ値の計算が不要となり、ハッシュ値の計算のための処理コストを削減することができる。一方、発生回数の少ないイベント(つまり、転送処理を行う必要があまりないイベント)に関しては、第一転送先情報よりも空間効率の良い第二転送先情報に基づいて転送先が判定される。したがって、このようなイベントに対する転送先情報については、転送先情報記憶部116の消費量を抑制することができる。その結果、各ノードでのイベントの発生状況に応じて、イベントの転送処理に要されるメモリ消費量の削減と、処理コストの削減とを両立させることができる。すなわち、ネットワークを構成する各ノードがデータの転送先の判定に用いる情報に関するメモリ消費量と計算コストとの偏りを平準化させることができる。
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。したがって、特に言及されない点については、第一の実施の形態と同様でもよい。
図20は、第二の実施の形態におけるルートノードの機能構成例を示す図である。図20中、図3と同一部分には同一符号を付し、その説明は省略する。
図20では、変更回数更新部19及び変更回数記憶部117が追加されている。変更回数記憶部117は、各インスタンスについて、配備先の変更回数を、変更回数記憶部117に記憶する。例えば、変更回数更新部19は、配備先情報記憶部115の変更前後の情報に基づいて、配備先のノードが変更されたインスタンスを特定し、当該インスタンスの変更回数を変更回数記憶部117に記憶する。なお、変更回数更新部19は、ルートノード10にインストールされたプログラムが、CPU104に実行させる処理により実現される。また、変更回数記憶部117は、補助記憶装置102、又はルートノード10にネットワークを介して接続される記憶装置等を用いて実現可能である。
また、第二の実施の形態において、転送先情報生成部17は、変更回数記憶部117に記憶されている情報に基づいて、各ノードの転送先情報を生成する。
図21は、第二の実施の形態のルートノードが実行する転送先情報の生成処理の処理手順の一例を説明するためのフローチャートである。図21中、図11と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
ステップS401において、変更回数更新部19は、配備先情報記憶部115の変更を待機する。配備先情報記憶部115のいずれかのレコードが更新されると(S401でYes)、変更回数更新部19は、当該レコードに係るインスタンスに関して変更回数記憶部117に記憶されている変更回数に1を加算する(S402)。
図22は、変更回数記憶部の構成例を示す図である。図22において、変更回数記憶部117は、配備先情報記憶部115に記憶されているレコードごとに、当該レコードに係る配備先IDの変更回数を記憶する。
続いて、転送先情報生成部17は、イベント発生情報記憶部114に記憶されている全てのイベント発生情報を取得する(S403)。なお、取得されたイベント発生情報は、発生イベント型名及び集約属性ごとに、集約又は統合される。すなわち、発生ノードIDの相違は無視される。図21の説明に関して、以下におけるイベント発生情報は、集約又は統合された後のイベント発生情報をいう。
続いて、転送先情報生成部17は、各イベント発生情報の発生イベント型名及び集約属性に対応する変更回数を、変更回数記憶部117から取得する(S404)。イベント発生情報の発生イベント型名及び集約属性に対応する変更回数とは、変更回数記憶部117において、当該発生イベント型名と集約属性とに一致する入力イベント型名、集約属性名、及び集約属性値を含むレコードに記憶されている変更回数をいう。なお、変更回数と共に配備先ノードIDが取得されてもよい。この場合、ステップS107は実行されなくてもよい。
続いて、転送先情報生成部17は、イベント発生情報を、ステップS404において取得された変更回数の降順にソートする(S405)。
図23は、第二の実施の形態におけるイベント発生情報のソート結果の一例を示す図である。図12では、図7に示されているイベント発生情報が、変更回数の降順にソートされた例が示されている。
続いて、図23に示されるソート結果が用いられて、各イベント発生情報に関して、図11において説明したステップS106〜S111が実行される。その結果、図24及び図25に示されるような転送先情報が生成される。なお、第二の実施の形態におけるαの値と、第一の実施の形態におけるαの値とは、異なっていてもよい。
図24は、第二の実施の形態において生成される第一転送先情報の一例を示す図である。図24に示されるように、第二の実施の形態では、変更回数が上位α番目までのイベント型名及び集約属性に関して、第一転送先情報が生成される。
図25は、第二の実施の形態において生成される第二転送先情報の一例を示す図である。図25に示されるように、第二の実施の形態では、変更回数がα番目より下位のイベント型名及び集約属性に関して、カウンティングフィルタが生成される。
全てのイベント情報に関して、S106〜S111が実行されると(S112でYes)、転送先情報送信部18は、生成された第一転送先情報及び第二転送先情報を、各ノード宛に送信する(S414)。その結果、各ノードに対して、第一転送先情報及び第二転送先情報が設定される。すなわち、第二の実施の形態では、各ノードに対して同一の転送先情報が設定される。第二の実施の形態では、イベント型名及び集約属性ごとに転送先情報が生成されるからである。
上述したように、第二の実施の形態によれば、センサノード30又はGWノード20がイベントを転送する際、転送先ノードの変更頻度が高いイベントは、第一転送先情報に基づいて転送先が判定される。したがって、斯かるイベントに関して転送先ノードが変更されるたびに、ハッシュ値を再計算することによる処理コストの発生を抑制することができる。一方、転送先ノードの変更があまり発生しないイベントに関しては、第二転送先情報に基づいて転送先が判定される。したがって、このようなイベントに関して、転送先情報記憶部116の消費量を抑制することができる。その結果、各ネットワークを構成する各ノードがデータの転送先の判定に用いる情報に関するメモリ消費量と計算コストとの偏りを平準化させることができる。
なお、上記各実施の形態において、ルートノード10は、情報生成装置の一例である。イベントデータは、データの一例である。イベントデータのイベント型名及び集約属性は、データ種別の一例である。転送先情報生成部17は、生成部の一例である。イベント発生情報記憶部114は、請求項1における記憶部の一例である。変更回数記憶部117は、請求項4における記憶部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置であって、
複数のノードのそれぞれについて、データ種別ごとに当該ノードによる転送回数を記憶した記憶部と、
前記ノードごとに、当該ノードに関して前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、転送先の判定のための計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する、
ことを特徴とする情報生成装置。
(付記2)
前記第一の転送先情報は、データ種別ごとに、転送先のノードを示す値を含むエントリを有し、
前記第二の転送先情報は、転送先のノードごとに、当該ノードを転送先とする1以上の種別のそれぞれのハッシュ値に基づく値が合成されたエントリを含む、
ことを特徴とする付記1記載の情報生成装置。
(付記3)
前記複数のノードのそれぞれから、データ種別ごとの当該ノードによる転送回数を受信する受信部を有し、
前記記憶部は、前記受信部によって受信される転送回数を記憶する、
ことを特徴とする付記1又は2記載の情報生成装置。
(付記4)
データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置であって、
データ種別ごとに、転送先の変更回数を記憶する記憶部と、
前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、生成に要される計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する、
ことを特徴とする情報生成装置。
(付記5)
データ種別に応じてデータの転送経路が異なるネットワークシステムであって、
当該ネットワークシステムを構成する複数のノードのそれぞれについて、データ種別ごとに当該ノードによる転送回数を記憶した記憶部と、
前記ノードごとに、当該ノードに関して前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、各ノードがデータの転送先のノードの判定に利用する転送先情報について、転送先の判定のための計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する、
ことを特徴とするネットワークシステム。
(付記6)
前記第一の転送先情報は、データ種別ごとに、転送先のノードを示す値を含むエントリを有し、
前記第二の転送先情報は、転送先のノードごとに、当該ノードを転送先とする1以上の種別のそれぞれのハッシュ値に基づく値が合成されたエントリを含む、
ことを特徴とする付記5記載の情報生成装置。
(付記7)
前記複数のノードのそれぞれから、データ種別ごとの当該ノードによる転送回数を受信する受信部を有し、
前記記憶部は、前記受信部によって受信される転送回数を記憶する、
ことを特徴とする付記5又は6記載のネットワークシステム。
(付記8)
データ種別に応じてデータの転送経路が異なるネットワークシステムであって、
データ種別ごとに、転送先の変更回数を記憶する記憶部と、
前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、当該ネットワークシステムを構成する各ノードがデータの転送先のノードの判定に利用する転送先情報について、生成に要される計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する、
ことを特徴とするネットワークシステム。
(付記9)
データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置が、
複数のノードのそれぞれについて、データ種別ごとに当該ノードによる転送回数を記憶部に記憶し、
前記ノードごとに、当該ノードに関して前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、転送先の判定のための計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する、
処理を実行する情報生成方法。
(付記10)
前記第一の転送先情報は、データ種別ごとに、転送先のノードを示す値を含むエントリを有し、
前記第二の転送先情報は、転送先のノードごとに、当該ノードを転送先とする1以上の種別のそれぞれのハッシュ値に基づく値が合成されたエントリを含む、
ことを特徴とする付記9記載の情報生成方法。
(付記11)
前記記憶する処理は、複数のノードのそれぞれから、データ種別ごとの当該ノードによる転送回数を受信して、当該転送回数を前記記憶部に記憶する、
ことを特徴とする付記9又は10記載の情報生成方法。
(付記12)
データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置が、
データ種別ごとに、転送先の変更回数を記憶部に記憶し、
前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、生成に要される計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する、
処理を実行する情報生成方法。
10 ルートノード
11 モジュール登録部
12 イベント受信部
13 モジュール実行部
14 イベント発生情報受信部
15 配備先決定部
16 モジュール送信部
17 転送先情報生成部
18 転送先情報送信部
19 変更回数更新部
20 GWノード
21 モジュール受信部
22 転送先情報受信部
23 イベント受信部
24 モジュール実行部
25 イベント送信部
26 イベント発生情報送信部
30 センサノード
31 モジュール受信部
32 転送先情報受信部
33 センサ情報受信部
34 モジュール実行部
35 イベント送信部
36 イベント発生情報送信部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
111 モジュール記憶部
112 モジュール定義記憶部
113 イベント記憶部
114 イベント発生情報記憶部
115 配備先情報記憶部
116 転送先情報記憶部
117 変更回数記憶部
211 モジュール情報記憶部
212 転送先情報記憶部
311 モジュール情報記憶部
312 転送先情報記憶部
B バス

Claims (8)

  1. データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置であって、
    複数のノードのそれぞれについて、データ種別ごとに当該ノードによる転送回数を記憶した記憶部と、
    前記ノードごとに、当該ノードに関して前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、転送先の判定のための計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する、
    ことを特徴とする情報生成装置。
  2. 前記第一の転送先情報は、データ種別ごとに、転送先のノードを示す値を含むエントリを有し、
    前記第二の転送先情報は、転送先のノードごとに、当該ノードを転送先とする1以上の種別のそれぞれのハッシュ値に基づく値が合成されたエントリを含む、
    ことを特徴とする請求項1記載の情報生成装置。
  3. 前記複数のノードのそれぞれから、データ種別ごとの当該ノードによる転送回数を受信する受信部を有し、
    前記記憶部は、前記受信部によって受信される転送回数を記憶する、
    ことを特徴とする請求項1又は2記載の情報生成装置。
  4. データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置であって、
    データ種別ごとに、転送先の変更回数を記憶する記憶部と、
    前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、生成に要される計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する、
    ことを特徴とする情報生成装置。
  5. データ種別に応じてデータの転送経路が異なるネットワークシステムであって、
    当該ネットワークシステムを構成する複数のノードのそれぞれについて、データ種別ごとに当該ノードによる転送回数を記憶した記憶部と、
    前記ノードごとに、当該ノードに関して前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、各ノードがデータの転送先のノードの判定に利用する転送先情報について、転送先の判定のための計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する、
    ことを特徴とするネットワークシステム。
  6. データ種別に応じてデータの転送経路が異なるネットワークシステムであって、
    データ種別ごとに、転送先の変更回数を記憶する記憶部と、
    前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、当該ネットワークシステムを構成する各ノードがデータの転送先のノードの判定に利用する転送先情報について、生成に要される計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する生成部とを有する、
    ことを特徴とするネットワークシステム。
  7. データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置が、
    複数のノードのそれぞれについて、データ種別ごとに当該ノードによる転送回数を記憶部に記憶し、
    前記ノードごとに、当該ノードに関して前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、転送先の判定のための計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する、
    処理を実行する情報生成方法。
  8. データ種別に応じてデータの転送経路が異なるネットワークにおける各ノードがデータの転送先のノードの判定に利用する転送先情報を生成する情報生成装置が、
    データ種別ごとに、転送先の変更回数を記憶部に記憶し、
    前記記憶部に記憶されている転送回数が上位の一部のデータ種別に関しては、生成に要される計算量が第二の転送先情報よりも少ない第一の転送先情報を生成し、前記一部以外のデータ種別に関しては、前記第一の転送先情報よりも空間効率の良い前記第二の転送先情報を生成する、
    処理を実行する情報生成方法。
JP2014113982A 2014-06-02 2014-06-02 情報生成装置、ネットワークシステム、及び情報生成方法 Active JP6331715B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014113982A JP6331715B2 (ja) 2014-06-02 2014-06-02 情報生成装置、ネットワークシステム、及び情報生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014113982A JP6331715B2 (ja) 2014-06-02 2014-06-02 情報生成装置、ネットワークシステム、及び情報生成方法

Publications (2)

Publication Number Publication Date
JP2015228611A true JP2015228611A (ja) 2015-12-17
JP6331715B2 JP6331715B2 (ja) 2018-05-30

Family

ID=54885847

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014113982A Active JP6331715B2 (ja) 2014-06-02 2014-06-02 情報生成装置、ネットワークシステム、及び情報生成方法

Country Status (1)

Country Link
JP (1) JP6331715B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022517299A (ja) * 2020-02-14 2022-03-08 グーグル エルエルシー セキュアマルチパーティリーチおよび頻度推定

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001237881A (ja) * 2000-02-23 2001-08-31 Nec Corp テーブル型データ検索機構及びそれを用いるパケット処理システム並びにそのテーブル型データ検索方法
US20020163917A1 (en) * 2001-05-02 2002-11-07 Acute Communications Corporation Pre-lookup method for internet addressing
US20130031605A1 (en) * 2011-07-28 2013-01-31 Arbor Networks, Inc. Method and Apparatus for Probabilistic Matching to Authenticate Hosts During Distributed Denial of Service Attack
WO2013035286A1 (ja) * 2011-09-09 2013-03-14 日本電気株式会社 グループ毎同報配信経路設定方法および通信装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001237881A (ja) * 2000-02-23 2001-08-31 Nec Corp テーブル型データ検索機構及びそれを用いるパケット処理システム並びにそのテーブル型データ検索方法
US20020163917A1 (en) * 2001-05-02 2002-11-07 Acute Communications Corporation Pre-lookup method for internet addressing
US20130031605A1 (en) * 2011-07-28 2013-01-31 Arbor Networks, Inc. Method and Apparatus for Probabilistic Matching to Authenticate Hosts During Distributed Denial of Service Attack
WO2013035286A1 (ja) * 2011-09-09 2013-03-14 日本電気株式会社 グループ毎同報配信経路設定方法および通信装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022517299A (ja) * 2020-02-14 2022-03-08 グーグル エルエルシー セキュアマルチパーティリーチおよび頻度推定
JP7144607B2 (ja) 2020-02-14 2022-09-29 グーグル エルエルシー セキュアマルチパーティリーチおよび頻度推定
US11909864B2 (en) 2020-02-14 2024-02-20 Google Llc Secure multi-party reach and frequency estimation
US12069161B2 (en) 2020-02-14 2024-08-20 Google Llc Secure multi-party reach and frequency estimation

Also Published As

Publication number Publication date
JP6331715B2 (ja) 2018-05-30

Similar Documents

Publication Publication Date Title
US20240259327A1 (en) Software load balancer to maximize utilization
JP6224244B2 (ja) 作業密度を増加させ、エネルギー効率を向上させるための電力バランシング
JP6183168B2 (ja) イベント収集方法、情報処理装置、情報処理システム、及び情報処理プログラム
CN105897584B (zh) 路径规划方法和控制器
CN104012063A (zh) 用于软件定义网络中的灵活和可扩展流处理的控制器
CN110798517B (zh) 去中心化集群负载均衡方法、系统、移动终端及存储介质
KR101724552B1 (ko) 네트워크 흐름을 처리 리소스로 정렬하는 기술
CN102904794A (zh) 一种虚拟网络映射方法和装置
CN104298541A (zh) 云存储系统的数据分布算法及其装置
EP3468095A1 (en) Transaction selection device for selecting blockchain transactions
JP6302096B2 (ja) M2mにおける情報処理方法および装置
WO2022267175A1 (zh) 信息处理方法、装置、计算机设备及存储介质
US20160112256A1 (en) Method for configuring an m2m system
WO2019239802A1 (ja) 分散処理システムおよび分散処理方法
WO2017169471A1 (ja) 処理システムおよび処理方法
CN103188171A (zh) 一种报文调度方法和设备
JP6331715B2 (ja) 情報生成装置、ネットワークシステム、及び情報生成方法
CN117081983B (zh) 数据传输方法及装置
US20120254895A1 (en) Information processing system, control method, and non-transitory computer readable medium storing program
Zhou et al. Approach for minimising network effect of VNF migration
US9385940B2 (en) Distributed processing system, distributed processing device, routing table creation method and program recording medium
JPWO2015075862A1 (ja) ネットワーク制御装置、ネットワーク制御方法およびプログラム
JP2015099981A (ja) 分散配備装置、システム、プログラム、および方法
JP6155861B2 (ja) データ管理方法、データ管理プログラム、データ管理システム及びデータ管理装置
JP2018182639A (ja) 送信プログラム、送信方法および情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R150 Certificate of patent or registration of utility model

Ref document number: 6331715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150