JP5927983B2 - Event collection method, event collection program, and information processing apparatus - Google Patents

Event collection method, event collection program, and information processing apparatus Download PDF

Info

Publication number
JP5927983B2
JP5927983B2 JP2012040620A JP2012040620A JP5927983B2 JP 5927983 B2 JP5927983 B2 JP 5927983B2 JP 2012040620 A JP2012040620 A JP 2012040620A JP 2012040620 A JP2012040620 A JP 2012040620A JP 5927983 B2 JP5927983 B2 JP 5927983B2
Authority
JP
Japan
Prior art keywords
node
module
event
nodes
sensor
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.)
Active
Application number
JP2012040620A
Other languages
Japanese (ja)
Other versions
JP2013175133A (en
Inventor
福井 誠之
誠之 福井
佐々木 和雄
和雄 佐々木
茂紀 福田
茂紀 福田
中川 格
格 中川
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 JP2012040620A priority Critical patent/JP5927983B2/en
Publication of JP2013175133A publication Critical patent/JP2013175133A/en
Application granted granted Critical
Publication of JP5927983B2 publication Critical patent/JP5927983B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、イベント収集方法、イベント収集プログラム及び情報処理装置に関する。   The present invention relates to an event collection method, an event collection program, and an information processing apparatus.

センサノードによってセンシングされたセンシングデータをイベントとして採取するセンサネットワークが知られている。かかるセンサネットワークを介してサーバノードに採取されたイベントに応じて各種のサービス、例えばアラートの発信や機器の制御などが提供される。   A sensor network that collects sensing data sensed by a sensor node as an event is known. Various services such as alert transmission and device control are provided according to events collected by the server node via the sensor network.

このように、センサノードからのイベントをサーバノードに収集させる場合には、全てのイベントがサーバノードに集中して通知されることになる。このため、サーバノードの負荷が増大するとともに、ネットワークのトラフィックの増加に伴ってネットワーク帯域も逼迫する。   As described above, when the event from the sensor node is collected by the server node, all the events are concentrated and notified to the server node. For this reason, the load on the server node increases, and the network bandwidth becomes tight as the network traffic increases.

かかるサーバノードの負荷とネットワークトラフィックとを抑制する技術の一例として、次のような技術が提案されている。一例としては、データをフィルタリングするフィルタエージェントを消費ノードからデータ生産ノードへ転送することによってシステムパフォーマンスおよび/またはリソース消費を改善するシステムが挙げられる。他の一例としては、スクリプトを入れ子構造とし、スクリプトの一部を下位ノードである中間ノードやセンサノードに実行させるセンサネットワークシステムが挙げられる。   As an example of a technique for suppressing the load on the server node and the network traffic, the following technique has been proposed. An example is a system that improves system performance and / or resource consumption by transferring a filter agent that filters data from a consuming node to a data producing node. As another example, there is a sensor network system in which a script is nested and a part of the script is executed by an intermediate node or a sensor node which is a lower node.

特開2008−97603号公報JP 2008-97603 A 特開2006−344017号公報JP 2006-344017 A

ところで、サーバノードの負荷とネットワークトラフィックとを抑制する技術の一例として、次のような技術が考えられる。すなわち、イベントの発生状況やセンサネットワークのトポロジに応じてイベントの収集経路を決定しておき、その収集経路に基づいて、中間ノードやセンサノードなどの下位ノードにイベントを処理するモジュールを分散配備する技術が一例として考えられる。   By the way, as an example of a technique for suppressing the load on the server node and the network traffic, the following technique can be considered. In other words, event collection paths are determined according to the event occurrence status and sensor network topology, and modules for processing events are distributed to lower nodes such as intermediate nodes and sensor nodes based on the collection paths. Technology can be considered as an example.

しかしながら、上記の考案技術を実現するためには、ネットワークのトポロジが構築されていることを要するが、ノードの追加や削除など、ネットワーク経路が変更されるごとにトポロジが構築されるとは限らない。このため、上記の考案技術では、ネットワーク経路の変化に応じてモジュールを適切に配備することができない場合があった。   However, in order to realize the above-described devised technique, it is necessary to construct a network topology. However, the topology is not always constructed every time the network path is changed, such as addition or deletion of nodes. . For this reason, in the above devised technology, there is a case where a module cannot be appropriately deployed according to a change in the network path.

開示の技術は、上記に鑑みてなされたものであって、ネットワーク経路の変化に応じてモジュールを適切に配備することができるイベント収集方法、イベント収集プログラム及び情報処理装置を提供することを目的とする。   The disclosed technique has been made in view of the above, and an object thereof is to provide an event collection method, an event collection program, and an information processing apparatus capable of appropriately deploying a module according to a change in a network path. To do.

本願の開示するイベント収集方法は、コンピュータが実行するイベント収集方法であって、一つの態様において、ネットワークに接続された複数のノードから、当該ネットワークの経路に関連する経路情報を受信する。また、イベント収集方法は、受信した経路情報に基づいて、前記複数のノード間の接続情報を生成する。また、イベント収集方法は、生成した接続情報によって示されるノード間でイベントが送信される場合に、前記イベントを処理するモジュールを、前記複数のノードのうち前記モジュールに定義された属性に対応する属性のノードに配備可能か否か判定する。また、イベント収集方法は、前記ノードに前記モジュールを配備可能であれば、前記複数のノードのそれぞれについて設定されたイベントの送信先を、推定した接続情報によって示されるノードに変更するとともに、当該ノードに当該モジュールを配備する。 An event collection method disclosed in the present application is an event collection method executed by a computer, and in one aspect, receives route information related to a route of the network from a plurality of nodes connected to the network. The event collection method generates connection information between the plurality of nodes based on the received route information. In addition, the event collection method may be configured such that when an event is transmitted between nodes indicated by the generated connection information, the module that processes the event is assigned an attribute corresponding to an attribute defined in the module among the plurality of nodes. It is determined whether or not the node can be deployed. Further, in the event collection method, if the module can be deployed in the node, the event transmission destination set for each of the plurality of nodes is changed to a node indicated by the estimated connection information, and the node Deploy the module to

本願の開示する技術の一つの態様によれば、ネットワーク経路の変化に応じてモジュールを適切に配備することができるという効果を奏する。   According to one aspect of the technology disclosed in the present application, there is an effect that modules can be appropriately deployed according to a change in a network path.

図1は、実施例1に係るセンサネットワークシステムのシステム構成を示す図である。FIG. 1 is a diagram illustrating a system configuration of the sensor network system according to the first embodiment. 図2は、実施例1に係るサーバノードの機能的構成を示すブロック図である。FIG. 2 is a block diagram illustrating a functional configuration of the server node according to the first embodiment. 図3は、モジュール記憶部に記憶される情報の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of information stored in the module storage unit. 図4は、モジュール定義記憶部に記憶される情報の構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of information stored in the module definition storage unit. 図5は、経路情報記憶部に記憶される情報の構成例を示す図である。FIG. 5 is a diagram illustrating a configuration example of information stored in the route information storage unit. 図6は、トポロジ記憶部に記憶される情報の構成例を示す図である。FIG. 6 is a diagram illustrating a configuration example of information stored in the topology storage unit. 図7は、イベント記憶部に記憶される情報の構成例を示す図である。FIG. 7 is a diagram illustrating a configuration example of information stored in the event storage unit. 図8は、発生イベント情報記憶部に記憶される情報の構成例を示す図である。FIG. 8 is a diagram illustrating a configuration example of information stored in the generated event information storage unit. 図9は、配備先情報記憶部に記憶される情報の構成例を示す図である。FIG. 9 is a diagram illustrating a configuration example of information stored in the deployment destination information storage unit. 図10は、図9に示した配備先情報記憶部からの配備状況の遷移を示す図である。FIG. 10 is a diagram illustrating a transition of the deployment status from the deployment destination information storage unit illustrated in FIG. 9. 図11は、図10に示した配備先情報記憶部からの配備状況の遷移を示す図である。FIG. 11 is a diagram illustrating a transition of the deployment status from the deployment destination information storage unit illustrated in FIG. 図12は、図1に示したセンサネットワークにおける経路変更の一例を示す図である。FIG. 12 is a diagram illustrating an example of a route change in the sensor network illustrated in FIG. 図13は、図5に示した経路情報記憶部からの経路情報の遷移を示す図である。FIG. 13 is a diagram illustrating a transition of route information from the route information storage unit illustrated in FIG. 5. 図14は、図9に示したトポロジ記憶部からのトポロジの遷移を示す図である。FIG. 14 is a diagram showing the transition of the topology from the topology storage unit shown in FIG. 図15は、図11に示した配備先情報記憶部からの配備状況の遷移を示す図である。FIG. 15 is a diagram illustrating a transition of the deployment status from the deployment destination information storage unit illustrated in FIG. 11. 図16は、実施例1に係るセンサノードの機能的構成を示すブロック図である。FIG. 16 is a block diagram illustrating a functional configuration of the sensor node according to the first embodiment. 図17は、実施例1に係るGWノードの機能的構成を示すブロック図である。FIG. 17 is a block diagram illustrating a functional configuration of the GW node according to the first embodiment. 図18は、実施例1に係るセンサノードにおける全体処理の手順を示すフローチャートである。FIG. 18 is a flowchart of an overall process procedure in the sensor node according to the first embodiment. 図19は、実施例1に係るモジュール配備処理の手順を示すフローチャートである。FIG. 19 is a flowchart illustrating the procedure of module deployment processing according to the first embodiment. 図20は、実施例1に係るモジュール配備処理の手順を示すフローチャートである。FIG. 20 is a flowchart illustrating the procedure of module deployment processing according to the first embodiment. 図21は、実施例2に係るサーバノードの機能的構成を示すブロック図である。FIG. 21 is a block diagram illustrating a functional configuration of a server node according to the second embodiment. 図22は、実施例2に係るセンサノードの機能的構成を示すブロック図である。FIG. 22 is a block diagram illustrating a functional configuration of the sensor node according to the second embodiment. 図23は、実施例2に係るGWノードの機能的構成を示すブロック図である。FIG. 23 is a block diagram illustrating a functional configuration of a GW node according to the second embodiment. 図24は、実施例2に係るセンサノードにおける全体処理の手順を示すフローチャートである。FIG. 24 is a flowchart illustrating an overall process procedure in the sensor node according to the second embodiment. 図25は、実施例2に係るモジュール配備処理の手順を示すフローチャートである。FIG. 25 is a flowchart illustrating a procedure of module deployment processing according to the second embodiment. 図26は、実施例2に係るモジュール配備処理の手順を示すフローチャートである。FIG. 26 is a flowchart illustrating a procedure of module deployment processing according to the second embodiment. 図27は、経路情報記憶部に記憶される情報の構成例を示す図である。FIG. 27 is a diagram illustrating a configuration example of information stored in the route information storage unit. 図28は、イベント収集プログラムを実行するコンピュータの一例を示す図である。FIG. 28 is a diagram illustrating an example of a computer that executes an event collection program.

以下に、本願の開示するイベント収集方法、イベント収集プログラム及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   Hereinafter, embodiments of an event collection method, an event collection program, and an information processing apparatus disclosed in the present application will be described in detail based on the drawings. Note that this embodiment does not limit the disclosed technology. Each embodiment can be appropriately combined within a range in which processing contents are not contradictory.

[システム構成]
まず、本実施例に係るセンサネットワークシステムのシステム構成について説明する。図1は、実施例1に係るセンサネットワークシステムのシステム構成を示す図である。図1に示すセンサネットワークシステム1は、センサノード210によってセンシングされたセンシングデータをイベントとして収集し、収集したイベントに応じて各種のサービスを提供するものである。
[System configuration]
First, the system configuration of the sensor network system according to the present embodiment will be described. FIG. 1 is a diagram illustrating a system configuration of the sensor network system according to the first embodiment. The sensor network system 1 shown in FIG. 1 collects sensing data sensed by the sensor node 210 as an event, and provides various services according to the collected event.

図1に示すように、センサネットワークシステム1には、サーバノード110と、センサノード210X−1、210X−2、210Y−1及び210Y−2と、ルータ10X、10Y及び10Zとが収容される。この図1の例では、ルータ10X配下のX家のネットワークに収容されたセンサノード210X−1及び210X−2からサーバノード110へ、ルータ10X及び10Zを経由してイベントデータが収集される。また、図1の例では、ルータ10Y配下のY家のネットワークに収容されたセンサノード210Y−1及び210Y−2からサーバノード110へ、ルータ10Y及び10Zを経由してイベントデータが収集される。なお、以下では、センサノード210X−1、210X−2、210Y−1及び210Y−2を区別なく総称する場合に「センサノード210」と記載する。また、ルータ10X、10Y及び10Zを区別なく総称する場合に「ルータ10」と記載する。   As shown in FIG. 1, the sensor network system 1 accommodates a server node 110, sensor nodes 210X-1, 210X-2, 210Y-1 and 210Y-2, and routers 10X, 10Y and 10Z. In the example of FIG. 1, event data is collected from the sensor nodes 210X-1 and 210X-2 accommodated in the X family network under the router 10X to the server node 110 via the routers 10X and 10Z. In the example of FIG. 1, event data is collected from the sensor nodes 210Y-1 and 210Y-2 accommodated in the network of the Y family under the router 10Y to the server node 110 via the routers 10Y and 10Z. Hereinafter, the sensor nodes 210X-1, 210X-2, 210Y-1, and 210Y-2 are collectively referred to as “sensor node 210” when they are collectively referred to. In addition, the routers 10X, 10Y, and 10Z are collectively referred to as “router 10” without distinction.

これらサーバノード110、センサノード210及びルータ10の間は、ネットワーク5を介して通信可能に接続される。かかるネットワーク5の一例としては、有線または無線を問わず、インターネット、LAN(Local Area Network)やVPN(Virtual Private Network)などの通信網が挙げられる。なお、センサノード210及びルータ10の数は図1の例に限定されるものではなく、それぞれ任意の数のセンサノード210及びルータ10が収容される場合にも適用可能である。   The server node 110, the sensor node 210, and the router 10 are connected via the network 5 so that they can communicate with each other. As an example of the network 5, there is a communication network such as the Internet, a LAN (Local Area Network), and a VPN (Virtual Private Network) regardless of wired or wireless. Note that the numbers of sensor nodes 210 and routers 10 are not limited to the example of FIG. 1, and can be applied to cases where an arbitrary number of sensor nodes 210 and routers 10 are accommodated.

このうち、ルータ10は、異なるネットワーク同士を接続し、通信を中継する装置である。一例としては、ルータ10は、LANとLAN、LANとVPNなど、ネットワーク同士を接続し、通信を中継する。図1の例では、センサネットワークは、ルータ10によって区切られた複数のサブネットを含む。すなわち、センサネットワークには、ルータ10Xによって区切られたサブネットである「X家ネットワーク」と、ルータYによって区切られたサブネットである「Y家ネットワーク」とが存在する。また、センサネットワークには、X家ネットワーク及びY家ネットワークより上位にルータ10Zによって区切られたサブネットである「Zエリアネットワーク」が存在し、ルータ10Zより上位にはサブネットである「クラウドネットワーク」が存在する。   Among these, the router 10 is a device that connects different networks and relays communication. As an example, the router 10 connects networks such as LAN and LAN, LAN and VPN, and relays communication. In the example of FIG. 1, the sensor network includes a plurality of subnets separated by the router 10. That is, the sensor network includes an “X house network” that is a subnet delimited by the router 10X and a “Y house network” that is a subnet delimited by the router Y. In the sensor network, there is a “Z area network” that is a subnet separated by the router 10Z above the X house network and the Y house network, and a “cloud network” that is a subnet above the router 10Z. To do.

センサノード210は、センサ付きの通信端末である。かかるセンサノード210の一態様としては、パーソナルコンピュータや周辺機器、音響機器、携帯電話機やPHS(Personal Handyphone System)の携帯端末、家電製品などの各種の機器が挙げられる。また、センサノード210に搭載されるセンサの一態様としては、温度を計測する温度センサ、湿度を計測する湿度センサ、温度および湿度を計測する温湿度センサなどの環境センサが挙げられる。なお、ここでは、センサノード210に搭載されるセンサの例として環境センサを例示したが、センサノード210にはGPS(Global Positioning System)センサ、加速度センサやジャイロセンサなどの任意のセンサを搭載できる。   The sensor node 210 is a communication terminal with a sensor. Examples of the sensor node 210 include various devices such as personal computers, peripheral devices, audio devices, mobile phones, PHS (Personal Handyphone System) mobile terminals, and home appliances. Moreover, as one aspect | mode of the sensor mounted in the sensor node 210, environmental sensors, such as a temperature sensor which measures temperature, a humidity sensor which measures humidity, and a temperature / humidity sensor which measures temperature and humidity, are mentioned. Although an environmental sensor is illustrated here as an example of a sensor mounted on the sensor node 210, an arbitrary sensor such as a GPS (Global Positioning System) sensor, an acceleration sensor, or a gyro sensor can be mounted on the sensor node 210.

サーバノード110は、センサネットワークのルートノードとして機能し、イベントに応じて各種のサービスを提供するサーバ装置である。一態様としては、サーバノード110は、センサノード210から受信したイベントの処理を実行するモジュールを自装置よりも下位に位置するノードに配備することによってイベントを分散処理させる。かかるモジュールには、サービス提供用のアプリケーションによって実行されるサービス提供処理のトリガーとなるイベントのフィルタリング処理や集約処理が組み込まれる。   The server node 110 is a server device that functions as a root node of the sensor network and provides various services according to events. As an aspect, the server node 110 distributes the event by disposing a module that executes processing of the event received from the sensor node 210 in a node positioned lower than the own device. Such a module incorporates an event filtering process and an aggregation process that trigger a service providing process executed by the service providing application.

ここで、本実施例に係るサーバノード110は、ネットワークに接続された複数のノードから、ネットワークの経路に関連する経路情報を受信する。また、本実施例に係るサーバノード110は、受信した経路情報に基づいて、複数のノード間の接続情報を生成する。また、本実施例に係るサーバノード110は、生成した接続情報によって示されるノード間でイベントが送信される場合に、複数のノードのうち一又は複数のノードに、イベントを処理するモジュールを配備可能か否か判定する。また、本実施例に係るサーバノード110は、ノードにモジュールを配備可能であれば、複数のノードのそれぞれについて設定されたイベントの送信先を、推定した接続情報によって示されるノードに変更するとともに、ノードにモジュールを配備する。   Here, the server node 110 according to the present embodiment receives route information related to the route of the network from a plurality of nodes connected to the network. Further, the server node 110 according to the present embodiment generates connection information between a plurality of nodes based on the received route information. In addition, when an event is transmitted between nodes indicated by the generated connection information, the server node 110 according to the present embodiment can deploy a module for processing an event to one or a plurality of nodes among the plurality of nodes. It is determined whether or not. Further, the server node 110 according to the present embodiment changes the event transmission destination set for each of the plurality of nodes to the node indicated by the estimated connection information if the module can be deployed in the node. Deploy the module to the node.

このため、本実施例に係るサーバノード110は、ノードの追加や削除に応じてモジュールを適切に配備することができる。したがって、本実施例に係るサーバノード110によれば、センサネットワーク上のノードにモジュールを適切に配備できる結果、ネットワークの構成変更に追従してセンサネットワークのトラフィックを抑制できる。さらに、本実施例に係るサーバノード110では、モジュールを分散配備するので、サーバノード110に負荷が集中することも防止できる。   For this reason, the server node 110 according to the present embodiment can appropriately deploy modules according to addition or deletion of nodes. Therefore, according to the server node 110 according to the present embodiment, the module can be appropriately arranged in the node on the sensor network, and as a result, the traffic on the sensor network can be suppressed following the network configuration change. Furthermore, since the modules are distributed in the server node 110 according to this embodiment, it is possible to prevent the load from being concentrated on the server node 110.

なお、図1の例では、サーバノード110の下位ノードとしてセンサノード210を図示しているが、後述するように、センサノード210及びサーバノード110間の通信を中継するGWノードがサーバノード110の下位ノードとして含まれる場合もある。以下では、ルートノードであるサーバノード110以外のセンサノード210や後述のGWノード310を「下位ノード」と総称する。   In the example of FIG. 1, the sensor node 210 is illustrated as a lower node of the server node 110. However, as described later, the GW node that relays communication between the sensor node 210 and the server node 110 is the server node 110. It may be included as a lower node. Hereinafter, the sensor nodes 210 other than the server node 110 that is the root node and the GW node 310 described later are collectively referred to as “lower nodes”.

また、図1の例では、Xエリアネットワークに含まれるルータ10及びホストには、IPアドレス「192.168.100.x」が割り当てられているものとする。一例としては、ルータ10Xには「192.168.100.1」が、センサノード210X−1には「192.168.100.201」が、センサノード210X−2には「192.168.100.202」がそれぞれ割り当てられている。また、Yエリアネットワークに含まれるルータ10及びホストには、IPアドレス「192.168.101.x」が割り当てられているものとする。一例としては、ルータ10Yには「192.168.101.1」が、センサノード210Y−1には「192.168.101.203」が、センサノード210Y−2には「192.168.101.204」がそれぞれ割り当てられている。また、Zエリアネットワークに含まれるルータ10及びホストには、IPアドレス「192.168.10.x」が割り当てられているものとする。一例としては、ルータ10Zには「192.168.10.1」が、ルータ10Xには「192.168.10.2」が、ルータ10Yには「192.168.10.3」がそれぞれ割り当てられている。また、クラウドネットワークに含まれるルータ10及びホストには、IPアドレス「192.168.1.x」が割り当てられているものとする。一例としては、サーバノード110には「192.168.1.10」が、ルータ10Zには「192.168.1.1」がそれぞれ割り当てられている。なお、ここで言う「ホスト」には、IPアドレスが割り当てられたサーバノード110が含まれるものとする。   In the example of FIG. 1, it is assumed that the IP address “192.168.100.x” is assigned to the router 10 and the host included in the X area network. As an example, “192.168.100.1” is assigned to the router 10X, “192.168.100.201” is assigned to the sensor node 210X-1, and “192.168.100.10” is assigned to the sensor node 210X-2. .202 "are assigned. Further, it is assumed that the IP address “192.168.101.x” is assigned to the router 10 and the host included in the Y area network. As an example, “192.168.101.1” is assigned to the router 10Y, “192.168.101.203” is assigned to the sensor node 210Y-1, and “192.168.101” is assigned to the sensor node 210Y-2. .204 "are assigned. Further, it is assumed that the IP address “192.168.10.x” is assigned to the router 10 and the host included in the Z area network. As an example, “192.168.10.1” is assigned to the router 10Z, “192.168.10.2” is assigned to the router 10X, and “192.168.10.3” is assigned to the router 10Y. It has been. In addition, it is assumed that the IP address “192.168.1.x” is assigned to the router 10 and the host included in the cloud network. As an example, “192.168.1.10” is assigned to the server node 110 and “192.168.1.1” is assigned to the router 10Z. It is assumed that the “host” mentioned here includes the server node 110 to which an IP address is assigned.

[サーバノードの構成]
続いて、本実施例に係るサーバノードの機能的構成について説明する。図2は、実施例1に係るサーバノード110の機能的構成を示すブロック図である。なお、サーバノード110は、図2に示す機能部以外にも既知のサーバ装置が有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能を有するものとする。
[Server node configuration]
Subsequently, a functional configuration of the server node according to the present embodiment will be described. FIG. 2 is a block diagram illustrating a functional configuration of the server node 110 according to the first embodiment. The server node 110 has functions of various functional units included in a known server device, for example, various input devices and audio output devices, in addition to the functional units illustrated in FIG.

図2に示すように、サーバノード110は、モジュール登録部111と、モジュール記憶部111Aと、モジュール定義記憶部111Bと、経路情報受信部112と、経路情報記憶部112Aと、トポロジ生成部113と、トポロジ記憶部113Aとを有する。さらに、サーバノード110は、イベント受信部114と、イベント記憶部114Aと、モジュール実行部115と、発生イベント登録部116と、発生イベント情報記憶部116Aとを有する。さらに、サーバノード110は、配備先情報記憶部117Aと、配備先決定部117と、送信先情報送信部118と、モジュール送信部119とを有する。   As shown in FIG. 2, the server node 110 includes a module registration unit 111, a module storage unit 111A, a module definition storage unit 111B, a route information reception unit 112, a route information storage unit 112A, and a topology generation unit 113. And a topology storage unit 113A. Further, the server node 110 includes an event reception unit 114, an event storage unit 114A, a module execution unit 115, an occurrence event registration unit 116, and an occurrence event information storage unit 116A. Further, the server node 110 includes a deployment destination information storage unit 117A, a deployment destination determination unit 117, a transmission destination information transmission unit 118, and a module transmission unit 119.

モジュール登録部111は、モジュールを登録する処理部である。一態様としては、モジュール登録部111は、モジュールの開発者によって各種のサービス提供処理のトリガーとなるイベントをフィルタリングまたは集約するようにプログラミングされたモジュールのアップロードを受け付ける。すると、モジュール登録部111は、サーバノード110にアップロードされたモジュールを後述のモジュール記憶部111Aに登録する。さらに、モジュール登録部111は、アップロードされたモジュールに関する定義を開発者が使用する端末装置を介して受け付け、受け付けたモジュールに関する定義を後述のモジュール定義記憶部111Bに登録する。   The module registration unit 111 is a processing unit that registers a module. As one aspect, the module registration unit 111 accepts an upload of a module programmed by a module developer to filter or aggregate events that trigger various service providing processes. Then, the module registration unit 111 registers the module uploaded to the server node 110 in a module storage unit 111A described later. Further, the module registration unit 111 accepts definitions relating to the uploaded modules via a terminal device used by the developer, and registers the accepted definitions relating to the modules in a module definition storage unit 111B described later.

モジュール記憶部111Aは、モジュールを記憶する記憶部である。一例としては、モジュール記憶部111Aは、モジュールがアップロードされた場合に、モジュール登録部111によってモジュールが登録される。他の一例としては、モジュール記憶部111Aは、センサノード210や後述のGWノード310などの下位ノードにモジュールを配備する場合に、後述のモジュール送信部119によって参照される。   The module storage unit 111A is a storage unit that stores modules. As an example, in the module storage unit 111A, when a module is uploaded, the module registration unit 111 registers the module. As another example, the module storage unit 111A is referred to by a module transmission unit 119 described later when modules are deployed in lower nodes such as the sensor node 210 and a GW node 310 described later.

一態様としては、モジュール記憶部111Aは、モジュール識別子とバイナリコードが対応付けられたデータを記憶する。ここで言う「モジュール識別子」は、モジュールを識別するための識別子を指す。例えば、C言語でプログラミングされたモジュールには関数名を付与したり、Java(登録商標)言語でプログラミングされたモジュールにはクラス名を付与したりするなど、開発に使用されたプログラム言語に応じて識別子を付与することができる。また、「バイナリコード」は、モジュール本体となるコンパイル済みのバイナリデータを指す。   As an aspect, the module storage unit 111A stores data in which a module identifier and a binary code are associated with each other. The “module identifier” here refers to an identifier for identifying a module. For example, a function name is given to a module programmed in C language, or a class name is given to a module programmed in Java (registered trademark) language, depending on the programming language used for development. An identifier can be assigned. The “binary code” refers to compiled binary data that is a module body.

図3は、モジュール記憶部111Aに記憶される情報の構成例を示す図である。図3の例では、モジュール識別子「不快指数計算」とそのバイナリコードとが対応付けられた例を示している。この「不快指数計算」は、温度と湿度から不快指数を計算するモジュールのクラス名を指す。この「不快指数計算」が下位ノードに配備された場合には、下位ノードからサーバノード110に送信されるイベントが集約されることになる。   FIG. 3 is a diagram illustrating a configuration example of information stored in the module storage unit 111A. In the example of FIG. 3, the module identifier “discomfort index calculation” and its binary code are associated with each other. This “discomfort index calculation” refers to the class name of the module that calculates the discomfort index from temperature and humidity. When this “discomfort index calculation” is deployed to a lower node, events transmitted from the lower node to the server node 110 are aggregated.

なお、図3の例では、モジュールのバイナリコードを記憶する場合を例示したが、必ずしもバイナリ形式でモジュールを記憶する必要はなく、バイナリ形式以外のデータを記憶することとしてもかまわない。例えば、モジュールがスクリプト言語である場合には、スクリプトが記述されたテキストデータを記憶することとしてもよい。また、コンパイル前のソースコードを記憶することとしてもかまわない。この場合には、モジュールがセンサノード210等の下位ノードに配備される段階でコンパイルするか、あるいは配備先の下位ノードでコンパイルさせることとすればよい。   In the example of FIG. 3, the case where the binary code of the module is stored is illustrated, but it is not always necessary to store the module in the binary format, and data other than the binary format may be stored. For example, when the module is a script language, text data in which the script is described may be stored. Also, the source code before compilation may be stored. In this case, the module may be compiled at the stage where the module is deployed to a lower node such as the sensor node 210, or may be compiled at the deployment destination lower node.

モジュール定義記憶部111Bは、モジュールに関する定義を記憶する記憶部である。一例としては、モジュール定義記憶部111Bは、モジュールとともにモジュールに関する定義がアップロードされた場合に、モジュール登録部111によってモジュールの定義が登録される。他の一例としては、モジュール定義記憶部111Bは、モジュールの配備先を決定するために、後述の配備先決定部117によって参照される。   The module definition storage unit 111B is a storage unit that stores definitions related to modules. As an example, the module definition storage unit 111B registers the definition of the module by the module registration unit 111 when the definition regarding the module is uploaded together with the module. As another example, the module definition storage unit 111B is referred to by a later-described deployment destination determining unit 117 in order to determine a module deployment destination.

一態様としては、モジュール定義記憶部111Bは、モジュール識別子、入力イベント型、出力イベント型及び集約属性名が対応付けられたデータを記憶する。ここで言う「入力イベント型」とは、モジュールによって実行される処理の入力となるイベントの型を指す。また、「出力イベント型」とは、モジュールによって実行された処理の出力となるイベントの型を指す。また、「集約属性名」とは、複数のノードを集約する枠組みである集約属性の名称を指す。   As an aspect, the module definition storage unit 111B stores data in which a module identifier, an input event type, an output event type, and an aggregate attribute name are associated. Here, the “input event type” refers to an event type that becomes an input of processing executed by the module. The “output event type” refers to an event type that is an output of the process executed by the module. The “aggregated attribute name” refers to the name of an aggregate attribute that is a framework for aggregating a plurality of nodes.

図4は、モジュール定義記憶部111Bに記憶される情報の構成例を示す図である。図4に示すモジュール識別子「不快指数計算」の例では、温度イベント及び湿度イベントが入力されて不快指数イベントが出力されることを示す。この「不快指数計算」の場合には、1度の処理で温度イベント及び湿度イベントが入力され、同一の家に収容されたセンサノード210によってセンシングされた温度が対象となるので、集約属性名として家IDが付与されている。   FIG. 4 is a diagram illustrating a configuration example of information stored in the module definition storage unit 111B. The example of the module identifier “discomfort index calculation” shown in FIG. 4 indicates that a temperature event and a humidity event are input and a discomfort index event is output. In the case of this “discomfort index calculation”, a temperature event and a humidity event are input in one process, and the temperature sensed by the sensor node 210 housed in the same house is targeted. A house ID is given.

経路情報受信部112は、センサノード210や後述のGWノード310を含む下位ノードから、センサネットワークの経路情報を受信する処理部である。一態様としては、経路情報受信部112は、それぞれの下位ノードからサーバノード110までにどのようなルータ10やホストを通過するのかを表す経路情報を受信する。その上で、経路情報受信部112は、下位ノードから受信したセンサネットワークの経路情報を後述の経路情報記憶部112Aに登録する。なお、経路情報受信部112によって受信される経路情報は、一例としては、サーバノード110を宛先として指定した「traceroute」と呼ばれるコマンドが各ノードで実行されることにより取得される。この「traceroute」が実行されることによって、各ノードからサーバノード110までに経由するルータ10やホストのIPアドレス及びhop数が経路情報としてそれぞれ取得される。なお、tracerouteは、例えば、「tracert」とも称される。   The route information receiving unit 112 is a processing unit that receives route information of the sensor network from lower nodes including the sensor node 210 and a GW node 310 described later. As one aspect, the route information receiving unit 112 receives route information indicating what kind of router 10 or host passes from each lower node to the server node 110. Then, the route information receiving unit 112 registers the route information of the sensor network received from the lower node in the route information storage unit 112A described later. Note that the route information received by the route information receiving unit 112 is acquired, for example, by executing a command called “traceroute” that designates the server node 110 as a destination at each node. By executing this “traceroute”, the IP address and the number of hops of the router 10 and the host passing from each node to the server node 110 are acquired as route information. The traceroute is also referred to as “tracert”, for example.

経路情報記憶部112Aは、センサネットワークの経路情報を記憶する記憶部である。一例としては、経路情報記憶部112Aは、下位ノードからセンサネットワークの経路情報が受信された場合に、経路情報受信部112によって経路情報が登録される。他の一例としては、経路情報記憶部112Aは、トポロジを生成するために、後述のトポロジ生成部113によって参照される。   The route information storage unit 112A is a storage unit that stores route information of the sensor network. As an example, the route information storage unit 112A registers the route information by the route information receiving unit 112 when the route information of the sensor network is received from the lower node. As another example, the route information storage unit 112A is referred to by a topology generation unit 113 described later in order to generate a topology.

一態様としては、経路情報記憶部112Aは、送信元ノードID、hop数及びIPアドレスが対応付けられたデータを記憶する。ここで言う「送信元ノードID」は、経路情報の送信元となるノードを識別するための識別子を指す。また、「hop数」は、送信元ノードから、対応するIPアドレスが割り当てられたルータ10及びホストまでに至る経路上に存在するルータの数を指す。また、「IPアドレス」は、送信元ノードからサーバノード110までに経由するルータ10及びホストに割り当てられたIPアドレスを指す。   As an aspect, the route information storage unit 112A stores data in which a transmission source node ID, the number of hops, and an IP address are associated. The “transmission source node ID” here refers to an identifier for identifying a node that is a transmission source of route information. The “hop number” indicates the number of routers existing on the route from the source node to the router 10 and the host to which the corresponding IP address is assigned. The “IP address” indicates an IP address assigned to the router 10 and the host that passes from the transmission source node to the server node 110.

図5は、経路情報記憶部112Aに記憶される情報の構成例を示す図である。図5の例では、図1に示したセンサノード210X−1がX家に収容された温度センサXであり、センサノード210X−2がX家に収容された湿度センサXである。また、センサノード210Y−1がY家に収容された温度センサYであり、センサノード210Y−2がY家に収容された湿度センサYである。図5に示す例では、温度センサXであるセンサノード210X−1からクラウドであるサーバノード110までに経由する1番目のルータ10又はホストに割り当てられたIPアドレスが「192.168.100.1」であることを示す。なお、このIPアドレス「192.168.100.1」は、図1に示す例では、ルータ10Xに割り当てられたIPアドレスである。   FIG. 5 is a diagram illustrating a configuration example of information stored in the route information storage unit 112A. In the example of FIG. 5, the sensor node 210X-1 illustrated in FIG. 1 is the temperature sensor X housed in the X house, and the sensor node 210X-2 is the humidity sensor X housed in the X house. The sensor node 210Y-1 is a temperature sensor Y housed in the Y house, and the sensor node 210Y-2 is a humidity sensor Y housed in the Y house. In the example illustrated in FIG. 5, the IP address assigned to the first router 10 or host that passes from the sensor node 210X-1 that is the temperature sensor X to the server node 110 that is the cloud is “192.168.100.1. ". The IP address “192.168.100.1” is an IP address assigned to the router 10X in the example shown in FIG.

トポロジ生成部113は、センサネットワーク内の複数のノード間の接続情報、いわゆるトポロジを生成する処理部である。一例としては、トポロジ生成部113は、経路情報記憶部112Aが更新された場合、すなわちネットワークの経路情報に変化があった場合に、その経路情報に基づいて、各下位ノードがどの上位ノードに接続されているかを表すノード間の接続情報を生成する。そして、トポロジ生成部113は、生成したノード間の接続情報を後述のトポロジ記憶部113Aに格納する。   The topology generation unit 113 is a processing unit that generates connection information between a plurality of nodes in the sensor network, that is, a so-called topology. As an example, when the route information storage unit 112A is updated, that is, when there is a change in the route information of the network, the topology generation unit 113 connects to which upper node each lower node based on the route information. The connection information between the nodes indicating whether or not the connection is made is generated. Then, topology generation unit 113 stores the generated connection information between nodes in topology storage unit 113A described later.

一態様としては、トポロジ生成部113は、経路情報記憶部112Aを参照し、各ノードが同一の経路を経由するか否かに基づいて、各ノードの上位ノードを決定し、ノード間の接続情報をトポロジとして後述のトポロジ記憶部113Aに格納する。例えば、トポロジ生成部113は、経路情報記憶部112Aに記憶された送信元ノードIDを1つ選択する。そして、トポロジ生成部113は、選択したノードに対応付けられたIPアドレスと同一のIPアドレスに対応付けられたノードを特定する。ここで、同一のノードに対して複数のIPアドレスが特定される場合には、トポロジ生成部113は、特定されたIPアドレスのうち、より小さいhop数に対応付けられたIPアドレスを特定する。さらに、複数のノードが特定される場合には、トポロジ生成部113は、選択したノードのうち、より小さいhop数に対応付けられたノードを特定する。その上で、トポロジ生成部113は、選択したノードを下位ノードとし、特定したノードを上位ノードとしてノード間の接続情報を生成し、生成した接続情報をトポロジとして後述のトポロジ記憶部113Aに格納する。   As an aspect, the topology generation unit 113 refers to the route information storage unit 112A, determines the upper node of each node based on whether or not each node passes through the same route, and connection information between the nodes. Is stored in the topology storage unit 113A described later as a topology. For example, the topology generation unit 113 selects one source node ID stored in the route information storage unit 112A. Then, topology generation unit 113 specifies a node associated with the same IP address as the IP address associated with the selected node. Here, when a plurality of IP addresses are specified for the same node, the topology generation unit 113 specifies an IP address associated with a smaller hop number among the specified IP addresses. Further, when a plurality of nodes are specified, the topology generation unit 113 specifies a node associated with a smaller hop number among the selected nodes. In addition, the topology generation unit 113 generates connection information between the nodes with the selected node as a lower node and the identified node as an upper node, and stores the generated connection information as a topology in a later-described topology storage unit 113A. .

図5に示す例では、トポロジ生成部113は、まず、「温度センサX」を選択する。そして、トポロジ生成部113は、「温度センサX」に対応付けられたIPアドレス「192.168.1.10」と同一のIPアドレスに対応付けられた「クラウド」を特定する。このため、トポロジ生成部113は、下位ノード「温度センサX」の上位ノードとして「クラウド」を特定する。他のノードについても同様に、トポロジ生成部113は、上位ノードを特定することで、トポロジを生成する。   In the example illustrated in FIG. 5, the topology generation unit 113 first selects “temperature sensor X”. Then, the topology generation unit 113 identifies “cloud” associated with the same IP address as the IP address “192.168.1.10” associated with “temperature sensor X”. For this reason, the topology generation unit 113 identifies “cloud” as the upper node of the lower node “temperature sensor X”. Similarly, for other nodes, the topology generation unit 113 generates a topology by specifying an upper node.

トポロジ記憶部113Aは、センサネットワークのトポロジを記憶する記憶部である。一例としては、トポロジ記憶部113Aは、トポロジ生成部113によってノード間の接続情報がトポロジとして登録される。他の一例としては、トポロジ記憶部113Aは、モジュールの配備先を決定するために、後述の配備先決定部117によって参照される。   The topology storage unit 113A is a storage unit that stores the topology of the sensor network. As an example, in the topology storage unit 113A, connection information between nodes is registered as a topology by the topology generation unit 113. As another example, the topology storage unit 113A is referred to by a later-described deployment destination determination unit 117 in order to determine a module deployment destination.

一態様としては、トポロジ記憶部113Aは、下位ノードID及び上位ノードIDが対応付けられたデータを記憶する。ここで言う「下位ノードID」は、下位ノードを識別するための識別子を指す。また、「上位ノードID」は、下位ノードに接続される上位ノードを識別するための識別子を指す。   As an aspect, the topology storage unit 113A stores data in which a lower node ID and an upper node ID are associated with each other. The “lower node ID” here refers to an identifier for identifying a lower node. The “upper node ID” indicates an identifier for identifying an upper node connected to the lower node.

図6は、トポロジ記憶部113Aに記憶される情報の構成例を示す図である。図3の例では、温度センサX、湿度センサX、温度センサY及び湿度センサYの上位ノードが全てクラウドであるサーバノード110であり、センサノード210とサーバノード110の間にGWノード310などの中継ノードが介在していないことを示す。   FIG. 6 is a diagram illustrating a configuration example of information stored in the topology storage unit 113A. In the example of FIG. 3, the upper nodes of the temperature sensor X, the humidity sensor X, the temperature sensor Y, and the humidity sensor Y are all server nodes 110 that are clouds, and between the sensor node 210 and the server node 110, such as the GW node 310 Indicates that no relay node is present.

イベント受信部114は、イベントを受信する処理部である。一態様としては、イベント受信部114は、センサノード210や後述のGWノード310などの下位ノードからイベントを受信すると、当該イベントを後述のイベント記憶部114Aに格納する。このとき、イベント受信部114は、下位ノードから受信したイベントを後述の発生イベント登録部116にも出力する。なお、イベント受信部114では、必ずしもセンサノード210によってセンシングされた未処理のイベントが受信されるとは限らず、下位ノードに配備されたモジュールによって処理が実行されることにより、処理済みのイベントが受信される場合もある。   The event receiving unit 114 is a processing unit that receives an event. As one aspect, when receiving an event from a lower node such as the sensor node 210 or a GW node 310 described later, the event receiving unit 114 stores the event in an event storage unit 114A described later. At this time, the event receiving unit 114 also outputs the event received from the lower node to the generated event registration unit 116 described later. Note that the event reception unit 114 does not necessarily receive an unprocessed event sensed by the sensor node 210, and the processed event is generated by executing a process by a module deployed in a lower node. It may be received.

イベント記憶部114Aは、イベントを記憶する記憶部である。このイベント記憶部114Aは、イベントの発生をトリガーとしてサービスを提供するサービス提供用のアプリケーションに参照させるために設けられる。   The event storage unit 114A is a storage unit that stores events. The event storage unit 114A is provided to refer to a service providing application that provides a service with the occurrence of an event as a trigger.

一例としては、イベント記憶部114Aは、下位ノードからイベントが受信された場合に、イベント受信部114によってイベントが登録される。他の一例としては、イベント記憶部114Aは、モジュールによってイベントが処理された場合に、後述のモジュール実行部115によって処理実行後のイベントが登録される。   For example, in the event storage unit 114A, when an event is received from a lower node, the event reception unit 114 registers the event. As another example, in the event storage unit 114A, when an event is processed by a module, an event after execution of processing is registered by a module execution unit 115 described later.

一態様としては、イベント記憶部114Aは、イベント型名、イベント発生時刻及びイベント属性が対応付けられたデータを記憶する。ここで言う「イベント型」は、イベントの種類を識別するための識別子を指す。また、「イベント発生時刻」は、イベントが発生した時刻、すなわちセンサノード210によってセンシングされた時刻を指す。また、「イベント属性」とは、イベントの性質や由来を指す。例えば、「イベント属性」は、イベントとして採取されるセンシングデータ又はそれが処理されたデータの種類、イベントが発生した発生ノードや発生ノードを含む複数のノードを集約する集約属性などの属性データの集合を指す。なお、以下では、イベント属性に含まれる各属性データが属性名と属性値のペアを含んで構成される場合を示す。   As an aspect, the event storage unit 114A stores data in which an event type name, an event occurrence time, and an event attribute are associated. The “event type” here refers to an identifier for identifying the type of event. “Event occurrence time” refers to the time when an event occurs, that is, the time sensed by the sensor node 210. “Event attribute” refers to the nature and origin of the event. For example, the “event attribute” is a set of attribute data such as sensing data collected as an event or the type of data processed by the event, an occurrence node where the event has occurred, and an aggregation attribute that aggregates a plurality of nodes including the occurrence node. Point to. In the following, a case where each attribute data included in the event attribute includes a pair of attribute name and attribute value is shown.

図7は、イベント記憶部114Aに記憶される情報の構成例を示す図である。図7に示す1番目のレコードは、2011年7月13日の12時にX家の温度センサXによって28度の温度が計測されたというイベントを示す。また、図7に示す2番目のレコードは、2011年7月13日の12時00分10秒にX家の湿度センサXによって50%の湿度が計測されたというイベントを示す。図7に示す3番目のレコードは、2011年7月13日の12時00分20秒にY家の温度センサYによって30度の温度が計測されたというイベントを示す。図7に示す4番目のレコードは、2011年7月13日の12時00分30秒にY家の湿度センサYによって70%の湿度が計測されたというイベントを示す。   FIG. 7 is a diagram illustrating a configuration example of information stored in the event storage unit 114A. The first record shown in FIG. 7 shows an event that a temperature of 28 degrees is measured by the temperature sensor X of the X family at 12:00 on July 13, 2011. The second record shown in FIG. 7 shows an event in which 50% humidity is measured by the X house humidity sensor X at 12:00:10 on July 13, 2011. The third record shown in FIG. 7 shows an event that a temperature of 30 degrees was measured by the temperature sensor Y of the Y family at 12:00:20 on July 13, 2011. The fourth record shown in FIG. 7 indicates an event in which 70% humidity is measured by the humidity sensor Y of the Y house at 12:00:30 on July 13, 2011.

このように、イベント記憶部114Aに記憶されたイベントは、サービス提供用のアプリケーションによってサービス提供処理を実行するトリガーとして参照される。なお、図7の例では、センサノード210によってセンシングされた未処理のイベントを例示したが、モジュールが下位ノードに配備された場合には、モジュールによって処理がなされた新たなイベントも格納されることになる。   As described above, the event stored in the event storage unit 114A is referred to as a trigger for executing the service providing process by the service providing application. In the example of FIG. 7, an unprocessed event sensed by the sensor node 210 is illustrated. However, when a module is deployed in a lower node, a new event processed by the module is also stored. become.

モジュール実行部115は、サーバノード110に配備されたモジュールの実行制御を行う処理部である。一態様としては、モジュール実行部115は、イベント受信部114によってイベントが受信された場合に、受信されたイベントを入力イベント型とするモジュールがサーバノード110に配備されているか否かを判定する。このとき、モジュール実行部115は、モジュールがサーバノード110に配備されている場合には、当該モジュールを実行することによってイベントの処理を実行する。その後、モジュール実行部115は、モジュールによって処理が実行されたデータを新たなイベントとしてイベント記憶部114Aに格納する。   The module execution unit 115 is a processing unit that performs execution control of modules deployed in the server node 110. As one aspect, when an event is received by the event reception unit 114, the module execution unit 115 determines whether or not a module that uses the received event as an input event type is deployed in the server node 110. At this time, when the module is deployed in the server node 110, the module execution unit 115 executes event processing by executing the module. Thereafter, the module execution unit 115 stores the data processed by the module as a new event in the event storage unit 114A.

発生イベント登録部116は、センサノード210やGWノード310などの下位ノードで発生した発生イベントを登録する処理部である。一態様としては、発生イベント登録部116は、イベント受信部114によってイベントが受信された場合に、受信されたイベントが発生イベントとして後述の発生イベント情報記憶部116Aに既に登録されているか否かを判定する。このとき、発生イベント登録部116は、発生イベントとして未だ登録されていない場合には、下位ノードから受信したイベントを後述の発生イベント情報記憶部116Aに登録する。   The occurrence event registration unit 116 is a processing unit that registers an occurrence event that has occurred in a lower node such as the sensor node 210 or the GW node 310. As an aspect, when the event reception unit 114 receives an event, the occurrence event registration unit 116 determines whether or not the received event has already been registered in the event generation information storage unit 116A described later as an occurrence event. judge. At this time, if the occurrence event registration unit 116 has not yet been registered as the occurrence event, the occurrence event registration unit 116 registers the event received from the lower node in the occurrence event information storage unit 116A described later.

発生イベント情報記憶部116Aは、発生イベントに関する情報を記憶する記憶部である。この発生イベント情報記憶部116Aは、センサノード210またはGWノード310などの下位ノードでどのようなイベントが発生しているのかを管理するために設けられる。   The occurrence event information storage unit 116A is a storage unit that stores information related to the occurrence event. The generated event information storage unit 116A is provided for managing what event is occurring in a lower node such as the sensor node 210 or the GW node 310.

一例としては、発生イベント情報記憶部116Aは、下位ノードからイベントが受信された場合に、発生イベント登録部116によって発生イベントが登録される。他の一例としては、発生イベント情報記憶部116Aは、モジュールの配備先を決定するために、後述の配備先決定部117によって参照される。   As an example, in the occurrence event information storage unit 116A, when an event is received from a lower node, the occurrence event registration unit 116 registers the occurrence event. As another example, the occurrence event information storage unit 116A is referred to by a later-described deployment destination determining unit 117 in order to determine a module deployment destination.

一態様としては、発生イベント情報記憶部116Aは、発生ノードID、発生イベント型及び発生イベント属性が対応付けられたデータを記憶する。ここで言う「発生ノードID」は、発生ノードを識別するための識別子を指す。また、「発生イベント型」は、発生イベントの種類を識別するための識別子を指す。また、「発生イベント属性」は、発生イベントの属性を指す。   As one aspect, the generated event information storage unit 116A stores data in which a generated node ID, a generated event type, and a generated event attribute are associated with each other. The “occurrence node ID” here refers to an identifier for identifying the occurrence node. The “occurrence event type” indicates an identifier for identifying the type of the occurrence event. The “occurrence event attribute” indicates an attribute of the occurrence event.

図8は、発生イベント情報記憶部116Aに記憶される情報の構成例を示す図である。図8に示す1番目のレコードは、X家の温度センサXで温度が計測されるというイベントが発生していることを示す。また、図8に示す2番目のレコードは、X家の湿度センサXで湿度が計測されるというイベントが発生していることを示す。図8に示す3番目のレコードは、Y家の温度センサYで温度が計測されるというイベントが発生していることを示す。図8に示す4番目のレコードは、Y家の湿度センサYで湿度が計測されるというイベントが発生していることを示す。なお、図8の例では、発生イベントとしてセンサノード210によってセンシングされた未処理のイベントを例示したが、モジュールが下位ノードに配備された場合には、モジュールによって処理がなされた新たなイベントも発生イベントとして格納される。   FIG. 8 is a diagram illustrating a configuration example of information stored in the generated event information storage unit 116A. The first record shown in FIG. 8 indicates that an event occurs in which the temperature is measured by the temperature sensor X of the X family. Further, the second record shown in FIG. 8 indicates that an event occurs in which humidity is measured by the humidity sensor X of the X family. The third record shown in FIG. 8 indicates that an event occurs in which the temperature is measured by the temperature sensor Y of the Y family. The fourth record shown in FIG. 8 indicates that an event occurs in which humidity is measured by the humidity sensor Y of the Y house. In the example of FIG. 8, an unprocessed event sensed by the sensor node 210 is exemplified as an occurrence event. However, when a module is deployed in a lower node, a new event processed by the module also occurs. Stored as an event.

配備先情報記憶部117Aは、モジュールの配備先に関する情報を記憶する記憶部である。一例としては、配備先情報記憶部117Aは、センサネットワークのトポロジに変化があった場合に、後述の配備先決定部117によってアクセスされる。   The deployment destination information storage unit 117A is a storage unit that stores information regarding the deployment destination of the module. As an example, the deployment destination information storage unit 117A is accessed by a deployment destination determination unit 117 described later when the topology of the sensor network has changed.

一態様としては、配備先情報記憶部117Aは、モジュール識別子、入力イベント型、集約属性名、発生イベント属性、発生ノードID及び配備先ノードIDが対応付けられたデータを記憶する。ここで言う「配備先ノードID」は、モジュールが配備されるセンサノード210、後述のGWノード310またはサーバノード110を識別するための識別子を指す。   As an aspect, the deployment destination information storage unit 117A stores data in which a module identifier, an input event type, an aggregate attribute name, a generated event attribute, a generated node ID, and a deployment destination node ID are associated. The “deployment destination node ID” here refers to an identifier for identifying a sensor node 210 on which a module is deployed, a GW node 310 or a server node 110 described later.

図9は、配備先情報記憶部117Aに記憶される情報の構成例を示す図である。この図9の例では、センサネットワークのトポロジに変化が検出されて後述の配備先決定部117によるモジュールの配備先の決定が開始された段階のテーブル例を図示している。すなわち、図9に示すように、全カラムのうちモジュール識別子、入力イベント型及び集約属性名がモジュール定義記憶部111Bから複写された段階のテーブル例が図示されている。以降の配備先ノードIDを始めとする残りのカラムが埋められる遷移については、図10や図11などを用いて後述する。   FIG. 9 is a diagram illustrating a configuration example of information stored in the deployment destination information storage unit 117A. The example of FIG. 9 illustrates an example of a table at a stage where a change in the topology of the sensor network is detected and determination of a module deployment destination by a deployment destination determination unit 117 described later is started. That is, as shown in FIG. 9, a table example at the stage where the module identifier, the input event type, and the aggregate attribute name among all the columns are copied from the module definition storage unit 111B is illustrated. The transition in which the remaining columns including the subsequent deployment destination node ID are filled will be described later with reference to FIGS.

配備先決定部117は、モジュールの配備先を決定する処理部である。一態様としては、配備先決定部117は、トポロジ記憶部113Aが更新された場合、すなわちセンサネットワークのトポロジに変化があった場合に、以下に説明する処理を実行する。   The deployment destination determination unit 117 is a processing unit that determines a module deployment destination. As one aspect, the deployment destination determination unit 117 executes the process described below when the topology storage unit 113A is updated, that is, when the topology of the sensor network has changed.

これを説明すると、配備先決定部117は、モジュール定義記憶部111Bに記憶されたモジュールの定義のうちモジュール識別子、入力イベント型及び集約属性名のカラムデータを配備先情報記憶部117Aの該当カラムに書き込む。このとき、配備先情報記憶部117Aは、図9に示すように、発生イベント属性、発生ノードID及び配備先ノードIDのカラムがブランクの状態となる。   Explaining this, the deployment destination determination unit 117 stores the column data of the module identifier, the input event type, and the aggregate attribute name in the corresponding column of the deployment destination information storage unit 117A among the module definitions stored in the module definition storage unit 111B. Write. At this time, in the deployment destination information storage unit 117A, as shown in FIG. 9, the columns of the occurrence event attribute, the occurrence node ID, and the deployment destination node ID are blank.

続いて、配備先決定部117は、発生イベント情報記憶部116Aに記憶された発生ノードIDのうち、発生イベント型が未配備のモジュールの入力イベント型に含まれる発生ノードIDを抽出する。さらに、配備先決定部117は、前述のように抽出した発生ノードID間で未配備のモジュールに定義された集約属性の属性名と同一の集約属性に属する属性値が同一であるノードを抽出する。その後、配備先決定部117は、抽出結果として得られた発生ノードID及び発生ノードIDに対応付けられた発生イベント属性を配備先情報記憶部117Aに書き込む。   Subsequently, the deployment destination determining unit 117 extracts the generated node ID included in the input event type of the module in which the generated event type is not deployed from the generated node IDs stored in the generated event information storage unit 116A. Further, the deployment destination determination unit 117 extracts nodes having the same attribute value belonging to the same aggregate attribute as the attribute name of the aggregate attribute defined in the undeployed module among the generated node IDs extracted as described above. . Thereafter, the deployment destination determination unit 117 writes the generated node ID obtained as the extraction result and the generated event attribute associated with the generated node ID in the deployment destination information storage unit 117A.

このとき、配備先決定部117は、発生ノードIDが配備先情報記憶部117Aに複数登録された場合には、次のような処理を実行する。すなわち、配備先決定部117は、トポロジ記憶部113Aに記憶された上位ノードIDのうち各発生ノードIDに対応するセンサノード210又は後述のGWノード310が下位ノードとして全て収容され、かつ最も下位ノード側であるノードIDを抽出する。そして、配備先決定部117は、前述のように抽出したノードIDを配備先ノードIDのカラムに登録する。   At this time, the deployment destination determination unit 117 executes the following process when a plurality of generated node IDs are registered in the deployment destination information storage unit 117A. That is, the deployment destination determination unit 117 accommodates all the sensor nodes 210 or GW nodes 310 described later as lower nodes among the upper node IDs stored in the topology storage unit 113A, and the lowest node. The node ID that is the side is extracted. Then, the deployment destination determination unit 117 registers the extracted node ID in the column of the deployment destination node ID as described above.

また、配備先決定部117は、発生ノードIDが配備先情報記憶部117Aに1つ登録された場合には、モジュールを配備するノードに選択の余地がないので、先に抽出結果として得られた発生ノードIDを配備先ノードIDのカラムに登録する。   Further, when one occurrence node ID is registered in the deployment destination information storage unit 117A, the deployment destination determination unit 117 has no room for selection in the node on which the module is deployed, and is thus obtained as an extraction result first. The generated node ID is registered in the column of the deployment destination node ID.

このようにして配備先情報記憶部117Aに配備先ノードIDが登録されると、モジュール記憶部111Aに記憶されたモジュールが後述のモジュール送信部119によって配備先ノードIDに対応するノードへ送信される。   When the deployment destination node ID is registered in the deployment destination information storage unit 117A in this way, the module stored in the module storage unit 111A is transmitted to the node corresponding to the deployment destination node ID by the module transmission unit 119 described later. .

その後、配備先決定部117は、モジュールの配備によって下位ノードから新たに取得される発生イベントが発生イベント情報記憶部116Aに更新されるまで待機してから、未配備のモジュールがなくなるまでモジュールの配備を繰り返し実行する。   Thereafter, the deployment destination determination unit 117 waits until the occurrence event newly acquired from the lower node by the module deployment is updated in the occurrence event information storage unit 116A, and then deploys the module until there is no undeployed module. Repeatedly.

なお、他の態様としては、配備先決定部117は、トポロジ記憶部113Aが更新された場合、すなわちセンサネットワークのトポロジに変化があった場合に、次のような処理を実行しても良い。すなわち、配備先決定部117は、配備先情報記憶部117Aに前回登録された配備先ノードIDが格納されている場合には、配備先ノードIDを再評価してもよい。一例としては、配備先決定部117は、発生イベント情報記憶部116Aに記憶された発生ノードIDのうち、発生イベント型が未配備のモジュールの入力イベント型に含まれる発生ノードIDを抽出する。さらに、配備先決定部117は、前述のように抽出した発生ノードID間で未配備のモジュールに定義された集約属性の属性名と同一の集約属性に属する属性値が同一であるノードを抽出する。その後、配備先決定部117は、抽出結果として得られたノードIDが前回登録された配備先ノードIDと異なる場合には、得られたノードIDを新たな配備先ノードIDとして配備先情報記憶部117Aに登録する。このようにして配備先情報記憶部117Aに配備先ノードIDが登録されると、モジュール記憶部111Aに記憶されたモジュールが後述のモジュール送信部119によって配備先ノードIDに対応するノードへ送信される。   As another aspect, the deployment destination determination unit 117 may execute the following process when the topology storage unit 113A is updated, that is, when the topology of the sensor network has changed. That is, the deployment destination determination unit 117 may re-evaluate the deployment destination node ID when the deployment destination node ID registered last time is stored in the deployment destination information storage unit 117A. As an example, the deployment destination determination unit 117 extracts the generated node ID included in the input event type of the module in which the generated event type is not deployed from the generated node IDs stored in the generated event information storage unit 116A. Further, the deployment destination determination unit 117 extracts nodes having the same attribute value belonging to the same aggregate attribute as the attribute name of the aggregate attribute defined in the undeployed module among the generated node IDs extracted as described above. . Thereafter, when the node ID obtained as the extraction result is different from the previously registered deployment destination node ID, the deployment destination determination unit 117 sets the obtained node ID as a new deployment destination node ID, and the deployment destination information storage unit Register at 117A. When the deployment destination node ID is registered in the deployment destination information storage unit 117A in this way, the module stored in the module storage unit 111A is transmitted to the node corresponding to the deployment destination node ID by the module transmission unit 119 described later. .

また、発生ノードIDが配備先情報記憶部117Aに1つも登録されなかった場合には、下位ノードから通知される発生イベントが発生イベント情報記憶部116Aに登録し切れていない可能性がある。この場合には、配備先決定部117は、発生イベント情報記憶部116Aが更新されるまで待機してからモジュールの配備を繰り返し実行する。   In addition, when no occurrence node ID is registered in the deployment destination information storage unit 117A, there is a possibility that the occurrence event notified from the lower node is not completely registered in the occurrence event information storage unit 116A. In this case, the deployment destination determination unit 117 waits until the occurrence event information storage unit 116A is updated, and then repeatedly executes module deployment.

送信先情報送信部118は、センサノード210または後述のGWノード310などの下位ノードに送信先情報を送信する処理部である。一態様としては、送信先情報送信部118は、配備先決定部117によって配備先ノードIDが配備先情報記憶部117Aに登録されると、登録された配備先ノードIDの上位ノードのノードIDをトポロジ記憶部113Aから読み出す。そして、送信先情報送信部118は、読み出した上位ノードのノードIDを登録された配備先ノードIDに対応するノードへ送信する。   The transmission destination information transmission unit 118 is a processing unit that transmits transmission destination information to lower nodes such as the sensor node 210 or a GW node 310 described later. As an aspect, when the deployment destination determination unit 117 registers the deployment destination node ID in the deployment destination information storage unit 117A, the transmission destination information transmission unit 118 sets the node ID of the upper node of the registered deployment destination node ID. Read from the topology storage unit 113A. Then, the transmission destination information transmission unit 118 transmits the node ID of the read upper node to the node corresponding to the registered deployment node ID.

モジュール送信部119は、センサノード210または後述のGWノード310などの下位ノードにモジュールを送信する処理部である。一態様としては、モジュール送信部119は、配備先決定部117によって配備先ノードIDが配備先情報記憶部117Aに登録されると、モジュール記憶部111Aに記憶されたモジュールを配備先ノードIDに対応するノードへ送信する。   The module transmission unit 119 is a processing unit that transmits a module to a lower node such as the sensor node 210 or a GW node 310 described later. As one aspect, when the deployment destination determination unit 117 registers the deployment destination node ID in the deployment destination information storage unit 117A, the module transmission unit 119 corresponds to the module stored in the module storage unit 111A with the deployment destination node ID. To the node to be

(1)モジュール配備の具体例1
ここで、図9〜図11を用いて、モジュール配備の具体例1について説明する。図10は、図9に示した配備先情報記憶部117Aからの配備状況の遷移を示す図である。図11は、図10に示した配備先情報記憶部117Aからの配備状況の遷移を示す図である。
(1) Specific example 1 of module deployment
Here, the specific example 1 of module arrangement | positioning is demonstrated using FIGS. 9-11. FIG. 10 is a diagram showing a transition of the deployment status from the deployment destination information storage unit 117A illustrated in FIG. FIG. 11 is a diagram illustrating a transition of the deployment status from the deployment destination information storage unit 117A illustrated in FIG.

モジュールの配備が開始されると、図8に示した発生イベント情報記憶部116Aと図9に示した配備先情報記憶部117Aとの間で発生イベント型及び入力イベント型のカラムが配備先決定部117によって比較される。このとき、モジュール「不快指数計算」の入力イベント型「温度」と、発生ノードID「温度センサX」及び発生ノードID「温度センサY」の発生イベント型「温度」とが一致する。また、モジュール「不快指数計算」の入力イベント型「湿度」と、発生ノードID「湿度センサX」及び発生ノードID「湿度センサY」の発生イベント型「湿度」とが一致する。よって、モジュール「不快指数計算」に関し、発生ノードID「温度センサX」、「湿度センサX」、「温度センサY」及び「湿度センサY」の4つの発生ノードが配備先決定部117によって抽出される。   When the module deployment is started, the generated event type and input event type columns are arranged between the generated event information storage unit 116A shown in FIG. 8 and the deployment destination information storage unit 117A shown in FIG. 117 is compared. At this time, the input event type “temperature” of the module “discomfort index calculation” matches the generation event type “temperature” of the generation node ID “temperature sensor X” and the generation node ID “temperature sensor Y”. Also, the input event type “humidity” of the module “discomfort index calculation” matches the generation event type “humidity” of the generation node ID “humidity sensor X” and generation node ID “humidity sensor Y”. Therefore, regarding the module “discomfort index calculation”, the four generation nodes of the generation node IDs “temperature sensor X”, “humidity sensor X”, “temperature sensor Y”, and “humidity sensor Y” are extracted by the deployment destination determination unit 117. The

ここで、抽出された4つの発生ノード間で未配備のモジュールに定義された集約属性の属性名と同一の集約属性に属する属性値が同一であるノードが配備先決定部117によって抽出される。   Here, a node having the same attribute value belonging to the same aggregate attribute as the attribute name of the aggregate attribute defined in the undeployed module among the four extracted nodes is extracted by the deployment destination determining unit 117.

かかるモジュール「不快指数計算」は、イベントの集約処理を実行するモジュールであるので、図4に示すように、モジュール「不快指数計算」に集約属性の属性名「家ID」が定義されている。一方、発生ノードID「温度センサX」及び「湿度センサX」の発生イベント属性には、図8に示すように、属性名「家ID」及び属性値「X家」のペアを含んで構成される集約属性の属性データが含まれる。また、発生ノードID「温度センサY」及び「湿度センサY」の発生イベント属性には、図8に示すように、属性名「家ID」及び属性値「Y家」のペアを含んで構成される集約属性の属性データが含まれる。   Since this module “discomfort index calculation” is a module that executes event aggregation processing, as shown in FIG. 4, the attribute name “house ID” of the aggregation attribute is defined in the module “discomfort index calculation”. On the other hand, the generation event attributes of the generation node IDs “temperature sensor X” and “humidity sensor X” are configured to include a pair of attribute name “house ID” and attribute value “X house” as shown in FIG. Attribute data for aggregated attributes. Further, the generation event attributes of the generation node IDs “temperature sensor Y” and “humidity sensor Y” are configured to include a pair of attribute name “house ID” and attribute value “Y house” as shown in FIG. Attribute data for aggregated attributes.

これら発生ノードID「温度センサX」、「湿度センサX」、「温度センサY」及び「湿度センサY」の発生ノードは、いずれも集約属性の属性名が「家ID」である。その一方で、発生ノードID「温度センサX」及び「湿度センサX」は、集約属性の属性値「X家」であるのに対し、発生ノードID「温度センサY」及び「湿度センサY」は、集約属性の属性値「Y家」である。   The generation nodes of these generation node IDs “temperature sensor X”, “humidity sensor X”, “temperature sensor Y”, and “humidity sensor Y” all have the attribute name of the aggregate attribute “house ID”. On the other hand, the generation node IDs “temperature sensor X” and “humidity sensor X” are attribute values “X family” of the aggregate attribute, whereas the generation node IDs “temperature sensor Y” and “humidity sensor Y” are The attribute value of the aggregate attribute is “Y house”.

したがって、モジュール「不快指数計算」は、X家用及びY家用のモジュールとして独立に配備される。すなわち、図10に示す網掛け部分のように、モジュール「不快指数計算」に発生ノードID「温度センサX」及び「湿度センサX」とその発生イベント属性とが配備先情報記憶部117Aの該当カラムに書き込まれる。さらに、図10に示す網掛け部分のように、モジュール「不快指数計算」に発生ノードID「温度センサY」及び「湿度センサY」とその発生イベント属性とが配備先情報記憶部117Aの該当カラムに書き込まれる。   Accordingly, the module “Calculation of discomfort index” is independently deployed as a module for X house and Y house. That is, as indicated by the shaded portion in FIG. 10, the module “discomfort index calculation” includes the generation node IDs “temperature sensor X” and “humidity sensor X” and the generation event attribute corresponding to the corresponding columns in the deployment destination information storage unit 117A. Is written to. Furthermore, as indicated by the shaded portion in FIG. 10, the module “discomfort index calculation” includes the generation node IDs “temperature sensor Y” and “humidity sensor Y” and the generation event attributes corresponding to the columns in the deployment destination information storage unit 117A. Is written to.

このうち、X家用のモジュール「不快指数計算」は、発生ノードID「温度センサX」及び「湿度センサX」の2つの発生ノードが存在する。このため、図6に示したトポロジ記憶部113Aに記憶された上位ノードIDのうち発生ノードID「温度センサX」及び「湿度センサX」の両方の発生ノードが下位ノードとして全て収容され、かつ最も下位ノード側であるノードIDを抽出する。図6の例で言えば、発生ノードID「温度センサX」及び「湿度センサX」の発生ノードは、いずれもクラウドであるサーバノード110に接続されており、発生ノード及びサーバノード110の間に後述のGWノード310等の中継ノードが介在していない。このため、図11に示す網掛け部分のように、X家用のモジュール「不快指数計算」の配備先ノードIDのカラムには「クラウド」が格納される。これによって、X家用のモジュール「不快指数計算」がサーバノード110に配備されることになる。   Among these, the module “discomfort index calculation” for the X family has two generation nodes of generation node IDs “temperature sensor X” and “humidity sensor X”. For this reason, all the generation nodes of the generation node IDs “temperature sensor X” and “humidity sensor X” among the upper node IDs stored in the topology storage unit 113A shown in FIG. The node ID on the lower node side is extracted. In the example of FIG. 6, the generation nodes of the generation node IDs “temperature sensor X” and “humidity sensor X” are both connected to the server node 110 that is a cloud, and between the generation node and the server node 110. There are no relay nodes such as a GW node 310 described later. For this reason, “cloud” is stored in the column of the deployment destination node ID of the module “discomfort index calculation” for the X family, as in the shaded portion shown in FIG. As a result, the module “discomfort index calculation” for the X family is deployed in the server node 110.

Y家用のモジュール「不快指数計算」についても、X家用のモジュール「不快指数計算」と同様に、発生ノードID「温度センサY」及び「湿度センサY」の2つの発生ノードが存在する。このため、X家用のモジュール「不快指数計算」の配備先ノードIDのカラムに「クラウド」を格納した処理と同様の処理によって、図11に示す網掛け部分のように、Y家用のモジュール「不快指数計算」の配備先ノードIDのカラムに「クラウド」が格納される。これによって、Y家用のモジュール「不快指数計算」がサーバノード110に配備されることになる。   Similarly to the module “discomfort index calculation” for the X house, there are two generation nodes of the generation node ID “temperature sensor Y” and “humidity sensor Y” for the Y house module “discomfort index calculation”. For this reason, the module “uncomfortable” for the Y house is shown in the shaded portion in FIG. 11 by the same process as the process of storing “cloud” in the column of the deployment destination node ID of the module “discomfort index calculation” for the X house. “Cloud” is stored in the column of the deployment destination node ID of “index calculation”. As a result, the module “discomfort index calculation” for the Y family is deployed in the server node 110.

このように、図11に示したX家用のモジュール「不快指数計算」及びY家用のモジュール「不快指数計算」が、クラウドに配備される。これによって、クラウドであるサーバノード110によって温度イベント及び湿度イベントが処理されることとなる。   Thus, the module “discomfort index calculation” for the X house and the module “calculation of discomfort index” for the Y house shown in FIG. 11 are deployed in the cloud. Thus, the temperature event and the humidity event are processed by the server node 110 that is a cloud.

(2)モジュール配備の具体例2
次に、図12〜図15を用いて、モジュール配備の具体例2について説明する。図12は、図1に示したセンサネットワークにおける経路変更の一例を示す図である。図13は、図5に示した経路情報記憶部からの経路情報の遷移を示す図である。図14は、図9に示したトポロジ記憶部からのトポロジの遷移を示す図である。図15は、図11に示した配備先情報記憶部からの配備状況の遷移を示す図である。
(2) Specific example 2 of module deployment
Next, a specific example 2 of module deployment will be described with reference to FIGS. FIG. 12 is a diagram illustrating an example of a route change in the sensor network illustrated in FIG. FIG. 13 is a diagram illustrating a transition of route information from the route information storage unit illustrated in FIG. 5. FIG. 14 is a diagram showing the transition of the topology from the topology storage unit shown in FIG. FIG. 15 is a diagram illustrating a transition of the deployment status from the deployment destination information storage unit illustrated in FIG. 11.

図12に示すセンサネットワークシステム3は、図1に示したセンサネットワークシステム1と比較して、ルータ10Xとセンサノード210X−1及び210X−2との間にGWノード310Xがさらに追加された点が異なる。さらに、センサネットワークシステム3は、ルータ10Zとルータ10X及びルータ10Yとの間にGWノード310Zがさらに追加された点が異なる。   Compared to the sensor network system 1 shown in FIG. 1, the sensor network system 3 shown in FIG. 12 has a point that a GW node 310X is further added between the router 10X and the sensor nodes 210X-1 and 210X-2. Different. Furthermore, the sensor network system 3 is different in that a GW node 310Z is further added between the router 10Z, the router 10X, and the router 10Y.

このように、GWノード310X及び310Zが追加された場合には、センサネットワークの経路情報が変化する。図13の例で言えば、図5に示した例と比べて、GW−XであるGWノード310Xからクラウドであるサーバノード110までに3つのルータ10又はホストを経由することを示す経路情報が追加されている。さらに、図13の例で言えば、図5に示した例と比べて、GW−ZであるGWノード310Zからクラウドであるサーバノード110までに2つのルータ10又はホストを経由することを示す経路情報が追加されている。   Thus, when the GW nodes 310X and 310Z are added, the route information of the sensor network changes. In the example of FIG. 13, compared with the example shown in FIG. 5, the route information indicating that three routers 10 or hosts pass from the GW node 310 </ b> X that is GW-X to the server node 110 that is the cloud. Have been added. Further, in the example of FIG. 13, compared to the example shown in FIG. 5, a route indicating that two routers 10 or hosts are routed from the GW node 310 </ b> Z that is the GW-Z to the server node 110 that is the cloud. Information has been added.

そして、図13に示すように、センサネットワークの経路情報が変化した場合には、トポロジ生成部113によってトポロジが生成される。つまり、センサノード210及びGWノード310のそれぞれの上位ノードがトポロジ生成部113によって特定されることにより、図6に示したトポロジは図14に示したトポロジに変更されることとなる。   As shown in FIG. 13, when the route information of the sensor network changes, the topology generation unit 113 generates a topology. That is, the topology shown in FIG. 6 is changed to the topology shown in FIG. 14 by specifying the upper nodes of the sensor node 210 and the GW node 310 by the topology generation unit 113.

図13に示す例では、センサノード210Xである「温度センサX」の上位ノードになり得るノードとしては、「GW−X」、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−X」に対応付けられたIPアドレスは、いずれも「温度センサX」に対応付けられたIPアドレスと一致する。このため、これらIPアドレスのうち、より小さいhop数に対応付けられたIPアドレス「192.168.100.1」を、「温度センサX」及び「GW−X」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「GW−Z」に対応付けられたIPアドレス「192.168.10.1」及び「192.168.1.10」は、いずれも「温度センサX」に対応付けられたIPアドレスと一致する。このため、これらIPアドレスのうち、より小さいhop数に対応付けられたIPアドレス「192.168.10.1」を、「温度センサX」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」に対応付けられたIPアドレス「192.168.1.10」は、「温度センサX」に対応付けられたIPアドレスと一致する。このため、IPアドレス「192.168.1.10」を、「温度センサX」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   In the example illustrated in FIG. 13, “GW-X”, “GW-Z”, and “cloud” can be cited as nodes that can be upper nodes of the “temperature sensor X” that is the sensor node 210 </ b> X. Among these, the IP address associated with “GW-X” is the same as the IP address associated with “temperature sensor X”. Therefore, among these IP addresses, the router 10 through which the “temperature sensor X” and “GW-X” commonly pass the IP address “192.168.100.1” associated with the smaller hop number. Alternatively, the IP address of the host is specified. Further, the IP addresses “192.168.10.1” and “192.168.1.10” associated with “GW-Z” are both IP addresses associated with “temperature sensor X”. Match. For this reason, the router 10 through which the “temperature sensor X” and “GW-Z” commonly pass the IP address “192.168.10.1” associated with the smaller hop number among these IP addresses. Alternatively, the IP address of the host is specified. In addition, the IP address “192.168.1.10” associated with “Cloud” matches the IP address associated with “Temperature Sensor X”. For this reason, the IP address “192.168.1.10” is specified as the IP address of the router 10 or the host through which “temperature sensor X” and “cloud” pass in common.

このように、「温度センサX」と同一の経路を経由する上位ノードとして、「GW−X」、「GW−Z」及び「クラウド」の3つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−X」は、「温度センサX」のhop数「1」に対応付けられており、「GW−Z」は、「温度センサX」のhop数「2」に対応付けられており、「クラウド」は、「温度センサX」のhop数「3」に対応付けられている。よって、下位ノード「温度センサX」の上位ノードとして「GW−X」が特定される。   As described above, when three nodes “GW-X”, “GW-Z”, and “Cloud” are specified as the upper nodes passing through the same route as the “temperature sensor X”, An upper node passing through the same route on the lowest side is specified. In this case, “GW-X” is associated with the hop number “1” of “temperature sensor X”, and “GW-Z” is associated with the hop number “2” of “temperature sensor X”. “Cloud” is associated with the hop number “3” of “temperature sensor X”. Therefore, “GW-X” is specified as the upper node of the lower node “temperature sensor X”.

また、図13に示す例では、センサノード210X−2である「湿度センサX」の上位ノードになり得るノードとしては、「GW−X」、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−X」に対応付けられたIPアドレスは、いずれも「湿度センサX」に対応付けられたIPアドレスと一致する。このため、これらIPアドレスのうち、より小さいhop数に対応付けられたIPアドレス「192.168.100.1」を、「湿度センサX」及び「GW−X」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「GW−Z」に対応付けられたIPアドレス「192.168.10.1」及び「192.168.1.10」は、いずれも「湿度センサX」に対応付けられたIPアドレスと一致する。このため、これらIPアドレスのうち、より小さいhop数に対応付けられたIPアドレス「192.168.10.1」を、「湿度センサX」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」に対応付けられたIPアドレス「192.168.1.10」は、「湿度センサX」に対応付けられたIPアドレスと一致する。このため、IPアドレス「192.168.1.10」を、「湿度センサX」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   Further, in the example illustrated in FIG. 13, “GW-X”, “GW-Z”, and “cloud” are listed as nodes that can be higher nodes of “humidity sensor X” that is the sensor node 210 </ b> X- 2. Among these, the IP address associated with “GW-X” is the same as the IP address associated with “humidity sensor X”. Therefore, among these IP addresses, the router 10 through which the “humidity sensor X” and “GW-X” commonly pass the IP address “192.168.100.1” associated with the smaller hop number. Alternatively, the IP address of the host is specified. Further, the IP addresses “192.168.10.1” and “192.168.1.10” associated with “GW-Z” are both IP addresses associated with “humidity sensor X”. Match. For this reason, the router 10 through which the “humidity sensor X” and “GW-Z” commonly pass the IP address “192.168.10.1” associated with a smaller hop number among these IP addresses. Alternatively, the IP address of the host is specified. Also, the IP address “192.168.1.10” associated with “Cloud” matches the IP address associated with “Humidity sensor X”. Therefore, the IP address “192.168.1.10” is specified as the IP address of the router 10 or the host through which “humidity sensor X” and “cloud” pass in common.

このように、「湿度センサX」と同一の経路を経由する上位ノードとして、「GW−X」、「GW−Z」及び「クラウド」の3つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−X」は、「湿度センサX」のhop数「1」に対応付けられており、「GW−Z」は、「湿度センサX」のhop数「2」に対応付けられており、「クラウド」は、「湿度センサX」のhop数「3」に対応付けられている。よって、下位ノード「湿度センサX」の上位ノードとして「GW−X」が特定される。   As described above, when three nodes “GW-X”, “GW-Z”, and “Cloud” are specified as upper nodes passing through the same route as “humidity sensor X”, An upper node passing through the same route on the lowest side is specified. In this case, “GW-X” is associated with the hop number “1” of “humidity sensor X”, and “GW-Z” is associated with the hop number “2” of “humidity sensor X”. “Cloud” is associated with the hop number “3” of “humidity sensor X”. Therefore, “GW-X” is specified as the upper node of the lower node “humidity sensor X”.

また、図13に示す例では、センサノード210Y−1である「温度センサY」の上位ノードになり得るノードとしては、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−Z」に対応付けられたIPアドレス「192.168.10.1」及び「192.168.1.10」は、いずれも「温度センサY」に対応付けられたIPアドレスと一致する。このため、これらIPアドレスのうち、より小さいhop数に対応付けられたIPアドレス「192.168.10.1」を、「温度センサY」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」に対応付けられたIPアドレス「192.168.1.10」は、「温度センサY」に対応付けられたIPアドレスと一致する。このため、IPアドレス「192.168.1.10」を、「温度センサY」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   Further, in the example illustrated in FIG. 13, “GW-Z” and “cloud” may be cited as nodes that can be upper nodes of “temperature sensor Y” that is the sensor node 210 </ b> Y- 1. Among these, the IP addresses “192.168.10.1” and “192.168.1.10” associated with “GW-Z” are both IP addresses associated with “temperature sensor Y”. Matches. Therefore, among these IP addresses, the router 10 through which the “temperature sensor Y” and “GW-Z” commonly pass the IP address “192.168.10.1” associated with the smaller hop number. Alternatively, the IP address of the host is specified. Also, the IP address “192.168.1.10” associated with “Cloud” matches the IP address associated with “Temperature Sensor Y”. Therefore, the IP address “192.168.1.10” is specified as the IP address of the router 10 or the host through which “temperature sensor Y” and “cloud” pass in common.

このように、「温度センサY」と同一の経路を経由する上位ノードとして、「GW−Z」及び「クラウド」の2つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−Z」は、「温度センサY」のhop数「2」に対応付けられており、「クラウド」は、「温度センサY」のhop数「3」に対応付けられている。よって、下位ノード「温度センサY」の上位ノードとして「GW−Z」が特定される。   As described above, when two nodes, “GW-Z” and “Cloud”, are specified as the upper nodes passing through the same route as “temperature sensor Y”, the same is given to the lowest side of these upper nodes. An upper node passing through the route is specified. In this case, “GW-Z” is associated with the hop number “2” of “temperature sensor Y”, and “cloud” is associated with the hop number “3” of “temperature sensor Y”. . Therefore, “GW-Z” is specified as the upper node of the lower node “temperature sensor Y”.

また、図13に示す例では、センサノード210Y−2である「湿度センサY」の上位ノードになり得るノードとしては、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−Z」に対応付けられたIPアドレス「192.168.10.1」及び「192.168.1.10」は、いずれも「湿度センサY」に対応付けられたIPアドレスと一致する。このため、これらIPアドレスのうち、より小さいhop数に対応付けられたIPアドレス「192.168.10.1」を、「湿度センサY」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」に対応付けられたIPアドレス「192.168.1.10」は、「湿度センサY」に対応付けられたIPアドレスと一致する。このため、IPアドレス「192.168.1.10」を、「湿度センサY」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   Further, in the example illustrated in FIG. 13, “GW-Z” and “cloud” are listed as nodes that can be higher nodes of “humidity sensor Y” that is the sensor node 210Y-2. Among these, the IP addresses “192.168.10.1” and “192.168.1.10” associated with “GW-Z” are both IP addresses associated with “humidity sensor Y”. Matches. Therefore, among these IP addresses, the router 10 through which the “humidity sensor Y” and “GW-Z” commonly pass the IP address “192.168.10.1” associated with the smaller hop number. Alternatively, the IP address of the host is specified. Further, the IP address “192.168.1.10” associated with “cloud” matches the IP address associated with “humidity sensor Y”. Therefore, the IP address “192.168.1.10” is specified as the IP address of the router 10 or the host through which “humidity sensor Y” and “cloud” pass in common.

このように、「湿度センサY」と同一の経路を経由する上位ノードとして、「GW−Z」及び「クラウド」の2つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−Z」は、「湿度センサY」のhop数「2」に対応付けられており、「クラウド」は、「湿度センサY」のhop数「3」に対応付けられている。よって、下位ノード「湿度センサY」の上位ノードとして「GW−Z」が特定される。   As described above, when two nodes, “GW-Z” and “Cloud”, are specified as upper nodes passing through the same route as “humidity sensor Y”, the same is given to the lowest side of these upper nodes. An upper node passing through the route is specified. In this case, “GW-Z” is associated with the hop number “2” of “humidity sensor Y”, and “cloud” is associated with the hop number “3” of “humidity sensor Y”. . Therefore, “GW-Z” is specified as the upper node of the lower node “humidity sensor Y”.

また、図13に示す例では、GWノード310Xである「GW−X」の上位ノードになり得るノードとしては、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−Z」に対応付けられたIPアドレス「192.168.10.1」及び「192.168.1.10」は、いずれも「GW−X」に対応付けられたIPアドレスと一致する。このため、これらIPアドレスのうち、より小さいhop数に対応付けられたIPアドレス「192.168.10.1」を、「GW−X」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」に対応付けられたIPアドレス「192.168.1.10」は、「GW−X」に対応付けられたIPアドレスと一致する。このため、IPアドレス「192.168.1.10」を、「GW−X」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   Further, in the example illustrated in FIG. 13, “GW-Z” and “cloud” are listed as nodes that can be higher nodes of “GW-X” that is the GW node 310 </ b> X. Among these, the IP addresses “192.168.10.1” and “192.168.1.10” associated with “GW-Z” are both IP addresses associated with “GW-X”. Matches. Therefore, among these IP addresses, the router 10 through which the “GW-X” and “GW-Z” commonly pass the IP address “192.168.10.1” associated with the smaller hop number. Alternatively, the IP address of the host is specified. Also, the IP address “192.168.1.10” associated with “Cloud” matches the IP address associated with “GW-X”. For this reason, the IP address “192.168.1.10” is specified as the IP address of the router 10 or host through which “GW-X” and “Cloud” pass in common.

このように、「GW−X」と同一の経路を経由する上位ノードとして、「GW−Z」及び「クラウド」の2つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−Z」は、「湿度センサY」のhop数「2」に対応付けられており、「クラウド」は、「湿度センサY」のhop数「3」に対応付けられている。よって、下位ノード「GW−X」の上位ノードとして「GW−Z」が特定される。   As described above, when two nodes, “GW-Z” and “Cloud”, are specified as the upper nodes passing through the same route as “GW-X”, the same is given to the lowest side among these upper nodes. An upper node passing through the route is specified. In this case, “GW-Z” is associated with the hop number “2” of “humidity sensor Y”, and “cloud” is associated with the hop number “3” of “humidity sensor Y”. . Therefore, “GW-Z” is specified as an upper node of the lower node “GW-X”.

また、図13に示す例では、GWノード310Zである「GW−Z」の上位ノードになり得るノードとしては、「クラウド」が挙げられる。この「クラウド」に対応付けられたIPアドレス「192.168.1.10」は、「GW−Z」に対応付けられたIPアドレスと一致する。このため、IPアドレス「192.168.1.10」を、「GW−Z」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。よって、下位ノード「GW−Z」の上位ノードとして「クラウド」が特定される。   In the example illustrated in FIG. 13, “cloud” is an example of a node that can be a higher node of “GW-Z” that is the GW node 310 </ b> Z. The IP address “192.168.1.10” associated with this “cloud” matches the IP address associated with “GW-Z”. For this reason, the IP address “192.168.1.10” is specified as the IP address of the router 10 or host through which “GW-Z” and “Cloud” pass in common. Therefore, “cloud” is specified as an upper node of the lower node “GW-Z”.

このように、センサネットワークシステム3に含まれる各下位ノードの上位ノードがトポロジ生成部113によって特定されることにより、図6に示したトポロジは図14に示したトポロジに変更される。   In this way, the topology shown in FIG. 6 is changed to the topology shown in FIG. 14 by specifying the upper node of each lower node included in the sensor network system 3 by the topology generation unit 113.

そして、図14に示すように、センサネットワークのトポロジが変化した場合には、図11の配備先情報記憶部117Aに記憶されていた配備済の配備先ノードIDが再評価される。図11の例では、X家用のモジュール「不快指数計算」は、発生ノードID「温度センサX」及び「湿度センサX」の2つの発生ノードが存在する。このため、図14に示したトポロジ記憶部113Aに記憶された上位ノードIDのうち発生ノードID「温度センサX」及び「湿度センサX」の両方の発生ノードが下位ノードとして全て収容され、かつ最も下位ノード側であるノードIDを抽出する。図14の例で言えば、発生ノードID「温度センサX」及び「湿度センサX」の発生ノードは、いずれもGW−XであるGWノード310に接続されている。このため、X家用のモジュール「不快指数計算」の配備先ノードIDとして「GW−X」が抽出される。このように、今回配備先ノードIDとして抽出された「GW−X」は前回登録された配備先ノードID「クラウド」と異なるので、図15に示す網掛け部分のように、「GW−X」が新たなX家用の配備先ノードIDとして配備先情報記憶部117Aに登録される。   As shown in FIG. 14, when the topology of the sensor network changes, the deployed deployment destination node ID stored in the deployment destination information storage unit 117A of FIG. 11 is reevaluated. In the example of FIG. 11, the module “discomfort index calculation” for the X family has two generation nodes of generation node IDs “temperature sensor X” and “humidity sensor X”. For this reason, all the generation nodes of the generation node IDs “temperature sensor X” and “humidity sensor X” among the upper node IDs stored in the topology storage unit 113A shown in FIG. The node ID on the lower node side is extracted. In the example of FIG. 14, the generation nodes of the generation node IDs “temperature sensor X” and “humidity sensor X” are both connected to the GW node 310 that is GW-X. For this reason, “GW-X” is extracted as the deployment destination node ID of the module “discomfort index calculation” for the X family. Thus, since “GW-X” extracted as the deployment destination node ID this time is different from the previously registered deployment destination node ID “cloud”, “GW-X” as in the shaded portion shown in FIG. Is registered in the deployment destination information storage unit 117A as a deployment destination node ID for a new X house.

また、Y家用のモジュール「不快指数計算」についても、X家用のモジュール「不快指数計算」と同様に、発生ノードID「温度センサY」及び「湿度センサY」の2つの発生ノードが存在する。図14に示す例では、発生ノードID「温度センサY」及び「湿度センサY」の発生ノードは、いずれもGW−ZであるGWノード310Zに接続されている。このため、Y家用のモジュール「不快指数計算」の配備先ノードIDとして「GW−Z」が抽出される。このように、今回配備先ノードIDとして抽出された「GW−Z」は前回登録された配備先ノードID「クラウド」と異なるので、図15に示す網掛け部分のように、「GW−Z」が新たなY家用の配備先ノードIDとして配備先情報記憶部117Aに登録される。   Also, the module “discomfort index calculation” for the Y house has two generation nodes of the generation node IDs “temperature sensor Y” and “humidity sensor Y”, similarly to the module “discomfort index calculation” for the X house. In the example illustrated in FIG. 14, the generation nodes having the generation node IDs “temperature sensor Y” and “humidity sensor Y” are both connected to the GW node 310 </ b> Z that is GW-Z. For this reason, “GW-Z” is extracted as the deployment destination node ID of the module “discomfort index calculation” for the Y family. Thus, since “GW-Z” extracted as the deployment destination node ID this time is different from the previously registered deployment destination node ID “cloud”, “GW-Z” like the shaded portion shown in FIG. Is registered in the deployment information storage unit 117A as a new deployment node ID for the Y house.

このように、図15に示したX家用のモジュール「不快指数計算」がGW−Xに配備され、Y家用のモジュール「不快指数計算」がGW−Zに配備されることとなる。さらに、これによって、図14に示したトポロジがセンサネットワークに適用されることになる。すなわち、図14に示した下位ノードIDに対応する各ノードに対して、それぞれ対応する上位ノードIDが送信先情報として送信先情報送信部118によって送信される。このとき、モジュール記憶部111Aに記憶されたモジュールもモジュール送信部119によって配備先ノードIDに対応するノードへ送信される。   In this manner, the module “discomfort index calculation” for the X house shown in FIG. 15 is deployed in the GW-X, and the module “discomfort index calculation” for the Y house is deployed in the GW-Z. Further, the topology shown in FIG. 14 is applied to the sensor network. That is, for each node corresponding to the lower node ID shown in FIG. 14, the corresponding upper node ID is transmitted by the transmission destination information transmission unit 118 as transmission destination information. At this time, the module stored in the module storage unit 111A is also transmitted by the module transmission unit 119 to the node corresponding to the deployment destination node ID.

なお、モジュール登録部111、経路情報受信部112、トポロジ生成部113、イベント受信部114、モジュール実行部115には、各種の集積回路や電子回路を採用できる。また、発生イベント登録部116、配備先決定部117、送信先情報送信部118、モジュール送信部119には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ASIC(Application Specific Integrated Circuit)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。   Note that various integrated circuits and electronic circuits can be employed for the module registration unit 111, the path information reception unit 112, the topology generation unit 113, the event reception unit 114, and the module execution unit 115. In addition, various integrated circuits and electronic circuits can be adopted for the occurrence event registration unit 116, the deployment destination determination unit 117, the transmission destination information transmission unit 118, and the module transmission unit 119. For example, an ASIC (Application Specific Integrated Circuit) is an example of the integrated circuit. Examples of the electronic circuit include a central processing unit (CPU) and a micro processing unit (MPU).

また、モジュール記憶部111A、モジュール定義記憶部111B、経路情報記憶部112A、トポロジ記憶部113A、イベント記憶部114A、発生イベント情報記憶部116A、配備先情報記憶部117Aには、半導体メモリ素子や記憶装置を採用できる。例えば、半導体メモリ素子としては、VRAM(Video Random Access Memory)、RAM(Random Access Memory)やフラッシュメモリ(flash memory)などが挙げられる。また、記憶装置としては、ハードディスク、光ディスクなどの記憶装置が挙げられる。   Further, the module storage unit 111A, the module definition storage unit 111B, the path information storage unit 112A, the topology storage unit 113A, the event storage unit 114A, the generated event information storage unit 116A, and the deployment destination information storage unit 117A include a semiconductor memory element and a storage device. The device can be adopted. For example, examples of the semiconductor memory element include a video random access memory (VRAM), a random access memory (RAM), and a flash memory. Examples of the storage device include storage devices such as a hard disk and an optical disk.

[センサノードの構成]
次に、本実施例に係るセンサノードの機能的構成について説明する。図16は、実施例1に係るセンサノード210の機能的構成を示すブロック図である。図16に示すセンサノード210は、センサ情報受信部211と、モジュール受信部212と、モジュール実行部213と、送信先情報受信部214と、送信先情報記憶部215と、イベント送信部216とを有する。さらに、図16に示すセンサノード210は、経路情報取得部217と、経路情報送信部218とを有する。
[Configuration of sensor node]
Next, the functional configuration of the sensor node according to the present embodiment will be described. FIG. 16 is a block diagram illustrating a functional configuration of the sensor node 210 according to the first embodiment. The sensor node 210 illustrated in FIG. 16 includes a sensor information reception unit 211, a module reception unit 212, a module execution unit 213, a transmission destination information reception unit 214, a transmission destination information storage unit 215, and an event transmission unit 216. Have. Further, the sensor node 210 illustrated in FIG. 16 includes a route information acquisition unit 217 and a route information transmission unit 218.

センサ情報受信部211は、センサノード210に内蔵または付設されたセンサデバイスからセンサ情報を受信する処理部である。一態様としては、センサ情報受信部211は、センサノード210に温度センサが内蔵されている場合には、温度センサによって計測された温度を受信する。他の一態様としては、センサ情報受信部211は、センサノード210に湿度センサが内蔵されている場合には、湿度センサによって計測された湿度を受信する。なお、センサノード210に複数のセンサデバイスが内蔵されている場合には、各々のセンサデバイスに対応してセンサ情報受信部211が設けられる。   The sensor information receiving unit 211 is a processing unit that receives sensor information from a sensor device built in or attached to the sensor node 210. As one aspect, when the sensor node 210 includes a temperature sensor, the sensor information receiving unit 211 receives the temperature measured by the temperature sensor. As another aspect, when the sensor node 210 includes a humidity sensor, the sensor information receiving unit 211 receives the humidity measured by the humidity sensor. When a plurality of sensor devices are built in the sensor node 210, a sensor information receiving unit 211 is provided corresponding to each sensor device.

モジュール受信部212は、サーバノード110からモジュールを受信する処理部である。このモジュール受信部212によって受信されたモジュールは、モジュールの実行制御を行うモジュール実行部213に出力される。   The module receiving unit 212 is a processing unit that receives a module from the server node 110. The module received by the module reception unit 212 is output to the module execution unit 213 that performs module execution control.

モジュール実行部213は、センサノード210に配備されたモジュールの実行制御を行う処理部である。一態様としては、モジュール実行部213は、センサ情報受信部211によってセンサ情報が受信された場合に、受信されたセンサ情報を入力イベント型とするモジュールがセンサノード210に配備されているか否かを判定する。このとき、モジュール実行部213は、モジュールがセンサノード210に配備されている場合には、当該モジュールを実行することによってイベントの処理を実行する。その後、モジュール実行部213は、モジュールによって処理が実行されたデータを新たなイベントとしてイベント送信部216へ出力する。なお、モジュールがセンサノード210に配備されていない場合には、センサ情報を処理せずにそのままイベント送信部216へ出力する。   The module execution unit 213 is a processing unit that performs execution control of modules deployed in the sensor node 210. As one aspect, when the sensor information is received by the sensor information receiving unit 211, the module execution unit 213 determines whether or not a module that uses the received sensor information as an input event type is deployed in the sensor node 210. judge. At this time, when the module is deployed in the sensor node 210, the module execution unit 213 executes event processing by executing the module. Thereafter, the module execution unit 213 outputs the data processed by the module to the event transmission unit 216 as a new event. If the module is not deployed in the sensor node 210, the sensor information is output to the event transmission unit 216 without being processed.

送信先情報受信部214は、サーバノード110から送信先情報を受信する処理部である。一態様としては、送信先情報受信部214は、イベントの送信先となる上位ノードのノードIDをサーバノード110から受信する。そして、送信先情報受信部214は、受信した上位ノードのノードIDを後述の送信先情報記憶部215に格納する。   The transmission destination information receiving unit 214 is a processing unit that receives transmission destination information from the server node 110. As an aspect, the transmission destination information reception unit 214 receives the node ID of the higher-order node that is the transmission destination of the event from the server node 110. Then, the transmission destination information reception unit 214 stores the received node ID of the higher order node in a transmission destination information storage unit 215 described later.

送信先情報記憶部215は、送信先情報を記憶する記憶部である。一態様としては、送信先情報記憶部215は、イベントの送信先となる上位ノードのノードIDを記憶する。また、他の態様としては、送信先情報記憶部215は、イベントの送信先となる上位ノードを決定するために、後述のイベント送信部216によって参照される。   The transmission destination information storage unit 215 is a storage unit that stores transmission destination information. As one aspect, the transmission destination information storage unit 215 stores the node ID of the higher-order node that is the transmission destination of the event. As another aspect, the transmission destination information storage unit 215 is referred to by an event transmission unit 216 described later in order to determine an upper node that is a transmission destination of an event.

イベント送信部216は、イベントを上位ノードに送信する処理部である。一態様としては、イベント送信部216は、モジュール実行部213によって処理されたイベント、あるいはセンサ情報受信部211によってセンサデバイスから受信されたセンサ情報を上位ノードに送信する。このとき、イベント送信部216は、センサ情報を上位ノードに送信する場合には、発生ノードであるセンサノード210のノードID、自装置を含む複数のノードを集約する集約属性の属性名及び属性値をセンサ情報に付加する。そして、イベント送信部216は、送信先情報記憶部215を参照し、イベントの送信先となる上位ノードを決定する。その上で、イベント送信部216は、センサ情報とともに発生ノードのノードID及び集約属性を含むイベントを、送信先となる上位ノードに送信する。   The event transmission unit 216 is a processing unit that transmits an event to an upper node. As an aspect, the event transmission unit 216 transmits the event processed by the module execution unit 213 or the sensor information received from the sensor device by the sensor information reception unit 211 to the upper node. At this time, when transmitting the sensor information to the upper node, the event transmission unit 216 collects the node ID of the sensor node 210 that is the generation node, the attribute name and attribute value of the aggregate attribute that aggregates a plurality of nodes including the own device. Is added to the sensor information. Then, the event transmission unit 216 refers to the transmission destination information storage unit 215 and determines an upper node that is the transmission destination of the event. After that, the event transmission unit 216 transmits an event including the node ID of the originating node and the aggregate attribute together with the sensor information to the upper node that is the transmission destination.

ここで、上記の「集約属性」の属性名及び属性値は、センサノード210の製造段階でデバイスドライバなどに組み込んでおくことができる。例えば、センサデバイスが温度センサ、湿度センサや温湿度センサである場合には、温度や湿度が計測される枠組みである「家ID」を始め、「部屋ID」や「階ID」などの集約属性をイベントに付加するようにデバイスドライバを構成しておく。その上で、センサノード210がサーバノード110との間で通信コネクションが確立された段階で、既にサービスに加入している他のセンサノード210に先だって付与されている家IDの属性値をサーバノード110から自動的に取得することもできる。なお、サーバノード110にX家またはY家の間取り等が登録されている場合には、「家ID」の他、「部屋ID」や「階ID」などの集約属性の属性値をサーバノード110から自動的に取得することもできる。   Here, the attribute name and attribute value of the “aggregated attribute” can be incorporated into a device driver or the like at the manufacturing stage of the sensor node 210. For example, when the sensor device is a temperature sensor, a humidity sensor, or a temperature / humidity sensor, aggregate attributes such as “house ID”, “room ID”, and “floor ID”, which are a framework for measuring temperature and humidity, are included. Configure the device driver to add to the event. In addition, when the communication connection is established between the sensor node 210 and the server node 110, the attribute value of the house ID given prior to the other sensor nodes 210 that have already subscribed to the service is set as the server node. It can also be automatically acquired from 110. When the floor layout of the X house or the Y house is registered in the server node 110, the attribute value of the aggregate attribute such as “room ID” and “floor ID” in addition to “house ID” is set to the server node 110. Can also be obtained automatically.

経路情報取得部217は、ネットワークの経路情報を取得する処理部である。一例としては、経路情報取得部217は、所定のタイミングで、自ノードからサーバノード110までに経由するルータ10を表す経路情報を取得する。経路情報取得部217は、取得した経路情報を前回取得した経路情報と比較し、経路情報に変更があるか否かを判定する。そして、経路情報に変更がある場合には、経路情報取得部217は、取得した経路情報を後述の経路情報送信部218に出力する。   The route information acquisition unit 217 is a processing unit that acquires network route information. As an example, the route information acquisition unit 217 acquires route information representing the router 10 passing from the own node to the server node 110 at a predetermined timing. The route information acquisition unit 217 compares the acquired route information with the previously acquired route information, and determines whether the route information has changed. If there is a change in the route information, the route information acquisition unit 217 outputs the acquired route information to the route information transmission unit 218 described later.

経路情報送信部218は、経路情報取得部217から出力された経路情報をサーバノード110に送信する処理部である。一態様としては、経路情報送信部218は、経路情報取得部217によって取得された各中継装置のIPアドレス及びそのhop数に、自ノードのノードIDを付加して、サーバノード110に送信する。   The route information transmission unit 218 is a processing unit that transmits the route information output from the route information acquisition unit 217 to the server node 110. As one aspect, the route information transmission unit 218 adds the node ID of the own node to the IP address of each relay device acquired by the route information acquisition unit 217 and the number of hops, and transmits the result to the server node 110.

[GWノードの構成]
次に、本実施例に係るGWノードの機能的構成について説明する。図17は、実施例1に係るGWノード310の機能的構成を示すブロック図である。図17に示すGWノード310は、イベント受信部311と、モジュール受信部312と、モジュール実行部313と、送信先情報受信部314と、送信先情報記憶部315と、イベント送信部316とを有する。さらに、図17に示すGWノード310は、経路情報取得部317と、経路情報送信部318とを有する。
[Configuration of GW node]
Next, a functional configuration of the GW node according to the present embodiment will be described. FIG. 17 is a block diagram illustrating a functional configuration of the GW node 310 according to the first embodiment. The GW node 310 illustrated in FIG. 17 includes an event reception unit 311, a module reception unit 312, a module execution unit 313, a transmission destination information reception unit 314, a transmission destination information storage unit 315, and an event transmission unit 316. . Furthermore, the GW node 310 illustrated in FIG. 17 includes a route information acquisition unit 317 and a route information transmission unit 318.

イベント受信部311は、イベントを受信する処理部である。一態様としては、イベント受信部311は、下位ノードであるセンサノード210や他のGWノード310からイベントを受信する。   The event receiving unit 311 is a processing unit that receives an event. As an aspect, the event reception unit 311 receives an event from the sensor node 210 or another GW node 310 that is a lower node.

モジュール受信部312は、サーバノード110からモジュールを受信する処理部である。このモジュール受信部312によって受信されたモジュールは、モジュールの実行制御を行うモジュール実行部313に出力される。   The module receiving unit 312 is a processing unit that receives a module from the server node 110. The module received by the module reception unit 312 is output to the module execution unit 313 that performs module execution control.

モジュール実行部313は、GWノード310に配備されたモジュールの実行制御を行う処理部である。一態様としては、モジュール実行部313は、イベント受信部311によってイベントが受信された場合に、受信されたイベントを入力イベント型とするモジュールがGWノード310に配備されているか否かを判定する。このとき、モジュール実行部313は、モジュールがGWノード310に配備されている場合には、当該モジュールを実行することによってイベントの処理を実行する。その後、モジュール実行部313は、モジュールによって処理が実行されたデータを新たなイベントとしてイベント送信部316へ出力する。なお、モジュールがGWノード310に配備されていない場合には、イベントを処理せずにそのままイベント送信部316へ出力する。   The module execution unit 313 is a processing unit that performs execution control of modules deployed in the GW node 310. As one aspect, when an event is received by the event reception unit 311, the module execution unit 313 determines whether or not a module that uses the received event as an input event type is deployed in the GW node 310. At this time, when the module is deployed in the GW node 310, the module execution unit 313 executes event processing by executing the module. Thereafter, the module execution unit 313 outputs the data processed by the module to the event transmission unit 316 as a new event. If the module is not deployed in the GW node 310, the event is output to the event transmission unit 316 without being processed.

送信先情報受信部314は、サーバノード110から送信先情報を受信する処理部である。一態様としては、送信先情報受信部314は、イベントの送信先となる上位ノードのノードIDをサーバノード110から受信する。そして、送信先情報受信部314は、受信した上位ノードのノードIDを後述の送信先情報記憶部315に格納する。   The transmission destination information receiving unit 314 is a processing unit that receives transmission destination information from the server node 110. As an aspect, the transmission destination information reception unit 314 receives from the server node 110 the node ID of the upper node that is the transmission destination of the event. Then, the transmission destination information reception unit 314 stores the received node ID of the higher order node in a transmission destination information storage unit 315 described later.

送信先情報記憶部315は、送信先情報を記憶する記憶部である。一態様としては、送信先情報記憶部315は、イベントの送信先となる上位ノードのノードIDを記憶する。また、他の態様としては、送信先情報記憶部315は、イベントの送信先となる上位ノードを決定するために、後述のイベント送信部316によって参照される。   The transmission destination information storage unit 315 is a storage unit that stores transmission destination information. As an aspect, the transmission destination information storage unit 315 stores the node ID of a higher-order node that is an event transmission destination. As another aspect, the transmission destination information storage unit 315 is referred to by an event transmission unit 316 described later in order to determine an upper node that is a transmission destination of an event.

イベント送信部316は、イベントを上位ノードに送信する処理部である。一態様としては、イベント送信部316は、モジュール実行部313によって処理されたイベント、あるいはイベント受信部311によってセンサデバイスから受信されたセンサ情報を上位ノードに送信する。このとき、イベント送信部316は、センサ情報を上位ノードに送信する場合には、発生ノードであるセンサノード210のノードID、自装置を含む複数のノードを集約する集約属性の属性名及び属性値をセンサ情報に付加する。そして、イベント送信部316は、送信先情報記憶部315を参照し、イベントの送信先となる上位ノードを決定する。その上で、イベント送信部316は、センサ情報とともに発生ノードのノードID及び集約属性を含むイベントを、送信先となる上位ノードに送信する。   The event transmission unit 316 is a processing unit that transmits an event to an upper node. As an aspect, the event transmission unit 316 transmits the event processed by the module execution unit 313 or the sensor information received from the sensor device by the event reception unit 311 to the upper node. At this time, when transmitting the sensor information to the upper node, the event transmission unit 316 collects the node ID of the sensor node 210 that is the generation node, the attribute name and attribute value of the aggregate attribute that aggregates a plurality of nodes including the own device. Is added to the sensor information. Then, the event transmission unit 316 refers to the transmission destination information storage unit 315 and determines an upper node that is the transmission destination of the event. After that, the event transmission unit 316 transmits an event including the node ID of the generation node and the aggregation attribute together with the sensor information to the upper node that is the transmission destination.

経路情報取得部317は、ネットワークの経路情報を取得する処理部である。一例としては、経路情報取得部317は、所定のタイミングで、自ノードからサーバノード110までに経由するルータ10を表す経路情報を取得する。経路情報取得部317は、取得した経路情報を前回取得した経路情報と比較し、経路情報に変更があるか否かを判定する。そして、経路情報に変更がある場合には、経路情報取得部317は、取得した経路情報を後述の経路情報送信部318に出力する。   The route information acquisition unit 317 is a processing unit that acquires network route information. As an example, the route information acquisition unit 317 acquires route information representing the router 10 passing from the own node to the server node 110 at a predetermined timing. The route information acquisition unit 317 compares the acquired route information with the previously acquired route information, and determines whether the route information has changed. If the route information is changed, the route information acquisition unit 317 outputs the acquired route information to the route information transmission unit 318 described later.

一態様としては、経路情報取得部317は、サーバノード110を宛先として指定したコマンド「traceroute」を実行する。これにより、経路情報取得部317は、自ノードからサーバノード110までに経由するルータ10のIPアドレス及びhop数を取得する。経路情報取得部317は、取得した各ルータ10のIPアドレス及びhop数を、前回取得したIPアドレス及びhop数と比較し、変更があるか否かを判定する。そして、変更がある場合には、経路情報取得部317は、取得したIPアドレス及びhop数を後述の経路情報送信部318に出力する。なお、tracerouteは、例えば、「tracert」とも称される。   As an aspect, the route information acquisition unit 317 executes a command “traceroute” that designates the server node 110 as a destination. As a result, the route information acquisition unit 317 acquires the IP address and the hop number of the router 10 that passes from the self node to the server node 110. The route information acquisition unit 317 compares the acquired IP address and hop number of each router 10 with the previously acquired IP address and hop number, and determines whether there is a change. If there is a change, the route information acquisition unit 317 outputs the acquired IP address and the number of hops to the route information transmission unit 318 described later. The traceroute is also referred to as “tracert”, for example.

経路情報送信部318は、経路情報取得部317から出力された経路情報をサーバノード110に送信する処理部である。一態様としては、経路情報送信部318は、経路情報取得部317によって取得された各中継装置のIPアドレス及びそのhop数に、自ノードのノードIDを付加して、サーバノード110に送信する。   The route information transmission unit 318 is a processing unit that transmits the route information output from the route information acquisition unit 317 to the server node 110. As an aspect, the route information transmission unit 318 adds the node ID of the own node to the IP address of each relay device acquired by the route information acquisition unit 317 and the number of hops thereof, and transmits the result to the server node 110.

[処理の流れ]
次に、本実施例に係るセンサネットワークシステムの処理の流れについて説明する。なお、ここでは、センサノード210によって実行される(1)全体処理を説明した後に、サーバノード110によって実行される(2)モジュール配備処理を説明することとする。
[Process flow]
Next, a processing flow of the sensor network system according to the present embodiment will be described. Here, after (1) the entire process executed by the sensor node 210 is described, the (2) module deployment process executed by the server node 110 will be described.

(1)全体処理
図18は、実施例1に係るセンサノード210における全体処理の手順を示すフローチャートである。この全体処理は、センサノード210の電源がON状態である限り、繰り返し実行される。
(1) Overall Processing FIG. 18 is a flowchart illustrating a procedure of overall processing in the sensor node 210 according to the first embodiment. This entire process is repeatedly executed as long as the power of the sensor node 210 is ON.

図18に示すように、センサノード210は、ネットワークの経路情報を取得する(ステップS101)。そして、センサノード210は、経路情報に変更があるか否かを判定する(ステップS102)。   As shown in FIG. 18, the sensor node 210 acquires network route information (step S101). Then, the sensor node 210 determines whether there is a change in the route information (step S102).

経路情報に変更があった場合(ステップS102肯定)には、センサノード210は、経路情報をサーバノード110に送信する(ステップS103)。なお、経路情報に変更がなかった場合(ステップS102否定)には、センサノード210は、ステップS103の処理を実行せずにステップS104の処理へ移行する。   If there is a change in the route information (Yes at Step S102), the sensor node 210 transmits the route information to the server node 110 (Step S103). If there is no change in the route information (No at Step S102), the sensor node 210 proceeds to the process at Step S104 without executing the process at Step S103.

続いて、サーバノード110からモジュールを受信した場合(ステップS104肯定)には、センサノード210は、サーバノード110から受信したモジュールを配備する(ステップS105)。なお、モジュールを受信しなかった場合(ステップS104否定)には、ステップS105の処理を実行せずにステップS106の処理へ移行する。   Subsequently, when the module is received from the server node 110 (Yes at Step S104), the sensor node 210 deploys the module received from the server node 110 (Step S105). If the module has not been received (No at Step S104), the process proceeds to Step S106 without executing Step S105.

そして、サーバノード110から送信先情報を受信した場合(ステップS106肯定)には、センサノード210は、受信した送信先情報を送信先情報記憶部215に格納する(ステップS107)。なお、送信先情報を受信しなかった場合(ステップS106否定)には、ステップS107の処理を実行せずにステップS108の処理へ移行する。   When the destination information is received from the server node 110 (Yes at Step S106), the sensor node 210 stores the received destination information in the destination information storage unit 215 (Step S107). If the destination information has not been received (No at Step S106), the process proceeds to Step S108 without executing Step S107.

そして、センサデバイスからセンサ情報を受信した場合(ステップS108肯定)には、センサノード210は、受信したセンサ情報を入力イベント型とするモジュールが配備されているか否かを判定する(ステップS109)。なお、センサ情報を受信しなかった場合(ステップS108否定)には、ステップS101の処理に戻る。   When sensor information is received from the sensor device (Yes at Step S108), the sensor node 210 determines whether or not a module that uses the received sensor information as an input event type is provided (Step S109). If sensor information has not been received (No at Step S108), the process returns to Step S101.

モジュールが配備されている場合(ステップS109肯定)には、センサノード210は、モジュールを実行することによってイベントを処理する(ステップS110)。そして、センサノード210は、処理されたイベントを上位ノードへ送信する(ステップS111)。   If the module is deployed (Yes at step S109), the sensor node 210 processes the event by executing the module (step S110). Then, the sensor node 210 transmits the processed event to the higher order node (step S111).

一方、モジュールが配備されていない場合(ステップS109否定)には、センサノード210は、センサデバイスから受信したセンサ情報に発生ノードIDや集約属性などを付加した上で上位ノードへ送信する(ステップS112)。   On the other hand, when the module is not deployed (No at Step S109), the sensor node 210 adds the generated node ID, the aggregation attribute, and the like to the sensor information received from the sensor device and transmits it to the upper node (Step S112). ).

このようにして、センサノード210は、上記のステップS101〜ステップS112までの処理を電源がOFF状態になるまで繰り返し実行する。   In this way, the sensor node 210 repeatedly executes the processes from step S101 to step S112 described above until the power is turned off.

なお、ここでは、センサノード210の全体処理について説明したが、中継ノードであるGWノード310によって実行される全体処理も一部を除き同様である。すなわち、GWノード310の場合には、上記のステップS108においてセンサ情報の代わりにイベントが受信される点が相違する点を除き、センサノード210と同様である。   Here, the entire process of the sensor node 210 has been described, but the entire process executed by the GW node 310 as a relay node is the same except for a part. That is, the GW node 310 is the same as the sensor node 210 except that the event is received instead of the sensor information in step S108.

(2)モジュール配備処理
図19及び図20は、実施例1に係るモジュール配備処理の手順を示すフローチャートである。このモジュール配備処理は、一例としては、センサネットワークのトポロジが変化した場合に処理が起動される。
(2) Module Deployment Processing FIGS. 19 and 20 are flowcharts illustrating the module deployment processing procedure according to the first embodiment. For example, the module deployment process is started when the topology of the sensor network changes.

図19に示すように、下位ノードから経路情報を受信した場合(ステップS201肯定)には、サーバノード110は、受信した経路情報を経路情報記憶部112Aに格納する(ステップS202)。そして、サーバノード110は、経路情報記憶部112Aを参照し、各ノードが同一の経路を経由するか否かに基づいて、各ノードの上位ノードを決定し、ノード間の接続情報をトポロジとして後述のトポロジ記憶部113Aに格納する(ステップS203)。なお、下位ノードから経路情報を受信しない場合(ステップS201否定)には、図20のステップS208の処理に移行する。   As shown in FIG. 19, when route information is received from a lower node (Yes at Step S201), the server node 110 stores the received route information in the route information storage unit 112A (Step S202). Then, the server node 110 refers to the route information storage unit 112A, determines an upper node of each node based on whether or not each node passes through the same route, and later describes connection information between the nodes as a topology. Stored in the topology storage unit 113A (step S203). If route information is not received from the lower node (No at Step S201), the process proceeds to Step S208 in FIG.

続いて、トポロジに変化があった場合(ステップS204肯定)には、サーバノード110は、配備先情報記憶部117Aに前回登録された配備先ノードIDを再評価する(ステップS205)。そして、配備先ノードIDが変更される場合(ステップS206肯定)には、サーバノード110は、新たなトポロジに基づいて、各ノードにそれぞれ対応する上位ノードIDを送信先情報として送信する(ステップS207)。このとき、サーバノード110は、モジュール記憶部111Aに記憶されたモジュールを配備先ノードIDに対応するノードへ送信する。なお、トポロジに変化がなかった場合(ステップS204否定)には、図20のステップS208の処理に移行する。また、配備先ノードIDが変更されない場合(ステップS206否定)にも、図20のステップS208の処理に移行する。   Subsequently, when the topology has changed (Yes at Step S204), the server node 110 re-evaluates the deployment destination node ID previously registered in the deployment destination information storage unit 117A (Step S205). When the deployment destination node ID is changed (Yes at Step S206), the server node 110 transmits the upper node ID corresponding to each node as transmission destination information based on the new topology (Step S207). ). At this time, the server node 110 transmits the module stored in the module storage unit 111A to the node corresponding to the deployment destination node ID. When there is no change in the topology (No at Step S204), the process proceeds to Step S208 in FIG. Also, when the deployment destination node ID is not changed (No at Step S206), the process proceeds to Step S208 in FIG.

