[go: up one dir, main page]

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

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

Info

Publication number
JP5810955B2
JP5810955B2 JP2012026711A JP2012026711A JP5810955B2 JP 5810955 B2 JP5810955 B2 JP 5810955B2 JP 2012026711 A JP2012026711 A JP 2012026711A JP 2012026711 A JP2012026711 A JP 2012026711A JP 5810955 B2 JP5810955 B2 JP 5810955B2
Authority
JP
Japan
Prior art keywords
node
module
data
event
deployed
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.)
Expired - Fee Related
Application number
JP2012026711A
Other languages
Japanese (ja)
Other versions
JP2013164694A (en
Inventor
中川 格
格 中川
佐々木 和雄
和雄 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012026711A priority Critical patent/JP5810955B2/en
Publication of JP2013164694A publication Critical patent/JP2013164694A/en
Application granted granted Critical
Publication of JP5810955B2 publication Critical patent/JP5810955B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

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 lower node that is a lower node.

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

ところで、例えば、イベントを集約処理するモジュールを、センサノードのイベント発生状況やセンサネットワークのトポロジに応じてセンサノードや中継ノード等の下位ノードに分散配備することで、ネットワークトラフィックを抑制する方法が考えられる。   By the way, for example, there is a method of suppressing network traffic by distributing modules that aggregate events to lower nodes such as sensor nodes and relay nodes according to the event occurrence status of sensor nodes and the topology of the sensor network. It is done.

しかしながら、上記の方法では、例えば、分散配備されるモジュールがデータの参照、特に、大量のデータの参照を要する場合には、各ノードに大量のデータを配備することとなるので、記憶容量が少ないノードにモジュールを配備できないという問題がある。また、参照データが更新された場合や配備先のノードのリソース量が不足した場合には、参照データの再配備を余儀なくされることがあり、その結果としてネットワークトラフィックを抑制できないという問題もある。   However, in the above method, for example, when a module to be distributed is required to refer to data, in particular, to refer to a large amount of data, a large amount of data is deployed to each node, so the storage capacity is small. There is a problem that modules cannot be deployed to nodes. Further, when the reference data is updated or when the resource amount of the deployment destination node is insufficient, the reference data may be redeployed, and as a result, there is a problem that network traffic cannot be suppressed.

開示の技術は、上記に鑑みてなされたものであって、大量のデータを配備することなくノードにて固有処理を実現することができるイベント収集方法、イベント収集プログラム及び情報処理装置を提供することを目的とする。   The disclosed technology has been made in view of the above, and provides an event collection method, an event collection program, and an information processing apparatus capable of realizing unique processing in a node without deploying a large amount of data With the goal.

本願の開示するイベント収集方法は、コンピュータによって実行されるイベント収集方法であって、一つの態様において、データ参照を伴う処理を実行するモジュールをネットワークに接続されたノードに配備するセンサネットワークから入力イベントを受信する。また、イベント収集方法は、入力イベント内の属性を示す属性情報と、当該属性情報に応じてモジュールによって参照されるレコードを特定する参照データ抽出用情報と、モジュールによって参照されるデータの属性を特定する参照箇所情報とを対応付けて記憶するモジュール定義記憶部を参照し、受信した入力イベントに関連する処理を実行するモジュールに対応付けられた参照データ抽出用情報と、参照箇所情報とに対応するデータを、データ参照にて参照されるデータを記憶するマスタから抽出する。また、イベント収集方法は、抽出されたデータをノードに配備する。   An event collection method disclosed in the present application is an event collection method executed by a computer, and in one aspect, an input event from a sensor network in which a module that executes a process involving data reference is arranged in a node connected to the network. Receive. In addition, the event collection method specifies attribute information indicating an attribute in an input event, reference data extraction information for identifying a record referenced by the module according to the attribute information, and an attribute of data referenced by the module The reference location information corresponding to the module that executes the process related to the received input event and the reference location information are referred to by referring to the module definition storage unit that stores the reference location information to be associated with each other. Data is extracted from a master that stores data referenced by data reference. Further, the event collection method deploys the extracted data to the nodes.

本願の開示するイベント収集方法の一つの態様によれば、大量のデータを配備することなくノードにて固有処理を実現することができるという効果を奏する。   According to one aspect of the event collection method disclosed in the present application, there is an effect that unique processing can be realized in a node without deploying a large amount of data.

図1は、実施例1に係るセンサネットワークシステムのシステム構成を示す図である。FIG. 1 is a diagram illustrating a system configuration of the sensor network system according to the first embodiment. 図2は、実施例1に係るサーバノードの機能的構成を示すブロック図である。FIG. 2 is a block diagram illustrating a functional configuration of the server node according to the first embodiment. 図3は、モジュール記憶部に記憶される情報の構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of information stored in the module storage unit. 図4は、モジュール定義記憶部に記憶される情報の構成例を示す図である。FIG. 4 is a diagram illustrating a configuration example of information stored in the module definition storage unit. 図5は、参照データに関する情報について説明するための図である。FIG. 5 is a diagram for explaining information about reference data. 図6は、参照データを用いた実例1について説明するための図である。FIG. 6 is a diagram for explaining Example 1 using reference data. 図7は、参照データを用いた実例2について説明するための図である。FIG. 7 is a diagram for explaining Example 2 using reference data. 図8は、部分参照データの配備先の特定について説明するための図である。FIG. 8 is a diagram for explaining identification of a deployment destination of partial reference data. 図9は、配備可否判定に関する情報について説明するための図である。FIG. 9 is a diagram for explaining information related to the deployment availability determination. 図10は、参照データに応じた配備可否判定について説明するための図である。FIG. 10 is a diagram for describing deployment availability determination according to reference data. 図11は、マスタデータの監視設定処理の手順を示すフローチャートである。FIG. 11 is a flowchart illustrating a procedure of master data monitoring setting processing. 図12は、図11のステップS104においてリストアップされるデータについて説明するための図である。FIG. 12 is a diagram for explaining the data listed in step S104 of FIG. 図13は、マスタデータ変更検出時の処理の手順を示すフローチャートである。FIG. 13 is a flowchart showing a processing procedure when a master data change is detected. 図14は、図13のステップS202において変更回数を集計する処理について説明するための図である。FIG. 14 is a diagram for explaining the process of counting the number of changes in step S202 of FIG. 図15は、トポロジ記憶部に記憶される情報の構成例を示す図である。FIG. 15 is a diagram illustrating a configuration example of information stored in the topology storage unit. 図16は、イベント記憶部に記憶される情報の構成例を示す図である。FIG. 16 is a diagram illustrating a configuration example of information stored in the event storage unit. 図17は、発生イベント情報記憶部に記憶される情報の構成例を示す図である。FIG. 17 is a diagram illustrating a configuration example of information stored in the generated event information storage unit. 図18は、配備先情報記憶部に記憶される情報の構成例を示す図である。FIG. 18 is a diagram illustrating a configuration example of information stored in the deployment destination information storage unit. 図19は、モジュール配備処理の手順を示すフローチャートである。FIG. 19 is a flowchart showing the procedure of module deployment processing. 図20は、配備済モジュールに対する処理の手順を示すフローチャートである。FIG. 20 is a flowchart illustrating a processing procedure for a deployed module. 図21は、配備済モジュールに対する処理の手順を示すフローチャートである。FIG. 21 is a flowchart illustrating a processing procedure for a deployed module. 図22は、配備先決定部の動作例1について説明するための図である。FIG. 22 is a diagram for explaining an operation example 1 of the deployment destination determination unit. 図23は、配備先決定部の動作例1について説明するための図である。FIG. 23 is a diagram for explaining an operation example 1 of the deployment destination determination unit. 図24は、配備先決定部の動作例1について説明するための図である。FIG. 24 is a diagram for explaining an operation example 1 of the deployment destination determination unit. 図25は、配備先決定部の動作例1について説明するための図である。FIG. 25 is a diagram for explaining an operation example 1 of the deployment destination determination unit. 図26は、配備先決定部の動作例1について説明するための図である。FIG. 26 is a diagram for explaining an operation example 1 of the deployment destination determination unit. 図27は、配備先決定部の動作例2について説明するための図である。FIG. 27 is a diagram for explaining an operation example 2 of the deployment destination determination unit. 図28は、配備先決定部の動作例2について説明するための図である。FIG. 28 is a diagram for explaining an operation example 2 of the deployment destination determination unit. 図29は、部分参照データ不足検出からの配備可否判定処理の手順を示すフローチャートである。FIG. 29 is a flowchart illustrating a procedure of deployment availability determination processing from partial reference data shortage detection. 図30は、実施例1に係るセンサノードの機能的構成を示すブロック図である。FIG. 30 is a block diagram illustrating a functional configuration of the sensor node according to the first embodiment. 図31は、実施例1に係るセンサノードにおける処理の手順を示すフローチャートである。FIG. 31 is a flowchart illustrating a processing procedure in the sensor node according to the first embodiment. 図32は、開示技術の適用例1について説明するための図である。FIG. 32 is a diagram for describing an application example 1 of the disclosed technology. 図33は、開示技術の適用例2について説明するための図である。FIG. 33 is a diagram for describing an application example 2 of the disclosed technology. 図34は、開示技術の適用例3について説明するための図である。FIG. 34 is a diagram for describing an application example 3 of the disclosed technology. 図35は、実施例2に係るセンサネットワークシステムのシステム構成を示す図である。FIG. 35 is a diagram illustrating a system configuration of the sensor network system according to the second embodiment. 図36は、実施例2に係るGWノードの機能的構成を示すブロック図である。FIG. 36 is a block diagram illustrating a functional configuration of a GW node according to the second embodiment. 図37は、イベント収集プログラムを実行するコンピュータを示す図である。FIG. 37 is a diagram illustrating a computer that executes an event collection program.

以下に、本願の開示するイベント収集方法、イベント収集プログラム及び情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。   Hereinafter, embodiments of an event collection method, an event collection program, and an information processing device disclosed in the present application will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments. Each embodiment can be appropriately combined within a range in which processing contents do not contradict each other.

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

図1に示すように、センサネットワークシステム1には、サーバノード110と、センサノード210とが収容される。これらセンサノード210とサーバノード110との間は、ネットワーク5を介して通信可能に接続される。かかるネットワーク5の一例としては、有線または無線を問わず、インターネット、LAN(Local Area Network)やVPN(Virtual Private Network)などの通信網が挙げられる。なお、図1の例では、センサノード210を1つ収容する場合を例示したが、複数のセンサノードが収容されていてもよく、任意の数のセンサノードを収容する場合に適用することができる。   As shown in FIG. 1, the sensor network system 1 accommodates a server node 110 and a sensor node 210. The sensor node 210 and the server node 110 are communicably connected via the network 5. As an example of the network 5, there is a communication network such as the Internet, a LAN (Local Area Network), and a VPN (Virtual Private Network) regardless of wired or wireless. In the example of FIG. 1, the case where one sensor node 210 is accommodated is illustrated, but a plurality of sensor nodes may be accommodated, and can be applied when accommodating an arbitrary number of sensor nodes. .

センサノード210は、センサ付きの通信端末である。センサノード210の一例としては、パーソナルコンピュータやその周辺機器、AV(Audio Visual)機器、スマートフォンや携帯電話機、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 and peripheral devices, AV (Audio Visual) devices, smart phones and mobile phones, portable terminals such as PHS (Personal Handyphone System), and home appliances. Examples of sensors mounted on the sensor node 210 include a power sensor that measures the amount of power, a temperature sensor that measures temperature, and a humidity sensor that measures humidity. Here, a power sensor or a temperature sensor is illustrated as an example of a sensor mounted on the sensor node 210, but an arbitrary sensor such as a GPS (Global Positioning System) sensor, an acceleration sensor, or a gyro sensor is used as the sensor node 210. Can be installed.

サーバノード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. For example, the server node 110 distributes the event by disposing a module that executes a processing process that processes the event received from the sensor node 210 in a node positioned lower than its 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.

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

[サーバノードの構成]
次に、本実施例に係るサーバノードの機能的構成について説明する。図2は、実施例1に係るサーバノードの機能的構成を示すブロック図である。なお、サーバノード110は、図2に示す機能部以外にも既知のサーバ装置が有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能を有するものとする。
[Server node configuration]
Next, 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 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とを有する。さらに、サーバノード110は、イベント受信部113と、イベント記憶部114と、モジュール実行部115と、発生イベント登録部116と、発生イベント情報記憶部116Aとを有する。さらに、サーバノード110は、参照データ記憶部162と、部分参照データ要求受信部120と、部分参照データ抽出部119と、部分参照データ送信部163と、配備先決定部117と、配備先情報記憶部117Aと、モジュール送信部118とを有する。   As shown in FIG. 2, the server node 110 includes a module registration unit 111, a module storage unit 111A, a module definition storage unit 111B, a topology acquisition unit 112, and a topology storage unit 112A. Further, the server node 110 includes an event receiving unit 113, an event storage unit 114, a module execution unit 115, an occurrence event registration unit 116, and an occurrence event information storage unit 116A. Further, the server node 110 includes a reference data storage unit 162, a partial reference data request reception unit 120, a partial reference data extraction unit 119, a partial reference data transmission unit 163, a deployment destination determination unit 117, and a deployment destination information storage. 117A and a module transmission unit 118.

モジュール登録部111は、モジュールを登録する処理部である。例えば、モジュール登録部111は、モジュールの開発者によって各種のサービス提供処理のトリガーとなるイベントをフィルタリングまたは集約するようにプログラミングされたモジュールのアップロードを受け付ける。モジュール登録部111は、サーバノード110にアップロードされたモジュールを後述のモジュール記憶部111Aに登録する。モジュール登録部111は、アップロードされたモジュールに関する定義を開発者が使用する端末装置を介して受け付け、受け付けたモジュールに関する定義を後述のモジュール定義記憶部111Bに登録する。   The module registration unit 111 is a processing unit that registers a module. For example, 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. The module registration unit 111 registers the module uploaded to the server node 110 in a module storage unit 111A described later. The module registration unit 111 accepts definitions relating to the uploaded modules via a terminal device used by the developer, and registers the definitions relating to the accepted modules in a module definition storage unit 111B described later.

モジュール記憶部111Aは、モジュールを記憶する記憶部である。例えば、モジュール記憶部111Aは、モジュールがアップロードされた場合に、モジュール登録部111によってモジュールが登録される。また、例えば、モジュール記憶部111Aは、センサノード210やGWノード310などの下位ノードにモジュールを配備する場合に、後述のモジュール送信部118によって参照される。なお、モジュール記憶部111Aに記憶される情報の構成例については、図3を用いて後述する。   The module storage unit 111A is a storage unit that stores modules. For example, in the module storage unit 111A, when a module is uploaded, the module registration unit 111 registers the module. In addition, for example, the module storage unit 111A is referred to by a module transmission unit 118 described later when modules are deployed in lower nodes such as the sensor node 210 and the GW node 310. A configuration example of information stored in the module storage unit 111A will be described later with reference to FIG.

モジュール定義記憶部111Bは、モジュールに関する定義を記憶する記憶部である。例えば、モジュール定義記憶部111Bは、モジュールとともにモジュールに関する定義がアップロードされた場合に、モジュール登録部111によってモジュールの定義が登録される。また、例えば、モジュール定義記憶部111Bは、モジュールの配備先を決定するために、後述の配備先決定部117によって参照される。なお、モジュール定義記憶部111Bに記憶される情報の構成例については、図4を用いて後述する。   The module definition storage unit 111B is a storage unit that stores definitions related to modules. For example, the module definition storage unit 111 </ b> B registers the module definition by the module registration unit 111 when a definition related to the module is uploaded together with the module. Further, for example, the module definition storage unit 111B is referred to by a later-described deployment destination determination unit 117 in order to determine a module deployment destination. A configuration example of information stored in the module definition storage unit 111B will be described later with reference to FIG.

トポロジ取得部112は、センサネットワークの接続形態、いわゆるトポロジを取得する処理部である。例えば、トポロジ取得部112は、センサネットワークに収容されたセンサノード210やGWノード310を含む下位ノードから、当該下位ノードがどの上位ノードに接続されているかを表すノード間の接続情報を取得する。また、トポロジ取得部112は、当該下位ノードの記憶容量に関する情報を取得する。その上で、トポロジ取得部112は、下位ノードから取得したノード間の接続情報と、記憶容量に関する情報とを後述のトポロジ記憶部112Aに登録する。なお、以下では、下位ノードがUPnP(Universal Plug and Play)プロトコル等を用いて上位ノードを自動認識することによって検出した接続情報を取得する場合を想定するが、サーバノード110が下位ノードとの接続状況を認識することとしてもよい。   The topology acquisition unit 112 is a processing unit that acquires a connection form of the sensor network, that is, a so-called topology. For example, the topology acquisition unit 112 acquires connection information between nodes indicating to which upper node the lower node is connected from lower nodes including the sensor node 210 and the GW node 310 accommodated in the sensor network. The topology acquisition unit 112 acquires information related to the storage capacity of the lower node. Then, the topology acquisition unit 112 registers the connection information between the nodes acquired from the lower nodes and the information regarding the storage capacity in the later-described topology storage unit 112A. In the following, it is assumed that the lower node acquires connection information detected by automatically recognizing the upper node using the UPnP (Universal Plug and Play) protocol or the like, but the server node 110 is connected to the lower node. It is also possible to recognize the situation.

トポロジ記憶部112Aは、センサネットワークのトポロジを記憶する記憶部である。例えば、トポロジ記憶部112Aは、下位ノードからノード間の接続情報が取得された場合に、トポロジ取得部112によってノード間の接続情報がトポロジとして登録される。また、例えば、トポロジ記憶部112Aは、下位ノードから記憶容量に関する情報が取得された場合に、トポロジ取得部112によって記憶容量に関する情報が使用リソースとして登録される。また、例えば、トポロジ記憶部112Aは、モジュールの配備先を決定するために、後述の配備先決定部117によって参照される。なお、トポロジ記憶部112Aに記憶される情報の構成例については、図15を用いて後述する。   The topology storage unit 112A is a storage unit that stores the topology of the sensor network. For example, in the topology storage unit 112A, when connection information between nodes is acquired from a lower node, the connection information between nodes is registered as a topology by the topology acquisition unit 112. For example, in the topology storage unit 112A, when information about storage capacity is acquired from a lower node, the information about storage capacity is registered as a use resource by the topology acquisition unit 112. Further, for example, the topology storage unit 112A is referred to by a later-described deployment destination determination unit 117 in order to determine a module deployment destination. A configuration example of information stored in the topology storage unit 112A will be described later with reference to FIG.

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

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

例えば、イベント記憶部114は、下位ノードからイベントが受信された場合に、イベント受信部113によってイベントが登録される。また、例えば、イベント記憶部114は、モジュールによってイベントが処理された場合に、後述のモジュール実行部115によって処理実行後のイベントが登録される。なお、イベント記憶部114に記憶される情報の構成例については、図16を用いて後述する。   For example, in the event storage unit 114, when an event is received from a lower node, the event reception unit 113 registers the event. Further, for example, in the event storage unit 114, when an event is processed by a module, an event after the process execution is registered by a module execution unit 115 described later. A configuration example of information stored in the event storage unit 114 will be described later with reference to FIG.

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

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

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

例えば、発生イベント情報記憶部116Aは、下位ノードからイベントが受信された場合に、発生イベント登録部116によって発生イベントが登録される。また、例えば、発生イベント情報記憶部116Aは、モジュールの配備先を決定するために、後述の配備先決定部117によって参照される。なお、発生イベント情報記憶部116Aに記憶される情報の構成例については、図17を用いて後述する。   For example, in the occurrence event information storage unit 116A, when an event is received from a lower node, the occurrence event registration unit 116 registers the occurrence event. In addition, for example, the generated event information storage unit 116A is referred to by a later-described deployment destination determining unit 117 in order to determine a module deployment destination. A configuration example of information stored in the generated event information storage unit 116A will be described later with reference to FIG.

参照データ記憶部162は、モジュールがイベントを加工処理する場合に参照されるデータを記憶する記憶部である。この参照データ記憶部162には、モジュール記憶部111Aに記憶されるモジュールによって参照されるデータが記憶されている。なお、参照データ記憶部162のことを「マスタ」と称する場合がある。また、参照データ記憶部162に記憶されるデータのことを「マスタデータ」と称する場合がある。   The reference data storage unit 162 is a storage unit that stores data referred to when the module processes an event. The reference data storage unit 162 stores data referred to by the modules stored in the module storage unit 111A. Note that the reference data storage unit 162 may be referred to as a “master”. Further, data stored in the reference data storage unit 162 may be referred to as “master data”.

部分参照データ要求受信部120は、部分参照データ要求を受信する処理部である。この部分参照データ要求には、要求のトリガーとなった発生イベントに関連する情報と、要求を行ったノードに関連する情報とが含まれる。一態様としては、部分参照データ要求には、イベントが発生した発生ノードID、発生イベント型、検索キー、検索キーの値及び配備先ノードIDが含まれる。   The partial reference data request receiving unit 120 is a processing unit that receives a partial reference data request. This partial reference data request includes information related to the event that has triggered the request and information related to the node that made the request. As one aspect, the partial reference data request includes an occurrence node ID where an event has occurred, an occurrence event type, a search key, a value of the search key, and a deployment destination node ID.

例えば、部分参照データ要求受信部120は、センサノード210やGWノード310などの下位ノードから部分参照データ要求を受信すると、当該要求を後述の部分参照データ抽出部119に出力する。   For example, when the partial reference data request receiving unit 120 receives a partial reference data request from a lower node such as the sensor node 210 or the GW node 310, the partial reference data request receiving unit 120 outputs the request to the partial reference data extracting unit 119 described later.

部分参照データ抽出部119は、参照データ記憶部162に記憶された参照データのうち、下位ノードに配備するモジュールに対応する部分参照データを抽出する処理部である。例えば、部分参照データ抽出部119は、モジュールが配備される場合に、当該モジュールに対応する検索キー、参照箇所及び抽出方法をモジュール定義記憶部111Bから読み出す。部分参照データ抽出部119は、参照データ記憶部162に記憶された参照データのうち検索キー、参照箇所及び抽出方法に対応する部分参照データを抽出し、当該データを後述の部分参照データ送信部163に出力する。   The partial reference data extraction unit 119 is a processing unit that extracts partial reference data corresponding to a module to be deployed in a lower node from the reference data stored in the reference data storage unit 162. For example, when a module is deployed, the partial reference data extraction unit 119 reads a search key, a reference location, and an extraction method corresponding to the module from the module definition storage unit 111B. The partial reference data extraction unit 119 extracts partial reference data corresponding to a search key, a reference location, and an extraction method from the reference data stored in the reference data storage unit 162, and the partial reference data transmission unit 163 described later. Output to.

部分参照データ送信部163は、部分参照データを下位ノードへ送信する処理部である。例えば、部分参照データ送信部163は、部分参照データ抽出部119によって抽出された部分参照データを、部分参照データ抽出部119から受け付ける。部分参照データ送信部163は、受け付けた部分参照データを、モジュールを配備する下位ノードへ送信する。   The partial reference data transmission unit 163 is a processing unit that transmits partial reference data to a lower node. For example, the partial reference data transmission unit 163 receives the partial reference data extracted by the partial reference data extraction unit 119 from the partial reference data extraction unit 119. The partial reference data transmission unit 163 transmits the received partial reference data to a lower node that deploys the module.

配備先情報記憶部117Aは、モジュールの配備先に関する情報を記憶する記憶部である。例えば、配備先情報記憶部117Aは、センサネットワークのトポロジに変化があった場合に、後述の配備先決定部117によってアクセスされる。なお、配備先情報記憶部117Aに記憶される情報の構成例については、図18を用いて後述する。   The deployment destination information storage unit 117A is a storage unit that stores information regarding the deployment destination of the module. For example, the deployment destination information storage unit 117A is accessed by the deployment destination determination unit 117 described later when there is a change in the sensor network topology. A configuration example of information stored in the deployment destination information storage unit 117A will be described later with reference to FIG.

配備先決定部117は、モジュールの配備先を決定する処理部である。例えば、配備先決定部117は、トポロジ記憶部112Aが更新された場合、すなわちセンサネットワークのトポロジに変化があった場合に、モジュールの配備先を決定する。なお、配備先決定部117がモジュールの配備先を決定する処理については、図19〜図22を用いて後述する。   The deployment destination determination unit 117 is a processing unit that determines a module deployment destination. For example, the deployment destination determination unit 117 determines the module deployment destination when the topology storage unit 112A is updated, that is, when the topology of the sensor network has changed. The process in which the deployment destination determination unit 117 determines the module deployment destination will be described later with reference to FIGS.

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

[サーバノードの機能部]
次に、図2に示した機能部のうち、さらなる説明を要するものについて、図面に基づいて詳細に説明する。
[Functional part of server node]
Next, the functional units shown in FIG. 2 that require further explanation will be described in detail with reference to the drawings.

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

図3の例では、モジュールID「平均電力計算」及び「家庭内電力総計」とそのバイナリコードとが対応付けられた例を示している。このうち、「平均電力計算」は、所定期間の消費電力の平均を計算するモジュールのクラス名を指し、「家庭内電力総計」は、所定期間の消費電力の総和を計算するモジュールのクラス名を指す。これらモジュール「平均電力計算」及び「家庭内電力総計」が下位ノードに配備された場合には、下位ノードからサーバノード110に送信されるイベントが集約されることになる。   The example of FIG. 3 shows an example in which module IDs “average power calculation” and “home power total” are associated with their binary codes. Of these, “average power calculation” refers to the class name of the module that calculates the average power consumption for a given period, and “home power total” refers to the class name of the module that calculates the total power consumption for a given period. Point to. When these modules “average power calculation” and “home power total” are arranged in the lower node, events transmitted from the lower node to the server node 110 are aggregated.

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

次に図4を用いて、モジュール定義記憶部111Bに記憶される情報の構成例について説明する。図4は、モジュール定義記憶部に記憶される情報の構成例を示す図である。図4に示すように、例えば、モジュール定義記憶部111Bは、処理そのものに関する情報、参照データに関する情報及び配備可否判定に関する情報が対応付けられたデータを記憶する。以下では、「処理そのものに関する情報」、「参照データに関する情報」、配備可否判定に関する情報」の各部について説明する。   Next, a configuration example of information stored in the module definition storage unit 111B will be described with reference to FIG. FIG. 4 is a diagram illustrating a configuration example of information stored in the module definition storage unit. As illustrated in FIG. 4, for example, the module definition storage unit 111 </ b> B stores data in which information related to the process itself, information related to reference data, and information related to deployment availability determination are associated. In the following, each part of “information relating to processing itself”, “information relating to reference data”, and information relating to deployment availability determination will be described.

まず、「処理そのものに関する情報」について説明する。図4に示すように、処理そのものに関する情報には、モジュール識別子、入力イベント型、出力イベント型及び集約属性名が対応付けられている。ここで言う「入力イベント型」とは、モジュールによって実行される処理の入力となるイベントの型を指す。また、「出力イベント型」とは、モジュールによって実行された処理の出力となるイベントの型を指す。また、「集約属性名」とは、複数の入力イベントを集約する枠組みである集約属性の名称を指す。   First, “information regarding the processing itself” will be described. As shown in FIG. 4, the module identifier, the input event type, the output event type, and the aggregate attribute name are associated with the information regarding the process itself. Here, the “input event type” refers to an event type that becomes an input of processing executed by the module. The “output event type” refers to an event type that is an output of the process executed by the module. The “aggregated attribute name” refers to the name of an aggregate attribute that is a framework for aggregating a plurality of input events.

図4に示すモジュール識別子「平均電力計算」は、入力イベント型「電力」のイベントを受信し、集約属性名「コンセントID」に基づいて入力イベントを集約処理し、出力イベント型「平均電力」として処理結果を出力する処理を表す。また、図4に示すモジュール「人単位計算」は、入力イベント型「平均電力」のイベントを受信し、集約属性名「利用者」に基づいて入力イベントを集約処理し、出力イベント型「人単位電力」として処理結果を出力する処理を表す。なお、集約属性名は処理の内容によって指定されない場合もある。   The module identifier “average power calculation” shown in FIG. 4 receives an event of the input event type “power”, aggregates the input event based on the aggregation attribute name “outlet ID”, and sets it as an output event type “average power”. Represents processing that outputs processing results. 4 receives an event of the input event type “average power”, aggregates the input event based on the aggregate attribute name “user”, and outputs the event type “per person”. It represents a process of outputting a processing result as “power”. Note that the aggregate attribute name may not be specified depending on the content of processing.

次に、図5〜図7を用いて、「参照データに関する情報」について説明する。図5は、参照データに関する情報について説明するための図である。図5に示すように、参照データに関する情報には、モジュールがイベントを加工処理する場合に参照する参照データの参照箇所、抽出方法、検索キーが記録される。一態様として参照箇所はテーブル名やカラム名で指定され、抽出方法は参照データから必要レコードを抽出する際の抽出式などとして指定される。さらに、検索キーには入力イベント型内の属性名が指定される。これらの情報によって入力イベントの内容に基づいて参照データを参照しながら処理を行う際に必要なマスタデータ内レコード行と入力イベント型内の属性の値との結びつけやレコード行や参照カラムの特定を行う。参照データに関する情報は、アプリ管理者によって指定され、下位ノードに配備する部分参照データの細分化に用いられる。また、モジュールが参照データを要しない場合には、参照データに関する情報には、データが格納されなくても良い。   Next, “information related to reference data” will be described with reference to FIGS. FIG. 5 is a diagram for explaining information about reference data. As shown in FIG. 5, the reference data reference location, extraction method, and search key to be referred to when the module processes the event are recorded in the information related to the reference data. As one aspect, a reference location is specified by a table name or a column name, and an extraction method is specified as an extraction formula or the like when extracting a necessary record from reference data. Further, the attribute name in the input event type is designated as the search key. With this information, it is possible to link the record row in the master data and the attribute value in the input event type, and specify the record row and reference column, which are necessary for processing while referring to the reference data based on the contents of the input event. Do. Information on the reference data is designated by the application administrator and is used to subdivide the partial reference data to be deployed in the lower nodes. Further, when the module does not require reference data, the data related to the reference data may not be stored.

図5に示すように、例えば、参照データに関する情報には、検索キー、参照箇所及び抽出方法が対応付けられている。ここで言う「検索キー」とは、入力イベント内の属性を指す。また、「参照箇所」とは、参照されるテーブル及びカラムを特定する情報を指す。また、「抽出方法」とは、参照されるレコードを特定する情報を指す。また、抽出方法は、参照データに紐付けられたデータを間接的に参照するための情報を指す場合もある。これらの情報によって、発生イベントの属性値に応じてレコード単位で部分参照データを配備することが可能となる。なお、モジュールがデータ参照を伴わない場合には、参照データに関する情報には、データが格納されなくても良い。また、検索キーは、「属性情報」の一例である。また、参照箇所は、「参照箇所情報」の一例である。また、抽出方法は、「参照データ抽出用情報」の一例である。   As shown in FIG. 5, for example, a search key, a reference location, and an extraction method are associated with information related to reference data. The “search key” here refers to an attribute in the input event. The “reference location” refers to information for specifying a table and a column to be referred to. The “extraction method” refers to information that identifies a record to be referred to. The extraction method may refer to information for indirectly referring to data associated with reference data. With this information, partial reference data can be deployed in record units in accordance with the attribute value of the generated event. If the module does not accompany data reference, the information related to the reference data need not be stored. The search key is an example of “attribute information”. The reference location is an example of “reference location information”. The extraction method is an example of “reference data extraction information”.

図5では、モジュール識別子「Proc1」の処理5aによって参照データ記憶部162が参照される参照方法を、3つのケースに分けて説明する。ここで、3つのケースとは、処理5aが参照データに関する情報としてデータ5bを読み出したケース、データ5cを読み出したケース、データ5dを読み出したケースに対応する。なお、データ5bを読み出したケースは、イベント内容に応じた参照データの直接参照に対応し、データ5cを読み出したケース及びデータ5dを読み出したケースは、イベント内容に応じた間接参照に対応する。   In FIG. 5, the reference method in which the reference data storage unit 162 is referred to by the process 5a of the module identifier “Proc1” will be described in three cases. Here, the three cases correspond to a case where the process 5a reads the data 5b as information on the reference data, a case where the data 5c is read, and a case where the data 5d is read. The case where the data 5b is read corresponds to the direct reference of the reference data corresponding to the event content, and the case where the data 5c is read and the case where the data 5d is read correspond to the indirect reference corresponding to the event content.

図5に示すように、例えば、入力イベント「Event11」が入力されると、処理5aが実行される。処理5aが実行されると、入力イベント内のデータから、検索キーに対応するkeyが抽出される。ここで言う「key」とは、発生イベントに応じた検索キーの固有の値を示す。つまり、処理5aが実行されると、「Event11」内のデータから、属性名「attr1」に対応する値「val1」がkeyとして抽出される。   As illustrated in FIG. 5, for example, when an input event “Event11” is input, the process 5 a is executed. When the process 5a is executed, the key corresponding to the search key is extracted from the data in the input event. Here, “key” indicates a unique value of the search key corresponding to the occurrence event. That is, when the process 5a is executed, the value “val1” corresponding to the attribute name “attr1” is extracted from the data in “Event11” as the key.

ここで、データ5bは、イベント内容に応じた参照データの直接参照を表す例である。データ5bには、参照箇所「テーブルA.K,テーブルA.X」が格納されている。これは、参照データ記憶部162に記憶されるデータのうち、テーブルAのカラムKとカラムXとが参照されることを示す。また、データ5bには、抽出方法「where key=テーブルA.K」が格納されている。これは、参照データ記憶部162に記憶されるデータのうち、テーブルAのカラムKにkeyを含むレコードが参照されることを示す。つまり、処理5aが実行されると、データ5bを読み出したケースでは、テーブルAのカラムK及びカラムXのうち、カラムKに「val1」を含むレコード「val1,val22」が参照される。   Here, the data 5b is an example representing the direct reference of the reference data according to the event content. In the data 5b, reference locations “table AK, table AX” are stored. This indicates that the column K and the column X of the table A are referred to among the data stored in the reference data storage unit 162. The data 5b stores an extraction method “where key = table AK”. This indicates that among the data stored in the reference data storage unit 162, a record including a key in the column K of the table A is referred to. That is, when the process 5a is executed, in the case where the data 5b is read, the records “val1, val22” including “val1” in the column K are referred to among the columns K and X of the table A.

また、データ5cはイベント内容に応じて間接参照を辿って参照データを抽出する例である。データ5cには、参照箇所「テーブルA.K,テーブルB.X」が格納されている。これは、参照データ記憶部162に記憶されるデータのうち、テーブルAのカラムKと、テーブルBのカラムXとが参照されることを示す。また、データ5cには、抽出方法「where key=テーブルA.K&&,テーブルA.L=テーブルB.K2」が格納されている。これは、参照データ記憶部162に記憶されるデータのうち、テーブルAのカラムKにkeyを含むレコードと、テーブルBのカラムK2にテーブルAのカラムLの値を含むレコードとが参照されることを示す。つまり、処理5aが実行されると、データ5cを読み出したケースでは、テーブルAのカラムKに「val1」を含むカラムLの値「val21」が抽出され、さらに、テーブルBのカラムK2に「val21」を含むカラムXの値「val31」が参照される。   Data 5c is an example of extracting reference data by following indirect reference according to the event content. In the data 5c, reference locations “table AK, table BX” are stored. This indicates that, among the data stored in the reference data storage unit 162, the column K of the table A and the column X of the table B are referred to. Further, the extraction method “where key = table AK &&, table AL = table B.K2” is stored in the data 5c. This is because the record stored in the reference data storage unit 162 refers to the record that includes the key in the column K of the table A and the record that includes the value of the column L of the table A in the column K2 of the table B. Indicates. That is, when the process 5a is executed, in the case where the data 5c is read, the value “val21” of the column L including “val1” in the column K of the table A is extracted, and further, “val21” is extracted in the column K2 of the table B. The value “val31” of the column X including “is referred to.

また、データ5dはイベント内容に応じた間接参照の別の例を示したものである。この例ではイベント内容から抽出した値に算出式を適用した値をもとに参照データ値を抽出する。データ5dには、参照箇所「テーブルA.K,テーブルA.X」が格納されている。これは、参照データ記憶部162に記憶されるデータのうち、テーブルAのカラムKとカラムXとが参照されることを示す。また、データ5cには、抽出方法「where f(key)=テーブルA.K」が格納されている。これは、参照データ記憶部162に記憶されるデータのうち、keyに算出式fを適用した値を用いてテーブルAのカラムKが参照されることを示す。つまり、処理5aが実行されると、データ5dを読み出したケースでは、テーブルAのカラムK及びカラムXのうち、カラムKに「f(val1)」を含むレコード「f(val1),val41」が参照される。なお、算出式fには、フォーマット変換や粒度変更などに用いられる算出式が適用される。なお、図5cの間接参照は2段階の参照を間接参照への対応方法を示しているが、3段階以上の間接参照であっても同様にJoin時の着目カラムを抽出方法に列挙していくことで対応できる。さらに、5bから5dは参照データの抽出方法が異なる場合にも対応できることを示したものであり、ここで示した事例以外の抽出方法にも対応できることは容易にわかる。   Further, the data 5d shows another example of indirect reference according to the event content. In this example, the reference data value is extracted based on the value obtained by applying the calculation formula to the value extracted from the event content. In the data 5d, reference locations “table AK, table AX” are stored. This indicates that the column K and the column X of the table A are referred to among the data stored in the reference data storage unit 162. In addition, the extraction method “where f (key) = table AK” is stored in the data 5c. This indicates that, among the data stored in the reference data storage unit 162, the column K of the table A is referred to using a value obtained by applying the calculation formula f to the key. That is, when the process 5a is executed, in the case where the data 5d is read, the record “f (val1), val41” including “f (val1)” in the column K out of the column K and the column X of the table A is stored. Referenced. A calculation formula used for format conversion, granularity change, or the like is applied to the calculation formula f. In addition, the indirect reference in FIG. 5c shows a method of dealing with a two-stage reference to an indirect reference, but even if it is an indirect reference of three or more stages, the column of interest at the time of Join is similarly listed in the extraction method. It can respond. Furthermore, 5b to 5d indicate that the case where the extraction method of the reference data is different can be dealt with, and it is easily understood that extraction methods other than the examples shown here can be dealt with.

図6を用いて、参照データを用いた実例1について説明する。図6は、参照データを用いた実例1について説明するための図である。ここで参照されるテーブルAには、コンセントID、使用者及び機器が対応付けられている。   Example 1 using reference data will be described with reference to FIG. FIG. 6 is a diagram for explaining Example 1 using reference data. The table A referred to here is associated with an outlet ID, a user, and a device.

図6に示すように、例えば、電力イベントが入力されると、平均電力計算6aが実行される。平均電力計算6aが実行されると、入力イベント内のデータから、検索キー「コンセントID」に対応するkey「11」が抽出される。図6のモジュール定義記憶部111Bには、参照箇所「テーブルA.K,テーブルA.X」が格納されている。これは、電力イベントのコンセントIDに対し、テーブルAのカラムKとカラムXとが参照されることを示す。また、モジュール定義記憶部111Bには、抽出方法「where key=テーブルA.K」が格納されている。これは、電力イベント内の属性値(コンセントID値)をテーブルAのカラムKに含むレコードが参照されることを示す。つまり、平均電力計算6aが実行されると、テーブルAのカラムK及びカラムXのうち、カラムKに「11」を含むレコード「11,Aさん」が参照される。なお、図6の場合には、部分参照データ記憶部216には、テーブルAのカラムK及びカラムXのうち、カラムKに「11」を含むレコード「11,Aさん」を含むデータ6bが記憶される。   As shown in FIG. 6, for example, when a power event is input, the average power calculation 6a is executed. When the average power calculation 6a is executed, the key “11” corresponding to the search key “outlet ID” is extracted from the data in the input event. In the module definition storage unit 111B of FIG. 6, reference locations “table AK, table AX” are stored. This indicates that the column K and the column X of the table A are referred to the outlet ID of the power event. The module definition storage unit 111B stores an extraction method “where key = table AK”. This indicates that a record including the attribute value (outlet ID value) in the power event in the column K of the table A is referred to. That is, when the average power calculation 6a is executed, the record “11, Mr. A” including “11” in the column K among the columns K and X of the table A is referred to. In the case of FIG. 6, the partial reference data storage unit 216 stores data 6b including the record “11, Mr. A” including “11” in the column K among the columns K and X of the table A. Is done.

図7を用いて、参照データを用いた実例2(ケース5c、データ5cのケース)について説明する。図7は、参照データを用いた実例2について説明するための図である。この例は、複数のテーブルに分かれて管理・記憶されているマスターデータから処理に必要なデータのみを抽出する例を示す。ここで参照されるテーブルAにはコンセントIDと接続機器とが対応付けられており、テーブルBには機器と使用者とが対応付けられている。   Example 2 (case 5c, case of data 5c) using reference data will be described with reference to FIG. FIG. 7 is a diagram for explaining Example 2 using reference data. This example shows an example of extracting only data necessary for processing from master data managed and stored in a plurality of tables. The table A referred to here is associated with the outlet ID and the connected device, and the table B is associated with the device and the user.

図7に示すように、例えば、電力イベントが入力されると、平均電力計算7aが実行される。平均電力計算7aが実行されると、入力イベント内のデータから、検索キー「コンセントID」に対応するkey「11」が抽出される。図7のモジュール定義記憶部111Bには、参照箇所「テーブルA.K,テーブルB.X」が格納されている。これは、電力イベントのコンセントIDに対し、テーブルAのカラムKと、テーブルBのカラムXとが参照されることを示す。また、モジュール定義記憶部111Bには、抽出方法「where key=テーブルA.K&&,テーブルA.L=テーブルB.K2」が格納されている。これは、参照データ記憶部162に記憶されるデータのうち、テーブルAのカラムKにkeyを含むレコードと、該当レコードのカラムLと同値の値をテーブルBのカラムK2に含むレコードとが参照されることを示す。つまり、平均電力計算7aが実行されると、テーブルAのカラムKに「11」を含むカラムLの値「共用PC1」が抽出され、さらに、「共用PC1」をテーブルBのカラムK2に含むカラムXの値「Aさん」が参照される。なお、図7の場合には、部分参照データ記憶部216には、テーブルAのカラムK及びテーブルBのカラムXのうち、カラムKに「11」を含むレコード「11,Aさん」を含むデータ7bが記憶される。   As shown in FIG. 7, for example, when a power event is input, an average power calculation 7a is executed. When the average power calculation 7a is executed, the key “11” corresponding to the search key “outlet ID” is extracted from the data in the input event. The module definition storage unit 111B of FIG. 7 stores reference locations “table AK, table BX”. This indicates that the column K of the table A and the column X of the table B are referred to the outlet ID of the power event. The module definition storage unit 111B stores the extraction method “where key = table AK &&, table AL = table B.K2”. This is because, among the data stored in the reference data storage unit 162, a record including a key in the column K of the table A and a record including a value equivalent to the column L of the corresponding record in the column K2 of the table B are referred to. Indicates that That is, when the average power calculation 7a is executed, the value “shared PC1” of the column L including “11” in the column K of the table A is extracted, and the column including “shared PC1” in the column K2 of the table B is extracted. The value “Mr. A” of X is referenced. In the case of FIG. 7, in the partial reference data storage unit 216, the data including the record “11, Mr. A” including “11” in the column K out of the column K of the table A and the column X of the table B. 7b is stored.

図8を用いて、部分参照データの配備先の特定について説明する。図8は、部分参照データの配備先の特定について説明するための図である。図8に示す処理は、参照データ記憶部162に記憶されたマスタデータが変更された際に、例えば、配備先決定部117によって行われる。   With reference to FIG. 8, identification of the deployment destination of partial reference data will be described. FIG. 8 is a diagram for explaining identification of a deployment destination of partial reference data. The process illustrated in FIG. 8 is performed by, for example, the deployment destination determination unit 117 when the master data stored in the reference data storage unit 162 is changed.

図8に示すように、例えば、参照データ記憶部162に記憶されたテーブルAのカラムXの「Aさん」というデータが変更されると、配備先決定部117は、当該データが変更されたことを検知するとともに、カラムKの値「11」を取得する(s11)。そして、配備先決定部117は、モジュール定義記憶部111Bに記憶された抽出方法を参照し、図8(1)に示すように、テーブルAのカラムKの値「11」が電力イベントの「コンセントID」に対応するものと判定する。そして、配備先決定部117は、発生イベント情報記憶部116Aを参照し(s12)、発生イベント「電力」及び発生イベント属性のコンセントID「11」に対応する発生ノードID「電力センサ1」を特定する(s13)。そして、配備先決定部117は、配備先情報記憶部117Aを参照し(s14)、発生ノードID「電力センサ1」、入力イベント型「11」及びモジュール識別子「平均電力計算」に対応する配備先ノードID「GW1」を特定する(s15)。ここで、モジュール識別子はモジュール定義記憶部111Bから取得されるものとする。このように、配備先決定部117は、参照データ記憶部162内のテーブルの変更に伴って部分参照データが配備される配備先ノードIDを特定する。   As illustrated in FIG. 8, for example, when the data “Mr. A” in the column X of the table A stored in the reference data storage unit 162 is changed, the deployment destination determination unit 117 indicates that the data has been changed. And the value “11” of the column K is acquired (s11). Then, the deployment destination determination unit 117 refers to the extraction method stored in the module definition storage unit 111B, and the value “11” in the column K of the table A is “outlet” of the power event as illustrated in FIG. It is determined that it corresponds to “ID”. Then, the deployment destination determining unit 117 refers to the generated event information storage unit 116A (s12), and specifies the generated node ID “power sensor 1” corresponding to the generated event “power” and the outlet ID “11” of the generated event attribute. (S13). Then, the deployment destination determination unit 117 refers to the deployment destination information storage unit 117A (s14), and deploys corresponding to the generation node ID “power sensor 1”, the input event type “11”, and the module identifier “average power calculation”. The node ID “GW1” is specified (s15). Here, the module identifier is acquired from the module definition storage unit 111B. As described above, the deployment destination determination unit 117 identifies the deployment node ID where the partial reference data is deployed in accordance with the change of the table in the reference data storage unit 162.

次に、図9を用いて、「配備可否判定に関する情報」について説明する。図9は、配備可否判定に関する情報について説明するための図である。図9に示すように、配備可否判定に関する情報には、例えば、参照データ特性制約及びリソース観点制約のうち、いずれか一方、又は、両方が記憶されている。参照データ特性制約は、配備する部分参照データのマスタの変更頻度が高い場合に、参照データの再配備が増加することによる通信量の増加を抑止するために指定される。例えば、参照データ特性制約には、部分参照データの配備頻度上限を時間当たりの回数で指定された値が記憶される。図9に示すように、参照データのマスタデータ9aが変更されると、その変更に応じて部分参照データの配備を要するので、変更回数の合計頻度が上限を超えたら配備不可とするという趣旨である。また、リソース観点制約は、配備する処理が大量の部分参照データを要し、配備先ノードのリソース量を超えてしまうような配備を抑止するために指定される。例えば、リソース観点制約には、配備する部分参照データの占有リソース量上限を絶対量や割合で指定した値が記憶される。図9に示すように、例えば、発生イベントのバリエーションによって部分参照データが増加することにより、配備先ノードのリソース量を超えてしまうような配備を抑止するという趣旨である。リソース観点制約が割合で指定された場合には、母数は、配備先ノードのリソース量となる。なお、参照データ特性制約及びリソース観点制約の両方が記憶されている場合には、配備可否判定に関する情報は、AND条件で判定される。また、配備可否判定に関する情報は、例えば、システムを管理する管理者によって指定され、再配備にかかるコストを軽減するために用いられる。また、モジュールが参照データを要しない場合には、配備可否判定に関する情報には、データが格納されなくても良い。また、参照データ特性制約は、「第1条件」の一例であり、リソース観点制約は、「第2条件」の一例である。   Next, “information relating to deployment availability determination” will be described with reference to FIG. FIG. 9 is a diagram for explaining information related to the deployment availability determination. As illustrated in FIG. 9, for example, one or both of a reference data characteristic constraint and a resource viewpoint constraint is stored in the information regarding the availability determination. The reference data characteristic constraint is specified in order to suppress an increase in communication volume due to an increase in redeployment of reference data when the frequency of changing the master of partial reference data to be deployed is high. For example, the reference data characteristic constraint stores a value that designates the deployment frequency upper limit of partial reference data by the number of times per hour. As shown in FIG. 9, when the master data 9a of the reference data is changed, partial reference data needs to be deployed in accordance with the change. Therefore, if the total frequency of changes exceeds the upper limit, deployment is impossible. is there. Further, the resource viewpoint constraint is specified in order to suppress deployment that requires a large amount of partial reference data and exceeds the resource amount of the deployment destination node. For example, the resource viewpoint constraint stores a value that specifies the upper limit of the occupied resource amount of the partial reference data to be deployed by an absolute amount or a ratio. As shown in FIG. 9, for example, it is intended to suppress deployment that exceeds the resource amount of the deployment destination node by increasing the partial reference data due to the variation of the occurrence event. When the resource viewpoint constraint is specified as a ratio, the parameter is the resource amount of the deployment destination node. Note that when both the reference data characteristic constraint and the resource viewpoint constraint are stored, the information related to the deployment availability determination is determined by the AND condition. Further, the information related to the determination of whether or not deployment is possible is specified by, for example, an administrator who manages the system, and is used to reduce the cost for redeployment. Further, when the module does not require reference data, the data may not be stored in the information related to the deployment availability determination. Further, the reference data characteristic constraint is an example of “first condition”, and the resource viewpoint constraint is an example of “second condition”.

図10を用いて、参照データに応じた配備可否判定について説明する。図10は、参照データに応じた配備可否判定について説明するための図である。図10に示す処理は、例えば、部分参照データが配備される際に、配備先決定部117によって行われる。   With reference to FIG. 10, the deployment propriety determination according to the reference data will be described. FIG. 10 is a diagram for describing deployment availability determination according to reference data. The processing illustrated in FIG. 10 is performed by the deployment destination determination unit 117 when, for example, partial reference data is deployed.

図10に示すように、例えば、配備先決定部117は、マスタにあるテーブルAやテーブルBの変更を検知するごとに(s21)、発生イベントの検索キーと対応付く参照データ側のカラムに対して変更頻度を集計する。ここでは、配備先決定部117は、モジュール定義記憶部111Bの抽出方法を参照することで、レコード単位で変更頻度を集計する(s22)。ここで、配備先決定部117によって配備先を決定する際には、参照データ特性制約とリソース観点制約とによって部分参照データの配備可否が判定され、それぞれの制約条件を満たした場合に配備されることとなる(s23)。ここで、発生イベントの検索キーの値に応じて配備されるレコードの数、すなわちリソース量が変動し、配備されるレコードの変更頻度の合計によって再配備の負担が変動する。なお、配備先決定部117によって候補ノード10aに配備される部分参照データは、参照されるテーブルの必要カラムがレコードごとに配備される。なお、s21からs22までの集計は配備先決定処理とは独立に実行される、参照データ更新に応じた処理であり参照データ記憶部など他機能部が代行してもよい。   As shown in FIG. 10, for example, the deployment destination determination unit 117 detects the change of the table A or the table B in the master (s21), for the column on the reference data side associated with the search key of the occurrence event. To summarize the change frequency. Here, the deployment destination determination unit 117 aggregates the change frequency in units of records by referring to the extraction method of the module definition storage unit 111B (s22). Here, when the deployment destination is determined by the deployment destination determination unit 117, whether or not partial reference data can be deployed is determined based on the reference data characteristic constraint and the resource viewpoint constraint, and deployed when the respective constraint conditions are satisfied. (S23). Here, the number of records to be deployed, that is, the amount of resources varies according to the search key value of the occurrence event, and the redeployment burden varies depending on the total change frequency of the deployed records. In the partial reference data deployed to the candidate node 10a by the deployment destination determination unit 117, the necessary column of the referenced table is deployed for each record. The aggregation from s21 to s22 is a process according to reference data update, which is executed independently of the deployment destination determination process, and other function units such as a reference data storage unit may act for it.

図11を用いて、マスタデータの監視設定処理の流れについて説明する。図11は、マスタデータの監視設定処理の手順を示すフローチャートである。この監視設定処理は、例えば、マスタデータの変更を検出するために、配備先決定部117が監視する参照データ内の箇所を設定する処理である。この監視設定処理は、サーバノード110の電源がON状態である限り、繰り返し実行される。   The flow of master data monitoring setting processing will be described with reference to FIG. FIG. 11 is a flowchart illustrating a procedure of master data monitoring setting processing. This monitoring setting process is, for example, a process of setting a location in the reference data monitored by the deployment destination determining unit 117 in order to detect a change in master data. This monitoring setting process is repeatedly executed as long as the server node 110 is powered on.

図11に示すように、配備先決定部117は、モジュール定義情報が登録されるのを待機する(ステップS101)。そして、モジュール定義記憶部111Bにモジュール定義情報が登録されると、配備先決定部117は、登録されたモジュールが、データ参照を伴う処理であり、参照データ特性制約による配備可否判定を要するか否かを確認する(ステップS102)。   As shown in FIG. 11, the deployment destination determination unit 117 waits for the module definition information to be registered (step S101). When the module definition information is registered in the module definition storage unit 111B, the deployment destination determination unit 117 determines whether the registered module is a process involving data reference and requires deployment determination based on reference data characteristic restrictions. (Step S102).

参照データ特性制約による配備可否判定を要すると判定した場合には(ステップS103肯定)、配備先決定部117は、ステップS104の処理を実行する。つまり、配備先決定部117は、参照箇所及び抽出方法に基づいて、モジュールの入力イベントの検索キーに対応付く参照データ側のカラムについて、該当レコードの変更と判定される参照データ内の箇所をリストアップする(ステップS104)。配備先決定部117は、該当結果に基づいて、部分参照データとして配備されうるマスタデータの変更を待機設定し(ステップS105)、ステップS101の処理に戻る。なお、配備先決定部117は、参照データ観点での配備可否判定を要すると判定されない場合には(ステップS103否定)、ステップS101の処理に戻る。   When it is determined that it is necessary to determine whether deployment is possible due to the reference data characteristic constraint (Yes at Step S103), the deployment destination determination unit 117 executes the process of Step S104. In other words, the deployment destination determination unit 117 lists the locations in the reference data determined to be the corresponding record change for the column on the reference data side corresponding to the search key of the input event of the module based on the reference location and the extraction method. Up (step S104). Based on the corresponding result, the deployment destination determination unit 117 sets a change in master data that can be deployed as partial reference data on standby (step S105), and returns to the process of step S101. Note that the deployment destination determination unit 117 returns to the process of step S101 if it is not determined that the deployment availability determination from the viewpoint of reference data is required (No at step S103).

ここで、図12を用いて、図11のステップS104においてリストアップされるデータについて説明する。図12は、図11のステップS104においてリストアップされるデータについて説明するための図である。   Here, the data listed in step S104 of FIG. 11 will be described with reference to FIG. FIG. 12 is a diagram for explaining the data listed in step S104 of FIG.

図12に示すように、例えば、配備先決定部117は、リスト12aにデータをリストアップする。例えば、配備先決定部117は、モジュール定義記憶部111Bにモジュール定義情報が登録されると、モジュールの「モジュール識別子」、「入力イベント」、「検索キー」及び「検索キーに対応付く参照側カラム」をモジュール定義記憶部111Bから抽出する。ここで、配備先決定部117は、「検索キーに対応付く参照側カラム」についてはモジュール定義記憶部111Bの抽出方法にあるwhere句から抽出する(s31)。そして、配備先決定部117は、抽出したデータをリスト12aに格納する。また、リスト12aの「該当レコードの変更と判定する参照データ内箇所」については、配備先決定部117は、モジュール定義記憶部111Bの参照箇所及び抽出方法に基づいて格納する。すなわち、配備先決定部117は、当該モジュールの参照箇所及び抽出方法に出現したカラムから、該当レコードの変更と見なすものを抽出し、格納する。なお、ここで格納される該当レコードの変更と判定する参照データ内箇所のうち、1行目のデータは、モジュール定義記憶部111Bの参照箇所に対応し、2行目及び3行目のデータは、Join時の着目カラムに対応する。このリスト12aは、例えば、コンセントID(「11」など)と接続機器(「共用PC1」など)やその機器利用者(「Aさん」など)の対応付けを示すマスタデータの変更監視を、モジュール識別子「平均電力計算」(入力イベント型「電力」、検索キー「コンセントID」)と対応づけて行う旨を示す。このリスト12aによれば、例えば、監視の対象として設定されたテーブルのカラムが変更された場合に対応づくレコードの変更回数として集計でき、さらに、コンセントID「11」の電力イベント12bが受信された場合に、該当レコードの変更頻度に基づいた配備可否の判定を行うことができる。   As illustrated in FIG. 12, for example, the deployment destination determination unit 117 lists data in the list 12a. For example, when the module definition information is registered in the module definition storage unit 111B, the deployment destination determination unit 117 registers “module identifier”, “input event”, “search key”, and “reference side column corresponding to the search key”. Is extracted from the module definition storage unit 111B. Here, the deployment destination determination unit 117 extracts the “reference side column associated with the search key” from the where phrase in the extraction method of the module definition storage unit 111B (s31). Then, the deployment destination determining unit 117 stores the extracted data in the list 12a. Further, the “location in the reference data determined to be a change in the corresponding record” in the list 12a is stored by the deployment destination determination unit 117 based on the reference location and the extraction method in the module definition storage unit 111B. That is, the deployment destination determination unit 117 extracts and stores what is regarded as a change in the corresponding record from the reference location of the module and the column that appears in the extraction method. Of the locations in the reference data that are determined to be changes in the corresponding record stored here, the data on the first row corresponds to the reference locations on the module definition storage unit 111B, and the data on the second and third rows are , Corresponding to the column of interest at the time of Join. For example, the list 12a is a module for monitoring change of master data indicating correspondence between an outlet ID (such as “11”), a connected device (such as “shared PC1”), and a user of the device (such as “Mr. A”). This indicates that it is performed in association with the identifier “average power calculation” (input event type “power”, search key “outlet ID”). According to this list 12a, for example, it can be counted as the number of record changes corresponding to the change in the column of the table set as the monitoring target, and the power event 12b with the outlet ID “11” is received. In this case, it is possible to determine whether or not to deploy based on the change frequency of the corresponding record.

図13を用いて、マスタデータ変更検出時の処理の流れについて説明する。図13は、マスタデータ変更検出時の処理の手順を示すフローチャートである。このマスタデータ変更検出時の処理は、サーバノード110の電源がON状態である限り、繰り返し実行される。   The flow of processing when master data change is detected will be described with reference to FIG. FIG. 13 is a flowchart showing a processing procedure when a master data change is detected. The process at the time of detecting the master data change is repeatedly executed as long as the power of the server node 110 is ON.

図13に示すように、配備先決定部117は、部分参照データとして配備されうるマスタデータの変更を待機する(ステップS201)。そして、マスタデータの変更が検出されると、配備先決定部117は、監視設定処理によって生成されたリストを用いて、検索キーの値に応じて変更回数を集計する(ステップS202)。   As shown in FIG. 13, the deployment destination determination unit 117 waits for a change in master data that can be deployed as partial reference data (step S201). When the change of the master data is detected, the deployment destination determination unit 117 uses the list generated by the monitoring setting process to count the number of changes according to the search key value (step S202).

続いて、配備先決定部117は、変更されたデータを参照するモジュールが配備済か否かを判定する(ステップS203)。例えば、発生イベント情報記憶部116Aから、出力イベント型と発生イベント型が一致し、かつ検索キーの属性名と値が一致する発生イベントを特定する。そして、その特定した発生イベントの発生ノードIDと集約属性値、発生イベント型をもとに、該当イベントに関する配備済モジュールを配備先情報から特定する。   Subsequently, the deployment destination determination unit 117 determines whether or not the module that refers to the changed data has been deployed (step S203). For example, the generated event information storage unit 116A identifies the generated event in which the output event type and the generated event type match and the search key attribute name and value match. Then, based on the occurrence node ID, the aggregate attribute value, and the occurrence event type of the identified occurrence event, the deployed module related to the event is identified from the deployment destination information.

変更されたデータを参照するモジュールが配備済である場合には(ステップS203肯定)、配備先決定部117は、当該モジュールの配備先ノードがクラウド以外のノードであるか否かを判定する(ステップS204)。クラウド以外のノードである場合には(ステップS204肯定)、配備先決定部117は、当該配備先ノードに部分参照データを配備可能か否かを判定する(ステップS205)。具体的には、モジュール定義情報内の配備可否判定に関する情報に基づき、参照データ特性に制約とリソース観点制約での判定を行う。部分参照データを配備可である場合には(ステップS205肯定)、配備先決定部117は、判定結果に「OK」を格納し(ステップS206)、当該部分参照データを配備先ノードに送信する(ステップS207)。そして、配備先決定部117は、ステップS201の処理に戻る。   When the module that refers to the changed data has been deployed (Yes at Step S203), the deployment destination determination unit 117 determines whether or not the deployment destination node of the module is a node other than the cloud (Step S203). S204). If the node is a node other than the cloud (Yes at Step S204), the deployment destination determination unit 117 determines whether or not partial reference data can be deployed to the deployment destination node (Step S205). Specifically, based on the information regarding the deployment availability determination in the module definition information, the reference data characteristics are determined based on constraints and resource viewpoint constraints. When partial reference data can be deployed (Yes at Step S205), the deployment destination determination unit 117 stores “OK” in the determination result (Step S206), and transmits the partial reference data to the deployment destination node (Step S206). Step S207). Then, the deployment destination determination unit 117 returns to the process of step S201.

