JP5616801B2 - User terminal and distribution topology reassignment program - Google Patents

User terminal and distribution topology reassignment program Download PDF

Info

Publication number
JP5616801B2
JP5616801B2 JP2011003328A JP2011003328A JP5616801B2 JP 5616801 B2 JP5616801 B2 JP 5616801B2 JP 2011003328 A JP2011003328 A JP 2011003328A JP 2011003328 A JP2011003328 A JP 2011003328A JP 5616801 B2 JP5616801 B2 JP 5616801B2
Authority
JP
Japan
Prior art keywords
terminal
reassignment
connection
distribution
request
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2011003328A
Other languages
Japanese (ja)
Other versions
JP2012147198A (en
Inventor
敏 西村
敏 西村
木村 徹
徹 木村
山本 真
真 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
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 Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2011003328A priority Critical patent/JP5616801B2/en
Publication of JP2012147198A publication Critical patent/JP2012147198A/en
Application granted granted Critical
Publication of JP5616801B2 publication Critical patent/JP5616801B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、コンテンツ配信システムに係り、特に、コンテンツを視聴する利用者が用いる利用者端末、および、配信サーバを頂点として複数の利用者端末が階層的に接続した配信ツリーに参加する利用者端末に、配信ツリー上の順番を示す配信トポロジの組替処理を実行させるための配信トポロジ組替プログラムに関する。   The present invention relates to a content distribution system, and in particular, a user terminal used by a user who views content, and a user terminal that participates in a distribution tree in which a plurality of user terminals are connected hierarchically with a distribution server at the top. The present invention relates to a distribution topology rearrangement program for causing a distribution topology rearrangement process indicating an order on a distribution tree to be executed.

近年、インターネットにおいては、ストリーミングによる動画配信サービスが普及している。また、受信端末において、視聴したいコンテンツを選択し、配信サーバより、選択したコンテンツを受信するVOD(Video On Demand)のような一対一の配信サービスに加え、同一のコンテンツを多数の受信端末に同時に伝送する一対多(放送型)の配信サービスが知られている。さらに、IPネットワークにおいて、放送型の動画配信サービスを効率よく行う方式として、IPマルチキャストが知られている。しかし、このIPマルチキャスト方式では、通信事業者の専用ネットワークが必要であり、複数事業者を跨いだサービスが困難であった。   In recent years, streaming video distribution services have become widespread on the Internet. In addition to the one-to-one distribution service such as VOD (Video On Demand) that selects the content to be viewed at the receiving terminal and receives the selected content from the distribution server, the same content is simultaneously transmitted to many receiving terminals. A one-to-many (broadcast type) distribution service for transmission is known. Furthermore, IP multicast is known as a method for efficiently performing a broadcast-type moving image distribution service in an IP network. However, in this IP multicast method, a dedicated network for the communication carrier is required, and it is difficult to provide a service across a plurality of carriers.

こうした背景から、通信事業者の専用のネットワークを必要とせずに、複数事業者を跨いだ放送型の動画配信サービスを可能とするため、ピアツーピア技術を用いたコンテンツの分散配信技術が考案された。こうした技術は、コンテンツを要求する利用者端末同士で論理的なツリーを作り、端末上で動作するアプリケーションソフトが相互にデータ転送を行うことによりマルチキャスト(一対多通信)を実現する。例えば、特許文献1に記載されたストリームデータ分散配信方法が挙げられる。   Against this background, a distributed content distribution technology using peer-to-peer technology has been devised in order to enable a broadcast-type video distribution service that spans multiple carriers without requiring a dedicated network for carriers. Such a technique realizes multicast (one-to-many communication) by creating a logical tree between user terminals requesting content, and application software operating on the terminals mutually transfers data. For example, the stream data distributed delivery method described in Patent Document 1 can be cited.

特許文献1に記載のストリームデータ分散配信方法では、インターネット等のネットワーク環境において、各ノード間でストリームデータの送受信を行うために、各ノードは、上流ノードと下流ノードとの接続関係を示すトポロジ情報を交換して、上流ノードから下流ノードへストリームデータを中継している。このストリームデータ分散配信方法では、各ノード間でトポロジ情報を交換するために、各ノードが、自律的にトポロジ情報を記憶および更新し、さらに提供する等の管理を行う機能を備えている。   In the stream data distribution and delivery method described in Patent Document 1, each node transmits and receives stream data between nodes in a network environment such as the Internet, and each node has topology information indicating a connection relationship between an upstream node and a downstream node. And the stream data is relayed from the upstream node to the downstream node. In this stream data distributed delivery method, in order to exchange topology information between the nodes, each node has a function of performing management such as autonomously storing and updating topology information and further providing it.

また、このようなコンテンツ配信方式の別の例として非特許文献1の技術が開示されている。非特許文献1の技術では、配信サーバにおいて、ストリーミングメディアを複数のデータパケットに断片化する(断片化されたデータをチャンクと呼ぶ)。そして、各端末は、必要なチャンクを持つ端末を動的に検出し、検出した端末から、プル型でチャンクを受信し、受信したチャンクを再構成することにより、所望のストリーミングメディアを得ることができる。このようなコンテンツ配信システムの一例を図1に示す。図1に示すコンテンツ配信システム100の例では、配信サーバ103によってコンテンツを(1)〜(6)の6個に個片化したチャンクのうち、奇数番号のチャンクが実線に沿って、偶数番号のチャンクが破線に沿ってそれぞれ転送されることで、図示する6台の各端末(利用者端末)101a〜101fに対して、全てのチャンクが行き届いている様子を示している。   Moreover, the technique of nonpatent literature 1 is disclosed as another example of such a content delivery system. In the technique of Non-Patent Document 1, streaming media is fragmented into a plurality of data packets in the distribution server (the fragmented data is called a chunk). Each terminal dynamically detects a terminal having a necessary chunk, receives a chunk in a pull type from the detected terminal, and reconfigures the received chunk to obtain a desired streaming medium. it can. An example of such a content distribution system is shown in FIG. In the example of the content distribution system 100 shown in FIG. 1, among the chunks obtained by dividing the content into six (1) to (6) by the distribution server 103, odd-numbered chunks are even-numbered along the solid line. The chunks are transferred along the broken lines to show that all the chunks have been delivered to the six terminals (user terminals) 101a to 101f shown in the figure.

このような階層的なコンテンツ配信システム100においては、どのような性能の利用者端末を配信ツリーのどこに配置するのかによって、システム全体の効率が変化する。例えば、複数の利用者端末の中で、接続しているインターネット回線の送信容量に余裕があり、多くの端末にストリームを分配できる利用者端末ほど、配信サーバにより近づくように接続することで、さらに多くの端末に対して安定したコンテンツを配信できるようになる。また、配信ツリーの途中の端末を利用する利用者が視聴を止めてしまい、配信ツリーが分断されてしまった場合(離脱が発生した場合)、即座に配信ツリーの別の端末と接続関係を構築し直し、ストリームの転送を途切れさせないようにすることにより、安定性を向上することができる。   In such a hierarchical content distribution system 100, the efficiency of the entire system changes depending on where in the distribution tree the user terminals of which performance are arranged. For example, among a plurality of user terminals, a user terminal that has a sufficient transmission capacity of the connected Internet line and can distribute a stream to many terminals can be further connected by being closer to the distribution server. Stable content can be distributed to many terminals. In addition, if a user who uses a terminal in the distribution tree stops viewing and the distribution tree is divided (when a disconnection occurs), it immediately establishes a connection relationship with another terminal in the distribution tree. It is possible to improve stability by re-enabling the stream transfer so as not to be interrupted.

特開2003−169089号公報JP 2003-169089 A 特開2009−124662号公報JP 2009-124662 A

Xinyan Zhang, Jiangchuan Liu, Bo Li, and Tak-Shing Peter Yum, “CoolStreaming/DoNet: A Data-Driven Overlay Network for Efficient Live Media Streaming”, In Proc. Of the 24th IEEE INFOCOM, March 2005, p.2102-2111Xinyan Zhang, Jiangchuan Liu, Bo Li, and Tak-Shing Peter Yum, “CoolStreaming / DoNet: A Data-Driven Overlay Network for Efficient Live Media Streaming”, In Proc. Of the 24th IEEE INFOCOM, March 2005, p.2102- 2111

しかしながら、コンテンツ配信システム100では、インターネット回線の送信容量(伝送能力)に余裕がある利用者端末であっても、必ずしも配信サーバ103に近い利用者端末に接続できるとは限らない。その理由の1つは、個々の利用者端末において利用者が視聴を始めたタイミングで、その端末が配信ツリーに新規に接続してコンテンツの受信を開始するからである。また、それに加えて、もう1つの理由は、通常、1つの利用者端末に接続可能な利用者端末数(接続可能数)は制限されているからである。   However, in the content distribution system 100, even a user terminal having a sufficient transmission capacity (transmission capability) of the Internet line cannot always be connected to a user terminal close to the distribution server 103. One reason is that at the timing when the user starts viewing at each user terminal, the terminal newly connects to the distribution tree and starts receiving content. In addition, another reason is that the number of user terminals that can be connected to one user terminal (the number of connectable terminals) is usually limited.

また、コンテンツ配信システム100では、利用者端末間で一度接続を確立すると、コンテンツの送受信が途絶えない限り接続を維持し続ける。そのため、送信容量(伝送能力)に余裕がある利用者端末が、一旦、配信ツリーの下流の方に接続してしまうと、他の利用者端末の離脱などに起因して配信サーバに近い利用者端末に接続できる余地が生じた場合であっても、余裕がある利用者端末は現状の状態を維持してしまう問題があった。   Also, in the content distribution system 100, once a connection is established between user terminals, the connection is maintained unless content transmission / reception is interrupted. Therefore, once a user terminal with sufficient transmission capacity (transmission capacity) is connected to the downstream of the distribution tree, the user is close to the distribution server due to the disconnection of other user terminals. Even when there is room for connection to the terminal, there is a problem that a user terminal with a margin maintains the current state.

このような問題に対し、特許文献2では、例えばツリーの上流側に位置する爺ノードの下流に2つの親ノードが接続され、一方の親ノードの下流には2つの子ノードが接続されている構成のツリーにおいて、接続できる余地が生じた場合にも対処することで、システム全体の安定性を向上させる技術が開示されている。この技術では、他方の親ノードの接続が解除された場合、爺ノードは、一方の親ノードに対して、接続が解除されたことを通知する。そして、一方の親ノードは、下流の2つの子ノードのいずれかに、爺ノードへの接続が可能になったことを示す接続可能通知を送信する。これにより、子ノードのいずれかは、爺ノードへ新たに接続することができる。   With respect to such a problem, in Patent Document 2, for example, two parent nodes are connected to the downstream of the soot node located on the upstream side of the tree, and two child nodes are connected to the downstream of one parent node. A technique for improving stability of the entire system by dealing with a case where there is room for connection in the configuration tree is disclosed. In this technique, when the connection of the other parent node is released, the heel node notifies one parent node that the connection has been released. Then, one parent node transmits a connectable notification indicating that the connection to the saddle node is possible to one of the two downstream child nodes. Thereby, any of the child nodes can be newly connected to the soot node.

しかし、各ノード装置(利用者端末)が自律的に配信トポロジを構築するシステムを想定した場合、特許文献2の技術では、接続可能通知を受信した子ノードが、爺ノードに接続する前に、新たに参加した別のノード装置が爺ノードに接続してしまう可能性があり、
必ずしも意図通りに接続切替処理が行えるとは限らない。そのため、接続切り替えが成立せず、無駄な処理となってしまうことがある。
However, when assuming a system in which each node device (user terminal) autonomously constructs a distribution topology, in the technique of Patent Document 2, before the child node that has received the connectable notification is connected to the 爺 node, There is a possibility that another newly joined node device will connect to the node.
It is not always possible to perform connection switching processing as intended. For this reason, connection switching may not be established, resulting in useless processing.

さらに、配信ツリーを構成する利用者端末は、例えばPC(Personal computer)であって、一般家庭や企業に設置されたPCは、NAT(Network Address Translation)ルータを介してインターネットに接続していることが多い。このようなPCは、自身(自端末)から接続要求を行ってインターネット上の他の端末(PCやサーバ)と接続を確立し、通信を行うことができる一方で、インターネット上の他の端末からの接続要求については、NATルータで遮られてしまうため、受け付けることができず、接続が確立できない。特許文献2に記載の技術は、この点が考慮されていない。そのため、仮に、特許文献2に記載された爺ノードがNATルータを介してインターネットに接続しており、接続要求を受付けることができない場合、子ノードから爺ノードに新たに接続要求を行うことができない。   Furthermore, the user terminal that constitutes the distribution tree is, for example, a PC (Personal computer), and the PC installed in a general home or company is connected to the Internet via a NAT (Network Address Translation) router. There are many. Such a PC can establish a connection with another terminal (PC or server) on the Internet by making a connection request from itself (own terminal), and can communicate with the other terminal from another terminal on the Internet. Since the connection request is blocked by the NAT router, it cannot be accepted and a connection cannot be established. The technique described in Patent Document 2 does not consider this point. Therefore, if the saddle node described in Patent Document 2 is connected to the Internet via a NAT router and cannot accept a connection request, a new connection request cannot be made from the child node to the saddle node. .

本発明は、以上のような問題点に鑑みてなされたものであり、コンテンツを配信する配信ツリーに属する端末に対して安定してコンテンツを配信できる利用者端末および配信トポロジ組替プログラムを提供することを課題とする。   The present invention has been made in view of the above problems, and provides a user terminal and a distribution topology reassignment program that can stably distribute contents to terminals belonging to a distribution tree that distributes contents. This is the issue.

前記課題を解決するために、本発明のうち請求項1に記載の利用者端末は、コンテンツの配信元であるコンテンツ配信サーバを頂点として、前記コンテンツを視聴する利用者が用いる複数の利用者端末が階層的に接続した配信ツリーを構成して前記コンテンツを配信するコンテンツ配信システムにおいて、前記配信ツリー上における複数の利用者端末には、他の利用者端末からの接続要求を受け付けることができる利用者端末と、受け付けることができない利用者端末と、を含み、前記利用者端末の通信環境に応じて前記利用者端末間で、前記配信ツリー上における端末の接続の順番を示す配信トポロジを組み替える利用者端末であって、通信環境情報取得手段と、配信トポロジ組替端末選択手段と、接続組替指示手段と、接続組替要求手段と、接続切替手段とを備えることとした。 In order to solve the above-mentioned problem, the user terminal according to claim 1 of the present invention is a plurality of user terminals used by a user who views the content with the content distribution server being a content distribution source at the top. In a content distribution system that forms a hierarchically connected distribution tree and distributes the content, a plurality of user terminals on the distribution tree can accept connection requests from other user terminals A user terminal and a user terminal that cannot be accepted, and redistributing a distribution topology indicating a terminal connection order on the distribution tree between the user terminals according to a communication environment of the user terminal Communication environment information acquisition means, distribution topology reconfiguration terminal selection means, connection reconfiguration instruction means, connection reconfiguration request means , It was decided and a connection switching unit.

かかる構成によれば、利用者端末は、通信環境情報取得手段によって、前記配信ツリー上において自端末に接続している他の利用者端末から、接続要求を受け付けることが可能か否かを示す到達可否情報を含む通信環境を示す情報を取得する。そして、利用者端末は、配信トポロジ組替端末選択手段によって、前記配信トポロジを組み替える処理の対象として、自端末に接続している複数の他の利用者端末の中からいずれか2端末を選択し、選択された2端末のうち、一方を組替要求端末として決定し、かつ、他方を組替受付端末として決定する。ここで、組替受付端末は、選択された一方から組替の要求を受け付けて当該一方との接続を確立すると共に、決定を行った自端末と切断する接続組替を実行する。また、組替要求端末は、選択された他方に対して前記接続組替を要求する。さらに、配信トポロジ組替端末選択手段は、前記2端末を選択する際に、少なくとも1端末は前記到達可否情報が到達可である利用者端末を選択し、記到達可否情報が到達可である利用者端末を前記組替受付端末に決定し、前記組替受付端末を前記配信ツリー上で上流及び下流のうちのいずれか一方の側から選択し、前記組替要求端末を前記配信ツリー上で上流及び下流のうちの他方の側から選択する。なお、到達可否情報が到達可である端末は、インターネット上の他の端末からの接続要求を受け付けることができる。そして、利用者端末は、接続組替指示手段によって、前記決定された組替要求端末に対して、自端末を介さずに、前記決定された組替受付端末への接続組替要求を実行するように指示する。そして、利用者端末は、前記組替要求端末として機能するときに、接続組替要求手段によって、前記組替要求端末に前記接続組替要求を実行するように指示する利用者端末である組替指示端末から、当該指示を受け付けて、当該組替指示端末の識別情報を含む組替要求メッセージを前記組替受付端末に通知することで接続組替を要求する。そして、利用者端末は、前記組替受付端末として機能するときに、接続切替手段によって、前記組替要求端末から、前記組替要求メッセージを受信し、当該組替要求端末との接続を確立すると共に、前記組替指示端末との接続を切断する。 According to this configuration, the user terminal indicates whether or not the communication environment information acquisition unit can accept a connection request from another user terminal connected to its own terminal on the distribution tree. Information indicating the communication environment including availability information is acquired. Then, the user terminal selects any two terminals from among a plurality of other user terminals connected to the terminal as a target of the process of rearranging the distribution topology by the distribution topology rearrangement terminal selection unit. One of the two selected terminals is determined as a reassignment request terminal, and the other is determined as a reassignment reception terminal. Here, reclassification reception terminal is configured to establish a connection one with the accepting requests for reclassification from a selected one, to perform the exchange connection assembly for cutting the own terminal performing the decision. Further, the reassignment request terminal requests the connection reassignment to the other selected. Furthermore, the distribution topology reclassification terminal selection means, when selecting the second terminal, at least one terminal selects a user terminal the arrival permission information is reached Friendly, before Symbol arrival permission information is a reach-friendly The user terminal is determined to be the reassignment reception terminal, the recombination reception terminal is selected from either the upstream side or the downstream side on the distribution tree, and the reassignment request terminal is selected on the distribution tree. Select from the other of the upstream and downstream sides . A terminal whose reachability information is reachable can accept a connection request from another terminal on the Internet. And a user terminal performs the connection reassignment request | requirement with respect to the determined said rearrangement reception terminal with respect to the determined recombination request | requirement terminal by a connection reassignment instruction | indication means not via a self-terminal. To instruct. Then, the user terminal, when functioning as the reclassification request terminal, the connection reclassification request unit, a user terminal to instruct to perform the connection set exchange request to the reclassification request terminal reclassification The instruction is received from the instruction terminal, and a request for connection reassignment is made by notifying the reassignment reception terminal of a reassignment request message including identification information of the reassignment instruction terminal. When the user terminal functions as the reassignment receiving terminal, the connection switching unit receives the reassignment request message from the reassignment request terminal and establishes a connection with the reassignment request terminal. At the same time, the connection with the reassignment instruction terminal is disconnected.

かかる構成によれば、利用者端末は、配信トポロジ組替端末選択手段によって、配信ツリー上において上流に接続するいずれか1つの利用者端末と、下流に接続するいずれか1つの利用者端末とを確実に接続させ、安全に配信トポロジを組み替えることができる。   According to such a configuration, the user terminal uses the distribution topology reassignment terminal selection unit to select any one user terminal connected upstream on the distribution tree and any one user terminal connected downstream. It is possible to connect securely and rearrange the distribution topology safely.

また、請求項に記載の利用者端末は、請求項に記載の利用者端末において、前記通信環境情報取得手段が、他の利用者端末から、通信環境を示す情報として、前記到達可否情報と当該端末の送信容量情報とを取得し、前記配信トポロジ組替端末選択手段が、前記2端末を選択する際に、前記配信ツリー上において前記上流の位置にて自端末に接続するいずれか1つの利用者端末と、前記配信ツリー上において前記下流の位置にて自端末に接続すると共に送信容量が最も大きい1つの利用者端末と、を選択し、前記選択された2端末のいずれか一方の前記到達可否情報が到達可であることを特徴とする。 Further, the user terminal according to claim 2 is the user terminal according to claim 1 , wherein the communication environment information acquisition means receives the reachability information as information indicating a communication environment from another user terminal. And the transmission capacity information of the terminal, and when the distribution topology reassignment terminal selection unit selects the two terminals, it connects to its own terminal at the upstream position on the distribution tree. One user terminal and one user terminal having the largest transmission capacity and connected to the own terminal at the downstream position on the distribution tree, and selecting either one of the two selected terminals The reachability information is reachable.

かかる構成によれば、利用者端末は、配信トポロジ組替端末選択手段によって、上流端末と、下流端末のうち送信容量が最も大きい利用者端末とを優先的に選択するので、送信容量に余裕のある下流端末を上流端末に確実に接続させ、安全に配信トポロジを組み替えることができる。これにより、送信容量に余裕のある端末をコンテンツ配信サーバにより近づけることができるため、コンテンツ配信の安定性を向上できる。   According to such a configuration, the user terminal preferentially selects the upstream terminal and the user terminal having the largest transmission capacity among the downstream terminals by the distribution topology reassignment terminal selection unit. A certain downstream terminal can be reliably connected to the upstream terminal, and the distribution topology can be safely rearranged. As a result, since a terminal having a sufficient transmission capacity can be brought closer to the content distribution server, the stability of content distribution can be improved.

また、請求項に記載の利用者端末は、請求項1又は請求項に記載の利用者端末において、前記配信トポロジ組替端末選択手段が、前記配信トポロジを組み替える処理の対象である2端末を選択して前記組替受付端末および前記組替要求端末を決定する処理を、自端末が前記配信ツリーから離脱する際に開始することを特徴とする。 The user terminal according to claim 3 is the user terminal according to claim 1 or 2 , wherein the distribution topology recombination terminal selection means is a target of processing for reconfiguring the distribution topology. The process of selecting the reassignment receiving terminal and the reassignment requesting terminal is started when the own terminal leaves the distribution tree.

かかる構成によれば、利用者端末は、配信ツリーから離脱する際に、配信トポロジを組み替える処理を行うので、自端末が接続する端末であって互いに接続していなかった2端末の間に接続関係を構築した後で、自端末が離脱することができる。そのため、配信ツリーにおいて、自端末が離脱したとしてもコンテンツ配信サーバからのストリームの転送を途切れさせないようにすることができ、安定性を向上できる。   According to such a configuration, when the user terminal leaves the distribution tree, the user terminal performs a process of rearranging the distribution topology. Therefore, the connection relationship between the two terminals that are connected to the terminal and are not connected to each other After building, the terminal can leave. For this reason, in the distribution tree, even if the terminal is disconnected, the transfer of the stream from the content distribution server can be prevented from being interrupted, and the stability can be improved.

また、請求項に記載の利用者端末は、請求項1又は請求項に記載の利用者端末において、前記配信トポロジ組替端末選択手段が、前記配信トポロジを組み替える処理の対象である2端末を選択して前記組替受付端末および前記組替要求端末を決定する処理を、予め設定された任意のタイミングで開始することを特徴とする。 The user terminal according to claim 4 is the user terminal according to claim 1 or 2 , wherein the distribution topology recombination terminal selection means is a target of processing for recombination of the distribution topology. The process of selecting and selecting the reassignment receiving terminal and the reassignment request terminal is started at an arbitrary timing set in advance.

かかる構成によれば、利用者端末は、予め設定された任意のタイミングで配信トポロジを組み替える処理を行うので、自端末の利用者がコンテンツを視聴中であるかどうかに関わらず、自端末が接続する端末であって互いに接続していなかった2端末の間に接続関係を構築することができる。そのため、自端末の送信容量に余裕がなくなったとしても、コンテンツ配信サーバからのストリームの転送を途切れさせないようにすることができ、安定性を向上できる。   According to such a configuration, the user terminal performs processing for rearranging the distribution topology at an arbitrary timing set in advance, so that the user terminal is connected regardless of whether the user of the user terminal is viewing the content. It is possible to establish a connection relationship between two terminals that are not connected to each other. For this reason, even if the transmission capacity of the terminal itself is no longer sufficient, the stream transfer from the content distribution server can be prevented from being interrupted, and the stability can be improved.

また、請求項に記載の配信トポロジ組替プログラムは、コンテンツの配信元であるコンテンツ配信サーバを頂点として、前記コンテンツを視聴する利用者が用いる複数の利用者端末が階層的に接続した配信ツリーを構成して前記コンテンツを配信するコンテンツ配信システムにおいて、前記配信ツリー上における複数の利用者端末には、他の利用者端末からの接続要求を受け付けることができる利用者端末と、受け付けることができない利用者端末と、を含み、前記利用者端末の通信環境に応じて前記利用者端末間で、前記配信ツリー上における端末の接続の順番を示す配信トポロジを組み替えるために、前記利用者端末としてのコンピュータを、通信環境情報取得手段、配信トポロジ組替端末選択手段、接続組替指示手段、接続組替要求手段、接続切替手段として機能させるためのプログラムであることとした。 The distribution topology reassignment program according to claim 5 is a distribution tree in which a plurality of user terminals used by users who view the content are hierarchically connected with the content distribution server as a content distribution source at the top. In the content distribution system configured to distribute the content by configuring a plurality of user terminals on the distribution tree, user terminals that can accept connection requests from other user terminals cannot be accepted In order to recombine the distribution topology indicating the connection order of the terminals on the distribution tree between the user terminals according to the communication environment of the user terminal, Computer, communication environment information acquisition means, distribution topology reconfiguration terminal selection means, connection reconfiguration instruction means, connection reconfiguration request Stage, was to be a program for functioning as a connection switching means.

かかる構成によれば、配信トポロジ組替プログラムは、通信環境情報取得手段によって、前記配信ツリー上において自端末に接続している他の利用者端末から、接続要求を受け付けることが可能か否かを示す到達可否情報を含む通信環境を示す情報を取得する。そして、配信トポロジ組替プログラムは、配信トポロジ組替端末選択手段によって、前記配信トポロジを組み替える処理の対象として、自端末に接続している複数の他の利用者端末の中からいずれか2端末を選択し、選択された2端末のうち、一方を組替要求端末として決定し、かつ、他方を組替受付端末として決定する。ここで、配信トポロジ組替端末選択手段は、前記2端末を選択する際に、少なくとも1端末は前記到達可否情報が到達可である利用者端末を選択し、記到達可否情報が到達可である利用者端末を前記組替受付端末に決定し、前記組替受付端末を前記配信ツリー上で上流及び下流のうちのいずれか一方の側から選択し、前記組替要求端末を前記配信ツリー上で上流及び下流のうちの他方の側から選択する。そして、配信トポロジ組替プログラムは、接続組替指示手段によって、前記決定された組替要求端末に対して、自端末を介さずに、前記決定された組替受付端末への接続組替要求を実行するように指示する。そして、配信トポロジ組替プログラムは、接続組替要求手段によって、前記組替要求端末に前記接続組替要求を実行するように指示する利用者端末である組替指示端末から、当該指示を受け付けて、当該組替指示端末の識別情報を含む組替要求メッセージを前記組替受付端末に通知することで接続組替を要求する。そして、配信トポロジ組替プログラムは、接続切替手段によって、前記組替要求端末から、前記組替要求メッセージを受信し、当該組替要求端末との接続を確立すると共に、前記組替指示端末との接続を切断する。 According to such a configuration, the distribution topology reassignment program determines whether or not the communication environment information acquisition unit can accept a connection request from another user terminal connected to the own terminal on the distribution tree. Information indicating the communication environment including the reachability information shown is acquired. Then, the distribution topology reassignment program selects any two terminals from among a plurality of other user terminals connected to the own terminal as a target of the process of reordering the distribution topology by the distribution topology reconfiguration terminal selection means. One of the two selected terminals is determined as a reassignment request terminal, and the other is determined as a reassignment reception terminal. Here, the distribution topology reclassification terminal selection means, said in selecting the second terminal, at least one terminal selects a user terminal the arrival permission information is reached Friendly, before Symbol arrival permission information reaches Allowed A user terminal is determined as the reassignment reception terminal, the reassignment reception terminal is selected from either the upstream side or the downstream side on the distribution tree, and the reassignment request terminal is selected on the distribution tree. To select from the other of the upstream and downstream sides . Then, the distribution topology reassignment program sends a connection reassignment request to the determined reassignment receiving terminal to the determined recombination requesting terminal by the connection reassignment instructing means without going through its own terminal. Instruct to run. The distribution topology reassignment program receives the instruction from the reassignment instruction terminal which is a user terminal that instructs the reassignment request terminal to execute the connection reassignment request by the connection reassignment request unit. Then, the reassignment request message including the identification information of the reassignment instruction terminal is notified to the reassignment reception terminal to request connection reassignment. The distribution topology reassignment program receives the reassignment request message from the reassignment request terminal by the connection switching means, establishes a connection with the reassignment request terminal, and communicates with the reassignment instruction terminal. Disconnect the connection.

請求項1または請求項に記載の発明によれば、利用者端末は、配信ツリーにおいて自端末に接続している他の利用者端末の通信環境に応じて、自端末が接続する端末であって互いに接続していなかった2端末の間に接続関係を構築することができる。そのため、コンテンツを配信する配信ツリーに属する端末に対して安定してコンテンツを配信できる。 According to the invention described in claim 1 or claim 5 , the user terminal is a terminal to which the own terminal is connected according to the communication environment of another user terminal connected to the own terminal in the distribution tree. Thus, a connection relationship can be established between the two terminals that are not connected to each other. Therefore, content can be stably distributed to terminals belonging to a distribution tree for distributing content.

請求項1、請求項2または請求項に記載の発明によれば、利用者端末は、配信ツリーにおいて自端末の下流に接続する利用者端末と、上流に接続する利用者端末とを確実に接続させ、安全に配信トポロジを組み替えることができる。 According to the invention described in claim 1, claim 2 or claim 5 , the user terminal reliably connects the user terminal connected downstream of the user terminal and the user terminal connected upstream in the distribution tree. Connect and securely redistribute distribution topologies.

請求項または請求項に記載の発明によれば、利用者端末は、配信ツリーにおいて端末の離脱が発生したとしても、コンテンツ配信サーバからのストリームの転送を途切れさせないようにすることができ、安定性を向上できる。 According to the invention described in claim 3 or claim 4 , the user terminal can prevent the stream transfer from the content distribution server from being interrupted even if the terminal is disconnected in the distribution tree. Stability can be improved.

従来のコンテンツ配信システムの構成例を示す図である。It is a figure which shows the structural example of the conventional content delivery system. 本発明の実施形態に係る利用者端末および配信トポロジ組替方法によるコンテンツ配信システムの構成の一例を示す図である。It is a figure which shows an example of a structure of the content delivery system by the user terminal and delivery topology rearrangement method which concern on embodiment of this invention. 本発明の実施形態に係る利用者端末を示すブロック図である。It is a block diagram which shows the user terminal which concerns on embodiment of this invention. 本発明の実施形態に係る利用者端末に記憶される端末情報の一例を示す。An example of the terminal information memorize | stored in the user terminal which concerns on embodiment of this invention is shown. 本発明の実施形態に係る利用者端末の接続制御手段の機能を示す説明図である。It is explanatory drawing which shows the function of the connection control means of the user terminal which concerns on embodiment of this invention. 本発明の実施形態に係る利用者端末の配信トポロジ組替端末選択手段の構成例を示すブロック図である。It is a block diagram which shows the structural example of the delivery topology recombination terminal selection means of the user terminal which concerns on embodiment of this invention. 本発明の実施形態に係るコンテンツ配信システムにおいて新規の利用者端末が配信グループへ参加する際の手順の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the procedure at the time of a new user terminal joining a delivery group in the content delivery system which concerns on embodiment of this invention. 本発明の実施形態に係るコンテンツ配信システムにおいて配信グループにより形成される配信ツリーの一例を示す図である。It is a figure which shows an example of the delivery tree formed by the delivery group in the content delivery system which concerns on embodiment of this invention. 本発明の実施形態に係るコンテンツ配信システムにおいて各利用者端末間の接続切替動作の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the connection switching operation | movement between each user terminal in the content delivery system which concerns on embodiment of this invention. 本発明の実施形態に係る配信トポロジ組替端末選択処理の詳細(その1)を示すフローチャートである。It is a flowchart which shows the detail (the 1) of the delivery topology recombination terminal selection process which concerns on embodiment of this invention. 本発明の実施形態に係る配信トポロジ組替端末選択処理の詳細(その2)を示すフローチャートである。It is a flowchart which shows the detail (the 2) of the delivery topology recombination terminal selection process which concerns on embodiment of this invention. 本発明の実施形態に係る利用者端末による配信トポロジ組替処理の一例を示す図であって、(a)は接続組み替え前、(b)は接続組み替え後をそれぞれ示している。It is a figure which shows an example of the delivery topology rearrangement process by the user terminal which concerns on embodiment of this invention, Comprising: (a) has each shown before connection rearrangement and (b) after connection rearrangement.

以下、本発明を実施するための形態について、1.コンテンツ配信システムの概要、2.利用者端末の詳細、3.配信トポロジ組替端末選択手段の構成例、4.利用者端末の動作の各章に分けて、図面を参照して詳細に説明する。   Hereinafter, embodiments for carrying out the present invention will be described. 1. Overview of content distribution system 2. Details of user terminals; 3. Configuration example of distribution topology recombination terminal selection means The operation will be described in detail with reference to the drawings divided into chapters of the operation of the user terminal.

[1.コンテンツ配信システムの概要]
図2に示すコンテンツ配信システムSは、コンテンツの配信元であるコンテンツ配信サーバ3を頂点として、コンテンツを視聴する利用者が用いる複数の利用者端末1(1G、1R,1N)が階層的に接続した配信ツリーを構成してコンテンツを配信するものである。そのため、コンテンツ配信システムSでは、利用者端末1は、図1に示すコンテンツ配信システム100と同様にして所望のストリーミングメディアを得ることができる。ただし、コンテンツ配信システムSでは、利用者端末1は、3つの異なる形態でネットワーク(インターネット、ローカルネットワーク)に接続されており、機能が異なっている。
[1. Overview of content distribution system]
In the content distribution system S shown in FIG. 2, a plurality of user terminals 1 (1G, 1R, 1N) used by users who view content are hierarchically connected with the content distribution server 3 that is a content distribution source as the apex. The distribution tree is configured to distribute contents. Therefore, in the content distribution system S, the user terminal 1 can obtain desired streaming media in the same manner as the content distribution system 100 shown in FIG. However, in the content distribution system S, the user terminal 1 is connected to a network (Internet, local network) in three different forms and has different functions.

利用者端末1Gと、端末管理サーバ2と、コンテンツ配信サーバ3とは、インターネット4に直接接続している。
各ローカルネットワーク7はそれぞれのポート開放可能NATルータ5を介してインターネット4と接続されている。
各ローカルネットワーク8はそれぞれのポート開放不可NATルータ6を介してインターネット4と接続されている。
利用者端末1Rは、ローカルネットワーク7およびポート開放可能NATルータ5を介して間接的にインターネット4に接続されている。
利用者端末1Nは、ローカルネットワーク8およびポート開放不可NATルータ6を介して間接的にインターネット4に接続されている。
The user terminal 1G, the terminal management server 2, and the content distribution server 3 are directly connected to the Internet 4.
Each local network 7 is connected to the Internet 4 via a port openable NAT router 5.
Each local network 8 is connected to the Internet 4 via a NAT router 6 that cannot open a port.
The user terminal 1R is indirectly connected to the Internet 4 via the local network 7 and the port openable NAT router 5.
The user terminal 1N is indirectly connected to the Internet 4 via the local network 8 and a port router that cannot open ports.

ここで、ポート開放可能NATルータ5とは、例えばUPnP(Universal Plug and Play)によるポート開放機能に対応しており、ルータの外部(インターネット4)からの接続要求をローカルネットワーク7内の利用者端末1Rに転送することができるルータである。よって、ポート開放可能NATルータ5にローカルネットワーク7を介して接続している利用者端末1Rは、インターネット4を介して端末管理サーバ2、コンテンツ配信サーバ3、他の利用者端末1Rと、TCP/IPなどの通信プロトコルにより、相互に接続要求が可能であると共に、相互に接続要求の受け付けが可能であり(到達可であり)、接続を確立した上で、データを送受信することが可能であるものとする。   Here, the port openable NAT router 5 corresponds to a port open function by UPnP (Universal Plug and Play), for example, and a connection request from the outside of the router (Internet 4) is sent to a user terminal in the local network 7. It is a router that can transfer to 1R. Therefore, the user terminal 1R connected to the port openable NAT router 5 via the local network 7 is connected to the terminal management server 2, the content distribution server 3, other user terminals 1R via the Internet 4 and TCP / It is possible to request connection with each other using a communication protocol such as IP, and also accept connection requests (can be reached), and can send and receive data after establishing a connection. Shall.

一方、ポート開放不可NATルータ6とは、例えばUPnPによるポート開放機能などに対応していないか、対応していても当該機能を無効にしていることにより、ルータの外部(インターネット4)からの接続要求をローカルネットワーク8内の利用者端末1Nに転送することができないルータである。よって、ポート開放不可NATルータ6にローカルネットワーク8を介して接続している利用者端末1Nは、インターネット4を介して端末管理サーバ2、コンテンツ配信サーバ3、および利用者端末1Rに対して、自身が接続要求を行うことで接続を確立し、データを送受信することは可能であるが、それら機器および他の利用者端末1Nの接続要求(例えばTCPコネクション)を受け付けることはできないものとする。
なお、図2においては、端末管理サーバ2、コンテンツ配信サーバ3を個別の機器として表記しているが、1つの機器に全ての機能を具備してもよい。
On the other hand, the NAT router 6 that cannot open a port does not support, for example, the UPnP port opening function or the like, but disables the function even if it supports, so connection from the outside of the router (Internet 4) The router cannot transfer the request to the user terminal 1N in the local network 8. Therefore, the user terminal 1N connected to the NAT router 6 through which the port cannot be opened via the local network 8 is connected to the terminal management server 2, the content distribution server 3, and the user terminal 1R via the Internet 4. It is possible to establish a connection and send / receive data by making a connection request, but it is not possible to accept connection requests (for example, TCP connections) of these devices and other user terminals 1N.
In FIG. 2, the terminal management server 2 and the content distribution server 3 are shown as individual devices, but one device may have all the functions.

<コンテンツ配信サーバ>
コンテンツ配信サーバ3は、コンテンツの配信元となるサーバである。このコンテンツ配信サーバ3は、当該コンテンツ配信サーバ3および利用者端末1が階層的に接続して構成する配信ツリーに参加する利用者端末1に対して順次コンテンツデータを配信する。
なお、以下では、単に端末というとき、コンテンツ配信サーバ3や各利用者端末1を指している。また、コンテンツ配信サーバ3をノードの頂点として、ある時点で各ノードの接続関係が決定されて構築されている配信トポロジのことを配信ツリーと呼ぶ。また、配信ツリー内の各ノードの集合体のことを配信グループと呼ぶ。
<Content distribution server>
The content distribution server 3 is a server that is a content distribution source. The content distribution server 3 sequentially distributes content data to the user terminals 1 participating in a distribution tree formed by connecting the content distribution server 3 and the user terminals 1 in a hierarchical manner.
In the following description, the term “terminal” simply refers to the content distribution server 3 or each user terminal 1. A distribution topology constructed by determining the connection relation of each node at a certain point in time with the content distribution server 3 as the vertex of the node is called a distribution tree. A collection of nodes in the distribution tree is called a distribution group.

<端末管理サーバ>
端末管理サーバ2は、コンテンツ配信システムSに参加している各端末のコンテンツ配信に係る情報である端末情報を端末情報リストLに保持して管理するものである。ここで、各端末とは、コンテンツ配信サーバ3や各利用者端末1を指している。また、端末情報には、コンテンツ配信サーバ3や利用者端末1を識別するための端末IDに対応付けた情報として、IPアドレスやポート番号などのデータ転送に必要な情報が含まれる。
端末管理サーバ2は、利用者端末1が配信グループへ新規参加する際に、この新規の利用者端末1から、当該利用者端末1の端末情報を含むメッセージである接続先紹介要求を受け付ける。
端末管理サーバ2は、接続先紹介要求に応じて、初期接続先リストを返信する。この初期接続先リストは、配信グループへ新規参加する利用者端末1が直接接続できる接続先の候補となる端末の端末情報を1つ以上含むリストである。ここで、接続先の候補となる端末は、コンテンツ配信サーバ3または他の利用者端末1である。
<Terminal management server>
The terminal management server 2 holds and manages terminal information, which is information related to content distribution of each terminal participating in the content distribution system S, in the terminal information list L. Here, each terminal refers to the content distribution server 3 or each user terminal 1. The terminal information includes information necessary for data transfer such as an IP address and a port number as information associated with the terminal ID for identifying the content distribution server 3 and the user terminal 1.
When the user terminal 1 newly joins the distribution group, the terminal management server 2 receives a connection destination introduction request that is a message including the terminal information of the user terminal 1 from the new user terminal 1.
The terminal management server 2 returns an initial connection destination list in response to the connection destination introduction request. This initial connection destination list is a list including one or more pieces of terminal information of terminals that are candidates for connection destinations to which user terminals 1 newly joining the distribution group can directly connect. Here, the terminal that is a candidate for the connection destination is the content distribution server 3 or another user terminal 1.

<利用者端末>
利用者端末1は、同じ配信ツリーに属する他の利用者端末1と接続し、コンテンツのデータパケット(コンテンツデータと呼ぶ)を受信したり転送したりする端末である。
つまり、利用者端末1は、配信ツリー内においてピアツーピア技術を用いたノードとして、コンテンツ配信側にも受信側にもなる機能を有している。
<User terminal>
The user terminal 1 is a terminal that is connected to other user terminals 1 belonging to the same distribution tree, and receives and transfers content data packets (referred to as content data).
That is, the user terminal 1 has a function of being a content distribution side and a reception side as a node using the peer-to-peer technology in the distribution tree.

また、詳細は後記するが、利用者端末1は、利用者端末1の通信環境に応じて、利用者端末1(1G,1N,1R)間で、配信ツリー上における端末の接続の順番を示す配信トポロジを組み替える配信トポロジ組替処理を実行するために、例えば図9に示すように、他の端末に接続組替を要求する組替要求端末(以下、1aと表記する)としての機能と、組替要求端末1aからの接続組替の要求を受け付ける組替受付端末(以下、1pと表記する)としての機能と、組替要求端末1aに、組替受付端末1pへの接続組替要求を実行するように指示する組替指示端末(以下、1cと表記する)としての機能と、を併せて保持している。詳細は後記するが、配信ツリーにおいて、組替指示端末1c(図12(a)においてNc)は、自端末に接続している利用者端末1の中から替要求端末1a(図12(a)においてNa)と組替受付端末1p(図12(a)においてNp)とを決定する。また、組替受付端末1p(図12(a)においてNp)が実行する接続組替とは、組替の要求を受け付けて組替要求端末1a(図12(a)においてNa)との接続を確立すると共に組替指示端末1c(図12(a)においてNc)と切断する組替のことを指す(図12(b)に組替結果を示す)。 Although details will be described later, the user terminal 1 indicates the connection order of the terminals on the distribution tree between the user terminals 1 (1G, 1N, 1R) according to the communication environment of the user terminal 1. In order to execute a distribution topology reconfiguration process for reconfiguring a distribution topology, for example, as shown in FIG. 9, a function as a reconfiguration request terminal (hereinafter referred to as 1a) that requests connection reconfiguration to another terminal; A function as a reconfiguration accepting terminal (hereinafter referred to as 1p) that accepts a request for connection reassignment from the reassignment request terminal 1a, and a reassignment request for connection to the reconfiguration accepting terminal 1p to the reconfiguration request terminal 1a And a function as a reassignment instruction terminal (hereinafter referred to as 1c) for instructing execution. Details will be given later, but in the distribution tree, reclassification instruction terminal 1c (Nc in FIG. 12 (a)) is set from the user terminal 1 connected to the own terminal replacement request terminal 1a (FIG. 12 (a ) And Na) and the reassignment receiving terminal 1p (Np in FIG. 12A) are determined. In addition, the connection reassignment executed by the reassignment receiving terminal 1p (Np in FIG. 12A) is a request for reassignment to connect to the reassignment request terminal 1a (Na in FIG. 12A). The reconfiguration instruction terminal 1c (Nc in FIG. 12A) is established and indicates reconfiguration (the recombination result is shown in FIG. 12B).

[2.利用者端末の詳細]
利用者端末1は、例えば、CPU(Central Processing Unit)等の演算装置と、メモリやハードディスク等の記憶装置と、外部との間で各種情報の送受信を行うインタフェース装置とを備えた一般的なパーソナルコンピュータ等から構成されている。
利用者端末1は、前記したハードウェア資源がプログラムによって制御されることにより実現され、図3に示すように、記憶手段11と、接続相手選択手段12と、配信トポロジ組替端末選択手段13と、接続組替指示手段14と、接続組替要求手段15と、接続切替手段16と、接続制御手段17と、端末情報管理手段18と、通信環境情報取得手段19と、接続通信環境計測手段20と、コンテンツデータ中継部21と、コンテンツバッファ22と、コンテンツ再生部23と、通信インタフェース24とを備える。
[2. Details of user terminal]
The user terminal 1 is, for example, a general personal computer including an arithmetic device such as a CPU (Central Processing Unit), a storage device such as a memory or a hard disk, and an interface device that transmits and receives various types of information to and from the outside. It consists of a computer.
The user terminal 1 is realized by controlling the hardware resources described above by a program. As shown in FIG. 3, the storage unit 11, the connection partner selection unit 12, the distribution topology recombination terminal selection unit 13, and the like. , Connection reassignment instruction means 14, connection reassignment request means 15, connection switching means 16, connection control means 17, terminal information management means 18, communication environment information acquisition means 19, and connection communication environment measurement means 20. A content data relay unit 21, a content buffer 22, a content playback unit 23, and a communication interface 24.

記憶手段11は、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリやハードディスク等の記憶装置から構成され、端末情報記憶部111と、トポロジ情報記憶部112とを備える。   The storage unit 11 includes a storage device such as a RAM (Random Access Memory) and a ROM (Read Only Memory), and a hard disk, and includes a terminal information storage unit 111 and a topology information storage unit 112.

端末情報記憶部111は、自身の利用者端末1(自端末)の端末情報と、配信グループに参加している他の利用者端末1(他端末)およびコンテンツ配信サーバ3の端末情報とを記憶し、保持する。   The terminal information storage unit 111 stores terminal information of its own user terminal 1 (own terminal) and terminal information of other user terminals 1 (other terminals) participating in the distribution group and the content distribution server 3. And hold.

端末情報の一例を図4に示す。図4の例では、各端末の端末情報をデータベース化した端末情報データベースの項目として、端末ID41にそれぞれ関連付けてある、接続待受けアドレス42と、到達可否43と、伝送能力44と、接続可能数45と、現在接続数46と、ホップ数47とを含んでいる。   An example of the terminal information is shown in FIG. In the example of FIG. 4, as a terminal information database item in which terminal information of each terminal is converted into a database, a connection standby address 42, reachability 43, transmission capability 44, and connectable number 45 associated with the terminal ID 41, respectively. In addition, the current connection number 46 and the hop number 47 are included.

端末ID41は、コンテンツ配信サーバ3および利用者端末1を一意に識別する識別子である。端末ID41は、例えば、各端末の固有情報、MACアドレス、汎用一意識別子(UUID)等を用いてもよい。   The terminal ID 41 is an identifier that uniquely identifies the content distribution server 3 and the user terminal 1. As the terminal ID 41, for example, unique information of each terminal, a MAC address, a universal unique identifier (UUID), or the like may be used.

接続待受けアドレス42は、他端末から接続要求を受け付けることができるIPアドレスとポート番号の組を示している。ただし、到達可否43の情報が「到達不可」の場合(図4の例では「否」)は、他の利用者端末1からの接続受付けが不可能なため、図4では、ポート番号を“- - - -”と示している。   The connection standby address 42 indicates a set of an IP address and a port number that can accept a connection request from another terminal. However, when the information of reachability 43 is “unreachable” (“no” in the example of FIG. 4), connection acceptance from other user terminals 1 is impossible, and therefore, in FIG. ----”

到達可否43は、インターネット4を介して接続要求を受付けることが可能か否かを示す情報(到達可否情報)である。例えば、受付けることが可能な場合に到達可否情報の値を「到達可」とし、受付けることできない場合に到達可否情報の値を「到達不可」とする。到達可否情報が「到達可」である端末は、インターネット上の他の端末からの接続要求はNATルータ(ポート開放可能NATルータ5:図2参照)で遮られず、接続要求を受け付けることができる。到達可否情報が「到達不可」である端末は、インターネット上の他の端末からの接続要求はNATルータ(ポート開放不可NATルータ6:図2参照)で遮られる。なお、図4の例では、「到達可」および「到達不可」のことを、単に「可」および「否」のように略記した。また、「到達可」、「到達不可」のことをフラグ「0」「1」等で実現することができる。   The reachability 43 is information (reachability information) indicating whether a connection request can be accepted via the Internet 4. For example, the value of reachability information is “reachable” when it can be accepted, and the value of reachability information is “unreachable” when it cannot be accepted. A terminal whose reachability information is “reachable” can accept a connection request without a connection request from another terminal on the Internet being blocked by a NAT router (portable NAT router 5: see FIG. 2). . For a terminal whose reachability information is “unreachable”, a connection request from another terminal on the Internet is blocked by a NAT router (port release unusable NAT router 6: see FIG. 2). In the example of FIG. 4, “reachable” and “unreachable” are simply abbreviated as “enabled” and “not allowed”. Further, “reachable” and “unreachable” can be realized by flags “0”, “1”, and the like.

伝送能力44は、端末ID41に関連付けてある当該端末のコンテンツデータの送受信に係る送信能力を示す情報である。なお、図4では、一例として、数値が大きいものほど伝送能力が高いものとした。   The transmission capability 44 is information indicating transmission capability related to transmission / reception of content data of the terminal associated with the terminal ID 41. In FIG. 4, as an example, the larger the numerical value, the higher the transmission capability.

接続可能数45は、端末ID41に関連付けてある当該端末がコンテンツ配信サーバ3や他の利用者端末1と接続する際に、最大何台の端末と同時に接続できるかを示す情報である。この接続可能数45は、例えば、接続要求を受け付ける側の利用者端末1にとってみると、接続受付可能数となる。接続可能数45として、予め規定値を設定してもよいし、利用者端末1の通信状態に合わせて順次更新してもよい。   The connectable number 45 is information indicating the maximum number of terminals that can be connected simultaneously when the terminal associated with the terminal ID 41 is connected to the content distribution server 3 or another user terminal 1. The connectable number 45 is, for example, the connectable number when viewed from the user terminal 1 on the connection request receiving side. As the connectable number 45, a predetermined value may be set in advance, or may be sequentially updated according to the communication state of the user terminal 1.

現在接続数46は、端末ID41に関連付けてある当該端末が、現在接続しているコンテンツ配信サーバ3や他の利用者端末1の総数を示す情報である。この現在接続数46は、例えば、接続要求を受け付ける側の利用者端末1にとってみると、接続受付数となる。   The current connection number 46 is information indicating the total number of content distribution servers 3 and other user terminals 1 to which the terminal associated with the terminal ID 41 is currently connected. The current connection number 46 is, for example, the connection acceptance number when viewed from the user terminal 1 on the side of accepting the connection request.

ホップ数47は、配信ツリーにおけるコンテンツ配信サーバ3からの中継段数を示す値である。なお、ホップ数47は、コンテンツ配信サーバ3から最短で中継できるように数えた段数(最小ホップ数)を示している。ここでは、コンテンツ配信サーバ3のホップ数を0として、コンテンツ配信サーバ3に直接接続している利用者端末1のホップ数を1、当該利用者端末1に接続している利用者端末1のホップ数を2とする。また、接続や切断により、現在接続しているコンテンツ配信サーバ3や他の利用者端末1が変更になった場合、ホップ数47は、接続中の端末のホップ数の変更に合わせて随時更新することができる。   The number of hops 47 is a value indicating the number of relay stages from the content distribution server 3 in the distribution tree. The number of hops 47 indicates the number of stages (minimum number of hops) counted so as to be relayed from the content distribution server 3 in the shortest time. Here, the hop count of the content distribution server 3 is set to 0, the hop count of the user terminal 1 directly connected to the content distribution server 3 is 1, and the hop of the user terminal 1 connected to the user terminal 1 Let the number be 2. Further, when the currently connected content distribution server 3 or other user terminal 1 is changed due to connection or disconnection, the hop count 47 is updated at any time according to the change in the hop count of the connected terminal. be able to.

トポロジ情報記憶部112は、当該利用者端末1が他の端末に直接接続して構築されている配信トポロジの情報として、直接接続している端末の端末IDの情報を記憶し、保存する。この配信トポロジの情報は、当該利用者端末1を介したコンテンツデータの送受信のために利用される。当該利用者端末1に対してコンテンツデータを送信する側を上流と呼び、当該利用者端末1からコンテンツデータを受信する側を下流と呼ぶ。   The topology information storage unit 112 stores and stores information on the terminal ID of the directly connected terminal as information on the distribution topology constructed by connecting the user terminal 1 directly to another terminal. This distribution topology information is used for transmission / reception of content data via the user terminal 1. The side that transmits content data to the user terminal 1 is referred to as upstream, and the side that receives content data from the user terminal 1 is referred to as downstream.

接続相手選択手段12は、端末情報記憶部111に格納されている端末情報から、所定の基準に基づいて接続相手候補を選択し、選択された利用者端末1に対して、接続制御手段17を介して接続要求を送信するものである。ここで、所定の基準として、例えば、次の条件A1〜A3をすべて満たす端末を、接続相手候補として選択することができる。
(条件A1)端末IDがトポロジ情報記憶部112に格納されていない。
(条件A2)現在接続数の値が接続可能数の値よりも小さい。
(条件A3)到達可否情報の値が「到達可」である。
The connection partner selection unit 12 selects a connection partner candidate from the terminal information stored in the terminal information storage unit 111 based on a predetermined criterion, and the connection control unit 17 is connected to the selected user terminal 1. The connection request is transmitted through the network. Here, as a predetermined reference, for example, a terminal that satisfies all of the following conditions A1 to A3 can be selected as a connection partner candidate.
(Condition A1) The terminal ID is not stored in the topology information storage unit 112.
(Condition A2) The value of the current connection number is smaller than the value of the connectable number.
(Condition A3) The value of the reachability information is “reachable”.

図3に示す利用者端末1は、図9に示す組替指示端末1c、組替要求端末1aおよび組替受付端末1pのいずれの機能で動作するのかによって、例えば接続制御手段17等の機能等が異なってくる。図3に示す各手段を、これら3機能に対応させ、一部を抽出したブロック図を図5に示す。
図5右下に示す組替指示端末1cは、この機能を実行するときのIDとしてNcを有している。また、図面では、この機能を実行するときの各手段の符号に「c」を追加して区別した。
図5右上に示す組替要求端末1aは、この機能を実行するときのIDとしてNaを有している。また、図面では、この機能を実行するときの各手段の符号に「a」を追加して区別した。
図5左に示す組替受付端末1pは、この機能を実行するときのIDとしてNpを有している。また、図面では、この機能を実行するときの各手段の符号に「p」を追加して区別した。以下、図5を参照(適宜図3参照)して、利用者端末1の各手段の構成の説明を続ける。
The user terminal 1 shown in FIG. 3 has, for example, functions such as the connection control means 17 depending on which one of the functions of the reassignment instruction terminal 1c, reassignment request terminal 1a and reassignment reception terminal 1p shown in FIG. Will be different. FIG. 5 shows a block diagram in which each unit shown in FIG. 3 is made to correspond to these three functions and a part thereof is extracted.
The reassignment instruction terminal 1c shown in the lower right of FIG. 5 has Nc as an ID when executing this function. Further, in the drawing, “c” is added to distinguish the reference numerals of the respective means for executing this function.
The reassignment request terminal 1a shown in the upper right of FIG. 5 has Na as an ID when executing this function. Further, in the drawings, “a” is added to the reference numerals of the respective means for executing this function for distinction.
The reassignment receiving terminal 1p shown on the left in FIG. 5 has Np as an ID when executing this function. Further, in the drawings, “p” is added to distinguish the reference numerals of the respective means for executing this function. Hereinafter, with reference to FIG. 5 (refer to FIG. 3 as appropriate), the description of the configuration of each means of the user terminal 1 will be continued.

<組替指示端末>
組替指示端末1cは、図5に示すように、主たる構成として、配信トポロジ組替端末選択手段13(図5では13cと表記)と、接続組替指示手段14(図5では14cと表記)と、接続制御手段17(図5では17cと表記)とを備える。
<Recomposition instruction terminal>
As shown in FIG. 5, the reassignment instruction terminal 1c has, as main components, a distribution topology reconfiguration terminal selection means 13 (indicated as 13c in FIG. 5) and a connection reassignment instruction means 14 (indicated as 14c in FIG. 5). And connection control means 17 (indicated as 17c in FIG. 5).

配信トポロジ組替端末選択手段13は、配信トポロジを組み替える処理の対象として、自端末に接続している複数の他の利用者端末1の中からいずれか2端末を選択し、選択された2端末のうち、選択した一方を、組替要求端末1aとして決定し、かつ、他方を組替受付端末1pとして決定するものである。
この配信トポロジ組替端末選択手段13は、2端末を選択する際に、一方として到達可否情報が到達可である利用者端末1を選択し、組替受付端末1pを、到達可否情報が到達可である利用者端末に決定する。
The distribution topology recombination terminal selection means 13 selects any two terminals from among a plurality of other user terminals 1 connected to the own terminal as a target of processing for redistributing the distribution topology, and the selected two terminals Of these, the selected one is determined as the reassignment request terminal 1a, and the other is determined as the reassignment reception terminal 1p.
When this distribution topology recombination terminal selection means 13 selects two terminals, it selects the user terminal 1 with reachability information reachable as one of them, and the receptive reception terminal 1p is reachable with reachability information. Is determined to be a user terminal.

ここで、配信トポロジ組替端末選択手段13は、2端末を選択する際に、上流の位置にて自端末に接続するいずれか1つの利用者端末と、下流の位置にて自端末に接続すると共に送信容量が最も大きい1つの利用者端末と、を選択することとした。なお、上流に接続する端末とは、コンテンツ配信サーバ3からのホップ数が自端末よりも小さい端末であり、下流に接続する端末とは、コンテンツ配信サーバ3からのホップ数が自端末よりも大きい端末である。   Here, when selecting two terminals, the distribution topology reassignment terminal selection means 13 connects to any one user terminal connected to the own terminal at an upstream position and to the own terminal at a downstream position. At the same time, the user terminal having the largest transmission capacity is selected. A terminal connected upstream is a terminal having a smaller hop count from the content distribution server 3 than its own terminal, and a terminal connected downstream has a larger hop count from the content distribution server 3 than its own terminal. It is a terminal.

本実施形態では、配信トポロジ組替端末選択手段13は、トポロジ情報記憶部112に端末IDが格納されている利用者端末1の中から、伝送能力や到達可否情報に基づいて配信トポロジ組替の対象となる2つの利用者端末1を選択し、一方を組替要求端末1a、他方を組替受付端末1pに決定し、それら利用者端末1の端末IDをそれぞれ組替要求端末ID(=Na)、組替受付端末ID(=Np)として接続組替指示手段14に出力する。
なお、詳細については後記する。
In this embodiment, the distribution topology reassignment terminal selection unit 13 selects the distribution topology reconfiguration from the user terminals 1 whose terminal IDs are stored in the topology information storage unit 112 based on transmission capability and reachability information. Two target user terminals 1 are selected, one is determined to be the reassignment request terminal 1a, and the other is determined as the reassignment reception terminal 1p, and the terminal IDs of these user terminals 1 are assigned to the reassignment request terminal ID (= Na ) And output to the connection reassignment instruction means 14 as the reassignment reception terminal ID (= Np).
Details will be described later.

接続組替指示手段14は、配信トポロジ組替端末選択手段13で決定された組替要求端末1aに対して、配信トポロジ組替端末選択手段13で決定された組替受付端末1pへの接続組替要求を実行するように指示するものである。
ここで、接続組替指示手段14は、配信トポロジ組替端末選択手段13より入力した、組替要求端末ID(=Na)、組替受付端末ID(=Np)、および自端末の端末IDである組替指示端末ID(=Nc)を利用して、組替指示メッセージを生成、送信する。
本実施形態では、接続組替指示手段14は、組替指示メッセージ送信部141を備えることとした。この組替指示メッセージ送信部141は、組替受付端末ID(=Np)および組替指示端末ID(=Nc)を含む組替指示メッセージを、組替要求端末1aに対して、所定の通信インタフェース24を介して送信する。
The connection reassignment instruction unit 14 connects the reconfiguration request terminal 1a determined by the distribution topology reconfiguration terminal selection unit 13 to the reconfiguration receiving terminal 1p determined by the distribution topology reconfiguration terminal selection unit 13 This is an instruction to execute a replacement request.
Here, the connection reassignment instruction means 14 is the reassignment request terminal ID (= Na), reassignment reception terminal ID (= Np), and the terminal ID of its own terminal input from the distribution topology reconfiguration terminal selection means 13. A reassignment instruction message is generated and transmitted using a certain reassignment instruction terminal ID (= Nc).
In the present embodiment, the connection reassignment instruction unit 14 includes a reassignment instruction message transmission unit 141. The reassignment instruction message transmission unit 141 sends a recombination instruction message including a reassignment reception terminal ID (= Np) and a reassignment instruction terminal ID (= Nc) to the reassignment request terminal 1a with a predetermined communication interface. 24.

接続制御手段17(図5では17cと表記)は、接続要求部171と、接続受付部172と、切断部173とを備え、接続受付部172が機能する。なお、図5において、機能していないサブブロックは、破線の枠で示した。   The connection control unit 17 (denoted as 17c in FIG. 5) includes a connection request unit 171, a connection reception unit 172, and a disconnection unit 173, and the connection reception unit 172 functions. In FIG. 5, the non-functioning sub-block is indicated by a broken line frame.

接続受付部172(図5では172cと表記)は、接続指示および接続要求に応じて組替受付端末1pが送信する後記する切断要求を受信し、切断した場合は、その切断した他端末の端末IDを、記憶手段11cのトポロジ情報記憶部112(図3参照)から削除すると共に、端末情報記憶部111(図3参照)に記憶された自端末の端末情報において現在接続数をデクリメントする(1を減算する)。   The connection reception unit 172 (indicated as 172c in FIG. 5) receives a disconnection request to be described later transmitted from the reconfiguration reception terminal 1p in response to the connection instruction and the connection request, and when disconnected, the terminal of the disconnected other terminal The ID is deleted from the topology information storage unit 112 (see FIG. 3) of the storage unit 11c, and the current connection number is decremented in the terminal information of the own terminal stored in the terminal information storage unit 111 (see FIG. 3) (1 Subtract).

<組替要求端末>
組替要求端末1aは、図5に示すように、主たる構成として、接続組替要求手段15(図5では15aと表記)と、接続制御手段17(図5では17aと表記)とを備える。
<Reclassification request terminal>
As shown in FIG. 5, the reassignment request terminal 1a includes, as main components, a connection reassignment request means 15 (denoted as 15a in FIG. 5) and a connection control means 17 (denoted as 17a in FIG. 5).

接続組替要求手段15は、組替指示端末1cから、接続組替の指示(組替指示メッセージ)を受信し、当該組替指示端末1cのID(識別情報=Nc)を含む組替要求メッセージを組替受付端末1pに通知することで接続組替を要求するものである。
本実施形態では、接続組替要求手段15は、組替指示メッセージ受信部151を備えることとした。この組替指示メッセージ受信部151は、組替指示端末1cから、通信インタフェース24を介して組替指示メッセージを受信する。
接続組替要求手段15は、受信した組替指示メッセージから、組替指示端末ID(=Nc)および組替受付端末ID(=Np)を抽出し、組替指示端末ID(=Nc)および組替要求端末ID(=Na)を含む組替要求メッセージを生成し、接続制御手段17を介して、組替受付端末1pに送信する。
The connection reassignment request unit 15 receives a connection reassignment instruction (recombination instruction message) from the reassignment instruction terminal 1c, and includes a reassignment request message including the ID (identification information = Nc) of the reassignment instruction terminal 1c. Is notified to the reassignment receiving terminal 1p to request connection reassignment.
In the present embodiment, the connection reassignment request unit 15 includes a reassignment instruction message receiving unit 151. The reconfiguration instruction message receiving unit 151 receives a reconfiguration instruction message from the reconfiguration instruction terminal 1c via the communication interface 24.
The connection reassignment request means 15 extracts the reassignment instruction terminal ID (= Nc) and reassignment reception terminal ID (= Np) from the received reassignment instruction message, and the reassignment instruction terminal ID (= Nc) and the recombination instruction terminal ID (= Nc). A reassignment request message including an exchange request terminal ID (= Na) is generated and transmitted to the reassignment reception terminal 1p via the connection control means 17.

接続制御手段17(図5では17aと表記)は、接続要求部171と、接続受付部172と、切断部173とを備え、接続要求部171および接続受付部172が機能する。なお、図5において、機能していないサブブロックは、破線の枠で示した。   The connection control means 17 (indicated as 17a in FIG. 5) includes a connection request unit 171, a connection reception unit 172, and a disconnection unit 173, and the connection request unit 171 and the connection reception unit 172 function. In FIG. 5, the non-functioning sub-block is indicated by a broken line frame.

接続要求部171(図5では171aと表記)は、接続組替要求手段15の指示のもと、接続要求を行う。接続要求部171a(図5参照)は、接続が確立した場合は、その確立した他端末の端末IDをトポロジ情報記憶部112a(図5参照)に追加すると共に、端末情報記憶部111a(図5参照)に記憶された端末情報において現在接続数およびホップ数を更新する。例えば、ホップ数の更新値を算出するために以下の方法を用いることができる。具体的には、現在接続数が「3」であって、それぞれのホップ数の値が「h1」、「h2」、「h3」であった場合を想定すると、更新後において現在接続数は、「4」、更新後においてホップ数は、“Min(h1、h2、h3)+1”の演算により算出することができる。   The connection request unit 171 (indicated as 171 a in FIG. 5) makes a connection request under the instruction of the connection reassignment request unit 15. When the connection is established, the connection request unit 171a (see FIG. 5) adds the terminal ID of the established other terminal to the topology information storage unit 112a (see FIG. 5) and the terminal information storage unit 111a (see FIG. 5). The number of current connections and the number of hops are updated in the terminal information stored in the reference). For example, the following method can be used to calculate the updated value of the number of hops. Specifically, assuming that the current number of connections is “3” and the value of each hop number is “h1”, “h2”, “h3”, the number of current connections after the update is “4”, the number of hops after the update can be calculated by an operation of “Min (h1, h2, h3) +1”.