続いて、サーバノード110は、発生イベント情報記憶部116Aが更新されるのを待機する(ステップS208)。そして、発生イベント情報記憶部116Aが更新されると、全てのモジュールの配備が終了したか否かが判断される(ステップS209)。ここではいずれのモジュールについても処理が終了していないので(ステップS209否定)、ステップS210の処理へ移行する。   Subsequently, the server node 110 waits for the occurrence event information storage unit 116A to be updated (step S208). Then, when the occurrence event information storage unit 116A is updated, it is determined whether or not all the modules have been deployed (step S209). Here, since the process has not been completed for any module (No at Step S209), the process proceeds to Step S210.

続いて、サーバノード110は、モジュール定義記憶部111Bに記憶されたモジュールの定義のうちモジュール識別子、入力イベント型及び集約属性名のカラムデータを配備先情報記憶部117Aの該当カラムに格納する(ステップS210)。   Subsequently, the server node 110 stores the column data of the module identifier, the input event type, and the aggregated attribute name among the module definitions stored in the module definition storage unit 111B in the corresponding column of the deployment destination information storage unit 117A (Step S110). S210).

そして、サーバノード110は、ステップS210の処理を実行後に、下記に説明するステップS211の処理を実行する。すなわち、サーバノード110は、発生イベント情報記憶部116Aに記憶された発生ノードIDのうち、発生イベント型が未配備のモジュールの入力イベント型に含まれる発生ノードIDを抽出する。さらに、サーバノード110は、前述のように抽出した発生ノードID間で未配備のモジュールに定義された集約属性の属性名と同一の集約属性に属する属性値が同一であるノードを抽出する。   And the server node 110 performs the process of step S211 demonstrated below after performing the process of step S210. That is, the server node 110 extracts the occurrence node ID included in the input event type of the module in which the occurrence event type is not deployed from the occurrence node IDs stored in the occurrence event information storage unit 116A. Further, the server node 110 extracts nodes having the same attribute value belonging to the same aggregate attribute as the attribute name of the aggregate attribute defined in the undeployed module between the generated node IDs extracted as described above.

