WO2007083531A1 - コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体 - Google Patents

コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体 Download PDF

Info

Publication number
WO2007083531A1
WO2007083531A1 PCT/JP2007/050043 JP2007050043W WO2007083531A1 WO 2007083531 A1 WO2007083531 A1 WO 2007083531A1 JP 2007050043 W JP2007050043 W JP 2007050043W WO 2007083531 A1 WO2007083531 A1 WO 2007083531A1
Authority
WO
WIPO (PCT)
Prior art keywords
node device
information
content
content data
message
Prior art date
Application number
PCT/JP2007/050043
Other languages
English (en)
French (fr)
Inventor
Yasushi Yanagihara
Hiroaki Suzuki
Original Assignee
Brother Kogyo Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Kogyo Kabushiki Kaisha filed Critical Brother Kogyo Kabushiki Kaisha
Publication of WO2007083531A1 publication Critical patent/WO2007083531A1/ja
Priority to US12/219,067 priority Critical patent/US7882168B2/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
    • 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 belongs to the technical field of content distribution, and more specifically, a content distribution system including a plurality of node devices distributed and arranged on a network and transmitting / receiving content data between these node devices,
  • the present invention relates to a node device, an information processing method thereof, and a recording medium on which the program is recorded.
  • This server-client type distribution system is configured to receive content distribution by accessing the server that stores the content by using the terminal device as a client.
  • each node device as a terminal device does not recognize link information (for example, IP address) to all node devices participating in the overlay network. Only the link information to some node devices obtained in the above is retained, and data inquiries are made based on the strong link information. ing.
  • link information for example, IP address
  • Non-Patent Document 1 "Lightweight load balancing method for distributed hash table" The Institute of Electronics, Information and Communication Engineers IEICE Technical Report IN2003— 189, February 2004
  • each node device is a content distribution server that holds content data, and each node device is a content distribution server. It becomes a distribution request client.
  • a node device that holds a copy of the content data is also referred to as a content holding node device.
  • a node device which is a content distribution request client (hereinafter referred to as a “request node device”) can obtain the requested content as well as such content holding node device capability. Therefore, when a distribution request for a certain content increases, the content distribution server can distribute the content from the node device that holds the copy only by the node device that is the content distribution server. Concentration of access to a certain node device can be avoided.
  • the content distribution server and the content holding node device are referred to.
  • a node device (hereinafter referred to as a "root node device") that stores location information of a plurality of content holding node devices is determined.
  • the request node device obtains index information by requesting the location information of the content holding node device holding the requested content (hereinafter referred to as “index information”) from the root node device, and acquires this index information. Information Based on this, the content data distribution request is sent to the content holding node device.
  • the node device determined as the root node device is a device having severe storage capacity such as a set top box, there is a limit to the index information that can be stored. The problem is particularly great when it becomes a root node device for popular content.
  • the number of content holding node devices that can be introduced simultaneously for accesses of a large number of request node devices is limited. It will respond in the form of "wait”. If this happens, it will cause discomfort to the user of the request node device. In other words, if the number of location information of content holding node devices that can be stored is limited, there is a problem that sufficient content holding node devices cannot be introduced in response to a content distribution request.
  • the present invention has been made in view of the above inconveniences, and is stored as a set-top box or the like in a P2P type content distribution system having a plurality of node devices distributed on a network. It is an object to provide a content distribution system and method that can function as a root node device even if the node device has a small capacity.
  • a content distribution system comprising a plurality of node devices distributed on a network and transmitting / receiving content data between the node devices.
  • a routing table storage means for storing a routing table in which identification information and location information of some of the plurality of node devices are associated with each other, and via the network
  • a message destination determination means for determining whether or not the received message is addressed to its own node device; When it is determined that the message received via the destination node device is not addressed to the own node device, the routing table power is extracted from the location information of the destination node device based on the destination identification information of the received message.
  • Message transfer means for transferring the received message to the transfer destination node device, and first location information which is location information of a managed content holding node device holding managed content data in the own node device is stored.
  • Holds management information storage area and location information of the managed content holding node device A source information storage means having an extended management information storage area for storing second position information, which is position information of the node device, and a message received via the network by the message destination judgment means is a local node.
  • Distribution source information selection for selecting either the first position information or the second position information from the distribution source information storage means when it is determined that the request is for the device and the content data distribution source information is transmitted.
  • Content data delivery that returns the first location information via the network to the node device that requested the content data delivery source information when the first location information is selected by the distribution source information selection unit.
  • the container is sent to the node device of the second location information.
  • the transmission requests Tsudeta distribution source information, and a content distribution system including a content data distribution source information transmission request transfer means for transferring via the network.
  • the information storage area of another node device can be used, and even a zone device with a small storage capacity such as a set-top box can function as a root node device. be able to.
  • the location information of the managed content holding node device to be newly stored is generated, it is selected whether or not the location information of the managed content holding node device is to be held in the distribution source information storage device.
  • the location information management means stores the location information of the managed content holding node device in the management information storage area when the location information management means selects the retention to the distribution source information storage means.
  • Distribution source information storage When holding to the means is not selected, a request for holding managed content data distribution source information including location information of the managed content holding node device is transmitted to another node device via the network, and The location information of other node devices may be stored in the extended management information storage area.
  • the location information of the managed content holding node device can be stored in the information storage area of another node device, and the storage capacity can be increased like a set top box or the like. Even a small node device can function as a root node device.
  • content data distribution source information receiving means for receiving a registration request for content data distribution source information including location information of the management target content holding node device from the management target content holding node device via the network.
  • the location information management means has received location information of a managed content holding node device to be newly stored when the content data delivery source information receiving means receives a registration request for content data delivery source information. You can make a decision!
  • the managed content holding node It is possible to manage the position information of the device.
  • the node device that transmits the management content data distribution source information retention request is randomly selected. Let's decide.
  • the location information management means generates location information of a managed content holding node device to be newly stored in a state where a predetermined number of the first location information is stored in the management information storage area. In this case, the location information of the managed content holding node device is not selected to be held in the distribution source information storage unit.
  • the managed content holding node is stored in the information storage area of another node device.
  • the position information of the card device can be stored.
  • the location information management means When the location information management means receives a request for transmission of the content data distribution source information addressed to its own node device by the message destination determination means at a first predetermined amount or more per unit time, the location information management means Do not select to retain the location information of the content holding node device in the distribution source information storage means.
  • the distribution source information storage means includes a non-management information storage area for storing third position information that is position information of the managed content holding node device transferred from the external node device, and an external node
  • the device information has an extended non-management information storage area for storing fourth position information that is the position information of the node device that holds the transferred position information of the managed content holding node device.
  • the management means determines that a predetermined number or more of the third position information is stored in the non-management information storage area when the management content data distribution source information holding request is received via the network. And a request for holding the managed content data distribution source information is further transferred, and the position information of the other node device is stored in the extended unmanaged storage area as the fourth position information. Characterized in that it ⁇ .
  • the location information management means does not receive a request for transmission of the content data distribution source information addressed to its own node device by the message destination determination means over a second predetermined amount per unit time! At least one of the second location information stored in the extended management information storage area is deleted, and a request to cancel the retention of the content data distribution source information is sent to the node device corresponding to the deleted second location information. If you do, [0030] With this configuration, even if the location information of the managed content holding node device is stored in the information storage area of another node device, the content from the request node device is stored. If there are few requests for transmission of the data distribution source information, the position information stored in the information storage area of the other node device can be deleted.
  • the number of content data distribution source information transmission requests is the number that can be handled in the management information storage area of its own root node device, the information stored in the information storage area of the other node device is deleted. By doing so, it is possible to prevent unnecessary information from being stored in other node devices, and thus the storage area can be used effectively.
  • the transmission request issuance is issued.
  • An arrival time determining means for determining whether the difference between the time and the time at which the transmission request is received is a value less than a predetermined value; and the difference is less than the predetermined value by the arrival time determining means.
  • the transmission request is transferred to the node device having the second location information stored in the extended management information storage area, and the arrival time determination means determines that the difference is a value equal to or greater than the predetermined value.
  • the first location information stored in the management information storage area may be provided with location information return means for returning the first location information to the node device that has transmitted the transmission request! ⁇ .
  • management information ratio changing means for changing a ratio of position information stored in the management information storage area and the extended management information storage area may be provided!
  • the management information ratio changing means receives a request for transmission of the content data distribution source information addressed to its own node device when the message destination determination means receives a third or more fixed amount per unit time.
  • the ratio of the position information may be changed to increase the second position information stored in the extended management information storage area.
  • the node device includes: Routing table storage means for storing a routing table in which identification information and position information of some of the plurality of node devices are associated with each other, and management target content holding for holding content data to be managed in the own node device A management information storage area that stores first position information that is position information of a node device, and an extension that stores second position information that is position information of a node device that holds position information of the content holding node device to be managed.
  • a distribution source information storage means having a management information storage area, Based on destination identification information of a message received via a network and the routing table, a message destination determination step for determining whether or not the received message is addressed to the own node device; and via the network If it is determined that the received message is not addressed to its own node device, the location information of the transfer destination node device is extracted from the routing table based on the destination identification information of the received message, and sent to the transfer destination node device.
  • a message transfer step for transferring the received message; and if it is determined that the message received via the network is addressed to its own node device and is a transmission request for content data distribution source information, the distribution source information First position information and second A distribution source information selection step for selecting whether the position information is!
  • a node device having a small storage capacity such as a set top box can be used as a root node device. it can.
  • FIG. 1 is a diagram showing an example of a connection mode of each node device in the 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 is an example of a routing table of the node device according to the present embodiment.
  • FIG. 5 is a diagram showing an example of a state in which the node device 1 that is the content data holding source is searched by the DHT.
  • FIG. 6 A diagram showing how a content holding node registration message is transferred in the form of a spanning tree.
  • FIG. 7 is an example of an index table of the node device according to the present embodiment.
  • FIG. 8 An example in which an index is extended to an external node device.
  • FIG. 9 is a diagram showing an example of a state of index expansion operation.
  • FIG. 10 is a diagram showing an example of a content holding node device addition operation.
  • FIG. 11 is a diagram showing another example of the content holding node device addition operation.
  • FIG. 12 is a diagram showing an example of an operation state of deleting an extended index.
  • FIG. 13 is a diagram illustrating an example of a response to a content search message.
  • FIG. 14 is a diagram showing a schematic configuration example of a node device in the present embodiment.
  • FIG. 15 is a flowchart showing main processing in the node device.
  • FIG. 16 is a flowchart showing message processing in the node device.
  • FIG. 17 is a flowchart showing content holding node device addition processing in the node device.
  • FIG. 18 is a flowchart showing index expansion processing in the node device.
  • FIG. 1 is a diagram illustrating an example of a connection mode of each node device in the content distribution system according to the present embodiment.
  • This content distribution system is also configured with a plurality of node device power distributed on the network, and transmits and receives content data between the node devices.
  • IX Internet eXchange
  • ISP Internet Service Provider
  • DSL Digital Subscriber Line
  • FTTH Fiber To A network (real-world network) 8
  • communication line eg, telephone line, optical cable, etc.
  • RADSL Rate Adaptive Asymmetric Digital Subscriber Line
  • the content distribution system S includes a plurality of node devices la, lb, lc --- lx, ly, 1 ⁇ ,.
  • This is a peer-to-peer ( ⁇ 2 ⁇ ) network system.
  • Each node device la, 1 b, lc---lx, ly, 1 ⁇ ... Has a unique serial number (for example, MAC address) and IP (Internet Protocol) address (invention of the present invention) as information indicating the node device. Location information) is assigned.
  • the serial number and IP address are not duplicated among multiple node devices 1.
  • the node device 1 when any one of the node devices la, lb, lc---lx, 1 y, 1 ⁇ ... Is indicated, it may be referred to as the node device 1 for convenience.
  • DHT distributed Hash Table
  • each node device 1 participating in the network 8 it is simple for each node device 1 participating in the network 8 to know the IP addresses of all the node devices 1 participating in the network 8. If the number of node devices 1 is tens of thousands and hundreds of thousands, it is not practical to remember the IP addresses of all the node devices 1. If the power of any node device 1 is frequently turned ON or OFF, the IP address of the arbitrary node device 1 stored in each node device 1 is frequently updated, which makes operation difficult. .
  • this overlay network 9 means a network constituting a virtual link formed by using the existing network 8.
  • the overlay network 9 is constructed by an algorithm using DHT, and the node device 1 arranged on the overlay network 9 participates in the content distribution system S (in other words, in other words). Node device 1 participating in overlay network 9). Participation in the content distribution system S is performed by sending a participation request to any node device 1 that has already participated.
  • the node ID of each node device 1 is a unique value for each node device 1 such as the IP address or serial number of each node device 1, and a common node function (hash algorithm). ) Is a hash value obtained by hashing and is distributed evenly in one ID space. Thus, the node IDs obtained by hashing with a common hash function have a very low probability of being the same value if the IP address or serial number is different. Since the Noh and Shush functions are known, a detailed description is omitted.
  • the IP address global IP address
  • a value obtained by hashing with a hash function is used as a node ID.
  • the plurality of node devices 1 participating in the content distribution system S include content data (for example, music data) as shared information distributed from one node device 1 to another node device 1. , Movie data, document data, etc.) are distributed and stored, but the content data is also given a unique identification number (hereinafter referred to as “content ID”) for each content data. .
  • content ID a unique identification number
  • the content ID has the same length as the node ID (for example, 128 bits).
  • keywords such as content name (content title) and content summary information (summary) are hashed using the same hash function as when obtaining the above node ID (that is, the IP address of node device 1).
  • Node device 1 located in the same ID space as the hash value) and having the node ID closest to the hash value (for example, the higher-order digits match more) is connected to node device 1 (hereinafter referred to as “ This is called “content holding node device.”
  • the link information to) that is, the IP address that is the location information of the content holding node device is held.
  • This content holding node device is determined under a certain rule (for example, under a rule that the root node device randomly selects). Thereby, the content data is distributed and arranged on the content distribution system S without any bias. It should be noted that even if the content data is different, the power that can be assumed to be the same keyword (for example, the name of the content). In this case, the hash value is the same to avoid this.
  • the keyword 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 author name).
  • each node device 1 and each content data are generated by a common hash function, they are placed on the same ring-shaped ID space as shown in FIG. You can think of it as being scattered without being biased.
  • This figure shows a node ID and content ID assigned in 32 bits. In the figure, circles indicate node IDs, squares indicate content IDs, and IDs increase counterclockwise.
  • the rule is that “the node device 1 that manages content data having a certain content ID is the node device 1 having a node ID close to that content ID”.
  • the definition of “close” does not exceed the content ID, and the difference between the content ID and the node ID is the smallest.
  • each node device manages each content data 1 When assigning to, it should be consistent. In the example shown in FIG.
  • the content IDa is managed by the node device 1 having a node ID close to the content IDa (hereinafter referred to as “node &”), and the content IDb is Concerned Managed by the node device 1 having a node ID close to the content IDb (hereinafter referred to as “node IDb”), the content IDc has a node ID close to the content IDc (hereinafter referred to as “node IDc”). Managed by node equipment 1.
  • management here does not mean that content data is held, but “knows which node device 1 holds the content data,” That means. That is, in FIG. 2, the node device 1 having the node IDa knows which node device 1 holds the content data having the content IDa !, and the node device 1 and the node having the node IDb Similarly, the node device 1 having the IDc knows which node device 1 holds the content data having the content IDb and the content data having the content IDc! / ,, t ⁇ , It will be. Thus, the node device 1 that knows which node device 1 holds certain content data is called the root node device of the content data.
  • the node device 1 having the node IDa is the root node device of the content data having the content IDa
  • the node device 1 having the node IDb is the root node device of the content data having the content IDb
  • the node IDc Is a root node device for content data having content ID c.
  • the content distribution system S has a function of distributing content data to the root node device so that the node device in the content distribution system S is a content holding node device, and a node device by generating a catalog list.
  • a content management device 10 having a function to provide to is provided.
  • FIG. Figure 3 shows an example of how the routing table is created by the DHT.
  • the ID space as shown in FIG. 3 (a) is divided into several areas. Actually, about 16 divisions are often used, but in order to simplify the explanation, here, 4 divisions are used, and the ID is represented by a quaternary number having a bit length of 8 bits.
  • An example in which the node ID of the node device 1N is “1133” and the routing table of the node device 1N is created will be described. [0062] (Level 1 routing)
  • each area has a different maximum digit when expressed in quaternary numbers. Natural number, and so on.
  • the node ID of the node device 1N itself is “1133”
  • the node device 1N exists in the lower left “1XXX” area in FIG.
  • Node device 1N exists in an area other than its own area (ie, “1XXX” area) (ie, “0XXX” area, “2XXX” area, “3XXX” area).
  • the node device 1 to be selected is appropriately selected, and the position information of the node ID, that is, the IP address of the node ID is stored in the level 1 table.
  • Figure 4 shows an example of a level 1 table.
  • the area "1XXX” where the user exists is further divided into four, and further four areas "10XX”, “11XX”, and "12XX” , “13XX”.
  • the node device 1 existing in the area other than the area “llxx” in which it exists is appropriately selected, and the IP address that is the location information of the node ID is stored in the level 2 table.
  • Figure 4 shows an example of a level 2 table.
  • “1003” is selected as the node ID for the “10XX” area
  • “1221” is selected as the node ID for the “12XX” area
  • “1313” is selected as the node ID for the “13XX” area. It shows the state that has been done.
  • the second column of level 2 is the area “11XX” where the node device 1N exists, and since it is tabulated at level 3 to be described later, no IP address is stored. If there are no node devices in the above area, the node ID and IP address fields are blank.
  • the area “1 1XX” where the user exists is further divided into four, and further divided into four areas “110X”, “111X”, “112X”, and “113X”.
  • the node device 1 existing in an area other than the area “113X” in which it exists is appropriately selected, and the IP address which is the location information of the node ID is stored in the level 3 table.
  • Figure 4 is an example of a level 3 table.
  • the fourth column of level 3 is the area where node device 1N exists, and since it is tabulated at level 4 to be described later, the IP address is not stored. If there is no node device in the above area, the node ID and IP address fields are blank.
  • the routing table created according to the method described above is created and owned by all the node devices 1 respectively.
  • each node device 1 has a routing table that associates node IDs (identification information) and IP addresses (location information) of some of the node devices 1 among the plurality of node devices 1 in the content distribution system S.
  • the routing table is stored in a routing table storage means described later.
  • FIG. 5 is a diagram showing an example of a state in which the node device 1 holding content data is searched by the DHT.
  • node device 1N having node ID “1133” searches for content data having content ID “3020”
  • request node device a node device that searches for content data and requests reception of content data
  • the request node device IN refers to the level 1 table of the routing table held by itself, and uses the node ID of the node device having the same node ID as the content ID “3020” as destination identification information.
  • a transmission request (hereinafter referred to as “content search message”) of content data distribution source information (information including location information of the content holding node device) is transmitted. That is, since the content ID “3020” is an area of “3XXX”, the node device 1 belonging to the area of “3XXX” knows the IP address (that is, own A content search message is transmitted to node device 1 A (node ID “3213”) whose IP address is stored in the routing table held by itself. In this way, the content search message includes a content ID that is unique identification information corresponding to the content, and this content ID is used as destination identification information in the content search message.
  • the request node device 1N since the IP address of the node device 1A having the node ID “3213” is stored in the routing table (see FIG. 4) of the request node device 1N, the request node device 1N transmits a content search message to node device 1A whose node ID is “3213”.
  • the node device 1A that has received the content search message determines whether or not the content search message is a message addressed to its own node device 1A. Whether the message is a message addressed to the own node device 1 A is determined based on the destination identification information and the routing table. Specifically, it is determined whether or not the destination identification information is close to the identification information of the own node device 1A. That is, the destination device identification information stored in the routing table held by the node device 1A itself is stored in the routing information stored in the node device 1A itself. It is determined whether it is a node device.
  • the node device 1A is the routing standard held by the node device 1A itself.
  • the content search message is transferred to node device 1B (node ID “3031”) that knows the IP address among node devices 1 that belong to the “30XX” area. .
  • the transfer of the content search message proceeds in the manner of adapting the digit of the content ID in the order of the strength, and finally the node device 1C that manages the content data, that is, the root node device.
  • the root node device Upon arrival, the root node device searches for the content ID “3020” included in the content search message in the index information managed later by itself and owns the content data.
  • the Ip address of the content holding node device is returned to the request node device 1N.
  • the transfer mechanism is called DHT routing.
  • the request node device 1N receives the location information of the content data with the content ID "3020" from the root node device 1C, that is, the IP of the content holding node device that holds the content data with the content ID "3020".
  • the address is received and known, and the content data is downloaded and acquired from the content holding node device.
  • the content management device 10 transmits content data of the managed content for each root node device to each root node device. To do.
  • the root node device that has received the managed content data from the content management device 10 stores the received content data in the second storage unit 104 described later. Thereafter, the node ID of the node device that should hold the content data is determined, and the node device having the node ID is requested to hold the content data.
  • the node device that has received the content data holding request holds the content data sent together with the content data holding request and functions as a content holding node device.
  • the node device that has received the content data holding request sends a content data distribution source information registration message (hereinafter referred to as “registration”) to the root node device as the content holding node device, which includes the IP address that is the location information of the own node device. Send a message.)
  • the root node device acquires an IP address that is position information of the content holding node device included in the registration message transmitted from the content holding node device, and an index table 120 (described as an example of a distribution source information storage unit) described later. Registered).
  • the IP address which is the location information of the content holding node device
  • the content registered in the index table for the content search message having the power of the request node device thereafter.
  • the position information of the holding node device is returned to the request node device.
  • the content distributed by the content management device is registered in the content holding node device, and the content can be searched via the root node device, so that the content is disclosed to other node devices 1. .
  • the root node device does not determine the node device that should be the content holding node device and distributes the managed content data.
  • the content management device 10 is connected to the content holding node device as follows. The node device to be determined may be determined and the managed content data may be distributed. Then, the content holding node device to which the content data is distributed directs the registration message toward the node device having the same node ID as the content ID obtained from the content title or the like (the power that this node device actually exists). No, there is no help at this point.) This registration message is also successively transferred according to the routing table in the same manner as the content search message, and is transferred to the node device 1 having the node ID closest to the content ID included in the registration message.
  • the node device 1 determines that there is no other destination node device, it determines that the node device 1 itself should be the root node device of the content, and as shown in FIG.
  • Content data distribution source information contained in the content ID, IP address of the content holding node device, and auxiliary information is stored in the index table 120 as index information.
  • the index table 120 is a table for storing content data distribution source information including an IP address or the like that is location information (location information) of the content holding node device. It functions as information storage means.
  • the content holding node device's IP address is the time required to stream the content ID and the content data corresponding to the content ID (unit: seconds; hereinafter referred to as “streaming time”).
  • streaming time the time when the content holding node device was introduced is stored as content data distribution source information for each row (predetermined storage area). Note that auxiliary information is omitted here.
  • the index table 120 includes the index table as attribute information.
  • the flag indicating whether the content data distribution source information is directly stored in the table 120 or whether the index table 120 is extended to another node device hereinafter referred to as “external node device”.
  • external node device another node device
  • flag information indicating whether content data distribution source information is stored directly or in an external node is stored for each line. It is assumed that the index table 120 shown in FIG. 7 is included in the node device 1C having the node ID “3011” in FIG. That is, the index table 120 of the root node device 1C of the content data having the content ID “3020”.
  • the position information A of the content data held by itself (see (A) in FIG. 7), that is, the content holding node device that holds the managed content data 1 (hereinafter referred to as “managed content holding node device”) has a management information storage area for storing first location information A which is location information.
  • the content ID is “3020”.
  • the location information B of the managed content held by the external node device (see (B) in FIG. 7), that is, the second location information that is the location information of the node device that holds the location information of the managed content holding node device. It has an extended management information storage area for storing information B.
  • the content ID is “3020” because it is a storage area for content managed by the root node device.
  • information indicating rDirectj as a flag (information indicating that the own root node device stores the location information of the managed content holding node device) is contained in the second location information B. Is stored in the index table 120 in association with information indicating “Ext enS i 0 n” as a flag (information indicating that the external node device stores the location information of the managed content holding node device).
  • the index table 120 includes content data that is not a management target of the own root node device 1C and that is entrusted to the external node device (hereinafter, "unmanaged content data"). Here, it is assumed that the content has content IDs “2110” and “0130”.) Position information C (see (C) in FIG. 7), that is, non-transferred from the external node device 1. Location information of content holding node device holding managed content data (hereinafter referred to as “non-managed content holding node device”) And a non-management information storage area for storing the third position information C.
  • the position information D of the other external node device when the own root node device 1C holds the position information of the non-managed content holding node device to which the external node device power has been entrusted to another external node device Fig. 7 (see (D)), that is, a node that further transfers the position information of the unmanaged content holding node device transferred from the external node device 1 and holds the position information of the unmanaged content holding node device. It has an extended non-management information storage area for storing the fourth position information D, which is the position information of the device.
  • FIG. 8 is a diagram showing an example of the relationship between the index table of the root node device and the index table of the external node device.
  • the index table 120D of the root node device 1D is associated with the index tables 120E to 1201 of the plurality of external node devices 1E to II! That is, the index table 120D of the root node device 1D stores the location information of the external node device 1E and the external node device 1F as the second location information B, while the external node device 1E and the external node.
  • the device 1F expands the position information of the content holding node device (content management node device that is not managed as viewed from the external node device 1E and the external node device 1F) that holds the content data that is the managed content of the root node device 1D.
  • the third position information C is stored in the extension management information storage area.
  • the root node device 1D manages the capacity of the management information storage area for storing the location information of the managed content holding node device, even if it is managed in the index table of the external node device IE, 1F, etc.
  • the location information of the target content holding node device can be stored.
  • the index table 120F of the external node device 1F stores the location information of the external node device 1G and the external node 1H as the fourth location information D, while the external node device 1G and the external node 1H. Extends the location information of the unmanaged content holding node device that holds the content data that is the managed content of the root node device 1D. It is stored as third position information C in the management information storage area. Therefore, the external node device 1F has a small capacity for the non-management information storage area for storing the location information of the content holding node device. The location information of the managed content holding node device can be stored.
  • the node device 1 As described above, the node device 1 according to the present embodiment is provided with the area for storing the first position information to the fourth position information, and thereby the index table of the root node device 1D, the external node device 1E, and the like. Even if the capacity cannot be increased, it is possible to return the increasing location information of the content holding node device to the request node device.
  • the root node device 1D has the management target content holding node device to store. Select whether to store the location information in the index table 120D of the root node device 1D.
  • the root node device 1D When the root node device 1D has selected to hold the location information of the managed content holding node device in the index table 120D of its own root node device 1D, the content data received by the managed content holding node device The location information of the managed content holding node device included in the distribution source information is fe as the first location information in the management storage area. .
  • the root node device 1D selects to hold the position information of the managed content holding node device in the index table 120D of the own root node device 1D, that is, the index table of the external node device. Is selected to hold the location information of the managed content holding node device, the node device 1F having the index table 120F is selected as another node device, and an index expansion request message is transmitted to the node device 1F. When a positive response is returned from the node device 1F to this index expansion request message, the distribution source information including the location information and content ID of the managed content holding node device is sent to the node device 1F.
  • the location information of the external node device 1F is stored in the extended management storage area as the second location information B.
  • the root node device 1D is an external node device. Indicate that the location information of the managed content holding node device is selected in the IF index table.
  • the node device 1F When the node device 1F receives the index expansion request message transmitted from the root node device 1D, the node device 1F stores the unmanaged content data distribution source information in the node device 1F in the index table 120F of the node device 1F. Select whether or not to force. When it is selected to store in the index table 120F of its own node device 1F, an acknowledgment response is returned in response to the index extension request message transmitted from the root node device 1D, and then the root node device 1D is transmitted. The location information of the unmanaged target content holding node device is stored as third location information in the unmanaged storage area.
  • the node device 1F transfers the received index extension request message to the node device 1H.
  • the node device 1F receives a positive response to the transferred index extension request message
  • the node device 1F receives the received index extension request message. Is transmitted to the root node device 1D, and then the distribution source information addition message transmitted from the root node device 1D is transferred to the external node device 1H. Further, the location information of the external node device 1H is stored in the extended unmanaged storage area as the fourth location information.
  • the node device 1F indicates that the index table 120H of the other external node device 1H selects to hold the position information of the non-management target content holding node device.
  • the node device 1H Upon receiving the index expansion request message transmitted from the external node device 1F, the node device 1H stores the unmanaged content data distribution source information in the index table 120H of the node device 1H. Select whether or not. When it is selected to store in the index table 120H of its own node device 1H, the node device 1F is acknowledged to the received index expansion request message, and then the unmanaged content holding node transmitted from the node device The device position information is stored as third position information in the unmanaged storage area.
  • Node device 1H transfers the received index extension request message to node device II, and in response to the transferred index extension request message, the corresponding node
  • a positive response is received from device II
  • a positive response to the received index extension request message is sent to root node device 1F
  • a distribution source information addition message is also sent to external node device II that also sends root node device 1F power.
  • the location information of the external node device II is stored in the extended unmanaged storage area as the fourth location information.
  • FIG. 8 it is shown that the node device 1H selects to hold the location information of the unmanaged content holding node device in the index table 120H of the other external node device II.
  • the node device II Upon receiving the index extension request message transmitted from the external node device 1H, the node device II has the ability to store the unmanaged content data distribution source information in the index table 1201 of the own node device II. Choose whether or not. When it is selected to store in the index table 1201 of its own node device II, the node device 1H is acknowledged to the received index extension request message, and then the node device 1H is used to hold the unmanaged content to be transmitted. The position information of the node device is stored as third position information in the unmanaged storage area. FIG. 8 shows that the node device II has selected to hold the position information of the unmanaged content holding node device in the index table 1201 of the own node device II.
  • each node device 1 in the present embodiment is provided with an area for storing the first position information to the fourth position information as an index table, and the node device 1 is included in the index table of the own node device 1.
  • the location information of the content holding node device can be stored, or the location information of the content holding node device can be stored in the index table of another node device 1.
  • the location information of the managed content holding node device to be newly stored is generated in the node device 1, the location information of the managed content holding node device is used as the index of the own root node device.
  • the selection of whether or not to store in the table 120 is determined as follows, for example.
  • the root node device is described as the root node device 1D.
  • Position information of a content holding node device to be newly stored in a state where less than a predetermined number (for example, 13 in FIG. 7) of first position information A is stored in the management information storage area When this occurs, it is selected to be stored in the index table 120D of its own root node device 1D.
  • position information of a content holding node device to be newly stored is generated in a state where a predetermined number of pieces of first position information A are stored in the management information storage area, the position information of the content holding node device is transferred to the own root node. Select not to be recorded in index table 120D of device 1D. That is, after the location information of the managed content holding node device is stored in a predetermined number, the location information of the managed content holding node device is stored in the index table 120 of another node device. In this way, the position information of the managed content holding node device can be stored using the index table of the external node device.
  • a managed content holding node to be newly stored Select not to store the device location information in the index table 120D of the root node device 1D.
  • the root node device 1D receives the location information of this content holding node device. Determine the external node device that holds The determination of the external node device that holds the location information of the content holding node device is performed by calculating and outputting a random node ID. Then, an index extension request message is transmitted with the node ID determined in this way as destination identification information.
  • FIG. 9 shows the management target content storage to be newly stored by the root node device 1D having the node ID “0010”.
  • the neighborhood of the root node device in which the node device 1 having the randomly determined node ID is not the external node device is used.
  • the node device 1 may be determined as the external node device.
  • the “neighboring node device” means a node device that has a node ID close to the root node device and DHT routing, or a node device close to the root node device in the physical network. To do.
  • a neighboring node device is a node device close to the root node device in the physical network
  • the content search message can be transferred to the external node device in a short time.
  • close to the physical network means that the message arrival time from the root node device is short, or the number of pops from the root node device (number via the router) is small.
  • the root node device selects the closest node device among a plurality of node devices having node IDs calculated at random, and sets the node device as an external node device.
  • a state monitoring server that centrally monitors the state of the node device 1 participating in the content distribution system S A device (for example, the content management device 10 may have the function) is arranged, and the state monitoring server device also determines the external node device by notifying the external node device. Also good.
  • the external node device is determined at random, and the node device autonomously operates the external node device. So that you can decide.
  • the root node device after the root node device transmits an index extension request message to the external node device and obtains an acknowledgment, the root node device directly performs various operations on the external node device. Can be requested.
  • the root node device can send a distribution source information addition request message, a distribution source information deletion request message, a distribution source information acquisition request message, etc. to the external node device. These request messages will be specifically described below.
  • the distribution source information addition request message is a message for requesting addition of content data distribution source information to the external node device.
  • Tu 0.8
  • Tu (number of content search messages for one streaming time) / (number of position information stored in the management information storage area).
  • the root node device (here, the node device having the node ID “0010”) is appropriate among the node IDs of the node devices that are not currently content holding node devices ( For example, a random node ID is calculated, and content data managed by the own node device is transmitted to the node device having the node ID.
  • the node device that has received the content data also stores the content data and transmits a registration message to the root node device as a content holding node device.
  • the root node device receives the registration message and receives the registration message.
  • the location information of the content holding node device included in the registration message is stored in the management information storage area as the first location information.
  • the root node device does not generate a content holding node device by transmitting content data, but requests the content management device 10 to generate a content holding node device. May be.
  • the root node device makes a content holding node device generation request to the content management device 10.
  • the content management device 10 calculates an appropriate (for example, random) node ID among node IDs of node devices that are not currently content holding node devices. Then, the content data requested by the root node device is transmitted to the node device having the node ID.
  • the node device that has received the content data stores the content data and stores the content data.
  • a registration message is transmitted to the root node device, the root node device receives the registration message, and manages the location information of the managed content holding node device included in the registration message as the first location information.
  • the root node device receives the registration message, and manages the location information of the managed content holding node device included in the registration message as the first location information.
  • the management information storage area in the root node device is full (in Fig. 7, 13 pieces of first location information)
  • the management is performed for the external node device that generated the extended index last time.
  • Content data distribution source information including the location information of the target content holding node device is added.
  • the content distribution source addition request message that does not use DHT routing is sent directly to the external node device.
  • the reason why the information can be transmitted directly to the external node device is that the location information of the external node device is determined by the above-described index extension request message. If the non-managed storage information area of the non-managed content is full for the external node device that holds this extended index, this external node device power and the index for another external node device are stored. Processing to expand the table is performed.
  • the external node device When the external node device receives the content distribution source addition request message, the external node device adds the distribution source information as the third position information to the extended management information storage area. However, when the third location information in the extended management information storage area is full, the extended index is set for another external node device in order not to hold it in the own node device.
  • the distribution source information deletion request message is a message for requesting the external node device to delete the expanded content data distribution source information.
  • T1 a certain threshold
  • the second position information ⁇ is stored in the extended management information storage area of the index table 120.
  • the content data distribution source information stored in the management information storage area is deleted.
  • Delete one the content data distribution source information stored in the management information storage area.
  • this extended management information storage is stored. Delete the content data distribution source information stored in the storage area with priority.
  • threshold ⁇ (number of content search messages for one streaming time)
  • Z number of position information stored in the management information storage area).
  • the second position information of the index table 120D includes the position information power of the external node device 1E and the external node device 1F.
  • Index table 120F The position information of the external node device 1G and the external node device 1H is stored in the fourth position information D of the first node, and the position information of the external node device II is stored in the fourth position information D of the index table 120H, and the index tables 120E, 12 OG, 1201 If the content data distribution source information is stored in the third position information C of the index table 1201, the distribution source information is deleted from the index table 1201 which is the end of the index table linked in this way. .
  • the external node device II when the non-management information storage area expanded with the index becomes empty, the related Extension entry of the index extension delegation source is deleted.
  • the external node device II makes a request to delete the extension entry to the external node device 1H that is the index extension consignment source, and the node device 1H is related to the external node device II in response to this deletion request.
  • the external node device 1H then deletes the fourth location information D in the extended non-information storage area of the index table 120H, and then requests the external node device 1F, which is the index extension consignment source, to delete the extension entry.
  • the fourth position information D that is the position information of the external node device 1H in the extended non-management information storage area of the index table 120F of the external node device 1F is deleted.
  • the content data distribution source information deletion request message is directly transmitted to the external node as in the content data distribution source information addition process.
  • the distribution source information acquisition request message is sent to the external node device so that when the local node device receives the content search message as the root node device, the response to the content search message is returned by the external node device having the extension index.
  • This message is a request to that effect, and the destination node device of the content search message This message is transferred to the external node device after being changed.
  • the root node device receives an arbitrary external node device content search message.
  • the content search message is transferred to the external node device, that is, the distribution source information acquisition request message is transmitted. If the external node device that has received the distribution source information acquisition request message holds the content data distribution source information as the third position information, the content data distribution including the third position information is performed.
  • the content data distribution source is further extracted from the extended index of the external node device. Take a procedure to return information.
  • the threshold Ts has been exceeded when the root node device receives the distribution source information acquisition request message V, as shown in FIG. Acquires content data distribution source information from the device index table and responds to the distribution source information acquisition request message.
  • the node device that responds to the content search message among the node devices having the extended index depending on the arrival time of the content search message. May be changed. For example, if the elapsed time is 0.5Ts or less, the content data distribution source information is returned from the index table 1201, and if 0.5 ⁇ Ts ⁇ 0.7, the index table is returned from 120G. If 0.7 ⁇ Ts ⁇ l.0, the index table 120E is returned.
  • This content processing method retrieves extended index power content data distribution source information for content search messages that arrive at the root node device early, and conversely with content search messages that arrive late at the root node device.
  • the root node device Indexing power The purpose is to level out the response time of content search messages by performing processing to directly retrieve content data distribution source information.
  • the difference between the index table of the own node device and the index table of the external node device is selected.
  • the selection may be made according to the arrival order of the content search messages. In other words, the index table of the root node device is selected for the content search message that arrived early, and the index table of the external node device is selected for the content search message that arrived late.
  • the selection may be made randomly regardless of the arrival time or arrival order of the content search message.
  • the index table of the own node device and the index table of the external node device are selected with equal probability, or the ratio of the position information stored in the management information storage area and the extended management information storage area. There is a method of selecting with the probability according to.
  • FIG. 14 is a diagram showing a schematic configuration of the node device 1 in the content distribution system S according to the present embodiment.
  • the node device 1 can be a dedicated personal computer or a general personal computer. As shown in Fig. 14, the CPU (Central Processing Unit) 102 and various programs can be rewritten.
  • the first storage unit 103 as a main storage device, the second storage unit 104 configured with HDD power to store various data, etc., and other networks participating in the network 8 via the router 124
  • a network interface 105 for communicating with the node device 1, a remote control 106 for transmitting and receiving a predetermined infrared signal for remotely operating the node device 1 by a user, and communication with the remote control 106 by infrared rays Infrared port 107 for performing image processing, a peripheral device control chip 108 for controlling the infrared port 107, and image data received by control of the CPU 102, and an internal video memory (illustrated) Writing without), displays the data written into the video memory on a display 110 described later
  • a sound source chip 111 that has a sound source such as an FM sound source or a Wave Table sound source
  • the first storage unit 103 also has an operating system (OS) program 114 for providing basic functions as a computer of the node device 1, a screen control program 115 for controlling the display 110, and the like.
  • OS operating system
  • the content data stored in the second storage unit 104 is streamed and distributed when the local node device functions as a content holding node device.
  • a player program 119 and the like for reproducing the distributed content data are stored.
  • the first storage unit 103 further stores an index table storage area, which is a storage area of the index table 120 (see FIG. 7), and a routing table storage area (see FIG. 4). Equivalent to an example of a routing table storage means).
  • the index table 120 has a management information storage area, an extended management information storage area, a non-management information storage area, and an extended non-management information storage area as described above, and contents are stored in the storage area according to the situation. Stores data distribution source information.
  • the OS program 114 is read and executed by the CPU 102, so that functions related to input / output of the remote controller 106, and functions such as the first storage unit 103 and the second storage unit 104 are performed.
  • the basic functions of the computer that is the node device 1 such as memory management can be executed.
  • the OS program 114 being executed by the CPU 102, the screen control program 115, the stream control program 116, the message monitoring program 117, the routing control program 118, the player program 119, and the like described above are stored in the first storage unit 103. It is read and executed.
  • the OS program 114, the screen control program 115, the stream control program 116, the message monitoring program 117, the routing control program 118, the player program 119, etc. are transmitted from, for example, a server connected to the network 8 to the network interface.
  • the data may be downloaded to the first storage unit 103 via 105, or recorded on a recording medium such as a CD-ROM and then read into the first storage unit 103 via the drive of the recording medium. Even so,
  • Ten pieces of content management devices are put into the second storage unit 104 and provided in the content distribution system S! This is an area for storing the catalog list 122 in which the content is listed and the content data 123 in which the content management device 10 is distributed.
  • the control means 113 is composed of the CPU 102 and the first storage unit 103 as described above, and the CPU 102 reads and executes the various programs 114 to 119 stored in the first storage unit 103, so that the entire node device 1 And controlling display, display control means, stream control means, message destination determination means, distribution source information selection means, content data distribution source information return means, content data distribution source information transmission request transfer means, content data distribution, which will be described later Original information receiving means, position information management means, arrival time determination means, position information return means, management information ratio changing means, own node device identification information calculation means, content identification information calculation means, registration message generation means, registration message transmission means , Message transfer means, decoding means, content reproduction means, and the like.
  • the CPU 102 executes the screen control program 115 as a display control means, etc.
  • the CPU 102 executes the stream control program 116 as a stream control means, etc.
  • a determination means a position information return means, a management information ratio change means, a local node device identification information calculation means, a content identification information calculation means, a registration message generation means, a registration message transmission means, etc.
  • the CPU 102 executes the routing control program 118.
  • the CPU 102 functions as a decoding means and a content reproduction control means when the CPU 102 executes the player program 119.
  • the display control means has a function of controlling the video chip 109 and the display 110 to display various video information (image information). That is, the display control means controls how video is displayed on the display 110.
  • the stream control means includes content data receiving means for receiving the content data streamed from the other node device 1 and content data for streaming delivery of the content data stored in the second storage unit 104 to the other node device 1. It functions as a distribution means.
  • the content data receiving means receives the content packet one packet at a time and stores the content packet in the first storage unit 103 (not shown). Temporarily store in the ring buffer. Further, the content distribution means converts the content data stored in the second storage unit 104 into a content packet, and transmits it to the other node device 1 via the network interface 105 one packet at a time. It should be noted that the content data receiving means and the content data distributing means can use a known streaming distribution protocol or use a unique dedicated protocol.
  • the message destination determination means determines whether the received message is addressed to its own node device 1 based on the destination identification information of the message received via the network 8 and the routing table. It is determined whether or not there is.
  • the messages determined by the message destination determination means are the above-described content search message, registration message, distribution source information addition request message, distribution source information deletion request message, distribution source information acquisition request message, and the like.
  • Whether or not the received message is addressed to the own node device 1 is determined based on the routing table stored in the first storage unit 103 by extracting the destination node ID (destination identification information) included in the message.
  • the control means 113 described later makes the determination. That is, when various messages are received via the network interface 105, the message destination determination means compares the destination identification information included in the received message with the node ID stored in the routing table, and is included in the message. When it is determined that the node ID on the destination identification information and the nearest routing table is the node ID of the own node device 1, it is determined that the message is addressed to the own node device 1.
  • the distribution source information selection means determines that the message received by the message destination determination means via the network 8 is addressed to its own node device 1 and is a content search message. Select whether or not position information B is shifted. For example, based on the arrival time of the content search message transmitted by the request node device as described above, the difference between the index table of the own node device and the index table of the external node device is selected.
  • the content data distribution source information return means sends the first information to the node device 1 that requested the content data distribution source information when the first location information A in the management information storage area of the index table 120 is selected by the distribution source information selection means. Returns location information A via network 8.
  • the introduction time column of the index table 120 is the oldest or blank ( Since the introduction time is not yet introduced, the first location information A is selected. In this way, it is possible to introduce one content retention node by selecting the location information of the content retention node device. It is possible to prevent content data requests from being concentrated on the card device.
  • the content data delivery source information transmission request transfer unit transmits the content data delivery source information to the node device 1 in which the second location information B is located. Forward the request over network 8.
  • the transmission of the content data distribution source information transmission request is performed by transmitting the distribution source information acquisition request message as described above.
  • the content data distribution source information receiving means receives a registration request for content data distribution source information including location information of the management target content holding node device from the management target content holding node device via the network 8.
  • the location information management means is a power for holding the location information of the managed content holding node device to be stored in the index table of the own node device 1 when new location information of the managed content holding node device to be stored is generated. Choose whether or not.
  • the location information management unit determines that the location information of the managed content holding node device to be newly stored has occurred. .
  • the location information management unit selects the retention in the index table 120, the location information management unit stores the location information of the managed content holding node device in the management information storage area of the index table 120.
  • the node device 1 is not selected to be stored in the index table, a request for holding the managed content data distribution source information including the location information of the managed content holding node device is sent via the network 8. The information is transmitted to the other node device 1, and the position information of the other node device 1 is stored in the extension management information storage area of the index table 120.
  • the location information management means randomly determines the node device 1 that transmits the retention request for the managed content data distribution source information.
  • the position information management means is in a state where a predetermined number of pieces of first position information A are stored in the management information storage area of the index table 120 (for example, the index table shown in FIG.
  • the managed content holding node Do select to keep the device location information in the index table 120.
  • the location information management means when the location information management means receives the content search message addressed to its own node device 1 by the message destination determination means at a first predetermined amount or more per unit time, the location information management means Keep location information in index table 120 Do not select.
  • the location information management means receives the delivery source information addition request message, which is a request for holding the transmitted content data delivery source information, via the network 8, the non-management information of the index table 120 If it is determined that a predetermined number or more of the third position information is stored in the storage area, the distribution source information addition request message transferred to the other node device 1 is further transferred, and the position information of the other node device 1 is transferred. Is stored in the extended unmanaged storage area of the index table 120 as the fourth position information.
  • the content search message addressed to the own node apparatus 1 is not received by the message destination determination means for the second predetermined amount or more per unit time, it is stored in the extension management information storage area of the index table 120. At least one second position information B is deleted from the second position information B, and a request to cancel the retention of the content data distribution source information is sent to the node device 1 corresponding to the deleted second position information B.
  • the arrival time determination means determines that the message received via the network 8 by the message destination determination means is addressed to its own node device 1 and is a content search message, and determines the transmission request issue time and the transmission request. It is determined whether or not the difference between the received time and the time is less than a predetermined value. This determination is performed based on the message issuance time included in the content search message and the reception time of the content search message measured by a clock means (not shown).
  • the location information return means issues the content search message by the arrival time judgment means. If it is determined that the difference between the time and the time when the transmission request is received is less than a predetermined value, the node device 1 having the second position information B stored in the non-management information storage area of the index table 120 is transferred. When the content search message is transferred as a distribution source information acquisition request message, and the arrival time determination means determines that the difference between the time when the content search message is issued and the time when the transmission request is received is greater than or equal to a predetermined value, the management information The first location information A stored in the storage area is returned to the node device that transmitted the transmission request.
  • the management information ratio changing means changes the ratio of the position information stored in the management information storage area and the extended management information storage area of the index table 120. For example, when a content search message addressed to the own node device 1 is received by the message destination determination means at a third predetermined amount or more per unit time, the capacity of the extended management information storage area of the index table 120 is increased, and the management information Change the location information ratio to reduce the capacity of the storage area.
  • the own node device identification information calculating means calculates the node ID, which is the identification information of the own node device 1, by calculating an IP address, which is information unique to the own node device, using a predetermined node function.
  • the content identification information calculation means calculates the content ID that is the identification information of the content data by calculating the specific information of the content data with the same predetermined hash function as that used for the self-node device identification information calculation means as described above. To do.
  • the root node device When the root node device also receives the content data, it stores the received content data in the second storage unit 104, which is a content data storage means, and generates a registration message including the node ID and IP address of the own node device.
  • the registration message transmitting means converts the registration message generated by the registration message generating means based on the content ID of the content data stored in the second storage unit 104.
  • the destination node device is selected from the node device identification information stored in the one table and transmitted. For example, if the content ID of the content data stored in the second storage unit 104 is “1231” and the routing message as shown in FIG. Select ID “1221” as the destination node device, and retrieve the IP address “21.13.21.13” of the node device with the corresponding node ID “1221”. Then, a registration message is transmitted with the IP address “21.13.21.13” as the destination node device.
  • the destination identification information of this registration message is “1231”.
  • the message transfer means determines the transfer destination node based on the destination identification information of the received message.
  • the device location information is extracted from the routing table, and the received message is transferred to the destination node device.
  • the decoding means displays the content data transmitted from the other node device 1 on the display 110 and decodes it for output from the built-in speaker 112.
  • the content data transmitted from the other node device 1 is encoded in a data format for streaming distribution, for example, ASF, WMA, WMV, etc., and the content data encoded in this way is stored. Decode so that it can be output from display 110 or speaker 112.
  • the content reproducing means sequentially reproduces the content data sequentially stored in the buffer area having the ring buffer power of the first storage unit 103.
  • the control means 113 is based on the stream control program 116!
  • the content data is reproduced by operating the video chip 109 and the sound source chip 111.
  • FIGS. 15 is a flowchart showing main processing in the node device 1
  • FIG. 16 is a flowchart showing message processing in the node device 1
  • FIG. FIG. 18 is a flowchart showing the index expansion process.
  • control means 113 performs initial setting in the node device 1 by executing the programs 114 to 119 (step S10).
  • control means 113 determines whether or not there is a request for participation in the content distribution system S as well as the user power of the own node device 1 (step S 11).
  • a participation button for the content distribution system S is provided on the remote control 106, and it is determined whether or not the user has requested participation in the content distribution system S based on whether or not the user has operated the participation button.
  • step S11 If it is determined in step S11 that the user has requested to participate in the content distribution system S (step Sl l: Yes), the control means 113 uses an IP address, which is information unique to the own node device, as a predetermined hash function.
  • the node ID which is the identification information of the own node device 1
  • step S12 a participation request message including the node ID and the IP address of the own node device 1 is transmitted to the content management device 10 (step S12).
  • the content management apparatus 10 receives the participation request message from the node apparatus 1, the content management apparatus 10 registers the node ID of the node apparatus 1 that has transmitted the participation request message, and participates in the content distribution system S.
  • step S11 If it is determined in step S11 that there is no request for participation in the content distribution system S from the user (step Sl l: No), the control means 113 determines that the content management device 10 has received initial content input. It is determined whether or not (step S13). This initial content input is performed by receiving content to be managed when the own node device 1 becomes a root node device, that is, data of managed content from the content management device 10.
  • step S13 When it is determined that the initial content has been input from the content management apparatus 10 (step S13: Yes), the control means 113 stores the content data to be managed received from the content management apparatus 10 in the content data storage in the second storage unit 104. Store and store in the area (step S14). Thereafter, the control means 113 performs “addition of content holding node device” described later. Addition processing ”(step SI 5).
  • step S13 determines whether a catalog list has been received from the content management device 10 (step S13). S16).
  • This catalog list is a list of contents provided in the content distribution system S, and the user of the node device can select desired contents using this catalog list.
  • step S16 When the catalog list is received from the content management apparatus 10 (step S16: Yes), the control unit 113 stores and holds the received catalog list in the catalog list storage area of the second storage unit 104 (step S). 17). Then, the control means 113 generates content selection screen data to be displayed on the display 110 based on the catalog list stored in step S17, and updates the screen display data (step S18).
  • step S16 when the catalog list is not received from the content management device 10 (step S16: No), the control means 113 determines whether or not the message is received from the external node device 1 via the network interface 105. (Step S19). When it is determined that a message has been received from the external node device 1 (step S19: Yes), the control means 113 performs “message processing” (step S20) described later.
  • step S19 If it is determined in step S19 that no message is received from the external node device 1 (step S19: No), the current content of the content holding node devices is determined based on the distribution time column of the index table 120. It is determined whether or not the content holding node device that is distributing the data (hereinafter referred to as “distribution rate”) has a power of 80% or more (step S21). If it is determined that the distribution rate is 80% or more (step S21: Yes), the control means 113 performs “content holding node device addition processing” (step S22) described later.
  • step S21: No when the distribution rate is not 80% or more (step S21: No), the control unit 113 further determines whether or not the distribution rate is 50% or less (step S23). If it is determined that the distribution rate is 50% (step S23: Yes), the control means 113 further determines whether or not the second location information B is stored in the extended management information storage area of the index table 120. That is, it is determined whether or not the extended index is valid (step S24). Extended index is enabled If so (step S24: Yes), a distribution source information deletion request message is transmitted to the external node device 1 that functions as an extension index of the own node device 1 (step S25).
  • step S24: No the number of registered first position information A in the management information storage area of the index table 120 is checked (step S26), and the first position information A is registered.
  • step S26: Yes the first position information A of the index table 120 of the own node device 1 is deleted (step S27).
  • step S26: No the first location information A is not deleted.
  • step S26 when the first location information A is deleted from the index table 120 of the own node device 1, a content data deletion request is transmitted to the corresponding content holding node device.
  • step S23 determines whether or not there is a search request from the user (step S28). For example, a catalog list that lists contents that can be used in the content distribution system S is displayed on the display 110, and a search request from the user is made depending on whether or not the content is selected from the catalog list by operating the remote control 106. Judge whether there is a certain force.
  • the control means 113 is content data identification information by calculating the title of the content for which the search request has been made using a predetermined hash function. The content ID is calculated (step S29). Then, the control unit 113 generates a content search message using the content ID calculated in this way as destination identification information, and transmits the generated content search message via the network interface 105 (step S30). The transmission of the content search message is based on the routing table 121 stored in the first storage unit 103, extracts the IP address of the destination node device 1, and transmits the content search message to this IP address. .
  • control means 113 waits for a response from the root node device or the like corresponding to the destination identification information of the content search message (step S31).
  • the control means 113 receives the content data distribution source information (step S3 1: Yes)
  • the control means 113 transmits content using the location information of the content holding node device included in the received content data distribution source information as the destination. Request message to network interface
  • the content data is extracted from the received content packet and sequentially stored in the buffer area having the ring buffer power of the first storage unit 103.
  • the content data temporarily stored in the ring buffer is sequentially played back (step S32).
  • Step S26 Processing power of steps S12, S15, S18, S20, S22, S25, S27, S32
  • the control means 113 indicates that the power of the node device 1 is turned off. It is determined whether or not (step S33). When the power is turned off! / ⁇ (step S33: No), the process proceeds to step S11. When the power is turned off (step S3 3: Yes), the process is terminated.
  • step S20 the message processing in step S20 will be specifically described with reference to FIG.
  • the control means 113 determines whether or not the message received from the external node device 1 is a predetermined message, that is, a force that is a content search message, or a distribution source information acquisition request message (step S 101 ).
  • the control means 113 determines whether or not the final destination of the received message is the own node device 1 (step S102). Whether or not the final destination of the received message is the local node device is determined based on the destination identification information of the received message and the routing table. That is, the destination identification information contained in the received message is compared with the node ID stored in the routing table, and the destination identification information contained in the message is closest to the node ID of the own node device 1 in the routing table. If it is determined to be an ID, it is determined to be a message addressed to its own node device 1.
  • step S102 If it is determined that the final destination of the received message is the local node device 1 (step S102: Yes), the control means 113, the difference between the issue time of the received message and the time when the message is received, That is, the arrival time Ts is calculated (step S103).
  • Received message The node issuance time is inserted in the message by the node device 1 that transmitted the message, and the control means 113 detects the message issuance time by referring to the issuance time in the received message.
  • the control means 113 determines whether or not the arrival time Ts of the received message is 200 ms or more (step S104). If it is determined that the arrival time Ts is 200 ms or more (step S104: Yes), the control means 113 extracts one of the first position information A stored in the management information storage area of the index table 120, and this first (1) Content data distribution source information including location information A is acquired (step S105), and the content data distribution source information acquired in this way is transmitted to the node device 1 that transmitted the predetermined message (step S10).
  • step S104 determines that the arrival time Ts is smaller than 200 ms.
  • the control means 113 has received the external node device 1 having the second location information B stored in the non-management information storage area of the index table 120. Forward the specified message (Step S10
  • step S108 the second position information B is not stored in the non-management information storage area. If not, one of the first position information A stored in the management information storage area of the index table 120 is extracted. Then, the content data distribution source information including the first position information A is acquired, and the content data distribution source information acquired in this way is transmitted to the node device 1 that has transmitted the predetermined message.
  • step S102 If it is determined in step S102 that the final destination of the received message is not the local node device (step S102: No), the control means 113 stores the routing table 121 stored in the first storage unit 103. Based on this, the transfer destination of the received message is determined (step S109), and the message is relayed by transferring it to the determined transfer destination (relay destination) node device 1 (step S110). .
  • step S101 determines whether or not the index extension request message has been received. Is determined (step S111).
  • step Sill Yes
  • the control means 113 has a region for storing the third position information as to whether or not there is a vacancy in the non-management information storage region of the index table 120, that is, the third position information.
  • step S11 2 If there is no free space in the non-management information storage area of the index table 120 (step S11 2: Yes), the control means 113 returns a negative response to the node device that sent the index expansion message, that is, the index expansion is not possible.
  • step S113 determines whether or not the power held in the non-management information storage area of the index table 120 in its own node device is determined. (Step S114). If it is determined that the data is stored in the unmanaged information storage area of its own node device (step S114: Yes), the control means 113 sends a positive response to the node device that sent the index extension message, that is, a reply indicating that the index can be extended. (Step S115). On the other hand, if it is determined not to hold in the non-management information storage area of its own node device (step S114: No), the control means 113 transfers the received index extension request message to the external node device (step S116).
  • step SI11 if the index extension request message is received in step 11 (step Sl ll: No), control means 113 determines whether or not a distribution source information addition request message has been received. Is determined (step S117).
  • the control means 113 determines whether or not it is held in the non-management information storage area of the index table 120 in its own node device (Ste S 118). If it is determined that it is stored in the non-management information storage area of its own node device (step S 118: Yes), the control means 113 stores the content data distribution source information included in the received distribution source information addition request message in its own node device 1. Store in the index table. For example, the third location information is added by storing the location information of the content holding node device included in the received distribution source information addition request message in the non-management information storage area of the index table of the own node device 1 (step S119). ). On the other hand, if it is determined not to hold in the non-management information storage area of its own node device (step S118: No), the control means 113 transfers the received distribution source information addition request message to the external node device (step S120). ).
  • step S121 determines whether or not a distribution source information deletion request message has been received.
  • step S121: Yes the control means 113 further determines whether or not the index table 120 of the own node device 1 is expanded (step S122). ). If it is determined that the index table 120 of the node device 1 is expanded (step S122: Yes), the control means 113 transfers the distribution source information deletion request message to the external node device 1 whose index has been expanded (step S123).
  • step S123 when a plurality of index-extended external node devices 1 are stored, the control means 113 selects one external node device 1 at random and selects the selected external node device 1. Transfer distribution source information deletion request message.
  • step S122: No if it is determined that the index table 120 of the node device 1 is not expanded (step S122: No), the control unit 113 determines that the unmanaged information storage area power of the index table 120 of the node device 1 is also in the third position. One piece of information is deleted (step S124).
  • step S124 when a plurality of third position information is stored in the non-management information storage area, the control means 113 randomly selects one third position information and deletes the selected third position information. .
  • step S121 No
  • the control means 113 ends the message processing.
  • the control means 113 expands the index table of its own node device, determines whether or not it is powerful, and if the index table is expanded, distribution is performed.
  • the original information deletion request message was transferred, and the index table was expanded to V. In this case, one third location information was deleted from the non-management information storage area of the index table of the local node device. Even if it is controlled as follows.
  • the index-extended external node device Control means 113 controls to transfer the distribution source information deletion request message.
  • the control means 113 first takes out the data of the management target content stored in the second storage unit 104 and transmits it to the node device that should be the content holding node device.
  • the node device to be the content holding node device is randomly determined by the control means 113. That is, a random value is calculated by random calculation, and this random value is calculated by a predetermined hash function, and this is set as the node ID of the node device that should be the content holding node device. Then, the control unit 113 transmits the content data holding request and the content data to the determined node device, and holds the data of the management target content.
  • the control means 113 When the content holding node device is generated as described above by the control means 113, the control means 113 knows the content ID and distribution time of the managed content, or the node ID of the content holding node device. Therefore, the content data distribution source information is acquired by transmitting only the location of the content holding node device as a registration message from the content holding node device.
  • the management information storage area of the index table 120 is empty, that is, the first position information is newly updated. It is determined whether or not the area to be stored is a force (step S201).
  • control means 113 determines that there is no free space in the management information storage area of the index table 120 of its own node device 1 (step S201: Yes), it performs “index expansion processing” described later (step S202). .
  • the control means 113 adds the content holding node apparatus added to the management information storage area of the index table 120. Is stored as the first position information (step S 203).
  • control means 113 randomly determines an external node device for extending the index table in order to extend the index table. That is, a random value is calculated by random calculation, and this random value is calculated by a predetermined Noh function, and this is set as the node ID of the node device to be the transmission destination (step S301).
  • the control means 113 transmits an index extension message to the node device having the node ID. (Step S302).
  • the control means 113 waits for a predetermined period of time for the external node device force to respond (step S303). If there is a response from the external node device within a predetermined period, it is determined whether or not this response is an affirmative response, that is, whether or not a reply indicating that the index table can be expanded is received (step S304). Upon receiving an affirmative response from the external node device, the control means 113 transmits a distribution source information addition request message to the external node device (step S305), and ends the index expansion process.
  • step S304 if a negative response is received from the external node device, that is, a reply indicating that the index table cannot be expanded (step S304: No), the processing returns to step S301 and the index is expanded again to the external node device having another node ID. Send a message and continue this process until the index table can be expanded
  • the node device in the content distribution system S in the present embodiment is
  • either the first location information or the second location information is selected based on the routing table.
  • the first location information is returned to the node device that transmitted the content search message, and when selecting the second location information, a distribution source information acquisition request message is sent to the second location information node device. Send. Therefore, the information storage area of the external node device can be used, and even a node device with a small storage capacity such as a set-top box can function as a root node device.
  • the distribution source information acquisition request message is transmitted to the node device of the second location information.
  • a content search message may be transferred.
  • the power that the root node has instructed the generation of the content holding node device determines the node device that the content management device 10 should become the content holding node device, and is managed content.
  • the node device that has become the content holding node device may receive the registration message as the occurrence of the distribution source information addition event.
  • the managed content holding node device sends a registration message (content data distribution) including location information of the managed content holding node device via the network 8.
  • Content data distribution source information receiving means for receiving the registration request of the original information, and when the content data distribution source information receiving means receives the registration message, the managed content holding node device to be newly stored It is determined that location information has occurred.
  • the content holding node Generate a distribution source information addition event when the device is created.
  • the root node device power for expanding the index table is the power to send the distribution source information addition request message to the external node device.
  • Content management device 10 When a node device to be a content holding node device is determined and managed content data is distributed, the node device power registration message that has become the content holding node device is transferred as it is and a request for additional distribution source information is requested. You can make it a message.
  • the IP address of the content holding node device is used as the position information in the content data distribution source information stored in the index table.
  • the location information be the identification information such as the node ID in the content holding node device that is not the IP address as the location information of the content holding node device.
  • the present invention is not limited to the above embodiment.
  • the above embodiment is an exemplification, and has substantially the same configuration as the technical idea described in the scope of claims of the present invention. It is included in the technical scope.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 ネットワーク上にDHT(Distributed Hash Table)等により分散配置された複数のノード装置を有するP2P型のコンテンツ配信システムにおいて、セットトップボックスなどのように記憶容量が小さいノード装置であっても、ルートノード装置としての機能することができるコンテンツ配信システム及び方法等を提供すること。  管理対象のコンテンツデータを保持する管理対象コンテンツ保持ノード装置の位置情報である第1位置情報を記憶する管理情報記憶領域と、管理対象のコンテンツ保持ノード装置の位置情報を保持するノード装置の位置情報である第2位置情報を記憶する拡張管理情報記憶領域とを有する配信元情報記憶手段とを備えている。そして、ネットワークを介して受信したメッセージが自ノード装置宛のコンテンツデータ配信元情報の送信要求であると判定されると、配信元情報記憶手段から第1位置情報と第2位置情報のいずれかを選択する。

