JP2012146113A - Information notification node, information distribution system, information notification method, and program - Google Patents

Information notification node, information distribution system, information notification method, and program Download PDF

Info

Publication number
JP2012146113A
JP2012146113A JP2011003756A JP2011003756A JP2012146113A JP 2012146113 A JP2012146113 A JP 2012146113A JP 2011003756 A JP2011003756 A JP 2011003756A JP 2011003756 A JP2011003756 A JP 2011003756A JP 2012146113 A JP2012146113 A JP 2012146113A
Authority
JP
Japan
Prior art keywords
node
information
notification
load
subscription
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2011003756A
Other languages
Japanese (ja)
Inventor
Kazuhiko Isoyama
和彦 磯山
Sawako Mikami
紗和子 見上
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011003756A priority Critical patent/JP2012146113A/en
Publication of JP2012146113A publication Critical patent/JP2012146113A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce a processing load on a device (node) for notifying of an event.SOLUTION: An information notification node comprises: a subscription table holding unit that receives and holds subscription of information; an event control unit that determines a load of notification based on the subscription, and determines whether to delegate the notification based on the load; a load distribution management table holding unit that holds information on a transmission source of the subscription and a notification destination to be notified of the information; and a load distribution control unit that, when the event control unit has determined to delegate it, determines a range of a notification destination to which the notification is to be delegated based on information in the load distribution management table holding unit, and transmits, to another node, a request of proxy notification of the information with respect to a notification destination to which it is to be delegated.

Description

本発明は、情報の配信又は通知に関し、特に情報の配信又は通知の負荷に関する。   The present invention relates to information distribution or notification, and more particularly to information distribution or notification load.

ネットワークに接続した情報処理装置は、ネットワークを介して、情報を送信又は受信する。このようなネットワークを介して情報を送受信する情報処理装置のシステムの1つに、情報配信システムがある。   An information processing apparatus connected to the network transmits or receives information via the network. One information processing system that transmits and receives information via such a network is an information distribution system.

情報配信システムには、イベントを含む情報を1つ又は複数の通知先に配信(通知)するシステムがある。このような情報配信システムが配信する情報は、例えば、RFID(Radio Frequency IDentification)読み取り機が物品に付されたRFIDを検出するイベント(event、出来事)、又は、近接センサが物品の接近を検出するイベントを含む。   Information distribution systems include systems that distribute (notify) information including events to one or a plurality of notification destinations. Information distributed by such an information distribution system is, for example, an event (event) in which an RFID (Radio Frequency IDentification) reader detects an RFID attached to an article, or a proximity sensor detects the approach of the article. Includes events.

情報配信システムを構成する情報処理装置(以下、ノード(node、節点)と称す)は、いろいろな接続形態のネットワークを構成することができる。そのような情報配信システムを構成するネットワークの接続形態の1つに、pub/sub(publisher/subscriber)ネットワークがある(例えば、非特許文献1を参照)。   Information processing apparatuses (hereinafter referred to as nodes) constituting an information distribution system can constitute networks of various connection forms. A pub / sub (publisher / subscriber) network is one of the network connection forms constituting such an information distribution system (see, for example, Non-Patent Document 1).

一般的なpub/subネットワークを用いた情報配信システムについて図面を参照して説明する。   An information distribution system using a general pub / sub network will be described with reference to the drawings.

図22は、pub/subネットワーク90を含む情報配信システム9の一例を示す図である。   FIG. 22 is a diagram illustrating an example of the information distribution system 9 including the pub / sub network 90.

情報配信システム9は、サブスクライバ(subscriber)20と、パブリッシャ(publisher)30と、pub/subネットワーク90とを含んでいる。   The information distribution system 9 includes a subscriber 20, a publisher 30, and a pub / sub network 90.

サブスクライバ(subscriber、以下、subと称すこともある)20は、イベントを受け取りたい者(利用者など)又は装置からの指示を基に、配信(通知)を受けたいイベントの条件を、サブスクリプション(subscription、受信登録)としてpub/subネットワーク90に登録(サブスクライブ:subscribe)する。このようにサブスクリプションは、pub/subネットワーク90が、サブスクライバ20にイベントを通知(notify)するために必要な情報を含んでいる。   A subscriber (subscriber, hereinafter, also referred to as sub) 20 subscribes a condition of an event to receive distribution (notification) based on an instruction from a person who wants to receive the event (such as a user) or a device. subscription (reception registration) to the pub / sub network 90 (subscribe). Thus, the subscription includes information necessary for the pub / sub network 90 to notify the subscriber 20 of the event.