その後、サーバノード110は、抽出結果として得られた発生ノードID及び発生ノードIDに対応付けられた発生イベント属性を配備先情報記憶部117Aに書き込む(ステップS212)。   Thereafter, the server node 110 writes the generated node ID obtained as an extraction result and the generated event attribute associated with the generated node ID in the deployment destination information storage unit 117A (step S212).

このとき、発生ノードIDの数が「0」である場合(ステップS213肯定)には、下位ノードから通知される発生イベントが発生イベント情報記憶部116Aに登録し切れていない可能性がある。この場合には、図19のステップS201の処理に移行する。   At this time, if the number of generated node IDs is “0” (Yes in step S213), there is a possibility that the generated event notified from the lower node is not completely registered in the generated event information storage unit 116A. In this case, the process proceeds to step S201 in FIG.

ここで、発生ノードIDの数が複数である場合(ステップS214肯定)には、下記に説明するステップS215の処理を実行する。すなわち、サーバノード110は、トポロジ記憶部113Aに記憶された上位ノードIDのうち各発生ノードIDに対応するセンサノード210又はGWノード310が下位ノードとして全て収容され、かつ最も下位ノード側であるノードIDを抽出する。そして、サーバノード110は、前述のように抽出したノードIDを配備先ノードIDのカラムに登録する(ステップS216)。   Here, when the number of generated node IDs is plural (Yes at Step S214), the process of Step S215 described below is executed. In other words, the server node 110 is a node that contains all of the sensor nodes 210 or GW nodes 310 corresponding to the generated node IDs as lower nodes among the upper node IDs stored in the topology storage unit 113A and is the lowest node side. Extract the ID. Then, the server node 110 registers the node ID extracted as described above in the column of the deployment destination node ID (step S216).

また、発生ノードIDの数が1つである場合(ステップS214否定)には、サーバノード110は、モジュールを配備するノードに選択の余地がないので、先に抽出結果として得られた発生ノードIDを配備先ノードIDのカラムに登録する(ステップS216)。   If the number of generated node IDs is one (No in step S214), the server node 110 has no room for selection in the node on which the module is deployed, and therefore the generated node ID obtained as the extraction result first. Is registered in the column of the deployment destination node ID (step S216).

続いて、サーバノード110は、モジュール記憶部111Aに記憶されたモジュールを配備先ノードIDに対応するノードへ送信し(ステップS217)、図19のステップS201の処理に戻る。   Subsequently, the server node 110 transmits the module stored in the module storage unit 111A to the node corresponding to the deployment destination node ID (step S217), and returns to the process of step S201 in FIG.

その後、サーバノード110は、全てのモジュールの配備が終了するまで(ステップS209否定)、上記のステップS201〜ステップS217までの処理を繰り返し実行する。そして、全てのモジュールの配備が終了すると(ステップS209肯定)、処理を終了する。   Thereafter, the server node 110 repeatedly executes the processes from step S201 to step S217 until the deployment of all modules is completed (No at step S209). Then, when the deployment of all the modules is completed (Yes at Step S209), the process is terminated.

[実施例1の効果]
上述してきたように、本実施例に係るサーバノード110は、ネットワークに接続された複数のノードから、ネットワークの経路に関連する経路情報を受信する。サーバノード110は、受信した経路情報に基づいて、複数のノード間の接続情報を生成する。サーバノード110は、生成した接続情報によって示されるノード間でイベントが送信される場合に、複数のノードのうち一又は複数のノードに、イベントを処理するモジュールを配備可能か否か判定する。サーバノード110は、ノードにモジュールを配備可能であれば、複数のノードのそれぞれについて設定されたイベントの送信先を、生成した接続情報によって示されるノードに変更するとともに、ノードにモジュールを配備する。このため、サーバノード110は、ネットワーク経路の変化に応じてモジュールを適切に配備することができる。したがって、サーバノード110は、センサネットワークのトラフィックを抑制でき、さらに、サーバノード110に負荷が集中することも防止できる。
[Effect of Example 1]
As described above, the server node 110 according to the present embodiment receives route information related to a network route from a plurality of nodes connected to the network. The server node 110 generates connection information between a plurality of nodes based on the received route information. When an event is transmitted between the nodes indicated by the generated connection information, the server node 110 determines whether or not a module for processing the event can be deployed in one or a plurality of nodes among the plurality of nodes. If the module can be deployed to the node, the server node 110 changes the event transmission destination set for each of the plurality of nodes to the node indicated by the generated connection information, and deploys the module to the node. For this reason, the server node 110 can appropriately deploy modules according to changes in the network path. Therefore, the server node 110 can suppress the traffic of the sensor network and can further prevent the load from being concentrated on the server node 110.

ところで、上記の実施例1では、センサネットワークに新たなノードが追加される場合にトポロジを構築し、できるだけ下位のノードにモジュールを配備する例について説明したが、本発明はセンサネットワークからノードが削除される場合にも適用可能である。そこで、本実施例では、センサネットワークからノードが削除される場合にトポロジを生成し、できるだけ下位のノードにモジュールを配備する方法について説明する。   By the way, in the first embodiment described above, an example has been described in which a topology is constructed when a new node is added to the sensor network, and a module is arranged in a lower node as much as possible. However, in the present invention, the node is deleted from the sensor network. It is also applicable to cases where Therefore, in the present embodiment, a method for generating a topology when a node is deleted from the sensor network and deploying modules to the lowest possible nodes will be described.

[サーバノードの構成]
図21は、実施例2に係るサーバノード120の機能的構成を示すブロック図である。図21に示すサーバノード120は、図2に示したサーバノード110に比べて、生存情報受信部121及び生存監視部122を有する点が相違する。なお、以下では、上記の実施例1と同様の機能を発揮する機能部については同一の符号を付し、その説明を省略することとする。
[Server node configuration]
FIG. 21 is a block diagram illustrating a functional configuration of the server node 120 according to the second embodiment. The server node 120 illustrated in FIG. 21 is different from the server node 110 illustrated in FIG. 2 in that it includes a survival information receiving unit 121 and a survival monitoring unit 122. In the following, functional units that exhibit the same functions as those in the first embodiment are denoted by the same reference numerals, and description thereof is omitted.

生存情報受信部121は、例えば、センサノード220やGWノード320などの下位ノードから、送信元のノードが通信可能な状態にあることを示す生存情報を受信する処理部である。生存情報受信部121は、受信した生存情報を後述の生存監視部122に出力する。   The survival information reception unit 121 is a processing unit that receives survival information indicating that the transmission source node is in a communicable state from lower nodes such as the sensor node 220 and the GW node 320, for example. The survival information receiving unit 121 outputs the received survival information to the later-described survival monitoring unit 122.

生存監視部122は、下位ノードが通信可能な状態にあるか否かを監視する処理部である。一例としては、生存監視部122は、図示しない内部メモリを有し、生存情報受信部121によって受信された生存情報の送信元ノードのノードIDごとに受信時刻を内部メモリに格納する。そして、生存監視部122は、生存情報が一定時間以上受信されない下位ノードがあるか否か監視し、生存情報が一定時間以上受信されない下位ノードがある場合に、当該下位ノードの経路情報を経路情報記憶部112Aから削除する。なお、生存監視部122が下位ノードの生存を監視する方法は、上記の方法に限定されるものではなく、例えば、所定の間隔で受信される生存情報が受信されなくなった場合に、当該生存情報の送信元ノードの経路情報を削除することとしても良い。   The survival monitoring unit 122 is a processing unit that monitors whether or not lower-level nodes are in a communicable state. As an example, the survival monitoring unit 122 includes an internal memory (not shown), and stores the reception time in the internal memory for each node ID of the transmission source node of the survival information received by the survival information receiving unit 121. Then, the survival monitoring unit 122 monitors whether there is a lower node for which the survival information is not received for a certain period of time, and if there is a lower node for which the survival information is not received for a certain period of time, the path information of the lower node is displayed as path information. Delete from storage unit 112A. Note that the method of monitoring the survival of the lower nodes by the survival monitoring unit 122 is not limited to the above method. For example, when the survival information received at a predetermined interval is not received, the survival information The route information of the source node may be deleted.

一態様としては、生存監視部122は、GW−Xからの生存情報が一定時間以上受信されない場合には、GW−Xから受信した経路情報を削除する。図13に示した例では、生存監視部122は、13行目の「GW−X」、「1」及び「192.168.100.1」が対応付けられたデータから、15行目の「GW−X」、「3」及び「192.168.1.10」が対応付けられたデータまでを削除する。   As one aspect, the survival monitoring unit 122 deletes the route information received from the GW-X when the survival information from the GW-X is not received for a certain time or more. In the example illustrated in FIG. 13, the survival monitoring unit 122 uses the data associated with “GW-X”, “1”, and “192.168.100.1” on the 13th row, Delete up to data associated with “GW-X”, “3”, and “192.168.1.10”.

[センサノードの構成]
図22は、実施例2に係るセンサノード220の機能的構成を示すブロック図である。図22に示すセンサノード220は、図16に示したセンサノード210に比べて、生存情報送信部221をさらに有する点が相違する。
[Configuration of sensor node]
FIG. 22 is a block diagram illustrating a functional configuration of the sensor node 220 according to the second embodiment. The sensor node 220 illustrated in FIG. 22 is different from the sensor node 210 illustrated in FIG. 16 in that it further includes a survival information transmission unit 221.

生存情報送信部221は、生存情報を送信する処理部である。一態様としては、生存情報送信部221は、所定のタイミングで、自ノードが通信可能な状態にあることを示す生存情報をサーバノード120に送信する。   The survival information transmission unit 221 is a processing unit that transmits survival information. As one aspect, the survival information transmission unit 221 transmits survival information indicating that the own node is in a communicable state to the server node 120 at a predetermined timing.

[GWノードの構成]
図23は、実施例2に係るGWノード320の機能的構成を示すブロック図である。図23に示すGWノード320は、図17に示したGWノード310に比べて、生存情報送信部321をさらに有する点が相違する。
[Configuration of GW node]
FIG. 23 is a block diagram illustrating a functional configuration of the GW node 320 according to the second embodiment. The GW node 320 illustrated in FIG. 23 is different from the GW node 310 illustrated in FIG. 17 in that it further includes a survival information transmission unit 321.

生存情報送信部321は、生存情報を送信する処理部である。一態様としては、生存情報送信部321は、所定のタイミングで、自ノードが通信可能な状態にあることを示す生存情報をサーバノード120に送信する。   The survival information transmission unit 321 is a processing unit that transmits survival information. As an aspect, the survival information transmission unit 321 transmits survival information indicating that the own node is in a communicable state to the server node 120 at a predetermined timing.

[処理の流れ]
次に、本実施例に係るセンサネットワークシステムの処理の流れについて説明する。なお、ここでは、センサノード210によって実行される(1)全体処理を説明した後に、サーバノード120によって実行される(2)モジュール配備処理を説明することとする。
[Process flow]
Next, a processing flow of the sensor network system according to the present embodiment will be described. Here, after (1) the overall process executed by the sensor node 210 is described, the (2) module deployment process executed by the server node 120 will be described.

(1)全体処理
図24は、実施例2に係るセンサノード220における全体処理の手順を示すフローチャートである。この全体処理は、センサノード220の電源がON状態である限り、繰り返し実行される。なお、図24に示すセンサノード220における全体処理は、図18に示したセンサノード210における全体処理に比べて、ステップS301の処理がさらに実行される点が異なる。
(1) Overall Processing FIG. 24 is a flowchart illustrating a procedure of overall processing in the sensor node 220 according to the second embodiment. This entire process is repeatedly executed as long as the power of the sensor node 220 is ON. Note that the overall process in the sensor node 220 shown in FIG. 24 is different from the overall process in the sensor node 210 shown in FIG.

図24に示すように、センサノード220は、生存情報をサーバノード120に送信する(ステップS301)。続いて、センサノード220は、ネットワークの経路情報を取得する(ステップS101)。そして、センサノード220は、経路情報に変更があるか否かを判定する(ステップS102)。   As shown in FIG. 24, the sensor node 220 transmits the survival information to the server node 120 (step S301). Subsequently, the sensor node 220 acquires network route information (step S101). Then, the sensor node 220 determines whether or not there is a change in the route information (Step S102).

経路情報に変更があった場合(ステップS102肯定)には、センサノード220は、経路情報をサーバノード120に送信する(ステップS103)。なお、経路情報に変更がなかった場合(ステップS102否定)には、センサノード220は、ステップS103の処理を実行せずにステップS104の処理へ移行する。   When there is a change in the route information (Yes at Step S102), the sensor node 220 transmits the route information to the server node 120 (Step S103). If there is no change in the route information (No at Step S102), the sensor node 220 proceeds to the process at Step S104 without executing the process at Step S103.

続いて、サーバノード120からモジュールを受信した場合(ステップS104肯定)には、センサノード220は、サーバノード120から受信したモジュールを配備する(ステップS105)。なお、モジュールを受信しなかった場合(ステップS104否定)には、ステップS105の処理を実行せずにステップS106の処理へ移行する。   Subsequently, when the module is received from the server node 120 (Yes at Step S104), the sensor node 220 deploys the module received from the server node 120 (Step S105). If the module has not been received (No at Step S104), the process proceeds to Step S106 without executing Step S105.

そして、サーバノード120から送信先情報を受信した場合(ステップS106肯定)には、センサノード220は、受信した送信先情報を送信先情報記憶部215に格納する(ステップS107)。なお、送信先情報を受信しなかった場合(ステップS106否定)には、ステップS107の処理を実行せずにステップS108の処理へ移行する。   If the destination information is received from the server node 120 (Yes at Step S106), the sensor node 220 stores the received destination information in the destination information storage unit 215 (Step S107). If the destination information has not been received (No at Step S106), the process proceeds to Step S108 without executing Step S107.

そして、センサデバイスからセンサ情報を受信した場合(ステップS108肯定)には、センサノード220は、受信したセンサ情報を入力イベント型とするモジュールが配備されているか否かを判定する(ステップS109)。なお、センサ情報を受信しなかった場合(ステップS108否定)には、ステップS301の処理に戻る。   When sensor information is received from the sensor device (Yes at Step S108), the sensor node 220 determines whether or not a module that uses the received sensor information as an input event type is deployed (Step S109). If sensor information is not received (No at Step S108), the process returns to Step S301.

モジュールが配備されている場合(ステップS109肯定)には、センサノード220は、モジュールを実行することによってイベントを処理する(ステップS110)。そして、センサノード220は、処理されたイベントを上位ノードへ送信する(ステップS111)。   If the module is deployed (Yes at step S109), the sensor node 220 processes the event by executing the module (step S110). Then, the sensor node 220 transmits the processed event to the upper node (step S111).

一方、モジュールが配備されていない場合(ステップS109否定)には、センサノード220は、センサデバイスから受信したセンサ情報に発生ノードIDや集約属性などを付加した上で上位ノードへ送信する(ステップS112)。   On the other hand, if the module is not deployed (No at Step S109), the sensor node 220 adds the generated node ID and the aggregate attribute to the sensor information received from the sensor device, and transmits it to the upper node (Step S112). ).

このようにして、センサノード220は、上記のステップS301〜ステップS112までの処理を電源がOFF状態になるまで繰り返し実行する。   In this way, the sensor node 220 repeatedly executes the processing from step S301 to step S112 described above until the power is turned off.

なお、ここでは、センサノード220の全体処理について説明したが、中継ノードであるGWノード320によって実行される全体処理も一部を除き同様である。すなわち、GWノード320の場合には、上記のステップS108においてセンサ情報の代わりにイベントが受信される点が相違する点を除き、センサノード220と同様である。   Here, the entire process of the sensor node 220 has been described, but the entire process executed by the GW node 320 as a relay node is the same except for a part. That is, the GW node 320 is the same as the sensor node 220 except that the event is received instead of the sensor information in step S108.

(2)モジュール配備処理
図25及び図26は、実施例2に係るモジュール配備処理の手順を示すフローチャートである。このモジュール配備処理は、一例としては、センサネットワークのトポロジが変化した場合に処理が起動される。なお、図25及び図26に示すサーバノード120におけるモジュール配備処理は、図19及び図20に示したサーバノード110におけるモジュール配備処理に比べて、ステップS401〜ステップS403の処理がさらに実行される点が異なる。
(2) Module Deployment Processing FIGS. 25 and 26 are flowcharts illustrating the procedure of module deployment processing according to the second embodiment. For example, the module deployment process is started when the topology of the sensor network changes. Note that the module deployment process in the server node 120 shown in FIGS. 25 and 26 is further executed in steps S401 to S403 as compared to the module deployment process in the server node 110 shown in FIGS. Is different.

図25に示すように、サーバノード120は、センサノード220やGWノード320などの下位ノードから生存情報を受信する(ステップS401)。そして、生存情報が一定時間以上受信されない下位ノードがある場合(ステップS402肯定)には、サーバノード120は、当該下位ノードの経路情報を経路情報記憶部112Aから削除する(ステップS403)。なお、サーバノード120は、生存情報が一定時間以上受信されない下位ノードがない場合(ステップS402否定)には、ステップS403の処理を実行せずにステップS201の処理へ移行する。   As shown in FIG. 25, the server node 120 receives the survival information from lower nodes such as the sensor node 220 and the GW node 320 (step S401). If there is a lower node for which the survival information has not been received for a certain period of time (Yes in step S402), the server node 120 deletes the route information of the lower node from the route information storage unit 112A (step S403). If there is no lower node for which the survival information has not been received for a certain period of time (No at Step S402), the server node 120 proceeds to the process at Step S201 without executing the process at Step S403.

続いて、下位ノードから経路情報を受信した場合(ステップS201肯定)には、サーバノード120は、受信した経路情報を経路情報記憶部112Aに格納する(ステップS202)。そして、サーバノード120は、経路情報記憶部112Aを参照し、各ノードが同一の経路を経由するか否かに基づいて、各ノードの上位ノードを決定し、ノード間の接続情報をトポロジとして後述のトポロジ記憶部113Aに格納する(ステップS203)。なお、下位ノードから経路情報を受信しない場合(ステップS201否定)には、図26のステップS208の処理に移行する。   Subsequently, when the path information is received from the lower node (Yes at Step S201), the server node 120 stores the received path information in the path information storage unit 112A (Step S202). Then, the server node 120 refers to the route information storage unit 112A, determines an upper node of each node based on whether or not each node passes through the same route, and later describes connection information between the nodes as a topology. Stored in the topology storage unit 113A (step S203). If route information is not received from the lower node (No at Step S201), the process proceeds to Step S208 in FIG.

続いて、トポロジに変化があった場合(ステップS204肯定)には、サーバノード120は、配備先情報記憶部117Aに前回登録された配備先ノードIDを再評価する(ステップS205)。そして、配備先ノードIDが変更される場合(ステップS206肯定)には、サーバノード120は、新たなトポロジに基づいて、各ノードにそれぞれ対応する上位ノードIDを送信先情報として送信する(ステップS207)。このとき、サーバノード120は、モジュール記憶部111Aに記憶されたモジュールを配備先ノードIDに対応するノードへ送信する。なお、トポロジに変化がなかった場合(ステップS204否定)には、図26のステップS208の処理に移行する。また、配備先ノードIDが変更されない場合(ステップS206否定)にも、図26のステップS208の処理に移行する。   Subsequently, when there is a change in topology (Yes at Step S204), the server node 120 re-evaluates the deployment destination node ID previously registered in the deployment destination information storage unit 117A (Step S205). When the deployment destination node ID is changed (Yes at Step S206), the server node 120 transmits the upper node ID corresponding to each node as transmission destination information based on the new topology (Step S207). ). At this time, the server node 120 transmits the module stored in the module storage unit 111A to the node corresponding to the deployment destination node ID. When there is no change in the topology (No at Step S204), the process proceeds to Step S208 in FIG. In addition, when the deployment destination node ID is not changed (No at Step S206), the process proceeds to Step S208 in FIG.

続いて、サーバノード120は、発生イベント情報記憶部116Aが更新されるのを待機する(ステップS208)。そして、発生イベント情報記憶部116Aが更新されると、全てのモジュールの配備が終了したか否かが判断される(ステップS209)。ここではいずれのモジュールについても処理が終了していないので(ステップS209否定)、ステップS210の処理へ移行する。   Subsequently, the server node 120 waits for the occurrence event information storage unit 116A to be updated (step S208). Then, when the occurrence event information storage unit 116A is updated, it is determined whether or not all the modules have been deployed (step S209). Here, since the process has not been completed for any module (No at Step S209), the process proceeds to Step S210.

続いて、サーバノード120は、モジュール定義記憶部111Bに記憶されたモジュールの定義のうちモジュール識別子、入力イベント型及び集約属性名のカラムデータを配備先情報記憶部117Aの該当カラムに格納する(ステップS210)。   Subsequently, the server node 120 stores the column data of the module identifier, the input event type, and the aggregate attribute name among the module definitions stored in the module definition storage unit 111B in the corresponding column of the deployment destination information storage unit 117A (step S210).

そして、サーバノード120は、ステップS210の処理を実行後に、下記に説明するステップS211の処理を実行する。すなわち、サーバノード120は、発生イベント情報記憶部116Aに記憶された発生ノードIDのうち、発生イベント型が未配備のモジュールの入力イベント型に含まれる発生ノードIDを抽出する。さらに、サーバノード120は、前述のように抽出した発生ノードID間で未配備のモジュールに定義された集約属性の属性名と同一の集約属性に属する属性値が同一であるノードを抽出する。   Then, after executing the process of step S210, the server node 120 executes the process of step S211 described below. That is, the server node 120 extracts the occurrence node ID included in the input event type of the module in which the occurrence event type is not deployed from the occurrence node IDs stored in the occurrence event information storage unit 116A. Further, the server node 120 extracts nodes having the same attribute value belonging to the same aggregate attribute as the attribute name of the aggregate attribute defined in the undeployed module between the generated node IDs extracted as described above.

その後、サーバノード120は、抽出結果として得られた発生ノードID及び発生ノードIDに対応付けられた発生イベント属性を配備先情報記憶部117Aに書き込む(ステップS212)。   Thereafter, the server node 120 writes the generated node ID obtained as an extraction result and the generated event attribute associated with the generated node ID in the deployment destination information storage unit 117A (step S212).

このとき、発生ノードIDの数が「0」である場合(ステップS213肯定)には、下位ノードから通知される発生イベントが発生イベント情報記憶部116Aに登録し切れていない可能性がある。この場合には、図25のステップS401の処理に移行する。   At this time, if the number of generated node IDs is “0” (Yes in step S213), there is a possibility that the generated event notified from the lower node is not completely registered in the generated event information storage unit 116A. In this case, the process proceeds to step S401 in FIG.

ここで、発生ノードIDの数が複数である場合(ステップS214肯定)には、下記に説明するステップS215の処理を実行する。すなわち、サーバノード120は、トポロジ記憶部113Aに記憶された上位ノードIDのうち各発生ノードIDに対応するセンサノード210又はGWノード310が下位ノードとして全て収容され、かつ最も下位ノード側であるノードIDを抽出する。そして、サーバノード120は、前述のように抽出したノードIDを配備先ノードIDのカラムに登録する(ステップS216)。   Here, when the number of generated node IDs is plural (Yes at Step S214), the process of Step S215 described below is executed. In other words, the server node 120 is a node that contains all the sensor nodes 210 or GW nodes 310 corresponding to the respective generation node IDs as lower nodes among the upper node IDs stored in the topology storage unit 113A and is the lowest node side. Extract the ID. Then, the server node 120 registers the node ID extracted as described above in the column of the deployment destination node ID (step S216).

また、発生ノードIDの数が1つである場合(ステップS214否定)には、サーバノード120は、モジュールを配備するノードに選択の余地がないので、先に抽出結果として得られた発生ノードIDを配備先ノードIDのカラムに登録する(ステップS216)。   If the number of occurrence node IDs is one (No in step S214), the server node 120 has no room for selection in the node where the module is deployed, and thus the occurrence node ID obtained as the extraction result first. Is registered in the column of the deployment destination node ID (step S216).

続いて、サーバノード120は、モジュール記憶部111Aに記憶されたモジュールを配備先ノードIDに対応するノードへ送信し(ステップS217)、図25のステップS401の処理に戻る。   Subsequently, the server node 120 transmits the module stored in the module storage unit 111A to the node corresponding to the deployment destination node ID (step S217), and returns to the process of step S401 in FIG.

その後、サーバノード120は、全てのモジュールの配備が終了するまで(ステップS209否定)、上記のステップS401〜ステップS217までの処理を繰り返し実行する。そして、全てのモジュールの配備が終了すると(ステップS209肯定)、処理を終了する。   Thereafter, the server node 120 repeatedly executes the processes from step S401 to step S217 until the deployment of all the modules is completed (No at step S209). Then, when the deployment of all the modules is completed (Yes at Step S209), the process is terminated.

[実施例2の効果]
上述してきたように、本実施例に係るサーバノード120は、ネットワークに接続された複数のノードのそれぞれが通信可能な状態にあるか否かを監視する。そして、サーバノード120は、いずれかのノードが通信不能な状態になった場合に、通信不能な状態になったノードから受信された経路情報を削除する。そして、サーバノード120は、通信不能な状態になったノードから受信された経路情報が削除された経路情報に基づいて、前記複数のノード間の接続情報を生成する。このため、サーバノード120は、センサネットワークからノードが削除される場合にも、下位側のノードにモジュールを適切に配備することができる。
[Effect of Example 2]
As described above, the server node 120 according to the present embodiment monitors whether or not each of a plurality of nodes connected to the network is in a communicable state. The server node 120 then deletes the route information received from the node that has become unable to communicate when any of the nodes has become unable to communicate. Then, the server node 120 generates connection information between the plurality of nodes based on the route information from which the route information received from the node in the communication disabled state is deleted. Therefore, the server node 120 can appropriately deploy the module to the lower-level node even when the node is deleted from the sensor network.

さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。   Although the embodiments of the present invention have been described so far, the present invention may be implemented in other embodiments besides the above-described embodiments. Therefore, other embodiments will be described below.

上記の実施例では、あるLANで割り当てられたIPアドレスを経路情報として用いる場合を説明したが、本発明はこれに限定されるものではない。例えば、WAN(Wide Area Network)側のIPアドレスやMAC(Media Access Control)アドレスなど、ルータ10やホストを識別するために割り当てられた複数のアドレスを組み合わせて用いることもできる。このような場合には、例えば、複数のアドレスの組み合わせが経路情報として経路情報記憶部112Aに格納されることとなる。   In the above embodiment, the case where an IP address assigned in a certain LAN is used as route information has been described, but the present invention is not limited to this. For example, a plurality of addresses assigned to identify the router 10 and the host, such as a WAN (Wide Area Network) side IP address and a MAC (Media Access Control) address, may be used in combination. In such a case, for example, a combination of a plurality of addresses is stored in the route information storage unit 112A as route information.

図27は、経路情報記憶部に記憶される情報の構成例を示す図である。図27に示す例では、経路情報記憶部112Aは、送信元ノードID、hop数、IPアドレス及びWAN側IPアドレスが対応付けられたデータを記憶する。一例としては、このWAN側IPアドレスは、下位ノードがUPnP(Universal Plug and Play)プロトコル等を用いて上位ノードを自動認識することによって検出される。また、他の例としては、トポロジを生成するために、トポロジ生成部113によって参照される。   FIG. 27 is a diagram illustrating a configuration example of information stored in the route information storage unit. In the example illustrated in FIG. 27, the route information storage unit 112A stores data in which a transmission source node ID, the number of hops, an IP address, and a WAN-side IP address are associated with each other. As an example, this WAN-side IP address is detected when a lower node automatically recognizes an upper node using a UPnP (Universal Plug and Play) protocol or the like. As another example, the topology generation unit 113 refers to the generation of the topology.

一態様としては、IPアドレス及びWAN側IPアドレスの組み合わせを経路情報として用いることで、トポロジ生成部113によってトポロジが生成される。図27に示す例では、「温度センサX」の上位ノードになり得るノードとしては、「GW−X」、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−X」のhop数「1」に対応付けられたIPアドレス「192.168.100.1」及びWAN側IPアドレス「1.1.10.2」は、「温度センサX」のhop数「1」に対応付けられたIPアドレス及びWAN側IPアドレスと一致する。このため、IPアドレス「192.168.100.1」及びWAN側IPアドレス「1.1.10.2」を、「温度センサX」及び「GW−X」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「GW−Z」のhop数「1」に対応付けられたIPアドレス「1.1.10.1」は、「温度センサX」のhop数「2」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.10.1」を、「温度センサX」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」のhop数「1」に対応付けられたIPアドレス「1.1.1.10」は、「温度センサX」のhop数「3」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.1.10」を、「温度センサX」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   As an aspect, the topology generation unit 113 generates a topology by using a combination of an IP address and a WAN side IP address as route information. In the example illustrated in FIG. 27, “GW-X”, “GW-Z”, and “cloud” can be listed as nodes that can be upper nodes of “temperature sensor X”. Among these, the IP address “192.168.100.1” and the WAN side IP address “1.1.10.2” associated with the hop number “1” of “GW-X” are “temperature sensor X ”Matches the IP address and WAN side IP address associated with the hop number“ 1 ”. Therefore, the router 10 through which the “temperature sensor X” and “GW-X” commonly pass the IP address “192.168.100.1” and the WAN-side IP address “1.1.10.2” or It is specified as the IP address of the host. Also, the IP address “1.1.10.1” associated with the hop number “1” of “GW-Z” is the same as the IP address associated with the hop number “2” of “temperature sensor X”. Match. Therefore, the IP address “1.1.10.1” is specified as the IP address of the router 10 or the host through which “temperature sensor X” and “GW-Z” pass in common. Further, the IP address “1.1.1.10” associated with the “hop” “1” of “cloud” matches the IP address associated with the “hop” “3” of “temperature sensor X”. . Therefore, the IP address “1.1.1.10” is specified as the IP address of the router 10 or the host through which “temperature sensor X” and “cloud” pass in common.

このように、「温度センサX」と同一の経路を経由する上位ノードとして、「GW−X」、「GW−Z」及び「クラウド」の3つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−X」は、「温度センサX」のhop数「1」に対応付けられており、「GW−Z」は、「温度センサX」のhop数「2」に対応付けられており、「クラウド」は、「温度センサX」のhop数「3」に対応付けられている。よって、下位ノード「温度センサX」の上位ノードとして「GW−X」が特定される。   As described above, when three nodes “GW-X”, “GW-Z”, and “Cloud” are specified as the upper nodes passing through the same route as the “temperature sensor X”, An upper node passing through the same route on the lowest side is specified. In this case, “GW-X” is associated with the hop number “1” of “temperature sensor X”, and “GW-Z” is associated with the hop number “2” of “temperature sensor X”. “Cloud” is associated with the hop number “3” of “temperature sensor X”. Therefore, “GW-X” is specified as the upper node of the lower node “temperature sensor X”.

また、図27に示す例では、「湿度センサX」の上位ノードになり得るノードとしては、「GW−X」、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−X」のhop数「1」に対応付けられたIPアドレス「192.168.100.1」及びWAN側IPアドレス「1.1.10.2」は、「湿度センサX」のhop数「1」に対応付けられたIPアドレス及びWAN側IPアドレスと一致する。このため、IPアドレス「192.168.100.1」及びWAN側IPアドレス「1.1.10.2」を、「湿度センサX」及び「GW−X」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「GW−Z」のhop数「1」に対応付けられたIPアドレス「1.1.10.1」は、「湿度センサX」のhop数「2」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.10.1」を、「湿度センサX」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」のhop数「1」に対応付けられたIPアドレス「1.1.1.10」は、「湿度センサX」のhop数「3」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.1.10」を、「湿度センサX」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   In the example illustrated in FIG. 27, “GW-X”, “GW-Z”, and “cloud” can be listed as nodes that can be upper nodes of “humidity sensor X”. Among these, the IP address “192.168.100.1” and the WAN side IP address “1.1.10.2” associated with the hop number “1” of “GW-X” are “humidity sensor X”. ”Matches the IP address and WAN side IP address associated with the hop number“ 1 ”. For this reason, the router 10 through which the “humidity sensor X” and “GW-X” commonly pass the IP address “192.168.100.1” and the WAN-side IP address “1.1.10.2” or It is specified as the IP address of the host. Also, the IP address “1.1.10.1” associated with the hop number “1” of “GW-Z” is the IP address associated with the hop number “2” of “humidity sensor X”. Match. Therefore, the IP address “1.1.10.1” is specified as the IP address of the router 10 or the host through which “humidity sensor X” and “GW-Z” pass in common. The IP address “1.1.1.10” associated with the “hop” “1” of “cloud” matches the IP address associated with the “hop” “3” of “humidity sensor X”. . For this reason, the IP address “1.1.1.10” is specified as the IP address of the router 10 or the host through which “humidity sensor X” and “cloud” pass in common.

このように、「湿度センサX」と同一の経路を経由する上位ノードとして、「GW−X」、「GW−Z」及び「クラウド」の3つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−X」は、「湿度センサX」のhop数「1」に対応付けられており、「GW−Z」は、「湿度センサX」のhop数「2」に対応付けられており、「クラウド」は、「湿度センサX」のhop数「3」に対応付けられている。よって、下位ノード「湿度センサX」の上位ノードとして「GW−X」が特定される。   As described above, when three nodes “GW-X”, “GW-Z”, and “Cloud” are specified as upper nodes passing through the same route as “humidity sensor X”, An upper node passing through the same route on the lowest side is specified. In this case, “GW-X” is associated with the hop number “1” of “humidity sensor X”, and “GW-Z” is associated with the hop number “2” of “humidity sensor X”. “Cloud” is associated with the hop number “3” of “humidity sensor X”. Therefore, “GW-X” is specified as the upper node of the lower node “humidity sensor X”.

また、図27に示す例では、「温度センサY」の上位ノードになり得るノードとしては、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−Z」のhop数「1」に対応付けられたIPアドレス「1.1.10.1」は、「温度センサY」のhop数「2」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.10.1」を、「温度センサY」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」のhop数「1」に対応付けられたIPアドレス「1.1.1.10」は、「温度センサY」のhop数「3」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.1.10」を、「温度センサY」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   In the example illustrated in FIG. 27, “GW-Z” and “cloud” can be cited as nodes that can be upper nodes of “temperature sensor Y”. Among these, the IP address “1.1.10.1” associated with the hop number “1” of “GW-Z” is the IP address associated with the hop number “2” of “temperature sensor Y”. Matches. Therefore, the IP address “1.1.10.1” is specified as the IP address of the router 10 or the host through which “temperature sensor Y” and “GW-Z” pass in common. In addition, the IP address “1.1.1.10” associated with the hop number “1” of “cloud” matches the IP address associated with the hop number “3” of “temperature sensor Y”. . Therefore, the IP address “1.1.1.10” is specified as the IP address of the router 10 or the host through which “temperature sensor Y” and “cloud” pass in common.

このように、「温度センサY」と同一の経路を経由する上位ノードとして、「GW−Z」及び「クラウド」の2つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−Z」は、「温度センサX」のhop数「2」に対応付けられており、「クラウド」は、「温度センサY」のhop数「3」に対応付けられている。よって、下位ノード「温度センサY」の上位ノードとして「GW−Z」が特定される。   As described above, when two nodes, “GW-Z” and “Cloud”, are specified as the upper nodes passing through the same route as “temperature sensor Y”, the same is given to the lowest side of these upper nodes. An upper node passing through the route is specified. In this case, “GW-Z” is associated with the hop number “2” of “temperature sensor X”, and “cloud” is associated with the hop number “3” of “temperature sensor Y”. . Therefore, “GW-Z” is specified as the upper node of the lower node “temperature sensor Y”.

また、図27に示す例では、「湿度センサY」の上位ノードになり得るノードとしては、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−Z」のhop数「1」に対応付けられたIPアドレス「1.1.10.1」は、「湿度センサY」のhop数「2」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.10.1」を、「湿度センサY」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」のhop数「1」に対応付けられたIPアドレス「1.1.1.10」は、「湿度センサY」のhop数「3」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.1.10」を、「湿度センサY」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   In the example illustrated in FIG. 27, “GW-Z” and “cloud” can be cited as nodes that can be upper nodes of “humidity sensor Y”. Among these, the IP address “1.1.10.1” associated with the hop number “1” of “GW-Z” is the IP address associated with the hop number “2” of “humidity sensor Y”. Matches. Therefore, the IP address “1.1.10.1” is specified as the IP address of the router 10 or the host through which “humidity sensor Y” and “GW-Z” pass in common. The IP address “1.1.1.10” associated with the “hop” “1” of “cloud” matches the IP address associated with the “hop” “3” of “humidity sensor Y”. . Therefore, the IP address “1.1.1.10” is specified as the IP address of the router 10 or the host through which “humidity sensor Y” and “cloud” pass in common.

このように、「湿度センサY」と同一の経路を経由する上位ノードとして、「GW−Z」及び「クラウド」の2つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−Z」は、「湿度センサX」のhop数「2」に対応付けられており、「クラウド」は、「湿度センサY」のhop数「3」に対応付けられている。よって、下位ノード「湿度センサY」の上位ノードとして「GW−Z」が特定される。   As described above, when two nodes, “GW-Z” and “Cloud”, are specified as upper nodes passing through the same route as “humidity sensor Y”, the same is given to the lowest side of these upper nodes. An upper node passing through the route is specified. In this case, “GW-Z” is associated with the hop number “2” of “humidity sensor X”, and “cloud” is associated with the hop number “3” of “humidity sensor Y”. . Therefore, “GW-Z” is specified as the upper node of the lower node “humidity sensor Y”.

また、図27に示す例では、「GW−X」の上位ノードになり得るノードとしては、「GW−Z」及び「クラウド」が挙げられる。このうち、「GW−Z」のhop数「1」に対応付けられたIPアドレス「1.1.10.1」は、「GW−X」のhop数「2」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.10.1」を、「GW−X」及び「GW−Z」が共通して経由するルータ10又はホストのIPアドレスとして特定する。また、「クラウド」のhop数「1」に対応付けられたIPアドレス「1.1.1.10」は、「GW−X」のhop数「3」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.1.10」を、「GW−X」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。   In the example illustrated in FIG. 27, “GW-Z” and “cloud” can be cited as nodes that can be upper nodes of “GW-X”. Among these, the IP address “1.1.10.1” associated with the hop number “1” of “GW-Z” is the IP address associated with the hop number “2” of “GW-X”. Matches. Therefore, the IP address “1.1.10.1” is specified as the IP address of the router 10 or the host through which “GW-X” and “GW-Z” pass in common. Also, the IP address “1.1.1.10” associated with the “cloud” hop number “1” matches the IP address associated with the “GW-X” hop number “3”. . For this reason, the IP address “1.1.1.10” is specified as the IP address of the router 10 or the host through which “GW-X” and “Cloud” pass in common.

このように、「GW−X」と同一の経路を経由する上位ノードとして、「GW−Z」及び「クラウド」の2つが特定される場合には、これら上位ノードのうち最も下位側で同一の経路を経由する上位ノードが特定される。この場合、「GW−Z」は、「GW−X」のhop数「2」に対応付けられており、「クラウド」は、「GW−X」のhop数「3」に対応付けられている。よって、下位ノード「GW−X」の上位ノードとして「GW−Z」が特定される。   As described above, when two nodes, “GW-Z” and “Cloud”, are specified as the upper nodes passing through the same route as “GW-X”, the same is given to the lowest side among these upper nodes. An upper node passing through the route is specified. In this case, “GW-Z” is associated with the hop number “2” of “GW-X”, and “cloud” is associated with the hop number “3” of “GW-X”. . Therefore, “GW-Z” is specified as an upper node of the lower node “GW-X”.

また、図27に示す例では、「GW−Z」の上位ノードになり得るノードとしては、「クラウド」が挙げられる。この「クラウド」のhop数「1」に対応付けられたIPアドレス「1.1.1.10」は、「GW−Z」のhop数「2」に対応付けられたIPアドレスと一致する。このため、IPアドレス「1.1.1.10」を、「GW−Z」及び「クラウド」が共通して経由するルータ10又はホストのIPアドレスとして特定する。よって、下位ノード「GW−Z」の上位ノードとして「クラウド」が特定される。   In the example illustrated in FIG. 27, “cloud” is an example of a node that can be an upper node of “GW-Z”. The IP address “1.1.1.10” associated with the “hop” “1” of “cloud” matches the IP address associated with the “hop” “2” of “GW-Z”. For this reason, the IP address “1.1.1.10” is specified as the IP address of the router 10 or the host through which “GW-Z” and “cloud” pass in common. Therefore, “cloud” is specified as an upper node of the lower node “GW-Z”.

このように、開示の技術は、ルータ10やホストを識別するために割り当てられた複数のアドレスを組み合わせて用いることができる。これによれば、例えば、NAT(Network Address Translation)を利用したネットワークのように、同一のプライベートIPアドレスが複数のネットワークで使用される場合においても、開示の技術を適用することができる。   As described above, the disclosed technique can be used in combination with a plurality of addresses assigned to identify the router 10 and the host. According to this, for example, even when the same private IP address is used in a plurality of networks, such as a network using NAT (Network Address Translation), the disclosed technology can be applied.

また、上記の実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。   In addition, among the processes described in the above embodiments, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed All or a part of the above can be automatically performed by a known method. In addition, the processing procedures, control procedures, specific names, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.

また、図2,21に示したサーバノード110,120の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、サーバノード110,120の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。   The components of the server nodes 110 and 120 shown in FIGS. 2 and 21 are functionally conceptual, and need not be physically configured as illustrated. That is, the specific form of distribution / integration of the server nodes 110 and 120 is not limited to that shown in the figure, and all or a part thereof may be functionally or physically in an arbitrary unit according to various loads or usage conditions. Can be distributed and integrated.

[プログラム]
図28は、イベント収集プログラムを実行するコンピュータの一例を示す図である。図28に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからデータの入力を受け付ける入力装置402と、モニタ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る媒体読み取り装置404と、他の装置と接続するためのインターフェース装置405と、他の装置と無線により接続するための無線通信装置406とを有する。また、コンピュータ400は、各種情報を一時記憶するRAM(Random Access Memory)307と、ハードディスク装置408とを有する。また、各装置401〜408は、バス409に接続される。
[program]
FIG. 28 is a diagram illustrating an example of a computer that executes an event collection program. As illustrated in FIG. 28, the computer 400 includes a CPU 401 that executes various arithmetic processes, an input device 402 that receives data input from a user, and a monitor 403. The computer 400 also includes a medium reading device 404 that reads programs and the like from a storage medium, an interface device 405 for connecting to other devices, and a wireless communication device 406 for connecting to other devices wirelessly. The computer 400 also includes a RAM (Random Access Memory) 307 that temporarily stores various information and a hard disk device 408. Each device 401 to 408 is connected to a bus 409.

ハードディスク装置408には、上記の図2,21に示した経路情報受信部112、トポロジ生成部113、配備先決定部117、送信先情報送信部118及びモジュール送信部119の各処理部と同様の機能を有するイベント収集プログラムが記憶される。また、ハードディスク装置408には、イベント収集プログラムを実現するための各種データが記憶される。   The hard disk device 408 includes the same processing units as the path information receiving unit 112, the topology generating unit 113, the deployment destination determining unit 117, the transmission destination information transmitting unit 118, and the module transmitting unit 119 shown in FIGS. An event collection program having a function is stored. The hard disk device 408 stores various data for realizing the event collection program.

CPU401は、ハードディスク装置408に記憶された各プログラムを読み出して、RAM407に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータを上記の図2,21に示した経路情報受信部112、トポロジ生成部113、配備先決定部117、送信先情報送信部118及びモジュール送信部119として機能させることができる。   The CPU 401 reads out each program stored in the hard disk device 408, develops it in the RAM 407, and executes it to perform various processes. These programs cause the computer to function as the route information receiving unit 112, the topology generating unit 113, the deployment destination determining unit 117, the transmission destination information transmitting unit 118, and the module transmitting unit 119 shown in FIGS. Can do.

なお、上記のイベント収集プログラムは、必ずしもハードディスク装置408に記憶されている必要はない。例えば、コンピュータが読み取り可能な記録媒体に記憶されたプログラムを、コンピュータ400が読み出して実行するようにしても良い。コンピュータが読み取り可能な記録媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等に接続された装置にこのプログラムを記憶させておき、コンピュータ400がこれらからプログラムを読み出して実行するようにしても良い。   Note that the above event collection program is not necessarily stored in the hard disk device 408. For example, the computer 400 may read and execute a program stored in a computer-readable recording medium. The computer-readable recording medium corresponds to, for example, a portable recording medium such as a CD-ROM, a DVD disk, a USB (Universal Serial Bus) memory, a semiconductor memory such as a flash memory, a hard disk drive, and the like. Further, the program may be stored in a device connected to a public line, the Internet, a LAN (Local Area Network), a WAN (Wide Area Network), or the like, and the computer 400 may read and execute the program therefrom. good.

以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。   The following supplementary notes are further disclosed with respect to the embodiments including the above examples.

(付記1)コンピュータによって実行されるイベント収集方法であって、
コンピュータが、
ネットワークに接続された複数のノードから、当該ネットワークの経路に関連する経路情報を受信し、
受信した経路情報に基づいて、前記複数のノード間の接続情報を生成し、
生成した接続情報によって示されるノード間でイベントが送信される場合に、前記複数のノードのうち一又は複数のノードに、イベントを処理するモジュールを配備可能か否か判定し、
前記ノードに前記モジュールを配備可能であれば、前記複数のノードのそれぞれについて設定されたイベントの送信先を、生成した接続情報によって示されるノードに変更するとともに、当該ノードに当該モジュールを配備する
各処理を実行することを特徴とするイベント収集方法。
(Appendix 1) An event collection method executed by a computer,
Computer
Receives route information related to the route of the network from multiple nodes connected to the network,
Based on the received route information, generate connection information between the plurality of nodes,
When an event is transmitted between the nodes indicated by the generated connection information, it is determined whether or not a module for processing the event can be deployed in one or a plurality of nodes among the plurality of nodes.
If the module can be deployed to the node, the event transmission destination set for each of the plurality of nodes is changed to the node indicated by the generated connection information, and the module is deployed to the node. An event collection method characterized by executing processing.

(付記2)前記複数のノードのそれぞれが通信可能な状態にあるか否かを監視し、
前記複数のノードのうちいずれかのノードが通信不能な状態になった場合に、通信不能な状態になったノードから受信された経路情報を削除する処理をさらに実行し、
前記生成する処理は、通信不能な状態になったノードから受信された経路情報が削除された経路情報に基づいて、前記複数のノード間の接続情報を生成することを特徴とする付記1に記載のイベント収集方法。
(Appendix 2) Monitoring whether each of the plurality of nodes is in a communicable state,
When any of the plurality of nodes is in a communication disabled state, further executes a process of deleting the route information received from the node in the communication disabled state,
The connection process between the plurality of nodes is generated based on the path information from which the path information received from the node in the communication disabled state is deleted. Event collection method.

(付記3)コンピュータに、
ネットワークに接続された複数のノードから、当該ネットワークの経路に関連する経路情報を受信し、
受信した経路情報に基づいて、前記複数のノード間の接続情報を生成し、
生成した接続情報によって示されるノード間でイベントが送信される場合に、前記複数のノードのうち一又は複数のノードに、イベントを処理するモジュールを配備可能か否か判定し、
前記ノードに前記モジュールを配備可能であれば、前記複数のノードのそれぞれについて設定されたイベントの送信先を、生成した接続情報によって示されるノードに変更するとともに、当該ノードに当該モジュールを配備する
各処理を実行させることを特徴とするイベント収集プログラム。
(Appendix 3)
Receives route information related to the route of the network from multiple nodes connected to the network,
Based on the received route information, generate connection information between the plurality of nodes,
When an event is transmitted between the nodes indicated by the generated connection information, it is determined whether or not a module for processing the event can be deployed in one or a plurality of nodes among the plurality of nodes.
If the module can be deployed to the node, the event transmission destination set for each of the plurality of nodes is changed to the node indicated by the generated connection information, and the module is deployed to the node. An event collection program characterized by causing processing to be executed.

(付記4)前記複数のノードのそれぞれが通信可能な状態にあるか否かを監視し、
前記複数のノードのうちいずれかのノードが通信不能な状態になった場合に、通信不能な状態になったノードから受信された経路情報を削除する処理をさらに実行させ、
前記生成する処理は、通信不能な状態になったノードから受信された経路情報が削除された経路情報に基づいて、前記複数のノード間の接続情報を生成することを特徴とする付記3に記載のイベント収集プログラム。
(Appendix 4) Monitoring whether each of the plurality of nodes is in a communicable state,
When any of the plurality of nodes is in a state where communication is disabled, it further executes processing for deleting route information received from the node in communication disabled,
The appending 3 includes generating the connection information between the plurality of nodes based on the route information from which the route information received from the node in the communication disabled state is deleted. Event collection program.

(付記5)ネットワークに接続された複数のノードから、当該ネットワークの経路に関連する経路情報を受信し、
受信した経路情報に基づいて、前記複数のノード間の接続情報を生成し、
生成した接続情報によって示されるノード間でイベントが送信される場合に、前記複数のノードのうち一又は複数のノードに、イベントを処理するモジュールを配備可能か否か判定し、
前記ノードに前記モジュールを配備可能であれば、前記複数のノードのそれぞれについて設定されたイベントの送信先を、生成した接続情報によって示されるノードに変更するとともに、当該ノードに当該モジュールを配備する
各処理を実行することを特徴とする情報処理装置。
(Appendix 5) Receiving route information related to the route of the network from a plurality of nodes connected to the network,
Based on the received route information, generate connection information between the plurality of nodes,
When an event is transmitted between the nodes indicated by the generated connection information, it is determined whether or not a module for processing the event can be deployed in one or a plurality of nodes among the plurality of nodes.
If the module can be deployed to the node, the event transmission destination set for each of the plurality of nodes is changed to the node indicated by the generated connection information, and the module is deployed to the node. An information processing apparatus that executes processing.

(付記6)前記複数のノードのそれぞれが通信可能な状態にあるか否かを監視し、
前記複数のノードのうちいずれかのノードが通信不能な状態になった場合に、通信不能な状態になったノードから受信された経路情報を削除する処理をさらに実行させ、
前記生成する処理は、通信不能な状態になったノードから受信された経路情報が削除された経路情報に基づいて、前記複数のノード間の接続情報を生成することを特徴とする付記5に記載の情報処理装置。
(Appendix 6) Monitoring whether each of the plurality of nodes is in a communicable state,
When any of the plurality of nodes is in a state where communication is disabled, it further executes processing for deleting route information received from the node in communication disabled,
Item 6. The appendix 5 is characterized in that the generating process generates connection information between the plurality of nodes based on route information from which route information received from a node in an incommunicable state is deleted. Information processing device.

110,120 サーバノード
111 モジュール登録部
111A モジュール記憶部
111B モジュール定義記憶部
112 経路情報受信部
112A 経路情報記憶部
113 トポロジ生成部
113A トポロジ記憶部
114 イベント受信部
114A イベント記憶部
115 モジュール実行部
116 発生イベント登録部
116A 発生イベント情報記憶部
117 配備先決定部
117A 配備先情報記憶部
118 送信先情報送信部
119 モジュール送信部
121 生存情報受信部
122 生存監視部
400 コンピュータ
401 CPU
402 入力装置
403 モニタ
404 媒体読み取り装置
405 インターフェース装置
406 無線通信装置
407 RAM
408 ハードディスク装置
409 バス
110, 120 Server node 111 Module registration unit 111A Module storage unit 111B Module definition storage unit 112 Route information reception unit 112A Route information storage unit 113 Topology generation unit 113A Topology storage unit 114 Event reception unit 114A Event storage unit 115 Module execution unit 116 Occurrence Event registration unit 116A Occurrence event information storage unit 117 Deployment destination determination unit 117A Deployment destination information storage unit 118 Transmission destination information transmission unit 119 Module transmission unit 121 Life information reception unit 122 Life monitoring unit 400 Computer 401 CPU
402 Input Device 403 Monitor 404 Medium Reading Device 405 Interface Device 406 Wireless Communication Device 407 RAM
408 Hard disk device 409 Bus

Claims (4)

コンピュータによって実行されるイベント収集方法であって、
コンピュータが、
ネットワークに接続された複数のノードから、当該ネットワークの経路に関連する経路情報を受信し、
受信した経路情報に基づいて、前記複数のノード間の接続情報を生成し、
生成した接続情報によって示されるノード間でイベントが送信される場合に、前記イベントを処理するモジュールを、前記複数のノードのうち前記モジュールに定義された属性に対応する属性のノードに配備可能か否か判定し、
前記ノードに前記モジュールを配備可能であれば、前記複数のノードのそれぞれについて設定されたイベントの送信先を、生成した接続情報によって示されるノードに変更するとともに、当該ノードに当該モジュールを配備する
各処理を実行することを特徴とするイベント収集方法。
An event collection method executed by a computer,
Computer
Receives route information related to the route of the network from multiple nodes connected to the network,
Based on the received route information, generate connection information between the plurality of nodes,
Whether or not a module for processing the event can be deployed to a node having an attribute corresponding to an attribute defined in the module among the plurality of nodes when an event is transmitted between the nodes indicated by the generated connection information Determine whether
If the module can be deployed to the node, the event transmission destination set for each of the plurality of nodes is changed to the node indicated by the generated connection information, and the module is deployed to the node. An event collection method characterized by executing processing.
前記複数のノードのそれぞれが通信可能な状態にあるか否かを監視し、
前記複数のノードのうちいずれかのノードが通信不能な状態になった場合に、通信不能な状態になったノードから受信された経路情報を削除する処理をさらに実行し、
前記生成する処理は、通信不能な状態になったノードから受信された経路情報が削除された経路情報に基づいて、前記複数のノード間の接続情報を生成することを特徴とする請求項1に記載のイベント収集方法。
Monitoring whether each of the plurality of nodes is in a communicable state;
When any of the plurality of nodes is in a communication disabled state, further executes a process of deleting the route information received from the node in the communication disabled state,
The connection process between the plurality of nodes is generated based on the route information from which the route information received from the node in the communication disabled state is deleted. The event collection method described.
コンピュータに、
ネットワークに接続された複数のノードから、当該ネットワークの経路に関連する経路情報を受信し、
受信した経路情報に基づいて、前記複数のノード間の接続情報を生成し、
生成した接続情報によって示されるノード間でイベントが送信される場合に、前記イベントを処理するモジュールを、前記複数のノードのうち前記モジュールに定義された属性に対応する属性のノードに配備可能か否か判定し、
前記ノードに前記モジュールを配備可能であれば、前記複数のノードのそれぞれについて設定されたイベントの送信先を、生成した接続情報によって示されるノードに変更するとともに、当該ノードに当該モジュールを配備する
各処理を実行させることを特徴とするイベント収集プログラム。
On the computer,
Receives route information related to the route of the network from multiple nodes connected to the network,
Based on the received route information, generate connection information between the plurality of nodes,
Whether or not a module for processing the event can be deployed to a node having an attribute corresponding to an attribute defined in the module among the plurality of nodes when an event is transmitted between the nodes indicated by the generated connection information Determine whether
If the module can be deployed to the node, the event transmission destination set for each of the plurality of nodes is changed to the node indicated by the generated connection information, and the module is deployed to the node. An event collection program characterized by causing processing to be executed.
ネットワークに接続された複数のノードから、当該ネットワークの経路に関連する経路情報を受信し、
受信した経路情報に基づいて、前記複数のノード間の接続情報を生成し、
生成した接続情報によって示されるノード間でイベントが送信される場合に、前記イベントを処理するモジュールを、前記複数のノードのうち前記モジュールに定義された属性に対応する属性のノードに配備可能か否か判定し、
前記ノードに前記モジュールを配備可能であれば、前記複数のノードのそれぞれについて設定されたイベントの送信先を、生成した接続情報によって示されるノードに変更するとともに、当該ノードに当該モジュールを配備する
各処理を実行することを特徴とする情報処理装置。
Receives route information related to the route of the network from multiple nodes connected to the network,
Based on the received route information, generate connection information between the plurality of nodes,
Whether or not a module for processing the event can be deployed to a node having an attribute corresponding to an attribute defined in the module among the plurality of nodes when an event is transmitted between the nodes indicated by the generated connection information Determine whether
If the module can be deployed to the node, the event transmission destination set for each of the plurality of nodes is changed to the node indicated by the generated connection information, and the module is deployed to the node. An information processing apparatus that executes processing.
JP2012040620A 2012-02-27 2012-02-27 Event collection method, event collection program, and information processing apparatus Active JP5927983B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012040620A JP5927983B2 (en) 2012-02-27 2012-02-27 Event collection method, event collection program, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012040620A JP5927983B2 (en) 2012-02-27 2012-02-27 Event collection method, event collection program, and information processing apparatus

Publications (2)

Publication Number Publication Date
JP2013175133A JP2013175133A (en) 2013-09-05
JP5927983B2 true JP5927983B2 (en) 2016-06-01

Family

ID=49267965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012040620A Active JP5927983B2 (en) 2012-02-27 2012-02-27 Event collection method, event collection program, and information processing apparatus

Country Status (1)

Country Link
JP (1) JP5927983B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014041826A1 (en) * 2012-09-12 2014-03-20 オムロン株式会社 Device for generating data flow control instruction, and sensor management device
JP6183168B2 (en) 2013-11-13 2017-08-23 富士通株式会社 Event collection method, information processing apparatus, information processing system, and information processing program
JP6187181B2 (en) 2013-11-18 2017-08-30 富士通株式会社 Distributed deployment apparatus, system, program, and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3951671B2 (en) * 2001-11-02 2007-08-01 オムロン株式会社 SENSOR MANAGEMENT DEVICE, SENSOR NETWORK SYSTEM, INFORMATION PROCESSING PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE PROGRAM
JP2005004676A (en) * 2003-06-16 2005-01-06 Fujitsu Ltd Adaptive distributed processing system
JP2011124710A (en) * 2009-12-09 2011-06-23 Fujitsu Ltd Device and method for selecting connection destination
JP5544006B2 (en) * 2010-02-18 2014-07-09 株式会社日立製作所 Information communication processing system

Also Published As

Publication number Publication date
JP2013175133A (en) 2013-09-05

Similar Documents

Publication Publication Date Title
JP5737075B2 (en) Event collection method and information processing apparatus
JP4964735B2 (en) Network system, management computer, and filter reconfiguration method
CN107231304B (en) Method, system and apparatus for forwarding network traffic using a minimal forwarding information base
US20140313975A1 (en) White listing for binding in ad-hoc mesh networks
CN111934921A (en) Network topology discovery method and device, equipment and storage medium
US20170272326A1 (en) Determining service group based network topologies
JPWO2013088498A1 (en) Transmission control method, node, and transmission control program
WO2019085975A1 (en) Network topology display method and network management device
EP4037266A1 (en) Method for processing message, and network node and system
JP5927983B2 (en) Event collection method, event collection program, and information processing apparatus
JP2016012896A (en) Communication device and multi-hopping network
JP2018500834A (en) Method and apparatus for deploying services in a virtualized network
US9621656B2 (en) Distributed deployment device and method
Pereira et al. MannaSim: A NS-2 extension to simulate wireless sensor network
JPWO2008062724A1 (en) Communication network, information processing apparatus, and address assignment method
Kipongo Efficient topology discovery protocol using IT-SDN for software-defined wireless sensor networks
CN110730093B (en) Metropolitan area network topology mapping method and device
CN107294746B (en) Method and equipment for deploying service
JP7056207B2 (en) Topology determination device, topology determination method, topology determination program and communication system
JP5835007B2 (en) Event collection method, event collection program, and information processing apparatus
WO2012131960A1 (en) Communication device, path search method and path search program
JP5810955B2 (en) Event collection method, event collection program, and information processing apparatus
US10404652B2 (en) Communication device, communication method, and program
CN111355822B (en) Method for identifying a communication node
JP5834998B2 (en) Event processing method, event collection method, event processing program, event collection program, and information processing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151028

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: 20160329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160411

R150 Certificate of patent or registration of utility model

Ref document number: 5927983

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150