WO2006085519A1 - 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等 - Google Patents

情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等 Download PDF

Info

Publication number
WO2006085519A1
WO2006085519A1 PCT/JP2006/302038 JP2006302038W WO2006085519A1 WO 2006085519 A1 WO2006085519 A1 WO 2006085519A1 JP 2006302038 W JP2006302038 W JP 2006302038W WO 2006085519 A1 WO2006085519 A1 WO 2006085519A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
node
node device
request
requests
Prior art date
Application number
PCT/JP2006/302038
Other languages
English (en)
French (fr)
Inventor
Hideki Matsuo
Yoshihiko Hibino
Yuji Kiyohara
Hiroaki Suzuki
Kentaro Ushiyama
Koichi Iijima
Tomohiro Kudo
Osamu Tatebe
Yuetsu Kodama
Kazuyuki Shudo
Original Assignee
Brother Kogyo Kabushiki Kaisha
Xing Inc.
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, Xing Inc. filed Critical Brother Kogyo Kabushiki Kaisha
Publication of WO2006085519A1 publication Critical patent/WO2006085519A1/ja
Priority to US11/890,473 priority Critical patent/US7839867B2/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
    • 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] 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • 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

Definitions

  • the present invention relates to a Peer to Peer (P2P) type content distribution system including a plurality of node devices connected to each other via a network.
  • P2P Peer to Peer
  • the present invention relates to technical fields such as an information distribution system, a distribution request program, a transfer program, and a distribution program in which content data to be distributed to node devices is distributed and stored in a plurality of node devices.
  • each node device specifies content information related to content data distributed and stored in a plurality of node devices (for example, content information by specifying auxiliary information such as the title of the content data).
  • index information Information that can specify the IP address etc. of the node device that stores the data: In the following, it is called index information.
  • the user It is possible to download desired content data.
  • Such a list is shared information that should be used in common by a plurality of node devices, and is generally managed by a management server that manages all content data stored on the content distribution system. The above list is distributed from the management Sano to each node device.
  • Non-Patent Document 1 discloses a technique using a distributed hash table (DHT) as a method without using a management server.
  • DHT distributed hash table
  • a request node that desires distribution of content The node device that manages the content information also accesses the node device by listening to the location of the node device that stores the content information.
  • Non-Patent Document 1 "Lightweight load balancing method for distributed hash table" The Institute of Electronics, Information and Communication Engineers IEICE technical report Disclosure of the invention
  • request node power for content distribution is connected to a plurality of node devices storing desired content, and content information is received from each node device. In some cases, the desired content is received as soon as possible.
  • DHT distributed hash table
  • the request node requests a plurality of locations of the node devices that store the content information, and the content information is received from the node devices that have the location of the node devices that store the content information for the requested number It is conceivable to receive the location of the node device to be memorized. In this way, in the node device inquired about the location of a plurality of content node devices, the location of the number of node devices satisfying the requested number is self-existing. Since the request node does not respond to the request node unless it is included in the list of the request node, the request node reaches the node device having the location of the requested number of node devices in the list and is requested by the node device. It is necessary to wait for the response of the upstream force until the response of the location of the node device satisfying the number is transmitted. Problem is a concern.
  • the present invention has been made in view of the above problems and the like, and information distribution that makes it possible to efficiently acquire the content from a plurality of node devices that store the desired content of the requested node power. It is an object to provide a system, a distribution request program, a transfer program, a distribution program, and the like.
  • the invention according to claim 1 is included in the plurality of node devices in an information distribution system including a plurality of node devices connected to each other by constructing a network.
  • the first node device is a node device included in the plurality of node devices with respect to the second node device included in the plurality of node devices, and is shared among the plurality of node devices.
  • Specific identification information corresponding to the specific shared information which should request transmission of node information indicating a plurality of information storage node devices that store the specific shared information that is specific shared information among the shared information to be Request number information indicating the number of requests for the node information, request information generating means for generating request information based on the request number information, and the generated request information Request information transmitting means for transmitting request information to the second node device, node information receiving means for receiving the node information from the second node device, and the information corresponding to the node information
  • a second distribution request unit configured to request the storage node device to distribute the specific shared information; and a specific shared information reception unit configured to receive the specific shared information distributed from the information storage node device.
  • the node device includes a storage unit that stores the node information indicating the information storage node device that stores the shared information and unique identification information corresponding to the shared information, and the plurality of node devices. Node power of any power When the request information is received and the request for the specific shared information is received, the identification included in the received request information with reference to the storage means Node information retrieval means for retrieving node information corresponding to the number of requests indicated by the number-of-requests information included in the request information, the node information corresponding to the information, and as a result of the retrieval, the number of requests equal to or more than When the node information is found, at least the requested number of the node information is transmitted to the first node device, and when the requested number of node information is not found, If the node information transmission means for transmitting the discovered node information to the first node device and the second node device itself is not the management node device that is the management source of the specific shared information, the request information And node information transmission means, transmitted node information which is node
  • a transfer means for transferring to the management node device when there is no intermediate node device, or the information storage node device from the first node device.
  • a distribution unit that distributes the specific shared information to the first node device when a distribution request for the specific shared information is received.
  • the request node when requesting the location of the content data as the specific shared information, requests the node information of the content node as the information storage node device when inquiring about the location of the content data as the first node device. Can be included in the query as the request information as the request number information, and the content distribution can be received from a plurality of content nodes, so that the content data can be acquired more quickly. Furthermore, when the second node device is not the root node, the second node device raises the query. When transferring to the upstream node device, the already transmitted node information is transmitted as the transmitted node information together with the request number information. Information can be recognized.
  • the invention according to claim 2 is the information delivery system according to claim 1, wherein the second node device receives the request information when the request information is received.
  • the node information search means uses the node information stored in the storage means as the identification information from the node information excluding the same node information as the transmitted node information. It is characterized by searching for corresponding node information.
  • the invention according to claim 3 is the information distribution system according to claim 1 or claim 2, wherein the second node device is based on the node information search means.
  • the node information transmission means is calculated from the number of requests.
  • updating means for updating the number of requests by subtracting the number of node information transmitted to the first node device, and the transfer means in the second node device calculates the updated number of requests.
  • the request information is transferred as new request number information.
  • the second node device such as the root node or the cache node subtracts the number of node information already transmitted to the first node device such as the request node. Therefore, the first node device can reliably and efficiently acquire the number of node information requested by the first node device. .
  • the invention according to claim 4 is the information distribution system according to any one of claims 1 to 3, wherein the distribution in the first node device is performed as described above.
  • the request means sequentially specifies the information storage node device corresponding to the node information.
  • the specific shared information receiving means in the first node device requests distribution of shared information, and the specific shared information distributed from each of the information storage node devices requested to distribute the specific shared information is parallelized. And receiving.
  • the first node device such as the request node does not receive all the node information corresponding to the number of requests, but the second node device power node information such as the root node or the cache node.
  • an information storage node device such as a content node based on the node information.
  • each content node can also receive the content in parallel, so that it becomes possible to obtain the desired content more quickly.
  • the invention according to claim 5 is the information distribution system according to any one of claims 1 to 4, wherein the second node device is the node As a result of the search by the information search means, if the number of node information corresponding to the number of requests is not found and the second node device itself is the management node device, the first node And an error reply means for replying that there is no node information corresponding to the number of requests.
  • the request information is transferred to the root node as the management node device and the node information for the number of requests is still not found, the first node device such as the request node is used. Since the error reply is configured to be transmitted, it is possible to easily grasp that the first node device has no node information for the number of requests.
  • the invention according to claim 6 is an information distribution method in an information distribution system including a plurality of node devices connected to each other by constructing a network.
  • Node information indicating an information storage node device in which a second node device included in the node device stores shared information to be shared among the plurality of node devices; unique identification information corresponding to the shared information;
  • a first node device included in the plurality of node devices is a node device included in the plurality of node devices with respect to the second node device.
  • a plurality of information storage node devices for storing specific shared information which is specific shared information among the shared information.
  • the node information corresponding to the identification information included in the received request information from the node information stored in the storage step.
  • a node information search step for searching the node information for the number of requests indicated by the request number information included in the request information, and the second node device as a result of the search by the node information search step, More than the number of requests If the node information is found, at least the requested number of node information is transmitted to the first node device, and if the requested number of node information is not found, the discovery is performed.
  • Node information transmission step of transmitting the node information thus transmitted to the first node device, and the second node device, the second node device itself being a management source of the specific shared information If not, the request information and the transmitted node information that is the node information transmitted to the first node device in the node information transmission step are intermediate between the second node device and the management node device.
  • a transfer step of transferring to the intervening node device or to the management node device if there is no intervening node device, and the first node device A node information receiving step for receiving the node information from the node device, and a distribution request step for requesting the information storage node device corresponding to the node information to distribute the specific shared information by the first node device.
  • the first node device includes a specific shared information receiving step of receiving the specific shared information distributed from the information storage node device.
  • the invention according to claim 7 is the information distribution method according to claim 6, wherein the second node device receives the transmitted node information when the request information is received.
  • the storage step The node information corresponding to the identification information is searched from node information excluding the same node information as the transmitted node information among the stored node information.
  • the invention according to claim 8 is the information distribution method according to claim 6 or claim 7, wherein the second node device performs the node information search step. If there is no node information corresponding to the number of requests as a result of the search, and the second node device itself is not the management node device, the node information transmission step starts from the number of requests in the node information transmission step. An update step of updating the number of requests by subtracting the number of node information transmitted to the first node device, and in the transfer step, the request using the updated number of requests as new request number information. It is characterized by transferring information.
  • the invention according to claim 9 is the information distribution method according to any one of claims 5 to 8, wherein the node information reception is performed in the distribution request step.
  • the information storage node device corresponding to the node information is sequentially requested to distribute the specific shared information, and the specific shared information receiving step
  • Each of the information storage node devices requested to distribute information is characterized in that the specific shared information distributed is received in parallel.
  • the invention according to claim 10 is the information distribution method according to any one of claims 5 to 9, wherein the second node device is the node.
  • the second node device is the node.
  • the invention according to claim 11 is included in the plurality of node devices constituting an information distribution system including a plurality of node devices connected to each other by constructing a network.
  • the first node device is a node device included in the plurality of node devices with respect to the second node device included in the plurality of node devices, and is shared among the plurality of node devices.
  • Requesting transmission of node information indicating a plurality of information storage node devices that store specific shared information among specific shared information to be transmitted, unique identification information corresponding to the specific shared information, and the node information The number of requests Request information generating means for generating request information based on the request number information shown, request information transmitting means for transmitting the generated request information to the second node device, and the second node Distributed from the information storage node device, node information reception means for receiving the node information from the device, distribution request means for requesting the information storage node device corresponding to the node information to distribute the specific shared information, and And specific shared information receiving means for receiving the specific shared information.
  • the invention according to claim 12 is the first node device according to claim 11, wherein the distribution request means receives the node information by the node information receiving means. Each time the information is received, the information storage node device corresponding to the node information is sequentially requested to distribute the specific shared information, and the specific shared information receiving means requests the distribution of the specific shared information. The specific shared information distributed from each of the information storage node devices is received in parallel.
  • the invention according to claim 13 is included in the plurality of node devices constituting an information distribution system including a plurality of node devices connected to each other by constructing a network.
  • the node information indicating the information storage node device that stores the shared information is associated with the unique identification information corresponding to the shared information, respectively.
  • Storage means for storing the specific identification information corresponding to the specific shared information and the number of requests for the node information from any one of the plurality of node devices.
  • the request information generated based on the request number information is received and the request for the specific shared information is received, the identification included in the received request information with reference to the storage means
  • Node information search means for searching for node information corresponding to the number of requests indicated by the request number information included in the request information, the node information corresponding to the information, and as a result of the search, When the node information is found, the node information is transmitted at least for the number of requests to the first node device, and when the node information for the number of requests is not found, The first node information about the discovered node information.
  • the request information and the node information transmission unit Node information transmitted to the first node device is transmitted to or from a node device interposed between the second node device and the management node device. And a transfer means for transferring to the management node device when there is no device.
  • the invention according to claim 14 is the second node device according to claim 13, in which the transmitted node information is received when the request information is received.
  • the node information search means searches for node information corresponding to the identification information from the node information stored in the storage means except for the same node information as the transmitted node information. It is characterized by that.
  • the invention according to claim 15 is the second node device according to claim 13 or claim 14, wherein the number of requests described above is the result of the search by the node information search means. If the second node device itself is not the management node device, the node information transmitting means transmits the node information to the first node device by the node information transmission means. An update unit that updates the number of requests by subtracting the number of information, and the transfer unit transfers the request information using the updated number of requests as new request number information.
  • the invention according to claim 16 is the second node device according to any one of claims 13 to 15, wherein the search by the node information search means is performed.
  • the invention according to claim 17 is included in the plurality of node devices constituting an information distribution system including a plurality of node devices connected to each other by constructing a network.
  • Request information transmitting means for transmitting to the node device, node information receiving means for receiving the node information from the second node device, and the specific shared information for the information storage node device corresponding to the node information It is made to function as a distribution request means for requesting the distribution of information, and a specific shared information receiving means for receiving the specific shared information distributed from the information storage node device.
  • the invention according to claim 18 is the distribution request program according to claim 17, wherein the distribution request means receives the node information by the node information receiving means.
  • the information storage node device corresponding to the node information is caused to function so as to request the distribution of the specific shared information, and the specific shared information receiving means distributes the specific shared information.
  • Each requested information storage node device power is configured to function to receive the specific shared information distributed in parallel.
  • the invention according to claim 19 is included in the plurality of node devices constituting an information distribution system including a plurality of node devices connected to each other by constructing a network.
  • Receiving the computer included in the second node device included in the plurality of node devices node information indicating the information storage node device that stores the shared information, unique identification information corresponding to the shared information
  • Storage means for associating and storing the specific identification information corresponding to the specific shared information and the node information from any one of the plurality of node devices.
  • the received request is referred to the storage means.
  • the node information corresponding to the identification information included in the information and included in the request information Node information search means for searching node information for the number of requests indicated by the request number information, and when the node information for the request number or more is found as a result of the search, at least the first node device has Node information transmitting means for transmitting the node information corresponding to the number of requests and transmitting the discovered node information to the first node device when the node information corresponding to the number of requests is not found.
  • the request information and the node information transmitted to the first node device by the node information transmission means To the node device that is intermediate between the second node device and the management node device, or when there is no node device that is intermediate It characterized in that to function as a transfer means for transferring to the management node device.
  • the node information search means functions to search node information corresponding to the identification information from among node information stored in the storage means excluding node information identical to the transmitted node information. It is characterized by that.
  • the invention according to claim 21 is the transfer program according to claim 19 or claim 20, wherein the request is sent to the computer as a result of the search by the node information search means. If there is no node information for several minutes and the second node device itself is not the management node device, the node information transmission means determines the number of requests to the first node device. The number of transmitted node information is subtracted to function as an updating unit that updates the number of requests, and the transfer unit transfers the request information using the updated number of requests as new request number information. It functions as follows.
  • an invention according to claim 22 is the transfer program according to any one of claims 19 to 21, wherein the computer is configured to search for the node information.
  • the search by (1), if the node information for the number of requests has not been found and the second node device itself is the management node device, the first node device That there is no node information corresponding to the number of requests. It further functions as an error answering means for answering.
  • any one of the distribution request program and the transfer program according to any one of claims 17 to 22 is a computer. It is recorded in a readable manner.
  • the invention according to claim 24 includes an information distribution system including a plurality of node devices connected to each other by constructing a network.
  • the first node device is a node device included in the plurality of node devices with respect to the second node device included in the plurality of node devices, and is shared among the plurality of node devices.
  • Specific identification information corresponding to the specific shared information which should request transmission of node information indicating a plurality of information storage node devices that store the specific shared information that is specific shared information among the shared information to be
  • Roux Request information transmitting means for transmitting to the second node device in accordance with a routing table, node information receiving means for receiving the node information from the second node device, and the information storage corresponding to the node information
  • a distribution request unit that requests the node device to distribute the specific shared information
  • a specific shared information receiving unit that receives the specific shared information distributed from the information storage node device.
  • the node device of 2 stores the shared information, which is transmitted from any one of the plurality of node devices according to a routing table using the identification information corresponding to the shared information as a key.
  • Node information indicating a device and unique identification information corresponding to the shared information, and node information indicating the source node device, respectively When the request information is received from any one of the plurality of node devices and a request for transmitting node information indicating the plurality of information storage node devices is received. Is associated with the node information indicating the node device that is the transmission source of the received request information with reference to the storage means!
  • the node information indicating the information storage node device is the request Node information indicating the information storage node device corresponding to the identification information included in the information, and indicated by request number information included in the request information
  • a node information search means for searching node information for the number of requests; and if the node information for the number of requests equal to or greater than the number of requests is found as a result of the search, at least the number of requests for the first node device
  • Node information transmitting means for transmitting the node information for the first node device when the node information for the number of requests is not found, If the second node device itself is not the management node device that is the management source of the specific shared information, the request information is sent to the node device that is intermediate between the second node device and the management node device.
  • a transfer means for transferring to the management node device when there is no intermediate node device, and the information storage node device is shared with the specific node from the first node device.
  • a distribution means for distributing the specific shared information to the first node device when an information distribution request is received.
  • the request node power as the first node device also inquires about the location of the content data as the specific shared information
  • the request node obtains the node information of the content node as the information storage node device. Since the number of requests is included in the query as request number information and transmitted, and multiple content node powers can also receive content distribution, content data can be acquired more quickly.
  • the node information of the content node is received by the routing table using the identification information as a key, the node information of the relay transmission source is stored in association with the storage means as a back pointer, and the node information of the content node is also stored. Since the query is transferred by the routing table using the identification information as a key, the node information that has already been transmitted can be recognized.
  • the invention according to claim 25 is an information distribution method in an information distribution system including a plurality of node devices connected to each other by constructing a network,
  • the second node device included in the plurality of node devices uses the unique identification information corresponding to the shared information to be shared among the plurality of node devices as a key from any one of the plurality of node devices.
  • Node information indicating the information storage node device that stores the shared information and unique identification information corresponding to the shared information, received according to the routing table Indicate A storage step of storing each node information in association with each other, and a first node device included in the plurality of node devices is a node device included in the plurality of node devices with respect to the second node device.
  • Specific identification information corresponding to the specific shared information that should request transmission of node information indicating a plurality of information storage node devices that store specific shared information that is specific shared information among the shared information; Generating request information based on request number information indicating the number of requests for the node information, and the first node device using the identification information corresponding to the specific shared information for the generated request information.
  • the node information stored in the storing step and the source of the received request information The information storage node device corresponding to the identification information included in the request information out of the node information indicating the information storage node device is associated with the node information indicating the node device.
  • a node information search step for searching node information corresponding to the number of requests indicated by the request number information included in the request information, and the second node device includes the node information search step.
  • the de device receives a delivery request of the specific co-information, it said particular
  • an invention according to claim 26 is the first invention included in the plurality of node devices constituting the information distribution system including a plurality of node devices connected to each other by constructing a network.
  • a request for transmission of node information indicating a plurality of information storage node devices storing specific shared information, which is specific shared information among the shared information to be shared among the plurality of node devices, is received from one node device.
  • the shared node is transmitted from any one of the plurality of node devices according to a routing table using the identification information corresponding to the shared information as a key.
  • Receiving node information indicating the information storage node device storing information and unique identification information corresponding to the shared information, and receiving the node information of the transmission source A storage unit that stores the node information indicating each of the plurality of node devices in association with each other, and a node device that transmits the identification information corresponding to the specific shared information according to a routing table from any one of the plurality of node devices.
  • the request information generated based on the unique identification information corresponding to the specific shared information and the request number information indicating the request number of the node information is received, and the plurality of information storage node devices are In response to a request for transmission of the node information indicated, the storage means is referred to and associated with the node information indicating the node device that is the transmission source of the received request information.
  • the node information indicating the storage node device the node information indicating the information storage node device corresponding to the identification information included in the request information, the request information including Node information search means for searching node information for the number of requests indicated by the number of requests to be indicated, and when the node information for the number of requests equal to or more than the number of requests is found as a result of the search, the first node
  • the node information corresponding to at least the number of requests is transmitted to a node device and the node information corresponding to the number of requests is not found, the detected node information is transmitted to the first node device.
  • the request information is transmitted between the second node device and the management node device.
  • a transfer means for transferring to the management node device when there is no intervening node device are not the management node device that is the management source of the specific shared information.
  • an invention according to claim 27 is included in the plurality of node devices constituting an information distribution system including a plurality of node devices connected to each other by constructing a network.
  • a request for transmission of node information indicating a plurality of information storage node devices storing specific shared information, which is specific shared information among the shared information to be shared among the plurality of node devices, is received from one node device.
  • the computer included in the second node device included in the plurality of node devices is transferred from any node device of the plurality of node devices to the routing system using the identification information corresponding to the shared information as a key.
  • the storage means is referred to and associated with the node information indicating the node device that is the transmission source of the received request information.
  • a node information search means for searching for node information corresponding to the number of requests indicated by the request number information included in the request information, and if the node information equal to or more than the number of requests is found as a result of the search,
  • the node information corresponding to at least the number of requests is transmitted to a first node device, and when the node information corresponding to the number of requests is not found, the discovered node information is transferred to the first node device.
  • Node information transmission means for transmitting the request information to the second node device and the management node device when the second node device itself is not a management node device that is a management source of the specific shared information. If there is no node device that intervenes in the middle of, or if there is no node device that intervenes in the middle, the management node device It functions as a transfer means for transferring data to a device.
  • the request node power is also transmitted by including the number of requesting node information of the content node as a request number information in the query as request information. Since content distribution can be received from a plurality of content nodes, content data can be acquired quickly and efficiently.
  • FIG. 1 is a diagram showing an example of a connection mode of each node device in a content distribution system according to the present embodiment.
  • FIG. 2 is an explanatory diagram of an ID space.
  • FIG. 3 is a diagram showing an example of how a routing table is created by DHT.
  • FIG. 4 An example of a level 1 table.
  • B An example of a level 2 table.
  • C An example of a level 3 table.
  • D An example of a completed routing table.
  • FIG. 5 is a diagram showing an example of a state in which a node device 1 that is a storage source of content data is searched by the DHT in the present embodiment.
  • FIG. 6 is a diagram showing a schematic configuration example of a node device 1.
  • FIG. 7 is an explanatory diagram showing the exchange of various information between nodes in the form of a spanning tree.
  • FIG. 8 is an explanatory diagram showing the exchange of various information between nodes in the form of a spanning tree.
  • FIG. 9 is a flowchart showing processing in the control unit 11 of the request node.
  • FIG. 10 is a flowchart showing processing in the control unit 11 of the cache node or the root node.
  • FIG. 11 is a flowchart showing processing in the control unit 11 of the content node.
  • FIG. 12 is an explanatory diagram showing the flow of a public message in the form of a spanning tree.
  • FIG. 13 is an explanatory diagram showing a state of query forwarding and a state in which node information of a content node is returned in the form of a spun tree.
  • 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 Provider
  • DSL Digital Subscriber Line
  • FTTH Fiber To The Home
  • the network (real-world network) 8 is configured by the operator (device) 6 and the communication line (eg, telephone line, optical cable, etc.) 7 etc. It is built.
  • the content distribution system S is configured to include a plurality of node devices la, lb, lc---lx, ly, 1 ⁇ ... connected to each other via such a network 8. It has become a peer-to-peer network system. Each node device la, lb, lc --- lx, ly, 1 ⁇ ... Is assigned a unique manufacturing number and IP (Internet Protocol) address as information (node information) indicating the node device. The serial number and IP address are not duplicated among the plurality of node devices 1. In the following description, when any one of the node devices la, lb, lc---lx, ly, 1 ⁇ ⁇ is indicated, it may be referred to as a node device 1 for convenience.
  • DHT Distributed Hash Table
  • each node device 1 participating in the network 8 has an IP address of all the node devices 1 participating in the network 8 and an index of information held by each device. It is a simple technique to know, but when the number of terminals increases to tens of thousands and hundreds of thousands, it is not realistic to remember the IP addresses of all the node devices 1. When the power of any node device is turned on or off, the IP address of the arbitrary node device stored in each node device 1 is frequently updated, which makes operation difficult.
  • an overlay network 9 as shown in an upper frame 100 of Fig. 1 is constructed by an algorithm using DHT. That is, this The overlay network 9 means a network that forms a virtual link formed using the existing network 8.
  • the overlay network 9 is constructed by an algorithm using DHT, and the node device 1 arranged on the overlay network 9 participates in the content distribution system S (in other words, in other words).
  • the content distribution system S for example, node device 1 participating in overlay network 9.
  • participation in the content distribution system S is performed by sending a participation request to an arbitrary node device 1 that has already participated and has already participated, and has already participated.
  • the node ID of each node device 1 is hashed with a common hash function (hash algorithm), which is a unique value for each node device, such as the IP address or serial number of each node device.
  • the hash value obtained in this way is distributed evenly in one ID space.
  • the node ID (hashed) obtained by a common hash function has a very low probability of having the same value if the IP address or serial number is different. Since the hash function is publicly known, detailed explanation is omitted.
  • a node ID is a value obtained by hashing an IP address (global IP address) with a common hash function.
  • the plurality of node devices 1 participating in the content distribution system S include content (for example, movies and music) as shared information distributed from one node device 1 to another node device 1.
  • content for example, movies and music
  • Etc. Data is distributed and stored (stored), but a unique (unique) number (hereinafter referred to as a content ID) is assigned to each content data.
  • the content ID has the same length as the node ID (for example, 128 bits).
  • a keyword such as a content name (content title) or content summary information (summary) It is hashed by the same hash function as when obtaining the above node ID (that is, Node device 1 having the node ID closest to the hash value (for example, the higher-order digits match more), and the content data is stored in the same ID space as the hash value of the IP address of node device 1 Save or manage location information. This makes it possible to distribute content data on the content distribution system S without any bias. It should be noted that even if the content data is different, the same keyword (for example, the name of the content) can be assumed. In this case, the same hash value is obtained.
  • the keyword to be converted may be, for example, a combination of content name and copyright information (for example, performer name, director name, original author name, singer name, composer name, or songwriter name).
  • the node ID and content ID assigned to each node device 1 and each content data are generated by a common hash function, and therefore, on the same ring-shaped ID space as shown in FIG. It can be thought of as scattered and existing without much bias.
  • the figure shows a node ID and content ID assigned in 32 bits.
  • black dots indicate node IDs
  • black diamonds indicate content IDs
  • IDs increase counterclockwise.
  • the rule is that “a node device that manages content data having a certain content ID is a node device 1 having a node ID close to that content ID”.
  • the definition of “close” does not exceed the content ID, and the power to minimize the difference between the content ID and the node ID.
  • each content device is managed by each node device. It should be consistent when allocating to 1.
  • the content IDa is managed by the node device having the node IDa
  • the content IDb is managed by the node device having the node IDb
  • the content IDc is the node IDc. It is managed by the node device 1 having it.
  • a certain node device may manage a plurality of different content data.
  • management does not mean that content data is stored / held, but “knows which node device 1 stores the content data” Say that. That is, in FIG. 2, the node device 1 having the node IDa The node device 1 knows which content data having the content IDa is stored in the node device 1, and the node device 1 having the node IDb and the node device 1 having the node IDc are also content containers having the content IDb. When the node device 1 stores the content data having the content data and the content IDc, the node data 1 is stored. In this way, a node device that knows in which node device 1 certain content data is stored is called a root node of the content data.
  • the node device 1 having the node IDa is the root node of the content data having the content IDa
  • the node device 1 having the node IDb is the root node of the content data having the content IDb
  • the node device 1 having the content data is the root node of the content data having the content IDc.
  • a node device that manages content data having a certain content ID is a node device 1 having a near-node ID to the content ID. Even if the content data is created, the root node of some content data suddenly stops functioning, or the content data is stored in the node device (hereinafter simply referred to as “content node”) where the content data is stored. It may be extinguished. Even in such a case, content data managed by the root node will remain indefinitely unless the existence of root node power content data is confirmed and its own index information is updated. Although the content data has disappeared and disappeared, when the same content data is registered again, the root node is again selected under the above rules. A node device different from the root node may be selected as a new root node.
  • a pair of content data and a root node is created under the rule that “a node device that manages content data having a certain content ID is a node device 1 having a node ID close to that content ID”. Even if the content distribution system S has built up a huge network of hundreds and thousands of units, the content of the node device content distribution system S has been withdrawn. Content data is also used to increase the frequency of participation and participation (for example, due to breakdowns or partial network disconnection). Because there is a high frequency of new storage or deletion in the node device, there is no single node device that knows the content node from which content data is stored. Will be.
  • the number of node devices (content nodes) that hold certain content data is not necessarily one. Many node devices may hold the same content and participate in the content distribution system S, respectively. Even in such a case, the node device to be the root node may be determined separately depending on the timing of each node device joining the content distribution system S. There are cases where the notebook device holds the same content data and knows two or more node devices (content nodes).
  • FIG. 3 is a diagram illustrating an example of a state in which a routing table is created by the DHT.
  • an ID space as shown in FIG. 3A is divided into several areas. Actually, about 16 divisions are often used, but in order to simplify the explanation, here, it is divided into four and the ID is expressed as a quaternary number with a bit length of 16 bits.
  • An example of creating a routing table for the node device 1N with the node ID of the node device 1N being “10230210” will be described.
  • each area is represented by a quaternary number with different maximum digits.
  • Figure 4 (A) is an example of a level 1 table. The second column shows the node device 1N itself, so there is no need to store the IP address. Yes.
  • the area where I exist is further divided into four, and four areas ⁇ 10XXXXXX '', ⁇ 11XXXXX '', ⁇ 1 2XXXXX '', ⁇ 13XXXXX ".
  • the node device 1 existing in an area other than the area where it exists is appropriately selected, and the IP address of the node ID is stored in the level 2 table.
  • Figure 4 (B) is an example of a level 2 table. The first column shows the node device 1N itself, so there is no need to memorize the IP address!
  • the area that exists is further divided into four, and four areas ⁇ 100XXXXX '', ⁇ 101XXXXX '', ⁇ 102XXXX '', ⁇ 103XXXX '' ".
  • the node device 1 existing in an area other than its own area is appropriately selected, and the IP address of the node ID is stored in the level 1 table.
  • Figure 4 (C) shows an example of a level 3 table.
  • the third column shows the node device 1N itself, so there is no need to store the IP address.
  • the second and fourth columns are blank because there are no node devices in the area.
  • routing tables created according to the method described above are created and owned by all the node devices 1 respectively.
  • content node a search method for the node device 1 (hereinafter referred to as “content node”) that is a storage source of content data in the present embodiment will be described.
  • FIG. 5 is a diagram illustrating an example of how content nodes are searched by the DHT.
  • a node device with node ID "12003030" 1 1 (hereinafter referred to as "request node") 1S
  • request node A procedure for searching for a content node holding content data having content ID "31330012" will be described. . As shown in the figure, the content ID “31330012” is assigned.
  • the node IDs of the content nodes to be held are “00213000” and “02223230”.
  • the path from the request node to the node device 15 that is, the root node that manages the content data having the content ID “31330012” is represented by a solid line arrow.
  • the node device 1-4 in the middle of this route is a cache node that holds the index information stored in the root node as a cache.
  • the request node sends a content query and matching information (hereinafter referred to as “content query !, matching information”) to a node device having a node ID in the same area as the content ID “31330012”.
  • content query ! matching information
  • the query also includes request number information indicating how many pieces of content node information are requested only by the content ID “31330012” indicating the desired content. That is, there may be a plurality of content nodes that hold the same content in the content self-trust system S. In such a case, the request node requests a desired content when requesting content distribution. It is configured to request delivery to multiple content nodes that hold
  • the number of requests for the IP address as the node information of the content node is set to be large, it is possible to receive a large amount of content node power in parallel and to acquire the content earlier. There is an advantage that it becomes possible.
  • the upper limit is “10”
  • the number of IP address requests for content nodes is slightly larger than “15”. It is conceivable that “ The reason to request slightly more than the upper limit is insurance in case of connection failure. In other words, when a distribution request is made to a content node, the content node is powered off and cannot be accessed, or the desired content cannot be distributed for some reason.
  • the request node also transmits the request number information indicating the number of requesting node information of the content node including only the content ID indicating the desired content, together with the request node and each cache. Based on the node information of a plurality of content nodes corresponding to the number of requests received from the node, access is made to the plurality of content nodes and content distribution is requested.
  • the request node refers to the level 1 table of the routing table held by itself, and requests the number of requests for a node device having a node ID in the same area as the content ID "31330012".
  • a query including request number information in which “2” is set is transmitted. That is, since the content ID “31330012” is an area of “3XXXXXX”, the node device 1 belonging to the area of “3XXXXXX” knows the IP address (that is, in the routing table held by itself). The IP address is stored, and a query is sent to the node devices 1-2.
  • the request node since the IP address of the node device 12 whose node ID is “30100000” is stored in the routing table of the request node, the request node has the node ID “ A query is transmitted to the node device 12 which is “30100000”.
  • the node device 1-2 that has received the query refers to the index information held by the node device 1-2 itself, and whether or not there is information on the content node corresponding to the content ID “31330012” If no node device 1 belongs to the area of “31XXXXX”, refer to the tape no. 2 of the routing tape No. 2 held by the node device 1-2 itself. Then, forward (relay) the query to the node device 1-3 (node ID “31012001”) that knows the IP address.
  • the query is transferred to the upstream node device, that is, the node device intermediate between itself and the root node, and the content ID digit is adapted in the order of increasing strength. Get close to the current node.
  • the node device 1-3 that has received the query from the node device 1-2 corresponds to the content ID “31330012” by referring to the index information held by the node device 1-3 itself. Check whether there is content node information. If there is no node device 1
  • — 3 Refers to the level 3 table in the routing table held by itself. “3 Of the node devices 1 belonging to the 13XXXXXJ area, the node device 1 that knows the IP address 1—4 (node ID The query is forwarded (relayed) to “31320100”).
  • the node device 1-4 that has received the query from the node device 1-3 corresponds to the content ID “31330012” with reference to the index information held by the node device 1-4 itself.
  • the request node receiving the node information of the content node (node device 1-6), the content node (node device 1 -6) broken line in FIG. 5 a distribution request for requesting distribution of content to Transmit as indicated by the arrow.
  • each content node (node device 16) that has received the distribution request distributes the content data to the request node as indicated by a one-dot chain line in FIG.
  • the node device 14 that has transmitted the node information of the content node (node device 1-6) to the requesting node has a level 4 table of the routing table held by the node device 1-4 itself. Referring to the node device 1 belonging to the area “3133XXXX”, the node device 15 that knows the IP address (node ID “31330000”), that is, the query including the updated number of requests for the root node Is transferred (relayed). Then, by transmitting the already transmitted node information to the upstream node device together with the query as transmitted node information, it is possible to determine whether the query has undergone an update.
  • the request count information includes the update history, the IP address of the content node that has already been queried, and the number of requests issued by the original requester (this is not updated). It can also be configured to include. In this case, if the number of original requests is different from the current number of requests, you will experience an update. It can be seen that this is a query.
  • the root node manages itself based on the content ID “31330012” included in the query.
  • the index information is searched, and the query is still transmitted, and it is confirmed whether there is content node information corresponding to the content ID “31330012”.
  • the node information of the content node is transmitted to the request node.
  • the request node that has received the node information of the content node requests the content node (node device 1-7) to deliver the content in the same manner as described above.
  • the content request (node device 17) that has transmitted the distribution request as shown by the broken line arrow in FIG. 5 distributes the content data to the request node as shown by the one-dot chain line in FIG.
  • the request node can acquire all the data constituting the content more quickly than by receiving distribution from a single content node by having the content distributed by a plurality of content nodes. .
  • one content is divided into a plurality of data configurations, and the first connected content node (node device 16) receives the first half of the data constituting the content, and later
  • the connected content node (node device 17) may be configured to receive the latter half of the data constituting the content, or may be configured to receive the distribution simultaneously in parallel.
  • packets that are delivered sequentially from each content node are received sequentially in the order in which they are sent, and the presentation layer (the so-called OSI reference model) in the communication section of the request node described later In the presentation layer (6th layer), the packet can be rearranged to control the reconfiguration of the original content.
  • the presentation layer the so-called OSI reference model
  • a node device 1 publishes new content data so that it can be seen by other node devices on the content distribution system S.
  • This node device 1 holds the content (memory It becomes a content node as an information storage node device.
  • the content node obtains the content ID from the content title and the like, and is directed to the node device having the same node ID as the content ID (whether or not this node device actually exists is not at this point) .) Send a public message. This public message is also relayed and transferred one after another according to the routing table in the same manner as the above query, and the node device having the node ID closest to the content ID included in the public message.
  • the node device 1 determines that there is no other destination node device, the node device 1 itself determines that the node device 1 itself should be the root node of the content, and the content ID,
  • the auxiliary information attribute information such as title and genre, copyright information such as director name
  • the IP address of the content node as node information are stored as index information.
  • Each node device 1 is a request node as a first node device that inquires about the location of the content by a process performed by each node device, and a second node device that receives the request node and a terminal power query on the route.
  • Information node that holds the content as specific shared information that is the target of the inquiry by the cache node, the second node device that manages the content, the root node as the management node device, and the request node Force acting as a content node as a node device
  • the configuration is the same.
  • FIG. 6 is a diagram illustrating a schematic configuration example of the node device 1.
  • each node device 1 includes a CPU 11 having a calculation function, a working RAM, a ROM that stores various data and programs, a control unit 11 as a computer, and the content data.
  • HDD index for storing and storing the index information, the DHT, the program, etc.
  • the storage unit 12 as a configured storage means (the content data may be stored in the node device 1 is not available), Buffer memory 13 that temporarily stores received content data, and decoder that decodes encoded video data (video information) and audio data (audio information) included in the content data (data expansion, decoding, etc.) Section 14 and the decoded video data, etc.
  • a video processing unit 15 that performs predetermined rendering processing on the video signal and outputs the 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 above
  • the decoded audio data is converted into an analog audio signal by D (Digital) / A (Analog) conversion and then amplified by an amplifier and output, and the audio signal output from the audio processing unit 17
  • a communication unit 20 for controlling communication of information between the speaker 18 and the other node device 1 through the network 8 and an instruction signal corresponding to the instruction received from the user.
  • an input unit for example, a keyboard, a mouse, or an operation panel
  • the control unit 11, storage unit 12, buffer memory 13, deco Reader unit 1 4, and the communication unit 20 are connected to each other via a bus 22, Ru.
  • the CPU in the control unit 11 executes various programs stored in the storage unit 12 and the like, so that the request node as the first node device, the cache node as the second node device, the second node device As a node node, a root node as a management node device, and a content node as an information storage node device, the entire node device 1 is controlled in an integrated manner.
  • the control unit 11 performs request information generation means, request information transmission means, node information reception means, distribution request means, and specific shared information reception means.
  • the control unit 11 functions as a storage unit, a node information search unit, a node information transmission unit, and an update unit.
  • the control unit 11 functions as a distribution means.
  • all the node devices 1 included in the content distribution system S It can be any node device such as a node, a cache node, a root node, a content node, or a node on a route.
  • the node device 1 When an inquiry about the location of desired content data as specific shared information is instructed by operating the input unit 21 provided in the user force device 1, the node device 1 It functions as a request node as one node device.
  • the node device 1 that has received the request node or the intervening node device power query and inquired about the location of the content data functions as a cache node, a root node, etc.
  • the node device 1 that has received the distribution request functions as a content node.
  • FIG. 7 and FIG. 8 are explanatory diagrams showing an example of the exchange of various information between nodes when the request node of each node makes a content distribution request.
  • an intermediate node is a node that does not have valid index information for the content of interest
  • a cache node is a node that has it.
  • the information on each content node arrives at the root node via the cache node Ka and the cache node Kb as a public message when registering the content. Therefore, the content node information existing in the index information of the cache node Ka storage unit 12 is also present in the index information of the cache node Kb storage unit 12, and the root node has information of all content nodes. ing.
  • the index information of each node is overwritten and updated at various timings, such as when the existence of the content node cannot be confirmed. Omitted.
  • FIG. 9 is a flowchart showing processing performed when the distribution request program stored in the control unit 11 of the request node is executed by the control unit 11, and in the processing shown in FIG. 9 (A).
  • the thread is activated (the process of step S5 described later)
  • the content reception process shown in FIG. 9B is performed in parallel with the process operation of FIG. 9A performed thereafter.
  • the number of requests may be input by the user as desired, but by referring to the catalog list in which the title and popularity of the content are described, the number of requests according to the popularity can be input, Alternatively, the number of requests according to the degree of popularity may be automatically set.
  • Each content is associated with a content title, a summary of the content, a director name, a singer name, the name of the original author, and the popularity determined based on the frequency of the content distribution request. It is described.
  • This catalog list is configured so that an arbitrary node device 1 in the content distribution system S functions as a management server that performs overall management of content, and is periodically distributed from the management server to each node device 1.
  • the control unit 11 functions as an identification information transmission unit, and a content ID (hashing the title of the content or the like) indicating the content data ( Specific identification information corresponding to the specific shared information), the generated content ID, the IP address information of the request node, the request number information indicating the number of requests input by the input unit 21, and Is transmitted to another node device 1 with reference to the routing table stored in the storage unit 12 (step Sl).
  • the selection method of the other node device 1 is based on the method described in detail in “1.3 Content data search method” described above. According to the example shown in FIGS. 7 and 8, first, a query is sent to an intermediate node that is neither a cache node nor a root node. In this example, the content ID indicating the desired content is “30001012” and the number of requests is “4”.
  • step S2 time measurement is started using a built-in clock or the like provided in the apparatus.
  • step S3 it is determined whether or not other node apparatus powers have received any information. If not received (step S3: no reception), the process proceeds to step S4 and a predetermined waiting time is obtained. It is determined whether the machine time (for example, 10 seconds) has passed or not, and if it has passed (step S4: Yes), the process proceeds to step S7 to perform a predetermined content node discovery impossible process. (Step S7) The process ends. On the other hand, if the predetermined standby time has not elapsed (step S4: No), the process proceeds to step S3 and waits for reception of information.
  • step S7 when the information received in step S3 is an error response from the root node (step S3: root node power error response reception), a predetermined content node discovery impossible process is performed (step S7). The process ends.
  • the content node disabling process in step S7 if no node information has been received, it is considered that there is no desired content in the content distribution system S. If a message such as “No.” is displayed on the display unit 16 and at least one node information has been received but the number of requests is less than the number of requests, node information for the number of requests cannot be found. "Is displayed on the display 16.
  • step S3 when the information received in step S3 is the node information of the content node (that is, when control unit 11 functions as node information receiving means) (step S3: node information), The thread is activated to start the content reception process shown in FIG. 9B (step S5).
  • step S6 it is determined whether or not the node information is received by the number of requests input when sending the query in step SI (step S6). If the node information does not satisfy the number of requests (step S6) : No) waits for the reception of information during the response waiting time after moving to step S4 (that is, step S4: No), and when there is as many node information as the number of requests (step S6: Yes). Ends the process.
  • step S5 when the thread is activated in step S5, a distribution request is made to the content node based on the node information received in step S3 (step S8).
  • the IP address of the content node as node information is acquired from the cache node Ka (or the cache node Kb or the root node) as indicated by the solid line arrow, the IP address is obtained.
  • a distribution request is made to the content node Ca (or content node Cb, content node Cc, or content node Cd) (broken arrow).
  • step S9 the content data distributed from the content node that has made the distribution request as indicated by the one-dot chain line arrow in the figure is received (step S9), and the process is terminated.
  • node information is received in step S3
  • the thread is activated in step S5 each time, and the content reception process shown in Fig. 9B is performed.
  • Content node power When receiving content distribution, the application software corresponding to the receiving software that receives the content generates multiple processing units (here called “threads”) that receive the content. To perform multiple processes. Here, it is difficult to think of processing in parallel at exactly the same time. However, the processing time of the CPU is extremely short, divided into units, and assigned to multiple threads in order.
  • the return node receives node information from the cache nodes Ka and Kb and the root node, and sequentially sends distribution requests to the content nodes Ca to Cd.
  • the number of threads corresponding to the content node Ca to the content node Cd is activated, and the CPU performs processing on each of the threads in order to receive the content distribution in parallel from the content nodes.
  • the request node can obtain the content quickly.
  • FIG. 10 is a flowchart showing a transfer process performed when the transfer program stored in the control unit 11 of the cache node or the root node is executed by the control unit 11. This process is started by receiving a query transmitted from the request node and other node devices in the content distribution system S including the cache node.
  • control unit 11 functions as a node information search unit, recognizes a content ID as an additional U ⁇ blueprint included in the received query, and selects a content node corresponding to the content ID.
  • Node information IP address of the content node
  • Node information is searched from the index information stored in its own storage unit 12 (step S21).
  • sent node information with the query If the node information is the same as the transmitted node information, the search target power is also excluded.
  • step S21 it is determined whether or not the content node information corresponding to the content ID has been discovered (step S21), and if it is not discovered (step S21: No), it is the root node. If it is determined whether or not there is a certain force (step S23) and it is not the root node (step S23: No), the query is sent to the upstream node device, that is, the node device that is intermediate between itself and the root node. (Step S24) and the process is terminated. If there is no intervening node device, it is transferred to the root node.
  • a query having a request node power is first transmitted to the intermediate node, and then the query is also transferred to the cache node Ka with the intermediate node power.
  • step S23 if it is determined in step S23 that it is the root node (step S23:
  • step S25 it is determined whether at least one node information is being transmitted to the request node while the query is transferred from the request node. Whether at least one node information has been sent to the requesting node can be determined by receiving the sent node information together with the query!
  • request number information included in the query is updated as described in the process of step S32 later.
  • information indicating whether there is an update history is added to the request number information.
  • the request count information includes, in addition to the request count, the request count issued by the original request node (this is not updated), and the original request count and the current request count. If it is different, you can see that the query has been updated in the past.
  • Step S25: Yes when it is determined that no update history is included in the request number information included in the received query and no node information is transmitted to the request node (step S25: Yes), the control unit 11 functions as an error reply means, and sends an error reply to the request node (step S26) and ends the process. On the other hand, if at least one node information is transmitted to the request node! (Step S25: No), the process is terminated.
  • step S22: Yes If node information of the content node corresponding to the content ID is found in step S22 (step S22: Yes), the request number information included in the query is included. Therefore, it is determined whether or not the number of requests indicated above has been found (step S27), and if more than the number of requests is found (step S27: Yes), the control unit 11 functions as a node information transmission means, Minute node information is transmitted to the request node (step S28). If more than the requested number is found (step S27: Yes), all the found node information may be sent to the requesting node. In this case, specific node information is sent frequently. If this is done, the load on the content node will increase, so from the discovered node information, node information will be selected at random for the number of requests and transmitted.
  • step S27: No when the number of requests indicated by the request number information included in the query is not found (step S27: No), the control unit 11 transmits the discovered node information to the request node (step S 29).
  • a cache node Ka receives a query whose content ID is “30001012” and the number of requests is “4”, the cache node Ka Then, the node information of the content node corresponding to the content ID “30001012” is searched with reference to the index information stored in the storage unit 12. As shown in the figure, two pieces of node information corresponding to the content ID “30001012” are found. In this case, since the number of requests is not satisfied, the node information of the discovered content node Ca (IP address “121.43.15 4.65”) and the node information of the content node Cb (IP address “243.5.154.65”) are shown in FIG. As shown in the figure, it is sent from the cache node Ka to the request node.
  • step S30 it is determined whether or not it is the root node (step S30). If it is not the root node (step S30: No), the control unit 11 functions as an updating unit and a transferring unit.
  • the request number information is updated so that the value obtained by subtracting “1” from the request number indicated by the request number information included in the query becomes the new request number (step S31), and then the updated request number is updated.
  • the node information included in the query as the required number of requests information and further transmitted in step S29 is transferred as the transmitted node information to the upstream node device, that is, the node device interposed between itself and the root node together with the query (step S32) to finish the process. If there is no intermediate node device, it is transferred to the root node.
  • the upstream node device by transmitting the transmitted node information to the upstream node device, the upstream node device is searched for a content node having the same node information as the transmitted node information. This is for instructing to be excluded from the elephant.
  • the cache node Ka updates the request number information by subtracting the number of node information “2” found in the cache node Ka from the original number of requests “4”.
  • the new request count information is included in the query, and the IP address “121.43.154.65” and the IP address “243.5. 154.65” of the already discovered node information are transmitted to the cache node Kb together with the query as the transmitted node information.
  • the cache node Kb that has received this query refers to the index information stored in its storage unit 12 and is node information corresponding to the content ID "30001012" and has been transmitted.
  • the node information different from the node information is searched.
  • the index information stored in the storage unit 12 of the cache node Kb includes the IP address “132.122.11.12” and the IP address “243.5.154.65” as the node information corresponding to the content ID.
  • the IP address “243.5.154.65” and the IP address “121.43.154.65” in which the IP address “121.43.154.65” is stored have already been transmitted by the cache node Ka.
  • the cache node Kb excludes the transmitted node information and uses the content ID.
  • the node information of the content node Cc IP address “132.122.11.12” is transmitted to the requesting node.
  • the request number information power included in the query received from the cache node Ka is further included in the query by subtracting (subtracting) 1 (subtracted), and the IP address “132.122” is included in the transmitted node information.
  • the root node that has received this query refers to the index information stored in its own storage unit 12, corresponds to the content ID "30001012", and has different node information from the transmitted node information.
  • the node information IP address “125. 15.35.42” of the content node Cd is discovered and transmitted to the request node.
  • step S30 when the node itself is a root node (step S30:
  • the node information of a plurality of content nodes is required from the request node.
  • a request is made, it is sent to the request node whenever node information is found in each cache node.
  • a query is forwarded (relayed) upstream, it is found in the cache node and already requested. Since the node information transmitted to the node is transferred to the upstream together with the query as the transmitted node information, the upstream requesting node can retrieve the node information excluding the transmitted node information.
  • node information for the number of requests can be reliably transmitted to the request node, and further the query is sent upstream.
  • the node information is sent to the request node each time, so that the request node can access the content node sequentially and make a distribution request based on the received node information.
  • FIG. 11 is a flowchart showing processing performed when the program stored in the control unit 11 of the content node is executed by the control unit 11.
  • step S41 content data corresponding to the content ID included in the query is acquired from the storage unit 12 (step S41).
  • control unit 11 functions as a distribution unit, and distributes the acquired content data to the request node (step S42).
  • the request node when an inquiry about the location of content data is made from a request node, the request node transmits the number of requesting node information of the content node as request number information. Since the distribution of content can be received from a plurality of content nodes, desired content can be acquired more quickly.
  • the request number information is updated by adding the request number information to the query, it is possible to reliably respond to the number of node information requested by the request node.
  • the request node since the request node sets the number of requests and sends it in the query including the content ID, when the query is transferred, the request is already made in the root node or the cache node. Since the number of node information transmitted to the node can be subtracted and the number of requests can be updated and transferred, the request node can reliably acquire the node information of the content nodes for the number of requests. Therefore, if a large number of node information requests are set, content distribution from many content nodes can be received in parallel, and content can be acquired more quickly. If the number of requests is set to a small number, there is an advantage that the node information of the content nodes corresponding to the number of requests can be aligned in a short time. You can change the setting according to
  • each content is registered in the content distribution system S by transmitting a public message.
  • the node device that has transmitted the public message to itself according to the DHT routing table is identified as the relay transmission source node device.
  • the node information of the node device of the relay transmission source is stored in association with the back pointer.
  • the cache node that has received each node device query in the same flow as the public message does not need to transfer the transmitted node information (transmitted node information) to the upstream node device (see step S32). .
  • FIG. 12 is an explanatory diagram showing the flow of a public message in the form of a spanning tree.
  • the public message is routed using the content ID as identification information as a key in the routing table. To send to the root node.
  • the node device that receives the public message from the content node Cg becomes the cache node kg, and the index information stored in its own storage unit 12 includes the content ID and auxiliary information (title, genre, etc.) included in the public message. Attribute information, copyright information such as a director name), the IP address of the content node Cg as node information, and the node information of the node device that transmitted the public message as a knock pointer in association with each other. .
  • the cache node kg uses the node information: IP address “132.122.11.5” of the content node Cg that is the node device that is the relay transmission source of the public message as a back pointer. .
  • the cache node Kg power and the node device to which the public message has been transferred also become the cache node Kh.
  • the index information stored in its own storage unit 12 includes the content ID included in the public message and the auxiliary information.
  • the node information of the node device of the relay transmission source that has transferred the public message is stored in association with the information and the node information as a back pointer.
  • the cache node kh stores, as a back pointer, the node information: IP address “132.122.11.7” of the cache node Kg which is the node device that is the relay transmission source of the public message.
  • the cache node Kh receives the public message also from the content node Ch, the relay that forwards the public message together with the content ID, auxiliary information, and node information included in the public message.
  • Node information of the content node Ch that is the source node device: IP address “132.122.11.6” is stored in association with the back pointer.
  • the index information stored in its own storage unit 12 includes the content ID and the like included in each public message. Forwarded information and the public message
  • the node information of each cache node Kh that is the node device of the relay transmission source is stored in association with each other as a back pointer.
  • the root node receives a public message from the content node ⁇ , and a content node that is a node device that is a relay transmission source of the public message together with the content ID, auxiliary information, and node information included in the public message.
  • Ci node information IP address “132.122.11.9” is stored as a back pointer.
  • FIG. 13 is an explanatory diagram showing a state of forwarding a query (content inquiry information) and returning node information of a content node in response to the query in the form of a scanning tree.
  • the request node transmits a query with a content ID “30001011” and the number of requests “3”. This query is sent according to the routing table using the content ID as a key, and is received by the cache node Kg.
  • the cache node Kg recognizes the content ID as identification information included in the received query, and the index stored in the storage unit 12 of the node of the content node corresponding to the content ID. Search from the information and send the node information to the request node. At this point, the number of requests is updated from “3” to “2”, and the query is transferred.
  • the cache node Kh When the cache node Kh receives the query, the cache node Kh recognizes the content ID as identification information included in the received query, and stores the node information of the content node corresponding to the content ID in its own storage unit 12. The index information stored in is searched and the node information is sent to the request node. At this point, the number of requests is updated from “2” to “1”, and more queries are transferred.
  • the root node When the root node receives the query, it recognizes the content ID as identification information included in the received query, and the node ⁇ blueprint of the content node corresponding to the content ID is stored in its own storage unit 12. The index information stored in is searched, and the node information is transmitted to the re-establish node.
  • the node information stored as the back pointer stored in the index information is referred to, and the relay transmission source node of the query is referred to.
  • the node information of the content node different from the node information of the node device is configured to be transmitted to the request node.
  • the node information of the node device that is the relay source of the query should be configured so that each node device transmits its own node information in the query.
  • the cache node K g that has received the request node power query is the node information of the request node that is the relay transmission source of the query: IP address ”132.122.11.
  • the cache node Kh that has received the query from the cache node Kg has the node information of the cache node Kg that is the middle of the query among the node information of the content node with the content ID "30001011" in the index information:
  • the node information of the content node Ch not associated with the IP address “132.122.11.7” as a back pointer is transmitted to the request node. This is because the node information ("132.122.11.5") of the content node that stores the same node information as the node information of the cache node Kg of the query relay transmission source as a knock pointer has already been transmitted to the request node.
  • the root node that has also received the query from the cache node Kh is the node information of the cache node Kh that is the relay transmission source of the query among the node information of the content node with the content ID “30001011” in the index information:
  • the node information of the content node Ci not associated with the IP address “132.122.11.8” as a back pointer is transmitted to the request node.
  • the node information (“132.122.11.5", "132.12 2.11.6" of the content node that stores the same node information as the node information of the cache node Kh that is the query relay transmission source has already been sent to the request node This is because.
  • the query and the public message are both transferred according to the routing table with the content ID as a key, and therefore the property of reaching the root node on the same transfer route is used.
  • the cache node or the root node stores the relay source so that a query from a certain relay source is received. Can be stored via another relay node device, and the node information of the content node can be transmitted, and the same node information is prevented from being duplicated and transmitted to the request node. , Na zo Only information can be transmitted without error. This eliminates the need to transfer the transmitted node information together with the query as performed in step S32 of the previous embodiment.
  • the transmitted node information is determined using the back pointer, when updating the request number information, information indicating whether or not there is an update history is included in the request number information.
  • the update history flag is added. For example, the update history flag is “0” when there is no update history and “1” when there is an update history.
  • step S25 when the update history flag is "1”, it is determined that at least one node information is transmitted to the request node, and the update history flag is "0". It is sufficient to determine that no node information has been sent to the requesting node.

Abstract

 リクエストノードが、複数のコンテンツノードからコンテンツの配信を受けるべく、複数のコンテンツノードのノード情報を効率よく取得することを可能とした情報配信システム等を提供することを課題とする。  本発明は、ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信システムにおいて、第1のノード装置は第2のノード装置に対して、装置間で共用されるべき共用情報のうち特定共用情報を記憶する複数の情報記憶ノード装置を示すノード情報の送信を要求すべく、特定共用情報に対応する固有の識別情報とノード情報の要求数を示す要求数情報とに基づいて生成した要求情報を第2のノード装置に対して送信する手段を有し、第2のノード装置は、特定共用情報の要求を受けた場合には、識別情報に対応するノード情報であって、要求情報に含まれる要求数情報で示される要求数分のノード情報を検索する手段と、要求数分以上のノード情報が発見された場合には、第1のノード装置に少なくとも要求数分のノード情報を送信し、発見されなかった場合には、発見されたノード情報を第1のノード装置に送信する手段とを有する。

Description

明 細 書
情報配信システム、配信要求プログラム、転送プログラム及び配信プログ ラム等
技術分野
[0001] 本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツ 一ピア(Peer to Peer (P2P) )型のコンテンツ配信システムに関し、特に、 1のノード装 置力 他のノード装置に配信されるべきコンテンツデータが複数のノード装置に分散 して保存された情報配信システム、配信要求プログラム、転送プログラム及び配信プ ログラム等の技術分野に関する。 背景技術
[0002] この種のコンテンツ配信システムにおいては、各ノード装置は、複数のノード装置に 分散保存されているコンテンツデータに関する所在情報 (例えば、コンテンツデータ のタイトル等の補助情報を指定することにより、コンテンツデータを保存しているノード 装置の IPアドレス等が特定できる情報:以下ではインデックス情報と呼ぶ。 )が記述さ れたリストを有しており、当該リストに記述されたインデックス情報に基づき、ユーザが 所望するコンテンツデータをダウンロードすることが可能になっている。このようなリス トは、複数のノード装置において共通に使用されるべき共用情報であり、一般に、コ ンテンッ配信システム上に保存されている全てのコンテンツデータを管理する管理サ ーバにより管理され、当該管理サーノから各ノード装置に対して上記リストが配信さ れること〖こなる。
[0003] 例えば、非特許文献 1には、管理サーバを用いな 、方法として、分散ハッシュテー ブル(DHT)を用いた技術が開示されている力 このシステムでは、コンテンツの配信 を希望するリクエストノードは、コンテンツ情報を管理するノード装置力もコンテンツ情 報を記憶するノード装置の所在を聞いて、当該ノード装置にアクセスするようになって いる。
非特許文献 1 :「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報 発明の開示
発明が解決しょうとする課題
[0004] ところで、分散ハッシュテーブル(DHT)を用 、たコンテンッ配信システムにおいて 、コンテンツの配信を希望するリクエストノード力 所望のコンテンツを記憶する複数 のノード装置と接続して夫々のノード装置からコンテンツ情報を受信し、所望のコンテ ンッをできるだけ早く取得した 、と 、う場合がある。
[0005] このような場合には、リクエストノードがコンテンツ情報を記憶するノード装置の所在 を複数個要求して要求数分のコンテンツ情報を記憶するノード装置の所在を有する ノード装置から、コンテンツ情報を記憶するノード装置の所在を受信することが考えら れるが、このように複数のコンテンツノード装置の所在を問われたノード装置では、要 求された数を満足する数のノード装置の所在を自己が有するリストに記載されていな い限り、リクエストノードに応答しないので、リクエストノードは、要求した数のノード装 置の所在をリストに有するノード装置まで問い合わせが到達し、当該ノード装置から 要求された数を満足する数のノード装置の所在の回答が送信されるまでの間、上流 力 の応答を待機しなければならな 、と 、う問題が懸念される。
[0006] 本発明は、以上の問題等に鑑みてなされたものであり、リクエストノード力 所望のコ ンテンッを記憶する複数のノード装置から当該コンテンツを効率よく取得することを可 能とした情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等 を提供することを課題とする。
課題を解決するための手段
[0007] 上記課題を解決するために、請求項 1に記載の発明は、ネットワークを構築して互 いに接続された複数のノード装置を備えた情報配信システムにおいて、前記複数の ノード装置に含まれる第 1のノード装置は、前記複数のノード装置に含まれる第 2のノ ード装置に対して、前記複数のノード装置に含まれるノード装置であって、前記複数 のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情 報を記憶する複数の情報記憶ノード装置を示すノード情報の送信を要求すベぐ前 記特定共用情報に対応する固有の識別情報と、前記ノード情報の要求数を示す要 求数情報と、に基づいて要求情報を生成する要求情報生成手段と、前記生成した要 求情報を前記第 2のノード装置に対して送信する要求情報送信手段と、前記第 2のノ ード装置から前記ノード情報を受信するノード情報受信手段と、前記ノード情報に対 応する前記情報記憶ノード装置に対し、前記特定共用情報の配信を要求する配信 要求手段と、前記情報記憶ノード装置から配信された前記特定共用情報を受信する 特定共用情報受信手段と、を有し、前記第 2のノード装置は、前記共用情報を記憶 する前記情報記憶ノード装置を示すノード情報と、前記共用情報に対応する固有の 識別情報と、をそれぞれ対応付けて記憶する記憶手段と、前記複数のノード装置の 何れ力のノード装置力 前記要求情報を受信して前記特定共用情報の要求を受け た場合には、前記記憶手段を参照して当該受信した要求情報に含まれる前記識別 情報に対応する前記ノード情報であって、前記要求情報に含まれる要求数情報で示 される要求数分のノード情報を検索するノード情報検索手段と、前記検索の結果、前 記要求数分以上の前記ノード情報が発見された場合には、前記第 1のノード装置に 少なくとも前記要求数分の前記ノード情報を送信し、前記要求数分の前記ノード情 報が発見されなかった場合には、発見された前記ノード情報を前記第 1のノード装置 に送信するノード情報送信手段と、前記第 2のノード装置自身が前記特定共用情報 の管理元である管理ノード装置でない場合には、前記要求情報と、前記ノード情報 送信手段により前記第 1のノード装置に送信したノード情報である送信済ノード情報 と、を前記第 2のノード装置と前記管理ノード装置の中間に介在するノード装置に対 して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に 対して転送する転送手段と、を有し、前記情報記憶ノード装置は、前記第 1のノード 装置から前記特定共用情報の配信要求を受けた場合には、前記第 1のノード装置に 対して前記特定共用情報を配信する配信手段と、を有することを特徴とする。
これによれば、第 1のノード装置としてのリクエストノード力 特定共用情報としての コンテンツデータの所在の問い合わせを行なう際に、リクエストノードは情報記憶ノー ド装置としてのコンテンツノードのノード情報を要求する数を要求数情報として要求情 報としてのクエリに含んで送信し、複数のコンテンツノードからコンテンツの配信を受 けることができるため、より早くコンテンツデータを取得することが可能になる。さらに、 第 2のノード装置がルートノードで無い場合に、当該第 2のノード装置が、クエリを上 流のノード装置に転送する際には、既に送信済みのノード情報を送信済ノード情報と して要求数情報と併せて送信するよう構成したので、これを受けた上流のノード装置 に送信済ノード情報を認識させることが可能になる。
[0009] 上記課題を解決するために、請求項 2に記載の発明は、請求項 1に記載の情報配 信システムにおいて、第 2のノード装置が、前記要求情報を受信した際に前記送信 済ノード情報を受信した場合には、前記ノード情報検索手段は、前記記憶手段に記 憶されたノード情報のうち前記送信済ノード情報と同一のノード情報を除くノード情報 の中から、前記識別情報に対応するノード情報を検索することを特徴とする。
[0010] これによれば、送信済ノード情報を検索対象力 除外することにより、第 1のノード 装置としてのリクエストノードに同一のノード情報を重複して送信することを防ぐことが できる。
[0011] 上記課題を解決するために、請求項 3に記載の発明は、請求項 1又は請求項 2に 記載の情報配信システムにおいて、前記第 2のノード装置は、前記ノード情報検索手 段による検索の結果、前記要求数分の前記ノード情報がない場合であって、当該第 2のノード装置自身が前記管理ノード装置でな!、場合には、前記要求数から前記ノ ード情報送信手段により前記第 1のノード装置に送信したノード情報の数を減算して 前記要求数を更新する更新手段を有し、前記第 2のノード装置における前記転送手 段は、当該更新された要求数を新たな要求数情報とした前記要求情報を転送するこ とを特徴とする。
[0012] これによれば、当該要求情報を転送する際に、ルートノード或いはキャッシュノード 等の第 2のノード装置では、既にリクエストノードなどの第 1のノード装置にノード情報 を送信した数を減算して要求数を更新して転送することができるため、当該第 1のノ ード装置は、第 1のノード装置が要求する数のノード情報を確実かつ効率的に取得 することが可能になる。
[0013] 上記課題を解決するために、請求項 4に記載の発明は請求項 1乃至請求項 3のい ずれか一項に記載の情報配信システムにおいて、前記第 1のノード装置における前 記配信要求手段は、前記ノード情報受信手段により前記ノード情報を受信する度毎 に、前記ノード情報に対応する前記情報記憶ノード装置に対して、順次、前記特定 共用情報の配信を要求し、前記第 1のノード装置における前記特定共用情報受信手 段は、前記特定共用情報の配信を要求した各前記情報記憶ノード装置から配信さ れた前記特定共用情報を並列して受信することを特徴とする。
[0014] これによれば、リクエストノード等の第 1のノード装置では、要求数分のノード情報を 全部受信しなくても、ルートノード或いはキャッシュノード等の第 2のノード装置力 ノ ード情報を受信するたびに当該ノード情報に基づいてコンテンツノード等の情報記 憶ノード装置に配信要求を行って、順次特定共用情報としての所望のコンテンツの 受信を受けるよう構成することができ、更に複数のコンテンツノードと接続すると、夫 々のコンテンツノード力もコンテンツを並列して受信することができるため、より迅速に 所望のコンテンツを取得することが可能になる。
[0015] 上記課題を解決するために、請求項 5に記載の発明は、請求項 1乃至請求項 4の いずれか一項に記載の情報配信システムにおいて、前記第 2のノード装置は、前記 ノード情報検索手段による検索の結果、前記要求数分の前記ノード情報が発見され なかった場合であって、かつ当該第 2のノード装置自身が、前記管理ノード装置であ る場合には、前記第 1のノード装置に対して前記ノード情報が前記要求数分無いこと を回答するエラー回答手段を有することを特徴とする。
[0016] これによれば、管理ノード装置としてのルートノードに要求情報が転送されてもなお 要求数分のノード情報を発見できない場合には、リクエストノード等の第 1のノード装 置に対してエラー回答を送信するよう構成したので、第 1のノード装置では要求数分 のノード情報が無 、ことを容易に把握することが可能になる。
[0017] 上記課題を解決するために、請求項 6に記載の発明はネットワークを構築して互い に接続された複数のノード装置を備えた情報配信システムにおける情報配信方法で あって、前記複数のノード装置に含まれる第 2のノード装置が、前記複数のノード装 置間で共用されるべき共用情報を記憶する情報記憶ノード装置を示すノード情報と、 前記共用情報に対応する固有の識別情報と、をそれぞれ対応付けて記憶する記憶 工程と、前記複数のノード装置に含まれる第 1のノード装置が、前記第 2のノード装置 に対して、前記複数のノード装置に含まれるノード装置であって、前記共用情報のう ち特定の共用情報である特定共用情報を記憶する複数の情報記憶ノード装置を示 すノード情報の送信を要求すベぐ前記特定共用情報に対応する固有の識別情報と 、前記ノード情報の要求数を示す要求数情報と、に基づいて要求情報を生成するェ 程と、前記第 1のノード装置が、前記生成した要求情報を前記第 2のノード装置に対 して送信する工程と、前記第 2のノード装置が、前記複数のノード装置の何れかのノ ード装置から前記要求情報を受信して前記特定共用情報の要求を受けた場合には 、前記記憶工程にて記憶したノード情報から、当該受信した要求情報に含まれる前 記識別情報に対応する前記ノード情報であって、前記要求情報に含まれる要求数情 報で示される要求数分のノード情報を検索するノード情報検索工程と、前記第 2のノ ード装置が、前記ノード情報検索工程による検索の結果、前記要求数分以上の前記 ノード情報が発見された場合には、前記第 1のノード装置に少なくとも前記要求数分 の前記ノード情報を送信し、前記要求数分の前記ノード情報が発見されなかった場 合には、発見された前記ノード情報を前記第 1のノード装置に送信するノード情報送 信工程と、前記第 2のノード装置が、当該第 2のノード装置自身が前記特定共用情報 の管理元である管理ノード装置でない場合には、前記要求情報と、前記ノード情報 送信工程により前記第 1のノード装置に送信したノード情報である送信済ノード情報 と、を前記第 2のノード装置と前記管理ノード装置の中間に介在するノード装置に対 して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に 対して転送する転送工程と、前記第 1のノード装置が、前記第 2のノード装置から前 記ノード情報を受信するノード情報受信工程と、前記第 1のノード装置が、前記ノード 情報に対応する前記情報記憶ノード装置に対し、前記特定共用情報の配信を要求 する配信要求工程と、前記情報記憶ノード装置が、前記第 1のノード装置から前記特 定共用情報の配信要求を受けた場合には、前記第 1のノード装置に対して前記特定 共用情報を配信する配信工程と、前記第 1のノード装置が、前記情報記憶ノード装 置から配信された前記特定共用情報を受信する特定共用情報受信工程と、を有す ることを特徴とする。
上記課題を解決するために、請求項 7に記載の発明は請求項 6に記載の情報配信 方法において、前記第 2のノード装置が、前記要求情報を受信した際に前記送信済 ノード情報を受信した場合には、前記ノード情報検索工程では、前記記憶工程にて 記憶されたノード情報のうち前記送信済ノード情報と同一のノード情報を除くノード情 報の中から、前記識別情報に対応するノード情報を検索することを特徴とする。
[0019] 上記課題を解決するために、請求項 8に記載の発明は請求項 6又は請求項 7に記 載の情報配信方法において、前記第 2のノード装置が、前記ノード情報検索工程に よる検索の結果前記要求数分の前記ノード情報がない場合であって、当該第 2のノ ード装置自身が前記管理ノード装置でない場合には、前記要求数から前記ノード情 報送信工程にて前記第 1のノード装置に送信したノード情報の数を減算して前記要 求数を更新する更新工程を有し、前記転送工程では、当該更新された要求数を新た な要求数情報とした前記要求情報を転送することを特徴とする。
[0020] 上記課題を解決するために、請求項 9に記載の発明は請求項 5乃至請求項 8のい ずれか一項に記載の情報配信方法において、前記配信要求工程では、前記ノード 情報受信工程により前記ノード情報を受信する度毎に、前記ノード情報に対応する 前記情報記憶ノード装置に対して、順次、前記特定共用情報の配信を要求し、前記 特定共用情報受信工程は、前記特定共用情報の配信を要求した各前記情報記憶ノ ード装置力 配信された前記特定共用情報を並列して受信することを特徴とする。
[0021] 上記課題を解決するために、請求項 10に記載の発明は請求項 5乃至請求項 9の いずれか一項に記載の情報配信方法において、前記第 2のノード装置が、前記ノー ド情報検索工程による検索の結果、前記要求数分の前記ノード情報が発見されなか つた場合であって、かつ当該第 2のノード装置自身が、前記管理ノード装置である場 合には、前記第 1のノード装置に対して前記ノード情報が前記要求数分無いことを回 答するエラー回答工程を有することを特徴とする。
[0022] 上記課題を解決するために、請求項 11に記載の発明はネットワークを構築して互 いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数の ノード装置に含まれる第 1のノード装置において、前記複数のノード装置に含まれる 第 2のノード装置に対して、前記複数のノード装置に含まれるノード装置であって、前 記複数のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定 共用情報を記憶する複数の情報記憶ノード装置を示すノード情報の送信を要求す ベぐ前記特定共用情報に対応する固有の識別情報と、前記ノード情報の要求数を 示す要求数情報と、に基づいて要求情報を生成する要求情報生成手段と、前記生 成した要求情報を前記第 2のノード装置に対して送信する要求情報送信手段と、前 記第 2のノード装置から前記ノード情報を受信するノード情報受信手段と、前記ノード 情報に対応する前記情報記憶ノード装置に対し、前記特定共用情報の配信を要求 する配信要求手段と、前記情報記憶ノード装置から配信された前記特定共用情報を 受信する特定共用情報受信手段と、を有することを特徴とする。
[0023] 上記課題を解決するために、請求項 12に記載の発明は請求項 11に記載の第 1の ノード装置において、前記配信要求手段は、前記ノード情報受信手段により前記ノ ード情報を受信する度毎に、前記ノード情報に対応する前記情報記憶ノード装置に 対して、順次、前記特定共用情報の配信を要求し、前記特定共用情報受信手段は、 前記特定共用情報の配信を要求した各前記情報記憶ノード装置から配信された前 記特定共用情報を並列して受信することを特徴とする。
[0024] 上記課題を解決するために、請求項 13に記載の発明はネットワークを構築して互 いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数の ノード装置に含まれる第 1のノード装置から、前記複数のノード装置間で共用される べき共用情報のうち特定の共用情報である特定共用情報を記憶する複数の情報記 憶ノード装置を示すノード情報の送信の要求を受ける前記複数のノード装置に含ま れる第 2のノード装置において、前記共用情報を記憶する前記情報記憶ノード装置 を示すノード情報と、前記共用情報に対応する固有の識別情報と、をそれぞれ対応 付けて記憶する記憶手段と、前記複数のノード装置の何れかのノード装置から、前記 特定共用情報に対応する固有の識別情報と、前記ノード情報の要求数を示す要求 数情報と、に基づ 、て生成された要求情報を受信して前記特定共用情報の要求を 受けた場合には、前記記憶手段を参照して当該受信した要求情報に含まれる前記 識別情報に対応する前記ノード情報であって、前記要求情報に含まれる要求数情報 で示される要求数分のノード情報を検索するノード情報検索手段と、前記検索の結 果、前記要求数分以上の前記ノード情報が発見された場合には、前記第 1のノード 装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要求数分の前記ノ ード情報が発見されな力つた場合には、発見された前記ノード情報を前記第 1のノー ド装置に送信するノード情報送信手段と、前記第 2のノード装置自身が前記特定共 用情報の管理元である管理ノード装置でない場合には、前記要求情報と、前記ノー ド情報送信手段により前記第 1のノード装置に送信したノード情報である送信済ノー ド情報と、を前記第 2のノード装置と前記管理ノード装置の中間に介在するノード装 置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード 装置に対して転送する転送手段と、を有することを特徴とする。
[0025] 上記課題を解決するために、請求項 14に記載の発明は請求項 13に記載の第 2の ノード装置において、前記要求情報を受信した際に前記送信済ノード情報を受信し た場合には、前記ノード情報検索手段は、前記記憶手段に記憶されたノード情報の うち前記送信済ノード情報と同一のノード情報を除くノード情報の中から、前記識別 情報に対応するノード情報を検索することを特徴とする。
[0026] 上記課題を解決するために、請求項 15に記載の発明は請求項 13又は請求項 14 に記載の第 2のノード装置において、前記ノード情報検索手段による検索の結果、前 記要求数分の前記ノード情報がない場合であって、当該第 2のノード装置自身が前 記管理ノード装置でない場合には、前記要求数から前記ノード情報送信手段により 前記第 1のノード装置に送信したノード情報の数を減算して前記要求数を更新する 更新手段を有し、前記転送手段は、当該更新された要求数を新たな要求数情報とし た前記要求情報を転送することを特徴とする。
[0027] 上記課題を解決するために、請求項 16に記載の発明は請求項 13乃至請求項 15 のいずれか一項に記載の第 2のノード装置において、前記ノード情報検索手段によ る検索の結果、前記要求数分の前記ノード情報が発見されな力つた場合であって、 かつ当該第 2のノード装置自身が、前記管理ノード装置である場合には、前記第 1の ノード装置に対して前記ノード情報が前記要求数分無いことを回答するエラー回答 手段を有することを特徴とする。
[0028] 上記課題を解決するために、請求項 17に記載の発明はネットワークを構築して互 いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数の ノード装置に含まれる第 1のノード装置に含まれるコンピュータを、前記複数のノード 装置に含まれる第 2のノード装置に対して、前記複数のノード装置に含まれるノード 装置であって、前記複数のノード装置間で共用されるべき共用情報のうち特定の共 用情報である特定共用情報を記憶する複数の情報記憶ノード装置を示すノード情報 の送信を要求すベぐ前記特定共用情報に対応する固有の識別情報と、前記ノード 情報の要求数を示す要求数情報と、に基づ 、て要求情報を生成する要求情報生成 手段、前記生成した要求情報を前記第 2のノード装置に対して送信する要求情報送 信手段、前記第 2のノード装置から前記ノード情報を受信するノード情報受信手段、 前記ノード情報に対応する前記情報記憶ノード装置に対し、前記特定共用情報の配 信を要求する配信要求手段、前記情報記憶ノード装置から配信された前記特定共 用情報を受信する特定共用情報受信手段、として機能させることを特徴とする。
[0029] 上記課題を解決するために、請求項 18に記載の発明は請求項 17に記載の配信 要求プログラムにおいて、前記配信要求手段を、前記ノード情報受信手段により前 記ノード情報を受信する度毎に、前記ノード情報に対応する前記情報記憶ノード装 置に対して、順次、前記特定共用情報の配信を要求するよう機能させ、前記特定共 用情報受信手段を、前記特定共用情報の配信を要求した各前記情報記憶ノード装 置力 配信された前記特定共用情報を並列して受信するよう機能させることを特徴と する。
[0030] 上記課題を解決するために、請求項 19に記載の発明はネットワークを構築して互 いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数の ノード装置に含まれる第 1のノード装置から、前記複数のノード装置間で共用される べき共用情報のうち特定の共用情報である特定共用情報を記憶する複数の情報記 憶ノード装置を示すノード情報の送信の要求を受ける前記複数のノード装置に含ま れる第 2のノード装置に含まれるコンピュータを、前記共用情報を記憶する前記情報 記憶ノード装置を示すノード情報と、前記共用情報に対応する固有の識別情報と、を それぞれ対応付けて記憶する記憶手段、前記複数のノード装置の何れかのノード装 置から、前記特定共用情報に対応する固有の識別情報と、前記ノード情報の要求数 を示す要求数情報と、に基づ 、て生成された要求情報を受信して前記特定共用情 報の要求を受けた場合には、前記記憶手段を参照して当該受信した要求情報に含 まれる前記識別情報に対応する前記ノード情報であって、前記要求情報に含まれる 要求数情報で示される要求数分のノード情報を検索するノード情報検索手段、前記 検索の結果、前記要求数分以上の前記ノード情報が発見された場合には、前記第 1 のノード装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要求数分の 前記ノード情報が発見されな力つた場合には、発見された前記ノード情報を前記第 1 のノード装置に送信するノード情報送信手段と、前記第 2のノード装置自身が前記特 定共用情報の管理元である管理ノード装置でない場合には、前記要求情報と、前記 ノード情報送信手段により前記第 1のノード装置に送信したノード情報である送信済 ノード情報と、を前記第 2のノード装置と前記管理ノード装置の中間に介在するノード 装置に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノー ド装置に対して転送する転送手段として機能させることを特徴とする。
[0031] 上記課題を解決するために、請求項 20に記載の発明は請求項 19に記載の転送 プログラムにおいて、前記要求情報を受信した際に前記送信済ノード情報を受信し た場合には、前記ノード情報検索手段は、前記記憶手段に記憶されたノード情報の うち前記送信済ノード情報と同一のノード情報を除くノード情報の中から、前記識別 情報に対応するノード情報を検索するよう機能させることを特徴とする。
[0032] 上記課題を解決するために、請求項 21に記載の発明は請求項 19又は請求項 20 に記載の転送プログラムにおいて、前記コンピュータを、前記ノード情報検索手段に よる検索の結果、前記要求数分の前記ノード情報がない場合であって、当該第 2のノ ード装置自身が前記管理ノード装置でない場合には、前記要求数から前記ノード情 報送信手段により前記第 1のノード装置に送信したノード情報の数を減算して前記要 求数を更新する更新手段として機能させ、かつ、前記転送手段を、当該更新された 要求数を新たな要求数情報とした前記要求情報を転送するよう機能させることを特徴 とする。
[0033] 上記課題を解決するために、請求項 22に記載の発明は、請求項 19乃至請求項 2 1のいずれか一項に記載の転送プログラムにおいて、前記コンピュータを、前記ノー ド情報検索手段による検索の結果、前記要求数分の前記ノード情報が発見されなか つた場合であって、かつ当該第 2のノード装置自身が、前記管理ノード装置である場 合には、前記第 1のノード装置に対して前記ノード情報が前記要求数分無いことを回 答するエラー回答手段として更に機能させることを特徴とする。
[0034] 上記課題を解決するために、請求項 23に記載の発明は、請求項 17乃至請求項 2 2のいずれか一項に記載の配信要求プログラム又は転送プログラムの何れかのプロ グラムがコンピュータ読み取り可能に記録されていることを特徴とする。
[0035] 上記課題を解決するために、請求項 24に記載の発明は、ネットワークを構築して互 いに接続された複数のノード装置を備えた情報配信システムにおいて、前記複数の ノード装置に含まれる第 1のノード装置は、前記複数のノード装置に含まれる第 2のノ ード装置に対して、前記複数のノード装置に含まれるノード装置であって、前記複数 のノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情 報を記憶する複数の情報記憶ノード装置を示すノード情報の送信を要求すベぐ前 記特定共用情報に対応する固有の識別情報と、前記ノード情報の要求数を示す要 求数情報と、に基づいて要求情報を生成する要求情報生成手段と、前記生成した要 求情報を、前記特定共用情報に対応する前記識別情報をキーとするルーティングテ 一ブルに従って前記第 2のノード装置に対して送信する要求情報送信手段と、前記 第 2のノード装置から前記ノード情報を受信するノード情報受信手段と、前記ノード情 報に対応する前記情報記憶ノード装置に対し、前記特定共用情報の配信を要求す る配信要求手段と、前記情報記憶ノード装置から配信された前記特定共用情報を受 信する特定共用情報受信手段と、を有し、前記第 2のノード装置は、前記複数のノー ド装置の何れかのノード装置から、前記共用情報に対応する前記識別情報をキーと するルーティングテーブルに従って送信された、前記共用情報を記憶する前記情報 記憶ノード装置を示すノード情報と、前記共用情報に対応する固有の識別情報と、を 受信して、当該送信元のノード装置を示すノード情報と夫々対応付けて記憶する記 憶手段と、前記複数のノード装置の何れかのノード装置から前記要求情報を受信し て、前記複数の情報記憶ノード装置を示すノード情報の送信の要求を受けた場合に は、前記記憶手段を参照して、当該受信した要求情報の送信元のノード装置を示す ノード情報と対応付けられて!/ヽな ヽ前記情報記憶ノード装置を示す前記ノード情報 のうち、前記要求情報に含まれる前記識別情報に対応する前記情報記憶ノード装置 を示す前記ノード情報であって、前記要求情報に含まれる要求数情報で示される要 求数分のノード情報を検索するノード情報検索手段と、前記検索の結果、前記要求 数分以上の前記ノード情報が発見された場合には、前記第 1のノード装置に少なくと も前記要求数分の前記ノード情報を送信し、前記要求数分の前記ノード情報が発見 されなかった場合には、発見された前記ノード情報を前記第 1のノード装置に送信す るノード情報送信手段と、前記第 2のノード装置自身が前記特定共用情報の管理元 である管理ノード装置でない場合には、前記要求情報を前記第 2のノード装置と前記 管理ノード装置の中間に介在するノード装置に対して、或 ヽは当該中間に介在する ノード装置が無い場合には前記管理ノード装置に対して転送する転送手段と、を有 し、前記情報記憶ノード装置は、前記第 1のノード装置から前記特定共用情報の配 信要求を受けた場合には、前記第 1のノード装置に対して前記特定共用情報を配信 する配信手段と、を有することを特徴とする。
[0036] これによれば、第 1のノード装置としてのリクエストノード力も特定共用情報としての コンテンツデータの所在の問い合わせを行なう際に、リクエストノードは情報記憶ノー ド装置としてのコンテンツノードのノード情報を要求する数を要求数情報としてクエリ に含んで送信し、複数のコンテンツノード力もコンテンツの配信を受けることができる ため、より早くコンテンツデータを取得することが可能になる。さらに、識別情報をキー とするルーティングテーブルによってコンテンツノードのノード情報を受信すると、そ の中継送信元のノード情報をバックポインタとして記憶手段に対応付けて記憶し、か つ、当該コンテンツノードのノード情報を記憶したときと同じように、識別情報をキーと するルーティングテーブルによってクエリが転送されるので、既に送信済みのノード 情報を認識することが可能になる。
[0037] 上記課題を解決するために、請求項 25に記載の発明は、ネットワークを構築して互 いに接続された複数のノード装置を備えた情報配信システムにおける情報配信方法 であって、前記複数のノード装置に含まれる第 2のノード装置が、前記複数のノード 装置の何れかのノード装置から、前記複数のノード装置間で共用されるべき共用情 報に対応する固有の識別情報をキーとするルーティングテーブルに従って送信され た、前記共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、前記共 用情報に対応する固有の識別情報と、を受信して、当該送信元のノード装置を示す ノード情報と夫々対応付けて記憶する記憶工程と、前記複数のノード装置に含まれ る第 1のノード装置が、前記第 2のノード装置に対して、前記複数のノード装置に含ま れるノード装置であって、前記共用情報のうち特定の共用情報である特定共用情報 を記憶する複数の情報記憶ノード装置を示すノード情報の送信を要求すベぐ前記 特定共用情報に対応する固有の識別情報と、前記ノード情報の要求数を示す要求 数情報と、に基づいて要求情報を生成する工程と、前記第 1のノード装置が、前記生 成した要求情報を前記特定共用情報に対応する前記識別情報をキーとするルーテ イングテーブルに従って前記第 2のノード装置に対して送信する工程と、前記第 2の ノード装置が、前記複数のノード装置の何れかのノード装置力も前記要求情報を受 信して前記複数の情報記憶ノード装置を示すノード情報の送信の要求を受けた場合 には、前記記憶工程にて記憶したノード情報であって、かつ、当該受信した要求情 報の送信元のノード装置を示すノード情報と対応付けられて!/ヽな 、前記情報記憶ノ ード装置を示す前記ノード情報のうち、前記要求情報に含まれる前記識別情報に対 応する前記情報記憶ノード装置を示す前記ノード情報であって、前記要求情報に含 まれる要求数情報で示される要求数分のノード情報を検索するノード情報検索工程 と、前記第 2のノード装置が、前記ノード情報検索工程による検索の結果、前記要求 数分以上の前記ノード情報が発見された場合には、前記第 1のノード装置に少なくと も前記要求数分の前記ノード情報を送信し、前記要求数分の前記ノード情報が発見 されなかった場合には、発見された前記ノード情報を前記第 1のノード装置に送信す るノード情報送信工程と、前記第 2のノード装置が、当該第 2のノード装置自身が前 記特定共用情報の管理元である管理ノード装置でない場合には、前記要求情報を 前記第 2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、 或いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して 転送する転送工程と、前記第 1のノード装置が、前記第 2のノード装置から前記ノード 情報を受信するノード情報受信工程と、前記第 1のノード装置が、前記ノード情報に 対応する前記情報記憶ノード装置に対し、前記特定共用情報の配信を要求する配 信要求工程と、前記情報記憶ノード装置が、前記第 1のノード装置から前記特定共 用情報の配信要求を受けた場合には、前記第 1のノード装置に対して前記特定共用 情報を配信する配信工程と、前記第 1のノード装置が、前記情報記憶ノード装置から 配信された前記特定共用情報を受信する特定共用情報受信工程と、を有することを 特徴とする。
上記課題を解決するために、請求項 26に記載の発明は、ネットワークを構築して互 いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数の ノード装置に含まれる第 1のノード装置から、前記複数のノード装置間で共用される べき共用情報のうち特定の共用情報である特定共用情報を記憶する複数の情報記 憶ノード装置を示すノード情報の送信の要求を受ける前記複数のノード装置に含ま れる第 2のノード装置において、前記複数のノード装置の何れかのノード装置から、 前記共用情報に対応する前記識別情報をキーとするルーティングテーブルに従って 送信された、前記共用情報を記憶する前記情報記憶ノード装置を示すノード情報と 、前記共用情報に対応する固有の識別情報と、を受信して、当該送信元のノード装 置を示すノード情報と夫々対応付けて記憶する記憶手段と、前記複数のノード装置 の何れかのノード装置から、前記特定共用情報に対応する前記識別情報をキーとす るルーティングテーブルに従って送信された、前記特定共用情報に対応する固有の 識別情報と、前記ノード情報の要求数を示す要求数情報と、に基づいて生成された 要求情報を受信して、前記複数の情報記憶ノード装置を示すノード情報の送信の要 求を受けた場合には、前記記憶手段を参照して、当該受信した要求情報の送信元 のノード装置を示すノード情報と対応付けられて!/ヽな ヽ前記情報記憶ノード装置を示 す前記ノード情報のうち、前記要求情報に含まれる前記識別情報に対応する前記情 報記憶ノード装置を示す前記ノード情報であって、前記要求情報に含まれる要求数 情報で示される要求数分のノード情報を検索するノード情報検索手段と、前記検索 の結果、前記要求数分以上の前記ノード情報が発見された場合には、前記第 1のノ ード装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要求数分の前 記ノード情報が発見されな力つた場合には、発見された前記ノード情報を前記第 1の ノード装置に送信するノード情報送信手段と、前記第 2のノード装置自身が前記特定 共用情報の管理元である管理ノード装置でない場合には、前記要求情報を前記第 2 のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或いは当 該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転送する 転送手段と、を有することを特徴とする。
上記課題を解決するために、請求項 27に記載の発明は、ネットワークを構築して互 いに接続された複数のノード装置を備えた情報配信システムを構成する前記複数の ノード装置に含まれる第 1のノード装置から、前記複数のノード装置間で共用される べき共用情報のうち特定の共用情報である特定共用情報を記憶する複数の情報記 憶ノード装置を示すノード情報の送信の要求を受ける前記複数のノード装置に含ま れる第 2のノード装置に含まれるコンピュータを、前記複数のノード装置の何れかのノ ード装置から、前記共用情報に対応する前記識別情報をキーとするルーティングテ 一ブルに従って送信された、前記共用情報を記憶する前記情報記憶ノード装置を示 すノード情報と、前記共用情報に対応する固有の識別情報と、を受信して、当該送 信元のノード装置を示すノード情報と夫々対応付けて記憶する記憶手段、前記複数 のノード装置の何れかのノード装置から、前記特定共用情報に対応する前記識別情 報をキーとするルーティングテーブルに従って送信された、前記特定共用情報に対 応する固有の識別情報と、前記ノード情報の要求数を示す要求数情報と、に基づい て生成された要求情報を受信して、前記複数の情報記憶ノード装置を示すノード情 報の送信の要求を受けた場合には、前記記憶手段を参照して、当該受信した要求 情報の送信元のノード装置を示すノード情報と対応付けられて!/ヽな 、前記情報記憶 ノード装置を示す前記ノード情報のうち、前記要求情報に含まれる前記識別情報に 対応する前記情報記憶ノード装置を示す前記ノード情報であって、前記要求情報に 含まれる要求数情報で示される要求数分のノード情報を検索するノード情報検索手 段、前記検索の結果、前記要求数分以上の前記ノード情報が発見された場合には、 前記第 1のノード装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要 求数分の前記ノード情報が発見されなかった場合には、発見された前記ノード情報 を前記第 1のノード装置に送信するノード情報送信手段及び、前記第 2のノード装置 自身が前記特定共用情報の管理元である管理ノード装置でない場合には、前記要 求情報を前記第 2のノード装置と前記管理ノード装置の中間に介在するノード装置 に対して、或いは当該中間に介在するノード装置が無い場合には前記管理ノード装 置に対して転送する転送手段として機能させることを特徴とする。
発明の効果
[0040] 本発明によれば、リクエストノード力もコンテンツデータの所在の問い合わせを行な う際に、コンテンツノードのノード情報を要求する数を要求数情報として要求情報とし てのクエリに含んで送信し、複数のコンテンツノードからコンテンツの配信を受けるこ とができるため、迅速かつ効率的にコンテンツデータを取得することが可能になる。 図面の簡単な説明
[0041] [図 1]本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の 一例を示す図である。
[図 2]ID空間の説明図である。
[図 3]DHTによってルーティングテーブルが作成される様子の一例を示す図である。
[図 4] (A)レベル 1のテーブルの一例である。(B)レベル 2のテーブルの一例である。 (C)レベル 3のテーブルの一例である。 (D)完成したルーティングテーブルの一例で ある。
[図 5]本実施形態における DHTによりコンテンツデータの保存元であるノード装置 1 が検索される様子の一例を示す図である。
[図 6]ノード装置 1の概要構成例を示す図である。
[図 7]各ノード間の各種情報の授受をスバニングツリー状に表した説明図である。
[図 8]各ノード間の各種情報の授受をスバニングツリー状に表した説明図である。
[図 9]リクエストノードの制御部 11における処理を示すフローチャートである。
[図 10]キャッシュノード或いはルートノードの制御部 11における処理を示すフローチ ヤートである。
[図 11]コンテンツノードの制御部 11における処理を示すフローチャートである。
[図 12]公開メッセージの流れをスパユングツリー状に表した説明図である。
[図 13]クエリの転送の様子と、コンテンツノードのノード情報が返信される様子をスパ ユングツリー状に表した説明図である。
符号の説明
[0042] 1 ノード装置 8 ネットワーク
11 制御部
12 L |S B'|5
13 ノ ッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 ノ ス
S コンテンツ酉 S信システム
Caゝ Cb、 Cc、 Cd、 Cg、 Ch、 Ci コンテンツノード
Ka、 Kb、 Kg、 Kh キャッシュノード
発明を実施するための最良の形態
[0043] 以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明す る実施の形態は、コンテンツ配信システムに対して本発明を適用した場合の実施形 態である。
[0044] [1.コンテンツ配信システムの構成等]
始めに、図 1を参照して、情報配信システムとしてのコンテンツ配信システムの概要 構成等について説明する。
図 1は、本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態 様の一例を示す図である。
図 1の下部枠 101内に示すように、 IX (Internet eXchange) 3、 ISP (Internet Service Provider) 4、 DSL (Digital Subscriber Line)回線事業者(の装置) 5、 FTTH (Fiber To The Home)回線事業者 (の装置) 6、及び通信回線 (例えば、電話回線や光ケー ブル等) 7等によって、インターネット等のネットワーク (現実世界のネットワーク) 8が構 築されている。
[0045] コンテンツ配信システム Sは、このようなネットワーク 8を介して相互に接続された複 数のノード装置 la, lb, lc - - - lx, ly, 1ζ· · ·を備えて構成されることになり、ピアツ 一ピア方式のネットワークシステムとなっている。各ノード装置 la, lb, lc- - - lx, ly , 1ζ· ·には、ノード装置を示す情報 (ノード情報)としての固有の製造番号及び IP (In ternet Protocol)アドレスが割り当てられている。なお、製造番号及び IPアドレスは、 複数のノード装置 1間で重複しないものである。なお、以下の説明において、ノード装 置 la, lb, lc - - - lx, ly, 1ζ· · ·のうち何れかのノード装置を示す場合には、便宜上 、ノード装置 1という場合がある。
[0046] [1 1. DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、 DHT (Distributed Hash Table) t\、う)を利用したアルゴリズムにつ 、て説明する。
[0047] 上述したコンテンツ配信システム Sにおいて、当該ノード装置 1が、他のノード装置 1 の持つ情報にアクセスする際には、その情報を持つノード装置 1のノード情報として の IPアドレスを知って!/、なければならな!/、。
[0048] 例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク 8に参加し ている各ノード装置 1が互いにネットワーク 8に参加している全てのノード装置 1の IP アドレスと各装置が持つ情報の索引を知っておくのが単純な手法であるが、端末数 が何万何十万と多数になると、その全てのノード装置 1の IPアドレスを覚えておくのは 現実的ではない。また、任意のノード装置の電源が ON或いは OFFとすると、各ノード 装置 1にて記憶している当該任意のノード装置の IPアドレスの更新が頻繁になり、運 用上困難となる。
[0049] そこで、 1台のノード装置 1では、ネットワーク 8に参加している全てのノード装置 1の うち、必要最低限のノード装置 1の IPアドレスだけを覚えて (記憶して)おいて、 IPアド レスを知らな!/、(記憶して!/、な!/、)ノード装置 1につ!/、ては、各ノード装置 1間で互!ヽに 情報を転送し合って (情報を中継して)届けてもらうというシステムが考案されている。
[0050] このようなシステムの一例として、 DHTを利用したアルゴリズムによって、図 1の上部 枠 100内に示すような、オーバレイネットワーク 9が構築されることになる。つまり、この オーバレイネットワーク 9は、既存のネットワーク 8を用いて形成された仮想的なリンク を構成するネットワークを意味する。
[0051] 本実施形態においては、 DHTを利用したアルゴリズムによって構築されたオーバ レイネットワーク 9を前提としており、このオーバレイネットワーク 9上に配置されたノー ド装置 1を、コンテンツ配信システム Sに参加(言い換えれば、オーバレイネットワーク 9に参カロ)しているノード装置 1という。なお、コンテンツ配信システム Sへの参加は、 未だ参加して 、な ソード装置力 既に参加して 、る任意のノード装置 1に対して参 加要求を送ることによって行われる。
[0052] コンテンツ配信システム Sに参加している各ノード装置 1のノード IDは、それぞれの ノード装置毎にユニーク(固有)な番号を付与する。この番号は、ノード装置の最大運 用台数を収容できるだけの bit数を持たせる必要がある。例えば、 128bitの番号とす れば、 2' 128=340 X 10'36台のノード装置を運用できる。
[0053] より具体的には、各ノード装置 1のノード IDは、それぞれのノード装置の IPアドレス あるいは製造番号等のノード装置毎に固有の値を、共通のハッシュ関数 (ハッシュァ ルゴリズム)によりハッシュ化して得たハッシュ値であり、一つの ID空間に偏りなく分散 して配置されることになる。このように共通のハッシュ関数により求められた (ハッシュ 化された)ノード IDは、当該 IPアドレスあるいは製造番号が異なれば、同じ値になる 確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい 説明を省略する。なお、本実施形態では、 IPアドレス (グローバル IPアドレス)を共通 のハッシュ関数によりハッシュ化した値をノード IDとする。
[0054] また、コンテンツ配信システム Sに参カ卩している複数のノード装置 1には、 1のノード 装置 1から他のノード装置 1に配信される共用情報としてのコンテンツ (例えば、映画 や音楽等)データが分散して保存 (格納)されているが、当該コンテンツデータにも、 それぞれのコンテンツデータ毎にユニーク(固有)な番号(以下、コンテンツ IDという。 )を付与する。
[0055] そして、当該コンテンツ IDは、ノード IDと同様の長さ(例えば、 128bit等)とし、例え ば、コンテンツの名称 (コンテンツタイトル)やコンテンツの概要情報(あらすじ)等のキ 一ワードが、上記ノード IDを得るときと共通のハッシュ関数によりハッシュ化され (つま り、ノード装置 1の IPアドレスのハッシュ値と同一の ID空間に配置)、そのハッシュ値と 最も近い (例えば、上位桁がより多く一致する)ノード IDを有するノード装置 1が、当該 コンテンツデータを保存するか、あるいは、その所在情報を管理する。これにより、コ ンテンッデータを偏りなくコンテンツ配信システム S上に分散させることが可能となる。 なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの名 称)になる場合が想定される力 この場合、同じハッシュ値になってしまうので、これを 避けるために、ノ、ッシュ化するキーワードを、例えば、コンテンツの名称と著作権情報 (例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等)の組 合せとすればよい。
[0056] このように、各ノード装置 1及び各コンテンツデータに付与されたノード ID及びコン テンッ IDは、共通のハッシュ関数によって生成したため、図 2に示す如ぐ同一のリン グ状の ID空間上にさほど偏ることなぐ散らばって存在するものとして考えることがで きる。同図は 32bitでノード ID及びコンテンツ IDを付与し、図示したものである。図中 黒点はノード IDを、黒ひし形はコンテンツ IDを示し、反時計回りで IDが増加するもの とする。
[0057] 次に、どのノード装置 1に、どのコンテンツデータが保存されるかを、一定の規則の 下に決定する。本実施形態においては、「あるコンテンツ IDを有するコンテンツデー タを管理するノード装置は、そのコンテンツ IDに近いノード IDを有するノード装置 1で ある」という規則とする。ここで、「近い」ことの定義は、当該コンテンツ IDを超えず、コ ンテンッ IDとノード IDとの差が一番少ないものとする力 実際には、各コンテンツデ ータの管理を各ノード装置 1に割り振る際に、一貫していればよい。同図に示す例で は、この定義に基づいて、コンテンツ IDaは、ノード IDaを有するノード装置に管理さ れ、コンテンツ IDbは、ノード IDbを有するノード装置に管理され、コンテンツ IDcは、 ノード IDcを有するノード装置 1に管理される。なお、あるノード装置は複数の異なる コンテンツデータを管理することもある。
[0058] なお、ここで「管理」というのは、コンテンツデータを保存/保持していることを意味 するのではなぐ「コンテンツデータが何れのノード装置 1に保存されているかを知つ ている」ことを言う。すなわち、図 2において、ノード IDaを有するノード装置 1は、コン テンッ IDaを有するコンテンツデータが何れのノード装置 1に保存されて!、るかを知つ ており、ノード IDbを有するノード装置 1及びノード IDcを有するノード装置 1も同様に それぞれコンテンッ IDbを有するコンテンッデータ及びコンテンッ IDcを有するコンテ ンッデータが何れのノード装置 1に保存されて 、るかを知って 、る、と 、うことになる。 このように、あるコンテンツデータが何れのノード装置 1に保存されて 、るかを知って いるノード装置を、そのコンテンツデータのルートノードと言う。つまり、ノード IDaを有 するノード装置 1は、コンテンツ IDaを有するコンテンツデータのルートノードであって 、ノード IDbを有するノード装置 1は、コンテンツ IDbを有するコンテンツデータのルー トノードであって、ノード IDcを有するノード装置 1は、コンテンツ IDcを有するコンテン ッデータのルートノードである。
[0059] また、「あるコンテンツ IDを有するコンテンツデータを管理するノード装置は、そのコ ンテンッ IDに近 ゾード IDを有するノード装置 1である」と ヽぅ規則の下にコンテンッ データとルートノードの対が作成された場合であっても、あるコンテンツデータのルー トノードが突然機能停止したり、或いはコンテンツデータが保存されているノード装置 (以下、単に「コンテンツノード」という。)にて当該コンテンツデータが消滅してしまう 場合が考えられる。このような場合であっても、ルートノード力 コンテンツデータの生 存を確認し、自己のインデックス情報等を更新しない限り、ルートノードの管理するコ ンテンッデータの情報はいつまでも残ることになる。そして、当該コンテンツデータが ー且は消滅したものの、再度同一コンテンツデータを登録する際には、改めて上記 規則の下に再度ルートノードが選び出されることとなり、新しいノード装置の参加等に よって以前のルートノードとは異なるノード装置が新しいルートノードとして選び出さ れることちありうる。
[0060] 従って、「あるコンテンツ IDを有するコンテンツデータを管理するノード装置は、その コンテンツ IDに近いノード IDを有するノード装置 1である」という規則の下にコンテン ッデータとルートノードの対が作成された場合であっても、コンテンツ配信システム S が何百台何千台 · · ·と膨大なネットワークを構築していくに従って、ノード装置のコン テンッ配信システム S力もの脱退 (ノード装置の電源断や故障、或いはネットワークの 部分的な切断等による)及び参加が行なわれる頻度が高ぐし力も、コンテンツデータ のノード装置への新たな保存又は消去が行なわれる頻度が高くなるため、あるコンテ ンッデータの保存元であるコンテンツノードを知っているノード装置は 1つではなぐ 現実的には多数のノード装置が存在することとなる。
[0061] また、あるコンテンツデータを保持するノード装置 (コンテンツノード)は 1台とは限ら ない。多数のノード装置が同一のコンテンツを保持してコンテンツ配信システム Sにそ れぞれ参加する場合がある。このような場合も、各ノード装置が当該コンテンツ配信シ ステム Sに参加する夫々のタイミングの状況下によつてルートノードとなるべきノード装 置が別々に決定されることもあるため、結果としてあるノート装置が同一のコンテンツ データを保持して 、るノード装置 (コンテンツノード)を 2つ以上知って 、る場合もある
[0062] [1 2.ルーティングテーブルの作成]
ここで、図 3を参照して、 DHTで用いるルーティングテーブルの作成手法の一例に ついて説明する。
[0063] 図 3は、 DHTによってルーティングテーブルが作成される様子の一例を示す図で ある。
[0064] まず、図 3 (A)に示す如ぐ ID空間を幾つかのエリアに分割する。実際には、 16分 割程度が良く用いられるが、説明を簡単にするためここでは 4分割とし、 IDをビット長 16Bitの 4進数で表すこととした。そして、ノード装置 1Nのノード IDを「10230210」とし 、このノード装置 1Nのルーティングテーブルを作る例につ!、て説明する。
[0065] (レベル 1のルーティング)
まず、 ID空間を 4分割とすると、それぞれのエリアは 4進数で表すと最大桁が異なる 4つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」(Xは 0力 ら 3の自然数、以下同様。)で分けられる。ノード装置 1Nは、当該ノード装置 1N自身 のノード IDが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在するこ とになる。そして、ノード装置 1Nは、自分の存在するエリア(すなわち、「1XXXXXXX 」のエリア)以外のエリアに存在するノード装置 1を適当に選択し、当該ノード IDの IP アドレスをレベル 1のテーブルに記憶する。図 4 (A)がレベル 1のテーブルの一例で ある。 2列目はノード装置 1N自身を示しているため、 IPアドレスを記憶する必要は無 い。
[0066] (レべノレ 2のノレ一ティング)
次に、図 3 (B)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自分 の存在するエリアを更に 4分割し、更に 4つのエリア「10XXXXXX」「11XXXXXX」、 「1 2XXXXXX」、 「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以 外のエリアに存在するノード装置 1を適当に選択し、当該ノード IDの IPアドレスをレべ ル 2のテーブルに記憶する。図 4 (B)がレベル 2のテーブルの一例である。 1列目はノ ード装置 1N自身を示して 、るため、 IPアドレスを記憶する必要は無!、。
[0067] (レべノレ 3のノレ一ティング)
さらに、図 3 (C)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自 分の存在するエリアを更に 4分割し、更に 4つのエリア「100XXXXX」「101XXXXX」、 「 102XXXXX」、 「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以 外のエリアに存在するノード装置 1を適当に選択し、当該ノード IDの IPアドレスをレべ ル 1のテーブルに記憶する。図 4 (C)がレベル 3のテーブルの一例である。 3列目はノ ード装置 1N自身を示しているため、 IPアドレスを記憶する必要は無ぐ 2列目、 4列 目はそのエリアにノード装置が存在しな 、ため空白となる。
[0068] このようにして、レベル 4以下レベル 8まで同様にルーティングテーブル図 4 (D)に 示す如く作成することにより、 16bitの ID全てを網羅することができる。レベルが上が る毎にテーブルの中に空白が目立つようになる。
[0069] 以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置 1 が夫々作成して所有することになる。
[0070] [1 - 3.コンテンツデータの検索方法]
次に、図 5を参照して、本実施形態におけるコンテンツデータの保存元であるノード 装置 1 (以下、「コンテンツノード」と言う。)の検索方法の一例について説明する。
[0071] 図 5は、 DHTによりコンテンツノードが検索される様子の一例を示す図である。
[0072] ここでは、ノード ID「12003030」のノード装置 1 1 (以下、「リクエストノード」と言う。 ) 1S コンテンツ ID「31330012」を有するコンテンツデータを保持するコンテンツノードを 探す際の手順について説明する。なお、同図に示す如くコンテンツ ID「31330012」を 保持するコンテンツノードのノード IDは「00213000」と「02223230」である。
[0073] 図 5において、リクエストノードからコンテンツ ID「31330012」を有するコンテンツデー タを管理するノード装置 1 5 (すなわちルートノード)に至る経路を実線矢印で表す
1S この経路の途中のノード装置 1—4を、当該ルートノードが記憶しているインデック ス情報をキャッシュとして保持するキャッシュノードとする。
[0074] まず、リクエストノードは、コンテンツ ID「31330012」と同じエリアのノード IDを持つノ ード装置に対してコンテンツ問 、合わせ情報(以下、「コンテンツ問!、合わせ情報」を
「クエリ」と言う。)を送信する。
[0075] ここで、リクエストノードが送信するクエリについて説明する。
[0076] クエリには、所望のコンテンツを示すコンテンツ ID「31330012」だけでなぐコンテン ッノードのノード情報をいくつ要求するかを示す要求数情報も含まれる。すなわち、 同一のコンテンツを保持するコンテンツノードがコンテンツ酉己信システム Sの中に複数 個存在する場合が考えられるが、このような場合、リクエストノードは、コンテンツ配信 を要求する際に、所望のコンテンッを保持する複数のコンテンッノードに対して配信 を要求するよう構成されて ヽる。
[0077] このとき、コンテンツノードのノード情報としての IPアドレスの要求数を多く設定すれ ば、多くのコンテンツノード力もコンテンツの配信を並列して受けることができ、より早 くコンテンツを取得することが可能になるという利点がある。また、 1つのノード装置で 接続可能なコンテンツノードの数は限られているため、その上限数が「10」であるとす れば、コンテンツノードの IPアドレスの要求数をそれより若干多い「15」等とすることが 考えられる。上限数より若干多く要求する理由は、接続に失敗した場合の保険である 。すなわち、コンテンツノードに配信要求をしたときに当該コンテンツノードの電源が 断とされていてアクセス不可能であったり、或いは所望のコンテンツが何らかの原因 で配信不可能な状態となって 、て要求数だけのコンテンツノードと接続できな 、こと が考えられる力もである。一方、人気のないコンテンツは当該コンテンツ自体がシステ ム中に僅かしか存在していな力つたり、当該コンテンツに対応するキャッシュノードが 多く存在しないため、要求数を少なく設定することにより、クエリがルートノードへ転送 されることなく、コンテンツノードのノード情報が短時間で揃うという利点があるので、リ タエストノードのユーザが用途に応じて設定を変えることができる。
[0078] このように、リクエストノードは、所望のコンテンツを示すコンテンツ IDだけでなぐコ ンテンッノードのノード情報を要求する数を示す要求数情報も一緒にクエリに含めて 送信し、リクエストノードや各キャッシュノードから受信した当該要求数に応じた数の 複数のコンテンツノードのノード情報に基づいて、当該複数のコンテンツノードにァク セスしてコンテンツの配信を要求するよう構成する。
[0079] なお、以下に図 5を用いて説明するコンテンツデータの検索手法においては、ネッ トワーク上をクエリが転送されることでコンテンツデータを見つけ出すことができること をわかりやすく説明するため、上記要求数は「2」であって、発見されたコンテンツデ ータが何れも配信可能に各コンテンツノードに保持されているものとして説明する。
[0080] まず、リクエストノードは、自己が保持しているルーティングテーブルのレベル 1のテ 一ブルを参照して、コンテンツ ID「31330012」と同じエリアのノード IDを持つノード装 置に対して要求数を「2」とする要求数情報を含むクエリを送信する。つまり、コンテン ッ ID「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリア に属すノード装置 1のうち、 IPアドレスを知っている(すなわち、自己が保持している ルーティングテーブルに IPアドレスが記憶されて 、る)ノード装置 1— 2に対してクエリ を送信する。
[0081] 図 5に示す例に拠れば、ノード IDが「30100000」であるノード装置 1 2の IPアドレス 力 Sリクエストノードのルーティングテーブルに記憶されて 、たので、リクエストノードは、 ノード IDが「30100000」であるノード装置 1 2に対してクエリを送信する。
[0082] 次に、クエリを受信したノード装置 1—2は、当該ノード装置 1—2自身が保持してい るインデックス情報を参照して、コンテンツ ID「31330012」に対応するコンテンツノード の情報の有無を確認し、無い場合には、当該ノード装置 1—2自身が保持しているル 一ティングテープノレのレべノレ 2のテープノレを参照して、「31XXXXXX」のエリアに属す ノード装置 1のうち、 IPアドレスを知っているノード装置 1—3 (ノード ID「31012001」) に対してクエリを転送(中継)する。
[0083] このように、上流のノード装置、すなわち自己とルートノードの中間に介在するノード 装置に対してクエリを転送し、コンテンツ IDの桁を上力 順に適合していく要領でル ートノードへ近づ ヽて ヽく。
[0084] そして、ノード装置 1—2からクエリを受信したノード装置 1—3は、当該ノード装置 1 —3自身が保持しているインデックス情報を参照して、コンテンツ ID「31330012」に対 応するコンテンツノードの情報の有無を確認する。無い場合には、当該ノード装置 1
— 3自身が保持して!/、るルーティングテーブルのレベル 3のテーブルを参照して、「3 13XXXXXJのエリアに属すノード装置 1のうち、 IPアドレスを知っているノード装置 1— 4 (ノード ID「31320100」)に対してクエリを転送(中継)する。
[0085] そして、ノード装置 1—3からクエリを受信したノード装置 1—4は、当該ノード装置 1 —4自身が保持しているインデックス情報を参照して、コンテンツ ID「31330012」に対 応するコンテンツノードの情報の有無を確認する。ノード装置 1 4は、上記キヤッシ ュノードであるため、コンテンツノードの情報を少なくとも一つは取得することができる 。そして、当該コンテンツノード (ノード装置 1— 6)のノード情報をリクエストノードに送 信し、クエリに含まれる要求数情報を要求数が「2」から「 1」となるように更新する。
[0086] そして、コンテンツノード (ノード装置 1—6)のノード情報を受信したリクエストノード は、コンテンツノード (ノード装置 1ー6)に対してコンテンツの配信を要求する配信要 求を図 5中破線矢印で示す如く送信する。そして、配信要求を受信した各コンテンツ ノード (ノード装置 1 6)は、図 5中一点鎖線で示す如くコンテンツデータをリクエスト ノードに配信するようになって!/、る。
[0087] また、コンテンツノード (ノード装置 1—6)のノード情報をリクエストノードに送信した ノード装置 1 4は、当該ノード装置 1—4自身が保持して ヽるルーティングテーブル のレベル 4のテーブルを参照して、「3133XXXX」のエリアに属すノード装置 1のうち、 I Pアドレスを知って 、るノード装置 1 5 (ノード ID「31330000」 )すなわちルートノード に対して更新後の要求数情報を含むクエリを転送(中継)する。そして、既に送信した ノード情報を送信済ノード情報としてクエリと共に上流のノード装置に送信すること〖こ よって、更新を経験したクエリであるか否かがわかる。また、他の方法として、要求数 情報は、要求数の他に、更新履歴として、クエリ転送済みコンテンツノードの IPァドレ ス、大元のリクエスタが出した要求数 (これは更新されな ヽ)を含むよう構成することも できる。この場合には、元の要求数と現在の要求数が異なっていれば、更新を経験し たクエリであることが分かる。
[0088] 最終的に当該コンテンツデータを管理するノード装置 1 5、すなわちルートノード に迪り着くと、当該ルートノードは、クエリに含まれるコンテンツ ID「31330012」を元に 自身が管理して 、るインデックス情報を検索し、未だクエリが送信されて 、な 、コンテ ンッノードであって、コンテンツ ID「31330012」に対応するコンテンツノードの情報の 有無を確認する。そして、コンテンツノード (ノード装置 1 7)を発見すると、当該コン テンッノード (ノード装置 1— 7)のノード情報をリクエストノードに送信する。
[0089] そして、コンテンツノード (ノード装置 1— 7)のノード情報をそれぞれ受信したリクェ ストノードは、上記記載と同様にしてコンテンツノード (ノード装置 1— 7)に対してコン テンッの配信を要求する配信要求を図 5中破線矢印で示す如く送信し、配信要求を 受けたコンテンツノード (ノード装置 1 7)は、図 5中一点鎖線で示す如くリクエストノ 一ドにコンテンッデータを配信する。
[0090] すなわち、リクエストノードは複数のコンテンツノード力もコンテンツを配信してもらう ことにより、 1つのコンテンツノードから配信を受ける場合に比べて、迅速にコンテンツ を構成する全てのデータを取得することができる。この場合には、例えば、 1つのコン テンッを複数のデータ構成で区分させ、最初に接続するコンテンツノード (ノード装置 1 6)からはコンテンツを構成するデータのうち前半のデータの配信を受け、後に接 続するコンテンツノード (ノード装置 1 7)からはコンテンツを構成するデータのうち後 半のデータの配信を受けるよう構成したり、或いは、並列して同時に配信を受けるよう 構成すればよい。なお、並列して同時に配信を受ける場合には、実際には、各コンテ ンッノードから順次配信されるパケットを送信された順に順次受け取り、後に説明する リクエストノードの通信部におけるプレゼンテーション層(いわゆる OSI参照モデルに おける第 6層であるプレゼンテーション層)等にてパケットを並べ替えて元のコンテン ッを再構成するよう制御させればょ ヽ。
[0091] [1 -4.コンテンツデータの登録方法]
このような構成のコンテンツ配信システム Sの中で、例えば、あるノード装置 1が新し いコンテンツデータを、コンテンツ配信システム S上の他のノード装置に見えるように 公開する際の手法について述べる。このノード装置 1がコンテンツを保持する(記憶 する)情報記憶ノード装置としてのコンテンツノードとなる。
[0092] 当該コンテンツノードは、コンテンツのタイトル等からコンテンツ IDを求め、当該コン テンッ IDと同じノード IDを持つノード装置に向けて (このノード装置が実在する力否 かはこの時点ではわ力もない。)公開メッセージを送信する。そして、この公開メッセ ージも、上記クエリと同様にルーティングテーブルに従って、次々とノード装置 1同士 で中継して転送されていき、当該公開メッセージに含まれるコンテンツ IDに最も近い ノード IDを有するノード装置 1まで転送されたところで、そのノード装置 1はもはや送 信先のノード装置が他にないと判断すると、当該ノード装置 1自身がそのコンテンツ のルートノードとなるべきだと判断し、当該コンテンツ ID、補助情報 (タイトル、ジヤン ル等の属性情報や、監督名等の著作権情報等)及びノード情報としてのコンテンツノ ードの IPアドレスをインデックス情報として記憶する。
[0093] [2.ノード装置の構成等]
次に、図 6を参照して、ノード装置 1の構成及び機能について説明する。尚、各ノー ド装置 1は、それぞれが行なう処理によってコンテンツの所在を問い合わせる第 1のノ ード装置としてのリクエストノード、当該リクエストノードや経路上の端末力 クエリを受 信する第 2のノード装置としてのキャッシュノード、当該コンテンツを管理する第 2のノ ード装置及び管理ノード装置としてのルートノード、リクエストノードによって問 、合わ せの対象とされている特定共用情報としてのコンテンツを保持する情報記憶ノード装 置としてのコンテンツノードとして作用する力 その構成は同じである。
[0094] 図 6は、ノード装置 1の概要構成例を示す図である。
[0095] 各ノード装置 1は、図 6に示すように、演算機能を有する CPU,作業用 RAM,各種 データ及びプログラムを記憶する ROM等力 構成されたコンピュータとしての制御 部 11と、上記コンテンツデータ、上記インデックス情報、上記 DHT及びプログラム等 を記憶保存 (格納)するための HDD等力 構成された記憶手段としての記憶部 12 ( 上記コンテンツデータは、保存されていないノード装置 1もある)と、受信されたコンテ ンッデータを一時蓄積するバッファメモリ 13と、コンテンツデータに含まれるェンコ一 ドされたビデオデータ(映像情報)及びオーディオデータ (音声情報)等をデコード( データ伸張や復号化等)するデコーダ部 14と、当該デコードされたビデオデータ等 に対して所定の描画処理を施しビデオ信号として出力する映像処理部 15と、当該映 像処理部 15から出力されたビデオ信号に基づき映像表示する CRT,液晶ディスプ レイ等の表示部 16と、上記デコードされたオーディオデータをアナログオーディオ信 号に D (Digital) /A (Analog)変換した後これをアンプにより増幅して出力する音声処 理部 17と、当該音声処理部 17から出力されたオーディオ信号を音波として出力する スピーカ 18と、ネットワーク 8を通じて他のノード装置 1との間の情報の通信制御を行 なうための通信部 20と、ユーザからの指示を受け付け当該指示に応じた指示信号を 制御部 11に対して与える入力部(例えば、キーボード、マウス、或いは、操作パネル 等) 21と、を備えて構成され、制御部 11、記憶部 12、バッファメモリ 13、デコーダ部 1 4、及び通信部 20はバス 22を介して相互に接続されて 、る。
[0096] そして、制御部 11における CPUが記憶部 12等に記憶された各種プログラムを実 行することにより、第 1のノード装置としてのリクエストノード、第 2のノード装置としての キャッシュノード、第 2のノード装置及び管理ノード装置としてのルートノード、情報記 憶ノード装置としてのコンテンツノードとしてノード装置 1全体を統括制御するようにな つている。
[0097] そして、ノード装置 1がリクエストノードとして機能する際には、当該制御部 11は、要 求情報生成手段、要求情報送信手段、ノード情報受信手段、配信要求手段及び特 定共用情報受信手段として機能し、ノード装置 1がキャッシュノード或いはルートノー ドとして機能する際には、当該制御部 11は、記憶手段、ノード情報検索手段、ノード 情報送信手段及び更新手段として機能し、ノード装置 1がコンテンツノードとして機能 する際には、当該制御部 11は、配信手段として機能する。
[0098] [3.コンテンツ配信システムの動作]
次に、コンテンツ配信システム Sの各ノード装置の動作について説明する。
[0099] ここでは、リクエストノードがコンテンツ配信要求を行なう際のそれぞれのノードで行 なわれる処理について詳細に説明する力 上述したように、コンテンツ配信システム S に含まれる全てのノード装置 1は、リクエストノード、キャッシュノード、ルートノード、コ ンテンッノード、或いは経路上のノード等、その他のノード等、何れのノード装置にも なり得る。 [0100] 例えば、ユーザ力 ード装置 1に備えられた入力部 21を操作することによって、特 定共用情報としての所望のコンテンツデータの所在の問い合わせが指示されると、 当該ノード装置 1が第 1のノード装置としてのリクエストノードとして機能する。また、当 該リクエストノードや中間に介在するノード装置力 クエリを受信してコンテンツデータ の所在の問い合わせがされたノード装置 1は、キャッシュノード、ルートノード等として 機能し、また、リクエストノードからコンテンツの配信要求を受けたノード装置 1は、コン テンッノードとして機能する。
[0101] 以下に、それぞれのノードとして機能する際にノード装置 1で行なわれる処理につ いて図 7乃至図 11を用いて詳細に説明する。
[0102] [3- 1.リクエストノードの処理]
先ず、図 7乃至図 9を用いてリクエストノードの処理にっ 、て説明する。
[0103] 図 7及び図 8は各ノードのリクエストノードがコンテンツ配信要求を行なう際の、各ノ ードの間の各種情報の授受の一例をスパユングツリー状に表した説明図である。この 図で、中間ノードとは、注目しているコンテンツに対して有効なインデックス情報を持 たないノードであり、キャッシュノードとはそれを持つノードである。また、図 7において 、各コンテンツノードの情報は、コンテンツを登録する際に、公開メッセージとしてキヤ ッシュノード Ka及びキャッシュノード Kbを経由してルートノードへ迪り着く。従って、キ ャッシュノード Kaの記憶部 12のインデックス情報に存在するコンテンツノードの情報 は、キャッシュノード Kbの記憶部 12のインデックス情報にも存在し、さらに、ルートノ ードは全てのコンテンツノードの情報を持っている。なお、実際には各ノードのインデ ックス情報はそのコンテンツノードの生存確認ができな力つた場合等種々のタイミング で上書きされ更新されるが、ここでは説明の簡略ィ匕のため上書き更新の説明は省略 する。
[0104] 図 9は、リクエストノードの制御部 11に記憶された配信要求プログラムが当該制御 部 11により実行されることにより行われる処理を示すフローチャートであり、図 9 (A) に示される処理において、スレッド起動が行われると (後に説明するステップ S5の処 理)、それ以降行われる図 9 (A)の処理動作と並行して図 9 (B)に示すコンテンツ受 信処理が行われる。 [0105] まず、ユーザが入力部 21を操作することにより、特定共用情報としての所望のコン テンッのタイトル等を入力して当該コンテンツを保持するコンテンツノードのノード情 報を要求する。この際、要求するノード情報の要求数も共に入力される。
[0106] 要求数は、ユーザが所望の数を入力しても良いが、コンテンツのタイトルや人気度 が記載されたカタログリストを参照して、当該人気度に応じた要求数を入力したり、或 いは人気度に応じた要求数が自動設定されるよう構成してもよい。カタログリストには 、各コンテンツ毎に、コンテンツのタイトノレ、コンテンツのあらすじ、監督名、歌手名、 原作者名等と共に、当該コンテンツの配信要求の頻度に基づいて決定された人気度 が夫々対応付けられて記載されている。このカタログリストは、コンテンツ配信システ ム S中の任意のノード装置 1を、コンテンツを統括管理する管理サーバとして機能さ せ、当該管理サーノ から各ノード装置 1に定期的に配布されるよう構成する。
[0107] このように、所望のコンテンツデータの所在の問い合わせが行われると、制御部 11 は識別情報送信手段として機能し、当該コンテンツのタイトル等をハッシュ化して当 該コンテンツデータを示すコンテンツ ID (特定共用情報に対応する固有の識別情報 )を生成すると共に、当該生成されたコンテンツ IDと、リクエストノードの IPアドレス情 報と、上記入力部 21によって入力された要求数を示す要求数情報と、を含むクエリ を、記憶部 12に記憶したルーティングテーブルを参照して他のノード装置 1に送信 する (ステップ Sl)。当該他のノード装置 1の選択手法は、上述した「1. 3コンテンツ データの検索方法」にて詳細に説明した手法に拠る。図 7及び図 8に示す例によれ ば、先ずキャッシュノードでもルートノードでもな ヽ中間ノードにクエリが送信されて ヽ る。なお、この例では所望のコンテンツを示すコンテンツ IDが「30001012」であって、 要求数は「4」とした。
[0108] 続いて、装置内に具備する内蔵時計等を使用して、時間測定を開始する (ステップ S2)。
[0109] その後、他のノード装置力も何らかの情報を受信した力否かを判定 (ステップ S3)し 、受信していない場合 (ステップ S3 :受信なし)には、ステップ S4に移行して所定の待 機時間(例えば、 10秒など)が経過した力否かを判定し、経過している場合 (ステップ S4 :Yes)にはステップ S7に移行して所定のコンテンツノード発見不可処理を行ない (ステップ S7)処理を終了する。他方、所定の待機時間が経過していない場合 (ステ ップ S4 :No)には、ステップ S3に移行して、情報の受信を待機する。
[0110] 一方、ステップ S3にて受信した情報がルートノードからのエラー回答である場合 (ス テツプ S3 :ルートノード力 エラー回答受信)には、所定のコンテンツノード発見不可 処理を行ない(ステップ S7)処理を終了する。なお、ステップ S7におけるコンテンツノ ード発見不可処理では、ノード情報を 1つも受信していないときには、コンテンツ配信 システム S内に所望のコンテンツが全く存在しない場合と考えられるので「指定のコン テンッは登録されていません。」等のメッセージを表示部 16に表示させ、ノード情報 を少なくとも 1つは受信したが要求数には満たない場合には、「要求数分のノード情 報は見つかりません。」等のメッセージを表示部 16に表示させる。
[0111] 他方、ステップ S3にて受信した情報がコンテンツノードのノード情報である場合 (す なわち、制御部 11はノード情報受信手段として機能した場合)(ステップ S3 :ノード情 報)には、スレッドを起動し、図 9 (B)に示すコンテンツ受信処理を開始する (ステップ S5)。
[0112] そして、ステップ SIでクエリを送信する際に入力した要求数分だけノード情報を受 信した力否かを判定 (ステップ S6)し、ノード情報が要求数に満たな 、場合 (ステップ S6 :No)には、ステップ S4に移行して応答待機時間内である間(すなわち、ステップ S4 :No)は情報の受信を待機し、ノード情報が要求数分ある場合 (ステップ S6 : Yes) には、処理を終了する。
[0113] 他方、ステップ S5にてスレッドの起動が行われると、ステップ S3にて受信したノード 情報に基づ 、てコンテンツノードに対して配信要求を行なう(ステップ S8)。
[0114] 図 8を用いて具体的に説明すると、ノード情報としてのコンテンツノードの IPアドレス を実線矢印で示す如くキャッシュノード Ka (又はキャッシュノード Kb、又はルートノー ド)から取得すると、当該 IPアドレスを宛先として、コンテンツノード Ca (又はコンテン ッノード Cb、又はコンテンツノード Cc、又はコンテンツノード Cd)に対して配信要求を 行なう (破線矢印)。
[0115] そして、同図中一点鎖線矢印で示す如ぐ配信要求を行ったコンテンツノードから 配信されたコンテンツデータを受信 (ステップ S9)して処理を終了する。 [0116] なお、ステップ S3にてノード情報を受信すると、その都度ステップ S5の処理にてス レッドを起動し、図 9 (B)に示すコンテンツ受信処理を行なうが、図 8に示す如く複数 のコンテンツノード力 コンテンツの配信を受ける場合には、コンテンツを受信する受 信ソフトに相当するアプリケーションソフトがコンテンツを受信する処理単位 (ここでは 「スレッド」と言う。)を複数生成することにより、並行して複数の処理を行なうように構 成する。ここで、厳密に時間的に同時に並行して処理すると言うことは考えにくいが、 CPUの処理時間を極短 、単位に分割し、複数のスレッドに順番に割り当てることによ つて、複数の処理を同時に行い、各コンテンツノード力 コンテンツを同時に並列して 受信しているかのように構成することができる。 (さらに正確に言うなら、各スレッドでの IPプロトコル上の待ち時間に、別のスレッドの処理が実行できるので、同時動作をし ているのと同等の動きになるということである。)図 8の例に示す場合で説明すると、リ タエストノードがキャッシュノード Ka及び Kb及びルートノードからノード情報を受信し て、各コンテンツノード Ca乃至コンテンツノード Cdに対して順次配信要求を行な 、、 最終的には当該コンテンツノード Ca乃至コンテンツノード Cdの数のスレッドが起動し 、 CPUが当該各スレッドに対して順番に処理を行なうことで各コンテンツノードから並 列してコンテンツの配信を受けるように構成する。このような構成により、リクエストノー ドはコンテンツを早く取得することが可能になる。
[0117] [3- 2.キャッシュノード及びルートノードの処理]
次に、図 7、図 8及び図 10を用いてキャッシュノード及びルートノードの処理につい て説明する。図 10は、キャッシュノード或いはルートノードの制御部 11に記憶された 転送プログラムが当該制御部 11により実行されることにより行われる転送処理を示す フローチャートである。当該処理はリクエストノードや、キャッシュノードを含むコンテン ッ配信システム S内の他のノード装置力 送信されたクエリを受信したことにより開始 される。
[0118] まず、制御部 11は、ノード情報検索手段として機能し、受信したクエリに含まれる識 另 U†青報としてのコンテンツ IDを認識して、当該コンテンツ IDに対応するコンテンツノ ードのノード情報 (コンテンツノードの IPアドレス)を、自己の記憶部 12に記憶したイン デッタス情報の中から検索する (ステップ S21)。なお、クエリと共に送信済ノード情報 を受信している場合には、当該送信済ノード情報と同じノード情報は検索対象力も除
<o
[0119] そして、コンテンツ IDに対応するコンテンツノードの情報が発見された力否かを判 定 (ステップ S21)し、発見されな力つた場合 (ステップ S21 : No)には、自身がルート ノードである力否かを判定 (ステップ S23)し、 自身がルートノードでな 、場合 (ステツ プ S23 :No)には、クエリを上流のノード装置、すなわち、自身とルートノードの中間 に介在するノード装置へ転送 (ステップ S24)して処理を終了する。なお、中間に介 在するノード装置が無い場合にはルートノードへ転送する。
[0120] 図 7に示す例に拠れば、リクエストノード力ものクエリは先ず中間ノードに送信され、 その後中間ノード力もキャッシュノード Kaへとクエリが転送されている。
[0121] 一方、ステップ S23の判定において、自身がルートノードである場合 (ステップ S23 :
Yes)には、リクエストノードから、クエリが転送されて来る間に、 1つでもノード情報がリ タエストノードに送信されているか否かを判定 (ステップ S25)する。 1つでもノード情 報がリクエストノードに送信されているか否かはクエリと共に送信済みノード情報を受 信して!/ヽるか否かで判別できる。
[0122] また、他の方法として、ノード情報が 1つでも送信されている場合には、後のステツ プ S32の処理にて説明するように、クエリに含まれる要求数情報が更新されるため、 当該要求数情報の更新を行なう際に、当該要求数情報に更新履歴の有無がわかる 情報を付加する。この目的のために、要求数情報には、要求数の他に、大元のリクェ ストノードが出した要求数 (これは更新されない)が含まれており、元の要求数と現在 の要求数が異なって 、れば、過去に更新があったクエリであることが分かる。
[0123] そして、受信したクエリに含まれる要求数情報に更新履歴が無ぐ 1つもリクエストノ ードにノード情報が送信されていないと判定した場合 (ステップ S25 : Yes)には、制 御部 11はエラー回答手段として機能し、エラー回答をリクエストノードに送信 (ステツ プ S26)して処理を終了する。他方、少なくとも 1つはリクエストノードにノード情報が 送信されて!、る場合 (ステップ S25: No)には処理を終了する。
[0124] また、ステップ S22の処理において、コンテンツ IDに対応するコンテンツノードのノ ード情報を発見した場合には (ステップ S22 : Yes)、クエリに含まれる要求数情報に よって示される要求数以上発見されたか否かを判定 (ステップ S27)し、要求数以上 発見された場合 (ステップ S27 : Yes)には、制御部 11はノード情報送信手段として機 能し、要求数分のノード情報をリクエストノードに送信する (ステップ S28)。尚、要求 数より多く発見された場合 (ステップ S 27 : Yes)には、発見した数全てのノード情報を リクエストノードに送信してもよいが、この場合、特定のノード情報が高頻度に送信さ れると、そのコンテンツノードの負荷が大きくなるため、発見されたノード情報の中から 、ランダムに要求数分だけノード情報を選んで送信することとする。
[0125] 他方、クエリに含まれる要求数情報によって示される要求数以上発見されな力つた 場合 (ステップ S27 :No)には、制御部 11は発見したノード情報をリクエストノードに 送信する (ステップ S 29)。
[0126] 図 7に示す例に基づいて具体的に説明すると、キャッシュノード Kaは、コンテンツ I Dが「30001012」であって、要求数を「4」とするクエリを受けると、当該キャッシュノード Kaは、記憶部 12に記憶されたインデックス情報を参照してコンテンツ ID「30001012」 に対応するコンテンツノードのノード情報を検索する。そして、同図に示す如くコンテ ンッ ID「30001012」に対応するノード情報が 2つ発見される。この場合には要求数を 満足しないので、発見されたコンテンツノード Caのノード情報(IPアドレス「121.43.15 4.65」)とコンテンツノード Cbのノード情報(IPアドレス「243.5.154.65」)が、図 8に示す 如くキャッシュノード Kaからリクエストノードに送信されることになる。
[0127] 続いて、 自身がルートノードであるか否かを判定 (ステップ S30)し、自身がルートノ ードでない場合 (ステップ S30 : No)には、制御部 11は更新手段及び転送手段として 機能し、クエリに含まれる要求数情報によって示される要求数から「1」を引いた値を 新たな要求数とするよう要求数情報を更新 (ステップ S31)した後に、当該更新後の 要求数を新たな要求数情報としてクエリに含み、更にステップ S29にて送信したノー ド情報を、送信済ノード情報としてクエリと共に上流のノード装置、すなわち、自身と ルートノードの中間に介在するノード装置へ転送 (ステップ S32)して処理を終了する 。なお、中間に介在するノード装置が無い場合にはルートノードへ転送する。
[0128] すなわち、送信済ノード情報を上流のノード装置に送信することにより、上流のノー ド装置に対して送信済ノード情報と同じノード情報を有するコンテンツノードを検索対 象から除外するよう指示するためである。図 7を用いて具体的に説明すると、キヤッシ ュノード Kaは、元の要求数である「4」からキャッシュノード Kaで発見されたノード情報 の数「2」を減算して要求数情報を更新して新たな要求数情報としてクエリに含ませる と共に、既に発見済みのノード情報の IPアドレス「121.43.154.65」と IPアドレス「243.5. 154.65」を送信済ノード情報としてクエリと共にキャッシュノード Kbに送信する。
[0129] そして、このクエリを受けたキャッシュノード Kbでは、ステップ S22において、自身の 記憶部 12に記憶されたインデックス情報を参照してコンテンツ ID「30001012」に対応 するノード情報であって、送信済ノード情報と異なるノード情報を検索することになる 。図 7に示す例によれば、キャッシュノード Kbの記憶部 12に記憶されたインデックス 情報には、コンテンツ IDに対応するノード情報として、 IPアドレス「132.122.11.12」と I Pアドレス「243.5.154.65」と IPアドレス「121.43.154.65」が記憶されている力 IPァドレ ス「243.5.154.65」と IPアドレス「121.43.154.65」は既にキャッシュノード Kaで送信して いる。すなわち、当該 IPアドレス「243.5.154.65」と IPアドレス「121.43.154.65」を送信 済ノード情報としてクエリと共に受信しているため、キャッシュノード Kbでは、送信済ノ ード情報を除き、かつコンテンツ IDに対応するノード情報として、コンテンツノード Cc のノード情報 (IPアドレス「132.122.11.12」)がリクエストノードに送信されることになる。 そして、キャッシュノード Kaから受信したクエリに含まれていた要求数情報力 更に 1 を引いて (減算して)更新した要求数情報を再びクエリに含み、更に送信済ノード情 報に IPアドレス「132.122.11.12」を付カ卩して、すなわち、送信済ノード情報を" IPアド レス「121.43.154.65」及び IPアドレス「243.5.154.65」及び IPアドレス「132.122.11.12」 "としてルートノードに送信するようになって!/、る。
[0130] そして、このクエリを受けたルートノードでは、自身の記憶部 12に記憶されたインデ ックス情報を参照してコンテンツ ID「30001012」に対応し、かつ送信済ノード情報と異 なるノード情報を検索し、その結果コンテンツノード Cdのノード情報 (IPアドレス「125. 15.35.42」)が発見されてリクエストノードに送信されることになる。
[0131] なお、ステップ S30の処理において、自身がルートノードである場合 (ステップ S30 :
Yes)には、エラー回答をリクエストノードに送信 (ステップ S33)して処理を終了する。
[0132] 以上説明したように、リクエストノードから複数のコンテンツノードのノード情報の要 求がされた場合には、各キャッシュノードでノード情報が発見される都度リクエストノー ドに送信し、さらに、クエリを上流に転送(中継)する際には当該キャッシュノードで発 見され、既にリクエストノードに送信したノード情報を送信済ノード情報としてクエリと 共に上流に転送するので、上流のリクエストノードでは送信済ノード情報を除いてノ ード情報を検索することが可能になる。
[0133] また、各キャッシュノード或いはルートノードにて要求数を更新しながら上記処理が 行なわれるため、リクエストノードに要求数分のノード情報を確実に送信することがで き、さらにクエリが上流に転送されながらノード情報が発見されるとその都度リクエスト ノードにノード情報が送信されるので、リクエストノードは受信したノード情報に基づ ヽ て順次コンテンツノードにアクセスして配信要求を行うことが可能になる。
[0134] [3- 3.コンテンツノードの処理]
次に、図 7、図 8及び図 11を用いてコンテンツノードの処理について説明する。図 1 1は、コンテンツノードの制御部 11に記憶されたプログラムが当該制御部 11により実 行されることにより行われる処理を示すフローチャートである。
[0135] そして、当該処理はリクエストノードから送信された配信要求を受信したことにより開 始される。
[0136] まず、クエリに含まれるコンテンツ IDに対応するコンテンツデータを記憶部 12から 取得する(ステップ S41)。
[0137] そして、制御部 11は配信手段として機能し、取得したコンテンツデータをリクエストノ ードに配信する(ステップ S42)。
[0138] 以上説明したように、本実施形態によれば、リクエストノードからコンテンツデータの 所在の問い合わせを行なう際に、リクエストノードはコンテンツノードのノード情報を要 求する数を要求数情報として送信し、複数のコンテンツノードからコンテンツの配信を 受けることができるため、より迅速に所望のコンテンツを取得することが可能になる。
[0139] また、クエリを上流のノード装置に転送(中継)する際には、既に送信済みのノード 情報を送信済ノード情報として要求数情報と併せて送信するよう構成したので、これ を受けた上流のノード装置では、送信済ノード情報を自身の処理における検索対象 力も除外することが可能になる。従って、リクエストノードに同じノード情報を重複して 送信することを防ぐことができる。
[0140] 更に、クエリに要求数情報を付加して当該要求数情報を更新するよう構成したので 、リクエストノードが要求するノード情報の数に確実に応じることが可能になる。
[0141] 更に、ルートノードまでクエリが転送されたにもかかわらず、コンテンツを発見できな い場合には、リクエストノードに対してエラー回答を送信するよう構成したので、リクェ ストノードではコンテンツ配信システム S上に所望のコンテンツが要求数分無いことを 容易に把握することが可能になる。
[0142] また、リクエストノードにて要求数を設定してコンテンツ IDを含むクエリに含んで送 信するよう構成したので、当該クエリを転送する際に、ルートノード或いはキャッシュノ ードでは、既にリクエストノードに送信したノード情報の数を減算して要求数を更新し て転送することができるため、リクエストノードは、要求数分のコンテンツノードのノード 情報を確実に取得することが可能になる。従って、ノード情報の要求数を多く設定す れば、多くのコンテンツノードからコンテンツの配信を並列して受けることができ、より 早くコンテンツを取得することが可能になる等の利点があり、ノード情報の要求数を少 なく設定すれば、要求数分のコンテンツノードのノード情報を短時間で揃えることが できる等の利点があるので、リクエストノードのユーザが用途に応じて、或いはコンテ ンッの人気度に応じて設定を変えることができる。
[0143] [4.変形形態]
上記 [1—4.コンテンツデータの登録]にて説明したように、各コンテンツは、公開メ ッセージを送信することによりコンテンツ配信システム Sに登録される力 ノード装置が 、公開メッセージを受信して、当該公開メッセージに含まれるコンテンツ ID等をインデ ックス情報として自己の記憶部 12に記憶する際、 DHTルーティングテーブルに従つ て自身に当該公開メッセージを送信してきたノード装置を中継送信元のノード装置と して、当該中継送信元のノード装置のノード情報をバックポインタとして対応付けて記 憶する。これにより、公開メッセージと同様の流れで各ノード装置クエリを受信したキ ャッシュノードでは、送信したノード情報 (送信済みノード情報)を上流のノード装置へ 転送する処理 (ステップ S32参照。)が不要になる。
[0144] 以下、図を用いて具体的に説明する。 [0145] 図 12は、公開メッセージの流れをスパユングツリー状に表した説明図である。
[0146] コンテンツ ID「30001011」のコンテンツを有するコンテンツノード Cg, Ch、 Ciが、当 該コンテンツをコンテンツ配信システム Sに登録するために、識別情報としてのコンテ ンッ IDをキーとして公開メッセージをルーティングテーブルに従ってルートノードに向 けて送信する。
[0147] コンテンツノード Cgから公開メッセージを受信したノード装置はキャッシュノード kgと なり、自己の記憶部 12に記憶されたインデックス情報に、公開メッセージに含まれる コンテンツ ID、補助情報 (タイトル、ジャンル等の属性情報や、監督名等の著作権情 報等)、ノード情報としてのコンテンツノード Cgの IPアドレス、更に、ノ ックポインタとし て、当該公開メッセージを送信したノード装置のノード情報を対応付けて記憶する。 図 12の場合、キャッシュノード kgは、公開メッセージの中継送信元のノード装置であ るコンテンツノード Cgのノード情報: IPアドレス" 132.122.11.5"をバックポインタとして feす。。
[0148] そして、当該キャッシュノード Kg力も公開メッセージを転送されたノード装置もキヤッ シュノード Khとなり、同様にして、 自己の記憶部 12に記憶されたインデックス情報に 、公開メッセージに含まれるコンテンツ ID、補助情報及びノード情報と共にバックボイ ンタとして、当該公開メッセージを転送した中継送信元のノード装置のノード情報を 対応付けて記憶する。図 12の場合、キャッシュノード khは、公開メッセージの中継送 信元のノード装置であるキャッシュノード Kgのノード情報: IPアドレス" 132.122.11.7" をバックポインタとして記憶する。
[0149] また、キャッシュノード Khは、コンテンツノード Chからも公開メッセージを受信して ヽ るので、当該公開メッセージに含まれるコンテンツ ID、補助情報及びノード情報と共 に、当該公開メッセージを転送した中継送信元のノード装置であるコンテンツノード C hのノード情報: IPアドレス" 132.122.11.6"をバックポインタとして対応付けて記憶する
[0150] そして、キャッシュノード Khからコンテンツノード Cg, Chに係る公開メッセージを夫 々受信したルートノードでも、 自己の記憶部 12に記憶されたインデックス情報に、各 公開メッセージに含まれるコンテンツ ID等の情報と、当該公開メッセージを転送した 中継送信元のノード装置である各キャッシュノード Khのノード情報をバックポインタと して夫々対応付けて記憶する。また、ルートノードは、コンテンツノード αから公開メッ セージを受信して、当該公開メッセージに含まれるコンテンツ ID、補助情報及びノー ド情報と共に、当該公開メッセージの中継送信元のノード装置であるコンテンツノード
Ciのノード情報: IPアドレス" 132.122.11.9"をバックポインタとして対応付けて記憶す る。
[0151] 図 13は、クエリ(コンテンツ問合せ情報)の転送の様子と、当該クエリに応じてコンテ ンッノードのノード情報が返信される様子をスバニングツリー状に表した説明図である
[0152] 先ず、リクエストノードは、コンテンツ ID「30001011」、要求数「3」とするクエリを送信 する。このクエリは、コンテンツ IDをキーとしてルーティングテーブルに従って送信さ れ、キャッシュノード Kgにて受信される。
[0153] そしてキャッシュノード Kgは、受信したクエリに含まれる識別情報としてのコンテンツ IDを認識して、当該コンテンツ IDに対応するコンテンツノードのノード†青報を、自己 の記憶部 12に記憶したインデックス情報の中から検索し、当該ノード情報をリクエスト ノードに送信する。この時点で要求数が「3」から「2」に更新され、更にクエリが転送さ れる。
[0154] キャッシュノード Khは、クエリを受信すると、受信したクエリに含まれる識別情報とし てのコンテンッ IDを認識して、当該コンテンッ IDに対応するコンテンッノードのノード 情報を、自己の記憶部 12に記憶したインデックス情報の中から検索し、当該ノード情 報をリクエストノードに送信する。この時点で要求数が「2」から「1」に更新され、更にク エリが転送される。
[0155] ルートノードは、クエリを受信すると、受信したクエリに含まれる識別情報としてのコ ンテンッ IDを認識して、当該コンテンツ IDに対応するコンテンツノードのノード†青報を 、 自己の記憶部 12に記憶したインデックス情報の中から検索し、当該ノード情報をリ タエストノードに送信する。
[0156] 各キャッシュノード及びルートノードにおける検索の際、インデックス情報に記憶さ れたバックポインタとして記憶されたノード情報を参照して、クエリの中継送信元のノ ード装置のノード情報と異なるコンテンツノードのノード情報をリクエストノードに送信 するよう構成する。クエリの中継送信元のノード装置のノード情報は、各ノード装置が 自身のノード情報をクエリに含んで送信するよう構成すればょ 、。
[0157] 図 12、図 13に示す例の場合、リクエストノード力 クエリを受けたキャッシュノード K gは、クエリの中継送信元であるリクエストノードのノード情報: IPアドレス" 132.122.11.
10"が、バックポインタとして対応付けられていないコンテンツノード Cgのノード情報を 、リクエストノードに送信する。
[0158] キャッシュノード Kgからクエリを受けたキャッシュノード Khは、インデックス情報にあ るコンテンツ ID「30001011」のコンテンツノードのノード情報のうち、クエリの中 ϋ送信 元であるキャッシュノード Kgのノード情報: IPアドレス" 132.122.11.7"が、バックポイン タとして対応付けられていないコンテンツノード Chのノード情報を、リクエストノードに 送信する。クエリの中継送信元のキャッシュノード Kgのノード情報と同じノード情報を 、ノックポインタとして記憶するコンテンツノードのノード情報("132.122.11.5")は、既 にリクエストノードに送信済みであるためである。
[0159] また、キャッシュノード Khカもクエリを受けたルートノードは、インデックス情報にある コンテンツ ID「30001011」のコンテンツノードのノード情報のうち、クエリの中継送信元 であるキャッシュノード Khのノード情報: IPアドレス" 132.122.11.8"が、バックポインタ として対応付けられていないコンテンツノード Ciのノード情報を、リクエストノードに送 信する。クエリの中継送信元のキャッシュノード Khのノード情報と同じノード情報を、 バックポインタとして記憶するコンテンツノードのノード情報("132.122.11.5"、 "132.12 2.11.6")は、既にリクエストノードに送信済みであるためである。
[0160] これは、クエリも公開メッセージも何れもコンテンツ IDをキーとするルーティングテー ブルに従って転送されるため、同じ転送経路でルートノードに迪り着く性質を利用し ているのであって、クエリを受けたキャッシュノード又はルートノードは、公開メッセ一 ジを受信して、コンテンツノードの情報を記憶する際に、その中継送信元を記憶して おくことにより、ある中継送信元からのクエリに対しては、別の中継ノード装置経由で 記憶してぉ 、たコンテンツノードのノード情報を送信することが可能となり、同じノード 情報を重複してリクエストノードに送信することを防 、で、未だ送信されて 、な ゾー ド情報のみを誤りなく送信することができる。こうすれば、先の実施例のステップ S32 で行ったような、クエリと共に送信済みのノード情報を転送するという動作が必要なく なる。
[0161] なお、上述したようにバックポインタを使用して送信済みノード情報を判断する場合 、要求数情報の更新を行なう際に、当該要求数情報に更新履歴の有無がわ力る情 報として、更新履歴フラグを付加するよう構成する。更新履歴フラグは、例えば更新 履歴無しを「0」、更新履歴有りを「1」とする。
[0162] そして、上記ステップ S25において、更新履歴フラグが「1」である場合には 1つでも ノード情報がリクエストノードに送信されて 、ると判定し、更新履歴フラグが「0」である 場合には 1つもリクエストノードにノード情報が送信されていないと判定すればよい。

Claims

請求の範囲
ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムにおいて、
前記複数のノード装置に含まれる第 1のノード装置は、
前記複数のノード装置に含まれる第 2のノード装置に対して、前記複数のノード装 置に含まれるノード装置であって、前記複数のノード装置間で共用されるべき共用情 報のうち特定の共用情報である特定共用情報を記憶する複数の情報記憶ノード装 置を示すノード情報の送信を要求すべく、前記特定共用情報に対応する固有の識 別情報と、前記ノード情報の要求数を示す要求数情報と、に基づいて要求情報を生 成する要求情報生成手段と、
前記生成した要求情報を前記第 2のノード装置に対して送信する要求情報送信手 段と、
前記第 2のノード装置から前記ノード情報を受信するノード情報受信手段と、 前記ノード情報に対応する前記情報記憶ノード装置に対し、前記特定共用情報の 配信を要求する配信要求手段と、
前記情報記憶ノード装置から配信された前記特定共用情報を受信する特定共用 情報受信手段と、を有し、
前記第 2のノード装置は、
前記共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、前記共用 情報に対応する固有の識別情報と、をそれぞれ対応付けて記憶する記憶手段と、 前記複数のノード装置の何れかのノード装置から前記要求情報を受信して前記特 定共用情報の要求を受けた場合には、前記記憶手段を参照して当該受信した要求 情報に含まれる前記識別情報に対応する前記ノード情報であって、前記要求情報に 含まれる要求数情報で示される要求数分のノード情報を検索するノード情報検索手 段と、
前記検索の結果、前記要求数分以上の前記ノード情報が発見された場合には、前 記第 1のノード装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要求 数分の前記ノード情報が発見されなかった場合には、発見された前記ノード情報を 前記第 1のノード装置に送信するノード情報送信手段と、
前記第 2のノード装置自身が前記特定共用情報の管理元である管理ノード装置で ない場合には、前記要求情報と、前記ノード情報送信手段により前記第 1のノード装 置に送信したノード情報である送信済ノード情報と、を前記第 2のノード装置と前記管 理ノード装置の中間に介在するノード装置に対して、或 、は当該中間に介在するノ ード装置が無い場合には前記管理ノード装置に対して転送する転送手段と、を有し 前記情報記憶ノード装置は、
前記第 1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記 第 1のノード装置に対して前記特定共用情報を配信する配信手段と、
を有することを特徴とする情報配信システム。
[2] 請求項 1に記載の情報配信システムにお 、て、
第 2のノード装置が、前記要求情報を受信した際に前記送信済ノード情報を受信し た場合には、前記ノード情報検索手段は、前記記憶手段に記憶されたノード情報の うち前記送信済ノード情報と同一のノード情報を除くノード情報の中から、前記識別 情報に対応するノード情報を検索することを特徴とする情報配信システム。
[3] 請求項 1又は請求項 2に記載の情報配信システムにお 、て、
前記第 2のノード装置は、前記ノード情報検索手段による検索の結果、前記要求数 分の前記ノード情報がない場合であって、当該第 2のノード装置自身が前記管理ノ ード装置でない場合には、前記要求数から前記ノード情報送信手段により前記第 1 のノード装置に送信したノード情報の数を減算して前記要求数を更新する更新手段 を有し、
前記第 2のノード装置における前記転送手段は、当該更新された要求数を新たな 要求数情報とした前記要求情報を転送することを特徴とする情報配信システム。
[4] 請求項 1乃至請求項 3の 、ずれか一項に記載の情報配信システムにお 、て、 前記第 1のノード装置における前記配信要求手段は、前記ノード情報受信手段に より前記ノード情報を受信する度毎に、前記ノード情報に対応する前記情報記憶ノー ド装置に対して、順次、前記特定共用情報の配信を要求し、 前記第 1のノード装置における前記特定共用情報受信手段は、前記特定共用情報 の配信を要求した各前記情報記憶ノード装置から配信された前記特定共用情報を 並列して受信することを特徴とする情報配信システム。
[5] 請求項 1乃至請求項 4の 、ずれか一項に記載の情報配信システムにお 、て、 前記第 2のノード装置は、前記ノード情報検索手段による検索の結果、前記要求数 分の前記ノード情報が発見されな力つた場合であって、かつ当該第 2のノード装置自 身が、前記管理ノード装置である場合には、前記第 1のノード装置に対して前記ノー ド情報が前記要求数分無いことを回答するエラー回答手段を有することを特徴とする 情報配信システム。
[6] ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムにおける情報配信方法であって、
前記複数のノード装置に含まれる第 2のノード装置が、前記複数のノード装置間で 共用されるべき共用情報を記憶する情報記憶ノード装置を示すノード情報と、前記 共用情報に対応する固有の識別情報と、をそれぞれ対応付けて記憶する記憶工程 と、
前記複数のノード装置に含まれる第 1のノード装置が、前記第 2のノード装置に対し て、前記複数のノード装置に含まれるノード装置であって、前記共用情報のうち特定 の共用情報である特定共用情報を記憶する複数の情報記憶ノード装置を示すノード 情報の送信を要求すベぐ前記特定共用情報に対応する固有の識別情報と、前記ノ ード情報の要求数を示す要求数情報と、に基づいて要求情報を生成する工程と、 前記第 1のノード装置が、前記生成した要求情報を前記第 2のノード装置に対して 送信する工程と、
前記第 2のノード装置が、前記複数のノード装置の何れかのノード装置から前記要 求情報を受信して前記特定共用情報の要求を受けた場合には、前記記憶工程にて 記憶したノード情報から、当該受信した要求情報に含まれる前記識別情報に対応す る前記ノード情報であって、前記要求情報に含まれる要求数情報で示される要求数 分のノード情報を検索するノード情報検索工程と、
前記第 2のノード装置が、前記ノード情報検索工程による検索の結果、前記要求数 分以上の前記ノード情報が発見された場合には、前記第 1のノード装置に少なくとも 前記要求数分の前記ノード情報を送信し、前記要求数分の前記ノード情報が発見さ れな力つた場合には、発見された前記ノード情報を前記第 1のノード装置に送信する ノード情報送信工程と、
前記第 2のノード装置が、当該第 2のノード装置自身が前記特定共用情報の管理 元である管理ノード装置でない場合には、前記要求情報と、前記ノード情報送信ェ 程により前記第 1のノード装置に送信したノード情報である送信済ノード情報と、を前 記第 2のノード装置と前記管理ノード装置の中間に介在するノード装置に対して、或 いは当該中間に介在するノード装置が無い場合には前記管理ノード装置に対して転 送する転送工程と、
前記第 1のノード装置が、前記第 2のノード装置から前記ノード情報を受信するノー ド情報受信工程と、
前記第 1のノード装置が、前記ノード情報に対応する前記情報記憶ノード装置に対 し、前記特定共用情報の配信を要求する配信要求工程と、
前記情報記憶ノード装置が、前記第 1のノード装置から前記特定共用情報の配信 要求を受けた場合には、前記第 1のノード装置に対して前記特定共用情報を配信す る配信工程と、
前記第 1のノード装置が、前記情報記憶ノード装置から配信された前記特定共用 情報を受信する特定共用情報受信工程と、
を有することを特徴とする情報配信方法。
[7] 請求項 6に記載の情報配信方法において、
前記第 2のノード装置が、前記要求情報を受信した際に前記送信済ノード情報を 受信した場合には、前記ノード情報検索工程では、前記記憶工程にて記憶されたノ ード情報のうち前記送信済ノード情報と同一のノード情報を除くノード情報の中から、 前記識別情報に対応するノード情報を検索することを特徴とする情報配信方法。
[8] 請求項 6又は請求項 7に記載の情報配信方法にぉ 、て、
前記第 2のノード装置が、前記ノード情報検索工程による検索の結果前記要求数 分の前記ノード情報がない場合であって、当該第 2のノード装置自身が前記管理ノ ード装置でない場合には、前記要求数から前記ノード情報送信工程にて前記第 1の ノード装置に送信したノード情報の数を減算して前記要求数を更新する更新工程を 有し、
前記転送工程では、当該更新された要求数を新たな要求数情報とした前記要求情 報を転送することを特徴とする情報配信方法。
[9] 請求項 5乃至請求項 8の 、ずれか一項に記載の情報配信方法にぉ 、て、
前記配信要求工程では、前記ノード情報受信工程により前記ノード情報を受信す る度毎に、前記ノード情報に対応する前記情報記憶ノード装置に対して、順次、前記 特定共用情報の配信を要求し、
前記特定共用情報受信工程は、前記特定共用情報の配信を要求した各前記情報 記憶ノード装置から配信された前記特定共用情報を並列して受信することを特徴と する情報配信方法。
[10] 請求項 5乃至請求項 9の 、ずれか一項に記載の情報配信方法にぉ 、て、
前記第 2のノード装置が、前記ノード情報検索工程による検索の結果、前記要求数 分の前記ノード情報が発見されな力つた場合であって、かつ当該第 2のノード装置自 身が、前記管理ノード装置である場合には、前記第 1のノード装置に対して前記ノー ド情報が前記要求数分無いことを回答するエラー回答工程を有することを特徴とする 情情報配信方法。
[11] ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムを構成する前記複数のノード装置に含まれる第 1のノード装置において、 前記複数のノード装置に含まれる第 2のノード装置に対して、前記複数のノード装 置に含まれるノード装置であって、前記複数のノード装置間で共用されるべき共用情 報のうち特定の共用情報である特定共用情報を記憶する複数の情報記憶ノード装 置を示すノード情報の送信を要求すべく、前記特定共用情報に対応する固有の識 別情報と、前記ノード情報の要求数を示す要求数情報と、に基づいて要求情報を生 成する要求情報生成手段と、
前記生成した要求情報を前記第 2のノード装置に対して送信する要求情報送信手 段と、 前記第 2のノード装置から前記ノード情報を受信するノード情報受信手段と、 前記ノード情報に対応する前記情報記憶ノード装置に対し、前記特定共用情報の 配信を要求する配信要求手段と、
前記情報記憶ノード装置から配信された前記特定共用情報を受信する特定共用 情報受信手段と、
を有することを特徴とする第 1のノード装置。
[12] 請求項 11に記載の第 1のノード装置において、
前記配信要求手段は、前記ノード情報受信手段により前記ノード情報を受信する 度毎に、前記ノード情報に対応する前記情報記憶ノード装置に対して、順次、前記 特定共用情報の配信を要求し、
前記特定共用情報受信手段は、前記特定共用情報の配信を要求した各前記情報 記憶ノード装置から配信された前記特定共用情報を並列して受信することを特徴と する第 1のノード装置。
[13] ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムを構成する前記複数のノード装置に含まれる第 1のノード装置から、前記複数の ノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報 を記憶する複数の情報記憶ノード装置を示すノード情報の送信の要求を受ける前記 複数のノード装置に含まれる第 2のノード装置において、
前記共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、前記共用 情報に対応する固有の識別情報と、をそれぞれ対応付けて記憶する記憶手段と、 前記複数のノード装置の何れかのノード装置から、前記特定共用情報に対応する 固有の識別情報と、前記ノード情報の要求数を示す要求数情報と、に基づいて生成 された要求情報を受信して前記特定共用情報の要求を受けた場合には、前記記憶 手段を参照して当該受信した要求情報に含まれる前記識別情報に対応する前記ノ ード情報であって、前記要求情報に含まれる要求数情報で示される要求数分のノー ド情報を検索するノード情報検索手段と、
前記検索の結果、前記要求数分以上の前記ノード情報が発見された場合には、前 記第 1のノード装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要求 数分の前記ノード情報が発見されなかった場合には、発見された前記ノード情報を 前記第 1のノード装置に送信するノード情報送信手段と、
前記第 2のノード装置自身が前記特定共用情報の管理元である管理ノード装置で ない場合には、前記要求情報と、前記ノード情報送信手段により前記第 1のノード装 置に送信したノード情報である送信済ノード情報と、を前記第 2のノード装置と前記管 理ノード装置の中間に介在するノード装置に対して、或 、は当該中間に介在するノ ード装置が無い場合には前記管理ノード装置に対して転送する転送手段と、 を有することを特徴とする第 2のノード装置。
[14] 請求項 13に記載の第 2のノード装置において、
前記要求情報を受信した際に前記送信済ノード情報を受信した場合には、前記ノ ード情報検索手段は、前記記憶手段に記憶されたノード情報のうち前記送信済ノー ド情報と同一のノード情報を除くノード情報の中から、前記識別情報に対応するノー ド情報を検索することを特徴とする第 2のノード装置。
[15] 請求項 13又は請求項 14に記載の第 2のノード装置において、
前記ノード情報検索手段による検索の結果、前記要求数分の前記ノード情報がな V、場合であって、当該第 2のノード装置自身が前記管理ノード装置でな!、場合には、 前記要求数から前記ノード情報送信手段により前記第 1のノード装置に送信したノー ド情報の数を減算して前記要求数を更新する更新手段を有し、
前記転送手段は、当該更新された要求数を新たな要求数情報とした前記要求情 報を転送することを特徴とする第 2のノード装置。
[16] 請求項 13乃至請求項 15のいずれか一項に記載の第 2のノード装置において、 前記ノード情報検索手段による検索の結果、前記要求数分の前記ノード情報が発 見されなかった場合であって、かつ当該第 2のノード装置自身が、前記管理ノード装 置である場合には、前記第 1のノード装置に対して前記ノード情報が前記要求数分 無いことを回答するエラー回答手段を有することを特徴とする第 2のノード装置。
[17] ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムを構成する前記複数のノード装置に含まれる第 1のノード装置に含まれるコンビ ユータを、 前記複数のノード装置に含まれる第 2のノード装置に対して、前記複数のノード装 置に含まれるノード装置であって、前記複数のノード装置間で共用されるべき共用情 報のうち特定の共用情報である特定共用情報を記憶する複数の情報記憶ノード装 置を示すノード情報の送信を要求すべく、前記特定共用情報に対応する固有の識 別情報と、前記ノード情報の要求数を示す要求数情報と、に基づいて要求情報を生 成する要求情報生成手段、
前記生成した要求情報を前記第 2のノード装置に対して送信する要求情報送信手 段、
前記第 2のノード装置から前記ノード情報を受信するノード情報受信手段、 前記ノード情報に対応する前記情報記憶ノード装置に対し、前記特定共用情報の 配信を要求する配信要求手段、
前記情報記憶ノード装置から配信された前記特定共用情報を受信する特定共用 情報受信手段、
として機能させることを特徴とする配信要求プログラム。
[18] 請求項 17に記載の配信要求プログラムにおいて、
前記配信要求手段を、前記ノード情報受信手段により前記ノード情報を受信する 度毎に、前記ノード情報に対応する前記情報記憶ノード装置に対して、順次、前記 特定共用情報の配信を要求するよう機能させ、
前記特定共用情報受信手段を、前記特定共用情報の配信を要求した各前記情報 記憶ノード装置から配信された前記特定共用情報を並列して受信するよう機能させ ることを特徴とする配信要求プログラム。
[19] ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムを構成する前記複数のノード装置に含まれる第 1のノード装置から、前記複数の ノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報 を記憶する複数の情報記憶ノード装置を示すノード情報の送信の要求を受ける前記 複数のノード装置に含まれる第 2のノード装置に含まれるコンピュータを、
前記共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、前記共用 情報に対応する固有の識別情報と、をそれぞれ対応付けて記憶する記憶手段、 前記複数のノード装置の何れかのノード装置から、前記特定共用情報に対応する 固有の識別情報と、前記ノード情報の要求数を示す要求数情報と、に基づいて生成 された要求情報を受信して前記特定共用情報の要求を受けた場合には、前記記憶 手段を参照して当該受信した要求情報に含まれる前記識別情報に対応する前記ノ ード情報であって、前記要求情報に含まれる要求数情報で示される要求数分のノー ド情報を検索するノード情報検索手段、
前記検索の結果、前記要求数分以上の前記ノード情報が発見された場合には、前 記第 1のノード装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要求 数分の前記ノード情報が発見されなかった場合には、発見された前記ノード情報を 前記第 1のノード装置に送信するノード情報送信手段と、
前記第 2のノード装置自身が前記特定共用情報の管理元である管理ノード装置で ない場合には、前記要求情報と、前記ノード情報送信手段により前記第 1のノード装 置に送信したノード情報である送信済ノード情報と、を前記第 2のノード装置と前記管 理ノード装置の中間に介在するノード装置に対して、或 、は当該中間に介在するノ ード装置が無い場合には前記管理ノード装置に対して転送する転送手段として機能 させることを特徴とする転送プログラム。
[20] 請求項 19に記載の転送プログラムにおいて、
前記要求情報を受信した際に前記送信済ノード情報を受信した場合には、前記ノ ード情報検索手段は、前記記憶手段に記憶されたノード情報のうち前記送信済ノー ド情報と同一のノード情報を除くノード情報の中から、前記識別情報に対応するノー ド情報を検索するよう機能させることを特徴とする転送プログラム。
[21] 請求項 19又は請求項 20に記載の転送プログラムにおいて、
前記コンピュータを、前記ノード情報検索手段による検索の結果、前記要求数分の 前記ノード情報がない場合であって、当該第 2のノード装置自身が前記管理ノード装 置でない場合には、前記要求数から前記ノード情報送信手段により前記第 1のノード 装置に送信したノード情報の数を減算して前記要求数を更新する更新手段として機 能させ、かつ、
前記転送手段を、当該更新された要求数を新たな要求数情報とした前記要求情報 を転送するよう機能させることを特徴とする転送プログラム。
[22] 請求項 19乃至請求項 21のいずれか一項に記載の転送プログラムにおいて、 前記コンピュータを、前記ノード情報検索手段による検索の結果、前記要求数分の 前記ノード情報が発見されな力つた場合であって、かつ当該第 2のノード装置自身が 、前記管理ノード装置である場合には、前記第 1のノード装置に対して前記ノード情 報が前記要求数分無いことを回答するエラー回答手段として更に機能させることを特 徴とする転送プログラム。
[23] 請求項 17乃至請求項 22のいずれか一項に記載の配信要求プログラム又は転送 プログラムの何れかのプログラムがコンピュータ読み取り可能に記録されていることを 特徴とする記録媒体。
[24] ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムにおいて、
前記複数のノード装置に含まれる第 1のノード装置は、
前記複数のノード装置に含まれる第 2のノード装置に対して、前記複数のノード装 置に含まれるノード装置であって、前記複数のノード装置間で共用されるべき共用情 報のうち特定の共用情報である特定共用情報を記憶する複数の情報記憶ノード装 置を示すノード情報の送信を要求すべく、前記特定共用情報に対応する固有の識 別情報と、前記ノード情報の要求数を示す要求数情報と、に基づいて要求情報を生 成する要求情報生成手段と、
前記生成した要求情報を、前記特定共用情報に対応する前記識別情報をキーと するルーティングテーブルに従って前記第 2のノード装置に対して送信する要求情 報送信手段と、
前記第 2のノード装置から前記ノード情報を受信するノード情報受信手段と、 前記ノード情報に対応する前記情報記憶ノード装置に対し、前記特定共用情報の 配信を要求する配信要求手段と、
前記情報記憶ノード装置から配信された前記特定共用情報を受信する特定共用 情報受信手段と、を有し、
前記第 2のノード装置は、 前記複数のノード装置の何れかのノード装置から、前記共用情報に対応する前記 識別情報をキーとするルーティングテーブルに従って送信された、前記共用情報を 記憶する前記情報記憶ノード装置を示すノード情報と、前記共用情報に対応する固 有の識別情報と、を受信して、当該送信元のノード装置を示すノード情報と夫々対応 付けて記憶する記憶手段と、
前記複数のノード装置の何れかのノード装置から前記要求情報を受信して、前記 複数の情報記憶ノード装置を示すノード情報の送信の要求を受けた場合には、前記 記憶手段を参照して、当該受信した要求情報の送信元のノード装置を示すノード情 報と対応付けられて!/ヽな ヽ前記情報記憶ノード装置を示す前記ノード情報のうち、前 記要求情報に含まれる前記識別情報に対応する前記情報記憶ノード装置を示す前 記ノード情報であって、前記要求情報に含まれる要求数情報で示される要求数分の ノード情報を検索するノード情報検索手段と、
前記検索の結果、前記要求数分以上の前記ノード情報が発見された場合には、前 記第 1のノード装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要求 数分の前記ノード情報が発見されなかった場合には、発見された前記ノード情報を 前記第 1のノード装置に送信するノード情報送信手段と、
前記第 2のノード装置自身が前記特定共用情報の管理元である管理ノード装置で な 、場合には、前記要求情報を前記第 2のノード装置と前記管理ノード装置の中間 に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合 には前記管理ノード装置に対して転送する転送手段と、を有し、
前記情報記憶ノード装置は、
前記第 1のノード装置から前記特定共用情報の配信要求を受けた場合には、前記 第 1のノード装置に対して前記特定共用情報を配信する配信手段と、
を有することを特徴とする情報配信システム。
ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムにおける情報配信方法であって、
前記複数のノード装置に含まれる第 2のノード装置が、前記複数のノード装置の何 れかのノード装置から、前記複数のノード装置間で共用されるべき共用情報に対応 する固有の識別情報をキーとするルーティングテーブルに従って送信された、前記 共用情報を記憶する前記情報記憶ノード装置を示すノード情報と、前記共用情報に 対応する固有の識別情報と、を受信して、当該送信元のノード装置を示すノード情報 と夫々対応付けて記憶する記憶工程と、
前記複数のノード装置に含まれる第 1のノード装置が、前記第 2のノード装置に対し て、前記複数のノード装置に含まれるノード装置であって、前記共用情報のうち特定 の共用情報である特定共用情報を記憶する複数の情報記憶ノード装置を示すノード 情報の送信を要求すベぐ前記特定共用情報に対応する固有の識別情報と、前記ノ ード情報の要求数を示す要求数情報と、に基づいて要求情報を生成する工程と、 前記第 1のノード装置が、前記生成した要求情報を前記特定共用情報に対応する 前記識別情報をキーとするルーティングテーブルに従って前記第 2のノード装置に 対して送信する工程と、
前記第 2のノード装置が、前記複数のノード装置の何れかのノード装置から前記要 求情報を受信して前記複数の情報記憶ノード装置を示すノード情報の送信の要求を 受けた場合には、前記記憶工程にて記憶したノード情報であって、かつ、当該受信 した要求情報の送信元のノード装置を示すノード情報と対応付けられて!/ヽな 、前記 情報記憶ノード装置を示す前記ノード情報のうち、前記要求情報に含まれる前記識 別情報に対応する前記情報記憶ノード装置を示す前記ノード情報であって、前記要 求情報に含まれる要求数情報で示される要求数分のノード情報を検索するノード情 報検索工程と、
前記第 2のノード装置が、前記ノード情報検索工程による検索の結果、前記要求数 分以上の前記ノード情報が発見された場合には、前記第 1のノード装置に少なくとも 前記要求数分の前記ノード情報を送信し、前記要求数分の前記ノード情報が発見さ れな力つた場合には、発見された前記ノード情報を前記第 1のノード装置に送信する ノード情報送信工程と、
前記第 2のノード装置が、当該第 2のノード装置自身が前記特定共用情報の管理 元である管理ノード装置でない場合には、前記要求情報を前記第 2のノード装置と前 記管理ノード装置の中間に介在するノード装置に対して、或!、は当該中間に介在す るノード装置が無い場合には前記管理ノード装置に対して転送する転送工程と、 前記第 1のノード装置が、前記第 2のノード装置から前記ノード情報を受信するノー ド情報受信工程と、
前記第 1のノード装置が、前記ノード情報に対応する前記情報記憶ノード装置に対 し、前記特定共用情報の配信を要求する配信要求工程と、
前記情報記憶ノード装置が、前記第 1のノード装置から前記特定共用情報の配信 要求を受けた場合には、前記第 1のノード装置に対して前記特定共用情報を配信す る配信工程と、
前記第 1のノード装置が、前記情報記憶ノード装置から配信された前記特定共用 情報を受信する特定共用情報受信工程と、
を有することを特徴とする情報配信方法。
ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムを構成する前記複数のノード装置に含まれる第 1のノード装置から、前記複数の ノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報 を記憶する複数の情報記憶ノード装置を示すノード情報の送信の要求を受ける前記 複数のノード装置に含まれる第 2のノード装置において、
前記複数のノード装置の何れかのノード装置から、前記共用情報に対応する前記 識別情報をキーとするルーティングテーブルに従って送信された、前記共用情報を 記憶する前記情報記憶ノード装置を示すノード情報と、前記共用情報に対応する固 有の識別情報と、を受信して、当該送信元のノード装置を示すノード情報と夫々対応 付けて記憶する記憶手段と、
前記複数のノード装置の何れかのノード装置から、前記特定共用情報に対応する 前記識別情報をキーとするルーティングテーブルに従って送信された、前記特定共 用情報に対応する固有の識別情報と、前記ノード情報の要求数を示す要求数情報 と、に基づいて生成された要求情報を受信して、前記複数の情報記憶ノード装置を 示すノード情報の送信の要求を受けた場合には、前記記憶手段を参照して、当該受 信した要求情報の送信元のノード装置を示すノード情報と対応付けられて 、な!/、前 記情報記憶ノード装置を示す前記ノード情報のうち、前記要求情報に含まれる前記 識別情報に対応する前記情報記憶ノード装置を示す前記ノード情報であって、前記 要求情報に含まれる要求数情報で示される要求数分のノード情報を検索するノード 情報検索手段と、
前記検索の結果、前記要求数分以上の前記ノード情報が発見された場合には、前 記第 1のノード装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要求 数分の前記ノード情報が発見されなかった場合には、発見された前記ノード情報を 前記第 1のノード装置に送信するノード情報送信手段と、
前記第 2のノード装置自身が前記特定共用情報の管理元である管理ノード装置で な 、場合には、前記要求情報を前記第 2のノード装置と前記管理ノード装置の中間 に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合 には前記管理ノード装置に対して転送する転送手段と、
を有することを特徴とする第 2のノード装置。
ネットワークを構築して互いに接続された複数のノード装置を備えた情報配信シス テムを構成する前記複数のノード装置に含まれる第 1のノード装置から、前記複数の ノード装置間で共用されるべき共用情報のうち特定の共用情報である特定共用情報 を記憶する複数の情報記憶ノード装置を示すノード情報の送信の要求を受ける前記 複数のノード装置に含まれる第 2のノード装置に含まれるコンピュータを、
前記複数のノード装置の何れかのノード装置から、前記共用情報に対応する前記 識別情報をキーとするルーティングテーブルに従って送信された、前記共用情報を 記憶する前記情報記憶ノード装置を示すノード情報と、前記共用情報に対応する固 有の識別情報と、を受信して、当該送信元のノード装置を示すノード情報と夫々対応 付けて記憶する記憶手段、
前記複数のノード装置の何れかのノード装置から、前記特定共用情報に対応する 前記識別情報をキーとするルーティングテーブルに従って送信された、前記特定共 用情報に対応する固有の識別情報と、前記ノード情報の要求数を示す要求数情報 と、に基づいて生成された要求情報を受信して、前記複数の情報記憶ノード装置を 示すノード情報の送信の要求を受けた場合には、前記記憶手段を参照して、当該受 信した要求情報の送信元のノード装置を示すノード情報と対応付けられて 、な!/、前 記情報記憶ノード装置を示す前記ノード情報のうち、前記要求情報に含まれる前記 識別情報に対応する前記情報記憶ノード装置を示す前記ノード情報であって、前記 要求情報に含まれる要求数情報で示される要求数分のノード情報を検索するノード 情報検索手段、
前記検索の結果、前記要求数分以上の前記ノード情報が発見された場合には、前 記第 1のノード装置に少なくとも前記要求数分の前記ノード情報を送信し、前記要求 数分の前記ノード情報が発見されなかった場合には、発見された前記ノード情報を 前記第 1のノード装置に送信するノード情報送信手段及び、
前記第 2のノード装置自身が前記特定共用情報の管理元である管理ノード装置で な 、場合には、前記要求情報を前記第 2のノード装置と前記管理ノード装置の中間 に介在するノード装置に対して、或いは当該中間に介在するノード装置が無い場合 には前記管理ノード装置に対して転送する転送手段として機能させることを特徴とす る転送プログラム。
PCT/JP2006/302038 2005-02-08 2006-02-07 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等 WO2006085519A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/890,473 US7839867B2 (en) 2005-02-08 2007-08-07 Information delivery system, delivery request program, transfer program, delivery program, and the like

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005-031795 2005-02-08
JP2005031795 2005-02-08
JP2006-019826 2006-01-27
JP2006019826A JP4599581B2 (ja) 2005-02-08 2006-01-27 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/890,473 Continuation-In-Part US7839867B2 (en) 2005-02-08 2007-08-07 Information delivery system, delivery request program, transfer program, delivery program, and the like

Publications (1)

Publication Number Publication Date
WO2006085519A1 true WO2006085519A1 (ja) 2006-08-17

Family

ID=36793091

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/302038 WO2006085519A1 (ja) 2005-02-08 2006-02-07 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等

Country Status (3)

Country Link
US (1) US7839867B2 (ja)
JP (1) JP4599581B2 (ja)
WO (1) WO2006085519A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236537A (ja) * 2007-03-22 2008-10-02 Brother Ind Ltd コンテンツ分散保存システム、連結コンテンツ作成装置、連結コンテンツ作成処理プログラム、及び連結コンテンツデータ提供方法
CN103034960A (zh) * 2012-11-23 2013-04-10 山东电力集团公司 一种对配电自动化系统数据的追踪方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4674504B2 (ja) * 2005-07-26 2011-04-20 ブラザー工業株式会社 管理装置、ノード装置、コンテンツ情報管理処理プログラム、確認要求処理プログラム、情報配信システム、及び情報配信方法
JP2007193626A (ja) * 2006-01-20 2007-08-02 Brother Ind Ltd コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラム
JP2007200203A (ja) * 2006-01-30 2007-08-09 Brother Ind Ltd 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
JP2007280303A (ja) * 2006-04-11 2007-10-25 Brother Ind Ltd 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP4830889B2 (ja) * 2007-02-15 2011-12-07 ブラザー工業株式会社 情報配信システム、情報配信方法及びノード装置等
JP5007624B2 (ja) * 2007-08-10 2012-08-22 ブラザー工業株式会社 コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
JP4867845B2 (ja) * 2007-08-10 2012-02-01 ブラザー工業株式会社 コンテンツ分散保存システム、コンテンツデータ取得方法、ノード装置、及びノード処理プログラム
CA2749170C (en) 2009-01-07 2016-06-21 Divx, Inc. Singular, collective and automated creation of a media guide for online content
JP5458629B2 (ja) * 2009-03-31 2014-04-02 ブラザー工業株式会社 ノード装置、ノード処理プログラム及び検索方法
EP2249550A1 (en) * 2009-05-04 2010-11-10 Thomson Licensing device and method for controlling dissemination of contents between peers having wireless communication capacities, depending on impatience reaction functions
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
JP5558318B2 (ja) * 2010-11-10 2014-07-23 日本無線株式会社 分散管理ネットワークシステム
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US20150189017A1 (en) * 2013-12-31 2015-07-02 Sonic Ip, Inc. Cooperative nodes in a content distribution network
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
JP6383338B2 (ja) * 2015-09-07 2018-08-29 日本電信電話株式会社 サーバ、データ一覧作成方法、および、データ一覧作成プログラム
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235583A (ja) * 1999-02-16 2000-08-29 Fujitsu Ltd 分散型検索システムのデータアクセス装置及びその方法
JP2004127168A (ja) * 2002-10-07 2004-04-22 Sony Corp 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096228B2 (en) * 2002-03-27 2006-08-22 Microsoft Corporation Method and system for managing data records on a computer network
JP2004021321A (ja) * 2002-06-12 2004-01-22 Sony Ericsson Mobilecommunications Japan Inc 辞書データ検索方法、辞書データ検索装置および辞書データ検索プログラム
US7304994B2 (en) * 2003-04-09 2007-12-04 Nec Laboratories America, Inc. Peer-to-peer system and method with prefix-based distributed hash table
US7539771B2 (en) * 2003-06-06 2009-05-26 Microsoft Corporation Organizational locality in prefix-based structured peer-to-peer overlays
US7555527B1 (en) * 2003-11-07 2009-06-30 Symantec Operating Corporation Efficiently linking storage object replicas in a computer network
US7313565B2 (en) * 2004-02-19 2007-12-25 Microsoft Corporation Data overlay, self-organized metadata overlay, and associated methods

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235583A (ja) * 1999-02-16 2000-08-29 Fujitsu Ltd 分散型検索システムのデータアクセス装置及びその方法
JP2004127168A (ja) * 2002-10-07 2004-04-22 Sony Corp 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム

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 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008236537A (ja) * 2007-03-22 2008-10-02 Brother Ind Ltd コンテンツ分散保存システム、連結コンテンツ作成装置、連結コンテンツ作成処理プログラム、及び連結コンテンツデータ提供方法
CN103034960A (zh) * 2012-11-23 2013-04-10 山东电力集团公司 一种对配电自动化系统数据的追踪方法

Also Published As

Publication number Publication date
US20070297422A1 (en) 2007-12-27
JP4599581B2 (ja) 2010-12-15
JP2006252532A (ja) 2006-09-21
US7839867B2 (en) 2010-11-23

Similar Documents

Publication Publication Date Title
JP4599581B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
JP4418897B2 (ja) 情報配信システム、情報更新プログラム、及び情報更新方法等
US8195764B2 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
JP4670604B2 (ja) 情報配信システム、情報処理装置、情報処理プログラム及び情報処理方法
US7882168B2 (en) Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded
JP4371056B2 (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
US20080235321A1 (en) Distributed contents storing system, copied data acquiring method, node device, and program processed in node
WO2007119413A1 (ja) 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP4670043B2 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
US8190779B2 (en) Information processing apparatus and storing apparatus, information processing method and storing method, and recording medium that promptly and efficiently distributes content
WO2007119418A1 (ja) 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
JP2007058597A (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
US8819295B2 (en) Information communication system, first information processing device, method for processing information, and computer readable storage medium
JP2006260430A (ja) ノード装置、ノード情報複製プログラム、複製用ノード情報記憶プログラム及びノード情報複製方法
JP5370269B2 (ja) 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
JP4635904B2 (ja) 登録装置、登録方法及び登録処理プログラム
WO2007074873A1 (ja) コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2010238161A (ja) ノード装置、ノード処理プログラム、情報通信システム及びコンテンツデータ管理方法
US8315979B2 (en) Node device, information communication system, method for retrieving content data, and computer readable medium
JP5434268B2 (ja) 分散保存システム、データファイル分散保存方法及びプログラム
JP5287059B2 (ja) ノード装置、ノード処理プログラム及び保存指示方法
JP2009020669A (ja) コンテンツ分散保存システム、コンテンツデータ保存方法、稼働率管理装置、及びノード装置等
JP2010238160A (ja) ノード装置、ノード処理プログラム及びコンテンツデータ保存方法

Legal Events

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

Ref document number: 11890473

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06713181

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 6713181

Country of ref document: EP