JP2005244929A - Transmission apparatus and method, reception apparatus and method, communication system, recording medium, and program - Google Patents

Transmission apparatus and method, reception apparatus and method, communication system, recording medium, and program Download PDF

Info

Publication number
JP2005244929A
JP2005244929A JP2004282086A JP2004282086A JP2005244929A JP 2005244929 A JP2005244929 A JP 2005244929A JP 2004282086 A JP2004282086 A JP 2004282086A JP 2004282086 A JP2004282086 A JP 2004282086A JP 2005244929 A JP2005244929 A JP 2005244929A
Authority
JP
Japan
Prior art keywords
data
protocol
transmission
transport layer
transmitted
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
JP2004282086A
Other languages
Japanese (ja)
Other versions
JP4487711B2 (en
JP2005244929A5 (en
Inventor
Seigo Kawamura
聖悟 河村
Shinobu Kusunoki
忍 楠
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004282086A priority Critical patent/JP4487711B2/en
Publication of JP2005244929A publication Critical patent/JP2005244929A/en
Publication of JP2005244929A5 publication Critical patent/JP2005244929A5/ja
Application granted granted Critical
Publication of JP4487711B2 publication Critical patent/JP4487711B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To realize high-speed and stable communication. <P>SOLUTION: A Multi Flow RTP 83 divides data of one RTP session so as to be transmitted to UDP ports 87-89 and supplies the data to the UDP ports 87-89. An RTCP 64 controls the UDP ports 87-89 to transmit the data and controls a TCP port 86 to transmit control information for reconstructing the divided data. The UDP ports 67-69 receive the divided data and supply them to the Multi Flow RTP 63. The RTCP 64 also acquires control information from the TCP port 66 and supplies the information to the Multi Flow RTP 63. The Multi Flow RTP 63 reconstructs the divided data based on the control information and supplies the data to a player 61, and the player 61 reproduces the reconstructed data. The present invention can be applied to a stream data distribution system. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、送信装置および方法、受信装置および方法、通信システム、記録媒体、並びにプログラムに関し、特に、データの通信におけるデータの遅延を抑制し、安定した通信を実現できるようにした送信装置および方法、受信装置および方法、通信システム、記録媒体、並びにプログラムに関する。   The present invention relates to a transmission apparatus and method, a reception apparatus and method, a communication system, a recording medium, and a program, and in particular, a transmission apparatus and method capable of realizing stable communication by suppressing data delay in data communication. , A receiving apparatus and method, a communication system, a recording medium, and a program.

大容量のストリーミングデータなどの再生時刻を保障してデータを配信する技術が一般に普及しつつある。   A technique for distributing data while guaranteeing the reproduction time of large-capacity streaming data or the like is becoming popular.

インターネット上のルータでは、フォワード(転送)するデータのフローが監視され、大量データの送信が行われているフローのフォワード優先度を下げるといったフロー制御が行われることがある。一般的なルータにおいて、データのフローは、送信元および送信先のIPアドレス、トランスポートプロトコル、並びに、送信元および送信先のポート番号によって識別される。   In a router on the Internet, a flow of data to be forwarded (transferred) is monitored, and flow control such as lowering the forward priority of a flow in which a large amount of data is transmitted may be performed. In a general router, a data flow is identified by a source and destination IP address, a transport protocol, and a source and destination port number.

以上の通信の一例として、RTP(Real Time Protocol)方式がある。RTP方式の場合、配信サーバとクライアントPC(Personal Computer)との間で、ストリーミングデータの通信が行われるとき、ストリーミング制御は、RTSP(Real Time Streaming Protocol)によって行われる。また、データの送信制御はRTCP(RTP Control Protocol)が利用され、動画の転送はRTPによって行われる。従来のRTPを利用した動画転送技術の場合、1つのRTPセッションについて、1つのポートを利用する事で、動画転送が実現されている。   As an example of the above communication, there is an RTP (Real Time Protocol) method. In the case of the RTP method, when streaming data is communicated between a distribution server and a client PC (Personal Computer), streaming control is performed by RTSP (Real Time Streaming Protocol). Further, RTCP (RTP Control Protocol) is used for data transmission control, and moving image transfer is performed by RTP. In the case of a conventional video transfer technology using RTP, video transfer is realized by using one port for one RTP session.

また、ビットストリームを分割し、異なるポートで送受信することが提案されている(例えば、特許文献1参照)。   In addition, it has been proposed to divide a bit stream and transmit / receive it at different ports (see, for example, Patent Document 1).

さらに、端末の能力に応じた最適なパケット通信処理を実現させるものが提案されている(例えば、特許文献2参照)。
特開2002−017637号公報 特開2003−152544号公報
Furthermore, what implement | achieves the optimal packet communication process according to the capability of a terminal is proposed (for example, refer patent document 2).
JP 2002-017637 A JP 2003-152544 A

ところで、従来のRTP方式による動画転送を行う場合、インターネット上のルータは、フォワードするデータのフローを監視しおり、大量データの送信を行っているフローのフォワード優先度を下げるといったフロー制御によって、通信が過大に帯域を占有しないように制御している。   By the way, when performing video transfer by the conventional RTP method, the router on the Internet monitors the flow of data to be forwarded, and communication is performed by flow control such as lowering the forward priority of the flow transmitting a large amount of data. Control is performed so as not to occupy excessive bandwidth.

また、例えば、ルータは、過負荷の状態になって、さらにバッファがいっぱいになると、受信したパケットを破棄するように制御している。   Also, for example, the router controls to discard the received packet when the buffer becomes overloaded and the buffer becomes full.

これに対応するため、TCP(Transmission Control Protocol)においては、ルータ上でパケットが破棄される等の理由によって、輻輳が発生した場合、一旦速度を落とし、パケット長の倍数にあたるウィンドウサイズ(通信可能なデータ量)を徐々に引き上げながら最適な通信速度を模索する(スロースタート)。   To cope with this, in TCP (Transmission Control Protocol), when congestion occurs due to the packet being discarded on the router, the speed is temporarily reduced and the window size that is a multiple of the packet length (communication is possible) Search for the optimum communication speed while gradually increasing the amount of data (slow start).

ここで、輻輳について説明する。例えば、TCPなどにおいて、通信経路上でデータが欠落した場合、再送要求が送信先から送信元に送信されることになるが、連続的にデータが欠落したような場合、再送要求も連続的に発生することになり、結果として、さらに通信経路が込み合って、通信経路上でのデータの欠落をさらに悪化させてしまい、データの転送が安定的にできない状態となる。このように安定的にデータの転送ができない状態を輻輳と言う。例えば、図1で示されるように、輻輳は、通信が開始されてから、多少遅れて生じる。尚、図1においては、横軸が時間であり、縦軸が単位時間あたりに送信先で受信されるデータの量(byte)を示したものである。   Here, the congestion will be described. For example, in TCP and the like, when data is lost on the communication path, a retransmission request is transmitted from the transmission destination to the transmission source. However, when data is continuously lost, the retransmission request is also continuously received. As a result, the communication path becomes more crowded and the data loss on the communication path is further deteriorated, and the data cannot be stably transferred. Such a state in which data cannot be transferred stably is called congestion. For example, as shown in FIG. 1, the congestion occurs somewhat after the communication is started. In FIG. 1, the horizontal axis represents time, and the vertical axis represents the amount (byte) of data received at the transmission destination per unit time.

すなわち、図1で示されるように、通信が開始された当初は、データの転送量によるフロー制御がないため通信速度がある程度維持されるが、通信経路上の各所に存在するルータによりデータの破棄などが発生することにより、通信の開始からある程度の時間が経過すると、再送要求が頻繁に送信先から送られてくるため、再送するデータや、再送要求が通信経路をさらに混雑させて、最終的には、図1中のAで示されるように輻輳が生じる結果となる。   That is, as shown in FIG. 1, at the beginning of communication, since there is no flow control based on the amount of data transferred, the communication speed is maintained to some extent, but data is discarded by routers existing in various places on the communication path. When a certain amount of time has elapsed since the start of communication, the retransmission request is frequently sent from the transmission destination, so that the data to be retransmitted and the retransmission request further congest the communication path and eventually Results in congestion as indicated by A in FIG.

このため、2重3重に輻輳が発生すると、最適な通信速度を見つけ出すまでに、非常に時間がかかってしまい、伝送速度の遅い通信となってしまうことがあり、さらに、このような状況により、例えば、ストリーミングデータのバッファリングが不足すると、ストリーミングデータの再生が中断され、スムーズなストリーミングデータの再生ができない状態となることがあった。   For this reason, when congestion occurs in a double or triple manner, it may take a very long time to find the optimum communication speed, resulting in communication with a low transmission speed. For example, if buffering of streaming data is insufficient, playback of streaming data is interrupted, and smooth streaming data may not be played back.

また、このような状況を回避するため、例えば、TCPの代わりにUDPを利用することも考えられるが、UDP(User Datagram Protocol)においては、TCPのようなフロー制御や、輻輳制御が行われないため、高速に通信することが可能とはなるが、送信データが確実に送られているかが確認されないので、データの到着には保障がなされないといった問題があった。   In order to avoid such a situation, for example, UDP may be used instead of TCP. However, UDP (User Datagram Protocol) does not perform flow control or congestion control like TCP. Therefore, although it is possible to communicate at high speed, there is a problem in that the arrival of data is not guaranteed because it is not confirmed whether the transmission data is reliably transmitted.

本発明はこのような状況に鑑みてなされたものであり、特に、セッション層における1セッションの通信データを複数のトランスポート層のポートを利用して送信することにより、高速で、かつ、安定的なストリーミングデータの通信を実現できるようにするものである。   The present invention has been made in view of such a situation, and in particular, by transmitting communication data of one session in the session layer using a plurality of transport layer ports, it is possible to achieve high speed and stability. This makes it possible to realize communication of streaming data.

本発明の送信装置は、トランスポート層の第1のプロトコルによりデータを送信する複数の第1の送信手段と、第1の送信手段のポート番号、および、利用ポート数を含む、データを再生するための制御情報を生成する生成手段と、生成手段により生成された制御情報をトランスポート層の第2のプロトコルで送信する第2の送信手段と、セッション層のプロトコルにより送信するデータを複数の第1の送信手段のそれぞれの動作状態に応じて割振って送信するように制御する制御手段とを備えることを特徴とする。   The transmission apparatus of the present invention reproduces data including a plurality of first transmission means for transmitting data according to the first protocol of the transport layer, the port number of the first transmission means, and the number of ports used. Generating means for generating control information for the data, a second transmitting means for transmitting the control information generated by the generating means by the second protocol of the transport layer, and a plurality of data to be transmitted by the protocol of the session layer And a control unit that controls to allocate and transmit according to each operation state of one transmission unit.

前記制御手段には、セッション層のプロトコルにより送信するデータを複数の第1の送信手段のそれぞれの動作状態に応じて、ラウンドロビン方式により割振って送信するように制御させるようにすることができる。   The control means may be controlled to allocate and transmit data to be transmitted according to a session layer protocol in a round-robin manner according to the operating states of the plurality of first transmission means. .

前記制御手段には、セッション層のプロトコルにより送信するデータを複数の第1の送信手段のそれぞれの動作状態に応じて、送信可能なものに割振って送信するように制御させるようにすることができる。   The control unit may be configured to control so that data to be transmitted according to a session layer protocol is allocated and transmitted according to the operating state of each of the plurality of first transmission units. it can.

前記セッション層のプロトコルにより送信するデータを複数のデータに分割する分割手段をさらに設けるようにさせることができ、制御手段には、分割手段により分割された複数のデータを、それぞれ複数の第1の送信手段によりトランスポート層の第1のプロトコルで送信するように制御させるようにすることができる。   A dividing unit that divides the data to be transmitted by the session layer protocol into a plurality of data can be further provided, and the control unit converts the plurality of data divided by the dividing unit into a plurality of first data The transmission means may be controlled to transmit using the first protocol of the transport layer.

前記生成手段には、第1の送信手段のポート番号、および、利用ポート数を含む、分割手段によりデータが分割される際、分割されたデータを結合して再生させるための制御情報を生成させるようにすることができる。   When the data is divided by the dividing unit, the generating unit generates control information including the port number of the first transmitting unit and the number of ports used for combining and reproducing the divided data. Can be.

前記制御手段には、セッション層のプロトコルにより送信する同一のデータを、それぞれ複数の第1の送信手段によりトランスポート層の第1のプロトコルで送信するように制御させるようにすることができる。   The control means may be controlled so that the same data to be transmitted by the session layer protocol is transmitted by the plurality of first transmission means by the first protocol of the transport layer.

前記生成手段には、第1の送信手段のポート番号、および、利用ポート数を含む、セッション層のプロトコルにより送信するデータを識別して、データを再生するための制御情報を生成させるようにすることができる。   The generating means identifies the data to be transmitted by the protocol of the session layer, including the port number of the first transmitting means and the number of used ports, and generates control information for reproducing the data. be able to.

前記第2のプロトコルはTCPとするようにすることができる。   The second protocol may be TCP.

前記セッション層のプロトコルはRTPとするようにすることができる。   The session layer protocol may be RTP.

前記トランスポート層の第1のプロトコルは、送信したデータの着信確認をしないプロトコルとするようにすることができる。   The first protocol of the transport layer may be a protocol that does not confirm the arrival of transmitted data.

前記送信したデータの着信確認をしない、トランスポート層の第1のプロトコルは、UDPとするようにすることができる。   The first protocol in the transport layer that does not check the arrival of the transmitted data may be UDP.

前記トランスポート層の第1のプロトコルは、TCPとするようにすることができる。   The first protocol of the transport layer may be TCP.

本発明の送信方法は、トランスポート層の第1のプロトコルによりデータを送信する複数の第1の送信ステップと、第1の送信ステップの処理でのポート番号、および、利用ポート数を含む、データを再生するための制御情報を生成する生成ステップと、生成ステップの処理で生成された制御情報をトランスポート層の第2のプロトコルで送信する第2の送信ステップと、セッション層のプロトコルにより送信するデータを複数の第1の送信ステップの処理のそれぞれの動作状態に応じて割振って送信するように制御する制御ステップとを含むことを特徴とする。   The transmission method of the present invention includes a plurality of first transmission steps for transmitting data according to a first protocol of the transport layer, a port number in the processing of the first transmission step, and a number of used ports. Step of generating control information for reproducing the data, a second transmission step of transmitting the control information generated by the processing of the generation step by the second protocol of the transport layer, and a protocol of the session layer And a control step for performing control so that data is allocated and transmitted according to each operation state of the processing of the plurality of first transmission steps.

本発明の第1の記録媒体のプログラムは、トランスポート層の第1のプロトコルによりデータの送信を制御する複数の第1の送信制御ステップと、第1の送信ステップの処理でのポート番号、および、利用ポート数を含む、データを再生するための制御情報の生成を制御する生成制御ステップと、生成制御ステップの処理で生成された制御情報をトランスポート層の第2のプロトコルでの送信を制御する第2の送信制御ステップと、セッション層のプロトコルにより送信するデータを複数の第1の送信制御ステップの処理のそれぞれの動作状態に応じて割振って送信するように制御する動作制御ステップとを含むことを特徴とする。   The program of the first recording medium of the present invention includes a plurality of first transmission control steps for controlling transmission of data by a first protocol of the transport layer, a port number in the processing of the first transmission step, and A generation control step for controlling the generation of control information for reproducing data, including the number of used ports, and control information generated in the process of the generation control step for transmission in the second protocol of the transport layer A second transmission control step, and an operation control step for controlling the data to be transmitted according to the session layer protocol so that the data is allocated and transmitted in accordance with the operation states of the processes of the plurality of first transmission control steps. It is characterized by including.

本発明の第1のプログラムは、トランスポート層の第1のプロトコルによりデータの送信を制御する複数の第1の送信制御ステップと、第1の送信ステップの処理でのポート番号、および、利用ポート数を含む、データを再生するための制御情報の生成を制御する生成制御ステップと、生成制御ステップの処理で生成された制御情報をトランスポート層の第2のプロトコルでの送信を制御する第2の送信制御ステップと、セッション層のプロトコルにより送信するデータを複数の第1の送信制御ステップの処理のそれぞれの動作状態に応じて割振って送信するように制御する動作制御ステップとをコンピュータに実行させることを特徴とする。   A first program of the present invention includes a plurality of first transmission control steps for controlling transmission of data by a first protocol of a transport layer, a port number in the processing of the first transmission step, and a use port A generation control step for controlling generation of control information for reproducing data, including a number, and a second for controlling transmission of the control information generated by the processing of the generation control step in the second protocol of the transport layer The computer executes the transmission control step and the operation control step for controlling the transmission of the data to be transmitted according to the session layer protocol in accordance with the operation states of the processes of the plurality of first transmission control steps. It is characterized by making it.

本発明の受信装置は、トランスポート層の第1のプロトコルによりデータを受信する複数の第1の受信手段と、第1の受信手段のポート番号、および、利用ポート数を含む、データを再生するための制御情報をトランスポート層の第2のプロトコルで受信する第2の受信手段と、セッション層のプロトコルによる受信データとして、データを制御情報に基づいて再生する再生手段とを備えることを特徴とする。   The receiving apparatus of the present invention reproduces data including a plurality of first receiving means for receiving data according to the first protocol of the transport layer, the port number of the first receiving means, and the number of used ports. And a second receiving means for receiving control information for the transport layer second protocol, and a reproducing means for reproducing data based on the control information as received data according to the session layer protocol. To do.

前記データは、分割された複数のデータとするようにすることができ、複数の第1の受信手段には、それぞれ分割されたデータを受信させるようにすることができ、再生手段には、第2の受信手段により受信された、ポート番号、および、利用ポート数に加えて、分割されたデータを結合して再生させるための情報を含む、制御情報に基づいて、セッション層のプロトコルによる受信データとして、複数のデータを結合して再生させるようにすることができる。   The data may be a plurality of divided data, the plurality of first receiving means may be caused to receive the divided data, and the reproducing means Data received by the session layer protocol based on the control information including the information for combining and reproducing the divided data in addition to the port number and the number of used ports received by the receiving means of 2 As described above, a plurality of data can be combined and reproduced.

前記データは、同一の複数のデータとするようにすることができ、複数の第1の受信手段には、それぞれ同一のデータを受信させるようにすることができ、再生手段には、第2の受信手段により受信された、ポート番号、および、利用ポート数に加えて、データを識別する情報を含む、制御情報に基づいて、複数の第1の受信手段のうち、セッション層のプロトコルによる受信データとして、最初に受信されるデータを再生させるようにすることができる。   The data can be a plurality of the same data, the plurality of first receiving means can each receive the same data, and the reproduction means can receive the second data Data received by the protocol of the session layer among the plurality of first receiving means based on the control information including information identifying the data in addition to the port number and the number of used ports received by the receiving means As a result, the data received first can be reproduced.

前記第2のプロトコルはTCPとするようにすることができる。   The second protocol may be TCP.

前記セッション層のプロトコルはRTPとするようにすることができる。   The session layer protocol may be RTP.

前記トランスポート層の第1のプロトコルは、送信したデータの着信確認をしないプロトコルとするようにすることができる。   The first protocol of the transport layer may be a protocol that does not confirm the arrival of transmitted data.

前記送信したデータの着信確認をしない、トランスポート層の第1のプロトコルは、UDPとするようにすることができる。   The first protocol in the transport layer that does not check the arrival of the transmitted data may be UDP.

前記トランスポート層の第1のプロトコルは、TCPとするようにすることができる。   The first protocol of the transport layer may be TCP.

本発明の受信方法は、トランスポート層の第1のプロトコルによりデータを受信する複数の第1の受信ステップと、第1の受信ステップの処理でのポート番号、および、利用ポート数を含む、データを再生するための制御情報をトランスポート層の第2のプロトコルで受信する第2の受信ステップと、セッション層のプロトコルによる受信データとして、データを制御情報に基づいて再生する再生ステップとを含むことを特徴とする。   The reception method of the present invention includes a plurality of first reception steps for receiving data according to a first protocol in the transport layer, a port number in the processing of the first reception step, and a number of ports used Including a second reception step for receiving control information for reproducing data using the transport layer second protocol, and a reproduction step for reproducing data based on the control information as received data using the session layer protocol. It is characterized by.

本発明の第2の記録媒体のプログラムは、トランスポート層の第1のプロトコルによりデータの受信を制御する複数の第1の受信制御ステップと、第1の受信制御ステップの処理でのポート番号、および、利用ポート数を含む、データを再生するための制御情報のトランスポート層の第2のプロトコルでの受信を制御する第2の受信制御ステップと、セッション層のプロトコルによる受信データとして、データの制御情報に基づいた再生を制御する再生制御ステップとを含むことを特徴とする。   The program of the second recording medium of the present invention includes a plurality of first reception control steps for controlling reception of data by the first protocol of the transport layer, a port number in the processing of the first reception control step, And a second reception control step for controlling reception of control information for reproducing data including the number of used ports in the second protocol of the transport layer, and as data received by the protocol of the session layer, A reproduction control step for controlling reproduction based on the control information.

本発明の第2のプログラムは、トランスポート層の第1のプロトコルによりデータの受信を制御する複数の第1の受信制御ステップと、第1の受信制御ステップの処理でのポート番号、および、利用ポート数を含む、データを再生するための制御情報のトランスポート層の第2のプロトコルでの受信を制御する第2の受信制御ステップと、セッション層のプロトコルによる受信データとして、データの制御情報に基づいた再生を制御する再生制御ステップとをコンピュータに実行させることを特徴とする。   A second program of the present invention includes a plurality of first reception control steps for controlling reception of data by a first protocol of the transport layer, a port number in the processing of the first reception control step, and use A second reception control step for controlling the reception of control information for reproducing data, including the number of ports, in the second protocol of the transport layer; A reproduction control step for controlling reproduction based on the computer is executed.

本発明の通信システムは、送信装置が、トランスポート層のプロトコルによりデータを送信する複数の送信手段と、第1の送信手段のポート番号、および、利用ポート数を含む、データを再生するための制御情報を生成する生成手段と、生成手段により生成された制御情報をトランスポート層の第2のプロトコルで送信する第2の送信手段と、セッション層のプロトコルにより送信するデータを複数の第1の送信手段のそれぞれの動作状態に応じて割振って送信するように制御する制御手段とを備え、受信装置が、トランスポート層のプロトコルによりデータを受信する受信手段と、第1の受信手段のポート番号、および、利用ポート数を含む、データを再生するための制御情報をトランスポート層の第2のプロトコルで受信する第2の受信手段と、セッション層のプロトコルによる受信データとして、データを制御情報に基づいて再生する再生手段とを備えることを特徴とする。   In the communication system according to the present invention, a transmission apparatus reproduces data including a plurality of transmission units that transmit data using a transport layer protocol, the port number of the first transmission unit, and the number of ports used. Generating means for generating control information; second transmitting means for transmitting control information generated by the generating means using a second protocol of the transport layer; and a plurality of first data to be transmitted using a protocol of the session layer Control means for controlling the transmission means to allocate and transmit according to the respective operating states of the transmission means, and the receiving device receives the data by the transport layer protocol, and the port of the first receiving means 2nd reception which receives the control information for reproducing | regenerating data containing a number and the number of use ports by the 2nd protocol of a transport layer And stage, as the reception data by the session layer protocol, characterized in that it comprises a reproducing means for reproducing data based on the control information.

本発明の送信装置および方法、並びにプログラムにおいては、トランスポート層の第1のプロトコルによりデータが複数の通信経路で送信され、ポート番号、および、利用ポート数を含む、データを再生するための制御情報が生成され、生成された制御情報がトランスポート層の第2のプロトコルで送信され、セッション層のプロトコルにより送信するデータが複数の通信経路のそれぞれの動作状態に応じて割振られて送信されるように制御される。   In the transmission apparatus and method and the program of the present invention, data is transmitted through a plurality of communication paths by the first protocol of the transport layer, and control for reproducing the data including the port number and the number of used ports is performed. Information is generated, the generated control information is transmitted by the second protocol of the transport layer, and the data to be transmitted by the protocol of the session layer is allocated and transmitted according to the operation states of the plurality of communication paths. To be controlled.

本発明の受信装置および方法、並びにプログラムにおいては、トランスポート層の第1のプロトコルによりデータが複数の通信経路で受信され、ポート番号、および、利用ポート数を含む、データを再生するための制御情報がトランスポート層の第2のプロトコルで受信され、セッション層のプロトコルによる受信データとして、データが制御情報に基づいて再生される。   In the receiving apparatus, method, and program of the present invention, data is received through a plurality of communication paths by the first protocol in the transport layer, and control for reproducing the data including the port number and the number of ports used is performed. Information is received by the second protocol of the transport layer, and the data is reproduced based on the control information as received data by the protocol of the session layer.

本発明の通信システムにおいては、送信装置により、トランスポート層のプロトコルによりデータが複数の通信経路で送信され、ポート番号、および、利用ポート数を含む、データを再生するための制御情報が生成され、生成された制御情報がトランスポート層の第2のプロトコルで送信され、セッション層のプロトコルにより送信するデータが複数の通信経路のそれぞれの動作状態に応じて割振られて送信されるように制御され、受信装置により、トランスポート層のプロトコルによりデータが受信され、ポート番号、および、利用ポート数を含む、データを再生するための制御情報がトランスポート層の第2のプロトコルで受信され、セッション層のプロトコルによる受信データとして、データが制御情報に基づいて再生される。   In the communication system of the present invention, data is transmitted by a transmission device using a transport layer protocol through a plurality of communication paths, and control information for reproducing data including a port number and the number of ports used is generated. The generated control information is transmitted by the second protocol of the transport layer, and the data to be transmitted by the protocol of the session layer is controlled so as to be allocated and transmitted according to the respective operation states of the plurality of communication paths. The data is received by the receiving device according to the protocol of the transport layer, and the control information for reproducing the data including the port number and the number of used ports is received by the second protocol of the transport layer, and the session layer The data is reproduced based on the control information as received data according to the protocol.

本発明の送信装置、受信装置、または、通信システムは、独立した装置であっても良いし、送信処理または受信処理を行うブロックであっても良い。   The transmission apparatus, the reception apparatus, or the communication system of the present invention may be an independent apparatus or a block that performs transmission processing or reception processing.

本発明によれば、高速で、かつ、安定的な通信を実現させるようにすることができる。   According to the present invention, high-speed and stable communication can be realized.

以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。   Embodiments of the present invention will be described below. The correspondence relationship between the invention described in this specification and the embodiments of the invention is exemplified as follows. This description is intended to confirm that the embodiments supporting the invention described in this specification are described in this specification. Therefore, although there is an embodiment which is described in the embodiment of the invention but is not described here as corresponding to the invention, it means that the embodiment is not It does not mean that it does not correspond to the invention. Conversely, even if an embodiment is described herein as corresponding to an invention, that means that the embodiment does not correspond to an invention other than the invention. Absent.

さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。   Further, this description does not mean all the inventions described in this specification. In other words, this description is for the invention described in the present specification, which is not claimed in this application, that is, for the invention that will be applied for in the future or that will appear and be added by amendment. It does not deny existence.

即ち、本発明の送信装置は、トランスポート層の第1のプロトコルによりデータを送信する複数の第1の送信手段(例えば、図4のUDPポート87乃至89)と、第1の送信手段のポート番号、および、利用ポート数を含む、データを再生するための制御情報を生成する生成手段(例えば、図4のMulti Flow RTP83)と、生成手段により生成された制御情報をトランスポート層の第2のプロトコルで送信する第2の送信手段(例えば、図4のTCPポート86)と、セッション層のプロトコルにより送信するデータを複数の第1の送信手段のそれぞれの動作状態に応じて割振って送信するように制御する制御手段(例えば、図4のRTCP84)とを備えることを特徴とする。   That is, the transmission apparatus of the present invention includes a plurality of first transmission means (for example, UDP ports 87 to 89 in FIG. 4) for transmitting data according to the first protocol of the transport layer, and a port of the first transmission means. Generating means (for example, Multi Flow RTP 83 in FIG. 4) for generating control information for reproducing data, including the number and the number of ports used, and the control information generated by the generating means in the second transport layer The second transmission means (for example, TCP port 86 in FIG. 4) that transmits by the protocol of the above and the data to be transmitted by the protocol of the session layer are allocated and transmitted according to the respective operating states of the plurality of first transmission means. And control means (for example, RTCP 84 in FIG. 4) for controlling to do so.

前記セッション層のプロトコルにより送信するデータを複数のデータに分割する分割手段(例えば、図4のMulti Flow RTP83)をさらに設けるようにさせることができ、制御手段には、分割手段により分割された複数のデータを、それぞれ複数の第1の送信手段のそれぞれの動作状態に応じて割振ってトランスポート層の第1のプロトコルで送信するように制御させるようにすることができる。   Dividing means (for example, Multi Flow RTP 83 in FIG. 4) that divides data to be transmitted by the session layer protocol may be further provided, and the control means may include a plurality of data divided by the dividing means. Can be controlled to be transmitted according to the first protocol of the transport layer by allocating the data according to the respective operating states of the plurality of first transmission means.

本発明の送信方法は、トランスポート層の第1のプロトコルによりデータを送信する複数の第1の送信ステップ(例えば、図7のフローチャートのステップS16の処理)と、第1の送信ステップの処理でのポート番号、および、利用ポート数を含む、データを再生するための制御情報を生成する生成ステップ(例えば、図7のフローチャートのステップS14の処理)と、生成ステップの処理で生成された制御情報をトランスポート層の第2のプロトコルで送信する第2の送信ステップ(例えば、図7のフローチャートのステップS15の処理)と、セッション層のプロトコルにより送信するデータを複数の第1の送信ステップの処理のそれぞれの動作状態に応じて割振って送信するように制御する制御ステップ(例えば、図7のフローチャートのステップS16の処理)とを含むことを特徴とする。   The transmission method according to the present invention includes a plurality of first transmission steps (for example, the processing in step S16 in the flowchart of FIG. 7) for transmitting data according to the first protocol in the transport layer, and the processing in the first transmission step. The generation step (for example, the process of step S14 in the flowchart of FIG. 7) for generating control information for reproducing data, including the port number and the number of ports used, and the control information generated by the process of the generation step A second transmission step (for example, the process of step S15 in the flowchart of FIG. 7), and a plurality of first transmission steps of data to be transmitted using the session layer protocol. A control step (for example, the flowchart of FIG. 7) that controls to allocate and transmit according to each operation state of Characterized in that it comprises a chromatography process in step S16 in g).

本発明の受信装置は、トランスポート層の第1のプロトコルによりデータを受信する複数の第1の受信手段(例えば、図4のUDPポート67乃至69)と、第1の受信手段のポート番号、および、利用ポート数を含む、データを再生するための制御情報をトランスポート層の第2のプロトコルで受信する第2の受信手段(例えば、図4のTCPポート66)と、セッション層のプロトコルによる受信データとして、データを制御情報に基づいて再生する再生手段(例えば、図4のMulti Flow RTP63)とを備えることを特徴とする。   The receiving apparatus of the present invention includes a plurality of first receiving means (for example, UDP ports 67 to 69 in FIG. 4) for receiving data according to the first protocol of the transport layer, the port number of the first receiving means, And second receiving means (for example, TCP port 66 in FIG. 4) for receiving control information for reproducing data, including the number of ports used, in the transport layer second protocol, and the session layer protocol. The reception data is provided with reproduction means for reproducing the data based on the control information (for example, Multi Flow RTP 63 in FIG. 4).

本発明の受信方法は、トランスポート層の第1のプロトコルによりデータを受信する複数の第1の受信ステップ(例えば、図7のフローチャートのステップS6の処理)と、第1の受信ステップの処理でのポート番号、および、利用ポート数を含む、データを再生するための制御情報をトランスポート層の第2のプロトコルで受信する第2の受信ステップ(例えば、図7のフローチャートのステップS4の処理)と、セッション層のプロトコルによる受信データとして、データを制御情報に基づいて再生する再生ステップ(例えば、図7のフローチャートのステップS7の処理)とを含むことを特徴とする。   The reception method of the present invention includes a plurality of first reception steps (for example, the process of step S6 in the flowchart of FIG. 7) for receiving data using the first protocol of the transport layer, and the processes of the first reception step. A second reception step of receiving control information for reproducing data, including the port number of the first port and the number of used ports, using the second protocol of the transport layer (for example, the process of step S4 in the flowchart of FIG. 7) And a reproduction step (for example, the process of step S7 in the flowchart of FIG. 7) for reproducing the data based on the control information as the received data according to the protocol of the session layer.

尚、記録媒体、プログラム、および、通信システムの対応関係については、上述した送信装置および方法、並びに、受信装置および方法と同様であるので、その説明は省略する。   Note that the correspondence relationship between the recording medium, the program, and the communication system is the same as that of the transmission apparatus and method and the reception apparatus and method described above, and thus the description thereof is omitted.

図2は、本発明を適用した配信システムの一実施の形態の構成を示す図である。   FIG. 2 is a diagram showing a configuration of an embodiment of a distribution system to which the present invention is applied.

図2で示されている本発明の配信システムは、クライアントPC1より、ストリームデータの配信要求があると、配信サーバ7から要求のあったストリームデータをクライアントPC1に配信するシステムである。   The distribution system of the present invention shown in FIG. 2 is a system that distributes stream data requested from the distribution server 7 to the client PC 1 when there is a stream data distribution request from the client PC 1.

クライアントPC1は、家庭用のルータ2を介して、最寄のインターネットサービスプロバイダサーバ3に対して、URL(Universal Resource Locator)などによりアドレスを指定して、配信サーバ7にストリームデータの配信を要求する。また、クライアントPC1は、ストリームデータの配信があった場合、インターネットサービスプロバイダサーバ3より送信されてくるストリームデータを家庭用ルータ2を介して取得し、再生する。   The client PC 1 specifies an address by a URL (Universal Resource Locator) or the like to the nearest Internet service provider server 3 via the home router 2 and requests the distribution server 7 to distribute the stream data. . Further, when the stream data is distributed, the client PC 1 acquires the stream data transmitted from the Internet service provider server 3 via the home router 2 and reproduces it.

家庭用のルータ2(以下、単にルータ2とも称する)は、異なるネットワーク同士を相互接続するものである。より詳細には、ルータ2は、通信経路が記述されたルーティングテーブルに従って、送信先のネットワークまでの通信経路を中継する。ルータ2は、OSI(Open Systems Interconnection)参照モデル(OSI階層モデルとも称される)のネットワーク層以上で動作するため、ネットワークプロトコルに動作が依存する。ルータ2には、様々な形式があり、TCP/IP(Transmission Control Protocol/Internet Protocol)、IPX/SPX(Internetwork Packet Exchange/Sequenced Packet Exchange)、AppleTalk(商標)、および、SNA(Systems Network Architecture)などに様々なプロトコル対応するタイプのものがあり、これらは、一般に「マルチプロトコルルータ」と称されている。また、ルータ2は、上述したように、フロー制御や輻輳制御を行う。   The home router 2 (hereinafter also simply referred to as router 2) interconnects different networks. More specifically, the router 2 relays the communication path to the destination network according to the routing table in which the communication path is described. Since the router 2 operates in a network layer or higher of an OSI (Open Systems Interconnection) reference model (also referred to as an OSI hierarchical model), the operation depends on the network protocol. The router 2 has various formats such as TCP / IP (Transmission Control Protocol / Internet Protocol), IPX / SPX (Internetwork Packet Exchange / Sequenced Packet Exchange), AppleTalk (trademark), and SNA (Systems Network Architecture). There are types corresponding to various protocols, and these are generally called “multi-protocol routers”. Further, as described above, the router 2 performs flow control and congestion control.

インターネットサービスプロバイダサーバ3は、インターネット接続サービスを提供する通信事業者により管理運営されるサーバである。インターネットサービスプロバイダは、サーバを所有している教育機関や団体、企業などに所属していればLAN経由でインターネットを利用できるが、サーバを持たない企業や個人でもインターネットを利用できるよう、公共のサーバを提供する通信事業者である。   The Internet service provider server 3 is a server that is managed and operated by a telecommunications carrier that provides an Internet connection service. Internet service providers can use the Internet via a LAN if they belong to an educational institution, organization, or company that owns the server, but a public server that can be used by companies and individuals who do not have a server. Is a telecommunications carrier that provides

インターネットサービスプロバイダサーバ3は、クライアントPC1からの要求に基づいて、インターネットに代表されるネットワーク5を介して、URLで指定される配信サーバ7にストリームデータを要求する。また、インターネットサービルプロバイダサーバ3は、この要求に応じてネットワーク5を介して配信サーバ7より配信されてくるストリームデータを、ルータ4を介して取得し、クライアントPC1に供給する。   Based on the request from the client PC 1, the Internet service provider server 3 requests stream data from the distribution server 7 specified by the URL via the network 5 represented by the Internet. In response to this request, the internet service provider server 3 acquires the stream data distributed from the distribution server 7 via the network 5 via the router 4 and supplies it to the client PC 1.

ルータ4,6は、ルータ2と同様のものであり、ルータ4は、主に、インターネットサービスプロバイダサーバ3とネットワーク5とを、また、ルータ6は、配信サーバ7とネットワーク5とをそれぞれ接続し、通信経路を形成している。   The routers 4 and 6 are the same as the router 2. The router 4 mainly connects the Internet service provider server 3 and the network 5, and the router 6 connects the distribution server 7 and the network 5. , Forming a communication path.

ネットワーク5は、複数のルータ11a乃至11fにより構成され、それぞれのルータ11a乃至11fが相互に通信経路を構成する。このルータ11a乃至11fについても、ルータ2と基本的には同様のものである。尚、図2においては、ルータ11aと11b、ルータ11aと11c、ルータ11aと11d、ルータ11bと11c、ルータ11bと11f、ルータ11cと11d、ルータ11cと11f、ルータ11dと11e、および、ルータ11eと11fが相互に接続されて、通信経路が形成されている場合について示されているが、ルータ11a乃至11fは、これ以外の組み合わせで接続され、通信経路が形成されるようにしてもよいし、また、これらの数以外の数のルータによりネットワーク5が形成されるようにしても良い。さらに、ルータ11a乃至11fを特に区別する必要がない場合、単に、ルータ11と称するものとし、その他の構成についても同様とする。   The network 5 includes a plurality of routers 11a to 11f, and the routers 11a to 11f configure a communication path with each other. The routers 11a to 11f are basically the same as the router 2. In FIG. 2, routers 11a and 11b, routers 11a and 11c, routers 11a and 11d, routers 11b and 11c, routers 11b and 11f, routers 11c and 11d, routers 11c and 11f, routers 11d and 11e, and routers Although 11e and 11f are connected to each other to form a communication path, the routers 11a to 11f may be connected in other combinations to form a communication path. In addition, the network 5 may be formed by a number of routers other than these numbers. Furthermore, when it is not necessary to particularly distinguish the routers 11a to 11f, the routers 11a to 11f are simply referred to as routers 11, and the same applies to other configurations.

配信サーバ7は、インターネットサービスプロバイダサーバ3、および、ネットワーク5を介してクライアントPC1より要求のあったストリームデータを、要求のあったクライアントPC1に配信する。   The distribution server 7 distributes the stream data requested from the client PC 1 via the Internet service provider server 3 and the network 5 to the requested client PC 1.

次に、図3を参照して、クライアントPC1の構成について説明する。   Next, the configuration of the client PC 1 will be described with reference to FIG.

CPU(Central Processing Unit)21は、ROM(Read Only Memory)22、または記憶部28に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)23には、CPU21が実行するプログラムやデータなどが適宜記憶される。これらのCPU21、ROM22、およびRAM23は、バス24により相互に接続されている。   A CPU (Central Processing Unit) 21 executes various processes according to a program stored in a ROM (Read Only Memory) 22 or a storage unit 28. A RAM (Random Access Memory) 23 appropriately stores programs executed by the CPU 21 and data. These CPU 21, ROM 22, and RAM 23 are connected to each other by a bus 24.

