KR20180047124A - 패킷 전송 방법 및 그 장치 - Google Patents

패킷 전송 방법 및 그 장치 Download PDF

Info

Publication number
KR20180047124A
KR20180047124A KR1020160142865A KR20160142865A KR20180047124A KR 20180047124 A KR20180047124 A KR 20180047124A KR 1020160142865 A KR1020160142865 A KR 1020160142865A KR 20160142865 A KR20160142865 A KR 20160142865A KR 20180047124 A KR20180047124 A KR 20180047124A
Authority
KR
South Korea
Prior art keywords
quality
service
packet
user
network
Prior art date
Application number
KR1020160142865A
Other languages
English (en)
Inventor
이규상
성기운
백일우
이재석
강준호
신성훈
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020160142865A priority Critical patent/KR20180047124A/ko
Priority to US15/798,791 priority patent/US20180123965A1/en
Priority to CN201711049187.4A priority patent/CN108011841A/zh
Publication of KR20180047124A publication Critical patent/KR20180047124A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5067Customer-centric QoS measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명의 일 실시 예에 따른 멀티미디어 서비스 제공 방법은, 멀티미디어 서비스 제공 장치가, 실시간으로 멀티미디어 서비스를 제공하는 방법에 있어서, 상기 멀티미디어 서비스 제공 장치가, 멀티미디어의 패킷을 네트워크에 전송하기 위한 버퍼(buffer)를 모니터링 하는 단계와 상기 멀티미디어 서비스 제공 장치가, 상기 버퍼의 점유율이 임계치(threshold) 이상인지 판단하는 단계와 상기 멀티미디어 서비스 제공 장치가, 상기 버퍼의 점유율이 임계치 이상인 경우에, 상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계 및 상기 멀티미디어 서비스 제공 장치가, 상기 패킷이 사용자 체감 품질에 미치는 영향이 낮은 경우에, 상기 패킷을 네트워크 전송 전에 누락(drop)하는 단계를 포함할 수 있다.

Description