一方、部分参照データを配備不可である場合には(ステップS205否定)、配備先決定部117は、後述の図21のステップS422の処理を開始するとともに、ステップS201の処理に戻る(ステップS208)。また、モジュールが配備済でない場合には(ステップS203否定)、配備先決定部117は、ステップS201の処理に戻る。また、モジュールの配備先ノードがクラウドである場合には(ステップS204否定)、配備先決定部117は、ステップS201の処理に戻る。   On the other hand, when the partial reference data cannot be deployed (No at Step S205), the deployment destination determination unit 117 starts the process of Step S422 in FIG. 21 described later and returns to the process of Step S201 (Step S208). . When the module has not been deployed (No at Step S203), the deployment destination determination unit 117 returns to the process at Step S201. If the module deployment destination node is a cloud (No at step S204), the deployment destination determination unit 117 returns to the process of step S201.

図14を用いて、図13のステップS202において変更回数を集計する処理について説明する。図14は、図13のステップS202において変更回数を集計する処理について説明するための図である。図14には、配備可否判定用のテーブル14aを例示する。このテーブル14aは、例えば、配備先決定部117によって生成される。例えば、テーブル14aには、検索キーの値に応じた変更回数が、変更されたデータを参照するモジュールに対応付けて集計される。また、変更回数については、配備可否判定に関する情報の参照データ特性制約で指定された指定期間をスライドさせながら集計する。一態様としては、配備先決定部117は、モジュール定義が登録された時刻t0から指定期間、例えば1時間が経過する時刻t1までの間について、マスタデータの変更を監視する。そして、時刻t1を経過すると、配備先決定部117は、マスタデータの変更を検出するごとに、検出時刻tiから指定期間遡った時刻tjまでの期間の変更回数を集計する。なお、テーブル14aの計測区間開始時刻には、時刻tjが格納される。ここでは、指定期間が1時間である場合を例示したが、これに限定されるものではなく、任意の時間が指定されて良い。   The process of counting the number of changes in step S202 of FIG. 13 will be described using FIG. FIG. 14 is a diagram for explaining the process of counting the number of changes in step S202 of FIG. FIG. 14 illustrates a table 14a for determining deployment availability. The table 14a is generated by the deployment destination determination unit 117, for example. For example, in the table 14a, the number of changes according to the value of the search key is aggregated in association with the module that refers to the changed data. In addition, the number of changes is totaled while sliding the specified period specified by the reference data characteristic constraint of the information related to the determination of whether deployment is possible. As one aspect, the deployment destination determination unit 117 monitors the change of the master data from a time t0 when the module definition is registered until a time t1 when a specified period, for example, 1 hour elapses. When the time t1 elapses, the deployment destination determination unit 117 counts the number of changes in the period from the detection time ti to the time tj that goes back the specified period every time a change in the master data is detected. The time tj is stored in the measurement section start time of the table 14a. Here, the case where the designated period is one hour has been exemplified, but the present invention is not limited to this, and an arbitrary time may be designated.

図15を用いて、トポロジ記憶部112Aに記憶される情報の構成例について説明する。図15は、トポロジ記憶部に記憶される情報の構成例を示す図である。図15に示すように、例えば、トポロジ記憶部112Aは、下位ノードID、上位ノードID及び使用リソースが対応付けられたデータを記憶する。ここで言う「下位ノードID」は、下位ノードを識別するための識別子を指す。また、「上位ノードID」は、下位ノードに接続される上位ノードを識別するための識別子を指す。また、「使用リソース」は、下位ノードにおける使用リソースの容量及び比率を指す。ここで言う比率とは、例えば、下位ノードにおけるトータルメモリに対する使用量の比率を示す。   A configuration example of information stored in the topology storage unit 112A will be described with reference to FIG. FIG. 15 is a diagram illustrating a configuration example of information stored in the topology storage unit. As illustrated in FIG. 15, for example, the topology storage unit 112A stores data in which a lower node ID, an upper node ID, and a used resource are associated with each other. The “lower node ID” here refers to an identifier for identifying a lower node. The “upper node ID” indicates an identifier for identifying an upper node connected to the lower node. “Used resources” refers to the capacity and ratio of used resources in lower nodes. The ratio referred to here indicates, for example, the ratio of the usage amount to the total memory in the lower nodes.

図15の例では、センサ1の上位ノードがGW1であり、GW1の上位ノードがクラウドである場合を示す。例えば、センサ1は、センサノード210に対応し、クラウドは、サーバノード110に対応する。また、ここでは、センサ1とクラウドとの間にGW1が中継ノードとして介在する場合を示したが、必ずしも中継ノードが介在していなくても良く、例えば、図1に示したように、センサ1の上位ノードがクラウドであっても良い。また、図15の例では、センサ1は、1MBのリソースを使用しており、そのトータルメモリに対する比率が80%である例を示す。   In the example of FIG. 15, the upper node of the sensor 1 is GW1, and the upper node of GW1 is a cloud. For example, the sensor 1 corresponds to the sensor node 210, and the cloud corresponds to the server node 110. Further, here, the case where the GW 1 is interposed as a relay node between the sensor 1 and the cloud is shown, but the relay node may not necessarily be interposed. For example, as shown in FIG. The upper node may be a cloud. Further, in the example of FIG. 15, the sensor 1 uses 1 MB resources, and the ratio to the total memory is 80%.

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

図16に示す1番目のレコードは、2011年7月13日の12時にX家の電力センサXによって電力が計測されたというイベントを示す。   The first record shown in FIG. 16 shows an event that power is measured by the X house power sensor X at 12:00 on July 13, 2011.

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

図17を用いて、発生イベント情報記憶部116Aに記憶される情報の構成例について説明する。図17は、発生イベント情報記憶部116Aに記憶される情報の構成例を示す図である。図17に示すように、例えば、発生イベント情報記憶部116Aは、発生ノードID、発生イベント型及び発生イベント属性が対応付けられたデータを記憶する。ここで言う「発生ノードID」は、発生ノードを識別するための識別子を指す。また、「発生イベント型」は、発生イベントの種類を識別するための識別子を指す。また、「発生イベント属性」は、発生ノードのイベント属性を指す。   A configuration example of information stored in the generated event information storage unit 116A will be described with reference to FIG. FIG. 17 is a diagram illustrating a configuration example of information stored in the generated event information storage unit 116A. As shown in FIG. 17, for example, the generated event information storage unit 116A stores data in which a generated node ID, a generated event type, and a generated event attribute are associated with each other. The “occurrence node ID” here refers to an identifier for identifying the occurrence node. The “occurrence event type” indicates an identifier for identifying the type of the occurrence event. The “occurrence event attribute” indicates an event attribute of the occurrence node.

図17に示す1番目のレコードは、X家の電力センサXで電力が計測されるというイベントが発生していることを示す。なお、図17の例では、発生イベントとしてセンサノード210によってセンシングされた未加工のイベントを例示したが、モジュールが下位ノードに配備された場合には、モジュールによって加工処理がなされた新たなイベントも発生イベントとして格納される。   The first record shown in FIG. 17 indicates that an event occurs in which power is measured by the power sensor X of the X house. In the example of FIG. 17, an unprocessed event sensed by the sensor node 210 is illustrated as an occurrence event. However, when a module is deployed in a lower node, a new event processed by the module is also included. Stored as an event that occurred.

図18を用いて、配備先情報記憶部117Aに記憶される情報の構成例について説明する。図18は、配備先情報記憶部に記憶される情報の構成例を示す図である。図18に示すように、例えば、配備先情報記憶部117Aは、モジュール識別子、入力イベント型、集約属性名、発生イベント属性、発生ノードID、配備先ノードID及び配備可否判定用情報が対応付けられたデータを記憶する。ここで言う「配備先ノードID」は、モジュールが配備されるセンサノード210、GWノード310またはサーバノード110を識別するための識別子を指す。また、「配備可否判定用情報」には、配備先予定ノードID、判定状態及び時刻が対応付けられている。このうち、「配備先予定ノードID」は、モジュールが配備されるノードとして選択されたノードを識別するための識別子、あるいは、配備先決定部117によって配備不可判定されたノードを識別するための識別子を指す。「判定状態」は、配備先予定ノードIDによって指定されるノードへのモジュールの配備可否の判定の状態を指す。例えば、判定状態には、判定中である場合にはその旨が記憶され、判定中でない場合には判定結果が記憶される。「時刻」は、判定時刻を指す。例えば、時刻には、判定中である場合には次回の判定時刻が記憶され、判定中でない場合には直近の判定時刻が記憶される。   A configuration example of information stored in the deployment destination information storage unit 117A will be described with reference to FIG. FIG. 18 is a diagram illustrating a configuration example of information stored in the deployment destination information storage unit. As illustrated in FIG. 18, for example, the deployment destination information storage unit 117A is associated with a module identifier, an input event type, an aggregate attribute name, a generated event attribute, a generated node ID, a deployed node ID, and deployment availability determination information. Remember the data. The “deployment destination node ID” here refers to an identifier for identifying the sensor node 210, the GW node 310, or the server node 110 on which the module is deployed. Further, the “deployment availability determination information” is associated with a planned deployment destination node ID, a determination state, and a time. Among these, “planned deployment destination node ID” is an identifier for identifying a node selected as a node on which a module is deployed, or an identifier for identifying a node that is determined to be undeployable by the deployment destination determination unit 117. Point to. The “determination state” refers to a state of determination as to whether or not a module can be deployed to a node specified by the planned deployment destination node ID. For example, in the determination state, when the determination is being made, the fact is stored, and when the determination is not being performed, the determination result is stored. “Time” refers to the determination time. For example, in the time, when the determination is being performed, the next determination time is stored, and when the determination is not being performed, the latest determination time is stored.

図19〜図21を用いて、配備先決定部117におけるモジュール配備処理について説明する。図19は、モジュール配備処理の手順を示すフローチャートである。このモジュール配備処理は、例えば、センサネットワークのトポロジが変化した場合に処理が起動される。   The module deployment process in the deployment destination determination unit 117 will be described with reference to FIGS. FIG. 19 is a flowchart showing the procedure of module deployment processing. This module deployment process is activated when, for example, the topology of the sensor network changes.

図19に示すように、配備先決定部117は、発生イベント情報記憶部116Aが更新されるのを待機する(ステップS301)。そして、発生イベント情報記憶部116Aが更新されると、配備済モジュールが有るか否かを判定する(ステップS302)。配備済モジュールが無い場合には(ステップS302否定)、配備先決定部117は、未配備モジュールに対する処理として、ステップS303以降の処理へ移行する。一方、配備済モジュールが有る場合には(ステップS302肯定)、配備先決定部117は、配備済モジュールに対する処理を実行する(ステップS316)。なお、配備済モジュールに対する処理については、図20及び図21を用いて後述する。   As illustrated in FIG. 19, the deployment destination determination unit 117 waits for the occurrence event information storage unit 116A to be updated (step S301). Then, when the occurrence event information storage unit 116A is updated, it is determined whether or not there is a deployed module (step S302). When there is no deployed module (No at Step S302), the deployment destination determination unit 117 proceeds to the process after Step S303 as the process for the undeployed module. On the other hand, when there is a deployed module (Yes at Step S302), the deployment destination determination unit 117 executes processing for the deployed module (Step S316). In addition, the process with respect to the deployed module is later mentioned using FIG.20 and FIG.21.

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

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

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

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

一方、発生ノードIDの数が「0」でない場合には(ステップS306否定)、配備先決定部117は、発生ノードIDの数が複数であるか否かを判定する(ステップS307)。発生ノードIDの数が複数である場合には(ステップS307肯定)、下記に説明するステップS308の処理を実行する。すなわち、配備先決定部117は、トポロジ記憶部112Aに記憶された上位ノードIDのうち各発生ノードIDに対応するセンサノード210又はGWノード310が下位ノードとして全て収容され、かつ最も下位ノード側であるノードIDを抽出する。   On the other hand, when the number of generated node IDs is not “0” (No at Step S306), the deployment destination determining unit 117 determines whether there are a plurality of generated node IDs (Step S307). If the number of generated node IDs is plural (Yes at Step S307), the process of Step S308 described below is executed. That is, the deployment destination determination unit 117 accommodates all the sensor nodes 210 or GW nodes 310 corresponding to the respective generation node IDs among the upper node IDs stored in the topology storage unit 112A as lower nodes, and on the lowest node side. A certain node ID is extracted.

また、発生ノードIDの数が1つである場合には(ステップS307否定)、配備先決定部117は、モジュールを配備するノードに選択の余地がないので、先に抽出結果として得られた発生ノードIDをノードIDとし、ステップS309の処理に移行する。   If the number of generated node IDs is one (No in step S307), the deployment destination determination unit 117 has no room for selection in the node that deploys the module. The node ID is a node ID, and the process proceeds to step S309.

続いて、配備先決定部117は、配備されるモジュールがデータ参照を伴うか否かを判定する(ステップS309)。データ参照を伴う場合には(ステップS309肯定)、配備先決定部117は、配備先情報記憶部117Aの配備先予定ノードIDに候補ノードIDを格納する(ステップS310)。   Subsequently, the deployment destination determination unit 117 determines whether or not the deployed module is accompanied by data reference (step S309). When data reference is accompanied (Yes at Step S309), the deployment destination determination unit 117 stores the candidate node ID in the planned deployment destination node ID of the deployment destination information storage unit 117A (Step S310).

そして、配備先決定部117は、S308の検索結果であるノードIDをクラウドに変更し(ステップS311)、判定開始を記録する(ステップS312)。つまり、配備先決定部117は、当該配備先情報記憶部117Aの判定状態に「判定中」を格納するとともに、時刻には、配備時刻に配備可否判定に関する情報における指定期間を加算した時刻を格納する。なお、データ参照を伴わない場合には(ステップS309否定)、配備先決定部117は、ステップS313の処理に移行する。   Then, the deployment destination determination unit 117 changes the node ID that is the search result of S308 to cloud (step S311), and records the determination start (step S312). That is, the deployment destination determination unit 117 stores “determining” in the determination state of the deployment destination information storage unit 117A, and stores the time obtained by adding the specified period in the information regarding the deployment availability determination to the deployment time. To do. If no data reference is involved (No at Step S309), the deployment destination determination unit 117 proceeds to the process at Step S313.

続いて、配備先決定部117は、ノードIDを配備先ノードIDのカラムに格納する(ステップS313)。そして、配備先決定部117は、モジュール記憶部111Aに記憶されたモジュールを配備先ノードIDに対応するノードへ送信させる(ステップS314)。そして、配備先決定部117は、発生イベント情報記憶部116Aが更新されるのを待機し(ステップS315)、ステップS302の処理に戻る。   Subsequently, the deployment destination determination unit 117 stores the node ID in the column of the deployment destination node ID (step S313). Then, the deployment destination determination unit 117 transmits the module stored in the module storage unit 111A to the node corresponding to the deployment destination node ID (step S314). Then, the deployment destination determination unit 117 waits for the occurrence event information storage unit 116A to be updated (step S315), and returns to the process of step S302.

図20及び図21を用いて、図19のステップS316に示した配備済モジュールに対する処理について説明する。図20及び図21は、配備済モジュールに対する処理の手順を示すフローチャートである。   The process for the deployed module shown in step S316 of FIG. 19 will be described with reference to FIGS. 20 and 21 are flowcharts showing the processing procedure for the deployed module.

図20に示すように、配備先決定部117は、発生イベントから該当する配備済レコード、すなわち配備先情報記憶部117A内のレコードを特定する(ステップS401)。例えば、該当発生イベントの発生イベント型が配備済レコードの入力イベント型と一致し、かつそのレコードの集約属性名、発生イベント属性が、該当発生イベントの該当属性の該当属性値と同一であるものを抽出する。   As illustrated in FIG. 20, the deployment destination determination unit 117 identifies a corresponding deployed record from the occurrence event, that is, a record in the deployment destination information storage unit 117A (step S401). For example, the occurrence event type of the corresponding occurrence event matches the input event type of the deployed record, and the aggregate attribute name and occurrence event attribute of the record are the same as the corresponding attribute value of the corresponding attribute of the occurrence event Extract.

該当する配備済レコードが有る場合には(ステップS402肯定)、配備先決定部117は、該当する配備済レコードの発生ノードIDに発生イベントの発生ノードIDを含むか判定する(ステップS403)。   If there is a corresponding deployed record (Yes at step S402), the deployment destination determination unit 117 determines whether the generated node ID of the corresponding deployed record includes the generated node ID of the generated event (step S403).

発生イベントの発生ノードIDを含む場合には(ステップS403肯定)、配備先決定部117は、該当配備済レコードの配備先ノードIDがクラウドか否かを判定する(ステップS404)。   When the occurrence event ID of the occurrence event is included (Yes at Step S403), the deployment destination determination unit 117 determines whether or not the deployment destination node ID of the corresponding deployed record is a cloud (Step S404).

クラウドである場合には(ステップS404肯定)、配備先決定部117は、判定状態が「判定中」であり、かつ、判定終了時刻を経過しているか判定する(ステップS405)。   If it is a cloud (Yes at Step S404), the deployment destination determination unit 117 determines whether the determination state is “determining” and the determination end time has elapsed (Step S405).

判定状態が「判定中」であり、かつ、判定終了時刻を経過している場合には(ステップS405肯定)、配備先決定部117は、再配備先ノードIDとして配備予定ノードを指定する(ステップS406)。そして、配備先決定部117は、参照データ特性制約の配備可否判定を行う(ステップS407)。   When the determination state is “determining” and the determination end time has elapsed (Yes at step S405), the deployment destination determination unit 117 designates the deployment planned node as the redeployment destination node ID (step S405). S406). Then, the deployment destination determination unit 117 determines whether to deploy the reference data characteristic constraint (Step S407).

ここで、判定結果が配備可である場合には(ステップS408肯定)、配備先決定部117は、図21のステップS412の処理に移行する。一方、判定結果が配備不可である場合には(ステップS408否定)、配備先決定部117は、判定状態に「NG」を格納し(ステップS409)、図19のステップS303の処理に移行する。   If the determination result indicates that the deployment is possible (Yes at Step S408), the deployment destination determination unit 117 proceeds to the process of Step S412 in FIG. On the other hand, when the determination result indicates that the deployment is impossible (No at Step S408), the deployment destination determination unit 117 stores “NG” in the determination state (Step S409), and proceeds to the process of Step S303 in FIG.

また、発生イベントの発生ノードIDを含まない場合には(ステップS403否定)、配備先決定部117は、該当配備済レコードに発生イベントの発生ノードIDを格納する(ステップS410)。そして、配備先決定部117は、再配備先ノードIDを特定する(ステップS411)。この時、配備先決定部117は、図19のステップS308の処理と同様トポロジ記憶部112Aから発生ノードIDが集約されるノードIDを検索して再配備先ノードIDを特定する。さらに配備先決定部117は図21のステップS412の処理に移行する。   If the occurrence event ID of the occurrence event is not included (No at Step S403), the deployment destination determination unit 117 stores the occurrence node ID of the occurrence event in the corresponding deployed record (Step S410). Then, the deployment destination determination unit 117 identifies the redeployment node ID (step S411). At this time, the deployment destination determination unit 117 searches the topology storage unit 112A for the node IDs where the generated node IDs are aggregated, and identifies the redeployment destination node ID as in the process of step S308 in FIG. Further, the deployment destination determination unit 117 proceeds to the process of step S412 in FIG.

なお、該当する配備済レコードが無い場合には(ステップS402否定)、配備先決定部117は、図19のステップS303の処理に移行する。また、クラウドでない場合には(ステップS404否定)、配備先決定部117は、図19のステップS303の処理に移行する。また、判定状態が「判定中」ではない、あるいは、判定終了時刻を経過していない場合には(ステップS405否定)、配備先決定部117は、図19のステップS303の処理に移行する。   If there is no corresponding deployed record (No at Step S402), the deployment destination determining unit 117 proceeds to the process at Step S303 in FIG. If it is not a cloud (No at Step S404), the deployment destination determination unit 117 proceeds to the process at Step S303 in FIG. If the determination state is not “determining” or the determination end time has not elapsed (No at step S405), the deployment destination determination unit 117 proceeds to the process of step S303 in FIG.

次の図21は再配備先ノードIIDを特定後に、配備可否を判定した上で再配備を実行する動作を説明するフローである。図21に示すように、配備先決定部117は、該当レコードのモジュールがデータ参照を伴うか否かを判定する(ステップS412)。モジュールがデータ参照を伴わない場合には(ステップS412否定)、配備先決定部117は、該当再配備先ノードIDを配備先ノードIDに格納する(ステップS413)。続いて、配備先決定部117は、モジュール記憶部111Aに記憶されたモジュールを配備先ノードIDに対応するノードへ送信させる(ステップS414)。   Next, FIG. 21 is a flow for explaining the operation of executing redeployment after determining whether or not deployment is possible after specifying the redeployment destination node IID. As illustrated in FIG. 21, the deployment destination determination unit 117 determines whether the module of the corresponding record is accompanied by data reference (step S412). When the module does not accompany data reference (No at Step S412), the deployment destination determination unit 117 stores the corresponding redeployment node ID in the deployment node ID (Step S413). Subsequently, the deployment destination determination unit 117 transmits the module stored in the module storage unit 111A to the node corresponding to the deployment destination node ID (step S414).

続いて、配備先決定部117は、その時までに該当モジュールが配備されていた配備先ノードから、該当モジュールを回収する(ステップS415)。そして、配備先決定部117は、回収したモジュールの出力イベントに関するデータを削除する(ステップS416)。   Subsequently, the deployment destination determination unit 117 collects the corresponding module from the deployment destination node where the corresponding module has been deployed by that time (step S415). Then, the deployment destination determination unit 117 deletes the data related to the collected module output event (step S416).

ここで、配備先決定部117が回収したモジュールの出力イベントに関するデータを削除する処理について、詳細に説明する。例えば、配備先決定部117は、発生イベント情報記憶部116Aを参照し、配備先情報記憶部117Aに格納されていた回収したモジュールが出力したイベントを特定し、当該イベントを削除する。この特定は、回収したモジュールの回収元の配備先ノードID、発生イベント型及び発生イベント属性が、発生イベント情報の発生ノード、発生イベント型及び発生イベント属性にそれぞれ一致するか否かによって行われる。つまり、配備先決定部117は、ここで一致するものを削除する。さらに、配備先決定部117は、配備先情報記憶部117Aの発生ノードIDのカラムを対象として、前述の削除処理で削除された発生イベントを入力イベントとする配備済モジュールを特定する。このモジュールの特定は、前述の削除処理で特定された回収したモジュールの処理によって出力される発生イベントの出力イベント型及び発生イベント属性が、配備先情報の入力イベント型及び発生イベント属性に一致するか判定し、一致するものを特定する。そして、配備先決定部117は、該当モジュールの発生ノードIDのカラムのうち、削除された発生イベントの発生ノードと一致するものを削除する。このように、ステップS416においてデータが削除されると、配備先決定部117は、図19のステップS301の処理に戻る。   Here, the process of deleting data related to the module output event collected by the deployment destination determination unit 117 will be described in detail. For example, the deployment destination determination unit 117 refers to the generated event information storage unit 116A, identifies the event output by the collected module stored in the deployment destination information storage unit 117A, and deletes the event. This identification is performed based on whether the deployment destination node ID, the generated event type, and the generated event attribute of the collected module of the collected module match the generated node, the generated event type, and the generated event attribute of the generated event information. That is, the deployment destination determination unit 117 deletes the matching items here. Furthermore, the deployment destination determination unit 117 specifies a deployed module that uses the generated event deleted by the above-described deletion process as an input event for the column of the generated node ID in the deployment destination information storage unit 117A. This module is specified by checking whether the output event type and the generated event attribute of the generated event output by the process of the collected module specified in the above-described deletion process match the input event type and the generated event attribute of the deployment destination information. Determine and identify matches. Then, the deployment destination determination unit 117 deletes a column that matches the generation node of the generated event from the column of the generation node ID of the corresponding module. As described above, when the data is deleted in step S416, the deployment destination determination unit 117 returns to the process of step S301 in FIG.

一方、モジュールがデータ参照を伴う場合には(ステップS412肯定)、配備先決定部117は、再配備先ノードのリソース観点制約の判定を行う(ステップS417)。配備可である場合には(ステップS418肯定)、判定状態に「OK」を格納し(ステップS419)。この時、さらに配備先情報記憶部の配備可否判定用情報の時刻欄をその時の時刻で更新する。さらに配備先決定部117は、該当再配備先ノードIDを配備先ノードIDに格納する(ステップS420)。このとき、配備先決定部117は、例えば、部分参照データ抽出部119に部分参照データを抽出させる。例えば、部分参照データ抽出部119は、配備されるモジュールに対応する検索キー、参照箇所及び抽出方法をモジュール定義記憶部111Bから読み出す。部分参照データ抽出部119は、参照データ記憶部162に記憶された参照データのうち検索キー、参照箇所及び抽出方法に対応する部分参照データを抽出する。そして、配備先決定部117は、部分参照データを配備先ノードIDに対応するノードへ送信させ(ステップS421)、ステップS414の処理に移行する。   On the other hand, when the module is accompanied by data reference (Yes at step S412), the deployment destination determination unit 117 determines the resource viewpoint constraint of the redeployment destination node (step S417). If deployment is possible (Yes at step S418), “OK” is stored in the determination state (step S419). At this time, the time column of the deployment availability determination information in the deployment destination information storage unit is updated with the current time. Furthermore, the deployment destination determination unit 117 stores the corresponding redeployment node ID in the deployment node ID (Step S420). At this time, the deployment destination determination unit 117 causes the partial reference data extraction unit 119 to extract partial reference data, for example. For example, the partial reference data extraction unit 119 reads a search key, a reference location, and an extraction method corresponding to the deployed module from the module definition storage unit 111B. The partial reference data extraction unit 119 extracts partial reference data corresponding to the search key, the reference location, and the extraction method from the reference data stored in the reference data storage unit 162. Then, the deployment destination determination unit 117 transmits the partial reference data to the node corresponding to the deployment destination node ID (step S421), and the process proceeds to step S414.

一方、配備不可である場合には(ステップS418否定)、判定状態に「NG」を格納し(ステップS422)、現在の配備先ノードIDを配備予定ノードIDに格納する(ステップS423)。そして、配備先決定部117は、配備先ノードIDにクラウドを格納し(ステップS424)、ステップS414の処理に移行する。   On the other hand, when the deployment is impossible (No at Step S418), “NG” is stored in the determination state (Step S422), and the current deployment destination node ID is stored in the planned deployment node ID (Step S423). Then, the deployment destination determination unit 117 stores the cloud in the deployment destination node ID (step S424), and proceeds to the process of step S414.

図22〜図26を用いて、配備先決定部117の動作例1について説明する。図22〜図26は、配備先決定部の動作例1について説明するための図である。図22は、この動作例にかかる各テーブルの初期状態を示したものである。すなわち、テーブル22aは、参照データ記憶部162に記憶される参照データに対応する。テーブル22bは、モジュール定義記憶部111Bに記憶される情報に対応する。テーブル22cは、図11のステップS104において生成されるリストに対応する。テーブル22dは、図13のステップS202において集計された配備可否判定用のテーブルに対応する。テーブル22eは、トポロジ記憶部112Aに記憶される情報に対応する。テーブル22fは、発生イベント情報記憶部116Aに記憶される情報に対応する。   Operation example 1 of the deployment destination determination unit 117 will be described with reference to FIGS. 22 to 26. 22 to 26 are diagrams for explaining an operation example 1 of the deployment destination determination unit. FIG. 22 shows an initial state of each table according to this operation example. That is, the table 22a corresponds to the reference data stored in the reference data storage unit 162. The table 22b corresponds to information stored in the module definition storage unit 111B. The table 22c corresponds to the list generated in step S104 in FIG. The table 22d corresponds to the table for determining whether or not to deploy, which is tabulated in step S202 in FIG. The table 22e corresponds to information stored in the topology storage unit 112A. The table 22f corresponds to information stored in the generated event information storage unit 116A.

図22の例では、テーブル22fに示すように、コンセントID「11」に対応する「電力」イベントが「センサ1」によって検知されたことを契機として、配備先決定部117は、配備処理を開始する。ここで、「電力」を入力イベントとするモジュール「平均電力計算」が未配備であるものとすると、配備先決定部117は、次のように処理を行う。つまり、配備先決定部117は、モジュール定義記憶部111Bを参照し、モジュール識別子「平均電力計算」、入力イベント型「電力」及び集約属性名「コンセントID」を図23のテーブル23aに格納する(ステップS303)。なお、テーブル23aは、配備先情報記憶部117Aに記憶される情報に対応する。   In the example of FIG. 22, as shown in the table 22f, the deployment destination determination unit 117 starts the deployment process when the “power” event corresponding to the outlet ID “11” is detected by “sensor 1”. To do. Here, if the module “average power calculation” having “power” as an input event is not yet deployed, the deployment destination determination unit 117 performs the following process. That is, the deployment destination determination unit 117 refers to the module definition storage unit 111B, and stores the module identifier “average power calculation”, the input event type “power”, and the aggregate attribute name “outlet ID” in the table 23a of FIG. Step S303). The table 23a corresponds to information stored in the deployment destination information storage unit 117A.

続いて、配備先決定部117は、テーブル22fから、発生イベント型が「電力」であり、かつ、コンセントID「11」によって集約される発生ノード、すなわち「センサ1」を抽出する(ステップS304)。そして、検索結果として得られた発生ノードID「センサ1」及び発生ノードIDに対応付けられた発生イベント属性「コンセントID=11」をテーブル23aに格納する(ステップS305)。   Subsequently, the deployment destination determination unit 117 extracts, from the table 22f, the generation node whose generation event type is “power” and aggregated by the outlet ID “11”, that is, “sensor 1” (step S304). . Then, the generated node ID “sensor 1” obtained as a search result and the generated event attribute “outlet ID = 11” associated with the generated node ID are stored in the table 23a (step S305).

このとき、発生ノードの数は「1」であるので、配備先決定部117は、テーブル22bを参照し、「平均電力計算」がデータ参照を伴うものと判定する。このため、配備先決定部117は、テーブル23aの配備先予定ノードIDに「センサ1」を格納するとともに、ノードIDを「クラウド」に変更する(ステップS311)。また、配備先決定部117は、テーブル23aの判定状態に「判定中」を格納し、時刻に「2011.11.29 13:10:00」を格納する(ステップS312)。これ以降、ステップS313及びステップ314の処理により、モジュール「平均電力計算」がクラウドに配備されるので、「クラウド」から「平均電力」イベントが発生する旨がテーブル22fに追加されて、図23のテーブル23bとなる。   At this time, since the number of occurrence nodes is “1”, the deployment destination determination unit 117 refers to the table 22b and determines that “average power calculation” involves data reference. Therefore, the deployment destination determination unit 117 stores “sensor 1” in the planned deployment destination node ID of the table 23a and changes the node ID to “cloud” (step S311). In addition, the deployment destination determination unit 117 stores “determining” in the determination state of the table 23 a and stores “2011.1.129 13:10:00” as the time (step S <b> 312). Thereafter, since the module “average power calculation” is deployed in the cloud by the processing of step S313 and step 314, the fact that the “average power” event occurs from “cloud” is added to the table 22f, and FIG. It becomes a table 23b.

続いて、配備先決定部117は、「平均電力計算」の配備に伴って、新たに発生イベント情報記憶部に追加された「平均電力」に対する処理を開始する。配備先決定部117は、配備済モジュールあり(ステップS302肯定)と判定し、ステップS316の処理に移行し、該当配備済モジュールを特定するが該当なし(ステップS402否定)となり、ステップS303に戻る。その後前述同様、入力イベント型「平均電力」に対応するモジュール「人単位計算」を配備する。つまり、配備先決定部117は、テーブル22bを参照し、テーブル23aに「人単位計算」を追加して、テーブル23cとする。なお、「人単位計算」は、参照データに関する情報を有しない、つまり、データ参照を伴わないモジュールであるため、配備先決定部117は、該当モジュールを配備可と判定し、テーブル23cの判定状態に「OK」を格納し、配備先ノードIDに「クラウド」を格納する。これにより、モジュール「人単位計算」がクラウドに配備されるので、「クラウド」から「人単位電力」イベントが発生する旨がテーブル23bに追加されて、テーブル23dとなる。   Subsequently, the deployment destination determination unit 117 starts processing for the “average power” newly added to the generated event information storage unit with the deployment of “average power calculation”. The deployment destination determination unit 117 determines that there is a deployed module (Yes at Step S302), proceeds to the process of Step S316, identifies the deployed module, but does not correspond (No at Step S402), and returns to Step S303. Thereafter, as described above, a module “Per-person calculation” corresponding to the input event type “average power” is deployed. In other words, the deployment destination determination unit 117 refers to the table 22b, adds “Per person calculation” to the table 23a, and sets it as the table 23c. In addition, since the “person-unit calculation” does not have information regarding reference data, that is, is a module that does not accompany data reference, the deployment destination determination unit 117 determines that the corresponding module can be deployed, and the determination state of the table 23c “OK” is stored in “”, and “Cloud” is stored in the deployment destination node ID. As a result, the module “Per-person calculation” is deployed in the cloud, so that a “Per-person power” event occurs from “Cloud” is added to the table 23b, and becomes the table 23d.

その後、新規の「電力」イベントが検知されると、配備先決定部117は、テーブル23cの1行目のレコードを特定する。ここで、このレコードの発生ノードIDには電力イベントを発生する「センサ1」が含まれ、配備先ノードIDが「クラウド」、判定状態が「判定中」である。そして、判定終了時刻が経過すると(ステップS405)、配備先決定部117は、このレコードの再配備先ノードIDとして配備予定ノード「センサ1」を指定し(ステップS406)、データ特性制約の配備可否判定を行う(ステップS407)。テーブル22dに示したように、コンセントID「11」の「平均電力計算」に関連するマスタの変更回数は「1」であるので、変更回数の上限値が「2」以上に設定されている場合には、配備先決定部117は、「平均電力計算」を配備可と判定する(ステップS408肯定)。   Thereafter, when a new “power” event is detected, the deployment destination determination unit 117 identifies the record in the first row of the table 23c. Here, the occurrence node ID of this record includes “sensor 1” that generates a power event, the deployment destination node ID is “cloud”, and the determination state is “determining”. When the determination end time elapses (step S405), the deployment destination determination unit 117 designates the planned deployment node “sensor 1” as the redeployment destination node ID of this record (step S406), and whether or not the data characteristic constraint can be deployed. A determination is made (step S407). As shown in the table 22d, since the master change count related to the “average power calculation” of the outlet ID “11” is “1”, the upper limit value of the change count is set to “2” or more. The deployment destination determination unit 117 determines that “average power calculation” is deployable (Yes in step S408).

続いて、テーブル22bを参照すると、「平均電力計算」はデータ参照を伴うモジュールであるので、配備先決定部117は、配備先ノードのリソース観点制約で配備可否判定を行う(ステップS417)。配備先決定部117は、テーブル22eを参照し、現在使用中のリソース量に配備しようとしているデータ量を加算して、配備可否を判定する。ここで、配備可と判定される(ステップS418肯定)と、配備先決定部117は、テーブル23cの「平均電力計算」の配備先ノードIDに再配備先ノードID「センサ1」を格納し(ステップS420)、判定状態に「OK」を格納、時刻を更新して、テーブル24aに更新する。   Subsequently, referring to the table 22b, since the “average power calculation” is a module with data reference, the deployment destination determination unit 117 determines whether or not to deploy based on resource viewpoint constraints of the deployment destination node (step S417). The deployment destination determining unit 117 refers to the table 22e, and adds the amount of data to be deployed to the currently used resource amount to determine whether or not deployment is possible. Here, when it is determined that deployment is possible (Yes in step S418), the deployment destination determination unit 117 stores the redeployment node ID “sensor 1” in the deployment node ID of “average power calculation” in the table 23c ( In step S420), “OK” is stored in the determination state, the time is updated, and the table 24a is updated.

続いて、配備先決定部117は、例えば、部分参照データ抽出部119に部分参照データを抽出させる。このとき、部分参照データ抽出部119は、配備されるモジュールに対応する検索キー、参照箇所及び抽出方法をモジュール定義記憶部111Bから読み出す。部分参照データ抽出部119は、参照データ記憶部162に記憶された参照データのうち検索キー、参照箇所及び抽出方法に対応する部分参照データを抽出する。ここでは、部分参照データ{11,Aさん}が抽出される。そして、配備先決定部117は、抽出した部分参照データ{11,Aさん}及びモジュールを配備先ノードIDに送信させる(ステップS421、S414)とともに、これまで配備されていたノードから当該部分参照データ及びモジュールを回収させる(ステップS415)。そして、配備先決定部117は、テーブル24dのデータ24eを削除してテーブル24fに更新するとともに、テーブル24aのデータ24bを削除してテーブル24cに更新する(ステップS416)。すなわち、テーブル24c及びテーブル24fは、「平均電力計算」の再配備後の状態に対応する。上記動作から、データ参照を伴う処理を配備する際、モジュール定義情報に従って必要データのみを抽出して配備することが可能であることが容易にわかる。   Subsequently, the deployment destination determination unit 117 causes the partial reference data extraction unit 119 to extract partial reference data, for example. At this time, the partial reference data extraction unit 119 reads the search key, reference location, and extraction method corresponding to the deployed module from the module definition storage unit 111B. The partial reference data extraction unit 119 extracts partial reference data corresponding to the search key, the reference location, and the extraction method from the reference data stored in the reference data storage unit 162. Here, partial reference data {11, Mr. A} is extracted. Then, the deployment destination determination unit 117 transmits the extracted partial reference data {11, Mr. A} and the module to the deployment destination node ID (Steps S421 and S414), and the partial reference data from the nodes deployed so far. Then, the module is collected (step S415). Then, the deployment destination determination unit 117 deletes the data 24e in the table 24d and updates it to the table 24f, and deletes the data 24b in the table 24a and updates it to the table 24c (step S416). That is, the table 24c and the table 24f correspond to the state after the redeployment of the “average power calculation”. From the above operation, it is easily understood that when deploying a process involving data reference, it is possible to extract and deploy only necessary data according to the module definition information.

次に、上記の「平均電力計算」のセンサ1への再配備によって、センサ1からの新規「平均電力」イベントが発生すると、配備先決定部117は、図25のテーブル25aに示すように、再配備先から発生イベントを検知する。ここで、配備先決定部117は、配備先情報記憶部のテーブル24cの「人単位計算」を特定し(ステップS401)、対応する発生ノードIDにノードID「センサ1」が含まれない(ステップS403否定)ので、発生ノードである「センサ1」をテーブル25bの発生ノードIDに追加する(ステップS410)。そして、配備先決定部117は、テーブル22eを参照し、「平均電力」が集約されるノード「センサ1」を特定する(ステップS411)。モジュール「人単位計算」はデータ参照を伴わない(ステップS412否定)ので、配備先決定部117は、特定した「センサ1」を配備先ノードIDとしてテーブル25bに格納して図26のテーブル26aに更新する(ステップS413)。そして、配備先決定部117は、該当モジュール「人単位計算」を配備先ノードに送信(ステップS414)後、これまでの配備先(クラウド)から該当モジュールを回収(ステップS415)、テーブル25cのデータ25dを削除(ステップS416)してテーブル26bに更新する。なお、テーブル26a及びテーブル26bは、「人単位計算」の再配備後の状態に対応する。上記動作から、依存関係のある前処理の再配備に応じて、後続処理も連鎖的に再配備しなおすことが可能であることが容易にわかる。   Next, when a new “average power” event occurs from the sensor 1 due to the redeployment of the above “average power calculation” to the sensor 1, the deployment destination determination unit 117, as shown in the table 25a of FIG. Detects an event that occurs from the redeployment destination. Here, the deployment destination determination unit 117 identifies “Per person calculation” in the table 24c of the deployment destination information storage unit (step S401), and the node ID “sensor 1” is not included in the corresponding generation node ID (step S401). (No in S403), the source node “sensor 1” is added to the source node ID in the table 25b (step S410). Then, the deployment destination determination unit 117 refers to the table 22e and identifies the node “sensor 1” on which “average power” is aggregated (step S411). Since the module “Per-unit calculation” is not accompanied by data reference (No in step S412), the deployment destination determination unit 117 stores the identified “sensor 1” in the table 25b as the deployment destination node ID in the table 26a of FIG. Update (step S413). Then, the deployment destination determining unit 117 transmits the corresponding module “Per-person calculation” to the deployment destination node (step S414), then collects the corresponding module from the previous deployment destination (cloud) (step S415), and the data in the table 25c. 25d is deleted (step S416) and updated to the table 26b. The table 26 a and the table 26 b correspond to the state after the redeployment of “Per-person calculation”. From the above operation, it can be easily understood that the subsequent processes can be redeployed in a chained manner in accordance with the redeployment of the dependent preprocess.

図27及び図28を用いて、配備先決定部117の動作例2について説明する。図27及び図28は、配備先決定部の動作例2について説明するための図である。動作例2では、モジュール配備後に配備可否判定でNG判定された場合の配備先決定部117の動作例について説明する。テーブル27aは、図13のステップS202において集計された配備可否判定用のテーブルに対応する。テーブル27aには、モジュール「平均電力計算」の参照データのマスタの変更回数が「6」であり、変更回数の上限値を上回ってしまった場合を例示する。ここで、一例として、現在の配備先情報記憶部の状態が図26に示したテーブル26aである場合には、配備先決定部117は、該当するモジュール「平均電力計算」が配備済であるか否かを判定する(ステップS203)。ここでは、モジュール「平均電力計算」が配備済であるので(ステップS203肯定)、配備先決定部117は、当該モジュールの配備先ノードがクラウド以外のノードであるか否かを判定する(ステップS204)。ここでは、現在の配備先ノードが「センサ1」であるので(ステップS204肯定)、配備先決定部117は、センサ1に部分参照データを配備可能か否か判定する(ステップS205)。具体的には、モジュール定義情報内の配備可否判定に関する情報に基づき、参照データ特性に制約とリソース観点制約での判定を行う。ここでは、テーブル27aにおいて変更回数の上限値を上回ってしまって場合を示しているので、配備先決定部117は、判定状態に「NG」を格納する(ステップS208、S422)。そして、配備先決定部117は、配備先予定ノードIDに現在の配備先ノードID「センサ1」を格納し(ステップS423)、配備先ノードIDに「クラウド」を格納する(ステップS424)。すなわち、配備先決定部117は、テーブル26aをテーブル27bに更新する。   Operation example 2 of the deployment destination determination unit 117 will be described with reference to FIGS. 27 and 28. 27 and 28 are diagrams for explaining an operation example 2 of the deployment destination determination unit. In the operation example 2, an operation example of the deployment destination determination unit 117 when it is determined as NG in the deployment availability determination after module deployment will be described. The table 27a corresponds to the table for determining whether or not to deploy, which is tabulated in step S202 of FIG. The table 27a illustrates a case where the master data change count of the reference data of the module “average power calculation” is “6”, which exceeds the upper limit of the change count. Here, as an example, when the current state of the deployment destination information storage unit is the table 26a illustrated in FIG. 26, the deployment destination determination unit 117 determines whether the corresponding module “average power calculation” has been deployed. It is determined whether or not (step S203). Here, since the module “average power calculation” has been deployed (Yes at Step S203), the deployment destination determination unit 117 determines whether or not the deployment destination node of the module is a node other than the cloud (Step S204). ). Here, since the current deployment destination node is “sensor 1” (Yes in step S204), the deployment destination determination unit 117 determines whether or not partial reference data can be deployed in the sensor 1 (step S205). Specifically, based on the information regarding the deployment availability determination in the module definition information, the reference data characteristics are determined based on constraints and resource viewpoint constraints. Here, since the case where the upper limit value of the number of changes is exceeded in the table 27a is shown, the deployment destination determination unit 117 stores “NG” in the determination state (steps S208 and S422). Then, the deployment destination determination unit 117 stores the current deployment destination node ID “sensor 1” in the planned deployment destination node ID (step S423), and stores “cloud” in the deployment destination node ID (step S424). That is, the deployment destination determination unit 117 updates the table 26a to the table 27b.