CPU21には、バス24を介して入出力インタフェース25が接続されている。入出力インタフェース25には、キーボード、マウス、マイクロフォンなどよりなる入力部26、ディスプレイ、スピーカなどよりなる出力部67が接続されている。CPU21は、入力部26から入力される指令に対応して各種の処理を実行する。   An input / output interface 25 is connected to the CPU 21 via the bus 24. The input / output interface 25 is connected to an input unit 26 including a keyboard, a mouse, and a microphone, and an output unit 67 including a display and a speaker. The CPU 21 executes various processes in response to commands input from the input unit 26.

入出力インタフェース25に接続されている記憶部28は、例えばハードディスクなどで構成され、CPU21が実行するプログラムや各種のデータを記憶する。通信部29は、例えば、モデムのようなものであり、図示せぬネットワークを介して通信機能を有する装置と各種のデータの授受を行う。   The storage unit 28 connected to the input / output interface 25 is configured by, for example, a hard disk and stores programs executed by the CPU 21 and various data. The communication unit 29 is, for example, a modem, and exchanges various data with a device having a communication function via a network (not shown).

入出力インタフェース25に接続されているドライブ30は、磁気ディスク41、光ディスク42、光磁気ディスク43、或いは半導体メモリ44などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部28に転送され、記憶される。   The drive 30 connected to the input / output interface 25, when a magnetic disk 41, an optical disk 42, a magneto-optical disk 43, or a semiconductor memory 44 is mounted, drives them, and programs and data recorded there. Get etc. The acquired program and data are transferred to and stored in the storage unit 28 as necessary.

尚、インターネットサービスプロバイダサーバ3、および、配信サーバ7の構成は、基本的に、クライアントPC1と同様の構成であるので、その説明は省略するが、ROM22、および、記憶部28、並びに、ドライブ30に装着された磁気ディスク41、光ディスク42、光磁気ディスク43、或いは半導体メモリ44に記憶されるプログラムは、後述する機能を実現させるために、インターネットサービスプロバイダサーバ3、および、配信サーバ7においては、それぞれクライアントPC1とは異なるものが記憶されるようにしてもよいし、また、処理に応じてCPU21の処理速度や、RAM23、および、記憶部28の容量を変更させるようにしても良い。   Note that the configurations of the Internet service provider server 3 and the distribution server 7 are basically the same as those of the client PC 1, and thus the description thereof is omitted, but the ROM 22, the storage unit 28, and the drive 30 are omitted. The program stored in the magnetic disk 41, the optical disk 42, the magneto-optical disk 43, or the semiconductor memory 44 mounted on the Internet service provider server 3 and the distribution server 7 in order to realize the functions described later, Different data from the client PC 1 may be stored, or the processing speed of the CPU 21 and the capacities of the RAM 23 and the storage unit 28 may be changed according to the processing.

次に、図3を参照して説明したクライアントPC1、および、同様の構成からなる配信サーバ7により実現される機能について説明する。尚、図4においては、ルータ2,4,6,11、インターネットサービスプロバイダサーバ3、および、ネットワーク5の図示は省略するが、いずれも通信経路上に存在するものとする。   Next, functions realized by the client PC 1 described with reference to FIG. 3 and the distribution server 7 having the same configuration will be described. In FIG. 4, the routers 2, 4, 6, 11, the Internet service provider server 3, and the network 5 are not shown, but all are on the communication path.

プレイヤ61は、ストリームデータの再生を制御するプログラムであり、GUI(Graphical User Interface)などにより所定のストリームデータの再生を指示するとき、または、ストリームデータの再生を停止させるときなどに操作され、操作内容に応じた、再生、または、停止といったコマンドを、RTSP(Real Time Streaming Protocol)62に供給し、TCP(Transmission Control Protocol)ポート65により配信サーバ7に対して送信させると共に、上述したコマンドに応じてMulti Flow RTP63より受信される配信されてきたストリームデータを必要に応じて一時的に記憶し、再生する(キャッシュ機能により必要に応じて受信したデータを一時的に記憶したのち、再生に適したビットレートで読み出して再生する)。   The player 61 is a program for controlling the reproduction of stream data. The player 61 is operated when an instruction to reproduce predetermined stream data is given by a GUI (Graphical User Interface) or when reproduction of stream data is stopped. A command such as playback or stop according to the contents is supplied to an RTSP (Real Time Streaming Protocol) 62 and transmitted to the distribution server 7 via a TCP (Transmission Control Protocol) port 65, and in response to the above-described command. The stream data received from the Multi Flow RTP 63 is temporarily stored and played back as necessary (the data received by the cache function is temporarily stored as needed and is suitable for playback. Read and play at bit rate).

RTSPは、リアルタイムストリームデータの配信を制御し、プレイヤ61より供給された再生、または、停止といったストリームデータの制御コマンドを、TCPポート65を介して配信サーバ7に供給する。   The RTSP controls the distribution of the real-time stream data, and supplies a stream data control command such as playback or stop supplied from the player 61 to the distribution server 7 via the TCP port 65.

また、RTSP62は、SETUPメソッド(配信サーバ7とクライアントPC1の間でストリームデータ送信のために必要なネゴシエーションを行う手順)中のTransportヘッダフィールド(SETUPメソッドにおいて、データ送信プロトコルのネゴシエーションに利用されるフィールド)によってストリームデータ送信プロトコルのネゴシエーションを実行する。このとき、RTSP62は、送信プロトコルにRTP/UDPを指定するが、その際client_portパラメータおよびserver_portパラメータにはMulti Flow RTP63およびRTCP64で使用するUDPポート(図4においては、UDPポート67乃至69)の範囲を指定する。   The RTSP 62 also includes a Transport header field (a field used for data transmission protocol negotiation in the SETUP method) in the SETUP method (procedure for performing negotiation necessary for stream data transmission between the distribution server 7 and the client PC 1). ) Negotiate the stream data transmission protocol. At this time, the RTSP 62 designates RTP / UDP as the transmission protocol. At this time, the range of the UDP ports (UDP ports 67 to 69 in FIG. 4) used for the Multi Flow RTP 63 and the RTCP 64 are used for the client_port parameter and the server_port parameter. Is specified.

Multi flow RTP63は、複数のフローによってストリームデータ送信を行うプロトコルである。ここで、フローとは、送信元、送信先のIPアドレス、トランスポートプロトコル、および、ポートの組み合わせによって定義されるデータ送信単位である。また、フローは、一般的なルータがフォワード優先度の制御を行う際の単位である。   Multi flow RTP 63 is a protocol for transmitting stream data by a plurality of flows. Here, a flow is a data transmission unit defined by a combination of a transmission source, a transmission destination IP address, a transport protocol, and a port. A flow is a unit when a general router controls forward priority.

Multi flow RTP63は、RTSP62により指定されたUDPポート67乃至69を制御して、各UDPポート67乃至69に分割して送信されてきたストリームデータを取得する。また、Multi flow RTP63は、RTCP64よりTCPポート66を介して配信サーバ7より供給される分割されたストリームデータの送信順序や、配置などの、分割されているデータを組み立てて(結合させて)再構築するための制御情報を取得する。さらに、Multi flow RTP63は、分割された状態で受信したストリームデータを、RTCP64より取得した制御情報に基づいて結合させ、元のストリームデータを再構築してプレイヤ61に供給する。   The Multi flow RTP 63 controls the UDP ports 67 to 69 specified by the RTSP 62, and acquires the stream data transmitted by being divided into the UDP ports 67 to 69. In addition, the Multi flow RTP 63 assembles (combines) the divided data such as the transmission order and arrangement of the divided stream data supplied from the distribution server 7 via the TCP port 66 from the RTCP 64 and re-assembles the data. Get control information for construction. Further, the multi flow RTP 63 combines the stream data received in the divided state based on the control information acquired from the RTCP 64, reconstructs the original stream data, and supplies the reconstructed stream data to the player 61.

配信サーバ7の配信プログラム81は、TCPポート85を介してクライアントPC1より指定されたストリームデータの再生、または、停止といった指令を受け取ると、これに対応する指示をRTSP82に供給する。   When the distribution program 81 of the distribution server 7 receives an instruction to reproduce or stop the stream data designated from the client PC 1 via the TCP port 85, the distribution program 81 supplies an instruction corresponding to the instruction to the RTSP 82.

RTSP82は、基本的には、クライアントPC1のRTSP62と対応するものであるが、配信サーバ7においては、配信プログラム81より指示のあったストリームデータの再生、または、停止の指示に基づいて、再生、または、停止が指示されたストリームデータのアドレスを指定し、Multi Flow RTP83に供給する。また、RTSP82は、送信プロトコルにRTP/UDPを指定するが、その際client_portパラメータおよびserver_portパラメータにはMulti Flow RTP83およびRTCP84で使用するUDPポート(図4においては、UDPポート67乃至69)の範囲を指定する。   The RTSP 82 basically corresponds to the RTSP 62 of the client PC 1, but in the distribution server 7, based on the reproduction of the stream data instructed from the distribution program 81 or the stop instruction, Alternatively, the address of the stream data instructed to be stopped is designated and supplied to the Multi Flow RTP 83. In addition, RTSP 82 designates RTP / UDP as a transmission protocol. At that time, the client_port parameter and the server_port parameter indicate the range of UDP ports (in FIG. 4, UDP ports 67 to 69) used by Multi Flow RTP 83 and RTCP 84. specify.

Multi Flow RTP83は、基本的には、クライアントPC1のMulti Flow RTP63と対応するものであるが、RTSP82によりアドレスが指定されたストリームデータを読み出し、これを指定されたUDPポート87乃至89で送信できるように分割し、各UDPポート87乃至89に供給すると共に、その際、分割されたストリームデータを再構築するための情報と、UDPポート87乃至89のうち通信に利用するポートを識別するポート番号および利用ポート数の情報とを含む制御情報を生成して、RTCP84に供給する。   The Multi Flow RTP 83 basically corresponds to the Multi Flow RTP 63 of the client PC 1. However, the Multi Flow RTP 83 can read out the stream data whose address is specified by the RTSP 82 and transmit it through the specified UDP ports 87 to 89. And is supplied to each of the UDP ports 87 to 89. At that time, information for reconstructing the divided stream data, a port number for identifying a port used for communication among the UDP ports 87 to 89, and Control information including information on the number of used ports is generated and supplied to the RTCP 84.

より詳細には、1つのRTPセッションで送信されるべきストリームデータがUDPポート87乃至89に対応するように分割される場合、制御情報は、分割された個々のデータに付されるシーケンス番号(Sequence Number)に基づいて、各シーケンス番号のデータをどのような順序で分割したか、すなわち、どのような順序で再構築するかを示した情報と、通信に利用されるUDPポート87乃至89のうちの通信に利用されるUDPポートを識別するためのポート番号と利用ポート数を含む情報となる。   More specifically, when stream data to be transmitted in one RTP session is divided so as to correspond to the UDP ports 87 to 89, the control information is a sequence number (Sequence) attached to each divided data. Based on the (Number), information indicating in what order the data of each sequence number was divided, that is, in what order, and UDP ports 87 to 89 used for communication Information including the port number for identifying the UDP port used for the communication and the number of used ports.

また、Multi Flow RTP83は、複数のUDPポート87乃至89を使ってデータを実際に送信する際、各UDPポートの動作状態(ソケットへの書き込み状態)を監視し、動作状態に応じて、分割されたデータを割振って、それぞれに送信させる。割振り方法には、ラウンドロビン方式や即時方式などがある。ラウンドロビン方式は、分割されたデータを複数のUDPポートに対して所定の順序で割振って送信させる方式である。また、即時方式は、複数のUDPポートに対して、順序とは無関係に書き込み可能であれば、即時に送信すべきデータを割振って送信させる方式である。割振り方法については、ラウンドロビン方式または即時方式のいずれであってもよいが、例えば、モードとして切替えて使用できるようにしてもよいし、それ以外の割振り方法であってもよい。   The Multi Flow RTP 83 monitors the operation state (write state to the socket) of each UDP port when actually transmitting data using the plurality of UDP ports 87 to 89, and is divided according to the operation state. Allocate the data and send it to each. The allocation method includes a round robin method and an immediate method. The round robin method is a method in which divided data is allocated to a plurality of UDP ports and transmitted in a predetermined order. The immediate method is a method for allocating and transmitting data to be transmitted immediately to a plurality of UDP ports if writing is possible regardless of the order. The allocation method may be either a round robin method or an immediate method. For example, the allocation method may be switched and used, or other allocation methods may be used.

RTCP84は、基本的には、クライアントPC1のRTCP64と同様のものであるが、Multi Flow RTP63より供給された制御情報に基づいて、UDPポート87乃至89を制御して、クライアントPC1にストリームデータを供給させると共に、供給された制御情報を、TCPポート86を制御してクライアントPC1に送信する。   The RTCP 84 is basically the same as the RTCP 64 of the client PC 1 but supplies stream data to the client PC 1 by controlling the UDP ports 87 to 89 based on the control information supplied from the Multi Flow RTP 63. In addition, the supplied control information is transmitted to the client PC 1 by controlling the TCP port 86.

図4に示したプレイヤ61、RTSP62、Multi Flow RTP63、RTCP64、TCP65,66、および、UDP67乃至69、並びに、配信プログラム81、RTSP82、Multi Flow RTP83、RTCP84、TCP85,86、および、UDP87乃至89は、いずれもプロトコルであるが、図5で示されるように、それぞれは、OSI参照モデルにより、以下のように分類される。   The player 61, RTSP 62, Multi Flow RTP 63, RTCP 64, TCP 65, 66, and UDP 67 to 69, and the distribution program 81, RTSP 82, Multi Flow RTP 83, RTCP 84, TCP 85, 86, and UDP 87 to 89 shown in FIG. These are all protocols, but as shown in FIG. 5, each is classified as follows according to the OSI reference model.

すなわち、プレイヤ61、および、配信プログラム81は、アプリケーション層であり、クライアントPC1や配信サーバ7を操作するユーザより見えるアプリケーションを規定する。このとき、ストリームデータが、例えば、動画データである場合、その動画データに大生する動画フォーマットが、プレゼンテーション層となり、通信におけるフォーマットやコードを規定する。   That is, the player 61 and the distribution program 81 are application layers and define an application that can be seen by a user who operates the client PC 1 or the distribution server 7. At this time, when the stream data is, for example, moving image data, the moving image format that grows in the moving image data becomes the presentation layer, and defines the format and code in communication.

RTSP62,82、Multi Flow RTP63,83、RTCP64,84は、セッション層であり、通信の手順を規定するプロトコルである。TCPポート65,66,85,86、並びに、UDPポート67乃至69、87乃至89は、トランスポート層であり、論理的な通信路を規定する。   RTSPs 62 and 82, Multi Flow RTPs 63 and 83, and RTCPs 64 and 84 are session layers and are protocols that define communication procedures. TCP ports 65, 66, 85, and 86 and UDP ports 67 to 69 and 87 to 89 are transport layers and define logical communication paths.

以上の元で、TCP/IPにおけるプロトコルであるIP(Internet Protocol)は、ネットワークを介した通信経路を規定するネットワーク層となり、各機器の物理的なアドレスであるMACアドレス(Media Access Control Address)が、物理的に隣り合った機器間の論理信号手順(例えば、パケット化の手順など)を規定するデータ層となり、さらに、LANなどの物理的な電気的接続の規定である物理層となる。   Based on the above, IP (Internet Protocol), which is a protocol in TCP / IP, becomes a network layer that defines the communication path through the network, and the MAC address (Media Access Control Address) that is the physical address of each device is A data layer that defines a logical signal procedure (for example, a packetization procedure, etc.) between physically adjacent devices, and a physical layer that is a definition of a physical electrical connection such as a LAN.

図6は、図4の機能を、図5を参照して説明したOSI参照モデルに基づいて、各層毎に配置したものである。図6において、各ブロックの重なり合っている部分、または、接触している部分は、図中の上部のブロックが下部のブロックを制御していることを示し、各矢印は、データの伝送方向を示している。   FIG. 6 shows the functions of FIG. 4 arranged for each layer based on the OSI reference model described with reference to FIG. In FIG. 6, the overlapping or contacting portions of each block indicate that the upper block in the figure controls the lower block, and each arrow indicates the data transmission direction. ing.

すなわち、RTSP62,82は、同じセッション層のMulti Flow RTP63,83をそれぞれ制御すると共に、トランスポート層のTCPポート65,85をそれぞれ制御する。また、Multi Flow RTP63,83が、同じセッション層におけるRTCP64,84をそれぞれ制御する。また、セッション層のRTCP64,84は、トランスポート層のUDP67乃至69、87乃至89、および、トランスポート層のTCP66,86をそれぞれ制御する。このとき、配信サーバ7のUDPポートと、クライアントPC1のUDPポートは、それぞれ1対1でペアを組んでデータの授受を行う。すなわち、図6においては、UDP67と87、UDP68と88、および、UDP69と89が、それぞれペアを形成し、データがそれぞれのペア毎に授受される。   That is, RTSPs 62 and 82 control Multi Flow RTPs 63 and 83 in the same session layer, respectively, and control TCP ports 65 and 85 in the transport layer, respectively. Multi Flow RTPs 63 and 83 control RTCPs 64 and 84 in the same session layer, respectively. The session layer RTCPs 64 and 84 control the transport layer UDPs 67 to 69 and 87 to 89, and the transport layer TCPs 66 and 86, respectively. At this time, the UDP port of the distribution server 7 and the UDP port of the client PC 1 are paired on a one-on-one basis to exchange data. That is, in FIG. 6, UDP 67 and 87, UDP 68 and 88, and UDP 69 and 89 form a pair, and data is exchanged for each pair.

以上の機能により、1つのセッションにより送信されるストリームデータの送信が複数のポートで行われる。ここで、Multi-Flow RTP63,83によるストリーミング送信の最大単位を、「RTPセッション」と定義し、あるRTPセッションに属する一対の送信先・送信元UDPポートのペア(例えば、図6においては、UDPポート67と87、UDPポート68と88、または、UDPポート69と89)により授受されるデータの単位を、「RTPデータフロー」と定義するものとする。   With the above function, transmission of stream data transmitted by one session is performed at a plurality of ports. Here, the maximum unit of streaming transmission by Multi-Flow RTPs 63 and 83 is defined as “RTP session”, and a pair of destination / source UDP ports belonging to a certain RTP session (for example, UDP in FIG. 6). The unit of data exchanged by the ports 67 and 87, the UDP ports 68 and 88, or the UDP ports 69 and 89) is defined as “RTP data flow”.

この場合、Multi Flow RTP63,83における各RTPデータフローは、RFC1889のRTPデータ送信規定に従うが、RTCP64,84は、各UDPポートのペアで授受されるRTPデータフロー単位で制御を行わず、UDPポート67乃至69、および、UDPポート87乃至89を1つとして捉え、RTPセッション全体を制御する。   In this case, each RTP data flow in the Multi Flow RTPs 63 and 83 conforms to the RTP data transmission specification of RFC1889, but the RTCP 64 and 84 do not perform control in units of RTP data flows exchanged with each pair of UDP ports. 67 to 69 and UDP ports 87 to 89 are regarded as one, and the entire RTP session is controlled.

このとき、Multi Flow RTP63,83は、RTPデータパケットのシーケンス番号(sequence number)をRTPデータフロー単位ではなくRTPセッション単位で付与し、異なるRTPデータフローによって送信されたデータパケットであっても、シーケンス番号によって一意に管理する。   At this time, the Multi Flow RTPs 63 and 83 assign the sequence numbers of the RTP data packets not in units of RTP data flows but in units of RTP sessions, and even if the data packets are transmitted by different RTP data flows, Uniquely managed by number.

また、通常のRTPでは、SSRC(Synchronization Source:RTPにおいてストリームデータパケットのソース識別を行うための32bitのフィールド)によってストリームデータソースが識別されるが、Multi-Flow RTP83は、SSRCをRTPセッションと1対1に対応させる。これにより、Multi-Flow RTP63は、複数のRTPデータフローを1つのRTPセッションとしてまとめることが容易になり、また複数のRTPセッションに属するデータを同一UDPポートで受信した場合であっても適正に仕分けることができる。   In normal RTP, the stream data source is identified by SSRC (Synchronization Source: a 32-bit field for identifying the source of a stream data packet in RTP), but Multi-Flow RTP 83 uses SSRC as the RTP session. Match one-on-one. This makes it easy for the Multi-Flow RTP 63 to combine a plurality of RTP data flows as one RTP session, and properly sorts even when data belonging to a plurality of RTP sessions is received at the same UDP port. be able to.

尚、RTPデータフローの各UDPポートは、原則として連続したポート範囲で割り当てるものとするが、RFC1889の規定に従い連続したポート範囲のうち偶数ポートのみを割り当てるようにしてもよい。   In addition, although each UDP port of the RTP data flow is assigned in a continuous port range in principle, only an even number of ports in the continuous port range may be assigned in accordance with the provisions of RFC1889.

次に、図7のフローチャートを参照して、図4のクライアントPC1と配信サーバ7によるストリームデータの配信処理について説明する。   Next, stream data distribution processing by the client PC 1 and distribution server 7 of FIG. 4 will be described with reference to the flowchart of FIG.

ステップS1において、プレイヤ61は、入力部26が操作されて、所定のストリームデータの配信を要求する操作がなされたか否かを判定し、所定のストリームデータの配信を要求する操作がなされるまで、その処理を繰り返す。そして、ユーザが、入力部26を操作して、データの配信を要求したと判定した場合、その処理は、ステップS2に進む。   In step S1, the player 61 determines whether or not an operation for requesting delivery of predetermined stream data has been performed by operating the input unit 26, and until an operation for requesting delivery of predetermined stream data is performed. Repeat the process. If the user operates the input unit 26 and determines that data distribution is requested, the process proceeds to step S2.

ステップS2において、プレイヤ61は、ストリームデータの配信を要求する操作指示をRTSP62に供給して、TCPポート65を介して配信サーバ7に送信させる。このとき、当然のことながら、図1で示したように、ルータ2、インターネットサービスプロバイダサーバ3、ルータ4、ネットワーク5、および、ルータ6を介した経路を経て、ストリームデータの配信を要求する情報が配信サーバ7に送信される。尚、以降においては、同様の経路を経てクライアントPC1と配信サーバ7のデータが授受されるものとする事を前提とするので、ルータ2、インターネットサービスプロバイダサーバ3、ルータ4、ネットワーク5、および、ルータ6におけるデータの授受に関する説明は適宜省略する。   In step S <b> 2, the player 61 supplies an operation instruction for requesting distribution of stream data to the RTSP 62 and transmits it to the distribution server 7 via the TCP port 65. At this time, naturally, as shown in FIG. 1, information requesting distribution of stream data via a route via the router 2, the Internet service provider server 3, the router 4, the network 5, and the router 6. Is transmitted to the distribution server 7. In the following, since it is assumed that the data of the client PC 1 and the distribution server 7 are exchanged through the same route, the router 2, the Internet service provider server 3, the router 4, the network 5, and A description of data exchange in the router 6 will be omitted as appropriate.

ステップS11において、配信プログラム81は、RTSP82よりTCPポート85を介して、ストリームデータの配信がクライアントPC1より要求されたか否かを判定し、ストリームデータの配信がクライアントPC1より要求されたと判定されるまで、その処理を繰り返す。ステップS11において、例えば、ステップS2の処理により、ストリームデータの配信がクライアントPC1より要求されたと判定された場合、配信プログラム81は、RTSP82を制御して、送信すべきストリームデータが格納されているアドレスを指定する情報をMulti Flow RTP83に供給させる。   In step S11, the distribution program 81 determines whether or not the distribution of stream data is requested from the client PC 1 via the TCP port 85 from the RTSP 82, and until it is determined that the distribution of stream data is requested from the client PC 1. Repeat the process. In step S11, for example, when it is determined by the processing in step S2 that distribution of stream data has been requested by the client PC 1, the distribution program 81 controls the RTSP 82 to store the stream data to be transmitted. Is supplied to the Multi Flow RTP 83.

ステップS13において、Multi Flow RTP83は、RTSP82より供給されたアドレスの情報に基づいて、送信すべきストリームデータを読み出して、UDPポート87乃至89に対応する数に分割し、UDPポート87乃至89に供給すると共に、このときの分割したストリームデータを再構築するために必要な制御情報を生成してRTCP84に供給する。   In step S13, the Multi Flow RTP 83 reads the stream data to be transmitted based on the address information supplied from the RTSP 82, divides the data into numbers corresponding to the UDP ports 87 to 89, and supplies them to the UDP ports 87 to 89. At the same time, control information necessary to reconstruct the stream data divided at this time is generated and supplied to the RTCP 84.

ステップS14において、Multi Flow RTP83は、分割したストリームデータを再構築するために必要な情報と、通信に使用するUDPポートのポート番号と利用ポート数の情報とを含む制御情報を生成する。   In step S14, the Multi Flow RTP 83 generates control information including information necessary for reconstructing the divided stream data, and information on the port number of the UDP port used for communication and the number of used ports.

ステップS15において、RTCP84は、TCPポート86を制御して、制御情報をクライアントPC1に送信させる。   In step S <b> 15, the RTCP 84 controls the TCP port 86 to transmit control information to the client PC 1.

ステップS16において、複数UDPポート送信処理が実行され、RTCP84により、UDPポート87乃至89が制御されて、Multi Flow RTP83により分割された状態で個々に供給されたストリームデータがクライアントPC1に送信される。尚、複数UDPポート送信処理については、図18乃至図22を参照して後述する。   In step S16, a plurality of UDP port transmission processes are executed, the UDP ports 87 to 89 are controlled by the RTCP 84, and the stream data individually supplied in a state of being divided by the Multi Flow RTP 83 is transmitted to the client PC 1. The multiple UDP port transmission process will be described later with reference to FIGS.

ステップS3において、Multi Flow RTP63は、RTCP64を制御して、TCPポート66に問い合わせて、分割されて各UDPポート67乃至69に受信されるストリームデータを再構築するために必要な情報(例えば、データを再構築するための順序の情報)と、通信に利用されるUDPポート67乃至69を特定するポート番号、および、利用ポート数の情報とを含む制御情報が送信されているかを判定し、送信されてくるまで、その処理を繰り返す。そして、例えば、ステップS3において、ステップS15の処理によりデータが送信されてきていると判定された場合、その処理は、ステップS4に進む。   In step S3, the Multi Flow RTP 63 controls the RTCP 64, inquires about the TCP port 66, and information necessary for reconstructing the stream data that is divided and received by the UDP ports 67 to 69 (for example, data The control information including the information on the order for reconstructing the data), the port number for identifying the UDP ports 67 to 69 used for communication, and the information on the number of used ports is transmitted. The process is repeated until it is received. For example, when it is determined in step S3 that data has been transmitted by the process of step S15, the process proceeds to step S4.

ステップS4において、RTCP64は、制御情報をTCPポート66を制御して受信させて、さらに、Multi Flow RTP63に供給する。   In step S4, the RTCP 64 controls the TCP port 66 to receive the control information, and further supplies it to the Multi Flow RTP 63.

ステップS5において、RTCP64は、制御情報の通信に使用されるポート番号と利用するポート数の情報に基づいて、UDPポート67乃至69に問い合わせて、それぞれ対応するUDPポート87乃至89よりデータが送信されてきているか否かを確認し、データが送信されてくるまで、その処理を繰り返す。ステップS5において、例えば、ステップS16の処理によりデータが送信されてきていると判定された場合、その処理は、ステップS6に進む。   In step S5, the RTCP 64 inquires the UDP ports 67 to 69 based on the port number used for communication of control information and the number of ports to be used, and data is transmitted from the corresponding UDP ports 87 to 89, respectively. The process is repeated until data is transmitted. In step S5, for example, when it is determined that data has been transmitted by the process of step S16, the process proceeds to step S6.

ステップS6において、複数UDPポート受信処理が実行され、RTCP64により、制御情報に含まれている通信に利用されるUDPポート67乃至69を特定するポート番号、および、利用ポート数の情報に基づいて、UDPポート67乃至69が制御されて、送信されてきた分割されているストリームデータが受信され、Multi Flow RTP63に供給される。尚、複数UDPポート受信処理については、図18乃至図22を参照して後述する。   In step S6, a plurality of UDP port reception processes are executed, and based on the RTCP 64, based on the port number identifying the UDP ports 67 to 69 used for communication included in the control information and the number of used ports, The UDP ports 67 to 69 are controlled, and the transmitted divided stream data is received and supplied to the Multi Flow RTP 63. The multiple UDP port reception process will be described later with reference to FIGS.

ステップS7において、Multi Flow RTP63は、各UDPポートより受信された分割されているストリームデータを、制御情報に含まれているストリームデータを再構築するために必要な情報に基づいて組み立てることにより、再構築し、プレイヤ61に供給する。   In step S7, the Multi Flow RTP 63 reassembles the divided stream data received from each UDP port based on information necessary for reconstructing the stream data included in the control information. Build and supply to player 61.

ステップS8において、プレイヤ61は、Multi Flow RTP63より供給された組み立てられて、再構築されている元のストリームデータを所定時間だけバッファリングした後、再生する。   In step S8, the player 61 buffers the assembled and reconstructed original stream data supplied from the Multi Flow RTP 63 for a predetermined time, and reproduces it.

以上の処理により、ストリームデータが分割された状態で複数のUDPポートによって送信されることになるので、例えば、図8で示されるように、複数の通信経路により分割されてストリームデータが配信されるので、図8で示されるように、これまで輻輳が発生する以前のタイミングで全てのデータを送信することが可能となる。   As a result of the above processing, stream data is transmitted through a plurality of UDP ports in a divided state. For example, as shown in FIG. 8, the stream data is divided by a plurality of communication paths and distributed. Therefore, as shown in FIG. 8, it is possible to transmit all data at a timing before congestion has occurred so far.

尚、図8においては、例えば、図6のUDPポートのペアであるUDPポート67と87、UDPポート68と88、または、UDPポート69と89によるRTPデータフローをそれぞれ、実線の太線、点線の太線、および、1点鎖線の太線で示している。すなわち、例えば、UDPポート67と87のRTPデータフローは、ルータ6,11f,11e,11d,4、インターネットサービスプロバイダサーバ3、ルータ2を介したものであり、UDPポート68と88のRTPデータフローは、ルータ6,11f,11b,11c,11d,4、インターネットサービスプロバイダサーバ3、ルータ2を介したものであり、さらに、UDPポート69と89のRTPデータフローは、ルータ6,11f,11c,11d,4、インターネットサービスプロバイダサーバ3、ルータ2を介したものであり、それぞれが異なる通信路を使うことにより、帯域を広く使うことができ、高速でデータを送信することが可能となるので、図9で示されるように、これまで、輻輳が発生していた時刻t1付近までの間に、送信を完了させることができ、遅延などを抑制して高速の通信を実現させることができる。尚、図9においては、点線が、これまでの通信であり、実線が、図4の配信システムによるデータの転送状況を示したものであり、これまでの通信においては、図9における時刻t1を越えた付近において、輻輳が発生している。   In FIG. 8, for example, the RTP data flow by the UDP ports 67 and 87, the UDP ports 68 and 88, or the UDP ports 69 and 89, which are the UDP port pairs in FIG. It is indicated by a bold line and a bold line with a one-dot chain line. That is, for example, the RTP data flow of the UDP ports 67 and 87 is via the routers 6, 11 f, 11 e, 11 d, 4, the Internet service provider server 3 and the router 2, and the RTP data flow of the UDP ports 68 and 88 Is routed through the routers 6, 11f, 11b, 11c, 11d, 4, the Internet service provider server 3, and the router 2. Further, the RTP data flow of the UDP ports 69 and 89 is the router 6, 11f, 11c, 11d, 4, the Internet service provider server 3, and the router 2, each of which uses a different communication path, so that a wide band can be used and data can be transmitted at high speed. As shown in FIG. 9, transmission is completed until time t <b> 1 where congestion has occurred so far. So that it is, it is possible to realize high-speed communication by suppressing such delay. In FIG. 9, the dotted line indicates the communication so far, and the solid line indicates the data transfer status by the distribution system in FIG. 4. In the communication so far, the time t1 in FIG. Congestion is occurring in the vicinity.

以上においては、ストリームデータのうち1のRTPセッションにより配信するデータを分割し、複数のRTPデータフローにより送信する例について説明してきたが、以上の通信においては、UDPポートによる通信であるため、通信経路上のルータのいずれかがフロー制御などによりパケットを破棄した場合、送信したデータが着信しているか否かの確認がなされず、Multi Flow RTP101が、ストリームデータを再構築することができない恐れがある。そこで、通信経路上でパケットが破棄された場合、欠落したパケットを再送要求するようにさせても良い。   In the above, an example has been described in which the data to be distributed by one RTP session in the stream data is divided and transmitted by a plurality of RTP data flows. However, in the above communication, communication is performed using a UDP port. If any of the routers on the route discards the packet by flow control or the like, there is a possibility that the Multi Flow RTP 101 cannot reconstruct the stream data without confirming whether or not the transmitted data has arrived. is there. Therefore, when a packet is discarded on the communication path, a retransmission of the lost packet may be requested.

図10は、欠落したパケットを再送要求できるようにしたクライアントPC1と配信サーバ7により実現される機能を説明する図である。尚、図4で示されるクライアントPC1と配信サーバ7により実現される機能と同様の機能については、同一の符号を付してあり、その説明は適宜省略する。   FIG. 10 is a diagram for explaining functions realized by the client PC 1 and the distribution server 7 that can request retransmission of a lost packet. Note that the same functions as those realized by the client PC 1 and the distribution server 7 shown in FIG. 4 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.

図10のクライアントPC1と配信サーバ7において、図4のクライアントPC1と配信サーバ7と異なる機能は、Multi Flow RTP63,83に代えて、再送処理機能付Multi Flow RTP101,111を設けた点である。再送処理機能付Multi Flow RTP101は、基本的にMulti Flow RTP63と同様の機能を備えているが、さらに、制御情報に含まれている、ストリームデータを再構築するために必要とされる情報に基づいて、UDPポート67乃至69により供給された、分割されているストリームデータのうち、データの欠落の有無を確認し、欠落を検出した場合、RTCP64を制御してTCPポート66より、欠落したデータの再送を要求する。また、再送処理機能付Multi Flow RTP111は、RTCP84を制御して、TCPポート86より再送処理機能付Multi Flow RTP101からの再送要求を受信すると、再送要求のあったデータ(パケット)を複数のUDPポート87乃至89を制御して送信する。   10 differs from the client PC 1 and the distribution server 7 in FIG. 4 in that, instead of the Multi Flow RTPs 63 and 83, Multi Flow RTPs 101 and 111 with a retransmission processing function are provided. The Multi Flow RTP 101 with a retransmission processing function basically has the same function as the Multi Flow RTP 63, but is further based on information necessary for reconstructing stream data included in the control information. In the divided stream data supplied from the UDP ports 67 to 69, the presence of missing data is confirmed. When the missing data is detected, the RTCP 64 is controlled and the data of the missing data is transmitted from the TCP port 66. Request resend. In addition, when the Multi Flow RTP 111 with a retransmission processing function controls the RTCP 84 and receives a retransmission request from the Multi Flow RTP 101 with a retransmission processing function from the TCP port 86, the data (packet) for which the retransmission request has been made is transmitted to a plurality of UDP ports. 87 to 89 are controlled and transmitted.

次に、図11のフローチャートを参照して、図10のクライアントPC1と配信サーバ7による配信システムによる配信処理について説明する。尚、図11のフローチャートのステップS31乃至S36,S38,S39の処理、および、ステップS51乃至S56の処理は、図7のフローチャートのステップS1乃至S8およびS11乃至S16の処理と同様であるので、その説明は省略する。   Next, with reference to the flowchart of FIG. 11, the distribution process by the distribution system by the client PC 1 and the distribution server 7 of FIG. 10 will be described. Note that the processing of steps S31 to S36, S38, and S39 and the processing of steps S51 to S56 in the flowchart of FIG. 11 are the same as the processing of steps S1 to S8 and S11 to S16 in the flowchart of FIG. Description is omitted.

ステップS37において、再送処理機能付Multi Flow RTP101は、RTCP64より供給された制御情報に基づいて、UDPポート67乃至69より供給されたデータに欠落がなく全て受信されているか否かを判定する。例えば、図12で示されるように、UDPポート68と88のペアで送信されてくるべきデータがルータ11cにより破棄されてしまったような場合、データが欠落し、全てのデータが受信されていないと判定され、その処理は、ステップS40に進む。   In step S37, the Multi Flow RTP 101 with a retransmission processing function determines whether or not all the data supplied from the UDP ports 67 to 69 has been received based on the control information supplied from the RTCP 64. For example, as shown in FIG. 12, when the data to be transmitted by the pair of UDP ports 68 and 88 is discarded by the router 11c, the data is lost and not all the data is received. The process proceeds to step S40.

ステップS40において、再送処理機能付Multi Flow RTP101は、遅延許容時間内であるか否かを判定し、遅延許容時間内であると判定した場合、その処理は、ステップS37に戻る。すなわち、全てのデータが受信されていないと判定された状態でも、遅延許容時間内では、ステップS37,S40の処理が繰り返される。そして、遅延許容時間内ではないと判定された場合、ステップS41において、再送処理機能付Multi Flow RTP101は、RTCP64を制御して、TCPポート66より欠落しているデータの再送要求を配信サーバ7に送信させ、その処理は、ステップS33に戻り、それ以降の処理が繰り替えされる。より詳細には、欠落しているRTPデータパケットのシーケンス番号が指定されて、再送が要求される。   In Step S40, the Multi Flow RTP 101 with the retransmission processing function determines whether or not it is within the allowable delay time. If it is determined that it is within the allowable delay time, the process returns to Step S37. That is, even when it is determined that all data has not been received, the processes of steps S37 and S40 are repeated within the allowable delay time. If it is determined that it is not within the allowable delay time, the Multi Flow RTP 101 with a retransmission processing function controls the RTCP 64 in step S 41 to send a retransmission request for data missing from the TCP port 66 to the distribution server 7. The process returns to step S33, and the subsequent processes are repeated. More specifically, the sequence number of the missing RTP data packet is specified and retransmission is requested.

ステップS57において、再送処理機能付Multi Flow RTP111は、RTCP84を制御して、TCPポート86に再送要求が送信されてきているか否かを判定し、例えば、ステップS41の処理により再送要求があったと判定された場合、その処理は、ステップS58に進む。   In step S57, the Multi Flow RTP 111 with a retransmission processing function controls the RTCP 84 to determine whether or not a retransmission request has been transmitted to the TCP port 86. For example, it is determined that there has been a retransmission request by the processing in step S41. If so, the process proceeds to step S58.

ステップS58において、再送処理機能付Multi Flow RTP111は、再送要求のあったデータのアドレス(再送の要求があったデータのシーケンス番号に対応するデータのアドレス)を指定し、その処理は、ステップS53に戻り、それ以降の処理が繰り返される。   In step S58, the Multi Flow RTP 111 with a retransmission processing function designates the address of the data requested to be retransmitted (data address corresponding to the sequence number of the data requested to be retransmitted), and the process proceeds to step S53. Return, and the subsequent processing is repeated.

ステップS37において、全てのデータが受信されていると判定された場合、その処理は、ステップS38に進む。また、ステップS57において、再送要求がなかったと判定された場合、その処理は、終了する。   If it is determined in step S37 that all data has been received, the process proceeds to step S38. If it is determined in step S57 that there is no retransmission request, the process ends.

すなわち、図13で示されるように、RTPデータフロー121が、複数のUDPポートのペア(例えば、図6のUDPポートのペアであるUDPポート67と87、UDPポート68と88、または、UDPポート69と89)を介して、配信サーバ7から送信されてくると図11のフローチャートのステップS38の処理により、プレイヤ61が、データ131を再生する(所定時間だけバッファリングしてから再生する)。同様にして、クライアントPC1においては、RTPデータフロー122が、同様に複数のUDPポートペアにより送信されてくることにより、データ132が再生される。   That is, as shown in FIG. 13, the RTP data flow 121 has a plurality of UDP port pairs (for example, UDP ports 67 and 87, UDP ports 68 and 88, which are UDP port pairs in FIG. 6, or UDP ports). 69 and 89), when transmitted from the distribution server 7, the player 61 reproduces the data 131 by the process of step S38 in the flowchart of FIG. Similarly, in the client PC 1, the RTP data flow 122 is similarly transmitted by a plurality of UDP port pairs, so that the data 132 is reproduced.

ところが、図13で示されるように、RTPデータフロー123が、例えば、図12で示される点線の通信経路上のルータ11cにより、破棄されてしまったような場合、その分のデータが欠落することになる。従って、この場合、対応するデータはプレイヤ61に供給されないことになる。図13においては、その後に送信されてくるRTPデータフロー124が、受信され、対応するデータ135がバッファリングされる。この間、データ123が欠落してから、遅延許容時間が経過すると、上述したステップS41の処理により、RTCP64がTCPポート66を制御して再送を要求する。   However, as shown in FIG. 13, when the RTP data flow 123 is discarded by, for example, the router 11c on the dotted communication path shown in FIG. 12, the corresponding data is lost. become. Therefore, in this case, the corresponding data is not supplied to the player 61. In FIG. 13, the RTP data flow 124 transmitted thereafter is received and the corresponding data 135 is buffered. During this time, if the allowable delay time elapses after the data 123 is lost, the RTCP 64 controls the TCP port 66 to request retransmission by the processing in step S41 described above.

すると、この再送要求に基づいて、RTPデータフロー126が配信サーバ7より送信されてきて、対応する欠落したデータ134がバッファリングされた後、ストリームデータが再生される。図13においては、その後、RTPデータフロー127,128が、配信サーバ7より引き続き送信されてきて、対応するデータ136,137がバッファリングされて、再生される様子が示されている。尚、この遅延許容時間は、バッファリング時間から予測される再送レスポンス時間(再送要求に基づいてデータ送信されてくるまでの予測時間)を減じた時間よりも短くする必要がある。   Then, based on this retransmission request, the RTP data flow 126 is transmitted from the distribution server 7 and the corresponding missing data 134 is buffered, and then the stream data is reproduced. FIG. 13 shows how the RTP data flows 127 and 128 are subsequently transmitted from the distribution server 7 and the corresponding data 136 and 137 are buffered and reproduced. The allowable delay time needs to be shorter than the time obtained by subtracting the retransmission response time predicted from the buffering time (the estimated time until data is transmitted based on the retransmission request).

以上の処理により、複数のUDPポートにより分割された状態でストリームデータ送信されることになるので、これまで輻輳が発生する以前のタイミングで全てのデータを送信することが可能となると共に、通信経路上でデータの欠落が発生したような場合にでも、再送要求によってデータの欠落を抑制し、安定したストリームデータの再生を実現させることが可能となる。   Through the above processing, stream data is transmitted in a state of being divided by a plurality of UDP ports, so that all data can be transmitted at the timing before congestion occurs so far, and the communication path Even when data loss occurs above, it is possible to suppress data loss by a retransmission request and realize stable reproduction of stream data.

尚、以上においては、1のRTPセッションについて、複数のRTPデータフロー(複数のUDPポート)を使用して送受信する例について説明してきたが、例えば、図14で示されるように、RTSP62,82−よりも上位の層にRTPセッションそのものを分割するセッション分割プログラム141、および、分割されたセッションを結合するセッション結合プログラム142をそれぞれ設けるようにしても良い。   In the above description, an example in which one RTP session is transmitted and received using a plurality of RTP data flows (a plurality of UDP ports) has been described. For example, as shown in FIG. A session division program 141 that divides the RTP session itself and a session combination program 142 that combines the divided sessions may be provided in higher layers.

さらに、以上においては、1のRTPセッションからなるデータを複数のRTPデータフロー(複数のUDPポート)に分割して同時に送受信する例について説明してきたが、例えば、図15で示されるように、UDPポート67乃至69,87乃至89に代えて、TCPポート151乃至153,161乃至163を設けるようにしても良い。この場合、UDPポートの場合よりも通信速度の低下が見られる可能性があるが、TCPはデータの着信を確認する機能を備えているので、より安定したストリームデータの配信を実現することができる。   Furthermore, in the above, an example in which data consisting of one RTP session is divided into a plurality of RTP data flows (a plurality of UDP ports) and transmitted / received simultaneously has been described. For example, as shown in FIG. Instead of the ports 67 to 69 and 87 to 89, TCP ports 151 to 153 and 161 to 163 may be provided. In this case, there is a possibility that the communication speed will be lower than in the case of the UDP port, but because TCP has a function to confirm the arrival of data, it is possible to realize more stable delivery of stream data .

尚、図14,図15において、Multi Flow RTP63,83は、図10で示したMulti Flow RTP101,111に置き換えるようにして、再送処理機能を備えるようにさせても良い。また、UDPポート67乃至69、および、87乃至89は、いずれも3個で構成される例について説明してきたが、これに限るものではなく、それ以外の数のUDPポート、または、TCPポートにより構成されるようにしても良い。   14 and 15, the Multi Flow RTPs 63 and 83 may be replaced with the Multi Flow RTPs 101 and 111 shown in FIG. 10 to have a retransmission processing function. In addition, although the UDP ports 67 to 69 and 87 to 89 have been described with respect to an example in which all three ports are configured, the present invention is not limited to this, and other UDP ports or TCP ports are used. It may be configured.

以上においては、1のRTPセッションからなるデータを分割して送信する例について説明してきてきたが、1のRTPセッションからなるデータを、同時に複数のUDPポートから送信するようにしてもよい。   In the above description, an example in which data consisting of one RTP session is divided and transmitted has been described. However, data consisting of one RTP session may be transmitted simultaneously from a plurality of UDP ports.

図16は、1のRTPセッションからなるデータを、同時に複数のUDPポートから送信するようにしたクライアントPC1と配信サーバ7により実現される機能を説明する図である。尚、図4で示されるクライアントPC1と配信サーバ7により実現される機能と同様の機能については、同一の符号を付してあり、その説明は適宜省略する。   FIG. 16 is a diagram for explaining functions realized by the client PC 1 and the distribution server 7 configured to simultaneously transmit data consisting of one RTP session from a plurality of UDP ports. Note that the same functions as those realized by the client PC 1 and the distribution server 7 shown in FIG.

図16のクライアントPC1と配信サーバ7において、図4のクライアントPC1と配信サーバ7と異なる機能は、Multi Flow RTP63,83、および、RTCP64,84に代えて、並列Multi Flow RTP171,181、および、RTCP172,182を設けた点である。並列Multi Flow RTP171は、基本的にMulti Flow RTP63と同様の機能を備えているが、送信するデータを分割せずに、UDPポート87乃至89に供給すると共に、送信しようとするデータを識別する情報である制御信号をRTCP172に供給する。RTCP172は、基本的に、RTCP84と同様のものであるが、ストリームデータが分割されないので、分割されたデータを再構築するための制御情報ではなく、送信しようとするデータを識別する情報である制御信号を、TCPポート86を制御して、クライアントPC1に送信させると共に、UDPポート87乃至89を制御して、それぞれからデータをクライアントPC1に送信させる。   In the client PC 1 and the distribution server 7 of FIG. 16, functions different from the client PC 1 and the distribution server 7 of FIG. 4 are parallel Multi Flow RTPs 171, 181 and RTCP 172 instead of the Multi Flow RTPs 63, 83 and RTCP 64, 84. , 182 are provided. The parallel Multi Flow RTP 171 basically has the same function as the Multi Flow RTP 63, but supplies information to the UDP ports 87 to 89 without dividing the data to be transmitted, and identifies the data to be transmitted. Is supplied to the RTCP 172. The RTCP 172 is basically the same as the RTCP 84, but since the stream data is not divided, the control is not control information for reconstructing the divided data but information for identifying data to be transmitted. A signal is transmitted to the client PC 1 by controlling the TCP port 86, and the UDP ports 87 to 89 are controlled to transmit data from each to the client PC 1.

また、並列Multi Flow RTP181は、RTCP182を制御して、TCPポート66により配信サーバ7からの送信されてくるデータを識別する情報である制御情報を受信し、UDPポート67乃至69のいずれかで、その制御情報に基づいて識別されるデータ(パケット)が受信されると、その他のUDPポート67乃至69で受信されるデータを破棄すると共に、最初受信されたデータをプレイヤ61に供給して再生させる。   In addition, the parallel Multi Flow RTP 181 controls the RTCP 182 to receive control information that is information for identifying data transmitted from the distribution server 7 via the TCP port 66, and is connected to any of the UDP ports 67 to 69. When data (packet) identified based on the control information is received, the data received at the other UDP ports 67 to 69 are discarded and the first received data is supplied to the player 61 for reproduction. .

次に、図17のフローチャートを参照して、図16のクライアントPC1と配信サーバ7からなる配信システムによる配信処理について説明する。尚、図17のフローチャートのステップS71,S72の処理、および、ステップS91,S92の処理は、図7のフローチャートのステップS1,S2およびS91,S92の処理と同様であるので、その説明は省略する。   Next, distribution processing by the distribution system including the client PC 1 and the distribution server 7 in FIG. 16 will be described with reference to the flowchart in FIG. Note that the processing in steps S71 and S72 and the processing in steps S91 and S92 in the flowchart in FIG. 17 are the same as the processing in steps S1, S2 and S91 and S92 in the flowchart in FIG. .

ステップS93において、並列Multi Flow RTP171は、RTSP82より供給されたアドレスの情報に基づいて、送信すべきストリームデータを読み出し、そのストリームデータを識別する情報と、UDPポート87乃至89のうちの通信に使用するポート番号と利用ポート数の情報を含む制御情報を生成する。   In step S93, the parallel Multi Flow RTP 171 reads out the stream data to be transmitted based on the address information supplied from the RTSP 82, and uses the information for identifying the stream data and communication among the UDP ports 87 to 89. Control information including information on the port number to be used and the number of used ports is generated.

ステップS94において、並列Multi Flow RTP171は、RTCP84を制御して、TCPポート86より、生成した送信しようとするストリームデータを識別する情報と、UDPポート87乃至89のうちの通信に使用するポート番号と利用ポート数の情報を含む制御情報をクライアントPC1に送信させる。   In step S94, the parallel Multi Flow RTP 171 controls the RTCP 84 to identify the generated stream data to be transmitted from the TCP port 86, and the port number used for communication among the UDP ports 87 to 89. Control information including information on the number of ports used is sent to the client PC 1.

ステップS95において、複数UDPポート送信処理が実行され、並列Multi Flow RTP171により、送信しようとするストリームデータがUDPポート87乃至89に、それぞれ供給され、クライアントPC1に送信される。すなわち、この処理により、送信すべき同一のストリームデータが同時に複数のUDPポート87乃至89よりクライアントPC1に送信される。尚、ステップS95の処理においては、ステップS16,S56の処理と異なり、送信されるデータが分割されていない状態であるが、複数のUDPポート87乃至89を使用した複数UDPポート送信処理そのものは同様である。   In step S95, multiple UDP port transmission processing is executed, and stream data to be transmitted is supplied to the UDP ports 87 to 89 by the parallel Multi Flow RTP 171 and transmitted to the client PC 1. That is, by this process, the same stream data to be transmitted is simultaneously transmitted to the client PC 1 from the plurality of UDP ports 87 to 89. In the process of step S95, unlike the processes of steps S16 and S56, the transmitted data is not divided, but the multiple UDP port transmission process itself using the multiple UDP ports 87 to 89 is the same. It is.

ステップS73において、RTCP182は、TCPポート66を制御して、配信サーバ7より制御情報が送信されてきたか否かを判定し、送信されてくるまでその処理を繰り返す。例えば、ステップS93の処理により制御情報が送信されてきた場合、その処理は、ステップS74に進む。   In step S73, the RTCP 182 controls the TCP port 66, determines whether or not control information is transmitted from the distribution server 7, and repeats the processing until it is transmitted. For example, when control information is transmitted by the process of step S93, the process proceeds to step S74.

ステップS74において、複数UDPポート受信処理が実行され、RTCP182により、TCPポート66が制御されて制御情報が受信され、さらに、受信された制御情報が並列Multi Flow RTP181に供給される。尚、ステップS74の処理においては、ステップS6,S36の処理と異なり、受信されるデータが分割されていない状態であるが、複数のUDPポート67乃至69を使用した複数UDPポート受信処理そのものは同様である。   In step S 74, multiple UDP port reception processing is executed, the TCP port 66 is controlled by the RTCP 182 to receive control information, and the received control information is supplied to the parallel Multi Flow RTP 181. In the process of step S74, unlike the processes of steps S6 and S36, the received data is not divided, but the multiple UDP port reception process using the multiple UDP ports 67 to 69 is the same. It is.

ステップS75において、並列Multi Flow RTP171は、制御情報に基づいて、UDPポート67乃至69のいずれかにおいて、送信されてきたストリームデータが受信されたか否かを判定し、受信されるまで、その処理を繰り返す。例えば、ステップS94の処理により、ステップS76において、複数UDPポート受信処理が実行され、UDPポート87乃至89のいずれかから送信されてきたストリームデータが受信された場合、その処理は、ステップS77に進む。   In step S75, the parallel Multi Flow RTP 171 determines whether or not the transmitted stream data is received at any of the UDP ports 67 to 69 based on the control information, and performs the process until it is received. repeat. For example, when a plurality of UDP port reception processes are executed in step S76 by the process in step S94 and stream data transmitted from any of the UDP ports 87 to 89 is received, the process proceeds to step S77. .

ステップS77において、並列Multi Flow RTP171は、UDPポート67乃至69のいずれかにより受信されたストリームデータと、受信されている制御情報を比較し、既に受信済みのストリームデータであるか否かを判定する。より詳細には、並列Multi Flow RTP171は、受信されたストリームデータを識別する情報と、制御情報に含まれている送信されてくるべきストリームデータを識別する情報とを比較し、受信したストリームデータが、送信されてくるべきストリームデータであるか否かを識別し、送信されてくるべきストリームデータであった場合で、かつ、既に受信されているものであるか否かを判定する。例えば、ステップS76において、受信されたストリームデータが、まだ、受信されていない最初のストリームデータであると判定した場合、その処理は、ステップS77に進む。   In step S77, the parallel Multi Flow RTP 171 compares the stream data received by any of the UDP ports 67 to 69 with the received control information, and determines whether or not the stream data has already been received. . More specifically, the parallel Multi Flow RTP 171 compares the information for identifying the received stream data with the information for identifying the stream data to be transmitted included in the control information. It is determined whether or not the stream data is to be transmitted, and it is determined whether or not the stream data is to be transmitted and is already received. For example, when it is determined in step S76 that the received stream data is the first stream data that has not yet been received, the process proceeds to step S77.

ステップS78において、並列Multi Flow RTP171は、受信したストリームデータをプレイヤ61に供給し、再生させる。   In step S78, the parallel Multi Flow RTP 171 supplies the received stream data to the player 61 for playback.

ステップS77において、既に、受信済みのストリームデータであると判定された場合、すなわち、ステップS94の処理により、ストリームデータは、複数のUDPポートにより同時に並列に送信されてくるので、そのうちのいずれか複数の経路上でパケットが破棄されることなく、複数のストリームデータが、複数のUDPポートで受信された場合、ステップS79において、並列Multi Flow RTP171は、2番目以降に受信されたストリームデータのパケットを破棄する。   If it is determined in step S77 that the stream data has already been received, that is, the stream data is simultaneously transmitted in parallel through a plurality of UDP ports by the processing in step S94, any one of them is selected. When a plurality of stream data are received at a plurality of UDP ports without being discarded on the path of the parallel multi flow RTP 171, the parallel multi-flow RTP 171 receives the second and subsequent received stream data packets in step S 79. Discard.

このため、従来UDPパケットによるデータ転送では、パケットが通信路上のいずれかのルータで破棄された場合、例えば、ストリームデータが動画であるとき、データが到達しないまま再生が進む事で、画質の劣化が生じてしまうので、画質を下げることによって対応することしかできなかったが、以上の処理により、同一のストリームデータを複数ポートで並列的に転送する事が可能となり、結果として、並列に送信されたストリームデータのうちの1つでも届けば、ストリームデータが届かないといった事体を回避することができるので、通信の信頼性を高めることが可能となる。また、正しいパケットが1つでも到達した時点で、他のパケットの破棄処理を行う事で、確認応答がないためにTCP方式の通信に比べて高速なUDP方式の通信の特徴を活かしたままで、UDP方式による通信における弱点であった信頼性の高いデータ転送を実現することが可能となる。   For this reason, in conventional data transfer using UDP packets, when the packet is discarded by any router on the communication path, for example, when the stream data is a moving image, the playback proceeds without reaching the data, thereby degrading the image quality. As a result, the same stream data can be transferred in parallel through multiple ports, and as a result, it is transmitted in parallel. If even one of the stream data is delivered, it is possible to avoid a situation in which the stream data does not reach, so that it is possible to improve the reliability of communication. In addition, when one correct packet arrives, other packets are discarded, and there is no confirmation response. Therefore, while taking advantage of the characteristics of the UDP communication that is faster than the TCP communication, It is possible to realize highly reliable data transfer, which was a weak point in UDP communication.

また、単一のTCPコネクションやUDPパケットでは、単一のコネクション内や単一のパケットにおける送信できるデータ容量の限界があり、さらに、TCP方式の場合、フロー制御等で、単一のコネクションでは、利用可能帯域を一杯まで利用する事が難しいといった問題があったが、以上のような処理により、複数のポートを利用した転送を、TCP方式、または、UDP方式で行う事で、帯域を限界近くまで利用することが可能となり、転送容量を高めることが可能となる。   In addition, with a single TCP connection or UDP packet, there is a limit on the data capacity that can be transmitted within a single connection or in a single packet. Although there was a problem that it was difficult to use the available bandwidth to the full, the bandwidth was close to the limit by performing the transfer using multiple ports by the TCP method or UDP method by the above processing. And the transfer capacity can be increased.

すなわち、送信しようとするストリームデータを分割し、連続データとして複数のポートで同時送受信する事で、より高速でデータを転送させることができる。また、同一データを複数のポートを用いて送信する場合、パケットが破棄されてしまうといった状況を意識した同一データの複数ポートでの受信を行うことにより、通信の信頼性を向上させつつ、従来の単一ポートでの送受信と変わらない速度での転送が可能になる。   That is, by dividing the stream data to be transmitted and simultaneously transmitting / receiving it as a continuous data through a plurality of ports, the data can be transferred at a higher speed. In addition, when the same data is transmitted using a plurality of ports, it is possible to improve the communication reliability by receiving the same data at a plurality of ports in consideration of the situation where the packet is discarded. Transfer at the same speed as transmission / reception on a single port is possible.

さらに、以上のように複数ポートを利用して転送することで、クライアントPC側にキャッシュ機能を設ける事によって、必要なデータを高速で転送することができ、また、ネットワークの利用率を複数転送で高める事で、一般的な通信が単一ポート利用したときに生じる、フロー制御による通信速度が低下する現象や、長時間の利用や通信頻度の低下によって引き起こされる、ルータの優先制御によって通信速度が下がる等の現象を回避する事が可能になる。   In addition, by using multiple ports as described above, by providing a cache function on the client PC side, necessary data can be transferred at high speed, and the network usage rate can be transferred by multiple transfers. By increasing the communication speed due to the priority control of the router, which is caused by the phenomenon that the communication speed decreases due to flow control, which occurs when general communication uses a single port, or the long-term usage and the communication frequency decreases. It is possible to avoid a phenomenon such as lowering.

次に、図18のフローチャートを参照して、ラウンドロビン方式を用いた複数UDPポート送信処理、および、複数UDPポート受信処理について説明する。図18のフローチャートにおいては、複数UDPポート送信処理、および、複数UDPポート受信処理を図7のフローチャートにおけるステップS6,S16の詳細な処理として説明するが、図11のフローチャートにおけるステップS36,S56、および、図17のフローチャートにおけるステップS76,S95の処理も同様である。   Next, a plurality of UDP port transmission processing and a plurality of UDP port reception processing using the round robin method will be described with reference to the flowchart of FIG. In the flowchart of FIG. 18, the multiple UDP port transmission process and the multiple UDP port reception process will be described as detailed processes of steps S6 and S16 in the flowchart of FIG. 7, but steps S36 and S56 in the flowchart of FIG. The processing in steps S76 and S95 in the flowchart of FIG.

ステップS111において、Multi Flow RTP83は、UDPポート87乃至89を識別するためのカウンタpを1に初期化する。尚、以下の説明においては、カウンタp=1は、UDPポート87に、カウンタp=2は、UDPポート88に、カウンタp=3は、UDPポート89にそれぞれ対応するものとし、UDPポートが3個であるため、カウンタpの上限Pは3であるものとするが、もちろん、それ以外の数であってもよい。   In step S111, the Multi Flow RTP 83 initializes a counter p for identifying the UDP ports 87 to 89 to 1. In the following description, it is assumed that counter p = 1 corresponds to UDP port 87, counter p = 2 corresponds to UDP port 88, counter p = 3 corresponds to UDP port 89, and UDP port 3 Since the number is P, the upper limit P of the counter p is assumed to be 3, but of course, other numbers may be used.

ステップS112において、Multi Flow RTP83は、カウンタpに対応するUDPポートの検査処理を実行する。すなわち、カウンタpに対応するUDPポートとは、例えば、最初の処理においては、カウンタp=1に対応するUDPポートの検査処理が実行される。   In step S112, the Multi Flow RTP 83 executes a UDP port inspection process corresponding to the counter p. That is, for the UDP port corresponding to the counter p, for example, in the first process, the UDP port corresponding to the counter p = 1 is executed.

ここで、図19のフローチャートを参照して、UDPポート検査処理について説明する。   Here, the UDP port inspection process will be described with reference to the flowchart of FIG.

ステップS151において、Multi Flow RTP83は、検査対象となるUDPポートを指定する。より詳細には、例えば、UNIX(登録商標)系のSystemV(商標)をOSとして使用した場合、Multi Flow RTP83は、FD-SET(OS(=SystemV)の標準マクロ)を実行することにより、検査対象となるカウンタpに対応するUDPポートを特定するディスクリプタを指定する。   In step S151, the Multi Flow RTP 83 specifies a UDP port to be inspected. More specifically, for example, when UNIX (registered trademark) SystemV (trademark) is used as the OS, Multi Flow RTP83 performs inspection by executing FD-SET (standard macro of OS (= SystemV)). A descriptor for specifying the UDP port corresponding to the target counter p is designated.

ステップS152において、Multi Flow RTP83は、検査対象となるUDPポートが通信可能であるか否かを検査する。すなわち、より詳細には、Multi Flow RTP83は、例えば、select()関数(OS(=SystemVなど)の標準関数)を実行することによりFD-SETで指定されたディスクリプタの動作状態を検査する(より具体的には、検査対象となるUDPポートのソケットが書き込み可能であるか否かが検査される)。   In step S152, the Multi Flow RTP 83 inspects whether or not the UDP port to be inspected can communicate. That is, in more detail, the Multi Flow RTP 83 checks the operation state of the descriptor specified by FD-SET by executing, for example, a select () function (standard function of OS (= SystemV etc.)) (more Specifically, whether the socket of the UDP port to be inspected is writable is inspected).

ステップS153において、Multi Flow RTP83は、検査対象となるUDPポートが通信可能であるか否かの検査結果を確認する。すなわち、より詳細には、Multi Flow RTP83は、例えば、select()関数の結果を、FD-ISSET(OS(=SystemV)の標準関数)を実行することにより確認する。   In step S153, the Multi Flow RTP 83 confirms the inspection result as to whether or not the UDP port to be inspected can communicate. That is, in more detail, the Multi Flow RTP 83 confirms the result of the select () function, for example, by executing FD-ISSET (standard function of OS (= SystemV)).

以上のように、ステップS151乃至S153の処理により、カウンタpで指定される1個の検査対象となるUDPポートが送信可能であるか否かが検査される。   As described above, whether or not one UDP port to be inspected specified by the counter p can be transmitted is inspected by the processing of steps S151 to S153.

ここで、図18のフローチャートに戻る。   Here, it returns to the flowchart of FIG.

ステップS113において、Multi Flow RTP83は、検査対象となったカウンタpに対応するUDPポートが送信可能であるか否かを判定する。例えば、送信可能ではない、すなわち、例えば、別のデータを送信中などの状態で、送信できない状態である場合、その処理は、ステップS112に戻る。すなわち、送信可能であると判定されるまで、ステップS112,S113の処理が繰り返される。   In step S113, the Multi Flow RTP 83 determines whether or not the UDP port corresponding to the counter p that is the inspection target can be transmitted. For example, if transmission is not possible, that is, for example, in a state where another data is being transmitted or the like cannot be transmitted, the processing returns to step S112. That is, the processes in steps S112 and S113 are repeated until it is determined that transmission is possible.

そして、ステップS113において、送信可能であると判定された場合、その処理は、ステップS114に進む。   If it is determined in step S113 that transmission is possible, the process proceeds to step S114.

ステップS114において、RTCP84は、カウンタpに対応するUDPポートを制御して、Multi Flow RTP83により分割されたストリームデータをクライアントPC1に送信させる。   In step S114, the RTCP 84 controls the UDP port corresponding to the counter p, and transmits the stream data divided by the Multi Flow RTP 83 to the client PC 1.

ステップS131において、RTCP64は、制御情報に含まれている通信に利用されるUDPポート67乃至69を特定するポート番号、および、利用ポート数の情報に基づいて、UDPポート67乃至69を制御して、送信されてきた分割されているストリームデータを受信させ、Multi Flow RTP63に供給させる。すなわち、UDPポート67乃至69のうち、上述したカウンタpに対応するUDPポート87乃至89のいずれかで分割されているストリームデータが受信される。   In step S131, the RTCP 64 controls the UDP ports 67 to 69 based on the port number for identifying the UDP ports 67 to 69 used for communication included in the control information and the information on the number of used ports. Then, the transmitted divided stream data is received and supplied to the Multi Flow RTP 63. That is, the stream data divided by any of the UDP ports 87 to 89 corresponding to the above-described counter p among the UDP ports 67 to 69 is received.

一方、ステップS115において、Multi Flow RTP83は、送信すべきストリームデータがあるか、すなわち、分割したストリームデータのうち、送信されずに残っているものがあるか否かを判定し、送信すべきストリームデータが存在しない場合、その処理は終了する。   On the other hand, in step S115, the Multi Flow RTP 83 determines whether there is stream data to be transmitted, that is, whether there is any divided stream data that remains without being transmitted. If there is no data, the process ends.

ステップS115において、送信すべき、分割されているストリームデータがあると判定された場合、ステップS116において、Multi Flow RTP83は、カウンタpを1インクリメントする。   If it is determined in step S115 that there is divided stream data to be transmitted, in step S116, the Multi Flow RTP 83 increments the counter p by 1.

ステップS117において、Multi Flow RTP83は、カウンタpが上限であるPよりも大きいか否かを判定し、例えば、大きくないと判定された場合、その処理は、ステップS112に戻る。   In step S117, the Multi Flow RTP 83 determines whether or not the counter p is larger than the upper limit P. For example, when it is determined that the counter p is not larger, the process returns to step S112.

また、ステップS117において、カウンタpが上限であるPよりも大きいと判定された場合、その処理は、ステップS111に戻る。   If it is determined in step S117 that the counter p is larger than the upper limit P, the process returns to step S111.

すなわち、以上の処理により、各UDPポートについて、UDPポート87,88,89の順番に送信可能であるか否かが判定され、UDPポート89の検査が終了すると、再びUDPポート87が送信可能であるかが判定され、その処理が繰り返される。さらに、送信不能である場合、送信可能となるまで待ち、送信可能となった時点で、そのUDPポートからストリームデータを送信した後に、次のUDPポートの検査を実行しているため、分割されたストリームデータは、必ずUDPポート87,88,89,87,88,89・・の順番に割振られる(ラウンドロビン方式で割振られる)。従って、クライアントPC1は、UDPポート67,68,69,67,68,69・・の順番に受信されることになる。   That is, by the above processing, it is determined whether or not each UDP port can be transmitted in the order of the UDP ports 87, 88, 89. When the inspection of the UDP port 89 is completed, the UDP port 87 can be transmitted again. It is determined whether there is any, and the process is repeated. Furthermore, if transmission is not possible, wait until transmission is possible, and when transmission is possible, after sending stream data from that UDP port, the next UDP port is being checked, so it was divided The stream data is always allocated in the order of the UDP ports 87, 88, 89, 87, 88, 89,... (Allocated by the round robin method). Therefore, the client PC 1 receives the UDP ports 67, 68, 69, 67, 68, 69.

結果として、複数のUDPポートにより分割されたストリームデータが効率よく送信されることになる。尚、図17においては、複数のUDPポート87,88,89から並列に同じストリームデータが送信されることが想定されているが、上述したように同時タイミングではない。   As a result, stream data divided by a plurality of UDP ports is efficiently transmitted. In FIG. 17, it is assumed that the same stream data is transmitted in parallel from a plurality of UDP ports 87, 88, 89, but it is not a simultaneous timing as described above.

次に、図19のフローチャートを参照して、即時方式による複数UDPポート送信処理および複数UDPポート受信処理について説明する。尚、図19のフローチャートにおけるステップS171乃至S177,S191の処理は、図17のフローチャートにおけるステップS111乃至S117,S131の処理と同様であるので、その説明は省略する。   Next, the multiple UDP port transmission processing and the multiple UDP port reception processing by the immediate method will be described with reference to the flowchart of FIG. Note that the processes in steps S171 to S177 and S191 in the flowchart of FIG. 19 are the same as the processes in steps S111 to S117 and S131 in the flowchart of FIG.

すなわち、図19のフローチャートの各処理と図17のフローチャートの各処理は、全く同一である。しかしながら、図17においては、ステップS174において、送信不能であると判定された場合、ステップS174の処理がスキップされて、その処理は、ステップS175に進む。   That is, each process of the flowchart of FIG. 19 and each process of the flowchart of FIG. 17 are completely the same. However, in FIG. 17, if it is determined in step S174 that transmission is not possible, the process of step S174 is skipped, and the process proceeds to step S175.

従って、送信不能と判定されたUDPポートが送信可能と判定されるまでの待ち状態がなくなる。このため、複数のUDPポート87乃至89の送信順序は、一定とはならないが、UDPポートが送信不能であると判定された場合、即時、別のUDPポートを検査し、送信可能なUDPポートに対して優先的に分割されているストリームデータの送信が割振られる。   Therefore, there is no waiting state until it is determined that the UDP port determined to be unable to transmit can be transmitted. For this reason, the transmission order of the plurality of UDP ports 87 to 89 is not constant, but when it is determined that the UDP port cannot be transmitted, another UDP port is immediately inspected and a UDP port that can be transmitted is determined. On the other hand, transmission of stream data that is preferentially divided is allocated.

結果として、即時方式による複数UDPポート送信処理および複数UDPポート受信処理は、ラウンドロビン方式による複数UDPポート送信処理および複数UDPポート受信処理よりも高速でストリームデータを送信することが可能となる。   As a result, the multiple UDP port transmission processing and the multiple UDP port reception processing by the immediate method can transmit stream data at a higher speed than the multiple UDP port transmission processing and the multiple UDP port reception processing by the round robin method.

尚、以上の説明においては、複数のポートの使用例として複数のUDPポートを使用した場合の例について説明してきたが、上述した処理は、プロトコルに依存しない処理であるため、複数のポートは、必ずしもUDPポートである必要が無く、例えば、複数のUDPポートの代わりに複数のTCPポートを使用しても同様の効果が得られる。   In the above description, an example of using a plurality of UDP ports as an example of using a plurality of ports has been described. However, since the above-described processing is a protocol-independent processing, It is not always necessary to use a UDP port. For example, the same effect can be obtained by using a plurality of TCP ports instead of a plurality of UDP ports.

図21,図22は、それぞれラウンドロビン方式と即時方式による複数のTCPポートによる送信処理および複数のTCPポートによる受信処理におけるTCPポート数とスループットの関係を示している。尚、図21,図22においては、実線が、50Mbpsまで、点線が30Mbpsまで、1点鎖線が10Mbpsまでのそれぞれ使用可能な帯域の通信経路を示している。また、縦軸は、スループット(Mbps)を示し、横軸はTCPポート数を示している。   FIGS. 21 and 22 show the relationship between the number of TCP ports and the throughput in transmission processing using a plurality of TCP ports and reception processing using a plurality of TCP ports, respectively, in the round robin method and the immediate method. In FIGS. 21 and 22, the solid lines indicate communication paths in usable bands up to 50 Mbps, the dotted lines up to 30 Mbps, and the one-dot chain lines up to 10 Mbps. The vertical axis indicates the throughput (Mbps), and the horizontal axis indicates the number of TCP ports.

図21で示されるように、ラウンドロビン方式を採用した場合、帯域が最大50Mbpsのとき、ポート数が2個で、帯域が最大30Mbpsのとき、ポート数が3個で、帯域が最大10Mbpsのとき、ポート数が6個で、それぞれ急激にスループットが低下することが示されている。   As shown in FIG. 21, when the round robin method is adopted, when the maximum bandwidth is 50 Mbps, the number of ports is two, when the maximum bandwidth is 30 Mbps, when the number of ports is three, and the maximum bandwidth is 10 Mbps. It is shown that the number of ports is 6 and the throughput decreases rapidly.

一方、図22で示されるように、即時方式を採用した場合、帯域が最大50Mbpsのとき、帯域が最大30Mbpsのとき、帯域が最大10Mbpsのときのいずれにおいても、TCPポート数に関わらず帯域幅を十分に使うことができる事が示されている。   On the other hand, as shown in FIG. 22, when the immediate method is adopted, the bandwidth is maximum regardless of the number of TCP ports regardless of the number of TCP ports when the bandwidth is maximum 50 Mbps, when the bandwidth is maximum 30 Mbps, or when the bandwidth is maximum 10 Mbps. It has been shown that can be used fully.

結果として、図21,図22からもわかるように、ラウンドロビン方式よりも即時方式の方が、複数のTCPポートを使用して通信した場合、帯域を十分に使用することができ、高速で、データを送受信できることが示されている。尚、当然のことながら、複数のUDPポートを使用した場合についても、図21,図22を参照して説明した効果と同様な効果を得ることが可能であることは言うまでもない。   As a result, as can be seen from FIG. 21 and FIG. 22, in the case of communication using a plurality of TCP ports in the immediate method rather than the round robin method, the bandwidth can be sufficiently used, and at a high speed, It is shown that data can be sent and received. Of course, it goes without saying that the same effect as described with reference to FIGS. 21 and 22 can be obtained even when a plurality of UDP ports are used.

以上によれば、セッション層における1セッションの通信データを複数のトランスポート層のポートを利用して送信することにより、高速通信と安定的な通信を実現することが可能となる。   According to the above, high-speed communication and stable communication can be realized by transmitting communication data of one session in the session layer using a plurality of transport layer ports.

上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行させることが可能な、例えば汎用のパーソナルコンピュータなどに記録媒体からインストールされる。   The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processes is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a recording medium in a general-purpose personal computer or the like.

プログラムが記録されている記録媒体は、図3に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク21(フレキシブルディスクを含む)、光ディスク22(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク23(MD(Mini-Disc)を含む)、もしくは半導体メモリ24などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM22や、記憶部28に含まれるハードディスクなどで構成される。   As shown in FIG. 3, the recording medium on which the program is recorded is distributed to provide the program to the user separately from the computer. The magnetic disk 21 (including the flexible disk) on which the program is recorded is distributed. By a package medium composed of an optical disk 22 (including compact disc-read only memory (CD-ROM), DVD (digital versatile disk)), a magneto-optical disk 23 (including MD (mini-disc)), or a semiconductor memory 24 In addition to being configured, it is configured by a ROM 22 on which a program is recorded and a hard disk included in the storage unit 28 provided to the user in a state of being incorporated in advance in a computer.

尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。   In this specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in time series in the order described, but of course, it is not necessarily performed in time series. Or the process performed separately is included.

また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。   Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.

輻輳を説明する図である。It is a figure explaining congestion. 本発明を適用した配信システムの一実施の形態の構成を示す図である。It is a figure which shows the structure of one Embodiment of the delivery system to which this invention is applied. 図2のクライアントPCの構成を示す図である。It is a figure which shows the structure of the client PC of FIG. 図2のクライアントPCと配信サーバ7により実現される機能を示す図である。It is a figure which shows the function implement | achieved by the client PC and distribution server 7 of FIG. OSI参考モデルを説明する図である。It is a figure explaining an OSI reference model. 図4で示されるクライアントPCと配信サーバ7により実現される機能をOSI参考モデルに対応させた図である。FIG. 5 is a diagram in which functions realized by the client PC and the distribution server 7 shown in FIG. 4 are associated with an OSI reference model. 図4の機能による配信処理を説明するフローチャートである。It is a flowchart explaining the delivery process by the function of FIG. 配信処理を説明する図である。It is a figure explaining a delivery process. データの転送速度を説明する図である。It is a figure explaining the transfer rate of data. 図2のクライアントPCと配信サーバ7により実現されるその他の機能を示す図である。It is a figure which shows the other function implement | achieved by the client PC and distribution server 7 of FIG. 図10の機能による配信処理を説明するフローチャートである。It is a flowchart explaining the delivery process by the function of FIG. 図10の機能による配信処理を説明する図である。It is a figure explaining the delivery process by the function of FIG. 図10の機能による配信処理を説明する図である。It is a figure explaining the delivery process by the function of FIG. 図2のクライアントPCと配信サーバ7により実現されるさらにその他の機能を示す図である。It is a figure which shows the further another function implement | achieved by the client PC and distribution server 7 of FIG. 図2のクライアントPCと配信サーバ7により実現されるさらにその他の機能を示す図である。It is a figure which shows the further another function implement | achieved by the client PC and distribution server 7 of FIG. 図2のクライアントPCと配信サーバ7により実現されるさらにその他の機能を示す図である。It is a figure which shows the further another function implement | achieved by the client PC and distribution server 7 of FIG. 図16の機能による配信処理を説明するフローチャートである。It is a flowchart explaining the delivery process by the function of FIG. ラウンドロビン方式による複数UDPポート送信処理および複数UDPポート受信処理を説明するフローチャートである。It is a flowchart explaining the multiple UDP port transmission process and multiple UDP port reception process by a round robin system. UDPポート検査処理を説明するフローチャートである。It is a flowchart explaining a UDP port inspection process. 即時方式による複数UDPポート送信処理および複数UDPポート受信処理を説明するフローチャートである。It is a flowchart explaining the multiple UDP port transmission process and multiple UDP port reception process by an immediate system. ラウンドロビン方式による複数UDPポート送信処理および複数UDPポート受信処理におけるスループットとUDPポート数の関係を説明する図である。It is a figure explaining the relationship between the throughput and the number of UDP ports in the multiple UDP port transmission process and the multiple UDP port reception process by the round robin method. 即時方式による複数UDPポート送信処理および複数UDPポート受信処理におけるスループットとUDPポート数の関係を説明する図である。It is a figure explaining the relationship between the throughput and the number of UDP ports in the multiple UDP port transmission process and the multiple UDP port reception process by the immediate method.

符号の説明Explanation of symbols

1 クライアントPC, 2 ルータ, 3 インターネットサービスプロバイダサーバ, 4 ルータ, 5 ネットワーク, 6 ルータ, 7 配信サーバ, 11,11a乃至11f ルータ, 61 プレイヤ, 62 RTSP, 63 Multi Flow RTP, 64 RTCP, 65,66 TCP, 67乃至69 UDP, 81 プレイヤ, 82 RTSP, 83 Multi Flow RTP, 84 RTCP, 85,86 TCP, 87乃至89 UDP, 101,111 再送処理機能付Multi Flow RTP, 171 再送処理機能付Multi Flow RTP, 172 RTSP, 181 並列Multi Flow RTP, 182 RTSP 1 Client PC, 2 Router, 3 Internet Service Provider Server, 4 Router, 5 Network, 6 Router, 7 Distribution Server, 11, 11a to 11f Router, 61 Player, 62 RTSP, 63 Multi Flow RTP, 64 RTCP, 65, 66 TCP, 67 to 69 UDP, 81 player, 82 RTSP, 83 Multi Flow RTP, 84 RTCP, 85, 86 TCP, 87 to 89 UDP, 101, 111 Multi Flow RTP with retransmission processing function, 171 Multi Flow RTP with retransmission processing function , 172 RTSP, 181 Parallel Multi Flow RTP, 182 RTSP

Claims (27)

トランスポート層の第1のプロトコルによりデータを送信する複数の第1の送信手段と、
前記第1の送信手段のポート番号、および、利用ポート数を含む、前記データを再生するための制御情報を生成する生成手段と、
前記生成手段により生成された前記制御情報をトランスポート層の第2のプロトコルで送信する第2の送信手段と、
セッション層のプロトコルにより送信するデータを前記複数の第1の送信手段のそれぞれの動作状態に応じて割振って送信するように制御する制御手段と
を備えることを特徴とする送信装置。
A plurality of first transmission means for transmitting data according to a first protocol of the transport layer;
Generating means for generating control information for reproducing the data, including the port number of the first transmitting means and the number of ports used;
Second transmission means for transmitting the control information generated by the generation means using a second protocol of a transport layer;
And a control unit configured to control so that data to be transmitted according to a session layer protocol is allocated and transmitted according to an operation state of each of the plurality of first transmission units.
前記制御手段は、セッション層のプロトコルにより送信するデータを前記複数の第1の送信手段のそれぞれの動作状態に応じて、ラウンドロビン方式により割振って送信するように制御する
ことを特徴とする請求項1に記載の送信装置。
The control means performs control so that data to be transmitted by a protocol of a session layer is allocated and transmitted by a round robin method according to each operation state of the plurality of first transmission means. Item 2. The transmission device according to Item 1.
前記制御手段は、セッション層のプロトコルにより送信するデータを前記複数の第1の送信手段のそれぞれの動作状態に応じて、送信可能なものに割振って送信するように制御する
ことを特徴とする請求項1に記載の送信装置。
The control means performs control so that data to be transmitted by a protocol of a session layer is assigned to a transmittable data according to the operation state of each of the plurality of first transmission means. The transmission device according to claim 1.
前記セッション層のプロトコルにより送信するデータを複数のデータに分割する分割手段をさらに備え、
前記制御手段は、前記分割手段により分割された複数のデータを、それぞれ複数の第1の送信手段のそれぞれの動作状態に応じて割振ってトランスポート層の第1のプロトコルで送信するように制御する
ことを特徴とする請求項1に記載の送信装置。
Dividing means for dividing data to be transmitted by the session layer protocol into a plurality of data;
The control means controls the plurality of data divided by the dividing means to be allocated according to the respective operating states of the plurality of first transmission means and transmitted using the first protocol of the transport layer. The transmission device according to claim 1, wherein:
前記生成手段は、前記第1の送信手段のポート番号、および、利用ポート数を含む、前記分割手段により前記データが分割される際、分割されたデータを結合して再生させるための制御情報を生成する
ことを特徴とする請求項1に記載の送信装置。
The generating means includes control information for combining and reproducing the divided data when the data is divided by the dividing means, including the port number of the first transmitting means and the number of used ports. The transmitter according to claim 1, wherein the transmitter is generated.
前記制御手段は、前記セッション層のプロトコルにより送信する同一のデータを、それぞれ複数の第1の送信手段によりトランスポート層の第1のプロトコルで送信するように制御する
ことを特徴とする請求項1に記載の送信装置。
The control unit controls the same data to be transmitted by the session layer protocol to be transmitted by a plurality of first transmission units by the first protocol of the transport layer, respectively. The transmitting device according to 1.
前記生成手段は、前記第1の送信手段のポート番号、および、利用ポート数を含む、前記セッション層のプロトコルにより送信するデータを識別して、前記データを再生するための制御情報を生成する
ことを特徴とする請求項6に記載の送信装置。
The generation means identifies the data to be transmitted by the protocol of the session layer, including the port number of the first transmission means and the number of used ports, and generates control information for reproducing the data. The transmission apparatus according to claim 6.
前記第2のプロトコルはTCPである
ことを特徴とする請求項1に記載の送信装置。
The transmission apparatus according to claim 1, wherein the second protocol is TCP.
前記セッション層のプロトコルはRTPである
ことを特徴とする請求項1に記載の送信装置。
The transmission apparatus according to claim 1, wherein the session layer protocol is RTP.
前記トランスポート層の第1のプロトコルは、送信したデータの着信確認をしないプロトコルである
ことを特徴とする請求項1に記載の送信装置。
The transmission device according to claim 1, wherein the first protocol of the transport layer is a protocol that does not check arrival of transmitted data.
前記送信したデータの着信確認をしない、前記トランスポート層の第1のプロトコルは、UDPである
ことを特徴とする請求項10に記載の送信装置。
The transmission apparatus according to claim 10, wherein the first protocol of the transport layer that does not check arrival of the transmitted data is UDP.
前記トランスポート層の第1のプロトコルは、TCPである
ことを特徴とする請求項1に記載の送信装置。
The transmission device according to claim 1, wherein the first protocol of the transport layer is TCP.
トランスポート層の第1のプロトコルによりデータを送信する複数の第1の送信ステップと、
前記第1の送信ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報を生成する生成ステップと、
前記生成ステップの処理で生成された前記制御情報をトランスポート層の第2のプロトコルで送信する第2の送信ステップと、
セッション層のプロトコルにより送信するデータを前記複数の第1の送信手段のそれぞれの動作状態に応じて送信するように制御する制御ステップと
を含むことを特徴とする送信方法。
A plurality of first transmission steps for transmitting data according to a transport layer first protocol;
A generation step of generating control information for reproducing the data, including the port number in the process of the first transmission step and the number of ports used;
A second transmission step of transmitting the control information generated in the processing of the generation step by a second protocol of a transport layer;
And a control step of controlling to transmit data to be transmitted according to a protocol of a session layer in accordance with an operating state of each of the plurality of first transmission units.
トランスポート層の第1のプロトコルによりデータの送信を制御する複数の第1の送信制御ステップと、
前記第1の送信ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報の生成を制御する生成制御ステップと、
前記生成制御ステップの処理で生成された前記制御情報をトランスポート層の第2のプロトコルでの送信を制御する第2の送信制御ステップと、
セッション層のプロトコルにより送信するデータを前記複数の第1の送信制御ステップの処理のそれぞれの動作状態に応じて送信するように制御する動作制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A plurality of first transmission control steps for controlling transmission of data according to a first protocol of the transport layer;
A generation control step for controlling generation of control information for reproducing the data, including the port number and the number of ports used in the processing of the first transmission step;
A second transmission control step for controlling transmission of the control information generated in the processing of the generation control step in a second protocol of a transport layer;
An operation control step for controlling the transmission of data to be transmitted according to the protocol of the session layer in accordance with each operation state of the processing of the plurality of first transmission control steps. A recording medium on which the program is recorded.
トランスポート層の第1のプロトコルによりデータの送信を制御する複数の第1の送信制御ステップと、
前記第1の送信ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報の生成を制御する生成制御ステップと、
前記生成制御ステップの処理で生成された前記制御情報をトランスポート層の第2のプロトコルでの送信を制御する第2の送信制御ステップと、
セッション層のプロトコルにより送信するデータを前記複数の第1の送信制御ステップの処理のそれぞれの動作状態に応じて送信するように制御する動作制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
A plurality of first transmission control steps for controlling transmission of data according to a first protocol of the transport layer;
A generation control step for controlling generation of control information for reproducing the data, including the port number and the number of ports used in the processing of the first transmission step;
A second transmission control step for controlling transmission of the control information generated in the processing of the generation control step in a second protocol of a transport layer;
A program that causes a computer to execute an operation control step of controlling to transmit data to be transmitted according to a protocol of a session layer in accordance with each operation state of the processing of the plurality of first transmission control steps.
トランスポート層の第1のプロトコルによりデータを受信する複数の第1の受信手段と、
前記第1の受信手段のポート番号、および、利用ポート数を含む、前記データを再生するための制御情報をトランスポート層の第2のプロトコルで受信する第2の受信手段と、
セッション層のプロトコルによる受信データとして、前記データを前記制御情報に基づいて再生する再生手段と
を備えることを特徴とする受信装置。
A plurality of first receiving means for receiving data in accordance with a transport layer first protocol;
Second receiving means for receiving control information for reproducing the data, including the port number of the first receiving means and the number of used ports, using a second protocol of the transport layer;
Receiving apparatus comprising: reproducing means for reproducing the data based on the control information as received data according to a session layer protocol.
前記データは、分割された複数のデータであり、
前記複数の第1の受信手段は、それぞれ分割されたデータを受信し、
前記再生手段は、前記第2の受信手段により受信された、前記ポート番号、および、利用ポート数に加えて、分割されたデータを結合して再生させるための情報を含む、前記制御情報に基づいて、セッション層のプロトコルによる受信データとして、前記複数のデータを結合して再生する
ことを特徴とする請求項16に記載の受信装置。
The data is a plurality of divided data,
The plurality of first receiving means receive the divided data, respectively.
The reproducing means is based on the control information including information for combining and reproducing the divided data in addition to the port number and the number of used ports received by the second receiving means. The reception apparatus according to claim 16, wherein the plurality of data are combined and reproduced as reception data according to a session layer protocol.
前記データは、同一の複数のデータであり、
前記複数の第1の受信手段は、それぞれ同一のデータを受信し、
前記再生手段は、前記第2の受信手段により受信された、前記ポート番号、および、利用ポート数に加えて、前記データを識別する情報を含む、前記制御情報に基づいて、複数の第1の受信手段のうち、セッション層のプロトコルによる受信データとして、最初に受信されるデータを再生する
ことを特徴とする請求項16に記載の受信装置。
The data is a plurality of identical data,
The plurality of first receiving means respectively receive the same data,
The reproducing means includes a plurality of first information based on the control information including information identifying the data in addition to the port number and the number of ports used, received by the second receiving means. The receiving apparatus according to claim 16, wherein, among receiving means, data received first is reproduced as received data according to a session layer protocol.
前記第2のプロトコルはTCPである
ことを特徴とする請求項16に記載の受信装置。
The receiving apparatus according to claim 16, wherein the second protocol is TCP.
前記セッション層のプロトコルはRTPである
ことを特徴とする請求項16に記載の受信装置。
The receiving apparatus according to claim 16, wherein the session layer protocol is RTP.
前記トランスポート層の第1のプロトコルは、送信したデータの着信確認をしないプロトコルである
ことを特徴とする請求項16に記載の受信装置。
The receiving apparatus according to claim 16, wherein the first protocol of the transport layer is a protocol that does not check arrival of transmitted data.
前記送信したデータの着信確認をしない、前記トランスポート層の第1のプロトコルは、UDPである
ことを特徴とする請求項21に記載の受信装置。
The receiving apparatus according to claim 21, wherein the first protocol of the transport layer that does not check the arrival of the transmitted data is UDP.
前記トランスポート層の第1のプロトコルは、TCPである
ことを特徴とする請求項16に記載の受信装置。
The receiving apparatus according to claim 16, wherein the first protocol of the transport layer is TCP.
トランスポート層の第1のプロトコルによりデータを受信する複数の第1の受信ステップと、
前記第1の受信ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報をトランスポート層の第2のプロトコルで受信する第2の受信ステップと、
セッション層のプロトコルによる受信データとして、前記データを前記制御情報に基づいて再生する再生ステップと
を含むことを特徴とする受信方法。
A plurality of first receiving steps for receiving data according to a transport layer first protocol;
A second reception step of receiving control information for reproducing the data, including the port number in the processing of the first reception step and the number of used ports, by a second protocol of the transport layer;
And a reproduction step of reproducing the data based on the control information as received data according to a session layer protocol.
トランスポート層の第1のプロトコルによりデータの受信を制御する複数の第1の受信制御ステップと、
前記第1の受信制御ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報のトランスポート層の第2のプロトコルでの受信を制御する第2の受信制御ステップと、
セッション層のプロトコルによる受信データとして、前記データの前記制御情報に基づいた再生を制御する再生制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A plurality of first reception control steps for controlling reception of data by a first protocol of the transport layer;
Second reception for controlling reception of the control information for reproducing the data in the second protocol of the transport layer, including the port number in the processing of the first reception control step and the number of used ports. Control steps;
A recording medium on which a computer-readable program is recorded, comprising: a reproduction control step for controlling reproduction based on the control information of the data as received data by a session layer protocol.
トランスポート層の第1のプロトコルによりデータの受信を制御する複数の第1の受信制御ステップと、
前記第1の受信制御ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報のトランスポート層の第2のプロトコルでの受信を制御する第2の受信制御ステップと、
セッション層のプロトコルによる受信データとして、前記データの前記制御情報に基づいた再生を制御する再生制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
A plurality of first reception control steps for controlling reception of data by a first protocol of the transport layer;
Second reception for controlling reception of the control information for reproducing the data in the second protocol of the transport layer, including the port number in the processing of the first reception control step and the number of used ports. Control steps;
A program that causes a computer to execute a reproduction control step of controlling reproduction based on the control information of the data as received data according to a protocol of a session layer.
送信装置と受信装置からなる通信システムにおいて、
前記送信装置は、
トランスポート層のプロトコルによりデータを送信する複数の送信手段と、
前記第1の送信手段のポート番号、および、利用ポート数を含む、前記データを再生するための制御情報を生成する生成手段と、
前記生成手段により生成された前記制御情報をトランスポート層の第2のプロトコルで送信する第2の送信手段と、
セッション層のプロトコルにより送信するデータを前記複数の第1の送信手段のそれぞれの動作状態に応じて割振って送信するように制御する制御手段と
を備え、
前記受信装置は、
前記トランスポート層のプロトコルによりデータを受信する受信手段と、
前記第1の受信手段のポート番号、および、利用ポート数を含む、前記データを再生するための制御情報をトランスポート層の第2のプロトコルで受信する第2の受信手段と、
セッション層のプロトコルによる受信データとして、前記データを前記制御情報に基づいて再生する再生手段と
を備える
ことを特徴とする通信システム。
In a communication system consisting of a transmission device and a reception device,
The transmitter is
A plurality of transmission means for transmitting data according to a transport layer protocol;
Generating means for generating control information for reproducing the data, including the port number of the first transmitting means and the number of ports used;
Second transmission means for transmitting the control information generated by the generation means using a second protocol of a transport layer;
Control means for controlling the data to be transmitted according to the protocol of the session layer so as to allocate and transmit the data according to the operating state of each of the plurality of first transmission means,
The receiving device is:
Receiving means for receiving data according to the transport layer protocol;
Second receiving means for receiving control information for reproducing the data, including the port number of the first receiving means and the number of used ports, using a second protocol of the transport layer;
A communication system comprising: reproduction means for reproducing the data based on the control information as received data according to a session layer protocol.
JP2004282086A 2004-01-30 2004-09-28 Transmitting apparatus and method, receiving apparatus, communication system, recording medium, and program Expired - Fee Related JP4487711B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004282086A JP4487711B2 (en) 2004-01-30 2004-09-28 Transmitting apparatus and method, receiving apparatus, communication system, recording medium, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004023126 2004-01-30
JP2004282086A JP4487711B2 (en) 2004-01-30 2004-09-28 Transmitting apparatus and method, receiving apparatus, communication system, recording medium, and program

Publications (3)

Publication Number Publication Date
JP2005244929A true JP2005244929A (en) 2005-09-08
JP2005244929A5 JP2005244929A5 (en) 2007-10-25
JP4487711B2 JP4487711B2 (en) 2010-06-23

Family

ID=35026113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004282086A Expired - Fee Related JP4487711B2 (en) 2004-01-30 2004-09-28 Transmitting apparatus and method, receiving apparatus, communication system, recording medium, and program

Country Status (1)

Country Link
JP (1) JP4487711B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007150738A (en) * 2005-11-28 2007-06-14 Kenwood Corp Video reproducing device and video reproduction system
KR100734247B1 (en) 2007-03-12 2007-07-02 주식회사 셀런 Ftp transmission method using udp
JP2010114692A (en) * 2008-11-06 2010-05-20 Nomura Research Institute Ltd Data transmission system, transmission controller, and transmitter
JP2011009927A (en) * 2009-06-24 2011-01-13 Nippon Telegr & Teleph Corp <Ntt> Ip stream receiver, ip stream transmission/reception system, ip stream reception method, ip stream transmission/reception method, ip stream reception program, ip stream transmission/reception program and recording medium with the programs recorded thereon
JP2014220840A (en) * 2005-04-08 2014-11-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus for enhanced file distribution in multicast communication or broadcast communication
JP2017130813A (en) * 2016-01-20 2017-07-27 富士通株式会社 Communication device and communication program

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014220840A (en) * 2005-04-08 2014-11-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus for enhanced file distribution in multicast communication or broadcast communication
JP2016184971A (en) * 2005-04-08 2016-10-20 クゥアルコム・インコーポレイテッドQualcomm Incorporated Method and apparatus for enhanced file distribution in multicast communication or broadcast communication
JP2007150738A (en) * 2005-11-28 2007-06-14 Kenwood Corp Video reproducing device and video reproduction system
KR100734247B1 (en) 2007-03-12 2007-07-02 주식회사 셀런 Ftp transmission method using udp
JP2010114692A (en) * 2008-11-06 2010-05-20 Nomura Research Institute Ltd Data transmission system, transmission controller, and transmitter
JP2011009927A (en) * 2009-06-24 2011-01-13 Nippon Telegr & Teleph Corp <Ntt> Ip stream receiver, ip stream transmission/reception system, ip stream reception method, ip stream transmission/reception method, ip stream reception program, ip stream transmission/reception program and recording medium with the programs recorded thereon
JP2017130813A (en) * 2016-01-20 2017-07-27 富士通株式会社 Communication device and communication program

Also Published As

Publication number Publication date
JP4487711B2 (en) 2010-06-23

Similar Documents

Publication Publication Date Title
US7675939B2 (en) Transmission apparatus and method, reception apparatus and method, communication system, recording medium, and program
EP2392122B1 (en) Media streaming through a network address translation (nat) device
US8943206B2 (en) Network bandwidth detection and distribution
TWI408924B (en) Packet level prioritization in interconnection networks
US20050071494A1 (en) Method and apparatus for providing fixed bandwidth communications over a local area network
US8325601B2 (en) Reliable network streaming of a single data stream over multiple physical interfaces
US20080037425A1 (en) Control Plane to data plane binding
JP2004140539A (en) Information routing system and information relaying apparatus
WO2013181940A1 (en) Method, device and system for scheduling data flow
US8356109B2 (en) Network streaming of a video stream over multiple communication channels
WO2006058891A2 (en) A method for identifying real-time traffic hop by hop in an internet network
US10554719B2 (en) Managing streamed communication
US20090077256A1 (en) Dynamic change of quality of service for enhanced multi-media streaming
WO2021220368A1 (en) Content delivery system
JP4487711B2 (en) Transmitting apparatus and method, receiving apparatus, communication system, recording medium, and program
KR100876283B1 (en) Method and equipment for multi media application management using multi streaming of sctp and timed reliability of pr-sctp
Kalan et al. Design of a layer-based video streaming system over software-defined networks
Gatimu et al. Experimental study of QoE improvements towards adaptive HD video streaming using flexible dual TCP-UDP streaming protocol
US20200314384A1 (en) System and method of dynamic playback variation for multimedia communication
Zink et al. Scalable TCP-friendly video distribution for heterogeneous clients
Funasaka Evaluation on Progressive Download Methods Based on Timer-Driven Requesting Schemes on Multiple Paths with Shared Links
US20070153828A1 (en) System and method to negotiate the addition or deletion of a PPP link without data loss
JP4496987B2 (en) Content transmission server, system, and server program
WO2007131892A1 (en) Multimedia data interface device
TWM647746U (en) Streaming media service automation optimization system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100225

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

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

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees