JP2005267061A - Communication system and address list acquisition method - Google Patents
Communication system and address list acquisition method Download PDFInfo
- Publication number
- JP2005267061A JP2005267061A JP2004076612A JP2004076612A JP2005267061A JP 2005267061 A JP2005267061 A JP 2005267061A JP 2004076612 A JP2004076612 A JP 2004076612A JP 2004076612 A JP2004076612 A JP 2004076612A JP 2005267061 A JP2005267061 A JP 2005267061A
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- range information
- received
- terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000004891 communication Methods 0.000 title claims description 31
- 230000005540 biological transmission Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】 少ないデータ量でありながら、全端末が他のグループの全端末のアドレスを取得する。
【解決手段】 ピアX1のアドレスを取得したピアY1は、アドレス範囲情報[null,null]と、グループG2のアドレスリストL2を、ピアX1に送信し、ピアX1は、アドレスリスト転送処理により新たに生成されたアドレス範囲情報とアドレスリストL2とをピアX2,X3に送信する。一方、ピアX1は、グループG1のアドレスリストL1をピアY1と、アドレス範囲情報[null,null]とを、ピアY1に送信し、ピアY1は、アドレスリスト転送処理により新たに生成されたアドレス範囲情報と、アドレスリストL1とをピアY2に送信する。
【選択図】 図4PROBLEM TO BE SOLVED: To obtain addresses of all terminals of other groups while all terminals have a small data amount.
A peer Y1 that has acquired an address of a peer X1 transmits address range information [null, null] and an address list L2 of a group G2 to the peer X1, and the peer X1 newly performs an address list transfer process. The generated address range information and the address list L2 are transmitted to the peers X2 and X3. On the other hand, the peer X1 transmits the address list L1 of the group G1 to the peer Y1 and the address range information [null, null] to the peer Y1, and the peer Y1 newly generates the address range generated by the address list transfer process. Information and address list L1 are transmitted to peer Y2.
[Selection] Figure 4
Description
本発明は、第1のグループと第2のグループとからなる通信システムに関し、特に、他方のグループに属する全端末のアドレスを全端末が取得する技術に関する。 The present invention relates to a communication system composed of a first group and a second group, and more particularly to a technique in which all terminals acquire the addresses of all terminals belonging to the other group.
近年、サーバ専用機を設置することなく、種々のデータをネットワーク内で共有することができるピュアピアツーピアネットワークシステムが注目されている。このピュアピアツーピアネットワークシステムは、インターネット回線、あるいは、LAN回線を介して通信可能に接続された複数の端末間で構成されたグループ内において、各端末が所有するファイル等のデータを共有することができるシステムである。 2. Description of the Related Art In recent years, a pure peer-to-peer network system that can share various data within a network without installing a server dedicated machine has attracted attention. This pure peer-to-peer network system can share data such as files owned by each terminal within a group configured between a plurality of terminals communicably connected via an Internet line or a LAN line. System.
ピュアピアツーピアネットワークシステムでは、グループを構成する各端末は、グループに属する全端末の通信アドレスを知る必要がある。そのため、ある端末をグループに追加する場合、当該端末のアドレスを、グループを構成する各パソコンに通知すると共に、グループを構成する各端末のアドレスを、追加される端末に通知しなければならない。 In a pure peer-to-peer network system, each terminal constituting a group needs to know the communication addresses of all terminals belonging to the group. Therefore, when a certain terminal is added to the group, the address of the terminal must be notified to each personal computer constituting the group, and the address of each terminal constituting the group must be notified to the added terminal.
ピュアピアツーピアネットワークシステムを実現するソフトウェアとしてヌーテラ(gnutella)が広く知られているが、このヌーテラでは、新しく端末を追加する場合、追加される端末は、PINGメッセージをグループ内の各端末にブロードキャストする。一方、このメッセージを受信した各端末は、PONGメッセージにより応答する。これにより、上述のアドレスの通知が行なわれている。なお、ブロードキャストされるPINGメッセージは、端末を通過する毎に値が1つ減算されるTTL(time to live)が設定され、TTL=1となるまで、グループ内を各端末によって転送される。 Nutella (gnutella) is widely known as software for realizing a pure peer-to-peer network system. When a new terminal is added, the added terminal broadcasts a PING message to each terminal in the group. On the other hand, each terminal receiving this message responds with a PONG message. As a result, the above-described address notification is performed. The broadcast PING message is set with a TTL (time to live) value that is decremented by 1 every time it passes through the terminal, and is transferred by each terminal within the group until TTL = 1.
具体的には、PINGメッセージには、送信元のIPアドレス及びポート番号が含まれ、PONGメッセージには、PONGメッセージを応答した各端末のIPアドレス及びポート番号が含まれている。そのため、グループに追加された端末は、システム内の各端末のアドレスを知ることができるとともに、グループ内の各端末も追加された端末のアドレスを知ることができる。 Specifically, the IP address and port number of the transmission source are included in the PING message, and the IP address and port number of each terminal that has responded to the PONG message are included in the PONG message. Therefore, the terminal added to the group can know the address of each terminal in the system, and each terminal in the group can also know the address of the added terminal.
図8は、端末P2〜P8からなるグループに対して、新たに端末P1が追加される場合に送信されるPINGメッセージ及びPONGメッセージの流れを示す図面であり、(a)はPINGメッセージの流れを示し、(b)はPONGメッセージの流れを示している。 FIG. 8 is a diagram illustrating the flow of a PING message and a PONG message that are transmitted when a terminal P1 is newly added to a group of terminals P2 to P8. FIG. 8A illustrates the flow of a PING message. (B) shows the flow of the PONG message.
図8の場合、端末P1から送信され、TTL=3と設定されたPINGメッセージM1は、隣接する端末P2に送信され、端末P2によってTTL=2とされ、隣接する端末P3及びP4に転送される。端末P3によって受信されたPINGメッセージM1は、TTL=1とされ、端末P3に隣接する端末P5及びP6に転送される。端末P4によって受信されたPINGメッセージ1は、TTL=1とされ、端末P4に隣接する端末P6及びP7に転送される。以上により、端末P2〜P7は、端末P1のアドレスを知る。
In the case of FIG. 8, the PING message M1 transmitted from the terminal P1 and set to TTL = 3 is transmitted to the adjacent terminal P2, is set to TTL = 2 by the terminal P2, and is transferred to the adjacent terminals P3 and P4. . The PING message M1 received by the terminal P3 is set to TTL = 1 and transferred to the terminals P5 and P6 adjacent to the terminal P3. The
一方、PINGメッセージM1を受信した端末P5〜P7は、PONGメッセージM5〜M7を、隣接する端末P3及びP4に送信する。端末P3は、自己のPONGメッセージM3を隣接する端末P2に送信すると共に、端末P5及びP6から送信されたPONGメッセージM5及びM6を端末P2に転送する。また、端末P4は、自己のPONGメッセージM4を端末P2に送信すると共に、端末P6及びP7から送信されたPONGメッセージM6及びM7を端末P2に転送する。さらに、端末P2は、自己のPONGメッセージM2を端末P1に送信することに加えて、端末P3から送信されたPONGメッセージM3,M5,M6を端末P1に転送すると共に、端末P4から送信されたPONGメッセージM4,M6,M7を端末P1に転送する。これにより、端末P1は、端末P2〜P5のアドレスを知る。 On the other hand, the terminals P5 to P7 that have received the PING message M1 transmit PONG messages M5 to M7 to the adjacent terminals P3 and P4. The terminal P3 transmits its own PONG message M3 to the adjacent terminal P2, and transfers the PONG messages M5 and M6 transmitted from the terminals P5 and P6 to the terminal P2. Also, the terminal P4 transmits its own PONG message M4 to the terminal P2, and transfers the PONG messages M6 and M7 transmitted from the terminals P6 and P7 to the terminal P2. Furthermore, in addition to transmitting its own PONG message M2 to the terminal P1, the terminal P2 transfers the PONG messages M3, M5, M6 transmitted from the terminal P3 to the terminal P1 and also transmits the PONG transmitted from the terminal P4. The messages M4, M6 and M7 are transferred to the terminal P1. Thereby, the terminal P1 knows the addresses of the terminals P2 to P5.
しかしながら、上記手法によれば、TTL=1となった時点で、PINGメッセージの転送が終了されるため、グループを構成する全端末に対してPINGメッセージが送信されない可能性がある。例えば、図8(a)に示す端末P8には、端末P5においてTTL=1となるため、PINGメッセージを受信することができない。そして、PINGメッセージを受信することができなかった端末は、新たに追加された端末のアドレスを知ることができないと共に、PONGによる応答も行なわないため、新たに追加された端末は、PINGメッセージを受信することができなかった端末のアドレスを知ることができないという問題が生じる。 However, according to the above method, since the transfer of the PING message is terminated when TTL = 1, the PING message may not be transmitted to all terminals constituting the group. For example, the terminal P8 shown in FIG. 8A cannot receive the PING message because TTL = 1 in the terminal P5. Since the terminal that could not receive the PING message cannot know the address of the newly added terminal and does not respond by PONG, the newly added terminal receives the PING message. The problem arises that the address of the terminal that could not be obtained cannot be known.
また、PINGメッセージはブロードキャストされるため、図8(a)の端末P6に示すように、一台の端末に対して同一のPINGメッセージが重複して送信され、グループ内を流れるデータが増大するという問題がある。さらに、各端末は、PINGメッセージを受信する毎にPONGメッセージを送信すると共に、受信したPONGメッセージの転送も行なうため、グループ内を流れるPONGメッセージの数が膨大になるという問題がある。例えば、図8(b)に示す端末P3は、3つのPONGメッセージM3,M5,M6を端末P2に送信しており、端末P4も、3つのPONGメッセージM4,M6,M7を端末P2に送信している。 Also, since the PING message is broadcast, as shown in the terminal P6 in FIG. 8A, the same PING message is repeatedly transmitted to one terminal, and the data flowing in the group increases. There's a problem. Furthermore, each terminal transmits a PONG message every time it receives a PING message, and also transfers the received PONG message, so that there is a problem that the number of PONG messages flowing in the group becomes enormous. For example, the terminal P3 shown in FIG. 8B transmits three PONG messages M3, M5, and M6 to the terminal P2, and the terminal P4 also transmits three PONG messages M4, M6, and M7 to the terminal P2. ing.
さらに、PINGメッセージの送信元に隣接する端末には、膨大な数のPONGメッセージが送信されるという問題がある。例えば、図8(b)に示す端末P2は、端末P3からのPONGメッセージM3,M5,M6が送信されると共に、端末P4からのPONGUメッセージM4,M6,M7が送信されており、受信するPONGメッセージの数が膨大となっている。 Furthermore, there is a problem that a huge number of PONG messages are transmitted to a terminal adjacent to the transmission source of the PING message. For example, the terminal P2 shown in FIG. 8 (b) receives the PONG messages M3, M5, and M6 from the terminal P3 and the PONGU messages M4, M6, and M7 from the terminal P4 and receives the PONG The number of messages is huge.
本発明の目的は、1又は複数の端末からなるあるグループに対し、新たに1又は複数の端末からなる別のグループの端末を追加する場合、少ないデータ量でありながら、全端末が他のグループの全端末のアドレスを取得することができる通信システム及びアドレスリスト取得方法を提供することである。 The object of the present invention is to add another group of terminals consisting of one or more terminals to a group consisting of one or more terminals, while all the terminals are in other groups while having a small amount of data. It is to provide a communication system and an address list acquisition method capable of acquiring addresses of all terminals.
本発明にかかる通信システムは、1又は複数の端末から構成される第1のグループと、前記第1のグループに対し、通信可能に接続された1又は複数の端末から構成される第2のグループとを備え、各端末は、数値からなる各端末固有の番号からなるアドレスが付与され、同一グループの全端末のアドレスが記載されたアドレスリストを記憶する記憶手段を備え、各端末に他方のグループのアドレスリストを取得させる通信システムであって、前記第1のグループに属する第1の端末が、第1及び第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、第1のグループのアドレスリストとを第2の端末に送信し、前記第2の端末は、第1及び第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、第2のグループのアドレスリストとを前記第1の端末に送信し、前記第1及び第2の端末を含む各端末は、受信したアドレス範囲情報の第1のデータがnullの場合、第1のデータをnull、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で自己アドレスよりも小さいアドレスを有する一台の端末に送信し、受信したアドレス範囲情報の第1のデータがnullでない場合、第1のデータを受信したアドレス範囲情報の第1のデータ、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、前記第1データよりも大きく、自己アドレスよりも小さいアドレスを有する一台の端末に送信し、受信したアドレス範囲情報の第2のデータがnullである場合、第1のデータを自己アドレス、第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、自己アドレスよりも大きいアドレスを有する一台の端末に送信し、受信したアドレス範囲情報の第2のデータがnullでない場合、第1のデータを自己アドレス、第2のデータを受信したアドレス範囲情報の第2のデータとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、自己アドレスよりも大きく、前記第2のデータよりも小さいアドレスを有する一台の端末に送信することを特徴とする。 The communication system according to the present invention includes a first group composed of one or more terminals, and a second group composed of one or more terminals communicably connected to the first group. Each terminal is provided with a storage means for storing an address list in which addresses of all the terminals in the same group are described, each of which is provided with an address consisting of a numerical number unique to each terminal, and each terminal has the other group A first terminal belonging to the first group generates address range information in which the first and second data are null, and the generated address range information; The address list of the first group is transmitted to the second terminal, and the second terminal generates address range information in which the first and second data are null and generates The address range information and the address list of the second group are transmitted to the first terminal, and each terminal including the first and second terminals receives the first data of the received address range information as null. In this case, address range information having null as the first data and self address as the second data is generated, and the generated address range information and the received address list are assigned addresses smaller than the self address within the same group. If the first data of the address range information transmitted to and received by one terminal is not null, the first data and the second data of the address range information from which the first data is received are self addresses. Range information is generated, and the generated address range information and the received address list are larger than the first data in the same group, and are self-addressed. If the second data of the received address range information is null when it is transmitted to one terminal having an address smaller than the address, address range information with the first data as its own address and the second data as null The generated address range information and the received address list are transmitted to one terminal having an address larger than the self address in the same group, and the second data of the received address range information is null. If not, generate address range information in which the first data is the self address and the second data is the second data of the received address range information, and the generated address range information and the received address list are in the same group And transmitting to one terminal having an address larger than the self address and smaller than the second data. Features.
また、各端末は、第1のデータをnull、第2のデータを自己アドレスとするアドレス範囲情報を生成した場合、同一グループの上限アドレスと自己アドレスとの中間のアドレスを有する端末に生成したアドレス範囲情報と、受信したアドレスリストとを送信し、第1のデータを自己アドレス、第2のデータを上限アドレスとするアドレス範囲情報を生成した場合、自己アドレスと、同一グループの上限アドレスとの中間のアドレスを有する端末に生成したアドレス範囲情報と、受信したアドレスリストとを送信し、第1及び第2のデータが共にnullでないアドレス範囲情報を生成した場合、第1のデータと第2のデータとの中間のアドレスを有する端末に、生成したアドレス範囲情報と、受信したアドレスリストとを送信することが好ましい。 In addition, when each terminal generates address range information in which the first data is null and the second data is a self address, the address generated in the terminal having an intermediate address between the upper limit address and the self address of the same group When the range information and the received address list are transmitted and address range information is generated with the first data as the self address and the second data as the upper limit address, the intermediate between the self address and the upper limit address of the same group When the address range information generated to the terminal having the address and the received address list are transmitted and the address range information in which both the first and second data are not null is generated, the first data and the second data The generated address range information and the received address list can be transmitted to a terminal having an intermediate address Masui.
また、前記アドレスは、IPアドレスとポート番号とから構成されることが好ましい。 The address is preferably composed of an IP address and a port number.
本発明にかかるアドレスリスト取得方法は、1又は複数の端末から構成される第1のグループと、前記第1のグループに対し、通信可能に接続された1又は複数の端末から構成される第2のグループとを備え、各端末は、数値からなる各端末固有の番号からなるアドレスが付与され、同一グループの全端末のアドレスが記載されたアドレスリストを記憶する記憶手段を備え、各端末に他方のグループのアドレスリストを取得させるアドレスリスト取得方法であって、前記第1のグループに属する第1の端末が、第1及び第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、第1のグループのアドレスリストとを第2の端末に送信し、前記第2の端末は、第1及び第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、第2のグループのアドレスリストとを前記第1の端末に送信し、前記第1及び第2の端末を含む各端末は、受信したアドレス範囲情報の第1のデータがnullの場合、第1のデータをnull、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で自己アドレスよりも小さいアドレスを有する一台の端末に送信し、受信したアドレス範囲情報の第1のデータがnullでない場合、第1のデータを受信したアドレス範囲情報の第1のデータ、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、前記第1データよりも大きく、自己アドレスよりも小さいアドレスを有する一台の端末に送信し、受信したアドレス範囲情報の第2のデータがnullである場合、第1のデータを自己アドレス、第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、自己アドレスよりも大きいアドレスを有する一台の端末に送信し、受信したアドレス範囲情報の第2のデータがnullでない場合、第1のデータを自己アドレス、第2のデータを受信したアドレス範囲情報の第2のデータとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、自己アドレスよりも大きく、前記第2のデータよりも小さいアドレスを有する一台の端末に送信することを特徴とする。 The address list acquisition method according to the present invention includes a first group composed of one or more terminals, and a second group composed of one or more terminals communicably connected to the first group. Each terminal is provided with a storage means for storing an address list in which addresses of all terminals in the same group are described, each of which is provided with an address consisting of a number unique to each terminal consisting of a numerical value. An address list acquisition method for acquiring an address list of a group, wherein the first terminal belonging to the first group generates address range information in which the first and second data are null, and the generated address The range information and the address list of the first group are transmitted to the second terminal, and the second terminal has an address range in which the first and second data are null. Information is generated, the generated address range information and the second group address list are transmitted to the first terminal, and each terminal including the first and second terminals receives the received address range information. When the first data is null, address range information is generated with the first data as null and the second data as a self address, and the generated address range information and the received address list are self-addressed within the same group. When the first data of the address range information transmitted to one terminal having an address smaller than the address is not null, the first data and the second data of the address range information received from the first data Address range information having a self address as the first data, and the generated address range information and the received address list in the same group. If the second data of the received address range information is null, the first data is the self address and the second data is null. The address range information is generated, and the generated address range information and the received address list are transmitted to one terminal having an address larger than the self address in the same group, and the received address range information If the data of 2 is not null, address range information is generated with the first data as the self address and the second data as the second data of the address range information received, and the generated address range information and the received address A list having a larger address than the self address and smaller than the second data in the same group. It transmits to a terminal, It is characterized by the above-mentioned.
請求項1、4記載の発明によれば、第1のグループに属する第1の端末は、第1及び第2のデータが共にnull(ヌル)であるアドレス範囲情報を生成し、自己が記憶する第1のグループのアドレスリストと併せて第2のグループの第2の端末に送信する。一方、第2の端末は、第1及び第2のデータが共にnullであるアドレス範囲情報を生成し、自己が記憶する第2のグループのアドレスリストと併せて第2の端末に送信する。これにより、第1の端末により、第2のグループのアドレスリストが取得され、第2の端末に第1のグループのアドレスリストが取得される。 According to the first and fourth aspects of the invention, the first terminal belonging to the first group generates address range information in which both the first and second data are null, and the first terminal stores the address range information. Along with the address list of the first group, it is transmitted to the second terminal of the second group. On the other hand, the second terminal generates address range information in which both the first and second data are null, and transmits it to the second terminal together with the second group address list stored by itself. Thus, the first terminal acquires the second group address list, and the second terminal acquires the first group address list.
そして、他の端末から送信されたアドレス範囲情報と、他のグループのアドレスリストとを受信した各端末(第1及び第2の端末を含む)は、(1)受信したアドレス範囲情報の第1のデータ(受信第1のデータ)がnullの場合、第1のデータを受信第1のデータ、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信した他グループのアドレスリストとを、自己アドレス未満のいずれか1台の端末に送信する。 Then, each terminal (including the first and second terminals) that has received the address range information transmitted from another terminal and the address list of another group includes (1) the first address range information received. If the data (received first data) is null, the first data is received, the first data is received, the second data is self-addressed, address range information is generated, and the generated address range information is received. The address list of the other group is transmitted to any one terminal that is less than the self address.
また、各端末は、(2)受信第1のデータがnullでない場合、第1のデータを受信第1のデータ、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを、受信第1のデータより大きく、自己アドレス未満のアドレスを有する同一グループ内の1台の端末に送信する。 In addition, each terminal (2), when the received first data is not null, generates address range information having the first data as the received first data and the second data as the self address, and the generated address range The information and the received address list are transmitted to one terminal in the same group having an address larger than the received first data and less than the self address.
また、各端末は、(3)受信したアドレス範囲情報の第2のデータ(受信第2のデータ)がnullの場合、第1のデータを自己アドレス、第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを、自己アドレス以上のアドレスを有する自グループ内の1台の端末に送信する。 Each terminal (3), if the second data (received second data) of the received address range information is null, the address range information with the first data as its own address and the second data as null And the generated address range information and the received address list are transmitted to one terminal in the own group having an address equal to or higher than the own address.
また、各端末は、(4)受信したアドレス範囲情報の第2のデータがnullでない場合、第1のデータを自己アドレス、第2のデータを受信第2のデータとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを、自己アドレスより大きく、受信第2のデータ未満のアドレスを有する同一グループ内の1台の端末に送信する。なお、下限アドレスとはグループ内において最小のアドレスを有する端末のアドレスを示し、上限アドレスとは、グループ内において最大のアドレスを有する端末のアドレスを示す。 In addition, each terminal generates (4) address range information in which the second data is the second data when the second data of the received address range information is not null and the first data is the self address. The generated address range information and the received address list are transmitted to one terminal in the same group having an address larger than the self address and less than the received second data. The lower limit address indicates the address of the terminal having the minimum address in the group, and the upper limit address indicates the address of the terminal having the maximum address in the group.
以上のようにして全端末にアドレスリストが転送されていくが、第1、第2の端末は、生成した1つのアドレス範囲情報と受信したアドレスリストとを、受信したアドレスリストと併せて、1台の端末にしか送信していないため、従来のPING及びPONGメッセージを送信する場合に比べて、グループ内を流れるデータ数を大幅に減少させることができる。また、TTLによる制限もないため、全端末にアドレスリストを送信することができる。 As described above, the address list is transferred to all the terminals. The first and second terminals combine the generated one address range information and the received address list together with the received address list as 1 Since the data is transmitted to only one terminal, the number of data flowing in the group can be greatly reduced as compared with the case of transmitting conventional PING and PONG messages. Moreover, since there is no restriction by TTL, the address list can be transmitted to all terminals.
請求項2記載の発明によれば、各端末は、中間のアドレスを有する端末に生成したアドレス範囲情報と、受信したアドレスリストとを送信しているため、アドレスリストが効率よく転送され、アドレスリストの全端末への送信を短時間に行なうことができる。
According to the invention described in
請求項3記載の発明によれば、インターネット上で構成されたグループに対して本通信システムを適用させることができる。
According to the invention described in
以下、図面を参照しつつ、本発明の実施の形態について説明する。図1は、本実施の形態にかかる通信システムのネットワーク構成図を示している。本通信システムは、N台のピア(端末)X1〜XNから構成されるグループG1と、M台のピアY1〜YMから構成されるグループG2との2つのグループを備えている。ピアX1〜XN及びピアY1〜YMは、通信ネットワークNTを介して相互に通信可能に接続されている。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a network configuration diagram of a communication system according to the present embodiment. This communication system includes two groups, a group G1 composed of N peers (terminals) X1 to XN and a group G2 composed of M peers Y1 to YM. The peers X1 to XN and the peers Y1 to YM are connected to each other via a communication network NT so that they can communicate with each other.
通信ネットワークNTは、WAN(Wide Area Network)又はLAN(Local Area Network)の通信ネットワークである。WANとしては、専用回線や、インターネット回線が該当する。ピアX1〜XN及びピアY1〜YMは、CPU(central processing unit),RAM(random access memory)、ROM(read only memory)、ハードディスク、通信インターフェイス(I/F)等を備える市販のパーソナルコンピュータから構成されている。ピアX1〜XN,ピアY1〜YMには、コンピュータをピアツーピアシステムのピアとして機能させるための所定のソフトウェア、例えばヌーテラと、アドレスリストを異なるグループに属する各ピアに取得させるためのプログラムとがインストールされている。 The communication network NT is a WAN (Wide Area Network) or LAN (Local Area Network) communication network. The WAN corresponds to a dedicated line or an Internet line. The peers X1 to XN and the peers Y1 to YM are composed of commercially available personal computers equipped with a CPU (central processing unit), RAM (random access memory), ROM (read only memory), hard disk, communication interface (I / F), etc. Has been. The peers X1 to XN and the peers Y1 to YM are installed with predetermined software for causing the computer to function as a peer of the peer-to-peer system, such as Nutera, and a program for causing each peer belonging to a different group to acquire an address list. ing.
図2は、ピアX1〜XN,ピアY1〜YMのうちのあるピアPのブロック図を示している。ピアPは、アドレスリスト記憶部11、自己アドレス記憶部12、受信部13、アドレス範囲情報生成部14及び送信部15を備えている。アドレスリスト記憶部11は、例えばハードディスクから構成され、ピアPが属するグループの各ピアの通信アドレスが記載されたアドレスリストを記憶している。本実施の形態では、グループG1及びグループG2が存在するため、グループG1及びグループG2のアドレスリストL1及びL2が存在し、アドレスリストL1には、ピアX1〜XNの各アドレスが記載され、アドレスリストL2には、ピアY1〜YMの各アドレスが記載されている。したがって、ピアX1〜XNは、アドレスリストL1を記憶し、ピアY1〜YMは、アドレスリストL2を記憶している。
FIG. 2 shows a block diagram of a certain peer P among the peers X1 to XN and peers Y1 to YM. The peer P includes an address
自己アドレス記憶部12は、ハードディスクから構成され、通信する際に使用する自己アドレスを記憶する。本実施の形態では、同一グループ内においては、例えば、ピアX1には1、ピアX2には2、ピアXNにはNというように、各ピアは1から順番にアドレスが付与されているものとする。実際には、各ピアは、例えばIPアドレス及びポート番号からなる数値によってアドレスが特定されるが、本実施の形態では、説明の便宜上、同一グループ内において、各ピアは1から順番にアドレスが付与されているものとする。
The self
受信部13は、通信ボード等の通信インターフェイス及びCPUから構成され、他のピアから送信された、アドレス範囲情報及び他のグループのアドレスリスト等、種々のデータを受信する。
The receiving
アドレス範囲情報生成部14は、CPUから構成され、受信部13によって受信された他のピアからのアドレス範囲情報と、自己アドレス記憶部12に記憶された自己アドレスと、アドレスリスト記憶部11に記憶された自グループ(自己が属するグループ)のアドレスリストとを用いて、アドレス範囲情報を生成し、送信部15に出力する。ここで、アドレス範囲情報とは、データD1とデータD2とから構成され、それぞれ、あるピアのアドレス又はnullが設定される。nullとは、アドレスを特に指定しないデータを示す。また、データD1とデータD2とに対して、共にあるピアのアドレスが設定される場合は、データD2に設定されるアドレスの方がデータD1に設定されるアドレスよりも大きい。
The address range
送信部15は、CPU及び通信ボード等の通信インターフェイスから構成され、受信部13によって受信された他のピアのアドレス範囲情報と、自己アドレス記憶部12に記憶された自己アドレスとを用いて、受信部13によって受信されたアドレスリストと、アドレス範囲情報生成部14によって生成されたアドレス範囲情報とを送信するピアを決定し、決定したピアに、当該アドレス範囲情報とアドレスリストとを送信する。
The
図3は、本実施の形態にかかる通信システムの動作を示すフローチャートである。また、図4(a)〜(c)は、ピア間でのデータの流れを示す図面である。以下、本実施の形態にかかる通信システムの動作を図3及び図4を用いて説明する。まず、ステップS1において、グループG2に属するあるピアY1は、グループG1に属するあるピアX1のアドレスを取得する。ここで、ピアY1は、例えばユーザからの入力を受け付けることによりピアX1のアドレスを取得する。なお、ピアY1は、グループG2に属するピアY1〜YNから任意に選ばれた1台のピアであり、また、ピアX1は、グループG1に属するピアX1〜XNから任意に選ばれた1台のピアであり特に選定の基準はない。 FIG. 3 is a flowchart showing the operation of the communication system according to the present embodiment. FIGS. 4A to 4C are diagrams showing the flow of data between peers. Hereinafter, the operation of the communication system according to the present embodiment will be described with reference to FIGS. 3 and 4. First, in step S1, a certain peer Y1 belonging to the group G2 acquires the address of a certain peer X1 belonging to the group G1. Here, the peer Y1 acquires the address of the peer X1, for example, by receiving an input from the user. The peer Y1 is one peer arbitrarily selected from the peers Y1 to YN belonging to the group G2, and the peer X1 is one arbitrarily selected from the peers X1 to XN belonging to the group G1. It is a peer and there is no standard for selection.
次に、ピアY1は、図4(a)に示すように、自己が記憶するグループG2のアドレスリストL2と、データD1=null、データD2=nullのアドレス範囲情報[null,null]と、自己アドレスとをピアX1に送信する(ステップS2)。 Next, as shown in FIG. 4A, the peer Y1 stores the address list L2 of the group G2 stored by itself, the address range information [null, null] of data D1 = null, data D2 = null, The address is transmitted to the peer X1 (step S2).
アドレスリストL2と、アドレス範囲情報[null,null]と、ピアY1のアドレスとを受信したピアX1は、図4(c)に示すように、自己が記憶するグループG1のアドレスリストL1と、アドレス範囲情報[null,null]とを生成し、ピアY1に送信する(ステップS3)。 The peer X1, which has received the address list L2, the address range information [null, null], and the address of the peer Y1, as shown in FIG. 4C, the address list L1 of the group G1 stored by itself and the address Range information [null, null] is generated and transmitted to the peer Y1 (step S3).
アドレスリストL2と、アドレス範囲情報[null,nul]を送信したピアX1は、アドレスリスト転送処理を実行し(ステップS4)、アドレス範囲情報を生成し、受信したアドレスリストL2と併せて、ピアX2〜XNのうちのいずれか1又は2台のピアに送信する。図4(b)の場合、ピアX1は、受信したアドレスリストL2と、生成したアドレス範囲情報とをピアX2及びX3に送信している。ステップS4に示すアドレスリスト転送処理は、アドレスリストL2を受信した各ピアX1〜XNによって実行され、アドレスリストL2が、グループG1に属する全ピアに転送されていく。この処理については後述する。 The peer X1 that has transmitted the address list L2 and the address range information [null, ull] performs address list transfer processing (step S4), generates address range information, and combines the received address list L2 with the peer X2 ˜XN to any one or two peers. In the case of FIG. 4B, the peer X1 transmits the received address list L2 and the generated address range information to the peers X2 and X3. The address list transfer process shown in step S4 is executed by each of the peers X1 to XN that have received the address list L2, and the address list L2 is transferred to all peers belonging to the group G1. This process will be described later.
ピアX1から送信されたアドレスリストL1を受信したピアY1は、アドレスリスト転送処理を実行し(ステップS5)、アドレス範囲情報を生成し、受信したアドレスリストL1と併せて、ピアY2〜YMのうちのいずれか1又は2台のピアに送信する。図4(c)の場合、ピアY1は、アドレス範囲情報及びアドレスリストL1をピアY2及びY3に送信している。ステップS5に示すアドレスリスト転送処理は、アドレスリストL1を受信した各ピアY1〜YMによって実行され、アドレスリストL1が、グループG2に属する全ピアに転送されていく。この処理については後述する。 The peer Y1 that has received the address list L1 transmitted from the peer X1 executes address list transfer processing (step S5), generates address range information, and combines the received address list L1 with the peers Y2 to YM. To either one or two peers. In the case of FIG. 4C, the peer Y1 transmits the address range information and the address list L1 to the peers Y2 and Y3. The address list transfer process shown in step S5 is executed by each of the peers Y1 to YM that has received the address list L1, and the address list L1 is transferred to all peers belonging to the group G2. This process will be described later.
図5及び図6は、ステップS4及びステップS5に示すアドレスリスト転送処理を示したフローチャートである。以下、このフローチャートを用いてアドレスリスト転送処理を説明する。アドレスリスト転送処理は、全ピア共通の処理であるため、グループG1又はグループG2に属するあるピアPが、アドレスリストL1又はL2を受信する場合を例に挙げて説明する。 5 and 6 are flowcharts showing the address list transfer process shown in steps S4 and S5. The address list transfer process will be described below using this flowchart. Since the address list transfer process is a process common to all peers, a case where a certain peer P belonging to the group G1 or the group G2 receives the address list L1 or L2 will be described as an example.
ステップS101において、受信部13が、他のピアからデータD1がnullのアドレス範囲情報と、他グループのアドレスリストとを受信した場合(ステップS101でYES、ステップS102でYES)、アドレス範囲情報生成部14は、自己アドレス未満のアドレスを有するピアが自グループ内に存在するか否かを判定し、(ステップS103)、存在すると判定した場合(ステップS103でYES)、処理がステップS104に進められる。一方、ステップS101において、受信部13が、アドレス範囲情報と、他グループのアドレスリストとを受信しなかった場合(ステップS101でNO)、処理がステップS101に戻される。
In step S101, when the receiving
ステップS104において、アドレス範囲情報生成部14は、データD1=null、データD2=自己アドレスとするアドレス範囲情報[null,自己アドレス]を生成する(ステップS104)。
In step S104, the address range
ステップS105において、送信部15は、下限アドレス以上、自己アドレス未満のアドレス範囲内において、中間のアドレスを有する自グループの1台のピアに対し、ステップS104で生成したアドレス範囲情報[null,自己アドレス]と、受信したアドレスリストとを送信する。この場合、送信部15は、自己アドレス未満のアドレスを有するピアが1台しか存在しない場合、すなわち、自己アドレスが2番目に小さなアドレスである場合、下限アドレスのピアに、受信したアドレスリストと、生成したアドレス範囲情報とを送信する。ここで、下限アドレスとは、グループを構成するピアの中で、番号が最も低いアドレスのことをいう。
In step S105, the
詳細には、送信部15は、(下限アドレス+自己アドレス)/2の演算を行なうことにより、中間のアドレスを決定する。例えば、自己アドレス=5の場合、送信部15は、(1+5)/2=3を、中間のアドレスして決定する。また、(下限アドレス+自己アドレス)/2が小数となった場合、送信部15は、小数点以下を切り上げる又は切り下げることにより中間のアドレスを決定する。例えば、自己アドレス=6の場合、(1+6)/2=3.5となるため、送信部15は、3又は4を中間のアドレスとして決定する。
Specifically, the
一方、ステップS103において、自己アドレス未満のピアが自グループ内に存在しない場合(ステップS103でNO)、アドレス範囲情報生成部14は、ステップS104及びS105の処理をスルーして、ステップS109に処理を進める。
On the other hand, in step S103, when there is no peer less than the self address in the self group (NO in step S103), the address range
一方、ステップS102において、受信部13が、データD1がnullでないアドレス範囲情報(以下、このデータD1のことを受信データD1と呼ぶ)を受信した場合(ステップS101でYES、ステップS102でNO)、アドレス範囲情報生成部14は、受信データD1より大きく、自己アドレス未満のアドレスを有するピアが存在するか否かを判定し、存在する場合(ステップS106でYES)、処理がステップS107に進められる。
On the other hand, when the receiving
ステップS107において、アドレス範囲情報生成部14は、データD1=受信データD1、データD2=自己アドレスとするアドレス範囲情報[受信データD1,自己アドレス]を生成する。
In step S107, the address range
ステップS108において、送信部15は、受信データD1より大きく、自己アドレス未満のアドレスのうち、中間のアドレスを有する1台のピアに、ステップS107で生成したアドレス範囲情報[受信データD1,自己アドレス]と、ステップS101で受信したアドレスリストとを送信する。なお、中間のアドレスは、ステップS105と同様の手法で決定される。
In step S108, the
一方、ステップS106において、受信第2のデータより大きく、自己アドレス未満のピアが自グループ内に存在しない場合(ステップS106でNO)、アドレス範囲情報生成部14は、ステップS107及びS108の処理をスルーして処理をステップS109に進める。
On the other hand, when there is no peer in the own group that is larger than the received second data and less than the self address in step S106 (NO in step S106), the address range
ステップS109において、受信したアドレス範囲情報の第2のデータ(以下、「受信データD2」と呼ぶ)がnullの場合、(ステップS109でYES)、アドレス範囲情報生成部14は、自己アドレスよりも大きなアドレスを有するピアが自グループ内に存在するか否かを判定し(ステップS110)、存在すると判定した場合(ステップS110でYES)、データD1=自己アドレス、データD2=nullのアドレス範囲情報[自己アドレス,null]を生成する(ステップS111)。
In step S109, if the second data of the received address range information (hereinafter referred to as “received data D2”) is null (YES in step S109), the address range
ステップS112において、送信部15は、ステップS105と同様の手法により、自己アドレスより大きく、上限アドレス以下の中間のアドレスを有する1台のピアに対し、ステップS111で生成したアドレス範囲情報[自己アドレス,null]と、ステップS101で受信したアドレスリストとを送信する。また、送信部15は、自己アドレスより大きいピアが1台しか存在しない場合、すなわち、自己アドレスが、2番目に大きなアドレスである場合、受信したアドレスリストと、生成したアドレス範囲情報とを上限アドレスのピアに送信する(S112)。
In step S112, the
一方、ステップS110において、自己アドレスよりも大きなアドレスを有するピアが、自グループ内に存在しない場合(ステップS110でNO)、アドレス範囲情報生成部14は、ステップS111及びS112の処理をスルーする。
On the other hand, in step S110, when a peer having an address larger than the self address does not exist in the self group (NO in step S110), the address range
一方、ステップS109において、受信部13が、第2のデータがnullでないアドレス範囲情報を受信した場合(ステップS109でNO)、アドレス範囲情報生成部14は、自己アドレスより大きく、受信データD2未満のアドレスを有する端末が自グループ内に存在するか否かを判定し、存在すると判定した場合(ステップS113でYES)、データD1=自己アドレス、データD2=受信データD2とするアドレス範囲情報[自己アドレス,受信データD2]を生成する(ステップS114)。
On the other hand, when the receiving
ステップS115において、送信部15は、自己アドレスより大きく、受信データD2未満の中間のアドレスを有する1台のピアに、ステップS114で生成したアドレス範囲情報[自己アドレス,受信データD2]と、ステップS101で受信されたアドレスリストとを送信する。
In step S115, the
一方、ステップS113において、自己アドレスより大きく、受信データD2未満のアドレスを有するピアが、自グループ内に存在しない場合(ステップS113でNO)、アドレス範囲情報生成部14は、ステップS114及びS115の処理をスルーする。
On the other hand, in step S113, when a peer having an address larger than the self address and less than the received data D2 does not exist in the self group (NO in step S113), the address range
次に、本通信システムにおけるデータの流れの具体例を図5及び図6のフローチャート、並びに、図7の図面を用いて説明する。図7は、データの流れを説明するための図面である。この具体例では、ピアX1はグループG1に属するあるピアを示し、グループG2は、合計10台からなるピアY1〜Y10によって構成されているものとする。また、ピアY1〜Y10は、各々、A1(=1)〜A10(=10)のアドレスを有しているものとする。さらに、ピアX1は、ピアY5のアドレスA5を知っているものとする。 Next, a specific example of the data flow in the communication system will be described with reference to the flowcharts of FIGS. 5 and 6 and the drawing of FIG. FIG. 7 is a diagram for explaining the flow of data. In this specific example, the peer X1 indicates a certain peer belonging to the group G1, and the group G2 is configured by peers Y1 to Y10 including a total of ten units. The peers Y1 to Y10 have addresses A1 (= 1) to A10 (= 10), respectively. Further, it is assumed that peer X1 knows address A5 of peer Y5.
まず、ピアX1は、データD1=null、データD2=nullのアドレス範囲情報[null,null]を生成し、アドレスリストL1と併せて、ピアY5に送信する。アドレス範囲情報[null,null]及びアドレスリストL1を受信したピアY5は、受信データD1がnullであり(ステップS102でYES)、自己アドレスA5未満のアドレスを有するピアが、グループG2に存在するため(ステップS103でYES)、データD1=null、データD2=A5(=5)のアドレス範囲情報[null,A5]を生成する(ステップS104)。そして、グループG2の下限アドレスA1以上、自己アドレスA5未満の中間のアドレスを有するピアY3に、生成したアドレス範囲情報[null,A5]と、受信したアドレスリストL1とを送信する(ステップS105)。 First, the peer X1 generates address range information [null, null] of data D1 = null and data D2 = null, and sends it to the peer Y5 together with the address list L1. The peer Y5 that has received the address range information [null, null] and the address list L1 has received data D1 null (YES in step S102), and a peer having an address less than the self address A5 exists in the group G2. (YES in step S103), address range information [null, A5] of data D1 = null and data D2 = A5 (= 5) is generated (step S104). Then, the generated address range information [null, A5] and the received address list L1 are transmitted to the peer Y3 having an intermediate address equal to or higher than the lower limit address A1 of the group G2 and less than the self address A5 (step S105).
また、ピアY5は、受信データD2が、nullであるアドレス範囲情報[null、null]を受信したため(ステップS109でYES)、データD1=自己アドレス、データD2=nullのアドレス範囲情報[A5,null]を生成する(ステップS110)。そして、生成したアドレス範囲情報[A5,null]と、受信したアドレスリストL1とを、自己アドレスA5より大きく、グループG2の上限アドレスA10未満の中間のアドレスのピアY8に送信する(ステップS112)。 Further, since the peer Y5 has received the address range information [null, null] in which the received data D2 is null (YES in step S109), the data D1 = self address and the data D2 = null address range information [A5, null ] Is generated (step S110). Then, the generated address range information [A5, null] and the received address list L1 are transmitted to the peer Y8 having an intermediate address larger than the self address A5 and less than the upper limit address A10 of the group G2 (step S112).
アドレス範囲情報[null,A5]と、アドレスリストL1とを受信したピアY3は、受信データD1がnullであり(ステップS102でYES)、自己アドレスA3未満のアドレスを有するピアがグループG2に存在するため(ステップS103でYES)、データD1=null、データD2=自己アドレスとするアドレス範囲情報[null,A3]を生成する(ステップS104)。そして、グループG2の下限アドレスA1以上、自己アドレス未満の中間のアドレスを有するピアY2に、生成したアドレス範囲情報[null,A3]と、受信したアドレスリストL1とを送信する(ステップS105)。 The peer Y3 that has received the address range information [null, A5] and the address list L1 has the received data D1 null (YES in step S102), and a peer having an address less than the self address A3 exists in the group G2. Therefore (YES in step S103), address range information [null, A3] in which data D1 = null and data D2 = self address is generated (step S104). Then, the generated address range information [null, A3] and the received address list L1 are transmitted to the peer Y2 having an intermediate address that is not less than the lower limit address A1 of the group G2 and less than the self address (step S105).
また、ピアY3は、受信データD2がnullでなく(ステップS109でNO)、自己アドレスより大きいアドレスを有するピアが存在するため(ステップS113でYES)、データD1=自己アドレスA3、データD2=受信データD2とするアドレス範囲情報[A3,A5]を生成する(ステップS114)。そして、自己アドレスA3より大きく、受信データD2(=A5)未満の中間のアドレスを有するピアY4に、生成したアドレス範囲情報[A3,A5]と、受信したアドレスリストL1とを送信する(ステップS115)。 Further, since the received data D2 is not null (NO in step S109) and there is a peer having an address larger than the self address (YES in step S113), peer Y3 has data D1 = self address A3 and data D2 = received. Address range information [A3, A5] as data D2 is generated (step S114). Then, the generated address range information [A3, A5] and the received address list L1 are transmitted to the peer Y4 having an intermediate address larger than the self address A3 and less than the received data D2 (= A5) (step S115). ).
一方、アドレス範囲情報[A5,null]を受信したピアY8は、受信データD1がnullでなく(ステップS102でNO)、受信データD1より大きく、自己アドレスA8未満のアドレス範囲に他のピアが存在するため(ステップS106でYES)、データD1=受信データD1、データD2=自己アドレスA8とするアドレス範囲情報[A5,A8]を生成する(ステップS107)。そして、自己アドレスA8より大きく、自己アドレス未満の中間のアドレスを有するピアY6に、生成したアドレス範囲情報[A5,A8]と、受信したアドレスリストL1とを送信する(ステップS108)。 On the other hand, in the peer Y8 that has received the address range information [A5, null], the received data D1 is not null (NO in step S102), and there is another peer in the address range that is larger than the received data D1 and less than the self address A8. In order to do this (YES in step S106), address range information [A5, A8] with data D1 = received data D1 and data D2 = self address A8 is generated (step S107). Then, the generated address range information [A5, A8] and the received address list L1 are transmitted to the peer Y6 having an intermediate address larger than the self address A8 and less than the self address (step S108).
また、ピアY8は、受信データD2がnullのアドレス範囲情報[A5,null]を受信し(ステップS109でYES)、自己アドレスA8より大きいアドレスを有するピアが存在するため(ステップS110でYES)、データD1=自己アドレスA8、データD2=nullのアドレス範囲情報[A8,null]を生成する(ステップS111)。そして、自己アドレスA8より大きく、上限アドレスA10以下のアドレスを有するピアY9に生成したアドレス範囲情報[A8,null]と、受信したアドレスリストL1とを送信する(ステップS112)。 Peer Y8 receives address range information [A5, null] in which reception data D2 is null (YES in step S109), and there is a peer having an address larger than self address A8 (YES in step S110). Address range information [A8, null] of data D1 = self address A8 and data D2 = null is generated (step S111). Then, the address range information [A8, null] generated for the peer Y9 having an address larger than the self address A8 and not more than the upper limit address A10 and the received address list L1 are transmitted (step S112).
アドレス範囲情報[null,A3]と、アドレスリストL1とを受信したピアY2は、受信データD1がnullであり(ステップS102でYES)、自己アドレスA2未満のピアが存在するため(ステップS103でYES)、データD1=null、データD2=自己アドレスA2のアドレス範囲情報[null,A2]を生成する(ステップS104)。そして、自己アドレスA2未満のアドレスを有するピアY1に、アドレス範囲情報[null,A2]と、アドレスリストL1とを送信する(ステップS105)。 The peer Y2 that has received the address range information [null, A3] and the address list L1 has the received data D1 null (YES in step S102), and there is a peer less than the self address A2 (YES in step S103). ), Data D1 = null, and data D2 = self address A2 address range information [null, A2] is generated (step S104). Then, the address range information [null, A2] and the address list L1 are transmitted to the peer Y1 having an address less than the self address A2 (step S105).
また、ピアY2は、受信データD2(=A3)より大きく、自己アドレスA2未満のピアが存在しないため(ステップS113でNO)、ステップS114、S115をスルーして処理を終了する。 Further, since the peer Y2 is larger than the received data D2 (= A3) and does not have a peer less than the self address A2 (NO in step S113), the process is terminated through steps S114 and S115.
アドレス範囲情報[A3,A5]を受信したピアY4は、受信データD1がnullでなく(ステップS102でNO)、受信データD1より大きく、自己アドレスA4未満のピアが存在しないため(ステップS106でNO)、ステップS107及びS108の処理をスルーして、ステップS109に進む。 The peer Y4 that has received the address range information [A3, A5] has received data D1 that is not null (NO in step S102), and there is no peer that is larger than the received data D1 and less than its own address A4 (NO in step S106). ), Steps S107 and S108 are passed through, and the process proceeds to Step S109.
また、ピアY4は、受信データD2(=A5)がnullでなく(ステップS109でNO)、自己アドレスA4より大きく、受信データD2未満のピアが存在しないため(ステップS113でNO)、ステップS114及びS115をスルーし、処理を終了する。 Further, since the received data D2 (= A5) is not null (NO in step S109) and there is no peer larger than the self address A4 and less than the received data D2 (NO in step S113), the peer Y4 has no data in step S114 and Through S115, the process is terminated.
アドレス範囲情報[A5,A8]を受信したピアY6は、受信データD1がnullでなく(ステップS102でNO)、受信データD1(=A5)より大きく、自己アドレスA6未満のピアが存在しないため(ステップS106でNO)、ステップS107及びS108の処理をスルーし、ステップS109に進む。 The peer Y6 that has received the address range information [A5, A8] has received data D1 that is not null (NO in step S102), and is larger than the received data D1 (= A5), and there is no peer that is less than the self address A6 ( NO in step S106), the process of steps S107 and S108 is passed, and the process proceeds to step S109.
また、ピアY6は、受信データD2(=A8)がnullでなく(ステップS109でNO)、自己アドレスA6より大きく、受信データD2未満のピアがするため(ステップS113でYES)、データD1=自己アドレスA6、データD2=受信データD2(=A8)とするアドレス範囲情報[A6,A8]を生成する(ステップS114)。そして、自己アドレスA6より大きく、受信データD2(=A8)未満の中間のアドレスを有するピアY7に、生成したアドレス範囲情報[A6,A8]と、受信したアドレスリストL1とを送信する(ステップS115)。 Further, since the received data D2 (= A8) is not null (NO in step S109), the peer Y6 is a peer that is larger than the self address A6 and less than the received data D2 (YES in step S113), so the data D1 = self Address range information [A6, A8] with address A6, data D2 = received data D2 (= A8) is generated (step S114). Then, the generated address range information [A6, A8] and the received address list L1 are transmitted to the peer Y7 having an intermediate address larger than the self address A6 and less than the received data D2 (= A8) (step S115). ).
アドレス範囲情報[A8,null]と、アドレスリストL1とを受信したピアY9は、受信データD1がnullでなく(ステップS102でNO)、受信データD1(=A8)より大きく、自己アドレスA9未満のピアが存在しないため(ステップS106でNO)、ステップS107及びS108をスルーして、処理をステップS109に進める。 The peer Y9 that has received the address range information [A8, null] and the address list L1 has received data D1 not null (NO in step S102) and is larger than the received data D1 (= A8) and less than the self address A9. Since there is no peer (NO in step S106), the process proceeds to step S109 through steps S107 and S108.
また、ピアY9は、受信データD2がnullであり(ステップS109でYES)、自己アドレスA9より大きいアドレスを有するピアが存在するため(ステップS110でYES)、データD1=自己アドレスA9、データD2=nullとするアドレス範囲情報[A9,null]を生成する(ステップS111)。そして、上限アドレスのピアY10に、アドレス範囲情報[A9,null]と、アドレスリストL1とを送信する(ステップS112)。 Further, since the reception data D2 is null (YES in step S109) and there is a peer having an address larger than the self address A9 (YES in step S110), the peer Y9 has data D1 = self address A9, data D2 = Address range information [A9, null] to be null is generated (step S111). The address range information [A9, null] and the address list L1 are transmitted to the upper limit address peer Y10 (step S112).
アドレス範囲情報[null,A2]と、アドレスリストL1とを受信したピアY1は、受信データD1がnullであり(ステップS102でYES)、受信データD1より大きく、自己アドレスA1未満のピアが存在しないため(ステップS103でNO)、ステップS104及びS105をスルーして、処理をステップS109に進める。 The peer Y1 that has received the address range information [null, A2] and the address list L1 has the received data D1 null (YES in step S102), and there is no peer larger than the received data D1 and less than the self address A1. Therefore (NO in step S103), the process proceeds to step S109 through steps S104 and S105.
また、ピアY1は、受信データD2がnullでなく(ステップS109でNO)、自己アドレスA1より大きく、受信データD2(=A2)未満のピアが存在しないため(ステップS113でNO)、ステップS114及びS115をスルーして処理を終了する。 Further, since the reception data D2 is not null (NO in step S109) and the peer Y1 has no peer larger than the self address A1 and less than the reception data D2 (= A2) (NO in step S113), the peer Y1 The process is terminated through S115.
アドレス範囲情報[A6,A8]と、アドレスリストL1とを受信したピアY7は、受信データD1がnullでなく(ステップS102でNO)、受信データD1(=A6)より大きく、自己アドレスA7未満のピアが存在しないため(ステップS106でNO)、ステップS107及びS108をスルーして処理を終了する。 The peer Y7 that has received the address range information [A6, A8] and the address list L1 has received data D1 not null (NO in step S102), is larger than the received data D1 (= A6), and is less than the self address A7. Since there is no peer (NO in step S106), the process is terminated through steps S107 and S108.
また、ピアY7は、受信データD2がnullでなく(ステップS109でNO)、自己アドレスA7より大きく、受信データD2未満のピアが存在しないため(ステップS113でNO)、ステップS114及びS115をスルーして処理を終了する。 Peer Y7 passes through steps S114 and S115 because received data D2 is not null (NO in step S109) and there is no peer larger than self address A7 and less than received data D2 (NO in step S113). To finish the process.
アドレス範囲情報[A9,null]を受信したピアY10は、受信データD1がnullでなく(ステップS102でNO)、受信データD1より大きく、自己アドレス未満のピアが存在しないため(ステップS106でNO)、ステップS107及びS108をスルーして処理を終了する。 The peer Y10 that has received the address range information [A9, null] has received data D1 not null (NO in step S102), and there is no peer larger than the received data D1 and less than its own address (NO in step S106). Through steps S107 and S108, the process is terminated.
また、ピアY10は、受信データD2がnullであり(ステップS109でYES)、自己アドレスA10より大きいピアが存在しないため(ステップS110でNO)、ステップS111及びS112をスルーして処理を終了する。 Further, since the reception data D2 is null (YES in step S109) and there is no peer larger than the self address A10 (NO in step S110), the peer Y10 passes through steps S111 and S112 and ends the process.
以上説明したように、本通信システムによれば、各ピアによって生成されるアドレス範囲情報は、新しく生成されるにつれてデータD1とデータD2との差は小さくされる。また、各ピアは、受信データD1と自己アドレスとの間の1台のピア、及び、自己アドレスと受信データD1の間の1台のピアの各々に対してのみ、アドレスリストを転送する。一方、各ピアは、受信データD1と自己アドレスとの間に他のピアが存在しない場合、この間の1台のピアへのアドレスリストの転送を行なわないと共に、自己アドレスと受信データD2との間に他のピアが存在しない場合、この間の1台のピアへのアドレスリストの転送を行なわない。 As described above, according to this communication system, the difference between the data D1 and the data D2 is reduced as the address range information generated by each peer is newly generated. In addition, each peer transfers the address list only to one peer between the received data D1 and the self address and one peer between the self address and the received data D1. On the other hand, when there is no other peer between the received data D1 and the self address, each peer does not transfer the address list to one peer in the meantime and between the self address and the received data D2. If there is no other peer, the address list is not transferred to one peer during this period.
そのため、アドレスリストをブロードキャストしなくとも、同一グループに属する全ピアに他グループのアドレスリストを送信することが可能となり、グループ内を流れるデータ数を大幅に減少させることができる。また、ブロードキャストを行なった場合のような、TTLによる転送回数の制限もないため、アドレスリストを全ピアに確実に転送することができる。 Therefore, the address list of another group can be transmitted to all peers belonging to the same group without broadcasting the address list, and the number of data flowing in the group can be greatly reduced. In addition, since there is no limit on the number of transfers by TTL as in the case of broadcasting, the address list can be reliably transferred to all peers.
さらに、受信データD1と自己アドレスとの中間のピア、あるいは、自己アドレスと受信データD2の中間のピアにアドレスリストを転送しているため、図7で示すように各フェーズK内に属するピアの数が増大し、アドレスリストが全ピアに転送される時間を短縮することができる。 Further, since the address list is transferred to an intermediate peer between the received data D1 and the self address, or an intermediate peer between the self address and the received data D2, as shown in FIG. The number increases and the time for the address list to be transferred to all peers can be reduced.
G1 G2 グループ
L1 L2 アドレスリスト
X1〜YN ピア
Y1〜YM ピア
11 アドレスリスト記憶部
12 自己アドレス記憶部
13 受信部
14 アドレス範囲情報生成部
15 送信部
G1 G2 Group L1 L2 Address list X1 to YN Peer Y1 to
Claims (4)
前記第1のグループに属する第1の端末が、第1及び第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、第1のグループのアドレスリストとを第2の端末に送信し、
前記第2の端末は、第1及び第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、第2のグループのアドレスリストとを前記第1の端末に送信し、
前記第1及び第2の端末を含む各端末は、
受信したアドレス範囲情報の第1のデータがnullの場合、
第1のデータをnull、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で自己アドレスよりも小さいアドレスを有する一台の端末に送信し、
受信したアドレス範囲情報の第1のデータがnullでない場合、
第1のデータを受信したアドレス範囲情報の第1のデータ、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、前記第1データよりも大きく、自己アドレスよりも小さいアドレスを有する一台の端末に送信し、
受信したアドレス範囲情報の第2のデータがnullである場合、
第1のデータを自己アドレス、第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、自己アドレスよりも大きいアドレスを有する一台の端末に送信し、
受信したアドレス範囲情報の第2のデータがnullでない場合、
第1のデータを自己アドレス、第2のデータを受信したアドレス範囲情報の第2のデータとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、自己アドレスよりも大きく、前記第2のデータよりも小さいアドレスを有する一台の端末に送信することを特徴とする通信システム。 A first group composed of one or more terminals, and a second group composed of one or more terminals communicably connected to the first group, each terminal comprising: A communication system that includes a storage unit that stores an address list in which addresses of all terminals in the same group are given, and which is provided with an address consisting of a numerical value unique to each terminal, and allows each terminal to acquire an address list of the other group Because
The first terminal belonging to the first group generates address range information in which the first and second data are null, and generates the generated address range information and the first group address list in the second Send it to your device,
The second terminal generates address range information in which the first and second data are null, transmits the generated address range information and a second group address list to the first terminal,
Each terminal, including the first and second terminals,
When the first data of the received address range information is null,
One unit that generates address range information in which the first data is null and the second data is a self address, and the generated address range information and the received address list have a smaller address than the self address in the same group. To your device,
If the first data of the received address range information is not null,
The first data of the address range information having received the first data, the address range information having the second data as its own address is generated, and the generated address range information and the received address list are within the same group, Transmitting to one terminal having an address larger than the first data and smaller than the self address;
When the second data of the received address range information is null,
Address range information in which the first data is a self address and the second data is null is generated, and the generated address range information and the received address list have a larger address than the self address in the same group. To one device,
If the second data of the received address range information is not null,
Generate address range information in which the first data is the self address and the second data is the second data of the address range information received, and the generated address range information and the received address list are in the same group, A communication system characterized by transmitting to one terminal having an address larger than a self address and smaller than the second data.
第1のデータをnull、第2のデータを自己アドレスとするアドレス範囲情報を生成した場合、同一グループの上限アドレスと自己アドレスとの中間のアドレスを有する端末に生成したアドレス範囲情報と、受信したアドレスリストとを送信し、
第1のデータを自己アドレス、第2のデータを上限アドレスとするアドレス範囲情報を生成した場合、自己アドレスと、同一グループの上限アドレスとの中間のアドレスを有する端末に生成したアドレス範囲情報と、受信したアドレスリストとを送信し、
第1及び第2のデータが共にnullでないアドレス範囲情報を生成した場合、第1のデータと第2のデータとの中間のアドレスを有する端末に、生成したアドレス範囲情報と、受信したアドレスリストとを送信することを特徴とする請求項1記載の通信システム。 Each terminal
When address range information with null as the first data and self address as the second data is generated, the address range information generated in the terminal having an intermediate address between the upper limit address and the self address of the same group is received. Send address list and
When the address range information having the first data as the self address and the second data as the upper limit address is generated, the address range information generated in the terminal having an intermediate address between the self address and the upper limit address of the same group, Send the received address list and
When the address range information in which both the first and second data are not null is generated, the generated address range information, the received address list, and the terminal having an intermediate address between the first data and the second data The communication system according to claim 1, wherein:
前記第1のグループに属する第1の端末が、第1及び第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、第1のグループのアドレスリストとを第2の端末に送信し、
前記第2の端末は、第1及び第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、第2のグループのアドレスリストとを前記第1の端末に送信し、
前記第1及び第2の端末を含む各端末は、
受信したアドレス範囲情報の第1のデータがnullの場合、
第1のデータをnull、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で自己アドレスよりも小さいアドレスを有する一台の端末に送信し、
受信したアドレス範囲情報の第1のデータがnullでない場合、
第1のデータを受信したアドレス範囲情報の第1のデータ、第2のデータを自己アドレスとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、前記第1データよりも大きく、自己アドレスよりも小さいアドレスを有する一台の端末に送信し、
受信したアドレス範囲情報の第2のデータがnullである場合、
第1のデータを自己アドレス、第2のデータをnullとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、自己アドレスよりも大きいアドレスを有する一台の端末に送信し、
受信したアドレス範囲情報の第2のデータがnullでない場合、
第1のデータを自己アドレス、第2のデータを受信したアドレス範囲情報の第2のデータとするアドレス範囲情報を生成し、生成したアドレス範囲情報と、受信したアドレスリストとを同一グループ内で、自己アドレスよりも大きく、前記第2のデータよりも小さいアドレスを有する一台の端末に送信することを特徴とするアドレスリスト取得方法。 A first group composed of one or more terminals, and a second group composed of one or more terminals communicably connected to the first group, each terminal comprising: An address list that is provided with a memory means for storing an address list in which addresses of all terminals in the same group are described, and which is provided with an address consisting of a numerical value unique to each terminal, and that causes each terminal to acquire an address list of the other group An acquisition method,
The first terminal belonging to the first group generates address range information in which the first and second data are null, and generates the generated address range information and the first group address list in the second Send it to your device,
The second terminal generates address range information in which the first and second data are null, transmits the generated address range information and a second group address list to the first terminal,
Each terminal, including the first and second terminals,
When the first data of the received address range information is null,
One unit that generates address range information in which the first data is null and the second data is a self address, and the generated address range information and the received address list have a smaller address than the self address in the same group. To your device,
If the first data of the received address range information is not null,
The first data of the address range information having received the first data, the address range information having the second data as a self address is generated, and the generated address range information and the received address list are within the same group, Transmitting to one terminal having an address larger than the first data and smaller than the self-address,
When the second data of the received address range information is null,
Address range information in which the first data is a self address and the second data is null is generated, and the generated address range information and the received address list have a larger address than the self address in the same group. To one device,
If the second data of the received address range information is not null,
Generate address range information in which the first data is the self address and the second data is the second data of the received address range information, and the generated address range information and the received address list are within the same group, An address list acquisition method comprising: transmitting to one terminal having an address larger than a self address and smaller than the second data.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004076612A JP2005267061A (en) | 2004-03-17 | 2004-03-17 | Communication system and address list acquisition method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004076612A JP2005267061A (en) | 2004-03-17 | 2004-03-17 | Communication system and address list acquisition method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005267061A true JP2005267061A (en) | 2005-09-29 |
Family
ID=35091568
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004076612A Pending JP2005267061A (en) | 2004-03-17 | 2004-03-17 | Communication system and address list acquisition method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2005267061A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010226192A (en) * | 2009-03-19 | 2010-10-07 | Nec Corp | Communication system |
-
2004
- 2004-03-17 JP JP2004076612A patent/JP2005267061A/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010226192A (en) * | 2009-03-19 | 2010-10-07 | Nec Corp | Communication system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2400806C2 (en) | Organisation of mating requests for resource with according resources | |
| TWI249922B (en) | Virtual/real world dynamic intercommunication methods and systems | |
| CN102223411B (en) | Method, system and client for downloading files using P2P technology | |
| US10855528B2 (en) | Viral system discovery and installation for distributed networks | |
| US20080144636A1 (en) | Information communication system, information communication method, node device included in information communication system, and recording medium having information processing program recorded on it | |
| JP2014523568A (en) | Efficient conditioning | |
| WO2003087992A2 (en) | Initializing relationships between devices in a network | |
| CN113382065B (en) | File downloading method, device, system, equipment and storage medium | |
| JP4671306B2 (en) | Broadcast messaging in peer-to-peer overlay networks | |
| CN115776523B (en) | Distributed collective communication method, device, equipment and storage medium | |
| CN102067525A (en) | Methods and apparatus for discovery of peer-to-peer overlay networks | |
| Putra et al. | Node discovery scheme of DDS for combat management system | |
| CN108880972A (en) | A kind of information processing method, server and terminal | |
| KR20120138546A (en) | Apparatus and method for discovery based on priority in distributed network and method for determining discovery backoff time | |
| US8542690B2 (en) | Information communication system, information collection method, node device, and recording medium | |
| CN114726806A (en) | Intelligent device shadow management method, system, device, equipment and medium | |
| JP2005267061A (en) | Communication system and address list acquisition method | |
| JP2009199378A (en) | Relay apparatus for use in e-mail-based chat system | |
| CN101355512B (en) | Data transmission system, method and transmission control server | |
| US20190059103A1 (en) | Control device and communication system | |
| Wang et al. | Topological analysis of a two coupled evolving networks model for business systems | |
| CN112988411B (en) | Information transmission method, device and system | |
| Pujol-Ahullo et al. | Towards a lightweight content-based publish/subscribe services for peer-to-peer systems | |
| KABRE et al. | Comparative study of can, pastry, Kademlia and Chord DHTs | |
| Roy et al. | Performance assessment of routing protocols for campus area emergency delay-tolerant network |