続いて、配備先決定部117は、部分参照データ及びモジュールを配備先ノードIDに送信させるとともに(ステップS414)、これまで配備していたノードから当該部分参照データ及びモジュールを回収させる(ステップS415)。そして、配備先決定部117は、テーブル27bのデータ27cを削除してテーブル28aに更新するとともに、テーブル27dのデータ27eを削除してテーブル28bに更新する(ステップS416)。なお、テーブル28a及びテーブル28bは、「平均電力計算」をクラウドに再配備した後の状態に対応する。   Subsequently, the deployment destination determination unit 117 causes the partial reference data and the module to be transmitted to the deployment destination node ID (Step S414), and collects the partial reference data and the module from the nodes that have been deployed so far (Step S415). . Then, the deployment destination determination unit 117 deletes the data 27c in the table 27b and updates it to the table 28a, and deletes the data 27e in the table 27d and updates it to the table 28b (step S416). The tables 28a and 28b correspond to the state after the “average power calculation” is redeployed in the cloud.

続いて、配備先決定部117は、テーブル28cに示すように、「平均電力」イベントをクラウドから受信する。ここで、配備先決定部117は、テーブル28aの「人単位計算」に対応する発生ノードIDにノードIDが含まれないので、テーブル28cを参照し、入力イベント型「平均電力」の発生ノードである「クラウド」をテーブル28aの発生ノードIDに格納する。そして、配備先決定部117は、テーブル22eを参照し、「平均電力」が集約されるノード「クラウド」を特定する。モジュール「人単位計算」はデータ参照を伴わないので、配備先決定部117は、特定した「クラウド」を配備先ノードIDとしてテーブル28aに格納してテーブル28dに更新する。   Subsequently, the deployment destination determination unit 117 receives an “average power” event from the cloud as illustrated in the table 28c. Here, since the node ID is not included in the generation node ID corresponding to the “person-by-person calculation” in the table 28a, the deployment destination determination unit 117 refers to the table 28c and determines the input event type “average power” generation node. A certain “cloud” is stored in the generation node ID of the table 28a. Then, the deployment destination determination unit 117 refers to the table 22e and identifies the node “cloud” in which “average power” is aggregated. Since the module “personal calculation” is not accompanied by data reference, the deployment destination determination unit 117 stores the identified “cloud” in the table 28a as the deployment destination node ID and updates the table 28d.

図29を用いて、部分参照データ不足検出からの配備可否判定処理について説明する。図29は、部分参照データ不足検出からの配備可否判定処理の手順を示すフローチャートである。この配備可否判定処理は、例えば、下位ノードから部分参照データ要求を受信した場合に処理が起動される。   With reference to FIG. 29, a description will be given of the deployment feasibility determination processing from the partial reference data shortage detection. FIG. 29 is a flowchart illustrating a procedure of deployment availability determination processing from partial reference data shortage detection. This deployment propriety determination process is started when, for example, a partial reference data request is received from a lower node.

図29に示すように、配備先決定部117は、下位ノードから部分参照データ要求されるのを待機する(ステップS501)。   As shown in FIG. 29, the deployment destination determination unit 117 waits for a partial reference data request from a lower node (step S501).

続いて、配備先決定部117は、当該要求に基づいて、要求元の配備済モジュールと、配備対象データとを特定する(ステップS502)。そして、配備先決定部117は、配備可否判定を行う(ステップS503)。なお、この配備可否判定においては、参照データ特性制約としては該当配備対象のデータの変更頻度を用いて判定し、リソース観点制約としては配備先ノードのリソース量を用いて判定することとする。   Subsequently, based on the request, the deployment destination determination unit 117 identifies the deployed module that is the request source and the deployment target data (step S502). Then, the deployment destination determination unit 117 determines whether deployment is possible (step S503). It should be noted that in this determination as to whether or not deployment is possible, the reference data characteristic constraint is determined using the change frequency of the data to be deployed, and the resource viewpoint constraint is determined using the resource amount of the deployment destination node.

そして、配備可である場合には(ステップS504肯定)、該当配備対象データを要求元ノードに配備し(ステップS505)、ステップS501の処理に戻る。このとき、配備先決定部117は、例えば、部分参照データ抽出部119に部分参照データを抽出させる。例えば、部分参照データ抽出部119は、配備されるモジュールに対応する検索キー、参照箇所及び抽出方法をモジュール定義記憶部111Bから読み出す。部分参照データ抽出部119は、参照データ記憶部162に記憶された参照データのうち検索キー、参照箇所及び抽出方法に対応する部分参照データを抽出する。また、配備不可である場合には(ステップS504否定)、図21のステップS422の処理を開始して再配備を実行する(ステップS506)。上記動作から、配備先ノードが新たな対象を検出した時などに送信する、部分参照データ要求の受信を契機に、不足している参照データを追加配備できることが容易にわかる。   If deployment is possible (Yes at step S504), the deployment target data is deployed to the requesting node (step S505), and the process returns to step S501. At this time, the deployment destination determination unit 117 causes the partial reference data extraction unit 119 to extract partial reference data, for example. For example, the partial reference data extraction unit 119 reads a search key, a reference location, and an extraction method corresponding to the deployed module from the module definition storage unit 111B. The partial reference data extraction unit 119 extracts partial reference data corresponding to the search key, the reference location, and the extraction method from the reference data stored in the reference data storage unit 162. If the deployment is impossible (No at Step S504), the process of Step S422 in FIG. 21 is started and redeployment is performed (Step S506). From the above operation, it is easily understood that the missing reference data can be additionally deployed upon reception of the partial reference data request transmitted when the deployment destination node detects a new target.

なお、モジュール登録部111、トポロジ取得部112、イベント受信部113、モジュール実行部115、発生イベント登録部116には、各種の集積回路や電子回路を採用できる。また、部分参照データ要求受信部120、部分参照データ抽出部119、部分参照データ送信部163、配備先決定部117及びモジュール送信部118にも、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ASIC(Application Specific Integrated Circuit)が挙げられる。また、電子回路としては、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。   Note that various integrated circuits and electronic circuits can be adopted for the module registration unit 111, the topology acquisition unit 112, the event reception unit 113, the module execution unit 115, and the occurrence event registration unit 116. Various integrated circuits and electronic circuits can also be adopted for the partial reference data request receiving unit 120, the partial reference data extracting unit 119, the partial reference data transmitting unit 163, the deployment destination determining unit 117, and the module transmitting unit 118. For example, an ASIC (Application Specific Integrated Circuit) is an example of the integrated circuit. Examples of the electronic circuit include a central processing unit (CPU) and a micro processing unit (MPU).

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

[センサノードの構成]
次に、本実施例に係るセンサノードの機能的構成について説明する。図30は、実施例1に係るセンサノードの機能的構成を示すブロック図である。図30に示すセンサノード210は、センサ情報受信部211と、モジュール受信部212と、モジュール実行部213と、イベント送信部214とを有する。さらに、センサノード210は、部分参照データ受信部215と、部分参照データ記憶部216と、部分参照データ要求部217と、トポロジ検出部218と、トポロジ送信部219とを有する。
[Configuration of sensor node]
Next, the functional configuration of the sensor node according to the present embodiment will be described. FIG. 30 is a block diagram illustrating a functional configuration of the sensor node according to the first embodiment. A sensor node 210 illustrated in FIG. 30 includes a sensor information reception unit 211, a module reception unit 212, a module execution unit 213, and an event transmission unit 214. The sensor node 210 further includes a partial reference data receiving unit 215, a partial reference data storage unit 216, a partial reference data request unit 217, a topology detection unit 218, and a topology transmission unit 219.

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

モジュール受信部212は、サーバノード110からモジュールを受信する処理部である。このモジュール受信部212によって受信されたモジュールは、モジュールの実行制御を行うモジュール実行部213に出力される。また、モジュール受信部212は、例えば、モジュール回収要求を上位ノードから受信する。モジュール受信部212は、モジュール回収要求を受信すると、センサノード210に配備されているモジュールを削除する。   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. Further, the module receiving unit 212 receives, for example, a module collection request from an upper node. When receiving the module collection request, the module reception unit 212 deletes the module deployed in the sensor node 210.

モジュール実行部213は、センサノード210に配備されたモジュールの実行制御を行う処理部である。例えば、モジュール実行部213は、センサ情報受信部211によってセンサ情報が受信された場合に、受信されたセンサ情報を入力イベント型とするモジュールがセンサノード210に配備されているか否かを判定する。このとき、モジュール実行部213は、モジュールがセンサノード210に配備されている場合には、当該モジュールを実行することによってイベントの加工処理を実行する。その際、後述するように必要に応じて部分参照データ記憶部内のデータを参照しながら加工処理を行う。その後、モジュール実行部213は、モジュールによって加工処理が実行されたデータを新たなイベントとしてイベント送信部214へ出力する。なお、モジュールがセンサノード210に配備されていない場合には、センサ情報を加工処理せずにそのままイベント送信部214へ出力する。   The module execution unit 213 is a processing unit that performs execution control of modules deployed in the sensor node 210. For example, when the sensor information is received by the sensor information reception unit 211, the module execution unit 213 determines whether a module that uses the received sensor information as an input event type is deployed in the sensor node 210. At this time, when the module is deployed in the sensor node 210, the module execution unit 213 executes event processing by executing the module. At that time, as will be described later, the processing is performed while referring to the data in the partial reference data storage unit as necessary. Thereafter, the module execution unit 213 outputs the data processed by the module to the event transmission unit 214 as a new event. If the module is not deployed in the sensor node 210, the sensor information is output to the event transmission unit 214 without being processed.

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

ここで、上記の「集約属性」の属性名及び属性値は、センサノード210の製造段階でデバイスドライバなどに組み込んでおくことができる。例えば、センサデバイスが電力センサである場合には、電力が計測される枠組みである「コンセントID」などの集約属性をイベントに付加するようにデバイスドライバを構成しておく。その上で、センサノード210がサーバノード110との間で通信コネクションが確立された段階で、既にサービスに加入している他のセンサノード210に先だって付与されているコンセント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, if the sensor device is a power sensor, the device driver is configured to add an aggregate attribute such as “outlet ID”, which is a framework for measuring power, to the event. After that, when the communication connection is established between the sensor node 210 and the server node 110, the attribute value of the outlet 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.

部分参照データ受信部215は、部分参照データ送信部163によって送信された部分参照データを受信する処理部である。このようにして受信された部分参照データは後述の部分参照データ記憶部216に登録される。また、部分参照データ受信部215は、例えば、部分参照データ回収を受信する。部分参照データ受信部215は、部分参照データ回収を受信すると、当該部分参照データを部分参照データ記憶部216から削除する。   The partial reference data receiving unit 215 is a processing unit that receives the partial reference data transmitted by the partial reference data transmitting unit 163. The partial reference data received in this way is registered in a partial reference data storage unit 216 described later. Further, the partial reference data receiving unit 215 receives, for example, partial reference data collection. When receiving the partial reference data collection, the partial reference data receiving unit 215 deletes the partial reference data from the partial reference data storage unit 216.

部分参照データ記憶部216は、部分参照データを記憶する記憶部である。この部分参照データ記憶部216は、センサノード210に配備されたモジュールによってイベントが加工処理される場合に、モジュール実行部213によって参照される。   The partial reference data storage unit 216 is a storage unit that stores partial reference data. The partial reference data storage unit 216 is referred to by the module execution unit 213 when an event is processed by a module arranged in the sensor node 210.

部分参照データ要求部217は、部分参照データ要求をサーバノード110に送信する処理部である。例えば、部分参照データ要求部217は、モジュール実行部213によって部分参照データ記憶部216が参照された場合に、部分参照データの不足が検出されると、部分参照データ要求をサーバノード110に送信する。   The partial reference data request unit 217 is a processing unit that transmits a partial reference data request to the server node 110. For example, when the partial reference data storage unit 216 is referred to by the module execution unit 213 and the partial reference data request unit 217 detects a shortage of partial reference data, the partial reference data request unit 217 transmits a partial reference data request to the server node 110. .

トポロジ検出部218は、センサノード210がどの上位ノードに接続されているかを表すノード間の接続情報をトポロジとして検出する処理部である。例えば、トポロジ検出部218は、UPnPプロトコル等を用いて、センサノード210と同一のネットワーク内に存在するGWノード310を認識したり、サーバノード110からGWノード310の存在の通知を受けたりすることによってトポロジを検出する。なお、サーバノード110とのネットワーク接続の確立は、サーバノード110のURL等のアドレスを設定しておくことにより実現できる。さらに、トポロジ検出部218は、自ノード内の使用リソース量(記憶容量)を確認し、上記ノード間接続情報に付与などする。   The topology detection unit 218 is a processing unit that detects, as a topology, connection information between nodes indicating to which upper node the sensor node 210 is connected. For example, the topology detection unit 218 recognizes the GW node 310 existing in the same network as the sensor node 210 using the UPnP protocol or the like, or receives a notification of the existence of the GW node 310 from the server node 110. Detect topology with. The establishment of a network connection with the server node 110 can be realized by setting an address such as a URL of the server node 110. Furthermore, the topology detection unit 218 confirms the amount of used resources (storage capacity) in the own node and assigns it to the internode connection information.

トポロジ送信部219は、トポロジ検出部218によって検出されたトポロジをサーバノード110に送信する処理部である。例えば、トポロジ送信部219は、センサノード210が接続されている上位ノードのノードIDをサーバノード110に送信する。   The topology transmission unit 219 is a processing unit that transmits the topology detected by the topology detection unit 218 to the server node 110. For example, the topology transmission unit 219 transmits the node ID of the upper node to which the sensor node 210 is connected to the server node 110.

[センサノードにおける処理の流れ]
次に、本実施例に係るセンサノード210における処理の流れについて説明する。図31は、実施例1に係るセンサノードにおける処理の手順を示すフローチャートである。図31に示した処理は、センサノード210の電源がON状態である限り、繰り返し実行される。
[Process flow in sensor node]
Next, the flow of processing in the sensor node 210 according to the present embodiment will be described. FIG. 31 is a flowchart illustrating a processing procedure in the sensor node according to the first embodiment. The process shown in FIG. 31 is repeatedly executed as long as the power of the sensor node 210 is ON.

図31に示すように、新たな上位ノードを検出した場合(ステップS601肯定)には、センサノード210は、次のような処理を実行する。すなわち、センサノード210は、当該上位ノードのノードIDをサーバノード110へ送信する(ステップS602)。さらに、トポロジ検出部218は、自ノード内の使用リソース量(記憶容量)を確認し、上記ノード間接続情報に付与などする。なお、新たな上位ノードを検出しなかった場合(ステップS601否定)には、ステップS602の処理を実行せずにステップS603の処理へ移行する。   As shown in FIG. 31, when a new upper node is detected (Yes at step S601), the sensor node 210 executes the following process. That is, the sensor node 210 transmits the node ID of the upper node to the server node 110 (step S602). Furthermore, the topology detection unit 218 confirms the amount of used resources (storage capacity) in the own node and assigns it to the internode connection information. If a new upper node is not detected (No at step S601), the process proceeds to step S603 without executing the process at step S602.

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

ここで、部分参照データを受信した場合(ステップS605肯定)には、センサノード210は、部分参照データを部分参照データ記憶部216に格納する(ステップS606)。なお、部分参照データを受信しなかった場合(ステップS605否定)には、ステップS606の処理を実行せずにステップS607の処理へ移行する。   If partial reference data is received (Yes at step S605), the sensor node 210 stores the partial reference data in the partial reference data storage unit 216 (step S606). If partial reference data has not been received (No at Step S605), the process proceeds to Step S607 without executing Step S606.

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

このとき、モジュールが配備されている場合(ステップS608肯定)には、センサノード210は、部分参照データ記憶部に部分参照データが配備されているか否かをさらに判定する(ステップS609)。なお、モジュールが配備されていない場合(ステップS608否定)には、センサノード210は、センサデバイスから受信したセンサ情報に発生ノードIDや集約属性などを付加した上で上位ノードへ送信し(ステップS614)、ステップS601の処理に移行する。   At this time, if the module is deployed (Yes at step S608), the sensor node 210 further determines whether or not partial reference data is deployed in the partial reference data storage unit (step S609). If the module is not deployed (No at Step S608), the sensor node 210 adds the generated node ID and the aggregation attribute to the sensor information received from the sensor device, and transmits it to the upper node (Step S614). ), The process proceeds to step S601.

このとき、部分参照データが配備されている場合には(ステップS609肯定)、部分参照データを参照し、モジュールを実行することによってイベントを加工処理する(ステップS610)。そして、センサノード210は、加工処理が実行されたイベントを上位ノードへ送信し(ステップS611)、ステップS601の処理に移行する。   At this time, if partial reference data is deployed (Yes at step S609), the event is processed by referring to the partial reference data and executing the module (step S610). Then, the sensor node 210 transmits the event for which the processing process has been executed to the upper node (step S611), and proceeds to the process of step S601.

一方、部分参照データが配備されていない場合(ステップS609否定)には、センサノード210は、部分参照データ要求をサーバノード110へ送信する(ステップS612)。そして、センサノード210は、部分参照データに対応する部分参照データをサーバノード110から受信し、当該部分参照データを格納すると(ステップS613)、ステップS610の処理に移行する。なお、ステップS613の処理において、所定時間内に、部分参照データに対応する部分参照データをサーバノード110から受信しない場合には、サーバノード110は、センサデバイスから受信したセンサ情報に発生ノードIDや集約属性などを付加した上で上位ノードへ送信し、当該センサ情報を上位ノードにて処理することとしても良い。   On the other hand, when the partial reference data is not deployed (No at Step S609), the sensor node 210 transmits a partial reference data request to the server node 110 (Step S612). Then, when the sensor node 210 receives partial reference data corresponding to the partial reference data from the server node 110 and stores the partial reference data (step S613), the sensor node 210 proceeds to the process of step S610. In the process of step S613, when the partial reference data corresponding to the partial reference data is not received from the server node 110 within the predetermined time, the server node 110 includes the generation node ID and the sensor information received from the sensor device. It is good also as transmitting to an upper node after adding an aggregation attribute etc. and processing the said sensor information in an upper node.

[実施例1の効果]
上述してきたように、本実施例に係るサーバノード110は、データ参照を伴う処理を実行するモジュールをネットワークに接続されたノードに配備するセンサネットワークから入力イベントを受信する。サーバノード110は、モジュール定義記憶部を参照し、受信した入力イベントに関連する処理を実行するモジュールに対応付けられた参照データ抽出用情報と、参照箇所情報とに対応するデータを、マスタから抽出する。サーバノード110は、抽出されたデータをノードに配備する。このように、サーバノード110は、参照データから必要カラムの必要レコードのみを抽出してノードに配備するので、大量のレコードを配備することなくノードにて固有処理が実現できる。
[Effect of Example 1]
As described above, the server node 110 according to the present embodiment receives an input event from a sensor network that deploys a module that executes processing involving data reference to a node connected to the network. The server node 110 refers to the module definition storage unit, and extracts from the master data corresponding to the reference data extraction information associated with the module that executes processing related to the received input event and the reference location information. To do. The server node 110 deploys the extracted data to the node. As described above, the server node 110 extracts only the necessary record of the necessary column from the reference data and deploys it to the node, so that the unique process can be realized in the node without deploying a large amount of records.

また、例えば、サーバノード110は、指標に基づいて、受信した入力イベントに関連する処理を実行する前記モジュールを前記ノードに配備できるか否かを判定するので、将来の再配備にかかる通信負荷を軽減できる。   In addition, for example, the server node 110 determines whether or not the module that executes the process related to the received input event can be deployed on the node based on the index. Therefore, the communication load for future redeployment can be reduced. Can be reduced.

また、例えば、サーバノード110は、既に配備されたモジュールに関連する入力イベントを発生するノードが変更された場合に、その変更によって必要になる後続処理の配備先ノードの変更時も、該当配備先ノードに該当モジュールを配備できるか否かを判定するので、モジュールの配備に伴う再配備を簡易に実現できる。   In addition, for example, when a node that generates an input event related to a module that has already been deployed is changed, the server node 110 also changes the deployment destination when the deployment destination node for subsequent processing required by the change is changed. Since it is determined whether or not the corresponding module can be deployed to the node, the redeployment accompanying the module deployment can be easily realized.

また、例えば、サーバノード110は、モジュールが配備されたノードから、モジュールによって参照されるデータを要求する旨を示すデータ要求を受信した場合に、データ要求に対応するデータを前記マスタから抽出する。このため、サーバノード110は、データ参照に伴う通信負荷を軽減できる。   Further, for example, when the server node 110 receives a data request indicating that the data referenced by the module is requested from the node where the module is deployed, the server node 110 extracts data corresponding to the data request from the master. For this reason, the server node 110 can reduce the communication load accompanying data reference.

[適用例]
次に、開示技術の適用例について説明する。本開示技術は、上述した電力センシング以外の事例に対しても適用可能である。以降では事例として3種の適用例1〜3について説明する。
[Application example]
Next, application examples of the disclosed technology will be described. The disclosed technology can also be applied to cases other than the above-described power sensing. Hereinafter, three types of application examples 1 to 3 will be described as examples.

[適用例1]
図32を用いて、開示技術の適用例1について説明する。図32は、開示技術の適用例1について説明するための図である。適用例1としては、開示技術が、物流等の貯蔵物管理に適用できることを示したものである。具体的にはタグリーダ付き温度センサに適用される場合を示す。図32に示す適用例1では、開示技術が、タグリーダ付き温度センサに適用される場合を説明する。すなわち、適用例1では、いちごやメロンなどの青果を貯蔵する貯蔵庫に、貯蔵庫内の温度を測定する温度センサが備えられている場合を想定する。この温度センサから、温度センサのセンサID、貯蔵庫内の温度及び青果ごとに付されたタグのタグIDなどを含むイベントが発生する。イベントが検知されると、貯蔵物、つまり青果ごとに応じて適温かどうかを判定する処理がモジュール実行部で実行される。この処理では、モジュール実行部に配備された処理は、貯蔵庫内の各センサ(センサID)が検出したタグIDに応じた青果に紐付けられた貯蔵条件を含む参照データが部分参照データとして必要となるが、図5のデータ5dのケースを用いた間接参照に基づき、センサID⇒タグID⇒青果名⇒貯蔵条件と辿り、必要な参照データ{タグID、貯蔵条件}のみを配備することができる。このように、開示技術は、タグリーダ付き温度センサに好適に適用される。
[Application Example 1]
Application example 1 of the disclosed technology will be described with reference to FIG. FIG. 32 is a diagram for describing an application example 1 of the disclosed technology. Application Example 1 shows that the disclosed technology can be applied to storage management such as physical distribution. Specifically, the case where it is applied to a temperature sensor with a tag reader is shown. In application example 1 shown in FIG. 32, a case where the disclosed technology is applied to a temperature sensor with a tag reader will be described. That is, in the application example 1, the case where the temperature sensor which measures the temperature in a storeroom is provided in the storehouse which stores fruits and vegetables, such as a strawberry and a melon. From this temperature sensor, an event including the sensor ID of the temperature sensor, the temperature in the storage, and the tag ID of the tag attached to each fruit and vegetable is generated. When an event is detected, the module execution unit executes a process for determining whether the temperature is appropriate according to the stored items, that is, the fruits and vegetables. In this processing, the processing deployed in the module execution unit requires reference data including storage conditions associated with fruits and vegetables corresponding to the tag ID detected by each sensor (sensor ID) in the storage as partial reference data. However, based on the indirect reference using the case of data 5d in FIG. 5, it is possible to deploy only necessary reference data {tag ID, storage condition} by following sensor ID⇒tag ID⇒fruit and vegetable name⇒storage condition. . Thus, the disclosed technology is suitably applied to a temperature sensor with a tag reader.

[適用例2]
図33を用いて、開示技術の適用例2について説明する。図33は、開示技術の適用例2について説明するための図である。図33に示す適用例2では、開示技術が、工場などでの作業支援に適用できることを示したものである。具体的にはモーションセンサによる作業効率の評価に適用される場合を説明する。すなわち、適用例2では、ある生産ラインに含まれる複数の工程が各作業員に分担されている場合に、各工程で作業する作業員の動作を検出するモーションセンサに開示技術が適用された場合を想定する。このモーションセンサから、センサID、作業員の作業中の動作を示すモーションデータ及び作業ごとの作業IDなどを含むイベントが発生する。イベントが検知されると、モーションデータが解析され、モジュール実行部で作業員の作業の効率を評価する処理が実行される。この処理では、作業IDに紐付けられた評価基準を含む参照データが参照される。なお、この評価によって効率の良い作業中の動作が検出された場合には、その動作はノウハウとして抽出され、さらに、その動作を示すモーションデータが評価用の参照データとして更新・再配備される。この処理ではモジュール実行部に配備された処理は、各モーションセンサ(センサID)に解析対象とする作業IDに応じた適正動作判定用のデータを必要とする。この場合も適用例1と同様に間接参照に基づいて必要データのみを配備することができる。このように、開示技術は、モーションセンサによる作業効率の評価に好適に適用される。
[Application Example 2]
Application example 2 of the disclosed technology will be described with reference to FIG. FIG. 33 is a diagram for describing an application example 2 of the disclosed technology. Application example 2 shown in FIG. 33 shows that the disclosed technology can be applied to work support in a factory or the like. Specifically, the case where it is applied to the evaluation of work efficiency by a motion sensor will be described. That is, in the application example 2, when a plurality of processes included in a certain production line are assigned to each worker, the disclosed technology is applied to a motion sensor that detects the operation of the worker working in each process. Is assumed. From this motion sensor, an event including a sensor ID, motion data indicating the operation of the worker during work, and a work ID for each work is generated. When the event is detected, the motion data is analyzed, and processing for evaluating the efficiency of the work of the worker is executed by the module execution unit. In this process, reference data including an evaluation standard associated with the work ID is referred to. When an efficient operation during work is detected by this evaluation, the operation is extracted as know-how, and motion data indicating the operation is updated / redeployed as reference data for evaluation. In this process, the process provided in the module execution unit requires appropriate motion determination data corresponding to the work ID to be analyzed for each motion sensor (sensor ID). In this case as well, only the necessary data can be deployed based on the indirect reference as in Application Example 1. As described above, the disclosed technique is suitably applied to the evaluation of work efficiency by the motion sensor.

[適用例3]
図34を用いて、開示技術の適用例3について説明する。図34は、開示技術の適用例3について説明するための図である。図34に示す適用例3では、開示技術が、工作機械の稼働状態の監視に適用される場合を説明する。すなわち、適用例3では、工作機械の稼働状態を検出するセンサに開示技術が適用された場合を想定する。このセンサから、工作機械の機器ID、稼働状態、機械使用者のIDを含むイベントが発生する。この稼働状態の例としては、工作機械に搭載された消耗品の使用量、使用者による使用状況などを含む。イベントが検知されると、モジュール実行部で工作機械に搭載された消耗品の消耗状況、安全に使用されているか否かを示す使用状況などを使用者ごとに判定する処理が実行される。この処理では、モジュール実行部に配備された処理は、機械IDに対応づく機械が有する消耗品に対する交換時期に関するデータや、機械IDに対応づく危険操作/適正操作等の操作安全性に関するデータなどを含む参照データを必要とする。この場合も適用例1と同様に間接参照に基づいて、機械ID⇒消耗品⇒交換時期データや機械ID⇒操作安全性データなどと辿り、必要データのみを配備することができる。このように、開示技術は、工作機械の稼働状態の監視に好適に適用される。
[Application Example 3]
Application example 3 of the disclosed technology will be described with reference to FIG. FIG. 34 is a diagram for describing an application example 3 of the disclosed technology. In Application Example 3 illustrated in FIG. 34, a case where the disclosed technology is applied to monitoring of an operating state of a machine tool will be described. That is, in Application Example 3, it is assumed that the disclosed technology is applied to a sensor that detects the operating state of a machine tool. From this sensor, an event including the machine ID of the machine tool, the operating state, and the machine user ID occurs. Examples of this operating state include the amount of consumables mounted on the machine tool and the usage status by the user. When an event is detected, the module execution unit executes a process for determining, for each user, the consumption status of the consumables mounted on the machine tool, the usage status indicating whether the machine is being used safely, or the like. In this processing, the processing deployed in the module execution unit includes data relating to replacement time for consumables possessed by the machine corresponding to the machine ID, data relating to operational safety such as dangerous operation / appropriate operation corresponding to the machine ID, and the like. Requires reference data to include. In this case as well, in the same manner as in Application Example 1, based on indirect reference, machine ID → consumables → replacement time data and machine ID → operation safety data can be traced, and only necessary data can be deployed. Thus, the disclosed technology is suitably applied to monitoring the operating state of the machine tool.

以上、適用例1〜3に示したように、種々のソリューション事例であっても、開示技術は好適に適用される。   As described above, as shown in Application Examples 1 to 3, the disclosed technology is preferably applied even to various solution examples.

さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、その他の実施例にて実施されても良い。そこで、以下では、その他の実施例について説明する。   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.

[GWノードを含むセンサネットワークシステムのシステム構成]
例えば、上記の実施例1では、センサネットワークシステム1にサーバノード110及びセンサノード210が収容される場合を説明したが、本発明はこれに限定されるものではない。例えば、サーバノード110とセンサノード210との間にGWノード310が収容されても良い。
[System configuration of sensor network system including GW node]
For example, in the first embodiment, the case where the server node 110 and the sensor node 210 are accommodated in the sensor network system 1 has been described, but the present invention is not limited to this. For example, the GW node 310 may be accommodated between the server node 110 and the sensor node 210.

GWノードを含むセンサネットワークシステムのシステム構成について説明する。図35は、実施例2に係るセンサネットワークシステムのシステム構成を示す図である。図35に示すように、センサネットワークシステム3には、サーバノード110と、センサノード210と、GWノード310とが収容される。これらセンサノード210とGWノード310との間は、ネットワーク5を介して通信可能に接続される。また、GWノード310とサーバノード110との間は、ネットワーク5を介して通信可能に接続される。なお、図35の例では、センサノード210及びGWノード310を1つずつ収容する場合を例示したが、任意の数のセンサノード210及び任意数のGWノード310を収容する場合に適用することができる。   A system configuration of a sensor network system including a GW node will be described. FIG. 35 is a diagram illustrating a system configuration of the sensor network system according to the second embodiment. As shown in FIG. 35, the sensor network system 3 accommodates a server node 110, a sensor node 210, and a GW node 310. The sensor node 210 and the GW node 310 are connected to be communicable via the network 5. Further, the GW node 310 and the server node 110 are connected via the network 5 so that they can communicate with each other. In the example of FIG. 35, the case where the sensor node 210 and the GW node 310 are accommodated one by one is illustrated. However, the present invention is applicable to the case where an arbitrary number of sensor nodes 210 and an arbitrary number of GW nodes 310 are accommodated. it can.

GWノード310の機能的構成について説明する。図36は、実施例2に係るGWノードの機能的構成を示すブロック図である。図36に示すGWノード310は、図30に示したセンサノード210に比べて、センサ情報受信部211に替えてイベント受信部311を有する点が相違する。なお、以下では、上記の実施例と同様の機能を発揮する機能部については同一の符号を付し、その説明を省略することとする。   A functional configuration of the GW node 310 will be described. FIG. 36 is a block diagram illustrating a functional configuration of a GW node according to the second embodiment. The GW node 310 illustrated in FIG. 36 is different from the sensor node 210 illustrated in FIG. 30 in that it includes an event reception unit 311 instead of the sensor information reception unit 211. In the following description, the same reference numerals are given to functional units that exhibit the same functions as those in the above embodiment, and the description thereof is omitted.

イベント受信部311は、イベントを受信する処理部である。例えば、イベント受信部311は、下位ノードであるセンサノード210や他のGWノード310からイベントを受信する。   The event receiving unit 311 is a processing unit that receives an event. For example, the event reception unit 311 receives an event from the sensor node 210 or other GW node 310 that is a lower node.

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

記憶装置408には、図2に示したイベント受信部113、部分参照データ抽出部119、部分参照データ送信部163及び配備先決定部117の各処理部と同様の機能を有する診療情報入力プログラムが記憶される。また、記憶装置408には、イベント収集プログラムを実現するための各種データが記憶される。   The storage device 408 includes a medical information input program having the same functions as the processing units of the event reception unit 113, the partial reference data extraction unit 119, the partial reference data transmission unit 163, and the deployment destination determination unit 117 illustrated in FIG. Remembered. The storage device 408 stores various data for realizing the event collection program.

CPU401は、記憶装置408に記憶された各プログラムを読み出して、RAM407に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータを図2に示したイベント受信部113、部分参照データ抽出部119、部分参照データ送信部163及び配備先決定部117として機能させることができる。   The CPU 401 reads out each program stored in the storage device 408, expands it in the RAM 407, and executes it to perform various processes. In addition, these programs can cause the computer to function as the event reception unit 113, the partial reference data extraction unit 119, the partial reference data transmission unit 163, and the deployment destination determination unit 117 illustrated in FIG.

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

[その他の実施例]
また、上記の実施例1では、例えば、ネットワークのトポロジが変化したことを契機にモジュール配備処理を起動する場合を例示したが、モジュールが追加または削除された場合やモジュールの定義が変更された場合にモジュール配備処理を起動することとしてもよい。
[Other Examples]
In the first embodiment, for example, the case where the module deployment process is started in response to a change in the network topology is exemplified. However, when a module is added or deleted, or when the module definition is changed. It is also possible to start the module deployment process.

なお、開示の装置では、モジュールによって実行されるイベント加工処理やサービス提供用のアプリケーションによって実行されるサービス提供処理のバックグラウンドでモジュール配備処理を実行することもできる。例えば、現用系のサーバノードでイベント加工処理やサービス提供処理を実行しつつ、待機系のサーバノードでモジュール配備処理を実行できる。   Note that in the disclosed apparatus, the module deployment process can be executed in the background of the event processing process executed by the module and the service providing process executed by the service providing application. For example, the module deployment process can be executed on the standby server node while the event processing process and the service providing process are executed on the active server node.

以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。   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 an input event from a sensor network that deploys a module that performs processing with data reference to a node connected to the network,
Corresponds to attribute information indicating the attribute in the input event, reference data extraction information that identifies the record referenced by the module according to the attribute information, and reference location information that identifies the attribute of the data referenced by the module The reference data extraction information associated with the module that executes the process related to the received input event and the data corresponding to the reference location information are referred to the data reference by referring to the module definition storage unit attached and stored. Extracted from the master that stores the data referenced
An event collection method comprising: executing each process of deploying data extracted by the extracting process to the node.

(付記2)コンピュータによって実行されるイベント収集方法であって、
コンピュータが、
データ参照を伴う処理を実行するモジュールをネットワークに接続されたノードに配備するセンサネットワークから入力イベントを受信し、
指標に基づいて、受信した入力イベントに関連する処理を実行する前記モジュールを前記ノードに配備できるか否かを判定し、
前記判定する処理によって前記モジュールを前記ノードに配備できると判定された場合に、前記データ参照にて参照されるデータを当該ノードに配備する
各処理を実行することを特徴とするイベント収集方法。
(Appendix 2) An event collection method executed by a computer,
Computer
Receives an input event from a sensor network that deploys a module that performs processing with data reference to a node connected to the network,
Determining whether the module that performs processing related to the received input event can be deployed to the node based on the indicator;
When it is determined that the module can be deployed to the node by the determining process, each process of deploying data referenced by the data reference to the node is executed.

(付記3)前記コンピュータは、指標に基づいて、受信した入力イベントに関連する処理を実行する前記モジュールを前記ノードに配備できるか否かを判定し、
前記配備する処理は、前記判定する処理によって前記モジュールを前記ノードに配備できると判定された場合に、前記抽出する処理によって抽出されたデータを当該ノードに配備することを特徴とする付記1に記載のイベント収集方法。
(Additional remark 3) The said computer determines whether the said module which performs the process relevant to the received input event can be deployed to the said node based on an parameter | index,
The appending process is characterized in that, when the determining process determines that the module can be deployed to the node by the determining process, the data extracted by the extracting process is deployed to the node. Event collection method.

(付記4)前記判定する処理は、既に配備されたモジュールに関連する入力イベントを発生するノードが変更された場合に、その変更によって必要になる後続処理の配備先ノードの変更時も、該当配備先ノードに該当モジュールを配備できるか否かを判定することを特徴とする付記2または3に記載のイベント収集方法。 (Additional remark 4) When the node which generate | occur | produces the input event relevant to the module already deployed is changed, the said determination process is applicable at the time of the change of the deployment destination node of the subsequent process required by the change. 4. The event collection method according to appendix 2 or 3, wherein it is determined whether or not the corresponding module can be deployed in the destination node.

(付記5)前記判定する処理は、前記指標として、モジュールによって参照されるデータの変更頻度に関連する第1条件及びモジュールが配備されるノードのリソース量に関連する第2条件のうち一方又は両方を含む判定情報を用いて、前記モジュールを前記ノードに配備できるか否かを判定することを特徴とする付記2〜4のいずれか一つに記載のイベント収集方法。 (Supplementary Note 5) The determination process includes, as the index, one or both of a first condition related to a change frequency of data referred to by a module and a second condition related to a resource amount of a node in which the module is deployed. The event collection method according to any one of appendices 2 to 4, wherein it is determined whether or not the module can be deployed to the node using determination information including:

(付記6)前記抽出する処理は、モジュールが配備されたノードから、当該モジュールによって参照されるデータを要求する旨を示すデータ要求を受信した場合に、当該データ要求に対応するデータを前記マスタから抽出することを特徴とする付記1または3に記載のイベント収集方法。 (Additional remark 6) When the process to extract receives the data request | requirement which requests | requires the data referred by the said module from the node by which the module was arrange | positioned, the data corresponding to the said data request are received from the said master. 4. The event collection method according to appendix 1 or 3, wherein the event is collected.

(付記7)コンピュータに、
データ参照を伴う処理を実行するモジュールをネットワークに接続されたノードに配備するセンサネットワークから入力イベントを受信し、
入力イベント内の属性を示す属性情報と、当該属性情報に応じてモジュールによって参照されるレコードを特定する参照データ抽出用情報と、モジュールによって参照されるデータの属性を特定する参照箇所情報とを対応付けて記憶するモジュール定義記憶部を参照し、受信した入力イベントに関連する処理を実行するモジュールに対応付けられた参照データ抽出用情報と、参照箇所情報とに対応するデータを、前記データ参照にて参照されるデータを記憶するマスタから抽出し、
前記抽出する処理によって抽出されたデータを前記ノードに配備する
各処理を実行させることを特徴とするイベント収集プログラム。
(Appendix 7)
Receives an input event from a sensor network that deploys a module that performs processing with data reference to a node connected to the network,
Corresponds to attribute information indicating the attribute in the input event, reference data extraction information that identifies the record referenced by the module according to the attribute information, and reference location information that identifies the attribute of the data referenced by the module The reference data extraction information associated with the module that executes the process related to the received input event and the data corresponding to the reference location information are referred to the data reference by referring to the module definition storage unit attached and stored. Extracted from the master that stores the data referenced
An event collection program that causes each process to deploy data extracted by the extracting process to the node.

(付記8)コンピュータに、
データ参照を伴う処理を実行するモジュールをネットワークに接続されたノードに配備するセンサネットワークから入力イベントを受信し、
指標に基づいて、受信した入力イベントに関連する処理を実行する前記モジュールを前記ノードに配備できるか否かを判定し、
前記判定する処理によって前記モジュールを前記ノードに配備できると判定された場合に、前記データ参照にて参照されるデータを当該ノードに配備する
各処理を実行させることを特徴とするイベント収集プログラム。
(Appendix 8)
Receives an input event from a sensor network that deploys a module that performs processing with data reference to a node connected to the network,
Determining whether the module that performs processing related to the received input event can be deployed to the node based on the indicator;
An event collection program that, when it is determined by the determination process that the module can be deployed to the node, executes each process of deploying data referenced by the data reference to the node.

(付記9)前記コンピュータは、指標に基づいて、受信した入力イベントに関連する処理を実行する前記モジュールを前記ノードに配備できるか否かを判定し、
前記配備する処理は、前記判定する処理によって前記モジュールを前記ノードに配備できると判定された場合に、前記抽出する処理によって抽出されたデータを当該ノードに配備することを特徴とする付記7に記載のイベント収集プログラム。
(Additional remark 9) The said computer determines whether the said module which performs the process relevant to the received input event can be deployed to the said node based on an parameter | index,
The appending process is characterized in that the deploying process deploys the data extracted by the extracting process to the node when it is determined that the module can be deployed to the node by the determining process. Event collection program.

(付記10)前記判定する処理は、既に配備されたモジュールに関連する入力イベントを発生するノードが変更された場合に、その変更によって必要になる後続処理の配備先ノードの変更時も、該当配備先ノードに該当モジュールを配備できるか否かを判定することを特徴とする付記8または9に記載のイベント収集プログラム。 (Additional remark 10) When the node which generate | occur | produces the input event relevant to the module already deployed is changed, the said determination process is applicable at the time of the change of the deployment destination node of the subsequent process required by the change. 10. The event collection program according to appendix 8 or 9, wherein it is determined whether or not the corresponding module can be deployed in the destination node.

(付記11)前記判定する処理は、前記指標として、モジュールによって参照されるデータの変更頻度に関連する第1条件及びモジュールが配備されるノードのリソース量に関連する第2条件のうち一方又は両方を含む判定情報を用いて、前記モジュールを前記ノードに配備できるか否かを判定することを特徴とする付記8〜10のいずれか一つに記載のイベント収集プログラム。 (Additional remark 11) The said process to determine is one or both of the 1st condition relevant to the change frequency of the data referred by a module as the said index, and the 2nd condition relevant to the resource amount of the node by which a module is arrange | positioned The event collection program according to any one of appendices 8 to 10, wherein it is determined whether or not the module can be deployed to the node using determination information including:

(付記12)前記抽出する処理は、モジュールが配備されたノードから、当該モジュールによって参照されるデータを要求する旨を示すデータ要求を受信した場合に、当該データ要求に対応するデータを前記マスタから抽出することを特徴とする付記7または9に記載のイベント収集プログラム。 (Supplementary Note 12) When the data processing indicating that the data referred to by the module is requested is received from the node in which the module is deployed, the processing to extract the data corresponding to the data request from the master The event collection program according to appendix 7 or 9, wherein the event collection program is extracted.

(付記13)データ参照を伴う処理を実行するモジュールをネットワークに接続されたノードに配備するセンサネットワークから入力イベントを受信する受信部と、
入力イベント内の属性を示す属性情報と、当該属性情報に応じてモジュールによって参照されるレコードを特定する参照データ抽出用情報と、モジュールによって参照されるデータの属性を特定する参照箇所情報とを対応付けて記憶するモジュール定義記憶部と、
前記モジュール定義記憶部を参照し、受信した入力イベントに関連する処理を実行するモジュールに対応付けられた参照データ抽出用情報と、参照箇所情報とに対応するデータを、前記データ参照にて参照されるデータを記憶するマスタから抽出する抽出部と、
前記抽出部によって抽出されたデータを前記ノードに配備する配備部と
を備えることを特徴とする情報処理装置。
(Additional remark 13) The receiving part which receives an input event from the sensor network which arrange | positions the module which performs the process with a data reference to the node connected to the network,
Corresponds to attribute information indicating the attribute in the input event, reference data extraction information that identifies the record referenced by the module according to the attribute information, and reference location information that identifies the attribute of the data referenced by the module A module definition storage unit for storing the information;
With reference to the module definition storage unit, the data corresponding to the reference data extraction information associated with the module that executes the process related to the received input event and the data corresponding to the reference location information are referred to in the data reference. An extraction unit for extracting data from a master that stores data;
An information processing apparatus comprising: a deployment unit that deploys the data extracted by the extraction unit to the node.

(付記14)データ参照を伴う処理を実行するモジュールをネットワークに接続されたノードに配備するセンサネットワークから入力イベントを受信する受信部と、
指標に基づいて、受信した入力イベントに関連する処理を実行する前記モジュールを前記ノードに配備できるか否かを判定する判定部と、
前記判定部によって前記モジュールを前記ノードに配備できると判定された場合に、前記データ参照にて参照されるデータを当該ノードに配備する配備部と
を備えることを特徴とする情報処理装置。
(Supplementary Note 14) A receiving unit that receives an input event from a sensor network that deploys a module that executes processing involving data reference to a node connected to the network;
A determination unit that determines whether or not the module that executes processing related to the received input event can be deployed in the node based on the index;
An information processing apparatus comprising: a deployment unit that deploys data referred to in the data reference to the node when the determination unit determines that the module can be deployed to the node.

(付記15)指標に基づいて、受信した入力イベントに関連する処理を実行する前記モジュールを前記ノードに配備できるか否かを判定する判定部をさらに備え、
前記配備部は、前記判定部によって前記モジュールを前記ノードに配備できると判定された場合に、前記抽出部によって抽出されたデータを当該ノードに配備することを特徴とする付記13に記載の情報処理装置。
(Additional remark 15) It further has the determination part which determines whether the said module which performs the process relevant to the received input event can be deployed in the said node based on an parameter | index,
The information processing unit according to appendix 13, wherein the deployment unit deploys the data extracted by the extraction unit to the node when the determination unit determines that the module can be deployed to the node. apparatus.

(付記16)前記判定部は、既に配備されたモジュールに関連する入力イベントを発生するノードが変更された場合に、変更後のノードに当該モジュールを配備できるか否かを判定することを特徴とする付記14または15に記載の情報処理装置。 (Additional remark 16) When the node which generate | occur | produces the input event relevant to the module already deployed is changed, the said determination part determines whether the said module can be deployed to the node after a change, It is characterized by the above-mentioned. The information processing apparatus according to appendix 14 or 15,

(付記17)モジュールによって参照されるデータの変更頻度に関連する第1条件及びモジュールが配備されるノードのリソース量に関連する第2条件のうち一方又は両方を含む判定情報を記憶する判定用記憶部をさらに備え、
前記判定部は、前記指標として、前記判定用記憶部を参照し、受信した入力イベントに関連する処理を実行するモジュールを前記ノードに配備できるか否かを判定することを特徴とする付記14〜16のいずれか一つに記載の情報処理装置。
(Supplementary Note 17) A determination memory for storing determination information including one or both of a first condition related to a change frequency of data referred to by a module and a second condition related to a resource amount of a node in which the module is deployed Further comprising
The determination unit refers to the determination storage unit as the index, and determines whether or not a module that executes a process related to the received input event can be deployed in the node. 16. The information processing apparatus according to any one of 16.

(付記18)前記抽出部は、モジュールが配備されたノードから、当該モジュールによって参照されるデータを要求する旨を示すデータ要求を受信した場合に、当該データ要求に対応するデータを前記マスタから抽出することを特徴とする付記13または15に記載の情報処理装置。 (Additional remark 18) When the said extraction part receives the data request which shows that the data referred by the said module are requested | required from the node by which the module was arrange | positioned, the data corresponding to the said data request are extracted from the said master The information processing apparatus according to appendix 13 or 15, characterized in that:

1 センサネットワークシステム
110 サーバノード
111 モジュール登録部
111A モジュール記憶部
111B モジュール定義記憶部
112 トポロジ取得部
112A トポロジ記憶部
113 イベント受信部
114 イベント記憶部
115 モジュール実行部
116 発生イベント登録部
116A 発生イベント情報記憶部
117 参照データ記憶部
118 部分参照データ要求受信部
119 部分参照データ抽出部
120 部分参照データ送信部
121 配備先決定部
121A 配備先情報記憶部
122 モジュール送信部
1 sensor network system 110 server node 111 module registration unit 111A module storage unit 111B module definition storage unit 112 topology acquisition unit 112A topology storage unit 113 event reception unit 114 event storage unit 115 module execution unit 116 generated event registration unit 116A generated event information storage Unit 117 Reference data storage unit 118 Partial reference data request reception unit 119 Partial reference data extraction unit 120 Partial reference data transmission unit 121 Deployment destination determination unit 121A Deployment destination information storage unit 122 Module transmission unit

Claims (10)

コンピュータによって実行されるイベント収集方法であって、
コンピュータが、
データ参照を伴う処理を行うためのモジュールを実行するノードが接続されたセンサネットワークから入力イベントを受信し、
前記入力イベントを受信すると、入力イベント内の属性を示す属性情報と、当該属性情報に応じてモジュールによって参照されるレコードを特定する参照データ抽出用情報と、モジュールによって参照されるデータの属性を特定する参照箇所情報とを対応付けて記憶するモジュール定義記憶部を参照し、前記受信した入力イベントを送信したノードに配備された前記受信した入力イベントに関連する処理を行うモジュールに対応付けられた参照データ抽出用情報と参照箇所情報とに対応するデータを、前記モジュールが前記データ参照を伴う処理を行う場合に参照する、前記参照データ抽出用情報及び前記参照箇所情報に対応するデータを記憶するマスタから、前記受信した入力イベントに基づいて抽出し、
前記抽出する処理によって抽出されたデータを前記ノードに配備する
理を実行することを特徴とするイベント収集方法。
An event collection method executed by a computer,
Computer
Receiving input events from the sensor network nodes are connected to perform a module for performing processing with a data reference,
When the input event is received, the attribute information indicating the attribute in the input event, the reference data extraction information for identifying the record referenced by the module according to the attribute information, and the attribute of the data referenced by the module are identified. A reference associated with a module that performs processing related to the received input event deployed in the node that transmitted the received input event with reference to the module definition storage unit that stores the reference location information in association with the data corresponding to the data extraction information and references location information, referring to the case where the module performs processing with the data reference, storing data corresponding to the reference data extraction information and the reference position information Extracted from the master based on the received input event ,
Deploying the data extracted by the processing of the extract to the node
Event collection method which is characterized in that to perform the processing.
コンピュータによって実行されるイベント収集方法であって、
コンピュータが、
データ参照を伴う処理を行うためのモジュールを実行するノードが接続されたセンサネットワークから入力イベントを受信し、
前記モジュールが前記データ参照を伴う処理を行う場合に参照するデータに基づく部分参照データの特性に関する条件、及び、前記ノードのリソース量に関する条件のうち、1つ以上の条件に基づいて、受信した入力イベントに関連する処理を行う前記モジュールを前記ノードに配備できるか否かを判定し、
前記判定する処理によって前記モジュールを前記ノードに配備できると判定された場合に、前記データ参照にて参照されるデータを当該ノードに配備する
理を実行することを特徴とするイベント収集方法。
An event collection method executed by a computer,
Computer
Receiving input events from the sensor network nodes are connected to perform a module for performing processing with a data reference,
The input received based on one or more conditions among a condition related to characteristics of partial reference data based on data referred to when the module performs processing involving data reference and a condition related to the resource amount of the node Determining whether the module performing processing related to an event can be deployed to the node;
When it is determined by the determination process that the module can be deployed to the node, the data referenced by the data reference is deployed to the node
Event collection method which is characterized in that to perform the processing.
前記コンピュータは、前記モジュールが前記データ参照を伴う処理を行う場合に参照するデータに基づく部分参照データの特性に関する条件、及び、前記ノードのリソース量に関する条件のうち、1つ以上の条件に基づいて、受信した入力イベントに関連する処理を行う前記モジュールを前記ノードに配備できるか否かを判定し、
前記配備する処理は、前記判定する処理によって前記モジュールを前記ノードに配備できると判定された場合に、前記抽出する処理によって抽出されたデータを当該ノードに配備することを特徴とする請求項1に記載のイベント収集方法。
The computer is based on one or more of a condition relating to characteristics of partial reference data based on data referred to when the module performs processing involving data reference, and a condition relating to the resource amount of the node. Determining whether the module that performs processing related to the received input event can be deployed to the node;
2. The process according to claim 1, wherein, when the determining process determines that the module can be deployed to the node, the data extracted by the extracting process is deployed to the node. The event collection method described.
前記判定する処理は、既に配備されたモジュールに関連する入力イベントを発生するノードが変更された場合に、変更後のノードに配備された前記モジュールと依存関係を有するモジュールを、前記変更後のノードに配備できるか否かを判定することを特徴とする請求項2または3に記載のイベント収集方法。 In the determination process, when a node that generates an input event related to a module that has already been deployed is changed , a module that has a dependency relationship with the module that has been deployed to the node after the modification is changed to the node after the modification. event collection method according to claim 2 or 3, characterized in that to determine whether it deployed. 前記判定する処理は、前記部分参照データの変更頻度について所定時間あたりの回数が上限値を超えないか否かを判定する第1条件、及び、前記部分参照データの占有リソース量が前記ノードのリソース量の上限値を超えないか否かを判定する第2条件のうち、1つ以上の条件を満たす場合に、受信した入力イベントに関連する処理を行う前記モジュールを前記ノードに配備できるか否かを判定することを特徴とする請求項2〜4のいずれか一つに記載のイベント収集方法。 The determination process includes a first condition for determining whether or not the number of times per predetermined time regarding the change frequency of the partial reference data does not exceed an upper limit value, and the amount of occupied resources of the partial reference data is the resource of the node Whether or not the module that performs processing related to the received input event can be deployed to the node when one or more conditions are satisfied among the second conditions for determining whether or not the upper limit of the amount is exceeded The event collection method according to claim 2, wherein the event collection method is determined. 前記抽出する処理は、モジュールが配備されたノードから、当該モジュールによって参照されるデータを要求する旨を示すデータ要求を受信した場合に、当該データ要求に対応するデータを前記マスタから抽出することを特徴とする請求項1または3に記載のイベント収集方法。   The extracting process includes extracting data corresponding to the data request from the master when a data request indicating that the data referred to by the module is requested is received from a node where the module is deployed. The event collection method according to claim 1 or 3, characterized in that コンピュータに、
データ参照を伴う処理を行うためのモジュールを実行するノードが接続されたセンサネットワークから入力イベントを受信し、
前記入力イベントを受信すると、入力イベント内の属性を示す属性情報と、当該属性情報に応じてモジュールによって参照されるレコードを特定する参照データ抽出用情報と、モジュールによって参照されるデータの属性を特定する参照箇所情報とを対応付けて記憶するモジュール定義記憶部を参照し、前記受信した入力イベントを送信したノードに配備された前記受信した入力イベントに関連する処理を行うモジュールに対応付けられた参照データ抽出用情報と参照箇所情報とに対応するデータを、前記モジュールが前記データ参照を伴う処理を行う場合に参照する、前記参照データ抽出用情報及び前記参照箇所情報に対応するデータを記憶するマスタから、前記受信した入力イベントに基づいて抽出し、
前記抽出する処理によって抽出されたデータを前記ノードに配備する
理を実行させることを特徴とするイベント収集プログラム。
On the computer,
Receiving input events from the sensor network nodes are connected to perform a module for performing processing with a data reference,
When the input event is received, the attribute information indicating the attribute in the input event, the reference data extraction information for identifying the record referenced by the module according to the attribute information, and the attribute of the data referenced by the module are identified. A reference associated with a module that performs processing related to the received input event deployed in the node that transmitted the received input event with reference to the module definition storage unit that stores the reference location information in association with the data corresponding to the data extraction information and references location information, referring to the case where the module performs processing with the data reference, storing data corresponding to the reference data extraction information and the reference position information Extracted from the master based on the received input event ,
Deploying the data extracted by the processing of the extract to the node
Event collection program, characterized in that to perform the processing.
コンピュータに、
データ参照を伴う処理を行うためのモジュールを実行するノードが接続されたセンサネットワークから入力イベントを受信し、
前記モジュールが前記データ参照を伴う処理を行う場合に参照するデータに基づく部分参照データの特性に関する条件、及び、前記ノードのリソース量に関する条件のうち、1つ以上の条件に基づいて、受信した入力イベントに関連する処理を行う前記モジュールを前記ノードに配備できるか否かを判定し、
前記判定する処理によって前記モジュールを前記ノードに配備できると判定された場合に、前記データ参照にて参照されるデータを当該ノードに配備する
理を実行させることを特徴とするイベント収集プログラム。
On the computer,
Receiving input events from the sensor network nodes are connected to perform a module for performing processing with a data reference,
The input received based on one or more conditions among a condition related to characteristics of partial reference data based on data referred to when the module performs processing involving data reference and a condition related to the resource amount of the node Determining whether the module performing processing related to an event can be deployed to the node;
When it is determined by the determination process that the module can be deployed to the node, the data referenced by the data reference is deployed to the node
Event collection program, characterized in that to perform the processing.
データ参照を伴う処理を行うためのモジュールを実行するノードが接続されたセンサネットワークから入力イベントを受信する受信部と、
入力イベント内の属性を示す属性情報と、当該属性情報に応じてモジュールによって参照されるレコードを特定する参照データ抽出用情報と、モジュールによって参照されるデータの属性を特定する参照箇所情報とを対応付けて記憶するモジュール定義記憶部と、
前記受信部が前記入力イベントを受信すると、前記モジュール定義記憶部を参照し、前記受信した入力イベントを送信したノードに配備された前記受信した入力イベントに関連する処理を行うモジュールに対応付けられた参照データ抽出用情報と参照箇所情報とに対応するデータを、前記モジュールが前記データ参照を伴う処理を行う場合に参照する、前記参照データ抽出用情報及び前記参照箇所情報に対応するデータを記憶するマスタから、前記受信した入力イベントに基づいて抽出する抽出部と、
前記抽出部によって抽出されたデータを前記ノードに配備する配備部と
を備えることを特徴とする情報処理装置。
A receiver node for executing a module for performing processing with data references to receive input events from the connected sensor network,
Corresponds to attribute information indicating the attribute in the input event, reference data extraction information that identifies the record referenced by the module according to the attribute information, and reference location information that identifies the attribute of the data referenced by the module A module definition storage unit for storing the information;
When the receiving unit receives the input event, the module definition storage unit is referred to and associated with a module that performs processing related to the received input event arranged in a node that has transmitted the received input event. the data corresponding to the reference data extraction information and references point information, the module refers to when processing with the data reference, stored data corresponding to the reference data extraction information and the reference position information Extracting from the master to be extracted based on the received input event ;
An information processing apparatus comprising: a deployment unit that deploys the data extracted by the extraction unit to the node.
データ参照を伴う処理を行うためのモジュールを実行するノードが接続されたセンサネットワークから入力イベントを受信する受信部と、
前記モジュールが前記データ参照を伴う処理を行う場合に参照するデータに基づく部分参照データの特性に関する条件、及び、前記ノードのリソース量に関する条件のうち、1つ以上の条件に基づいて、受信した入力イベントに関連する処理を行う前記モジュールを前記ノードに配備できるか否かを判定する判定部と、
前記判定部によって前記モジュールを前記ノードに配備できると判定された場合に、前記データ参照にて参照されるデータを当該ノードに配備する配備部と
を備えることを特徴とする情報処理装置。
A receiver node for executing a module for performing processing with data references to receive input events from the connected sensor network,
The input received based on one or more conditions among a condition related to characteristics of partial reference data based on data referred to when the module performs processing involving data reference and a condition related to the resource amount of the node A determination unit that determines whether the module that performs processing related to an event can be deployed in the node;
An information processing apparatus comprising: a deployment unit that deploys data referred to in the data reference to the node when the determination unit determines that the module can be deployed to the node.
JP2012026711A 2012-02-09 2012-02-09 Event collection method, event collection program, and information processing apparatus Expired - Fee Related JP5810955B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012026711A JP5810955B2 (en) 2012-02-09 2012-02-09 Event collection method, event collection program, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012026711A JP5810955B2 (en) 2012-02-09 2012-02-09 Event collection method, event collection program, and information processing apparatus

Publications (2)

Publication Number Publication Date
JP2013164694A JP2013164694A (en) 2013-08-22
JP5810955B2 true JP5810955B2 (en) 2015-11-11

Family

ID=49176016

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012026711A Expired - Fee Related JP5810955B2 (en) 2012-02-09 2012-02-09 Event collection method, event collection program, and information processing apparatus

Country Status (1)

Country Link
JP (1) JP5810955B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3067872B1 (en) * 2012-09-12 2017-11-22 Omron Corporation Column traveling generating apparatus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3812236B2 (en) * 1999-09-10 2006-08-23 株式会社日立製作所 Network management system with event control means
JP2006344017A (en) * 2005-06-09 2006-12-21 Hitachi Ltd Sensor network system and sensor network data processing method
JP5299437B2 (en) * 2008-12-15 2013-09-25 日本電気株式会社 Event processing system, event processing method, rule distribution device, and rule distribution program
WO2011101902A1 (en) * 2010-02-18 2011-08-25 株式会社日立製作所 Information and communication processing system, method, and network node

Also Published As

Publication number Publication date
JP2013164694A (en) 2013-08-22

Similar Documents

Publication Publication Date Title
JP5737075B2 (en) Event collection method and information processing apparatus
US9246777B2 (en) Computer program and monitoring apparatus
CN104144118B (en) Communicator, managing device and processing method
JP2012222580A5 (en) Management device, management method, program, and recording medium
KR101894389B1 (en) Method and apparatus for connecting between devices
JP7081658B2 (en) Information processing equipment, data management system, data management method and data management program
EP3591481B1 (en) Device configuration management apparatus, system, and program
JP2014010772A (en) System management device, system management method, and system management program
CN105025458A (en) Resource notification method, equipment and system
JP5810955B2 (en) Event collection method, event collection program, and information processing apparatus
US9621656B2 (en) Distributed deployment device and method
JP2017103707A (en) System, device and method for data collection
JP5835007B2 (en) Event collection method, event collection program, and information processing apparatus
JP6272429B1 (en) Data collection system, collection device, information collection program, server device, and server program
JP5927983B2 (en) Event collection method, event collection program, and information processing apparatus
WO2019159484A1 (en) Quality check device, quality check method and program
US10740214B2 (en) Management computer, data processing system, and data processing program
JP5834998B2 (en) Event processing method, event collection method, event processing program, event collection program, and information processing apparatus
JP2011095830A (en) Information collection device
JP6364203B2 (en) Monitoring server for monitoring system operating status and monitoring server control method
CN111602034B (en) Output management apparatus, output management method, and storage medium
JP2005228172A (en) Initial setting server device, initial setting system, initial setting method, and computer-readable recording medium
JP6183198B2 (en) Distributed deployment apparatus, distributed deployment method, and distributed deployment program
JP7760323B2 (en) Information collection device and information collection method
JP6381324B2 (en) Auxiliary storage device and auxiliary storage method

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150721

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150831

R150 Certificate of patent or registration of utility model

Ref document number: 5810955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees