JP2007300498A - Repeating apparatus and repeating method - Google Patents

Repeating apparatus and repeating method Download PDF

Info

Publication number
JP2007300498A
JP2007300498A JP2006127895A JP2006127895A JP2007300498A JP 2007300498 A JP2007300498 A JP 2007300498A JP 2006127895 A JP2006127895 A JP 2006127895A JP 2006127895 A JP2006127895 A JP 2006127895A JP 2007300498 A JP2007300498 A JP 2007300498A
Authority
JP
Japan
Prior art keywords
time
packet
data flow
transmission
unit
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.)
Granted
Application number
JP2006127895A
Other languages
Japanese (ja)
Other versions
JP4653011B2 (en
Inventor
Eiichi Muramoto
衛一 村本
Takahiro Yoneda
孝弘 米田
Kazunobu Konishi
一暢 小西
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006127895A priority Critical patent/JP4653011B2/en
Publication of JP2007300498A publication Critical patent/JP2007300498A/en
Application granted granted Critical
Publication of JP4653011B2 publication Critical patent/JP4653011B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To omit useless storage areas in a receiving terminal and to reproduce high-quality data from a plurality of streams by the receiving terminal without estimating unnecessarily low band even when a plurality of related streams from a transmitting terminal are transmitted to the receiving terminal via different paths. <P>SOLUTION: An identification part 142 discriminates the session of communication to which received packets belong and a plurality of flows included in the session. A delay part 143 specifies the time to transmit packets of a plurality of flows included in one session and delays the transmission of packets by accumulating a plurality of flows included in the session until a specified time. A correction part 146 corrects the time described in a time stamp for the time accumulated temporarily in the delay part 143 concerning each packet included in one session. A transmission part 148 synchronizes the flow included in one session and transmits packets to a receiving terminal 150. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、映像や音声などのマルチメディアデータを中継して伝送する中継装置及び中継方法に関し、特に、複数のマルチメディアデータを中継し、同期させて伝送する中継装置及び中継方法に関する。   The present invention relates to a relay apparatus and a relay method for relaying and transmitting multimedia data such as video and audio, and more particularly to a relay apparatus and a relay method for relaying and transmitting a plurality of multimedia data in synchronization.

近年、ネットワークの急速な発展に伴って、テレビ会議やネットワークゲーム、遠隔地への講義の配信などにおいて、映像や音声、発表資料画面などの複数のマルチメディアデータを、ネットワークを介して複数の受信端末に対して同時に伝送するマルチキャスト通信が行われている。   With the rapid development of networks in recent years, multiple multimedia data such as video, audio, and presentation data screens are received via the network for video conferences, network games, and distribution of lectures to remote locations. Multicast communication for simultaneous transmission to terminals is performed.

マルチキャスト通信において、各受信端末は、受信する各マルチメディアデータ間の同期をとる必要がある。例えば、送信端末が、音声とその話者の画像とを別々のストリームとしてネットワークを介して伝送する。受信端末は、この別々のストリームのそれぞれを受信して再生する場合、音声とその話者の画像とがずれないようにこの2つのストリームの再生タイミングを合わせて、同時にスピーカとディスプレイとに出力する必要がある。   In multicast communication, each receiving terminal needs to synchronize each received multimedia data. For example, the transmitting terminal transmits the voice and the image of the speaker as separate streams over the network. When the receiving terminal receives and plays back each of the separate streams, the playback timings of the two streams are matched and output to the speaker and the display at the same time so that the voice and the image of the speaker are not shifted. There is a need.

一般に、複数のストリームの同期処理を実現する技術として、送信端末が、ストリームを構成するパケットにタイムスタンプを刻印し、受信端末が、パケットに刻印されたタイムスタンプを用いて、複数のストリームに対応するマルチメディアデータの再生タイミングを揃える処理が知られている。   In general, as a technique for realizing the synchronization processing of multiple streams, the sending terminal stamps the time stamps on the packets that make up the stream, and the receiving terminal supports multiple streams using the time stamps stamped on the packets. Processing for aligning the reproduction timing of multimedia data to be performed is known.

パケットにタイムスタンプを刻印して送信する方法として、RFC1889で規定されるRTP(real-time transport protocol)がある。RTPでは、RTPヘッダの32ビットのタイムスタンプ欄に、送信端末のアプリケーションがパケットの送信時刻(以下「タイムスタンプ」という)を刻印する。同時刻に再生すべき複数のストリームがある場合には、それぞれのストリームを構成するパケットに対して別々にタイムスタンプが刻印される。このとき、RTPヘッダの32ビットの空間に、どのような時刻粒度でタイムスタンプを刻印するかは、送信端末のアプリケーションにより決定される。例えば、1秒間に30枚の画像を再生する画像ストリームのように高速で多量のパケットを送信する場合には、1000マイクロ秒の時刻粒度で、音声のように10ms毎にパケットを送信する場合には、10マイクロ秒の時刻粒度でタイムスタンプを刻印する。このように、異なる時刻粒度でそれぞれタイムスタンプを刻印するということは、送信端末のアプリケーション毎に決定することができる。   As a method of transmitting a time stamp on a packet, there is a real-time transport protocol (RTP) defined by RFC1889. In RTP, an application of a transmission terminal stamps a packet transmission time (hereinafter referred to as “time stamp”) in a 32-bit time stamp field of an RTP header. When there are a plurality of streams to be reproduced at the same time, time stamps are individually stamped on the packets constituting each stream. At this time, it is determined by the application of the transmitting terminal at what time granularity the time stamp is imprinted in the 32-bit space of the RTP header. For example, when a large number of packets are transmitted at high speed, such as an image stream that reproduces 30 images per second, when packets are transmitted every 10 ms, such as voice, at a time granularity of 1000 microseconds. Stamps a time stamp with a time granularity of 10 microseconds. Thus, imprinting time stamps with different time granularities can be determined for each application of the transmitting terminal.

このことは、送受信端末の送受信アプリケーションは、RTPヘッダへのタイムスタンプの刻印の時刻粒度を知っているが、ルータやスイッチなどのネットワークの中間ノードは、パケットを解析してもこのタイムスタンプの刻印の時刻粒度を知ることができないということを意味する。   This means that the transmission / reception application of the transmission / reception terminal knows the time granularity of the time stamp imprinting on the RTP header, but the intermediate node of the network such as a router or switch can also imprint the time stamp even if the packet is analyzed. It means that the time granularity of cannot be known.

複数のマルチメディアデータ(ストリーム)を同期させるために用いることができるプロトコルは、RTPに限られない。例えば、アプリケーションの設計者が複数のマルチメディアデータを多重伝送する方式を決定し、決定された方式に従って、送信端末が複数のストリームを伝送し、受信端末が、先に受信したストリームのパケットを一時蓄積して後に受信したストリームのパケットと合わせて再生することにより、同期処理を実現することもできる。   A protocol that can be used to synchronize a plurality of multimedia data (streams) is not limited to RTP. For example, an application designer determines a method for multiplexing and transmitting a plurality of multimedia data, and according to the determined method, a transmitting terminal transmits a plurality of streams, and a receiving terminal temporarily transmits a packet of the previously received stream. Synchronizing processing can also be realized by accumulating and playing back together with packets of a stream received later.

このような同期処理を実現する技術として、例えば、特許文献1に記載されているものがある。   As a technique for realizing such synchronization processing, for example, there is one described in Patent Document 1.

特許文献1には、受信端末で、多重メディアストリーム記述方式と表現される記述方式に従って伝送される複数のメディアストリームを適宜バッファリングし、再生することにより、同期処理を実現する方式が開示されている。   Patent Document 1 discloses a method for realizing synchronization processing by appropriately buffering and reproducing a plurality of media streams transmitted in accordance with a description method expressed as a multiple media stream description method at a receiving terminal. Yes.

図14は、特許文献1に記載されている同期処理を説明するための図である。   FIG. 14 is a diagram for explaining the synchronization processing described in Patent Document 1. In FIG.

図14において、受信機10は、複数の多重記述ビットストリームを受信して、ビットストリーム毎に区別して複数のバッファ12やバッファ14に格納する。多重記述復号器16は、多重メディアストリーム記述方式に従って、バッファ12やバッファ14に格納されたストリームを取り出して再生する。   In FIG. 14, the receiver 10 receives a plurality of multiplexed description bitstreams and stores them in a plurality of buffers 12 and 14 by distinguishing each bitstream. The multiple description decoder 16 takes out and reproduces the stream stored in the buffer 12 or the buffer 14 in accordance with the multiple media stream description method.

一方、複数のストリームのバッファリング処理をルータのような中継ノードが行うことにより同期処理を実現する技術として、例えば、特許文献2に記載されているものがある。   On the other hand, as a technique for realizing synchronization processing by performing buffering processing of a plurality of streams by a relay node such as a router, for example, there is one described in Patent Document 2.

特許文献2には、中継ノードで、各送信端末から送信された複数のストリームを一旦蓄積し、蓄積された複数のストリームを受信端末へ転送する間隔を制御することにより、同期処理を実現する技術が開示されている。   Patent Document 2 discloses a technique for realizing synchronization processing by temporarily storing a plurality of streams transmitted from each transmitting terminal at a relay node and controlling an interval at which the stored plurality of streams are transferred to a receiving terminal. Is disclosed.

図15は、特許文献2に記載されている同期処理を説明するための図である。   FIG. 15 is a diagram for explaining the synchronization processing described in Patent Document 2. In FIG.

図15において、送信端末20a,20b,20cは、それぞれ、音声や動画などのストリームを別々に送信する。このとき、各送信端末は、ストリームを構成するパケットのRTPヘッダのタイムスタンプ欄に、パケットの送信時刻を刻印する。同期ノード30は、各送信端末から複数のストリームを受信すると、タイムスタンプ欄に刻印された情報を用いて複数のストリームのパケットの送出順序を決定し、その順序に従って、複数のストリームを受信端末40a,40b,40cへ転送する。同期ノード30は、複数のストリームの転送時に、それぞれのストリームのパケットの送信間隔を再現するため、各送信端末からのパケットの送信時刻を推定して得られたパケットの送信間隔でストリームを転送するようにパケットの転送間隔を制御する。   In FIG. 15, the transmission terminals 20a, 20b, and 20c transmit streams such as audio and moving images separately. At this time, each transmitting terminal imprints the packet transmission time in the time stamp column of the RTP header of the packet constituting the stream. When the synchronization node 30 receives a plurality of streams from each transmission terminal, the synchronization node 30 determines the transmission order of the packets of the plurality of streams using the information stamped in the time stamp column, and receives the plurality of streams according to the order. , 40b, 40c. The synchronization node 30 transfers the stream at the packet transmission interval obtained by estimating the packet transmission time from each transmission terminal in order to reproduce the packet transmission interval of each stream when transferring a plurality of streams. Thus, the packet transfer interval is controlled.

このように、送信端末と受信端末との間の中継ノードで同期処理を行う場合、送信端末と受信端末との間で、帯域を推定し、適切な流量のストリームを送信する流量制御が行われることがある。帯域を推定する方法としては、例えば、RFC3448で規定されるTFRC(tcp friendly rate control)がある(非特許文献1)。   As described above, when synchronization processing is performed at the relay node between the transmission terminal and the reception terminal, flow rate control is performed between the transmission terminal and the reception terminal to estimate the bandwidth and transmit an appropriate flow rate stream. Sometimes. As a method for estimating the bandwidth, for example, there is TFRC (tcp friendly rate control) defined by RFC3448 (Non-Patent Document 1).

TFRCとは、送信端末と受信端末との間のパケットの往復時間(RTT:round trip time)を計測し、パケットの損失率を用いて算出される損失イベント率(p)を計算し、RTTとpとを用いて、送受信端末間で利用可能な帯域を推定する方式である。TFRCにおいて、RTTは、以下のようにして計測される。まず、送信端末が、タイムスタンプを刻印したパケットを受信端末に送信し、パケットを受信した受信端末が、即座にそのタイムスタンプ欄を応答パケットに転記して送信端末に返送する。そして、送信端末は、受信端末からの応答パケットを受信した時刻と応答パケット中に転記してある送信時刻との差を計算してRTTとする。RTTは、送信端末と受信端末との間の同一経路でTCP接続をした場合の往復時間と同じ時間が計測されることが望ましい。   TFRC measures the round trip time (RTT) between a transmitting terminal and a receiving terminal, calculates a loss event rate (p) calculated using the packet loss rate, This is a method for estimating a usable bandwidth between transmitting and receiving terminals using p. In TFRC, RTT is measured as follows. First, the transmitting terminal transmits a packet stamped with a time stamp to the receiving terminal, and the receiving terminal that has received the packet immediately transcribes the time stamp field into a response packet and returns it to the transmitting terminal. Then, the transmitting terminal calculates the difference between the time when the response packet is received from the receiving terminal and the transmission time transcribed in the response packet to obtain RTT. As for RTT, it is desirable to measure the same time as the round-trip time when TCP connection is made on the same route between the transmission terminal and the reception terminal.

また、TFRCでは、送受信端末間で利用可能な帯域推定値は、次の式(1)で与えられる。式(1)より、TFRCでは、計測されたRTTの値が大きくなると、帯域推定値は、それに比例して小さくなる。   In TFRC, a band estimation value that can be used between transmitting and receiving terminals is given by the following equation (1). According to Equation (1), in TFRC, when the measured RTT value increases, the band estimation value decreases in proportion thereto.

Figure 2007300498
ここで、Rはラウンドトリップタイム(秒)、pは損失率、sはパケットサイズ(byte)、bはTCPの肯定応答単位(例えば1)、T_RTOはTCPのタイムアウト値(4R)である。
Figure 2007300498
Here, R is the round trip time (seconds), p is the loss rate, s is the packet size (bytes), b is the TCP acknowledgment unit (for example, 1), and T_RTO is the TCP timeout value (4 * R). .

なお、送信端末と受信端末との間で行われる帯域推定方法としては、TFRC以外の方法も採用されうる。TFRC以外の帯域推定方法においても、RTTを用いて帯域の推定を行うこと、及びRTTの計測値が高くなるにつれて帯域推定値が低くなることは、TFRCと共通する。
特表2004−538090号公報 特開2004−320251号公報 M. Handley et al., “TCP Friendly Rate Control (TFRC): Protocol Specification”, RFC 3448
In addition, as a band estimation method performed between the transmission terminal and the reception terminal, a method other than TFRC can be employed. In the band estimation method other than TFRC, the band estimation using RTT is performed and the band estimation value decreases as the measured value of RTT increases, in common with TFRC.
JP-T-2004-538090 JP 2004-320251 A M. Handley et al., “TCP Friendly Rate Control (TFRC): Protocol Specification”, RFC 3448

しかしながら、特許文献1記載の技術にあっては、受信端末で、受信した一部のストリームを、同期処理すべき別のストリームを受信するまで蓄積する記憶領域を確保する必要があるという問題がある。すなわち、本来同期すべき複数のストリームのいずれか1つが遅れて到着する場合、受信端末で、先に受信したストリームを蓄積するための多量の記憶領域が消費されるという問題がある。   However, the technique described in Patent Document 1 has a problem in that it is necessary for a receiving terminal to secure a storage area for storing a part of the received stream until another stream to be synchronized is received. . That is, when any one of a plurality of streams that should be synchronized arrives with a delay, there is a problem that a large amount of storage area for accumulating the previously received stream is consumed at the receiving terminal.

この点、特許文献2記載の技術では、中継ノードによる同期処理を用いているため、受信端末でバッファリングする必要がなくなり、受信端末でのバッファリング用の記憶領域を削減することができるが、以下の問題がある。   In this regard, since the technique described in Patent Document 2 uses synchronization processing by a relay node, it is not necessary to perform buffering at the receiving terminal, and the storage area for buffering at the receiving terminal can be reduced. There are the following problems.

特許文献2記載の技術にあっては、送信端末と受信端末との間で帯域の推定を行っている場合、パケットが中継ノードで蓄積されるため、帯域推定値が不必要に低く算出されてしまい、伝送性能が悪化するという問題がある。すなわち、帯域の推定において、送信端末と受信端末との間のパケットの往復時間(RTT)を計測する場合、パケットが中継ノードで一時蓄積された分だけ、RTTが多く算出される。このとき、RTTは、送信端末と受信端末との間の同一経路でTCP接続をした場合の往復時間と同じ時間とはならない。上記のように、帯域推定値は、計測されたRTTの値が大きくなるに従って小さくなるため、RTTの計測値の増加により、推定帯域値が小さく算出されて伝送性能の悪化につながる。   In the technique described in Patent Document 2, when the bandwidth is estimated between the transmission terminal and the reception terminal, the packet is accumulated at the relay node, and therefore the bandwidth estimation value is calculated unnecessarily low. As a result, there is a problem that transmission performance deteriorates. That is, in the band estimation, when measuring the round trip time (RTT) of a packet between a transmitting terminal and a receiving terminal, the RTT is calculated as much as the packet is temporarily stored in the relay node. At this time, the RTT is not the same as the round-trip time when the TCP connection is made on the same route between the transmission terminal and the reception terminal. As described above, the band estimation value decreases as the measured RTT value increases. Therefore, the increase in the RTT measurement value causes the estimated band value to be calculated small, leading to deterioration in transmission performance.

特許文献1及び特許文献2の上記問題点は、特に、マルチキャスト通信において、同期させるべき複数のストリームが複数の送信端末から送信される場合や階層符号化を利用したマルチキャスト通信において、中継装置がパケットの分割や複製を行って伝送する場合に顕著に現れる。   The above-mentioned problems of Patent Document 1 and Patent Document 2 are that, particularly, in multicast communication, when a plurality of streams to be synchronized are transmitted from a plurality of transmitting terminals or in multicast communication using hierarchical coding, This is noticeable when the data is transmitted after being divided or duplicated.

本発明は、かかる点に鑑みてなされたものであり、送信端末からの関連する複数のストリームが異なる経路で受信端末に伝送される場合であっても、受信端末の無駄な記憶領域を省略し、かつ、不必要に低い帯域推定を行うことなく受信端末で複数のストリームから高品質なデータを再生することができる中継装置及び中継方法を提供することを目的とする。   The present invention has been made in view of such a point, and even when a plurality of related streams from the transmission terminal are transmitted to the reception terminal through different paths, the useless storage area of the reception terminal is omitted. And it aims at providing the relay apparatus and the relay method which can reproduce | regenerate high quality data from a some stream in a receiving terminal, without performing a low band estimation unnecessarily.

本発明の中継装置は、複数のデータフローの中から1つのセッションにおいて同期されるべき特定のデータフロー群を識別する識別部と、前記特定のデータフロー群の一部のデータフローの送信を遅延させる遅延部と、前記遅延させたデータフローに刻印されたタイムスタンプを、前記遅延部により遅延させた時間分だけ補正する補正部と、前記特定のデータフロー群を送信する送信部と、を有する構成を採る。   The relay apparatus of the present invention delays transmission of an identification unit that identifies a specific data flow group to be synchronized in one session from among a plurality of data flows, and a part of the specific data flow group A delay unit for correcting the time stamp stamped on the delayed data flow by a time delayed by the delay unit, and a transmission unit for transmitting the specific data flow group. Take the configuration.

本発明によれば、送信端末からの関連する複数のストリームが異なる経路で受信端末に伝送される場合であっても、複数のストリームを同期させて受信端末に伝送することが可能となり、受信端末におけるバッファのための記憶領域の消費を節約することができる。また、送信端末と受信端末との間で階層符号化を用いたストリームの伝送が行われ、その伝送で帯域推定が行われている場合であっても、不必要に低い帯域を推定することを防止することができ、受信端末で複数のストリームから高品質なデータを再生することができる。   According to the present invention, even when a plurality of related streams from a transmitting terminal are transmitted to a receiving terminal through different paths, it is possible to synchronize and transmit the plurality of streams to the receiving terminal. It is possible to save the consumption of the storage area for the buffer. In addition, even when a stream transmission using hierarchical coding is performed between a transmission terminal and a reception terminal and band estimation is performed in the transmission, it is necessary to estimate an unnecessarily low band. Therefore, it is possible to reproduce high quality data from a plurality of streams at the receiving terminal.

以下、本発明の実施の形態について、図面を参照して詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(実施の形態1)
図1は、本発明の実施の形態1に係る中継装置を含む通信システムの全体構成を示すブロック図である。
(Embodiment 1)
FIG. 1 is a block diagram showing an overall configuration of a communication system including a relay device according to Embodiment 1 of the present invention.

図1の通信システムは、送信端末100、ルータ110,120、中継装置130、中継装置140、及び受信端末150を備えて構成される。   The communication system in FIG. 1 includes a transmission terminal 100, routers 110 and 120, a relay device 130, a relay device 140, and a reception terminal 150.

中継装置140は、識別部142、遅延部143、補正部146、及び送信部148を備える。   The relay device 140 includes an identification unit 142, a delay unit 143, a correction unit 146, and a transmission unit 148.

なお、中継装置130と中継装置140とは、同一の構成及び機能をとりうるが、ここでは、中継装置130は、単にルータ110からのストリームを中継してルータ120へ出力するものとして説明する。   Although the relay device 130 and the relay device 140 can have the same configuration and function, here, the relay device 130 will be described as simply relaying a stream from the router 110 and outputting the stream to the router 120.

送信端末100は、映像や音声などのマルチメディアデータの複数のストリームを受信端末150に対して送信する。また、送信端末100は、ストリームの送信時に、各ストリームを構成するパケットに対して、そのストリームの送信時刻であるタイムスタンプを刻印する。タイムスタンプの刻印の時刻粒度は、送信端末100のアプリケーションにより、自由に変更することができる。また、送信端末100から送信される複数のストリームは、同期して再生可能であれば、その内容や数は限定されず、例えば、階層符号化された複数のストリームであってもよい。   The transmission terminal 100 transmits a plurality of streams of multimedia data such as video and audio to the reception terminal 150. In addition, when transmitting a stream, the transmission terminal 100 imprints a time stamp, which is a transmission time of the stream, on a packet constituting each stream. The time granularity of the time stamp can be freely changed by the application of the transmission terminal 100. Further, the content and the number of the plurality of streams transmitted from the transmission terminal 100 are not limited as long as they can be reproduced in synchronization, and may be, for example, a plurality of hierarchically encoded streams.

ルータ110,120は、ストリームのパケットに含まれる送信先アドレス情報に基づいてルーティングを行う。すなわち、ルータ110,120は、受信したストリームのパケットの分割・複製を行い、分割・複製されたストリームのパケットを、送信先アドレス情報に基づいて転送する。   The routers 110 and 120 perform routing based on transmission destination address information included in the packet of the stream. That is, the routers 110 and 120 divide and duplicate the received stream packet, and transfer the divided and duplicated stream packet based on the destination address information.

識別部142は、送信端末100からの複数のストリームのパケットの中に記述されているヘッダを解析することにより、これらのストリームのうち、互いに関連がある複数のストリームを識別する。ここで、「互いに関係がある複数のストリーム」とは、例えば、テレビ会議における音声と画像のように、1つのセッションにおいて同期されるべき複数のデータのストリームを意味する。したがって、識別部142は、受信したパケットが属する通信のセッション及びそのセッションに含まれる複数のフローを識別する。   The identification unit 142 identifies a plurality of streams that are related to each other among these streams by analyzing headers described in the packets of the plurality of streams from the transmission terminal 100. Here, “a plurality of streams related to each other” means a plurality of data streams to be synchronized in one session, such as audio and video in a video conference. Therefore, the identification unit 142 identifies a communication session to which the received packet belongs and a plurality of flows included in the session.

具体的には、識別部142による識別は、以下のようにして行われる。まず、識別部142は、ヘッダに記述された各ストリームの宛先アドレスや送信元アドレス、宛先ポート番号、送信元ポート番号などを解析する。この解析により、通信のセッションを特定し、次いで、特定されたセッションに含まれる複数のフローを識別する。   Specifically, identification by the identification unit 142 is performed as follows. First, the identification unit 142 analyzes the destination address, transmission source address, destination port number, transmission source port number, and the like of each stream described in the header. By this analysis, a communication session is identified, and then a plurality of flows included in the identified session are identified.

遅延部143は、識別部142により識別された、1つのセッションに含まれる複数のフローに対して一時蓄積遅延処理を行う。すなわち、遅延部143は、1つのセッションに含まれる複数のフローのパケットを送信すべき時刻を特定し、特定された時刻まで、そのセッションに含まれる複数のフローを蓄積することによりパケットの送信を遅延させる。ここで、「パケットを送信すべき時刻」は、各パケットに刻印されたタイムスタンプと、各パケットの遅延部143への到着時刻とにより決定されるが、詳細については、後の動作説明で説明する。   The delay unit 143 performs temporary accumulation delay processing for a plurality of flows included in one session identified by the identification unit 142. That is, the delay unit 143 specifies the time at which packets of a plurality of flows included in one session are to be transmitted, and transmits the packets by accumulating the plurality of flows included in the session until the specified time. Delay. Here, “the time at which a packet is to be transmitted” is determined by the time stamp imprinted on each packet and the arrival time of each packet at the delay unit 143. The details will be described later in the description of the operation. To do.

また、遅延部143は、パケット単位で、タイムスタンプが刻印されたパケットそのものを示す情報と、パケットの遅延部143への到着時刻と、そのパケットが属するセッションのパケットを送信すべき時刻とを対応付けて格納する記憶部144を有している。また、遅延部143は、記憶部144に格納されるこれらの情報を更新するための最大フロー数管理表、及び差分時間管理表を保持している。これらの詳細については、後の動作説明で、図3乃至図5を用いて説明する。   Further, the delay unit 143 associates information indicating the packet itself stamped with the time stamp, the arrival time of the packet at the delay unit 143, and the time at which the packet of the session to which the packet belongs should be transmitted in units of packets. A storage unit 144 is additionally provided for storage. The delay unit 143 holds a maximum flow number management table and a differential time management table for updating these pieces of information stored in the storage unit 144. Details of these will be described later with reference to FIGS. 3 to 5.

また、遅延部143は、1つのセッションに含まれる複数のフローのパケット、これらのパケットの遅延部143への到着時刻、及びパケットを送信すべき時刻を含むデータを、遅延部143の内部に保持する送信待ちキュー145に格納する。   The delay unit 143 holds data including a plurality of flow packets included in one session, arrival times of these packets at the delay unit 143, and data at which the packets should be transmitted, in the delay unit 143. To be stored in the transmission waiting queue 145.

補正部146は、送信待ちキュー145に格納されたデータに基づいて、1つのセッションに含まれる各パケットについて、これらのパケットが遅延部143で一時蓄積された時間の分だけタイムスタンプを補正する。具体的には、補正部146は、各パケットについて、各パケットを送信すべき時刻から各パケットの到着時刻を減算して、各パケットが遅延部143に一時蓄積された時間を計算し、この一時蓄積された時間の分だけ、各パケット中のタイムスタンプ欄に記述された時刻を足し上げる。   Based on the data stored in the transmission queue 145, the correction unit 146 corrects the time stamp of each packet included in one session by the time when these packets are temporarily accumulated in the delay unit 143. Specifically, for each packet, the correction unit 146 subtracts the arrival time of each packet from the time at which each packet is to be transmitted, and calculates the time when each packet is temporarily stored in the delay unit 143. The time described in the time stamp column in each packet is added by the accumulated time.

送信部148は、遅延部143の送信待ちキュー145に格納されたすべての情報について走査し、受信端末150に対してパケットを送信する。このとき、送信部148は、上記パケットを送信すべき時刻を含む情報と現在時刻とを比較して、これらの時刻が一致した場合、またはパケットを送信すべき時刻が現在時刻よりも経過している場合に、受信端末150に対してパケットを送信する。   The transmission unit 148 scans all the information stored in the transmission waiting queue 145 of the delay unit 143 and transmits the packet to the reception terminal 150. At this time, the transmission unit 148 compares the information including the time at which the packet is to be transmitted with the current time, and if these times match, or the time at which the packet should be transmitted has elapsed from the current time. If it is, the packet is transmitted to the receiving terminal 150.

送信部148から送信された各パケットは、同期処理が実現されているのみならず、遅延部143で一時蓄積された時間の分だけタイムスタンプが補正されている。したがって、タイムスタンプを用いて送信端末100と受信端末150との間の往復時間を計測する場合、遅延部143での一時蓄積時間を除いた時間が計測される。   Each packet transmitted from the transmission unit 148 is not only synchronized, but also has its time stamp corrected by the amount of time temporarily stored in the delay unit 143. Therefore, when the round trip time between the transmission terminal 100 and the reception terminal 150 is measured using the time stamp, the time excluding the temporary accumulation time in the delay unit 143 is measured.

受信端末150は、中継装置140の送信部148からの1つのセッションに含まれる複数のフローのパケットを受信して再生する。   The receiving terminal 150 receives and reproduces packets of a plurality of flows included in one session from the transmission unit 148 of the relay device 140.

以下、上述のように構成された通信システムの動作について詳細に説明する。   Hereinafter, the operation of the communication system configured as described above will be described in detail.

まず、送信端末100から、映像や音声などのマルチメディアデータの複数のストリームが受信端末150に対して送信される。ここでは、送信端末100から受信端末150に対して送信されるストリームは、音声情報である第1のストリームと動画情報である第2のストリームとの2つであり、これらのストリームは時刻Tに同時に送信端末100から送信されるものとして説明する。第1のストリーム及び第2のストリームのパケットには、これらのストリームが受信端末150で同期して再生可能なように、送信時刻であるタイムスタンプがそれぞれ刻印されている。 First, a plurality of streams of multimedia data such as video and audio are transmitted from the transmission terminal 100 to the reception terminal 150. Here, there are two streams transmitted from the transmission terminal 100 to the reception terminal 150: a first stream that is audio information and a second stream that is video information, and these streams are at time T 0. Will be described as being transmitted from the transmission terminal 100 simultaneously. The packets of the first stream and the second stream are each stamped with a time stamp that is a transmission time so that these streams can be reproduced in synchronization with the receiving terminal 150.

なお、ここでは、第1のストリームを音声情報、第2のストリームを動画情報としたが、本発明に適用できるストリームは、これに限定されない。例えば、階層符号化された複数のストリームであってもよいし、3以上の複数のストリームであってもよい。すなわち、同期して再生する複数のストリームであれば、その内容及び数は限定されない。   Although the first stream is audio information and the second stream is moving image information here, the stream applicable to the present invention is not limited to this. For example, it may be a plurality of hierarchically encoded streams or a plurality of three or more streams. That is, the content and number of streams are not limited as long as they are a plurality of streams that are reproduced in synchronization.

送信端末100から送信された第1のストリーム及び第2のストリームは、それぞれ異なる経路で中継装置140に配送される。ここでは、その一例として、第1のストリームが、ルータ110→中継装置130→ルータ120→中継装置140の順で配送されて時刻Tに中継装置140に到着するものとする。第2のストリームは、ルータ110→ルータ120→中継装置140の順で配送されて時刻Tに中継装置140に到着するものとする。また、第2のストリームは、第1のストリームよりもT秒遅く中継端末140に到着するものとして説明する。すなわち、T−T=Tが成り立つ。 The first stream and the second stream transmitted from the transmission terminal 100 are delivered to the relay device 140 through different paths. Here, as an example, the first stream is assumed that arrives at the router 110 → repeater 130 → router 120 → repeater 140 repeater is delivered at time T 1 in the order of 140. The second stream is assumed to arrive to the router 110 → router 120 → repeater 140 repeater is delivered to time T 2, in the order of 140. The second stream will be described as arriving at the relay terminal 140 later by T seconds than the first stream. That is, T 2 −T 1 = T holds.

なお、本発明は、Tが正の数である場合のみならず、Tが負の数、つまり、第1のストリームが第2のストリームよりもT秒遅く中継端末140に到着する場合にも適用可能である。すなわち、第1のストリームの到着時刻と第2のストリームの到着時刻とに差があるすべての場合について適用可能である。   The present invention is applicable not only when T is a positive number, but also when T is a negative number, that is, when the first stream arrives at the relay terminal 140 later than the second stream by T seconds. Is possible. That is, the present invention is applicable to all cases where there is a difference between the arrival time of the first stream and the arrival time of the second stream.

識別部142は、第1のストリームに記述されているヘッダ、及び第1のストリームよりT秒遅く到着した第2のストリームに記述されているヘッダをそれぞれ解析して、第1のストリームと第2のストリームとが互いに関連があるストリームであることを識別する。すなわち、音声情報である第1のストリーム及び動画情報である第2のストリームは、1つのセッションにおいて同期されるべきストリームであるかどうかが識別される。   The identification unit 142 analyzes the header described in the first stream and the header described in the second stream that has arrived T seconds later than the first stream, respectively, Are associated with each other. That is, it is identified whether the first stream that is audio information and the second stream that is moving image information are streams to be synchronized in one session.

ここで、識別部142による識別動作について、図2を用いて説明する。図2は、ストリームのパケットに記述されているヘッダ構造の一例を示す図である。   Here, the identification operation by the identification unit 142 will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a header structure described in a stream packet.

ヘッダ160は、ネットワークヘッダ部161、トランスポートヘッダ部162、RTPヘッダ163、及びペイロード164からなる。ネットワークヘッダ部161は、宛先アドレス165及び送信元アドレス166を含む。トランスポートヘッダ部162は、宛先ポート番号167、送信元ポート番号168、データタイプ169、データクラス170、タイムスタンプ171、及び通番172を含む。   The header 160 includes a network header portion 161, a transport header portion 162, an RTP header 163, and a payload 164. The network header portion 161 includes a destination address 165 and a transmission source address 166. The transport header portion 162 includes a destination port number 167, a transmission source port number 168, a data type 169, a data class 170, a time stamp 171, and a serial number 172.

宛先アドレス165及び送信元アドレス166は、IPv4やIPv6などのネットワーク上のアドレスである。ネットワークヘッダ部161には、IPヘッダを抽象的に表したIPv4やIPv6で定義されているIPヘッダに含まれる項目が含まれてもよいし、ホップバイホップ(Hop-by-Hop)オプションヘッダや宛先オプションヘッダが含まれてもよい。また、ネットワークヘッダ部161には、例えば、文献(Y. Imai, M. shin and Y. Kim, “XCAST6 : eXplict Multicast on IPv6”, IEEE/IPSJ SAINT2003 Workshop 4, IPv6 and Applications, Orland, Jan. 2003.)で知られているXCASTのヘッダが含まれてもよい。   The destination address 165 and the source address 166 are addresses on the network such as IPv4 and IPv6. The network header portion 161 may include items included in an IP header defined in IPv4 or IPv6, which abstractly represents the IP header, a hop-by-hop option header, A destination option header may be included. The network header 161 includes, for example, documents (Y. Imai, M. shin and Y. Kim, “XCAST6: eXplict Multicast on IPv6”, IEEE / IPSJ SAINT2003 Workshop 4, IPv6 and Applications, Orland, Jan. 2003). XCAST header known in.) May be included.

宛先ポート番号167及び送信元ポート番号168は、例えば、UDP(User Define Protocol)などのトランスポートプロトコルの宛先ポート番号及び送信元ポート番号である。データタイプ169は、そのパケットがストリームを構成するデータの一部なのか、制御パケットなのかを区別するための領域である。データタイプ169は、トランスポートプロトコルによって、例えば、ビットフラグや数など、その実現方法が変わりうる。   The destination port number 167 and the source port number 168 are, for example, a destination port number and a source port number of a transport protocol such as UDP (User Define Protocol). The data type 169 is an area for distinguishing whether the packet is a part of data constituting the stream or a control packet. The implementation method of the data type 169 can be changed depending on the transport protocol, for example, a bit flag or a number.

データクラス170は、複数のストリームの複数のデータフローを多重化する領域である。データクラス170には、そのデータフローを含むセッションが有しているデータフローの数が記述されており、データクラス170に記述されている最大値が1つの通信のセッションの中のフローの数を表す。タイムスタンプ171は、パケットの送信端末100からの送信時刻を記録する領域である。通番172は、データフローを構成するパケット毎に付与された番号である。   The data class 170 is an area where a plurality of data flows of a plurality of streams are multiplexed. The data class 170 describes the number of data flows that a session including the data flow has, and the maximum value described in the data class 170 indicates the number of flows in one communication session. To express. The time stamp 171 is an area for recording the transmission time of the packet from the transmission terminal 100. The serial number 172 is a number assigned to each packet constituting the data flow.

RTPヘッダ163は、アプリケーションがストリームを再生するために必要な情報を格納する。アプリケーションがストリームを再生するために必要な情報には、例えば、アプリケーションでの音声や動画などの再生タイミングを規定するためのタイムスタンプや通番といった情報が含まれる。ペイロード164は、音声や画像などの送信したいデータ本体である。   The RTP header 163 stores information necessary for the application to reproduce the stream. The information necessary for the application to reproduce the stream includes, for example, information such as a time stamp and a serial number for defining the reproduction timing of audio, video, etc. in the application. The payload 164 is a data body to be transmitted such as sound and image.

なお、ヘッダ160の構成順序は、図2の並びに限定されない。例えば、データクラス170が、RTPヘッダ163の後に出現してもよいし、宛先ポート番号167の位置と送信元ポート番号168の位置とが逆転してもよい。   Note that the configuration order of the header 160 is not limited to that shown in FIG. For example, the data class 170 may appear after the RTP header 163, or the position of the destination port number 167 and the position of the transmission source port number 168 may be reversed.

まず、識別部142は、ヘッダ160に記述された宛先アドレス165、送信元アドレス166、宛先ポート番号167、及び送信元ポート番号168を解析して通信のセッションを特定する。次いで、識別部142は、データクラス170により、特定されたセッションに含まれる複数のフローを識別する。このようにして、識別部142では、パケットのヘッダ160を解析することにより、通信のセッション及びそのセッションに含まれる複数のフローが識別される。上記の例では、先に到着した第1のストリームのヘッダを解析することにより、第1のストリームのフローと第2のストリームのフローとの2つのフローからなるセッションが存在することが識別される。   First, the identification unit 142 analyzes a destination address 165, a transmission source address 166, a destination port number 167, and a transmission source port number 168 described in the header 160, and identifies a communication session. Next, the identification unit 142 identifies a plurality of flows included in the identified session based on the data class 170. In this way, the identification unit 142 identifies the communication session and a plurality of flows included in the session by analyzing the header 160 of the packet. In the above example, by analyzing the header of the first stream that has arrived first, it is identified that there is a session consisting of two flows, the flow of the first stream and the flow of the second stream. .

なお、通信のセッションの識別には、上記の他にも以下のような方法を用いることができる。例えば、宛先アドレス165のみを用いてもよいし、宛先ポート番号167及び送信元ポート番号168のかわりに、RTPヘッダ163に含まれるSSRC(送信元識別子)を用いてもよい。また、IPv6ヘッダのトラフィッククラスやオプションヘッダ中の特定のチャネル識別子を用いてもよい。   In addition to the above, the following method can be used for identifying a communication session. For example, only the destination address 165 may be used, or an SSRC (source identifier) included in the RTP header 163 may be used instead of the destination port number 167 and the source port number 168. Moreover, a specific channel identifier in the traffic class of the IPv6 header or the option header may be used.

また、セッションに含まれる複数のフローを特定するには、上記の他にも以下のような方法を用いることができる。例えば、IPv6ヘッダのフローラベルを用いてもよいし、独自に定義したヘッダを追加して用いてもよい。また、送信元アドレス166、宛先ポート番号167及び送信元ポート番号168を用いることも可能であるし、VLAN番号やMPLSのラベルなど下位層の仮想回線を多重化するための識別子を用いることも可能である。   In addition to the above, the following method can be used to identify a plurality of flows included in a session. For example, an IPv6 header flow label may be used, or a uniquely defined header may be added and used. It is also possible to use a source address 166, a destination port number 167, and a source port number 168, and it is also possible to use identifiers for multiplexing lower-layer virtual circuits such as VLAN numbers and MPLS labels. It is.

識別部142の機能を実現する方法としては、上記説明で用いられていないヘッダ160の領域またはその領域の一部を用いて、通信のセッションを識別し、そのセッションの中の複数のフローを識別しうる。換言すれば、識別部142の機能は、トランスポートプロトコル毎に様々な方式で実現することができる。   As a method of realizing the function of the identification unit 142, a communication session is identified by using an area of the header 160 that is not used in the above description or a part of the area, and a plurality of flows in the session are identified. Yes. In other words, the function of the identification unit 142 can be realized by various methods for each transport protocol.

遅延部143では、識別部142により識別された、1つのセッションに含まれる複数のフローに対して一時蓄積遅延処理が行われる。すなわち、遅延部143では、1つのセッションに含まれる複数のフローのパケットを送信すべき時刻を特定し、特定された時刻まで、そのセッションに含まれる複数のフローを蓄積することによりパケットの送信を遅延させる。   The delay unit 143 performs temporary accumulation delay processing for a plurality of flows included in one session identified by the identification unit 142. That is, the delay unit 143 specifies the time at which packets of a plurality of flows included in one session are to be transmitted, and transmits a packet by accumulating a plurality of flows included in the session until the specified time. Delay.

具体的には、遅延部143では、まず、通信のセッション毎に各フローのパケットのタイムスタンプ171が検査され、各フローのパケットのタイムスタンプの値が記憶される。このとき、遅延部143は、データクラス170の値によって、1つのセッションにおいていくつのフローが存在するか知ることができる。また、遅延部143では、各フローのパケットのタイムスタンプの値と遅延部143が保持する時刻情報との差分から、どのフローのパケットが最も遅く到着し、どのフローのパケットが最も早く到着しているかが判定される。   Specifically, the delay unit 143 first checks the packet time stamp 171 of each flow for each communication session, and stores the time stamp value of the packet of each flow. At this time, the delay unit 143 can know how many flows exist in one session according to the value of the data class 170. Further, in the delay unit 143, from the difference between the time stamp value of each flow packet and the time information held by the delay unit 143, which flow packet arrives latest and which flow packet arrives earliest. Is determined.

そして、遅延部143では、1つのセッションに含まれる最も遅いフローが到着し、そのセッションに含まれる複数のフローを送信すべき時刻まで、既に遅延部143に到着している他のフローの各パケットが一時蓄積される。「フローを送信すべき時刻」は、最も遅いフローが到着したタイミング、または最も遅いフローが到着した後のタイミングで設定される。上記の例では、第1のストリームは、第2のストリームよりもT秒早く中継端末140に到着するので、第1のストリームのパケットは、遅延部143でT秒又はT秒以上一時蓄積されることになる。   Then, in the delay unit 143, each packet of another flow that has already arrived at the delay unit 143 until the time when the latest flow included in one session arrives and a plurality of flows included in the session should be transmitted is transmitted. Is temporarily stored. The “time to send a flow” is set at the timing when the latest flow arrives or at the timing after the latest flow arrives. In the above example, since the first stream arrives at the relay terminal 140 earlier than the second stream by T seconds, the packets of the first stream are temporarily stored in the delay unit 143 for T seconds or more than T seconds. It will be.

ところで、1つのセッションに含まれる最も遅いフローが到着するまでに既に到着した各パケットは、すべてが同時に遅延部143に到着するわけではない。すなわち、1つのセッションに含まれる各パケットが遅延部143に一時蓄積される時間は、パケット毎に異なりうる。したがって、遅延部143では、1つのセッションに含まれるパケット単位で、タイムスタンプや遅延部143への到着時刻などの情報を管理して、これらを送信すべき時刻を特定する必要がある。以下、この動作について説明する。   By the way, all the packets that have already arrived by the arrival of the latest flow included in one session do not all arrive at the delay unit 143 at the same time. That is, the time for which each packet included in one session is temporarily stored in the delay unit 143 may be different for each packet. Therefore, in the delay unit 143, it is necessary to manage information such as a time stamp and an arrival time at the delay unit 143 in units of packets included in one session and specify a time at which these are to be transmitted. Hereinafter, this operation will be described.

上記のように、遅延部143の記憶部144は、パケット単位で、タイムスタンプが刻印されたパケットそのものを示す情報と、パケットの遅延部143への到着時刻と、そのパケットが属するセッションのパケットを送信すべき時刻とを対応付けて格納する。   As described above, the storage unit 144 of the delay unit 143 stores, for each packet, information indicating the packet itself stamped with the time stamp, the arrival time of the packet at the delay unit 143, and the packet of the session to which the packet belongs. The time to be transmitted is stored in association with each other.

図3は、記憶部144がパケット毎に管理するデータの構造を示す図である。   FIG. 3 is a diagram illustrating a data structure managed by the storage unit 144 for each packet.

図3において、パケット180は、パケットそのものを示す情報であり、パケットが送信端末100から送信された時刻を記述するタイムスタンプ欄が含まれている。到着時刻記憶領域182は、パケットの到着時刻を記録する領域である。送信時刻記憶領域184は、そのパケットのセッションに含まれる複数のフローのパケットを送信すべき時刻を記録する領域である。送信時刻記憶領域184への時刻の記録方法については、後に詳細に説明する。パケット180と、到着時刻記憶領域182と、送信時刻記憶領域184とは、リスト構造で結合されて管理されることで互いに関連付けて記録される。   In FIG. 3, a packet 180 is information indicating the packet itself, and includes a time stamp column describing the time when the packet was transmitted from the transmission terminal 100. The arrival time storage area 182 is an area for recording the arrival time of a packet. The transmission time storage area 184 is an area for recording a time at which packets of a plurality of flows included in the packet session are to be transmitted. A method of recording time in the transmission time storage area 184 will be described in detail later. The packet 180, the arrival time storage area 182 and the transmission time storage area 184 are recorded in association with each other by being combined and managed in a list structure.

遅延部143は、通信のセッションの各フローのパケットを受信すると、すべてのパケットについて、到着時刻記憶領域182にパケットの到着時刻を記録する。また、遅延部143は、パケットを受信する毎に、遅延部143が保持する最大フロー数管理表を更新する。   When receiving a packet of each flow of the communication session, the delay unit 143 records the arrival time of the packet in the arrival time storage area 182 for all packets. The delay unit 143 updates the maximum flow number management table held by the delay unit 143 every time a packet is received.

図4は、最大フロー数管理表のデータ構造を示す図である。   FIG. 4 is a diagram illustrating a data structure of the maximum flow number management table.

図4において、通信のセッション欄190には、識別部142によりセッション毎に割り当てられた識別子が記述される。最大フロー数欄192には、通信のセッション欄190に記述されたセッションに対応するフローの数が記述される。また、最大フロー数欄192に記述されるフロー数は、例えば、階層符号化マルチキャスト通信における流量制御が行われる場合には、更新されうる。   In FIG. 4, an identifier assigned for each session by the identification unit 142 is described in the communication session column 190. The maximum flow number column 192 describes the number of flows corresponding to the session described in the communication session column 190. In addition, the number of flows described in the maximum number of flows column 192 can be updated, for example, when flow control is performed in hierarchically encoded multicast communication.

遅延部143では、パケットを受信する毎に、ヘッダ160中のデータクラス170の最大値を検査することにより、そのパケットを含むセッションに対応する最大フロー数欄192が更新される。データクラス170の最大値と最大フロー数欄192に記述された数とが同一になることは、セッションに含まれるすべてのパケットが受信されたことを意味する。すなわち、遅延部143の更新により、送信時刻記憶領域184に記録される時刻の更新が完了し、そのセッションに含まれるすべてのパケットを送信すべき時刻を確定することができる。以下、パケットを送信すべき時刻の確定処理について説明する。   Each time the delay unit 143 receives a packet, the maximum value of the data class 170 in the header 160 is checked to update the maximum flow number column 192 corresponding to the session including the packet. The fact that the maximum value of the data class 170 is the same as the number described in the maximum flow number column 192 means that all the packets included in the session have been received. In other words, the update of the delay unit 143 completes the update of the time recorded in the transmission time storage area 184, and the time at which all packets included in the session should be transmitted can be determined. Hereinafter, the process for determining the time at which a packet should be transmitted will be described.

遅延部143では、受信したパケット180の中のタイムスタンプ欄に記述されている時刻と到着時刻記憶領域182に記述されているパケットの到着時刻との差分時間が計算され、遅延部143が保持する差分時間管理表が更新される。   The delay unit 143 calculates a difference time between the time described in the time stamp column in the received packet 180 and the arrival time of the packet described in the arrival time storage area 182, and the delay unit 143 holds the time. The differential time management table is updated.

図5は、差分時間管理表のデータ構造を示す図である。   FIG. 5 is a diagram illustrating a data structure of the differential time management table.

図5において、通信のセッション欄194には、識別部142によりセッション毎に割り当てられた識別子が記述される。フロー欄196には、セッションに含まれる各フローのナンバーがセッション毎に記述される。通信のセッション欄194とフロー欄196との組み合わせは、キー項目であり、上記最大フロー数管理表の最大フロー数欄192の更新にあわせて、これらのキー項目が設定される。例えば、図4の最大フロー数欄192が更新されて“2”となった場合、図5の通信のセッション欄194及びフロー欄196には、それぞれ2行の領域が確保される。差分時間欄198には、パケット180の中のタイムスタンプ欄に記述されている時刻と到着時刻記憶領域182に記述されているパケットの到着時刻との差分時間が記述される。   In FIG. 5, an identifier assigned to each session by the identification unit 142 is described in the communication session column 194. In the flow column 196, the number of each flow included in the session is described for each session. The combination of the communication session column 194 and the flow column 196 is a key item, and these key items are set in accordance with the update of the maximum flow number column 192 of the maximum flow number management table. For example, when the maximum flow number column 192 in FIG. 4 is updated to “2”, two rows of areas are secured in the communication session column 194 and the flow column 196 in FIG. The difference time column 198 describes the difference time between the time described in the time stamp column in the packet 180 and the arrival time of the packet described in the arrival time storage area 182.

なお、差分時間欄198に記述される差分時間は、上記のように、パケット180の中のタイムスタンプ欄に記述されている時刻と到着時刻記憶領域182に記述されているパケットの到着時刻との差分時間により、単純に毎回更新してもよいし、例えば、過去N回分の差分時間を加重平均したものにより更新してもよい。   Note that the difference time described in the difference time column 198 is the time between the time described in the time stamp column in the packet 180 and the arrival time of the packet described in the arrival time storage area 182 as described above. It may be updated simply every time based on the difference time, or may be updated based on, for example, a weighted average of the difference times for the past N times.

遅延部143は、受信したパケットに対応する差分時間管理表を更新すると同時に、既に受信しているパケットを一時蓄積して遅延させるべき時間、つまり、パケットを送信すべき時刻を決定する。   The delay unit 143 updates the differential time management table corresponding to the received packet, and at the same time, determines the time for temporarily storing and delaying the already received packet, that is, the time for transmitting the packet.

具体的には、まず、遅延部143は、通信のセッションのフロー毎に、差分時間欄198に記述されている時間を比較して、そのセッションの中で最も遅く到着しているフローを特定する。次に、遅延部143は、セッションの中で最も遅く到着しているフローの差分時間欄198に記述されている値をDMAXとして、そのセッションの他のフローの差分時間欄198に記述されている値(D)のそれぞれについて、DMAX−Dを計算する。DMAX−Dで表される値は、そのパケットを一時蓄積して遅延させるべき時間を示している。そして、遅延部143は、DMAX−Dの値から、パケットを送信すべき時刻を決定して、送信時刻記憶領域184に記述する。具体的には、遅延部143は、各パケットについて、到着時刻記憶領域182に記述されたパケットの到着時刻とDMAX−Dで示される値とを加算した時刻を、パケットを送信すべき時刻として送信時刻記憶領域184に記述する。また、パケットを一時蓄積して遅延させる時間は、DMAX−Dに限定されない。例えば、パケットを一時蓄積して遅延させる時間は、DMAX−Dに任意の係数α(αは1.0以上の数)をかけ、α(DMAX−D)としても良い。このように、1つのセッションに含まれる最後のパケットが到着したタイミング、又は前記最後のパケットが到着してから所定の時間が経過したタイミングを、パケットを送信すべき時刻として送信時刻記憶領域184に記述することができる。 Specifically, first, the delay unit 143 compares the time described in the difference time column 198 for each flow of the communication session, and identifies the flow that has arrived the latest in the session. . Next, the delay unit 143 describes the value described in the difference time column 198 of the flow arriving latest in the session as D MAX and is described in the difference time column 198 of other flows in the session. For each value (D i ), D MAX −D i is calculated. Value represented by D MAX -D i indicates the time to be delayed by temporarily storing the packet. The delay unit 143, from the value of D MAX -D i, to determine the time to transmit a packet is described in the transmission time storage area 184. Time Specifically, the delay unit 143, for each packet, the time obtained by adding the value indicated by the arrival time of the packet written in the arrival time storage area 182 and the D MAX -D i, to transmit a packet As described in the transmission time storage area 184. Also, the time to delay by temporarily storing packets, not limited to the D MAX -D i. For example, the time for temporarily accumulating packets and delaying them may be set to α (D MAX −D i ) by multiplying D MAX −D i by an arbitrary coefficient α (α is a number of 1.0 or more). In this way, the timing at which the last packet included in one session arrives, or the timing at which a predetermined time has elapsed since the last packet arrived, is stored in the transmission time storage area 184 as the time at which the packet should be transmitted. Can be described.

例えば、図5において、セッションBに含まれるフローが、フローB1〜フローB3であるとする。このとき、DMAX=305なので、フローB2を一時蓄積する時間は、305−215=90であり、フローB3を一時蓄積すべき時間は、305−125=180である。 For example, in FIG. 5, it is assumed that the flows included in the session B are the flow B1 to the flow B3. At this time, since D MAX = 305, the time for temporarily storing the flow B2 is 305-215 = 90, and the time for temporarily storing the flow B3 is 305-125 = 180.

遅延部143では、1つのセッションに含まれるすべてのパケットが受信されるまで上記一連の動作が繰り返されることにより、そのセッションに含まれるすべてのパケットを同時に送信すべき時刻が決定され、各パケットの送信時刻記憶領域184に記述される。   The delay unit 143 repeats the above series of operations until all the packets included in one session are received, thereby determining the time at which all the packets included in the session should be transmitted simultaneously. Described in the transmission time storage area 184.

また、遅延部143は、1つのセッションに含まれるすべてのパケットを受信すると、図3に示すすべてのデータ(パケット180、到着時刻記憶領域182に記述されたパケットの到着時刻、及び送信時刻記憶領域184に記述されたパケットを送信すべき時刻)を、遅延部143の内部に保持する送信待ちキュー145に格納する。   When the delay unit 143 receives all the packets included in one session, the delay unit 143 receives all the data shown in FIG. 3 (the packet 180, the arrival time of the packet described in the arrival time storage area 182 and the transmission time storage area). 184) is stored in the transmission queue 145 held in the delay unit 143.

補正部146では、送信待ちキュー145に格納されたデータに基づいて、1つのセッションに含まれる各パケットについて、これらのパケットが遅延部143で一時蓄積された時間の分だけタイムスタンプが補正される。具体的には、補正部146は、各パケットについて、各パケットを送信すべき時刻から各パケットの到着時刻を減算して、各パケットが遅延部143に一時蓄積された時間を計算し、この一時蓄積された時間の分だけ、各パケット中のタイムスタンプ欄に記述された時刻を足し上げる。上記の例では、第1のストリームのパケットに刻印されたタイムスタンプに記述された時刻Tに、第1のストリームが蓄積された時間であるTだけ足しあげて、T+Tに補正する。 Based on the data stored in transmission queue 145, correction unit 146 corrects the time stamp of each packet included in one session by the amount of time that these packets were temporarily stored in delay unit 143. . Specifically, for each packet, the correction unit 146 subtracts the arrival time of each packet from the time at which each packet is to be transmitted, and calculates the time when each packet is temporarily stored in the delay unit 143. The time described in the time stamp column in each packet is added by the accumulated time. In the above example, the time T 0 described in the time stamp stamped on the packet of the first stream is added by T, which is the time when the first stream is accumulated, and corrected to T 0 + T.

なお、中継装置140の上流(又は下流)の中継装置における一時蓄積処理により、タイムスタンプ欄に記述された時間にこれらの中継装置での一時蓄積時間が加算(又は減算)されている場合には、これらの一時蓄積時間を相殺するようなタイムスタンプの補正を行うことも可能である。例えば、タイムスタンプの補正は、第1のストリームのパケットに刻印されたタイムスタンプに記述された時刻Tに、第1のストリームが蓄積された時間であるTにβを乗じた時間を足しあげて、T+βT(βは正の任意の係数)に補正することもできる。 When the temporary storage process in the relay device upstream (or downstream) of the relay device 140 adds (or subtracts) the temporary storage time in these relay devices to the time described in the time stamp column. It is also possible to correct the time stamp so as to offset these temporary accumulation times. For example, the time stamp is corrected by adding a time obtained by multiplying T, which is the time when the first stream is accumulated, by β, to the time T 0 described in the time stamp imprinted on the packet of the first stream. Thus, it can be corrected to T 0 + βT (β is an arbitrary positive coefficient).

ここで、補正部146は、タイムスタンプを補正するために、タイムスタンプの刻印粒度を知る必要がある。タイムスタンプの刻印粒度は、補正部146が予め知っていてもよいし、中継装置140が推定してもよい。中継装置140におけるタイムスタンプの刻印粒度の推定は、例えば、以下のようにして実現されうる。   Here, the correction unit 146 needs to know the marking granularity of the time stamp in order to correct the time stamp. The time stamp stamping granularity may be known in advance by the correction unit 146 or may be estimated by the relay device 140. The estimation of the time stamping granularity in the relay apparatus 140 can be realized as follows, for example.

すなわち、中継装置140で、通信のセッションのそれぞれのフロー毎にフローキューと呼ばれるキューを設ける。識別部142では、受信したパケットをそれぞれのフローキューに格納する。このとき、フローキューに格納された前後のパケットの通番172を比較し、通番172に隔たりがない場合、この2つのパケットの到達時刻記憶領域に記録されている時間の差を計算してDgapとし、この2つのパケットのタイムスタンプの差を計算してDtsとする。DgapとDtsとの比を検査することにより、タイムスタンプの刻印粒度を推定することができる。すなわち、同一経路で受信した連番のパケットの到着時刻の差Dgapとタイムスタンプの値の間隔Dtsとの比(Dgap/Dts)を求め、この比の平均値やばらつきから、送信端末におけるタイムスタンプの刻印粒度の信頼性を確認する。このようにして、送信端末から時々刻々と送信されるストリーミングの送信間隔、つまり、これらのストリーミングのパケットに刻印されたタイムスタンプの刻印粒度を推定することができる。なお、この推定方式の、Dgap及びDtsの算出には、例えば、これらの過去M回分の平均を用いるようにしてもよい。 That is, the relay device 140 provides a queue called a flow queue for each flow of the communication session. The identification unit 142 stores the received packet in each flow queue. At this time, the serial numbers 172 of the previous and subsequent packets stored in the flow queue are compared. If there is no gap between the serial numbers 172, the difference between the times recorded in the arrival time storage areas of the two packets is calculated to calculate D gap And the difference between the time stamps of these two packets is calculated as D ts . By inspecting the ratio between D gap and D ts , the time stamping granularity can be estimated. That is, a ratio (D gap / D ts ) between the difference D gap of arrival times of consecutively received packets on the same route and the interval D ts of time stamp values is obtained, and transmission is performed from the average value and variation of this ratio. Check the reliability of the time stamp granularity at the terminal. In this way, it is possible to estimate the streaming transmission interval transmitted from the transmitting terminal every moment, that is, the marking granularity of the time stamps stamped on these streaming packets. In addition, for the calculation of D gap and D ts in this estimation method, for example, an average of these past M times may be used.

補正部146がタイムスタンプの刻印粒度を知るためには、送信端末100からの制御パケットを受信する必要があるので、中継装置140がタイムスタンプの刻印粒度を推定することにより、タイムスタンプからの刻印粒度を知らせるための制御パケットを削減することができる。   In order for the correction unit 146 to know the stamp granularity of the time stamp, it is necessary to receive the control packet from the transmission terminal 100. Therefore, the relay device 140 estimates the stamp granularity of the time stamp, thereby imprinting the stamp from the time stamp. Control packets for informing the granularity can be reduced.

送信部148では、遅延部143の送信待ちキュー145に格納されたすべてのデータが走査され、受信端末150に対してパケットが送信される。このとき、送信部148では、上記パケットを送信すべき時刻を含む情報と現在時刻とを比較して、これらの時刻が一致した場合、またはパケットを送信すべき時刻が現在時刻よりも経過している場合に、受信端末150に対してパケットを送信する。   The transmission unit 148 scans all data stored in the transmission queue 145 of the delay unit 143 and transmits a packet to the reception terminal 150. At this time, the transmission unit 148 compares the information including the time at which the packet should be transmitted with the current time, and if these times match, or the time at which the packet should be transmitted has passed from the current time. If it is, the packet is transmitted to the receiving terminal 150.

ここで、送信待ちキューに格納されたすべてのパケットを送信すべき時刻は、厳密には、上述したタイムスタンプの刻印粒度により異なりうる。送信部148によるこれらのパケットの具体的な送信処理は、例えば、マルチタスクをサポートするOS上の1つのタスクを用いて、以下のように実現可能である。   Here, strictly speaking, the time at which all the packets stored in the transmission waiting queue should be transmitted may differ depending on the time stamping granularity described above. The specific transmission process of these packets by the transmission unit 148 can be realized as follows using, for example, one task on the OS that supports multitasking.

まず、送信部148は、遅延部143の送信待ちキュー145に格納されたすべてのデータについて走査し、送信時刻記憶領域184に記憶されている領域が最も近いもの(最も近い未来に送信すべきと記憶されているもの)を選択する。そして、このパケットをPNEXT、PNEXTの送信時刻をTNEXT、現在時刻をTNOWとして、TNEXT−TNOW≧0を満たした後に、送信部148は、PNEXTの送信処理を行う。次いで、送信部148は、送信時刻記憶領域184に記憶されている領域がPNEXTの次に近いパケットについて、同様の送信処理を行う。このような処理を繰り返し行うことで、全ての送信待ちキュー145に格納されたすべてのデータが順次送信され、送信部148の処理を連続的に無矛盾に実行可能となる。 First, the transmission unit 148 scans all the data stored in the transmission waiting queue 145 of the delay unit 143, and the area stored in the transmission time storage area 184 is the closest (assuming that transmission should be performed in the nearest future). Select the one that is stored. Then, assuming that this packet is P NEXT , the transmission time of P NEXT is T NEXT , and the current time is T NOW , and T NEXT −T NOW ≧ 0 is satisfied, the transmission unit 148 performs the transmission processing of P NEXT . Then, the transmission unit 148, the next close packet regions P NEXT stored in the transmission time storage area 184, performs the same transmission processing. By repeatedly performing such processing, all the data stored in all the transmission queues 145 are sequentially transmitted, and the processing of the transmission unit 148 can be executed continuously and consistently.

送信部148から送信された各パケットは、同期処理が実現されているのみならず、遅延部143で一時蓄積された時間の分だけタイムスタンプが補正されている。したがって、タイムスタンプを用いて送信端末100と受信端末150との間の往復時間を計測する場合、遅延部143での一時蓄積時間を除いた時間が計測される。   Each packet transmitted from the transmission unit 148 is not only synchronized, but also has its time stamp corrected by the amount of time temporarily stored in the delay unit 143. Therefore, when the round trip time between the transmission terminal 100 and the reception terminal 150 is measured using the time stamp, the time excluding the temporary accumulation time in the delay unit 143 is measured.

受信端末150では、中継装置140の送信部148からの1つのセッションに含まれる複数のフローのパケットが受信され、再生される。   The receiving terminal 150 receives and reproduces packets of a plurality of flows included in one session from the transmission unit 148 of the relay device 140.

以上説明したように、本実施の形態によれば、遅延部143が、同期して送信すべき1つのセッションに含まれる複数のパケットを、送信すべき時刻まで一時蓄積してパケット遅延させ、補正部146が、一時蓄積した各パケットについて、一時蓄積された時間の分だけ、各パケット中のタイムスタンプ欄を補正するようにした。これにより、送信端末からの関連する複数のストリームのパケットが異なる経路で受信端末に伝送される場合であっても、受信端末の無駄な記憶領域を省略するとともに、複数のストリームを同期させて受信端末に伝送することができる。   As described above, according to the present embodiment, the delay unit 143 temporarily accumulates a plurality of packets included in one session to be transmitted synchronously until the time to be transmitted, delays the packet, and corrects it. The unit 146 corrects the time stamp column in each packet for each temporarily stored packet by the amount of time temporarily stored. As a result, even when packets of a plurality of related streams from the transmitting terminal are transmitted to the receiving terminal through different paths, a useless storage area of the receiving terminal is omitted and a plurality of streams are received in synchronization. Can be transmitted to the terminal.

また、送信端末と受信端末との間で階層符号化を用いたストリームの伝送が行われ、その伝送で帯域推定が行われている場合であっても、不必要に低い帯域を推定することを防止することができ、受信端末で複数のストリームから高品質なデータを再生することができる。   In addition, even when a stream transmission using hierarchical coding is performed between a transmission terminal and a reception terminal and band estimation is performed in the transmission, it is necessary to estimate an unnecessarily low band. Therefore, it is possible to reproduce high quality data from a plurality of streams at the receiving terminal.

すなわち、識別部142、遅延部143、補正部146、及び送信部148が、上記のような処理を行うことにより、中継装置140における同期処理を実現することができる。このとき、同期される各パケット中のタイムスタンプが、遅延部143で一時蓄積された時間の分だけ補正されているので、送信端末100と受信端末150との間でタイムスタンプを用いてパケットの往復時間の計測を行っても、不必要にパケットの往復時間を多く計測してしまうことがない。結果として、送信端末100と受信端末150との間で、このパケットの往復時間を用いた帯域推定値を利用した流量制御が行われている場合でも、送信速度が不必要に低下することがなくなる。   That is, the identification unit 142, the delay unit 143, the correction unit 146, and the transmission unit 148 perform the processing as described above, whereby the synchronization processing in the relay device 140 can be realized. At this time, the time stamp in each packet to be synchronized is corrected by the amount of time temporarily stored in the delay unit 143, so that the time stamp is used between the transmitting terminal 100 and the receiving terminal 150. Even if the round trip time is measured, the round trip time of the packet is not unnecessarily measured. As a result, even when flow control is performed between the transmission terminal 100 and the reception terminal 150 using the bandwidth estimation value using the round trip time of the packet, the transmission speed is not unnecessarily decreased. .

また、補正部146のタイムスタンプ補正においては、タイムスタンプの刻印粒度をパケットの送信間隔から推定した結果を元にタイムスタンプを補正する。また、送信部148では、このタイムスタンプを元に再度送信を行うので、例外的にジッタを伴いながら到着時刻がずれて到着するパケットが存在する場合でも、送信端末が刻印したタイムスタンプの時刻に従って正確に再送信することができる。   In the time stamp correction by the correction unit 146, the time stamp is corrected based on the result of estimating the time stamping granularity from the packet transmission interval. In addition, since the transmission unit 148 performs transmission again based on this time stamp, even if there is a packet that arrives with an arrival time shifted with exceptional jitter, it follows the time stamp time stamped by the transmission terminal. Can be retransmitted accurately.

(実施の形態2)
実施の形態2は、階層符号化とマルチキャスト通信とを組み合わせて利用する伝送方式に本発明を適用した例である。本実施の形態では、そのような伝送方式の中でも、特に、後述するSICC(Sender Initiated Congestion Control)と呼ばれる伝送方式に対して本発明を適用した場合について説明する。すなわち、本実施の形態は、実施の形態1の中継装置を、SICC伝送方式の中継装置に適用した例である。そこで、まず本実施の形態の前提となるSICCについて説明した後に本発明の適用例を説明することにする。
(Embodiment 2)
The second embodiment is an example in which the present invention is applied to a transmission scheme that uses a combination of hierarchical coding and multicast communication. In the present embodiment, a case will be described in which the present invention is applied to a transmission method called SICC (Sender Initiated Congestion Control) described later, among such transmission methods. That is, the present embodiment is an example in which the relay device of the first embodiment is applied to a relay device of the SICC transmission method. Therefore, an application example of the present invention will be described after describing SICC which is a premise of the present embodiment.

階層符号化とは、例えば、映像信号や音声信号などから、基本階層と基本階層以外の1つ以上の差分階層とからなる階層化されたデータを作成することをいう。作成された階層化データは、複数の受信端末に対して送信されるが、各受信端末は、基本階層のデータに加え、自端末の性能や通信環境、希望する受信データの品質などに応じた差分階層のデータを受信する。一般的に、受信端末は、受信する差分階層のデータを増やすことで、より高品質の映像を再生することができる。   Hierarchical coding refers to, for example, creating hierarchized data consisting of a base layer and one or more difference layers other than the base layer from video signals, audio signals, and the like. The created layered data is transmitted to multiple receiving terminals. Each receiving terminal, in addition to the basic layer data, depends on its own terminal performance and communication environment, desired received data quality, etc. Receive the data of the difference hierarchy. Generally, the receiving terminal can reproduce higher quality video by increasing the data of the difference layer to be received.

このような階層符号化とマルチキャスト通信とを組み合わせて利用する伝送方式としては、例えば、文献(L. Vicisano, L. Rizzo, J. Crowcroft, “TCP-like congestion control for layered multicast data transfer”, Proc. IEEE ONFOCOM'98, Mar. 1998.)に示される方式がある。この方式による送信端末は、異なる符号化レートでエンコードされた複数のストリームを、それぞれ複数の異なるマルチキャストグループを用いて送信し、受信端末は、複数のストリームを受信し、同期して再生する。   As a transmission method using a combination of such hierarchical coding and multicast communication, for example, literature (L. Vicisano, L. Rizzo, J. Crowcroft, “TCP-like congestion control for layered multicast data transfer”, Proc IEEE ONFOCOM '98, Mar. 1998.) A transmitting terminal according to this method transmits a plurality of streams encoded at different encoding rates using a plurality of different multicast groups, and a receiving terminal receives the plurality of streams and reproduces them in synchronization.

このとき、それぞれのマルチキャストグループの配送経路が異なる場合や中継装置で特定のマルチキャストグループの優先制御が行われている場合には、複数のストリームが受信端末に到着するタイミングがずれることがある。その場合、中継装置又は受信端末で同期処理を行う必要がある。   At this time, when the delivery routes of the respective multicast groups are different, or when priority control of a specific multicast group is performed in the relay device, the timing at which a plurality of streams arrive at the receiving terminal may be shifted. In that case, it is necessary to perform synchronization processing at the relay device or the receiving terminal.

複数の端末に対して、複数のストリームを流量制御しながら伝送する方式として、文献(村本衛一、米田孝弘、鈴木史章、鈴木良宏、中村敦司,“送信者起動マルチキャストにおける輻輳制御方法の提案”,インターネットカンファレンス 2003論文集 p5〜p10,2003年10月)で知られているSICC(Sender Initiated Congestion Control)がある。SICCでは、複数の端末にパケットを届ける方法として、文献(Y. Imai, M. Shin and Y. Kim, “XCAST6:eXplict Multicast on IPv6”, IEEE/IPSJ SAINT2003 Workshop4, IPv6 and Applications, Orland, Jan. 2003)で知られているXCASTを利用し、帯域推定方式として、上述したRFC3448で規定されるTFRC(TCP friendly rate control)を利用する。   As a method for transmitting a plurality of streams to a plurality of terminals while controlling the flow rate, literature (Eiichi Muramoto, Takahiro Yoneda, Fumiaki Suzuki, Yoshihiro Suzuki, Junji Nakamura, “Congestion control method in sender-initiated multicast” There is a SICC (Sender Initiated Congestion Control) known from “Proposal”, Internet Conference 2003 Proceedings, p5 to p10, October 2003). In SICC, literature (Y. Imai, M. Shin and Y. Kim, “XCAST6: eXplict Multicast on IPv6”, IEEE / IPSJ SAINT2003 Workshop4, IPv6 and Applications, Orland, Jan. XCAST known in 2003) is used, and TFRC (TCP friendly rate control) defined by RFC3448 described above is used as a band estimation method.

まず、XCASTについて説明する。XCASTとは、送信端末が、グループに属する全受信端末の宛先アドレスを、パケット内のオプションヘッダ又はペイロードに格納することにより、送信端末がパケットを配信する全受信端末を明示的に指定する明示的マルチキャスト方式の代表的な方式である。   First, XCAST will be described. XCAST is an explicit specification in which the transmitting terminal explicitly specifies all the receiving terminals to which the transmitting terminal distributes the packet by storing the destination addresses of all the receiving terminals belonging to the group in the option header or payload in the packet. This is a typical multicast method.

XCASTでは、中継装置(ルータなど)がXCASTに対応していない場合、パケットは、未配送の1台の受信端末に届けられる。受信端末は、パケット中に未配送の受信端末が残っている場合、パケットをその未配送の受信端末に対して送信し直す。受信端末がこの動作を繰り返すことで、すべての受信端末にパケットが配送される。   In XCAST, when a relay device (such as a router) does not support XCAST, the packet is delivered to one undelivered receiving terminal. When there is an undelivered receiving terminal in the packet, the receiving terminal retransmits the packet to the undelivered receiving terminal. When the receiving terminal repeats this operation, the packet is delivered to all the receiving terminals.

図6は、XCASTを説明するための通信ネットワークの構成の一例を示す図である。   FIG. 6 is a diagram illustrating an example of a configuration of a communication network for explaining XCAST.

図6の通信システムは、送信端末200、3台の中継装置210〜214、及び5台の受信端末220〜228を備えて構成される。なお、中継装置の台数及び受信端末の台数は特に限定されず、これらを接続する方法も任意である。   The communication system of FIG. 6 includes a transmission terminal 200, three relay devices 210 to 214, and five reception terminals 220 to 228. Note that the number of relay devices and the number of receiving terminals are not particularly limited, and a method of connecting them is also arbitrary.

送信端末200は、入力した原データを階層符号化して階層化データを作成し、作成した各階層化データに対して送信先アドレスなどの情報を付与したパケットを生成する。また、送信端末200は、生成した各パケットを通信ネットワーク上に送信する。中継装置210〜214は、パケットに含まれる送信先アドレス情報に基づいてルーティングを行う。受信端末220〜228は、送信端末200が配信したパケットを受信する。また、受信端末220〜228は、受信したデータをデコードし、基本階層のデータと差分階層のデータとを合成する。   The transmission terminal 200 generates hierarchical data by hierarchically encoding the input original data, and generates a packet in which information such as a transmission destination address is added to each generated hierarchical data. In addition, the transmission terminal 200 transmits the generated packets on the communication network. The relay apparatuses 210 to 214 perform routing based on transmission destination address information included in the packet. Receiving terminals 220 to 228 receive packets distributed by transmitting terminal 200. The receiving terminals 220 to 228 decode the received data and synthesize the base layer data and the difference layer data.

送信端末200が生成して送信するパケットについて、図7を用いて説明する。   A packet generated and transmitted by the transmission terminal 200 will be described with reference to FIG.

図7(A)〜図7(E)は、XCAST方式のパケットの一例を示す図である。なお、図7(A)〜図7(E)は、パケットとしてXCAST方式によるIPv6パケットを用いた場合の例である。   FIG. 7A to FIG. 7E are diagrams illustrating an example of an XCAST packet. FIGS. 7A to 7E show an example in which an IPv6 packet based on the XCAST method is used as a packet.

図7(A)〜図7(E)において、IPv6パケット230は、ユニキャストヘッダ232、ルーティングヘッダ234、及び映像データなどの送信したいデータ本体であるペイロード236を有する。   7A to 7E, an IPv6 packet 230 has a unicast header 232, a routing header 234, and a payload 236 that is a data body to be transmitted such as video data.

ユニキャストヘッダ232は、宛先アドレス及び送信元アドレスをそれぞれ1つずつ記述する領域である。例えば、図7(A)では、宛先アドレスとして受信端末(R1)220のアドレスが(dst=R1)、送信元アドレスとして送信端末(S)200のアドレスがそれぞれ記述されている。ユニキャストヘッダ232に記述される宛先アドレスは、ルーティングヘッダ234に記述される未配送のアドレスの中の最上位のアドレスである。このように、ユニキャストヘッダ232に受信端末のアドレスを1つ記述しておくことで、経路上の中継装置がXCASTに未対応の場合でも、この中継装置は、XCAST方式のIPv6パケット230をユニキャスト方式のパケットとして認識し、ユニキャストヘッダ232に記述された宛先アドレスが指し示す受信端末へ向けてパケットを転送することができる。   The unicast header 232 is an area for describing one destination address and one source address. For example, in FIG. 7A, the address of the receiving terminal (R1) 220 is described as the destination address (dst = R1), and the address of the transmitting terminal (S) 200 is described as the source address. The destination address described in the unicast header 232 is the highest address among undelivered addresses described in the routing header 234. In this way, by describing one address of the receiving terminal in the unicast header 232, even if the relay device on the route does not support XCAST, this relay device transmits the IPv6 packet 230 of the XCAST scheme to the unicast header 232. The packet can be recognized as a cast packet and forwarded to the receiving terminal indicated by the destination address described in the unicast header 232.

ルーティングヘッダ234は、送信先となる受信端末のアドレスリスト、及びアドレスリストに記述された各受信端末に対してパケットを配信済みか未配送かを示すフラグを記述する領域である。例えば、図7(A)では、受信端末(R1)220、受信ノード(R3)224、及び受信ノード(R4)226が記述されている。アドレスリストに記述される宛先アドレスには順序があり、図7(A)では、左側に位置するR1が最上位、右側に位置するR4が最下位である。前述の通り、ルーティングヘッダ234の未配送かつ最上位の宛先アドレスが、ユニキャストヘッダ232に記述される。   The routing header 234 is an area for describing an address list of a receiving terminal as a transmission destination and a flag indicating whether a packet has been delivered or not delivered to each receiving terminal described in the address list. For example, in FIG. 7A, a receiving terminal (R1) 220, a receiving node (R3) 224, and a receiving node (R4) 226 are described. The destination addresses described in the address list have an order, and in FIG. 7A, R1 located on the left is the highest and R4 located on the right is the lowest. As described above, the undelivered and highest-order destination address of the routing header 234 is described in the unicast header 232.

図6の通信システムにおいて、送信端末200が、受信端末(R1)220、受信端末(R3)224、及び受信端末(R4)226に図7(A)のパケットを送信する場合における各中継装置210〜214の動作を説明する。ここでは、中継装置210〜214がXCASTに対応している場合について説明する。   In the communication system of FIG. 6, each relay apparatus 210 when the transmission terminal 200 transmits the packet of FIG. 7A to the reception terminal (R1) 220, the reception terminal (R3) 224, and the reception terminal (R4) 226. Operations of ˜214 will be described. Here, a case where the relay apparatuses 210 to 214 support XCAST will be described.

送信端末200から中継装置210に、図7(A)のパケットが送信されると、中継装置210は、受信したパケットを分割・複製する。具体的には、図7(A)のパケットは、受信端末(R3)224及び受信端末(R4)226の宛先アドレスを配送済みにした受信端末(R1)220宛てのパケット(図7(B)参照)と、受信端末(R1)220の宛先アドレスを配送済みにし、ユニキャストヘッダ232に受信端末(R3)224の宛先アドレスが記述された受信端末(R3)224及び受信端末(R4)226宛てのパケット(図7(C)参照)とに分割・複製される。図7(B)のパケットは、受信端末(R1)220に転送され、図7(C)のパケットは、中継装置212に転送される。   When the packet in FIG. 7A is transmitted from the transmission terminal 200 to the relay apparatus 210, the relay apparatus 210 divides and duplicates the received packet. Specifically, the packet in FIG. 7A is a packet addressed to the receiving terminal (R1) 220 in which the destination addresses of the receiving terminal (R3) 224 and the receiving terminal (R4) 226 have been delivered (FIG. 7B). To the receiving terminal (R3) 224 and the receiving terminal (R4) 226 in which the destination address of the receiving terminal (R3) 224 is described in the unicast header 232. The packet is divided and duplicated (see FIG. 7C). The packet shown in FIG. 7B is transferred to the receiving terminal (R1) 220, and the packet shown in FIG. 7C is transferred to the relay device 212.

中継装置212は、図7(C)のパケットを、受信端末(R4)226の宛先アドレスを配送済みにした受信端末(R3)224宛てのパケット(図7(D)参照)と、受信端末(R3)224の宛先アドレスを配送済みにし、ユニキャストヘッダ232に受信端末(R4)226の宛先アドレスが記述された受信端末(R4)226宛てのパケット(図7(E)参照)とに分割・複製する。図7(D)のパケットは、受信端末(R3)224に転送される。また、図7(E)のパケットは、中継装置214に転送され、受信端末(R4)226にさらに転送される。   The relay device 212 transmits the packet shown in FIG. 7C to the packet addressed to the receiving terminal (R3) 224 that has already delivered the destination address of the receiving terminal (R4) 226 (see FIG. 7D) and the receiving terminal (R). R3) The destination address of 224 is already delivered, and is divided into packets addressed to the receiving terminal (R4) 226 in which the destination address of the receiving terminal (R4) 226 is described in the unicast header 232 (see FIG. 7E). Duplicate. The packet in FIG. 7D is transferred to the receiving terminal (R3) 224. 7E is transferred to the relay device 214 and further transferred to the receiving terminal (R4) 226.

このように、各中継装置は、通信システム内の各中継装置がXCASTに対応している場合、受信したパケット内のアドレスリストを参照して、パケットの分割・複製、及び転送を行いながら、各受信端末に対してパケットを効率的に配送する。   As described above, when each relay device in the communication system is compatible with XCAST, each relay device refers to the address list in the received packet while performing packet division / duplication and transfer. Efficiently deliver packets to receiving terminals.

次に、中継装置210〜214のすべてがXCASTに未対応の場合における中継装置及び受信端末の動作を説明する。ここでも、図6の通信システムにおいて、送信端末200が、受信端末(R1)220、受信端末(R3)224、及び受信端末(R4)226に図7(A)のパケットを送信する場合における各中継装置210〜214の動作を説明する。   Next, operations of the relay apparatus and the receiving terminal when all of the relay apparatuses 210 to 214 are not compatible with XCAST will be described. Here, in the communication system of FIG. 6, each of the cases where the transmission terminal 200 transmits the packet of FIG. 7A to the reception terminal (R1) 220, the reception terminal (R3) 224, and the reception terminal (R4) 226. The operation of the relay devices 210 to 214 will be described.

送信端末200から中継装置210に、図7(A)のパケットが送信されると、中継装置210は、図7(A)のパケットを、ユニキャストヘッダ232に記述された宛先である受信端末(R1)220に転送する。   When the packet in FIG. 7A is transmitted from the transmission terminal 200 to the relay device 210, the relay device 210 transmits the packet in FIG. 7A to the reception terminal (the destination terminal described in the unicast header 232). R1) to 220.

受信端末(R1)220は、図7(A)のパケットを受信すると、アドレスリストに記述されているアドレスを参照して新たなパケット図7(C)を生成する。図7(C)のパケットは、受信端末(R1)220の宛先アドレスを配送済みにし、ユニキャストヘッダ232に受信端末(R3)224の宛先アドレスが記述された中継装置210宛てのパケットである。このパケットは、中継装置210及び中継装置212を経由して、受信端末(R3)224に転送される。   Receiving terminal (R1) 220, when receiving the packet of FIG. 7A, refers to the address described in the address list and generates a new packet FIG. 7C. The packet in FIG. 7C is a packet addressed to the relay apparatus 210 in which the destination address of the receiving terminal (R1) 220 is already delivered and the destination address of the receiving terminal (R3) 224 is described in the unicast header 232. This packet is transferred to the receiving terminal (R3) 224 via the relay device 210 and the relay device 212.

受信端末(R3)224は、図7(C)のパケットを受信すると、アドレスリストに記述されているアドレスを参照して新たなパケット図7(E)を生成する。図7(E)のパケットは、受信端末(R3)224の宛先アドレスを配送済みにし、ユニキャストヘッダ232に受信端末(R4)226の宛先アドレスが記述された中継装置212宛てのパケットである。このパケットは、中継装置212及び中継装置214を経由して、受信端末(R4)226に転送される。   When the receiving terminal (R3) 224 receives the packet of FIG. 7C, the receiving terminal (R3) 224 refers to the address described in the address list and generates a new packet FIG. 7E. The packet in FIG. 7E is a packet addressed to the relay apparatus 212 in which the destination address of the receiving terminal (R3) 224 is already delivered and the destination address of the receiving terminal (R4) 226 is described in the unicast header 232. This packet is transferred to the receiving terminal (R4) 226 via the relay device 212 and the relay device 214.

このように、中継装置210〜214がXCASTに未対応の場合、各中継装置は、パケットの分割・複製を行わず、ユニキャストヘッダ232に記述された宛先アドレスの受信端末に向けて転送する。ユニキャストヘッダ232に記述される宛先アドレスは、ルーティングヘッダ234に記述されたアドレスリストの順序に従う。したがって、送信されたパケットの受信端末間の配送順序は、送信端末200がルーティングヘッダ234に記述したアドレスリストの順序に依存する。   As described above, when the relay apparatuses 210 to 214 do not support XCAST, each relay apparatus transfers the packet toward the receiving terminal having the destination address described in the unicast header 232 without dividing or duplicating the packet. The destination address described in the unicast header 232 follows the order of the address list described in the routing header 234. Therefore, the delivery order of the transmitted packets between the receiving terminals depends on the order of the address list described in the routing header 234 by the sending terminal 200.

以上説明したように、XCASTにおいては、通信システム内の中継装置がXCASTに対応している場合のみならず、通信システム内にXCASTに未対応の中継装置がある場合であっても、パケットの配送を実現することができる。   As described above, in XCAST, not only when a relay device in the communication system supports XCAST, but also when there is a relay device that does not support XCAST in the communication system, packet delivery Can be realized.

上記のように、SICCは、XCASTにおいて、TFRCを利用した流量制御を実現する方式である。以下、TFRCを利用した流量制御について説明する。   As described above, SICC is a method for realizing flow rate control using TFRC in XCAST. Hereinafter, flow control using TFRC will be described.

SICCにおいて、送信端末は、XCASTパケットを送信する受信端末を、各受信端末の性能や通信環境に基づいた複数のクラスに分類し、分類されたクラス毎に異なるレートのXCASTパケットを送信する。クラスの分類(送信端末から受信端末への送信可能レートの推定)は、TFRCを利用して各受信端末について行われ、各受信端末のクラスは、逐次更新されうる。また、それぞれのXCASTパケットは、分類されたクラスに対応する受信者のアドレスに配送される。   In SICC, a transmitting terminal classifies receiving terminals that transmit XCAST packets into a plurality of classes based on the performance and communication environment of each receiving terminal, and transmits XCAST packets at different rates for each classified class. Class classification (estimation of the transmittable rate from the transmitting terminal to the receiving terminal) is performed for each receiving terminal using TFRC, and the class of each receiving terminal can be updated sequentially. Each XCAST packet is delivered to the address of the recipient corresponding to the classified class.

このように、分類されたSICCのクラス毎に、階層符号化でエンコードされた複数のストリームを送信することにより、利用可能な帯域が大きい受信端末(群)には、高詳細な動画を送信し、利用可能な帯域が小さい受信端末(群)には、粗い動画を送信するといった適応流量制御が可能となる。   In this way, by transmitting a plurality of streams encoded by hierarchical encoding for each classified SICC class, a high-detail video is transmitted to a receiving terminal (group) having a large available bandwidth. Thus, adaptive flow rate control such as transmitting a coarse moving image to a receiving terminal (group) having a small available bandwidth becomes possible.

次に、図6の通信システムに本発明の中継装置の同期方式(一時蓄積及びタイムスタンプの補正)を適用した動作について説明する。図6の例では、中継装置210〜214が、同期して送信すべき階層符号化された複数のストリームを一時蓄積するとともに、一時蓄積された各ストリームのパケットに記述されたタイムスタンプの値を補正する。   Next, an operation in which the synchronization method (temporary storage and time stamp correction) of the relay apparatus of the present invention is applied to the communication system of FIG. 6 will be described. In the example of FIG. 6, the relay apparatuses 210 to 214 temporarily store a plurality of hierarchically encoded streams to be transmitted synchronously, and the time stamp value described in the packet of each temporarily stored stream to correct.

図6において、中継装置210〜214は、それぞれ図1の中継装置140と同一の機能を有している。すなわち、中継装置210〜214は、1つのセッションにおいて同期されるべき複数のストリームを識別する。また、中継装置210〜214は、これらのストリームがすべて到着するまで、先に到着したストリームに対して一時蓄積遅延処理を行う。さらに、中継装置210〜214は、一時蓄積遅延処理を行った各ストリームに対して、一時蓄積した時間だけタイムスタンプの値を補正する。   In FIG. 6, the relay devices 210 to 214 each have the same function as the relay device 140 of FIG. 1. That is, the relay apparatuses 210 to 214 identify a plurality of streams to be synchronized in one session. Further, the relay apparatuses 210 to 214 perform a temporary accumulation delay process on the stream that has arrived first until all of these streams arrive. Further, the relay apparatuses 210 to 214 correct the time stamp value for the temporarily accumulated time for each stream for which the temporary accumulation delay processing has been performed.

例えば、中継装置214が送信端末200から時刻Taに送信された上位階層のストリーム及び下位階層のストリームを同期して受信端末228に送信する場合について考える。ここで、上位階層のストリームが、中継装置210→中継装置212→受信端末222→中継装置212→中継装置214の順に伝送され時刻Tbに中継装置214に到着し、下位階層のストリームが、中継装置210→受信端末220→中継装置210→中継装置212→受信端末222→中継装置212→中継装置214の順に伝送され時刻Tcに中継装置214に到着するものとする。また、上位階層のストリームは、下位階層のストリームよりもTdだけ早く中継装置214に到着するものとする(つまり、Tc−Tb=Td)。   For example, consider a case where the relay device 214 transmits the upper layer stream and the lower layer stream transmitted from the transmission terminal 200 at time Ta to the reception terminal 228 in synchronization. Here, the upper layer stream is transmitted in the order of relay device 210 → relay device 212 → receiving terminal 222 → relay device 212 → relay device 214 and arrives at relay device 214 at time Tb, and the lower layer stream is the relay device. It is assumed that 210 → receiving terminal 220 → relay device 210 → relay device 212 → reception terminal 222 → relay device 212 → relay device 214 are transmitted in this order and arrive at relay device 214 at time Tc. In addition, it is assumed that the upper layer stream arrives at the relay apparatus 214 earlier by Td than the lower layer stream (that is, Tc−Tb = Td).

中継装置214は、上位階層のストリームを受信すると、受信した上位階層のストリームは、後で到着する下位階層のストリームと同期させて受信端末228に送信すべきストリームであることを識別する。そして、中継装置214は、先に到着した上位階層のストリームを、下位階層のストリームが到着するまで一時蓄積する。この一時蓄積時間は、例えば、Tdである。最後に、中継装置214は、上位階層のストリーム及び下位階層のストリームを同期させて、下位階層のストリームが到着したタイミング、又は下位階層のストリームが到着した後のタイミングで受信端末228に送信する。   When receiving the upper layer stream, the relay device 214 identifies that the received upper layer stream is a stream to be transmitted to the receiving terminal 228 in synchronization with the lower layer stream that arrives later. Then, the relay device 214 temporarily stores the upper layer stream that has arrived first until the lower layer stream arrives. This temporary accumulation time is, for example, Td. Finally, the relay device 214 synchronizes the upper layer stream and the lower layer stream, and transmits to the receiving terminal 228 at the timing when the lower layer stream arrives or at the timing after the lower layer stream arrives.

このとき、中継装置214は、先に到着した上位階層のストリームのタイムスタンプに記述された値Taを補正する。このタイムスタンプの補正は、具体的には、上位階層のストリームのタイムスタンプに記述された値Taに、上位階層のストリームの中継装置214での一時蓄積時間を加算することにより行われる。例えば、一時蓄積時間がTdであれば、上位階層のストリームのタイムスタンプに記述される値は、TaからTa+Tdに補正される。   At this time, the relay device 214 corrects the value Ta described in the time stamp of the upper layer stream that has arrived first. Specifically, the correction of the time stamp is performed by adding the temporary accumulation time in the relay device 214 of the upper layer stream to the value Ta described in the time stamp of the upper layer stream. For example, if the temporary accumulation time is Td, the value described in the time stamp of the upper layer stream is corrected from Ta to Ta + Td.

このように、SICCを用いた伝送方式においても、中継装置210〜214が上述した同期処理を行うことにより、RTTを不必要に大きく算出することなく、階層化された複数のストリームを同期させることができる。   As described above, also in the transmission method using SICC, the relay apparatuses 210 to 214 perform the above-described synchronization processing, thereby synchronizing a plurality of hierarchized streams without calculating the RTT unnecessarily large. Can do.

ここで、本実施の形態の階層符号化されたストリームのXCASTパケットに記述されているヘッダ構造と、実施の形態1のストリームのパケットに記述されているヘッダ構造(図2)とを比較して説明する。   Here, the header structure described in the XCAST packet of the hierarchically encoded stream of the present embodiment is compared with the header structure described in the stream packet of the first embodiment (FIG. 2). explain.

図8は、本発明の実施の形態2の階層符号化されたストリームのXCASTパケットに記述されているヘッダ構造を示す図である。   FIG. 8 is a diagram illustrating a header structure described in the XCAST packet of the hierarchically coded stream according to the second embodiment of the present invention.

ヘッダ250は、ネットワークヘッダ部251、トランスポートヘッダ部252、RTPヘッダ253、及びペイロード254からなる。ネットワークヘッダ部251は、IPv6ヘッダ255と、パケットがXCAST対応パケットであることを示すXCAST6ヘッダ256とを含む。また、トランスポートヘッダ部252は、SICCヘッダ260を含む。   The header 250 includes a network header part 251, a transport header part 252, an RTP header 253, and a payload 254. The network header portion 251 includes an IPv6 header 255 and an XCAST6 header 256 indicating that the packet is an XCAST compatible packet. In addition, the transport header portion 252 includes a SICC header 260.

SICCヘッダ260は、宛先ポート261、送信元ポート262、バージョン263、タイプ264、ヘッダ長265、シーケンス番号266、クラス267、タイムスタンプ268、RTT通知欄269、フラグ270、予備領域271、通番272、ADU通番273、パケット長274、パケット数275、及びパケット通番276を含む。   The SICC header 260 includes a destination port 261, a source port 262, a version 263, a type 264, a header length 265, a sequence number 266, a class 267, a time stamp 268, an RTT notification column 269, a flag 270, a spare area 271, a serial number 272, ADU serial number 273, packet length 274, number of packets 275, and packet serial number 276 are included.

次に、図8のヘッダ構造と図2のヘッダ構造との対応関係を説明する。   Next, the correspondence between the header structure of FIG. 8 and the header structure of FIG. 2 will be described.

ネットワークヘッダ部251は、図2のネットワークヘッダ部161に相当する。具体的には、IPv6ヘッダ255の中の宛先アドレス及び送信元アドレスは、宛先アドレス165及び送信元アドレス166に対応する。   The network header portion 251 corresponds to the network header portion 161 in FIG. Specifically, the destination address and the source address in the IPv6 header 255 correspond to the destination address 165 and the source address 166.

トランスポートヘッダ部252のSICCヘッダ260は、図2のトランスポートヘッダ部162に相当する。具体的には、宛先ポート261は、宛先ポート番号167に対応し、送信元ポート262は、送信元ポート番号168に対応する。バージョン263及びタイプ264の組み合わせは、データタイプ169に対応する。クラス267は、データタイプ169に対応する。タイムスタンプ268は、タイムスタンプ171に対応する。通番272は、通番172に対応する。   The SICC header 260 of the transport header portion 252 corresponds to the transport header portion 162 of FIG. Specifically, the destination port 261 corresponds to the destination port number 167, and the transmission source port 262 corresponds to the transmission source port number 168. The combination of version 263 and type 264 corresponds to data type 169. Class 267 corresponds to data type 169. The time stamp 268 corresponds to the time stamp 171. The serial number 272 corresponds to the serial number 172.

なお、ヘッダ長265、シーケンス番号266、RTT通知欄269、フラグ270、予備領域271、ADU通番273、パケット長274、パケット数275、及びパケット通番276は、送信端末と受信端末との間のSICC処理に特有のものであるか、または、本実施例には直接関係のないものであるため、その説明を省略する。   The header length 265, sequence number 266, RTT notification field 269, flag 270, spare area 271, ADU sequence number 273, packet length 274, number of packets 275, and packet sequence number 276 are the SICC between the transmitting terminal and the receiving terminal. The description is omitted because it is unique to the processing or is not directly related to the present embodiment.

以上説明したように、階層符号化されたストリームのXCASTパケットのヘッダ構造250は、実施の形態1のヘッダ構造160に対応付けられる。したがって、本実施の形態の中継装置は、実施の形態1の中継装置と同様に、通信のセッションを識別でき、通信のセッション毎に含まれるフローを特定でき、同期処理を行うためにパケットを一時蓄積し、パケット往復時間に一時蓄積時間が加算されないようにタイムスタンプを補正することができる。   As described above, the header structure 250 of the XCAST packet of the hierarchically encoded stream is associated with the header structure 160 of the first embodiment. Therefore, like the relay device of the first embodiment, the relay device of this embodiment can identify a communication session, can specify a flow included in each communication session, and temporarily transmits a packet for synchronization processing. The time stamp can be corrected so that the temporary accumulation time is not added to the packet round-trip time.

このように、本実施の形態によれば、SICCに代表される階層符号化とマルチキャスト通信とを組み合わせて利用する伝送方式においても、受信端末の無駄な記憶領域を省略し、かつ、不必要に低い帯域の推定を防止することができる。   As described above, according to this embodiment, even in a transmission scheme that uses a combination of hierarchical coding represented by SICC and multicast communication, a useless storage area of the receiving terminal is omitted and unnecessary. Low band estimation can be prevented.

すなわち、XCASTパケットが受信端末で数珠繋ぎに転送される場合や上流の中継装置(XCAST対応)においてパケットの転送が行われる場合に、上流の受信端末又は中継装置が同期処理を行うことにより、下流の受信端末のバッファ領域を多量に消費することを防止することができる。また、送信端末と受信端末との間で流量制御が行われる場合に、その性質を不必要に低下させることなく複数のストリームを同期処理することができる。   That is, when the XCAST packet is transferred in a daisy chain at the receiving terminal or when the packet is transferred in the upstream relay device (XCAST compatible), the upstream receiving terminal or the relay device performs the synchronization process, so that the downstream It is possible to prevent a large amount of the buffer area of the receiving terminal from being consumed. Further, when flow control is performed between the transmission terminal and the reception terminal, a plurality of streams can be synchronously processed without unnecessarily degrading the property.

例えば、図9に示すように、SICCにおいて、階層符号化された上位階層のストリームおよび下位階層のストリームが載せられたXCASTパケットがそれぞれ異なる経路で受信端末242〜246を伝送される場合であっても、受信端末間に設けられた中継装置(図示せず)が、必要に応じて、先に到着したストリームを一時蓄積して同期させた上で2つのストリームを下流の受信端末に送信する。これにより、この下流の受信端末のバッファリング領域の消費を防止することができる。また、これらのストリームがさらに下流の受信端末に伝送される場合であっても、さらに下流の受信端末または中継装置によるバッファリング処理の負荷を低減することができる。   For example, as shown in FIG. 9, in SICC, XCAST packets carrying a layer-encoded upper layer stream and a lower layer stream are transmitted to receiving terminals 242 to 246 through different paths, respectively. In addition, a relay device (not shown) provided between the receiving terminals temporarily stores and synchronizes the previously arrived streams as necessary, and transmits the two streams to the downstream receiving terminal. Thereby, consumption of the buffering area | region of this downstream receiving terminal can be prevented. Further, even when these streams are transmitted to a downstream receiving terminal, it is possible to reduce the load of buffering processing by the downstream receiving terminal or the relay device.

さらに、同期処理を施した中継装置は、一時蓄積したストリームのパケットに記述されたタイムスタンプを、その一時蓄積時間の分だけ足し上げることにより補正する。すなわち、従来の中継装置において一時蓄積時間TS2を含めて計測されていたRTTの計測値(TS3−TS1)は、この計測値から一時蓄積時間TS2を除いた理想的なRTTの計測値(TS3−TS1−TS2)となるように補正される(図10参照)。これにより、RTTを不必要に多く計測することなく、好適な帯域推定による流量制御を実現することができる。   Further, the relay apparatus that has performed the synchronization process corrects the time stamp described in the packet of the temporarily accumulated stream by adding the amount of the temporarily accumulated time. That is, the RTT measurement value (TS3-TS1) measured in the conventional relay apparatus including the temporary accumulation time TS2 is an ideal RTT measurement value (TS3-TS1) obtained by removing the temporary accumulation time TS2 from this measurement value. TS1-TS2) (see FIG. 10). As a result, it is possible to realize flow rate control by suitable band estimation without measuring an unnecessarily large number of RTTs.

以上まとめると、本実施の形態によれば、実施の形態1で説明したタイムスタンプの補正技術をSICC伝送方式に適用して、SICC伝送方式の能力を向上させることができる。   In summary, according to the present embodiment, it is possible to improve the capability of the SICC transmission scheme by applying the time stamp correction technique described in the first embodiment to the SICC transmission scheme.

(実施の形態3)
本実施の形態は、実施の形態1又は実施の形態2において、下流の中継装置や受信端末から上流の中継装置や送信端末に対して、同期処理を依頼する場合である。このようなケースとしては、下流の中継装置や受信端末が、自端末が保持するバッファリング領域では同期処理が不可能となった場合などが考えられる。以下、図面を参照して詳細に説明する。
(Embodiment 3)
The present embodiment is a case where the synchronization processing is requested from the downstream relay device or receiving terminal to the upstream relay device or transmitting terminal in the first embodiment or the second embodiment. As such a case, a case where a downstream relay device or a receiving terminal becomes unable to perform synchronization processing in the buffering area held by the terminal itself can be considered. Hereinafter, it will be described in detail with reference to the drawings.

図11は、本発明の実施の形態3に係る中継装置を含む通信システムの全体構成の一例を示すブロック図である。   FIG. 11 is a block diagram showing an example of the overall configuration of a communication system including a relay device according to Embodiment 3 of the present invention.

中継装置300は、図1の中継装置140の構成において、バッファリング要求受付部310、及びバッファリング要求部320をさらに備える。中継装置330は、中継装置300と同一の構成をとり、中継装置300の下流に接続されている。中継装置350は、中継装置300と同一の構成をとり、中継装置300の上流に接続されている。ここでは、説明の簡略化のため、中継装置330については、バッファリング要求部340のみを図示し、中継装置350については、バッファリング要求受付部360のみを図示する。   The relay device 300 further includes a buffering request reception unit 310 and a buffering request unit 320 in the configuration of the relay device 140 of FIG. The relay device 330 has the same configuration as the relay device 300 and is connected downstream of the relay device 300. The relay device 350 has the same configuration as the relay device 300 and is connected upstream of the relay device 300. Here, for simplification of description, only the buffering request unit 340 is illustrated for the relay device 330, and only the buffering request reception unit 360 is illustrated for the relay device 350.

なお、中継装置300は、音声動画などのストリームを再生する受信端末の機能を有していてもよい。また、中継装置330は、中継装置300の下流に接続されたバッファリング要求部を備える受信端末であってもよいし、中継装置350は、中継装置300の上流に接続されたバッファリング要求部を備える送信端末であってもよい。   Note that the relay device 300 may have a function of a receiving terminal that reproduces a stream such as an audio video. Further, the relay device 330 may be a receiving terminal including a buffering request unit connected downstream of the relay device 300, and the relay device 350 may include a buffering request unit connected upstream of the relay device 300. It may be a transmission terminal provided.

バッファリング要求受付部310は、下流の中継装置又は受信端末から送信されたバッファリング要求パケットを受信して、バッファリング要求部320に出力する。バッファリング要求パケットには、同期処理を要求する端末の宛先情報、同期処理を行うセッションに含まれるパケットの数や長さ、各パケットを一時蓄積する時間などの情報が記述される。   The buffering request reception unit 310 receives a buffering request packet transmitted from a downstream relay device or receiving terminal, and outputs the packet to the buffering request unit 320. The buffering request packet describes information such as destination information of the terminal that requests the synchronization process, the number and length of packets included in the session that performs the synchronization process, and the time for temporarily storing each packet.

バッファリング要求部320は、バッファリング要求受付部310から入力されたバッファリング要求パケットを参照して、バッファリング要求パケットに記述された同期処理を中継装置300で行うかどうかを判断する。バッファリング要求部320は、その判断の結果、同期処理を行うと判断した場合には、識別部142、遅延部143、及び補正部146に対して、自端末で同期処理を行う旨の指示を出す。一方、同期処理を行わないと判断した場合には、上流の中継装置又は送信端末に対してバッファリング要求パケットを送信する。なお、中継装置300で同期処理を行うかどうかの判断方法は、後の動作説明で詳細に説明する。   The buffering request unit 320 refers to the buffering request packet input from the buffering request reception unit 310 and determines whether or not the relay apparatus 300 performs the synchronization process described in the buffering request packet. If the buffering request unit 320 determines that the synchronization process is to be performed as a result of the determination, the buffering request unit 320 instructs the identification unit 142, the delay unit 143, and the correction unit 146 to perform the synchronization process on its own terminal. put out. On the other hand, when it is determined that the synchronization process is not performed, a buffering request packet is transmitted to the upstream relay device or transmission terminal. Note that a method for determining whether or not to perform synchronization processing in the relay device 300 will be described in detail later in the description of the operation.

以下、上述のように構成された通信システムの動作について詳細に説明する。ここでは、図11に即して、中継装置300が、中継装置330のバッファリング要求部340からのバッファリング要求パケットを受信し、同期処理を行うかどうかを判断して、同期処理を行わないと判断した場合に、中継装置350のバッファリング要求受付部360に対してバッファリング要求パケットを送信する例について説明する。   Hereinafter, the operation of the communication system configured as described above will be described in detail. Here, in accordance with FIG. 11, the relay apparatus 300 receives the buffering request packet from the buffering request unit 340 of the relay apparatus 330, determines whether to perform the synchronization process, and does not perform the synchronization process. An example of transmitting a buffering request packet to the buffering request accepting unit 360 of the relay device 350 when it is determined as follows will be described.

まず、中継装置300のバッファリング要求受付部310は、中継装置330のバッファリング要求部340から送信されたバッファリング要求パケットを受信してバッファリング要求部320に出力する。   First, the buffering request reception unit 310 of the relay device 300 receives the buffering request packet transmitted from the buffering request unit 340 of the relay device 330 and outputs the packet to the buffering request unit 320.

バッファリング要求部320は、バッファリング要求受付部310から入力されたバッファリング要求パケットを参照して、バッファリング要求パケットに記述された同期処理を中継装置300で行うかどうかを判断する。この判断は、中継装置300でバッファリング可能な最大量と、バッファリング要求パケットに記述された同期処理を行うときに自端末で必要となるバッファリングの総量とを比較することにより行われる。以下、具体的に説明する。   The buffering request unit 320 refers to the buffering request packet input from the buffering request reception unit 310 and determines whether or not the relay apparatus 300 performs the synchronization process described in the buffering request packet. This determination is made by comparing the maximum amount that can be buffered by the relay device 300 with the total amount of buffering that is necessary at the terminal when performing the synchronization process described in the buffering request packet. This will be specifically described below.

バッファリング要求部320は、遅延部143が保持する送信待ちキューの長さを参照することにより、中継装置300でバッファリング可能な最大量を逐次把握している。ここでは、中継装置300でバッファリング可能な最大量をBmaxとする。Bmaxは、静的に設定してもよいし、他のメモリ資源との競合状態などを加味して動的に設定してもよい。 The buffering request unit 320 sequentially grasps the maximum amount that can be buffered by the relay device 300 by referring to the length of the transmission waiting queue held by the delay unit 143. Here, the maximum amount that can be buffered by the relay device 300 is B max . B max may be set statically, or may be set dynamically in consideration of a competition state with other memory resources.

バッファリング要求部320は、バッファリング要求受付部310からバッファリング要求パケットが入力されると、遅延部143が保持する差分時間管理表(図5)を参照し、一時蓄積を行うべきフローを特定する。そして、バッファリング要求部320は、特定したフローの一時蓄積処理に必要なメモリの量を、バッファリング要求部320が保持するバッファリング量管理表を用いて管理する。   When a buffering request packet is input from the buffering request accepting unit 310, the buffering request unit 320 refers to the differential time management table (FIG. 5) held by the delay unit 143 and specifies a flow to be temporarily accumulated. To do. Then, the buffering request unit 320 manages the amount of memory necessary for the temporary accumulation processing of the identified flow using the buffering amount management table held by the buffering request unit 320.

図12は、バッファリング量管理表のデータ構造を示す図である。   FIG. 12 is a diagram illustrating a data structure of the buffering amount management table.

図12において、通信のセッション欄370には、識別部142によりセッション毎に割り当てられた識別子が記述される。フロー欄372には、セッションに含まれる各フローのナンバーがセッション毎に記述される。通信のセッション欄370とフロー欄372との組み合わせは、キー項目であり、図5の差分時間管理表の通信のセッション欄194とフロー欄196との組み合わせと同じものが記述される。受信間隔欄374には、それぞれのフローのパケットを受信する時間間隔が記述される。受信間隔欄374に記述される受信間隔は、新しいフローのパケットを受信する度に毎回更新してもよいし、例えば、過去L回のパケットの受信間隔を加重平均したものにより更新してもよい。レコード長376には、それぞれのフローのパケットの記憶領域の長さが記述される。それぞれのフローのパケット長が大きくなれば、それに従ってレコード長も大きい数値となる。レコード長376に記述される記憶領域は、例えば、過去K回のパケットの最大長を用いて更新することができる。   In FIG. 12, an identifier assigned for each session by the identification unit 142 is described in the communication session column 370. In the flow column 372, the number of each flow included in the session is described for each session. The combination of the communication session column 370 and the flow column 372 is a key item, and the same combination as the combination of the communication session column 194 and the flow column 196 in the differential time management table of FIG. 5 is described. The reception interval column 374 describes the time interval for receiving the packets of each flow. The reception interval described in the reception interval column 374 may be updated every time a packet of a new flow is received, or may be updated by, for example, a weighted average of the reception intervals of the past L times of packets. . The record length 376 describes the length of the storage area of each flow packet. As the packet length of each flow increases, the record length increases accordingly. The storage area described in the record length 376 can be updated using, for example, the maximum length of the past K packets.

バッファリング要求部320は、上記バッファリング量管理表と図5の差分時間管理表とを用いて、バッファリング要求パケットに記述された同期処理を行うときに自端末で必要となるバッファリングの総量を計算し、Bneedとする。 The buffering request unit 320 uses the buffering amount management table and the difference time management table of FIG. 5 to perform the synchronization processing described in the buffering request packet, and the total amount of buffering required by the terminal itself And B need is calculated.

そして、バッファリング要求部320は、BmaxとBneedとを比較する。そして、Bmax>Bneedであれば、バッファリング要求部320は、識別部142、遅延部143、及び補正部146に対して、自端末で同期処理を行う旨の指示を出し、識別部142、遅延部143、及び補正部146は、実施の形態1で説明した同期処理を行う。一方、Bmax≦Bneedであれば、上流の中継装置350のバッファリング要求受付部360に対してバッファリング要求パケットを送信する。なお、Bmax≦Bneedであっても、例えば、階層符号化された複数のストリームの一部の階層のみを同期処理し、他の部分の同期処理を上流の中継装置350に依頼することもできる。 Then, the buffering request unit 320 compares B max and B need . If B max > B need , the buffering request unit 320 instructs the identification unit 142, the delay unit 143, and the correction unit 146 to perform synchronization processing in its own terminal, and the identification unit 142 The delay unit 143 and the correction unit 146 perform the synchronization process described in the first embodiment. On the other hand, if B max ≦ B need , a buffering request packet is transmitted to the buffering request receiving unit 360 of the upstream relay apparatus 350. Note that even if B max ≦ B need , for example, only a part of layers of a plurality of layer-encoded streams may be synchronously processed, and the synchronous processing of other parts may be requested to the upstream relay device 350. it can.

中継装置350は、中継装置300からのバッファリング要求パケットを受信すると、中継装置300と同様に、同期処理を行うかどうかの判断を行う。そして、中継装置350は、同期処理を行うと判断した場合、実施の形態1で説明した同期処理を行う。一方、中継装置350は、同期処理を行わないと判断した場合、図示しないさらに上流の中継端末にバッファリング要求パケットを送信して同期処理を依頼する。   When the relay apparatus 350 receives the buffering request packet from the relay apparatus 300, the relay apparatus 350 determines whether or not to perform the synchronization process, similarly to the relay apparatus 300. When it is determined that the relay apparatus 350 performs the synchronization process, the relay apparatus 350 performs the synchronization process described in the first embodiment. On the other hand, when determining that the synchronization processing is not performed, the relay device 350 transmits a buffering request packet to a further upstream relay terminal (not illustrated) and requests the synchronization processing.

ここで、上流の中継装置又は送信端末が複数ある場合には、これらの装置や端末の中から、バッファリング要求パケットの送信先を決定する必要が生じる。バッファリング要求パケットの宛先は、例えば、次のような方法で決定されうる。   Here, when there are a plurality of upstream relay apparatuses or transmission terminals, it is necessary to determine the transmission destination of the buffering request packet from these apparatuses and terminals. The destination of the buffering request packet can be determined by the following method, for example.

[宛先選択方式1]
通信のセッションに含まれるフローのパケットの送信元アドレスに対して送信する。
[Destination selection method 1]
It transmits to the source address of the packet of the flow included in the communication session.

[宛先選択方式2]
通信のセッションに含まれるフローのパケットのXCASTヘッダ中に記述されている宛先アドレスのリストから選択した上流の端末のIPアドレスに対して送信する。
[Destination selection method 2]
The packet is transmitted to the IP address of the upstream terminal selected from the list of destination addresses described in the XCAST header of the flow packet included in the communication session.

[宛先選択方式3]
まず、通信のセッションに含まれるフローのパケットのXCASTヘッダ中に記述されている宛先アドレスのリストから、自端末のアドレスより上流に記述されている宛先アドレスの部分リストを抽出する。そして、抽出した部分リストの先頭に送信元アドレス(送信端末のアドレス)を追加したリストを作成し、その並び順を反転させたアドレスリストが記述されたXCASTヘッダを持つ端末に対して送信する。
[Destination selection method 3]
First, a partial list of destination addresses described upstream from the address of the own terminal is extracted from a list of destination addresses described in the XCAST header of a flow packet included in the communication session. Then, a list in which the source address (the address of the transmission terminal) is added to the head of the extracted partial list is created, and the list is transmitted to the terminal having the XCAST header in which the address list in which the arrangement order is reversed is described.

次に、バッファリング要求パケットについて、図13を用いて説明する。   Next, the buffering request packet will be described with reference to FIG.

図13は、バッファリング要求パケットの形式の一例を示す図である。   FIG. 13 is a diagram illustrating an example of a format of a buffering request packet.

図13のバッファリング要求パケットは、IPv6ヘッダ381、XCAST6ヘッダ382、送信元アドレス383、宛先ポート番号384、送信元ポート番号385、データクラス386、及び蓄積時間387からなる。   The buffering request packet in FIG. 13 includes an IPv6 header 381, an XCAST6 header 382, a transmission source address 383, a destination port number 384, a transmission source port number 385, a data class 386, and an accumulation time 387.

IPv6ヘッダ381の宛先アドレスには、上記宛先選択方式1〜3のいずれかにより決定されたバッファリング要求パケットの宛先アドレスが記述される。XCAST6ヘッダ382には、上記宛先選択方式3で宛先を決定した場合、宛先選択方式3で作成したアドレスリストが記述される。上記宛先選択方式1〜2で宛先を決定した場合、XCAST6ヘッダ382には何も記述されず、又はXCAST6ヘッダ382は付与されない。送信元アドレス383は、IPv4やIPv6などのネットワーク上のアドレスである。宛先ポート番号384及び送信元ポート番号385は、例えば、UDPなどのトランスポートプロトコルの宛先ポート番号及び送信元ポート番号である。データクラス386には、そのデータフローを含むセッションが有しているデータフローの数が記述される。蓄積時間387は、差分時間管理表を元に算出したフローを蓄積させるべき時間が記述される。   In the destination address of the IPv6 header 381, the destination address of the buffering request packet determined by any one of the destination selection methods 1 to 3 is described. The XCAST6 header 382 describes the address list created by the destination selection method 3 when the destination is determined by the destination selection method 3. When the destination is determined by the destination selection methods 1 and 2, nothing is described in the XCAST6 header 382, or the XCAST6 header 382 is not added. The source address 383 is an address on a network such as IPv4 or IPv6. The destination port number 384 and the source port number 385 are a destination port number and a source port number of a transport protocol such as UDP, for example. The data class 386 describes the number of data flows that a session including the data flow has. The accumulation time 387 describes the time to accumulate the flow calculated based on the difference time management table.

なお、本実施の形態のバッファリング要求部320は、中継装置300でバッファリング可能な最大量とバッファリング要求パケットに記述された同期処理を行うときに自端末で必要となるバッファリングの総量とを比較することにより同期処理を行うかどうかを判断したが、バッファリング要求部320の判断基準は、これに限定されない。例えば、中継装置300において、同期処理が実現されたかどうかの判定などのタスクを消費するCPU資源が足りない場合にも、上流の中継装置に同期処理を依頼することが想定される。このように、バッファリング要求パケットを受けたバッファリング要求部の判断基準としては、種々の形態が考えられる。   Note that the buffering request unit 320 of the present embodiment includes the maximum amount that can be buffered by the relay device 300 and the total amount of buffering that is necessary for the terminal itself when performing the synchronization processing described in the buffering request packet. It is determined whether or not the synchronization processing is performed by comparing the above, but the determination criterion of the buffering request unit 320 is not limited to this. For example, it is assumed that the relay apparatus 300 requests the upstream relay apparatus to perform the synchronization process even when CPU resources that consume tasks such as determination of whether the synchronization process has been realized are insufficient. As described above, various modes can be considered as a criterion for determining the buffering request unit that has received the buffering request packet.

また、本実施の形態のバッファリング要求部320は、バッファリング要求パケットに記述された同期処理を中継装置300で行うかどうかを判断したが、本発明はこれに限定されない。例えば、バッファリング要求受付部310が、バッファリング要求パケットに記述された同期処理を中継装置300で行うかどうかを判断してもよい。   Moreover, although the buffering request | requirement part 320 of this Embodiment judged whether the synchronous process described in the buffering request packet was performed in the relay apparatus 300, this invention is not limited to this. For example, the buffering request reception unit 310 may determine whether or not the relay apparatus 300 performs the synchronization process described in the buffering request packet.

また、バッファリング要求パケットが、通信システムの最上流である送信端末まで転送された場合、送信端末は、パケットの送信自体を明示的に遅らせるようにしてもよい。   Further, when the buffering request packet is transferred to the transmitting terminal which is the most upstream in the communication system, the transmitting terminal may explicitly delay the packet transmission itself.

このように、本実施の形態によれば、実施の形態1及び実施の形態2の効果に加えて、中継装置が何らかの理由でパケットの一時蓄積及びタイムスタンプの補正による同期処理を行うことができない場合であっても、上流の中継装置に同期処理を依頼するので、通信システムのうちのいずれかのポイントで同期処理を行うことができ、RTTの増加による不必要に低い帯域の推定を防止することができる。   Thus, according to the present embodiment, in addition to the effects of the first and second embodiments, the relay apparatus cannot perform synchronization processing by temporarily storing packets and correcting time stamps for some reason. Even in such a case, since the synchronization processing is requested to the upstream relay device, the synchronization processing can be performed at any point in the communication system, and the estimation of an unnecessarily low bandwidth due to an increase in RTT is prevented. be able to.

以上詳細に説明したように、上記各実施の形態によれば、送信端末と受信端末との間で流量制御を行いながら同期する必要がある複数のストリームを送信する場合に、本発明を中継装置、又はパケットを中継する受信端末に適用することで、受信端末で同期処理のための多量のメモリを必要とすることなしに、また、送信端末と受信端末との間の流量制御において不必要に性能劣化が起こることなしに、同期処理及び流量制御を行うことができる。   As described above in detail, according to each of the above embodiments, the present invention is applied to a relay apparatus when transmitting a plurality of streams that need to be synchronized while performing flow rate control between a transmission terminal and a reception terminal. Or by applying to a receiving terminal that relays a packet, without requiring a large amount of memory for synchronization processing at the receiving terminal, and unnecessary in flow control between the transmitting terminal and the receiving terminal Synchronous processing and flow control can be performed without performance degradation.

なお、上記各実施の形態では、中継装置が同期処理を行うようにしたが、本発明はこれに限定されない。例えば、必要に応じて、パケットの一時蓄積やタイムスタンプの補正を行う機能を有する受信端末が同期処理を行うようにしてもよい。この場合、受信端末のバッファリング領域は消費するが、不必要に低い帯域推定を防止することができ、受信品質の向上に一定の効果を得ることができる。   In each of the above embodiments, the relay apparatus performs the synchronization process, but the present invention is not limited to this. For example, a receiving terminal having a function of temporarily storing packets and correcting time stamps may perform synchronization processing as necessary. In this case, although the buffering area of the receiving terminal is consumed, an unnecessarily low bandwidth estimation can be prevented, and a certain effect can be obtained in improving reception quality.

本発明に係る中継装置及び中継方法は、送信端末からの関連する複数のストリームが異なる経路で受信端末に伝送される場合であっても、受信端末の無駄な記憶領域を省略し、かつ、不必要に低い帯域推定を行うことなく受信端末で複数のストリームから高品質なデータを再生することができる効果を有し、例えば、複数のマルチメディアデータを中継し、同期させて伝送する中継装置及び中継方法として有用である。   The relay apparatus and the relay method according to the present invention eliminates a wasteful storage area of the receiving terminal even when a plurality of related streams from the transmitting terminal are transmitted to the receiving terminal through different paths, and is not necessary. A relay device that has an effect that high-quality data can be reproduced from a plurality of streams at a receiving terminal without performing necessary low bandwidth estimation, for example, a relay device that relays a plurality of multimedia data and transmits them in synchronization It is useful as a relay method.

本発明の実施の形態1に係る中継装置を含む通信システムの全体構成の一例を示すブロック図The block diagram which shows an example of the whole structure of the communication system containing the relay apparatus which concerns on Embodiment 1 of this invention. ストリームのパケットに記述されているヘッダ構造の一例を示す図The figure which shows an example of the header structure described in the packet of the stream 遅延部の記憶部がパケット毎に管理するデータの構造を示す図The figure which shows the structure of the data which the memory | storage part of a delay part manages for every packet 最大フロー数管理表のデータ構造を示す図Diagram showing the data structure of the maximum flow count management table 差分時間管理表のデータ構造を示す図Diagram showing the data structure of the differential time management table XCASTを説明するための通信ネットワークの構成の一例を示す図The figure which shows an example of a structure of the communication network for demonstrating XCAST (A)XCAST方式のパケットの一例を示す図、(B)XCAST方式のパケットの他の例を示す図、(C)XCAST方式のパケットのさらに他の例を示す図、(D)XCAST方式のパケットのさらに他の例を示す図、(E)XCAST方式のパケットのさらに他の例を示す図(A) A diagram showing an example of an XCAST packet, (B) a diagram showing another example of an XCAST packet, (C) a diagram showing yet another example of an XCAST packet, (D) an XCAST packet The figure which shows the other example of a packet, The figure which shows the further another example of the packet of (E) XCAST system 本発明の実施の形態2の階層符号化されたストリームのXCASTパケットに記述されているヘッダ構造を示す図The figure which shows the header structure described in the XCAST packet of the hierarchy coding stream of Embodiment 2 of this invention 異なる経路で複数の受信端末を転送される階層符号化された2つのストリームを示す図The figure which shows two hierarchically-encoded streams transferred through a plurality of receiving terminals through different paths 送信パケットが一時蓄積された場合のRTTの算出を示す図The figure which shows calculation of RTT when a transmission packet is accumulate | stored temporarily 本発明の実施の形態3に係る中継装置を含む通信システムの全体構成の一例を示すブロック図The block diagram which shows an example of the whole structure of the communication system containing the relay apparatus which concerns on Embodiment 3 of this invention. バッファリング量管理表のデータ構造を示す図Diagram showing the data structure of the buffering amount management table バッファリング要求パケットの形式の一例を示す図The figure which shows an example of the format of a buffering request packet 従来の同期処理の一例を説明するための図The figure for demonstrating an example of the conventional synchronous process 従来の同期処理の他の例を説明するための図The figure for demonstrating the other example of the conventional synchronous processing

符号の説明Explanation of symbols

100 送信端末
110、120 ルータ
130、140、300、330、350 中継装置
142 識別部
143 遅延部
144 記憶部
145 送信待ちキュー
146 補正部
148 送信部
150 受信端末
310、360 バッファリング要求受付部
320、330 バッファリング要求部
100 Transmission terminal 110, 120 Router 130, 140, 300, 330, 350 Relay device 142 Identification unit 143 Delay unit 144 Storage unit 145 Transmission waiting queue 146 Correction unit 148 Transmission unit 150 Reception terminal 310, 360 Buffering request reception unit 320, 330 Buffering request section

Claims (10)

複数のデータフローの中から1つのセッションにおいて同期されるべき特定のデータフロー群を識別する識別部と、
前記特定のデータフロー群の一部のデータフローの送信を遅延させる遅延部と、
前記遅延させたデータフローに刻印されたタイムスタンプを、前記遅延部により遅延させた時間分だけ補正する補正部と、
前記特定のデータフロー群を送信する送信部と、
を有する中継装置。
An identifier for identifying a specific group of data flows to be synchronized in one session among a plurality of data flows;
A delay unit for delaying transmission of a part of the specific data flow group;
A correction unit that corrects the time stamp imprinted on the delayed data flow by the time delayed by the delay unit;
A transmission unit for transmitting the specific data flow group;
A relay device.
前記特定のデータフロー群は、複数のマルチメディアデータのフローからなる、
請求項1記載の中継装置。
The specific data flow group includes a plurality of multimedia data flows.
The relay apparatus according to claim 1.
前記特定のデータフロー群は、階層符号化された複数の階層のデータフローからなる、
請求項1記載の中継装置。
The specific data flow group includes a plurality of hierarchically encoded data flows.
The relay apparatus according to claim 1.
前記識別部は、
前記データフローのヘッダに記述された宛先アドレス、送信元アドレス、宛先ポート番号、送信元ポート番号、及びクラス番号の少なくとも1つを用いて前記特定のデータフロー群を識別する、
請求項1記載の中継装置。
The identification unit is
Identifying the specific data flow group using at least one of a destination address, a source address, a destination port number, a source port number, and a class number described in the header of the data flow;
The relay apparatus according to claim 1.
前記遅延部は、
前記特定のデータフロー群の一部のデータフローを蓄積することにより送信を遅延させる、
請求項1記載の中継装置。
The delay unit is
Delaying transmission by accumulating some data flows of the specific data flow group;
The relay apparatus according to claim 1.
前記補正部は、
前記遅延させたデータフローが前記遅延部に蓄積された時間を前記タイムスタンプに記述された時刻に加算することにより、前記遅延させたデータフローに刻印されたタイムスタンプを補正する、
請求項5記載の中継装置。
The correction unit is
Correcting the time stamp imprinted on the delayed data flow by adding the time accumulated in the delay unit to the time described in the time stamp by the delayed data flow.
The relay device according to claim 5.
前記補正部は、
前記特定のデータフロー群に含まれる各データフローに刻印されたタイムスタンプの刻印粒度を、前記特定のデータフロー群に含まれる各データフローが到着した時間の間隔から推定し、推定したタイムスタンプの刻印粒度を用いて前記遅延させたデータフローに刻印されたタイムスタンプを補正する、
請求項1記載の中継装置。
The correction unit is
The time stamping granularity of each time stamp included in each data flow group included in the specific data flow group is estimated from the time interval at which each data flow included in the specific data flow group arrives. Correct the time stamp stamped in the delayed data flow using the stamp granularity;
The relay apparatus according to claim 1.
下流に接続される他のネットワーク端末からのデータフローの遅延要求を受信する遅延要求受信部と、
前記遅延要求を受入れるかどうかを判断し、前記遅延要求を受入れる場合には、前記識別部に対して前記遅延要求が示すデータフローを前記特定のデータフローとして通知し、前記遅延要求を受入れない場合には、前記遅延要求を上流に接続される他のネットワーク端末に対して送信する遅延要求処理部と、
をさらに有する請求項1記載の中継装置。
A delay request receiving unit that receives a delay request for data flow from another network terminal connected downstream;
When determining whether to accept the delay request and accepting the delay request, when notifying the data flow indicated by the delay request to the identification unit as the specific data flow and not accepting the delay request Includes a delay request processing unit that transmits the delay request to another network terminal connected upstream;
The relay apparatus according to claim 1, further comprising:
前記遅延要求処理部は、
前記遅延要求が示すデータフローを蓄積した場合の蓄積量と前記遅延部が蓄積可能なデータフローの最大量とを比較することにより、前記遅延要求を受入れるかどうかを判断する、
請求項8記載の中継装置。
The delay request processing unit
Determining whether to accept the delay request by comparing the accumulated amount when the data flow indicated by the delay request is accumulated with the maximum amount of data flow that can be accumulated by the delay unit;
The relay device according to claim 8.
複数のデータフローの中から1つのセッションにおいて同期されるべき特定のデータフロー群を識別するステップと、
前記特定のデータフロー群の一部のデータフローの送信を遅延させるステップと、
前記遅延させたデータフローに刻印されたタイムスタンプを、前記遅延ステップで遅延させた時間分だけ補正するステップと、
前記特定のデータフロー群を送信するステップと、
を有する中継方法。
Identifying a particular group of data flows to be synchronized in a session from a plurality of data flows;
Delaying transmission of some data flows of the particular group of data flows;
Correcting the time stamp imprinted on the delayed data flow by the time delayed in the delay step;
Transmitting the specific data flow group;
A relay method.
JP2006127895A 2006-05-01 2006-05-01 Relay device and relay method Expired - Fee Related JP4653011B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006127895A JP4653011B2 (en) 2006-05-01 2006-05-01 Relay device and relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006127895A JP4653011B2 (en) 2006-05-01 2006-05-01 Relay device and relay method

Publications (2)

Publication Number Publication Date
JP2007300498A true JP2007300498A (en) 2007-11-15
JP4653011B2 JP4653011B2 (en) 2011-03-16

Family

ID=38769601

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006127895A Expired - Fee Related JP4653011B2 (en) 2006-05-01 2006-05-01 Relay device and relay method

Country Status (1)

Country Link
JP (1) JP4653011B2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010147806A (en) * 2008-12-18 2010-07-01 Fujitsu Ltd Delay measurement method and communication device
JP2010171697A (en) * 2009-01-22 2010-08-05 Hitachi Ltd Video delivering system, video delivering device, and synchronization correcting processing device
WO2011105621A1 (en) * 2010-02-24 2011-09-01 Ricoh Company, Limited Transmission system
KR20110105200A (en) * 2010-03-18 2011-09-26 에스케이 텔레콤주식회사 Apparatus and method for synchronizing micro base station in asymmetric communication links
JP2011530954A (en) * 2008-08-11 2011-12-22 クゥアルコム・インコーポレイテッド Method and apparatus for providing a modified timestamp in a communication system
JP2012080527A (en) * 2010-09-06 2012-04-19 Ricoh Co Ltd Transmission terminal, program for transmission terminal, program provision system and maintenance system
JP2012156744A (en) * 2011-01-26 2012-08-16 Nec Corp Synchronization system
JP2013518495A (en) * 2010-01-27 2013-05-20 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Method, system and apparatus for synchronization of media streams
JP2014522609A (en) * 2011-06-08 2014-09-04 クゥアルコム・インコーポレイテッド Multipath rate adaptation
AT515441A1 (en) * 2014-02-26 2015-09-15 Frequentis Ag Voice transmission in redundant systems
JP2016521494A (en) * 2013-04-12 2016-07-21 クアルコム,インコーポレイテッド Method for distribution of a flow of objects through a broadcast / multicast capable network

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08130540A (en) * 1994-10-28 1996-05-21 Matsushita Electric Ind Co Ltd Device and method for synchronously transmitting stream data
JPH09507628A (en) * 1994-01-12 1997-07-29 サイエンテイフイク−アトランタ・インコーポレーテツド Time stamp correction in ATM network
JPH11239179A (en) * 1998-02-23 1999-08-31 Toshiba Corp Device and method for repeating multimedia data
JP2001094576A (en) * 1999-09-24 2001-04-06 Nec Corp Isochronous packet transfer method, recording medium for transfer control program, bridge and packet transfer control lsi
JP2001230796A (en) * 2000-02-16 2001-08-24 Fujitsu Ltd Data communication system
JP2004072720A (en) * 2002-06-14 2004-03-04 Matsushita Electric Ind Co Ltd Media transmission method, transmitting apparatus and receiving apparatus therefor
JP2006094130A (en) * 2004-09-24 2006-04-06 Nippon Telegr & Teleph Corp <Ntt> Packet transmission controller, and its method and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09507628A (en) * 1994-01-12 1997-07-29 サイエンテイフイク−アトランタ・インコーポレーテツド Time stamp correction in ATM network
JPH08130540A (en) * 1994-10-28 1996-05-21 Matsushita Electric Ind Co Ltd Device and method for synchronously transmitting stream data
JPH11239179A (en) * 1998-02-23 1999-08-31 Toshiba Corp Device and method for repeating multimedia data
JP2001094576A (en) * 1999-09-24 2001-04-06 Nec Corp Isochronous packet transfer method, recording medium for transfer control program, bridge and packet transfer control lsi
JP2001230796A (en) * 2000-02-16 2001-08-24 Fujitsu Ltd Data communication system
JP2004072720A (en) * 2002-06-14 2004-03-04 Matsushita Electric Ind Co Ltd Media transmission method, transmitting apparatus and receiving apparatus therefor
JP2006094130A (en) * 2004-09-24 2006-04-06 Nippon Telegr & Teleph Corp <Ntt> Packet transmission controller, and its method and program

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011530954A (en) * 2008-08-11 2011-12-22 クゥアルコム・インコーポレイテッド Method and apparatus for providing a modified timestamp in a communication system
JP2010147806A (en) * 2008-12-18 2010-07-01 Fujitsu Ltd Delay measurement method and communication device
JP2010171697A (en) * 2009-01-22 2010-08-05 Hitachi Ltd Video delivering system, video delivering device, and synchronization correcting processing device
JP2013518495A (en) * 2010-01-27 2013-05-20 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Method, system and apparatus for synchronization of media streams
US8839340B2 (en) 2010-01-27 2014-09-16 Koninklijke Kpn N.V. Method, system and device for synchronization of media streams
US9210375B2 (en) 2010-02-24 2015-12-08 Ricoh Company, Limited Transmission system and transmitting method
WO2011105621A1 (en) * 2010-02-24 2011-09-01 Ricoh Company, Limited Transmission system
KR20110105200A (en) * 2010-03-18 2011-09-26 에스케이 텔레콤주식회사 Apparatus and method for synchronizing micro base station in asymmetric communication links
KR101629448B1 (en) * 2010-03-18 2016-06-22 에스케이 텔레콤주식회사 Apparatus and Method for Synchronizing Micro Base Station in Asymmetric Communication Links
JP2012080527A (en) * 2010-09-06 2012-04-19 Ricoh Co Ltd Transmission terminal, program for transmission terminal, program provision system and maintenance system
JP2012156744A (en) * 2011-01-26 2012-08-16 Nec Corp Synchronization system
JP2014522609A (en) * 2011-06-08 2014-09-04 クゥアルコム・インコーポレイテッド Multipath rate adaptation
US9736548B2 (en) 2011-06-08 2017-08-15 Qualcomm Incorporated Multipath rate adaptation
JP2016521494A (en) * 2013-04-12 2016-07-21 クアルコム,インコーポレイテッド Method for distribution of a flow of objects through a broadcast / multicast capable network
AT515441B1 (en) * 2014-02-26 2016-01-15 Frequentis Ag Voice transmission in redundant systems
AT515441A1 (en) * 2014-02-26 2015-09-15 Frequentis Ag Voice transmission in redundant systems

Also Published As

Publication number Publication date
JP4653011B2 (en) 2011-03-16

Similar Documents

Publication Publication Date Title
JP4653011B2 (en) Relay device and relay method
US6778493B1 (en) Real-time media content synchronization and transmission in packet network apparatus and method
US8223807B2 (en) Synchronizing data transmission over wireless networks
JP4430660B2 (en) Method and apparatus for multimedia streaming
US7760728B2 (en) System and method for efficient broadcast of information over a network
CN101939967B (en) Communications method
Matsuzono et al. Low latency low loss streaming using in-network coding and caching
US7782779B2 (en) Apparatus and method for transmitting a multimedia data stream
US20080095159A1 (en) Communication quality management and apparatus
JP4969342B2 (en) Receiving terminal and receiving method
US20110058554A1 (en) Method and system for improving the quality of real-time data streaming
JP2001197104A (en) Device and method for streaming multimedia object on time base
WO2003105421A1 (en) Digital content delivery system, digital content delivery method, program for executing the method, computer-readable recording medium storing thereon the program, and server and client for it
US20050018615A1 (en) Media transmitting method, media receiving method, media transmitter and media receiver
WO2006047732A2 (en) Network architecture for real time delivery of video over lossy networks from remote locations
CN102859950A (en) Method of estimating congestion
US20110085551A1 (en) Staggercasting method and apparatus using type of service (tos) information
JP2000228676A (en) Data transmission method
US9184928B2 (en) Communications terminal, communications method, and program and integrated circuit for controlling a reproduction delay time in distributing a stream
JP3933555B2 (en) DATA DISTRIBUTION SYSTEM, DATA DISTRIBUTION DEVICE, DATA DISTRIBUTION METHOD, DATA DISTRIBUTION PROGRAM, AND RECORDING MEDIUM CONTAINING THE PROGRAM
JP2002314595A (en) Communication repeater and jitter suppression method
Lucas et al. Distributed Error Recovery for Continuous Media Data in Wide-Area Multicast
JP2006211233A (en) Ip communication apparatus
JP2009206998A (en) Communications device
JP2009260888A (en) Communication apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100806

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101022

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101216

R150 Certificate of patent or registration of utility model

Ref document number: 4653011

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees