WO2007086250A1 - 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体 - Google Patents

情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体 Download PDF

Info

Publication number
WO2007086250A1
WO2007086250A1 PCT/JP2007/050088 JP2007050088W WO2007086250A1 WO 2007086250 A1 WO2007086250 A1 WO 2007086250A1 JP 2007050088 W JP2007050088 W JP 2007050088W WO 2007086250 A1 WO2007086250 A1 WO 2007086250A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
information
node information
registration message
message
Prior art date
Application number
PCT/JP2007/050088
Other languages
English (en)
French (fr)
Inventor
Kentaro Ushiyama
Original Assignee
Brother Kogyo Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Kogyo Kabushiki Kaisha filed Critical Brother Kogyo Kabushiki Kaisha
Publication of WO2007086250A1 publication Critical patent/WO2007086250A1/ja
Priority to US12/219,229 priority Critical patent/US7853718B2/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/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Definitions

  • a peer-to-peer (P2P) type information distribution system having a plurality of node devices that can communicate with each other via a network, and is used by other node devices. Relating to an information distribution system in which transfer destination node information indicating a node device is stored in each node device and distribution information is distributed and held in a plurality of node devices, in particular, a node device that stores the distribution information.
  • the present invention relates to a technical field for managing node information indicating
  • DHT Distributed Hash Table
  • the node device registers the request for registering the storage source node information (for example, including the IP address and the port number) indicating the node device.
  • a message (including the content ID unique to the content data and the storage source node information indicating the node device) is sent to another node device.
  • the registration message is transferred to the managing node device (root node described later) where the content data is located by a plurality of relay node devices according to the content ID and DHT.
  • the above source node Information is stored and managed.
  • the storage source node information is also stored and managed even in the plurality of relay node devices on the registration message transfer path.
  • the node device that desires to acquire the content data sends a content location inquiry (search) message (including the content ID and node information indicating the node device) to search for the location of the content data to the other
  • search a content location inquiry
  • the content location inquiry (search) message is sent to a plurality of relay node devices (relay node devices on the transfer route of the registration message and the DHT according to the content ID and DHT).
  • the content data may be transferred to the managing node device where it is located. If the relay node device on the transfer path manages the above-mentioned storage source node information!
  • the node device that sent the content location inquiry (search) message acquires the node information of the relay node device, and any relay node existing on the transfer path.
  • the node device power of the management source that finally arrives at the message also acquires the storage source node information.
  • the node device that has transmitted the content location inquiry (search) message can acquire the content data from the node device specified by the storage source node information.
  • Non-Patent Document 1 "Lightweight load balancing method for distributed hash table" The Institute of Electronics, Information and Communication Engineers IEICE technical report
  • the node device storing the content data does not perform the above operation.
  • the transfer route to the management node may be changed.
  • the node device storing the content data transmits a re-registration message at a predetermined interval. It is possible.
  • sending a re-registration message at a predetermined interval gives a great load to the network, and if there is no change in the transfer route, sending the re-registration message. Has the problem of being wasted.
  • the present invention has been made in view of the above problems and the like, and when the transfer path from the node device storing the content data to the managing node device is changed, Recorded information distribution system, re-registration message transmission method, node device, and node processing program that can store source node information in relay node device on new transfer path after change more efficiently (without waste) It is an object to provide a recording medium.
  • the invention according to claim 1 includes a plurality of node devices that can communicate with each other via a network, and has other node device power.
  • a transfer destination node information indicating a device is stored in each node device, and at least one distribution information is distributed and stored in a plurality of node devices, and the distribution information is 1
  • a registration message including storage source node information indicating the one node device storing the distribution information is transmitted from the one node device, and the registration message is transmitted to the transfer destination.
  • the plurality of relay node devices are transferred to the managing node device where the distribution information is located, and the plurality of relay node devices and the managing node device are transferred.
  • the relay node device when the relay node device detects a change in the transfer destination node information, the relay node device transmits the registration message transferred according to the transfer destination node information before the change.
  • the storage means node information included is extracted from the storage means, a re-registration message including the extracted storage source node information is generated, and this is transmitted according to the changed transfer destination node information. Therefore, compared to sending a re-registration message at a predetermined interval, the storage source node information is transferred to the relay node device on the new transfer path after the change more efficiently (without waste) without imposing a load on the network. It can be memorized.
  • the invention according to claim 2 is the node device according to claim 1, in addition to the storage source node information, immediately before indicating the node device immediately before transmitting or transferring the registration message to itself.
  • Registration message receiving means for receiving the registration message including node information; and the immediately preceding node information included in the received registration message is changed to its own node information indicating itself, and the registration message is transferred to the forwarding destination.
  • a registration message transfer means for transferring according to the node information.
  • the invention according to claim 3 is the node device according to claim 1 or 2, wherein the re-registration message generation means is the self-source that is the generation source of the storage source node information and the re-registration message.
  • the re-registration message is generated including the re-registration message generation source node information indicating the above.
  • the deletion message transmitted later to the downstream side is included. It can be stopped before the node device that generated the re-registration message.
  • the new transfer path after the change can be performed more efficiently (without waste) than when the re-registration message is transmitted at a predetermined interval without applying a load to the network.
  • the source node information can be stored in the relay node device.
  • the invention according to claim 5 receives the re-registration message transmitted from the relay node device according to any one of claims 1 to 3 and transferred by another relay node device.
  • a storage device that stores immediately preceding node information indicating the preceding node device immediately before transmitting or transferring the registration message in association with the storage source node information included in the registration message.
  • the deletion message indicating the deletion request of the storage source node information included in the re-registration message is stored in association with the storage source node information, Therefore, when the transfer path is changed and the node device storing the distribution information is withdrawn or when the node device deletes the distribution information, the transmission is performed according to the immediately preceding node information.
  • the source node information can be deleted efficiently and efficiently (without waste).
  • the deletion message is sent when the route is changed, it is possible to delete the storage source node information without degrading the retrieval efficiency of the distribution information and without burdening the network. Can do.
  • the invention according to claim 6 is associated with the node information indicating the node device immediately before the re-registration message is transferred and the storage source node information in the node device according to claim 5. To determine whether or not the previous node information stored in the memory matches the power. It further comprises a transmission path match determining means, and the delete message transmitting means transmits the delete message according to the immediately preceding node information only when it is determined that the transfer path match determining means does not match. And
  • the node information indicating the node device immediately before the re-registration message is transferred and stored in association with the storage source node information! Since the delete message is sent only when there is a match with the node information, it is possible to prevent unnecessary delete messages from being sent when there is no route change.
  • the invention described in claim 7 is a node device that receives the delete message transmitted by the node device according to claim 5 or 6, immediately before transmitting or transferring the registration message to itself.
  • Storage means for storing the immediately preceding node information indicating the node device in association with the storage source node information included in the registration message, and the storage source node information indicated in the deletion message.
  • a storage source node information deletion means for deleting the storage source node information, a reregistration message generation source node information indicating a node device of a generation source of the reregistration message corresponding to the deletion message, and the storage source Message generator match determination means for determining whether or not the previous node information stored in association with the node information matches, and the message Delete message transfer means for transferring a delete message indicating the delete request according to the immediately preceding node information when it is determined by the message generation source match determining means that the two do not match.
  • the re-registration message generation source node information indicating the node device that is the generation source of the re-registration message corresponding to the deletion message
  • the storage source node information When it is determined that the previous node information that is attached and stored does not match, the deletion message indicating the deletion request is transferred according to the previous node information. Node information can be prevented from being deleted.
  • the invention according to claim 8 is the node device according to claim 7, in which node information indicating the node device immediately before the re-registration message is transferred and the storage source node information. It further comprises a transfer path match determining means for determining whether or not the previous node information stored in correspondence is matched, and the delete message transfer means must be matched by the transfer path match determining means. Only when it is determined, the deletion message is transferred according to the immediately preceding node information.
  • the node information indicating the node device immediately before the transfer of the re-registration message is stored in association with the storage source node information! Since deletion messages are transferred only when node information matches, it is possible to prevent unnecessary deletion messages from being sent when there is no route change.
  • the invention according to claim 9 includes a plurality of node devices that can communicate with each other via a network, and has other node device capabilities.
  • Each of the transfer destination node information indicating the node device to which the received message is transferred is provided.
  • Stored in the node device and at least one piece of distribution information is distributed and stored in a plurality of node devices, and the distribution information is stored in the one node device.
  • a registration message including storage source node information indicating the one node device storing the information is transmitted from the one node device, and the registration message is transmitted to a plurality of relay node devices according to the transfer destination node information.
  • a relay node device included in an information distribution system in which information and immediately preceding node information indicating the node device immediately before transmitting or transferring the registration message to the self are stored in association with each other Storage means for storing the transfer destination node information, the storage source node information, and the immediately preceding node information, a request message reception means for receiving a request message indicating a request for the storage source node information, and a storage related to the request Confirming means for confirming whether or not the node device indicated by the original node information exists, and if the existence of the node device is confirmed, deleting the storage source node information related to the request
  • An upstream deletion message indicating a request is transmitted according to the forwarding node information, and a downstream deletion message indicating a deletion request of the storage source node information related to the request is transmitted.
  • Delete message transmission means for transmitting a message according to the immediately preceding node information, and the node device does not exist
  • Storage source node information deleting means for deleting the stored source node information that is the source information of the storage related to the request when the information is confirmed. .
  • storage source node information that is no longer needed can be completely deleted even at the time of location information inquiry (search).
  • the invention according to claim 10 includes a plurality of node devices that can communicate with each other via a network, and has other node device capabilities.
  • Each of the transfer destination node information indicating the node device to which the received message is transferred is provided.
  • Stored in the node device and at least one piece of distribution information is distributed and stored in a plurality of node devices, and the distribution information is stored in the one node device.
  • a registration message including storage source node information indicating the one node device storing the information is transmitted from the one node device, and the registration message is transmitted to a plurality of relay node devices according to the transfer destination node information.
  • a relay node device included in an information distribution system in which information and immediately preceding node information indicating the node device immediately before transmitting or transferring the registration message to the self are stored in association with each other Storage means for storing the transfer destination node information, the storage source node information, and the immediately preceding node information, a request message reception means for receiving a request message indicating a request for the storage source node information, and a storage related to the request Confirming means for confirming whether the node device indicated by the original node information stores the distribution information, and if it is confirmed that the node device does not store the distribution information, An upstream deletion message indicating a deletion request is transmitted according to the transfer destination node information, and a deletion request for the storage source node information related to the request is indicated.
  • the storage source node information related to the request is Storage source node information deleting means for deleting the stored source node information stored therein.
  • the invention according to claim 11 is a node device that receives the downstream delete message that has also transmitted the node device power according to claim 9 or 10, wherein the storage source node information and the immediately preceding node information And storage source node information deletion means for deleting the stored source node information that is the storage source node information indicated in the received downstream deletion message. It is characterized by that.
  • a recording medium in which the node processing program according to claim 12 is recorded so as to be readable by a computer functions as a node device according to any one of claims 1 to 11. It is characterized by making it.
  • the invention according to claim 13 includes a plurality of node devices that can communicate with each other via a network, and has other node device capabilities.
  • Each of the transfer destination node information indicating the node device to which the received message is transferred is provided.
  • Stored in the node device and at least one piece of distribution information is distributed and stored in a plurality of node devices, and the distribution information is stored in the one node device.
  • a registration message including storage source node information indicating the one node device storing the information is transmitted from the one node device, and the registration message is transmitted to a plurality of relay node devices according to the transfer destination node information.
  • the relay node device includes a storage unit that stores the transfer destination node information and the storage source node information, and a node that detects a change in the transfer destination node information Information change detection means, storage source node information extraction means for extracting the storage source node information included in the registration message transferred according to the transfer destination node information before the change from the storage means, and the extracted Re-registration message generation means for generating a re-registration message including the storage source node information; and re-registration message transmission means for transmitting the generated re-registration message according to the transfer destination node information after the change.
  • a node device that has received the re-registration message storage means for storing the forwarding node information; Storage determining means for determining whether a force not the signal is free Murrell storage source node information reregistration message is already stored, Re-registration message transfer means for storing the storage source node information and transferring the re-registration message according to the transfer destination node information when it is determined that the information is not stored. It is characterized by.
  • the invention according to claim 14 includes a plurality of node devices that can communicate with each other via a network, and other node device powers.
  • the transfer destination node information indicating the node device to which the received message is transferred is each node device.
  • at least one distribution information is distributed and stored in a plurality of node devices, and the distribution information is stored when the distribution information is stored in one node device.
  • a registration message including storage source node information indicating the one node device is sent from the one node device, and the registration message is distributed by a plurality of relay node devices according to the transfer destination node information.
  • the information is transferred to the managing node device where the information is located, and the storage source node information is stored in the plurality of relay node devices and the managing node device.
  • the relay node device stores storage means for storing the transfer destination node information and the storage source node information, and node information change for detecting a change in the transfer destination node information.
  • Detection means storage source node information extraction means for extracting the storage source node information included in the registration message transferred according to the transfer destination node information before the change from the storage means; and the extracted storage Re-registration message generation means for generating a re-registration message including original node information; and re-registration message transmission means for transmitting the generated re-registration message in accordance with the forwarding node information after the change
  • the node device that has received the re-registration message sends the registration message to the node device immediately before Storage means for storing the immediately preceding node information indicating the node device in association with the storage source node information included in the registration message, and storage source node information included in the received re-registration message are already stored.
  • the invention according to claim 15 includes a plurality of node devices that can communicate with each other via a network, and has other node device capabilities. Each of the transfer destination node information indicating the node device to which the received message is transferred is provided. Stored in the node device and at least one piece of distribution information is distributed and stored in a plurality of node devices, and the distribution information is stored in the one node device.
  • a registration message including storage source node information indicating the one node device storing the information is transmitted from the one node device, and the registration message is transmitted to a plurality of relay node devices according to the transfer destination node information.
  • a re-registration message transmission method in an information distribution system in which information is stored wherein the relay node device detects a change in the forwarding node information, and the relay node device Extracting the storage source node information included in the registration message transferred in accordance with the transfer destination node information from the storage unit, and the relay node device including the extracted storage source node information.
  • a step of generating a registration message, a step of the relay node device transmitting the generated re-registration message in accordance with the forwarding node information after the change, and the re-registration message received The node device determines whether or not the storage source node information included in the received re-registration message is already stored. If the node device that has received the re-registration message determines that the node device is not stored, the node device stores the storage source node information and transfers the re-registration message according to the transfer destination node information. And a process.
  • the invention according to claim 16 includes a plurality of node devices that can communicate with each other via a network, and has other node device capabilities.
  • Each of the transfer destination node information indicating the node device to which the received message is transferred is provided.
  • Stored in the node device and at least one piece of distribution information is distributed and stored in a plurality of node devices, and the distribution information is stored in the one node device.
  • a registration message including storage source node information indicating the one node device storing the information is transmitted from the one node device, and the registration message is transmitted to a plurality of relay node devices according to the transfer destination node information.
  • the information is transferred to the managing node device where the distribution information is located, and the storage source node information is stored in the plurality of relay node devices and the managing node device.
  • a registration message transmission method wherein the relay node device detects a change in the forwarding node information, and the registration message transferred by the relay node device according to the forwarding node information before the change.
  • the node device that has received the recording message determines whether or not the storage source node information included in the received re-registration message is already stored, and the node device that has received the re-registration message Is determined to be stored, a deletion message indicating a storage source node information deletion request included in the re-registration message is sent to the immediately preceding node stored in association with the storage source node information. And a step of transmitting according to the information.
  • the storage node information included in the registration message transferred according to the transfer destination node information before the change is stored. Since the re-registration message including the extracted storage source node information is generated and transmitted according to the transfer destination node information after the change, the re-registration message is transmitted at a predetermined interval. Compared to this, it is possible to store the source node information in the relay node device on the new transfer path after the change more efficiently (without waste) than applying a load to the network.
  • a deletion message indicating a deletion request for the storage source node information included in the re-registration message is stored in association with the storage source node information and transmitted according to the immediately preceding node information. Therefore, when the transfer route is changed and the node device storing the distribution information is withdrawn, or when the node device deletes the distribution information, it is more efficient (without waste) and reliably.
  • the source node information can be deleted.
  • the deletion message is sent only when the route is changed, it is possible to delete the storage source node information without degrading the search efficiency of the distribution information and without imposing a load on the network. it can.
  • FIG. 1 is a diagram showing an example of a connection mode of each node device in a content distribution system.
  • FIG. 2 is a diagram showing an example of a DHT routing table held by a node nl.
  • FIG. 3 is a conceptual diagram showing an example of a DHT node ID space.
  • FIG. 4 shows an example of the flow of a publish message sent from a content holding node, and (B) shows an example of the flow of a delete notification message sent from the content holding node. It is the conceptual diagram shown in the node ID space of DHT.
  • FIG. 5 A diagram showing an example of the contents (data structure) of a publish message transferred from a content holding node to a root node via a relay node, and contents of index information stored in the relay node and the root node. It is.
  • FIG. 6 is a conceptual diagram showing a state when a republish message is sent.
  • FIG. 7 is a conceptual diagram showing a state when a republish message is sent.
  • FIG. 8 is a conceptual diagram showing a state in which a deletion notification message is sent upstream and downstream from a relay node that has received a content location inquiry (search).
  • FIG. 9 is a diagram showing a schematic configuration example of a node nn.
  • FIG. 10 is a flowchart showing a republish message transmission process in the control unit 11 of the node nn.
  • FIG. 11 is a flowchart showing processing for receiving a republish message or the like in the control unit 11 of the node nn.
  • FIG. 12 is a flowchart showing reception processing such as a republish message in the control unit 11 of the node nn.
  • FIG. 13 is a flowchart showing processing for receiving a republish message and the like in the control unit 11 of the node nn.
  • FIG.14 Receiving content location inquiry (search) message in control unit 11 of node nn It is a flowchart which shows a process.
  • FIG. 1 an outline configuration of a content distribution system as an example of an information distribution system will be described.
  • FIG. 1 is a diagram showing an example of a connection state of each node device in the content distribution system according to the present embodiment.
  • IX Internet eXchange
  • ISP Internet Service
  • a network (real-world communication network) 8 such as the Internet.
  • the network (communication network) 8 in the example of FIG. 1 is appropriately inserted with a router power for transferring data (packets), but is not shown.
  • the content distribution system S is configured to include a plurality of node devices (hereinafter simply referred to as “nodes”) nl, ⁇ 2,. Therefore, it is a peer-to-peer network system (note that there are actually more nodes). Each node nl to n21 is assigned a unique serial number and an IP (Internet Protocol) address. The serial number and IP address are not duplicated among multiple nodes.
  • nodes node devices
  • IP Internet Protocol
  • an overlay network 9 as shown in the upper frame 100 of FIG. 1 is constructed by a specific algorithm, for example, an algorithm using DHT. Will be. That is, the overlay network 9 means a network (logical network) that forms a virtual link formed by using the existing network 8.
  • overlay network 9 constructed by an algorithm using DHT is assumed, and nodes nl to nl5 arranged in this overlay network 9 (in the upper frame 100 of FIG. 1). Is called node nn participating in overlay network 9.
  • overlay network 9 is formed by the participation of node nn.
  • Participation in the overlay network 9 is participation as participation request information indicating that a node nl6 to n21 that has not participated participates in any node nn participating. This is done by sending a message.
  • Each node nn has a node ID as unique identification information.
  • the node ID is obtained by, for example, an IP address or a serial number by a common hash function (for example, SHA-1). It is a hashed value (for example, the bit length is 160 bits), and it is distributed and distributed in one ID space without any bias.
  • Each node nn holds a DHT! /, Respectively.
  • This DHT specifies the forwarding destination of various messages on the overlay network 9, and specifically, the forwarding destination including the node ID, IP address, and port number of the node nn that is moderately separated in the node ID space.
  • FIG. 2 is a diagram illustrating an example of the DHT routing table held by the node nl
  • FIG. 3 is a conceptual diagram illustrating an example of the DHT node ID space.
  • bit length of the node ID is 2 bits X 3 digits for convenience of explanation.
  • each digit is represented by a quaternary number (integer from 0 to 3) (actually, a longer bit length is used, and each digit is divided into 4 bits, for example, expressed as a hexadecimal number from 0 to f) .
  • the DHT routing table consists of level 1 to level 3 tapes (divided into multiple levels), and each level table entry contains a transfer destination for each area.
  • a node ID is registered in association with the IP address and port number of node nn corresponding to the node ID.
  • Each area in each level table is an area obtained by dividing the DHT node ID space. For example, as shown in FIG.
  • level 1 the entire node ID space of DHT is divided into four, and the area where node IDs “000” to “033” exist are OXX areas, “100” to “133”
  • An area with a node ID of 1XX is an area
  • an area with a node ID of "200" to "233” is an area of 2XX
  • an area with a node ID of "300" to "333” is an area of 3XX To do.
  • the level 1 area that is, the area from OXX to 3XX
  • the level 1 area is further divided into 4 areas, for example, 1XX area force
  • the area where the node IDs “100” to “103” exist is 10X.
  • the node ID of the node nl is "122", as shown in FIG. 2, the 1XX area (level (ie, the own node) where the node nl exists) at level 1 of the node nl )
  • its own node ID and IP address are registered, and the area where it does not exist (that is, OXX , 2XX area, and 3XX area), node IDs and IP addresses of other arbitrary nodes nn are registered respectively.
  • the level 3 of the powerful node nl includes node IDs and IP addresses with node IDs "120" to "122" (the IP address is own, so It is not necessary to register in the routing table.
  • the node ID bit length is 3 digits X 2 bits. Therefore, if the node ID bit length increases, the power that can be covered by the tables of three levels of levels 1 to 3 is increased. Therefore, the corresponding table is required (for example, if the bit length of the node ID is 16 digits x 4 bits, a table for 16 levels is required).
  • the area becomes narrower as the level increases.
  • Such DHT can be exempted when a non-participating node joins the overlay network 9.
  • various contents for example, movies, music, etc.
  • data an example of distribution information
  • nn nodes
  • the data is replicated and the replica that is the replication information is distributed and stored).
  • the content data of the movie with the title XXX is stored in the node nl and the node n4, while the content data of the movie with the title YYY is stored in the node n2 and the node n3.
  • content holding nodes Each of these contents data includes a container.
  • Information such as the name (title) and content ID (identification information unique to each content) is added.
  • This content ID is generated, for example, by hashing with a hash function common to the content name + any numerical value (or may be the first few bytes of the content data) 1S when obtaining the node ID.
  • a unique ID value (same bit length as the node ID) may be assigned to each system administrator-powered content.
  • a “content list” in which the correspondence between the content name and the content ID is written is distributed to all nodes nn.
  • the location of the content data thus distributed and stored that is, storage source node information (for example, including an IP address and a port number) indicating the node nn that stores the content data, and the content.
  • Indentus information power including the content ID corresponding to the data
  • the node nn hereinafter “root node” or “root node of content (content ID)” that manages the location of the content data
  • Etc. stored in the index cache
  • the index information of the content data of the movie with the title XXX is managed by the node nl3 which is the root node of the content (content ID)
  • the index information of the content data of the movie with the title YY Y is Managed by the node nl4 which is the root node of the content (content ID).
  • the root node is divided for each content, the load is distributed, and even when the same content data (content ID is the same) is stored in a plurality of content holding nodes, Index information of content data can be managed by one root node.
  • such a root node is determined to be, for example, a node nn having a node ID closest to the content ID (for example, the higher-order digits match more).
  • the distributed storage control of content data is performed by, for example, a content management server (not shown) (note that it is always highly reliable to participate in the overlay network 9 selected by the system operator). May be done by Zode nn).
  • the content management server periodically counts the access frequency to the content data (content holding node) and the popularity of the content data (for example, totals from each root node and each content holding node) Each time you save content Whether to increase or decrease the number of data (replicas) is determined. And the content management server boosts content data!
  • the node nn If the node nn is to be stored, select any node nn that should store the content data (for example, select at random), make a request to store the content data to the selected node nn, and If there is a response to accept the storage of the content data, the corresponding content data is distributed to the node nn and stored.
  • the content management server decides to reduce the content data, it selects an arbitrary node nn that stores the content data (for example, selects the index information power obtained by the root node power at random) and selects that node.
  • the node nn is requested to delete the content data, and the content data is deleted from the node nn.
  • the content management server need not control distributed storage of content data. For example, simply because popular content is downloaded by many nodes nn, the number of content data naturally increases. On the other hand, since the content that has become less popular after that is deleted by the node nn, the content data naturally decreases.
  • the node nn (content holding node) that stores the content data notifies the root node that the content data has been stored, and the content ID of the content data and its own node information (storage)
  • a publish (registration notification) message (registration message indicating a request for registration of the storage source node information) is generated and the publish message is sent to the root node. Send out.
  • the publish message arrives at the root node by DHT routing using the content ID as a key.
  • the node nn (content holding node) that has deleted the content data notifies the root node that the content data has been deleted, and the content ID of the content data and its own node information (storage source) Node information) and other deletion notification messages (deletion message indicating a request to delete storage source node information because the content data has been deleted) is generated, and the deletion notification message is sent to the root node.
  • the delete notification message is sent to the DHT root with the content ID as the key Will arrive at the root node.
  • Fig. 4 (A) shows an example of the flow of a publish message sent from the content holding node
  • Fig. 4 (B) shows an example of the flow of the deletion notification message that also sends the content holding node power.
  • Each is a conceptual diagram shown in the node ID space of DHT.
  • the node nl that is the content holding node refers to its own DHT level 1 table (regardless of the DHT routing table shown in FIG. 2)
  • the above publish message is sent to the port number.
  • the node n8 receives the publish message, refers to the table of the level 2 of its own DHT, and is closest to the content ID included in the publish message (for example, Get the IP address and port number included in the forwarding node information of node nl1, for example, with node ID (the higher digit matches more), and forward the publish message to the IP address and port number .
  • the node ni l receives the publish message and refers to the level 3 table of its own DHT and is closest to the content ID included in the publish message (for example, the upper level). For example, the IP address and the port number included in the transfer destination node information of the node nl3 having the node ID with more digits) are acquired, and the publish message is transferred to the IP address and the port number.
  • the node nl3 receives the publish message, refers to the level 4 table of its own DHT, and is closest to the content ID included in the publish message (for example, the upper digit). For example, the IP address and the port number included in the transfer destination node information of the node nl4 having a node ID (which matches more) are acquired, and the publish message is transferred to the IP address and the port number.
  • the node nl4 receives the publish message, refers to the table of the level 5 of its own DHT, and is closest to the content ID included in the publish message (for example, The node ID is yourself (that is, the higher digits match), that is, you It is recognized that the content ID is the root node of the content ID, and the index information including the storage source node information and the content ID set included in the publish message is registered (stored in the index cache area).
  • the index information including the combination of the storage source node information and the content ID included in the publish message is the node nn (hereinafter referred to as "relay node") in the transfer path from the content holding node to the root node.
  • the node n8 the node nl l, and the node nl 3) are also registered (cached) (in this way, the relay node that caches the storage source node information is called the cache node).
  • the publish message is transferred to the root node of the content ID included in the publish message by a plurality of relay nodes according to the transfer destination node information registered in the DHT routing table.
  • the relay node and the root node storage source node information included in the publish message and index information including the content ID are stored.
  • the flow of the deletion notification message in the example of FIG. 4 (B) is the same as the flow of the publish message in the example of FIG. 4 (A), and the deletion sent from the node nl that is the content holding node
  • the notification message is transferred to the node nl4 that is the root node of the content ID, and the node nl4 deletes the storage source node information and the content ID included in the deletion notification message from its own index information.
  • the storage source node information and content ID included in the deletion notification message are a relay node in the transfer path from the content holding node to the root node (in the example of FIG. 4B, the index information is cached).
  • the deletion notification message indicates a request for deleting the storage source node information and the like also in the relay node (cache node) in the transfer route up to the root node.
  • the node nn that desires to acquire the content data (hereinafter referred to as "user node") (For example, content list distributed to all nodes nn (content name and content ID etc. are described and managed by content list management server (not shown), etc.))
  • a content location inquiry (search) message including the content ID of the specified content data is sent to another node nn according to its own DHT routing table.
  • search content location inquiry
  • the content location inquiry message is routed (forwarded) through several relay nodes by DHT routing using the content ID as a key, and is sent to the root node of the content ID as in the above-described publish message. I'm angry.
  • the user node acquires (receives) the index information of the content data described above from the root node, and stores the content data based on the storage source node information included in the index information.
  • the user node obtains (receives) the index information from the relay node (cache node) that caches the same Idettates information as the root node until the content location inquiry message reaches the root node.
  • the node nn that transmits or forwards the publish message or the republish message (to be described later) is shown (ie, indicates itself) in addition to the storage source node information and the content ID described above.
  • Own node information for example, including an IP address and port number
  • message generation node information for example, including an IP address and port number
  • the index information includes the immediately preceding node information indicating the node nn immediately before the transmission or transfer of the publish message, in addition to the storage source node information and the content ID described above. As you can see.
  • FIG. 5 shows an example of the contents (data structure) of the publish message transferred from the content holding node to the root node via the relay node and the contents of the index information stored in the relay node and the root node.
  • the publish message includes local node information, message generation source information, storage source node information, content ID, and message type (location of publish message and republish message). “Registration” in the case of a delete notification message and “Delete” in the case of a deletion notification message), and the index information includes the content, the node ID of the storage source, and the immediately preceding node information.
  • the immediately preceding node information in the index information is obtained from the own node information in the publish message, and is necessary when the transfer route to the content holding node power route node is changed.
  • the relay node detects the change of the route (specifically, the transfer destination node registered in the DHT routing table). A republish message is sent to the relay node in order to register the index information in the relay node in the new transfer path.
  • FIG. 6 and FIG. 7 are conceptual diagrams showing how the republish message is sent.
  • the relay node n8 detects a change in the forwarding node information registered in the DHT routing table (for example, a change from the relay node ni l to the relay node nlO)
  • the relay node n8 caches itself.
  • the re-publish message including the stored source node information and the content ID is generated and transmitted to the relay node nlO in the transfer path after the change.
  • the republish message is transferred by the relay nodes nlO and nl2 in the transfer path after the change, and the index information is registered in the relay nodes nlO and nl2.
  • the intermediate node nl3 transmits the republish message to the delete notification message (re- Switch to a deletion message indicating a deletion request of the storage source node information included in the publish message (for example, instead of “deletion” as the message type), and the deletion notification is performed according to the previous node information included in its own index information.
  • the message is transmitted to the relay node ni l in the direction opposite to the root node nl4 (that is, in the downstream direction).
  • the relay node ni l deletes the index information stored as the index information including the storage source node information indicated in the deletion notification message.
  • the deletion notification message is discarded at the relay node nl 1 and relayed from the relay node nl 1. This is not transferred to the node n8 (details will be described later).
  • the index information when the transfer path is changed, the index information can be registered in the new relay node on the transfer path after the change more efficiently (without waste), and the index information is immediately before the index information.
  • the deletion notification message can be transferred to the downstream side. Therefore, when the route is changed, the index information can be deleted from the relay node in the transfer route before the change.
  • the index information including the storage source node information can be surely deleted (after change)
  • the index information registered in the relay node in the transfer path of the normal is sent from the content holding node Deleted by delete notification message).
  • FIG. 8 is a conceptual diagram showing a state in which a deletion notification message is sent from the relay node that has received the content location inquiry (search) to the upstream side and the downstream side.
  • the relay node nl 2 that has received the content location inquiry (search) indicates that the content holding node has left, or the content
  • search content location inquiry
  • search content location query
  • a deletion notification message is sent to the upstream side in accordance with the transfer destination node information registered in the DHT routing table, and the downstream node is transmitted in accordance with the previous node information.
  • a delete notification message is sent to the device.
  • the relay node can also store the storage source node information and the like that are no longer necessary even when a content location query (search) is performed by a user node.
  • the index information that is included can be completely deleted.
  • FIG. 9 is a diagram illustrating a schematic configuration example of the node nn.
  • the node nn includes a CPU 11 having a calculation function, a working RAM, various data and a ROM 11 for storing programs, a controller 11 as a computer configured, and various data (for example, , Content data, index information, DHT) and a program for storing and storing (storing) a storage unit 12 as a storage means composed of an HDD and the like, a buffer memory 13 for temporarily storing received content data, Content data
  • the decoder unit 14 for decoding (data decompression, decoding, etc.) the encoded video data (video information) and audio data (audio information) included in the video data, and a predetermined drawing for the decoded video data etc.
  • a video processing unit 15 that performs processing and outputs a video signal
  • a display unit 16 such as a CRT or a liquid crystal display that displays video based on the video signal output from the video processing unit 15, and the decoded audio data
  • the audio processing unit 17 converts the D (Digital) / A (Analog) signal into an audio signal and then amplifies it with an amplifier and outputs it, and the speaker 18 outputs the audio signal output from the audio processing unit 17 as a sound signal.
  • the communication unit 20 for controlling communication of information with the other node nn through the network 8, and accepting an instruction from the user power and responding to the instruction And an input unit (for example, a keyboard, a mouse, or an operation panel) 21 that gives an instruction signal to the control unit 11, and includes a control unit 11, a storage unit 12, a buffer memory 13, a decoder unit 14,
  • the communication unit 20 is connected to each other via a node 22.
  • a personal computer, STB (Set Top Box), TV receiver or the like can be applied.
  • control unit 11 causes the CPU to read and execute a program (including the node processing program of the present invention) stored in the storage unit 12 (the recording medium of the present invention), thereby
  • the node information change according to the present invention is performed in such a manner that at least one of the above-described user node, relay node, root node, cache node, and content holding node is performed.
  • Detection means storage source node information extraction means, re-registration message generation means, re-registration message transmission means, registration message reception means, registration message transfer means, storage discrimination means, re-registration message transfer means, deletion message transmission means, Transfer route match determination means, storage source node information deletion means, message generation source match determination means, delete message transfer Means functions as a request message receiving hands stage, and confirmation means like, and performs various processes described later.
  • the index cache area stores index information corresponding to various contents, and the index corresponding to the contents (content ID) managed by itself as a root node. Status information and index information corresponding to content (content ID) managed as a cache node instead of the root node may be stored together.
  • 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 ⁇ .
  • FIG. 10 is a flowchart showing a republish message transmission process in the control unit 11 of the node nn.
  • FIGS. 11 to 13 show a reception process of a republish message and the like in the control unit 11 of the node nn.
  • FIG. 14 is a flowchart showing a content location inquiry (search) message reception process in the control unit 11 of the node nn.
  • the process shown in FIG. 10 detects a change in the forwarding node information registered in the routing table of a certain node nn force DHT, that is, a change in the forwarding destination of a message corresponding to a certain content ID.
  • the change of forwarding destination node information includes, for example, the following cases (1) to (3).
  • transfer history of transfer destination node information (for example, change time, changed table entry, transfer destination node information before change, and transfer destination node information after change) is stored in, for example, the storage unit 12. Will be remembered.
  • the control unit 11 of the node nn is first registered in the table entry 1 in which the changed row and column forces are also specified in the DHT routing table. All of the storage source node information that is the node nn that is the next transfer destination (that is, V and the storage source node information included in the publish message transferred according to the transfer destination node information before the change)
  • the index cache area force in the storage unit 12 is also extracted and acquired (Step Sl). Note that the index information corresponding to the content ID managed by itself as the root node is not subject to extraction.
  • control unit 11 of the node nn re-publishes the message including the storage source node information and the content ID included in the extracted index information, the self node information indicating the self, and the message generation source information ( A message type “registration”) is generated for each of the extracted index information (step S2).
  • control unit 11 of the node nn sends the generated republish message according to the changed transfer destination node information (that is, the IP address and port included in the transfer destination node information). (To number) (step S3), and end the process
  • FIG. 11 starts when an arbitrary node nn receives a publish message, a republish message, or a delete notification message.
  • Step S11 determines whether or not the type of the received message is “registration” (step S11), and “registration”. If (Step S11: Y), the process proceeds to Step S12. If it is not “registration” (that is, “deletion”) (Step S11: N), the process proceeds to Step S13.
  • step S21 the control unit 11 is already stored in the index cache area as the storage source node information and content ID power index information included in the message. Then, it is determined whether or not the force is sufficient (step S21). If it is determined that the storage source node information is stored (step S21: N), whether or not it is the root node of the content ID included in the message (for example, its own node) It is determined whether the ID is closest to the content ID (whether more upper digits match) (step S22).
  • the control unit 11 determines the node nn immediately before the received message (for example, the republish message).
  • the node information nn (for example, the content included in the message) that should be the next forwarding destination registered in the routing table of its own DHT is changed.
  • the forwarding destination node information of the node nn having the node ID closest to the ID (for example, the higher digit matches more) (that is, to the IP address and port number included in the forwarding destination node information) Transfer (step S23).
  • control unit 11 includes the storage source node information and the content ID included in the received message, and the immediately preceding node information indicating the node nn immediately before!
  • the included index information is stored in the index cache area in the storage unit 12 (step S24), and the process returns to the process shown in FIG. 11 (end of the process).
  • the republish message is transferred from the relay node nlO to the relay node nl2.
  • the processing in steps S22 to S24 is also performed when a publish message sent from the content holding node is received.
  • step S22 when self is the root node of the content ID included in the message (in this case, the message is a publish message (or re-publish Message) S22: Y), the control unit 11 includes the storage source node information and content ID included in the received message, and the immediately preceding node information indicating the immediately preceding node nn included when the message is received.
  • the index information is stored in the index cache area in the storage unit 12 (step S24), and the process returns to the process shown in FIG. 11 (end of the process).
  • step S21 if it is determined in step S21 that the storage source node information and the content ID included in the message are stored as index information in the index cache area (step S21). : Y), the control unit 11 is further stored in association with the immediately preceding node information indicating the node nn immediately before the message is transferred, the storage source node information and the content ID included in the message. It is determined whether or not the force matches the immediately preceding node information (step S25). If they match (step S25: Y), the processing returns to the processing shown in FIG. 11 (end of the processing).
  • the immediately preceding node information indicating the node nn immediately before the transfer of the current message (for example, the republish message), the storage source node information and the content ID included in the message, and the index. If the previous node information stored in the cache cache area (that is, the previous node information included in the previous message) matches, it means that there is no route change, and the message is a content holding node Since the node nn force in the transfer path before the change sent from the node is also transferred (for example, transferred from the node ni l to the node nl3 shown in FIG. 6), the deletion notification message described later is not transmitted downstream. Because.
  • the immediately preceding node information indicating the node nn immediately before the message is transferred, and the immediately preceding node information stored in association with the storage source node information and the content ID included in the message. If it is determined that the message is not correct (for example, the message is transferred from the node nl 2 to the node nl 3 shown in FIG. 6) (step S25: N), the control unit 11 Change the previous node information indicating the previous node nn included in the received message (republish message) to the own node information indicating self, and change the message type to “delete” (that is, Then, the republish message is changed to a delete notification message) (step S26).
  • the control unit 11 sends the deletion notification message (deletion notification message indicating a deletion request for the storage source node information included in the republishing message) to the received message.
  • the deletion notification message (deletion notification message indicating a deletion request for the storage source node information included in the republishing message)
  • the control unit 11 Based on the previous node information stored in the index cache area in association with the storage source node information and content ID included in the message (republish message) (that is, the IP address and Send to the port number (step S27). That is, the immediately preceding node information indicating the node nn immediately before the message is transferred and the immediately preceding node information stored in association with the storage source node information and the content ID included in the message. Only when it is determined that the message is not correct (in step S25), the deletion notification message is transmitted to the downstream side.
  • a deletion notification message is transmitted from the relay node nl3 to the node nil.
  • the control unit 11 deletes the index information corresponding to the content ID and the storage source node information included in the received message (republish message) from the index cache area (step S28), and the message Index cache information in the storage unit 12 includes index information including the storage source node information and content ID included in the message and the immediately preceding node information indicating the node nn immediately before the message received! / It is newly stored in the area (this causes the immediately preceding node information included in the index information to be updated) (step S24), and the process returns to the process shown in FIG. 11 (end of the process).
  • the control unit 11 uses the index cache as the storage node information and content ID included in the deletion notification message as index information. It is determined whether or not it is already stored in the area (step S31). If it is determined that the storage source node information is not stored (step S31: N), the processing returns to the processing shown in FIG. 11 (end of the processing).
  • step S31: Y if it is determined that the storage source node information and the content ID included in the deletion notification message are stored in the index cache area as index information (step S31: Y), the control unit 11 Furthermore, the immediately preceding node information indicating the node nn immediately before the message is transferred, the immediately preceding stored node information and the content ID included in the message! It is determined whether or not it matches the node information (step S32), and if it matches (if it is a deletion notification message sent from a content holding node that does not have a route change) (step S32: Y), Step S33 If they do not match (step S32: N), the process proceeds to step S36.
  • step S33 the control unit 11 determines whether or not it is the root node of the content ID included in the deletion notification message. If it is not the root node (step S33: N), The received deletion notification message is transferred in accordance with the transfer destination node information of the node nn to be the next transfer destination registered in its own DHT routing table (step S34). On the other hand, if it is the root node (step S33: Y), the control unit 11 stores the index information corresponding to the content ID and the storage source node information included in the received deletion notification message in the index cache area. (Step S35), and the process returns to the process shown in FIG. 11 (end of the process).
  • step S36 the control unit 11 includes the message generation source node information included in the received deletion notification message (that is, the republish message corresponding to (based on) the deletion notification message.
  • the re-registration message generation source node information indicating the generation node nn) matches the previous node information stored in the index cache area corresponding to the storage source node information and content ID included in the message. It is determined whether or not the force to perform.
  • the control unit 11 determines that the message generation source node information matches the previous node information (for example, as shown in FIG. 7, the message sent from the relay node n8 returns).
  • Step S36 discard the deletion notification message (without forwarding the message further downstream), and include the content ID and storage source node information contained in the received deletion notification message.
  • the index information corresponding to is deleted from the index cache area (step S35), and the process returns to the process shown in FIG. 11 (end of the process). As a result, for example, as shown in FIG. 7, the index information is deleted from the node ni l in the old transfer path.
  • step S36 determines that the message generation source node information and the immediately preceding node information do not match (step S36: Y)
  • the received deletion notification message is received. Is stored in the index cache area in association with the storage source node information and content ID included in the message, and according to the immediately preceding node information (that is, the IP address and port number included in the immediately preceding node information). (That is, forward further downstream) (step S37), and the received deletion notification message
  • the index information corresponding to the included content ID and storage source node information is deleted from the index cache area (step S35), and the process returns to the process shown in FIG. 11 (end of the process).
  • the immediately preceding node information indicating the node nn immediately before the message is transferred, the immediately preceding node information stored in association with the storage source node information and the content ID included in the message, and Only when it is determined that there is no good! / ⁇ (in step S32), the deletion notification message is transferred to the downstream side.
  • the control unit 11 of the node nn index-caches all the index information corresponding to the content ID included in the received content location inquiry (search) message.
  • the region force is also acquired (step S41).
  • control unit 11 sets (initializes) the variable i to “1” and the variable N to the number of the obtained index information (step S42).
  • control unit 11 determines whether or not the variable i is less than or equal to the variable N (step S43). If the variable i is less than or equal to the variable N (step S43: Y), the control unit 11 The acquired index information is associated with variable I (step S44).
  • the control unit 11 receives the content location query received by the relay node indicated by the immediately preceding node information included in the index information (hereinafter referred to as "index information I") associated with the variable I.
  • index information I index information associated with the variable I.
  • search It is determined whether or not it matches the relay node immediately before the message was transferred (step S45) . If it does not match (step S45: N), the content holding node exists (that is, (Or confirmation that the content holding node stores the content data corresponding to the content ID corresponding to the request) (step S46). For example, the node nn tries to access the content holding node according to the storage source node information included in the index information I, and the content holding node is alive or the content ID related to the request.
  • step S46 When the content holding node exists (or when content data corresponding to the content ID related to the request is stored) (step S46: Y), the control unit 11 The index information I is transmitted to the user node that sent the content location inquiry (search) message (step S47), the variable i is incremented by 1 (step S48), and the process returns to step S43.
  • step S45 when the relay node indicated by the immediately preceding node information included in the index information I matches the relay node immediately before the received content location inquiry (search) message is transferred in step S45, ( In step S45: Y), since it is considered that the index information I has already been transmitted to the user node by the immediately preceding relay node, steps S46 and S47 are performed so as not to notify the duplicate index information I. Proceed to step S48 without performing any processing.
  • step S46 if the content holding node does not exist in step S46 (or if the content data corresponding to the requested content ID is not stored) (step S46: N), control is performed.
  • the unit 11 generates a downstream deletion notification message indicating a deletion request of the index information I including the storage source node information related to the request, and the message is transmitted according to the immediately preceding node information included in the index information I (that is, To the downstream side (to the IP address and port number included in the previous node information) (step S49)
  • the downstream deletion notification message is transmitted from the relay node nl2 to the relay node nlO, and the downstream deletion notification message is as shown in FIG.
  • the index information I is deleted at the relay node in the transfer path.
  • the control unit 11 determines whether or not it is the root node of the content ID included in the index information I (for example, its own node ID is closest to the content ID (the higher digit is larger). The matching force is determined (step S50), and if it is not the root node (step S50: N), an upstream deletion notification message indicating a deletion request for index information I including the storage source node information related to the above request is sent.
  • Node nn that is registered in the routing table of its own DHT and should be the forwarding destination (for example, the above)
  • the transfer destination node information of the node ID having the node ID closest to the content ID included in the index information I (for example, the node ID that matches the higher digits more) (that is, the IP address included in the transfer destination node information) (To the port number) (step S51)
  • the process proceeds to step S52 as it is.
  • the upstream deletion notification message is transmitted from the relay node nl2 to the relay node nl3, and the upstream deletion notification message is as shown in FIG.
  • the index information I is deleted at the root node and the relay node in the transfer path.
  • step S52 the controller 11 deletes the index information I from the index cache area, and proceeds to step S48.
  • step S43: N the control unit 11 determines whether or not it is a root node of the content ID included in the content location inquiry (search) message. If it is determined (step S53) and it is not the root node (step S53: N), the content location query (search) message is sent to the node nn that should be the transfer destination registered in the routing table of its own DHT. The transfer is performed according to the transfer destination node information (step S54), and the process is terminated. On the other hand, if it is the root node of the content ID (step S53: Y), the process is terminated as it is.
  • the relay node when the relay node detects a change in the transfer destination node information, the content ID included in the publish message transferred according to the transfer destination node information before the change. And the storage source node information is extracted from the index cache area, a republish message including the extracted content ID and storage source node information is generated, and this is transmitted according to the changed transfer destination node information.
  • the republish message is forwarded (upstream) toward the root node of the content ID, the network can be compared with sending a republish message from the content holding node at a predetermined interval. More efficient than loading 8
  • the index information can be stored in the relay node on the new transfer route after the change (without waste).
  • the republish message is switched to the delete notification message and directed to the content holding node (downstream). Since the index information is deleted from the relay node in the old transfer route, the transfer route is changed and the content holding node leaves, or the node When content data is deleted, unnecessary index information can be deleted reliably (without being overlooked) more efficiently and without waste. However, since the deletion notification message is sent when there is a change in the route change, it is certainly unnecessary without reducing the content data search efficiency and without burdening the network 8. Index information can be deleted. Therefore, it is possible to prevent the index cache area from being occupied by unnecessary index information. Therefore, the content data search efficiency is not lowered, and even the index information required by the storage capacity of the index cache area being exceeded. It is possible to prevent the memory from being lost.
  • the deletion notification message can be transferred to the downstream side and republished.
  • the deletion notification message transferred downstream can be stopped before the relay node that generated the republish message (see Fig. 7).
  • index information Furthermore, by including the immediately preceding node information in the index information, it is possible to send a deletion notification message to the downstream side even when a content location inquiry (search) is made from a user node, which is unnecessary. It is possible to completely delete index information that has become (see Fig. 8).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード 処理プログラムを記録した記録媒体
技術分野
[0001] ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Pe er to Peer (P2P) )型の情報配信システムであって、他のノード装置力 受信したメッ セージの転送先のノード装置を示す転送先ノード情報が夫々のノード装置に記憶さ れ、且つ、配信情報が複数のノード装置に分散して保持される情報配信システム等 に関し、特に、当該配信情報を保存するノード装置を示すノード情報を管理するため の技術分野に関する。
背景技術
[0002] この種のピアツーピア型の情報配信システムにお 、ては、配信情報 (例えば、コン テンッデータ)を、当該システムに参加している複数のノード装置に分散配置 (分散 保存)させておくことで、対故障性やアクセスの分散性を高める手法が知られている。 このように分散保存されたコンテンツデータの所在は、例えば非特許文献 1に開示さ れるような分散ハッシュテーブル(以下、 DHT (Distributed Hash Table)という)を利 用して効率良く検索可能になっている。当該 DHTは、各ノード装置に記憶されてお り、当該 DHTには、メッセージの転送先となるべき複数のノード装置を示す転送先ノ ード情報 (例えば、該ノード装置に固有のノード ID、 IPアドレス及びポート番号を含 む)が登録されている。
[0003] 例えば、上記コンテンツデータ力 あるノード装置に保存された場合、当該ノード装 置は、当該ノード装置を示す保存元ノード情報 (例えば、 IPアドレス及びポート番号 を含む)の登録要求を示す登録メッセージ(当該コンテンツデータに固有のコンテン ッ ID、及び当該ノード装置を示す保存元ノード情報を含む)を、他のノード装置に送 出する。当該登録メッセージは、上記コンテンツ ID及び DHTにしたがって、複数の 中継のノード装置により当該コンテンツデータの所在の管理元のノード装置 (後述す るルートノード)にまで転送され、当該管理元のノード装置において上記保存元ノード 情報が記憶され、管理される。また、当該保存元ノード情報は、上記登録メッセージ の転送経路上にある上記複数の中継のノード装置にぉ 、ても記憶され、管理される
[0004] そして、上記コンテンツデータの取得を望むノード装置は、当該コンテンツデータの 所在を検索するコンテンツ所在問合せ (検索)メッセージ(当該コンテンッ ID及び当 該ノード装置を示すノード情報を含む)を他のノード装置に送出することにより、当該 コンテンツ所在問合せ (検索)メッセージは、上記コンテンツ ID及び DHTにしたがつ て、複数の中継のノード装置(上記登録メッセージの転送経路上にある中継のノード 装置と一致する場合もあるし一致しない場合もある)により当該コンテンツデータの所 在の管理元のノード装置に向力つて転送される。もし、当該転送経路上に存在する 中継のノード装置が上記保存元ノード情報を管理して!/、た場合、上記コンテンツ所 在問合せ (検索)メッセージを送出したノード装置は、当該中継のノード装置力も保存 元ノード情報を取得することになり、当該転送経路上に存在する何れの中継のノード 装置も上記保存元ノード情報を管理していない場合、最終的に当該メッセージが迪り 着く上記管理元のノード装置力も保存元ノード情報を取得することになる。これにより 、コンテンツ所在問合せ (検索)メッセージを送出したノード装置は、その保存元ノー ド情報により特定されるノード装置から上記コンテンツデータを取得可能となる。 非特許文献 1 :「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報
発明の開示
発明が解決しょうとする課題
[0005] ところで、上述したようなピアツーピア型の情報配信システムにおいては、ノード装 置の参加若しくは脱退 (電源オフ等による)が頻繁に行われるため、上記コンテンツ データを保存しているノード装置から上記管理元のノード装置に至る転送経路が変 更される場合がある。かかる場合、変更後の転送経路上における中継のノード装置 に上記保存元ノード情報を記憶させることが望ましいので、例えば、コンテンツデータ を保存しているノード装置は、所定間隔で再登録メッセージを送出することが考えら れる。 [0006] し力しながら、所定間隔で再登録メッセージを送出することは、ネットワークに多大 な負荷を与えてしまい、また、転送経路に変更がない場合には、当該再登録メッセ一 ジの送出は無駄になるという問題がある。
[0007] 本発明は、以上の問題等に鑑みてなされたものであり、上記コンテンツデータを保 存しているノード装置から上記管理元のノード装置に至る転送経路が変更された場 合に、より効率良く(無駄なく)変更後の新しい転送経路上における中継のノード装置 に保存元ノード情報を記憶させることができる情報配信システム、再登録メッセージ 送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体を提供するこ とを課題とする。
課題を解決するための手段
[0008] 上記課題を解決するために、請求項 1に記載の発明は、ネットワークを介して互い に通信可能な複数のノード装置を備え、他のノード装置力 受信したメッセージの転 送先のノード装置を示す転送先ノード情報が夫々のノード装置に記憶され、且つ、少 なくとも 1の配信情報が複数のノード装置に分散して保存される情報配信システムで あって、前記配信情報が 1のノード装置に保存された場合に、当該配信情報を保存 した当該 1のノード装置を示す保存元ノード情報を含む登録メッセージが当該 1のノ ード装置から送出され、当該登録メッセージは、前記転送先ノード情報にしたがって 、複数の中継のノード装置により前記配信情報の所在の管理元のノード装置まで転 送され、前記複数の中継のノード装置及び前記管理元のノード装置において前記保 存元ノード情報が記憶されるようにした情報配信システムに含まれる前記中継のノー ド装置であって、前記転送先ノード情報及び前記保存元ノード情報を記憶する記憶 手段と、前記転送先ノード情報の変更を検出するノード情報変更検出手段と、変更 前の前記転送先ノード情報にしたがって転送した前記登録メッセージに含まれる前 記保存元ノード情報を前記記憶手段から抽出する保存元ノード情報抽出手段と、前 記抽出された前記保存元ノード情報を含む再登録メッセージを生成する再登録メッ セージ生成手段と、前記生成された前記再登録メッセージを、変更後の前記転送先 ノード情報にしたがって送信する再登録メッセージ送信手段と、を備えることを特徴と する。 [0009] 請求項 1に記載の発明によれば、前記中継のノード装置が、転送先ノード情報の変 更を検出した場合に、変更前の転送先ノード情報にしたがって転送した登録メッセ一 ジに含まれる保存元ノード情報を記憶手段力 抽出し、該抽出された保存元ノード情 報を含む再登録メッセージを生成して、これを、変更後の転送先ノード情報にしたが つて送信するようにしたので、所定間隔で再登録メッセージを送出することに比して、 ネットワークに負荷をかけることなぐより効率良く(無駄なく)変更後の新しい転送経 路上における中継のノード装置に保存元ノード情報を記憶させることができる。
[0010] 請求項 2に記載の発明は、請求項 1に記載のノード装置において、前記保存元ノー ド情報に加えて、自己に前記登録メッセージを送信又は転送した直前の前記ノード 装置を示す直前ノード情報を含む前記登録メッセージを受信する登録メッセージ受 信手段と、前記受信された登録メッセージに含まれる前記直前ノード情報を、自己を 示す自ノード情報に変更して当該登録メッセージを、前記転送先ノード情報にしたが つて転送する登録メッセージ転送手段と、を備えることを特徴とする。
[0011] 請求項 2に記載の発明によれば、登録メッセージ中に直前の前記ノード装置を示 す直前ノード情報を含ませることで、後に、削除メッセージを下流側のノード装置に対 して送信することができる。
[0012] 請求項 3に記載の発明は、請求項 1又は 2に記載のノード装置において、前記再登 録メッセージ生成手段は、前記保存元ノード情報と、当該再登録メッセージの生成元 である自己を示す再登録メッセージ生成元ノード情報とを含む再登録メッセージを生 成することを特徴とする。
[0013] 請求項 3に記載の発明によれば、再登録メッセージ中に当該メッセージの生成元で ある再登録メッセージ生成元ノード情報を含ませることで、後に、下流側に送信され た削除メッセージを当該再登録メッセージの生成元のノード装置の手前でとめること ができる。
[0014] 請求項 4に記載の発明は、請求項 1乃至 3の何れか一項に記載の中継のノード装 置力も送信された再登録メッセージ、又は、他の中継のノード装置力も転送された前 記再登録メッセージを受信するノード装置であって、前記転送先ノード情報を記憶す る記憶手段と、前記受信した再登録メッセージに含まれる保存元ノード情報が既に記 憶されて!、るか否かを判別する記憶判別手段と、記憶されて!、な!、と判別された場 合には、前記保存元ノード情報を記憶し、当該再登録メッセージを、前記転送先ノー ド情報にしたがって転送する再登録メッセージ転送手段と、を備えることを特徴とする
[0015] 請求項 4に記載の発明によれば、所定間隔で再登録メッセージを送出することに比 して、ネットワークに負荷を与えることなぐより効率良く(無駄なく)変更後の新しい転 送経路上における中継のノード装置に保存元ノード情報を記憶させることができる。
[0016] 請求項 5に記載の発明は、請求項 1乃至 3の何れか一項に記載の中継のノード装 置から送信され、他の中継のノード装置力 転送された前記再登録メッセージを受信 するノード装置であって、自己に前記登録メッセージを送信又は転送した直前の前 記ノード装置を示す直前ノード情報を、当該登録メッセージに含まれる前記保存元ノ ード情報に対応付けて記憶する記憶手段と、前記受信した再登録メッセージに含ま れる保存元ノード情報が既に記憶されて 、るか否かを判別する記憶判別手段と、記 憶されて ヽると判別された場合には、前記再登録メッセージに含まれる保存元ノード 情報の削除要求を示す削除メッセージを、当該保存元ノード情報に対応付けられて 記憶されている前記直前ノード情報にしたがって送信する削除メッセージ送信手段と 、を備えることを特徴とする。
[0017] 請求項 5に記載の発明によれば、前記再登録メッセージに含まれる保存元ノード情 報の削除要求を示す削除メッセージを、当該保存元ノード情報に対応付けられて記 憶されて 、る前記直前ノード情報にしたがって送信するので、上記転送経路が変更 され、且つ、上記配信情報を保存しているノード装置が脱退した場合、或いは、当該 ノード装置が配信情報を削除した場合に、より効率良く (無駄なく)、確実に保存元ノ ード情報を削除することができる。し力も、当該削除メッセージは、経路変更があった 場合に送出されるので、配信情報の検索効率を低下させることなぐ更に、ネットヮー クに負荷をかけることなく確実に保存元ノード情報を削除することができる。
[0018] 請求項 6に記載の発明は、請求項 5に記載のノード装置において、前記再登録メッ セージを転送した直前のノード装置を示すノード情報と、前記保存元ノード情報に対 応付けられて記憶されている前記直前ノード情報とがー致する力否かを判別する転 送経路一致判別手段を更に備え、前記削除メッセージ送信手段は、前記転送経路 一致判別手段により一致しないと判別された場合にのみ、前記削除メッセージを、前 記直前ノード情報にしたがって送信することを特徴とする。
[0019] 請求項 6に記載の発明によれば、前記再登録メッセージを転送した直前のノード装 置を示すノード情報と、前記保存元ノード情報に対応付けられて記憶されて!、る前記 直前ノード情報とがー致する場合にのみ、削除メッセージを送信するようにしたので、 経路変更がない場合に、不要な削除メッセージが送信されることを防止することがで きる。
[0020] 請求項 7に記載の発明は、請求項 5又は 6に記載のノード装置力 送信された削除 メッセージを受信するノード装置であって、自己に前記登録メッセージを送信又は転 送した直前の前記ノード装置を示す直前ノード情報を、当該登録メッセージに含まれ る前記保存元ノード情報に対応付けて記憶する記憶手段と、前記削除メッセージに 示された前記保存元ノード情報であって前記記憶されている前記保存元ノード情報 を削除する保存元ノード情報削除手段と、前記削除メッセージに対応する前記再登 録メッセージの生成元のノード装置を示す再登録メッセージ生成元ノード情報と、前 記保存元ノード情報に対応付けられて記憶されている前記直前ノード情報とがー致 するか否かを判別するメッセージ生成元一致判別手段と、前記メッセージ生成元一 致判別手段により一致しないと判別された場合には、前記削除要求を示す削除メッ セージを、前記直前ノード情報にしたがって転送する削除メッセージ転送手段と、を 備えることを特徴とする。
[0021] 請求項 7に記載の発明によれば、前記削除メッセージに対応する前記再登録メッセ ージの生成元のノード装置を示す再登録メッセージ生成元ノード情報と、前記保存 元ノード情報に対応付けられて記憶されている前記直前ノード情報とがー致しないと 判別された場合に、前記削除要求を示す削除メッセージを、前記直前ノード情報に したがって転送するようにしたので、必要以上に保存元ノード情報が削除されることを 防止することができる。
[0022] 請求項 8に記載の発明は、請求項 7に記載のノード装置において、前記再登録メッ セージを転送した直前のノード装置を示すノード情報と、前記保存元ノード情報に対 応付けられて記憶されている前記直前ノード情報とがー致する力否かを判別する転 送経路一致判別手段を更に備え、前記削除メッセージ転送手段は、前記転送経路 一致判別手段により一致しないと判別された場合にのみ、前記削除メッセージを、前 記直前ノード情報にしたがって転送することを特徴とする。
[0023] 請求項 8に記載の発明によれば、前記再登録メッセージを転送した直前のノード装 置を示すノード情報と、前記保存元ノード情報に対応付けられて記憶されて!、る前記 直前ノード情報とがー致する場合にのみ、削除メッセージを転送するようにしたので、 経路変更がない場合に、不要な削除メッセージが送信されることを防止することがで きる。
[0024] 請求項 9に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装 置を備え、他のノード装置力 受信したメッセージの転送先のノード装置を示す転送 先ノード情報が夫々のノード装置に記憶され、且つ、少なくとも 1の配信情報が複数 のノード装置に分散して保存される情報配信システムであって、前記配信情報が 1の ノード装置に保存された場合に、当該配信情報を保存した当該 1のノード装置を示 す保存元ノード情報を含む登録メッセージが当該 1のノード装置から送出され、当該 登録メッセージは、前記転送先ノード情報にしたがって、複数の中継のノード装置に より前記配信情報の所在の管理元のノード装置まで転送され、前記複数の中継のノ ード装置及び前記管理元のノード装置において前記保存元ノード情報と自己に前記 登録メッセージを送信又は転送した直前の前記ノード装置を示す直前ノード情報と が対応付けられて記憶されるようにした情報配信システムに含まれる前記中継のノー ド装置であって、前記転送先ノード情報、前記保存元ノード情報、及び前記直前ノー ド情報を記憶する記憶手段と、前記保存元ノード情報の要求を示す要求メッセージ を受信する要求メッセージ受信手段と、前記要求に係る保存元ノード情報に示される ノード装置が存在して 、るかの確認を行う確認手段と、前記存在して 、な 、ことが確 認された場合には、前記要求に係る保存元ノード情報の削除要求を示す上流側削 除メッセージを、前記転送先ノード情報にしたがって送信し、且つ、前記要求に係る 保存元ノード情報の削除要求を示す下流側削除メッセージを、前記直前ノード情報 にしたがって送信する削除メッセージ送信手段と、前記ノード装置が存在していない ことが確認された場合には、前記要求に係る保存元ノード情報であって前記記憶さ れている前記保存元ノード情報を削除する保存元ノード情報削除手段と、を備えるこ とを特徴とする。
[0025] 請求項 9に記載の発明によれば、配信情報の所在問合せ (検索)時にも、不要にな つた保存元ノード情報を完全に削除させることができる。
[0026] 請求項 10に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装 置を備え、他のノード装置力 受信したメッセージの転送先のノード装置を示す転送 先ノード情報が夫々のノード装置に記憶され、且つ、少なくとも 1の配信情報が複数 のノード装置に分散して保存される情報配信システムであって、前記配信情報が 1の ノード装置に保存された場合に、当該配信情報を保存した当該 1のノード装置を示 す保存元ノード情報を含む登録メッセージが当該 1のノード装置から送出され、当該 登録メッセージは、前記転送先ノード情報にしたがって、複数の中継のノード装置に より前記配信情報の所在の管理元のノード装置まで転送され、前記複数の中継のノ ード装置及び前記管理元のノード装置において前記保存元ノード情報と自己に前記 登録メッセージを送信又は転送した直前の前記ノード装置を示す直前ノード情報と が対応付けられて記憶されるようにした情報配信システムに含まれる前記中継のノー ド装置であって、前記転送先ノード情報、前記保存元ノード情報、及び前記直前ノー ド情報を記憶する記憶手段と、前記保存元ノード情報の要求を示す要求メッセージ を受信する要求メッセージ受信手段と、前記要求に係る保存元ノード情報に示される ノード装置が前記配信情報を保存して ヽるかの確認を行う確認手段と、前記保存し ていないことが確認された場合には、前記要求に係る保存元ノード情報の削除要求 を示す上流側削除メッセージを、前記転送先ノード情報にしたがって送信し、且つ、 前記要求に係る保存元ノード情報の削除要求を示す下流側削除メッセージを、前記 直前ノード情報したがって送信する削除メッセージ送信手段と、前記ノード装置が存 在して 、な 、ことが確認された場合には、前記要求に係る保存元ノード情報であって 前記記憶されている前記保存元ノード情報を削除する保存元ノード情報削除手段と 、を備えることを特徴とする。
[0027] 請求項 10に記載の発明によれば、配信情報の所在問合せ (検索)時にも、不要に なった保存元ノード情報を完全に削除させることができる。
[0028] 請求項 11に記載の発明は、請求項 9又は 10に記載のノード装置力も送信された下 流側削除メッセージを受信するノード装置であって、前記保存元ノード情報及び前記 直前ノード情報を記憶する記憶手段と、前記受信された下流側削除メッセージに示 される前記保存元ノード情報であって前記記憶されている前記保存元ノード情報を 削除する保存元ノード情報削除手段と、を備えることを特徴とする。
[0029] 請求項 12に記載のノード処理プログラムがコンピュータ読み取り可能に記録されて いることを特徴とする記録媒体は、コンピュータを、請求項 1乃至 11の何れか一項に 記載のノード装置として機能させることを特徴とする。
[0030] 請求項 13に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装 置を備え、他のノード装置力 受信したメッセージの転送先のノード装置を示す転送 先ノード情報が夫々のノード装置に記憶され、且つ、少なくとも 1の配信情報が複数 のノード装置に分散して保存される情報配信システムであって、前記配信情報が 1の ノード装置に保存された場合に、当該配信情報を保存した当該 1のノード装置を示 す保存元ノード情報を含む登録メッセージが当該 1のノード装置から送出され、当該 登録メッセージは、前記転送先ノード情報にしたがって、複数の中継のノード装置に より前記配信情報の所在の管理元のノード装置まで転送され、前記複数の中継のノ ード装置及び前記管理元のノード装置において前記保存元ノード情報が記憶される ようにした情報配信システムにおいて、前記中継のノード装置は、前記転送先ノード 情報及び前記保存元ノード情報を記憶する記憶手段と、前記転送先ノード情報の変 更を検出するノード情報変更検出手段と、変更前の前記転送先ノード情報にしたが つて転送した前記登録メッセージに含まれる前記保存元ノード情報を前記記憶手段 から抽出する保存元ノード情報抽出手段と、前記抽出された前記保存元ノード情報 を含む再登録メッセージを生成する再登録メッセージ生成手段と、前記生成された 前記再登録メッセージを、変更後の前記転送先ノード情報にしたがって送信する再 登録メッセージ送信手段と、を備え、前記再登録メッセージを受信したノード装置は、 前記転送先ノード情報を記憶する記憶手段と、前記受信した再登録メッセージに含 まれる保存元ノード情報が既に記憶されている力否かを判別する記憶判別手段と、 前記記憶されていないと判別された場合には、前記保存元ノード情報を記憶し、当 該再登録メッセージを、前記転送先ノード情報にしたがって転送する再登録メッセ一 ジ転送手段と、を備えることを特徴とする。
請求項 14に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装 置を備え、他のノード装置力 受信したメッセージの転送先のノード装置を示す転送 先ノード情報が夫々のノード装置に記憶され、且つ、少なくとも 1の配信情報が複数 のノード装置に分散して保存される情報配信システムであって、前記配信情報が 1の ノード装置に保存された場合に、当該配信情報を保存した当該 1のノード装置を示 す保存元ノード情報を含む登録メッセージが当該 1のノード装置から送出され、当該 登録メッセージは、前記転送先ノード情報にしたがって、複数の中継のノード装置に より前記配信情報の所在の管理元のノード装置まで転送され、前記複数の中継のノ ード装置及び前記管理元のノード装置において前記保存元ノード情報が記憶される ようにした情報配信システムにおいて、前記中継のノード装置は、前記転送先ノード 情報及び前記保存元ノード情報を記憶する記憶手段と、前記転送先ノード情報の変 更を検出するノード情報変更検出手段と、変更前の前記転送先ノード情報にしたが つて転送した前記登録メッセージに含まれる前記保存元ノード情報を前記記憶手段 から抽出する保存元ノード情報抽出手段と、前記抽出された前記保存元ノード情報 を含む再登録メッセージを生成する再登録メッセージ生成手段と、前記生成された 前記再登録メッセージを、変更後の前記転送先ノード情報にしたがって送信する再 登録メッセージ送信手段と、を備え、前記再登録メッセージを受信したノード装置は、 自己に前記登録メッセージを送信又は転送した直前の前記ノード装置を示す直前ノ ード情報を、当該登録メッセージに含まれる前記保存元ノード情報に対応付けて記 憶する記憶手段と、前記受信した再登録メッセージに含まれる保存元ノード情報が 既に記憶されて!、るか否かを判別する記憶判別手段と、前記記憶されて!、ると判別 された場合には、前記再登録メッセージに含まれる保存元ノード情報の削除要求を 示す削除メッセージを、当該保存元ノード情報に対応付けられて記憶されて!、る前 記直前ノード情報にしたがって送信する削除メッセージ送信手段と、を備えることを 特徴とする。 [0032] 請求項 15に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装 置を備え、他のノード装置力 受信したメッセージの転送先のノード装置を示す転送 先ノード情報が夫々のノード装置に記憶され、且つ、少なくとも 1の配信情報が複数 のノード装置に分散して保存される情報配信システムであって、前記配信情報が 1の ノード装置に保存された場合に、当該配信情報を保存した当該 1のノード装置を示 す保存元ノード情報を含む登録メッセージが当該 1のノード装置から送出され、当該 登録メッセージは、前記転送先ノード情報にしたがって、複数の中継のノード装置に より前記配信情報の所在の管理元のノード装置まで転送され、前記複数の中継のノ ード装置及び前記管理元のノード装置において前記保存元ノード情報が記憶される ようにした情報配信システムにおける再登録メッセージ送信方法であって、前記中継 のノード装置が、前記転送先ノード情報の変更を検出する工程と、前記中継のノード 装置が、変更前の前記転送先ノード情報にしたがって転送した前記登録メッセージ に含まれる前記保存元ノード情報を前記記憶手段から抽出する工程と、前記中継の ノード装置が、前記抽出された前記保存元ノード情報を含む再登録メッセージを生 成する工程と、前記中継のノード装置が、前記生成された前記再登録メッセージを、 変更後の前記転送先ノード情報にしたがって送信する工程と、前記再登録メッセ一 ジを受信したノード装置が、前記受信した再登録メッセージに含まれる保存元ノード 情報が既に記憶されて ヽるカゝ否かを判別する工程と、前記再登録メッセージを受信 したノード装置が、前記記憶されていないと判別した場合には、前記保存元ノード情 報を記憶し、当該再登録メッセージを、前記転送先ノード情報にしたがって転送する 工程と、を備えることを特徴とする。
[0033] 請求項 16に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装 置を備え、他のノード装置力 受信したメッセージの転送先のノード装置を示す転送 先ノード情報が夫々のノード装置に記憶され、且つ、少なくとも 1の配信情報が複数 のノード装置に分散して保存される情報配信システムであって、前記配信情報が 1の ノード装置に保存された場合に、当該配信情報を保存した当該 1のノード装置を示 す保存元ノード情報を含む登録メッセージが当該 1のノード装置から送出され、当該 登録メッセージは、前記転送先ノード情報にしたがって、複数の中継のノード装置に より前記配信情報の所在の管理元のノード装置まで転送され、前記複数の中継のノ ード装置及び前記管理元のノード装置において前記保存元ノード情報が記憶される ようにした情報配信システムにおける再登録メッセージ送信方法であって、前記中継 のノード装置が、前記転送先ノード情報の変更を検出する工程と、前記中継のノード 装置が、変更前の前記転送先ノード情報にしたがって転送した前記登録メッセージ に含まれる前記保存元ノード情報を前記記憶手段から抽出する工程と、前記中継の ノード装置が、前記抽出された前記保存元ノード情報を含む再登録メッセージを生 成する工程と、前記中継のノード装置が、前記生成された前記再登録メッセージを、 変更後の前記転送先ノード情報にしたがって送信する工程と、前記再登録メッセ一 ジを受信したノード装置が、前記受信した再登録メッセージに含まれる保存元ノード 情報が既に記憶されて ヽるカゝ否かを判別する工程と、前記再登録メッセージを受信 したノード装置が、前記記憶されていると判別した場合には、前記再登録メッセージ に含まれる保存元ノード情報の削除要求を示す削除メッセージを、当該保存元ノード 情報に対応付けられて記憶されている直前ノード情報にしたがって送信する工程と、 を備えることを特徴とする。
発明の効果
[0034] 本発明によれば、中継のノード装置が、転送先ノード情報の変更を検出した場合に 、変更前の転送先ノード情報にしたがって転送した登録メッセージに含まれる保存元 ノード情報を記憶手段から抽出し、該抽出された保存元ノード情報を含む再登録メッ セージを生成して、これを、変更後の転送先ノード情報にしたがって送信するようにし たので、所定間隔で再登録メッセージを送出することに比して、ネットワークに負荷を 力けることなぐより効率良く(無駄なく)変更後の新しい転送経路上における中継のノ ード装置に保存元ノード情報を記憶させることができる。
[0035] また、前記再登録メッセージに含まれる保存元ノード情報の削除要求を示す削除メ ッセージを、当該保存元ノード情報に対応付けられて記憶されて!、る前記直前ノード 情報にしたがって送信するので、上記転送経路が変更され、且つ、上記配信情報を 保存しているノード装置が脱退した場合、或いは、当該ノード装置が配信情報を削除 した場合に、より効率良く (無駄なく)、確実に保存元ノード情報を削除することができ る。しかも、当該削除メッセージは、経路変更があった場合にのみ送出されるので、 配信情報の検索効率を低下させることなぐ更に、ネットワークに負荷をかけることなく 確実に保存元ノード情報を削除することができる。
図面の簡単な説明
[図 1]コンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図であ る。
[図 2]ノード nlが保持する DHTのルーティングテーブルの一例を示す図である。
[図 3]DHTのノード ID空間の一例を示す概念図である。
[図 4] (A)は、コンテンツ保持ノードから送出されたパブリツシュメッセージの流れの一 例を、(B)は、コンテンツ保持ノード力 送出された削除通知メッセージの流れの一 例を、夫々、 DHTのノード ID空間にて示した概念図である。
[図 5]コンテンツ保持ノードから中継ノードを経由してルートノードまで転送されるパブ リツシュメッセージの内容 (データ構造)と、中継ノード及びルートノードに記憶される インデックス情報の内容の一例を示す図である。
[図 6]再パブリツシュメッセージが送出された場合における様子を示す概念図である。
[図 7]再パブリツシュメッセージが送出された場合における様子を示す概念図である。
[図 8]コンテンツ所在問合せ (検索)を受けた中継ノードから上流側及び下流側に削 除通知メッセージが送出された様子を示す概念図である。
[図 9]ノード nnの概要構成例を示す図である。
[図 10]ノード nnの制御部 11における再パブリツシュメッセージの送信処理を示すフロ 一チャートである。
[図 11]ノード nnの制御部 11における再パブリツシュメッセージ等の受信処理を示す フローチャートである。
[図 12]ノード nnの制御部 11における再パブリツシュメッセージ等の受信処理を示す フローチャートである。
[図 13]ノード nnの制御部 11における再パブリツシュメッセージ等の受信処理を示す フローチャートである。
[図 14]ノード nnの制御部 11におけるコンテンツ所在問合せ (検索)メッセージの受信 処理を示すフローチャートである
符号の説明
nn ノード、
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 L |S B'|5
13 ノ ッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 ノ ス
S コンテンツ酉 S信システム
発明を実施するための最良の形態
[0038] 以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明す る実施の形態は、コンテンツ配信システムに対して本発明を適用した場合の実施形 態である。
[1.コンテンツ配信システムの構成等]
始めに、図 1を参照して、情報配信システムの一例としてのコンテンツ配信システム の概要構成等について説明する。
[0039] 図 1は、本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態 様の一例を示す図である。
[0040] 図 1の下部枠 101内に示すように、 IX (Internet eXchange) 3、 ISP (Internet Service
Provider) 4a,4b、 DSL (Digital Subscriber Line)回線事業者(の装置) 5a,5b、 FTT H (Fiber To The Home)回線事業者 (の装置) 6、及び通信回線 (例えば、電話回線 や光ケーブル等) 7等によって、インターネット等のネットワーク(現実世界の通信ネッ トワーク) 8が構築されている。なお、図 1の例におけるネットワーク(通信ネットワーク) 8には、データ (パケット)を転送するためのルータ力 適宜挿入されているが図示を 省略している。
[0041] コンテンツ配信システム Sは、このようなネットワーク 8を介して相互に接続された複 数のノード装置(以下、単に、「ノード」という) nl, η2· · ·η21を備えて構成されること になり、ピアツーピア方式のネットワークシステムとなっている(なお、実際には、これ 以上のノードが存在することになる)。また、各ノード nl〜n21には、固有の製造番号 及び IP (Internet Protocol)アドレスが割り当てられている。なお、製造番号及び IPァ ドレスは、複数のノード間で重複しな 、ものである。
[0042] そして、このコンテンツ配信システム Sにお!/、ては、特定のアルゴリズム、例えば、 D HTを利用したアルゴリズムによって、図 1の上部枠 100内に示すような、オーバーレ ィネットワーク 9が構築されることになる。つまり、このオーバーレイネットワーク 9は、既 存のネットワーク 8を用いて形成された仮想的なリンクを構成するネットワーク (論理的 なネットワーク)を意味する。
[0043] 本実施形態においては、 DHTを利用したアルゴリズムによって構築されたオーバ 一レイネットワーク 9を前提としており、このオーバーレイネットワーク 9 (図 1の上部枠 1 00内)に配置されたノード nl〜nl5を、オーバーレイネットワーク 9に参加しているノ ード nnという。言い換えれば、オーバーレイネットワーク 9は、ノード nnの参加により形 成されている。このようなオーバーレイネットワーク 9への参加は、参加していないノー ド nl6〜n21が、参カ卩している任意のノード nnに対して参カ卩要求を示す参カ卩要求情 報としての参加メッセージを送信することによって行われる。
[0044] また、各ノード nnは、固有の識別情報としてのノード IDを有しており、当該ノード ID は、例えば、 IPアドレスあるいは製造番号を共通のハッシュ関数 (例えば、 SHA—1 等)によりハッシュ化した値 (例えば、 bit長が 160bit)であり、一つの ID空間に偏りな く分散して配置されることになる。
[0045] このように共通のハッシュ関数により求められた (ノヽッシュ化された)ノード IDは、当 該 IPアドレスある 、は製造番号が異なれば、同じ値になる確率が極めて低 、もので ある。なお、ノ、ッシュ関数については公知であるので詳しい説明を省略する。
[0046] また、各ノード nnは、夫々、 DHTを保持して!/、る。この DHTは、オーバーレイネット ワーク 9上における各種メッセージの転送先を規定しており、具体的には、ノード ID 空間内で適度に離れたノード nnのノード ID、 IPアドレス及びポート番号を含む転送 先ノード情報が複数登録されたルーティングテーブル (転送先テーブル)が含まれて いる。
[0047] 図 2は、ノード nlが保持する DHTのルーティングテーブルの一例を示す図であり、 図 3は、 DHTのノード ID空間の一例を示す概念図である。
[0048] なお、図 2及び図 3の例においては、説明の便宜上、ノード IDの bit長を 2bit X 3桁
= 6bitとし、各桁を 4進数 (0〜3の整数)で表している(実際には、もっと長い bit長を 用い、各桁も例えば 4bitに区切って 0〜fの 16進数で表現する )。
[0049] 図 2の例において、 DHTのルーティングテーブルは、レベル 1〜レベル 3のテープ ルカらなり(複数のレベルに区分されており)、各レベルのテーブルエントリーには、 エリア毎に、転送先ノード情報として、ノード IDとこれに対応するノード nnの IPァドレ ス及びポート番号が対応付けられて登録されて 、る。各レベルのテーブルにおける 各エリアは、 DHTのノード ID空間を分割することにより得られるエリアである。例えば 、図 3に示すように、レベル 1では、 DHTのノード ID空間全体が 4分割され、 "000" 〜"033"のノード IDが存在するエリアを OXXのエリア、 "100"〜"133"のノード IDが 存在するエリアを 1XXのエリア、 "200"〜"233"のノード IDが存在するエリアを 2XX のエリア、 "300"〜"333"のノード IDが存在するエリアを 3XXのエリアとする。また、 レベル 2では、レベル 1のエリア(つまり、 OXX〜3XXのエリア)が更に 4分割、例えば 1XXのエリア力 分割され、 "100"〜"103"のノード IDが存在するエリアを 10Xのェ リア、 " 110"〜": L 13"のノード IDが存在するエリアを 1 IXのエリア、 "120"〜"123" のノード IDが存在するエリアを 12Xのエリア、 "130"〜"133"のノード IDが存在する エリアを 13Xのエリアとする。
[0050] そして、例えば、ノード nlのノード IDが" 122"とすると、図 2に示すように、かかるノ ード nlのレベル 1における 1XXのエリア(自己(つまり、自ノード)が存在するエリア) のテーブルには、自己のノード ID及び IPアドレス(IPアドレスは自分のものであるの で、当該ルーティングテーブルに登録しなくても良い)等が登録され、自己が存在し ないエリア(つまり、 OXXのエリア、 2XXのエリア、及び 3XXのエリア)には、夫々、他 の任意のノード nnのノード ID及び IPアドレス等が登録されている。
[0051] また、力かるノード nlのレベル 2における 12Xのエリア(自己が存在するエリア)のテ 一ブルには、図 2に示すように、自己のノード ID及び IPアドレス(IPアドレスは自分の ものであるので、当該ルーティングテーブルに登録しなくても良い)等が登録され、 自 己が存在しないエリア(つまり、 10Xのエリア、 1 IXのエリア、及び 13Xのエリア)等に は、夫々、他の任意のノード nnのノード ID及び IPアドレス等が登録されている。
[0052] 更に、力かるノード nlのレベル 3には、図 2に示すように、ノード IDが" 120"〜"122 "のノード ID及び IPアドレス(IPアドレスは自分のものであるので、当該ルーティング テーブルに登録しなくても良 、)等が登録されて 、る。
[0053] なお、図 2及び図 3の例では、ノード IDの bit長を 3桁 X 2bitとしたので、レベル 1〜 3の 3レベル分のテーブルで網羅できる力 ノード IDの bit長が増せば、その分のテ 一ブルが必要となる(例えば、ノード IDの bit長を 16桁 X 4bitとした場合、 16レベル 分のテーブルが必要となる)。
[0054] このように、本実施形態における DHTのルーティングテーブルでは、レベルが上が るほど、エリアが狭まっていくようになっている。
[0055] このような DHTは、未参加のノードがオーバーレイネットワーク 9に参加する際に与 免られること〖こなる。
[0056] ところで、オーバーレイネットワーク 9においては、様々なコンテンツ(例えば、映画 や音楽等)データ (配信情報の一例)が複数のノード nnに分散して保存 (格納)され ている(言い換えれば、コンテンツデータが複製されその複製情報であるレプリカが 分散保存されている)。
[0057] 例えば、ノード nl及びノード n4には、タイトルが XXXの映画のコンテンツデータが 保存されており、一方、ノード n2及びノード n3には、タイトルが YYYの映画のコンテ ンッデータが保存されるというように、複数のノード nn (以下、「コンテンツ保持ノード」 という)に分散されて保存される。また、これらのコンテンツデータには、夫々、コンテ ンッ名(タイトル)及びコンテンツ ID (コンテンツ毎に固有の識別情報)等の情報が付 カロされている。このコンテンツ IDは、例えば、コンテンツ名 +任意の数値 (或いは、当 該コンテンツデータの先頭数バイトでも良い) 1S 上記ノード IDを得るときと共通のハ ッシュ関数によりハッシュ化されて生成される(ノード IDと同一の ID空間に配置)。或 いは、システム運営者力 コンテンツ毎に一意の ID値 (ノード IDと同一ビット長)を付 与しても良い。この場合は、コンテンツ名とそのコンテンツ IDの対応が書かれた「コン テンッリスト」が、全ノード nnに配布される。
[0058] また、このように分散保存されているコンテンツデータの所在、つまり、当該コンテン ッデータを保存したノード nnを示す保存元ノード情報(例えば、 IPアドレス及びポート 番号等を含む)と当該コンテンッデータに対応するコンテンッ ID等の糸且が含まれるィ ンデッタス情報力 当該コンテンツデータの所在の管理元のノード nn (以下、「ルート ノード」、又は「コンテンツ(コンテンツ ID)のルートノード」 t 、う)等により記憶 (インデ ックスキャッシュに記憶)、管理されるようになっている。
[0059] 例えば、タイトルが XXXの映画のコンテンツデータのインデックス情報は、そのコン テンッ(コンテンツ ID)のルートノードであるノード nl3により管理され、タイトルが YY Yの映画のコンテンツデータのインデックス情報は、そのコンテンツ(コンテンツ ID)の ルートノードであるノード nl4により管理される。つまり、コンテンツ毎にルートノードが 分けられるので負荷分散が図らており、しかも、同一のコンテンツデータ(コンテンツ I Dが同一)が、夫々、複数のコンテンツ保持ノードに保存されている場合であっても、 力かるコンテンツデータのインデックス情報は、 1つのルートノードで管理することがで きる。また、このようなルートノードは、例えば、コンテンツ IDと最も近い(例えば、上位 桁がより多く一致する)ノード IDを有するノード nnであるように定められる。
[0060] そして、コンテンツデータの分散保存の制御は、例えば、図示しないコンテンツ管 理サーバにより行われる(なお、システム運営者により選定された常にオーバーレイ ネットワーク 9に参カロして 、る信頼性の高 ゾード nnにより行われるようにしても良 、) 。例えば、コンテンツ管理サーバは、定期的に、コンテンツデータ(コンテンツ保持ノ ード)へのアクセス頻度やコンテンツデータの人気度を集計 (例えば、各ルートノード 及び各コンテンツ保持ノードから集計)して、コンテンツ毎に、保存させるコンテンツデ ータ(レプリカ)の数を増減させる力否かを決定する。そして、コンテンツ管理サーバ は、コンテンツデータを増力!]させる決定をした場合、コンテンツデータを保存させるベ き任意のノード nnを選定 (例えば、ランダムに選定)し、当該選定したノード nnに対し てコンテンツデータの保存要求を行 、、そのノード nn力 該コンテンツデータの保存 を承諾する応答があれば、該当するコンテンツデータを当該ノード nnに対して配信し て保存させる。一方、コンテンツ管理サーバは、コンテンツデータを減少させる決定を した場合、コンテンツデータを保存している任意のノード nnを選定 (例えば、ルートノ ード力 取得したインデックス情報力 ランダムに選定)し、当該選定したノード nnに 対してコンテンツデータの削除要求を行い、そのノード nnから該コンテンツデータを 削除させる。
[0061] なお、コンテンツ管理サーバによりコンテンツデータの分散保存の制御が行わなく ても良い。例えば、単に、人気の高いコンテンツは、多くのノード nnによりダウンロード されるため、そのコンテンツデータの数は自然に増加する。一方、その後、人気の無 くなつてきたコンテンツは、ノード nnにより削除されるため、そのコンテンツデータは自 然に減少する。
[0062] このようにしてコンテンツデータを保存したノード nn (コンテンツ保持ノード)は、当該 コンテンツデータを保存したことをそのルートノードに知らせるために、そのコンテンツ データのコンテンツ ID及び自己のノード情報 (保存元ノード情報)等が含まれるパブ リツシュ (登録通知)メッセージ (コンテンツデータを保存したので、保存元ノード情報 の登録の要求を示す登録メッセージ)を生成し、該パブリツシュメッセージを、そのル ートノードに向けて送出する。これにより、パブリツシュメッセージは、コンテンツ IDを キーとする DHTルーティングによってルートノードに到着することになる。
[0063] 一方、コンテンツデータを削除したノード nn (コンテンツ保持ノード)は、当該コンテ ンッデータを削除したことをそのルートノードに知らせるために、そのコンテンツデー タのコンテンツ ID及び自己のノード情報 (保存元ノード情報)等が含まれる削除通知 メッセージ (コンテンツデータを削除したので、保存元ノード情報の削除の要求を示 す削除メッセージ)を生成し、該削除通知メッセージを、そのルートノードに向けて送 出する。これにより、削除通知メッセージは、コンテンツ IDをキーとする DHTルーティ ングによってルートノードに到着することになる。
[0064] 図 4 (A)は、コンテンツ保持ノードから送出されたパブリツシュメッセージの流れの一 例を、図 4 (B)は、コンテンツ保持ノード力も送出された削除通知メッセージの流れの 一例を、夫々、 DHTのノード ID空間にて示した概念図である。
[0065] 図 4 (A)の例において、例えば、コンテンツ保持ノードであるノード nlは、自己の D HTのレベル 1のテーブル(図 2に示す DHTのルーティングテーブルとは無関係)を 参照して、パブリツシュメッセージに含まれるコンテンツ IDと最も近い(例えば、上位 桁がより多く一致する)ノード IDを有する例えばノード n8の転送先ノード情報に含ま れる IPアドレス及びポート番号を取得し、その IPアドレス及びポート番号宛てに、上 記パブリツシュメッセージを送信する。
[0066] これに対して、ノード n8は、当該パブリツシュメッセージを受信し、自己の DHTのレ ベル 2のテーブルを参照して、当該パブリツシュメッセージに含まれるコンテンツ IDと 最も近 ヽ(例えば、上位桁がより多く一致する)ノード IDを有する例えばノード nl 1の 転送先ノード情報に含まれる IPアドレス及びポート番号を取得し、その IPアドレス及 びポート番号宛てに、上記パブリツシュメッセージを転送する。
[0067] これに対して、ノード ni lは、当該パブリツシュメッセージを受信し、自己の DHTの レベル 3のテーブルを参照して、当該パブリツシュメッセージに含まれるコンテンツ ID と最も近い(例えば、上位桁がより多く一致する)ノード IDを有する例えばノード nl3 の転送先ノード情報に含まれる IPアドレス及びポート番号を取得し、その IPアドレス 及びポート番号宛てに、上記パブリツシュメッセージを転送する。
[0068] これに対して、ノード nl3は、当該パブリツシュメッセージを受信し、自己の DHTの レベル 4のテーブルを参照して、当該パブリツシュメッセージに含まれるコンテンツ ID と最も近い(例えば、上位桁がより多く一致する)ノード IDを有する例えばノード nl4 の転送先ノード情報に含まれる IPアドレス及びポート番号を取得し、その IPアドレス 及びポート番号宛てに、上記パブリツシュメッセージを転送する。
[0069] これに対して、ノード nl4は、パブリツシュメッセージを受信し、自己の DHTのレべ ル 5のテーブルを参照して、当該パブリツシュメッセージに含まれるコンテンツ IDと最 も近い (例えば、上位桁がより多く一致する)ノード IDが自分である、つまり、 自分がそ のコンテンツ IDのルートノードであることを認識し、当該パブリツシュメッセージに含ま れる保存元ノード情報及びコンテンツ IDの組を含むインデックス情報を登録 (インデ ックスキャッシュ領域に記憶)することになる。
[0070] なお、パブリツシュメッセージに含まれる保存元ノード情報及びコンテンツ IDの組を 含むインデックス情報は、コンテンツ保持ノードからルートノードに至るまでの転送経 路におけるノード nn (以下、「中継ノード」という。図 4 (A)の例では、ノード n8、ノード nl l、及びノード nl 3)においても登録(キャッシュ)される(このように、保存元ノード 情報をキャッシュする中継ノードをキャッシュノードと 、う)。
[0071] つまり、パブリツシュメッセージは、 DHTのルーティングテーブルに登録された転送 先ノード情報にしたがって、複数の中継ノードにより、該パブリツシュメッセージに含ま れるコンテンツ IDのルートノードまで転送され、当該複数の中継ノード及びルートノー ドにお 、て、該パブリツシュメッセージに含まれる保存元ノード情報及びコンテンツ ID を含むインデックス情報が記憶されることになる。
[0072] 一方、図 4 (B)の例における削除通知メッセージの流れは、図 4 (A)の例における パブリツシュメッセージの流れと同様であり、コンテンツ保持ノードであるノード nlから 送出された削除通知メッセージは、上記コンテンツ IDのルートノードであるノード nl4 に至るまで転送され、ノード nl4は、 自己のインデックス情報中から当該削除通知メッ セージに含まれる保存元ノード情報及びコンテンツ IDを削除することになる。なお、 削除通知メッセージに含まれる保存元ノード情報及びコンテンッ IDは、コンテンッ保 持ノードからルートノードに至るまでの転送経路における中継ノード(図 4 (B)の例で は、当該インデックス情報をキャッシュしているノード n8、ノード nl l、及びノード nl3) においても削除される。つまり、削除通知メッセージは、ルートノードに至るまでの転 送経路における中継ノード (キャッシュノード)においても当該保存元ノード情報等を 削除する要求を示している。これにより、パブリツシュメッセージの転送時から、経路 変更が無ければ、ルートノードに至るまでの転送経路における中継ノードにおいて記 憶されている古い保存元ノード情報をも確実に削除することができる。
[0073] さて、あるノード nnのユーザ力 所望するコンテンツデータを取得したい場合、当該 コンテンツデータの取得を望むノード nn (以下、「ユーザノード」という)は、当該ユー ザにより選択 (例えば、全てのノード nnに配信されているコンテンツリスト(コンテンツ 名とコンテンツ ID等が記述されており、例えばコンテンツリスト管理サーバ(図示せず )にて管理される)力ら選択)されたコンテンツデータのコンテンツ IDを含むコンテンツ 所在問合せ (検索)メッセージを、 自己の DHTのルーティングテーブルにしたがって 他のノード nnに対して送出する。これにより、当該コンテンツ所在問合せメッセージは 、上述したパブリツシュメッセージと同様に、コンテンツ IDをキーとする DHTルーティ ングによって、いくつかの中継ノードを経由(転送)されて、そのコンテンツ IDのルート ノードに迪り着く。そして、上記ユーザノードは、当該ルートノードから、上述したその コンテンッデータのインデックス情報を取得 (受信)し、当該インデックス情報に含まれ る保存元ノード情報に基づ 、て上記コンテンツデータを保存して 、るコンテンツ保持 ノードに接続し、そこから当該コンテンツデータを取得 (ダウンロード)することが可能 になる。なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノード に迪り着くまでの間に、当該ルートノードと同 I ンデッタス情報をキャッシュしている 中継ノード (キャッシュノード)から当該インデックス情報を取得 (受信)することもできる
[0074] 本実施形態においては、更に、上述した保存元ノード情報及びコンテンツ IDにカロ えて、パブリツシュメッセージ又は後述する再パブリツシュメッセージを送信又は転送 するノード nnを示す (つまり、自己を示す)自ノード情報 (例えば、 IPアドレス及びポー ト番号を含む)と、該パブリツシュメッセージの生成元のノード nnを示すメッセージ生 成元ノード情報 (例えば、 IPアドレス及びポート番号を含む)とを、該パブリツシュメッ セージに含まれるようにし、更に、上述した保存元ノード情報及びコンテンツ IDにカロ えて、該パブリツシュメッセージを送信又は転送した直前のノード nnを示す直前ノー ド情報を、上述したインデックス情報に含まれるようにして 、る。
[0075] 図 5は、コンテンツ保持ノードから中継ノードを経由してルートノードまで転送される パブリツシュメッセージの内容 (データ構造)と、中継ノード及びルートノードに記憶さ れるインデックス情報の内容の一例を示す図である。図 5に示すように、パブリツシュ メッセージは、自ノード情報、メッセージ生成元情報、保存元ノード情報、コンテンツ I D、及びメッセージの種別(パブリツシュメッセージ及び再パブリツシュメッセージの場 合は「登録」、削除通知メッセージの場合は「削除」)が含まれており、インデックス情 報には、コンテンツお、保存元ノード ID、及び直前ノード情報が含まれている。イン デッタス情報における直前ノード情報は、パブリツシュメッセージにおける自ノード情 報から取得されるものであり、コンテンツ保持ノード力 ルートノードに至るまでの転送 経路が変更された場合に必要となる情報である。
[0076] そして、コンテンツ保持ノードからルートノードに至るまでの転送経路が変更された 場合、中継ノードは、その経路変更を検出(具体的には、 DHTのルーティングテー ブルに登録された転送先ノード情報の変更を検出)し、新しい転送経路における中 継ノードにインデックス情報を登録させるために、再パブリツシュメッセージを該中継ノ ードに対して送出することになる。
[0077] 図 6及び図 7は、再パブリツシュメッセージが送出された場合における様子を示す概 念図である。図 6に示すように、中継ノード n8は、 DHTのルーティングテーブルに登 録された転送先ノード情報の変更(例えば、中継ノード ni lから中継ノード nlOへの 変更)を検出すると、自己がキャッシュしている保存元ノード情報及びコンテンツ ID等 を含む再パブリツシュメッセージを生成し、これを変更後の新し 、転送経路における 中継ノード nlOに対して送信する。該再パブリツシュメッセージは、変更後の転送経 路における中継ノード nlO及び nl2により転送され、且つ、該中継ノード nlO及び nl 2においてインデックス情報が登録される。そして、該再パブリツシュメッセージが変更 前 (元)の転送経路における中継ノード nl3に受信されると、図 7に示すように、該中 ϋノード nl3は、再パブリツシュメッセージを削除通知メッセージ(再パブリツシュメッ セージに含まれる保存元ノード情報の削除要求を示す削除メッセージ)に切り替え( 例えば、メッセージ種別を「削除」に代えて)、自己のインデックス情報に含まれる直 前ノード情報にしたがって、該削除通知メッセージをルートノード nl4とは逆方向(つ まり、下流側方向)の中継ノード ni lに対して送信する。これにより、該中継ノード ni l は、削除通知メッセージに示された保存元ノード情報を含むインデックス情報であつ て記憶されているインデックス情報を削除することになる。なお、中継ノード n8におい てまでも保存元ノード情報を含むインデックス情報が削除されな 、ようにするため、当 該削除通知メッセージは中継ノード nl 1にお 、て破棄され、中継ノード nl 1から中継 ノード n8には転送されな 、ようになって 、る(詳細は後述)。
[0078] このように、転送経路の変更があった場合、より効率良く(無駄なく)変更後の新 、 転送経路上における中継ノードにインデックス情報を登録させることができ、しかも、 インデックス情報に直前ノード情報を含めるようにすることで下流側に削除通知メッセ ージを転送できるため、上記経路変更があった場合に、変更前の転送経路における 中継ノードからインデックス情報を削除させることができ、従って、コンテンツ保持ノー ドが脱退した場合、或いは、該コンテンツ保持ノードがコンテンツデータを削除した場 合に、確実に (完全に)保存元ノード情報等を含むインデックス情報を削除することが できる(変更後の転送経路における中継ノードに登録されたインデックス情報は、該 コンテンッ保持ノードから送出される通常の削除通知メッセージにより削除される)。
[0079] また、図 8は、コンテンツ所在問合せ (検索)を受けた中継ノードから上流側及び下 流側に削除通知メッセージが送出された様子を示す概念図である。図 8に示すように 、コンテンツ所在問合せ (検索)を受けた (つまり、コンテンツ所在問合せ (検索)メッセ ージを受信した)中継ノード nl 2は、コンテンツ保持ノードが脱退したこと、或いは、該 コンテンツ保持ノードがコンテンツデータを削除したことを確認すると、 DHTのルーテ イングテーブルに登録された転送先ノード情報にしたがって、上流側に削除通知メッ セージを送出し、且つ、上記直前ノード情報にしたがって、下流側に削除通知メッセ ージを送出することになる。
[0080] このように、上記インデックス情報に直前ノード情報を含めるようにすることで、中継 ノードは、ユーザノード力ものコンテンツ所在問合せ (検索)時にも、不要になった保 存元ノード情報等を含むインデックス情報を完全に削除させることができる。
[0081] 次に、図 9を参照して、ノード nnの構成及び機能について説明する。
[0082] 図 9は、ノード nnの概要構成例を示す図である。
[0083] ノード nnは、図 9に示すように、演算機能を有する CPU,作業用 RAM,各種デー タ及びプログラムを記憶する ROM等力 構成されたコンピュータとしての制御部 11と 、各種データ(例えば、コンテンツデータ、インデックス情報、 DHT)及びプログラム等 を記憶保存 (格納)するための HDD等から構成された記憶手段としての記憶部 12と 、受信されたコンテンツデータを一時蓄積するバッファメモリ 13と、コンテンツデータ に含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ (音声情 報)等をデコード (データ伸張や復号化等)するデコーダ部 14と、当該デコードされた ビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理 部 15と、当該映像処理部 15から出力されたビデオ信号に基づき映像表示する CRT ,液晶ディスプレイ等の表示部 16と、上記デコードされたオーディオデータをアナ口 グオーディオ信号に D (Digital) /A (Analog)変換した後これをアンプにより増幅して 出力する音声処理部 17と、当該音声処理部 17から出力されたオーディオ信号を音 波として出力するスピーカ 18と、ネットワーク 8を通じて他のノード nnとの間の情報の 通信制御を行うための通信部 20と、ユーザ力 の指示を受け付け当該指示に応じた 指示信号を制御部 11に対して与える入力部(例えば、キーボード、マウス、或いは、 操作パネル等) 21と、を備えて構成され、制御部 11、記憶部 12、バッファメモリ 13、 デコーダ部 14、及び通信部 20は、ノ ス 22を介して相互に接続されている。なお、ノ ード nnとしては、パーソナルコンピュータ、 STB (Set Top Box)、或いは、 TV受信機 等を適用可能である。
[0084] このような構成において、制御部 11は、 CPUが記憶部 12 (本発明の記録媒体)に 記憶されたプログラム (本発明のノード処理プログラムを含む)を読み出して実行する ことにより、全体を統括制御すると共に、上述したユーザノード、中継ノード、ルートノ ード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとし ての処理を行うようになっており、本発明のノード情報変更検出手段、保存元ノード 情報抽出手段、再登録メッセージ生成手段、再登録メッセージ送信手段、登録メッセ ージ受信手段、登録メッセージ転送手段、記憶判別手段、再登録メッセージ転送手 段、削除メッセージ送信手段、転送経路一致判別手段、保存元ノード情報削除手段 、メッセージ生成元一致判別手段、削除メッセージ転送手段、要求メッセージ受信手 段、及び確認手段等として機能し、後述する各種処理を行うようになっている。
[0085] なお、上述したインデックスキャッシュ領域は、例えば記憶部 12における記憶領域 のうち、数 kB (キロバイト)〜数 MB (メガバイト)が割り当てられている。また、インデッ タスキャッシュ領域は、様々なコンテンツに対応するインデックス情報が記憶されてお り、自己がルートノードとして管理するコンテンツ (コンテンツ ID)に対応するインデッ タス情報と、自己がルートノードではなくキャッシュノードとして管理するコンテンツ (コ ンテンッ ID)に対応するインデックス情報とが混在して記憶されて 、る場合もある。
[0086] また、上記ノード処理プログラムは、例えば、ネットワーク 8上の所定のサーバからダ ゥンロードされるようにしてもよいし、例えば、 CD— ROM等の記録媒体に記録されて 当該記録媒体のドライブを介して読み込まれるようにしてもょ ヽ。
[2.コンテンツ配信システムの動作]
次に、図 10及び図 14等を参照して、コンテンツ配信システム Sの動作例について 説明する。
[0087] 図 10は、ノード nnの制御部 11における再パブリツシュメッセージの送信処理を示 すフローチャートであり、図 11乃至図 13は、ノード nnの制御部 11における再パブリツ シュメッセージ等の受信処理を示すフローチャートであり、図 14は、ノード nnの制御 部 11におけるコンテンツ所在問合せ (検索)メッセージの受信処理を示すフローチヤ ートである。
[0088] 図 10に示す処理は、あるノード nn力 DHTのルーティングテーブルに登録されて いる転送先ノード情報の変更、つまり、あるコンテンツ IDに対応するメッセージの転送 先が変更されたことを検出した場合に開始される。ここで、転送先ノード情報の変更と は、例えば、以下の(1)〜(3)の場合が含まれる。
[0089] (1) DHTのルーティングテーブルにおける未登録のテーブルエントリー(例えば、 図 2に示す符号 51部)に転送先ノード情報が新たに追加登録された場合 (例えば、 DHTのルーティングテーブルに登録されて!、な!/ソード nnからメッセージ(例えば、 登録メッセージ)が届いて、そのノード nnのノード IDに対応するテーブルエントリーが 空 (未登録)の場合に、該テーブルテントリーに、そのノード nnの転送先ノード情報が 追加登録された)。
[0090] (2) DHTのルーティングテーブルにおけるテーブルエントリーから転送先ノード情 報が削除された場合 (例えば、該転送先ノード情報に対応するノード nnが脱退 (一時 的な脱退もある)して 、ることが判明した)。
[0091] (3) DHTのルーティングテーブルにおけるテーブルエントリーに登録されている転 送先ノード情報が別の転送先ノード情報に上書き登録された場合 (例えば、 DHTの ルーティングテーブルに登録されて 、な ゾード nnからメッセージ(例えば、登録メッ セージ)が届いて、そのノード nnのノード IDに対応するテーブルエントリーが登録済 の場合に、該テーブルテントリーに、そのノード nnの転送先ノード情報が上書き登録 された)。
[0092] なお、転送先ノード情報の変更の履歴 (例えば、変更時刻、変更のあったテーブル エントリー、変更前の転送先ノード情報、及び変更後の転送先ノード情報)は、例え ば記憶部 12に記憶されるようになって 、る。
[0093] 図 10に示す処理が開始されると、当該ノード nnの制御部 11は、先ず、 DHTのル 一ティングテーブルにおいて変更のあった行及び列力も特定されるテーブルエントリ 一に登録されているノード nnを、次の転送先としていた保存元ノード情報(つまり、変 更前の転送先ノード情報にしたがって転送されたパブリツシュメッセージに含まれて V、た保存元ノード情報)が含まれる全てのインデックス情報を記憶部 12におけるイン デッタスキャッシュ領域力も抽出、取得する (ステップ Sl)。なお、自己がルートノード として管理しているコンテンツ IDに対応するインデックス情報は抽出対象外となる。
[0094] 次いで、当該ノード nnの制御部 11は、上記抽出されたインデックス情報に含まれる 保存元ノード情報及びコンテンツ IDと、自己を示す自ノード情報及びメッセージ生成 元情報を含む再パブリツシュメッセージ (メッセージの種別は「登録」)を、上記抽出さ れたインデックス情報毎に生成する (ステップ S 2)。
[0095] 次いで、当該ノード nnの制御部 11は、生成した夫々の再パブリツシュメッセージを 、変更後の夫々の転送先ノード情報にしたがって (つまり、当該転送先ノード情報に 含まれる IPアドレス及びポート番号宛に)送信し (ステップ S3)、当該処理を終了する
[0096] こうして、例えば、図 6に示すように、中継ノード(キャッシュノード) n8から中継ノード
(キャッシュノード) nlOに再パブリツシュメッセージが送信されることになる。
[0097] 次に、図 11は、任意のノード nnがパブリツシュメッセージ、再パブリツシュメッセージ 、又は削除通知メッセージを受信した場合に開始される。
[0098] 図 11に示す処理が開始されると、当該ノード nnの制御部 11は、受信したメッセ一 ジの種別が「登録」であるか否かを判別し (ステップ S11)、「登録」である場合には (ス テツプ S11 :Y)、ステップ S12に進み、「登録」でない(つまり、「削除」である)場合に は(ステップ S 11: N)、ステップ S 13に進む。
[0099] ステップ S12に示す登録メッセージ受信処理においては、図 12に示すように、制御 部 11は、当該メッセージに含まれる保存元ノード情報及びコンテンツ ID力 インデッ タス情報としてインデックスキャッシュ領域に既に記憶されて 、る力否かを判別する( ステップ S21)。当該保存元ノード情報が記憶されて 、な 、と判別された場合には (ス テツプ S21 :N)、自己が当該メッセージに含まれるコンテンツ IDのルートノードである か否か (例えば、自己のノード IDが当該コンテンツ IDと最も近い(上位桁がより多く一 致するか否か)を判別する (ステップ S 22)。
[0100] そして、自己が当該コンテンツ IDのルートノードでない場合には (ステップ S22 :N) 、当該制御部 11は、上記受信されたメッセージ (例えば、再パブリツシュメッセージ) に含まれる直前のノード nnを示す直前ノード情報を自己を示す自ノード情報に変更 して、当該メッセージを、自己の DHTのルーティングテーブルに登録されている次の 転送先となるべきノード nn (例えば、当該メッセージに含まれるコンテンツ IDと最も近 い(例えば、上位桁がより多く一致する)ノード IDを有するノード nn)の転送先ノード 情報にしたがって(つまり、当該転送先ノード情報に含まれる IPアドレス及びポート番 号宛に)転送する (ステップ S23)。
[0101] 次いで、制御部 11は、上記受信されたメッセージに含まれる保存元ノード情報及び コンテンツ IDと、当該メッセージの受信時に含まれて!/ヽた直前のノード nnを示す直前 ノード情報とを含むインデックス情報を、記憶部 12におけるインデックスキャッシュ領 域に記憶し (ステップ S24)、図 11に示す処理に戻る(当該処理の終了)。
[0102] こうして、例えば、図 6に示すように、中継ノード nlOから中継ノード nl2に再パブリ ッシュメッセージが転送されることになる。なお、コンテンツ保持ノードから送出された パブリツシュメッセージの受信時も上記ステップ S22〜S24の処理が行われることに なる。
[0103] 一方、上記ステップ S22において、自己が上記メッセージに含まれるコンテンツ ID のルートノードである場合 (この場合、当該メッセージは、コンテンツ保持ノード力も送 出されたパブリツシュメッセージ (又は、再パブリツシュメッセージである)には (ステツ プ S22 :Y)、制御部 11は、上記受信されたメッセージに含まれる保存元ノード情報 及びコンテンツ IDと、当該メッセージの受信時に含まれて 、た直前のノード nnを示す 直前ノード情報とを含むインデックス情報を、記憶部 12におけるインデックスキヤッシ ュ領域に記憶し (ステップ S24)、図 11に示す処理に戻る(当該処理の終了)。
[0104] 一方、上記ステップ S21にお 、て、上記メッセージに含まれる保存元ノード情報及 びコンテンツ IDが、インデックス情報としてインデックスキャッシュ領域に記憶されて ヽ ると判別された場合には (ステップ S21 :Y)、制御部 11は、更に、当該メッセージを転 送した直前のノード nnを示す直前ノード情報と、当該メッセージに含まれている保存 元ノード情報及びコンテンツ IDに対応付けられて記憶されている直前ノード情報とが 一致する力否かを判別し (ステップ S25)、一致する場合には (ステップ S25 :Y)、図 1 1に示す処理に戻る(当該処理の終了)。これは、今回の当該メッセージ (例えば、再 パブリツシュメッセージ)を転送した直前のノード nnを示す直前ノード情報と、当該メッ セージに含まれている保存元ノード情報及びコンテンツ IDに対応付けられてインデ ックスキャッシュ領域に記憶されている直前ノード情報(つまり、前回のメッセージに含 まれていた直前ノード情報)とが一致する場合、経路変更がないことを意味し、当該メ ッセージは、コンテンツ保持ノードから送出され変更前の転送経路におけるノード nn 力も転送 (例えば、図 6に示すノード ni lからノード nl3に転送)されたものであるので 、後述する削除通知メッセージを下流側に送信しないようにするためである。
[0105] 一方、上記メッセージを転送した直前のノード nnを示す直前ノード情報と、当該メッ セージに含まれている保存元ノード情報及びコンテンツ IDに対応付けられて記憶さ れて 、る直前ノード情報とがー致しな 、と判別された場合 (例えば、当該メッセージが 、図 6に示すノード nl 2からノード nl 3に転送された場合)には (ステップ S25 :N)、制 御部 11は、上記受信されたメッセージ (再パブリツシュメッセージ)に含まれる直前の ノード nnを示す直前ノード情報を、自己を示す自ノード情報に変更し、且つ、当該メ ッセージの種別を「削除」に変更(つまり、再パブリツシュメッセージを削除通知メッセ ージに変更)する(ステップ S26)。
[0106] そして、制御部 11は、上記削除通知メッセージ (再パブリツシュメッセージに含まれ る保存元ノード情報の削除要求を示す削除通知メッセージ)を、上記受信されたメッ セージ (再パブリツシュメッセージ)に含まれる保存元ノード情報及びコンテンツ IDに 対応付けられてインデックスキャッシュ領域に記憶されている直前ノード情報にしたが つて(つまり、当該直前ノード情報に含まれる IPアドレス及びポート番号宛に)送信す る(ステップ S27)。つまり、上記メッセージを転送した直前のノード nnを示す直前ノー ド情報と、当該メッセージに含まれて 、る保存元ノード情報及びコンテンツ IDに対応 付けられて記憶されて 、る直前ノード情報とがー致しな 、と判別された場合 (ステップ S25で)にのみ、当該削除通知メッセージが下流側へ送信されることになる。
[0107] こうして、例えば、図 7に示すように、中継ノード nl3からノード ni lに削除通知メッ セージが送信されることになる。
[0108] 次いで、制御部 11は、上記受信されたメッセージ (再パブリツシュメッセージ)に含ま れるコンテンツ ID及び保存元ノード情報に対応するインデックス情報をインデックス キャッシュ領域から削除し (ステップ S28)、当該メッセージに含まれる保存元ノード情 報及びコンテンツ IDと、当該メッセージの受信時に含まれて!/、た直前のノード nnを示 す直前ノード情報とを含むインデックス情報を、記憶部 12におけるインデックスキヤッ シュ領域に新たに記憶 (これにより、インデックス情報に含まれる直前ノード情報が更 新されることになる)し (ステップ S24)、図 11に示す処理に戻る(当該処理の終了)。
[0109] 一方、ステップ S13に示す削除メッセージ受信処理においては、図 13に示すように 、制御部 11は、当該削除通知メッセージに含まれる保存元ノード情報及びコンテン ッ IDが、インデックス情報としてインデックスキャッシュ領域に既に記憶されて 、るか 否かを判別する (ステップ S31)。当該保存元ノード情報が記憶されていないと判別さ れた場合には (ステップ S31 :N)、図 11に示す処理に戻る(当該処理の終了)。
[0110] 一方、上記削除通知メッセージに含まれる保存元ノード情報及びコンテンツ IDが、 インデックス情報としてインデックスキャッシュ領域に記憶されていると判別された場 合には (ステップ S31 :Y)、制御部 11は、更に、当該メッセージを転送した直前のノ ード nnを示す直前ノード情報と、当該メッセージに含まれて!/、る保存元ノード情報及 びコンテンツ IDに対応付けられて記憶されている直前ノード情報とがー致する力否 かを判別し (ステップ S32)、一致する場合 (経路変更がなぐコンテンツ保持ノードか ら送出された削除通知メッセージである場合)には (ステップ S32 : Y)、ステップ S33 に進み、一致しない場合には(ステップ S32 :N)、ステップ S36に進む。
[0111] ステップ S33では、制御部 11は、 自己力 当該削除通知メッセージに含まれるコン テンッ IDのルートノードであるか否かを判別し、ルートノードでない場合には(ステツ プ S33 :N)、上記受信された削除通知メッセージを、 自己の DHTのルーティングテ 一ブルに登録されている次の転送先となるべきノード nnの転送先ノード情報にした 力 て転送する (ステップ S34)。一方、自己がルートノードである場合には (ステップ S33 :Y)、制御部 11は、上記受信された削除通知メッセージに含まれるコンテンツ I D及び保存元ノード情報に対応するインデックス情報をインデックスキャッシュ領域か ら削除し (ステップ S35)、図 11に示す処理に戻る(当該処理の終了)。
[0112] 一方、ステップ S36では、制御部 11は、上記受信された削除通知メッセージに含ま れるメッセージ生成元ノード情報(つまり、当該削除通知メッセージに対応する(基と なった)再パブリツシュメッセージの生成元のノード nnを示す再登録メッセージ生成 元ノード情報)と、当該メッセージに含まれる保存元ノード情報及びコンテンツ IDに対 応付けられてインデックスキャッシュ領域に記憶されている直前ノード情報とがー致 する力否かを判別する。そして、制御部 11は、上記メッセージ生成元ノード情報と、 上記直前ノード情報とがー致すると判別した場合 (例えば、図 7に示すように、中継ノ ード n8から送出されたメッセージが戻ってきた)には (ステップ S36: Y)、当該削除通 知メッセージを破棄し(当該メッセージを更に下流側に転送することなく)、上記受信 された削除通知メッセージに含まれるコンテンツ ID及び保存元ノード情報に対応す るインデックス情報をインデックスキャッシュ領域から削除し (ステップ S35)、図 11に 示す処理に戻る(当該処理の終了)。これにより、例えば、図 7に示すように、古い転 送経路におけるノード ni lからインデックス情報が削除されることになる。
[0113] 一方、制御部 11は、上記メッセージ生成元ノード情報と、上記直前ノード情報とが 一致しな 、と判別した場合には (ステップ S36: Y)、上記受信された削除通知メッセ ージを、当該メッセージに含まれる保存元ノード情報及びコンテンツ IDに対応付けら れてインデックスキャッシュ領域に記憶されて 、る直前ノード情報にしたがって(つま り、当該直前ノード情報に含まれる IPアドレス及びポート番号宛に)転送 (つまり、更 に下流側に向かって転送)し (ステップ S37)、上記受信された削除通知メッセージに 含まれるコンテンツ ID及び保存元ノード情報に対応するインデックス情報をインデッ タスキャッシュ領域から削除し (ステップ S35)、図 11に示す処理に戻る(当該処理の 終了)。
[0114] つまり、上記メッセージを転送した直前のノード nnを示す直前ノード情報と、当該メ ッセージに含まれている保存元ノード情報及びコンテンツ IDに対応付けられて記憶 されて ヽる直前ノード情報とがー致しな!/ヽと判別された (ステップ S32で)場合にのみ 、当該削除通知メッセージが下流側へ転送されることになる。
[0115] 次に、図 14に示す処理は、任意のノード nnがコンテンツ所在問合せ (検索)メッセ ージ (保存元ノード情報の要求を示す要求メッセージ)を受信した場合に開始される
[0116] 図 14に示す処理が開始されると、当該ノード nnの制御部 11は、受信されたコンテ ンッ所在問合せ (検索)メッセージに含まれるコンテンツ IDに対応する全てのインデッ タス情報をインデックスキャッシュ領域力も取得する(ステップ S41)。
[0117] 次いで、制御部 11は、変数 iを" 1"に、変数 Nを上記取得したインデックス情報の数 に、夫々設定 (初期化)する (ステップ S42)。
[0118] 次いで、制御部 11は、変数 iが変数 N以下である力否かを判別し (ステップ S43)、 変数 iが変数 N以下である場合には (ステップ S43: Y)、 i番目に取得したインデックス 情報を変数 Iに対応付ける (ステップ S44)。
[0119] 次いで、制御部 11は、変数 Iに対応付けられたインデックス情報(以下、「インデック ス情報 I」という)に含まれる直前ノード情報により示される中継ノードが、受信されたコ ンテンッ所在問合せ (検索)メッセージを転送した直前の中継ノードと一致する力否 かを判別し (ステップ S45)、一致しない場合には (ステップ S45 :N)、当該コンテンツ 保持ノードが存在して 、るか (つまり、脱退して ヽな 、か)の確認 (又は当該コンテン ッ保持ノードが上記要求に係るコンテンツ IDに対応するコンテンツデータを保存して いるかの確認でも良い)を行う(ステップ S46)。例えば、当該ノード nnは、インデック ス情報 Iに含まれる保存元ノード情報にしたがって上記コンテンツ保持ノードにァクセ スを試みて当該コンテンツ保持ノードが生存している力、或いは、要求に係るコンテ ンッ IDに対応するコンテンツデータを保存しているかを確認する。 [0120] そして、当該コンテンツ保持ノードが存在している場合 (又は、要求に係るコンテン ッ IDに対応するコンテンツデータを保存して ヽる場合)には (ステップ S46: Y)、制御 部 11は、上記インデックス情報 Iを、上記コンテンツ所在問合せ (検索)メッセージの 送信元のユーザノードに対して送信し (ステップ S47)、変数 iを 1インクリメントし (ステ ップ S48)、上記ステップ S43に戻る。
[0121] 一方、ステップ S45において、インデックス情報 Iに含まれる直前ノード情報により示 される中継ノードが、受信されたコンテンツ所在問合せ (検索)メッセージを転送した 直前の中継ノードと一致する場合には (ステップ S45 :Y)、直前の中継ノードにより既 に該インデックス情報 Iがユーザノードに送信されて 、ると考えられるので、重複した インデックス情報 Iの通知を行わな 、ように、ステップ S46及び S47の処理を行わず、 ステップ S48に進む。
[0122] 一方、ステップ S46において、上記コンテンツ保持ノードが存在していない場合 (又 は、要求に係るコンテンツ IDに対応するコンテンツデータを保存していない場合)に は (ステップ S46 :N)、制御部 11は、上記要求に係る保存元ノード情報を含むインデ ックス情報 Iの削除要求を示す下流側削除通知メッセージを生成し、該メッセージを、 上記インデックス情報 Iに含まれる直前ノード情報にしたがって (つまり、当該直前ノー ド情報に含まれる IPアドレス及びポート番号宛に)下流側に送信する (ステップ S49)
[0123] こうして、例えば、図 8に示すように、中継ノード nl2から中継ノード nlOに下流側削 除通知メッセージが送信されることになり、該下流側削除通知メッセージは、図 8に示 すように、コンテンツ保持ノードに至るまで転送され、該転送経路における中継ノード において上記インデックス情報 Iが削除されることになる。
[0124] 次いで、制御部 11は、自己が上記インデックス情報 Iに含まれるコンテンツ IDのル ートノードである力否力 (例えば、自己のノード IDが当該コンテンツ IDと最も近い(上 位桁がより多く一致する力否力 を判別し (ステップ S50)、ルートノードでない場合に は (ステップ S50 :N)、上記要求に係る保存元ノード情報を含むインデックス情報 Iの 削除要求を示す上流側削除通知メッセージを生成し、該メッセージを、自己の DHT のルーティングテーブルに登録されて 、る転送先となるべきノード nn (例えば、上記 インデックス情報 Iに含まれるコンテンツ IDと最も近い(例えば、上位桁がより多く一致 する)ノード IDを有するノード nn)の転送先ノード情報にしたがって(つまり、当該転 送先ノード情報に含まれる IPアドレス及びポート番号宛に)転送し (ステップ S51)、ス テツプ S52に進む。一方、自己が上記インデックス情報 Iに含まれるコンテンツ IDのル ートノードである場合には (ステップ S50 :Y)、そのままステップ S52に進む。
[0125] こうして、例えば、図 8に示すように、中継ノード nl2から中継ノード nl3に上流側削 除通知メッセージが送信されることになり、該上流側削除通知メッセージは、図 8に示 すように、ルートノードに至るまで転送され、該ルートノード及び該転送経路における 中継ノードにおいて上記インデックス情報 Iが削除されることになる。
[0126] 次いで、ステップ S52では、制御部 11は、上記インデックス情報 Iをインデックスキヤ ッシュ領域から削除し、ステップ S48に移行する。
[0127] 以上の処理は、変数 iが変数 Nに等しくなるまで繰り返し行われ、変数 iが変数 Nに 等しくなつた場合 (つまり、ステップ S41で取得された全てのインデックス情報にっ ヽ て上記の処理が完了した場合)には (ステップ S43 :N)、ステップ S53に移行し、制御 部 11は、コンテンツ所在問合せ (検索)メッセージに含まれて 、るコンテンツ IDのル ートノードである力否かを判別し (ステップ S53)、ルートノードでない場合には (ステツ プ S53 :N)、当該コンテンツ所在問合せ (検索)メッセージを、自己の DHTのルーテ イングテーブルに登録されている転送先となるべきノード nnの転送先ノード情報にし たがって転送し (ステップ S54)、当該処理を終了する。一方、上記コンテンツ IDのル ートノードである場合には (ステップ S53 :Y)、そのまま当該処理を終了する。
[0128] 以上説明したように、上記実施形態によれば、中継ノードが、転送先ノード情報の 変更を検出した場合に、変更前の転送先ノード情報にしたがって転送したパブリツシ ュメッセージに含まれるコンテンツ ID及び保存元ノード情報をインデックスキャッシュ 領域カゝら抽出し、該抽出されたコンテンツ ID及び保存元ノード情報を含む再パブリツ シュメッセージを生成して、これを、変更後の転送先ノード情報にしたがって送信し、 当該再パブリツシュメッセージが上記コンテンツ IDのルートノードに向かって(上流側 に)転送されるようにしたので、所定間隔でコンテンツ保持ノードから再パブリツシュメ ッセージを送出することに比して、ネットワーク 8に負荷をかけることなぐより効率良く (無駄なく)変更後の新 、転送経路上における中継ノードにインデックス情報を記 '隐させることができる。
[0129] また、転送された再パブリツシュメッセージが元の転送経路における中継ノードに受 信された場合に、当該再パブリツシュメッセージを削除通知メッセージに切り替えてコ ンテンッ保持ノードに向力つて(下流側に)転送されるようにし、古い転送経路におけ る中継ノードからインデックス情報を削除させるようにしたので、上記転送経路が変更 され、且つ、コンテンツ保持ノードが脱退した場合、或いは、当該ノードがコンテンツ データを削除した場合に、より効率良 無駄なく)、確実に(取りこぼし無く)不要なィ ンデッタス情報を削除することができる。し力も、当該削除通知メッセージは、経路変 更の変更があった場合に送出されるので、コンテンツデータの検索効率を低下させ ることなく、更に、ネットワーク 8に負荷をかけることなく確実に不要なインデックス情報 を削除することができる。よって、不要なインデックス情報によってインデックスキヤッ シュ領域が占有されることを回避でき、したがって、コンテンツデータの検索効率を低 下させることなぐまた、インデックスキャッシュ領域の記憶容量オーバーにより必要な インデックス情報までも記憶できなくなってしまうことを防止することができる。
[0130] また、インデックス情報中に直前ノード情報を含ませるようにしたことで、経路変更が あった場合において、削除通知メッセージを下流側に向力つて転送させることができ 、また、再パブリツシュメッセージ中にメッセージ生成元ノード情報を含ませるようにし たことで、下流側に転送された削除通知メッセージを再パブリツシュメッセージの生成 元の中継ノードの手前でとめることができる(図 7参照)。
[0131] 更に、インデックス情報中に直前ノード情報を含ませるようにしたことで、ユーザノー ドからのコンテンツ所在問合せ (検索)時にも、削除通知メッセージを下流側に送信さ せることが可能となり、不要になったインデックス情報を完全に削除させることができる (図 8参照)。
[0132] また、上記実施形態においては、 DHTを利用したアルゴリズムによって構築された オーバーレイネットワーク 9を前提として説明したが、本発明はこれに限定されるもの ではない。
[0133] また、 2006年 1月 30日に出願された明細書、特許請求の範囲、図面、要約を含む 日本の特許出願(No. 2006-20629)の全ての開示は、その全てを参照することよって 、ここに組み込まれる。

Claims

請求の範囲
[1] ネットワークを介して互 、に通信可能な複数のノード装置を備え、他のノード装置か ら受信したメッセージの転送先のノード装置を示す転送先ノード情報が夫々のノード 装置に記憶され、且つ、少なくとも 1の配信情報が複数のノード装置に分散して保存 される情報配信システムであって、前記配信情報力^のノード装置に保存された場合 に、当該配信情報を保存した当該 1のノード装置を示す保存元ノード情報を含む登 録メッセージが当該 1のノード装置力 送出され、当該登録メッセージは、前記転送 先ノード情報にしたがって、複数の中継のノード装置により前記配信情報の所在の 管理元のノード装置まで転送され、前記複数の中継のノード装置及び前記管理元の ノード装置にぉ 、て前記保存元ノード情報が記憶されるようにした情報配信システム に含まれる前記中継のノード装置であって、
前記転送先ノード情報及び前記保存元ノード情報を記憶する記憶手段と、 前記転送先ノード情報の変更を検出するノード情報変更検出手段と、 変更前の前記転送先ノード情報にしたがって転送した前記登録メッセージに含ま れる前記保存元ノード情報を前記記憶手段から抽出する保存元ノード情報抽出手段 と、
前記抽出された前記保存元ノード情報を含む再登録メッセージを生成する再登録 メッセージ生成手段と、
前記生成された再登録メッセージを、変更後の前記転送先ノード情報にしたがって 送信する再登録メッセージ送信手段と、
を備えることを特徴とするノード装置。
[2] 請求項 1に記載のノード装置において、
前記保存元ノード情報に加えて、自己に前記登録メッセージを送信又は転送した 直前の前記ノード装置を示す直前ノード情報を含む前記登録メッセージを受信する 登録メッセージ受信手段と、
前記受信された登録メッセージに含まれる前記直前ノード情報を、自己を示す自ノ ード情報に変更して当該登録メッセージを、前記転送先ノード情報にしたがって転送 する登録メッセージ転送手段と、 を備えることを特徴とするノード装置。
[3] 請求項 1又は 2に記載のノード装置において、
前記再登録メッセージ生成手段は、前記保存元ノード情報と、当該再登録メッセ一 ジの生成元である自己を示す再登録メッセージ生成元ノード情報とを含む再登録メッ セージを生成することを特徴とするノード装置。
[4] 請求項 1乃至 3の何れか一項に記載の中継のノード装置から送信された再登録メッ セージ、又は、他の中継のノード装置力 転送された前記再登録メッセージを受信す るノード装置であって、
前記転送先ノード情報を記憶する記憶手段と、
前記受信した再登録メッセージに含まれる保存元ノード情報が既に記憶されている か否かを判別する記憶判別手段と、
記憶されていないと判別された場合には、前記保存元ノード情報を記憶し、当該再 登録メッセージを、前記転送先ノード情報にしたがって転送する再登録メッセージ転 送手段と、
を備えることを特徴とするノード装置。
[5] 請求項 1乃至 3の何れか一項に記載の中継のノード装置力 送信され、他の中継 のノード装置力 転送された前記再登録メッセージを受信するノード装置であって、 自己に前記登録メッセージを送信又は転送した直前の前記ノード装置を示す直前 ノード情報を、当該登録メッセージに含まれる前記保存元ノード情報に対応付けて記 憶する記憶手段と、
前記受信した再登録メッセージに含まれる保存元ノード情報が既に記憶されている か否かを判別する記憶判別手段と、
記憶されて 、ると判別された場合には、前記再登録メッセージに含まれる保存元ノ ード情報の削除要求を示す削除メッセージを、当該保存元ノード情報に対応付けら れて記憶されている前記直前ノード情報にしたがって送信する削除メッセージ送信 手段と、
を備えることを特徴とするノード装置。
[6] 請求項 5に記載のノード装置において、 前記再登録メッセージを転送した直前のノード装置を示すノード情報と、前記保存 元ノード情報に対応付けられて記憶されている前記直前ノード情報とがー致するか 否かを判別する転送経路一致判別手段を更に備え、
前記削除メッセージ送信手段は、前記転送経路一致判別手段により一致しないと 判別された場合にのみ、前記削除メッセージを、前記直前ノード情報にしたがって送 信することを特徴とするノード装置。
[7] 請求項 5又は 6に記載のノード装置力 送信された削除メッセージを受信するノード 装置であって、
自己に前記登録メッセージを送信又は転送した直前の前記ノード装置を示す直前 ノード情報を、当該登録メッセージに含まれる前記保存元ノード情報に対応付けて記 憶する記憶手段と、
前記削除メッセージに示された前記保存元ノード情報であって前記記憶されている 前記保存元ノード情報を削除する保存元ノード情報削除手段と、
前記削除メッセージに対応する前記再登録メッセージの生成元のノード装置を示 す再登録メッセージ生成元ノード情報と、前記保存元ノード情報に対応付けられて記 憶されている前記直前ノード情報とがー致するか否かを判別するメッセージ生成元 一致判別手段と、
前記メッセージ生成元一致判別手段により一致しないと判別された場合には、前記 削除要求を示す削除メッセージを、前記直前ノード情報にしたがって転送する削除メ ッセージ転送手段と、
を備えることを特徴とするノード装置。
[8] 請求項 7に記載のノード装置において、
前記再登録メッセージを転送した直前のノード装置を示すノード情報と、前記保存 元ノード情報に対応付けられて記憶されている前記直前ノード情報とがー致するか 否かを判別する転送経路一致判別手段を更に備え、
前記削除メッセージ転送手段は、前記転送経路一致判別手段により一致しないと 判別された場合にのみ、前記削除メッセージを、前記直前ノード情報にしたがって転 送することを特徴とするノード装置。 [9] ネットワークを介して互 、に通信可能な複数のノード装置を備え、他のノード装置か ら受信したメッセージの転送先のノード装置を示す転送先ノード情報が夫々のノード 装置に記憶され、且つ、少なくとも 1の配信情報が複数のノード装置に分散して保存 される情報配信システムであって、前記配信情報力^のノード装置に保存された場合 に、当該配信情報を保存した当該 1のノード装置を示す保存元ノード情報を含む登 録メッセージが当該 1のノード装置力 送出され、当該登録メッセージは、前記転送 先ノード情報にしたがって、複数の中継のノード装置により前記配信情報の所在の 管理元のノード装置まで転送され、前記複数の中継のノード装置及び前記管理元の ノード装置において前記保存元ノード情報と自己に前記登録メッセージを送信又は 転送した直前の前記ノード装置を示す直前ノード情報とが対応付けられて記憶され るようにした情報配信システムに含まれる前記中継のノード装置であって、
前記転送先ノード情報、前記保存元ノード情報、及び前記直前ノード情報を記憶 する記憶手段と、
前記保存元ノード情報の要求を示す要求メッセージを受信する要求メッセージ受 信手段と、
前記要求に係る保存元ノード情報に示されるノード装置が存在しているかの確認を 行う確認手段と、
前記存在して ヽな ヽことが確認された場合には、前記要求に係る保存元ノード情報 の削除要求を示す上流側削除メッセージを、前記転送先ノード情報にしたがって送 信し、且つ、前記要求に係る保存元ノード情報の削除要求を示す下流側削除メッセ ージを、前記直前ノード情報にしたがって送信する削除メッセージ送信手段と、 前記ノード装置が存在していないことが確認された場合には、前記要求に係る保存 元ノード情報であって前記記憶されている前記保存元ノード情報を削除する保存元 ノード情報削除手段と、
を備えることを特徴とするノード装置。
[10] ネットワークを介して互いに通信可能な複数のノード装置を備え、他のノード装置か ら受信したメッセージの転送先のノード装置を示す転送先ノード情報が夫々のノード 装置に記憶され、且つ、少なくとも 1の配信情報が複数のノード装置に分散して保存 される情報配信システムであって、前記配信情報力^のノード装置に保存された場合 に、当該配信情報を保存した当該 1のノード装置を示す保存元ノード情報を含む登 録メッセージが当該 1のノード装置力 送出され、当該登録メッセージは、前記転送 先ノード情報にしたがって、複数の中継のノード装置により前記配信情報の所在の 管理元のノード装置まで転送され、前記複数の中継のノード装置及び前記管理元の ノード装置において前記保存元ノード情報と自己に前記登録メッセージを送信又は 転送した直前の前記ノード装置を示す直前ノード情報とが対応付けられて記憶され るようにした情報配信システムに含まれる前記中継のノード装置であって、
前記転送先ノード情報、前記保存元ノード情報、及び前記直前ノード情報を記憶 する記憶手段と、
前記保存元ノード情報の要求を示す要求メッセージを受信する要求メッセージ受 信手段と、
前記要求に係る保存元ノード情報に示されるノード装置が前記配信情報を保存し て 、るかの確認を行う確認手段と、
前記保存して ヽな ヽことが確認された場合には、前記要求に係る保存元ノード情報 の削除要求を示す上流側削除メッセージを、前記転送先ノード情報にしたがって送 信し、且つ、前記要求に係る保存元ノード情報の削除要求を示す下流側削除メッセ ージを、前記直前ノード情報したがって送信する削除メッセージ送信手段と、 前記ノード装置が存在していないことが確認された場合には、前記要求に係る保存 元ノード情報であって前記記憶されている前記保存元ノード情報を削除する保存元 ノード情報削除手段と、
を備えることを特徴とするノード装置。
請求項 9又は 10に記載のノード装置力も送信された下流側削除メッセージを受信 するノード装置であって、
前記保存元ノード情報及び前記直前ノード情報を記憶する記憶手段と、 前記受信された下流側削除メッセージに示される前記保存元ノード情報であって 前記記憶されている前記保存元ノード情報を削除する保存元ノード情報削除手段と を備えることを特徴とするノード装置。
[12] コンピュータを、請求項 1乃至 11の何れか一項に記載のノード装置として機能させ るノード処理プログラムがコンピュータ読み取り可能に記録されていることを特徴とす る記録媒体。
[13] ネットワークを介して互いに通信可能な複数のノード装置を備え、他のノード装置か ら受信したメッセージの転送先のノード装置を示す転送先ノード情報が夫々のノード 装置に記憶され、且つ、少なくとも 1の配信情報が複数のノード装置に分散して保存 される情報配信システムであって、前記配信情報力^のノード装置に保存された場合 に、当該配信情報を保存した当該 1のノード装置を示す保存元ノード情報を含む登 録メッセージが当該 1のノード装置力 送出され、当該登録メッセージは、前記転送 先ノード情報にしたがって、複数の中継のノード装置により前記配信情報の所在の 管理元のノード装置まで転送され、前記複数の中継のノード装置及び前記管理元の ノード装置にぉ 、て前記保存元ノード情報が記憶されるようにした情報配信システム において、
前記中継のノード装置は、
前記転送先ノード情報及び前記保存元ノード情報を記憶する記憶手段と、 前記転送先ノード情報の変更を検出するノード情報変更検出手段と、
変更前の前記転送先ノード情報にしたがって転送した前記登録メッセージに含ま れる前記保存元ノード情報を前記記憶手段から抽出する保存元ノード情報抽出手段 と、
前記抽出された前記保存元ノード情報を含む再登録メッセージを生成する再登録 メッセージ生成手段と、
前記生成された前記再登録メッセージを、変更後の前記転送先ノード情報にした がって送信する再登録メッセージ送信手段と、を備え、
前記再登録メッセージを受信したノード装置は、
前記転送先ノード情報を記憶する記憶手段と、
前記受信した再登録メッセージに含まれる保存元ノード情報が既に記憶されている か否かを判別する記憶判別手段と、 前記記憶されていないと判別された場合には、前記保存元ノード情報を記憶し、当 該再登録メッセージを、前記転送先ノード情報にしたがって転送する再登録メッセ一 ジ転送手段と、
を備えることを特徴とする情報配信システム。
ネットワークを介して互 、に通信可能な複数のノード装置を備え、他のノード装置か ら受信したメッセージの転送先のノード装置を示す転送先ノード情報が夫々のノード 装置に記憶され、且つ、少なくとも 1の配信情報が複数のノード装置に分散して保存 される情報配信システムであって、前記配信情報力^のノード装置に保存された場合 に、当該配信情報を保存した当該 1のノード装置を示す保存元ノード情報を含む登 録メッセージが当該 1のノード装置力 送出され、当該登録メッセージは、前記転送 先ノード情報にしたがって、複数の中継のノード装置により前記配信情報の所在の 管理元のノード装置まで転送され、前記複数の中継のノード装置及び前記管理元の ノード装置にぉ 、て前記保存元ノード情報が記憶されるようにした情報配信システム において、
前記中継のノード装置は、
前記転送先ノード情報及び前記保存元ノード情報を記憶する記憶手段と、 前記転送先ノード情報の変更を検出するノード情報変更検出手段と、
変更前の前記転送先ノード情報にしたがって転送した前記登録メッセージに含ま れる前記保存元ノード情報を前記記憶手段から抽出する保存元ノード情報抽出手段 と、
前記抽出された前記保存元ノード情報を含む再登録メッセージを生成する再登録 メッセージ生成手段と、
前記生成された前記再登録メッセージを、変更後の前記転送先ノード情報にした がって送信する再登録メッセージ送信手段と、を備え、
前記再登録メッセージを受信したノード装置は、
自己に前記登録メッセージを送信又は転送した直前の前記ノード装置を示す直前 ノード情報を、当該登録メッセージに含まれる前記保存元ノード情報に対応付けて記 憶する記憶手段と、 前記受信した再登録メッセージに含まれる保存元ノード情報が既に記憶されている か否かを判別する記憶判別手段と、
前記記憶されて 、ると判別された場合には、前記再登録メッセージに含まれる保存 元ノード情報の削除要求を示す削除メッセージを、当該保存元ノード情報に対応付 けられて記憶されている前記直前ノード情報にしたがって送信する削除メッセージ送 信手段と、
を備えることを特徴とする情報配信システム。
ネットワークを介して互 、に通信可能な複数のノード装置を備え、他のノード装置か ら受信したメッセージの転送先のノード装置を示す転送先ノード情報が夫々のノード 装置に記憶され、且つ、少なくとも 1の配信情報が複数のノード装置に分散して保存 される情報配信システムであって、前記配信情報力^のノード装置に保存された場合 に、当該配信情報を保存した当該 1のノード装置を示す保存元ノード情報を含む登 録メッセージが当該 1のノード装置力 送出され、当該登録メッセージは、前記転送 先ノード情報にしたがって、複数の中継のノード装置により前記配信情報の所在の 管理元のノード装置まで転送され、前記複数の中継のノード装置及び前記管理元の ノード装置にぉ 、て前記保存元ノード情報が記憶されるようにした情報配信システム における再登録メッセージ送信方法であって、
前記中継のノード装置が、前記転送先ノード情報の変更を検出する工程と、 前記中継のノード装置力 変更前の前記転送先ノード情報にしたがって転送した 前記登録メッセージに含まれる前記保存元ノード情報を前記記憶手段から抽出する 工程と、
前記中継のノード装置が、前記抽出された前記保存元ノード情報を含む再登録メッ セージを生成する工程と、
前記中継のノード装置が、前記生成された前記再登録メッセージを、変更後の前 記転送先ノード情報にしたがって送信する工程と、
前記再登録メッセージを受信したノード装置が、前記受信した再登録メッセージに 含まれる保存元ノード情報が既に記憶されている力否かを判別する工程と、
前記再登録メッセージを受信したノード装置が、前記記憶されて 、な 、と判別した 場合には、前記保存元ノード情報を記憶し、当該再登録メッセージを、前記転送先ノ ード情報にしたがって転送する工程と、
を備えることを特徴とする再登録メッセージ送信方法。
ネットワークを介して互 、に通信可能な複数のノード装置を備え、他のノード装置か ら受信したメッセージの転送先のノード装置を示す転送先ノード情報が夫々のノード 装置に記憶され、且つ、少なくとも 1の配信情報が複数のノード装置に分散して保存 される情報配信システムであって、前記配信情報力^のノード装置に保存された場合 に、当該配信情報を保存した当該 1のノード装置を示す保存元ノード情報を含む登 録メッセージが当該 1のノード装置力 送出され、当該登録メッセージは、前記転送 先ノード情報にしたがって、複数の中継のノード装置により前記配信情報の所在の 管理元のノード装置まで転送され、前記複数の中継のノード装置及び前記管理元の ノード装置にぉ 、て前記保存元ノード情報が記憶されるようにした情報配信システム における再登録メッセージ送信方法であって、
前記中継のノード装置が、前記転送先ノード情報の変更を検出する工程と、 前記中継のノード装置力 変更前の前記転送先ノード情報にしたがって転送した 前記登録メッセージに含まれる前記保存元ノード情報を前記記憶手段から抽出する 工程と、
前記中継のノード装置が、前記抽出された前記保存元ノード情報を含む再登録メッ セージを生成する工程と、
前記中継のノード装置が、前記生成された前記再登録メッセージを、変更後の前 記転送先ノード情報にしたがって送信する工程と、
前記再登録メッセージを受信したノード装置が、前記受信した再登録メッセージに 含まれる保存元ノード情報が既に記憶されている力否かを判別する工程と、
前記再登録メッセージを受信したノード装置が、前記記憶されて!ヽると判別した場 合には、前記再登録メッセージに含まれる保存元ノード情報の削除要求を示す削除 メッセージを、当該保存元ノード情報に対応付けられて記憶されて!、る直前ノード情 報にしたがって送信する工程と、
を備えることを特徴とする再登録メッセージ送信方法。
PCT/JP2007/050088 2006-01-30 2007-01-09 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体 WO2007086250A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/219,229 US7853718B2 (en) 2006-01-30 2008-07-17 Information delivery system, reregistration message sending method, node device, and recording medium recording node processing program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006020629A JP2007200203A (ja) 2006-01-30 2006-01-30 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム
JP2006-020629 2006-01-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/219,229 Continuation-In-Part US7853718B2 (en) 2006-01-30 2008-07-17 Information delivery system, reregistration message sending method, node device, and recording medium recording node processing program

Publications (1)

Publication Number Publication Date
WO2007086250A1 true WO2007086250A1 (ja) 2007-08-02

Family

ID=38309049

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/050088 WO2007086250A1 (ja) 2006-01-30 2007-01-09 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体

Country Status (3)

Country Link
US (1) US7853718B2 (ja)
JP (1) JP2007200203A (ja)
WO (1) WO2007086250A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8199673B2 (en) * 2008-06-17 2012-06-12 Qualcomm Incorporated Methods and apparatus for discovery of peer to peer overlaying networks
CN101674233B (zh) * 2008-09-12 2011-09-14 中国科学院声学研究所 基于彼得森图的存储网络***及数据读写方法
JP5280284B2 (ja) * 2009-04-10 2013-09-04 日本放送協会 ノード装置及びコンピュータプログラム
CN101888326A (zh) * 2009-05-15 2010-11-17 华为技术有限公司 业务连接建立方法、路径计算单元设备及网络***
US20110246628A1 (en) * 2010-03-31 2011-10-06 Brother Kogyo Kabushiki Kaisha Information communication system, information processing apparatus, information communication method and computer readable storage medium
JP5370315B2 (ja) * 2010-08-30 2013-12-18 ブラザー工業株式会社 通信システム、情報処理装置、情報処理プログラム、及び所在情報登録方法
US9645944B2 (en) 2012-05-07 2017-05-09 International Business Machines Corporation Enhancing data caching performance
US9110815B2 (en) * 2012-05-07 2015-08-18 International Business Machines Corporation Enhancing data processing performance by cache management of fingerprint index
US9021203B2 (en) 2012-05-07 2015-04-28 International Business Machines Corporation Enhancing tiering storage performance
US10142345B2 (en) 2013-10-28 2018-11-27 Samsung Electronics Co., Ltd Method and apparatus for multi-users registering home network supporting application based device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003188918A (ja) * 2001-12-20 2003-07-04 Nec Corp アプリケーションレイヤ・マルチキャスト方式及びその中継ノードシステム
JP2003244210A (ja) * 2002-02-13 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム
JP2006025355A (ja) * 2004-07-09 2006-01-26 Fujitsu Ltd ネットワークのリソース,サービス発見方法及び中継ノード装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044076A (en) * 1995-06-09 2000-03-28 Canon Kabushiki Kaisha Network system for transmitting a plurality of channels, and node device, packet transmission method, terminal equipment connection table generation method, and connection information registration method used in the system
JP3332776B2 (ja) * 1996-02-02 2002-10-07 キヤノン株式会社 伝送制御方法及びそれを用いるネットワークシステム
JP3372455B2 (ja) * 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US7613796B2 (en) * 2002-09-11 2009-11-03 Microsoft Corporation System and method for creating improved overlay network with an efficient distributed data structure
JP2004127074A (ja) 2002-10-04 2004-04-22 Nippon Telegr & Teleph Corp <Ntt> P2pネットワークにおけるファイル検索方法、端末、プログラム、および記録媒体
JP4311636B2 (ja) * 2003-10-23 2009-08-12 株式会社日立製作所 記憶装置を複数の計算機で共用する計算機システム
JP4599581B2 (ja) * 2005-02-08 2010-12-15 ブラザー工業株式会社 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
TWI287376B (en) * 2005-12-27 2007-09-21 Ind Tech Res Inst Method and apparatus for mobility management in wireless networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003188918A (ja) * 2001-12-20 2003-07-04 Nec Corp アプリケーションレイヤ・マルチキャスト方式及びその中継ノードシステム
JP2003244210A (ja) * 2002-02-13 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> ルーチング制御方法及びルーチング制御装置並びに記録媒体及び制御プログラム
JP2006025355A (ja) * 2004-07-09 2006-01-26 Fujitsu Ltd ネットワークのリソース,サービス発見方法及び中継ノード装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHAO B.Y. ET AL.: "Tapestry: An Infrastructure for Fault-tolerant Wide-Area Location and Routing", TECHNICAL REPORT UCB/CSD-01-1141, April 2001 (2001-04-01), XP002995768 *

Also Published As

Publication number Publication date
US7853718B2 (en) 2010-12-14
JP2007200203A (ja) 2007-08-09
US20080288657A1 (en) 2008-11-20

Similar Documents

Publication Publication Date Title
WO2007086250A1 (ja) 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラムを記録した記録媒体
US8321586B2 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
WO2007060862A1 (ja) 情報配信システム、情報配信方法、ノード装置、及び記録媒体
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
JP4692414B2 (ja) 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
WO2007083531A1 (ja) コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
WO2007010724A1 (ja) ノード装置、コンピュータプログラムを記憶した記憶媒体、情報配信システム、及びネットワーク参加方法
WO2007023600A1 (ja) ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
WO2006073046A1 (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
WO2006103800A1 (ja) 情報処理装置及び蓄積装置、情報処理方法及び蓄積方法並びに情報処理用プログラム及び蓄積装置用プログラム
US8819295B2 (en) Information communication system, first information processing device, method for processing information, and computer readable storage medium
JP2010271933A (ja) 分散保存システム、ノード装置、ノード処理プログラム及びデータファイル保存方法
JP5532649B2 (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
JP5272991B2 (ja) 情報通信システム、情報通信方法及びプログラム
JP2010113573A (ja) コンテンツ分散保存システム、コンテンツ保存方法、サーバ装置、ノード装置、サーバ処理プログラム、及びノード処理プログラム
JP5212292B2 (ja) 情報通信システム、ノード装置、ノード装置確認方法及びプログラム
JP4623030B2 (ja) ツリー型放送システム、接続先決定方法、接続管理装置、及び接続管理処理プログラム等
JP5375272B2 (ja) ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法
JP4548271B2 (ja) 情報通信システム、情報通信方法、ノード装置、及びコンピュータプログラム
JP2009187101A (ja) コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2008236538A (ja) ツリー型放送システム、コンテンツ放送方法、放送管理装置、及び放送管理処理プログラム
JP2009187056A (ja) コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム
JP5907132B2 (ja) 中継装置、プログラム及び通信システム
JP2009020669A (ja) コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等

Legal Events

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

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07706435

Country of ref document: EP

Kind code of ref document: A1