パブリッシャ(publisher、以下、pubと称すこともある)30は、図示しないセンサなどからイベントを受け取り、イベント又はイベントを示すような情報(まとめて、イベントと称す)をpub/subネットワーク90に入力(パブリッシュ、publish、登録とも称す)する。   A publisher (hereinafter also referred to as “pub”) 30 receives an event from a sensor (not shown) or the like, and inputs an event or information indicating the event (collectively referred to as an event) to the pub / sub network 90 ( (Also called publish, publish, registration).

pub/subネットワーク90は、パブリッシャ30から受け取ったイベントと、登録済みのサブスクリプションに含まれるイベントの条件とを比較する。イベントと登録済みサブスクリプションのイベントの条件が一致した場合、pub/subネットワーク90は、一致したサブスクリプションを登録したサブスクライバ20に、イベントを通知(notify、配信)する。   The pub / sub network 90 compares the event received from the publisher 30 with the event condition included in the registered subscription. When the event conditions of the event and the registered subscription match, the pub / sub network 90 notifies (notify, distribute) the event to the subscriber 20 who registered the matched subscription.

このように動作する一般的なpub/subネットワーク90は、サーバのような情報処理装置(ノード)が相互に接続したネットワークであり、所定の方式に基づき情報(サブスクリプション及びイベント)を転送する。この転送において、ノードは、情報の転送先を探索(ルックアップ、lookup)する。そのため、一般的なpub/subネットワークは、ネットワークが大きく又は複雑になると、情報の転送先の探索に時間が掛かるという問題点があった。   The general pub / sub network 90 operating in this way is a network in which information processing devices (nodes) such as servers are connected to each other, and transfers information (subscriptions and events) based on a predetermined method. In this transfer, the node searches for the information transfer destination. Therefore, the general pub / sub network has a problem that it takes time to search for an information transfer destination when the network is large or complicated.

そこで、探索を改善したネットワークとして、分散ハッシュテーブル(DHT:Distributed Hash Table)を用いたネットワークがある(例えば、非特許文献2を参照)。   Therefore, there is a network using a distributed hash table (DHT) as a network with improved search (see, for example, Non-Patent Document 2).

分散ハッシュテーブルとは、情報にハッシュ関数を適用して求めたハッシュ値に対応するノードが情報を管理又は処理する管理方式である。ハッシュ値は固定長のため、分散ハッシュテーブルは、ネットワークが大きくなっても探索の負荷が増大しない。   The distributed hash table is a management method in which a node corresponding to a hash value obtained by applying a hash function to information manages or processes the information. Since the hash value has a fixed length, the distributed hash table does not increase the search load even when the network becomes large.

分散ハッシュテーブルを用いたpub/subネットワーク90の情報の転送について図面を参照して説明する。   Information transfer of the pub / sub network 90 using the distributed hash table will be described with reference to the drawings.

図23は、分散ハッシュテーブルを用いたpub/subネットワーク90のサブスクリプションの登録における転送の一例を示す図である。   FIG. 23 is a diagram showing an example of transfer in registration of a subscription of the pub / sub network 90 using the distributed hash table.

図23において、pub/subネットワーク90を構成するノードは、小円で示している。各ノードは、ネットワークを介して接続している。説明の便宜のため、図23では、模式的に円形の接続として示している。   In FIG. 23, nodes constituting the pub / sub network 90 are indicated by small circles. Each node is connected via a network. For convenience of explanation, FIG. 23 schematically shows a circular connection.

分散ハッシュテーブルを用いたネットワークを構成する各ノードは、ノードを管理するためのキー(鍵)を備える。キーは、ノードの識別子(ID、identification)の値としてもよい。そのため、図23において、各ノードのキーは、ノードの識別子の値として、ノードを示す小円の中に2進数を用いて示している。なお、図23において、説明の便宜のため、各ノードのキーの値は、1つとして示しているが、分散ハッシュテーブルを用いたノードは、複数のキーの値を備えても良い。   Each node constituting the network using the distributed hash table has a key (key) for managing the node. The key may be a value of a node identifier (ID). Therefore, in FIG. 23, the key of each node is shown as a value of the identifier of the node using a binary number in a small circle indicating the node. In FIG. 23, for convenience of explanation, the key value of each node is shown as one, but a node using a distributed hash table may include a plurality of key values.

サブスクライバ(sub)20が、サブスクリプションをpub/subネットワーク90に登録すると、サブスクリプションを受け取ったノードは、受け取ったサブスクリプションに含まれ条件にハッシュ関数を適用してキーを求める。そして、サブスクリプションを受け取ったノードは、キーに基づいて、キーに対応するノードにサブスクリプションを転送する。ここで、ハッシュ関数を適用する条件とは、例えば、サブスクリプションで通知を依頼したイベントである。   When the subscriber (sub) 20 registers the subscription in the pub / sub network 90, the node receiving the subscription obtains a key by applying a hash function to the condition included in the received subscription. Then, the node receiving the subscription transfers the subscription to the node corresponding to the key based on the key. Here, the condition for applying the hash function is, for example, an event for which notification is requested by subscription.

図23は、一例として、サブスクライバが登録した5つのサブスクリプションの転送先のキーが、すべてID=1000のノードの場合の転送を示している。サブスクリプションを受け取った各ノードは、サブスクリプションから求めたキーに基づき、ID=1000のノードにサブスクリプションを転送する。ただし、一般的なpub/subネットワークは、複数のネットワークが接続したネットワークである。そのため、pub/subネットワークを構成するノードは、転送先のノードと同じネットワークに接続していない場合もある。そのような場合、ノードは、転送する情報を、pub/subネットワークを構成する複数のノードを経由して、転送先のノードに転送する。ノードは、情報を転送するために経由するノードの情報、つまり経路情報を、ルーティングテーブル(routing table)として備え、ルーティングテーブルを参照して、転送先のノードに届くように、所定のノードに情報を送信する。   FIG. 23 shows, as an example, the transfer when the keys of the transfer destinations of the five subscriptions registered by the subscriber are all ID = 1000. Each node that receives the subscription transfers the subscription to the node with ID = 1000 based on the key obtained from the subscription. However, a general pub / sub network is a network in which a plurality of networks are connected. For this reason, the nodes constituting the pub / sub network may not be connected to the same network as the transfer destination node. In such a case, the node transfers the information to be transferred to the transfer destination node via a plurality of nodes constituting the pub / sub network. A node has information of a node through which information is transferred, that is, route information, as a routing table, and refers to the routing table so that information can be transmitted to a predetermined node so that the node reaches the transfer destination node. Send.

例えば、図23において、ID=0001のノードは、直接ID=1000のノードにサブスクリプションを転送できない。そのため、ID=0001のノードは、ID=0101のノードに、サブスクリプションを転送する。ID=0101のノードも、直接ID=1000のノードに転送できないため、ID=0111のノードにサブスクリプションを転送する。ID=0111のノードは、ID=1000のノードに転送できるため、ID=1000のノードにサブスクリプションを転送する。このように、pub/subネットワークを構成するノードは、ルーティングテーブルを用いて、情報を転送する。   For example, in FIG. 23, the node with ID = 0001 cannot directly transfer the subscription to the node with ID = 1000. Therefore, the node with ID = 0001 transfers the subscription to the node with ID = 0101. Since the node with ID = 0101 cannot be directly transferred to the node with ID = 1000, the subscription is transferred to the node with ID = 0111. Since the node with ID = 0111 can be transferred to the node with ID = 1000, the subscription is transferred to the node with ID = 1000. As described above, the nodes constituting the pub / sub network transfer information using the routing table.

サブスクリプションを受けたID=1000のノードは、受け取ったサブスクリプションを保持する。なお、ID=1000のノードは、サブスクリプションの条件にハッシュ関数を適用し、求めたハッシュ値が自分のキー(ID)となることに基づいて、自ノードで管理するサブスクリプションであることを判定できる。   The node with ID = 1000 that has received the subscription holds the received subscription. Note that the node with ID = 1000 applies a hash function to the subscription condition, and determines that the subscription is managed by the own node based on the obtained hash value being its own key (ID). it can.

図24は、分散ハッシュテーブルを用いたpub/subネットワーク90のイベントの配信(通知)の一例を示す図である。   FIG. 24 is a diagram illustrating an example of event distribution (notification) of the pub / sub network 90 using the distributed hash table.

図24は、イベントから求めたキー(ノードID)が、ID=1000である場合の一例である。パブリッシャ(pub)からイベントを受けたID=0101のノードは、イベントにハッシュ関数を適用して求めたハッシュ値から、イベントの転送先ノードがID=1000のノードであることを判定し、イベントを転送する。なお、ID=0101のノードは、既に説明したとおり、ID=1000のノードに直接情報を転送できないため、ID=0111のノードを介して、ID=1000のノードにイベントを転送する。   FIG. 24 shows an example in which the key (node ID) obtained from the event is ID = 1000. Upon receiving the event from the publisher (pub), the node with ID = 0101 determines from the hash value obtained by applying the hash function to the event that the event transfer destination node is the node with ID = 1000, and Forward. Since the node with ID = 0101 cannot transfer information directly to the node with ID = 1000 as already described, the event is transferred to the node with ID = 1000 via the node with ID = 0111.

イベントを受け取ったID=1000のノードは、図23を用いて説明した登録したサブスクリプションに基づき、サブスクライバ(sub)20にイベントを通知(notify、配信)する。   The node having ID = 1000 that received the event notifies the subscriber (sub) 20 of the event (notify, distribute) based on the registered subscription described with reference to FIG.

なお、図23及び図24に示すID=1000のノードのように、サブスクライバとイベントが出会う(集まる)ノードは、ランデブー(rendezvous)ノードと呼ばれる。   Note that, as in the node with ID = 1000 shown in FIGS. 23 and 24, a node where an event meets (collects) a subscriber is called a rendezvous node.

このように、分散ハッシュテーブルに基づき、ネットワークが増大しても、各ノードは、探索するテーブルを所定の範囲とすることができる。   As described above, even if the network increases based on the distributed hash table, each node can set the table to be searched within a predetermined range.

ただし、特別なイベント、例えば、著名人に関するイベント、株式市場で注目されている株式会社の株価の変動のイベント、災害のイベントは、通知を受けたいサブスクライバが多い。そのため、そのようなイベントのランデブーノードは、イベントの通知の処理が大きな負荷となる。その結果、ランデブーノードは、分散ハッシュテーブルを採用していても、通知先の多いイベント、つまり負荷が大きなイベントの通知に時間が掛かり、通知が遅れるという問題点があった。   However, there are many subscribers who want to be notified of special events such as events related to celebrities, stock price fluctuation events that are attracting attention in the stock market, and disaster events. Therefore, a rendezvous node for such an event is a heavy load for event notification processing. As a result, even if the rendezvous node adopts a distributed hash table, there is a problem that it takes time to notify an event with many notification destinations, that is, an event with a large load, and the notification is delayed.

このような負荷の増大に対し、一般的なネットワークを使用したシステムは、装置の負荷軽減として、負荷分散を用いる。   In response to such an increase in load, a system using a general network uses load distribution as a device load reduction.

例えば、トンネリングを使用するシステムは、装置(ノード)の稼動状態を基に、トンネリングした通信経路の割り振りを変更する(例えば、特許文献1を参照)。しかし、特許文献1に記載のシステムは、通信経路を変更するものであり、負荷が増大したノードにおける通信路以外の負荷を軽減することができない問題点があった。   For example, a system using tunneling changes the allocation of tunneled communication paths based on the operating state of a device (node) (see, for example, Patent Document 1). However, the system described in Patent Document 1 changes the communication path, and there is a problem that it is impossible to reduce loads other than the communication path in the node where the load is increased.

また、複数の送信先に情報を通知するシステムとして、通知先に時間を設定し、時間を分けて情報を通知するシステムがある。(例えば、特許文献2を参照)。しかし、株価の変動又は災害などのイベントは、通知先に時間差を設定できないため、特許文献2に記載のシステムは、このようなイベントには使用できない問題点があった。   Further, as a system for notifying information to a plurality of transmission destinations, there is a system in which time is set for a notification destination and information is notified by dividing the time. (For example, see Patent Document 2). However, since a time difference cannot be set as a notification destination for events such as stock price fluctuations or disasters, the system described in Patent Document 2 has a problem that it cannot be used for such events.

そこで、装置での処理を軽減するため、処理するプログラムを別の装置に移動するシステムがある(例えば、特許文献3を参照)。また、引継ぎの処理の時間を削減するため、処理に必要なデータは、元の装置の残し、処理だけ移動するシステムもある(例えば、特許文献4を参照)。   Thus, there is a system that moves a program to be processed to another device in order to reduce processing in the device (see, for example, Patent Document 3). In addition, there is a system in which data necessary for processing is moved only by the processing while the data necessary for the processing is left in order to reduce the time for the handover processing (see, for example, Patent Document 4).

特開2005−228036JP 2005-228036 A 特開2008−198047JP2008-198047 特開2005−004674JP 2005-004674 A 特開2003−248669JP 2003-248669 A

F Cao, 他, “Efficient Event Routing in Content-based Publish-Subscribe Service Networks”, IEEE INFOCOM, 2004F Cao, et al., “Efficient Event Routing in Content-based Publish-Subscribe Service Networks”, IEEE INFOCOM, 2004 Ion Stoica, 他, “Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications” ACM SIGCOMM, 2001Ion Stoica, et al., “Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications” ACM SIGCOMM, 2001

しかし、特許文献3及び特許文献4に記載のシステムは、処理する装置を変更するものであり、イベントの通知の処理を引き継いだ装置での処理の負荷の量は、引き渡した装置の負荷と同様である。特許文献3及び特許文献4に記載のシステムは、イベントの通知を引き継いだ装置、つまり、イベントを通知する装置におけるイベントを通知する処理の負荷を削減できないという問題点があった。   However, the systems described in Patent Literature 3 and Patent Literature 4 change the device to be processed, and the amount of processing load in the device that has taken over the event notification processing is the same as that of the delivered device. It is. The systems described in Patent Literature 3 and Patent Literature 4 have a problem in that it is not possible to reduce the processing load for notifying an event in a device that takes over event notification, that is, an event notification device.

本発明の目的は、上記問題点を解決し、情報(イベントを含む情報)を通知(notify)する装置(ノード)の負荷の軽減を提供することにある。   An object of the present invention is to solve the above problems and provide a reduction in the load on a device (node) that notifies information (information including an event).

本発明の情報通知ノードは、イベントを含む情報の受信登録(サブスクリプション)を受け取り保持するサブスクリプションテーブル保持部と、保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定するイベント制御部と、前記受信登録の送信元の情報と前記情報を通知する通知先とを保持する負荷分散管理テーブル保持部と、前記イベント制御部が委譲すると判定した場合に、前記負荷分散管理テーブル保持部が保持する情報に基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記イベント制御部に前記情報の通知を依頼する負荷分散制御部とを含む。   The information notification node of the present invention is configured to determine a load of notification of the information based on a subscription table holding unit that receives and holds reception registration (subscription) of information including an event, and the reception registration held, An event control unit that determines whether or not to delegate the notification based on a load; a load distribution management table holding unit that holds information on a transmission source of the reception registration and a notification destination that notifies the information; and the event control If it is determined that the information is to be delegated, a range of notification destinations to which the notification of the information is delegated is determined based on information held by the load distribution management table holding unit, and the notification destination of the information is delegated for the notification destination to be delegated A load distribution control unit that sends a request to the first node and requests the event control unit to notify the information about a notification destination that is not delegated.

本発明の情報通知方法は、情報の受信登録を受け取り保持し、保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定し、前記受信登録の送信元の情報と前記情報を通知する通知先とを保持し、委譲すると判定した場合に、前記受信登録の送信元の情報と前記情報を通知する通知先とに基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記情報を通知する。   The information notification method of the present invention receives and holds an information reception registration, determines the information notification load based on the held reception registration, and determines whether to delegate the notification based on the load And holding the information of the transmission source of the reception registration and the notification destination for notifying the information, and when determining to delegate, based on the information of the transmission source of the reception registration and the notification destination for notifying the information The range of notification destinations to which information notification is delegated is determined, a request for proxying the information notification is sent to the first node for the notification destination to be delegated, and the information is notified to the notification destination that is not to be delegated.

本発明のプログラムは、情報の受信登録を受け取り保持する処理と、保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定する処理と、前記受信登録の送信元の情報と前記情報を通知する通知先とを保持する処理と、委譲すると判定した場合に、前記受信登録の送信元の情報と前記情報を通知する通知先とに基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記情報を通知する処理とをコンピュータに実行させる。   The program of the present invention receives and holds information reception registration, determines the information notification load based on the held reception registration, and determines whether to delegate the notification based on the load A process of holding the information of the transmission source of the reception registration and a notification destination of notifying the information, and a notification destination of notifying the information of the transmission source of the reception registration and the information when it is determined to delegate Based on the above, the scope of the notification destination to which the notification of the information is delegated is determined, a request for proxying the notification of the information is sent to the first node for the notification destination to be delegated, and the information for the notification destination not to be delegated Causes the computer to execute notification processing.

本発明の情報配信システムは、本発明の情報通知ノードは、イベントを含む情報の受信登録(サブスクリプション)を受け取り保持するサブスクリプションテーブル保持部と、保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定するイベント制御部と、前記受信登録の送信元の情報と前記情報を通知する通知先とを保持する負荷分散管理テーブル保持部と、前記イベント制御部が委譲すると判定した場合に、前記負荷分散管理テーブル保持部が保持する情報に基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記イベント制御部に前記情報の通知を依頼する負荷分散制御部とを含む情報通知ノードと、情報の受信登録を登録するサブスクライバと、前記情報を発行するパブリッシャとを含む。   In the information distribution system of the present invention, the information notification node of the present invention includes a subscription table holding unit that receives and holds reception registration (subscription) of information including an event, and the information notification node of the information based on the received reception registration. A load distribution management that holds an event control unit that determines a notification load, determines whether to delegate the notification based on the load, and information on a transmission source of the reception registration and a notification destination that notifies the information When the table holding unit and the event control unit determine to delegate, the range of the notification destination to which the information notification is delegated is determined based on the information held by the load distribution management table holding unit, and the notification destination to delegate Sends a proxy request for notification of the information to the first node, and requests notification of the information to the event control unit for notification destinations that are not delegated Including that a load distribution control unit and the information notification node comprising a subscriber to register to receive registration information, and a publisher to issue the information.

本発明によれば、情報(イベントを含む情報)を通知(notify)する装置(ノード)の処理の負荷を低減することができる。   ADVANTAGE OF THE INVENTION According to this invention, the processing load of the apparatus (node) which notifies (notify) information (information including an event) can be reduced.

本発明のおける第1の実施の形態に係る情報通知ノードの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the information notification node which concerns on 1st Embodiment in this invention. 第1の実施の形態に係る情報配信システムの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the information delivery system which concerns on 1st Embodiment. 第1の実施の形態に係る情報通知ノードのサブスクリプションの受信動作の一例を示すフロー図である。It is a flowchart which shows an example of the reception operation | movement of the subscription of the information notification node which concerns on 1st Embodiment. 第1の実施の形態に係る情報配信システムのサブスクリプションの転送の一例を示す図である。It is a figure which shows an example of the transfer of the subscription of the information delivery system which concerns on 1st Embodiment. 第1の実施の形態に係る負荷分散管理テーブルの一例を示す図である。It is a figure which shows an example of the load distribution management table which concerns on 1st Embodiment. 第1の実施の形態に係る負荷分散管理テーブルの別の一例を示す図である。It is a figure which shows another example of the load distribution management table which concerns on 1st Embodiment. 第1の実施の形態に係るサブスクリプションテーブルの一例を示す図である。It is a figure which shows an example of the subscription table which concerns on 1st Embodiment. 第1の実施の形態に係るイベント制御部の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the event control part which concerns on 1st Embodiment. 第1の実施の形態に係る負荷分散制御部の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the load distribution control part which concerns on 1st Embodiment. 第1の実施の形態に係る負荷分散管理テーブルの一例を示す図である。It is a figure which shows an example of the load distribution management table which concerns on 1st Embodiment. 第1の実施の形態に係る情報通知ノードの動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the information notification node which concerns on 1st Embodiment. 第1の実施の形態に係る負荷分散管理テーブルの一例を示す図である。It is a figure which shows an example of the load distribution management table which concerns on 1st Embodiment.

第1の実施の形態に係る情報通知ノードの動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the information notification node which concerns on 1st Embodiment. 第1の実施の形態に係る負荷分散制御部の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the load distribution control part which concerns on 1st Embodiment. 第1の実施の形態に係る情報通知ノードの動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the information notification node which concerns on 1st Embodiment. 第1の実施の形態に係るpub/subネットワークのイベントの通知の一例を示す図である。It is a figure which shows an example of the notification of the event of the pub / sub network which concerns on 1st Embodiment. 第1の実施の形態に係るイベント制御部の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the event control part which concerns on 1st Embodiment. 第1の実施の形態に係る負荷分散制御部の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the load distribution control part which concerns on 1st Embodiment. 第1の実施の形態に係る負荷分散制御部の動作の一例を示すフロー図である。It is a flowchart which shows an example of operation | movement of the load distribution control part which concerns on 1st Embodiment. 第1の実施の形態に係る情報通知ノードの別の構成の一例を示すブロック図である。It is a block diagram which shows an example of another structure of the information notification node which concerns on 1st Embodiment. 第2の実施の形態に係る情報通知ノードの構成の一例を示す図である。It is a figure which shows an example of a structure of the information notification node which concerns on 2nd Embodiment. 一般的な情報配信システムの一例を示す図である。It is a figure which shows an example of a general information delivery system. 一般的なpub/subネットワークにおけるサブスクリプションの転送の一例を示す図である。It is a figure which shows an example of the transfer of the subscription in a general pub / sub network. 一般的なpub/subネットワークにおけるイベントの通知の一例を示す図である。It is a figure which shows an example of the notification of the event in a general pub / sub network.

次に、本発明における実施の形態について図面を参照して説明する。   Next, embodiments of the present invention will be described with reference to the drawings.

まず、本実施の形態の説明における用語について整理する。   First, terms in the description of the present embodiment will be organized.

「イベント(event、出来事)」とは、センサの検出又は人の操作などに基づき発生する情報である。イベントは、センサの検出などイベントの基となる情報を受けた装置が、ネットワークに発信(パブリッシュ、publish、登録又は入力とも称す)する。ネットワークにイベントを発信する装置をパブリッシャ(publisher)、又は、pubと称す。パブリッシャが発信したイベントは、ネットワーク、具体的にはネットワークを構成する装置が受け取る。なお、本実施の形態に係るイベントは、イベント及びイベントに基づき生成又は発生した情報を含めてイベントと称す。   An “event” is information generated based on detection of a sensor or human operation. An event is transmitted (also referred to as “publish”, “publish”, “registered”, or “input”) to a network by a device that has received information that is the basis of the event, such as sensor detection. A device that transmits an event to a network is called a publisher or pub. An event transmitted by a publisher is received by a network, specifically, a device constituting the network. The event according to the present embodiment is referred to as an event including the event and information generated or generated based on the event.

イベントは、いろいろな情報を含んでも良い。本実施の形態に係るイベント(イベントを含む情報とも称す)は、一例としてイベントID(Identification、識別子)と、イベント情報とを含む。   An event may contain a variety of information. An event (also referred to as information including an event) according to the present embodiment includes an event ID (Identification) and event information as an example.

イベントIDは、イベントを一意に識別するための識別子である。例えば、イベントIDは、イベントの基となったセンサが検出したRFID(Radio Frequency IDentification)にハッシュ関数を適用して求めたハッシュ値である。後ほど説明するように、このイベントIDに相当するキー(key、鍵)を識別子として備える情報通知ノードが、イベントを通知(notify、配信とも称す)する。つまり、イベントIDは、イベントを識別すると共に、イベントを通知する情報通知ノードの判別に用いてもよい。   The event ID is an identifier for uniquely identifying the event. For example, the event ID is a hash value obtained by applying a hash function to RFID (Radio Frequency IDentification) detected by the sensor that is the basis of the event. As will be described later, an information notification node including a key corresponding to the event ID as an identifier notifies the event (also referred to as notification or distribution). That is, the event ID may be used for identifying an event and determining an information notification node that notifies the event.

イベント条件は、イベントに関する情報、例えば、イベントが発生した条件(時間、場所、原因など)を含む情報である。   The event condition is information including an event related information, for example, a condition (time, place, cause, etc.) in which the event has occurred.

なお、本実施の形態に係る情報通知ノードは、イベントを用いて説明するが、本実施の形態に係る情報通知ノードが扱う情報は、イベントに限られるわけではない。本実施の形態に係る情報通知ノードが扱う情報は、例えば、データベースの情報でもよく、エキスパートシステム(expert system)の情報でよい。   The information notification node according to the present embodiment is described using an event, but the information handled by the information notification node according to the present embodiment is not limited to the event. Information handled by the information notification node according to the present embodiment may be, for example, database information or expert system information.

「サブスクリプション(subscription)」とは、通知(配信)を受けたい情報(イベントを含む情報)について、ネットワークに登録(サブスクライブ、subscribe)する情報(受信登録)である。サブスクリプション(受信登録)を登録する装置をサブスクライバ(subscriber)、又は、subと称す。サブスクライバがネットワークに登録したサブスクリプションは、後ほど説明するように、イベントを通知する情報通知ノードに転送される。   “Subscription” is information (reception registration) to register (subscribe) information (information including an event) to be notified (distributed) in the network. A device for registering a subscription (reception registration) is referred to as a subscriber or a sub. The subscription registered in the network by the subscriber is transferred to the information notification node that notifies the event, as will be described later.

サブスクリプションは、いくつかの情報を含んでいても良い。本実施の形態に係るサブスクリプションは、一例として、サブスクリプション条件と、サブスクライバIDと、通知先IDと、経由ノードIDとを含む。   A subscription may contain some information. As an example, the subscription according to the present embodiment includes a subscription condition, a subscriber ID, a notification destination ID, and a relay node ID.

サブスクリプション条件は、サブスクリプションを通知するためのイベントに関する条件を含む情報である。なお、サブスクリプション条件が含むイベントに関する条件は、イベントの一部と一致すれば良い場合を含む。例えば、サブスクリプション条件が、イベントに関する条件として「場所=東京」を含む場合、「場所=東京、事件=火事」又は「場所=東京、事件=地震」などのイベントは、サブスクリプション条件と一致するイベントとしてもよい。また、サブスクリプション条件は、イベントを通知する情報通知ノードにサブスクリプションを転送するための情報、例えば、イベントIDに相当する情報を含む。   The subscription condition is information including a condition regarding an event for notifying a subscription. It should be noted that the conditions related to the event included in the subscription condition include a case where it is sufficient to match a part of the event. For example, if the subscription condition includes “location = Tokyo” as a condition regarding the event, an event such as “location = Tokyo, incident = fire” or “location = Tokyo, incident = earthquake” matches the subscription condition. It may be an event. The subscription condition includes information for transferring the subscription to the information notification node that notifies the event, for example, information corresponding to the event ID.

サブスクライバIDは、サブスクリプションをネットワークに登録したサブスクライバを示す情報(識別子)である。   The subscriber ID is information (identifier) indicating the subscriber who registered the subscription in the network.

通知先IDは、登録したサブスクリプションに基づいてイベントを通知する装置を示す情報(識別子)である。通知先IDで示される通知先の装置は、1つ又は複数でも良い。また、通知先の装置は、サブスクライバでもよい。つまり、サブスクリプションを登録したサブスクライバが、イベントを通知(配信)先となってもよい。なお、説明の便宜のため、本実施の形態に係るイベントの通知先の装置は、サブスクリプションを登録したサブスクライバとする。そのため、本実施の形態に係るサブスクリプションは、通知先IDを、サブスクライバIDで代用しても良い。   The notification destination ID is information (identifier) indicating a device that notifies an event based on a registered subscription. One or a plurality of notification destination devices may be indicated by the notification destination ID. The notification destination device may be a subscriber. That is, the subscriber who registered the subscription may be the event notification (distribution) destination. For convenience of explanation, it is assumed that the event notification destination apparatus according to the present embodiment is a subscriber who has registered a subscription. Therefore, in the subscription according to the present embodiment, the notification destination ID may be substituted with the subscriber ID.

経由ノードIDは、サブスクリプションを中継したノードの識別子である。各ノードは、サブスクリプションを受け取った際に、送付元のノードの識別子を経由ノードIDに設定する。ただし、経由ノードIDは、サブスクリプションを送信するときに送信元のノードが設定してもよい。また、本実施の形態に係る経由ノードIDは、経由したノードの識別子をすべて含んでいても良く、所定の範囲又は数のノードの識別子を含んでも良く、直前のノードの識別子を含むようにしても良い。   The transit node ID is an identifier of the node that relayed the subscription. When each node receives the subscription, each node sets the identifier of the sender node as the transit node ID. However, the transit node ID may be set by the transmission source node when transmitting the subscription. Further, the transit node ID according to the present embodiment may include all the identifiers of the transited nodes, may include the identifiers of a predetermined range or number of nodes, or may include the identifier of the immediately preceding node. .

「pub/subネットワーク」とは、サブスクライバがサブスクリプションを登録し、パブリッシャがイベントを発信するネットワークである。また、pub/subネットワークを構成する装置は、イベントの通知を担当する情報通知ノードに、サブスクリプション及びイベントを転送する。さらに、pub/subネットワークは、情報通知ノードが作成するメッセージを転送する。なお、pub/subネットワークは、一般的なネットワークと同様に、情報を転送する装置の経路情報(ルーティングテーブル:routing table、経路表)を含み、ルーティングテーブルを用いて情報を転送する。つまり、pub/subネットワークを構成するノードは、ルーティングテーブルに基づき、所定の装置にサブスクリプション、イベント、及び、メッセージを転送する。   The “pub / sub network” is a network in which a subscriber registers a subscription and a publisher sends an event. In addition, the devices constituting the pub / sub network transfer the subscription and the event to the information notification node in charge of event notification. Further, the pub / sub network transfers a message created by the information notification node. Note that the pub / sub network includes the routing information (routing table) of the device to which information is transferred, and transfers information using the routing table, as in a general network. That is, the nodes constituting the pub / sub network transfer subscriptions, events, and messages to predetermined devices based on the routing table.

「ノード(node、節点)」とは、通信路を介して相互に接続してpub/subネットワークを構成する装置である。ノードは、ルーティングテーブルに基づき情報の転送先を探索する。ノードは、この探索に、いろいろな方式を使用しても良い。ただし、本実施の形態では、説明の便宜のため、分散ハッシュテーブル(DHT:Distributed Hash Table)を用いて説明する。そのため、各ノードは、DHTのために割り振られたキーとして識別子(ノードID)を備える。既に説明しているが、本実施の形態に係るノードIDは、イベントIDに相当するキーである。つまり、本実施の形態に係るノードIDは、イベントIDのハッシュ値として説明する。   A “node” is a device that forms a pub / sub network by connecting to each other via a communication path. The node searches for a transfer destination of information based on the routing table. The node may use various schemes for this search. However, in the present embodiment, for the convenience of explanation, description will be made using a distributed hash table (DHT). Therefore, each node includes an identifier (node ID) as a key allocated for DHT. As already described, the node ID according to the present embodiment is a key corresponding to the event ID. That is, the node ID according to the present embodiment will be described as a hash value of the event ID.

なお、本実施の形態に係るノードは、キーとしてのノードIDを、1つの値に限らず、複数の値を保持しても良い。ただし、本実施の形態では、説明の便宜のため、各ノードは、1つのノードID(キー)の値を持つとする。   Note that the node according to the present embodiment may hold not only one value but also a plurality of values as a node ID as a key. However, in this embodiment, it is assumed that each node has a value of one node ID (key) for convenience of explanation.

また、ノードは、既に説明した、情報の転送経路(例えば、転送先及び/又は転送元)を示す情報を保持するルーティングテーブルを含んでいる。なお、本実施の形態においてルーティングテーブルは、論理接続に基づくルーティンテーブルとして説明する。ただし、本実施の形態に係るノードは、物理的接続に基づくルーティングテーブルを含んでもよい。   Further, the node includes a routing table that holds the information indicating the information transfer path (for example, transfer destination and / or transfer source), which has already been described. In the present embodiment, the routing table will be described as a routine table based on logical connection. However, the node according to the present embodiment may include a routing table based on physical connection.

「情報通知ノード」は、サブスクリプション(受信登録)と情報(イベントを含む情報)とに基づき、情報(イベントを含む情報)を、サブスクリプションで指定された通知先(通知先ID)の装置に通知(notify、配信)するノードである。本発明の実施の形態に係るpub/subネットワークは、少なくとも一部に、情報通知ノードを含む。なお、情報通知ノードのように、サブスクリプション(受信登録)と情報(イベントを含む情報)とを用いて処理するノードをランデブーノード(rendezvous node、出会いノード)と称する。   The “information notification node” is configured to send information (information including an event) to a notification destination (notification destination ID) specified by the subscription based on the subscription (reception registration) and information (information including an event). It is a node to notify (deliver). The pub / sub network according to the embodiment of the present invention includes an information notification node at least partially. Note that a node that uses a subscription (reception registration) and information (information including an event) like an information notification node is referred to as a rendezvous node.

本実施の形態に係る情報通知ノードは、後ほど説明するとおり、負荷の状態に応じて、情報(イベントを含む情報)の通知を他の情報通知ノードに委譲する。また、情報通知ノードは、他の情報通知ノードから依頼を受けて情報の通知を代行する。このような情報の通知の委譲及び代行のため、本実施の形態に係る情報通知ノードは、メッセージを送受信する。   As described later, the information notification node according to the present embodiment delegates notification of information (information including an event) to another information notification node according to the state of the load. Further, the information notification node receives a request from another information notification node and performs notification of information. The information notification node according to the present embodiment transmits and receives messages for delegation and substitution of such information notification.

(第1の実施の形態)
続いて、本発明における第1の実施の形態に係る情報通知ノード10について図面を参照して説明する。
(First embodiment)
Next, the information notification node 10 according to the first exemplary embodiment of the present invention will be described with reference to the drawings.

まず、本実施の形態に係る情報通知ノード10の構成について説明する。   First, the configuration of the information notification node 10 according to the present embodiment will be described.

図1は、第1の実施の形態に係る情報通知ノード10の構成の一例を示すブロック図である。   FIG. 1 is a block diagram illustrating an example of the configuration of the information notification node 10 according to the first embodiment.

情報通知ノード10は、ネットワークを介し、図示しない情報配信システムを構成する他のノード、サブスクライバ(sub)、及び、パブリッシャ(pub)と情報(例えば、サブスクリプション、又は、イベント)を送受信する。   The information notification node 10 transmits / receives information (for example, a subscription or an event) to / from other nodes, subscribers (sub), and publishers (pub) that configure an information distribution system (not shown) via the network.

そのため、情報通知ノード10は、情報転送部110と、ルーティング部120と、ルーティングテーブル保持部130と、イベント制御部140と、サブスクリプションテーブル保持部150と、負荷分散制御部160と、負荷分散管理テーブル保持部170とを含む。   Therefore, the information notification node 10 includes an information transfer unit 110, a routing unit 120, a routing table holding unit 130, an event control unit 140, a subscription table holding unit 150, a load distribution control unit 160, and a load distribution management. Table holding unit 170.

情報転送部110は、ネットワークを介し、情報通知ノード10の各部と、ネットワークに接続した他の装置(他のノード、サブスクライバ、又は、パブリッシャ)との情報の送受信を中継する。   The information transfer unit 110 relays transmission / reception of information between each unit of the information notification node 10 and other devices (other nodes, subscribers, or publishers) connected to the network via the network.

ルーティング部120は、ルーティングテーブル保持部130が保持するルーティングテーブル131に基づき、情報の転送先を探索(ルックアップ、look-up)し、情報転送部110を介して情報を転送する。   The routing unit 120 searches for information transfer destinations (look-up) based on the routing table 131 held by the routing table holding unit 130, and transfers information via the information transfer unit 110.

ルーティングテーブル保持部130は、ルーティング部120が情報の転送先を探索するために用いるルーティングテーブル131を保持している。   The routing table holding unit 130 holds a routing table 131 used by the routing unit 120 to search for information transfer destinations.

なお、ルーティング部120及びルーティングテーブル保持部130は、一般的なネットワークを構成する装置が用いるルーティングプロトコル(routing protocol)に基づいてルーティングテーブル131を保持及び更新すればよく、ルーティングテーブル131に関する詳細な説明は省略する。また、ルーティングテーブル131において、ノード(装置)の通過の数をホップ(hop)数と称す。   Note that the routing unit 120 and the routing table holding unit 130 may hold and update the routing table 131 based on a routing protocol used by a device constituting a general network. Is omitted. In the routing table 131, the number of passing nodes (devices) is referred to as the hop number.

イベント制御部140は、受け取ったサブスクリプションに基づき、サブスクリプションテーブル保持部150が保持するサブスクリプションテーブル151を作成及び更新する。また、イベント制御部140は、サブスクリプションテーブル151に基づき、パブリッシャ又は他のノードから受け取ったイベントを、イベントの通知先(本実施の形態ではサブスクライバ)に通知する。イベント制御部140の動作の詳細については、後ほど説明する。なお、自ノードでサブスクリプションテーブル151に保持し、イベントの通知の処理の対象となるサブスクリプションを、「管理対象サブスクリプション」と称す。また、管理対象サブスクリプションの対象となるイベントを「管理対象イベント」と称す。さらに、管理対象イベントを通知する情報通知ノード10を「管理担当」の情報通知ノードと称す。つまり、管理担当の情報通知ノード10が、管理対象サブスクリプションをサブスクリプションテーブル151に保持して、管理対象イベントを通知することとなる。   The event control unit 140 creates and updates the subscription table 151 held by the subscription table holding unit 150 based on the received subscription. Further, the event control unit 140 notifies an event notification destination (subscriber in the present embodiment) of an event received from the publisher or another node based on the subscription table 151. Details of the operation of the event control unit 140 will be described later. Note that a subscription that is stored in the subscription table 151 in its own node and is a target of event notification processing is referred to as a “managed subscription”. Also, an event that is a target of a managed subscription is referred to as a “managed event”. Furthermore, the information notification node 10 that notifies the management target event is referred to as an “information manager” information management node. That is, the information notification node 10 in charge of management holds the managed subscription in the subscription table 151 and notifies the managed event.

サブスクリプションテーブル保持部150は、イベント制御部140が使用する管理対象サブスクリプションを含むサブスクリプションテーブル151を保持する。なお、本実施の形態に係るサブスクリプションテーブル151に保持される情報の組を、レコード(record)と称す。   The subscription table holding unit 150 holds a subscription table 151 including managed subscriptions used by the event control unit 140. A set of information stored in the subscription table 151 according to the present embodiment is referred to as a record.

負荷分散制御部160は、負荷分散管理テーブル保持部170が保持する負荷分散管理テーブル171を作成及び更新する。さらに、負荷分散制御部160は、負荷分散管理テーブル171に基づき、情報通知ノード10の負荷分散処理を制御する。負荷分散制御部160の詳細な動作についても、後ほど説明する。   The load distribution control unit 160 creates and updates the load distribution management table 171 held by the load distribution management table holding unit 170. Further, the load distribution control unit 160 controls the load distribution process of the information notification node 10 based on the load distribution management table 171. The detailed operation of the load distribution control unit 160 will also be described later.

負荷分散管理テーブル保持部170は、負荷分散制御部160が使用する負荷分散管理テーブル171を保持する。なお、負荷分散管理テーブル171に保持される組となった情報も、レコードと称す。   The load distribution management table holding unit 170 holds a load distribution management table 171 used by the load distribution control unit 160. Note that the information stored in the load distribution management table 171 is also referred to as a record.

次に、本実施の形態に係る情報通知ノード10を含む情報配信システム1の構成について説明する。   Next, the configuration of the information distribution system 1 including the information notification node 10 according to the present embodiment will be described.

図2は、情報通知ノード10を含む情報配信システム1の一例を示すブロック図である。   FIG. 2 is a block diagram illustrating an example of the information distribution system 1 including the information notification node 10.

情報配信システム1は、情報通知ノード10を含むpub/subネットワーク40と、サブスクライバ20と、パブリッシャ30とを含む。図2では、説明の便宜のため、サブスクライバ20とパブリッシャ30を1つとして示しているが、本実施の形態に係る情報配信システム1が含む、サブスクライバ20及びパブリッシャ30は1つに限らず、それぞれ2つ以上でも良い。   The information distribution system 1 includes a pub / sub network 40 including an information notification node 10, a subscriber 20, and a publisher 30. In FIG. 2, the subscriber 20 and the publisher 30 are shown as one for convenience of explanation, but the information distribution system 1 according to the present embodiment includes not only one subscriber 20 and the publisher 30, Two or more may be sufficient.

なお、以下の説明において、各ノードの経路上での位置関係を明確にする場合、ランデブーノードとなる情報通知ノードを「対象ノード」と称す。そして、対象ノードにサブスクリプションを転送するノード、つまり、ルーティングテーブル131において前に登録されている情報通知ノードを「前ノード」と称す。さらに、前ノードにサブスクリプションを転送するノード、つまり、ルーティングテーブル131において前ノードの前に登録されている情報通知ノードを「前々ノード」と称す。なお、本実施の形態に係る、「前」とは、1つ前に限られず、2つ以上前でもよい。ただし、図2では、記載の便宜のため、「前」を1つ前として示す。そのため、図2において、情報通知ノード10が対象ノード、情報通知ノード11が前ノード、情報通知ノード12が前々ノードとなる。   In the following description, in order to clarify the positional relationship of each node on the route, an information notification node serving as a rendezvous node is referred to as a “target node”. A node that forwards the subscription to the target node, that is, an information notification node that has been previously registered in the routing table 131 is referred to as a “previous node”. Further, a node that transfers a subscription to the previous node, that is, an information notification node registered before the previous node in the routing table 131 is referred to as a “previous node”. Note that “previous” according to the present embodiment is not limited to the previous one, and may be two or more previous. However, in FIG. 2, “Previous” is shown as one previous for convenience of description. Therefore, in FIG. 2, the information notification node 10 is the target node, the information notification node 11 is the previous node, and the information notification node 12 is the previous node.

情報通知ノード10は、ルーティングテーブル131に基づいて前ノードを探索する。ただし、情報通知ノード10は、「前ノード」を、サブスクリプションに含まれる経由ノードIDを用いて探索してもよい。   The information notification node 10 searches for the previous node based on the routing table 131. However, the information notification node 10 may search for the “previous node” using the transit node ID included in the subscription.

なお、本実施の形態に係る情報通知ノードは、同じ構成に限られないが、説明の便宜のため、以下の説明では、情報通知ノードは、同じ構成とする。そのため、各情報通知ノードの構成に付した番号は、図1の番号を参照する。また、情報通知ノードに共通する説明は、情報通知ノード10を用いて説明する。   Note that the information notification nodes according to the present embodiment are not limited to the same configuration, but for the convenience of description, in the following description, the information notification nodes have the same configuration. Therefore, the numbers given to the configuration of each information notification node refer to the numbers in FIG. The description common to the information notification node will be described using the information notification node 10.

図2において、サブスクライバ20が、サブスクリプションをpub/subネットワーク40を登録(subscribe)する。情報通知ノード10乃至情報通知ノード12は、サブスクリプションから求めたキーを、ルーティングテーブル131で探索し、求めたキーを備える情報通知ノード(例えば、図2に示す情報通知ノード10)に転送する。サブスクリプションを管理する情報通知ノード(例えば、図2に示す情報通知ノード10)は、受け取ったサブスクリプションをサブスクリプションテーブル151に保持する。なお、既に説明しているが、サブスクリプションの経由ノードIDは、転送の際に順次追加される。   In FIG. 2, a subscriber 20 subscribes to a pub / sub network 40 for a subscription. The information notification nodes 10 to 12 search for the key obtained from the subscription in the routing table 131 and transfer the key to the information notification node (for example, the information notification node 10 shown in FIG. 2) having the obtained key. The information notification node that manages the subscription (for example, the information notification node 10 shown in FIG. 2) holds the received subscription in the subscription table 151. As already described, the node ID of the subscription is sequentially added at the time of transfer.

次に、パブリッシャ30が、イベントをpub/subネットワーク40に入力(publish)する。イベントも、ルーティングテーブル131に基づき、情報通知ノード10に転送される。   Next, the publisher 30 inputs (publishes) the event to the pub / sub network 40. The event is also transferred to the information notification node 10 based on the routing table 131.

イベントを受け取った情報通知ノード10は、サブスクリプションで指定されている通知先(本実施の形態ではサブスクライバ20)に、イベントを通知(notify)する。   The information notification node 10 that has received the event notifies the notification destination (subscriber 20 in the present embodiment) specified by the subscription (notify) of the event.

さらに、情報通知ノード10は、必要に応じ、前ノードである情報通知ノード11にイベントの通知の代行の依頼のメッセージを送信する。   Furthermore, the information notification node 10 transmits a message for requesting proxy for event notification to the information notification node 11 which is the previous node as necessary.

通知の代行の依頼のメッセージを受けた情報通知ノード11は、イベントを通知先(サブスクライバ)に通知する。さらに、必要に応じ、情報通知ノード11は、前々ノードである情報通知ノード12にイベントの通知の代行の依頼のメッセージを送信する。   The information notification node 11 that has received the notification request message notification notifies the notification destination (subscriber) of the event. Furthermore, if necessary, the information notification node 11 transmits a message for requesting proxy for event notification to the information notification node 12 which is the previous node.

次に情報通知ノード10の動作に詳細ついて図面を参照して説明する。   Next, details of the operation of the information notification node 10 will be described with reference to the drawings.

まず、情報通知ノード10のサブスクリプションを受け取ったときの動作について説明する。   First, the operation when the subscription of the information notification node 10 is received will be described.

図3は、情報通知ノード10がサブスクリプションを受けた場合の動作の一例を示すフロー図である。   FIG. 3 is a flowchart showing an example of an operation when the information notification node 10 receives a subscription.

サブスクライバ20又は他のノードからサブスクリプションを受け取った情報通知ノード10の情報転送部110は、サブスクリプションをルーティング部120に送る(ステップ1001)。   The information transfer unit 110 of the information notification node 10 that has received the subscription from the subscriber 20 or another node sends the subscription to the routing unit 120 (step 1001).

サブスクリプションを受け取ったルーティング部120は、サブスクリプションの経由ノードIDに送信元の情報通知ノードの識別子(ID)を設定後、サブスクリプションを負荷分散制御部160に送る。サブスクリプションを受け取った負荷分散制御部160は、サブスクリプションに基づき、負荷分散管理テーブル保持部170が保持する負荷分散管理テーブル171を更新する(ステップ1002)。   The routing unit 120 that has received the subscription sets the identifier (ID) of the transmission source information notification node in the transit node ID of the subscription, and then sends the subscription to the load distribution control unit 160. The load distribution control unit 160 that has received the subscription updates the load distribution management table 171 held by the load distribution management table holding unit 170 based on the subscription (step 1002).

なお、負荷分散制御部160にサブスクリプションを送るのはルーティング部120に限られず、情報転送部110が、負荷分散管理制御部160に送っても良い。   Note that sending a subscription to the load distribution control unit 160 is not limited to the routing unit 120, and the information transfer unit 110 may send the subscription to the load distribution management control unit 160.

サブスクリプションを負荷分散制御部160に送付後、ルーティング部120は、サブスクリプションが含むサブスクリプション条件に基づき、受け取ったサブスクリプションが管理対象サブスクリプションか否かを判定する(ステップ1003)。   After sending the subscription to the load balancing control unit 160, the routing unit 120 determines whether or not the received subscription is a managed subscription based on the subscription conditions included in the subscription (step 1003).

自ノードの管理対象サブスクリプションでない場合(ステップ1003でno)、ルーティング部120は、ルーティングテーブル131に基づき、情報転送部110を介して、次のノードにサブスクリプションを転送する(ステップ1004)。   When the subscription is not the management target subscription of the own node (No in Step 1003), the routing unit 120 transfers the subscription to the next node via the information transfer unit 110 based on the routing table 131 (Step 1004).

自ノードの管理対象サブスクリプションの場合(ステップ1003でyes)、ルーティング部120は、サブスクリプションをイベント制御部140に送る。サブスクリプションを受け取ったイベント制御部140は、受け取ったサブスクリプションを、サブスクリプションテーブル保持部150が保持するサブスクリプションテーブル151に追加する(ステップ1005)。この追加として、イベント制御部140は、サブスクリプションテーブル151の一部の情報を更新してもよい。なお、情報通知ノード10は、自ノードの管理対象サブスクリプションに対し、ランデブーノードとなる。   In the case of a managed subscription of the own node (yes in step 1003), the routing unit 120 sends the subscription to the event control unit 140. Upon receiving the subscription, the event control unit 140 adds the received subscription to the subscription table 151 held by the subscription table holding unit 150 (step 1005). As this addition, the event control unit 140 may update some information in the subscription table 151. Note that the information notification node 10 becomes a rendezvous node for the managed subscription of the own node.

次のノードにサブスクリプションを転送する、又は、サブスクリプションをサブスクリプションテーブル151に登録し、情報通知ノード10は、サブスクリプションを受けた場合の動作を終了する。   The subscription is transferred to the next node or the subscription is registered in the subscription table 151, and the information notification node 10 ends the operation when receiving the subscription.

次に、pub/subネットワーク40におけるサブスクリプションの転送について図面を参照して説明する。   Next, subscription transfer in the pub / sub network 40 will be described with reference to the drawings.

図4は、pub/subネットワーク40におけるサブスクリプションの転送の一例を示す図である。   FIG. 4 is a diagram showing an example of subscription transfer in the pub / sub network 40.

まず、図4の構成について説明する。   First, the configuration of FIG. 4 will be described.

図4において、大円は、ルーティングテーブル131で示す情報の転送経路である。なお、図4に示す経路における転送方向は、時計回りとする。そのため、サブスクリプションは、時計回りに転送されている。   In FIG. 4, a great circle is a transfer route of information indicated by the routing table 131. Note that the transfer direction in the route shown in FIG. 4 is clockwise. Therefore, the subscription is transferred clockwise.

情報通知ノードは、小円で示している。小円の中の数値が、分散ハッシュテーブル(DHT)のキーでもある各情報通知ノードのノードIDである。   The information notification node is indicated by a small circle. The numerical value in the small circle is the node ID of each information notification node that is also a key of the distributed hash table (DHT).

なお、本実施の形態に係る情報通知ノードは、図4のどのノードの位置でもよいが、本実施の形態に係る説明では、ID=1000の情報通知ノード10を用いて説明する。   Note that the information notification node according to the present embodiment may be at any node position in FIG. 4, but in the description according to the present embodiment, the information notification node 10 having ID = 1000 will be described.

なお、本実施の形態に係る情報通知ノード10は、前ノードが1つとは限らない。そこで、図4は、一例として、情報通知ノード10の前ノードが2つの場合を示している。ID=0111の情報通知ノード11が、第1の前ノードであり、ID=0110の情報通知ノード13が、第2の前ノードである。また、ID=0101の情報通知ノード12は、情報通知ノード11の前ノードである。情報通知ノード11は情報通知ノード10の前ノードのため、情報通知ノード12は、情報通知ノード10に対する前々ノードである。   Note that the information notification node 10 according to the present embodiment does not necessarily have one previous node. Therefore, FIG. 4 shows a case where there are two previous nodes of the information notification node 10 as an example. The information notification node 11 with ID = 0111 is the first previous node, and the information notification node 13 with ID = 0110 is the second previous node. The information notification node 12 with ID = 0101 is a previous node of the information notification node 11. Since the information notification node 11 is a previous node of the information notification node 10, the information notification node 12 is a node before the information notification node 10.

さらに、図4において、6つのサブスクライバ(sub20a−sub20f)が、サブスクリプションを登録している。図4では、サブスクリプションの登録を、各サブスクライバ(sub)からの矢印で示している。説明の便宜のため、6つのサブスクリプションは、すべて、情報通知ノード10(ID=1000)の管理対象サブスクリプションとする。   Further, in FIG. 4, six subscribers (sub20a-sub20f) have registered subscriptions. In FIG. 4, subscription registration is indicated by arrows from each subscriber (sub). For convenience of explanation, all six subscriptions are managed subscriptions of the information notification node 10 (ID = 1000).

続いて、図4における情報通知ノードのサブスクリプションの転送の動作について説明する。   Next, the subscription transfer operation of the information notification node in FIG. 4 will be described.

サブスクライバ20aからサブスクリプションを受け取った情報通知ノード15(ID=0001)は、自ノードで保持するルーティングテーブル131に基づき、サブスクリプションを転送する。ただし、情報通知ノード15は、サブスクリプションの転送先である情報通知ノード10(ID=1000)に直接サブスクリプションを転送できない。そのため、情報通知ノード15は、まず、情報通知ノード12(ID=0101)にサブスクリプションを転送する。   The information notification node 15 (ID = 0001) that has received the subscription from the subscriber 20a transfers the subscription based on the routing table 131 held in the own node. However, the information notification node 15 cannot directly transfer the subscription to the information notification node 10 (ID = 1000) that is the transfer destination of the subscription. Therefore, the information notification node 15 first transfers the subscription to the information notification node 12 (ID = 0101).

情報通知ノード15及びサブスクライバ20cからサブスクリプションを受け取った情報通知ノード12は、情報通知ノード10にサブスクリプションを直接転送できないため、情報通知ノード11(ID=0111)に2つのサブスクリプションを転送する。   The information notification node 12 that has received the subscription from the information notification node 15 and the subscriber 20c cannot transfer the subscription directly to the information notification node 10, and therefore transfers two subscriptions to the information notification node 11 (ID = 0111).

情報通知ノード12及びサブスクライバ20eからサブスクリプションを受け取った情報通知ノード11は、情報通知ノード10に3つのサブスクリプションを転送する。   The information notification node 11 that has received subscriptions from the information notification node 12 and the subscriber 20 e transfers three subscriptions to the information notification node 10.

同様に、サブスクライバ20bからサブスクリプションを受け取った情報通知ノード14(ID=0010)は、情報通知ノード10にサブスクリプションを直接転送できないため、情報通知ノード13(ID=0110)にサブスクリプションを転送する。   Similarly, the information notification node 14 (ID = 0010) that received the subscription from the subscriber 20b cannot directly transfer the subscription to the information notification node 10, and therefore transfers the subscription to the information notification node 13 (ID = 0110). .

情報通知ノード14及びサブスクライバ20dからサブスクリプションを受け取った情報通知ノード13は、2つのサブスクリプションを情報通知ノード10に転送する。   The information notification node 13 that has received subscriptions from the information notification node 14 and the subscriber 20 d transfers the two subscriptions to the information notification node 10.

サブスクライバ20f、情報通知ノード13、及び、情報通知ノード11からサブスクリプションを受け取った情報通知ノード10は、受け取ったサブスクリプションが自ノードの管理対象サブスクリプションのため、サブスクリプションを転送しない。   The information notification node 10 that has received a subscription from the subscriber 20f, the information notification node 13, and the information notification node 11 does not transfer the subscription because the received subscription is a managed subscription of the own node.

管理対象サブスクリプションを受け取った管理担当の情報通知ノード10は、図3を用いて説明した動作に基づき、負荷分散管理テーブル171及びサブスクリプションテーブル151を更新する。   The information notification node 10 in charge of management who has received the managed subscription updates the load distribution management table 171 and the subscription table 151 based on the operation described with reference to FIG.

このように、本実施の形態に係る情報通知ノード10を含むpub/subネットワーク40は、サブスクリプションの管理担当である情報通知ノード10にサブスクリプションを転送する。   In this way, the pub / sub network 40 including the information notification node 10 according to the present embodiment transfers the subscription to the information notification node 10 that is in charge of managing the subscription.

次に、図4を用いて説明したサブスクリプションを登録後の情報通知ノード10が含むテーブルについて説明する。なお、既に説明したとおり、ルーティングテーブル131についての説明は、省略する。   Next, a table included in the information notification node 10 after registering the subscription described with reference to FIG. 4 will be described. As already described, description of the routing table 131 is omitted.

まず、負荷分散管理テーブル171について図面を参照して説明する。   First, the load distribution management table 171 will be described with reference to the drawings.

図5は、図4を用いて説明したサブスクリプションの転送動作に基づいて、情報通知ノード10が作成又は更新した負荷分散管理テーブル171の一例を示す図である。   FIG. 5 is a diagram illustrating an example of the load distribution management table 171 created or updated by the information notification node 10 based on the subscription transfer operation described with reference to FIG.

本実施の形態に係る負荷分散管理テーブル171は、サブスクリプション条件172と、前ノードID173と、通知先ID174と、負荷担当175と、前ノード転送176とを含む。なお、図5では、各行がレコードとなっている。   The load distribution management table 171 according to the present embodiment includes a subscription condition 172, a previous node ID 173, a notification destination ID 174, a load person 175, and a previous node transfer 176. In FIG. 5, each row is a record.

サブスクリプション条件172は、サブスクリプションが含むサブスクリプション条件を保持する。つまり、サブスクリプション条件172は、サブスクリプションに基づきイベントの通知を担当する管理担当の情報通知ノード及びイベントの条件に関する情報を含む。例えば、図5の1行目(1つ目)のレコードは、ID=1000の情報通知ノード(図4では情報通知ノード10)が管理担当の情報通知ノードであり、通知するイベントは「事故」であることを示している。   The subscription condition 172 holds the subscription condition included in the subscription. That is, the subscription condition 172 includes an information notification node of a manager in charge of event notification based on the subscription and information on the event condition. For example, in the record on the first line (first) in FIG. 5, the information notification node with ID = 1000 (information notification node 10 in FIG. 4) is the information notification node in charge of management, and the event to be notified is “accident”. It is shown that.

前ノードID173は、サブスクリプションを送ってきたノード、つまり、前ノードの情報を保持する。なお、前ノードを示す方式は、いろいろな方式を使用してよいが、本実施の形態では、一例として、ノードIDを用いる。例えば、図5の1行目のレコードは、ID=0111の情報通知ノード(図4では、情報通知ノード11)からサブスクリプションを受け取ったことを示している。ただし、情報通知ノード10がサブスクライバ20からサブスクリプションを受け取った場合、前ノードID173は、空白(図5の3行目のレコードの「−」)となる。また、既に説明したとおり、前ノードID173は、サブスクリプションの経由ノードIDに基づいて設定してもよい。   The previous node ID 173 holds information of the node that has sent the subscription, that is, the previous node. Note that various methods may be used as the method of indicating the previous node, but in this embodiment, a node ID is used as an example. For example, the record in the first row in FIG. 5 indicates that a subscription has been received from the information notification node with ID = 0111 (information notification node 11 in FIG. 4). However, when the information notification node 10 receives a subscription from the subscriber 20, the previous node ID 173 is blank ("-" in the record on the third line in FIG. 5). Further, as already described, the previous node ID 173 may be set based on the subscription node ID of the subscription.

通知先ID174とは、サブスクリプションに基づき指定されたイベントの通知先(本実施の形態ではサブスクライバ20)を示す情報である。なお、図5に示すレコードは、前ノードID173でまとめているため、通知先ID174は、複数の通知先を含む場合もある。例えば、図5の1行目のレコードは、通知先がsub20a、sub20c、及び、sub20eであることを示している。ただし、本実施の形態に係る情報通知ノード10は、これに限られず、通知先ごとのレコードとしてもよい。   The notification destination ID 174 is information indicating a notification destination (subscriber 20 in the present embodiment) of an event designated based on the subscription. Since the records shown in FIG. 5 are collected by the previous node ID 173, the notification destination ID 174 may include a plurality of notification destinations. For example, the record on the first line in FIG. 5 indicates that the notification destinations are sub20a, sub20c, and sub20e. However, the information notification node 10 according to the present embodiment is not limited to this, and may be a record for each notification destination.

負荷担当175は、自ノードでイベントを通知するか否かを示している。負荷担当175は、自ノードで通知する場合を「T」、通知しない場合を「F」として示す。   The load charge 175 indicates whether or not to notify the event in its own node. The load charge 175 indicates “T” when notifying by the own node, and “F” when not informing.

前ノード転送176は、後ほど詳細に説明する負荷分散のために前ノードに処理を委譲(通知の代行を依頼)しているか否かを示している。前ノード転送176が「T」の場合、情報通知ノード10は、処理を委譲している。「F」の場合、情報通知ノード10は、処理を委譲していない。   The previous node transfer 176 indicates whether or not processing is delegated to the previous node (request for notification) for load distribution which will be described in detail later. When the previous node transfer 176 is “T”, the information notification node 10 delegates the process. In the case of “F”, the information notification node 10 has not delegated the process.

図5に示す負荷担当175及び前ノード転送176は、初期状態として、すべてを解除した状態となっている。   The load manager 175 and the previous node transfer 176 shown in FIG. 5 are all released as an initial state.

なお、図5に示す負荷分散管理テーブル171は、図4を用いて説明した動作に基づいて、情報通知ノード10が受け取った6個のサブスクリプションを、前ノードID173に基づいて、3個のレコードにまとめて保持した例を示している。   Note that the load distribution management table 171 illustrated in FIG. 5 includes the six subscriptions received by the information notification node 10 based on the operation described with reference to FIG. Shows an example held together.

図6は、図4を用いて説明したサブスクリプションの転送動作に基づいて、情報通知ノード11が作成又は更新した負荷分散管理テーブル171の一例を示す図である。   FIG. 6 is a diagram illustrating an example of the load distribution management table 171 created or updated by the information notification node 11 based on the subscription transfer operation described with reference to FIG.

各項目は、図5と同様のため、詳細な説明は、省略する。   Since each item is the same as that in FIG. 5, detailed description thereof is omitted.

情報通知ノード11は、2つのサブスクリプションを受け取ったため、負荷分散管理テーブル171も2つのレコードを保持している。   Since the information notification node 11 has received two subscriptions, the load distribution management table 171 also holds two records.

なお、図6に示す負荷担当175及び前ノード転送176は、初期状態として、すべてを解除した状態となっている。   It should be noted that the load manager 175 and the previous node transfer 176 shown in FIG. 6 are all released as an initial state.

図7は、本実施の形態に係るサブスクリプションテーブル151の一例を示す図である。   FIG. 7 is a diagram showing an example of the subscription table 151 according to the present embodiment.

本実施の形態に係る情報通知ノード10のサブスクリプションテーブル151は、サブスクリプション条件152と、通知先ID153と、負荷委譲済154とを含む。なお、図7では、各行がレコードとなっている。   The subscription table 151 of the information notification node 10 according to the present embodiment includes a subscription condition 152, a notification destination ID 153, and a load delegation 154. In FIG. 7, each line is a record.

サブスクリプション条件152は、サブスクリプションが含むサブスクリプション条件を保持する。つまり、サブスクリプション条件152は、サブスクリプションに基づき、イベントを通知する管理担当の情報通知ノードのノードIDとイベントとの条件を含む。なお、本実施の形態の情報通知ノード10は、管理対象サブスクリプションをサブスクリプションテーブル151に保持する。つまり、情報通知ノード10は、自ノードが通知するサブスクリプションをサブスクリプションテーブル151に保持する。そのため、サブスクリプション条件152のイベントを通知するノードIDは、自ノードのIDである。   The subscription condition 152 holds the subscription condition included in the subscription. That is, the subscription condition 152 includes a condition of the node ID of the information notifying node in charge of management who notifies the event and the event based on the subscription. Note that the information notification node 10 according to the present embodiment holds the managed subscription in the subscription table 151. That is, the information notification node 10 holds the subscription notified by the own node in the subscription table 151. Therefore, the node ID that notifies the event of the subscription condition 152 is the ID of the own node.

通知先ID153は、イベントの通知先の装置を示す識別子(ID)である。既に説明したとおり、本実施の形態では、サブスクライバ20と通知先は同じとして説明するため、通知先ID153は、サブスクリプションを登録したサブスクライバIDとなる。なお、本実施の形態に係るサブスクリプションテーブル151は、同じサブスクリプション条件152を備えたレコードをまとめている。そのため、図7に示す通知先ID153は、複数の通知先(サブスクライブ)を保持している。ただし、本実施の形態に係る情報通知ノード10は、これに限られず、通知先ごとのレコードとしてもよい。   The notification destination ID 153 is an identifier (ID) indicating an event notification destination device. As already described, in this embodiment, since the subscriber 20 and the notification destination are described as being the same, the notification destination ID 153 is the subscriber ID that has registered the subscription. Note that the subscription table 151 according to the present embodiment collects records having the same subscription condition 152. Therefore, the notification destination ID 153 shown in FIG. 7 holds a plurality of notification destinations (subscribes). However, the information notification node 10 according to the present embodiment is not limited to this, and may be a record for each notification destination.

なお、図7の1行目のレコードが、図4を用いて説明したサブスクリプションに相当するレコードであり、通知先とし、sub20a乃至sub20fを保持している。   Note that the record in the first row in FIG. 7 is a record corresponding to the subscription described with reference to FIG. 4 and holds sub20a to sub20f as notification destinations.

負荷委譲済154は、サブスクリプションで指定された管理対象イベントの通知を、別のノードに依頼済か否かを示す情報である。図7において「T」は依頼済、「F」は未依頼つまり自ノードで通知することを示す。   The load delegation 154 is information indicating whether or not another node has been requested to notify the management target event specified by the subscription. In FIG. 7, “T” indicates requested, and “F” indicates unrequested, that is, notification by the own node.

(情報通知ノードでの負荷分散の設定)
次に情報通知ノード10における負荷分散の設定動作について図面を参照して説明する。
(Load distribution setting in the information notification node)
Next, the load distribution setting operation in the information notification node 10 will be described with reference to the drawings.

まず、イベント制御部140における負荷分散の設定動作について図面を参照して説明する。   First, the load balancing setting operation in the event control unit 140 will be described with reference to the drawings.

図8は、イベント制御部140の負荷分散の設定動作の一例を示すフロー図である。   FIG. 8 is a flowchart showing an example of load distribution setting operation of the event control unit 140.

イベント制御部140は、所定のタイミングで(例えば、定期的、又は、サブスクリプションを受信後)、サブスクリプションテーブル151の各レコードに基づいて次の示す動作を開始する(ステップ2001)。   The event control unit 140 starts the following operation based on each record of the subscription table 151 at a predetermined timing (for example, periodically or after receiving a subscription) (step 2001).

イベント制御部140は、各レコードのイベントの通知の負荷が自ノードに対して大きいか否かを判定する(ステップ2002)。イベント制御部140は、いろいろな条件に基づいて判定できる。例えば、イベント制御部140は、判定の条件として、サブスクリプションテーブル151のレコードに登録されている通知先の数、サブスクリプション又はサブスクリプションに対するイベントの発生頻度、自ノードのCPU(central process unit)の処理状態又は通信回線の負荷状態、通知先までの距離(ホップ数)、若しくは、自ノードのメモリの使用量、又は、これらの予想値を用いることができる。なお、本実施の形態では、一例として、サブスクリプションテーブル151に登録されている通知先の数を条件とした場合について説明する。そのため、イベント制御部140は、サブスクリプションテーブル151のレコードに登録されている通知先の数(本実施の形態では、サブスクライブの数)を所定の閾値と比較する。例えば、図7の1行目で示すレコードの通知先の数は、「6」である。そのため、閾値が「6」未満の値の場合、通知先の数は、閾値を超え、負荷が大きい(ステップ2002でyes)と判定される。反対に、閾値が「6」以上の値の場合、通知先の数は、閾値を超えず、負荷が大きくない(ステップ2002でno)と判定される。   The event control unit 140 determines whether or not the event notification load of each record is greater than that of its own node (step 2002). The event control unit 140 can make a determination based on various conditions. For example, as a determination condition, the event control unit 140 determines the number of notification destinations registered in the record of the subscription table 151, the frequency of occurrence of an event for the subscription or the subscription, the CPU (central process unit) of the own node. The processing state or the load state of the communication line, the distance (number of hops) to the notification destination, the memory usage of the own node, or the predicted values thereof can be used. In this embodiment, as an example, a case where the number of notification destinations registered in the subscription table 151 is used as a condition will be described. Therefore, the event control unit 140 compares the number of notification destinations registered in the record of the subscription table 151 (in this embodiment, the number of subscriptions) with a predetermined threshold value. For example, the number of notification destinations of the record shown in the first line in FIG. 7 is “6”. Therefore, when the threshold value is less than “6”, the number of notification destinations exceeds the threshold value, and it is determined that the load is large (yes in step 2002). On the other hand, when the threshold value is “6” or more, the number of notification destinations does not exceed the threshold value, and it is determined that the load is not large (No in step 2002).

負荷が大きくない場合(ステップ2002でno)、負荷分散は、必要ない。そのため、イベント制御部140は、自ノードでの処理、つまり、サブスクリプションテーブル151の負荷委譲済154を委譲しない(F)に設定する(ステップ2006)。   When the load is not large (No in Step 2002), load distribution is not necessary. Therefore, the event control unit 140 sets the processing in the own node, that is, the load delegation 154 of the subscription table 151 to not delegation (F) (step 2006).

負荷が大きい場合(ステップ2002でyes)、負荷分散は、必要である。   If the load is heavy (yes in step 2002), load balancing is necessary.

そこで、イベント制御部140は、前ノードに、閾値を越えたレコードの負荷の分担を依頼するため、サブスクリプション条件152を含む負荷の分担の依頼を負荷分散制御部160に送付する(ステップ2003)。   Therefore, the event control unit 140 sends a load sharing request including the subscription condition 152 to the load distribution control unit 160 in order to request the previous node to share the load of the record exceeding the threshold (step 2003). .

その後、イベント制御部140は、負荷分散制御部160の処理の終了を待つ(ステップ2004)。   Thereafter, the event control unit 140 waits for the end of the processing of the load distribution control unit 160 (step 2004).

負荷分散制御部160の処理が終了すると、イベント制御部140は、サブスクリプションテーブル151の負荷委譲済154を委譲済み(T)に設定する。   When the processing of the load distribution control unit 160 ends, the event control unit 140 sets the load delegation 154 of the subscription table 151 to delegation (T).

例えば、図7の1行目のレコードは、負荷を委譲済みであり、2行目のレコードは委譲していないことを示す。   For example, the record in the first line in FIG. 7 indicates that the load has been delegated and the record in the second line has not been delegated.

このような動作に基づき、イベント制御部140は、負荷分散を設定する。   Based on such an operation, the event control unit 140 sets load distribution.

次に、負荷分散制御部160の負荷分散の設定動作について図面を参照して説明する。   Next, the load distribution setting operation of the load distribution control unit 160 will be described with reference to the drawings.

図9は、負荷分散制御部160の負荷分散の設定動作の一例を示すフロー図である。   FIG. 9 is a flowchart showing an example of the load distribution setting operation of the load distribution control unit 160.

負荷分散制御部160は、イベント制御部140から負荷分散の設定の依頼を受け取り、処理を開始する(ステップ2101)。   The load distribution control unit 160 receives a load distribution setting request from the event control unit 140 and starts processing (step 2101).

負荷分散制御部160は、イベント制御部140の依頼に含まれるサブスクリプション条件に一致する負荷分散管理テーブル171の各レコードについて以下の動作を繰り返す(ステップ2102)。   The load distribution control unit 160 repeats the following operation for each record in the load distribution management table 171 that matches the subscription condition included in the request of the event control unit 140 (step 2102).

まず、負荷分散制御部160は、所定の条件に基づき、各レコードの処理を前ノードに依頼(委譲)するか否かを判定する(ステップ2103)。この判定に用いる所定の条件とは、負荷分散制御部160が、委譲するイベントの範囲又は委譲しないイベントの範囲を決めるための条件である。例えば、負荷分散制御部160は、予め通知先数の閾値を保持しておき、閾値を越える数の通知を委譲するように判定してもよく、サブスクリプション条件が一致するレコードの通知のすべてを委譲しても良い。ただし、サブスクライバから直接受け取ったサブスクリプションは前ノードがない。そのため、サブスクライバから直接受け取ったサブスクリプションの場合、負荷分散制御部160は、自ノードで通知すると判定する。   First, the load distribution control unit 160 determines whether or not to request (delegate) processing of each record to the previous node based on a predetermined condition (step 2103). The predetermined condition used for this determination is a condition for the load distribution control unit 160 to determine the range of events to be delegated or the range of events not to be delegated. For example, the load distribution control unit 160 may hold a threshold value of the number of notification destinations in advance and determine to delegate the number of notifications exceeding the threshold value. You may delegate. However, the subscription received directly from the subscriber has no previous node. For this reason, in the case of a subscription received directly from a subscriber, the load distribution control unit 160 determines to notify the local node.

判定の結果、委譲しない場合(ステップ2103でno)、負荷分散制御部160は、負荷分散管理テーブル171の負荷担当175を自ノードに設定する(ステップ2106)。具体的には、負荷分散制御部160は、負荷分散管理テーブル171の負荷担当175を「T」、前ノード担当を「F」に設定する。   As a result of the determination, when delegation is not performed (No in Step 2103), the load distribution control unit 160 sets the load manager 175 of the load distribution management table 171 to the own node (Step 2106). Specifically, the load distribution control unit 160 sets the load manager 175 of the load distribution management table 171 to “T” and the previous node manager to “F”.

通知を委譲する場合(ステップ2103でyes)、負荷分散制御部160は、通知の委譲を依頼する代行依頼メッセージ201を作成して、前ノードID173が保持している前ノードに送付する(ステップ2104)。なお、代行依頼メッセージ201は、いろいろな形式を採用することができるが、本実施の形態の代行依頼メッセージ201は、一例として、委譲するレコードのサブスクリプション条件172と、通知先ID174とを含むとする。   When delegating a notification (yes in step 2103), the load distribution control unit 160 creates a proxy request message 201 for requesting delegation of notification and sends it to the previous node held by the previous node ID 173 (step 2104). ). The proxy request message 201 can adopt various formats. For example, the proxy request message 201 includes a subscription condition 172 of a record to be delegated and a notification destination ID 174. To do.

