KR20100077418A - Pr-sctp based real-time multimedia data transmission for qos enhancement - Google Patents
Pr-sctp based real-time multimedia data transmission for qos enhancement Download PDFInfo
- Publication number
- KR20100077418A KR20100077418A KR1020080135342A KR20080135342A KR20100077418A KR 20100077418 A KR20100077418 A KR 20100077418A KR 1020080135342 A KR1020080135342 A KR 1020080135342A KR 20080135342 A KR20080135342 A KR 20080135342A KR 20100077418 A KR20100077418 A KR 20100077418A
- Authority
- KR
- South Korea
- Prior art keywords
- client
- sctp
- buffer
- state variable
- state
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
본 발명은 SCTP(Stream Control Transmission Protocol)를 이용하여 서버와 클라이언트 간에 실시간으로 멀티미디어 데이터를 전송하는 기술에 관한 것으로, 더욱 상세하게는, SCTP의 확장 규격인 PR-SCTP(Stream Control Transmission Protocol Partial Reliability Extension)를 활용한 실시간 멀티미디어 데이터 전송에 있어서 PR-SCTP 메시지의 라이프타임(lifetime)을 적절히 조절함으로써 전반적인 서비스 품질을 향상시킬 수 있는 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법에 관한 것이다.The present invention relates to a technology for transmitting multimedia data in real time between a server and a client by using a Stream Control Transmission Protocol (SCTP), and more particularly, a PR-SCTP (Stream Control Transmission Protocol Partial Reliability Extension) that is an extension of SCTP. The present invention relates to a PR-SCTP-based real-time multimedia data transmission method that can improve the overall service quality by appropriately adjusting the lifetime of the PR-SCTP message in real-time multimedia data transmission using
종래에는 IP 패킷 망을 활용한 멀티미디어 서비스를 위한 전송 계층 프로토콜로 TCP(Transmission Control Protocol)과 UDP(User Datagram Protocol)를 조합하여 사용하였다. 더 구체적으로 설명하면, 전송제어를 위한 채널로는 신뢰성을 보 장하는 TCP를 사용하고, 실시간 미디어 전달을 위한 채널로는 빠른 전달을 제공하는 UDP를 사용한다.Conventionally, a combination of TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) has been used as a transport layer protocol for a multimedia service using an IP packet network. More specifically, TCP is used to guarantee reliability as a channel for transmission control and UDP is used as a channel for real-time media delivery.
그러나 이러한 방식에 의하면, 서버와 클라이언트는 우선 두 가지 프로토콜을 사용해야 하기 때문에, 자원 활용 측면에서 볼 때 서버 및 클라이언트 모두에게 바람직하지 못하다. 더욱이 멀티미디어 데이터의 전송을 담당하는 UDP는 목적지로의 전송만을 수행하기 때문에 링크 오류나 일시적인 네트워크 혼잡에 따른 손실을 가져올 수 있으며, 혼잡 상태에 빠진 네트워크의 상태를 더욱더 악화시킬 수도 있다.However, this approach is undesirable for both server and client in terms of resource utilization because the server and client must first use two protocols. Moreover, UDP, which is responsible for the transmission of multimedia data, only performs transmission to the destination, which may cause loss due to link failure or temporary network congestion, and may worsen the state of the network in a congested state.
이에, IETF에서는 새로운 전송 계층 프로토콜의 표준으로서, 기존의 방식에 비하여 IPTV와 같은 실시간 멀티미디어 전송 서비스에 더욱더 효과적인 SCTP(Stream Control Transmission Protocol)와 그 확장 규격인 PR-SCTP(Stream Control Transmission Protocol Partial Reliability Extension)을 제안하였다.Therefore, IETF is a new transport layer protocol standard, which is more effective for real-time multimedia transmission services such as IPTV than the conventional method, and the Stream Control Transmission Protocol Partial Reliability Extension, which is an extension specification of SCTP (Stream Control Transmission Protocol). ) Is proposed.
SCTP는 기본적으로 멀티스트리밍을 지원하여 응용 계층 데이터의 논리적인 분류를 하나의 세션에서 제공하며, PR-SCTP는 신뢰성 있는 전송만을 지원하던 SCTP를 확장하여 주어진 시간동안만 부분적으로 신뢰성을 제공할 수 있도록 하고 있다. 이러한 PR-SCTP를 이용하면 적절한 시간이 지나면 더 이상 재전송을 하지 않게 되어, UDP와 같은 최선 노력(best-effort) 전송 기능을 수행하면서도 응용의 요구사항을 거스르지 않는 범위에서 재전송을 수행하여 오류가 발생한 데이터를 복구할 수 있다. 이는 클라이언트 응용의 입장에서 볼 때 UDP를 사용했을 때보다 좀 더 향상된 서비스 품질을 제공받을 수 있게 된다. 더욱이 최근 이더넷 기술이 비약적으 로 발전함에 따라 PR-SCTP를 사용한 실시간 미디어 데이터의 복구를 통한 서비스 품질의 향상 효과는 더욱더 클 것으로 기대된다.SCTP basically supports multistreaming to provide logical classification of application layer data in one session, and PR-SCTP extends SCTP, which only supported reliable transmission, to provide partial reliability only for a given time. Doing. With this PR-SCTP, retransmission is no longer performed after an appropriate time, and an error occurs by performing retransmission within the range that does not violate the requirements of the application while performing the best-effort transmission function such as UDP. Data can be recovered. From the point of view of the client application, it can be provided with a higher quality of service than when using UDP. In addition, with the recent rapid development of Ethernet technology, the improvement of service quality through real-time media data recovery using PR-SCTP is expected to be more significant.
상술한 SCTP의 멀티스트리밍 기능과 PR-SCTP의 실시간 전송 기능을 조합할 경우, SCTP 프로토콜 하나만으로도 다양한 양방향 실시간 멀티미디서 서비스를 쉽게 구현할 수가 있게 되는데, 이를 위해서는 각 멀티미디어 데이터의 신뢰성을 보장하는 시간을 어떻게 결정할 것인지에 대한 문제를 해결하여야 한다. 실시간 멀티미디어 데이터의 신뢰성을 보장하는 시간을 어떻게 결정하는지에 따라서 상술한 SCTP 및 PR-SCTP를 기반으로 한 멀티미디어 서비스 품질은 크게 달라질 수 있다.Combining the multi-streaming function of SCTP and the real-time transmission function of PR-SCTP described above, it is possible to easily implement various two-way real-time multimedia service using only one SCTP protocol. The question of how to decide should be solved. Depending on how to determine the time to ensure the reliability of the real-time multimedia data, the quality of multimedia services based on the above-described SCTP and PR-SCTP can be significantly different.
본 발명은 종래 PR-SCTP를 기반으로 한 멀티미디어 데이터 전송에 있어서의 신뢰성 보장 결정 문제를 해결하기 위하여 제안된 것으로서, 특히 클라이언트의 상태에 따라서 멀티미디어 데이터의 라이프타임을 적절하게 조절함으로써 전반적인 서비스 품질을 향상시킬 수 있는 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법을 제공하고자 한다.The present invention has been proposed to solve the problem of determining the reliability guarantee in the transmission of multimedia data based on the conventional PR-SCTP, and in particular, improves the overall service quality by appropriately adjusting the life time of the multimedia data according to the state of the client. To provide a PR-SCTP-based real-time multimedia data transmission method for improving service quality that can be achieved.
상기 과제를 해결하기 위한 수단으로서, 본 발명은, PR-SCTP에 기초하여 서버가 클라이언트로 멀티미디어 데이터를 실시간 전송하는 방법에 있어서, 서버가 실시간 멀티미디어 데이터 전송을 위한 라이프타임 상수로서, 모든 데이터에 대한 신뢰 전송을 보장함을 의미하는 신뢰 전송 상수와, 한 번의 전송을 보장하되 재전송은 하지 않음을 의미하는 비신뢰 전송 상수를 정의하는 정의 과정; 클라이언트가 초기 버퍼링 상태인 동안, 서버가 모든 멀티미디어 데이터의 라이프타임을 신뢰 전송 상수로 설정하여, 신뢰 전송을 수행하는 초기 버퍼링 전송 과정; 클라이언트가 재생 상태가 되면, 서버가 클라이언트의 버퍼 상태 및 네트워크 상태에 따라 각 멀티미디어 메시지의 라이프타임을 산출하여, 상기 산출된 라이프타임의 시간 동안 신뢰 전송을 수행하는 재생 전송 과정; 및 클라이언트가 버퍼링 상태가 되면, 모든 멀티미디어 데이터의 라이프타임을 비신뢰 전송 상수로 설정하여, 모든 멀티미디어 데이터를 한번만 전송하고 재전송은 수행하지 않는 것을 특징으로 하는 버퍼링 전송 과정을 포함하는 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법을 제공한다.As a means for solving the above problems, the present invention provides a method for transmitting multimedia data to a client in real time based on a PR-SCTP, wherein the server is a lifetime constant for real-time multimedia data transmission. A definition process of defining a reliable transmission constant for guaranteeing reliable transmission and an untrusted transmission constant for guaranteeing one transmission but not retransmission; An initial buffering transmission process in which, while the client is in the initial buffering state, the server sets the life time of all the multimedia data as a reliable transmission constant to perform a reliable transmission; When the client is in the playback state, the server calculates a life time of each multimedia message according to the buffer state and the network state of the client, and performs a transmission transmission for the reliable time for the calculated life time; And when the client is in the buffering state, sets the life time of all multimedia data to an untrusted transmission constant, and transmits all the multimedia data only once and does not perform retransmission. Provides a method for transmitting real-time multimedia data based on PR-SCTP.
상기 실시간 멀티미디어 데이터 전송 방법에 있어서, 상기 초기 버퍼링 전송 과정은, 클라이언트의 재생 버퍼 상태를 나타낸 버퍼 상태 변수를 설정하여 초기화하는 단계; 클라이언트로부터 멀티미디어 서비스 요청이 있으면, 클라이언트 상태 변수를 초기 버퍼링 상태로 설정하는 단계; 상기 버퍼 상태 변수를 현재 상태 값으로 갱신하는 단계; 라이프타임을 신뢰 전송 상수로 설정하여, 멀티미디어 메시지를 전송하는 단계; 상기 버퍼 상태 변수가 상한값 이상인지를 확인하는 단계; 및 상기 버퍼 상태 변수가 상한값 이상이 아니면, 상기 버퍼 상태 변수를 현재 상태 값으로 갱신하는 단계부터 반복하고, 상기 버퍼 상태 변수가 상한값 이상이면, 상기 클라이언트 상태 변수를 재생 상태로 변경하는 단계를 포함하여 이루어진다.In the real-time multimedia data transmission method, the initial buffering transmission process, the step of initializing by setting a buffer state variable indicating the playback buffer state of the client; If there is a multimedia service request from the client, setting the client state variable to an initial buffering state; Updating the buffer state variable with a current state value; Setting a life time as a reliable transmission constant to transmit the multimedia message; Checking whether the buffer state variable is equal to or greater than an upper limit; And repeating the step of updating the buffer state variable to a current state value if the buffer state variable is not greater than or equal to an upper limit value, and changing the client state variable to a replay state if the buffer state variable is greater than or equal to an upper limit value. Is done.
또한, 상기 실시간 멀티미디어 데이터 전송 방법에 있어서, 상기 재생 전송 과정은, 클라이언트의 재생 버퍼 상태를 나타낸 버퍼 상태 변수와 네트워크 지연 상태를 나타내는 네트워크 상태 변수를 설정하여, 현재 상태 값으로 갱신하는 단계; 상기 버퍼 상태 변수의 값에 비례하고 네트워크 상태 변수의 값에 반비례하도록 전송할 멀티미디어 메시지의 라이프타임을 산출하는 단계; 상기 산출한 라이프타임의 시간 동안 신뢰성을 보장하면서 멀티미디어 메시지를 전송하는 단계; 상기 버퍼 상태 변수가 0인지를 확인하는 단계; 및 상기 버퍼 상태 변수가 0이 아니면, 상기 버퍼 상태 변수 및 네트워크 상태 변수를 현재 상태 값으로 갱신하는 단계부 터 반복 수행하고, 상기 버퍼 상태 변수가 O이면, 클라이언트 상태 변수의 값을 버퍼링 상태로 변경하는 단계를 포함하여 이루어진다.In the real-time multimedia data transmission method, the playback transmission process, comprising the steps of setting a buffer state variable representing the playback buffer state of the client and a network state variable representing the network delay state, and updating to a current state value; Calculating a life time of the multimedia message to be transmitted so as to be proportional to the value of the buffer state variable and inversely proportional to the value of the network state variable; Transmitting a multimedia message while ensuring reliability during the calculated lifetime; Checking whether the buffer status variable is zero; And repeating the step of updating the buffer state variable and the network state variable to the current state value if the buffer state variable is not 0, and changing the value of the client state variable to the buffering state if the buffer state variable is O. It comprises a step.
또한, 상기 실시간 멀티미디어 데이터 전송 방법에 있어서, 상기 버퍼링 재생 과정은, 클라이언트의 재생 버퍼 상태를 나타낸 버퍼 상태 변수를 설정하여, 현재 상태 값으로 갱신하는 단계; 라이프타임을 비신뢰 전송 상수로 설정하여, 멀티미디어 메시지를 전송하는 단계; 상기 버퍼 상태 변수가 상한값 이상인지를 확인하는 단계; 및 상기 버퍼 상태 변수가 상한값 이상이 아니면, 상기 버퍼 상태 변수를 현재 상태 값으로 갱신하는 단계부터 반복하고, 상기 버퍼 상태 변수가 상한값 이상이면, 상기 클라이언트 상태 변수를 재생 상태로 변경하는 단계를 포함하여 이루어진다.In the real-time multimedia data transmission method, the buffering playback process, the step of setting a buffer state variable indicating the playback buffer status of the client, updating the current status value; Transmitting a multimedia message by setting a life time as an untrusted transmission constant; Checking whether the buffer state variable is equal to or greater than an upper limit; And repeating the step of updating the buffer state variable to a current state value if the buffer state variable is not greater than or equal to an upper limit value, and changing the client state variable to a replay state if the buffer state variable is greater than or equal to an upper limit value. Is done.
더하여, 상기 실시간 멀티미디어 데이터 전송 방법에 있어서, 상기 상한값은 클라이언트에 존재하는 재생 버퍼의 최대값으로 설정되며, 상기 버퍼 상태 변수 및 네트워크 상태 변수는, 클라이언트로부터 주기적으로 버퍼 상태 정보 및 RTT(Round Trip Time)을 전송받고, 최근에 전송받은 버퍼 상태 정보 및 RTT 값으로 갱신할 수 있다. In addition, in the real-time multimedia data transmission method, the upper limit value is set to the maximum value of the playback buffer existing in the client, the buffer state variable and the network state variable, the buffer status information and RTT (Round Trip Time) periodically from the client ) May be transmitted and updated with the recently received buffer status information and the RTT value.
더하여, 상기 실시간 멀티미디어 데이터 전송 방법에 있어서, 상기 재생 전송 과정은, 상기 버퍼 상태 변수가 0인지 확인하기 전에, 전송한 멀티미디어 메시지에 대한 클라이언트에서의 재생 시간을 산출하고, 상기 재생 시간만큼 상기 버퍼 상태 변수의 값을 증가시키거나, 전송한 멀티미디어 메시지 중에서 재전송이 포기된 멀티미디어 메시지가 존재하는지 확인하여, 상기 재전송이 포기된 멀티미디어 메시지에 대한 클라이언트에서의 재생 시간만큼 상기 버퍼 상태 변수를 감소시키는 단계를 더 포함할 수 있다.In addition, in the real-time multimedia data transmission method, the reproduction transmission process, before checking whether the buffer state variable is 0, calculates the reproduction time at the client for the transmitted multimedia message, the buffer state by the reproduction time Increasing the value of the variable, or checking whether there is a multimedia message for which retransmission is abandoned among the transmitted multimedia messages, and reducing the buffer state variable by the playing time at the client for the multimedia message for which the retransmission was abandoned. It may include.
또한, 상기 실시간 멀티미디어 데이터 전송 방법에 있어서, 상기 라이프타임을 산출하는 단계는, (여기서, B는 버퍼 상태 변수의 현재 값이고, S는 이전 메시지와의 전송 간격이고, RTT는 네트워크 상태 변수의 값이고, α는 라이프타임의 상한을 설정하기 위한 가중치로서 0보다 크고 1보다 작은 값이다) 에 의하여 라이프타임(Lifetime)을 산출할 수 있다. 상기에서, 클라이언트로부터 버퍼 상태 변수가 보고되지 않는 경우, 상기 RTT값을 0로 하여 라이프타임을 산출한다.In the real-time multimedia data transmission method, the step of calculating the life time, (Where B is the current value of the buffer state variable, S is the transmission interval with the previous message, RTT is the value of the network state variable, and α is a weight for setting an upper limit of the lifetime as a weight greater than 0 and less than 1 Value), the Lifetime can be calculated. In the above, when the buffer status variable is not reported from the client, the life time is calculated by setting the RTT value to zero.
더하여, 상기 실시간 멀티미디어 데이터 전송 방법에 있어서, 상기 초기 버퍼링 과정의 멀티미디어 메시지를 전송하는 단계는, SCTP 기본 규격에 따라서 데이터 청크를 처리하는 단계를 포함하여 이루어진다.In addition, in the real-time multimedia data transmission method, the step of transmitting the multimedia message of the initial buffering process comprises the step of processing the data chunk in accordance with the SCTP basic standard.
또한, 상기 재생 전송 과정의 멀티미디어 메시지를 전송하는 단계는, 전송할 멀티미디어 메시지를 데이터 청크로 분할하고, 각 분할된 데이터 청크에 TSN(Transmission Sequence number) 할당하여, PR-SCTP 확장 규격의 데이터 청크 처리 방식에 따라서 처리하는 단계; 및 라이프타임이 만료되었는지를 확인하여, 라이프타임이 만료되면 상기 데이터 청크를 포기 청크로 지정하고, PR-SCTP 확장 규격의 포기 청크 처리 방식에 따라 처리하는 단계를 포함하여 이루어진다.The transmitting of the multimedia message in the reproduction transmission process may include: dividing the multimedia message to be transmitted into data chunks, assigning a transmission sequence number (TSN) to each of the divided data chunks, and then performing a data chunk processing method of the PR-SCTP extension standard. Processing according to; And checking whether the life time has expired, and if the life time expires, designating the data chunk as an abandonment chunk, and processing according to the abandonment chunk processing scheme of the PR-SCTP extension standard.
또한, 상기 버퍼링 전송 과정의 멀티미디어 메시지를 전송하는 단계는, 라이 프타임이 비신뢰 상수로 설정되면, 멀티미디어 메시지의 분할 및 각 분할된 데이터 청크에 대한 TSN(Transmission Sequence number) 할당을 수행하는 단계; 상기 분할된 데이터 청크를 클라이언트로 전송하는 단계; 전송한 데이터 청크를 포기 청크로 지정하는 단계; 및 PR-SCTP 확장 규격의 포기 청크 처리 방식에 따라서 상기 포기 청크를 처리하는 단계를 포함하여 이루어진다.The transmitting of the multimedia message in the buffering transmission process may include: splitting the multimedia message and assigning a transmission sequence number (TSN) to each divided data chunk when the life time is set to an unreliable constant; Transmitting the partitioned data chunk to a client; Designating the transmitted data chunk as a discard chunk; And processing the abandonment chunk according to the abandonment chunk processing scheme of the PR-SCTP extension standard.
상술한 과제 해결 수단에 의하면, 본 발명은, 전송 계층 프로토콜 중에서 SCTP 만을 사용하여 실시간 멀티미디어 서비스를 제공함으로써, 기존에 TCP와 UDP를 조합하여 수행하던 경우에 비하여 서버나 클라이언트 모두의 자원 절감 효과를 도모할 수 있으며, 더하여, SCTP의 신뢰성 제공 기능 및 PR-SCTP의 부분적 신뢰성 제공 기능을 이용함으로써, 클라이언트의 상태에 따라 라이프타임을 적절히 설정함으로써, 가장 최적의 서비스 품질을 제공할 수 있는 효과가 있다.According to the above-mentioned problem solving means, the present invention provides a real-time multimedia service using only SCTP in the transport layer protocol, thereby reducing the resource savings of both the server and the client as compared to the case of performing a combination of TCP and UDP In addition, by using the reliability providing function of the SCTP and the partial reliability providing function of the PR-SCTP, the life time can be set appropriately according to the state of the client, thereby providing the most optimal service quality.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in describing in detail the operating principle of the preferred embodiment of the present invention, if it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.In addition, the same reference numerals are used for parts having similar functions and functions throughout the drawings.
본 발명은 실시간 멀티미디어 서비스의 서비스 품질 향상을 위하여, SCTP 및 PR-SCTP를 활용한다. 더 구체적으로, 본 발명은 SCTP 및 PR-SCTP를 활용한 실시간 멀티미디어 서비스를 위하여, 첫째로 기존 SCTP 및 PR-SCTP의 완전한 신뢰성 전송, 부분적인 신뢰성 전송에 추가하여 비신뢰 전송 기능을 추가하였으며, 두 번째로 클라이언트의 상태에 따라서 완전한 신뢰성 전송, 부분적인 신뢰성 전송 및 비신뢰 전송을 선택적으로 사용함으로써, 각 클라이언트의 상태에 따른 요구 사항에 맞는 서비스를 제공하여, 실시간 멀티미디어 서비스의 서비스 품질을 전반적으로 향상시키고자 한다.The present invention utilizes SCTP and PR-SCTP to improve service quality of real-time multimedia services. More specifically, the present invention, in order to real-time multimedia services using SCTP and PR-SCTP, first, in addition to the full reliability transmission, partial reliability transmission of the existing SCTP and PR-SCTP, untrusted transmission function has been added. Secondly, by using full reliability transmission, partial reliability transmission and unreliable transmission selectively according to the client's status, the service quality of real-time multimedia service is improved by providing services that meet the requirements of each client's status. I want to.
이러한 본 발명의 상세 구성 및 작용에 대하여 설명하기에 앞서, 본 발명의 라이프타임 설정의 기준이 되는 클라이언트의 상태에 대해서 설명한다.Prior to describing the detailed configuration and operation of the present invention, the state of the client serving as the reference for setting the lifetime of the present invention will be described.
도 1은 실시간 멀티미디어 서비스에 있어서의 클라이언트의 상태 천이도이다.1 is a state transition diagram of a client in a real-time multimedia service.
본 발명에 따른 PR-SCTP를 기반으로 한 실시간 멀티미디어 서비스에 있어서, 모든 멀티미디어 데이터의 신뢰성 제공 시간은 서버에서 결정되며, 서버가 신뢰성 제공 시간을 결정은 클라이언트의 현재 상태를 기반으로 이루어지는데, 일반적으로 실시간 멀티미디어 서비스 제공시, 클라이언트는 도 1에 나타낸 4 가지의 상태중 하나의 상태로 동작한다.In the real-time multimedia service based on PR-SCTP according to the present invention, the reliability providing time of all the multimedia data is determined at the server, and the server determines the reliability providing time based on the current state of the client. In providing a real-time multimedia service, the client operates in one of four states shown in FIG.
도 1을 참조하면, 클라이언트 동작 상태는, 정지(Stopped), 초기 버퍼링(Initial Buffering), 재생(Playing), 버퍼링(Buffering)의 네 개의 상태를 갖게 된다. 여기서, 정지 상태는, 멀티미디어 서비스가 제공되기 전이나, 사용자 요구에 의해서 멀티미디어 서비스 종료된 후의 상태를 말하면, 사용자의 서비스 요구에 따라서, 클라이언트는 상기 정지 상태에서 초기 버퍼링 상태로 진입한다.Referring to FIG. 1, the client operating state has four states of Stopped, Initial Buffering, Playing, and Buffering. Here, the stopped state refers to a state before the multimedia service is provided or after the multimedia service is terminated by the user's request. According to the service request of the user, the client enters the initial buffering state from the stopped state.
초기 버퍼링 상태는, 멀티미디어 재생을 하기 위한 초기 멀티미디어 데이터를 클라이언트 측에 전송하는 상태로서, 이 상태에서 전송되는 모든 멀티미디어 데이터는 클라이언트의 재생 버퍼에 저장되기만 하기 때문에 사용자는 서비스가 아직 시작되었다고 느끼지 못한다. 따라서 초기 버퍼링 상태에서는 안전한 서비스 시작을 위하여 모든 멀티미디어 데이터 전송에 대해 신뢰성을 제공하여야 한다. The initial buffering state is a state in which initial multimedia data for multimedia playback is transmitted to the client side, and all the multimedia data transmitted in this state is only stored in the client's playback buffer, so the user does not feel that the service has started yet. Therefore, in the initial buffering state, reliability of all multimedia data transmissions must be provided for safe service start.
그리고 서버로부터 전송된 멀티미디어 데이터에 의하여 재생 버퍼가 처음으로 가득 차게 되면, 클라이언트는 초기 버퍼링 상태에서 재생 상태로 천이된다.When the play buffer is first filled by the multimedia data transmitted from the server, the client transitions from the initial buffering state to the play state.
재생 상태는, 재생 버퍼에 저장된 멀티미디어 데이터를 재생시켜 사용자가 서비스를 제공받으면서, 서버로부터 멀티미디어 데이터를 전달받아 계속 재생 버퍼에 저장하는 단계로서, 재생이 시작되면 클라이언트는 재생이 시작되었음을 서버 측에 알려야 한다. 재생 상태에서는, 클라이언트의 재생 버퍼를 고갈시키지 않으면서 일시적인 링크 오류 또는 혼잡에 의해 손실된 패킷을 복구할 수 있어야 한다.The playback state is a step of playing multimedia data stored in the playback buffer and receiving the multimedia data from the server while the user is provided with the service, and storing the multimedia data in the playback buffer. When the playback starts, the client should inform the server that the playback has started. do. In the playback state, it should be possible to recover packets lost by temporary link failure or congestion without depleting the client's playback buffer.
상기와 같은 재생 상태에서, 네트워크 혼잡 등의 이유로 재생 버퍼가 고갈되면, 사용자가 서비스를 받지 못하고 대기하게 되는데, 이때를 버퍼링 상태라 한다.In the reproduction state as described above, when the reproduction buffer is exhausted due to network congestion or the like, the user waits without receiving a service, which is called a buffering state.
버퍼링 상태에서 가장 중요한 문제는 시급한 서비스의 복구이며, 이것은 멀 티미디어의 품질보다 더 중요한 요구사항이 된다. 따라서 버퍼링 상태에서는 모든 멀티미디어 데이터를 빠르게 전달할 필요가 있다.The most important issue in the buffering state is the urgent recovery of services, which is more important than the quality of multimedia. Therefore, all the multimedia data needs to be delivered quickly in the buffered state.
이어서, 상술한 클라이언트의 상태에 따라서 신뢰성 제공 시간인 라이프타임을 달리 설정하여, 최적의 서비스 품질을 제공하는 본 발명에 의한 멀티미디어 데이터 전송 방법에 대하여 설명한다.Next, a description will be given of a multimedia data transmission method according to the present invention for providing an optimal quality of service by differently setting a life time which is a reliability providing time according to the state of the client described above.
도 2는 본 발명에 의한 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법의 전체 흐름을 나타낸 순서도로서, 이를 참조하면, 본 발명에 의한 실시간 멀티미디어 데이터 전송 방법은, 정의 과정과, 초기 버퍼링 전송 과정과, 재생 전송 과정과, 버퍼링 전송 과정을 포함한다.2 is a flowchart showing the overall flow of the PR-SCTP-based real-time multimedia data transmission method for improving the service quality according to the present invention, referring to this, the real-time multimedia data transmission method according to the present invention, the definition process and the initial buffering A transmission process, a reproduction transmission process, and a buffering transmission process.
정의 과정, 즉, 단계 S201에서는, 기존 SCTP 규격에서 명시한 신뢰 전송 상수(SCTP_LIFETIME_RELIABLE) 이외에 새로운 비신뢰 전송 상수(SCTP_LIFETIME_UNRELIABLE)를 정의한다. 상기 신뢰 전송 상수(SCTP_LIFETIME_RELIABLE)는, SCTP 규격에 제시되어 있는 것으로서, 멀티미디어 데이터에 대하여 완전한 신뢰성 전송을 수행함을 의미한다. 즉, 모든 멀티미디어 데이터가 완전하게 클라이언트로 전송되도록 재전송 및 오류 복구 등과 같은 처리를 수행함을 의미한다. 이에 반하여, 비신뢰 전송 상수(SCTP_LIFETIME_UNRELIABLE)는 본 발명에서 버퍼링 상태에서의 빠른 서비스 복구를 위해 제안한 새로운 개념으로써, "신뢰성은 제공하지 않지만 적어도 한번은 전송한다."라는 의미로 정의된다. 기존의 부분적 신뢰 전송에서 라이프타임(lifeitme) 값을 작게 줄일 경우, 비신뢰 전송과 유사한 효과를 가져 올 수 있으나, 자칫 전송되기도 전에 라이프타임이 만료되어 전송 자체를 포기(abandon)하는 경우가 발생할 수 있다. 따라서 본 발명에 의한 비신뢰 전송에서는, 반드시 한 번의 전송은 이루어지되, 이에 대한 신뢰성은 제공하지 않는다.In the defining process, that is, step S201, a new untrusted transmission constant (SCTP_LIFETIME_UNRELIABLE) is defined in addition to the reliable transmission constant (SCTP_LIFETIME_RELIABLE) specified in the existing SCTP standard. The reliable transmission constant (SCTP_LIFETIME_RELIABLE), which is given in the SCTP standard, means that complete reliable transmission of multimedia data is performed. In other words, this means that retransmission and error recovery are performed so that all multimedia data is completely transmitted to the client. On the contrary, the untrusted transmission constant (SCTP_LIFETIME_UNRELIABLE) is a new concept proposed for fast service recovery in the buffering state in the present invention and is defined as "not providing reliability but transmitting at least once." Reducing the lifetime value in the existing partial trust transmissions can have a similar effect as unreliable transmissions, but it may happen that the lifespan expires before being sent and abandons the transmission itself. have. Therefore, in the unreliable transmission according to the present invention, one transmission is necessarily performed, but reliability thereof is not provided.
그리고 초기 버퍼링 과정에서는, 클라이언트 측으로부터 멀티미디어 서비스 시작이 요구되면(S202), 즉, 클라이언트가 정지 상태에서 초기 버퍼링 상태로 천이되면, 서버는, 클라이언트로 전송할 모든 멀티미디어 메시지에 대하여, 라이프타임의 값을 상기 신뢰 전송 상수로 설정하여, 멀티미디어 메시지에 대한 신뢰 전송을 수행한다(S203). 즉. 멀티미디어 메시지가 완전하게 클라이언트 측으로 전송될 때까지 재전송 및 오류복구를 보장하는 데이터 전송을 수행한다.In the initial buffering process, when the start of the multimedia service is requested from the client side (S202), that is, when the client transitions from the stopped state to the initial buffering state, the server sends a lifetime value to all multimedia messages to be transmitted to the client. The reliable transmission constant is set to perform reliable transmission on the multimedia message (S203). In other words. Data transmission is performed to ensure retransmission and error recovery until the multimedia message is completely transmitted to the client side.
이어서, 재생 전송 과정에서는, 상기 초기 버퍼링 과정에 의하여 멀티미디어 데이터가 클라이언트 측으로 전송되어, 클라이언트가 재생 상태로 천이되면(S204), 서버는, 클라이언트 재생 버퍼의 상태 및 네트워크의 지연 상태에 따라서 각 멀티미디어 메시지의 라이프타임 값을 산출하고, 상기 산출된 라이프타임 동안만 멀티미디어 메시지의 신뢰성을 보장하는 부분적 신뢰 전송을 수행한다(S205).Subsequently, in the reproduction transmission process, when the multimedia data is transmitted to the client side by the initial buffering process, and the client transitions to the reproduction state (S204), the server sends each multimedia message according to the state of the client reproduction buffer and the delay state of the network. The lifetime value of S is calculated, and partial trust transmission is performed to ensure the reliability of the multimedia message only during the calculated lifetime (S205).
그리고 버퍼링 전송 과정에서는, 네트워크 혼잡 등의 이유로 클라이언트 재생 버퍼가 고갈되면, 즉, 클라이언트 상태가 버퍼링 상태로 천이되면(S206), 모든 멀티미디어 메시지의 라이프타임을 상기 비신뢰 전송 상수로 설정하여, 한 번의 전송을 수행하되 신뢰성을 보장하지 않는 비신뢰 전송을 수행한다(S208). 상기 비신뢰 전송은 클라이언트의 상태가 재생 상태로 천이될 때까지 반복된다(S208).In the buffering transmission process, when the client playback buffer is exhausted due to network congestion, that is, when the client state transitions to the buffering state (S206), the life time of all multimedia messages is set to the untrusted transmission constant, Although performing transmission, unreliable transmission that does not guarantee reliability is performed (S208). The untrusted transmission is repeated until the state of the client transitions to the playback state (S208).
그리고 버퍼링 상태에서 재생 상태로 천이되면, 상기 서버는 다시 상술한 재생 전송 과정을 수행하게 된다.When the server transitions from the buffering state to the playback state, the server performs the above-described reproduction transmission process again.
이하, 각 과정에 대하여 첨부된 도면을 참조하여 더 구체적으로 설명한다.Hereinafter, each process will be described in more detail with reference to the accompanying drawings.
도 3은 본 발명에 의한 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법에 있어서, 초기 버퍼링 전송 과정의 상세 동작을 나타낸 순서도이다.3 is a flowchart illustrating a detailed operation of an initial buffering transmission process in the PR-SCTP-based real-time multimedia data transmission method for improving service quality according to the present invention.
도 3을 참조하면, 상기 초기 버퍼링 전송 과정은 다음과 같이 이루어진다.Referring to FIG. 3, the initial buffering transmission process is performed as follows.
본 발명에 있어서, 서버는, 현재 클라이언트의 버퍼 상태 및 네트워크 지연 상태를 확인하기 위하여, 클라이언트 재생 버퍼의 상태를 나타내는 버퍼 상태 변수 B와 네트워크의 지연 상태를 나타내는 네트워크 상태 변수 RTT를 설정하여 초기화한다(S301). 상기 버퍼 상태 변수 B와 네트워크 상태 변수 RTT의 초기 값은 실제 네트워크 상황과 사업자의 정책에 따라 다를 수 있으므로 각각 BUF_INITIAL, RTT_INITIAL로 정의하며, 기본 값은 0으로 하고, 단위는 밀리초(ms)로 할 수 있다.In the present invention, the server sets and initializes the buffer state variable B indicating the client playback buffer and the network state variable RTT indicating the network delay state in order to check the buffer state and the network delay state of the current client ( S301). The initial values of the buffer state variable B and the network state variable RTT may be different according to the actual network situation and the operator's policy. Therefore, the buffer state variable B and the network state variable RTT are defined as BUF_INITIAL and RTT_INITIAL, respectively. The default value is 0 and the unit is millisecond (ms). Can be.
또한, 서버는 클라이언트의 상태를 기록하기 위하여, 클라이언트 상태 변수 Client.State를 정의하며, 서비스 시작 직후 이 값을 초기 버퍼링 상태(INITIAL_BUFFERING)로 설정한다(S302).In addition, the server defines a client state variable Client.State to record the state of the client, and sets this value to the initial buffering state (INITIAL_BUFFERING) immediately after the service starts (S302).
상기와 같이, 서버에서 모든 필요 변수의 초기화가 이루어지면, 클라이언트의 요구에 따라서 멀티미디어 데이터의 전송이 이루어지는데, 이때, 서버는 먼저, 상기 버퍼 상태 변수 B 및 네트워크 상태 변수 RTT를 현재 상태 값으로 갱신한다(S303). 상기 버퍼 상태 변수 B 및 네트워크 상태 변수 RTT의 갱신은, 클라이언 트로부터 주기적으로 버퍼 상태 정보 및 네트워크 상태 정보, 더 구체적으로는 RTT(Round Trip Time)값을 전송받아, 최근에 전송받은 값으로 상기 버퍼 상태 변수 B 및 네트워크 상태 변수 RTT를 설정함에 의해 이루어진다. 여기서, 네트워크 상태 변수 RTT는 초기 버퍼링 전송 과정에서는 불필요하므로, 상기 네트워크 상태 변수의 정의 및 갱신은 생략될 수 있다.As described above, when all necessary variables are initialized in the server, multimedia data is transmitted according to a client's request. In this case, the server first updates the buffer state variable B and the network state variable RTT with the current state values. (S303). The update of the buffer state variable B and the network state variable RTT may be performed by periodically receiving buffer state information and network state information, more specifically, a round trip time (RTT) value from a client, and the buffer as a recently received value. By setting the state variable B and the network state variable RTT. Since the network state variable RTT is unnecessary during the initial buffering transmission process, the definition and update of the network state variable may be omitted.
그리고 상기 서버는, 각 멀티미디어 메시지의 라이프타임(Lifetime)을 상기 정의 과정에서 정의된 신뢰 전송 상수(SCTP_LIFETIME_RELIABLE)로 설정하고(S304), 상기 신뢰 전송 상수로 라이프타임이 설정된 각 멀티미디어 메시지(SCTP 메시지)에 대한 신뢰 전송을 수행한다(S305).The server sets a lifetime of each multimedia message to a reliable transmission constant (SCTP_LIFETIME_RELIABLE) defined in the definition process (S304), and each multimedia message (SCTP message) whose lifetime is set to the reliable transmission constant. In step S305, reliable transmission is performed.
그리고 상기 서버는, 매 멀티미디어 메시지의 전송 시마다, 상기 버퍼 상태 변수 B의 값이 상한값(B.Maximum) 이상인지를 확인하고(S306), 상기 상한값 이상이 아니면, 상술한 단계(S303~S305)를 반복 수행하여 멀티미디어 데이터의 신뢰성 있는 전송을 계속 수행한다. 반대로, 상기 버퍼 상태 변수 B의 값이 상한값 이상이면, 상기 클라이언트 상태 변수(Client.state)를 재생 상태(PLAYING)로 변경한다. 여기서 상한값(B.Maximum)은 클라이언트의 재생 버퍼의 최대값으로 단위는 밀리초(ms)이다.Whenever the multimedia message is transmitted, the server checks whether the value of the buffer state variable B is equal to or greater than the upper limit value B. Maximum (S306), and if not equal to or greater than the upper limit value, the above-described steps (S303 to S305). By repeating, reliable transmission of multimedia data is continued. On the contrary, if the value of the buffer state variable B is equal to or greater than the upper limit value, the client state variable Client.state is changed to the playing state PLAYING. Here, the upper limit value (B.Maximum) is the maximum value of the client's playback buffer and is expressed in milliseconds (ms).
일단 재생 버퍼가 가득 차게 되면, 클라이언트는 멀티미디어의 재생을 시작하고 이 상황을 서버 측에 보고하게 되며, 이후 서버는 상술한 재생 전송 과정을 수행하게 된다.Once the play buffer is full, the client starts playing the multimedia and reports the situation to the server side, and then the server performs the play transmission process described above.
도 4는 본 발명에 의한 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티 미디어 데이터 전송 방법에 있어서, 재생 전송 과정의 상세 동작을 나타낸 순서도이다.4 is a flowchart illustrating a detailed operation of a reproduction transmission process in the PR-SCTP-based real-time multimedia data transmission method for improving service quality according to the present invention.
본 발명에 있어서, 상기 재생 전송 과정의 목적은, 실시간 멀티미디어 데이터 전송의 서비스 품질 향상이며, 이를 위하여 본 발명에서는 다음 사항을 가정한다.In the present invention, the purpose of the reproduction transmission process is to improve the quality of service of the real-time multimedia data transmission, for the purpose of the present invention assumes the following.
첫째, PR-SCTP 응용은 전송 계층에서 패킷 분할(Fragmentation)이 일어나지 않도록 1 x MTU(Maximum Transfer Unit) 이하로 멀티미디어 메시지의 크기를 맞추어 전송 계층으로 전달한다. 둘째, 프로토콜 차원에서의 일어나는 메시지 간의 전송 간격(예를 들어, 지연된 SACK 등에 따른 전송 간격)은 무시할 수 있다고 가정한다. 셋째, 클라이언트는 현재 자신의 상태를 일정 주기 간격 또는 상태 변화 시, 서버로 즉각 보고한다. First, the PR-SCTP application transmits the size of the multimedia message to the transport layer at a size less than 1 x MTU (Maximum Transfer Unit) so that packet fragmentation does not occur in the transport layer. Second, it is assumed that transmission intervals between messages occurring at the protocol level (eg, transmission intervals due to delayed SACKs) can be ignored. Third, the client immediately reports its current status to the server at regular intervals or status changes.
도 4를 참조하면, 재생 전송 과정에서, 서버는, 클라이언트의 버퍼 상태 및 네트워크 지연 상태를 확인하기 위하여, 상기 버퍼 상태 변수 B 및 네트워크 상태 변수 RTT를 현재 상태 값으로 갱신한다(S401). 앞서 설명한 바와 같이, 상기 버퍼 상태 변수 B의 단위는 밀리초(ms)이며, 이 변수 B의 값은 소정 주기(B.Interval)로 클라이언트로부터 보고되는 값으로 수정된다. 그리고 상기 주기(B.Interval) 사이에 멀티미디어 메시지의 전송이 이루어지는 경우에는, 서버에서 버퍼의 상태를 예측하여 갱신한다. 이에 대해서는 이후에 설명한다. 더하여, 상기 네트워크 상태 변수 RTT의 값도 클라이언트로부터 소정 주기(RTT.Interval)로 보고되는 값으로 갱신된다.Referring to FIG. 4, in the reproduction transmission process, the server updates the buffer state variable B and the network state variable RTT with the current state values in order to check the buffer state and the network delay state of the client (S401). As described above, the unit of the buffer state variable B is milliseconds (ms), and the value of the variable B is modified to a value reported from the client at a predetermined period (B. Interval). When the multimedia message is transmitted between the periods B. Interval, the server predicts and updates the buffer status. This will be described later. In addition, the value of the network state variable RTT is also updated to a value reported from the client at a predetermined period (RTT.Interval).
이 후, 상기 서버는, 전송할 멀티미디어 메시지에 대하여, 각각의 라이프타임을 산출하는데, 먼저, 이전 메시지와의 전송 간격 S를 측정하고(S402), 아래의 수학식 1에 의하여 라이프타임(Lifetime)을 산출한다(S403).Subsequently, the server calculates each life time for the multimedia message to be transmitted. First, a transmission interval S with the previous message is measured (S402), and a lifetime is calculated according to Equation 1 below. It calculates (S403).
상기 수학식 1에서, B는 상기 버퍼 상태 변수의 값이고, S는 이전 메시지와의 전송 간격이고, RTT는 상기 네트워크 상태 변수의 값이고, α는 서비스 정책에 따라 적절한 상한선을 설정하기 위하여 가중치로서, 0보다 크고 1보다 작은 값 중에서 임의로 설정된다. 상기에서, 버퍼 상태 변수의 값과 네트워크 상태 변수의 값은 클라이언트로부터 주기적으로 보고됨에 의해 갱신되는데, 이때, 클라이언트로부터 버퍼 상태 변수가 보고되지 않은 경우에는 상기 수학식 1에서 RTT를 0로 하여 라이프타임을 산출한다.In Equation 1, B is a value of the buffer state variable, S is a transmission interval with a previous message, RTT is a value of the network state variable, and α is a weight to set an appropriate upper limit according to a service policy. Is arbitrarily set among values greater than 0 and less than 1. In the above, the value of the buffer state variable and the value of the network state variable are updated by being periodically reported from the client. In this case, when the buffer state variable is not reported from the client, the lifetime is determined by setting RTT to 0 in Equation 1 above. To calculate.
상기와 같이 라이프타임이 산출되면, 서버는 상기 산출된 라이프타임동안만 신뢰성을 보장하면서 멀티미디어 메시지(SCTP)를 전송한다(S404). 즉, 해당 멀티미디어 메시지는 상기 산출된 라이프타임 동안만 재전송을 보장받는다. 이는, 설정된 라이프타임 안에 현재의 멀티미디어 메시지가 클라이언트로 전달되어야하는 것을 의미하며, PR-SCTP 입장에서는 이 시간동안 발생하는 오류에 대해서는, 복구를 수행하더라도 재생에는 영향을 미치지 않는다는 것을 의미한다. 따라서 재생 상태에서는, 클라이언트의 재생에 영향을 주지 않는 범위 내에서, 네트워크의 혼잡이나 링크 오류로 인한 손실이 복구되며, 결과적으로 UDP를 활용한 응용보다 서비스 품질이 향상될 수 있다.When the life time is calculated as described above, the server transmits a multimedia message (SCTP) while ensuring reliability only during the calculated life time (S404). That is, the multimedia message is guaranteed to be retransmitted only for the calculated lifetime. This means that the current multimedia message should be delivered to the client within the set lifetime. For the PR-SCTP, the error occurring during this time does not affect the playback even if recovery is performed. Therefore, in the regeneration state, the loss due to network congestion or link error is recovered within the range that does not affect the regeneration of the client, and as a result, the quality of service may be improved compared to the application using UDP.
상기와 같이 멀티미디어 메시지의 전송이 이루어진 후에는, 현재 전송한 멀티미디어 메시지의 재생 시간을 고려하여 상기 버퍼 상태 변수 B의 값을 수정하는데, 이를 위해서, 먼저 현재 전송한 멀티미디어 메시지가 얼마나 재생될 수 있는지를 나타내는 재생 시간 D를 산출한다(S405). 상기 재생 시간 D는 해당 멀티미디어 메시지의 길이(L)를 클라이언트에서의 재생 속도(R)로 나누어 구할 수 있다. 이때 보통 멀티미디어 메시지의 길이 L의 단위는 byte이며, R의 단위는 bps이므로, 버퍼 상태 변수 B의 단위(ms)와 일치시키기 위하여, 1000과 8을 더 곱하게 된다. 이후, 상기 버퍼 상태 변수 B의 값을 상기 산출된 재생 시간 D 만큼 증가시킨다(S406).After the multimedia message is transmitted as described above, the buffer state variable B is modified in consideration of the playing time of the currently transmitted multimedia message. To this end, how much of the multimedia message currently transmitted can be played. The reproduction time D indicated is calculated (S405). The playing time D may be obtained by dividing the length L of the multimedia message by the playing speed R at the client. In this case, since the length L unit of the multimedia message is a byte and the unit R is bps, in order to match the unit (ms) of the buffer state variable B, 1000 and 8 are further multiplied. Thereafter, the value of the buffer state variable B is increased by the calculated reproduction time D (S406).
더하여, 본 발명은, 전송되지 못한 메시지에 의한 버퍼 상태 변화를 예측하기 위하여, SCTP notification 절차를 통하여 포기(abandon) 청크로 지정된 데이터가 있는 지를 확인하고(S407), 상기 확인 결과, 포기 청크가 존재하면, 상기 버퍼 상태 변수의 값에서 포기 청크의 재생 시간 DN만큼을 감소시킨다(S408). 상기 포기 청크의 재생 시간은 앞서 단계(S405)에서의 재생 시간 D와 동일한 방식으로 이루어진다. 여기서, 포기 청크가 발생한다는 것은 데이터 청크의 손실로 인하여 재전송 요구가 있었으나, 라이프타임이 만료됨에 의해 해당 데이터 청크를 재전송 하지 않는 상황을 의미하며, 이에 본 발명에서는 상기 단계(S408)를 통하여 포기된 멀티미디어 메시지의 재생시간이 버퍼 상태 변수 B에 반영되지 않도록 한다.In addition, the present invention, in order to predict a change in the buffer state due to a message that has not been transmitted, confirms whether there is data designated as an abandon chunk through the SCTP notification procedure (S407), and as a result of the confirmation, the abandon chunk exists. In operation S408, the playback time D N of the abandoned chunk is reduced from the value of the buffer state variable. The playback time of the abandoned chunk is made in the same manner as the playback time D in step S405 above. Here, the abandoned chunks mean a situation in which there is a retransmission request due to the loss of the data chunks, but the corresponding data chunks are not retransmitted due to the expiration of the life time. The playback time of the multimedia message is not reflected in the buffer status variable B.
상술한 단계들(S401~S408)은, 네트워크 혼잡 등의 이유로 버퍼가 고갈되기 전까지, 즉, 버퍼 상태 변수 B의 값이 0이 되기 전까지 반복되면, 버퍼 상태 변수 B가 0로 되면, 클라이언트 상태 변수(Client.state)를 버퍼링 상태(Buffering)로 변경하여, 버퍼링 전송 과정이 수행되도록 한다.The above-described steps S401 to S408 are repeated until the buffer is exhausted due to network congestion, that is, until the value of the buffer state variable B becomes 0, and the buffer state variable B becomes 0, the client state variable. Change (Client.state) to the buffering state (Buffering), so that the buffering transfer process is performed.
도 5는 본 발명에 의한 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법에 있어서, 버퍼링 전송 과정을 상세 흐름을 나타낸 순서도이다.5 is a flowchart illustrating a detailed flow of a buffering transmission process in the PR-SCTP-based real-time multimedia data transmission method for improving service quality according to the present invention.
상기 버퍼링 전송 과정은, UDP에서처럼 모든 멀티미디어 메시지의 빠른 전달을 목적으로 한다.The buffering transmission process aims at fast delivery of all multimedia messages as in UDP.
이에, 서버는, 먼저 상기 버퍼 상태 변수 B 및 네트워크 상태 변수 RTT를 현재 상태 값으로 갱신한다(S501). 여기서, 버퍼링 전송 과정에서는 네트워크 상태 변수가 사용되지 않으므로, 상기 네트워크 상태 변수 RTT의 갱신은 생략될 수 있다.Accordingly, the server first updates the buffer state variable B and the network state variable RTT with the current state values (S501). Here, since the network state variable is not used in the buffering transmission process, the update of the network state variable RTT may be omitted.
그리고 상기 서버는, 라이프타임을 비신뢰 전송 상수(SCTP_LIFETIME_UNRELIABLE)로 설정하고(S502), 멀티미디어 메시지(SCTP 메시지)에 대한 비신뢰 전송을 수행한다(S503).The server sets a life time to an untrusted transmission constant (SCTP_LIFETIME_UNRELIABLE) (S502), and performs untrusted transmission of a multimedia message (SCTP message) (S503).
매 멀티미디어 메시지의 전송 후에, 상기 버퍼 상태 변수가 상한값(B.Maximum) 이상인지를 확인하여(S504), 상기 버퍼 상태 변수 B가 상한값 이상이 아니면, 상기 단계(S501)부터 반복하고, 상기 버퍼 상태 변수 B가 상한값 이상 이면, 상기 클라이언트 상태 변수(Client.state)를 재생 상태(PLAYING)로 변경하여 재생 전송 과정이 수행되도록 한다(S505).After the transmission of every multimedia message, it is checked whether the buffer state variable is equal to or greater than the upper limit value B. Maximum (S504), and if the buffer state variable B is not equal to or greater than the upper limit value, the process is repeated from the step S501, and the buffer state is If the variable B is greater than or equal to the upper limit value, the client state variable (Client.state) is changed to a playing state (PLAYING) to perform a play transmission process (S505).
앞서 설명한 바와 같이 버퍼링 상태는 예기치 않은 네트워크 상황으로 인하여 클라이언트에서 재생은 이루어지나, 멀티미디어 메시지가 전송되지 못하여, 재생 버퍼가 고갈되어, 사용자가 서비스를 받지 못하고 기다리는 상태이다. 따라서 본 발명은 버퍼링 상태에서 최대한 빨리 사용자가 서비스를 받을 수 있게 모든 메시지를 실시간으로 전송한다.As described above, the buffering state is a state in which a playback is performed in a client due to an unexpected network situation, but a multimedia message cannot be transmitted, and thus the playing buffer is depleted, and the user is not waiting for service. Therefore, the present invention transmits all messages in real time so that the user can receive the service as quickly as possible in the buffering state.
다음으로, 도 6은 본 발명에 의한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법에 의하여, 전송 계층에서 이루어지는 멀티미디어 메시지의 전송 과정을 상세하게 나타낸 흐름도이다. Next, FIG. 6 is a flowchart illustrating a detailed process of transmitting a multimedia message in a transport layer by a method of transmitting real-time multimedia data based on PR-SCTP according to the present invention.
도 6을 참조하면, 전송 계층은, 응용 계층으로부터 전송할 멀티미디어 메시지를 수신하면, 상기 멀티미디어 메시지에 설정된 라이프타임(Lifetime)값을 검사하고(S601~S603), 각 라이프타임 값에 따라서 메시지 전송을 수행한다.Referring to FIG. 6, when receiving a multimedia message to be transmitted from an application layer, the transport layer examines a lifetime value set in the multimedia message (S601 to S603) and performs a message transmission according to each lifetime value. do.
즉, 라이프타임이 신뢰 전송 상수(SCTP_LIFETIME_RELIABLE)인 경우(S603), 상기 전송 계층은, SCTP 기본 규격에서 규정된 데이터 청크 처리 절차에 따라서 멀티미디어 메시지를 처리한다(S604). 더 구체적으로 설명하면, MTU 사이즈로 분할되고, TSN(Transmission Sequence Number)가 할당된 데이터 청크를 클라이언트로 전송하며, 클라이언트로 상기 데이터 청크가 정상 전송될 때까지, 상기 데이터 청크를 재전송한다.That is, when the lifetime is the reliable transmission constant (SCTP_LIFETIME_RELIABLE) (S603), the transport layer processes the multimedia message according to the data chunk processing procedure defined in the SCTP basic standard (S604). More specifically, the data chunk divided into MTU sizes and assigned a transmission sequence number (TSN) is transmitted to the client, and the data chunk is retransmitted until the data chunk is normally transmitted to the client.
그리고 라이프타임이 비신뢰 전송 상수(SCTP_LIFETIME_UNRELIABLE)인 경우(S602)에는, 우선적으로 MTU(Maximum Transfer Unit)의 크기에 따라 분할 작업을 수행하고, 각 분할된 데이터 청크에 TSN(Transmission Sequence Number)을 할당한 후, 상기 전송한 데이터 청크를 클라이언트로 전송한다(S605,S606).If the lifetime is an untrusted transmission constant (SCTP_LIFETIME_UNRELIABLE) (S602), the partitioning operation is first performed according to the size of the maximum transfer unit (MTU), and a TSN (transmission sequence number) is assigned to each divided data chunk. After that, the transmitted data chunk is transmitted to the client (S605 and S606).
그리고 데이터 청크의 전송 후, 상기 전송한 데이터 청크를 포기 청크(abandoned Chunk)로 지정한다(S607).After the data chunk is transmitted, the transmitted data chunk is designated as an abandoned chunk (S607).
그리고 상기 포기 청크는 PR-SCTP의 포기 청크 처리 규칙에 따라서 처리된다(S608).The abandonment chunk is processed according to the abandonment chunk processing rule of the PR-SCTP (S608).
마지막으로, 라이프타임이 신뢰 전송 상수도 아니고 비신뢰 전송 상수도 아닌 경우, 즉, 일반 상수 값인 경우에, 서버는, 밀리초(ms) 단위의 라이프타임으로 인식하여, 해당 멀티미디어 메시지를 PR-SCTP의 확장 규격에 따라서 부분적 신뢰 전송을 수행한다(S609). 상기 단계(S609)에서는 데이터 청크 전송 전에 라이프타임의 만료 여부를 검사하는 데, 여기서 라이프타임이 만료되면, 해당 데이터 청크를 포기 청크(Abandoned Chunk)로 지정하고, PR-SCTP 확장 규격의 포기 청크 처리 절차에 따라서 처리한다(S608).Finally, if the lifetime is neither a reliable transmission constant nor an unreliable transmission constant, i.e. a general constant value, the server recognizes the lifetime as a millisecond (ms), and extends the multimedia message as a PR-SCTP extension. Partial reliable transmission is performed according to the standard (S609). In the step S609, it is checked whether the lifetime expires before data chunk transmission. If the lifetime expires, the data chunk is designated as an abandoned chunk, and abandoned chunk processing of the PR-SCTP extension standard is performed. Process according to the procedure (S608).
즉, 상기 단계(S608)에서는, 클라이언트로부터 포기 청크에 대한 재전송 요구가 들어오면, 클라이언트로 FORWARD_TSN 청크를 전송하여, 해당 데이터 청크의 재전송 요구를 철회시킨다.That is, in step S608, when a retransmission request for abandoned chunk is received from the client, the FORWARD_TSN chunk is transmitted to the client, and the retransmission request of the data chunk is withdrawn.
상술한 바에 의하여, 본 발명은 전송 계층에서, 신뢰 전송 및 부분적 전송에 더하여, 한번은 전송하되, 신뢰성은 보장하지 않는 비신뢰 전송을 수행하게 된다.As described above, in the present invention, in addition to reliable transmission and partial transmission, the present invention performs untrusted transmission that transmits once but does not guarantee reliability.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be apparent to those skilled in the art.
도 1은 실시간 멀티미디어 서비스 수행에 있어서, 클라이언트 상태 천이도이다.1 is a diagram illustrating a client state transition in performing a real-time multimedia service.
도 2는 본 발명에 의한 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법의 전체적인 흐름을 나타낸 순서도이다.2 is a flow chart showing the overall flow of the PR-SCTP-based real-time multimedia data transmission method for improving the service quality according to the present invention.
도 3은 본 발명에 의한 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법에 있어서, 초기 버퍼링 전송 과정의 상세 흐름을 나타낸 순서도이다.3 is a flowchart illustrating a detailed flow of an initial buffering transmission process in the PR-SCTP-based real-time multimedia data transmission method for improving service quality according to the present invention.
도 4는 본 발명에 의한 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법에 있어서, 재생 전송 과정의 상세 흐름을 나타낸 순서도이다.4 is a flowchart illustrating a detailed flow of a reproduction transmission process in the PR-SCTP-based real-time multimedia data transmission method for improving service quality according to the present invention.
도 5는 본 발명에 의한 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법에 있어서, 버퍼링 전송 과정의 상세 흐름을 나타낸 순서도이다.5 is a flowchart illustrating a detailed flow of a buffering transmission process in the PR-SCTP-based real-time multimedia data transmission method for improving the service quality according to the present invention.
도 6은 본 발명에 의한 서비스 품질 향상을 위한 PR-SCTP 기반 실시간 멀티미디어 데이터 전송 방법에 있어서, 전송 계층에서의 멀티미디어 메시지의 전송 과정을 상세히 나타낸 흐름도이다.6 is a flowchart illustrating a process of transmitting a multimedia message in a transport layer in a method of transmitting real-time multimedia data based on PR-SCTP for improving service quality according to the present invention.
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080135342A KR101040780B1 (en) | 2008-12-29 | 2008-12-29 | ??????? based Real-time Multimedia Data Transmission for QoS enhancement |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080135342A KR101040780B1 (en) | 2008-12-29 | 2008-12-29 | ??????? based Real-time Multimedia Data Transmission for QoS enhancement |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100077418A true KR20100077418A (en) | 2010-07-08 |
KR101040780B1 KR101040780B1 (en) | 2011-06-13 |
Family
ID=42638775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080135342A KR101040780B1 (en) | 2008-12-29 | 2008-12-29 | ??????? based Real-time Multimedia Data Transmission for QoS enhancement |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101040780B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101243502B1 (en) * | 2011-10-31 | 2013-03-20 | 삼성에스디에스 주식회사 | Data receiving method and apparatus |
KR20140099778A (en) * | 2013-02-04 | 2014-08-13 | 삼성전자주식회사 | Method and system for operating wireless communication channel in portable terminal |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100537499B1 (en) * | 2002-07-26 | 2005-12-19 | 삼성전자주식회사 | Method of generating transmission control parameter and selective retranmission method according to the packet characteristics. |
US8713195B2 (en) | 2006-02-10 | 2014-04-29 | Cisco Technology, Inc. | Method and system for streaming digital video content to a client in a digital video network |
KR100876283B1 (en) * | 2007-11-16 | 2008-12-26 | 한국전자통신연구원 | Method and equipment for multi media application management using multi streaming of sctp and timed reliability of pr-sctp |
-
2008
- 2008-12-29 KR KR1020080135342A patent/KR101040780B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101243502B1 (en) * | 2011-10-31 | 2013-03-20 | 삼성에스디에스 주식회사 | Data receiving method and apparatus |
KR20140099778A (en) * | 2013-02-04 | 2014-08-13 | 삼성전자주식회사 | Method and system for operating wireless communication channel in portable terminal |
Also Published As
Publication number | Publication date |
---|---|
KR101040780B1 (en) | 2011-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7821939B2 (en) | Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture | |
US8943206B2 (en) | Network bandwidth detection and distribution | |
US8996945B2 (en) | Bulk data transfer | |
US8085781B2 (en) | Bulk data transfer | |
EP2090038B1 (en) | Method, device and software application for scheduling the transmission of data system packets | |
US20100005178A1 (en) | Method and system for firewall friendly real-time communication | |
EP1535419A1 (en) | Method and devices for controlling retransmissions in data streaming | |
KR101040780B1 (en) | ??????? based Real-time Multimedia Data Transmission for QoS enhancement | |
AU2014200413B2 (en) | Bulk data transfer | |
EP1716672A1 (en) | Method, apparatus and computer program product for controlling data packet transmissions | |
KR20110078564A (en) | Update method of round trip time in communication protocol providing multi-homing function and communication apparatus providing multi-homing function | |
Landström et al. | TCP-Aix: making TCP robust to reordering and delay variations | |
KR100986555B1 (en) | Initial buffering time decision method and system for progressive multimedia streaming service | |
Xiong et al. | Rate adaptive real-time video transmission scheme over TCP using multi-buffer scheduling | |
Govindaswamy et al. | Complementing Current Active Queue Management Schemes with Receiver-Window Modification (RWM) | |
Peuhkuri | TCP and QoS |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140521 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150526 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160526 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180529 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190529 Year of fee payment: 9 |