接続受付部172(図5では172aと表記)は、接続要求に応じて組替受付端末1pが送信する組替応答を受信し、確立した場合は、その旨を接続要求部171a(図5参照)に通知する。これにより、接続要求部171a(図5参照)にてトポロジ情報記憶部112a図5参照)および端末情報記憶部111a(図5参照)の更新処理を行う。 The connection accepting unit 172 (indicated as 172a in FIG. 5) receives the reconfiguration response transmitted by the reconfiguration accepting terminal 1p in response to the connection request, and when established, the connection request unit 171a (see FIG. 5). ). As a result, the connection request unit 171a (see FIG. 5) updates the topology information storage unit 112a ( see FIG. 5) and the terminal information storage unit 111a (see FIG. 5).

<組替受付端末>
組替受付端末1pは、図5に示すように、主たる構成として、接続切替手段16(図5では16pと表記)と、接続制御手段17(図5では17pと表記)とを備える。
接続切替手段16は、組替要求端末1aから、組替要求メッセージを受信し、当該組替要求端末1aとの接続を確立すると共に、組替指示端末1cとの接続を切断するものである。本実施形態では、接続切替手段16は、組替要求端末1aから、接続制御手段17を介して、組替要求を入力し、組替要求端末ID(=Na)および組替指示端末ID(=Nc)を抽出し、組替要求端末1aに対して、組み替えが成功したことを示す組替応答を送信すると共に、組替指示端末1cに対して、接続制御手段17を通して切断要求を行う。
<Reclassification reception terminal>
As shown in FIG. 5, the reclassification receiving terminal 1p includes, as main components, connection switching means 16 (indicated as 16p in FIG. 5) and connection control means 17 (indicated as 17p in FIG. 5).
The connection switching unit 16 receives a reassignment request message from the reassignment request terminal 1a, establishes a connection with the reassignment request terminal 1a, and disconnects the connection with the reassignment instruction terminal 1c. In the present embodiment, the connection switching means 16 inputs a reassignment request from the reassignment request terminal 1a via the connection control means 17, and the reassignment request terminal ID (= Na) and reassignment instruction terminal ID (= Nc) is extracted, a reassignment response indicating that recombination is successful is transmitted to the reassignment request terminal 1a, and a disconnection request is made to the reassignment instruction terminal 1c through the connection control means 17.

接続制御手段17(図5では17pと表記)は、接続要求部171と、接続受付部172と、切断部173とを備える。
接続要求部171(図5では171pと表記)は、接続組替要求手段15の指示のもと、接続要求を行う。この場合、接続要求部171p(図5参照)は、組替要求端末1aに対して、組み替えが成功したことを示す組替応答を送信する。
The connection control unit 17 (indicated as 17p in FIG. 5) includes a connection request unit 171, a connection reception unit 172, and a disconnection unit 173.
The connection request unit 171 (indicated as 171p in FIG. 5) makes a connection request under the instruction of the connection reassignment request unit 15. In this case, the connection request unit 171p (see FIG. 5) transmits a reassignment response indicating that recombination is successful to the reassignment request terminal 1a.

接続受付部172(図5では172pと表記)は、他端末からの接続要求(組替要求)を受付け、所定の基準に基づいて接続を確立するか否か判定する。ここで、所定の基準として、例えば、次の条件B1およびB2をいずれも満たす場合、接続を確立することができる。なお、到達可否情報が「到達可」であることを前提とすることはもちろんである。
(条件B1)自端末(組替受付端末1pとして機能する当該利用者端末1)の端末情報の現在接続数の値が接続可能数の値よりも小さい。
(条件B2)当該他端末(組替要求端末1aとして機能する当該利用者端末1)の端末IDがトポロジ情報記憶部112に格納されていない。
The connection reception unit 172 (indicated as 172p in FIG. 5) receives a connection request (recombination request) from another terminal and determines whether or not to establish a connection based on a predetermined standard. Here, as a predetermined standard, for example, when both of the following conditions B1 and B2 are satisfied, a connection can be established. Of course, it is assumed that the reachability information is “reachable”.
(Condition B1) The value of the number of current connections of the terminal information of the own terminal (the user terminal 1 functioning as the reclassification receiving terminal 1p) is smaller than the value of the connectable number.
(Condition B2) The terminal ID of the other terminal (the user terminal 1 functioning as the reassignment request terminal 1a) is not stored in the topology information storage unit 112.

また、接続受付部172p(図5参照)は、接続が確立した場合、その確立した他端末の端末IDをトポロジ情報記憶部112p(図5参照)に追加すると共に、端末情報記憶部111p(図5参照)に記憶された端末情報において、現在接続数、およびホップ数を更新する。   In addition, when the connection is established, the connection receiving unit 172p (see FIG. 5) adds the terminal ID of the established other terminal to the topology information storage unit 112p (see FIG. 5) and the terminal information storage unit 111p (see FIG. 5). In the terminal information stored in (5), the number of current connections and the number of hops are updated.

切断部173(図5では173pと表記)は、接続受付部172p(図5参照)が組替要求を受信した場合、接続切替手段16に従い、組替指示端末1cに対して切断要求を行うものである。この切断部173は、組替受付端末ID(=Np)を含む切断要求メッセージを生成、送信する。なお、切断部173は、切断した他端末の端末IDをトポロジ情報記憶部112から削除する   The disconnecting unit 173 (indicated as 173p in FIG. 5) makes a disconnection request to the reassignment instruction terminal 1c according to the connection switching means 16 when the connection accepting unit 172p (see FIG. 5) receives the reassignment request. It is. The disconnecting unit 173 generates and transmits a disconnection request message including the reassignment receiving terminal ID (= Np). The disconnecting unit 173 deletes the terminal ID of the disconnected other terminal from the topology information storage unit 112.

図3に戻って、利用者端末1の各手段の構成の説明を続ける。
端末情報管理手段18は、図3に示すように、端末情報生成部181と、端末情報送信部182と、端末情報受信部183とを備える。
端末情報生成部181は、自端末の端末IDを含む端末情報を生成し、端末情報記憶部111に保存する。
端末情報送信部182は、自端末の端末情報を端末情報記憶部111から読み出し、通信インタフェース24を介して、端末管理サーバ2または端末IDが端末情報記憶部111に記憶されている他の利用者端末1へ送信する。
端末情報受信部183は、端末管理サーバ2または他の利用者端末1から、通信インタフェース24を介して、端末IDを含む端末情報を受け取り、端末情報記憶部111において端末IDに関連付けて端末情報を保存する。また、端末情報受信部183が受け取った他端末の端末情報を、端末情報記憶部111に記憶されている別の他端末に対して、例えばゴシップ型マルチキャストなどを用いて転送することも可能であるものとする。
Returning to FIG. 3, the description of the configuration of each means of the user terminal 1 will be continued.
As illustrated in FIG. 3, the terminal information management unit 18 includes a terminal information generation unit 181, a terminal information transmission unit 182, and a terminal information reception unit 183.
The terminal information generation unit 181 generates terminal information including the terminal ID of the own terminal and stores it in the terminal information storage unit 111.
The terminal information transmission unit 182 reads the terminal information of the own terminal from the terminal information storage unit 111, and other users whose terminal management server 2 or terminal ID is stored in the terminal information storage unit 111 via the communication interface 24. Transmit to terminal 1.
The terminal information receiving unit 183 receives terminal information including the terminal ID from the terminal management server 2 or another user terminal 1 via the communication interface 24, and associates the terminal information with the terminal ID in the terminal information storage unit 111. save. It is also possible to transfer the terminal information of the other terminal received by the terminal information receiving unit 183 to another terminal stored in the terminal information storage unit 111 using, for example, gossip type multicast. Shall.

通信環境情報取得手段19は、配信ツリー上において自端末に接続している他の利用者端末1から、接続要求を受け付けることが可能か否かを示す到達可否情報を含む当該端末の通信環境を示す情報を取得するものである。
通信環境情報取得手段19は、他の利用者端末1から、通信環境を示す情報として、到達可否情報と当該端末の送信容量情報とを取得する。
本実施形態では、通信環境情報取得手段19は、端末情報管理手段18で取得した他端末の端末情報から、伝送能力、到達可否情報を取得し、配信トポロジ組替端末選択手段13に出力することとした。
The communication environment information acquisition means 19 determines the communication environment of the terminal including reachability information indicating whether or not a connection request can be received from another user terminal 1 connected to the terminal on the distribution tree. Information to be obtained is acquired.
The communication environment information acquisition unit 19 acquires reachability information and transmission capacity information of the terminal as information indicating the communication environment from other user terminals 1.
In this embodiment, the communication environment information acquisition unit 19 acquires transmission capability and reachability information from the terminal information of other terminals acquired by the terminal information management unit 18 and outputs the transmission capability and reachability information to the distribution topology rearrangement terminal selection unit 13. It was.

接続通信環境計測手段20は、到達可否判定部201と、帯域計測部202とを備える。到達可否判定部201は、自端末が他端末から接続要求を受け付けることができるか否かを判定する。例えば、自端末がインターネット4に直接接続している場合、到達可否情報を「到達可」として端末情報記憶部111に登録しておくことができる。
また、例えば、自端末がローカルネットワークを介してルータに接続していることを前提としたときに、ルータが外部(インターネット4)からの接続要求を自端末に転送することができる場合は到達可否情報を「到達可」とし、ルータが外部からの接続要求を自端末に転送できない場合は到達可否情報を「不可」とすることができる。
到達可否判定部201は、端末情報記憶部111に記憶された端末情報を参照して自端末が他端末から接続要求を受け付けることができるか否かを判別し、その判別結果を接続制御手段17の接続受付部172に出力する(図5参照)。
The connected communication environment measurement unit 20 includes a reachability determination unit 201 and a band measurement unit 202. The reachability determination unit 201 determines whether or not the own terminal can accept a connection request from another terminal. For example, when the own terminal is directly connected to the Internet 4, the reachability information can be registered in the terminal information storage unit 111 as “reachable”.
In addition, for example, when it is assumed that the terminal is connected to the router via the local network, if the router can transfer a connection request from the outside (Internet 4) to the terminal, it is reachable. When the information is “reachable” and the router cannot transfer a connection request from the outside to the own terminal, the reachability information can be set to “impossible”.
The reachability determination unit 201 determines whether or not the own terminal can accept a connection request from another terminal with reference to the terminal information stored in the terminal information storage unit 111, and uses the determination result as the connection control unit 17. To the connection accepting unit 172 (see FIG. 5).

帯域計測部202は、自端末のコンテンツデータの送受信に係る伝送能力を計測するものである。例えば、順次行うコンテンツデータ中継の際に送信したバイト数と、送信に要した時間とから、ビットレート(bit/sec)を計測し、その値を伝送能力とすることもできる。あるいは、自端末が接続している契約回線種別の情報に基づいて、規定値を伝送能力として設定することもできる。規定値として、例えば、FTTH/ADSL/携帯回線に対して、FTTH=“3”、ADSL=“2”、携帯回線=“1”と設定してもよい。なお、図4に示す端末情報は、この規定値に対応している。   The bandwidth measuring unit 202 measures the transmission capability related to transmission / reception of content data of the terminal itself. For example, the bit rate (bit / sec) can be measured from the number of bytes transmitted at the time of relaying content data sequentially and the time required for transmission, and the value can be used as the transmission capability. Alternatively, the specified value can be set as the transmission capability based on the contract line type information to which the terminal is connected. As specified values, for example, FTTH = “3”, ADSL = “2”, and mobile line = “1” may be set for FTTH / ADSL / mobile line. Note that the terminal information shown in FIG. 4 corresponds to this specified value.

コンテンツデータ中継部21は、トポロジ情報(トポロジ情報記憶部112aに記憶された端末ID)に基づいて、接続先端末から通信インタフェース24を介してコンテンツデータを順次受信し、この受信したコンテンツデータを他の接続先端末へ中継するものである。コンテンツデータ中継部21は、受信したコンテンツデータをコンテンツバッファ22に格納する。このコンテンツデータ中継部21は、例えば受信データの中継状態のときには、それに応じた信号を配信トポロジ組替端末選択手段13に出力し続け、受信データの中継が停止したときには、その信号を停止することで、当該利用者端末1が配信ツリーから離脱したか否かを配信トポロジ組替端末選択手段13に通知することができる。   The content data relay unit 21 sequentially receives the content data from the connection destination terminal via the communication interface 24 based on the topology information (terminal ID stored in the topology information storage unit 112a). To the connected terminal. The content data relay unit 21 stores the received content data in the content buffer 22. For example, the content data relay unit 21 continuously outputs a signal corresponding to the received data relay state to the distribution topology rearrangement terminal selection unit 13 and stops the signal when the relay of the received data stops. Thus, it is possible to notify the distribution topology reconfiguration terminal selection means 13 whether or not the user terminal 1 has left the distribution tree.

コンテンツ再生部23は、コンテンツバッファ22よりコンテンツデータを取り出し、順次デコードおよび再生する再生部である。コンテンツ再生部23には、例えば、利用者の操作にしたがったON/OFF信号等が入力される。例えばON信号が入力されると、コンテンツが再生され、OFF信号が入力されると、コンテンツの再生が停止し、受信中のコンテンツデータの中継を停止し、配信ツリーから離脱することができる。   The content reproduction unit 23 is a reproduction unit that extracts content data from the content buffer 22 and sequentially decodes and reproduces the content data. For example, an ON / OFF signal or the like according to a user operation is input to the content reproduction unit 23. For example, when an ON signal is input, the content is reproduced, and when an OFF signal is input, the reproduction of the content is stopped, the relay of the content data being received is stopped, and the distribution tree can be withdrawn.

利用者端末1は、一般的なコンピュータを、前記した各手段として機能させるプログラムにより動作させることで実現することができる。このプログラム(配信トポロジ組替プログラム)は、通信回線を介して配布することも可能であるし、DVDやCD−ROM等の記録媒体に書き込んで配布することも可能である。   The user terminal 1 can be realized by operating a general computer with a program that functions as each of the above-described means. This program (distribution topology reassignment program) can be distributed via a communication line, or can be distributed by writing on a recording medium such as a DVD or CD-ROM.

[3.配信トポロジ組替端末選択手段の構成例]
次に、配信トポロジ組替端末選択手段の構成例について図6を参照(適宜図3参照)して説明する。図6に示す例では、配信トポロジ組替端末選択手段13は、タイミング判定手段31と、下流端末選定制御手段32と、上流端末選定制御手段33と、組替端末決定手段34とを備えることとした。
[3. Configuration example of distribution topology recombination terminal selection means]
Next, a configuration example of the distribution topology reassignment terminal selection unit will be described with reference to FIG. 6 (see FIG. 3 as appropriate). In the example shown in FIG. 6, the distribution topology reassignment terminal selection means 13 includes a timing determination means 31, a downstream terminal selection control means 32, an upstream terminal selection control means 33, and a reassignment terminal determination means 34. did.

<タイミング判定手段31>
タイミング判定手段31は、現時点が配信トポロジ組替処理の処理開始タイミングであるか否かを判別するものである。処理開始タイミングか否かの判別結果は、下流端末選定制御手段32の後記する伝送能力判別部321および端末ID抽出部322に出力される。ここでは、タイミング判定手段31は、受信終了検知部311と、設定時刻検知部312とを備えることとした。
<Timing determination means 31>
The timing determination unit 31 determines whether or not the current time is the processing start timing of the distribution topology reassignment process. The determination result as to whether or not it is the processing start timing is output to a transmission capability determination unit 321 and a terminal ID extraction unit 322, which will be described later, on the downstream terminal selection control unit 32. Here, the timing determination unit 31 includes a reception end detection unit 311 and a set time detection unit 312.

受信終了検知部311は、現時点の状態が受信処理の終了(離脱)か否かを検知し、離脱の場合、処理開始タイミングであると判別し、かつ、その旨を端末ID抽出部322に通知し、一方、離脱ではない場合、その旨を設定時刻検知部312に通知する。なお、受信終了検知部311は、例えばコンテンツデータ中継部21からの信号が途絶えたときに離脱であることを検知することができる。   The reception end detection unit 311 detects whether or not the current state is the end (removal) of the reception process, and determines that it is the processing start timing in the case of the separation, and notifies the terminal ID extraction unit 322 to that effect. On the other hand, if it is not a departure, the fact is notified to the set time detection unit 312. Note that the reception end detection unit 311 can detect that the reception is terminated, for example, when the signal from the content data relay unit 21 is interrupted.

設定時刻検知部312は、離脱ではない場合、現在時刻が設定時刻か否かを検知し、設定時刻の場合、処理開始タイミングであると判別し、かつ、その旨を伝送能力判別部321に通知し、一方、設定時刻ではない場合、待機する。設定時刻は、予め定めておいてもよいし、ユーザが設定時刻を図示しない入力装置から随時更新できるようにしてもよい。設定時刻のタイミングは、任意でよく、不定期のタイミングでも定期的のタイミングでも構わない。定期的のタイミングの場合、1秒毎のような一定時間間隔でもよいし、1秒と2秒のように複数の時間間隔を一定のリズムで順次利用してもよい。
なお、タイミング判定手段31は、受信終了検知部311および設定時刻検知部312のうちのいずれか1つだけを備えることとしてもよい。
The set time detection unit 312 detects whether or not the current time is the set time if it is not a departure, determines that it is the processing start timing if it is the set time, and notifies the transmission capability determination unit 321 to that effect. On the other hand, if it is not the set time, it waits. The set time may be determined in advance, or the user may be able to update the set time as needed from an input device (not shown). The timing of the set time may be arbitrary and may be irregular timing or periodic timing. In the case of regular timing, a fixed time interval such as every second may be used, or a plurality of time intervals such as 1 second and 2 seconds may be sequentially used in a fixed rhythm.
The timing determination unit 31 may include only one of the reception end detection unit 311 and the set time detection unit 312.

<下流端末選定制御手段32>
下流端末選定制御手段32は、配信トポロジ組替処理の対象とするいずれか2端末のうち、一方を自端末からみて配信トポロジの下流に接続された下流端末の中から選定するものであって、伝送能力判別部321と、端末ID抽出部322と、端末IDソート部323と、端末ID取得制御部324と、到達可否判別部325とを備える。
<Downstream terminal selection control means 32>
The downstream terminal selection control unit 32 selects one of the two terminals to be subjected to the distribution topology reassignment process from the downstream terminals connected to the downstream of the distribution topology when viewed from the own terminal, A transmission capability determination unit 321, a terminal ID extraction unit 322, a terminal ID sort unit 323, a terminal ID acquisition control unit 324, and a reachability determination unit 325 are provided.

伝送能力判別部321は、タイミング判定手段31の設定時刻検知部312から、処理開始タイミングである旨の判別結果の通知を受けたときに、トポロジ情報記憶部112に、自端末よりも伝送能力が高い下流端末が存在するか否かを判別するものである。自端末よりも伝送能力が高い下流端末が存在するか否かの判別結果は端末ID抽出部322に通知される。なお、伝送能力判別部321は、通信環境情報取得手段19から、各端末の端末情報における伝送能力を取得して判定に用いる。端末ID抽出部322も同様である。   When the transmission capability determination unit 321 receives a notification of the determination result indicating that it is the processing start timing from the set time detection unit 312 of the timing determination unit 31, the transmission capability determination unit 321 has a transmission capability in the topology information storage unit 112 that is higher than that of its own terminal. It is determined whether or not there is a high downstream terminal. The terminal ID extraction unit 322 is notified of the determination result as to whether or not there is a downstream terminal having a higher transmission capability than the own terminal. The transmission capability determination unit 321 acquires the transmission capability in the terminal information of each terminal from the communication environment information acquisition unit 19 and uses it for the determination. The same applies to the terminal ID extraction unit 322.

端末ID抽出部322は、タイミング判定手段31の受信終了検知部311から、処理開始タイミングである旨の判別結果の通知を受けたときに、トポロジ情報記憶部112から下流端末の端末IDを全て抽出し、端末IDソート部323に出力する。
一方、端末ID抽出部322は、伝送能力判別部321から、自端末よりも伝送能力が高い下流端末が存在する旨の判別結果の通知を受けた場合、トポロジ情報記憶部112に格納されており、且つ自端末よりも伝送能力が高い下流端末の端末IDを抽出し、端末IDソート部323に出力する。
The terminal ID extraction unit 322 extracts all the terminal IDs of the downstream terminals from the topology information storage unit 112 when receiving the notification of the determination result indicating the processing start timing from the reception end detection unit 311 of the timing determination unit 31. And output to the terminal ID sorting unit 323.
On the other hand, if the terminal ID extraction unit 322 receives a notification from the transmission capability determination unit 321 that a downstream terminal having a higher transmission capability than the own terminal is present, the terminal ID extraction unit 322 is stored in the topology information storage unit 112. The terminal ID of the downstream terminal having a higher transmission capability than that of the own terminal is extracted and output to the terminal ID sorting unit 323.

端末IDソート部323は、端末ID抽出部322で抽出した下流端末の端末IDを、伝送能力の高い順にソートして、端末ID取得制御部324に出力するものである。
端末ID取得制御部324は、下流端末選定制御手段32と上流端末選定制御手段33とを連動させた繰り返し処理を制御するものである。この端末ID取得制御部324は、端末ID抽出部322で抽出された下流端末の端末IDの抽出数に応じて、選択すべき下流端末の候補として、伝送能力の高いものから順に1つずつ下流端末の端末IDを取得し、到達可否判別部325に出力する。
The terminal ID sorting unit 323 sorts the terminal IDs of downstream terminals extracted by the terminal ID extracting unit 322 in descending order of transmission capability, and outputs the sorted terminal IDs to the terminal ID acquisition control unit 324.
The terminal ID acquisition control unit 324 controls repetitive processing in which the downstream terminal selection control unit 32 and the upstream terminal selection control unit 33 are linked. The terminal ID acquisition control unit 324 selects one downstream terminal as a downstream terminal candidate to be selected in accordance with the number of downstream terminal IDs extracted by the terminal ID extraction unit 322. The terminal ID of the terminal is acquired and output to the reachability determination unit 325.

到達可否判別部325は、端末ID取得制御部324で取得された端末IDの下流端末の端末情報を端末情報記憶部111から取得し、その取得した端末情報において到達可否情報が「到達可」であるか否かを判別するものである。この判別結果は、上流端末選定制御手段33の後記する端末候補判別部331および端末ID取得部332に出力される。なお、到達可否判別部325は、通信環境情報取得手段19から、各端末の端末情報における到達可否情報を取得して判定に用いる。端末候補判別部331、端末ID取得部332、到達可否判別部341も同様である。
また、この到達可否判別部325は、「到達可」であると判別した場合、下流端末の当該端末ID(例えばNdi)を上流端末選定制御手段33の後記するID設定部342に出力する。
The reachability determination unit 325 acquires the terminal information of the downstream terminal of the terminal ID acquired by the terminal ID acquisition control unit 324 from the terminal information storage unit 111, and the reachability information in the acquired terminal information is “reachable”. It is determined whether or not there is. This determination result is output to a terminal candidate determination unit 331 and a terminal ID acquisition unit 332, which will be described later, of the upstream terminal selection control unit 33. The reachability determination unit 325 acquires reachability information in the terminal information of each terminal from the communication environment information acquisition unit 19 and uses it for determination. The same applies to the terminal candidate determination unit 331, the terminal ID acquisition unit 332, and the reachability determination unit 341.
Further, when the reachability determination unit 325 determines that it is “reachable”, the terminal ID (for example, Ndi) of the downstream terminal is output to the ID setting unit 342 described later on the upstream terminal selection control unit 33.

上流端末選定制御手段33は、配信トポロジ組替処理の対象とするいずれか2端末のうち、他方を自端末からみて配信トポロジの上流に接続された上流端末の中から選定するものであって、端末候補判別部331と、端末ID取得部332とを備える。   The upstream terminal selection control means 33 selects one of the two terminals to be subjected to the distribution topology reassignment process from the upstream terminals connected to the upstream of the distribution topology as viewed from the other terminal. A terminal candidate determination unit 331 and a terminal ID acquisition unit 332 are provided.

端末候補判別部331は、到達可否判別部325から、下流端末の候補の端末情報において到達可否情報が「到達不可」であると旨の判別結果の通知を受けたときに、トポロジ情報記憶部112に、到達可否情報が「到達可」である上流端末が存在するか否かを判別するものである。この端末候補判別部331は、到達可否情報が「到達可」である上流端末が存在しない場合、その旨を端末ID取得制御部324に通知し、「到達可」である上流端末が存在する場合、その旨を端末ID取得部332に通知する。   The terminal candidate determination unit 331 receives the notification of the determination result that the reachability information is “unreachable” in the terminal information of the downstream terminal candidate from the reachability determination unit 325, and the topology information storage unit 112 In addition, it is determined whether or not there is an upstream terminal whose reachability information is “reachable”. When there is no upstream terminal whose reachability information is “reachable”, the terminal candidate determination unit 331 notifies the terminal ID acquisition control unit 324 to that effect, and when there is an upstream terminal that is “reachable” The terminal ID acquisition unit 332 is notified of this.

端末ID取得部332は、端末候補判別部331から、到達可否情報が「到達可」である上流端末が存在する旨の判別結果の通知を受けたときに、トポロジ情報記憶部112から、到達可否情報が「到達可」である任意の上流端末の端末ID(例えばNui)を1端末分だけ取得する。
一方、端末ID取得部332は、到達可否判別部325から、下流端末の候補の端末情報において到達可否情報が「到達可」であると旨の判別結果の通知を受けたときに、トポロジ情報記憶部112から、任意の上流端末の端末ID(例えばNui)を1端末分だけ取得する。
端末ID取得部332で取得された上流端末の端末ID(例えばNui)は、組替端末決定手段34の後記する到達可否判別部341に出力される。
The terminal ID acquisition unit 332 receives from the topology information storage unit 112 a notification of reachability when receiving a notification from the terminal candidate determination unit 331 that there is an upstream terminal whose reachability information is “reachable”. The terminal ID (for example, Nui) of any upstream terminal whose information is “reachable” is acquired for one terminal.
On the other hand, when the terminal ID acquisition unit 332 receives from the reachability determination unit 325 a notification of a determination result that the reachability information is “reachable” in the candidate terminal information of the downstream terminal, the topology information storage From the unit 112, the terminal ID (for example, Nui) of an arbitrary upstream terminal is acquired for one terminal.
The terminal ID (for example, Nui) of the upstream terminal acquired by the terminal ID acquisition unit 332 is output to the reachability determination unit 341 which will be described later on the reassigned terminal determination unit 34.

組替端末決定手段34は、配信トポロジ組替処理の対象とする2端末を決定するものであって、到達可否判別部341と、ID設定部342とを備える。
到達可否判別部341は、端末ID取得部332から取得した上流端末の端末ID(例えばNui)に基づいて、このNuiに関連付けられた到達可否情報が「到達可」であるか否かを判別するものである。「到達可」であるか否かの判別結果はID設定部342に出力される。
The reassignment terminal determination unit 34 determines two terminals to be subjected to distribution topology reassignment processing, and includes a reachability determination unit 341 and an ID setting unit 342.
The reachability determination unit 341 determines whether the reachability information associated with this Nui is “reachable” based on the terminal ID (for example, Nui) of the upstream terminal acquired from the terminal ID acquisition unit 332. Is. The determination result of whether or not “reachable” is output to the ID setting unit 342.

ID設定部342は、組替要求端末ID(Na)と、組替受付端末ID(Np)と、組替指示端末ID(Nc)とを設定するものである。
ID設定部342は、端末情報記憶部111から読み出した自端末IDを、組替指示端末ID(Nc)に設定する。
また、ID設定部342は、到達可否判別部341の判別結果に応じて、組替要求端末ID(Na)と、組替受付端末ID(Np)とを設定する。
具体的には、ID設定部342は、到達可否判別部341から、Nuiに関連付けられた到達可否情報が「到達可」である旨の判別結果の通知を受けた場合、組替要求端末ID(Na)に「Ndi」を設定し、組替受付端末ID(Np)に「Nui」を設定する。
一方、ID設定部342は、到達可否判別部341から、Nuiに関連付けられた到達可否情報が「到達不可」である旨の判別結果の通知を受けた場合、組替要求端末ID(Na)に「Nui」を設定し、組替受付端末ID(Np)に「Ndi」を設定する。
ここで設定されたNa、Np、Ncは、接続組替指示手段14に出力される。
The ID setting unit 342 sets a reassignment request terminal ID (Na), a reassignment reception terminal ID (Np), and a reassignment instruction terminal ID (Nc).
The ID setting unit 342 sets the own terminal ID read from the terminal information storage unit 111 as the reassignment instruction terminal ID (Nc).
Further, the ID setting unit 342 sets the reassignment request terminal ID (Na) and the reassignment reception terminal ID (Np) according to the determination result of the reachability determination unit 341.
Specifically, when the ID setting unit 342 receives a notification of a determination result indicating that the reachability information associated with Nui is “reachable” from the reachability determination unit 341, the reassignment request terminal ID ( “Ndi” is set in Na), and “Nui” is set in the reassignment receiving terminal ID (Np).
On the other hand, when the ID setting unit 342 receives a notification of the determination result that the reachability information associated with the Nui is “not reachable” from the reachability determination unit 341, the ID setting unit 342 sets the reassignment request terminal ID (Na). “Nui” is set, and “Ndi” is set in the reassignment receiving terminal ID (Np).
The Na, Np, and Nc set here are output to the connection reassignment instruction unit 14.

[4.利用者端末の動作]
次に、利用者端末の動作について、5つに細分化して、4−1.利用者端末のグループ加入処理、4−2.配信ツリーの例、4−3.配信トポロジ組替処理、4−4.配信トポロジ組替端末選択処理、4−5.配信トポロジ組替処理の具体例のそれぞれについて詳細に説明する。
[4. Operation of user terminal]
Next, the operation of the user terminal is subdivided into five, 4-1. User terminal group subscription processing, 4-2. Example of distribution tree, 4-3. Distribution topology rearrangement processing, 4-4. Distribution topology recombination terminal selection process, 4-5. Each of the specific examples of the distribution topology rearrangement process will be described in detail.

<4−1.利用者端末のグループ加入処理>
まず、新規の利用者端末1が配信グループへ参加する際に行うグループ加入処理の手順の一例について図7を参照(適宜図3参照)して説明する。
本実施形態に係るコンテンツ配信システムSでは、利用者端末1は、利用者の操作にしたがって、図示しないコンテンツ視聴アプリケーションを起動後に、利用者が視聴したいコンテンツを選択すると、端末情報管理手段18の端末情報送信部182によって、自端末の端末情報を含む接続先紹介要求を端末管理サーバ2に送信する(S001)。
<4-1. User terminal group subscription processing>
First, an example of a procedure for group joining processing performed when a new user terminal 1 joins a distribution group will be described with reference to FIG. 7 (refer to FIG. 3 as appropriate).
In the content distribution system S according to the present embodiment, when the user terminal 1 selects a content that the user wants to view after starting a content viewing application (not shown) according to the user's operation, the terminal of the terminal information management means 18 The information transmission unit 182 transmits a connection destination introduction request including the terminal information of the own terminal to the terminal management server 2 (S001).

端末管理サーバ2は、新規の利用者端末1から受信した接続先紹介要求に含まれる端末情報を抽出し、自身が管理する端末情報リストL(図2参照)を更新すると共に、端末情報リストLから、要求されたコンテンツを受信中の利用者端末1の端末情報を1つ以上抽出し(S002)、初期接続先リストとして、利用者端末1に送信する(S003)。
利用者端末1は、端末情報管理手段18の端末情報受信部183によって、初期接続先リストを受信し、端末情報記憶部111に格納する(S004)。
The terminal management server 2 extracts the terminal information included in the connection destination introduction request received from the new user terminal 1, updates the terminal information list L (see FIG. 2) managed by the terminal management server 2, and the terminal information list L Then, one or more pieces of terminal information of the user terminal 1 receiving the requested content are extracted (S002), and transmitted to the user terminal 1 as an initial connection destination list (S003).
The user terminal 1 receives the initial connection destination list by the terminal information receiving unit 183 of the terminal information management unit 18 and stores it in the terminal information storage unit 111 (S004).

利用者端末1は、端末情報管理手段18の端末情報送信部182によって、自端末の端末情報を、端末情報記憶部111に端末IDが格納されている他端末に対して送信し、自身が配信グループに参加したことを配信グループの他端末に知らせる。また、新規に配信グループに参加した利用者端末1は、接続制御手段17によって、自端末から接続要求を行うか、または、他端末から接続要求を受け付けることにより、配信トポロジ(配信ツリー)を構築することができる。   The user terminal 1 transmits the terminal information of its own terminal to the other terminals whose terminal IDs are stored in the terminal information storage unit 111 by the terminal information transmission unit 182 of the terminal information management means 18 and distributes itself. Notify other terminals in the distribution group that you have joined the group. Further, the user terminal 1 newly joining the distribution group makes a distribution topology (distribution tree) by making a connection request from the own terminal or accepting a connection request from another terminal by the connection control means 17. can do.

<4−2.配信ツリーの例>
ここでは、利用者端末1による配信トポロジ組替処理(接続切替動作)を説明するために、前提とするコンテンツ配信システムSの配信ツリーの一例について説明する。図8に示す例では、コンテンツ配信サーバ3を頂点とした構造の配信ツリーに属する利用者端末1を円で示している。このうち白丸で示す利用者端末1は、端末情報の到達可否情報が「到達可」であることを示し、黒丸で示す利用者端末1は、端末情報の到達可否情報が「到達不可」であることを示している。利用者端末1の円内に示す数値は、それぞれの利用者端末1の伝送能力を示している。利用者端末1間の線は、お互いが接続関係にあること(配信トポロジを構築していること)を示しており、矢印は、接続要求を行った端末から、接続要求を受付けた端末に向いている。
<4-2. Distribution tree example>
Here, in order to explain the distribution topology rearrangement process (connection switching operation) by the user terminal 1, an example of a distribution tree of the content distribution system S assumed will be described. In the example shown in FIG. 8, user terminals 1 belonging to a distribution tree having a structure with the content distribution server 3 as a vertex are indicated by circles. Among these, the user terminal 1 indicated by a white circle indicates that the reachability information of the terminal information is “reachable”, and the user terminal 1 indicated by a black circle is that the reachability information of the terminal information is “unreachable”. It is shown that. The numerical value shown in the circle of the user terminal 1 indicates the transmission capability of each user terminal 1. The line between the user terminals 1 indicates that they are connected to each other (that is, that a distribution topology is constructed), and the arrow points from the terminal that has made the connection request to the terminal that has accepted the connection request. ing.

また、配信グループG内の各利用者端末1には固有の端末IDが付されている。
図8において、所定の基準の位置に配置された利用者端末1のIDを「Ns」とし、この利用者端末1を自端末とする。
ID=Nu1、Nu2の利用者端末1のホップ数はそれぞれ「1」、ID=Nsの利用者端末1のホップ数は「2」、ID=Nd1、Nd2の利用者端末1のホップ数はそれぞれ「3」であるものとする。
また、自端末よりもホップ数が小さい端末(ID=Nu1、Nu2)のことを、基準に対して上流にそれぞれ配置された上流端末と呼ぶ。
また、自端末よりもホップ数が大きい端末(ID=Nd1、Nd2)のことを、基準に対して下流にそれぞれ配置された下流端末と呼ぶ。
Each user terminal 1 in the distribution group G is assigned a unique terminal ID.
In FIG. 8, the ID of the user terminal 1 arranged at a predetermined reference position is “Ns”, and this user terminal 1 is its own terminal.
The number of hops of the user terminal 1 with ID = Nu1 and Nu2 is “1”, the number of hops of the user terminal 1 with ID = Ns is “2”, and the number of hops of the user terminal 1 with ID = Nd1 and Nd2 is respectively It shall be “3”.
In addition, terminals having a smaller number of hops than their own terminals (ID = Nu1, Nu2) are referred to as upstream terminals respectively arranged upstream with respect to the reference.
In addition, terminals (ID = Nd1, Nd2) having a larger number of hops than the own terminal are referred to as downstream terminals respectively arranged downstream with respect to the reference.

<4−3.配信トポロジ組替処理>
ここでは、利用者端末1による配信トポロジ組替処理の動作(配信トポロジ組替方法)について、図9のシーケンス図を参照(適宜図3、図5、図8参照)して説明する。なお、配信トポロジ組替処理は、自端末である組替指示端末1cがコンテンツの受信を止め、コンテンツ配信システムSに係る処理を終了(離脱)する直前に開始するほか、一定時間間隔など任意のタイミングで開始することができる。
<4-3. Distribution topology reconfiguration process>
Here, the operation of the distribution topology reconfiguration process (distribution topology reconfiguration method) by the user terminal 1 will be described with reference to the sequence diagram of FIG. 9 (refer to FIGS. 3, 5, and 8 as appropriate). The distribution topology reassignment process is started immediately before the reassignment instruction terminal 1c, which is its own terminal, stops receiving the content and ends (leaves) the process related to the content distribution system S. You can start with timing.

まず、組替指示端末1cは、配信トポロジ組替端末選択手段13によって、配信トポロジの組み替えの対象とする2つの端末を選択する配信トポロジ組替端末選択処理により、組替要求を行う利用者端末1である組替要求端末1a、および、組み替えの受付先となる利用者端末1である組替受付端末1pを選択する。そして、組替要求端末1aとして選択した端末の端末IDを、組替要求端末ID(Na)の値として設定し、組替受付端末1pとして選択した端末の端末IDを、組替受付端末ID(Np)の値として設定し、自端末の端末IDを組替指示端末ID(Nc)の値に設定する(S101)。なお、この配信トポロジ組替端末選択処理の詳細については、後記する。   First, the reconfiguration instruction terminal 1c is a user terminal that makes a reconfiguration request by the distribution topology reconfiguration terminal selection processing in which the distribution topology reconfiguration terminal selection unit 13 selects two terminals that are to be redistributed in the distribution topology. 1 is selected, and a reassignment reception terminal 1p that is a user terminal 1 that is a receptive reception destination. Then, the terminal ID of the terminal selected as the reassignment request terminal 1a is set as the value of the reassignment request terminal ID (Na), and the terminal ID of the terminal selected as the reassignment reception terminal 1p is set as the reassignment reception terminal ID ( Np), and the terminal ID of the own terminal is set to the value of the reassignment instruction terminal ID (Nc) (S101). Details of this distribution topology reassignment terminal selection process will be described later.

以下、組替要求端末IDのことを単にNaと表記し、組替受付端末IDのことをNpと表記し、組替指示端末IDのことをNcと表記することがある。
次に、組替指示端末1cは、組替指示メッセージ送信部141によって、NpおよびNcを含む組替指示メッセージを組替要求端末1aに送信する(S102)。
組替要求端末1aは、組替指示メッセージ受信部151によって、組替指示端末1cから、組替指示メッセージを受信し(S103)、接続組替要求手段15によって、メッセージからNpおよびNcを抽出し(S104)、NcおよびNaを含む組替要求を組替受付端末1pに送信する(S105)。
Hereinafter, the reassignment request terminal ID may be simply expressed as Na, the reassignment reception terminal ID may be expressed as Np, and the reassignment instruction terminal ID may be expressed as Nc.
Next, the reassignment instruction terminal 1c transmits a reassignment instruction message including Np and Nc to the reassignment request terminal 1a by the reassignment instruction message transmission unit 141 (S102).
The reassignment request terminal 1a receives the reassignment instruction message from the reassignment instruction terminal 1c by the reassignment instruction message receiver 151 (S103), and extracts the Np and Nc from the message by the connection reassignment request means 15. (S104), a reassignment request including Nc and Na is transmitted to the reassignment receiving terminal 1p (S105).

組替受付端末1pは、接続受付部172によって、組替要求端末1aから組替要求を受信し(S106)、NcおよびNaを抽出する(S107)。
次に、組替受付端末1pは、接続切替手段16によって、組替要求に対する応答(組替応答)を組替要求端末1aへ送信し(S108)、トポロジ情報記憶部112にNaを追加する(S109)。
組替要求端末1aは、接続受付部172によって、組替応答を受信し(S110)、自身のトポロジ情報記憶部112にNpを追加する(S111)。
The reassignment receiving terminal 1p receives a reassignment request from the reassignment request terminal 1a by the connection accepting unit 172 (S106), and extracts Nc and Na (S107).
Next, the reassignment receiving terminal 1p transmits a response to the reassignment request (reassignment response) to the reassignment request terminal 1a by the connection switching unit 16 (S108), and adds Na to the topology information storage unit 112 ( S109).
The reassignment request terminal 1a receives the reassignment response through the connection accepting unit 172 (S110), and adds Np to its own topology information storage unit 112 (S111).

続いて、組替受付端末1pは、切断部173によって、Npを含む切断要求を組替指示端末1cに送信し(S112)、自身のトポロジ情報記憶部112から、Ncを削除する(S113)。
組替指示端末1cは、接続受付部172によって、組替受付端末1pから切断要求を受信し(S114)、自身のトポロジ情報記憶部112からNpを削除すると共に、自端末の端末情報の現在接続数をデクリメントする(S115)。
Subsequently, the reassignment reception terminal 1p transmits a disconnection request including Np to the reconfiguration instruction terminal 1c by the disconnection unit 173 (S112), and deletes Nc from its own topology information storage unit 112 (S113).
The reconfiguration instruction terminal 1c receives a disconnection request from the reconfiguration reception terminal 1p through the connection reception unit 172 (S114), deletes Np from its own topology information storage unit 112, and presently connects the terminal information of its own terminal The number is decremented (S115).

そして、組替指示端末1cは、配信トポロジ組替端末選択手段13によって、下流端末が存在するか否かを確認し(S116)、存在する場合(S116にてYes)、配信トポロジ組替端末選択処理(S101)に戻り、存在しない場合(S116でNo)、処理を終了する。   Then, the reconfiguration instruction terminal 1c confirms whether or not there is a downstream terminal by the distribution topology reconfiguration terminal selection means 13 (S116), and if it exists (Yes in S116), selects the distribution topology reconfiguration terminal. Returning to the process (S101), if it does not exist (No in S116), the process ends.

なお、組替指示端末1cは、下流端末が存在するか否かを確認するために、自身の端末情報記憶部111とトポロジ情報記憶部112とを参照する。このとき、端末情報記憶部111に記憶された端末情報において、自端末のホップ数よりも大きなホップ数に関連付けられた端末IDであって、トポロジ情報記憶部112にも記憶されている端末IDが存在すれば、下流端末が存在することになる。   The reassignment instruction terminal 1c refers to its own terminal information storage unit 111 and topology information storage unit 112 in order to confirm whether or not a downstream terminal exists. At this time, in the terminal information stored in the terminal information storage unit 111, the terminal ID associated with the hop number larger than the hop number of the own terminal and stored in the topology information storage unit 112 is also the terminal ID. If it exists, there is a downstream terminal.

<4−4.配信トポロジ組替端末選択処理>
次に、図9に示した配信トポロジ組替端末選択処理(S101)について、図10および図11のシーケンス図を参照(適宜図3、図6、図8、図9参照)して説明する。
自端末である組替指示端末1cにおいて、配信トポロジ組替端末選択手段13は、以下の動作を行う。タイミング判定手段31によって、現時点の状態が受信処理の終了(離脱)による処理開始タイミングであるか否かを判別する(S201)。離脱による処理開始タイミングとなった場合(S201にてYes)、端末ID抽出部322によって、トポロジ情報記憶部112から下流端末の端末IDを全て抽出する(S202)。このときの抽出数を「W」とする。
<4-4. Distribution topology recombination terminal selection processing>
Next, the distribution topology reassignment terminal selection process (S101) shown in FIG. 9 will be described with reference to the sequence diagrams of FIGS. 10 and 11 (see FIGS. 3, 6, 8, and 9 as appropriate).
In the reassignment instruction terminal 1c which is its own terminal, the distribution topology reassignment terminal selection means 13 performs the following operation. The timing determination unit 31 determines whether or not the current state is the process start timing due to the end (leave) of the reception process (S201). When it is time to start processing due to detachment (Yes in S201), the terminal ID extraction unit 322 extracts all terminal IDs of downstream terminals from the topology information storage unit 112 (S202). The number of extractions at this time is “W”.

一方、前記したS201において、離脱による処理開始タイミングではなく(S201にてNo)、設定時刻検知部312によって、設定時刻による処理開始タイミングであると判別した場合、伝送能力判別部321によって、トポロジ情報記憶部112に、自端末よりも伝送能力が高い下流端末が存在するか否かを判別する(S203)。自端末よりも伝送能力が高い下流端末が存在する場合(S203にてYes)、端末ID抽出部322によって、トポロジ情報記憶部112に格納されており、且つ自端末よりも伝送能力が高い下流端末の端末IDを抽出する(S204)。このときの抽出数を「W」とする。一方、前記したS203において、自端末よりも伝送能力が高い下流端末が存在しない場合(S203にてNo)、配信トポロジ組替端末選択手段13は、この配信トポロジ組替処理を終了する。   On the other hand, when the set time detection unit 312 determines that the process start timing is based on the set time instead of the process start timing due to separation in S201 described above (No in S201), the transmission capability determination unit 321 causes the topology information It is determined whether there is a downstream terminal having a higher transmission capability than the own terminal in the storage unit 112 (S203). If there is a downstream terminal having a higher transmission capability than the own terminal (Yes in S203), the downstream terminal is stored in the topology information storage unit 112 by the terminal ID extraction unit 322 and has a higher transmission capability than the own terminal. Is extracted (S204). The number of extractions at this time is “W”. On the other hand, in S203 described above, when there is no downstream terminal having a transmission capability higher than that of the terminal itself (No in S203), the distribution topology reconfiguration terminal selection unit 13 ends this distribution topology reconfiguration process.

次に、端末IDソート部323によって、前記したS202またはS204の処理により抽出した下流端末の端末IDを、伝送能力の高い順にソートする(S205)。
次に、端末ID取得制御部324によって、変数Iの値を「1」に設定し(S206)、変数Iの値が「W」より小さいか否かを判別する(S207)。まだ変数Iの値が「W」より小さい場合(S207にてYes)、配信トポロジ組替端末選択手段13は、図11に示すように以下の処理を繰り返し、変数Iの値が「W」と等しくなった場合(S207にてNo)、処理を終了する。
Next, the terminal ID sorting unit 323 sorts the terminal IDs of the downstream terminals extracted by the above-described processing of S202 or S204 in descending order of transmission capability (S205).
Next, the terminal ID acquisition control unit 324 sets the value of the variable I to “1” (S206), and determines whether the value of the variable I is smaller than “W” (S207). If the value of variable I is still smaller than “W” (Yes in S207), distribution topology reassignment terminal selection means 13 repeats the following processing as shown in FIG. 11, and the value of variable I becomes “W”. If they are equal (No in S207), the process is terminated.

続いて、図11に示すように、S208において、端末ID取得制御部324によって、現在の変数Iの値に基づいてI番目の端末ID(Ndi)を取得する。そして、到達可否判別部325によって、当該端末IDの端末の端末情報を端末情報記憶部111から取得し、その中の到達可否情報が「到達可」であるか否かを判定する(S209)。到達可否情報が「到達可」である場合(S209でYes)、端末ID取得部332によって、トポロジ情報記憶部112から、任意の上流端末の端末ID(Nui)を1端末分だけ取得する(S210)。   Subsequently, as shown in FIG. 11, in S208, the terminal ID acquisition control unit 324 acquires the I-th terminal ID (Ndi) based on the current value of the variable I. Then, the reachability determination unit 325 acquires the terminal information of the terminal having the terminal ID from the terminal information storage unit 111, and determines whether the reachability information in the terminal information is “reachable” (S209). When the reachability information is “reachable” (Yes in S209), the terminal ID acquisition unit 332 acquires only one terminal ID (Nui) of an arbitrary upstream terminal from the topology information storage unit 112 (S210). ).

一方、前記S209において、到達可否情報が「到達不可」である場合(S209でNo)、端末候補判別部331によって、トポロジ情報記憶部112に、到達可否情報が「到達可」である上流端末が存在するか否かを判定する(S211)。到達可否情報が「到達可」である上流端末が存在する場合(S211でYes)、端末ID取得部332によって、トポロジ情報記憶部112から、到達可否情報が「到達可」である任意の上流端末の端末ID(Nui)を1端末分だけ取得する(S212)。   On the other hand, when the reachability information is “not reachable” in S209 (No in S209), the terminal candidate determination unit 331 causes the topology information storage unit 112 to store an upstream terminal whose reachability information is “reachable”. It is determined whether or not it exists (S211). When there is an upstream terminal whose reachability information is “reachable” (Yes in S211), any upstream terminal whose reachability information is “reachable” is received from the topology information storage unit 112 by the terminal ID acquisition unit 332 The terminal ID (Nui) is acquired for one terminal (S212).

一方、前記S211において、到達可否情報が「到達可」である上流端末が存在しない場合(S211でNo)、端末候補判別部331は、その旨を端末ID取得制御部324に通知し、端末ID取得制御部324は、現在のIの値をインクリメント(+1歩進)させ(S213)、図10に示すS207の処理に戻る。   On the other hand, in S211, if there is no upstream terminal whose reachability information is “reachable” (No in S211), the terminal candidate determination unit 331 notifies the terminal ID acquisition control unit 324 to that effect, and the terminal ID The acquisition control unit 324 increments the current I value (+1 step) (S213), and returns to the process of S207 illustrated in FIG.

続いて、図11に示すように、S214にて、到達可否判別部341によって、前記したS210またはS212の処理により取得した上流端末の端末ID(Nui)に基づいて、Nuiに関連付けられた到達可否情報が「到達可」であるか否かを判別する。Nuiに関連付けられた到達可否情報が「到達可」である場合(S214:Yes)、ID設定部342によって、組替要求端末ID(Na)にNdiを設定し、組替受付端末ID(Np)にNuiを設定し、組替指示端末ID(Nc)に自端末IDを設定する(S215)。一方、Nuiに関連付けられた到達可否情報が「到達不可」である場合(S214:No)、ID設定部342によって、組替要求端末ID(Na)にNuiを設定し、組替受付端末ID(Np)にNdiを設定し、組替指示端末ID(Nc)に自端末IDを設定する(S216)。   Subsequently, as shown in FIG. 11, in S214, the reachability determination unit 341 determines whether the reachability is associated with Nui based on the terminal ID (Nui) of the upstream terminal acquired by the process of S210 or S212. It is determined whether or not the information is “reachable”. When the reachability information associated with Nui is “reachable” (S214: Yes), the ID setting unit 342 sets Ndi to the reassignment request terminal ID (Na), and reassignment reception terminal ID (Np) Is set to Nui, and the own terminal ID is set to the reassignment instruction terminal ID (Nc) (S215). On the other hand, when the reachability information associated with Nui is “unreachable” (S214: No), the ID setting unit 342 sets Nui to the reassignment request terminal ID (Na), and the reconfiguration accepting terminal ID ( Ndi is set to Np), and the own terminal ID is set to the reassignment instruction terminal ID (Nc) (S216).

そして、配信トポロジ組替端末選択手段13は、前記S215またはS216の処理に続いて、図10に示すS201に戻る。また、配信トポロジ組替端末選択手段13は、前記S215またはS216の処理により設定したNa、Np、Ncを、接続組替指示手段14に出力する。これにより、接続組替指示手段は、Na、Np、Ncを用いて、前記したS102(図9参照)の処理を行う。以上により、利用者端末1は、自身の下流に接続する利用者端末1と、自身の上流に接続する利用者端末1とを確実に接続させ、安全に配信トポロジを組み替えることができる。   Then, the distribution topology reassignment terminal selection unit 13 returns to S201 shown in FIG. 10 following the process of S215 or S216. The distribution topology reassignment terminal selection unit 13 outputs the Na, Np, and Nc set by the process of S215 or S216 to the connection reassignment instruction unit 14. As a result, the connection reassignment instruction unit performs the process of S102 (see FIG. 9) using Na, Np, and Nc. As described above, the user terminal 1 can securely connect the user terminal 1 connected downstream of the user terminal 1 and the user terminal 1 connected upstream of the user terminal 1 and can safely rearrange the distribution topology.

<4−5.配信トポロジ組替処理の具体例>
さらに、図10および図11に示す配信トポロジ組替処理の具体例について図12を参照して説明する。図12(a)は、図8をもとに作成した同様な配信ツリーにおいて配信トポロジ組替処理の概要を図示したものである。図8と同様に各利用者端末1には固有の端末IDが付されている。以下の説明では、基準の位置に配置された利用者端末1のIDを「Ns」とし、この利用者端末1を自端末とする。また、上流端末は、ID=Nu1、Nu2の2つの利用者端末1である。また、下流端末は、ID=Nd1、Nd2の2つの利用者端末1である。
<4-5. Specific example of distribution topology reconfiguration processing>
Furthermore, a specific example of the distribution topology rearrangement process shown in FIGS. 10 and 11 will be described with reference to FIG. FIG. 12A illustrates an overview of distribution topology reassignment processing in a similar distribution tree created based on FIG. As in FIG. 8, each user terminal 1 is assigned a unique terminal ID. In the following description, the ID of the user terminal 1 placed at the reference position is “Ns”, and this user terminal 1 is its own terminal. The upstream terminals are two user terminals 1 with ID = Nu1 and Nu2. The downstream terminals are two user terminals 1 with ID = Nd1 and Nd2.

この場合、ID=Nsの利用者端末1(自端末)は、前記した配信トポロジ組替端末選択処理(S101:図9参照)において、S204により抽出した2つの下流端末を、伝送能力の高い順にソートし(S205:図10参照)、I=「1」のとき、つまり1番目に、2つの下流端末の中から、伝送能力が高いID=Nd1の利用者端末1(伝送能力=「3」)を選択する(S208:図11参照)。ここで、ID=Nd1の利用者端末1は、黒丸で示されているように到達可否情報が「到達不可」であるので(S209でNo:図11参照)、2つの上流端末の中から、到達可否情報が「到達可」である利用者端末1(白丸で示されている端末)の端末ID(=Nu1)を1端末分だけ取得する(S212:図11参照)。さらに、このID=Nu1に関連付けられた到達可否情報が「到達可」であるので(S214でYes:図11参照)、組替要求端末ID(Na)の値に「Nd1」を設定し、組替受付端末ID(Np)の値に「Nu1」を設定し、組替指示端末ID(Nc)の値に「Ns」を設定する。これら設定値と、端末ID(Na、Np、Nc)との対応関係は、図12(a)に図示する通りである。   In this case, the user terminal 1 (self terminal) with ID = Ns selects the two downstream terminals extracted in S204 in descending order of transmission capability in the distribution topology reassignment terminal selection process (S101: see FIG. 9). Sorting is performed (S205: see FIG. 10). When I = “1”, that is, first, the user terminal 1 with ID = Nd1 having the highest transmission capability from the two downstream terminals (transmission capability = “3”). ) Is selected (S208: see FIG. 11). Here, since the reachability information of the user terminal 1 with ID = Nd1 is “unreachable” as indicated by a black circle (No in S209: see FIG. 11), from among the two upstream terminals, Only one terminal ID (= Nu1) of the user terminal 1 (terminal indicated by a white circle) whose reachability information is “reachable” is acquired (S212: see FIG. 11). Furthermore, since the reachability information associated with this ID = Nu1 is “reachable” (Yes in S214: see FIG. 11), “Nd1” is set as the value of the reassignment request terminal ID (Na), and the set “Nu1” is set as the value of the replacement acceptance terminal ID (Np), and “Ns” is set as the value of the reassignment instruction terminal ID (Nc). The correspondence between these setting values and the terminal IDs (Na, Np, Nc) is as illustrated in FIG.

次に、図9に示した配信トポロジ組替処理の手順により、組替指示端末ID(Nc)として設定されたID=Nsを有した組替指示端末1c(自端末)は、Np(設定値は「Nu1」)およびNc(設定値は「Ns」)を含む組替指示メッセージを、組替要求端末ID(Na)として設定されたID=Nd1を有する組替要求端末1aに送信する(S102:図9参照)。   Next, the reassignment instruction terminal 1c (own terminal) having ID = Ns set as the reassignment instruction terminal ID (Nc) by the procedure of the distribution topology reassignment process shown in FIG. Transmits a reassignment instruction message including “Nu1”) and Nc (set value is “Ns”) to the reassignment request terminal 1a having ID = Nd1 set as the reassignment request terminal ID (Na) (S102). : Refer to FIG.

続いて、組替要求端末ID(Na)として設定されたID=Nd1を有する組替要求端末1aは、Nc(設定値は「Ns」)およびNa(設定値は「Nd1」)を含む組替要求を、組替受付端末ID(Np)として設定されたID=Nu1を有する組替受付端末1pに送信する(S105:図9参照)。   Subsequently, the reassignment request terminal 1a having ID = Nd1 set as the reassignment request terminal ID (Na) includes Nc (set value is “Ns”) and Na (set value is “Nd1”). The request is transmitted to the reassignment receiving terminal 1p having ID = Nu1 set as the reassignment receiving terminal ID (Np) (S105: see FIG. 9).

次に、組替受付端末ID(Np)として設定されたID=Nu1を有する組替受付端末1は、組替要求に対する応答(組替応答)を、組替要求端末ID(Na)として設定されたID=Nd1を有する組替要求端末1aへ送信して接続を確立し(S108:図9参照)、さらに、組替指示端末ID(Nc)として設定されたID=Nsを有する組替指示端末1c(自端末)に切断要求を送信して切断する(S112:図9参照)。以上の一連の処理の結果、図12(b)のように、配信トポロジの組み替えを行うことができる。 Next set, reclassification reception terminal 1 p with reclassification reception terminal ID (Np) ID = Nu1 set as the response to the reclassification request (reclassification response), as reclassification request terminal ID (Na) Is transmitted to the reassignment request terminal 1a having the assigned ID = Nd1 to establish a connection (S108: see FIG. 9), and further, the reassignment instruction having ID = Ns set as the reassignment instruction terminal ID (Nc) A disconnection request is transmitted to the terminal 1c (own terminal) to disconnect (S112: see FIG. 9). As a result of the above series of processing, the distribution topology can be rearranged as shown in FIG.

以上により、本実施形態の利用者端末1によれば、インターネット4にNATルータを介して接続しているために他端末から接続要求を受付けることができない利用者端末が存在する環境においても、コンテンツ配信システムSの配信ツリーに参加する利用者端末1が、自身の下流に接続する利用者端末1と、自身の上流に接続する利用者端末1とを確実に接続させ、安全に配信トポロジ(ツリー上の順番)を組み替えることができる。そのため、配信の安定性を向上させると共に、接続切り替えに係る無駄な処理を減らすことができる。   As described above, according to the user terminal 1 of the present embodiment, even in an environment where there is a user terminal that cannot accept a connection request from another terminal because it is connected to the Internet 4 via a NAT router. The user terminal 1 participating in the distribution tree of the distribution system S securely connects the user terminal 1 connected to the downstream of the user terminal 1 to the user terminal 1 connected to the upstream of the user terminal 1 and securely distributes the distribution topology (tree (Upper order) can be rearranged. Therefore, it is possible to improve distribution stability and reduce wasteful processing related to connection switching.

以上、実施形態に基づいて本発明を説明したが、本発明はこれに限定されるものではない。例えば、本実施形態では、通信環境情報取得手段19は、他の利用者端末1から、通信環境を示す情報として、到達可否情報と当該端末の送信容量情報の双方を取得することとしたが、到達可否情報だけを取得するようにしてもよい。この場合、配信トポロジ組替端末選択手段13は、2端末を選択する際に、配信ツリー上において上流の位置にて自端末に接続するいずれか1つの利用者端末と、下流の位置にて自端末に接続するいずれか1つの利用者端末と、を選択することとすればよい。   As mentioned above, although this invention was demonstrated based on embodiment, this invention is not limited to this. For example, in the present embodiment, the communication environment information acquisition unit 19 acquires both the reachability information and the transmission capacity information of the terminal as information indicating the communication environment from the other user terminals 1. Only the reachability information may be acquired. In this case, when selecting two terminals, the distribution topology reassignment terminal selection means 13 automatically selects one user terminal connected to the own terminal at the upstream position on the distribution tree and the downstream position. Any one user terminal connected to the terminal may be selected.

また、配信トポロジ組替端末選択手段13は、2端末を選択する際に、一方は到達可否情報が到達可である利用者端末1を選択するものとしたが、双方を到達可である利用者端末1として選択しても、同様の効果を奏することができる。
また、配信トポロジ組替端末選択手段13は、2端末を選択する際に、上流と下流から1つずつ端末を選択するものとしたが、双方を下流から選択してもよいし、双方を上流から選択してもよい。
In addition, when the distribution topology reassignment terminal selection unit 13 selects two terminals, one of them selects the user terminal 1 whose reachability information is reachable, but the user who can reach both is selected. Even if the terminal 1 is selected, the same effect can be obtained.
The distribution topology reassignment terminal selection means 13 selects one terminal from the upstream and the downstream when selecting two terminals, but both may be selected from the downstream, or both may be upstream. You may choose from.

S コンテンツ配信システム
1,1G,1N,1R 利用者端末
1a 組替要求端末
1c 組替指示端末
1p 組替受付端末
2 端末管理サーバ
3 コンテンツ配信サーバ
4 インターネット
5 ポート開放可能NATルータ
6 ポート開放不可NATルータ
7 ローカルネットワーク
8 ローカルネットワーク
11 記憶手段
111 端末情報記憶部
112 トポロジ情報記憶部
12 接続相手選択手段
13 配信トポロジ組替端末選択手段
14 接続組替指示手段
141 組替指示メッセージ送信部
15 接続組替要求手段
151 組替指示メッセージ受信部
16 接続切替手段
17 接続制御手段
171 接続要求部
172 接続受付部
173 切断部
18 端末情報管理手段
181 端末情報生成部
182 端末情報送信部
183 端末情報受信部
19 通信環境情報取得手段
20 接続通信環境計測手段
201 到達可否判定部
202 帯域計測部
21 コンテンツデータ中継部
22 コンテンツバッファ
23 コンテンツ再生部
24 通信インタフェース
31 タイミング判定手段
311 受信終了検知部
312 設定時刻検知部
32 下流端末選定制御手段
321 伝送能力判別部
322 端末ID抽出部
323 端末IDソート部
324 端末ID取得制御部
325 到達可否判別部
33 上流端末選定制御手段
331 端末候補判別部
332 端末ID取得部
34 組替端末決定手段
341 到達可否判別部
342 ID設定部
L 端末情報リスト
S content distribution system 1,1G, 1N, 1R user terminal 1a reassignment request terminal 1c reassignment instruction terminal 1p recombination acceptance terminal 2 terminal management server 3 content distribution server 4 internet 5 port openable NAT router 6 port unopenable NAT Router 7 Local network 8 Local network 11 Storage unit 111 Terminal information storage unit 112 Topology information storage unit 12 Connection partner selection unit 13 Distribution topology reconfiguration terminal selection unit 14 Connection reconfiguration instruction unit 141 Reconfiguration instruction message transmission unit 15 Connection reconfiguration Requesting means 151 Reconfiguration instruction message receiving unit 16 Connection switching unit 17 Connection control unit 171 Connection requesting unit 172 Connection receiving unit 173 Disconnecting unit 18 Terminal information managing unit 181 Terminal information generating unit 182 Terminal information transmitting unit 183 Terminal information receiving unit 19 Communication environment information acquisition unit 20 Connection communication environment measurement unit 201 Reachability determination unit 202 Band measurement unit 21 Content data relay unit 22 Content buffer 23 Content playback unit 24 Communication interface 31 Timing determination unit 311 Reception end detection unit 312 Setting time detection unit 32 Downstream terminal selection control unit 321 Transmission capability determination unit 322 Terminal ID extraction unit 323 Terminal ID sort unit 324 Terminal ID acquisition control unit 325 Reachability determination unit 33 Upstream terminal selection control unit 331 Terminal candidate determination unit 332 Terminal ID acquisition unit 34 Reclassification Terminal determination means 341 Reachability determination unit 342 ID setting unit L Terminal information list

Claims (5)

コンテンツの配信元であるコンテンツ配信サーバを頂点として、前記コンテンツを視聴する利用者が用いる複数の利用者端末が階層的に接続した配信ツリーを構成して前記コンテンツを配信するコンテンツ配信システムにおいて、前記配信ツリー上における複数の利用者端末には、他の利用者端末からの接続要求を受け付けることができる利用者端末と、受け付けることができない利用者端末と、を含み、前記利用者端末の通信環境に応じて前記利用者端末間で、前記配信ツリー上における端末の接続の順番を示す配信トポロジを組み替える利用者端末であって、
前記配信ツリー上において自端末に接続している他の利用者端末から、接続要求を受け付けることが可能か否かを示す到達可否情報を含む通信環境を示す情報を取得する通信環境情報取得手段と、
前記配信トポロジを組み替える処理の対象として、自端末に接続している複数の他の利用者端末の中からいずれか2端末を選択し、選択された2端末のうち、一方を組替要求端末として決定し、かつ、他方を組替受付端末として決定する配信トポロジ組替端末選択手段と、
前記決定された組替要求端末に対して、自端末を介さずに、前記決定された組替受付端末への接続組替要求を実行するように指示する接続組替指示手段と、
前記組替要求端末に前記接続組替要求を実行するように指示する利用者端末である組替指示端末から、当該指示を受け付けて、当該組替指示端末の識別情報を含む組替要求メッセージを前記組替受付端末に通知することで接続組替を要求する接続組替要求手段と、
前記組替要求端末から、前記組替要求メッセージを受信し、当該組替要求端末との接続を確立すると共に、前記組替指示端末との接続を切断する接続切替手段と、を備え、
前記配信トポロジ組替端末選択手段は、前記2端末を選択する際に、
少なくとも1端末は前記到達可否情報が到達可である利用者端末を選択し、
記到達可否情報が到達可である利用者端末を前記組替受付端末に決定し、
前記組替受付端末を前記配信ツリー上で上流及び下流のうちのいずれか一方の側から選択し、前記組替要求端末を前記配信ツリー上で上流及び下流のうちの他方の側から選択することを特徴とする利用者端末。
The content delivery server is a content distribution source as the vertex, in the content distribution system in which a plurality of user terminals which users used to view the content to deliver the content to configure the distribution tree hierarchically connected, said The plurality of user terminals on the distribution tree include a user terminal that can accept a connection request from another user terminal and a user terminal that cannot accept the request, and the communication environment of the user terminal A user terminal that rearranges a distribution topology indicating a connection order of terminals on the distribution tree between the user terminals according to
Communication environment information acquisition means for acquiring information indicating a communication environment including reachability information indicating whether or not a connection request can be received from another user terminal connected to the terminal on the distribution tree; ,
As a target of the process of rearranging the distribution topology, any two terminals are selected from a plurality of other user terminals connected to the own terminal, and one of the selected two terminals is used as a reassignment request terminal. A distribution topology reconfiguration terminal selection means for determining and determining the other as a reconfiguration reception terminal;
A connection reassignment instruction means for instructing the determined recombination requesting terminal to execute a connection reassignment request to the determined reassignment receiving terminal without going through its own terminal;
From the reassignment instruction terminal, which is a user terminal that instructs the reassignment request terminal to execute the connection reassignment request, receives the instruction, and receives a reassignment request message including identification information of the reassignment instruction terminal. A connection reassignment request means for requesting a connection reassignment by notifying the reassignment reception terminal;
Receiving the reassignment request message from the reassignment request terminal, establishing a connection with the reassignment request terminal, and connection switching means for cutting off the connection with the reassignment instruction terminal,
The distribution topology recombination terminal selection means, when selecting the two terminals,
At least one terminal selects a user terminal whose reachability information is reachable,
To determine the user terminal before Symbol reaching propriety information is reaching Allowed to the reclassification reception terminal,
Selecting the reassignment receiving terminal from one of upstream and downstream on the distribution tree, and selecting the reassigning request terminal from the other of the upstream and downstream on the distribution tree; A user terminal characterized by
前記通信環境情報取得手段は、他の利用者端末から、通信環境を示す情報として、前記到達可否情報と当該端末の送信容量情報とを取得し、
前記配信トポロジ組替端末選択手段は、
前記2端末を選択する際に、
前記配信ツリー上において前記上流の位置にて自端末に接続するいずれか1つの利用者端末と、
前記配信ツリー上において前記下流の位置にて自端末に接続すると共に送信容量が最も大きい1つの利用者端末と、を選択し、
前記選択された2端末のいずれか一方の前記到達可否情報が到達可であることを特徴とする請求項に記載の利用者端末。
The communication environment information acquisition unit acquires the reachability information and the transmission capacity information of the terminal as information indicating a communication environment from another user terminal,
The distribution topology recombination terminal selection means includes:
When selecting the two terminals,
Any one user terminal connected to its own terminal at the upstream position on the distribution tree;
Select one user terminal having the largest transmission capacity while connecting to the terminal at the downstream position on the distribution tree,
The user terminal according to claim 1 , wherein the reachability information of any one of the two selected terminals is reachable.
前記配信トポロジ組替端末選択手段は、
前記配信トポロジを組み替える処理の対象である2端末を選択して前記組替受付端末および前記組替要求端末を決定する処理を、自端末が前記配信ツリーから離脱する際に開始することを特徴とする請求項1又は請求項に記載の利用者端末。
The distribution topology recombination terminal selection means includes:
The process of selecting two terminals that are the targets of the process of redistributing the distribution topology and determining the reassignment receiving terminal and the recombination requesting terminal is started when the own terminal leaves the distribution tree. The user terminal according to claim 1 or 2 .
前記配信トポロジ組替端末選択手段は、
前記配信トポロジを組み替える処理の対象である2端末を選択して前記組替受付端末および前記組替要求端末を決定する処理を、予め設定された任意のタイミングで開始することを特徴とする請求項1又は請求項に記載の利用者端末。
The distribution topology recombination terminal selection means includes:
The process of selecting two terminals that are targets of the process of rearranging the distribution topology and determining the rearrangement receiving terminal and the rearrangement requesting terminal is started at an arbitrary preset timing. The user terminal according to claim 1 or claim 2 .
コンテンツの配信元であるコンテンツ配信サーバを頂点として、前記コンテンツを視聴する利用者が用いる複数の利用者端末が階層的に接続した配信ツリーを構成して前記コンテンツを配信するコンテンツ配信システムにおいて、前記配信ツリー上における複数の利用者端末には、他の利用者端末からの接続要求を受け付けることができる利用者端末と、受け付けることができない利用者端末と、を含み、前記利用者端末の通信環境に応じて前記利用者端末間で、前記配信ツリー上における端末の接続の順番を示す配信トポロジを組み替えるために、前記利用者端末としてのコンピュータを、
前記配信ツリー上において自端末に接続している他の利用者端末から、接続要求を受け付けることが可能か否かを示す到達可否情報を含む通信環境を示す情報を取得する通信環境情報取得手段、
前記配信トポロジを組み替える処理の対象として、自端末に接続している複数の他の利用者端末の中からいずれか2端末を選択し、選択された2端末のうち、一方を組替要求端末として決定し、かつ、他方を組替受付端末として決定する配信トポロジ組替端末選択手段、
前記決定された組替要求端末に対して、自端末を介さずに、前記決定された組替受付端末への接続組替要求を実行するように指示する接続組替指示手段、
前記組替要求端末に前記接続組替要求を実行するように指示する利用者端末である組替指示端末から、当該指示を受け付けて、当該組替指示端末の識別情報を含む組替要求メッセージを前記組替受付端末に通知することで接続組替を要求する接続組替要求手段、
前記組替要求端末から、前記組替要求メッセージを受信し、当該組替要求端末との接続を確立すると共に、前記組替指示端末との接続を切断する接続切替手段として機能させるための配信トポロジ組替プログラムであって、
前記配信トポロジ組替端末選択手段は、前記2端末を選択する際に、
少なくとも1端末は前記到達可否情報が到達可である利用者端末を選択し、
記到達可否情報が到達可である利用者端末を前記組替受付端末に決定し、
前記組替受付端末を前記配信ツリー上で上流及び下流のうちのいずれか一方の側から選択し、前記組替要求端末を前記配信ツリー上で上流及び下流のうちの他方の側から選択することを特徴とする配信トポロジ組替プログラム。
The content delivery server is a content distribution source as the vertex, in the content distribution system in which a plurality of user terminals which users used to view the content to deliver the content to configure the distribution tree hierarchically connected, said The plurality of user terminals on the distribution tree include a user terminal that can accept a connection request from another user terminal and a user terminal that cannot accept the request, and the communication environment of the user terminal In order to rearrange the distribution topology indicating the connection order of the terminals on the distribution tree between the user terminals according to the computer, the computer as the user terminal,
A communication environment information acquisition means for acquiring information indicating a communication environment including reachability information indicating whether or not a connection request can be received from another user terminal connected to the terminal on the distribution tree;
As a target of the process of rearranging the distribution topology, any two terminals are selected from a plurality of other user terminals connected to the own terminal, and one of the selected two terminals is used as a reassignment request terminal. A distribution topology recombination terminal selection means for determining and determining the other as a reconfiguration accepting terminal;
A connection reassignment instruction means for instructing the determined recombination requesting terminal to execute a connection reassignment request to the determined reassignment receiving terminal without going through its own terminal;
From the reassignment instruction terminal, which is a user terminal that instructs the reassignment request terminal to execute the connection reassignment request, receives the instruction, and receives a reassignment request message including identification information of the reassignment instruction terminal. Connection reassignment request means for requesting connection reassignment by notifying the reassignment reception terminal,
A distribution topology for receiving the reassignment request message from the reassignment request terminal, establishing a connection with the reassignment request terminal, and functioning as a connection switching unit for disconnecting the connection with the reassignment instruction terminal A reclassification program,
The distribution topology recombination terminal selection means, when selecting the two terminals,
At least one terminal selects a user terminal whose reachability information is reachable,
To determine the user terminal before Symbol reaching propriety information is reaching Allowed to the reclassification reception terminal,
Selecting the reassignment receiving terminal from one of upstream and downstream on the distribution tree, and selecting the reassigning request terminal from the other of the upstream and downstream on the distribution tree; A distribution topology rearrangement program characterized by:
JP2011003328A 2011-01-11 2011-01-11 User terminal and distribution topology reassignment program Expired - Fee Related JP5616801B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011003328A JP5616801B2 (en) 2011-01-11 2011-01-11 User terminal and distribution topology reassignment program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011003328A JP5616801B2 (en) 2011-01-11 2011-01-11 User terminal and distribution topology reassignment program

Publications (2)

Publication Number Publication Date
JP2012147198A JP2012147198A (en) 2012-08-02
JP5616801B2 true JP5616801B2 (en) 2014-10-29

Family

ID=46790326

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011003328A Expired - Fee Related JP5616801B2 (en) 2011-01-11 2011-01-11 User terminal and distribution topology reassignment program

Country Status (1)

Country Link
JP (1) JP5616801B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5096293B2 (en) * 2008-11-05 2012-12-12 日本電信電話株式会社 Content distribution support system, method and program

Also Published As

Publication number Publication date
JP2012147198A (en) 2012-08-02

Similar Documents

Publication Publication Date Title
US20020143951A1 (en) Method and system for multicast to unicast bridging
CN100479415C (en) System for realizing data communication and its method
EP2061184B1 (en) Tree-type broadcast communication system, reconnection process method, communication node device, node process program, server device, and server process program
JP2008278337A (en) Information distribution system, terminal apparatus used in same system, program, and loop connection avoidance method
JP4692414B2 (en) Communication system, content data transmission availability determination method, node device, node processing program, etc.
US20080222277A1 (en) Method and Apparatus for Configuring and Managing a Robust Overlay Multicast Tree
CN104980355A (en) Source controllable multicast data transmission method and system thereof under SDN Environment
KR101517380B1 (en) Method and device for requesting multicasting, processing multicasting requests and assisting in the aforementioned process
CN106375222A (en) Multicast line switching method for annular networking and equipment
JP5616801B2 (en) User terminal and distribution topology reassignment program
JP2004153312A (en) Data distribution method, data distribution system, data receiver, data relaying apparatus, and program for the data receiver and data distribution
JP5522801B2 (en) Receiving terminal and control program thereof
JP4683223B2 (en) Advertising / search agent
CN106572050B (en) Capability negotiation method and device
JP3950915B2 (en) DATA DISTRIBUTION METHOD, DATA DISTRIBUTION SYSTEM, DATA RECEPTION DEVICE, DATA RELAY DEVICE, DATA RECEPTION DEVICE, AND DATA DISTRIBUTION PROGRAM
JP5588376B2 (en) TERMINAL DEVICE, TERMINAL DEVICE PROGRAM, AND CONTENT DISTRIBUTION SYSTEM
JP2005244880A (en) Device, system, and method for information transfer
JP2011023996A (en) Information communication system, node device, method of confirming node device, and program
JP6231896B2 (en) Content distribution system, P2P terminal, and connection switching method
JP6177957B1 (en) Multicast control server and multicast control system
JP5067259B2 (en) Tree-type broadcasting system, node connection method, node device, and node processing program
WO2010044161A1 (en) Data transfer device and data transfer method
JP2011229132A (en) Communication device and program
JP6155142B2 (en) Distribution support server
JP2012080168A (en) Information communication system, node device, information communication method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140819

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140912

R150 Certificate of patent or registration of utility model

Ref document number: 5616801

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees