WO2007145078A1 - Content delivery system, content delivery method, terminal device and recording medium with its program recorded therein - Google Patents

Content delivery system, content delivery method, terminal device and recording medium with its program recorded therein Download PDF

Info

Publication number
WO2007145078A1
WO2007145078A1 PCT/JP2007/061048 JP2007061048W WO2007145078A1 WO 2007145078 A1 WO2007145078 A1 WO 2007145078A1 JP 2007061048 W JP2007061048 W JP 2007061048W WO 2007145078 A1 WO2007145078 A1 WO 2007145078A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
content data
terminal device
distribution
identification information
Prior art date
Application number
PCT/JP2007/061048
Other languages
French (fr)
Japanese (ja)
Inventor
Tomohiro Suzuki
Original Assignee
Brother Kogyo Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Kogyo Kabushiki Kaisha filed Critical Brother Kogyo Kabushiki Kaisha
Publication of WO2007145078A1 publication Critical patent/WO2007145078A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices

Definitions

  • the present invention relates to a technical field of content distribution via a network, and more specifically, a content distribution system, a content distribution method, a terminal device, and a program thereof for a user to purchase content while viewing the content.
  • the present invention relates to a recorded recording medium. Background art
  • content data such as music and movies (hereinafter also referred to as “content”) can be easily accessed via networks such as the Internet. It has come to be able to purchase. For example, VOD (video on demand) and online content purchase services are popular.
  • VOD video on demand
  • online content purchase services are popular.
  • a method for a user to purchase content while viewing the content a method using a server client type distribution form is common. That is, the content distribution device that is the server Streams and plays the content data to be streamed on the user's terminal device, the user views it, and if the user likes it, the content data is transferred from the content distribution device to the terminal. This is a distribution form downloaded to the device (for example, see Patent Document 1).
  • Patent Document 1 JP 2003-263175 A
  • the content distribution apparatus is The content data must be transmitted in response to the download request from the terminal device while streaming the content data to the terminal device, which increases the load on the content distribution device and the network.
  • the present invention has been made in view of the above inconveniences, and in a content distribution system in which a user purchases content while viewing the content, content that can reduce the load on the content distribution device and the network. It is an object to provide a distribution system and method.
  • a first distribution form in which content data is stream-distributed in a broadcast form from a content distribution apparatus to a terminal apparatus, and the plurality of terminal apparatuses A content distribution system having a second distribution form in which another terminal device that holds the content data distributes the content data based on a download request for content data of one terminal device
  • An apparatus includes: a content receiving apparatus, a streaming receiving means for streaming receiving the content data to be streamed; a ring buffer area for temporarily storing content data received by the streaming receiving means; and the ring buffer Content data stored in the area
  • Identification information acquisition means for acquiring identification information of the content data, and the content data requested to be downloaded based on the identification information of the content data acquired by the identification information acquisition means.
  • the terminal device user is in the P2P (peer-to-peer) distribution mode, which is the second distribution mode, while the user of the terminal device is viewing the content that is stream-distributed in the broadcast mode from the content distribution device.
  • the content can be downloaded, it is possible to reduce the load on the first distribution form that is a broadcast form, that is, the load on the content distribution apparatus and the network. Therefore, it is possible to provide a content distribution system that purchases content while viewing the content without increasing the performance of the content distribution device or the network at a great expense.
  • the distribution form for viewing and the distribution form for download are different, the influence of the download purchase processing on the distribution form for viewing can be suppressed, and the download time of content can be shortened. It becomes.
  • the first distribution form is managed by a connection management device so that a plurality of terminal devices are logically connected in a hierarchical structure on a network with the content distribution device at the top. And the content data transmitted from the content distribution device is streamed and distributed by the relay function of the terminal device sequentially from the upstream terminal device to the downstream terminal device of the hierarchical structure.
  • Content data distribution means for streaming distribution of the content data via the network wherein the connection management device stores connection state information for storing connection state information of the terminal devices constituting the hierarchical structure; and The connection destination is introduced from the terminal device via the network.
  • a connection destination candidate selection unit that selects a connection destination candidate from the connection state information stored in the connection state information storage unit, and the connection destination candidate selected by the connection destination candidate selection unit, Notification means for notifying the terminal device that has transmitted the connection destination introduction request via the network, and the terminal device transmits the connection destination introduction request to the connection management device via the network.
  • Notification means for notifying the terminal device that has transmitted the connection destination introduction request via the network
  • the terminal device transmits the connection destination introduction request to the connection management device via the network.
  • Streaming relay means for streaming-transferring the content data received to the terminal device that has made the connection request, wherein the streaming reception means connects the content data from the content distribution device via the network. It can be configured to receive via the connection destination candidate.
  • the first distribution form is a broadcast form having a hierarchical structure such as a tree shape or a chain shape, so that the content distribution device directly applies to all terminal devices participating in the content distribution system. It is possible to further reduce the load on the content distribution apparatus and network that do not require distribution of content data.
  • a determination unit that determines whether or not the entire content data requested to be downloaded is stored in the ring buffer area, and the content data requested to be downloaded by the determination unit If it is determined that the entire content is stored in the ring buffer area, the content data stored in the ring buffer area is not stored in the content data storage without downloading the content data according to the second distribution form.
  • the content data storage control means may be configured to be stored in the means.
  • the terminal device temporarily caches content data distributed in broadcast form in the ring buffer area, and the content data to be purchased is stored in the ring buffer area.
  • Content data stored in the ring buffer area can be purchased. Therefore, the content data purchase process can be shortened compared to newly acquiring content data in the second distribution form.
  • the content distribution means for transmitting the content data distributed in the second distribution form to some terminal devices among the plurality of terminal devices, and the content distribution device.
  • An identification information list storage unit that stores an identification information list including a plurality of identification information of content data to be distributed by streaming, and the identification information list stored in the identification information list storage unit is transmitted to the plurality of terminal devices.
  • An identification information list transmitting means, and the terminal device has an identification information list receiving means for receiving an identification information list transmitted from the content input apparatus, and the identification information acquiring means The identification information of the content data requested to be downloaded may be acquired from the identification information list received by the identification information list receiving means.
  • the identification information list storage means of the terminal device may store an identification information list including identification information of content data other than content data that is stream-distributed by the content distribution device.
  • the content input device can store an identification information list including identification information of content data other than the content data that is streamed and distributed by the content distribution device, and is directly distributed in broadcast form. Content data other than content data can be acquired in the second distribution form.
  • the content distribution device includes identification information transmission means for transmitting identification information of content data to be streamed by the streaming distribution means
  • the terminal device includes the content distribution system.
  • Identification information receiving means for receiving identification information of the content data transmitted from the distribution device, wherein the identification information acquisition means is configured to download the download request from the identification information of the content data received by the identification information receiving means. The identification information of the obtained content data may be acquired.
  • content data identification information necessary for downloading content data in the second distribution form is transmitted from the content distribution device to the terminal device.
  • the terminal device Identify content data to download Since it is not necessary to request and acquire information from the content input device, the processing in the content input device can be reduced.
  • the content data identification information can be included in the header of the content packet used for streaming delivery and transmitted from the content delivery apparatus.
  • a recording medium in which a program for causing a computer to function as each unit in the above-described terminal device is recorded in a computer-readable manner may be provided.
  • a first distribution form for streaming distribution of content data from a content distribution apparatus to a terminal apparatus in a broadcast form, and the plurality of terminals Content in a content distribution system having a second distribution form in which another terminal device holding the content data distributes the content data based on a request to download content data of one terminal device between devices In the distribution method, the distribution device performs streaming distribution of the content data, and the terminal device performs streaming reception of the content data streamed from the distribution device via the network.
  • the terminal device received the streaming Temporarily storing content data in a ring buffer area, streaming the content data stored in the ring buffer area by the terminal device, and content data to be streamed by the terminal device
  • the step of acquiring identification information of the content data and the terminal device Based on the data identification information, the step of downloading the content data requested for download from the terminal device of the second distribution form, and the terminal device stores the downloaded content data in content data storage means. Step to remember and Characterized in that it has.
  • P2P peer-to-peer
  • the load on the first distribution form that is, the load on the content distribution device and the network can be reduced. Therefore, it is possible to provide a content distribution system that purchases content while viewing the content without increasing the performance of the network by using a large amount of cost.
  • the distribution form for viewing and the distribution form for download are different, the influence of the download purchase process on the viewing distribution form can be suppressed, and the download time of content can be shortened. It becomes possible.
  • FIG. 1 is a diagram showing a schematic configuration example of a content distribution system according to the present embodiment.
  • FIG. 2 is an explanatory diagram of a distribution operation of the first distribution form of the content distribution system according to the present embodiment.
  • FIG. 3 is a diagram conceptually showing functions of a ring buffer area in the terminal device of FIG. 1.
  • FIG. 4 is an explanatory diagram of a distribution operation of the second distribution form of the content distribution system according to the present embodiment.
  • FIG. 5 is a diagram showing an example of how a routing table is created by the DHT.
  • FIG. 6 is a diagram showing an example of a routing table in the terminal device of FIG. 1.
  • FIG. 7 is a diagram illustrating an example of a state in which a terminal device participates in a second distribution form.
  • FIG. 8 is a diagram showing an example of a state in which a terminal device holding content data is searched by DHT routing.
  • FIG. 9 is a diagram showing an example of how content data is held in a terminal device by DHT routing.
  • FIG. 10 is a diagram showing an example in which a registration message is transmitted to a root terminal device by DHT routing.
  • FIG. 11 is a diagram showing an example of an index table in the terminal device of FIG. 1.
  • FIG. 12 is a diagram showing an example of a display screen in the terminal device of FIG. 1.
  • FIG. 13 is a diagram showing another example of the display screen in the terminal device of FIG. 1.
  • FIG. 14 is a diagram showing a schematic configuration example of the content distribution apparatus in FIG. 1.
  • FIG. 15 is a diagram illustrating a schematic configuration example of the terminal device of FIG. 1.
  • 16] A diagram showing a schematic configuration example of the connection destination management apparatus of FIG.
  • FIG. 17 is a diagram showing a schematic configuration example of the content input device in FIG. 1.
  • FIG. 18 is a diagram showing a schematic configuration example of the contact introduction device of FIG.
  • FIG. 19 is a flowchart showing overall processing in the content distribution apparatus of FIG. 1.
  • FIG. 20] is a flowchart showing the entire processing in the terminal device of FIG.
  • Sono 21 is a flowchart showing the entire processing in the terminal device of FIG.
  • FIG. 23 is a flowchart showing the participation process in the second distribution form in the terminal device of FIG.
  • Sono 24 is a flowchart showing the input content receiving process in the terminal device of FIG. 1.
  • Sono 25 is a flowchart showing the content purchasing process in the terminal device of FIG.
  • FIG. 26 is a flowchart showing content search processing in the terminal device of FIG. 1.
  • FIG. 27 is a flowchart showing an entire process in the connection management device of FIG. 1.
  • FIG. 28 is a flowchart showing overall processing in the content input device of FIG. 1.
  • FIG. 29 is a flowchart showing an entire process in the contact introduction device of FIG. 1.
  • FIG. 30 is a diagram showing an outline operation example of the content distribution system in Modification 2. Explanation of symbols
  • connection management device 330
  • Control part of connection management device 430
  • the content distribution system includes a first distribution form in which content data is stream-distributed in broadcast form from a content distribution apparatus to a terminal apparatus, and download of content data from one terminal apparatus between a plurality of terminal apparatuses.
  • Another terminal device that holds the content data based on the request has a second distribution form in which the content data is distributed. Then, the user of the terminal device downloads the content data transmitted from the content distribution device from another terminal device according to the second distribution form while viewing the content data from the content distribution apparatus according to the first distribution form. It is configured so that it can be a force S.
  • the first distribution form there are a server client type broadcast form, a broadcast form with a tree-like hierarchical structure, and the like, but in this embodiment, the content data streamed from the content delivery apparatus is represented in a tree form.
  • a description will be given by taking as an example a broadcast form in which a terminal device constituting a hierarchical structure receives and relays by P2P.
  • DHT distributed hash table
  • FIG. 1 is a diagram showing a schematic configuration example of the content distribution system S according to the present embodiment.
  • the content distribution device 1 the terminal devices 2al, 2a2, 2bl to 2b4, 2cl to 2c8, the connection management device 3, the content input device 4, and the contact destinations that make up the content distribution system S
  • the referral device 5 is a network 6 represented by the Internet. Distributed on top.
  • the content distribution device 1, the terminal devices 2al, 2a2, 2bl to 2b4, 2cl to 2c8, the connection management device 3, the content input device 4, and the contact introduction device 5 are used as information for identifying each device.
  • a unique serial number (for example, MAC address) and IP (Internet Protocol) address (location information) are assigned, and these devices are connected to a network 6 as an example of a network via a router 10 or the like. Yes. Communication can be established by sending a packet containing a header with the destination IP address as the destination IP address and the source IP address as the source IP address.
  • terminal device 2 a device not directly related to the content distribution system S is also connected to the network 6, but is omitted here.
  • the terminal device 2al, 2a2, 2bl to 2b4, 2cl to 2c8, or any terminal device is shown, it may be referred to as the terminal device 2 for convenience.
  • the content distribution device 1, the connection management device 3, the content input device 4, and the contact destination introduction device 5 have the functions of these devices in a single device that is an independent device. If you want to make it happen, ... In this case, the IP addresses of these devices are the same, and are distinguished by port numbers. Further, although the content distribution device 1 may be arranged for each broadcast channel, in the present embodiment, description will be made assuming that content data of a plurality of broadcast channels is distributed by one content distribution device 1.
  • the first distribution form of the content distribution system S is that a plurality of terminal devices 2al, 2a2, 2bl to 2b4, and 2cl to 2c8 are logically arranged in a tree-like hierarchical structure with the content distribution device 1 as a vertex. Connected and configured so that content data from the content distribution device 1 is streamed and distributed by the relay function of the terminal device 2 sequentially from the upstream terminal device 2 to the downstream terminal device 2 of the tree-like hierarchical structure.
  • the This tree-like hierarchical structure is configured for each broadcast channel distributed by the content distribution apparatus 1.
  • this content distribution system S a plurality of terminal apparatuses 2 are set with the content distribution apparatus 1 as the apex (here, the 0th layer for convenience) for each broadcast channel. Force It is managed by the connection management device 3 so as to be logically connected in multiple layers in an S-tree hierarchical structure.
  • apex here, the 0th layer for convenience
  • Force It is managed by the connection management device 3 so as to be logically connected in multiple layers in an S-tree hierarchical structure.
  • a tree-like hierarchical structure is described.
  • the present invention is not limited to this, and a plurality of terminal devices 2 may be logically connected in multiple layers in a chain-like hierarchical structure.
  • terminal devices 2al and 2a2 may be referred to as a terminal device 2a for convenience
  • terminal devices 2bl to 2b4 may be referred to as a terminal device 2b for convenience
  • terminal devices 2cl to 2c8 may be referred to as a terminal device 2c for convenience.
  • FIG. 2 is an explanatory diagram of the distribution operation of the first distribution form in the content distribution system S.
  • the content data that is stream-distributed in the first distribution form by the content distribution device 1 is input to the content distribution device 1 by the content input device 4. That is, the content data is transmitted from the content input device 4 to the content distribution device 1, received by the content distribution device 1, and stored in the hard disk device.
  • the connection management device 3 does not constitute a terminal device 2 that does not participate in the first distribution form in the content distribution system S, in other words, does not constitute any tree-like hierarchical structure of the broadcast channel.
  • the connection destination candidate to which the terminal device 2 is connected as an upstream device for receiving the streaming distribution based on the state of the tree-like hierarchical structure of the first distribution form, etc. (Content distribution device 1 or terminal device 2) is selected.
  • the connection management device 3 notifies the terminal device 2 of the location information (such as the IP address and port number of the connection destination candidate) and the communication protocol of the connection destination candidate thus selected.
  • the connection destination introduction request is transmitted from the terminal device 2 when switching to another channel or when the connection with the upstream terminal is disconnected.
  • the terminal device 2 when the communication protocol and port number are already fixed, the terminal device 2 does not need to be notified of the port number and communication protocol.
  • a communication protocol a dedicated communication protocol such as ⁇ MMS (Microsoft Media Server) protocol, RTSP (Real Time Streaming Protocol), or the like may be used.
  • a dedicated data format is used as the content data format.
  • ASF Advanced Streaming Format
  • WMA Windows (registered trademark) Media Audio
  • WMV Windows (registered trademark) Media Video
  • the terminal device 2 Upon receiving the location information of the connection destination candidate from the connection management device 3, the terminal device 2 requests the connection destination candidate to participate (connect) to the content distribution system S with the location information as a destination, As a result, the terminal device 2 is incorporated into the hierarchical structure in the first distribution form of the content distribution system S. That is, the terminal device 2 can receive the content data distributed from the content distribution device 1.
  • the terminal device 2 participates in each channel one after another in this way, so that the plurality of terminal devices 2 have a tree-like hierarchical structure with the content distribution device 1 as a vertex. Logically connected to Then, the content data distributed by the content distribution device 1 is sequentially relayed to the downstream terminal device 2 by the relay function of the terminal device 2 and streamed to the plurality of terminal devices 2.
  • the terminal device 2 includes the location information of the terminal device 2 or the content distribution device 1 upstream of the position of the incorporated hierarchical structure and the location information of the terminal device 2 downstream of the position of the incorporated hierarchical structure.
  • the location information of the terminal device 2 or the content distribution device 1 upstream of the position of the incorporated hierarchical structure and the location information of the terminal device 2 downstream of the position of the incorporated hierarchical structure. are stored in a hard disk device 203 to be described later, and content data is relayed based on the stored location information. Further, the content data to be distributed is divided into a plurality of packets and sequentially distributed, and the data divided and distributed in this way is called a content packet.
  • the content data distributed to the terminal device 2 in this way is distributed to the terminal device 2 constituting the hierarchical structure for each broadcast channel.
  • the distributed content data includes the power of content data such as music and movies, and playback time information.
  • the plurality of terminal devices 2 that have received the ten data perform reproduction of the content data that is sequentially transmitted based on the reproduction time information.
  • FIG. 3 is a diagram conceptually illustrating a configuration in which content data is received using the ring buffer area in the terminal device 2 and is played back or relayed to the downstream terminal device 2.
  • the terminal device 2 participates in the first distribution mode
  • the content packet streamed from the upstream device of the hierarchical structure in the participating broadcast channel is sequentially received by the stream receiver, and the received content packet
  • the content data contained in is temporarily stored in the ring buffer area.
  • the content data temporarily stored in the ring buffer area is taken out of the ring buffer area and played by the player as the playback means of the terminal device 2 at the playback time.
  • new content data is sequentially stored in the ring buffer area in the clockwise direction, and the oldest content data is rewritten to new content data.
  • A is the point written to the ring buffer area by the stream receiver, this point A moves clockwise.
  • the ring buffer area in FIG. 3 is conceptually shown, and the control means of the terminal device 2 that has not actually formed a ring shape has accumulated in a predetermined address area in the storage area. This is achieved by sequentially rewriting the oldest content data with new content data.
  • the playback time information is stored in the content data as described above, and the content data (here, the playback time information that matches the current time among the content data stored in the ring buffer area).
  • the content data at point B in Fig. 3) is taken out of the ring buffer area and played sequentially.
  • the content distribution device 1 distributes content data while ensuring a margin sufficient to perform packet loss compensation processing.
  • the packet loss compensation process is a process for requesting retransmission of a packet to a higher-level device and transmitting the packet again from the higher-level device when a packet from the higher-level device does not arrive after waiting for a certain period of time. .
  • the loss compensation process a series of processes must be performed in this way, and it takes a certain amount of time, so it is necessary to secure a margin as described above.
  • the terminal apparatus 2 is provided with two stream transmitters.
  • This stream transmitter stores the content data stored in the ring buffer area in the data area of the content packet for each predetermined amount, generates a content packet, and sends the content packet to another terminal device 2 connected downstream. Send content packets sequentially.
  • the content data included in the content packet transmitted from the upstream device is extracted and stored in the ring buffer area. You may make it accumulate
  • the stream transmitter transmits the content packet in which the information of the transmission destination and the transmission source of the content packet received by the stream receiver is replaced to the downstream terminal device 2.
  • the stream receiver corresponds to a stream receiving means described later
  • the player corresponds to a stream reproducing means described later
  • the stream transmitter corresponds to a stream relay means described later.
  • the terminal device 2 provides a ring buffer area for temporarily storing content data, thereby compensating for packet loss while prebuffering the content packet, and is generated on the network 6 path. The effect of packet loss is avoided.
  • the content data transmitted from the content distribution device 1 is stream-distributed to the plurality of terminal devices 2 and the plurality of terminal devices 2 at the same time. Content can be played back. That is, the content distribution system S uses P2P to realize broadcast distribution in a plurality of terminal devices 2.
  • FIG. 4 is a diagram showing a second distribution form in the content distribution system S according to the present embodiment.
  • This second distribution form is a P2P grid type distribution system.
  • a distributed hash table hereinafter referred to as “DHT” (Distributed Has h Table)
  • DHT distributed Has h Table
  • a distribution form in which content data is transmitted and received between a plurality of arranged terminal devices 2 will be described as an example.
  • an overlay network is constructed by an algorithm using DHT. That is, this overlay network means a network constituting a virtual link (logical connection) formed using the existing network 6.
  • the terminal device 2 arranged on the overlay network is connected to the second distribution form of the content distribution system S.
  • Terminal device 2 participating in #2 the terminals that participate in the first distribution mode of the content distribution system S (in other words, the hierarchical structure having the content distribution device 1 as the apex).
  • Device 2 also participates in the second distribution form of content distribution system S at the same time. Participation in the second distribution form of the content distribution system S is performed by the terminal device 2 not yet participating sending a participation request to the terminal device 2 already participating.
  • a unique number is assigned to each terminal device 2 as a terminal ID that is an identification number of each terminal device 2 participating in the second distribution form of the content distribution system S. 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 340 X 10 36 terminal devices can be operated.
  • the terminal ID of each terminal device 2 is a unique hash function (hash algorithm) that is unique to each terminal device 2, such as the IP address or serial number of each terminal device 2.
  • 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 serial number is different. Since the hash function is publicly known, detailed explanation is omitted.
  • a value obtained by hashing an IP address (global IP address) with a common hash function is used as a terminal ID.
  • content distributed from one terminal device 2 to another terminal device 2 is provided to a plurality of terminal devices 2 participating in the second distribution form of the content distribution system S.
  • Data is distributed by the content input device 4 and input to the terminal device 2, and unique identification information (hereinafter referred to as “content ID”) for each content data is also given to the content data. .
  • the content ID has the same length as the terminal ID (for example, 128 bits).
  • a keyword such as a content name (content title) or outline information (summary) of the content is stored in the terminal. It is hashed by the same hash function as when ID is obtained (that is, placed in the same ID space as the hash value of the IP address of terminal device 2).
  • the terminal device 2 having a terminal ID that is closer (for example, the higher-order digits match more), the link information to the terminal device 2 that holds content data (hereinafter referred to as “content holding terminal device”), that is, content holding Holds the IP address that is the location information of the terminal device.
  • the content holding terminal device is randomly determined by the content input device 4.
  • the content input device 4 randomly determines one or more terminal devices 2 that should hold the content data, and transmits the content data to the terminal device determined in this way.
  • the terminal device that has received the content data from the content input device 4 functions as a content holding terminal device by holding the content data in the storage unit. As a result, the content data is distributed and arranged on the content distribution system S without any bias.
  • the keyword to be hashed may be, for example, a combination of content name and copyright information (for example, performer name, director name, original author name, singer name, composer name, or songwriter name).
  • content names are not duplicated, and the content name is a keyword.
  • terminal ID and content ID assigned to each terminal device 2 and each content data are generated by a common hash function, they are stored on the same ring-shaped ID space as shown in FIG. It can be thought of as scattered and existing without much bias.
  • This 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 2 that manages content data having a certain content ID is the terminal device 2 having a terminal ID close to that content ID”.
  • the definition of “close” does not exceed the content ID, and is the power to minimize the difference between the content ID and the terminal ID.
  • the content IDa is a terminal ID close to the content IDa (hereinafter “ Called “Terminal &”.
  • the content IDb is managed by the terminal device 2 having a terminal ID (hereinafter referred to as “terminal”) close to the content IDb, and the content IDc is close to the content IDc. It is managed by a terminal device 2 having a terminal ID (hereinafter referred to as “terminal”).
  • management does not mean that content data is retained, but “knows the power with which content data is retained in any terminal device 2".
  • the terminal device 2 having the terminal IDa knows which terminal device 2 holds the content data having the content IDa, and has the terminal device 2 having the terminal IDb and the terminal IDc.
  • the terminal device 2 also knows whether the content data having the content IDb and the content data having the content IDc are held in the terminal device 2 that is out of position. It will be.
  • the terminal device 2 that knows which terminal device 2 holds certain content data is called a root terminal device of the content data. That is, the terminal device 2 having the terminal ID a is a root terminal device for content data having the content IDa, and the terminal device 2 having the terminal IDb is a root terminal device for content data having the content IDb, The terminal device 2 having IDc is a root terminal device for content data having content IDc.
  • the content input device 4 distributes to the terminal device 2 in addition to the function of distributing the content data to the terminal device 2 so that the terminal device 2 in the content distribution system S becomes the content holding terminal device.
  • a plurality of pieces of content data (in other words, content data held by the content holding terminal device) are generated and provided to the terminal device 2 by generating an identification information list that is an identification information list in which the content name and content ID are associated with each other. It has a function to do.
  • the contact introduction device 5 is arranged in the second distribution form of the content distribution system S.
  • the contact introduction device 5 is configured such that when a terminal device 2 that has not participated in the second distribution form of the content distribution system S receives a request to participate in the second distribution form, It has a function of notifying the location information of the terminal device 2 that has already participated in transmitting the message (hereinafter referred to as “contour outside terminal device”).
  • Contour outside terminal device a function of notifying the location information of the terminal device 2 that has already participated in transmitting the message
  • FIG. Figure 5 shows an example of how the routing table is created by the DHT.
  • the ID space as shown in FIG. 5 (a) is divided into several areas. Actually, about 16 divisions are often used, but in order to simplify the explanation, here, 4 divisions are used, and the ID is represented by a quaternary number having a bit length of 8 bits.
  • An example in which the terminal ID of the terminal device 2N is “1133” and the routing table of the terminal device 2N is created will be described.
  • each area is represented by a quaternary number with different maximum digits.
  • the terminal ID of the terminal device 2N itself is “1133”, the terminal device 2N exists in the area “1XXX” in the lower left in FIG. 5 (a).
  • the terminal device 2N is a terminal existing in an area (that is, an area of “0 XXX”, an area of “2XXX”, an area of “3XXX”) other than its own area (that is, an area of “1XXX”).
  • FIG. 6 is an example of a level 1 table.
  • “0100” is selected as the terminal ID of the area “0XXX”
  • “2133” is selected as the terminal ID of the area “2XXX”
  • “3213” is selected as the terminal ID of the area “3 XXX”. It shows the state to be.
  • the second column of level 1 indicates the terminal device 2N itself, so there is no need to store the IP address.
  • the area “1XXX” where the user exists is further divided into four, and further four areas “10XX”, “11XX”, and "12XX” , “13XX”.
  • the terminal device 2 existing in the area other than the area “l lxx” where the user exists is appropriately selected, and the IP address which is the location information of the terminal ID is stored in the level 2 table.
  • Figure 6 shows an example of a level 2 table. In this table, the terminal ID of the area “10XX” is the terminal ID of the area “1003” and the area “12XX”.
  • “1313” is selected as the terminal ID of the areas “1221” and “13XX”.
  • the second column of level 2 is the area “11XX” where the terminal device 2N exists, and since it is tabulated at level 3 described later, it does not store the IP address. If the terminal device 2 does not exist in the above area, the terminal ID and IP address fields are blank.
  • the area “11 XX” where the user exists is further divided into four, and further divided into four areas “110 ⁇ ” “111 ⁇ ”, “112X”, “113X”. .
  • the terminal device 2 existing in an area other than the area “113X” in which it exists is appropriately selected, and the IP address as the location information of the terminal ID is stored in the level 3 table.
  • Figure 6 is an example of a level 3 table.
  • the 4th IJ of Revenor 3 is the area where the terminal device 2N is present, and since it is tabulated at level 4 (to be described later), the IP address is not stored. If there is no terminal device in the area, the terminal ID and IP address fields are blank.
  • All the terminal devices 2 each create and own the routing table created according to the method described above.
  • each terminal device 2 has a routing table that associates terminal IDs (identification information) and IP addresses (location information) of some of the terminal devices 2 among the plurality of terminal devices 2 in the content distribution system S.
  • the routing table is stored in a routing table storage means described later.
  • the terminal apparatus 2 when the terminal apparatus 2 has not participated in the second distribution form, the terminal apparatus 2 does not know the location information of the terminal apparatus 2 participating in the second distribution form. Therefore, when the terminal device 2 participates in the second distribution mode, it generates a routing table as described in the next section.
  • FIG. 10 is a diagram illustrating an example of a state in which a terminal device 2 that has not participated in the second distribution form (hereinafter referred to as “new participation terminal apparatus”) participates in the second distribution form.
  • new participation terminal apparatus A procedure for the newly participating terminal apparatus 2M to participate in the second distribution form in the content distribution system S will be described.
  • a new participation terminal apparatus 2M that has not participated in the second distribution form sends a participation message to the contact introduction apparatus 5 in order to participate in the second distribution form of the content distribution system S.
  • Request location information of terminal device 2 hereinafter referred to as “contact destination terminal device” to be transmitted (hereinafter referred to as “inquiry of external terminal device outside contour”).
  • the new participation terminal device 2M transmits a participation message to the contact destination terminal device when the location information of the contact destination terminal device to which the contact destination introduction device 5 should transmit the participation message is sent.
  • the destination identification information of the participation message is the terminal ID of the new participation terminal device 2M. That is, when newly participating terminal apparatus 2M participates in the second distribution mode, it generates a participation message using the hash value “2133” of the IP address of its own apparatus 2 as destination identification information.
  • the contact destination terminal device determines whether or not this participation 0 message is a message addressed to the contact destination terminal device. To do. Whether the message is addressed to the contact destination terminal device is determined based on the destination identification information and the routing table. Specifically, it is determined whether or not the destination identification information is close to the identification information addressed to the contact destination terminal device. That is, for the destination identification information, whether the identification information of the nearest terminal device is itself from the identification information of the terminal device stored in the routing table held by the contour destination terminal device itself. It is determined whether it is another terminal device.
  • the contour destination terminal device that has received the participation message is held by the contour destination terminal device itself. Referring to the level 2 of the routing table that is being used, transfer the participation message to the terminal device 2B that knows the IP address among the terminal devices 2 belonging to the “2XXX” area. The information of the routing table level 1 table stored in the routing table storage means is transmitted to the newly participating terminal device 2M.
  • transfer of the participation message is performed in a manner that adapts the digits of the content ID in order from the top.
  • the information of each level of the routing table is sequentially transmitted.
  • the transfer of the participation message ends when the terminal device 2 that is closest to the destination identification information is finally reached.
  • the mechanism that forwards messages such as the participation message to the target terminal device as described above is called DHT routing.
  • the newly participating terminal device 2M obtains information on each level of the routing table from the terminal device 2 that has received the participation caro message in order from the information on the higher level. In this way, the newly participating terminal 2 generates a routing table necessary for participating in the second distribution form.
  • FIG. 8 is a diagram illustrating an example of a state in which the terminal device 2 that holds content data by DHT browsing is searched.
  • terminal device 2N with terminal ID “1133” searches for content data having content ID “3020”
  • request terminal device a terminal device that searches for content data and requests reception of content data in this way.
  • the requesting terminal device 2N refers to the level 1 table of the routing table held by itself, and uses the terminal ID of the terminal device having the terminal ID in the same area as the content ID "3020" as destination identification information.
  • a transmission request (hereinafter referred to as “content search message”) of content holding terminal device information (information including location information of the content holding terminal device) is transmitted. That is, since the content ID “3020” is an area “3XXX”, the terminal device 2 belonging to the area “3X XX” knows the IP address (that is, the routing table held by itself).
  • Content search message is transmitted to terminal device 2A (terminal ID “3213”).
  • the content search message includes a content ID that is unique identification information corresponding to the content, and this content ID is used as destination identification information in the content search message.
  • the IP address of the terminal device 2A whose terminal ID is “3213” is stored in the routing table (see FIG. 6) of the request terminal device 2N.
  • the list terminal device 2N transmits a content search message to the terminal device 2A whose terminal ID is “3213”.
  • the terminal device 2A that has received the content search message determines whether or not the content search message is a message addressed to the terminal device 2A. Whether the message is addressed to the terminal device 2A is determined based on the destination identification information and the routing table. Specifically, it is determined whether or not the destination identification information is close to the identification information of its own terminal device 2A. That is, for the destination identification information, the terminal device 2A itself stores the identification information of the terminal device that is stored in the routing table held by the terminal device 2A itself. It is determined whether it is a terminal device or another terminal device. Here, since the identification information of the other terminal device is closer to the destination identification information than the identification information of its own terminal device 2A, the terminal device 2A has the routing table held by the terminal device 2A itself. Referring to the level 2 table, out of the terminal devices 2 belonging to the “30XX” area, the content search message is transferred to the terminal device 2B (terminal ID “3031”) that knows the IP address.
  • the content search message is transferred in accordance with the order of the content ID digits in the ascending order, and the content search message is transferred, and finally the terminal device 2C (terminal ID “3011”) manages the content data. ), That is, when the root terminal device arrives, the root terminal device searches the content ID “3020” included in the content search message from the below-described index information managed by itself, and The content holding terminal that owns the content data is returned to the requesting terminal device 2N with the IP address of the terminal device.
  • the request terminal device 2N receives from the root terminal device 2C the content data location information of the content ID “3020”, that is, the IP of the content holding terminal device that holds the content data of the content ID “3020”. You will receive and know the address, and you will download the content data from the content holding terminal device.
  • the second distribution form of the content distribution system S in the present embodiment is that each content holding terminal device is different from the terminal device 2 in which the content input device 4 is each content holding terminal device.
  • Content data to be managed content for each is transmitted.
  • the content holding terminal device that has received the content data to be managed from the content input device 4 stores the received content data in the hard disk device 203 described later.
  • the content holding terminal device to which the content data has been distributed has a registration request message for content holding terminal device information including location information and identification information of the content holding terminal device (see FIG. 9 and FIG. 10).
  • content registration message toward the terminal device having the same terminal ID as the content ID obtained from the content name or the like (whether or not this terminal device actually exists is unknown at this point).
  • this content registration message is also successively transferred according to the routing table in the same manner as the content search message, and is transferred to the terminal device 2 having the terminal ID closest to the content ID included in the content registration message.
  • the terminal device 2 determines that there is no other destination terminal device, it determines that the terminal device 2 itself should be the root terminal device of the content, as shown in FIG.
  • the content ID that is the content holding terminal device information included in the content registration message, the IP address of the content holding terminal device, and auxiliary information (attribute information such as title, genre, extended information, (Right information, streaming time, etc.) 222 is stored in.
  • the IP address which is the location information of the content holding terminal device
  • the index table 222 of the root terminal device the content registered in the index table in response to the content search message from the requesting terminal device thereafter.
  • the location information of the holding terminal device is returned to the requesting terminal device.
  • the content distributed from the content input device 4 is registered in the content holding terminal device and can be searched via the root terminal device, so that the content can be stored in other terminal devices. Publish.
  • the index table 222 includes the location of the content holding terminal device. This is a table for storing content holding terminal device information including information (location information) such as an IP address.
  • location information such as an IP address.
  • the time when the content holding terminal device was introduced is stored for each row (predetermined storage area) as content holding terminal device information.
  • each terminal device 2 participates in the content distribution system S, it participates in the second distribution form at the same time as participating in the first distribution form.
  • it when it is incorporated in the tree-type distribution structure in the first distribution form, it is also incorporated in the overlay network constructed by the algorithm using the DHT in the second distribution form.
  • Each terminal device 2 receives the streaming content data streamed from the content distribution device 1 in the first distribution form in the content distribution system S, and stores it in the ring buffer area of its own terminal device.
  • the content data stored in the ring buffer area is retrieved from the ring buffer area and streamed at the playback time.
  • Streaming playback refers to a playback method in which content data is transmitted while being divided and received, and is played back. The entire content data is received all at once and then played back after downloading. Are different.
  • Streaming delivery is a transmission method that delivers so that streaming playback is possible. Such streaming playback and streaming distribution can be achieved by adopting a streaming communication protocol and content data format.
  • the content data streamed from the content distribution device 1 is sequentially fetched one after another for each broadcast channel in the broadcast format, and sequentially streamed to each terminal device 2. be delivered.
  • the terminal device 2 performs streaming playback of the content data distributed from the content distribution device 1, so that the user of the terminal device 2 can view the content data.
  • the user of the terminal device 2 views the content data distributed from the content distribution device 1. If you have content data you like while listening, you can download the content data. That is, as shown in FIG. 12, in the internal display 210 (to be described later) in the terminal device 2, the content video being reproduced is displayed in the content display frame 21 (a predetermined video is displayed when the content is music). However, the content information (in this case, the name of the content) being played is displayed in the title name display frame 22.
  • a download button 23 is displayed on a later-described built-in display 210 in the terminal device 2.
  • the download button 23 is a GUI (Graphical User Interface) displayed on the built-in display 210 and can be operated by the remote control 208 of the terminal device 2.
  • the content information is transmitted together with the content data from the content distribution device 1, and is information stored in the header portion of the content data.
  • the user of the terminal device 2 likes the content data transmitted from the content distribution device 1, the user performs a download request operation.
  • the download request is operated by operating the remote control 208 and selecting the download button 23 on the built-in display 210.
  • the terminal device 2 is configured to download content data in the second distribution form when the download button 23 is selected. That is, when the download button 23 is selected, the terminal device 2 acquires the content ID that is the identification information of the content data requested for download from the identification information list acquired when participating in the second distribution form. .
  • the terminal device 2 that has acquired the content ID refers to the routing table of its own terminal device as the requesting terminal device, and transmits a content search message using the content ID of the content data requested for download as destination identification information. .
  • the content search message is transferred in a manner that adapts the content ID digits in order from the top, and finally the root terminal that manages the location information of the content holding terminal device that holds the content data requested to be downloaded. Get to the device.
  • the root terminal device searches for the content ID included in the content search message from the index information that it manages and records the content ID corresponding to the content ID of the content holding terminal device.
  • the location information is transmitted to the request terminal device.
  • the request terminal device has made a download request to the content holding terminal device. Requests transmission of content data via the network 6.
  • the content data is received via the network 6 from the content holding terminal device that holds the content data requested to be downloaded, and stored in content data storage means to be described later.
  • the display on the built-in display 210 of the terminal device 2 may be as shown in FIG. 13 instead of as shown in FIG. That is, a plurality of pieces of content data streamed from the content distribution device 1 are displayed.
  • the content name of the content data currently being streamed is emphasized by capitalizing it.
  • the name of the content at the center (content 4) is the content data that is currently stream-played, and above it is the content data content content that has been stream-played in the past.
  • the names of the content data to be streamed and played in the future are displayed in sequence.
  • the selection frame 24 displayed on the internal display 210 is moved up and down to the content name display position of the content data to be selected, and the download button 23 is pressed with the remote control 208. Line 5 by operating.
  • FIG. 14 is a diagram showing a schematic configuration example of the content distribution apparatus 1 in the present embodiment.
  • the content distribution apparatus 1 is applicable to a general server computer, and stores (stores) a CPU (Central Processing Unit) 102 and various programs as shown in FIG.
  • a CPU Central Processing Unit
  • the connection management device 3, and the content input device 4 via the network 6 and the main storage device 105 as a rewritable main storage device the hard disk device 103 that stores various data, etc.
  • Network interface 104 that communicates with the device, peripheral device control chip 106 that controls input means such as a keyboard 107 and mouse 108 that can input predetermined information, and image data from the CPU 102, and an internal video memory (not shown) ) And the data written to this video memory on the internal display 110 (to be described later), the built-in display 110 that displays the data according to the signal transmitted from the video chip 109, and the FM sound source (Frequency Modulation) ) And Wave Table sound source, etc., and the audio output from the sound source chip 111
  • a built-in speaker 112 which converts the signals into sound waves, is configured to include the various components of these is Ru les, are connected to each other via a system bus 101.
  • the network interface 104 is connected to the network 6 via the router 10a.
  • This router 10a corresponds to the router 10 shown in FIG.
  • the control unit 130 is configured by the CPU 102 and the main storage device 105.
  • the content distribution apparatus 1 includes the built-in display (liquid crystal display, etc.) 110 as described above.
  • the built-in display 110 liquid crystal display, etc.
  • a broadcast operator who operates the content distribution system S looks at the built-in display 110.
  • the ability to input predetermined information from input means.
  • the built-in display 110, the built-in speaker 112, and the like are not limited to the force S built in the content distribution apparatus 1, but may be connected separately, for example.
  • the main storage device 105 includes a ⁇ S (operating system) program 117 for providing basic functions as a computer of the content distribution device 1 and content stored in the broadcast content storage area of the hard disk device 103.
  • Stream control program 115 for retrieving data and streaming to terminal device 2 and location information (IP address, port number, etc.) of each terminal device 2 connected to each broadcast channel Topology management program 116, screen control program 118 for controlling built-in display 110, and decoding of encoded music content data
  • the content management program 121 received from the content input device 4 for each broadcast channel from the content input device 4 and stored in the hard disk device 103 is stored. These are read by the CPU 102 and are read by the CPU 102. The function according to the program is executed.
  • the S program 117 is read and executed by the CPU 102, so that functions related to input / output of the keyboard 107 and mouse 108, memory management of the main storage device 105 and the hard disk device 103, etc. This makes it possible to execute the basic functions of the computer that is the content distribution apparatus 1 of the above.
  • the OS program 117, the stream control program 115, the topology management program 116, the screen control program 118, the music decoder program 119, the content management program 121, etc. are stored in the main memory from, for example, a server connected to the network 6. It may be downloaded to the device 105 or may be recorded on a recording medium (storage medium) such as a CD-ROM and then read into the main storage device 105 via the recording medium. Les.
  • the control unit 130 includes the CPU 102 and the main storage device 105, and the CPU 102 reads and executes the various programs 115 to 119 and 121 stored in the main storage device 105, thereby distributing contents.
  • the entire apparatus 1 is controlled in an integrated manner and functions as a content data distribution means described later.
  • the CPU 102 executes the stream control program 115 as a content data distribution means, etc., and the CPU 102 executes the topology management program 116, so that the topology management
  • the CPU 102 executes the screen control program 118, and as a display control means, the CPU 102 executes the music decoder program 119.
  • the CPU 102 executes the content management program 121. Therefore, they function as distribution content receiving means and distribution content storage means, respectively.
  • the hard disk device 103 is used as content data storage means for storing content data.
  • the distribution content receiving means requests the content input device 4 to transmit content data, and receives the content data transmitted from the content input device 4 and the name of the content. Also, the distribution content storage means stores the received content data as the broadcast content data 113 in the hard disk device 103 when the content data is received from the content input device 4 by the distribution content reception means.
  • the hard disk device 103 stores in advance broadcast program information for storing the order of the content data to be broadcast on each broadcast channel, and the distribution content receiving means uses the content information based on the program information.
  • the content data requested to be transmitted to the input device 4 is determined, and a transmission request to the content input device 4 is made.
  • the distribution content receiving means transmits the broadcast program information to the hard disk device 403 of the content input device 4 based on the broadcast program information, instead of making a transmission request for content data to the content input device 4.
  • the content input device 4 may store the content data sequentially based on the broadcast program information. In this case, the content distribution device 1 sequentially distributes the content data input by the content input device 4 to the downstream device for each broadcast channel.
  • the content data distribution means distributes the content data via the network 6.
  • the broadcast content data stored in the hard disk device 103 is taken out and streamed to the terminal device 2 (for example, the top-level terminal device when connected in a tree type) or the like logically connected via the network 6.
  • the content data includes information such as the name of the content.
  • Streaming delivery to the terminal device 2 or the like by the content data delivery means is executed according to the following procedure.
  • the content data distribution means sequentially extracts the content data based on the broadcast program information from the broadcast content data 113 stored in advance in the hard disk device 103, and stores it in the ring buffer area 120.
  • the content data distribution means encodes the content data extracted from the ring buffer area 120 into a data format for streaming distribution, for example, a data format such as ASF, WMA, or WMV.
  • the content data distribution unit stores the corresponding content data in the content packet while dividing the content data for each predetermined capacity with respect to the connected terminal device 2 and the like. Send to content packet.
  • the content data distribution means may flow the content selected by the input means such as the keyboard 107 by the DJ or the like.
  • the selectable content is content data distributed from the content input device 4.
  • the content distribution device 1 is assigned with a plurality of broadcast channels, and the topology management means is the location information of the terminal devices 2 participating in the first layer of the tree-like hierarchical structure constituted by the assigned broadcast channels. (IP address, port number, etc.) are managed for each broadcast channel.
  • the above distribution means uses the IP address of the terminal device 2 managed by the topology management means as the destination address, and uses the distribution IP address as the transmission source.
  • the display control means has a function of controlling the video chip 109 and the built-in display 110 to display content data and various information. That is, the display control means can control how the content video and various information are displayed on the built-in display 110.
  • the reproduction means has a function of displaying content data from the broadcast content data 113 on the built-in display 110 and outputting it from the built-in speaker 112.
  • FIG. 15 is a diagram illustrating a schematic configuration example of the terminal device 2 in the present embodiment.
  • the terminal device 2 can be a general personal computer or a dedicated terminal. As shown in FIG. 15, a rewritable main memory that stores (stores) a CPU (Central Processing Unit) 202 and various programs and the like. Storage device 205, hard disk device 203 for storing various data and the like, content distribution device 1, connection management device 3, content input device 4, contact destination introduction device 5 and other terminals via network 6 A network interface 204 for performing wired communication with the device 2, a user input remote control 208 for transmitting and receiving a predetermined infrared signal that allows the user to remotely operate the terminal device 2, and the user input An infrared port 207 for performing infrared communication with the remote controller 208, a peripheral device control chip 206 for controlling the infrared port 207, A video chip 209 that receives image data from the CPU 202 and writes it to an internal video memory (not shown) and displays the data written to the video memory on a built-in display 210 described later, and a signal transmitted from the video chip 209 A built-in
  • the CPU 202 and the main storage device 205 constitute a control unit 230.
  • the network interface 204 is connected to the network 6 via the norator 10b.
  • This router 10b corresponds to the router 10 shown in FIG.
  • the main storage device 205 provides basic functions of the terminal device 2 as a computer.
  • OS program 217 to be provided and in the first distribution form the content data to be streamed and distributed directly from the content distribution device 1 or to another terminal device 2 is stream-received and transmitted to the downstream terminal device 2 by streaming.
  • Topology management program 216 for managing location information of device 2
  • screen control program 218 for controlling built-in display 210, and content data streamed from upstream devices in the first distribution mode It can be decoded and streamed or downloaded in the second distribution form.
  • These are read by the CPU 202, and functions according to these programs are executed by the CPU 202.
  • the main storage device 205 further stores an index table storage area for storing the index table 222 (see FIG. 11) and a routing table storage area for storing the routing table 223 (see FIG. 6). Is provided.
  • the OS program 217 is read and executed by the CPU 202, thereby performing functions related to input / output of the user-input remote control 208, memory management of the main storage device 205, the hard disk device 203, and the like.
  • the basic function of the computer which is the terminal device 2 is made executable.
  • the OS program 217 being executed by the CPU 202, the above-described stream control program 215, topology management program 216, screen control program 218, music decoder program 219, content purchase program 221 and the like are stored in the main storage device 205. Is read from and executed.
  • the ram 221 or the like may be downloaded to the main storage device 205 from a server or the like connected to the network 6, for example, and after being recorded on a recording medium such as a CD-ROM, Thus, it may be read into the main storage device 205.
  • the control unit 230 includes the CPU 202 and the main storage device 205 as described above, and the CPU 202 reads and executes the various programs 215 to 219, 221 stored in the main storage device 205, thereby executing the terminal device 2
  • Overall control, and connection means streaming reception means, display control means, decoding means, streaming playback means, streaming relay means, identification information list reception means, identification information acquisition means, determination means, content data, which will be described later
  • Storage control means download processing means, message destination determination means, content holding terminal device information selection means, content holding terminal device information return means, content identification information calculation means, content registration message generation means, content registration message transmission means, message Functions as transfer means, content playback means, etc.
  • the CPU 202 executes the stream control program 215 as a stream receiving means, a streaming relay means, etc., and the CPU 202 executes the topology management program 216 as a connection means, etc.
  • the CPU 202 executes the content purchase program 221 as the display control means, and the CPU 202 executes the music decoder program 219 as the decoding means, streaming playback means, content playback means, etc.
  • identification information list receiving means By executing, identification information list receiving means, identification information acquisition means, determination means, content data storage control means, download processing means, message destination determination means, content holding terminal device information selection means, content holding terminal device information return means , It functions as content identification information calculation means, content registration message generation means, content registration message transmission means, message transfer means, and the like.
  • connection means transmits a connection destination introduction request to the connection management device 3 via the network 6 in order to cause the terminal device 2 to participate in the first distribution form of the content distribution system S, and then from the connection management device 3 to the network 6.
  • the connection means transmits a registration request to the connection management device 3 via the network 6 and connects the terminal device 2 to participate in the first distribution mode of the content distribution system S. It has a function of registering to the management apparatus 3 and further transmitting a connection destination introduction request via the network 6 to request a connection destination candidate from the connection management apparatus 3.
  • This registration request and connection destination introduction request include location information of the own terminal device 2 and the like.
  • connection means responds to the connection destination introduction request transmitted to the connection management device 3, and information on the connection destination candidate notified from the connection management device 3 via the network 6, that is, the connection destination candidate terminal It has a function to receive information such as IP address and port number (hereinafter abbreviated as “connection destination candidates” including information on connection destination candidates), which is device location information.
  • connection destination candidates including information on connection destination candidates
  • connection means has a function of performing a logical connection to the connection destination candidate based on the received connection destination candidate information.
  • the connection means makes a connection request with the destination IP address and port number as the destination based on the destination candidate information, and makes a logical connection with the destination candidate.
  • the streaming receiving means receives content data transmitted as a content packet from the upstream device, that is, the content distribution device 1 logically connected upstream or the terminal device 2 connected upstream by the first distribution form via the network interface 204. Streaming reception is performed, and the content data thus streamed is stored in the ring buffer area 220 sequentially.
  • the content data receiving means and the content data relay means described later can use a known streaming distribution protocol, or can use a unique dedicated protocol.
  • the streaming playback means has a function of sequentially playing back the content data stream-received from the upstream device through the network interface 204 in the first distribution form and sequentially stored in the ring buffer area 220.
  • This streaming reproduction means realizes this function by operating the sound source chip 211 and the video chip 209, and sequentially retrieves the content data stored in the ring buffer area 220 to obtain predetermined content data. It is converted into a format (for example, Wave format) and input to the sound source chip 211 or the video chip 209, and the content is played back.
  • a format for example, Wave format
  • the content data converted into the predetermined content data format by the streaming playback means is stored in the audio data after the audio information is converted into the audio signal by the sound source chip 211 when the content data includes audio information. Output from speaker 21 2.
  • the content data converted into the predetermined content data format by the streaming playback means includes video information
  • the video information is stored in the built-in display 210 under the control of the display control means described later. Is displayed.
  • the streaming playback means determines the timing for playing back the content data based on the playback start time information included in the content data stored in the ring buffer area 220. That is, the playback means is configured to output the content data stored in the ring buffer area 220 to the built-in speaker 212 and the built-in display 210 at the playback start time.
  • the display control means has a function of controlling the video chip 209 and the built-in display 210 to display content data and various information. That is, the display control means can control how the content video and various information are displayed on the built-in display 210.
  • the streaming relay means is configured to receive content data stream-received via the network 6 from the upstream device in the first distribution form, that is, the content distribution device 1 or the terminal device 2 connected upstream, to other downstream devices. Transfer to terminal device 2 via network 6.
  • the identification information list receiving means receives the identification information list transmitted from the content input device 4. It has a function to receive.
  • the identification information list transmitted from the content input device 4 is information in which the name and content ID of content data that can be downloaded in the second distribution form are associated with each other, and the terminal device 2 has participated in the second distribution form.
  • the content input device 4 transmits the identification information list to the content input device 4 from time to time. In addition, when a predetermined number of content data items are newly input to the content distribution device 1 or the terminal device 2, the content input device 4 transmits or notifies the updated identification information list to each terminal device 2. N
  • the identification information list may be requested and received from the content input device 4 by the identification information list receiving means.
  • the identification information acquisition means acquires the download requested content data in the second distribution form when there is a download request operation for the content data received by the streaming receiving means in the first distribution form and reproduced by the streaming playback means. Therefore, the content ID that is the identification information of the content data requested to be downloaded is acquired. That is, the identification information acquisition unit acquires the content ID that is the identification information of the content data requested for download from the identification information list received by the identification information list reception unit.
  • content data received by the streaming receiving means in the first distribution form and played by the streaming playback means means that a screen as shown in FIG. 12 is displayed on the built-in display 210.
  • the content data is limited to only the content data being played back by streaming, but when the screen shown in FIG. 13 is displayed on the built-in display 210, the content data is not limited to the content data being played back by streaming. It includes content data that was played back in the past and content data that is scheduled for playback in the future.
  • the identification information acquisition means is the content of the content data requested to be downloaded. Only the ID may be acquired from the content input device 4. In this case, the identification information acquisition unit transmits the name of the content data requested to be downloaded to the content input device 4 and acquires the content ID of the content data requested to be downloaded.
  • the identification information acquisition means may obtain the content ID of the content data requested to be downloaded by the content identification information calculation means described later.
  • the content ID is obtained by hashing with the hash function using the name of the content data requested for download as a keyword.
  • the download processing in the second distribution form in the terminal device 2 is facilitated.
  • the name of the content that can be downloaded in the second distribution form is acquired from the content input device 4 in the form of a list, etc., and the content identification information calculation means acquires the name of the content from this list or the like.
  • the content ID can be calculated.
  • the determination means determines whether or not the entire content data requested to be downloaded is stored in the ring buffer area 220.
  • the content data storage control unit determines that the content data requested for download is stored in the S-ring buffer area 220 by the determination unit, the content data storage control unit does not download the content data in the second distribution form, and does not download the content data.
  • the content data stored in the area 220 is stored in the content data storage area of the hard disk device 203.
  • the download processing means has a function of downloading the content data requested for download based on the identification information of the content data acquired by the identification information acquisition means, and the terminal device of the second distribution form, and download destination search means In addition, it is composed of down-port transmission request means and download data reception means.
  • the download destination search means stores the content data requested to be downloaded based on the content ID of the content data acquired by the identification information acquisition means. Search for a content holding terminal device.
  • the search for the content holding terminal device generates a content search message with the content ID acquired by the identification information acquisition means as the destination identification information, and the location of the terminal device having the terminal ID in the same area as the content ID is determined. Information is extracted from the routing table 223 and a content search message is transmitted to the terminal device.
  • the location information of the content holding terminal device that holds the content data of the content ID acquired by the identification information acquisition unit is transmitted from the root terminal device.
  • the download destination search means searches for a content holding terminal device that holds content data requested to be downloaded.
  • the download transmission request means requests the content holding terminal device searched by the download destination search means to transmit the content data requested for download via the network 6 (hereinafter referred to as "download transmission request”). ").
  • This download transmission request sets the content ID of the content data corresponding to the download request with the location information of the content holding terminal device as the destination.
  • a download transmission request is made to one of the nearby content holding terminal devices.
  • the "neighboring content holding terminal device” is a terminal device that makes a download transmission request.
  • the content holding terminal device is connected to the DHT routing, and the terminal ID is close, the terminal device, or This means a content holding terminal device close to the physical network.
  • the content holding terminal device that makes a download transmission request is a physical network, a near-end, or content holding terminal device, content data can be downloaded from the content holding terminal device in a short time. it can.
  • “close to the physical network” means that the message arrival time from the terminal device making the download transmission request is short, or the number of pops from the terminal device making the download transmission request (number via the router). Means less.
  • the download data receiving means stores the content data requested to be downloaded and stores the content data requested to be downloaded. Received via network 6.
  • the content data transmitted from the content holding terminal device is data in a download format that is not in the streaming format as in the first distribution mode.
  • the content data received by the download receiving means is stored in the content data storage area (corresponding to the content data storage means) of the hard disk device 203 by the control unit 230.
  • the message destination determination means determines whether or not the received message is addressed to its own terminal device 2 based on the destination identification information of the message received via the network 6 and the routing table.
  • the message determined by the message destination determination means is the above-described content search message, content registration message, or the like.
  • Whether or not the received message is addressed to the own terminal device 2 is determined based on the routing table stored in the main storage device 205 by extracting the destination terminal ID (destination identification information) included in the message. To do. That is, when various messages are received via the network interface 204, the message destination determination means compares the destination identification information included in the received message with the terminal ID stored in the routing table 223, and then compares the message. If it is determined that the terminal ID on the routing table 223 closest to the destination identification information included in the message is the terminal ID of the own terminal apparatus 2, it is determined that the message is addressed to the own terminal apparatus 2.
  • the content holding terminal device information selection unit determines that the message received by the message destination determination unit via the network 6 is addressed to its own terminal device 2 and is a content search message, the content search is performed from the index table 222.
  • the location information of the content holding terminal device that holds the content data of the content ID targeted by the message is selected. If there are a plurality of pieces of location information of content holding terminal devices in the index table 222, all or some of them are selected.
  • the content holding terminal device information return means is content holding terminal device information selection means.
  • the location information of the content holding terminal device selected by (2) is returned to the requesting terminal device via the network 6.
  • the content identification information calculation means calculates the content ID which is the identification information of the content data by calculating the unique information of the content data by a predetermined hash function as described above.
  • the received content data is stored in the hard disk device 203, which is a content data storage means.
  • a content registration message including the terminal ID and IP address of the local terminal device is generated using the content ID calculated by the content identification information calculation means as the destination identification information.
  • the content registration message transmitting means transmits the content registration message generated by the content registration message generating means from the terminal device identification information stored in the routing table 223 based on the content ID of the content data stored in the hard disk device 203. Select the destination terminal device and transmit. For example, if the content ID of the content data stored in the hard disk device 203 is “1231”, and the content registration message transmission means has a routing table as shown in FIG. "Is selected as the destination terminal device, and the IP address" 21.13.21.13 "of the terminal device with the terminal ID" 1221 "is extracted. Then, the content registration message is transmitted using the IP address “21.13.21.13” as the destination terminal device.
  • the destination identification information of this content registration message is “1231”.
  • the message transfer means determines the transfer destination based on the destination identification information of the received message.
  • the location information of the terminal device is extracted from the routing table 223, and the received message is transferred to the destination terminal device.
  • the decoding means displays the content data transmitted from the other terminal device 2 on the display 210 and decodes it for output from the speaker 212. That is, the content data transmitted from the other terminal device 2 is encoded in a data format for streaming delivery, for example, ASF, WMA, WMV, etc., and the content data encoded in this way is encoded. Is decoded so that it can be output from display 210 or speaker 212.
  • the content playback means extracts and plays back the content data stored in the hard disk device 203.
  • the control unit 230 operates the video chip 209 and the sound source chip 211 based on the stream control program 215. Content data is played back.
  • connection management device 3 Next, the configuration and operation of the connection management device 3 will be described with reference to FIG.
  • FIG. 16 is a diagram showing a schematic configuration example of the connection management device 3 in the present embodiment.
  • the connection management device 3 is applicable to a general server computer.
  • a CPU Central Processing Unit
  • main storage device 305 that stores (stores) various programs and the like.
  • a hard disk device 303 for storing various data
  • a network interface 304 for communicating with the content distribution device 1, the content input device 4 and the terminal device 2 via the network 6, and predetermined information can be input.
  • Peripheral device control chip 306 that controls input means such as keyboard 307 and mouse 308, and CPU 302 receives image data and writes it to the internal video memory (not shown) and displays the data written to this video memory on display 310
  • input means such as keyboard 307 and mouse 308
  • CPU 302 receives image data and writes it to the internal video memory (not shown) and displays the data written to this video memory on display 310
  • system bus 301 It has been.
  • control unit 330 is configured by the CPU 302 and the main storage device 305.
  • the network interface 304 is connected to the network 6 via the router 10c.
  • This router 10c corresponds to the router 10 shown in FIG. [About main memory 305]
  • the main storage device 305 manages the OS program 317 for providing the basic functions of the connection management device 3 as a computer, and the location information (IP addresses, port numbers, etc.) of multiple terminal devices 2.
  • a connection destination introduction program 320 for selecting a connection destination candidate in response to a connection destination introduction request transmitted from the terminal device 2 and transmitting connection destination candidate information to the terminal device 2 is stored.
  • the function is read by the CPU 302 and executed by the CPU 302 according to these programs.
  • the S program 317 is read and executed by the CPU 302 to perform functions related to input / output of the keyboard 307 and mouse 308, memory management of the main storage device 305, the hard disk device 303, etc. This makes it possible to execute the basic functions of the computer, which is the connection management device 3. Then, with the OS program 317 being executed by the CPU 302, the terminal management program 318, topology management program 319, connection destination introduction program 320, etc. described above are executed.
  • the OS program 317, terminal management program 318, topology management program 319, connection destination introduction program 320, and the like may be downloaded to the main storage device 305 from, for example, a server connected to the network 6. Alternatively, it may be recorded on a recording medium such as a CD-ROM and then read into the main storage device 305 via the recording medium.
  • the control unit 330 includes the CPU 302 and the main storage device 305 as described above, and the CPU 302 reads and executes the various programs 317 to 320 stored in the main storage device 305, so that the entire connection management device 3 is processed. It performs overall control and functions as connection destination introduction request receiving means, connection destination candidate selection means, connection destination candidate notification means, topology management means, terminal management means, etc., which will be described later.
  • the hard disk device 303 has a plurality of terminal devices logically connected in multiple layers in a hierarchical structure on the network 6 with the content distribution device 1 as a top. It is used as connection state information storage means for storing the connection state information of the device.
  • the CPU 302 executes the terminal management program 318 as a terminal management unit and the like, and the CPU 302 executes the topology management program 319 as a topology management unit and the like. By executing this, it functions as a connection destination introduction request receiving means, a connection destination candidate selecting means, a connection destination candidate notifying means, and the like.
  • the terminal management means When receiving the registration request from the terminal device 2, the terminal management means registers the IP address, etc., which is the location information of the terminal device 2 in the terminal management data base 314 for each broadcast channel. Also, when a registration request is received from the content distribution apparatus 1, the location information of the content distribution apparatus 1 is registered in the terminal management database 314 for each broadcast channel. The location information of the terminal device 2 is included in the registration request from the terminal device 2, and the location information is acquired from the registration request.
  • the topology management means includes a new topology generation means for generating a tree-like hierarchical structure based on the first distribution form generation request transmitted from the content distribution device 1, and a connection destination introduction request for the terminal device 2. It has a function as a topology change means for changing connection information of the terminal device 2 in the tree-like hierarchical structure by topology change notification such as topology participation report and connection disconnection notification. Further, the topology management means stores the connection status information of the terminal devices 2 constituting the hierarchical structure in the topology one database 315 as the connection status information storage means.
  • the new topology generation means Upon receiving the first distribution form generation request from the content input device 4, the new topology generation means generates a topology table and registers it in the topology database 315.
  • the topology table is a table for storing connection state information and the like of the terminal devices 2 constituting the tree-like hierarchical structure, and is registered in the topology database 315.
  • the topology changing means executes a function of adding or deleting information of the terminal device 2 to or from the topology table stored in the topology database 315.
  • the topology table is added or changed based on the topology participation report and connection disconnection notification after the connection destination introduction request from.
  • connection destination candidate selection means When the connection destination candidate selection means receives a connection destination introduction request via the network 6 from the terminal device 2 that newly participates in the first distribution form or participates in the new channel, the connection destination introduction of the terminal device 2 is introduced.
  • a connection destination candidate for the request is selected from the connection state information stored in the topology database 315.
  • connection destination candidate notifying unit has a function of notifying the connection destination candidate selected by the connection destination candidate selection unit via the network 6 to the terminal device 2 that has transmitted the connection destination introduction request.
  • This notification of the connection destination candidate includes information on the connection destination candidate, that is, information such as the communication protocol, IP address, and port number of the terminal device 2 of the connection destination candidate.
  • FIG. 17 is a diagram showing a schematic configuration example of the content input device 4 in the present embodiment.
  • a general server computer can be applied.
  • a hard disk device 403 that stores various data
  • a network interface 404 that communicates with the content distribution device 1, the terminal device 2, and the connection management device 3 via the network 6, and predetermined information can be input.
  • the peripheral device control chip 406 for controlling the input means such as the keyboard 407 and the mouse 408, and the image data from the CPU 402 are received and written to the internal video memory (not shown), and the data written to the video memory is displayed on the display 410.
  • Video chip 409 for display, and these various components are connected to each other via the system bus 401. It has been.
  • the CPU 402 and the main storage device 405 constitute a control unit 430.
  • the network interface 404 is connected to the network 6 via the router 10d.
  • This router 10d corresponds to the router 10 shown in FIG. [0200] (About main memory 405)
  • the main storage device 405 includes an OS program 417 for providing basic functions of the content input device 4 as a computer, a content distribution device 1 in the first distribution mode, and a terminal device 2 in the second distribution mode.
  • Content management program 419 for transmitting and managing content data to the content distribution device 1 and identification information that associates the content names and content IDs of the plurality of content data transmitted to the content distribution device 1 in the first distribution form
  • the identification information list which is a list, is generated and stored in the identification information list storage area of the hard disk device 403, or the identification information list is extracted from the identification information list storage area of the hard disk device 403, and the terminal device 2 or the content distribution device
  • the catalog management program 418 and the like for transmission to 1 are stored, and these are stored in the CPU 402 Thus is Desa read, and functions according to the program by the CPU402 is executed.
  • the S program 417 is read and executed by the CPU 402, so that functions related to input / output of the keyboard 407 and mouse 408, memory management of the main storage device 405, the hard disk device 403, etc. This makes it possible to execute the basic functions of the computer that is the content input device 4 of the above. Then, with the OS program 417 being executed by the CPU 402, the above-described catalog management program 418, content management program 419, etc. are executed.
  • the OS program 417, the catalog management program 418, the content management program 4 19 and the like may be downloaded to the main storage device 405 from a server or the like connected to the network 6, for example. After being recorded on a recording medium such as a CD-ROM, it may be read into the main storage device 405 via the recording medium.
  • a recording medium such as a CD-ROM
  • the control unit 430 includes the CPU 402 and the main storage device 405 as described above, and the CPU 402 reads and executes the various programs 417 to 419 stored in the main storage device 405, so that the entire content input device 4 is processed. It performs overall control and functions as content input means, identification information list generation means, identification information list transmission means, etc., which will be described later.
  • the hard disk device 403 stores a content data to be transmitted and input to the content distribution device 1 in the first distribution form and the content holding terminal device in the second distribution form.
  • an identification information list storage as an identification information list storage means for storing an identification information list relating to the content data storage area and content data transmitted to the content distribution device 1 (in other words, content data streamed by the content distribution device). It consists of areas.
  • the identification information list storage unit also stores an identification information list including identification information of content data other than the content data to be streamed by the content distribution device 1. Therefore, content data other than the content data directly distributed in the broadcast form can be acquired in the second distribution form. For example, if the content data is music content, it is possible to acquire content that has been viewed in the past in the second distribution form.
  • the CPU 402 executes the catalog management program 418 as an identification information list generation means, an identification information list transmission means, etc., and the CPU 402 executes the content management program 419 as a content input means, etc.
  • the content input means transmits the content data distributed in the second distribution form to some of the terminal devices 2 among the plurality of terminal devices 2. Specifically, it operates as follows.
  • the content data extracted from the hard disk device 403 is transmitted and input by the content input means to both the first distribution form and the second distribution form.
  • the content input means may be input to the second distribution form even if the content data is not input to the first distribution form.
  • the content input unit transmits the content data extracted from the hard disk device 403 to the content distribution device 1.
  • the content data transmitted to the content distribution device 1 is streamed and distributed to each terminal device 2 in the first distribution form.
  • the content input means transmits the content data extracted from the hard disk device 403 to several terminal devices 2 in the second distribution form, and functions as a content holding terminal device.
  • the destination terminal device 2 is randomly determined by the content input means.
  • the identification information list generation unit updates the identification information list stored in the identification information list storage area of the hard disk device 403 when content data is input by the content input unit. That is, information that associates the content name and content ID of content data newly input by the content input means is added to the identification information list.
  • the identification information list transmission means transmits the identification information list stored in the identification information list storage means to a plurality of terminal devices. That is, when there is an identification information list transmission request from the content distribution device 1 or the terminal device 2, the identification information list stored in the identification information list storage area of the hard disk device 403 is transmitted to the requested device.
  • FIG. 18 is a diagram showing a schematic configuration example of the contact introduction device 5 in the present embodiment.
  • a general server computer can be applied.
  • a CPU (Central Processing Unit) 502 a rewritable main storage device 505 for storing (storing) various programs, etc.
  • a hard disk device 503 for storing various data
  • a network interface 504 for communicating with the terminal device 2 via the network 6, and an input hand such as a keyboard 507 and a mouse 508 capable of inputting predetermined information.
  • Peripheral device control chip 506 that controls the stage, and video chip 509 that receives image data from CPU 502, writes it to an internal video memory (not shown), and displays the data written to this video memory on display 510
  • CPU 502 and the main storage device 505 constitute a control unit 530.
  • the network interface 504 is connected to the network 6 via the router 10e. This router 10e corresponds to the router 10 shown in FIG.
  • the main storage device 505 includes a ⁇ S program 517 for providing basic functions of the contact introduction device 5 as a computer, and location information (such as IP addresses and port numbers) of the plurality of terminal devices 2.
  • Terminal management program 518 for managing, etc., and contact destination terminal device introduction program for introducing other terminal devices 2 of the contact destination in response to a request from the terminal device 2 not participating in the second distribution form 519 etc. are stored, and these are read out by the CPU 502, and the functions according to these programs are executed by the CPU 502.
  • the S program 517 is read and executed by the CPU 502, so that functions related to input / output of the keyboard 507 and mouse 508, memory management of the main storage device 505, the hard disk device 503, etc. This makes it possible to execute the basic functions of the computer which is the contact introduction device 5 of the above. Then, with the OS program 517 being executed by the CPU 502, the above-described terminal management program 518, contact terminal device introduction program 519, etc. are executed.
  • the OS program 517, the terminal management program 518, the contact destination terminal device introduction program 519, etc. may be downloaded to the main storage device 505 from, for example, a server connected to the network 6. Further, it may be recorded on a recording medium such as a CD-ROM and read into the main storage device 505 via the recording medium.
  • the control unit 530 includes the CPU 502 and the main storage device 505 as described above, and the CPU 502 reads and executes the various programs 517 to 519 stored in the main storage device 505, so that the contact destination introduction device 5 And functions as terminal device management means, contour destination terminal device introduction means, etc., which will be described later.
  • the CPU 502 executes the terminal management program 518, so that the CPU 502 executes the contact destination terminal device introduction program 519 as a terminal management means or the like. Therefore, it functions as an outside contour terminal device introduction means or the like.
  • the terminal management means When receiving the registration request for the second distribution form from the terminal device 2, the terminal management means registers the IP address, which is the location information of the terminal device 2, in the terminal management database 515.
  • the location information of the terminal device 2 is included in the registration request from the terminal device 2, and the location information is acquired from the registration request.
  • the contact destination terminal device introduction means When the contact destination terminal device introduction means receives a registration request for the second distribution form from the terminal device 2, the terminal device 2 that made the registration request from the terminal device 2 registered in the terminal management database 515 sends a participation message. Select the terminal device 2 to be transmitted.
  • the contact destination terminal device introduction means extracts the location information of the selected terminal device 2 from the terminal management database 515, and transmits it to the terminal device 2 that made the registration request.
  • FIG. 19 is a flowchart showing the entire processing in the content distribution apparatus 1. The following processes are executed by the control unit 130 of the content distribution apparatus 1 functioning as the above-described means.
  • step S100 Initialization processing such as conversion is executed (step S100), and each program 115 to 120 is set to the execution state by the CPU 102, and the function as the control unit 130 is operated. Then, the processing proceeds to step S101.
  • step S101 the control unit 130 in the content distribution device 1 requests the content input device 4 for content data to be broadcast in the first distribution form, and The content data transmitted from the content input device 4 in response to the request is stored in the broadcast content storage area in the hard disk device 103.
  • step S102 the control unit 130 in the content distribution apparatus 1 determines whether or not a broadcast start request or stop request is received from the broadcast operator.
  • whether a broadcast start request or stop request is received from the broadcast operator is based on whether the broadcast start operation has been performed from the input means such as the keyboard 107 or the mouse 108 or the keyboard 107 or the mouse 108. Judgment is made based on whether or not a broadcast stop operation has been performed from the input means.
  • the broadcast operator means an operator who manages content distribution according to the first distribution form and the second distribution form, but the content distribution according to the first distribution form and the second distribution form are separated from each other. It may be done by a person.
  • step S102 if it is determined that a broadcast start request is received from the broadcast operator (step S102: Yes), the control unit 130 divides the content data retrieved from the hard disk device 103 into predetermined volumes. The content packet is stored in the content packet, and the content packet is prepared for transmission to the terminal device 2 logically connected downstream via the network 6. On the other hand, similarly, when it is determined that a broadcast stop request has been received from the broadcast operator (step S102: Yes), the control unit 130 performs the operation for the terminal device 2 logically connected downstream. The generation of the content packet is stopped (step S103). When the process of step S103 ends, control unit 130 moves the process to step S120.
  • step S102 when control unit 130 determines that there is no broadcast start request from the broadcast operator (step S102: NO), it moves the process to step S110.
  • step S110 the control unit 130 in the content distribution apparatus 1 determines whether there is a request for opening or disconnecting a session from the terminal apparatus 2. In this process, the control unit 130 in the content distribution apparatus 1 determines whether or not a request for opening or disconnecting a session has been received from the terminal apparatus 2 via the network 6.
  • control unit 130 determines that a session establishment request has been received (step S110: YES)
  • the control unit 130 establishes a connection with the terminal device 2 (step S111), and disconnects the session. If it is determined that the request has been received (step S110: YES), the connection with the terminal device 2 is disconnected (step S111), and the process proceeds to step S112.
  • control The control unit 130 performs control to change and set the connection state of the terminal device 2 in response to a request from the terminal device 2.
  • step S110 If it is determined in step S110 that a session establishment request has been received (step S1 10: YES), the control unit 130 determines in step S112 that the terminal device 2 logically connected downstream of the content distribution device 1 is connected. To stream the content data. That is, the content packet generated in step S102 is sequentially transmitted via the network 6 to the terminal device 2 logically connected downstream. On the other hand, similarly, when it is determined that a broadcast stop request has been received from the broadcast operator (step S102: Yes), the control unit 130 connects the terminal device 2 logically connected downstream of the content distribution device 1. Stop streaming transmission of content data. That is, the transmission of the content packet generated in step S102 is stopped (step S112). When the process of step S112 ends, control unit 130 moves the process to step S120.
  • step S110 when determining in step S110 that the terminal device 2 has not requested a session establishment or disconnection (step S110: NO), the control unit 130 shifts the processing to step SI20.
  • step S120 control unit 130 determines whether or not the power is off. If it is determined that the power is off (step S 120: YES), the process ends. If it is determined that the power is not off (step S120: NO), the process is repeated from step S102.
  • FIGS. 20 to 26 are flowcharts showing the entire processing in the terminal device 2. The following processes are executed by the control unit 230 of the terminal device 2 functioning as the above-described units.
  • step S201 Move processing to.
  • step S201 the control unit 230 performs the participation process in the second distribution form, and then moves the process to step S202.
  • the process of step S201 is the process of S270 to S276 in FIG. 23 and will be described in detail later.
  • step S202 the control unit 230 determines whether or not there is a channel selection instruction from the user. Whether or not a channel selection instruction has been issued by the user is determined based on whether or not a channel selection instruction has been operated from input means such as the user one-input remote controller 208.
  • step S202 when it is determined that the channel selection instruction from the user has been received (step S202: YES), the control unit 230 provides a content stream (contents) to the upstream device in the first distribution form.
  • a request to stop streaming data) is made via the network 6 (step S203).
  • streaming distribution of content data to the content distribution device 1 or other terminal device 2 that is logically connected to the terminal device 2 and performs streaming distribution to the terminal device 2 in the first distribution mode. Request over network 6 to stop.
  • control unit 230 moves the process to step S204.
  • step S204 the control unit 230 requests the connection management device 3 for upstream device candidates. That is, in order to participate in the hierarchical structure of the broadcast channel for which the channel selection instruction has been received from the user, the connection management apparatus 3 is selected with respect to the connection destination candidate of the upstream apparatus related to the broadcast channel for which the channel selection instruction has been issued, Request to be notified.
  • control unit 230 moves the process to step S269.
  • a predetermined broadcast channel is selected in the initialization process of step S201. That is, it is placed in the same state as when a predetermined broadcast channel is selected by the user. Therefore, when the power of the terminal device 2 becomes ⁇ N, in order to participate in the hierarchical structure of the predetermined broadcast channel, the connection management device 3 is selected and notified of the upstream device connection destination candidate for the predetermined broadcast channel. It asks you to do it.
  • the control unit 230 determines whether or not the candidate for the upstream device has been received from the connection management device 3. Determination is made (step S210). That is, it is determined whether or not the connection destination candidate of the upstream device has been notified from the connection management device 3 in response to the connection destination candidate notification request made in step S204.
  • step S210 determines that an upstream device candidate has been received from the connection management device 3 (step S210: YES)
  • the control unit 230 connects to the upstream device notified from the connection management device 3.
  • step S211 After selecting an upstream device of one connection destination candidate from the destination candidates (step S211), the process proceeds to step S212.
  • step S212 the control unit 230 makes a logical connection via the network 6 to the selected upstream device of the connection destination.
  • the logical connection to the upstream device is executed by the control unit 230 making a connection request to the upstream device via the network 6.
  • step S213 the control unit 230 requests the upstream device for streaming distribution of the content data via the network 6, and proceeds to the process of step S214.
  • step S214 the control unit 230 transmits a topology participation report to the connection management device 3 via the network 6.
  • control unit 230 moves the process to step S269.
  • step S210 when it is determined in step S210 that the upstream device candidate has not been received from the connection management device 3 (step S210: NO), the control unit 230 determines whether or not the content packet has been received from the upstream device. Is determined (step S215).
  • control unit 230 determines that a content packet has been received from the upstream device (step S215: YES), it extracts the content data from the content packet received from the upstream device and stores it in ring buffer area 220 . Further, the content data is taken out and transferred to the downstream terminal device 2 as a content packet (step S216).
  • control unit 230 acquires and reproduces the content data stored in the ring buffer area 220 (step S217). Playback of content packets can be done with the sound source chip 211 or video This function is realized by operating the chip 209.
  • the content packets stored in the ring buffer area 220 are sequentially extracted from the content packets at the playback time, and a predetermined content data format (for example, the Wave format is used). ) And input to the sound source chip 211 and the video chip 209 to reproduce the content.
  • control unit 230 moves the process to step S269.
  • control unit 230 determines whether or not there is a streaming distribution start Z stop request. (Step S220). Whether or not there is a streaming distribution start Z stop request depends on whether or not a streaming distribution start request transmitted from the downstream terminal apparatus 2 has been received or a streaming distribution stop transmitted from the downstream terminal apparatus 2. This is determined by whether or not a stop request has been received.
  • step S220 determines that there is a streaming distribution start request
  • step S220 determines that there is a streaming distribution stop request
  • step S220 determines that there is a streaming distribution stop request
  • step S221 determines that there is a streaming distribution stop request
  • step S221 stops the transfer of the content packet to the downstream device that has made the streaming distribution stop request (step S221). ).
  • This process is set to determine whether or not to perform the process in step S216. If it is determined that there is a streaming distribution start request, the content packet is set to be transferred to a downstream device, and a streaming distribution stop request is issued. If it is determined that the content packet has been transferred, the transfer of the content packet to the downstream apparatus is stopped.
  • control unit 230 moves the process to step S269.
  • control unit 230 receives the content registration message as shown in FIG. Whether or not (step S225). Whether or not the content registration message has been received is determined by whether or not the content registration message transmitted from the content holding terminal device via the network 6 has been received by the terminal device 2 itself.
  • step S22 if it is determined that the content registration message has been received (step S22). 5: YES), the control unit 230 determines whether the content holding terminal device identification information, the content holding terminal device location information, and the content holding terminal device are included in the content registration message received in the index table 222 of the main storage device 205. This is performed by associating with the content ID of the content data to be held and adding it to the index table 222 (step S226).
  • control unit 230 determines whether or not the own terminal device 2 is a root terminal device (step S227). Whether or not the terminal device 2 is the root terminal device is determined based on the destination identification information of the received content registration message and the routing table 223.
  • control unit 230 determines that self-terminal device 2 is not the root terminal device (step S227: NO), it forwards the content registration message to other terminal device 2 based on routing table 223. (Step S228). When the process of step S228 ends, control unit 230 moves the process to step S269. On the other hand, if it is determined that self-terminal device 2 is the root terminal device (step S227: YES), control unit 230 proceeds to step S269 without performing step S228.
  • control unit 230 determines whether a content deletion message has been received (step S230). Whether or not a content deletion message has been received is determined by whether or not a content deletion message transmitted from the content holding terminal device has been received via the network 6.
  • step S230 when control unit 230 determines that a content deletion message has been received (step S230: YES), index information corresponding to the content deletion message (content ID, content holding terminal device) from index table 222. (Location, etc.) is deleted (step S231), and then the process proceeds to step S227.
  • control unit 230 determines whether or not content data to be input has been received (step S235).
  • control unit 230 performs content input from the content input device 4. If it is determined that data has been received (step S235: YES), input content reception processing is performed (step S236).
  • This input content reception process is the process of S280 to S283 in FIG. 24 and will be described in detail later.
  • control unit 230 moves the process to step S269.
  • control unit 230 determines whether there is a content purchase instruction from the user (step S240). Whether or not there is a content purchase instruction from the user is determined by whether or not a content purchase instruction has been operated from the input means such as the remote control 208 or the like.
  • step S241 if the control unit 230 determines that a download request operation by the user, that is, a content purchase instruction has been received (step S240: YES), the content purchase process is performed (step S241). .
  • This content purchase processing is the processing of S285 to S291 in FIG. 25 and will be described in detail later. For example, when the user performs a predetermined operation on the remote control 208 with the built-in display 210 shown in FIG. 12 or 13, the user performs a download request operation. Is determined to have been performed.
  • control unit 230 moves the process to step S269.
  • step S240 determines whether there is a content download request from another terminal device 2 (step S240: NO). S245).
  • This content download request is a request for batch transmission of the entire content data in the second distribution form, and when the terminal device 2 is a content holding terminal device or a cache device that caches the content data related to the content download request. It is determined that the content download request has been received.
  • control unit 230 determines that there is a content download request from another terminal device 2 (step S245: YES), the content data corresponding to the content download request is stored in the hard disk device 203. The extracted content data is transmitted to the other terminal device 2 that has made the content download request (step S246). ). When the process of step S246 is completed, control unit 230 moves the process to step S269.
  • control unit 230 determines that there is no content download request from another terminal device 2 (step S245: NO), it downloads the purchased content data as shown in FIG. It is determined whether or not (step S250). Whether or not the purchased content data has been downloaded is determined by whether or not content data has been received from the content holding terminal device that requested the download when the user requested a download request, that is, when a content purchase instruction was issued. .
  • step S250 If it is determined that the purchased content data has been downloaded in response to this processing (step S250: YES).
  • the downloaded purchased content data is stored in the hard disk device 203 and stored (step S251).
  • the control unit 230 moves the process to step S269.
  • the content data is divided into a predetermined capacity by the content holding terminal device and transmitted as a content packet, and the control unit 230 receives each content packet and stores it in the hard disk device 203.
  • control unit 230 determines whether or not a content search message has been received (step S255). Whether or not a content search message has been received is determined based on whether or not a content search message transmitted from the request terminal device is received from the terminal device 2 via the network 6.
  • control unit 230 determines that a content search message has been received (step S255: YES), it performs content search processing in step S256.
  • This content search process is the process of S292 to S296 in FIG. 26 and will be described in detail later.
  • control unit 230 moves the process to step S269.
  • step S255 If it is determined in step S255 that the content search message has not been received,
  • Step S255: NO) the control unit 230 determines whether or not the content holding terminal device information has been received (step S260).
  • the content holding terminal device information is information including the location information of the content holding terminal device, and if it is determined that the content holding terminal device information has been received (step S260: YES), the control unit 230 acquires the acquired content holding terminal device. Based on the location information of the device, the content holding terminal device is requested to collectively transmit the entire content data (step S261). When the process of step S261 ends, the control unit 230 moves the process to step S269.
  • step S260 If it is determined in step S260 that the content holding terminal information has not been received (step S260: NO), has control unit 230 received the participation message for the second distribution form? It is determined whether or not (step S265).
  • step S265 when the control unit 230 determines that the participation message for the second distribution form has been received (step S265: YES), the control unit 230 transmits the possessed table information to the terminal device that has transmitted the participation message. (Step S266). That is, out of the table information of the routing table 223, table information of the lowest level among the levels not matching the destination identification information of the participation message is extracted from the routing table 223 and transmitted to the terminal device 2 that has transmitted the participation message. To do.
  • control unit 230 determines whether or not the terminal device 2 is a root terminal device (step S267). Whether or not the terminal device 2 is the root terminal device is determined based on the destination identification information of the received participation message and the routing table 223.
  • control unit 230 determines that self-terminal device 2 is not the root terminal device (step S267: NO), it transfers the participation message to another terminal device 2 based on routing table 223. (Step S268).
  • control unit 230 moves the process to step S269.
  • the control unit 230 moves the process to step S269 without performing the process of step S268.
  • step S269 the control unit 230 determines whether or not the power source is off. If it is determined that the power source is off (step S269: YES), the control unit 230 ends the process while the power source is turned off. If it is determined that is not off (step S269: NO), the step S202 force is also repeatedly executed.
  • the control unit 230 of the terminal device 2 sends the contact destination introduction device 5 via the network 6.
  • Request contact information step S270.
  • the contact destination information transmitted from the contact destination introduction device 5 via the network 6 is received via the network interface 204 (step S271).
  • the received contact destination information includes the location information of the terminal device of the contact destination, and the control unit 230 sends a participation message to the contact destination terminal device included in the received contact destination information. Transmit via network 6 (step S272). This participation message uses the identification information of the terminal device as destination identification information.
  • the participation message transmitted in this way is sequentially transferred from the terminal device 2 as the contact destination, and reaches the terminal device 2 at a position where it cannot be transferred. Then, table information for each level is received from the plurality of terminal devices that have received the participation message (step S273).
  • control unit 230 generates a routing table based on the plurality of table information received in this way (step S274).
  • control unit 230 requests the identification information list from the content input device 4 via the network 6 (step S275). In response to this request, when the identification information list is transmitted from the content input device 4, the control unit 230 receives it and stores it in the hard disk device 203 (step S276).
  • the terminal device 2 is configured to participate in the second distribution form when the power is turned on, so that the content can be transmitted and received between the plurality of terminal apparatuses 2 in the second distribution form. It has become.
  • control unit 230 of terminal device 2 stores and stores the input content data received in step S235 in the content data storage area of hard disk device 203 (step S280).
  • the control unit 230 determines whether or not the own terminal device 2 is a root terminal device (step S281). Whether or not the terminal device 2 is the root terminal device is determined by calculating the content name of the received content data using a predetermined hash function and determining whether or not the terminal device having the content ID is its own terminal device.
  • step S281 NO
  • the control unit 230 sends another content registration message via the network 6 based on the routing table 223. Transmit to terminal device 2 (step S 283).
  • control unit 230 adds the content ID and the location information of the own terminal device to index table 222 and registers them ( Step S282).
  • the control unit 230 of the terminal device 2 obtains a content ID to be purchased from the identification information list (step S285). That is, the content ID related to the content data determined to have been given the content purchase instruction from the user in step S240 is acquired from the identification information list acquired from the content input device 4.
  • the control unit 230 determines whether or not a complete version of the purchased content data exists in the ring buffer area 220 (step S286). Whether or not a full version of purchased content data exists is determined by whether or not the entire content data determined to have been instructed to purchase content by the user in step S240 is stored in the ring buffer area 220. To do. Note that the content data currently being viewed in the broadcast format is not entirely stored in the ring buffer area 220, and the determination in step S286 is YES for content data that has already been viewed in the broadcast format. Thus, it is limited to those stored in the ring buffer area 220.
  • step S286 when it is determined that the complete version of the purchased content data exists in the ring buffer area 220 (step S286: YES), the control unit 230 stores the purchased content data in the content data storage of the hard disk device 203. Store in the area (step S287). Since the content data stored in the ring buffer area 220 is content data for streaming playback, the content data stored in the ring buffer area 220 is converted into a purchased content format (download format) in the process of step S287. After that, it is stored in the content data storage area of the hard disk device 203.
  • step S286 when it is determined in step S286 that the complete version of the purchased content data does not exist in the ring buffer area 220 (step S286: NO), the control unit 230 has the content ID in the index table 222. Whether or not (step S288).
  • step S288 when it is determined that the content ID exists in the index table 222 (step S288: YES), the control unit 230 acquires the location information of the content holding terminal device from the index table 222 (step S289). ) And the process proceeds to step S290.
  • control unit 230 transmits a content transmission request to the location information of the content holding terminal device acquired from index table 222. That is, the control unit 230 makes a download transmission request to the content holding terminal device.
  • the control unit 230 transmits a content search message to the next terminal device via the network 6 (step S2 88: NO). S291). That is, the control unit 230 transmits a content search message to another terminal device 2 via the network 6 based on the routing tape node 223. The control unit 230 acquires the location information of the content holding terminal device that is transmitted in response to the content search message, and requests the content holding terminal device to transmit the content data that contributes to the download request.
  • control unit 230 of the terminal device 2 acquires the content search message power content ID received in step S255 (step S292).
  • control unit 230 determines whether or not the content ID acquired from the content search message exists in index table 222 (step S293).
  • step S293 determines that the content ID acquired from the content search message exists in the index table 222 (step S293: YES)
  • step S293 determines that the content ID acquired from the content search message exists in the index table 222
  • step S293 determines that the content ID acquired from the content search message exists in the index table 222
  • step S293 determines that the content ID acquired from the content search message exists in the index table 222
  • step S293 YES
  • step S294 the process proceeds to step S295.
  • step S295 the control unit 230 acquires the code acquired from the index table 222.
  • the location information of the content holding terminal device is transmitted to the requesting terminal device via the network 6.
  • step S293 when it is determined in step S293 that the content ID acquired from the content search message does not exist in the index table 222 (step S293: NO), the control unit 230 performs the following via the network 6.
  • the message is transferred to the terminal device (step S296). That is, the control unit 230 transfers the content search message to another terminal device 2 via the network 6 based on the routing table 223.
  • the user of the terminal device 2 can download the content in the P2P grid type distribution form, which is the second distribution form, while viewing the content streamed from the content distribution apparatus in the broadcast form. Therefore, the load on the first distribution form that is a broadcast form, that is, the load on the content distribution apparatus and the network can be reduced.
  • the terminal device 2 in the present embodiment temporarily caches content data distributed in a broadcast format in a ring buffer area, and the content data to be purchased is stored in the ring buffer area. Sometimes the content data stored in the ring buffer area can be purchased.
  • the content data purchase process can be shortened compared to newly acquiring content data in the P2P grid type distribution form.
  • By increasing the capacity of the ring buffer area it is possible to cache a large amount of content data distributed in broadcast form, so download time for users who often download content data after viewing it. The effect of shortening is great.
  • the terminal device 2 in the present embodiment copies a list of content data identification information necessary for downloading content data in the P2P grid distribution mode. Since it is acquired from the content input device 4, it is possible to reduce the load on the network and the content input device 4 without having to acquire the identification information of the content data to be downloaded to the content input device 4 every time the content download process is performed. Download process time can be reduced.
  • the content distribution device 1 since the first distribution form is a broadcast form with a hierarchical structure such as a tree shape or a chain shape, the content distribution device 1 directly transmits content data to all the terminal devices 2 participating in the content distribution system. It is possible to further reduce the load on the content distribution apparatus 1 and the network that do not require distribution.
  • FIG. 27 is a flowchart showing the entire processing in the connection management device 3. The following processes are executed by the control unit 330 of the connection management device 3 functioning as the above-described means.
  • connection management device 3 When the power of the connection management device 3 is turned on, the CPU 302 of the connection management device 3 executes an initial setting operation such as initialization of access permission and work area reservation of the main storage device 305 and the hard disk device 303. Each program 317 to 320 is put into an execution state by the CPU 302 and the function as the control unit 330 is operated (step S300), and then the process proceeds to step S301.
  • control unit 330 determines whether or not there is a participation request from terminal device 2. In this process, the control unit 330 determines whether or not a request for participation in the first distribution form from the terminal device 2 has been received via the network 6.
  • the participation request from the terminal device 2 includes broadcast channel information that the terminal device 2 wants to participate in the first distribution form.
  • control unit 330 determines that a request for participation in the first distribution form has been received from terminal device 2 (step S301: YES)
  • location of terminal device 2 included in the received participation request is determined.
  • Information is registered in the terminal management database 314 of the hard disk device (step S302).
  • control unit 330 determines that content distribution device 1 It is determined whether or not a force registration request has been received (step S310).
  • control unit 330 obtains location information of content distribution apparatus 1 included in the received registration request. Register in the terminal management database 314 (step S311).
  • control unit 330 registers information on the new broadcast channel in the topology database 315. That is, a topology table of a new broadcast channel is generated in the topology database 315 (step S312).
  • control unit 330 receives a connection destination introduction request from terminal apparatus 2 via network 6. It is determined whether or not (step S320).
  • step S320 If it is determined in step S320 that the connection destination introduction request has been received from the terminal device 2 via the network 6 (step S320: YES), the control unit 330 changes the connection destination introduction request from the topology database 315.
  • the terminal device 2 or the content distribution device 1 that is a connection destination candidate for the active broadcast channel is selected (step S 321).
  • connection management device 3 sends back the connection destination candidate selected in this way to the terminal device 2 that has made the connection destination introduction request, and notifies it via the network 6 (step S322).
  • control unit 330 determines whether or not a topology participation report has been received from terminal device 2. (Step S330). Whether or not a topology participation report has been received from the terminal device 2 is determined by whether or not a topology participation report has been received from the terminal device 2 via the network 6.
  • step S330 If it is determined in step S330 that there is a topology participation report from the terminal device 2 (step S330: YES), the control unit 330 extracts the location information of the terminal device 2 included in the topology participation report, and the topology database 315 Is updated (step S3331). That is, the control unit 330 registers the topology change in the topology database 315.
  • step S330 determines whether or not the service termination operation of the connection management device 3 has been performed.
  • Step S340 determines whether or not the service termination operation of the connection management device 3 has been performed. If it is determined that the service termination operation has not been performed (S340: NO), the processing from step S301 is repeated, and if it is determined that the service termination operation of the connection management device 3 has been performed (step S340: YES), The process ends.
  • FIG. 28 is a flowchart showing the entire processing in the content input device 4. Note that the following processes are executed by the control unit 430 of the content input device 4 as a means described above.
  • step S400 When the power of the content input device 4 becomes 0N, the CPU 402 of the content input device 4 executes initial setting operations such as initialization of access permission and work area reservation of the main storage device 405 and the hard disk device 403, Each program 417 to 419 is set to the execution state by the CPU 402, the function as the control unit 430 is operated (step S400), and the processing is moved to step S401.
  • control unit 430 determines whether or not there is a content input instruction (step S401).
  • whether or not there is a content input instruction is determined by whether the control unit 430 determines whether or not a content input operation has been performed from an input unit such as a keyboard 407 or a mouse 408 or from the content distribution apparatus 1 in step S410 described later. Judgment is made based on whether or not a content data transmission request is received.
  • This content input instruction is performed by specifying content data by the name of the content.
  • control unit 430 stores content ID corresponding to the content data specified by the content input instruction in hard disk device 403 .
  • the process proceeds to step S403.
  • the management table stores a plurality of content data stored in the hard disk device 403 and content IDs in association with each other. Further, for each content data stored in the hard disk device 403, the content distribution device 1 and the content Whether it is input to the holding terminal device Is stored in association with each content.
  • the flag includes an unfilled flag (flag value is “0”) and a loaded flag (flag value is “1”).
  • control unit 430 updates the identification information list, and moves the process to step S404.
  • the identification information list is updated by additionally storing the content ID and the content name corresponding to the content data specified by the content input instruction in the identification information list stored in the hard disk device 403.
  • step S404 the control unit 430 becomes a content holding terminal device for the content data specified by the content input instruction so that the content data specified by the content input instruction can be distributed by the second distribution form. Decide at least one terminal device 2 at random.
  • the control unit 430 transmits the content data specified by the content input instruction via the network 6 to the terminal device 2 determined as described above.
  • control unit 430 determines whether or not a content data transmission request has been received from content distribution device 1. .
  • the content data transmission request is made by specifying the content data by the content name or the like.
  • control unit 430 transmits content data corresponding to the content data transmission request to the hard disk device. It is taken out from 403 and transmitted to the content distribution apparatus 1 via the network 6 (step S411).
  • control unit 430 receives an identification information list transmission request from terminal device 2. It is determined whether or not it is hot (step S420).
  • control unit 430 takes out the identification information list stored in hard disk device 403.
  • the control unit 430 transmits this identification information list to the terminal device that has requested transmission of the identification information list via the network 6 (step S421).
  • step S420 determines whether or not the service termination operation of the content input device 4 has been performed (step S430). ). If it is determined that the service termination operation has been performed (S430: NO), the processing from step S401 is repeated, and if it is determined that the service termination operation of the content input device 4 has been performed (step S430: YES), the process is terminated.
  • the content input device 4 is the content distribution device in the first distribution form.
  • Content data is sent to and input from the terminal device 2 in the second distribution form 1 and the content to be input to the first distribution form and the second distribution form in the content distribution system S by the content input apparatus 4 Data can be managed.
  • the identification information list is generated and updated, and is transmitted in response to a request from the terminal device 2, whereby the terminal device 2 transmits the content data distributed in the first distribution form to the second distribution form. Make it easy to get in.
  • the content input device 4 can store an identification information list including identification information of content data other than the content data to be streamed by the content distribution device 1, so that the content directly distributed in the broadcast form Content data other than data can be acquired in the P2P grid distribution format.
  • the content data is music content, it is possible to acquire music content that has been viewed in the past in a P2P grid distribution format.
  • the generation and update of the identification information list may be performed for each broadcast channel.
  • the control unit 130 of the content distribution device 1 transmits a transmission request for content data including broadcast channel information to the content input device 4.
  • the control unit 430 of the content input device creates an identification information list for each broadcast channel based on the broadcast channel information included in the content data transmission request. Since an identification information list can be generated for each broadcast channel in this way, it is possible to reduce the burden on the content input device 4 and the network by simply transmitting the minimum necessary identification information list to the terminal device. Can do.
  • the generation and update of the identification information list is such that information regarding content data that has passed a predetermined period from the time when it was input to the content distribution apparatus 1 is deleted from the identification information list. It may be.
  • the control unit 430 of the content input device 4 stores the added date and time for each piece of information related to the content data added to the identification information list. After a specified period (for example, 10 days) has elapsed from the date and time of addition, it is deleted from the identification information list. By doing so, the data size of the identification information list can be reduced, and the load on the content input device 4 and the network can be reduced.
  • the generation and update of the identification information list may be performed in response to a request from the content distribution apparatus 1.
  • the content distribution device 1 issues a request for generating or updating the identification information list to the content input device 4, and the content input device 4 generates or updates the identification information list in response to this request.
  • the identification information list generated and updated is transmitted to the content distribution apparatus 1.
  • FIG. 29 is a flowchart showing the entire processing in the contact introduction device 5. The following processes are executed by the control unit 530 of the contact introduction device 5 functioning as the above-described means.
  • step S500 When the contact introduction device 5 is powered on, the CPU 502 of the contact introduction device 5 performs initial setting operations such as initializing access permission and work area reservation for the main storage device 505 and hard disk device 503. Then, each program 517 to 519 is put into an execution state by the CPU 502, the function as the control unit 530 is operated (step S500), and the processing is moved to step S501.
  • control unit 530 determines whether or not there is a contact introduction request.
  • whether or not there is a contact destination introduction request is determined based on whether or not control unit 530 has received a contact destination introduction request transmitted from the terminal device via network 6.
  • step S501 when it is determined that there is a contact introduction request (step S501: YES), the control unit 530 sends a contact in the second distribution form to the terminal device that has made the contact introduction request.
  • the destination candidate is returned (step S502).
  • step S503 When the processing in step S502 is completed, or in step S501, the contact information is introduced.
  • step S501: NO the control unit 530 determines whether an operation for ending the service of the contact introduction device 5 has been performed (step S503). If it is determined that the service termination operation has not been performed (S503: NO), the processing from step S501 is repeated, and if it is determined that the service termination operation of the contact introduction device 5 has been performed (S503: YES), The process ends.
  • the identification information list is transmitted to the terminal device 2 from the content input device 4.
  • a content distribution device is added by adding the following configuration to the above embodiment. Send from 1. Note that the content input device 4 does not generate and update the identification information list, and the terminal device 2 does not send an identification list transmission request to the content input device 4.
  • the control unit 130 of the content distribution device 1 transmits the identification information of the content data using the first distribution mode.
  • the content data identification information may be transmitted by including it in the content data or separately from the content data. This process functions as an identification information transmission unit when the CPU 102 reads out and executes the content management program 121 from the main storage device 105.
  • the identification information transmitting means transmits the identification information of the content data to be streamed by the distribution means.
  • the terminal device 2 acquires the identification information of the content data requested to be downloaded, using the identification information of the content data transmitted from the content distribution device 1.
  • This process functions as identification information receiving means by the CPU 202 reading the content purchase program 221 from the main storage device 205 and executing it.
  • the identification information receiving means receives the identification information of the content data transmitted from the content distribution device 1.
  • the identification information acquisition unit acquires the identification information of the content data requested to be downloaded from the identification information of the content data received by the identification information receiving unit.
  • the location terminal content is transmitted to the request terminal device, and the request terminal device downloads and acquires the content data from the content holding terminal device.
  • the root terminal device may request the content holding terminal device to transmit the content data to the requesting terminal device.
  • root terminal device 2Z takes out location information of content holding terminal device 2Y that holds the content data requested from requesting terminal device 2X from index table 222. Then, based on the location information of the content holding terminal device 2Y, a transmission request for content data including the location information of the request terminal device 2X is transmitted to the content holding terminal device 2Y. Upon receiving the content data transmission request, the content holding terminal device 2Y transmits the content data corresponding to the content data transmission request to the location information of the request terminal device 2X included in the content data transmission request. It will be.
  • the control unit 230 of the terminal device 2 when receiving the content search message from the request terminal device 2X as the root terminal device 2Z, the control unit 230 of the terminal device 2 replaces the function of the content holding terminal device information return means with the content holding terminal device. It functions as a content data transmission requesting means for transmitting a content data transmission request including the location information of the request terminal apparatus 2X with the location information of the content holding terminal apparatus 2Y selected by the information selection means as a destination.
  • the request terminal apparatus 2X transmits a search message by the download destination search means, and the download data reception means receives content data corresponding to the search message from the content holding terminal apparatus 2Y.
  • the second distribution form may be configured such that the root terminal device requests the content holding terminal device to transmit the content data to the request terminal device.
  • the terminal device 2 when each terminal device 2 participates in the content distribution system S, the terminal device 2 participates in the second distribution form at the same time as the first distribution form. You may be allowed to participate in the second distribution form when requested. By doing so, it is possible to reduce the load in the terminal device 2 and the second distribution mode.
  • the tree form hierarchical structure has been described as an example of the broadcast form of the first distribution form, but the present invention is not limited to this, and a server-client type broadcast form may be used.
  • the second delivery form has been described using the Pastry-type content delivery system as an example.
  • the present invention is not limited to this, and content such as kademlia-type, chord-type, Viceroy-type, CAN-type, etc., with different message transfer methods.
  • the present invention can also be applied to a distribution system.

Abstract

In a content delivery system for a user to view and buy contents, a content delivery system, a method, etc. are provided to reduce a load imposed on a content delivery device or a network. The content delivery system is comprised of a first delivery configuration for streaming contents data from a content delivery device (1) to a terminal device (2) in a broadcast configuration, and a second delivery configuration in which one terminal device (2) holding contents data among a plurality of the terminal devices (2) delivers them in response to a request from another terminal device (2) to download the contents data. Then, the content delivery system is set up as a user of the terminal device (2) views contents data broadcasted from the content delivery device (1) by the first delivery configuration, and can download the contents data sent from the content delivery device (1) by the second delivery configuration from the other terminal device.

Description

明 細 書  Specification
コンテンツ配信システム、コンテンツ配信方法、端末装置及びそのプログ ラムを記録した記録媒体  CONTENT DISTRIBUTION SYSTEM, CONTENT DISTRIBUTION METHOD, TERMINAL DEVICE, AND RECORDING MEDIUM CONTAINING THE PROGRAM
技術分野  Technical field
[0001] 本発明は、ネットワークを介したコンテンツ配信の技術分野に関し、更に詳細には、 利用者がコンテンツを視聴しながらコンテンツを購入するコンテンツ配信システム、コ ンテンッ配信方法、端末装置及びそのプログラムを記録した記録媒体に関する。 背景技術  TECHNICAL FIELD [0001] The present invention relates to a technical field of content distribution via a network, and more specifically, a content distribution system, a content distribution method, a terminal device, and a program thereof for a user to purchase content while viewing the content. The present invention relates to a recorded recording medium. Background art
[0002] 近年、ブロードバンドや DMP (デジタル 'メディア.プレイヤー)などの普及により、ィ ンターネットなどのネットワークを介して、音楽、映画などコンテンツデータ(以下、「コ ンテンッ」ともいう。)を容易に購入することができるようになつてきた。例えば、 V〇D ( ビデオ.オン'デマンド)やオンラインによりコンテンツ配信を受けるコンテンツ購入サ 一ビスが人気である。  [0002] In recent years, with the spread of broadband and DMP (Digital 'Media Player'), content data such as music and movies (hereinafter also referred to as “content”) can be easily accessed via networks such as the Internet. It has come to be able to purchase. For example, VOD (video on demand) and online content purchase services are popular.
[0003] ネットワークを介してコンテンツ配信を受けるコンテンツ購入サービスにおいては、 購入が可能なコンテンツのリストを利用者の端末装置へ送信し、利用者がリストに基 づいて所望のコンテンツをダウンロードするものが一般的であった力 最近では、購 入が可能なコンテンツを利用者に視聴させるものがある。  [0003] In content purchase services that receive content distribution via a network, a list of contents that can be purchased is transmitted to the user's terminal device, and the user downloads the desired content based on the list. General power Recently, there is something that allows users to view content that can be purchased.
[0004] 利用者がコンテンツを視聴しながらコンテンツを購入する方法として、サーバークラ イアント型配信形態を用いるものが一般的である。すなわち、サーバであるコンテンツ 配信装置力 ストリーミング配信されるコンテンツデータを利用者の端末装置でストリ 一ミング再生して利用者が視聴し、利用者が気に入れば、コンテンツ配信装置からそ のコンテンツデータを端末装置にダウンロードする配信形態である(例えば、特許文 献 1参照)。  [0004] As a method for a user to purchase content while viewing the content, a method using a server client type distribution form is common. That is, the content distribution device that is the server Streams and plays the content data to be streamed on the user's terminal device, the user views it, and if the user likes it, the content data is transferred from the content distribution device to the terminal. This is a distribution form downloaded to the device (for example, see Patent Document 1).
特許文献 1 :特開 2003— 263175号公報  Patent Document 1: JP 2003-263175 A
発明の開示  Disclosure of the invention
発明が解決しょうとする課題  Problems to be solved by the invention
[0005] ところ力 S、サーバークライアント型配信形態においては、コンテンツ配信装置は、端 末装置に対してコンテンツデータをストリーミング配信しつつ、端末装置からのダウン ロード要求に対してコンテンツデータを送信しなければならず、コンテンツ配信装置 やネットワークに対する負荷が重くなる。 However, in the force S, server-client type distribution form, the content distribution apparatus is The content data must be transmitted in response to the download request from the terminal device while streaming the content data to the terminal device, which increases the load on the content distribution device and the network.
[0006] このようにコンテンツ配信装置やネットワークに対する負荷が重くなると、コンテンツ データのストリーミング配信に時間力 sかかりストリーミング再生が正常に行えなかったり [0006] As described above, when the load on the content distribution device or the network becomes heavy, the streaming distribution of the content data takes time s, and the streaming reproduction cannot be normally performed.
、ダウンロードに時間力 Sかかったりするという問題が生じる恐れがある。 There may be a problem that downloading takes time.
[0007] そのため、コンテンツ配信装置の性能を向上したり、ネットワーク帯域を広げたりし なければならず、多大なコストが発生する。  [0007] For this reason, it is necessary to improve the performance of the content distribution apparatus or widen the network bandwidth, resulting in a great cost.
[0008] 本発明は、以上の不都合に鑑みてなされたものであり、利用者がコンテンツを視聴 しながらコンテンツを購入するコンテンツ配信システムにおいて、コンテンツ配信装置 やネットワークに対する負荷を低減することができるコンテンツ配信システム及び方法 等を提供することを課題とする。 [0008] The present invention has been made in view of the above inconveniences, and in a content distribution system in which a user purchases content while viewing the content, content that can reduce the load on the content distribution device and the network. It is an object to provide a distribution system and method.
課題を解決するための手段  Means for solving the problem
[0009] 上記課題を解決するために、本発明の一つの観点によれば、コンテンツ配信装置 から端末装置にコンテンツデータを放送形態にてストリーミング配信する第 1配信形 態と、前記複数の端末装置間において、一つの端末装置力 のコンテンツデータの ダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前記 コンテンツデータを配信する第 2配信形態とを有するコンテンツ配信システムであつ て、前記端末装置は、前記コンテンツ配信装置力 ストリーミング配信される前記コン テンッデータをストリーミング受信するストリーミング受信手段と、前記ストリーミング受 信手段により受信したコンテンツデータを一時的に蓄積するリングバッファ領域と、前 記リングバッファ領域に蓄積したコンテンツデータをストリーミング再生するストリーミン グ再生手段と、前記ストリーミング再生手段によって再生される前記コンテンツデータ に関してダウンロード要求の操作があると、当該ダウンロード要求されたコンテンツデ 一タを第 2配信形態で取得するために、当該コンテンツデータの識別情報を取得す る識別情報取得手段と、前記識別情報取得手段によって取得された前記コンテンツ データの識別情報に基づいて、前記ダウンロード要求されたコンテンツデータを前記 第 2配信形態の端末装置力 ダウンロードするダウンロード処理手段と、前記ダウン口 ード処理手段によりダウンロードした前記コンテンツデータを記憶するコンテンツデー タ記憶手段とを有することを特徴とする。 [0009] In order to solve the above-described problem, according to one aspect of the present invention, a first distribution form in which content data is stream-distributed in a broadcast form from a content distribution apparatus to a terminal apparatus, and the plurality of terminal apparatuses A content distribution system having a second distribution form in which another terminal device that holds the content data distributes the content data based on a download request for content data of one terminal device An apparatus includes: a content receiving apparatus, a streaming receiving means for streaming receiving the content data to be streamed; a ring buffer area for temporarily storing content data received by the streaming receiving means; and the ring buffer Content data stored in the area When there is a download request operation regarding the streaming playback means for performing the streaming playback and the content data played back by the streaming playback means, in order to obtain the content data requested for download in the second distribution form, Identification information acquisition means for acquiring identification information of the content data, and the content data requested to be downloaded based on the identification information of the content data acquired by the identification information acquisition means. Device power download processing means for downloading and the down mouth Content data storage means for storing the content data downloaded by the code processing means.
[0010] このように構成することにより、コンテンツ配信装置から放送形態でストリーミング配 信されるコンテンツを端末装置のユーザが視聴中に第 2配信形態である端末装置間 の P2P (ピアツーピア)配信形態でコンテンツをダウンロードすることができるため、放 送形態である第 1配信形態に対する負荷、すなわちコンテンツ配信装置やネットヮー クに対する負荷を低減することができる。従って、多大な費用を使ってコンテンツ配信 装置やネットワークの性能を向上させることなぐコンテンツを視聴しながらコンテンツ を購入するコンテンツ配信システムを提供することができる。また、視聴用の配信形 態とダウンロード用の配信形態とを異なる配信形態としたため、ダウンロード購入処理 による視聴用配信形態への影響を抑えることができ、コンテンツのダウンロード時間 の短縮をすることも可能となる。  [0010] With this configuration, the terminal device user is in the P2P (peer-to-peer) distribution mode, which is the second distribution mode, while the user of the terminal device is viewing the content that is stream-distributed in the broadcast mode from the content distribution device. Since the content can be downloaded, it is possible to reduce the load on the first distribution form that is a broadcast form, that is, the load on the content distribution apparatus and the network. Therefore, it is possible to provide a content distribution system that purchases content while viewing the content without increasing the performance of the content distribution device or the network at a great expense. In addition, since the distribution form for viewing and the distribution form for download are different, the influence of the download purchase processing on the distribution form for viewing can be suppressed, and the download time of content can be shortened. It becomes.
[0011] また、前記コンテンツ配信システムにおいて、前記第 1配信形態は、前記コンテンツ 配信装置を頂点として複数の端末装置がネットワーク上に階層構造で多層に論理接 続されるように接続管理装置によって管理され、前記コンテンツ配信装置から送信さ れる前記コンテンツデータが前記階層構造の上流の端末装置から下流の端末装置 にかけて順次前記端末装置の中継機能によってストリーミング配信される放送形態 であり、前記コンテンツ配信装置は、前記ネットワークを介して前記コンテンツデータ をストリーミング配信するコンテンツデータ配信手段を備え、前記接続管理装置は、 前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報 記憶手段と、前記ネットワークを介して前記端末装置から接続先紹介要求を受信した とき、前記接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補 を選択する接続先候補選択手段と、前記接続先候補選択手段によって選択された 前記接続先候補を、前記接続先紹介要求を送信した前記端末装置へ前記ネットヮ ークを介して通知する通知手段と、を備え、前記端末装置は、前記ネットワークを介し て前記接続管理装置に前記接続先紹介要求を送信し、その後、前記接続管理装置 から通知された前記接続先候補に接続して前記第 1配信形態に参加する接続手段 と、他の前記端末装置から前記コンテンツデータの中継依頼を受信すると、当該中 継依頼を行った端末装置へ受信した前記コンテンツデータをストリーミング転送する ストリーミング中継手段と、を有し、前記ストリーミング受信手段は、前記コンテンツ配 信装置からの前記コンテンツデータを、前記ネットワークを介して接続した前記接続 先候補を介して受信する構成にしてもょレヽ。 [0011] Further, in the content distribution system, the first distribution form is managed by a connection management device so that a plurality of terminal devices are logically connected in a hierarchical structure on a network with the content distribution device at the top. And the content data transmitted from the content distribution device is streamed and distributed by the relay function of the terminal device sequentially from the upstream terminal device to the downstream terminal device of the hierarchical structure. Content data distribution means for streaming distribution of the content data via the network, wherein the connection management device stores connection state information for storing connection state information of the terminal devices constituting the hierarchical structure; and The connection destination is introduced from the terminal device via the network. When a request is received, a connection destination candidate selection unit that selects a connection destination candidate from the connection state information stored in the connection state information storage unit, and the connection destination candidate selected by the connection destination candidate selection unit, Notification means for notifying the terminal device that has transmitted the connection destination introduction request via the network, and the terminal device transmits the connection destination introduction request to the connection management device via the network. Thereafter, when receiving a connection request to connect to the connection destination candidate notified from the connection management device and participate in the first distribution form, and a relay request for the content data from another terminal device, Streaming relay means for streaming-transferring the content data received to the terminal device that has made the connection request, wherein the streaming reception means connects the content data from the content distribution device via the network. It can be configured to receive via the connection destination candidate.
[0012] このように第 1配信形態をツリー状或いはチェーン状などの階層構造による放送形 態とすることにより、コンテンツ配信装置がコンテンツ配信システムに参加している全 ての端末装置に対して直接コンテンツデータを配信する必要がなぐコンテンツ配信 装置やネットワークに対する負荷を更に軽減することができる。 [0012] In this way, the first distribution form is a broadcast form having a hierarchical structure such as a tree shape or a chain shape, so that the content distribution device directly applies to all terminal devices participating in the content distribution system. It is possible to further reduce the load on the content distribution apparatus and network that do not require distribution of content data.
[0013] また、前記端末装置において、前記ダウンロード要求されたコンテンツデータ全体 が前記リングバッファ領域に蓄積されているか否力、を判定する判定手段と、前記判定 手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記リングバッフ ァ領域に蓄積されていると判定すると、前記第 2配信形態によって前記コンテンツデ ータのダウンロードを行わずに、前記リングバッファ領域に蓄積されているコンテンツ データを前記コンテンツデータ記憶手段に記憶するコンテンツデータ記憶制御手段 とを有する構成にしてもよい。  [0013] In addition, in the terminal device, a determination unit that determines whether or not the entire content data requested to be downloaded is stored in the ring buffer area, and the content data requested to be downloaded by the determination unit If it is determined that the entire content is stored in the ring buffer area, the content data stored in the ring buffer area is not stored in the content data storage without downloading the content data according to the second distribution form. The content data storage control means may be configured to be stored in the means.
[0014] このように構成することにより、端末装置は、放送形態で配信されるコンテンツデー タをリングバッファ領域に一時的にキャッシュしておき、購入するコンテンツデータが このリングバッファ領域に蓄積されているときには、リングバッファ領域に蓄積されたコ ンテンッデータを購入することができる。従って、新たに第 2配信形態でコンテンツデ ータを取得するのに比べコンテンツデータの購入処理を短縮することができる。リング バッファ領域の容量を大きくすることによって、放送形態で配信されたコンテンツデー タを多数キャッシュすることができるので、コンテンツデータを視聴した後にダウンロー ドすることが多いようなユーザに対してダウンロード時間の短縮効果が大きい。  With this configuration, the terminal device temporarily caches content data distributed in broadcast form in the ring buffer area, and the content data to be purchased is stored in the ring buffer area. Content data stored in the ring buffer area can be purchased. Therefore, the content data purchase process can be shortened compared to newly acquiring content data in the second distribution form. By increasing the capacity of the ring buffer area, it is possible to cache a large amount of content data distributed in broadcast form, so download time is reduced for users who often download content data after viewing it. Great shortening effect.
[0015] また、前記コンテンツ配信システムにおいて、前記第 2配信形態にて配信するコン テンッデータを前記複数の端末装置のうち一部の端末装置に送信するコンテンツ投 入手段と、前記コンテンツ配信装置によってストリーミング配信するコンテンツデータ の識別情報を複数含む識別情報リストを記憶する識別情報リスト記憶手段と、前記識 別情報リスト記憶手段に記憶した前記識別情報リストを前記複数の端末装置に送信 する識別情報リスト送信手段と、を有するコンテンツ投入装置を備え、前記端末装置 は、前記コンテンツ投入装置から送信される識別情報リストを受信する識別情報リスト 受信手段を有し、前記識別情報取得手段は、前記識別情報リスト受信手段により受 信した当該識別情報リストから前記ダウンロード要求されたコンテンツデータの識別 情報を取得する構成にしてもよい。 [0015] Further, in the content distribution system, the content distribution means for transmitting the content data distributed in the second distribution form to some terminal devices among the plurality of terminal devices, and the content distribution device. An identification information list storage unit that stores an identification information list including a plurality of identification information of content data to be distributed by streaming, and the identification information list stored in the identification information list storage unit is transmitted to the plurality of terminal devices. An identification information list transmitting means, and the terminal device has an identification information list receiving means for receiving an identification information list transmitted from the content input apparatus, and the identification information acquiring means The identification information of the content data requested to be downloaded may be acquired from the identification information list received by the identification information list receiving means.
[0016] このように構成することにより、第 2配信形態においてコンテンツデータをダウンロー ドするために必要なコンテンツデータの識別情報のリストをコンテンツ投入装置から 取得することができ、その結果、コンテンツのダウンロード処理を行う毎にコンテンツ 投入装置へダウンロードするコンテンツデータの識別情報を取得する必要がなぐし 力、も、ネットワークやコンテンツ投入装置への負荷を軽減することができ、ダウンロード 処理の時間を短縮することができる。  With this configuration, a list of identification information of content data necessary for downloading content data in the second distribution form can be acquired from the content input device, and as a result, content download It is not necessary to acquire the identification information of the content data to be downloaded to the content input device every time processing is performed, and the load on the network and content input device can be reduced, and the download processing time can be shortened. Can do.
[0017] また、前記端末装置の前記識別情報リスト記憶手段は、前記コンテンツ配信装置に よってストリーミング配信するコンテンツデータ以外のコンテンツデータの識別情報を 含む識別情報リストを記憶する構成にしもよい。  [0017] Further, the identification information list storage means of the terminal device may store an identification information list including identification information of content data other than content data that is stream-distributed by the content distribution device.
[0018] このように構成することにより、コンテンツ投入装置は、コンテンツ配信装置によって ストリーミング配信するコンテンツデータ以外のコンテンツデータの識別情報を含む 識別情報リストを記憶することができ、放送形態で直接配信されるコンテンツデータ 以外のコンテンツデータを第 2配信形態で取得することができる。  With this configuration, the content input device can store an identification information list including identification information of content data other than the content data that is streamed and distributed by the content distribution device, and is directly distributed in broadcast form. Content data other than content data can be acquired in the second distribution form.
[0019] また、前記コンテンツ配信システムにおいて、前記コンテンツ配信装置は、前記スト リーミング配信手段によってストリーミング配信するコンテンツデータの識別情報を送 信する識別情報送信手段を有し、前記端末装置は、前記コンテンツ配信装置から送 信される前記コンテンツデータの識別情報を受信する識別情報受信手段を有し、前 記識別情報取得手段は、前記識別情報受信手段によって受信した前記コンテンツ データの識別情報から前記ダウンロード要求されたコンテンツデータの識別情報を 取得する構成にしてもよい。 [0019] Further, in the content distribution system, the content distribution device includes identification information transmission means for transmitting identification information of content data to be streamed by the streaming distribution means, and the terminal device includes the content distribution system. Identification information receiving means for receiving identification information of the content data transmitted from the distribution device, wherein the identification information acquisition means is configured to download the download request from the identification information of the content data received by the identification information receiving means. The identification information of the obtained content data may be acquired.
[0020] このように構成することにより、第 2配信形態においてコンテンツデータをダウンロー ドするために必要なコンテンツデータの識別情報がコンテンツ配信装置から端末装 置へ送信され、その結果、端末装置では、ダウンロードするコンテンツデータの識別 情報をコンテンツ投入装置などに要求して取得する必要がないため、コンテンツ投入 装置における処理を軽減することができる。また、コンテンツデータの識別情報をスト リーミング配信に用いるコンテンツパケットのヘッダに含ませてコンテンツ配信装置か ら送信するようにすることちできる。 With this configuration, content data identification information necessary for downloading content data in the second distribution form is transmitted from the content distribution device to the terminal device. As a result, in the terminal device, Identify content data to download Since it is not necessary to request and acquire information from the content input device, the processing in the content input device can be reduced. Further, the content data identification information can be included in the header of the content packet used for streaming delivery and transmitted from the content delivery apparatus.
[0021] また、コンピュータを、上述した端末装置における各手段として機能させるためのプ ログラムがコンピュータ読み取り可能に記録されている記録媒体を提供してもよい。 [0021] Further, a recording medium in which a program for causing a computer to function as each unit in the above-described terminal device is recorded in a computer-readable manner may be provided.
[0022] 上記課題を解決するために、本発明のさらに他の観点によれば、コンテンツ配信装 置から端末装置にコンテンツデータを放送形態にてストリーミング配信する第 1配信 形態と、前記複数の端末装置間において、一つの端末装置力 のコンテンツデータ のダウンロード要求に基づいて前記コンテンツデータを保持する他の端末装置が前 記コンテンツデータを配信する第 2配信形態とを有するコンテンツ配信システムにお けるコンテンツ配信方法であって、記配信装置が、前記コンテンツデータをストリーミ ング配信する配信ステップと、前記端末装置が、前記ネットワークを介して前記配信 装置からストリーミング配信される前記コンテンツデータをストリーミング受信するステ ップと、前記端末装置が、前記ストリーミング受信したコンテンツデータをリングバッフ ァ領域に一時的に蓄積するステップと、前記端末装置が、前記リングバッファ領域に 蓄積したコンテンツデータをストリーミング再生するステップと、前記端末装置が、前 記ストリーミング再生されるコンテンツデータに関してダウンロード要求の操作があると 、当該ダウンロード要求されたコンテンツデータを第 2配信形態で取得するために、 当該コンテンツデータの識別情報を取得するステップと、前記端末装置が、前記取 得されたコンテンツデータの識別情報に基づレ、て、前記ダウンロード要求されたコン テンッデータを前記第 2配信形態の端末装置からダウンロードするステップと、前記 端末装置が、前記ダウンロードしたコンテンツデータをコンテンツデータ記憶手段に 記憶するステップとを有することを特徴とする。  [0022] In order to solve the above-described problem, according to still another aspect of the present invention, a first distribution form for streaming distribution of content data from a content distribution apparatus to a terminal apparatus in a broadcast form, and the plurality of terminals Content in a content distribution system having a second distribution form in which another terminal device holding the content data distributes the content data based on a request to download content data of one terminal device between devices In the distribution method, the distribution device performs streaming distribution of the content data, and the terminal device performs streaming reception of the content data streamed from the distribution device via the network. And the terminal device received the streaming Temporarily storing content data in a ring buffer area, streaming the content data stored in the ring buffer area by the terminal device, and content data to be streamed by the terminal device When a download request operation is performed with respect to, in order to acquire the content data requested for download in the second distribution form, the step of acquiring identification information of the content data, and the terminal device Based on the data identification information, the step of downloading the content data requested for download from the terminal device of the second distribution form, and the terminal device stores the downloaded content data in content data storage means. Step to remember and Characterized in that it has.
発明の効果  The invention's effect
[0023] 本発明によれば、コンテンツ配信装置から放送形態でストリーミング配信されるコン テンッを端末装置のユーザが視聴中に第 2配信形態である端末装置間の P2P (ピア ツーピア)配信形態でコンテンツをダウンロードすることができるため、放送形態であ る第 1配信形態に対する負荷、すなわちコンテンツ配信装置やネットワークに対する 負荷を低減することができる。従って、多大な費用を使ってコンテンツ配信装置ゃネ ットワークの性能を向上させることなぐコンテンツを視聴しながらコンテンツを購入す るコンテンツ配信システムを提供することができる。また、視聴用の配信形態とダウン ロード用の配信形態とを異なる配信形態としたため、ダウンロード購入処理による視 聴用配信形態への影響を抑えることができ、コンテンツのダウンロード時間の短縮を することも可能となる。 [0023] According to the present invention, content in a P2P (peer-to-peer) distribution form between terminal devices, which is the second distribution form, while a user of the terminal apparatus is viewing content that is stream-distributed in a broadcast form from the content distribution apparatus. Can be downloaded, so The load on the first distribution form, that is, the load on the content distribution device and the network can be reduced. Therefore, it is possible to provide a content distribution system that purchases content while viewing the content without increasing the performance of the network by using a large amount of cost. In addition, since the distribution form for viewing and the distribution form for download are different, the influence of the download purchase process on the viewing distribution form can be suppressed, and the download time of content can be shortened. It becomes possible.
図面の簡単な説明 Brief Description of Drawings
[図 1]本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。 FIG. 1 is a diagram showing a schematic configuration example of a content distribution system according to the present embodiment.
[図 2]本実施形態に係るコンテンツ配信システムの第 1配信形態の配信動作説明図 である。  FIG. 2 is an explanatory diagram of a distribution operation of the first distribution form of the content distribution system according to the present embodiment.
[図 3]図 1の端末装置におけるリングバッファ領域の機能を概念的に表した図である。  FIG. 3 is a diagram conceptually showing functions of a ring buffer area in the terminal device of FIG. 1.
[図 4]本実施形態に係るコンテンツ配信システムの第 2配信形態の配信動作説明図 である。 FIG. 4 is an explanatory diagram of a distribution operation of the second distribution form of the content distribution system according to the present embodiment.
[図 5]DHTによってルーティングテーブルが作成される様子の一例を示す図である。  FIG. 5 is a diagram showing an example of how a routing table is created by the DHT.
[図 6]図 1の端末装置におけるルーティングテーブルの一例を示す図である。  6 is a diagram showing an example of a routing table in the terminal device of FIG. 1.
[図 7]端末装置が第 2配信形態へ参加する様子の一例を示す図である。  FIG. 7 is a diagram illustrating an example of a state in which a terminal device participates in a second distribution form.
[図 8]DHTルーティングによりコンテンツデータを保持している端末装置が検索され る様子の一例を示す図である。  FIG. 8 is a diagram showing an example of a state in which a terminal device holding content data is searched by DHT routing.
[図 9]DHTルーティングによりコンテンツデータが端末装置に保持される様子の一例 を示す図である。  FIG. 9 is a diagram showing an example of how content data is held in a terminal device by DHT routing.
[図 10]DHTルーティングにより登録メッセージがルート端末装置に送信される一例を 示す図である。  FIG. 10 is a diagram showing an example in which a registration message is transmitted to a root terminal device by DHT routing.
[図 11]図 1の端末装置におけるインデックステーブルの一例を示す図である。  FIG. 11 is a diagram showing an example of an index table in the terminal device of FIG. 1.
[図 12]図 1の端末装置における表示画面の一例を示す図である。 12 is a diagram showing an example of a display screen in the terminal device of FIG. 1.
[図 13]図 1の端末装置における表示画面の他の一例を示す図である。 FIG. 13 is a diagram showing another example of the display screen in the terminal device of FIG. 1.
[図 14]図 1のコンテンツ配信装置の概略構成例を示す図である。 FIG. 14 is a diagram showing a schematic configuration example of the content distribution apparatus in FIG. 1.
[図 15]図 1の端末装置の概略構成例を示す図である。 園 16]図 1の接続先管理装置の概略構成例を示す図である。 FIG. 15 is a diagram illustrating a schematic configuration example of the terminal device of FIG. 1. 16] A diagram showing a schematic configuration example of the connection destination management apparatus of FIG.
[図 17]図 1のコンテンツ投入装置の概略構成例を示す図である。  FIG. 17 is a diagram showing a schematic configuration example of the content input device in FIG. 1.
園 18]図 1のコンタクト先紹介装置の概略構成例を示す図である。 18] FIG. 18 is a diagram showing a schematic configuration example of the contact introduction device of FIG.
[図 19]図 1のコンテンツ配信装置における処理全体を示すフローチャートである。 園 20]図 1の端末装置における処理全体を示すフローチャートである。  FIG. 19 is a flowchart showing overall processing in the content distribution apparatus of FIG. 1. FIG. 20] is a flowchart showing the entire processing in the terminal device of FIG.
園 21]図 1の端末装置における処理全体を示すフローチャートである。 Sono 21] is a flowchart showing the entire processing in the terminal device of FIG.
園 22]図 1の端末装置における処理全体を示すフローチャートである。 22] A flowchart showing the overall processing in the terminal device of FIG.
園 23]図 1の端末装置における第 2配信形態への参加処理を示すフローチャートで ある。 FIG. 23] is a flowchart showing the participation process in the second distribution form in the terminal device of FIG.
園 24]図 1の端末装置における投入コンテンツ受信処理を示すフローチャートである 園 25]図 1の端末装置におけるコンテンツ購入処理を示すフローチャートである。 Sono 24] is a flowchart showing the input content receiving process in the terminal device of FIG. 1. Sono 25] is a flowchart showing the content purchasing process in the terminal device of FIG.
[図 26]図 1の端末装置におけるコンテンツ検索処理を示すフローチャートである。 FIG. 26 is a flowchart showing content search processing in the terminal device of FIG. 1.
[図 27]図 1の接続管理装置における処理全体を示すフローチャートである。 FIG. 27 is a flowchart showing an entire process in the connection management device of FIG. 1.
[図 28]図 1のコンテンツ投入装置における処理全体を示すフローチャートである。 FIG. 28 is a flowchart showing overall processing in the content input device of FIG. 1.
[図 29]図 1のコンタクト先紹介装置における処理全体を示すフローチャートである。 園 30]変形例 2におけるコンテンツ配信システムの概要動作例を示す図である。 符号の説明 FIG. 29 is a flowchart showing an entire process in the contact introduction device of FIG. 1. [30] FIG. 30 is a diagram showing an outline operation example of the content distribution system in Modification 2. Explanation of symbols
S コンテンツ酉 3信システム  S content 信 3 communication system
1 コンテンツ配信装置  1 Content distribution device
2 端末装置  2 Terminal equipment
3 接続管理装置  3 Connection management device
4 コンテンツ投入装置  4 Content input device
5 コンタクト先紹介装置  5 Contact introduction device
6 ネットワーク  6 network
130 コンテンツ配信装置の制御部  130 Content Distribution Device Control Unit
230 端末装置の制御部  230 Control unit of terminal equipment
330 接続管理装置の制御部 430 コンテンツ投入装置の制御部 330 Control part of connection management device 430 Content input device controller
530 コンタクト先紹介装置の制御部  530 Contact introduction device control unit
発明を実施するための最良の形態  BEST MODE FOR CARRYING OUT THE INVENTION
[0026] 以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明す る実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータ としたコンテンツ配信システムに対して本発明を適用した場合の実施形態である。  Hereinafter, the best embodiment of the present invention will be described with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to a content distribution system in which information to be distributed is content data such as music data and video data.
[0027] [1.コンテンツ配信システムの構成等]  [0027] [1. Content distribution system configuration]
本実施形態におけるコンテンツ配信システムは、コンテンツ配信装置から端末装置 にコンテンツデータを放送形態にてストリーミング配信する第 1配信形態と、複数の端 末装置間において、一つの端末装置からのコンテンツデータのダウンロード要求に 基づいてコンテンツデータを保持する他の端末装置がコンテンツデータを配信する 第 2配信形態とを有している。そして、端末装置の利用者が第 1配信形態によりコン テンッ配信装置からのコンテンツデータを視聴しながら、コンテンツ配信装置から送 信されるコンテンツデータを第 2配信形態によって他の端末装置からダウンロードす ること力 Sできるように構成されている。  The content distribution system according to the present embodiment includes a first distribution form in which content data is stream-distributed in broadcast form from a content distribution apparatus to a terminal apparatus, and download of content data from one terminal apparatus between a plurality of terminal apparatuses. Another terminal device that holds the content data based on the request has a second distribution form in which the content data is distributed. Then, the user of the terminal device downloads the content data transmitted from the content distribution device from another terminal device according to the second distribution form while viewing the content data from the content distribution apparatus according to the first distribution form. It is configured so that it can be a force S.
[0028] 第 1配信形態として、サーバークライアント型の放送形態、ツリー状階層構造による 放送形態などがあるが、本実施形態においては、コンテンツ配信装置からストリーミン グ配信されるコンテンツデータを、ツリー状階層構造を構成する端末装置が P2Pによ つて受信し、中継する放送形態を例に挙げて説明する。  [0028] As the first distribution form, there are a server client type broadcast form, a broadcast form with a tree-like hierarchical structure, and the like, but in this embodiment, the content data streamed from the content delivery apparatus is represented in a tree form. A description will be given by taking as an example a broadcast form in which a terminal device constituting a hierarchical structure receives and relays by P2P.
[0029] また、第 2配信形態として、複数の端末装置間でコンテンツデータを送受信する配 信形態は種々あるが、本実施形態においては、 P2Pグリッド型配信形態について、 特に、分散ハッシュテーブル(DHT (Distributed Hash Table) )を利用することにより 端末装置間のコンテンツデータを送受信する配信形態であって、 Pastry型と呼ばれ る配信形態を例に挙げて説明する。  [0029] As the second distribution form, there are various distribution forms in which content data is transmitted and received between a plurality of terminal devices. In the present embodiment, a distributed hash table (DHT) (DHT) is particularly used for the P2P grid type distribution form. (Distributed Hash Table)) will be described as an example of a distribution form in which content data is transmitted and received between terminal devices, which is called a Pastry type.
[0030] 図 1は、本実施形態に係るコンテンツ配信システム Sの概要構成例を示す図である 。図 1に示す物理接続形態のように、コンテンツ配信システム Sを構成するコンテンツ 配信装置 1、端末装置 2al , 2a2, 2bl〜2b4, 2cl〜2c8、接続管理装置 3、コンテ ンッ投入装置 4、コンタクト先紹介装置 5は、インターネットに代表されるネットワーク 6 上に分散配置されている。 FIG. 1 is a diagram showing a schematic configuration example of the content distribution system S according to the present embodiment. As shown in Fig. 1, the content distribution device 1, the terminal devices 2al, 2a2, 2bl to 2b4, 2cl to 2c8, the connection management device 3, the content input device 4, and the contact destinations that make up the content distribution system S The referral device 5 is a network 6 represented by the Internet. Distributed on top.
[0031] コンテンツ配信装置 1、端末装置 2al , 2a2, 2bl〜2b4, 2cl〜2c8、接続管理装 置 3、コンテンツ投入装置 4、コンタクト先紹介装置 5には、各装置を識別する情報とし ての固有の製造番号(たとえば、 MACアドレス)及び IP (Internet Protocol)アドレス( 所在情報)が割り当てられており、これら装置は、ネットワークの一例としてのネットヮ ーク 6にルータ 10等を介して接続されている。そして、 目的の接続先装置の IPァドレ スを宛先 IPアドレス、自装置の IPアドレスを送信元 IPアドレスとしたヘッダを含むパケ ットを送信することによって通信接続が可能となっている。  [0031] The content distribution device 1, the terminal devices 2al, 2a2, 2bl to 2b4, 2cl to 2c8, the connection management device 3, the content input device 4, and the contact introduction device 5 are used as information for identifying each device. A unique serial number (for example, MAC address) and IP (Internet Protocol) address (location information) are assigned, and these devices are connected to a network 6 as an example of a network via a router 10 or the like. Yes. Communication can be established by sending a packet containing a header with the destination IP address as the destination IP address and the source IP address as the source IP address.
[0032] なお、コンテンツ配信システム Sに直接関係ない装置もネットワーク 6に接続される が、ここで ίま省略してレヽる。また、端末装置 2al , 2a2, 2bl〜2b4, 2cl〜2c8のレヽ ずれかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置 2という 場合がある。  [0032] Note that a device not directly related to the content distribution system S is also connected to the network 6, but is omitted here. In addition, when the terminal device 2al, 2a2, 2bl to 2b4, 2cl to 2c8, or any terminal device is shown, it may be referred to as the terminal device 2 for convenience.
[0033] 図 1に示す例では、コンテンツ配信装置 1、接続管理装置 3、コンテンツ投入装置 4 、コンタクト先紹介装置 5は、それぞれ独立した装置としている力 一つの装置におい てこれらの装置の機能を実現するようにしてもょレ、。この場合にはこれらの装置の IP アドレスは同一のものとなり、ポート番号などで区別されることになる。また、コンテンツ 配信装置 1は放送チャンネル毎に配置してもよいが、本実施形態においては、複数 の放送チャンネルのコンテンツデータを 1つのコンテンツ配信装置 1で配信するものと して説明する。  In the example shown in FIG. 1, the content distribution device 1, the connection management device 3, the content input device 4, and the contact destination introduction device 5 have the functions of these devices in a single device that is an independent device. If you want to make it happen, ... In this case, the IP addresses of these devices are the same, and are distinguished by port numbers. Further, although the content distribution device 1 may be arranged for each broadcast channel, in the present embodiment, description will be made assuming that content data of a plurality of broadcast channels is distributed by one content distribution device 1.
[0034] [1. 1.第 1配信形態について]  [0034] [1. 1. About the first distribution form]
コンテンツ配信システム Sの第 1配信形態は、図 1に示すように、コンテンツ配信装 置 1を頂点として複数の端末装置 2al , 2a2, 2bl〜2b4, 2cl〜2c8がツリー状階層 構造で多層に論理接続されており、コンテンツ配信装置 1からコンテンツデータが当 該ツリー状階層構造の上流の端末装置 2から下流の端末装置 2かけて順次端末装 置 2の中継機能によってストリーミング配信されるように構成される。このツリー状階層 構造は、コンテンツ配信装置 1が配信する放送チャンネル毎に構成される。  As shown in FIG. 1, the first distribution form of the content distribution system S is that a plurality of terminal devices 2al, 2a2, 2bl to 2b4, and 2cl to 2c8 are logically arranged in a tree-like hierarchical structure with the content distribution device 1 as a vertex. Connected and configured so that content data from the content distribution device 1 is streamed and distributed by the relay function of the terminal device 2 sequentially from the upstream terminal device 2 to the downstream terminal device 2 of the tree-like hierarchical structure. The This tree-like hierarchical structure is configured for each broadcast channel distributed by the content distribution apparatus 1.
[0035] このコンテンツ配信システム Sの第 1配信形態においては、放送チャンネル毎にコン テンッ配信装置 1を頂点(ここでは、便宜上第 0階層とする。)として複数の端末装置 2 力 Sツリー状階層構造で多層に論理接続されるように接続管理装置 3によって管理さ れる。なお、本実施形態においては、ツリー状階層構造として説明するが、これに限 られず、複数の端末装置 2がチェーン状の階層構造で多層に論理接続されるように してもよい。また、端末装置 2al , 2a2は便宜上端末装置 2aと、端末装置 2bl〜2b4 は便宜上端末装置 2bと、端末装置 2cl〜2c8は便宜上端末装置 2cという場合があ る。 [0035] In the first distribution form of this content distribution system S, a plurality of terminal apparatuses 2 are set with the content distribution apparatus 1 as the apex (here, the 0th layer for convenience) for each broadcast channel. Force It is managed by the connection management device 3 so as to be logically connected in multiple layers in an S-tree hierarchical structure. In the present embodiment, a tree-like hierarchical structure is described. However, the present invention is not limited to this, and a plurality of terminal devices 2 may be logically connected in multiple layers in a chain-like hierarchical structure. Further, the terminal devices 2al and 2a2 may be referred to as a terminal device 2a for convenience, the terminal devices 2bl to 2b4 may be referred to as a terminal device 2b for convenience, and the terminal devices 2cl to 2c8 may be referred to as a terminal device 2c for convenience.
[0036] ここで、第 1配信形態におけるコンテンツデータの配信動作について、図 2を参照し て簡単に説明する。図 2はコンテンツ配信システム Sにおける第 1配信形態の配信動 作説明図である。  Here, content data distribution operation in the first distribution mode will be briefly described with reference to FIG. FIG. 2 is an explanatory diagram of the distribution operation of the first distribution form in the content distribution system S.
[0037] 図 2に示すように、コンテンツ配信装置 1によって第 1配信形態でストリーミング配信 されるコンテンツデータは、コンテンツ投入装置 4によってコンテンツ配信装置 1へ投 入される。すなわち、コンテンツデータは、コンテンツ投入装置 4からコンテンツ配信 装置 1へ送信され、コンテンツ配信装置 1において受信してハードディスク装置に保 持される。  As shown in FIG. 2, the content data that is stream-distributed in the first distribution form by the content distribution device 1 is input to the content distribution device 1 by the content input device 4. That is, the content data is transmitted from the content input device 4 to the content distribution device 1, received by the content distribution device 1, and stored in the hard disk device.
[0038] 接続管理装置 3は、図 2に示すように、コンテンツ配信システム Sにおける第 1配信 形態に参加していない端末装置 2、言い換えれば放送チャンネルのいずれのツリー 状階層構造も構成していない端末装置 2から接続先紹介要求を受信すると、第 1配 信形態のツリー状階層構造の状態等に基づいて、その端末装置 2がストリーミング配 信を受けるための上流の装置として接続する接続先候補 (コンテンツ配信装置 1又は 端末装置 2)を選択する。そして、接続管理装置 3は、このように選択した接続先候補 の所在情報 (接続先候補の IPアドレスやポート番号など)及び通信プロトコル等を端 末装置 2に通知する。また、接続先紹介要求は、他のチャンネルに切り替えるときや、 上流端末との接続が切断されたときに端末装置 2から送信される。  [0038] As shown in FIG. 2, the connection management device 3 does not constitute a terminal device 2 that does not participate in the first distribution form in the content distribution system S, in other words, does not constitute any tree-like hierarchical structure of the broadcast channel. When the connection destination introduction request is received from the terminal device 2, the connection destination candidate to which the terminal device 2 is connected as an upstream device for receiving the streaming distribution based on the state of the tree-like hierarchical structure of the first distribution form, etc. (Content distribution device 1 or terminal device 2) is selected. Then, the connection management device 3 notifies the terminal device 2 of the location information (such as the IP address and port number of the connection destination candidate) and the communication protocol of the connection destination candidate thus selected. The connection destination introduction request is transmitted from the terminal device 2 when switching to another channel or when the connection with the upstream terminal is disconnected.
[0039] なお、コンテンツ配信システム Sにおいて、すでに通信プロトコルやポート番号が固 定されているときには、端末装置 2へのポート番号及び通信プロトコルは通知しなくて もよレ、。ここで、通信プロトコルとして、専用の通信プロトコルを用いるほ力 \ MMS (Mi crosoft Media Server)プロトコノレ、 RTSP(Real Time Streaming Protocol)等を用いるよ うにしてもよい。また、コンテンツデータの形式として、専用のデータ形式を用いるほ 力、 ASF (Advanced Streaming Format)、 WMA (Windows (登録商標) Media Audio) 、 WMV (Windows (登録商標) Media Video)等を用いるようにしてもよレヽ。 [0039] In the content distribution system S, when the communication protocol and port number are already fixed, the terminal device 2 does not need to be notified of the port number and communication protocol. Here, as a communication protocol, a dedicated communication protocol such as \ MMS (Microsoft Media Server) protocol, RTSP (Real Time Streaming Protocol), or the like may be used. Also, a dedicated data format is used as the content data format. ASF (Advanced Streaming Format), WMA (Windows (registered trademark) Media Audio), WMV (Windows (registered trademark) Media Video), etc. may be used.
[0040] 端末装置 2は、接続管理装置 3から接続先候補の所在情報を受信すると、その所 在情報を宛先として接続先候補に対し、コンテンツ配信システム Sへの参加(接続)を 要求し、これにより端末装置 2がコンテンツ配信システム Sの第 1配信形態における階 層構造へ組み込まれる。すなわち、端末装置 2はコンテンツ配信装置 1から配信され るコンテンツデータを受信可能となる。 [0040] Upon receiving the location information of the connection destination candidate from the connection management device 3, the terminal device 2 requests the connection destination candidate to participate (connect) to the content distribution system S with the location information as a destination, As a result, the terminal device 2 is incorporated into the hierarchical structure in the first distribution form of the content distribution system S. That is, the terminal device 2 can receive the content data distributed from the content distribution device 1.
[0041] コンテンツ配信システム Sにおける第 1配信形態は、このように端末装置 2が次々と 各チャンネルに参加することによって、コンテンツ配信装置 1を頂点として複数の端末 装置 2がツリー状階層構造で多層に論理接続される。そして、コンテンツ配信装置 1 力 配信されるコンテンツデータは、端末装置 2の中継機能により順次下流の端末装 置 2へ中継されて複数の端末装置 2にストリーミング配信される。  [0041] In the first distribution form in the content distribution system S, the terminal device 2 participates in each channel one after another in this way, so that the plurality of terminal devices 2 have a tree-like hierarchical structure with the content distribution device 1 as a vertex. Logically connected to Then, the content data distributed by the content distribution device 1 is sequentially relayed to the downstream terminal device 2 by the relay function of the terminal device 2 and streamed to the plurality of terminal devices 2.
[0042] すなわち、図 2に示すように、コンテンツ配信装置 1から端末装置 2al , 2a2 (第 1層 の端末装置)へコンテンツデータが送信され、端末装置 2al , 2a2はコンテンツデー タを受信すると、下流の端末装置 2bl〜2b4 (第 2階層の端末装置)へ受信したコン テンッデータを順次中継する。端末装置 2bl〜2b4はコンテンツデータを受信すると 、下流の端末装置 2cl〜2c8 (第 3階層の端末装置)へ受信したコンテンツデータを 順次中継する。なお、図 2においては、理解を容易にするため、複数の放送チャンネ ルのうち一つの放送チャンネルの階層構造のみを表している。  That is, as shown in FIG. 2, when content data is transmitted from the content distribution device 1 to the terminal devices 2al and 2a2 (first-layer terminal devices) and the terminal devices 2al and 2a2 receive the content data, The received content data is relayed sequentially to the downstream terminal devices 2bl to 2b4 (second-layer terminal devices). Upon receiving the content data, the terminal devices 2bl to 2b4 sequentially relay the received content data to the downstream terminal devices 2cl to 2c8 (third layer terminal devices). In FIG. 2, for the sake of easy understanding, only the hierarchical structure of one broadcast channel among a plurality of broadcast channels is shown.
[0043] なお、端末装置 2は、組み込まれた階層構造の位置の上流の端末装置 2又はコン テンッ配信装置 1の所在情報と、組み込まれた階層構造の位置の下流の端末装置 2 の所在情報とを後述のハードディスク装置 203に記憶しており、このように記憶した所 在情報に基づいて、コンテンツデータの中継を行うようにしている。また、配信される コンテンツデータは、複数のパケットに分割されて順次配信されるものであり、このよう にパケットに分割されて配信されるデータをコンテンツパケットという。  [0043] Note that the terminal device 2 includes the location information of the terminal device 2 or the content distribution device 1 upstream of the position of the incorporated hierarchical structure and the location information of the terminal device 2 downstream of the position of the incorporated hierarchical structure. Are stored in a hard disk device 203 to be described later, and content data is relayed based on the stored location information. Further, the content data to be distributed is divided into a plurality of packets and sequentially distributed, and the data divided and distributed in this way is called a content packet.
[0044] このように端末装置 2へ配信されるコンテンツデータは、放送チャンネル毎にその階 層構造を構成する端末装置 2へ配信される。配信されるコンテンツデータには、音楽 や映画などコンテンツのデータのほ力、、再生時刻情報が含まれている。そして、コン テンッデータを受信した複数の端末装置 2は、順次送信されるコンテンツデータの再 生を再生時刻情報に基づいて行う。 [0044] The content data distributed to the terminal device 2 in this way is distributed to the terminal device 2 constituting the hierarchical structure for each broadcast channel. The distributed content data includes the power of content data such as music and movies, and playback time information. And The plurality of terminal devices 2 that have received the ten data perform reproduction of the content data that is sequentially transmitted based on the reproduction time information.
[0045] ここで、端末装置 2におけるリングバッファ領域について説明する。図 3は、端末装 置 2におけるリングバッファ領域を用いてコンテンツデータを受信し、再生或いは下流 の端末装置 2へ中継する構成を概念的に表した図である。  Here, the ring buffer area in the terminal device 2 will be described. FIG. 3 is a diagram conceptually illustrating a configuration in which content data is received using the ring buffer area in the terminal device 2 and is played back or relayed to the downstream terminal device 2.
[0046] 端末装置 2は、第 1配信形態に参加したときに、参加した放送チャンネルにおける 階層構造の上流の装置からストリーミング配信されるコンテンツパケットをストリーム受 信器によって順次受信し、受信したコンテンツパケットに含まれるコンテンツデータを リングバッファ領域に一時的に蓄積する。リングバッファ領域に一時的に蓄積された コンテンツデータは、その再生時刻になると、端末装置 2の再生手段であるプレイヤ によってリングバッファ領域から取り出されて再生される。  [0046] When the terminal device 2 participates in the first distribution mode, the content packet streamed from the upstream device of the hierarchical structure in the participating broadcast channel is sequentially received by the stream receiver, and the received content packet The content data contained in is temporarily stored in the ring buffer area. The content data temporarily stored in the ring buffer area is taken out of the ring buffer area and played by the player as the playback means of the terminal device 2 at the playback time.
[0047] ここで、図 3に示すように、リングバッファ領域には時計回りの方向で新しいコンテン ッデータが順次蓄積され、最も古いコンテンツデータが新しいコンテンツデータに書 き換わるように構成されている。すなわち、ストリーム受信器によってリングバッファ領 域に書き込まれるポイントを Aとすると、このポイント Aが時計回りに移動していくので ある。  Here, as shown in FIG. 3, new content data is sequentially stored in the ring buffer area in the clockwise direction, and the oldest content data is rewritten to new content data. In other words, if A is the point written to the ring buffer area by the stream receiver, this point A moves clockwise.
[0048] なお、図 3におけるリングバッファ領域は概念的に示したものであり、実際にリング形 状をしているのではなぐ端末装置 2の制御手段が、記憶領域における所定アドレス 領域に蓄積した最も古いコンテンツデータを順次新しいコンテンツデータに書き換え ることにより実現するものである。  Note that the ring buffer area in FIG. 3 is conceptually shown, and the control means of the terminal device 2 that has not actually formed a ring shape has accumulated in a predetermined address area in the storage area. This is achieved by sequentially rewriting the oldest content data with new content data.
[0049] また、コンテンツデータには上述のように再生時刻情報が格納されており、プレイヤ はリングバッファ領域に蓄積したコンテンツデータのうち、現時刻と合致する再生時刻 情報を有するコンテンツデータ(ここでは、図 3中 Bのポイントのコンテンツデータ)をリ ングバッファ領域から取り出して順次再生する。  [0049] In addition, the playback time information is stored in the content data as described above, and the content data (here, the playback time information that matches the current time among the content data stored in the ring buffer area). The content data at point B in Fig. 3) is taken out of the ring buffer area and played sequentially.
[0050] このようなリングバッファ領域によって、再生時刻前のコンテンツデータを蓄積しな がら、再生時刻までにネットワーク 6の状態に依存して間欠的に発生するコンテンツ パケットの損失に対処する。言い換えれば、コンテンツ配信装置 1は、パケットの損失 補完処理を行えるだけのマージンを確保しながらコンテンツデータを配信している。 なお、パケットの損失補完処理とは、ある一定時間待っても上位装置からのパケット が届かない場合に、上位装置にパケットの再送要求を行い、上位装置から再度パケ ットを送信させる処理をいう。損失補完処理ではこのように一連の処理を行わなけれ ばならず、ある程度時間がかかるため、上述のようにマージンの確保が必要となる。 [0050] With such a ring buffer area, content data loss that occurs intermittently depending on the state of the network 6 by the playback time is handled while storing the content data before the playback time. In other words, the content distribution device 1 distributes content data while ensuring a margin sufficient to perform packet loss compensation processing. Note that the packet loss compensation process is a process for requesting retransmission of a packet to a higher-level device and transmitting the packet again from the higher-level device when a packet from the higher-level device does not arrive after waiting for a certain period of time. . In the loss compensation process, a series of processes must be performed in this way, and it takes a certain amount of time, so it is necessary to secure a margin as described above.
[0051] ここで、階層構造の下流に他の端末装置 2が 2台接続されている場合、図 3に示す ように、端末装置 2に 2つのストリーム送信器が設けられる。このストリーム送信器は、リ ングバッファ領域に格納されているコンテンツデータを所定量毎にコンテンツパケット のデータ領域に格納してコンテンツパケットを生成し、それぞれ下流に接続された他 の端末装置 2へこのコンテンツパケットを順次送信する。  Here, when two other terminal apparatuses 2 are connected downstream of the hierarchical structure, as shown in FIG. 3, the terminal apparatus 2 is provided with two stream transmitters. This stream transmitter stores the content data stored in the ring buffer area in the data area of the content packet for each predetermined amount, generates a content packet, and sends the content packet to another terminal device 2 connected downstream. Send content packets sequentially.
[0052] 第 1実施形態における端末装置 2では、上流の装置から送信されるコンテンツパケ ットに含まれるコンテンツデータを取り出してリングバッファ領域に蓄積するようにして いる力 コンテンツパケットをそのままリングバッファ領域に蓄積するようにしてもよい。 いずれにせよ、ストリーム送信器は、ストリーム受信器によって受信したコンテンツパ ケットの送信先及び送信元の情報を置き換えたコンテンツパケットを下流の端末装置 2に送信することになる。なお、ストリーム受信器は後述のストリーム受信手段に対応 し、プレイヤは後述のストリーム再生手段に対応し、ストリーム送信器は後述のストリー ム中継手段に対応する。  [0052] In the terminal device 2 in the first embodiment, the content data included in the content packet transmitted from the upstream device is extracted and stored in the ring buffer area. You may make it accumulate | store in. In any case, the stream transmitter transmits the content packet in which the information of the transmission destination and the transmission source of the content packet received by the stream receiver is replaced to the downstream terminal device 2. The stream receiver corresponds to a stream receiving means described later, the player corresponds to a stream reproducing means described later, and the stream transmitter corresponds to a stream relay means described later.
[0053] このように端末装置 2は、コンテンツデータを一時的に蓄積するリングバッファ領域 を設けることによって、コンテンツパケットをプリバッファリングしながらパケット損失に 対する補完を行い、ネットワーク 6の経路上で発生するパケット損失の影響を回避す るようにしている。  [0053] In this way, the terminal device 2 provides a ring buffer area for temporarily storing content data, thereby compensating for packet loss while prebuffering the content packet, and is generated on the network 6 path. The effect of packet loss is avoided.
[0054] 以上のように、コンテンツ配信システム Sの第 1配信形態では、コンテンツ配信装置 1から送信されたコンテンツデータが複数の端末装置 2にストリーミング配信され、複 数の端末装置 2において同時刻にコンテンツを再生することができる。すなわち、コン テンッ配信システム Sは、 P2Pを用いて複数の端末装置 2への放送形式のストリーミ ング配信を実現している。  As described above, in the first distribution form of the content distribution system S, the content data transmitted from the content distribution device 1 is stream-distributed to the plurality of terminal devices 2 and the plurality of terminal devices 2 at the same time. Content can be played back. That is, the content distribution system S uses P2P to realize broadcast distribution in a plurality of terminal devices 2.
[0055] [1. 2.第 2配信形態について]  [0055] [1. 2. Second delivery mode]
次に、図 4を参照して、コンテンツ配信システム Sにおける第 2配信形態の概要構成 等について説明する。図 4は、本実施形態に係るコンテンツ配信システム Sにおける 第 2配信形態を示す図である。この第 2配信形態は、 P2Pグリッド型配信システムであ り、本実施形態においては、分散ハッシュテーブル(以下、「DHT」 (Distributed Has h Table)と呼ぶ。)を利用することによりネットワーク上に分散配置された複数の端末 装置 2間でコンテンツデータの送受信を行う配信形態を例に挙げて説明する。 Next, referring to FIG. 4, the schematic configuration of the second distribution form in the content distribution system S Etc. will be described. FIG. 4 is a diagram showing a second distribution form in the content distribution system S according to the present embodiment. This second distribution form is a P2P grid type distribution system. In this embodiment, a distributed hash table (hereinafter referred to as “DHT” (Distributed Has h Table)) is used to distribute on the network. A distribution form in which content data is transmitted and received between a plurality of arranged terminal devices 2 will be described as an example.
[0056] [1. 2. 1 DHTの概要]  [0056] [1.2.1 Overview of DHT]
まず、本実施形態に係る DHTを利用したアルゴリズムにつレ、て説明する。  First, the algorithm using the DHT according to this embodiment will be described.
[0057] コンテンツ配信システム Sの第 2配信形態において、当該端末装置 2同士が、互い に情報をやり取りする際には、お互いの所在情報としての IPアドレスを知っていなけ ればならない。  [0057] In the second distribution mode of the content distribution system S, when the terminal devices 2 exchange information with each other, they must know the IP addresses as the location information of each other.
[0058] 例えば、複数の端末装置間でコンテンツを互いに共有するシステムにおいては、ネ ットワーク 6に参加してレ、る各端末装置 2が互レ、にネットワーク 6に参加してレ、る全て の端末装置 2の IPアドレスを知っておくのが単純な手法である力 端末数が何万何 十万と多数になると、その全ての端末装置 2の IPアドレスを覚えておくのは現実的で はない。また、任意の端末装置の電源が頻繁に ON或いは OFFとすると、各端末装 置 2において記憶している当該任意の端末装置の IPアドレスの更新が頻繁になり、 運用上困難となる。  [0058] For example, in a system in which content is shared among a plurality of terminal devices, all the terminal devices 2 that participate in the network 6 and each of the terminal devices 2 that participate in the network 6 are registered. Knowing the IP addresses of terminal devices 2 is a simple technique. When 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 2. Absent. Also, if the power of any terminal device is frequently turned ON or OFF, the IP address of the arbitrary terminal device stored in each terminal device 2 is frequently updated, which makes operation difficult.
[0059] そこで、 1台の端末装置 2では、ネットワーク 6に参加している全ての端末装置 2のう ち、必要最低限の一部の端末装置 2の IPアドレスだけを記憶しておき、 IPアドレスを 記憶していない端末装置 2については、各端末装置 2間で互いに情報を転送し合う ことによりコンテンツを届けるシステムが考案されている。  [0059] Therefore, in one terminal device 2, only the minimum necessary IP addresses of some of the terminal devices 2 participating in the network 6 are stored, and the IP For the terminal device 2 that does not store an address, a system has been devised that delivers content by transferring information between the terminal devices 2.
[0060] このようなシステムの一例として、 DHTを利用したアルゴリズムによって、オーバー レイネットワークが構築されることになる。つまり、このオーバーレイネットワークは、既 存のネットワーク 6を用いて形成された仮想的なリンク(論理接続)を構成するネットヮ ークを意味する。  [0060] As an example of such a system, an overlay network is constructed by an algorithm using DHT. That is, this overlay network means a network constituting a virtual link (logical connection) formed using the existing network 6.
[0061] 本実施形態においては、 DHTを利用したアルゴリズムによって構築されたオーバ 一レイネットワークを前提としており、このオーバーレイネットワーク上に配置された端 末装置 2を、コンテンツ配信システム Sの第 2配信形態に参加している端末装置 2とい う。なお、ネットワーク 6に物理的に接続された端末装置 2のうち、コンテンツ配信シス テム Sの第 1配信形態に参加(言い換えれば、コンテンツ配信装置 1を頂点として階 層構造を構成)している端末装置 2は、同時にコンテンツ配信システム Sの第 2配信 形態にも参加する。コンテンツ配信システム Sの第 2配信形態への参加は、未だ参加 していない端末装置 2が、すでに参加している端末装置 2に対して参加要求を送るこ とによって行われる。 [0061] In the present embodiment, it is assumed that an overlay network constructed by an algorithm using DHT is used, and the terminal device 2 arranged on the overlay network is connected to the second distribution form of the content distribution system S. Terminal device 2 participating in Yeah. Of the terminal devices 2 that are physically connected to the network 6, the terminals that participate in the first distribution mode of the content distribution system S (in other words, the hierarchical structure having the content distribution device 1 as the apex). Device 2 also participates in the second distribution form of content distribution system S at the same time. Participation in the second distribution form of the content distribution system S is performed by the terminal device 2 not yet participating sending a participation request to the terminal device 2 already participating.
[0062] コンテンツ配信システム Sの第 2配信形態に参加している各端末装置 2の識別番号 である端末 IDとして、それぞれの端末装置 2毎にユニークな番号(固有番号)を付与 する。この番号は、端末装置の最大運用台数を収容できるだけの bit数を持たせる必 要がある。例えば、 128bitの番号とすれば、 2128 340 X 1036台の端末装置を運用でき る。 [0062] A unique number (unique number) is assigned to each terminal device 2 as a terminal ID that is an identification number of each terminal device 2 participating in the second distribution form of the content distribution system S. 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 340 X 10 36 terminal devices can be operated.
[0063] より具体的には、各端末装置 2の端末 IDは、それぞれの端末装置 2の IPアドレス或 いは製造番号等の端末装置 2毎に固有の値を、共通のハッシュ関数 (ハッシュァルゴ リズム)によりハッシュ化して得たハッシュ値であり、一つの ID空間に偏りなく分散して 配置されることになる。このように共通のハッシュ関数によりハッシュ化されて求められ た端末 IDは、当該 IPアドレス或いは製造番号が異なれば、同じ値になる確率が極め て低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略 する。また、本実施形態では、 IPアドレス(グローバル IPアドレス)を共通のハッシュ関 数によりハッシュ化した値を端末 IDとする。  [0063] More specifically, the terminal ID of each terminal device 2 is a unique hash function (hash algorithm) that is unique to each terminal device 2, such as the IP address or serial number of each terminal device 2. ) Is a hash value obtained by hashing, and 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 serial number is different. Since the hash function is publicly known, detailed explanation is omitted. In this embodiment, a value obtained by hashing an IP address (global IP address) with a common hash function is used as a terminal ID.
[0064] また、コンテンツ配信システム Sの第 2配信形態に参加している複数の端末装置 2 には、図 4に示すように、一の端末装置 2から他の端末装置 2に配信されるコンテンツ データがコンテンツ投入装置 4によって分散して端末装置 2に投入されるが、当該コ ンテンッデータにも、それぞれのコンテンツデータ毎の固有の識別情報(以下、「コン テンッ ID」と呼ぶ。)を付与する。  [0064] Further, as shown in FIG. 4, content distributed from one terminal device 2 to another terminal device 2 is provided to a plurality of terminal devices 2 participating in the second distribution form of the content distribution system S. Data is distributed by the content input device 4 and input to the terminal device 2, and unique identification information (hereinafter referred to as “content ID”) for each content data is also given to the content data. .
[0065] そして、当該コンテンツ IDは、端末 IDと同様の長さ(例えば、 128bit等)とし、例えば 、コンテンツの名称(コンテンツタイトノレ)やコンテンツの概要情報(あらすじ)等のキー ワードが、上記端末 IDを得るときと共通のハッシュ関数によりハッシュ化され (つまり、 端末装置 2の IPアドレスのハッシュ値と同一の ID空間に配置)、そのハッシュ値と最も 近い(例えば、上位桁がより多く一致する)端末 IDを有する端末装置 2が、コンテンツ データを保持する端末装置 2 (以下、「コンテンツ保持端末装置」と呼ぶ。)へのリンク 情報、すなわちコンテンツ保持端末装置の所在情報である IPアドレスを保持する。 [0065] Then, the content ID has the same length as the terminal ID (for example, 128 bits). For example, a keyword such as a content name (content title) or outline information (summary) of the content is stored in the terminal. It is hashed by the same hash function as when ID is obtained (that is, placed in the same ID space as the hash value of the IP address of terminal device 2). The terminal device 2 having a terminal ID that is closer (for example, the higher-order digits match more), the link information to the terminal device 2 that holds content data (hereinafter referred to as “content holding terminal device”), that is, content holding Holds the IP address that is the location information of the terminal device.
[0066] コンテンツ保持端末装置は、コンテンツ投入装置 4によってランダムに決定される。  [0066] The content holding terminal device is randomly determined by the content input device 4.
すなわち、コンテンツ投入装置 4は、コンテンツデータを保持すべき 1以上の端末装 置 2をランダムに決定し、このように決定した端末装置にコンテンツデータを送信する 。コンテンツ投入装置 4からコンテンツデータを受信した端末装置は、コンテンツデー タを記憶部に保持することによってコンテンツ保持端末装置として機能する。これによ り、コンテンツデータが偏りなくコンテンツ配信システム S上に分散して配置される。  That is, the content input device 4 randomly determines one or more terminal devices 2 that should hold the content data, and transmits the content data to the terminal device determined in this way. The terminal device that has received the content data from the content input device 4 functions as a content holding terminal device by holding the content data in the storage unit. As a result, the content data is distributed and arranged on the content distribution system S without any bias.
[0067] なお、異なるコンテンツデータであっても、同一のキーワード(例えば、コンテンツの 名称)になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これ を避けるために、ハッシュ化するキーワードを、例えば、コンテンツの名称と著作権情 報 (例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等)の 組み合わせとすればよい。本実施形態においては、コンテンツの名称は重複しない ものとし、コンテンツの名称をキーワードとするものとする。  [0067] It should be noted that even if the content data is different, the same keyword (for example, the name of the content) is assumed. In this case, since the same hash value is obtained, in order to avoid this, The keyword to be hashed may be, for example, a combination of content name and copyright information (for example, performer name, director name, original author name, singer name, composer name, or songwriter name). In the present embodiment, content names are not duplicated, and the content name is a keyword.
[0068] このように、各端末装置 2及び各コンテンツデータに付与された端末 ID及びコンテ ンッ IDは、共通のハッシュ関数によって生成するため、図 4に示す如ぐ同一のリング 状の ID空間上にさほど偏ることなぐ散らばって存在するものとして考えることができ る。同図は 32bitで端末 ID及びコンテンツ IDを付与し、図示したものである。図中丸 点は端末 IDを、四角形はコンテンツ IDを示し、反時計回りで IDが増加するものとす る。  [0068] In this way, since the terminal ID and content ID assigned to each terminal device 2 and each content data are generated by a common hash function, they are stored on the same ring-shaped ID space as shown in FIG. It can be thought of as scattered and existing without much bias. This 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.
[0069] 次に、どの端末装置 2に、どのコンテンツデータが保持されるかを、一定の規則の 下に決定する。本実施形態においては、「あるコンテンツ IDを有するコンテンツデー タを管理する端末装置 2は、そのコンテンツ IDに近い端末 IDを有する端末装置 2で ある」という規則とする。ここで、「近い」ことの定義は、当該コンテンツ IDを超えず、コ ンテンッ IDと端末 IDとの差が一番少ないものとする力 実際には、各コンテンツデー タの管理を各端末装置 2に割り振る際に、一貫していればよい。図 4に示す例では、 この定義に基づいて、コンテンツ IDaは、当該コンテンツ IDaに近い端末 ID (以下、「 端末 &」と呼ぶ。)を有する端末装置 2に管理され、コンテンツ IDbは、当該コンテン ッ IDbに近い端末 ID (以下、「端末 と呼ぶ。)を有する端末装置 2に管理され、コ ンテンッ IDcは、当該コンテンツ IDcに近い端末 ID (以下、「端末 と呼ぶ。)を有 する端末装置 2に管理される。 Next, which content data is held in which terminal device 2 is determined under a certain rule. In the present embodiment, the rule is that “the terminal device 2 that manages content data having a certain content ID is the terminal device 2 having a terminal ID close to that content ID”. Here, the definition of “close” does not exceed the content ID, and is the power to minimize the difference between the content ID and the terminal ID. When assigning to, it should be consistent. In the example shown in FIG. 4, based on this definition, the content IDa is a terminal ID close to the content IDa (hereinafter “ Called “Terminal &”. The content IDb is managed by the terminal device 2 having a terminal ID (hereinafter referred to as “terminal”) close to the content IDb, and the content IDc is close to the content IDc. It is managed by a terminal device 2 having a terminal ID (hereinafter referred to as “terminal”).
[0070] なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するので はなぐ「コンテンツデータがいずれの端末装置 2に保持されている力、を知っている」 ことを意味する。すなわち、図 4において、端末 IDaを有する端末装置 2は、コンテン ッ IDaを有するコンテンツデータがいずれの端末装置 2に保持されているかを知って おり、端末 IDbを有する端末装置 2及び端末 IDcを有する端末装置 2も同様にそれぞ れコンテンツ IDbを有するコンテンツデータ及びコンテンツ IDcを有するコンテンツデ 一タがレ、ずれの端末装置 2に保持されてレ、るかを知ってレ、る、とレ、うことになる。  [0070] Here, "management" does not mean that content data is retained, but "knows the power with which content data is retained in any terminal device 2". Means. That is, in FIG. 4, the terminal device 2 having the terminal IDa knows which terminal device 2 holds the content data having the content IDa, and has the terminal device 2 having the terminal IDb and the terminal IDc. Similarly, the terminal device 2 also knows whether the content data having the content IDb and the content data having the content IDc are held in the terminal device 2 that is out of position. It will be.
[0071] このように、あるコンテンツデータがいずれの端末装置 2に保持されているかを知つ ている端末装置 2を、そのコンテンツデータのルート端末装置と呼ぶ。つまり、端末 ID aを有する端末装置 2は、コンテンツ IDaを有するコンテンツデータのルート端末装置 であって、端末 IDbを有する端末装置 2は、コンテンツ IDbを有するコンテンツデータ のルート端末装置であって、端末 IDcを有する端末装置 2は、コンテンツ IDcを有す るコンテンツデータのルート端末装置である。  In this way, the terminal device 2 that knows which terminal device 2 holds certain content data is called a root terminal device of the content data. That is, the terminal device 2 having the terminal ID a is a root terminal device for content data having the content IDa, and the terminal device 2 having the terminal IDb is a root terminal device for content data having the content IDb, The terminal device 2 having IDc is a root terminal device for content data having content IDc.
[0072] ここで、コンテンツ投入装置 4は、コンテンツ配信システム S内の端末装置 2をコンテ ンッ保持端末装置とするためにコンテンツデータを端末装置 2へ配布する機能のほ か、端末装置 2に配布した複数のコンテンツデータ(言い換えれば、コンテンツ保持 端末装置が保持しているコンテンツデータ)をそのコンテンツの名称とコンテンツ IDと を関連付けた識別情報リストである識別情報リストを生成して端末装置 2へ提供する 機能を有している。  Here, the content input device 4 distributes to the terminal device 2 in addition to the function of distributing the content data to the terminal device 2 so that the terminal device 2 in the content distribution system S becomes the content holding terminal device. A plurality of pieces of content data (in other words, content data held by the content holding terminal device) are generated and provided to the terminal device 2 by generating an identification information list that is an identification information list in which the content name and content ID are associated with each other. It has a function to do.
[0073] また、コンテンツ配信システム Sの第 2配信形態においては、コンタクト先紹介装置 5 が配置されてる。このコンタクト先紹介装置 5は、コンテンツ配信システム Sの第 2配信 形態に参加していない端末装置 2からこの第 2配信形態への参加要求があつたとき に、未参加の端末装置 2が参カロメッセージを送信する既参加の端末装置 2 (以下、「 コンタ外先端末装置」と呼ぶ。 )の所在情報を通知する機能を有してレ、る。 [0074] [1. 2. 2 ルーティングテーブルの作成] [0073] Further, in the second distribution form of the content distribution system S, the contact introduction device 5 is arranged. The contact introduction device 5 is configured such that when a terminal device 2 that has not participated in the second distribution form of the content distribution system S receives a request to participate in the second distribution form, It has a function of notifying the location information of the terminal device 2 that has already participated in transmitting the message (hereinafter referred to as “contour outside terminal device”). [0074] [1.2.2 Create routing table]
ここで、図 5を参照して、 DHTで用いるルーティングテーブルの作成手法の一例に ついて説明する。図 5は、 DHTによってルーティングテーブルが作成される様子の 一例を示す図である。  Here, an example of a method for creating a routing table used in DHT will be described with reference to FIG. Figure 5 shows an example of how the routing table is created by the DHT.
[0075] まず、図 5 (a)に示す如ぐ ID空間を幾つかのエリアに分割する。実際には、 16分割 程度が良く用いられるが、説明を簡単にするためここでは 4分割とし、 IDをビット長 8bi tの 4進数で表すことにする。そして、端末装置 2Nの端末 IDを「1133」とし、この端末 装置 2Nのルーティングテーブルを作る例について説明する。  First, the ID space as shown in FIG. 5 (a) is divided into several areas. Actually, about 16 divisions are often used, but in order to simplify the explanation, here, 4 divisions are used, and the ID is represented by a quaternary number having a bit length of 8 bits. An example in which the terminal ID of the terminal device 2N is “1133” and the routing table of the terminal device 2N is created will be described.
[0076] (レベル 1のルーティング)  [0076] (Level 1 routing)
まず、 ID空間を 4分割とした場合、それぞれのエリアは 4進数で表すと最大桁が異 なる 4つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」(Xは 0から 3の自然数、以下同 様。)で分けられる。端末装置 2Nは、当該端末装置 2N自身の端末 IDが「1133」であ るため、図 5 (a)中左下「1XXX」のエリアに存在することになる。そして、端末装置 2N は、 自分の存在するエリア(すなわち、「1XXX」のエリア)以外のエリア(すなわち、「0 XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア)に存在する端末装置 2を適当に 選択し、当該端末 IDの所在情報、すなわち、当該端末 IDの IPアドレスをレベル 1の テーブルに記憶する。図 6がレベル 1のテーブルの一例である。このテーブルでは、「 0XXX」のエリアの端末 IDとして「0100」、「2XXX」のエリアの端末 IDとして「2133」、「3 XXX」のエリアの端末 IDとして「3213」がそれぞれ選択されてレ、る状態を示してレ、る。 なお、当該レベル 1の 2列目は端末装置 2N自身を示しているため、 IPアドレスを記憶 する必要はない。  First, if the ID space is divided into four parts, each area is represented by a quaternary number with different maximum digits. Four areas “0XXX”, “1XXX”, “2XXX”, “3XXX” (where X is a natural number from 0 to 3) The same shall apply hereinafter). Since the terminal ID of the terminal device 2N itself is “1133”, the terminal device 2N exists in the area “1XXX” in the lower left in FIG. 5 (a). The terminal device 2N is a terminal existing in an area (that is, an area of “0 XXX”, an area of “2XXX”, an area of “3XXX”) other than its own area (that is, an area of “1XXX”). Select device 2 appropriately, and store the location information of the terminal ID, that is, the IP address of the terminal ID in the level 1 table. Figure 6 is an example of a level 1 table. In this table, “0100” is selected as the terminal ID of the area “0XXX”, “2133” is selected as the terminal ID of the area “2XXX”, and “3213” is selected as the terminal ID of the area “3 XXX”. It shows the state to be. Note that the second column of level 1 indicates the terminal device 2N itself, so there is no need to store the IP address.
[0077] (レベル 2のルーティング)  [0077] (Level 2 routing)
次に、図 5 (b)に示す如ぐ上記ルーティングによって 4分割したエリアのうち、 自分 の存在するエリア「1XXX」を更に 4分割し、更に 4つのエリア「10XX」「11XX」、「12XX 」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「l lxx」以外のエリ ァに存在する端末装置 2を適当に選択し、当該端末 IDの所在情報である IPアドレス をレベル 2のテーブルに記憶する。図 6がレベル 2のテーブルの一例である。このテ 一ブルでは、「10XX」のエリアの端末 IDとして「1003」、「12XX」のエリアの端末 IDとし て「1221」 、「13XX」のエリアの端末 IDとして「1313」がそれぞれ選択されてレ、る状態 を示している。なお、レベル 2の 2列目は端末装置 2Nが存在するエリア「11XX」であり 、後述するレベル 3にてテーブル化されるため IPアドレスを記憶していない。また、上 記エリアに端末装置 2が存在しない場合には、端末 ID及び IPアドレスの欄は空白と なる。 Next, among the areas divided into four by the above routing as shown in Fig. 5 (b), the area "1XXX" where the user exists is further divided into four, and further four areas "10XX", "11XX", and "12XX" , “13XX”. Then, similarly to the above, the terminal device 2 existing in the area other than the area “l lxx” where the user exists is appropriately selected, and the IP address which is the location information of the terminal ID is stored in the level 2 table. Figure 6 shows an example of a level 2 table. In this table, the terminal ID of the area “10XX” is the terminal ID of the area “1003” and the area “12XX”. In this case, “1313” is selected as the terminal ID of the areas “1221” and “13XX”. Note that the second column of level 2 is the area “11XX” where the terminal device 2N exists, and since it is tabulated at level 3 described later, it does not store the IP address. If the terminal device 2 does not exist in the above area, the terminal ID and IP address fields are blank.
[0078] (レベル 3のルーティング)  [0078] (Level 3 routing)
更に、上記ルーティングによって 4分割したエリアのうち、 自分の存在するエリア「11 XX」を更に 4分割し、更に4っのェリァ「110乂」「111乂」、 「112X」、「113X」と分ける。そ して、上記と同様に自分の存在するエリア「113X」以外のエリアに存在する端末装置 2を適当に選択し、当該端末 IDの所在情報である IPアドレスをレベル 3のテーブルに 記憶する。図 6がレベル 3のテーブルの一例である。レべノレ 3の 4歹 IJ目は端末装置 2N が存在するエリアであり、後述するレベル 4にてテーブル化されるため IPアドレスを記 憶していない。また、上記エリアに端末装置が存在しない場合には、端末 ID及び IP アドレスの欄は空白となる。  Furthermore, among the areas divided into four by the above routing, the area “11 XX” where the user exists is further divided into four, and further divided into four areas “110 乂” “111 乂”, “112X”, “113X”. . Then, similarly to the above, the terminal device 2 existing in an area other than the area “113X” in which it exists is appropriately selected, and the IP address as the location information of the terminal ID is stored in the level 3 table. Figure 6 is an example of a level 3 table. The 4th IJ of Revenor 3 is the area where the terminal device 2N is present, and since it is tabulated at level 4 (to be described later), the IP address is not stored. If there is no terminal device in the area, the terminal ID and IP address fields are blank.
[0079] このようにして、レベル 4まで同様にルーティングテーブルを図 6に示す如く作成す ることにより、 8bitの ID全てを網羅することができる。レベルが上がる毎にテーブルの 中に空白が目立つようになる。  [0079] By creating a routing table in the same way up to level 4 as shown in FIG. 6, all 8-bit IDs can be covered. As the level goes up, white space becomes more noticeable in the table.
[0080] 以上説明した手法に従って作成したルーティングテーブルを、全ての端末装置 2が 夫々作成して所有することになる。このように、各端末装置 2は、コンテンツ配信シス テム Sにおける複数の端末装置 2のうち一部の端末装置 2の端末 ID (識別情報)と IP アドレス(所在情報)とを関連付けたルーティングテーブルを有しており、このルーティ ングテーブルは後述のルーティングテーブル記憶手段に記憶される。  [0080] All the terminal devices 2 each create and own the routing table created according to the method described above. In this way, each terminal device 2 has a routing table that associates terminal IDs (identification information) and IP addresses (location information) of some of the terminal devices 2 among the plurality of terminal devices 2 in the content distribution system S. The routing table is stored in a routing table storage means described later.
[0081] ところで、端末装置 2は、第 2配信形態に未参加のときには、第 2配信形態に参加し ている端末装置 2の所在情報などを知らない。そのため、端末装置 2は、第 2配信形 態に参加するときには、次の項で説明するように、ルーティングテーブルを生成する。  By the way, when the terminal apparatus 2 has not participated in the second distribution form, the terminal apparatus 2 does not know the location information of the terminal apparatus 2 participating in the second distribution form. Therefore, when the terminal device 2 participates in the second distribution mode, it generates a routing table as described in the next section.
[0082] [1. 2. 3.第 2配信形態への参加]  [0082] [1. 2. 3. Participation in the second distribution form]
次に、図 7を参照して、コンテンツ配信システム Sにおける第 2配信形態に未参加の 端末装置 2が当該第 2配信形態へ参加する方法の一例について説明する。図 7は、 第 2配信形態に未参加の端末装置 2 (以下、「新規参加端末装置」と呼ぶ。)が当該 第 2配信形態へ参加する様子の一例を示す図である。新規参加端末装置 2Mがコン テンッ配信システム Sにおける第 2配信形態に参加する手順について説明する。 Next, an example of a method in which the terminal device 2 that has not participated in the second distribution form in the content distribution system S participates in the second distribution form will be described with reference to FIG. Figure 7 FIG. 10 is a diagram illustrating an example of a state in which a terminal device 2 that has not participated in the second distribution form (hereinafter referred to as “new participation terminal apparatus”) participates in the second distribution form. A procedure for the newly participating terminal apparatus 2M to participate in the second distribution form in the content distribution system S will be described.
[0083] まず、第 2配信形態に未参加である新規参加端末装置 2Mは、コンテンツ配信シス テム Sの第 2配信形態に参加するために、コンタクト先紹介装置 5に対して、参加メッ セージを送信すべき端末装置 2 (以下、「コンタクト先端末装置」と呼ぶ。)の所在情報 を要求(以下、「コンタ外先端末装置の問い合わせ」と呼ぶ。)する。  [0083] First, a new participation terminal apparatus 2M that has not participated in the second distribution form sends a participation message to the contact introduction apparatus 5 in order to participate in the second distribution form of the content distribution system S. Request location information of terminal device 2 (hereinafter referred to as “contact destination terminal device”) to be transmitted (hereinafter referred to as “inquiry of external terminal device outside contour”).
[0084] 新規参加端末装置 2Mは、コンタクト先紹介装置 5から参カロメッセージを送信すべき コンタクト先端末装置の所在情報が送られてくると、コンタクト先端末装置に対して参 加メッセージを送信する。ここで、参カロメッセージのあて先識別情報は、新規参加端 末装置 2Mの端末 IDとなっている。すなわち、新規参加端末装置 2Mは、第 2配信形 態に参加する際に、 自装置 2の IPアドレスのハッシュ値「2133」を宛先識別情報とした 参カロメッセージを生成する。  [0084] The new participation terminal device 2M transmits a participation message to the contact destination terminal device when the location information of the contact destination terminal device to which the contact destination introduction device 5 should transmit the participation message is sent. . Here, the destination identification information of the participation message is the terminal ID of the new participation terminal device 2M. That is, when newly participating terminal apparatus 2M participates in the second distribution mode, it generates a participation message using the hash value “2133” of the IP address of its own apparatus 2 as destination identification information.
[0085] コンタクト先端末装置は、新規参加端末装置 2Mから送信された参加メッセージを 受信すると、コンタクト先端末装置は、この参力 0メッセージがコンタクト先端末装置宛 のメッセージであるか否かを判定する。コンタクト先端末装置宛のメッセージであるか 否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、 宛先識別情報がコンタクト先端末装置宛の識別情報と近レ、か否かが判定される。即 ち、宛先識別情報に対して、コンタ外先端末装置自身が保持しているルーティング テーブルに記憶されている端末装置の識別情報から、一番近い端末装置の識別情 報が、 自身であるか他の端末装置であるかを判定する。そして、コンタクト先端末装 置の識別情報よりも他の端末装置の識別情報の方が宛先識別情報に近いとき、参 カロメッセージを受信したコンタ外先端末装置は、コンタ外先端末装置自身が保持し ているルーティングテーブルのレベル 2を参照して、「2XXX」のエリアに属す端末装 置 2のうち、 IPアドレスを知っている端末装置 2Bに対して参カロメッセージを転送すると ともに自端末装置のルーティングテーブル記憶手段に記憶されたルーティングテー ブルのレベル 1のテーブルの情報を、新規参加端末装置 2Mへ送信する。  [0085] When the contact destination terminal device receives the participation message transmitted from the new participation terminal device 2M, the contact destination terminal device determines whether or not this participation 0 message is a message addressed to the contact destination terminal device. To do. Whether the message is addressed to the contact destination terminal device is determined based on the destination identification information and the routing table. Specifically, it is determined whether or not the destination identification information is close to the identification information addressed to the contact destination terminal device. That is, for the destination identification information, whether the identification information of the nearest terminal device is itself from the identification information of the terminal device stored in the routing table held by the contour destination terminal device itself. It is determined whether it is another terminal device. When the identification information of the other terminal device is closer to the destination identification information than the identification information of the contact destination terminal device, the contour destination terminal device that has received the participation message is held by the contour destination terminal device itself. Referring to the level 2 of the routing table that is being used, transfer the participation message to the terminal device 2B that knows the IP address among the terminal devices 2 belonging to the “2XXX” area. The information of the routing table level 1 table stored in the routing table storage means is transmitted to the newly participating terminal device 2M.
[0086] このように、コンテンツ IDの桁を上から順に適合していく要領で参加メッセージの転 送を行い、順次ルーティングテーブルの各レベルの情報を送信する。最終的に宛先 識別情報に最も近い端末装置 2に迪り着いたところで参カロメッセージの転送は終了 する。なお、参カロメッセージなどのメッセージを目的の端末装置へ迪り着くまでに、上 述のように転送する仕組みを DHTルーティングと呼ぶ。 [0086] In this way, transfer of the participation message is performed in a manner that adapts the digits of the content ID in order from the top. The information of each level of the routing table is sequentially transmitted. The transfer of the participation message ends when the terminal device 2 that is closest to the destination identification information is finally reached. The mechanism that forwards messages such as the participation message to the target terminal device as described above is called DHT routing.
[0087] こうして、新規参加端末装置 2Mは、参カロメッセージを受信した端末装置 2からルー ティングテーブルの各レベルの情報を上位レベルの情報から順に取得するようにして いる。新規参加端末 2はこのようにして、第 2配信形態に参加するために必要なルー ティングテーブルを生成する。  Thus, the newly participating terminal device 2M obtains information on each level of the routing table from the terminal device 2 that has received the participation caro message in order from the information on the higher level. In this way, the newly participating terminal 2 generates a routing table necessary for participating in the second distribution form.
[0088] [1. 2. 4.コンテンツデータの検索方法]  [0088] [1. 2. 4. Content data search method]
次に、図 8を参照して、コンテンツデータを保持している端末装置 2の検索方法の一 例について説明する。図 8は、 DHTノレ一ティングによりコンテンツデータを保持して レ、る端末装置 2が検索される様子の一例を示す図である。  Next, with reference to FIG. 8, an example of a search method for the terminal device 2 holding content data will be described. FIG. 8 is a diagram illustrating an example of a state in which the terminal device 2 that holds content data by DHT browsing is searched.
[0089] ここでは、端末 ID「1133」の端末装置 2Nが、コンテンツ ID「3020」を有するコンテン ッデータを探す際の手順について説明する。なお、以下このようにコンテンツデータ を探し、コンテンツデータの受信を要求する端末装置を「リクエスト端末装置」と呼ぶ。  Here, the procedure when terminal device 2N with terminal ID “1133” searches for content data having content ID “3020” will be described. Hereinafter, a terminal device that searches for content data and requests reception of content data in this way is referred to as a “request terminal device”.
[0090] リクエスト端末装置 2Nは、 自己が保持しているルーティングテーブルのレベル 1の テーブルを参照して、コンテンツ ID「3020」と同じエリアの端末 IDを持つ端末装置の 端末 IDを宛先識別情報としてコンテンツ保持端末装置情報 (コンテンツ保持端末装 置の所在情報を含む情報)の送信要求 (以下、「コンテンツ検索メッセージ」と呼ぶ。 ) を送信する。すなわち、コンテンツ ID「3020」は「3XXX」のエリアであるため、当該「3X XX」のエリアに属す端末装置 2のうち、 IPアドレスを知っている(すなわち、自己が保 持しているルーティングテーブルに IPアドレスが記憶されている)端末装置 2A (端末 I D「3213」)に対してコンテンツ検索メッセージを送信する。このように、コンテンツ検索 メッセージはコンテンツに対応する固有の識別情報であるコンテンツ IDを含むもので あり、このコンテンツ IDはコンテンツ検索メッセージにおいて宛先識別情報として用い られる。  [0090] The requesting terminal device 2N refers to the level 1 table of the routing table held by itself, and uses the terminal ID of the terminal device having the terminal ID in the same area as the content ID "3020" as destination identification information. A transmission request (hereinafter referred to as “content search message”) of content holding terminal device information (information including location information of the content holding terminal device) is transmitted. That is, since the content ID “3020” is an area “3XXX”, the terminal device 2 belonging to the area “3X XX” knows the IP address (that is, the routing table held by itself). Content search message is transmitted to terminal device 2A (terminal ID “3213”). Thus, the content search message includes a content ID that is unique identification information corresponding to the content, and this content ID is used as destination identification information in the content search message.
[0091] 図 8に示す例によれば、端末 IDが「3213」である端末装置 2Aの IPアドレスがリクェ スト端末装置 2Nのルーティングテーブル(図 6参照。)に記憶されているので、リクェ スト端末装置 2Nは、端末 IDが「3213」である端末装置 2Aに対してコンテンツ検索メ ッセージを送信する。 According to the example shown in FIG. 8, the IP address of the terminal device 2A whose terminal ID is “3213” is stored in the routing table (see FIG. 6) of the request terminal device 2N. The list terminal device 2N transmits a content search message to the terminal device 2A whose terminal ID is “3213”.
[0092] 次に、コンテンツ検索メッセージを受信した端末装置 2Aは、このコンテンツ検索メッ セージが自端末装置 2A宛のメッセージであるか否かを判定する。 自端末装置 2A宛 のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行 われる。具体的には、宛先識別情報が自端末装置 2Aの識別情報と近いか否かが判 定される。即ち、宛先識別情報に対して、端末装置 2A自身が保持しているルーティ ングテーブルに記憶されてレ、る端末装置の識別情報から、一番近レ、端末装置の識 別情報が、 自身であるか他の端末装置であるかを判定する。ここでは、 自端末装置 2 Aの識別情報よりも他の端末装置の識別情報の方が、宛先識別情報に近いため、端 末装置 2Aは、当該端末装置 2A自身が保持しているルーティングテーブルのレベル 2のテーブルを参照して、「30XX」のエリアに属す端末装置 2のうち、 IPアドレスを知 つてレ、る端末装置 2B (端末 ID「3031」 )に対してコンテンツ検索メッセージを転送する  Next, the terminal device 2A that has received the content search message determines whether or not the content search message is a message addressed to the terminal device 2A. Whether the message is addressed to the terminal device 2A is determined based on the destination identification information and the routing table. Specifically, it is determined whether or not the destination identification information is close to the identification information of its own terminal device 2A. That is, for the destination identification information, the terminal device 2A itself stores the identification information of the terminal device that is stored in the routing table held by the terminal device 2A itself. It is determined whether it is a terminal device or another terminal device. Here, since the identification information of the other terminal device is closer to the destination identification information than the identification information of its own terminal device 2A, the terminal device 2A has the routing table held by the terminal device 2A itself. Referring to the level 2 table, out of the terminal devices 2 belonging to the “30XX” area, the content search message is transferred to the terminal device 2B (terminal ID “3031”) that knows the IP address.
[0093] このように、コンテンツ IDの桁を上力 順に適合してレ、く要領でコンテンツ検索メッ セージの転送が進み、最終的に当該コンテンツデータを管理する端末装置 2C (端末 ID「3011」)、すなわちルート端末装置に迪り着くと、当該ルート端末装置は、コンテン ッ検索メッセージに含まれるコンテンツ ID「3020」を、 自身が管理している後述のイン デッタス情報の中から検索し、当該コンテンツデータを所有しているコンテンツ保持 端末装置の IPアドレス等をリクエスト端末装置 2Nに返信するようになっている。 [0093] In this way, the content search message is transferred in accordance with the order of the content ID digits in the ascending order, and the content search message is transferred, and finally the terminal device 2C (terminal ID “3011”) manages the content data. ), That is, when the root terminal device arrives, the root terminal device searches the content ID “3020” included in the content search message from the below-described index information managed by itself, and The content holding terminal that owns the content data is returned to the requesting terminal device 2N with the IP address of the terminal device.
[0094] こうして、リクエスト端末装置 2Nは、上記ルート端末装置 2Cから、コンテンツ ID「302 0」のコンテンツデータの所在情報、即ち、コンテンツ ID「3020」のコンテンツデータを 保持するコンテンツ保持端末装置の IPアドレスを受信して知ることになり、当該コンテ ンッ保持端末装置から、そのコンテンツデータをダウンロードして取得することになる  In this way, the request terminal device 2N receives from the root terminal device 2C the content data location information of the content ID “3020”, that is, the IP of the content holding terminal device that holds the content data of the content ID “3020”. You will receive and know the address, and you will download the content data from the content holding terminal device.
[0095] [1. 2. 5.インデックステーブルへの登録方法] [0095] [1. 2. 5. How to register to index table]
コンテンツ配信システム Sにおける第 2配信形態の中で、新しいコンテンツデータを コンテンツ配信システム S上の他の端末装置 2に見えるように公開する際の手法につ いて述べる。 In the second distribution form in the content distribution system S, a method for publishing new content data so that it can be seen by other terminal devices 2 on the content distribution system S. To say.
[0096] 本実施形態におけるコンテンツ配信システム Sの第 2配信形態は、図 9に示すように 、コンテンツ投入装置 4が各コンテンツ保持端末装置となる端末装置 2に対して、各コ ンテンッ保持端末装置毎の管理対象コンテンツとなるコンテンツデータを送信する。 コンテンツ投入装置 4から管理対象のコンテンツデータを受信したコンテンツ保持端 末装置は、後述のハードディスク装置 203に受信したコンテンツデータを記憶する。  As shown in FIG. 9, the second distribution form of the content distribution system S in the present embodiment is that each content holding terminal device is different from the terminal device 2 in which the content input device 4 is each content holding terminal device. Content data to be managed content for each is transmitted. The content holding terminal device that has received the content data to be managed from the content input device 4 stores the received content data in the hard disk device 203 described later.
[0097] 当該コンテンツデータを配布されたコンテンツ保持端末装置は、図 9及び図 10に示 すように、当該コンテンツ保持端末装置の所在情報及び識別情報を含むコンテンツ 保持端末装置情報の登録要求メッセージ(以下、「コンテンツ登録メッセージ」と呼ぶ 。)を、コンテンツの名称等から求めたコンテンツ IDと同じ端末 IDを持つ端末装置に 向けて (この端末装置が実在するか否かはこの時点ではわからなレ、。)送信する。そ して、このコンテンツ登録メッセージも、上記コンテンツ検索メッセージと同様にルー ティングテーブルに従って、次々と転送されていき、当該コンテンツ登録メッセージに 含まれるコンテンツ IDに最も近い端末 IDを有する端末装置 2まで転送されたところで 、その端末装置 2がもはや送信先の端末装置が他にないと判断すると、当該端末装 置 2自身がそのコンテンツのルート端末装置となるべきだと判断し、図 10に示すよう に、当該コンテンツ登録メッセージに含まれるコンテンツ保持端末装置情報である当 該コンテンツ ID、コンテンツ保持端末装置の IPアドレス、及び補助情報 (タイトル、ジ ヤンル、拡張情報等の属性情報や、監督名等の著作権情報やストリーミング時間等) をインデックス情報として後述のインデックステーブル 222に記憶する。  [0097] As shown in FIGS. 9 and 10, the content holding terminal device to which the content data has been distributed has a registration request message for content holding terminal device information including location information and identification information of the content holding terminal device (see FIG. 9 and FIG. 10). (Hereinafter referred to as “content registration message”) toward the terminal device having the same terminal ID as the content ID obtained from the content name or the like (whether or not this terminal device actually exists is unknown at this point). ,.)Send. Then, this content registration message is also successively transferred according to the routing table in the same manner as the content search message, and is transferred to the terminal device 2 having the terminal ID closest to the content ID included in the content registration message. Then, when the terminal device 2 determines that there is no other destination terminal device, it determines that the terminal device 2 itself should be the root terminal device of the content, as shown in FIG. The content ID that is the content holding terminal device information included in the content registration message, the IP address of the content holding terminal device, and auxiliary information (attribute information such as title, genre, extended information, (Right information, streaming time, etc.) 222 is stored in.
[0098] このようにルート端末装置のインデックステーブル 222にコンテンツ保持端末装置 の所在情報である IPアドレスが登録されると、以後リクエスト端末装置からのコンテン ッ検索メッセージに対してインデックステーブルに登録したコンテンツ保持端末装置 の所在情報をリクエスト端末装置へ返信する。このようにして本実施形態では、コンテ ンッ投入装置 4から配布されたコンテンツをコンテンツ保持端末装置に登録し、ルー ト端末装置を介して検索できるようにすることで、他の端末装置にコンテンツを公開す る。  [0098] When the IP address, which is the location information of the content holding terminal device, is registered in the index table 222 of the root terminal device in this way, the content registered in the index table in response to the content search message from the requesting terminal device thereafter. The location information of the holding terminal device is returned to the requesting terminal device. In this way, in this embodiment, the content distributed from the content input device 4 is registered in the content holding terminal device and can be searched via the root terminal device, so that the content can be stored in other terminal devices. Publish.
[0099] インデックステーブル 222は、図 11に示すように、コンテンツ保持端末装置の所在 情報 (所在情報)である IPアドレスなどを含むコンテンツ保持端末装置情報を記憶す るためのテーブルである。このインデックステーブル 222には、コンテンツ保持端末装 置の IPアドレスのほか、コンテンツ保持端末装置を紹介した時刻等がコンテンツ保持 端末装置情報として 1行 (所定記憶エリア)毎に記憶される。 [0099] As shown in FIG. 11, the index table 222 includes the location of the content holding terminal device. This is a table for storing content holding terminal device information including information (location information) such as an IP address. In this index table 222, in addition to the IP address of the content holding terminal device, the time when the content holding terminal device was introduced is stored for each row (predetermined storage area) as content holding terminal device information.
[0100] [1. 3.第 1配信形態と第 2配信形態との関係]  [0100] [1. 3. Relationship between first and second delivery modes]
次に、コンテンツ配信システム Sにおける第 1配信形態と第 2配信形態との関係につ いて、その概略について、図 1を参照して簡単に説明する。  Next, the outline of the relationship between the first distribution form and the second distribution form in the content distribution system S will be briefly described with reference to FIG.
[0101] 各端末装置 2は、コンテンツ配信システム Sに参加する場合、第 1配信形態に参加 すると同時に、第 2配信形態にも参加する。すなわち、第 1配信形態におけるツリー 型配信構造に組み込まれるときには、第 2配信形態における DHTを利用したァルゴ リズムによって構築されるオーバーレイネットワークにも組み込まれる。  [0101] When each terminal device 2 participates in the content distribution system S, it participates in the second distribution form at the same time as participating in the first distribution form. In other words, when it is incorporated in the tree-type distribution structure in the first distribution form, it is also incorporated in the overlay network constructed by the algorithm using the DHT in the second distribution form.
[0102] 各端末装置 2は、コンテンツ配信システム Sにおける第 1配信形態でコンテンツ配信 装置 1からストリーミング配信されるコンテンツデータをストリーミング受信して、 自端末 装置のリングバッファ領域に記憶する。リングバッファ領域に記憶されたコンテンツデ ータは、その再生時刻となるとリングバッファ領域から取り出されてストリーミング再生 される。なお、ストリーミング再生とは、コンテンツデータが分割されて送信されるコン テンッパケットを受信しつつ再生する再生方法をいい、コンテンツデータ全体を一度 に一括して受信し、その後再生するダウンロードによる再生方法とは異なるものであ る。ストリーミング配信とは、ストリーミング再生が可能となるように配信する送信方法 である。このようなストリーミング再生やストリーミング配信は、ストリーミング用の通信プ ロトコルやコンテンツデータの形式を採用することで可能となる。  [0102] Each terminal device 2 receives the streaming content data streamed from the content distribution device 1 in the first distribution form in the content distribution system S, and stores it in the ring buffer area of its own terminal device. The content data stored in the ring buffer area is retrieved from the ring buffer area and streamed at the playback time. Streaming playback refers to a playback method in which content data is transmitted while being divided and received, and is played back. The entire content data is received all at once and then played back after downloading. Are different. Streaming delivery is a transmission method that delivers so that streaming playback is possible. Such streaming playback and streaming distribution can be achieved by adopting a streaming communication protocol and content data format.
[0103] 本実施形態においては、コンテンツ配信装置 1からストリーミング配信されるコンテ ンッデータは、放送形態での放送チャンネル毎に後述するハードディスク装置 103 力 順次一つずつ取り出され、順次各端末装置 2にストリーミング配信される。  In the present embodiment, the content data streamed from the content distribution device 1 is sequentially fetched one after another for each broadcast channel in the broadcast format, and sequentially streamed to each terminal device 2. be delivered.
[0104] このように端末装置 2がコンテンツ配信装置 1から配信されるコンテンツデータをスト リーミング再生することにより、端末装置 2の利用者はコンテンツデータを視聴すること ができる。  [0104] In this way, the terminal device 2 performs streaming playback of the content data distributed from the content distribution device 1, so that the user of the terminal device 2 can view the content data.
[0105] 端末装置 2の利用者は、コンテンツ配信装置 1から配信されるコンテンツデータを視 聴しているときに、気に入ったコンテンツデータがあれば、そのコンテンツデータをダ ゥンロードすることが可能となっている。すなわち、端末装置 2における後述の内蔵デ イスプレイ 210には、図 12に示すように、コンテンツ表示枠 21に再生中のコンテンツ 映像(コンテンツが音楽の場合には、所定の映像が表示される。)が、タイトル名表示 枠 22に再生中のコンテンツ情報(ここでは、コンテンツの名称)が表示される。また、 端末装置 2における後述の内蔵ディスプレイ 210には、ダウンロードボタン 23が表示 される。このダウンロードボタン 23は、内蔵ディスプレイ 210に表示される GUI (Gaph ical User Interface)であり、端末装置 2のリモコン 208により操作可能となっている 。なお、コンテンツ情報は、コンテンツ配信装置 1からコンテンツデータとともに送信さ れるものであり、コンテンツデータのヘッダ部分に格納される情報である。 [0105] The user of the terminal device 2 views the content data distributed from the content distribution device 1. If you have content data you like while listening, you can download the content data. That is, as shown in FIG. 12, in the internal display 210 (to be described later) in the terminal device 2, the content video being reproduced is displayed in the content display frame 21 (a predetermined video is displayed when the content is music). However, the content information (in this case, the name of the content) being played is displayed in the title name display frame 22. In addition, a download button 23 is displayed on a later-described built-in display 210 in the terminal device 2. The download button 23 is a GUI (Graphical User Interface) displayed on the built-in display 210 and can be operated by the remote control 208 of the terminal device 2. The content information is transmitted together with the content data from the content distribution device 1, and is information stored in the header portion of the content data.
[0106] 端末装置 2の利用者は、コンテンツ配信装置 1から送信されるコンテンツデータを気 に入った場合には、ダウンロード要求の操作を行う。例えば、リモコン 208を操作して ダウンロードボタン 23を内蔵ディスプレイ 210上で選択ことによってダウンロード要求 の操作を行う。端末装置 2は、ダウンロードボタン 23が選択されると、第 2配信形態に よってコンテンツデータをダウンロードするように構成されている。すなわち、端末装 置 2は、ダウンロードボタン 23が選択されると、第 2配信形態に参加する際に取得し た識別情報リストからダウンロード要求されたコンテンツデータの識別情報であるコン テンッ IDを取得する。 [0106] If the user of the terminal device 2 likes the content data transmitted from the content distribution device 1, the user performs a download request operation. For example, the download request is operated by operating the remote control 208 and selecting the download button 23 on the built-in display 210. The terminal device 2 is configured to download content data in the second distribution form when the download button 23 is selected. That is, when the download button 23 is selected, the terminal device 2 acquires the content ID that is the identification information of the content data requested for download from the identification information list acquired when participating in the second distribution form. .
[0107] コンテンツ IDを取得した端末装置 2は、リクエスト端末装置として、自端末装置のル 一ティングテーブルを参照し、ダウンロード要求されたコンテンツデータのコンテンツ I Dを宛先識別情報としてコンテンツ検索メッセージを送信する。コンテンツ検索メッセ ージは、コンテンツ IDの桁を上から順に適合していく要領でその転送が進み、最終 的にダウンロード要求されたコンテンツデータを保持するコンテンツ保持端末装置の 所在情報を管理するルート端末装置に迪り着く。ルート端末装置は、コンテンツ検索 メッセージに含まれるコンテンツ IDを、自身が管理してレ、るインデックス情報の中から 検索し、当該コンテンツ IDに対応するコンテンツデータを所有しているコンテンツ保 持端末装置の所在情報をリクエスト端末装置に送信する。  [0107] The terminal device 2 that has acquired the content ID refers to the routing table of its own terminal device as the requesting terminal device, and transmits a content search message using the content ID of the content data requested for download as destination identification information. . The content search message is transferred in a manner that adapts the content ID digits in order from the top, and finally the root terminal that manages the location information of the content holding terminal device that holds the content data requested to be downloaded. Get to the device. The root terminal device searches for the content ID included in the content search message from the index information that it manages and records the content ID corresponding to the content ID of the content holding terminal device. The location information is transmitted to the request terminal device.
[0108] リクエスト端末装置は、コンテンツ保持端末装置に対して、ダウンロード要求された コンテンツデータの送信をネットワーク 6を介して要求する。ダウンロード要求されたコ ンテンッデータを保持するコンテンツ保持端末装置からそのコンテンツデータをネット ワーク 6を介して受信し、後述するコンテンツデータ記憶手段に記憶する。 [0108] The request terminal device has made a download request to the content holding terminal device. Requests transmission of content data via the network 6. The content data is received via the network 6 from the content holding terminal device that holds the content data requested to be downloaded, and stored in content data storage means to be described later.
[0109] このように、端末装置 2の利用者は、第 1配信形態でストリーミング配信されるコンテ ンッデータを視聴しているときに、気に入ったコンテンツデータがあれば、そのコンテ ンッデータを第 2配信形態によってダウンロードすることができる。 [0109] In this way, if the user of terminal device 2 is watching content data that is streamed in the first distribution form, and if there is content content that she likes, the content data is transferred to the second distribution form. Can be downloaded by.
[0110] ところで、端末装置 2の内蔵ディスプレイ 210への表示を図 12のようにするのではな く、図 13のようにすることもできる。すなわち、コンテンツ配信装置 1からストリーミング 配信されるコンテンツデータを複数表示するのである。そして、現在ストリーム再生さ れているコンテンツデータのコンテンツの名称を大文字等することによって強調する。 図 13においては、略中央のコンテンツの名称(コンテンツ 4)が現在ストリーミグ再生さ れているコンテンツデータであり、その上方は過去にストリーミング再生されたコンテ ンッデータのコンテンツの名称が順次配列表示され、その下方は今後ストリーミング 再生されるコンテンツデータのコンテンツの名称が順次配列表示される。 [0110] By the way, the display on the built-in display 210 of the terminal device 2 may be as shown in FIG. 13 instead of as shown in FIG. That is, a plurality of pieces of content data streamed from the content distribution device 1 are displayed. The content name of the content data currently being streamed is emphasized by capitalizing it. In FIG. 13, the name of the content at the center (content 4) is the content data that is currently stream-played, and above it is the content data content content that has been stream-played in the past. Below, the names of the content data to be streamed and played in the future are displayed in sequence.
[0111] ダウンロードを要求するコンテンツデータを選択するときには、内蔵ディスプレイ 21 0に表示された選択枠 24を選択したいコンテンツデータのコンテンツの名称表示位 置に上下に移動させ、ダウンロードボタン 23をリモコン 208で操作することによって行 5。 [0111] When selecting content data to be downloaded, the selection frame 24 displayed on the internal display 210 is moved up and down to the content name display position of the content data to be selected, and the download button 23 is pressed with the remote control 208. Line 5 by operating.
[0112] このように、現在再生されているコンテンツデータだけでなぐ過去に再生されたコ ンテンッデータや将来再生されるコンテンツデータであってもダウンロード可能とする ことによって、端末装置 2の利用者に対してより利便性に富んだサービスを提供する ことができ、コンテンツデータのダウンロード量を増加させることが可能となる。  [0112] In this way, content data that has been played back in the past and content data that will be played back in the future in addition to the content data that is currently played back can be downloaded, so that the user of the terminal device 2 can be downloaded. This makes it possible to provide more convenient services and increase the amount of content data downloaded.
[0113] [2.コンテンツ配信装置 1の構成等の説明]  [2. Description of Configuration of Content Distribution Device 1]
次に、図 14を参照して、コンテンツ配信装置 1の構成及び動作について更に詳説 する。  Next, the configuration and operation of the content distribution apparatus 1 will be described in more detail with reference to FIG.
[0114] 図 14は、本実施形態におけるコンテンツ配信装置 1の概略構成例を示す図である 。コンテンツ配信装置 1は、一般のサーバコンピュータを適用可能であり、図 14に示 すように、 CPU (Central Processing Unit) 102と、各種プログラム等を記憶(格 納)する書き換え可能な主記憶装置としての主記憶装置 105と、各種データ等を記 憶するハードディスク装置 103と、ネットワーク 6を介して端末装置 2、接続管理装置 3 やコンテンツ投入装置 4との間で通信を行うネットワークインタフェース 104と、所定の 情報を入力可能なキーボード 107やマウス 108等の入力手段を制御する周辺機器 制御チップ 106と、 CPU102からイメージデータを受け取り、内部のビデオメモリ(図 示せず)に書き込むと共にこのビデオメモリに書き込んだデータを後述の内蔵ディス プレイ 110に表示するビデオチップ 109と、ビデオチップ 109から送信される信号に 応じた表示を行う内蔵ディスプレイ 110と、 FM音源(Frequency Modulation)や Wave Table音源などの音源を有する音源チップ 111と、音源チップ 111から出力 されるオーディオ信号を音波に変換する内蔵スピーカ 112と、を備えて構成され、こ れらの各種構成要素はシステムバス 101を介して相互に接続されてレ、る。 FIG. 14 is a diagram showing a schematic configuration example of the content distribution apparatus 1 in the present embodiment. The content distribution apparatus 1 is applicable to a general server computer, and stores (stores) a CPU (Central Processing Unit) 102 and various programs as shown in FIG. Between the terminal device 2, the connection management device 3, and the content input device 4 via the network 6 and the main storage device 105 as a rewritable main storage device, the hard disk device 103 that stores various data, etc. Network interface 104 that communicates with the device, peripheral device control chip 106 that controls input means such as a keyboard 107 and mouse 108 that can input predetermined information, and image data from the CPU 102, and an internal video memory (not shown) ) And the data written to this video memory on the internal display 110 (to be described later), the built-in display 110 that displays the data according to the signal transmitted from the video chip 109, and the FM sound source (Frequency Modulation) ) And Wave Table sound source, etc., and the audio output from the sound source chip 111 A built-in speaker 112 which converts the signals into sound waves, is configured to include the various components of these is Ru les, are connected to each other via a system bus 101.
[0115] なお、ネットワークインタフェース 104は、ルータ 10aを介してネットワーク 6に接続さ れる。このルータ 10aは、図 1に示すルータ 10に相当するものである。  Note that the network interface 104 is connected to the network 6 via the router 10a. This router 10a corresponds to the router 10 shown in FIG.
[0116] なお、本実施形態においては、 CPU102と主記憶装置 105とで制御部 130を構成 している。また、コンテンツ配信装置 1には、上述のように内蔵ディスプレイ (液晶ディ スプレイ等) 110等が内蔵されており、例えば、コンテンツ配信システム Sを運用する 放送運営者は、この内蔵ディスプレイ 110を見ながら入力手段から所定の情報を入 力すること力 Sできる。なお、本実施形態においては、これら内蔵ディスプレイ 110や内 蔵スピーカ 112などがコンテンツ配信装置 1に内蔵されている力 S、これに限らず、例え ば、別に接続されるものであってもよい。  In the present embodiment, the control unit 130 is configured by the CPU 102 and the main storage device 105. In addition, the content distribution apparatus 1 includes the built-in display (liquid crystal display, etc.) 110 as described above. For example, a broadcast operator who operates the content distribution system S looks at the built-in display 110. The ability to input predetermined information from input means. In the present embodiment, the built-in display 110, the built-in speaker 112, and the like are not limited to the force S built in the content distribution apparatus 1, but may be connected separately, for example.
[0117] (主記憶装置 105ついて)  [0117] (About main memory 105)
また、主記憶装置 105には、コンテンツ配信装置 1のコンピュータとしての基本的な 機能を提供するための〇S (オペレーティングシステム)プログラム 117と、ハードディ スク装置 103の放送コンテンツ記憶領域に記憶されたコンテンツデータを取り出して 端末装置 2ヘストリーミング配信するためのストリーム制御プログラム 115と、放送チヤ ンネル毎に接続された各端末装置 2の所在情報 (IPアドレスやポート番号など)の管 理等を行うためのトポロジー管理プログラム 116と、内蔵ディスプレイ 110を制御する ための画面制御プログラム 118と、エンコードされた音楽コンテンツデータをデコード するための音楽デコーダプログラム 119と、ハードディスク装置 103に記憶されている 放送コンテンツデータ 113から読み出したコンテンツデータを端末装置 2へ送信する 前に一時的に記憶するリングバッファ領域 120と、下流の端末装置 2に配信するコン テンッデータを放送チャンネル毎にコンテンツ投入装置 4から受信し、ハードディスク 装置 103に記憶するコンテンツ管理プログラム 121等が記憶されており、これらは CP U102によって読み出され、 CPU102によってこれらのプログラムに従った機能が実 行される。 In addition, the main storage device 105 includes a ○ S (operating system) program 117 for providing basic functions as a computer of the content distribution device 1 and content stored in the broadcast content storage area of the hard disk device 103. Stream control program 115 for retrieving data and streaming to terminal device 2 and location information (IP address, port number, etc.) of each terminal device 2 connected to each broadcast channel Topology management program 116, screen control program 118 for controlling built-in display 110, and decoding of encoded music content data A music decoder program 119, a ring buffer area 120 for temporarily storing the content data read from the broadcast content data 113 stored in the hard disk device 103 before being transmitted to the terminal device 2, and a downstream terminal device The content management program 121 received from the content input device 4 for each broadcast channel from the content input device 4 and stored in the hard disk device 103 is stored. These are read by the CPU 102 and are read by the CPU 102. The function according to the program is executed.
[0118] ここで、〇Sプログラム 117は、 CPU102によって読み出されて実行されることにより 、キーボード 107やマウス 108の入出力に関する機能や、主記憶装置 105やハード ディスク装置 103などのメモリ管理などのコンテンツ配信装置 1であるコンピュータの 基本的な機能を実行可能にするものである。  [0118] Here, the S program 117 is read and executed by the CPU 102, so that functions related to input / output of the keyboard 107 and mouse 108, memory management of the main storage device 105 and the hard disk device 103, etc. This makes it possible to execute the basic functions of the computer that is the content distribution apparatus 1 of the above.
[0119] そして、この〇Sプログラム 117が CPU102によって実行された状態で、上述のスト リーム制御プログラム 115、トポロジー管理プログラム 116、画面制御プログラム 118 、音楽デコーダプログラム 119、コンテンツ管理プログラム 121が主記憶装置 105か ら読み出されて実行される。  Then, in a state where the S program 117 is executed by the CPU 102, the above-described stream control program 115, topology management program 116, screen control program 118, music decoder program 119, and content management program 121 are stored in the main storage device. It is read from 105 and executed.
[0120] なお、 OSプログラム 117、ストリーム制御プログラム 115、トポロジー管理プログラム 116、画面制御プログラム 118、音楽デコーダプログラム 119、コンテンツ管理プログ ラム 121等は、例えば、ネットワーク 6に接続されたサーバ等から主記憶装置 105に ダウンロードされるようにしてもよぐまた、 CD— ROM等の記録媒体 (記憶媒体)に記 録されてから当該記録媒体を介して、主記憶装置 105に読み込まれるようにしてもよ レ、。  [0120] The OS program 117, the stream control program 115, the topology management program 116, the screen control program 118, the music decoder program 119, the content management program 121, etc. are stored in the main memory from, for example, a server connected to the network 6. It may be downloaded to the device 105 or may be recorded on a recording medium (storage medium) such as a CD-ROM and then read into the main storage device 105 via the recording medium. Les.
[0121] (制御部 130について)  [0121] (About control unit 130)
制御部 130は、上述のように CPU102と主記憶装置 105とから構成され、 CPU10 2が主記憶装置 105に記憶された各種プログラム 115〜: 119, 121を読み出して実 行することにより、コンテンツ配信装置 1全体を統括制御し、かつ、後述するコンテン ッデータ配信手段等として機能するようになっている。なお、 CPU102がストリーム制 御プログラム 115を実行することによって、コンテンツデータ配信手段等として、また C PU102がトポロジー管理プログラム 116を実行することによって、トポロジー管理手 段として、また、 CPU102が画面制御プログラム 118を実行することによって、表示制 御手段等として、 CPU102が音楽デコーダプログラム 119を実行することによって、 再生手段として、 CPU102がコンテンツ管理プログラム 121を実行することによって、 配信コンテンツ受信手段、配信コンテンツ保存手段として、それぞれ機能するように なっている。更に、ハードディスク装置 103は、コンテンツデータが記憶されるコンテ ンッデータ記憶手段として使用される。 As described above, the control unit 130 includes the CPU 102 and the main storage device 105, and the CPU 102 reads and executes the various programs 115 to 119 and 121 stored in the main storage device 105, thereby distributing contents. The entire apparatus 1 is controlled in an integrated manner and functions as a content data distribution means described later. The CPU 102 executes the stream control program 115 as a content data distribution means, etc., and the CPU 102 executes the topology management program 116, so that the topology management The CPU 102 executes the screen control program 118, and as a display control means, the CPU 102 executes the music decoder program 119. As a playback means, the CPU 102 executes the content management program 121. Therefore, they function as distribution content receiving means and distribution content storage means, respectively. Further, the hard disk device 103 is used as content data storage means for storing content data.
[0122] (配信コンテンツ受信手段、配信コンテンツ保存手段について) [0122] (About distribution content receiving means and distribution content storage means)
配信コンテンツ受信手段は、コンテンツ投入装置 4に対してコンテンツデータの送 信を要求し、コンテンツ投入装置 4から送信されるコンテンツデータやそのコンテンツ の名称などを受信する。また、配信コンテンツ保存手段は、コンテンツ投入装置 4から コンテンツデータが配信コンテンツ受信手段によって受信された場合に、受信したコ ンテンッデータを放送コンテンツデータ 113としてハードディスク装置 103に保存する  The distribution content receiving means requests the content input device 4 to transmit content data, and receives the content data transmitted from the content input device 4 and the name of the content. Also, the distribution content storage means stores the received content data as the broadcast content data 113 in the hard disk device 103 when the content data is received from the content input device 4 by the distribution content reception means.
[0123] また、ハードディスク装置 103には、予め各放送チャンネルで放送するコンテンツデ ータの順番を記憶する放送番組情報が記憶されており、配信コンテンツ受信手段は 、この番組情報に基づいて、コンテンツ投入装置 4に対して送信要求するコンテンツ データを決定し、コンテンツ投入装置 4への送信要求を行う。 [0123] Also, the hard disk device 103 stores in advance broadcast program information for storing the order of the content data to be broadcast on each broadcast channel, and the distribution content receiving means uses the content information based on the program information. The content data requested to be transmitted to the input device 4 is determined, and a transmission request to the content input device 4 is made.
[0124] なお、配信コンテンツ受信手段は、放送番組情報に基づレ、て、コンテンツ投入装置 4に対するコンテンツデータの送信要求を行うのではなぐ放送番組情報をコンテン ッ投入装置 4のハードディスク装置 403に記憶させておき、コンテンツ投入装置 4が 放送番組情報に基づいて、順次コンテンツデータを送信するようにしてもよい。この 場合、コンテンツ配信装置 1は放送チャンネル毎にコンテンツ投入装置 4が投入した コンテンツデータを順次下流装置へ配信することになる。  [0124] The distribution content receiving means transmits the broadcast program information to the hard disk device 403 of the content input device 4 based on the broadcast program information, instead of making a transmission request for content data to the content input device 4. The content input device 4 may store the content data sequentially based on the broadcast program information. In this case, the content distribution device 1 sequentially distributes the content data input by the content input device 4 to the downstream device for each broadcast channel.
[0125] (コンテンツデータ配信手段について)  [0125] (Content data distribution means)
コンテンツデータ配信手段は、ネットワーク 6を介してコンテンツデータをストリーミン グ配信する。すなわち、ハードディスク装置 103において記憶されている放送用コン テンッデータを取り出し、ネットワーク 6を介して論理接続された端末装置 2 (例えば、 ツリー型に接続された場合には最上階層端末装置)等にストリーミング配信する。な お、コンテンツデータには、コンテンツの名称などの情報も含まれる。 The content data distribution means distributes the content data via the network 6. In other words, the broadcast content data stored in the hard disk device 103 is taken out and streamed to the terminal device 2 (for example, the top-level terminal device when connected in a tree type) or the like logically connected via the network 6. To deliver. Na The content data includes information such as the name of the content.
[0126] このコンテンツデータ配信手段による端末装置 2等へのストリーミング配信は、以下 の手順で実行される。  [0126] Streaming delivery to the terminal device 2 or the like by the content data delivery means is executed according to the following procedure.
[0127] コンテンツデータ配信手段は、ハードディスク装置 103に予め記憶されている放送 コンテンツデータ 113から、放送番組情報に基づいてコンテンツデータを順次取り出 してリングバッファ領域 120に記憶させる。  [0127] The content data distribution means sequentially extracts the content data based on the broadcast program information from the broadcast content data 113 stored in advance in the hard disk device 103, and stores it in the ring buffer area 120.
[0128] 次に、コンテンツデータ配信手段は、リングバッファ領域 120から取り出したコンテン ッデータを、ストリーミング配信用のデータ形式、例えば ASF、 WMA、 WMV等のデ ータ形式にエンコードする。  [0128] Next, the content data distribution means encodes the content data extracted from the ring buffer area 120 into a data format for streaming distribution, for example, a data format such as ASF, WMA, or WMV.
[0129] その後、コンテンツデータ配信手段は、接続された端末装置 2等に対して、それぞ れ対応するコンテンツデータを所定容量毎に分割しながらコンテンツパケットに格納 し、ネットワーク 6を介して、このコンテンツパケットへ送信する。  [0129] After that, the content data distribution unit stores the corresponding content data in the content packet while dividing the content data for each predetermined capacity with respect to the connected terminal device 2 and the like. Send to content packet.
[0130] なお、コンテンツデータ配信手段は、 DJなどによってキーボード 107などの入力手 段よつて選択されたコンテンツを流すようにしてもよい。但し、選択可能なコンテンツ はコンテンツ投入装置 4から配信されたコンテンツデータである。  [0130] Note that the content data distribution means may flow the content selected by the input means such as the keyboard 107 by the DJ or the like. However, the selectable content is content data distributed from the content input device 4.
[0131] (トポロジー管理手段について)  [0131] (About topology management means)
コンテンツ配信装置 1は、複数の放送チャンネルを割り振られており、トポロジー管 理手段は、割り振られた放送チャンネルに構成されるツリー状階層構造の第 1階層に 参加している端末装置 2の所在情報 (IPアドレスやポート番号など)を放送チャンネル 毎に管理している。そして、上述の配信手段はトポロジー管理手段が管理する端末 装置 2の IPアドレスを宛先アドレスとし、配信用 IPアドレスを送信元として端末装置 2
Figure imgf000033_0001
The content distribution device 1 is assigned with a plurality of broadcast channels, and the topology management means is the location information of the terminal devices 2 participating in the first layer of the tree-like hierarchical structure constituted by the assigned broadcast channels. (IP address, port number, etc.) are managed for each broadcast channel. The above distribution means uses the IP address of the terminal device 2 managed by the topology management means as the destination address, and uses the distribution IP address as the transmission source.
Figure imgf000033_0001
[0132] (表示制御手段について)  [0132] (Display control means)
表示制御手段は、ビデオチップ 109及び内蔵ディスプレイ 110を制御して、コンテ ンッデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、 内蔵ディスプレイ 110にどのようにコンテンツの映像や各種情報を表示するかを制御 すること力 Sできる。  The display control means has a function of controlling the video chip 109 and the built-in display 110 to display content data and various information. That is, the display control means can control how the content video and various information are displayed on the built-in display 110.
[0133] (再生手段について) 再生手段は、放送コンテンツデータ 1 13の中からコンテンツデータを内蔵ディスプ レイ 110に表示したり、内蔵スピーカ 112から出力したりする機能を有している。 [0133] (Reproduction means) The reproduction means has a function of displaying content data from the broadcast content data 113 on the built-in display 110 and outputting it from the built-in speaker 112.
[0134] [3.端末装置 2の構成等の説明]  [3. Description of configuration of terminal device 2]
次に、図 15を参照して、端末装置 2の構成及び動作について更に詳説する。図 15 は、本実施形態における端末装置 2の概略構成例を示す図である。  Next, the configuration and operation of the terminal device 2 will be described in more detail with reference to FIG. FIG. 15 is a diagram illustrating a schematic configuration example of the terminal device 2 in the present embodiment.
[0135] 端末装置 2は、一般のパーソナルコンピュータ或いは専用端末を適用可能であり、 図 15に示すように、 CPU (Central Processing Unit) 202と、各種プログラム等 を記憶 (格納)する書き換え可能な主記憶装置 205と、各種データ等を記憶するハー ドディスク装置 203と、ネットワーク 6を介してネットワーク上のコンテンツ配信装置 1、 接続管理装置 3、コンテンツ投入装置 4、コンタクト先紹介装置 5及び他の端末装置 2 との間で有線通信による通信を行うためのネットワークインタフェース 204と、ユーザ による端末装置 2の遠隔操作が可能な所定の赤外線信号を送信及び受信するユー ザ入力用リモコン 208と、このユーザ入力用リモコン 208と赤外線により通信を行うた めの赤外線ポート 207と、赤外線ポート 207を制御する周辺機器制御チップ 206と、 CPU202からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込む と共にこのビデオメモリに書き込んだデータを後述の内蔵ディスプレイ 210に表示す るビデオチップ 209と、ビデオチップ 209から送信される信号に応じた表示を行う内 蔵ディスプレイ 210と、 FM音源(Frequency Modulation)や Wave Table音源 などの音源を有する音源チップ 211と、音源チップ 211から出力されるオーディオ信 号を音波に変換する内蔵スピーカ 212とを備えて構成され、これらの各種構成要素 はシステムバス 201を介して相互に接続されている。  The terminal device 2 can be a general personal computer or a dedicated terminal. As shown in FIG. 15, a rewritable main memory that stores (stores) a CPU (Central Processing Unit) 202 and various programs and the like. Storage device 205, hard disk device 203 for storing various data and the like, content distribution device 1, connection management device 3, content input device 4, contact destination introduction device 5 and other terminals via network 6 A network interface 204 for performing wired communication with the device 2, a user input remote control 208 for transmitting and receiving a predetermined infrared signal that allows the user to remotely operate the terminal device 2, and the user input An infrared port 207 for performing infrared communication with the remote controller 208, a peripheral device control chip 206 for controlling the infrared port 207, A video chip 209 that receives image data from the CPU 202 and writes it to an internal video memory (not shown) and displays the data written to the video memory on a built-in display 210 described later, and a signal transmitted from the video chip 209 A built-in display 210 that performs display according to the sound source, a sound source chip 211 having a sound source such as an FM sound source (Frequency Modulation) or a Wave Table sound source, and a built-in speaker 212 that converts an audio signal output from the sound source chip 211 into sound These various components are connected to each other via a system bus 201.
[0136] なお、本実施形態においては、 CPU202と主記憶装置 205とで制御部 230を構成 している。また、ネットワークインタフェース 204は、ノレータ 10bを介して、ネットワーク 6 に接続されている。このルータ 10bは、図 1に示すルータ 10に相当するものである。  In the present embodiment, the CPU 202 and the main storage device 205 constitute a control unit 230. The network interface 204 is connected to the network 6 via the norator 10b. This router 10b corresponds to the router 10 shown in FIG.
[0137] 上述したようなユーザ入力用リモコン 208では、コンテンツ配信システム Sにおける コンテンツの購入などの操作が可能である。  [0137] With the user input remote control 208 as described above, operations such as purchase of content in the content distribution system S are possible.
[0138] (主記憶装置 205について)  [About main memory 205]
また、主記憶装置 205には、端末装置 2のコンピュータとしての基本的な機能を提 供するための OSプログラム 217と、第 1配信形態において、コンテンツ配信装置 1か ら直接又は他の端末装置 2に中継されてストリーミング配信されるコンテンツデータを ストリーム受信及び下流の端末装置 2ヘストリーミング送信するためのストリーム制御 プログラム 215と、第 1配信形態において、ツリー接続された一層上流の端末装置 2 ( 或いはコンテンツ配信装置 1)の所在情報 (IPアドレスやポート番号)とツリー接続され た一層下流の端末装置 2の所在情報の管理等を行うためのトポロジー管理プロダラ ム 216と、内蔵ディスプレイ 210を制御するための画面制御プログラム 218と、第 1配 信形態において、上流の装置からストリーミング受信したコンテンツデータをデコード してストリーミング再生したり、第 2配信形態でダウンロードしてハードディスク装置 20 3に記憶したコンテンツデータを再生したりするための音楽デコーダプログラム 219と 、所定の記憶容量を有し、ストリーミング受信したコンテンツデータを順次一時的に記 憶するリングバッファ領域 220と、第 1配信形態でコンテンツデータをストリーミング再 生しており、リモコン 208等の操作によりコンテンツデータのダウンロード要求があつ たときに第 2配信形態によってコンテンツデータをダウンロードするためのコンテンツ 購入プログラム 221等が記憶されており、これらは CPU202によって読み出され、 CP U202によってこれらのプログラムに従った機能が実行される。 The main storage device 205 provides basic functions of the terminal device 2 as a computer. OS program 217 to be provided and in the first distribution form, the content data to be streamed and distributed directly from the content distribution device 1 or to another terminal device 2 is stream-received and transmitted to the downstream terminal device 2 by streaming. For the stream control program 215 and the location information (IP address and port number) of the upstream terminal device 2 (or the content distribution device 1) connected in the tree in the first distribution form. Topology management program 216 for managing location information of device 2, screen control program 218 for controlling built-in display 210, and content data streamed from upstream devices in the first distribution mode It can be decoded and streamed or downloaded in the second distribution form. A music decoder program 219 for playing back the content data stored in the hard disk device 203, a ring buffer area 220 having a predetermined storage capacity and temporarily storing the streamed received content data, Stores content purchase program 221 etc. for downloading content data in the second distribution form when content data is streamed in the first distribution form and there is a request to download content data by operating the remote control 208 etc. These are read by the CPU 202, and functions according to these programs are executed by the CPU 202.
[0139] また、主記憶装置 205には、更にインデックステーブル 222 (図 11参照)を記憶す るためのインデックステーブル記憶領域やルーティングテーブル 223 (図 6参照)を記 憶するためのルーティングテーブル記憶領域が設けられている。  Further, the main storage device 205 further stores an index table storage area for storing the index table 222 (see FIG. 11) and a routing table storage area for storing the routing table 223 (see FIG. 6). Is provided.
[0140] ここで、 OSプログラム 217は、 CPU202によって読み出されて実行されることにより 、ユーザ入力用リモコン 208の入出力に関する機能や、主記憶装置 205やハードデ イスク装置 203などのメモリ管理などの端末装置 2であるコンピュータの基本的な機能 を実行可能にするものである。そして、この OSプログラム 217が CPU202によって実 行された状態で、上述のストリーム制御プログラム 215、トポロジー管理プログラム 21 6、画面制御プログラム 218、音楽デコーダプログラム 219、コンテンツ購入プロダラ ム 221等が主記憶装置 205から読み出されて実行される。  [0140] Here, the OS program 217 is read and executed by the CPU 202, thereby performing functions related to input / output of the user-input remote control 208, memory management of the main storage device 205, the hard disk device 203, and the like. The basic function of the computer which is the terminal device 2 is made executable. Then, with the OS program 217 being executed by the CPU 202, the above-described stream control program 215, topology management program 216, screen control program 218, music decoder program 219, content purchase program 221 and the like are stored in the main storage device 205. Is read from and executed.
[0141] なお、〇Sプログラム 217、ストリーム制御プログラム 215、トポロジー管理プログラム  [0141] 〇S program 217, stream control program 215, topology management program
216、画面制御プログラム 218、音楽デコーダプログラム 219、コンテンツ購入プログ ラム 221等は、例えば、ネットワーク 6に接続されたサーバ等から主記憶装置 205に ダウンロードされるようにしてもよぐまた、 CD— ROM等の記録媒体に記録されてか ら当該記録媒体を介して、主記憶装置 205に読み込まれるようにしてもよい。 216, Screen control program 218, Music decoder program 219, Content purchase program The ram 221 or the like may be downloaded to the main storage device 205 from a server or the like connected to the network 6, for example, and after being recorded on a recording medium such as a CD-ROM, Thus, it may be read into the main storage device 205.
[0142] (制御部 230について)  [0142] (About control unit 230)
制御部 230は、上述のように CPU202と主記憶装置 205とから構成され、 CPU20 2が主記憶装置 205に記憶された各種プログラム 215〜219, 221を読み出して実 行することにより、端末装置 2全体を統括制御し、かつ、後述する接続手段、ストリーミ ング受信手段、表示制御手段、デコード手段、ストリーミング再生手段、ストリーミング 中継手段、識別情報リスト受信手段、識別情報取得手段、判定手段、コンテンツデー タ記憶制御手段、ダウンロード処理手段、メッセージ宛先判定手段、コンテンツ保持 端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識別情 報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送信手 段、メッセージ転送手段、コンテンツ再生手段等として機能するようになっている。  The control unit 230 includes the CPU 202 and the main storage device 205 as described above, and the CPU 202 reads and executes the various programs 215 to 219, 221 stored in the main storage device 205, thereby executing the terminal device 2 Overall control, and connection means, streaming reception means, display control means, decoding means, streaming playback means, streaming relay means, identification information list reception means, identification information acquisition means, determination means, content data, which will be described later Storage control means, download processing means, message destination determination means, content holding terminal device information selection means, content holding terminal device information return means, content identification information calculation means, content registration message generation means, content registration message transmission means, message Functions as transfer means, content playback means, etc. There.
[0143] なお、 CPU202がストリーム制御プログラム 215を実行することによってストリーミン グ受信手段、ストリーミング中継手段等として、また CPU202がトポロジー管理プログ ラム 216を実行することによって、接続手段等として、また CPU202が画面制御プロ グラム 218を実行することによって表示制御手段等として、更に CPU202が音楽デコ ーダプログラム 219を実行することによってデコード手段、ストリーミング再生手段、コ ンテンッ再生手段等として、更に CPU202がコンテンツ購入プログラム 221を実行す ることによって、識別情報リスト受信手段、識別情報取得手段、判定手段、コンテンツ データ記憶制御手段、ダウンロード処理手段、メッセージ宛先判定手段、コンテンツ 保持端末装置情報選択手段、コンテンツ保持端末装置情報返信手段、コンテンツ識 別情報演算手段、コンテンツ登録メッセージ生成手段、コンテンツ登録メッセージ送 信手段、メッセージ転送手段等として、それぞれ機能するようになっている。  It should be noted that the CPU 202 executes the stream control program 215 as a stream receiving means, a streaming relay means, etc., and the CPU 202 executes the topology management program 216 as a connection means, etc. By executing the screen control program 218, the CPU 202 executes the content purchase program 221 as the display control means, and the CPU 202 executes the music decoder program 219 as the decoding means, streaming playback means, content playback means, etc. By executing, identification information list receiving means, identification information acquisition means, determination means, content data storage control means, download processing means, message destination determination means, content holding terminal device information selection means, content holding terminal device information return means , It functions as content identification information calculation means, content registration message generation means, content registration message transmission means, message transfer means, and the like.
[0144] (接続手段について)  [0144] (About connection methods)
接続手段は、端末装置 2をコンテンツ配信システム Sの第 1配信形態へ参加させる ために、接続先紹介要求をネットワーク 6を介して接続管理装置 3へ送信し、その後、 接続管理装置 3からネットワーク 6を開始して通知された接続先候補に接続する。 [0145] より具体的には、接続手段は、端末装置 2をコンテンツ配信システム Sの第 1配信形 態へ参加させるために、接続管理装置 3へ登録要求をネットワーク 6を介して送信し て接続管理装置 3へ登録し、更に接続先紹介要求をネットワーク 6を介して送信して 接続管理装置 3へ接続先候補を要求する機能を有してレ、る。この登録要求や接続先 紹介要求には、 自端末装置 2の所在情報等を含む。 The connection means transmits a connection destination introduction request to the connection management device 3 via the network 6 in order to cause the terminal device 2 to participate in the first distribution form of the content distribution system S, and then from the connection management device 3 to the network 6. To connect to the notified connection destination candidate. More specifically, the connection means transmits a registration request to the connection management device 3 via the network 6 and connects the terminal device 2 to participate in the first distribution mode of the content distribution system S. It has a function of registering to the management apparatus 3 and further transmitting a connection destination introduction request via the network 6 to request a connection destination candidate from the connection management apparatus 3. This registration request and connection destination introduction request include location information of the own terminal device 2 and the like.
[0146] また、接続手段は、接続管理装置 3へ送信した接続先紹介要求に対して、接続管 理装置 3からネットワーク 6を介して通知される接続先候補の情報、すなわち接続先 候補の端末装置の所在情報である IPアドレスやポート番号などの情報 (以下、接続 先候補の情報を含めて、「接続先候補」と略すことがある。)を受信する機能を有する  [0146] Further, the connection means responds to the connection destination introduction request transmitted to the connection management device 3, and information on the connection destination candidate notified from the connection management device 3 via the network 6, that is, the connection destination candidate terminal It has a function to receive information such as IP address and port number (hereinafter abbreviated as “connection destination candidates” including information on connection destination candidates), which is device location information.
[0147] 更に、接続手段は、受信した接続先候補の情報に基づいて、その接続先候補への 論理接続を行う機能を有する。すなわち、接続手段は、接続先候補の情報に基づい て、接続先候補の IPアドレス及びポート番号等をあて先とした接続要求を行い、接続 先候補との論理接続を行う。このように接続先候補と接続することによって第 1配信形 態に参加、すなわち自端末装置 2をツリー状階層構造の一部に組み込むことが可能 となる。 Furthermore, the connection means has a function of performing a logical connection to the connection destination candidate based on the received connection destination candidate information. In other words, the connection means makes a connection request with the destination IP address and port number as the destination based on the destination candidate information, and makes a logical connection with the destination candidate. By connecting with the connection destination candidates in this way, it is possible to participate in the first distribution mode, that is, to incorporate the own terminal device 2 into a part of the tree-like hierarchical structure.
[0148] (ストリーミング受信手段について)  [0148] (About streaming receiving means)
ストリーミング受信手段は、ネットワークインタフェース 204を介して第 1配信形態に よって上流装置、すなわち上流に論理接続したコンテンツ配信装置 1又は上流に接 続された端末装置 2からコンテンツパケットとして送信されるコンテンツデータをストリ 一ミング受信し、このようにストリーミング受信したコンテンツデータをリングバッファ領 域 220に順次記憶する。なお、コンテンツデータ受信手段や後述のコンテンツデータ 中継手段は、公知のストリーミング配信用プロトコルを用いることができるほか、独自 の専用プロトコルを用いるようにすることもできる。  The streaming receiving means receives content data transmitted as a content packet from the upstream device, that is, the content distribution device 1 logically connected upstream or the terminal device 2 connected upstream by the first distribution form via the network interface 204. Streaming reception is performed, and the content data thus streamed is stored in the ring buffer area 220 sequentially. Note that the content data receiving means and the content data relay means described later can use a known streaming distribution protocol, or can use a unique dedicated protocol.
[0149] (ストリーミング再生手段について)  [0149] (About streaming playback means)
ストリーミング再生手段は、ネットワークインタフェース 204を介して第 1配信形態に よって上流装置からストリーミング受信してリングバッファ領域 220に順次記憶された コンテンツデータを順次再生する機能を有してレ、る。 [0150] このストリーミング再生手段は、音源チップ 211やビデオチップ 209を動作させるこ とによってこの機能を実現しており、リングバッファ領域 220に格納したコンテンツデ ータを順次取り出して、所定のコンテンツデータ形式 (たとえば、 Wave形式)に変換 して音源チップ 211やビデオチップ 209へ入力し、コンテンツの再生を行う。 The streaming playback means has a function of sequentially playing back the content data stream-received from the upstream device through the network interface 204 in the first distribution form and sequentially stored in the ring buffer area 220. [0150] This streaming reproduction means realizes this function by operating the sound source chip 211 and the video chip 209, and sequentially retrieves the content data stored in the ring buffer area 220 to obtain predetermined content data. It is converted into a format (for example, Wave format) and input to the sound source chip 211 or the video chip 209, and the content is played back.
[0151] ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコンテン ッデータは、そのコンテンツデータがオーディオ情報を含む場合には、そのオーディ ォ情報が音源チップ 211によってオーディオ信号へ変換された後、内蔵スピーカ 21 2から出力される。  [0151] The content data converted into the predetermined content data format by the streaming playback means is stored in the audio data after the audio information is converted into the audio signal by the sound source chip 211 when the content data includes audio information. Output from speaker 21 2.
[0152] また、ストリーミング再生手段によって所定のコンテンツデータ形式に変換されたコ ンテンッデータは、そのコンテンツデータに映像情報が含まれるときには、後述の表 示制御手段による制御によってこの映像情報が内蔵ディスプレイ 210に表示される。  [0152] In addition, when the content data converted into the predetermined content data format by the streaming playback means includes video information, the video information is stored in the built-in display 210 under the control of the display control means described later. Is displayed.
[0153] また、ストリーミング再生手段は、リングバッファ領域 220に格納されたコンテンツデ ータに含まれる再生開始時刻情報に基づいて、当該コンテンツデータを再生するタ イミングを決定する。すなわち、再生手段は、リングバッファ領域 220に格納されたコ ンテンッデータをその再生開始時刻で内蔵スピーカ 212や内蔵ディスプレイ 210に 出力するように構成されてレ、る。  [0153] Also, the streaming playback means determines the timing for playing back the content data based on the playback start time information included in the content data stored in the ring buffer area 220. That is, the playback means is configured to output the content data stored in the ring buffer area 220 to the built-in speaker 212 and the built-in display 210 at the playback start time.
[0154] (表示制御手段について)  [0154] (Display control means)
表示制御手段は、ビデオチップ 209及び内蔵ディスプレイ 210を制御して、コンテ ンッデータや各種情報を表示する機能を有している。すなわち、表示制御手段は、 内蔵ディスプレイ 210にどのようにコンテンツの映像や各種情報を表示するかを制御 すること力 Sできる。  The display control means has a function of controlling the video chip 209 and the built-in display 210 to display content data and various information. That is, the display control means can control how the content video and various information are displayed on the built-in display 210.
[0155] (ストリーミング中継手段について)  [0155] (About streaming relay means)
ストリーミング中継手段は、第 1配信形態における上流装置、すなわちコンテンツ配 信装置 1又は上流に接続された端末装置 2からネットワーク 6を介してストリーミング受 信されたコンテンツデータを、下流に接続された他の端末装置 2へネットワーク 6を介 して転送する。  The streaming relay means is configured to receive content data stream-received via the network 6 from the upstream device in the first distribution form, that is, the content distribution device 1 or the terminal device 2 connected upstream, to other downstream devices. Transfer to terminal device 2 via network 6.
[0156] (識別情報リスト受信手段について)  [0156] (Identification information list receiving means)
識別情報リスト受信手段は、コンテンツ投入装置 4から送信される識別情報リストを 受信する機能を有している。コンテンツ投入装置 4から送信される識別情報リストは、 第 2配信形態においてダウンロード可能なコンテンツデータの名称名とコンテンツ ID とが関連付けられた情報であり、 自端末装置 2が第 2配信形態に参加したときにコン テンッ投入装置 4へ識別情報リストの送信要求を行うことによって、コンテンツ投入装 置 4から送信されるものである。また、コンテンツ投入装置 4は新たにコンテンツ配信 装置 1または端末装置 2に対して所定数のコンテンツデータを投入したときには、更 新した識別情報リストを各端末装置 2へ送信或いはその旨を通知するようにしてレ、る The identification information list receiving means receives the identification information list transmitted from the content input device 4. It has a function to receive. The identification information list transmitted from the content input device 4 is information in which the name and content ID of content data that can be downloaded in the second distribution form are associated with each other, and the terminal device 2 has participated in the second distribution form. The content input device 4 transmits the identification information list to the content input device 4 from time to time. In addition, when a predetermined number of content data items are newly input to the content distribution device 1 or the terminal device 2, the content input device 4 transmits or notifies the updated identification information list to each terminal device 2. N
[0157] なお、 自端末装置 2が第 2配信形態に参加したときにコンテンツ投入装置 4へ識別 情報リストの送信要求を行うだけではなぐ第 1配信形態においてストリーミング再生 手段によって再生されるコンテンツデータに関してダウンロード要求の操作があった ときに、コンテンツ投入装置 4に対し、識別情報リスト受信手段によって、識別情報リ ストを要求し、受信するようにしてもよい。 [0157] Regarding the content data reproduced by the streaming reproduction means in the first distribution form, not only by making a transmission request for the identification information list to the content input apparatus 4 when the own terminal apparatus 2 participates in the second distribution form. When a download request operation is performed, the identification information list may be requested and received from the content input device 4 by the identification information list receiving means.
[0158] (識別情報取得手段について)  [0158] (Identification information acquisition means)
識別情報取得手段は、第 1配信形態においてストリーミング受信手段によって受信 され、ストリーミング再生手段により再生されるコンテンツデータに関してダウンロード 要求の操作があると、ダウンロード要求されたコンテンツデータを第 2配信形態で取 得するために、ダウンロード要求されたコンテンツデータの識別情報であるコンテンツ IDを取得する。すなわち、識別情報取得手段は、識別情報リスト受信手段によって 受信した識別情報リストからダウンロード要求されたコンテンツデータの識別情報であ るコンテンツ IDを取得する。  The identification information acquisition means acquires the download requested content data in the second distribution form when there is a download request operation for the content data received by the streaming receiving means in the first distribution form and reproduced by the streaming playback means. Therefore, the content ID that is the identification information of the content data requested to be downloaded is acquired. That is, the identification information acquisition unit acquires the content ID that is the identification information of the content data requested for download from the identification information list received by the identification information list reception unit.
[0159] ここで、「第 1配信形態においてストリーミング受信手段によって受信され、ストリーミ ング再生手段によって再生されるコンテンツデータ」とは、図 12に示すような画面が 内蔵ディスプレイ 210に表示されるような場合には、ストリーミング再生中のコンテンツ データのみに限定されるが、図 13に示すような画面が内蔵ディスプレイ 210に表示さ れるような場合には、ストリーミング再生中のコンテンツデータのみに限定されず、過 去に再生したコンテンツデータや将来再生予定のコンテンツデータをも含む。  Here, “content data received by the streaming receiving means in the first distribution form and played by the streaming playback means” means that a screen as shown in FIG. 12 is displayed on the built-in display 210. In this case, the content data is limited to only the content data being played back by streaming, but when the screen shown in FIG. 13 is displayed on the built-in display 210, the content data is not limited to the content data being played back by streaming. It includes content data that was played back in the past and content data that is scheduled for playback in the future.
[0160] なお、識別情報取得手段は、ダウンロード要求されたコンテンツデータのコンテンツ IDのみをコンテンツ投入装置 4から取得するようにしてもよい。この場合、識別情報取 得手段は、ダウンロード要求されたコンテンツデータの名称をコンテンツ投入装置 4 へ送信して、ダウンロード要求されたコンテンツデータのコンテンツ IDを取得する。 [0160] It should be noted that the identification information acquisition means is the content of the content data requested to be downloaded. Only the ID may be acquired from the content input device 4. In this case, the identification information acquisition unit transmits the name of the content data requested to be downloaded to the content input device 4 and acquires the content ID of the content data requested to be downloaded.
[0161] また、識別情報取得手段は、後述するコンテンツ識別情報演算手段によってダウン ロード要求されたコンテンツデータのコンテンツ IDを求めるようにしてもよレ、。すなわ ち、ダウンロード要求されたコンテンツデータの名称をキーワードとして上記ハッシュ 関数によりハッシュ化することによってコンテンツ IDを求めるのである。このようにダウ ンロード要求されたコンテンツデータの名称をキーワードとしてコンテンツ IDを求める ことにより、端末装置 2における第 2配信形態でのダウンロード処理がし易くなる。な お、第 2配信形態によってダウンロード可能なコンテンツの名称は、コンテンツ投入装 置 4から一覧表などの形式で取得し、コンテンツ識別情報演算手段は、この一覧表な どからコンテンツの名称を取得することで、コンテンツ IDを算出することができる。  [0161] Further, the identification information acquisition means may obtain the content ID of the content data requested to be downloaded by the content identification information calculation means described later. In other words, the content ID is obtained by hashing with the hash function using the name of the content data requested for download as a keyword. By obtaining the content ID using the name of the content data requested for download in this way as a keyword, the download processing in the second distribution form in the terminal device 2 is facilitated. The name of the content that can be downloaded in the second distribution form is acquired from the content input device 4 in the form of a list, etc., and the content identification information calculation means acquires the name of the content from this list or the like. Thus, the content ID can be calculated.
[0162] (判定手段)  [0162] (Judgment means)
判定手段は、ダウンロード要求されたコンテンツデータ全体がリングバッファ領域 22 0に蓄積されてレ、るか否かを判定する。  The determination means determines whether or not the entire content data requested to be downloaded is stored in the ring buffer area 220.
[0163] (コンテンツデータ記憶制御手段)  [0163] (Content data storage control means)
コンテンツデータ記憶制御手段は、この判定手段によって、ダウンロード要求された コンテンツデータ全体力 Sリングバッファ領域 220に蓄積されていると判定すると、第 2 配信形態によってコンテンツデータのダウンロードを行わずに、リングバッファ領域 22 0に蓄積されているコンテンツデータをハードディスク装置 203のコンテンツデータ記 憶領域に記憶する。  When the content data storage control unit determines that the content data requested for download is stored in the S-ring buffer area 220 by the determination unit, the content data storage control unit does not download the content data in the second distribution form, and does not download the content data. The content data stored in the area 220 is stored in the content data storage area of the hard disk device 203.
[0164] (ダウンロード処理手段)  [0164] (Download processing means)
ダウンロード処理手段は、識別情報取得手段によって取得されたコンテンツデータ の識別情報に基づいて、ダウンロード要求されたコンテンツデータを第 2配信形態の 端末装置力 ダウンロードする機能を有しており、ダウンロード先検索手段、ダウン口 ード送信要求手段、ダウンロードデータ受信手段など力 構成されている。  The download processing means has a function of downloading the content data requested for download based on the identification information of the content data acquired by the identification information acquisition means, and the terminal device of the second distribution form, and download destination search means In addition, it is composed of down-port transmission request means and download data reception means.
[0165] ダウンロード先検索手段は、識別情報取得手段によって取得されたコンテンツデー タのコンテンツ IDに基づいて、ダウンロード要求されたコンテンツデータを保持するコ ンテンッ保持端末装置を検索する。 [0165] The download destination search means stores the content data requested to be downloaded based on the content ID of the content data acquired by the identification information acquisition means. Search for a content holding terminal device.
[0166] コンテンツ保持端末装置の検索は、識別情報取得手段によって取得されたコンテ ンッ IDを宛先識別情報としたコンテンツ検索メッセージを生成し、そのコンテンツ IDと 同じエリアの端末 IDを持つ端末装置の所在情報をルーティングテーブル 223から取 り出して、その端末装置へコンテンツ検索メッセージを送信することによって行う。  [0166] The search for the content holding terminal device generates a content search message with the content ID acquired by the identification information acquisition means as the destination identification information, and the location of the terminal device having the terminal ID in the same area as the content ID is determined. Information is extracted from the routing table 223 and a content search message is transmitted to the terminal device.
[0167] そして、コンテンツ検索メッセージに対して、識別情報取得手段によって取得された コンテンツ IDのコンテンツデータを保持するコンテンツ保持端末装置の所在情報が ルート端末装置から送信される。  Then, in response to the content search message, the location information of the content holding terminal device that holds the content data of the content ID acquired by the identification information acquisition unit is transmitted from the root terminal device.
[0168] このようにして、ダウンロード先検索手段は、ダウンロード要求されたコンテンツデー タを保持するコンテンツ保持端末装置を検索する。  [0168] In this way, the download destination search means searches for a content holding terminal device that holds content data requested to be downloaded.
[0169] また、ダウンロード送信要求手段は、ダウンロード先検索手段によって検索されたコ ンテンッ保持端末装置に、ダウンロード要求されたコンテンツデータの送信をネットヮ ーク 6を介して要求(以下、「ダウンロード送信要求」と呼ぶ。)する。このダウンロード 送信要求は、コンテンツ保持端末装置の所在情報を宛先として、ダウンロード要求に 対応するコンテンツデータのコンテンツ IDを設定するものである。なお、ダウンロード 先検索手段によって検索されたコンテンツ保持端末装置が複数ある場合には、近隣 のコンテンツ保持端末装置の一つに対してダウンロード送信要求が行われる。  [0169] Further, the download transmission request means requests the content holding terminal device searched by the download destination search means to transmit the content data requested for download via the network 6 (hereinafter referred to as "download transmission request"). "). This download transmission request sets the content ID of the content data corresponding to the download request with the location information of the content holding terminal device as the destination. When there are a plurality of content holding terminal devices searched by the download destination searching means, a download transmission request is made to one of the nearby content holding terminal devices.
[0170] ここで、「近隣のコンテンツ保持端末装置」とは、ダウンロード送信要求を行う端末装 置力 コンテンツ保持端末装置と DHTルーティングにおレ、て端末 IDが近レ、端末装 置、或いは、物理ネットワークにおいて近いコンテンツ保持端末装置を意味する。特 に、ダウンロード送信要求を行うコンテンツ保持端末装置を物理ネットワークにおレ、て 近レ、コンテンツ保持端末装置とする場合には、コンテンツ保持端末装置からのコンテ ンッデータのダウンロードを短時間で行うことができる。なお、「物理ネットワークにお いて近い」とは、ダウンロード送信要求を行う端末装置からのメッセージ到達時間が 短レ、、或いはダウンロード送信要求を行う端末装置からのポップ数 (ルータを経由す る数)が少ない等を意味する。  [0170] Here, the "neighboring content holding terminal device" is a terminal device that makes a download transmission request. The content holding terminal device is connected to the DHT routing, and the terminal ID is close, the terminal device, or This means a content holding terminal device close to the physical network. In particular, if the content holding terminal device that makes a download transmission request is a physical network, a near-end, or content holding terminal device, content data can be downloaded from the content holding terminal device in a short time. it can. Note that “close to the physical network” means that the message arrival time from the terminal device making the download transmission request is short, or the number of pops from the terminal device making the download transmission request (number via the router). Means less.
[0171] また、ダウンロードデータ受信手段は、ダウンロード要求されたコンテンツデータを 保持するコンテンツ保持端末装置力 ダウンロード要求されたコンテンツデータをネ ットワーク 6を介して受信する。コンテンツ保持端末装置から送信されるコンテンツデ ータは、第 1配信形態のようなストリーミング形式ではなぐダウンロード形式のデータ である。 [0171] Further, the download data receiving means stores the content data requested to be downloaded and stores the content data requested to be downloaded. Received via network 6. The content data transmitted from the content holding terminal device is data in a download format that is not in the streaming format as in the first distribution mode.
[0172] ダウンロード受信手段により受信したコンテンツデータは、制御部 230によって、ハ ードディスク装置 203のコンテンツデータ記憶領域 (コンテンツデータ記憶手段に相 当)に記憶される。  The content data received by the download receiving means is stored in the content data storage area (corresponding to the content data storage means) of the hard disk device 203 by the control unit 230.
[0173] (メッセージ宛先判定手段について)  [Message destination judgment means]
メッセージ宛先判定手段は、ネットワーク 6を介して受信したメッセージの宛先識別 情報とルーティングテーブルとに基づレ、て、受信したメッセージが自端末装置 2宛で あるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、上述 のコンテンツ検索メッセージ、コンテンツ登録メッセージなどである。  The message destination determination means determines whether or not the received message is addressed to its own terminal device 2 based on the destination identification information of the message received via the network 6 and the routing table. The message determined by the message destination determination means is the above-described content search message, content registration message, or the like.
[0174] 受信したメッセージが自端末装置 2宛であるか否かの判定は、メッセージに含まれ る宛先端末 ID (宛先識別情報)を取り出し、主記憶装置 205に記憶したルーティング テーブルに基づいて判定する。すなわち、各種のメッセージをネットワークインタフエ ース 204を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含 まれる宛先識別情報とルーティングテーブル 223に記憶した端末 IDとを比較し、メッ セージに含まれる宛先識別情報と一番近いルーティングテーブル 223上の端末 ID が自端末装置 2の端末 IDであると判定すると、自端末装置 2宛のメッセージであると 判定する。  [0174] Whether or not the received message is addressed to the own terminal device 2 is determined based on the routing table stored in the main storage device 205 by extracting the destination terminal ID (destination identification information) included in the message. To do. That is, when various messages are received via the network interface 204, the message destination determination means compares the destination identification information included in the received message with the terminal ID stored in the routing table 223, and then compares the message. If it is determined that the terminal ID on the routing table 223 closest to the destination identification information included in the message is the terminal ID of the own terminal apparatus 2, it is determined that the message is addressed to the own terminal apparatus 2.
[0175] (コンテンツ保持端末装置情報選択手段について)  [0175] (Content holding terminal information selection means)
コンテンツ保持端末装置情報選択手段は、メッセージ宛先判定手段によりネットヮ ーク 6を介して受信したメッセージが自端末装置 2宛であり、かつコンテンツ検索メッ セージであると判定すると、インデックステーブル 222からコンテンツ検索メッセージ が対象とするコンテンツ IDのコンテンツデータを保持するコンテンツ保持端末装置の 所在情報を選択する。なお、インデックステーブル 222にコンテンツ保持端末装置の 所在情報が複数ある場合には、それらを全部或いはレ、くつか選択する。  When the content holding terminal device information selection unit determines that the message received by the message destination determination unit via the network 6 is addressed to its own terminal device 2 and is a content search message, the content search is performed from the index table 222. The location information of the content holding terminal device that holds the content data of the content ID targeted by the message is selected. If there are a plurality of pieces of location information of content holding terminal devices in the index table 222, all or some of them are selected.
[0176] (コンテンツ保持端末装置情報返信手段について) (About content holding terminal device information return means)
コンテンツ保持端末装置情報返信手段は、コンテンツ保持端末装置情報選択手段 によって選択されたコンテンツ保持端末装置の所在情報を、リクエスト端末装置へネ ットワーク 6を介して返信する。 The content holding terminal device information return means is content holding terminal device information selection means. The location information of the content holding terminal device selected by (2) is returned to the requesting terminal device via the network 6.
[0177] (コンテンツ識別情報演算手段について) [0177] (About content identification information calculation means)
コンテンツ識別情報演算手段は、コンテンツデータの固有情報を上記の如く所定 のハッシュ関数によって演算することによってコンテンツデータの識別情報であるコン テンッ IDを演算する。  The content identification information calculation means calculates the content ID which is the identification information of the content data by calculating the unique information of the content data by a predetermined hash function as described above.
[0178] (コンテンツ登録メッセージ生成手段について)  [0178] (About content registration message generation means)
コンテンツ投入装置 4からコンテンツデータを受信したとき、受信したコンテンツデ ータをコンテンツデータ記憶手段であるハードディスク装置 203に記憶する。又、コン テンッデータのコンテンツの名称をコンテンツ識別情報演算手段によって演算したコ ンテンッ IDを宛先識別情報とし、自端末装置の端末 ID及び IPアドレスを含むコンテ ンッ登録メッセージを生成する。  When content data is received from the content input device 4, the received content data is stored in the hard disk device 203, which is a content data storage means. In addition, a content registration message including the terminal ID and IP address of the local terminal device is generated using the content ID calculated by the content identification information calculation means as the destination identification information.
[0179] (コンテンツ登録メッセージ送信手段について)  [0179] (Content registration message transmission means)
コンテンツ登録メッセージ送信手段は、コンテンツ登録メッセージ生成手段によって 生成したコンテンツ登録メッセージを、ハードディスク装置 203に記憶したコンテンツ データのコンテンツ IDに基づいて、ルーティングテーブル 223に記憶された端末装 置の識別情報から送信先端末装置を選択して送信する。例えば、図 6に示すような ルーティングテーブルを有しており、かつハードディスク装置 203に記憶したコンテン ッデータのコンテンツ IDが「1231」である場合、コンテンツ登録メッセージ送信手段は 、ルーティングテーブルから端末 ID「1221」を送信先端末装置として選択し、当該端 末 ID「1221」の端末装置の IPアドレス「21.13.21.13」を取り出す。そして、当該 IPアド レス「21.13.21.13」を送信先端末装置としてコンテンツ登録メッセージを送信する。な お、このコンテンツ登録メッセージの宛先識別情報は「1231」となる。  The content registration message transmitting means transmits the content registration message generated by the content registration message generating means from the terminal device identification information stored in the routing table 223 based on the content ID of the content data stored in the hard disk device 203. Select the destination terminal device and transmit. For example, if the content ID of the content data stored in the hard disk device 203 is “1231”, and the content registration message transmission means has a routing table as shown in FIG. "Is selected as the destination terminal device, and the IP address" 21.13.21.13 "of the terminal device with the terminal ID" 1221 "is extracted. Then, the content registration message is transmitted using the IP address “21.13.21.13” as the destination terminal device. The destination identification information of this content registration message is “1231”.
[0180] (メッセージ転送手段について)  [0180] (About message transfer means)
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク 6を介して受信し たメッセージが自端末装置宛ではないと判定されると、受信したメッセージの宛先識 別情報に基づレ、て、転送先の端末装置の所在情報をルーティングテーブル 223から 取り出し、転送先の端末装置へ受信したメッセージを転送する。 [0181] (デコード手段について) When the message destination determination means determines that the message received via the network 6 is not destined for its own terminal device, the message transfer means determines the transfer destination based on the destination identification information of the received message. The location information of the terminal device is extracted from the routing table 223, and the received message is transferred to the destination terminal device. [0181] (About decoding means)
デコード手段は、他の端末装置 2から送信されるコンテンツデータ等をディスプレイ 210に表示し、スピーカ 212から出力するためにデコードする。すなわち、他の端末 装置 2から送信されるコンテンツデータは、ストリーミング配信用のデータ形式、例え ば ASF、 WMA、 WMV等のデータ形式でエンコードされており、このようにェンコ一 ドされているコンテンツデータをディスプレイ 210やスピーカ 212から出力できるように デコードする。  The decoding means displays the content data transmitted from the other terminal device 2 on the display 210 and decodes it for output from the speaker 212. That is, the content data transmitted from the other terminal device 2 is encoded in a data format for streaming delivery, for example, ASF, WMA, WMV, etc., and the content data encoded in this way is encoded. Is decoded so that it can be output from display 210 or speaker 212.
[0182] (コンテンツ再生手段について)  [0182] (About content playback means)
コンテンツ再生手段は、ハードディスク装置 203に記憶したコンテンツデータを取り 出して再生するものであり、このとき制御部 230は、ストリーム制御プログラム 215に基 づいてビデオチップ 209及び音源チップ 211を動作させることによりコンテンツデータ が再生される。  The content playback means extracts and plays back the content data stored in the hard disk device 203. At this time, the control unit 230 operates the video chip 209 and the sound source chip 211 based on the stream control program 215. Content data is played back.
[0183] [4.接続管理装置 3の構成等の説明]  [0183] [4. Explanation of Configuration of Connection Management Device 3]
次に、図 16を参照して、接続管理装置 3の構成及び動作について説明する。  Next, the configuration and operation of the connection management device 3 will be described with reference to FIG.
[0184] 図 16は、本実施形態における接続管理装置 3の概略構成例を示す図である。接続 管理装置 3は、一般のサーバコンピュータを適用可能であり、図 16に示すように、 CP U (Central Processing Unit) 302と、各種プログラム等を記憶(格納)する書き 換え可能な主記憶装置 305と、各種データ等を記憶するハードディスク装置 303と、 ネットワーク 6を介してコンテンツ配信装置 1、コンテンツ投入装置 4や端末装置 2との 間で通信を行うネットワークインタフェース 304と、所定の情報を入力可能なキーボー ド 307やマウス 308等の入力手段を制御する周辺機器制御チップ 306と、 CPU302 力 イメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込むと共にこ のビデオメモリに書き込んだデータをディスプレイ 310に表示するビデオチップ 309と を備えて構成され、これらの各種構成要素はシステムバス 301を介して相互に接続さ れている。  FIG. 16 is a diagram showing a schematic configuration example of the connection management device 3 in the present embodiment. The connection management device 3 is applicable to a general server computer. As shown in FIG. 16, a CPU (Central Processing Unit) 302 and a rewritable main storage device 305 that stores (stores) various programs and the like. And a hard disk device 303 for storing various data, a network interface 304 for communicating with the content distribution device 1, the content input device 4 and the terminal device 2 via the network 6, and predetermined information can be input. Peripheral device control chip 306 that controls input means such as keyboard 307 and mouse 308, and CPU 302 receives image data and writes it to the internal video memory (not shown) and displays the data written to this video memory on display 310 These various components are connected to each other via a system bus 301. It has been.
[0185] なお、本実施形態においては、 CPU302と主記憶装置 305とで制御部 330を構成 している。なお、ネットワークインタフェース 304は、ルータ 10cを介して、ネットワーク 6に接続されている。このルータ 10cは、図 1に示すルータ 10に相当するものである。 [0186] (主記憶装置 305について) In the present embodiment, the control unit 330 is configured by the CPU 302 and the main storage device 305. The network interface 304 is connected to the network 6 via the router 10c. This router 10c corresponds to the router 10 shown in FIG. [About main memory 305]
また、主記憶装置 305には、接続管理装置 3のコンピュータとしての基本的な機能 を提供するための OSプログラム 317と、複数の端末装置 2の所在情報 (IPアドレスや ポート番号など)などを管理するための端末管理プログラム 318と、コンテンツ配信装 置を頂点として複数の端末装置がネットワーク上にツリー状階層構造で多層に論理 接続されるように構築及び管理等するためのトポロジー管理プログラム 319と、端末 装置 2から送信される接続先紹介要求に対して接続先候補を選択し、端末装置 2へ 接続先候補の情報を送信等するための接続先紹介プログラム 320等が記憶されて おり、これらは CPU302によって読み出され、 CPU302によってこれらのプログラム に従った機能が実行される。  The main storage device 305 manages the OS program 317 for providing the basic functions of the connection management device 3 as a computer, and the location information (IP addresses, port numbers, etc.) of multiple terminal devices 2. A terminal management program 318, and a topology management program 319 for constructing and managing a plurality of terminal devices in a tree-like hierarchical structure on a network in a tree-like hierarchical structure with the content distribution device at the top, A connection destination introduction program 320 for selecting a connection destination candidate in response to a connection destination introduction request transmitted from the terminal device 2 and transmitting connection destination candidate information to the terminal device 2 is stored. The function is read by the CPU 302 and executed by the CPU 302 according to these programs.
[0187] ここで、〇Sプログラム 317は、 CPU302によって読み出されて実行されることにより 、キーボード 307やマウス 308の入出力に関する機能や、主記憶装置 305やハード ディスク装置 303などのメモリ管理などの接続管理装置 3であるコンピュータの基本 的な機能を実行可能にするものである。そして、この OSプログラム 317が CPU302 によって実行された状態で、上述の端末管理プログラム 318、トポロジー管理プログ ラム 319、接続先紹介プログラム 320等が実行される。  [0187] Here, the S program 317 is read and executed by the CPU 302 to perform functions related to input / output of the keyboard 307 and mouse 308, memory management of the main storage device 305, the hard disk device 303, etc. This makes it possible to execute the basic functions of the computer, which is the connection management device 3. Then, with the OS program 317 being executed by the CPU 302, the terminal management program 318, topology management program 319, connection destination introduction program 320, etc. described above are executed.
[0188] なお、 OSプログラム 317、端末管理プログラム 318、トポロジー管理プログラム 319 、接続先紹介プログラム 320等は、例えば、ネットワーク 6に接続されたサーバ等から 主記憶装置 305にダウンロードされるようにしてもよぐまた、 CD— ROM等の記録媒 体に記録されてから当該記録媒体を介して、主記憶装置 305に読み込まれるように してもよい。  Note that the OS program 317, terminal management program 318, topology management program 319, connection destination introduction program 320, and the like may be downloaded to the main storage device 305 from, for example, a server connected to the network 6. Alternatively, it may be recorded on a recording medium such as a CD-ROM and then read into the main storage device 305 via the recording medium.
[0189] (制御部 330について)  [0189] (About control unit 330)
制御部 330は、上述のように CPU302と主記憶装置 305とから構成され、 CPU30 2が主記憶装置 305に記憶された各種プログラム 317〜320を読み出して実行する ことにより、接続管理装置 3全体を統括制御し、かつ、後述する接続先紹介要求受信 手段、接続先候補選択手段、接続先候補通知手段、トポロジー管理手段、端末管理 手段等として機能する。更に、ハードディスク装置 303は、コンテンツ配信装置 1を頂 点として、ネットワーク 6上において階層構造で多層に論理接続された複数の端末装 置の接続状態情報を記憶する接続状態情報記憶手段として使用される。 The control unit 330 includes the CPU 302 and the main storage device 305 as described above, and the CPU 302 reads and executes the various programs 317 to 320 stored in the main storage device 305, so that the entire connection management device 3 is processed. It performs overall control and functions as connection destination introduction request receiving means, connection destination candidate selection means, connection destination candidate notification means, topology management means, terminal management means, etc., which will be described later. Further, the hard disk device 303 has a plurality of terminal devices logically connected in multiple layers in a hierarchical structure on the network 6 with the content distribution device 1 as a top. It is used as connection state information storage means for storing the connection state information of the device.
[0190] なお、 CPU302が端末管理プログラム 318を実行することによって、端末管理手段 等として、また CPU302がトポロジー管理プログラム 319を実行することによってトポ ロジー管理手段等として、更に CPU302が接続先紹介プログラム 320を実行するこ とによって接続先紹介要求受信手段、接続先候補選択手段、接続先候補通知手段 等として、それぞれ機能する。  Note that the CPU 302 executes the terminal management program 318 as a terminal management unit and the like, and the CPU 302 executes the topology management program 319 as a topology management unit and the like. By executing this, it functions as a connection destination introduction request receiving means, a connection destination candidate selecting means, a connection destination candidate notifying means, and the like.
[0191] (端末管理手段にっレ、て)  [0191] (Terminal management means)
端末管理手段は、端末装置 2からの登録要求を受信すると、端末管理データべ一 ス 314へこの端末装置 2の所在情報である IPアドレスなどを放送チャンネル毎に登録 する。また、コンテンツ配信装置 1からの登録要求を受信した場合も、このコンテンツ 配信装置 1の所在情報である IPアドレスなどを各放送チャンネル毎に端末管理デー タベース 314に登録する。なお、これらの端末装置 2の所在情報は端末装置 2からの 登録要求に含まれ、この登録要求から所在情報を取得する。  When receiving the registration request from the terminal device 2, the terminal management means registers the IP address, etc., which is the location information of the terminal device 2 in the terminal management data base 314 for each broadcast channel. Also, when a registration request is received from the content distribution apparatus 1, the location information of the content distribution apparatus 1 is registered in the terminal management database 314 for each broadcast channel. The location information of the terminal device 2 is included in the registration request from the terminal device 2, and the location information is acquired from the registration request.
[0192] (トポロジー管理手段について)  [0192] (About topology management means)
トポロジー管理手段は、コンテンツ配信装置 1から送信される第 1配信形態の生成 要求に基づいて、ツリー状階層構造を生成するための新規トポロジー生成手段と、端 末装置 2の接続先紹介要求後のトポロジー参加報告や接続切断通知などのトポロジ 一変動通知によってツリー状階層構造における端末装置 2の接続情報を変更するト ポロジー変更手段としての機能を有している。また、トポロジー管理手段は、階層構 造を構成する端末装置 2の接続状態情報を接続状態情報記憶手段としてのトポロジ 一データベース 315へ記憶する。  The topology management means includes a new topology generation means for generating a tree-like hierarchical structure based on the first distribution form generation request transmitted from the content distribution device 1, and a connection destination introduction request for the terminal device 2. It has a function as a topology change means for changing connection information of the terminal device 2 in the tree-like hierarchical structure by topology change notification such as topology participation report and connection disconnection notification. Further, the topology management means stores the connection status information of the terminal devices 2 constituting the hierarchical structure in the topology one database 315 as the connection status information storage means.
[0193] 新規トポロジー生成手段は、コンテンツ投入装置 4から第 1配信形態の生成要求を 受信すると、トポロジーテーブルを生成してトポロジーデータベース 315へ登録する。 ここで、トポロジーテーブルは、ツリー状階層構造を構成する端末装置 2の接続状態 情報などを格納するためのテーブルであり、トポロジーデータベース 315に登録され る。  [0193] Upon receiving the first distribution form generation request from the content input device 4, the new topology generation means generates a topology table and registers it in the topology database 315. Here, the topology table is a table for storing connection state information and the like of the terminal devices 2 constituting the tree-like hierarchical structure, and is registered in the topology database 315.
[0194] トポロジー変更手段は、トポロジーデータベース 315に記憶されるトポロジーテープ ルに端末装置 2の情報を追加又は削除する機能を実行するものであり、端末装置 2 からの接続先紹介要求後のトポロジー参加報告や接続切断通知に基づいて、トポロ ジーテーブルへの追加又は変更を行うものである。 [0194] The topology changing means executes a function of adding or deleting information of the terminal device 2 to or from the topology table stored in the topology database 315. The topology table is added or changed based on the topology participation report and connection disconnection notification after the connection destination introduction request from.
[0195] (接続先候補選択手段について)  [0195] (About connection destination candidate selection means)
接続先候補選択手段は、新規に第 1配信形態に参加又は新規のチャンネルに参 カロしょうとする端末装置 2からネットワーク 6を介して接続先紹介要求を受信したとき、 端末装置 2の接続先紹介要求に対する接続先候補を、トポロジーデータベース 315 に記憶された接続状態情報から選択する。  When the connection destination candidate selection means receives a connection destination introduction request via the network 6 from the terminal device 2 that newly participates in the first distribution form or participates in the new channel, the connection destination introduction of the terminal device 2 is introduced. A connection destination candidate for the request is selected from the connection state information stored in the topology database 315.
[0196] (接続先候補通知手段について)  [0196] (About connection destination candidate notification means)
接続先候補通知手段は、接続先候補選択手段によって選択された接続先候補を、 接続先紹介要求を送信した端末装置 2へネットワーク 6を介して通知する機能を有す る。この接続先候補の通知は、接続先候補の情報、すなわち接続先候補の端末装 置 2の通信プロトコル、 IPアドレスやポート番号などの情報を含む。  The connection destination candidate notifying unit has a function of notifying the connection destination candidate selected by the connection destination candidate selection unit via the network 6 to the terminal device 2 that has transmitted the connection destination introduction request. This notification of the connection destination candidate includes information on the connection destination candidate, that is, information such as the communication protocol, IP address, and port number of the terminal device 2 of the connection destination candidate.
[0197] [5.コンテンツ投入装置 4の構成等の説明]  [0197] [5. Explanation of Configuration of Content Input Device 4]
次に、図 17を参照して、コンテンツ投入装置 4の構成及び動作について説明する。  Next, the configuration and operation of the content input device 4 will be described with reference to FIG.
[0198] 図 17は、本実施形態におけるコンテンツ投入装置 4の概略構成例を示す図である 。コンテンツ投入装置 4は、一般のサーバコンピュータを適用可能であり、図 17に示 すように、 CPU (Central Processing Unit) 402と、各種プログラム等を記憶(格 納)する書き換え可能な主記憶装置 405と、各種データ等を記憶するハードディスク 装置 403と、ネットワーク 6を介してコンテンツ配信装置 1や端末装置 2、接続管理装 置 3との間で通信を行うネットワークインタフェース 404と、所定の情報を入力可能な キーボード 407やマウス 408等の入力手段を制御する周辺機器制御チップ 406と、 CPU402からイメージデータを受け取り、内部のビデオメモリ(図示せず)に書き込む と共にこのビデオメモリに書き込んだデータをディスプレイ 410に表示するビデオチッ プ 409とを備えて構成され、これらの各種構成要素はシステムバス 401を介して相互 に接続されている。  FIG. 17 is a diagram showing a schematic configuration example of the content input device 4 in the present embodiment. As the content input device 4, a general server computer can be applied. As shown in FIG. 17, a CPU (Central Processing Unit) 402 and a rewritable main storage device 405 that stores (stores) various programs and the like. And a hard disk device 403 that stores various data, a network interface 404 that communicates with the content distribution device 1, the terminal device 2, and the connection management device 3 via the network 6, and predetermined information can be input. The peripheral device control chip 406 for controlling the input means such as the keyboard 407 and the mouse 408, and the image data from the CPU 402 are received and written to the internal video memory (not shown), and the data written to the video memory is displayed on the display 410. Video chip 409 for display, and these various components are connected to each other via the system bus 401. It has been.
[0199] なお、本実施形態においては、 CPU402と主記憶装置 405とで制御部 430を構成 している。なお、ネットワークインタフェース 404は、ルータ 10dを介して、ネットワーク 6に接続されている。このルータ 10dは、図 1に示すルータ 10に相当するものである。 [0200] (主記憶装置 405について) Note that in this embodiment, the CPU 402 and the main storage device 405 constitute a control unit 430. The network interface 404 is connected to the network 6 via the router 10d. This router 10d corresponds to the router 10 shown in FIG. [0200] (About main memory 405)
また、主記憶装置 405には、コンテンツ投入装置 4のコンピュータとしての基本的な 機能を提供するための OSプログラム 417と、第 1配信形態におけるコンテンツ配信 装置 1や第 2配信形態における端末装置 2に対してコンテンツデータの送信及び管 理を行うためのコンテンツ管理プログラム 419と、第 1配信形態におけるコンテンツ配 信装置 1へ送信した複数のコンテンツデータのコンテンツの名称とコンテンツ IDを関 連付けた識別情報リストである識別情報リストを生成してハードディスク装置 403の識 別情報リスト記憶領域に記憶したり、ハードディスク装置 403の識別情報リスト記憶領 域から識別情報リストを取り出して、端末装置 2やコンテンツ配信装置 1へ送信するた めのカタログ管理プログラム 418等が記憶されており、これらは CPU402によって読 み出され、 CPU402によってこれらのプログラムに従った機能が実行される。  The main storage device 405 includes an OS program 417 for providing basic functions of the content input device 4 as a computer, a content distribution device 1 in the first distribution mode, and a terminal device 2 in the second distribution mode. Content management program 419 for transmitting and managing content data to the content distribution device 1 and identification information that associates the content names and content IDs of the plurality of content data transmitted to the content distribution device 1 in the first distribution form The identification information list, which is a list, is generated and stored in the identification information list storage area of the hard disk device 403, or the identification information list is extracted from the identification information list storage area of the hard disk device 403, and the terminal device 2 or the content distribution device The catalog management program 418 and the like for transmission to 1 are stored, and these are stored in the CPU 402 Thus is Desa read, and functions according to the program by the CPU402 is executed.
[0201] ここで、〇Sプログラム 417は、 CPU402によって読み出されて実行されることにより 、キーボード 407やマウス 408の入出力に関する機能や、主記憶装置 405やハード ディスク装置 403などのメモリ管理などのコンテンツ投入装置 4であるコンピュータの 基本的な機能を実行可能にするものである。そして、この OSプログラム 417が CPU4 02によって実行された状態で、上述のカタログ管理プログラム 418、コンテンツ管理 プログラム 419等が実行される。  [0201] Here, the S program 417 is read and executed by the CPU 402, so that functions related to input / output of the keyboard 407 and mouse 408, memory management of the main storage device 405, the hard disk device 403, etc. This makes it possible to execute the basic functions of the computer that is the content input device 4 of the above. Then, with the OS program 417 being executed by the CPU 402, the above-described catalog management program 418, content management program 419, etc. are executed.
[0202] なお、 OSプログラム 417、カタログ管理プログラム 418、コンテンツ管理プログラム 4 19等は、例えば、ネットワーク 6に接続されたサーバ等から主記憶装置 405にダウン ロードされるようにしてもよく、また、 CD— ROM等の記録媒体に記録されてから当該 記録媒体を介して、主記憶装置 405に読み込まれるようにしてもよい。  [0202] The OS program 417, the catalog management program 418, the content management program 4 19 and the like may be downloaded to the main storage device 405 from a server or the like connected to the network 6, for example. After being recorded on a recording medium such as a CD-ROM, it may be read into the main storage device 405 via the recording medium.
[0203] (制御部 430について)  [0203] (About control unit 430)
制御部 430は、上述のように CPU402と主記憶装置 405とから構成され、 CPU40 2が主記憶装置 405に記憶された各種プログラム 417〜419を読み出して実行する ことにより、コンテンツ投入装置 4全体を統括制御し、かつ、後述するコンテンツ投入 手段、識別情報リスト生成手段、識別情報リスト送信手段等として機能する。更に、ハ ードディスク装置 403は、第 1配信形態におけるコンテンツ配信装置 1や第 2配信形 態のコンテンツ保持端末装置へ送信して投入するコンテンツデータを記憶するコンテ ンッデータ記憶領域と、コンテンツ配信装置 1に送信したコンテンツデータ(言い換え れば、コンテンツ配信装置によってストリーミング配信されるコンテンツデータ)に関す る識別情報リストを記憶する識別情報リスト記憶手段としての識別情報リスト記憶領域 等から構成される。 The control unit 430 includes the CPU 402 and the main storage device 405 as described above, and the CPU 402 reads and executes the various programs 417 to 419 stored in the main storage device 405, so that the entire content input device 4 is processed. It performs overall control and functions as content input means, identification information list generation means, identification information list transmission means, etc., which will be described later. Further, the hard disk device 403 stores a content data to be transmitted and input to the content distribution device 1 in the first distribution form and the content holding terminal device in the second distribution form. And an identification information list storage as an identification information list storage means for storing an identification information list relating to the content data storage area and content data transmitted to the content distribution device 1 (in other words, content data streamed by the content distribution device). It consists of areas.
[0204] ここで、識別情報リスト記憶手段は、コンテンツ配信装置 1によってストリーミング配 信するコンテンツデータ以外のコンテンツデータの識別情報を含む識別情報リストを も記憶する。従って、放送形態で直接配信されるコンテンツデータ以外のコンテンツ データを第 2配信形態で取得することができる。例えば、コンテンツデータが音楽コン テンッの場合には、過去に視聴したコンテンツを第 2配信形態で取得することが可能 となる。  [0204] Here, the identification information list storage unit also stores an identification information list including identification information of content data other than the content data to be streamed by the content distribution device 1. Therefore, content data other than the content data directly distributed in the broadcast form can be acquired in the second distribution form. For example, if the content data is music content, it is possible to acquire content that has been viewed in the past in the second distribution form.
[0205] なお、 CPU402がカタログ管理プログラム 418を実行することによって、識別情報リ スト生成手段、識別情報リスト送信手段等として、また CPU402がコンテンツ管理プ ログラム 419を実行することによってコンテンツ投入手段等として、それぞれ機能する  It should be noted that the CPU 402 executes the catalog management program 418 as an identification information list generation means, an identification information list transmission means, etc., and the CPU 402 executes the content management program 419 as a content input means, etc. Each function
[0206] (コンテンツ投入手段について) [0206] (About content input means)
コンテンツ投入手段は、第 2配信形態にて配信するコンテンツデータを複数の端末 装置 2のうち一部の端末装置 2に送信する。具体的には、以下のように動作する。  The content input means transmits the content data distributed in the second distribution form to some of the terminal devices 2 among the plurality of terminal devices 2. Specifically, it operates as follows.
[0207] コンテンツ配信装置 1からの要求或いはキーボード 407やマウス 408等の入力手段 力 の操作によって、コンテンツデータの投入指示があつたとき、コンテンツ投入手段 は、その投入指示に対応するコンテンツデータをハードディスク装置 403のコンテン ッデータ記憶領域から取り出す。  [0207] When a content data input instruction is given by a request from the content distribution apparatus 1 or by operation of input means such as the keyboard 407 and the mouse 408, the content input means stores the content data corresponding to the input instruction on the hard disk. Retrieve from the content data storage area of device 403.
[0208] ハードディスク装置 403から取り出したコンテンツデータは、コンテンツ投入手段に よって、第 1配信形態及び第 2配信形態の両方の配信形態に送信され、投入される。 但し、コンテンツ投入手段は第 1配信形態へ投入されないコンテンツデータであって も、第 2配信形態へ投入されることがある。  [0208] The content data extracted from the hard disk device 403 is transmitted and input by the content input means to both the first distribution form and the second distribution form. However, the content input means may be input to the second distribution form even if the content data is not input to the first distribution form.
[0209] より具体的には、コンテンツ投入手段は、ハードディスク装置 403から取り出したコ ンテンッデータをコンテンツ配信装置 1に送信する。コンテンツ配信装置 1に送信さ れたコンテンツデータは、第 1配信形態で各端末装置 2ヘストリーミング配信される。 [0210] また、コンテンツ投入手段は、ハードディスク装置 403から取り出したコンテンツデ 一タを第 2配信形態におけるいくつかの端末装置 2に送信し、コンテンツ保持端末装 置として機能させる。送信先の端末装置 2はコンテンツ投入手段によってランダムに 決定される。 More specifically, the content input unit transmits the content data extracted from the hard disk device 403 to the content distribution device 1. The content data transmitted to the content distribution device 1 is streamed and distributed to each terminal device 2 in the first distribution form. [0210] Further, the content input means transmits the content data extracted from the hard disk device 403 to several terminal devices 2 in the second distribution form, and functions as a content holding terminal device. The destination terminal device 2 is randomly determined by the content input means.
[0211] (識別情報リスト生成手段について)  [0211] (Identification information list generation means)
識別情報リスト生成手段は、コンテンツ投入手段によってコンテンツデータの投入 が行われると、ハードディスク装置 403の識別情報リスト記憶領域に記憶した識別情 報リストを更新する。すなわち、コンテンツ投入手段によって新たに投入したコンテン ッデータのコンテンツの名称及びコンテンツ IDとを関連付けた情報を識別情報リスト に加える。  The identification information list generation unit updates the identification information list stored in the identification information list storage area of the hard disk device 403 when content data is input by the content input unit. That is, information that associates the content name and content ID of content data newly input by the content input means is added to the identification information list.
[0212] (識別情報リスト送信手段について)  [0212] (About identification information list sending means)
識別情報リスト送信手段は、識別情報リスト記憶手段に記憶した識別情報リストを複 数の端末装置に送信する。すなわち、コンテンツ配信装置 1や端末装置 2から識別 情報リスト送信要求があったときには、ハードディスク装置 403の識別情報リスト記憶 領域に記憶した識別情報リストを要求した装置に対して送信する。  The identification information list transmission means transmits the identification information list stored in the identification information list storage means to a plurality of terminal devices. That is, when there is an identification information list transmission request from the content distribution device 1 or the terminal device 2, the identification information list stored in the identification information list storage area of the hard disk device 403 is transmitted to the requested device.
[0213] [6.コンタ外先紹介装置 5の構成等の説明] [0213] [6. Description of Contour Outside Introduction Device 5]
次に、図 18を参照して、コンタクト先紹介装置 5の構成及び動作について説明する  Next, the configuration and operation of the contact introduction device 5 will be described with reference to FIG.
[0214] 図 18は、本実施形態におけるコンタクト先紹介装置 5の概略構成例を示す図であ る。コンタクト先紹介装置 5は、一般のサーバコンピュータを適用可能であり、図 18に 示すように、 CPU (Central Processing Unit) 502と、各種プログラム等を記憶( 格納)する書き換え可能な主記憶装置 505と、各種データ等を記憶するハードデイス ク装置 503と、ネットワーク 6を介して端末装置 2との間で通信を行うネットワークインタ フェース 504と、所定の情報を入力可能なキーボード 507やマウス 508等の入力手 段を制御する周辺機器制御チップ 506と、 CPU502からイメージデータを受け取り、 内部のビデオメモリ(図示せず)に書き込むと共にこのビデオメモリに書き込んだデー タをディスプレイ 510に表示するビデオチップ 509とを備えて構成され、これらの各種 構成要素はシステムバス 501を介して相互に接続されている。 [0215] なお、本実施形態においては、 CPU502と主記憶装置 505とで制御部 530を構成 している。なお、ネットワークインタフェース 504は、ルータ 10eを介して、ネットワーク 6に接続されている。このルータ 10eは、図 1に示すルータ 10に相当するものである。 [0214] FIG. 18 is a diagram showing a schematic configuration example of the contact introduction device 5 in the present embodiment. As the contact introduction device 5, a general server computer can be applied. As shown in FIG. 18, a CPU (Central Processing Unit) 502, a rewritable main storage device 505 for storing (storing) various programs, etc. A hard disk device 503 for storing various data, a network interface 504 for communicating with the terminal device 2 via the network 6, and an input hand such as a keyboard 507 and a mouse 508 capable of inputting predetermined information. Peripheral device control chip 506 that controls the stage, and video chip 509 that receives image data from CPU 502, writes it to an internal video memory (not shown), and displays the data written to this video memory on display 510 These various components are connected to each other via a system bus 501. [0215] In the present embodiment, the CPU 502 and the main storage device 505 constitute a control unit 530. The network interface 504 is connected to the network 6 via the router 10e. This router 10e corresponds to the router 10 shown in FIG.
[0216] (主記憶装置 505について)  [About main memory 505]
また、主記憶装置 505には、コンタクト先紹介装置 5のコンピュータとしての基本的 な機能を提供するための〇Sプログラム 517と、複数の端末装置 2の所在情報 (IPァ ドレスやポート番号など)などを管理するための端末管理プログラム 518と、第 2配信 形態に参加していない端末装置 2からの要求に応じて、コンタクト先の他の端末装置 2を紹介するためのコンタクト先端末装置紹介プログラム 519等が記憶されており、こ れらは CPU502によって読み出され、 CPU502によってこれらのプログラムに従った 機能が実行される。  In addition, the main storage device 505 includes a ○ S program 517 for providing basic functions of the contact introduction device 5 as a computer, and location information (such as IP addresses and port numbers) of the plurality of terminal devices 2. Terminal management program 518 for managing, etc., and contact destination terminal device introduction program for introducing other terminal devices 2 of the contact destination in response to a request from the terminal device 2 not participating in the second distribution form 519 etc. are stored, and these are read out by the CPU 502, and the functions according to these programs are executed by the CPU 502.
[0217] ここで、〇Sプログラム 517は、 CPU502によって読み出されて実行されることにより 、キーボード 507やマウス 508の入出力に関する機能や、主記憶装置 505やハード ディスク装置 503などのメモリ管理などのコンタクト先紹介装置 5であるコンピュータの 基本的な機能を実行可能にするものである。そして、この OSプログラム 517が CPU5 02によって実行された状態で、上述の端末管理プログラム 518、コンタクト先端末装 置紹介プログラム 519等が実行される。  [0217] Here, the S program 517 is read and executed by the CPU 502, so that functions related to input / output of the keyboard 507 and mouse 508, memory management of the main storage device 505, the hard disk device 503, etc. This makes it possible to execute the basic functions of the computer which is the contact introduction device 5 of the above. Then, with the OS program 517 being executed by the CPU 502, the above-described terminal management program 518, contact terminal device introduction program 519, etc. are executed.
[0218] なお、 OSプログラム 517、端末管理プログラム 518、コンタクト先端末装置紹介プロ グラム 519等は、例えば、ネットワーク 6に接続されたサーバ等から主記憶装置 505 にダウンロードされるようにしてもよぐまた、 CD— ROM等の記録媒体に記録されて 力 当該記録媒体を介して、主記憶装置 505に読み込まれるようにしてもよい。  Note that the OS program 517, the terminal management program 518, the contact destination terminal device introduction program 519, etc. may be downloaded to the main storage device 505 from, for example, a server connected to the network 6. Further, it may be recorded on a recording medium such as a CD-ROM and read into the main storage device 505 via the recording medium.
[0219] (制御部 530について)  [0219] (About control unit 530)
制御部 530は、上述のように CPU502と主記憶装置 505とから構成され、 CPU50 2が主記憶装置 505に記憶された各種プログラム 517〜519を読み出して実行する ことにより、コンタクト先紹介装置 5全体を統括制御し、かつ、後述する端末装置管理 手段、コンタ外先端末装置紹介手段等として機能する。  The control unit 530 includes the CPU 502 and the main storage device 505 as described above, and the CPU 502 reads and executes the various programs 517 to 519 stored in the main storage device 505, so that the contact destination introduction device 5 And functions as terminal device management means, contour destination terminal device introduction means, etc., which will be described later.
[0220] なお、 CPU502が端末管理プログラム 518を実行することによって、端末管理手段 等として、また CPU502がコンタクト先端末装置紹介プログラム 519を実行することに よってコンタ外先端末装置紹介手段等として、それぞれ機能する。 [0220] Note that the CPU 502 executes the terminal management program 518, so that the CPU 502 executes the contact destination terminal device introduction program 519 as a terminal management means or the like. Therefore, it functions as an outside contour terminal device introduction means or the like.
[0221] (端末管理手段について)  [0221] (About terminal management means)
端末管理手段は、端末装置 2からの第 2配信形態に対する登録要求を受信すると、 端末管理データベース 515へこの端末装置 2の所在情報である IPアドレスなどを登 録する。なお、これらの端末装置 2の所在情報は端末装置 2からの登録要求に含ま れ、この登録要求から所在情報を取得する。  When receiving the registration request for the second distribution form from the terminal device 2, the terminal management means registers the IP address, which is the location information of the terminal device 2, in the terminal management database 515. The location information of the terminal device 2 is included in the registration request from the terminal device 2, and the location information is acquired from the registration request.
[0222] (コンタ外先端末装置紹介手段について) [0222] (Contour outside terminal device introduction means)
コンタクト先端末装置紹介手段は、端末装置 2からの第 2配信形態に対する登録要 求を受信したとき、端末管理データベース 515に登録した端末装置 2から、登録要求 を行った端末装置 2が参加メッセージを送信すべき端末装置 2を選択する。  When the contact destination terminal device introduction means receives a registration request for the second distribution form from the terminal device 2, the terminal device 2 that made the registration request from the terminal device 2 registered in the terminal management database 515 sends a participation message. Select the terminal device 2 to be transmitted.
[0223] コンタクト先端末装置紹介手段は、選択した端末装置 2の所在情報を端末管理デ ータベース 515から取り出し、登録要求を行った端末装置 2に送信する。 [0223] The contact destination terminal device introduction means extracts the location information of the selected terminal device 2 from the terminal management database 515, and transmits it to the terminal device 2 that made the registration request.
[0224] [7.コンテンツ配信システム Sの動作] [0224] [7. Operation of content distribution system S]
以下、コンテンツ配信装置 1、端末装置 2、接続管理装置 3、コンテンツ投入装置 4 及びコンタクト先紹介装置 5の詳細動作について、フローチャートを用いて更に具体 的に説明する。  Hereinafter, detailed operations of the content distribution device 1, the terminal device 2, the connection management device 3, the content input device 4 and the contact destination introduction device 5 will be described more specifically with reference to flowcharts.
[0225] (コンテンツ配信装置 1の処理フローの説明) [0225] (Description of processing flow of content distribution device 1)
まず、コンテンツ配信装置 1の更に具体的な動作の一例について、図 19を参照し て説明する。図 19は、コンテンツ配信装置 1における処理全体を示すフローチャート である。なお、以下の各処理は、コンテンツ配信装置 1の制御部 130が上述した各手 段として機能することによって実行されるものである。  First, an example of a more specific operation of the content distribution apparatus 1 will be described with reference to FIG. FIG. 19 is a flowchart showing the entire processing in the content distribution apparatus 1. The following processes are executed by the control unit 130 of the content distribution apparatus 1 functioning as the above-described means.
[0226] まず、図 19に示すように、コンテンツ配信装置 1の電源が ONされると、コンテンツ 配信装置 1において、 CPU102は、主記憶装置 105やハードディスク装置 103のァ クセス許可、作業領域を初期化等の初期設定処理を実行し (ステップ S100)、各プロ グラム 115〜: 120を CPU102による実行状態とし、制御部 130としての機能を動作さ せた後、ステップ S 101に処理を移す。 First, as shown in FIG. 19, when the power of the content distribution apparatus 1 is turned on, in the content distribution apparatus 1, the CPU 102 initializes the access permission and the work area of the main storage device 105 and the hard disk device 103. Initialization processing such as conversion is executed (step S100), and each program 115 to 120 is set to the execution state by the CPU 102, and the function as the control unit 130 is operated. Then, the processing proceeds to step S101.
[0227] ステップ S101において、コンテンツ配信装置 1における制御部 130は、コンテンツ 投入装置 4に対して第 1配信形態において放送するコンテンツデータを要求し、当該 要求に対してコンテンツ投入装置 4から送信されるコンテンツデータをハードディスク 装置 103における放送コンテンツ記憶領域に記憶する。 [0227] In step S101, the control unit 130 in the content distribution device 1 requests the content input device 4 for content data to be broadcast in the first distribution form, and The content data transmitted from the content input device 4 in response to the request is stored in the broadcast content storage area in the hard disk device 103.
[0228] ステップ S102において、コンテンツ配信装置 1における制御部 130は、放送運営 者から放送の開始要求又は停止要求があつたか否力、を判定する。ここで、放送運営 者から放送の開始要求又は停止要求があつたか否かは、キーボード 107やマウス 10 8等の入力手段から放送開始の操作がなされたか否カ 或いはキーボード 107やマ ウス 108等の入力手段から放送停止の操作がなされたか否かにより判断される。ここ で、放送運営者とは、第 1配信形態及び第 2配信形態によるコンテンツ配信の管理を 行う事業者を意味するが、第 1配信形態によるコンテンツ配信と第 2配信形態とを別 々の事業者によって行うようにしてもょレ、。 [0228] In step S102, the control unit 130 in the content distribution apparatus 1 determines whether or not a broadcast start request or stop request is received from the broadcast operator. Here, whether a broadcast start request or stop request is received from the broadcast operator is based on whether the broadcast start operation has been performed from the input means such as the keyboard 107 or the mouse 108 or the keyboard 107 or the mouse 108. Judgment is made based on whether or not a broadcast stop operation has been performed from the input means. Here, the broadcast operator means an operator who manages content distribution according to the first distribution form and the second distribution form, but the content distribution according to the first distribution form and the second distribution form are separated from each other. It may be done by a person.
[0229] この処理において、放送運営者から放送の開始要求があつたと判定されると (ステ ップ S102 : Yes)、制御部 130は、ハードディスク装置 103から取り出したコンテンツ データを所定容量毎に分割しながらコンテンツパケットに格納し、ネットワーク 6を介し て、このコンテンツパケットを下流に論理接続された端末装置 2へ送信する準備を行 う。一方、同様に、放送運営者から放送の停止要求があつたと判定されると (ステップ S102 :Yes)、制御部 130は、下流に論理接続されている端末装置 2に対して行って レ、るコンテンツパケットの生成を停止する(ステップ S103)。ステップ S103の処理が 終了すると、制御部 130は、ステップ S120に処理を移す。  [0229] In this process, if it is determined that a broadcast start request is received from the broadcast operator (step S102: Yes), the control unit 130 divides the content data retrieved from the hard disk device 103 into predetermined volumes. The content packet is stored in the content packet, and the content packet is prepared for transmission to the terminal device 2 logically connected downstream via the network 6. On the other hand, similarly, when it is determined that a broadcast stop request has been received from the broadcast operator (step S102: Yes), the control unit 130 performs the operation for the terminal device 2 logically connected downstream. The generation of the content packet is stopped (step S103). When the process of step S103 ends, control unit 130 moves the process to step S120.
[0230] 一方、ステップ S102において、制御部 130は、放送運営者から放送の開始要求が なかったと判定した場合には(ステップ S102 : NO)、ステップ S110に処理を移す。  On the other hand, in step S102, when control unit 130 determines that there is no broadcast start request from the broadcast operator (step S102: NO), it moves the process to step S110.
[0231] ステップ S110において、コンテンツ配信装置 1における制御部 130は、端末装置 2 力、らセッション開設か切断の要求があつたか否かを判断する。この処理において、コ ンテンッ配信装置 1における制御部 130は、ネットワーク 6を介して、端末装置 2から セッション開設か切断の要求があつたか否かを判断することとなる。  [0231] In step S110, the control unit 130 in the content distribution apparatus 1 determines whether there is a request for opening or disconnecting a session from the terminal apparatus 2. In this process, the control unit 130 in the content distribution apparatus 1 determines whether or not a request for opening or disconnecting a session has been received from the terminal apparatus 2 via the network 6.
[0232] この処理において、制御部 130は、セッション開設の要求があつたと判定した場合 には (ステップ S110 :YES)、その端末装置 2との接続を開設し (ステップ S111)、セ ッシヨン切断の要求があつたと判定した場合には (ステップ S110: YES)、その端末 装置 2との接続を切断し (ステップ S111)、ステップ S112に処理を移す。つまり、制 御部 130は、端末装置 2からの要求に応じて、端末装置 2の接続状態を変更設定さ せる制御を行うこととなる。 [0232] In this process, if the control unit 130 determines that a session establishment request has been received (step S110: YES), the control unit 130 establishes a connection with the terminal device 2 (step S111), and disconnects the session. If it is determined that the request has been received (step S110: YES), the connection with the terminal device 2 is disconnected (step S111), and the process proceeds to step S112. In other words, control The control unit 130 performs control to change and set the connection state of the terminal device 2 in response to a request from the terminal device 2.
[0233] ステップ S110においてセッション開設の要求があつたと判定した場合(ステップ S1 10 : YES)、制御部 130は、ステップ S112において、コンテンツ配信装置 1の下流に 論理接続されている端末装置 2に対して、コンテンツデータをストリーミング送信する 。すなわち、ステップ S102において生成したコンテンツパケットを、ネットワーク 6を介 して、下流に論理接続された端末装置 2へ順次送信する。一方、同様に、放送運営 者から放送の停止要求があつたと判定されると(ステップ S102 : Yes)、制御部 130は 、コンテンツ配信装置 1の下流に論理接続されている端末装置 2に対して、コンテン ッデータのストリーミング送信を停止する。すなわち、ステップ S102において生成し たコンテンツパケットの送信を停止する(ステップ S 112)。ステップ S 112の処理が終 了すると、制御部 130は、ステップ S120に処理を移す。  [0233] If it is determined in step S110 that a session establishment request has been received (step S1 10: YES), the control unit 130 determines in step S112 that the terminal device 2 logically connected downstream of the content distribution device 1 is connected. To stream the content data. That is, the content packet generated in step S102 is sequentially transmitted via the network 6 to the terminal device 2 logically connected downstream. On the other hand, similarly, when it is determined that a broadcast stop request has been received from the broadcast operator (step S102: Yes), the control unit 130 connects the terminal device 2 logically connected downstream of the content distribution device 1. Stop streaming transmission of content data. That is, the transmission of the content packet generated in step S102 is stopped (step S112). When the process of step S112 ends, control unit 130 moves the process to step S120.
[0234] 一方、ステップ S110において、制御部 130は、端末装置 2からセッション開設も切 断も要求がなかったと判定した場合には(ステップ S 110 : NO)、ステップ SI 20に処 理を移す。  [0234] On the other hand, when determining in step S110 that the terminal device 2 has not requested a session establishment or disconnection (step S110: NO), the control unit 130 shifts the processing to step SI20.
[0235] ステップ S120において、制御部 130は、電源がオフであるか否かを判断し、電源 がオフであると判定した場合には(ステップ S 120: YES)、本処理を終了する一方、 電源がオフではないと判定した場合には(ステップ S120 : NO)、ステップ S102から 繰り返し処理を実行することとなる。  [0235] In step S120, control unit 130 determines whether or not the power is off. If it is determined that the power is off (step S 120: YES), the process ends. If it is determined that the power is not off (step S120: NO), the process is repeated from step S102.
[0236] (端末装置 2の処理フローの説明)  [0236] (Description of processing flow of terminal device 2)
次に、端末装置 2の更に具体的な動作の一例について、図 20〜図 26を参照して 説明する。図 20〜図 26は端末装置 2における処理全体を示すフローチャートである 。なお、以下の各処理は、端末装置 2の制御部 230が上述した各手段として機能す ることによって実行されるものである。  Next, an example of a more specific operation of the terminal device 2 will be described with reference to FIGS. 20 to 26 are flowcharts showing the entire processing in the terminal device 2. The following processes are executed by the control unit 230 of the terminal device 2 functioning as the above-described units.
[0237] 図 20に示すように、端末装置 2の電源が〇Nになると、端末装置 2の CPU202は、 主記憶装置 205やハードディスク装置 203のアクセス許可、作業領域確保を初期化 等の初期設定動作を実行し、各プログラム 215〜219, 221を CPU202による実行 状態とし、制御部 230としての機能を動作させた後(ステップ S200)、ステップ S201 に処理を移す。 [0237] As shown in FIG. 20, when the power supply of the terminal device 2 becomes 0N, the CPU 202 of the terminal device 2 initializes the access permission of the main storage device 205 and the hard disk device 203, initializing the work area reservation, etc. After executing the operation and setting each program 215 to 219, 221 to the execution state by the CPU 202 and operating the function as the control unit 230 (step S200), step S201 Move processing to.
[0238] ステップ S201において、制御部 230は、第 2配信形態への参加処理を行った後、 ステップ S202に処理を移す。このステップ S201の処理は、図 23における S270〜S 276の処理であり、後述で詳説する。  [0238] In step S201, the control unit 230 performs the participation process in the second distribution form, and then moves the process to step S202. The process of step S201 is the process of S270 to S276 in FIG. 23 and will be described in detail later.
[0239] ステップ S202において、制御部 230は、ユーザからのチャンネル選択指示があつ たか否かを判定する。ユーザからのチャンネル選択指示があつたか否かは、ユーザ 一入力用リモコン 208等の入力手段からチャンネル選択指示の操作がなされたか否 力、により判断される。  [0239] In step S202, the control unit 230 determines whether or not there is a channel selection instruction from the user. Whether or not a channel selection instruction has been issued by the user is determined based on whether or not a channel selection instruction has been operated from input means such as the user one-input remote controller 208.
[0240] この処理において、制御部 230は、ユーザからのチャンネル選択指示があつたと判 定した場合には (ステップ S202 : YES)、第 1配信形態における上流装置に対してコ ンテンッストリーム(コンテンツデータのストリーミング配信)の停止をネットワーク 6を介 して要求する (ステップ S203)。すなわち、自端末装置 2と論理接続され、 自端末装 置 2に対して第 1配信形態でストリーミング配信を行っているコンテンツ配信装置 1又 は他の端末装置 2に対して、コンテンツデータのストリーミング配信を停止するように ネットワーク 6を介して要求する。  [0240] In this process, when it is determined that the channel selection instruction from the user has been received (step S202: YES), the control unit 230 provides a content stream (contents) to the upstream device in the first distribution form. A request to stop streaming data) is made via the network 6 (step S203). In other words, streaming distribution of content data to the content distribution device 1 or other terminal device 2 that is logically connected to the terminal device 2 and performs streaming distribution to the terminal device 2 in the first distribution mode. Request over network 6 to stop.
[0241] ステップ S203の処理が終了すると、制御部 230はステップ S204に処理を移す。こ のステップ S204において、制御部 230は、接続管理装置 3に上流装置の候補を要 求する。すなわち、ユーザからのチャンネル選択指示があった放送チャンネルの階 層構造に参加するために、接続管理装置 3に対して、チャンネル選択指示があった 放送チャンネルに関する上流装置の接続先候補を選択し、通知するように要求する のである。ステップ S204の処理が終了すると、制御部 230は、ステップ S269に処理 を移す。  [0241] When the process of step S203 ends, control unit 230 moves the process to step S204. In step S204, the control unit 230 requests the connection management device 3 for upstream device candidates. That is, in order to participate in the hierarchical structure of the broadcast channel for which the channel selection instruction has been received from the user, the connection management apparatus 3 is selected with respect to the connection destination candidate of the upstream apparatus related to the broadcast channel for which the channel selection instruction has been issued, Request to be notified. When the process of step S204 ends, control unit 230 moves the process to step S269.
[0242] なお、本実施形態においては、ステップ S201の初期化処理において、所定の放 送チャンネルが選択された状態にされる。すなわち、ユーザから所定の放送チャンネ ルが選択されたと同様の状態に置かれる。従って、端末装置 2の電源が〇Nになると 、所定の放送チャンネルの階層構造に参加するために、接続管理装置 3に対して、 所定の放送チャンネルに関する上流装置の接続先候補を選択し、通知するように要 求するのである。 [0243] 一方、ステップ S202において、ユーザからのチャンネル選択指示がなかったと判 定すると (ステップ S202 : NO)、制御部 230は、接続管理装置 3から上流装置の候 補を受信したか否かを判定する(ステップ S210)。すなわち、ステップ S204において 行った接続先候補の通知要求に対して、接続管理装置 3から上流装置の接続先候 補が通知されたか否かを判定するのである。 Note that in the present embodiment, a predetermined broadcast channel is selected in the initialization process of step S201. That is, it is placed in the same state as when a predetermined broadcast channel is selected by the user. Therefore, when the power of the terminal device 2 becomes ◯ N, in order to participate in the hierarchical structure of the predetermined broadcast channel, the connection management device 3 is selected and notified of the upstream device connection destination candidate for the predetermined broadcast channel. It asks you to do it. [0243] On the other hand, if it is determined in step S202 that there has been no channel selection instruction from the user (step S202: NO), the control unit 230 determines whether or not the candidate for the upstream device has been received from the connection management device 3. Determination is made (step S210). That is, it is determined whether or not the connection destination candidate of the upstream device has been notified from the connection management device 3 in response to the connection destination candidate notification request made in step S204.
[0244] この処理にぉレ、て、接続管理装置 3から上流装置の候補を受信したと判定すると( ステップ S210 : YES)、制御部 230は、接続管理装置 3から通知された上流装置の 接続先候補の中から 1つの接続先候補の上流装置を選択した後 (ステップ S 211 )、 ステップ S 212の処理に移行する。  [0244] If this process determines that an upstream device candidate has been received from the connection management device 3 (step S210: YES), the control unit 230 connects to the upstream device notified from the connection management device 3. After selecting an upstream device of one connection destination candidate from the destination candidates (step S211), the process proceeds to step S212.
[0245] ステップ S212において、制御部 230は、選択した接続先候補の上流装置にネット ワーク 6を介して論理接続する。上流装置への論理接続は、制御部 230が、当該上 流装置へネットワーク 6を介して接続要求を行うことによって実行される。  [0245] In step S212, the control unit 230 makes a logical connection via the network 6 to the selected upstream device of the connection destination. The logical connection to the upstream device is executed by the control unit 230 making a connection request to the upstream device via the network 6.
[0246] その後、ステップ S213において、制御部 230は、ネットワーク 6を介して、上流装置 に対してコンテンツデータのストリーミング配信を要求し、ステップ S214の処理に移 行する。  [0246] Thereafter, in step S213, the control unit 230 requests the upstream device for streaming distribution of the content data via the network 6, and proceeds to the process of step S214.
[0247] ステップ S214において、制御部 230は、ネットワーク 6を介して接続管理装置 3へト ポロジー参加報告を送信する。ステップ S214の処理が終了すると、制御部 230は、 ステップ S 269に処理を移す。  In step S214, the control unit 230 transmits a topology participation report to the connection management device 3 via the network 6. When the process of step S214 ends, control unit 230 moves the process to step S269.
[0248] 一方、ステップ S210において、接続管理装置 3から上流装置の候補を受信しなか つたと判定すると(ステップ S210 : NO)、制御部 230は、上流装置からコンテンツパ ケットを受信したか否かを判定する (ステップ S215)。 [0248] On the other hand, when it is determined in step S210 that the upstream device candidate has not been received from the connection management device 3 (step S210: NO), the control unit 230 determines whether or not the content packet has been received from the upstream device. Is determined (step S215).
[0249] この処理において、制御部 230は、上流装置からコンテンツパケットを受信したと判 定すると(ステップ S215 : YES)、上流装置から受信したコンテンツパケットからコンテ ンッデータを取り出してリングバッファ領域 220に記憶し、更にそのコンテンツデータ を取り出してコンテンツパケットとして下流側の端末装置 2へ転送する (ステップ S216 [0249] In this process, if control unit 230 determines that a content packet has been received from the upstream device (step S215: YES), it extracts the content data from the content packet received from the upstream device and stores it in ring buffer area 220 . Further, the content data is taken out and transferred to the downstream terminal device 2 as a content packet (step S216).
[0250] その後、制御部 230は、リングバッファ領域 220に記憶したコンテンツデータを取得 して再生する(ステップ S 217)。コンテンツパケットの再生は、音源チップ 211やビデ ォチップ 209を動作させることによってこの機能を実現しており、リングバッファ領域 2 20に格納したコンテンツデータのうち再生時刻となったコンテンツパケットを順次取り 出して、所定のコンテンツデータ形式 (たとえば、 Wave形式)に変換して音源チップ 211やビデオチップ 209へ入力し、コンテンツの再生を行う。ステップ S217の処理が 終了すると、制御部 230は、ステップ S269に処理を移す。 [0250] After that, the control unit 230 acquires and reproduces the content data stored in the ring buffer area 220 (step S217). Playback of content packets can be done with the sound source chip 211 or video This function is realized by operating the chip 209. The content packets stored in the ring buffer area 220 are sequentially extracted from the content packets at the playback time, and a predetermined content data format (for example, the Wave format is used). ) And input to the sound source chip 211 and the video chip 209 to reproduce the content. When the process of step S217 ends, control unit 230 moves the process to step S269.
[0251] 一方、ステップ S215において、上流装置からコンテンツパケットを受信しなかったと 判定されると (ステップ S215 : NO)、制御部 230は、ストリーミングの配信開始 Z停止 要求があるか否かを判定する (ステップ S220)。ストリーミングの配信開始 Z停止要 求があるか否かは、下流の端末装置 2から送信されるストリーミングの配信開始要求 を受信したか否か、或いは下流の端末装置 2から送信されるストリーミングの配信停 止要求を受信したか否かによって判断される。  On the other hand, when it is determined in step S215 that no content packet has been received from the upstream device (step S215: NO), control unit 230 determines whether or not there is a streaming distribution start Z stop request. (Step S220). Whether or not there is a streaming distribution start Z stop request depends on whether or not a streaming distribution start request transmitted from the downstream terminal apparatus 2 has been received or a streaming distribution stop transmitted from the downstream terminal apparatus 2. This is determined by whether or not a stop request has been received.
[0252] この処理において、制御部 230は、ストリーミングの配信の開始要求があつたと判定 すると(ステップ S220 : YES)、当該ストリーミング配信の開始要求を行った下流装置 に対してのコンテンツパケットの転送を開始する (ステップ S221)。また、制御部 230 は、ストリーミングの配信の停止要求があつたと判定すると(ステップ S220: YES)、 当該ストリーミング配信の停止要求を行った下流装置に対してのコンテンツパケットの 転送を停止する(ステップ S221)。この処理は、ステップ S216において処理を行うか 否かの設定となり、ストリーミングの配信の開始要求があつたと判定すると、コンテンツ パケットの下流装置への転送を行う設定となり、ストリーミングの配信の停止要求があ つたと判定すると、コンテンツパケットの下流装置への転送の停止を行う設定となる。 ステップ S221の処理が終了すると、制御部 230は、ステップ S269に処理を移す。  [0252] In this process, when the control unit 230 determines that there is a streaming distribution start request (step S220: YES), the control unit 230 transfers the content packet to the downstream device that has made the streaming distribution start request. Start (step S221). If the control unit 230 determines that there is a streaming distribution stop request (step S220: YES), the control unit 230 stops the transfer of the content packet to the downstream device that has made the streaming distribution stop request (step S221). ). This process is set to determine whether or not to perform the process in step S216. If it is determined that there is a streaming distribution start request, the content packet is set to be transferred to a downstream device, and a streaming distribution stop request is issued. If it is determined that the content packet has been transferred, the transfer of the content packet to the downstream apparatus is stopped. When the process of step S221 ends, control unit 230 moves the process to step S269.
[0253] 一方、ステップ S220において、ストリーミングの配信の開始要求 Z停止要求がなか つたと判定すると(ステップ S220 : NO)、制御部 230は、図 21に示すように、コンテン ッ登録メッセージを受信したか否かを判定する(ステップ S225)。コンテンツ登録メッ セージを受信したか否かは、コンテンツ保持端末装置からネットワーク 6を介して送信 されるコンテンツ登録メッセージが自端末装置 2で受信されたか否かによって判断さ れる。  [0253] On the other hand, when it is determined in step S220 that there is no streaming delivery start request Z stop request (step S220: NO), control unit 230 receives the content registration message as shown in FIG. Whether or not (step S225). Whether or not the content registration message has been received is determined by whether or not the content registration message transmitted from the content holding terminal device via the network 6 has been received by the terminal device 2 itself.
[0254] この処理において、コンテンツ登録メッセージを受信したと判定すると(ステップ S22 5 : YES)、制御部 230は、主記憶装置 205のインデックステーブル 222に受信したコ ンテンッ登録メッセージに含まれるコンテンツ保持端末装置の識別情報、コンテンツ 保持端末装置の所在情報、及びコンテンツ保持端末装置が保持するコンテンツデー タのコンテンツ IDとを関連付けてインデックステーブル 222に追加することによって行 う(ステップ S226)。 [0254] In this process, if it is determined that the content registration message has been received (step S22). 5: YES), the control unit 230 determines whether the content holding terminal device identification information, the content holding terminal device location information, and the content holding terminal device are included in the content registration message received in the index table 222 of the main storage device 205. This is performed by associating with the content ID of the content data to be held and adding it to the index table 222 (step S226).
[0255] その後、制御部 230は、 自端末装置 2がルート端末装置であるか否かを判定する( ステップ S227)。端末装置 2がルート端末装置であるか否かは、受信したコンテンツ 登録メッセージの宛先識別情報とルーティングテーブル 223とに基づいて判断される  [0255] After that, the control unit 230 determines whether or not the own terminal device 2 is a root terminal device (step S227). Whether or not the terminal device 2 is the root terminal device is determined based on the destination identification information of the received content registration message and the routing table 223.
[0256] この処理において、制御部 230は、 自端末装置 2がルート端末装置でないと判定 すると(ステップ S227 : NO)、ルーティングテーブル 223に基づいて、コンテンツ登 録メッセージを他の端末装置 2へ転送する(ステップ S228)。ステップ S228の処理が 終了すると、制御部 230は、ステップ S269に処理を移す。一方、 自端末装置 2がル ート端末装置であると判定すると(ステップ S227 : YES)、制御部 230は、ステップ S2 28の処理は行わずにステップ S269に処理を移す。 [0256] In this process, if control unit 230 determines that self-terminal device 2 is not the root terminal device (step S227: NO), it forwards the content registration message to other terminal device 2 based on routing table 223. (Step S228). When the process of step S228 ends, control unit 230 moves the process to step S269. On the other hand, if it is determined that self-terminal device 2 is the root terminal device (step S227: YES), control unit 230 proceeds to step S269 without performing step S228.
[0257] ステップ S225において、コンテンツ登録メッセージを受信しなかったと判定すると( ステップ S225 : NO)、制御部 230は、コンテンツ削除メッセージを受信したか否かを 判定する(ステップ S230)。コンテンツ削除メッセージを受信したか否かは、ネットヮ ーク 6を介して、コンテンツ保持端末装置から送信されるコンテンツ削除メッセージが 受信されたか否かによって判断される。  [0257] If it is determined in step S225 that a content registration message has not been received (step S225: NO), control unit 230 determines whether a content deletion message has been received (step S230). Whether or not a content deletion message has been received is determined by whether or not a content deletion message transmitted from the content holding terminal device has been received via the network 6.
[0258] この処理において、制御部 230は、コンテンツ削除メッセージを受信したと判定する と(ステップ S230 : YES)、インデックステーブル 222からコンテンツ削除メッセージに 対応するインデックス情報 (コンテンツ ID、コンテンツ保持端末装置の所在位置等)を 削除した後(ステップ S231)、ステップ S227の処理に移行する。  In this process, when control unit 230 determines that a content deletion message has been received (step S230: YES), index information corresponding to the content deletion message (content ID, content holding terminal device) from index table 222. (Location, etc.) is deleted (step S231), and then the process proceeds to step S227.
[0259] ステップ S230において、コンテンツ削除メッセージを受信しなかったと判定すると( ステップ S230 : NO)、制御部 230は、投入されるコンテンツデータを受信したか否か を判定する(ステップ S235)。  [0259] If it is determined in step S230 that a content deletion message has not been received (step S230: NO), control unit 230 determines whether or not content data to be input has been received (step S235).
[0260] この処理において、制御部 230は、コンテンツ投入装置 4から投入されるコンテンツ データを受信したと判定すると(ステップ S235: YES)、投入コンテンツ受信処理を行 う(ステップ S236)。この投入コンテンツ受信処理は、図 24における S280〜S283の 処理であり、後述にて詳説する。ステップ S236の処理が終了すると、制御部 230は、 ステップ S 269に処理を移す。 [0260] In this process, the control unit 230 performs content input from the content input device 4. If it is determined that data has been received (step S235: YES), input content reception processing is performed (step S236). This input content reception process is the process of S280 to S283 in FIG. 24 and will be described in detail later. When the process of step S236 ends, control unit 230 moves the process to step S269.
[0261] ステップ S235において、投入されるコンテンツデータ受信しな力、つたと判定すると( ステップ S235 : NO)、制御部 230は、ユーザからコンテンツ購入指示があるか否か を判定する(ステップ S240)。ユーザからコンテンツ購入指示があるか否かは、リモコ ン 208等の入力手段からコンテンツ購入指示の操作がなされたか否かにより判断さ れる。 [0261] If it is determined in step S235 that the input content data has not been received (step S235: NO), control unit 230 determines whether there is a content purchase instruction from the user (step S240). . Whether or not there is a content purchase instruction from the user is determined by whether or not a content purchase instruction has been operated from the input means such as the remote control 208 or the like.
[0262] この処理にぉレ、て、制御部 230は、ユーザによるダウンロード要求の操作、すなわ ちコンテンツ購入指示があつたと判定すると(ステップ S240 : YES)、コンテンツ購入 処理を行う(ステップ S241)。このコンテンツ購入処理は、図 25における S285〜S2 91の処理であり、後述にて詳説する。ユーザによるダウンロード要求の操作は、例え ば、内蔵ディスプレイ 210に図 12或いは図 13が表示されている状態で、ユーザによ るリモコン 208の所定操作が行われたときに、ユーザによるダウンロード要求の操作 が行われたと判定する。ステップ S241の処理が終了すると、制御部 230は、ステップ S269に処理を移す。  [0262] In response to this process, if the control unit 230 determines that a download request operation by the user, that is, a content purchase instruction has been received (step S240: YES), the content purchase process is performed (step S241). . This content purchase processing is the processing of S285 to S291 in FIG. 25 and will be described in detail later. For example, when the user performs a predetermined operation on the remote control 208 with the built-in display 210 shown in FIG. 12 or 13, the user performs a download request operation. Is determined to have been performed. When the process of step S241 ends, control unit 230 moves the process to step S269.
[0263] ステップ S240において、ユーザからコンテンツ購入指示がな力 たと判定すると( ステップ S240 : NO)、制御部 230は、他の端末装置 2からコンテンツダウンロード要 求があるか否かを判定する(ステップ S245)。このコンテンツダウンロード要求は、第 2配信形態でのコンテンツデータ全体の一括送信の要求であり、自端末装置 2がコン テンッ保持端末装置或いはコンテンツダウンロード要求に係るコンテンツデータをキ ャッシュするキャッシュ装置であるときに、コンテンツダウンロード要求を受信したと判 定される。  [0263] If it is determined in step S240 that the content purchase instruction has not been received from the user (step S240: NO), the control unit 230 determines whether there is a content download request from another terminal device 2 (step S240: NO). S245). This content download request is a request for batch transmission of the entire content data in the second distribution form, and when the terminal device 2 is a content holding terminal device or a cache device that caches the content data related to the content download request. It is determined that the content download request has been received.
[0264] この処理にぉレ、て、制御部 230は、他の端末装置 2からコンテンツダウンロード要求 があったと判定すると(ステップ S245 : YES)、コンテンツダウンロード要求に対応す るコンテンツデータをハードディスク装置 203から取り出し、コンテンツダウンロード要 求を行った他の端末装置 2へ取り出したコンテンツデータを送信する (ステップ S246 )。ステップ S246の処理が終了すると、制御部 230は、ステップ S269に処理を移す [0264] If the control unit 230 determines that there is a content download request from another terminal device 2 (step S245: YES), the content data corresponding to the content download request is stored in the hard disk device 203. The extracted content data is transmitted to the other terminal device 2 that has made the content download request (step S246). ). When the process of step S246 is completed, control unit 230 moves the process to step S269.
[0265] この処理にぉレ、て、制御部 230は、他の端末装置 2からコンテンツダウンロード要求 がな力 たと判定すると(ステップ S245 : NO)、図 22に示すように、購入コンテンツ データをダウンロードしたか否かを判定する(ステップ S250)。購入コンテンツデータ をダウンロードしたか否かは、ユーザによるダウンロード要求の操作、すなわちコンテ ンッ購入指示があつたときに、ダウンロード要求したコンテンツ保持端末装置からコン テンッデータが受信されたか否かにより判断される。 [0265] In response to this processing, if control unit 230 determines that there is no content download request from another terminal device 2 (step S245: NO), it downloads the purchased content data as shown in FIG. It is determined whether or not (step S250). Whether or not the purchased content data has been downloaded is determined by whether or not content data has been received from the content holding terminal device that requested the download when the user requested a download request, that is, when a content purchase instruction was issued. .
[0266] この処理にぉレ、て、購入コンテンツデータをダウンロードしたと判定すると(ステップ S250 :YES)。ダウンロードした購入コンテンツデータをハードディスク装置 203に記 憶し、保存する(ステップ S251)。ステップ S251の処理が終了すると、制御部 230は 、ステップ S269に処理を移す。なお、コンテンツデータは、コンテンツ保持端末装置 力 所定の容量に分割されてコンテンツパケットとして送信され、制御部 230は、コン テンッパケット毎に受信して、ハードディスク装置 203に記憶することになる。  [0266] If it is determined that the purchased content data has been downloaded in response to this processing (step S250: YES). The downloaded purchased content data is stored in the hard disk device 203 and stored (step S251). When the process of step S251 ends, the control unit 230 moves the process to step S269. The content data is divided into a predetermined capacity by the content holding terminal device and transmitted as a content packet, and the control unit 230 receives each content packet and stores it in the hard disk device 203.
[0267] ステップ S250において、購入コンテンツデータをダウンロードしていないと判定さ れると(ステップ S250 : NO)、制御部 230は、コンテンツ検索メッセージを受信したか 否力を判定する(ステップ S255)。コンテンツ検索メッセージを受信したか否かは、端 末装置 2からネットワーク 6を介して、リクエスト端末装置から送信されるコンテンツ検 索メッセージが受信されたか否かによって判断される。  [0267] If it is determined in step S250 that purchased content data has not been downloaded (step S250: NO), control unit 230 determines whether or not a content search message has been received (step S255). Whether or not a content search message has been received is determined based on whether or not a content search message transmitted from the request terminal device is received from the terminal device 2 via the network 6.
[0268] この処理において、制御部 230は、コンテンツ検索メッセージを受信したと判定する と(ステップ S255 : YES)、ステップ S256においてコンテンツ検索処理を行う。このコ ンテンッ検索処理は、図 26における S292〜S296の処理であり、後述にて詳説する 。ステップ S256の処理が終了すると、制御部 230は、ステップ S269に処理を移す。  [0268] In this process, when control unit 230 determines that a content search message has been received (step S255: YES), it performs content search processing in step S256. This content search process is the process of S292 to S296 in FIG. 26 and will be described in detail later. When the process of step S256 ends, control unit 230 moves the process to step S269.
[0269] ステップ S255において、コンテンツ検索メッセージを受信しなかったと判定されると  [0269] If it is determined in step S255 that the content search message has not been received,
(ステップ S255 : NO)、制御部 230は、コンテンツ保持端末装置情報を受信したか 否力、を判定する(ステップ S260)。このコンテンツ保持端末装置情報は、コンテンツ 保持端末装置の所在情報を含む情報であり、コンテンツ保持端末装置情報を受信し たと判定すると(ステップ S260 : YES)、制御部 230は、取得したコンテンツ保持端末 装置の所在情報に基づいて、コンテンツ保持端末装置に対してコンテンツデータ全 体の一括送信を要求する(ステップ S261)。ステップ S261の処理が終了すると、制 御部 230は、ステップ S269に処理を移す。 (Step S255: NO), the control unit 230 determines whether or not the content holding terminal device information has been received (step S260). The content holding terminal device information is information including the location information of the content holding terminal device, and if it is determined that the content holding terminal device information has been received (step S260: YES), the control unit 230 acquires the acquired content holding terminal device. Based on the location information of the device, the content holding terminal device is requested to collectively transmit the entire content data (step S261). When the process of step S261 ends, the control unit 230 moves the process to step S269.
[0270] ステップ S260において、コンテンツ保持端末装置情報を受信しな力、つたと判定さ れると(ステップ S260 : NO)、制御部 230は、第 2配信形態への参カロメッセージを受 信したか否かを判定する(ステップ S265)。  [0270] If it is determined in step S260 that the content holding terminal information has not been received (step S260: NO), has control unit 230 received the participation message for the second distribution form? It is determined whether or not (step S265).
[0271] この処理において、制御部 230は、第 2配信形態への参加メッセージを受信したと 判定すると(ステップ S265 : YES)、所持しているテーブル情報を参加メッセージを 送信した端末装置へ送信する(ステップ S266)。すなわち、ルーティングテーブル 22 3のテーブル情報のうち、参加メッセージの宛先識別情報と合致しないレベルのうち 最もレベルの小さいレベルのテーブル情報をルーティングテーブル 223から取り出し 、参カロメッセージを送信した端末装置 2へ送信する。  [0271] In this process, when the control unit 230 determines that the participation message for the second distribution form has been received (step S265: YES), the control unit 230 transmits the possessed table information to the terminal device that has transmitted the participation message. (Step S266). That is, out of the table information of the routing table 223, table information of the lowest level among the levels not matching the destination identification information of the participation message is extracted from the routing table 223 and transmitted to the terminal device 2 that has transmitted the participation message. To do.
[0272] その後、制御部 230は、端末装置 2がルート端末装置であるか否かを判定する (ス テツプ S267)。端末装置 2がルート端末装置であるか否かは、受信した参加メッセ一 ジの宛先識別情報とルーティングテーブル 223とに基づいて判断される。  [0272] After that, the control unit 230 determines whether or not the terminal device 2 is a root terminal device (step S267). Whether or not the terminal device 2 is the root terminal device is determined based on the destination identification information of the received participation message and the routing table 223.
[0273] この処理において、制御部 230は、 自端末装置 2がルート端末装置でないと判定 すると(ステップ S267 : NO)、ルーティングテーブル 223に基づいて、参加メッセ一 ジを他の端末装置 2へ転送する(ステップ S268)。ステップ S268の処理が終了する と、制御部 230は、ステップ S269に処理を移す。一方、自端末装置 2がルート端末 装置であると判定すると(ステップ S267 : YES)、制御部 230は、ステップ S268の処 理は行わずに、ステップ S269に処理を移す。  [0273] In this process, if control unit 230 determines that self-terminal device 2 is not the root terminal device (step S267: NO), it transfers the participation message to another terminal device 2 based on routing table 223. (Step S268). When the process of step S268 ends, control unit 230 moves the process to step S269. On the other hand, when it is determined that the own terminal device 2 is the root terminal device (step S267: YES), the control unit 230 moves the process to step S269 without performing the process of step S268.
[0274] ステップ S269において、制御部 230は、電源がオフであるか否かを判断し、電源 がオフであると判定した場合には(ステップ S269: YES)、本処理を終了する一方、 電源がオフではないと判定した場合には(ステップ S269 : NO)、ステップ S202力も 繰り返し処理を実行することとなる。  [0274] In step S269, the control unit 230 determines whether or not the power source is off. If it is determined that the power source is off (step S269: YES), the control unit 230 ends the process while the power source is turned off. If it is determined that is not off (step S269: NO), the step S202 force is also repeatedly executed.
[0275] 次に、 S201における第 2配信形態への参加処理について図 23を参照して具体的 に説明する。  [0275] Next, the process of participating in the second distribution form in S201 will be specifically described with reference to FIG.
[0276] まず、端末装置 2の制御部 230は、コンタクト先紹介装置 5へネットワーク 6を介して 、コンタクト先情報を要求する(ステップ S270)。このコンタクト先情報の要求に対して 、コンタクト先紹介装置 5からネットワーク 6を介して送信されてくるコンタクト先情報を ネットワークインタフェース 204を介して受信する(ステップ S271)。 [0276] First, the control unit 230 of the terminal device 2 sends the contact destination introduction device 5 via the network 6. Request contact information (step S270). In response to the request for the contact destination information, the contact destination information transmitted from the contact destination introduction device 5 via the network 6 is received via the network interface 204 (step S271).
[0277] 受信したコンタクト先情報には、コンタクト先の端末装置の所在情報が含まれており 、制御部 230は、受信したコンタクト先情報に含まれるコンタクト先の端末装置に対し て参カロメッセージをネットワーク 6を介して送信する(ステップ S272)。この参加メッセ ージは、 自端末装置の識別情報を宛先識別情報としている。  [0277] The received contact destination information includes the location information of the terminal device of the contact destination, and the control unit 230 sends a participation message to the contact destination terminal device included in the received contact destination information. Transmit via network 6 (step S272). This participation message uses the identification information of the terminal device as destination identification information.
[0278] このように送信した参カロメッセージは、コンタクト先の端末装置 2から順次転送され、 転送できない位置の端末装置 2まで迪り着く。そして、参加メッセージを受信した複数 の端末装置から各レベル毎のテーブル情報を受信する(ステップ S273)。  [0278] The participation message transmitted in this way is sequentially transferred from the terminal device 2 as the contact destination, and reaches the terminal device 2 at a position where it cannot be transferred. Then, table information for each level is received from the plurality of terminal devices that have received the participation message (step S273).
[0279] 次に、制御部 230は、このように受信した複数のテーブル情報に基づいて、ルーテ イングテーブルを生成する(ステップ S274)。  Next, the control unit 230 generates a routing table based on the plurality of table information received in this way (step S274).
[0280] その後、制御部 230は、コンテンツ投入装置 4へネットワーク 6を介して、識別情報リ ストを要求する(ステップ S275)。この要求に対して、識別情報リストがコンテンツ投入 装置 4から送信されると、制御部 230は、それを受信し、ハードディスク装置 203に記 憶する(ステップ S276)。  [0280] After that, the control unit 230 requests the identification information list from the content input device 4 via the network 6 (step S275). In response to this request, when the identification information list is transmitted from the content input device 4, the control unit 230 receives it and stores it in the hard disk device 203 (step S276).
[0281] このように端末装置 2は、電源が ONになると、第 2配信形態へ参加するようにして おり、これにより複数の端末装置 2間で第 2配信形態によってコンテンツを送受信する ことが可能となっている。  [0281] As described above, the terminal device 2 is configured to participate in the second distribution form when the power is turned on, so that the content can be transmitted and received between the plurality of terminal apparatuses 2 in the second distribution form. It has become.
[0282] 次に、 S236における投入コンテンツ受信処理について図 24を参照して具体的に 説明する。  [0282] Next, the input content reception process in S236 will be specifically described with reference to FIG.
[0283] まず、端末装置 2の制御部 230は、ステップ S235において受信した投入コンテンツ データをハードディスク装置 203のコンテンツデータ記憶領域に記憶し、保存する (ス テツプ S280)。  First, control unit 230 of terminal device 2 stores and stores the input content data received in step S235 in the content data storage area of hard disk device 203 (step S280).
[0284] その後、制御部 230は、 自端末装置 2がルート端末装置であるか否かを判定する( ステップ S281)。端末装置 2がルート端末装置であるか否かは、受信したコンテンツ データのコンテンツの名称を所定のハッシュ関数によって演算してコンテンツ IDを有 する端末装置が自端末装置であるか否かによって判断される。 [0285] この処理において、制御部 230は、 自端末装置 2がルート端末装置でないと判定 すると(ステップ S 281 : NO)、ルーティングテーブル 223に基づいて、ネットワーク 6 を介してコンテンツ登録メッセージを他の端末装置 2へ送信する(ステップ S 283)。一 方、自端末装置 2がルート端末装置であると判定すると (ステップ S 281 : YES)、制御 部 230は、インデックステーブル 222にコンテンツ IDと自端末装置の所在情報を追 加して登録する(ステップ S 282)。 [0284] After that, the control unit 230 determines whether or not the own terminal device 2 is a root terminal device (step S281). Whether or not the terminal device 2 is the root terminal device is determined by calculating the content name of the received content data using a predetermined hash function and determining whether or not the terminal device having the content ID is its own terminal device. The [0285] In this process, when the control unit 230 determines that the own terminal device 2 is not a root terminal device (step S281: NO), the control unit 230 sends another content registration message via the network 6 based on the routing table 223. Transmit to terminal device 2 (step S 283). On the other hand, if it is determined that own terminal device 2 is the root terminal device (step S 281: YES), control unit 230 adds the content ID and the location information of the own terminal device to index table 222 and registers them ( Step S282).
[0286] 次に、 S 241におけるコンテンツ購入処理について図 25を参照して具体的に説明 する。  [0286] Next, the content purchase processing in S241 will be specifically described with reference to FIG.
[0287] まず、端末装置 2の制御部 230は、識別情報リストから購入するコンテンツ IDを取 得する(ステップ S 285)。すなわち、ステップ S240においてユーザからのコンテンツ 購入指示があつたと判定したコンテンツデータに関するコンテンツ IDをコンテンツ投 入装置 4から取得した識別情報リストから取得する。  [0287] First, the control unit 230 of the terminal device 2 obtains a content ID to be purchased from the identification information list (step S285). That is, the content ID related to the content data determined to have been given the content purchase instruction from the user in step S240 is acquired from the identification information list acquired from the content input device 4.
[0288] 次に、制御部 230は、リングバッファ領域 220内に購入コンテンツデータの完全版 が存在するか否かを判定する(ステップ S286)。購入コンテンツデータの完全版が存 在するか否かは、ステップ S 240においてユーザからのコンテンツ購入指示があった と判定したコンテンツデータ全体がリングバッファ領域 220に蓄積されているか否か による半 IJ定する。なお、放送形態で視聴途中のコンテンツデータはリングバッファ領 域 220にその全体が蓄積されておらず、ステップ S286の判定が YESとなるのは、放 送形態ですでに視聴終了したコンテンツデータであって、リングバッファ領域 220に 蓄積されているものに限られることになる。  [0288] Next, the control unit 230 determines whether or not a complete version of the purchased content data exists in the ring buffer area 220 (step S286). Whether or not a full version of purchased content data exists is determined by whether or not the entire content data determined to have been instructed to purchase content by the user in step S240 is stored in the ring buffer area 220. To do. Note that the content data currently being viewed in the broadcast format is not entirely stored in the ring buffer area 220, and the determination in step S286 is YES for content data that has already been viewed in the broadcast format. Thus, it is limited to those stored in the ring buffer area 220.
[0289] この処理において、リングバッファ領域 220内に購入コンテンツデータの完全版が 存在すると判定されると(ステップ S286 : YES)、制御部 230は、この購入コンテンツ データをハードディスク装置 203のコンテンツデータ記憶領域に記憶する (ステップ S 287)。リングバッファ領域 220に記憶されたコンテンツデータは、ストリーミング再生 用のコンテンツデータであるため、このステップ S287の処理においては、リングバッ ファ領域 220に記憶されたコンテンツデータを購入コンテンツ形式 (ダウンロード形式 )に変換した後、ハードディスク装置 203のコンテンツデータ記憶領域に記憶すること になる。 [0290] 一方、ステップ S286において、リングバッファ領域 220内に購入コンテンツデータ の完全版が存在しないと判定されると(ステップ S286 : NO)、制御部 230は、インデ ックステーブル 222にコンテンツ IDが存在するか否かを判定する(ステップ S288)。 [0289] In this process, when it is determined that the complete version of the purchased content data exists in the ring buffer area 220 (step S286: YES), the control unit 230 stores the purchased content data in the content data storage of the hard disk device 203. Store in the area (step S287). Since the content data stored in the ring buffer area 220 is content data for streaming playback, the content data stored in the ring buffer area 220 is converted into a purchased content format (download format) in the process of step S287. After that, it is stored in the content data storage area of the hard disk device 203. On the other hand, when it is determined in step S286 that the complete version of the purchased content data does not exist in the ring buffer area 220 (step S286: NO), the control unit 230 has the content ID in the index table 222. Whether or not (step S288).
[0291] この処理において、インデックステーブル 222にコンテンツ IDが存在すると判定さ れると(ステップ S288 : YES)、制御部 230は、インデックステーブル 222からコンテ ンッ保持端末装置の所在情報を取得し (ステップ S289)、ステップ S290の処理に移 行する。  [0291] In this process, when it is determined that the content ID exists in the index table 222 (step S288: YES), the control unit 230 acquires the location information of the content holding terminal device from the index table 222 (step S289). ) And the process proceeds to step S290.
[0292] ステップ S290において、制御部 230は、インデックステーブル 222から取得したコ ンテンッ保持端末装置の所在情報宛に、コンテンツ送信要求を送信する。すなわち 、制御部 230は、コンテンツ保持端末装置に対してダウンロード送信要求を行う。  [0292] In step S290, control unit 230 transmits a content transmission request to the location information of the content holding terminal device acquired from index table 222. That is, the control unit 230 makes a download transmission request to the content holding terminal device.
[0293] インデックステーブル 222にコンテンツ IDが存在しないと判定されると(ステップ S2 88 : N〇)、制御部 230は、ネットワーク 6を介して次の端末装置へコンテンツ検索メッ セージを送信する(ステップ S291)。すなわち、制御部 230は、ルーティングテープ ノレ 223に基づいて、ネットワーク 6を介してコンテンツ検索メッセージを他の端末装置 2へ送信する。制御部 230は、このコンテンツ検索メッセージに応答して送信されるコ ンテンッ保持端末装置の所在情報を取得し、コンテンツ保持端末装置に対してダウ ンロード要求に力かるコンテンツデータの送信要求を行う。  [0293] When it is determined that the content ID does not exist in the index table 222 (step S2 88: NO), the control unit 230 transmits a content search message to the next terminal device via the network 6 (step S2 88: NO). S291). That is, the control unit 230 transmits a content search message to another terminal device 2 via the network 6 based on the routing tape node 223. The control unit 230 acquires the location information of the content holding terminal device that is transmitted in response to the content search message, and requests the content holding terminal device to transmit the content data that contributes to the download request.
[0294] 次に、 S256におけるコンテンツ検索処理について図 26を参照して具体的に説明 する。  [0294] Next, the content search processing in S256 will be specifically described with reference to FIG.
[0295] まず、端末装置 2の制御部 230は、ステップ S255において受信したコンテンツ検索 メッセージ力 コンテンツ IDを取得する(ステップ S292)。  First, the control unit 230 of the terminal device 2 acquires the content search message power content ID received in step S255 (step S292).
[0296] 次に、制御部 230は、コンテンツ検索メッセージから取得したコンテンツ IDがインデ ックステーブル 222に存在するか否かを判定する(ステップ S293)。 Next, control unit 230 determines whether or not the content ID acquired from the content search message exists in index table 222 (step S293).
[0297] この処理において、制御部 230は、コンテンツ検索メッセージから取得したコンテン ッ IDがインデックステーブル 222に存在すると判定すると(ステップ S293 : YES)、ィ ンデッタステーブル 222からコンテンツ保持端末装置の所在情報を取得し (ステップ[0297] In this process, when the control unit 230 determines that the content ID acquired from the content search message exists in the index table 222 (step S293: YES), the location of the content holding terminal device is determined from the index table 222. Get information (step
S294)、ステップ S295の処理に移行する。 S294), the process proceeds to step S295.
[0298] ステップ S295において、制御部 230は、インデックステーブル 222から取得したコ ンテンッ保持端末装置の所在情報をネットワーク 6を介してリクエスト端末装置へ送信 する。 [0298] In step S295, the control unit 230 acquires the code acquired from the index table 222. The location information of the content holding terminal device is transmitted to the requesting terminal device via the network 6.
[0299] 一方、ステップ S293において、コンテンツ検索メッセージから取得したコンテンツ I Dがインデックステーブル 222に存在しないと判定されると(ステップ S293: N〇)、制 御部 230は、ネットワーク 6を介して次の端末装置へメッセージを転送する(ステップ S 296)。すなわち、制御部 230は、ルーティングテーブル 223に基づいて、コンテンツ 検索メッセージをネットワーク 6を介して他の端末装置 2へ転送する。  On the other hand, when it is determined in step S293 that the content ID acquired from the content search message does not exist in the index table 222 (step S293: NO), the control unit 230 performs the following via the network 6. The message is transferred to the terminal device (step S296). That is, the control unit 230 transfers the content search message to another terminal device 2 via the network 6 based on the routing table 223.
[0300] このように端末装置 2のユーザは、コンテンツ配信装置から放送形態でストリーミン グ配信されるコンテンツを視聴中に第 2配信形態である P2Pグリッド型配信形態でコ ンテンッをダウンロードすることができるため、放送形態である第 1配信形態に対する 負荷、すなわちコンテンツ配信装置やネットワークに対する負荷を低減することがで きる。  [0300] As described above, the user of the terminal device 2 can download the content in the P2P grid type distribution form, which is the second distribution form, while viewing the content streamed from the content distribution apparatus in the broadcast form. Therefore, the load on the first distribution form that is a broadcast form, that is, the load on the content distribution apparatus and the network can be reduced.
[0301] 従って、多大な費用を使ってコンテンツ配信装置やネットワークの性能を向上させ ることなく、コンテンツを視聴しながらコンテンツを購入するコンテンツ配信システムを 提供すること力 Sできる。また、視聴用の配信形態とダウンロード用の配信形態とを異な る配信形態としたため、ダウンロード購入処理による視聴用配信形態への影響を抑 えることができ、コンテンツのダウンロード時間の短縮をすることも可能となる。  [0301] Therefore, it is possible to provide a content distribution system that purchases content while viewing the content without increasing the performance of the content distribution device or the network at a great expense. In addition, since the distribution form for viewing and the distribution form for download are different, the influence on the distribution form for viewing by download purchase processing can be suppressed, and the download time of content can be shortened. It becomes possible.
[0302] また、本実施形態における端末装置 2は、放送形態で配信されるコンテンツデータ をリングバッファ領域に一時的にキャッシュしておき、購入するコンテンツデータがこ のリングバッファ領域に蓄積されているときには、リングバッファ領域に蓄積されたコン テンッデータを購入することができる。  [0302] Further, the terminal device 2 in the present embodiment temporarily caches content data distributed in a broadcast format in a ring buffer area, and the content data to be purchased is stored in the ring buffer area. Sometimes the content data stored in the ring buffer area can be purchased.
[0303] 従って、新たに P2Pグリッド型配信形態でコンテンツデータを取得するのに比べコ ンテンッデータの購入処理を短縮することができる。リングバッファ領域の容量を大き くすることによって、放送形態で配信されたコンテンツデータを多数キャッシュすること ができるので、コンテンツデータを視聴した後にダウンロードすることが多いようなュ 一ザに対してダウンロード時間の短縮効果が大きい。  [0303] Therefore, the content data purchase process can be shortened compared to newly acquiring content data in the P2P grid type distribution form. By increasing the capacity of the ring buffer area, it is possible to cache a large amount of content data distributed in broadcast form, so download time for users who often download content data after viewing it. The effect of shortening is great.
[0304] また、本実施形態における端末装置 2は、 P2Pグリッド型配信形態においてコンテ ンッデータをダウンロードするために必要なコンテンツデータの識別情報のリストをコ ンテンッ投入装置 4から取得するため、コンテンツのダウンロード処理を行う毎にコン テンッ投入装置 4へダウンロードするコンテンツデータの識別情報を取得する必要が なぐネットワークやコンテンツ投入装置 4への負荷を軽減することができ、ダウンロー ド処理の時間を短縮することができる。 [0304] In addition, the terminal device 2 in the present embodiment copies a list of content data identification information necessary for downloading content data in the P2P grid distribution mode. Since it is acquired from the content input device 4, it is possible to reduce the load on the network and the content input device 4 without having to acquire the identification information of the content data to be downloaded to the content input device 4 every time the content download process is performed. Download process time can be reduced.
[0305] また、第 1配信形態をツリー状或いはチェーン状などの階層構造による放送形態と したため、コンテンツ配信装置 1がコンテンツ配信システムに参加している全ての端 末装置 2に対して直接コンテンツデータを配信する必要がなぐコンテンツ配信装置 1やネットワークに対する負荷を更に軽減することができる。  [0305] Also, since the first distribution form is a broadcast form with a hierarchical structure such as a tree shape or a chain shape, the content distribution device 1 directly transmits content data to all the terminal devices 2 participating in the content distribution system. It is possible to further reduce the load on the content distribution apparatus 1 and the network that do not require distribution.
[0306] (接続管理装置 3の処理フローの説明)  [0306] (Description of processing flow of connection management device 3)
次に、接続管理装置 3の更に具体的な動作の一例について、図 27を参照して説明 する。図 27は接続管理装置 3における処理全体を示すフローチャートである。なお、 以下の各処理は、接続管理装置 3の制御部 330が上述した各手段として機能するこ とによって実行されるものである。  Next, an example of a more specific operation of the connection management device 3 will be described with reference to FIG. FIG. 27 is a flowchart showing the entire processing in the connection management device 3. The following processes are executed by the control unit 330 of the connection management device 3 functioning as the above-described means.
[0307] 接続管理装置 3の電源が ONになると、接続管理装置 3の CPU302は、主記憶装 置 305やハードディスク装置 303のアクセス許可、作業領域確保を初期化等の初期 設定動作を実行し、各プログラム 317〜320を CPU302による実行状態とし、制御部 330としての機能を動作させた後(ステップ S300)、ステップ S301に処理を移す。  [0307] When the power of the connection management device 3 is turned on, the CPU 302 of the connection management device 3 executes an initial setting operation such as initialization of access permission and work area reservation of the main storage device 305 and the hard disk device 303. Each program 317 to 320 is put into an execution state by the CPU 302 and the function as the control unit 330 is operated (step S300), and then the process proceeds to step S301.
[0308] ステップ S301において、制御部 330は、端末装置 2からの参加要求があるか否か を判定する。この処理において、制御部 330は、端末装置 2からの第 1配信形態への 参加要求がネットワーク 6を介して受信されたか否かを判定することになる。また、端 末装置 2からの参加要求には、第 1配信形態のうち端末装置 2が参加したい放送チヤ ンネル情報が含まれている。  In step S301, control unit 330 determines whether or not there is a participation request from terminal device 2. In this process, the control unit 330 determines whether or not a request for participation in the first distribution form from the terminal device 2 has been received via the network 6. The participation request from the terminal device 2 includes broadcast channel information that the terminal device 2 wants to participate in the first distribution form.
[0309] この処理において、制御部 330は、端末装置 2から第 1配信形態への参加要求を 受信したと判定すると (ステップ S301: YES)、受信した参加要求に含まれる端末装 置 2の所在情報をハードディスク装置の端末管理データベース 314へ登録する(ステ ップ S 302)。  [0309] In this process, when control unit 330 determines that a request for participation in the first distribution form has been received from terminal device 2 (step S301: YES), location of terminal device 2 included in the received participation request is determined. Information is registered in the terminal management database 314 of the hard disk device (step S302).
[0310] 一方、ステップ S301において、端末装置 2から第 1配信形態への参加要求を受信 しな力、つたと判定すると(ステップ S301 : N〇)、制御部 330は、コンテンツ配信装置 1 力 の登録要求を受信したか否力を判定する(ステップ S310)。 [0310] On the other hand, if it is determined in step S301 that the request for participation in the first distribution form has not been received from terminal device 2 (step S301: NO), control unit 330 determines that content distribution device 1 It is determined whether or not a force registration request has been received (step S310).
[0311] ステップ S310において、コンテンツ配信装置 1からの登録要求を受信したと判定す ると(ステップ S310 : YES)、制御部 330は、受信した登録要求に含まれるコンテンツ 配信装置 1の所在情報を端末管理データベース 314へ登録する (ステップ S311 )。  [0311] If it is determined in step S310 that a registration request from content distribution apparatus 1 has been received (step S310: YES), control unit 330 obtains location information of content distribution apparatus 1 included in the received registration request. Register in the terminal management database 314 (step S311).
[0312] 次に、制御部 330は、新しい放送チャンネルの情報をトポロジーデータベース 315 に登録する。すなわち、トポロジーデータベース 315に新しい放送チャンネルのトポロ ジーテーブルを生成するのである(ステップ S312)。  [0312] Next, the control unit 330 registers information on the new broadcast channel in the topology database 315. That is, a topology table of a new broadcast channel is generated in the topology database 315 (step S312).
[0313] ステップ S310において、コンテンツ配信装置 1からの登録要求を受信していないと 判定すると (ステップ S310 : NO)、制御部 330は、端末装置 2から接続先紹介要求を ネットワーク 6を介して受信したか否かを判定する(ステップ S320)。  [0313] If it is determined in step S310 that the registration request from content distribution apparatus 1 has not been received (step S310: NO), control unit 330 receives a connection destination introduction request from terminal apparatus 2 via network 6. It is determined whether or not (step S320).
[0314] ステップ S320において、端末装置 2から接続先紹介要求をネットワーク 6を介して 受信したと判定すると(ステップ S320 : YES)、制御部 330は、トポロジーデータべ一 ス 315から接続先紹介要求に力かる放送チャンネルに対する接続先候補となる端末 装置 2またはコンテンッ配信装置 1を選択する(ステップ S 321 )。  [0314] If it is determined in step S320 that the connection destination introduction request has been received from the terminal device 2 via the network 6 (step S320: YES), the control unit 330 changes the connection destination introduction request from the topology database 315. The terminal device 2 or the content distribution device 1 that is a connection destination candidate for the active broadcast channel is selected (step S 321).
[0315] 接続管理装置 3の制御部 330は、このように選択した接続先候補を、接続先紹介 要求を行った端末装置 2へネットワーク 6を介して返信して通知する(ステップ S322)  [0315] The control unit 330 of the connection management device 3 sends back the connection destination candidate selected in this way to the terminal device 2 that has made the connection destination introduction request, and notifies it via the network 6 (step S322).
[0316] ステップ S320において、端末装置 2から接続先紹介要求を受信していないと判定 すると(ステップ S320 : NO)、制御部 330は、端末装置 2からトポロジー参加報告が あつたか否かを判定する (ステップ S330)。端末装置 2からトポロジー参加報告があ つたか否かは、端末装置 2からネットワーク 6を介してトポロジー参加報告を受信した か否かにより判定する。 [0316] If it is determined in step S320 that the connection destination introduction request has not been received from terminal device 2 (step S320: NO), control unit 330 determines whether or not a topology participation report has been received from terminal device 2. (Step S330). Whether or not a topology participation report has been received from the terminal device 2 is determined by whether or not a topology participation report has been received from the terminal device 2 via the network 6.
[0317] ステップ S330において、端末装置 2からトポロジー参加報告があつたと判定すると( ステップ S330 : YES)、制御部 330は、このトポロジー参加報告に含まれる端末装置 2の所在情報を取り出し、トポロジーデータベース 315の更新処理を行う(ステップ S3 31)。すなわち、制御部 330は、トポロジーの変動をトポロジーデータベース 315へ 登録する。  [0317] If it is determined in step S330 that there is a topology participation report from the terminal device 2 (step S330: YES), the control unit 330 extracts the location information of the terminal device 2 included in the topology participation report, and the topology database 315 Is updated (step S3331). That is, the control unit 330 registers the topology change in the topology database 315.
[0318] ステップ S302, S312, S322, S331の処理カ終了したとき、或レヽはステップ S330 におレ、て端末装置 2からトポロジー参加報告がなレ、と判定したとき(ステップ S330: N 0)、制御部 330は、接続管理装置 3のサービス終了の操作が行われたか否かを判 定する(ステップ S340)。サービスの終了操作が行われていないと判定すると(S340 : N〇)、ステップ S301からの処理を繰り返し、接続管理装置 3のサービス終了の操 作が行われたと判定すると(ステップ S340: YES)、処理を終了する。 [0318] When the processing of steps S302, S312, S322, and S331 is completed, the process proceeds to step S330. However, when it is determined that the topology participation report has not been received from the terminal device 2 (step S330: N0), the control unit 330 determines whether or not the service termination operation of the connection management device 3 has been performed. (Step S340). If it is determined that the service termination operation has not been performed (S340: NO), the processing from step S301 is repeated, and if it is determined that the service termination operation of the connection management device 3 has been performed (step S340: YES), The process ends.
[0319] (コンテンツ投入装置 4の処理フローの説明)  [0319] (Description of processing flow of content input device 4)
次に、コンテンツ投入装置 4の更に具体的な動作の一例について、図 28を参照し て説明する。図 28はコンテンツ投入装置 4における処理全体を示すフローチャートで ある。なお、以下の各処理は、コンテンツ投入装置 4の制御部 430が上述した各手段 として機肯することによって実行されるものである。  Next, an example of a more specific operation of the content input device 4 will be described with reference to FIG. FIG. 28 is a flowchart showing the entire processing in the content input device 4. Note that the following processes are executed by the control unit 430 of the content input device 4 as a means described above.
[0320] コンテンツ投入装置 4の電源が〇Nになると、コンテンツ投入装置 4の CPU402は、 主記憶装置 405やハードディスク装置 403のアクセス許可、作業領域確保を初期化 等の初期設定動作を実行し、各プログラム 417〜419を CPU402による実行状態と し、制御部 430としての機能を動作させた後(ステップ S400)、ステップ S401に処理 を移す。  [0320] When the power of the content input device 4 becomes 0N, the CPU 402 of the content input device 4 executes initial setting operations such as initialization of access permission and work area reservation of the main storage device 405 and the hard disk device 403, Each program 417 to 419 is set to the execution state by the CPU 402, the function as the control unit 430 is operated (step S400), and the processing is moved to step S401.
[0321] ステップ S401において、制御部 430は、コンテンツ投入指示があるか否かを判定 する(ステップ S401)。ここで、コンテンツ投入指示があるか否かは、制御部 430は、 キーボード 407やマウス 408等の入力手段からのコンテンツ投入の操作がなされた か否カ 或いは後述するステップ S410においてコンテンツ配信装置 1からコンテンツ データの送信要求があつたか否かにより判断される。このコンテンツ投入指示は、コ ンテンッの名称によってコンテンツデータを特定して行われるものである。  [0321] In step S401, control unit 430 determines whether or not there is a content input instruction (step S401). Here, whether or not there is a content input instruction is determined by whether the control unit 430 determines whether or not a content input operation has been performed from an input unit such as a keyboard 407 or a mouse 408 or from the content distribution apparatus 1 in step S410 described later. Judgment is made based on whether or not a content data transmission request is received. This content input instruction is performed by specifying content data by the name of the content.
[0322] この処理において、コンテンツ投入指示があると判定されると(ステップ S401: YES )、制御部 430は、コンテンツ投入指示によって特定されたコンテンツデータに対応 するコンテンツ IDをハードディスク装置 403に記憶した管理テーブルに記憶した後( ステップ S402)、ステップ S403に処理を移す。この管理テーブルは、ハードディスク 装置 403に記憶している複数のコンテンツデータとコンテンツ IDとが関連付けて記憶 され、更に、ハードディスク装置 403に記憶しているコンテンツデータそれぞれにつ いて、コンテンツ配信装置 1やコンテンツ保持端末装置へ投入したものであるか否か のフラグが各コンテンツに関連付けて記憶されるものである。なお、フラグには、未投 入フラグ (フラグの値が「0」 )と投入済フラグ (フラグの値が「1」)とがある。 [0322] In this process, when it is determined that there is a content input instruction (step S401: YES), control unit 430 stores content ID corresponding to the content data specified by the content input instruction in hard disk device 403 . After storing in the management table (step S402), the process proceeds to step S403. The management table stores a plurality of content data stored in the hard disk device 403 and content IDs in association with each other. Further, for each content data stored in the hard disk device 403, the content distribution device 1 and the content Whether it is input to the holding terminal device Is stored in association with each content. The flag includes an unfilled flag (flag value is “0”) and a loaded flag (flag value is “1”).
[0323] ステップ S403において、制御部 430は、識別情報リストを更新し、ステップ S404に 処理を移す。この識別情報リストの更新は、コンテンツ投入指示によって特定された コンテンツデータに対応するコンテンツ ID及びコンテンツの名称とを、ハードディスク 装置 403に記憶した識別情報リストに追加記憶することによって行う。 In step S403, control unit 430 updates the identification information list, and moves the process to step S404. The identification information list is updated by additionally storing the content ID and the content name corresponding to the content data specified by the content input instruction in the identification information list stored in the hard disk device 403.
[0324] ステップ S404において、制御部 430は、コンテンツ投入指示によって特定されたコ ンテンッデータを第 2配信形態によって配信可能とするために、コンテンツ投入指示 によって特定されたコンテンツデータのコンテンツ保持端末装置となる端末装置 2を ランダムに 1以上決定する。このように決定した端末装置 2に対して、制御部 430は、 コンテンツ投入指示によって特定されたコンテンツデータをネットワーク 6を介して送 信する。 [0324] In step S404, the control unit 430 becomes a content holding terminal device for the content data specified by the content input instruction so that the content data specified by the content input instruction can be distributed by the second distribution form. Decide at least one terminal device 2 at random. The control unit 430 transmits the content data specified by the content input instruction via the network 6 to the terminal device 2 determined as described above.
[0325] 一方、ステップ S401において、コンテンツ投入指示がないと判定されると(ステップ S401 : NO)、制御部 430は、コンテンツ配信装置 1からコンテンツデータの送信要 求があつたか否かを判定する。コンテンツデータの送信要求には、コンテンツの名称 などによってコンテンツデータを特定して行われるものである。  [0325] On the other hand, when it is determined in step S401 that there is no content input instruction (step S401: NO), control unit 430 determines whether or not a content data transmission request has been received from content distribution device 1. . The content data transmission request is made by specifying the content data by the content name or the like.
[0326] この処理において、コンテンツ配信装置 1からコンテンツデータの送信要求があつ たと判定されると(ステップ S410 : YES)、制御部 430は、コンテンツデータの送信要 求に対応するコンテンツデータをハードディスク装置 403から取り出し、ネットワーク 6 を介してコンテンツ配信装置 1へ送信する(ステップ S411)。  [0326] In this process, if it is determined that a content data transmission request is received from content distribution device 1 (step S410: YES), control unit 430 transmits content data corresponding to the content data transmission request to the hard disk device. It is taken out from 403 and transmitted to the content distribution apparatus 1 via the network 6 (step S411).
[0327] また、ステップ S410において、コンテンツ配信装置 1からコンテンツデータの送信 要求がないと判定されると(ステップ S410 : NO)、制御部 430は、端末装置 2から識 別情報リストの送信要求があつたか否力、を判定する(ステップ S420)。  [0327] If it is determined in step S410 that there is no content data transmission request from content distribution device 1 (step S410: NO), control unit 430 receives an identification information list transmission request from terminal device 2. It is determined whether or not it is hot (step S420).
[0328] この処理において、端末装置 2から識別情報リストの送信要求があつたと判定すると  [0328] In this process, if it is determined that the terminal device 2 has received a transmission request for the identification information list
(ステップ S420 : YES)、制御部 430は、ハードディスク装置 403に記憶している識別 情報リストを取り出す。制御部 430は、この識別情報リストを、ネットワーク 6を介して識 別情報リストの送信要求を行った端末装置へ送信する (ステップ S421)。  (Step S420: YES), control unit 430 takes out the identification information list stored in hard disk device 403. The control unit 430 transmits this identification information list to the terminal device that has requested transmission of the identification information list via the network 6 (step S421).
[0329] ステップ S404, S411, S421の処理力 S終了したとき、或レ、はステップ S420におレヽ て端末装置 2からトポロジー参加報告がなレ、と判定したとき (ステップ S420: NO)、制 御部 430は、コンテンツ投入装置 4のサービス終了の操作が行われたか否かを判定 する(ステップ S430)。サービスの終了操作が行われてレ、なレ、と判定すると(S430: N〇)、ステップ S401からの処理を繰り返し、コンテンツ投入装置 4のサービス終了の 操作が行われたと判定すると(ステップ S430: YES)、処理を終了する。 [0329] The processing power of steps S404, S411, and S421 When the processing is completed, the process returns to step S420. When it is determined that the topology participation report is not received from the terminal device 2 (step S420: NO), the control unit 430 determines whether or not the service termination operation of the content input device 4 has been performed (step S430). ). If it is determined that the service termination operation has been performed (S430: NO), the processing from step S401 is repeated, and if it is determined that the service termination operation of the content input device 4 has been performed (step S430: YES), the process is terminated.
[0330] 以上のように、コンテンツ投入装置 4は、第 1配信形態におけるコンテンツ配信装置  As described above, the content input device 4 is the content distribution device in the first distribution form.
1と第 2配信形態における端末装置 2とに対してコンテンツデータを送信して投入する ようにしており、コンテンツ投入装置 4によってコンテンツ配信システム Sにおける第 1 配信形態と第 2配信形態へ投入するコンテンツデータを管理することができる。また、 識別情報リストを生成及び更新し、端末装置 2からの要求に応じて送信するようにし ており、これにより端末装置 2は、第 1配信形態で配信されるコンテンツデータを、第 2 配信形態での取得を容易にしてレ、る。  Content data is sent to and input from the terminal device 2 in the second distribution form 1 and the content to be input to the first distribution form and the second distribution form in the content distribution system S by the content input apparatus 4 Data can be managed. In addition, the identification information list is generated and updated, and is transmitted in response to a request from the terminal device 2, whereby the terminal device 2 transmits the content data distributed in the first distribution form to the second distribution form. Make it easy to get in.
[0331] また、コンテンツ投入装置 4は、コンテンツ配信装置 1によってストリーミング配信す るコンテンツデータ以外のコンテンツデータの識別情報を含む識別情報リストを記憶 することができるので、放送形態で直接配信されるコンテンツデータ以外のコンテン ッデータを P2Pグリッド型配信形態で取得することができる。例えば、コンテンツデー タが音楽コンテンツの場合には、過去に視聴した音楽コンテンツを P2Pグリッド型配 信形態で取得することが可能となる。  [0331] Further, the content input device 4 can store an identification information list including identification information of content data other than the content data to be streamed by the content distribution device 1, so that the content directly distributed in the broadcast form Content data other than data can be acquired in the P2P grid distribution format. For example, if the content data is music content, it is possible to acquire music content that has been viewed in the past in a P2P grid distribution format.
[0332] なお、識別情報リストの生成及び更新は、放送チャンネル毎に行ってもよい。この場 合、コンテンツ配信装置 1の制御部 130は、放送チャンネルの情報を含むコンテンツ データの送信要求をコンテンツ投入装置 4へ送信する。コンテンツ投入装置の制御 部 430は、コンテンツデータの送信要求に含まれる放送チャンネルの情報に基づい て、放送チャンネル毎に識別情報リストを作成することになる。このように放送チャン ネル毎に識別情報リストを生成することができるため、端末装置に対して必要最小限 の識別情報リストを送信するだけでよぐコンテンツ投入装置 4やネットワークに対する 負荷を低減することができる。  [0332] The generation and update of the identification information list may be performed for each broadcast channel. In this case, the control unit 130 of the content distribution device 1 transmits a transmission request for content data including broadcast channel information to the content input device 4. The control unit 430 of the content input device creates an identification information list for each broadcast channel based on the broadcast channel information included in the content data transmission request. Since an identification information list can be generated for each broadcast channel in this way, it is possible to reduce the burden on the content input device 4 and the network by simply transmitting the minimum necessary identification information list to the terminal device. Can do.
[0333] また、識別情報リストの生成及び更新は、コンテンツ配信装置 1へ投入した時点から 所定期間経過したコンテンツデータに関する情報は識別情報リストから削除するよう にしてもよい。この場合、コンテンツ投入装置 4の制御部 430は、識別情報リストに追 カロしたコンテンツデータに関する情報毎にその追加した日時を記憶しておき。追加し た日時から所定期間(例えば、 10日)経過後に、識別情報リストから削除するようにす る。このようにすることによって、識別情報リストのデータサイズを小さくすることができ 、コンテンツ投入装置 4やネットワークに対する負荷を低減することができる。 [0333] In addition, the generation and update of the identification information list is such that information regarding content data that has passed a predetermined period from the time when it was input to the content distribution apparatus 1 is deleted from the identification information list. It may be. In this case, the control unit 430 of the content input device 4 stores the added date and time for each piece of information related to the content data added to the identification information list. After a specified period (for example, 10 days) has elapsed from the date and time of addition, it is deleted from the identification information list. By doing so, the data size of the identification information list can be reduced, and the load on the content input device 4 and the network can be reduced.
[0334] また、識別情報リストの生成及び更新は、コンテンツ配信装置 1からの要求に応じて 行うようにしてもよい。この場合、コンテンツ配信装置 1は、コンテンツ投入装置 4に対 して識別情報リストの生成要求又は更新要求を行レ、、この要求に対してコンテンツ投 入装置 4は識別情報リストの生成又は更新を行い、生成又は更新した識別情報リスト をコンテンツ配信装置 1に送信するのである。 [0334] Further, the generation and update of the identification information list may be performed in response to a request from the content distribution apparatus 1. In this case, the content distribution device 1 issues a request for generating or updating the identification information list to the content input device 4, and the content input device 4 generates or updates the identification information list in response to this request. The identification information list generated and updated is transmitted to the content distribution apparatus 1.
[0335] (コンタクト先紹介装置 5の処理フローの説明)  [0335] (Explanation of processing flow of contact introduction device 5)
次に、コンタクト先紹介装置 5の更に具体的な動作の一例について、図 29を参照し て説明する。図 29はコンタクト先紹介装置 5における処理全体を示すフローチャート である。なお、以下の各処理は、コンタクト先紹介装置 5の制御部 530が上述した各 手段として機能することによって実行されるものである。  Next, an example of a more specific operation of the contact introduction device 5 will be described with reference to FIG. FIG. 29 is a flowchart showing the entire processing in the contact introduction device 5. The following processes are executed by the control unit 530 of the contact introduction device 5 functioning as the above-described means.
[0336] コンタクト先紹介装置 5の電源が ONになると、コンタクト先紹介装置 5の CPU502 は、主記憶装置 505やハードディスク装置 503のアクセス許可、作業領域確保を初 期化等の初期設定動作を実行し、各プログラム 517〜519を CPU502による実行状 態とし、制御部 530としての機能を動作させた後(ステップ S500)、ステップ S501に 処理を移す。  [0336] When the contact introduction device 5 is powered on, the CPU 502 of the contact introduction device 5 performs initial setting operations such as initializing access permission and work area reservation for the main storage device 505 and hard disk device 503. Then, each program 517 to 519 is put into an execution state by the CPU 502, the function as the control unit 530 is operated (step S500), and the processing is moved to step S501.
[0337] ステップ S501において、制御部 530は、コンタクト先紹介要求があるか否かを判定 する。ここで、コンタクト先紹介要求があるか否かは、制御部 530が端末装置から送 信されるコンタクト先紹介要求をネットワーク 6を介して受信したか否かによって判断さ れる。  [0337] In step S501, control unit 530 determines whether or not there is a contact introduction request. Here, whether or not there is a contact destination introduction request is determined based on whether or not control unit 530 has received a contact destination introduction request transmitted from the terminal device via network 6.
[0338] この処理において、コンタクト先紹介要求があると判定されると(ステップ S501 :YE S)、制御部 530は、コンタクト先紹介要求を行った端末装置に対して、第 2配信形態 におけるコンタクト先候補を返信する(ステップ S 502)。  [0338] In this process, when it is determined that there is a contact introduction request (step S501: YES), the control unit 530 sends a contact in the second distribution form to the terminal device that has made the contact introduction request. The destination candidate is returned (step S502).
[0339] ステップ S502の処理が終了したとき、或いはステップ S501においてコンタクト先紹 介要求がないと判定したとき (ステップ S501 : NO)、制御部 530は、コンタクト先紹介 装置 5のサービス終了の操作が行われたか否かを判定する(ステップ S503)。サービ スの終了操作が行われていないと判定すると(S503 : NO)、ステップ S501からの処 理を繰り返し、コンタクト先紹介装置 5のサービス終了の操作が行われたと判定すると (S503 :YES)、処理を終了する。 [0339] When the processing in step S502 is completed, or in step S501, the contact information is introduced. When it is determined that there is no request for intervention (step S501: NO), the control unit 530 determines whether an operation for ending the service of the contact introduction device 5 has been performed (step S503). If it is determined that the service termination operation has not been performed (S503: NO), the processing from step S501 is repeated, and if it is determined that the service termination operation of the contact introduction device 5 has been performed (S503: YES), The process ends.
[0340] [8.変形例 1]  [0340] [8. Modification 1]
上記実施形態においては、識別情報リストの端末装置 2への送信をコンテンツ投入 装置 4から行うようにしたが、本変形例 1では、以下に述べる構成を上記実施形態に 付加することによってコンテンツ配信装置 1から送信する。なお、コンテンツ投入装置 4は、識別情報リストを生成及び更新せず、又端末装置 2はコンテンツ投入装置 4に 対して識別リストの送信要求を行わなレ、。  In the above embodiment, the identification information list is transmitted to the terminal device 2 from the content input device 4. However, in the present modification 1, a content distribution device is added by adding the following configuration to the above embodiment. Send from 1. Note that the content input device 4 does not generate and update the identification information list, and the terminal device 2 does not send an identification list transmission request to the content input device 4.
[0341] コンテンツ配信装置 1の制御部 130は、コンテンツデータの識別情報を第 1配信形 態を用いて送信する。コンテンツデータの識別情報の送信は、そのコンテンツデータ に含ませて送信するようにしてもよぐ又コンテンツデータとは別に送信するようにして もよレ、。この処理は、コンテンツ管理プログラム 121を CPU102が主記憶装置 105か ら読み出して実行されることにより、識別情報送信手段として機能するものである。す なわち、識別情報送信手段は、配信手段によってストリーミング配信するコンテンツ データの識別情報を送信するのである。  [0341] The control unit 130 of the content distribution device 1 transmits the identification information of the content data using the first distribution mode. The content data identification information may be transmitted by including it in the content data or separately from the content data. This process functions as an identification information transmission unit when the CPU 102 reads out and executes the content management program 121 from the main storage device 105. In other words, the identification information transmitting means transmits the identification information of the content data to be streamed by the distribution means.
[0342] また、端末装置 2は、コンテンツ配信装置 1から送信されるコンテンツデータの識別 情報を用いて、ダウンロード要求されたコンテンツデータの識別情報を取得する。こ の処理は、コンテンツ購入プログラム 221を主記憶装置 205から CPU202が読み出 して実行することにより、識別情報受信手段として機能するものである。すなわち、識 別情報受信手段は、コンテンツ配信装置 1から送信されるコンテンツデータの識別情 報を受信するのである。そして、識別情報取得手段は、識別情報受信手段によって 受信したコンテンツデータの識別情報からダウンロード要求されたコンテンツデータ の識別情報を取得する。  [0342] Also, the terminal device 2 acquires the identification information of the content data requested to be downloaded, using the identification information of the content data transmitted from the content distribution device 1. This process functions as identification information receiving means by the CPU 202 reading the content purchase program 221 from the main storage device 205 and executing it. In other words, the identification information receiving means receives the identification information of the content data transmitted from the content distribution device 1. The identification information acquisition unit acquires the identification information of the content data requested to be downloaded from the identification information of the content data received by the identification information receiving unit.
[0343] このように、 P2Pグリッド型配信形態においてコンテンツデータをダウンロードするた めに必要なコンテンツデータの識別情報がコンテンツ配信装置 1から端末装置 2へ 送信される。従って、端末装置 2では、ダウンロードするコンテンツデータの識別情報 をコンテンツ投入装置 4などに要求して取得する必要がないため、コンテンツ投入装 置における処理を軽減することができる。また、コンテンツデータの識別情報をストリ 一ミング配信するコンテンツパケットのヘッダに含ませてコンテンツ配信装置から送信 するようにすることちでさる。 [0343] In this way, content data identification information necessary for downloading content data in the P2P grid distribution form is transmitted from the content distribution device 1 to the terminal device 2. Sent. Therefore, since the terminal device 2 does not need to request and acquire the identification information of the content data to be downloaded from the content input device 4 or the like, the processing in the content input device can be reduced. In addition, the identification information of the content data is included in the header of the content packet to be streamed and transmitted from the content distribution device.
[0344] [9.変形例 2] [0344] [9. Variation 2]
上記実施形態においては、ルート端末装置力 Sリクエスト端末装置に対してコンテン ッデータの所在情報を送信し、リクエスト端末装置がコンテンツ保持端末装置から、 そのコンテンツデータをダウンロードして取得するものであった力 ルート端末装置が コンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信 を要求するようにしてもよい。  In the above-described embodiment, the location terminal content is transmitted to the request terminal device, and the request terminal device downloads and acquires the content data from the content holding terminal device. The root terminal device may request the content holding terminal device to transmit the content data to the requesting terminal device.
[0345] この場合、図 30に示すように、ルート端末装置 2Zは、リクエスト端末装置 2Xから要 求されたコンテンツデータを保持するコンテンツ保持端末装置 2Yの所在情報をイン デッタステーブル 222から取り出す。そして、当該コンテンツ保持端末装置 2Yの所在 情報に基づいて、リクエスト端末装置 2Xの所在情報を含めたコンテンツデータの送 信要求をコンテンツ保持端末装置 2Yへ送信する。コンテンツ保持端末装置 2Yは、 コンテンツデータの送信要求を受信すると、このコンテンツデータの送信要求に含ま れるリクエスト端末装置 2Xの所在情報に対して、コンテンツデータの送信要求に対 応するコンテンツデータを送信することになる。 In this case, as shown in FIG. 30, root terminal device 2Z takes out location information of content holding terminal device 2Y that holds the content data requested from requesting terminal device 2X from index table 222. Then, based on the location information of the content holding terminal device 2Y, a transmission request for content data including the location information of the request terminal device 2X is transmitted to the content holding terminal device 2Y. Upon receiving the content data transmission request, the content holding terminal device 2Y transmits the content data corresponding to the content data transmission request to the location information of the request terminal device 2X included in the content data transmission request. It will be.
[0346] すなわち、端末装置 2の制御部 230は、リクエスト端末装置 2Xからコンテンツ検索メ ッセージをルート端末装置 2Zとして受信したとき、コンテンツ保持端末装置情報返信 手段の機能に代えて、コンテンツ保持端末装置情報選択手段によって選択されたコ ンテンッ保持端末装置 2Yの所在情報を宛先として、リクエスト端末装置 2Xの所在情 報を含めたコンテンツデータの送信要求を送信するコンテンツデータ送信要求手段 として機能する。  That is, when receiving the content search message from the request terminal device 2X as the root terminal device 2Z, the control unit 230 of the terminal device 2 replaces the function of the content holding terminal device information return means with the content holding terminal device. It functions as a content data transmission requesting means for transmitting a content data transmission request including the location information of the request terminal apparatus 2X with the location information of the content holding terminal apparatus 2Y selected by the information selection means as a destination.
[0347] なお、リクエスト端末装置 2Xは、ダウンロード先検索手段によって検索メッセージを 送信し、ダウンロードデータ受信手段は、この検索メッセージに応じたコンテンツデー タをコンテンツ保持端末装置 2Yから受信する。 [0348] このようにルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置 へのコンテンツデータの送信を要求するように第 2配信形態を構成することも可能で ある。 Note that the request terminal apparatus 2X transmits a search message by the download destination search means, and the download data reception means receives content data corresponding to the search message from the content holding terminal apparatus 2Y. [0348] In this way, the second distribution form may be configured such that the root terminal device requests the content holding terminal device to transmit the content data to the request terminal device.
[0349] [10.その他の変形例]  [0349] [10. Other variations]
上記実施形態においては、各端末装置 2は、コンテンツ配信システム Sに参加する 場合、第 1配信形態に参加すると同時に、第 2配信形態にも参加するようにしたが、 端末装置 2のユーザからダウンロード要求があつたときに、第 2配信形態に参加する ようにしてもよい。このようにすることにより、端末装置 2や第 2配信形態における負荷 を低減すること力 Sできる。  In the above embodiment, when each terminal device 2 participates in the content distribution system S, the terminal device 2 participates in the second distribution form at the same time as the first distribution form. You may be allowed to participate in the second distribution form when requested. By doing so, it is possible to reduce the load in the terminal device 2 and the second distribution mode.
[0350] また、第 1配信形態の放送形態としてツリー状階層構造を例にして説明したが、こ れに限られず、サーバ—クライアント型の放送形態でもよい。  [0350] Also, the tree form hierarchical structure has been described as an example of the broadcast form of the first distribution form, but the present invention is not limited to this, and a server-client type broadcast form may be used.
[0351] また、第 2配信形態として、 Pastry型のコンテンツ配信システムを例にして説明した 力 これに限られず、メッセージの転送方法が異なる kademlia型、 chord型、 Vicero y型、 CAN型などのコンテンツ配信システムにも本発明を適用可能である。  [0351] In addition, the second delivery form has been described using the Pastry-type content delivery system as an example. The present invention is not limited to this, and content such as kademlia-type, chord-type, Viceroy-type, CAN-type, etc., with different message transfer methods. The present invention can also be applied to a distribution system.

Claims

請求の範囲 The scope of the claims
[1] コンテンツ配信装置から端末装置にコンテンツデータを放送形態にてストリーミング 配信する第 1配信形態と、前記複数の端末装置間において、一つの端末装置からの コンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他 の端末装置が前記コンテンツデータを配信する第 2配信形態とを有するコンテンツ配 信システムであって、  [1] A first distribution form in which content data is streamed and distributed from a content distribution apparatus to a terminal apparatus in a broadcast form, and the content based on a content data download request from one terminal apparatus between the plurality of terminal apparatuses. A content distribution system having a second distribution mode in which another terminal device holding data distributes the content data,
前記端末装置は、  The terminal device
前記コンテンツ配信装置からストリーミング配信される前記コンテンツデータをストリ 一ミング受信するストリーミング受信手段と、  Streaming receiving means for streaming receiving the content data streamed from the content distribution device;
前記ストリーミング受信手段により受信したコンテンツデータを一時的に蓄積するリ ングバッファ領域と、  A ring buffer area for temporarily storing content data received by the streaming receiving means;
前記リングバッファ領域に蓄積したコンテンツデータをストリーミング再生するストリ 一ミング再生手段と、  Streaming playback means for streaming playback of content data stored in the ring buffer area;
前記ストリーミング再生手段によって再生される前記コンテンツデータに関してダウ ンロード要求の操作があると、当該ダウンロード要求されたコンテンツデータを第 2配 信形態で取得するために、当該コンテンツデータの識別情報を取得する識別情報取 得手段と、  When there is a download request operation on the content data played back by the streaming playback means, the identification for acquiring the identification information of the content data is acquired in order to acquire the content data requested for download in the second delivery form. Information acquisition means;
前記識別情報取得手段によって取得された前記コンテンツデータの識別情報に基 づいて、前記ダウンロード要求されたコンテンツデータを前記第 2配信形態の端末装 置からダウンロードするダウンロード処理手段と、  Download processing means for downloading the content data requested to be downloaded from the terminal device of the second distribution form based on the identification information of the content data acquired by the identification information acquiring means;
前記ダウンロード処理手段によりダウンロードした前記コンテンツデータを記憶する コンテンツデータ記憶手段と、  Content data storage means for storing the content data downloaded by the download processing means;
を有するコンテンツ酉己信システム。  A system with content.
[2] 前記第 1配信形態は、前記コンテンツ配信装置を頂点として複数の端末装置がネ ットワーク上に階層構造で多層に論理接続されるように接続管理装置によって管理さ れ、前記コンテンツ配信装置から送信される前記コンテンツデータが前記階層構造 の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によ つてストリーミング配信される放送形態であり、 前記コンテンツ配信装置は、 [2] The first distribution form is managed by a connection management device so that a plurality of terminal devices are logically connected in a hierarchical structure on a network with the content distribution device at the top, from the content distribution device. The content data to be transmitted is a broadcast form in which streaming is sequentially delivered from the upstream terminal device of the hierarchical structure to the downstream terminal device by the relay function of the terminal device, The content distribution device includes:
前記ネットワークを介して前記コンテンツデータをストリーミング配信するコンテンツ データ配信手段を備え、  Content data distribution means for streaming distribution of the content data via the network;
前記接続管理装置は、  The connection management device includes:
前記階層構造を構成する前記端末装置の接続状態情報を記憶する接続状態情報 記憶手段と、  Connection state information storing means for storing connection state information of the terminal device constituting the hierarchical structure; and
前記ネットワークを介して前記端末装置から接続先紹介要求を受信したとき、前記 接続状態情報記憶手段に記憶された前記接続状態情報から接続先候補を選択する 接続先候補選択手段と  A connection destination candidate selection unit that selects a connection destination candidate from the connection state information stored in the connection state information storage unit when a connection destination introduction request is received from the terminal device via the network;
前記接続先候補選択手段によって選択された前記接続先候補を、前記接続先紹 介要求を送信した前記端末装置へ前記ネットワークを介して通知する通知手段と、を 備え、  Notification means for notifying the terminal device that has transmitted the connection destination introduction request via the network of the connection destination candidate selected by the connection destination candidate selection means;
前記端末装置は、  The terminal device
前記ネットワークを介して前記接続管理装置に前記接続先紹介要求を送信し、そ の後、前記接続管理装置から通知された前記接続先候補に接続して前記第 1配信 形態に参加する接続手段と、  A connection means for transmitting the connection destination introduction request to the connection management device via the network, and then connecting to the connection destination candidate notified from the connection management device and participating in the first distribution form; ,
他の前記端末装置から前記コンテンツデータの中継依頼を受信すると、当該中継 依頼を行った端末装置へ受信した前記コンテンツデータをストリーミング転送するスト リーミング中継手段と、を有し、  Receiving a relay request for the content data from another terminal device, and streaming relay means for streaming transfer the received content data to the terminal device that has made the relay request,
前記ストリーミング受信手段は、前記コンテンツ配信装置からの前記コンテンツデー タを、前記ネットワークを介して接続した前記接続先候補を介して受信する  The streaming receiving means receives the content data from the content distribution device via the connection destination candidate connected via the network.
ことを特徴とする請求項 1に記載のコンテンツ配信システム。  The content distribution system according to claim 1, wherein:
前記端末装置は、  The terminal device
前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄 積されているか否かを判定する判定手段と、  Determining means for determining whether or not the entire content data requested to be downloaded is stored in the ring buffer area;
前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記 リングバッファ領域に蓄積されていると判定すると、前記第 2配信形態によって前記コ ンテンッデータのダウンロードを行わずに、前記リングバッファ領域に蓄積されている コンテンツデータを前記コンテンツデータ記憶手段に記憶するコンテンツデータ記憶 制御手段と、を有する If it is determined by the determination means that the entire content data requested to be downloaded is stored in the ring buffer area, the content data is not downloaded in the second distribution form, but is stored in the ring buffer area. ing Content data storage control means for storing content data in the content data storage means
ことを特徴とする請求項 1又は請求項 2に記載のコンテンツ配信システム。  The content distribution system according to claim 1 or claim 2, wherein
[4] 前記第 2配信形態にて配信するコンテンツデータを前記複数の端末装置のうち一 部の端末装置に送信するコンテンツ投入手段と、 [4] Content input means for transmitting content data distributed in the second distribution mode to a part of the plurality of terminal devices;
前記コンテンツ配信装置によってストリーミング配信するコンテンツデータの識別情 報を複数含む識別情報リストを記憶する識別情報リスト記憶手段と、  Identification information list storage means for storing an identification information list including a plurality of pieces of identification information of content data to be streamed by the content distribution device;
前記識別情報リスト記憶手段に記憶した前記識別情報リストを前記複数の端末装 置に送信する識別情報リスト送信手段と、を有するコンテンツ投入装置を備え、 前記端末装置は、  An identification information list transmission unit that transmits the identification information list stored in the identification information list storage unit to the plurality of terminal devices, and the terminal device includes:
前記コンテンツ投入装置から送信される識別情報リストを受信する識別情報リスト受 信手段を有し、  An identification information list receiving means for receiving an identification information list transmitted from the content input device;
前記識別情報取得手段は、  The identification information acquisition means includes
前記識別情報リスト受信手段により受信した当該識別情報リストから前記ダウンロー ド要求されたコンテンツデータの識別情報を取得する  The identification information of the content data requested for download is acquired from the identification information list received by the identification information list receiving means.
ことを特徴とする請求項 1〜3のいずれか 1項に記載のコンテンツ配信システム。  The content distribution system according to any one of claims 1 to 3, wherein:
[5] 前記識別情報リスト記憶手段は、前記コンテンツ配信装置によってストリーミング配 信するコンテンツデータ以外のコンテンツデータの識別情報を含む識別情報リストを 記憶する [5] The identification information list storage unit stores an identification information list including identification information of content data other than content data to be streamed by the content distribution device.
ことを特徴とする請求項 4に記載のコンテンツ配信システム。  The content distribution system according to claim 4, wherein
[6] 前記コンテンツ配信装置は、 [6] The content distribution device includes:
前記ストリーミング配信手段によってストリーミング配信するコンテンツデータの識別 情報を送信する識別情報送信手段を有し、  Identification information transmitting means for transmitting identification information of content data to be streamed by the streaming distribution means;
前記端末装置は、  The terminal device
前記コンテンツ配信装置力 送信される前記コンテンツデータの識別情報を受信 する識別情報受信手段を有し、  The content distribution device has identification information receiving means for receiving identification information of the content data to be transmitted,
前記識別情報取得手段は、  The identification information acquisition means includes
前記識別情報受信手段によって受信した前記コンテンツデータの識別情報から前 記ダウンロード要求されたコンテンツデータの識別情報を取得する From the identification information of the content data received by the identification information receiving means Acquire identification information of content data requested for download
ことを特徴とする請求項 1〜3のいずれか 1項に記載のコンテンツ配信システム。  The content distribution system according to any one of claims 1 to 3, wherein:
[7] コンテンツ配信装置から端末装置にコンテンツデータを放送形態にてストリーミング 配信する第 1配信形態と、前記複数の端末装置間において、一つの端末装置からの コンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他 の端末装置が前記コンテンツデータを配信する第 2配信形態とを有するコンテンツ配 信システムにおける前記端末装置であって、 [7] A first distribution form in which content data is streamed and distributed from a content distribution apparatus to a terminal apparatus in a broadcast form, and the content based on a content data download request from one terminal apparatus between the plurality of terminal apparatuses. A terminal device in a content distribution system having a second distribution mode in which another terminal device holding data distributes the content data,
前記コンテンツ配信装置からストリーミング配信される前記コンテンツデータをストリ 一ミング受信するストリーミング受信手段と、  Streaming receiving means for streaming receiving the content data streamed from the content distribution device;
前記ストリーミング受信手段により受信したコンテンツデータを一時的に蓄積するリ ングバッファ領域と、  A ring buffer area for temporarily storing content data received by the streaming receiving means;
前記リングバッファ領域に蓄積したコンテンツデータをストリーミング再生するストリ 一ミング再生手段と、  Streaming playback means for streaming playback of content data stored in the ring buffer area;
前記ストリーミング再生手段によって再生される前記コンテンツデータに関してダウ ンロード要求の操作があると、当該ダウンロード要求されたコンテンツデータを第 2配 信形態で取得するために、当該コンテンツデータの識別情報を取得する識別情報取 得手段と、  When there is a download request operation on the content data played back by the streaming playback means, the identification for acquiring the identification information of the content data is acquired in order to acquire the content data requested for download in the second delivery form. Information acquisition means;
前記識別情報取得手段によって取得された前記コンテンツデータの識別情報に基 づいて、前記ダウンロード要求されたコンテンツデータを前記第 2配信形態の端末装 置からダウンロードするダウンロード処理手段と、  Download processing means for downloading the content data requested to be downloaded from the terminal device of the second distribution form based on the identification information of the content data acquired by the identification information acquiring means;
前記ダウンロード処理手段によりダウンロードした前記コンテンツデータを記憶する コンテンツデータ記憶手段と、  Content data storage means for storing the content data downloaded by the download processing means;
を有する端末装置。  A terminal device.
[8] 前記第 1配信形態は、前記コンテンツ配信装置を頂点として複数の端末装置がネ ットワーク上に階層構造で多層に論理接続されるように接続管理装置によって管理さ れ、前記コンテンツ配信装置力 送信される前記コンテンツデータが前記階層構造 の上流の端末装置から下流の端末装置にかけて順次前記端末装置の中継機能によ つてストリーミング配信される放送形態であり、 前記端末装置は、 [8] The first distribution form is managed by a connection management device so that a plurality of terminal devices are logically connected in a hierarchical structure on a network with the content distribution device at the top, and the content distribution device capability is The content data to be transmitted is a broadcast form in which streaming is sequentially delivered from the upstream terminal device of the hierarchical structure to the downstream terminal device by the relay function of the terminal device, The terminal device
前記ネットワークを介して前記接続管理装置に前記接続先紹介要求を送信し、そ の後、前記接続管理装置から通知された前記接続先候補に接続して前記第 1配信 形態に参加する接続手段と、  A connection means for transmitting the connection destination introduction request to the connection management device via the network, and then connecting to the connection destination candidate notified from the connection management device and participating in the first distribution form; ,
他の前記端末装置から前記コンテンツデータの中継依頼を受信すると、当該中継 依頼を行った端末装置へ受信した前記コンテンツデータをストリーミング転送するスト リーミング中継手段と、を有し、  Receiving a relay request for the content data from another terminal device, and streaming relay means for streaming transfer the received content data to the terminal device that has made the relay request,
前記ストリーミング受信手段は、前記コンテンツ配信装置からの前記コンテンツデー タを、前記ネットワークを介して接続した前記接続先候補を介して受信する  The streaming receiving means receives the content data from the content distribution device via the connection destination candidate connected via the network.
ことを特徴とする請求項 7に記載の端末装置。  The terminal device according to claim 7.
[9] 前記ダウンロード要求されたコンテンツデータ全体が前記リングバッファ領域に蓄 積されているか否かを判定する判定手段と、 [9] Judgment means for judging whether or not the entire content data requested to be downloaded is stored in the ring buffer area;
前記判定手段によって、前記ダウンロード要求されたコンテンツデータ全体が前記 リングバッファ領域に蓄積されていると判定すると、前記第 2配信形態によって前記コ ンテンッデータのダウンロードを行わずに、前記リングバッファ領域に蓄積されている コンテンツデータを前記コンテンツデータ記憶手段に記憶するコンテンツデータ記憶 制御手段と、を有する  If the determination means determines that the entire content data requested to be downloaded is stored in the ring buffer area, the content data is not downloaded in the ring buffer area according to the second distribution form. Content data storage control means for storing content data in the content data storage means
ことを特徴とする請求項 7又は請求項 8に記載の端末装置。  The terminal device according to claim 7 or 8, wherein
[10] 前記第 2配信形態にて配信するコンテンツデータを前記複数の端末装置のうち一 部の端末装置に送信し、かつ前記コンテンツ配信装置によってストリーミング配信す るコンテンツデータの識別情報を複数含む識別情報リストを前記複数の端末装置に 送信するコンテンツ投入装置から前記識別情報リストを受信する識別情報リスト受信 手段を有し、 [10] Identification including a plurality of pieces of identification information of content data to be transmitted in the second distribution form to a part of the plurality of terminal devices and streamed by the content distribution device An identification information list receiving means for receiving the identification information list from a content input device that transmits an information list to the plurality of terminal devices;
前記識別情報取得手段は、  The identification information acquisition means includes
前記識別情報リスト受信手段により受信した当該識別情報リストから前記ダウンロー ド要求されたコンテンツデータの識別情報を取得する  The identification information of the content data requested for download is acquired from the identification information list received by the identification information list receiving means.
ことを特徴とする請求項 7〜9のいずれか 1項に記載の端末装置。  The terminal device according to any one of claims 7 to 9, wherein:
[11] 前記識別情報リストは、前記コンテンツ配信装置によってストリーミング配信するコン テンッデータ以外のコンテンツデータの識別情報を含む [11] The identification information list is streamed by the content distribution device. Includes identification information for content data other than numeric data
ことを特徴とする請求項 10に記載の端末装置。  The terminal device according to claim 10.
[12] 前記コンテンツ配信装置から送信される前記コンテンツデータの識別情報を受信 する識別情報受信手段と、を有し、 [12] having identification information receiving means for receiving identification information of the content data transmitted from the content distribution device,
前記識別情報取得手段は、  The identification information acquisition means includes
前記識別情報受信手段によって受信した前記コンテンツデータの識別情報から前 記ダウンロード要求されたコンテンツデータの識別情報を取得する  The identification information of the content data requested to be downloaded is acquired from the identification information of the content data received by the identification information receiving means.
ことを特徴とする請求項 7〜9のいずれか 1項に記載の端末装置。  The terminal device according to any one of claims 7 to 9, wherein:
[13] コンピュータを、請求項 7から 12のいずれか一項に記載の端末装置における各手 段として機能させるためのプログラムがコンピュータ読み取り可能に記録されているこ とを特徴とする記録媒体。 [13] A recording medium in which a program for causing a computer to function as each means in the terminal device according to any one of claims 7 to 12 is recorded in a computer-readable manner.
[14] コンテンツ配信装置から端末装置にコンテンツデータを放送形態にてストリーミング 配信する第 1配信形態と、前記複数の端末装置間において、一つの端末装置からの コンテンツデータのダウンロード要求に基づいて前記コンテンツデータを保持する他 の端末装置が前記コンテンツデータを配信する第 2配信形態とを有するコンテンツ配 信システムにおけるコンテンツ配信方法であって、 [14] A first distribution form in which content data is streamed and distributed from a content distribution apparatus to a terminal apparatus in a broadcast form, and the content based on a content data download request from one terminal apparatus between the plurality of terminal apparatuses. A content distribution method in a content distribution system having a second distribution mode in which another terminal device holding data distributes the content data,
前記配信装置が、前記コンテンツデータをストリーミング配信する配信ステップと、 前記端末装置が、前記ネットワークを介して前記配信装置力 ストリーミング配信さ れる前記コンテンツデータをストリーミング受信するステップと、  A distribution step in which the distribution device performs streaming distribution of the content data; and a step in which the terminal device performs streaming reception of the content data to be distributed through the distribution device via the network;
前記端末装置が、前記ストリーミング受信したコンテンツデータをリングバッファ領域 に一時的に蓄積するステップと、  The terminal device temporarily storing the streaming-received content data in a ring buffer area; and
前記端末装置が、前記リングバッファ領域に蓄積したコンテンツデータをストリーミ ング再生するステップと、  The terminal device streaming and reproducing the content data stored in the ring buffer area;
前記端末装置が、前記ストリーミング再生されるコンテンツデータに関してダウン口 ード要求の操作があると、当該ダウンロード要求されたコンテンツデータを第 2配信形 態で取得するために、当該コンテンツデータの識別情報を取得するステップと、 前記端末装置が、前記取得されたコンテンツデータの識別情報に基づいて、前記 ダウンロード要求されたコンテンツデータを前記第 2配信形態の端末装置力 ダウン ロードするステップと、 When the terminal device performs a download request operation on the content data to be streamed, the identification information of the content data is acquired in order to acquire the content data requested for download in the second distribution form. Acquiring the content data requested to be downloaded based on the identification information of the acquired content data. Loading step;
前記端末装置が、前記ダウンロードしたコ タをコンテンツデータ記憶 手段に記憶するステップと、  The terminal device storing the downloaded data in content data storage means;
を有するコンテンツ配信方法。  A content distribution method comprising:
PCT/JP2007/061048 2006-06-16 2007-05-31 Content delivery system, content delivery method, terminal device and recording medium with its program recorded therein WO2007145078A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-168108 2006-06-16
JP2006168108A JP2007336396A (en) 2006-06-16 2006-06-16 Content distribution system, content distribution method, terminal device and program therefor

Publications (1)

Publication Number Publication Date
WO2007145078A1 true WO2007145078A1 (en) 2007-12-21

Family

ID=38831596

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/061048 WO2007145078A1 (en) 2006-06-16 2007-05-31 Content delivery system, content delivery method, terminal device and recording medium with its program recorded therein

Country Status (2)

Country Link
JP (1) JP2007336396A (en)
WO (1) WO2007145078A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033406A (en) * 2006-07-26 2008-02-14 Brother Ind Ltd Node device, information processing program, content distribution method and content distribution system
JP5321221B2 (en) 2009-04-22 2013-10-23 富士通株式会社 Management device, management method, and program
US8458776B2 (en) * 2009-10-21 2013-06-04 Microsoft Corporation Low-latency peer session establishment
KR101869360B1 (en) * 2016-11-01 2018-06-20 계명대학교 산학협력단 A system for streaming relay engine of efficient wireless networks using media buffer control

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008033406A (en) * 2006-07-26 2008-02-14 Brother Ind Ltd Node device, information processing program, content distribution method and content distribution system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HAC T. ET AL.: "BT no Tracker ga Kieta!! Jisedai Shuryoku P2P wa eXeem ka? Yopza de Otakara Doga o Get/Cabos de iTunes kara DL Gekiretsu Download Nippon no Open Source ga Unda Sugee P2P Soft Cabos o Tsukaeba iPod ya iTunes no Kyoku o Tomodachi to Kyoyu Dekiru!", NETRUNNER, vol. 7, no. 3, 1 March 2005 (2005-03-01), pages 20 - 21, XP003020533 *
MAKIMURA S. AND MIYOSHI T.: "P2P Service ni okeru Fukusu Contents Togo Network no Teian", IEICE TECHNICAL REPORT, vol. 105, no. 86, 19 May 2005 (2005-05-19), pages 5 - 8, XP003020535 *
MAKIMURA S. ET AL.: "P2P Network ni okeru Fukusu Contents Haishin Suho", PROCEEDINGS OF THE 2005 IEICE GENERAL CONFERENCE TSUSHIN 2, 7 March 2005 (2005-03-07), pages 120, XP003020534 *

Also Published As

Publication number Publication date
JP2007336396A (en) 2007-12-27

Similar Documents

Publication Publication Date Title
JP4640307B2 (en) CONTENT DISTRIBUTION SYSTEM, CONTENT DISTRIBUTION METHOD, TERMINAL DEVICE IN CONTENT DISTRIBUTION SYSTEM, AND PROGRAM THEREOF
WO2008026400A1 (en) Contents distribution system, information processing method in contents distribution system, terminal device and recording medium including its program recorded therein
JP2007141103A (en) Information delivery system, information processor and information processing program
JP2007193626A (en) Content distribution system, node device, information processing method therefor and program therefor
WO2006103800A1 (en) Information processing device and storage device, information processing method and storing method, and information processing program and program for storage device
WO2006059476A1 (en) Data sharing system, copy content data storage control device, etc.
WO2008013036A1 (en) Node device, recording medium containing information processing program, content distribution method, and content distribution system
JP2008129694A (en) Information distribution system, information distribution method, distribution device, node device and the like
WO2007145078A1 (en) Content delivery system, content delivery method, terminal device and recording medium with its program recorded therein
JP4692278B2 (en) Content distribution system, terminal device, information processing method thereof, and program thereof
JP4765876B2 (en) TERMINAL DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM FOR CONTENT DISTRIBUTION SYSTEM
JP4797679B2 (en) CONTENT DISTRIBUTION SYSTEM, CONTENT DATA MANAGEMENT DEVICE, ITS INFORMATION PROCESSING METHOD, AND ITS PROGRAM
JP2008035337A (en) Node device, distribution device, management device, information processing program, content distribution method and content distribution system
JP4635966B2 (en) CONTENT DISTRIBUTION SYSTEM, CONTENT DISTRIBUTION METHOD, TERMINAL DEVICE IN CONTENT DISTRIBUTION SYSTEM, AND PROGRAM THEREOF
JP2009232272A (en) Content distributive storage system, content playback method, node device, management apparatus, node-processing program, and management processing program
JP2008085678A (en) Content distribution system, content distribution method, terminal device in the content distribution system and program thereof
JP2009187101A (en) Content distribution storage system, evaluation value addition method, server device, node device and node processing program
JP4935734B2 (en) Content distributed storage system, node device, node processing program, and node processing method
JP2007272467A (en) Distribution system, control device, program for control device, management device, program for management device, auxiliary device, program for auxiliary device, and distribution system control method
JP2011070557A (en) Information communication system, support device, program for support device, and content acquisition method
JP5287059B2 (en) Node device, node processing program, and storage instruction method
JP5007624B2 (en) Content distributed storage system, content data acquisition method, node device, and node processing program
JP5157770B2 (en) Node device, program, and storage instruction method
JP2008293196A (en) Information distribution system, terminal apparatus used for the system, information processing program thereof, and information processing method
JP2010122925A (en) Node device, node processing program, and log collecting method

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: 07744459

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: 07744459

Country of ref document: EP

Kind code of ref document: A1