멀티미디어 서비스 품질 향상을 위한 혼잡 제어 방법 및 그 장치 {Method and apparatus for controlling congestion to improve quality of multi-media service}
본 발명은 멀티미디어 서비스의 품질을 향상시키기 위한 혼잡 제어 방법 및 그 장치에 관한 발명이다. 보다 자세하게는 멀티미디어를 실시간으로 서비스 하는 경우에 서비스의 품질을 향상시키기 위해서, 네트워크를 통해 전송되는 멀티미디어의 패킷을 일부러 누락하거나 사본을 생성하는 방식으로 트래픽을 조절하는 방법 및 그 방법을 수행하는 장치에 관한 것이다.
네트워크를 통해 서비스 되는 멀티미디어(multi-media)는 일반적으로 데이터의 크기가 크다. 그에 반해 멀티미디어가 음성(audio)이나 영상(video)을 포함하고 있는 경우에는 실시간으로 재생이 되어야 한다. 그래서 실시간 멀티미디어 데이터 전송을 이용한 서비스는 네트워크의 특성 변화(bandwidth, round trip time, one way delay, packet loss, jitter, etc.)에 매우 민감하게 반응한다.
예를 들어, 네트워크 구간 내에 혼잡이 증가하여 가용 대역폭이 줄어드는 경우에, 멀티미디어 데이터 전송자(sender)가 줄어든 가용 대역폭에 맞추어 송신 속도를 낮추지 않는다면, 네트워크 혼잡은 더 가중될 수 있다. 그러면 수신자(receiver)는 실시간으로 데이터를 전달 받을 수 없는 경우가 발생한다. 이는 사용자의 체감 품질(QoE; Quality of Experience) 저하를 일으킬 수 있고, 사용자의 불만으로 이어지게 된다.
또한, 수신자가 더 높은 수준의 서비스(e.g. 높은 화질이나 해상도)를 요구하는 경우 원하는 서비스의 수준이 현재 네트워크 대역폭보다 큰 경우에도 네트워크 혼잡이 발생할 수 있다. 마찬가지로 이는 사용자의 체감 품질 저하를 일으킬 수 있고, 사용자의 불만으로 이어지게 된다.
특히, 보안을 이유로 대부분의 기업에서 사용하는 TCP 네트워크 (Transmission Control Protocol)의 경우 UDP 네트워크(User Datagram Protocol)와 같은 비-신뢰성 네트워크보다 혼잡에 대한 서비스 품질 저하가 더 심각하며 대처하기 어렵다는 특징이 있다.
이에 TCP 네트워크 환경에서 실시간 멀티미디어 서비스를 제공하면서 혼잡을 제어하여, 가용 대역폭이 줄어드는 경우에도 사용자의 체감 품질 저하를 최소화할 수 있는 방법이 필요하다. 또한 사용자가 가용 대역폭을 초과하는 더 높은 수준의 서비스를 요구하는 경우에도 사용자의 체감 품질 저하를 최소화할 수 있는 방법이 필요하다.
KR 10-2012-0067350 A "미디어 전송 네트워크 내의 혼잡 제어 방법 및 시스템, 미디어 전송 개인화 디바이스 및 혼잡 모니터링 디바이스" (2012.06.25) KR 10-2015-0013995 A "콘텐츠 중심 네트워크의 혼잡 제어 방법 및 장치" (2015.02.06)
본 발명이 해결하고자 하는 기술적 과제는 멀티미디어 서비스의 품질을 향상시키기 위해서 네트워크 혼잡을 제어하는 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시 예에 따른 멀티미디어 서비스 제공 방법은, 멀티미디어 서비스 제공 장치가, 실시간으로 멀티미디어 서비스를 제공하는 방법에 있어서, 상기 멀티미디어 서비스 제공 장치가, 멀티미디어의 패킷을 네트워크에 전송하기 위한 버퍼(buffer)를 모니터링 하는 단계와 상기 멀티미디어 서비스 제공 장치가, 상기 버퍼의 점유율이 임계치(threshold) 이상인지 판단하는 단계와 상기 멀티미디어 서비스 제공 장치가, 상기 버퍼의 점유율이 임계치 이상인 경우에, 상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계 및 상기 멀티미디어 서비스 제공 장치가, 상기 패킷이 사용자 체감 품질에 미치는 영향이 낮은 경우에, 상기 패킷을 네트워크 전송 전에 누락(drop)하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 버퍼의 점유율이 임계치(threshold) 이상인지 판단하는 단계는, 상기 버퍼에 저장된 패킷들의 수, 상기 저장된 패킷들의 예상 전송 시간 중에서 하나 이상을 고려하여 상기 버퍼의 점유율을 연산하는 단계를 포함할 수 있다.
다른 실시 예에서, 상기 버퍼의 점유율이 임계치 이상인 경우에, 상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계는, 상기 버퍼의 점유율이 임계치 미만이더라도 상기 네트워크에서 혼잡이 감지되는 경우에, 상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계는, 영상(video)과 관련된 패킷과 음성(audio)과 관련된 패킷 중에서, 상기 영상과 관련된 패킷이 사용자 체감 품질에 미치는 영향이 낮은 것으로 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계는, 음성(audio)과 관련된 패킷과 제어(control)와 관련된 패킷 중에서, 상기 음성과 관련된 패킷이 사용자 체감 품질에 미치는 영향이 낮은 것으로 판단하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 멀티미디어 서비스 제공 장치가, 상기 멀티미디어의 품질이 제1 품질인 경우, 상기 임계치를 제1 임계치로 설정하는 단계 및 상기 멀티미디어 서비스 제공 장치가, 상기 멀티미디어의 품질이 상기 제1 품질보다 낮은 제2 품질인 경우, 상기 임계치를 상기 제1 임계치보다 높은 제2 임계치로 설정하는 단계를 더 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시 예에 따른 멀티미디어 서비스 제공 방법은, 멀티미디어 서비스 제공 장치가, 실시간으로 멀티미디어 서비스를 제공하는 방법에 있어서, 상기 멀티미디어 서비스 제공 장치가, 제1 품질로 서비스를 제공하고 있는 사용자의 단말로부터, 상기 제1 품질보다 높은 제2 품질의 서비스 요청을 수신하는 단계와 상기 멀티미디어 서비스 제공 장치가, 상기 사용자의 단말에 상기 제1 품질로 서비스를 제공하면서, 동시에 상기 제1 품질로 서비스를 제공하기 위한 패킷의 일부를 중복으로 전송하는 단계와 상기 멀티미디어 서비스 제공 장치가, 상기 제1 품질로 서비스를 제공하기 위한 패킷의 전송량과 상기 중복으로 전송하는 패킷의 전송량의 합이 상기 제2 품질로 서비스를 제공하기 위한 패킷의 전송량이 될 때까지 상기 중복으로 전송하는 패킷의 전송량을 증가시키는 단계 및 상기 멀티미디어 서비스 제공 장치가, 상기 중복으로 전송하는 패킷의 전송량을 증가시키는 도중에 네트워크 혼잡이 감지되는 경우에, 상기 사용자의 단말에 상기 제2 품질로 서비스를 제공할 수 없음을 안내하고, 상기 제1 품질로 서비스를 제공하는 단계를 포함할 수 있다.
또 다른 실시 예에서, 상기 멀티미디어 서비스 제공 장치가, 상기 중복으로 전송하는 패킷의 전송량을 증가시키는 도중에 네트워크 혼잡이 감지되지 않는 경우에, 상기 사용자의 단말에 상기 제2 품질로 서비스를 제공할 수 있음을 안내하고, 상기 제2 품질로 서비스를 제공하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따른 효과는 다음과 같다.
본 발명에서 제안하는 혼잡 제어 방법을 이용하면, 네트워크 혼잡도에 따라 패킷 누락을 통한 전송량 감소와 패킷 사본 생성을 통한 전송량 세부 조절을 통해 네트워크의 혼잡을 제어할 수 있다. 이를 통해 멀티미디어 데이터 전송 버퍼 단에서의 송신 속도를 컨트롤할 수 있다. 이를 통해, 네트워크 혼잡을 최소화하고 사용자 서비스 품질을 높일 수 있다.
또한 데이터 전송 버퍼 단에서 동작하므로 기존의 미디어 엔진이나 코덱(codec)으로 인한 전송량 조절 방법보다 빠르고 세밀한 송신 속도 제어가 가능하다. 즉, 네트워크에 혼잡이 발생하는 경우 기존의 방법에 비해 빠르게 혼잡을 최소화할 수 있다는 장점이 있다.
또한, 미디어를 생성하는 엔진과는 독립적으로 동작하기 때문에 기존의 멀티미디어 시스템에 간단히 적용할 수 있다. 따라서, 비디오 스트리밍 서비스 또는 실시간 멀티미디어 전송 분야에서의 화상 회의, Video On Demand (VOD) 서비스 등에 활용될 수 있다.
그 외에도, 실시간 감시 및 보안으로 사용되는 CCTV, Video Management System (VMS), Smart Home 영상, 영상 분석(VA)기능 등에 응용이 가능하다. 일 예로, 당사의 TCP 기반 KNOX Meeting 솔루션에서 발생하는 송신 조절 문제를 해결하여 네트워크 혼잡을 최소화하고 원활한 회의 해상도 조절을 위해 적용되고 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 종래의 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 장치의 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 네트워크 혼잡 제어 방법에서 데이터 전송량을 감소시키는 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시 예에 따른 네트워크 혼잡 제어 방법에서 데이터 전송량을 증가시키는 방법을 설명하기 위한 도면이다.
도 5 내지 도 6은 사용자의 요청을 처리하는 종래의 방법과 본 발명의 일 실시 예에 따른 방법을 비교 설명하기 위한 도면이다.
도 7는 본 발명의 일 실시 예에 따른 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 장치의 다른 구성을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시 예에 따른 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 방법의 성능을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시 예에 따른 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명에 대하여 첨부된 도면에 따라 더욱 상세히 설명한다.
도 1은 종래의 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 방법을 설명하기 위한 도면이다.
통상적인 멀티미디어 서비스는 비-신뢰성 네트워크 기술, 즉 네트워크 혼잡이 발생하는 경우 패킷을 누락하는 UDP 방식을 선호한다. 하지만 기업 향 서비스의 경우 보안, 방화벽 등의 이유로 UDP를 사용할 수 없는 경우가 대다수이며 많은 경우에 UDP 대신 TCP 사용이 강제된다.
TCP는 패킷 전송을 실패하는 경우 재전송을 시도라는 신뢰성 있는 전송 메커니즘을 제공하므로 일정 시간 내에 패킷들이 전송되어야 하는 실시간 멀티미디어 서비스에는 적합하지 않다. 즉, 이러한 TCP 특성은 실시간 멀티미디어 서비스에서 혼잡이 발생한 경우 수십 초 가량의 전달 지연을 발생시킬 수 있으며 사용자 품질을 크게 떨어트릴 수 있으므로 TCP 기반 실시간 미디어 전송을 위해서는 네트워크 혼잡을 제어하기 위한 방법이 필요하다.
도 1을 참고하면 종래의 네트워크 혼잡을 제어하기 위한 방법 중에서 미디어 엔진(media engine)을 이용하는 방법을 볼 수 있다. 종래에는 미디어 엔진에서 실시간으로 제공하는 영상의 해상도나 FPS(frame per second)를 조절하는 방법을 통해서 네트워크의 혼잡을 제어하였다.
예를 들어 사용자가 현재 서비스 중인 멀티미디어의 해상도나 화질을 높이는 요청을 했다고 가정해 보자. 물론 이러한 사용자의 요청(user request)은 네트워크를 통해서 제어 명령으로 전송된다. 다만, 도 1에서는 이해의 편의를 돕기 위해 사용자의 제어 명령이 서버의 미디어 엔진으로 바로 전달된 것처럼 도시하였다.
그러면, 미디어 엔진은 사용자의 요청에 따라 영상의 화질을 올리거나 해상도를 올려서 데이터 패킷을 생성한다. 미디어 엔진에서 생성한 데이터 패킷은 전송자(sender)로 전달된다. 전송자는 버퍼(buffer)를 가지고 있어서, 데이터 패킷을 네트워크로 순차적으로 전송한다. 네트워크의 반대편에 연결된 클라이언트의 수신자(receiver)는 데이터 패킷을 수신하여 영상과 음성을 실시간으로 사용자에게 제공한다.
이 때, 네트워크 혼잡이 발생하는 경우 서버에는 이를 감지하는 혼잡 감지 모듈(congestion detection module)이 존재한다. 혼잡이 감지되면 이는 다시 미디어 엔진으로 피드백(feedback) 된다. 그러면 미디어 엔진은 사용자가 요청한 품질의 서비스를 제공할 수 없음을 안내하고 해상도나 화질을 요청 전의 해상도나 화질로 낮추어서 멀티미디어의 데이터 패킷을 생성하고 전송자로 전달한다.
다만 이 과정에서 혼잡 감지 모듈이 네트워크의 혼잡을 감지하고 미디어 엔진으로 피드백을 하기까지의 시간 동안 사용자는 실시간 멀티미디어 서비스를 온전히 받을 수 없게 된다. 네트워크를 통해서 화상 회의를 하거나 영상 스트리밍 서비스를 이용하는 경우 자주 발생할 수 있는 프리징(freezing)이나 버퍼링(buffering)을 겪게 된다.
또한, 혼잡 감지 모듈이 네트워크의 혼잡을 감지하고, 이를 미디어 엔진으로 피드백을 해서, 서버가 사용자에게 요청을 처리할 수 없다는 안내를 하고, 미디어 엔진이 다시 멀티미디어 서비스의 품질을 낮춘 데이터 패킷을 생성했다고 하더라도, 네트워크 혼잡이 바로 해소되지는 않는다.
왜냐하면 미디어 엔진이 네트워크 혼잡을 해소하기 위해 품질을 낮춘 데이터의 패킷을 생성하기 전에, 이미 미디어 엔진이 생성하여 송신자의 버퍼에 대기 중인 패킷들이 네트워크를 통해 전송되기 전까지는 네트워크의 혼잡은 지속될 수 있다.
도 1에서는 현재 서비스 중인 멀티미디어의 품질에서는 네트워크 혼잡이 발생하지 않으나, 사용자가 더 높은 품질의 서비스를 요구하여 이를 반영하는 과정에서 네트워크 혼잡이 발생하는 경우를 살펴보았다. 이 때에는 사용자의 요청을 처리할 수 없음을 안내하고 원래의 품질로 서비스를 제공하면 네트워크 혼잡을 해소할 수 있다.
예를 들면 사용자가 360p의 해상도로 영상 스트리밍 서비스를 이용하는 경우에는 네트워크 혼잡이 발생하지 않았으나, 사용자가 720p의 해상도를 서비스로 요청하는 경우에 네트워크 혼잡이 발생해서 다시 360p의 해상도로 서비스를 제공하는 과정을 살펴보았다. 이 때에는 네트워크 혼잡은 사용자의 요청으로 인해 발생한 것이며, 다시 원래 서비스 중인 360p의 품질로 멀티미디어 서비스를 제공하면 네트워크 혼잡은 해소될 수 있다.
하지만, 도 1에서 예시한 경우 외에도 네트워크 혼잡이 발생할 수 있다. 즉 사용자가 요청한 품질의 서비스를 제공하기 위한 과정에서 네트워크 혼잡이 발생하는 경우 외에도, 멀티미디어 데이터를 전송하는 네트워크 자체의 사정으로 인해 혼잡이 발생할 수도 있다.
예를 들면, 사용자가 360p의 해상도로 서비스를 정상적으로 이용하다가 네트워크의 사정으로 인해 네트워크 혼잡이 발생할 수 있다. 이러한 경우에는, 미디어 엔진을 이용한 네트워크 혼잡 해소 방법은 사용자가 현재 이용 중인 품질보다 더 낮은 품질로 서비스를 제공하여 혼잡을 해결하려 한다.
만약 사용자가 360p의 해상도로 서비스를 이용하다가 네트워크 혼잡이 발생한 경우에는 그보다 더 낮은 해상도인 240p로 서비스를 제공하면서 네트워크 혼잡을 해소하려 할 수 있다. 문제는 해상도를 240p로 낮춘다고 반드시 네트워크의 혼잡이 해소되지는 않는다는 점이다. 이러한 경우에 미디어 엔진은 해상도를 240p보다 더 낮은 144p로 해상도를 낮추어서 네트워크 혼잡을 해소할 수 있다.
이처럼 서비스를 정상적으로 제공하다가 네트워크의 사정으로 인해 네트워크 혼잡이 발생하는 경우에는 현재 서비스 중인 품질보다 더 낮은 품질로 서비스를 변경해서 네트워크 혼잡을 해소한다. 하지만, 일반적인 경우 시스템에서 제공할 수 있는 해상도와 FPS의 수는 한정적이다. 또한, 서비스 제공을 시작하고 나면 이를 추가하거나 수정하기 어렵다.
그렇기 때문에 미디어 엔진에서 멀티미디어의 품질을 조절하는 것을 통해 데이터 패킷의 양을 조절하는 방법만으로는 패킷 단위의 세밀한 전송량 제어가 어렵다. 또한 혼잡이 발생한 경우 이미 생성된 패킷들에 대한 제어는 불가능하며, 신속하게 네트워크의 혼잡을 제어하기도 어렵다.
도 1에 예시한 미디어 엔진의 해상도 및 FPS 조절을 이용한 혼잡 제어 방법 외에도, 종래의 네트워크 혼잡을 제어하기 위한 몇 가지 방법이 더 있다. 예를 들면 합 증가/곱 감소(AIMD; Additive Increase/Multiplicative Decrease)라고 불리는 TCP 기반의 혼잡 제어 방법이 있다. 또는 멀티미디어에 특화된 비디오 코덱(video codec)을 이용한 혼잡 제어 방법이 있다.
합 증가/곱 감소 방법은 기존 유무선 네트워크에서 활발히 사용하고 있던 방법이다. 우선 혼잡이 발생할 때까지 데이터의 생성량을 천천히 증가시키며(합 증가), 혼잡이 검출되는 경우에는 전송량을 절반 이하로 줄여 혼잡을 회피한다(곱 감소).
이러한 합 증가/곱 감소 방법은 일반 데이터 전송에는 적합할 수 있으나 실시간 전송이 보장되어야 하는 실시간 멀티미디어 전송에 사용하기에 비효율적이다. 특히 TCP의 경우에, 리눅스(Linux) 및 윈도우(Window)의 기본 혼잡 제어 메커니즘들은 사용자가 다룰 수 없는 커널(Kernel) 계층에 구현되어 있어 일반적인 솔루션에서 커널을 수정하여 사용하기에는 어렵다.
또한 비디오 코덱을 이용한 혼잡 데어 방법은 전송 용량 제어를 위해 기본 레이어(base layer)와 향상 레이어(enhancement layer) 개념을 사용한다. 필수적으로 생성해야 하는 기본 레이어와 필요에 따라 향상 레이어를 생성하여 멀티미디어 생성 용량을 조절한다. 대표적인 예로 H.264 SVC와 같은 스케일러블 비디오 코덱(SVC; Scalable Video Codec)이 있다.
하지만, 레이어 단위로 데이터 용량을 제어하는 방법은 레이어 단위로 용량을 제어하기 때문에 패킷 단위의 세밀한 용량 제어가 어렵다는 단점이 있다. 또한, 멀티미디어 제공 서비스가 해당 코덱에 의존성(dependency)이 생기기 때문에 미디어 엔진이 해당 코덱을 지원해야 하며 그렇지 않은 경우에는 미디어 엔진의 교체가 필요하다는 단점이 있다.
또한, 특정 코덱의 경우 라이센스로 인해 비용이 발생할 수 있다. 또한, 코덱 레벨의 컨트롤도 미디어 엔진을 이용하기 때문에 네트워크 혼잡이 발생하는 경우, 네트워크 혼잡이 발생하기 이전에 이미 생성되어 전송 버퍼에 쌓여 있는 패킷에 의한 혼잡은 제어할 수 없다는 단점이 있다.
지금까지 도 1을 통해서 종래의 TCP 기반의 일반적인 혼잡 제어 방법과 멀티미디어 전송 서비스에서 미디어 엔진을 통해 코덱이나 해상도 및 FPS를 조절하여 혼잡을 제어하는 방법을 살펴보았다.
정리하면 종래의 이러한 방법들은 패킷 단위의 세세한 혼잡 제어는 어렵다는 단점이 있다. 또한, 혼잡이 발생하고 이를 감지하고 미디어 엔진에서 이를 반영하기까지의 시간 동안에는 혼잡이 지속될 수 있다는 단점이 있다. 또한, 미디어 엔진에서 이를 반영하더라도 이미 버퍼에 쌓인 데이터에 의한 혼잡은 불가피하다는 단점이 있다.
이를 해결하기 위해서는 네트워크 전송량을 패킷 단위로 제어할 수 있으면서, 동시에 네트워크 혼잡이 감지되면 실시간으로 네트워크 전송량을 제어할 수 있는 네트워크 혼잡 제어 방법이 필요하다.
도 2는 본 발명의 일 실시 예에 따른 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 장치의 구성을 설명하기 위한 도면이다.
도 2를 참고하면 도 1의 경우와는 달리 전송자(sender)와 네트워크 사이에 전송률을 제어하는 모듈(rate control module)이 추가된 것을 볼 수 있다. 해당 모듈을 통해 멀티미디어의 데이터 패킷을 패킷 단위로 유지(hold)하거나 감소시키거나(decrease) 증가시킬(increase) 수 있다.
도 2에서도 볼 수 있듯이, 본 발명에서 제안하는 네트워크 혼잡 제어 방법은 멀티미디어 데이터 생성 시점에 데이터의 양을 제어하는 종래의 방법과 다르게, 멀티미디어 데이터의 전송 직전 버퍼 단에서 추가적인 송신 전송량을 제어하여 네트워크 혼잡을 해소한다.
이를 통해 패킷 단위의 세세한 조절이 가능하다. 또한 이미 생성되어 버퍼에 저장된 데이터라 하더라도 전송 직전에 필터링이 될 수 있다. 또한, 특정 코덱에 대한 의존성이 없으며 종래의 시스템을 교체할 필요없이 종래의 시스템에 전송률 제어 모듈을 추가하는 것만으로도 종래의 시스템과 병용이 가능하다.
본 발명에서 제안하는 네트워크 혼잡 제어 방법은 네트워크 혼잡이 발생할 수 있는 두 가지 경우에 대해서 다음과 같은 방식으로 혼잡을 제어한다. 우선 첫 번째로 네트워크의 사정으로 인해 혼잡이 발생하는 경우에는 의도적으로 패킷을 누락하여 네트워크의 혼잡을 제어한다. 이에 대해서는 추후 도 3에서 보다 자세히 설명하도록 한다.
다음 두 번째로 사용자가 가용 대역폭을 초과하는 높은 품질의 서비스를 요구하여 혼잡이 발생하는 경우에는 사용자의 요구를 멀티미디어 데이터의 사본 패킷을 이용하여 네트워크 대역폭이 해당 품질의 서비스를 감당할 수 있는지 판단하여 서비스를 제공함으로써, 네트워크 혼잡을 최소화한다. 이에 대해서는 추후 도 4 내지 도 6에서 보다 자세히 설명하도록 한다.
도 2를 참고하면 본 발명에서 제안하는 네트워크 혼잡 제어 장치는 미디어 데이터를 생성하는 미디어 엔진(media engine), 네트워크 혼잡을 감지하는 혼잡 감지 모듈(congestion detection module), 데이터의 전송을 담장하는 전송자(sender), 그리고 전송 버퍼 단에서 패킷 단위로 전송 속도를 제어하는 전송률 제어 모듈(rate control module)을 포함한다.
미디어 엔진은 영상 및 오디오를 포함한 멀티미디어 데이터를 생성하며 사용자 요청 혹은 네트워크 혼잡도에 따라 데이터의 생성량을 결정한다. 생성된 멀티미디어 데이터는 전송자(sender)에 전달된다. 그리고 일반적으로 전송자는 혼잡 회피 및 전송량 제어를 위해 버퍼를 포함한다. 마지막으로 전송률 제어 모듈은 전송 버퍼 이후에 조건에 따른 추가적인 전송량 가감 결정을 수행하여 네트워크로 전달되는 데이터의 양을 패킷 단위로 제어한다.
특히 본 발명에서 제안하는 네트워크 혼잡 제어 방법은 화상 회의와 같은 솔루션에서 보다 유용하게 사용할 수 있다. 화상 회의를 위한 종래의 솔루션으로 Cisco의 WebEx가 있다. 한 시장 조사 기관의 2013년 조사에 따르면 WebEx는 전 세계 시장 점유율 52%로 1위의 업체이며, 포춘 500대 기업의 90%가 사용하는 화상 회의 솔루션이다.
하지만, WebEx 솔루션도 앞서 설명한 것처럼 해상도 및 FPS 조합을 통한 전송량 조절로 네트워크의 혼잡을 제어한다. WebEx 솔루션은 네트워크 혼잡을 회피하기 위해 낮은 해상도로 시작하며 사용자에게 최대한 높은 해상도의 화질을 제공하기 위해 조금씩 해상도와 FPS를 높이는 방식을 사용한다.
사용자가 사용할 수 있는 대역폭보다 높은 대역폭을 사용하게 되는 시점이 되면 해상도와 FPS를 떨어트려 네트워크 혼잡을 회피한다. 이러한 방식은 최대로 높은 해상도를 제공하기 위해 오랜 시간이 걸리며 앞서 언급한 것처럼 미디어 엔진이 멀티미디어 데이터의 전송량을 결정하기 때문에 이미 발생된 패킷들에 대한 사후 처리가 어렵다. 또한, 해상도를 높이는 과정에서 대역폭 차이에 의해 화면 멈춤이나 끊김이 발생할 수 있다.
이에 비해 본 발명에서 제안하는 방법은 데이터 전송 단에서 네트워크 혼잡을 제어하는 데 차이를 갖는다. 전송량을 결정하는 위치가 송신자에 근접하여 있기 때문에 빠르고 유연한 전송량 제어가 가능하다. 또한, 패킷 단위의 제어를 수행하므로 보다 세밀한 제어가 가능하다.
또한, 종래의 방법들이 네트워크 조건만을 보고 네트워크 혼잡도를 감지하고 전송량을 제어를 하는 반면에 본 발명에서 제안하는 방법은 네트워크 혼잡도, 내부 조건(패킷 버퍼 차지 비율), 외부 조건 (user request), 데이터 중요도를 고려하여 전송량을 결정한다.
도 3은 본 발명의 일 실시 예에 따른 네트워크 혼잡 제어 방법에서 데이터 전송량을 감소시키는 방법을 설명하기 위한 도면이다.
도 3을 참고하면, 네트워크 사정으로 네트워크 혼잡이 발생한 경우 본 발명에서 제안하는 네트워크 혼잡 제어 방법은 임의로 패킷을 누락시켜 데이터 전송량을 감소시킨다. 다만, 무작정 누락시키는 것은 아니며 3가지 기준을 이용하여 누락시킬 데이터를 선별한다.
그 중에서 첫 번째 조건은 버퍼의 점유율을 보고 전송 여부를 결정하는 것이다(S1100). 버퍼의 점유율은 전송을 대기 중인 패킷의 양, 버퍼에 대기 중인 패킷의 예상 전송 시간을 고려해서 산출할 수 있다. 즉 아직 네트워크 혼잡이 감지되지 않았더라도 버퍼에 대기 중인 패킷의 양이 임계치(threshold) 이상인 경우에는 패킷을 버릴 수 있다. 버퍼에 전송을 대기 중인 버퍼가 점점 차고 있다는 말은 가용 대역폭의 여유가 얼마 남지 않아서 곧 네트워크 혼잡이 발생할 수도 있음을 의미한다.
그러므로 버퍼에 전송을 대기 중인 패킷이 기 설정된 임계치 이상인 경우에는 패킷을 일부러 누락시켜서 가용 대역폭을 확보하고 네트워크 혼잡을 사전에 예방할 필요가 있다. 물론 버퍼에 전송을 대기 중인 패킷이 기 설정된 임계치 이상이라고 하더라도 모든 패킷을 버리는 것이 아니라 선별적으로 버린다(S1300).
만약 버퍼의 점유율이 기 설정된 임계치 이상이 아닌 경우에는 두 번째 조건으로 네트워크 상태를 확인한다(S1200). 만약 네트워크에서 혼잡이 감지된 경우라면 패킷을 버릴 수 있다. 그러나 네트워크에서 혼잡이 감지되지 않은 경우라면, 즉 가용 대역폭에 여유가 있는 경우라면 해당 패킷을 네트워크에 전송할 수 있다(S1500).
버퍼의 점유율이 임계치 이상인 경우나(S1100), 네트워크에서 혼잡이 감지된 경우(S1200)에는 네트워크 혼잡을 해소하기 위해서 패킷을 일부러 누락시킬 필요가 있다. 이 경우에 세 번째 조건으로 사용자 체감 품질(QoE; Quality of Experience)를 고려한다(S1300).
멀티미디어의 데이터 패킷이라도 패킷의 크기와 중요도에 따라 사용자 체감 품질에 미치는 영향이 다를 수 있다. 예를 들어 화상 회의와 관련된 데이터 패킷이라고 가정하면, 영상보다 음성이나 제어 명령과 관련된 패킷이 사용자 체감 품질에 더 큰 영향을 미친다. 즉 버퍼의 점유율이 임계치 이상인 경우나(S1100), 네트워크에서 혼잡이 감지된 경우(S1200)에 비디오 패킷을 우선적으로 누락시킬 수 있다(S1400).
비디오 패킷은 음성 패킷이나 제어 명령 패킷에 비해 상대적으로 크기가 크기 때문에 이를 제거하는 경우 혼잡 제거에 효율적이다. 그에 비해 음성 패킷이나 제어 명령 패킷은 크기도 작을 뿐더러 이를 누락시킬 경우 사용자 체감 품질에 큰 영향을 미칠 수 있다.
그러므로 음성이나 제어 명령 패킷은 상대적으로 후순위로 누락 여부를 고려해야 한다. 일반적으로 영상 > 음성 > 제어 명령 순으로 QoE에 영향을 미친다. 그러므로 누락할 패킷을 선별할 때 우선적으로 영상을, 그 다음으로 음성을, 마지막으로 제어 명령을 선별하여 누락시킨다(S1400).
정리하면 본 발명에서 제안하는 혼잡 제어 방법 중에서 데이터의 전송량을 감소시키는 방법은 전송자의 내부 버퍼에 패킷이 임계치 이상으로 적체되어 있거나, 네트워크 혼잡 제어 조건을 감지하는 경우 혼잡을 해소하기 위해 패킷 누락을 시도할 수 있다.
여기서 버퍼 점유율은 버퍼 내 미디어 패킷 점유 비율, 버퍼 내부 패킷의 전송 예상 시간 등을 기준으로 판단할 수 있다. 또한, 네트워크 혼잡 여부는 혼잡 감지 모듈에서 신호 입력, 네트워크 파라미터(parameter)의 변화 감지 등을 통해 판단할 수 있다.
그리고 패킷 누락은 모든 패킷에 대해 수행되는 것이 아니라, 사용자 체감 품질에 둔감한 패킷, 즉 사용자 체감 품질에 영향을 덜 미치는 패킷에 한아여 적용된다. 일반적으로 영상 패킷을 우선하여, 그 다음으로 음성 패킷을, 마지막으로 제어 명령 패킷을 누락시킬 수 있다. 이와 같은 패킷 누락은 네트워크 혼잡 조건이 해소되거나, 버퍼 내에 전송을 대기 중인 패킷이 임계치 이하가 될 때까지 지속될 수 있다.
여기서 기 설정된 임계치는 제공하고 있는 멀티미디어의 품질에 따라서 다르게 설정할 수 있다. 예를 들면 제공하고 있는 멀티미디어의 품질이 낮은 경우에는 실시간으로 전송해야 할 데이터의 양이 작다. 이때에는 임계치를 다소 높게 설정하더라도 버퍼가 다 차기까지 충분한 시간적인 여유가 있다.
반대로 제공하고 있는 멀티미디어의 품질이 높은 경우에는 실시간으로 전송해야할 데이터의 양이 많다. 이때에는 임계치를 다소 낮게 설정하더라도 버퍼가 금방 다 찰 수 있다. 그러므로 임계치는 멀티미디어의 품질을 고려하여 적절한 값으로 설정할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 네트워크 혼잡 제어 방법에서 데이터 전송량을 증가시키는 방법을 설명하기 위한 도면이다.
도 4를 참고하면 서비스 품질을 향상시키는 방법을 볼 수 있다. 즉 사용자가 현재 서비스 중인 품질보다 더 높은 품질을 요구하는 경우, 해당 품질로 서비스를 제공하는 과정에서 발생할 수 있는 네트워크 혼잡을 최소화하는 과정을 볼 수 있다.
멀티미디어 서비스를 제공하는 대부분의 솔루션에서 사용자가 보다 나은 품질을 요구하는 경우, 먼저 사용자가 요구한 현재의 품질보다 더 높은 품질의 데이터들을 사용자에게 전송해 본다. 그리고 네트워크 혼잡이 발생하는 경우, 사용자에게 요구한 높은 품질을 서비스할 수 없음을 안내하고, 기존의 품질로 다시 서비스를 제공한다.
이 때 사용자는 다시 원래의 품질로 서비스를 받는 과정에서 네트워크 혼잡의 발생으로 인한 영상 끊김이나 멈춤을 겪게 된다. 이는 곧 바로 사용자의 체감 품질 저하로 이어질 수 있다. 이를 해결하기 위해서는 사용자가 요구한 품질로 바로 서비스를 제공할 것이 아니라, 해당 품질이 네트워크의 혼잡을 야기하기 않고서도 가능한지 확인하는 과정이 필요하다.
이를 위해서 본 발명에서 제안하는 방법에서는, 높은 품질의 데이터를 전송하기 전 패킷 사본들을 생성하여 가용할 수 있는 대역폭을 확인한다. 사본 패킷들은 수신 단에서 중복 수신 체크로 쉽게 누락될 수 있다. 또한 증가 전송을 하는 과정에서 네트워크 혼잡이 발생하더라도 사용자는 품질 변화를 거의 겪지 않을 수 있다.
이처럼 본 발명에서 제안하는 데이터 전송량 증가 방법은 미디어 엔진에서 제공할 수 있는 화질의 종류가 적거나, 미디어 엔진에서 제공할 수 있는 FPS 수가 적은 경우에 더욱 효과가 증대될 수 있다. 즉, 미디어 엔진에서 제공하는 각 화질의 단계마다 대역폭 차이가 큰 수록(e.g. 360p -> 720p) 효과가 증대된다.
도 4를 참고하면, 우선 사용자가 요청한 품질의 대역폭(requested BW)이 현재 전송 중인 전송량 a보다 큰지 확인한다(S2100). 사용자는 현재 제공하고 있는 품질보다 더 높은 품질의 서비스를 요구한 경우이므로, 처음에 S2100 단계에서는 N으로 판단이 되고 S2200 단계로 이동한다.
다음으로 네트워크에 혼잡이 감지되는지 확인한다(S2200). 네트워크 혼잡이 감지되지 않는 경우라면, 가용 대역폭에 여유가 있는 상황이므로 데이터 전송량 a을 증가시킨다(S2250). 다만, 사용자에게는 현재 서비스 중인 품질과 동일한 품질을 제공하면서 일부 패킷만 중복해서 전송하는 방식으로 전송량을 증가시킨다(S2150).
사용자가 요청한 품질의 대역폭에 이르기까지(S2100), 네트워크 혼잡이 발생하지 않는 한도에서(S2200), 패킷을 일부 중복해서 전송하는 방법을 통해(S2150), 전송량을 점차 늘려간다(S2250).
그러다가 사용자가 요구한 품질의 대역폭까지 다다른 경우, 즉 S2100 단계에서 판단 결과가 Y가 된 경우에는, 네트워크의 혼잡 없이 사용자가 요청한 품질로 서비스가 가능한 경우이므로 사용자에게 영상 품질을 업그레이드 했음을 안내하고(S2510), 사용자가 요청한 품질로 서비스를 시작한다.
종래의 방법이 사용자가 더 높은 품질을 요청하면 일단 해당 품질로 서비스를 시작하고 네트워크 혼잡이 발생하는 경우 다시 원래의 품질로 돌아오는 방법인데 비해, 본 발명에서는 패킷의 양을 조금씩 늘려서 복사하고 이를 전송하면서 사용자가 요청한 품질로 서비스가 가능한지 확인하고, 사용자가 요청한 품질로 서비스가 가능한 경우에 한해 사용자가 요청한 품질로 업그레이드를 한다.
만약 점차 전송량을 늘려 가던 중에(S2100 > S2200 > S2250 > S2150) 네트워크 혼잡이 발생한 경우에는 S2200 단계에서 판단 결과가 Y가 되고 S2300 단계로 이동한다. 즉 점차 늘려가던 전송량을 리셋한다(S2300). 그러면 복사하던 일부 패킷을 제거하고(S400), 사용자가 요청한 품질로 서비스 할 수 없음을 안내하고(S2500), 원래 서비스 중이던 품질로 서비스를 제공할 수 있다.
도 4에서 전송량을 늘려 가는 과정은(S2100 > S2200 > S2250 > S2150), 기존에 제공하던 품질로 서비스를 제공하면서 일부 패킷만 복사해서 중복 전송하는 방법을 통해서 수행된다. 그러므로 실제로 품질이 업그레이드 되기 전까지(S2510), 사용자는 기존과 동일한 품질로 서비스를 이용하게 된다. 중복해서 전송하는 데이터는 클라이언트의 수신자에서 자동으로 중복으로 처리해서 서비스를 제공할 때 제외하기 때문이다.
본 발명에서 제안하는 방법을 이용하면, 사용자가 요청한 품질로 서비스를 할 수 없다고 하더라도 사용자의 입장에서는 계속해서 이용하던 품질로 서비스를 이용하고 있으므로, 네트워크 혼잡으로 인한 화면 멈춤이나 끊김을 거의 볼 수 없다는 장점이 있다.
예를 들면 현재 사용자가 360p의 해상도로 멀티미디어 서비스를 이용하고 있다고 가정해 보자. 그러면 현재의 전송량 a에는 360p의 해상도로 멀티미디어 서비스를 제공하기 위한 대역폭의 값이 저장된다. 다음으로 사용자가 720p의 해상도로 서비스를 요청한 경우 720p를 서비스하기 위해서 필요한 대역폭과 비교한다(S2100).
이 경우 사용자가 요청한 720p를 서비스하기 위해서 필요한 대역폭이 현재 전송 중인 360p의 대역폭보다 더 크므로, 대역폭을 비교하는 S2100 단계에서 판단 결과는 N이 되고, S2200 단계로 이동하여 네트워크 혼잡이 감지되는지 확인한다(S2200).
네트워크 혼잡이 감지되지는 않으므로 사용자에게는 360p로 서비스를 제공하면서, 일부 패킷을 중복하는 과정(S2150)을 통해, 지속적으로 전송량 a를 증가시켜 간다(S2250). 이렇게 점차 전송량 a를 증가시켜 가다가 사용자가 요청한 720p 품질로 서비스를 제공하기에 충분한 정도까지 증가되면, 사용자에게 영상의 품질이 업그레이드 되었음을 안내하고(S2510), 720p로 품질을 변경하여 서비스를 제공한다.
그러나 이렇게 점차 전송량 a를 증가시켜 가는 중에 네트워크 혼잡이 발생한 경우에는, 사용자가 요청한 품질로 서비스를 제공할 수 없는 경우이므로, 증가시키던 전송량 a를 리셋을 해서 원래의 360p의 품질로 서비스하기 위한 전송량으로 재설정하고(S2300), 버퍼에 전송을 대기 중인 패킷 중에서 중복으로 복사한 패킷을 삭제하여 네트워크 혼잡을 즉시 해결하고(S2400), 사용자에게 요청한 품질로 서비스를 제공할 수 없음을 안내한다(S2500).
정리하면, 사용자의 영상 해상도 증가 요청이 있을 때 현재 보내고 있는 송신 양 대비 많은 대역폭이 필요하다면 해당 대역폭을 바로 시도하지 않고 사본 패킷들 전송을 통해 송신 양을 증가시켜가면서 해당 대역폭까지 혼잡이 존재하는지 탐색한다.
즉, 원본 품질에 영향을 주지 않는 추가 데이터들로 서비스가 가능한 대역폭을 추측한다. 수신자는 중복 패킷을 수신하더라도 패킷 헤더를 확인하고 및 미디어 데이터를 확인하는 방법 등으로 쉽게 중복 데이터를 제외하고 서비스를 제공할 수 있으므로 기존 시스템에도 영향을 미치지 않는다.
전송량을 늘리는 동안 네트워크 파라미터 변화 및 전송 버퍼 크기 변화로 네트워크 혼잡을 감지하는 경우에는, 해당 요청이 불가능하다는 것을 알리고 원래의 상태로 회귀한다. 이 때, 네트워크 혼잡을 빠르게 해소하기 위해 전송 버퍼에 존재하는 복사된 패킷들은 제거한다.
사용자는 혼잡이 발생하였더라도 해상도 변화에 따른 서비스 품질 저하를 거의 겪지 않고 기존 화질을 유지할 수 있다. 반면에 요청 대역폭 이상으로 문제없이 사용 대역폭을 늘렸다면, 혼잡 감지 모듈을 통해 미디어 엔진에게 해상도를 올릴 것을 요청한다. 가상으로 증가된 데이터가 높은 해상도를 갖는 영상 데이터로 교체된다.
도 5 내지 도 6은 사용자의 요청을 처리하는 종래의 방법과 본 발명의 일 실시 예에 따른 방법을 비교 설명하기 위한 도면이다.
도 5를 참고하면 사용자의 요청을 처리하는 종래의 방법을 볼 수 있다. 우선 t1의 시간까지는 q1의 품질로 서비스를 제공한다. 그러다가 사용자가 t1의 시간에 q2의 품질을 요청하면 종래의 방법은 바로 q2의 품질로 서비스를 제공한다. q2의 품질은 네트워크 혼잡이 발생하는 대역폭 UL(upper limit)보다는 작으므로 정상적인 서비스가 가능하다.
그러므로 t1부터 t2의 시간까지는 q2의 품질로 서비스를 제공한다. 그러다가 사용자가 다시 t2의 시간에 q3의 품질을 요청한다고 가정해 보자. 이 경우 종래의 방법은 바로 q3의 품질로 서비스를 제공한다. 하지만, q3의 품질로 서비스를 제공하기 위해서는 품질은 네트워크 혼잡이 발생하는 대역폭 UL(upper limit)보다 더 많은 대역폭을 필요로 한다.
그러므로, q3의 품질로 서비스를 제공하는 t2 시점부터 네트워크 혼잡이 발생하게 된다. 그러면 종래의 WebEx와 같은 방법은 네트워크 혼잡을 해소하기 위해 사용자의 q3 품질의 서비스 요청은 처리할 수 없음을 안내하고 다시 q2로 품질을 내려서 서비스를 제공한다.
다만, q3의 품질로 서비스를 제공하기 시작한 t2의 시점부터 네트워크 혼잡으로 인해 다시 q2로 품질을 내려서 서비스를 제공하는 t3의 시점까지는 사용자 체감 품질의 저하가 발생할 수 있다. 즉 네트워크 혼잡으로 인해 화면이 멈추거나 버퍼링이 발생할 수 있다.
특히 네트워크 혼잡이 감지되더라도 이를 해소하기 위해서는 미디어 엔진에서 다시 낮은 품질로 데이터를 생성해야 하고, 그 사이에 이미 생성되서 버퍼에 쌓인 데이터들이 전송되기까지 상당한 시간이 필요하기 때문에 사용자의 체감 품질 저하는 오랜 시간 지속될 수 있다. 이로 인해 사용자의 불만이 쌓일 수 있다.
이에 비해 도 6을 참고하면 본 발명에서는 조금은 다른 방식으로 사용자의 요청을 처리하는 과정을 볼 수 있다. 본 발명에서는 사용자가 높은 품질로 서비스를 요청하더라도 바로 서비스를 제공하는 것이 아니라 해당 대역폭으로 서비스가 가능한지 탐색하는 과정이 선행된다.
도 6을 참고하면 동일하게 t1의 시간까지는 q1의 품질로 서비스를 제공한다. 그러다가 t1의 시간에 사용자가 q2의 품질로 서비스를 요청하면 q2의 품질로 서비스를 제공할 수 있을 때가지 q1의 품질로 서비스를 제공하면서 데이터의 양만 서서히 늘려 나간다.
그러다가 q2의 품질로 서비스를 제공하기에 대역폭이 충분하면 그 때부터 q2의 품질로 서비스를 제공한다. 이렇게 t2의 시점까지 q2의 품질로 서비스를 제공하다가 t2의 시점에 사용자가 q3의 품질로 서비스를 요청한다. 그러면 역시 마찬가지로 바로 q3의 품질로 서비스를 제공하는 것이 아니라, 일단 사용자에게는 q2의 품질로 서비스를 계속하면서 복사 패킷을 늘리는 방식으로 점차 전송량을 증가시킨다.
그러다가 네트워크 혼잡이 발생하는 대역폭 UL(upper limit)에 이르게 되면 더 이상 전송량을 늘릴 수 없음을 확인하고, 사용자에게 요청한 품질로는 서비스를 제공할 수 없음을 안내한다. 그러고는 원래 서비스 중이던 q2 품질로 서비스를 계속 제공한다.
도 6을 참고하면 t2에서 t3의 시점 사이는 아직 혼잡이 발생하기 전이며, t3 시점에는 일시적으로 혼잡이 발생하더라도 버퍼에 저장된 중복된 데이터를 삭제하고 기존에 제공하던 q2의 품질로 서비스를 계속 제공하므로 사용자가 체감하는 네트워크 혼잡은 거의 없다. 그러므로 사용자 체감 품질 저하는 거의 발생하지 않는다.
즉 도 5에서 설명한 종래의 방법에서는 t2부터 t3의 시점까지가 네트워크 혼잡이 발생하는 시점이나, 도 6에서 설명한 본 발명에서 제안하는 방법에서는 t3 시점만이 네트워크 혼잡이 발생하는 시점이다. 이처럼 본 발명에서 제안하는 방법을 이용하면 네트워크 혼잡을 최소화할 수 있고 이는 사용자의 체감 품질 향상으로 이어질 수 있다.
도 7는 본 발명의 일 실시 예에 따른 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 장치의 다른 구성을 설명하기 위한 도면이다.
도 2에서는 전송률 제어 모듈(rate control module)이 전송자(sender)와 네트워크 사이에 있었으나, 전송률 제어 모듈은 미디어 엔진(media engine)과 전송자(sender) 사이에 위치해도 무방하다. 물론 이렇게 전송률 제어 모듈의 위치를 변경하는 경우 도 2에 비해서는 다소 불리한 면이 있다.
종래의 네트워크 혼잡 제어 방법이 가지는 단점을 다시 한번 살펴보면, 종래에는 혼잡 감지 모듈에서 네트워크 혼잡을 감지하더라도 이를 해소하기 위해서는 미디어 엔진에서 생성하는 데이터의 양을 줄여야 하므로, 1) 네트워크 혼잡이 감지된 후 미디어 엔진에서 데이터의 양을 줄이는 시점까지 생성되는 데이터는 네트워크를 통해 그대로 전송된다는 단점과, 2) 미디어 엔진에서 데이터의 양을 줄이더라도 이미 버퍼에 쌓인 데이터는 네트워크를 통해 그대로 전송된다는 단점이 있었다.
이를 해결하기 위해 도 2에서는 버퍼와 네트워크 사이에 전송률 제어 모듈을 위치시켜서, 혼잡이 감지되는 즉시 사용자 체감 품질(QoE)에 영향을 미치지 않는 범위에서 패킷을 누락시켜서 네트워크 혼잡을 해소하는 방법을 제안하였다. 이렇게 버퍼와 네트워크 사이에 전송률 제어 모듈을 위치시키면 종래의 단점 1과 2를 모두 해결할 수 있다.
다만, 도 7에서 제안하는 것처럼 미디어 엔진과 버퍼 사이에 전송률 제어 모듈을 위치시키면 종래의 단점 중에서 네트워크 혼잡이 감지된 시점부터 미디어 엔진이 데이터의 양을 줄이는 시점 사이의 데이터는 제어가 가능하다. 다만, 이미 버퍼에 쌓인 데이터는 그대로 네트워크로 전송되어 네트워크 혼잡을 가중시킬 수 있다는 단점이 있다.
그러나, 일반적으로 종래의 두 가지 단점 중에서 네트워크 혼잡이 감지된 후 미디어 엔진에서 데이터의 양을 줄이는 시점까지 생성되는 데이터는 네트워크를 통해 그대로 전송되는 단점이, 미디어 엔진에서 데이터의 양을 줄이더라도 이미 버퍼에 쌓인 데이터는 네트워크를 통해 그대로 전송된다는 단점보다는 더 크므로 도 7과 같이 전송률 제어 모듈의 위치를 변경하여도 어느 정도의 효과는 거둘 수 있다.
도 8은 본 발명의 일 실시 예에 따른 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 방법의 성능을 설명하기 위한 도면이다.
도 8을 참고하면 네트워크 혼잡이 발생한 경우, 일반적인 멀티미디어 서비스 제공 방법(normal)과 본 발명에서 제어하는 혼잡 제어 방법(proposed)의 전송 버퍼 내의 패킷에 의한 지연 시간을 확인할 수 있다. 도 8의 그래프에서 지연 시간이 클수록 네트워크 혼잡이 오래 지속되었음을 의미한다.
종래의 방법(normal)의 경우, 네트워크 혼잡이 발생하면 미디어 엔진에서 발생하는 데이터의 양을 줄이지만, 해상도나 FPS 또는 레이어 단위로 데이터가 감소되기 때문에 네트워크 혼잡에 대한 정교한 제어가 어렵다. 또한, 이미 생성된 패킷은 그대로 네트워크로 전송되므로 이에 의한 전송 버퍼 내부 지연이 발생하게 된다.
도 8를 참고하면, 종래의 방법은 네트워크 혼잡이 발생하면(대역폭 800kbps 제한), 발생한 혼잡이 완전히 제거되기까지 약 15초 이상의 시간이 걸리며, 400ms 이상의 지연으로 인해 사용자는 화면 멈춤 현상을 겪는다. 이로 인해 사용자 체감 품질이 저하된다.
본 발명에서 제안하는 방법의 경우 종래의 미디어 엔진을 이용한 방법과 병용이 가능하다. 즉 미디어 엔진에서 생성하는 데이터의 양을 줄이는 한편, 네트워크를 통해 전송되는 데이터의 일부를 선별해서 누락함으로써, 네트워크 혼잡을 보다 빠르게 해결할 수 있다.
도 8을 참고하면, 본 발명에서 제안하는 방법은 종래의 방법에 비해 완전한 혼잡 제거가 빠르게 수행(약 10초)되며, 혼잡 구간 내에서도 150ms 이하의 일정한 버퍼 지연 시간을 보인다. 일반적으로 200ms이하의 지연은 사용자 품질에 크게 영향을 끼치지 않는다. 즉 본 발명에서 제안하는 방법은 일부 영상 패킷 누락으로 인한 간헐적이며 짧은 끊김 현상이 있을 수 있으나 대조군에 비해 화면 멈춤 현상이 적고 빠른 네트워크 혼잡 제거로 인한 서비스 품질 향상이 가능하다.
도 9는 본 발명의 일 실시 예에 따른 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 장치의 하드웨어 구성도이다.
도 9을 참고하면 본 발명에서 제안하는 실시간 멀티미디어 서비스에서 네트워크 혼잡을 제어하는 장치(10)는 하나 이상의 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)을 포함할 수 있다. 프로세서(510), 메모리(520), 스토리지(560) 및 인터페이스(570)는 시스템 버스(550)를 통하여 데이터를 송수신한다.
프로세서(510)는 메모리(520)에 로드(load)된 컴퓨터 프로그램을 실행하고, 메모리(520)는 상기 컴퓨터 프로그램을 스토리지(560)에서 로드(load) 한다. 상기 컴퓨터 프로그램은, 네트워크 혼잡 감지 오퍼레이션(미도시), 전송률 감소 오퍼레이션(521) 및 전송률 증가 오퍼레이션(527)을 포함할 수 있다.
네트워크 혼잡 감지 오퍼레이션(미도시)은 네트워크 혼잡을 감지하기 위해서 주기적으로 또는 비주기적으로 네트워크 상태를 모니터링하고 이를 스토리지(560)의 네트워크 상태(563)로 저장한다.
네트워크 혼잡 감지 오퍼레이션(미도시)은 스토리지(560)에 저장된 네트워크 상태(563)를 기준으로 네트워크 혼잡을 감지하고, 네트워크 혼잡 감지 오퍼레이션에서 감지한 결과하는 미디어 엔진에서 생성한 데이터를 사용자의 단말로 전송할 때 전송하는 데이터의 양을 증가시키거나 감소시킬 때 사용할 수 있다.
전송률 감소 오퍼레이션(521)은 네트워크를 통해 스토리지(560)에 저장된 미디어 파일(561)를 사용자에게 제공할 때, 네트워크 사정에 따라 발생한 네트워크 혼잡을 제어할 때 작동된다.
전송률 감소 오퍼레이션(521)은 네트워크 혼잡이 발생한 경우 또는 버퍼에 저장된 데이터의 양이나 버퍼가 데이터가 적체되는 속도를 고려하여, 전송해야 할 데이터 중에서 사용자 체감 품질에 둔감한 패킷부터 우선하여 누락시킬 수 있다.
전송률 증가 오퍼레이션(523)은 사용자가 현재 이용하고 있는 품질보다 더 높은 품질의 서비스를 요청하는 경우 해당 품질로 서비스가 가능한지 탐색할 때 작동된다.
전송률 증가 오퍼레이션(523)은 스토리지(560)에 저장된 미디어 파일(561)을 현재 서비스 중인 품질로 계속해서 서비스를 제공하면서, 일부 패킷을 복사해서 중복으로 전송한다. 그러다가 사용자가 요청한 품질을 서비스하기에 대역폭이 충분한 경우에는 품질을 바꿔서 서비스를 제공한다.
그러나 만약 사용자가 요청한 품질을 서비스하기에는 대역폭이 충분치 않은 경우에는 중복으로 복사된 패킷을 삭제하고 계속 제공하던 기존의 품질로 서비스를 제공한다. 그러면 일시적으로 네트워크 혼잡이 발생하더라도 사용자가 이를 인지하기는 거의 어렵다.
도 9의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)와 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing) 할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (8)

  1. 멀티미디어 서비스 제공 장치가, 실시간으로 멀티미디어 서비스를 제공하는 방법에 있어서,
    상기 멀티미디어 서비스 제공 장치가, 멀티미디어의 패킷을 네트워크에 전송하기 위한 버퍼(buffer)를 모니터링 하는 단계;
    상기 멀티미디어 서비스 제공 장치가, 상기 버퍼의 점유율이 임계치(threshold) 이상인지 판단하는 단계;
    상기 멀티미디어 서비스 제공 장치가, 상기 버퍼의 점유율이 임계치 이상인 경우에, 상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계; 및
    상기 멀티미디어 서비스 제공 장치가, 상기 패킷이 사용자 체감 품질에 미치는 영향이 낮은 경우에, 상기 패킷을 네트워크 전송 전에 누락(drop)하는 단계를 포함하는,
    멀티미디어 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 버퍼의 점유율이 임계치(threshold) 이상인지 판단하는 단계는,
    상기 버퍼에 저장된 패킷들의 수, 상기 저장된 패킷들의 예상 전송 시간 중에서 하나 이상을 고려하여 상기 버퍼의 점유율을 연산하는 단계를 포함하는,
    멀티미디어 서비스 제공 방법.
  3. 제1항에 있어서,
    상기 버퍼의 점유율이 임계치 이상인 경우에, 상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계는,
    상기 버퍼의 점유율이 임계치 미만이더라도 상기 네트워크에서 혼잡이 감지되는 경우에, 상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계를 포함하는,
    멀티미디어 서비스 제공 방법.
  4. 제1항에 있어서,
    상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계는,
    영상(video)과 관련된 패킷과 음성(audio)과 관련된 패킷 중에서, 상기 영상과 관련된 패킷이 사용자 체감 품질에 미치는 영향이 낮은 것으로 판단하는 단계를 포함하는,
    멀티미디어 서비스 제공 방법.
  5. 제1항에 있어서,
    상기 패킷이 사용자 체감 품질(QoE)에 미치는 영향을 판단하는 단계는,
    음성(audio)과 관련된 패킷과 제어(control)와 관련된 패킷 중에서, 상기 음성과 관련된 패킷이 사용자 체감 품질에 미치는 영향이 낮은 것으로 판단하는 단계를 포함하는,
    멀티미디어 서비스 제공 방법.
  6. 제1항에 있어서,
    상기 멀티미디어 서비스 제공 장치가, 상기 멀티미디어의 품질이 제1 품질인 경우, 상기 임계치를 제1 임계치로 설정하는 단계; 및
    상기 멀티미디어 서비스 제공 장치가, 상기 멀티미디어의 품질이 상기 제1 품질보다 낮은 제2 품질인 경우, 상기 임계치를 상기 제1 임계치보다 높은 제2 임계치로 설정하는 단계를 더 포함하는,
    멀티미디어 서비스 제공 방법.
  7. 멀티미디어 서비스 제공 장치가, 실시간으로 멀티미디어 서비스를 제공하는 방법에 있어서,
    상기 멀티미디어 서비스 제공 장치가, 제1 품질로 서비스를 제공하고 있는 사용자의 단말로부터, 상기 제1 품질보다 높은 제2 품질의 서비스 요청을 수신하는 단계;
    상기 멀티미디어 서비스 제공 장치가, 상기 사용자의 단말에 상기 제1 품질로 서비스를 제공하면서, 동시에 상기 제1 품질로 서비스를 제공하기 위한 패킷의 일부를 중복으로 전송하는 단계;
    상기 멀티미디어 서비스 제공 장치가, 상기 제1 품질로 서비스를 제공하기 위한 패킷의 전송량과 상기 중복으로 전송하는 패킷의 전송량의 합이 상기 제2 품질로 서비스를 제공하기 위한 패킷의 전송량이 될 때까지 상기 중복으로 전송하는 패킷의 전송량을 증가시키는 단계; 및
    상기 멀티미디어 서비스 제공 장치가, 상기 중복으로 전송하는 패킷의 전송량을 증가시키는 도중에 네트워크 혼잡이 감지되는 경우에, 상기 사용자의 단말에 상기 제2 품질로 서비스를 제공할 수 없음을 안내하고, 상기 제1 품질로 서비스를 제공하는 단계를 포함하는,
    멀티미디어 서비스 제공 방법.
  8. 제7항에 있어서,
    상기 멀티미디어 서비스 제공 장치가, 상기 중복으로 전송하는 패킷의 전송량을 증가시키는 도중에 네트워크 혼잡이 감지되지 않는 경우에, 상기 사용자의 단말에 상기 제2 품질로 서비스를 제공할 수 있음을 안내하고, 상기 제2 품질로 서비스를 제공하는 단계를 더 포함하는,
    멀티미디어 서비스 제공 방법.
KR1020160142865A 2016-10-31 2016-10-31 패킷 전송 방법 및 그 장치 KR20180047124A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160142865A KR20180047124A (ko) 2016-10-31 2016-10-31 패킷 전송 방법 및 그 장치
US15/798,791 US20180123965A1 (en) 2016-10-31 2017-10-31 Method for packet transmission apparatus to transmit packet in real time, packet transmission apparatus, and computer program
CN201711049187.4A CN108011841A (zh) 2016-10-31 2017-10-31 数据包传送方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160142865A KR20180047124A (ko) 2016-10-31 2016-10-31 패킷 전송 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20180047124A true KR20180047124A (ko) 2018-05-10

Family

ID=62021875

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160142865A KR20180047124A (ko) 2016-10-31 2016-10-31 패킷 전송 방법 및 그 장치

Country Status (3)

Country Link
US (1) US20180123965A1 (ko)
KR (1) KR20180047124A (ko)
CN (1) CN108011841A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071237A (ko) * 2018-12-11 2020-06-19 울산과학기술원 패킷 처리 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110391991B (zh) * 2018-04-18 2022-04-29 华为技术有限公司 一种流量控制的方法及相关装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665724B2 (en) * 2009-06-12 2014-03-04 Cygnus Broadband, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
US20130272121A1 (en) * 2012-04-17 2013-10-17 Cygnus Broadband, Inc. Systems and methods for application-aware admission control in a communication network
US20130290492A1 (en) * 2009-06-12 2013-10-31 Cygnus Broadband, Inc. State management for video streaming quality of experience degradation control and recovery using a video quality metric
US9380091B2 (en) * 2012-06-12 2016-06-28 Wi-Lan Labs, Inc. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
EP2684390A4 (en) * 2011-03-10 2015-02-25 Optis Cellular Technology Llc HYBRID OVERLOAD CONTROL
US8873565B2 (en) * 2012-04-16 2014-10-28 Futurewei Technologies, Inc. Method and apparatus of delivering upstream data in ethernet passive optical network over coaxial network
US20130326551A1 (en) * 2012-05-30 2013-12-05 Debdeep CHATTERJEE Wireless multimedia quality of experience reporting
US10419967B2 (en) * 2015-10-29 2019-09-17 Altiostar Networks, Inc. Video pacing based on radio conditions
US10440491B2 (en) * 2015-11-17 2019-10-08 Caavo Inc Multi-channel audio over a wireless network
US10516620B2 (en) * 2016-05-18 2019-12-24 Marvell Israel (M.I.S.L) Ltd. Congestion avoidance in a network device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200071237A (ko) * 2018-12-11 2020-06-19 울산과학기술원 패킷 처리 방법 및 장치

Also Published As

Publication number Publication date
CN108011841A (zh) 2018-05-08
US20180123965A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
US10069885B2 (en) Bandwidth management for over-the-top adaptive streaming
US8125901B2 (en) Video streaming
US10057316B2 (en) Managing adaptive streaming of data via a communication connection
US9609332B2 (en) Adjusting encoding parameters at a mobile device based on a change in available network bandwidth
US8621061B2 (en) Adaptive bitrate management for streaming media over packet networks
US9503491B2 (en) Playback stall avoidance in adaptive media streaming
US8769141B2 (en) Adaptive bitrate management for streaming media over packet networks
US9571407B2 (en) Strategically scheduling TCP stream transmissions
US20150304197A1 (en) System and method for network aware adaptive streaming for nomadic endpoints
US20150271231A1 (en) Transport accelerator implementing enhanced signaling
US10306284B2 (en) ABR adjustment for live OTT
US9888053B2 (en) Systems and methods for conditional download using idle network capacity
US20210076086A1 (en) Digital data streaming using server driven adaptive bitrate
Su et al. Smooth control of adaptive media playout for video streaming
KR20180047124A (ko) 패킷 전송 방법 및 그 장치
EP3041184A1 (en) Controlling transmission of data over a lossy transmission path to a client
KR102415156B1 (ko) Qos 관리 방법 및 이를 수행하기 위한 수신 장치
WO2019120532A1 (en) Method and apparatus for adaptive bit rate control in a communication network
JP2013141138A (ja) 配信装置、配信方法、およびプログラム
Tafleen Fault Tolerance Strategies for Low-Latency Live Video Streaming
CN116436865A (zh) 多路径传输的重注入控制方法、电子设备及存储介质
Ray Improved IPTV channel change times through multicast caching of pre-selected channels
WO2018002687A1 (en) Estimating a buffer level in a playout device