JP5618876B2 - Computer and distributed computer system - Google Patents

Computer and distributed computer system Download PDF

Info

Publication number
JP5618876B2
JP5618876B2 JP2011060638A JP2011060638A JP5618876B2 JP 5618876 B2 JP5618876 B2 JP 5618876B2 JP 2011060638 A JP2011060638 A JP 2011060638A JP 2011060638 A JP2011060638 A JP 2011060638A JP 5618876 B2 JP5618876 B2 JP 5618876B2
Authority
JP
Japan
Prior art keywords
computer
topic
cluster
notification
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011060638A
Other languages
Japanese (ja)
Other versions
JP2012199612A (en
Inventor
和宏 村山
和宏 村山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011060638A priority Critical patent/JP5618876B2/en
Publication of JP2012199612A publication Critical patent/JP2012199612A/en
Application granted granted Critical
Publication of JP5618876B2 publication Critical patent/JP5618876B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units

Description

この発明は、出版−購読型データ通信方式で計算機クラスタ間の通信を行う、分散計算機システムに関する。   The present invention relates to a distributed computer system that performs communication between computer clusters using a publish-subscribe data communication system.

一般に、出版−購読型データ通信方式では、データの種別であるトピックによってIPマルチキャストグループなどの計算機グループを作成し、そのトピックの購読を希望するプロセスが計算機グループに参入し、トピックの配信を行うプロセスがそのグループにデータを配信することにより、希望するトピックの送受信を実現することが多い。   In general, in the publish-subscribe data communication method, a computer group such as an IP multicast group is created according to a topic which is a data type, and a process for subscribing to the topic enters the computer group and distributes the topic. In many cases, by transmitting data to the group, transmission / reception of a desired topic is realized.

また、分散計算機システム(以降、計算機クラスタ)を複数個ネットワーク結合して出来た分散計算機システム(以降、分散計算機システム)において、異なる計算機クラスタに属する計算機間でマルチキャストデータの交換を行う際、複数のネットワークに属する計算機がデータを受信し、自計算機クラスタ内のプロセスが必要とするデータか、他の計算機クラスタにて必要とするデータかを判定し、他の計算機クラスタにて必要とするデータであれば、その計算機クラスタに転送することによって、異なる計算機クラスタ間でのマルチキャストデータの送受信を実現することができる(例えば、特許文献1)。   In a distributed computer system (hereinafter referred to as a distributed computer system) formed by connecting a plurality of distributed computer systems (hereinafter referred to as computer clusters), when exchanging multicast data between computers belonging to different computer clusters, a plurality of If the computer belonging to the network receives the data, determines whether the data is required by the process in its own computer cluster or the data required by another computer cluster. For example, transmission / reception of multicast data between different computer clusters can be realized by transferring to the computer cluster (for example, Patent Document 1).

特開2009−124767号公報JP 2009-124767 A

従来の出版−購読型データ通信方式では、IPマルチキャスト通信にてトピックの送受信を行っているため、計算機クラスタが複数結合して構成された分散システムにでは、ネットワークが異なるため、異なる計算機クラスタ上プロセスの間でのトピック送受信を行うことはできない。また、従来の出版−購読型データ通信に特許文献1を組み合わせることにより、本発明で対象とするような分散計算機システムでトピックの送受信を実現することは可能であるが、この場合、複数ネットワークに属する計算機が必ず一度データを受信してから転送すべきデータかどうかを判別しているため、受信不要なデータも受信することになり、複数ネットワークに属する計算機の負荷が高い、いう問題点があった。   In the conventional publish-subscribe data communication system, topics are transmitted and received by IP multicast communication. Therefore, in a distributed system configured by combining a plurality of computer clusters, the network is different. You cannot send and receive topics between. Further, by combining Patent Publication 1 with conventional publication-subscription data communication, it is possible to realize topic transmission / reception in a distributed computer system as a target of the present invention. Since the computer to which it belongs always determines whether it should be transferred after receiving the data once, it also receives data that does not need to be received, and there is a problem that the load on the computers belonging to multiple networks is high. It was.

この発明は、複数ネットワークに接続された計算機が、自ネットワーク上で交換されているトピックを他のネットワーク上でも必要とするときにのみ、その計算機がトピックを受信して他のネットワークに転送することにより、複数ネットワークに属する計算機は転送不要なデータの受信をなくし、負荷を軽減することを目的とする。   The present invention allows a computer connected to a plurality of networks to receive a topic and transfer it to another network only when the topic exchanged on the local network needs the other network. Accordingly, it is an object of a computer belonging to a plurality of networks to reduce the load by eliminating the reception of data that does not require transfer.

この発明の計算機は、
他の複数の計算機と同じネットワークに接続され、前記他の計算機と共に計算機クラスタを構成する計算機において、
トピックを識別するトピック識別データと、前記ネットワークにおける通信で使用されるマルチキャストアドレスとポート番号との組と、前記トピックを送信するトピック送信処理の起動した時刻を示すトピック送信処理起動時刻と、前記トピック識別データの示す前記トピックが起動した計算機であって前記ネットワークに接続する計算機のIPアドレスとを含むレコードであって、前記トピック識別データごとの前記レコードが登録されたクラスタ内トピック管理情報を有するクラスタ内管理部と、
前記クラスタ内トピック管理情報に登録された前記トピック識別データと同一のトピックの前記トピック送信処理が自身の計算機で起動すると、起動した前記トピック送信処理の起動時刻を検出し、検出した起動時刻と、前記クラスタ内トピック管理情報に登録された前記トピック識別データのトピック送信処理起動時刻とを比較し、検出した起動時刻の方が過去である場合には、起動したトピックと同一の前記トピック識別データのレコードにおける前記マルチキャストアドレスと前記ポート番号とを所定の生成規則に基づき新たに生成して変更し、起動したトピックと同一の前記トピック識別データのレコードにおける前記トピック送信処理起動時刻を検出した前記起動時刻に変更し、起動したトピックと同一の前記トピック識別データのレコードにおける前記ネットワークに接続する計算機のIPアドレスに自身の計算機の前記ネットワークにおけるIPアドレスを追加する変更を実行すると共に、起動したトピックと同一の前記トピック識別データのレコードにおける変更内容を、変更情報として、前記ネットワークに接続する他の計算機に通知するクラスタ内通知部と
を備えたことを特徴とする。
The computer of this invention
In a computer that is connected to the same network as a plurality of other computers and forms a computer cluster together with the other computers,
Topic identification data for identifying a topic, a set of a multicast address and a port number used in communication in the network, a topic transmission process start time indicating a start time of a topic transmission process for transmitting the topic, and the topic A cluster that includes a computer in which the topic indicated by identification data is activated and includes an IP address of a computer that is connected to the network, and includes in-cluster topic management information in which the record for each topic identification data is registered. Internal management department,
When the topic transmission process of the same topic as the topic identification data registered in the topic management information in the cluster is activated in its own computer, the activation time of the topic transmission process that has been activated is detected, and the detected activation time, The topic transmission process start time of the topic identification data registered in the intra-cluster topic management information is compared. If the detected start time is in the past, the same topic identification data as the started topic is stored. The start time when the multicast address and the port number in the record are newly generated and changed based on a predetermined generation rule, and the topic transmission processing start time is detected in the same topic identification data record as the started topic The topic identification data is the same as the activated topic The change in the IP address of the computer connected to the network in the record is added to the IP address in the network of the own computer, and the change content in the record of the topic identification data that is the same as the activated topic is used as the change information. And an in-cluster notifying unit for notifying other computers connected to the network.

この発明により、計算機クラスタが複数結合して構成された分散システムにおいて、自ネットワーク上で交換されているトピックを他のネットワーク上でも必要とするときにのみ、所定の計算機がトピックを受信して他のネットワークに転送する分散システムを提供することができる。   According to the present invention, in a distributed system configured by combining a plurality of computer clusters, only when a topic exchanged on its own network is required on another network, the predetermined computer receives the topic and others It is possible to provide a distributed system that transfers data to other networks.

実施の形態1の分散計算機システム4の構成図。1 is a configuration diagram of a distributed computer system 4 according to a first embodiment. 実施の形態1の計算機の内部構成を示すブロック図。FIG. 2 is a block diagram showing an internal configuration of a computer according to the first embodiment. 実施の形態1の出版・購読計算機管理部7の有するテーブル7T。The table 7T which the publication / subscription computer management part 7 of Embodiment 1 has. 実施の形態1のトピック送信部8とトピック受信部9とのデータ授受を示す図。FIG. 3 is a diagram illustrating data exchange between the topic transmission unit 8 and the topic reception unit 9 according to the first embodiment. 実施の形態1の転送トピック管理部11の有するテーブル11T。The table 11T which the transfer topic management part 11 of Embodiment 1 has. 実施の形態1のトピックデータのデータフォーマットを示す図。FIG. 4 shows a data format of topic data in the first embodiment. 図1のシステムを簡略化した図。The figure which simplified the system of FIG. 図7での送信プロセスの同一クラスタ内の伝搬を示す図。The figure which shows the propagation within the same cluster of the transmission process in FIG. 図7での送信プロセスのクラスタ外への伝搬を示す図。The figure which shows the propagation to the outside of a cluster of the transmission process in FIG. 図7での送信プロセスの他のクラスタ内部への伝搬を示す図。The figure which shows the propagation to the inside of another cluster of the transmission process in FIG. 図7での受信プロセスの起動を示す図。The figure which shows starting of the reception process in FIG. 図7での受信プロセスの他のクラスタへの伝搬を示す図。The figure which shows the propagation to the other cluster of the reception process in FIG. 図7での受信プロセスの他のクラスタ内部への伝搬を示す図。The figure which shows the propagation to the inside of the other cluster of the reception process in FIG. 図7でのトピックデータの配信状態を示す図。The figure which shows the delivery state of the topic data in FIG. 実施の形態1の計算機1−1−1での出版プロセス起動の起動通知がクラスタ内に伝搬する状況を示す図。The figure which shows the condition where the starting notification of the publication process start in the computer 1-1-1 of Embodiment 1 propagates in a cluster. 実施の形態1の計算機1−1−2での購読プロセス起動の起動通知がクラスタ内に伝搬する状況を示す図。The figure which shows the condition where the start notification of the subscription process start in the computer 1-1-2 of Embodiment 1 propagates in a cluster. 実施の形態1の計算機1−1−2のトピック受信部9のソケット設定を示す図。The figure which shows the socket setting of the topic receiving part 9 of the computer 1-1-2 of Embodiment 1. FIG. 実施の形態1の出版プロセスの中継器間の伝搬を示す図。FIG. 3 is a diagram illustrating propagation between repeaters in the publication process according to the first embodiment. 実施の形態1の受信計算機の転送トピック受信部13のソケット設定を示す図。The figure which shows the socket setting of the transfer topic receiving part 13 of the receiving computer of Embodiment 1. FIG. 実施の形態1の他クラスタからの出版プロセス起動通知の伝搬を示す図。FIG. 6 is a diagram illustrating propagation of a publication process activation notification from another cluster according to the first embodiment. 実施の形態1のトピックの送信を示す図。FIG. 3 shows topic transmission according to the first embodiment. 実施の形態1の出版・購読計算機通知部6のフローチャート。5 is a flowchart of a publish / subscribe computer notification unit 6 according to the first embodiment. 実施の形態1のトピック送信部8のフローチャート。5 is a flowchart of the topic transmission unit 8 according to the first embodiment. 実施の形態1のトピック受信部9のフローチャート。6 is a flowchart of the topic receiving unit 9 according to the first embodiment. 実施の形態1の転送トピック通知部10のフローチャート。5 is a flowchart of a transfer topic notification unit 10 according to the first embodiment. 実施の形態1のトピック転送部12のフローチャート。6 is a flowchart of the topic transfer unit 12 according to the first embodiment. 実施の形態1の転送トピック受信部13のフローチャート。6 is a flowchart of the transfer topic receiving unit 13 according to the first embodiment. 実施の形態2のトピック配信停止通知のクラスタ内への伝搬を示す図。The figure which shows the propagation to the cluster of the topic delivery stop notification of Embodiment 2. FIG. 実施の形態2の受信プロセス削除通知のクラスタ内への伝搬を示す図。The figure which shows the propagation to the cluster of the reception process deletion notification of Embodiment 2. FIG. 実施の形態2のトピック配信停止通知の他クラスタへの伝搬を示す図。The figure which shows the propagation to the other cluster of the topic delivery stop notification of Embodiment 2. FIG. 実施の形態2の受信プロセス削除通知のクラスタ内への伝搬を示す図。The figure which shows the propagation to the cluster of the reception process deletion notification of Embodiment 2. FIG. 実施の形態2の出版・購読計算機管理部7のフローチャート。10 is a flowchart of the publish / subscribe computer management unit 7 according to the second embodiment. 実施の形態2のトピック送信部8のフローチャート。10 is a flowchart of the topic transmission unit 8 according to the second embodiment. 実施の形態2のトピック受信部9のフローチャート。10 is a flowchart of the topic receiving unit 9 according to the second embodiment. 実施の形態2の転送トピック通知部10のフローチャート。9 is a flowchart of a transfer topic notification unit 10 according to the second embodiment. 実施の形態2のトピック転送部12のフローチャート。10 is a flowchart of the topic transfer unit 12 according to the second embodiment. 実施の形態2の転送トピック受信部13のフローチャート。10 is a flowchart of the transfer topic reception unit 13 according to the second embodiment. 実施の形態3の計算機の外観を示す図。FIG. 4 shows an appearance of a computer according to a third embodiment. 実施の形態3の計算機のハードウェア資源を示す図。The figure which shows the hardware resource of the computer of Embodiment 3. FIG.

実施の形態1.
図1は、この発明が対象とする分散計算機システムの構成の一例を示したものである。
図1のように、本発明が対象とする分散計算機システムでは、複数の計算機クラスタ3をネットワーク接続することにより構成されている。例えば、図1において、計算機1−1−1〜1−1−6はネットワーク2−1に接続され、計算機クラスタ3−1を構成している。同様に、計算機1−2−1〜1−2−6はネットワーク2−2に接続され、計算機クラスタ3−2を構成している。そして、計算機1−3−1〜1−3−6はネットワーク2−3に接続され、計算機クラスタ3−3を構成している。そして、ネットワーク2−4が計算機クラスタ3−1〜3−3を接続することによって分散計算機システム4が構成される。なお、本構成において、計算機が接続されているネットワークが異なる場合、計算機間で直接通信ができないものとする。
Embodiment 1 FIG.
FIG. 1 shows an example of the configuration of a distributed computer system targeted by the present invention.
As shown in FIG. 1, the distributed computer system targeted by the present invention is configured by connecting a plurality of computer clusters 3 to a network. For example, in FIG. 1, computers 1-1-1 to 1-1-6 are connected to a network 2-1, and constitute a computer cluster 3-1. Similarly, the computers 1-2-1 to 1-2-6 are connected to the network 2-2 and constitute a computer cluster 3-2. The computers 1-3-1 to 1-3-6 are connected to the network 2-3 to form a computer cluster 3-3. The network 2-4 connects the computer clusters 3-1 to 3-3 to configure the distributed computer system 4. In this configuration, if the networks to which computers are connected are different, direct communication between computers is not possible.

また、以下で使用する「出版プロセス」、「送信プロセス」は同じ意味である。また「購読プロセス」、「受信プロセス」は同じ意味である。   In addition, “publishing process” and “transmission process” used below have the same meaning. “Subscription process” and “reception process” have the same meaning.

(前提条件)
(1)つまり、図1において、ネットワーク2−4に接続されている計算機1−1−5,1−2−5,1−3−5はネットワークルータの機能を持っていないものとする。例えば、図1において、計算機1−1−1上で動作するプロセスは、異なる計算機クラスタに属する計算機1−2−6上で動作するプロセスに対し、計算機1−2−6のIPアドレスを指定して通信することはできないものとする。
(2)しかし、計算機1−1−5,1−2−5,1−3−5はそれぞれ異なる計算機クラスタに属しているが、ネットワーク2−4にて接続されているため、各計算機のIPアドレスを指定して直接通信することが可能である。
(3)なお、計算機1−1−5,1−2−5,1−3−5を以降、それぞれ計算機クラスタ3−1,3−2,3−3のデータ中継計算機5(代表計算機)と呼ぶ。なお、システムを構成するすべての計算機の内部時刻はNTP(Network Time Protocol)などで整合されているものとする。以下、分散計算機システム4に示すような分散計算機システムにおいて、異なる計算機クラスタ3上の計算機の間で出版−購読型データ通信を実現するための構成および方法について述べる。
(Prerequisite)
(1) That is, in FIG. 1, it is assumed that the computers 1-1-5, 1-2-5, and 1-3-5 connected to the network 2-4 do not have a network router function. For example, in FIG. 1, a process operating on the computer 1-1-1 specifies the IP address of the computer 1-2-6 for a process operating on the computer 1-2-6 belonging to a different computer cluster. Cannot communicate with each other.
(2) However, the computers 1-1-5, 1-2-5, and 1-3-5 belong to different computer clusters, but are connected by the network 2-4. Direct communication is possible by specifying an address.
(3) The computers 1-1-5, 1-2-5, and 1-3-5 are referred to as data relay computers 5 (representative computers) of the computer clusters 3-1, 3-2, and 3-3, respectively. Call. It is assumed that the internal time of all the computers constituting the system is consistent with NTP (Network Time Protocol) or the like. A configuration and method for realizing publication-subscription data communication between computers on different computer clusters 3 in a distributed computer system as shown in the distributed computer system 4 will be described below.

図2は、本実施の形態1における出版−購読型データ通信方式の構成図である。本実施の形態1における出版−購読型通信方式は、出版・購読計算機通知部6、出版・購読計算機管理部7、トピック送信部8、トピック受信部9、転送トピック通知部10、転送トピック管理部11、トピック転送部12、転送トピック受信部13で構成される。   FIG. 2 is a configuration diagram of the publish-subscribe data communication system according to the first embodiment. The publish-subscribe communication system in the first embodiment is a publish / subscribe computer notification unit 6, a publish / subscribe computer management unit 7, a topic transmission unit 8, a topic reception unit 9, a transfer topic notification unit 10, and a transfer topic management unit. 11, a topic transfer unit 12, and a transfer topic reception unit 13.

(出版・購読計算機通知部6)
出版・購読計算機通知部6(クラスタ内通知部)は、計算機上でトピックを出版または購読するプロセスが起動すると、
(1)そのトピック名、
(2)計算機のIPアドレス、
(3)トピックを送信する際のマルチキャストIPアドレス、
(4)ポート番号などを同一計算機クラスタ内の全計算機に通知する。また、他の計算機の出版・購読計算機通知部6からの通知を受信し、他の出版・購読計算機管理部7に登録する役割を持つ。
(Publishing / Subscription Computer Notification Unit 6)
When the process of publishing or subscribing a topic on the computer is started, the publishing / subscribing computer notification unit 6 (intra-cluster notification unit)
(1) The topic name,
(2) IP address of the computer,
(3) Multicast IP address when sending a topic,
(4) Notifying all computers in the same computer cluster of port numbers and the like. Also, it receives a notification from the publish / subscribe computer notification unit 6 of another computer and registers it in the other publish / subscribe computer management unit 7.

(出版・購読計算機管理部7)
出版・購読計算機管理部7(クラスタ内管理部)は、出版・購読計算機通知部6が受信した、
(1)各トピック名(トピック識別データ)と、
(2)そのトピックが送信されるマルチキャストIPアドレスと、
(3)ポート番号、
(4)各トピックを出版するプロセス、
(5)購読するプロセスが動作する計算機のIPアドレス、
(6)IPマルチキャストアドレスの設定時刻、
などを保持する役割を持つ。
例えば、出版・購読計算機管理部7は図3のようなテーブル7T(クラスタ内トピック管理情報)を持つ。後述ように、出版・購読計算機管理部7の他、転送トピック管理部11も図3と類似のテーブルを持つ(以下、図3をテーブル7T、後述の図5をテーブル11Tと呼ぶ場合がある)。また、「出版・購読計算機管理部7に登録」、あるいは「出版・購読計算機管理部7を参照」等の説明が登場するが、これらはテーブル7Tに登録、テーブル7Tを参照等することを意味する。転送トピック管理部11についても同様である。
(Publishing / Subscription Computer Management Department 7)
The publishing / subscription computer management unit 7 (intracluster management unit) receives the publishing / subscription computer notification unit 6.
(1) Each topic name (topic identification data),
(2) a multicast IP address to which the topic is transmitted;
(3) Port number,
(4) The process of publishing each topic,
(5) IP address of the computer where the subscribed process operates,
(6) IP multicast address setting time,
Have a role to hold.
For example, the publishing / subscription computer management unit 7 has a table 7T (intra-cluster topic management information) as shown in FIG. As will be described later, in addition to the publishing / subscription computer management unit 7, the transfer topic management unit 11 also has a table similar to FIG. 3 (hereinafter, FIG. 3 may be referred to as a table 7T, and FIG. 5 described later may be referred to as a table 11T). . In addition, explanations such as “Register in publishing / subscription computer management unit 7” or “Refer to publishing / subscription computer management unit 7” appear. These mean registration in table 7T, reference to table 7T, and the like. To do. The same applies to the transfer topic management unit 11.

図3の例では、IPアドレスが、「192.168.1.1」、「192.168.1.3」上のプロセスがトピック1のデータを送信し、トピック1を受信する際のIPマルチキャストアドレスが「239.192.100.1」、ポートが8000番、そのトピックを受信するプロセスが動作する計算機が「192.168.1.1」,「192.168.1.2」、「192.168.1.4」、IPマルチキャストアドレスを設定した時刻が12時34分56秒であることを示している。   In the example of FIG. 3, an IP multicast when a process having IP addresses “192.168.1.1” and “192.168.1.3” transmits topic 1 data and receives topic 1 is received. The address is “239.192.168.0.1”, the port is 8000, and the computer on which the process receiving the topic operates is “192.168.1.1”, “192.168.1.2”, “192” .168.1.4 "indicates that the time when the IP multicast address is set is 12:34:56.

同様に、計算機「192.168.1.5」上のプロセスがトピック2を送信し、そのトピックを受信するプロセスが動作する計算機が計算機「192.168.1.1」、計算機「192.168.1.4」、計算機「192.168.1.5」であり、トピック1を受信するためのIPマルチキャストアドレスが「239.192.100.2」、ポート番号が8000、IPマルチキャストアドレスを設定した時刻が11時12分13秒であることを示している。なお、本表では、時刻を時、分、秒のみ取得しているが、年、月、日、時、分、秒、ミリ秒(マイクロ秒、ナノ秒)まで取得してもよい。   Similarly, the computer on which the process on the computer “192.168.1.5” transmits topic 2 and the process on which the topic is received operates is the computer “192.168.1.1” and the computer “192.168.”. .1.4 ", computer" 192.168.1.5 ", IP multicast address for receiving topic 1 is" 239.192.100.2 ", port number is 8000, IP multicast address is set It is shown that the time is 11:12:13. In this table, only the hour, minute, and second are acquired, but the year, month, day, hour, minute, second, and millisecond (microsecond, nanosecond) may be acquired.

(トピック送信部8)
トピック送信部8は、送信プロセスが送信するトピックのデータを実際に同一計算機クラスタを構成するネットワーク上に送信する役割を持つ。トピック送信部8はライブラリのデータ送信APIであることや、プロセスまたはスレッドであることが考えられる。トピック送信部8がプロセスまたはスレッドである場合のデータ送信方法としては、送信プロセスとの間でデータを相互アクセス可能な領域を作成し、送信プロセスがその領域にデータを配置し、トピック送信部8のプロセスまたはスレッドが転送する、という方法が考えられる。
(Topic transmission unit 8)
The topic transmission unit 8 has a role of transmitting topic data transmitted by the transmission process onto a network that actually configures the same computer cluster. The topic transmission unit 8 may be a library data transmission API or a process or thread. As a data transmission method when the topic transmission unit 8 is a process or a thread, an area where data can be mutually accessed with the transmission process is created, the transmission process arranges data in the area, and the topic transmission unit 8 It is conceivable that a process or a thread of the data is transferred.

(トピック受信部9)
トピック受信部9は、送信されたトピックのデータを受信する役割を持つ。トピック受信部9はライブラリの送信APIであることや、プロセスまたはスレッドであることが考えられる。トピック受信部9がプロセスまたはスレッドの場合のデータの受信方法としては、受信プロセスとの間でデータを相互アクセス可能な領域を作成し、トピック受信部9がその領域にデータを配置することにより、受信プロセスがデータを受信する、という方法が考えられる。
(Topic receiver 9)
The topic receiving unit 9 has a role of receiving transmitted topic data. The topic receiving unit 9 may be a library transmission API, a process, or a thread. As a method of receiving data when the topic receiving unit 9 is a process or thread, an area where data can be mutually accessed with the receiving process is created, and the topic receiving unit 9 arranges data in the area, A method in which the receiving process receives data is conceivable.

図4は、トピック送信部8がプロセスまたはスレッド、トピック受信部9がプロセスまたはスレッドであった場合の送信プロセスとトピック送信部8との間でのデータの受け渡し方法、受信プロセスとトピック受信部9とのデータ受け渡しの一例を図示したものである。   FIG. 4 shows a method of passing data between the transmission process and the topic transmission unit 8 when the topic transmission unit 8 is a process or thread and the topic reception unit 9 is a process or thread, the reception process and the topic reception unit 9. Is an example of data transfer to and from.

(転送トピック通知部10)
転送トピック通知部10(代表計算機間通知部)は、自計算機が属する計算機クラスタ内のある計算機でトピック送信プロセスが起動した場合に、計算機クラスタを接続するネットワークに接続された全データ中継計算機5にトピックを送信するためのマルチキャストIPアドレス、ポート番号を決定し、
(1)トピック名、
(2)トピックを送信するマルチキャストIPアドレス、
(3)ポート番号
を他の転送トピック通知部10に通知する。また、その通知を他の転送トピック通知部10から受信した場合に、転送トピック管理部11を参照し、自計算機クラスタ内にそのトピックの購読を希望するプロセスが起動していた場合には、通知送信元の転送トピック通知部10に、自計算機クラスタ内にデータ購読プロセスが起動している旨を通知する。
(Forward topic notification unit 10)
The transfer topic notification unit 10 (representative computer-to-computer notification unit) notifies all data relay computers 5 connected to the network connecting the computer clusters when the topic transmission process is started on a computer in the computer cluster to which the own computer belongs. Determine the multicast IP address and port number for sending the topic,
(1) Topic name
(2) Multicast IP address for sending the topic,
(3) Notify the other forwarding topic notification unit 10 of the port number. Further, when the notification is received from another transfer topic notification unit 10, the transfer topic management unit 11 is referred to, and if a process for subscribing to the topic is activated in the own computer cluster, the notification is sent. The transmission topic notification unit 10 of the transmission source is notified that the data subscription process is activated in the own computer cluster.

(転送トピック管理部11)
転送トピック管理部11(代表計算機間管理部)は、
(1)計算機クラスタのデータ中継計算機間で交換されるトピック名、
(2)トピックを送受信するデータ中継計算機のIPアドレス、
(3)トピックを送受信する際のIPマルチキャストアドレスおよびポート番号、
(4)IPマルチキャストアドレス設定時刻など、
を保持する。
(Transfer Topic Management Unit 11)
The transfer topic management unit 11 (representative computer management unit)
(1) Topic name exchanged between data relay computers in a computer cluster,
(2) IP address of the data relay computer that transmits / receives the topic,
(3) IP multicast address and port number for sending and receiving topics,
(4) IP multicast address setting time, etc.
Hold.

転送トピック管理部11は、例えば図5のようなテーブル11Tを有する。図5の例では、トピック1を「192.168.1.5」の計算機がIPマルチキャストアドレス「239.192.1901.101」、ポート8000にマルチキャスト送信し、中継計算機「192.168.2.5」、「192.168.3.5」が受信すること、そして、IPマルチキャストアドレスが設定された時刻が12時34分56秒と示されている。   The transfer topic management unit 11 has a table 11T as shown in FIG. In the example of FIG. 5, the computer with “192.168.1.5” as the topic 1 multicasts to the IP multicast address “239.192.901.101” and the port 8000, and the relay computer “192.168.8.2. 5 ”and“ 192.168.3.5 ”are received, and the time when the IP multicast address is set is 12:34:56.

(トピック転送部12)
トピック転送部12は、自計算機クラスタで送信されているトピックが、他の計算機クラスタが必要とする場合、そのトピックをトピック受信部から受け取り、その計算機クラスタのデータ中継計算機に送信する役割を持つ。
(Topic transfer unit 12)
The topic transfer unit 12 has a role of receiving a topic from a topic receiving unit and transmitting it to a data relay computer of the computer cluster when a topic transmitted by the own computer cluster is required by another computer cluster.

(転送トピック受信部13)
転送トピック受信部13は、他の計算機クラスタから送信されたトピックのデータを受信し、トピック送信部8に渡す役割を持つ。なお、転送トピック通知部10、転送トピック管理部11、トピック転送部12、転送トピック受信部13は、データ中継計算機のみが保持すればよい。
(Forward topic receiving unit 13)
The transfer topic receiving unit 13 has a role of receiving topic data transmitted from another computer cluster and passing it to the topic transmitting unit 8. Note that the transfer topic notification unit 10, the transfer topic management unit 11, the topic transfer unit 12, and the transfer topic reception unit 13 need only be held by the data relay computer.

(トピックデータのフォーマット)
本実施の形態1における、トピックデータを格納するバッファのフォーマットの概要を図6に示す。図6のように、バッファをヘッダ部とボディ部にわけ、ヘッダ部にはトピック名、送信元のIPアドレスなどを含み、ボディ部に送信したいデータを格納する。以降、図6の、ヘッダ部とボディ部をあわせたものを「データ」と呼ぶ。
(Topic data format)
An outline of a format of a buffer for storing topic data in the first embodiment is shown in FIG. As shown in FIG. 6, the buffer is divided into a header part and a body part. The header part includes a topic name, a source IP address, and the like, and stores data to be transmitted in the body part. Hereinafter, the combination of the header part and the body part in FIG. 6 is referred to as “data”.

図7〜図14を参照して、本システムの動作の概要を説明する。この動作概要では、テーブル7T、テーブル11Tに、まだレコードが登録されていない、初期状態から、動作を開始するものとして説明する。図7は図1を簡略化した図である。説明の簡略化のため、計算機クラスタ3−1、3−2を対象として説明する。計算機クラスタ3−1において、計算機1−1−1の「192.168.11」は計算機のIPアドレスを示す。他の計算機についても同じである。   The outline of the operation of the present system will be described with reference to FIGS. In this operation overview, description will be made assuming that the operation starts from an initial state in which no record is registered in the table 7T and the table 11T. FIG. 7 is a simplified diagram of FIG. For simplification of description, the computer clusters 3-1 and 3-2 will be described. In the computer cluster 3-1, "192.168.11" of the computer 1-1-1 indicates the IP address of the computer. The same applies to other computers.

(送信プロセスの同一クラスタ内(各計算機)への伝搬)
図8は、計算機1−1−1において「トピック1」の送信プロセスが起動した場合の、同一クラスタ内へ、トピック1の「送信プロセス起動の情報」が伝搬する様子を説明する図である。トピック1の送信プロセスが起動すると、計算機1−1−1上の出版・購読計算機通知部6がトピック1の送信プロセス起動を検出し、プロセス起動検出時刻(12時34分56秒とする。以下、12:34:56と表記する)(トピック送信処理起動時刻)を取得する。出版・購読計算機通知部6は、自計算機上の出版・購読計算機管理部7を参照し、トピック1を送信するテーブル7Tのレコードが登録されているかどうかをチェックする。この例では初期状態であるので登録されていない。そこで、計算機1−1−1の出版・購読計算機通知部6は、図8に出版・購読計算機通知部6として示すように、IPマルチキャストアドレス、ポート番号を、それぞれ、「239.68.1.1」、「30001」と決定する。そして出版・購読計算機通知部6は、図8に示すように、計算機1−1−1の出版・購読計算機管理部7に、トピック1について、
(1)トピック名;トピック1、
(2)IPマルチキャストアドレス、ポート番号;「239.168.1.1」、「30001」、
(3)アドレス登録時刻(プロセス起動検出時刻);「12:34:56」、
(4)送信計算機IPアドレス;計算機1−1−1のIPアドレス;
のレコードを登録する。送信プロセスの起動した起動計算機である出版・購読計算機通知部6は、情報が登録されたテーブル7Tの内容を、同一クラスタ3−1の他の計算機に通知する。
なお、後述のように、出版・購読計算機通知部6による同一クラスタ内の他の出版・購読計算機通知部6への通知は、例えば、予め設定されたマルチキャストアドレス等を用いて行う。図8は、計算機1−1−3、1−1−5も同じ内容のテーブル7Tを有することを示している。
(Propagation within the same cluster (each computer) of the transmission process)
FIG. 8 is a diagram for explaining a state in which “transmission process activation information” of topic 1 is propagated to the same cluster when the transmission process of “topic 1” is activated in the computer 1-1-1. When the topic 1 transmission process is activated, the publication / subscription computer notification unit 6 on the computer 1-1-1 detects the topic 1 transmission process activation and sets the process activation detection time (12:34:56, hereinafter. , 12:34:56) (topic transmission processing start time) is acquired. The publish / subscribe computer notification unit 6 refers to the publish / subscribe computer management unit 7 on its own computer and checks whether or not the record of the table 7T for transmitting the topic 1 is registered. In this example, it is not registered because it is in an initial state. Therefore, the publishing / subscribing computer notifying unit 6 of the computer 1-1-1 sets the IP multicast address and the port number to “239.68.1. 1 ”and“ 30001 ”. Then, as shown in FIG. 8, the publishing / subscription computer notifying unit 6 sends the publishing / subscription computer notifying unit 7 of the computer 1-1-1 to
(1) Topic name; Topic 1,
(2) IP multicast address, port number; “239.168.1.1”, “30001”,
(3) Address registration time (process activation detection time); “12:34:56”,
(4) Transmission computer IP address; IP address of computer 1-1-1.
Register the record. The publish / subscribe computer notifying unit 6, which is the start computer that has started the transmission process, notifies the other computer in the same cluster 3-1 of the contents of the table 7T in which the information is registered.
As will be described later, the publishing / subscription computer notification unit 6 notifies the other publishing / subscription computer notification units 6 in the same cluster using, for example, a preset multicast address. FIG. 8 shows that the computers 1-1-3 and 1-1-5 have the same table 7T.

(送信プロセスの他のクラスタへの伝搬)
図9は、中継計算機1−1−5によって、計算機1−1−1から受信した送信プロセス起動の情報の内容が、他のクラスタ(この例では計算機クラスタ3−2)に伝搬する様子を示す図である。図9に示すように、中継系計算機1−1−5では、中継系計算機1−1−5の出版・購読計算機通知部6が計算機1−1−1から送信プロセス起動の情報を受信し、この情報の内容を転送トピック通知部10に通知する。転送トピック管理部11は出版・購読計算機通知部6から通知を受けると、テーブル11Tにレコードを登録する。この登録の際、中継系計算機1−1−5の転送トピック通知部10は、クラスタ間通信用のIPマルチキャストアドレス、ポート番号をそれぞれ「239.169.1.1」、「30002」と決定する。
またテーブル11Tのアドレス登録時刻(プロセス起動検出時刻)は出版・購読計算機通知部6からの通知内容を登録する。また、送信計算機IPアドレスの欄には、中継計算機1−1−5のIPアドレスを登録する。トピック1のデータを他のクラスタへ転送する際、クラスタ間通信において、中継計算機1−1−5が送信計算機になるからである。図9に示すように、中継計算機1−1−5の転送トピック通知部10は、他のクラスタの中継計算機に、登録したテーブル11Tの内容を通知する。なお、後述のように、転送トピック通知部10による他のクラスタの通知は、例えば、予め設定されたマルチキャストアドレス等を用いて行う。中継計算機間では、テーブル11Tの内容は同じである。これにより、図9に示すように、送信プロセスの起動情報が、他のクラスタの中継計算機に伝搬する。図9には、中継計算機1−2−5が中継計算機1−1−1と同じ内容のテーブル11Tを有することを示した。
(Propagation of transmission process to other clusters)
FIG. 9 shows a state in which the content of the transmission process activation information received from the computer 1-1-1 is propagated to another cluster (in this example, the computer cluster 3-2) by the relay computer 1-1-5. FIG. As shown in FIG. 9, in the relay system computer 1-1-5, the publication / subscription computer notification unit 6 of the relay system computer 1-1-5 receives the transmission process activation information from the computer 1-1-1, The transfer topic notification unit 10 is notified of the content of this information. Upon receiving the notification from the publishing / subscription computer notification unit 6, the transfer topic management unit 11 registers a record in the table 11T. At the time of registration, the transfer topic notification unit 10 of the relay computer 1-1-5 determines the IP multicast address and port number for inter-cluster communication as “239.169.1.1” and “30002”, respectively. .
The contents of notification from the publication / subscription computer notification unit 6 are registered at the address registration time (process activation detection time) in the table 11T. Further, the IP address of the relay computer 1-1-5 is registered in the transmission computer IP address column. This is because when the topic 1 data is transferred to another cluster, the relay computer 1-1-5 becomes a transmission computer in the inter-cluster communication. As shown in FIG. 9, the transfer topic notification unit 10 of the relay computer 1-1-5 notifies the contents of the registered table 11T to the relay computers of other clusters. As will be described later, notification of other clusters by the transfer topic notification unit 10 is performed using, for example, a preset multicast address. The contents of the table 11T are the same between the relay computers. As a result, as shown in FIG. 9, the activation information of the transmission process is propagated to the relay computers of other clusters. FIG. 9 shows that the relay computer 1-2-5 has a table 11T having the same contents as the relay computer 1-1-1.

(送信プロセスの他のクラスタの内部(各計算機)への伝搬)
図10は、そのクラスタの中継計算機が、他のクラスタの中継計算機から送信プロセスの起動情報を受信した場合に、中継計算機から同一クラスタ内の計算機に、送信プロセスの起動情報が伝搬する様子を示す。図10の上部は、中継計算機1−2−5の転送トピック通知部10が、中継計算機1−1−5の転送トピック通知部10から送信プロセスの起動情報を受信した場合に、転送トピック通知部10が受信内容を出版・購読計算機通知部6に通知し、出版・購読計算機通知部6が、中継計算機1−2−5のテーブル7Tに登録する様子を示している。すなわち中継計算機1−2−5の出版・購読計算機通知部6は転送トピック通知部10から通知を受けると、計算機クラスタ3−2内でトピック1のデータを転送する際に使用するIPマルチキャストアドレス、ポート番号をそれぞれ「240.169.1.1」、「30001」と決定する。また、テーブル7Tの送信計算機には、自己の計算機IPアドレスを設定する。中継計算機1−2−5が計算機クラスタ3−2内でのトピック1のデータの送信元となるからである。中継計算機1−2−5のテーブル7Tの情報が、中継計算機1−2−5の出版・購読計算機通知部6によって、同一クラスタ内の他の計算機の出版・購読計算機通知部6に通知される。以上の動作によって、計算機クラスタ3−1の計算機1−1−1で起動した送信プロセスの起動情報が、他の計算機クラスタ3−2の各計算機に伝搬する。計算機クラスタ3−2以外の他の計算機クラスタについても同様である。
(Propagation to the inside of each other cluster (each computer))
FIG. 10 shows a situation in which the transmission information of the transmission process is propagated from the relay computer to the computers in the same cluster when the relay computer of the cluster receives the transmission process activation information from the relay computer of the other cluster. . The upper part of FIG. 10 shows the transfer topic notification unit when the transfer topic notification unit 10 of the relay computer 1-2-5 receives the transmission process activation information from the transfer topic notification unit 10 of the relay computer 1-1-5. 10 shows how the publishing / subscription computer notification unit 6 notifies the publishing / subscription computer notification unit 6 of the received content, and the publishing / subscription computer notification unit 6 registers it in the table 7T of the relay computer 1-2-5. That is, when the publish / subscribe computer notification unit 6 of the relay computer 1-2-5 receives the notification from the transfer topic notification unit 10, the IP multicast address used when transferring the data of the topic 1 in the computer cluster 3-2, The port numbers are determined as “240.169.1.1” and “30001”, respectively. Further, the own computer IP address is set in the transmission computer of the table 7T. This is because the relay computer 1-2-5 becomes a transmission source of the data of topic 1 in the computer cluster 3-2. Information in the table 7T of the relay computer 1-2-5 is notified to the publish / subscribe computer notification unit 6 of other computers in the same cluster by the publish / subscribe computer notification unit 6 of the relay computer 1-2-5. . With the above operation, the transmission process activation information activated by the computer 1-1-1 of the computer cluster 3-1 is propagated to each computer of the other computer cluster 3-2. The same applies to other computer clusters other than the computer cluster 3-2.

(受信プロセスの同一クラスタ内(各計算機)への伝搬)
図11は、計算機クラスタ3−2の計算機1−2−2でトピック1の購読を希望する受信プロセスが起動した場合を示す図である。計算機1−2−2で受信プロセスが起動すると、計算機1−2−2の出版・購読計算機通知部6がこれを検知し、図11に示すように、出版・購読計算機通知部6は、トピック名(トピック)1と、受信プロセスが起動した自己の計算機IPアドレスとを、同一クラスタ内にマルチキャストする。このマルチキャストは、予め設定された通知用のマルチキャストアドレスを用いる。同一クラスタ内の中継計算機1−2−5等の他の計算機では、出版・購読計算機通知部6が、この通知を受信し、テーブル7Tの受信計算機の欄に、受信計算機である計算機1−2−2のIPアドレスを登録する。
(Propagation to the same cluster (each computer) of the receiving process)
FIG. 11 is a diagram illustrating a case where a reception process that wishes to subscribe to topic 1 is started on the computer 1-2-2 of the computer cluster 3-2. When the reception process is started in the computer 1-2-2, the publish / subscribe computer notification unit 6 of the computer 1-2-2 detects this, and as shown in FIG. The name (topic) 1 and the own computer IP address activated by the reception process are multicast to the same cluster. This multicast uses a preset multicast address for notification. In other computers such as the relay computer 1-2-5 in the same cluster, the publishing / subscription computer notification unit 6 receives this notification, and in the column of the reception computer of the table 7T, the computer 1-2 that is the reception computer. -2 IP address is registered.

(受信プロセスの他クラスタへの伝搬)
図12は、受信プロセスの他クラスタ(他の中継計算機)への伝搬を示す図である。中継計算機1−2−5の出版・購読計算機通知部6は、受信プロセスの起動情報(トピック名、受信計算機IPアドレス)を受信すると転送トピック通知部10に通知する。転送トピック通知部10は、この通知を受けると、図12に示すように、テーブル11Tにおけるトピック1のレコードの受信計算機の欄に自己(中継計算機1−2−5)のIPアドレスを登録すると共に、他のクラスタの中継計算機の転送トピック通知部10に、トピック名(トピック1)と受信計算機のIPアドレス(中継計算機1−2−5のIPアドレス)を通知する。図12の下側に示すように、中継計算機1−1−5の転送トピック通知部10もトピック名(トピック1)と受信計算機のIPアドレス(中継計算機1−2−5のIPアドレス)の通知を受信し、テーブル11Tのトピック1の受信計算機欄に、中継計算機1−2−5のIPアドレスを登録する。
(Propagation of receiving process to other clusters)
FIG. 12 is a diagram illustrating propagation of the reception process to another cluster (another relay computer). The publish / subscribe computer notification unit 6 of the relay computer 1-2-5 notifies the transfer topic notification unit 10 when receiving the activation information (topic name, reception computer IP address) of the reception process. Upon receiving this notification, the transfer topic notification unit 10 registers its own IP address (relay computer 1-2-5) in the receiving computer column of the topic 1 record in the table 11T as shown in FIG. The topic name (topic 1) and the IP address of the receiving computer (IP address of the relay computer 1-2-5) are notified to the transfer topic notification unit 10 of the relay computer of another cluster. As shown in the lower part of FIG. 12, the forwarding topic notification unit 10 of the relay computer 1-1-5 also notifies the topic name (topic 1) and the IP address of the receiving computer (IP address of the relay computer 1-2-5). And the IP address of the relay computer 1-2-5 is registered in the receiving computer column of topic 1 of the table 11T.

(受信プロセスの他のクラスタ内部(各計算機)への伝搬)
図13は、受信プロセスの他のクラスタ内部(各計算機)への伝搬を示す図である。中継計算機1−1−5の転送トピック通知部10は、通知された内容をテーブル11Tに登録すると、通知された内容を出版・購読計算機通知部6に通知する。出版・購読計算機通知部6は、この通知を受けると、テーブル7Tの受信計算機の欄に、中継計算機1−1−5のIPアドレスを登録する。そして中継計算機1−1−5の出版・購読計算機通知部6は、トピック名(トピック1)と受信計算機IPアドレス(中継計算機1−1−5のIPアドレス)を、同一クラスタ内の計算機にマルチキャストする。図13の下側には、計算機1−1−1の出版・購読計算機通知部6が、中継計算機1−1−5の出版・購読計算機通知部6からの通知を受けて、テーブル7Tの受信計算機の欄に、中継計算機1−1−5のIPアドレスを登録した様子を示した。
(Propagation of reception process to other clusters (each computer))
FIG. 13 is a diagram illustrating propagation of other processes in the cluster (each computer). When the notified content is registered in the table 11T, the transfer topic notification unit 10 of the relay computer 1-1-5 notifies the publishing / subscription computer notification unit 6 of the notified content. Upon receiving this notification, the publishing / subscription computer notifying unit 6 registers the IP address of the relay computer 1-1-5 in the receiving computer column of the table 7T. The publish / subscribe computer notification unit 6 of the relay computer 1-1-5 multicasts the topic name (topic 1) and the receiving computer IP address (IP address of the relay computer 1-1-5) to the computers in the same cluster. To do. In the lower part of FIG. 13, the publish / subscribe computer notification unit 6 of the computer 1-1-1 receives the notification from the publish / subscribe computer notification unit 6 of the relay computer 1-1-5 and receives the table 7T. A state in which the IP address of the relay computer 1-1-5 is registered in the computer column is shown.

(1)図14は、トピック1のデータが配信される様子を示す。送信計算機である1−1−1のトピック送信部8は、テーブル7Tの「トピック1のマルチキャストIPアドレス:ポート番号」に向けて、トピック1のデータを送信する。中継計算機1−1−5のトピック受信部9は、トピック1のデータのデータを受信すると、自己のテーブル7Tを参照し、自身がトピック1の受信計算機であると判断し、トピック1のデータをトピック転送部12に渡す。トピック転送部12はトピック1のデータを受けると、テーブル11Tを参照し、「トピック1のマルチキャストIPアドレス:ポート番号」に向けて、トピック1のデータを送信する。
(2)計算機ラスタ3−2の中継計算機1−2−5の転送トピック受信部13は、テーブル11Tから、自身の中継計算機が受信計算機と判断し、トピック1のデータを受信する。転送トピック受信部13は、受信したトピック1のデータをトピック送信部8に渡す。トピック送信部8は、テーブル7Tのトピック1のレコードに登録されている「マルチキャストIPアドレス:ポート番号」に向けて、トピック1のデータを送信する。
(3)同一クラスタ内の受信計算機1−2−2のトピック受信部9は、テーブル11Tから自身の計算機が受信計算機であるので、トピック1のデータを受信する。
(1) FIG. 14 shows how topic 1 data is distributed. The topic transmitting unit 8-1-1-1 serving as a transmission computer transmits the data of topic 1 toward “multicast IP address of topic 1: port number” in the table 7 T. When the topic receiving unit 9 of the relay computer 1-1-5 receives the data of the topic 1 data, the topic receiving unit 9 refers to its own table 7T, determines that it is the receiving computer of the topic 1, and receives the topic 1 data. It is passed to the topic transfer unit 12. Upon receiving the topic 1 data, the topic transfer unit 12 refers to the table 11T and transmits the topic 1 data toward “multicast IP address of topic 1: port number”.
(2) The transfer topic receiving unit 13 of the relay computer 1-2-5 of the computer raster 3-2 determines that its relay computer is the receiving computer from the table 11T, and receives topic 1 data. The transfer topic receiving unit 13 passes the received topic 1 data to the topic transmitting unit 8. The topic transmission unit 8 transmits the data of topic 1 toward “multicast IP address: port number” registered in the record of topic 1 in the table 7T.
(3) The topic receiving unit 9 of the receiving computer 1-2-2 in the same cluster receives topic 1 data from the table 11T because its own computer is the receiving computer.

次に、本実施の形態1の出版−購読型データ通信方式における、トピック出版プロセス、トピック購読プロセスが起動した際のシステム全体の動作概要の一例を、図15〜図20を用いて説明する。   Next, an example of the overall operation of the system when the topic publishing process and the topic subscription process are activated in the publish-subscribe data communication system of the first embodiment will be described with reference to FIGS.

図15を参照して、計算機1−1−1での出版プロセス起動から、出版プロセス起動通知がクラスタ3−1内の他の計算機に伝わるまでの動作を説明する。
計算機クラスタ3−1に属する計算機1−1−1でトピック1を送信する送信プロセスが起動するものとする。計算機1−1−1上の出版・購読計算機通知部6がトピック1を送信するプロセスが起動したことを検出し(S3で出版プロセス)、プロセス起動検出時刻を取得する。そして、計算機1−1−1の出版・購読計算機通知部6は、自計算機上の出版・購読計算機管理部7参照し、トピック1を送信するためのIPマルチキャストアドレス、ポート番号が登録されているかどうかを調べる(S4)。
計算機1−1−1の出版・購読計算機通知部6は、登録されていなければ(S4でNO)、IPマルチキャストアドレス、ポート番号を決定し、IPマルチキャストアドレス、ポート番号、プロセス起動検出時刻、自計算機のIPアドレス、トピック名、自計算機のIPアドレス(送信計算機アドレス)を、自計算機上の出版・購読計算機管理部7に登録する(S5)。
With reference to FIG. 15, the operation from the publication process activation in the computer 1-1-1 to the publication process activation notification being transmitted to the other computers in the cluster 3-1 will be described.
It is assumed that a transmission process for transmitting topic 1 is started on the computer 1-1-1 belonging to the computer cluster 3-1. The publication / subscription computer notification unit 6 on the computer 1-1-1 detects that the process of transmitting the topic 1 has started (publishing process in S3), and acquires the process start detection time. Then, the publication / subscription computer notification unit 6 of the computer 1-1-1 refers to the publication / subscription computer management unit 7 on its own computer, and whether the IP multicast address and port number for transmitting the topic 1 are registered. A check is made (S4).
If not registered (NO in S4), the publication / subscription computer notifying unit 6 of the computer 1-1-1 determines the IP multicast address and port number, determines the IP multicast address, port number, process activation detection time, self The computer's IP address, topic name, and its own computer's IP address (transmission computer address) are registered in the publishing / subscribing computer management section 7 on its own computer (S5).

登録済であれば(S4でYES)、出版・購読計算機通知部6は、プロセス起動検出時刻と、出版・購読計算機管理部7に登録してある時刻を比較し(S6)、登録してある時刻のほうが新しければ、登録済のデータを削除し、IPマルチキャストアドレス、ポート番号を決定し、出版・購読計算機管理部7に示されているIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻を変更する(S7)。そして、出版・購読計算機通知部6は、トピック送信部8に、出版・購買計算機管理部7に新規登録、あるいは更新登録したIPマルチキャストアドレス、ポート番号でデータを送信できるよう、通信ソケットの設定を行う(S8)。そして、出版・購読計算機通知部6は、トピックを出版・購買計算機管理部7に新規登録した場合、あるいは出版・購買計算機管理部7に示されているトピックのIPマルチキャストアドレスを変更した場合は、トピックデータを送受信するためのIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻、出版プロセスが起動した計算機のIPアドレスを、同一計算機クラスタ内の全ての計算機の出版・購読計算機通知部6に通知する(S10)。IPマルチキャストアドレスを変更しなかった場合は、出版・購買計算機管理部7に、そのトピック名のレコードに自計算機のIPアドレスを登録する(S9)と共に、トピック名と、出版プロセスが起動した計算機のIPアドレス(この例では自己である計算機1−1−1のIPアドレス)とを、同一計算機クラスタ内の全ての計算機の出版・購読計算機通知部6に通知する(S10)。この場合の同一計算機クラスタ内全計算機への通知は、例えばIPマルチキャストまたはブロードキャストにより通知することが考えられる。IPマルチキャストする場合のIPマルチキャストアドレスおよびポート番号は予め与えられているものとする。   If already registered (YES in S4), the publishing / subscription computer notification unit 6 compares the process activation detection time with the time registered in the publishing / subscription computer management unit 7 (S6), and has registered it. If the time is newer, delete the registered data, determine the IP multicast address and port number, and change the IP multicast address, port number, and process activation detection time indicated in the publish / subscribe computer management unit 7 (S7). Then, the publishing / subscription computer notification unit 6 sets the communication socket so that the topic transmission unit 8 can transmit data with the IP multicast address and port number newly registered or updated with the publishing / purchase computer management unit 7. Perform (S8). The publishing / subscription computer notifying unit 6 newly registers a topic in the publishing / purchase computer management unit 7 or changes the IP multicast address of the topic indicated in the publishing / purchase computer management unit 7. An IP multicast address for transmitting / receiving topic data, a port number, a process activation detection time, and an IP address of a computer on which a publishing process has been activated are notified to the publishing / subscribing computer notification unit 6 of all computers in the same computer cluster ( S10). If the IP multicast address is not changed, the IP address of the own computer is registered in the publishing / purchase computer management unit 7 in the topic name record (S9), and the topic name and the computer of which the publishing process is started are registered. The IP address (in this example, the IP address of the computer 1-1-1 that is the self) is notified to the publication / subscription computer notification unit 6 of all computers in the same computer cluster (S10). In this case, the notification to all computers in the same computer cluster may be notified by IP multicast or broadcast, for example. It is assumed that the IP multicast address and port number for IP multicast are given in advance.

(他の計算機の出版)
出版プロセスが起動した計算機1−1−1−の出版・購読計算機通知部6からの出版プロセス起動通知を受信した出版・購読計算機通知部6は、
(1)トピック1を送信する計算機のIPアドレス、
(2)IPマルチキャストアドレス、
(3)ポート番号
に関する情報を受信すると、それぞれを出版・購読計算機管理部7に登録する(S16)。出版・購読計算機管理部7に登録されているIPマルチキャストアドレスの変更があり、自計算機上でトピック出版プロセスが動作している場合、前記受信した、IPマルチキャストアドレス、ポート番号でトピック1を送信できるよう、トピック送信部8に指示する(S19)。トピック送信部8は、トピックデータを送信できるよう、IPマルチキャストアドレス、ポート番号の設定変更などを行う。
(Publishing other computers)
The publication / subscription computer notification unit 6 that has received the publication process activation notification from the publication / subscription computer notification unit 6 of the computer 1-1-1-1 that has started the publication process,
(1) IP address of the computer that sends Topic 1,
(2) IP multicast address,
(3) When the information regarding the port number is received, each is registered in the publishing / subscription computer management unit 7 (S16). When there is a change in the IP multicast address registered in the publishing / subscription computer management unit 7 and the topic publishing process is operating on the own computer, the topic 1 can be transmitted with the received IP multicast address and port number. The topic transmitting unit 8 is instructed (S19). The topic transmission unit 8 changes the settings of the IP multicast address and the port number so that topic data can be transmitted.

また、データ中継計算機1−1−5上の出版・購読計算機通知部6の場合は、さらに、転送トピック通知部10に、計算機クラスタ内で送信されるトピック名、およびプロセス起動検出時刻を渡す。ここまでの動作を示した図が図15である。   In the case of the publish / subscribe computer notification unit 6 on the data relay computer 1-1-5, the topic name transmitted in the computer cluster and the process activation detection time are further passed to the transfer topic notification unit 10. FIG. 15 shows the operation up to this point.

(前提条件 その2)
なお、本実施の形態1では、同一計算機クラスタ内では、同一トピックには同一のマルチキャストIPアドレス、同一ポート番号が割り振られることを特徴としている。「同一トピック」とは、「トピック名」が同一のトピック同士をいう。トピック名は、そのトピックの名称の他、広く、トピックを識別できる情報を含む。また、トピックとマルチキャストアドレスは対応させておらず、各トピック出版プロセス起動時に、そのプロセスが起動した計算機の出版・購読計算機管理部7によって動的に決定することを特徴としている。そのため、すでに計算機クラスタ内の計算機で同一トピックを出版するプロセスが起動していた場合には、マルチキャストIPアドレスおよびポート番号がすでに決定しており、出版・購読計算機管理部7に登録されている。そのため、遅れて新規に起動した送信プロセスのデータは、登録済のIPマルチキャストアドレスで送信することになる。
(Precondition 2)
In the first embodiment, the same multicast IP address and the same port number are allocated to the same topic in the same computer cluster. “Same topic” means topics having the same “topic name”. The topic name includes information that can widely identify the topic in addition to the name of the topic. Further, the topic and the multicast address are not associated with each other, and each topic publishing process is dynamically determined by the publishing / subscribing computer management unit 7 of the computer that has started the process. For this reason, when the process of publishing the same topic has already been started on the computers in the computer cluster, the multicast IP address and port number have already been determined and registered in the publishing / subscription computer management unit 7. For this reason, the data of the transmission process that is newly started after a delay is transmitted using the registered IP multicast address.

次に、図16を参照して、購読プロセスが起動した場合を説明する。   Next, a case where the subscription process is activated will be described with reference to FIG.

(購読プロセス起動の計算機1−1−2)
計算機クラスタ3−1に属する計算機1−1−2でトピック1の購読を希望する購読プロセスが起動するとする。トピック1の購読プロセスが起動すると、計算機1−1−2上の出版・購読計算機通知部6がその起動を検出し、同一計算機クラスタ3−1内の全計算機の出版・購読計算機通知部6に、その起動を通知(購読プロセス起動通知を通知)する。購読プロセス起動通知は、トピック名と受信計算機のIPアドレスとを含む(後述のS13)
(Subscription process startup computer 1-1-2)
It is assumed that a subscription process that desires to subscribe to Topic 1 is started on the computer 1-1-2 belonging to the computer cluster 3-1. When the topic 1 subscription process is activated, the publication / subscription computer notification unit 6 on the computer 1-1-2 detects the activation, and the publication / subscription computer notification unit 6 of all computers in the same computer cluster 3-1 receives the activation process. , Notify the activation (notify the subscription process activation notification). The subscription process activation notification includes the topic name and the IP address of the receiving computer (S13 described later).

(クラスタ3−1内の他の計算機)
クラスタ3−1内の他の計算機の出版・購読計算機通知部6は、購読プロセス起動通知を受信すると、
(1)トピック名と、
(2)受信計算機(本例では計算機1−1−2)のIPアドレスを、
自計算機上の出版・購読計算機管理部7に登録する。
なお、すでに同一クラスタ内の計算機で同一トピックの出版プロセスまたは購読プロセスが起動しており、トピック名が登録されている場合には、出版・購読計算機管理部7の、そのトピック名が登録されている行(レコード)の受信計算機IPアドレス欄に、通知を受けたIPアドレスを登録する。
(Other computers in cluster 3-1)
When the publication / subscription computer notification unit 6 of another computer in the cluster 3-1 receives the subscription process activation notification,
(1) Topic name and
(2) The IP address of the receiving computer (computer 1-1-2 in this example)
Register in the publishing / subscribing computer management section 7 on its own computer.
If a publishing process or subscription process for the same topic has already been started on a computer in the same cluster and a topic name is registered, the topic name of the publishing / subscribing computer management unit 7 is registered. The notified IP address is registered in the receiving computer IP address column of the row (record).

(データ中継計算機1−1−5)
そして、計算機クラスタ3−1の中継計算機1−1−5上の出版・購読計算機通知部6は、トピック1の購読プロセスの起動を、転送トピック通知部10に通知する(S12)。ここまでの動作を示した図が図16である。
(Data relay computer 1-1-5)
Then, the publication / subscription computer notification unit 6 on the relay computer 1-1-5 of the computer cluster 3-1 notifies the transfer topic notification unit 10 of the activation of the topic 1 subscription process (S12). FIG. 16 shows the operation so far.

(受信計算機1−1−2のトピック受信部9のソケット設定)
次に、図17を参照して、購読プロセスが起動した受信計算機1−1−2の動作を説明する。受信計算機1−1−2の出版・購読計算機通知部6は、以下の処理を実行する。購読プロセスが起動した計算機1−1−2上の出版・購読計算機管理部7に、送信プロセスの計算機識別子(送信機IPアドレス)、ポート番号、およびIPマルチキャストアドレスが登録された後、
(A)自計算機にて同一トピックの受信プロセスが起動した場合(S13)、
または、
(B)自計算機1−1−2上にトピック1の受信プロセスが起動し、出版・購読計算機管理部7に登録された後に他の計算機で同一トピックの送信プロセスが起動した場合、
計算機1−1−2の出版・購読計算機通知部6は、前述の方法で「プロセス起動通知」を受信し、指定されたIPマルチキャストアドレス、ポート番号でデータを受信(受信プロセス起動)できるよう、トピック受信部9に、ソケットの設定を指示する。計算機1−1−2のトピック受信部9はこの指示を受けると、出版・購読計算機管理部7を参照してトピック1のデータ受信のためのソケットを作成する。すなわちトピック受信部9は、出版・購読計算機管理部7に登録されたIPマルチキャストアドレスでデータを受信できるよう、ソケットの設定を行う。これにより受信プロセスは計算機1−1−2のトピック受信部9を経由して、トピック1に関するトピックデータ(図6)の受信が可能となる。本動作を示した図が図17である。
(Socket setting of topic receiving unit 9 of receiving computer 1-1-2)
Next, with reference to FIG. 17, the operation of the reception computer 1-1-2 that has started the subscription process will be described. The publish / subscribe computer notification unit 6 of the reception computer 1-1-2 executes the following processing. After the computer identifier (transmitter IP address), the port number, and the IP multicast address of the transmission process are registered in the publishing / subscription computer management unit 7 on the computer 1-1-2 in which the subscription process is started,
(A) When the reception process of the same topic is started on the own computer (S13),
Or
(B) When the reception process of topic 1 is started on the own computer 1-1-2 and registered in the publishing / subscription computer management unit 7, the transmission process of the same topic is started on another computer.
The publish / subscribe computer notification unit 6 of the computer 1-1-2 receives the “process activation notification” by the above-described method, and can receive data (reception process activation) with the designated IP multicast address and port number. It instructs the topic receiving unit 9 to set a socket. Upon receiving this instruction, the topic receiving unit 9 of the computer 1-1-2 creates a socket for receiving data on the topic 1 with reference to the publication / subscription computer management unit 7. That is, the topic receiving unit 9 sets a socket so that data can be received by the IP multicast address registered in the publishing / subscription computer management unit 7. As a result, the reception process can receive topic data (FIG. 6) related to topic 1 via topic receiving unit 9 of computer 1-1-2. FIG. 17 shows this operation.

また、本動作以降、計算機クラスタ3で起動した受信プロセスは、各計算機の出版・購読計算機管理部7にマルチキャストIPアドレスが登録されているので、ソケットを作成し,出版・購読計算機管理部7に指定されているマルチキャストアドレスをソケットに設定すればデータの受信が可能になる。   In addition, since the multicast IP address is registered in the publishing / subscribing computer management unit 7 of each computer, the reception process started in the computer cluster 3 after this operation creates a socket and sends it to the publishing / subscription computer management unit 7. Data can be received by setting the specified multicast address to the socket.

次に、図18を参照して、データ中継計算機1−1−5の動作を説明する。図15の動作により、計算機クラスタ3−1の中継計算機5−1(計算機1−1−5)の出版・購読計算機通知部6が、計算機クラスタ3−1内でトピック1を出版するプロセス起動通知を計算機1−1−1の出版・購読計算機通知部6からプロセス起動通知を受信し、受信したプロセス起動通知を転送トピック通知部10に渡した後(S12)、転送トピック通知部10は、通知内容のトピック名と、そのトピックを他の計算機クラスタの中継計算機に送信するためのIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻が転送トピック管理部11に登録されているかどうかを調べる。登録されていれば、転送トピック管理部11に登録されている時刻と通知内の時刻を比較し、通知されたプロセス起動検出時刻のほうが古ければ、転送トピック管理部11のトピック1の行のIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻を計算機1−1−1からの通知の情報に変更する。通知されたプロセス起動検出時刻のほうが新しければそのままとする。そして、転送トピック通知部10は、計算機クラスタ間を接続しているネットワーク(ネットワーク2−4)に接続された全てのデータ中継計算機(計算機1−2−5、計算機1−3−5)の転送トピック通知部10に、トピック1を出版するプロセスが起動した旨、およびトピック名、トピックを送信するIPマルチキャストアドレス(変更時のみ)、ポート番号(変更時のみ)、プロセス起動検出時刻(変更時のみ)、および計算機1−1−5のIPアドレスを通知する。この場合も、全データ中継計算機への通知は例えばブロードキャストIPマルチキャストにより通知することが考えられ、IPマルチキャストする場合のIPマルチキャストアドレスおよびポート番号は予め与えられているものとする。   Next, the operation of the data relay computer 1-1-5 will be described with reference to FIG. 15, the publication / subscription computer notification unit 6 of the relay computer 5-1 (computer 1-1-5) of the computer cluster 3-1 publishes a process start notification for publishing topic 1 in the computer cluster 3-1. Is received from the publication / subscription computer notification unit 6 of the computer 1-1-1, and the received process activation notification is passed to the transfer topic notification unit 10 (S12). Whether the topic name of the content, the IP multicast address for transmitting the topic to the relay computer of another computer cluster, the port number, and the process activation detection time are registered in the transfer topic management unit 11 is checked. If registered, the time registered in the transfer topic management unit 11 is compared with the time in the notification. If the notified process activation detection time is earlier, the topic 1 row of the transfer topic management unit 11 is updated. The IP multicast address, port number, and process activation detection time are changed to information notified from the computer 1-1-1. If the notified process start detection time is newer, it is left as it is. Then, the transfer topic notification unit 10 transfers all data relay computers (computer 1-2-5, computer 1-3-5) connected to the network (network 2-4) connecting the computer clusters. The topic notification unit 10 indicates that the process of publishing topic 1 has started, the topic name, the IP multicast address to which the topic is transmitted (only when changed), the port number (only when changed), the process start detection time (only when changed) ), And the IP address of the computer 1-1-5. Also in this case, the notification to all data relay computers may be notified by broadcast IP multicast, for example, and it is assumed that the IP multicast address and port number for IP multicast are given in advance.

データ中継計算機1−1−5からの出版プロセス起動の通知を受信した他のデータ中継計算機の転送トピック通知部10は、通知された情報(トピック名、IPアドレス、IPマルチキャストアドレス(変更時のみ)、ポート番号(変更時のみ)、プロセス起動検出時刻(変更時のみ))を、転送トピック管理部11に登録する。IPマルチキャストアドレスの変更時は、転送トピック管理部11の、同一トピック名が登録されている行の該当欄を変更する(以上は出版プロセスの起動)。   The transfer topic notification unit 10 of another data relay computer that has received the publication process activation notification from the data relay computer 1-1-5 receives the notified information (topic name, IP address, IP multicast address (only when changed). The port number (only when changed) and the process activation detection time (only when changed) are registered in the transfer topic management unit 11. When the IP multicast address is changed, the corresponding column of the line in which the same topic name is registered in the transfer topic management unit 11 is changed (the publication process is started above).

転送トピック管理部11にトピック1の出版プロセスが登録された後にトピック1の購読プロセスがデータ中継計算機の出版・購読計算機管理部7に登録されるか、トピック1の購読プロセスがデータ中継計算機の出版・購読計算機管理部7に登録された後に、転送トピック管理部11にトピック1の出版プロセスが登録されると、転送トピック通知部10は、トピック1の出版プロセスが動作する計算機クラスタのデータ中継計算機の転送トピック通知部10に向けて、トピックの購読希望通知を送信する。   After the topic 1 publication process is registered in the transfer topic management unit 11, the topic 1 subscription process is registered in the data relay computer publication / subscription computer management unit 7, or the topic 1 subscription process is published in the data relay computer. When the topic 1 publication process is registered in the transfer topic management unit 11 after being registered in the subscription computer management unit 7, the transfer topic notification unit 10 displays the data relay computer of the computer cluster in which the topic 1 publication process operates. The topic subscription request notification is transmitted to the transfer topic notification unit 10.

図15以降、ここまでの動作を示した図が図18である。   FIG. 18 is a diagram showing the operation so far from FIG.

図19を参照して、転送トピック受信部13におけるソケット設定を説明する。同一計算機クラスタ内でトピック1の購読プロセスが動作する場合、データ中継計算機の転送トピック受信部13は、図16の動作により転送トピック管理部11に示されたIPマルチキャストアドレス、ポート番号でデータが受信できるよう、通信ソケットの設定を行う。この動作を示した図が図19である。   The socket setting in the transfer topic receiving unit 13 will be described with reference to FIG. When the topic 1 subscription process operates in the same computer cluster, the transfer topic reception unit 13 of the data relay computer receives data at the IP multicast address and port number indicated in the transfer topic management unit 11 by the operation of FIG. Set up communication sockets so that you can. FIG. 19 shows this operation.

(他のクラスタからの出版プロセス起動通知の受信)
次に、図20を参照して中継計算機どうしの通信動作を説明する。中継計算機1−1−5上の転送トピック通知部10から出版プロセス起動通知を受信した中継計算機(本例では計算機1−2−5,1−3−5)の転送トピック通知部10は、トピック1の出版プロセスが起動した旨を同一クラスタ内の出版・購読計算機通知部6に通知するよう出版・購読計算機通知部6に指示する。指示を受けた中継計算機の出版・購読計算機通知部6は、トピック1をマルチキャスト送信するためのIPマルチキャストアドレス、ポート番号を決定する。そして、指示を受けた中継計算機の出版・購読計算機通知部6は、出版・購読計算機管理部7を参照し、トピック1のIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻が登録されているかどうかを調べる。登録済であれば、指示を受けた中継計算機の出版・購読計算機通知部6は、中継計算機1−1−5から受信したプロセス起動検出時刻と出版・購読計算機管理部7に登録されているプロセス起動検出時刻を比較し、中継計算機1−1−5から受信したプロセス起動検出時刻が古ければ、中継計算機が決定したIPマルチキャストアドレス、ポート番号、プロセス起動検出時刻、本通知の送信元IPアドレスを、出版・購読計算機管理部7のトピック1の行の該当欄に登録し、これらの情報を同一計算機クラスタ内の全計算機の出版・購読計算機通知部6に通知する。
(Receiving publishing process start notifications from other clusters)
Next, a communication operation between relay computers will be described with reference to FIG. The transfer topic notification unit 10 of the relay computer (computer 1-2-5, 1-3-5 in this example) that has received the publication process start notification from the transfer topic notification unit 10 on the relay computer 1-1-5 The publishing / subscription computer notification unit 6 is instructed to notify the publishing / subscription computer notification unit 6 in the same cluster that one publishing process has started. Upon receiving the instruction, the publishing / subscription computer notifying unit 6 of the relay computer determines an IP multicast address and a port number for multicast transmission of the topic 1. Then, the publishing / subscribing computer notifying unit 6 of the relay computer that has received the instruction refers to the publishing / subscribing computer management unit 7 and determines whether the IP multicast address, port number, and process activation detection time of topic 1 are registered. Investigate. If registered, the publishing / subscribing computer notification unit 6 of the relay computer that has received the instruction receives the process activation detection time received from the relay computer 1-1-5 and the process registered in the publishing / subscribing computer management unit 7. If the process start detection time received from the relay computer 1-1-5 is old, the IP multicast address, port number, process start detection time, and source IP address of this notification determined by the relay computer are compared. Is registered in the corresponding column of the topic 1 row of the publishing / subscribing computer management unit 7, and this information is notified to the publishing / subscribing computer notification unit 6 of all the computers in the same computer cluster.

指示を受けた中継計算機の出版・購読計算機通知部6は、プロセス起動検出時刻のほうが新しければ、トピック名、本通知の送信元IPアドレスのみを同一計算機クラスタ内全計算機の出版・購読計算機通知部6に通知する。そして、トピック名、送信元IPアドレス、IPマルチキャストアドレス(変更時のみ)、ポート番号(変更時のみ)の通知を受けた同一クラスタ内の他計算機の出版・購読計算機通知部6は、出版・購読計算機管理部7の該当欄の変更を行う。   The publishing / subscribing computer notifying unit 6 of the relay computer that has received the instruction notifies the publishing / subscribing computer notifying all the computers in the same computer cluster only the topic name and the source IP address of this notification if the process activation detection time is newer. Notification to the unit 6. Then, the publish / subscribe computer notification unit 6 of the other computer in the same cluster that has received the notification of the topic name, the source IP address, the IP multicast address (only at the time of change), and the port number (only at the time of change) The corresponding column of the computer management unit 7 is changed.

ここまでの動作を示した図が図20である。   FIG. 20 shows the operation up to this point.

そして、出版・購読計算機管理部7の、トピックを受信するためのIPマルチキャストアドレス、ポート番号を変更、または新規登録した場合、トピック受信部9は、自計算機上でトピック受信プロセスが動作していれば、指定されたポート番号でソケットを作成し(新規のトピックの場合)、トピック受信できるようIPマルチキャストアドレスを設定する。本動作は図17と同一である。   Then, when the IP multicast address and port number for receiving the topic of the publishing / subscription computer management unit 7 are changed or newly registered, the topic receiving unit 9 must be running the topic receiving process on its own computer. For example, a socket is created with a specified port number (in the case of a new topic), and an IP multicast address is set so that the topic can be received. This operation is the same as FIG.

次に、図21を参照してトピックの送信動作を説明する。図15〜図20に示す動作により、計算機1−1−1のトピック送信部8がトピック1のデータを送信すると、このトピックデータは、計算機1−1−2のほか、他の計算機でもトピック1の購読を希望しているプロセスが存在するため(計算機1−2−2)、データ中継計算機である計算機1−1−5にも届く。計算機1−1−2および計算機1−1−5のトピック受信部9は、出版・購読計算機管理部7を参照し、自計算機上にデータ受信プロセスが起動しているかどうかを調べ、起動していれば、そのデータ受信プロセスにデータを渡す。計算機1−1−5の出版・購読計算機管理部7には転送トピック管理部11に自計算機の送信側計算機として登録されているので、トピック受信部9は、本トピックデータを転送すべきものと認識し、トピック転送部12にトピックを転送するよう指示する。計算機1−1−5上のトピック転送部12は、転送トピック管理部11を参照し、指定されるマルチキャストIPアドレスの指定されたポートにデータをマルチキャスト送信する。   Next, a topic transmission operation will be described with reference to FIG. When the topic transmission unit 8 of the computer 1-1-1 transmits the data of the topic 1 by the operation shown in FIGS. 15 to 20, the topic data is also transmitted to the topic 1 in other computers as well as the computer 1-1-2. Since there is a process that wants to subscribe to (Computer 1-2-2), it also reaches the computer 1-1-5 which is a data relay computer. The topic receiving unit 9 of the computer 1-1-2 and the computer 1-1-5 refers to the publishing / subscribing computer managing unit 7, checks whether the data reception process is activated on its own computer, and is activated. If so, the data is passed to the data receiving process. Since the publishing / subscribing computer management unit 7 of the computer 1-1-5 is registered in the transfer topic management unit 11 as the sending computer of its own computer, the topic receiving unit 9 recognizes that the topic data should be transferred. The topic transfer unit 12 is instructed to transfer the topic. The topic transfer unit 12 on the computer 1-1-5 refers to the transfer topic management unit 11 and multicasts data to the designated port of the designated multicast IP address.

(他の中継計算機1−2−5)
そして、トピック1の購読を希望するプロセス(計算機1−2−2)が動作する計算機クラスタ3−2のデータ中継計算機1−2−5は、トピック1のマルチキャストグループに参入しているため、計算機1−1−5が送信するトピック1のデータを受信することができる。そして、計算機1−1−5からのデータを受信した計算機1−2−5の転送トピック受信部13は、自ホストがそのトピックの受信計算機であることを、転送トピック管理部11を参照することにより確認し、トピック送信部8にデータを渡す。計算機1−2−5のトピック送信部8は、出版・購読計算機管理部7に示されているマルチキャストIPアドレス、ポート番号にデータを送信する。
(Other relay computer 1-2-5)
Since the data relay computer 1-2-5 of the computer cluster 3-2 in which the process (computer 1-2-2) that wants to subscribe to the topic 1 operates has entered the multicast group of the topic 1, the computer The data of Topic 1 transmitted by 1-1-5 can be received. Then, the transfer topic receiving unit 13 of the computer 1-2-5 that has received the data from the computer 1-1-5 refers to the transfer topic management unit 11 that the host is the receiving computer of the topic. And pass the data to the topic transmitter 8. The topic transmission unit 8 of the computer 1-2-5 transmits data to the multicast IP address and port number indicated in the publishing / subscription computer management unit 7.

(計算機1−2−2)
計算機1−2−2は、データ中継計算機1−2−5上のトピック送信部8が設定したマルチキャストグループに参入しているため、データが届く。その後、計算機1−2−2のトピック受信部9がデータを受信し、アプリケーションに渡す。この動作を示したものが図21である。
(Computer 1-2-2)
Since the computer 1-2-2 has joined the multicast group set by the topic transmission unit 8 on the data relay computer 1-2-5, the data arrives. Thereafter, the topic receiving unit 9 of the computer 1-2-2 receives the data and passes it to the application. This operation is shown in FIG.

次に、本実施の形態1における出版・購読計算機通知部6、トピック送信部8、トピック受信部9、転送トピック通知部10、トピック転送部12、転送トピック受信部13の個々の処理手順の一例を図22〜図26を用いて説明する。   Next, an example of individual processing procedures of the publishing / subscription computer notification unit 6, the topic transmission unit 8, the topic reception unit 9, the transfer topic notification unit 10, the topic transfer unit 12, and the transfer topic reception unit 13 according to the first embodiment. Will be described with reference to FIGS.

図22は、本実施の形態1における出版・購読計算機通知部6の動作手順を示したフローチャートである。   FIG. 22 is a flowchart showing an operation procedure of the publication / subscription computer notifying unit 6 according to the first embodiment.

ステップS1で、他計算機の出版・購読計算機通知部6から送信プロセスまたは受信プロセス起動を検出するか、自計算機上の送信プロセスまたは受信プロセスの起動を検出すると、ステップS2に進み、
ステップS2で、通知内容および通知の送信元を調査し、他の計算機の出版・購読計算機通知部からの通知であれば、ステップS17へ進み、自計算機のプロセス起動検出であれば、ステップS3に進み、終了要求であれば、終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。
ステップS3で、起動プロセスがトピック出版プロセスかトピック購読プロセスかを調査し、トピック出版プロセスであれば、ステップS4に、トピック購読プロセスであれば、S13に進む。
When the activation of the transmission process or the reception process is detected from the publication / subscription computer notification unit 6 of the other computer in step S1, or the activation of the transmission process or the reception process on the own computer is detected, the process proceeds to step S2.
In step S2, the contents of the notification and the transmission source of the notification are investigated. If the notification is from the publication / subscription computer notification unit of another computer, the process proceeds to step S17. If the process activation of the own computer is detected, the process proceeds to step S3. If the request is an end request, the process ends. The termination request may be a signal from the operating system, for example.
In step S3, it is investigated whether the activation process is a topic publishing process or a topic subscription process. If it is a topic publishing process, the process proceeds to step S4. If it is a topic subscription process, the process proceeds to S13.

(自計算機で出版プロセスが起動した場合)
ステップS4で、起動したプロセスが出版するトピックのIPマルチキャストアドレスが出版・購読計算機管理部7に登録済かどうかを調べ、登録されていなければステップS5へ、登録されていればステップS6に進み、
ステップS5で、トピックを送信するIPマルチキャストアドレスおよびポート番号を決定し、これらの情報と自計算機のIPアドレス、プロセスの起動時刻を出版・購読計算機管理部7に登録し、ステップS8に進む。
ステップS6で、出版・購読計算機管理部7に登録されているトピック出版プロセスのプロセス起動検出時刻と、自計算機上で起動したトピック出版プロセスの起動時刻を比較し、出版・購読計算機管理部7に登録されている起動検出時刻T(登録)のほうが新しければ、ステップS7に進み、起動検出時刻T(登録)の方が古ければステップS9に進む。
ステップS7で、出版・購読計算機通知部6は、トピックを送信する際のマルチキャストIPアドレス、ポート番号を決定し、出版・購読計算機管理部7の起動プロセスが出版するトピックが登録されている行(レコード)の、IPマルチキャストアドレス・ポート番号欄を、前記決定内容に変更し、プロセス起動検出時刻を、自計算機上で起動した出版プロセスの起動検出時刻に変更し、送信元計算機IPアドレス欄に、自計算機のIPアドレスを登録し、ステップS8に進む。このようにステップS7では、IPマルチキャストアドレス、ポート番号及び出版プロセスの起動検出時刻を更新する。
ステップS8で、新規登録、あるいは更新登録したIPマルチキャストアドレス・ポート番号でトピックを送信するよう、自計算機のトピック送信部8に指示し、ステップS10に進む。
(When the publishing process starts on your computer)
In step S4, it is checked whether or not the IP multicast address of the topic published by the activated process has been registered in the publishing / subscription computer management unit 7. If not registered, the process proceeds to step S5. If registered, the process proceeds to step S6.
In step S5, the IP multicast address and port number for transmitting the topic are determined, the information, the IP address of the own computer, and the process start time are registered in the publishing / subscription computer management unit 7, and the process proceeds to step S8.
In step S6, the process activation detection time of the topic publishing process registered in the publishing / subscription computer management unit 7 is compared with the activation time of the topic publishing process activated on the own computer, and the publishing / subscription computer management unit 7 If the registered activation detection time T (registration) is newer, the process proceeds to step S7, and if the activation detection time T (registration) is older, the process proceeds to step S9.
In step S7, the publishing / subscription computer notifying unit 6 determines a multicast IP address and a port number for transmitting a topic, and a row in which a topic published by the activation process of the publishing / subscribing computer management unit 7 is registered ( Record), the IP multicast address / port number field is changed to the content of the determination, the process activation detection time is changed to the activation detection time of the publishing process activated on the own computer, and the transmission source computer IP address field is changed to The IP address of the own computer is registered, and the process proceeds to step S8. Thus, in step S7, the IP multicast address, port number, and publication process activation detection time are updated.
In step S8, the topic transmission unit 8 of the own computer is instructed to transmit the topic using the IP multicast address / port number newly registered or updated, and the process proceeds to step S10.

ステップS9で、
起動検出時刻T(登録)<起動検出時刻T(通知)であるので、
自計算機のIPアドレスのみを出版・購読計算機管理部7の起動プロセスが送信するトピック名の行の送信元計算機のIPアドレス欄に登録し、ステップS10に進む。
In step S9,
Since activation detection time T (registration) <activation detection time T (notification),
Only the IP address of the own computer is registered in the IP address column of the transmission source computer in the topic name line transmitted by the activation process of the publish / subscribe computer management unit 7, and the process proceeds to step S10.

ステップS10で、出版プロセスが起動した計算機(この例では計算機1−1−1)の出版・購読計算機通知部6は、同一計算機クラスタの全計算機の出版・購読計算機通知部6に、起動プロセスが出版するトピック名および自計算機の出版・購読計算機管理部7で変更した内容、または新規に登録した内容を通知し、ステップS11に進む。   In step S10, the publishing / subscribing computer notification unit 6 of the computer (computer 1-1-1 in this example) that has started the publishing process has the activation process executed by the publishing / subscription computer notification unit 6 of all computers in the same computer cluster. The topic name to be published and the content changed by the publish / subscribe computer management unit 7 of the own computer or the newly registered content are notified, and the process proceeds to step S11.

ステップS11で、自計算機がデータ中継計算機5かどうかを調べ、データ中継計算機5の場合は、ステップS12に進み、そうでなければステップS1に戻る。
ステップS12で、転送トピック通知部10に通知内容を渡し、転送トピック管理部11にトピック名、IPマルチキャストアドレスなどを登録するよう指示する。新規起動したトピック出版プロセスが出版するトピック名および、出版・購読計算機管理部7に登録されているトピックの出版プロセスの起動時刻を通知し、ステップS1に戻る。
In step S11, it is checked whether or not the own computer is the data relay computer 5. If the computer is the data relay computer 5, the process proceeds to step S12. Otherwise, the process returns to step S1.
In step S12, the notification contents are transferred to the transfer topic notification unit 10, and the transfer topic management unit 11 is instructed to register a topic name, an IP multicast address, and the like. The topic name published by the newly activated topic publishing process and the start time of the publishing process of the topic registered in the publishing / subscription computer management unit 7 are notified, and the process returns to step S1.

(自計算機で購読プロセスが起動した場合)
ステップS13で、同一計算機クラスタの全計算機の出版・購読計算機通知部6に、起動プロセスが購読するトピック名、トピック購読プロセスの起動した計算機のIPアドレスを通知し、ステップS14に進み、
ステップS14で、すでに、購読希望するトピックのIPマルチキャストアドレスが出版・購読管理部7に登録されており、自計算機のIPアドレスが購読希望するトピックの受信計算機IPアドレス欄に登録されていなければ、ステップS15に進み、
ステップS15で、IPマルチキャストアドレスでトピックデータを受信できるよう、トピック受信部9に指示し、ステップS20に進む。
(When the subscription process starts on your computer)
In step S13, the publish / subscribe computer notification unit 6 of all computers in the same computer cluster is notified of the topic name subscribed by the activation process and the IP address of the computer activated in the topic subscription process, and the process proceeds to step S14.
In step S14, if the IP multicast address of the topic desired to be subscribed has already been registered in the publishing / subscription management unit 7, and the IP address of the own computer has not been registered in the receiving computer IP address column of the topic desired to be subscribed, Proceed to step S15,
In step S15, the topic receiving unit 9 is instructed to receive topic data with the IP multicast address, and the process proceeds to step S20.

(他計算機からの通知の場合)
ステップS17で、出版・購読計算機通知部6は、通知内容を調査し、内容が出版プロセスの起動通知かどうかを判定する。
起動の場合はS19に進み、起動でない場にはS18に進む。
ステップS18で、出版・購読計算機通知部6は受信内容を出版・購読計算機管理部7に登録し、S11に進む。
ステップS19で、通知トピックのIPマルチキャストアドレスが出版・購読計算機管理部7に登録済かを判定する。登録済の場合、S20へ進み、登録済でない場合はS21bに進む。
(For notifications from other computers)
In step S17, the publishing / subscription computer notification unit 6 investigates the notification content and determines whether the content is a publishing process activation notification.
If it is activated, the process proceeds to S19. If it is not activated, the process proceeds to S18.
In step S18, the publishing / subscription computer notifying unit 6 registers the received content in the publishing / subscribing computer management unit 7, and proceeds to S11.
In step S 19, it is determined whether the IP multicast address of the notification topic has been registered in the publishing / subscription computer management unit 7. If registered, the process proceeds to S20, and if not registered, the process proceeds to S21b.

S21bでは、IPマルチキャストアドレス、ポート番号を決定し出版・購読計算機管理部7に登録し、S22に進む。   In S21b, the IP multicast address and port number are determined and registered in the publishing / subscription computer management unit 7, and the process proceeds to S22.

S20で、登録済のプロセス起動検出時刻と、通知されたプロセス起動検出時刻とを比較する。
S20において、登録済時刻の方が大くない場合(古いか、同一時刻)はS21a進み、登録済時刻の方が大きい(新しい)場合は、S23に進み起動計算機のIPアドレスを出版・購読計算機管理部7に登録する。
In S20, the registered process activation detection time is compared with the notified process activation detection time.
In S20, if the registered time is not larger (older or the same time), the process proceeds to S21a. If the registered time is larger (newer), the process proceeds to S23, and the IP address of the startup computer is published / subscribed. Register in the management unit 7.

ステップS21aで、IPマルチキャストアドレス、ポート番号などを変更し、起動計算機のIPアドレスと共に出版・購読計算機管理部7に登録する。   In step S21a, the IP multicast address, port number, etc. are changed and registered in the publication / subscription computer management unit 7 together with the IP address of the activation computer.

ステップS22で、自計算機でトピック出版プロセスが動作する場合に備えて、変更したIPマルチキャストアドレスでデータを送信するよう、トピック送信部8に設定変更を指示し、ステップS11に進む。
ステップ24で、自計算機上でトピック受信プロセスが動作しているかどうかを調べ、動作していれば、ステップS21に進み、動作していなければ、ステップS11に進む。
ステップS25で、トピック受信部9に、指定されたIPマルチキャストアドレスでトピックデータを受信できるよう、トピック受信部9に指示し、ステップS11に進む。
In step S22, the topic transmission unit 8 is instructed to change the setting so that data is transmitted using the changed IP multicast address in preparation for the case where the topic publishing process operates on the own computer, and the process proceeds to step S11.
In step 24, it is checked whether the topic reception process is operating on the local computer. If it is operating, the process proceeds to step S21, and if not, the process proceeds to step S11.
In step S25, the topic receiving unit 9 is instructed to receive topic data at the designated IP multicast address, and the process proceeds to step S11.

ステップS1〜S19の動作を、ステップS1で終了要求を受信するまで繰り返す。   The operations in steps S1 to S19 are repeated until an end request is received in step S1.

次に、トピック送信部8の動作手順の一例を、図23のフローチャートを用いて説明する。   Next, an example of the operation procedure of the topic transmission unit 8 will be described with reference to the flowchart of FIG.

ステップS31でデータ受信を待ち、データを受信すると、ステップS32に進み、
ステップS32で受信データの種別を調査し、終了要求であれば処理を終了し、トピック出版プロセスが送信したトピックデータであれば、ステップS33に進み、ステップS6、ステップS8、ステップS19の出版・購読計算機通知部6からの指示であれば、ステップS34に進む。ここで、終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。
ステップS33では、データを送信し、ステップS31に戻る。
ステップS34では、出版・購読計算機管理部7を参照し、IPマルチキャストアドレス、ポート番号を取得し、そのIPマルチキャストアドレス、ポート番号にデータを送信できるよう、ソケットの設定を行い、ステップS31に戻る。
ステップS31〜S34の処理を、ステップS31で終了要求を受信するまで繰り返す。
Waiting for data reception in step S31, and receiving data, the process proceeds to step S32,
In step S32, the type of received data is checked. If it is an end request, the process ends. If it is topic data transmitted by the topic publishing process, the process proceeds to step S33, and publish / subscribe in steps S6, S8, and S19. If it is an instruction from the computer notification unit 6, the process proceeds to step S34. Here, the termination request may be a signal from the operating system, for example.
In step S33, data is transmitted, and the process returns to step S31.
In step S34, the publish / subscribe computer management unit 7 is referred to obtain the IP multicast address and port number, set the socket so that data can be transmitted to the IP multicast address and port number, and the process returns to step S31.
The processes in steps S31 to S34 are repeated until an end request is received in step S31.

次に、トピック受信部9の動作手順の一例を、図24のフローチャートを用いて説明する。   Next, an example of the operation procedure of the topic receiving unit 9 will be described using the flowchart of FIG.

ステップS41でデータ受信を待ち、データを受信すると、ステップS42に進み、
ステップS42で、データの内容がトピックデータか、出版・購読計算機通知部6または転送トピック通知部10からのマルチキャストIPアドレスおよびポート番号の設定要求か、終了要求かを調査し、トピック送信部8が送信したトピックのデータであれば、
ステップS43に進み、マルチキャストIPアドレスおよびポート番号の設定要求であれば、ステップS46に進み、
ステップS43で、出版・購読計算機管理部7を参照し、自計算機が受信すべきトピックデータかどうかを調べ、自計算機が受信すべきトピックデータであればステップS44へ進み、自計算機が受信すべきトピックデータでなければ、ステップS45に進み、
ステップS44で、受信プロセスにデータを渡し、ステップS45に進み、
ステップS45で自計算機がデータ中継計算機であり、かつ、他の計算機クラスタに転送すべきデータかどうかを転送トピック管理部11を参照することにより調べ、転送すべきデータであれば、ステップS46に進み、
ステップS46でトピック転送部12にデータを渡す。
ステップS41〜S46の処理を、ステップS41で終了要求を受信するまで繰り返す。
In step S41, data reception is waited. When data is received, the process proceeds to step S42.
In step S42, it is checked whether the content of the data is topic data, a request for setting a multicast IP address and port number from the publishing / subscription computer notification unit 6 or the transfer topic notification unit 10, or a termination request. If it ’s the topic you ’ve submitted,
Proceeding to step S43, if it is a request for setting a multicast IP address and port number, proceeding to step S46,
In step S43, the publishing / subscription computer management unit 7 is referenced to check whether the topic data is to be received by the own computer. If the topic data is to be received by the own computer, the process proceeds to step S44, and the own computer is to receive the topic data. If it is not topic data, the process proceeds to step S45.
In step S44, data is passed to the reception process, and the process proceeds to step S45.
In step S45, whether or not the own computer is a data relay computer and data to be transferred to another computer cluster is checked by referring to the transfer topic management unit 11. If the data is to be transferred, the process proceeds to step S46. ,
In step S46, the data is transferred to the topic transfer unit 12.
Steps S41 to S46 are repeated until an end request is received in step S41.

次に、転送トピック通知部10の動作手順の一例を、図25のフローチャートを用いて説明する。   Next, an example of the operation procedure of the transfer topic notification unit 10 will be described with reference to the flowchart of FIG.

ステップS51で、データ受信を待ち、データを受信するとステップS52に進み、
ステップS52で、データの種別を調査し、自計算機の出版・購読計算機管理部7がステップS12にて送信する通知であれば、ステップS53に進み、他のデータ中継計算機の転送トピック通知部10からのトピック購読希望通知または出版通知であれば、ステップS59に進み、終了要求であれば、処理を終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。
ステップS53で、S12で送信した通知内容の、起動したプロセスの種別を調査し、起動したプロセスがトピック購読プロセスであれば、ステップS54に進み、トピック出版プロセスであれば、ステップS59に進み、
ステップS54で、転送トピック管理部11の受信トピックの行の受信計算機IPアドレスに自ホストのIPアドレスを登録し(トピック名が登録されていなければ、トピック名も登録)、ステップS55に進み、
ステップS55で、トピック購読プロセスが購読を希望するトピックおよびIPマルチキャストアドレス、ポート番号が転送トピック管理部11に登録されていればステップS56に進み、登録されていなければステップS51に戻る。
ステップS56で、そのトピックの出版プロセスが動作する計算機クラスタの中継計算機の転送トピック通知部10に、トピック購読プロセスが起動した旨を通知し、ステップS57に進み、
ステップS57で、転送トピック管理部11の該当するトピック行に示されているIPマルチキャストアドレス、ポート番号でトピックデータを受信できるよう、転送トピック受信部13に指示し、
ステップS58で、自計算機の出版・購読計算機通知部6に、自計算機上で該当トピックを出版する送信プロセスが起動した旨を通知し、ステップS51に戻る。
ステップS59で、転送トピック管理部11を参照し、通知されたトピックのIPマルチキャストアドレスが登録されているかどうかを調べ、登録されていなければステップS62に進み、登録されていればステップS60に進む。
In step S51, the process waits for data reception. When data is received, the process proceeds to step S52.
In step S52, the type of data is investigated, and if it is a notification that the publish / subscribe computer management unit 7 of the own computer transmits in step S12, the process proceeds to step S53, and the transfer topic notification unit 10 of another data relay computer starts. If it is a topic subscription request notification or publication notification, the process proceeds to step S59, and if it is an end request, the process ends. The termination request may be a signal from the operating system, for example.
In step S53, the type of the activated process of the notification content transmitted in S12 is checked. If the activated process is a topic subscription process, the process proceeds to step S54. If the activated process is a topic publishing process, the process proceeds to step S59.
In step S54, the IP address of the own host is registered in the reception computer IP address of the reception topic row of the transfer topic management unit 11 (if the topic name is not registered, the topic name is also registered), and the process proceeds to step S55.
In step S55, if the topic that the topic subscription process wishes to subscribe to, and the IP multicast address and port number are registered in the forwarding topic management unit 11, the process proceeds to step S56, and if not registered, the process returns to step S51.
In step S56, the transfer topic notification unit 10 of the relay computer of the computer cluster in which the topic publishing process operates is notified that the topic subscription process has started, and the process proceeds to step S57.
In step S57, the transfer topic receiving unit 13 is instructed to receive topic data at the IP multicast address and port number indicated in the corresponding topic row of the transfer topic managing unit 11,
In step S58, the publish / subscribe computer notification unit 6 of the own computer is notified that the transmission process for publishing the topic on the own computer has started, and the process returns to step S51.
In step S59, the forwarding topic management unit 11 is referred to, and it is checked whether or not the IP multicast address of the notified topic is registered. If not registered, the process proceeds to step S62. If registered, the process proceeds to step S60.

ステップS60で、トピックのIPマルチキャストアドレスの登録時刻と、出版・購読計算機管理部7から通知された時刻を調べ、出版・購読計算機管理部7から通知された時刻のほうが古ければステップS、新しければステップS61へ進み、
ステップS61で、該当トピックのIPマルチキャストアドレス・ポート番号欄はそのままとし、送信計算機IPアドレス欄に、自計算機のIPアドレスのみを登録し、ステップS64に進む。
ステップS62で、転送トピック通知部10は、他の計算機クラスタへトピックデータを送信するためのIPマルチキャストアドレス、ポート番号を決定して、転送トピック管理部11に登録し、ステップS63に進み、
ステップS63で、出版プロセスが配信するトピックを購読するプロセスのIPアドレスが登録済であれば、ステップS64に進み、
ステップS64で、転送トピック管理部11に示されたIPマルチキャストアドレス、ポート番号にてトピックを送信するよう、トピック転送部12に指示し、ステップS65に進み、
ステップS65で、計算機クラスタを接続するネットワーク上に接続されたデータ中継計算機の転送トピック通知部10に、ステップS61、ステップS62で転送トピック管理部11に登録した内容を通知し、ステップS51に戻る。
In step S60, the registration time of the IP multicast address of the topic and the time notified from the publishing / subscription computer management unit 7 are checked. If the time notified from the publishing / subscription computer management unit 7 is older, step S, new If so, proceed to step S61.
In step S61, the IP multicast address / port number column of the topic is left as it is, only the IP address of the own computer is registered in the transmission computer IP address column, and the process proceeds to step S64.
In step S62, the transfer topic notification unit 10 determines an IP multicast address and a port number for transmitting topic data to other computer clusters, registers them in the transfer topic management unit 11, and proceeds to step S63.
If the IP address of the process for subscribing to the topic distributed by the publishing process is already registered in step S63, the process proceeds to step S64.
In step S64, the topic transfer unit 12 is instructed to transmit the topic using the IP multicast address and port number indicated in the transfer topic management unit 11, and the process proceeds to step S65.
In step S65, the transfer topic notification unit 10 of the data relay computer connected to the network connecting the computer clusters is notified of the contents registered in the transfer topic management unit 11 in steps S61 and S62, and the process returns to step S51.

ステップS66において、出版プロセスの起動通知かどうかを判定する。出版プロセスの起動通知ではない場合、ステップS67に進み通知内容を転送する共に、転送トピック管理部11に登録し、S68に進む。ステップS68で自身の所属するクラスタに出版プロセスが起動済かを判定し、済の場合にはステップS64に進み、起動していない場合にはステップS51に戻る。   In step S66, it is determined whether it is a publication process start notification. If it is not a publishing process activation notification, the process proceeds to step S67, and the notification content is transferred, registered in the transfer topic management unit 11, and the process proceeds to S68. In step S68, it is determined whether the publishing process has been activated in the cluster to which it belongs, and if completed, the process proceeds to step S64, and if not activated, the process returns to step S51.

ステップS66でYESの場合にはステップS69に進む。ステップS69では、IPマルチキャストアドレスが登録済かどうかを判定する。登録済でない場合にはステップS75に進み、IPマルチキャストアドレスなどを転送トピック管理部に登録しステップS71に進む。   If YES in step S66, the process proceeds to step S69. In step S69, it is determined whether the IP multicast address has been registered. If not registered, the process proceeds to step S75, where the IP multicast address or the like is registered in the transfer topic management unit, and the process proceeds to step S71.

ステップS69で登録済の場合にはS70に進み、S70においてIPマルチキャストアドレスの登録時刻と、出版プロセスの起動通知の通知された時刻とを比較する。登録時刻の方が小さくない場合(登録時刻の方が古い(小さい)か、同一時刻)の場合にはステップS75に進む。ステップS75において、通知されたIPマルチキャストアドレスなどを転送トピック管理部に登録する。登録時刻の方が大きい場合にはステップS71に進む。   If it has already been registered in step S69, the process proceeds to S70, where the registration time of the IP multicast address is compared with the time when the publication process activation notification is notified. If the registration time is not shorter (the registration time is older (smaller) or the same time), the process proceeds to step S75. In step S75, the notified IP multicast address and the like are registered in the transfer topic management unit. If the registration time is larger, the process proceeds to step S71.

ステップS70で、通知された時刻の方が小さい場合は、ステップS71に進む。   If the notified time is smaller in step S70, the process proceeds to step S71.

ステップSS71で、転送トピック管理部11を参照し、自計算機が同一トピックの購読プロセスが動作する計算機として登録されていればステップS72に進み、登録されていなければステップS51に戻る。   In step SS71, the transfer topic management unit 11 is referred to. If the own computer is registered as a computer in which the subscription process of the same topic operates, the process proceeds to step S72, and if not registered, the process returns to step S51.

ステップS72で、トピック出版プロセスが動作した計算機に、購読プロセスが起動している旨および自ホストのIPアドレスを通知し、ステップS73に進み、
ステップ73で、転送トピック受信部13に、指定されたIPマルチキャストアドレス、ポート番号でデータを受信するよう設定を指示し、ステップS74に進み、
ステップS74では、自計算機の出版・購読計算機通知部6に、自計算機上で該当トピックを出版する送信プロセスが起動した旨を通知し、ステップS51に戻る。
ステップS51〜S74の動作を、ステップS51で終了要求を受信するまで繰り返す。
In step S72, the computer in which the topic publishing process has been operated is notified of the start of the subscription process and the IP address of its own host, and the process proceeds to step S73.
In step 73, the transfer topic receiving unit 13 is instructed to receive data at the designated IP multicast address and port number, and the process proceeds to step S74.
In step S74, the publishing / subscription computer notification unit 6 of the own computer is notified that the transmission process for publishing the topic on the own computer has started, and the process returns to step S51.
The operations in steps S51 to S74 are repeated until an end request is received in step S51.

次に、トピック転送部12の動作手順の一例を、図26のフローチャートを用いて説明する。   Next, an example of the operation procedure of the topic transfer unit 12 will be described using the flowchart of FIG.

ステップS81で、外部からのイベントの受信を待ち、イベントを受信するとステップS73に進み、
ステップS82でイベントの種別を調査する。イベントの種別がトピックデータの受信であれば、ステップS83に進み、転送トピック管理部11からの通知であれば、ステップS85に進み、終了要求であれば、処理を終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。
ステップ83で、データのトピック名が転送トピック管理部11に登録されていることを確認し、登録されていれば、
ステップS84で、転送トピック管理部11のトピックが登録されている行のIPマルチキャストアドレス、ポート番号にデータを送信する。登録されていなければ、エラーとしてステップS81に戻る。
ステップS85では、転送トピック通知部10から届くIPマルチキャストアドレス、ポート番号を通信ソケットに設定し、ステップS81に戻る。
ステップS81〜85の処理を、ステップS81で終了要求を受信するまで繰り返す。
In step S81, it waits for the reception of an event from the outside. When an event is received, the process proceeds to step S73.
In step S82, the event type is investigated. If the event type is reception of topic data, the process proceeds to step S83. If it is a notification from the transfer topic management unit 11, the process proceeds to step S85. If it is a termination request, the process is terminated. The termination request may be a signal from the operating system, for example.
In step 83, it is confirmed that the topic name of the data is registered in the transfer topic management unit 11, and if registered,
In step S84, data is transmitted to the IP multicast address and port number of the line in which the topic of the transfer topic management unit 11 is registered. If not registered, the process returns to step S81 as an error.
In step S85, the IP multicast address and port number received from the transfer topic notification unit 10 are set in the communication socket, and the process returns to step S81.
Steps S81 to 85 are repeated until an end request is received in step S81.

次に、転送トピック受信部13の処理手順の一例を、図27のフローチャートを用いて説明する。   Next, an example of the processing procedure of the transfer topic receiving unit 13 will be described with reference to the flowchart of FIG.

ステップS91で、イベントの受信を待ち、イベントを受信するとステップS82に進み、
ステップS92で、イベントの種別がトピックデータの受信であれば、ステップS93に進み、トピック転送部12からのメッセージ通知であれば、ステップS95へ、終了要求であれば処理を終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。
ステップS93で、データのトピック名が転送トピック管理部11に登録されており、自ホストが受信ホストとして登録されていることを確認し、登録されていれば、ステップS94に進み、登録されていなければ、ステップS91に戻る。
ステップS94で、データをトピック受信部に渡し、ステップS91に戻る。
ステップS95で、指定されたIPマルチキャストアドレスでデータを受信できるよう、ソケットの設定の変更を行い、ステップS91に戻る。
In step S91, it waits for the reception of an event. When an event is received, the process proceeds to step S82.
In step S92, if the event type is topic data reception, the process proceeds to step S93. If it is a message notification from the topic transfer unit 12, the process proceeds to step S95. The termination request may be a signal from the operating system, for example.
In step S93, it is confirmed that the topic name of the data is registered in the transfer topic management unit 11 and the own host is registered as a receiving host. If registered, the process proceeds to step S94 and must be registered. Then, the process returns to step S91.
In step S94, the data is passed to the topic receiving unit, and the process returns to step S91.
In step S95, the socket setting is changed so that data can be received at the designated IP multicast address, and the process returns to step S91.

以上のように、本実施の形態1では、転送データ管理部が、それぞれの計算機クラスタ上で出版されているトピックを交換し、異なる計算機クラスタの計算機でトピック購読希望があった場合には、トピック転送部12を経由してデータを届けることにより、プロセスは、計算機クラスタの違いを意識することなく、異なる計算機クラスタ間での出版−購読形式でのデータ通信が可能となる。   As described above, in the first embodiment, the transfer data management unit exchanges topics published on each computer cluster, and when there is a request for topic subscription on a computer in a different computer cluster, By delivering the data via the transfer unit 12, the process can perform data communication in a publish-subscribe format between different computer clusters without being aware of the difference between the computer clusters.

また、本実施の形態1では、データ中継計算機は、データ中継計算機が属する計算機クラスタ内において、トピックの受信希望があった場合にのみIPマルチキャストグループに参入することから、常にデータを受信する場合と比べて、データ中継計算機の負荷が軽減できる。   In the first embodiment, the data relay computer enters the IP multicast group only when there is a request to receive a topic in the computer cluster to which the data relay computer belongs. In comparison, the load on the data relay computer can be reduced.

また、本実施の形態1では、同一のトピックを送信する、複数のデータ出版プロセスが異なる計算機で起動した場合において、最も早く起動したプロセスのIPマルチキャストアドレスを採用することから、事前にトピックとIPマルチキャストアドレスの対応を決定しておかなくともトピックとIPマルチキャストアドレスの対応が動的に一意に決定する。   In the first embodiment, when a plurality of data publishing processes that transmit the same topic are started on different computers, the IP multicast address of the process that is started earliest is adopted. Even if the correspondence of the multicast address is not determined, the correspondence between the topic and the IP multicast address is dynamically and uniquely determined.

実施の形態2.
以上の実施の形態1は、ある計算機クラスタで、他の計算機クラスタ上で送信されるトピックデータの購読を希望する場合のデータ送信方法として、データ出版プロセスが動作する計算機クラスタのデータ中継計算機がそのトピックを受信するためのIPマルチキャストグループに参入してトピックデータを受信し、そのデータ中継計算機が、データ購読プロセスが動作する計算機クラスタのデータ中継計算機にデータを送信し、データ購読プロセスが動作する計算機をIPマルチキャストグループに参入させ、データ購読プロセスが動作する計算機クラスタのデータ中継計算機がそのIPマルチキャストグループにデータを送信する方法について述べた。
Embodiment 2. FIG.
In the first embodiment, a data relay computer of a computer cluster in which a data publishing process operates is used as a data transmission method in a case where a user wishes to subscribe to topic data transmitted on another computer cluster. A computer that joins an IP multicast group for receiving topics and receives topic data, and that data relay computer transmits data to a data relay computer of a computer cluster in which the data subscription process operates, and the data subscription process operates Has been described as a method in which the data relay computer of the computer cluster in which the data subscription process operates is transmitted to the IP multicast group.

実施の形態1では、それぞれの計算機クラスタのデータ中継計算機が、他の計算機クラスタからのトピックデータを送受信する際にのみIPマルチキャストグループに参入することにより、全てのデータを受信し必要に応じて転送する場合と比べて計算機の負荷を軽減できる点を特徴としている。   In the first embodiment, the data relay computer of each computer cluster joins the IP multicast group only when transmitting / receiving topic data from other computer clusters, thereby receiving all data and transferring it as necessary. It is characterized by the fact that the load on the computer can be reduced compared to the case of doing so.

実施の形態2では、これまでトピックを購読していたプロセスまたはトピックを配信していたプロセスが停止するなどにより、データ中継計算機が、配信または購読していたトピックのIPマルチキャストグループに属する必要がなくなった場合の処理について述べるものである。   In the second embodiment, the data relay computer does not need to belong to the IP multicast group of the topic that has been distributed or subscribed because the process that previously subscribed to the topic or the process that has distributed the topic has stopped. Will be described in the case of

実施の形態2における出版―購読型データ通信方式の構成は、実施の形態1と同一であり、説明を省略する。   The configuration of the publish-subscribe data communication system in the second embodiment is the same as that in the first embodiment, and a description thereof will be omitted.

本実施の形態2における、出版・購読計算機通知部6、送信トピック通知部10について説明する。出版・購読計算機管理部7、トピック送信部8、トピック受信部9、転送トピック管理部11、トピック転送部12、転送トピック受信部13の機能については実施の形態1と同一であるため説明を省略する。   The publication / subscription computer notification unit 6 and the transmission topic notification unit 10 in the second embodiment will be described. Since the functions of the publishing / subscription computer management unit 7, the topic transmission unit 8, the topic reception unit 9, the transfer topic management unit 11, the topic transfer unit 12, and the transfer topic reception unit 13 are the same as those in the first embodiment, description thereof is omitted. To do.

出版・購読計算機通知部6は、計算機でトピックを出版、購読するプロセスが停止するか、または、出版、購読を停止した場合に、そのトピック名などの情報を同一計算機クラスタ内の全計算機に通知するとともに、その通知を受信し、出版・購読計算機管理部7の情報を更新する役割を持つ。   The publishing / subscribing computer notifying unit 6 notifies the information such as the topic name to all the computers in the same computer cluster when the process of publishing and subscribing to a topic stops on the computer or when publishing and subscribing is stopped. At the same time, it receives the notification and updates the information in the publishing / subscription computer management unit 7.

送信トピック通知部10は、自計算機クラスタ内でトピックを配信するプロセスが停止したか、または、そのプロセスのトピック配信を停止した場合に、計算機クラスタを接続するネットワークに接続された全データ中継計算機に、トピック名を通知するとともに、その通知を受信し、転送トピック管理部11の情報を更新する役割を持つ。   The transmission topic notifying unit 10 sends to all data relay computers connected to the network connecting the computer cluster when the process of distributing the topic in the own computer cluster stops or when the topic distribution of the process stops. The topic name is notified, the notification is received, and the information of the transfer topic management unit 11 is updated.

次に、本実施の形態2における出版―購読型データ通信方式を適用した場合において、トピック出版プロセス、トピック購読プロセスが起動し、実施の形態1の方法により通信を開始したあと、停止した場合のシステム全体の動作概要の一例を図1のシステム構成を用いて、図28〜図31を用いて説明する。   Next, when the publish-subscribe data communication method in the second embodiment is applied, the topic publishing process and the topic subscription process are started, and communication is started by the method of the first embodiment and then stopped. An example of the overall operation of the system will be described with reference to FIGS. 28 to 31 using the system configuration of FIG.

図28を参照して説明する。計算機クラスタ3−1に属する計算機1−1−1上でトピック1を送信するプロセスが起動後、停止するか、または、トピック1の配送を停止すると、計算機1−1−1の出版・購読計算機通知部6が、トピック1の配送停止を検出し、計算機クラスタ内全ての出版・購読計算機通知部6にトピック名およびトピックの出版を停止する旨を通知する。また、トピック送信部8に、ソケットをクローズするよう指示し、トピック送信部8はソケットをクローズする。   This will be described with reference to FIG. When the process of transmitting topic 1 on the computer 1-1-1 belonging to the computer cluster 3-1 is started and stopped, or when the delivery of topic 1 is stopped, the publishing / subscribing computer of the computer 1-1-1 The notification unit 6 detects the stop of delivery of the topic 1 and notifies all publication / subscription computer notification units 6 in the computer cluster that the topic name and topic publication will be stopped. Also, the topic transmission unit 8 is instructed to close the socket, and the topic transmission unit 8 closes the socket.

各計算機上の出版・購読計算機通知部6は、トピック1の出版停止通知を受信すると、出版・購読計算機管理部7中、出版を停止したトピックの送信計算機IPアドレス欄から、IPマルチキャストアドレス、ポート番号、およびその計算機のIPアドレスを削除する。
また、データ中継計算機上の出版・購読計算機通知部6は、受信した通知内容を転送トピック通知部10に渡す。ここまでの動作を示した図が図28である。
When the publish / subscribe computer notification unit 6 on each computer receives the publish stop notification for topic 1, the publish / subscribe computer management unit 7 starts from the IP address column of the transmission computer IP address column of the topic for which publishing has been stopped. Delete the number and the IP address of the computer.
The publish / subscribe computer notification unit 6 on the data relay computer passes the received notification content to the transfer topic notification unit 10. FIG. 28 shows the operation so far.

図29を参照して説明する。また、計算機クラスタ3−1に属する計算機1−1−2で、トピック1の購読を希望するプロセスが停止した場合、または、プロセスがトピック1の購読を停止すると、計算機1−1−2の出版・購読計算機通知部6はトピック1の購読停止を検出し、計算機クラスタ3−1内全ての出版・購読計算機通知部6にトピック名および購読を停止する旨を通知し、トピック受信部9に、ソケットクローズするよう指示する。指示を受けたトピック受信部9は、ソケットをクローズする。   This will be described with reference to FIG. In addition, when a process that wants to subscribe to topic 1 stops in computer 1-1-2 belonging to computer cluster 3-1, or when the process stops subscribing to topic 1, publication of computer 1-1-2 The subscription computer notification unit 6 detects the suspension of topic 1 subscription, notifies all publishing / subscription computer notification units 6 in the computer cluster 3-1 that the topic name and subscription will be stopped, and the topic reception unit 9 Instructs the socket to close. Upon receiving the instruction, the topic receiving unit 9 closes the socket.

各計算機上の出版・購読計算機通知部6は、トピック1の購読停止通知を受信すると、出版・購読計算機管理部7中、購読を停止したトピックの受信計算機IPアドレス欄から、その計算機のIPアドレスを削除する。そのトピックの購読を希望するプロセスがなくなった場合、データ中継計算機の出版・購読計算機通知部6は、通知内容を転送トピック通知部10に渡す。ここまでの動作を示した図が図29である。   When the publish / subscribe computer notification unit 6 on each computer receives the subscription stop notification for topic 1, the publish / subscribe computer management unit 7 selects the IP address of the computer from the received computer IP address column of the topic for which subscription has been stopped. Is deleted. When there is no longer any process that wants to subscribe to the topic, the publish / subscribe computer notification unit 6 of the data relay computer passes the notification content to the transfer topic notification unit 10. FIG. 29 shows the operation so far.

図30を参照して説明する。図28の動作の後、転送トピック通知部10は、転送トピック管理部11中、配信を停止したトピック名の行の、送信計算機IPアドレスのエントリ中、計算機1−1−5のIPアドレスを削除する。そして、計算機クラスタ間を接続しているネットワーク(ネットワーク2−4)に接続された全てのデータ中継計算機(計算機1−2−5、計算機1−3−5)の転送トピック通知部10に、トピック1の出版を停止した旨を通知する。この場合も、全データ中継計算機への通知は例えばブロードキャストIPマルチキャストアドレスにより通知することが考えられ、IPマルチキャストアドレスを使用する場合のIPマルチキャストアドレスおよびポート番号は予め決められているものとする。データ中継計算機1−1−5からの通知を受信した他のデータ中継計算機の転送トピック通知部10は、転送トピック管理部11中、配信を停止したトピックの行の送信計算機の欄において、計算機1−1−5のIPアドレスを削除する。計算機1−1−5のIPアドレスを削除することによりそのトピックを送信する中継計算機が1台もなくなった場合、転送トピック通知部10は、転送トピック受信部13に、マルチキャストグループから離脱するよう指示し、転送トピック受信部13はそのトピックを受信するために使用していたソケットをクローズする。ここまでの動作を示した図が図30である。   This will be described with reference to FIG. After the operation of FIG. 28, the transfer topic notification unit 10 deletes the IP address of the computer 1-1-5 in the entry of the transmission computer IP address in the topic name line in the transfer topic management unit 11 that has stopped distribution. To do. Then, the topic is sent to the transfer topic notification unit 10 of all the data relay computers (computer 1-2-5, computer 1-3-5) connected to the network (network 2-4) connecting the computer clusters. Notify that the publication of 1 has been stopped. Also in this case, it is conceivable that the notification to all the data relay computers is notified by, for example, a broadcast IP multicast address, and it is assumed that the IP multicast address and the port number when using the IP multicast address are determined in advance. The transfer topic notification unit 10 of the other data relay computer that has received the notification from the data relay computer 1-1-5 includes the computer 1 in the transfer computer column of the topic line in the transfer topic management unit 11 that has stopped distribution. -1-5 IP address is deleted. When there is no relay computer that transmits the topic by deleting the IP address of the computer 1-1-5, the transfer topic notification unit 10 instructs the transfer topic reception unit 13 to leave the multicast group. Then, the transfer topic receiving unit 13 closes the socket used to receive the topic. FIG. 30 shows the operation up to this point.

図31を参照して説明する。図29の動作により、計算機クラスタ3−1内にトピック1を購読する計算機がなくなった場合、転送トピック通知部10は、転送トピック管理部11の、購読を停止したトピック名の行の、受信計算機のIPアドレス欄から自計算機のIPアドレスを削除する。そして、転送トピック管理部11の送信計算機欄に他の計算機クラスタのデータ中継計算機があれば、その計算機の転送トピック通知部10に、トピック1の購読停止を通知する。この場合も、データ中継計算機への通知は例えばブロードキャストまたはIPマルチキャストアドレスにより通知することが考えられ、IPマルチキャストアドレスを使用する場合のIPマルチキャストアドレスおよびポート番号は予め決められているものとする。データ中継計算機1−1−5からのトピック購読停止通知を受信した他のデータ中継計算機の転送トピック通知部10は、転送トピック管理部11中、購読を停止したトピック欄の、受信計算機IPアドレス欄から、計算機1−1−5のIPアドレスを削除する。ここまでの動作を示した図が図31である。   This will be described with reference to FIG. 29, when there are no more computers that subscribe to topic 1 in the computer cluster 3-1, the transfer topic notification unit 10 in the transfer topic management unit 11 in the row of the topic name whose subscription has been stopped. The IP address of the own computer is deleted from the IP address field. If there is a data relay computer of another computer cluster in the transmission computer column of the transfer topic management unit 11, the transfer topic notification unit 10 of that computer is notified of the suspension of topic 1 subscription. Also in this case, it is conceivable that the notification to the data relay computer is notified by, for example, a broadcast or IP multicast address, and the IP multicast address and port number when using the IP multicast address are determined in advance. The transfer topic notification unit 10 of the other data relay computer that has received the topic subscription stop notification from the data relay computer 1-1-5 is the receiving computer IP address column of the topic column in the transfer topic management unit 11 whose subscription has been stopped. To delete the IP address of the computer 1-1-5. FIG. 31 shows the operation so far.

次に、本実施の形態2における出版・購読計算機管理部7、トピック送信部8、トピック受信部9、転送トピック管理部11、トピック転送部12、転送トピック受信部13の動作の一例を説明する。   Next, an example of operations of the publishing / subscription computer management unit 7, the topic transmission unit 8, the topic reception unit 9, the transfer topic management unit 11, the topic transfer unit 12, and the transfer topic reception unit 13 according to the second embodiment will be described. .

図32は、本実施の形態2における出版・購読計算機管理部7の動作の一例を示したフローチャートである。   FIG. 32 is a flowchart showing an example of the operation of the publish / subscribe computer management unit 7 in the second embodiment.

ステップS101において、他計算機の出版・購読計算機通知部6から送信プロセスまたは受信プロセス停止通知を受信するか、自計算機上の送信プロセスまたは受信プロセスの停止を検出するか、または停止要求を受信すると、ステップS102に進み、
ステップS102で、通知内容および通知の送信元を調査し、他の計算機の出版・購読計算機通知部6からの通知であればステップS112へ進み、自計算機のプロセス停止通知または出版・購読の変更通知であれば、ステップS103に進み、終了要求であれば終了する。終了要求とは、例えばオペレーティングシステムからのシグナルなどが考えられる。
ステップS103で、トピック出版プロセスの出版停止(停止を含む)かトピック購読プロセスの購読停止(停止を含む)かを調査し、出版停止であればステップS104に、購読停止であればステップS109に進み、
ステップS104で、自計算機上の出版・購読計算機管理部7の、出版停止したトピックの行の送信計算機IPアドレス欄から自計算機のIPアドレスを削除し、ステップS105に進み、
ステップS105で、同一計算機クラスタ内の全計算機にトピック名およびIPアドレスを通知し、ステップS106に進み、
ステップS106で、自計算機上のトピック送信部8にそのトピックを送信するIPマルチキャストアドレスのソケットをクローズするよう指示し、ステップS107に進み、
ステップS107で、自計算機がデータ中継計算機かどうかを調べ、データ中継計算機であればステップS108に進み、そうでなければステップS101に戻り、
ステップS108で、転送トピック通知部10に、出版または購読停止したトピック名を通知し、ステップS101に戻る。
ステップS109において、自計算機上の出版・購読計算機管理部7の、購読停止したトピックの行の受信計算機IPアドレス欄から、自計算機のIPアドレスを削除し、
ステップS110にて、同一計算機クラスタ内他の計算機の出版・購読計算機通知部6に、トピック1の受信プロセスの購読停止を通知する。
In step S101, when a transmission process or reception process stop notification is received from the publication / subscription computer notification unit 6 of another computer, a stop of the transmission process or reception process on the own computer is detected, or a stop request is received, Proceed to step S102
In step S102, the contents of the notification and the transmission source of the notification are investigated. If the notification is from the publish / subscribe computer notification unit 6 of another computer, the process proceeds to step S112, and the process stop notification of the own computer or the publish / subscription change notification If so, the process proceeds to step S103, and if it is an end request, the process ends. The termination request may be a signal from the operating system, for example.
In step S103, it is investigated whether the topic publishing process is suspended (including suspension) or the topic subscription process is suspended (including suspension). If the publication is suspended, the process proceeds to step S104. If the subscription is suspended, the process proceeds to step S109. ,
In step S104, the publishing / subscription computer management unit 7 on the own computer deletes the IP address of the own computer from the transmission computer IP address column of the topic line whose publication has been stopped, and the process proceeds to step S105.
In step S105, the topic name and IP address are notified to all computers in the same computer cluster, and the process proceeds to step S106.
In step S106, the topic transmission unit 8 on the local computer is instructed to close the socket of the IP multicast address that transmits the topic, and the process proceeds to step S107.
In step S107, it is checked whether or not the local computer is a data relay computer. If it is a data relay computer, the process proceeds to step S108; otherwise, the process returns to step S101.
In step S108, the transfer topic notification unit 10 is notified of the name of the topic published or unsubscribed, and the process returns to step S101.
In step S109, the IP address of the own computer is deleted from the received computer IP address column in the row of the topic whose subscription has been stopped in the publish / subscribe computer management unit 7 on the own computer,
In step S110, the publication / subscription computer notification unit 6 of another computer in the same computer cluster is notified of the subscription stop of the reception process of topic 1.

ステップS111にて、自計算機上に、同一トピックの購読を希望するプロセスがあるかどうかを調べ、なければ、トピック受信部9に、ソケットをクローズするよう指示する。そして、ステップS107に進む。ステップS101で受信した通知が、他の計算機の出版・購読計算機通知部6からの通知であった場合、ステップS112で、出版・購読計算機管理部7の、出版・購読停止したトピックの行の、送信計算機のIPアドレス欄または、購読計算機のIPアドレスの欄から、出版または購読停止した計算機のIPアドレスを削除し、ステップS113に進み、
ステップS113で通知内容が配信停止か購読停止かを調べ、配信停止であった場合、ステップS114に進み、購読停止であった場合、ステップS107に進む。
ステップS114で、そのトピックを送信するプロセスが他にあるかどうかを調べ、他になければステップS115に進み、なければステップS107に進み、
ステップS115で、トピック受信部9に、そのトピックを受信するためのソケットをクローズするよう指示し、ステップS107に進む。
ステップS101〜S115の動作を、ステップS101で終了要求を受信するまで繰り返す。
In step S111, it is checked whether or not there is a process that desires to subscribe to the same topic on its own computer. If not, the topic receiving unit 9 is instructed to close the socket. Then, the process proceeds to step S107. If the notification received in step S101 is a notification from the publish / subscribe computer notification unit 6 of another computer, in step S112, the publish / subscribe computer management unit 7 in the row of the topic whose publication / subscription has been stopped, Delete the IP address of the computer that has been published or unsubscribed from the IP address column of the sending computer or the IP address column of the subscription computer, and go to step S113.
In step S113, it is checked whether the notification content is a distribution stop or a subscription stop. If it is a distribution stop, the process proceeds to step S114. If it is a subscription stop, the process proceeds to step S107.
In step S114, it is checked whether there is another process for transmitting the topic. If there is no other process, the process proceeds to step S115. If not, the process proceeds to step S107.
In step S115, the topic receiving unit 9 is instructed to close the socket for receiving the topic, and the process proceeds to step S107.
The operations in steps S101 to S115 are repeated until an end request is received in step S101.

次に、本実施の形態2におけるトピック送信部8の動作の一例を図33のフローチャートで示す。   Next, an example of the operation of the topic transmission unit 8 in the second embodiment is shown in the flowchart of FIG.

ステップS121でデータの受信を待ち、データを受信するとステップS122に進み、データの内容が終了要求であれば処理を終了し、
ステップS122で通知内容を調査し、出版・購読計算機管理部7からのソケットクローズ指示であれば、ステップS123に進み、
ステップS123でソケットをクローズする。ステップS121〜S123を、終了要求があるまで繰り返す。
In step S121, the reception of data is waited. When data is received, the process proceeds to step S122. If the data content is an end request, the process ends.
In step S122, the contents of the notification are checked. If the socket close instruction is issued from the publishing / subscription computer management unit 7, the process proceeds to step S123.
In step S123, the socket is closed. Steps S121 to S123 are repeated until an end request is received.

次に、トピック受信部9の動作の一例を図34のフローチャートで説明する。   Next, an example of the operation of the topic receiving unit 9 will be described with reference to the flowchart of FIG.

ステップS131でデータ受信を待ち、データを受信するとステップS132に進み、
ステップS132で、受信したデータの内容を調べ、ソケットクローズ指示であれば、ステップS133に進み、終了要求であれば、終了する。
ステップS133でソケットをクローズする。
ステップS131〜S133を、ステップS131で終了要求を受信するまで繰り返す。
In step S131, the process waits for data reception. When data is received, the process proceeds to step S132.
In step S132, the contents of the received data are checked. If the instruction is a socket close instruction, the process proceeds to step S133, and if it is an end request, the process ends.
In step S133, the socket is closed.
Steps S131 to S133 are repeated until an end request is received in step S131.

次に、転送トピック通知部10の動作の一例を、図35のフローチャートで説明する。   Next, an example of the operation of the transfer topic notification unit 10 will be described with reference to the flowchart of FIG.

ステップS141で、イベント受信を待ち、イベントを受信すると、ステップS142に進み、
ステップS142でイベントの送信元を調査し、自計算機からの通知であれば、ステップS143に、他計算機からの通知であれば、ステップS150に進み、終了要求であれば終了する。
ステップS143で、通知内容がトピック購読プロセスの購読停止か、トピック配信プロセスの配信停止かを調べ、トピック配信プロセスの配信停止であれば、ステップS144に進み、トピック購読プロセスの購読停止であれば、ステップS146に進む。
ステップS144で、そのトピックが転送トピック管理部11に登録されており、通知されたトピックと同一トピックを配信するプロセスが同一計算機クラスタ内にあるかどうかを調べ、あればステップS141に戻り、なければ、ステップS145に進み、
ステップS145で、出版・購読計算機通知部6にトピック受信部9のソケットをクローズするよう指示し、ステップS146に進み、
ステップS146で、トピック転送部12に対してソケットクローズするよう指示し、ステップS141に戻る。
ステップS147で、そのトピックが転送トピック管理部11に登録されており、計算機クラスタ内に、同一トピックを受信するプロセスがあるかどうかを調べ、なければ、ステップS148に進み、あればステップS141に戻る。ステップS148で、転送トピック受信部13に、そのトピックを受信するためのソケットをクローズするよう指示し、ステップS149に進み、
ステップS149で、出版・購読計算機通知部6に、トピック送信部8のそのトピックを転送するためのIPマルチキャスト通信を行うためのソケットをクローズするよう指示し、ステップS141に戻る。
ステップS150で、通知内容がトピック配信停止か、トピック購読停止かを調べ、トピック配信停止であれば、ステップS151へ、トピック購読停止であればステップS154へ進み、
In step S141, the system waits for event reception. When an event is received, the process proceeds to step S142.
In step S142, the event transmission source is investigated. If it is a notification from the own computer, the process proceeds to step S143. If it is a notification from another computer, the process proceeds to step S150.
In step S143, it is checked whether the notification content is the topic subscription process subscription stop or topic delivery process delivery stop. If the topic delivery process delivery stop, the process proceeds to step S144. If the topic subscription process subscription stop, The process proceeds to step S146.
In step S144, it is checked whether or not the topic is registered in the transfer topic management unit 11, and there is a process for distributing the same topic as the notified topic in the same computer cluster. If there is, the process returns to step S141. , Proceed to step S145
In step S145, the publishing / subscription computer notifying unit 6 is instructed to close the socket of the topic receiving unit 9, and the process proceeds to step S146.
In step S146, the topic transfer unit 12 is instructed to close the socket, and the process returns to step S141.
In step S147, it is checked whether the topic is registered in the transfer topic management unit 11 and there is a process for receiving the same topic in the computer cluster. If not, the process proceeds to step S148, and if there is, the process returns to step S141. . In step S148, the transfer topic receiving unit 13 is instructed to close the socket for receiving the topic, and the process proceeds to step S149.
In step S149, the publishing / subscription computer notifying unit 6 is instructed to close the socket for performing IP multicast communication for transferring the topic in the topic transmitting unit 8, and the process returns to step S141.
In step S150, it is checked whether the notification content is topic distribution stop or topic subscription stop. If the topic distribution is stopped, the process proceeds to step S151. If the topic subscription is stopped, the process proceeds to step S154.

ステップS151で、転送トピック管理部11を参照し、他の計算機クラスタで、同一トピックを配信する計算機があるかどうかを調べ、同一トピックを配信する計算機が他にあれば、ステップS141に戻り、なければ、ステップS152に進み、
ステップS152で、転送トピック受信部13に、そのトピックを受信するためのソケットをクローズするよう指示し、ステップS153に進み、
ステップS153で、出版・購読計算機通知部6に、トピック送信部8の、そのトピックを計算機クラスタ内に転送するためのソケットをクローズするよう指示し、ステップS141に戻る。
ステップS154で、転送トピック管理部11を参照し、他の計算機クラスタで、そのトピックの購読を希望するプロセスがあるかどうかを調べ、あれば、ステップS141に戻り、なければ、ステップS155に進み、
ステップS155で、トピック転送部12に、そのトピックを他の計算機クラスタに転送するためのソケットをクローズするよう指示し、ステップS156に進み、
ステップS156で、出版・購読計算機通知部6に、トピック受信部9の、そのトピックを計算機クラスタ内で受信するためのソケットをクローズするよう指示し、ステップS141に戻る。
ステップS141〜S156を、ステップS141で停止要求を受信するまで繰り返す。
In step S151, the transfer topic management unit 11 is referenced to check whether there is a computer that distributes the same topic in another computer cluster. If there is another computer that distributes the same topic, the process returns to step S141. Then, go to step S152,
In step S152, the transfer topic receiving unit 13 is instructed to close the socket for receiving the topic, and the process proceeds to step S153.
In step S153, the publishing / subscription computer notification unit 6 is instructed to close the socket of the topic transmission unit 8 for transferring the topic into the computer cluster, and the process returns to step S141.
In step S154, the transfer topic management unit 11 is referred to, and it is checked whether there is a process that desires to subscribe to the topic in another computer cluster. If there is, the process returns to step S141. If not, the process proceeds to step S155.
In step S155, the topic transfer unit 12 is instructed to close the socket for transferring the topic to another computer cluster, and the process proceeds to step S156.
In step S156, the publishing / subscription computer notification unit 6 is instructed to close the socket of the topic reception unit 9 for receiving the topic in the computer cluster, and the process returns to step S141.
Steps S141 to S156 are repeated until a stop request is received in step S141.

次に、トピック転送部12の動作の一例を、図36のフローチャートで説明する。   Next, an example of the operation of the topic transfer unit 12 will be described with reference to the flowchart of FIG.

ステップS161で、イベント通知を待ち、イベントを受信するとステップS162に進み、
ステップS162で、イベントの種別を調べ、転送トピック通知部10からの通知であればステップS163に進み、終了要求であれば、終了する。
ステップS163で、ソケットをクローズする。
ステップS161〜S163を、ステップS163で終了要求を受信するまで繰り返す。
In step S161, an event notification is awaited. When an event is received, the process proceeds to step S162.
In step S162, the event type is checked, and if it is a notification from the transfer topic notification unit 10, the process proceeds to step S163, and if it is an end request, the process ends.
In step S163, the socket is closed.
Steps S161 to S163 are repeated until an end request is received in step S163.

次に、転送トピック受信部13の動作の一例を、図37のフローチャートで説明する。
ステップS171で、イベント通知を待ち、イベントを受信するとステップS162に進み、
ステップS172で、イベントの種別を調べ、転送トピック通知部10からの通知であればステップS173に進み、終了要求であれば、終了する。
ステップS173で、ソケットをクローズする。
ステップS171〜S173を、ステップS163で終了要求を受信するまで繰り返す。
Next, an example of the operation of the transfer topic receiving unit 13 will be described with reference to the flowchart of FIG.
In step S171, an event notification is awaited. When an event is received, the process proceeds to step S162.
In step S172, the event type is checked, and if it is a notification from the transfer topic notification unit 10, the process proceeds to step S173, and if it is an end request, the process ends.
In step S173, the socket is closed.
Steps S171 to S173 are repeated until an end request is received in step S163.

このように、本実施の形態2では、計算機クラスタ間でトピックデータを交換している状態において、ある計算機クラスタ上でプロセスがトピックの出版、購読を停止した場合に、不要となったソケットをクローズすることにより、OSのリソースを有功活用することが可能となる。   As described above, in the second embodiment, when topic data is exchanged between computer clusters, when a process stops publishing or subscribing a topic on a computer cluster, a socket that is no longer needed is closed. By doing so, it becomes possible to make effective use of OS resources.

実施の形態3.
図38、図39を参照して実施の形態3を説明する。実施の形態3は、コンピュータである計算機1−1−1、あるいは中継計算機1−1−5等のハードウェア構成を説明する。
図38は、計算機1−1−1等の外観の一例を示す図である。
図39、計算機1−1−1等のハードウェア資源の一例を示す図である。
Embodiment 3 FIG.
The third embodiment will be described with reference to FIGS. 38 and 39. FIG. In the third embodiment, the hardware configuration of the computer 1-1-1, which is a computer, or the relay computer 1-1-5 will be described.
FIG. 38 is a diagram illustrating an example of the external appearance of the computer 1-1-1.
FIG. 39 is a diagram illustrating an example of hardware resources such as the computer 1-1-1.

外観を示す図38おいて、計算機は、システムユニット830、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置813、キーボード814(Key・Board:K/B)、マウス815、コンパクトディスク装置818(CDD:Compact Disk Drive)などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット830はネットワークに接続している。   In FIG. 38 showing the appearance, the computer includes a system unit 830, a display device 813 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, a keyboard 814 (Key / Board: K / B), a mouse. 815, a compact disk device 818 (CDD: Compact Disk Drive) and other hardware resources are provided, and these are connected by cables and signal lines. The system unit 830 is connected to the network.

またハードウェア資源を示す図39において、計算機は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、CDD818、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。   In FIG. 39 showing hardware resources, the computer includes a CPU 810 (Central Processing Unit) for executing a program. The CPU 810 is connected to a ROM (Read Only Memory) 811, a RAM (Random Access Memory) 812, a display device 813, a keyboard 814, a mouse 815, a communication board 816, a CDD 818, and a magnetic disk device 820 via a bus 825. Control hardware devices. Instead of the magnetic disk device 820, a storage device such as an optical disk device or a flash memory may be used.

RAM812は、揮発性メモリの一例である。ROM811、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、「記憶装置」あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813などは、出力部、出力装置の一例である。通信ボード816は、ネットワークに接続されている。   The RAM 812 is an example of a volatile memory. Storage media such as the ROM 811, the CDD 818, and the magnetic disk device 820 are examples of nonvolatile memories. These are examples of a “storage device” or a storage unit, a storage unit, and a buffer. The communication board 816, the keyboard 814, and the like are examples of an input unit and an input device. The communication board 816, the display device 813, and the like are examples of an output unit and an output device. The communication board 816 is connected to the network.

磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。   The magnetic disk device 820 stores an operating system 821 (OS), a window system 822, a program group 823, and a file group 824. The programs in the program group 823 are executed by the CPU 810, the operating system 821, and the window system 822.

上記プログラム群823には、以上の実施の形態の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。   The program group 823 stores programs that execute the functions described as “˜units” in the description of the above embodiments. The program is read and executed by the CPU 810.

ファイル群824には、以上の実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。   In the description of the above embodiment, the file group 824 includes “to determination result”, “to calculation result”, “to extraction result”, “to generation result”, and “to processing result”. The described information, data, signal values, variable values, parameters, and the like are stored as items of “˜file” and “˜database”. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 810 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.

また、以上に述べた実施の形態の説明において、データや信号値は、RAM812のメモリ、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。   In the description of the embodiment described above, the data and signal values are the memory of the RAM 812, the compact disk of the CDD 818, the magnetic disk of the magnetic disk device 820, other optical disks, mini disks, and DVDs (Digital Versatile Disk). Or the like. Data and signals are transmitted on-line via the bus 825, signal lines, cables, and other transmission media.

また、以上の実施の形態の説明において、「〜部」として説明したものは、「〜手段」、であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ソフトウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以上に述べた「〜部」としてコンピュータを機能させるものである。あるいは、以上に述べた「〜部」の手順や方法を計算機(コンピュータ)に実行させるものである。   In the above description of the embodiment, what has been described as “to part” may be “to means”, and “to step”, “to procedure”, and “to processing”. May be. That is, what has been described as “˜unit” may be implemented by software alone, a combination of software and hardware, or a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 810 and executed by the CPU 810. That is, the program causes the computer to function as the “˜unit” described above. Alternatively, a computer (computer) is caused to execute the procedures and methods of “to part” described above.

以上の実施の形態では、以下の分散計算機システムを説明した。   In the above embodiment, the following distributed computer system has been described.

計算機をネットワーク接続することにより構成された計算機クラスタが複数存在し、計算機クラスタ内にある、複数のネットワークインタフェースカードを持つ計算機が、他の計算機クラスタの複数のネットワークインタフェースカードを持つ計算機とネットワーク接続することにより、各計算機クラスタ同士を接続することによって構成された分散計算機システムにおいて、
以下の構成要素を持ち、計算機クラスタを接続するネットワークに接続された計算機に高い負荷をかけることなく、異なる計算機クラスタ間での出版−購読型データ通信を実現することを特徴とする出版−購読型データ通信方式。
*以下の機能を持つ出版・購読計算機通知部
・自計算機上でトピックを送信または受信するプロセスが起動した場合に、自計算機クラスタ内の全ての計算機に通知する。
・他計算機の出版・購読計算機通知部からのプロセス起動通知を受信し、自計算機上でデータの送信または受信を希望するプロセスが動作している場合に、トピック送信部またはトピック受信部に対して、自計算機クラスタ内の他の計算機との間でデータを送受信するための処理を行うよう指示する。
・出版・購読計算機通知部の動作する計算機が自計算機が計算機クラスタを接続するネットワークに接続された計算機である場合において、同一クラスタ内計算機の出版・購読計算機通知部からの送信またはプロセス起動通知を受信した場合、起動した受信プロセスの受信トピック名または送信プロセスの送信トピック名を、他の計算機クラスタの、計算機クラスタを接続するネットワークに接続された計算機に送信するよう、転送トピック通知部に指示する。
・出版・購読計算機通知部の動作する計算機が計算機クラスタを接続するネットワークに接続された計算機である場合において、自計算機クラスタ内に、他の計算機クラスタで送信されるトピックの受信を希望する送信プロセスが動作している場合に、転送トピック受信部が受信するデータを自計算機クラスタ内に配信するようトピック送信部に指示する。
・出版・購読計算機通知部の動作する計算機が計算機クラスタを接続するネットワークに接続された計算機である場合、他計算機クラスタ内に、自計算機クラスタで送信されるトピックの受信を希望するプロセスが動作している場合に、トピックをトピック転送部から他の計算機クラスタに送信できるよう、トピック受信部に、同一計算機クラスタ内で送信されているトピックを受信するよう指示する。
*計算機クラスタを接続するネットワークに接続された計算機に存在し、以下の機能を持つ転送トピック通知部
・自計算機クラスタ内で送信または受信しているトピック名を他の転送トピック通知部に送信し、他の計算機クラスタで送信または受信しているトピック名を他の転送トピック通知部からを受信する。
・他計算機クラスタ内で送信されているトピックを、自計算機クラスタ内プロセスが受信を希望する場合に、転送トピック受信部に、そのトピックを受信するよう指示する。
・自計算機クラスタ内で送信されているトピックを、他の計算機クラスタ内プロセスが受信希望する場合に、トピック転送部にトピックを転送するよう指示する。
*計算機クラスタを接続するネットワークに接続された計算機に存在し、自計算機クラスタ内で送信されているデータを、他の計算機クラスタで動作するプロセスが必要とする場合に、他の計算機クラスタに向けてトピックを転送するトピック転送部
*計算機クラスタを接続するネットワークに接続された計算機に存在し、他の計算機クラスタで送信されているトピックを自計算機クラスタ内のプロセスが必要とする場合に、トピック転送部から送信されたデータを受信する転送トピック受信部
*自クラスタ内計算機のトピック送信部より送信されたトピックを受信するトピック受信部
*自クラスタ内計算機のトピック受信部にデータを送信するトピック送信部
There are multiple computer clusters configured by connecting computers to the network, and computers with multiple network interface cards in the computer cluster connect to computers with multiple network interface cards in other computer clusters. In a distributed computer system configured by connecting computer clusters to each other,
A publish-subscribe type that has the following components and realizes publish-subscribe data communication between different computer clusters without imposing a high load on a computer connected to a network connecting the computer clusters. Data communication method.
* Publishing / subscribing computer notification unit with the following functions ・ When a process to send or receive a topic is started on the local computer, it notifies all computers in the local computer cluster.
・ When a process start notification is received from the publishing / subscribing computer notification unit of another computer and a process that wishes to transmit or receive data is running on the local computer, to the topic transmission unit or topic reception unit And instructing to perform processing for transmitting and receiving data to and from other computers in the own computer cluster.
・ When the computer running the publishing / subscribing computer notification unit is a computer connected to the network where the computer is connected to the computer cluster, sending from the publishing / subscribing computer notification unit of the computer in the same cluster or a process start notification When received, the transfer topic notification unit is instructed to transmit the reception topic name of the activated reception process or the transmission topic name of the transmission process to the computer connected to the network connected to the computer cluster of another computer cluster. .
・ When the computer running the publication / subscription computer notification unit is a computer connected to a network connecting the computer clusters, a transmission process for receiving a topic transmitted in another computer cluster in the local computer cluster. When is operating, the topic transmitting unit is instructed to distribute the data received by the transfer topic receiving unit within the own computer cluster.
・ If the computer that runs the publish / subscribe computer notification unit is a computer connected to the network that connects the computer clusters, a process that wishes to receive topics sent by the own computer cluster operates in the other computer cluster. The topic receiving unit is instructed to receive a topic transmitted in the same computer cluster so that the topic can be transmitted from the topic transfer unit to another computer cluster.
* Transfer topic notification unit that exists in the computer connected to the network connecting the computer cluster and has the following functions:-Sends the topic name transmitted or received in the own computer cluster to other transfer topic notification units, The topic name transmitted or received in another computer cluster is received from another transfer topic notification unit.
When the process in the local computer cluster wishes to receive the topic transmitted in the other computer cluster, the transfer topic reception unit is instructed to receive the topic.
Instructs the topic transfer unit to transfer a topic when a process in another computer cluster wishes to receive a topic transmitted in the own computer cluster.
* When data that exists in a computer connected to the network that connects the computer clusters and is transmitted in the local computer cluster is required by a process that operates in the other computer cluster, it is directed toward the other computer cluster. Topic transfer unit that transfers topics * Topic transfer unit when a process in the local computer cluster needs a topic that exists in a computer connected to the network that connects the computer cluster and is transmitted by another computer cluster Transfer topic receiving unit that receives data transmitted from * Topic receiving unit that receives a topic transmitted from the topic transmitting unit of the computer in its own cluster * Topic transmitting unit that transmits data to the topic receiving unit of the computer in its own cluster

上記の構成において、各構成要素に以下の機能を付与することにより、トピック送受信を停止した場合のシステムリソースの浪費を軽減することを特徴とする出版−購読型データ通信方式
*出版・購読計算機通知部は上記の機能に加え、以下の機能を持つ。
・自計算機クラスタ内にて、プロセスがトピックの送信または受信を停止した場合に、自計算機クラスタ内の全ての計算機の出版・購読計算機通知部に通知する。
・他計算機の出版・購読計算機通知部が送信した、トピックの送信停止または受信停止の通知を受信し、自計算機上でトピックの送信または受信を希望するプロセスが動作している場合に、トピック送信部またはトピック受信部に対して、トピック送信または受信のために使用していたリソースを解放するための処理を行うよう指示する。
・自計算機が計算機クラスタを接続するネットワークに接続された計算機である場合、自計算機クラスタで、トピックの送信停止または受信停止の通知を受信した場合、他の計算機クラスタとの間でのトピック送信または受信を停止するための処理を行うよう転送トピック通知部に指示する。
・自計算機が計算機クラスタを接続するネットワークに接続された計算機である場合、自計算機クラスタ内にて、他の計算機クラスタで送信されるトピックの受信を希望するプロセスが動作し、その後、受信停止した場合に、転送トピック受信部が受信するデータの自計算機クラスタ内への配信を停止するよう、トピック送信部に指示する。
・自計算機が計算機クラスタを接続するネットワークに接続された計算機である場合、他計算機クラスタ内に、自計算機クラスタでデータ送信されるデータの受信を希望するプロセスが動作後、自計算機クラスタ上の送信プロセスが送信を停止した場合に、トピック受信部に、データ受信のために使用していたリソースを解放するための処理を行うよう指示する。
*転送トピック通知部は上記の機能に加え、以下の機能を持つ
・他の計算機クラスタ内で、プロセスが送受信停止した場合、そのプロセスが送受信していたトピック名などに関する情報を他の転送トピック通知部との間で交換する。
・他計算機クラスタ内で送信されているデータを自計算機クラスタ内プロセスが受信しており、その後、他クラスタからのプロセスがデータ送信を停止したか、自クラスタのプロセスがデータ受信を停止した場合に、転送トピック受信部に、そのプロセスが送信または受信していたトピックの受信を停止し、OSリソースを解放するよう指示する。
・自計算機クラスタ内で送信されているデータを、他の計算機クラスタ内プロセスが受信している状態において、その後、自クラスタ内でプロセスの送信が停止した場合、または他計算機クラスタでプロセスの受信が停止した場合に、トピック転送部に対し、データ転送を停止し、OSリソースを解放するよう指示する。
*トピック転送部は上記の機能に加え、転送トピック通知部からの指示で、データ転送を停止し、OSリソースを解放する。
*転送トピック受信部は上記の機能に加え、転送トピック通知部からの指示で、データ受信を停止し、OSリソースを解放する。
*トピック受信部は上記の機能に加え、出版・購読計算機通知部からの指示で、データ受信を停止し、OSリソースを解放する。
*トピック送信部は上記の機能に加え、出版・購読計算機通知部からの指示で、データ送信を停止し、OSリソースを解放する。
In the above configuration, publish-subscribe type data communication system characterized by reducing waste of system resources when topic transmission / reception is stopped by adding the following functions to each component element * Notification of publication / subscription computer The section has the following functions in addition to the above functions.
When a process stops sending or receiving a topic in its own computer cluster, it notifies the publication / subscription computer notification unit of all computers in the own computer cluster.
-Topic transmission when a process that wishes to transmit or receive a topic is running on its own computer when a notification of topic transmission stoppage or reception stoppage sent by the publication / subscription computer notification section of another computer is received. Or a topic receiving unit is instructed to perform processing for releasing resources used for topic transmission or reception.
-If the local computer is a computer connected to the network that connects the computer clusters, and if the local computer cluster receives a topic transmission stoppage or reception stop notification, the topic transmission with other computer clusters or The transfer topic notification unit is instructed to perform processing for stopping reception.
-If your computer is a computer connected to the network that connects the computer clusters, a process that wishes to receive topics sent from other computer clusters operates within the computer cluster, and then stops receiving. In this case, the topic transmitting unit is instructed to stop distributing the data received by the transfer topic receiving unit into the local computer cluster.
-If the local computer is a computer connected to the network that connects the computer clusters, after the process that wishes to receive the data transmitted by the local computer cluster operates in another computer cluster, the transmission on the local computer cluster When the process stops transmission, the topic receiving unit is instructed to perform processing for releasing resources used for data reception.
* In addition to the above functions, the transfer topic notification unit has the following functions:-When a process stops in another computer cluster, information on the topic name etc. that the process was transmitting / receiving is notified to other transfer topics. Exchange with the department.
-When the data in the local computer cluster has received the data being transmitted in the other computer cluster, and then the process from the other cluster has stopped sending data, or the process in the local cluster has stopped receiving data The transfer topic receiving unit is instructed to stop receiving the topic that the process has transmitted or received and to release the OS resource.
-When the data being sent in the local computer cluster is being received by a process in the other computer cluster, and then the transmission of the process is stopped in the local cluster, or the process is received in the other computer cluster If stopped, the topic transfer unit is instructed to stop data transfer and release OS resources.
* In addition to the above functions, the topic transfer unit stops data transfer and releases OS resources in response to an instruction from the transfer topic notification unit.
* In addition to the above functions, the transfer topic reception unit stops data reception and releases OS resources in response to an instruction from the transfer topic notification unit.
* In addition to the above functions, the topic receiving unit stops data reception and releases OS resources in response to an instruction from the publication / subscription computer notification unit.
* In addition to the above functions, the topic transmission unit stops data transmission and releases OS resources in response to an instruction from the publication / subscription computer notification unit.

1−1−1〜1−3−6 計算機、2−1,2−2,2−3,2−4 ネットワーク、3−1,3−2,3−3 計算機クラスタ、4 分散計算機システム、6 出版・購読計算機通知部、7 出版・購読計算機管理部、8 トピック送信部、9 トピック受信部、10 転送トピック通知部、11 転送トピック管理部、12 トピック転送部、13 転送トピック受信部。   1-1-1 to 1-3-6 computer, 2-1, 2-2, 2-3, 2-4 network, 3-1, 3-2, 3-3 computer cluster, 4 distributed computer system, 6 Publication / subscription computer notification unit, 7 Publication / subscription computer management unit, 8 topic transmission unit, 9 topic reception unit, 10 transfer topic notification unit, 11 transfer topic management unit, 12 topic transfer unit, 13 transfer topic reception unit.

Claims (5)

他の複数の計算機と同じネットワークに接続され、前記他の計算機と共に計算機クラスタを構成する計算機において、
トピックを識別するトピック識別データと、前記ネットワークにおける通信で使用されるマルチキャストアドレスとポート番号との組と、前記トピックを送信するトピック送信処理の起動した時刻を示すトピック送信処理起動時刻と、前記トピック識別データの示す前記トピックが起動した計算機であって前記ネットワークに接続する計算機のIPアドレスとを含むレコードであって、前記トピック識別データごとの前記レコードが登録されたクラスタ内トピック管理情報を有するクラスタ内管理部と、
前記クラスタ内トピック管理情報に登録された前記トピック識別データと同一のトピックの前記トピック送信処理が自身の計算機で起動すると、起動した前記トピック送信処理の起動時刻を検出し、検出した起動時刻と、前記クラスタ内トピック管理情報に登録された前記トピック識別データのトピック送信処理起動時刻とを比較し、検出した起動時刻の方が過去である場合には、起動したトピックと同一の前記トピック識別データのレコードにおける前記マルチキャストアドレスと前記ポート番号とを所定の生成規則に基づき新たに生成して変更し、起動したトピックと同一の前記トピック識別データのレコードにおける前記トピック送信処理起動時刻を検出した前記起動時刻に変更し、起動したトピックと同一の前記トピック識別データのレコードにおける前記ネットワークに接続する計算機のIPアドレスに自身の計算機の前記ネットワークにおけるIPアドレスを追加する変更を実行すると共に、起動したトピックと同一の前記トピック識別データのレコードにおける変更内容を、変更情報として、前記ネットワークに接続する他の計算機に通知するクラスタ内通知部と
を備えたことを特徴とする計算機。
In a computer that is connected to the same network as a plurality of other computers and forms a computer cluster together with the other computers,
Topic identification data for identifying a topic, a set of a multicast address and a port number used in communication in the network, a topic transmission process start time indicating a start time of a topic transmission process for transmitting the topic, and the topic A cluster that includes a computer in which the topic indicated by identification data is activated and includes an IP address of a computer that is connected to the network, and includes in-cluster topic management information in which the record for each topic identification data is registered. Internal management department,
When the topic transmission process of the same topic as the topic identification data registered in the topic management information in the cluster is activated in its own computer, the activation time of the topic transmission process that has been activated is detected, and the detected activation time, The topic transmission process start time of the topic identification data registered in the intra-cluster topic management information is compared. If the detected start time is in the past, the same topic identification data as the started topic is stored. The start time when the multicast address and the port number in the record are newly generated and changed based on a predetermined generation rule, and the topic transmission processing start time is detected in the same topic identification data record as the started topic The topic identification data is the same as the activated topic The change in the IP address of the computer connected to the network in the record is added to the IP address in the network of the own computer, and the change content in the record of the topic identification data that is the same as the activated topic is used as the change information. And an intra-cluster notification unit for notifying other computers connected to the network.
前記クラスタ内通知部は、
検出した前記起動時刻と、前記クラスタ内トピック管理情報に登録された前記トピック識別データのトピック送信処理起動時刻との比較の結果、検出した前記起動時刻の方が新しい場合には、起動したトピックと同一の前記トピック識別データのレコードにおける前記ネットワークに接続する計算機のIPアドレスに自身の計算機の前記ネットワークにおけるIPアドレスを追加する変更を実施すると共に、起動したトピックと前記トピック識別データと自身の前記IPアドレスとを前記変更情報として、前記ネットワークに接続する他の計算機に通知することを特徴とする請求項1記載の計算機。
The in-cluster notification unit
As a result of comparison between the detected activation time and the topic transmission processing activation time of the topic identification data registered in the in-cluster topic management information, if the detected activation time is newer, The IP address of the computer connected to the network in the same record of the topic identification data is changed to add the IP address of the network of the own computer, and the activated topic, the topic identification data, and the own IP 2. The computer according to claim 1, wherein an address is notified to the other computer connected to the network as the change information.
前記クラスタ内通知部は、
前記計算機クラスタを構成する前記他の計算機から、前記クラスタ内管理部の有する前記クラスタ内トピック管理情報の変更を示す前記変更情報を受信すると、前記変更情報の内容を前記クラスタ内トピック管理情報に反映することを特徴とする請求項1または2のいずれかに記載の計算機。
The in-cluster notification unit
From the other computers constituting the computer cluster, upon receiving the change information indicating a change of the cluster within the topic management information possessed by the cluster management unit, the content of the change information before Symbol cluster topic management information The computer according to claim 1, which is reflected.
前記計算機は、
前記計算機クラスタを代表する代表計算機であって、
前記計算機は、さらに、
前記ネットワークと異なる代表計算機ネットワークに接続することにより、前記代表計算機ネットワークに接続され、他の計算機ネットワークを代表する他の代表計算機と通信可能な代表計算機間通知部と、
前記トピック識別データと、前記代表計算機ネットワークにおける通信で使用されるマルチキャストアドレスとポート番号との組と、前記トピック送信処理起動時刻と、前記代表計算機間の通信における前記トピック識別データの示すトピックのデータの送信元となる前記代表計算機のIPアドレスとを含むレコードであって、前記トピック識別データごとの前記レコードが登録された代表計算機間トピック管理情報を有する代表計算機間管理部と
を備え、
前記クラスタ内通知部は、
起動したトピックの前記起動時刻を検出すると、検出した前記起動時刻に係るトピックの前記トピック識別データと検出した起動時刻とを前記代表計算機間通知部に渡し、
前記代表計算機間通知部は、
前記クラスタ内通知部から前記トピック識別データと前記起動時刻とを渡されると、前記代表計算機間管理部の有する前記代表計算機間トピック管理情報を参照することにより、渡された前記トピック識別データと同一の前記トピック識別データの前記トピック送信処理起動時刻が登録されている場合には、渡された前記起動時刻と前記トピック送信処理起動時刻とを比較し、渡された前記起動時刻のほうが過去である場合には、渡されたトピック識別データと同一の前記トピック識別データのレコードにおける前記マルチキャストアドレスと前記ポート番号とを所定の生成規則に基づき新たに生成して変更し、渡されたトピック識別データと同一の前記トピック識別データのレコードにおける前記トピック送信処理起動時刻を渡された前記起動時刻に変更すると共に、渡されたトピック識別データと同一の前記トピック識別データのレコードにおける変更内容を、前記代表計算機ネットワークに接続する他の代表計算機に通知することを特徴とする請求項1〜3のいずれかに記載の計算機。
The calculator is
A representative computer representing the computer cluster,
The calculator further includes:
By connecting to a representative computer network different from the network, connected to the representative computer network and capable of communicating with other representative computers representing other computer networks,
Topic identification data, a set of multicast address and port number used in communication in the representative computer network, the topic transmission processing start time, and topic data indicated by the topic identification data in communication between the representative computers A representative computer-to-computer management section having topic management information between representative computers in which the record for each topic identification data is registered,
The in-cluster notification unit
Upon detecting the activation time of the activated topic, the topic identification data of the topic related to the detected activation time and the detected activation time are passed to the inter-representative computer notification unit,
The inter-representative computer notification unit
When the topic identification data and the activation time are passed from the intra-cluster notification unit, by referring to the topic management information between representative computers that the representative computer management unit has, the same topic identification data that has been passed If the topic transmission process start time of the topic identification data is registered, the passed start time and the topic transmission process start time are compared, and the passed start time is in the past. In this case, the multicast address and the port number in the same topic identification data record as the passed topic identification data are newly generated and changed based on a predetermined generation rule, and the received topic identification data The topic transmission processing start time in the same topic identification data record is passed Claims as well as changes to the dynamic time, changes in the record of the same the topic identification data and topic identification data passed, and notifies the other representative computer that connects to the representative computer network The computer in any one of 1-3.
複数の計算機がネットワークに接続されることにより構成された計算機クラスタを複数備え、
前記複数の計算機クラスタは、各計算機クラスタを代表する各代表計算機が前記ネットワークと異なる代表計算機ネットワークに接続することにより、ネットワーク接続される分散計算機システムにおいて、
(1)前記計算機クラスタに属する計算機は、
自身の計算機でトピックデータの送信を希望する送信プロセスが起動すると、前記送信プロセスの起動を示す送信プロセス起動通知を、自身の計算機が所属する計算機クラスタの他のすべての計算機に送信し、
(2)前記送信プロセス起動通知を送信した前記計算機と同じ計算機クラスタに所属する前記代表計算機は、
前記送信プロセス起動通知を受信すると、前記代表計算機ネットワークを介して他のすべての前記代表計算機に前記送信プロセス起動通知を送信し、
(3)前記送信プロセス起動通知を受信した他の全ての前記代表計算機は、
同じ計算機クラスタに所属するすべての計算機に前記送信プロセス起動通知を送信し、(4)前記計算機クラスタに属する計算機は、
自身の計算機で前記トピックデータの受信を希望する受信プロセスが起動すると、前記受信プロセスの起動を示す受信プロセス起動通知を、自身の計算機が所属する計算機クラスタの他のすべての計算機に送信し、
(5)前記受信プロセス起動通知を送信した前記計算機と同じ計算機クラスタに所属する前記代表計算機は、
前記受信プロセス起動通知を受信すると、他の前記代表計算機から前記送信プロセス起動通知を受信している場合には、前記送信プロセス起動通知を送信した前記他の前記代表計算機に前記代表計算機ネットワークを介して受信希望通知を送信し、
(6)前記受信希望通知を受信した前記代表計算機は、
自身の所属するクラスタにおいて前記送信プロセスが起動した前記計算機から前記トピックデータを受信し、受信した前記トピックデータを前記代表計算機ネットワークを介して前記受信希望通知を送信した前記代表計算機に送信し、
(7)前記受信希望通知を受信した前記代表計算機は、
前記受信プロセス起動通知を送信した同一クラスタ内の前記計算機に、前記トピックデータを送信することを特徴とする分散計算機システム。
A plurality of computer clusters configured by connecting a plurality of computers to a network are provided.
In the distributed computer system in which the plurality of computer clusters are connected to each other by connecting each representative computer representing each computer cluster to a representative computer network different from the network,
(1) Computers belonging to the computer cluster are:
When a transmission process that wishes to transmit topic data is started on its own computer, a transmission process start notification indicating the start of the transmission process is transmitted to all other computers in the computer cluster to which the computer belongs,
(2) The representative computer belonging to the same computer cluster as the computer that transmitted the transmission process start notification is:
Upon receipt of the transmission process activation notification, the transmission process activation notification is transmitted to all the other representative computers via the representative computer network.
(3) All the other representative computers that have received the transmission process activation notification are:
The transmission process start notification is transmitted to all computers belonging to the same computer cluster, and (4) computers belonging to the computer cluster are:
When a reception process that wishes to receive the topic data is started on its own computer, a reception process start notification indicating the start of the reception process is sent to all other computers in the computer cluster to which the computer belongs,
(5) The representative computer belonging to the same computer cluster as the computer that transmitted the reception process activation notification is:
Upon receipt of the reception process activation notification, if the transmission process activation notification is received from another representative computer, the other representative computer that has transmitted the transmission process activation notification via the representative computer network. Send a notification to receive,
(6) The representative computer that has received the reception request notification
Receiving the topic data from the computer started by the transmission process in the cluster to which it belongs, and transmitting the received topic data to the representative computer that has transmitted the reception request notification via the representative computer network;
(7) The representative computer that has received the reception request notification
A distributed computer system, wherein the topic data is transmitted to the computers in the same cluster that transmitted the reception process activation notification.
JP2011060638A 2011-03-18 2011-03-18 Computer and distributed computer system Expired - Fee Related JP5618876B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011060638A JP5618876B2 (en) 2011-03-18 2011-03-18 Computer and distributed computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011060638A JP5618876B2 (en) 2011-03-18 2011-03-18 Computer and distributed computer system

Publications (2)

Publication Number Publication Date
JP2012199612A JP2012199612A (en) 2012-10-18
JP5618876B2 true JP5618876B2 (en) 2014-11-05

Family

ID=47181443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011060638A Expired - Fee Related JP5618876B2 (en) 2011-03-18 2011-03-18 Computer and distributed computer system

Country Status (1)

Country Link
JP (1) JP5618876B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017094774A1 (en) * 2015-12-04 2017-06-08 株式会社リコー Control system, communication control method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009124767A (en) * 2009-03-12 2009-06-04 Nomura Research Institute Ltd Multicast message transmission method and transmission program
US8489674B2 (en) * 2010-03-11 2013-07-16 Yahoo! Inc. Distributed publish/subscribe system

Also Published As

Publication number Publication date
JP2012199612A (en) 2012-10-18

Similar Documents

Publication Publication Date Title
KR102004160B1 (en) Apparatus and method for logical grouping method of iot connected client nodes using client identifier
US20150134727A1 (en) Cloud-based data server providing home appliance management service and method thereof
US8407290B2 (en) Dynamic data sharing using a collaboration-enabled web browser
US11088902B1 (en) Synchronization of logical network state between global and local managers
KR20200140944A (en) Activity continuation between electronic devices
US10073691B2 (en) Containerized upgrade in operating system level virtualization
US9432449B2 (en) Managing connection failover in a load balancer
CN106874334B (en) Data processing method and device and information processing system
CN112148798A (en) Data processing method and device applied to distributed system
US20170085640A1 (en) Data replication using ephemeral tree structures
US9935844B2 (en) Reducing internodal communications in a clustered system
US11895185B2 (en) Node synchronization method and apparatus, device and storage medium
CN109474489B (en) Link detection method, device and network equipment
WO2020001060A1 (en) Member change method for distributed system, and distributed system
US20080019288A1 (en) System and method for managing domain-state information
CN112148206A (en) Data reading and writing method and device, electronic equipment and medium
JP5618876B2 (en) Computer and distributed computer system
US10686888B2 (en) Communication protocols for an online content management system
KR102044108B1 (en) Forward activity-related information from the source electronic device to the companion electronic device
US10666557B2 (en) Method to manage data flow for edge-core distributed analytics systems
US10613708B2 (en) Cloning a hypervisor
CN112165527B (en) File distribution method, file distribution device and electronic equipment
US8909826B2 (en) System and method for extending user-interface, and storage medium storing the same
US10789221B2 (en) Migrating across database deployments
US11750700B2 (en) Method, device, computer-readable medium, and system for managing transactions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140715

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140728

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140819

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140916

R150 Certificate of patent or registration of utility model

Ref document number: 5618876

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees