JP2009110165A - Load balancing processing method in publish/subscribe communication, and execution device and processing program therefor - Google Patents

Load balancing processing method in publish/subscribe communication, and execution device and processing program therefor Download PDF

Info

Publication number
JP2009110165A
JP2009110165A JP2007280396A JP2007280396A JP2009110165A JP 2009110165 A JP2009110165 A JP 2009110165A JP 2007280396 A JP2007280396 A JP 2007280396A JP 2007280396 A JP2007280396 A JP 2007280396A JP 2009110165 A JP2009110165 A JP 2009110165A
Authority
JP
Japan
Prior art keywords
topic
message
subscribe
request
node
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.)
Pending
Application number
JP2007280396A
Other languages
Japanese (ja)
Inventor
Hironari Tsuzuki
裕也 都築
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007280396A priority Critical patent/JP2009110165A/en
Publication of JP2009110165A publication Critical patent/JP2009110165A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide load balancing constitution on a subscribe side (reception side), in publish/subscribe communication. <P>SOLUTION: A proxy publish/subscribe (pub/sub) communication node is arranged between a communication node for executing the publish/subscribe communication and a broker for executing message communication. The proxy publish/subscribe communication node issues a publish/subscribe request to the broker, as a proxy of a plurality of connected communication nodes. The subscribe request is issued to the broker only when receiving the first request, when a proxy pub/sub server receives the subscribe request as the same topic from the plurality of nodes. When receiving the subsequent subscribe requests, only the communication node having issued the request is stored. When receiving a publish message to the topic from the broker, one of the plurality of stored communication nodes having issued the subscribe request is selected and distributed. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明はパブリッシュ/サブスクライブ通信に関わり、配信データを複数ノードへ分散させることにより各ノードで分散処理を実行させる負荷分散処理方法に関するものである。   The present invention relates to publish / subscribe communication, and relates to a load distribution processing method for executing distributed processing at each node by distributing distribution data to a plurality of nodes.

メッセージを送受信する方式として広く使用されているモデルにPoint-to-Point方式がある。これは、送信側が受信側の宛先を指定してメッセージを送信する方式であり、送信側が受信する宛先を意識する必要がある。一方、Publish-Subscribe方式という通信モデルがある。Publish-Subscribe方式では、送信側は宛先を意識せずにメッセージを発行(Publish)し、そのメッセージを受け取ったメッセージングシステムがメッセージの種類や属性を見て、そのメッセージの購読を要求(subscribe)している受信側に対してメッセージを配送する。Publish-Subscribe方式では、送信側と受信側がお互いに相手が誰でどこにいるかを意識する必要がなく、また受信側は自分が必要とするメッセージのみを受け取ることができる方式である。送信側、受信側がお互いを意識する必要がないため、サービスの追加、削除といった構成変更が容易な方式である。   A point-to-point method is widely used as a method for sending and receiving messages. This is a method in which the transmitting side transmits a message by specifying the destination on the receiving side, and it is necessary to be aware of the destination received by the transmitting side. On the other hand, there is a communication model called Publish-Subscribe method. In the Publish-Subscribe method, the sender issues a message without considering the destination (Publish), and the messaging system that receives the message looks at the message type and attributes and requests to subscribe to the message (subscribe). Deliver the message to the receiving party. In the Publish-Subscribe method, there is no need for the sending side and the receiving side to be aware of who and where the other party is, and the receiving side can receive only the messages that it needs. Since it is not necessary for the transmitting side and the receiving side to be aware of each other, the configuration can be easily changed such as adding and deleting services.

Point-to-PointとPublish-Subscribeのメッセージング仕様の一例では、送信側はトピックに対してメッセージを送信し、メッセージはそのトピックをサブスクライブ(購読)している全てのアプリケーションが受信できる。サブスクライブしている全てのアプリケーションの受信が終わるとその時点でトピックからそのメッセージは削除される。   In one example of a point-to-point and publish-subscribe messaging specification, the sender sends a message to a topic, and the message can be received by any application that subscribes to the topic. When all subscribed applications have been received, the message is deleted from the topic.

Point-to-Point方式が1対1通信であるのに対して、Publish-Subscribe方式は1対N通信である。Publish-Subscribe方式が実システムに適用された例として、株価配信システムがある。ユーザがある会社の株価の購読(subscribe)を登録しておくと、その会社の更新された株価が送信(Publish)される。購読(subscribe)を登録した複数のユーザには同じ情報が通知される。   The point-to-point method is one-to-one communication, whereas the publish-subscribe method is one-to-N communication. A stock price distribution system is an example in which the Publish-Subscribe method is applied to a real system. When a user registers a stock price subscription of a company, the updated stock price of the company is transmitted (Publish). The same information is notified to a plurality of users who have subscribed.

通信構成としては、各クライアントプログラムはブローカと呼ばれるメッセージ配信ノードに接続され、さらにブローカ間が接続する構成が考えられる(特許文献1)。   As a communication configuration, a configuration in which each client program is connected to a message delivery node called a broker, and the brokers are further connected (Patent Document 1).

ところで、多数のクライアントプログラムからの処理要求が多量に発生するシステムでは、クライアントプログラムが動作する装置とサーバプログラムが動作する装置との間に負荷分散装置を設置する等して、サーバプログラムが動作する処理装置を複数配置することで、処理要求の負荷を複数装置に分散させる構成をとるのが一般的である。通信にPoint-to-Point方式を使用した場合にこの構成は適用できる。しかし、Publish-Subscribe方式を使用した場合、複数配置した処理装置からメッセージの購読要求(subscribe)がなされるため、同一メッセージが複数の処理装置に配信されることになり負荷分散の構成をとることができない。   By the way, in a system in which a large number of processing requests are generated from a large number of client programs, the server program operates by installing a load balancer between the device where the client program operates and the device where the server program operates. Generally, a configuration is adopted in which a plurality of processing devices are arranged to distribute the processing request load to a plurality of devices. This configuration can be applied when the point-to-point method is used for communication. However, when the Publish-Subscribe method is used, a message subscription request (subscribe) is made from a plurality of processing devices, so that the same message is distributed to a plurality of processing devices, and a load balancing configuration is adopted. I can't.

特表2006−523905号Special table 2006-523905

