WO2008041422A1 - Terminal de système de distribution de contenu, son procédé de traitement d'information et programme contenant un support d'enregistrement - Google Patents

Terminal de système de distribution de contenu, son procédé de traitement d'information et programme contenant un support d'enregistrement Download PDF

Info

Publication number
WO2008041422A1
WO2008041422A1 PCT/JP2007/065725 JP2007065725W WO2008041422A1 WO 2008041422 A1 WO2008041422 A1 WO 2008041422A1 JP 2007065725 W JP2007065725 W JP 2007065725W WO 2008041422 A1 WO2008041422 A1 WO 2008041422A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal device
message
content
content data
location information
Prior art date
Application number
PCT/JP2007/065725
Other languages
English (en)
French (fr)
Inventor
Kentaro Ushiyama
Original Assignee
Brother Kogyo Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Kogyo Kabushiki Kaisha filed Critical Brother Kogyo Kabushiki Kaisha
Publication of WO2008041422A1 publication Critical patent/WO2008041422A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Definitions

  • Terminal apparatus in content distribution system, information processing method thereof, and recording medium recording program
  • the present invention relates to the technical field of content distribution via a network. More specifically, the present invention includes a plurality of terminal devices arranged on a network, and content data is transmitted by P2P (Peer to Peer) between terminal devices.
  • P2P Peer to Peer
  • the present invention relates to a terminal device in a content distribution system that transmits / receives data, an information processing method thereof, and a recording medium on which a program is recorded.
  • each terminal device participates in the overlay network and recognizes link information (eg, IP address) to all terminal devices! Only the link information to a part of terminal devices obtained at the time is stored, and the content data is searched based on the link information (see Patent Document 1).
  • link information eg, IP address
  • Patent Document 1 Japanese Unexamined Patent Publication No. 2006-197400
  • terminal devices that can distribute content data by transmitting / receiving content data between terminal devices by sequentially sending content data to the terminal devices in the system are sequentially provided.
  • the present invention has been made in view of the above inconveniences, and in a P2P type content distribution system having a plurality of terminal devices arranged on a network, particularly when content data is disclosed. It is an object of the present invention to provide a terminal device capable of effectively restricting access to a terminal device that holds information, an information processing method thereof, and the like.
  • the present invention provides the following.
  • a content distribution system configured by a plurality of terminal devices arranged on a network and transmitting / receiving content data between the terminal devices.
  • the terminal device when the message received via the network is a registration message for requesting registration of location information of the content holding terminal device holding the content data, the content holding included in the registration message Distribution source information storage means for storing location information of the terminal device, and location information stored in the distribution source information storage means when the message received via the network is a search message for acquiring the content data
  • the message is sent according to the number of the content holding terminal devices.
  • the search message response processing means in the terminal device determines that the search message response processing is to be performed by the response processing availability determination means
  • the content holding terminal device extracted from the distribution source information storage means The location information may be transmitted via the network to the terminal device that transmitted the search message.
  • the terminal device that has transmitted the search message accesses the content holding terminal device based on the location information of the content holding terminal device to be transmitted and obtains the content data. It can be acquired.
  • the search message response processing means in the terminal device determines that the search message response processing is to be performed by the response processing availability determination means, the content holding is performed for the terminal device that has transmitted the search message.
  • a content data distribution request message for distributing content data from a terminal device may be generated, and the content data distribution request message may be transmitted to the content holding terminal device.
  • the terminal device that has transmitted the search message can efficiently acquire content data.
  • a routing table storage means for storing a routing table in which identification information and location information of a part of the plurality of terminal devices are associated with each other; and Message destination determination means for determining whether or not the received message is addressed to its own terminal device based on destination identification information of the message received via the network and the routing table, and received via the network
  • location information determination means for determining whether or not location information of the content holding terminal device of the requested content is stored in the distribution source information storage means.
  • the original information storage means Regardless of whether or not the registration message is addressed to its own terminal device, the location information of the content holding terminal device included in the registration message is stored, and the location information of the content holding terminal device of the requested content is stored. The location is stored in the distribution source information storage means.
  • the response process availability determination unit may determine whether to perform the search message response process.
  • the terminal device when the search message response processing is performed by the search message response processing means, the terminal according to the destination identification information of the transmission request based on the routing table! It may be configured to have a notification means for taking out the device location information and transmitting information indicating that the search message response processing has been performed to the terminal device having the location information!
  • the transfer is performed based on the destination identification information of the received message.
  • the content holding terminal device for content requested by the search message is provided with message transfer means for extracting location information of a previous terminal device from the routing table and transferring the received message to the transfer destination terminal device.
  • the message destination determination unit determines whether or not the received message is addressed to its own terminal device.
  • the message transfer means transfers the message when it is not addressed to its own terminal device. It may be.
  • the response processing availability determination unit in the terminal device determines whether or not to perform the search message response processing. The number of the content holding terminal devices that store location information in the distribution source information storage unit And the search message response process within a predetermined period. Based on how many you have done!
  • the response processing availability determination unit in the terminal device determines whether to perform the search message response processing in the content holding terminal device that stores location information in the distribution source information storage unit at the same time.
  • the content data may be supplied based on the number of content data that can be supplied and the number of search message response processes performed within a predetermined period.
  • the predetermined period is a time determined according to a data size of content data held by the content holding terminal device storing location information in the distribution source information storage means. It may be configured.
  • a recording medium in which a program for causing a computer to function as each unit in the terminal device described above is recorded in a computer-readable manner may be provided.
  • a content configured by a plurality of terminal devices distributed on a network and transmitting / receiving content data between the terminal devices.
  • the registration message for requesting registration of location information of the content holding terminal device holding the content data
  • the registration The step of storing the location information of the content holding terminal device included in the message and the content holding storing the location information when the message received via the network is a search message for acquiring the content data.
  • the terminal device that sent the message Serial content data get the search or not power message response processing performs, and determining said search message And a step of performing the search message response process.
  • the content holding terminal included in the registration message Stores the location information of the device, and when the message received via the network is a search message for acquiring content data, the terminal device that transmitted this message performs search message response processing for acquiring the content data If the search message response process is determined to be performed, the search message response process is performed. Therefore, when the location information of the content holding terminal apparatus is searched, the access to the content holding terminal apparatus is performed. To limit network congestion. To become.
  • FIG. 1 is a diagram showing an example of a connection mode of each terminal device in a content distribution system according to the present embodiment.
  • FIG. 2 is an explanatory diagram of an ID space.
  • FIG. 3 is a diagram showing an example of how a routing table is created by DHT.
  • FIG. 4 is an example of a routing table of the terminal device according to the present embodiment.
  • FIG. 5 A diagram showing a state where a registration message of a content holding terminal is transferred in the form of a spanning tree.
  • FIG. 6 is an example of an index table of the terminal device according to the present embodiment.
  • FIG. 7 is a diagram showing an example of a state in which a terminal device that is a content data holding source is searched by the DHT.
  • FIG. 8 is a diagram showing an example of a state in which a terminal device that is a content data holding source is searched by the DHT.
  • FIG. 9 is a diagram illustrating a schematic configuration example of a terminal device in the present embodiment.
  • FIG. 10 is a flowchart showing main processing in the terminal device.
  • FIG. 11 is a flowchart showing content acquisition / playback processing in the terminal device.
  • FIG. 12 is a flowchart showing content acquisition request processing in the terminal device.
  • FIG. 13 is a diagram showing another example of a state in which a terminal device that is a content data holding source is searched by the DHT.
  • FIG. 1 is a diagram illustrating an example of a connection mode of each terminal device in the content distribution system S according to the present embodiment.
  • This content distribution system S is composed of a plurality of terminal devices distributed on the network, and performs the transmission and reception of content data between the terminal devices.
  • IX Internet eXchange
  • ISP Internet Service Provider
  • DSL Digital Subscriber Line
  • FTTH Fiber T o The Home
  • the network operator (device) 6 and the communication line (for example, telephone line, optical cable, etc.) 7 etc., the network such as the Internet (real-world network) 8 is constructed.
  • the content distribution system S has a plurality of terminal devices la, lb, lc---lx, ly, 1 ⁇ ⁇ ⁇ that are connected to each other via the network 8. This is a peer-to-peer ( ⁇ 2 ⁇ ) network system.
  • Each terminal device la, lb, lc---lx, ly, 1 ⁇ ⁇ ⁇ ⁇ is assigned a unique serial number (eg, MAC address) and IP (Internet Protocol) address as information indicating the terminal device .
  • the serial number and IP address are not duplicated among multiple terminal devices.
  • a terminal device 1 when any one of the terminal devices la, lb, lc---lx, ly, 1 ⁇ ⁇ is shown, it may be referred to as a terminal device 1 for convenience.
  • DHT distributed Hash Table
  • each terminal device 1 participating in the network 8 it is simple for each terminal device 1 participating in the network 8 to know the IP addresses of all the terminal devices 1 participating in the network 8. If the number of terminals becomes tens of thousands and hundreds of thousands, it is not realistic to remember the IP addresses of all the terminal devices 1. Also, if the power supply of any terminal device 1 is frequently turned ON or OFF, the IP address of the arbitrary terminal device 1 stored in each terminal device 1 is frequently updated, which causes operational problems. It becomes difficult.
  • one terminal device 1 stores only the minimum necessary IP addresses of all of the terminal devices 1 participating in the network 8, and the IP A system has been devised in which addresses are stored! /, Na! /, Terminal devices 1! /, And contents are delivered by transferring information between each terminal device 1.
  • an overlay network 9 as shown in the upper frame 100 of FIG. 1 is constructed by an algorithm using DHT.
  • this overlay network 9 means a network constituting a virtual link formed by using the existing network 8.
  • the overlay network 9 is constructed by an algorithm using DHT, and the terminal device 1 arranged on the overlay network 9 participates in the content distribution system S (in other words, in other words). For example, join the overlay network 9)!
  • a unique number is assigned to each terminal device 1. This number must have enough bits to accommodate the maximum number of terminal devices. For example, if a 128-bit number is used, 2 128 (2 to the 128th power) terminal devices can be operated.
  • each terminal ID of each terminal device 1 is a unique hash function (hash algorithm) for each terminal device 1 such as the IP address or serial number of each terminal device 1. ) Is a hash value obtained by hashing, and it is distributed evenly in one ID space.
  • the terminal ID obtained by hashing with a common hash function in this way has a very low probability of having the same value if the IP address or the manufacturing number is different. Since the noh and shush functions are well known, a detailed explanation is omitted.
  • the terminal ID is a value obtained by hashing an IP address (global IP address) with a common hash function.
  • the plurality of terminal devices 1 participating in the content distribution system S include content data (for example, music data, movies, etc.) as shared information distributed from one terminal device 1 to another terminal device 1.
  • Content data for example, music data, movies, etc.
  • Data, document data, etc. stored in a distributed manner
  • a unique identification number (hereinafter referred to as “content ID”) for each content data is also assigned to the content data.
  • the content ID has the same length as the terminal ID (for example, 128 bits), and the content name (content title) 1S is hashed by a hash function common to the terminal ID obtained above. (That is, placed in the same ID space as the hash value of the IP address of the terminal device 1), and the terminal device 1 having the terminal ID closest to the hash value (for example, the higher-order digits match more)
  • link information to a terminal device 1 holding content data hereinafter referred to as “content holding terminal device”
  • content Holds the IP address which is the location information of the holding terminal device.
  • the keywords to be hashed are, for example, content summary information (summary), content name and copyright information (for example, performer name, director name, original author name, singer name, composer name, songwriter name, etc.) ).
  • each terminal device 1 and each content data are generated by a common hash function, they are stored in the same ring-shaped ID space as shown in FIG. It can be thought of as being scattered and scattered.
  • the figure shows a terminal ID and content ID assigned in 32 bits. In the figure, the dot indicates the terminal ID, the square indicates the content ID, and the ID increases counterclockwise.
  • the rule is that “the terminal device 1 that manages content data having a certain content ID is the terminal device 1 that has a terminal ID close to that content ID”.
  • the content IDa is managed by the terminal device 1 having a terminal ID close to the content IDa (hereinafter referred to as “terminal IDa”)
  • the content IDb is Managed by the terminal device 1 having a terminal ID close to the content IDb (hereinafter referred to as “terminal IDb”)
  • the content IDc is referred to as a terminal ID close to the content IDc (hereinafter referred to as “terminal IDc”). ) Is managed by the terminal device 1 having.
  • management does not mean that content data is held, but "knows which terminal device 1 holds the content data! / Means! That is, in FIG. 2, the terminal device 1 having the terminal IDa knows which terminal device 1 holds the content data having the content ID a, and Similarly, the terminal device 1 having the terminal IDb and the terminal device 1 having the terminal IDc also know which terminal device 1 holds the content data having the content IDb and the content data having the content IDc, respectively. ! /, Ru, and! /
  • the terminal device 1 that knows which terminal device 1 holds certain content data is called the root terminal device of the content data. That is, the terminal device 1 having the terminal IDa is the root terminal device of the content data having the content IDa, and the terminal device 1 having the terminal IDb is the root terminal device of the content data having the content IDb, and the terminal IDc A terminal device 1 having a content data is a root terminal device for content data having a content IDc.
  • the content data is managed mainly by the root terminal device, but the content data is also managed by the other terminal device 1 as a cache terminal device described later. This point will be described later.
  • the content distribution system S has a function for inputting content data into the content distribution system S, that is, the terminal device 1 in the content distribution system S is used as a content holding terminal device.
  • a content input device 10 having a function of distributing content data to the terminal device 1 and a function of generating a catalog list and providing it to the terminal device 1 is arranged!
  • FIG. Figure 3 shows an example of how the routing table is created by the DHT.
  • the ID space as shown in FIG. 3A is divided into several areas. Actually, about 16 divisions are often used, but in order to simplify the explanation, here, 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 terminal ID of the terminal device 1N is “1133” and the routing table of the terminal device 1N is created will be described.
  • each area is represented by a quaternary number with different maximum digits.
  • the terminal device 1N determines from the information transmitted from the terminal device 1 that has received the participation request, the area other than the area in which it exists (ie, the “1XXX” area) (ie, the “0XXX” area, The terminal device 1 existing in the “2XXX” area and the “3XXX” area) is selected, and the terminal ID and IP address of the terminal device 1 are stored in the level 1 table.
  • Figure 4 shows an example of a level 1 table. In this table, "0100" is selected as the terminal ID for the "0XXX" area, "2133” is selected as the terminal ID for the "2XXX” area, and “3213” is selected as the terminal ID for the "3XXX” area. Is shown. Note that the second column of level 1 indicates the terminal device 1N itself, so there is no need to store the IP address.
  • “1003” is selected as the terminal ID for the “10XX” area
  • “1213” is selected as the terminal ID for the “12XX” area
  • “1313” is selected as the terminal ID for the “13XX” area. It shows the state.
  • the second column of level 2 is the area “11XX” where the terminal device 1N exists, and since it is tabulated at level 3 to be described later, no IP address is stored. If the terminal device 1 does not exist in the above area, the terminal ID and IP address fields are blank.
  • the area “11 ⁇ ⁇ ” where the user exists is further divided into four, and the four areas “110 ⁇ ” “111 ⁇ ”, “112X”, “113X” Divide.
  • the terminal device 1 existing in an area other than the area “113X” in which it exists is appropriately selected, and the terminal ID and IP address of the terminal device 1 are stored in the level 3 table.
  • Figure 4 is an example of a level 3 table.
  • Level 3 fourth row is terminal device 1N
  • the IP address is not stored because it is tabulated at level 4 (described later). If the terminal device 1 does not exist in the area, the terminal ID and IP address fields are blank.
  • All the terminal devices 1 each create and own the routing table created according to the method described above. As described above, each terminal device 1 has a routing table in which terminal IDs and IP addresses, which are identification information of some of the terminal devices 1 among the plurality of terminal devices 1 in the content distribution system S, are associated.
  • the content distribution system S having such a configuration, for example, a method for publishing new content data so that a terminal device 1 can search for new content data from other terminal devices 1 on the content distribution system S. Is described.
  • the terminal device 1 that has stored the content data distributed from the content input device 10 and has become a content holding terminal device is directed toward the terminal device 1 having the same terminal ID as the content ID of the stored content data ( It is not known at this point whether or not this terminal device 1 actually exists.)
  • a message (hereinafter referred to as “registration message”) requesting registration of location information of the content holding terminal device holding the content data is transmitted. To do.
  • the terminal device 1M when the terminal device 1M becomes a content holding terminal device with the content ID “30 20”, the terminal device 1M A registration message with ID “3020” as destination identification information is generated, and this registration message is transmitted by referring to the routing table held by itself. If the terminal device 1M has the same sorting table as in the example of FIG. 4, since the content 03 “3020” is an area “3 ⁇ ⁇ ⁇ ”, the terminal device belonging to the “3XXX” area 1. A registration message is transmitted to terminal device 1A (terminal ID “3213”) that knows the IP address (ie, the IP address is stored in the routing table held by itself). Thus, the registration message includes a content ID that is unique identification information corresponding to the content. This content ID is used as destination identification information in the registration message.
  • the terminal device 1A that has received the registration message determines whether or not the registration message is a message addressed to the own terminal device 1A. Whether the message is addressed to the terminal device 1A 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 terminal ID that is the identification information of the terminal device 1A. That is, for the destination identification information, from the terminal ID of the terminal device 1 stored in the routing table (the table value is not shown) held by the terminal device 1 A itself, the closest terminal device 1 Determine whether the terminal ID is itself or another terminal device 1.
  • the terminal device 1A Since the terminal ID of another terminal device 1 is closer to the destination identification information than the terminal ID of its own terminal device 1A, the terminal device 1A has the routing held by the terminal device 1A itself. Referring to the table at level 2 of the table, transfer the registration message to terminal device 1B (terminal ID “3031”) that knows the IP address among terminal devices 1 belonging to the “30XX” area.
  • transfer of the registration message proceeds in a manner that adapts the digits of the content ID in order from the top, and finally reaches the terminal device 1C that manages the content data, that is, the root terminal device.
  • the terminal device 1 itself determines that it should be the root terminal device of the content, and the content ID included in the registration message, the terminal ID and IP address of the content holding terminal, etc. (hereinafter referred to as “index”). "Information”) is stored as index information.
  • search message response processing is performed. This search message response process is performed by selecting and notifying the location information of the content holding terminal device from the index table described later to the terminal device 1 that has transmitted the search message.
  • the terminal device 1 in the middle of the route through which the registration message is transferred to the root terminal device is also configured to hold the index information included in the registration message as a cache.
  • a terminal device 1 is called a cache terminal device.
  • the cache terminal device is transferred when the search message is transferred to the cache terminal device before the root terminal device receives the search message for searching for the content.
  • search message response processing can be performed.
  • the cache terminal device When transferring the registration message, the cache terminal device normally holds the index information based on the registration message as described above.
  • the terminal device 1A that receives the registration message holds the index information, thereby holding the cache terminal device (1).
  • the cache terminal device (1) transfers the registration message.
  • the terminal device 1 B that has received the registration message functions as a cache terminal device (2) by holding the index information.
  • the cache terminal device (2) transfers the registration message.
  • the terminal device 1C that receives the registration message functions as a root terminal device by holding the index information. As described above, the terminal devices 1A, IB, and 1C hold the index information included in the registration message.
  • FIG. Fig. 6 shows an example of an index table in the root terminal device 1C.
  • the terminal ID, IP address, and introduction of the content holding terminal device related to the content with the content ID "3020" that is managed by the local terminal device 1 In addition to storing the time, etc., the terminal ID, IP address, introduction time, etc. of the content holding terminal device related to the content with the content ID “3021” are stored as a cache terminal device.
  • the index table can store the size of the content data and copyright information in addition to the content and the terminal ID and IP address of the content holding terminal device.
  • the introduction time is the time when the location information is transmitted to the content holding terminal device when a search message to be described later is received, and is updated each time this transmission is performed.
  • FIG. 7 is a diagram illustrating an example of a state in which the terminal device 1 holding content data is searched by the DHT.
  • terminal device 1N with terminal ID “1133” has content ID “3020”.
  • a procedure for searching for data is described.
  • the terminal device 1 that searches for content data and requests transmission of content data in this way is referred to as a request terminal device.
  • the terminal devices 1A and 1B are assumed to be cache terminal devices with a content ID “3020”, and the terminal device 1C is assumed to be a root terminal device with a content ID “3020”.
  • the request terminal device 1N uses the content ID “3020” as the destination identification information, refers to the routing table held by itself, and refers to the content holding terminal device identification information transmission request (hereinafter, referred to as “content ID”). "Search message”). If the request terminal device 1N has a routing table with the same value as in the example of FIG. 4, the content ID “3020” is the “3XXX” area, so the terminal device 1 belonging to the “3XXX” area A search message is transmitted to the terminal device 1A (terminal ID “3213”) that knows the IP address (that is, the IP address is stored in the routing table held by itself! /). Thus, the 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 search message.
  • the IP address of the terminal device 1A whose terminal ID is “3213” is stored in the routing table (see FIG. 4) of the request terminal device 1N.
  • the terminal device 1N transmits a search message to the terminal device 1A whose terminal ID is “3213”.
  • the terminal device 1A that has received the search message determines whether or not it is stored in the location information index table of the content holding terminal device to be searched by this search message. That is, the terminal device 1A determines whether or not the location information of the content holding terminal device holding the content data corresponding to the content ID is stored based on the content ID included in the search message.
  • terminal device 1A is a cache terminal device with content ID "3020"
  • terminal apparatus 1A determines whether or not to perform the search message response process based on the information stored in the routing table. Specifically, the location in the routing table The determination is made according to the number of content holding terminal devices that store the presence information.
  • the upper limit value of the number of search message response processes (hereinafter sometimes simply referred to as “upper limit value”) is determined according to the number of content holding terminal devices whose location information is stored in the routing table, and a predetermined time before.
  • the number of search message response processes performed so far hereinafter referred to as “the number of recent search message response processes”) exceeds the upper limit value! /, N! /, And sometimes search message response processes It is determined that the search message response process is not performed when the upper limit value is exceeded.
  • the terminal device 1A determines whether or not the search message is a message addressed to the own terminal device 1A. Whether the message is destined for the terminal device 1A 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 terminal ID that is the identification information of the terminal device 1A. That is, the destination identification information is stored in the routing tape register (the table value is not shown! /,) Held by the terminal device 1A itself! Determine whether the terminal ID of the nearest terminal device 1 is itself or another terminal device 1.
  • the terminal device 1A Since the terminal ID of the other terminal device 1 is closer to the destination identification information than the terminal ID of its own terminal device 1A, the terminal device 1A has the routing held by the terminal device 1A itself. Referring to the table at level 2 of the table, the search message is transferred to terminal device 1B (terminal ID “3031”) that knows the IP address among terminal devices 1 belonging to the “30XX” area.
  • the terminal device 1B that has received the search message determines whether it is stored in the location information power S index table of the content holding terminal device that is the search target of this search message.
  • terminal device 1B is a cache terminal device with content ID "3020"
  • the upper limit value of the number of search message response processes is “8”.
  • the terminal device 1B determines that the search message response process is possible, and the content that is the target of the search message search from the index table. Retrieve multiple location information of holding terminal devices (if there is only one, only one). Then, the terminal device 1B notifies the request terminal device 1N of the location information of the content holding terminal device extracted in this way. Upon receiving notification of the location information of the content holding terminal device, the request terminal device 1N selects any one content holding terminal device from these content holding terminal devices and requests transmission of content data.
  • the search message response is determined according to the number of content holding terminal devices that store the location information. If it is determined whether or not to perform the process, and if it is determined that the search message response process is to be performed, the search message response process is performed. Therefore, when the location information of the content holding terminal apparatus is searched, the content holding terminal apparatus is By restricting access, network congestion can be suppressed. In other words, it is possible to restrict access according to the content distribution capability in the content distribution system S.
  • terminal device 1B When terminal device 1B performs search message response processing on the search message, terminal device 1B searches to terminal device 1C having location information whose terminal ID is close to content ID "3020" based on the routing table. A message indicating that message response processing has been performed (hereinafter referred to as “response processed message”) is transmitted. This response processed message is transmitted by DHT routing with the content ID “3020” as destination identification information. When the terminal device 1C receives this response processed message, the terminal device 1C increments the number of the latest search message response processes in the terminal device 1 by one.
  • FIG. 8 shows that the terminal devices 1A, IB, and 1C are all powerful.
  • the request terminal apparatus 1 N An example in the case of transmitting is shown.
  • the terminal devices 1A and 1B that are cache terminal devices have an upper limit on the number of recent search message response processes in their own terminal device.
  • this search message is transferred to the terminal device 1C as the root terminal device without performing the search message response process.
  • the terminal device 1C has the same number of recent search message response processes as the upper limit value! /. Therefore, the search message response process is not performed and the request terminal apparatus 1N Send an access denied message.
  • the content data acquisition process is canceled when an access denial message is issued.
  • FIG. 9 is a diagram showing a schematic configuration of the terminal device 1 in the content distribution system S according to the present embodiment.
  • the terminal device 1 is applicable to a general personal computer in addition to a dedicated computer. As shown in FIG. 9, a rewritable memory that stores a CPU (Central Processing Unit) 102 and various programs, etc.
  • a first storage unit 103 as a main storage device, a second storage unit 104 composed of an HDD (Hard Disk Drive) or the like for storing various data, and other devices participating in the network 8 via the router 30a
  • a network interface 105 for communicating with the terminal device 1, a remote control 106 for transmitting and receiving a predetermined infrared signal for remotely operating the terminal device 1 by a user, and communication with the remote control 106 by infrared rays Infrared port 107 to perform image processing, peripheral device control chip 108 to control infrared port 107, and image data received by control of CPU 102, internal video memory It has a video chip 109 that writes to the video memory (not shown) and displays the data written to the video memory on the built-in display 110 (to be described later),
  • the sound source chip 111 that outputs sound waves from the built-in speaker 112 and the built-in speaker 112 are output to the built-in speaker 112, and these various components are connected to each other via the system bus 101. ing.
  • the CPU 102 and the first storage unit 103 constitute a control unit 113.
  • the first storage unit 103 also includes an operating system (OS) program 114 for providing basic functions of the terminal device 1 as a computer, a screen control program 115 for controlling the built-in display 110, and the like.
  • OS operating system
  • Ru is.
  • the first storage unit 103 further stores an index table storage area 119 (corresponding to an example of a distribution source information storage means) for storing information of an index table (see FIG. 6) and a routing table (see FIG. 4).
  • Index table storage area 119 (corresponding to an example of a distribution source information storage means) for storing information of an index table (see FIG. 6) and a routing table (see FIG. 4).
  • Routing table storage area 120 (corresponding to an example of routing table storage means) is provided.
  • the OS program 114 is read out and executed by the CPU 102 to perform functions related to input / output of the remote controller 106, memory management of the first storage unit 103 and the second storage unit 104, and the like. It enables the basic functions of the computer that is the terminal device 1 to be executed. Then, with the OS program 114 being executed by the CPU 102, the screen control program 115, the content processing program 116, the message processing program 117, the music decoder program 118, etc. are read from the first storage unit 103 and executed. Is done.
  • the OS program 114, the screen control program 115, and the content processing program 116 may be downloaded to the first storage unit 103 via the network interface 105 from, for example, a server connected to the network 8. Further, after being recorded on a recording medium such as a CD-ROM, it may be read into the first storage unit 103 via a recording medium drive (not shown).
  • the second storage unit 104 has a content data storage area or the like that functions as content data storage means for storing content data distributed from the content input device 10 or the like.
  • the control unit 113 includes the CPU 102 and the first storage unit 103 as described above, and the CPU 102 reads out and executes the various programs 114 to 118 stored in the first storage unit 103, whereby the entire terminal device 1 is configured.
  • the CPU 102 executes the screen control program 115 as a display control unit or the like, and the CPU 102 executes the content processing program 116, so that the content data acquisition request detection unit, the content data acquisition unit, the content data As a transmission means, a content data reproduction means, etc., and when the CPU 102 executes the message processing program 117, a registration message transmission means, a content holding terminal information acquisition means, a location information judgment means, a response processing availability judgment means, a search message
  • the CPU 102 functions as a response processing unit, a notification unit, a message destination determination unit, a message transfer unit, and the like, and when the CPU 102 executes the music decoder program 118, functions as a decoding unit.
  • the display control means has a function of controlling the video chip 109 and the built-in display 110 to display various video information (image information). That is, the display control means controls how the video is displayed on the built-in display 110.
  • the content data acquisition request detecting means detects a content data acquisition request operation by the user. For example, when the catalog list acquired by the terminal device 1 from the content input device 10 is displayed on the built-in display 110 by the display control means, the user of the terminal device 1 operates the remote control 106 to specify the desired content name to the user. Is selected, the content data acquisition request operation is performed, and this operation is detected by the content data acquisition request detecting means.
  • the content data acquisition means acquires the content data from the content input device 10 when the message received via the network interface 105 is a content data holding request from the content input device 10. Then, the acquired content data is stored in the second storage unit 104 as content data storage means.
  • the content data acquisition means detects the content data acquisition request operation by the user by the content data acquisition request detection means, and acquires content data to be acquired when acquiring content data from another terminal device 1.
  • a search message for searching the location information of the content holding terminal device to be held is generated.
  • the search message is a message in which the content ID that is the identification information of the requested content data is used as the destination identification information and the terminal ID that is the identification information of the terminal device is the request source identification information as described above.
  • the content data acquisition means determines the content ID by taking out the content name of the content data to be acquired from the catalog list and hashing the extracted content name with a hash function common to the terminal ID.
  • the content input device 10 may include a content ID corresponding to the content data in the catalog list in advance.
  • the content data acquisition means uses the determined content ID or the content ID generated based on the content name included in the catalog list as the destination identification information. Generate a search message. Thereafter, the destination terminal device is selected from the identification information of the terminal device 1 stored in the routing table, and the generated search message is transferred to the destination terminal device. That is, out of the terminal IDs of the terminal device 1 stored in the routing table, the terminal ID close to the destination identification information is selected, the IP address of the terminal device 1 corresponding to the terminal ID thus selected is known, and the IP address The search message is sent to the terminal device 1 of.
  • the content data acquisition means receives the location information of the content holding terminal device transmitted from the content holding terminal device in response to the transmitted search message, and acquires the content holding terminal device based on this information Request content data according to the requested operation. Content data is delivered from the content holding terminal device in response to this request.
  • the content data obtaining unit receives the content data to be distributed and stores it in the second storage unit 104.
  • the registration message transmission means stores the content data received from the content input device 10 in the second storage unit 104 as the content data storage means, or acquires content data from another terminal device 1 by a search message. Using the content ID that is the identification information of the content data as the destination identification information, a registration message that includes the terminal ID and the IP address that are the identification information of the terminal device is generated. Similarly, when content data is received from another content holding terminal device, the received content data is stored in the second storage unit 104 as content data storage means, and a registration message is generated.
  • the terminal device 1 functions as a content holding terminal device when content data is acquired in this way.
  • the registration message transmitting means transmits the registration message generated in this way to the transmission destination terminal apparatus selected based on the routing table. That is, from the terminal IDs of the terminal device 1 stored in the routing table, the terminal ID close to the destination identification information is selected, and the IP address of the terminal device 1 corresponding to the terminal ID thus selected is known. A registration message is transmitted to the terminal device 1 of the IP address.
  • the content holding terminal information acquisition means performs storage processing of index information.
  • the received message is a registration message in the local terminal device, whether or not the registration message is addressed to the local terminal device.
  • the content ID included in the registration message, the terminal ID that is the identification information of the content holding terminal device, and the IP address that is the location information are obtained.
  • the index information acquired in this way is stored in the index table.
  • the location information determining means uses the location information of the content holding terminal device that holds the requested content as an index. Determine whether it is stored in the table. For example, when the index table as shown in FIG. 6 is stored, the content holding terminal device that holds the requested content when the search target content ID included in the search message is “3020” or “3021”. If the content ID is a search message that searches for content other than “3020” and “302 1”, the index table holds content according to the request. It is determined that the location information of the terminal device is stored!
  • the response processing availability determination unit determines whether the content holding terminal device stores the location information in the index table. According to the number, it is determined whether or not the terminal device that has transmitted this message performs a search message response process for acquiring content data.
  • the response process availability determination means detects the number of content holding terminal devices that store the location information based on the information stored in the index table, and responds to this number. Set the upper limit of search message response processing. Whether the response processing availability determination means performs search message response processing for the terminal device that transmitted the message to acquire content data according to the upper limit value and the status of the search message response processing by the search message response processing means described later. Determine whether or not.
  • the "upper limit value of the number of search message response processes" is as follows, and the control unit 113 of the terminal device 1 can be selected by the user operating the remote control 106 or the like. In addition, a different upper limit may be adopted for each content ID that is not selected by the user.
  • the “number of content holding terminal devices” in (a) above is “8” for the content ID “3020” when an index table as shown in FIG. 6 is held, for example.
  • the ID “3020” is “2”.
  • the "number of content data that can be supplied simultaneously in the content holding terminal device" in (b) above is information included in the registration message transmitted from the content holding terminal device. This means the total content data supply capacity of the holding terminal device.
  • the content data supply capability notified from the content holding terminal device is stored in the index table as shown in FIG.
  • Each content holding terminal device calculates the number of content data that it can supply at the same time based on its own CPU processing capacity and communication bandwidth, and includes the information in the registration message.
  • the information is periodically transmitted using DHT notification in the same way as the registration message, and the information in the routing table is updated accordingly.
  • the “number of content data that can be supplied simultaneously in the content holding terminal device” for the content ID “3020” is “12”, and “3021”. Will be "4".
  • the content data supply capability can also be set from the user control device 106 of the content holding terminal device, which is not calculated from the processing capability of the CPU, and the setting information is stored in the first storage unit 103.
  • the number of content holding terminal devices that satisfy a predetermined condition means, for example, that 60% of the total number of content holding terminal devices to be searched for a search message is “number of content holding terminal devices" ".
  • the total number of content holding terminal devices in proximity can be set as the “number of content holding terminal devices”.
  • “close” means close to the network. For example, the number of router devices relayed before a message arrives is small! /, That means! /.
  • Response processing availability determination means determines whether or not search message response processing is possible according to the above upper limit value and the status of search message response processing by the search message response processing means described later. As the status of search message response processing by message response processing means, the number of recent search message response processing, that is, the number of search message response processing by search message response processing means within a predetermined period is detected.
  • the “predetermined period” serving as a reference for detecting the number of search message response processes is determined according to the data size of the content data held by the content holding terminal device storing the location information in the index table. Time. That is, an estimated transmission rate that is a predicted value of the rate at which content data is transmitted from the content holding terminal device is set, and the predetermined period is derived by dividing the data size of the content data by this estimated transmission rate. For example, when the estimated transmission speed is set to 10 Mbit / min, the “predetermined time” for content data having a data size of 0 Mbit is 4 minutes. Therefore, if the index table is in the state shown in Fig. 6 and the current date and time is 11:41:00 on November 4, NO.4 to NO.8 is the number of recent search message response processes. It becomes.
  • the search message response processing means performs search message response processing for the terminal device that has sent the message to acquire content data in accordance with the determination result of the response processing availability determination means. That is, the search message response processing means is a response process availability determination means. If it is determined that the search message response process is to be performed, the location information of the content holding terminal apparatus is extracted from the index table and notified to the request terminal apparatus that transmitted the search message. On the other hand, if the response processing availability determination means determines that the search message response processing is not performed, the search message is transferred by the message transfer means.
  • a predetermined number of content holding terminal devices are selected from the content holding terminal devices that store the location information in the index table.
  • this predetermined number for example, it is possible to select five content holding terminal devices.
  • the total number of content holding terminal devices whose location information is stored in the index table cannot be exceeded.
  • the request terminal device selects one content holding terminal device from the location information of the content holding terminal device transmitted in this way, and makes a connection request to the content holding terminal device thus selected for connection. , Receive content data. When there are multiple location information of content holding terminal devices to be transmitted, one of them is selected and content data transmission is requested.
  • the notification unit extracts location information of the terminal device corresponding to the destination identification information of the search message subjected to the search message response processing from the routing table.
  • a response processed message which is a message indicating that search message response processing has been performed, is transmitted to the terminal device 1 having DHT routing. That is, the destination identification information of the response processed message is used as the content ID corresponding to the search message response processing, the destination terminal device 1 is determined based on the routing table, and this response processed message is transmitted.
  • the terminal device 1 that has received this response processed message receives the first storage unit 10 of the terminal device 1 itself.
  • the access permission number stored in 3 is incremented by one.
  • the message destination determination means identifies the destination of the message received via the network 8. Based on the information and the routing table, it is determined whether or not the received message is addressed to the own terminal device.
  • the message determined by the message destination determination means is a search message for searching for a content holding terminal device, a registration message for registering identification information of a content holding terminal device in a root terminal device, or the like.
  • Whether the received message is addressed to the terminal device itself is determined based on the routing table that is extracted from the destination identification information included in the message and stored in the first storage unit 103. 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 terminal ID stored in the routing table, and the destination included in the message. If it is determined that the terminal ID on the routing table is the terminal ID of the own terminal device, it is determined that the message is addressed to the own terminal device.
  • the message transfer means determines that the message received via the network 8 is not addressed to its own terminal device by the message destination determination means, stores it in the routing table based on the destination identification information of the received message.
  • a transmission destination terminal device is selected from the stored identification information of the terminal device 1, and the received message is transferred to the transmission destination terminal device.
  • the message transfer means selects the terminal ID close to the destination identification information from the terminal IDs of the terminal device 1 stored in the routing table, and the terminal device 1 corresponding to the terminal ID selected in this way. Knows the IP address of the IP address and forwards the message with that IP address as the destination of the IP packet.
  • the search message received by the message destination determining means is It is determined whether or not it is addressed to the terminal device 1, and the search message received when not addressed to the own terminal device 1 is transferred.
  • the content data reproducing means decodes the content key stored in the content key storage area of the second storage unit 104, and then decodes it by the decoding means, and reproduces the content data by operating the video chip 109 and the sound source chip 111. . [0128] (About content data transmission means)
  • the content data transmission unit When there is a request for transmission of the content data stored in the second storage unit 104 serving as the content data storage unit from another terminal device 1, the content data transmission unit transmits the content data corresponding to the transmission request to the second storage unit 104. And send it to the other terminal device 1 that requested the transmission.
  • the decoding means displays the content data stored in the second storage unit 104 on the internal display 110 and decodes it for output from the internal speaker 112. That is, the content data to be reproduced is encoded in a predetermined format, and the encoded content data is decoded so that it can be output from the built-in display 110 or the built-in speaker 112.
  • FIG. 11 and 12 are flowcharts showing processing in the terminal device 1.
  • FIG. The following processes are executed by the control unit 113 of the terminal device 1 functioning as the above-described means.
  • the CPU 102 of the terminal device 1 performs initial setting operations such as initialization of access permission and work area reservation of the first storage unit 103 and the second storage unit 104. Executes each program 114 to 118 to be executed by the CPU 102 and operates the function as the control unit 113.
  • control unit 113 determines whether or not there has been a content acquisition request from the user (step S 100). This process is determined based on whether or not a content data acquisition request operation has been performed by the user.
  • step S101 when it is determined that there is a content acquisition request from the user (step S100: YES), the control unit 113 performs content acquisition request processing (step S101).
  • the process of step S101 is the process of S120 to S128 in FIG. 12, and will be described later.
  • step S102 determines whether or not a search message has been received from another terminal device 1 (step S102). ).
  • control unit 113 determines whether or not the content holding terminal device is known (step S103). Whether or not the content holding terminal device is known is determined by whether or not the location information of the content holding terminal device that is the search target of the search message exists in the index table of the terminal device 1 itself. That is, when the location information of the content holding terminal device related to the content ID included in the search message exists in the index table, it is determined that the content holding terminal device is known, and when there is no location information, the content holding terminal device is determined. Judge that you do not know.
  • step S103 If it is determined in step S103 that the content holding terminal apparatus is known (step S103: YES), the control unit 113 determines that the number of recent search message response processes is greater than the upper limit of the number of search message response processes. Also determine whether the power is too small.
  • step S104 if it is determined that the number of recent search message response processes is smaller than the upper limit of the search message response processes (step S104: YES), the control unit 113 permits access by the search message.
  • the search message response process is performed (step S105). That is, the control unit 113 extracts location information of the content holding terminal device from the index table and notifies the terminal device that has transmitted the search message. Note that the terminal device that has transmitted the search message makes a connection request to the content holding terminal device transmitted in this manner, and receives the content data.
  • step S103 When it is determined in step S103 that the content holding terminal device is not known (step S103: NO), or in step S104, the recent search message response processing count is determined to be equal to or greater than the upper limit of the search message response processing count Then (step S104: NO), the control unit 113 shifts the processing to step S106.
  • step S106 the control unit 113 determines whether or not it is the root terminal device of the search message. That is, it is determined whether the search message is addressed to the own terminal device.
  • step S 106 the search message is addressed to the own terminal device (step S 106: YES)
  • step S107 an access denial message is transmitted to the transmission request source terminal device that is the terminal device that transmitted the search message (step S107).
  • control unit 113 directs the search message to the root terminal device using DHT routing. Transfer (step S108).
  • step S102 If it is determined in step S102 that a search message has not been received (step S102: NO), has control unit 113 received a content data transmission request from another terminal device 1? It is determined whether or not (step S109).
  • control unit 113 determines that the terminal device of the transmission source request, that is, content data
  • the requested content data is transmitted to the terminal device that has made the transmission request (step S110).
  • step S109 Processing power of steps S105, S107, S108, S110 ⁇
  • step S109: NO the control unit 113 determines whether or not the power of the terminal device has shifted to the off (shirt down) state (step S111).
  • step S111 If it is determined in step S111 that the power supply of the terminal device has shifted to the OFF state (step S111: YES), the control unit 113 ends the main process, while the power supply of the terminal device is turned off. If it is determined that the state has shifted to! /, NA! / (Step S 111: NO), the control unit 113
  • FIG. 12 is a flowchart showing content acquisition request processing in the terminal device 1.
  • control unit 113 stores content data corresponding to the acquisition request operation in step S 100 in the second storage unit 104! / It is determined whether or not (step S120).
  • Step S120 if the content data corresponding to the acquisition request operation is stored and determined as! /, NA! / (Step S120: NO), the control unit 113 receives the acquisition request. Content data according to operation In order to obtain the data, a search message having the content ID corresponding to the content data as the destination identification information is transmitted based on the routing table (step S 121
  • step S122 In response to the search message transmitted in this way, it is determined whether or not an access denial message is transmitted from the root terminal device of the content data corresponding to the acquisition request operation in step S100 (step S122).
  • the access non-permission message is received in all cache terminal devices and root terminal devices of content data corresponding to the acquisition request operation in step S100, for example, as shown in FIG.
  • step S122 NO
  • the control unit 113 is notified of the content holding terminal device Any one of the location information is selected and transmission of content data is requested (step S123).
  • the control unit 113 receives the content data transmitted from the content holding terminal device (step S124), and stores the content data in the content data storage area in the second storage unit 104 for storage (step S125).
  • control unit 113 functions as a content holding terminal device and uses the content ID of this content data as destination identification information in order to enable search from other terminal devices.
  • a registration message is transmitted based on the routing table (step S 126).
  • step S126 When the process of step S126 is completed, or when it is determined in step S120 that content data corresponding to the acquisition request operation is stored (step S120: YES), the control unit 113 performs the second operation.
  • the content data corresponding to the acquisition request operation is retrieved from the content data storage area of the storage unit 104 and played back (step S 127).
  • step S122 If it is determined in step S122 that an access non-permission message has been received (Ste S122: YES), the control unit 113 notifies the user that the content data reception has failed (step S128). For example, the text “failed to receive content data” is displayed on the built-in display 110 as an image. When the processes of steps S 127 and S 128 are completed, the content acquisition request process is terminated.
  • the terminal device 1 in the present embodiment responds to the search message response according to the number of content holding terminal devices that store the location information. Since the search message response process is performed according to the determination result, access to the content holding terminal device is performed when searching the location information of the content holding terminal device. It is possible to limit network congestion and control network congestion. In addition, since it functions as a content holding terminal device when content data can be acquired by a search message, the content terminal device in the content distribution system S can be effectively used according to the amount of the search message while limiting the search message. Can be increased.
  • the force S that allows the terminal device cache terminal device that stores the location information of the content holding terminal device to notify the location information of the content holding terminal device is shown in FIG.
  • the terminal device that stores the location information of the content holding terminal device generates a content data distribution request message for distributing the content data from the content holding terminal device to the requesting terminal device.
  • the content data distribution request message may be transmitted to the content holding terminal device.
  • S 105 is “generates a content data distribution request message and transmits it to the content holding terminal device”, and S 123 is deleted.
  • the control unit 113 when it is determined that the search message response process is performed when the control unit 113 functions as a search message response processing unit, the control unit 113 sends a search message to the content holding terminal device stored in the index table. If the request message is sent to the requesting terminal device that sends the request and the content data is requested to be distributed, and if it is determined that the search message response processing is not performed! /, The received search message is based on the routing table! /, To transfer. [0157] When the content holding terminal device receives the content data distribution request message, the content holding terminal device determines whether or not the content data can be supplied. If the content data can be supplied, the content holding terminal device transmits the search message. The device is notified of the location information of the content holding terminal device.
  • the content distribution system S has been described using the Pastry type content distribution system as an example.
  • the present invention is not limited to this, and the message transfer method is different. Kademlia type, chord type, Viceroy type, CAN type
  • the present invention can also be applied to such content distribution systems.
  • the format of transmission / reception of content data between the terminal devices 1 has been described as a download format.
  • the present invention is not limited to this, and may be a streaming format.
  • access for acquiring content data exceeds the content data supply capability of the content distribution system S. It is possible to suppress the occurrence of concentration.
  • 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.

Description

明 細 書
コンテンツ配信システムにおける端末装置及びその情報処理方法並びに プログラムを記録した記録媒体
技術分野
[0001] 本発明は、ネットワークを介したコンテンツ配信の技術分野に関し、更に詳細には、 ネットワーク上に配置された複数の端末装置を備え、端末装置間で P2P (Peer to Pe er)によりコンテンツデータの送受信を行うコンテンツ配信システムにおける端末装置 及びその情報処理方法並びにプログラムを記録した記録媒体に関する。
背景技術
[0002] 近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などのコン テンッデータを配信する、いわゆるコンテンツ配信システムの研究が盛んである。
[0003] そこで、分散ハッシュテーブル(DHT (Distributed Hash Table) )を利用して論理的 にオーバーレイネットワークを構築することにより、コンテンツデータを効率的に分散 配置して負荷分散を図る技術が提案されて!/、る。
[0004] このシステムにおいては、各端末装置が当該オーバーレイネットワークに参加して V、る全ての端末装置へのリンク情報 (例えば、 IPアドレス)を認識して!/、るわけではな ぐ参加の際などに得られる一部の端末装置へのリンク情報だけを保持しており、 力、るリンク情報に基づき、コンテンデータの検索等を行うようになっている(特許文献 1 参照)。
特許文献 1:特開 2006— 197400号公報
発明の開示
発明が解決しょうとする課題
[0005] ところで、上述のコンテンツ配信システムでは、このシステム内の端末装置にコンテ ンッデータが投入されて公開されたコンテンツデータを、端末装置間で送受信を行う ことによってコンテンツデータを配信できる端末装置を順次増加させていくことになる
[0006] 一方で、人気のコンテンツデータは公開時から時間が経つにつれその人気がなく なっていくのが一般的である。すなわち、コンテンツデータがコンテンツ配信システム で公開されたときに最も人気が高い状態になることが多い。
[0007] しかしながら、このコンテンツ配信システムでの公開時には、コンテンツデータを保 持する端末装置が少ないために、コンテンツデータを保持する特定の端末装置にァ クセスが集中してしまう不都合がある。このようにアクセスが集中すると、ネットワークの 混雑を来たしてしまう恐れがある。
[0008] 本発明は、以上の不都合に鑑みてなされたものであり、ネットワーク上に配置された 複数の端末装置を有する P2P型のコンテンツ配信システムにおいて、特に、コンテン ッデータを公開したときにコンテンツデータを保持する端末装置へのアクセスを有効 に制限することができる端末装置及びその情報処理方法等を提供することを目的と する。
課題を解決するための手段
[0009] 以上のような目的を達成するために、本発明は、以下のようなものを提供する。
[0010] 上記課題を解決するために、本発明の一つの観点によれば、ネットワーク上に配置 された複数の端末装置から構成され、前記端末装置間でコンテンツデータの送受信 を行うコンテンツ配信システムにおける前記端末装置であって、前記ネットワークを介 して受信したメッセージが前記コンテンツデータを保持するコンテンツ保持端末装置 の所在情報の登録を要求する登録メッセージであるとき、前記登録メッセージに含ま れる前記コンテンツ保持端末装置の所在情報を記憶する配信元情報記憶手段と、 前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するため の検索メッセージであるとき、前記配信元情報記憶手段に所在情報を記憶した前記 コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前記 コンテンツデータを取得する検索メッセージ応答処理を行うか否かを判定する応答処 理可否判定手段と、前記応答処理可否判定手段により前記検索メッセージ応答処 理を行うと判定されると、前記検索メッセージ応答処理を行う検索メッセージ応答処 理手段とを備える。
[0011] このように構成することにより、コンテンツ保持端末装置の所在情報を検索するとき に、コンテンツ保持端末装置へのアクセスを制限して、ネットワークの混雑を抑制する ことが可能となる。
[0012] また、前記端末装置における前記検索メッセージ応答処理手段は、前記応答処理 可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記配信元 情報記憶手段から取り出したコンテンツ保持端末装置の所在情報を、前記検索メッ セージを送信した端末装置へ前記ネットワークを介して送信する構成にしてもよい。
[0013] このように構成することにより、検索メッセージを送信した端末装置は、送信されるコ ンテンッ保持端末装置の所在情報に基づ!/、て、コンテンツ保持端末装置へアクセス してコンテンツデータを取得することが可能となる。
[0014] また、前記端末装置における前記検索メッセージ応答処理手段は、前記応答処理 可否判定手段により前記検索メッセージ応答処理を行うと判定されると、前記検索メ ッセージを送信した端末装置へ前記コンテンツ保持端末装置からコンテンツデータ の配信を行わせるコンテンツデータ配信要求メッセージを生成し、前記コンテンツデ ータ配信要求メッセージを前記コンテンツ保持端末装置へ送信する構成にしてもよ い。
[0015] このように構成することにより、検索メッセージを送信した端末装置は、効率的にコ ンテンッデータの取得が可能となる。
[0016] また、前記端末装置にお!/、て、前記複数の端末装置のうち一部の端末装置の識別 情報と所在情報とを関連付けたルーティングテーブルを記憶するルーティングテー ブル記憶手段と、前記ネットワークを介して受信したメッセージの宛先識別情報と前 記ルーティングテーブルとに基づいて、前記受信したメッセージが自端末装置宛で あるか否かを判定するメッセージ宛先判定手段と、前記ネットワークを介して受信した メッセージが前記検索メッセージであるとき、要求されたコンテンツの前記コンテンツ 保持端末装置の所在情報が前記配信元情報記憶手段に記憶されているか否かを 判断する所在情報判断手段とを備え、前記配信元情報記憶手段は、前記ネットヮー クを介して受信したメッセージが前記登録メッセージであるとき、当該登録メッセージ が自端末装置宛であるか否かにかかわらず、前記登録メッセージに含まれる前記コ ンテンッ保持端末装置の所在情報を記憶し、要求されたコンテンツの前記コンテンツ 保持端末装置の所在情報が前記配信元情報記憶手段に記憶されていると前記所在 情報判断手段が判断したとき、前記応答処理可否判定手段が前記検索メッセージ 応答処理を行うか否かを判定する構成にしてもよい。
[0017] このように構成することにより、コンテンツ保持端末装置の所在情報を記憶する端末 装置を増加させ、コンテンツ保持端末装置へのアクセス制限を行なう端末装置を分 散させることが可能となり、更にネットワークの混雑を抑制することができる。
[0018] また、前記端末装置において、前記検索メッセージ応答処理手段により前記検索メ ッセージ応答処理が行われたとき、前記ルーティングテーブルに基づ!/、て前記送信 要求の宛先識別情報に応じた端末装置の所在情報を取り出し、当該所在情報を有 する端末装置へ前記検索メッセージ応答処理を行った旨の情報を送信する報知手 段を備えた構成にしてもよ!/、。
[0019] このように構成することにより、コンテンツ保持端末装置の所在情報を記憶する他の 端末装置にその旨を知らせることができ、コンテンツ保持端末装置へのアクセス制限 をより効果的に行うことができる。
[0020] また、前記端末装置において、前記メッセージ宛先判定手段により前記ネットワーク を介して受信したメッセージが自端末装置宛ではないと判定されると、前記受信した メッセージの宛先識別情報に基づいて、転送先の端末装置の所在情報を前記ルー ティングテーブルから取り出し、前記転送先の端末装置へ前記受信したメッセージを 転送するメッセージ転送手段を備え、前記検索メッセージにて要求されたコンテンツ の前記コンテンツ保持端末装置の所在情報が前記配信元情報記憶手段に記憶され ていないと前記所在情報判断手段が判断したとき、前記メッセージ宛先判定手段が 、前記受信したメッセージが自端末装置宛であるか否かを判定し、自端末装置宛で ないとき、前記メッセージ転送手段がメッセージを転送する構成にしてもよい。
[0021] このように構成することにより、コンテンツ保持端末装置の所在情報を保持する他の 端末装置と協力して、コンテンツ保持端末装置へのアクセス制限をより効果的に行う こと力 Sでさる。
[0022] また、前記端末装置における前記応答処理可否判定手段は、前記検索メッセージ 応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した 前記コンテンツ保持端末装置の数と、所定期間内に前記検索メッセージ応答処理を 行った数とに基づ!/、て行う構成にしてもよ!/、。
[0023] このように構成することにより、検索メッセージ応答処理を行うかどうかの判定を極め て容易に行うことができる。
[0024] また、前記端末装置における前記応答処理可否判定手段は、前記検索メッセージ 応答処理を行うか否かの判定を、前記配信元情報記憶手段に所在情報を記憶した 前記コンテンツ保持端末装置において同時に前記コンテンツデータを供給すること ができる数と、所定期間内に前記検索メッセージ応答処理を行った数とに基づいて 行う構成にしてもよい。
[0025] このように構成することにより、所在情報を記憶しているコンテンツ保持端末装置コ ンテンッデータの供給能力に応じてコンテンツ保持端末装置へのアクセス制限を行う こと力 Sでき、より適切なアクセス制限を行うことができる。
[0026] また、前記端末装置において、前記所定期間は、前記配信元情報記憶手段に所 在情報を記憶した前記コンテンツ保持端末装置が保持するコンテンツデータのデー タサイズに応じて決定される時間である構成にしてもよい。
[0027] このように構成することにより、コンテンツデータのデータサイズが異なる場合でも、 より適切なアクセス制限を行うことができる。
[0028] また、コンピュータを、上述した端末装置における各手段として機能させるためのプ ログラムがコンピュータ読み取り可能に記録されている記録媒体を提供してもよい。
[0029] また、上記課題を解決するために、本発明の他の観点によれば、ネットワーク上に 分散配置された複数の端末装置から構成され、前記端末装置間でコンテンツデータ の送受信を行うコンテンツ配信システムにおける前記端末装置の情報処理方法であ つて、前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持す るコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、 前記登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するステ ップと、前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得 するための検索メッセージであるとき、所在情報を記憶した前記コンテンツ保持端末 装置の数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取 得する検索メッセージ応答処理を行うか否力、を判定するステップと、前記検索メッセ ージ応答処理を行うと判定されると、前記検索メッセージ応答処理を行うステップとを 有する。
発明の効果
[0030] 本発明によれば、ネットワークを介して受信したメッセージがコンテンツデータを保 持するコンテンツ保持端末装置の所在情報の登録を要求する登録メッセージである とき、この登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶し、 その後、ネットワークを介して受信したメッセージがコンテンツデータを取得するため の検索メッセージであるとき、このメッセージを送信した端末装置がコンテンツデータ を取得する検索メッセージ応答処理を行うか否かを判定し、検索メッセージ応答処理 を行うと判定されると、この検索メッセージ応答処理を行うにしたので、コンテンツ保持 端末装置の所在情報を検索するときに、コンテンツ保持端末装置へのアクセスを制 限して、ネットワークの混雑を抑制することが可能となる。
図面の簡単な説明
[0031] [図 1]本実施形態に係るコンテンツ配信システムにおける各端末装置の接続態様の 一例を示す図である。
[図 2]ID空間の説明図である。
[図 3]DHTによってルーティングテーブルが作成される様子の一例を示す図である。
[図 4]本実施形態に係る端末装置のルーティングテーブルの一例である。
[図 5]コンテンツ保持端末の登録メッセージが転送される様子をスバニングツリー状に 表した図である。
[図 6]本実施形態に係る端末装置のインデックステーブルの一例である。
[図 7]DHTによりコンテンツデータの保持元である端末装置が検索される様子の一 例を示す図である。
[図 8]DHTによりコンテンツデータの保持元である端末装置が検索される様子の一 例を示す図である。
[図 9]本実施形態における端末装置の概略構成例を示す図である。
[図 10]端末装置におけるメイン処理を示すフローチャートである。
[図 11]端末装置におけるコンテンツ取得再生処理を示すフローチャートである。 [図 12]端末装置におけるコンテンツ取得要求処理を示すフローチャートである。
[図 13]DHTによりコンテンツデータの保持元である端末装置が検索される様子の他 の例を示す図である。
符号の説明
[0032] S コンテンツ配信システム
1 端末装置
8 ネットワーク
10 コンテンツ投入装置
102 端末装置の CPU
103 端末装置の第 1記憶部
104 端末装置の第 2記憶部
113 端末装置の制御部
発明を実施するための最良の形態
[0033] 以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明す る実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータ とする Pastry型のコンテンツ配信システムに対して本発明を適用した場合の実施形 態である。
[0034] [1.コンテンツ配信システム Sの構成等]
まず始めに、図 1を参照して、情報配信システムとしてのコンテンツ配信システム S の概要構成等について説明する。図 1は、本実施形態に係るコンテンツ配信システム Sにおける各端末装置の接続態様の一例を示す図である。このコンテンツ配信シス テム Sは、ネットワーク上に分散配置された複数の端末装置から構成され、端末装置 間でコンテンツデータの送受信を fiうものである。
[0035] 図 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が構 築されている。 [0036] コンテンツ配信システム Sは、図 1の上部枠 100内に示すように、ネットワーク 8を介し て相互に接続された複数の端末装置 la, lb, lc - - - lx, ly, 1ζ · · ·を備えて構成さ れ、ピアツーピア(Ρ2Ρ)方式のネットワークシステムとなっている。各端末装置 la, lb , lc - - - lx, ly, 1ζ · ·には、端末装置を示す情報としての固有の製造番号 (例えば、 MACアドレス)及び IP (Internet Protocol)アドレスが割り当てられている。なお、製造 番号及び IPアドレスは、複数の端末装置間で重複しないものである。また、以下の説 明において、端末装置 la, lb, lc - - - lx, ly, 1ζ · · ·のうち何れかの端末装置を示 す場合には、便宜上、端末装置 1という場合がある。
[0037] [1. 1. DHTの概要]
以下に、本実施形態に係る分散ハッシュテーブル(以下、「DHT」 (Distributed Has h Table)と呼ぶ。)を利用したアルゴリズムについて説明する。
[0038] 上述したコンテンツ配信システム Sにおいて、当該端末装置 1同士が、互いに情報 をやり取りする際には、お互!/、の所在情報である IPアドレスを知って!/、なければなら ない。
[0039] 例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク 8に参加し ている各端末装置 1が互いにネットワーク 8に参加している全ての端末装置 1の IPァ ドレスを知っておくのが単純な手法である力 S、端末数が何万何十万と多数になると、 その全ての端末装置 1の IPアドレスを覚えておくのは現実的ではない。また、任意の 端末装置 1の電源が頻繁に ON或いは OFFとすると、各端末装置 1にお!/、て記憶し ている当該任意の端末装置 1の IPアドレスの更新が頻繁になり、運用上困難となる。
[0040] そこで、 1台の端末装置 1では、ネットワーク 8に参加している全ての端末装置 1のう ち、必要最低限の一部の端末装置 1の IPアドレスだけを記憶しておき、 IPアドレスを 記憶して!/、な!/、端末装置 1につ!/、ては、各端末装置 1間で互いに情報を転送し合う ことによりコンテンツを届けるシステムが考案されている。
[0041] このようなシステムの一例として、 DHTを利用したアルゴリズムによって、図 1の上部 枠 100内に示すような、オーバーレイネットワーク 9が構築されることになる。つまり、こ のオーバーレイネットワーク 9は、既存のネットワーク 8を用いて形成された仮想的なリ ンクを構成するネットワークを意味する。 [0042] 本実施形態においては、 DHTを利用したアルゴリズムによって構築されたオーバ 一レイネットワーク 9を前提としており、このオーバーレイネットワーク 9上に配置された 端末装置 1を、コンテンツ配信システム Sに参加(言い換えれば、オーバーレイネット ワーク 9に参加)して!/、る端末装置 1と!/、う。
[0043] コンテンツ配信システム Sに参加している各端末装置 1の識別番号である端末 IDと して、それぞれの端末装置 1毎にユニークな番号(固有番号)を付与する。この番号 は、端末装置の最大運用台数を収容できるだけの bit数を持たせる必要がある。例え ば、 128bitの番号とすれば、 2128 (2の 128乗)台の端末装置を運用できる。
[0044] より具体的には、各端末装置 1の端末 IDは、それぞれの端末装置 1の IPアドレス或 いは製造番号等の端末装置 1毎に固有の値を、共通のハッシュ関数 (ハッシュァルゴ リズム)によりハッシュ化して得たハッシュ値であり、一つの ID空間に偏りなく分散して 酉己置されることになる。
[0045] このように共通のハッシュ関数によりハッシュ化されて求められた端末 IDは、当該 IP アドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。な お、ノ、ッシュ関数については公知であるので詳しい説明を省略する。また、本実施形 態では、 IPアドレス(グローバル IPアドレス)を共通のハッシュ関数によりハッシュ化し た値を端末 IDとする。
[0046] また、コンテンツ配信システム Sに参加している複数の端末装置 1には、一の端末 装置 1から他の端末装置 1に配信される共用情報としてのコンテンツデータ(例えば、 音楽データ、映画データ、文書データ等)が分散して記憶されている力 当該コンテ ンッデータにも、それぞれのコンテンツデータ毎の固有の識別番号 (以下、「コンテン ッ ID」と呼ぶ。)を付与する。
[0047] そして、当該コンテンツ IDは、端末 IDと同様の長さ(例えば、 128bit等)とし、コンテ ンッの名称(コンテンツタイトル) 1S 上記端末 IDを得るときと共通のハッシュ関数によ りハッシュ化され(つまり、端末装置 1の IPアドレスのハッシュ値と同一の ID空間に配 置)、そのハッシュ値と最も近い(例えば、上位桁がより多く一致する)端末 IDを有す る端末装置 1が、後述するルート端末装置として、コンテンツデータを保持する端末 装置 1 (以下、「コンテンツ保持端末装置」と呼ぶ。)へのリンク情報、すなわちコンテン ッ保持端末装置の所在情報である IPアドレスを保持する。
[0048] なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの 名称)になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これ を避けるために、ハッシュ化するキーワードを、例えば、コンテンツの概要情報(あら すじ)、コンテンツの名称と著作権情報 (例えば、出演者名、監督名、原作者名、歌手 名、作曲者名、又は作詞者名等)の組み合わせとすればよい。
[0049] このように、各端末装置 1及び各コンテンツデータに付与された端末 ID及びコンテ ンッ IDは、共通のハッシュ関数によって生成したため、図 2に示す如ぐ同一のリング 状の ID空間上にさほど偏ることなぐ散らばって存在するものとして考えることができ る。同図は 32bitで端末 ID及びコンテンツ IDを付与し、図示したものである。図中丸 点は端末 IDを、四角形はコンテンツ IDを示し、反時計回りで IDが増加するものとす
[0050] 次に、どの端末装置 1に、どのコンテンツデータが管理されるかを、一定の規則の 下に決定する。本実施形態においては、「あるコンテンツ IDを有するコンテンツデー タを管理する端末装置 1は、そのコンテンツ IDに近い端末 IDを有する端末装置 1で ある」という規則とする。
[0051] ここで、「近い」ことの定義は、当該コンテンツ IDを超えず、コンテンツ IDと端末 IDと の差が一番少ないものとするが、実際には、各コンテンツデータの管理を各端末装 置 1に割り振る際に、一貫して!/、れば他の定義でもよ!/、。
[0052] 図 2に示す例では、この定義に基づいて、コンテンツ IDaは、当該コンテンツ IDaに 近い端末 ID (以下、「端末 IDa」と呼ぶ。)を有する端末装置 1に管理され、コンテンツ IDbは、当該コンテンツ IDbに近い端末 ID (以下、「端末 IDb」と呼ぶ。)を有する端末 装置 1に管理され、コンテンツ IDcは、当該コンテンツ IDcに近い端末 ID (以下、「端 末 IDc」と呼ぶ。)を有する端末装置 1に管理される。
[0053] なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するので はなく、「コンテンツデータが何れの端末装置 1に保持されて!/、る力、を知って!/、る」こと を意味する。すなわち、図 2において、端末 IDaを有する端末装置 1は、コンテンツ ID aを有するコンテンツデータが何れの端末装置 1に保持されているかを知っており、端 末 IDbを有する端末装置 1及び端末 IDcを有する端末装置 1も同様にそれぞれコン テンッ IDbを有するコンテンツデータ及びコンテンツ IDcを有するコンテンツデータが 何れの端末装置 1に保持されて!/、るかを知って!/、る、と!/、うことになる。
[0054] このように、あるコンテンツデータが何れの端末装置 1に保持されているかを知って いる端末装置 1を、そのコンテンツデータのルート端末装置と呼ぶ。つまり、端末 IDa を有する端末装置 1は、コンテンツ IDaを有するコンテンツデータのルート端末装置 であって、端末 IDbを有する端末装置 1は、コンテンツ IDbを有するコンテンツデータ のルート端末装置であって、端末 IDcを有する端末装置 1は、コンテンツ IDcを有す るコンテンツデータのルート端末装置である。
[0055] また、本実施形態においては、コンテンツデータの管理をルート端末装置が主とし て行うが、その他の端末装置 1においても後述するキャッシュ端末装置としてコンテン ッデータの管理を行うようにしており、この点後述する。
[0056] また、コンテンツ配信システム Sには、図 1に示すように、コンテンツ配信システム S にコンテンツデータを投入する機能、すなわちコンテンツ配信システム S内の端末装 置 1をコンテンツ保持端末装置とするためにコンテンツデータを端末装置 1へ配布す る機能と、カタログリストを生成して端末装置 1へ提供する機能とを有するコンテンツ 投入装置 10が配置されて!/、る。
[0057] [1. 2. ノレ一ティングテープノレの作成]
ここで、図 3を参照して、 DHTで用いるルーティングテーブルの作成手法の一例に ついて説明する。図 3は、 DHTによってルーティングテーブルが作成される様子の 一例を示す図である。
[0058] まず、図 3 (a)に示す如ぐ ID空間を幾つかのエリアに分割する。実際には、 16分割 程度が良く用いられるが、説明を簡単にするためここでは 4分割とし、 IDをビット長 8bi tの 4進数で表すことにする。そして、端末装置 1Nの端末 IDを「1133」とし、この端末 装置 1Nのルーティングテーブルを作る例について説明する。
[0059] (レベル 1のルーティング)
まず、 ID空間を 4分割とした場合、それぞれのエリアは 4進数で表すと最大桁が異 なる 4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは 0力、ら 3の自然数、以下同 様。)で分けられる。端末装置 INは、当該端末装置 1N自身の端末 IDが「1133」であ るため、図 3 (a)中左下「1XXX」のエリアに存在することになる。そして、端末装置 1N は、参加要求を受信した端末装置 1から送信された情報等から、自分の存在するエリ ァ(すなわち、「1XXX」のエリア)以外のエリア(すなわち、「0XXX」のエリア、 「2XXX」 のエリア、「3XXX」のエリア)に存在する端末装置 1を選択し、当該端末装置 1の端末 ID及び IPアドレスをレベル 1のテーブルに記憶する。図 4がレベル 1のテーブルの一 例である。このテーブルでは、「0XXX」のエリアの端末 IDとして「0100」、「2XXX」のェ リアの端末 IDとして「2133」、「3XXX」のエリアの端末 IDとして「3213」がそれぞれ選択 されている状態を示している。なお、当該レベル 1の 2列目は端末装置 1N自身を示し てレ、るため、 IPアドレスを記憶する必要はなレ、。
[0060] (レベル 2のルーティング)
次に、図 3 (b)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、自分 の存在するエリア「lxxx」を更に 4分割し、更に 4つのエリア「10XX」、「11XX」、「12XX 」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11XX」以外のエリ ァに存在する端末装置 1を適当に選択し、当該端末装置 1の端末 ID及び IPアドレス をレベル 2のテーブルに記憶する。図 4がレベル 2のテーブルの一例である。このテ 一ブルでは、「10XX」のエリアの端末 IDとして「1003」、「12XX」のエリアの端末 IDとし て「1221」 ヽ「13XX」のエリアの端末 IDとして「1313」がそれぞれ選択されている状態 を示している。なお、レベル 2の 2列目は端末装置 1Nが存在するエリア「11XX」であり 、後述するレベル 3にてテーブル化されるため IPアドレスを記憶していない。また、上 記エリアに端末装置 1が存在しない場合には、端末 ID及び IPアドレスの欄は空白と なる。
[0061] (レベル 3のルーティング)
更に、上記ルーティングによって 4分割したエリアのうち、自分の存在するエリア「11 乂乂」を更に4分割し、更に4っのェリァ「110乂」「111乂」、 「112X」、「113X」と分ける。そ して、上記と同様に自分の存在するエリア「113X」以外のエリアに存在する端末装置 1を適当に選択し、当該端末装置 1の端末 ID及び IPアドレスをレベル 3のテーブルに 記憶する。図 4がレベル 3のテーブルの一例である。レベル 3の 4列目は端末装置 1N が存在するエリアであり、後述するレベル 4にてテーブル化されるため IPアドレスを記 憶していない。また、上記エリアに端末装置 1が存在しない場合には、端末 ID及び IP アドレスの欄は空白となる。
[0062] このようにして、レベル 4まで同様にルーティングテーブルを図 4に示す如く作成す ることにより、 8bitの ID全てを網羅することができる。レベルが上がる毎にテーブルの 中に空白が目立つようになる。
[0063] 以上説明した手法に従って作成したルーティングテーブルを、全ての端末装置 1が 夫々作成して所有することになる。このように、各端末装置 1は、コンテンツ配信シス テム Sにおける複数の端末装置 1のうち一部の端末装置 1の識別情報である端末 ID 及び IPアドレスを関連付けたルーティングテーブルを有している。
[0064] [1. 3.インデックステーブルへの登録方法]
このような構成のコンテンツ配信システム Sの中で、例えば、ある端末装置 1が新し いコンテンツデータを、コンテンツ配信システム S上の他の端末装置 1から検索可能と なるように公開する際の手法について述べる。
[0065] コンテンツ投入装置 10から配布されたコンテンツデータを記憶してコンテンツ保持 端末装置となった端末装置 1は、記憶したコンテンツデータのコンテンツ IDと同じ端 末 IDを持つ端末装置 1に向けて (この端末装置 1が実在するか否かはこの時点では わからない。)、コンテンツデータを保持するコンテンツ保持端末装置の所在情報等 の登録を要求するメッセージ (以下、「登録メッセージ」とする。)を送信する。
[0066] 具体的には、図 5 (a) , (b)に示すように、例えば、端末装置 1Mがコンテンツ ID「30 20」のコンテンツ保持端末装置となったとき、端末装置 1Mは、コンテンツ ID「3020」を 宛先識別情報とした登録メッセージを生成し、この登録メッセージを自己が保持して いるルーティングテーブルを参照して送信する。端末装置 1Mが、図 4の例と同様の ノレ一ティングテーブルを持っていたとすると、コンテンツ 03「3020」は「3乂乂乂」のェリァ であるため、当該「3XXX」のエリアに属す端末装置 1のうち、 IPアドレスを知っている( すなわち、自己が保持しているルーティングテーブルに IPアドレスが記憶されている )端末装置 1A (端末 ID「3213」)に対して登録メッセージを送信する。このように、登 録メッセージはコンテンツに対応する固有の識別情報であるコンテンツ IDを含むもの であり、このコンテンツ IDは登録メッセージにおいて宛先識別情報として用いられる。
[0067] 次に、登録メッセージを受信した端末装置 1Aは、この登録メッセージが自端末装 置 1A宛のメッセージであるか否かを判定する。 自端末装置 1A宛のメッセージである か否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的に は、宛先識別情報が自端末装置 1 Aの識別情報である端末 IDと近いか否かが判定 される。即ち、宛先識別情報に対して、端末装置 1 A自身が保持しているルーティン グテーブル (テーブルの値は図示しない)に記憶されている端末装置 1の端末 IDから 、一番近い端末装置 1の端末 IDが、自身であるか他の端末装置 1であるかを判定す
[0068] そして、自端末装置 1Aの端末 IDよりも他の端末装置 1の端末 IDの方が、宛先識別 情報に近いため、端末装置 1Aは、当該端末装置 1A自身が保持しているルーティン グテーブルのレベル 2のテーブルを参照して、 「30XX」のエリアに属す端末装置 1のう ち、 IPアドレスを知っている端末装置 1B (端末 ID「3031」)に対して登録メッセージを 転送する。
[0069] このように、コンテンツ IDの桁を上から順に適合していく要領で登録メッセージの転 送が進み、最終的に当該コンテンツデータを管理する端末装置 1C、すなわちルート 端末装置に迪り着くと、当該端末装置 1自身がそのコンテンツのルート端末装置とな るべきだと判断し、当該登録メッセージに含まれる当該コンテンツ ID及びコンテンツ 保持端末の端末 IDや IPアドレス等(以下、これらを「インデックス情報」と呼ぶ。)をィ ンデッタス情報として記憶する。そして、後述するように、他の端末装置から検索メッ セージを受信すると、検索メッセージ応答処理を行う。この検索メッセージ応答処理 は、検索メッセージを送信した端末装置 1へコンテンツ保持端末装置の所在情報を 後述するインデックステーブルから選択して通知することによって行うものである。
[0070] また、本実施形態では、登録メッセージがルート端末装置へ転送される経路の途中 の端末装置 1でも、登録メッセージに含まれるインデックス情報をキャッシュとして保 持するように構成されており、このような端末装置 1をキャッシュ端末装置という。これ により、ルート端末装置がコンテンツを検索するための検索メッセージを受信するより 前に、キャッシュ端末装置に検索メッセージが転送された時点でキャッシュ端末装置 によって、検索メッセージ応答処理を行うことが可能となる。
[0071] 登録メッセージを転送していく際には、通常、上述のようにキャッシュ端末装置が登 録メッセージに基づレ、たインデックス情報を保持して!/、く。
[0072] すなわち、コンテンツ保持端末装置である端末装置 1M力 Sインデックス情報を含む 登録メッセージを送信すると、これを受け取った端末装置 1Aは、当該インデックス情 報を保持することによりキャッシュ端末装置(1)として機能する。キャッシュ端末装置( 1)は、当該登録メッセージを転送する。当該登録メッセージを受け取った端末装置 1 Bは、当該インデックス情報を保持することによりキャッシュ端末装置(2)として機能す る。キャッシュ端末装置(2)は、当該登録メッセージを転送する。当該登録メッセージ を受け取った端末装置 1Cは、当該インデックス情報を保持することによりルート端末 装置として機能する。このように端末装置 1A, IB, 1Cは登録メッセージに含まれるィ ンデッタス情報を保持することになる。
[0073] ところで、ルート端末装置やキャッシュ端末装置におけるインデックス情報の保持は 、図 6に示すようなインデックステーブルにより行われる。図 6はルート端末装置 1Cに おけるインデックステーブルの例を示したものであり、自端末装置 1が管理対象であ るコンテンツ ID「3020」のコンテンツに関するコンテンツ保持端末装置の端末 ID、 IP アドレス、紹介時間などを記憶する他、キャッシュ端末装置としてコンテンツ ID「3021」 のコンテンツに関するコンテンツ保持端末装置の端末 ID、 IPアドレス、紹介時間など を記憶している。なお、インデックステーブルには、コンテンツお、コンテンツ保持端 末装置の端末 IDや IPアドレスの他、コンテンツデータのサイズや著作権情報なども 記憶すること力 Sできる。また、紹介時間とは、後述する検索メッセージを受信したとき に、コンテンツ保持端末装置に所在情報を送信したときの時間であり、この送信を行 うたびに更新されるものである。
[0074] [1. 4.コンテンツデータの取得方法]
次に、図 7及び図 8を参照して、コンテンツデータを保持している端末装置 1の検索 方法の一例について説明する。図 7は、 DHTによりコンテンツデータを保持している 端末装置 1が検索される様子の一例を示す図である。
[0075] ここでは、端末 ID「1133」の端末装置 1Nが、コンテンツ ID「3020」を有するコンテン ッデータを探す際の手順について説明する。なお、以下このようにコンテンツデータ を探し、コンテンツデータの送信を要求する端末装置 1をリクエスト端末装置と呼ぶ。 また、端末装置 1A, 1Bは、コンテンツ ID「3020」のキャッシュ端末装置であるとし、端 末装置 1Cは、コンテンツ ID「3020」のルート端末装置であるとする。
[0076] リクエスト端末装置 1Nは、コンテンツ ID「3020」を宛先識別情報とし、自己が保持し て!/、るルーティングテーブルを参照して、コンテンツ保持端末装置の識別情報の送 信要求(以下、「検索メッセージ」と呼ぶ。)を送信する。リクエスト端末装置 1Nが、図 4の例と同じ値のルーティングテーブルを持っていたとすると、コンテンツ ID「3020」は 「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置 1のうち、 IPアド レスを知っている(すなわち、自己が保持しているルーティングテーブルに IPアドレス が記憶されて!/、る)端末装置 1A (端末 ID「3213」 )に対して検索メッセージを送信する 。このように、検索メッセージはコンテンツに対応する固有の識別情報であるコンテン ッ IDを含むものであり、このコンテンツ IDは検索メッセージにおいて宛先識別情報と して用いられる。
[0077] 図 7に示す例によれば、端末 IDが「3213」である端末装置 1Aの IPアドレスがリクェ スト端末装置 1Nのルーティングテーブル(図 4参照。)に記憶されているので、リクェ スト端末装置 1Nは、端末 IDが「3213」である端末装置 1Aに対して検索メッセージを 送信する。
[0078] 次に、検索メッセージを受信した端末装置 1Aは、この検索メッセージによる検索対 象のコンテンツ保持端末装置の所在情報インデックステーブルに記憶されているか 否かを判断する。すなわち、端末装置 1Aは、検索メッセージに含まれるコンテンツ I Dに基づいて、このコンテンツ ID対応するコンテンツデータを保持するコンテンツ保 持端末装置の所在情報が記憶されているか否力、を判断する。
[0079] 端末装置 1 Aは、コンテンツ ID「3020」のキャッシュ端末装置であることから、検索メ ッセージの検索対象であるコンテンツ保持端末装置の所在情報を記憶していると判 断し、検索メッセージ応答処理を行うか否かを判定する。
[0080] ここで、端末装置 1Aは、検索メッセージ応答処理を行うか否かを、ルーティングテ 一ブルに記憶された情報に基づ!/、て行う。具体的には、ルーティングテーブルに所 在情報を記憶したコンテンツ保持端末装置の数に応じてその判定を行う。すなわち、 ルーティングテーブルに所在情報を記憶したコンテンツ保持端末装置の数に応じて 検索メッセージ応答処理数の上限値 (以下、単に「上限値」と呼ぶ場合がある)を決 定し、所定時間前から現在までの間に行った検索メッセージ応答処理の数 (以下、「 最近の検索メッセージ応答処理数」と呼ぶ。 )が上限値以上となって!/、な!/、ときに検 索メッセージ応答処理を行うと判定し、上限値以上となっているときに検索メッセージ 応答処理を行わなレ、と判定する。
[0081] ここで、端末装置 1Aにおいては、図 7に示すように、検索メッセージ応答処理数の 上限値が「2」であり、最近の検索メッセージ応答処理数力 S「2」となってレ、ることから、 検索メッセージ応答処理を行わずに、端末装置 1 Aは、この検索メッセージが自端末 装置 1A宛のメッセージであるか否かを判定する。 自端末装置 1A宛のメッセージであ るか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的 には、宛先識別情報が自端末装置 1Aの識別情報である端末 IDと近いか否かが判 定される。即ち、宛先識別情報に対して、端末装置 1 A自身が保持しているルーティ ングテープノレ (テーブルの値は図示しな!/、)に記憶されて!/、る端末装置 1の端末 ID から、一番近い端末装置 1の端末 IDが、自身であるか他の端末装置 1であるかを判 疋 。
[0082] そして、自端末装置 1Aの端末 IDよりも他の端末装置 1の端末 IDの方が、宛先識別 情報に近いため、端末装置 1Aは、当該端末装置 1A自身が保持しているルーティン グテーブルのレベル 2のテーブルを参照して、 「30XX」のエリアに属す端末装置 1のう ち、 IPアドレスを知っている端末装置 1B (端末 ID「3031」)に対して検索メッセージを 転送する。
[0083] その後、検索メッセージを受信した端末装置 1Bは、この検索メッセージの検索対象 であるコンテンツ保持端末装置の所在情報力 Sインデックステーブルに記憶されている か否力、を判断する。
[0084] 端末装置 1Bは、コンテンツ ID「3020」のキャッシュ端末装置であるため、検索メッセ ージの検索対象であるコンテンツ保持端末装置の所在情報を記憶していると判断し 、検索メッセージ応答処理を行うか否かを判定する。 [0085] ここで、端末装置 IBにおいては、検索メッセージ応答処理数の上限値が「8」であり
、最近の検索メッセージ応答処理数が「6」となっていることから、端末装置 1Bは、検 索メッセージ応答処理が可能であると判定し、インデックステーブルから検索メッセ一 ジの検索対象であるコンテンツ保持端末装置の所在情報を複数 (一つしかない場合 には一つだけ)取り出す。そして、端末装置 1Bは、このように取り出したコンテンツ保 持端末装置の所在情報をリクエスト端末装置 1Nへ通知する。コンテンツ保持端末装 置の所在情報の通知を受けるとリクエスト端末装置 1Nは、これらのコンテンツ保持端 末装置のうち任意の一つのコンテンツ保持端末装置を選択してコンテンツデータの 送信を要求する。
[0086] このように、本実施形態における端末装置 1では、ネットワーク 8を介して受信したメ ッセージが検索メッセージであるとき、所在情報を記憶したコンテンツ保持端末装置 の数に応じて、検索メッセージ応答処理を行うか否かを判定し、検索メッセージ応答 処理を行うと判定すると、検索メッセージ応答処理を行うようにしたので、コンテンツ保 持端末装置の所在情報を検索するときに、コンテンツ保持端末装置へのアクセス制 限をすることで、ネットワークの混雑を抑制することが可能となる。すなわち、コンテン ッ配信システム Sにおけるコンテンツ配信能力に応じたアクセス制限が可能となる。
[0087] また、端末装置 1Bは、検索メッセージに対し、検索メッセージ応答処理を行ったと き、ルーティングテーブルに基づいて、コンテンツ ID「3020」に端末 IDが近い所在情 報を有する端末装置 1Cへ検索メッセージ応答処理を行った旨のメッセージ (以下、「 応答処理済メッセージ」とする。)を送信する。この応答処理済メッセージは、コンテン ッ ID「3020」を宛先識別情報として、 DHTルーティングにより送信されるものである。 端末装置 1Cは、この応答処理済メッセージを受信すると、自端末装置 1における最 近の検索メッセージ応答処理数を 1つだけインクリメントする。
[0088] このように、リクエスト端末装置の検索メッセージに対して、検索メッセージ応答処理 を行った端末装置 1Bからルート端末装置までの DHTルーティング経路に検索メッセ ージ応答処理済メッセージを送信することにより、他のキャッシュ端末装置やルート端 末装置は、検索メッセージに対して検索メッセージ応答処理が行われたことを把握す ること力 Sできるので、コンテンツ保持端末装置へのアクセス制限をより効果的に行うこ と力 Sできる。
[0089] 図 8は、端末装置 1A, IB, 1Cのいずれも力 最近の検索メッセージ応答処理数が 検索メッセージ応答処理数の上限値以上となっている状態で、リクエスト端末装置 1 Nが検索メッセージを送信した場合の例を示している。
[0090] この例では、リクエスト端末装置 1Nから送信された検索メッセージに対して、キヤッ シュ端末装置である端末装置 1A, 1Bは、 自端末装置における最近の検索メッセ一 ジ応答処理数が上限値以上となっているため、検索メッセージ応答処理を行わずに この検索メッセージをルート端末装置である端末装置 1Cへ転送する。端末装置 1C にお!/、ては、同様に最近の検索メッセージ応答処理数が上限値以上となって!/、るた め、検索メッセージ応答処理を行わず、リクエスト端末装置 1Nに対して、アクセス不 許可メッセージを送信する。リクエスト端末装置 1Nでは、アクセス不許可メッセージす るとコンテンツデータの取得処理を中止する。
[0091] このように、各端末装置において最近の検索メッセージ応答処理数が検索メッセ一 ジ応答処理数の上限値以上となると、検索メッセージ応答処理の制限を行なうように してるため、ネットワークの混雑を抑制することが可能となる。
[0092] [2.端末装置 1の構成等の説明]
次に、図面を参照して、端末装置 1の構成及び動作について説明する。図 9は、本 実施形態に係るコンテンツ配信システム Sにおける端末装置 1の概略構成を示す図 である。
[0093] 端末装置 1は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可 能であり、図 9に示すように、 CPU (Central Processing Unit) 102と、各種プログラム 等を記憶する書き換え可能な主記憶装置としての第 1記憶部 103と、各種データ等 を記憶する HDD (Hard Disk Drive)等から構成された第 2記憶部 104と、ルータ 30a を介してネットワーク 8に参加している他の端末装置 1との間で通信を行うためのネッ トワークインターフェイス 105と、ユーザによって端末装置 1を遠隔操作するために所 定の赤外線信号を送信及び受信するリモコン 106と、このリモコン 106と赤外線により 通信を行うための赤外線ポート 107と、赤外線ポート 107を制御する周辺機器制御 チップ 108と、 CPU102の制御によりイメージデータを受け取り、内部のビデオメモリ (図示せず)に書き込み、このビデオメモリに書き込んだデータを後述の内蔵ディスプ レイ 110に表示するビデオチップ 109と、内蔵ディスプレイ 110と、 FM音源や Wave Table音源などの音源を有し、オーディオ信号を内蔵スピーカ 112に出力すること によって内蔵スピーカ 112から音波を出力させる音源チップ 111と、内蔵スピーカ 11 2とを備えて構成され、これらの各種構成要素はシステムバス 101を介して相互に接 続されている。なお、本実施形態においては、 CPU102と第 1記憶部 103とで制御 部 113を構成している。
[0094] (第 1記憶部 103について)
また、第 1記憶部 103には、端末装置 1のコンピュータとしての基本的な機能を提供 するためのオペレーティングシステム(OS)プログラム 114、内蔵ディスプレイ 110の 制御等を行うための画面制御プログラム 115、コンテンツ保持端末装置として機能す る他の端末装置 1から送信されるコンテンツデータを受信し、また自端末装置がコン テンッ保持端末装置として機能するときには第 2記憶部 104に記憶したコンテンツデ ータを配信するためのコンテンツ処理プログラム 116、他の端末装置とメッセージの 送受信を行うためのメッセージ処理プログラム 117、配信されたコンテンツデータの再 生等を行うための音楽デコーダプログラム 118等を記憶しており、これらは CPU102 によって読み出され、 CPU102によってこれらのプログラムに従った機能が実行され る。また、第 1記憶部 103には、更にインデックステーブル(図 6参照)の情報を記憶 するためのインデックステーブル記憶領域 119 (配信元情報記憶手段の一例に相当 )やルーティングテーブル(図 4参照)のを記憶するためのルーティングテーブル記憶 領域 120 (ルーティングテーブル記憶手段の一例に相当)が設けられている。
[0095] ここで、 OSプログラム 114は、 CPU102によって読み出されて実行されることにより 、リモコン 106の入出力に関する機能や、第 1記憶部 103や第 2記憶部 104などのメ モリ管理等の端末装置 1であるコンピュータの基本的な機能を実行可能にするもので ある。そして、この OSプログラム 114が CPU102によって実行された状態で、上述の 画面制御プログラム 115、コンテンツ処理プログラム 116、メッセージ処理プログラム 1 17、音楽デコーダプログラム 118等が第 1記憶部 103から読み出されて実行される。
[0096] なお、 OSプログラム 114、画面制御プログラム 115、コンテンツ処理プログラム 116 、メッセージ処理プログラム 117、音楽デコーダプログラム 118等は、例えば、ネットヮ ーク 8に接続されたサーバ等から、ネットワークインターフェイス 105を介して、第 1記 憶部 103にダウンロードされるようにしてもよぐ又 CD— ROM等の記録媒体に記録 されてから図示しない記録媒体ドライブを介して、第 1記憶部 103に読み込まれるよう にしてもよい。
[0097] (第 2記憶部 104について)
第 2記憶部 104には、コンテンツ投入装置 10等から配信されたコンテンツデータを 記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域等を有 している。
[0098] (制御部 113について)
制御部 113は、上述のように CPU102と第 1記憶部 103とから構成され、 CPU102 が第 1記憶部 103に記憶された各種プログラム 114〜118を読み出して実行すること により、端末装置 1全体を統括制御し、かつ、後述する表示制御手段、コンテンツデ ータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、コ ンテンッデータ再生手段、登録メッセージ送信手段、コンテンツ保持端末情報取得 手段、所在情報判断手段、応答処理可否判定手段、検索メッセージ応答処理手段、 報知手段、メッセージ宛先判定手段、メッセージ転送手段、デコード手段等として機 能するようになっている。
[0099] なお、 CPU102が画面制御プログラム 115を実行することによって、表示制御手段 等として、また CPU102がコンテンツ処理プログラム 116を実行することによって、コ ンテンッデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送 信手段、コンテンツデータ再生手段等として、また CPU102がメッセージ処理プログ ラム 117を実行することによって、登録メッセージ送信手段、コンテンツ保持端末情報 取得手段、所在情報判断手段、応答処理可否判定手段、検索メッセージ応答処理 手段、報知手段、メッセージ宛先判定手段、メッセージ転送手段等として、また CPU 102が音楽デコーダプログラム 118を実行することによって、デコード手段等として、 それぞれ機能するようになっている。
[0100] (表示制御手段について) 表示制御手段は、ビデオチップ 109及び内蔵ディスプレイ 110を制御して、各種の 映像情報(画像情報)を表示させる機能を有している。すなわち、表示制御手段は、 内蔵ディスプレイ 110にどのように映像を表示させるかを制御する。
[0101] (コンテンツデータ取得要求検出手段について)
コンテンツデータ取得要求検出手段は、ユーザによるコンテンツデータの取得要求 操作を検出する。例えば、コンテンツ投入装置 10から端末装置 1が取得したカタログ リストが表示制御手段によって内蔵ディスプレイ 110に表示されているときに、端末装 置 1のユーザがリモコン 106を操作し、所望のコンテンツ名称をユーザが選択すること によってコンテンツデータの取得要求操作がなされ、この操作をコンテンツデータ取 得要求検出手段によって検出する。
[0102] (コンテンツデータ取得手段について)
コンテンツデータ取得手段は、ネットワークインターフェイス 105を介して受信したメ ッセージがコンテンツ投入装置 10からのコンテンツデータの保持要求であるときに、 このコンテンツデータをコンテンツ投入装置 10から取得する。そして、取得したコンテ ンッデータをコンテンツデータ記憶手段としての第 2記憶部 104に記憶する。
[0103] また、コンテンツデータ取得手段は、コンテンツデータ取得要求検出手段によって ユーザによるコンテンツデータの取得要求操作を検出し、他の端末装置 1からコンテ ンッデータを取得するときには、取得しょうとするコンテンツデータを保持するコンテ ンッ保持端末装置の所在情報を検索するための検索メッセージを生成する。検索メ ッセージは、上述のように要求するコンテンツデータの識別情報であるコンテンツ ID を宛先識別情報とし、自端末装置の識別情報である端末 IDを要求元識別情報とし たメッセージである。コンテンツデータ取得手段は、取得しょうとするコンテンツデータ のコンテンツ名称をカタログリストから取り出し、取り出したコンテンツ名称を端末 IDを 得るときと共通のハッシュ関数によりハッシュ化することによってコンテンツ IDを決定 する。なお、コンテンツ投入装置 10において予めカタログリストにコンテンツデータに 対応するコンテンツ IDを含ませることにしてもよい。
[0104] このようにコンテンツデータ取得手段は、決定したコンテンツ ID或いはカタログリスト に含まれるコンテンツ名称に基づいて生成したコンテンツ IDを宛先識別情報とした 検索メッセージを生成する。その後、ルーティングテーブルに記憶された端末装置 1 の識別情報から送信先端末装置を選択して、生成した検索メッセージを送信先端末 装置へ転送する。すなわち、ルーティングテーブルに記憶された端末装置 1の端末 I Dのうち、宛先識別情報に近い端末 IDを選択し、このように選択した端末 IDに対応 する端末装置 1の IPアドレスを知り、その IPアドレスの端末装置 1に検索メッセージを 送信する。
[0105] コンテンツデータ取得手段は、送信した検索メッセージに対してコンテンツ保持端 末装置から送信される当該コンテンツ保持端末装置の所在情報を受信し、この情報 に基づいてコンテンツ保持端末装置に対して取得要求操作に応じたコンテンツデー タを要求する。この要求に応じてコンテンツ保持端末装置からコンテンツデータが配 信される。コンテンツデータ取得手段は、配信されるコンテンツデータを受信し、第 2 記憶部 104に記憶する。
[0106] (登録メッセージ送信手段について)
登録メッセージ送信手段は、コンテンツ投入装置 10から受信したコンテンツデータ をコンテンツデータ記憶手段としての第 2記憶部 104に記憶したとき、或いは検索メッ セージによって他の端末装置 1からコンテンツデータを取得したとき、当該コンテンツ データの識別情報であるコンテンツ IDを宛先識別情報とし、自端末装置の識別情報 である端末 ID及び IPアドレスとを含む登録メッセージを生成する。また、他のコンテン ッ保持端末装置力 コンテンツデータを受信したときも同様に、受信したコンテンツ データをコンテンツデータ記憶手段としての第 2記憶部 104に記憶し、登録メッセ一 ジを生成する。なお、端末装置 1は、このようにコンテンツデータを取得したときにコン テンッ保持端末装置として機能することになる。
[0107] 登録メッセージ送信手段は、このように生成した登録メッセージを、ルーティングテ 一ブルに基づいて選択した送信先端末装置へ送信する。すなわち、ルーティングテ 一ブルに記憶された端末装置 1の端末 IDのうち、宛先識別情報に近い端末 IDを選 択し、このように選択した端末 IDに対応する端末装置 1の IPアドレスを知り、その IPァ ドレスの端末装置 1に登録メッセージを送信する。
[0108] (コンテンツ保持端末情報取得手段について) コンテンツ保持端末情報取得手段は、インデックス情報の記憶処理を行うものであ り、 自端末装置において、受信したメッセージが登録メッセージであるとき、この登録 メッセージが自端末装置宛であるか否かにかかわらず、登録メッセージに含まれるコ ンテンッ ID、コンテンツ保持端末装置の識別情報である端末 IDや所在情報である I Pアドレスなどを取得する。そして、このように取得したインデックス情報をインデックス テーブルに記憶する。
[0109] (所在情報判断手段について)
所在情報判断手段は、ネットワーク 8を介して受信したメッセージがコンテンツ保持 端末装置の所在情報の通知要求である検索メッセージであるとき、要求されたコンテ ンッを保持するコンテンツ保持端末装置の所在情報がインデックステーブルに記憶 されているか否かを判断する。例えば、図 6に示すようなインデックステーブルを記憶 している場合に、検索メッセージに含まれる検索対象のコンテンツ IDが「3020」又は「 3021」の時に、要求されたコンテンツを保持するコンテンツ保持端末装置の所在情報 カインデックステーブルに記憶されてレ、ると判断し、コンテンツ IDが「3020」及び「302 1」以外のコンテンツを検索する検索メッセージであるとき、インデックステーブルには 要求に応じたコンテンツ保持端末装置の所在情報は記憶されて!/、な!/、と判断する。
[0110] (応答処理可否判定手段について)
応答処理可否判定手段は、検索メッセージに対応するコンテンツ保持端末装置の 所在情報がインデックステーブルに記憶されていると所在情報判断手段が判断した とき、インデックステーブルに所在情報を記憶したコンテンツ保持端末装置の数に応 じて、このメッセージを送信した端末装置がコンテンツデータを取得するための検索メ ッセージ応答処理を行うか否かを判定する。
[0111] 具体的には、応答処理可否判定手段は、インデックステーブルに記憶された情報 に基づ!/、て所在情報を記憶したコンテンツ保持端末装置の数を検出し、この数に応 じた検索メッセージ応答処理の上限値を設定する。応答処理可否判定手段は、この 上限値と後述の検索メッセージ応答処理手段による検索メッセージ応答処理の状況 に応じて、メッセージを送信した端末装置がコンテンツデータを取得するための検索 メッセージ応答処理を行うか否かを判定する。 [0112] この「検索メッセージ応答処理数の上限値」として、以下のものがあり、端末装置 1 の制御部 113は、ユーザによるリモコン 106等の操作によって、いずれかを選択可能 となっている。また、ユーザによる選択ではなぐコンテンツ ID毎にそれぞれ異なる上 限ィ直を採用するようにしてもよい。
(a)インデックステーブルに所在情報が記憶され、かつ検索メッセージの検索対象と なるコンテンツ保持端末装置の数
(b)インデックステーブルに所在情報が記憶され、かつ検索メッセージの検索対象と なるコンテンツ保持端末装置において同時にコンテンツデータの供給することができ る数
(c)インデックステーブルに所在情報が記憶され、かつ検索メッセージの検索対象と なるコンテンツ保持端末装置において所定の条件を満たすコンテンツ保持端末装置 の数
ここで、上記(a)における「コンテンツ保持端末装置の数」とは、例えば、図 6に示す ようなインデックステーブルを保持している場合に、コンテンツ ID「3020」に関しては「 8」となり、コンテンツ ID「3020」に関しては「2」となる。
[0113] また、上記 (b)における「コンテンツ保持端末装置において同時にコンテンツデータ の供給することができる数」は、コンテンツ保持端末装置から送信される登録メッセ一 ジに含まれる情報であり、各コンテンツ保持端末装置におけるコンテンツデータの供 給能力の総和を意味する。コンテンツ保持端末装置から通知されるコンテンツデータ 供給能力は、図 10に示すように、インデックステーブルに記憶されることになる。各コ ンテンッ保持端末装置は、自装置がコンテンツデータを同時に供給することができる 数を自装置の CPUの処理能力や通信帯域などに基づいて算出し、登録メッセージ にその情報を含める。また、定期的にその情報を、登録メッセージと同様に DHTノレ 一ティングを用いて送信しており、これによりルーティングテーブルの情報の更新が 行われる。
[0114] インデックステーブルが図 10に示すように記憶されている場合、コンテンツ ID「3020 」に関して「コンテンツ保持端末装置において同時にコンテンツデータの供給すること ができる数」は「12」となり、「3021」に関しては「4」となる。 [0115] コンテンツデータ供給能力は、 CPUの処理能力等から演算するのではなぐコンテ ンッ保持端末装置のユーザカ^モコン 106等から設定することもでき、この設定情報 は第 1記憶部 103に記憶される。
[0116] また、上記 )において、「所定の条件を満たすコンテンツ保持端末装置の数」は、 例えば、検索メッセージの検索対象となるコンテンツ保持端末装置の総数の 60%を「 コンテンツ保持端末装置の数」とすることができる。また、近接するコンテンツ保持端 末装置の総数を「コンテンツ保持端末装置の数」とすることもできる。ここで、「近接す る」とはネットワーク的に近接するという意味であり、例えば、メッセージ等が到達する までに中継されるルータ装置の数などが少な!/、ことを!/、う。
[0117] 応答処理可否判定手段は、上記上限値と後述の検索メッセージ応答処理手段によ る検索メッセージ応答処理の状況に応じて、検索メッセージ応答処理の可否の判定 を行うものであり、「検索メッセージ応答処理手段による検索メッセージ応答処理の状 況」として、最近の検索メッセージ応答処理の数、すなわち所定期間内における検索 メッセージ応答処理手段による検索メッセージ応答処理の数を検出する。
[0118] ここで、検索メッセージ応答処理の数の検出の基準となる「所定期間」は、インデッ タステーブルに所在情報を記憶したコンテンツ保持端末装置が保持するコンテンツ データのデータサイズに応じて決定される時間とする。すなわち、コンテンツデータが コンテンツ保持端末装置から送信される速度の予測値である推測送信速度を設定し ておき、コンテンツデータのデータサイズをこの推測送信速度で除算することにより、 上記所定期間を導く。例えば、推測送信速度が 10Mbit/分に設定されている場合 、データサイズ力 0Mbitのコンテンツデータに関する上記「所定時間」は、 4分間と なる。従って、インデックステーブルが図 6に示すような状態であり、現日時が 11月 4 日の 11時 41分 00秒である場合、 NO. 4〜NO. 8までが最近の検索メッセージ応答 処理の数となる。
[0119] (検索メッセージ応答処理手段について)
検索メッセージ応答処理手段は、応答処理可否判定手段の判定結果に応じて、メ ッセージを送信した端末装置がコンテンツデータを取得するための検索メッセージ応 答処理を行う。すなわち、検索メッセージ応答処理手段は、応答処理可否判定手段 によって検索メッセージ応答処理を行うと判定されると、インデックステーブルからコン テンッ保持端末装置の所在情報の情報を取り出し、検索メッセージを送信したリクェ スト端末装置へ通知する。一方、応答処理可否判定手段により検索メッセージ応答 処理を行わないと判定されると、検索メッセージをメッセージ転送手段により転送する
[0120] ここで、所在情報通知要求メッセージを送信するコンテンツ保持端末装置として、ィ ンデッタステーブルに所在情報を記憶したコンテンツ保持端末装置のうち、所定の数 のコンテンツ保持端末装置を選択する。この所定の数として、例えば 5台のコンテンツ 保持端末装置を選択することができる力 インデックステーブルに所在情報を記憶し たコンテンツ保持端末装置の総数は当然ながら超えることができない。
[0121] リクエスト端末装置は、このように送信されたコンテンツ保持端末装置の所在情報の うち一のコンテンツ保持端末装置を選択し、このように選択したコンテンツ保持端末 装置へ接続要求を行って接続し、コンテンツデータを受信する。なお、送信されるコ ンテンッ保持端末装置の所在情報が複数ある場合には、その一つを選択し、コンテ ンッデータの送信を要求することになる。
[0122] (報知手段について)
報知手段は、検索メッセージ応答処理手段により検索メッセージ応答処理が行わ れたとき、検索メッセージ応答処理を行った検索メッセージの宛先識別情報に応じた 端末装置の所在情報をルーティングテーブルから取り出し、当該所在情報を有する 端末装置 1へ検索メッセージ応答処理を行った旨のメッセージである応答処理済メッ セージを DHTルーティングを用いて送信する。すなわち、応答処理済メッセージの 宛先識別情報を検索メッセージ応答処理に対応するコンテンツ IDとし、送信先の端 末装置 1をルーティングテーブルに基づいて決定し、この応答処理済メッセージを送 信する。
[0123] この応答処理済メッセージを受信した端末装置 1は、自端末装置 1の第 1記憶部 10
3に記憶したアクセス許可数を一つインクリメントする。
[0124] (メッセージ宛先判定手段について)
メッセージ宛先判定手段は、ネットワーク 8を介して受信したメッセージの宛先識別 情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置宛であ るか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、コンテ ンッ保持端末装置を検索するための検索メッセージ、ルート端末装置にコンテンツ保 持端末装置の識別情報を登録するための登録メッセージなどである。
[0125] 受信したメッセージが自端末装置宛であるか否かの判定は、メッセージに含まれる 宛先識別情報を取り出し、第 1記憶部 103に記憶したルーティングテーブルに基づ いて行われる。すなわち、各種のメッセージをネットワークインターフェイス 105を介し て受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識 別情報とルーティングテーブルに記憶した端末 IDとを比較し、メッセージに含まれる 宛先識別情報と一番近!/、ルーティングテーブル上の端末 IDが自端末装置の端末 I Dであると判定すると、自端末装置宛のメッセージであると判定する。
[0126] (メッセージ転送手段について)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク 8を介して受信し たメッセージが自端末装置宛ではな!/、と判定されると、受信したメッセージの宛先識 別情報に基づいて、ルーティングテーブルに記憶された端末装置 1の識別情報から 送信先端末装置を選択して、受信したメッセージを送信先端末装置へ転送する。す なわち、メッセージ転送手段は、ルーティングテーブルに記憶された端末装置 1の端 末 IDのうち、宛先識別情報に近い端末 IDを選択し、このように選択した端末 IDに対 応する端末装置 1の IPアドレスを知り、その IPアドレスを IPパケットの宛先として、メッ セージを転送する。
[0127] また、検索メッセージによって要求されたコンテンツのコンテンツ保持端末装置の所 在情報がインデックステーブルに記憶されていないと所在情報判断手段が判断した とき、メッセージ宛先判定手段が受信した検索メッセージが自端末装置 1宛であるか 否かを判定し、自端末装置 1宛でないときに受信した検索メッセージを転送する。 (コンテンツデータ再生手段について)
コンテンツデータ再生手段は、第 2記憶部 104のコンテンツキー記憶領域に記憶し たコンテンツキーによって復号した後、デコード手段によってデコードし、ビデオチッ プ 109及び音源チップ 111を動作させることによりコンテンツデータを再生する。 [0128] (コンテンツデータ送信手段について)
コンテンツデータ送信手段は、コンテンツデータ記憶手段としての第 2記憶部 104 に記憶したコンテンツデータの送信要求が他の端末装置 1からあったとき、この送信 要求に対応するコンテンツデータを第 2記憶部 104から取り出して送信要求をした他 の端末装置 1へ送信する。
(デコード手段について)
デコード手段は、第 2記憶部 104に記憶したコンテンツデータを内蔵ディスプレイ 1 10に表示し、内蔵スピーカ 112から出力するためにデコードする。すなわち、再生対 象のコンテンツデータは、所定の形式でエンコードされており、このようにエンコードさ れて!/、るコンテンツデータを内蔵ディスプレイ 110や内蔵スピーカ 112から出力でき るようにデコードする。
[0129] [5.コンテンツ配信システム Sの動作]
以下、コンテンツ配信システム Sにおける端末装置 1の詳細動作について、フロー チャートを用いて更に具体的に説明する。
[0130] まず、端末装置 1の更に具体的な動作の一例について、図 11及び図 12のフロー チャートを参照して説明する。図 11及び図 12は端末装置 1における処理を示すフロ 一チャートである。なお、以下の各処理は、端末装置 1の制御部 113が上述した手段 等として機能することによって実行されるものである。
[0131] まず、端末装置 1の電源が ONになると、端末装置 1の CPU102は、第 1記憶部 10 3や第 2記憶部 104のアクセス許可、作業領域確保を初期化等の初期設定動作を実 行し、各プログラム 114〜118を CPU102による実行状態とし、制御部 113としての 機能を動作させる。
[0132] 次に、図 11に示すように、制御部 113は、ユーザによるコンテンツの取得要求があ つたか否かを判定する(ステップ S 100)。この処理は、ユーザによるコンテンツデータ の取得要求操作が行われたか否かによって判定するものである。
[0133] ここで、ユーザによるコンテンツの取得要求があつたと判定すると(ステップ S100 :Y ES)、制御部 113は、コンテンツ取得要求処理を行う(ステップ S101)。このステップ S 101の処理は、図 12における S120〜S 128の処理であり、後述する。 [0134] —方、ユーザによるコンテンツの取得要求がないと判定すると(ステップ S100 : NO )、制御部 113は、他の端末装置 1から検索メッセージを受信したか否かを判定する( ステップ S 102)。
[0135] ステップ S102において、検索メッセージを受信したと判定すると(ステップ S 102 :Y ES)、制御部 113は、コンテンツ保持端末装置を知っているか否かを判定する(ステ ップ S 103)。コンテンツ保持端末装置を知っているか否かは、自端末装置 1のインデ ックステーブルの中に、検索メッセージの検索対象であるコンテンツ保持端末装置の 所在情報が存在するか否かで判定される。すなわち、インデックステーブルに、検索 メッセージに含まれるコンテンツ IDに関するコンテンツ保持端末装置の所在情報が あるときに、コンテンツ保持端末装置を知っていると判定し、所在情報がないときにコ ンテンッ保持端末装置を知らないと判定する。
[0136] ステップ S103において、コンテンツ保持端末装置を知っていると判定すると(ステツ プ S103 :YES)、制御部 113は、最近の検索メッセージ応答処理数が検索メッセ一 ジ応答処理数の上限値よりも小さいか否力、を判定する。
[0137] この処理において、最近の検索メッセージ応答処理数が検索メッセージ応答処理 数の上限値よりも小さいと判定すると(ステップ S 104 :YES)、制御部 113は、検索メ ッセージによるアクセスを許可するものとし、検索メッセージ応答処理を行う(ステップ S 105)。すなわち、制御部 113は、インデックステーブルからコンテンツ保持端末装 置の所在情報の情報を取り出し、検索メッセージを送信した端末装置へ通知する。 なお、検索メッセージを送信した端末装置は、このように送信されたコンテンツ保持端 末装置へ接続要求を行って接続し、コンテンツデータを受信する。
[0138] ステップ S103においてコンテンツ保持端末装置を知らないと判定したとき(ステップ S 103 : NO)、又はステップ S104において最近の検索メッセージ応答処理数が検索 メッセージ応答処理数の上限値以上であると判定すると(ステップ S104 : NO)、制御 部 113は処理をステップ S 106に移行する。
[0139] ステップ S106において、制御部 113は、検索メッセージのルート端末装置であるか 否かを判定する。すなわち、検索メッセージが自端末装置宛であるか否かを判定す る。検索メッセージが自端末装置宛であるとき (ステップ S 106 :YES)、制御部 113は 、検索メッセージを送信した端末装置である送信要求元端末装置に対してアクセス 不許可メッセージを送信する(ステップ S 107)。
[0140] 一方、ステップ S106において、検索メッセージが自端末装置宛ではないと判定す ると (ステップ S 106 : NO)、制御部 113は、検索メッセージをルート端末装置へ向け て DHTルーティングを用いて転送する(ステップ S 108)。
[0141] また、ステップ S 102において、検索メッセージを受信していないと判定すると(ステ ップ S 102 : NO)、制御部 113は、他の端末装置 1からコンテンツデータの送信要求 を受信したか否かを判定する (ステップ S 109)。
[0142] この処理において、他の端末装置 1からコンテンツデータの送信要求を受信したと 判定すると (ステップ S 109 :YES)、制御部 113は、送信元要求の端末装置、すなわ ちコンテンツデータの送信要求を行った端末装置に対して要求されたコンテンツデ ータを送信する(ステップ S 110)。
[0143] ステップ S105, S 107, S108, S110の処理力 ^冬了したとき、或いはステップ S 109 にお!/、て、他の端末装置 1からコンテンツデータの送信要求を受信しな力、つたと判定 されたとき(ステップ S 109 : NO)、制御部 113は、自端末装置の電源が OFF (シャツ トダウン)状態へ移行したか否力、を判定する(ステップ S111)。
[0144] ステップ S111において、 自端末装置の電源が OFF状態へ移行したと判定すると( ステップ S 111 :YES)、制御部 113は、メイン処理を終了し、一方、自端末装置の電 源が OFF状態へ移行して!/、な!/、と判定すると(ステップ S 111 : NO)、制御部 113は
、ステップ S100からの処理を繰り返す。
[0145] 次に、 S 101におけるコンテンツ取得要求処理について図 12のフローチャートを参 照して具体的に説明する。図 12は、端末装置 1におけるコンテンツ取得要求処理を 示すフローチャートである。
[0146] 図 12に示すように、コンテンツ取得要求処理が開始されると、制御部 113は、ステツ プ S 100における取得要求操作に応じたコンテンツデータが第 2記憶部 104に記憶 されて!/、るか否かを判定する(ステップ S 120)。
[0147] この処理にお!/、て、取得要求操作に応じたコンテンツデータを記憶して!/、な!/、と判 定すると(ステップ S 120 : NO)、制御部 113は、取得要求操作に応じたコンテンツデ ータを取得するために、このコンテンツデータに対応するコンテンツ IDを宛先識別情 報とした検索メッセージをルーティングテーブルに基づいて送信する(ステップ S 121
)。
[0148] このように送信した検索メッセージに対して、ステップ S100における取得要求操作 に応じたコンテンツデータのルート端末装置からアクセス不許可メッセージが送信さ れたか否かを判定する(ステップ S 122)。
[0149] この処理において、アクセス不許可メッセージを受信するのは、ステップ S100にお ける取得要求操作に応じたコンテンツデータの全てのキャッシュ端末装置及びルート 端末装置において、例えば図 8に示すように、検索メッセージ応答処理数がその上 限値以上となっていることを意味しており、ステップ S100における取得要求操作に応 じたコンテンツデータを保持するコンテンツ保持端末装置の所在情報が通知されな い状況を意味する。
[0150] アクセス不許可メッセージが受信されない、すなわち 1以上のコンテンツ保持端末 装置の所在情報が通知が通知されたと判定すると (ステップ S122 : NO)、制御部 11 3は、通知されたコンテンツ保持端末装置の所在情報のうち、任意の一つを選択して 、コンテンツデータの送信を要求する(ステップ S123)。その後、制御部 113は、コン テンッ保持端末装置から送信されるコンテンツデータを受信し (ステップ S 124)、第 2 記憶部 104におけるコンテンツデータ記憶領域に記憶することにより保存する(ステツ プ S125)。
[0151] このようにコンテンツデータを取得すると、制御部 113は、コンテンツ保持端末装置 として機能し、他の端末装置から検索可能とするために、このコンテンツデータのコン テンッ IDを宛先識別情報とした登録メッセージをルーティングテーブルに基づいて 送信する(ステップ S 126)。
[0152] このステップ S126の処理が終了したとき、又はステップ S120において取得要求操 作に応じたコンテンツデータが記憶していると判定 (ステップ S 120 : YES)したとき、 制御部 113は、第 2記憶部 104のコンテンツデータ記憶領域から取得要求操作に応 じたコンテンツデータを取り出して、再生する(ステップ S 127)。
[0153] また、ステップ S 122において、アクセス不許可メッセージを受信したと判定すると( ステップ S 122 :YES)、制御部 113は、コンテンツデータの受信失敗の旨をユーザに 通知する(ステップ S128)。例えば、内蔵ディスプレイ 110に「コンテンツデータの受 信失敗」の文字を映像として表示させる。このステップ S 127, S 128の処理が終了す ると、本コンテンツ取得要求処理を終了する。
[0154] 以上のように、本実施形態における端末装置 1は、ネットワークを介して受信したメッ セージが検索メッセージであるとき、所在情報を記憶したコンテンツ保持端末装置の 数に応じて、検索メッセージ応答処理を行うか否力、を判定し、この判定結果に応じて 、検索メッセージ応答処理を行うようにしたので、コンテンツ保持端末装置の所在情 報を検索するときに、コンテンツ保持端末装置へのアクセスを制限して、ネットワーク の混雑を抑制することが可能となる。また、検索メッセージによってコンテンツデータ を取得できたときにコンテンツ保持端末装置として機能するので、検索メッセージに 制限をかけつつ、検索メッセージの量に応じて、コンテンツ配信システム Sにおけるコ ンテンッ端末装置を効果的に増加させることができる。
[0155] また、上記実施形態においては、コンテンツ保持端末装置の所在情報を記憶して いる端末装置カ^クェスト端末装置に対してコンテンツ保持端末装置の所在情報を 通知させるようにした力 S、図 13に示すように、リクエスト端末装置へコンテンツ保持端 末装置からコンテンツデータを配信させるためのコンテンツデータ配信要求メッセ一 ジを、コンテンツ保持端末装置の所在情報を記憶している端末装置が生成して、そ のコンテンツデータ配信要求メッセージをコンテンツ保持端末装置へ送信するように してもよい。この場合、端末装置のフローチャートは、 S 105は「コンテンツデータ配信 要求メッセージを生成し、コンテンツ保持端末装置へ送信」となり、 S123が削除され ることとなる。
[0156] すなわち、制御部 113は、検索メッセージ応答処理手段として機能するときに、検 索メッセージ応答処理を行うと判定されると、インデックステーブルに記憶したコンテ ンッ保持端末装置に対して、検索メッセージを送信したリクエスト端末装置に接続し てコンテンツデータを配信するように要求し、一方で、検索メッセージ応答処理を行 わな!/、と判定すると、受信した検索メッセージをルーティングテーブルに基づ!/、て転 送させる。 [0157] コンテンツ保持端末装置は、コンテンツデータ配信要求メッセージを受信したとき、 コンテンツデータの供給が可能か否かを判定し、コンテンツデータの供給が可能であ れば、検索メッセージを送信したリクエスト端末装置へ当該コンテンツ保持端末装置 の所在情報を通知する。
[0158] また、コンテンツ配信システム Sの形態を、 Pastry型のコンテンツ配信システムを例 にして説明したが、これに限られず、メッセージの転送方法が異なる kademlia型、 ch ord型、 Viceroy型、 CAN型などのコンテンツ配信システムにも本発明を適用可能で ある。
[0159] また、本実施形態においては、端末装置 1間でのコンテンツデータの送受信の形式 をダウンロード形式として説明したがこれに限られるものではなぐストリーミング形式 であってもよい。このように端末装置 1間でのコンテンツデータの送受信がストリーミン グ形式で行われるコンテンツ配信システムにおいても、コンテンツ配信システム Sにお けるコンテンツデータの供給能力を超えてコンテンツデータ取得のためのアクセスの 集中が発生することを抑制することができる。
[0160] また、本発明は、上記実施形態に限定されるものではない。上記実施形態は、例示 であり、本発明の請求の範囲に記載された技術的思想と実質的に同一な構成を有し 、同様な作用効果を奏するものは、いかなる場合であっても本発明の技術的範囲に 包含される。
[0161] また、 2006年 9月 29日に出願された明細書、特許請求の範囲、図面、要約書を含 む日本の特許出願(特願 2006— 270136号)の全ての開示は、その全てを参照す ることによって、ここに糸且み込まれる。

Claims

請求の範囲
[1] ネットワーク上に配置された複数の端末装置から構成され、前記端末装置間でコン ンッデータの送受信を行うコンテンツ配信システムにおける前記端末装置であって 前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコ ンテンッ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前 記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を記憶する配 信元情報記憶手段と、
前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するた めの検索メッセージであるとき、前記配信元情報記憶手段に所在情報を記憶した前 記コンテンツ保持端末装置の数に応じて、前記メッセージを送信した端末装置が前 記コンテンツデータを取得する検索メッセージ応答処理を行うか否力、を判定する応答 処理可否判定手段と、
前記応答処理可否判定手段により前記検索メッセージ応答処理を行うと判定され ると、前記検索メッセージ応答処理を行う検索メッセージ応答処理手段と、
を備えたことを特徴とする端末装置。
[2] 前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索 メッセージ応答処理を行うと判定されると、前記配信元情報記憶手段から取り出した コンテンツ保持端末装置の所在情報を、前記検索メッセージを送信した端末装置へ 前記ネットワークを介して送信することを特徴とする請求項 1に記載の端末装置。
[3] 前記検索メッセージ応答処理手段は、前記応答処理可否判定手段により前記検索 メッセージ応答処理を行うと判定されると、前記検索メッセージを送信した端末装置 へ前記コンテンツ保持端末装置からコンテンツデータの配信を行わせるコンテンツデ ータ配信要求メッセージを生成し、前記コンテンツデータ配信要求メッセージを前記 コンテンツ保持端末装置へ送信することを特徴とする請求項 1に記載の端末装置。
[4] 前記複数の端末装置のうち一部の端末装置の識別情報と所在情報とを関連付け たルーティングテーブルを記憶するルーティングテーブル記憶手段と、
前記ネットワークを介して受信したメッセージの宛先識別情報と前記ルーティングテ 一ブルとに基づいて、前記受信したメッセージが自端末装置宛であるか否かを判定 するメッセージ宛先判定手段と、
前記ネットワークを介して受信したメッセージが前記検索メッセージであるとき、要求 されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情報記 憶手段に記憶されているか否力、を判断する所在情報判断手段と、を備え、
前記配信元情報記憶手段は、前記ネットワークを介して受信したメッセージが前記 登録メッセージであるとき、当該登録メッセージが自端末装置宛であるか否かにかか わらず、前記登録メッセージに含まれる前記コンテンツ保持端末装置の所在情報を RL「思し、
要求されたコンテンツの前記コンテンツ保持端末装置の所在情報が前記配信元情 報記憶手段に記憶されて!/、ると前記所在情報判断手段が判断したとき、前記応答処 理可否判定手段が前記検索メッセージ応答処理を行うか否かを判定する
ことを特徴とする請求項 1から 3のいずれ力、 1項に記載の端末装置。
[5] 前記検索メッセージ応答処理手段により前記検索メッセージ応答処理が行われた とき、前記ルーティングテーブルに基づ!/、て前記送信要求の宛先識別情報に応じた 端末装置の所在情報を取り出し、当該所在情報を有する端末装置へ前記検索メッセ ージ応答処理を行った旨の情報を送信する報知手段を備えた
ことを特徴とする請求項 4に記載の端末装置。
[6] 前記メッセージ宛先判定手段により前記ネットワークを介して受信したメッセージが 自端末装置宛ではないと判定されると、前記受信したメッセージの宛先識別情報に 基づいて、転送先の端末装置の所在情報を前記ルーティングテーブルから取り出し 、前記転送先の端末装置へ前記受信したメッセージを転送するメッセージ転送手段 を備え、
前記検索メッセージにて要求されたコンテンツの前記コンテンツ保持端末装置の所 在情報が前記配信元情報記憶手段に記憶されてレ、な!、と前記所在情報判断手段 が判断したとき、前記メッセージ宛先判定手段が、前記受信したメッセージが自端末 装置宛であるか否かを判定し、自端末装置宛でないとき、前記メッセージ転送手段が メッセージを転送する ことを特徴とする請求項 1から 5のいずれ力、 1項に記載の端末装置。
[7] 前記応答処理可否判定手段は、
前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に 所在情報を記憶した前記コンテンツ保持端末装置の数と、所定期間内に前記検索メ ッセージ応答処理を行った数とに基づ!/、て行う
ことを特徴とする請求項 1から 6のいずれ力、 1項に記載の端末装置。
[8] 前記応答処理可否判定手段は、
前記検索メッセージ応答処理を行うか否かの判定を、前記配信元情報記憶手段に 所在情報を記憶した前記コンテンツ保持端末装置において同時に前記コンテンツデ ータを供給することができる数と、所定期間内に前記検索メッセージ応答処理を行つ た数とに基づいて行う
ことを特徴とする請求項 1から 6のいずれ力、 1項に記載の端末装置。
[9] 前記所定期間は、前記配信元情報記憶手段に所在情報を記憶した前記コンテン ッ保持端末装置が保持するコンテンツデータのデータサイズに応じて決定される時 間である
ことを特徴とする請求項 7又は請求項 8に記載の端末装置。
[10] コンピュータを、請求項 1から 9のいずれか 1項に記載の端末装置における各手段と して機能させるためのプログラムがコンピュータ読み取り可能に記録されていることを 特徴とする記録媒体。
[11] ネットワーク上に分散配置された複数の端末装置から構成され、前記端末装置間 でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置の 情報処理方法であって、
前記ネットワークを介して受信したメッセージが前記コンテンツデータを保持するコ ンテンッ保持端末装置の所在情報の登録を要求する登録メッセージであるとき、前 記登録メッセージに含まれるコンテンツ保持端末装置の所在情報を記憶するステツ プと、
前記ネットワークを介して受信したメッセージが前記コンテンツデータを取得するた めの検索メッセージであるとき、所在情報を記憶した前記コンテンツ保持端末装置の 数に応じて、前記メッセージを送信した端末装置が前記コンテンツデータを取得する 検索メッセージ応答処理を行うか否かを判定するステップと、
前記検索メッセージ応答処理を行うと判定されると、前記検索メッセージ応答処理 を行うステップと、
を有することを特徴とする端末装置の情報処理方法。
PCT/JP2007/065725 2006-09-29 2007-08-10 Terminal de système de distribution de contenu, son procédé de traitement d'information et programme contenant un support d'enregistrement WO2008041422A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006270136A JP4765876B2 (ja) 2006-09-29 2006-09-29 コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
JP2006-270136 2006-09-29

Publications (1)

Publication Number Publication Date
WO2008041422A1 true WO2008041422A1 (fr) 2008-04-10

Family

ID=39268287

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/065725 WO2008041422A1 (fr) 2006-09-29 2007-08-10 Terminal de système de distribution de contenu, son procédé de traitement d'information et programme contenant un support d'enregistrement

Country Status (2)

Country Link
JP (1) JP4765876B2 (ja)
WO (1) WO2008041422A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008092236A (ja) * 2006-09-29 2008-04-17 Brother Ind Ltd コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
US11803860B2 (en) 2013-09-09 2023-10-31 UnitedLex Corp. Email mappings

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5195794B2 (ja) * 2010-03-16 2013-05-15 ブラザー工業株式会社 情報通信システム、情報処理装置、及び情報通信方法
US8903906B2 (en) 2010-03-16 2014-12-02 Brother Kogyo Kabushiki Kaisha Information communications system, node device, method of communicating contents, computer readable recording medium storing a program
JP2015046828A (ja) * 2013-08-29 2015-03-12 ブラザー工業株式会社 ノード装置及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346424A (ja) * 2004-06-03 2005-12-15 Fujitsu Ltd コンテンツ通信方法、コンテンツ通信可否判断プログラムおよびコンテンツ通信システム。
JP2006260430A (ja) * 2005-03-18 2006-09-28 Brother Ind Ltd ノード装置、ノード情報複製プログラム、複製用ノード情報記憶プログラム及びノード情報複製方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3806072B2 (ja) * 2002-07-26 2006-08-09 日本電信電話株式会社 P2pネットワークのトラヒック制御方法及び装置並びにプログラム及び記録媒体
JP4692414B2 (ja) * 2006-06-29 2011-06-01 ブラザー工業株式会社 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等
JP4765876B2 (ja) * 2006-09-29 2011-09-07 ブラザー工業株式会社 コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005346424A (ja) * 2004-06-03 2005-12-15 Fujitsu Ltd コンテンツ通信方法、コンテンツ通信可否判断プログラムおよびコンテンツ通信システム。
JP2006260430A (ja) * 2005-03-18 2006-09-28 Brother Ind Ltd ノード装置、ノード情報複製プログラム、複製用ノード情報記憶プログラム及びノード情報複製方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HIGASHINO S. ET AL.: "Contents Casting Center and Construction Method", NTT R & D, vol. 51, no. 10, 10 October 2002 (2002-10-10), pages 840 - 846, XP003022132 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008092236A (ja) * 2006-09-29 2008-04-17 Brother Ind Ltd コンテンツ配信システムにおける端末装置及びその情報処理方法並びにプログラム
US11803860B2 (en) 2013-09-09 2023-10-31 UnitedLex Corp. Email mappings

Also Published As

Publication number Publication date
JP2008092236A (ja) 2008-04-17
JP4765876B2 (ja) 2011-09-07

Similar Documents

Publication Publication Date Title
WO2007083531A1 (ja) コンテンツ配信システム、ノード装置及びその情報処理方法並びにそのプログラムを記録した記録媒体
WO2008026400A1 (fr) Système de distribution de contenu, procédé de traitement d'information dans un système de distribution de contenu, dispositif terminal et support d'enregistrement incorporant son programme enregistré
WO2006075424A1 (ja) 情報配信システム、配信要求プログラム、転送プログラム、配信プログラム等
WO2008041421A1 (fr) Système et procédé de distribution de contenu, terminal dans le système et support d'enregistrement contenant son programme
JP2008129694A (ja) 情報配信システム、情報配信方法、配信装置及びノード装置等
WO2007023636A1 (ja) 情報配信システム、情報配信方法、情報配信システムに含まれるノード装置および情報処理プログラムを記憶した記憶媒体
WO2008013036A1 (fr) Dispositif de nœud, support d'enregistrement contenant un programme de traitement d'informations, procédé de distribution de contenu et système de distribution de contenu
WO2008041422A1 (fr) Terminal de système de distribution de contenu, son procédé de traitement d'information et programme contenant un support d'enregistrement
JP4692278B2 (ja) コンテンツ配信システム、端末装置及びその情報処理方法並びにそのプログラム
JP4877107B2 (ja) 情報配信システムにおける端末装置及び情報処理プログラム、並びに端末装置の情報処理方法
JP2009070184A (ja) サーバ及びサーバプログラム
JP4797679B2 (ja) コンテンツ配信システム、コンテンツデータ管理装置及びその情報処理方法並びにそのプログラム
JP2008294648A (ja) 情報配信システム、同システムに用いる端末装置及びプログラム、並びに情報処理方法
WO2007145078A1 (ja) コンテンツ配信システム、コンテンツ配信方法、端末装置及びそのプログラムを記録した記録媒体
JP2008059398A (ja) 識別情報割当装置及びその情報処理方法並びにそのプログラム
JP2008035337A (ja) ノード装置、配信装置、管理装置、情報処理プログラム、コンテンツ配信方法及びコンテンツ配信システム
JP2008085678A (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
US20110246628A1 (en) Information communication system, information processing apparatus, information communication method and computer readable storage medium
US20090319612A1 (en) Information distribution system, terminal apparatus, distribution server and introduction server in the information distribution system, and recording medium on which program thereof is recorded
JP2011008657A (ja) コンテンツ配信システム、ノード装置、コンテンツ配信方法及びノードプログラム
JP4983183B2 (ja) ノード装置、情報分割保存システム、情報処理プログラム及び情報利用方法
JP5157770B2 (ja) ノード装置、プログラム及び保存指示方法
JP4635966B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信システムにおける端末装置及びそのプログラム
JP2008242990A (ja) 情報通信システム、情報通信システムに含まれる端末装置及びその情報処理方法並びに情報処理プログラム
JP4736830B2 (ja) 配信システム、制御装置、配信先装置、ノード装置、制御装置用プログラム、配信先装置用プログラム及びノード装置用プログラム

Legal Events

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

Ref document number: 07792370

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07792370

Country of ref document: EP

Kind code of ref document: A1