JP5927983B2 - Event collection method, event collection program, and information processing apparatus - Google Patents
Event collection method, event collection program, and information processing apparatus Download PDFInfo
- 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
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.
ところで、サーバノードの負荷とネットワークトラフィックとを抑制する技術の一例として、次のような技術が考えられる。すなわち、イベントの発生状況やセンサネットワークのトポロジに応じてイベントの収集経路を決定しておき、その収集経路に基づいて、中間ノードやセンサノードなどの下位ノードにイベントを処理するモジュールを分散配備する技術が一例として考えられる。 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.
以下に、本願の開示するイベント収集方法、イベント収集プログラム及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 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
図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
これらサーバノード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
このうち、ルータ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
センサノード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
[サーバノードの構成]
続いて、本実施例に係るサーバノードの機能的構成について説明する。図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
モジュール登録部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
モジュール記憶部111Aは、モジュールを記憶する記憶部である。一例としては、モジュール記憶部111Aは、モジュールがアップロードされた場合に、モジュール登録部111によってモジュールが登録される。他の一例としては、モジュール記憶部111Aは、センサノード210や後述のGWノード310などの下位ノードにモジュールを配備する場合に、後述のモジュール送信部119によって参照される。
The
一態様としては、モジュール記憶部111Aは、モジュール識別子とバイナリコードが対応付けられたデータを記憶する。ここで言う「モジュール識別子」は、モジュールを識別するための識別子を指す。例えば、C言語でプログラミングされたモジュールには関数名を付与したり、Java(登録商標)言語でプログラミングされたモジュールにはクラス名を付与したりするなど、開発に使用されたプログラム言語に応じて識別子を付与することができる。また、「バイナリコード」は、モジュール本体となるコンパイル済みのバイナリデータを指す。
As an aspect, the
図3は、モジュール記憶部111Aに記憶される情報の構成例を示す図である。図3の例では、モジュール識別子「不快指数計算」とそのバイナリコードとが対応付けられた例を示している。この「不快指数計算」は、温度と湿度から不快指数を計算するモジュールのクラス名を指す。この「不快指数計算」が下位ノードに配備された場合には、下位ノードからサーバノード110に送信されるイベントが集約されることになる。
FIG. 3 is a diagram illustrating a configuration example of information stored in the
なお、図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
一態様としては、モジュール定義記憶部111Bは、モジュール識別子、入力イベント型、出力イベント型及び集約属性名が対応付けられたデータを記憶する。ここで言う「入力イベント型」とは、モジュールによって実行される処理の入力となるイベントの型を指す。また、「出力イベント型」とは、モジュールによって実行された処理の出力となるイベントの型を指す。また、「集約属性名」とは、複数のノードを集約する枠組みである集約属性の名称を指す。
As an aspect, the module
図4は、モジュール定義記憶部111Bに記憶される情報の構成例を示す図である。図4に示すモジュール識別子「不快指数計算」の例では、温度イベント及び湿度イベントが入力されて不快指数イベントが出力されることを示す。この「不快指数計算」の場合には、1度の処理で温度イベント及び湿度イベントが入力され、同一の家に収容されたセンサノード210によってセンシングされた温度が対象となるので、集約属性名として家IDが付与されている。
FIG. 4 is a diagram illustrating a configuration example of information stored in the module
経路情報受信部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
経路情報記憶部112Aは、センサネットワークの経路情報を記憶する記憶部である。一例としては、経路情報記憶部112Aは、下位ノードからセンサネットワークの経路情報が受信された場合に、経路情報受信部112によって経路情報が登録される。他の一例としては、経路情報記憶部112Aは、トポロジを生成するために、後述のトポロジ生成部113によって参照される。
The route
一態様としては、経路情報記憶部112Aは、送信元ノードID、hop数及びIPアドレスが対応付けられたデータを記憶する。ここで言う「送信元ノードID」は、経路情報の送信元となるノードを識別するための識別子を指す。また、「hop数」は、送信元ノードから、対応するIPアドレスが割り当てられたルータ10及びホストまでに至る経路上に存在するルータの数を指す。また、「IPアドレス」は、送信元ノードからサーバノード110までに経由するルータ10及びホストに割り当てられたIPアドレスを指す。
As an aspect, the route
図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
トポロジ生成部113は、センサネットワーク内の複数のノード間の接続情報、いわゆるトポロジを生成する処理部である。一例としては、トポロジ生成部113は、経路情報記憶部112Aが更新された場合、すなわちネットワークの経路情報に変化があった場合に、その経路情報に基づいて、各下位ノードがどの上位ノードに接続されているかを表すノード間の接続情報を生成する。そして、トポロジ生成部113は、生成したノード間の接続情報を後述のトポロジ記憶部113Aに格納する。
The
一態様としては、トポロジ生成部113は、経路情報記憶部112Aを参照し、各ノードが同一の経路を経由するか否かに基づいて、各ノードの上位ノードを決定し、ノード間の接続情報をトポロジとして後述のトポロジ記憶部113Aに格納する。例えば、トポロジ生成部113は、経路情報記憶部112Aに記憶された送信元ノードIDを1つ選択する。そして、トポロジ生成部113は、選択したノードに対応付けられたIPアドレスと同一のIPアドレスに対応付けられたノードを特定する。ここで、同一のノードに対して複数のIPアドレスが特定される場合には、トポロジ生成部113は、特定されたIPアドレスのうち、より小さいhop数に対応付けられたIPアドレスを特定する。さらに、複数のノードが特定される場合には、トポロジ生成部113は、選択したノードのうち、より小さいhop数に対応付けられたノードを特定する。その上で、トポロジ生成部113は、選択したノードを下位ノードとし、特定したノードを上位ノードとしてノード間の接続情報を生成し、生成した接続情報をトポロジとして後述のトポロジ記憶部113Aに格納する。
As an aspect, the
図5に示す例では、トポロジ生成部113は、まず、「温度センサX」を選択する。そして、トポロジ生成部113は、「温度センサX」に対応付けられたIPアドレス「192.168.1.10」と同一のIPアドレスに対応付けられた「クラウド」を特定する。このため、トポロジ生成部113は、下位ノード「温度センサX」の上位ノードとして「クラウド」を特定する。他のノードについても同様に、トポロジ生成部113は、上位ノードを特定することで、トポロジを生成する。
In the example illustrated in FIG. 5, the
トポロジ記憶部113Aは、センサネットワークのトポロジを記憶する記憶部である。一例としては、トポロジ記憶部113Aは、トポロジ生成部113によってノード間の接続情報がトポロジとして登録される。他の一例としては、トポロジ記憶部113Aは、モジュールの配備先を決定するために、後述の配備先決定部117によって参照される。
The
一態様としては、トポロジ記憶部113Aは、下位ノードID及び上位ノードIDが対応付けられたデータを記憶する。ここで言う「下位ノードID」は、下位ノードを識別するための識別子を指す。また、「上位ノードID」は、下位ノードに接続される上位ノードを識別するための識別子を指す。
As an aspect, the
図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
イベント受信部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
イベント記憶部114Aは、イベントを記憶する記憶部である。このイベント記憶部114Aは、イベントの発生をトリガーとしてサービスを提供するサービス提供用のアプリケーションに参照させるために設けられる。
The
一例としては、イベント記憶部114Aは、下位ノードからイベントが受信された場合に、イベント受信部114によってイベントが登録される。他の一例としては、イベント記憶部114Aは、モジュールによってイベントが処理された場合に、後述のモジュール実行部115によって処理実行後のイベントが登録される。
For example, in the
一態様としては、イベント記憶部114Aは、イベント型名、イベント発生時刻及びイベント属性が対応付けられたデータを記憶する。ここで言う「イベント型」は、イベントの種類を識別するための識別子を指す。また、「イベント発生時刻」は、イベントが発生した時刻、すなわちセンサノード210によってセンシングされた時刻を指す。また、「イベント属性」とは、イベントの性質や由来を指す。例えば、「イベント属性」は、イベントとして採取されるセンシングデータ又はそれが処理されたデータの種類、イベントが発生した発生ノードや発生ノードを含む複数のノードを集約する集約属性などの属性データの集合を指す。なお、以下では、イベント属性に含まれる各属性データが属性名と属性値のペアを含んで構成される場合を示す。
As an aspect, the
図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
このように、イベント記憶部114Aに記憶されたイベントは、サービス提供用のアプリケーションによってサービス提供処理を実行するトリガーとして参照される。なお、図7の例では、センサノード210によってセンシングされた未処理のイベントを例示したが、モジュールが下位ノードに配備された場合には、モジュールによって処理がなされた新たなイベントも格納されることになる。
As described above, the event stored in the
モジュール実行部115は、サーバノード110に配備されたモジュールの実行制御を行う処理部である。一態様としては、モジュール実行部115は、イベント受信部114によってイベントが受信された場合に、受信されたイベントを入力イベント型とするモジュールがサーバノード110に配備されているか否かを判定する。このとき、モジュール実行部115は、モジュールがサーバノード110に配備されている場合には、当該モジュールを実行することによってイベントの処理を実行する。その後、モジュール実行部115は、モジュールによって処理が実行されたデータを新たなイベントとしてイベント記憶部114Aに格納する。
The
発生イベント登録部116は、センサノード210やGWノード310などの下位ノードで発生した発生イベントを登録する処理部である。一態様としては、発生イベント登録部116は、イベント受信部114によってイベントが受信された場合に、受信されたイベントが発生イベントとして後述の発生イベント情報記憶部116Aに既に登録されているか否かを判定する。このとき、発生イベント登録部116は、発生イベントとして未だ登録されていない場合には、下位ノードから受信したイベントを後述の発生イベント情報記憶部116Aに登録する。
The occurrence
発生イベント情報記憶部116Aは、発生イベントに関する情報を記憶する記憶部である。この発生イベント情報記憶部116Aは、センサノード210またはGWノード310などの下位ノードでどのようなイベントが発生しているのかを管理するために設けられる。
The occurrence event
一例としては、発生イベント情報記憶部116Aは、下位ノードからイベントが受信された場合に、発生イベント登録部116によって発生イベントが登録される。他の一例としては、発生イベント情報記憶部116Aは、モジュールの配備先を決定するために、後述の配備先決定部117によって参照される。
As an example, in the occurrence event
一態様としては、発生イベント情報記憶部116Aは、発生ノードID、発生イベント型及び発生イベント属性が対応付けられたデータを記憶する。ここで言う「発生ノードID」は、発生ノードを識別するための識別子を指す。また、「発生イベント型」は、発生イベントの種類を識別するための識別子を指す。また、「発生イベント属性」は、発生イベントの属性を指す。
As one aspect, the generated 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
配備先情報記憶部117Aは、モジュールの配備先に関する情報を記憶する記憶部である。一例としては、配備先情報記憶部117Aは、センサネットワークのトポロジに変化があった場合に、後述の配備先決定部117によってアクセスされる。
The deployment destination
一態様としては、配備先情報記憶部117Aは、モジュール識別子、入力イベント型、集約属性名、発生イベント属性、発生ノードID及び配備先ノードIDが対応付けられたデータを記憶する。ここで言う「配備先ノードID」は、モジュールが配備されるセンサノード210、後述のGWノード310またはサーバノード110を識別するための識別子を指す。
As an aspect, the deployment destination
図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
配備先決定部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
これを説明すると、配備先決定部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
続いて、配備先決定部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
このとき、配備先決定部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
また、配備先決定部117は、発生ノードIDが配備先情報記憶部117Aに1つ登録された場合には、モジュールを配備するノードに選択の余地がないので、先に抽出結果として得られた発生ノードIDを配備先ノードIDのカラムに登録する。
Further, when one occurrence node ID is registered in the deployment destination
このようにして配備先情報記憶部117Aに配備先ノードIDが登録されると、モジュール記憶部111Aに記憶されたモジュールが後述のモジュール送信部119によって配備先ノードIDに対応するノードへ送信される。
When the deployment destination node ID is registered in the deployment destination
その後、配備先決定部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
なお、他の態様としては、配備先決定部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
また、発生ノードIDが配備先情報記憶部117Aに1つも登録されなかった場合には、下位ノードから通知される発生イベントが発生イベント情報記憶部116Aに登録し切れていない可能性がある。この場合には、配備先決定部117は、発生イベント情報記憶部116Aが更新されるまで待機してからモジュールの配備を繰り返し実行する。
In addition, when no occurrence node ID is registered in the deployment destination
送信先情報送信部118は、センサノード210または後述のGWノード310などの下位ノードに送信先情報を送信する処理部である。一態様としては、送信先情報送信部118は、配備先決定部117によって配備先ノードIDが配備先情報記憶部117Aに登録されると、登録された配備先ノードIDの上位ノードのノードIDをトポロジ記憶部113Aから読み出す。そして、送信先情報送信部118は、読み出した上位ノードのノードIDを登録された配備先ノードIDに対応するノードへ送信する。
The transmission destination
モジュール送信部119は、センサノード210または後述のGWノード310などの下位ノードにモジュールを送信する処理部である。一態様としては、モジュール送信部119は、配備先決定部117によって配備先ノードIDが配備先情報記憶部117Aに登録されると、モジュール記憶部111Aに記憶されたモジュールを配備先ノードIDに対応するノードへ送信する。
The
(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
モジュールの配備が開始されると、図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
ここで、抽出された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
このうち、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
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
このように、GWノード310X及び310Zが追加された場合には、センサネットワークの経路情報が変化する。図13の例で言えば、図5に示した例と比べて、GW−XであるGWノード310Xからクラウドであるサーバノード110までに3つのルータ10又はホストを経由することを示す経路情報が追加されている。さらに、図13の例で言えば、図5に示した例と比べて、GW−ZであるGWノード310Zからクラウドであるサーバノード110までに2つのルータ10又はホストを経由することを示す経路情報が追加されている。
Thus, when the
そして、図13に示すように、センサネットワークの経路情報が変化した場合には、トポロジ生成部113によってトポロジが生成される。つまり、センサノード210及びGWノード310のそれぞれの上位ノードがトポロジ生成部113によって特定されることにより、図6に示したトポロジは図14に示したトポロジに変更されることとなる。
As shown in FIG. 13, when the route information of the sensor network changes, the
図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
このように、「湿度センサ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
そして、図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
また、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
このように、図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
なお、モジュール登録部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
また、モジュール記憶部111A、モジュール定義記憶部111B、経路情報記憶部112A、トポロジ記憶部113A、イベント記憶部114A、発生イベント情報記憶部116A、配備先情報記憶部117Aには、半導体メモリ素子や記憶装置を採用できる。例えば、半導体メモリ素子としては、VRAM(Video Random Access Memory)、RAM(Random Access Memory)やフラッシュメモリ(flash memory)などが挙げられる。また、記憶装置としては、ハードディスク、光ディスクなどの記憶装置が挙げられる。
Further, the
[センサノードの構成]
次に、本実施例に係るセンサノードの機能的構成について説明する。図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
センサ情報受信部211は、センサノード210に内蔵または付設されたセンサデバイスからセンサ情報を受信する処理部である。一態様としては、センサ情報受信部211は、センサノード210に温度センサが内蔵されている場合には、温度センサによって計測された温度を受信する。他の一態様としては、センサ情報受信部211は、センサノード210に湿度センサが内蔵されている場合には、湿度センサによって計測された湿度を受信する。なお、センサノード210に複数のセンサデバイスが内蔵されている場合には、各々のセンサデバイスに対応してセンサ情報受信部211が設けられる。
The sensor
モジュール受信部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
送信先情報受信部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
送信先情報記憶部215は、送信先情報を記憶する記憶部である。一態様としては、送信先情報記憶部215は、イベントの送信先となる上位ノードのノードIDを記憶する。また、他の態様としては、送信先情報記憶部215は、イベントの送信先となる上位ノードを決定するために、後述のイベント送信部216によって参照される。
The transmission destination
イベント送信部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
ここで、上記の「集約属性」の属性名及び属性値は、センサノード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
経路情報送信部218は、経路情報取得部217から出力された経路情報をサーバノード110に送信する処理部である。一態様としては、経路情報送信部218は、経路情報取得部217によって取得された各中継装置のIPアドレス及びそのhop数に、自ノードのノードIDを付加して、サーバノード110に送信する。
The route
[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
イベント受信部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
モジュール実行部313は、GWノード310に配備されたモジュールの実行制御を行う処理部である。一態様としては、モジュール実行部313は、イベント受信部311によってイベントが受信された場合に、受信されたイベントを入力イベント型とするモジュールがGWノード310に配備されているか否かを判定する。このとき、モジュール実行部313は、モジュールがGWノード310に配備されている場合には、当該モジュールを実行することによってイベントの処理を実行する。その後、モジュール実行部313は、モジュールによって処理が実行されたデータを新たなイベントとしてイベント送信部316へ出力する。なお、モジュールがGWノード310に配備されていない場合には、イベントを処理せずにそのままイベント送信部316へ出力する。
The
送信先情報受信部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
送信先情報記憶部315は、送信先情報を記憶する記憶部である。一態様としては、送信先情報記憶部315は、イベントの送信先となる上位ノードのノードIDを記憶する。また、他の態様としては、送信先情報記憶部315は、イベントの送信先となる上位ノードを決定するために、後述のイベント送信部316によって参照される。
The transmission destination
イベント送信部316は、イベントを上位ノードに送信する処理部である。一態様としては、イベント送信部316は、モジュール実行部313によって処理されたイベント、あるいはイベント受信部311によってセンサデバイスから受信されたセンサ情報を上位ノードに送信する。このとき、イベント送信部316は、センサ情報を上位ノードに送信する場合には、発生ノードであるセンサノード210のノードID、自装置を含む複数のノードを集約する集約属性の属性名及び属性値をセンサ情報に付加する。そして、イベント送信部316は、送信先情報記憶部315を参照し、イベントの送信先となる上位ノードを決定する。その上で、イベント送信部316は、センサ情報とともに発生ノードのノードID及び集約属性を含むイベントを、送信先となる上位ノードに送信する。
The
経路情報取得部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
一態様としては、経路情報取得部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
経路情報送信部318は、経路情報取得部317から出力された経路情報をサーバノード110に送信する処理部である。一態様としては、経路情報送信部318は、経路情報取得部317によって取得された各中継装置のIPアドレス及びそのhop数に、自ノードのノードIDを付加して、サーバノード110に送信する。
The route
[処理の流れ]
次に、本実施例に係るセンサネットワークシステムの処理の流れについて説明する。なお、ここでは、センサノード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
続いて、トポロジに変化があった場合(ステップ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
続いて、サーバノード110は、発生イベント情報記憶部116Aが更新されるのを待機する(ステップS208)。そして、発生イベント情報記憶部116Aが更新されると、全てのモジュールの配備が終了したか否かが判断される(ステップS209)。ここではいずれのモジュールについても処理が終了していないので(ステップS209否定)、ステップS210の処理へ移行する。
Subsequently, the server node 110 waits for the occurrence event
続いて、サーバノード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
そして、サーバノード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
その後、サーバノード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
このとき、発生ノード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
ここで、発生ノード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
また、発生ノード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
その後、サーバノード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
生存情報受信部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
生存監視部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
一態様としては、生存監視部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
生存情報送信部221は、生存情報を送信する処理部である。一態様としては、生存情報送信部221は、所定のタイミングで、自ノードが通信可能な状態にあることを示す生存情報をサーバノード120に送信する。
The survival
[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
生存情報送信部321は、生存情報を送信する処理部である。一態様としては、生存情報送信部321は、所定のタイミングで、自ノードが通信可能な状態にあることを示す生存情報をサーバノード120に送信する。
The survival
[処理の流れ]
次に、本実施例に係るセンサネットワークシステムの処理の流れについて説明する。なお、ここでは、センサノード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
(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
図24に示すように、センサノード220は、生存情報をサーバノード120に送信する(ステップS301)。続いて、センサノード220は、ネットワークの経路情報を取得する(ステップS101)。そして、センサノード220は、経路情報に変更があるか否かを判定する(ステップS102)。
As shown in FIG. 24, the
経路情報に変更があった場合(ステップS102肯定)には、センサノード220は、経路情報をサーバノード120に送信する(ステップS103)。なお、経路情報に変更がなかった場合(ステップS102否定)には、センサノード220は、ステップS103の処理を実行せずにステップS104の処理へ移行する。
When there is a change in the route information (Yes at Step S102), the
続いて、サーバノード120からモジュールを受信した場合(ステップS104肯定)には、センサノード220は、サーバノード120から受信したモジュールを配備する(ステップS105)。なお、モジュールを受信しなかった場合(ステップS104否定)には、ステップS105の処理を実行せずにステップS106の処理へ移行する。
Subsequently, when the module is received from the server node 120 (Yes at Step S104), the
そして、サーバノード120から送信先情報を受信した場合(ステップS106肯定)には、センサノード220は、受信した送信先情報を送信先情報記憶部215に格納する(ステップS107)。なお、送信先情報を受信しなかった場合(ステップS106否定)には、ステップS107の処理を実行せずにステップS108の処理へ移行する。
If the destination information is received from the server node 120 (Yes at Step S106), the
そして、センサデバイスからセンサ情報を受信した場合(ステップS108肯定)には、センサノード220は、受信したセンサ情報を入力イベント型とするモジュールが配備されているか否かを判定する(ステップS109)。なお、センサ情報を受信しなかった場合(ステップS108否定)には、ステップS301の処理に戻る。
When sensor information is received from the sensor device (Yes at Step S108), the
モジュールが配備されている場合(ステップS109肯定)には、センサノード220は、モジュールを実行することによってイベントを処理する(ステップS110)。そして、センサノード220は、処理されたイベントを上位ノードへ送信する(ステップS111)。
If the module is deployed (Yes at step S109), the
一方、モジュールが配備されていない場合(ステップS109否定)には、センサノード220は、センサデバイスから受信したセンサ情報に発生ノードIDや集約属性などを付加した上で上位ノードへ送信する(ステップS112)。
On the other hand, if the module is not deployed (No at Step S109), the
このようにして、センサノード220は、上記のステップS301〜ステップS112までの処理を電源がOFF状態になるまで繰り返し実行する。
In this way, the
なお、ここでは、センサノード220の全体処理について説明したが、中継ノードであるGWノード320によって実行される全体処理も一部を除き同様である。すなわち、GWノード320の場合には、上記のステップS108においてセンサ情報の代わりにイベントが受信される点が相違する点を除き、センサノード220と同様である。
Here, the entire process of the
(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
図25に示すように、サーバノード120は、センサノード220やGWノード320などの下位ノードから生存情報を受信する(ステップS401)。そして、生存情報が一定時間以上受信されない下位ノードがある場合(ステップS402肯定)には、サーバノード120は、当該下位ノードの経路情報を経路情報記憶部112Aから削除する(ステップS403)。なお、サーバノード120は、生存情報が一定時間以上受信されない下位ノードがない場合(ステップS402否定)には、ステップS403の処理を実行せずにステップS201の処理へ移行する。
As shown in FIG. 25, the
続いて、下位ノードから経路情報を受信した場合(ステップ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
続いて、トポロジに変化があった場合(ステップ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
続いて、サーバノード120は、発生イベント情報記憶部116Aが更新されるのを待機する(ステップS208)。そして、発生イベント情報記憶部116Aが更新されると、全てのモジュールの配備が終了したか否かが判断される(ステップS209)。ここではいずれのモジュールについても処理が終了していないので(ステップS209否定)、ステップS210の処理へ移行する。
Subsequently, the
続いて、サーバノード120は、モジュール定義記憶部111Bに記憶されたモジュールの定義のうちモジュール識別子、入力イベント型及び集約属性名のカラムデータを配備先情報記憶部117Aの該当カラムに格納する(ステップS210)。
Subsequently, the
そして、サーバノード120は、ステップS210の処理を実行後に、下記に説明するステップS211の処理を実行する。すなわち、サーバノード120は、発生イベント情報記憶部116Aに記憶された発生ノードIDのうち、発生イベント型が未配備のモジュールの入力イベント型に含まれる発生ノードIDを抽出する。さらに、サーバノード120は、前述のように抽出した発生ノードID間で未配備のモジュールに定義された集約属性の属性名と同一の集約属性に属する属性値が同一であるノードを抽出する。
Then, after executing the process of step S210, the
その後、サーバノード120は、抽出結果として得られた発生ノードID及び発生ノードIDに対応付けられた発生イベント属性を配備先情報記憶部117Aに書き込む(ステップS212)。
Thereafter, the
このとき、発生ノード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
ここで、発生ノード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
また、発生ノードIDの数が1つである場合(ステップS214否定)には、サーバノード120は、モジュールを配備するノードに選択の余地がないので、先に抽出結果として得られた発生ノードIDを配備先ノードIDのカラムに登録する(ステップS216)。
If the number of occurrence node IDs is one (No in step S214), the
続いて、サーバノード120は、モジュール記憶部111Aに記憶されたモジュールを配備先ノードIDに対応するノードへ送信し(ステップS217)、図25のステップS401の処理に戻る。
Subsequently, the
その後、サーバノード120は、全てのモジュールの配備が終了するまで(ステップS209否定)、上記のステップS401〜ステップS217までの処理を繰り返し実行する。そして、全てのモジュールの配備が終了すると(ステップS209肯定)、処理を終了する。
Thereafter, the
[実施例2の効果]
上述してきたように、本実施例に係るサーバノード120は、ネットワークに接続された複数のノードのそれぞれが通信可能な状態にあるか否かを監視する。そして、サーバノード120は、いずれかのノードが通信不能な状態になった場合に、通信不能な状態になったノードから受信された経路情報を削除する。そして、サーバノード120は、通信不能な状態になったノードから受信された経路情報が削除された経路情報に基づいて、前記複数のノード間の接続情報を生成する。このため、サーバノード120は、センサネットワークからノードが削除される場合にも、下位側のノードにモジュールを適切に配備することができる。
[Effect of Example 2]
As described above, the
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。 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
図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
一態様としては、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
このように、「温度センサ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
[プログラム]
図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
ハードディスク装置408には、上記の図2,21に示した経路情報受信部112、トポロジ生成部113、配備先決定部117、送信先情報送信部118及びモジュール送信部119の各処理部と同様の機能を有するイベント収集プログラムが記憶される。また、ハードディスク装置408には、イベント収集プログラムを実現するための各種データが記憶される。
The
CPU401は、ハードディスク装置408に記憶された各プログラムを読み出して、RAM407に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータを上記の図2,21に示した経路情報受信部112、トポロジ生成部113、配備先決定部117、送信先情報送信部118及びモジュール送信部119として機能させることができる。
The
なお、上記のイベント収集プログラムは、必ずしもハードディスク装置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
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。 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
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
402
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.
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)
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)
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 |
-
2012
- 2012-02-27 JP JP2012040620A patent/JP5927983B2/en active Active
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 |