代行依頼メッセージ201を送付後、負荷分散制御部160は、負荷分散管理テーブル171の前ノード転送176に「T」、負荷担当175に「F」を設定する(ステップ2105)。ただし、レコードの一部を委譲する場合、負荷分散制御部160は、対象のレコードを委譲するレコードと委譲しないレコードとに分け、委譲しないレコードはステップ2106と同様に自ノード担当に設定し、委譲するレコードはステップ2105の同様に設定する。   After sending the proxy request message 201, the load distribution control unit 160 sets “T” in the previous node transfer 176 and “F” in the load manager 175 of the load distribution management table 171 (step 2105). However, when a part of the record is delegated, the load distribution control unit 160 divides the target record into a record to be delegated and a record that is not delegated. The record to be set is set in the same manner as in step 2105.

負荷分散制御部160は、依頼されたサブスクリプションの条件に一致する全てのレコードに対して、ここまで説明した動作を繰り返す。   The load distribution control unit 160 repeats the operations described so far for all records that match the requested subscription condition.

処理の対象となる全てのレコードの処理が終了すると、負荷分散制御部160は、処理の終了をイベント制御部140に通知する(ステップ2107)。   When the processing of all the records to be processed is completed, the load distribution control unit 160 notifies the event control unit 140 of the end of the processing (step 2107).

図10は、図9を用いて説明した動作の終了後の負荷分散管理テーブル171の一例を示す図である。図10に示す負荷分散管理テーブル171は、図5に示す負荷分散管理テーブル171の1行目のレコードを閾値に基づいて一部を委譲し、2行目のレコードをすべて委譲した場合についての一例である。一部を委譲するため、図5の1行目のレコードは、図10において、自ノードで通知する1行目のレコードと委譲する2行目のレコードとに分かれている。そして、図10に示す負荷分散管理テーブル171において1行目のレコードの通知先(sub20a)及び自ノードがサブスクリプションを受け取った4行目の通知先(sub20f)は、自ノードで通知するため、負荷担当175が「T」、前ノード転送176が「F」となっている。また、2行目と3行目のレコードの通知先(sub2b−sub2e)は代行依頼メッセージ201を送付し委譲済みのため、負荷担当175は、「F」、前ノード転送176は、「T」となっている。   FIG. 10 is a diagram illustrating an example of the load distribution management table 171 after the operation described with reference to FIG. The load distribution management table 171 shown in FIG. 10 is an example of a case where a part of the records in the first line of the load distribution management table 171 shown in FIG. 5 is delegated based on a threshold value and all the records in the second line are delegated. It is. In order to delegate a part, the record on the first line in FIG. 5 is divided into a record on the first line notified by the own node and a record on the second line to be delegated in FIG. In the load distribution management table 171 shown in FIG. 10, the notification destination (sub20a) of the record on the first row and the notification destination (sub20f) on the fourth row where the own node has received the subscription are notified by the own node. The load manager 175 is “T” and the previous node transfer 176 is “F”. Further, since the notification destinations (sub2b-sub2e) of the records in the second and third rows have already been delegated by sending the proxy request message 201, the load manager 175 is “F”, and the previous node transfer 176 is “T”. It has become.

(前ノードでの負荷委譲の設定)
次に、代行依頼メッセージ201を受けた前ノード(例えば、情報通知ノード11)の動作について図面を参照して説明する。なお、この動作は、本実施の形態に係る情報通知ノードで同様に動作するが、ここでは、情報通知ノード11を用いて説明する。
(Load delegation setting on the previous node)
Next, the operation of the previous node (for example, the information notification node 11) that has received the proxy request message 201 will be described with reference to the drawings. This operation is performed in the same manner in the information notification node according to the present embodiment, but will be described using the information notification node 11 here.

図11は、代行依頼メッセージ201を受信した情報通知ノード11の動作の一例を示すフロー図である。   FIG. 11 is a flowchart showing an example of the operation of the information notification node 11 that has received the proxy request message 201.

代行依頼メッセージ201を受信した情報通知ノード11の情報転送部110は、代行依頼メッセージ201を負荷分散制御部160に送る(ステップ3001)。   The information transfer unit 110 of the information notification node 11 that has received the proxy request message 201 sends the proxy request message 201 to the load distribution control unit 160 (step 3001).

代行依頼メッセージ201を受け取った負荷分散制御部160は、代行依頼メッセージ201に含まれるサブスクリプション条件と負荷分散管理テーブル171のサブスクリプション条件とを比較し、一致したレコードに関して次に示す動作を繰り返す(ステップ3002)。   Upon receiving the proxy request message 201, the load distribution control unit 160 compares the subscription condition included in the proxy request message 201 with the subscription condition of the load distribution management table 171 and repeats the following operation for the matched records ( Step 3002).

負荷分散制御部160は、自ノードで代行依頼メッセージ201の委譲を受けて通知を担当するか、さらに前のノードに委譲するかを判定する(ステップ3003)。この判定として、負荷分散制御部160は、例えば、図9を用いて説明したステップ2103と同様に判定すればよい。   The load distribution control unit 160 determines whether the proxy request message 201 is delegated at its own node and takes charge of notification, or further delegates to the previous node (step 3003). As this determination, the load distribution control unit 160 may determine, for example, in the same manner as in Step 2103 described with reference to FIG.

負荷を前のノードに委譲する場合(ステップ3003でyes)、負荷分散制御部160は、さらに前のノード(前々ノード)に代行依頼メッセージ201を送信する(ステップ3004)。   When delegating the load to the previous node (yes in step 3003), the load distribution control unit 160 transmits the proxy request message 201 to the further previous node (previous node) (step 3004).

さらに、負荷分散制御部160は、負荷分散管理テーブル171の対応するレコードの前ノード転送176を「T」、負荷担当175を「F」に設定する(ステップ3005)。   Further, the load distribution control unit 160 sets the previous node transfer 176 of the corresponding record in the load distribution management table 171 to “T” and the load manager 175 to “F” (step 3005).

一方、自ノードで通知を担当する場合(ステップ3003でno)、負荷分散制御部160は、対応するレコードの負荷担当175を「T」、前ノード転送176を「F」に設定する(ステップ3006)。   On the other hand, when the node is in charge of notification (no in step 3003), the load distribution control unit 160 sets the load manager 175 of the corresponding record to “T” and the previous node transfer 176 to “F” (step 3006). ).

このような動作に基づき、情報通知ノード11は、受け取った代行依頼メッセージ201に対して、負荷分散管理テーブル171に基づき自ノードでの対応又は委譲を設定する。   Based on such an operation, the information notification node 11 sets the response or delegation in the own node based on the load distribution management table 171 for the received proxy request message 201.

図12は、代行依頼メッセージ201を受けた後の情報通知ノード11の負荷分散管理テーブル171の一例を示す図である。図12の1行目のレコードは、自ノードで担当する場合のレコードである。そのため、負荷担当175は「T」であり、前ノード転送176は「F」となっている。また、2行目のレコードは、委譲した場合の一例である。そのため、負荷担当175は「F」、前ノード転送176は「T」である。つまり、図12に示す負荷分散管理テーブル171は、自ノードがsub20eにイベントを通知し、sub20cの通知を委譲していることを示している。   FIG. 12 is a diagram illustrating an example of the load distribution management table 171 of the information notification node 11 after receiving the proxy request message 201. The record in the first line in FIG. 12 is a record in the case where the own node takes charge. Therefore, the load manager 175 is “T”, and the previous node transfer 176 is “F”. The record on the second line is an example of delegation. Therefore, the load manager 175 is “F”, and the previous node transfer 176 is “T”. That is, the load distribution management table 171 shown in FIG. 12 indicates that the own node notifies the event to the sub 20e and delegates the notification of the sub 20c.

(対象ノードでのイベントの通知動作)
次に、対象ノード(ランデブーノード)である情報通知ノード10が、イベントを受け取った場合の動作、つまり管理対象イベントを受け取った管理担当である情報通知ノード10の動作について図面を参照して説明する。
(Event notification operation at the target node)
Next, the operation when the information notification node 10 that is the target node (the rendezvous node) receives an event, that is, the operation of the information notification node 10 that is the manager in charge of receiving the management target event will be described with reference to the drawings. .

図13は、管理対象イベントを受け取った情報通知ノード10の動作の一例を示すフロー図である。   FIG. 13 is a flowchart showing an example of the operation of the information notification node 10 that has received the management target event.

パブリッシャ30からpub/subネットワーク40にイベントがパブリッシュ(発信、入力)されると、pub/subネットワーク40は、管理担当の情報通知ノード10にイベントを転送する。   When an event is published (transmitted or input) from the publisher 30 to the pub / sub network 40, the pub / sub network 40 transfers the event to the information notification node 10 in charge of management.

イベントを受信した情報通知ノード10の情報転送部110は、イベントをイベント制御部140に送る(ステップ4001)。   The information transfer unit 110 of the information notification node 10 that has received the event sends the event to the event control unit 140 (step 4001).

イベントを受け取ったイベント制御部140は、サブスクリプションテーブル151に保持されている各レコードについて次に説明する処理を繰り返す(ステップ4002)。   Upon receiving the event, the event control unit 140 repeats the processing described below for each record held in the subscription table 151 (step 4002).

イベント制御部140は、受け取ったイベントが各レコードのサブスクリプション条件152と一致するか否か、つまり対象イベントであるか否かを確認する(ステップ4003)。   The event control unit 140 checks whether or not the received event matches the subscription condition 152 of each record, that is, whether or not it is a target event (step 4003).

対象イベントで無い場合(ステップ4003でno)、イベント制御部140は、特に動作せずに次のレコードの処理に移行する。   If the event is not a target event (no in step 4003), the event control unit 140 proceeds to processing of the next record without particularly operating.

対象イベントの場合(ステップ4003でyes)、イベント制御部140は、対象イベントに対応するサブスクリプションテーブル151のレコードの負荷委譲済154を確認する(ステップ4004)。   In the case of a target event (yes in step 4003), the event control unit 140 confirms the load delegation 154 of the record of the subscription table 151 corresponding to the target event (step 4004).

負荷委譲済154が負荷委譲していない(F)の場合(ステップ4004でno)、情報通知ノード10は、通知先ID153にイベントを通知(notify)する(ステップ4005)。   When the load delegation 154 is not load delegation (F) (no in step 4004), the information notification node 10 notifies the notification destination ID 153 of an event (step 4005).

負荷を委譲済み(T)の場合(ステップ4004でyes)、イベント制御部140は、負荷分散制御部160に通知の代行(負荷分散)を依頼する(ステップ4006)。   If the load has been transferred (T) (yes in step 4004), the event control unit 140 requests the load distribution control unit 160 to perform notification (load distribution) (step 4006).

そして、イベント制御部140は、負荷分散制御部160からの結果を待つ。負荷分散制御部160からの結果を受け取ったイベント制御部140は、結果の内容を確認する(ステップ4007)。   Then, the event control unit 140 waits for a result from the load distribution control unit 160. The event control unit 140 that has received the result from the load distribution control unit 160 checks the content of the result (step 4007).

判定の結果に負荷委譲でない、つまり自ノードでの通知が含まれる場合(ステップ4007でno)、イベント制御部140は、通知するとの結果となったイベントを通知する(ステップ4005)。   If the result of the determination is not load delegation, that is, notification in the own node is included (No in step 4007), the event control unit 140 notifies the event that results in notification (step 4005).

判定の結果がすべて負荷委譲の場合(ステップ4007でyes)、イベント制御部140は、処理を終了し、次のレコードの処理に移行する。   If all the determination results are load delegation (yes in step 4007), the event control unit 140 ends the process and proceeds to the process for the next record.

図14は、図13で示すステップ4006においてイベントの負荷分散を依頼された負荷分散制御部160の動作の一例を示すフロー図である。   FIG. 14 is a flowchart showing an example of the operation of the load distribution control unit 160 requested to distribute the load of the event in step 4006 shown in FIG.

負荷分散の依頼を受けた(ステップ4101)負荷分散制御部160は、負荷分散管理テーブル171のサブスクリプション条件172が負荷分散の依頼のサブスクリプション条件と一致するレコードついて、次に示す動作を繰り返す(ステップ4102)。   Upon receiving the load distribution request (step 4101), the load distribution control unit 160 repeats the following operation for the record in which the subscription condition 172 in the load distribution management table 171 matches the subscription condition of the load distribution request ( Step 4102).

負荷分散制御部160は、負荷を委譲済みか否か、つまり、負荷分散管理テーブル171の各レコードの負荷担当175を確認する(ステップ4103)。   The load distribution control unit 160 checks whether or not the load has been delegated, that is, the load manager 175 of each record in the load distribution management table 171 (step 4103).

自ノードで負荷を担当する場合(ステップ4103でyes)、負荷分散制御部160は、イベント制御部140に、そのレコードに対応するイベントについて自ノードで通知するとの結果を返す(ステップ4104)。この結果を受けたイベント制御部140は、既に説明したとおり、イベントを通知する。負荷分散制御部160は、イベント制御部140に通知後、次のレコードの処理に移行する。   When the load is handled by the own node (yes in step 4103), the load distribution control unit 160 returns to the event control unit 140 a result of notifying the event corresponding to the record by the own node (step 4104). Upon receiving this result, the event control unit 140 notifies the event as described above. After notifying the event control unit 140, the load distribution control unit 160 proceeds to processing the next record.

自ノードで負荷を担当しない場合(ステップ4103でno)、負荷分散制御部160は、レコードの前ノード転送176を確認し、前ノードに委譲済みか否か、つまり、前ノードに負荷の代行を依頼しているか否かを確認する(ステップ4105)。   If the node does not handle the load (no in step 4103), the load distribution control unit 160 confirms the previous node transfer 176 of the record, and determines whether or not it has been delegated to the previous node. It is confirmed whether or not the request is made (step 4105).

負荷を委譲済みの場合(ステップ4105でyes)、負荷分散制御部160は、情報転送部110を介して、前ノードID173に登録されている前ノードに代行して通知する依頼(以下、通知(notify)依頼メッセージ202と称す)を送信する(ステップ4106)。通知依頼メッセージ202は、いろいろな形式及び含む情報を採用することができる。本実施の形態に係る通知依頼メッセージ202は、一例として、通知の代行を依頼するイベントに関する情報(又は、サブスクリプション条件)を含む。   When the load has been delegated (yes in step 4105), the load distribution control unit 160 sends a request for notification on behalf of the previous node registered in the previous node ID 173 via the information transfer unit 110 (hereinafter referred to as notification ( notify) (referred to as request message 202) (step 4106). The notification request message 202 can adopt various formats and information included therein. The notification request message 202 according to the present embodiment includes, as an example, information (or subscription conditions) related to an event that requests a proxy for notification.

負荷を委譲済みでない場合(ステップ4105でno)は、本来発生しない状態である。そのため、負荷分散制御部160は、特に動作しなくても良い。   If the load has not been delegated (No in step 4105), the load is not generated. Therefore, the load distribution control unit 160 may not particularly operate.

通知依頼メッセージ202を送信後、又は、負荷を委譲済みで無い場合、負荷分散制御部160は、次のレコードの動作に移行する。   After transmitting the notification request message 202 or when the load has not been transferred, the load distribution control unit 160 proceeds to the operation of the next record.

一致するすべてのレコードについて動作が終了すると、負荷分散制御部160は、イベント制御部140に負荷分散の終了を通知し(ステップ4107)、処理を終了する。   When the operation is completed for all the matching records, the load distribution control unit 160 notifies the event control unit 140 of the end of load distribution (step 4107), and ends the processing.

なお、負荷分散制御部160は、自ノードでのイベントの通知を、まとめて最後にイベント制御部140に連絡しても良い。ただし、本実施の形態の説明のように、負荷分散制御部160がレコードごとに連絡すると、イベント制御部140は、まとめて最後に連絡を受ける場合に比べ、イベントの通知を早く開始することができる。   Note that the load distribution control unit 160 may collectively notify the event control unit 140 of event notifications at its own node. However, as described in the present embodiment, when the load distribution control unit 160 communicates for each record, the event control unit 140 may start notification of an event earlier compared to the case where the last contact is collectively received. it can.

(前ノードでのイベント通知動作)
次に、通知依頼メッセージ202を受け取った前ノード(この説明では、情報通知ノード11とする)の動作について説明する。
(Event notification operation at the previous node)
Next, the operation of the previous node that has received the notification request message 202 (in this description, the information notification node 11) will be described.

図15は、通知依頼メッセージ202を受信した前ノード(情報通知ノード11)の動作の一例を示すフロー図である。   FIG. 15 is a flowchart showing an example of the operation of the previous node (information notification node 11) that has received the notification request message 202.

前ノードである情報通知ノード11の情報転送部110は、イベントの管理担当である情報通知ノード10から通知依頼メッセージ202を受ける(ステップ5001)。   The information transfer unit 110 of the information notification node 11 that is the previous node receives the notification request message 202 from the information notification node 10 that is in charge of event management (step 5001).

通知依頼メッセージ202を受けた情報転送部110は、通知依頼メッセージ202を負荷分散制御部160に送付する。   The information transfer unit 110 that has received the notification request message 202 sends the notification request message 202 to the load distribution control unit 160.

通知依頼メッセージ202を受け取った負荷分散制御部160は、通知依頼メッセージ202に含まれるサブスクリプション条件と一致するサブスクリプション条件172含むレコードを、負荷分散管理テーブル171から検索する。負荷分散制御部160は、一致したレコードに対して次に示す動作を繰り返す(ステップ5002)。   The load distribution control unit 160 that has received the notification request message 202 searches the load distribution management table 171 for a record including the subscription condition 172 that matches the subscription condition included in the notification request message 202. The load distribution control unit 160 repeats the following operation for the matched records (step 5002).

負荷分散制御部160は、各レコードの負荷担当175に基づき、自ノードが負荷の担当か否かを判定する(ステップ5003)。   The load distribution control unit 160 determines whether or not the own node is in charge of load based on the load charge 175 of each record (step 5003).

負荷の担当の場合(ステップ5003でyes)、負荷分散制御部160は、イベント制御部140にイベントの通知を依頼する。依頼を受けたイベント制御部140は、通知依頼メッセージ202で依頼されたイベントを通知する(ステップ5004)。   When the load is in charge (yes in step 5003), the load distribution control unit 160 requests the event control unit 140 to notify the event. Upon receiving the request, the event control unit 140 notifies the event requested by the notification request message 202 (step 5004).

負荷の担当でない場合(ステップ5003でno)、負荷分散制御部160は、負荷分散管理テーブル171の前ノード転送176を参照し、負荷を委譲、つまり、通知依頼メッセージ202を送信するか否かを判定する(ステップ5005)。   When not in charge of load (no in step 5003), the load distribution control unit 160 refers to the previous node transfer 176 in the load distribution management table 171, and determines whether to delegate the load, that is, to transmit the notification request message 202. Determination is made (step 5005).

負荷を委譲する場合(ステップ5005でyes)、負荷分散制御部160は、負荷分散管理テーブル171に基づき、さらに前のノード(前々ノード)に通知依頼メッセージ202を送信する。   When delegating the load (yes in step 5005), the load distribution control unit 160 transmits the notification request message 202 to a further previous node (previous node) based on the load distribution management table 171.

負荷を委譲しない場合(ステップ5006でno)、負荷分散制御部160は、特に動作せずに終了する。   When the load is not delegated (No in Step 5006), the load distribution control unit 160 ends without particularly operating.

(ネットワークにおけるイベント通知の一例)
イベントの通知の代行について図面を参照してさらに説明する。
(An example of network event notification)
The event notification proxy will be further described with reference to the drawings.

図16は、pub/subネットワーク40におけるイベントの通知の代行の一例を示す図である。   FIG. 16 is a diagram illustrating an example of an event notification proxy in the pub / sub network 40.

図16に示す小円は、図4と同様に情報通知ノードを示している。また、情報通知ノード10(ID=1000)は、図7に示すサブスクリプションテーブル151及び図10に示す負荷分散管理テーブル171を備える。さらに、情報通知ノード11(ID=0111)は、図12に示す負荷分散管理テーブル171を備えるとする。また、情報通知ノード12及び情報通知ノード13は、自ノードでイベントを通知するとする。   The small circles shown in FIG. 16 indicate information notification nodes as in FIG. The information notification node 10 (ID = 1000) includes a subscription table 151 shown in FIG. 7 and a load distribution management table 171 shown in FIG. Furthermore, it is assumed that the information notification node 11 (ID = 0111) includes a load distribution management table 171 shown in FIG. Further, it is assumed that the information notification node 12 and the information notification node 13 notify the event by the own node.

図16に示すように、パブリッシャ30(pub30)が、図7の1行目のレコードのサブスクリプション条件152に一致するイベントが発行したとする。   As shown in FIG. 16, it is assumed that the publisher 30 (pub30) issues an event that matches the subscription condition 152 of the record in the first row in FIG.

このイベントは、情報通知ノード16が受け、イベントの管理担当である情報通知ノード10に転送する。   This event is received by the information notification node 16 and transferred to the information notification node 10 which is responsible for managing the event.

そこで、まず、情報通知ノード10の動作について説明する。   First, the operation of the information notification node 10 will be described.

イベントを受け取った情報通知ノード10のイベント制御部140は、イベントが図7に示すサブスクリプションテーブル151の1行目のレコードのサブスクリプション条件152と一致すると判定する(図13のステップ4003)。そして、イベント制御部140は、1行目のレコードの負荷委譲済154を確認し(図13のステップ4004)、委譲済みのため、負荷分散制御部160に負荷の分散を依頼する(図13のステップ4006)。   The event control unit 140 of the information notification node 10 that has received the event determines that the event matches the subscription condition 152 of the record in the first row of the subscription table 151 shown in FIG. 7 (step 4003 in FIG. 13). Then, the event control unit 140 confirms the load delegation 154 of the record in the first line (step 4004 in FIG. 13), and since the delegation has been completed, requests the load distribution control unit 160 to distribute the load (in FIG. 13). Step 4006).

依頼を受けた負荷分散制御部160は、図10に示す負荷分散管理テーブル171に基づき、1行目のレコード(通知先がsub20a)と4行目のレコード(通知先がsub20f)については、イベント制御部140にイベントの通知を連絡する(図14のステップ4104)。   Upon receiving the request, the load distribution control unit 160, for the record on the first line (the notification destination is sub20a) and the record on the fourth line (the notification destination is sub20f), based on the load distribution management table 171 shown in FIG. An event notification is notified to the control unit 140 (step 4104 in FIG. 14).

この結果に基づき、イベント制御部140は、sub20aとsub20fにイベントを通知する(図13のステップ4005)。   Based on this result, the event control unit 140 notifies the event to the sub 20a and the sub 20f (step 4005 in FIG. 13).

また、負荷分散制御部160は、負荷分散管理テーブル171の2行目のレコード(通知先がsub20c、20e)について、前ノードID173に保持されているノード0111(第1の前ノードである情報通知ノード11)に通知依頼メッセージ202を送付する(図14のステップ4106)。   In addition, the load distribution control unit 160 reports the node 0111 (information notification of the first previous node) held in the previous node ID 173 for the second row record (the notification destination is sub20c, 20e) of the load distribution management table 171. The notification request message 202 is sent to the node 11) (step 4106 in FIG. 14).

同様に、負荷分散制御部160は、負荷分散管理テーブル171の3行目のレコード(通知先がsub20b、20d)について、ノード0110(第2の前ノードである情報通知ノード13)に通知依頼メッセージ202を送付する(図14のステップ4106)。   Similarly, the load distribution control unit 160 sends a notification request message to the node 0110 (the second previous node, the information notification node 13) regarding the record on the third line of the load distribution management table 171 (the notification destinations are sub20b and 20d). 202 is sent (step 4106 in FIG. 14).

このように情報通知ノード10は、自ノードでのイベントを通知し、通知の代行を依頼する。   In this way, the information notification node 10 notifies the event at its own node and requests proxy of notification.

次に、情報通知ノード11の動作について説明する。   Next, the operation of the information notification node 11 will be described.

通知依頼メッセージ202を受け取った情報通知ノード11の負荷分散制御部160は、図12に示す負荷分散管理テーブル171に基づき、1行目のレコード(通知先がsub20e)については、イベント制御部140にイベントの通知を連絡する。また、情報通知ノード11の負荷分散制御部160は、2行目のレコード(通知先がsub20c)について、前ノードID173に保持されているノード0101(前々ノードである情報通知ノード12)に通知依頼メッセージ202を送る。   Upon receiving the notification request message 202, the load distribution control unit 160 of the information notification node 11 determines, based on the load distribution management table 171 shown in FIG. 12, the event control unit 140 for the record on the first line (the notification destination is sub20e). Contact event notification. Further, the load distribution control unit 160 of the information notification node 11 notifies the node 0101 (the information notification node 12 which is the previous node) held in the previous node ID 173 for the record on the second line (the notification destination is sub20c). A request message 202 is sent.

情報通知ノード12及び情報通知ノード13は、通知依頼メッセージ202で委譲された通知を自ノードで通知する。つまり、情報通知ノード12は、情報通知ノード11から依頼されたsub20cにイベントを通知する。情報通知ノード13は、情報通知ノード10から依頼されたsub20b及びsab20dにイベントを通知する。   The information notification node 12 and the information notification node 13 notify the notification delegated by the notification request message 202 at their own nodes. That is, the information notification node 12 notifies the event to the sub 20 c requested from the information notification node 11. The information notification node 13 notifies the event to the sub 20b and the sab 20d requested from the information notification node 10.

各情報通知ノードと通知先のサブスクライバ20(sub20a−sub20f)との対応をまとめると次のようになる。   The correspondence between each information notification node and the notification destination subscriber 20 (sub20a-sub20f) is summarized as follows.

情報通知ノード10:sub20a、sub20f
情報通知ノード11:sub20e
情報通知ノード12:sub20c
情報通知ノード13:sub20b、sub20d
このように、本実施の形態に係る情報通知ノード10は、負荷に基づき設定したサブスクリプションテーブル151及び負荷分散管理テーブル171を用いて、前ノードに情報(イベント)の通知、つまり負荷の代行を依頼する。また、依頼を受けた情報通知ノード11も、自ノードの負荷に基づき、自ノードがイベントを通知するか、通知の代行を依頼するかを判定し、負荷の代行を依頼できる。
Information notification node 10: sub20a, sub20f
Information notification node 11: sub20e
Information notification node 12: sub20c
Information notification node 13: sub20b, sub20d
As described above, the information notification node 10 according to the present embodiment uses the subscription table 151 and the load distribution management table 171 set based on the load to notify the previous node of information (event), that is, proxy the load. Ask. Also, the information notification node 11 that has received the request can determine whether the node notifies the event or requests proxy of the notification based on the load of the local node, and can request the proxy of the load.

(サブスクリプションの解除)
次に負荷分散を設定後、さらにサブスクリプションを受けた場合、又は、サブスクリプションの解除(以下、解除通知と称す)を受けた場合の情報通知ノード10に動作について図面を参照して説明する。
(Cancellation of subscription)
Next, the operation of the information notification node 10 when a subscription is further received after setting load distribution or when a subscription is canceled (hereinafter referred to as a cancellation notification) will be described with reference to the drawings.

図17は、負荷分散を設定後にサブスクリプション又は解除通知を受け取ったイベント制御部140の動作の一例を示すフロー図である。   FIG. 17 is a flowchart illustrating an example of the operation of the event control unit 140 that has received a subscription or cancellation notification after setting load distribution.

サブスクリプションを受け取ったイベント制御部140は、既にサブスクリプション条件152が登録されている場合に、以下で説明するように動作する。サブスクリプション条件152が登録されていない場合は、イベント制御部140は、既に図8を用いて説明したのと同様に動作すればよい。   The event control unit 140 that has received the subscription operates as described below when the subscription condition 152 is already registered. If the subscription condition 152 is not registered, the event control unit 140 may operate in the same manner as already described with reference to FIG.

イベント制御部140は、登録済みのレコードについて以下に説明する動作を繰り返す(ステップ6001)。   The event control unit 140 repeats the operation described below for the registered records (step 6001).

イベント制御部140は、受け取ったサブスクリプション又は解除通知に基づきサブスクリプションテーブル151に保存しているレコードを更新する。更新後、イベント制御部140は、自ノードの負荷状況を判定する(ステップ6002)。   The event control unit 140 updates the record stored in the subscription table 151 based on the received subscription or cancellation notification. After the update, the event control unit 140 determines the load status of the own node (step 6002).

負荷が重くない場合(ステップ6002でno)、イベント制御部140は、負荷の委譲済みか否かを判定する(ステップ6003)。   If the load is not heavy (No in Step 6002), the event control unit 140 determines whether or not the load has been transferred (Step 6003).

負荷を委譲済みでない場合(ステップ6003でno)、イベント制御部140は、特に動作しないで終了する。   If the load has not been transferred (No in step 6003), the event control unit 140 ends without performing any particular operation.

負荷を委譲済みの場合(ステップ6003でyes)、イベント制御部140は、負荷分散制御部160に、負荷分散の解除を依頼する(ステップ6004)。   If the load has been transferred (yes in step 6003), the event control unit 140 requests the load distribution control unit 160 to cancel the load distribution (step 6004).

その後、イベント制御部140は、負荷分散制御部160の処理の終了を待つ(ステップ6005)。   Thereafter, the event control unit 140 waits for the end of the processing of the load distribution control unit 160 (step 6005).

負荷分散制御部160の処理が終了するとイベント制御部140は、サブスクリプションテーブル151のデータを自ノードの負荷に変更(ステップ6006)し、処理を終了する。   When the processing of the load distribution control unit 160 ends, the event control unit 140 changes the data in the subscription table 151 to the load of the own node (step 6006), and ends the processing.

負荷が大きい場合(ステップ5002でyes)、イベント制御部140は、負荷分散制御部160に、負荷分散の再設定を依頼する(ステップ6007)。負荷分散制御部160の再設定動作は、図9を用いて説明した動作と同様に動作すればよく、詳細な説明は、省略する。   When the load is large (yes in step 5002), the event control unit 140 requests the load distribution control unit 160 to reset the load distribution (step 6007). The resetting operation of the load distribution control unit 160 may be performed in the same manner as the operation described with reference to FIG. 9, and detailed description thereof is omitted.

再設定の依頼後、イベント制御部140は、負荷分散制御部160の処理の終了を待つ(ステップ6008)。   After requesting resetting, the event control unit 140 waits for the end of the processing of the load distribution control unit 160 (step 6008).

負荷分散制御部160の処理の終了後、イベント制御部140は、サブスクリプションテーブル151を委譲済みに設定する(ステップ6009)。   After the processing of the load distribution control unit 160 ends, the event control unit 140 sets the subscription table 151 to be delegated (step 6009).

次に、負荷分散の解除の依頼を受けた、負荷分散制御部160の動作について図面を参照して説明する。   Next, the operation of the load distribution control unit 160 that has received a request to cancel load distribution will be described with reference to the drawings.

図18は、負荷分散制御部160の動作の一例を示すフロー図である。   FIG. 18 is a flowchart illustrating an example of the operation of the load distribution control unit 160.

負荷分散の解除の依頼を受けた(ステップ6101)負荷分散制御部160は、依頼の対応する負荷分散管理テーブル171のレコードに関して、次に示す動作を繰り返す(ステップ6102)。   In response to the request for releasing load distribution (step 6101), the load distribution control unit 160 repeats the following operation with respect to the record of the load distribution management table 171 corresponding to the request (step 6102).

負荷分散制御部160は、負荷分散管理テーブル171の負荷担当175に基づき、負荷の委譲済みか否かを判定する(ステップ6103)。   The load distribution control unit 160 determines whether the load has been delegated based on the load manager 175 of the load distribution management table 171 (step 6103).

負荷を委譲済みの場合(ステップ6103でyes)、負荷分散制御部160は、代行の解除を依頼する代行解除メッセージ203を作成して、委譲先のノード(例えば、情報通知ノード11)に送信する(ステップ6104)。通知後、負荷分散制御部160は、負荷分散管理テーブル171の情報を更新する(ステップ6105)。具体的に説明すると、負荷分散制御部160は、負荷担当を解除、つまり、前ノード転送176を「F」、負荷担当175を「F」と設定する。ここで、負荷分散制御部160は、まとめられるレコードをまとめるようにしてもよい。   When the load has been delegated (yes in step 6103), the load distribution control unit 160 creates a proxy release message 203 for requesting the proxy release and transmits it to the delegation destination node (for example, the information notification node 11). (Step 6104). After the notification, the load distribution control unit 160 updates the information in the load distribution management table 171 (step 6105). More specifically, the load distribution control unit 160 cancels the load charge, that is, sets the previous node transfer 176 to “F” and the load charge 175 to “F”. Here, the load distribution control unit 160 may combine the records to be combined.

負荷を委譲済みで無い場合(ステップ6103でno)、負荷分散制御部160は、特に動作の必要は無い。ただし、安全のため、負荷分散制御部160は、ステップ6105と同様に負荷担当の解除を設定してもよい。   When the load has not been transferred (No in step 6103), the load distribution control unit 160 does not need to operate. However, for the sake of safety, the load distribution control unit 160 may set the release of the load charge in the same manner as in Step 6105.

負荷分散管理テーブル171の更新後、負荷分散制御部160は、解除の終了をイベント制御部140に通知し(ステップ6106)、処理を終了する。   After updating the load distribution management table 171, the load distribution control unit 160 notifies the event control unit 140 of the end of release (step 6106) and ends the process.

続いて、代行解除メッセージ203を受けた委譲先(例えば、情報通知ノード11)の動作について図面を参照して説明する。   Next, the operation of the delegation destination (for example, the information notification node 11) that has received the proxy release message 203 will be described with reference to the drawings.

図19は、代行解除メッセージ203を受けた情報通知ノード11の負荷分散制御部160の動作の一例を示すフロー図である。   FIG. 19 is a flowchart illustrating an example of the operation of the load distribution control unit 160 of the information notification node 11 that has received the proxy release message 203.

代行解除メッセージ203を受けた(ステップ7001)情報通知ノード11の負荷分散制御部160は、依頼に対応する負荷分散管理テーブル171のレコードに関して、次に示す動作を繰り返す(ステップ7002)。   Upon receiving the proxy release message 203 (step 7001), the load distribution control unit 160 of the information notification node 11 repeats the following operation for the record of the load distribution management table 171 corresponding to the request (step 7002).

負荷分散制御部160は、負荷分散管理テーブル171の負荷担当175に基づき、負荷の委譲済みか否かを判定する(ステップ7003)。   The load distribution control unit 160 determines whether or not the load has been delegated based on the load manager 175 of the load distribution management table 171 (step 7003).

負荷を委譲済みの場合(ステップ7003でyes)、負荷分散制御部160は、委譲先のノード(例えば、情報通知ノード12)に代行解除メッセージ203を送信する(ステップ7004)。通知後、情報通知ノード11は、負荷担当を解除するように各テーブルの情報を更新する(ステップ7005)。   When the load has been delegated (yes in step 7003), the load distribution control unit 160 transmits the proxy release message 203 to the delegation destination node (for example, the information notification node 12) (step 7004). After the notification, the information notification node 11 updates the information in each table so as to release the load charge (step 7005).

負荷を委譲済みで無い場合(ステップ7003でno)、負荷分散制御部160は、特に何もせず終了する。ただし、安全のため、負荷分散制御部160は、ステップ7005と同様に負荷担当の解除を設定してもよい。   If the load has not been transferred (No in Step 7003), the load distribution control unit 160 ends without doing anything. However, for the sake of safety, the load distribution control unit 160 may set the release of the load charge similarly to step 7005.

ここまで説明した動作に基づき、情報通知ノードは、負荷分担を解除する。   Based on the operations described so far, the information notification node cancels the load sharing.

なお、ここまでの説明において、代行依頼メッセージ201を受けた前ノード(例えば、情報通知ノード11)が負荷を担当できない場合、前ノードは、さらに前々ノードに代行依頼メッセージ201を送って負荷の代行を依頼していた。しかし、本実施の形態に係る情報通知ノードは、これに限られるわけではない。   In the above description, when the previous node (for example, the information notification node 11) that has received the proxy request message 201 cannot take charge of the load, the previous node further sends the proxy request message 201 to the node two days before the load request. I was asking for an agent. However, the information notification node according to the present embodiment is not limited to this.

例えば、負荷を担当できない前ノードは、自ノードで代行依頼メッセージ201を送信するのではなく、依頼元のノードに委譲拒否のメッセージを送り返しても良い。   For example, the previous node that cannot take charge of the load may send a delegation rejection message back to the requesting node instead of sending the proxy request message 201 by itself.

この委譲拒否のメッセージを受け取った情報通知ノードは、新たに別の情報通知ノードに代行依頼メッセージ201を送っても良い。   The information notification node that has received this message of rejection of delegation may newly send a proxy request message 201 to another information notification node.

さらに、本実施の形態に係る情報通知ノード10の構成は、今まで説明した構成に限られるわけではない。本実施の形態に係る情報通知ノード10は、いくつかの構成を1つの構成、例えば、イベント制御部140と負荷分散制御部160を合わせた構成を含んでもよい。   Furthermore, the configuration of the information notification node 10 according to the present embodiment is not limited to the configuration described so far. The information notification node 10 according to the present embodiment may include several configurations as one configuration, for example, a configuration in which the event control unit 140 and the load distribution control unit 160 are combined.

また、本実施の形態に係る情報通知ノード10の各構成は、さらに複数の構成に分けても良く、構成を別の装置に備え、ネットワークを介して接続したシステムとしてもよい。例えば、各テーブル保持部は、ネットワークを介して接続した外部の記憶装置に含まれてもよい。さらに、本実施の形態に係る情報通知ノード10は、別装置の一部を構成してもよい。   In addition, each configuration of the information notification node 10 according to the present exemplary embodiment may be further divided into a plurality of configurations, or a configuration in which the configuration is provided in another device and connected via a network. For example, each table holding unit may be included in an external storage device connected via a network. Furthermore, the information notification node 10 according to the present embodiment may constitute a part of another device.

(別の構成)
図20は、本実施の形態に係る情報通知ノードの別の構成の一例を示すブロック図である。
(Another configuration)
FIG. 20 is a block diagram showing an example of another configuration of the information notification node according to the present embodiment.

図20において図1と同じ構成は同じ番号を付して、詳細な説明は省略する。   20, the same components as those in FIG. 1 are denoted by the same reference numerals, and detailed description thereof is omitted.

情報通知ノード18は、ブレードサーバ(blade server)のように、所定の装置に組み込まれ、内部バスを用いて他の装置と接続している。情報通知ノード18の情報転送部110は、イベント制御部140及び負荷分散制御部160に含まれるため、図20において省略した。また、各テーブル保持部は、それぞれの保持部の回路が備える半導体記憶部にテーブルを保持するため、図20において各テーブルの表示を省略した。   The information notification node 18 is incorporated in a predetermined device such as a blade server, and is connected to another device using an internal bus. The information transfer unit 110 of the information notification node 18 is omitted in FIG. 20 because it is included in the event control unit 140 and the load distribution control unit 160. Further, since each table holding unit holds a table in the semiconductor memory unit included in the circuit of each holding unit, the display of each table is omitted in FIG.

このように構成された情報通知ノード18のイベント制御部140及び負荷分散制御部160は、バスを介して他の装置(サブスクライバ20など)と情報を送受信し、サブスクリプション及びイベントに関して情報通知ノード10と同様に動作できる。そのため、情報通知ノード18は、情報通知ノード10と同様にイベントの通知を委譲できる。   The event control unit 140 and the load distribution control unit 160 of the information notification node 18 configured in this way transmit / receive information to / from other devices (such as the subscriber 20) via the bus, and the information notification node 10 regarding subscriptions and events. It can operate in the same way. For this reason, the information notification node 18 can delegate event notification in the same manner as the information notification node 10.

なお、情報通知ノード18は、本実施の形態に最小構成である。   The information notification node 18 has a minimum configuration in the present embodiment.

このように本実施の形態に係る情報通知ノードは、情報(イベントを含む情報)を通知する装置の負荷の軽減を得ることができる。   As described above, the information notification node according to the present embodiment can reduce the load on the device that notifies information (information including an event).

その理由は、本実施の形態に係る情報通知ノードは、保持しているサブスクリプション(受信登録)に基づいて自ノードの負荷を判定し、負荷が大きい場合、他の情報通知ノード(前ノード)に情報の通知の代行を依頼し、自ノードの情報の通知を削減できるためである。また、代行を依頼された情報通知ノードは、依頼された情報の通知を自ノードの負荷に基づき、さらに代行を依頼することができるため、代行を依頼された情報通知ノードも、自ノードに適切な負荷を代行できるためである。   The reason is that the information notification node according to the present embodiment determines the load of the own node based on the held subscription (reception registration), and if the load is large, the other information notification node (previous node) This is because the notification of the information of the own node can be reduced by requesting the agent to perform the information notification. In addition, since the information notifying node requested to act on behalf of the node can further request delegation based on the load of the own node, the information notifying node requested to act is also appropriate for the own node. This is because a large load can be substituted.

(第2の実施の形態)
第1の実施の形態に係る情報通知ノードは、各構成をコンピュータで実行するプログラムとして実現しても良い。
(Second Embodiment)
The information notification node according to the first embodiment may be realized as a program that executes each component on a computer.

さらに、第1の実施の形態に係る情報通知ノードの各構成は、コンピュータで実行するプログラムを記憶する記録媒体を含んでも良い。   Furthermore, each configuration of the information notification node according to the first embodiment may include a recording medium that stores a program executed by the computer.

図21は、第2の実施の形態に係る情報通知ノード19の構成の一例を示す図である。   FIG. 21 is a diagram illustrating an example of the configuration of the information notification node 19 according to the second embodiment.

情報通知ノード19は、情報処理部520と、情報記憶部530と、通信部510とを含んでいる。   The information notification node 19 includes an information processing unit 520, an information storage unit 530, and a communication unit 510.

情報処理部520は、CPU(Central Process Unit)を含み、情報記憶部530が記憶しているプログラム540を実行する。そして、情報処理部520は、プログラム540に基づき、通信部510を介してサブスクライバ20などと通信し、第1の実施の形態に係る情報通知ノード10と同様に動作する。   The information processing unit 520 includes a CPU (Central Process Unit) and executes a program 540 stored in the information storage unit 530. The information processing unit 520 communicates with the subscriber 20 and the like via the communication unit 510 based on the program 540, and operates in the same manner as the information notification node 10 according to the first embodiment.

情報記憶部530は、図示しないハードディスク装置又はメモリ記憶装置など記憶装置を含み、情報処理部520が実行するプログラム540を記憶している。さらに、情報記憶部530は、プログラム540を保持する記憶媒体550を含んでも良い。なお、情報記憶部530は、情報処理部520が動作する場合の情報の一時保存記憶(ワークエリア)として動作しても良い。   The information storage unit 530 includes a storage device such as a hard disk device or a memory storage device (not shown), and stores a program 540 executed by the information processing unit 520. Further, the information storage unit 530 may include a storage medium 550 that holds the program 540. The information storage unit 530 may operate as a temporary storage (work area) of information when the information processing unit 520 operates.

通信部510は、ネットワークと接続するための回路、例えばNIC(Network Interface Card)を含み、情報処理部520とサブスクライバ20及びパブリッシャ30などとの情報を中継する。   The communication unit 510 includes a circuit for connecting to a network, for example, a NIC (Network Interface Card), and relays information between the information processing unit 520, the subscriber 20, the publisher 30, and the like.

このように第2の実施の形態に係る情報通知ノード19は、第1の実施の形態に係る情報通知ノード10と同様の効果を得ることができる。   Thus, the information notification node 19 according to the second embodiment can obtain the same effect as the information notification node 10 according to the first embodiment.

その理由は、第2の実施の形態に係る情報通知ノード19の情報処理部520が、プログラム540に基づいて、第1の実施の形態の情報通知ノード10と同様に動作することができるためである。   This is because the information processing unit 520 of the information notification node 19 according to the second embodiment can operate in the same manner as the information notification node 10 of the first embodiment based on the program 540. is there.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記)
(付記1)
イベントを含む情報の受信登録(サブスクリプション)を受け取り保持するサブスクリプションテーブル保持部と、
保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定するイベント制御部と、
前記受信登録の送信元の情報と前記情報を通知する通知先とを保持する負荷分散管理テーブル保持部と、
前記イベント制御部が委譲すると判定した場合に、前記負荷分散管理テーブル保持部が保持する情報に基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記イベント制御部に前記情報の通知を依頼する負荷分散制御部とを含む情報通知ノード。
(付記2)
前記負荷分散制御部が、
第2のノードから情報の通知の代行の依頼を受け取ったとき、
前記第2のノードの依頼に含まれる前記情報を自ノードで通知するか否かを判定し、自ノードで通知しない場合、第3のノードに前記情報の通知の代行の依頼を送信することを特徴とする付記1に記載の情報通知ノード。
(付記3)
前記負荷分散制御部が、
第2のノードから情報の通知の代行の依頼を受け取ったとき、
前記第2のノードからの依頼に含まれる前記情報を自ノードで通知するか否かを判定し、自ノードで通知しない場合、前記第2のノードに代行の依頼の拒否を送付することを特徴とする付記1に記載の情報通知ノード。
(付記4)
前記負荷分散制御部が、
前記第1のノードに送付した前記情報の通知の代行の依頼に対して代行の依頼の拒否を受けた場合、第1のノードとは異なるノードに情報の通知の代行の依頼を送信することを特徴とする付記1乃至付記3のいずれかに記載の情報通知ノード。
(付記5)
前記負荷分散制御部が、
前記負荷分散管理テーブル保持部が保持する前記送信元に含まれるノードから、前記第1のノードを選択することを特徴とする付記1乃至付記4のいずれかに記載の情報通知ノード。
(付記6)
前記イベント制御部、又は、前記負荷分散制御部の前記自ノードで通知するか否かの判定する条件が、
前記サブスクリプションテーブル保持部が保持する前記受信登録の通知先の数、
前記配信依頼及び前記配信依頼に対するイベントの発生頻度、
自ノードの処理負荷、
通知先までの距離(ホップ数)、
自ノードのリソースの使用量、
又は
上記各条件の予想値
のいずれかを含むことを特徴とする付記1乃至付記5のいずれかに記載の情報通知ノード。
(付記7)
情報の受信登録を受け取り保持し、
保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定し、
前記受信登録の送信元の情報と前記情報を通知する通知先とを保持し、
委譲すると判定した場合に、前記受信登録の送信元の情報と前記情報を通知する通知先とに基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記情報を通知する情報通知方法。
(付記8)
第2のノードから情報の通知の代行の依頼を受け取ったとき、
前記第2のノードの依頼に含まれる前記情報を自ノードで通知するか否かを判定し、自ノードで通知しない場合、第3のノードに前記情報の通知の代行の依頼を送信することを特徴とする付記7に記載の情報通知方法。
(付記9)
第2のノードから情報の通知の代行の依頼を受け取ったとき、
前記第2のノードからの依頼に含まれる前記情報を自ノードで通知するか否かを判定し、自ノードで通知しない場合、前記第2のノードに代行の依頼の拒否を送付することを特徴とする付記7に記載の情報通知方法。
(付記10)
前記第1のノードに送付した前記情報の通知の代行の依頼に対して代行の依頼の拒否を受けた場合、第1のノードとは異なるノードに情報の通知の代行の依頼を送信することを特徴とする付記7乃至付記9のいずれかに記載の情報通知方法。
(付記11)
保持する前記送信元に含まれるノードから、前記第1のノードを選択することを特徴とする付記7乃至付記10のいずれかに記載の情報通知方法。
(付記12)
前記自ノードで通知するか否かの判定する条件が、
前記サブスクリプションテーブル保持部が保持する前記受信登録の通知先の数、
前記配信依頼及び前記配信依頼に対するイベントの発生頻度、
自ノードの処理負荷、
通知先までの距離(ホップ数)、
自ノードのリソースの使用量、
又は
上記各条件の予想値
のいずれかを含むことを特徴とする付記7乃至付記11のいずれかに記載の情報通知方法。
(付記13)
情報の受信登録を受け取り保持する処理と、
保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定する処理と、
前記受信登録の送信元の情報と前記情報を通知する通知先とを保持する処理と、
委譲すると判定した場合に、前記受信登録の送信元の情報と前記情報を通知する通知先とに基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記情報を通知する処理とをコンピュータに実行させるプログラム。
(付記14)
第2のノードから情報の通知の代行の依頼を受け取ったとき、
前記第2のノードの依頼に含まれる前記情報を自ノードで通知するか否かを判定し、自ノードで通知しない場合、第3のノードに前記情報の通知の代行の依頼を送信すること
を特徴とする付記13に記載のプログラム。
(付記15)
第2のノードから情報の通知の代行の依頼を受け取ったとき、
前記第2のノードからの依頼に含まれる前記情報を自ノードで通知するか否かを判定し、自ノードで通知しない場合、前記第2のノードに代行の依頼の拒否を送付すること
を特徴とする付記13に記載のプログラム。
(付記16)
前記第1のノードに送付した前記情報の通知の代行の依頼に対して代行の依頼の拒否を受けた場合、第1のノードとは異なるノードに情報の通知の代行の依頼を送信することを特徴とする付記13乃至付記15のいずれかに記載のプログラム。
(付記17)
保持する前記送信元に含まれるノードから、前記第1のノードを選択することを特徴とする付記13乃至付記16のいずれかに記載のプログラム。
(付記18)
前記自ノードで通知するか否かの判定する条件が、
前記サブスクリプションテーブル保持部が保持する前記受信登録の通知先の数、
前記配信依頼及び前記配信依頼に対するイベントの発生頻度、
自ノードの処理負荷、
通知先までの距離(ホップ数)、
自ノードのリソースの使用量、
又は
上記各条件の予想値
のいずれかを含むことを特徴とする付記13乃至付記17のいずれかに記載のプログラム。
(付記19)
付記1乃至付記6のいずれかに記載の情報通知ノードと、
情報の受信登録を登録するサブスクライバと、
前記情報を発行するパブリッシャと
を含む情報配信システム。
(Appendix)
(Appendix 1)
A subscription table holding unit that receives and holds registration (subscription) of information including events;
An event control unit that determines a load of notification of the information based on the held reception registration and determines whether to delegate the notification based on the load;
A load distribution management table holding unit that holds information on a transmission source of the reception registration and a notification destination that notifies the information;
When it is determined that the event control unit is to be delegated, the range of the notification destination to which the notification of the information is delegated is determined based on the information held by the load distribution management table holding unit, and the notification of the information is performed for the notification destination to be delegated An information notification node including a load distribution control unit that sends a request for delegation to the first node and requests the event control unit to notify the information about a notification destination that is not delegated.
(Appendix 2)
The load balancing control unit
When receiving a request for information notification from the second node,
It is determined whether or not the information contained in the request of the second node is notified by the own node, and when not notified by the own node, a request for proxy of the information notification is transmitted to the third node. The information notification node according to supplementary note 1 as a feature.
(Appendix 3)
The load balancing control unit
When receiving a request for information notification from the second node,
It is determined whether or not the information contained in the request from the second node is notified by the own node, and if not notified by the own node, a rejection of the substitute request is sent to the second node. The information notification node according to appendix 1.
(Appendix 4)
The load balancing control unit
When a request for a proxy request is sent in response to a proxy request for the notification of information sent to the first node, a request for a proxy for notification of information is transmitted to a node different from the first node. 4. The information notification node according to any one of supplementary notes 1 to 3, which is a feature.
(Appendix 5)
The load balancing control unit
The information notification node according to any one of appendix 1 to appendix 4, wherein the first node is selected from nodes included in the transmission source held by the load distribution management table holding unit.
(Appendix 6)
The event control unit or the condition for determining whether or not to notify the own node of the load distribution control unit,
The number of notification destinations of the reception registration held by the subscription table holding unit;
Occurrence frequency of the distribution request and the distribution request,
Processing load of the own node,
Distance (number of hops) to notification destination,
Resource usage of the own node,
The information notification node according to any one of Supplementary Note 1 to Supplementary Note 5, which includes any one of predicted values of the above-described conditions.
(Appendix 7)
Receive and hold information subscriptions,
Determining the load of notification of the information based on the received registration held, determining whether to delegate the notification based on the load;
Holding information of the sender of the reception registration and a notification destination for notifying the information;
When it is determined that the information is to be delegated, the range of the notification destinations to which the notification of the information is delegated is determined based on the information of the transmission source of the reception registration and the notification destination to which the information is notified. An information notification method for sending a request for proxy of notification to the first node and notifying the information about a notification destination that is not delegated.
(Appendix 8)
When receiving a request for information notification from the second node,
It is determined whether or not the information contained in the request of the second node is notified by the own node, and when not notified by the own node, a request for proxy of the information notification is transmitted to the third node. The information notification method according to appendix 7, which is a feature.
(Appendix 9)
When receiving a request for information notification from the second node,
It is determined whether or not the information contained in the request from the second node is notified by the own node, and if not notified by the own node, a rejection of the substitute request is sent to the second node. The information notification method according to appendix 7.
(Appendix 10)
When a request for a proxy request is sent in response to a proxy request for the notification of information sent to the first node, a request for a proxy for notification of information is transmitted to a node different from the first node. 10. The information notification method according to any one of appendix 7 to appendix 9, which is a feature.
(Appendix 11)
The information notification method according to any one of appendix 7 to appendix 10, wherein the first node is selected from nodes included in the transmission source to be held.
(Appendix 12)
The condition for determining whether or not to notify the local node is:
The number of notification destinations of the reception registration held by the subscription table holding unit;
Occurrence frequency of the distribution request and the distribution request,
Processing load of the own node,
Distance (number of hops) to notification destination,
Resource usage of the own node,
The information notification method according to any one of Supplementary Note 7 to Supplementary Note 11, which includes any one of predicted values of each of the above conditions.
(Appendix 13)
Processing to receive and hold information reception registration;
A process for determining a load of the notification of the information based on the received reception registration, and determining whether to delegate the notification based on the load;
A process of holding information on the transmission source of the reception registration and a notification destination for notifying the information;
When it is determined that the information is to be delegated, the range of the notification destinations to which the notification of the information is delegated is determined based on the information of the transmission source of the reception registration and the notification destination to which the information is notified. A program that sends a request for proxy to the first node, and causes the computer to execute a process of notifying the information about a notification destination that is not delegated.
(Appendix 14)
When receiving a request for information notification from the second node,
It is determined whether or not the information contained in the request of the second node is notified by the own node, and when not notified by the own node, a request for proxy of the information notification is transmitted to the third node. 14. The program according to appendix 13, which is characterized.
(Appendix 15)
When receiving a request for information notification from the second node,
It is determined whether or not the information contained in the request from the second node is notified by the own node, and if not notified by the own node, a rejection of the substitute request is sent to the second node. The program according to appendix 13.
(Appendix 16)
When a request for a proxy request is sent in response to a proxy request for the notification of information sent to the first node, a request for a proxy for notification of information is transmitted to a node different from the first node. The program according to any one of Supplementary Note 13 to Supplementary Note 15, which is characterized.
(Appendix 17)
The program according to any one of appendix 13 to appendix 16, wherein the first node is selected from nodes included in the transmission source to be held.
(Appendix 18)
The condition for determining whether or not to notify the local node is:
The number of notification destinations of the reception registration held by the subscription table holding unit;
Occurrence frequency of the distribution request and the distribution request,
Processing load of the own node,
Distance (number of hops) to notification destination,
Resource usage of the own node,
Or the program according to any one of appendix 13 to appendix 17, wherein the program includes any one of the predicted values of the above conditions.
(Appendix 19)
The information notification node according to any one of appendix 1 to appendix 6, and
A subscriber to register for subscription of information;
An information distribution system including a publisher that issues the information.

1 情報配信システム
9 情報配信システム
10 情報通知ノード
11 情報通知ノード
12 情報通知ノード
13 情報通知ノード
14 情報通知ノード
15 情報通知ノード
16 情報通知ノード
18 情報通知ノード
19 情報通知ノード
20 サブスクライバ
30 パブリッシャ
40 pub/subネットワーク
90 pub/subネットワーク
110 情報転送部
120 ルーティング部
130 ルーティングテーブル保持部
140 イベント制御部
150 サブスクリプションテーブル保持部
151 サブスクリプションテーブル
152 サブスクリプション条件
153 通知先ID
154 負荷委譲済
160 負荷分散制御部
170 負荷分散管理テーブル保持部
171 負荷分散管理テーブル
172 サブスクリプション条件
173 前ノードID
174 通知先ID
175 負荷担当
176 前ノード転送
201 代行依頼メッセージ
202 通知依頼メッセージ
203 代行解除メッセージ
510 通信部
520 情報処理部
530 記憶部
540 プログラム
550 記憶媒体
DESCRIPTION OF SYMBOLS 1 Information delivery system 9 Information delivery system 10 Information notification node 11 Information notification node 12 Information notification node 13 Information notification node 14 Information notification node 15 Information notification node 16 Information notification node 18 Information notification node 19 Information notification node 20 Subscriber 30 Publisher 40 pub / sub network 90 pub / sub network 110 information transfer unit 120 routing unit 130 routing table holding unit 140 event control unit 150 subscription table holding unit 151 subscription table 152 subscription condition 153 notification destination ID
154 Load delegation 160 Load distribution control unit 170 Load distribution management table holding unit 171 Load distribution management table 172 Subscription condition 173 Previous node ID
174 Notification ID
175 Load charge 176 Previous node transfer 201 Proxy request message 202 Notification request message 203 Proxy release message 510 Communication unit 520 Information processing unit 530 Storage unit 540 Program 550 Storage medium

Claims (10)

イベントを含む情報の受信登録(サブスクリプション)を受け取り保持するサブスクリプションテーブル保持部と、
保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定するイベント制御部と、
前記受信登録の送信元の情報と前記情報を通知する通知先とを保持する負荷分散管理テーブル保持部と、
前記イベント制御部が委譲すると判定した場合に、前記負荷分散管理テーブル保持部が保持する情報に基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記イベント制御部に前記情報の通知を依頼する負荷分散制御部とを含む情報通知ノード。
A subscription table holding unit that receives and holds registration (subscription) of information including events;
An event control unit that determines a load of notification of the information based on the held reception registration and determines whether to delegate the notification based on the load;
A load distribution management table holding unit that holds information on a transmission source of the reception registration and a notification destination that notifies the information;
When it is determined that the event control unit is to be delegated, the range of the notification destination to which the notification of the information is delegated is determined based on the information held by the load distribution management table holding unit, and the notification of the information is performed for the notification destination to be delegated An information notification node including a load distribution control unit that sends a request for delegation to the first node and requests the event control unit to notify the information about a notification destination that is not delegated.
前記負荷分散制御部が、
第2のノードから情報の通知の代行の依頼を受け取ったとき、
前記第2のノードの依頼に含まれる前記情報を自ノードで通知するか否かを判定し、自ノードで通知しない場合、第3のノードに前記情報の通知の代行の依頼を送信することを特徴とする請求項1に記載の情報通知ノード。
The load balancing control unit
When receiving a request for information notification from the second node,
It is determined whether or not the information contained in the request of the second node is notified by the own node, and when not notified by the own node, a request for proxy of the information notification is transmitted to the third node. The information notification node according to claim 1, wherein:
前記負荷分散制御部が、
第2のノードから情報の通知の代行の依頼を受け取ったとき、
前記第2のノードからの依頼に含まれる前記情報を自ノードで通知するか否かを判定し、自ノードで通知しない場合、前記第2のノードに代行の依頼の拒否を送付することを特徴とする請求項1に記載の情報通知ノード。
The load balancing control unit
When receiving a request for information notification from the second node,
It is determined whether or not the information contained in the request from the second node is notified by the own node, and if not notified by the own node, a rejection of the substitute request is sent to the second node. The information notification node according to claim 1.
前記負荷分散制御部が、
前記第1のノードに送付した前記情報の通知の代行の依頼に対して代行の依頼の拒否を受けた場合、第1のノードとは異なるノードに情報の通知の代行の依頼を送信することを特徴とする請求項1乃至請求項3のいずれかに記載の情報通知ノード。
The load balancing control unit
When a request for a proxy request is sent in response to a proxy request for the notification of information sent to the first node, a request for a proxy for notification of information is transmitted to a node different from the first node. The information notification node according to any one of claims 1 to 3, wherein the information notification node is provided.
前記負荷分散制御部が、
前記負荷分散管理テーブル保持部が保持する前記送信元に含まれるノードから、前記第1のノードを選択することを特徴とする請求項1乃至請求項4のいずれかに記載の情報通知ノード。
The load balancing control unit
The information notification node according to any one of claims 1 to 4, wherein the first node is selected from nodes included in the transmission source held by the load distribution management table holding unit.
前記イベント制御部、又は、前記負荷分散制御部の前記自ノードで通知するか否かの判定する条件が、
前記サブスクリプションテーブル保持部が保持する前記受信登録の通知先の数、
前記配信依頼及び前記配信依頼に対するイベントの発生頻度、
自ノードの処理負荷、
通知先までの距離(ホップ数)、
自ノードのリソースの使用量、
又は
上記各条件の予想値
のいずれかを含むことを特徴とする請求項1乃至請求項5のいずれかに記載の情報通知ノード。
The event control unit or the condition for determining whether or not to notify the own node of the load distribution control unit,
The number of notification destinations of the reception registration held by the subscription table holding unit;
Occurrence frequency of the distribution request and the distribution request,
Processing load of the own node,
Distance (number of hops) to notification destination,
Resource usage of the own node,
The information notification node according to claim 1, wherein the information notification node includes any one of predicted values of the respective conditions.
情報の受信登録を受け取り保持し、
保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定し、
前記受信登録の送信元の情報と前記情報を通知する通知先とを保持し、
委譲すると判定した場合に、前記受信登録の送信元の情報と前記情報を通知する通知先とに基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記情報を通知する情報通知方法。
Receive and hold information subscriptions,
Determining the load of notification of the information based on the received registration held, determining whether to delegate the notification based on the load;
Holding information of the sender of the reception registration and a notification destination for notifying the information;
When it is determined that the information is to be delegated, the range of the notification destinations to which the notification of the information is delegated is determined based on the information of the transmission source of the reception registration and the notification destination to which the information is notified. An information notification method for sending a request for proxy of notification to the first node and notifying the information about a notification destination that is not delegated.
第2のノードから情報の通知の代行の依頼を受け取ったとき、
前記第2のノードの依頼に含まれる前記情報を自ノードで通知するか否かを判定し、自ノードで通知しない場合、第3のノードに前記情報の通知の代行の依頼を送信することを特徴とする請求項7に記載の情報通知方法。
When receiving a request for information notification from the second node,
It is determined whether or not the information contained in the request of the second node is notified by the own node, and when not notified by the own node, a request for proxy of the information notification is transmitted to the third node. The information notification method according to claim 7, wherein
情報の受信登録を受け取り保持する処理と、
保持している前記受信登録に基づき前記情報の通知の負荷を判定し、前記負荷に基づき前記通知を委譲するか否かを判定する処理と、
前記受信登録の送信元の情報と前記情報を通知する通知先とを保持する処理と、
委譲すると判定した場合に、前記受信登録の送信元の情報と前記情報を通知する通知先とに基づき前記情報の通知を委譲する通知先の範囲を判定し、委譲する通知先については前記情報の通知の代行の依頼を第1のノードに送付し、委譲しない通知先については前記情報を通知する処理とをコンピュータに実行させるプログラム。
Processing to receive and hold information reception registration;
A process for determining a load of the notification of the information based on the received reception registration, and determining whether to delegate the notification based on the load;
A process of holding information on the transmission source of the reception registration and a notification destination for notifying the information;
When it is determined that the information is to be delegated, the range of the notification destinations to which the notification of the information is delegated is determined based on the information of the transmission source of the reception registration and the notification destination to which the information is notified. A program that sends a request for proxy to the first node, and causes the computer to execute a process of notifying the information about a notification destination that is not delegated.
請求項1乃至請求項6のいずれかに記載の情報通知ノードと、
情報の受信登録を登録するサブスクライバと、
前記情報を発行するパブリッシャと
を含む情報配信システム。
An information notification node according to any one of claims 1 to 6,
A subscriber to register for subscription of information;
An information distribution system including a publisher that issues the information.
JP2011003756A 2011-01-12 2011-01-12 Information notification node, information distribution system, information notification method, and program Withdrawn JP2012146113A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011003756A JP2012146113A (en) 2011-01-12 2011-01-12 Information notification node, information distribution system, information notification method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011003756A JP2012146113A (en) 2011-01-12 2011-01-12 Information notification node, information distribution system, information notification method, and program

Publications (1)

Publication Number Publication Date
JP2012146113A true JP2012146113A (en) 2012-08-02

Family

ID=46789617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011003756A Withdrawn JP2012146113A (en) 2011-01-12 2011-01-12 Information notification node, information distribution system, information notification method, and program

Country Status (1)

Country Link
JP (1) JP2012146113A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014157460A1 (en) * 2013-03-28 2014-10-02 日本電気株式会社 Communication system, control apparatus, information collection method and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014157460A1 (en) * 2013-03-28 2014-10-02 日本電気株式会社 Communication system, control apparatus, information collection method and program
JPWO2014157460A1 (en) * 2013-03-28 2017-02-16 日本電気株式会社 COMMUNICATION SYSTEM, CONTROL DEVICE, INFORMATION COLLECTION METHOD, AND PROGRAM

Similar Documents

Publication Publication Date Title
CN109618005B (en) Method for calling server and proxy server
CN100417158C (en) Scalable resonrce discovery and reconfiguration for distributed computer networks
US8032578B2 (en) Using distributed queues in an overlay network
JP5381998B2 (en) Cluster control system, cluster control method, and program
US20090070456A1 (en) Protocol for enabling dynamic and scalable federation of enterprise service buses
US20090077251A1 (en) Protocol for enabling dynamic and hierarchical interconnection of autonomous federations of enterprise service buses
EP1034641B1 (en) A routing functionality application in a data communications network with a number of hierarchical nodes
JP5847185B2 (en) Content sharing method and apparatus using group change information in content-centric network environment
US20080034078A1 (en) Presence information management system, presence server device, gateway device and client device
EP2514173B1 (en) Localization of peer to peer traffic
JP2011014022A (en) Content distribution control method and device, and content receiving terminal
US20050210152A1 (en) Providing availability information using a distributed cache arrangement and updating the caches using peer-to-peer synchronization strategies
US9426115B1 (en) Message delivery system and method with queue notification
JP5526780B2 (en) Load distribution system, service processing server, load distribution method, and load distribution program
JP2012146113A (en) Information notification node, information distribution system, information notification method, and program
WO2014171413A1 (en) Message system for avoiding processing-performance decline
WO2017141807A1 (en) Communication system, edge server, first broker, second broker, method and storage medium
Deogirikar et al. An improved publish-subscribe method in application layer protocol for iot
JP2000200245A (en) System and method for information utilization
JP2005092872A (en) Service processing system, its processing method and its processing program
JP5810919B2 (en) Event distribution device, event distribution system, and event distribution method
JPWO2015029321A1 (en) COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM
JP2006171917A (en) Protocol for radio multi-hop ad hoc network
CN114500660B (en) Request processing method, device, equipment and computer readable storage medium
Deogirikar et al. A comprehensive development and testing of improved publish-subscribe method for IoT

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140401