WO2004066569A1 - Communication device, network system, and link generation method - Google Patents

Communication device, network system, and link generation method Download PDF

Info

Publication number
WO2004066569A1
WO2004066569A1 PCT/JP2003/012549 JP0312549W WO2004066569A1 WO 2004066569 A1 WO2004066569 A1 WO 2004066569A1 JP 0312549 W JP0312549 W JP 0312549W WO 2004066569 A1 WO2004066569 A1 WO 2004066569A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
link
network
links
nodes
Prior art date
Application number
PCT/JP2003/012549
Other languages
French (fr)
Japanese (ja)
Inventor
Akihiro Ito
Tomoki Sekiguchi
Naoki Utsunomiya
Original Assignee
Hitachi, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to AU2003271071A priority Critical patent/AU2003271071A1/en
Priority to JP2004567149A priority patent/JP4231002B2/en
Publication of WO2004066569A1 publication Critical patent/WO2004066569A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/824Applicable to portable or mobile terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/15Flow control; Congestion control in relation to multipoint traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/829Topology based

Definitions

  • the node basic information of the nodes constituting the network cluster is linked to the entire network class. Transfer using. Then, some of the nodes constituting the network cluster broadcast the node basic information. By limiting the nodes that perform broadcast processing, the network load can be reduced. The node that performs the broadcast process is determined from the network information.
  • Fig. 4 (a) and Fig. 4 (b) show the link objects generated in a certain node.
  • Figs. 16 (a) and 16 (b) show different network information update messages.
  • node 4 holds three link objects 401, 402, and 1001 (604).
  • the link management unit of the node 4 transmits a network information update message to the established link between the nodes (the link object corresponding to the link object 401 and __10.01).
  • the method for creating the network information update message is the same as the processing in step 606.
  • node 4 links network information update message 16 01
  • the link is transmitted to the internode link corresponding to the object 1001
  • the network information update message 1662 is transmitted to the link between the nodes corresponding to the link object 401 (step 1505). From step 1507).
  • Node 4 sends the AP message to Node 2 in hop-by-hop mode
  • the message processing unit of the node 4 selects a link object including the network information of the node 2 from the link objects held by the link generation unit. If there is more than one, select the link object containing the network information that minimizes the number of hops (1701). If there is no link object that satisfies the conditions, the transmission processing is regarded as an error and the actual transmission is not performed (1705). In this example, the link object 4 0 1 is selected.
  • Node disappearance processing is the same as in the second embodiment.
  • the maximum number of links can be set for each node, so that the above network topology takes into consideration the performance and resources of the node.

Abstract

Each node sets the maximum number of its links according to its performance and resource in advance. A node which tries connection to a network cluster determines a node to be actually connected from the node basic information including the number of used links and the maximum number of links of the node constituting the network cluster.

Description

通信装置、 ネッ トワークシステム及びリンク生成方法  Communication device, network system, and link generation method
技術分野 Technical field
本発明は、 (Peer-to- Peer)型自立分散システムに関し、 特にネッ ト ワークの形成方法に関する。 明 田  The present invention relates to a (Peer-to-Peer) type autonomous distributed system, and more particularly, to a network forming method. Akita
背景技術  Background art
通信に集中型サーバが介在せず、 ネッ 卜ワーク上のノード同士が直接 通信する P2P型ネッ トワークシステムにおいては、ネッ トワーク全体を対 象とした検索処理を行う場合等、 検索要求メッセージをネッ トワーク全 体にブロードキャストする必要がある。 通常ブロードキャスト処理は、 検索要求メッセージ等をノードからノードへ転送していく方法で行われ ている。 このような処理を可能とするため、 ネッ トワーク上のすべての ノードがリンクを通じて互いに接続されているような、 ノード間リンク を形成し、 上記リンクに基づいた適切なメッセージルーティングを行う 必要がある。 In a P2P network system in which nodes on the network communicate directly with each other without a centralized server intervening in the communication, search request messages are sent to the network when searching for the entire network. Must be broadcast to the whole. Normally, broadcast processing is performed by transferring a search request message or the like from node to node. In order to enable such processing, it is necessary to form an inter-node link such that all nodes on the network are connected to each other through the link, and to perform appropriate message routing based on the link.
リ ン ク の形成方法 と し て 、 A Scalable Content-Addressable Network(SlGCOMM 2001 Proceed ing)には仮想空間のタイル状分割を考え ることによってリンクを形成するノ一ドを選択するァルゴリズムが論じ られている。 また特開 2002- 171283号公報では GPS(Global Positioning System)装置を用いて、地理的に近接するノ一ド同士が上記リンクを形成 する方法が開示される。  As a link formation method, A Scalable Content-Addressable Network (SlGCOMM 2001 Proceeding) discusses an algorithm for selecting a node that forms a link by considering a tiled division of a virtual space. I have. Japanese Patent Application Laid-Open No. 2002-171283 discloses a method in which nodes that are geographically close to each other form the above-mentioned link using a GPS (Global Positioning System) device.
P2P型ネッ トヮ一クシステムでは、 ノードの移動、 消滅時にネッ トヮ一 ク トポロジを変更する必要がある。特に無線 LANに代表されるモバイル環 境ではネ ッ ト ワーク トポロジ変更が頻繁に起こる。 A Scalable Content- Addressable Networkでは、 ノ一ド消滅時等のネッ トワーク トポ ロジ変更処理が複雑である。 In a P2P network system, when a node moves or disappears, the network Network topology needs to be changed. Particularly in a mobile environment represented by wireless LAN, network topology changes frequently occur. A In the Scalable Content-Addressable Network, the process of changing the network topology when a node disappears is complicated.
また、 通常上記リンクとして TCPリンクを利用するが、 計算機資源が貧 弱な小型端末では TCPリンクの使用数の上限が厳しい。 たとえ TCPリンク 数に余裕があつたとしても、 リンク数を制限しなければ特定端末への集 中アクセスが発生し、 性能劣化を招く恐れがある。 従って、 リンク数制 御は P2P型ネッ トワークシステムにおいて重要であるが、従来技術ではこ れらの問題が考慮されておらず、 端末ごとにリンク数を設定することが できない。  Normally, a TCP link is used as the above link. However, small terminals with poor computer resources have strict upper limits on the number of TCP links that can be used. Even if the number of TCP links is sufficient, if the number of links is not limited, centralized access to specific terminals will occur, which may lead to performance degradation. Therefore, although the control of the number of links is important in a P2P network system, these problems are not considered in the conventional technology, and the number of links cannot be set for each terminal.
ホップ数(あるメッセージを送信するとさのメッセージ転送回数)がな るべく少なくなるようなノード間リンクを容易に形成することも十分考 慮されていない。  It has not been sufficiently considered to easily form an inter-node link that minimizes the number of hops (the number of message transfers when a certain message is transmitted).
さらに特開 2002-171283号公報では、リンクを確立するノ一ドを選択す るときに物理位置情報を利用しているので、 物理位置情報を得る手段を 持たないシステムには適用できない。 発明の開示 本発明は.. ノード生成、 消滅時のネッ トワーク トポロジ変化に簡単な ァルゴリズムで柔軟に対応することを目的とする。  Furthermore, in Japanese Patent Application Laid-Open No. 2002-171283, since the physical location information is used when selecting a node for establishing a link, it cannot be applied to a system having no means for obtaining the physical location information. DISCLOSURE OF THE INVENTION An object of the present invention is to flexibly cope with a change in network topology at the time of node generation and disappearance with a simple algorithm.
また、 さらにノ一ド間リンク数の制限を考慮したリンクを容易に形成 することができる P2Pネッ トワークシステムを提供することを目的とす る。  It is another object of the present invention to provide a P2P network system capable of easily forming a link in consideration of a limit on the number of links between nodes.
本発明の他の目的は、 メッセ一ジ転送に必要なホップ数ができるだけ 小さくなるような最適なネッ トワーク トポロジを、 P 2Pネットワークシス テムにおいて自動生成することにある。 Another object of the present invention is to minimize the number of hops required for message transfer. The goal is to automatically generate an optimal network topology that will be smaller in a P2P network system.
本発明では、 P 2P型ネッ トワークシステムにおいて、 第 1ノードが第 2 ノードとリンクを確立するときに、 ネッ トワーク上に存在するノードの 最大リンク数と現状リンク数を含むノード基本情報から第 2ノードを決 定する。 このリンク確立手段によって、 各ノードが使用するリンク数を 考慮した効率的なネッ トワーク トボロジの構築が可能となる。  According to the present invention, in the P2P network system, when the first node establishes a link with the second node, the first node uses the second basic information based on the node basic information including the maximum number of links of the node existing on the network and the current number of links. Determine the node. By this link establishment means, it is possible to construct an efficient network topology considering the number of links used by each node.
上記ノード基本情報の最大リンク数は、 C P U性能、 ネッ トワーク性 能を含むノード性能やノードが保持するデータの量、 データの質から決 定し、 各ノードに保持させておく。 これにより、 リンク数を制限すべき 端末の制限リンク数を考慮したネッ トワーク トポロジを容易に確立する ことや、 負荷に耐え得る高性能端末にアクセスを集中するなどの端末性 能を考慮したネッ トワーク制御やアプリケーションの効率化を図ること が可能になる。  The maximum number of links in the basic node information is determined based on the node performance including CPU performance and network performance, the amount of data held by the node, and the quality of the data, and is held by each node. This makes it easy to establish a network topology that takes into account the limited number of links for terminals that should limit the number of links, and to a network that takes into account terminal performance such as concentrating access to high-performance terminals that can withstand loads. Control and application efficiency can be improved.
また、 ノード基本情報に基き、 現状リンク数が最大リンク数を超えて いない新規ノ一ドの中で、 現状リンク数が最大のノ一ドをリンク確立の 相手ノードとして選択することでメッセージ転送に必要なホップ数を小 さくでさる。  Also, based on the basic node information, among the new nodes whose current number of links does not exceed the maximum number of links, the node with the highest number of current links is selected as the partner node for link establishment, and message transfer is performed. Reduce the number of hops required.
また本発明では、 ネッ トワーククラスタを構成する各ノードは、 ネッ 卜ワーククラスタ内ノードのノード名と宛先を含むネッ トワーク情報を 互いに交換することによって前記ネッ トワーククラス夕内のルーティン グ情報を最新に保つ。 このネッ トワーク情報は、 ノード間リンクが確立 されたとき、 及びノード間リンクが消減したとき、 を契機としてノード 間リンクを使用してネッ トヮ一ククラスタ全体に転送される。 ルーティ ングを効率的に行うために、 上記ネッ トワーク情報には目的のノードに 到達するまでのノード間リンクのホップ数を含ませる。 更に本発明は、 各ノードが前記ノード基本情報をブロードキャストす ることによって、 ブロードキャストが到達する範囲に存在するノード同 士が、確実に互いを認識しノ一ド間リンクを確立することを可能とする。 Further, in the present invention, each node constituting the network cluster exchanges the network information including the node name and the destination of the node in the network cluster with each other to update the routing information in the network class. keep. This network information is transferred to the entire network cluster using the inter-node link when the inter-node link is established or when the inter-node link is lost. In order to carry out routing efficiently, the above network information includes the number of hops of the inter-node link until reaching the target node. Further, the present invention makes it possible for each node to broadcast the node basic information so that nodes existing in a range where the broadcast reaches can reliably recognize each other and establish a node-to-node link. I do.
また本発明の変形例では、 上記ネッ トワーク情報にノード基本情報を 含めることによって、 ネッ トワーククラス夕全体にそのネッ トヮ一クク ラスタを構成するノ一ドのノ一ド基本情報をノード間リンクを使用して 転送する。 そして、 上記ネッ トワーククラスタを構成するノードの一部 が、 前記ノード基本情報をブロードキャストする。 ブロードキャスト処 理を行うノードを制限することによって、 ネッ トワーク負荷を抑えるこ とができる。 ブロードキャスト処理を行うノードは前記ネッ トワーク情 報から決定する。  Further, in a modified example of the present invention, by including the node basic information in the network information, the node basic information of the nodes constituting the network cluster is linked to the entire network class. Transfer using. Then, some of the nodes constituting the network cluster broadcast the node basic information. By limiting the nodes that perform broadcast processing, the network load can be reduced. The node that performs the broadcast process is determined from the network information.
また本発明の別の変形例では、 we U - knownノードにネッ 卜ワーククラ スタを構成するノードのノード基本情報を問い合わせることにより、 上 記ブロードキャスト処理を不要とする。  Further, in another modified example of the present invention, the above broadcast processing is unnecessary by inquiring the we U-known node about the node basic information of the nodes constituting the network cluster.
 ;
'図面の簡単な説明 図 1は、 本発明の実施例におけるノードの構成を示す図。  BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram showing a configuration of a node according to an embodiment of the present invention.
図 2は、 ノード群の接続状態を模式的に示す図。 FIG. 2 is a diagram schematically illustrating a connection state of a node group.
図 3は、 ノ一ド基本情報テーブルを示す図。 FIG. 3 is a diagram showing a node basic information table.
図 4 ( a ) 、 図 4 ( b ) は、 あるノード内に生成されるリンクオブジェ ク 卜を示す図。 Fig. 4 (a) and Fig. 4 (b) show the link objects generated in a certain node.
図 5は、 ノ一ド間 ク生 _成処理を _¾_す— g_ チヤ一ト 1。 . — Figure 5 shows the node-to-node generation process. G_chart1. . —
図 6は、 ノード間リンク生成処理を示すフロ一チャート 2。 FIG. 6 is a flowchart 2 showing an inter-node link generation process.
図 7は、 接続要求のデータ構造を示す図。 FIG. 7 is a diagram showing a data structure of a connection request.
図 8は、 接続応答のデータ構造を示す図。 図 9は、 別のノード内に構成されるリンクオブジェク トを示す図。 FIG. 8 is a diagram showing a data structure of a connection response. Figure 9 shows a link object configured in another node.
図 1 0は、 別のリンクオブジェク トを示す図。 Figure 10 shows another link object.
図 1 1 ( a) 、 図 1 1 (b) は、 あるノードが送信するネッ トワーク情 報更新メッセージを示す図。 FIGS. 11A and 11B show a network information update message transmitted by a certain node.
図 1 2は、 ネッ トワーク情報更新メッセ一ジ転送処理を表すフローチヤ 一卜。 Figure 12 is a flow chart showing the network information update message transfer process.
図 1 3 ( a) 、 図 1 3 (b) 、 図 1 3 ( c ) は、 別のノード内に構成さ れるリンクオブジェク 卜を示す図。 FIGS. 13 (a), 13 (b), and 13 (c) are diagrams showing link objects configured in different nodes.
図 1 4は、 別のネッ トワーク情報更新メッセ一ジを示す図。 Figure 14 shows another network information update message.
図 1 5は、 ノード消滅時のノード間リンク削除処理を示す図。 Figure 15 is a diagram showing the inter-node link deletion process when a node disappears.
図 1 6 ( a) 、 図 1 6 (b) は、 別のネッ トワーク情報更新メッセ一ジ を示す図。 Figs. 16 (a) and 16 (b) show different network information update messages.
図 1 7 ( a) は、 アプリケ一シヨンメッセージの送信処理を示すフロー チヤ一卜。 Fig. 17 (a) is a flowchart showing the transmission process of an application message.
図 1 7 ( b ) は、 アプリケーションメッセージの受信処理を示すフロ一 チャート。 発明を実施するための最良の形態 Fig. 17 (b) is a flowchart showing the process of receiving an application message. BEST MODE FOR CARRYING OUT THE INVENTION
<実施例 1 >  <Example 1>
以下、 本発明の実施例を図面を用いて詳細に説明する。 図 1はノード Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Figure 1 is a node
1 0 1の一例としての携帯端末のハードウエア構成と、 各ノードが備え るノード管理のためのソフトウエア構成を示す。 A hardware configuration of a portable terminal as an example of 101 and a software configuration for node management provided in each node are shown.
記憶装置 1 0 7に格納されるノード管理プログラム 1 Q_2は、 メッセ_ ージ処理部 1 0 3、 リンク生成部 1 0 4とリンク管理部とを含む。 メッ セージ処理部 1 0 3は、 ノード間リンクを通して送られてきたメッセ一 ジを、実際にメッセージ処理を行うコンポーネントに配送する。例えば、 上記メッセージがノード間リンク管理用制御メッセージの場合リンク管 理部 1 0 5に配送し、 アプリケーション用デ一タメッセージの場合当該 アプリケーションに配送する。 リンク生成部 1 0 4は、 ノ一ド間リンク の生成処理を行う。 リンク管理部 1 0 5は、 ネッ トワーク内に存在する ノードの基本情報(ノード名、 最大リンク数(使用可能な最大リンク数)、 使用リンク数(現在使用中のリンク数)、宛先)を保持するノ一ド基本情報 テーブルの管理および、 リンクオブジェク 卜の管理を行う。 The node management program 1Q_2 stored in the storage device 107 includes a message processing unit 103, a link generation unit 104, and a link management unit. The message processing unit 103 delivers the message sent through the inter-node link to the component that actually performs the message processing. For example, If the above message is an inter-node link management control message, it is delivered to the link management unit 105, and if it is an application data message, it is delivered to the application. The link generator 104 performs a process of generating a link between nodes. The link management unit 105 stores the basic information (node name, maximum number of links (maximum number of usable links), number of used links (number of currently used links), destination) of the nodes existing in the network. It manages the node basic information table and the linked objects.
上記ノード基本情報テーブルは、 ノード間リンクを新規確立するとき ノード間リンク確立相手を選択するヒン卜として使用する。 リンクォブ ジェク トはノ一ド間リンクに対応するオブジェク トであり、 当該リンク を使用して通信可能なすべてのノードのネッ トワーク情報(ノード名、ノ 一ド間リンクを使用して概ノードに到達するために必要なホップ数、 概 ノ一ドの宛先)を含む。このリンクオブジェク トは当該ノード間リンクを 確立する両ノードに生成される。 また、 リンクオブジェク トは仮想的な ノード間リンクを表すものであり、実際のノ一ド間通信手段は任意(TCP、 UDPなどが使用可能)である。  The above-mentioned node basic information table is used as a hint for selecting an inter-node link establishment partner when newly establishing an inter-node link. A link object is an object corresponding to a node-to-node link, and network information of all nodes that can communicate using the link (node name, approximate node is reached using the node-to-node link). Number of hops required to perform the operation, and the approximate node destination). This link object is created at both nodes that establish the link between the nodes. The link object represents a virtual link between nodes, and the actual means of communication between nodes is arbitrary (TCP, UDP, etc. can be used).
上記最大リンク数はノードごとに設定可能なパラメ一夕である。 例え ば、 より大きな負荷に耐えうるノード(CPU性能ゃネッ トワーク性能が高 いノード)の最大リンク数を通常ノードより大きく設定することによつ て 性能面での効率化を図ることができる。 また、 デ一夕ベースサーバ などのように多くの情報を有するノ一ドや-. 質の高い情報を有するノ一 ドの最大リンク数を大きく設定することで、 アプリケ一ションの効率化 ^ を図ることができ至。  The maximum number of links is a parameter that can be set for each node. For example, by setting the maximum number of links of a node that can withstand a larger load (a node with high CPU performance / high network performance) larger than that of a normal node, efficiency in performance can be improved. In addition, by increasing the maximum number of links for nodes that have a lot of information such as a data base server and nodes that have high-quality information, application efficiency can be improved. It can be planned.
C P U 1 0 8はヮ一クメモリ 1 0 9を経由してノード管理プログラム 1 0 2を記憶装置 1 0 7から順次読み出して実行する。 C P U 1 0 8が 行うデータ処理結果は必要に応じてディスプレイ 1 1 0に可視的に出力 される。 ノードの処理にユーザの入力が必要なときにはキーポード 1 1 2からユーザの入力を受け取り C P U 1 0 8で処理する。 1 1 1は他の ノードと通信を行うための無線通信装置であり、 1 1 3はノード管理プ ログラムが C D— R O M等の記憶媒体に格納されている場合に、 媒体か らそれらを読み出して記憶装置に格納する際に使用される。 ノードの内 部に含まれる各コンポーネントはバス 1 1 4によって相互に通信可能に 接続される。 図 1では携帯端末の構成を示したがノード管理プログラム が動作できる環境であればキーポード、 ディスプレイ媒体リーダライタ 等はなくてもよい。 また本実施例ではノード管理をプログラムと C P U の処理で実現させているが、 ノ一ド管理プログラムの各機能モジュール を集積回路化し、 ハードウェア回路群で構成してもよい。 The CPU 108 sequentially reads out the node management program 102 from the storage device 107 via the backup memory 109 and executes it. The result of data processing performed by the CPU 108 is visually output to the display 110 as necessary. Is done. When a user's input is required for the processing of the node, the user's input is received from the keyboard 112 and processed by the CPU 108. 1 1 1 is a wireless communication device for communicating with other nodes, and 1 1 3 is a node management program that reads out from a storage medium such as a CD-ROM when the node management program is stored in the storage medium. Used when storing in a storage device. The components included in the node are connected to each other via a bus 114 so as to be able to communicate with each other. Although the configuration of the mobile terminal is shown in FIG. 1, a keyboard, a display medium reader / writer, and the like may not be provided as long as the node management program can be operated. In this embodiment, the node management is realized by the program and the processing of the CPU. However, each functional module of the node management program may be formed as an integrated circuit and constituted by a hardware circuit group.
図 2はノード群のノード間リンクによる結合形態の一例を模式的に示 す。 実線は既に確立されているノード間リンクを表しており、 ノード 1 からノード 5がネッ トワーククラスタを構成している。 ノード 6はノー ド 4に接続(以下ノード間リンクを確立することを接続と呼ぶ)しょうと しているがまだノード間リンクは確立されていない。 このときノード 4 内には以下に説明するようなノ一ド基本情報テ一ブルおよびリンクオブ ジェク トが構成されている。  FIG. 2 schematically shows an example of a connection form of a node group by an inter-node link. The solid line represents the link between the nodes that has already been established, and nodes 1 to 5 constitute a network cluster. Node 6 is trying to connect to node 4 (establishing an inter-node link is called a connection), but the inter-node link has not yet been established. At this time, a node basic information table and a link object as described below are configured in the node 4.
図 3はノード 4が保持するノ一ド基本情報テーブル 3 0 0を示す。 こ のテ一ブルは各ノードのリンク管理部がネッ トワークにブロードキャス トするノードの基本情報(ノード名、最大リンク数、使用リンク数、宛先) を、 収集することによって生成される。 従って、 ブロードキャストが到 達可能な範囲に存一在するノードは、 すべて同一のノード基 情報テープ ルを保持することになる。 上記ノード基本情報テーブル 3 0 0では、 ノ 一ドの宛先として HTTPプロトコルによる URLを使用しているが、これは宛 先として使用可能なものであれば何でもよく、 例えば IPァドレスとポー ト番号の組だけでもよい。 FIG. 3 shows a node basic information table 300 held by the node 4. This table is generated by the link manager of each node collecting the basic information (node name, maximum number of links, number of used links, destination) of the nodes to be broadcast on the network. Therefore, all nodes existing within the reachable range of the broadcast hold the same node basic information table. In the node basic information table 300, a URL according to the HTTP protocol is used as the destination of the node. However, this can be anything that can be used as the destination, for example, an IP address and a port. A set of G numbers may be used.
図 4はノ一ド 4のリンク管理部が保持するリンクオブジェク トを示し ている。  FIG. 4 shows a link object held by the link management unit of the node 4.
リンクオブジェク ト 4 0 1はノード 4とノード 1間に確立されているノ 一ド間リンクに対応し、 リンクオブジェク ト 4 0 2はノ一ド 4とノード 5間に確立されているノード間リンクに対応する。ノード 4から見ると、 ノード 1の先にノード 2とノード 3がノード間リンクによって接続され ているので、 リンクオブジェク ト 4 0 1はノード 2とノード 3の情報も 含んでいる。 リンクオブジェク 卜内のどのノードがノード間リンク確立 相手であるかは、そのノードのホップ数が 1であることから判断できる。 各ノ一ドは自分が確立しているノ一ド間リンクに対応するリンクオブジ 工ク 卜を保持し、 リンクオブジェク トは対応するリンクの先にノード間 リンクによって接続されているすべてのノードのネッ 卜ワーク情報を含 むので、 各ノードは自ノード内のすべてのリンクオブジェク トが含むネ ッ トワーク情報を列挙すればネッ トワーククラス夕内の全ノ一ドを列挙 し尽くすことができる。 Link object 410 corresponds to the internode link established between nodes 4 and 1, and link object 402 corresponds to the internode link established between node 4 and node 5. Corresponding to From the viewpoint of node 4, node 2 and node 3 are connected to each other by an inter-node link, so link object 401 contains information on nodes 2 and 3. Which node in the link object is the link establishment partner of the node can be determined from the fact that the hop number of the node is one. Each node has a link object corresponding to the inter-node link that it has established, and the link object has all the nodes connected by the inter-node link ahead of the corresponding link. Since the network information is included, each node can enumerate all the nodes in the network class by enumerating the network information included in all the link objects in its own node.
次に新規ノードがネッ トワーククラスタに接続する場合のノード間リ ンク生成処理を、 ノード 6がノード 4に接続する例を用いて説明する。 まずノード基本情報テーブル管理処理について説明する。この処理では、 ノ一ド間通信手段としてノ一ド間リンクの有無に関係なくすベてのノ一 ドが互いに通信可能な手段、 例えばプロ一ドキャストァドレスを利用し た通信手段を使用する。 各ノードのリンク管理部は定期的に自ノ一ドの 基本情報をネッ トワークにブロー Hキ £ス する。 Next, the process of generating a link between nodes when a new node connects to the network cluster will be described using an example in which node 6 connects to node 4. First, the node basic information table management processing will be described. In this processing, means for enabling all nodes to communicate with each other irrespective of the presence or absence of an inter-node link, for example, communication means using a broadcast address, is used as inter-node communication means. Link management unit of each node periodically blow H key £ scan the basic information Jinoichido the network.
ノード 6は上記ブロードキャストメッセージを受信すると、 当該ノード の情報をノード基本情報テーブルに登録する。 また、 一定時間上記プロ 一ドキャストメッセージを受信できなかったノ一ドは、 ノ一ド基本情報 テーブルから削除する。 このようにして、 ノード 6内のノード基本情報 テーブルは常に最新に保たれる。 例えば、 ノード 6が図 2に示すネッ ト ワークに現れると、 ノード 6内のノード基本情報テーブルは図 3のよう になる。 このノード基本情報テーブル管理処理はすべてのノードで行わ れるので、 すべてのノードは同一のノード基本情報テーブルを保持する ことになる。 Node 6 receives the broadcast message and registers the information of the node in the node basic information table. Nodes that have not received the above broadcast message for a certain period of time are sent to the node basic information. Delete from table. In this way, the node basic information table in node 6 is always kept up to date. For example, when node 6 appears in the network shown in FIG. 2, the node basic information table in node 6 becomes as shown in FIG. Since this node basic information table management process is performed by all nodes, all nodes hold the same node basic information table.
図 5はリンク生成部を読み込んで実行している C P U 1 0 8の動作を 示すフローである。 以下、 図 5を用いてノード 6が新規ノード間リンク を生成する過程を説明する。 なお、 説明の都合上、 動作の主体を簡単に リンク生成部と呼ぶこととする (以下の説明のリンク管理部/メッセー ジ処理部も同様)。 ノード 6のリンク生成部は、 自ノードの使用リンク数 が自ノードの最大リンク数より小さいことを確認する。 もし使用リンク 数≥最大リンク数であれば、リンク生成処理を中止し一定時間待つ(5 0 1 )。 次にノード 6のリンク生成部は、 ネッ トワーク内に新規ノードが存 在するかどうかを確認する。 上記新規ノードとは、 自ノードのノード 基本情報テーブルには含まれるが、 いずれのリンクオブジェク トにも含 まれていないノードのことである。 つまり、 自ノードが含まれるネッ ト ワーククラスタ内に存在しないが、 ノード基本テ一ブルに含まれるノ一 ドが新規ノードとなる。 この時点では、 ノード 6はいずれのノードとも 接続していないので、 ノ一ド基本情報テーブルに含まれるすべての他ノ ―ドが新規ノードとなる( 5 0 3 )。  FIG. 5 is a flow chart showing the operation of the CPU 108 reading and executing the link generation unit. Hereinafter, a process in which the node 6 generates a new inter-node link will be described with reference to FIG. For the sake of explanation, the subject of the operation is simply referred to as a link generation unit (the same applies to the link management unit / message processing unit described below). The link generation unit of the node 6 confirms that the number of used links of the own node is smaller than the maximum number of links of the own node. If the number of used links ≥ the maximum number of links, the link generation processing is stopped and a predetermined time is waited for (501). Next, the link generation unit of node 6 checks whether a new node exists in the network. The new node is a node that is included in the node's own node basic information table but is not included in any of the link objects. In other words, a node that does not exist in the network cluster including its own node but is included in the basic node table becomes a new node. At this point, since the node 6 is not connected to any node, all other nodes included in the node basic information table become new nodes (503).
次にノード 6のリンク生成部は、 ステツプ 5 0 3で検出した新規ノー ドの中から、 実際 Λこ接 _続処 ϋを行うノードを選択する。 選択方法は、 使 用リンク数が最大リンク数より小さいノードの内、 使用リンク数が最大 のものを選択する方法を採る。 この選択方法を採用することによって、 ノード間リンクによる通信時のホップ数が小さなネッ トワーク トロポジ を生成することが可能となる。 ノード 6は図 3に示すようなノード基本 情報テーブルを保持するので、 ノード 6は接続相手として最大リンク数 が 3 (各ノード共通)で使用リンク数が 2のノード 4を選択する(5 0 4 ) , 次にノード 6のリンク生成部は、 接続相手であるノード 4に接続要求 7 0 1を送信する。 接続要求 7 0 1のデータ構成を図 7に示す。 この接 続要求は、 接続要求送信ノードがその一部であるネッ トワーククラスタ 内の全ノードのネッ トワーク情報を含む。 現時点でノード 6はどのノー ドとも接続していないので、 ノード 6が含まれるネッ 卜ワーククラスタ は、 ノード 6のみから構成される。 従って、 ノード 6が送信する接続要 求は、 ノード 6自身のネッ トワーク情報のみとなつている(5 0 5 )。 Next, the link generation unit of the node 6 selects a node for which the actual connection / connection process is to be performed from the new nodes detected in step 503. The selection method is to select the node with the largest number of used links from the nodes with the smaller number of used links. By adopting this selection method, a network topology with a small number of hops at the time of communication through an inter-node link is used. Can be generated. Since node 6 holds the basic node information table as shown in Fig. 3, node 6 selects node 4 with the maximum number of links of 3 (common to each node) and the number of used links of 2 as the connection partner (5 0 4 ), Next, the link generation unit of the node 6 transmits a connection request 701 to the node 4 as a connection partner. FIG. 7 shows the data structure of the connection request 7001. This connection request includes the network information of all nodes in the network cluster of which the connection request sending node is a part. At this time, since node 6 is not connected to any node, the network cluster including node 6 is composed of node 6 only. Therefore, the connection request transmitted by the node 6 is only the network information of the node 6 itself (505).
上記接続要求を受信したノード 4のリンク生成部が接続を許可した場 合、 ノード 4のリンク生成部はノード 4内にノード 6とのノード間リン クに対応するリンクオブジェク トを生成し、 ノード 6に接続応答 8 0 1 (図 8に示す)を返信する。  If the link generation unit of the node 4 receives the connection request and permits the connection, the link generation unit of the node 4 generates a link object corresponding to an inter-node link with the node 6 within the node 4, and A connection response 8 01 (shown in Fig. 8) is returned to 6.
接続応答 8 0 1は、 ノード 4がその一部であるネッ トワーククラスタ内 の全ノードのネッ トワーク情報を含む。 ノード 4内の詳細な処理につい ては後述する。 接続応答 8 0 1を受けたノード 6のリンク生成部はノー ド 4とのノード間リンクに対応するリンクオブジェク ト 9 0 1を生成す る。 リンクオブジェク ト 9 0 1に登録すべきネッ トワーク情報は、 接続 応答 8 0 1内のネッ トワーク情報のホップ数に 1加算することで得られ る。 もし上記接続応答が接続拒否もしくは応答なしであれば、 ノード 6 のリンク生成部は一定時間待機した後、ステップ 5 0 1に戻る(ステップ 5 0 _ ら 5 Q 8 )。 Connect response 81 contains network information for all nodes in the network cluster of which node 4 is a part. Detailed processing in node 4 will be described later. Upon receiving the connection response 801, the link generation unit of the node 6 generates a link object 901 corresponding to the inter-node link with the node 4. The network information to be registered in the link object 901 can be obtained by adding 1 to the number of hops of the network information in the connection response 801. If the connection response is rejection or no response, the link generation unit of the node 6 waits for a certain period of time and then returns to step 501 (steps 50_ to 5Q8).
ノード 6が既存ノード間リンク(ステップ 5 0 8で生成したリンクオ ブジェク ト以外のリンクオブジェク トに対応するノ一ド間リンク)を確 立している場合、 ノード 6のリンク生成部は、 既存ノード間リンクに対 してネッ トワーク情報更新メッセージを送信する。 本例では、 ノ一ド 6 は既存ノード間リンクを持たないので、 このステップの処理はない。 こ のステップの具体的な処理内容は後述するステップ 6 0 6と同様である そして一定時間待機した後、 ステップ 5 0 1に戻る(5 0 9 )。 If node 6 has established an existing inter-node link (inter-node link corresponding to a link object other than the link object generated in step 508), the link generation unit of node 6 Between links And send a network information update message. In this example, since node 6 has no link between existing nodes, there is no processing in this step. The specific processing content of this step is the same as that of step 606 described later. After waiting for a certain period of time, the process returns to step 501 (509).
ステップ 5 0 2において、 次回のリンク生成処理を行うまで一定時間 待機するが、 この待機時間は使用リンク数、 最大リンク数などのパラメ 一夕によって変動させてもよい。例えば、 (使用リンク数/最大リンク数) に比例させて変動させると、 接続個数の少ないノードは他ノードに積極 的に接続しょうとし、 接続個数の多いノードは他ノードからの接続待ち 状態になっていることが多くなる。 これによつてノード間リンク生成処 理を効率化できる。 また複数のノードが、 互いに同時に接続要求を発行 する状況を避けるために、 上記待機時間の決定に乱数を用いることが望 ましい。  In step 502, a certain period of time is waited until the next link generation processing is performed. This wait time may be varied depending on parameters such as the number of used links and the maximum number of links. For example, if the number is varied in proportion to (number of used links / maximum number of links), nodes with a small number of connections will actively try to connect to other nodes, and nodes with a large number of connections will wait for connections from other nodes. More. This makes the inter-node link generation process more efficient. Also, in order to avoid a situation where a plurality of nodes issue connection requests simultaneously, it is desirable to use a random number in determining the waiting time.
次に、 ノード 6からの接続要求を受信したノード 4の処理を図 6を用 いて説明する。  Next, the processing of the node 4 that has received the connection request from the node 6 will be described with reference to FIG.
ノード 4のリンク管理部はノード 6から接続要求 7 0 1を受信すると、 自ノ一ド(ノード 4 )のリンク生成部が接続要求中 (ステツプ 5 0 2の待 機処理以外の処理を実行中である場合)でないことを確認する。もし接続 要求中であれば、 ノード 6に接続拒否を返信する。 この処理は複数のノ ードが互いに同時に接続要求を送りあったときにも、 ノード間リンク生 成処理が正常動作するために必要である(ステップ 6 0 1 6 0 2 )。 次にノード 4のリンク管理部は、 使用リンク数が最大リンク数より小 さいことを確認 ^する _ もし (使用 _リ_ン 数) _≥_.(最大 JJンり数)で.あれば ( (使用リンク数) < (最大リンク数)でなければ)、 上記リンク管理部は接 続拒否を返信する ( 6 0 3 )。 When the link management unit of node 4 receives the connection request 701 from node 6, the link generation unit of its own node (node 4) is requesting a connection (processing other than the waiting process in step 502) If not). If a connection request is being made, a connection refusal is returned to node 6. This process is necessary for the normal operation of the inter-node link generation process even when multiple nodes send connection requests simultaneously (step 60016). Next, the link management unit of node 4 confirms that the number of used links is smaller than the maximum number of links ^ _ If (used _ number of leans) _ ≥ _ (maximum number of JJs). (If (number of used links) <(maximum number of links) is not satisfied), the link manager returns a connection refusal (603).
次にノード 4のリンク管理部は、 接続要求 7 0 1に含まれるネッ トヮ ーク情報のホップ数に 1加算することによってリンクオブジェク ト 1 0 0 1を生成する。 Next, the link management unit of the node 4 transmits the network The link object 1001 is generated by adding 1 to the hop number of the link information.
この結果ノード 4は 3つのリンクオブジェク ト 4 0 1、 4 0 2、 1 0 0 1を保持することになる(6 0 4 )。 As a result, node 4 holds three link objects 401, 402, and 1001 (604).
次にノード 4のリンク管理部は、 リンク要求送信ノード(ノード 6 )に 接続応答 8 0 1を返信する。 接続応答 8 0 1には、 前ステップで生成し たリンクオブジェク ト以外のリンクオブジェク トが保持するネッ トヮー ク情報と自ノードのネッ トワーク情報を含める。 すなわち、 上記接続応 答はリンクオブジェク 卜 4 0 1、 4 0 2が保持するネッ トワーク情報と 自ノードのネッ トヮ ク情報を含める(6 0 5 )。  Next, the link management unit of the node 4 returns a connection response 801 to the link request transmission node (node 6). The connection response 8001 includes the network information held by the link object other than the link object generated in the previous step and the network information of the own node. That is, the connection response includes the network information held by the link objects 401 and 402 and the network information of the own node (605).
次にノード 4のリンク管理部は、既存ノード間リンク(リンクオブジェ ク ト 4 0 1、 4 0 2に対応するノ一ド間リンク)にネッ トワーク情報更新 メッセージを送信する。 もし送信すべきノード間リンクが存在しない場 合は、 上記ネッ トワーク情報更新メッセージの送信は行わない。 上記ネ ッ トワーク情報更新メッセージには、 送信するノード間リンクに対応す るリンクオブジェク ト以外のすべてのリンクオブジェク トが含むネッ ト ワーク情報と自ノ一ド(ノード 4 )のネッ トワーク情報を含める。例えば、 リンクオブジェク ト 4 0 1に対応するノード間リンクに送信するメッセ —ジには、 リンクオブジェク ト 4 0 2及び 1 0 0 1が保持するネッ トヮ ーク情報を含めるので、 ネッ トワーク情報更新メッセージ 1 1 0 1のよ うになる。 同様にノード 4のリンク管理部は、 リンクオブジェク ト 4 0 2に対応するノ一ド間リンクに、 ネッ トワーク情報更新メッセージ 1 1 0 2を送信する(6 0 6 )。 以上の処理でノード 4とノード 6間にノード 間リンクが確立される。  Next, the link management unit of the node 4 transmits a network information update message to the existing inter-node link (inter-node link corresponding to the link objects 401 and 402). If there is no link between nodes to be transmitted, the above network information update message is not transmitted. The above network information update message includes the network information of all link objects other than the link object corresponding to the link between the nodes to be transmitted and the network information of its own node (node 4). . For example, the message sent to the inter-node link corresponding to link object 401 contains the network information held by link objects 402 and 1001, so the network information The update message looks like 1 1 0 1. Similarly, the link management unit of the node 4 transmits a network information update message 112 to the internode link corresponding to the link object 402 (606). With the above processing, the link between nodes 4 and 6 is established.
ノード間リンク確立後、 各ノードはネッ トワーク情報更新メッセージ を既存ノード間リンクを使用してネッ トワーククラス夕に転送していく , 以下ではこのネッ トヮ一ク情報更新処理を図 1 2を参照しつつ、 上記具 体例を用いて説明する。 After establishing the link between nodes, each node forwards the network information update message to the network class using the existing link between nodes. Hereinafter, this network information update processing will be described using the above specific example with reference to FIG.
ノード 4からネッ トワーク情報更新メッセージ 1 1 0 1を受信したノ一 ド 1のリンク管理部は、 自ソード(ノード 1 )のリンク生成部が接続要求 中でないこと.を確認する。 もし接続要求中であれば、 接続要求処理が終 了するまで待機する (ステップ 1 2 0 1から 1 2 0 3 )。 Upon receiving the network information update message 111 from node 4, the link management unit of node 1 confirms that the link generation unit of its own node (node 1) is not requesting a connection. If a connection request is being made, the process waits until the connection request processing is completed (steps 1201 to 1203).
次にノード 1のリンク管理部は、 上記ネッ トワーク更新メッセージ 1 1 0 1 を受信したノード間リンク(ノード 4との間に確立しているノ一 ド間リンク)に対応するリンクオブジェク トをいったん廃棄する。そして. ステップ 6 0 4で説明した方法でリンクオブジェク 卜 1 3 0 1を生成す る。 上記リンクオブジェク 卜 1 3 0 1は先ほど廃棄したリンクオブジェ ク トに代わる新しいリンクオブジェク トである。 この結果、 ノード 1内 のリンクオブジェク トは図 1 3に示すようになる。  Next, the link management unit of the node 1 once stores the link object corresponding to the inter-node link (the inter-node link established with the node 4) that has received the network update message 111. Discard. Then, a link object 1301 is generated by the method described in step 60.4. The above link object 1301 is a new link object replacing the link object discarded earlier. As a result, the link object in node 1 is as shown in Fig. 13.
もしリンクオブジェク ト内のネッ 卜ヮ一ク情報に変更がない場合、 ネッ トワーク情報更新処理を終了する(ステップ 1 2 0 4、 1 2 0 5 )。 If there is no change in the network information in the link object, the network information update processing ends (steps 1204 and 125).
次にノード 1のリンク管理部は、 上記ネッ トワーク更新メッセージ 1 1 0 1が送信されてきたリンクオブジェク ト以外のリンクオブジェク ト に対応するノ一ド間リンクに対して、 ネッ トワーク情報更新メッセージ を送信する。もし、送信すべきリンクオブジェク トが存在しない場合は、 上記メッセージの送信は行わない。 送信するネッ トワーク情報更新メッ セージの作成方法は、 ステップ 6 0 6における、 ネッ トワーク情報更新 メッセージの作成方法と同様である。 例えば、 ノード 1のリ ンク管理部 はリンクオブジェ _ク ト 1 3 .ひ 2に対応するノード間リンク _に対して、 ネ_ ッ トヮ一ク情報更新メッセージ 1 4 0 1を送信する。 上記リンク管理 部は、 リンクオブジェク 卜 1 3 0 3に対応するノ一ド間リンクに対して も、 同様にネッ トワーク情報更新メッセージを作成、 送信する(ステツプ 1 2 0 6から 1 2 0 8 )。 Next, the link management unit of the node 1 sends a network information update message to an internode link corresponding to a link object other than the link object from which the network update message 111 was transmitted. Send. If there is no link object to send, the above message is not sent. The method of creating the network information update message to be transmitted is the same as the method of creating the network information update message in step 606. For example, the link management unit of the node 1 transmits a network information update message 1441 to the inter-node link _ corresponding to the link object 13. The link management unit similarly creates and transmits a network information update message to the internode link corresponding to the link object 1303 (step 1206 to 1208).
以上説明したように、 新規ノードがネッ トヮ一ククラスタに接続した とき、 新規ノード間リンクに対応するリンクオブジェク トが生成された 後、 既存ノード間リンクを通じてネッ トワーククラスタ全体にネッ トヮ —ク情報更新メッセージを転送していく。 この結果、 ネッ トワーククラ スタを構成するすべてのノード内のリンクオブジェク トは常に最新状態 に保たれる。  As described above, when a new node connects to a network cluster, a link object corresponding to the new internode link is generated, and then the network is connected to the entire network cluster through the existing internode link. Transfer the information update message. As a result, the link objects in all nodes that make up the network cluster are always kept up to date.
次にネッ トワーククラスタからノードが消滅するときの処理について 説明する。 以下では図 1 5を参照しつつ、 ノード 5がネッ トワーククラ ス夕から消滅する場合を例に説明する。 ノード 5はネッ トワークから切 断するときに、 切断メッセージをノード 5が確立済みのノード間リンク に送信する。 ノード 5 とノード間リンクを確立していたノード(ノード 4 )は上記メッセージを受ける'ことによって、ノード 5の切断を検出する, ノードのクラッシュなどによってノード 5が上記メッセージを送信でき ない場合は、 ノード 4はノード 5との通信失敗によってノード 5の切断 を検出する(1 5 0 1 )。  Next, processing when a node disappears from the network cluster will be described. Hereinafter, an example in which the node 5 disappears from the network class will be described with reference to FIG. When node 5 disconnects from the network, it sends a disconnect message to the internode link established by node 5. The node (node 4) that has established the link between node 5 and node 5 receives the above message, detects the disconnection of node 5, and if node 5 cannot send the message due to node crash, etc. Node 4 detects disconnection of node 5 due to communication failure with node 5 (1501).
ノード 5の消滅を検出したノード 4のリンク管理部は、自ノード(ノー ド 4 )のリンク生成部が接続要求中でないことを確認する。もし接続要求 中であれば、, 接続要求処理が終了するまで待機する (ステップ 1 5 0 2、 1 5 0 3 )。 次にノード 4のリンク管理部は-. ノード 5とのノード間リン クに対応するリンクオブジェクト 4 0 2を削除する ( 1 5 0 4 )。  Upon detecting the disappearance of node 5, the link management unit of node 4 confirms that the link generation unit of its own node (node 4) is not requesting a connection. If a connection request is being made, the process waits until the connection request processing is completed (steps 1502 and 1503). Next, the link management unit of the node 4 deletes the link object 402 corresponding to the inter-node link with the node 5 (1504).
次にノード 4のリンク管理部は、確立済みノード間リンク(リンクォブ ジェクト 4 0 1 、__1 0.0 1に対応するリンクオブジェク )に _対して、 ネ ッ トワーク情報更新メッセージを送信する。 上記ネッ トワーク情報更新 メッセージの作成方法はステップ 6 0 6での処理と同様である。 すなわ ち、 ノード 4はネッ トワーク情報更新メッセ一ジ 1 6 0 1をリンクォブ ジェク ト 1 0 0 1に対応するノード間リンクに送信し、 ネッ トワーク情 報更新メッセージ 1 6 0 2をリンクオブジェク ト 4 0 1に対応するノ一 ド間リンクに送信する(ステップ 1 5 0 5からステップ 1 5 0 7 )。 Next, the link management unit of the node 4 transmits a network information update message to the established link between the nodes (the link object corresponding to the link object 401 and __10.01). The method for creating the network information update message is the same as the processing in step 606. In other words, node 4 links network information update message 16 01 The link is transmitted to the internode link corresponding to the object 1001, and the network information update message 1662 is transmitted to the link between the nodes corresponding to the link object 401 (step 1505). From step 1507).
上記ネッ トワーク情報更新メッセージを受信したノード 1、 ノ一ド 6 のリンク管理部は、 ステップ 1 2 0 1から 1 2 0 8の処理を実行する。 このように、 ネッ トワーククラス夕からノードが消滅した場合、 ノード 消滅を検出したノードを起点としてネッ トワーク情報更新メッセージを ネッ トワーククラスタ全体に転送していく。 この結果、 ネッ トヮ一クク ラス夕を構成するすべてのノード内のリンクオブジェク トは常に最新状 態に保たれる。  The link management units of the nodes 1 and 6 that have received the network information update message execute the processing of steps 1221 to 1228. As described above, when a node disappears from the network class, the network information update message is transferred to the entire network cluster starting from the node where the node disappearance is detected. As a result, the link objects in all the nodes that make up the network class are always kept up to date.
次にノード間リンクを使用して、 アプリケーションメッセージ(以下、 APメッセージと呼ぶ)を特定ノードに送信する処理(メッセージルーティ ング処理)を説明する。 メッセージ処理部は APメッセージ送信時、 転送経 路、 宛先ノード名、 TTL (最大ホップ数)、 経路モードから構成されるデ一 タヘッダを付加する。 経路モードには、 「ホップバイホップモード」 と 「経路指定モード」 の 2種類が存在する。 「ホップバイホップモード」 使用時、 APメッセージを転送する各ノードが転送経路をオンデマンドで 経路を決定し、 データへッダ内の転送経路は APメッセージが転送されて きた履歴を意味する。 「経路指定モード」 使用時、 APメッセージ作成ノ ードが完全な転送経路を指定するので、 データヘッダ内の転送経路は AP メッセージがこれから転送されていく経路を表す。 通常 R P C型の通信 モデルにおいて、 要求メッセージ送信時は宛先ノードまでの経路が不明 であるのでホップノ ィ - ッ _プ王一—ドを使用するが、 返答—メッセ一ジ送信 時は要求メッセージがたどってきた経路履歴から宛先ノードまでの経路 を知ることができるので経路指定モードを使用する。  Next, a process of transmitting an application message (hereinafter, referred to as an AP message) to a specific node using an inter-node link (message routing process) will be described. When transmitting the AP message, the message processing unit adds a data header consisting of the transfer route, destination node name, TTL (maximum number of hops), and route mode. There are two types of routing modes: “hop-by-hop mode” and “routing mode”. When “hop-by-hop mode” is used, each node that transfers the AP message determines the transfer route on demand, and the transfer route in the data header indicates the history of the AP message transfer. When using the "route specification mode", since the AP message creation node specifies the complete transfer path, the transfer path in the data header indicates the path from which the AP message will be transferred. Normally, in the RPC-type communication model, when sending a request message, the route to the destination node is unknown, so a hop-no-get is used, but when a reply message is sent, the request message follows. The route specification mode is used because the route to the destination node can be known from the received route history.
以下、 ノード 4がノード 2に APメッセージをホップバイホップモード で送信する場合を例に挙げて説明する。 図 1 7に処理フローを示す。 ま ず、 ノード 4のメッセージ処理部は、 リンク生成部が保持するリンクオ ブジェク トからノ一ド 2のネッ トワーク情報を含むリンクオブジェク ト を選択する。 複数存在する場合は、 ホップ数が最小であるようなネッ ト ワーク情報を含むリンクオブジェク トを選択する(1 7 0 1 )。 もし、 条 件に合うリンクオブジェク トが存在しない場合、 送信処理をエラーとし 実際の送信は行わない( 1 7 0 5 )。 この例ではリンクオブジェクト 4 0 1を選択する。 Below, Node 4 sends the AP message to Node 2 in hop-by-hop mode The case where the transmission is performed will be described as an example. Figure 17 shows the processing flow. First, the message processing unit of the node 4 selects a link object including the network information of the node 2 from the link objects held by the link generation unit. If there is more than one, select the link object containing the network information that minimizes the number of hops (1701). If there is no link object that satisfies the conditions, the transmission processing is regarded as an error and the actual transmission is not performed (1705). In this example, the link object 4 0 1 is selected.
上記メッセージ処理部は、次のデータヘッダ(転送経路、宛先ノード名、 T T L、 経路モ一ド) = (node4、 node 2、 5、 ホップバィホップ)を生成し て APメッセージに付加し ( 1 7 0 2 )、 リンクオブジェク 卜 4 0 1に対 応するノード間リンクにその APメッセージを送信する(1 7 0 4 )。 上記 例では TTL = 5に設定されているが、 TTLはアプリケ——ンョンが自由に設定 できる項目である。もし TTLがリンクオブジェク ト 4 0 1に登録されてい るノード 2のネッ トワーク情報のホップ数より小さければ、 送信処理を エラ一とし実際の送信は行わない(1 7 0 3, 1 7 0 5 )。  The message processing unit generates the next data header (transfer route, destination node name, TTL, route mode) = (node4, node2, 5, hop-by-hop) and adds it to the AP message (17) 0 2), and transmits the AP message to the inter-node link corresponding to link object 4 0 1 (1704). In the above example, TTL is set to 5, but TTL is an item that the application can set freely. If the TTL is smaller than the number of hops in the network information of node 2 registered in link object 401, the transmission processing is considered to be in error and actual transmission is not performed (1703, 1705) .
上記メッセージを受信したノード 1のメッセージ処理部は、 宛先ノー ド名が自ノードでないことを確認すると再転送処理を行う( 1 7 0 6 )。 まず上記メッセージ処理部は、 データを次に送信すべきノード間リンク を選択する。 この処理はステップ 1 7 0 1におけるノード間リンク選択 処理と同様である。 従つて .. 上記メッセージ処理部はリ ンクオブジェク ト 1 3 0 2に対応するノ一ド間リンクを選択する( 1 7 0 7 )。  The message processing unit of the node 1 that has received the above message performs retransmission processing when confirming that the destination node name is not its own node (1706). First, the message processing unit selects an inter-node link to which data is to be transmitted next. This processing is the same as the inter-node link selection processing in step 1701. Therefore, the message processing unit selects the internode link corresponding to the link object 1302 (1707).
次にノード_.1の ^メ セ _ジ処理部は.、 デ一夕ヘッダの—転—送経路に自 ノードの情報を加え、 TTLから 1減算する。 すなわちデータヘッダを、 (転送経路、宛先ノ一ド名、 T T L、経路モード) = ( (node4, node l )、node 2、 4、 ホップバイホップ)のように変更する。 ( 1 7 0 8 ) 次にノード 1のメッセージ処理部は、データヘッダ内の TTLが上記リン クオブジェク ト 1 3 0 2に登録されている宛先ノード(ノード 2)のネッ トワーク情報のホップ数以上であることを確認した後(1 7 0 9 )、 ステ ップ R 4で選択したノード間リンクに APメッセージを送信する(1 7 1 0)。 もし TTLが上記ホップ数以下であれば、 送信処理をエラーとし実際 の送信は行わない(1 7 1 1〉。 Next, the message processing unit of the node_.1 adds the information of its own node to the transmission route of the data header and subtracts 1 from the TTL. That is, the data header is changed as follows: (transfer route, destination node name, TTL, route mode) = ((node4, nodel), node 2, 4, hop-by-hop). (1 7 0 8) Next, the message processing unit of node 1 confirmed that the TTL in the data header was equal to or greater than the number of hops in the network information of the destination node (node 2) registered in link object 1322. Thereafter (1709), an AP message is transmitted to the inter-node link selected in step R4 (1710). If the TTL is equal to or less than the above number of hops, the transmission process is regarded as an error and actual transmission is not performed (1771 1).
上記 APメッセージを受信したノード 2のメッセージ処理部は、 宛先ノ 一ドが自ノードであることを確認すると、 対応するアプリケ一シヨンに データを配送する(1 7 1 2 )。  Upon confirming that the destination node is the own node, the message processing unit of the node 2 receiving the AP message delivers the data to the corresponding application (1712).
上記アプリケーションが上記 APメッセージ送信元であるノード 4に返 信用 APメッセージを返信する場合、 経路指定モードを使用して返信用 AP メッセージを送信する。 以下ではこの処理を説明する。 ノード 2のメッ セージ処理部は返信用メッセージに以下のようなデータヘッダを付加す る。  When the application returns the return AP message to the node 4 that transmitted the AP message, the application transmits the return AP message using the routing mode. Hereinafter, this processing will be described. The message processing unit of node 2 adds the following data header to the reply message.
(転送経路、宛先ノード名、 TTL、経路モ一ド) = ((nodel,node4)、nodel、 5、 経路指定) (Transfer route, destination node name, TTL, route mode) = ((nodel, node4), nodel, 5, route specification)
上記転送経路は、 ステップ R 6でメッセージ処理部が受信した APメッ セージに含まれるデータへッダの転送経路情報を逆順に指定する。 上記 例では宛先ノード名と T T Lを指定しているが、 経路指定モードでは宛 先ノードまでの完全な経路が転送経路に含まれるので、 実際には宛先ノ —ド名および T T Lを指定する必要は無い( 1 7 1 3 )。  The transfer path specifies the transfer path information of the data header included in the AP message received by the message processing unit in step R6 in reverse order. In the above example, the destination node name and TTL are specified. However, in the routing mode, since the complete route to the destination node is included in the transfer route, it is not actually necessary to specify the destination node name and TTL. There is no (1 7 1 3).
ノード 2のメッセージ処理部は、 次の転送先ノード(ノード 1 )との間 にノード間リンク力 t確立さ—れてい- —こ を狼認し、 対応するノ一ド間リ ンクを使用して返信用 APメッセージを送信する(1 7 1 4)。  The message processing unit of node 2 recognizes that the inter-node link strength t has been established with the next transfer destination node (node 1), and uses the corresponding inter-node link. To send a reply AP message (1 7 1 4).
上記返信用 APメッセージを受信したノード 1のメッセージ処理部は、 転送経路から自ノ一ドの情報を削除し、 次の転送先ノード(ノード 4)と の間にノード間リンクが確立されていることを確認する。 そして、 対応 するノード間リンクを使用して返信用 APメッセージを送信する(ステツ プ 1 7 0 6から 1 7 1 0 : 伹し 1 7 0 9の判断は返信時は省略される)。 このようにデータヘッダに記載された転送経路に従って、 データを転送 していく ことによって、 目的のノードまで所望のメッセージを送信する ことができる。 The message processing unit of the node 1 that has received the reply AP message deletes the information of its own node from the transfer route, and communicates with the next transfer destination node (node 4). Check that the inter-node link is established during Then, a reply AP message is transmitted using the corresponding inter-node link (steps 1706 to 1170: the judgment of 1709 is omitted when replying). By transferring data according to the transfer path described in the data header in this way, a desired message can be transmitted to a target node.
ネッ トヮ一ククラスタが大規模になり、 リンクオブジェク トに登録さ れているネッ トワーク情報が十分速くネッ トワークに広まらない場合、 ノード間リンクに閉路が形成される場合がある。  If the network cluster becomes large and the network information registered in the link object does not spread quickly enough on the network, a closed circuit may be formed in the link between nodes.
閉路が形成された場合、上記データへッダの TTLが 0になるまで APメッ セージは閉路を回り続けてしまう。 閉路における APメッセージの無限ル ープを回避するには、 上記データへッダ内の転送経路をチェックすれば よい。 つまり、 メッセージ処理部はノード間リンクを通じて APメッセ一 ジを受信したとき、 データヘッダの転送経路に既に自ノードが登録され ていないことを確認する。 もし自ノ一ドが登録されていた場合、 それは 上記デ一夕が閉路を一周してきたことを示しているのでそのデータを廃 棄する。  If a loop is formed, the AP message will continue to cycle until the TTL of the above data header becomes zero. To avoid an infinite loop of AP messages in a closed circuit, the transfer route in the above data header may be checked. In other words, when the message processing unit receives an AP message via the link between nodes, it confirms that its own node is not already registered in the data header transfer path. If the self-node has been registered, it indicates that the above-mentioned data has gone around a closed circuit, and the data is discarded.
上記チェックは APメッセージだけではなく、 ノード間リンクを使用し て送受信するすべてのメッセージについて行う必要がある。 つまり、 メ ッセージ処理部はネッ トワーク情報更新メッセージにも上記データへッ ダを付加し、 閉路内におけるネッ トワーク情報更新メッセージの無限ル ープ回避チェックを行う。 ここでは、 上記デ一夕ヘッダを転送経路を記 録するためだ ίςϋ.用し—、. 宛先ゾ二ド名な fデータへッダが含む他の情 報は使用しない。 メッセージ処理部は、 閉路を一周してきたネッ トヮー ク更新メッセージについては、 リンク管理部に配送せずに廃棄する.。 ま た、 ネットワーク情報更新メッセージの転送処理はリンク処理部が行う ので、 メッセージ処理部は上記メッセージの転送処理を行わない。 The above checks need to be performed not only for AP messages but also for all messages sent and received using inter-node links. In other words, the message processing unit adds the above-mentioned data to the network information update message and performs an infinite loop avoidance check of the network information update message in a closed circuit. In this case, the above-mentioned data header is used to record the transfer route. Other information included in the f-data header, which is the destination zone name, is not used. The message processing unit discards the network update message that has gone around the cycle without delivering it to the link management unit. In addition, the transfer processing of the network information update message is performed by the link processor. Therefore, the message processing unit does not perform the message transfer processing.
閉路が形成されたとき、 閉路を構成するノ一ド間リンクの 1つを切断 (閉路切断処理)してもよい。 以下、 この閉路切断処理を説明する。  When a closed circuit is formed, one of the inter-node links constituting the closed circuit may be disconnected (closed circuit disconnection processing). Hereinafter, this closed-circuit disconnection processing will be described.
メッセージ処理部はノード間リンクを転送するすべてのメッセ一ジ (APメッセージ、 ネッ トワーク情報更新メッセ一ジ)にデータヘッダを付 加し、 上述のようにデータへッダ内の経路情報をチェックすることによ り閉路検出を行う。 閉路検出時、 実際に検出対象となったデータヘッダ の経路情報は閉路を表している。メッセージ処理部はこの経路情報(以下 閉路情報と呼ぶ)をリンク管理部に配送する。上記閉路情報を受け取った リンク管理部は、閉路を構成するノード間リンク(切断予定ノード間リン ク)を 1つ選択する。 上記リンク選択処理は、 閉路を構成するすべてのノ 一ドのリンク管理部が行うが、 結果としてすベてのノードのリンク管理 部が同一のリンクを選択するようなアルゴリズムによって行う。 切断予 定ノード間リンク選択後、 リンク管理部は自ソードがそのリンクを確立 しているかどうかを確認する。切断予定リンクを確立しているノ一ドは、 そのリンクを切断する。  The message processing unit adds a data header to all messages (AP messages, network information update messages) that transfer the link between nodes, and checks the routing information in the data header as described above. Thus, the closed circuit is detected. When a closed circuit is detected, the route information in the data header actually detected indicates a closed circuit. The message processing unit delivers this route information (hereinafter referred to as “closed information”) to the link management unit. Upon receiving the above-mentioned closed circuit information, the link management unit selects one inter-node link (a scheduled inter-node link) constituting the closed circuit. The link selection processing is performed by the link management units of all the nodes constituting the closed circuit, but as a result, the link management units of all nodes select the same link. After selecting the link between the nodes scheduled to be disconnected, the link management unit checks whether its own source has established the link. A node that has established a link to be disconnected disconnects the link.
以下、 切断予定リンクの選択方法を説明する。 リンク管理部はノード 間リンクの両端ノードの I Pァドレス (またはノード名)から適当なハツシ ュ関数を用いて、 ノード間リンクの I D値を求める。 閉路を構成するノ ード間リンクの中で、 最大(または最小)の I D値を持つノード間リンク を切断予定ノード間リンクとする。  Hereinafter, a method of selecting a link to be disconnected will be described. The link management unit obtains the ID value of the inter-node link using an appropriate hash function from the IP addresses (or node names) of the nodes at both ends of the inter-node link. Among the inter-node links that constitute a closed circuit, the inter-node link having the maximum (or minimum) ID value is the inter-node link to be disconnected.
もし最大の I D値を持つノード間リンクが複数存在する場合は、 次に I _ D値が大きなノード:間 J丄ン を切断予定ノード間リンクと: T—る。 このよ うに、 1つのノード間リンクが決定するまで I D値の比較を行う。 上記 選択方法ではすべてのノードが同一の計算を行うので、 すべてのノード が切断予定リンクとして同一のノード間リンクを決定することになる。 上記方法では理論的には、 最後まで唯一のノード間リンクを決定できな い場合があるが、 M D 5等有用なハツシュ値計算アルゴリズムを用いる ことで実用上問題は発生しない。 If there are a plurality of inter-node links having the maximum ID value, the next inter-node link having the largest I_D value is the inter-node link: T—. In this way, comparison of ID values is performed until one inter-node link is determined. In the above selection method, all nodes perform the same calculation, so that all nodes determine the same internode link as the link to be disconnected. Theoretically, in the above method, it may not be possible to determine the only link between nodes until the end, but practical problems do not occur by using a useful hash value calculation algorithm such as MD5.
<実施例 2 > <Example 2>
実施例 1ではすベてのノードが自ノードの基本情報をブロードキャス トしていた。 この方式は確実にノード検出を行うことができる反面、 ノ 一ド数に比例してネッ トワーク負荷が増加する。 実施例 2ではブロード キャストを行うノードがネッ トワーククラス夕内で最低 1個存在すれば 十分であるような、 ネッ トワーク構成方法を提供する。 以下実施例 1 と の差異を中心に説明する。  In the first embodiment, all the nodes broadcast the basic information of the own node. Although this method can reliably detect nodes, the network load increases in proportion to the number of nodes. In the second embodiment, a network configuration method is provided in which it is sufficient if at least one node performing the broadcast exists in the network class. The following mainly describes differences from the first embodiment.
図 2に示した例(ノード 6がノード 4に接続する例)を用いて、 新規ノ ードがネッ トワーククラスタに接続する方法を説明する。 ネッ トワーク クラスタを構成する各ノ一ドは、 自分がその一部であるネッ トワークク ラスタ内の全ノードの基本情報を自ノードのノード基本情報テーブルに 登録している。ネッ トワーククラス夕内のあるノード(ブロードキャスト ノード)が、上記ネッ トワーククラスタを形成する全ノードの基本情報を ブロードキャストする。 この例では、 ノード 1からノード 5がネッ トヮ —ククラスタを構成しているので、 ブロードキャス卜ノードはノード 1 からノード 5の基本情報をブロードキャストする。  Using the example shown in Fig. 2 (example where node 6 connects to node 4), a method for connecting a new node to a network cluster will be described. Each node that makes up the network cluster registers the basic information of all nodes in the network cluster of which it is a part in its own node basic information table. A node (broadcast node) in the network class broadcasts basic information of all nodes forming the network cluster. In this example, since the nodes 1 to 5 form a network cluster, the broadcast node broadcasts the basic information of the nodes 1 to 5.
ブロードキャストノードの選択は、 ネッ トワーククラス夕内で特定の 1個のノードに決定できる方法であれば、 どのような方法で行ってもか まわない。例えぱ、ノ一ド基本情報テーブルに登録されたノードのうち、 IPァドレスが最小のノードがブ —ドキャストノードにな いう方法 が利用できる。 またノード名等によって決定してもよい。  The selection of the broadcast node may be performed by any method that can determine a specific node within the network class. For example, among the nodes registered in the node basic information table, a method in which the node with the smallest IP address becomes a broadcast node can be used. Alternatively, it may be determined by a node name or the like.
ノード 6のリンク管理部は上記ブロードキャストメッセージを受信す ると、 自ノードのノード基本情報テーブルに受信した基本情報をマージ する。 ノード 6のリンク管理部はステツプ 5 0 1から 5 0 4の処理を実 行してノード 4をノード間リンク確立相手として選択し、 接続要求 7 0 1および接続応答 8 0 1を送受信することによって、 ノード間リンクを 確立する(ステップ 5 0 5 , 5 0 6 )。 本実施例においては、 ノード 6は 接続要求 7 0 1にさらに自ノードのノード基本情報テーブルの内容を含 める。 またノード 4も接続応答 8 0 1に自ノードのノード基本情報テー ブルの内容を含める。 ノード 4、 ノード 6のリンク管理部は接続要求及 び接続応答を受信すると、 それらに含まれるノードの基本情報をそれぞ れのノード基本情報テーブルにマージする。 Upon receiving the above broadcast message, the link manager of node 6 merges the received basic information into its own node basic information table. I do. The link management unit of the node 6 executes the processing of steps 501 to 504, selects the node 4 as a link establishment partner between the nodes, and transmits and receives the connection request 701 and the connection response 801. Then, a link between the nodes is established (steps 505 and 506). In the present embodiment, the node 6 further includes the contents of the node basic information table of its own node in the connection request 7001. Node 4 also includes the contents of the node basic information table of its own node in connection response 8001. Upon receiving the connection request and the connection response, the link management units of the nodes 4 and 6 merge the basic information of the nodes contained therein into the respective node basic information tables.
ノード 4とノード 6はノード間リンク確立後、 ステップ 1 2 0 1から 1 2 0 8の処理と同様の方法で、 ネッ 卜ワーク情報更新メッセージを既 存ノード間リンクを通じて、 ネッ トワーククラスタ全体に転送する。 こ のとき各ノードのリンク管理部は、 転送するネッ トワーク情報更新メッ セージに自ノードのノード基本情報テーブルの内容を含める。 ネッ トヮ ーク情報更新メッセージを受信したノードのリンク管理部は、 上記ネッ トワーク情報更新メッセージに含まれるノードの基本情報を自ノードの ノ一ド基本情報テーブルとマージする。  After establishing the inter-node link, nodes 4 and 6 forward the network information update message to the entire network cluster through the existing inter-node link in the same way as in steps 1201 to 1208. I do. At this time, the link management unit of each node includes the contents of the node basic information table of its own node in the transferred network information update message. The link management unit of the node that has received the network information update message merges the basic information of the node included in the network information update message with the node basic information table of the own node.
ノードがネッ トワーククラス夕から消滅した場合、 実施例 1ではネッ トワーク情報更新メッセージをネッ トワーククラスタ全体に転送するこ とによって、 リンクオブジェク ト内のネッ トワーク情報更新を行ってい た。 実施例 2では上記ネッ トワーク情報更新メッセージにさらにノ一ド 基本情報テーブルの内容を含める。  In the first embodiment, when the node disappears from the network class, the network information update message is transferred to the entire network cluster, thereby updating the network information in the link object. In the second embodiment, the contents of the node basic information table are further included in the network information update message.
つまりノ一 _ド.消滅時、 ノ二-ド消滅検出 -—ドは自人一ドのノード基本情 報テーブルから消滅ノードを削除した後、 ノード基本情報テーブルの内 容を含めたネッ トワーク情報更新メッセージをノ一ド間リンクに送信す る。 上記ネッ 卜ワーク情報更新メッセージを受信したノードのリンク管 理部は、 上記ネッ トワーク情報更新メッセ一ジに従って自ノードのノー ド基本情報テーブルを更新した後、 ノード基本情報テーブルの内容を含 めたネッ トヮ一ク情報更新メッセージを受信経路以外のノード間リンク に転送する。 In other words, when the node disappears, the node disappears when the node disappears. The network information including the contents of the node basic information table after deleting the disappeared node from its own node basic information table. Send an update message to the internode link. Link management of the node that received the network information update message After updating the node basic information table of its own node in accordance with the network information update message, the management unit transmits a network information update message including the contents of the node basic information table to the nodes other than the receiving route. To the inter-link.
以上のように本実施例では、 新規ノードの接続及び既存ノードの消滅 発生時、 ノード間リンクを通じて送受信するメッセージ(接続要求、 接続 応答、ネッ トワーク情報更新メッセージ)にノードの基本情報を含めるこ とによって、 ブロードキャスト処理に頼らずにネッ 卜ワーククラスタを 構成する各ノードのノード基本情報テーブルを更新する。これによつて、 ブロードキャスト処理を行うノ一ドはネッ トワーククラス夕内で高々 1 個あれば十分であり、 結果的にネッ トワーク負荷を軽減することができ る。  As described above, in this embodiment, when a new node is connected or an existing node disappears, the basic information of the node is included in the messages (connection request, connection response, network information update message) transmitted and received through the inter-node link. Thus, the node basic information table of each node constituting the network cluster is updated without relying on the broadcast processing. As a result, at most one node that performs broadcast processing in the network class is sufficient, and as a result, the network load can be reduced.
<実施例 3 >  <Example 3>
実施例 1、 2ではブロードキャストを利用してネッ 卜ワーククラスタ を構成するノードの基本情報を新規ノードに送信している。 しかし、 ブ ロードキャストは通常同一ネッ トヮ一ク(セグメン卜)内に存在するノ一 ド間だけで使用可能であり、 遠隔地に存在するノードと通信するには向 いていいない。 実施例 3ではブロードキャストを一切使用しないネッ ト ワーク構成方法を提供する。  In the first and second embodiments, the basic information of the nodes constituting the network cluster is transmitted to the new node by using the broadcast. However, broadcast can usually be used only between nodes existing in the same network (segment), and is not suitable for communicating with nodes located in remote locations. The third embodiment provides a network configuration method that does not use any broadcast.
本実施例では、ネッ トワーククラス夕から消滅しない (または消滅する 頻度が低い)ノード(we l卜 knownノ一ド)が少なく とも 1個存在すること を仮定する。 そして、 ネッ トワーククラス夕に接続するノードは上記 we l L-knownノー Hの 先をあらかじめ知:? Tいる必要があ a_ ― 以下、 新規ノードがネッ トワーククラスタに接続する方法につて、 実 施例 2との差異を中心に説明する。 まずネッ トワーククラスタに接続し ようとするノード(ノード 6 )のリンク管理部は we l卜 knownノードに基本 情報要求メッセージを送信する。 このメッセージを受信した we 1卜 known ノードは、自ノードのネッ トワーク基本情報テーブルの内容を返信する。 ここでのメッセージ送受信はノード間リンクを使用しない方法(単純な U D Pによるデータ転送など)で行う。 In this embodiment, it is assumed that there is at least one node (welt known node) that does not disappear (or does not frequently disappear) from the network class. Then, the node connected to the network class evening knows the destination of the above we l-known no H in advance :? T must have there a _ - hereinafter with the method of the new node connects to the network cluster, will be described focusing on differences between the actual施例2. First, the link management unit of the node (node 6) that wants to connect to the network cluster is based on a well-known node. Send an information request message. The we known node that receives this message returns the contents of its own network basic information table. The message transmission and reception here is performed by a method that does not use the link between nodes (simple UDP data transfer, etc.).
5 上記ネッ トワーク基本情報テーブルを受信したノード 6のリンク管理 部は、 自ノードのネッ トワーク基本情報テーブルを更新することにより ネッ トヮ一ククラスタを構成するノ一ドを検出する。 検出方法はステツ プ 5 0 3で説明した方法と同様である。この後実施例 2と同様の方法で、 ノード 6はノード間リンクを確立しネッ トワーククラスタに接続する。 5 Upon receiving the network basic information table, the link management unit of the node 6 updates the network basic information table of its own node to detect a node forming a network cluster. The detection method is the same as the method described in step 503. Thereafter, in the same manner as in the second embodiment, the node 6 establishes a link between the nodes and connects to the network cluster.
0 ノード 6の基本情報及びネッ トワーク情報は、 ネッ トワーク情報更新メ ッセージ転送処理によってネッ トワーククラスタ全体に転送される。 we U - knownノ一ドはネッ トワーククラスタの一部であるので、 上記情報 は we l卜 knownノードにも転送される。 従って、 次に別ノードが we l卜 kno wnノ一ドに基本情報要求メッセージを送信したときに、 we l l - knownノー 5 ドはノード 6の情報を含むノード群の基本情報を返信することになる。  0 The basic information and network information of node 6 are transferred to the entire network cluster by the network information update message transfer process. Since the we U-known node is part of the network cluster, the above information is also transferred to the known node. Therefore, the next time another node sends a basic information request message to the node kno wn, the well-known node returns the basic information of the node group including the information of node 6. Become.
ノードの消滅処理は実施例 2と同じである。  Node disappearance processing is the same as in the second embodiment.
以上説明したように、 この実施形態によれば we l l -knownノードの存在 を仮定することで、 ブロードキャス卜が利用できない場合にも、 実施例 1 、 2で説明したネッ ト ワーク システムが利用可能となる。 上記 0 we U _knownノ一ドはネッ トワーククラスタ内に最低 1個存在すればよい が、 we 1 1 -knownノードの台数を増やすことで、 we 1卜 knownノードの負荷 を低減することができる。  As described above, according to this embodiment, by assuming the existence of a well-known node, the network system described in Embodiments 1 and 2 can be used even when broadcast is not available. It becomes. It is sufficient that at least one 0 we U_known node exists in the network cluster. By increasing the number of we11-known nodes, the load on the we1known node can be reduced.
_ —― また、 ブロードキャストによってネッ トワーククラス夕の存在を検出 できれば実施例 1の方法を採用し、 そうでなければ本実施例の方法を採 5 用する、 という具合に 2つの実施例を組み合わせた利用方法も考えられ る。 これによつて、 we l l - knownノードへの問い合わせ回数が減少し、 結 果的に we l l - knownノードの負荷、 ネッ トワーク負荷等を減少ることがで きる。 _ —— In addition, the method of Embodiment 1 is adopted if the presence of a network class can be detected by broadcasting, and the method of this embodiment is adopted otherwise. How to use it is also conceivable. As a result, the number of queries to the we ll-known node is reduced, and consequently As a result, well-known node load, network load, etc. can be reduced.
以上説明したように、 本発明によればメッセージ転送に必要なホップ 数が、 できるだけ小さくなるような最適なネッ トワーク トポロジを、 P2P ネッ トワークシステムにおいて自動生成することができる。 また本発明によればノード生成、 消滅時のネッ トワーク 卜ポロジ変化 に簡単なァルゴリズムで柔軟に対応することができる。  As described above, according to the present invention, an optimum network topology that minimizes the number of hops required for message transfer can be automatically generated in a P2P network system. Further, according to the present invention, it is possible to flexibly cope with a change in network topology at the time of node generation and disappearance with a simple algorithm.
また本発明によれば、 ノードごとに最大リンク数を設定することがで きるので、 上記ネッ トワーク トポロジはノードの性能、 資源を考慮した ものとなる。  Further, according to the present invention, the maximum number of links can be set for each node, so that the above network topology takes into consideration the performance and resources of the node.

Claims

請求の範囲 The scope of the claims
1 . 他の装置と通信してネッ トワークを構成する通信装置であって、 ネッ トワーク上に存在するノードの最大リンク数と現状リンク数を含 むノード基本情報を保持する記憶部と、 1. A communication device that communicates with another device to configure a network, and that stores node basic information including the maximum number of links of a node existing on the network and the current number of links,
前記基本情報に基きリンクを確立する相手ノードの候補を選択する選 択部とを  A selecting unit for selecting a candidate of a partner node for establishing a link based on the basic information.
備えたことを特徴とする通信装置。 A communication device, comprising:
2 . 前記選択部は、 現状リンク数が最大リンク数を超えていないノード の中で、 現状リンク数が最大のノ一ドをリンク相手ノードの候補とする ことを特徴とする請求項 1の通信装置。 2. The communication according to claim 1, wherein the selecting unit sets a node having the largest current link number among nodes whose current link number does not exceed the maximum link number as a link partner node candidate. apparatus.
3 . 請求項 1において更に、 他の装置との通信リンクを確立するリンク 生成部を備え、 該リンク生成部は前記選択部が選択した相手装置と、 各 装置が既に所属するネッ トワークを構成しているノード群のノード名と 宛先を含むネッ トワーク情報を互いに交換することを特徴とする通信装 3. The device according to claim 1, further comprising a link generation unit that establishes a communication link with another device, wherein the link generation unit configures a partner device selected by the selection unit and a network to which each device already belongs. Communication equipment for exchanging network information including node names and destinations of a set of nodes
4 . 請求項 1において更に、 他のノードとの通信リンクを確立するリン ク生成部を備え、 該リンク生成部は他のノードから接続要求を受けた場 合に、 自装置の現状リンク数と最大リンク数とを比較し、 現状リンク数 が最大リンク欽 _を ぇ_て—いない-場合—に接続許可応答を他のノードに送信 してリンクを確立することを特徴とする通信装置。 4. In claim 1, further comprising a link generation unit for establishing a communication link with another node, wherein the link generation unit determines the current number of links of its own device when receiving a connection request from another node. A communication device characterized by comparing a maximum number of links and transmitting a connection permission response to another node to establish a link when the current number of links does not indicate a maximum link number ________________________ or not a link.
5 . 請求項 3において更に、 リンク管理部を備え、 該リンク管理部は確 立されたリンクを使用してネットワーク情報を送受信し、 前記リンクを 通じて取得したネッ 卜ワーク情報を、 前記リンクに関連付けて保持する ことを特徴とする通信装置。 5. Claim 3 further includes a link management unit, and the link management unit A communication device for transmitting and receiving network information using an established link, and holding network information obtained through the link in association with the link.
6 . 前記リンク管理部は、 前記リンクを通じて取得したネッ トワーク情 報と当該通信装置が前記リンクに関連付けて保持しているネッ トワーク 情報が同一内容の場合には、 ネッ トワーク情報の再送信を抑止すること を特徴とする請求項 5の通信端末。 6. When the network information acquired through the link and the network information held by the communication device in association with the link have the same content, the link management unit suppresses retransmission of the network information. 6. The communication terminal according to claim 5, wherein:
7 . 前記リンク管理部は、 前記リンクを通じて取得したネッ トワーク情 報を当該通信装置が既に保持していたネッ トワーク情報とマージし、 前 記リンク以外のリンクに対してマージ後のネッ トワーク情報を再送信す ることを特徴とする請求項 5の通信装置。 7. The link management unit merges the network information acquired through the link with the network information already held by the communication device, and merges the merged network information with a link other than the link described above. The communication device according to claim 5, wherein the communication device is retransmitted.
8 . 前記リンク管理部は、 確立済みリンクが消滅したことを検出したと きに、 消滅したリンクに関連つけていたネッ トワーク情報を消去するこ とを特徴とする請求項 5の通信装置。 8. The communication device according to claim 5, wherein the link management unit deletes network information associated with the lost link when detecting that the established link has disappeared.
9 . 前記リンク管理部は、 リンクによって形成される経路に閉路が形成 されたとき、 前記閉路を構成するすべてのノード間リンクの I Dを 前 記すベてのノ一ド上で同一の結果が得られる方法で計算することによつ て、 前記閉路を構成する通信端末間リンクの中から 1つのリンクを選択 _し、 前記選択を £つた _リン ^を切断することによつて„前記閉路を切断す ることを特徴とする請求項 5の通信端末。 9. The link management unit obtains the same result on all the nodes described above, when a cycle is formed in the path formed by the link, by identifying the IDs of all the inter-node links constituting the cycle. By selecting a link from the links between the communication terminals that constitute the closed circuit by calculating the link, and disconnecting the selected link, the link The communication terminal according to claim 5, wherein the communication terminal is disconnected.
1 0 . 請求項 1の通信端末において、 前記記憶部が保持する前記ノード 基本情報を定期的にネッ トワークにブロードキャストすることを特徴と する通信端末。 10. The communication terminal according to claim 1, wherein the node held by the storage unit is A communication terminal that broadcasts basic information to a network periodically.
1 1 . 前記リンク管理部は、 前記最大リンク数を、 CPU 性能、 ネッ トヮ ーク性能を含むノード性能や、 ノードが保持するデータの量、 データの 質に基づいて決定することを特徴とする請求項 1の通信端末。 11. The link management unit determines the maximum number of links based on node performance including CPU performance and network performance, the amount of data held by the node, and the quality of data. The communication terminal of claim 1, wherein
1 2 . 各ノ一ドがリンクを確立する相手ノードを自立的に判断するネッ 卜ワークシステムにおいて、 1 2. In a network system in which each node autonomously determines the partner node to establish a link,
前記ノードのそれぞれが、 ネッ トワーク上に存在するノードの最大リ ンク数と現状リンク数を含むノード基本情報を保持する記憶部と、 , 前記基本情報に基きリンクを確立する相手ノードの候補を選択する選 択部とを  A storage unit for storing node basic information including a maximum number of links of the nodes existing on the network and a current number of links, and selecting a candidate node to establish a link based on the basic information; Selection section
備えることを特徴とするネッ トワークシステム。 A network system characterized by comprising:
1 3 . 前記選択部は、 現状リンク数が最大リンク数を超えていないノ一 ドの中で、 現状リンク数が最大のノードをリンク相手ノ一ドの候補とす ることを特徴とする請求項 1 2のネッ トワークシステム。 13. The node selecting the node having the largest current link number among nodes whose current link number does not exceed the maximum link number as a link partner node candidate. Item 12 network system.
1 4 . 請求項 1 2において、 前記ノ一 ドは更に他のノードとの通信リン クを確立するリンク生成部を備え、 該リンク生成部は前記選択部が選択 した相手ノードと、 各ノードが既に所属するネッ トワークを構成してい るノ一ド群のノード名と宛先を含むネッ 1、ワーク情報を互いに交換する ことを特徵とするネッ トワークシステム。 14. In claim 12, the node further includes a link generation unit that establishes a communication link with another node, wherein the link generation unit includes a partner node selected by the selection unit and each node. A network system that exchanges network information, including the node names and destinations of nodes that already belong to a network, and the network information.
1 5 . 請求項 1 2において、 前記ノ一ドは更に、 他のノードとの通信リ ンクを確立するリンク生成部を備え、 該リンク生成部は他のノードから 接続要求を受けた場合に、 自装置の現状リンク数と最大リンク数とを比 較し、 現状リンク数が最大リンク数を超えていない場合に接続許可応答 を他のノードに送信してリンクを確立することを特徴とするネットヮ一 クシステム。 15. The node according to claim 12, wherein the node further comprises a communication link with another node. A link generation unit that establishes a link and, when receiving a connection request from another node, compares the current number of links of the own device with the maximum number of links, and determines that the current number of links is the maximum number of links. A network system for transmitting a connection permission response to another node to establish a link when the number does not exceed the limit.
1 6 . 請求項 1 4において、 前記ノードは更にリンク管理部を備え、 該 リンク管理部は確立されたリンクを使用してネッ トワーク情報を送受信 し、 前記リンクを通じて取得したネッ トワーク情報を、 前記リンクに関 連付けて保持することを特徴とするネッ 卜ワークシステム。 16. In claim 14, wherein the node further comprises a link management unit, the link management unit transmits and receives network information using an established link, and transmits the network information acquired through the link to the node. A network system characterized by linking and maintaining links.
1 7 . 請求項 1 2において、 前記記憶部が保持する前記ノード基本情報 を定期的にネッ トワークにブロードキャストすることを特徴とするネッ 卜ワークシステム。 17. The network system according to claim 12, wherein the node basic information stored in the storage unit is periodically broadcast to a network.
1 8 . 前記ネッ トワークを構成する一部のノードは、 当該ノードが保持 するネッ トワーク情報から、 ノードの最大リンク数と現状リンク数を含 むノード基本情報を生成し、 前記ネッ トワーククラスタを構成するノ一 ドのノード基本情報を定期的にプロ一ドキャストすることを特徴とする 請求項 1 2のネッ トワークシステム。 18. Some of the nodes that make up the network generate node basic information including the maximum number of links of the node and the current number of links from the network information held by the node, and form the network cluster. 13. The network system according to claim 12, wherein basic information of a node to be updated is periodically broadcast.
1 9 . 請求項 1 2において、 前記選択部はネッ トワーククラス夕を構成 するノードの 、宛先-変化が少な—い je 1上- kjiownノードにネッ トワークク ラスタ を構成する ノー ドのノー ド基本情報を問い合わせ、 前記 we l l -known ノードから受信したノード基本情報からリンクを確立する 相手ノードの候補を選択することを特徴とするネッ トワークシステム。 19. The communication system according to claim 12, wherein the selection unit is a node that configures a network cluster in a kjiown node on je1 with little change in destination—a node that configures a network class. And a candidate node to establish a link based on the node basic information received from the well-known node.
2 0 . 各ノードがリンクを確立する相手ノードを自立的に判断するネッ 卜ワークシステムにおいて、 20. In a network system where each node autonomously determines the partner node to establish a link,
各ノ一ドにネッ トワーク上に存在するノ一ドの最大リンク数と現状リ ンク数を含むノード基本情報を保持し、  Each node holds the basic node information including the maximum number of links of the node existing on the network and the current number of links.
前記基本情報に基きリンクを確立する相手ノードの候補を選択するこ とを特徴とするリンク生成方法。  A link generation method characterized by selecting a candidate of a partner node for establishing a link based on the basic information.
2 1 . 前記選択ステップは、 現状リンク数が最大リンク数を超えていな いノードの中で、 現状リンク数が最大のノードをリンク相手ノードの候 補とすることを特徴とする請求項 2 0のリンク生成方法。 21. The method according to claim 20, wherein, in the selecting step, a node having the largest current number of links among nodes whose current number of links does not exceed the maximum number of links is set as a candidate for a link partner node. Link generation method.
2 2 . 請求項 2 1において更に、 前記選択部が選択した相手ノードと、 各ノ一ドが既に所属するネッ トワークを構成しているノ一ド群のノード 名と宛先を含むネッ トワーク情報を互いに交換することを特徴とするリ ンク生成方法。 22. In claim 21, further, the network information including the partner node selected by the selection unit and the node names and the destinations of the node groups that constitute the network to which each node already belongs. A link generation method characterized by exchanging each other.
2 3 . 請求項 2 0において更に、 他のノードから接続要求を受けた場合 に、 自装置の現状リンク数と最大リンク数とを比較し、 現状リンク数が 最大リンク数を超えていない場合に接続許可応答を他のノードに送信し てリンクを確立することを特徴とするリンク生成方法。 23. In claim 20, when a connection request is received from another node, the current number of links of the own device is compared with the maximum number of links, and if the current number of links does not exceed the maximum number of links. A link generation method characterized by transmitting a connection permission response to another node to establish a link.
PCT/JP2003/012549 2003-01-21 2003-09-30 Communication device, network system, and link generation method WO2004066569A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2003271071A AU2003271071A1 (en) 2003-01-21 2003-09-30 Communication device, network system, and link generation method
JP2004567149A JP4231002B2 (en) 2003-01-21 2003-09-30 Communication apparatus, network system, and link generation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003011746 2003-01-21
JP2003-011746 2003-01-21

Publications (1)

Publication Number Publication Date
WO2004066569A1 true WO2004066569A1 (en) 2004-08-05

Family

ID=32767297

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/012549 WO2004066569A1 (en) 2003-01-21 2003-09-30 Communication device, network system, and link generation method

Country Status (3)

Country Link
JP (1) JP4231002B2 (en)
AU (1) AU2003271071A1 (en)
WO (1) WO2004066569A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008526056A (en) * 2004-12-07 2008-07-17 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Determining the highest workload for nodes in the overlay network
JP2020191607A (en) * 2019-05-24 2020-11-26 古河電気工業株式会社 Communication system, control method of the same, and communication device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08223161A (en) * 1995-02-10 1996-08-30 Toshiba Corp Method for forming inter-system monitoring network and inter-system monitoring device
JP2001034592A (en) * 1999-05-14 2001-02-09 Mitsubishi Electric Corp System and method for network constitution management
JP2002064513A (en) * 2000-08-22 2002-02-28 Minolta Co Ltd Loop avoidance system and loop avoidance method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08223161A (en) * 1995-02-10 1996-08-30 Toshiba Corp Method for forming inter-system monitoring network and inter-system monitoring device
JP2001034592A (en) * 1999-05-14 2001-02-09 Mitsubishi Electric Corp System and method for network constitution management
JP2002064513A (en) * 2000-08-22 2002-02-28 Minolta Co Ltd Loop avoidance system and loop avoidance method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008526056A (en) * 2004-12-07 2008-07-17 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. Determining the highest workload for nodes in the overlay network
JP2020191607A (en) * 2019-05-24 2020-11-26 古河電気工業株式会社 Communication system, control method of the same, and communication device
JP7105728B2 (en) 2019-05-24 2022-07-25 古河電気工業株式会社 Communication system, communication system control method, and communication device

Also Published As

Publication number Publication date
JPWO2004066569A1 (en) 2006-05-18
JP4231002B2 (en) 2009-02-25
AU2003271071A1 (en) 2004-08-13

Similar Documents

Publication Publication Date Title
JP6047229B2 (en) Name-based neighbor discovery and multi-hop service discovery in information-centric networks
KR101256687B1 (en) Apparatus for setting multipath and method thereof
US8798016B2 (en) Method for improving peer to peer network communication
TWI357242B (en) Route selection in wireless networks
JP5048684B2 (en) Selective service update method for communication network
US20070201418A1 (en) Mobile terminal device, control method, and mobile communication system
WO2004082225A1 (en) Radio ad hoc communication system, terminal, processing method in the terminal, and program causing the terminal to execute the method
JP2004282270A (en) Radio ad hoc communication system, terminal, processing method therein, and program for making terminal to execute the method
JP2007228083A (en) Communication node and routing method
TW201116099A (en) Methods and apparatus for forming, maintaining and/or using overlapping networks
JP4607764B2 (en) Mobile peer-to-peer network construction
JP3872051B2 (en) System and method for searching and distributing contents, and program
CN101425958A (en) Request answering method, apparatus and system in P2P overlapping network
US20080008201A1 (en) Communication terminal, a method for communication, and a program strorage medium storing a program thereof
JP6264856B2 (en) Node device, control program, wireless communication system, and data communication method
US20190132235A1 (en) Method for distance-vector routing using adaptive publish-subscribe mechanisms
JP2006050461A (en) Method of configuring multi-hop radio system and radio node device
EP1475926A2 (en) Routing system for establishing optimal route in wireless personal area network (WPAN) and method thereof
JP2005072834A (en) Mobile ad hoc network system, mobile ad hoc network control method, and program
WO2004066569A1 (en) Communication device, network system, and link generation method
JP2003244210A (en) Routing control method, routing controller, recording medium, and control program
Hemmati et al. Making name-based content routing more efficient than link-state routing
KR100641796B1 (en) P2P overlay network construction method and apparatus
JP2005244880A (en) Device, system, and method for information transfer
JPWO2006048936A1 (en) Ad hoc network, mobile terminal, gateway node and gateway node selection method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004567149

Country of ref document: JP

122 Ep: pct application non-entry in european phase