WO2007119422A1 - 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラムが記録された記録媒体 - Google Patents

情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラムが記録された記録媒体 Download PDF

Info

Publication number
WO2007119422A1
WO2007119422A1 PCT/JP2007/055516 JP2007055516W WO2007119422A1 WO 2007119422 A1 WO2007119422 A1 WO 2007119422A1 JP 2007055516 W JP2007055516 W JP 2007055516W WO 2007119422 A1 WO2007119422 A1 WO 2007119422A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
information
node device
participation request
participation
Prior art date
Application number
PCT/JP2007/055516
Other languages
English (en)
French (fr)
Inventor
Hideki Matsuo
Original Assignee
Brother Kogyo Kabushiki Kaisha
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 Brother Kogyo Kabushiki Kaisha filed Critical Brother Kogyo Kabushiki Kaisha
Publication of WO2007119422A1 publication Critical patent/WO2007119422A1/ja
Priority to US12/230,402 priority Critical patent/US8218455B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Definitions

  • Information communication system information communication method, node device included in information communication system, and recording medium on which information processing program is recorded
  • the present invention relates to a technical field such as a Peer to Peer (P2P) type information communication system and method including a plurality of node devices connected to each other via a network.
  • P2P Peer to Peer
  • each node device is connected to the overlay network.
  • DHT distributed Hash Table
  • each node device Retains only link information to some node devices that is obtained when joining, such as when it does not recognize link information (for example, IP address) to all participating node devices. Data), and it is now possible to query and match data based on strong link information.
  • Non-Patent Document 1 Toshio Oka, Hiroyuki Morikawa, Yuki Aoyama, “Examination of lightweight load distribution method for distributed hash table”, IEICE technical report, (Japan), IEICE, 2004 2 5th, No. 103, No. 650, p.7-12
  • a node device When a node device newly participates in the overlay network, it transmits a participation request message to a contact node that recognizes V in advance.
  • the contact node and other node devices operate as follows, so that the node device that sent the participation request message ( Hereinafter, it is called a participation request node. ) Is a way to acquire link information of other node devices and create a routing table for DHT.
  • the contact node Upon receiving the participation request node force participation request message, the contact node returns link information of the other node devices registered in the largest stage of the DHT routing table. In addition, the contact node is not required to send a participation request message unless the own node device is the root node of the participation request node (the unique identification information (node ID) corresponding to the link information is the closest to the participation request node). To the node device. When the contact node forwards the participation request message, it sends the information of the next stage that returns link information to the participation request node.
  • the contact node forwards the participation request message, it sends the information of the next stage that returns link information to the participation request node.
  • the node device that has received the participation request message transferred in this way transmits the link information of the corresponding node device to the participation request node based on the information at the stage of returning the link information. Also, this node device forwards the participation request message to another node device if the node device is not the root node of the participation request node. The power of the node device to which the participation request message has been transferred Further, when transferring the participation request message, the link information is returned to the participation request node, and further information on the next stage is transmitted.
  • the participation request message is transferred to the root node of the participation request node, and each node device that has received the participation request message returns link information at a predetermined stage to the participation request node.
  • a participation request node that receives link information one after another creates a DHT routing table based on the link information.
  • the participation request node creates the routing table in the above procedure
  • the information of the node device that has already left the overlay network power is included in the received link information of the other node devices. May be included. Then, when information is sent to the node device that has withdrawn or the node device that has a near-node ID, the information transfer may be delayed.
  • the present invention has been made in view of the above inconvenience, and participates in a peer-to-peer information communication system and method including a plurality of node devices connected to each other via a communication path.
  • Requesting node is participating in the overlay network It is an object of the present invention to provide an information communication system and method capable of acquiring only link information of a node device.
  • the invention according to claim 1 is an information communication system having an overlay network formed by participation of a plurality of node devices connected to each other via a communication path.
  • One node device included in the plurality of node devices indicates a storage means for storing node information indicating a node device that is a candidate for an information transfer destination, a request to participate in the overlay network, and
  • participation request information including node information of a participation request node device that requests participation
  • the ability to store node information indicating a transfer destination node device according to the node information of the participation request node device If the node information indicating the transfer destination node device is stored, the participation request information transfer for transferring the participation request information to the node device.
  • node information indicating a node device other than the transfer destination corresponding to the node information of the participation request node device that is the transmission source of the participation request information is stored when the participation request information is received. And storing node information indicating a node device other than the transfer destination, and transmitting presence confirmation information including the node information of the participation request node device to the node device. And a reply information transmitting means for transmitting reply information to the participation request node device when the presence confirmation information is received.
  • the presence confirmation information transmitting unit of the node device that has received the participation request information transmits the presence confirmation information to another node device
  • the reply information transmitting unit of the node device that has received the presence confirmation information In order to send reply information to the participation request node device (hereinafter also simply referred to as participation request node), the participation request node confirms that the node device that sent the reply information participates in the overlay network. it can. Therefore, a participation request node newly participating in the overlay network can acquire node information (for example, an IP address, etc.) that becomes link information of a node device that is surely participating in the overlay network.
  • the participation request node can store each node information in the storage means based on the acquired node information and the like.
  • the node device that is the source of the presence confirmation information can confirm that the other node device exists, if the presence confirmation information can be transmitted to the other node device. If it is impossible to send the presence confirmation information, it can be confirmed that the other node device is present, and it is possible to confirm that the other node device is present.
  • the invention according to claim 2 is an information communication system having an overlay network formed by participation of a plurality of node devices connected to each other via a communication path.
  • one node device included in the plurality of node devices stores a node information indicating a node device that is a candidate for an information transfer destination, and indicates a request to participate in the overlay network.
  • participation request information including node information of a participation request node device that requests participation
  • node information indicating a transfer destination node device according to the node information of the participation request node device is stored.
  • the node information indicating the node device indicating the node device other than the transfer destination according to the node information of the participation request node device that is the transmission source of the participation request information is stored.
  • the invention according to claim 3 is an information communication system having an overlay network formed by participation of a plurality of node devices connected to each other via a communication path.
  • a storage means for storing node information indicating a node apparatus that is a candidate for an information transfer destination, and a participation request node that indicates and requests participation in the overlay network.
  • participation request information transfer means for transferring the participation request information to the node device, and the participation request information Is received, Whether node information indicating a node device other than the transfer destination according to the node information of the participation request node device that is the transmission source of the participation request information is stored! If the node information indicating the node device is stored, the presence confirmation information transmitting means for transmitting the presence confirmation information including the node information of the participation request node device to the node device, and the presence confirmation information are received.
  • the node device further comprises a reply information transmitting means for transmitting reply information to the participation request node device.
  • the participation request node that newly joined the overlay network is the node device that is surely participating in the overlay network. Link information can be acquired.
  • the invention according to claim 4 is a node device that has received the reply information from the node device according to claim 3, and is a transmission source of the received reply information.
  • a node device characterized by comprising storage means for storing the node information corresponding to the node device.
  • the participation request node can store node information of other node devices that are surely participating in the overlay network at that time based on the received reply information. Therefore, processing such as information transfer in the information communication system proceeds without delay, and the communication efficiency of the entire information communication system is improved.
  • the invention according to claim 5 is the node device according to claim 3, wherein the storage means includes the node information and a unique information corresponding to the node information.
  • the identification information is stored in association with each area of the identification information, and the participation request information transfer means specifies the predetermined area in the storage means when transferring the participation request information.
  • Information is added to the participation request information, and the presence confirmation information sending means adds the area designation information to the received participation request information, and the contents of the area designation information.
  • the node device is characterized in that when the node information of another node device as a transmission destination is stored, the existence confirmation information is transmitted to the node device.
  • the node device attaches the area designation information when transferring the participation request information, so that other information belonging to each area of the identification information suitable for the identification information of the participation request node can be obtained.
  • Existence confirmation information can be transmitted to the node device.
  • the participation request node since the node device that has received the presence confirmation information transmits the return information to the participation request node, the participation request node includes the node information of the node device belonging to each area of the identification information suitable for the identification information of the participation request node.
  • the node information of each node device can be stored in a well-balanced manner. As the participation request node stores the node information of other node devices in this way, processing such as information transfer in the information communication system proceeds without delay, and the communication efficiency of the entire information communication system is further improved.
  • the invention according to claim 6 is the node device according to claim 5, wherein the area of the identification information is divided into a plurality of areas according to the rules of the identification information.
  • the region to which the own node device belongs is further divided into a plurality of regions according to the rules of the identification information until the region to which only the own node device belongs is present.
  • the area designation information is added to the received participation request information
  • the presence confirmation information is stored in another node apparatus belonging to the area corresponding to the area designation information of the identification information.
  • the participation request information transfer means transmits the participation request information to a range smaller than the region of the identification information corresponding to the region designation information.
  • the node device characterized in that the region designation information designating a corresponding region is added to the participation request information.
  • the area of the identification information is divided as described above, and by adding the area specifying information as described above, the participation request node can identify the identification suitable for the identification information of the participation request node.
  • Node information of node devices belonging to each area of information can be acquired, and node information of each node device can be stored in a balanced manner.
  • Such a configuration can be applied to, for example, a routing table using DHT, and can smoothly perform routing processing used for information transfer in the information communication system. Communication efficiency is further improved.
  • the invention according to claim 7 is the node device according to any one of claims 3, 5 or 6, wherein the presence confirmation information transmitting means When the presence confirmation information is transmitted, the node of the node device to which the presence confirmation information is transmitted A node device further comprising node information transmitting means for transmitting information to the participation requesting node device.
  • the node device having the presence confirmation information transmitting means functioning transmits the node information of the node device that is the transmission destination of the presence confirmation information to the participation request node, so that the node device A part of the stored node information is transmitted to the participation request node.
  • the participation request node receives part of the node information stored in the other node device, and also receives reply information from the node device corresponding to the node information, so that it can participate in the overlay network more accurately.
  • the node information of the node device that is in operation can be stored.
  • the invention according to claim 8 is such that an information processing program for causing a computer to function as the node device according to any one of claims 3 to 7 is readable by a computer.
  • the recording medium is characterized by being recorded.
  • the node device newly participates in the overlay network by having each of the above means, particularly the participation request information transfer means, the presence confirmation information transmission means, and the reply information transmission means.
  • the participation request node can participate in the overlay network and acquire the link information of the node device.
  • FIG. 1 is a diagram showing an example of a connection mode of each node device in the information communication system according to the present embodiment.
  • FIG. 2 is a diagram showing an example of how an ID space and a routing table are created by DHT.
  • FIG. 3 is an example of a level 1 table.
  • B An example of a level 2 table.
  • C An example of a level 3 table.
  • D An example of a completed routing table.
  • FIG. 4 is a diagram showing a schematic configuration example of a node device 1.
  • FIG. 5 is a diagram for explaining a mode in which a DHT routing table is created after node device 1 joins an overlay network.
  • FIG. 6 (A) to (C) are diagrams each showing a DHT routing table stored in another node device 1.
  • FIG. 7 A diagram showing a DHT routing table created by node Z, which is a participation request node.
  • FIG. 8 is a flowchart showing basic processing in the node device 1.
  • FIG. 9 is a flowchart showing message reception processing in the node device 1.
  • FIG. 10 is a flowchart showing registration processing in a table of another node device 1 in the node device 1.
  • a node device newly participating in the overlay network transmits a participation message as participation request information to a contact node which is an arbitrary node device, as presence confirmation information.
  • the participation request node creates a DHT routing table using the existence confirmation message and response message as the return information.
  • FIG. 1 is a diagram illustrating an example of a connection mode of each node device in the information communication system according to the present embodiment.
  • IX Internet eXchange
  • ISP Internet Service
  • a network such as the Internet (real-world network) 8 is constructed by 7 etc.
  • the information communication system S includes a plurality of node devices la, lb, lc---lx, ly, 1 ⁇ ⁇ that are connected to each other via such a network 8. This is a peer-to-peer network system. Each node device la, lb, lc---lx, ly, 1 ⁇ ⁇ ⁇ ⁇ is assigned a unique serial number and IP (Internet Protocol) address as information indicating the node device (node information in the present invention). Yes. The serial number and IP address do not overlap among the plurality of node devices 1. In the following description, when any one of the node devices la, lb, lc---lx, ly, 1 ⁇ ... is indicated, it may be referred to as node device 1 for convenience. .
  • DHT Distributed Hash Table
  • each node device 1 participating in the network 8 it is simple for each node device 1 participating in the network 8 to know the IP addresses of all the node devices 1 participating in the network 8. If the number of terminals is tens of thousands and hundreds of thousands, it is not realistic to remember the IP addresses of all the node devices 1. If the power of any node device is turned ON or OFF, the IP address of the arbitrary node device stored in each node device 1 is frequently updated, which makes operation difficult.
  • an overlay network 9 as shown in an upper frame 100 of FIG. 1 is constructed by an algorithm using DHT.
  • this overlay network 9 means a network that forms a virtual link formed using the existing network 8.
  • an overlay network 9 constructed by an algorithm using DHT is assumed, and the node device 1 arranged on the overlay network 9 participates in the information communication system S (in other words, in other words).
  • the node device 1 arranged on the overlay network 9 participates in the information communication system S (in other words, in other words).
  • participation in the information communication system S is still participating and participating in any node device 1 (hereinafter also referred to as a contact node) that has already participated and participated in any node device 1 (hereinafter also referred to as a contact node).
  • request information hereinafter also referred to as a participation message
  • the participation message as participation request information indicates a request for participation in the overlay network and includes node information of the participation request node that requests participation.
  • a common hash function a unique value for each node device
  • the node ID (hashed) obtained by a common hash function has a very low probability of having the same value if the IP address or serial number is different. Since the hash function is publicly known, detailed explanation is omitted.
  • a value obtained by hashing an IP address (global IP address; node information) with a common hash function is used as a node ID (GUID (Global Unique IDentifier); identification information).
  • Figure 2 shows an example of how the routing table is created by the DHT.
  • the node IDs assigned to the respective node devices 1 are generated by a common hash function, the node IDs are slightly biased on the same ring-shaped ID space as shown in FIG. 2 (A) to FIG. 2 (C). Rather, it can be thought of as being scattered.
  • the figure shows a node ID assigned with 8 bits. Black dots in the figure indicate node IDs, and IDs increase counterclockwise.
  • the ID space as shown in FIG. 2 (A) is divided into several areas. Actually, about 16 divisions are often used, but in order to simplify the explanation, it is assumed here that the division is 4 and the ID is expressed as a quaternary number with a bit length of 8 bits.
  • the node ID of the node device 1N is “1023” and the routing table of the node device 1N is created will be described.
  • each area is expressed in quaternary numbers with different maximum digits.
  • Figure 3 (A) shows an example of a level 1 table. The second column indicates the node device 1N itself, so there is no need to store the IP address.
  • FIG. 2 (B) is an example of a level 2 table.
  • the first column shows the node device 1N itself, so there is no need to store the IP address.
  • the area where it exists is further divided into four, and further four areas “100X” “101X” “102X” “103” X ".
  • the node device 1 existing in an area other than the area where the user exists is appropriately selected, and the IP address of the node ID is stored in the level 1 table.
  • Figure 3 (C) shows an example of a level 3 table.
  • the third column shows the node device 1N itself, so there is no need to store the IP address.
  • the second column and the fourth column are blank because there is no node device in the area.
  • the node device 1 creates a DHT routing table that stores the IP addresses of the other node devices 1.
  • the node device 1 has an IP address as node information, a node ID as identification information, and an area of a node ID space as an area to which identification information belongs, that is, each level of DHT. And each column is stored in association with each other.
  • the node device corresponding to the node ID closest to the node ID of its own node device 1N is assigned to the root node (Fig. 2 (C) and Fig. 3 (D) described later). Oh! In the end, it is assumed that the node device has a node ID of 1000).
  • the number of levels is determined according to the number of digits of the node ID, and the number of attention digits of each level in FIG. 3 (D) is determined according to the number of decimal numbers. Specifically, if it is a 16-digit hexadecimal number, it will be a 6-bit ID, and at level 16, the (alphabetic) digits of interest will be 0 to f. In the description of the routing table described later, the portion indicating the number of digits of interest at each level is simply referred to as “column” or “number of columns”.
  • FIG. 4 is a diagram illustrating a schematic configuration example of the node device 1.
  • each node device 1 includes a CPU 11 having a calculation function, a working RAM, a ROM that stores various data and programs, a control unit 11 as a computer, content data, HD power for storing (storing) index information, DHT and programs, etc.
  • Storage unit 12 as configured storage means (the above content data may be stored on node device 1) and received Buffer memory 13 that temporarily stores the content data that has been encoded, and a decoder that decodes the encoded video data (video information), audio data (audio information), etc. included in the content data (data expansion, decoding, etc.) Unit 14, a video processing unit 15 that performs a predetermined drawing process on the decoded video data and the like, and outputs the result as a video signal.
  • Display unit 16 such as a CRT or liquid crystal display that displays video based on the video signal output from the video processing unit 15, and D (Digital) / A (Analog) conversion of the decoded audio data into an analog audio signal Information between the audio processing unit 17 that amplifies this with an amplifier and outputs it, the power 18 that outputs the audio signal output from the audio processing unit 17 as a sound wave, and the other node device 1 through the network 8
  • the control unit 11, the storage unit 12, the buffer memory 13, the decoder unit 14, and the communication unit 20 are connected to each other via a bus 22.
  • the CPU in the control unit 11 executes various programs stored in the storage unit 12 or the like. As a result, the entire node device 1 is controlled in an integrated manner, and content data registration processing and the like are performed in accordance with an instruction signal from the input unit 21.
  • the node device 1 functions as a node device that transmits (transfers) information, a node device that receives information, and the like according to a program to be executed.
  • the control unit 11 of the node device 1 functions as a participation request information transfer unit, a presence confirmation information transmission unit, a reply information transmission unit, and a node information transmission unit of the present invention.
  • the information communication system S receives a response message as reply information of another node device after one node device participates in the overlay network, thereby receiving the node device that is the transmission source of the response message.
  • DHT routing table is created based on the information of.
  • the node that requests participation is assumed to be node Z, and any node device that already knows the IP address (hereinafter referred to as a contact node) that communicates for the first time at node Z power is called node B. To do.
  • the DHT routing table is also simply referred to as a table. Also, the word “registration” is used to store node information and identification information of other node devices.
  • FIG. 5 is a schematic diagram showing the flow of each message for creating a DHT routing table after the participation request node has entered the information communication system S.
  • Each figure in FIG. Fig. 7 is an example of a DHT routing table that has already been stored in Node B, Node ⁇ , and Node G that have already participated in the information communication system S, and Fig. 7 shows that node Z returns reply information (response message). It is an example of the DHT routing table created by receiving.
  • node Z participates in the communication network in the information communication system S
  • node Z participates in node B, which is a contact node, as participation request information.
  • Send the message (arrow 101).
  • node A confirms that node B exists by successfully transmitting the join message (arrow 102).
  • node B sequentially transmits an existence confirmation message as existence confirmation information to node A, node E, and node C registered at level 1 as shown in FIG. 6 (A) (arrow 103, 105, 1 07).
  • Node A then sends a response message to node Z (arrow 104), node E sends a response message to node Z (arrow 106), and node C sends a response message to node Z (arrow 108). ).
  • node E sends a response message to node Z (arrow 106)
  • node C sends a response message to node Z (arrow 108).
  • Fig. 6 (A) to Fig. 6 (C) if there is a ⁇ mark to the left of the number of levels, it means that an existence confirmation message is sent to the node device registered at that level.
  • a node device surrounded by a double square means that a participation message is transferred to the node device.
  • node Z obtains the IP addresses of node A, node B, node C, and node E in the table of FIG. 7, and associates the IP address with the corresponding node ID to obtain the SD address. .
  • Node B then forwards the join message to the root node of node Z, here node E (arrow 109).
  • region designation information indicating that the destination of the existence confirmation message is the next level 2 is added to the participation message.
  • node E sequentially transmits a presence confirmation message to node G, node D, and node F registered in the next level 2 (arrows 110, 112, 114). ).
  • Node G then sends a response message to node Z (arrow 111), node D sends a response message to node Z (arrow 113), and node F sends a response message to node Z (arrow 115). ).
  • the node Z can store the IP addresses and node IDs of the nodes D, F, and G in the table of FIG.
  • Node E then forwards the join message to the root node of node Z, here to node G (arrow 116).
  • area designation information indicating that the destination of the existence confirmation message is the next level 3 is added to the participation message.
  • the node G transmits a presence confirmation message to the node H registered at the next level 3 (arrow 117).
  • Node ⁇ then sends a response message to node Z (arrow 118).
  • node G is the root node of node Z and there is no further transfer destination, the processing is terminated.
  • the node Z can store the IP address and node ID of the node H in the table of FIG. 7, and the node Z can create the DHT routing table shown in FIG. 7 by the above flow.
  • This node Z table is received from each existing node device 1. Since it was created based on the received response message, the other node device 1 stored in the table has left, so there is a probability that transmission or transmission of information based on the table will be delayed. Lower. Accordingly, the communication efficiency of the information communication system S as a whole is improved.
  • each node device 1 in the information communication system S of the present embodiment will be described using FIG. 5 to FIG.
  • Processing in each node device 1 after one node device 1 (the node Z described above) participates in the communication network in the information communication system S will be described with reference to the flowcharts in FIGS.
  • Each process will be described by taking several node devices 1 as an example, but every node device 1 performs the same process.
  • Node Z After participating in the communication network, creates and holds (stores) the DHT routing table shown in FIG. 7 according to the procedure shown in FIG.
  • node Z When the control unit 11 of the node Z recognizes that the power of the node device is turned on by the input unit 11 or the like, various settings of the node Z are initialized and basic processing is started (start). Note that it is assumed that node Z holds the IP address of contact node device 1 (node B) that communicates first when it joins the communication network.
  • the control unit 11 transmits a participation message specifying level 1 as region specification information to the contact node (node B) (step Sl).
  • the control unit 11 of the node Z confirms that the contact node B exists when communication with the contact node B is established in order to transmit the participation message, and the control is performed in step S32 of FIG. 10 described later.
  • the information of node B can be registered in the table.
  • the control unit 11 determines whether or not the power is turned off (step S2), and usually determines that the power is not turned off because the power is not turned off immediately after the power is turned on (step S2). NO), it is determined whether or not a message (information) has been received from another node device 1 (step S3).
  • Step S4 since at least the node A force response message is received, it is determined that the other node device 1 (node A) force has also received the message (step S3; YES), and the message receiving process is performed. (Step S4).
  • the message reception process will be described later with reference to FIG.
  • control unit 11 performs registration processing in the table for the node device 1 (node B) that is the transmission source of the received message (step S5).
  • the registration process in this table will be described later with reference to FIG.
  • step S2 the control unit 11 returns to step S2, and if the power is not turned off (step S2; NO) and no message is received (step S3; NO), the control unit 11 receives the input from the input unit 21 or the like. Perform other processing according to the input (step S6), and return to step S2. Thereafter, the control unit 11 of the node Z repeats the operations of steps S2 to S5 or steps S2, S3, and S6 depending on the case, and when the power of the node Z is turned off, determines so (step S2; YES), the basic processing is ended (END).
  • step S4 the control unit 11 of the node Z starts this message reception process (start).
  • start the explanation is based on the assumption that a response message from node A is received.
  • the control unit 11 determines whether or not the received message is a participation message (step Sl 1). Here, since the received message is a response message, the control unit 11 determines that the received message is not a participation message (step Sl l; NO), and then determines whether or not the received message is a presence confirmation message. (Step S12).
  • the control unit 11 determines that the received message is not an existence confirmation message (step S12; NO), and then the received message is a response message. It is determined whether or not (step S13). Here, the control unit 11 determines that the received message is a response message (step S13; YES ), Return to the original processing flow (return).
  • the control unit 11 of the node B receives the participation message, and starts the message reception process (start) when the message reception process (step S4) in the basic process described above starts.
  • step S11 if the control unit 11 of the node B determines that the message is a participation message (step SI 1; YES), area designation information indicating level 1 included in the participation message is acquired. (Step S14).
  • the control unit 11 determines that the number of levels in the table is 1 in accordance with the area designation information of this participation message (step S15).
  • control unit 11 determines whether the determined number of columns is less than or equal to the number of columns in the entire table (step S17), and since the determined number of columns 0 is less than or equal to 3 in the entire table (Ste S1 7; YES), it is determined whether or not the node device corresponding to the noted [number of levels] [number of columns] is its own node device (step S18).
  • step S18 since the node device corresponding to [number of levels 1] [number of columns 0] is not its own node device, such a determination is made (step S18; Next, it is determined whether or not the information of other node devices is stored in the noted [number of levels] [number of columns] (step S19).
  • the control unit 11 makes such a determination (step S19; YES), and participates in the message.
  • the existence confirmation message including the IP address of node Z that is the transmission source of the node ID is created, and the existence confirmation is made to the node device (node A) of node ID [0211] stored in [number of levels 1] [number of columns 0].
  • a message is transmitted (step S20). Here, it is assumed that the transmission of the message is successful.
  • control unit 11 determines whether or not the message transmission process is successful (step S21), and here, since the transmission process of the existence confirmation message is successful, it is determined as such (step S21; YES). Next, the control unit 11 adds 1 to the value of the column number 0 to obtain the column number 1 (step S22), and returns to step S17.
  • control unit 11 is stored in [number of levels 1] [number of columns 1] through step S17; YES, step S18; NO, step S19; YES, step S20, step S21; An existence confirmation message is transmitted to the node device (node E) with the node ID [1221], and 1 is added to the value of the number of columns 1 to set the number of columns 2 (step S23), and the process returns to step S17.
  • step S17; YES the control unit 11 determines that the area of [number of levels 1] [number of columns 2] is its own node device in step S18 (step S19; YES). Add 1 to the value of Equation 2 to make the number of columns 3 (Step S22), and return to Step S17.
  • control unit 11 stores the [number of levels 1] [number of columns 3] through step S17; YES, step S18; NO, step S19; YES, step S20, step S21; An existence confirmation message is transmitted to the node device (node C) with the node ID [3121], 1 is added to the value of the number of columns 3 to set the number of columns to 4 (step S22), and the process returns to step S17.
  • the control unit 11 determines whether the determined number of columns is less than or equal to the number of columns in the entire table (step S 17), and the determined number of columns 4 is not less than or equal to 3 in the entire table. (Step S17; NO), the node device of the transfer destination (transmission destination) of the participation message is authorized (Step S23). At this time, since the node device closest to the node ID [101 3] of the node Z that is the participation request node is the node ⁇ of the node ID [1221] as described with reference to FIG. Authorize it as the forwarding destination for participating messages.
  • the control unit 11 determines whether or not the own node device is the root node, that is, the node device closest to the node ID [1013] of the node Z that is the participation request node (step S24). ). As described above, since the node device closest to the node ID [1013] of the node Z that is the participation request node is the node [of the node ID [1221] and the own node device is not the root node, the control unit 11 makes such a determination (step S24; NO), creates a participation message in which information on the number of levels obtained by adding 1 to the number of levels of interest is added as area specification information, and assigns it to the transfer destination certified in step S24.
  • step S25 the original process flow Return (Return).
  • the control unit 11 adds the area designation information of level number 2 to which the number of levels that has been focused on to 1 is added to this to the participation message, forwards it to the node E, and returns to the original flow.
  • the control unit 11 of the node E receives the participation message, and starts the message reception process (start) when the message reception process (step S4) in the basic process described above starts.
  • step S11 if it is determined that the message received by the control unit 11 of the node E is a participation message (step SI 1; YES), region designation information indicating level 2 included in the participation message is acquired ( Step S 14).
  • the control unit 11 determines the number of levels in the table as 2 in accordance with the area designation information of this participation message (step S15).
  • the control unit 11 determines whether or not the determined number of columns is less than or equal to the number of columns in the entire table (step S17), and since the determined number of columns 0 is less than or equal to 3 in the entire table (step S17; YES ), It is determined whether or not the node device corresponding to the noted [number of levels] [number of columns] is the own node device (step S18).
  • the node device corresponding to [number of levels 2] [number of columns 0] is not its own node device, so that determination is made (step S18; Next, it is determined whether or not the information of other node devices is stored in the noted [number of levels] [number of columns] (step S19).
  • step S19 since the node device of node ID [1023] is stored in [number of levels 2] [number of columns 0], it is determined as such (step S19; YES), and the node that is the participation request node A presence confirmation message including the IP address of Z is created, and the message is sent to the node device (node G) of node ID [1023] stored in [number of levels 2] [number of columns 0] (step S20). ).
  • the message transmission process is successful.
  • control unit 11 determines whether or not the message transmission process is successful (step S21), and here, since the transmission process of the existence confirmation message is successful, it is determined as such (step S21; YES). Next, the control unit 11 adds 1 to the value of the column number 0 to obtain the column number 1 (step S22), and returns to step S17.
  • control unit 11 is stored in [number of levels 2] [number of columns 1] through step S17; YES, step S18; NO, step S19; YES, step S20, step S21; An existence confirmation message is transmitted to the node device (node D) with the node ID [1120], 1 is added to the value of the number of columns 1 to set the number of columns 2 (step S22), and the process returns to step S17.
  • control unit 11 determines that the area of [number of levels 2] [number of columns 2] is its own node device in step S18 through step S17; YES (step S18; YES) Add 1 to the value of column number 2 to set the number of columns to 3 (step S22), and return to step S17.
  • control unit 11 is stored in [number of levels 2] [number of columns 3] through step S17; YES, step S18; NO, step S19; YES, step S20, step S21;
  • a presence confirmation message is transmitted to the node device (node F) with the node ID [1323], and 1 is added to the value of the number of columns 3 to set the number of columns to 4 (step S22), and the process returns to step S17.
  • control unit 11 determines whether or not the determined number of columns is less than or equal to the number of columns in the entire table (step S 17), and because the determined number of columns 4 is not less than or equal to 3 in the entire table. (Step S17; NO), the node device of the transfer destination (transmission destination) of the participation message is authorized (Step S23). At this time, since the node device closest to the node ID [1013] of the node Z that is the participation request node is the node G of the node ID [1023], the node G is recognized as the transfer destination of the participation message.
  • the control unit 11 determines whether or not the own node device is the root node, that is, the node device closest to the node ID [1013] of the node Z that is the participation request node (step S24). ). As described above, here, the node device closest to the node ID [1013] of the node Z that is the participation request node is the node G of the node ID [1023], and the own node device is not the root node.
  • Part 11 makes such a determination (step S24; NO), and a participation message in which information on the number of levels obtained by adding 1 to the number of levels of interest is added as area specification information Is created, transferred to another node device authorized as the transfer destination (step S25), and the flow returns to the original processing flow (return).
  • the control unit 11 adds the area designation information of the level number 3 obtained by adding 1 to the level number 3 to the participation message, and sends it to the transfer destination node G for the original processing. Return to the flow.
  • step S20 when the message transmission process in step S20 is unsuccessful, the control unit 11 determines in step S21 that the message transmission process is not successful (step S2 1; NO), and the corresponding [level [Number] [Number of columns] Information such as IP address of node device 1 is deleted from the tape (step S26), and the process returns to the next step S22.
  • Node G the message reception process when node E is also transferred and received the participation message will be described below.
  • Node G is assumed to have stored the table shown in Fig. 6 (C).
  • the control unit 11 of the node G receives the participation message, and starts the message reception process (start) when the message reception process (step S4) in the basic process described above starts. If it is determined in step S11 that the message received by the control unit 11 of the node G is a participation message (step SI 1; YES), region designation information indicating level 3 included in the participation message is acquired ( Step S 14). The control unit 11 determines that the number of levels in the table is 3 in accordance with the area designation information of this participation message (step S15).
  • the control unit 11 determines whether or not the determined number of columns is less than or equal to the number of columns in the entire table (step S17), and since the determined number of columns 0 is less than or equal to 3 in the entire table (step S17; YES ), It is determined whether or not the node device corresponding to the noted [number of levels] [number of columns] is the own node device (step S18).
  • the node device corresponding to [number of levels 3] [number of columns 0] is not its own node device, so that determination is made (step S18; NO), and then determine whether or not it is possible to memorize the information of other node devices stored in the [number of levels] [number of columns] (Step SI 9).
  • step S19 NO
  • this area is skipped, and the number of columns 0 Add 1 to the value to make the number of columns 1 (step S22), and return to step S17.
  • step S17 the control unit 11 goes through step S17; YES, step S18; NO, step S19; NO, and no other node device is stored in [number of levels 3] [number of columns 1]. The area is skipped, 1 is added to the value of the number of columns 1, and the number of columns is 2 (step S22), and the process returns to step S17.
  • control unit 11 determines that the area of [number of levels 2] [number of columns 2] is its own node device in step S18 through step S17; YES (step S18; YES) Add 1 to the value of Equation 2 to make the number of columns 3 (Step S22), and return to Step S17.
  • control unit 11 is stored in [number of levels 2] [number of columns 3] through step S17; YES, step S18; NO, step S19; YES, step S20, step S21; An existence confirmation message is transmitted to the node device (node H) with the node ID [1032], and 1 is added to the value of the number of columns 3 to set the number of columns to 4 (step S22), and the process returns to step S17.
  • the control unit 11 determines whether or not the determined number of columns is less than or equal to the number of columns in the entire table (step S 17), and since the determined number of columns 4 is not less than or equal to 3 in the entire table. (Step S17; NO), the node device of the transfer destination (transmission destination) of the participation message is authorized (Step S23). At this time, since the node device closest to the node ID [1013] of the node Z [1013] that is the participation request node is the own node device (node G) of the node ID [1023], the node G is transferred to the join message. Authorize as a destination.
  • the control unit 11 determines whether or not the own node device is the root node, that is, the node device closest to the node ID [1013] of the node Z that is the participation request node (step S24). ). As described above, since the own node device (node G) is the root node here, the control unit 11 makes such a determination (step S24; YES) and returns to the original processing flow (return). .
  • the control unit 11 of the node A receives the presence confirmation message, and starts the message reception process (start) when the message reception process (step S4) in the basic process described above starts.
  • start the message reception process
  • step S4 the message reception process
  • the control unit 11 determines whether or not the received message is a participation message (step Sl l).
  • the control unit 11 determines that the received message is not a participation message (step Sl l; NO), and then determines whether or not the received message is an existence confirmation message. Is determined (step S12).
  • the control unit 11 determines that the received message is a presence confirmation message (step S12; YES), obtains the IP address of the node Z that is the participation request node added to the presence confirmation message, and A response message is transmitted to node Z (step S27), and the process returns to the original processing flow (return).
  • Step Sl 1 when the message received by the node device 1 is neither the participation message, the existence confirmation message, or the response message, Step Sl 1; NO, Step S12;
  • step S13 NO is determined and processing is performed when another message is received (step S30), and the flow returns to the original processing flow (return).
  • step S5 When the registration process (step S5) of the other node device 1 in the basic process described above starts, the control unit 11 of the node Z starts the registration process to the node A table (start).
  • the control unit 11 starts from the received response message.
  • Information of the node A that is the transmission source node device, specifically, information such as an IP address is acquired (step S31).
  • node Z receives response messages one after another from node E, node C, node G, node D, node F, and node H.
  • the information of each node device 1 is registered in the table through steps S31 and S32 described above, and the DHT routing table shown in FIG. 7 is created and stored.
  • the node Z confirms that the other node device 1 exists when communication with the other node device 1 is established, as in the case where the participation message is transmitted to the node B described above. Information on the other node device 1 can also be registered in the table.
  • the storage unit 12 of the node device 1 is configured to be stored in the DHT routing table in association with the IP address and the node ID of the other node device 1, but is not limited thereto. At least node information indicating the node device 1 that is a candidate for the information transfer destination is stored.
  • the storage unit 12 as the storage means of the node device 1 corresponds to the above node information and unique identification information corresponding to the node information for each region to which the identification information belongs, as in the DHT routing table. It is preferable to store the information.
  • the participation request node acquires node information of each node device belonging to each area of identification information suitable for the identification information and stores it in a balanced manner. can do.
  • the identification information area is divided into multiple areas according to the rules of identification information, and the own node equipment belongs to the stage where only the own node equipment exists. It is preferable that the area is further divided into a plurality of areas according to the rules of identification information.
  • the node information may include a port number in addition to the IP address, and is not particularly limited.
  • the identification information is not limited to the node ID, and may be other unique identification information corresponding to the node information.
  • the control unit 11 of the node device 1 determines whether or not the node device 1 that is the transfer destination is stored and stores it. In this case, the participation message is transferred to the node device 1 (steps S23, S2 4; NO, S25), but is not limited to this.
  • the control unit 11 serving as a participation request information transfer unit of the node device 1 indicates a participation request to the overlay network and receives a participation request information including node information of the participation request node that requests participation. It is determined whether or not the node information indicating the node device of the transfer destination according to the node information of the node is stored. If the node information indicating the node device of the transfer destination is stored, the node device is stored. If you transfer the participation request information to.
  • the control unit 11 of the node device 1 is configured to transmit a presence confirmation message to the node device 1 registered at one level in the table (FIGS. 6A to 6). (See the ⁇ mark in Figure 6 (C)), but not limited to this.
  • the control unit 11 as means for transmitting presence confirmation information of the node device 1 stores node information indicating a node device other than the transfer destination according to the node information of the participation requesting node device! If the node information indicating the node device other than the transfer destination is stored, a presence confirmation message including the node information of the participation request node is transmitted to the node device. Good.
  • control unit 11 may be configured to transmit an existence confirmation message to the node device 1 registered at a plurality of levels, or to an arbitrarily selected registered node device 1. It is good also as a form which transmits di. Further, the control unit 11 transmits the presence confirmation message to the node device 1 other than the transfer destination described above, and if so, the control unit 11 transmits the presence confirmation message to the node device 1 of the transfer destination according to the node information of the participation request node device 1. You can send.
  • the control unit 11 of the node device 1 transmits the participation message for the first time or when transferring the participation message, the area designation information that is information on the number of levels in the DHT routing table. (Step Sl, S25), but is not limited to this.
  • the control unit 11 as a means for transferring participation request information of the node device 1
  • the area designation information that can be added to the participation request information by adding the area designation information designating a predetermined area in the storage means when transferring the request information is not limited to the number of levels.
  • control unit 11 serving as the presence confirmation information transmission means adds the area designation information to the received participation request information, and responds according to the power of the force and the contents of the area designation information. (Steps S14 and S15) When node information of another node device as a transmission destination is stored, the presence confirmation information is transmitted to the node device.
  • control unit 11 as the presence confirmation information transmitting unit stores the area designation information in the received participation request information, if it is stored. It is preferable to transmit the existence confirmation information to other node devices belonging to the area corresponding to the area designation information of the identification information (steps S14, S15, S20). Note that the control unit 11 as the presence confirmation information transmission means stores the area designation information in the received participation request information, such as when the participating node does not use the area designation information. Thus, it is preferable to transmit the presence confirmation information to other node devices belonging to the largest area of identification information (level 1 in the above embodiment) (step S20).
  • the control unit 11 as the participation request information transfer means sets the area to be smaller than the area of the identification information corresponding to the area designation information.
  • the area designation information designating the corresponding area is added to the participation request information (steps S14, S15, S25).
  • the control unit 11 serving as the participation request information transfer means adds the area designation information to the received participation request information, and in this case, the area having the largest identification information (level 1 in the above embodiment).
  • the area designation information designating the area of the next stage is added to the participation request information (step S25).
  • the information communication system and the like of the present invention can also perform participation request information transfer processing, presence confirmation information transmission processing, and reply information transmission processing without using the region designation information described above.
  • each node device and the entire system when the node device 1 participates in the information communication system S is not limited to that described with reference to FIGS.
  • the node device 1 having the participation request information transfer means functioned by the operations of S23, S24, and S25 may further transmit the node information of the node device 1 that is the transmission destination of the presence confirmation message to the participation request node.
  • This operation is a node information transmission means This is performed by the control unit 11.
  • the participation request node can acquire node information of other node devices from the two node devices, and can record a more accurate DHT routing table.
  • the node A or the like that has received the existence confirmation message transmits a response message to the participation request node (node Z), but is not limited thereto.
  • the control unit 11 serving as a reply information transmitting unit of the node device 1 may transmit the reply information to the participation request node at least when the presence confirmation information is received.
  • the control unit 11 as a reply information transmission unit of the node device 1 may further transmit the reply information to the participation request node when the participation request information is received.
  • a program corresponding to each operation of the node device 1 described above is recorded in an information recording medium such as a flexible disk or a hard disk, or is acquired and recorded via a network such as the Internet.
  • an information recording medium such as a flexible disk or a hard disk
  • a network such as the Internet.
  • the microcomputer function as the control unit 11 according to each embodiment by reading and executing it by a microcomputer or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

 参加要求ノードがオーバーレイネットワークに参加しているノード装置のリンク情報(IPアドレス等)を取得することができる情報通信システム等を提供する。  複数のノード装置の参加により形成されたオーバーレイネットワークを有する情報通信システムであって、これに含まれる一のノード装置(B)は、情報の転送先の候補となるノード装置を示すノード情報を記憶し、参加要求ノード(Z)からのオーバーレイネットワークへの参加要求を示す参加メッセージを受信した場合に、参加要求ノード(Z)のノード情報に応じた転送先のノード装置(E)に参加メッセージを転送し、当該参加要求ノード(Z)のノード情報に応じた転送先以外のノード装置(A、C)に参加要求ノードのノード情報を含む存在確認メッセージを送信し、存在確認メッセージを受信した場合には、参加要求ノードに応答メッセージを送信することにより、上記課題を解決する。