前記の様にパブリッシュ/サブスクライブ通信では、送信側と受信側がお互いに相手が誰でどこにいるかを意識する必要がなく、また受信側は自分が必要とするメッセージのみを受け取ることができるので、この通信を用いた負荷分散処理システムを構築すれば、送信側、受信側がお互いを意識する必要がなく、サービスの追加、削除といった構成変更が容易な負荷分散処理システムが構築可能であると考えられるが、前記の様に従来の技術ではパブリッシュ/サブスクライブ通信を使用した場合に負荷分散の構成をとることが困難であった。   As described above, in publish / subscribe communication, the sending side and the receiving side do not need to be aware of who and where the other party is, and the receiving side can receive only the message that it needs. If a load distribution processing system using communication is constructed, it is considered that it is possible to construct a load distribution processing system in which the transmission side and the reception side do not need to be aware of each other and the configuration can be easily changed such as addition and deletion of services. As described above, in the conventional technique, it is difficult to adopt a load distribution configuration when publish / subscribe communication is used.

本発明の目的は、上記問題点を解決し、パブリッシュ/サブスクライブ通信においてサブスクライブ側(受信側)の負荷分散構成を実現することが可能な技術を提供することにある。   An object of the present invention is to solve the above-described problems and provide a technique capable of realizing a load sharing configuration on the subscribe side (receive side) in publish / subscribe communication.

本発明は、パブリッシュ/サブスクライブ通信でメッセージを配信して負荷分散処理を複数ノードに実行させる負荷分散処理システムであって、あるトピックについての最初のサブスクライブ要求のブローカへの送信や選択した一つのノードへのブローカからのメッセージの配信を代理サーバが行うことで、メッセージを用いた処理を複数のノードで分散して実行させるものである。   The present invention is a load distribution processing system that distributes a message by publish / subscribe communication and causes a plurality of nodes to execute load distribution processing. The first subscribing request for a certain topic is transmitted to a broker or selected one. The proxy server distributes the message from the broker to one node, so that processing using the message is distributed and executed by a plurality of nodes.

本発明では、パブリッシュ/サブスクライブ通信を行なう通信ノードとメッセージの配信を実行するブローカとの間に代理のパブリッシュ/サブスクライブ(pub/sub)通信ノード(代理pub/subサーバ)を配置する。この代理pub/subサーバは接続されている複数の通信ノードの代理としてブローカに対してパブリッシュ/サブスクライブ要求を発行する。   In the present invention, a proxy publish / subscribe (pub / sub) communication node (proxy pub / sub server) is arranged between a communication node that performs publish / subscribe communication and a broker that executes message distribution. This proxy pub / sub server issues a publish / subscribe request to the broker as a proxy for a plurality of connected communication nodes.

すなわち本発明の負荷分散処理方法では、代理pub/subサーバが複数ノードから同一のトピックでサブスクライブ要求を受信した場合に、最初の要求を受信した時にのみブローカに対してサブスクライブ要求を発行し、後続のサブスクライブ要求受付時には、どの通信ノードから受信したかを記憶しておくだけにするステップと、ブローカからそのトピックに対するパブリッシュメッセージを受信した場合に、記憶しておいたサブスクライブ要求を発行した複数の通信ノードから一つを選択して配信するステップを有し、代理pub/subサーバがサブスクライブ要求をキャンセルするアンサブスクライブ要求を通信ノードから受信した場合、記憶していた全ての通信ノードからアンサブスクライブ要求を受信した時にのみブローカにアンサブスクライブ要求を送信するステップを有することで負荷分散処理を実現する。   That is, in the load distribution processing method of the present invention, when the proxy pub / sub server receives a subscribe request on the same topic from multiple nodes, it issues a subscribe request to the broker only when the first request is received. When receiving a subsequent subscribe request, only remember which communication node received it, and issue a stored subscribe request when a publish message for that topic is received from the broker If the proxy pub / sub server receives an unsubscribe request for canceling the subscribe request from the communication node, all stored communications are included. Unsubscribe to the broker only when an unsubscribe request is received from the node To achieve load distribution processing by comprising sending a request.

また、予め上記のステップに従い処理するトピック名を指定することで、サブスクライブ要求を発行した複数の通信ノードから一つを選択してパブリッシュメッセージを配信するか、従来通りサブスクライブ要求を発行した全ての通信ノードにパブリッシュメッセージを配信するかを選択することも可能とする。   Also, by specifying the topic name to be processed according to the above steps in advance, you can select one of the communication nodes that issued the subscribe request and distribute the publish message, or you can issue all the subscribe requests as usual It is also possible to select whether to distribute the publish message to the communication node.

本発明により、パブリッシュ/サブスクライブ通信において複数のサブスクライバを配置して負荷分散構成を実現できる。   According to the present invention, a load distribution configuration can be realized by arranging a plurality of subscribers in publish / subscribe communication.

図1はパブリッシュ/サブスクライブ通信のネットワークの実施例であり、各通信ノード間のメッセージ配信を司るブローカ120、各通信ノード101、パブリッシュ/サブスクライブ通信の負荷分散を制御する代理pub/subサーバ130、代理pub/subサーバ130に接続された通信ノード140から構成され、各装置はネットワーク及び通信装置を介してパブリッシュ/サブスクライブ通信を行う。ここで、代理pub/subサーバ130は装置であり、メモリ上のpub/subサーバ104及びpub/subサーバ143はプログラムである。   FIG. 1 shows an example of a publish / subscribe communication network. A broker 120 that manages message distribution between communication nodes, each communication node 101, and a proxy pub / sub server 130 that controls load distribution of publish / subscribe communication. The communication node 140 is connected to the proxy pub / sub server 130, and each device performs publish / subscribe communication via the network and the communication device. Here, the proxy pub / sub server 130 is a device, and the pub / sub server 104 and the pub / sub server 143 on the memory are programs.

通信ノード101はメモリ103とCPU102で構成される。メモリ103にはノード内でのパブリッシュ/サブスクライブ処理を制御するpub/subサーバ104と、パブリッシュ/サブスクライブを要求するアプリケーション105が配置されている。   The communication node 101 includes a memory 103 and a CPU 102. In the memory 103, a pub / sub server 104 that controls publish / subscribe processing in the node and an application 105 that requests publish / subscribe are arranged.

通信ノード140はブローカに接続された通信ノード101にサービスを提供するノードであり、メモリ141とCPU142で構成される。メモリ141にはノード内でのパブリッシュ/サブスクライブ処理を制御するpub/subサーバ143と、サービスを提供するサービスA144、サービスB145が配置されている。   The communication node 140 is a node that provides a service to the communication node 101 connected to the broker, and includes a memory 141 and a CPU 142. In the memory 141, a pub / sub server 143 that controls publish / subscribe processing in the node, and a service A 144 and a service B 145 that provide services are arranged.

