JP6539218B2 - Data transfer system - Google Patents

Data transfer system Download PDF

Info

Publication number
JP6539218B2
JP6539218B2 JP2016016212A JP2016016212A JP6539218B2 JP 6539218 B2 JP6539218 B2 JP 6539218B2 JP 2016016212 A JP2016016212 A JP 2016016212A JP 2016016212 A JP2016016212 A JP 2016016212A JP 6539218 B2 JP6539218 B2 JP 6539218B2
Authority
JP
Japan
Prior art keywords
datagram
relay node
parity
content
transmission 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.)
Active
Application number
JP2016016212A
Other languages
Japanese (ja)
Other versions
JP2017135665A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016016212A priority Critical patent/JP6539218B2/en
Publication of JP2017135665A publication Critical patent/JP2017135665A/en
Application granted granted Critical
Publication of JP6539218B2 publication Critical patent/JP6539218B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、配信サーバから一つまたは複数の受信装置に映像等のストリームを配信するデータ転送システム、中継ノード装置及びデータ転送方法に関する。   The present invention relates to a data transfer system, a relay node apparatus, and a data transfer method for distributing a stream such as video from a distribution server to one or more receiving apparatuses.

最近、インターネットなどのIPネットワークを用いて、4K映像や8K映像などの大容量コンテンツを地球の裏側にリアルタイムに送ることが行われており、ワールドワイドな映像ストリーム配信が今後益々盛んになると考えられる。しかしながら、インターネットなどのIPネットワークでは、時たま発生する輻輳によりパケット損失が発生する。使用するネットワークの状況にも影響されるが、一般的に、コンテンツが大容量になるほど、また、長距離になるほど、パケット損失数は多くなる傾向がある。   Recently, large-capacity content such as 4K video and 8K video has been sent to the back of the earth in real time using an IP network such as the Internet, and it is considered that worldwide video stream distribution will become more popular in the future. . However, in IP networks such as the Internet, packet loss occurs due to occasional congestion. Although it is affected by the conditions of the network used, generally, the larger the content and the longer the distance, the more the number of packet losses tends to be.

このような状況に対して、従来から幾つかの方法が対応策として使われてきた。その一つとして、End−to−endのFEC(Forward Error Correction:前方誤り訂正)を用いた方法がある(非特許文献1参照)。しかし、この方法では事前に測定された最悪の損失率を想定する場合も多く、上述したように、送信されるコンテンツが大容量になるほど、また、長距離になるほど、パケット損失数は多くなる傾向があるため、FECのパリティビットを運ぶパケット(以下、パリティパケットと呼ぶ)が多くなり、ネットワーク内の不要な時間帯や場所にも大量のパリティパケットが流れることになる。これにより、ネットワークの利用効率が悪くなるだけでなく、大量のパリティパケットによって更なるパケット損失が引き起こされる場合も生じる。   Conventionally, several methods have been used as a countermeasure against such a situation. One of them is a method using End-to-end FEC (Forward Error Correction) (see Non-Patent Document 1). However, this method often assumes the worst loss rate measured in advance, and as described above, the larger the content to be transmitted and the longer the distance, the higher the number of packet losses tends to be. Therefore, the number of packets carrying parity bits of FEC (hereinafter referred to as parity packets) increases, and a large amount of parity packets also flow in unnecessary time zones and places in the network. This not only degrades the utilization efficiency of the network, but also causes additional packet loss caused by a large number of parity packets.

もう一つの方法として、従来から使われている、損失したパケットを送信サーバから受信装置間に再送する、End−to−endのTCP(Transmission Control Protocol)による再送がある。しかし、この方法では、再送要求が受信装置から送信サーバに届いてから損失パケットの再送が行われる。上述したように、ワールドワイドな映像ストリーム配信を行うと数万kmなどの長距離伝送になる。このため、伝搬遅延時間が大きくなり、また、再送が何度も行われる場合もあるため、リアルタイムのコンテンツ再生が難しくなる。   Another method is retransmission using End-to-end TCP (Transmission Control Protocol), which is conventionally used and which retransmits a lost packet from a sending server to a receiving device. However, in this method, the lost packet is retransmitted after the retransmission request reaches the transmission server from the receiving device. As described above, when world wide video stream distribution is performed, it becomes long distance transmission such as tens of thousands of kilometers. Therefore, the propagation delay time is increased, and retransmission may be performed many times, which makes real-time content reproduction difficult.

そこで、End−to−endのTCPプロトコルによる再送ではなく、ネットワーク内に一つまたは複数の中継ノードを設けて、送信サーバと中継ノード間、中継ノードと中継ノード間、中継ノードと受信装置間で、TCPプロトコルによる再送を行う方法が考えられる。   Therefore, instead of retransmission by the end-to-end TCP protocol, one or more relay nodes are provided in the network, and between the transmission server and the relay node, between the relay node and the relay node, and between the relay node and the receiver. There is a conceivable method of performing retransmission by the TCP protocol.

この方法は、一般に、中継ノード数が増えるほど、中継区間内での損失パケット数が少なくなる傾向があり、損失がなかった区間では再送が行われないため、再送による遅延時間を低減できるという利点もある。しかしながら、この方法は、TCPプロトコルによる再送を行うために、全ての中継ノード内に、一定時間大容量のコンテンツを保持しなければならない、という問題がある。即ち、中継ノード数が増えるほどコンテンツを保持するための総メモリ量が増えるという問題がある。   In this method, generally, as the number of relay nodes increases, the number of lost packets in the relay section tends to decrease, and retransmission is not performed in a section where there is no loss, so the delay time due to retransmission can be reduced. There is also. However, this method has a problem that a large amount of content must be held for a fixed time in all relay nodes in order to perform retransmission by the TCP protocol. That is, there is a problem that the total amount of memory for holding content increases as the number of relay nodes increases.

特開2011−199647号公報JP, 2011-199647, A

今井秀樹監修、エレクトロニクスエッセンシャルズシリーズ「誤り訂正符号化技術の要点」、日本工業技術センター、第3章 通信への応用、1.1 FECとARQ〜1.2 通信システムへの適用形態、pp.49−51(1986)Hideki Imai, Electronics Essentials Series "Points of error correction coding technology", Japan Industrial Technology Center, Chapter 3 Application to Communication, 1.1 FEC and ARQ ~ 1.2 Application to Communication System, pp. 49-51 (1986).

そこで、コンテンツをFECブロック単位に管理し、ストリーム転送し、各中継ノードは、事前に設定した損失までなら復元できるパリティパケット(パリティデータグラムGP)のみを必要な時間保持することが考えられる。この場合、損失パケットの再送に対応するパリティパケットの送信を要求する旨を送信側の中継ノードに送信する。受信側の中継ノードは、送信側の中継ノードから送られて来たパリティパケットを受信すると、該パリティパケットを用いて損失パケットを復元する。   Therefore, it is considered that content is managed in units of FEC blocks and stream transfer is performed, and each relay node holds only a parity packet (parity datagram GP) that can be restored up to a preset loss for a necessary time. In this case, the transmission side relay node is transmitted to request transmission of the parity packet corresponding to the retransmission of the lost packet. When the relay node on the receiving side receives the parity packet sent from the relay node on the transmitting side, it uses the parity packet to recover a lost packet.

以下、配信サーバから受信装置までの伝送路において、配信サーバと中継ノードの区間、中継ノードと中継ノードの区間、中継ノードと受信装置の区間を中継ノード区間と呼ぶ。また、以下でいうデータグラムとは、IPパケットを始めとする各種通信プロトコルのパケットやイーサネット(登録商標)フレーム、ATM(Asynchronous Transfer Mode)セルやX.25パケット等の何らかの情報を転送するための一塊のビット列を指している。   Hereinafter, in the transmission path from the distribution server to the receiving apparatus, a section between the distribution server and the relay node, a section between the relay node and the relay node, and a section between the relay node and the receiving apparatus will be referred to as a relay node section. Also, datagrams referred to below include packets of various communication protocols including IP packets, Ethernet (registered trademark) frames, ATM (Asynchronous Transfer Mode) cells, X.S. It refers to a group of bit strings for transferring some information such as 25 packets.

図2に、本発明に関連するデータ配信方法の概要を示す。本発明に関連するデータ配信方法では、伝送路上のある中継ノード区間でコンテンツデータグラムGCが損失すると、その中継ノード区間の受信側の中継ノードはその損失を検出し、送信側の中継ノードに「パリティデータグラム(GP)送信要求」のデータグラムを送信するが、受信側の中継ノード内に必要なパリティデータグラムGPを保持していない場合には、さらにその上流の中継ノードから必要なパリティデータグラムGPをできるだけ早く送ってもらう必要がある。以下においては、「パリティデータグラム送信要求」を「GP送信要求」と表記する。   FIG. 2 shows an outline of a data delivery method related to the present invention. In the data delivery method related to the present invention, when the content datagram GC is lost in a relay node section on the transmission path, the relay node on the reception side of the relay node section detects the loss and sends it to the relay node on the transmission side. If a "data datagram for parity datagram (GP) transmission request" is transmitted but the required parity datagram GP is not held in the receiving relay node, the necessary parity data from the relay node further upstream thereof It is necessary to have Grams GP sent as soon as possible. In the following, “parity datagram transmission request” is referred to as “GP transmission request”.

そこで、「GP送信要求」データグラムを上流の中継ノードに向けて次々と転送するようにすると、損失が発生したFECブロックのコンテンツデータグラムGCが通過した中継ノードから次々と上流に向けて「GP送信要求」データグラムが転送されることになる。そして、配信サーバ2は、「GP送信要求」を何度も受信することになる。即ち、たった一つの損失であっても多数の「GP送信要求」データグラムが上流に向けて転送されることになる。   Therefore, when "GP transmission request" datagrams are transferred toward the upstream relay node one after another, the content datagram GC of the FEC block in which the loss has occurred is transmitted upstream from the relay node through which the content datagram GC has passed. A Request to Send "datagram will be transferred. Then, the distribution server 2 receives the “GP transmission request” many times. That is, a large number of "GP transmission request" datagrams will be forwarded upstream even with a single loss.

本発明は、ネットワークに不要なパリティデータグラムや不要な「パリティデータグラム送信要求」を流すことなく、ストリーム配信することを目的とする。   An object of the present invention is to deliver a stream without flowing unnecessary parity datagrams and unnecessary "parity datagram transmission requests" into the network.

本発明では、パリティデータグラムの送信要求が上流側のノードに既に送信済みである旨の通知を下流側のノードに送信する。そして、当該通知を受信しなかった場合に、上流側のノードに「パリティデータグラム送信要求」を送信する。   In the present invention, the downstream node is notified that the transmission request for the parity datagram has already been sent to the upstream node. Then, when the notification is not received, the “parity datagram transmission request” is transmitted to the upstream node.

本発明に係るデータ転送システムは、
複数の中継ノードを用いてコンテンツデータグラムを転送するデータ転送システムであって、
コンテンツデータグラムの損失が発生した中継区間の受信側の中継ノードは、損失が発生したコンテンツデータグラムのFECブロックの識別番号を内包した「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する前に、前記「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する旨の「パリティデータグラム送信要求送信済」のデータグラムを直ちに下流の中継ノードに向けて送信し、
「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信した中継ノードは、該データグラムを下流の中継ノードに直ちに転送するとともに、上流の中継ノードに向け「パリティデータグラム送信要求」のデータグラムの送信を抑止する、
ことを特徴とする。
The data transfer system according to the present invention is
A data transfer system for transferring content datagrams using a plurality of relay nodes, comprising:
The relay node on the receiving side of the relay section in which the content datagram loss has occurred sends the datagram of “parity datagram transmission request” including the identification number of the FEC block of the content datagram having the loss to the upstream relay node Before transmitting toward the destination, the "parity datagram transmission request transmitted" datagram indicating that the "parity datagram transmission request" datagram is transmitted toward the upstream relay node is immediately directed to the downstream relay node. Send
Relay node receiving the datagram from an upstream relay node "parity datagram transmission request Sent", together with the immediately transfers the datagram to the downstream relay node, toward upstream of the relay node "parity datagram transmission Suppress the transmission of "request" datagrams,
It is characterized by

本発明に係るデータ転送システムでは、
前記受信側の中継ノードは、コンテンツデータグラムの損失を検出した場合、
直ちに、「パリティデータグラム送信要求送信済」のデータグラムを下流の中継ノードに向けて送信し、
損失が発生したコンテンツデータグラムのFECブロックの先頭のデータグラムを受信してから事前に設定される第1の待ち時間以内に「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信しない場合には、前記第1の待ち時間をTとし、コンテンツデータグラムの到着時間の揺らぎに対する所定の第2の待ち時間をαとして、待ち時間(T+α)の経過後に「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信してもよい。
In the data transfer system according to the present invention,
If the receiving relay node detects a loss of content datagrams:
Immediately transmit a “parity datagram transmission request transmitted” datagram to the downstream relay node,
The "parity datagram transmission request has been sent" datagram from the upstream relay node within the first waiting time set in advance after receiving the first datagram in the FEC block of the content datagram in which the loss occurred If not received, the first waiting time is T, and a predetermined second waiting time for fluctuations in the arrival time of the content datagram alpha, "parity datagram after the elapse of the waiting time (T + alpha) The "request for transmission" datagram may be transmitted toward the upstream relay node.

本発明に係るデータ転送方法は、
複数の中継ノードがコンテンツデータグラムを転送するデータ転送方法であって、
コンテンツデータグラムの損失が発生した中継区間の受信側の中継ノードは、損失が発生したコンテンツデータグラムのFECブロックの識別番号を内包した「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する前に、前記「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する旨の「パリティデータグラム送信要求送信済」のデータグラムを直ちに下流の中継ノードに向けて送信し、
「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信した中継ノードは、該データグラムを下流の中継ノードに直ちに転送するとともに、上流の中継ノードに向け「パリティデータグラム送信要求」のデータグラムの送信を抑止する、
ことを特徴とする。
The data transfer method according to the present invention is
A data transfer method in which a plurality of relay nodes transfer content datagrams, wherein
The relay node on the receiving side of the relay section in which the content datagram loss has occurred sends the datagram of “parity datagram transmission request” including the identification number of the FEC block of the content datagram having the loss to the upstream relay node Before transmitting toward the destination, the "parity datagram transmission request transmitted" datagram indicating that the "parity datagram transmission request" datagram is transmitted toward the upstream relay node is immediately directed to the downstream relay node. Send
Relay node receiving the datagram from an upstream relay node "parity datagram transmission request Sent", together with the immediately transfers the datagram to the downstream relay node, toward upstream of the relay node "parity datagram transmission Suppress the transmission of "request" datagrams,
It is characterized by

本発明に係るデータ転送方法では、
前記受信側の中継ノードは、コンテンツデータグラムの損失を検出した場合、
直ちに、「パリティデータグラム送信要求送信済」のデータグラムを下流の中継ノードに向けて送信し、
損失が発生したコンテンツデータグラムのFECブロックの先頭のデータグラムを受信してから事前に設定される第1の待ち時間以内に「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信しない場合には、前記第1の待ち時間をTとし、コンテンツデータグラムの到着時間の揺らぎに対する所定の第2の待ち時間をαとして、待ち時間(T+α)の経過後に「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信してもよい。
In the data transfer method according to the present invention,
If the receiving relay node detects a loss of content datagrams:
Immediately transmit a “parity datagram transmission request transmitted” datagram to the downstream relay node,
The "parity datagram transmission request has been sent" datagram from the upstream relay node within the first waiting time set in advance after receiving the first datagram in the FEC block of the content datagram in which the loss occurred If not received, the first waiting time is T, and a predetermined second waiting time for fluctuations in the arrival time of the content datagram alpha, "parity datagram after the elapse of the waiting time (T + alpha) The "request for transmission" datagram may be transmitted toward the upstream relay node.

本発明に係る中継ノードは
複数の中継ノードを用いてコンテンツデータグラムを転送するデータ転送システムに備わる前記中継ノードであって、
コンテンツデータグラムの損失を検出する第1の機能と、
損失が発生したコンテンツデータグラムのFECブロックの識別番号を内包した「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する前に、前記「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する旨の「パリティデータグラム送信要求送信済」のデータグラムを直ちに下流の中継ノードに向けて送信する第2の機能と、
「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信すると、該データグラムを下流の中継ノードに直ちに転送するとともに、上流の中継ノードに向け「パリティデータグラム送信要求」のデータグラム送信を抑止する第3の機能と、
を備えることを特徴とする。
Relay nodes according to the present invention,
A the relay nodes included in the data transfer system for transferring content datagrams using a plurality of relay nodes,
A first function of detecting loss of content datagrams;
The datagram of the “parity datagram transmission request” is sent before the “parity datagram transmission request” datagram including the identification number of the FEC block of the content datagram in which the loss occurred is transmitted to the upstream relay node. A second function of immediately transmitting to the downstream relay node a “parity datagram transmission request transmitted” datagram of transmitting to the upstream relay node;
When a “parity datagram transmission request transmitted” datagram is received from the upstream relay node , the datagram is immediately transferred to the downstream relay node and the “parity datagram transmission request” directed to the upstream relay node A third function to suppress the transmission of datagrams;
And the like.

本発明に係る中継ノードでは、
前記第1の機能がコンテンツデータグラムの損失を検出した場合、
前記第2の機能は、直ちに、「パリティデータグラム送信要求送信済」のデータグラムを下流の中継ノードに向けて送信
前記第3の機能は、損失が発生したコンテンツデータグラムのFECブロックの先頭のデータグラムを受信してから事前に設定される第1の待ち時間以内に「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信しない場合には、前記第1の待ち時間をTとし、コンテンツデータグラムの到着時間の揺らぎに対する所定の第2の待ち時間をαとして、待ち時間(T+α)の経過後に「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信てもよい。
The relay node according to the present invention,
If the first feature detects a loss of content datagrams:
The second function is immediately transmitted toward datagrams "parity datagram transmission request Sent" downstream relay node,
The third function is data of “parity datagram transmission request transmitted” within a first waiting time set in advance after reception of the leading datagram of the FEC block of the content datagram in which the loss has occurred. If not receiving the grams upstream relay node, wherein the first waiting time is T, the predetermined second waiting time for fluctuations in the arrival time of the content datagrams with alpha, waiting time (T + alpha) The “parity datagram transmission request” datagram may be transmitted to the upstream relay node after the elapse of.

本発明の装置はコンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。本発明に係るプログラムは、本発明に係る中継ノードが備える各機能をコンピュータに実現させるためのプログラムである。 The apparatus of the present invention can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided through a network. Program according to the present invention is a program for realizing the functions relay node according to the present invention is provided to the computer.

本発明によれば、ネットワークに不要なパリティデータグラムや不要な「パリティデータグラム送信要求」を流すことなく、ストリーム配信することができる。このため、本発明に関連するデータ配信方法では下流の中継ノードから上流の中継ノードに向けて多数の「GP送信要求」のデータグラムが送信されるが、本発明によりそれらを抑止することができる。   According to the present invention, stream distribution can be performed without flowing unnecessary parity datagrams and unnecessary "parity datagram transmission requests" into the network. Therefore, in the data delivery method related to the present invention, although a large number of “GP transmission request” datagrams are transmitted from the downstream relay node toward the upstream relay node, they can be suppressed by the present invention .

本発明を実施するネットワークの概要説明図である。FIG. 1 is a schematic explanatory view of a network implementing the present invention. 本発明に関連するデータ配信方法の概要説明図である。It is a schematic explanatory drawing of the data delivery method relevant to this invention. 本発明の実施形態に係るコンテンツデータの一例である。5 is an example of content data according to an embodiment of the present invention. 本発明の実施形態に係るコンテンツデータグラムの一例である。It is an example of the content datagram which concerns on embodiment of this invention. 本発明の実施形態に係るパリティデータグラムの一例である。It is an example of the parity datagram which concerns on embodiment of this invention. 本発明の実施形態に係るデータ配信方法の概要説明図である。It is an outline explanatory view of the data distribution method concerning the embodiment of the present invention. 本発明の実施形態に係る中継ノードの機能ブロック構成の一例である。It is an example of a functional block configuration of a relay node according to an embodiment of the present invention. 本発明の実施形態に係る中継ノードの動作の一例である。It is an example of operation | movement of the relay node which concerns on embodiment of this invention. 本発明の実施形態に係る受信装置の動作の一例である。It is an example of operation | movement of the receiver which concerns on embodiment of this invention.

以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、本発明は、以下に示す実施形態に限定されるものではない。これらの実施の例は例示に過ぎず、本発明は当業者の知識に基づいて種々の変更、改良を施した形態で実施することができる。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The present invention is not limited to the embodiments described below. These implementation examples are merely illustrative, and the present invention can be implemented in various modifications and improvements based on the knowledge of those skilled in the art. In the present specification and drawings, components having the same reference numerals denote the same components.

[第1の実施の形態]
図1は、本発明の機能が内蔵された中継ノード1が使用されるネットワーク0の一例である。配信サーバ2、受信装置3、オペレーション装置4がネットワーク0に繋がっている。ネットワーク0には、データグラムの転送機能を持つ装置として、中継ノード1が、1台または複数台配置される。以下、図1の配信サーバ2、中継ノード1及び受信装置3間で行われる各種データグラムのやり取りについて説明する。
First Embodiment
FIG. 1 is an example of a network 0 in which a relay node 1 incorporating the functions of the present invention is used. The distribution server 2, the receiving device 3, and the operation device 4 are connected to the network 0. In the network 0, one or more relay nodes 1 are disposed as devices having a datagram transfer function. Hereinafter, exchange of various datagrams performed between the distribution server 2, the relay node 1 and the receiving device 3 in FIG. 1 will be described.

図2は、本実施形態に関連するデータ配信方法の概要説明図である。まず、配信サーバ2は、ペイロード部分を構成し、宛先等のヘッダを付加してデータグラムを作成する。そのために、配信サーバ2は、ペイロード部分を構成する際に、図3に示すように、配信するコンテンツデータCDを、FECのパリティビット計算に適合するあるビット量毎に区切ってコンテンツビット列CFを作成する。もし、最後に不足する場合はパディング等を行う。配信サーバ2は、さらに、コンテンツビット列CFをデータグラムのペイロード内のビット長に合わせてさらに分割して分割ビット列CBを作成する。   FIG. 2 is a schematic explanatory view of a data delivery method related to the present embodiment. First, the distribution server 2 constructs a payload portion and adds a header such as a destination to create a datagram. To that end, the distribution server 2 divides the content data CD to be distributed, as shown in FIG. Do. If it is insufficient at the end, perform padding etc. The distribution server 2 further divides the content bit string CF according to the bit length in the payload of the datagram to create a divided bit string CB.

そして、配信サーバ2は、図4に示すように、各分割ビット列CBに、少なくとも、どのFECブロックに属しているかを表す「FECブロック番号」と、FECブロック内のどの位置にあるかを表す「FECブロック内番号」を付与する。該データグラムの宛先は、ユニキャスト配信、即ち、配信サーバ2から1台の受信装置3に1対1の配信を行う場合には受信装置3のアドレスになり、マルチキャスト配信、即ち、配信サーバ2から複数の受信装置3に1対多の配信を行う場合にはマルチキャストアドレスなどになる。以下、該データグラムを「コンテンツデータグラムGC」と呼ぶことにする。   Then, as shown in FIG. 4, the distribution server 2 indicates, in each divided bit string CB, at least “FEC block number” indicating which FEC block belongs to, and which position within the FEC block “ The FEC block internal number is assigned. The destination of the datagram is the unicast distribution, that is, the address of the receiving apparatus 3 when the distribution server 2 performs one-to-one distribution to one receiving apparatus 3, and the multicast distribution, ie, the distribution server 2 In the case where one-to-many distribution is performed to a plurality of receiving apparatuses 3, the multicast address or the like is used. Hereinafter, the datagram will be referred to as "content datagram GC".

配信サーバ2は、さらに、上流ノード機能として、FECブロックごとのコンテンツビット列CFに対して、予め設定された数のFEC用パリティビット列PBを作成する。そして、図5に示すように、同様にデータグラムを作成する。すなわち、各パリティビット列PBに、少なくとも、どのFECブロックのパリティビット列かを表す「FECブロック番号」と、何番目に作られたパリティビット列かを表す「パリティビット列番号」を付与する。該データグラムの宛先は、ユニキャスト配信、即ち、配信サーバ2から1台の受信装置3に1対1の配信を行う場合には受信装置3のアドレスになり、マルチキャスト配信、即ち、配信サーバ2から複数の受信装置3に1対多の配信を行う場合にはマルチキャストアドレスなどになる。以下、該データグラムを「パリティデータグラムGP」と呼ぶことにする。ここまでは、従来のFEC方式の配信サーバの動作と同様である。   The distribution server 2 further creates, as an upstream node function, a preset number of FEC parity bit strings PB for the content bit strings CF for each FEC block. Then, as shown in FIG. 5, a datagram is similarly created. That is, each parity bit string PB is assigned at least an "FEC block number" indicating which FEC block is the parity bit string, and a "parity bit string number" indicating which parity bit string is generated. The destination of the datagram is the unicast distribution, that is, the address of the receiving apparatus 3 when the distribution server 2 performs one-to-one distribution to one receiving apparatus 3, and the multicast distribution, ie, the distribution server 2 In the case where one-to-many distribution is performed to a plurality of receiving apparatuses 3, the multicast address or the like is used. Hereinafter, the datagram will be referred to as "parity datagram GP". Up to this point is the same as the operation of the conventional FEC type distribution server.

図2において、配信サーバ2と中継ノード1aの区間でデータグラムの損失が発生し、中継ノード1aにおいて受信できなかったコンテンツデータグラムがあると、各中継ノード1は、FECブロックの先頭のコンテンツデータグラムGCを受信してからの待ち時間(T+α)を経過後、そのFECブロックのコンテンツデータグラムGCの損失として検出する。αは、伝送路上のルータやL3スイッチなどでの順序逆転などの到着時間の揺らぎを考慮して事前に設定された時間である。尚、Tについては後述する。   In FIG. 2, when a loss of a datagram occurs in the section between the distribution server 2 and the relay node 1a and there is a content datagram that can not be received by the relay node 1a, each relay node 1 determines that the content data at the head of the FEC block After the waiting time (T + α) from the reception of the gram GC, it is detected as the loss of the content datagram GC of the FEC block. α is a time set in advance in consideration of fluctuation of arrival time such as order inversion in a router on the transmission path or L3 switch. Incidentally, T will be described later.

受信できなかったコンテンツデータグラムがある場合には、中継ノード1は、直ちに、少なくともFECブロックの識別番号を内包した「GP送信要求」のデータグラムを、もし上流の中継ノード1があれば上流の中継ノード1に向けて、もし上流の中継ノード1がなければ上流の配信サーバ2に向けて送信する。図2では、中継ノード1aの上流に中継ノード1がないため、中継ノード1aは配信サーバ2に向けて「GP送信要求」のデータグラムを送信する。   If there is a content datagram that can not be received, the relay node 1 immediately transmits the “GP transmission request” datagram including at least the identification number of the FEC block, and if there is an upstream relay node 1, the relay node 1 is upstream. Toward the relay node 1, if there is no upstream relay node 1, it transmits toward the upstream distribution server 2. In FIG. 2, since there is no relay node 1 upstream of the relay node 1a, the relay node 1a transmits a “GP transmission request” datagram to the distribution server 2.

「GP送信要求」のデータグラムを受信した上流の中継ノード1は、損失したコンテンツデータグラムGCに対応するパリティデータグラムGPを保持していない場合には、受信装置3でのコンテンツの復元をできるだけ早く行えるようにするために、さらに上流の中継ノード1または配信サーバ2に向けて「GP送信要求」を直ちに転送する。   The upstream relay node 1 that has received the “GP transmission request” datagram can restore the content at the receiving device 3 as much as possible if it does not hold the parity datagram GP corresponding to the lost content datagram GC. In order to be able to do it quickly, "GP transmission request" is immediately transferred to the relay node 1 or distribution server 2 further upstream.

また、前記中継ノード1aに受信されたコンテンツデータグラムGCは、受信装置3でのコンテンツの復元をできるだけ早く行えるようにするために、直ちに、下流の中継ノード1または受信装置3に向けて転送される。   Also, the content datagram GC received by the relay node 1a is immediately transferred to the downstream relay node 1 or the receiving device 3 in order to enable the content restoration in the receiving device 3 to be performed as soon as possible. Ru.

以上のように動作するため、データグラムの損失が発生した中継ノード区間の受信側中継ノード1とそれ以降の中継ノード1と受信装置3から、「GP送信要求」が上流に向けて出力され、たとえたった一つのデータグラムの損失であっても、多数の「GP送信要求」がネットワーク内を流れることになる。   Since it operates as described above, “GP transmission request” is output upstream from the reception side relay node 1 of the relay node section where the loss of datagram has occurred and the subsequent relay nodes 1 and receivers 3, Even with the loss of only one datagram, many "GP transmission requests" will flow through the network.

尚、もし、上流の中継ノード1または配信サーバ2が損失したコンテンツデータグラムGCに対応するパリティデータグラムGPを保持している場合には、直ちに下流の中継ノード1に向けて出力する。これを受信した中継ノード1は、さらに下流の中継ノード1に向けて転送する。   If the upstream relay node 1 or the distribution server 2 holds the parity datagram GP corresponding to the lost content datagram GC, it immediately outputs it to the downstream relay node 1. The relay node 1 receiving this transfers it further downstream to the relay node 1.

図6は、本発明の実施形態に係る配信方法の概要説明図である。図6において、配信サーバ2と中継ノード1aの区間でデータグラムの損失が発生した場合、各中継ノード1は、FECブロックの先頭のコンテンツデータグラムGCを受信してから待ち時間T経過後、そのFECブロックのコンテンツデータグラムGCの損失として検出する。この待ち時間Tは、その伝送路上で、FECブロックの先頭のコンテンツデータグラムGCを受信してから最後のコンテンツデータグラムGCを受信するまでの想定される時間であり、事前に設定される。   FIG. 6 is a schematic explanatory view of the delivery method according to the embodiment of the present invention. In FIG. 6, when a loss of a datagram occurs in the section between the delivery server 2 and the relay node 1a, each relay node 1 receives a content datagram GC at the head of the FEC block after the waiting time T has elapsed. Detect as a loss of content datagram GC of FEC block. This waiting time T is an assumed time from the reception of the content datagram GC at the head of the FEC block to the reception of the last content datagram GC on the transmission path, and is set in advance.

コンテンツデータグラムGCの損失を検出した中継ノード1は、直ちに、「GP送信要求送信済」のデータグラムを下流の中継ノードに向けて送信する。「GP送信要求」のデータグラムの後に送信するような名称であるが、分かり易さの点から、ここではこのような名称とする。   The relay node 1 that has detected the loss of the content datagram GC immediately transmits the “GP transmission request transmitted” datagram toward the downstream relay node. The name is such that it is transmitted after the “GP transmission request” datagram, but in the interest of clarity, such a name is used here.

さらに、中継ノード1は、FECブロックの先頭のコンテンツデータグラムGCを受信してから待ち時間(T+α)秒後に「GP送信要求」のデータグラムを上流の中継ノードまたは配信サーバに向けて送信する。尚、αは、予め定められた所定時間であり、伝送路上のルータやL3スイッチなどでの順序逆転などの到着時間の揺らぎに対するマージンである。尚、図6では、中継ノード1aの上流に中継ノードがないため、配信サーバ2に向けて送信する。   Furthermore, the relay node 1 transmits a “GP transmission request” datagram to the upstream relay node or distribution server after waiting time (T + α) seconds after receiving the content datagram GC at the head of the FEC block. Here, α is a predetermined time which is a predetermined time, and is a margin for fluctuation of arrival time such as order inversion in a router or L3 switch on the transmission path. In FIG. 6, since there is no relay node upstream of the relay node 1a, transmission is performed toward the distribution server 2.

但し、中継ノード1は、FECブロックの先頭のコンテンツデータグラムGCを受信してから待ち時間(T+α)秒以前に「GP送信要求送信済」のデータグラムを受信すると、「GP送信要求」のデータグラムを上流に向けて送信しない。   However, when the relay node 1 receives the “GP transmission request transmitted” datagram before waiting time (T + α) seconds after receiving the content datagram GC at the head of the FEC block, the data of “GP transmission request” Do not send the gram upstream.

以上のように動作するため、データグラムの損失が発生した中継ノード区間の受信側中継ノード1とそれ以降の中継ノード1と受信装置3がデータグラムの損失を検出しても、それらの中継ノード1から「GP送信要求」が上流に向けて出力されることはなくなり、多数の「GP送信要求」がネットワーク内を流れることを抑止できる。   Since it operates as described above, even if the receiving side relay node 1 of the relay node section where the loss of datagram has occurred and the relay node 1 and the receiver 3 after that detect the loss of datagram, those relay nodes The 'GP transmission request' is no longer output upstream from 1 and it is possible to prevent many 'GP transmission requests' from flowing in the network.

尚、もし、上流の中継ノード1または配信サーバ2が損失したコンテンツデータグラムGCに対応するパリティデータグラムGPを保持している場合には、直ちに下流の中継ノード1に向けて出力する。これを受信した中継ノード1は、さらに下流の中継ノード1に向けて転送する。   If the upstream relay node 1 or the distribution server 2 holds the parity datagram GP corresponding to the lost content datagram GC, it immediately outputs it to the downstream relay node 1. The relay node 1 receiving this transfers it further downstream to the relay node 1.

上記方法は、コンピュータ上にソフトウェアで実現することができる。
また、上述の動作を行う電子回路をハードウェア上に実装することができる。ハードウェアとしては、論理素子を結合させた電子回路であり、ロジックIC等を基板上に実装して実現してもよいし、FPGAやPAL等で実現してもよいし、カスタムLSI中に実現してもよい。
The above method can be implemented in software on a computer.
In addition, an electronic circuit that performs the above-described operation can be mounted on hardware. The hardware is an electronic circuit in which logic elements are combined, and may be realized by mounting a logic IC or the like on a substrate, or may be realized by FPGA, PAL, etc. or realized in a custom LSI You may

[第2の実施の形態]
本実施形態では、中継ノードの機能ブロック構成及び動作について説明する。
図7は、本実施形態に係る中継ノードの機能ブロック構成の一例である。中継ノード1は、入力インターフェイス部10a〜10n、処理部30、制御部40、スイッチ部20、出力インターフェイス部11a〜11n及び制御部入出力インターフェイス部50を備える。処理部30は、例えば、CPU(Central Processing Unit)またはFPGA(Field Programmable Gate Array)またはPLD(Programmable Logic Device)などのプログラマブル処理回路とメモリで構成される。制御部40は、例えば、CPU(Central Processing Unit)などとメモリで構成される。
Second Embodiment
In this embodiment, the functional block configuration and operation of the relay node will be described.
FIG. 7 is an example of a functional block configuration of the relay node according to the present embodiment. The relay node 1 includes input interface units 10a to 10n, a processing unit 30, a control unit 40, a switch unit 20, output interface units 11a to 11n, and a control unit input / output interface unit 50. The processing unit 30 includes, for example, a programmable processing circuit such as a central processing unit (CPU) or a field programmable gate array (FPGA) or a programmable logic device (PLD) and a memory. The control unit 40 is configured of, for example, a CPU (Central Processing Unit) and the like and a memory.

図7において、中継ノード1Aと中継ノード1Bの間では、中継ノード1Aは上流ノードとして機能し、中継ノード1Bは下流ノードとして機能するが、中継ノード1は下流ノードとしても上流ノードとしても機能しなければならないため上流ノード機能と下流ノード機能の両方を備える。また、処理部30も上流ノード機能の一部と下流ノード機能の一部を備える。   In FIG. 7, between the relay node 1A and the relay node 1B, the relay node 1A functions as an upstream node and the relay node 1B functions as a downstream node, but the relay node 1 functions as both a downstream node and an upstream node. Since both the upstream node function and the downstream node function are provided. The processing unit 30 also includes a part of the upstream node function and a part of the downstream node function.

図8に、中継ノード1の動作のフローチャートを示す。以下、図6に沿って、中継ノード1の動作の一例を示す。中継ノード1は、上流ノード機能として、さらに上流の中継ノード1または配信サーバ2から送られてきたコンテンツデータグラムGCを受信すると、該コンテンツデータグラムGCをコピーして保持するとともに、配信遅延時間をできるだけ小さくするために、直ちにコンテンツデータグラムGCのヘッダ内の宛先を読み取り、直ちに一つまたは複数の宛先に向けて転送する(S101)。   FIG. 8 shows a flowchart of the operation of the relay node 1. Hereinafter, along with FIG. 6, an example of the operation of the relay node 1 will be shown. When the relay node 1 receives the content datagram GC sent from the relay node 1 or the distribution server 2 further upstream as the upstream node function, the relay node 1 copies and holds the content datagram GC, and also the distribution delay time. In order to make it as small as possible, the destination in the header of the content datagram GC is immediately read, and it is immediately forwarded to one or more destinations (S101).

図6において、配信サーバ2に直近の中継ノード1aは、配信サーバ2から送信されたコンテンツデータグラムGCを受信すると、コンテンツデータグラムGCをコピーして保持するとともに、配信遅延時間をできるだけ小さくするために、直ちにコンテンツデータグラムGCのヘッダ内の宛先を読み取り、直ちにさらに下流の中継ノード1bに転送する(S101)。このとき、コピーされたコンテンツデータグラムGCは事前に設定された時間保持される。   In FIG. 6, when the relay node 1a closest to the distribution server 2 receives the content datagram GC transmitted from the distribution server 2, the relay node 1a copies and holds the content datagram GC, and makes the distribution delay time as short as possible. Then, the destination in the header of the content datagram GC is immediately read, and it is immediately transferred to the relay node 1b further downstream (S101). At this time, the copied content datagram GC is held for a preset time.

中継ノード1aは、さらに、下流ノード機能として、コンテンツデータグラムGC内に書かれているFECブロック番号とFECブロック内番号から、各FECブロックにおいて、配信サーバ2と本中継ノード1aの間のネットワーク経路上での損失等によって受信できなかったコンテンツデータグラムGCがあるかどうかチェックする(S102)。   The relay node 1a further determines, as the downstream node function, the network path between the distribution server 2 and the relay node 1a in each FEC block from the FEC block number written in the content datagram GC and the in-FEC block number. It is checked whether there is a content datagram GC that could not be received due to a loss or the like (S102).

図6において、事前に設定された時間までに該当するFECブロックのコンテンツデータグラムGCを全て受信できた中継ノード1aは、それぞれのコンテンツデータグラムGCから分割ビット列CBを取り出して(S103)元のFECブロックのコンテンツビット列CFを再構成し(S104)、該コンテンツビット列CFから予め設定された数のパリティビット列PBを作成してそれらからパリティデータグラムGPを作成し(S105)、該パリティビット列PBと該コンテンツビット列CFと該コンテンツデータグラムGCを直ちに消去する(S106)。また、パリティデータグラムGPは予め決められた時間保持され、保持する時間を経過したとき(S109においてYes)、該当するパリティデータグラムGPは消去される(S110)。尚、事前に設定された時間までに該当するFECブロックのコンテンツデータグラムGCを全て受信できなかった場合の中継ノード1の動作については、以下の中継ノード1bのところで説明する。   In FIG. 6, the relay node 1a which has received all the content datagrams GC of the corresponding FEC block by the time set in advance extracts the divided bit string CB from the respective content datagrams GC (S103) and uses the original FEC The content bit string CF of the block is reconstructed (S104), and a predetermined number of parity bit strings PB are created from the content bit strings CF, and a parity datagram GP is created from them (S105). The content bit string CF and the content datagram GC are immediately erased (S106). Also, the parity datagram GP is held for a predetermined time, and when the holding time has elapsed (Yes in S109), the corresponding parity datagram GP is erased (S110). The operation of the relay node 1 in the case where all content datagrams GC of the corresponding FEC block can not be received by the time set in advance will be described in the following description of the relay node 1b.

中継ノード1aに直近の中継ノード1bは、中継ノード1aから送信されたコンテンツデータグラムGCを受信すると、受信したコンテンツデータグラムGCをコピーして保持するとともに、配信遅延時間をできるだけ小さくするために、直ちに前記コンテンツデータグラムGCのヘッダ内の宛先を読み取り、図6において次の転送先である受信装置3に直ちに転送する(S101)。   When the relay node 1b closest to the relay node 1a receives the content datagram GC transmitted from the relay node 1a, the relay node 1b copies and holds the received content datagram GC, and makes the delivery delay time as short as possible. The destination in the header of the content datagram GC is immediately read, and it is immediately transferred to the next transfer destination receiver 3 in FIG. 6 (S101).

中継ノード1bは、さらに、下流ノード機能として、以下の動作を行う。即ち、データグラム内に書かれているFECブロック番号とFECブロック内番号から、各FECブロックにおいて、中継ノード1aと中継ノード1bの間のネットワーク経路上での損失等によって受信できなかったコンテンツデータグラムGCがあるかどうかチェックする(S102)。   The relay node 1b further performs the following operation as a downstream node function. That is, content datagrams that could not be received due to a loss or the like on the network path between the relay node 1a and the relay node 1b in each FEC block from the FEC block number and the in-FEC block number written in the datagram It is checked whether there is a GC (S102).

図6において、事前に設定された時間までに該当するFECブロックのコンテンツデータグラムGCの一部または全てを受信できなかった(S102においてYes)中継ノード1bは、パリティデータグラムを受信する手順を実行する。すなわち、中継ノード1bは、「GP送信要求送信済」のデータグラムを直ちに下流の中継ノードに向けて送信し(S211)、待ち時間の経過を待ち(S212)、待ち時間の間に「GP送信要求送信済」のデータグラムを受信していない場合(S213)、中継ノード1aに向けて「パリティデータグラム送信要求」のデータグラムを送信する(S201)。このデータグラム中には、少なくとも、該FECブロック番号と受信できなかったデータグラムの数が記入されている。   In FIG. 6, the relay node 1b which can not receive part or all of the content datagram GC of the corresponding FEC block by the time set in advance (Yes in S102) executes the procedure of receiving the parity datagram. Do. That is, the relay node 1b immediately transmits the "GP transmission request transmitted" datagram to the downstream relay node (S211), waits for the elapse of the waiting time (S212), and transmits the "GP transmission during the waiting time" If the datagram of "request transmitted" is not received (S213), the datagram of "parity datagram transmission request" is transmitted to the relay node 1a (S201). In this datagram, at least the FEC block number and the number of datagrams that could not be received are entered.

例えば、中継ノード1bの受信したコンテンツデータグラムGC#2に損失があった場合(S102においてYes)、中継ノード1bは、コンテンツデータグラムGC#2を復元するためのパリティデータグラムGPの送信を要求する旨の「パリティデータグラム送信要求」を、中継ノード1aへ送信する(S201)。   For example, when there is a loss in the content datagram GC # 2 received by the relay node 1b (Yes in S102), the relay node 1b requests transmission of a parity datagram GP for restoring the content datagram GC # 2. It sends a "parity datagram transmission request" to the effect to the relay node 1a (S201).

「パリティデータグラム送信要求」のデータグラムを受信した中継ノード1aは(S107)、上流ノード機能として、該当するFECブロックの必要な数のパリティデータグラムGPを直ちに送信する(S108)。   The relay node 1a that has received the datagram of "parity datagram transmission request" (S107) immediately transmits the required number of parity datagrams GP of the corresponding FEC block as an upstream node function (S108).

ここで言う「必要な数」とは、次のものである。FECを用いた方法では、一つのFECブロックで、損失したコンテンツデータグラム数に対応する数のパリティデータグラムGPがあれば、それらを用いて該FECブロック内の損失したコンテンツビット列CFを復元し、FECブロックのコンテンツビット列CFを構成できる。損失したコンテンツデータグラムGCの数に対応するパリティデータグラムGPの数は、例えば、リードソロモン符号の場合には損失したコンテンツデータグラムGCの数と同じであり、また、LDGM(Low Density Generator Matrix)符号の場合には、例えば、7%のコンテンツデータグラムGCの損失に対しておよそ10%であり、FECに使用する符号に応じた数を予め配信サーバ2および各中継ノード1に設定しておく。   The "required number" said here is the following. In the method using FEC, if there is a number of parity datagrams GP corresponding to the number of content datagrams lost in one FEC block, they are used to restore the lost content bit string CF in the FEC block, The content bit string CF of the FEC block can be configured. The number of parity datagrams GP corresponding to the number of lost content datagrams GC is, for example, the same as the number of lost content datagrams GC in the case of a Reed-Solomon code, and the low density generator matrix (LDGM). In the case of codes, for example, it is approximately 10% to the loss of 7% of content datagram GC, and the number according to the codes used for FEC is set in advance in distribution server 2 and each relay node 1 .

さらに、中継ノード1bが同一のFECブロックについて「パリティデータグラム送信要求」のデータグラムを送信するのは1回とは限らず、中継ノード1aと本中継ノード1bの間のネットワーク経路上でのパリティデータグラムの損失により、再度「パリティデータグラム送信要求」のデータグラムを送信する可能性がある。そのような場合、中継ノード1bが受信できているパリティデータグラムGPと同じものを中継ノード1aから送信されても、該FECブロック内の損失したビット列の復元には役立たないので、「パリティデータグラム送信要求」のデータグラム中に、既に受信しているパリティデータグラムGPの番号も記載する。中継ノード1aは、既に受信しているパリティデータグラムGPを避けて、不足している数のパリティデータグラムGPを中継ノード1bに送信する。   Furthermore, the relay node 1b transmits the datagram of “parity datagram transmission request” for the same FEC block is not limited to one transmission, and parity on the network path between the relay node 1a and the relay node 1b. Due to the loss of datagrams, it is possible to transmit datagrams of "parity datagram transmission request" again. In such a case, even if the same relay packet as the parity datagram GP that relay node 1b can receive is transmitted from relay node 1a, it does not help recovering the lost bit string in the FEC block. In the "transmission request" datagram, the number of the parity datagram GP already received is also described. The relay node 1a transmits the missing number of parity datagrams GP to the relay node 1b while avoiding the already received parity datagram GP.

なお、「パリティデータグラム送信要求」のデータグラム中に、中継ノード1bが既に受信しているパリティデータグラムGPの番号を記載する代わりに、中継ノード1aと本中継ノード1bの間のネットワーク経路上でパリティデータグラムGPを損失している可能性はあるが、送信側である中継ノード1aが該当するFECブロックの送信したパリティデータグラムGPの番号を記録しておき、重複しないように選択して送信する方法もある。   It should be noted that, on the network route between the relay node 1a and the relay node 1b, instead of describing the number of the parity datagram GP already received by the relay node 1b in the datagram of “parity datagram transmission request”. There is a possibility that the parity datagram GP may be lost at the end, but the relay node 1a on the transmitting side records the number of the transmitted parity datagram GP of the corresponding FEC block, and selects not to overlap. There is also a way to send.

上記パリティデータグラムGPを受信した中継ノード1は、上流ノード機能として、受信したパリティデータグラムGPをコピーして保持するとともに、配信遅延時間を小さくするために、直ちに、該パリティデータグラムGPを、先にコンテンツデータグラムGCを送信した一つまたは複数の宛先に向けて転送する(S202)。   The relay node 1 receiving the parity datagram GP copies and holds the received parity datagram GP as an upstream node function, and immediately reduces the distribution datagram time to reduce the distribution datagram time, The content datagram GC is transferred to one or more destinations to which it has been sent earlier (S202).

図6において、上記パリティデータグラムGPを受信した中継ノード1bは、上流ノード機能として、受信したパリティデータグラムGPをコピーして保持するとともに、配信遅延時間を小さくするために、直ちに、該パリティデータグラムGPを、先にコンテンツデータグラムGCを送信した受信装置3に向けて転送する(S202)。   In FIG. 6, the relay node 1b receiving the parity datagram GP copies and holds the received parity datagram GP as an upstream node function, and immediately reduces the parity data to reduce the delivery delay time. The program GP is transferred to the receiver 3 which has transmitted the content datagram GC earlier (S202).

中継ノード1bは、さらに、下流ノード機能として、データグラム内に書かれているパリティデータグラムGPであるというデータグラム種別とFECブロック番号から、本中継ノード1aと本中継ノード1bの間のネットワーク経路上での損失等によって受信できなかったパリティデータグラムGPがあるかチェックする(S203)。   The relay node 1b further has, as a downstream node function, a network type between the relay node 1a and the relay node 1b from the datagram type and the FEC block number that are the parity datagram GP written in the datagram. It is checked whether there is a parity datagram GP that could not be received due to a loss or the like (S203).

事前に設定された時間までに該当するFECブロックのパリティ計算に必要な数のパリティデータグラムGPを受信できた(S203においてYes)中継ノード1bは、受信したパリティデータグラムGPからそれぞれパリティビット列PBを取り出し(S204)、該当するFECブロックの既に保持している複数のコンテンツデータグラムGCからそれぞれ分割ビット列CBを取り出し(S205)、分割ビット列CBとパリティビット列PBから、損失した分割ビット列CBを復元し(S206)、FECブロックのコンテンツビット列CFを再構成する(S104)。   The relay node 1b which has received the required number of parity datagrams GP for calculating the parity of the corresponding FEC block by the preset time (Yes in S203) relays the parity bit string PB from the received parity datagram GP. Fetch (S204), fetch the divided bit string CB from the plurality of content datagrams GC already held in the corresponding FEC block (S205), restore the lost divided bit string CB from the divided bit string CB and the parity bit string PB ( S206) The content bit string CF of the FEC block is reconstructed (S104).

さらに、再構成されたFECブロックのコンテンツビット列CFから予め設定された数のパリティビット列PBを作成し、図5に示すようなパリティデータグラムGPを作成する(S105)。   Further, a parity bit string PB of a preset number is created from the content bit string CF of the reconstructed FEC block, and a parity datagram GP as shown in FIG. 5 is created (S105).

なお、FECブロックのコンテンツビット列CFからパリティビット列PBを作成する方法を配信サーバ2と全ての中継ノード1で同じにして、FECブロック番号とパリティビット列番号が同一のペイロードのパリティビット列PBは、そのビット値も同一になるようにする。これにより、中継ノード1は、再構成されたFECブロックのコンテンツビット列CFから予め設定された数のパリティビット列PBを作成するときに、既に受信しているパリティデータグラムGP内のパリティビット列PBについては、該パリティビット列PBを流用して、作らずに済ますことができる。このため、もし、受信したパリティデータグラムGPの数が、再構成されたFECブロックのコンテンツビット列CFから作成されるパリティビット列PBの予め設定された数と同じかそれより多い場合には、パリティビット列PBを全く作らずに済ますことができる。   The parity bit string PB of the payload having the same FEC block number and parity bit string number is the same, with the method of creating the parity bit string PB from the content bit string CF of the FEC block the same for the distribution server 2 and all relay nodes 1 Make the values identical. Thus, when the relay node 1 creates a predetermined number of parity bit strings PB from the content bit strings CF of the reconstructed FEC block, the relay node 1 transmits the parity bit strings PB in the parity datagram GP already received. , The parity bit string PB can be diverted without making it. For this reason, if the number of received parity datagrams GP is equal to or greater than a preset number of parity bit strings PB created from the content bit strings CF of the reconstructed FEC block, the parity bit strings You can do without creating a PB at all.

該当するFECブロックのパリティデータグラムGPを作成または流用後、不要になったコンテンツビット列CFとコンテンツデータグラムGCを消去する(S106)。作成または流用されたパリティデータグラムGPは、下流の中継ノード1または受信装置3から送られた「パリティデータグラム送信要求」を受信すると(S107においてYes)、必要な数だけ下流の中継ノード1または受信装置3に向けて送信される(S108)。   After creating or diverting the parity datagram GP of the corresponding FEC block, the unnecessary content bit string CF and the content datagram GC are erased (S106). When the parity datagram GP created or diverted receives the “parity datagram transmission request” sent from the downstream relay node 1 or the receiving device 3 (Yes in S107), the required number of downstream relay nodes 1 or It is transmitted toward the receiver 3 (S108).

また、作成または流用されたパリティデータグラムGPは、予め定められた保持時間を経過すると、(S109においてYes)消去される(S110)。全ての中継ノード1は、上述した上流ノード機能と下流ノード機能を有し、上記と同様の動作を行う。また、配信サーバ2は上流ノード機能を有する。   Also, the parity datagram GP created or diverted is erased (Yes in S109) when a predetermined retention time has elapsed (S110). All relay nodes 1 have the upstream node function and the downstream node function described above, and perform the same operation as described above. Also, the distribution server 2 has an upstream node function.

図9に、受信装置3の動作アルゴリズムを示す。受信装置3は上述した下流ノード機能を有する。図6において、ネットワーク0からコンテンツデータグラムGCを受信すると(S301)、受信装置3は、上記中継ノード1の下流ノード機能と同様の動作、即ち、受信できなかったコンテンツデータグラムGCがあるかどうかをチェックし(S302)、受信できなかったコンテンツデータグラムGCがなかった場合(S302においてNo)には、それぞれのコンテンツデータグラムGCから分割ビット列CBを取り出して保持する(S303)。   FIG. 9 shows an operation algorithm of the receiving device 3. The receiving device 3 has the downstream node function described above. In FIG. 6, when the content datagram GC is received from the network 0 (S301), the receiving device 3 performs the same operation as the downstream node function of the relay node 1, that is, whether there is any content datagram GC which could not be received. Is checked (S302), and if there is no content datagram GC that can not be received (No in S302), the divided bit string CB is extracted from each content datagram GC and held (S303).

受信装置3は、受信できなかったコンテンツデータグラムGCがあった場合(S302においてYes)には、待ち時間の経過を待ち(S412)、待ち時間の間に「GP送信要求送信済」のデータグラムを受信していない場合(S413)、上流の直近の中継ノード1bに向けて「パリティデータグラム送信要求」を送信する(S401)。これにより、直近の上流の中継ノード1bからパリティデータグラムGPが送られる。該パリティデータグラムGPを受信した受信装置3は、損失したコンテンツデータグラムGCを復元するために必要な数のパリティデータグラムGPを受信したかどうかをチェックする(S402)。必要な数のパリティデータグラムGPを受信できなかった場合(S402においてNo)は、再度、上流の直近の中継ノード1bに向けて「パリティデータグラム送信要求」を送信する(S401)。この動作は、受信側が要求した数、または、損失したコンテンツデータグラムGCを復元するために必要な数のパリティデータグラムGPを受信するまで繰り返される。   If there is a content datagram GC that can not be received (Yes in S302), the receiving device 3 waits for the elapse of the waiting time (S412), and during the waiting time, the "GP transmission request has been sent" datagram Is not received (S413), a "parity datagram transmission request" is transmitted to the upstream nearest relay node 1b (S401). As a result, the parity datagram GP is sent from the nearest upstream relay node 1b. The receiving device 3 having received the parity datagram GP checks whether the number of parity datagrams GP necessary for recovering the lost content datagram GC has been received (S402). When the required number of parity datagrams GP can not be received (No in S402), a “parity datagram transmission request” is transmitted again to the upstream nearest relay node 1b (S401). This operation is repeated until the number of parity datagrams GP required for recovering the lost content datagram GC or the number requested by the receiver has been received.

必要な数のパリティデータグラムGPを受信すると(S402においてYes)、受信装置3は、該パリティデータグラムGPからパリティビット列PBを取り出し(S403)、コンテンツデータグラムGCから分割ビット列CBを取り出し(S404)、取り出した一つまたは複数のパリティビット列PBと分割ビット列CBを用いてパリティ計算を行い、損失した分割ビット列CBを復元する(S405)。   When the required number of parity datagrams GP are received (Yes in S402), the receiving device 3 takes out the parity bit string PB from the parity datagrams GP (S403), takes out the divided bit strings CB from the content datagrams GC (S404) Parity calculation is performed using the one or more parity bit strings PB and divided bit strings CB thus taken out, and the lost divided bit strings CB are restored (S 405).

次に、復元された一つまたは複数の分割ビット列CBと、受信装置3内に既に保持している一つまたは複数の分割ビット列CBから、FECブロックのコンテンツビット列CFを再構成し(S304)、さらに全FECブロックのコンテンツビット列CFからコンテンツデータCDを再構成し(S305)、コンテンツを再生する(S306)。   Next, the content bit string CF of the FEC block is reconstructed from the restored one or more divided bit strings CB and the one or more divided bit strings CB already held in the receiving device 3 (S304), Further, the content data CD is reconstructed from the content bit string CF of all the FEC blocks (S305), and the content is reproduced (S306).

本発明は情報通信産業に適用することができる。   The present invention can be applied to the information communication industry.

0:ネットワーク
1:中継ノード
2:配信サーバ
3:受信装置
4:オペレーション装置
10:入力インターフェイス部
11:出力インターフェイス部
20:スイッチ部
30:処理部
40:制御部
50:制御部入出力インターフェイス部
100:検出器
0: Network 1: Relay node 2: Distribution server 3: Reception device 4: Operation device 10: Input interface unit 11: Output interface unit 20: Switch unit 30: Processing unit 40: Control unit 50: Control unit input / output interface unit 100 :Detector

Claims (7)

複数の中継ノードを用いてコンテンツデータグラムを転送するデータ転送システムであって、
コンテンツデータグラムの損失が発生した中継区間の受信側の中継ノードは、損失が発生したコンテンツデータグラムのFECブロックの識別番号を内包した「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する前に、前記「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する旨の「パリティデータグラム送信要求送信済」のデータグラムを直ちに下流の中継ノードに向けて送信し、
「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信した中継ノードは、該データグラムを下流の中継ノードに直ちに転送するとともに、上流の中継ノードに向け「パリティデータグラム送信要求」のデータグラムの送信を抑止する、
ことを特徴とするデータ転送システム。
A data transfer system for transferring content datagrams using a plurality of relay nodes, comprising:
The relay node on the receiving side of the relay section in which the content datagram loss has occurred sends the datagram of “parity datagram transmission request” including the identification number of the FEC block of the content datagram having the loss to the upstream relay node Before transmitting toward the destination, the "parity datagram transmission request transmitted" datagram indicating that the "parity datagram transmission request" datagram is transmitted toward the upstream relay node is immediately directed to the downstream relay node. Send
Relay node receiving the datagram from an upstream relay node "parity datagram transmission request Sent", together with the immediately transfers the datagram to the downstream relay node, toward upstream of the relay node "parity datagram transmission Suppress the transmission of "request" datagrams,
A data transfer system characterized by
前記受信側の中継ノードは、コンテンツデータグラムの損失を検出した場合、
直ちに、「パリティデータグラム送信要求送信済」のデータグラムを下流の中継ノードに向けて送信し、
損失が発生したコンテンツデータグラムのFECブロックの先頭のデータグラムを受信してから事前に設定される第1の待ち時間以内に「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信しない場合には、前記第1の待ち時間をTとし、コンテンツデータグラムの到着時間の揺らぎに対する所定の第2の待ち時間をαとして、待ち時間(T+α)の経過後に「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する、
ことを特徴とする請求項1に記載のデータ転送システム。
If the receiving relay node detects a loss of content datagrams:
Immediately transmit a “parity datagram transmission request transmitted” datagram to the downstream relay node,
The "parity datagram transmission request has been sent" datagram from the upstream relay node within the first waiting time set in advance after receiving the first datagram in the FEC block of the content datagram in which the loss occurred If not received, the first waiting time is T, and a predetermined second waiting time for fluctuations in the arrival time of the content datagram alpha, "parity datagram after the elapse of the waiting time (T + alpha) Send the "request for transmission" datagram towards the upstream relay node,
The data transfer system according to claim 1, characterized in that:
複数の中継ノードがコンテンツデータグラムを転送するデータ転送方法であって、
コンテンツデータグラムの損失が発生した中継区間の受信側の中継ノードは、損失が発生したコンテンツデータグラムのFECブロックの識別番号を内包した「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する前に、前記「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する旨の「パリティデータグラム送信要求送信済」のデータグラムを直ちに下流の中継ノードに向けて送信し、
「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信した中継ノードは、該データグラムを下流の中継ノードに直ちに転送するとともに、上流の中継ノードに向け「パリティデータグラム送信要求」のデータグラムの送信を抑止する、
ことを特徴とするデータ転送方法。
A data transfer method in which a plurality of relay nodes transfer content datagrams, wherein
The relay node on the receiving side of the relay section in which the content datagram loss has occurred sends the datagram of “parity datagram transmission request” including the identification number of the FEC block of the content datagram having the loss to the upstream relay node Before transmitting toward the destination, the "parity datagram transmission request transmitted" datagram indicating that the "parity datagram transmission request" datagram is transmitted toward the upstream relay node is immediately directed to the downstream relay node. Send
Relay node receiving the datagram from an upstream relay node "parity datagram transmission request Sent", together with the immediately transfers the datagram to the downstream relay node, toward upstream of the relay node "parity datagram transmission Suppress the transmission of "request" datagrams,
A data transfer method characterized by
前記受信側の中継ノードは、コンテンツデータグラムの損失を検出した場合、
直ちに、「パリティデータグラム送信要求送信済」のデータグラムを下流の中継ノードに向けて送信し、
損失が発生したコンテンツデータグラムのFECブロックの先頭のデータグラムを受信してから事前に設定される第1の待ち時間以内に「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信しない場合には、前記第1の待ち時間をTとし、コンテンツデータグラムの到着時間の揺らぎに対する所定の第2の待ち時間をαとして、待ち時間(T+α)の経過後に「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する、
ことを特徴とする請求項3に記載のデータ転送方法。
If the receiving relay node detects a loss of content datagrams:
Immediately transmit a “parity datagram transmission request transmitted” datagram to the downstream relay node,
The "parity datagram transmission request has been sent" datagram from the upstream relay node within the first waiting time set in advance after receiving the first datagram in the FEC block of the content datagram in which the loss occurred If not received, the first waiting time is T, and a predetermined second waiting time for fluctuations in the arrival time of the content datagram alpha, "parity datagram after the elapse of the waiting time (T + alpha) Send the "request for transmission" datagram towards the upstream relay node,
4. A data transfer method according to claim 3, wherein:
複数の中継ノードを用いてコンテンツデータグラムを転送するデータ転送システムに備わる前記中継ノードであって、
コンテンツデータグラムの損失を検出する第1の機能と、
損失が発生したコンテンツデータグラムのFECブロックの識別番号を内包した「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する前に、前記「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する旨の「パリティデータグラム送信要求送信済」のデータグラムを直ちに下流の中継ノードに向けて送信する第2の機能と、
「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信すると、該データグラムを下流の中継ノードに直ちに転送するとともに、上流の中継ノードに向け「パリティデータグラム送信要求」のデータグラム送信を抑止する第3の機能と、
を備えることを特徴とする中継ノード。
A the relay nodes included in the data transfer system for transferring content datagrams using a plurality of relay nodes,
A first function of detecting loss of content datagrams;
The datagram of the “parity datagram transmission request” is sent before the “parity datagram transmission request” datagram including the identification number of the FEC block of the content datagram in which the loss occurred is transmitted to the upstream relay node. A second function of immediately transmitting to the downstream relay node a “parity datagram transmission request transmitted” datagram of transmitting to the upstream relay node;
When a “parity datagram transmission request transmitted” datagram is received from the upstream relay node , the datagram is immediately transferred to the downstream relay node and the “parity datagram transmission request” directed to the upstream relay node A third function to suppress the transmission of datagrams;
Relay nodes, characterized in that it comprises a.
前記第1の機能がコンテンツデータグラムの損失を検出した場合、
前記第2の機能は、直ちに、「パリティデータグラム送信要求送信済」のデータグラムを下流の中継ノードに向けて送信
前記第3の機能は、損失が発生したコンテンツデータグラムのFECブロックの先頭のデータグラムを受信してから事前に設定される第1の待ち時間以内に「パリティデータグラム送信要求送信済」のデータグラムを上流の中継ノードから受信しない場合には、前記第1の待ち時間をTとし、コンテンツデータグラムの到着時間の揺らぎに対する所定の第2の待ち時間をαとして、待ち時間(T+α)の経過後に「パリティデータグラム送信要求」のデータグラムを上流の中継ノードに向けて送信する、
とを特徴とする請求項5に記載の中継ノード。
If the first feature detects a loss of content datagrams:
The second function is immediately transmitted toward datagrams "parity datagram transmission request Sent" downstream relay node,
The third function is data of “parity datagram transmission request transmitted” within a first waiting time set in advance after reception of the leading datagram of the FEC block of the content datagram in which the loss has occurred. If not receiving the grams upstream relay node, wherein the first waiting time is T, the predetermined second waiting time for fluctuations in the arrival time of the content datagrams with alpha, waiting time (T + alpha) It transmits the data grams of "parity datagram transmission request" to the upstream of the relay node after the course,
Relay nodes according to claim 5, wherein the this.
請求項5又は6に記載の中継ノードが備える各機能をコンピュータに実現させるためのプログラム。 The program for making a computer implement each function with which the relay node of Claim 5 or 6 is equipped .
JP2016016212A 2016-01-29 2016-01-29 Data transfer system Active JP6539218B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016016212A JP6539218B2 (en) 2016-01-29 2016-01-29 Data transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016016212A JP6539218B2 (en) 2016-01-29 2016-01-29 Data transfer system

Publications (2)

Publication Number Publication Date
JP2017135665A JP2017135665A (en) 2017-08-03
JP6539218B2 true JP6539218B2 (en) 2019-07-03

Family

ID=59503849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016016212A Active JP6539218B2 (en) 2016-01-29 2016-01-29 Data transfer system

Country Status (1)

Country Link
JP (1) JP6539218B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004015551A (en) * 2002-06-07 2004-01-15 Sumitomo Electric Ind Ltd Repeating device, repeating program, and autonomous error correction network
JP5062121B2 (en) * 2008-09-19 2012-10-31 富士通株式会社 Packet retransmission control method and apparatus in multicast communication
US9912568B2 (en) * 2009-06-24 2018-03-06 Provenance Asset Group Llc Method and apparatus for handling broken path in peer-to-peer network
JP5592235B2 (en) * 2010-10-29 2014-09-17 日本電信電話株式会社 Multicast pre-delivery method, system, and apparatus

Also Published As

Publication number Publication date
JP2017135665A (en) 2017-08-03

Similar Documents

Publication Publication Date Title
JP4857262B2 (en) Method and apparatus for end-to-end reliable group communication
US8879429B2 (en) Acknowledgement-based rerouting of multicast traffic
US7876751B2 (en) Reliable link layer packet retry
US10419329B2 (en) Switch-based reliable multicast service
KR101610715B1 (en) One-way data transmission and reception system, and one-way data transmission and reception method
JP4619806B2 (en) Propagating multiple copies of Internet Protocol packets
WO2019205756A1 (en) Data transmission protection method, apparatus, and system, and computer readable storage medium
JP4658002B2 (en) COMMUNICATION SYSTEM, ENCODING DEVICE, AND DECODING DEVICE
JP6539218B2 (en) Data transfer system
US7100078B1 (en) Method and apparatus for restoration of lost blocks in a multicast data transmission
JP5492618B2 (en) Error correction coding apparatus and method and program, and error correction decoding apparatus and method and program
JP2016027698A (en) Data transfer system, relay node, and data transfer method
Baccelli et al. The one-to-many TCP overlay: a scalable and reliable multicast architecture
JP2016146620A (en) Data transfer system, relay node and data transfer method
Akbari et al. Packet loss in peer-to-peer video streaming over the Internet
WO2013012089A1 (en) Relay device, relay method, and program
WO2012043142A1 (en) Multicast router and multicast network system
JP6450283B2 (en) Packet transmission system, packet transmission method, and transmission control apparatus
WO2010116616A1 (en) Relay apparatus and distribution control method of stream distribution system
JP6930453B2 (en) Multicast forwarding system and multicast forwarding method
JP2014150451A (en) Method and system for suppressing deterioration in quality of communication data
EP3128717B1 (en) Communication system, transmission device, communication method, and program
Chakravarthi Proposed Router and Switch Design With Introduction of Buffering to Reduce Retransmission Cost By Reducing Bandwidth and Time of Corrupt Packet
Melvin et al. Network and erasure coding for improved packet delivery
CN117376252A (en) Message sending method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190607

R150 Certificate of patent or registration of utility model

Ref document number: 6539218

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150