JP4237196B2 - Message transmission method, message transmission program, and message transmission apparatus - Google Patents

Message transmission method, message transmission program, and message transmission apparatus Download PDF

Info

Publication number
JP4237196B2
JP4237196B2 JP2006107471A JP2006107471A JP4237196B2 JP 4237196 B2 JP4237196 B2 JP 4237196B2 JP 2006107471 A JP2006107471 A JP 2006107471A JP 2006107471 A JP2006107471 A JP 2006107471A JP 4237196 B2 JP4237196 B2 JP 4237196B2
Authority
JP
Japan
Prior art keywords
servant
message
value
partition
slot
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
JP2006107471A
Other languages
Japanese (ja)
Other versions
JP2006222987A (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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2006107471A priority Critical patent/JP4237196B2/en
Publication of JP2006222987A publication Critical patent/JP2006222987A/en
Application granted granted Critical
Publication of JP4237196B2 publication Critical patent/JP4237196B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

本発明は、仮想的な論理ネットワーク上にトランスポート層の機能を提供するプログラム、装置及び方法に関し、具体的には、TCP/IP(Transmission Control Protocol / Internet Protocol)ネットワークなどの通信ネットワーク上に物理的ネットワーク構成にとらわれないツリー構造の論理ネットワークを自律的に構成し、その論理ネットワーク上でのユニキャスト通信やマルチキャスト通信を可能にするプログラム、装置及び方法に関する。   The present invention relates to a program, an apparatus, and a method for providing a transport layer function on a virtual logical network. Specifically, the present invention relates to a physical network on a communication network such as a TCP / IP (Transmission Control Protocol / Internet Protocol) network. The present invention relates to a program, an apparatus, and a method for autonomously configuring a logical network having a tree structure that is not constrained by a general network configuration and enabling unicast communication and multicast communication on the logical network.

ユニキャスト通信(1対1の通信)については、従来の技術においても問題なく利用できている。一方、マルチキャスト通信(1対nの同報通信)については、従来の技術はいくつかの課題を抱えている。以下に従来技術とその課題を示す。   Unicast communication (one-to-one communication) can be used without any problem in the conventional technology. On the other hand, with respect to multicast communication (one-to-n broadcast communication), the conventional technology has several problems. The prior art and its problems are shown below.

IPマルチキャスト(ネットワーク層)では、ルータなどのネットワーク機器がIPマルチキャスト通信をサポートしている必要がある。また、それらネットワーク機器の設定・維持のためのコストが発生する。   In IP multicast (network layer), a network device such as a router needs to support IP multicast communication. In addition, there is a cost for setting and maintaining these network devices.

UDPブロードキャスト(トランスポート層)では、サブネット単位などの物理的なネットワーク構成に依存した範囲での同報しか行えない(例えば、非特許文献1参照)。   In UDP broadcast (transport layer), only broadcast within a range depending on a physical network configuration such as a subnet unit can be performed (see, for example, Non-Patent Document 1).

中継サーバを介した同報通信(アプリケーション層)では、中継サーバの導入・維持のためのコストが発生する。また、中継サーバの障害への対応が困難である。   In broadcast communication (application layer) via a relay server, costs for introducing and maintaining the relay server are incurred. Moreover, it is difficult to cope with a failure of the relay server.

ファイル共有等のP2P(Peer to Peer)アプリケーション(アプリケーション層)では、ノード間をアドホックな方法で接続することによって、論理ネットワークを構成する。よって、無秩序なネットワーク構成となり、通信効率が非常に悪く、リアルタイムな通信に適用できない。
竹下隆史他著「マスタリングTCP/IP入門 第2版」オーム社 平成10年5月25日発行 83頁
In a P2P (Peer to Peer) application (application layer) such as file sharing, a logical network is configured by connecting nodes in an ad hoc manner. Therefore, the network configuration becomes disordered, the communication efficiency is very poor, and it cannot be applied to real-time communication.
Takashi Takeshita et al. "Mastering TCP / IP Introduction 2nd Edition", Ohmsha, Ltd., May 25, 1998, page 83

従来のシステム構築においては、前記従来技術のデメリットについては不可避なものとして受け入れた上で、システム要件により合致する技術を選択して採用していた。   In the conventional system construction, the disadvantages of the prior art are accepted as inevitable, and a technique that matches the system requirements is selected and adopted.

本発明は、TCP/IP(Transmission Control Protocol / Internet Protocol)ネットワークなどの通信ネットワーク上に物理的ネットワーク構成にとらわれないツリー構造の論理ネットワークを自律的に構成し、その論理ネットワーク上でのユニキャスト通信やマルチキャスト通信を可能にするプログラム、装置及び方法の提供を目的とする。   The present invention autonomously configures a logical network having a tree structure independent of a physical network configuration on a communication network such as a TCP / IP (Transmission Control Protocol / Internet Protocol) network, and performs unicast communication on the logical network. Another object is to provide a program, an apparatus, and a method that enable multicast communication.

本発明の第1の特徴は、マルチキャストメッセージ送信方法であって、メッセージを受信したサーバントが、(1)論理ネットワークにおけるアップリンクの存否と、前記アップリンクのサーバントIDと、ダウンリンクの存否と、前記ダウンリンクのサーバントIDとを記憶するステップと、(2)受信した前記メッセージを上位アプリケーションにわたすステップと、(3)前記アップリンクの存否を読み取り、前記アップリンクが存在する場合は前記アップリンクに前記メッセージを送信するステップと、(4)前記ダウンリンクの存否を読み取り、前記ダウンリンクが存在する場合は前記ダウンリンクに前記メッセージを送信するステップと、を有することにある。   A first feature of the present invention is a multicast message transmission method in which a servant that has received a message has (1) presence / absence of an uplink in a logical network, the presence / absence of an uplink servant ID, presence / absence of a downlink, Storing the downlink servant ID; (2) passing the received message to a higher-level application; and (3) reading the presence / absence of the uplink, and if the uplink exists, the uplink And (4) reading the presence / absence of the downlink, and transmitting the message to the downlink when the downlink exists.

本発明の第2の特徴は、ユニキャストメッセージ送信方法であって、メッセージを受信したサーバントが、(1)自サーバントIDと、パーティションと、前記パーティションに含まれる各スロットと、アップサーバントと、前記各スロットに属するダウンサーバントが存在する場合は当該ダウンサーバントとを記憶するステップと、(2)受信した前記メッセージから宛先サーバントIDを読み取るステップと、(3)前記宛先サーバントIDと前記自サーバントIDとを比較するステップと、(4)前記宛先サーバントIDと前記自サーバントIDとが一致する場合に、前記メッセージを上位アプリケーションにわたすステップと、(5)前記宛先サーバントIDと前記自サーバントIDとが一致しない場合に、前記宛先サーバントIDのサーバントID値を求め、前記サーバントID値と前記パーティションとを比較し、(5−1)前記サーバントID値が前記パーティションの外の場合は、前記アップサーバントに前記メッセージを送信し、(5−2)前記サーバントID値が前記パーティション内である場合は、前記アップサーバントへ前記メッセージを送信することに加えて、前記サーバントID値と前記各スロットとを比較し、前記サーバントID値が属する前記スロットの前記ダウンサーバントに前記メッセージを送信するステップと、を有することにある。   According to a second aspect of the present invention, there is provided a unicast message transmission method in which a servant that has received a message is: (1) a self-servant ID, a partition, each slot included in the partition, an up-servant, If there is a down servant belonging to each slot, the step of storing the down servant, (2) reading the destination servant ID from the received message, (3) the destination servant ID and the own servant ID, And (4) when the destination servant ID and the own servant ID match, the step of passing the message to an upper application, and (5) the destination servant ID and the own servant ID match. If not, the destination servant ID A servant ID value is obtained and the servant ID value is compared with the partition. (5-1) If the servant ID value is outside the partition, the message is transmitted to the up-servant. ) If the servant ID value is in the partition, in addition to sending the message to the up-servant, the servant ID value is compared with each slot and the slot to which the servant ID value belongs Transmitting the message to the down servant.

本発明の第1の特徴によれば、ネットワーク機器の種類や物理的なネットワーク構成に関わらず、マルチキャストメッセージの送信が可能となる。   According to the first feature of the present invention, a multicast message can be transmitted regardless of the type of network device and the physical network configuration.

本発明の第2の特徴によれば、ネットワーク機器の種類や物理的なネットワーク構成に関わらず、ユニキャストメッセージの送信が可能となる。   According to the second feature of the present invention, a unicast message can be transmitted regardless of the type of network device and the physical network configuration.

本発明の実施形態では、TCPリンクのみを用いて論理ネットワークを構成する。よって、ネットワーク機器の種類や物理的なネットワーク構成に関わらず、論理ネットワークの構成が可能である。また、この論理ネットワークはツリー構造となっており、効率的な通信を行うことができる。特に、従来のP2P技術では困難であったリアルタイム通信にも適用することができる。   In the embodiment of the present invention, a logical network is configured using only TCP links. Therefore, a logical network can be configured regardless of the type of network device and the physical network configuration. In addition, this logical network has a tree structure and can perform efficient communication. In particular, the present invention can be applied to real-time communication that has been difficult with the conventional P2P technology.

本発明の実施形態の論理ネットワークは、ノードの参加・離脱に応じて自律的に構成される。従って、構成情報の管理などのコストが不要になる。また、障害発生時にも論理ネットワークの再構築が自動的に行われるため、耐障害性が高い。   The logical network according to the embodiment of the present invention is configured autonomously in accordance with the joining / leaving of nodes. Therefore, costs such as management of configuration information become unnecessary. In addition, since the logical network is automatically reconstructed when a failure occurs, the fault tolerance is high.

(用語の定義)
本発明の実施形態を説明するために、下記の用語を定義する。
(Definition of terms)
In order to describe embodiments of the present invention, the following terms are defined.

図1(a)に示すように、論理ネットワーク上の仮想的なノードを「サーバント」(Servent)11と言う。アプリケーションはサーバントを生成し、これを介して通信を行う。   As shown in FIG. 1A, a virtual node on the logical network is referred to as a “servant” 11. The application creates a servant and communicates through it.