Description

明 細 書
情報通信システム、情報通信方法、情報通信システムに含まれるノード装 置および情報処理プログラムが記録された記録媒体
技術分野
[0001] 本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツ 一ピア (Peer to Peer (P2P) )型の情報通信システム及び方法等の技術分野に関する
背景技術
[0002] 近年、ピアツーピアと 、う技術が注目されてきて 、る。ピアツーピア型の情報通信シ ステムにおいて、例えば、分散ハッシュテーブル(以下、 DHT (Distributed Hash Tab le)という)を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装 置が、当該オーバーレイネットワークに参カ卩している全てのノード装置へのリンク情報 (例えば、 IPアドレス)を認識しているわけではなぐ参加の際などに得られる一部のノ ード装置へのリンク情報だけを保持 (記憶)しており、力かるリンク情報に基づき、デー タの問 、合わせ等を行うようになって 、る。
[0003] このようなオーバーレイネットワークにおいては、ノード装置の参加及び脱退 (離脱) が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献 1には、 オーバーレイネットワークにおいて、参加及び脱退 (離脱)が頻繁に行われる場合で あっても、適切に負荷分散を行うための技術が開示されている。
非特許文献 1 :岡敏生、森川博之、青山友紀、「分散ハッシュテーブルの軽量な負荷 分散手法の検討」、電子情報通信学会技術研究報告、(日本)、社団法人電子情報 通信学会、 2004年 2月 5日、第 103卷、第 650号、 p.7- 12
発明の開示
発明が解決しょうとする課題
[0004] あるノード装置がオーバーレイネットワークに新規に参加する際には、予め認識して V、るコンタクトノードへ参加要求メッセージを送信する。コンタクトノードや他のノード 装置が以下のように動作することにより、参加要求メッセージの送信元のノード装置( 以下、参加要求ノードという。)は、他のノード装置のリンク情報を取得し、 DHTのル 一ティングテーブルを作成していく態様が考えられる。
[0005] コンタクトノードは、参加要求ノード力 参加要求メッセージを受け取ると、 DHTの ルーティングテーブルの最も大きな括りの段階に登録している他のノード装置のリン ク情報を返信する。また、コンタクトノードは、自ノード装置が参加要求ノードのルート ノード (リンク情報に対応する固有の識別情報 (ノード ID)が、参加要求ノードから最も 近いノード装置)でなければ、参加要求メッセージを他のノード装置に転送する。コン タクトノードが参加要求メッセージを転送する際には、参加要求ノードにリンク情報を 返信する次の段階の情報を併せて送信する。
[0006] このように転送された参加要求メッセージを受信したノード装置は、リンク情報を返 信する段階の情報に基づき、対応するノード装置のリンク情報を参加要求ノードに送 信する。また、このノード装置は、自ノード装置が参加要求ノードのルートノードでな ければ、参加要求メッセージを他のノード装置に転送する。参加要求メッセージを転 送されたノード装置力 さらに参加要求メッセージを転送する際には、参加要求ノー ドにリンク情報を返信するさらに次の段階の情報を併せて送信する。
[0007] このようにして、参加要求メッセージは参加要求ノードのルートノードまで転送され、 参加要求メッセージを受信したノード装置は、それぞれ所定の段階のリンク情報を参 加要求ノードに返信する。
[0008] リンク情報を次々に受信した参加要求ノードは、当該各リンク情報を元に、 DHTの ルーティングテーブルを作成する。
[0009] し力しながら、上述の手順で参カ卩要求ノードがルーティングテーブルを作成すると、 受信した他のノード装置のリンク情報の中に、既にオーバーレイネットワーク力 脱退 しているノード装置の情報が含まれている可能性がある。そうすると、脱退しているノ ード装置又はこれに近 ゾード IDを有するノード装置に情報を送信した ヽ場合に、 情報の転送が滞る場合がある。
[0010] そこで、本発明は、上記の不都合に鑑みてなされたものであり、通信経路を介して 互いに接続された複数のノード装置を備えたピアツーピア型の情報通信システム及 び方法等において、参加要求ノードが、オーバーレイネットワークに参加している(脱 退して 、な 、)ノード装置のリンク情報のみを取得することができる情報通信システム 及び方法等を提供することを課題とする。
課題を解決するための手段
[0011] 上記課題を解決するために、請求項 1に記載の発明は、通信経路を介して互いに 接続された複数のノード装置の参カ卩により形成されたオーバーレイネットワークを有 する情報通信システムであって、前記複数のノード装置に含まれる一のノード装置は 、情報の転送先の候補となるノード装置を示すノード情報を記憶する記憶手段と、前 記オーバーレイネットワークへの参加要求を示し、かつ、参加要求する参加要求ノー ド装置のノード情報を含む参加要求情報を受信した場合に、前記参加要求ノード装 置のノード情報に応じた転送先のノード装置を示すノード情報を記憶している力否か を判別し、当該転送先のノード装置を示すノード情報を記憶している場合には当該ノ ード装置に前記参加要求情報を転送する参加要求情報転送手段と、前記参加要求 情報を受信した場合に、当該参加要求情報の送信元である前記参加要求ノード装 置のノード情報に応じた転送先以外のノード装置を示すノード情報を記憶しているか 否かを判別し、当該転送先以外のノード装置を示すノード情報を記憶して 、る場合 には当該ノード装置に前記参加要求ノード装置のノード情報を含む存在確認情報を 送信する存在確認情報送信手段と、前記存在確認情報を受信した場合に、前記参 加要求ノード装置に返信情報を送信する返信情報送信手段と、を有することを特徴 とする情報通信システムである。
[0012] これによれば、参加要求情報を受信したノード装置の存在確認情報送信手段が他 のノード装置に存在確認情報を送信し、当該存在確認情報を受信したノード装置の 返信情報送信手段が参加要求ノード装置 (以下、単に参加要求ノードともいう。)に 対して返信情報を送信するため、参加要求ノードは、返信情報の送信元のノード装 置がオーバーレイネットワークに参加していることを確認できる。そのため、新規にォ 一バーレイネットワークに参加した参加要求ノードはオーバーレイネットワークに確実 に参加しているノード装置のリンク情報となるノード情報 (例えば、 IPアドレス等)等を 取得することができる。参加要求ノードは、この取得したノード情報等に基づき、記憶 手段に各ノード情報を記憶していくことができる。 [0013] なお、存在確認情報の送信元のノード装置は、他のノード装置に存在確認情報を 送信できた場合には、当該他のノード装置が存在していることを確認することができ、 存在確認情報を送信できな力 た場合には、当該他のノード装置が存在して ヽな ヽ ことを確認できるため、存在確認の動作も兼ねられて効率がょ 、。
[0014] 上記課題を解決するために、請求項 2に記載の発明は、通信経路を介して互いに 接続された複数のノード装置の参カ卩により形成されたオーバーレイネットワークを有 する情報通信システムにおける通信方法であって、前記複数のノード装置に含まれ る一のノード装置は、情報の転送先の候補となるノード装置を示すノード情報を記憶 する工程と、前記オーバーレイネットワークへの参加要求を示し、かつ、参加要求す る参加要求ノード装置のノード情報を含む参加要求情報を受信した場合に、前記参 加要求ノード装置のノード情報に応じた転送先のノード装置を示すノード情報を記憶 して 、る力否かを判別し、当該転送先のノード装置を示すノード情報を記憶して 、る 場合には当該ノード装置に前記参加要求情報を転送する工程と、前記参加要求情 報を受信した場合に、当該参加要求情報の送信元である前記参加要求ノード装置 のノード情報に応じた転送先以外のノード装置を示すノード情報を記憶している力否 かを判別し、当該転送先以外のノード装置を示すノード情報を記憶して 、る場合に は当該ノード装置に前記参加要求ノード装置のノード情報を含む存在確認情報を送 信する工程と、前記存在確認情報を受信した場合に、前記参加要求ノード装置に返 信情報を送信する工程と、を有することを特徴とする通信方法である。
[0015] 上記課題を解決するために、請求項 3に記載の発明は、通信経路を介して互いに 接続された複数のノード装置の参カ卩により形成されたオーバーレイネットワークを有 する情報通信システムに含まれる一のノード装置であって、情報の転送先の候補とな るノード装置を示すノード情報を記憶する記憶手段と、前記オーバーレイネットワーク への参加要求を示し、かつ、参加要求する参加要求ノード装置のノード情報を含む 参加要求情報を受信した場合に、前記参加要求ノード装置のノード情報に応じた転 送先のノード装置を示すノード情報を記憶して!/、るか否かを判別し、当該転送先のノ ード装置を示すノード情報を記憶している場合には当該ノード装置に前記参加要求 情報を転送する参加要求情報転送手段と、前記参加要求情報を受信した場合に、 当該参加要求情報の送信元である前記参加要求ノード装置のノード情報に応じた転 送先以外のノード装置を示すノード情報を記憶して!/、るか否かを判別し、当該転送 先以外のノード装置を示すノード情報を記憶している場合には当該ノード装置に前 記参加要求ノード装置のノード情報を含む存在確認情報を送信する存在確認情報 送信手段と、前記存在確認情報を受信した場合に、前記参加要求ノード装置に返信 情報を送信する返信情報送信手段と、を有することを特徴とするノード装置である。
[0016] これによれば、ノード装置がこのような各手段を有していることにより、新規にオーバ 一レイネットワークに参加した参加要求ノードはオーバーレイネットワークに確実に参 カロしているノード装置のリンク情報を取得することができる。
[0017] 上記課題を解決するために、請求項 4に記載の発明は、請求項 3に記載のノード装 置から前記返信情報を受信したノード装置であって、受信した前記返信情報の送信 元のノード装置に対応する前記ノード情報を記憶する記憶手段を有することを特徴と するノード装置である。
[0018] これによれば、参加要求ノードは、受信した返信情報に基づき、その時点でオーバ 一レイネットワークに確実に参加している他のノード装置のノード情報を記憶できる。 そのため、情報通信システムにおける情報の転送等の処理が滞りなく進むこととなり、 情報通信システム全体の通信効率が向上する。
[0019] 上記課題を解決するために、請求項 5に記載の発明は、請求項 3に記載のノード装 置であって、前記記憶手段は、前記ノード情報と、前記ノード情報に対応する固有の 識別情報と、を前記識別情報の領域毎に対応付けて記憶し、前記参加要求情報転 送手段は、前記参加要求情報を転送する際に、前記記憶手段における所定の領域 を指定した領域指定情報を当該参加要求情報に付加し、前記存在確認情報送信手 段は、受信した前記参加要求情報に前記領域指定情報が付加されて!ヽるカゝ否カゝ及 び前記領域指定情報の内容に応じて、送信先となる他のノード装置のノード情報を 記憶している場合には当該ノード装置に前記存在確認情報を送信することを特徴と するノード装置である。
[0020] これによれば、ノード装置は、参加要求情報を転送する際に領域指定情報を付カロ することにより、参加要求ノードの識別情報に適した識別情報の各領域に属する他の ノード装置に存在確認情報を送信することができる。そして、この存在確認情報を受 信したノード装置は返信情報を参加要求ノードに送信するため、参加要求ノードは、 参加要求ノードの識別情報に適した識別情報の各領域に属するノード装置のノード 情報を取得することができ、各ノード装置のノード情報をバランスよく記憶することが できる。参加要求ノードがこのように他のノード装置のノード情報を記憶することにより 、情報通信システムにおける情報の転送等の処理が滞りなく進むこととなり、情報通 信システム全体の通信効率がより向上する。
[0021] 上記課題を解決するために、請求項 6に記載の発明は、請求項 5に記載のノード装 置であって、前記識別情報の領域は、前記識別情報の規則に従って複数の領域に 分かれており、自ノード装置のみが属する前記領域の存在する段階まで、自ノード装 置が属する前記領域が前記識別情報の規則に従ってさらに複数の領域に分かれて おり、前記存在確認情報送信手段は、受信した前記参加要求情報に前記領域指定 情報が付加されて 、る場合には、記憶して 、る前記識別情報の領域指定情報に対 応する領域に属する他のノード装置に前記存在確認情報を送信し、前記参加要求 情報転送手段は、受信した前記参加要求情報に前記領域指定情報が付加されて 、 る場合には、当該領域指定情報に対応する前記識別情報の領域よりも小さな範囲に 対応する領域を指定した前記領域指定情報を前記参加要求情報に付加することを 特徴とするノード装置である。
[0022] これによれば、上記のように識別情報の領域が分かれており、上記のように領域指 定情報を付加することにより、参加要求ノードは、参加要求ノードの識別情報に適し た識別情報の各領域に属するノード装置のノード情報を取得することができ、各ノー ド装置のノード情報をバランスよく記憶することができる。このような形態は、例えば、 DHTを用いたルーティングテーブルに適用することができ、情報通信システムにお ける情報の転送等に用いられるルーティングの処理を円滑に行うことができるため、 情報通信システム全体の通信効率がより向上する。
[0023] 上記課題を解決するために、請求項 7に記載の発明は、請求項 3、 5又は 6のいず れか一項に記載のノード装置であって、前記存在確認情報送信手段により前記存在 確認情報を送信した場合に、当該存在確認情報の送信先であるノード装置のノード 情報を前記参加要求ノード装置に送信するノード情報送信手段をさらに有することを 特徴とするノード装置である。
[0024] これによれば、存在確認情報送信手段を機能させたノード装置が、当該存在確認 情報の送信先であるノード装置のノード情報を参加要求ノードに送信することにより、 当該ノード装置は、記憶しているノード情報の一部を参加要求ノードに送信すること になる。参加要求ノードは、他のノード装置が記憶しているノード情報の一部を受信 し、また、当該ノード情報に対応するノード装置力もの返信情報を受信することにより 、より正確にオーバーレイネットワークに参加しているノード装置のノード情報を記憶 することができる。
[0025] 上記課題を解決するために、請求項 8に記載の発明は、コンピュータを、請求項 3 乃至 7のいずれか一項に記載のノード装置として機能させる情報処理プログラムがコ ンピュータ読み取り可能に記録されていることを特徴とする記録媒体である。
発明の効果
[0026] 本発明によれば、ノード装置が上記各手段、特に参加要求情報転送手段と存在確 認情報送信手段と返信情報送信手段とを有していることにより、新規にオーバーレイ ネットワークに参加した参加要求ノードはオーバーレイネットワークに確実に参加して V、るノード装置のリンク情報を取得することができる。
図面の簡単な説明
[0027] [図 1]本実施形態に係る情報通信システムにおける各ノード装置の接続態様の一例 を示す図である。
[図 2]DHTによる ID空間及びルーティングテーブルが作成される様子の一例を示す 図である。
[図 3] (A)レベル 1のテーブルの一例である。(B)レベル 2のテーブルの一例である。 (C)レベル 3のテーブルの一例である。 (D)完成したルーティングテーブルの一例で ある。
[図 4]ノード装置 1の概要構成例を示す図である。
[図 5]ノード装置 1がオーバーレイネットワークに参加した後に DHTルーティングテー ブルを作成する態様を説明する図である。 [図 6] (A)〜(C)は、他のノード装置 1が記憶する DHTルーティングテーブルを示す 各図である。
[図 7]参カ卩要求ノードであるノード Zが作成する DHTルーティングテーブルを示す図 である。
[図 8]ノード装置 1における基本処理を示すフローチャートである。
[図 9]ノード装置 1におけるメッセージ受信処理を示すフローチャートである。
[図 10]ノード装置 1における他のノード装置 1のテーブルへの登録処理を示すフロー チャートである。
符号の説明
1 ノード装置
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 L |S B'|5
13 ノ ッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 ノ ス
s 情報通信システム
発明を実施するための最良の形態
以下、本発明の最良の実施形態を図面に基づいて説明する。以下に説明する実 施の形態は、 DHT、ノード情報としての IPアドレス、識別情報としてのノード IDを利 用した情報通信システムに本発明を適用した場合の実施形態である。本実施形態で は、上記情報通信システムにおいて、新規にオーバーレイネットワークに参加するノ ード装置 (参加要求ノード)が参加要求情報としての参加メッセージを任意のノード装 置であるコンタクトノードに送信し、存在確認情報としての存在確認メッセージ及び返 信情報としての応答メッセージを利用して、参加要求ノードが DHTルーティングテー ブルを作成する。なお、本発明の情報通信システム等の発明は、以下に説明する実 施形態に限定されず、本発明の技術思想の範囲内で適宜変更して実施される。
[0030] [1.情報通信システムの構成等]
始めに、図 1を参照して、情報通信システムの概要構成等について説明する。
[0031] 図 1は、本実施形態に係る情報通信システムにおける各ノード装置の接続態様の 一例を示す図である。
[0032] 図 1の下部枠 101内に示すように、 IX (Internet eXchange) 3、 ISP (Internet Service
Provider) 4、 DSL (Digital Subscriber Line)回線事業者(の装置) 5、 FTTH (Fiber To The Home)回線事業者 (の装置) 6、および通信回線 (例えば、電話回線ゃ光ケ 一ブル等) 7等によって、インターネット等のネットワーク(現実世界のネットワーク) 8が 構築されている。
[0033] 情報通信システム Sは、このようなネットワーク 8を介して相互に接続された複数のノ ード装置 la, lb, lc - - - lx, ly, 1ζ · · ·を備えて構成されることになり、ピアツーピア 方式のネットワークシステムとなっている。各ノード装置 la, lb, lc - - - lx, ly, 1ζ · · には、ノード装置を示す情報 (本発明におけるノード情報)としての固有の製造番号 および IP (Internet Protocol)アドレスが割り当てられている。なお、製造番号および I Pアドレスは、複数のノード装置 1間で重複しないものである。なお、以下の説明にお いて、ノード装置 la, lb, lc - - - lx, ly, 1ζ · · ·のうち何れかのノード装置を示す場 合には、便宜上、ノード装置 1という場合がある。
[0034] [1. 1. DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、 DHT (Distributed Hash Table) t\、う)を利用したアルゴリズムにつ 、て説明する。
[0035] 上述した情報通信システム Sにおいて、当該ノード装置 1同士力 互いに情報をや り取りする際には、お互いのノード情報としての IPアドレスを知っていなければならな い。
[0036] 例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク 8に参加し ている各ノード装置 1が互いにネットワーク 8に参加している全てのノード装置 1の IP アドレスを知っておくのが単純な手法である力 端末数が何万何十万と多数になると 、その全てのノード装置 1の IPアドレスを覚えておくのは現実的ではない。また、任意 のノード装置の電源が ON或いは OFFとすると、各ノード装置 1にて記憶している当 該任意のノード装置の IPアドレスの更新が頻繁になり、運用上困難となる。
[0037] そこで、 1台のノード装置 1では、ネットワーク 8に参加している全てのノード装置 1の うち、必要最低限のノード装置 1の IPアドレスだけを覚えて (記憶して)おいて、 IPアド レスを知らな!/、(記憶して!/、な!/、)ノード装置 1につ!/、ては、各ノード装置 1間で互!ヽに 情報を転送し合って届けてもらうと ヽぅシステムが考案されて 、る。
[0038] このようなシステムの一例として、 DHTを利用したアルゴリズムによって、図 1の上部 枠 100内に示すような、オーバレイネットワーク 9が構築されることになる。つまり、この オーバレイネットワーク 9は、既存のネットワーク 8を用いて形成された仮想的なリンク を構成するネットワークを意味する。
[0039] 本実施形態においては、 DHTを利用したアルゴリズムによって構築されたオーバ レイネットワーク 9を前提としており、このオーバレイネットワーク 9上に配置されたノー ド装置 1を、情報通信システム Sに参加(言い換えれば、オーバレイネットワーク 9に参 カロ)しているノード装置 1という。なお、情報通信システム Sへの参加は、未だ参加して V、な ゾード装置 (参加要求ノード) 1S 既に参加して 、る任意のノード装置 1 (以下、 コンタクトノードともいう。 )に対して参加要求情報(以下、参加メッセージともいう。)を 送ることによって行われる。なお、参カ卩要求情報としての参加メッセージは、オーバー レイネットワークへの参加要求を示し、かつ、参加要求する参加要求ノードのノード情 報を含むものである。
[0040] 情報通信システム Sに参加して 、る各ノード装置 1のノード ID (識別情報)は、それ ぞれのノード装置毎にユニーク(固有)な番号を付与する。この番号は、ノード装置の 最大運用台数を収容できるだけの bit数を持たせる必要がある。例えば、 128bitの 番号とすれば、 2" 128 = 340 X 10"36台のノード装置を運用できる。 [0041] より具体的には、各ノード装置 1のノード IDは、それぞれのノード装置の IPアドレス あるいは製造番号等のノード装置毎に固有の値を、共通のハッシュ関数 (ハッシュァ ルゴリズム)によりハッシュ化して得たハッシュ値であり、一つの ID空間に偏りなく分散 して配置されることになる。このように共通のハッシュ関数により求められた (ハッシュ 化された)ノード IDは、当該 IPアドレスあるいは製造番号が異なれば、同じ値になる 確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい 説明を省略する。なお、本実施形態では、 IPアドレス (グローバル IPアドレス;ノード 情報)を共通のハッシュ関数によりハッシュ化した値をノード ID (GUID (Global Uniqu e IDentifier);識別情報)とする。
[0042] [1. 2.ルーティングテーブルの作成]
図 2を参照して、 DHTで用いるルーティングテーブルの作成手法の一例につ!、て 説明する。図 2は、 DHTによってルーティングテーブルが作成される様子の一例を 示す図である。
[0043] 各ノード装置 1に付与されたノード IDは、共通のハッシュ関数によって生成したため 、図 2 (A)乃至図 2 (C)に示す如ぐ同一のリング状の ID空間上にさほど偏ることなく 、散らばって存在するものとして考えることができる。同図は 8bitでノード IDを付与し 、図示したものである。図中黒点はノード IDを示し、反時計回りで IDが増加するもの とする。
[0044] まず、図 2 (A)に示す如ぐ ID空間を幾つかのエリアに分割する。実際には、 16分 割程度が良く用いられるが、説明を簡単にするためここでは 4分割とし、 IDをビット長 8Bitの 4進数で表すこととした。そして、ノード装置 1Nのノード IDを「1023」とし、この ノード装置 1Nのルーティングテーブルを作る例について説明する。
[0045] (レベル 1のルーティング)
まず、 ID空間を 4分割とすると、それぞれのエリアは 4進数で表すと最大桁が異なる 4つのエリア「0XXX」「1XXX」、 「2XXX」、 「3XXX」(Xは 0から 3の整数、以下同様。 ) で分けられる。ノード装置 1Nは、当該ノード装置 1N自身のノード IDが「1023」である ため、図中左下「1XXX」のエリアに存在することになる。そして、ノード装置 1Nは、自 分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリアに存在するノード装 置 1を適当に選択し、当該ノード IDの IPアドレスをレベル 1のテーブルに記憶する。 図 3 (A)がレベル 1のテーブルの一例である。 2列目はノード装置 1N自身を示してい るため、 IPアドレスを記憶する必要は無い。
[0046] (レベル 2のルーティング)
次に、図 2 (B)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自分 の存在するエリアを更に 4分割し、更に 4つのエリア「10XX」「11XX」、 「12XX」、 「13X X」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノ ード装置 1を適当に選択し、当該ノード IDの IPアドレスをレベル 2のテーブルに記憶 する。図 3 (B)がレベル 2のテーブルの一例である。 1列目はノード装置 1N自身を示 して 、るため、 IPアドレスを記憶する必要は無 、。
[0047] (レベル 3のルーティング)
さらに、図 2 (C)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自 分の存在するエリアを更に 4分割し、更に 4つのエリア「100X」「101X」、 「102X」、 「103 X」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノ ード装置 1を適当に選択し、当該ノード IDの IPアドレスをレベル 1のテーブルに記憶 する。図 3 (C)がレベル 3のテーブルの一例である。 3列目はノード装置 1N自身を示 しているため、 IPアドレスを記憶する必要は無ぐ 2列目、 4列目はそのエリアにノード 装置が存在しな 、ため空白となる。
[0048] このようにして、レベル 4まで同様にルーティングテーブルを図 3 (D)に示す如く作 成することにより、 8bitの ID全てを網羅することができる。レベルが上がる毎にテープ ルの中に空白が目立つようになる。
[0049] 以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置 1 が夫々作成して所有することになる。このように、ノード装置 1は、他のノード装置 1の I Pアドレスを記憶した DHTルーティングテーブルを作成して 、く。本実施形態にお!ヽ ては、ノード装置 1は、ノード情報としての IPアドレスと、識別情報としてのノード IDと、 識別情報の属する領域としてのノード ID空間のエリア、すなわち DHTの各レベル及 び各列と、を対応付けて記憶している。ここで、 自ノード装置 1Nのノード IDに最も近 いノード IDに対応するノード装置を、後述するルートノード(図 2 (C)及び図 3 (D)に お!ヽてはノード ID: 1000のノード装置)とする。
[0050] なお、ノード IDの桁数に応じてレベルの数が決まり、進数の数に応じて図 3 (D)に おける各レベルの注目桁の数が決まる。具体的に、 16桁 16進数である場合には、 6 4bitの IDとなり、レベル 16で注目桁の(英)数字は 0〜fとなる。後述するルーティン グテーブルの説明にお 、ては、各レベルの注目桁の数を示す部分を単に「列」又は「 列数」ともいう。
[0051] [2.ノード装置の構成等]
次に、図 4を参照して、ノード装置 1の構成および機能について説明する。尚、各ノ ード装置 1の構成は同じである。図 4は、ノード装置 1の概要構成例を示す図である。
[0052] 各ノード装置 1は、図 4に示すように、演算機能を有する CPU,作業用 RAM,各種 データおよびプログラムを記憶する ROM等力 構成されたコンピュータとしての制御 部 11と、コンテンツデータ、インデックス情報、上記 DHTおよびプログラム等を記憶 保存 (格納)するための HD等力 構成された記憶手段としての記憶部 12 (上記コン テンッデータは、保存されていないノード装置 1もある)と、受信されたコンテンツデー タ等を一時蓄積するバッファメモリ 13と、コンテンツデータに含まれるエンコードされ たビデオデータ(映像情報)およびオーディオデータ (音声情報)等をデコード (デー タ伸張や復号化等)するデコーダ部 14と、当該デコードされたビデオデータ等に対し て所定の描画処理を施しビデオ信号として出力する映像処理部 15と、当該映像処 理部 15から出力されたビデオ信号に基づき映像表示する CRT,液晶ディスプレイ等 の表示部 16と、上記デコードされたオーディオデータをアナログオーディオ信号に D (Digital) /A (Analog)変換した後これをアンプにより増幅して出力する音声処理部 1 7と、当該音声処理部 17から出力されたオーディオ信号を音波として出力するスピー 力 18と、ネットワーク 8を通じて他のノード装置 1との間の情報の通信制御を行うため の通信部 20と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部 1 1に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル等) 21と 、を備えて構成され、制御部 11、記憶部 12、バッファメモリ 13、デコーダ部 14および 通信部 20はバス 22を介して相互に接続されている。
[0053] そして、制御部 11における CPUが記憶部 12等に記憶された各種プログラムを実 行することにより、ノード装置 1全体を統括制御するようになっており、また、入力部 21 力 の指示信号に応じて、コンテンツデータ登録処理等を行うようになっている。ノー ド装置 1は、実行されるプログラムに応じて、情報を送信 (転送)するノード装置、情報 を受信するノード装置等として機能する。また、ノード装置 1の制御部 11は、本発明 の参加要求情報転送手段、存在確認情報送信手段、返信情報送信手段、ノード情 報送信手段、として機能する。
[0054] [3.情報通信システムの概略]
本実施形態の情報通信システム Sの概略を図 5乃至図 7を用いて説明する。本実 施形態の情報通信システム Sは、一のノード装置がオーバーレイネットワークに参カロ した後、他のノード装置力 返信情報としての応答メッセージを受信することにより、 当該応答メッセージの送信元のノード装置の情報を元に DHTルーティングテーブル を作成していく。以下の説明においては、参加要求ノードをノード Zとし、ノード Z力初 めに通信を行う、既に IPアドレスを知っている任意のノード装置(以下、コンタクトノー ドと 、う。)をノード Bとする。
[0055] なお、以下において、 DHTルーティングテーブルを単にテーブルとも言う。また、 他のノード装置のノード情報及び識別情報の記憶にっ 、て、「登録」と 、う言 、方も 用いる。
[0056] 図 5は、情報通信システム Sに参カ卩要求ノードが参カ卩した後に DHTルーティングテ 一ブルを作成するための各メッセージの流れを示す概略図であり、図 6の各図は、既 に情報通信システム Sに参加して 、るノード B、ノード Έ及びノード Gがそれぞれ記憶 している DHTルーティングテーブルの例であり、図 7は、ノード Zが返信情報 (応答メ ッセージ)を受信することにより作成する DHTルーティングテーブルの例である。
[0057] 図 5に示すように、一のノード装置 1 (ノード Z)が情報通信システム Sにおける通信 ネットワークに参加すると、ノード Zは、コンタクトノードであるノード Bに参カ卩要求情報 としての参加メッセージを送信する(矢印 101)。すると、ノード Aは参加メッセージの 送信が成功することにより、ノード Bが存在していることを確認する(矢印 102)。次い で、ノード Bは、存在確認情報としての存在確認メッセージを図 6 (A)に示すようにレ ベル 1に登録しているノード A、ノード E、ノード Cに順次送信する(矢印 103、 105、 1 07)。すると、ノード Aは応答メッセージをノード Zに送信し (矢印 104)、ノード Eは応 答メッセージをノード Zに送信し (矢印 106)、ノード Cは応答メッセージをノード Zに送 信する(矢印 108)。なお、図 6 (A)乃至図 6 (C)において、レベル数の左に▲印があ る場合には、そのレベルに登録されたノード装置に存在確認メッセージを送信するこ とを意味し、二重の四角で囲まれたノード装置は、当該ノード装置に参加メッセージ を転送することを意味する。
[0058] このとき、ノード Zは、図 7のテーブルにおけるノード A、ノード B、ノード C及びノード Eの IPアドレスを取得するため、 IPアドレスとこれに対応するノード IDとを対応付けて SD¾ る。
[0059] そして、ノード Bは、参加メッセージをノード Zのルートノードに向けて、ここではノー ド Eに転送する(矢印 109)。このとき、存在確認メッセージの送信先を次のレベル 2で ある旨の領域指定情報を参加メッセージに付加する。次いで、ノード Eは、図 6 (B)に 示すように、存在確認メッセージを次のレベル 2に登録しているノード G、ノード D、ノ ード Fに順次送信する(矢印 110、 112、 114)。すると、ノード Gは応答メッセージをノ ード Zに送信し (矢印 111)、ノード Dは応答メッセージをノード Zに送信し (矢印 113) 、ノード Fは応答メッセージをノード Zに送信する(矢印 115)。
[0060] このとき、ノード Zは、図 7のテーブルにおけるノード D、ノード F及びノード Gの IPァ ドレス及びノード IDを記憶できる。
[0061] そして、ノード Eは、参加メッセージをノード Zのルートノードに向けて、ここではノー ド Gに転送する(矢印 116)。このとき、存在確認メッセージの送信先を次のレベル 3 である旨の領域指定情報を参加メッセージに付加する。次いで、ノード Gは、図 6 (C) に示すように、存在確認メッセージを次のレベル 3に登録しているノード Hに送信する (矢印 117)。すると、ノード Ήは応答メッセージをノード Zに送信する(矢印 118)。ここ で、ノード Gは、ノード Zのルートノードであり、これ以上転送先がないため、処理を終 了する。
[0062] このとき、ノード Zは、図 7のテーブルにおけるノード Hの IPアドレス及びノード IDを 記憶でき、以上の流れによりノード Zは図 7に示す DHTルーティングテーブルを作成 することができる。このノード Zのテーブルは、それぞれ存在する各ノード装置 1から受 信した応答メッセージに基づ 、て作成したものであるため、テーブルに記憶されて!ヽ る他のノード装置 1が脱退しているために、テーブルに基づく情報等の転送又は送信 が滞る確率が低くなる。従って、情報通信システム S全体として、通信効率が向上す る。
[0063] [3. 1本実施形態の情報通信システムの動作]
次に、本実施形態の情報通信システム Sにおける各ノード装置 1の動作について図 5乃至図 10を用いて説明する。一のノード装置 1 (上述のノード Z)が情報通信システ ム Sにおける通信ネットワークに参カ卩した後の各ノード装置 1における処理について、 図 8乃至図 10のフローチャートを参照して説明する。なお、各処理は、いくつかのノ ード装置 1を例に説明するが、どのノード装置 1も同様の処理を行う。
[0064] (1)ノード装置の基本処理
図 8を参照してノード装置 1 (ノード Z)の基本処理について説明する。なお、ノード Z は、通信ネットワークに参カ卩した後、上述の図 5に示した手順により図 7に示す DHT ルーティングテーブルを作成し、保持 (記憶)するものとする。
[0065] ノード Zの制御部 11は、入力部 11等により自ノード装置に電源が入れられたことを 認識すると、当該ノード Zの各種設定が初期化され、基本処理を開始する (スタート) 。なお、ノード Zは、通信ネットワークに参加した際にまず通信を行うコンタクトノード装 置 1 (ノード B)の IPアドレスを保持していることを前提とする。
[0066] 基本処理が開始されると、制御部 11は、コンタクトノード (ノード B)へ領域指定情報 としてレベル 1を指定した参加メッセージを送信する(ステップ Sl)。なお、ノード Zの 制御部 11は、参加メッセージを送信するためにコンタクトノード Bとの通信が確立した 時点でコンタクトノード Bが存在していることを確認し、後述する図 10のステップ S32 に示すように、ノード Bの情報をテーブルに登録することができる。次いで、制御部 11 は、電源が切られたか否かを判断し (ステップ S2)、通常、電源が入れられた直後は 電源が切られないため、電源が切られていないと判断し (ステップ S2 ; NO)、他のノ ード装置 1からメッセージ (情報)を受信したか否かを判断する (ステップ S3)。このとき 、少なくともノード A力 応答メッセージを受信することとなるため、他のノード装置 1 ( ノード A)力もメッセージを受信したと判断し (ステップ S3; YES)、メッセージの受信処 理を行う(ステップ S4)。なお、メッセージ受信処理については、図 9を用いて後述す る。
[0067] 次いで、制御部 11は、受信したメッセージの送信元のノード装置 1 (ノード B)につ いて、テーブルへの登録処理を行う(ステップ S5)。このテーブルへの登録処理につ いては、図 10を用いて後述する。このとき、ノード Zのテーブルにおける、レベル 1、 各レベルの注目桁 X=0のエリアに、ノード Aの情報が登録される(図 7参照)。
[0068] 次いで、制御部 11は、ステップ S2に戻り、電源が切られておらず (ステップ S2 ; NO )、メッセージを受信していない場合には (ステップ S3 ;NO)、入力部 21等からの入 力に応じたその他の処理を行い (ステップ S6)、ステップ S2に戻る。ノード Zの制御部 11は、以後、ステップ S2〜S5または、ステップ S2、 S3、 S6の動作を場合に応じて 繰り返し、ノード Zの電源が切られた場合には、そのように判断し (ステップ S2 ; YES) 、基本処理を終了する(エンド)。
[0069] (2)ノード装置のメッセージ受信処理
図 9を参照してノード Z、ノード B、ノード E、ノード G及びノード Aのメッセージ受信処 理について説明する。
[0070] (ノード Z)
ノード Zの制御部 11は、上述の基本処理におけるメッセージ受信処理 (ステップ S4 )がスタートすると、このメッセージ受信処理を開始する (スタート)。ここでは、まずノー ド Aからの応答メッセージを受信した前提で説明する。
[0071] メッセージ受信処理が開始されると、制御部 11は、受信したメッセージが参加メッセ ージか否かを判断する (ステップ Sl l)。ここでは、受信したメッセージは応答メッセ一 ジであるため、制御部 11は、受信したメッセージが参加メッセージでないと判断し (ス テツプ Sl l ;NO)、次いで、受信したメッセージが存在確認メッセージか否かを判断 する(ステップ S 12)。
[0072] ここでは、受信したメッセージは応答メッセージであるため、制御部 11は、受信した メッセージが存在確認メッセージでないと判断し (ステップ S12 ;NO)、次いで、受信 したメッセージが応答メッセージである力否かを判断する(ステップ S13)。ここで、制 御部 11は、受信したメッセージは応答メッセージであると判断し (ステップ S13; YES )、元々の処理の流れに戻る(リターン)。
[0073] (ノード B)
一方、コンタクトノード Bにおいて、通信ネットワークに参加したノード Zから参加メッ セージを受信した場合のメッセージ受信処理を以下に説明する。ノード Bは、図 6 (A )に示すテーブルを記憶しているものとする。
[0074] ノード Bの制御部 11は、参カロメッセージを受信し、上述の基本処理におけるメッセ ージ受信処理 (ステップ S4)がスタートすると、このメッセージ受信処理を開始する (ス タート)。ステップ S 11において、ノード Bの制御部 11が受信したメッセージは参加メッ セージであると判断すると (ステップ SI 1; YES)、当該参加メッセージに含まれるレべ ル 1を示す領域指定情報を取得する (ステップ S 14)。制御部 11は、この参加メッセ ージの領域指定情報に応じて、テーブルにおけるレベル数を 1と決定する (ステップ S15)。
[0075] 次いで、制御部 11は、テーブルにおける列数 (各レベルの注目桁 X)を 0と決定し( ステップ S16)、ノード Bのテーブルを示す図 6 (A)におけるレベル 1、注目桁 X=0の エリアに注目する。
[0076] 次いで、制御部 11は、決定した列数がテーブル全体の列数以下力否かを判断し( ステップ S 17)、決定した列数 0がテーブル全体の列数 3以下であるため(ステップ S1 7 ; YES)、注目する [レベル数] [列数]に該当するノード装置が自ノード装置か否か を判断する (ステップ S18)。
[0077] ここでは、図 6 (A)に示すように、注目する [レベル数 1] [列数 0]に該当するノード 装置が自ノード装置ではないため、そのように判断し (ステップ S18 ;NO)、次いで、 注目する [レベル数] [列数]に他のノード装置の情報が記憶されて ヽる力否かを判断 する(ステップ S 19)。
[0078] ここでは、 [レベル数 1] [列数 0]にノード ID [0211]のノード装置が記憶されている ため、制御部 11はそのように判断し (ステップ S19 ;YES)、参加メッセージの送信元 であるノード Zの IPアドレスを含む存在確認メッセージを作成し、 [レベル数 1] [列数 0 ]に記憶されているノード ID [0211]のノード装置 (ノード A)に当該存在確認メッセ一 ジを送信する(ステップ S20)。ここでは、メッセージの送信が成功したものとする。 [0079] 次いで、制御部 11は、メッセージ送信処理が成功した力否かを判断し (ステップ S2 1)、ここでは存在確認メッセージの送信処理が成功したため、そのように判断する (ス テツプ S21 ;YES)。次いで、制御部 11は、列数 0の値に 1を足して列数 1とし (ステツ プ S22)、ステップ S17に戻る。
[0080] 次いで、制御部 11は、ステップ S17 ;YES、ステップ S18 ;NO、ステップ S19 ;YES 、ステップ S20、ステップ S21; YESを経て、 [レベル数 1] [列数 1]に記憶されている ノード ID[1221]のノード装置(ノード E)に存在確認メッセージを送信し、列数 1の値 に 1を足して列数 2とし (ステップ S23)、ステップ S17に戻る。
[0081] 次いで、制御部 11は、ステップ S 17 ; YESを経て、ステップ S18において [レベル 数 1] [列数 2]のエリアは自ノード装置であると判断し (ステップ S19 ; YES)、列数 2の 値に 1を足して列数 3とし (ステップ S22)、ステップ S17に戻る。
[0082] 次いで、制御部 11は、ステップ S17 ;YES、ステップ S18 ;NO、ステップ S19 ;YES 、ステップ S20、ステップ S21; YESを経て、 [レベル数 1] [列数 3]に記憶されている ノード ID[3121]のノード装置(ノード C)に存在確認メッセージを送信し、列数 3の値 に 1を足して列数 4とし (ステップ S22)、ステップ S17に戻る。
[0083] ここで、制御部 11は、決定した列数がテーブル全体の列数以下力否かを判断し (ス テツプ S 17)、決定した列数 4がテーブル全体の列数 3以下でないため(ステップ S 17 ; NO)、参加メッセージの転送先 (送信先)のノード装置を認定する (ステップ S23)。 このとき、図 2を用いて説明したように、参カ卩要求ノードであるノード Zのノード ID[101 3]に最も近いノード装置がノード ID [1221]のノード Έであるため、ノード Eを参加メッ セージの転送先として認定する。
[0084] 次いで、制御部 11は、自ノード装置がルートノード、すなわち、参加要求ノードであ るノード Zのノード ID[1013]に最も近いノード装置であるか否かを判断する (ステツ プ S24)。上述のように、ここでは、参加要求ノードであるノード Zのノード ID [1013] に最も近 ゾード装置がノード ID [1221]のノード Έであり、 自ノード装置がルートノー ドではないため、制御部 11はそのように判断し (ステップ S24 ; NO)、注目してきたレ ベル数に 1を足したレベル数の情報を領域指定情報として付加した参加メッセージを 作成し、ステップ S24で認定した転送先に転送し (ステップ S25)、元々の処理の流 れに戻る(リターン)。ここでは、制御部 11は、注目してきたレベル数が 1であり、これ に 1を足したレベル数 2の領域指定情報を参加メッセージに付加し、ノード Eに転送し 、元々の流れに戻る。
[0085] (ノード E)
次いで、ノード Έにおいて、ノード B力も参加メッセージを転送され、受信した場合の メッセージ受信処理を以下に説明する。ノード Eは、図 6 (B)に示すテーブルを記憶 しているちのとする。
[0086] ノード Eの制御部 11は、参カロメッセージを受信し、上述の基本処理におけるメッセ ージ受信処理 (ステップ S4)がスタートすると、このメッセージ受信処理を開始する (ス タート)。ステップ S11において、ノード Eの制御部 11が受信したメッセージは参加メッ セージであると判断すると (ステップ SI 1; YES)、当該参加メッセージに含まれるレべ ル 2を示す領域指定情報を取得する (ステップ S 14)。制御部 11は、この参加メッセ ージの領域指定情報に応じて、テーブルにおけるレベル数を 2と決定する (ステップ S15)。
[0087] 次いで、制御部 11は、テーブルにおける列数 (各レベルの注目桁 X)を 0と決定し( ステップ S16)、ノード Eのテーブルを示す図 6 (B)におけるレベル 2、注目桁 X=0の エリアに注目する。制御部 11は、決定した列数がテーブル全体の列数以下力否かを 判断し (ステップ S 17)、決定した列数 0がテーブル全体の列数 3以下であるため(ス テツプ S17; YES)、注目する [レベル数] [列数]に該当するノード装置が自ノード装 置か否かを判断する (ステップ S18)。
[0088] ここでは、図 6 (B)に示すように、注目する [レベル数 2] [列数 0]に該当するノード 装置が自ノード装置ではないため、そのように判断し (ステップ S18 ;NO)、次いで、 注目する [レベル数] [列数]に他のノード装置の情報が記憶されて ヽる力否かを判断 する(ステップ S 19)。
[0089] ここでは、 [レベル数 2] [列数 0]にノード ID [1023]のノード装置が記憶されている ため、そのように判断し (ステップ S19 ; YES)、参加要求ノードであるノード Zの IPアド レスを含む存在確認メッセージを作成し、当該メッセージを [レベル数 2] [列数 0]に 記憶されているノード ID[1023]のノード装置(ノード G)に送信する(ステップ S20)。 ここでは、メッセージ送信処理が成功したものとする。
[0090] 次いで、制御部 11は、メッセージ送信処理が成功した力否かを判断し (ステップ S2 1)、ここでは存在確認メッセージの送信処理が成功したため、そのように判断する (ス テツプ S21 ;YES)。次いで、制御部 11は、列数 0の値に 1を足して列数 1とし (ステツ プ S22)、ステップ S17に戻る。
[0091] 次いで、制御部 11は、ステップ S17 ;YES、ステップ S18 ;NO、ステップ S19 ;YES 、ステップ S20、ステップ S21; YESを経て、 [レベル数 2] [列数 1]に記憶されている ノード ID[1120]のノード装置(ノード D)に存在確認メッセージを送信し、列数 1の値 に 1を足して列数 2とし (ステップ S22)、ステップ S17に戻る。
[0092] 次いで、制御部 11は、ステップ S 17 ; YESを経て、ステップ S 18において [レベル 数 2] [列数 2]のエリアは自ノード装置であると判断し (ステップ S18 ; YES)、列数 2の 値に 1を足して列数 3とし (ステップ S22)、ステップ S17に戻る。
[0093] 次いで、制御部 11は、ステップ S17 ;YES、ステップ S18 ;NO、ステップ S19 ;YES 、ステップ S20、ステップ S21; YESを経て、 [レベル数 2] [列数 3]に記憶されている ノード ID [1323]のノード装置(ノード F)に存在確認メッセージを送信し、列数 3の値 に 1を足して列数 4とし (ステップ S22)、ステップ S17に戻る。
[0094] ここで、制御部 11は、決定した列数がテーブル全体の列数以下力否かを判断し (ス テツプ S 17)、決定した列数 4がテーブル全体の列数 3以下でないため(ステップ S 17 ; NO)、参加メッセージの転送先 (送信先)のノード装置を認定する (ステップ S23)。 このとき、参カ卩要求ノードであるノード Zのノード ID[1013]に最も近いノード装置がノ ード ID[1023]のノード Gであるため、ノード Gを参加メッセージの転送先として認定 する。
[0095] 次いで、制御部 11は、自ノード装置がルートノード、すなわち、参加要求ノードであ るノード Zのノード ID[1013]に最も近いノード装置であるか否かを判断する (ステツ プ S24)。上述のように、ここでは、参加要求ノードであるノード Zのノード ID [1013] に最も近いノード装置がノード ID [1023]のノード Gであり、 自ノード装置がルートノ ードではないため、制御部 11はそのように判断し (ステップ S24 ; NO)、注目してきた レベル数に 1を足したレベル数の情報を領域指定情報として付加した参加メッセージ を作成し、転送先として認定した他のノード装置に転送し (ステップ S25)、元々の処 理の流れに戻る(リターン)。ここでは、制御部 11は、注目してきたレベル数が 2であり 、これに 1を足したレベル数 3の領域指定情報を参加メッセージに付加し、転送先の ノード Gへ送信し、元々の処理の流れに戻る。
[0096] ここで、ステップ S20におけるメッセージ送信処理が失敗に終わった場合、制御部 1 1は、ステップ S21において、メッセージ送信処理が成功でないと判断し (ステップ S2 1; NO)、該当する [レベル数] [列数]のノード装置 1の IPアドレス等の情報をテープ ルから削除し (ステップ S26)、次のステップ S22に戻る。
[0097] (ノード G)
次いで、ノード Gにおいて、ノード E力も参加メッセージを転送され、受信した場合の メッセージ受信処理を以下に説明する。ノード Gは、図 6 (C)に示すテーブルを記憶 しているちのとする。
[0098] ノード Gの制御部 11は、参カロメッセージを受信し、上述の基本処理におけるメッセ ージ受信処理 (ステップ S4)がスタートすると、このメッセージ受信処理を開始する (ス タート)。ステップ S 11において、ノード Gの制御部 11が受信したメッセージは参加メ ッセージであると判断すると (ステップ SI 1; YES)、当該参加メッセージに含まれるレ ベル 3を示す領域指定情報を取得する (ステップ S 14)。制御部 11は、この参加メッ セージの領域指定情報に応じて、テーブルにおけるレベル数を 3と決定する (ステツ プ S15)。
[0099] 次いで、制御部 11は、テーブルにおける列数 (各レベルの注目桁 X)を 0と決定し( ステップ S16)、ノード Gのテーブルを示す図 6 (C)におけるレベル 3、注目桁 X=0の エリアに注目する。制御部 11は、決定した列数がテーブル全体の列数以下力否かを 判断し (ステップ S 17)、決定した列数 0がテーブル全体の列数 3以下であるため(ス テツプ S17; YES)、注目する [レベル数] [列数]に該当するノード装置が自ノード装 置か否かを判断する (ステップ S18)。
[0100] ここでは、図 6 (C)に示すように、注目する [レベル数 3] [列数 0]に該当するノード 装置が自ノード装置ではないため、そのように判断し (ステップ S18 ;NO)、次いで、 注目する [レベル数] [列数]に他のノード装置の情報が記憶されて ヽる力否かを判断 する(ステップ SI 9)。
[0101] ここでは、 [レベル数 3] [列数 0]に他のノード装置が記憶されていないため、そのよ うに判断して (ステップ S19 ;NO)、このエリアを飛ばし、列数 0の値に 1を足して列数 1とし (ステップ S22)、ステップ S 17に戻る。
[0102] 次いで、制御部 11は、ステップ S17 ;YES、ステップ S18 ;NO、ステップ S19 ;NO を経て、 [レベル数 3] [列数 1]に他のノード装置が記憶されていないため、このエリア を飛ばし、列数 1の値に 1を足して列数 2とし (ステップ S22)、ステップ S17に戻る。
[0103] 次いで、制御部 11は、ステップ S 17 ; YESを経て、ステップ S18において [レベル 数 2] [列数 2]のエリアは自ノード装置であると判断し (ステップ S18 ; YES)、列数 2の 値に 1を足して列数 3とし (ステップ S22)、ステップ S17に戻る。
[0104] 次いで、制御部 11は、ステップ S17 ;YES、ステップ S18 ;NO、ステップ S19 ;YES 、ステップ S20、ステップ S21; YESを経て、 [レベル数 2] [列数 3]に記憶されている ノード ID[1032]のノード装置(ノード H)に存在確認メッセージを送信し、列数 3の値 に 1を足して列数 4とし (ステップ S22)、ステップ S17に戻る。
[0105] ここで、制御部 11は、決定した列数がテーブル全体の列数以下力否かを判断し (ス テツプ S 17)、決定した列数 4がテーブル全体の列数 3以下でないため(ステップ S 17 ; NO)、参加メッセージの転送先 (送信先)のノード装置を認定する (ステップ S23)。 このとき、参カ卩要求ノードであるノード Zのノード ID[1013]に最も近いノード装置がノ ード ID [1023]の自ノード装置(ノード G)であるため、ノード Gを参加メッセージの転 送先として認定する。
[0106] 次いで、制御部 11は、自ノード装置がルートノード、すなわち、参加要求ノードであ るノード Zのノード ID[1013]に最も近いノード装置であるか否かを判断する (ステツ プ S24)。上述のように、ここでは、自ノード装置(ノード G)がルートノードであるため、 制御部 11はそのように判断し (ステップ S24; YES)、元々の処理の流れに戻る(リタ 一ン)。
[0107] このようにして、参加要求ノードであるノード Zの DHTルーティングテーブルを作成 するための存在確認メッセージの送信処理と、参加メッセージの転送処理と、が終了 する。 [0108] (ノード A)
一方、ノード Aにおいて、コンタクトノード B力も送信された存在確認メッセージを受 信した場合のメッセージ受信処理を以下に説明する。
[0109] ノード Aの制御部 11は、存在確認メッセージを受信し、上述の基本処理におけるメ ッセージ受信処理 (ステップ S4)がスタートすると、このメッセージ受信処理を開始す る (スタート)。ここでは、ノード Bからの存在確認メッセージを受信した前提で説明す る。
[0110] メッセージ受信処理が開始されると、制御部 11は、受信したメッセージが参加メッセ ージか否かを判断する (ステップ Sl l)。ここでは、受信したメッセージは存在確認メッ セージであるため、制御部 11は、受信したメッセージが参加メッセージでないと判断 し (ステップ Sl l ;NO)、次いで、受信したメッセージが存在確認メッセージか否かを 判断する (ステップ S 12)。
[0111] 制御部 11は、受信したメッセージは存在確認メッセージであると判断し (ステップ S 12 ; YES)、存在確認メッセージに付加された参加要求ノードであるノード Zの IPアド レスを取得し、ノード Zへ応答メッセージを送信し (ステップ S27)、元々の処理の流れ に戻る(リターン)。
[0112] その他、ノード装置 1が受信したメッセージが参カロメッセージ、存在確認メッセージ 及び応答メッセージのいずれでもない場合には、ステップ Sl l ;NO、ステップ S12 ;
NO、ステップ S13 ;NOと判断され、他のメッセージを受信した場合の処理を行い (ス テツプ S30)、元々の処理の流れに戻る(リターン)。
[0113] (3)ノード装置における他のノード装置のテーブルへの登録処理
図 10及び上述の図 7を参照してノード Zにおける他のノード装置 1の登録処理につ いて説明する。なお、ノード Zは、ノード A力も応答メッセージを受信したものとして、 他のノード装置 1の登録処理について説明する。
[0114] ノード Zの制御部 11は、上述の基本処理における他のノード装置 1の登録処理 (ス テツプ S5)がスタートすると、ノード Aのテーブルへの登録処理を開始する(スタート)
[0115] テーブルへの登録処理が開始されると、制御部 11は、受信した応答メッセージから 送信元ノード装置であるノード Aの情報、具体的には IPアドレス等の情報を取得する (ステップ S31)。次いで、制御部 11は、取得した IPアドレスから、テーブルにおける 登録するエリアを認定し、登録し (ステップ S32)、元々の処理の流れに戻る(リターン )。ノード Aは、図 6 (A)〖こ示すよう〖こ、ノード IDが 0211であるため、図 7において、そ の登録するエリアはレベル 1、各レベルの注目桁 X=0である。ノード Zの制御部 11は 、このノード Aの情報をテーブルのレベル 1、各レベルの注目桁 X=0のエリアに登録 する。
[0116] なお、その後、ノード Zは、ノード E、ノード C、ノード G、ノード D、ノード F、ノード Hか ら次々に応答メッセージを受信することとなる。これらのノード装置力 の応答メッセ ージに対応し、上述のステップ S31、 S32により各ノード装置 1の情報をテーブルに 登録し、図 7に示す DHTルーティングテーブルを作成し、記憶する。また、ノード Zは 、上述のノード Bに参加メッセージを送信した際のように、他のノード装置 1と通信が 確立した時点で、当該他のノード装置 1が存在していることを確認し、当該他のノード 装置 1の情報をテーブルに登録することもできる。
[0117] [4.変形形態]
上述の実施形態において、ノード装置 1の記憶部 12は、 DHTルーティングテープ ルに他のノード装置 1の IPアドレスとノード IDと対応付けて記憶している形態としたが 、これに限定されず、少なくとも情報の転送先の候補となるノード装置 1を示すノード 情報を記憶して 、ればよ 、。
[0118] ただし、ノード装置 1の記憶手段としての記憶部 12は、 DHTルーティングテーブル のように、上記ノード情報と、ノード情報に対応する固有の識別情報と、を識別情報 の属する領域毎に対応付けて記憶していることが好ましい。この場合には、上述の領 域指定情報を用いることにより、参加要求ノードは、その識別情報に対して適した識 別情報の各領域に属する各ノード装置のノード情報を取得し、バランスよく記憶する ことができる。さら〖こ、 DHTのルーティングテーブルのように、識別情報の領域は、識 別情報の規則に従って複数の領域に分かれており、自ノード装置のみが属する領域 の存在する段階まで、自ノード装置が属する領域が識別情報の規則に従ってさらに 複数の領域に分かれて 、ることが好ま 、。 [0119] ここで、ノード情報は、 IPアドレスの他、ポート番号等を含んでいてもよぐ特に限定 されない。識別情報はノード IDに限定されず、ノード情報に対応する他の固有の識 別情報であってもよい。
[0120] 上述の実施形態において、ノード装置 1の制御部 11は、参加メッセージを受信した 場合に、その転送先のノード装置 1を記憶している力否かを判別し、記憶している場 合には当該ノード装置 1に参加メッセージを転送する形態としたが (ステップ S23、 S2 4 ;NO、 S25)、これに限定されない。ノード装置 1の参加要求情報転送手段としての 制御部 11は、オーバーレイネットワークへの参加要求を示し、かつ、参加要求する参 加要求ノードのノード情報を含む参加要求情報を受信した場合に、参加要求ノード のノード情報に応じた転送先のノード装置を示すノード情報を記憶している力否かを 判別し、当該転送先のノード装置を示すノード情報を記憶している場合には当該ノー ド装置に参加要求情報を転送すればょ 、。
[0121] 上述の実施形態において、ノード装置 1の制御部 11は、テーブルにおける一つの レベルに登録されて ヽるノード装置 1に存在確認メッセージを送信する形態としたが( 図 6 (A)乃至図 6 (C)の▲印参照)、これに限定されない。ノード装置 1の存在確認情 報送信手段としての制御部 11は、参加要求ノード装置のノード情報に応じた転送先 以外のノード装置を示すノード情報を記憶して!/、るか否かを判別し、当該転送先以 外のノード装置を示すノード情報を記憶している場合には当該ノード装置に参加要 求ノードのノード情報を含む存在確認メッセージを送信すればよい。具体的に、制御 部 11は、複数のレベルに登録されて ヽるノード装置 1に存在確認メッセージを送信 する形態としてもよいし、任意に選択される登録されたノード装置 1に存在確認メッセ ージを送信する形態としてもよい。また、制御部 11は、上述の転送先以外のノード装 置 1に存在確認メッセージを送信して 、れば、参加要求ノード装置 1のノード情報に 応じた転送先のノード装置 1に存在確認メッセージを送信してもよ 、。
[0122] 上述の実施形態において、ノード装置 1の制御部 11は、参加メッセージを初めに送 信する際や参加メッセージを転送する際に、 DHTルーティングテーブルにおけるレ ベル数の情報である領域指定情報を送信する形態としたが (ステップ Sl、 S25)、こ れに限定されない。ノード装置 1の参加要求情報転送手段としての制御部 11は、参 加要求情報を転送する際に、記憶手段における所定の領域を指定した領域指定情 報を当該参加要求情報に付加すればよぐ領域指定情報は、レベル数の情報に限 定されない。また、領域指定情報を用いた場合に、存在確認情報送信手段としての 制御部 11は、受信した参加要求情報に領域指定情報が付加されて 、る力否力及び 領域指定情報の内容に応じて (ステップ S 14、 S15)、送信先となる他のノード装置の ノード情報を記憶している場合には当該ノード装置に存在確認情報を送信する。
[0123] さらに、上述の実施形態のように、存在確認情報送信手段としての制御部 11は、受 信した参加要求情報に領域指定情報が付加されて 、る場合には、記憶して 、る識 別情報の領域指定情報に対応する領域に属する他のノード装置に存在確認情報を 送信する (ステップ S14、 S15、 S20)ことが好ましい。なお、存在確認情報送信手段 としての制御部 11は、参加ノードが領域指定情報を用いな力つた場合等、受信した 参加要求情報に領域指定情報が付加されて 、な 、場合には、記憶して 、る識別情 報の最も大きな領域 (上記実施形態ではレベル 1)に属する他のノード装置に存在確 認情報を送信する (ステップ S20)ことが好ましい。このとき、参加要求情報転送手段 としての制御部 11は、受信した参加要求情報に領域指定情報が付加されている場 合には、当該領域指定情報に対応する識別情報の領域よりも小さな範囲に対応する 領域を指定した領域指定情報を参加要求情報に付加する (ステップ S14、 S15、 S2 5)。また、参加要求情報転送手段としての制御部 11は、受信した参加要求情報に 領域指定情報が付加されて 、な 、場合には、識別情報の最も大きな領域 (上述の実 施形態ではレベル 1)の次の段階の領域 (上述の実施形態ではレベル 2)を指定した 領域指定情報を参加要求情報に付加する (ステップ S25)。
[0124] 本発明の情報通信システム等は、上述の領域指定情報を用いずに参加要求情報 の転送処理や存在確認情報の送信処理、返信情報の送信処理を行うこともできる。
[0125] 上述の実施形態においては、ノード装置 1が情報通信システム Sに参加する際の各 ノード装置やシステム全体の動作は、図 8乃至図 10を用いて説明したものに限定さ れず、ステップ S23、 S24、 S25の動作により参加要求情報転送手段を機能させたノ ード装置 1は、さらに存在確認メッセージの送信先であるノード装置 1のノード情報を 参加要求ノードに送信する形態としてもよい。この動作は、ノード情報送信手段として の制御部 11により行われる。この場合には、参加要求ノードが二つのノード装置から 他のノード装置のノード情報を取得でき、より正確な DHTルーティングテーブルを記 '隐できることとなる。
[0126] 上述の実施形態においては、存在確認メッセージを受信したノード A等が応答メッ セージを参加要求ノード (ノード Z)に送信する形態としたが、これに限定されない。ノ ード装置 1の返信情報送信手段としての制御部 11は、少なくとも存在確認情報を受 信した場合に、参加要求ノードに返信情報を送信すればよい。例えば、ノード装置 1 の返信情報送信手段としての制御部 11は、さらに、参加要求情報を受信した場合に 、参加要求ノードに返信情報を送信する形態としてもょ ヽ。
[0127] また、上述のノード装置 1の各動作に対応するプログラムをフレキシブルディスク又 はハードディスク等の情報記録媒体に記録しておき、或 、はインターネット等のネット ワークを介して取得して記録しておき、これをマイクロコンピュータ等により読み出して 実行すること〖こより、当該マイクロコンピュータを各実施形態に係る制御部 11として機 會させることち可會である。
[0128] また、 2006年 4月 13日に出願された明細書、特許請求の範囲、図面、要約を含む 日本の特許出願(No. 2006— 110626)の全ての開示は、その全てを参照すること よって、ここに組み込まれる。

Claims

請求の範囲
[1] 通信経路を介して互いに接続された複数のノード装置の参加により形成されたォ 一バーレイネットワークを有する情報通信システムであって、
前記複数のノード装置に含まれる一のノード装置は、
情報の転送先の候補となるノード装置を示すノード情報を記憶する記憶手段と、 前記オーバーレイネットワークへの参加要求を示し、かつ、参加要求する参加要求 ノード装置のノード情報を含む参加要求情報を受信した場合に、前記参加要求ノー ド装置のノード情報に応じた転送先のノード装置を示すノード情報を記憶しているか 否かを判別し、当該転送先のノード装置を示すノード情報を記憶して 、る場合には 当該ノード装置に前記参加要求情報を転送する参加要求情報転送手段と、 前記参加要求情報を受信した場合に、当該参加要求情報の送信元である前記参 加要求ノード装置のノード情報に応じた転送先以外のノード装置を示すノード情報を 記憶して 、る力否かを判別し、当該転送先以外のノード装置を示すノード情報を記 憶している場合には当該ノード装置に前記参加要求ノード装置のノード情報を含む 存在確認情報を送信する存在確認情報送信手段と、
前記存在確認情報を受信した場合に、前記参加要求ノード装置に返信情報を送 信する返信情報送信手段と、
を有することを特徴とする情報通信システム。
[2] 通信経路を介して互いに接続された複数のノード装置の参加により形成されたォ 一バーレイネットワークを有する情報通信システムにおける通信方法であって、 前記複数のノード装置に含まれる一のノード装置は、情報の転送先の候補となるノ ード装置を示すノード情報を記憶する工程と、
前記オーバーレイネットワークへの参加要求を示し、かつ、参加要求する参加要求 ノード装置のノード情報を含む参加要求情報を受信した場合に、前記参加要求ノー ド装置のノード情報に応じた転送先のノード装置を示すノード情報を記憶しているか 否かを判別し、当該転送先のノード装置を示すノード情報を記憶して 、る場合には 当該ノード装置に前記参加要求情報を転送する工程と、
前記参加要求情報を受信した場合に、当該参加要求情報の送信元である前記参 加要求ノード装置のノード情報に応じた転送先以外のノード装置を示すノード情報を 記憶して 、る力否かを判別し、当該転送先以外のノード装置を示すノード情報を記 憶している場合には当該ノード装置に前記参加要求ノード装置のノード情報を含む 存在確認情報を送信する工程と、
前記存在確認情報を受信した場合に、前記参加要求ノード装置に返信情報を送 信する工程と、
を有することを特徴とする通信方法。
[3] 通信経路を介して互いに接続された複数のノード装置の参加により形成されたォ 一バーレイネットワークを有する情報通信システムに含まれる一のノード装置であつ て、
情報の転送先の候補となるノード装置を示すノード情報を記憶する記憶手段と、 前記オーバーレイネットワークへの参加要求を示し、かつ、参加要求する参加要求 ノード装置のノード情報を含む参加要求情報を受信した場合に、前記参加要求ノー ド装置のノード情報に応じた転送先のノード装置を示すノード情報を記憶しているか 否かを判別し、当該転送先のノード装置を示すノード情報を記憶して 、る場合には 当該ノード装置に前記参加要求情報を転送する参加要求情報転送手段と、 前記参加要求情報を受信した場合に、当該参加要求情報の送信元である前記参 加要求ノード装置のノード情報に応じた転送先以外のノード装置を示すノード情報を 記憶して 、る力否かを判別し、当該転送先以外のノード装置を示すノード情報を記 憶している場合には当該ノード装置に前記参加要求ノード装置のノード情報を含む 存在確認情報を送信する存在確認情報送信手段と、
前記存在確認情報を受信した場合に、前記参加要求ノード装置に返信情報を送 信する返信情報送信手段と、
を有することを特徴とするノード装置。
[4] 請求項 3に記載のノード装置から前記返信情報を受信したノード装置であって、 受信した前記返信情報の送信元のノード装置に対応する前記ノード情報を記憶す る記憶手段を有することを特徴とするノード装置。
[5] 請求項 3に記載のノード装置であって、 前記記憶手段は、前記ノード情報と、前記ノード情報に対応する固有の識別情報と 、を前記識別情報の領域毎に対応付けて記憶し、
前記参加要求情報転送手段は、前記参加要求情報を転送する際に、前記記憶手 段における所定の領域を指定した領域指定情報を当該参加要求情報に付加し、 前記存在確認情報送信手段は、受信した前記参加要求情報に前記領域指定情報 が付加されているか否力及び前記領域指定情報の内容に応じて、送信先となる他の ノード装置のノード情報を記憶している場合には当該ノード装置に前記存在確認情 報を送信することを特徴とするノード装置。
[6] 請求項 5に記載のノード装置であって、
前記識別情報の領域は、前記識別情報の規則に従って複数の領域に分かれてお り、自ノード装置のみが属する前記領域の存在する段階まで、自ノード装置が属する 前記領域が前記識別情報の規則に従ってさらに複数の領域に分かれており、 前記存在確認情報送信手段は、受信した前記参加要求情報に前記領域指定情報 が付加されて 、る場合には、記憶して 、る前記識別情報の領域指定情報に対応す る領域に属する他のノード装置に前記存在確認情報を送信し、
前記参加要求情報転送手段は、受信した前記参加要求情報に前記領域指定情報 が付加されて 、る場合には、当該領域指定情報に対応する前記識別情報の領域よ りも小さな範囲に対応する領域を指定した前記領域指定情報を前記参加要求情報 に付加することを特徴とするノード装置。
[7] 請求項 3、 5又は 6のいずれか一項に記載のノード装置であって、
前記存在確認情報送信手段により前記存在確認情報を送信した場合に、当該存 在確認情報の送信先であるノード装置のノード情報を前記参加要求ノード装置に送 信するノード情報送信手段をさらに有することを特徴とするノード装置。
[8] コンピュータを、請求項 3乃至 7のいずれか一項に記載のノード装置として機能させ る情報処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする 記録媒体。
PCT/JP2007/055516 2006-04-13 2007-03-19 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラムが記録された記録媒体 WO2007119422A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/230,402 US8218455B2 (en) 2006-04-13 2008-08-28 Information communication system, information communication method, node device included in information communication system and recording medium recording information process program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-110626 2006-04-13
JP2006110626A JP4539603B2 (ja) 2006-04-13 2006-04-13 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/230,402 Continuation-In-Part US8218455B2 (en) 2006-04-13 2008-08-28 Information communication system, information communication method, node device included in information communication system and recording medium recording information process program

Publications (1)

Publication Number Publication Date
WO2007119422A1 true WO2007119422A1 (ja) 2007-10-25

Family

ID=38609212

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/055516 WO2007119422A1 (ja) 2006-04-13 2007-03-19 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラムが記録された記録媒体

Country Status (3)

Country Link
US (1) US8218455B2 (ja)
JP (1) JP4539603B2 (ja)
WO (1) WO2007119422A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5136585B2 (ja) * 2010-03-30 2013-02-06 ブラザー工業株式会社 情報通信システム、ノード装置、情報処理方法、及び情報処理プログラム
US20150083652A1 (en) * 2013-09-23 2015-03-26 Wayne R. HAWKS System and method for treating contaminated water
US20140282022A1 (en) * 2013-03-15 2014-09-18 Miselu Inc Configuring device layouts
US10269156B2 (en) 2015-06-05 2019-04-23 Manufacturing Resources International, Inc. System and method for blending order confirmation over menu board background
JP2019526948A (ja) 2016-05-31 2019-09-19 マニュファクチャリング・リソーシズ・インターナショナル・インコーポレーテッド 電子ディスプレイ遠隔画像確認システム及びその方法
US11895362B2 (en) 2021-10-29 2024-02-06 Manufacturing Resources International, Inc. Proof of play for images displayed at electronic displays

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805448B2 (en) * 2003-04-18 2010-09-28 Hewlett-Packard Development Company, L.P. Storing attribute values of computing resources in a peer-to-peer network
US7539771B2 (en) * 2003-06-06 2009-05-26 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays
US7313565B2 (en) * 2004-02-19 2007-12-25 Microsoft Corporation Data overlay, self-organized metadata overlay, and associated methods
US7418454B2 (en) * 2004-04-16 2008-08-26 Microsoft Corporation Data overlay, self-organized metadata overlay, and application level multicasting
JP4696498B2 (ja) * 2004-08-20 2011-06-08 ブラザー工業株式会社 情報配信システム、ノード装置、所在情報検索方法、及び所在情報検索処理プログラム等
US20080130516A1 (en) * 2004-12-21 2008-06-05 Electronics And Telecommunications Research Institute P2p Overplay Network Construction Method and Apparatus
US20060209717A1 (en) * 2005-03-16 2006-09-21 Puneet Sharma Distributed storing of network position information for nodes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ABE H.: "DHT: Bunsan Hash Table", COMPUTER SOFTWARE, JAPAN SOCIETY FOR SOFTWARE SCIENCE AND TECHNOLOGY, vol. 23, no. 1, 2 February 2006 (2006-02-02), pages 1 - 14, XP003018578 *
IWATA S. ET AL.: "P2P Gijutsu no Kiso Chishiki [1]", UNIX MAGAZINE, ASCII CORP., vol. 20, no. 9, 1 September 2005 (2005-09-01), pages 82 - 107, XP003015041 *
ROWSTRON A. ET AL.: "Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems", LECTURE NOTES IN COMPUTERS SCIENCE, PROCEEDINGS OF THE IFIP/ACM INTERNATIONAL CONFERENCE ON DISTRIBUTED SYSTEMS PLATFORMS HEIDELBERG, 2001, pages 329 - 350, XP002330586 *

Also Published As

Publication number Publication date
JP2007288307A (ja) 2007-11-01
JP4539603B2 (ja) 2010-09-08
US20090003244A1 (en) 2009-01-01
US8218455B2 (en) 2012-07-10

Similar Documents

Publication Publication Date Title
JP4375303B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
US8321586B2 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
JP4371056B2 (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
WO2006075424A1 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
US8619631B2 (en) Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program
WO2007083531A1 (ja) コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
WO2010067457A1 (ja) グループ管理装置
WO2007119422A1 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラムが記録された記録媒体
US8819295B2 (en) Information communication system, first information processing device, method for processing information, and computer readable storage medium
US8332463B2 (en) Distributed storage system, connection information notifying method, and recording medium in which distributed storage program is recorded
JP4622755B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP2007235243A (ja) 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム
JP2009017381A (ja) 情報配信システム、同システムに用いる端末装置及び情報処理プログラム、並びに情報処理方法
JP5212292B2 (ja) 情報通信システム、ノード装置、ノード装置確認方法及びプログラム
JP4770804B2 (ja) オーバレイネットワーク型通信システム、オーバレイネットワーク型ノード装置およびプログラム
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP4899990B2 (ja) 情報通信システムに含まれるノード装置及びその情報処理プログラム
JP4947106B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
JP2008181408A (ja) 通信システム、稼動制御方法、ノード装置及びノード処理プログラム
JP2012078903A (ja) ノード装置、ノード装置用プログラムおよび情報処理方法
JP2008250568A (ja) 情報通信システム、失効リストの配信方法、情報通信システムに含まれるノード装置及び情報処理プログラム
JP2012048664A (ja) 情報通信システム、ノード装置、情報処理方法及び情報処理プログラム
JP2012049966A (ja) 分散保存システム、代表ノード装置、通知方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07738961

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07738961

Country of ref document: EP

Kind code of ref document: A1