WO2007097130A1 - 情報通信システム、情報収集方法、ノード装置、及び記録媒体 - Google Patents

情報通信システム、情報収集方法、ノード装置、及び記録媒体 Download PDF

Info

Publication number
WO2007097130A1
WO2007097130A1 PCT/JP2007/050096 JP2007050096W WO2007097130A1 WO 2007097130 A1 WO2007097130 A1 WO 2007097130A1 JP 2007050096 W JP2007050096 W JP 2007050096W WO 2007097130 A1 WO2007097130 A1 WO 2007097130A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
node
message
information collection
node device
Prior art date
Application number
PCT/JP2007/050096
Other languages
English (en)
French (fr)
Inventor
Kentaro Ushiyama
Yuji Kiyohara
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
Priority to EP20070706443 priority Critical patent/EP1990957A1/en
Priority to CN2007800063206A priority patent/CN101390345B/zh
Publication of WO2007097130A1 publication Critical patent/WO2007097130A1/ja
Priority to US12/230,150 priority patent/US8542690B2/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • 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/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • 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 collection method, node device, and recording medium
  • the present invention includes a plurality of node devices that can communicate with each other via a network, and the plurality of node devices are divided into a plurality of groups according to a predetermined rule.
  • P2P Peer to Peer
  • P2P type Technical field such as information communication system.
  • the information transmission source device for example, a server
  • a method of copying information and transmitting the copied information to each terminal device is common.
  • IP Internet Protocol
  • one piece of information sent from an information transmission source device is transmitted to a plurality of information transmission destination terminal devices. Is replicated at each router (destination branch point) corresponding to, and transmitted to each terminal device, thereby reducing the burden on the information transmission source device.
  • Patent Document 2 a plurality of terminal devices are grouped, a group management server is provided in each loop, and information is transmitted to each group one by one.
  • a technique is also known in which the information is transmitted to all terminal devices belonging to each group.
  • Patent Document 1 Japanese Patent Laid-Open No. 2000-49822
  • Patent Document 2 Japanese Patent Laid-Open No. 2002-344477
  • DHT Distributed Hash Table
  • a plurality of node devices participating in the overlay network are grouped, a management server is provided in each group, and the management server of each group transmits information to the node devices belonging to the group managed by itself.
  • a management server is provided in each group, and the management server of each group transmits information to the node devices belonging to the group managed by itself.
  • the present invention has been made in view of the above points, and more efficiently transmits information to a plurality of node devices without using a management server or the like, and suppresses the load on the network. It is an object of the present invention to provide an information communication system, an information collection method, a node device, and a recording medium that can collect responses of the plurality of node device powers more efficiently.
  • a plurality of node devices that can communicate with each other via a network are provided, and the plurality of node devices comply with a predetermined rule. It is the node device included in the information communication system divided into groups, and the information collection for the group to which it belongs, to which other node device power has also been transmitted. Information collection message receiving means for receiving a collection message, and when the group to which it belongs is further divided into a plurality of groups in accordance with the predetermined rule, a group belonging to each of the further divided groups.
  • a reply message returning means for returning the return message including the new response information has been made to the other node device, characterized in that it comprises a.
  • one node device receives an information collection message for the group to which the node device belongs, to which another node device power has also been transmitted, and the loop to which the node belongs belongs according to a predetermined rule. If further divided into a plurality of groups, one node device belonging to each of the further divided groups is determined, and the received information collection message is sent to all the determined node devices. Send. Then, the one node device receives a reply message including reply information to the received information collection message, which is returned from all or part of the determined node device, and receives the received message.
  • New reply information is generated based on the reply information included in the reply message and the own reply information with respect to the received information collection message, and the reply message including the created new reply information is Since it is configured to reply to the node device, the information collection message is transmitted to a plurality of node devices more efficiently without using a management server, etc., and the load applied to the network is suppressed. It is possible to collect responses from multiple node devices more efficiently.
  • the response information generation unit aggregates the value indicated by the response information included in the received reply message and the value indicated by the own response information, and the response information Is generated. [0014] According to the present invention, responses of a plurality of node device powers to which information collection messages are transmitted can be aggregated more efficiently.
  • the response information generation means may generate a new response based on the response information included in the response message returned from the determined node device within a predetermined time and the own response information. It is characterized by generating information.
  • the reply information included in the reply message returned after a predetermined time can be ignored, so that a reply can be returned promptly to the upstream node device.
  • the information collection message includes identification information for identifying the message
  • the reply message replying unit returns the identification information contained in the information collection message to the corresponding reply. It is characterized in that it is included in the message and the reply message is returned.
  • destination information of one node device belonging to each of the groups divided into a plurality is defined as one stage in association with each of the groups, and the group to which the self belongs includes a plurality of groups.
  • Storage means for storing at least a table that is divided into groups and defines at least the destination information of one node device belonging to each of the divided groups as a next step in association with each of the groups;
  • the information collection message receiving means receives an information collection message for each group corresponding to the one stage, and the information collection message transmitting means is the one belonging to each group corresponding to the next stage.
  • Node devices are determined from the table, and the information collection is performed according to the stored destination information of all the determined node devices. And transmitting the message.
  • an information collection message can be transmitted to a plurality of node devices more efficiently without using a management server or the like.
  • the information collection message receiving means receives an information collection message including a group specific value indicating the one stage, and the information collection message transmission means is included in the information collection message.
  • One group specific value indicates the next stage The information collection message is transmitted in place of the next group specific value.
  • a node processing program that causes a computer to function as the node device is recorded in a computer-readable manner.
  • the information communication system includes a plurality of node devices that can communicate with each other via a network, and the plurality of node devices are divided into a plurality of groups according to a predetermined rule.
  • the first node device included in the information communication system determines one node device belonging to each of the groups, and transmits an information collection message to all the determined node devices.
  • a second node device comprising a message transmission means and receiving the transmitted information collection message, if the group to which the second node device belongs is further divided into a plurality of groups according to the predetermined rule; Further, one node device belonging to each of the divided groups is determined, and the reception is made to all the determined node devices.
  • Information collection message transmitting means for transmitting the received information collection message, and a reply message including reply information to the received information collection message, which is returned from all or part of the determined node device
  • a reply message receiving means for generating new reply information based on reply information included in the received reply message and own reply information for the received information collection message
  • Means and reply message reply means for replying the reply message including the generated new reply information to the first node device.
  • information in an information communication system comprising a plurality of node devices that can communicate with each other via a network, wherein the plurality of node devices are divided into a plurality of groups according to a predetermined rule.
  • the first node device included in the information communication system determines one node device belonging to each of the groups, and sends an information collection message to all the determined node devices.
  • the second node device that has received the transmitted information collection message includes the step of transmitting the information collection message when the group to which the second node device belongs is further divided into a plurality of groups according to the predetermined rule.
  • One node device belonging to each of the further divided groups is determined, and the reception is received by all the determined node devices.
  • Collected information Transmitting a collection message; receiving a reply message including reply information to the received information collection message that has been returned from all or a part of the determined node device; and the received message A step of generating new response information based on the response information included in the response message and the own response information for the received information collection message, and a response message including the generated new response information Returning to the first node device.
  • one node device receives an information collection message for the group to which the node device belongs, to which another node device power has been transmitted, and the group to which the node belongs belongs according to a predetermined rule. Further, when the node device is divided into a plurality of groups, one node device belonging to each of the further divided groups is determined, and the received signal is received by all the determined node devices. Send information gathering messages.
  • the one node device receives a reply message including reply information to the received information collection message, which is returned from all or a part of the determined node device, and receives the received reply New response information is generated based on the response information included in the message and its own response information with respect to the received information collection message, and the response message including the generated new response information is added to the other response information.
  • the information collection message is transmitted to a plurality of node devices more efficiently without using a management server, and the load on the network is suppressed. It is possible to collect the response of the device power more efficiently.
  • 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 a routing table is created.
  • FIG. 3 is a diagram showing an example of a routing table.
  • FIG. 4 is a diagram showing a schematic configuration example of a node.
  • FIG. 5 is an example of a routing table held by node X.
  • FIG. 6 is a diagram schematically showing an information collection message.
  • FIG. 7 is a diagram showing how DHT multicast is performed.
  • FIG. 8 A diagram showing how DHT multicasting is performed.
  • FIG. 9 A diagram showing how DHT multicasting is performed.
  • FIG. 10 A diagram showing how DHT multicasting is performed.
  • FIG. 11 is a diagram showing a state in which replies are sequentially sent from a downstream node to an upstream node.
  • FIG. 12 is a flowchart showing processing in the node that is the source of the information collection message.
  • FIG. 13 is a flowchart showing details of DHT multicast processing.
  • FIG. 14 is a flowchart showing processing in a node that has received an information collection message
  • FIG. 15 is a flowchart showing details of a reply message transmission process.
  • FIG. 16 is a flowchart showing details of response tabulation processing.
  • FIG. 17 is a flowchart showing details of DHT multicast processing in a modified embodiment.
  • FIG. 18 is a flowchart showing details of DHT multicast processing in a modified embodiment.
  • FIG. 19 is a flowchart showing processing in a node that receives an information collection message in a modified embodiment. Explanation of symbols
  • 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. Note that the network (communication network) 8 in the example of FIG. 1 is appropriately inserted with a router power for transferring messages (packets), but is not shown.
  • the information communication system S includes a plurality of node devices (hereinafter referred to as "nodes”) A, B, C---X, ⁇ , ⁇ ⁇ ⁇ This is a peer-to-peer network system.
  • nodes node devices
  • Each node A, B, C---X, Y, ⁇ ⁇ is assigned a unique manufacturing number and an IP (Internet Protocol) address as destination information.
  • IP Internet Protocol
  • serial numbers and IP addresses do not overlap between multiple nodes.
  • DHT distributed hash table
  • one node remembers (stores) only the IP address of the minimum necessary node among all the nodes participating in the network 8, and knows the IP address.
  • a system has been devised that allows nodes to remember and transfer information to each other and deliver them to each other.
  • an overlay network 9 as shown in the upper frame 100 of FIG. 1 is constructed by an algorithm using DHT.
  • this overlay network 9 means a network constituting a virtual link formed by using the existing network 8.
  • the overlay network 9 is constructed by an algorithm using DHT, and the nodes arranged on the overlay network 9 are referred to as nodes participating in the overlay network 9. . Participation in the overlay network 9 is performed by sending a participation request to any node that has already joined the node that has not yet joined.
  • Each node has a node ID as unique identification information.
  • the node ID obtained by the common hash function has a very low probability of being the same value if the IP address or the serial number is different. Since the hash function is well known, the details are omitted here.
  • FIG. 2 is a diagram showing an example of how a routing table is created
  • FIG. 3 is a diagram showing an example of a routing table.
  • an ID space as shown in FIG. 2A is divided (divided) into several groups of areas according to a predetermined rule. Actually, about 16 divisions are often used, but in order to simplify the explanation, here, it is assumed that the division is 4 divisions, and the ID is represented by a quaternary number of 8 bits in bit length. An example in which the node ID of node N is “1023” and the routing table of node N is created will be described.
  • each area has a different maximum digit when expressed in quaternary numbers. )). Since the node ID of the node N itself is “1023”, the node N exists in the area of “1 XXX” in the lower left in the figure. Node N appropriately selects each node existing in an area other than its own area (ie, “1XXX” area), and the IP address of the node ID, etc. Register (store) port numbers (including the same below) in each column (table entry) in the level 1 table.
  • Figure 3 (A) is an example of a level 1 table. The column in the second column of the level 1 table shows node N itself! /, So there is no need to register an IP address etc.
  • Level 2 routing Next, among the areas divided into four by the above routing as shown in Fig. 2 (B), the area where I exist is further divided into four, and four areas ⁇ 10XX '', ⁇ 11XX '', ⁇ 12XX '', ⁇ Separated with “13 XX”. Then, as in the above, select each node that exists in an area other than your own area, and register the IP address of the node ID in each column (table entry) in the level 2 table.
  • Figure 3 (B) is an example of a level 2 table. The column in the first column of the level 2 table indicates node N itself, so there is no need to register an IP address.
  • the area where one exists is further divided into four, and further four areas “100X”, “101X”, “102X”, “103” X ". Then, in the same way as above, select each node that exists in an area other than your own area, and register the IP address of the node ID in each column (table entry) in the level 3 table.
  • Figure 3 (C) is an example of a level 3 table. Note that the third column in the level 3 table indicates node N itself, so there is no need to register the IP address etc. The second and fourth columns have nodes in the area. It is blank because it does not exist.
  • a routing table created according to the method (rule) described above is created and owned by all nodes.
  • each node stores an IP address or the like as destination information of other nodes and a node ID space area as a group, that is, each level and each column of DHT in association with each other. Yes.
  • each node defines the IP address, etc. of one node belonging to each of the divided areas as one stage (level) in association with each area, and more than one area to which it belongs.
  • a routing table is stored, which is divided into areas and defines the next stage (level) by associating each node with the IP address of one node belonging to each divided area.
  • the number of levels is determined according to the number of digits of the node ID, and as shown in FIG.
  • the number of attention digits in each level is determined. 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.
  • the part indicating the number of digits of interest at each level is simply referred to as “column”! / ⁇
  • Each node acts as a node that first transmits information (message) by a process performed by each node, a node that forwards received information (message), and the like, but the configuration is the same.
  • FIG. 4 is a diagram illustrating a schematic configuration example of a node.
  • each node includes a CPU 11 having a calculation function, a working RAM, a ROM 11 for storing various data and programs, a control unit 11 as a computer configured, content data, and the above routing
  • a storage unit 12 as a storage means that is configured to store and store tables and various programs, etc., a buffer memory 13 that temporarily stores received content data, etc., and included in the content data
  • the decoder unit 14 that decodes (decompresses and decodes data) encoded video data (video information) and audio data (audio information), and a predetermined rendering process on the decoded video data.
  • the video processing unit 15 that outputs the processed video signal and the video display based on the video signal output from the video processing unit 15
  • a display unit 16 such as a CRT, a liquid crystal display, and the like
  • an audio processing unit 17 that converts the decoded audio data into an analog audio signal after D (Digital) / A (Analog) conversion, and amplifies this by an amplifier
  • a speaker 18 that outputs an audio signal output from the sound processing unit 17 as a sound wave
  • a communication unit 20 for controlling communication of information with other nodes through the network 8
  • an input unit for example, a keyboard, a mouse, or an operation panel
  • the decoder unit 14 and the communication unit 20 are connected to each other via a bus 22.
  • control unit 11 performs overall control of the entire node by executing various programs (including the node processing program) stored in the storage unit 12 (the recording medium of the present invention) by the CPU. It also functions as an information collection message transmission means, an information collection message reception means, a reply message reception means, a reply information generation means, a reply message reply means, etc., and performs the processing described later. Yes.
  • the node processing program may be downloaded from a predetermined server on the network 8, for example, or may be recorded on a recording medium such as a CD-ROM and the drive of the recording medium. It may be read via ⁇ .
  • DHT multicast information sent from one node X participating in the overlay network 9 by multicast using the DHT (hereinafter referred to as “DHT multicast”).
  • DHT multicast An example of operation when the collected message is distributed to all other nodes and the node X collects response information (by reply message) for the information collection message will be described.
  • FIG. 5 is an example of a routing table held by the node X
  • FIG. 6 is a diagram schematically showing an information collection message
  • FIGS. 7 to 10 are those in which DHT multicast is performed. It is a figure which shows a mode.
  • the node X has a routing table as shown in FIG. 5, and the columns corresponding to the areas 1 to 4 of the routing table include nodes A to I. It is assumed that the node ID (4-digit quaternary number) and IP address etc. of any of these nodes are stored.
  • the information collection message is composed of a packet having a header part and a payload part force.
  • the header part includes a target node ID and a group specific value indicating a level.
  • ID mask and the IP address of the node corresponding to the target node ID are included, and the payload part has a unique ID (information collection message and identification information) for identifying the message.
  • Main information including IDs unique to each reply message group and collected contents. For example, the collection contents The total number of nodes participating in the Burleigh network 9; the total number of content viewers; the total instantaneous audience rating for specific content; the total for specific questionnaires, etc. Instructions to be executed by the user are also included in the collected contents.
  • the target node ID has the same number of digits as the node ID (in the example of Fig. 5, 4-digit quaternary number), and sets the destination node, depending on the value of the ID mask. For example, the node ID of the node that transmits or forwards the information collection message or the node ID of the destination node is used.
  • the ID mask specifies the number of significant digits of the target node ID, and the node ID that has the same number of significant digits in the target node ID is indicated by the number of significant digits.
  • the ID mask (ID mask value) is an integer that is greater than or equal to 0 and less than or equal to the maximum number of digits of the node ID. For example, when the node ID is a 4-digit quaternary number, it is an integer from 0 to 4.
  • the target node ID is “3301” and the ID mask value is “2”
  • the upper “2” of the target node ID is valid.
  • Node ID is “33 * *”
  • the upper two digits are “33” (the lower two digits can be any value) All nodes on the routing table are the target of information collection message transmission.
  • the target node ID is “1220” and the value of the ID mask is “0”, the upper “0” digit of the target node ID is valid.
  • any value can be used for any digit (the target node ID at this time can be any value), and all the nodes on the routing table are information. This is the target for collecting messages.
  • the DHT multicast of the information collection message sent from node X is from the first stage to the fourth stage as shown in FIGS. It is performed in the steps.
  • the node X sets the target node ID in the header part to its own (own node) node ID “3102”, sets the ID mask to “0”, and generates an information collection message including the header part and the payload part. Then, as shown in FIGS. 7A and 7B, node X refers to the routing table shown in FIG. 5, and level “1” is added (added) to ID mask “0”. An information collection message is transmitted to each node (node A, B, C) registered in each column in the table of “1” (that is, belonging to each area as each group).
  • the node X generates an information collection message in which the ID mask “0” in the header part of the information collection message is converted to “1”. Since the target node ID is its own node ID, it is not changed. Node X then refers to the routing table shown in Fig. 5 and adds 1 to the ID mask "1" as shown in the upper right area of the node ID space in Fig. 8 (A) and in Fig. 8 (B). The information collection message is transmitted to each node (node D, E, F) registered in each column in the level “2” table.
  • node A that has received the information collection message from node X (information collection message for the area to which it belongs) sets ID mask "0" in the header part of the information collection message to "1". And an information collection message in which the target node ID “3102” is converted into its own node ID “0132” is generated. Node A then refers to its own routing table (not shown) and sets 1 in ID mask “1” as shown in the upper left area of the node ID space in FIG. 8A and in FIG. 8B. The information collection message is sent to each node (node Al, A2, A3) registered in each column in the level “2” table.
  • node A can further subdivide the area “0XXX” to which node A belongs if it is further divided into multiple areas (“00XX”, “01XX”, “02XX”, “03XX”).
  • One node (node Al, A2, A3) belonging to each area is determined, and the received information collection message is transmitted to all the determined nodes (node Al, A2, A3) The same).
  • node B that has received the information collection message from node X as shown in FIG. 8 (B).
  • node C also refer to their own routing tables, respectively, in the level 2 table. For each node registered in each column (node Bl, B2, B3, CI, C2, C3), an information collection message with ID mask set to “1” and its own node ID as the target node ID Generate and send this.
  • the node X generates an information collection message in which the ID mask “1” in the header part of the information collection message is converted to “2”. As above, the target node ID is not changed. Then, node X refers to the routing table shown in FIG. 5 and calculates 1 in ID mask “2” as shown in the upper right area of node ID space in FIG. 9 (A) and in FIG. 9 (B). The information collection message is transmitted to each node (node G, H) registered in each column in the level “3” table.
  • the node D that has received the information collection message from the node X converts the ID mask “1” in the header part of the information collection message into “2”, and An information collection message is generated by converting the target node ID “3102” into its own node ID “3001”. Then, node D refers to its own routing table, and as shown in FIG. 9 (B), each node registered in each column in the table of level “3” obtained by adding 1 to ID mask “2” ( The information collection message is transmitted to the nodes Dl, D2, D3).
  • the nodes that received the information collection message ⁇ , F, Al, A2, A3, Bl, B2, B3, CI, C2, C3 Refer to the own routing table, set the ID mask to “2” for each node (not shown) registered in each column in the level 3 table, and set its own node ID. Generate an information collection message with the target node ID as the target node ID and send it.
  • the node X generates an information collection message in which the ID mask “2” in the header part of the information collection message is converted to “3”. As above, the target node ID is not changed. Then, the node X refers to the routing table shown in FIG. 5 and adds 1 to the ID mask “3” as shown in the upper right area of the node ID space in FIG. 10 (A) and in FIG. 10 (B). The information collection message is sent to node I registered in each column in the level “4” table.
  • the node G that has received the information collection message from the node X converts the ID mask “2” in the header part of the information collection message into “3”, and An information collection message is generated by converting the target node ID “3102” into its own node ID “3123”. Then, node G refers to its own routing table and, as shown in FIG. 10 (B), node G 1 registered in each column in the table of level “4” obtained by adding 1 to ID mask “3”. The information collection message is transmitted to
  • each node that received the information collection message also refers to its own routing table and is registered in each column of the level 4 table.
  • an information collection message is generated with the ID mask set to “3” and its own node ID as the target node ID, and is transmitted.
  • the node X generates an information collection message in which the ID mask “3” in the header part of the information collection message is converted to “4”. Then, the target node ID and ID master recognize that the information collection message is addressed to itself (own node), and terminate the transmission process.
  • each node 1 that has received the information collection message also generates an information collection message in which the ID mask “3” in the header part of the information collection message is converted to “4”. Then, it recognizes that the information collection message is addressed to itself (own node) from the target node ID and ID mask, and ends the transmission process.
  • the unique ID included in the payload portion of the information collection message is an ID uniquely assigned to each information collection message. For example, one message sent from the node X is transferred to the end of the message. The ID does not change until the node is reached. In addition, in response to the information collection message, the same unique ID as the original information collection message is assigned to the reply message returned from each node.
  • FIG. 11 is a diagram showing a state in which the reply message is sequentially sent back to the upstream node with the downstream node power.
  • All the nodes that have received the information collection message generate reply information for the information collection message, and send the reply message including the reply information to the upstream node, that is, the information collection message. Is returned to the selected node (the node corresponding to the target node ID in the information collection message).
  • the reply message sent back from the downstream node that is, the node to which the information collection message was sent, is received, the reply information contained in the received reply message and the self reply New response information is generated based on the information!
  • the value indicated by the response information included in the received reply message for example, the aggregation result
  • the value indicated by the own response information for example, the totaling result
  • some information for example, the number of participating nodes in the overlay network 9) is aggregated (in this case, the overlay network) in each node on the route returned to the upstream node.
  • the nodes participating in 9 are added with “1” to the counting result R from the downstream), and the counting result R is the response information.
  • each node returns the reply message by including the unique ID contained in the received information collection message in the reply message corresponding thereto. This makes it possible to distinguish from other collection results (aggregation results).
  • the node X that is the transmission source of the information collection message collects response information for the information collection message from all the nodes participating in the overlay network 9.
  • FIG. 12 is a flowchart showing processing in the node that is the source of the information collection message
  • FIG. 13 is a flowchart showing details of the DHT multicast processing in FIG.
  • FIG. 14 is a flowchart showing the process in the node that received the information collection message
  • FIG. 14 is a flowchart showing the details of the reply message transmission process in FIG. 14,
  • each node participating in the overlay network 9 is operating (that is, turned on and initializing various settings), and waits for an instruction via the input unit 21 of user power, and It is assumed that it is in a state of waiting to receive a message from another node via the network 8.
  • the processing shown in FIG. 12 is started at any node X by an input of an information collection message transmission instruction from the user via the input unit 21.
  • the control unit 11 of the node X The unique ID and the collected content are acquired, and an information collection message including the acquired unique ID and the collected content in the payload part is generated (step Sl).
  • the unique ID needs to use a number that has not been used in the past as the entire overlay network 9, for example, a value obtained by adding a predetermined value to its own manufacturing number is the common hash described above.
  • the hash value obtained by hashing with the function is used as the unique ID.
  • a management server that manages the unique ID of the message is prepared, and each node connects to the management server, and a unique ID that does not overlap (For example, 1) Serial numbers that increment by 1 may be obtained.
  • Collected contents are arbitrarily selected or set in advance by the user and stored in the storage unit 12.
  • control unit 11 of the node X starts DHT multicast processing (step S2).
  • control unit 11 of the node X sets its own node ID “3102” as the target node ID in the header part of the generated information collection message. Set “0” as the ID mask and set its own IP address as the IP address (step S11).
  • control unit 11 determines whether or not the ID mask value set above is smaller than the total number of levels of its own routing table (“4” in the example of FIG. 5)! Judgment is made (step S12).
  • step S12 YES
  • step S13 the generated information collection message is transmitted to the determined node.
  • an information collection message is transmitted to node A, node B, and node C registered at level 1 with “ID mask“ 0 ”+1”. Become.
  • control unit 11 adds “1” to the value of the ID mask set in the header part of the information collection message to reset the ID mask (step S14), and returns to step S12. .
  • control unit 11 repeats the processes of steps S12 to S14 in the same manner for the ID masks “1”, “2”, and “3”.
  • the information collection message is transmitted to all nodes registered in its own routing table.
  • step S12 determines whether the ID mask value is smaller than the total number of levels in its own routing table (in the example of FIG. 5, the ID mask value is “4”). ) Returns to the process shown in FIG.
  • each node that has received the information collection message transmitted as described above stores the information collection message and starts the process shown in FIG.
  • node A will be described as an example.
  • control unit 11 of the node A sets the node ID of itself to the target specified by the target node ID and ID mask in the header part of the received information collection message. It is determined whether or not it is included (step S21).
  • the target indicates a node ID in which the upper digits corresponding to the ID mask value are common in the target node ID. For example, if the ID mask is “0”, all node IDs are targets. If the ID mask power is “2” and the target node ID is “3102”, the upper “2” digit is “31” and “31 * *” (* * can be any value) The node ID will be included in the target.
  • the control unit 11 of node A Since the ID mask in the header part of the information collection message received by node A is "0" and the number of significant digits is not specified, the control unit 11 of node A has its own node ID "0132" It is determined that it is included in the target (step S21: YES), and the target node ID in the header part of the information collection message is converted and set to its own node ID “0132” (step S22).
  • control unit 11 resets the ID mask by adding “1” to the ID mask value in the header part of the information collection message (in this case, converted from “0” to “1”). (Change the ID mask indicating one level to the ID mask indicating the next level)) (step S23).
  • control unit 11 determines whether or not the reset value of the ID mask is smaller than the total number of levels in its own routing table (step S24).
  • Step S24 YES
  • all nodes registered at the level of “the above-mentioned reset ID mask + 1” in its own routing table are determined (that is, the area to which node A belongs is more than one area). Therefore, the information collection message generated above is transmitted to the determined node (step S25).
  • the information collection message is transmitted to the node Al, the node A2, and the node A3 registered in the level 2 with "ID mask" 1 "+ 1".
  • control unit 11 repeats the processes of steps S24 and S25 in the same manner for the ID masks “2” and “3”. As a result, the information collection message is sent to all nodes registered in its own routing table.
  • step S21 when the control unit 11 determines that its own node ID is not included in the target specified by the target node ID and ID mask in the header part of the received information collection message (Step S21: NO), send (transfer) the received information collection message to the Sword that has the highest number of digits matching the target node ID from the upper digit in the routing table (Step S27). The place End the process.
  • step S27 is a message transfer using the normal DHT routing table.
  • step S24 when the control unit 11 determines that the value of the ID mask is smaller than the total number of levels in its own routing table (step S24: NO), The reply message transmission process is started (step S26).
  • control unit 11 of the node A performs a response totaling process for generating response information (step S31).
  • control unit 11 of the node A initializes the aggregation result R (variable) to “0” (step S41), and the received information collection message It is determined whether or not the condition included in the collected contents in the payload part is satisfied (step S42).
  • the condition is "receive information collection message", that is, the information collection message All received nodes satisfy the condition.
  • the collected content is the aggregation of the number of viewers of the content
  • the condition is that content data is being played back, and a node that is playing some content is Will be satisfied.
  • the condition is “reproduction of specific content data (for example, indicated by a content name or content ID).
  • the node that is playing the specific content satisfies the condition.
  • step S42 determines that the condition included in the content to be collected is satisfied (step S42: YES), the total result R is set to "1" (step S43). ). On the other hand, if the conditions included in the powerful collection contents are not satisfied (step S42: NO), the aggregation result R remains “0”.
  • the control unit 11 has received a reply message including the counting result R (reply message from the downstream node that is the other party to which the self-collection message has been transmitted) from another node. If it is received (step S44: Y), the unique ID included in the received reply message is collected. It is determined whether or not it matches the unique ID included in the message (step S45).
  • step S45 If the control unit 11 determines that the unique ID matches (step S45: YES), the control unit 11 adds the received reply message to its own counting result R "l" in step S43. The summation result R included in the is added (added) (step S46).
  • the control unit 11 determines whether or not the reception time-out has occurred (that is, the power / force force exceeding the set reception time-out value) (step S47), and if the reception time-out has not occurred (Step S47: NO), return to Step S44 and repeat the processing of Steps S44 to S46 until the reception time-out is reached.
  • step S47 If the reception time-out occurs (step S47: YES), the finally obtained tabulation result R is used as response information, and the process returns to the process shown in FIG. In other words, new response information is generated based on the response information included in the reply message returned within the reception timeout as the predetermined time and the own response information. Therefore, since the reply information included in the reply message returned after a predetermined time can be ignored, a reply can be returned promptly to the upstream node.
  • the reception timeout value is set to be longer as it goes upstream in the transfer path (to the upstream node, the longer it gradually becomes). For example, if the reception timeout value of the most downstream node is Tl, the reception timeout value of the upstream node is ⁇ 2, and the reception timeout value of the two upstream nodes is ⁇ 3, then ⁇ 1 ⁇ 2 (for example, 2 ⁇ 1) ⁇ 3 (for example, 3 XT1) It is good to be set.
  • the ID masking power in the information collection message is also determined as to which position in the transfer path, and when the value of this ID mask is large (for example, “3”), its own node is located downstream.
  • the reception timeout value is set to a small value (for example, IX T1) and the value of this ID mask is small (for example, “0”), its own node will be located upstream.
  • the reception timeout value is set to be large (for example, 3 XT1) (Note that this setting is performed in step S41, for example).
  • control unit 11 when the response aggregation process is completed and the process returns to the process shown in Fig. 15, the control unit 11 includes the unique result included in the aggregation result R as the generated response information and the information collection message. A reply message including the ID is generated (step S32).
  • control unit 11 sends the generated reply message to the upstream node (the node that transmitted the information collection message) according to the IP address or the like included in the information collection message.
  • Send (reply) (step S33) and end the process.
  • the reply message returned in this way is sent to the upstream node and is judged to be received in step S44.
  • the response counting process shown in Fig. 16 is executed after the DHT multicast processing shown in Fig. 12 is completed (step S3), and the response counting is performed.
  • the aggregation result R finally obtained through the process reflects the aggregation result R included in each reply message.
  • control unit 11 of the node X stores and saves the finally obtained aggregation result R as a log in the storage unit 12, for example, displays it on the display unit 16 or outputs audio from the speaker 18.
  • the user of the node X is notified (step S4), and the process ends.
  • the user (administrator, etc.) of the node X can view the total result R.
  • the total result R is used for, for example, audience rating and various analyses.
  • the user participates in the overlay network 9. Since one node is sending an information collection message to all other nodes by the DHT multicast process described above, it basically participates in the overlay network 9 without using a management server.
  • the information collection message can be transmitted more efficiently to all other nodes, and each node that receives the information collection message returns a reply message containing reply information to the upstream node (DHT multicast and Sending the reply message in the opposite direction), the source node of the information collection message can collect the responses from all other nodes more efficiently while reducing the load on the network 8. it can.
  • a management special terminal that does not participate in the overlay network 9 cannot perform DHT multicast processing. In this case, it does not connect to any node participating in the overlay network 9. It is only necessary to send processing (notification) of the totalized result R.
  • the total result R of the two options (satisfying or not satisfying) at each node is used as the response information.
  • the total result of three or more options is used as the response information. Also good. In this case, for example, if you select the first survey, add 1 to the tabulation result R1, and if you select the second survey, add “1” to the tabulation result R2, Is selected, “1” is added to the total result R3, and response information including the total results R1, R2, and R3 is returned.
  • the node that collects information can obtain a detailed response.
  • the aggregation result is the response information.
  • each node may be configured to include some information in the response information without performing aggregation.
  • each node stores the IP address in its own routing table and transmits the information collection message only to the node.
  • the IP address is stored in the routing table.
  • the header portion of the information collection message transmitted in this way includes the transfer count integrated value (a value incremented by 1 every time the node is transferred) and the transfer count limit value. It is. This is to prevent an information collection message from being transmitted to a node whose IP address is not registered in the routing table, which may continue to be forwarded.
  • step S51 the control unit 11 of the node X, in the header part of the information collection message generated in step S1 shown in Fig. 12, is the same as step S11 in the above embodiment.
  • control unit 11 starts information collection message transmission processing (step S52).
  • the control unit 11 of the node X sets the level specified by its own routing table to the target node ID and the target in the generated information collection message.
  • the number of matching digits is determined from the upper digits of the node ID plus 1 (step S61).
  • the self node ID is "3102" and the target node ID is "3102", they all match, so the matching digit power S is "4".
  • the level of the routing table is determined to be “5”.
  • control unit 11 determines whether or not the determined level force is greater than the ID mask in the generated information collection message (step S62).
  • Step S62 YES
  • the process proceeds to Step S63.
  • step S63 the control unit 11 determines a column (that is, a level and a column) to be specified in its own routing table. Specifically, the control unit 11 determines the level to be specified as “ID mask value in the above information collection message + 1” and the column to be specified as one column from the left end of the level.
  • the routing table consists of A digits and B base numbers
  • the level value is 1 to A
  • the column value is 1 to B.
  • the level is 1 to 4 (total number of levels is 4)
  • the column is 1 to 4 (total number of columns is 4).
  • the ID mask in the information collection message is “0”, so the “Level 1, 1 column” column in the routing table is specified.
  • the control unit 11 determines whether or not the determined level value is equal to or less than the total number of levels (step S64). In the above example, since the determined level value “1” is less than or equal to the total number of levels “4”, the control unit 11 determines that the determined level value is less than or equal to the total number of levels (step S64). : YES), and then it is determined whether the determined column values are less than the total number of columns (step S65). In the above example, since the determined column value “1” is less than or equal to the total number of columns “4”, the control unit 11 determines that the determined level value is less than or equal to the total number of levels (step).
  • Step S65 YES
  • Step S66 it is determined whether or not the determined field indicates the power (self node ID)
  • the control unit 11 determines that the determined field does not indicate self (step S66: NO), Proceed to step S67.
  • step S67 the control unit 11 registers the IP address of the node in the determined field. It is determined whether or not. In the above example, since the IP address of node A is registered in the determined “Level 1, 1 column” column, the control unit 11 has the IP address of the node registered in the determined column. Judgment (step S67: YES) and send an information collection message (according to the IP address) to the registered node (step S68)
  • control unit 11 adds “1” to the determined column value (step S69), and returns to step S65.
  • steps S65 to S69 are repeated, for example, node B registered in the "Level 1, 2 column” column in FIG. 5, node registered in the "Level 1, 3 column” column An information collection message is also sent to C, and the determined field is changed to “Level 1, 4 column”, and the process returns to step S 65.
  • Step S66 the process proceeds to Step S69. In this way, an information collection message can be sent to all nodes 1 registered in level 1 of the routing table.
  • step S65: NO when it is determined that the column values determined in the processing of step S65 are not less than the total number of columns (step S65: NO), the control unit 11 includes the header of the information collection message. Then, 1 is added to the set ID mask value to reset the ID mask (step S70), the process returns to step S63, and the same processing is repeated.
  • step S67 NO
  • the control unit 11 determines the determined column (for example, “ An information collection message is transmitted to the node stored closest to level 3 and column 2) (step S71).
  • the ID mask value is set to “3”
  • the target node ID is set to “3110” corresponding to the column of “Level 3, 2 columns”.
  • the target By specifying the target in this way, an information collection message can be transmitted when a node corresponding to this field participates.
  • the information collection message may be transmitted to the node G and transferred.
  • the upper limit of the number of transfers in the header part of the information collection message is a value that determines the upper limit of the number of transfers, and prevents the message from continuing to be transferred when there is no target node.
  • the upper limit of the transfer count is a slightly large value that will never exceed normal transfer. For example, when using a routing table that is level power, the number of transfers usually falls within 4 times. In this case, the upper limit of the number of transfers is, for example, 8 or 16 times.
  • step S64 it is determined that the determined level value is not less than the total number of levels (step S64: NO), the process ends.
  • step S61 for example, when the own node ID is "3102", the target node ID is "2132", and the ID mask is "4", they match. The number of digits is “0”, 1 is added to this, and the level of the specified routing table is determined as “1”.
  • step S62 since the determined level is smaller than the ID mask “4” in the information collection message, the process proceeds to step S72, and normal DHT message transmission (transfer) processing is performed. Specifically, the control unit 11 determines the closest Sword to the target node ID at the determined level and registered in the routing table, and sends (transfers) an information collection message to the node. ) And terminate the reason.
  • each node that has received the information collection message transmitted as described above stores the information collection message and starts the process shown in FIG.
  • the control unit 11 of the relevant node determines whether or not the number of information collection message transfers exceeds the transfer count upper limit (step S81), and determines the transfer count upper limit. If it does not exceed (step S81: NO), it is determined whether or not its own node ID is included in the target of the received information collection message (step S82). At this time, if the ID mask in the information collection message is “0”, as described above, since all node IDs are included, the control unit 11 determines that the node ID is included in the target.
  • Step S82 YES
  • Step S83 set the target node ID in the header of the received information collection message to its own node ID
  • Step S83 set the ID mask to ⁇ ID mask value in the above information collection message + 1 ''
  • step S84 The information collection message transmission process shown in FIG. 18 is executed for the sage.
  • the control unit 11 executes the reply message transmission process shown in FIG. 15 as in the above-described embodiment (step S85), and ends the process.
  • step S82 determines whether the node ID is included in the target (step S82: NO) or not included in the target (step S82: NO).
  • the received information collection message is shown in FIG.
  • the information collection message transmission process is executed (step S86), and the process ends.
  • step S81 if it is determined in step S81 that the number of times the received information collection message has been transferred has exceeded the upper limit of the number of transfers (step S81: YES), the transfer is not performed. Ends.
  • the information collection message can be transmitted to all nodes participating in the overlay network 9.
  • the present invention is not limited to the above embodiment.
  • the above embodiment is merely an example, and the present invention has the same configuration as the technical idea described in the claims of the present invention, and any device that exhibits the same function and effect is the present invention. It is included in the technical scope of the invention.

Description

情報通信システム、情報収集方法、ノード装置、及び記録媒体
技術分野
[0001] 本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備え、当該 複数のノード装置が所定の規則に従って複数のグループに分けられたピアツーピア
(Peer to Peer (P2P) )型情報通信システム等の技術分野に関する。
背景技術
[0002] インターネット等のネットワークに接続された複数の端末装置 (クライアント)に同じ 情報を送信する方法として、情報送信元の装置 (例えば、サーバ)が、情報送信先の 端末装置の台数分だけ当該情報を複製し、該複製された情報を夫々の端末装置に 送信する方法が一般的である。
[0003] 一方、例えば特許文献 1に開示される IP (Internet Protocol)マルチキャスト技術で は、情報送信元の装置 (例えば、サーバ)から送出された一つの情報が、情報送信 先の複数の端末装置に対応する夫々のルータ (宛先の分岐点)で複製され、夫々の 端末装置に送信されるようになっており、これによつて、情報送信元の装置の負担軽 減が図られている。
[0004] また、特許文献 2に開示されるように、複数の端末装置をグループ分けし、各ダル ープにグループ管理サーバを設け、各グループに一つずつ情報を送信することによ り、当該各グループに属する全ての端末装置に当該情報が送信される技術も知られ ている。
特許文献 1:特開 2000— 49822号公報
特許文献 2:特開 2002— 344477号公報
発明の開示
発明が解決しょうとする課題
[0005] ところで、近年、ピアツーピアと 、う技術が注目されてきて 、る。ピアツーピア型の情 報通信システムにおいて、例えば、分散ハッシュテーブル(以下、 DHT (Distributed Hash Table)という)を利用して論理的に構築されたオーバーレイネットワークでは、 各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置への リンク情報 (例えば、 IPアドレス)を認識しているわけではなぐ参加の際などに得られ る一部のノード装置へのリンク情報だけを保持しており、力かるリンク情報に基づき、 情報の問 、合わせ等を行うようになって 、る。
[0006] このため、例えばあるノード装置において情報を複製し、当該複製された情報をォ 一バーレイネットワークに参カ卩している全てのノード装置に送信することは困難である
[0007] また、上記 IPマルチキャスト技術を用いてオーバーレイネットワークに参加している 全てのノード装置へ情報を送信することは可能であるが、情報が送信される経路上 の全てのルータが IPマルチキャスト機能に対応して 、なければならな 、と 、う問題が ある。
[0008] 更に、オーバーレイネットワークに参加している複数のノード装置をグループ分けし 、各グループに管理サーバを設け、各グループの管理サーバが自己の管理するグ ループに属するノード装置に情報を送信することも可能であるが、コスト面、管理面に おいて問題がある。
[0009] 一方、従来の技術では、オーバーレイネットワークに参カ卩して 、る全てのノード装置 に情報が送信されたとしても、ネットワークに負荷をかけずに、夫々のノード装置から 返答をより効率良く収集することは困難である。
[0010] 本発明は、以上の点に鑑みてなされたものであり、管理サーバ等を用いずに複数 のノード装置に対してより効率良く情報を送信し、且つ、ネットワークに与える負荷を 抑えつつ当該複数のノード装置力 の返答をより効率良く収集することが可能な情報 通信システム、情報収集方法、ノード装置、及び記録媒体を提供することを課題とす る。
課題を解決するための手段
[0011] 上記課題を解決するために、本発明の一つの観点では、ネットワークを介して互い に通信可能な複数のノード装置を備え、前記複数のノード装置が所定の規則に従つ て複数のグループに分けられた情報通信システムに含まれる前記ノード装置であつ て、他のノード装置力も送信されてきた、自己が属する前記グループに対する情報収 集メッセージを受信する情報収集メッセージ受信手段と、自己が属する前記グルー プが前記所定の規則に従ってさらに複数のグループに分けられている場合には、当 該さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当 該決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信す る情報収集メッセージ送信手段と、前記決定された前記ノード装置の全部又は一部 から返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む 返信メッセージを受信する返信メッセージ受信手段と、前記受信された返信メッセ一 ジに含まれる返答情報と、前記受信された情報収集メッセージに対する自己の返答 情報と、に基づいて新たな返答情報を生成する返答情報生成手段と、前記生成され た新たな返答情報を含む返信メッセージを前記他のノード装置に返信する返信メッ セージ返信手段と、を備えることを特徴とする。
[0012] この発明によれば、 1のノード装置は、他のノード装置力も送信されてきた、自己が 属する前記グループに対する情報収集メッセージを受信し、自己が属する前記ダル ープが所定の規則に従ってさらに複数のグループに分けられている場合には、当該 さらに分けられている各前記グループに属する一の前記ノード装置を決定し、当該 決定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する 。そして、当該 1のノード装置は、上記決定された前記ノード装置の全部又は一部か ら返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返 信メッセージを受信し、前記受信された返信メッセージに含まれる返答情報と、前記 受信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答 情報を生成し、前記生成された新たな返答情報を含む返信メッセージを前記他のノ ード装置に返信するように構成したので、管理サーバ等を用いずに複数のノード装 置に対してより効率良く情報収集メッセージを送信し、且つ、ネットワークに与える負 荷を抑えつつ当該複数のノード装置力 の返答をより効率良く収集することができる
[0013] また、前記返答情報生成手段は、前記受信された返信メッセージに含まれる返答 情報にて示される値と、前記自己の返答情報にて示される値と、を集計して前記返 答情報を生成することを特徴とする。 [0014] この発明によれば、情報収集メッセージが送信された複数のノード装置力 の返答 をより効率良く集計することができる。
[0015] また、前記返答情報生成手段は、前記決定された前記ノード装置から所定時間内 に返信された前記返信メッセージに含まれる返答情報と、前記自己の返答情報と、 に基づいて新たな返答情報を生成することを特徴とする。
[0016] この発明によれば、所定時間後に返ってきた返信メッセージに含まれる返答情報を 無視することができるので、上流のノード装置に対して迅速に返答を返すことができ る。
[0017] また、前記情報収集メッセージには、当該メッセージを識別するための識別情報が 含まれており、前記返信メッセージ返信手段は、前記情報収集メッセージに含まれる 識別情報を、これに対応する返信メッセージに含ませて、当該返信メッセージを返信 することを特徴とする。
[0018] この発明によれば、他のメッセージの返答情報と区別することができる。
[0019] また、複数に分けられた各前記グループに属する一のノード装置の宛先情報を、夫 々の前記グループに対応付けて一の段階として規定し、さらに自己が属する前記グ ループが複数のグループに分けられ、当該分けられた各前記グループに属する一 のノード装置の宛先情報を、夫々の前記グループに対応付けて次の段階として少な くとも規定するテーブルを記憶する記憶手段をさらに備え、前記情報収集メッセージ 受信手段は、前記一の段階に対応する前記各グループに対する情報収集メッセ一 ジを受信し、前記情報収集メッセージ送信手段は、前記次の段階に対応する前記各 グループに属する前記一のノード装置を前記テーブルから決定し、当該決定された 全ての前記ノード装置の前記記憶された宛先情報にしたがって前記情報収集メッセ ージを送信することを特徴とする。
[0020] この発明によれば、管理サーバ等を用いずに複数のノード装置に対してより効率良 く情報収集メッセージを送信することができる。
[0021] また、前記情報収集メッセージ受信手段は、前記一の段階を示す一グループ特定 値が含まれた情報収集メッセージを受信し、前記情報収集メッセージ送信手段は、 前記情報収集メッセージに含まれる前記一グループ特定値を、前記次の段階を示す 次グループ特定値に変えて当該情報収集メッセージを送信することを特徴とする。
[0022] 本発明の他の観点では、コンピュータを、前記ノード装置として機能させるノード処 理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする。
[0023] 本発明の更に他の観点では、ネットワークを介して互いに通信可能な複数のノード 装置を備え、前記複数のノード装置が所定の規則に従って複数のグループに分けら れた情報通信システムであって、前記情報通信システムに含まれる第 1の前記ノード 装置は、各前記グループに属する一の前記ノード装置を決定し、当該決定された全 ての前記ノード装置に情報収集メッセージを送信する情報収集メッセージ送信手段 を備え、前記送信された前記情報収集メッセージを受信した第 2のノード装置は、自 己が属する前記グループが前記所定の規則に従ってさらに複数のグループに分け られている場合には、当該さらに分けられている各前記グループに属する一の前記ノ ード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収 集メッセージを送信する情報収集メッセージ送信手段と、前記決定された前記ノード 装置の全部又は一部から返信されてきた、前記受信された情報収集メッセージに対 する返答情報を含む返信メッセージを受信する返信メッセージ受信手段と、前記受 信された返信メッセージに含まれる返答情報と、前記受信された情報収集メッセージ に対する自己の返答情報と、に基づいて新たな返答情報を生成する返答情報生成 手段と、前記生成された新たな返信情報を含む返信メッセージを前記第 1のノード装 置に返信する返信メッセージ返信手段と、を備えることを特徴とする。
[0024] 本発明の更に他の観点では、ネットワークを介して互いに通信可能な複数のノード 装置を備え、前記複数のノード装置が所定の規則に従って複数のグループに分けら れた情報通信システムにおける情報収集方法であって、前記情報通信システムに含 まれる第 1の前記ノード装置は、各前記グループに属する一の前記ノード装置を決 定し、当該決定された全ての前記ノード装置に情報収集メッセージを送信する工程 を備え、前記送信された前記情報収集メッセージを受信した第 2のノード装置は、自 己が属する前記グループが前記所定の規則に従ってさらに複数のグループに分け られている場合には、当該さらに分けられている各前記グループに属する一の前記ノ ード装置を決定し、当該決定された全ての前記ノード装置に前記受信された情報収 集メッセージを送信する工程と、前記決定された前記ノード装置の全部又は一部から 返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信 メッセージを受信する工程と、前記受信された返信メッセージに含まれる返答情報と 、前記受信された情報収集メッセージに対する自己の返答情報と、に基づいて新た な返答情報を生成する工程と、前記生成された新たな返信情報を含む返信メッセ一 ジを前記第 1のノード装置に返信する工程と、を備えることを特徴とする。
発明の効果
[0025] 本発明によれば、 1のノード装置は、他のノード装置力も送信されてきた、自己が属 する前記グループに対する情報収集メッセージを受信し、自己が属する前記グルー プが所定の規則に従ってさらに複数のグループに分けられている場合には、当該さ らに分けられている各前記グループに属する一の前記ノード装置を決定し、当該決 定された全ての前記ノード装置に前記受信された情報収集メッセージを送信する。 そして、当該 1のノード装置は、上記決定された前記ノード装置の全部又は一部から 返信されてきた、前記受信された情報収集メッセージに対する返答情報を含む返信 メッセージを受信し、前記受信された返信メッセージに含まれる返答情報と、前記受 信された情報収集メッセージに対する自己の返答情報と、に基づいて新たな返答情 報を生成し、前記生成された新たな返答情報を含む返信メッセージを前記他のノー ド装置に返信するように構成したので、管理サーバ等を用いずに複数のノード装置 に対してより効率良く情報収集メッセージを送信し、且つ、ネットワークに与える負荷 を抑えつつ当該複数のノード装置力もの返答をより効率良く収集することができる。 図面の簡単な説明
[0026] [図 1]本実施形態に係る情報通信システムにおける各ノード装置の接続態様の一例 を示す図である。
[図 2]ルーティングテーブルが作成される様子の一例を示す図である。
[図 3]ルーティングテーブルの一例を示す図である。
[図 4]ノードの概要構成例を示す図である。
[図 5]ノード Xが保持するルーティングテーブルの一例である。
[図 6]情報収集メッセージを模式的に表した図である。 [図 7]DHTマルチキャストが行われる様子を示す図である。
[図 8]DHTマルチキャストが行われる様子を示す図である。
[図 9]DHTマルチキャストが行われる様子を示す図である。
[図 10]DHTマルチキャストが行われる様子を示す図である。
[図 11]返信メッセージ力 下流のノードから上流のノードに順次返信されていく様子 を示す図である。
[図 12]情報収集メッセージの送信元のノードにおける処理を示すフローチャートであ る。
[図 13]DHTマルチキャスト処理の詳細を示すフローチャートである。
[図 14]情報収集メッセージを受信したノードにおける処理を示すフローチャートである
[図 15]返信メッセージ送信処理の詳細を示すフローチャートである。
[図 16]返答集計処理の詳細を示すフローチャートである。
[図 17]変形形態における DHTマルチキャスト処理の詳細を示すフローチャートであ る。
[図 18]変形形態における DHTマルチキャスト処理の詳細を示すフローチャートであ る。
[図 19]変形形態における情報収集メッセージを受信したノードにおける処理を示すフ ローチャートである。 符号の説明
A〜Z ノード
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 ノ ッファメモリ
14 デコーダ部
15 映像処理部 16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
S 情報通信システム
発明を実施するための最良の形態
[0028] 以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明す る実施の形態は、 DHT (Distributed Hash Table)を利用して各種情報をノード装置 に送信する情報通信システムに本発明を適用した場合の実施形態である。
[1.情報通信システムの構成等]
始めに、図 1を参照して、情報通信システムの概要構成等について説明する。
[0029] 図 1は、本実施形態に係る情報通信システムにおける各ノード装置の接続態様の 一例を示す図である。
[0030] 図 1の下部枠 101内に示すように、 IX (Internet eXchange) 3、 ISP (Internet Service
Provider) 4、 DSL (Digital Subscriber Line)回線事業者(の装置) 5、 FTTH (Fiber To The Home)回線事業者 (の装置) 6、および通信回線 (例えば、電話回線ゃ光ケ 一ブル等) 7等によって、インターネット等のネットワーク(現実世界のネットワーク) 8が 構築されている。なお、図 1の例におけるネットワーク(通信ネットワーク) 8には、メッ セージ (パケット)を転送するためのルータ力 適宜挿入されているが図示を省略して いる。
[0031] 情報通信システム Sは、このようなネットワーク 8を介して相互に接続された複数のノ ード装置(以下、「ノード」という) A, B, C - - -X, Υ, Ζ · · ·を備えて構成されることにな り、ピアツーピア方式のネットワークシステムとなっている。各ノード A, B, C - - -X, Y , Ζ· · ·には、固有の製造番号および宛先情報としての IP (Internet Protocol)アドレス が割り当てられている。このような製造番号および IPアドレスは、複数のノード間で重 複しないものである。 [0032] 次に、本実施形態に係る分散ハッシュテーブル (以下、「DHT」と 、う)を利用した アルゴリズムにつ 、て説明する。
[0033] 上述した情報通信システム Sにおいて、当該ノード同士が、互いに情報をやり取り する際には、お互いの IPアドレス等を知っていなければならない。
[0034] 例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク 8に参加し て!、る各ノードが互いにネットワーク 8に参加して!/、る全てのノードの IPアドレスを知つ ておくのが単純な手法である力 端末数が何万何十万と多数になると、その全てのノ ードの IPアドレスを覚えておくのは現実的ではない。また、任意のノードの電源が ON 或いは OFFとすると、各ノードにて記憶している当該任意のノードの IPアドレスの更 新が頻繁になり、運用上困難となる。
[0035] そこで、 1台のノードでは、ネットワーク 8に参加している全てのノードのうち、必要最 低限のノードの IPアドレスだけを覚えて(記憶して)ぉ 、て、 IPアドレスを知らな ヽ(記 憶して!/ヽな 、)ノードにっ 、ては、各ノード間で互いに情報を転送し合って届けてもら うと 、うシステムが考案されて 、る。
[0036] このようなシステムの一例として、 DHTを利用したアルゴリズムによって、図 1の上部 枠 100内に示すような、オーバーレイネットワーク 9が構築されることになる。つまり、こ のオーバーレイネットワーク 9は、既存のネットワーク 8を用いて形成された仮想的なリ ンクを構成するネットワークを意味する。
[0037] 本実施形態においては、 DHTを利用したアルゴリズムによって構築されたオーバ 一レイネットワーク 9を前提としており、このオーバーレイネットワーク 9上に配置された ノードを、オーバーレイネットワーク 9に参加しているノードという。なお、オーバーレイ ネットワーク 9への参カ卩は、未だ参カ卩していないノード力 既に参カ卩している任意のノ ードに対して参カ卩要求を送ることによって行われる。
[0038] また、各ノードは、固有の識別情報としてのノード IDを有しており、当該ノード IDは 、例えば、 IPアドレスあるいは製造番号を共通のハッシュ関数 (例えば、 SHA— 1等) によりハッシュ化して得たハッシュ値であり、一つの ID空間に偏りなく分散して配置さ れることになる。このノード IDは、ノードの最大運用台数を収容できるだけの bit数を 持たせる必要がある。例えば、 128bitの番号とすれば、 2" 128 = 340 X 10"36台のノ ードを運用できる。
[0039] このように共通のハッシュ関数により求められたノード IDは、当該 IPアドレスあるい は製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ 関数につ!、ては公知であるので詳 U、説明を省略する。
[0040] 次に、図 2及び図 3を参照して、 DHTの内容であるルーティングテーブルの作成手 法の一例について説明する。
[0041] 図 2は、ルーティングテーブルが作成される様子の一例を示す図であり、図 3は、ル 一ティングテーブルの一例を示す図である。
[0042] 各ノードに付与されたノード IDは、共通のハッシュ関数によって生成したため、図 2
(A)乃至図 2 (C)に示す如ぐ同一のリング状の ID空間上にさほど偏ることなぐ散ら ばって存在するものとして考えることができる。同図は 8bitでノード IDを付与し、図示 したものである。図中黒点はノード IDを示し、反時計回りで IDが増加するものとする。
[0043] 先ず、図 2 (A)に示す如ぐ ID空間が、所定の規則に従って幾つかのグループとし てのエリアに分割される(分けられる)。実際には、 16分割程度が良く用いられるが、 説明を簡単にするためここでは 4分割とし、 IDをビット長 8Bitの 4進数で表すこととし た。そして、ノード Nのノード IDを「1023」とし、このノード Nのルーティングテーブルを 作る例について説明する。
(レベル 1のルーティング)
ID空間を 4分割とすると、それぞれのエリアは 4進数で表すと最大桁が異なる 4つの エリア「0XXX」、「1XXX」、「2XXX」、「3XXX」(Xは 0から 3の整数、以下同様。)で分 けられる。ノード Nは、当該ノード N自身のノード IDが「1023」であるため、図中左下「1 XXX」のエリアに存在することになる。そして、ノード Nは、自分の存在するエリア(す なわち、「1XXX」のエリア)以外のエリアに存在する各ノードを適当に選択し、当該ノ ード IDの IPアドレス等(実際には、ポート番号も含まれる、以下同様)をレベル 1のテ 一ブルにおける各欄 (テーブルエントリー)に登録 (記憶)する。図 3 (A)がレベル 1の テーブルの一例である。なお、レベル 1のテーブルにおける 2列目の欄は、ノード N自 身を示して!/、るため、 IPアドレス等を登録する必要は無!、。
(レベル 2のルーティング) 次に、図 2 (B)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自分 の存在するエリアを更に 4分割し、更に 4つのエリア「10XX」、「11XX」、「12XX」、「13 XX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在する 各ノードを適当に選択し、当該ノード IDの IPアドレス等をレベル 2のテーブルにおけ る各欄(テーブルエントリー)に登録する。図 3 (B)がレベル 2のテーブルの一例であ る。なお、レベル 2のテーブルにおける 1列目の欄は、ノード N自身を示しているため 、 IPアドレス等を登録する必要は無い。
(レベル 3のルーティング)
更に、図 2 (C)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自分 の存在するエリアを更に 4分割し、更に 4つのエリア「100X」、「101X」、「102X」、「103 X」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在する各 ノードを適当に選択し、当該ノード IDの IPアドレス等をレベル 3のテーブルにおける 各欄(テーブルエントリー)に登録する。図 3 (C)がレベル 3のテーブルの一例である 。なお、レベル 3のテーブルにおける 3列目の欄は、ノード N自身を示しているため、 I pアドレス等を登録する必要は無ぐ 2列目及び 4列目の欄はそのエリアにノードが存 在しないため空白となる。
[0044] このようにして、レベル 4まで同様にルーティングテーブルが図 3 (D)に示す如く作 成されることにより、 8bitの ID全てを網羅することができる。レベルが上がる毎にテー ブルの中に空白が目立つようになる。
[0045] 以上説明した手法 (規則)に従って作成したルーティングテーブルを、全てのノード が夫々作成して所有することになる。このように、各ノードは、他のノードの宛先情報と しての IPアドレス等と、グループとしての、ノード ID空間のエリア、すなわち DHTの各 レベル及び各列と、を対応付けて記憶している。つまり、各ノードは、複数に分けられ た各エリアに属する一のノードの IPアドレス等を、夫々のエリアに対応付けて一の段 階 (レベル)として規定し、さらに自己が属するエリアが複数のエリアに分けられ、当該 分けられた各エリアに属する一のノードの IPアドレス等を、夫々のエリアに対応付け て次の段階 (レベル)として規定するルーティングテーブルを記憶して 、る。
[0046] なお、ノード IDの桁数に応じてレベルの数が決まり、進数の数に応じて図 3 (D)に おける各レベルの注目桁の数が決まる。具体的に、 16桁 16進数である場合には、 6 4bitの IDとなり、レベル 16で注目桁の(英)数字は 0〜fとなる。後述するルーティン グテーブルの説明にお 、ては、各レベルの注目桁の数を示す部分を単に「列」とも!/ヽ
[2.ノードの構成等]
次に、図 4を参照して、ノードの構成および機能について説明する。なお、各ノード 、それぞれが行う処理によって初めに情報 (メッセージ)を送信するノード、受信した 情報 (メッセージ)を転送するノード等として作用するが、その構成は同じである。
[0047] 図 4は、ノードの概要構成例を示す図である。
[0048] 各ノードは、図 4に示すように、演算機能を有する CPU,作業用 RAM,各種データ およびプログラムを記憶する ROM等力 構成されたコンピュータとしての制御部 11と 、コンテンツデータ、上記ルーティングテーブル及び各種プログラム等を記憶保存( 格納)するための HD等力も構成されたとしての記憶手段としての記憶部 12と、受信 されたコンテンツデータ等を一時蓄積するバッファメモリ 13と、コンテンツデータに含 まれるエンコードされたビデオデータ(映像情報)およびオーディオデータ (音声情報 )等をデコード (データ伸張や復号化等)するデコーダ部 14と、当該デコードされたビ デォデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部 15と、当該映像処理部 15から出力されたビデオ信号に基づき映像表示する CRT, 液晶ディスプレイ等の表示部 16と、上記デコードされたオーディオデータをアナログ オーディオ信号に D (Digital) /A (Analog)変換した後これをアンプにより増幅して出 力する音声処理部 17と、当該音声処理部 17から出力されたオーディオ信号を音波 として出力するスピーカ 18と、ネットワーク 8を通じて他のノードとの間の情報の通信 制御を行うための通信部 20と、ユーザ力 の指示を受け付け当該指示に応じた指示 信号を制御部 11に対して与える入力部(例えば、キーボード、マウス、或いは、操作 パネル等) 21と、を備えて構成され、制御部 11、記憶部 12、バッファメモリ 13、デコ ーダ部 14および通信部 20はバス 22を介して相互に接続されている。
[0049] そして、制御部 11は、 CPUが記憶部 12 (本発明の記録媒体)に記憶された各種プ ログラム (ノード処理プログラムを含む)を実行することにより、ノード全体を統括制御 するようになっており、また、情報収集メッセージ送信手段、情報収集メッセージ受信 手段、返信メッセージ受信手段、返答情報生成手段、返信メッセージ返信手段等とし て機能し、後述する処理を行うようになっている。
[0050] なお、上記ノード処理プログラムは、例えば、ネットワーク 8上の所定のサーバからダ ゥンロードされるようにしてもよいし、例えば、 CD— ROM等の記録媒体に記録されて 当該記録媒体のドライブを介して読み込まれるようにしてもょ ヽ。
[3.情報通信システムの動作]
次に、以上のような情報通信システム Sの構成において、上記 DHTを利用したマル チキャスト(以下、「DHTマルチキャスト」という)により、オーバーレイネットワーク 9に 参加している一のノード Xから送出された情報収集メッセージが他の全てのノードに 配信され、上記ノード Xが当該情報収集メッセージに対する返答情報 (返信メッセ一 ジにより)を収集する場合の動作例を説明する。
[0051] (3. 1.情報収集メッセージのマルチキャスト)
先ず、図 5乃至図 10を参照して、情報収集メッセージの DHTマルチキャストについ て説明する。
[0052] 図 5は、ノード Xが保持するルーティングテーブルの一例であり、図 6は、情報収集メ ッセージを模式的に表した図であり、図 7乃至図 10は、 DHTマルチキャストが行われ る様子を示す図である。
[0053] なお、ノード Xは、図 5に示すようなルーティングテーブルを保持しているものとし、 当該ルーティングテーブルのレベル 1〜4の各エリアに対応する欄には、ノード A〜ノ ード Iの何れかのノードのノード ID (4桁 4進数)及び IPアドレス等が記憶されて 、るも のとする。
[0054] また、情報収集メッセージは、図 6 (A)に示すように、ヘッダ部とペイロード部力も構 成されるパケットからなり、ヘッダ部には、ターゲットノード ID、レベルを示すグループ 特定値としての IDマスク、及びターゲットノード IDに対応するノードの IPアドレス等( 図示せず)が含まれており、ペイロード部には、メッセージを識別するための識別情 報としてのユニーク ID (情報収集メッセージと返信メッセージの組毎に固有の ID)、 収集内容等を含む主情報が含まれている。なお、収集内容としては、例えば、ォー バーレイネットワーク 9への参加ノード数の集計、コンテンツの視聴者数の集計、特定 のコンテンツの瞬間視聴率の集計、所定のアンケートの集計等が挙げられ、かかる集 計を行うための条件や各ノードに実行させる命令等も、当該収集内容に含まれる。
[0055] ここで、ターゲットノード IDと IDマスクとの関係について詳しく説明する。
[0056] ターゲットノード IDは、ノード IDと同等の桁数であり(図 5の例では、 4桁 4進数)、送 信先ターゲットとなるノードを設定するものであり、 IDマスクの値に応じて、例えば、情 報収集メッセージを送信又は転送するノードのノード IDとしたり、送信先のノードのノ ード IDとする。
[0057] また、 IDマスクは、ターゲットノード IDの有効桁数を指定するものであり、有効桁数 により、ターゲットノード IDにおける上位力 有効桁数分が共通するノード IDが示さ れる。具体的には、 IDマスク (IDマスクの値)は、 0以上ノード IDの最大桁数以下の 整数となり、例えば、ノード IDが 4桁 4進数の場合、 0〜4までの整数となる。
[0058] 例えば、図 6 (B)〖こ示すように、ターゲットノード IDが「2132」であり、 IDマスクの値 力 S「4」の場合には、ターゲットノード IDの「4」桁全てが有効であり、ノード IDが「2132 」であるノードのみが情報収集メッセージの送信先ターゲットとなる。
[0059] また、図 6 (C)に示すように、ターゲットノード IDが「3301」であり、 IDマスクの値が「 2」の場合には、ターゲットノード IDの上位「2」が有効であり(ノード IDが「33 * *」) 上位二桁が「33」である(下位 2桁はどのような値でも良い)ルーティングテーブル上 の全てのノードが情報収集メッセージの送信先ターゲットとなる。
[0060] 更に、図 6 (D)に示すように、ターゲットノード IDが「1220」であり、 IDマスクの値が「 0」の場合には、ターゲットノード IDの上位「0」桁が有効、すなわち、いずれの桁もど のような値であっても良く(そのため、このときのターゲットノード IDは、どのような値で あってもよいことになる。)、ルーティングテーブル上の全てのノードが情報収集メッセ ージの送信先ターゲットとなる。
[0061] そして、ノード IDを 4桁 4進数とした場合、ノード Xから送出される情報収集メッセ一 ジの DHTマルチキャストは、図 7乃至図 10に示すように、第 1段階から第 4段階まで のステップで行われる。
[0062] (第 1段階) 先ず、ノード Xは、ヘッダ部におけるターゲットノード IDを自己(自ノード)のノード ID 「3102」とし、 IDマスクを「0」として、当該ヘッダ部及びペイロード部を含む情報収集 メッセージを生成する。そして、図 7 (A)、(B)に示すように、ノード Xは、図 5に示すル 一ティングテーブルを参照し、 IDマスク「0」に 1をカ卩算した(足した)レベル「1」のテー ブルにおける各欄に登録された (つまり、各グループとしての各エリアに属する)各ノ ード (ノード A, B, C)に対して情報収集メッセージを送信する。
[0063] (第 2段階)
次に、ノード Xは、上記情報収集メッセージのヘッダ部における IDマスク「0」を「1」 に変換した情報収集メッセージを生成する。なお、ターゲットノード IDは自己のノード IDであるため、変更されない。そして、ノード Xは、図 5に示すルーティングテーブル を参照し、図 8 (A)のノード ID空間の右上のエリア及び図 8 (B)に示すように、 IDマス ク「1」に 1を加算したレベル「2」のテーブルにおける各欄に登録された各ノード (ノー ド D, E, F)に対して当該情報収集メッセージを送信する。
[0064] 一方、第 1段階において、ノード Xから情報収集メッセージ(自己が属するエリアに 対する情報収集メッセージ)を受信したノード Aは、当該情報収集メッセージのヘッダ 部における IDマスク「0」を「1」に変換し、且つ、ターゲットノード ID「3102」を自己の ノード ID「0132」に変換した情報収集メッセージを生成する。そして、ノード Aは、図 示しな ヽ自己のルーティングテーブルを参照し、図 8 (A)のノード ID空間の左上のェ リア及び図 8 (B)に示すように、 IDマスク「1」に 1をカ卩算したレベル「2」のテーブルに おける各欄に登録された各ノード (ノード Al, A2, A3)に対して当該情報収集メッセ ージを送信する。つまり、ノード Aは、自己が属するエリア「0XXX」がさらに複数のエリ ァ(「00XX」、「01XX」、「02XX」、「03XX」)に分けられている場合には、当該さらに分 けられている各エリアに属する一のノード (ノード Al, A2, A3)を決定し、当該決定さ れた全てのノード (ノード Al, A2, A3)に受信された情報収集メッセージを送信する (以下、同様)。
[0065] 同様にして、図 8 (A)のノード ID空間の左下及び右下のエリア及び図 8 (B)に示す ように、第 1段階において、ノード Xから情報収集メッセージを受信したノード B及びノ ード Cも、夫々、自己のルーティングテーブルを参照し、レベル 2のテーブルにおける 各欄に登録された各ノード(ノード Bl, B2, B3, CI, C2, C3)に対して、 IDマスクを 「1」とし、且つ、自己のノード IDをターゲットノード IDとした情報収集メッセージを生成 し、これを送信する。
[0066] (第 3段階)
次に、ノード Xは、上記情報収集メッセージのヘッダ部における IDマスク「1」を「2」 に変換した情報収集メッセージを生成する。なお、上記と同様、ターゲットノード IDは 変更されない。そして、ノード Xは、図 5に示すルーティングテーブルを参照し、図 9 ( A)のノード ID空間の右上のエリア及び図 9 (B)に示すように、 IDマスク「2」に 1をカロ 算したレベル「3」のテーブルにおける各欄に登録された各ノード (ノード G, H)に対 して当該情報収集メッセージを送信する。
[0067] 一方、第 2段階にぉ 、て、ノード Xから情報収集メッセージを受信したノード Dは、当 該情報収集メッセージのヘッダ部における IDマスク「1」を「2」に変換し、且つ、ター ゲットノード ID「3102」を自己のノード ID「3001」に変換した情報収集メッセージを生 成する。そして、ノード Dは、自己のルーティングテーブルを参照し、図 9 (B)に示す ように、 IDマスク「2」に 1を加算したレベル「3」のテーブルにおける各欄に登録された 各ノード (ノード Dl, D2, D3)に対して当該情報収集メッセージを送信する。
[0068] 同様にして、図示しな 、が、第 2段階にぉ 、て、情報収集メッセージを受信したノー ド Έ, F, Al, A2, A3, Bl, B2, B3, CI, C2, C3も、夫々、 自己のルーティングテ 一ブルを参照し、レベル 3のテーブルにおける各欄に登録された各ノード(図示せず )に対して、 IDマスクを「2」とし、且つ、自己のノード IDをターゲットノード IDとした情 報収集メッセージを生成し、これを送信する。
[0069] (第 4段階)
次に、ノード Xは、上記情報収集メッセージのヘッダ部における IDマスク「2」を「3」 に変換した情報収集メッセージを生成する。なお、上記と同様、ターゲットノード IDは 変更されない。そして、ノード Xは、図 5に示すルーティングテーブルを参照し、図 10 (A)のノード ID空間の右上のエリア及び図 10 (B)に示すように、 IDマスク「3」に 1を 加算したレベル「4」のテーブルにおける各欄に登録されたノード Iに対して当該情報 収集メッセージを送信する。 [0070] 一方、第 3段階にぉ 、て、ノード Xから情報収集メッセージを受信したノード Gは、当 該情報収集メッセージのヘッダ部における IDマスク「2」を「3」に変換し、且つ、ター ゲットノード ID「3102」を自己のノード ID「3123」に変換した情報収集メッセージを生 成する。そして、ノード Gは、 自己のルーティングテーブルを参照し、図 10 (B)に示す ように、 IDマスク「3」に 1を加算したレベル「4」のテーブルにおける各欄に登録された ノード G 1に対して当該情報収集メッセージを送信する。
[0071] 同様にして、図示しな 、が、第 3段階にぉ 、て、情報収集メッセージを受信した各ノ ードも、自己のルーティングテーブルを参照し、レベル 4のテーブルにおける各欄に 登録された各ノードに対して、 IDマスクを「3」とし、且つ、自己のノード IDをターゲット ノード IDとした情報収集メッセージを生成し、これを送信する。
[0072] (最終段階)
最後に、ノード Xは、上記情報収集メッセージのヘッダ部における IDマスク「3」を「4 」に変換した情報収集メッセージを生成する。そうすると、ターゲットノード IDと IDマス タカ 、当該情報収集メッセージが自己(自ノード)宛であることを認識し、送信処理を 終了する。
[0073] 一方、第 4段階において、情報収集メッセージを受信した各ノード 1も、当該情報収 集メッセージのヘッダ部における IDマスク「3」を「4」に変換した情報収集メッセージ を生成する。そうすると、ターゲットノード IDと IDマスクから、当該情報収集メッセージ が自己(自ノード)宛であることを認識し、送信処理を終了する。
[0074] なお、情報収集メッセージのペイロード部に含まれるユニーク IDは、各情報収集メ ッセージ毎に固有に付与される IDであり、例えばノード Xから送出された一のメッセ ージが転送され最後のノードに至るまで、当該 IDは変わらない。また、情報収集メッ セージに応じて、各ノードから返信される返信メッセージにも、元となった情報収集メ ッセージと同一のユニーク IDが付与される。
[0075] (3. 2.情報収集メッセージに対する返答情報の収集)
次に、図 11を参照して、返信メッセージの収集について説明する。
[0076] 図 11は、返信メッセージが、下流のノード力も上流のノードに順次返信されていく 様子を示す図である。 [0077] 上記情報収集メッセージを受信した全てのノードは、当該情報収集メッセージに対 する返答情報を生成し、当該返答情報を含む返信メッセージを、上流のノード、つま り、当該情報収集メッセージを送信したノード (情報収集メッセージのターゲットノード IDに対応するノード)に対して返信する。このとき、下流のノード、つまり、自己が情報 収集メッセージを送信した相手のノードから返信された返信メッセージを受信してい た場合には、受信された返信メッセージに含まれる返答情報と、自己の返答情報と、 に基づ!/、て新たな返答情報を生成 (例えば、受信された返信メッセージに含まれる 返答情報にて示される値 (例えば集計結果)と、自己の返答情報にて示される値 (例 えば集計結果)と、魏計して返答情報を生成)し、当該生成された新たな返答情報 を含む返信メッセージを、上流のノードに対して返信することになる。
[0078] 図 11の例では、下流のノード力 上流のノードに返信されていく経路上における各 ノードにおいて、何らかの情報(例えば、オーバーレイネットワーク 9への参加ノード数 )が集計 (この場合、オーバーレイネットワーク 9に参加しているノードは、下流からの 集計結果 Rに「1」を加算)され、その集計結果 Rが返答情報となっている。
[0079] また、各ノードは、受信した情報収集メッセージに含まれるユニーク IDを、これに対 応する返信メッセージに含ませて、当該返信メッセージを返信することになる。これに より、他の収集結果 (集計結果)と区別することができる。
[0080] こうして、情報収集メッセージの送信元であるノード Xは、オーバーレイネットワーク 9 に参加している全てのノードから情報収集メッセージに対する返答情報を収集するの である。
[0081] (3. 3.各ノードにおける処理)
次に、図 12乃至図 16を参照して、上述した情報通信システム Sの動作において、 各ノードの制御部 11より実行される処理について詳しく説明する。
[0082] 図 12は、情報収集メッセージの送信元のノードにおける処理を示すフローチャート であり、図 13は、図 12における DHTマルチキャスト処理の詳細を示すフローチヤ一 トである。また、図 14は、情報収集メッセージを受信したノードにおける処理を示すフ ローチャートであり、図 は、図 14における返信メッセージ送信処理の詳細を示すフ ローチャートであり、図 16は、図 12又は図 15における返答集計処理の詳細を示すフ ローチャートである。
[0083] なお、オーバーレイネットワーク 9に参加している各ノードは、稼働(すなわち、電源 が入れられ、各種設定を初期化している)し、ユーザ力もの入力部 21を介した指示待 機、及び他のノードからのネットワーク 8を介したメッセージの受信待機状態にあるも のとする。
[0084] 例えば、図 12に示す処理は、任意のノード Xにおいて、ユーザからの入力部 21を 介した情報収集メッセージ送信指示の入力により開始され、先ず、ノード Xの制御部 11は、固有のユニーク IDと、収集内容とを取得し、当該取得したユニーク ID及び収 集内容をペイロード部に含む情報収集メッセージを生成する (ステップ Sl)。
[0085] ここで、ユニーク IDは、オーバーレイネットワーク 9全体として過去に使用されていな い番号を使用する必要があるので、例えば、 自己の製造番号に所定値を加えた値を 上述した共通のハッシュ関数によりハッシュ化して得たハッシュ値をユニーク IDとする 。或いは、メッセージのユニーク IDを管理する管理サーバを用意しておき、各ノード は、当該管理サーバに接続して、重複しないユニーク ID (この場合、当該ユニーク ID は、ノ、ッシュ値ではぐ所定値 (例えば、 1)ずつ増していくシリアル番号であっても良 V、)を取得するようにしても良 、。
[0086] また、収集内容は、予めユーザにより任意に選択又は設定され、記憶部 12に記憶 されるようにしておく。
[0087] 次いで、ノード Xの制御部 11は、 DHTマルチキャスト処理を開始する(ステップ S2)
[0088] 当該 DHTマルチキャスト処理においては、図 13に示すように、ノード Xの制御部 1 1は、上記生成した情報収集メッセージのヘッダ部におけるターゲットノード IDとして 自己のノード ID「3102」を設定し、 IDマスクとして「0」を設定し、 IPアドレスとして自己 の IPアドレスを設定する(ステップ S 11)。
[0089] 次いで、当該制御部 11は、上記設定した IDマスクの値力 自己のルーティングテ 一ブルの全レベル数(図 5の例では、「4」 )よりも小さ!/、か否かを判断する(ステップ S 12)。
[0090] このとき、 IDマスクに「0」が設定されて!、るので、ルーティングテーブルの全レベル 数よりも小さいため、当該制御部 11は、 IDマスクがルーティングテーブルの全レベル 数よりも小さいと判断し (ステップ S12 : YES)、自己のルーティングテーブルにおける 「上記設定した IDマスク + 1」のレベルに登録されている全てのノードを決定し (つまり 、ノード Xが属するエリアがさらに複数のエリアに分けられているので、当該さらに分 けられている各エリアに属する一のノードが決定される)、当該決定したノードに対し て上記生成した情報収集メッセージを送信する (ステップ S 13)。
[0091] 例えば、図 5の例では、「IDマスク「0」 + 1」であるレベル 1に登録されたノード A、ノ 一 B、及びノード Cに対して情報収集メッセージが送信されることになる。
[0092] 次いで、当該制御部 11は、上記情報収集メッセージのヘッダ部において設定され た IDマスクの値に「1」を加算して当該 IDマスクを再設定し (ステップ S14)、ステップ S12に戻る。
[0093] その後、当該制御部 11は、 IDマスク「1」, 「2」, 「3」について同様にステップ S12 〜S14の処理を繰り返す。これ〖こより、上記情報収集メッセージは、自己のルーティ ングテーブルに登録されている全てのノードに送信されることになる。
[0094] 一方、ステップ S12において、 IDマスクの値が、自己のルーティングテーブルの全 レベル数よりも小さくないと判断された場合(図 5の例では、 IDマスクの値が「4」の場 合)には、上記図 12に示す処理に戻る。
[0095] 次に、上記のように送信された情報収集メッセージを受信した各ノードは、当該情 報収集メッセージを記憶し、図 14に示す処理を開始する。ここでは、ノード Aを例にと つて説明する。
[0096] 図 14に示す処理が開始されると、ノード Aの制御部 11は、自己のノード IDが、受信 した情報収集メッセージのヘッダ部におけるターゲットノード ID及び IDマスクにより特 定されるターゲットに含まれるカゝ否かを判断する (ステップ S21)。
[0097] ここで、ターゲットとは、ターゲットノード IDにおいて、 IDマスクの値に該当する上位 桁が共通するノード IDを示し、例えば、 IDマスクが「0」であれば、全てのノード IDが ターゲットに含まれ、 IDマスク力 「2」でターゲットノード IDが「3102」であれば、上位「 2」桁が「31」となる「31 * *」(* *はどのような値でも良い)のノード IDがターゲット に含まれることとなる。 [0098] ノード Aが受信した情報収集メッセージのヘッダ部における IDマスクは「0」であり、 有効桁数が指定されていないので、ノード Aの制御部 11は、 自己のノード ID「0132 」がターゲットに含まれると判断し (ステップ S21: YES)、当該情報収集メッセージの ヘッダ部におけるターゲットノード IDを、 自己のノード ID「0132」に変換設定する (ス テツプ S22)。
[0099] 次いで、当該制御部 11は、上記情報収集メッセージのヘッダ部における IDマスク の値に「1」を加算して当該 IDマスクを再設定 (ここでは、「0」から「1」に変換 (一のレ ベルを示す IDマスクを次のレベルを示す IDマスクに変えて) )する(ステップ S 23)。
[0100] 次いで、当該制御部 11は、上記再設定した IDマスクの値力 自己のルーティング テーブルの全レベル数よりも小さ 、か否かを判断する(ステップ S24)。
[0101] このとき、 IDマスクに「1」が設定されているので、ルーティングテーブルの全レベル 数よりも小さいため、当該制御部 11は、 IDマスクがルーティングテーブルの全レベル 数よりも小さいと判断し (ステップ S24 : YES)、自己のルーティングテーブルにおける 「上記再設定した IDマスク + 1」のレベルに登録されている全てのノードを決定し (つ まり、ノード Aが属するエリアがさらに複数のエリアに分けられているので、当該さらに 分けられている各エリアに属する一のノードが決定される)、当該決定したノードに対 して上記生成した情報収集メッセージを送信し (ステップ S 25)、ステップ S23に戻る
[0102] 例えば、「IDマスク「1」 + 1」であるレベル 2に登録されたノード Al、ノード A2、及び ノード A3に対して情報収集メッセージが送信されることになる。
[0103] その後、当該制御部 11は、 IDマスク「2」, 「3」について同様にステップ S24及び S 25の処理を繰り返す。これにより、上記情報収集メッセージは、 自己のルーティング テーブルに登録されている全てのノードに送信されることになる。
[0104] 一方、上記ステップ S21において、当該制御部 11は、 自己のノード IDが、受信した 情報収集メッセージのヘッダ部におけるターゲットノード ID及び IDマスクにより特定さ れるターゲットに含まれないと判断した場合には (ステップ S21: NO)、ルーティング テーブル中で、当該ターゲットノード IDと上位桁から一致する桁数が最も多 ソード に対して上記受信した情報収集メッセージを送信 (転送)し (ステップ S27)、当該処 理を終了する。
[0105] 例えば、 IDマスクが「2」でターゲットノード IDが「3102」であったとすると、ノード A のノード ID「0132」は、ターゲット「31 * *」に含まれないと判断される。なお、ステツ プ S27の転送処理は、通常の DHTのルーティングテーブルを用いたメッセージの転 送である。
[0106] 一方、上記ステップ S24において、当該制御部 11は、 IDマスクの値が、自己のル 一ティングテーブルの全レベル数よりも小さくな 、と判断した場合には (ステップ S24 : NO)、返信メッセージ送信処理を開始する (ステップ S26)。
[0107] 当該返信メッセージ送信処理においては、図 15に示すように、ノード Aの制御部 11 は、返答情報を生成するための返答集計処理を行う(ステップ S31)。
[0108] 当該返答集計処理においては、図 16に示すように、ノード Aの制御部 11は、集計 結果 R (変数)を「0」に初期化し (ステップ S41)、上記受信した情報収集メッセージの ペイロード部における収集内容に含まれる条件を満たしているカゝ否かを判断する (ス テツプ S42)。
[0109] ここで、当該収集内容力 オーバーレイネットワーク 9への参加ノード数の集計であ る場合、その条件は「情報収集メッセージを受信すること」となっており、すなわち、当 該情報収集メッセージを受信した全てのノードが当該条件を満たすことになる。
[0110] また、当該収集内容が、コンテンツの視聴者数の集計である場合、その条件は「コ ンテンッデータを再生していること」となっており、何らかのコンテンツの再生中である ノードが当該条件を満たすことになる。
[0111] また、当該収集内容が、特定のコンテンツの瞬間視聴率の集計である場合、その条 件は「特定のコンテンツデータ(例えば、コンテンツ名やコンテンツ IDで示される)を 再生していること」となっており、当該特定のコンテンツの再生中であるノードが当該 条件を満たすことになる。
[0112] また、当該収集内容力 「はい」又は「いいえ」を答える所定のアンケート(当該アン ケートは表示部 16に表示される)の集計である場合には、その条件は「ユーザからの 入力部 21を介した選択力 ^はい」(又は「いいえ」)であること」となっており、ユーザが 入力部 21を操作して例えば「はい」を選択したノードが当該条件を満たすことになる [0113] そして、当該制御部 11は、力かる収集内容に含まれる条件を満たしていると判断し た場合には (ステップ S42 :YES)、上記集計結果 Rを「1」とする(ステップ S43)。一 方、力かる収集内容に含まれる条件が満たされていない場合 (ステップ S42 : NO)、 集計結果 Rは「0」のままとなる。
[0114] 次いで、当該制御部 11は、他のノードから、集計結果 Rが含まれる返信メッセージ ( 自己が上記情報収集メッセージを送信した相手先となる下流のノードからの返信メッ セージ)を受信した力否かを判別し (ステップ S44)、受信した場合には (ステップ S44 : Y)、当該受信した返信メッセージに含まれるユニーク ID力 現在行っている処理の 対象となっている上記受信した情報収集メッセージに含まれるユニーク IDと一致する か否かを判断する (ステップ S45)。
[0115] そして、当該制御部 11は、上記ユニーク IDがー致すると判断した場合には (ステツ プ S45 :YES)、上記ステップ S43における自己の集計結果 R「l」に、当該受信した 返信メッセージに含まれる集計結果 Rを加算する(足し合わせる)(ステップ S46)。
[0116] 次いで、当該制御部 11は、受信タイムアウトになったか否力 (つまり、設定された受 信タイムアウト値を超えた力否力 )を判断し (ステップ S47)、受信タイムアウトになって いない場合には(ステップ S47 :NO)、ステップ S44に戻り、ステップ S44〜S46の処 理を、受信タイムアウトになるまで繰り返す。
[0117] そして、受信タイムアウトになった場合には (ステップ S47 : YES)、最終的に得られ た集計結果 Rを返答情報とし、図 15に示す処理に戻る。つまり、所定時間としての受 信タイムアウト内に返信された返信メッセージに含まれる返答情報と、自己の返答情 報と、に基づいて新たな返答情報が生成されることになる。従って、所定時間後に返 つてきた返信メッセージに含まれる返答情報を無視することができるので、上流のノ ードに対して迅速に返答を返すことができる。
[0118] ここで、受信タイムアウト値は、転送経路の上流ほど長く(上流のノードに 、くに従つ て次第に長く)設定されることが望ましい。例えば、最下流のノードの受信タイムアウト 値を Tl、その 1つ上流のノードの受信タイムアウト値を Τ2、その 2つ上流のノードの 受信タイムアウト値を Τ3とすると、 Τ1 <Τ2 (例えば、 2 ΧΤ1) <Τ3 (例えば、 3 XT1) と設定されると良い。転送経路中のどの位置にあるかは、例えば情報収集メッセージ における IDマスク力も判断され、この IDマスクの値が大きい場合(例えば、「3」)には 、 自己のノードは下流に位置することになるので、受信タイムアウト値を小さく(例えば 、 I X T1)設定され、この IDマスクの値が小さい場合 (例えば、「0」)には、自己のノ ードは上流に位置することになるので、受信タイムアウト値が大きく(例えば、 3 XT1) 設定される(なお、当該設定は、例えば上記ステップ S41において行われる)。このよ うに構成することで、上流のノードでは、下流のノードからの返信メッセージの待機時 間を十分に確保し、且つ、下流のノードでは、無駄な当該待機時間を削減することが できる。
[0119] こうして当該返答集計処理が終了し、図 15に示す処理に戻ると、当該制御部 11は 、上記生成された返答情報としての集計結果 R及び上記情報収集メッセージに含ま れて 、るユニーク IDを含む返信メッセージを生成する(ステップ S32)。
[0120] 次いで、当該制御部 11は、当該生成した返信メッセージを、上記情報収集メッセ一 ジに含まれる IPアドレス等にしたがって、上流のノード(当該情報収集メッセージを送 信したノード)に対して送信 (返信)し (ステップ S33)、当該処理を終了する。こうして 返信された返信メッセージは、上流のノードにお!、て行われて 、る上記ステップ S44 で受信判断されることになる。
[0121] 一方、情報収集メッセージの送信元でありノード Xにおいても、図 12に示す DHTマ ルチキャスト処理の終了後、図 16に示す返答集計処理が実行され (ステップ S3)、か かる返答集計処理にぉ ヽて最終的に得られた集計結果 Rは、各返信メッセージに含 まれる集計結果 Rが反映されたものとなる。
[0122] そして、当該ノード Xの制御部 11は、当該最終的に得られた集計結果 Rを記憶部 1 2にログとして記憶保存し、例えば表示部 16に表示、或いはスピーカ 18から音声出 力することによって、当該ノード Xのユーザに通知し (ステップ S4)、当該処理を終了 する。こうして、当該ノード Xのユーザ (管理者等)は、集計結果 Rを閲覧することがで きる。また、当該集計結果 Rは、例えば視聴率や、様々な分析等に使用されることと なる。
[0123] 以上説明したように、上記実施形態によれば、オーバーレイネットワーク 9に参加し ている 1のノードが他の全てのノードに対して上述した DHTマルチキャスト処理により 情報収集メッセージを送信するようにしたので、管理サーバ等を用いずに、基本的に はオーバーレイネットワーク 9に参加している他の全てのノードに対して、より効率良く 情報収集メッセージを送信でき、さらに、情報収集メッセージを受信した各ノードが、 上流のノードに対して返答情報を含む返信メッセージを返信 (DHTマルチキャストと は逆方向に返信メッセージを送信)するようにしたので、情報収集メッセージの送信 元のノードは、ネットワーク 8に与える負荷を抑えつつ、他の全てのノードからの返答 をより効率良く収集することができる。
[0124] なお、上記オーバーレイネットワーク 9に参加していない例えば管理用の特殊端末 は、 DHTマルチキャスト処理を行うことができないが、この場合、オーバーレイネット ワーク 9に参加している何れかのノードに上記処理を行わせて、その集計結果 Rを送 信 (通知)してもらえば良い。
[0125] また、上記実施形態にお!、ては、各ノードにおける 2択 (条件を満たす、又は満たさ ない)の集計結果 Rを返答情報としたが、 3択以上の集計結果を返答情報としても良 い。この場合、例えば、アンケートの 1番目を選択する場合は集計結果 R1に「1」をカロ 算し、アンケートの 2番目を選択する場合は集計結果 R2に「1」を加算し、アンケート の 3番目を選択する場合は集計結果 R3に「1」を加算して、集計結果 Rl、 R2及び R 3を含む返答情報を返信するように構成する。このように構成すれば、情報収集する ノードは、詳細な返答を得ることができる。
[0126] また、上記実施形態においては、集計結果を返答情報としたが、特に集計を行わ ずに、例えば、各ノードが何らかの情報を返答情報に含めるように構成しても良い。
[0127] (変形形態)
次に、上記実施形態においては、各ノードが、自己のルーティングテーブルに IPァ ドレスが記憶されて 、るノードのみに対して情報収集メッセージを送信するように構成 したが、ルーティングテーブルに IPアドレスが登録 (記憶)されていないノードに向け ても情報収集メッセージを送信する変形形態について、図 17乃至図 19を参照して 説明する。
[0128] オーバーレイネットワーク 9へのノードの参カロ、脱退が行われたとき、それがあるノー ドにおけるルーティングテーブルには、未だ反映されていないことも考えられる。この 場合、上述した DHTマルチキャストによっても、全てのノードに情報収集メッセージ が行き渡らない事態が生じる可能性がある。この変形形態では、このような事態が生 じても、オーバーレイネットワーク 9に参カ卩している全てのノードに情報収集メッセージ を送信することが可能となる。
[0129] なお、この変形形態において、上述した実施形態と同様の部分については、重複 する説明を省略する。
[0130] 上述した図 12、図 15、及び図 16に示す処理は、当該変形形態においても適用さ れ、上述した実施形態と同様に実行される。
[0131] 一方、上述した図 13に示す処理は、当該変形形態においては適用されず、その代 わりに図 17及び図 18に示す処理が実行される。また、上述した図 14に示す処理も、 当該変形形態においては適用されず、その代わりに図 19に示す処理が実行される。
[0132] また、当該変形形態にぉ 、て送信される情報収集メッセージにおけるヘッダ部には 、転送回数積算値 (ノードを転送される度に 1カウントアップする値)及び転送回数上 限値が含まれる。これは、ルーティングテーブルに IPアドレスが登録されていないノ ードに向かって情報収集メッセージが送信される場合、当該メッセージが転送され続 けてしまう可能性があり、これを防止するためである。
[0133] 図 17に示す DHTマルチキャスト処理においては、ノード Xの制御部 11は、上記実 施形態におけるステップ S 11と同様、図 12に示すステップ S 1で生成された情報収集 メッセージのヘッダ部におけるターゲットノード IDとして自己のノード ID「3102」を設 定し、 IDマスクとして「0」を設定し、 IPアドレスとして自己の IPアドレスを設定する(ス テツプ S51)。
[0134] 次いで、当該制御部 11は、情報収集メッセージ送信処理を開始する (ステップ S52
) o
[0135] 当該情報収集メッセージ送信処理においては、図 18に示すように、ノード Xの制御 部 11は、自己のルーティングテーブルの指定するレベルを、 自己のノード IDと上記 生成した情報収集メッセージにおけるターゲットノード IDの上位桁から一致する桁数 + 1の値に決定する(ステップ S61)。 [0136] 例えば、自己のノード IDが「3102」であり、ターゲットノード IDが「3102」である場 合には全て一致するため、一致する桁数力 S「4」であり、これに 1が加算されて、ルー ティングテーブルのレベルが「5」と決定される。
[0137] 次いで、当該制御部 11は、上記決定したレベル力 上記生成した情報収集メッセ ージにおける IDマスクよりも大きいか否かを判断する(ステップ S62)。
[0138] 上述の例で言うと、決定したレベル「5」は、情報収集メッセージにおける IDマスク「 0」よりも大きいため、当該制御部 11は、決定したレベルが IDマスクよりも大きいと判 断し (ステップ S62 : YES)、ステップ S 63に移行する。
[0139] ステップ S63では、当該制御部 11は、 自己のルーティングテーブルの指定する欄( つまり、レベルと列)を決定する。具体的には、当該制御部 11は、指定するレベルを「 上記情報収集メッセージにおける IDマスクの値 + 1」に、指定する列を当該レベルの 左端から 1列に、夫々決定する。
[0140] なお、ルーティングテーブルが A桁 B進数からなる場合、レベルの値は 1〜Aまでで あり、列の値は 1〜Bまでとなる。上述のように 4桁 4進数であれば、レベルは 1〜4 (全 レベル数が 4)であり、列は 1〜4 (全列数が 4)である。上述の例では、情報収集メッセ ージにおける IDマスクが「0」であるため、ルーティングテーブルにおける「レベル 1、 1 列」の欄が指定される。
[0141] 次いで、当該制御部 11は、決定したレベルの値が全レベル数以下である力否かを 判断する(ステップ S64)。上述の例では、決定したレベルの値「1」が、全レベル数「4 」以下であるため、当該制御部 11は、決定したレベルの値が全レベル数以下である と判断し (ステップ S64 : YES)、次いで、決定した列の値が全列数以下であるか判断 する (ステップ S65)。上述の例では、決定した列の値「1」が、全列数「4」以下である ため、当該制御部 11は、決定したレベルの値が全レベル数以下であると判断し (ステ ップ S65 :YES)、続いて、決定した欄が自己(自己のノード ID)を示す力否かを判断 する(ステップ S66)。上述の例では、決定した「レベル 1、 1列」の欄には自己のノード IDは登録されていないため、当該制御部 11は、決定した欄が自己を示さないと判断 し (ステップ S66 :NO)、ステップ S67に移行する。
[0142] ステップ S67では、当該制御部 11は、決定した欄にノードの IPアドレス等が登録さ れているか否かを判断する。上述の例では、決定した「レベル 1、 1列」の欄にノード A の IPアドレスが登録されているため、当該制御部 11は、決定した欄にノードの IPアド レス等が登録されている判断し (ステップ S67 : YES)、当該登録されているノードに 対して(当該 IPアドレスにしたがって)情報収集メッセージを送信する (ステップ S68)
[0143] 次いで、当該制御部 11は、決定した列の値に「1」を加算し (ステップ S69)、ステツ プ S65に戻る。
[0144] そして、ステップ S65〜S69の処理は繰り返し行われ、例えば図 5において「レベル 1、 2列」の欄に登録されたノード B、 「レベル 1、 3列」の欄に登録されたノード Cにも情 報収集メッセージが送信され、決定した欄が「レベル 1、 4列」に変更され、ステップ S 65に戻る c
[0145] 次いで、ステップ S65の処理を経て、ステップ S66の処理において、決定した「レべ ル 1、 4列」の欄は自己を示しているため、当該制御部 11は、決定した欄が自己を示 すと判断し (ステップ S66 : YES)、ステップ S69に移行する。このようにして、ルーティ ングテーブルのレベル 1に登録されて ヽる全てのノード 1に情報収集メッセージを送 信することができる。
[0146] 一方、上記ステップ S65の処理において決定した列の値が全列数以下でないと判 断した場合 (ステップ S65 :NO)、当該制御部 11は、上記情報収集メッセージのへッ ダ部にお 、て設定された IDマスクの値に 1を加算して当該 IDマスクを再設定し (ステ ップ S70)、ステップ S63に戻り、同様の処理が繰り返される。
[0147] 一方、上記ステップ S67の処理において、上記決定した欄にノードの IPアドレス等 が登録されていない場合には (ステップ S67 : NO)、当該制御部 11は、決定した欄( 例えば、「レベル 3、 2列」)の最も近くに記憶されているノードに対して、情報収集メッ セージを送信する(ステップ S71)。上述の例では、 IDマスクの値を「3」とし、ターゲッ トノード IDを「レベル 3、 2列」の欄に該当する「3110」とする。
[0148] このようにターゲットを特定することにより、この欄に対応するノードが参加した場合 に、情報収集メッセージを送信できることとなる。なお、上述の例においては、ノード G に当該情報収集メッセージを送信して転送させればよい。 [0149] ここで、情報収集メッセージのヘッダ部における転送回数上限値は、転送回数の上 限を決める値であり、ターゲットとなるノードが存在しない場合に、当該メッセージが転 送され続けることを防止するために設けられる。転送回数上限値は、通常の転送で は絶対に超えない程度のやや大きめの値とする。例えば、レベル数力 であるルーテ イングテーブルを用いる場合には、転送回数は、 4回以内に収まるのが通常であり、 この場合、転送回数上限値は、例えば 8回、 16回等にする。
[0150] 一方、上記ステップ S64の処理において、決定したレベルの値が全レベル数以下 でないと判断された (ステップ S64 : NO)、当該処理が終了する。
[0151] 一方、上述のステップ S61の処理において、例えば自己のノード IDが「3102」であ り、ターゲットノード IDが「2132」であり、 IDマスクが「4」である場合には、一致する桁 数は「0」となり、これに 1が加算され、指定するルーティングテーブルのレベルが「1」 と決定される。この場合、ステップ S62では、決定したレベルが情報収集メッセージに おける IDマスク「4」よりも小さいため、ステップ S72に移行され、通常の DHTメッセ一 ジ送信 (転送)処理が行われる。具体的には、制御部 11は、決定したレベルにおける ターゲットノード IDに最も近!ソードであって、ルーティングテーブルに登録されて!ヽ るものを決定し、当該ノードに情報収集メッセージを送信 (転送)し、当該理を終了す る。
[0152] 次に、上記のように送信された情報収集メッセージを受信した各ノードは、当該情 報収集メッセージを記憶し、図 19に示す処理を開始する。
[0153] 図 19に示す処理が開始されると、当該ノードの制御部 11は、情報収集メッセージ の転送回数が転送回数上限値を超えたか否かを判断し (ステップ S81)、転送回数 上限値を超えていない場合には (ステップ S81 :NO)、自己のノード IDが、受信した 情報収集メッセージのターゲットに含まれる力否かを判断する (ステップ S82)。このと き、情報収集メッセージにおける IDマスクが「0」である場合、上述したように、全ての ノード IDを含むため、当該制御部 11は、自己のノード ID力 上記ターゲットに含まれ ると判断し (ステップ S82 : YES)、受信した情報収集メッセージのヘッダ部におけるタ 一ゲットノード IDを自己のノード IDに変換設定し、 IDマスクを「上記情報収集メッセ ージにおける IDマスクの値 + 1」に変換設定して (ステップ S83)、その情報収集メッ セージについて図 18に示す情報収集メッセージ送信処理を実行する (ステップ S84 )。そして、当該情報収集メッセージ送信処理が終了すると、当該制御部 11は、上述 した実施形態と同様、図 15に示す返信メッセージ送信処理を実行し (ステップ S85) 、当該処理を終了する。
[0154] 一方、上記ステップ S82の処理において、自己のノード IDが、上記ターゲットに含 まれな 、と判断された場合には (ステップ S82: NO)、受信した情報収集メッセージに ついて図 18に示す情報収集メッセージ送信処理を実行し (ステップ S86)、当該処理 を終了する。
[0155] また、一方、ステップ S81の処理において、受信された情報収集メッセージの転送 回数が転送回数上限値を超えたと判断された場合には (ステップ S81: YES)、転送 が行われずに当該処理が終了する。
[0156] 以上説明したように、上記変形形態によれば、オーバーレイネットワーク 9へのノー ドの参加、脱退が行われたとき、それがあるノードにおけるルーティングテーブルには 、未だ反映されていないような場合であっても、オーバーレイネットワーク 9に参カ卩して いる全てのノードに情報収集メッセージを送信することができる。
[0157] また、上記実施形態においては、 DHTを利用したアルゴリズムによって構築された オーバーレイネットワーク 9を前提として説明したが、本発明はこれに限定されるもの ではない。
[0158] なお、本発明は、上記実施形態に限定されるものではない。上記実施形態は、例 示であり、本発明の請求の範囲に記載された技術的思想と実質的に同一な構成を 有し、同様な作用効果を奏するものは、いかなるものであっても本発明の技術的範囲 に包含される。
[0159] また、 2006年 2月 27日に出願された明細書、特許請求の範囲、図面、要約を含む 日本の特許出願(No.2006-51159)の全ての開示は、その全てを参照することよって、 ここに組み込まれる。

Claims

請求の範囲
[1] ネットワークを介して互いに通信可能な複数のノード装置を備え、前記複数のノード 装置が所定の規則に従って複数のグループに分けられた情報通信システムに含ま れる前記ノード装置であって、
他のノード装置力 送信されてきた、自己が属する前記グループに対する情報収 集メッセージを受信する情報収集メッセージ受信手段と、
自己が属する前記グループが前記所定の規則に従ってさらに複数のグループに 分けられている場合には、当該さらに分けられている各前記グループに属する一の 前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された 情報収集メッセージを送信する情報収集メッセージ送信手段と、
前記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信さ れた情報収集メッセージに対する返答情報を含む返信メッセージを受信する返信メ ッセージ受信手段と、
前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メ ッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成する返答情 報生成手段と、
前記生成された新たな返答情報を含む返信メッセージを前記他のノード装置に返 信する返信メッセージ返信手段と、
を備えることを特徴とするノード装置。
[2] 請求項 1に記載のノード装置において、
前記返答情報生成手段は、前記受信された返信メッセージに含まれる返答情報に て示される値と、前記自己の返答情報にて示される値と、を集計して前記返答情報を 生成することを特徴とするノード装置。
[3] 請求項 1に記載のノード装置において、
前記返答情報生成手段は、前記決定された前記ノード装置から所定時間内に返 信された前記返信メッセージに含まれる返答情報と、前記自己の返答情報と、に基 づいて新たな返答情報を生成することを特徴とするノード装置。
[4] 請求項 1に記載のノード装置において、 前記情報収集メッセージには、当該メッセージを識別するための識別情報が含まれ ており、
前記返信メッセージ返信手段は、前記情報収集メッセージに含まれる識別情報を、 これに対応する返信メッセージに含ませて、当該返信メッセージを返信することを特 徴とするノード装置。
[5] 請求項 1に記載のノード装置において、
複数に分けられた各前記グループに属する一のノード装置の宛先情報を、夫々の 前記グループに対応付けて一の段階として規定し、さらに自己が属する前記グルー プが複数のグループに分けられ、当該分けられた各前記グループに属する一のノー ド装置の宛先情報を、夫々の前記グループに対応付けて次の段階として少なくとも 規定するテーブルを記憶する記憶手段をさらに備え、
前記情報収集メッセージ受信手段は、前記一の段階に対応する前記各グループ に対する情報収集メッセージを受信し、
前記情報収集メッセージ送信手段は、前記次の段階に対応する前記各グループ に属する前記一のノード装置を前記テーブルから決定し、当該決定された全ての前 記ノード装置の前記記憶された宛先情報にしたがって前記情報収集メッセージを送 信することを特徴とするノード装置。
[6] 請求項 5に記載のノード装置において、
前記情報収集メッセージ受信手段は、前記一の段階を示す一グループ特定値が 含まれた情報収集メッセージを受信し、
前記情報収集メッセージ送信手段は、前記情報収集メッセージに含まれる前記一 グループ特定値を、前記次の段階を示す次グループ特定値に変えて当該情報収集 メッセージを送信することを特徴とするノード装置。
[7] コンピュータを、請求項 1乃至 6の何れか一項に記載のノード装置として機能させる ノード処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とする 記録媒体。
[8] ネットワークを介して互 、に通信可能な複数のノード装置を備え、前記複数のノード 装置が所定の規則に従って複数のグループに分けられた情報通信システムであって 前記情報通信システムに含まれる第 1の前記ノード装置は、各前記グループに属 する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に情報収 集メッセージを送信する情報収集メッセージ送信手段を備え、
前記送信された前記情報収集メッセージを受信した第 2のノード装置は、 自己が属する前記グループが前記所定の規則に従ってさらに複数のグループに 分けられている場合には、当該さらに分けられている各前記グループに属する一の 前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された 情報収集メッセージを送信する情報収集メッセージ送信手段と、
前記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信さ れた情報収集メッセージに対する返答情報を含む返信メッセージを受信する返信メ ッセージ受信手段と、
前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メ ッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成する返答情 報生成手段と、
前記生成された新たな返信情報を含む返信メッセージを前記第 1のノード装置に 返信する返信メッセージ返信手段と、
を備えることを特徴とする情報通信システム。
ネットワークを介して互 ヽに通信可能な複数のノード装置を備え、前記複数のノード 装置が所定の規則に従って複数のグループに分けられた情報通信システムにおけ る情報収集方法であって、
前記情報通信システムに含まれる第 1の前記ノード装置は、各前記グループに属 する一の前記ノード装置を決定し、当該決定された全ての前記ノード装置に情報収 集メッセージを送信する工程を備え、
前記送信された前記情報収集メッセージを受信した第 2のノード装置は、 自己が属する前記グループが前記所定の規則に従ってさらに複数のグループに 分けられている場合には、当該さらに分けられている各前記グループに属する一の 前記ノード装置を決定し、当該決定された全ての前記ノード装置に前記受信された 情報収集メッセージを送信する工程と、
前記決定された前記ノード装置の全部又は一部から返信されてきた、前記受信さ れた情報収集メッセージに対する返答情報を含む返信メッセージを受信する工程と 前記受信された返信メッセージに含まれる返答情報と、前記受信された情報収集メ ッセージに対する自己の返答情報と、に基づいて新たな返答情報を生成する工程と 前記生成された新たな返信情報を含む返信メッセージを前記第 1のノード装置に 返信する工程と、
を備えることを特徴とする情報収集方法。
PCT/JP2007/050096 2006-02-27 2007-01-09 情報通信システム、情報収集方法、ノード装置、及び記録媒体 WO2007097130A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20070706443 EP1990957A1 (en) 2006-02-27 2007-01-09 Information communication system, information collecting method, node device, and recording medium
CN2007800063206A CN101390345B (zh) 2006-02-27 2007-01-09 信息通信系统、信息收集方法、节点设备和记录介质
US12/230,150 US8542690B2 (en) 2006-02-27 2008-08-25 Information communication system, information collection method, node device, and recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006051159A JP2007235243A (ja) 2006-02-27 2006-02-27 情報通信システム、情報収集方法、ノード装置、及びノード処理プログラム
JP2006-051159 2006-02-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/230,150 Continuation-In-Part US8542690B2 (en) 2006-02-27 2008-08-25 Information communication system, information collection method, node device, and recording medium

Publications (1)

Publication Number Publication Date
WO2007097130A1 true WO2007097130A1 (ja) 2007-08-30

Family

ID=38437173

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/050096 WO2007097130A1 (ja) 2006-02-27 2007-01-09 情報通信システム、情報収集方法、ノード装置、及び記録媒体

Country Status (5)

Country Link
US (1) US8542690B2 (ja)
EP (1) EP1990957A1 (ja)
JP (1) JP2007235243A (ja)
CN (1) CN101390345B (ja)
WO (1) WO2007097130A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2122905A2 (en) * 2007-03-09 2009-11-25 Telefonaktiebolaget LM Ericsson (PUBL) Dissemination of network management tasks in a distributed communication network
JP5026388B2 (ja) * 2008-10-20 2012-09-12 日本放送協会 ノード装置及びコンピュータプログラム
US9344438B2 (en) * 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
KR20120054902A (ko) * 2010-11-22 2012-05-31 한국전자통신연구원 연결성이 결여된 네트워크 환경 기반 멀티캐스트 통신방법, 장치 및 그 시스템
JP6417727B2 (ja) * 2014-06-09 2018-11-07 富士通株式会社 情報集約システム、プログラム、および方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005353039A (ja) * 2004-04-16 2005-12-22 Microsoft Corp データオーバーレイ、自己編成メタデータオーバーレイおよびアプリケーションレベルマルチキャスティング
JP2006033115A (ja) * 2004-07-13 2006-02-02 Brother Ind Ltd 配信装置、受信装置、ツリー型配信システム及び情報処理方法等

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3088384B2 (ja) 1998-07-31 2000-09-18 日本電気株式会社 Atmスイッチ及びatmスイッチの論理同報通信方法
JP2002344477A (ja) 2001-05-16 2002-11-29 Mitsubishi Electric Corp マルチキャスト配信システム及びその端末用装置
JP3842661B2 (ja) * 2002-02-06 2006-11-08 株式会社エヌ・ティ・ティ・ドコモ 通信システム、通信制御方法、通信ノード、通信媒介ノード、通信媒介プログラム、セッション移動方法及びセッション移動プログラム
US7613796B2 (en) 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
CN100459534C (zh) * 2002-10-07 2009-02-04 日本电信电话株式会社 分层网络节点及通过该节点构成的网络、节点和分层网络
US7532622B2 (en) * 2003-06-16 2009-05-12 National University Of Singapore Methods, devices and software for merging multicast groups in a packet switched network
US20050129017A1 (en) * 2003-12-11 2005-06-16 Alcatel Multicast flow accounting
JP4494853B2 (ja) * 2004-04-20 2010-06-30 株式会社エヌ・ティ・ティ・ドコモ 移動ノード、移動制御ノード、パケット通信システム、及び移動検出方法
EP1768324A4 (en) 2004-07-13 2010-01-20 Brother Ind Ltd DISPENSING DEVICE, RECEIVING DEVICE, ARBORESCENCE DISTRIBUTION SYSTEM, INFORMATION PROCESSING METHOD, ETC.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005353039A (ja) * 2004-04-16 2005-12-22 Microsoft Corp データオーバーレイ、自己編成メタデータオーバーレイおよびアプリケーションレベルマルチキャスティング
JP2006033115A (ja) * 2004-07-13 2006-02-02 Brother Ind Ltd 配信装置、受信装置、ツリー型配信システム及び情報処理方法等

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EL-ANSARY S. ET AL.: "Efficient Broadcast in Structured P2P Networks", 2ND INTERNATIONAL WORKSHOP ON PEER-TO-PEER SYSTEMS (IPTPS 2003), February 2003 (2003-02-01), XP003017214 *
ZHAO B.Y. ET AL.: "Tapestry: An Infrastructure for Fault-tolerant Wide-area Location and Routing", TECHNICAL REPORT UCBCSD-01-1141, April 2001 (2001-04-01), XP002995768 *

Also Published As

Publication number Publication date
JP2007235243A (ja) 2007-09-13
US20090003357A1 (en) 2009-01-01
CN101390345B (zh) 2011-05-04
EP1990957A1 (en) 2008-11-12
US8542690B2 (en) 2013-09-24
CN101390345A (zh) 2009-03-18

Similar Documents

Publication Publication Date Title
JP4375303B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
JP3956365B2 (ja) 分散コンピュータ・ネットワーク内の資源要求に応答するシステムおよび方法
US7493413B2 (en) APIS to build peer to peer messaging applications
US7543023B2 (en) Service support framework for peer to peer applications
US8913492B2 (en) Load balancing distribution of data to multiple recipients on a peer-to-peer network
US7490140B2 (en) Peer data transfer orchestration
US20050120073A1 (en) Method and apparatus for sharing applications using P2P protocol
US8321586B2 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
JP2005323346A (ja) ピアツーピアネットワークにおけるルーティング
WO2007119413A1 (ja) 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
WO2007010724A1 (ja) ノード装置、コンピュータプログラムを記憶した記憶媒体、情報配信システム、及びネットワーク参加方法
US8249638B2 (en) Device and method for participating in a peer-to-peer network
WO2006073046A1 (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
WO2007119418A1 (ja) 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
US8619631B2 (en) Information communication system, information communication method, node device included in information communication system and recording medium recording information processing program
WO2007097130A1 (ja) 情報通信システム、情報収集方法、ノード装置、及び記録媒体
JP4539603B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP2010505196A (ja) 効率的に拡張可能なコンピューティングのための複数のピアグループ
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
JP2007074490A (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置および情報処理プログラム
JP4947106B2 (ja) 情報通信システム、情報通信方法、情報通信システムに含まれるノード装置、情報処理プログラムおよびノード装置のプログラム
Xiaochuan et al. A hypercubic event-dissemination overlay using structure-aware addressing for distributed xml-based pub/sub system
JP2009129161A (ja) コンテンツ分散保存システム、コンテンツ評価値決定方法、配信装置、及び配信処理プログラム
JP2008181408A (ja) 通信システム、稼動制御方法、ノード装置及びノード処理プログラム
Krishnamoorthy et al. Initial Steps Towards Distributed Implementation of M-Urgency

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 200780006320.6

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2007706443

Country of ref document: EP