論理ネットワークの「種」となるサーバントを「シードサーバント」(SeedServent)12と言う。論理ネットワークを構成するためには、少なくともひとつのシードサーバントが存在する必要がある。シードサーバントは論理ネットワークの核となるもので、シードサーバントを中心にシードサーバント以外のサーバントが連続して接続することで論理ネットワークが構成される。   A servant that is a “seed” of the logical network is referred to as a “seed servant” 12. In order to construct a logical network, at least one seed servant must exist. The seed servant is the core of the logical network, and the logical network is configured by continuously connecting servants other than the seed servant around the seed servant.

サーバントを一意に識別するための識別子を「サーバントID」と言う。サーバントIDは、物理ネットワークのアドレス(IPアドレスとポート番号)から構成することができる。また、物理ネットワークのアドレスに、かかるアドレス以外の情報を付加して構成することもできる。   An identifier for uniquely identifying the servant is referred to as a “servant ID”. The servant ID can be composed of a physical network address (IP address and port number). In addition, information other than the address may be added to the physical network address.

サーバントIDを0以上の一意の整数値に写像したものをサーバントID値と言う。サーバントID値から、サーバントIDへの逆変換が可能である必要はない。つまりサーバントID値から、サーバントIDを求めることは出来なくても良い。   The servant ID mapped to a unique integer value of 0 or more is called a servant ID value. It is not necessary that reverse conversion from a servant ID value to a servant ID is possible. That is, the servant ID may not be obtained from the servant ID value.

本発明の実施形態においては、サーバントおよびサーバント間のTCPリンクにより構成されるツリー構造の論理ネットワークを構築する。   In the embodiment of the present invention, a logical network having a tree structure configured by servants and TCP links between servants is constructed.

図1(b)に示すように、あるサーバント(図1(b)では中央のサーバント)から見て根に近い側のリンクをアップリンク(UpLink)14、葉に近い側のリンクをダウンリンク(DownLink)15と呼ぶ。また、アップリンクの先のサーバントをアップサーバント(UpServent)16、ダウンリンクの先のサーバントをダウンサーバント(DownServent)17と呼ぶ。   As shown in FIG. 1B, the link near the root as viewed from a certain servant (the central servant in FIG. 1B) is an uplink (UpLink) 14, and the link near the leaf is a downlink ( (DownLink) 15. Further, the servant of the uplink destination is called the up servant (UpServant) 16, and the servant of the downlink destination is called the down servant (DownServant) 17.

本発明の実施形態においては、サーバントごとのダウンリンクの最大数を既定値とする。以下、この最大数をNと表記する。以下の例では、特に指定の無い場合、Nを10としている。   In the embodiment of the present invention, the maximum number of downlinks for each servant is a default value. Hereinafter, this maximum number is expressed as N. In the following example, N is 10 unless otherwise specified.

(パーティションとスロット)
ある部分木を取り出した時、この部分木に含まれる全てのサーバントのサーバントID値をカバーする値域を「パーティション」(Partition)と呼ぶ。パーティションは、この部分木の頂点のサーバントにより管理・更新される。また、パーティションをN個の値域に分割したものを「スロット」(Slot)と呼ぶ。
(Partition and slot)
When a subtree is extracted, a range that covers the servant ID values of all servants included in the subtree is called a “partition”. The partition is managed and updated by the servant at the top of this subtree. A partition divided into N value ranges is called a “slot”.

頂点のサーバントは、各スロットにダウンリンクを割り当て、ダウンリンクの先のサーバントにそのスロットにあたるパーティションの管理をまかせる。このとき、各スロット内のダウンリンクは、最大1本となるように調整する。   The apex servant assigns a downlink to each slot, and the servant at the end of the downlink manages the partition corresponding to the slot. At this time, adjustment is performed so that the number of downlinks in each slot is at most one.

(算出方法)
最小値、最大値により定義された値域を[最小値,最大値]として表記する。
(Calculation method)
The range defined by the minimum and maximum values is expressed as [minimum and maximum].

部分木のサーバントID値の値域が[vmin, vmax]であるとき、
Nx × y ≦ vmin, vmax < Nx × (y + 1)
(x, yは整数 x > 0, 0 ≦ y < N)
を満たす最小のxを求める。
When the range of the servant ID value of the subtree is [vmin, vmax]
Nx × y ≤ vmin, vmax <Nx × (y + 1)
(x and y are integers x> 0, 0 ≤ y <N)
Find the smallest x that satisfies

この部分木のパーティションは、[Nx × y , Nx × (y + 1) - 1]であり、パーティションの幅は、Nxとなる。また、スロットの幅は、Nx-1となる。   The partition of this subtree is [Nx × y, Nx × (y + 1) −1], and the partition width is Nx. The slot width is Nx-1.

(計算例)
図2に、「サーバントID値の値域」の例を挙げて、その値域から算出された「パーティション」、「パーティションの幅」及び「スロット」を示す。なお、ダウンリンクの最大数Nは10とする。
(Calculation example)
FIG. 2 shows an example of “range of servant ID value” and shows “partition”, “partition width” and “slot” calculated from the range. Note that the maximum number N of downlinks is 10.

図3(a)及び(b)にツリー全体でのパーティション計算例を示す。なお、ダウンリンクの最大数Nは10とする。図中、○の中の数値はサーバントID値である。   3A and 3B show examples of partition calculation in the entire tree. Note that the maximum number N of downlinks is 10. In the figure, the numerical value in ◯ is the servant ID value.

(サーバントの参加)
論理ネットワークに接続する側のサーバントをコネクター(Connector)、接続を受ける側のサーバントをリスナー(Listener)と呼び、それぞれの処理を示す。あるサーバントは、アップ側に対する接続処理を行っている間にも、ダウン側からの接続要求を受け付けなければならない。よって、サーバントは、コネクターとしての処理とリスナーとしての処理を並行して行える必要がある。
(Servant participation)
The servant on the side connected to the logical network is called a connector, and the servant on the connection side is called a listener. A certain servant must accept a connection request from the down side even while performing the connection process to the up side. Therefore, the servant needs to be able to perform the process as a connector and the process as a listener in parallel.

(コネクターの処理)
図4に基づいて、コネクター処理の流れを説明する。まず、対象サーバントIDリストに、シードサーバントのサーバントIDリストの内容を代入する(S101)。
(Connector processing)
The flow of connector processing will be described based on FIG. First, the contents of the servant ID list of the seed servant are substituted into the target servant ID list (S101).

次に、対象サーバントIDリストからひとつずつ対象サーバントIDを取り出して、以下の処理を実行する(S103)。   Next, the target servant ID is taken out one by one from the target servant ID list, and the following processing is executed (S103).

そして、対象サーバントに接続する(S105)。   Then, it connects to the target servant (S105).

接続に成功しなかった場合はステップS103へ戻り、接続に成功した場合はステップS109へ進む(S107)。   If the connection is not successful, the process returns to step S103, and if the connection is successful, the process proceeds to step S109 (S107).

自分のサーバントIDを添付した参加要求電文を、リスナーへ送信する(S109)。   A participation request message with its own servant ID attached is transmitted to the listener (S109).

参加応答電文をリスナーから受信する(S111)。   A participation response message is received from the listener (S111).

参加応答電文の応答区分が「OK」ならばコネクター処理を終了する(S113)。   If the response classification of the participation response message is “OK”, the connector processing is terminated (S113).

参加応答電文の応答区分が「他のサーバントへの接続指示」であれば、参加応答電文から接続指示サーバントIDを取り出し、それを対象サーバントIDとして、ステップS105へ戻る(S115)。   If the response classification of the participation response message is “connection instruction to another servant”, the connection instruction servant ID is extracted from the participation response message, and the process returns to step S105 as the target servant ID (S115).

(リスナーの処理)
図5に基づいて、リスナー処理の流れを説明する。
(Listener processing)
Based on FIG. 5, the flow of listener processing will be described.

まず、参加要求電文をコネクターから受信する(S201)。   First, a participation request message is received from the connector (S201).

次に、参加要求電文からコネクターのサーバントIDを取り出す(S203)。   Next, the servant ID of the connector is extracted from the participation request message (S203).

そして、コネクターのサーバントID値を使って部分木のサーバントID値の値域を更新する(S205)。   Then, the range of the servant ID value of the subtree is updated using the servant ID value of the connector (S205).

サーバントID値の値域が[a,b]で、コネクターのサーバントID値がcであるとする、そして
c<aの場合、値域は[c,b]に更新され、
b<cの場合、値域は[a,c]に更新され、
a≦c≦bの場合は、値域は更新されない。
If the range of the servant ID value is [a, b] and the servant ID value of the connector is c, and if c <a, the range is updated to [c, b]
If b <c, the range is updated to [a, c]
When a ≦ c ≦ b, the range is not updated.

例えば、参加要求電文受信前のサーバントID値の値域が[1,2]で、参加要求電文から取り出されたサーバントID値が「91」の場合、更新後のサーバントID値の値域は[1,91]となる。また、参加要求電文受信前のサーバントID値の値域が[18,19]で、参加要求電文から取り出されたサーバントID値が「10」の場合、更新後のサーバントID値の値域は[10,19]となる。   For example, when the range of the servant ID value before receiving the participation request message is [1, 2] and the servant ID value extracted from the participation request message is “91”, the range of the updated servant ID value is [1, 91]. Further, when the range of the servant ID value before receiving the participation request message is [18, 19] and the servant ID value extracted from the participation request message is “10”, the range of the updated servant ID value is [10, 19].

部分木のサーバントID値の値域からパーティションとスロットを再計算する(S207)。このときパーティションの拡張によって、スロット内に複数のダウンリンクが該当することがある。このときは2番目以降のあふれたダウンリンクを切断する。   A partition and a slot are recalculated from the range of the servant ID value of the subtree (S207). At this time, due to partition expansion, a plurality of downlinks may correspond to the slot. At this time, the second and subsequent overflow downlinks are disconnected.

前記のように、部分木のサーバントID値の値域が[vmin, vmax]であるとき、
Nx × y ≦ vmin, vmax < Nx × (y + 1)
(x, yは整数 x > 0, 0 ≦ y < N)
を満たす最小のxを求める。
As described above, when the range of the servant ID value of the subtree is [vmin, vmax],
Nx × y ≤ vmin, vmax <Nx × (y + 1)
(x and y are integers x> 0, 0 ≤ y <N)
Find the smallest x that satisfies

この部分木のパーティションは、[Nx × y , Nx × (y + 1) - 1]であり、パーティションの幅は、Nxとなる。   The partition of this subtree is [Nx × y, Nx × (y + 1) −1], and the partition width is Nx.

この部分木のスロットは、
[Nx × y , Nx × y + Nx-1 - 1],
[Nx × y + Nx-1 , Nx × y + Nx-1 ×2 - 1],

[Nx × y + Nx-1 ×(N - 1), Nx × y + (Nx-1 ×N) - 1]
であり、スロットの幅は、Nx-1となる。
This sub-tree slot
[Nx × y, Nx × y + Nx-1-1],
[Nx × y + Nx-1, Nx × y + Nx-1 × 2-1],
:
[Nx × y + Nx-1 × (N-1), Nx × y + (Nx-1 × N)-1]
And the width of the slot is Nx-1.

例えば、参加要求電文受信前のサーバントID値の値域が[1,2]、パーティションが[0,9]の場合、参加要求電文から取り出されたサーバントID値が「91」であるなら、更新後のサーバントID値の値域は[1,91]、再計算後のパーティションは[0,99]、スロットは[0,9],[10,19],[20,29],[30,39],[40,49],[50,59],[60,69],[70,79],[80,89],[90,99]となる。   For example, when the range of the servant ID value before receiving the participation request message is [1, 2] and the partition is [0, 9], if the servant ID value extracted from the participation request message is “91”, the updated The servant ID value range is [1, 91], the recalculated partition is [0, 99], the slots are [0, 9], [10, 19], [20, 29], [30, 39]. , [40, 49], [50, 59], [60, 69], [70, 79], [80, 89], [90, 99].

例えば、参加要求電文受信前のサーバントID値の値域が[3,7]、パーティションが[0,9]、ダウンサーバントのサーバントID値が3,4,7の場合、参加要求電文から取り出されたサーバントID値が「91」であるなら、更新後のサーバントID値の値域は[3,91]、再計算後のパーティションは[0,99]、スロットは[0,9],[10,19],[20,29],[30,39],[40,49],[50,59],[60,69],[70,79],[80,89],[90,99]となる。   For example, when the range of the servant ID value before receiving the participation request message is [3, 7], the partition is [0, 9], and the servant ID value of the down servant is 3, 4, 7, it is extracted from the participation request message. If the servant ID value is “91”, the range of the updated servant ID value is [3, 91], the recalculated partition is [0, 99], and the slots are [0, 9], [10, 19]. ], [20, 29], [30, 39], [40, 49], [50, 59], [60, 69], [70, 79], [80, 89], [90, 99] Become.

このとき、スロット[0,9]にはサーバントID値が3,4,7のダウンサーバントが存在することになるため、サーバントID値4,7のサーバントへのリンクは切断される。   At this time, since there are down servants with servant ID values 3, 4, and 7 in the slot [0, 9], the link to the servant with servant ID values 4 and 7 is disconnected.

コネクターのサーバントID値が属するスロットを求め(S209)、そのスロットが空かを判断し(S211)、そのスロットが空であれば、「OK」の応答区分を持った参加応答電文を送信して(S213)、処理を終了する。   A slot to which the servant ID value of the connector belongs is obtained (S209), and it is determined whether the slot is empty (S211). If the slot is empty, a participation response message having a response category of “OK” is transmitted. (S213), the process ends.

スロットに別のサーバントが割り当てられていれば、「他のサーバントへの接続指示」の応答区分と、スロットに既に割り当てられているサーバントのサーバントIDを接続指示サーバントとして設定した参加応答電文を送信して(S215)、処理を終了する。   If another servant is assigned to the slot, a response message of “connection instruction to other servant” and a participation response message in which the servant ID of the servant already assigned to the slot is set as the connection instruction servant are transmitted. (S215), and the process ends.

既に図3(a)に示す状態であるとして、図3(a)に基づいてステップS209〜S215を説明する。コネクターのサーバントID値が「6」の場合、このサーバントID値が属するスロットとしてスロット[0,9]が求まる(S209)。このスロットには別のサーバント(サーバントID値「5」)が既に割り当てられているので、「他のサーバントへの接続指示」の応答区分と、先行サーバントのサーバントID(サーバントID値「5」)を接続指示サーバントとして設定した参加応答電文を送信する(S215)。   Assuming that the state is already shown in FIG. 3A, steps S209 to S215 will be described based on FIG. When the servant ID value of the connector is “6”, the slot [0, 9] is obtained as the slot to which the servant ID value belongs (S209). Since another servant (servant ID value “5”) is already assigned to this slot, the response classification of “connection instruction to other servant” and the servant ID of the preceding servant (servant ID value “5”) Is sent as a connection instruction servant (S215).

一方、コネクターのサーバントID値が「21」の場合、このサーバントID値が属するスロットとしてスロット[20,29]が求まる(S209)。このスロットは空なので、「OK」の応答区分を持った参加応答電文を送信する(S213)。   On the other hand, when the servant ID value of the connector is “21”, the slot [20, 29] is obtained as the slot to which the servant ID value belongs (S209). Since this slot is empty, a participation response message having a response category of “OK” is transmitted (S213).

(サーバントの離脱・リンクの切断)
物理的なネットワークの障害は、リンクの切断としてサーバントに検知される。また、サーバントの離脱についても、リンクの切断としてアップリンク側およびダウンリンク側のサーバントに検知される。リンク切断を検知したときの処理を以下に示す。
(Servant detachment / link disconnection)
A physical network failure is detected by the servant as a link disconnection. In addition, the servant's detachment is also detected by the servant on the uplink side and the downlink side as a link disconnection. Processing when link disconnection is detected is shown below.

(アップリンク切断時の処理)
図6に基づいて、アップリンク切断時の処理について説明する。
(Process when uplink is disconnected)
Based on FIG. 6, the process at the time of uplink disconnection is demonstrated.

以下では、説明のためにサーバントID値nのサーバントのサーバントIDをIDnと表記する。例えば、サーバントID値5のサーバントのサーバントIDをID5と表記する。   Hereinafter, for the sake of explanation, the servant ID of the servant having the servant ID value n is represented as IDn. For example, a servant ID of a servant with a servant ID value of 5 is denoted as ID5.

まず、シブリングサーバントIDリストを取り出す(S301)。シブリングサーバントIDリストとは、同一のアップサーバントを持った兄弟のサーバントのサーバントIDリストを意味する。このリストは、アップサーバントから随時送信されるものである。図3(a)の例では、サーバントID値「5」のサーバントのシブリングサーバントIDリストには、「ID5」と「ID13」と「ID90」が記されている。また、サーバントID値「92」のサーバントのシブリングサーバントIDリストには、「ID92」と「ID95」と「ID99」が記されている。   First, a sibling servant ID list is extracted (S301). The sibling servant ID list means a servant ID list of sibling servants having the same up-servant. This list is sent from the up-servant at any time. In the example of FIG. 3A, “ID5”, “ID13”, and “ID90” are described in the sibling servant ID list of the servant with the servant ID value “5”. In the sibling servant ID list of the servant with the servant ID value “92”, “ID92”, “ID95”, and “ID99” are described.

次に、シブリングサーバントIDリスト上の自サーバントの位置をもとめる(S303)。   Next, the position of the own servant on the sibling servant ID list is obtained (S303).

そして、自サーバントが先頭のサーバントか調べる(S305)。   Then, it is checked whether the own servant is the first servant (S305).

自サーバントがシブリングサーバントIDリストにおける先頭のサーバントであれば、コネクター処理を開始する(S307)。   If the own servant is the first servant in the sibling servant ID list, connector processing is started (S307).

自サーバントがシブリングサーバントIDリストにおける先頭のサーバントでなければ、シブリングサーバントIDリストを対象サーバントIDリストに代入し(S309)、コネクター処理を開始する(S311)。   If the own servant is not the first servant in the sibling servant ID list, the sibling servant ID list is substituted into the target servant ID list (S309), and connector processing is started (S311).

既に図3(a)に示す状態であるとして、図3(a)に基づいてステップS301〜S311を説明する。まず、サーバントID値「90」のサーバントが離脱し、サーバントID値「92」のサーバントのアップリンクが切断された場合について説明する。サーバントID値「92」のサーバントは、シブリングサーバントIDリストを取り出す(S301)。取り出されたリストには、「ID92,ID95,ID99」のように記載されている。よって、サーバントID値「92」のサーバントは、シブリングサーバントIDリスト上における「先頭のサーバントである」(S303,305)。このため、サーバントID値「92」のサーバントは、サーバントID値「3」のシードサーバントを対象サーバントとしてコネクター処理を開始する(S307)。   Assuming that the state is already shown in FIG. 3A, steps S301 to S311 will be described based on FIG. First, a case where the servant with the servant ID value “90” is disconnected and the uplink of the servant with the servant ID value “92” is disconnected will be described. The servant with the servant ID value “92” extracts the sibling servant ID list (S301). The extracted list is described as “ID92, ID95, ID99”. Therefore, the servant with the servant ID value “92” is “first servant” on the sibling servant ID list (S303, 305). Therefore, the servant with the servant ID value “92” starts the connector processing with the seed servant with the servant ID value “3” as the target servant (S307).

次に、サーバントID値「90」のサーバントが離脱し、サーバントID値「95」のサーバントのアップリンクが切断された場合について説明する。サーバントID値「95」のサーバントは、シブリングサーバントIDリストを取り出す(S301)。取り出されたリストには、「ID92,ID95,ID99」のように記載されている。よって、サーバントID値「95」のサーバントは、シブリングサーバントIDリスト上における位置は「先頭のサーバントではない」(S303,305)。このため、サーバントID値「95」のサーバントは、シブリングサーバントIDリストを対象サーバントIDリストに代入し(S309)、サーバントID値「92」のサーバントに対してコネクター処理を開始する(S307)。   Next, a case where the servant with the servant ID value “90” is disconnected and the uplink of the servant with the servant ID value “95” is disconnected will be described. The servant with the servant ID value “95” extracts the sibling servant ID list (S301). The extracted list is described as “ID92, ID95, ID99”. Therefore, the position of the servant with the servant ID value “95” on the sibling servant ID list is “not the first servant” (S303, 305). Therefore, the servant with the servant ID value “95” substitutes the sibling servant ID list into the target servant ID list (S309), and starts connector processing for the servant with the servant ID value “92” (S307).

図3(b)にこれらの処理が完了した論理ネットワークの状態を示す。なお、サーバントID値「99」のサーバントも、サーバントID値「95」のサーバントと同様に、サーバントID値「92」のサーバントに対してコネクター処理を行う。   FIG. 3B shows the state of the logical network in which these processes are completed. Note that the servant with the servant ID value “99” also performs the connector process for the servant with the servant ID value “92”, similarly to the servant with the servant ID value “95”.

このようにして、サーバントの離脱・リンクの切断が生じても、論理ネットワークは自律的に構成される。従って、構成情報の管理などのコストが不要になる。また、障害発生時にも論理ネットワークの再構築が自動的に行われるため、耐障害性が高い。   In this way, the logical network is configured autonomously even if the servant is disconnected or the link is disconnected. Therefore, costs such as management of configuration information become unnecessary. In addition, since the logical network is automatically reconstructed when a failure occurs, the fault tolerance is high.

(ダウンリンク切断時の処理)
ダウンリンク切断時は、切断されたダウンリンクが割り当てられていたスロットを求めて、そのスロットの状態を空とする。
(Process when downlink is disconnected)
When the downlink is disconnected, the slot to which the disconnected downlink is assigned is obtained, and the state of the slot is made empty.

(論理ネットワークのツリー最適化)
本実施形態では、論理ネットワークのツリーが冗長となることを防止するために、論理ネットワーク構成処理と並行して、パーティションに基づいたツリー最適化処理を行う。ツリーの最適化処理は、ツリーの頂点となるシードサーバントとそれ以外のサーバントに分担して行われる。以下に各処理を説明する。
(Logical network tree optimization)
In the present embodiment, in order to prevent the logical network tree from becoming redundant, tree optimization processing based on partitions is performed in parallel with the logical network configuration processing. The tree optimization process is performed in a shared manner between the seed servant at the top of the tree and other servants. Each process will be described below.

(頂点のシードサーバントのツリー最適化処理)
1.一定時間おきに以下の処理を実行する。
(Vertical seed servant tree optimization process)
1. The following processing is executed at regular intervals.

1.1自サーバントのパーティション情報を添付したツリー最適化電文を作成する。   1. Create a tree optimization message with the partition information of the local servant attached.

1.2全てのダウンサーバントにツリー最適化電文を送信する。   1.2 Send a tree optimization message to all down-servants.

(頂点以外のサーバントのツリー最適化処理)
図7に基づいて、頂点以外のサーバントのツリー最適化処理の流れを説明する。
(Tree optimization processing for servants other than vertices)
Based on FIG. 7, the flow of the tree optimization process for servants other than the vertex will be described.

アップサーバントからの電文が受信されるのを待つ(S401)。   It waits for a message from the upservant to be received (S401).

受信電文がツリー最適化電文か判断する(S403)。   It is determined whether the received message is a tree optimization message (S403).

ステップS403で「YES」に分岐する場合、ツリー最適化電文からアップサーバントのパーティション情報を取り出す(S405)。   When branching to “YES” in step S403, the partition information of the upservant is extracted from the tree optimization message (S405).

自サーバントのパーティションがアップサーバントのパーティションに含まれるか判断する(S407)。なお、自サーバントのパーティションがアップサーバントのパーティションと等しい場合は「含まれない」と判断する。   It is determined whether the self-servant partition is included in the up-servant partition (S407). If the self-servant partition is equal to the up-servant partition, it is determined as “not included”.

ステップS407で「YES」に分岐する場合、自サーバントのパーティション情報を添付したツリー最適化電文を作成する(S409)。   When branching to “YES” in step S407, a tree optimization message to which the partition information of the own servant is attached is created (S409).

全てのダウンサーバントにツリー最適化電文を送信する(S411)。   A tree optimization message is transmitted to all down-servants (S411).

ステップS407で「NO」に分岐する場合、全てのダウンサーバントにリセット電文を送信する(S413)。   When branching to “NO” in step S407, a reset message is transmitted to all down-servants (S413).

全てのダウンリンクを切断する(S415)。   All downlinks are disconnected (S415).

自サーバントの、部分木の値域、パーティション、スロットをすべてクリアする(S417)。   All values, partitions, and slots of the subtree of the own servant are cleared (S417).

ステップS403で「NO」に分岐する場合、受信電文がリセット電文か判断する(S421)。   When branching to “NO” in step S403, it is determined whether the received message is a reset message (S421).

ステップS421で「YES」に分岐する場合、コネクター処理を開始する。   When branching to “YES” in step S421, connector processing is started.

なお、リセット電文受信後、アップサーバントによってアップリンクが切断されるが、コネクター処理が重複して起動することを避けるために、アップリンク切断時の処理が起動しないように制御する。   In addition, after receiving the reset message, the uplink is disconnected by the up-servant, but in order to prevent the connector processing from being activated twice, control is performed so that the processing at the time of uplink disconnection is not activated.

(通信メッセージのルーティング)
通信メッセージのルーティングについて説明する。
(Communication message routing)
Communication message routing will be described.

宛先を指定しない同報メッセージをマルチキャストメッセージと呼び、宛先サーバントIDを指定するメッセージをユニキャストメッセージと呼ぶ。以下にそれぞれの通信メッセージのルーティング処理を示す。   A broadcast message that does not specify a destination is called a multicast message, and a message that specifies a destination servant ID is called a unicast message. The routing process of each communication message is shown below.

(マルチキャストメッセージのルーティング)
図8に基づいて、マルチキャストメッセージのルーティング処理について説明する。
(Multicast message routing)
A multicast message routing process will be described with reference to FIG.

まず、アプリケーションにメッセージをわたす(S501)。   First, a message is given to the application (S501).

次に、アップリンクが存在するか判断し(S503)、アップリンクが存在すれば、アップリンクにメッセージを送信する(S505)。具体的には、TCP/IPソフトにアップサーバントのポート番号とIPアドレスを、宛先ポート番号と宛先IPアドレスとして通知し、送信を依頼する。   Next, it is determined whether an uplink exists (S503). If an uplink exists, a message is transmitted to the uplink (S505). Specifically, the port number and IP address of the upservant are notified to the TCP / IP software as the destination port number and the destination IP address, and the transmission is requested.

そして、ダウンリンクが存在するか判断し(S507)、ダウンリンクが存在すれば、各ダウンリンクにメッセージを送信する(S509)。具体的には、TCP/IPソフトにダウンサーバントのポート番号とIPアドレスを、宛先ポート番号と宛先IPアドレスとして通知し、送信を依頼する。   Then, it is determined whether a downlink exists (S507), and if a downlink exists, a message is transmitted to each downlink (S509). Specifically, the TCP / IP software is notified of the port number and IP address of the down-servant as the destination port number and destination IP address, and requests transmission.

(ユニキャストメッセージのルーティング)
図9に基づいて、ユニキャストメッセージのルーティング処理について説明する。
(Unicast message routing)
The unicast message routing process will be described with reference to FIG.

まず、宛先が自分自身か判断する(S601)。具体的には、メッセージヘッダに含まれる宛先サーバントIDと、自分の記憶装置103に記憶されている自分のサーバントIDとを比較し、両サーバントIDが一致すれば宛先が自分自身であると判断する。   First, it is determined whether the destination is itself (S601). Specifically, the destination servant ID included in the message header is compared with its own servant ID stored in its own storage device 103, and if both servant IDs match, it is determined that the destination is itself. .

ステップS601で「YES」に分岐する場合、アプリケーションにメッセージを渡して(S603)、処理を終了する。   When branching to “YES” in step S601, a message is passed to the application (S603), and the process ends.

ステップS601で「NO」に分岐する場合、宛先サーバントIDのサーバントID値を求める(S605)。   When branching to “NO” in step S601, the servant ID value of the destination servant ID is obtained (S605).

求めたサーバントID値が自分のパーティションの外か判断する(S607)。   It is determined whether the calculated servant ID value is outside of its own partition (S607).

ステップS607で「YES」に分岐する場合、アップリンクにメッセージを送信する(S609)。   When branching to “YES” in step S607, a message is transmitted to the uplink (S609).

ステップS607で「NO」に分岐する場合、該当するスロットのダウンリンクにメッセージを送信し(S611)かつ、アップリンクにメッセージを送信する(S613)。   When branching to “NO” in step S607, a message is transmitted to the downlink of the corresponding slot (S611), and a message is transmitted to the uplink (S613).

本発明の適用システムとして「ニュース配信システム」を取り上げ、その実装方法および実施例について説明する。このニュース配信システムは、ニュース受信を待つ複数のコンピュータに、ニュース発信コンピュータからリアルタイムにニュース情報を配信するシステムである。   A “news distribution system” will be taken up as an application system of the present invention, and its mounting method and examples will be described. This news distribution system is a system for distributing news information in real time from a news transmission computer to a plurality of computers waiting to receive news.

図10に、ニュース配信システムのシステム構成を示す。   FIG. 10 shows a system configuration of the news distribution system.

本発明の手法を利用してニュース配信システムのための論理ネットワークを構築し、その論理ネットワーク上でのメッセージ通信を行うための通信ライブラリを「PBTC通信ライブラリ」(PBTC:Partition-Based Tree Construction)と言う。   A communication network for constructing a logical network for a news distribution system using the method of the present invention and performing message communication on the logical network is referred to as a “PBTC communication library” (PBTC: Partition-Based Tree Construction). To tell.

ニュース情報発信者の指示を受けて、ニュース情報の同報配信を行うプログラムを「ニュース発信プログラム」と言う。ニュース情報は、PBTC通信ライブラリを利用してマルチキャストメッセージとして送信される。   A program that broadcasts news information in response to an instruction from a news information sender is called a “news transmission program”. The news information is transmitted as a multicast message using the PBTC communication library.

PBTC通信ライブラリからのニュース情報の受信を待ち、受信時にコンピュータ画面にその情報を表示するプログラムを「ニュース受信プログラム」と言う。   A program that waits for reception of news information from the PBTC communication library and displays the information on the computer screen at the time of reception is called a “news reception program”.

PBTC通信ライブラリが利用する定義データを「ネットワーク定義データ」と言う。論理ネットワークの構成に必要なシードサーバントのサーバントIDリストを含む。   Definition data used by the PBTC communication library is referred to as “network definition data”. Contains a servant ID list of seed servants necessary for the configuration of the logical network.

図10に示すように、本実施形態で使用するサーバント100は、全体を制御する主制御部(制御手段、以下「CPU」とする)101に記憶装置103が接続されている。CPU101には、また、入出力制御部105を介して送受信部107と表示装置109が接続されている。さらに、図示していないが、基本入出力システム(BIOS)などが記憶されるリードオンリーメモリ(ROM)と、プログラム領域とデータ領域を有するランダムアクセスメモリ(RAM)とがCPU101に接続されている。   As shown in FIG. 10, the servant 100 used in this embodiment has a storage device 103 connected to a main control unit (control means, hereinafter referred to as “CPU”) 101 that controls the whole. A transmission / reception unit 107 and a display device 109 are connected to the CPU 101 via an input / output control unit 105. Further, although not shown, a read only memory (ROM) in which a basic input / output system (BIOS) or the like is stored and a random access memory (RAM) having a program area and a data area are connected to the CPU 101.

記憶装置103は、ハードディスク、フレキシブルディスク、光ディスク、光磁気ディスクなどのストレージ手段であり、ニュース送信プログラム111、ニュース受信プログラム113、PBTC通信ライブラリ115、ネットワーク定義データ117などが格納されている。   The storage device 103 is storage means such as a hard disk, a flexible disk, an optical disk, or a magneto-optical disk, and stores a news transmission program 111, a news reception program 113, a PBTC communication library 115, network definition data 117, and the like.

図16(a)にネットワーク定義データ117の内容を示す。図16に示すように、ネットワーク定義データ117には、シードサーバントIDと、自サーバントIDと、サーバントID値の値域と、パーティション情報と、スロット情報と、アップ/ダウンサーバント情報とが含まれる。なお、ネットワーク定義データ117の全てを記憶装置103に格納しなくても良い。例えば、シードサーバントIDのみを記憶装置103に格納し、自サーバントID、サーバントID値の値域などはRAM上に保持するとしても良い。   FIG. 16A shows the contents of the network definition data 117. As shown in FIG. 16, the network definition data 117 includes a seed servant ID, a self-servant ID, a servant ID value range, partition information, slot information, and up / down servant information. Note that not all of the network definition data 117 need be stored in the storage device 103. For example, only the seed servant ID may be stored in the storage device 103, and the self-servant ID, the range of the servant ID value, and the like may be held on the RAM.

また、記憶装置103には、図示していないが、TCP/IPなどの通信プロトコルに従ってデータの送受信が可能なオペレーティングシステム(OS)などが格納されている。   Although not shown, the storage device 103 stores an operating system (OS) that can transmit and receive data according to a communication protocol such as TCP / IP.

ニュース送信のみを行うサーバント100a、ニュース受信及びニュース送信を行うサーバント100b並びにニュース受信のみを行うサーバント100cは、TCP/IPネットワーク120を介してニュースを送受信する。ニュース送信のみを行うサーバント100aには、ニュース受信プログラム113は不要である。ニュース受信のみを行うサーバント100cには、ニュース送信プログラム111は不要である。   The servant 100a that performs only news transmission, the servant 100b that performs news reception and news transmission, and the servant 100c that performs only news reception transmit and receive news via the TCP / IP network 120. The servant 100a that performs only news transmission does not require the news reception program 113. The servant 100c that only receives news does not need the news transmission program 111.

表示装置109は、ニュース受信プログラムが受信したニュースを表示する。表示装置109には、CRT(陰極線管)ディスプレイ、TFT液晶などの液晶ディスプレイが含まれる。   The display device 109 displays the news received by the news receiving program. The display device 109 includes a liquid crystal display such as a CRT (cathode ray tube) display and a TFT liquid crystal.

以下に、各プログラムモジュールの処理の流れを示す。   The processing flow of each program module is shown below.

(PBTC通信ライブラリ)
1.サーバントの生成依頼を待つ。
(PBTC communication library)
1. Wait for servant generation request.

2.サーバントの生成依頼を受けると以下のスレッドを起動する。 2. When a servant generation request is received, the following thread is started.

・コネクタースレッド
・リスナースレッド
・リンク切断検知スレッド
・ルーティングスレッド
3.ルーティングスレッドは、上位プログラムからのメッセージ送受信の依頼を待つ。
-Connector thread-Listener thread-Link disconnection detection thread-Routing thread The routing thread waits for a message transmission / reception request from the host program.

(ニュース発信プログラム)
1.PBTC通信ライブラリにサーバント生成依頼を行う。
(News transmission program)
1. A servant generation request is made to the PBTC communication library.

2.利用者からのニュース配信指示を待つ。 2. Wait for news distribution instructions from users.

3.ニュース配信指示を受けたら、ニュース情報をマルチキャストメッセージとしてPBTC通信ライブラリに送信を依頼する。 3. When the news distribution instruction is received, the news information is requested to be transmitted to the PBTC communication library as a multicast message.

(ニュース受信プログラム)
1.PBTC通信ライブラリにサーバント生成依頼を行う。
(News reception program)
1. A servant generation request is made to the PBTC communication library.

2.PBTC通信ライブラリにメッセージ受信を依頼する。 2. Request the PBTC communication library to receive a message.

3.メッセージの受信を待つ。 3. Wait for the message to be received.

4.メッセージを受信したら、ニュース情報を取り出して、表示装置109の画面に表示する。 4). When the message is received, the news information is taken out and displayed on the screen of the display device 109.

5.「3.メッセージの受信を待つ。」へ戻る。 5). Return to “3. Wait for message reception”.

ニュース配信システムの実施形態について、仮想的な事例を使って具体的に説明する。   An embodiment of a news distribution system will be specifically described using a virtual case.

(実施例の内容)
X社では、社内横断的なニュースを従業員へ配信するために、ニュース配信システムを利用している。ニュース発信を専門とする部署Pから、受信部署S1、S2、・・・へニュース配信を行っている。受信部署の各従業員のコンピュータは、起動時にニュース受信プログラム113が起動するように設定されている。
(Content of Example)
Company X uses a news distribution system to distribute company-wide news to employees. News is distributed from the department P specializing in news transmission to the receiving departments S1, S2,. The computer of each employee in the receiving department is set so that the news receiving program 113 is activated when activated.

図11に、ニュース配信システムに関わる部分のネットワークの構成を示す。図11に示すように、発信部署Pのネットワークアドレスは192.168.1.0/24、受信部署S1のネットワークアドレスは192.168.11.0/24、受信部署S2のネットワークアドレスは192.168.12.0/24とする。   FIG. 11 shows a network configuration of a part related to the news distribution system. As shown in FIG. 11, the network address of the sending department P is 192.168.1.0/24, the network address of the receiving department S1 is 192.168.11.0/24, and the network address of the receiving department S2 is 192.168.12.0/24.

また、発信部署Pでは、ニュース配信の確認を行うためのコンピュータを2台設置しており、常にニュース受信プログラムが起動した状態となっている。なお、以下では、ポート番号は省略して表記する。ニュース配信確認コンピュータのIPアドレスを以下に示す。   In addition, the sending department P has two computers for confirming the news delivery, and the news receiving program is always activated. In the following, port numbers are omitted. The IP address of the news distribution confirmation computer is shown below.

192.168.1.1
192.168.1.2
これら2台のコンピュータには、論理ネットワークのシードサーバントの役割を持たせる。よって、ネットワーク定義データの内容は、以下のようになっている。
192.168.1.1
192.168.1.2
Make these two computers act as seed servants for the logical network. Therefore, the contents of the network definition data are as follows.

SeedServent
192.168.1.1
192.168.1.2
また、PBTCは以下のように調整されている。ダウンリンクの最大数Nは「16」、サーバントIDのIPアドレスとポート番号をそのまま6バイトの整数としてサーバントID値とする。
SeedServant
192.168.1.1
192.168.1.2
The PBTC is adjusted as follows. The maximum number N of downlinks is “16”, and the IP address and port number of the servant ID are directly used as 6-byte integers as servant ID values.

図12に、起動しているコンピュータの部署と、IPアドレスと、用途とを示す。図12に示すように、
発信部署PのIPアドレス192.168.1.1〜192.168.1.2のコンピュータは、ニュース受信コンピュータ兼シードサーバントであり、
発信部署PのIPアドレス192.168.1.3〜192.168.1.4のコンピュータは、ニュース発信コンピュータであり、
受信部署S1のIPアドレス192.168.11.1〜192.168.11.4のコンピュータは、ニュース受信コンピュータであり、
受信部署S2のIPアドレス192.168.12.1〜192.168.12.3のコンピュータも、ニュース受信コンピュータである。
FIG. 12 shows the department of the activated computer, the IP address, and the usage. As shown in FIG.
The computer with the IP address 192.168.1.1 to 192.168.1.2 of the sending department P is a news receiving computer and seed servant,
The computers with IP addresses 192.168.1.3 to 192.168.1.4 of the sending department P are news sending computers,
The computers with IP addresses 192.168.11.1 to 192.168.11.4 of the receiving department S1 are news receiving computers,
The computers having the IP addresses 192.168.12.1 to 192.168.12.3 of the receiving department S2 are also news receiving computers.

図13に、図12に示すコンピュータの論理ネットワークの構成を示す。図13に示すように、
頂点のサーバントは、IPアドレス192.168.1.1のコンピュータのサーバントであり、
IPアドレス192.168.1.1のコンピュータのダウンサーバントは、IPアドレス192.168.1.2, 192.168.11.4, 192.168.12.2のコンピュータのサーバントであり、
IPアドレス192.168.1.2のコンピュータのダウンサーバントは、IPアドレス192.168.1.3, 192.168.1.4のコンピュータのサーバントであり、
IPアドレス192.168.11.4のコンピュータのダウンサーバントは、IPアドレス192.168.11.1〜192.168.11.3のコンピュータのサーバントであり、
IPアドレス192.168.12.2のコンピュータのダウンサーバントは、IPアドレス192.168.12.1, 192.168.12.3のコンピュータのサーバントである。
FIG. 13 shows the configuration of the logical network of the computer shown in FIG. As shown in FIG.
The vertex servant is the servant of the computer with IP address 192.168.1.1
The down servant of the computer with the IP address 192.168.1.1 is the servant of the computer with the IP addresses 192.168.1.2, 192.168.11.4, 192.168.12.2
The down servant of the computer with IP address 192.168.1.2 is the servant of the computer with IP addresses 192.168.1.3 and 192.168.1.4,
The down servant of the computer with the IP address 192.168.11.4 is the servant of the computer with the IP address 192.168.11.1 to 192.168.11.3,
The down servant of the computer with the IP address 192.168.12.2 is the servant of the computer with the IP address 192.168.12.1, 192.168.12.3.

ニュース配信システムの動作を、以下のシナリオ1,2を例にとって説明する。以下では、図13の論理ネットワークが構成されている状況を前提とする。   The operation of the news distribution system will be described by taking the following scenarios 1 and 2 as examples. In the following, it is assumed that the logical network in FIG. 13 is configured.

(シナリオ1:ニュース受信コンピュータ[192.168.12.4]の起動)
ニュース受信部署S2に属するニュース受信コンピュータ[192.168.12.4]が起動し、論理ネットワークに参加するまでの動作の流れを以下に示す。
(Scenario 1: Start of news receiving computer [192.168.12.4])
The flow of operations from when the news receiving computer [192.168.12.4] belonging to the news receiving department S2 starts up to join the logical network is shown below.

1.ニュース受信プログラムが起動し、サーバント[192.168.12.4]が生成される。 1. The news reception program starts and servant [192.168.12.4] is generated.

2.サーバント[192.168.12.4]は、対象サーバントリストに[192.168.1.1]と[192.168.1.2]を設定し(S101)、先頭のシードサーバントであるサーバント[192.168.1.1]のサーバントIDを取り出し(S103)、サーバント[192.168.1.1]に接続し(S105)、自サーバントID[192.168.12.4]を添付した参加要求を送信する(S109)。 2. The servant [192.168.12.4] sets [192.168.1.1] and [192.168.1.2] to the target servant list (S101), and extracts the servant ID of the servant [192.168.1.1], which is the first seed servant (S103). Then, it connects to the servant [192.168.1.1] (S105), and transmits a participation request attached with its own servant ID [192.168.12.4] (S109).

3.サーバント[192.168.1.1]は、サーバント[192.168.12.4]から参加要求を受信し(S201)、参加要求からサーバント[192.168.12.4]のサーバントIDを取り出し(S203)、サーバント[192.168.12.4]のサーバントID値を使って部分木を更新し(S205)、部分木の値域からパーティションとスロットを再計算し(S207)、サーバント[192.168.12.4]のサーバントID値が属するスロットを求め(S209)、求められたスロットが空か判断し(S211)、求められたスロットに割り当てられているサーバント[192.168.12.2]への接続指示を参加応答として返す(S215)。 3. The servant [192.168.1.1] receives the participation request from the servant [192.168.12.4] (S201), extracts the servant ID of the servant [192.168.12.4] from the participation request (S203), and then extracts the servant of the servant [192.168.12.4] The subtree is updated using the ID value (S205), the partition and the slot are recalculated from the range of the subtree (S207), and the slot to which the servant ID value of the servant [192.168.12.4] belongs is obtained (S209). It is determined whether the assigned slot is empty (S211), and a connection instruction to the servant [192.168.12.2] assigned to the obtained slot is returned as a participation response (S215).

これによって、サーバント[192.168.1.1]のサーバントID値の値域は
[192.168.1.1, 192.168.12.3]
から
[192.168.1.1, 192.168.12.4]
へ更新される。
As a result, the servant ID value range of the servant [192.168.1.1] is
[192.168.1.1, 192.168.12.3]
From
[192.168.1.1, 192.168.12.4]
Is updated.

サーバント[192.168.1.1]のパーティションは
[192.168.0.0, 192.168.15.255]
のままである。
The partition of the servant [192.168.1.1]
[192.168.0.0, 192.168.15.255]
Remains.

そして、図16(b)に示すスロット情報に基づいて、サーバント[192.168.12.4]が属するスロット[192.168.12.0, 192.168.12.255]を求める(S209)。図16(b)に示すように、スロット[192.168.12.0, 192.168.12.255]には既にサーバント[192.168.12.2]が存在する。よって、求められたスロットは空ではないと判断し(S211)、[192.168.12.2]への接続指示を参加応答として返す(S215)。   Then, based on the slot information shown in FIG. 16B, the slot [192.168.12.0, 192.168.12.255] to which the servant [192.168.12.4] belongs is obtained (S209). As shown in FIG. 16B, the servant [192.168.12.2] already exists in the slot [192.168.12.0, 192.168.12.255]. Therefore, it is determined that the obtained slot is not empty (S211), and a connection instruction to [192.168.12.2] is returned as a participation response (S215).

サーバント[192.168.12.4]は、サーバント[192.168.1.1]から参加応答を受信する(S111)。   The servant [192.168.12.4] receives the participation response from the servant [192.168.1.1] (S111).

参加応答の内容は「OK」ではないので、参加応答からサーバント[192.168.12.2]のサーバントIDを取り出し、このサーバントIDを新たな対象サーバントIDとし(S115)、サーバント[192.168.12.2]へ接続し(S105)、参加要求を送信する(S109)。   Since the content of the participation response is not “OK”, the servant ID of the servant [192.168.12.2] is extracted from the participation response, this servant ID is set as the new target servant ID (S115), and the servant [192.168.12.2] is connected. (S105), a participation request is transmitted (S109).

サーバント[192.168.12.2]は、サーバント[192.168.12.4]から参加要求を受信し(S201)、参加要求からサーバント[192.168.12.4]のサーバントIDを取り出し(S203)、サーバント[192.168.12.4]のサーバントID値を使って部分木を更新し(S205)、部分木の値域からパーティションとスロットを再計算し(S207)、サーバント[192.168.12.4]のサーバントID値が属するスロットを求め(S209)、求められたスロットが空か判断する(S211)。   The servant [192.168.12.2] receives the participation request from the servant [192.168.12.4] (S201), extracts the servant ID of the servant [192.168.12.4] from the participation request (S203), and then extracts the servant of the servant [192.168.12.4] The subtree is updated using the ID value (S205), the partition and the slot are recalculated from the range of the subtree (S207), and the slot to which the servant ID value of the servant [192.168.12.4] belongs is obtained (S209). It is determined whether the given slot is empty (S211).

具体的には、サーバント[192.168.12.2]のサーバントID値の値域は
[192.168.12.1, 192.168.12.3]
から
[192.168.12.1, 192.168.12.4]
へ更新される。
Specifically, the servant ID value range for servant [192.168.12.2] is
[192.168.12.1, 192.168.12.3]
From
[192.168.12.1, 192.168.12.4]
Is updated.

サーバント[192.168.12.2]のパーティションは
[192.168.12.0, 192.168.12.15]
のままである。
The partition of the servant [192.168.12.2]
[192.168.12.0, 192.168.12.15]
Remains.

サーバント[192.168.12.4]が属するスロットは空なので、サーバント[192.168.12.2]は、接続OKの参加応答を返す(S213)。この結果、サーバント[192.168.12.4]はサーバント[192.168.12.2]のダウンサーバントとなる。   Since the slot to which the servant [192.168.12.4] belongs is empty, the servant [192.168.12.2] returns a connection OK participation response (S213). As a result, the servant [192.168.12.4] becomes a down servant of the servant [192.168.12.2].

図14に、サーバント[192.168.12.4]がサーバント[192.168.12.2]のダウンサーバントとなった論理ネットワークを示す。   FIG. 14 shows a logical network in which the servant [192.168.12.4] is a down servant of the servant [192.168.12.2].

このように、サーバントの参加に応じて、論理ネットワークが自律的に構成される。従って、論理ネットワーク全体の構成情報を管理するなどのコストは不要である。   Thus, the logical network is autonomously configured in accordance with the participation of the servant. Therefore, the cost of managing the configuration information of the entire logical network is unnecessary.

(シナリオ2:ニュース発信コンピュータ[192.168.1.4]からのニュース発信)
ニュース発信部署Pに属するニュース発信コンピュータ[192.168.1.4](論理ネットワークに参加ずみ)から、ニュース発信を行った場合の動作の流れを以下に示す。
(Scenario 2: News transmission from news transmission computer [192.168.1.4])
The flow of operations when news is sent from the news sending computer [192.168.1.4] (after joining the logical network) belonging to the news sending department P is shown below.

ニュース発信プログラムはサーバント[192.168.1.4]を使って、ニュースをマルチキャストメッセージとして送信する。   The news transmission program uses the servant [192.168.1.4] to send the news as a multicast message.

サーバント[192.168.1.4]は、自己の記憶装置103に格納されているアップ/ダウンサーバント情報(図16(c))に基づいてアップリンクが存在するか調べ(S503)、アップリンクが存在するので、アップサーバント[192.168.1.2]へニュースをマルチキャストメッセージとして送信し(S505)、さらにダウンリンクが存在するか調べ(S507)、ダウンリンクが存在しないので、処理を終了する。   The servant [192.168.1.4] checks whether an uplink exists based on the up / down servant information (FIG. 16C) stored in its own storage device 103 (S503). Then, the news is transmitted to the up-servant [192.168.1.2] as a multicast message (S505), and it is further checked whether there is a downlink (S507). Since there is no downlink, the process is terminated.

サーバント[192.168.1.2]は、ニュース受信プログラムにニュースを渡し(S501)、ローカルの記憶装置103に格納されているアップ/ダウンサーバント情報(図16(d))に基づいてアップリンクが存在するか調べ(S503)、アップリンクが存在するので、アップサーバント[192.168.1.1]へニュースをマルチキャストメッセージとして送信し(S505)、さらにダウンリンクが存在するか調べ(S507)、ダウンリンクが存在するので、ダウンサーバント[192.168.1.3]へニュースを送信する(S509)。   The servant [192.168.1.2] passes the news to the news receiving program (S501), and whether there is an uplink based on the up / down servant information (FIG. 16 (d)) stored in the local storage device 103. Check (S503), since there is an uplink, send news as a multicast message to the up-servant [192.168.1.1] (S505), further check whether there is a downlink (S507), and because there is a downlink, News is transmitted to the down servant [192.168.1.3] (S509).

なお、サーバント[192.168.1.4]もダウンサーバントに該当するが、サーバント[192.168.1.4]はサーバント[192.168.1.2]が受信したニュースの送信元であるから、当該ニュースを送信する必要はない。このため、サーバント[192.168.1.4]は送信先から除かれる。つまり、ニュースを受信したサーバント[192.168.1.2]は、アップ/ダウンサーバント情報(図16(d))から送信先候補となるサーバントIDを取得するが、その送信先候補から当該ニュースの送信元であるサーバント[192.168.1.4]を除いた残りのサーバントにニュースを送信する。   Note that the servant [192.168.1.4] also corresponds to the down servant, but the servant [192.168.1.4] is the source of the news received by the servant [192.168.1.2], so there is no need to transmit the news. For this reason, the servant [192.168.1.4] is excluded from the transmission destination. In other words, the servant [192.168.1.2] that has received the news acquires the servant ID as the transmission destination candidate from the up / down servant information (FIG. 16D). Send news to the remaining servants except for one servant [192.168.1.4].

サーバント[192.168.1.1]は、ニュース受信プログラムにニュースを渡し(S501)、ローカルの記憶装置103に格納されているアップ/ダウンサーバント情報(図16(e))に基づいてアップリンクが存在するか調べ(S503)、アップリンクが存在しないのでステップS507へ進み、ダウンリンクが存在するか調べ(S507)、ダウンリンクが存在するので、ダウンサーバントであるサーバント[192.168.11.4]とサーバント[192.168.12.2]へニュースを送信する(S509)。   The servant [192.168.1.1] passes the news to the news receiving program (S501), and whether there is an uplink based on the up / down servant information (FIG. 16 (e)) stored in the local storage device 103. Check (S503), since there is no uplink, the process proceeds to step S507 to check whether there is a downlink (S507). Since there is a downlink, the servant [192.168.11.4] and the servant [192.168.12.2] that are the down servants. ] Is transmitted to] (S509).

なお、サーバント[192.168.1.2]もダウンサーバントに該当するが、サーバント[192.168.1.2]はサーバント[192.168.1.1]が受信したニュースの送信元であるから、当該ニュースを送信する必要はない。このため、サーバント[192.168.1.2]は送信先から除かれる。つまり、ニュースを受信したサーバント[192.168.1.1]は、アップ/ダウンサーバント情報(図16(e))から送信先候補となるサーバントIDを取得するが、その送信先候補から当該ニュースの送信元であるサーバント[192.168.1.2]を除いた残りのサーバントにニュースを送信する。   The servant [192.168.1.2] also corresponds to the down servant, but the servant [192.168.1.2] is the source of the news received by the servant [192.168.1.1], and therefore it is not necessary to transmit the news. For this reason, the servant [192.168.1.2] is excluded from the transmission destination. In other words, the servant [192.168.1.1] that has received the news acquires the servant ID as the transmission destination candidate from the up / down servant information (FIG. 16E). Send news to the remaining servants except for one servant [192.168.1.2].

サーバント[192.168.11.4]は、ニュース受信プログラムにニュースを渡し(S501)、ローカルの記憶装置103に格納されているアップ/ダウンサーバント情報(図16(f))に基づいてアップリンクが存在するか調べ(S503)、アップリンクが存在するが、アップサーバント[192.168.1.1]はメッセージ送信元であるため、かかるアップサーバント[192.168.1.1]にメッセージを送信することなく、ステップS507へ進む。   The servant [192.168.11.4] passes the news to the news receiving program (S501), and whether there is an uplink based on the up / down servant information (FIG. 16 (f)) stored in the local storage device 103. In step S503, an uplink exists, but since the up-servant [192.168.1.1] is a message transmission source, the process proceeds to step S507 without transmitting a message to the up-servant [192.168.1.1].

そして、ダウンリンクが存在するか調べ(S507)、ダウンサーバントであるサーバント[192.168.11.1]、[192.168.11.2]、及び[192.168.11.3]へニュースを送信する(S509)。   Then, it is checked whether a downlink exists (S507), and news is transmitted to the servants [192.168.11.1], [192.168.11.2], and [192.168.11.3] that are the down servants (S509).

サーバント[192.168.12.2]も、サーバント[192.168.11.4]と同様に、ダウンサーバントに該当するサーバント[192.168.12.1]、[192.168.12.3]、及びサーバント[192.168.12.4]へニュースを送信する(S509)。   Similarly to the servant [192.168.11.4], the servant [192.168.12.2] also transmits news to the servants [192.168.12.1], [192.168.12.3], and the servant [192.168.12.4] corresponding to the down servant (S509). ).

図15に、マルチキャストメッセージの転送状況を示す。図15に示すように、
サーバント[192.168.1.4]からサーバント[192.168.1.2]へ、
サーバント[192.168.1.2]からサーバント[192.168.1.1],[192.168.1.3]へ、
サーバント[192.168.1.1]からサーバント[192.168.11.4],[192.168.12.2]へ、
サーバント[192.168.11.4]からサーバント[192.168.11.1],[192.168.11.2],[192.168.11.3]へ、
サーバント[192.168.12.2]からサーバント[192.168.12.1],[192.168.12.3],[192.168.12.4]へ、
マルチキャストメッセージが順次、転送される。
FIG. 15 shows a multicast message transfer status. As shown in FIG.
From servant [192.168.1.4] to servant [192.168.1.2]
From servant [192.168.1.2] to servant [192.168.1.1], [192.168.1.3]
From servant [192.168.1.1] to servant [192.168.11.4], [192.168.12.2]
From servant [192.168.11.4] to servant [192.168.11.1], [192.168.11.2], [192.168.11.3]
From servant [192.168.12.2] to servant [192.168.12.1], [192.168.12.3], [192.168.12.4]
Multicast messages are transferred sequentially.

マルチキャストメッセージを受信した各ニュース受信プログラムは、ニュースを画面上に表示する。   Each news receiving program that has received the multicast message displays the news on the screen.

このようにして、IPマルチキャスト通信をサポートしていないネットワーク機器であっても、設定・維持のためのコストをかけることなく、またサブネット単位などの物理的なネットワーク構成に依存することなく、マルチキャストが可能となる。   In this way, even for network devices that do not support IP multicast communication, multicast can be performed without incurring costs for setting and maintenance, and without depending on a physical network configuration such as a subnet unit. It becomes possible.

(a)はサーバント、シードサーバントを説明するための図、(b)はアップサーバント、ダウンサーバント、アップリンク、ダウンリンクを説明するための図である。(A) is a figure for demonstrating a servant and a seed servant, (b) is a figure for demonstrating an up servant, a down servant, an uplink, and a downlink. サーバントID値の値域、パーティション、パーティションの幅、スロットを説明するための図である。It is a figure for demonstrating the range of a servant ID value, a partition, the width of a partition, and a slot. (a)は論理ネットワーク構成とそれに対応するサーバントID値、パーティション、スロットを説明し、(b)は一部のサーバントが離脱・リンクが切断した場合について説明するための図である。(A) illustrates a logical network configuration and corresponding servant ID values, partitions, and slots, and (b) illustrates a case where some servants leave and links are disconnected. コネクター処理の流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of a connector process. リスナー処理の流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of a listener process. アップリンク切断時の処理の流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of the process at the time of uplink disconnection. ツリー最適化処理の流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of a tree optimization process. マルチキャストメッセージのルーティング処理の流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of the routing process of a multicast message. ユニキャストメッセージのルーティング処理の流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of the routing process of a unicast message. ニュース配信システムのシステム構成を示す図である。It is a figure which shows the system configuration | structure of a news delivery system. ニュース配信システムに関わる部分のネットワークの構成を示す図である。It is a figure which shows the structure of the network of the part in connection with a news delivery system. 起動しているコンピュータの部署と、IPアドレスと、用途とを示す図である。It is a figure which shows the department of the computer which has started, an IP address, and a use. 図12に示すコンピュータの論理ネットワークの構成を示す図である。It is a figure which shows the structure of the logical network of the computer shown in FIG. 図13に示す論理ネットワークに、サーバント[192.168.12.4]が参加して、サーバント[192.168.12.2]のダウンサーバントとなった論理ネットワークを示す図である。FIG. 14 is a diagram illustrating a logical network in which a servant [192.168.12.4] participates in the logical network illustrated in FIG. 13 and becomes a servant [192.168.12.2] down-servant. 図14に示す論理ネットワークにおけるマルチキャストメッセージの転送状況を示す図である。It is a figure which shows the transfer condition of the multicast message in the logical network shown in FIG. (a)はネットワーク定義データを説明し、(b)はスロット情報を説明し、(c)〜(f)はアップ/ダウンサーバント情報を説明するための図である。(A) explains network definition data, (b) explains slot information, and (c) to (f) are diagrams for explaining up / down servant information.

符号の説明Explanation of symbols

101…主制御部(CPU)
103…記憶装置
105…入出力制御部
107…送受信部
109…表示装置
111…ニュース送信プログラム
113…ニュース受信プログラム
115…PBTC通信ライブラリ
117…ネットワーク定義データ
101 ... Main control unit (CPU)
DESCRIPTION OF SYMBOLS 103 ... Memory | storage device 105 ... Input / output control part 107 ... Transmission / reception part 109 ... Display apparatus 111 ... News transmission program 113 ... News reception program 115 ... PBTC communication library 117 ... Network definition data

Claims (3)

論理ネットワーク上でユニキャストメッセージを送信するユニキャストメッセージ送信方法であって、
メッセージを受信したサーバントが、
自サーバントIDと、パーティションと、前記パーティションに含まれる各スロットと、アップサーバントと、前記各スロットに属するダウンサーバントが存在する場合は当該ダウンサーバントとを記憶するステップと、
受信した前記メッセージから宛先サーバントIDを読み取るステップと、
前記宛先サーバントIDと前記自サーバントIDとを比較するステップと、
前記宛先サーバントIDと前記自サーバントIDとが一致する場合に、前記メッセージを上位アプリケーションにわたすステップと、
前記宛先サーバントIDと前記自サーバントIDとが一致しない場合に、前記宛先サーバントIDを一意の整数値に写像したサーバントID値と前記パーティションとを比較し、
前記サーバントID値が前記パーティションの外の場合は、前記アップサーバントに前記メッセージを送信し、
前記サーバントID値が前記パーティション内である場合は、前記アップサーバントへ前記メッセージを送信することに加えて、前記サーバントID値と前記各スロットとを比較し、前記サーバントID値が属する前記スロットの前記ダウンサーバントに前記メッセージを送信するステップと、
を有するユニキャストメッセージ送信方法。
A unicast message transmission method for transmitting a unicast message on a logical network, comprising:
The servant that received the message
Storing the own servant ID, the partition, each slot included in the partition, the up servant, and the down servant if there is a down servant belonging to each slot;
Reading a destination servant ID from the received message;
Comparing the destination servant ID with the self-servant ID;
Passing the message to a higher-level application if the destination servant ID and the self-servant ID match;
When the destination servant ID and the self-servant ID do not match, the servant ID value obtained by mapping the destination servant ID to a unique integer value is compared with the partition,
If the servant ID value is outside the partition, send the message to the upservant;
If the servant ID value is in the partition, in addition to sending the message to the up-servant, the servant ID value is compared with each slot, and the slot of the slot to which the servant ID value belongs Sending the message to a down servant;
Unicast message transmission method comprising:
論理ネットワーク上でユニキャストメッセージを送信するコンピュータが実行するユニキャストメッセージ送信プログラムであって、
メッセージを受信した前記コンピュータに、
自サーバントIDと、パーティションと、前記パーティションに含まれる各スロットと、アップサーバントと、前記各スロットに属するダウンサーバントが存在する場合は当該ダウンサーバントとを記憶するステップと、
受信した前記メッセージから宛先サーバントIDを読み取るステップと、
前記宛先サーバントIDと前記自サーバントIDとを比較するステップと、
前記宛先サーバントIDと前記自サーバントIDとが一致する場合に、前記メッセージを上位アプリケーションにわたすステップと、
前記宛先サーバントIDと前記自サーバントIDとが一致しない場合に、前記宛先サーバントIDを一意の整数値に写像したサーバントID値と前記パーティションとを比較し、
前記サーバントID値が前記パーティションの外の場合は、前記アップサーバントに前記メッセージを送信し、
前記サーバントID値が前記パーティション内である場合は、前記アップサーバントへ前記メッセージを送信することに加えて、前記サーバントID値と前記各スロットとを比較し、前記サーバントID値が属する前記スロットの前記ダウンサーバントに前記メッセージを送信するステップと、
を実行させるためのユニキャストメッセージ送信プログラム。
A unicast message transmission program executed by a computer that transmits a unicast message on a logical network,
To the computer that received the message,
Storing the own servant ID, the partition, each slot included in the partition, the up servant, and the down servant if there is a down servant belonging to each slot;
Reading a destination servant ID from the received message;
Comparing the destination servant ID with the own servant ID;
Passing the message to a higher-level application when the destination servant ID and the own servant ID match;
When the destination servant ID and the own servant ID do not match, the servant ID value obtained by mapping the destination servant ID to a unique integer value is compared with the partition;
If the servant ID value is outside the partition, send the message to the upservant;
If the servant ID value is in the partition, in addition to sending the message to the up-servant, the servant ID value is compared with each slot, and the slot of the slot to which the servant ID value belongs. Sending the message to a down servant;
Unicast message sending program to execute
論理ネットワーク上でユニキャストメッセージを送信するユニキャストメッセージ送信装置であって、
メッセージを受信する受信手段と、
自サーバントIDと、パーティションと、前記パーティションに含まれる各スロットと、アップサーバントと、前記各スロットに属するダウンサーバントが存在する場合は当該ダウンサーバントとを記憶する記憶手段と、
受信した前記メッセージから宛先サーバントIDを読み取る読み取り手段と、
前記宛先サーバントIDと前記自サーバントIDとを比較する宛先サーバントID・自サーバントID比較手段と、
前記宛先サーバントIDと前記自サーバントIDとが一致する場合に、前記メッセージを上位アプリケーションにわたす手段と、
前記宛先サーバントIDと前記自サーバントIDとが一致しない場合に、前記宛先サーバントIDを一意の整数値に写像したサーバントID値と前記パーティションとを比較するサーバントID値・パーティション比較手段と、
前記サーバントID値が前記パーティションの外の場合は、前記アップサーバントに前記メッセージを送信するアップサーバント向け送信手段と、
前記サーバントID値が前記パーティション内である場合は、前記アップサーバントへ前記メッセージを送信することに加えて、前記サーバントID値と前記各スロットとを比較し、前記サーバントID値が属する前記スロットの前記ダウンサーバントに前記メッセージを送信するダウンサーバント向け送信手段と、
を有するユニキャストメッセージ送信装置。
A unicast message transmitting apparatus for transmitting a unicast message on a logical network,
Receiving means for receiving the message;
Storage means for storing the own servant ID, the partition, each slot included in the partition, the up servant, and the down servant if there is a down servant belonging to each slot;
Reading means for reading a destination servant ID from the received message;
Destination servant ID / own servant ID comparing means for comparing the destination servant ID and the own servant ID;
Means for passing the message to a higher-level application when the destination servant ID matches the own servant ID;
A servant ID value / partition comparison unit that compares the partition with a servant ID value obtained by mapping the destination servant ID to a unique integer value when the destination servant ID and the self-servant ID do not match;
If the servant ID value is outside the partition, a transmission means for up-servant that transmits the message to the up-servant;
If the servant ID value is in the partition, in addition to sending the message to the up-servant, the servant ID value is compared with each slot, and the slot of the slot to which the servant ID value belongs A transmission means for down-servant that transmits the message to the down-servant;
A unicast message transmission apparatus having:
JP2006107471A 2006-04-10 2006-04-10 Message transmission method, message transmission program, and message transmission apparatus Expired - Fee Related JP4237196B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006107471A JP4237196B2 (en) 2006-04-10 2006-04-10 Message transmission method, message transmission program, and message transmission apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006107471A JP4237196B2 (en) 2006-04-10 2006-04-10 Message transmission method, message transmission program, and message transmission apparatus

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003323683A Division JP3923931B2 (en) 2003-09-16 2003-09-16 Participation request method, participation reception method, message transmission method, participation request program, participation reception program, message transmission program, participation request device, participation reception device, and message transmission device

Publications (2)

Publication Number Publication Date
JP2006222987A JP2006222987A (en) 2006-08-24
JP4237196B2 true JP4237196B2 (en) 2009-03-11

Family

ID=36984928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006107471A Expired - Fee Related JP4237196B2 (en) 2006-04-10 2006-04-10 Message transmission method, message transmission program, and message transmission apparatus

Country Status (1)

Country Link
JP (1) JP4237196B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5260864B2 (en) 2006-12-07 2013-08-14 Necディスプレイソリューションズ株式会社 Projector, terminal, conference system, tree structure switching method and program
EP2903347A1 (en) 2012-09-27 2015-08-05 NEC Corporation Network, network node, distribution method, and network node program

Also Published As

Publication number Publication date
JP2006222987A (en) 2006-08-24

Similar Documents

Publication Publication Date Title
JP4587446B2 (en) NETWORK SYSTEM, SWITCH DEVICE, ROUTE MANAGEMENT SERVER, ITS CONTROL METHOD, COMPUTER PROGRAM, AND COMPUTER-READABLE STORAGE MEDIUM
JP4416733B2 (en) Virtual multicast routing for clusters with state synchronization
KR100645733B1 (en) Automatic configuration of network for monitoring
US8549120B2 (en) System and method for location based address assignment in the distribution of traffic in a virtual gateway
US20060206611A1 (en) Method and system for managing programs with network address
US20090077251A1 (en) Protocol for enabling dynamic and hierarchical interconnection of autonomous federations of enterprise service buses
JPH0548647A (en) Method and device for distributing electronic mail document
US20160173367A1 (en) Redundant Pathways For Network Elements
JPH09153892A (en) Method and system for communicating message in wormhole network
JP4789425B2 (en) Route table synchronization method, network device, and route table synchronization program
KR19980070065A (en) System and method for managing the processing of relatively large data objects in a communication stack
CN103312605A (en) Gateway device identity setting method and management gateway device
US8260894B2 (en) Method for balancing load among subsystems in communication network system of bus network structure
US20020198972A1 (en) Pre-boot multicast address management protocol for a computer network
US20080137638A1 (en) Communication Network System Of Bus Network Structure And Message Routing Method Using The System
US10454884B2 (en) Terminal and multicast address distribution server
US8346892B2 (en) Communication network system of bus network structure and method using the communication network system
JP4237196B2 (en) Message transmission method, message transmission program, and message transmission apparatus
CN102710527B (en) Switch and management server supporting flexible expansion of services
JP3923931B2 (en) Participation request method, participation reception method, message transmission method, participation request program, participation reception program, message transmission program, participation request device, participation reception device, and message transmission device
CN113452600A (en) Cross-region message communication method and device, electronic equipment and storage medium
US9432475B2 (en) Communication network system of bus network structure and method for transmitting and receiving data using the system
JP4353827B2 (en) Multicast routing information transmission method and multicast routing information transmission program
JP2006174399A (en) Communication method in group, system and recording medium
US20160365987A1 (en) Personal computer network

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080428

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081217

R150 Certificate of patent or registration of utility model

Ref document number: 4237196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121226

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131226

Year of fee payment: 5

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

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