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 PDFInfo
- 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
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
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参照)。
ところで、従来の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,
前記セッション層のプロトコルにより送信するデータを複数のデータに分割する分割手段(例えば、図4のMulti Flow RTP83)をさらに設けるようにさせることができ、制御手段には、分割手段により分割された複数のデータを、それぞれ複数の第1の送信手段のそれぞれの動作状態に応じて割振ってトランスポート層の第1のプロトコルで送信するように制御させるようにすることができる。
Dividing means (for example,
本発明の送信方法は、トランスポート層の第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,
本発明の受信方法は、トランスポート層の第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
クライアントPC1は、家庭用のルータ2を介して、最寄のインターネットサービスプロバイダサーバ3に対して、URL(Universal Resource Locator)などによりアドレスを指定して、配信サーバ7にストリームデータの配信を要求する。また、クライアントPC1は、ストリームデータの配信があった場合、インターネットサービスプロバイダサーバ3より送信されてくるストリームデータを家庭用ルータ2を介して取得し、再生する。
The
家庭用のルータ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
インターネットサービスプロバイダサーバ3は、インターネット接続サービスを提供する通信事業者により管理運営されるサーバである。インターネットサービスプロバイダは、サーバを所有している教育機関や団体、企業などに所属していればLAN経由でインターネットを利用できるが、サーバを持たない企業や個人でもインターネットを利用できるよう、公共のサーバを提供する通信事業者である。
The Internet
インターネットサービスプロバイダサーバ3は、クライアントPC1からの要求に基づいて、インターネットに代表されるネットワーク5を介して、URLで指定される配信サーバ7にストリームデータを要求する。また、インターネットサービルプロバイダサーバ3は、この要求に応じてネットワーク5を介して配信サーバ7より配信されてくるストリームデータを、ルータ4を介して取得し、クライアントPC1に供給する。
Based on the request from the
ルータ4,6は、ルータ2と同様のものであり、ルータ4は、主に、インターネットサービスプロバイダサーバ3とネットワーク5とを、また、ルータ6は、配信サーバ7とネットワーク5とをそれぞれ接続し、通信経路を形成している。
The
ネットワーク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
配信サーバ7は、インターネットサービスプロバイダサーバ3、および、ネットワーク5を介してクライアントPC1より要求のあったストリームデータを、要求のあったクライアントPC1に配信する。
The
次に、図3を参照して、クライアントPC1の構成について説明する。
Next, the configuration of the
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
CPU21には、バス24を介して入出力インタフェース25が接続されている。入出力インタフェース25には、キーボード、マウス、マイクロフォンなどよりなる入力部26、ディスプレイ、スピーカなどよりなる出力部67が接続されている。CPU21は、入力部26から入力される指令に対応して各種の処理を実行する。
An input /
入出力インタフェース25に接続されている記憶部28は、例えばハードディスクなどで構成され、CPU21が実行するプログラムや各種のデータを記憶する。通信部29は、例えば、モデムのようなものであり、図示せぬネットワークを介して通信機能を有する装置と各種のデータの授受を行う。
The
入出力インタフェース25に接続されているドライブ30は、磁気ディスク41、光ディスク42、光磁気ディスク43、或いは半導体メモリ44などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部28に転送され、記憶される。
The
尚、インターネットサービスプロバイダサーバ3、および、配信サーバ7の構成は、基本的に、クライアントPC1と同様の構成であるので、その説明は省略するが、ROM22、および、記憶部28、並びに、ドライブ30に装着された磁気ディスク41、光ディスク42、光磁気ディスク43、或いは半導体メモリ44に記憶されるプログラムは、後述する機能を実現させるために、インターネットサービスプロバイダサーバ3、および、配信サーバ7においては、それぞれクライアントPC1とは異なるものが記憶されるようにしてもよいし、また、処理に応じてCPU21の処理速度や、RAM23、および、記憶部28の容量を変更させるようにしても良い。
Note that the configurations of the Internet
次に、図3を参照して説明したクライアントPC1、および、同様の構成からなる配信サーバ7により実現される機能について説明する。尚、図4においては、ルータ2,4,6,11、インターネットサービスプロバイダサーバ3、および、ネットワーク5の図示は省略するが、いずれも通信経路上に存在するものとする。
Next, functions realized by the
プレイヤ61は、ストリームデータの再生を制御するプログラムであり、GUI(Graphical User Interface)などにより所定のストリームデータの再生を指示するとき、または、ストリームデータの再生を停止させるときなどに操作され、操作内容に応じた、再生、または、停止といったコマンドを、RTSP(Real Time Streaming Protocol)62に供給し、TCP(Transmission Control Protocol)ポート65により配信サーバ7に対して送信させると共に、上述したコマンドに応じてMulti Flow RTP63より受信される配信されてきたストリームデータを必要に応じて一時的に記憶し、再生する(キャッシュ機能により必要に応じて受信したデータを一時的に記憶したのち、再生に適したビットレートで読み出して再生する)。
The
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
また、RTSP62は、SETUPメソッド(配信サーバ7とクライアントPC1の間でストリームデータ送信のために必要なネゴシエーションを行う手順)中のTransportヘッダフィールド(SETUPメソッドにおいて、データ送信プロトコルのネゴシエーションに利用されるフィールド)によってストリームデータ送信プロトコルのネゴシエーションを実行する。このとき、RTSP62は、送信プロトコルにRTP/UDPを指定するが、その際client_portパラメータおよびserver_portパラメータにはMulti Flow RTP63およびRTCP64で使用するUDPポート(図4においては、UDPポート67乃至69)の範囲を指定する。
The
Multi flow RTP63は、複数のフローによってストリームデータ送信を行うプロトコルである。ここで、フローとは、送信元、送信先のIPアドレス、トランスポートプロトコル、および、ポートの組み合わせによって定義されるデータ送信単位である。また、フローは、一般的なルータがフォワード優先度の制御を行う際の単位である。
Multi flow RTP63は、RTSP62により指定されたUDPポート67乃至69を制御して、各UDPポート67乃至69に分割して送信されてきたストリームデータを取得する。また、Multi flow RTP63は、RTCP64よりTCPポート66を介して配信サーバ7より供給される分割されたストリームデータの送信順序や、配置などの、分割されているデータを組み立てて(結合させて)再構築するための制御情報を取得する。さらに、Multi flow RTP63は、分割された状態で受信したストリームデータを、RTCP64より取得した制御情報に基づいて結合させ、元のストリームデータを再構築してプレイヤ61に供給する。
The
配信サーバ7の配信プログラム81は、TCPポート85を介してクライアントPC1より指定されたストリームデータの再生、または、停止といった指令を受け取ると、これに対応する指示をRTSP82に供給する。
When the
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
Multi Flow RTP83は、基本的には、クライアントPC1のMulti Flow RTP63と対応するものであるが、RTSP82によりアドレスが指定されたストリームデータを読み出し、これを指定されたUDPポート87乃至89で送信できるように分割し、各UDPポート87乃至89に供給すると共に、その際、分割されたストリームデータを再構築するための情報と、UDPポート87乃至89のうち通信に利用するポートを識別するポート番号および利用ポート数の情報とを含む制御情報を生成して、RTCP84に供給する。
The
より詳細には、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
また、Multi Flow RTP83は、複数のUDPポート87乃至89を使ってデータを実際に送信する際、各UDPポートの動作状態(ソケットへの書き込み状態)を監視し、動作状態に応じて、分割されたデータを割振って、それぞれに送信させる。割振り方法には、ラウンドロビン方式や即時方式などがある。ラウンドロビン方式は、分割されたデータを複数のUDPポートに対して所定の順序で割振って送信させる方式である。また、即時方式は、複数のUDPポートに対して、順序とは無関係に書き込み可能であれば、即時に送信すべきデータを割振って送信させる方式である。割振り方法については、ラウンドロビン方式または即時方式のいずれであってもよいが、例えば、モードとして切替えて使用できるようにしてもよいし、それ以外の割振り方法であってもよい。
The
RTCP84は、基本的には、クライアントPC1のRTCP64と同様のものであるが、Multi Flow RTP63より供給された制御情報に基づいて、UDPポート87乃至89を制御して、クライアントPC1にストリームデータを供給させると共に、供給された制御情報を、TCPポート86を制御してクライアントPC1に送信する。
The
図4に示したプレイヤ61、RTSP62、Multi Flow RTP63、RTCP64、TCP65,66、および、UDP67乃至69、並びに、配信プログラム81、RTSP82、Multi Flow RTP83、RTCP84、TCP85,86、および、UDP87乃至89は、いずれもプロトコルであるが、図5で示されるように、それぞれは、OSI参照モデルにより、以下のように分類される。
The
すなわち、プレイヤ61、および、配信プログラム81は、アプリケーション層であり、クライアントPC1や配信サーバ7を操作するユーザより見えるアプリケーションを規定する。このとき、ストリームデータが、例えば、動画データである場合、その動画データに大生する動画フォーマットが、プレゼンテーション層となり、通信におけるフォーマットやコードを規定する。
That is, the
RTSP62,82、Multi Flow RTP63,83、RTCP64,84は、セッション層であり、通信の手順を規定するプロトコルである。TCPポート65,66,85,86、並びに、UDPポート67乃至69、87乃至89は、トランスポート層であり、論理的な通信路を規定する。
RTSPs 62 and 82,
以上の元で、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
以上の機能により、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 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 RTP63,83は、RTPデータパケットのシーケンス番号(sequence number)をRTPデータフロー単位ではなくRTPセッション単位で付与し、異なるRTPデータフローによって送信されたデータパケットであっても、シーケンス番号によって一意に管理する。
At this time, the
また、通常の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
尚、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
ステップS1において、プレイヤ61は、入力部26が操作されて、所定のストリームデータの配信を要求する操作がなされたか否かを判定し、所定のストリームデータの配信を要求する操作がなされるまで、その処理を繰り返す。そして、ユーザが、入力部26を操作して、データの配信を要求したと判定した場合、その処理は、ステップS2に進む。
In step S1, the
ステップ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
ステップS11において、配信プログラム81は、RTSP82よりTCPポート85を介して、ストリームデータの配信がクライアントPC1より要求されたか否かを判定し、ストリームデータの配信がクライアントPC1より要求されたと判定されるまで、その処理を繰り返す。ステップS11において、例えば、ステップS2の処理により、ストリームデータの配信がクライアントPC1より要求されたと判定された場合、配信プログラム81は、RTSP82を制御して、送信すべきストリームデータが格納されているアドレスを指定する情報をMulti Flow RTP83に供給させる。
In step S11, the
ステップS13において、Multi Flow RTP83は、RTSP82より供給されたアドレスの情報に基づいて、送信すべきストリームデータを読み出して、UDPポート87乃至89に対応する数に分割し、UDPポート87乃至89に供給すると共に、このときの分割したストリームデータを再構築するために必要な制御情報を生成してRTCP84に供給する。
In step S13, the
ステップS14において、Multi Flow RTP83は、分割したストリームデータを再構築するために必要な情報と、通信に使用するUDPポートのポート番号と利用ポート数の情報とを含む制御情報を生成する。
In step S14, the
ステップS15において、RTCP84は、TCPポート86を制御して、制御情報をクライアントPC1に送信させる。
In step S <b> 15, the
ステップ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
ステップS3において、Multi Flow RTP63は、RTCP64を制御して、TCPポート66に問い合わせて、分割されて各UDPポート67乃至69に受信されるストリームデータを再構築するために必要な情報(例えば、データを再構築するための順序の情報)と、通信に利用されるUDPポート67乃至69を特定するポート番号、および、利用ポート数の情報とを含む制御情報が送信されているかを判定し、送信されてくるまで、その処理を繰り返す。そして、例えば、ステップS3において、ステップS15の処理によりデータが送信されてきていると判定された場合、その処理は、ステップS4に進む。
In step S3, the
ステップS4において、RTCP64は、制御情報をTCPポート66を制御して受信させて、さらに、Multi Flow RTP63に供給する。
In step S4, the
ステップS5において、RTCP64は、制御情報の通信に使用されるポート番号と利用するポート数の情報に基づいて、UDPポート67乃至69に問い合わせて、それぞれ対応するUDPポート87乃至89よりデータが送信されてきているか否かを確認し、データが送信されてくるまで、その処理を繰り返す。ステップS5において、例えば、ステップS16の処理によりデータが送信されてきていると判定された場合、その処理は、ステップS6に進む。
In step S5, the
ステップ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
ステップS7において、Multi Flow RTP63は、各UDPポートより受信された分割されているストリームデータを、制御情報に含まれているストリームデータを再構築するために必要な情報に基づいて組み立てることにより、再構築し、プレイヤ61に供給する。
In step S7, the
ステップS8において、プレイヤ61は、Multi Flow RTP63より供給された組み立てられて、再構築されている元のストリームデータを所定時間だけバッファリングした後、再生する。
In step S8, the
以上の処理により、ストリームデータが分割された状態で複数の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
以上においては、ストリームデータのうち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
図10は、欠落したパケットを再送要求できるようにしたクライアントPC1と配信サーバ7により実現される機能を説明する図である。尚、図4で示されるクライアントPC1と配信サーバ7により実現される機能と同様の機能については、同一の符号を付してあり、その説明は適宜省略する。
FIG. 10 is a diagram for explaining functions realized by the
図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
次に、図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
ステップS37において、再送処理機能付Multi Flow RTP101は、RTCP64より供給された制御情報に基づいて、UDPポート67乃至69より供給されたデータに欠落がなく全て受信されているか否かを判定する。例えば、図12で示されるように、UDPポート68と88のペアで送信されてくるべきデータがルータ11cにより破棄されてしまったような場合、データが欠落し、全てのデータが受信されていないと判定され、その処理は、ステップS40に進む。
In step S37, the
ステップS40において、再送処理機能付Multi Flow RTP101は、遅延許容時間内であるか否かを判定し、遅延許容時間内であると判定した場合、その処理は、ステップS37に戻る。すなわち、全てのデータが受信されていないと判定された状態でも、遅延許容時間内では、ステップS37,S40の処理が繰り返される。そして、遅延許容時間内ではないと判定された場合、ステップS41において、再送処理機能付Multi Flow RTP101は、RTCP64を制御して、TCPポート66より欠落しているデータの再送要求を配信サーバ7に送信させ、その処理は、ステップS33に戻り、それ以降の処理が繰り替えされる。より詳細には、欠落しているRTPデータパケットのシーケンス番号が指定されて、再送が要求される。
In Step S40, the
ステップS57において、再送処理機能付Multi Flow RTP111は、RTCP84を制御して、TCPポート86に再送要求が送信されてきているか否かを判定し、例えば、ステップS41の処理により再送要求があったと判定された場合、その処理は、ステップS58に進む。
In step S57, the
ステップS58において、再送処理機能付Multi Flow RTP111は、再送要求のあったデータのアドレス(再送の要求があったデータのシーケンス番号に対応するデータのアドレス)を指定し、その処理は、ステップS53に戻り、それ以降の処理が繰り返される。
In step S58, the
ステップ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
ところが、図13で示されるように、RTPデータフロー123が、例えば、図12で示される点線の通信経路上のルータ11cにより、破棄されてしまったような場合、その分のデータが欠落することになる。従って、この場合、対応するデータはプレイヤ61に供給されないことになる。図13においては、その後に送信されてくるRTPデータフロー124が、受信され、対応するデータ135がバッファリングされる。この間、データ123が欠落してから、遅延許容時間が経過すると、上述したステップS41の処理により、RTCP64がTCPポート66を制御して再送を要求する。
However, as shown in FIG. 13, when the
すると、この再送要求に基づいて、RTPデータフロー126が配信サーバ7より送信されてきて、対応する欠落したデータ134がバッファリングされた後、ストリームデータが再生される。図13においては、その後、RTPデータフロー127,128が、配信サーバ7より引き続き送信されてきて、対応するデータ136,137がバッファリングされて、再生される様子が示されている。尚、この遅延許容時間は、バッファリング時間から予測される再送レスポンス時間(再送要求に基づいてデータ送信されてくるまでの予測時間)を減じた時間よりも短くする必要がある。
Then, based on this retransmission request, the
以上の処理により、複数の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
さらに、以上においては、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
尚、図14,図15において、Multi Flow RTP63,83は、図10で示したMulti Flow RTP101,111に置き換えるようにして、再送処理機能を備えるようにさせても良い。また、UDPポート67乃至69、および、87乃至89は、いずれも3個で構成される例について説明してきたが、これに限るものではなく、それ以外の数のUDPポート、または、TCPポートにより構成されるようにしても良い。
14 and 15, the
以上においては、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
図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
また、並列Multi Flow RTP181は、RTCP182を制御して、TCPポート66により配信サーバ7からの送信されてくるデータを識別する情報である制御情報を受信し、UDPポート67乃至69のいずれかで、その制御情報に基づいて識別されるデータ(パケット)が受信されると、その他のUDPポート67乃至69で受信されるデータを破棄すると共に、最初受信されたデータをプレイヤ61に供給して再生させる。
In addition, the parallel
次に、図17のフローチャートを参照して、図16のクライアントPC1と配信サーバ7からなる配信システムによる配信処理について説明する。尚、図17のフローチャートのステップS71,S72の処理、および、ステップS91,S92の処理は、図7のフローチャートのステップS1,S2およびS91,S92の処理と同様であるので、その説明は省略する。
Next, distribution processing by the distribution system including the
ステップS93において、並列Multi Flow RTP171は、RTSP82より供給されたアドレスの情報に基づいて、送信すべきストリームデータを読み出し、そのストリームデータを識別する情報と、UDPポート87乃至89のうちの通信に使用するポート番号と利用ポート数の情報を含む制御情報を生成する。
In step S93, the parallel
ステップS94において、並列Multi Flow RTP171は、RTCP84を制御して、TCPポート86より、生成した送信しようとするストリームデータを識別する情報と、UDPポート87乃至89のうちの通信に使用するポート番号と利用ポート数の情報を含む制御情報をクライアントPC1に送信させる。
In step S94, the parallel
ステップ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
ステップS73において、RTCP182は、TCPポート66を制御して、配信サーバ7より制御情報が送信されてきたか否かを判定し、送信されてくるまでその処理を繰り返す。例えば、ステップS93の処理により制御情報が送信されてきた場合、その処理は、ステップS74に進む。
In step S73, the
ステップ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
ステップS75において、並列Multi Flow RTP171は、制御情報に基づいて、UDPポート67乃至69のいずれかにおいて、送信されてきたストリームデータが受信されたか否かを判定し、受信されるまで、その処理を繰り返す。例えば、ステップS94の処理により、ステップS76において、複数UDPポート受信処理が実行され、UDPポート87乃至89のいずれかから送信されてきたストリームデータが受信された場合、その処理は、ステップS77に進む。
In step S75, the parallel
ステップS77において、並列Multi Flow RTP171は、UDPポート67乃至69のいずれかにより受信されたストリームデータと、受信されている制御情報を比較し、既に受信済みのストリームデータであるか否かを判定する。より詳細には、並列Multi Flow RTP171は、受信されたストリームデータを識別する情報と、制御情報に含まれている送信されてくるべきストリームデータを識別する情報とを比較し、受信したストリームデータが、送信されてくるべきストリームデータであるか否かを識別し、送信されてくるべきストリームデータであった場合で、かつ、既に受信されているものであるか否かを判定する。例えば、ステップS76において、受信されたストリームデータが、まだ、受信されていない最初のストリームデータであると判定した場合、その処理は、ステップS77に進む。
In step S77, the parallel
ステップS78において、並列Multi Flow RTP171は、受信したストリームデータをプレイヤ61に供給し、再生させる。
In step S78, the parallel
ステップ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
このため、従来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
ステップS112において、Multi Flow RTP83は、カウンタpに対応するUDPポートの検査処理を実行する。すなわち、カウンタpに対応するUDPポートとは、例えば、最初の処理においては、カウンタp=1に対応するUDPポートの検査処理が実行される。
In step S112, the
ここで、図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
ステップS152において、Multi Flow RTP83は、検査対象となるUDPポートが通信可能であるか否かを検査する。すなわち、より詳細には、Multi Flow RTP83は、例えば、select()関数(OS(=SystemVなど)の標準関数)を実行することによりFD-SETで指定されたディスクリプタの動作状態を検査する(より具体的には、検査対象となるUDPポートのソケットが書き込み可能であるか否かが検査される)。
In step S152, the
ステップS153において、Multi Flow RTP83は、検査対象となるUDPポートが通信可能であるか否かの検査結果を確認する。すなわち、より詳細には、Multi Flow RTP83は、例えば、select()関数の結果を、FD-ISSET(OS(=SystemV)の標準関数)を実行することにより確認する。
In step S153, the
以上のように、ステップ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
そして、ステップ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
ステップS131において、RTCP64は、制御情報に含まれている通信に利用されるUDPポート67乃至69を特定するポート番号、および、利用ポート数の情報に基づいて、UDPポート67乃至69を制御して、送信されてきた分割されているストリームデータを受信させ、Multi Flow RTP63に供給させる。すなわち、UDPポート67乃至69のうち、上述したカウンタpに対応するUDPポート87乃至89のいずれかで分割されているストリームデータが受信される。
In step S131, the
一方、ステップS115において、Multi Flow RTP83は、送信すべきストリームデータがあるか、すなわち、分割したストリームデータのうち、送信されずに残っているものがあるか否かを判定し、送信すべきストリームデータが存在しない場合、その処理は終了する。
On the other hand, in step S115, the
ステップ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
ステップS117において、Multi Flow RTP83は、カウンタpが上限であるPよりも大きいか否かを判定し、例えば、大きくないと判定された場合、その処理は、ステップS112に戻る。
In step S117, the
また、ステップ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ポートにより分割されたストリームデータが効率よく送信されることになる。尚、図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
次に、図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ポート送信処理および複数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
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。 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.
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の送信手段のポート番号、および、利用ポート数を含む、前記データを再生するための制御情報を生成する生成手段と、
前記生成手段により生成された前記制御情報をトランスポート層の第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に記載の送信装置。 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に記載の送信装置。 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に記載の送信装置。 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に記載の送信装置。 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.
ことを特徴とする請求項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.
ことを特徴とする請求項1に記載の送信装置。 The transmission apparatus according to claim 1, wherein the second protocol is TCP.
ことを特徴とする請求項1に記載の送信装置。 The transmission apparatus according to claim 1, wherein the session layer protocol is RTP.
ことを特徴とする請求項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.
ことを特徴とする請求項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に記載の送信装置。 The transmission device according to claim 1, wherein the first protocol of the transport layer is TCP.
前記第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の送信ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報の生成を制御する生成制御ステップと、
前記生成制御ステップの処理で生成された前記制御情報をトランスポート層の第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の送信ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報の生成を制御する生成制御ステップと、
前記生成制御ステップの処理で生成された前記制御情報をトランスポート層の第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の受信手段のポート番号、および、利用ポート数を含む、前記データを再生するための制御情報をトランスポート層の第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.
ことを特徴とする請求項16に記載の受信装置。 The receiving apparatus according to claim 16, wherein the second protocol is TCP.
ことを特徴とする請求項16に記載の受信装置。 The receiving apparatus according to claim 16, wherein the session layer protocol is RTP.
ことを特徴とする請求項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.
ことを特徴とする請求項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.
ことを特徴とする請求項16に記載の受信装置。 The receiving apparatus according to claim 16, wherein the first protocol of the transport layer is TCP.
前記第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の受信制御ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報のトランスポート層の第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の受信制御ステップの処理でのポート番号、および、利用ポート数を含む、前記データを再生するための制御情報のトランスポート層の第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.
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)
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 |
-
2004
- 2004-09-28 JP JP2004282086A patent/JP4487711B2/en not_active Expired - Fee Related
Cited By (7)
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 |