サービスA144、サービスB145はトピックを指定したサブスクライブ要求をpub/subサーバ143に発行し、通信ノード101からパブリッシュされたメッセージの内サービスA144、サービスB145が指定したトピックと一致するメッセージを受信する。通信ノード140は複数存在し、全て代理pub/subサーバ130に接続されており、複数の通信ノード140は代理pub/subサーバ130からのメッセージを受信してサービスA144及びサービスB145の処理を負荷分散により行う。   The service A 144 and the service B 145 issue a subscribe request specifying a topic to the pub / sub server 143, and receive a message that matches the topic specified by the service A 144 and the service B 145 in the message published from the communication node 101. There are a plurality of communication nodes 140, all of which are connected to the proxy pub / sub server 130. The plurality of communication nodes 140 receive messages from the proxy pub / sub server 130 and load balance the processing of the service A 144 and the service B 145. To do.

代理pub/subサーバ130はメモリ132、CPU131、トピック定義部135とノードリスト管理部136で構成される。メモリ132にはパブリッシュ/サブスクライブ通信メッセージを制御するトピック検出部133とブローカ120から通知されたメッセージを各通信ノード140に負荷を分散させて送信する負荷分散部134が配置される。トピック検出部133は負荷分散対象のトピックを管理するトピック定義部135と各トピックのメッセージを負荷分散して配信するノード一覧を管理するノードリスト管理部136の情報を参照、更新する。   The proxy pub / sub server 130 includes a memory 132, a CPU 131, a topic definition unit 135, and a node list management unit 136. The memory 132 includes a topic detection unit 133 that controls publish / subscribe communication messages, and a load distribution unit 134 that distributes a message notified from the broker 120 to each communication node 140 and distributes the load. The topic detection unit 133 refers to and updates information of a topic definition unit 135 that manages a load distribution target topic and a node list management unit 136 that manages a node list that distributes and distributes messages of each topic.

代理pub/subサーバ130をトピック検出部133や負荷分散部134として機能させる為のプログラムは、CD−ROM等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はCD−ROM以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。   A program for causing the proxy pub / sub server 130 to function as the topic detection unit 133 and the load distribution unit 134 is recorded on a recording medium such as a CD-ROM and stored in a magnetic disk, and then loaded into a memory and executed. Shall be. The recording medium for recording the program may be a recording medium other than the CD-ROM. The program may be used by installing it from the recording medium into the information processing apparatus, or the program may be used by accessing the recording medium through a network.

図2はトピック定義部135の構成について示すものである。トピック定義部135はトピック識別子201、トピック名202、一致パターン203、ノードリスト名204から成る複数のレコード211、212、213、214から構成される。   FIG. 2 shows the configuration of the topic definition unit 135. The topic definition unit 135 includes a plurality of records 211, 212, 213, and 214 including a topic identifier 201, a topic name 202, a matching pattern 203, and a node list name 204.

本実施形態では、代理pub/subサーバ130が送受信するメッセージを負荷分散対象とするかはトピック識別子201、一致パターン203により決定されるものとする。一致パターン203には「前置」221、「後置」222、「全体」223がある。   In this embodiment, it is assumed that whether a message transmitted / received by the proxy pub / sub server 130 is a load distribution target is determined by the topic identifier 201 and the matching pattern 203. The matching pattern 203 includes “front” 221, “post” 222, and “whole” 223.

代理pub/subサーバ130と通信ノード140間で送受信されるトピック名とブローカ120に接続された通信ノード101間で送受信されるメッセージのトピック名を一致させる場合は、一致パターン203に「全体」223を設定しておく。レコード213がその例にあたる。   When the topic name transmitted / received between the proxy pub / sub server 130 and the communication node 140 is matched with the topic name of the message transmitted / received between the communication node 101 connected to the broker 120, the “total” 223 is set as the matching pattern 203. Is set in advance. The record 213 is an example.

ブローカ120に接続された通信ノード101間で送受信されるメッセージのトピック名の前にトピック識別子201を付加したものを代理pub/subサーバ130と通信ノード140間で送受信されるトピック名とする場合は、一致パターン203に「前置」221を設定しておく。レコード211、212がその例である。レコード211の場合、ブローカ120と通信ノード101間でのトピック名は”/request_A”となるが、代理pub/subサーバ130と通信ノード140間のトピック名は”/#LB_prefix/request_A”となる。レコード212の場合、ブローカ120と通信ノード101間でのトピック名は”/request_B”となるが、代理pub/subサーバ130と通信ノード140間のトピック名は”/#LB_prefix/request_B”となる。   When a topic name added to a topic name 201 in front of a topic name of a message transmitted / received between the communication nodes 101 connected to the broker 120 is used as a topic name transmitted / received between the proxy pub / sub server 130 and the communication node 140 In this case, “Prefix” 221 is set in the matching pattern 203. Records 211 and 212 are examples thereof. In the case of the record 211, the topic name between the broker 120 and the communication node 101 is “/ request_A”, but the topic name between the proxy pub / sub server 130 and the communication node 140 is “/ # LB_prefix / request_A”. In the case of the record 212, the topic name between the broker 120 and the communication node 101 is “/ request_B”, but the topic name between the proxy pub / sub server 130 and the communication node 140 is “/ # LB_prefix / request_B”.

ブローカ120に接続された通信ノード101間で送受信されるメッセージのトピック名の後にトピック識別子201を付加したものを代理pub/subサーバ130と通信ノード140間で送受信されるトピック名とする場合は、一致パターン203に「後置」222を設定しておく。レコード214の場合、ブローカ120と通信ノード101間でのトピック名は”/request_C”となるが、代理pub/subサーバ130と通信ノード140間のトピック名は”/request_C/#LB_prefix”となる。   When the topic name of a message transmitted / received between the communication nodes 101 connected to the broker 120 is added with the topic identifier 201 as a topic name transmitted / received between the proxy pub / sub server 130 and the communication node 140, A “postfix” 222 is set in the matching pattern 203. In the case of the record 214, the topic name between the broker 120 and the communication node 101 is “/ request_C”, but the topic name between the proxy pub / sub server 130 and the communication node 140 is “/ request_C / # LB_prefix”.

一致パターン203に「前置」221、「後置」222を指定すると、代理pub/subサーバ130に接続された通信ノード140の各サービス144、145は負荷分散対象とする全トピックを予めトピック定義部135に指定する必要がなく、サービスが追加された時も、ある規則に基づいたトピック名を指定してサブスクライブすれば良い。ノードリスト名204は該当トピックの負荷分散対象ノードの一覧を示すものであり、ノードリスト管理部136のノードリストポインタ301の位置を示すものである。   When “Prefix” 221 and “Postfix” 222 are designated as the matching pattern 203, the services 144 and 145 of the communication node 140 connected to the proxy pub / sub server 130 define all topics to be load-balanced in advance as topic definitions. It is not necessary to specify in the section 135, and when a service is added, a topic name based on a certain rule may be specified and subscribed. The node list name 204 indicates a list of load distribution target nodes of the corresponding topic, and indicates the position of the node list pointer 301 of the node list management unit 136.

図3はノードリスト管理部136の構成を示すものである。ノードリスト管理部136はノードリストポインタ301とノードリスト302により構成される。ノードリストポインタ301にはトピック定義部135の各レコード211、212、213、214対応のポインタ領域311、312、313、314が確保される。ノードリスト302にはポインタ領域311からポイントされる負荷分散対象のノード321、322が確保される。   FIG. 3 shows the configuration of the node list management unit 136. The node list management unit 136 includes a node list pointer 301 and a node list 302. In the node list pointer 301, pointer areas 311, 312, 313, and 314 corresponding to the records 211, 212, 213, and 214 of the topic definition unit 135 are secured. In the node list 302, nodes 321 and 322 for load distribution pointed from the pointer area 311 are secured.

図4で代理pub/subサーバ130が通信ノード140からサブスクライブ要求を受付けた流れを示す。代理pub/subサーバ130のトピック検出部133は、サブスクライブ要求を受付けると(ステップ40)、トピック定義部135に一致するトピックがあるかを判定する(ステップ41)。   FIG. 4 shows a flow in which the proxy pub / sub server 130 receives a subscribe request from the communication node 140. When the topic detection unit 133 of the proxy pub / sub server 130 receives the subscribe request (step 40), the topic detection unit 133 determines whether there is a matching topic in the topic definition unit 135 (step 41).

ステップ41で判定した結果がNOの場合、サブスクライブ要求受付け処理を終了する(ステップ47)。またステップ41で判定した結果がYESの場合、前記受付けたサブスクライブ要求と同一のサブスクライブ要求をブローカ120へ送信済みであるかを判定する(ステップ42)。   If the result determined in step 41 is NO, the subscribe request acceptance process is terminated (step 47). If the result of determination in step 41 is YES, it is determined whether the same subscribe request as the accepted subscribe request has been transmitted to the broker 120 (step 42).

ステップ42で判定した結果がYESの場合、ステップ45へ進む。またステップ42で判定した結果がNOの場合、トピック定義部135の一致パターンに従いサブスクライブ要求を作成し直し(ステップ43)、その作成し直したサブスクライブ要求をブローカ120へ送信する(ステップ44)。   If the determination result in step 42 is YES, the process proceeds to step 45. If the determination result in step 42 is NO, a subscribe request is recreated according to the matching pattern of the topic definition unit 135 (step 43), and the recreated subscribe request is transmitted to the broker 120 (step 44). .

次に、ノードリスト管理部136に該当ノードがあるかを判定する(ステップ45)。ステップ45で判定した結果がNOの場合にのみ、ノードリスト管理部136に該当ノードを追加し(ステップ46)、サブスクライブ要求受付け処理を終了する(ステップ47)。   Next, it is determined whether there is a corresponding node in the node list management unit 136 (step 45). Only when the result determined in step 45 is NO, the node is added to the node list management unit 136 (step 46), and the subscription request acceptance process is terminated (step 47).

図5でトピック定義部135に一致するトピックがあるかを判定する処理(ステップ41)の流れを示す。代理pub/subサーバ130のトピック検出部133は、ステップ50で処理を開始した後、一致パターン203が「全体」223であり、かつ、該当トピック名と同一のトピック識別子201のレコードが存在するか判定する(ステップ51)。   FIG. 5 shows a flow of processing (step 41) for determining whether or not there is a matching topic in the topic definition unit 135. After the topic detection unit 133 of the proxy pub / sub server 130 starts the processing in step 50, whether the matching pattern 203 is “whole” 223 and a record having the same topic identifier 201 as the corresponding topic name exists. Determination is made (step 51).

ステップ51での判定の結果がYESの場合、最終判定結果もYESとなり(ステップ55)、判定処理を終了する(ステップ56)。ステップ51での判定の結果がNOの場合、一致パターン203が「前置」221であり、かつ、該当トピック名の先頭から比較して前方一致するトピック識別子201が存在するか判定する(ステップ52)。   If the determination result in step 51 is YES, the final determination result is also YES (step 55), and the determination process is terminated (step 56). If the result of determination in step 51 is NO, it is determined whether the matching pattern 203 is “prefix” 221 and there is a topic identifier 201 that matches forward from the beginning of the corresponding topic name (step 52). ).

ステップ52での判定の結果がYESの場合、最終判定結果もYESとなり(ステップ55)、判定処理を終了する(ステップ56)。ステップ52での判定の結果がNOの場合、一致パターン203が「後置」222であり、かつ、該当トピック名の後端から比較して後方一致するトピック識別子201が存在するか判定する(ステップ53)。   If the determination result in step 52 is YES, the final determination result is also YES (step 55), and the determination process is terminated (step 56). If the determination result in step 52 is NO, it is determined whether the matching pattern 203 is “postfix” 222 and there is a topic identifier 201 that matches backward from the rear end of the topic name (step). 53).

ステップ53での判定の結果がYESの場合、最終判定結果もYESとなり(ステップ55)、判定処理を終了する(ステップ56)。ステップ53での判定の結果がNOの場合、最終判定結果もNOとなり(ステップ54)、判定処理を終了する(ステップ56)。   If the determination result in step 53 is YES, the final determination result is also YES (step 55), and the determination process is terminated (step 56). If the determination result in step 53 is NO, the final determination result is also NO (step 54), and the determination process is terminated (step 56).

図6でトピック定義部135の一致パターンに従いサブスクライブ要求を作成し直す処理(ステップ43)の流れを示す。代理pub/subサーバ130のトピック検出部133は、ステップ60で処理を開始した後、トピック定義部135の一致したレコードの一致パターン203が「前置」221であるかを判定する(ステップ61)。   FIG. 6 shows a flow of processing (step 43) for re-creating a subscribe request according to the matching pattern of the topic definition unit 135. The topic detection unit 133 of the proxy pub / sub server 130 starts processing in step 60, and then determines whether the matching pattern 203 of the matched record in the topic definition unit 135 is “prefix” 221 (step 61). .

ステップ61で判定した結果がYESの場合、サブスクライブ要求の該当トピック名の前方からトピック識別子201の文字列を削除する(ステップ62)。そして、ここで作成したトピック名に一致するレコードがトピック定義部135に無い場合、作成したトピック名を持つレコードを追加し(ステップ63)、処理を終了する(ステップ67)。またステップ61で判定した結果がNOの場合、トピック定義部135の一致したレコードの一致パターン203が「後置」222であるかを判定する(ステップ64)。   If the result of the determination in step 61 is YES, the character string of the topic identifier 201 is deleted from the front of the corresponding topic name in the subscribe request (step 62). If the topic definition unit 135 does not have a record that matches the topic name created here, a record having the created topic name is added (step 63), and the process ends (step 67). If the result of the determination in step 61 is NO, it is determined whether the matching pattern 203 of the matched record in the topic definition unit 135 is “postfix” 222 (step 64).

ステップ64で判定した結果がYESの場合、サブスクライブ要求の該当トピック名の後方からトピック識別子201の文字列を削除する(ステップ65)。そして、ここで作成したトピック名に一致するレコードがトピック定義部135に無い場合、作成したトピック名を持つレコードを追加し(ステップ66)、処理を終了する(ステップ67)。またステップ64で判定した結果がNOの場合は処理を終了する(ステップ67)。   If the result of the determination in step 64 is YES, the character string of the topic identifier 201 is deleted from the back of the corresponding topic name in the subscribe request (step 65). If the topic definition unit 135 does not have a record that matches the topic name created here, a record having the created topic name is added (step 66), and the process ends (step 67). If the result determined in step 64 is NO, the process is terminated (step 67).

図7で代理pub/subサーバ130が通信ノード101から発行されたパブリッシュメッセージを受信する処理の流れを示す。代理pub/subサーバ130のトピック検出部133は、ステップ70でパブリッシュメッセージ受信した後、トピック定義部135のトピック名202に一致するトピックがあるかを判定する(ステップ71)。   FIG. 7 shows a flow of processing in which the proxy pub / sub server 130 receives a publish message issued from the communication node 101. The topic detection unit 133 of the proxy pub / sub server 130 determines whether there is a topic that matches the topic name 202 of the topic definition unit 135 after receiving the publish message in step 70 (step 71).

ステップ71での判定の結果がNOの場合、受信したパブリッシュメッセージを該当トピックに対してサブスクライブしている全ての通信ノード140に送信し(ステップ75)、パブリッシュメッセージ受信処理を終了する(ステップ76)。ステップ71での判定の結果がYESの場合、トピック定義部135の一致パターン203に従いパブリッシュメッセージを作成し直す(ステップ72)。   If the result of the determination in step 71 is NO, the received publish message is transmitted to all the communication nodes 140 subscribed to the topic (step 75), and the publish message receiving process is terminated (step 76). ). If the result of determination in step 71 is YES, a publish message is recreated according to the matching pattern 203 of the topic definition unit 135 (step 72).

そしてノードリスト管理部136のノードリスト302の該当ノードを負荷分散部134に渡し宛先を決定する(ステップ73)。ここで、負荷分散部134では、該当ノードの情報から一つを選択してメッセージを配信するノードを選択する。この様に負荷分散部134はメッセージを複数ノードに割振り負荷を分散させる機構を実現するものであるが、この負荷分散の機構に関しては本発明の対象外である。次に負荷分散部134は、決定した宛先にパブリッシュメッセージを送信し(ステップ74)、処理を終了する(ステップ75)。   Then, the node of the node list 302 of the node list management unit 136 is passed to the load distribution unit 134 to determine the destination (step 73). Here, the load distribution unit 134 selects one of the information of the corresponding node and selects a node to distribute the message. As described above, the load distribution unit 134 implements a mechanism for distributing the message allocation load to a plurality of nodes, but this load distribution mechanism is outside the scope of the present invention. Next, the load distribution unit 134 transmits a publish message to the determined destination (step 74), and ends the process (step 75).

図8で、トピック定義部135の一致パターン203に従いパブリッシュメッセージを作成し直す処理(ステップ72)の流れを示す。代理pub/subサーバ130のトピック検出部133は、ステップ80で処理を開始した後、トピック定義部135のトピック名202に一致するトピックがあり、かつ、一致パターン203が「前置」221であるかを判定する(ステップ81)。   FIG. 8 shows a flow of processing (step 72) for recreating a publish message in accordance with the matching pattern 203 of the topic definition unit 135. The topic detection unit 133 of the proxy pub / sub server 130 starts the processing in step 80, and then has a topic that matches the topic name 202 of the topic definition unit 135 and the matching pattern 203 is “Prefix” 221. Is determined (step 81).

ステップ81で判定した結果がYESの場合、該当トピックの前方にトピック定義部135のトピック識別子201を付加し(ステップ82)、処理を終了する(ステップ85)。ステップ81での判定の結果がNOの場合、トピック定義部135のトピック名202に一致するトピックがあり、かつ、一致パターン203が「後置」222であるかを判定する(ステップ83)。ステップ83で判定した結果がYESの場合、該当トピックの後方にトピック定義部135のトピック識別子201を付加し(ステップ84)、処理を終了する(ステップ85)。   If the result of the determination in step 81 is YES, the topic identifier 201 of the topic definition unit 135 is added in front of the topic (step 82), and the process ends (step 85). If the determination result in step 81 is NO, it is determined whether there is a topic that matches the topic name 202 of the topic definition unit 135 and the matching pattern 203 is “postfix” 222 (step 83). If the result of the determination in step 83 is YES, the topic identifier 201 of the topic definition unit 135 is added behind the corresponding topic (step 84), and the process ends (step 85).

図9で、代理pub/subサーバ130が通信ノード140からアンサブスクライブ要求を受付けた流れを示す。代理pub/subサーバ130のトピック検出部133は、ステップ90でアンサブスクライブ要求を受付けると、トピック定義部135に一致するトピックがあるかを判定する(ステップ91)。この判定処理の流れは図5に示される。   FIG. 9 shows a flow in which the proxy pub / sub server 130 receives an unsubscribe request from the communication node 140. When the topic detection unit 133 of the proxy pub / sub server 130 receives the unsubscribe request in Step 90, the topic detection unit 133 determines whether there is a topic that matches the topic definition unit 135 (Step 91). The flow of this determination process is shown in FIG.

ステップ91で判定した結果がNOの場合、アンサブスクライブ要求受付け処理を終了する(ステップ98)。またステップ91で判定した結果がYESの場合、ノードリスト管理部136のノードリスト302の該当ノードを削除する(ステップ92)。   If the result of the determination in step 91 is NO, the unsubscribe request acceptance process ends (step 98). If the result determined in step 91 is YES, the corresponding node in the node list 302 of the node list management unit 136 is deleted (step 92).

次にノードリスト管理部136の該当ノードリストポインタから指されるノードが1つ以上存在するか判定する(ステップ93)。ステップ93で判定した結果がYESの場合、アンサブスクライブ要求受付け処理を終了する(ステップ98)。またステップ93で判定した結果がNOの場合、トピック定義部の一致パターンに従いアンサブスクライブ要求を作成し直す(ステップ94)。そして作成し直したアンサブスクライブ要求をブローカ120に対して送信する(ステップ95)。次に、ステップ93で判定した結果がNOの場合、トピック定義部135の該当レコードのトピック名202をクリアする(ステップ96)。そして、同一トピック識別子201のレコードが他に存在する場合にのみ該当レコードを削除し、アンサブスクライブ要求受付け処理を終了する(ステップ98)。   Next, it is determined whether one or more nodes pointed to by the corresponding node list pointer of the node list management unit 136 exist (step 93). If the result of the determination in step 93 is YES, the unsubscribe request acceptance process ends (step 98). If the result determined in step 93 is NO, an unsubscribe request is recreated according to the matching pattern of the topic definition part (step 94). Then, the re-subscribed unsubscribe request is transmitted to the broker 120 (step 95). Next, when the result determined in step 93 is NO, the topic name 202 of the corresponding record in the topic definition unit 135 is cleared (step 96). Then, only when there is another record with the same topic identifier 201, the corresponding record is deleted, and the unsubscribe request acceptance process is terminated (step 98).

図10で、トピック定義部の一致パターンに従いアンサブスクライブ要求を作成し直す処理(ステップ94)の流れを示す。代理pub/subサーバ130のトピック検出部133は、ステップ101で処理を開始した後、トピック定義部135の一致したレコードの一致パターン203が「前置」221であるかを判定する(ステップ102)。   FIG. 10 shows a flow of processing (step 94) for recreating an unsubscribe request according to the matching pattern of the topic definition unit. The topic detection unit 133 of the proxy pub / sub server 130 starts processing in step 101, and then determines whether the matching pattern 203 of the matched record in the topic definition unit 135 is “prefix” 221 (step 102). .

ステップ102で判定した結果がYESの場合、アンサブスクライブ要求の該当トピック名の前方からトピック識別子201の文字列を削除し(ステップ103)、処理を終了する(ステップ106)。またステップ102で判定した結果がNOの場合、トピック定義部135の一致したレコードの一致パターン203が「後置」222であるかを判定する(ステップ104)。   If the result of the determination in step 102 is YES, the character string of the topic identifier 201 is deleted from the front of the corresponding topic name in the unsubscribe request (step 103), and the process is terminated (step 106). If the result of determination in step 102 is NO, it is determined whether the matching pattern 203 of the matched record in the topic definition unit 135 is “postfix” 222 (step 104).

ステップ104で判定した結果がYESの場合、サブスクライブ要求の該当トピック名の後方からトピック識別子201の文字列を削除し(ステップ105)、処理を終了する(ステップ106)。またステップ104で判定した結果がNOの場合は処理を終了する(ステップ106)。   If the result of the determination in step 104 is YES, the character string of the topic identifier 201 is deleted from the back of the corresponding topic name in the subscribe request (step 105), and the process is terminated (step 106). If the result determined in step 104 is NO, the process ends (step 106).

前記の様に本実施形態の負荷分散処理システムでは、あるトピックについての最初のサブスクライブ要求のブローカへの送信や選択した一つのノードへのブローカからのメッセージの配信を代理サーバが行うことで、メッセージを用いた処理を複数のノードで分散して実行させるので、パブリッシュ/サブスクライブ通信において複数のサブスクライバを配置して負荷分散構成を実現することが可能である。   As described above, in the load balancing processing system of this embodiment, the proxy server performs transmission of the first subscribe request on a certain topic to the broker and delivery of the message from the broker to one selected node. Since processing using a message is distributed and executed by a plurality of nodes, a load sharing configuration can be realized by arranging a plurality of subscribers in publish / subscribe communication.

なお前記の負荷分散処理システムでは、代理pub/subサーバ130が送受信するメッセージを負荷分散対象とするかはトピック定義部135のトピック識別子201及び一致パターン203により決定するものとしたが、負荷分散対象とするトピックを示す情報をトピック定義部135以外の他のテーブルとして予め記憶装置へ格納しておき、サブスクライブ要求のトピックがその記憶装置に格納されたテーブル中のトピックに一致した場合に、サブスクライブ要求を発行した複数の通信ノードから一つを選択してパブリッシュメッセージを配信することにより負荷分散処理を行わせ、そうでない場合に、従来通りサブスクライブ要求を発行した全ての通信ノードにパブリッシュメッセージを配信する様にしても良い。   In the load distribution processing system described above, whether the message transmitted / received by the proxy pub / sub server 130 is a load distribution target is determined by the topic identifier 201 and the matching pattern 203 of the topic definition unit 135. The information indicating the topic to be stored in the storage device as a table other than the topic definition unit 135 in advance, and the subscribe request topic matches the topic in the table stored in the storage device. Select one of the multiple communication nodes that issued the live request and distribute the publish message to perform load distribution processing. Otherwise, the publish message is sent to all the communication nodes that issued the subscribe request as usual. May be distributed.

本実施形態のパブリッシュ/サブスクライブ通信のネットワークを示す図である。It is a figure which shows the network of the publish / subscribe communication of this embodiment. 本実施形態のトピック定義部を示す図である。It is a figure which shows the topic definition part of this embodiment. 本実施形態のノードリスト管理部を示す図である。It is a figure which shows the node list management part of this embodiment. 本実施形態のサブスクライブ要求を受付けた時のフローを示す図である。It is a figure which shows the flow when the subscribe request | requirement of this embodiment is received. 本実施形態のトピック定義部に一致するトピックがあるかを判定するフローを示す図である。It is a figure which shows the flow which determines whether there exists a topic which corresponds to the topic definition part of this embodiment. 本実施形態のサブスクライブ要求を作成し直すフローを示す図である。It is a figure which shows the flow which recreates the subscription request | requirement of this embodiment. 本実施形態のパブリッシュメッセージを受信するフローを示す図である。It is a figure which shows the flow which receives the publish message of this embodiment. 本実施形態のパブリッシュメッセージを作成し直すフローを示す図である。It is a figure which shows the flow which recreates the publish message of this embodiment. 本実施形態のアンサブスクライブ要求を受付けた時のフローを示す図である。It is a figure which shows the flow when the unsubscribe request | requirement of this embodiment is received. 本実施形態のアンサブスクライブ要求を作成し直すフローを示す図である。It is a figure which shows the flow which recreates the unsubscribe request | requirement of this embodiment.

符号の説明Explanation of symbols

101、140…通信ノード、102、131、142…CPU、103、132、141…メモリ、104、143…pub/subサーバ、105…アプリケーション、144、145…サービス、120…ブローカ、130…代理pub/subサーバ、133…トピック検出部、134…負荷分散部、135…トピック定義部、136…ノードリスト管理部、201…トピック識別子、202…トピック名、203…一致パターン、204…ノードリスト名、211、212、213、214…トピック定義部のレコード、221、222、223…一致パターンの種類、301…ノードリストポインタ、311、312、313、314…ポインタ領域、302…ノードリスト、321、322…ノード領域、40〜47…サブスクライブ要求を受付けた時のフローの各処理、50〜56…トピック定義部に一致するトピックがあるかを判定するフローの各処理、60〜67…サブスクライブ要求を作成し直すフローの各処理、70〜75…パブリッシュメッセージを受信するフローの各処理、80〜85…パブリッシュメッセージを作成し直すフローの各処理、90〜98…アンサブスクライブ要求を受付けた時のフローの各処理、101〜106…アンサブスクライブ要求を作成し直すフローの各処理 101, 140 ... communication node, 102, 131, 142 ... CPU, 103, 132, 141 ... memory, 104, 143 ... pub / sub server, 105 ... application, 144, 145 ... service, 120 ... broker, 130 ... proxy pub / sub server, 133 ... topic detection unit, 134 ... load distribution unit, 135 ... topic definition unit, 136 ... node list management unit, 201 ... topic identifier, 202 ... topic name, 203 ... match pattern, 204 ... node list name, 211, 212, 213, 214 ... Topic definition section record, 221, 222, 223 ... Match pattern type, 301 ... Node list pointer, 311, 312, 313, 314 ... Pointer area, 302 ... Node list, 321, 322 ... node area, 40-47 ... accept subscribe request 50-56... Each process of the flow for determining whether or not there is a topic matching the topic definition part, 60 to 67... Each process of the flow for regenerating a subscribe request, 70 to 75. Each process of a flow that receives a publish message, 80 to 85... Each process of a flow that recreates a publish message, 90 to 98... Each process of a flow when an unsubscribe request is accepted, 101 to 106. Each process in the flow to recreate the request

Claims (5)

パブリッシュ/サブスクライブ通信でメッセージを配信して負荷分散処理を複数ノードに実行させる代理サーバにおける負荷分散処理方法であって、
同一トピックのメッセージのサブスクライブを要求する複数ノードとそのメッセージを配信するブローカとの間に介在する代理サーバが、あるトピックの最初のサブスクライブ要求を通信装置によりブローカへ送信し、前記トピックのサブスクライブ要求を送信したノードを示す情報を記憶装置に格納するステップと、前記代理サーバが、前記ブローカから前記トピックのメッセージを受信した場合に、そのトピックのサブスクライブ要求を送信したノードを示す情報を前記記憶装置から読み出し、その読み出した情報から一つを選択して当該メッセージをその選択したノードへ通信装置により配信するステップを有することで、前記メッセージを用いた処理を前記複数のノードで分散して実行させることを特徴とする負荷分散処理方法。
A load distribution processing method in a proxy server that distributes a message by publish / subscribe communication and causes a plurality of nodes to execute load distribution processing,
A proxy server interposed between a plurality of nodes requesting to subscribe to a message of the same topic and a broker delivering the message sends a first subscribe request of a topic to the broker through a communication device, and subscribes to the topic. Storing information indicating a node that transmitted a live request in a storage device, and information indicating a node that transmitted a subscribe request for the topic when the proxy server receives the topic message from the broker. The processing using the message is distributed among the plurality of nodes by having a step of reading from the storage device, selecting one of the read information, and distributing the message to the selected node by a communication device. The load distribution processing method is characterized by:
各ノードがあるトピックのメッセージのサブスクライブを止めるアンサブスクライブ要求を発行し、前記代理サーバが、当該トピックのサブスクライブ要求を受付けた全てのノードから前記アンスクライブ要求を受信した場合に、そのトピックのメッセージのアンサブスクライブ要求を通信装置により前記ブローカへ送信し、当該トピックのサブスクライブ要求を送信したノードを示す情報を前記記憶装置から全て消去することを特徴とする請求項1に記載された負荷分散処理方法。   When each node issues an unsubscribe request to stop subscribing a message of a topic, and the proxy server receives the unsubscribe request from all the nodes that have accepted the subscribe request for the topic, the topic 2. The message unsubscribe request is transmitted to the broker by a communication device, and all the information indicating the node that transmitted the topic subscribe request is deleted from the storage device. Load balancing processing method. 負荷分散対象とするトピックを示す情報を予め記憶装置へ格納しておき、前記サブスクライブ要求のトピックが前記記憶装置に格納されたトピックに一致した場合に、前記メッセージの配信による負荷分散処理を行わせることを特徴とする請求項1または請求項2のいずれか1項に記載された負荷分散処理方法。   Information indicating a topic to be load-balanced is stored in a storage device in advance, and when the subscribe request topic matches the topic stored in the storage device, load distribution processing is performed by distributing the message. The load distribution processing method according to claim 1, wherein the load distribution processing method is performed. パブリッシュ/サブスクライブ通信でメッセージを配信して負荷分散処理を複数ノードに実行させる代理サーバであって、
同一トピックのメッセージのサブスクライブを要求する複数ノードとそのメッセージを配信するブローカとの間に介在し、あるトピックの最初のサブスクライブ要求を通信装置によりブローカへ送信し、前記トピックのサブスクライブ要求を送信したノードを示す情報を記憶装置に格納するトピック検出部と、前記ブローカから前記トピックのメッセージを受信した場合に、そのトピックのサブスクライブ要求を送信したノードを示す情報を前記記憶装置から読み出し、その読み出した情報から一つを選択して当該メッセージをその選択したノードへ通信装置により配信する負荷分散部とを備えることで、前記メッセージを用いた処理を前記複数のノードで分散して実行させることを特徴とする代理サーバ。
A proxy server that distributes messages via publish / subscribe communication and allows multiple nodes to execute load balancing processing.
It is interposed between a plurality of nodes that request to subscribe to messages of the same topic and a broker that distributes the messages, and the first subscribe request of a topic is transmitted to the broker by a communication device, and the subscribe request for the topic is transmitted. A topic detection unit that stores information indicating the transmitted node in a storage device, and when receiving a message of the topic from the broker, reads information indicating the node that transmitted a subscribe request for the topic from the storage device; A load distribution unit that selects one of the read information and distributes the message to the selected node by a communication device, and distributes and executes processing using the message in the plurality of nodes A proxy server characterized by that.
パブリッシュ/サブスクライブ通信でメッセージを配信して負荷分散処理を複数ノードに実行させる代理サーバにおける負荷分散処理方法をコンピュータに実行させる為のプログラムであって、
同一トピックのメッセージのサブスクライブを要求する複数ノードとそのメッセージを配信するブローカとの間に介在する代理サーバが、あるトピックの最初のサブスクライブ要求を通信装置によりブローカへ送信し、前記トピックのサブスクライブ要求を送信したノードを示す情報を記憶装置に格納するステップと、前記代理サーバが、前記ブローカから前記トピックのメッセージを受信した場合に、そのトピックのサブスクライブ要求を送信したノードを示す情報を前記記憶装置から読み出し、その読み出した情報から一つを選択して当該メッセージをその選択したノードへ通信装置により配信するステップを有することで、前記メッセージを用いた処理を前記複数のノードで分散して実行させる負荷分散処理方法をコンピュータに実行させることを特徴とするプログラム。
A program for causing a computer to execute a load distribution processing method in a proxy server that distributes a message by publish / subscribe communication and causes a plurality of nodes to execute load distribution processing,
A proxy server interposed between a plurality of nodes requesting to subscribe to a message of the same topic and a broker delivering the message sends a first subscribe request of a topic to the broker through a communication device, and subscribes to the topic. Storing information indicating a node that transmitted a live request in a storage device, and information indicating a node that transmitted a subscribe request for the topic when the proxy server receives the topic message from the broker. The processing using the message is distributed among the plurality of nodes by having a step of reading from the storage device, selecting one of the read information, and distributing the message to the selected node by a communication device. Execute the load balancing processing method to be executed on the computer Program for causing.
JP2007280396A 2007-10-29 2007-10-29 Load balancing processing method in publish/subscribe communication, and execution device and processing program therefor Pending JP2009110165A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007280396A JP2009110165A (en) 2007-10-29 2007-10-29 Load balancing processing method in publish/subscribe communication, and execution device and processing program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007280396A JP2009110165A (en) 2007-10-29 2007-10-29 Load balancing processing method in publish/subscribe communication, and execution device and processing program therefor

Publications (1)

Publication Number Publication Date
JP2009110165A true JP2009110165A (en) 2009-05-21

Family

ID=40778616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007280396A Pending JP2009110165A (en) 2007-10-29 2007-10-29 Load balancing processing method in publish/subscribe communication, and execution device and processing program therefor

Country Status (1)

Country Link
JP (1) JP2009110165A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099649A1 (en) * 2010-02-15 2011-08-18 日本電気株式会社 Event delivery device, event delivery system and event delivery method
JP2017224032A (en) * 2016-06-13 2017-12-21 日本電信電話株式会社 Distributed cooperation proxy and asynchronous messaging system using the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099649A1 (en) * 2010-02-15 2011-08-18 日本電気株式会社 Event delivery device, event delivery system and event delivery method
JP5810919B2 (en) * 2010-02-15 2015-11-11 日本電気株式会社 Event distribution device, event distribution system, and event distribution method
JP2017224032A (en) * 2016-06-13 2017-12-21 日本電信電話株式会社 Distributed cooperation proxy and asynchronous messaging system using the same

Similar Documents

Publication Publication Date Title
US8452833B2 (en) Cached message distribution via HTTP redirects
US8606859B2 (en) Method and system to communicate messages in a computer network
US8028085B2 (en) Optimizing message transmission and delivery in a publisher-subscriber model
US20130067024A1 (en) Distributing multi-source push notifications to multiple targets
US20050102365A1 (en) Method and system for multiple instant messaging login sessions
US20060136256A1 (en) Publish/subscribe messaging system
US8595322B2 (en) Target subscription for a notification distribution system
US20110307948A1 (en) Extending a customer relationship management eventing framework to a cloud computing environment in a secure manner
US7836123B2 (en) System and method for non-HTTP session based publish/subscribe support using pre-emptive subscriptions
US20110307933A1 (en) Systems and methods for implementing server side push mechanisms for internet protocol television (iptv) updates
US10409656B2 (en) Efficiently receiving messages across a large number of messaging entities
US8930469B2 (en) Functionality for sharing items using recipient-specific access codes
CN109194718A (en) A kind of block chain network and its method for scheduling task
US8949332B2 (en) Redirecting messages in a publish/subscribe messaging system
JP2004531839A (en) Unified messaging with separate media component storage
US20060069587A1 (en) Retained publish/subscribe system
JPWO2013145467A1 (en) Messaging system, topic management apparatus, messaging method and program
CN111901230A (en) Internet of things gateway and system supporting equipment access verification and equipment access verification method
US20050210109A1 (en) Load balancing mechanism for publish/subscribe broker messaging system
US20090150502A1 (en) System and method for hypertext transfer protocol publish and subscribe server
CN106899621A (en) One kind scheduling system and method
WO2013039796A2 (en) Scale-out system to acquire event data
US8200740B2 (en) Retained publish/subscribe system
JP2009110165A (en) Load balancing processing method in publish/subscribe communication, and execution device and processing program therefor
US8499035B2 (en) Methods, systems and computer readable media for providing session initiation protocol (SIP) event watcher entity information in a communications network