Description

明 細 書
コンテンツ配信システム、ノード装置及びその情報処理方法並びにその プログラムを記録した記録媒体
技術分野
[0001] 本発明は、コンテンツ配信の技術分野に属し、より詳細には、ネットワーク上に分散 配置された複数のノード装置から構成され、これらノード装置間でコンテンツデータの 送受信を行うコンテンツ配信システム、ノード装置及びその情報処理方法並びにそ のプログラムを記録した記録媒体に関する。
背景技術
[0002] 近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテ ンッデータ(以下、「コンテンツ」ともいう。)を配信する、いわゆるコンテンツ配信システ ムの研究が盛んである。
[0003] 従来の上記コンテンツ配信システムの基本的構成として、サーバークライアント型の 配信システムがある。このサーバ一クライアント型の配信システムは、コンテンツを蓄 積するサーバにクライアントである端末装置力 アクセスし、コンテンツの配信を受け る構成である。
[0004] ところが、この種の配信システムでは、特定の人気コンテンツを有するサーバ装置 に端末装置力 のアクセスが集中し、コンテンツの配信を希望する複数のユーザの 端末装置において、希望のコンテンツをストレスなく高品質に入手して視聴すること が困難になるという不都合がある。
[0005] そこで、分散ハッシュテーブル (DHT (Distributed Hash Table) )を利用して論理的 にオーバーレイネットワークを構築することにより、情報を効率的に分散配置して負荷 分散を図る技術が提案されて 、る。
[0006] このシステムにおいては、端末装置である各ノード装置力 当該オーバーレイネット ワークに参加している全てのノード装置へのリンク情報 (例えば、 IPアドレス)を認識し ているわけではなぐ参加の際などに得られる一部のノード装置へのリンク情報だけ を保持しており、力かるリンク情報に基づき、データの問い合わせ等を行うようになつ ている。
[0007] このオーバーレイネットワークにお 、ては、ノード装置の参加及び脱退 (離脱)が頻 繁に行われても、負荷分散が適切に行われる必要があり、非特許文献 1には、ォー バーレイネットワークにおいて、参加及び脱退 (離脱)が頻繁に行われる場合であつ ても、適切に負荷分散を行うための技術が開示されている。
非特許文献 1 :「分散ハッシュテーブルの軽量な負荷分散手法の検討」 社団法人 電子情報通信学会 信学技報 IN2003— 189, 2004年 2月
発明の開示
発明が解決しょうとする課題
[0008] 非特許文献 1の技術をコンテンツ配信システムに用いたピアツーピア型のコンテン ッ配信システムにお 、ては、各ノード装置がコンテンツデータを保持するコンテンツ 配信サーバとなり、また、各ノード装置がコンテンツ配信要求クライアントにもなる。
[0009] また、このようなコンテンツ配信システムにお 、て、コンテンツ配信サーバであるノー ド装置がコンテンツデータを保持しているだけでなぐネットワーク上の他のノード装 置もコンテンツデータの複製を保持しているものが知られている。以下、コンテンツデ ータの複製を保持して 、るノード装置をコンテンツ保持ノード装置とも 、う。コンテンツ 配信要求クライアントであるノード装置 (以下、「リクエストノード装置」と呼ぶ。)は、要 求するコンテンツをこのようなコンテンツ保持ノード装置力も入手することもできる。し たがって、あるコンテンツに対する配信要求が増加した場合に、コンテンツ配信サー バであるノード装置だけでなぐその複製を保持しているコンテンツ保持ノード装置か らもコンテンツを配信できるため、コンテンツ配信サーバであるノード装置へのァクセ スの集中を回避できるものである。以下、コンテンツ配信サーバを含めてコンテンツ 保持ノード装置と呼ぶ。
[0010] 上述のようにピアツーピア型のコンテンツ配信システムにおいては、複数のコンテン ッ保持ノード装置の位置情報を記憶するノード装置 (以下、「ルートノード装置」と呼 ぶ。)が決められており、リクエストノード装置は要求するコンテンツを保持するコンテ ンッ保持ノード装置の位置情報 (以下、「インデックス情報」と呼ぶ。)をルートノード装 置に対して要求することによって、インデックス情報を取得し、このインデックス情報に 基づいてコンテンツ保持ノード装置へコンテンツデータの配信要求を行う構成をとる
[0011] しかしながら、ルートノード装置として決定されるノード装置がセットトップボックスの ような記憶容量に厳 、制約をもつ装置である場合、記憶できるインデックス情報に は限界が生じる。特に、人気コンテンツに関するルートノード装置となる場合には問 題が大きい。
[0012] すなわち、人気コンテンツの場合、多数のリクエストノード装置のアクセスに対応で きる数のコンテンツ保持ノード装置の位置情報を記憶する必要があるが、人気コンテ ンッに関するルートノード装置の場合には多数のコンテンツ保持ノード装置の位置情 報を保持することが困難になる。
[0013] その結果、多数のリクエストノード装置のアクセスに対して同時に紹介できるコンテ ンッ保持ノード装置の数が限られてしま 、、その数を超えたアクセスに対しては「要求 拒絶」或いは「要求待機」といったかたちで応答することになる。このような状態となつ た場合、リクエストノード装置のユーザに対して不快感を与えることになつてしまう。つ まり、記憶できるコンテンツ保持ノード装置の位置情報の数に制限がある場合、コン テンッ配信要求に対する十分なコンテンツ保持ノード装置の紹介ができないという問 題が生じる。
[0014] 本発明は、以上の不都合に鑑みてなされたものであり、ネットワーク上に分散配置 された複数のノード装置を有する P2P型のコンテンツ配信システムにお 、て、セットト ップボックスなどのように記憶容量が小さいノード装置であっても、ルートノード装置と しての機能することができるコンテンツ配信システム及び方法等を提供することを目 的とする。
課題を解決するための手段
[0015] 上記目的を達成するために、本発明の一つの観点によれば、ネットワーク上に分散 配置された複数のノード装置から構成され、前記ノード装置間でコンテンツデータの 送受信を行うコンテンツ配信システムにおける前記ノード装置であって、前記複数の ノード装置のうち一部のノード装置の識別情報と位置情報とを関連付けたルーティン グテーブルを記憶するルーティングテーブル記憶手段と、前記ネットワークを介して 受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づ ヽて、前記 受信したメッセージが自ノード装置宛であるか否かを判定するメッセージ宛先判定手 段と、前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセ一 ジが自ノード装置宛ではな 、と判定されると、受信したメッセージの宛先識別情報に 基づ 、て、転送先のノード装置の位置情報を前記ルーティングテーブル力 取り出し 、前記転送先のノード装置へ前記受信したメッセージを転送するメッセージ転送手段 と、自ノード装置における管理対象のコンテンツデータを保持する管理対象コンテン ッ保持ノード装置の位置情報である第 1位置情報を記憶する管理情報記憶領域と、 前記管理対象コンテンツ保持ノード装置の位置情報を保持するノード装置の位置情 報である第 2位置情報を記憶する拡張管理情報記憶領域とを有する配信元情報記 憶手段と、前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッ セージが自ノード装置宛であり、かつコンテンツデータ配信元情報の送信要求である と判定されると、前記配信元情報記憶手段から第 1位置情報と第 2位置情報の 、ず れかを選択する配信元情報選択手段と、前記配信元情報選択手段によって前記第 1位置情報が選択されるとき、前記コンテンツデータ配信元情報を要求したノード装 置へ前記第 1位置情報を前記ネットワークを介して返信するコンテンツデータ配信元 情報返信手段と、前記配信元情報選択手段によって前記第 2位置情報が選択される とき、前記第 2位置情報のノード装置へ前記コンテンツデータ配信元情報の送信要 求を、前記ネットワークを介して転送するコンテンツデータ配信元情報送信要求転送 手段とを備えたコンテンツ配信システムとした。
[0016] このような構成としたので、他のノード装置の情報記憶領域を利用することができ、 セットトップボックスなどのように記憶容量が小さ ゾード装置であっても、ルートノード 装置として機能させることができる。
[0017] また、新たに記憶すべき管理対象コンテンツ保持ノード装置の位置情報が発生した とき、当該管理対象コンテンツ保持ノード装置の位置情報を前記配信元情報記憶手 段に保持するか否かを選択する位置情報管理手段を備え、前記位置情報管理手段 は、前記配信元情報記憶手段への保持を選択したとき、前記管理対象コンテンツ保 持ノード装置の位置情報を前記管理情報記憶領域に記憶し、前記配信元情報記憶 手段への保持を選択しな 、とき、前記管理対象コンテンツ保持ノード装置の位置情 報を含む管理対象コンテンツデータ配信元情報の保持要求を、前記ネットワークを 介して他のノード装置へ送信し、前記他のノード装置の位置情報を前記拡張管理情 報記憶領域に記憶するようにしてもょ 、。
[0018] このような構成とすることにより、他のノード装置の情報記憶領域に管理対象コンテ ンッ保持ノード装置の位置情報を記憶させておくことができ、セットトップボックスなど のように記憶容量が小さいノード装置であっても、ルートノード装置として機能させる ことができる。
[0019] また、前記管理対象コンテンツ保持ノード装置から、前記ネットワークを介して前記 管理対象コンテンツ保持ノード装置の位置情報を含むコンテンツデータ配信元情報 の登録要求を受信するコンテンツデータ配信元情報受信手段を有し、前記位置情報 管理手段は、前記コンテンツデータ配信元情報受信手段がコンテンツデータ配信元 情報の登録要求を受信したとき、新たに記憶すべき管理対象コンテンツ保持ノード 装置の位置情報が発生したと判定するようにしてもよ!ヽ。
[0020] このような構成とすることにより、コンテンツ保持ノード装置の位置情報を保持するノ ード装置がコンテンツ保持ノード装置の追加を主導的に制御する仕組みを持たなく ても管理対象コンテンツ保持ノード装置の位置情報の管理が可能となる。
[0021] また、前記位置情報管理手段は、前記配信元情報記憶手段への保持を選択しな V、とき、前記管理対象コンテンツデータ配信元情報の保持要求を送信する前記ノー ド装置をランダムに決定するようにしてもょ 、。
[0022] このような構成とすることにより、管理対象コンテンツ保持ノード装置の位置情報を 記憶させる他のノードを紹介するような管理サーバ装置が不要となる。
[0023] また、前記位置情報管理手段は、前記管理情報記憶領域に所定数の前記第 1位 置情報が記憶された状態で、新たに記憶すべき管理対象コンテンツ保持ノード装置 の位置情報が発生したとき、当該管理対象コンテンツ保持ノード装置の位置情報を 前記配信元情報記憶手段へ保持する選択をしないことを特徴とする。
[0024] このような構成とすることにより、管理対象コンテンツ保持ノード装置の位置情報を 所定数記憶した後は、他のノード装置の情報記憶領域に管理対象コンテンツ保持ノ ード装置の位置情報を記憶させることができる。
[0025] また、前記位置情報管理手段は、自ノード装置宛の前記コンテンツデータ配信元 情報の送信要求を、前記メッセージ宛先判定手段により単位時間あたり第 1所定量 以上を受信した場合、前記管理対象コンテンツ保持ノード装置の位置情報を前記配 信元情報記憶手段へ保持する選択をしな!ヽようにしてもょ ヽ。
[0026] このような構成とすることにより、ルートノード装置へ負荷が集中するのを回避するこ とができると共に、セットトップボックスなどのように記憶容量が小さいノード装置であ つても、ルートノード装置として機能させることができる。
[0027] また、前記配信元情報記憶手段は、外部ノード装置から転送されてきた前記管理 対象コンテンツ保持ノード装置の位置情報である第 3位置情報を記憶する非管理情 報記憶領域と、外部ノード装置力 転送されてきた前記管理対象コンテンツ保持ノー ド装置の位置情報を保持させたノード装置の位置情報である第 4位置情報を記憶す る拡張非管理情報記憶領域とを有し、前記位置情報管理手段は、前記管理対象コ ンテンッデータ配信元情報の保持要求を前記ネットワークを介して受信したときに、 前記非管理情報記憶領域に所定数以上の第 3位置情報が記憶されていると判定す ると、前記管理対象コンテンツデータ配信元情報の保持要求を更に転送し、前記他 のノード装置の位置情報を前記第 4位置情報として前記拡張非管理記憶領域に記 憶することを特徴とする。
[0028] このような構成とすることにより、ルートノード装置力も非管理対象コンテンツ保持ノ ード装置の位置情報の記憶を依頼された場合であっても、さらに別のノード装置に非 管理対象コンテンツ保持ノード装置の位置情報を記憶させることができ、それを利用 することができる。
[0029] また、前記位置情報管理手段は、自ノード装置宛の前記コンテンツデータ配信元 情報の送信要求を、前記メッセージ宛先判定手段により単位時間あたり第 2所定量 以上受信しな!、場合、前記拡張管理情報記憶領域に記憶された前記第 2位置情報 のうち少なくとも一つを削除するとともに、前記削除した第 2位置情報に対応するノー ド装置へ前記コンテンツデータ配信元情報の保持取消の要求を行うようにしてもょ 、 [0030] このような構成とすることにより、他のノード装置の情報記憶領域に管理対象コンテ ンッ保持ノード装置の位置情報を記憶させて 、る場合であっても、リクエストノード装 置からのコンテンツデータ配信元情報の送信要求が少なければ、前記他のノード装 置の情報記憶領域に記憶させた位置情報を削除することができる。すなわち、コンテ ンッデータ配信元情報の送信要求が自ルートノード装置の管理情報記憶領域で対 応できる数となって 、る場合には、他のノード装置の情報記憶領域に記憶させた情 報を削除することによって、他のノード装置に不必要な情報を記憶させないことがで き、したがって、記憶領域を有効活用することができる。
[0031] また、前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセ 一ジが自ノード装置宛であり、かつ前記コンテンツデータ配信元情報の送信要求で あると判定すると、前記送信要求の発行時刻と前記送信要求を受信した時刻との差 分が所定値未満の値である力否かを判定する到達時間判定手段と、前記到達時間 判定手段により前記差分が前記所定値未満の値であると判定すると、前記拡張管理 情報記憶領域に記憶した前記第 2位置情報を有するノード装置へ前記送信要求を 転送し、前記到達時間判定手段により前記差分が前記所定値以上の値であると判 定すると、前記管理情報記憶領域に記憶した前記第 1位置情報を、前記送信要求を 送信したノード装置へ返信する位置情報返信手段とを備えるようにしてもよ!ヽ。
[0032] このような構成とすることにより、到達までの時間が短いコンテンツデータ配信元情 報の送信要求に対しては、他のノードに応答させ、到達までの時間が長い送信要求 に対しては、 自ノード装置が応答することができるため、コンテンツデータ配信元情報 の送信要求に対する応答時間を平準化することができる。
[0033] また、前記管理情報記憶領域と前記拡張管理情報記憶領域とに記憶する位置情 報の割合を変更する管理情報割合変更手段を設けるようにしてもよ!、。
[0034] このような構成とすることにより、使用環境に応じて最適なルートノード装置を提供 することができる。たとえば、人気のあるコンテンツを管理するルートノード装置の場 合でも管理情報記憶領域に比べて拡張管理情報記憶領域を多くとることによって、 他のノード装置により多くコンテンツデータ配信元情報の送信要求の返答をさせるこ とができるため、「要求拒絶」或いは「要求待機」といった状態を可及的に回避するこ とがでさる。
[0035] また、前記管理情報割合変更手段は、自ノード装置宛の前記コンテンツデータ配 信元情報の送信要求を、前記メッセージ宛先判定手段により単位時間あたり第 3所 定量以上を受信した場合に、前記拡張管理情報記憶領域に記憶する第 2位置情報 を増加させるように前記位置情報の割合を変更するようにしてもょ 、。
[0036] このような構成とすることにより、人気のあるコンテンツを管理するルートノード装置 の場合でも他のノード装置により多くコンテンツデータ配信元情報の送信要求の返 答をさせることができるため、「要求拒絶」或いは「要求待機」 ヽつた状態を可及的 に回避することができる。
[0037] また、コンピュータに、ノード装置の上記各手段として機能させるためのプログラムを 記録した記録媒体を提供することができる。
[0038] また、ネットワーク上に分散配置された複数のノード装置から構成され、前記ノード 装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記ノー ド装置における情報処理方法において、前記ノード装置は、前記複数のノード装置 のうち一部のノード装置の識別情報と位置情報とを関連付けたルーティングテープ ルを記憶するルーティングテーブル記憶手段と、自ノード装置における管理対象のコ ンテンッデータを保持する管理対象コンテンツ保持ノード装置の位置情報である第 1 位置情報を記憶する管理情報記憶領域と、前記管理対象のコンテンツ保持ノード装 置の位置情報を保持するノード装置の位置情報である第 2位置情報を記憶する拡張 管理情報記憶領域とを有する配信元情報記憶手段とを備え、前記ネットワークを介し て受信したメッセージの宛先識別情報と前記ルーティングテーブルとに基づ 、て、前 記受信したメッセージが自ノード装置宛であるか否かを判定するメッセージ宛先判定 ステップと、前記ネットワークを介して受信したメッセージが自ノード装置宛ではないと 判定されると、受信したメッセージの宛先識別情報に基づいて、転送先のノード装置 の位置情報を前記ルーティングテーブルから取り出し、前記転送先のノード装置へ 前記受信したメッセージを転送するメッセージ転送ステップと、前記ネットワークを介 して受信したメッセージが自ノード装置宛であり、かつコンテンツデータ配信元情報 の送信要求であると判定されると、前記配信元情報記憶手段から第 1位置情報と第 2 位置情報の!/、ずれかを選択する配信元情報選択ステップと、前記配信元情報選択 手段によって前記第 1位置情報を選択するとき、前記コンテンツデータ配信元情報を 要求したノード装置へ前記第 1位置情報を返信するコンテンツデータ配信元情報返 信ステップと、前記配信元情報選択手段によって前記第 2位置情報を選択するとき、 前記第 2位置情報のノード装置へ前記コンテンツデータ配信元情報の送信要求を転 送するコンテンツデータ配信元情報送信要求転送ステップとを有することを特徴とす る。
発明の効果
[0039] 本発明によれば、他のノード装置の情報記憶領域を利用することにより、セットトツ プボックスなどのように記憶容量が小さ ゾード装置であっても、ルートノード装置とし て機會させることができる。
図面の簡単な説明
[0040] [図 1]本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の 一例を示す図である。
[図 2]ID空間の説明図である。
[図 3]DHTによってルーティングテーブルが作成される様子の一例を示す図である。
[図 4]本実施形態に係るノード装置のルーティングテーブルの一例である。
[図 5]DHTによりコンテンツデータの保持元であるノード装置 1が検索される様子の 一例を示す図である。
[図 6]コンテンツ保持ノードの登録メッセージが転送される様子をスパユングツリー状 に表した図である。
[図 7]本実施形態に係るノード装置のインデックステーブルの一例である。
[図 8]インデックスが外部ノード装置に拡張された一例である。
[図 9]インデックス拡張動作の様子の一例を示す図である。
[図 10]コンテンツ保持ノード装置追加動作の様子の一例を示す図である。
[図 11]コンテンツ保持ノード装置追加動作の様子の他の例を示す図である。
[図 12]拡張されたインデックスを削除する動作の様子の一例を示す図である。
[図 13]コンテンツ検索メッセージに対する応答の様子の一例を示す図である。 [図 14]本実施形態におけるノード装置の概略構成例を示す図である。
[図 15]ノード装置におけるメイン処理を示すフローチャート。
[図 16]ノード装置におけるメッセージ処理を示すフローチャート。
[図 17]ノード装置におけるコンテンツ保持ノード装置追加処理を示すフローチャート。
[図 18]ノード装置におけるインデックス拡張処理を示すフローチャート。
符号の説明
[0041] 1 ノード装置
8 ネットワーク
102 CPU
103 第 1記憶部
104 第 2記憶部
113 制御手段
S コンテンツ酉 S信システム
発明を実施するための最良の形態
[0042] 以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明す る実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータ としたコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
[0043] [1.コンテンツ配信システムの構成等]
まず始めに、図 1を参照して、情報配信システムとしてのコンテンツ配信システムの 概要構成等について説明する。図 1は、本実施形態に係るコンテンツ配信システムに おける各ノード装置の接続態様の一例を示す図である。このコンテンツ配信システム は、ネットワーク上に分散配置された複数のノード装置力も構成され、ノード装置間で コンテンツデータの送受信を行うものである。
[0044] 図 1の下部枠 101内に示すように、 IX (Internet eXchange) 3、 ISP (Internet Service Provider) 4、 DSL (Digital Subscriber Line)回線事業者(の装置) 5、 FTTH (Fiber T o The Home)回線事業者 (の装置) 6、および通信回線 (例えば、電話回線や光ケー ブル等) 7等によって、インターネット等のネットワーク (現実世界のネットワーク) 8が構 築されている。なお、 DSL回線業者の装置には、 RADSL (Rate adaptive Asymmetric Digital Subscriber Line)回線の装置も含まれる。
[0045] コンテンツ配信システム Sは、図 1の上部枠 100内に示すように、ネットワーク 8を介し て相互に接続された複数のノード装置 la, lb, lc- - - lx, ly, 1ζ· · ·を備えて構成さ れ、ピアツーピア(Ρ2Ρ)方式のネットワークシステムとなっている。各ノード装置 la, 1 b, lc - - - lx, ly, 1ζ· ·には、ノード装置を示す情報としての固有の製造番号 (たとえ ば、 MACアドレス)および IP (Internet Protocol)アドレス(本発明における位置情報) が割り当てられている。なお、製造番号および IPアドレスは、複数のノード装置 1間で 重複しないものである。また、以下の説明において、ノード装置 la, lb, lc - - - lx, 1 y, 1ζ· · ·のうち何れかのノード装置を示す場合には、便宜上、ノード装置 1という場 合がある。
[0046] [1. 1. DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、「DHT」 (Distributed Has h Table)と呼ぶ。)を利用したアルゴリズムについて説明する。
[0047] 上述したコンテンツ配信システム Sにおいて、当該ノード装置 1同士力 互いに情報 をやり取りする際には、お互いの位置情報としての IPアドレスを知っていなければな らない。
[0048] 例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク 8に参加し ている各ノード装置 1が互いにネットワーク 8に参加している全てのノード装置 1の IP アドレスを知っておくのが単純な手法である力 ノード装置 1の数が何万何十万と多 数になると、その全てのノード装置 1の IPアドレスを覚えておくのは現実的ではない。 また、任意のノード装置 1の電源が頻繁に ON或いは OFFとすると、各ノード装置 1に おいて記憶している当該任意のノード装置 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の識別番号 (以下、「ノード I D」と呼ぶ。)として、それぞれのノード装置 1毎にユニークな番号(固有番号)を付与 する。この番号は、ノード装置の最大運用台数を収容できるだけの bit数を持たせる 必要がある。例えば、 128bitの番号とすれば、 2128=340 X 1036台のノード装置を運用 できる。
[0053] より具体的には、各ノード装置 1のノード IDは、それぞれのノード装置 1の IPアドレス あるいは製造番号等のノード装置 1毎に固有の値を、共通のノ、ッシュ関数 (ハッシュ アルゴリズム)によりハッシュ化して得たハッシュ値であり、一つの ID空間に偏りなく分 散して配置されることになる。このように共通のハッシュ関数によりハッシュ化されて求 められたノード IDは、当該 IPアドレスあるいは製造番号が異なれば、同じ値になる確 率が極めて低いものである。なお、ノ、ッシュ関数については公知であるので詳しい説 明を省略する。また、本実施形態では、 IPアドレス(グローバル IPアドレス)を共通の ノ、ッシュ関数によりハッシュ化した値をノード IDとする。
[0054] また、コンテンツ配信システム Sに参カ卩している複数のノード装置 1には、一のノード 装置 1から他のノード装置 1に配信される共用情報としてのコンテンツデータ (例えば 、音楽データ、映画データ、文書データ等)が分散して記憶されているが、当該コン テンッデータにも、それぞれのコンテンツデータ毎の固有の識別番号 (以下、「コンテ ンッ ID」と呼ぶ。)を付与する。
[0055] そして、当該コンテンツ IDは、ノード IDと同様の長さ(例えば、 128bit等)とし、例え ば、コンテンツの名称 (コンテンツタイトル)やコンテンツの概要情報(あらすじ)等のキ 一ワードが、上記ノード IDを得るときと共通のハッシュ関数によりハッシュ化され (つま り、ノード装置 1の IPアドレスのハッシュ値と同一の ID空間に配置され)、そのハッシュ 値と最も近い (例えば、上位桁がより多く一致する)ノード IDを有するノード装置 1が、 コンテンツデータを保持するノード装置 1 (以下、「コンテンツ保持ノード装置」と呼ぶ。 )へのリンク情報、すなわちコンテンツ保持ノード装置の位置情報である IPアドレスを 保持する。このコンテンツ保持ノード装置は、一定の規則の下 (例えば、ルートノード 装置がランダムに選択する規則の下)で決定される。これにより、コンテンツデータが 偏りなくコンテンツ配信システム S上に分散して配置される。なお、異なるコンテンツ データであっても、同一のキーワード (例えば、コンテンツの名称)になる場合が想定 される力 この場合、同じハッシュ値になってしまうので、これを避けるために、ハツシ ュ化するキーワードを、例えば、コンテンツの名称と著作権情報 (例えば、出演者名、 監督名、原作者名、歌手名、作曲者名、または作詞者名等)の組み合わせとすれば よい。
[0056] このように、各ノード装置 1および各コンテンツデータに付与されたノード IDおよび コンテンツ IDは、共通のハッシュ関数によって生成するため、図 2に示す如ぐ同一 のリング状の ID空間上にさほど偏ることなぐ散らばって存在するものとして考えること 力 Sできる。同図は 32bitでノード IDおよびコンテンツ IDを付与し、図示したものである。 図中丸点はノード IDを、四角形はコンテンツ IDを示し、反時計回りで IDが増加する ものとする。
[0057] 次に、どのノード装置 1に、どのコンテンツデータが保持されるかを、一定の規則の 下に決定する。本実施形態においては、「あるコンテンツ IDを有するコンテンツデー タを管理するノード装置 1は、そのコンテンツ IDに近いノード IDを有するノード装置 1 である」という規則とする。ここで、「近い」ことの定義は、当該コンテンツ IDを超えず、 コンテンツ IDとノード IDとの差が一番少ないものとする力 実際には、各コンテンツデ ータの管理を各ノード装置 1に割り振る際に、一貫していればよい。図 2に示す例で は、この定義に基づいて、コンテンツ IDaは、当該コンテンツ IDaに近いノード ID (以 下、「ノード &」と呼ぶ。)を有するノード装置 1に管理され、コンテンツ IDbは、当該 コンテンツ IDbに近いノード ID (以下、「ノード IDb」と呼ぶ。)を有するノード装置 1に 管理され、コンテンツ IDcは、当該コンテンツ IDcに近いノード ID (以下、「ノード IDc」 と呼ぶ。)を有するノード装置 1に管理される。
[0058] なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するので はなぐ「コンテンツデータが何れのノード装置 1に保持されて 、るかを知って 、る」こ とを意味する。すなわち、図 2において、ノード IDaを有するノード装置 1は、コンテン ッ IDaを有するコンテンツデータが何れのノード装置 1に保持されて!、るかを知って おり、ノード IDbを有するノード装置 1およびノード IDcを有するノード装置 1も同様に それぞれコンテンッ IDbを有するコンテンッデータおよびコンテンッ IDcを有するコン テンッデータが何れのノード装置 1に保持されて!、るかを知って!/、る、 t\、うことにな る。このように、あるコンテンツデータが何れのノード装置 1に保持されているかを知つ ているノード装置 1を、そのコンテンツデータのルートノード装置と呼ぶ。つまり、ノード IDaを有するノード装置 1は、コンテンツ IDaを有するコンテンツデータのルートノード 装置であって、ノード IDbを有するノード装置 1は、コンテンツ IDbを有するコンテンツ データのルートノード装置であって、ノード IDcを有するノード装置 1は、コンテンツ ID cを有するコンテンツデータのルートノード装置である。
[0059] また、コンテンツ配信システム Sには、コンテンツ配信システム S内のノード装置をコ ンテンッ保持ノード装置とするためにコンテンツデータをルートノード装置へ配布する 機能と、カタログリストを生成してノード装置へ提供する機能を有するコンテンツ管理 装置 10が設けられている。
[0060] [1. 2.ルーティングテーブルの作成]
ここで、図 3を参照して、 DHTで用いるルーティングテーブルの作成手法の一例に ついて説明する。図 3は、 DHTによってルーティングテーブルが作成される様子の 一例を示す図である。
[0061] まず、図 3 (a)に示す如ぐ ID空間を幾つかのエリアに分割する。実際には、 16分割 程度が良く用いられるが、説明を簡単にするためここでは 4分割とし、 IDをビット長 8bi tの 4進数で表すことにする。そして、ノード装置 1Nのノード IDを「1133」とし、このノー ド装置 1Nのルーティングテーブルを作る例について説明する。 [0062] (レベル 1のルーティング)
まず、 ID空間を 4分割とした場合、それぞれのエリアは 4進数で表すと最大桁が異 なる 4つのエリア「0XXX」「1ΧΧΧ」、「2ΧΧΧ」、「3ΧΧΧ」(Χίま 0力ら 3の自然数、以下同 様。)で分けられる。ノード装置 1Nは、当該ノード装置 1N自身のノード IDが「1133」 であるため、図 3 (a)中左下「1XXX」のエリアに存在することになる。そして、ノード装 置 1Nは、自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリア(すなわ ち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア)に存在するノード装置 1を 適当に選択し、当該ノード IDの位置情報、すなわち、当該ノード IDの IPアドレスをレ ベル 1のテーブルに記憶する。図 4がレベル 1のテーブルの一例である。このテープ ルでは、「0XXX」のエリアのノード IDとして「0100」、「2XXX」のエリアのノード IDとして 「2133」、「3XXX」のエリアのノード IDとして「3213」がそれぞれ選択されて!、る状態を 示している。なお、当該レベル 1の 2列目はノード装置 1N自身を示しているため、 IP アドレスを記憶する必要は無 、。
[0063] (レベル 2のルーティング)
次に、図 3 (b)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自分 の存在するエリア「1XXX」を更に 4分割し、更に 4つのエリア「10XX」「11XX」、「12XX 」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「llxx」以外のエリ ァに存在するノード装置 1を適当に選択し、当該ノード IDの位置情報である IPァドレ スをレベル 2のテーブルに記憶する。図 4がレベル 2のテーブルの一例である。このテ 一ブルでは、「10XX」のエリアのノード IDとして「1003」、「12XX」のエリアのノード IDと して「1221」が、「13XX」のエリアのノード IDとして「1313」がそれぞれ選択されている 状態を示している。なお、レベル 2の 2列目はノード装置 1Nが存在するエリア「11XX」 であり、後述するレベル 3にてテーブル化されるため IPアドレスを記憶していない。ま た、上記エリアにノード装置が存在しない場合には、ノード ID及び IPアドレスの欄は 空白となる。
[0064] (レベル 3のルーティング)
さらに、上記ルーティングによって 4分割したエリアのうち、自分の存在するエリア「1 1XX」を更に 4分割し、更に 4つのエリア「110X」「111X」、「112X」、「113X」と分ける。 そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在するノード装 置 1を適当に選択し、当該ノード IDの位置情報である IPアドレスをレベル 3のテープ ルに記憶する。図 4がレベル 3のテーブルの一例である。レベル 3の 4列目はノード装 置 1Nが存在するエリアであり、後述するレベル 4にてテーブル化されるため IPァドレ スを記憶していない。また、上記エリアにノード装置が存在しない場合には、ノード ID 及び IPアドレスの欄は空白となる。
[0065] このようにして、レベル 4まで同様にルーティングテーブルを図 4に示す如く作成す ることにより、 8bitの ID全てを網羅することができる。レベルが上がる毎にテーブルの 中に空白が目立つようになる。
[0066] 以上説明した手法に従って作成したルーティングテーブルを、全てのノード装置 1 が夫々作成して所有することになる。このように、各ノード装置 1は、コンテンツ配信シ ステム Sにおける複数のノード装置 1のうち一部のノード装置 1のノード ID (識別情報) と IPアドレス (位置情報)とを関連付けたルーティングテーブルを有しており、このル 一ティングテーブルは後述のルーティングテーブル記憶手段に記憶される。
[0067] [1. 3.コンテンツデータの検索方法]
次に、図 5を参照して、コンテンツデータを保持しているノード装置 1の検索方法の 一例について説明する。図 5は、 DHTによりコンテンツデータを保持しているノード 装置 1が検索される様子の一例を示す図である。
[0068] ここでは、ノード ID「1133」のノード装置 1Nが、コンテンツ ID「3020」を有するコンテ ンッデータを探す際の手順について説明する。なお、以下このようにコンテンツデー タを探し、コンテンツデータの受信を要求するノード装置を「リクエストノード装置」と呼
[0069] リクエストノード装置 INは、自己が保持しているルーティングテーブルのレベル 1の テーブルを参照して、コンテンツ ID「3020」と同じエリアのノード IDを持つノード装置 のノード IDを宛先識別情報としてコンテンツデータ配信元情報 (コンテンツ保持ノー ド装置の位置情報を含む情報)の送信要求 (以下、「コンテンツ検索メッセージ」と呼 ぶ。)を送信する。すなわち、コンテンツ ID「3020」は「3XXX」のエリアであるため、当 該「3XXX」のエリアに属すノード装置 1のうち、 IPアドレスを知っている(すなわち、自 己が保持しているルーティングテーブルに IPアドレスが記憶されている)ノード装置 1 A (ノード ID「3213」)に対してコンテンツ検索メッセージを送信する。このように、コン テンッ検索メッセージはコンテンツに対応する固有の識別情報であるコンテンツ IDを 含むものであり、このコンテンツ IDはコンテンツ検索メッセージにおいて宛先識別情 報として用いられる。
[0070] 図 5に示す例によれば、ノード IDが「3213」であるノード装置 1Aの IPアドレスがリク ェストノード装置 1Nのルーティングテーブル(図 4参照。)に記憶されているので、リク ェストノード装置 1Nは、ノード IDが「3213」であるノード装置 1Aに対してコンテンツ検 索メッセージを送信する。
[0071] 次に、コンテンツ検索メッセージを受信したノード装置 1Aは、このコンテンツ検索メ ッセージが自ノード装置 1 A宛のメッセージであるか否かを判定する。 自ノード装置 1 A宛のメッセージである力否かは、宛先識別情報とルーティングテーブルとに基づ!/ヽ て行われる。具体的には、宛先識別情報が自ノード装置 1Aの識別情報と近いか否 力が判定される。即ち、宛先識別情報に対して、ノード装置 1A自身が保持している ルーティングテーブルに記憶されて 、るノード装置の識別情報から、一番近!ゾード 装置の識別情報が、 自身であるか他のノード装置であるかを判定する。ここでは、自 ノード装置 1Aの識別情報よりも他のノード装置の識別情報の方が、宛先識別情報に 近いため、ノード装置 1 Aは、当該ノード装置 1 A自身が保持しているルーティングテ 一ブルのレベル 2のテーブルを参照して、「30XX」のエリアに属すノード装置 1のうち 、 IPアドレスを知っているノード装置 1B (ノード ID「3031」)に対してコンテンツ検索メッ セージを転送する。
[0072] このように、コンテンツ IDの桁を上力 順に適合していく要領でコンテンツ検索メッ セージの転送が進み、最終的に当該コンテンツデータを管理するノード装置 1C、す なわちルートノード装置に迪り着くと、当該ルートノード装置は、コンテンツ検索メッセ ージに含まれるコンテンツ ID「3020」を、自身が管理している後述のインデックス情報 の中力 検索し、当該コンテンツデータを所有しているコンテンツ保持ノード装置の I pアドレス等をリクエストノード装置 1Nに返信するようになっている。なお、コンテンツ 検索メッセージなどのメッセージを目的のノード装置へ迪り着くまでに、上述のように 転送する仕組みを DHTルーティングと呼ぶ。
[0073] こうして、リクエストノード装置 1Nは、上記ルートノード装置 1Cから、コンテンツ ID「3 020」のコンテンツデータの位置情報、即ち、コンテンツ ID「3020」のコンテンツデータ を保持するコンテンツ保持ノード装置の IPアドレスを受信して知ることになり、当該コ ンテンッ保持ノード装置から、そのコンテンツデータをダウンロードして取得すること になる。
[0074] [1. 4.インデックステーブルへの登録方法]
このような構成のコンテンツ酉 S信システム Sの中で、新しいコンテンツデータをコンテ ンッ配信システム S上の他のノード装置に見えるように公開する際の手法について述 ベる。
[0075] 本実施形態におけるコンテンツ配信システム Sは、図 2に示すように、コンテンツ管 理装置 10が各ルートノード装置に対して、各ルートノード装置ごとに管理対象コンテ ンッのコンテンッデータを送信する。コンテンッ管理装置 10から管理対象のコンテン ッデータを受信したルートノード装置は、後述の第 2記憶部 104に受信したコンテン ッデータを記憶する。その後、当該コンテンツデータを保持すべきノード装置のノード IDを決定し、当該ノード IDを有するノード装置に対してコンテンツデータを保持する ように要求する。当該コンテンツデータ保持要求を受信したノード装置は、コンテンツ データ保持要求と共に送られるコンテンツデータを保持してコンテンツ保持ノード装 置として機能する。また、コンテンツデータ保持要求を受信したノード装置は、ルート ノード装置に対して、コンテンツ保持ノード装置として自ノード装置の位置情報である IPアドレスを含むコンテンツデータ配信元情報の登録メッセージ (以下、「登録メッセ ージ」と呼ぶ。)を送信する。ルートノード装置は、コンテンツ保持ノード装置カゝら送信 される登録メッセージに含まれる当該コンテンツ保持ノード装置の位置情報である IP アドレスを取得し、後述するインデックステーブル 120 (配信元情報記憶手段の一例 に相当)へ登録する。このようにルートノード装置のインデックステーブル 120にコン テンッ保持ノード装置の位置情報である IPアドレスが登録されると、以後リクエストノ ード装置力ものコンテンツ検索メッセージに対してインデックステーブルに登録したコ ンテンッ保持ノード装置の位置情報をリクエストノード装置へ返信する。このようにし て本実施形態では、コンテンツ管理装置カゝら配布されたコンテンツをコンテンツ保持 ノード装置に登録し、ルートノード装置を介して検索できる様にすることで、他のノー ド装置 1にコンテンツを公開する。
[0076] なお、ルートノード装置がコンテンツ保持ノード装置となるべきノード装置を決定して 管理対象コンテンツデータを配布するのではなぐたとえば、以下のように、コンテン ッ管理装置 10がコンテンツ保持ノード装置となるべきノード装置を決定して管理対象 コンテンツデータを配布するようにしてもよい。そして、当該コンテンツデータを配布さ れたコンテンツ保持ノード装置は、登録メッセージを、コンテンツのタイトル等から求 めたコンテンツ IDと同じノード IDを持つノード装置に向けて (このノード装置が実在す る力否かはこの時点ではわ力 ない。)送信する。そして、この登録メッセージも、上 記コンテンツ検索メッセージと同様にルーティングテーブルに従って、次々と転送さ れていき、当該登録メッセージに含まれるコンテンツ IDに最も近いノード IDを有する ノード装置 1まで転送されたところで、そのノード装置 1がもはや送信先のノード装置 が他にないと判断すると、当該ノード装置 1自身がそのコンテンツのルートノード装置 となるべきだと判断し、図 6に示すように、当該登録メッセージに含まれるコンテンツデ ータ配信元情報である当該コンテンツ ID、コンテンツ保持ノード装置の IPアドレス、 及び補助情報 (タイトル、ジャンル、拡張情報等の属性情報や、監督名等の著作権 情報やストリーミング時間等)をインデックス情報としてインデックステーブル 120に記 憶する。
[0077] インデックステーブル 120は、図 7に示すように、コンテンツ保持ノード装置の位置 情報 (所在情報)である IPアドレスなどを含むコンテンツデータ配信元情報を記憶す るためのテーブルであり、配信元情報記憶手段として機能する。このインデックステー ブル 120には、コンテンツ保持ノード装置の IPアドレスのほ力 コンテンツ IDと、コン テンッ IDに対応するコンテンツデータをストリーミング配信するのに必要な時間(単位 :秒。以下、「ストリーミング時間」と呼ぶ。)と、コンテンツ保持ノード装置を紹介した時 刻とがコンテンツデータ配信元情報として 1行 (所定記憶エリア)ごとに記憶される。な お、ここでは補助情報は省略している。
[0078] さらに、このインデックステーブル 120には、属性情報として、このインデックステー ブル 120内に直接コンテンッデータ配信元情報を保持するの力、或 、は他のノード 装置(以下、「外部ノード装置」と呼ぶ。)へインデックステーブル 120を拡張している のかを示すフラグが設けられている。すなわち、コンテンツデータ配信元情報を直接 記憶しているのか外部ノードに記憶しているのかを示すフラグの情報が 1行ごとに記 憶される。なお、図 7に示すインデックステーブル 120は、図 5中のノード ID「3011」の ノード装置 1Cが有するものとする。すなわち、コンテンツ ID「3020」を有するコンテン ッデータのルートノード装置 1Cのインデックステーブル 120である。
[0079] また、このインデックステーブル 120の記憶領域には、自身が保持するコンテンツデ ータの位置情報 A (図 7中 (A)参照)、すなわち管理対象コンテンツデータを保持す るコンテンツ保持ノード装置 1 (以下、「管理対象コンテンツ保持ノード装置」と呼ぶ。) の位置情報である第 1位置情報 Aを記憶する管理情報記憶領域を有して ヽる。ここ では、ルートノード装置が管理するコンテンツに関する記憶領域なので、コンテンツ I Dは「3020」となっている。また、外部ノード装置が保持する管理対象コンテンツの位 置情報 B (図 7中(B)参照)、すなわち管理対象コンテンツ保持ノード装置の位置情 報を保持するノード装置の位置情報である第 2位置情報 Bを記憶する拡張管理情報 記憶領域と有している。ここにおいても、ルートノード装置が管理するコンテンツに関 する記憶領域なので、コンテンツ IDは「3020」となって!/、る。
[0080] 第 1位置情報 Aにはフラグとして rDirectjを示す情報(自ルートノード装置が管理対 象コンテンツ保持ノード装置の位置情報を記憶していることを示す情報)が、第 2位置 情報 Bにはフラグとして「ExtenSi0n」を示す情報 (外部ノード装置が管理対象コンテン ッ保持ノード装置の位置情報を記憶していることを示す情報)が関連付けられてイン デッタステーブル 120に記憶される。
[0081] さらに、このインデックステーブル 120には、自ルートノード装置 1Cの管理対象では な!、コンテンツデータであって、外部ノード装置力 委託されたコンテンツデータ(以 下、「非管理対象コンテンツデータ」と呼ぶ。ここでは、コンテンツ ID「2110」、「0130」 を有するコンテンツであるものとする。)の位置情報 C (図 7中(C)参照)、すなわち外 部ノード装置 1から転送される非管理対象コンテンツデータを保持するコンテンツ保 持ノード装置 (以下、「非管理対象コンテンツ保持ノード装置」と呼ぶ。)の位置情報 である第 3位置情報 Cを記憶する非管理情報記憶領域を有している。また、自ルート ノード装置 1Cが外部ノード装置力 委託された非管理対象コンテンツ保持ノード装 置の位置情報をさらに他の外部ノード装置へ保持させるときの当該他の外部ノード 装置の位置情報 D (図 7中(D)参照)、すなわち、外部ノード装置 1から転送される非 管理対象コンテンツ保持ノード装置の位置情報をさらに転送して当該非管理対象コ ンテンッ保持ノード装置の位置情報を保持させたノード装置の位置情報である第 4位 置情報 Dを記憶する拡張非管理情報記憶領域を有している。
[0082] そして、上記の如く構成されたインデックステーブルを用いることにより、セットトップ ボックスなどのように記憶容量が小さいノード装置であっても、ルートノード装置として 機能させることができる。以下、図面を参照して具体的に説明する。図 8はルートノー ド装置のインデックステーブルと外部ノード装置のインデックステーブルとの関連の一 例を示す図である。
[0083] 図 8に示すように、ルートノード装置 1Dのインデックステーブル 120Dは、複数の外 部ノード装置 1E〜 IIのインデックステーブル 120E〜 1201と関連付けられて!/、る。す なわち、ルートノード装置 1Dのインデックステーブル 120Dは、外部ノード装置 1E及 び外部ノード装置 1Fの位置情報を第 2位置情報 Bとして記憶しており、一方、外部ノ ード装置 1E及び外部ノード装置 1Fは、ルートノード装置 1Dの管理対象コンテンツで あるコンテンッデータを保持するコンテンッ保持ノード装置 (外部ノード装置 1 E及び 外部ノード装置 1Fからみて非管理対象コンテンツ保持ノード装置)の位置情報を拡 張管理情報記憶領域に第 3位置情報 Cとして記憶している。したがって、ルートノード 装置 1Dは、管理対象コンテンツ保持ノード装置の位置情報を記憶するための管理 情報記憶領域の容量力 、さい場合であっても、外部ノード装置 IE, 1F等のインデッ タステーブルに管理対象コンテンツ保持ノード装置の位置情報を記憶することができ ることになる。
[0084] さらに、外部ノード装置 1Fのインデックステーブル 120Fには、外部ノード装置 1G 及び外部ノード 1Hの位置情報を第 4位置情報 Dとして記憶しており、一方、外部ノー ド装置 1G及び外部ノード 1Hは、ルートノード装置 1Dの管理対象コンテンツであるコ ンテンッデータを保持する非管理対象コンテンツ保持ノード装置の位置情報を拡張 管理情報記憶領域に第 3位置情報 Cとして記憶している。したがって、外部ノード装 置 1Fは、コンテンツ保持ノード装置の位置情報を記憶するための非管理情報記憶 領域の容量が小さ 、場合であつても、さらに外部ノード装置 1 G等のインデックステー ブルに非管理対象コンテンツ保持ノード装置の位置情報を記憶することができること になる。
[0085] このように本実施形態におけるノード装置 1には、第 1位置情報〜第 4位置情報を 記憶する領域を設けており、これによりルートノード装置 1Dや外部ノード装置 1E等 のインデックステーブルの容量が大きくできな 、場合であっても、増大するコンテンツ 保持ノード装置の位置情報をリクエストノード装置へ返信することが可能となる。
[0086] ここで、ルートノード装置 1Dは、配信元情報追加イベントが発生、すなわち管理対 象コンテンツ保持ノード装置の位置情報を記憶すべきタイミングになると、この記憶す べき管理対象コンテンツ保持ノード装置の位置情報を自ルートノード装置 1Dのイン デッタステーブル 120Dに記憶するカゝ否かを選択する。
[0087] ルートノード装置 1Dは、自ルートノード装置 1Dのインデックステーブル 120Dへ管 理対象コンテンツ保持ノード装置の位置情報の保持することを選択したとき、管理対 象コンテンツ保持ノード装置力 受信したコンテンツデータ配信元情報に含まれる管 理対象コンテンツ保持ノード装置の位置情報を管理記憶領域に第 1位置情報として feす。。
[0088] 一方、ルートノード装置 1Dは、自ルートノード装置 1Dのインデックステーブル 120 Dへ管理対象コンテンツ保持ノード装置の位置情報を保持する選択をしな ヽとき、す なわち外部ノード装置のインデックステーブルへ管理対象コンテンツ保持ノード装置 の位置情報を保持させる選択をすると、他のノード装置としてインデックステーブル 1 20Fを有するノード装置 1Fを選択し、ノード装置 1Fに対してインデックス拡張要求メ ッセージを送信する。このインデックス拡張要求メッセージに対して、ノード装置 1Fか ら肯定的な応答が返信されると、このノード装置 1Fに対して、管理対象コンテンツ保 持ノード装置の位置情報及びコンテンツ IDを含む配信元情報追加要求メッセージを 送信すると共に、外部ノード装置 1Fの位置情報を第 2位置情報 Bとして拡張管理記 憶領域へ記憶する。なお、図 8においては、ルートノード装置 1Dは、外部ノード装置 IFのインデックステーブルへ管理対象コンテンツ保持ノード装置の位置情報の保持 を選択して 、ることを示して 、る。
[0089] ノード装置 1Fは、ルートノード装置 1Dから送信されるインデックス拡張要求メッセ一 ジを受信すると、ノード装置 1Fにおける非管理対象のコンテンツデータ配信元情報 を自ノード装置 1Fのインデックステーブル 120Fに記憶する力否かを選択する。 自ノ ード装置 1Fのインデックステーブル 120Fに記憶することを選択したとき、ルートノー ド装置 1Dカゝら送信されたインデックス拡張要求メッセージに対して肯定応答を返信し 、その後ルートノード装置 1D力 送信される非管理対象コンテンツ保持ノード装置の 位置情報を非管理記憶領域に第 3位置情報として記憶する。一方、自ノード装置 1F のインデックステーブル 120Fに記憶しな 、ことを選択するとき、すなわち他の外部ノ ード装置のインデックステーブルへ非管理対象コンテンツ保持ノード装置の位置情 報を保持させる選択をすると、ノード装置 1Fは、受信したインデックス拡張要求メッセ ージをノード装置 1Hへ転送し、転送したインデックス拡張要求メッセージに対して当 該ノード装置 1H力 肯定応答を受信すると、受信したインデックス拡張要求メッセ一 ジに対する肯定応答をルートノード装置 1Dへ送信し、その後ルートノード装置 1Dか ら送信される配信元情報追加メッセージを外部ノード装置 1Hへ転送する。また、外 部ノード装置 1Hの位置情報を第 4位置情報として拡張非管理記憶領域へ記憶する 。なお、図 8においては、ノード装置 1Fは、他の外部ノード装置 1Hのインデックステ 一ブル 120Hへ非管理対象コンテンツ保持ノード装置の位置情報の保持を選択して 、ることを示して 、る。
[0090] ノード装置 1Hは、外部ノード装置 1F力 送信されるインデックス拡張要求メッセ一 ジを受信すると、非管理対象のコンテンツデータ配信元情報を自ノード装置 1Hのィ ンデッタステーブル 120Hに記憶するか否かを選択する。 自ノード装置 1Hのインデッ タステーブル 120Hに記憶することを選択したとき、受信したインデックス拡張要求メ ッセージに対する肯定応答をノード装置 1Fに対して行い、その後ノード装置 から 送信される非管理対象コンテンツ保持ノード装置の位置情報を非管理記憶領域に第 3位置情報として記憶する。一方、 自ノード装置 1Hのインデックステーブル 120Hに 記憶しな 、ことを選択するとき、すなわち他の外部ノード装置のインデックステーブル へ非管理対象コンテンツ保持ノード装置の位置情報を保持させる選択をすると、ノー ド装置 1Hは、受信したインデックス拡張要求メッセージをノード装置 IIへ転送し、転 送したインデックス拡張要求メッセージに対して当該ノード装置 IIから肯定応答を受 信すると、受信したインデックス拡張要求メッセージに対する肯定応答をルートノード 装置 1Fへ送信し、その後ルートノード装置 1F力も送信される配信元情報追加メッセ ージを外部ノード装置 IIへ転送する。また、外部ノード装置 IIの位置情報を第 4位置 情報として拡張非管理記憶領域へ記憶する。なお、図 8においては、ノード装置 1H は、他の外部ノード装置 IIのインデックステーブル 120Hへ非管理対象コンテンツ保 持ノード装置の位置情報の保持を選択して 、ることを示して 、る。
[0091] ノード装置 IIは、外部ノード装置 1H力 送信されるインデックス拡張要求メッセ一 ジを受信すると、非管理対象のコンテンツデータ配信元情報を自ノード装置 IIのイン デッタステーブル 1201に記憶する力否かを選択する。 自ノード装置 IIのインデックス テーブル 1201に記憶することを選択したとき、受信したインデックス拡張要求メッセ一 ジに対する肯定応答をノード装置 1Hに対して行い、その後ノード装置 1H力 送信さ れる非管理対象コンテンツ保持ノード装置の位置情報を非管理記憶領域に第 3位置 情報として記憶する。図 8においては、ノード装置 IIは、自ノード装置 IIのインデック ステーブル 1201へ非管理対象コンテンツ保持ノード装置の位置情報の保持を選択 していることを示している。
[0092] このように本実施形態における各ノード装置 1には、インデックステーブルとして第 1 位置情報〜第 4位置情報を記憶する領域を設けており、ノード装置 1は自ノード装置 1のインデックステーブルにコンテンツ保持ノード装置の位置情報を記憶させたり、他 のノード装置 1のインデックステーブルにコンテンツ保持ノード装置の位置情報を記 '隐させたりすることができる。
[0093] ところで、ノード装置 1にお 、て、新たに記憶すべき管理対象コンテンツ保持ノード 装置の位置情報が発生した場合に、この管理対象コンテンツ保持ノード装置の位置 情報を自ルートノード装置のインデックステーブル 120に記憶するか否かの選択は、 たとえば、次のように判断する。なお、以下、ルートノード装置をルートノード装置 1D として説明する。 [0094] (1)管理情報記憶領域に所定数 (たとえば、図 7においては 13個)未満の第 1位置情 報 Aが記憶された状態で、新たに記憶すべきコンテンツ保持ノード装置の位置情報 が発生すると、自ルートノード装置 1Dのインデックステーブル 120Dに記憶する選択 をする。一方、管理情報記憶領域に所定数の第 1位置情報 Aが記憶された状態で、 新たに記憶すべきコンテンツ保持ノード装置の位置情報が発生すると、コンテンツ保 持ノード装置の位置情報を自ルートノード装置 1Dのインデックステーブル 120Dに記 憶しない選択をする。すなわち、管理対象コンテンツ保持ノード装置の位置情報を所 定数記憶した後は、他のノード装置のインデックステーブル 120に管理対象コンテン ッ保持ノード装置の位置情報を記憶させる。このように外部ノード装置のインデックス テーブルを利用して管理対象コンテンツ保持ノード装置の位置情報を記憶すること ができる。
[0095] (2)複数のリクエストノード装置から、自ルートノード装置 1D宛のコンテンツ検索メッ セージを単位時間あたり第 1所定量未満で受信している状態 (たとえば、コンテンツ データのストリーミング時間を単位時間として、当該単位時間に管理情報記憶領域に 記憶された第 1位置情報の数以上の送信要求がな!、状態)では、新たに記憶すべき 管理対象コンテンッ保持ノード装置の位置情報を、自ルートノード装置 1 Dのインデッ タステーブル 120Dに記憶する選択をする。一方、複数のリクエストノード装置から、 自ルートノード装置 1D宛のコンテンツ検索メッセージを単位時間あたり第 1所定量以 上で受信して!/、る状態では、新たに記憶すべき管理対象コンテンツ保持ノード装置 の位置情報を、自ルートノード装置 1Dのインデックステーブル 120Dに記憶しない選 択をする。
[0096] また、新たに記憶すべき管理対象コンテンツ保持ノード装置の位置情報を自ルート ノード装置 1Dのインデックステーブル 120Dに記憶しない選択をしたとき、ルートノー ド装置 1Dはこのコンテンツ保持ノード装置の位置情報を保持させる外部ノード装置 を決定する。コンテンツ保持ノード装置の位置情報を保持させる外部ノード装置の決 定は、ランダムなノード IDを演算出力することによって行う。そして、このように決定し たノード IDを宛先識別情報としてインデックス拡張要求メッセージを送信する。図 9は 、ノード ID「0010」のルートノード装置 1Dが新たに記憶すべき管理対象コンテンツ保 持ノード装置の位置情報を外部ノード装置に保持させるために、その外部ノード装置 をランダム演算により、ノード ID「2301」、「3102」を有するノード装置 1に決定した様子 を示している。そして、このように決定したノード ID「2301」、「3102」を有するノード装 置 1に対してインデックス拡張要求メッセージを送信する。
[0097] なお、コンテンツ保持ノード装置の位置情報を保持させる外部ノード装置を決定す る方法として、ランダムに決定したノード IDを有するノード装置 1を外部ノード装置と するのではなぐルートノード装置の近隣のノード装置 1を外部ノード装置として決定 するよう〖こしてもよい。このようにすることによって、コンテンツ酉己信システム S全体とし て捉えたときに均一にインデックス拡張を行うことができる。
[0098] ここで、「近隣のノード装置」とは、ルートノード装置と DHTルーティングにお!/ヽてノ ード IDが近いノード装置、或いは、ルートノード装置と物理ネットワークにおいて近い ノード装置を意味する。特に、近隣のノード装置をルートノード装置と物理ネットヮー クにおいて近いノード装置とする場合には、ルートノード装置力 外部ノード装置へ のコンテンツ検索メッセージの転送を短時間で行うことができる。なお、「物理ネットヮ ークにおいて近い」とは、ルートノード装置からのメッセージ到達時間が短い、或いは ルートノード装置からのポップ数 (ルータを経由する数)が少ない等を意味する。ルー トノード装置は、ランダムに算出したノード IDを有する複数のノード装置の中力 最も 近いノード装置を選択して、当該ノード装置を外部ノード装置とする。
[0099] また、コンテンツ保持ノード装置の位置情報を保持させる外部ノード装置を決定す る方法として、コンテンツ配信システム Sに参カ卩中のノード装置 1の状態を集中的に監 視する状態監視サーバ装置 (たとえば、コンテンツ管理装置 10に当該機能をもたせ るようにしてもよい。)を配置し、この状態監視サーバ装置力も外部ノード装置を通知 してもらうことにより外部ノード装置を決定するようにしてもよい。ただし、この方法では 、状態監視サーバ装置へ種々の管理メッセージが集中することが考えられるため、本 実施形態においては、ランダムに外部ノード装置を決定するようにし、ノード装置が 自立的に外部ノード装置を決定することができるようにしている。
[0100] 以上のようにして、ルートノード装置が外部ノード装置に対してインデックス拡張要 求メッセージを送信して肯定応答を得た後は、該外部ノード装置に対して直接種々 の要求を行えるようになる。たとえば、ルートノード装置は、外部ノード装置に対して、 配信元情報追加要求メッセージ、配信元情報削除要求メッセージ、配信元情報取得 要求メッセージなどを行うことができる。以下具体的にこれらの要求メッセージを説明 する。
[0101] (配信元情報追加要求メッセージ)
配信元情報追加要求メッセージは、外部ノード装置に対して、コンテンツデータ配 信元情報の追加要求を行うためのメッセージである。
[0102] ルートノード装置は、単位時間当たりのコンテンツ検索メッセージを常時監視し、一 定の閾値 Tu (たとえば、 Tu=0. 8)以上になったらコンテンツ保持ノード装置を新た に追加する。ここで、閾値 Tu= (1ストリーミング時間のコンテンツ検索メッセージの数 ) / (管理情報記憶領域に記憶された位置情報の数)、であるとする。
[0103] 図 10に示すように、ルートノード装置(ここでは、ノード ID「0010」を有するノード装 置とする)は、現在コンテンツ保持ノード装置となっていないノード装置のノード IDの うち適当(たとえば、ランダム)なノード IDを算出し、当該ノード IDのノード装置に対し て自ノード装置が管理するコンテンツデータを送信する。ルートノード装置力もコンテ ンッデータを受信したノード装置は、コンテンツデータを記憶してコンテンツ保持ノー ド装置として、登録メッセージをルートノード装置へ向けて送信し、ルートノード装置 はその登録メッセージを受信し、当該登録メッセージに含まれるコンテンツ保持ノード 装置の位置情報を第 1位置情報として管理情報記憶領域に記憶する。
[0104] なお、ルートノード装置がコンテンツデータを送信することによってコンテンツ保持ノ ード装置を生成するのではなぐルートノード装置がコンテンツ管理装置 10に対して コンテンツ保持ノード装置の生成を依頼するようにしてもよい。たとえば、図 11に示す ように、ルートノード装置は、コンテンツ管理装置 10に対して、コンテンツ保持ノード 装置生成要求を行う。コンテンツ管理装置 10は、ルートノード装置からのコンテンツ 保持ノード装置生成要求に対して、現在コンテンツ保持ノード装置となっていないノ ード装置のノード IDのうち適当(たとえば、ランダム)なノード IDを算出し、当該ノード I Dのノード装置に対してルートノード装置から要求があったコンテンツデータを送信 する。コンテンツデータを受信したノード装置は、コンテンツデータを記憶してコンテ ンッ保持ノード装置として、登録メッセージをルートノード装置へ送信し、ルートノード 装置はその登録メッセージを受信し、当該登録メッセージに含まれる管理対象コンテ ンッ保持ノード装置の位置情報を第 1位置情報として管理情報記憶領域に記憶する
[0105] ただし、ルートノード装置における管理情報記憶領域がフル状態(図 7においては、 第 1位置情報が 13個)となっているときには、前回、拡張インデックスを生成した外部 ノード装置に対して管理対象コンテンツ保持ノード装置の位置情報を含むコンテンツ データ配信元情報を追加する。拡張インデックスへ管理対象コンテンツ保持ノード装 置の位置情報を追加する際には、 DHTルーティングを用いるのではなぐコンテンツ 配信元追加要求メッセージを直接外部ノード装置へ送信する形態を用いる。このよう に外部ノード装置へ直接送信できるのは、上述のインデックス拡張要求メッセージに よって外部ノード装置の位置情報が判明して 、る為である。この拡張インデックスを 保持する外部ノード装置にぉ 、て、非管理コンテンツの非管理記憶情報領域がフル 状態となっていた場合には、この外部ノード装置力 さらに別の外部ノード装置に対 してインデックステーブルを拡張する処理が行われる。
[0106] 外部ノード装置は、コンテンツ配信元追加要求メッセージを受信すると、拡張管理 情報記憶領域に第 3位置情報として配信元情報を追加する。ただし、拡張管理情報 記憶領域の第 3位置情報がフル状態のときなど、自ノード装置で保持しないには、別 の外部ノード装置に対して拡張インデックスを設定する。
[0107] (配信元情報削除要求メッセージ)
配信元情報削除要求メッセージは、外部ノード装置に対して、その拡張したコンテ ンッデータ配信元情報の削除要求を行うためのメッセージである。
[0108] ルートノード装置では単位時間当たりのコンテンツ検索メッセージを常時監視し、一 定の閾値 T1 (たとえば、 T1=0. 5)以下になったとき、コンテンツデータ配信元情報を 1つ削除する。コンテンツデータ配信元情報の削除は、インデックステーブル 120の 拡張管理情報記憶領域に第 2位置情報 Βが記憶されて 、な 、場合には、管理情報 記憶領域に記憶しているコンテンツデータ配信元情報を 1つ削除する。一方、拡張 管理情報記憶領域に第 2位置情報 Βが記憶されて 、る場合、この拡張管理情報記 憶領域に記憶してあるコンテンツデータ配信元情報力 優先的に削除して 、く。ここ で、閾値 τι= (1ストリーミング時間のコンテンツ検索メッセージの数) Z (管理情報記 憶領域に記憶された位置情報の数)、であるとする。
[0109] 拡張インデックスがチェーン状に連結されている場合、たとえば、図 12に示すように 、インデックステーブル 120Dの第 2位置情報 Βに外部ノード装置 1E及び外部ノード 装置 1Fの位置情報力 インデックステーブル 120Fの第 4位置情報 Dに外部ノード装 置 1G及び外部ノード装置 1Hの位置情報力 インデックステーブル 120Hの第 4位置 情報 Dに外部ノード装置 IIの位置情報が記憶され、インデックステーブル 120E, 12 OG, 1201の第 3位置情報 Cにコンテンツデータ配信元情報が記憶されて 、る場合、 このようにチェーン状に連結されたインデックステーブルの末端部であるインデックス テーブル 1201から配信元情報が削除されていくかたちとなる。そして、外部ノード装 置 IIにおいて、インデックス拡張された非管理情報記憶領域が空になったら、インデ ックス拡張委託元の関連する Extensionエントリを削除する。すなわち、外部ノード装 置 IIは、インデックス拡張委託元である外部ノード装置 1Hに対して、 Extensionェント リの削除要求を行い、この削除要求に応じてノード装置 1Hは、外部ノード装置 IIに 関連する拡張非管理情報記憶領域の第 4位置情報 Dを削除する。そして、外部ノー ド装置 1Hはインデックステーブル 120Hの拡張非情報記憶領域の第 4位置情報 Dを 削除した後、インデックス拡張委託元である外部ノード装置 1Fに対して、 Extensionェ ントリの削除要求を行い、外部ノード装置 1Fのインデックステーブル 120Fの拡張非 管理情報記憶領域における外部ノード装置 1Hの位置情報である第 4位置情報 Dを 削除する。外部ノード装置に対してコンテンツデータ配信元情報の削除依頼をする 場合は、コンテンツデータ配信元情報の追加処理と同様、直接外部ノードへコンテン ッデータ配信元情報削除要求メッセージを送信する。
[0110] (配信元情報取得要求メッセージ)
配信元情報取得要求メッセージは、自ノード装置がルートノード装置としてコンテン ッ検索メッセージを受信したとき、このコンテンツ検索メッセージに対する応答を、拡 張インデックスを有する外部ノード装置力 返信させるために外部ノード装置へその 旨を要求するためのメッセージであり、コンテンツ検索メッセージの宛先ノード装置を 外部ノード装置に変更して転送されるメッセージである。
[0111] ルートノード装置は、任意の外部ノード装置力 コンテンツ検索メッセージを受信す る。コンテンツ検索メッセージを受信したルートノード装置では、まず、コンテンツ検索 メッセージに含まれているコンテンツ検索メッセージ発行時刻力もこのコンテンツ検索 メッセージを受信するまでに経過した時間を計算する。そして、経過時間が閾値 Ts ( 例: Ts = 200ms)を下回っている場合には、図 13 (a)に示すように、拡張インデックス 力 コンテンツデータ配信元情報を取得するため、拡張インデックスを保持して 、る 外部ノード装置へ当該コンテンツ検索メッセージの転送、すなわち配信元情報取得 要求メッセージの送信を行う。当該配信元情報取得要求メッセージを受信した外部ノ ード装置にぉ 、て、コンテンツデータ配信元情報を第 3位置情報として保持して 、る 場合には、当該第 3位置情報を含むコンテンツデータ配信元情報をコンテンツ検索メ ッセージの送信元ノード装置へ送信し、一方、コンテンツデータ配信元情報を第 3位 置情報として保持していない場合には、さらに外部ノード装置の拡張インデックスから コンテンツデータ配信元情報を返信させる手続きをとる。他方、ルートノード装置にお V、て、配信元情報取得要求メッセージを受信した時点で閾値 Tsを超過して 、ること を検知した場合には、図 13 (b)に示すように、 自ノード装置のインデックステーブル からコンテンツデータ配信元情報を取得して配信元情報取得要求メッセージに応答 する。
[0112] また、図 13に示すように、拡張インデックスがチェーン状に連結されている場合、コ ンテンッ検索メッセージの到達時間によって、拡張インデックスを有するノード装置の うち、コンテンツ検索メッセージに応答させるノード装置を変更するようにしてもよい。 たとえば、経過時間が 0. 5Ts以下の場合には、インデックステーブル 1201からコン テンッデータ配信元情報を返信させ、 0. 5<Ts≤0. 7の場合には、インデックステ 一ブル 120G力ら返信させ、 0. 7<Ts≤l. 0の場合には、インデックステーブル 120 Eから返信させるのである。
[0113] この処理方式は、ルートノード装置に早期に到達したコンテンツ検索メッセージに 対しては拡張インデックス力 コンテンツデータ配信元情報を取り出し、逆にルートノ ード装置に遅れて到達したコンテンツ検索メッセージに対してはルートノード装置の インデックス力 直接コンテンツデータ配信元情報を取り出すように処理を行うことで 、コンテンツ検索メッセージの応答時間を平準化することを目的とする。
[0114] なお、上記の如くリクエストノード装置が送信したコンテンツ検索メッセージの到達 時間に基づ!/、て、自ノード装置のインデックステーブルと外部ノード装置のインデック ステーブルとの 、ずれかを選択するようにしたが、コンテンツ検索メッセージの到達順 番によりその選択をするようにしてもよい。すなわち、早く到着したコンテンツ検索メッ セージに対してはルートノード装置のインデックステーブルを選択し、遅く到着したコ ンテンッ検索メッセージに対しては外部ノード装置のインデックステーブルを選択す るのである。
[0115] また、コンテンツ検索メッセージの到達時間や到達順番に関係なぐランダムにその 選択をするようにしてもよい。この場合、自ノード装置のインデックステーブルと外部ノ ード装置のインデックステーブルとを等確率で選択するようにする方法や、管理情報 記憶領域と拡張管理情報記憶領域とに記憶する位置情報の割合に応じた確率で選 択する方法などがある。
[0116] [2.ノード装置 1の構成等の説明]
次に、図面を参照して、ノード装置 1の構成及び動作について説明する。図 14は、 本実施形態に係るコンテンツ配信システム Sにおけるノード装置 1の概略構成を示す 図である。
[0117] ノード装置 1は、専用のコンピュータのほ力、一般のパーソナルコンピュータを適用 可能であり、図 14に示すように、 CPU (Central Processing Unit) 102と、各種プログ ラム等を記憶する書き換え可能な主記憶装置としての第 1記憶部 103と、各種データ 等を記憶する HDD等力も構成された第 2記憶部 104と、ルータ 124を介してネットヮ ーク 8に参カ卩している他のノード装置 1との間で通信を行うためのネットワークインター フェイス 105と、ユーザによってノード装置 1を遠隔操作するために所定の赤外線信 号を送信及び受信するリモコン 106と、このリモコン 106と赤外線により通信を行うた めの赤外線ポート 107と、赤外線ポート 107を制御する周辺機器制御チップ 108と、 CPU102の制御によりイメージデータを受け取り、内部のビデオメモリ(図示せず)に 書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ 110に表示す るビデオチップ 109と、 FM音源や Wave Table音源などの音源を有し、オーディオ 信号を内蔵スピーカ 112に出力することによって内蔵スピーカ 112から音波を出力さ せる音源チップ 111と、を備えて構成され、これらの各種構成要素はシステムバス 10 1を介して相互に接続されている。なお、本実施形態においては、 CPU102と第 1記 憶部 103とで制御手段 113を構成している。
[0118] (第 1記憶部 103について)
また、第 1記憶部 103には、ノード装置 1のコンピュータとしての基本的な機能を提 供するためのオペレーティングシステム(OS)プログラム 114、ディスプレイ 110の制 御等を行うための画面制御プログラム 115、コンテンツ保持ノード装置として機能する 外部ノード装置力も送信されるコンテンツデータをストリーミング受信し、また自ノード 装置がコンテンツ保持ノード装置として機能するときには第 2記憶部 104に記憶した コンテンッデータをストリ一ミング配信するためのストリーム制御プログラム 116、外部 ノード装置力も送信されるメッセージをネットワークインターフェイス 105を介して受信 した力否かを判定し、受信したメッセージに応じた処理を行うためのメッセージ監視プ ログラム 117、ネットワークインターフェイス 105を介して受信したメッセージが自ノード 装置 1宛ではな!/、と判定すると、受信したメッセージの宛先識別情報とルーティング テーブルとに基づ 、て、受信したメッセージを転送するためのルーティング制御プロ グラム 118、配信されたコンテンツデータの再生等を行うためのプレイヤプログラム 11 9等を記憶しており、これらは CPU102によって読み出され、 CPU102によってこれ らのプログラムに従った機能が実行される。また、第 1記憶部 103には、さらにインデ ックステーブル 120 (図 7参照)の記憶領域であるインデックステーブル記憶領域ゃル 一ティングテーブル 121 (図 4参照)を記憶するためのルーティングテーブル記憶領 域 (ルーティングテーブル記憶手段の一例に相当)が設けられている。また、インデッ タステーブル 120は、上述のように管理情報記憶領域、拡張管理情報記憶領域、非 管理情報記憶領域、拡張非管理情報記憶領域を有しており、状況に応じた記憶領 域にコンテンツデータ配信元情報が格納される。
[0119] ここで、 OSプログラム 114は、 CPU102によって読み出されて実行されることにより 、リモコン 106の入出力に関する機能や、第 1記憶部 103や第 2記憶部 104などのメ モリ管理などのノード装置 1であるコンピュータの基本的な機能を実行可能にするも のである。そして、この OSプログラム 114が CPU102によって実行された状態で、上 述の画面制御プログラム 115、ストリーム制御プログラム 116、メッセージ監視プログ ラム 117、ルーティング制御プログラム 118、プレイヤプログラム 119等が第 1記憶部 103から読み出されて実行される。
[0120] なお、 OSプログラム 114、画面制御プログラム 115、ストリーム制御プログラム 116、 メッセージ監視プログラム 117、ルーティング制御プログラム 118、プレイヤプログラム 119等は、たとえば、ネットワーク 8に接続されたサーバ等から、ネットワークインター フェイス 105を介して、第 1記憶部 103にダウンロードされるようにしてもよぐ又 CD- ROM等の記録媒体に記録されてから当該記録媒体のドライブを介して、第 1記憶部 103に読み込まれるようにしてもょ 、。
[0121] (第 2記憶部 104について)
第 2記憶部 104には、コンテンツ管理装置 10カゝら投入され、コンテンツ配信システ ム S内にて提供されて!、るコンテンツがリストイ匕されたカタログリスト 122と、コンテンッ 管理装置 10等力も配信されたコンテンツデータ 123等を記憶する領域である。
[0122] (制御手段 113について)
制御手段 113は、上述のように CPU102と第 1記憶部 103とから構成され、 CPU1 02が第 1記憶部 103に記憶された各種プログラム 114〜119を読み出して実行する ことにより、ノード装置 1全体を統括制御し、かつ、後述する表示制御手段、ストリーム 制御手段、メッセージ宛先判定手段、配信元情報選択手段、コンテンツデータ配信 元情報返信手段、コンテンツデータ配信元情報送信要求転送手段、コンテンツデー タ配信元情報受信手段、位置情報管理手段、到達時間判定手段、位置情報返信手 段、管理情報割合変更手段、自ノード装置識別情報演算手段、コンテンツ識別情報 演算手段、登録メッセージ生成手段、登録メッセージ送信手段、メッセージ転送手段 、デコード手段、コンテンツ再生手段等として機能するようになっている。
[0123] なお、 CPU102が画面制御プログラム 115を実行することによって、表示制御手段 等として、また CPU102がストリーム制御プログラム 116を実行することによって、スト リーム制御手段等として、また CPU102がメッセージ監視プログラム 117を実行する ことによって、メッセージ宛先判定手段、配信元情報選択手段、コンテンツデータ配 信元情報返信手段、コンテンツデータ配信元情報送信要求転送手段、コンテンツデ ータ配信元情報受信手段、位置情報管理手段、到達時間判定手段、位置情報返信 手段、管理情報割合変更手段、自ノード装置識別情報演算手段、コンテンツ識別情 報演算手段、登録メッセージ生成手段、登録メッセージ送信手段等として、また CPU 102がルーティング制御プログラム 118を実行することによって、メッセージ転送手段 等として、また CPU102がプレイヤプログラム 119を実行することによってデコード手 段及びコンテンツ再生制御手段等として、それぞれ機能するようになって!/ヽる。
[0124] (表示制御手段について)
表示制御手段は、ビデオチップ 109及びディスプレイ 110を制御して、各種の映像 情報 (画像情報)を表示させる機能を有している。すなわち、表示制御手段は、デイス プレイ 110にどのように映像を表示させるかを制御する。
[0125] (ストリーム制御手段について)
ストリーム制御手段は、他のノード装置 1からストリーミング配信されるコンテンツデ ータを受信するコンテンツデータ受信手段、及び第 2記憶部 104に記憶したコンテン ッデータを他のノード装置 1ヘストリーミング配信するコンテンツデータ配信手段等と しての機能を有している。
[0126] コンテンツデータ受信手段は、他のノード装置 1から配信されるパケットがコンテンツ パケットであると判定されたときに、そのコンテンツパケットを 1パケットずつ受信し、図 示しない第 1記憶部 103のリングバッファに一時的に記憶する。また、コンテンツ配信 手段は、第 2記憶部 104に記憶したコンテンツデータをコンテンツパケットに変換し、 1パケットずつネットワークインターフェイス 105を介して他のノード装置 1へ送信する 。なお、コンテンツデータ受信手段やコンテンツデータ配信手段は、公知のストリーミ ング配信用プロトコルを用いることができるほか、独自の専用プロトコルを用いるように することちでさる。
[0127] (メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク 8を介して受信したメッセージの宛先識別 情報とルーティングテーブルとに基づいて、受信したメッセージが自ノード装置 1宛で あるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、上述 のコンテンツ検索メッセージ、登録メッセージ、配信元情報追加要求メッセージ、配信 元情報削除要求メッセージ、配信元情報取得要求メッセージなどである。
[0128] 受信したメッセージが自ノード装置 1宛である力否かの判定は、メッセージに含まれ る宛先ノード ID (宛先識別情報)を取り出し、第 1記憶部 103に記憶したルーティング テーブルに基づいて後述の制御手段 113が判定する。すなわち、各種のメッセージ をネットワークインターフェイス 105を介して受信したとき、メッセージ宛先判定手段は 、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶したノ ード IDとを比較し、メッセージに含まれる宛先識別情報と一番近 ヽルーティングテー ブル上のノード IDが自ノード装置 1のノード IDであると判定すると、自ノード装置 1宛 のメッセージであると判定する。
[0129] (配信元情報選択手段について)
配信元情報選択手段は、メッセージ宛先判定手段によりネットワーク 8を介して受信 したメッセージが自ノード装置 1宛であり、かつコンテンツ検索メッセージであると判定 すると、インデックステーブル力 第 1位置情報 Aと第 2位置情報 Bの 、ずれかを選択 する。たとえば、上記の如くリクエストノード装置が送信したコンテンツ検索メッセージ の到達時間に基づ 、て、自ノード装置のインデックステーブルと外部ノード装置のィ ンデッタステーブルとの 、ずれかを選択する。
[0130] (コンテンツデータ配信元情報返信手段にっ 、て)
コンテンツデータ配信元情報返信手段は、配信元情報選択手段によってインデック ステーブル 120の管理情報記憶領域の第 1位置情報 Aが選択されるとき、コンテンツ データ配信元情報を要求したノード装置 1へ第 1位置情報 Aをネットワーク 8を介して 返信する。
[0131] なお、コンテンツデータ配信元情報返信手段は、インデックステーブル 120の管理 情報記憶領域力も第 1位置情報 Aを選択するとき、インデックステーブル 120の紹介 時刻欄が一番古 、或 、は空白(まだ紹介されて 、な 、ため紹介時刻がな 、)の第 1 位置情報 Aを選択する。このように紹介時刻の古!、もの或!、はまだ紹介して 、な!/、コ ンテンッ保持ノード装置の位置情報を選択することによって、 1つのコンテンツ保持ノ ード装置にコンテンツデータの要求が集中しないようにすることができる。
[0132] (コンテンツデータ配信元情報送信要求転送手段にっ 、て)
コンテンツデータ配信元情報送信要求転送手段は、配信元情報選択手段によって 第 2位置情報 Bが選択されると、第 2位置情報 Bがを所在位置とするノード装置 1へコ ンテンッデータ配信元情報の送信要求を、ネットワーク 8を介して転送する。このコン テンッデータ配信元情報の送信要求の転送は、上述の如く配信元情報取得要求メッ セージを送信することによって行われる。
[0133] (コンテンツデータ配信元情報受信手段について)
コンテンツデータ配信元情報受信手段は、管理対象コンテンツ保持ノード装置から 、ネットワーク 8を介して管理対象コンテンツ保持ノード装置の位置情報を含むコンテ ンッデータ配信元情報の登録要求を受信する。
[0134] (位置情報管理手段について)
位置情報管理手段は、新たに記憶すべき管理対象コンテンツ保持ノード装置の位 置情報が発生したとき、当該管理対象コンテンツ保持ノード装置の位置情報を自ノ ード装置 1のインデックステーブルに保持する力否かを選択する。ここで、位置情報 管理手段は、コンテンツデータ配信元情報受信手段がコンテンツデータ配信元情報 の登録要求を受信したとき、新たに記憶すべき管理対象コンテンツ保持ノード装置の 位置情報が発生したと判定する。
[0135] また、位置情報管理手段は、インデックステーブル 120への保持を選択したとき、 前記管理対象コンテンツ保持ノード装置の位置情報をインデックステーブル 120の 管理情報記憶領域に記憶する。一方、自ノード装置 1のインデックステーブルへの保 持を選択しな!、とき、前記管理対象コンテンツ保持ノード装置の位置情報の含む管 理対象コンテンツデータ配信元情報の保持要求をネットワーク 8を介して他のノード 装置 1へ送信し、当該他のノード装置 1の位置情報をインデックステーブル 120の拡 張管理情報記憶領域に記憶する。なお、位置情報管理手段は、管理対象コンテンツ データ配信元情報の保持要求を送信するノード装置 1をランダムに決定する。
[0136] たとえば、位置情報管理手段は、インデックステーブル 120の管理情報記憶領域 に所定数の第 1位置情報 Aが記憶された状態 (たとえば、図 7に示すインデックステ 一ブルの場合には、 13個の第 1位置情報 Aが記憶された状態)で、新たに記憶すベ き管理対象コンテンツ保持ノード装置の位置情報が発生したとき、当該管理対象コン テンッ保持ノード装置の位置情報をインデックステーブル 120へ保持する選択をしな い。
[0137] また、位置情報管理手段は、自ノード装置 1宛のコンテンツ検索メッセージを、メッ セージ宛先判定手段により単位時間あたり第 1所定量以上を受信した場合、前記管 理対象コンテンツ保持ノード装置の位置情報をインデックステーブル 120へ保持する 選択をしない。
[0138] また、位置情報管理手段は、送信されたコンテンツデータ配信元情報の保持要求 である配信元情報追加要求メッセージをネットワーク 8を介して受信したときに、イン デッタステーブル 120の非管理情報記憶領域に所定数以上の第 3位置情報が記憶 されていると判定すると、他のノード装置 1へ転送されてきた配信元情報追加要求メ ッセージを更に転送し、他のノード装置 1の位置情報を第 4位置情報としてインデック ステーブル 120の拡張非管理記憶領域に記憶する。
[0139] また、自ノード装置 1宛のコンテンツ検索メッセージを、メッセージ宛先判定手段に より単位時間あたり第 2所定量以上受信しな 、場合、インデックステーブル 120の拡 張管理情報記憶領域に記憶された第 2位置情報 Bのうち少なくとも一つの第 2位置 情報 Bを削除するとともに、削除した第 2位置情報 Bに対応するノード装置 1へコンテ ンッデータ配信元情報の保持取消の要求を行う。
[0140] (到達時間判定手段について)
到達時間判定手段は、メッセージ宛先判定手段によりネットワーク 8を介して受信し たッセージが自ノード装置 1宛であり、かつコンテンツ検索メッセージであると判定す ると、送信要求の発行時刻と送信要求を受信した時刻との差分が所定値未満の値で ある力否かを判定する。この判定は、コンテンツ検索メッセージに含まれる当該メッセ ージ発行時刻と図示しな 、時計手段によって計測された当該コンテンッ検索メッセ ージの受信時刻とに基づ 、て行われる。
[0141] (位置情報返信手段について)
位置情報返信手段は、到達時間判定手段によりコンテンツ検索メッセージの発行 時刻と送信要求を受信した時刻との差分が所定値未満の値であると判定すると、イン デッタステーブル 120の非管理情報記憶領域に記憶した第 2位置情報 Bを有するノ ード装置 1へコンテンツ検索メッセージを配信元情報取得要求メッセージとして転送 し、到達時間判定手段によりコンテンツ検索メッセージの発行時刻と送信要求を受信 した時刻との差分が所定値以上の値であると判定すると、前記管理情報記憶領域に 記憶した前記第 1位置情報 Aを、前記送信要求を送信したノード装置へ返信する。
[0142] (管理情報割合変更手段について)
管理情報割合変更手段は、インデックステーブル 120の管理情報記憶領域と拡張 管理情報記憶領域とに記憶する位置情報の割合を変更する。たとえば、自ノード装 置 1宛のコンテンツ検索メッセージを、メッセージ宛先判定手段により単位時間あたり 第 3所定量以上を受信した場合に、インデックステーブル 120の拡張管理情報記憶 領域の容量を増加させ、管理情報記憶領域の容量を低減するように位置情報の割 合を変更する。
[0143] (自ノード装置識別情報演算手段について)
自ノード装置識別情報演算手段は、自ノード装置固有の情報である IPアドレスを所 定のノ、ッシュ関数によって演算することによって自ノード装置 1の識別情報であるノー ド IDを算出する。
[0144] (コンテンツ識別情報演算手段について)
コンテンツ識別情報演算手段は、コンテンツデータの固有情報を上記の如く自ノー ド装置識別情報演算手段に用いるものと同一の所定のハッシュ関数によって演算す ることによってコンテンツデータの識別情報であるコンテンツ IDとする。
[0145] (登録メッセージ生成手段について)
ルートノード装置力もコンテンツデータを受信したとき、受信したコンテンツデータを コンテンツデータ記憶手段である第 2記憶部 104に記憶し、自ノード装置のノード ID 及び IPアドレスを含む登録メッセージを生成する。
[0146] (登録メッセージ送信手段について)
登録メッセージ送信手段は、登録メッセージ生成手段によって生成した登録メッセ ージを、第 2記憶部 104に記憶したコンテンツデータのコンテンツ IDに基づいて、ル 一ティングテーブルに記憶されたノード装置の識別情報から送信先ノード装置を選 択して送信する。例えば、図 4に示すようなルーティングテーブルを有しており、かつ 第 2記憶部 104に記憶したコンテンッデータのコンテンッ IDが「1231」である場合、登 録メッセージ送信手段は、ルーティングテーブル力もノード ID「1221」を送信先ノード 装置として選択し、当該ノード ID「1221」のノード装置の IPアドレス「21.13.21.13」を取 り出す。そして、当該 IPアドレス「21.13.21.13」を送信先ノード装置として登録メッセ一 ジを送信する。なお、この登録メッセージの宛先識別情報は「1231」となる。
[0147] (メッセージ転送手段について)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク 8を介して受信し たメッセージが自ノード装置宛ではないと判定されると、受信したメッセージの宛先識 別情報に基づ 、て、転送先のノード装置の位置情報をルーティングテーブルから取 り出し、転送先のノード装置へ受信したメッセージを転送する。
[0148] (デコード手段について)
デコード手段は、他のノード装置 1から送信されるコンテンツデータ等をディスプレイ 110に表示し、内蔵スピーカ 112から出力するためにデコードする。すなわち、他の ノード装置 1から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、 たとえば ASF、 WMA、 WMV等のデータ形式でエンコードされており、このようにェ ンコードされて ヽるコンテンツデータをディスプレイ 110やスピーカ 112から出力でき るようにデコードする。
[0149] (コンテンツ再生手段について)
コンテンツ再生手段は、第 1記憶部 103のリングバッファ力も成るノ ッファ領域に順 次記憶されたコンテンツデータを、順次再生するものであり、このとき制御手段 113は 、ストリーム制御プログラム 116に基づ!/、てビデオチップ 109及び音源チップ 111を 動作させることによりコンテンツデータが再生される。
[0150] [2. 1 各種処理の説明]
以下、ノード装置 1の詳細動作について、図 15〜図 18のフローチャートを用いて更 に具体的に説明する。図 15はノード装置 1におけるメイン処理を示すフローチャート 、図 16はノード装置 1におけるメッセージ処理を示すフローチャート、図 17はコンテン ッ保持ノード装置追加処理を示すフローチャート、図 18はインデックス拡張処理を示 すフローチャートである。
[0151] (ノード装置のメイン処理について)
図 15に示すように、ノード装置 1の電源がオン状態となると、制御手段 113は、各プ ログラム 114〜119を実行することによってノード装置 1内の初期設定を行う(ステツ プ S10)。
[0152] そして、制御手段 113は、自ノード装置 1のユーザ力もコンテンツ配信システム Sへ の参加要求があるか否かを判定する(ステップ S 11)。たとえば、リモコン 106にコンテ ンッ配信システム Sへの参加ボタンを設けておき、この参加ボタンをユーザが操作し た力否かにより、コンテンツ配信システム Sの参加を要求した力否かを判定する。
[0153] ステップ S11において、ユーザからコンテンツ配信システム Sへの参加要求があつ たと判定すると (ステップ Sl l : Yes)、制御手段 113は、自ノード装置固有の情報で ある IPアドレスを所定のハッシュ関数によって演算することによって自ノード装置 1の 識別情報であるノード IDを算出し、このノード IDと自ノード装置 1の IPアドレスとを含 む参カ卩要求メッセージをコンテンツ管理装置 10へ送信する(ステップ S12)。コンテン ッ管理装置 10は、ノード装置 1から参加要求メッセージを受信すると、当該参加要求 メッセージを送信したノード装置 1のノード IDを登録し、コンテンツ配信システム Sに 参加させる。
[0154] また、ステップ S 11において、ユーザからコンテンツ配信システム Sへの参加要求が ないと判定すると (ステップ Sl l :No)、制御手段 113は、コンテンツ管理装置 10から コンテンツ初期投入があった力否かを判定する (ステップ S13)。このコンテンツ初期 投入とは、自ノード装置 1がルートノード装置となるときに管理対象となるコンテンツ、 すなわち管理対象コンテンツのデータをコンテンツ管理装置 10から受け取ることによ つて行われる。
[0155] コンテンツ管理装置 10からコンテンツ初期投入があつたと判定すると (ステップ S13 : Yes)、制御手段 113は、コンテンツ管理装置 10から受信した管理対象コンテンツ のデータを第 2記憶部 104におけるコンテンツデータ記憶領域に記憶し、保持する( ステップ S14)。その後、制御手段 113は、後述する「コンテンツ保持ノード装置の追 加処理」(ステップ SI 5)を行う。
[0156] ステップ S13において、コンテンツ管理装置 10からコンテンツ初期投入はないと判 定すると (ステップ S 13 : No)、制御手段 113は、コンテンツ管理装置 10からカタログ リストを受信したかを判定する (ステップ S16)。このカタログリストは、コンテンツ配信 システム S内で提供されているコンテンツをリストイ匕したものであり、ノード装置のユー ザはこのカタログリストを用いて所望のコンテンツを選択することができる。
[0157] コンテンツ管理装置 10からカタログリストを受信すると (ステップ S16 : Yes)、制御手 段 113は、第 2記憶部 104のカタログリスト記憶領域に受信したカタログリストを記憶し 、保持する (ステップ S 17)。そして、制御手段 113は、ステップ S 17において記憶し たカタログリストに基づいてディスプレイ 110へ表示するためのコンテンツ選択用画面 データを生成し、画面表示用データを更新する (ステップ S 18)。
[0158] 一方、コンテンツ管理装置 10からカタログリストを受信しない (ステップ S16 :No)と き、制御手段 113は、外部ノード装置 1からネットワークインターフェイス 105を介して メッセージを受信した力否かを判定する (ステップ S 19)。そして、外部ノード装置 1か らメッセージを受信したと判定すると (ステップ S19 : Yes)、制御手段 113は、後述の 「メッセージ処理」(ステップ S20)を行う。
[0159] また、ステップ S19において、外部ノード装置 1からメッセージを受信しないと判定 すると(ステップ S19 :No)、インデックステーブル 120の配信時刻欄に基づいて、コ ンテンッ保持ノード装置のうち、現在コンテンッデータを配信中のコンテンッ保持ノー ド装置が占める割合 (以下、「配信率」と呼ぶ。)が 80%以上となっている力否かを判 定する (ステップ S21)。配信率が 80%以上であると判定すると (ステップ S21: Yes) 、制御手段 113は、後述する「コンテンツ保持ノード装置の追加処理」(ステップ S22) を行う。
[0160] 一方、配信率が 80%以上でない場合 (ステップ S21: No)、制御手段 113は、さら に配信率が 50%以下であるか否かを判定する (ステップ S23)。配信率が 50%であ ると判定すると (ステップ S23 : Yes)、制御手段 113は、さらにインデックステーブル 1 20の拡張管理情報記憶領域に第 2位置情報 Bが記憶されて 、るか否か、すなわち 拡張インデックスが有効か否かを判定する (ステップ S24)。拡張インデックスが有効 である場合 (ステップ S 24: Yes)、配信元情報削除要求メッセージを自ノード装置 1 の拡張インデックスとして機能して ヽる外部ノード装置 1へ送信する (ステップ S25)。 一方、拡張インデックスが有効でないと判定する(ステップ S24 :No)と、インデックス テーブル 120の管理情報記憶領域における第 1位置情報 Aの登録数を調べ (ステツ プ S26)、第 1位置情報 Aの登録数が 2以上である場合 (ステップ S26 : Yes)自ノード 装置 1のインデックステーブル 120のうち 1つの第 1位置情報 Aを削除する(ステップ S 27)。登録数が 2未満である場合 (ステップ S26 :No)は第 1位置情報 Aを削除しない 。なお、ステップ S26において、自ノード装置 1のインデックステーブル 120から第 1 位置情報 Aを削除する際、対応するコンテンツ保持ノード装置へコンテンツデータ削 除要求を送信する。
[0161] ステップ S23において、配信率が 50%より大きいと判定する(ステップ S23 :No)と、 制御手段 113は、ユーザからの検索要求がある力否かを判定する (ステップ S28)。 たとえば、コンテンツ配信システム Sで利用可能なコンテンツを一覧にしたカタログリ ストをディスプレイ 110に表示し、リモコン 106の操作によってカタログリストからコンテ ンッが選択された力否かにより、ユーザからの検索要求がある力否かを判定する。
[0162] ユーザ力も検索要求があつたと判定すると (ステップ S28 : Yes)、制御手段 113は、 検索要求があったコンテンツのタイトルを所定のハッシュ関数によって演算することに よってコンテンツデータの識別情報であるコンテンツ IDを算出する (ステップ S29)。 そして、制御手段 113は、このように算出したコンテンツ IDを宛先識別情報としたコン テンッ検索メッセージを生成し、ネットワークインターフェイス 105を介して、生成した コンテンツ検索メッセージを送信する (ステップ S30)。コンテンツ検索メッセージの送 信は、第 1記憶部 103に記憶しているルーティングテーブル 121に基づいて、送信先 ノード装置 1の IPアドレスを取り出し、この IPアドレスに対してコンテンツ検索メッセ一 ジを送信する。その後、制御手段 113は、このコンテンツ検索メッセージの宛先識別 情報に対応するルートノード装置等からの応答を待つ (ステップ S31)。制御手段 11 3は、ルートノード装置等力もコンテンツデータ配信元情報を受信すると (ステップ S3 1: Yes)、受信したコンテンツデータ配信元情報に含まれるコンテンツ保持ノード装 置の位置情報を宛先としてコンテンツ送信要求メッセージをネットワークインターフエ イス 105を介して行い、当該コンテンツ保持ノード装置力もコンテンツパケットを受信 するごとに、受信したコンテンツパケットからコンテンツデータを取り出して第 1記憶部 103のリングバッファ力も成るバッファ領域に順次記憶し、このようにリングバッファに 一時記憶されたコンテンツデータを順次再生する (ステップ S32)。
[0163] ステップ S12、 S15、 S18、 S20、 S22、 S25、 S27、 S32の処理力 S終了したとき、ま たはステップ S26にお 、て第 1位置情報 Aの登録数が 2以上ではな 、と判定したとき (ステップ S26 :No)、またはステップ S28においてユーザからの検索要求がないと判 定したとき (ステップ S28 :No)、制御手段 113は、 自ノード装置 1の電源が OFFとな つて 、るか否かを判定する(ステップ S33)。電源が OFFとなって!/ヽな 、とき(ステップ S33 :No)、ステップ S11の処理に移行し、電源が OFFとなっているとき(ステップ S3 3 : Yes)、処理を終了する。
[0164] (メッセージ受信処理について)
次に、ステップ S20におけるメッセージ処理について図 16を参照して具体的に説 明する。
[0165] 制御手段 113は、外部ノード装置 1から受信したメッセージが所定のメッセージ、す なわちコンテンツ検索メッセージである力、或いは配信元情報取得要求メッセージで あるか否かを判定する(ステップ S 101)。
[0166] 所定のメッセージを受信すると (ステップ S101 : Yes)、制御手段 113は、さらに、受 信したメッセージの最終宛先が自ノード装置 1である力否かを判定する (ステップ S10 2)。受信したメッセージの最終宛先が自ノード装置である力否かは、受信したメッセ ージの宛先識別情報とルーティングテーブルとに基づいて判定される。すなわち、受 信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶したノード I Dとを比較し、メッセージに含まれる宛先識別情報と一番近 、ルーティングテーブル 上のノード IDが自ノード装置 1のノード IDであると判定すると、自ノード装置 1宛のメッ セージであると判定するのである。
[0167] 受信したメッセージの最終宛先が自ノード装置 1であると判定すると (ステップ S 102 : Yes)、制御手段 113は、受信したメッセージの発行時刻と当該メッセージを受信し た時刻との差分、すなわち到達時間 Tsを算出する (ステップ S103)。受信したメッセ ージの発行時刻は、当該メッセージを送信したノード装置 1がメッセージ中に挿入し ており、制御手段 113は受信したメッセージ中の発行時刻を参照することによりメッセ ージの発行時刻を検出する。
[0168] 次に、制御手段 113は、受信したメッセージの到達時間 Tsが 200ms以上であるか 否かを判定する(ステップ S 104)。到達時間 Tsが 200ms以上であると判定すると (ス テツプ S104 : Yes)、制御手段 113は、インデックステーブル 120の管理情報記憶領 域に記憶した第 1位置情報 Aの 1つを取り出して、この第 1位置情報 Aを含むコンテン ッデータ配信元情報を取得し (ステップ S 105)、このように取得したコンテンツデータ 配信元情報を、前記所定メッセージを送信したノード装置 1へ送信する (ステップ S10
7)。一方、到達時間 Tsが 200msより小さいと判定すると (ステップ S104 :No)、制御 手段 113は、インデックステーブル 120の非管理情報記憶領域に記憶した第 2位置 情報 Bを有する外部ノード装置 1へ受信した所定メッセージを転送する (ステップ S10
8)。但し、ステップ S108において、非管理情報記憶領域に第 2位置情報 Bが記憶さ れて 、な 、場合には、インデックステーブル 120の管理情報記憶領域に記憶した第 1位置情報 Aの 1つを取り出して、この第 1位置情報 Aを含むコンテンツデータ配信元 情報を取得し、このように取得したコンテンツデータ配信元情報を、前記所定メッセ一 ジを送信したノード装置 1へ送信する。
[0169] また、ステップ S 102において、受信したメッセージの最終宛先が自ノード装置では ないと判定すると (ステップ S102 :No)、制御手段 113は、第 1記憶部 103に記憶し たルーティングテーブル 121に基づ 、て、受信したメッセージの転送先を決定し (ス テツプ S109)、当該メッセージを決定した転送先(中継先)ノード装置 1へ転送するこ とによって当該メッセージを中継する(ステップ S 110)。
[0170] ステップ S101にお!/、て、受信したメッセージが所定メッセージではな!/、と判定する と (ステップ S101 :No)、制御手段 113は、インデックス拡張要求メッセージを受信し た力否かを判定する (ステップ S111)。インデックス拡張要求メッセージを受信すると (ステップ Si l l : Yes)、制御手段 113は、インデックステーブル 120の非管理情報 記憶領域に空きがある力否か、すなわち第 3位置情報を新たに記憶する領域がある か否かを判定する(ステップ S 112)。 [0171] インデックステーブル 120の非管理情報記憶領域に空きがな 、場合 (ステップ S 11 2 : Yes)、制御手段 113は、インデックス拡張メッセージを送信したノード装置へ否定 応答、すなわちインデックス拡張ができない旨の返信をする (ステップ S 113)。一方、 インデックステーブル 120の非管理情報記憶領域に空きがある場合 (ステップ S112: No)、制御手段 113は、自ノード装置におけるインデックステーブル 120の非管理情 報記憶領域に保持する力否かを判定する (ステップ S 114)。 自ノード装置の非管理 情報記憶領域に保持すると判定すると (ステップ S114 : Yes)、制御手段 113は、ィ ンデッタス拡張メッセージを送信したノード装置へ肯定応答、すなわちインデックス拡 張ができる旨の返信をする (ステップ S115)。一方、自ノード装置の非管理情報記憶 領域に保持しないと判定すると (ステップ S114 :No)、制御手段 113は、受信したィ ンデッタス拡張要求メッセージを外部ノード装置へ転送する (ステップ S116)。
[0172] ステップ SI 11にお!/、て、インデックス拡張要求メッセージを受信して ヽな 、場合 (ス テツプ Sl l l :No)、制御手段 113は、配信元情報追加要求メッセージを受信したか 否かを判定する (ステップ S 117)。
[0173] 配信元情報追加要求メッセージを受信する (ステップ S 117 : Yes)と、制御手段 11 3は、自ノード装置におけるインデックステーブル 120の非管理情報記憶領域に保持 する力否かを判定する (ステップ S 118)。 自ノード装置の非管理情報記憶領域に保 持すると判定すると (ステップ S 118 : Yes)、制御手段 113は、受信した配信元情報 追加要求メッセージに含まれるコンテンツデータ配信元情報を自ノード装置 1のイン デッタステーブルに記憶する。たとえば、受信した配信元情報追加要求メッセージに 含まれるコンテンツ保持ノード装置の位置情報を自ノード装置 1のインデックステープ ルの非管理情報記憶領域に記憶することによって第 3位置情報を追加する (ステップ S119)。一方、自ノード装置の非管理情報記憶領域に保持しないと判定すると (ステ ップ S118 :No)、制御手段 113は、受信した配信元情報追加要求メッセージを外部 ノード装置へ転送する (ステップ S 120)。
[0174] また、配信元情報追加要求メッセージを受信しないとき (ステップ S117 :No)と、制 御手段 113は、配信元情報削除要求メッセージを受信したか否かを判定する (ステツ プ S121)。 [0175] 配信元情報削除要求メッセージを受信する (ステップ S121: Yes)と、制御手段 11 3は、さらに、自ノード装置 1のインデックステーブル 120を拡張しているか否かを判 定する(ステップ S122)。そして、ノード装置 1のインデックステーブル 120を拡張して いると判定すると (ステップ S122 :Yes)、制御手段 113は、インデックス拡張した外 部ノード装置 1へ配信元情報削除要求メッセージを転送する (ステップ S123)。ステ ップ S 123において、インデックス拡張した外部ノード装置 1を複数記憶している場合 には、制御手段 113はランダムに 1つの外部ノード装置 1を選択して、選択した外部ノ ード装置 1へ配信元情報削除要求メッセージを転送する。一方、ノード装置 1のイン デッタステーブル 120を拡張していないと判定すると (ステップ S122 :No)、制御手 段 113は、自ノード装置 1のインデックステーブル 120の非管理情報記憶領域力も第 3位置情報を一つ削除する (ステップ S124)。ステップ S124において、非管理情報 記憶領域に第 3位置情報を複数記憶している場合には、制御手段 113はランダムに 1つの第 3位置情報を選択して、選択した第 3位置情報を削除する。
[0176] ステップ S107、 S108、 S110、 S113、 S115、 S116、 S119、 S120, S123. S12 4の処理が終了したとき、またはステップ SI 21において配信元情報削除要求メッセ ージを受信していないと判定したとき (ステップ S121 :No)、制御手段 113は、当該メ ッセージ処理を終了する。
[0177] なお、ステップ S121〜S124において、制御手段 113は、自ノード装置のインデッ タステーブルを拡張して 、る力否かを判定し、インデックステーブルを拡張して 、る場 合には、配信元情報削除要求メッセージを転送し、インデックステーブルを拡張して V、な 、場合には、自ノード装置のインデックステーブルの非管理情報記憶領域から 第 3位置情報を一つ削除するようにしたが、以下のように制御するようにしてもょ 、。
[0178] たとえば、ノード装置のインデックステーブルの非管理情報記憶領域に削除対象の 第 3位置情報が存在するか否かを判定し、非管理情報記憶領域に削除対象の第 3 位置情報が存在するときには、自ノード装置のインデックステーブルの非管理情報記 憶領域から削除対象の第 3位置情報を削除し、削除対象の第 3位置情報がな 、と判 定すると、インデックス拡張した外部ノード装置へ当該配信元情報削除要求メッセ一 ジを転送するように制御手段 113によって制御する。 [0179] (コンテンツ保持ノード装置追加処理にっ ヽて)
次に、ステップ S15, S22におけるコンテンツ保持ノード装置追加処理について図 1 7を参照して具体的に説明する。
[0180] 制御手段 113は、まず第 2記憶部 104に記憶した管理対象コンテンツのデータを取 り出し、コンテンツ保持ノード装置となるべきノード装置へ送信する。このコンテンツ保 持ノード装置となるべきノード装置は、制御手段 113によってランダムに決定される。 すなわち、ランダム演算によってランダムな値を算出し、このランダムな値を所定のハ ッシュ関数によって演算し、これをコンテンツ保持ノード装置となるべきノード装置のノ ード IDとする。そして、制御手段 113は、決定したノード装置に対してコンテンツデー タ保持要求及びコンテンツデータを送信し、管理対象コンテンツのデータを保持させ る。なお、制御手段 113によって上記の如くコンテンツ保持ノード装置を生成する場 合、制御手段 113は、管理対象コンテンツのコンテンツ IDや配信時刻、或いはコンテ ンッ保持ノード装置のノード IDを知っていることになるため、コンテンツ保持ノード装 置の所在位置のみを登録メッセージとして当該コンテンツ保持ノード装置カゝら送信さ せることによって、コンテンツデータ配信元情報を取得する。
[0181] 決定したノード装置力 管理対象コンテンツのデータを保持したことを示す登録メッ セージを受信すると、次に、インデックステーブル 120の管理情報記憶領域に空きが あるか、すなわち第 1位置情報を新たに記憶する領域がある力否かを判定する (ステ ップ S 201)。
[0182] 制御手段 113は、自ノード装置 1のインデックステーブル 120の管理情報記憶領域 に空きがな!、と判定すると (ステップ S201: Yes)、後述の「インデックス拡張処理」を 行う(ステップ S202)。一方、自ノード装置 1のインデックステーブル 120の管理情報 記憶領域に空きがあると判定すると (ステップ S201 :No)、制御手段 113は、インデッ タステーブル 120の管理情報記憶領域に追加したコンテンツ保持ノード装置の位置 情報を第 1位置情報として記憶する (ステップ S 203)。ステップ S202及びステップ S2 03の処理が終了すると、コンテンツ保持ノード装置の追加処理を終了する。
[0183] (インデックス拡張処理について)
次に、 S202おけるインデックス拡張処理について図 18を参照して具体的に説明 する。
[0184] まず、制御手段 113は、インデックステーブルを拡張するために、インデックステー ブルを拡張するための外部ノード装置をランダムに決定する。すなわち、ランダム演 算によってランダムな値を算出し、このランダムな値を所定のノ、ッシュ関数によって演 算し、これを送信先となるべきノード装置のノード IDとする (ステップ S301)。次に、制 御手段 113は、インデックス拡張メッセージを、当該ノード IDを有するノード装置へ送 信する。(ステップ S 302)。
[0185] その後、制御手段 113は、外部ノード装置力も応答があるのを所定期間待つ (ステ ップ S303)。所定期間内に外部ノード装置から応答があると、この応答が肯定応答、 すなわちインデックステーブルの拡張ができる旨の返信を受信するカゝ否かを判定す る (ステップ S304)。外部ノード装置から肯定応答を受信すると、制御手段 113は、 外部ノード装置へ配信元情報追加要求メッセージを送信し (ステップ S305)、インデ ックス拡張処理を終了する。一方、外部ノード装置から否定応答、すなわちインデック ステーブルの拡張ができない旨の返信を受信すると (ステップ S304 : No)、ステップ S301の処理に戻り、再度別のノード IDを有する外部ノード装置へインデックス拡張メ ッセージを送信し、この処理をインデックステーブルの拡張ができるまで継続して行う
[0186] 以上のように、本実施形態におけるコンテンツ配信システム Sにおけるノード装置は
、ルートノード装置として機能するとき、すなわちネットワークを介して自ノード装置宛 のコンテンツ検索メッセージを受信すると、ルーティングテーブル力ゝら第 1位置情報と 第 2位置情報のいずれかを選択する。第 1位置情報を選択するとき、コンテンツ検索 メッセージを送信したノード装置へ第 1位置情報を返信し、第 2位置情報を選択する とき、第 2位置情報のノード装置へ配信元情報取得要求メッセージを送信する。した がって、外部ノード装置の情報記憶領域を利用することができ、セットトップボックスな どのように記憶容量が小さいノード装置であっても、ルートノード装置としての機能す ることがでさる。
[0187] なお、本実施形態においては、第 2位置情報を選択するとき、第 2位置情報のノー ド装置へ配信元情報取得要求メッセージを送信するようにしたが、これに限られず、 たとえば、コンテンツ検索メッセージを転送するようにしてもよい。すなわち、ノード装 置からの「コンテンツデータ配信元情報の送信要求」或 、はその旨の情報が転送さ れるようにすれば、どのような形で送信されてもよい。
[0188] 更にまた、本実施形態においては、コンテンツ保持ノード装置の生成をルートノード が指示していた力 コンテンツ管理装置 10がコンテンツ保持ノード装置となるべきノ ード装置を決定して管理対象コンテンツデータを配布するような場合やコンテンツを 視聴する際にコンテンツデータをダウンロードしてコンテンツ保持ノード装置となる場 合など、ルートノード装置がコンテンツ保持ノード装置となるべきノード装置を決定し ないような場合には、コンテンツ保持ノード装置となったノード装置力も登録メッセ一 ジを受信したときを配信元情報追加イベントの発生としてもよい。この場合、ノード装 置 1は、ルートノード装置として機能する際に、管理対象コンテンツ保持ノード装置か ら、ネットワーク 8を介して当該管理対象コンテンツ保持ノード装置の位置情報を含む 登録メッセージ (コンテンツデータ配信元情報の登録要求)を受信するコンテンツデ ータ配信元情報受信手段を有し、コンテンツデータ配信元情報受信手段が登録メッ セージを受信したとき、新たに記憶すべき管理対象コンテンツ保持ノード装置の位置 情報が発生したと判定する。
[0189] 更にまた、配信元情報追加イベントの発生が登録メッセージを受信したときであつ たが、本実施形態のように、ルートノードがコンテンツ保持ノード装置を生成させる場 合には、コンテンツ保持ノード装置の生成したときに配信元情報追加イベントを発生 させてちょい。
[0190] 更にまた、本実施形態にぉ 、ては、インデックステーブルを拡張するためにルートノ ード装置力 外部ノード装置に対して配信元情報追加要求メッセージを送信すること とした力 コンテンツ管理装置 10がコンテンツ保持ノード装置となるべきノード装置を 決定して管理対象コンテンツデータを配布するような場合、コンテンツ保持ノード装 置となったノード装置力 登録メッセージをそのまま転送することで配信元情報追カロ 要求メッセージとするようにしてもよ 、。
[0191] 更にまた、本実施形態にぉ 、ては、インデックステーブルに記憶するコンテンツデ ータ配信元情報における位置情報としてコンテンツ保持ノード装置の IPアドレスを例 に説明したが、コンテンツ保持ノード装置の位置情報として IPアドレスではなぐコン テンッ保持ノード装置におけるノード IDなどの識別情報を位置情報にするようにして ちょい。
[0192] また、本発明は、上記実施形態に限定されるものではない。上記実施形態は、例示 であり、本発明の請求の範囲に記載された技術的思想と実質的に同一な構成を有し 、同様な作用効果を奏するものは、いかなる場合であっても本発明の技術的範囲に 包含される。
[0193] また、 2006年 1月 20日に出願された明細書、特許請求の範囲、図面、要約書を含 む日本の特許出願(No.2006-011889)の全ての開示は、その全てを参照することによ つて、ここに組み込まれる。

Claims

請求の範囲
ネットワーク上に分散配置された複数のノード装置力 構成され、前記ノード装置間 でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記ノード装置 であって、
前記複数のノード装置のうち一部のノード装置の識別情報と位置情報とを関連付 けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテ 一ブルとに基づいて、前記受信したメッセージが自ノード装置宛であるか否かを判定 するメッセージ宛先判定手段と、
前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが 自ノード装置宛ではないと判定されると、受信したメッセージの宛先識別情報に基づ いて、転送先のノード装置の位置情報を前記ルーティングテーブル力 取り出し、前 記転送先のノード装置へ前記受信したメッセージを転送するメッセージ転送手段と、 自ノード装置における管理対象のコンテンッデータを保持する管理対象コンテンッ 保持ノード装置の位置情報である第 1位置情報を記憶する管理情報記憶領域と、前 記管理対象コンテンツ保持ノード装置の位置情報を保持するノード装置の位置情報 である第 2位置情報を記憶する拡張管理情報記憶領域とを有する配信元情報記憶 手段と、
前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが 自ノード装置宛であり、かつコンテンツデータ配信元情報の送信要求であると判定さ れると、前記配信元情報記憶手段から第 1位置情報と第 2位置情報の 1ゝずれかを選 択する配信元情報選択手段と、
前記配信元情報選択手段によって前記第 1位置情報が選択されるとき、前記コン テンッデータ配信元情報を要求したノード装置へ前記第 1位置情報を前記ネットヮー クを介して返信するコンテンツデータ配信元情報返信手段と、
前記配信元情報選択手段によって前記第 2位置情報が選択されるとき、前記第 2 位置情報のノード装置へ前記コンテンツデータ配信元情報の送信要求を、前記ネッ トワークを介して転送するコンテンツデータ配信元情報送信要求転送手段と、 を備えたことを特徴とするノード装置。
[2] 新たに記憶すべき管理対象コンテンツ保持ノード装置の位置情報が発生したとき、 当該管理対象コンテンツ保持ノード装置の位置情報を前記配信元情報記憶手段に 保持するか否かを選択する位置情報管理手段を備え、
前記位置情報管理手段は、
前記配信元情報記憶手段への保持を選択したとき、前記管理対象コンテンツ保持 ノード装置の位置情報を前記管理情報記憶領域に記憶し、前記配信元情報記憶手 段への保持を選択しな 、とき、前記管理対象コンテンツ保持ノード装置の位置情報 を含む管理対象コンテンツデータ配信元情報の保持要求を、前記ネットワークを介し て他のノード装置へ送信し、前記他のノード装置の位置情報を前記拡張管理情報記 憶領域に記憶する
ことを特徴とする請求項 1に記載のノード装置。
[3] 前記管理対象コンテンツ保持ノード装置から、前記ネットワークを介して前記管理 対象コンテンツ保持ノード装置の位置情報を含むコンテンツデータ配信元情報の登 録要求を受信するコンテンツデータ配信元情報受信手段を有し、
前記位置情報管理手段は、
前記コンテンツデータ配信元情報受信手段がコンテンツデータ配信元情報の登録 要求を受信したとき、新たに記憶すべき管理対象コンテンツ保持ノード装置の位置 情報が発生したと判定することを特徴とする請求項 2に記載のノード装置。
[4] 前記位置情報管理手段は、
前記配信元情報記憶手段への保持を選択しな!、とき、前記管理対象コンテンツデ ータ配信元情報の保持要求を送信する前記ノード装置をランダムに決定することを 特徴とする請求項 2又は請求項 3に記載のノード装置。
[5] 前記位置情報管理手段は、
前記管理情報記憶領域に所定数の前記第 1位置情報が記憶された状態で、新た に記憶すべき管理対象コンテンツ保持ノード装置の位置情報が発生したとき、当該 管理対象コンテンツ保持ノード装置の位置情報を前記配信元情報記憶手段へ保持 する選択をしな 、ことを特徴とする請求項 2〜4の 、ずれか 1項に記載のノード装置。
[6] 前記位置情報管理手段は、
自ノード装置宛の前記コンテンツデータ配信元情報の送信要求を、前記メッセージ 宛先判定手段により単位時間あたり第 1所定量以上を受信した場合、前記管理対象 コンテンツ保持ノード装置の位置情報を前記配信元情報記憶手段へ保持する選択 をしな 、ことを特徴とする請求項 2〜5の 、ずれか 1項に記載のノード装置。
[7] 前記配信元情報記憶手段は、
外部ノード装置力 転送されてきた前記管理対象コンテンツ保持ノード装置の位置 情報である第 3位置情報を記憶する非管理情報記憶領域と、外部ノード装置から転 送されてきた前記管理対象コンテンツ保持ノード装置の位置情報を保持させたノード 装置の位置情報である第 4位置情報を記憶する拡張非管理情報記憶領域とを有し、 前記位置情報管理手段は、
前記管理対象コンテンツデータ配信元情報の保持要求を前記ネットワークを介して 受信したときに、前記非管理情報記憶領域に所定数以上の第 3位置情報が記憶さ れて 、ると判定すると、前記管理対象コンテンツデータ配信元情報の保持要求を更 に転送し、前記他のノード装置の位置情報を前記第 4位置情報として前記拡張非管 理記憶領域に記憶する
ことを特徴とする請求項 2〜6のいずれ力 1項に記載のノード装置。
[8] 前記位置情報管理手段は、
自ノード装置宛の前記コンテンツデータ配信元情報の送信要求を、前記メッセージ 宛先判定手段により単位時間あたり第 2所定量以上受信しない場合、前記拡張管理 情報記憶領域に記憶された前記第 2位置情報のうち少なくとも一つを削除するととも に、前記削除した第 2位置情報に対応するノード装置へ前記コンテンツデータ配信 元情報の保持取消の要求を行うことを特徴とする請求項 2〜7のいずれか 1項に記載 のノード装置。
[9] 前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが 自ノード装置宛であり、かつ前記コンテンツデータ配信元情報の送信要求であると判 定すると、前記送信要求の発行時刻と前記送信要求を受信した時刻との差分が所定 値未満の値である力否かを判定する到達時間判定手段と、 前記到達時間判定手段により前記差分が前記所定値未満の値であると判定すると
、前記拡張管理情報記憶領域に記憶した前記第 2位置情報を有するノード装置へ 前記送信要求を転送し、前記到達時間判定手段により前記差分が前記所定値以上 の値であると判定すると、前記管理情報記憶領域に記憶した前記第 1位置情報を、 前記送信要求を送信したノード装置へ返信する位置情報返信手段と、
を備えたことを特徴とする請求項 2〜8のいずれ力 1項に記載のノード装置。
[10] 前記管理情報記憶領域と前記拡張管理情報記憶領域とに記憶する位置情報の割 合を変更する管理情報割合変更手段を設けたことを特徴とする請求項 1〜9のいず れか 1項に記載のノード装置。
[11] 前記管理情報割合変更手段は、
自ノード装置宛の前記コンテンツデータ配信元情報の送信要求を、前記メッセージ 宛先判定手段により単位時間あたり第 3所定量以上を受信した場合に、前記拡張管 理情報記憶領域に記憶する第 2位置情報を増加させるように前記位置情報の割合を 変更することを特徴とする請求項 10に記載のノード装置。
[12] コンピュータに、請求項 1〜: L 1のいずれ力 1項に記載のノード装置の各手段として 機能させるためのプログラムがコンピュータ読み取り可能に記録されていることを特徴 とする記録媒体。
[13] ネットワーク上に分散配置された複数のノード装置から構成され、前記ノード装置間 でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記ノード装置 における情報処理方法にぉ 、て、
前記ノード装置は、
前記複数のノード装置のうち一部のノード装置の識別情報と位置情報とを関連付 けたルーティングテーブルを記憶するルーティングテーブル記憶手段と、
自ノード装置における管理対象のコンテンッデータを保持する管理対象コンテンッ 保持ノード装置の位置情報である第 1位置情報を記憶する管理情報記憶領域と、前 記管理対象のコンテンツ保持ノード装置の位置情報を保持するノード装置の位置情 報である第 2位置情報を記憶する拡張管理情報記憶領域とを有する配信元情報記 憶手段と、を備え、 前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテ 一ブルとに基づいて、前記受信したメッセージが自ノード装置宛であるか否かを判定 するメッセージ宛先判定ステップと、
前記ネットワークを介して受信したメッセージが自ノード装置宛ではな 、と判定され ると、受信したメッセージの宛先識別情報に基づいて、転送先のノード装置の位置情 報を前記ルーティングテーブルから取り出し、前記転送先のノード装置へ前記受信し たメッセージを転送するメッセージ転送ステップと、
前記ネットワークを介して受信したメッセージが自ノード装置宛であり、かつコンテン ッデータ配信元情報の送信要求であると判定されると、前記配信元情報記憶手段か ら第 1位置情報と第 2位置情報のいずれかを選択する配信元情報選択ステップと、 前記配信元情報選択手段によって前記第 1位置情報を選択するとき、前記コンテ ンッデータ配信元情報を要求したノード装置へ前記第 1位置情報を返信するコンテ ンッデータ配信元情報返信ステップと、
前記配信元情報選択手段によって前記第 2位置情報を選択するとき、前記第 2位 置情報のノード装置へ前記コンテンツデータ配信元情報の送信要求を転送するコン テンッデータ配信元情報送信要求転送ステップと、
を有することを特徴とするコンテンツ配信システムにおけるノード装置の情報処理方 法。
PCT/JP2007/050043 2006-01-20 2007-01-05 コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体 WO2007083531A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/219,067 US7882168B2 (en) 2006-01-20 2008-07-15 Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006011889A JP2007193626A (ja) 2006-01-20 2006-01-20 コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラム
JP2006-011889 2006-01-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/219,067 Continuation-In-Part US7882168B2 (en) 2006-01-20 2008-07-15 Contents distribution system, node apparatus and information processing method thereof, as well as recording medium on which program thereof is recorded

Publications (1)

Publication Number Publication Date
WO2007083531A1 true WO2007083531A1 (ja) 2007-07-26

Family

ID=38287485

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/050043 WO2007083531A1 (ja) 2006-01-20 2007-01-05 コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体

Country Status (3)

Country Link
US (1) US7882168B2 (ja)
JP (1) JP2007193626A (ja)
WO (1) WO2007083531A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013103012A1 (ja) * 2012-01-06 2013-07-11 富士通株式会社 情報処理装置、データ管理方法およびプログラム
US9130918B2 (en) 2009-09-21 2015-09-08 Thomson Licensing System and method for automatically verifying storage of redundant contents into communication equipments, by data comparison

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472936B1 (ko) 2008-04-30 2014-12-17 삼성전자주식회사 피투피 네트워크 시스템 및 그의 지역 기반 운용 방법
US9344438B2 (en) 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
WO2011039640A2 (en) * 2009-09-30 2011-04-07 France Telecom Data sharing method and system
JP2011076507A (ja) * 2009-09-30 2011-04-14 Brother Industries Ltd 情報処理装置、情報通信システム、情報処理方法及び情報処理用プログラム
CN101945207B (zh) * 2010-09-17 2013-01-16 福建新大陆通信科技股份有限公司 一种基于机顶盒升级数据的二维索引表快速缓冲方法
CN102143199A (zh) * 2010-10-19 2011-08-03 华为技术有限公司 获取内容的方法、节点及内容网络
US9444724B2 (en) 2011-01-19 2016-09-13 Nec Corporation Router, method for using cache when content server is unreachable, and program
JP5938211B2 (ja) * 2011-12-27 2016-06-22 株式会社東芝 医療情報検索装置
US20140351271A1 (en) * 2013-03-15 2014-11-27 Glss, Inc. Measuring participation in content propagation across a dynamic network topology
US9621401B1 (en) * 2013-08-08 2017-04-11 The Boeing Company Performing dynamic data analysis within a dynamic network
US9979656B2 (en) * 2015-12-07 2018-05-22 Oracle International Corporation Methods, systems, and computer readable media for implementing load balancer traffic policies
US10929341B2 (en) * 2017-04-28 2021-02-23 Netapp, Inc. Iterative object scanning for information lifecycle management
US10798609B2 (en) 2018-10-16 2020-10-06 Oracle International Corporation Methods, systems, and computer readable media for lock-free communications processing at a network node
US11531642B2 (en) * 2019-11-07 2022-12-20 Netapp, Inc. Synchronous object placement for information lifecycle management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188396A (ja) * 1997-09-12 1999-03-30 Toshiba Corp 通信装置
JP2005258942A (ja) * 2004-03-12 2005-09-22 Kanata Ltd 情報処理装置、システム、方法及びプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2786121B2 (ja) * 1995-01-26 1998-08-13 日本電気株式会社 Lan間接続ルータ
US6044076A (en) * 1995-06-09 2000-03-28 Canon Kabushiki Kaisha Network system for transmitting a plurality of channels, and node device, packet transmission method, terminal equipment connection table generation method, and connection information registration method used in the system
JP3332776B2 (ja) * 1996-02-02 2002-10-07 キヤノン株式会社 伝送制御方法及びそれを用いるネットワークシステム
JP3372455B2 (ja) * 1997-07-03 2003-02-04 富士通株式会社 パケット中継制御方法,パケット中継装置およびプログラム記憶媒体
US6396814B1 (en) 1997-09-12 2002-05-28 Kabushiki Kaisha Toshiba Network construction method and communication system for communicating between different groups via representative device of each group
JP4658412B2 (ja) 2001-09-20 2011-03-23 富士通株式会社 データ共有装置
JP3925188B2 (ja) * 2001-12-20 2007-06-06 日本電気株式会社 アプリケーションレイヤ・マルチキャスト方法及び中継ノードシステム
JP2003216521A (ja) 2002-01-28 2003-07-31 Nippon Telegr & Teleph Corp <Ntt> コンテンツの配置方法、この方法のプログラム、このプログラムを記録した記録媒体
JP4289084B2 (ja) 2002-08-30 2009-07-01 株式会社日立製作所 仮想一元化されたネットワークストレージ間のディスク残量平準化方法
US7146389B2 (en) 2002-08-30 2006-12-05 Hitachi, Ltd. Method for rebalancing free disk space among network storages virtualized into a single file system view
US7743022B2 (en) 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
JP4311636B2 (ja) * 2003-10-23 2009-08-12 株式会社日立製作所 記憶装置を複数の計算機で共用する計算機システム
JP4547170B2 (ja) 2004-03-08 2010-09-22 株式会社日立製作所 ディスクアレイ装置およびその制御方法
WO2006075424A1 (ja) 2005-01-13 2006-07-20 Brother Kogyo Kabushiki Kaisha 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
JP4599581B2 (ja) * 2005-02-08 2010-12-15 ブラザー工業株式会社 情報配信システム、配信要求プログラム、転送プログラム及び配信プログラム等
JP2007148545A (ja) * 2005-11-24 2007-06-14 Brother Ind Ltd 情報配信システム、情報配信方法、ノード装置、及びノード処理プログラム
TWI287376B (en) * 2005-12-27 2007-09-21 Ind Tech Res Inst Method and apparatus for mobility management in wireless networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1188396A (ja) * 1997-09-12 1999-03-30 Toshiba Corp 通信装置
JP2005258942A (ja) * 2004-03-12 2005-09-22 Kanata Ltd 情報処理装置、システム、方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TAKEMOTO D. ET AL.: "Load Balancing Schemes for Dynamic System Configuration in Content-Addressable Network", IEICE TECHNICAL REPORT, vol. 103, no. 248, 29 July 2003 (2003-07-29), pages 13 - 18, XP003013413 *
YOSHIDA N. ET AL.: "Dynamic Optimization of Peer-to-Peer Systems by Autonomous Index-Server Formation", THE IEICE TRANSACTIONS ON COMMUNICATIONS, vol. J86-B, no. 8, 1 August 2003 (2003-08-01), pages 1445 - 1453, XP003015812 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9130918B2 (en) 2009-09-21 2015-09-08 Thomson Licensing System and method for automatically verifying storage of redundant contents into communication equipments, by data comparison
WO2013103012A1 (ja) * 2012-01-06 2013-07-11 富士通株式会社 情報処理装置、データ管理方法およびプログラム
JPWO2013103012A1 (ja) * 2012-01-06 2015-05-11 富士通株式会社 情報処理装置、データ管理方法およびプログラム

Also Published As

Publication number Publication date
US20080281982A1 (en) 2008-11-13
US7882168B2 (en) 2011-02-01
JP2007193626A (ja) 2007-08-02

Similar Documents

Publication Publication Date Title
WO2007083531A1 (ja) コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
JP4640307B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
US20090037445A1 (en) Information communication system, content catalog information distributing method, node device, and the like
WO2008026400A1 (fr) Système de distribution de contenu, procédé de traitement d&#39;information dans un système de distribution de contenu, dispositif terminal et support d&#39;enregistrement incorporant son programme enregistré
JP2006191489A (ja) ノード装置、ネットワーク参加処理プログラム、及びネットワーク参加処理方法等
JP2008294626A (ja) コンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラム
WO2007119418A1 (ja) 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
JP4692414B2 (ja) 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
JP2008250569A (ja) コンテンツ配信システム及びその情報処理方法並びにコンテンツ管理装置及びそのプログラム
WO2006103800A1 (ja) 情報処理装置及び蓄積装置、情報処理方法及び蓄積方法並びに情報処理用プログラム及び蓄積装置用プログラム
JP2008129694A (ja) 情報配信システム、情報配信方法、配信装置及びノード装置等
JP2007200203A (ja) 情報配信システム、再登録メッセージ送信方法、ノード装置、及びノード処理プログラム
JP2007058597A (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラム
WO2008013036A1 (fr) Dispositif de nœud, support d&#39;enregistrement contenant un programme de traitement d&#39;informations, procédé de distribution de contenu et système de distribution de contenu
JP4765876B2 (ja) コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
JP5370269B2 (ja) 分散保存システム、分散保存システムの接続情報通知方法及びプログラム
JP4692278B2 (ja) コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラム
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP5212292B2 (ja) 情報通信システム、ノード装置、ノード装置確認方法及びプログラム
JP2010231576A (ja) ノード装置、ノード処理プログラム及びコンテンツ保存方法
JP4735371B2 (ja) 配信システム、制御装置及び制御装置用プログラム、管理装置及び管理装置用プログラム、補助装置及び補助装置用プログラム並びに配信システム制御方法
JP2009187101A (ja) コンテンツ分散保存システム、評価値加算方法、サーバ装置、ノード装置、及びノード処理プログラム
JP2009232272A (ja) コンテンツ分散保存システム、コンテンツ再生方法、ノード装置、管理装置、ノード処理プログラム、及び管理処理プログラム
JP2008059398A (ja) 識別情報割当装置及びその情報処理方法並びにそのプログラム
JP2008242990A (ja) 情報通信システム、情報通信システムに含まれる端末装置及びその情報処理方法並びに情報処理プログラム

Legal Events

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

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07706390

Country of ref document: EP

Kind code of ref document: A1