KR101428980B1 - 컨텐츠 제공 방법 및 서버 - Google Patents

컨텐츠 제공 방법 및 서버 Download PDF

Info

Publication number
KR101428980B1
KR101428980B1 KR1020090071462A KR20090071462A KR101428980B1 KR 101428980 B1 KR101428980 B1 KR 101428980B1 KR 1020090071462 A KR1020090071462 A KR 1020090071462A KR 20090071462 A KR20090071462 A KR 20090071462A KR 101428980 B1 KR101428980 B1 KR 101428980B1
Authority
KR
South Korea
Prior art keywords
transmission
total
bit rate
traffic amount
content providing
Prior art date
Application number
KR1020090071462A
Other languages
English (en)
Other versions
KR20110013823A (ko
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 KR1020090071462A priority Critical patent/KR101428980B1/ko
Publication of KR20110013823A publication Critical patent/KR20110013823A/ko
Application granted granted Critical
Publication of KR101428980B1 publication Critical patent/KR101428980B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0958Management thereof based on metrics or performance parameters
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/09Management thereof
    • H04W28/0925Management thereof using policies
    • H04W28/0942Management thereof using policies based on measured or predicted load of entities- or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/22Negotiating communication rate

Landscapes

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

Abstract

본 발명은 컨텐츠 제공 방법 및 서버에 관한 것으로, 한정된 네트워크 자원을 효율적으로 제어하여 서비스의 품질을 유지하기 위한 것이다. 본 발명은 복수 개의 전송 방식, 예컨대 다운로드(Download), 스트리밍(Streaming), 프로그래시브 다운로드(Progressive Download) 방식으로 컨텐츠를 서비스하는 컨텐츠 제공 서버가 네트워크 변화에 따라 복수 개의 전송 방식에 설정된 전송 속도 또는 전송 비트율을 차등적, 순차적 등 다양한 설정된 조건에 따라 변경하도록 함으로써, 일정한 서비스 품질을 유지하면서도 최적의 전송 속도로 컨텐츠를 서비스할 수 있는 컨텐츠 제공 방법 및 서버를 제공한다.
컨텐츠, 비디오, 전송, 서버, 세션, 비트율

Description

컨텐츠 제공 방법 및 서버{Method and server for providing contents}
본 발명은 컨텐츠 제공 기술에 관한 것으로, 더욱 상세하게는 하나의 서버가 다양한 방식으로 컨텐츠 예를 들면, 동영상 데이터를 전송하는 경우, 네트워크 상태에 따라 다양한 전송 방식의 전송 비트율을 각 전송 방식별로 변경할 수 있도록 하는 컨텐츠 제공 방법 및 서버에 관한 것이다.
과거 사용자들은 동영상 시청을 위하여 VHS나 DVD와 같이 동영상 저장 매체를 구매 또는 대여한 후, 동영상 저장 매체를 재생할 수 있는 재생 장치를 이용하여 동영상 시청을 하였다. 또한, 사용자들은 TV를 통하여 다양한 드라마나 뉴스 등의 동영상 시청을 하였다.
그러나 최근 들어 네트워크 기술과 개인용 컴퓨터 기술의 눈부신 발전으로 인하여 사용자들은 TV나 저장 매체 재생 장치를 이용하여 동영상을 시청하지 않고, 네트워크를 통하여 동영상 데이터를 수신한 후 이를 PC 스크린 등을 통하여 시청하고 있다.
네트워크를 이용한 동영상 서비스 중 VOD(Video on Demand) 서비스는 서비스 제공 서버와 사용자 단말기 간에 전용선(dedicated line)으로 접속된 환경을 가정 하였는데, 이 경우 사용자 수의 증가에 따라 네트워크의 대역폭과, 서비스 서버의 트래픽(Traffic) 용량을 정확하게 예측하고, 증가에 대비할 수가 있었다. 이러한 VOD 서비스는 인터넷의 발전에 따라서 발전하였는데, 기존의 전용 서버와 전용 프로토콜(protocol)을 이용한 방식에서 일반적인 웹 방식의 서비스가 가능하게 됨에 따라서, 사용자 측면에서는 인터넷이 가능한 PC 환경을 구축하면, 공급자의 입장에서는 일반적인 웹 서버 환경을 구축하기만 하면 누구라도 손쉽게 VOD 서비스를 제공하거나 수신하여 사용할 수 있게 되었다. 즉, 사용자는 서비스 제공자의 서버에 접속하여 원하는 동영상 데이터를 PC에 다운로드 받아서 재생할 수 있다. 또한, 초고속 인터넷의 보급으로 최근 사용자들은 동영상 데이터 수신 방식으로 다운로드 전송 방식뿐만 아니라, 스트리밍(Streaming) 방식으로도 동영상을 수신 및 재생할 수 있게 되었다.
이와 별도로 IPTV의 개념이 도입되면서 TV 방송조차도 방송 채널을 통하여 방송 신호를 전송 받는 것이 아니라, OTT-SB(Over-the-Top Set-top Box)에 연결된 인터넷 망을 통하여 방송 신호를 수신할 수 있게 되어 TV에서도 실시간 방송 뿐 아니라 VOD(Video on Demand) 서비스를 제공받을 수 있게 되었다. 최근에는 TV를 디지털 컨버전스의 중심으로 자리매김 하려는 움직임이 활발하여 인터넷을 끌어안은 'Smart TV' 개념이 등장하여, 방송국이나 IPTV 사업자에게 제공하는 방송 컨텐츠 뿐 아니라 U-Tube, Joost 등 웹 상에서 제공하는 웹 컨텐츠까지도 TV 스크린을 통하여 제공할 수 있게 되었다.
이렇게 발전되고 있는 동영상 데이터의 전송 방식은 FTP, HTTP 등의 일반적 파일 전송 프로토콜을 이용하는 파일 공유 서비스의 다운로드(Download) 전송 방식, 사용자의 요청과 동시에 비디오 및 오디오 패킷을 생성하여 전송하는 스트리밍(Streaming) 전송 방식, 비디오 및 오디오의 비트스트림을 먹싱(Muxing) 하여 전송하고, 이를 저장과 동시에 바로 재생하는 프로그래시브 다운로드(progressive download) 방식 등 크게 3가지 방식이 있다.
일반적으로 동영상 서비스를 제공하는 사업자는 3가지 중 특정 방식을 선택하여 서비스를 제공하고 있고, 전송 방식에 따라서 별도의 서버를 구축하여 서비스를 제공한다.
하지만 서비스를 제공받는 단말기, 예컨대 TV, PC, 휴대 전화 등은 단말기의 특성에 따라 적합한 수신 방식이 있지만, 동영상 서비스 사업자는 특정 방식으로 서비스를 제공하기 때문에, 단말기의 특성에 맞는 서비스를 제공하는 데 한계가 있다. 또한 한정된 네트워크 자원을 이용하여 안정된 서비스를 제공하기 위해서, 네트워크의 한정된 자원 및 네트워크 환경 변화 등에 따라 컨텐츠를 전송할 수 있는 방안이 필요하다.
따라서 본 발명의 목적은 전술된 바와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 한정된 네트워크 자원을 효율적으로 제어하여 일정한 서비스 품질을 유지하면서 최적의 전송 속도로 컨텐츠를 서비스할 수 있는 컨텐츠 제공 방법 및 서버를 제공하는 데 있다.
상기 목적을 달성하기 위하여, 본 발명은 복수 개의 전송 방식에 따라 전송되는 컨텐츠를 저장하는 저장부; 상기 복수 개의 전송 방식 각각을 지원하는 적어도 두 개의 방식별 전송 모듈; 네트워크를 통하여 전송 가능한 전체 네트워크 트래픽 량 및 상기 복수 개의 전송 방식에 따라 실제 전송되는 전체 전송 트래픽 량을 검출하는 네트워크 감시 모듈; 상기 전체 전송 트래픽 량과 상기 전체 네트워크 트래픽 량의 비교 결과에 따라 상기 복수 개의 전송 방식 중 적어도 하나의 전송 속도를 감소, 증가 및 유지 중 적어도 하나의 상태로 조절하는 제어부;를 포함하며, 상기 네트워크 감시 모듈은, 상기 컨텐츠 전송 방식 별로 접속한 서비스 세션의 수와 각 전송 방식 별로 전송되는 전체 비트율의 합을 기반으로 상기 전체 전송 트래픽 량을 계산하는는 컨텐츠 제공 서버를 제공한다.
본 발명에 따른 컨텐츠 제공 방법은, 컨텐츠 제공 서버가 현재 네트워크를 통하여 전송 가능한 전체 네트워크 트래픽 량을 검출하는 단계; 상기 컨텐츠 제공 서버가 복수 개의 전송 방식에 따라 실제 전송되는 전체 전송 트래픽 량을 검출하는 단계; 상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량과 상기 전체 네트워크 트래픽 량을 비교하는 단계; 상기 컨텐츠 제공 서버가 상기 비교 결과에 따라 상기 복수 개의 전송 방식 중 적어도 하나의 전송 속도를 감소, 증가 및 유지 중 적어도 하나의 상태로 조절하는 단계;를 포함하며, 상기 전체 전송 트래픽 량을 검출하는 단계는, 상기 컨텐츠 제공 서버가 상기 컨텐츠 전송 방식 별로 접속한 서비스 세션의 수와 각 전송 방식 별로 전송되는 전체 비트율의 합을 기반으로 상기 전체 전송 트래픽 량을 계산한다.
상기 조절하는 단계는 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이하인 경우 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이상이 될 때까지, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 순차적으로 증가시키거나, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 동일한 양만큼씩 순차적으로 증가시키거나, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 값이 다른 일정량만큼씩 순차적으로 증가시키거나, 특정 전송 방식의 전송 비트율을 기 설정된 최대 비트율까지 증가 시킨 이후, 다른 전송 방식의 전송 비트율을 증가시키도록 제어하는 것을 특징으로 한다.
또한, 상기 조절하는 단계는 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이하인 경우 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이상이 될 때까지, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 순차적으로 증가시키거나, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 동일한 양만큼씩 순차적으로 증가시키거나, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 값이 다른 일정량만큼씩 순차적으로 증가시키거나, 특정 전송 방식의 전송 비트율을 기 설정된 최대 비트율까지 증가 시킨 이후, 다른 전송 방식의 전송 비트율을 증가시키도록 제어하는 것을 특징으로 한다.
본 발명에 따르면 컨텐츠 제공 서버가 네트워크 변화에 따라 복수 개의 전송 방식, 예컨대 다운로드, 스트리밍, 프로그래시브 다운로드 방식에 설정된 전송 속도 또는 전송 비트율을 차등적, 순차적 등 다양한 설정된 조건에 따라 변경하도록 함으로써, 일정한 서비스 품질을 유지하면서도 최적의 전송 속도로 컨텐츠를 서비스할 수 있다.
이하, 본 발명의 실시 예를 첨부된 도면에 의거하여 상세히 설명한다.
실시 예를 설명함에 있어서 본 발명이 속하는 기술분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 또한, 실질적으로 동일한 구성과 기능을 가진 구성 요소들에 대해서는 상세한 설명을 생략하도록 한다.
마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 따라서 본 발명은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되어지지 않는다.
이하 설명에서 본 발명의 컨텐츠 제공 서버는 다운로드, 스트리밍, 프로그래시브 다운로드 등의 3가지 방식으로 컨텐츠를 전송할 수 있는 서버를 예로 하여 설명하기로 한다. 이러한 본 발명의 컨텐츠 제공 서버는 컨텐츠 제공 시스템의 한정된 네트워크 트래픽 용량을 효율적으로 제어하여 각각의 전송 방식으로 제공함으로써 서비스의 품질을 유지하면서 최적의 전송 속도로 컨텐츠를 전송할 수 있다. 이하 설명에서 컨텐츠는 동영상 데이터를 대표로 하여 설명하기로 한다.
상기 다운로드 전송 방식은 동영상 파일을 사용자 단말기에서 내려 받아 저장하는 방식이다. 상기 사용자 단말기는 내려 받는 동영상 파일의 저장이 완료된 후 재생을 하기 때문에 전송 속도와 재생 품질은 관련이 없다.
상기 스트리밍 전송 방식은 동영상 파일을 비디오 및 오디오 패킷을 생성한 후, 패킷 단위로 사용자 단말기에 전송하는 방식이다. 이러한 스트리밍 전송 방식은 수신된 패킷을 사용자 단말기가 저장하지 않고 수신된 패킷을 바도 재생하기 때문에 전송 속도와 재생 속도가 동일해야 일정한 동영상 재생 서비스가 가능한 방식이다.
상기 프로그래시브 다운로드 전송 방식은 동영상 파일을 사용자 단말기에서 내려 받아 저장함과 아울러 동시에 재생을 한다. 이러한 프로그래시브 다운로드 전송 방식은 수신된 패킷을 저장하면서 재생하기 위하여 전송 속도가 재생 속도보다 높아야 한다.
이하, 본 발명의 컨텐츠 제공 시스템에 대하여 도 1을 참조하여 설명하기로 한다. 여기서 도 1은 본 발명의 실시 예에 따른 컨텐츠 제공 시스템의 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 본 발명의 컨텐츠 제공 시스템은 컨텐츠 제공 서버(300), 네트워크(200), 사용자 단말기들(100)을 포함할 수 있다.
이와 같은 구성을 가지는 본 발명의 컨텐츠 제공 시스템은 사용자 단말기들(100)이 네트워크(200)를 통하여 컨텐츠 제공 서버(300)에 접속한 후, 사용자 제어에 따라 컨텐츠 제공 서버(300)가 제공하는 특정 컨텐츠 예를 들면 동영상 데이 터를 선택하면, 컨텐츠 제공 서버(300)가 사용자 단말기들(100)의 장치 특성 또는 사용자 요청에 따라 동영상 데이터 전송 방식을 결정하고, 결정된 전송 방식에 따라 상기 동영상 데이터 전송을 제어한다. 이때, 상기 컨텐츠 제공 서버(300)는 네트워크(200) 상태를 확인하여 각 전송 방식별 전송 속도 즉, 전송 비트율을 조절할 수 있다. 즉, 상기 컨텐츠 제공 서버(300)는 네트워크(200) 상태 및 동영상 데이터 전송 방식에 따라 특정 동영상 데이터 전송 속도를 조절하여 동영상 데이터를 전송하도록 제어할 수 있다. 이하 각 구성에 대하여 보다 상세히 설명하기로 한다.
상기 사용자 단말기들(100)은 네트워크(200)에 접속하여 컨텐츠 제공 서버(300)가 전송하는 컨텐츠 예를 들면 동영상 데이터를 수신하여 재생할 수 있는 다양한 전자 단말기가 될 수 있다. 예를 들면, 상기 사용자 단말기들(100)은 컨텐츠 제공 서버(300)가 전송하는 동영상 데이터를 네트워크(200)를 통하여 수신한 후 재생할 수 있는 TV 또는 IPTV(110), 휴대 단말기(120), 데스크톱 단말기(130)가 될 수 있다. 상기 TV(110)는 별도의 저장장치가 마련되지 않는 경우, 컨텐츠 제공 서버(300)가 전송하는 동영상 데이터를 수신한 후 바로 재생하기 위해서 스트리밍 전송 방식만을 지원할 수 있다. 상기 TV(110)는 저장 장치가 마련된 경우 프로그래시브 다운로드 전송 방식과 스트리밍 전송 방식을 함께 지원할 수 도 있다. 그리고 상기 휴대 단말기(120)는 휴대의 용이성 및 휴대에 따른 하드웨어의 한계성 등으로 인하여 스트리밍 전송 방식과 다운로드 전송 방식 중 적어도 하나를 지원할 수 있다. 상기 데스크톱 단말기(130)는 다운로드 전송 방식, 스트리밍 전송 방식, 프로그래시브 다운로드 전송 방식 모두를 지원할 수 있다. 상술한 각 단말기들의 전송 방식은 하드웨어적 지원 등에 따라 달라질 수 도 있다.
상기 네트워크(200)는 상기 컨텐츠 제공 서버(300)와 상기 사용자 단말기들(100) 사이에 위치하여 컨텐츠 제공 서버(300)와 사용자 단말기들(100) 간의 신호 송수신의 경로를 제공하여, 신호를 중계하는 구성이다. 이러한 네트워크(200)는 사용자 단말기들(100)이 컨텐츠 제공 서버(300)에 접속하기 위한 정보, 컨텐츠 제공 서버(300)가 제공하는 특정 컨텐츠 선택을 위한 신호, 선택된 컨텐츠를 사용자 단말기들(100)에게 전송함에 따라 생성되는 데이터 전달을 지원한다. 이러한 네트워크(200)는 IP를 기반으로 하는 IP 네트워크가 될 수 있다. 상기 네트워크가 IP 네트워크인 경우 상기 사용자 단말기들(100)은 IP를 기반으로 동영상 데이터를 수신할 수 있다. 이러한 네트워크(200)는 실질적으로 고정된 하드웨어로 구성되기 때문에 신호를 송수신할 수 있는 대역폭의 최대 값이 한정될 수 있다. 이에 따라, 많은 사용자 단말기들(100)이 네트워크(200)를 이용하는 경우, 네트워크(200)의 혼잡도가 증가하게 되며, 혼잡도가 일정량 이상 증가하게 되면 사용자 단말기들(100)에 제공되는 전송 방식별 데이터 전송 속도가 급격하게 떨어질 수 있다.
상기 컨텐츠 제공 서버(300)는 상기 네트워크(200)의 혼잡도 등 네트워크(200)의 상태 및 사용자 단말기들(100)에 제공하는 동영상 데이터의 전송 방식에 따라 동영상 데이터의 전송 속도를 조절하도록 제어한다. 상기 컨텐츠 제공 서버(300)는 사용자 단말기들(100)의 장치적 특성 및 사용자 단말기들(100)의 요청에 따라 특정 전송 방식을 선택하여 사용자 단말기들(100)이 요청한 동영상 데이터를 전송할 수 있다. 예를 들면, 사용자 단말기들(100)이 모두 동일한 동영상 컨텐츠를 전송해줄 것을 요청한 경우, 상기 컨텐츠 제공 서버(300)는 상기 동영상 컨텐츠를 TV(110)에는 스트리밍 전송 방식으로 전송하고, 휴대 단말기(120)에게는 다운로드 전송 방식으로 전송하며, 데스크톱 단말기(130)에게는 프로그래시브 다운로드 전송 방식으로 전송할 수 있다. 여기서, 상기 컨텐츠 제공 서버(300)는 상기 TV(110)가 스트리밍 전송 방식만을 지원하는 경우, 별도의 사용자 요청이 없더라도 상기 TV(110)에 스트리밍 전송 방식으로 동영상 데이터를 전송할 수 있다. 그리고 상기 휴대 단말기(120)가 다운로드 전송 방식 및 스트리밍 전송 방식을 지원하는 경우, 상기 컨텐츠 제공 서버(300)는 상기 휴대 단말기(120) 사용자가 요청한 방식을 기준으로 동영상 데이터의 전송 방식을 결정할 수 있다. 또한 상기 컨텐츠 제공 서버(300)는 데스크톱 단말기(130)가 다운로드 전송 방식, 스트리밍 전송 방식 및 프로그래시브 다운로드 전송 방식을 모두 지원하는 경우, 휴대 단말기(120) 경우와 유사하게 상기 컨텐츠 제공 서버(300)는 데스크톱 단말기(130)가 요청하는 전송 방식에 따라 동영상 데이터를 전송하도록 제어한다. 한편, 상기 컨텐츠 제공 서버(300)는 복수의 사용자 단말기에 동영상 데이터를 각각 다른 전송 방식으로 전송하는 단계에서, 네트워크(200)의 혼잡도가 증가하는 경우, 예를 들면, 많은 수의 사용자 단말기가 컨텐츠 제공 서버(300)에 접속하고 동영상 데이터를 요청하기 위하여 네트워크(200)를 이용함에 따라 혼잡도가 증가하면 상기 컨텐츠 제공 서버(300)는 전송 방식에 따라 차별적으로 전송 속도를 조절함으로써, 전체적인 데이터 전송 품질을 유지하도록 제어할 수 있다. 예를 들면, 상기 컨텐츠 제공 서버(300)는 다른 방식들의 전송 속도는 유지하되, 전송 속도와 재생 품질과 관련이 없는 예를 들면, 다운로드 전송 방식의 전송 속도를 낮추도록 제어할 수 있다. 그리고 상기 컨텐츠 제공 서버(300)는 네트워크(200) 상태가 더 안 좋아지는 경우, 프로그래시브 다운로드 방식의 전송 속도를 줄이도록 제어할 수 있다. 결과적으로, 상기 컨텐츠 제공 서버(300)는 네트워크(200) 상태가 점차 안 좋아질수록 전송 속도와 서비스 품질의 관계가 낮은 전송 방식으로 전송되는 동영상 데이터의 전송 속도를 다른 방식에 비하여 상대적으로 낮게 조절함으로써, 일정 서비스 품질을 유지하도록 제어할 수 있다. 이러한 컨텐츠 제공 서버(300)에 대하여 도 2를 참조하여 보다 상세히 설명하기로 한다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 제공 서버(300)의 구성을 개략적으로 나타낸 블록도이다.
상기 도 2를 참조하면, 본 발명의 컨텐츠 제공 서버(300)는 네트워크 감시 모듈(310), 다운로드 전송 모듈(320), 스트리밍 전송 모듈(330), 프로그래시브 다운로드 전송 모듈(340), 통신 모듈(370), 저장부(350) 및 제어부(360)의 구성을 포함할 수 있다. 여기서, 상기 다운로드 전송 모듈(320), 스트리밍 전송 모듈(330) 및 프로그래시브 다운로드 전송 모듈은 상기 컨텐츠 제공 서버(300)의 방식별 전송 모듈에 해당한다.
이러한 본 발명의 컨텐츠 제공 서버(300)는 네트워크 감시 모듈(310)을 통하여 네트워크 상태를 판단하고, 네트워크 상태가 변경되면, 다운로드 전송 모듈(320), 스트리밍 전송 모듈(330) 및 프로그래시브 다운로드 전송 모듈(340)을 제어하여 데이터 전송 속도를 조절하도록 제어할 수 있다. 이를 통하여 상기 컨텐츠 제공 서버(300)는 네트워크 상황에 따라 적절한 서비스 품질을 가지는 동영상 데이터 전송이 가능하다. 이하 각 구성에 대하여 보다 상세히 설명하기로 한다.
상기 네트워크 감시 모듈(310)은 네트워크의 혼잡도 측정과 동영상 데이터를 다양한 방식으로 전송하는 각 모듈에서 동영상 데이터를 전송하는 전송 세션(Session)의 개수를 모니터링한다. 즉, 상기 네트워크 감시 모듈(310)은 다양한 방식 예를 들면, 패킷의 전송과 해당 패킷의 수신에 대한 응답 신호 수신 간의 지연 시간을 기준으로 네트워크의 혼잡도를 측정할 수 있다. 또한, 상기 네트워크 감시 모듈(310)은 패킷의 전송과 손실을 기준으로 네트워크의 혼잡도를 측정할 수 있으며, 상기 네트워크 감시 모듈(310)은 상기 측정된 혼잡도를 기반으로 현재 네트워크 상태에서 전송 가능한 최대 전송 속도를 측정할 수 있다. 예를 들면, 상기 네트워크 감시 모듈(310)은 데이터의 전송 속도를 점진적으로 증가시키면서 전송하다가, 데이터 충돌이 발생하는 통계적 기준점을 측정할 수 있는데, 이러한 통계적 기준점 중 가장 높은 값을 현재 네트워크 상태에서 전송 가능한 데이터 최대 전송 속도로 설정할 수 있다. 이 단계에서 상기 네트워크 감시 모듈(310)은 데이터 전송 방식 별 데이터 최대 전송 속도에 대한 값을 모니터링을 통하여 수집할 수 있다. 즉, 상기 네트워크 감시 모듈(310)은 다운로드 전송 방식, 스트리밍 전송 방식 및 프로그래시브 다운로드 전송 방식별로 전송 가능한 최대 전송 속도를 각각 수집할 수 있다. 또한, 상기 네트워크 감시 모듈(310)은 3가지 방식을 이용하며 현재 네트워크 상태에서 전송 가능한 데이터의 최대 전송 속도에 대한 정보도 수집할 수 있다. 한편, 상기 네트워크 감시 모듈은 상기 다운로드 전송 모듈(320), 스트리밍 전 송 모듈(330) 및 프로그래시브 다운로드 전송 모듈(340)이 사용자 단말기들과 형성하고 있는 전체 전송 세션의 개수에 대한 정보를 수집한다. 이 전체 전송 세션의 개수는 현재 네트워크에서 전송되고 있는 전체 데이터 양 및 각 지원 모듈이 전송하고 있는 데이터양을 산출하는 지표가 될 수 있다. 상기 네트워크 감시 모듈(310)은 수집된 정보를 제어부(360)에 전달할 수 있다. 다시 말하여 상기 네트워크 감시 모듈(310)은 동영상 전송 방식 별로 접속한 서비스 세션의 수와 각 전송 방식 별로 전송되는 전체 비트율의 합을 계산하고, 그 결과를 제어부(360)에 전달할 수 있다. 이러한 상기 네트워크 감시 모듈(310)은 각 전송 방식 별로 전송되는 전체 데이터 전송 비트율의 합이, 해당 컨텐츠 제공 서버(300)가 전송 가능한 전체 데이터 전송 비트율의 범위를 넘어서는 요청이 있는지를 실시간으로 감시하고, 그 결과를 제어부(360)에 전달할 수 있다. 이를 위하여, 상기 네트워크 감시 모듈(310)은 컨텐츠 제공 서버(300)가 이용할 수 있는 네트워크의 전체 데이터 전송 비트율을 검출할 수 있다.
상기 다운로드 전송 모듈(320)은 사용자 단말기와 채널을 형성하고, 형성된 채널을 통하여 저장부(350)에 저장된 컨텐츠를 별도의 가공 없이 사용자에게 전송한다. 즉, 상기 다운로드 전송 모듈(320)은 사용자 단말기가 수신하여 저장하기 위해 필요로 하는 헤더 값과, 헤더 값에서 정의하는 바디 값의 구조를 가지는 컨텐츠를 전송하도록 지원한다.
상기 스트리밍 전송 모듈(330)은 저장부(350)에 저장된 컨텐츠를 수신과 동시에 재생할 수 있는 형태의 패킷으로 변환하여 전송한다. 예를 들면, 상기 스트리 밍 전송 모듈(330)은 일정 프레임 단위의 비디오 데이터와 해당 프레임에 싱크되는 오디오 데이터를 패킷으로 생성하고, 패킷 단위로 사용자 단말기에 전송하도록 지원한다. 이때, 상기 패킷은 해당 프레임과 오디오 데이터를 실시간으로 재생할 수 있는 헤더와 헤더가 정의하는 바디의 구조로 생성될 수 있다.
상기 프로그래시브 다운로드 전송 모듈(340)은 상기 다운로드 전송 모듈과 동일하게 저장부(350)에 저장된 컨텐츠를 파일 그 형태 그대로 사용자 단말기에 전송한다. 이때, 사용자 단말기는 다운로드 된 컨텐츠를 저장과 함께 재생하도록 제어할 수 있다.
상기 통신 모듈(370)은 사용자 단말기와 통신 채널을 형성하여 사용자 단말기가 요청하는 전송 방식별 컨텐츠의 물리적 전송을 지원한다. 즉, 상기 통신 모듈(370)은 다운로드 전송 모듈(320)이 사용자 단말기에 다운로드 전송 방식으로 전송하는 데이터를 네트워크를 통하여 사용자 단말기에 전달한다. 그리고 상기 통신 모듈(370)은 스트리밍 전송 모듈(330)이 스트리밍 전송 방식으로 전송하는 데이터를 네트워크를 통하여 사용자 단말기에 전달한다. 또한 상기 통신 모듈(370)은 프로그래시브 다운로드 전송 모듈(340)이 사용자 단말기에 데이터를 전송하는 것을 지원한다. 한편, 상기 통신 모듈(370)은 사용자 단말기의 접속 신호를 제어부(360)에 전달하며, 사용자 단말기가 전송하는 컨텐츠 전송 요청 신호를 제어부(360)에 전달할 수 있다. 또한, 상기 통신 모듈(370)은 네트워크 감시 모듈(310)이 네트워크 상태를 판단하기 위해 전송하는 신호 송수신을 지원하며, 상기 다운로드 전송 모듈(320), 스트리밍 전송 모듈(330) 및 프로그래시브 다운로드 전송 모듈(340)이 사용자 단말기들과 맺은 전송 세션에 관한 정보를 네트워크 감시 모듈(310)에 전달할 수 있다. 실질적으로는 상기 네트워크 감시 모듈(310)이 통신 모듈(370)을 통하여 사용자 단말기와 맺은 전송 세션의 개수에 대한 정보를 수집하게 된다.
상기 저장부(350)는 상기 컨텐츠를 저장하며, 제어부(360) 제어에 따라 각 전송 모듈에 상기 컨텐츠를 전달한다. 그리고 상기 저장부(350)는 사용자 단말기의 접속 및 인증을 위한 사용자 등록 정보 및 인증 정보를 저장할 수 있다.
상기 제어부(360)는 네트워크 감시 모듈(310)에서 측정한 전송 세션의 개수와 전체 전송 속도 및 전송 모듈별 전송 속도 값을 기준으로, 현재 네트워크를 이용하여 전송 가능한 최대 전송 속도를 연산한다. 또한, 상기 제어부(360)는 각 전송 모듈별로 서비스의 품질에 영향을 미치지 않는 범위에서 전송 가능한 최저 전송 속도를 연산한다. 예를 들면, 스트리밍 전송 방식의 경우 데이터 전송 속도가 일정 비트율 이상이어야 동영상 재생 단계에서 끊김 없는 서비스가 가능하다. 제어부(360)는 이러한 일정 비트율을 스트리밍 전송 방식의 최저 전송 속도로 판단할 수 있다. 이 단계에서 상기 제어부(360)는 현재 네트워크를 이용하여 최저 전송 속도로서 스트리밍 전송 방식으로 전송 가능한 세션의 개수에 대한 연산을 수행할 수 있다. 또한, 상기 제어부(360)는 다운로드 전송 방식 및 프로그래시브 전송 방식 등에 대해서도 스트리밍 전송 방식과 동일하게 최대 전송 속도 및 최저 전송 속도 연산을 수행할 수 있다. 여기서, 다운로드 전송 방식의 경우, 실질적으로 전송 속도와 재생 품질은 직접적인 연관이 없으나, 다운로드에 걸리는 시간에 대한 사용자의 심리적 한계선을 최저 전송 속도로 설정할 수 있다. 프로그래시브 다운로드 전 송 방식의 경우, 저장과 동시에 재생하는 방식으로 스트리밍 전송 방식보다 빠른 전송 속도를 가지는 것이 바람직함으로, 제어부(360)는 프로그래시브 다운로드 전송 방식의 최저 속도를 다른 방식들에 비하여 높게 설정할 수 있다. 한편, 상기 제어부(360)는 상술한 바와 같은 전송 속도와 재생 품질의 관계를 기준으로 현재 네트워크에서 전송 가능한 통합적인 데이터 전송 최대 및 최저 속도를 계산하게 된다. 이때, 실질적으로 사용자 단말기들의 요청이 특정한 전송 방식으로 집중될 수 있는데, 제어부(360)는 이러한 상호 관계를 고려하여 데이터 전송 최대 및 최저 속도를 계산하게 된다. 즉, 상기 제어부(360)는 특정 전송 방식의 전송 세션의 증가와 감소에 따라 다른 전송 방식의 데이터 전송 최대 및 최저 속도를 조절할 수 있다. 예를 들면, 상기 제어부(360)는 3개의 사용자 단말기에 각각 데이터를 전송하는 단계 중에 특정 이유로 인하여 전송 속도를 감소시켜야할 경우, 재생 품질에 영향이 없거나 적은 다운로드 전송 방식으로 전송되는 데이터의 전송 속도를 감소시키도록 제어할 수 있다. 이러한 방식을 통하여 상기 제어부(360)는 다른 전송 방식으로 전송되는 데이터 전송의 품질을 확보할 수 있다.
한편, 상기 제어부(360)는 다운로드, 스트리밍, 프로그래시브 다운로드 등 동영상을 전송하는 방식에 따라서 서비스의 품질을 일정 수준 유지하기 위한 전송 방식별로 최소의 전송 비트율을 설정할 수 있다. 이를 위하여 상기 제어부(360)는 컨텐츠의 제작 비트율에 관한 정보를 검출할 수 있으며, 이 제작 비트율을 전송 방식별 최소 전송 비트율로 설정할 수 있다. 그리고 상기 제어부(360)는 전송 방식별로 컨텐츠가 제작된 비트율보다 높거나 같은 전송 비트율을 가지며 데이터가 전송 될 수 있도록 설정하고, 이를 유지할 수 있도록 제어한다. 이러한 상기 제어부(360)는 현재 전송하고 있는 비트율을 각 전송 방식별로 독립적으로 설정 및 조절할 수 있으며, 전송 방식 별로 전송되는 전체 비트율의 합이 컨텐츠 제공 서버가 전송 가능한 비트율의 범위를 넘어설 경우, 전송 방식별로 차등적 및 순차적으로 전송 속도를 줄여나가도록 제어할 수 있다. 또한, 상기 제어부(360)는 전송 방식 별로 전송되는 전체 비트율의 합이 컨텐츠 제공 서버가 전송 가능한 비트율의 범위 이하로 유지될 경우, 전송 방식별로 차등적 및 순차적으로 전송 속도를 증가시키도록 제어할 수 있다. 이때, 상기 제어부(360)는 차등과 순차의 우선순위를 전송 방식별 서비스 품질에 주는 영향으로 판단할 수 있다.
이상에서 설명한 바와 같이, 본 발명의 실시 예에 따른 컨텐츠 제공 시스템은 네트워크 감시 모듈(310)을 이용하여 네트워크 상태를 감시하고, 네트워크 상태가 좋지 않은 경우, 예를 들면 기 설정된 혼잡도를 가지는 경우, 전송 방식에 따라 차등적으로 데이터 전송 속도를 감소시키도록 제어함으로써, 전체적인 서비스 품질을 유지할 수 있으며, 네트워크 상태가 다시 좋아지는 경우, 데이터 전송 속도를 복원하여 서비스 품질을 유지할 수 있다. 이하에서는 상술한 컨텐츠 제공 시스템의 운용 방법에 대하여 도면을 참조하여 보다 상세히 설명하기로 한다.
도 3은 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 설명하기 위한 순서도이다.
설명에 앞서, 이하에서 설명하는 컨텐츠의 비트율(Bitrate)은 BR_Con으로, 다운로드 전송 설정 비트율은 BR_DL_Set으로, 다운로드 전송 최대 비트율은 BR_DL_Max로, 다운로드 최소 비트율은 BR_DL_Min으로 정의하기로 한다. 또한, 스트리밍 설정 비트율은 BR_ST_Set로, 스트리밍 최대 비트율은 BR_ST_Max로, 스트리밍 최소 비트율은 BR_ST_Min으로 정의하며, 프로그래시브 다운로드 설정 비트율은 BR_PD_Set로, 프로그래시브 다운로드 최대 비트율은 BR_PD_Max로, 프로그래시브 다운로드 최소 비트율은 BR_PD_Min으로 정의하기로 한다. 그리고 다운로드 전송 방식에 따라 전송되는 전체 데이터 트래픽 량은 BR_DL_Sum으로, 스트리밍 전송 방식에 따라 전송되는 전체 데이터 트래픽 량은 BR_ST_Sum으로, 프로그래시브 다운로드 전송 방식에 따라 전송되는 전체 데이터 트래픽 량은 BR_PD_Sum으로 정의하며, 현재 컨텐츠 제공 서버가 네트워크를 기반으로 전송 가능한 전체 네트워크 트래픽 량은 BR_Ser_Max로 정의하기로 한다. 여기서, 상기 BR_DL_Sum, BR_PD_Sum 및 BR_ST_Sum의 합은 상기 컨텐츠 제공 서버가 실제 전송하는 전체 전송 트래픽 량이 된다.
상기 도 3을 참조하면, 본 발명의 컨텐츠 제공 방법은 먼저, S301 단계에서 각 전송 방식의 비트율 값을 서비스 운용 원칙에 따라 임의로 설정한다. 여기서, 임의로 설정되는 전송 방식의 비트율 값들은 서비스 운용 원칙에 따른 것으로, 서비스 운용 원칙이 변경되는 경우, 상기 비트율 값들은 변경될 수 있다. 일반적으로 동영상의 서비스 품질은 BR_Con 값에 의하여 정해진다. 한편, 서비스 운용 원칙에 따라 다운로드 최대 비트율 값은 일예로서, 다운로드 최대 비트율 값은 다운로드 최소 비트율의 5배로 설정하기로 한다. 그리고 스트리밍 최대 비트율 값은 최소 비트율 값의 1.2배로 설정하기로 하며, 프로그래시브 다운로드 최대 비트율 값은 최소 비트율 값의 2.5배로 설정하기로 한다. 여기서 상기 BR_Con은 동영상을 제 작할 당시 적용된 비트율 값으로서, 동영상을 재생을 위한 비트율 값의 최소 값이 될 수 있다. 즉, 스트리밍 전송 방식에서 BR_ST_Min은 BR_Con 이상이 되어야 프레임이 깨지지 않고 재생할 수 있기 때문에, 상기 BR_Con은 스트리밍 전송 방식에서의 최소 비트율 값으로 설정될 수 있다. 이와 동일하게 프로그래시브 다운로드 전송 방식 또한 최소 비트율 값인 BR_PD_Min은 BR_Con이 될 수 있다. 프로그래시브 다운로드 전송 방식에서 최소 비트율 값은 BR_Con 이상이 되어야 양호한 재생 품질을 제공할 수 있다. 프로그래시브 다운로드 전송 방식은 컨텐츠의 비트레이보다 최소 전송 비트율과 작을 경우, 버퍼링 모드(Buffering mode)로 전환되면서 화면이 멈추는 현상이 발생할 수 있다. 따라서 본 발명의 컨텐츠 제공 서버는 동영상 데이터의 전송 방식별 최소 값을 상술한 BR_Con의 값으로 설정할 수 있다. 이렇게 설정된 최소 값은 특정 전송 방식에 의해 전송되는 동영상 데이터의 서비스 품질의 최소 값이 될 수 있다.
한편, 상기 서비스 운용 원칙에 따라 각각 설정된 전송 방식에 따른 비트율 값들은 각 전송 방식에서 최대 값이 될 수 있다. 즉, 401 단계에서와 같이 다운로드 전송 방식 최대 비트율인 BR_DL_Max는 설정에 따라 5*BR_Con이 될 수 있으며, 스트리밍 전송 방식 최대 비트율인 BR_ST_Max는 설정에 따라 1.2*BR_Con이 될 수 있고, 프로그래시브 다운로드 전송 방식 최대 비트율인 BR_PD_Max는 2.5*BR_Con이 될 수 있다.
초기화 설정이 완료되면, 컨텐츠 제공 서버는 S303 단계에서 각 전송 방식들의 설정 비트율 값을 최대 값으로 설정할 수 있다. 즉, 컨텐츠 제공 서버는 BR_DL_Set를 BR_DL_Max로 설정하고, BR_ST_Set를 BR_ST_Max로 설정하며, BR_PD_Set를 BR_PD_Max로 설정할 수 있다. 설정이 완료되면, 상기 컨텐츠 제공 서버는 S305 단계에서 설정된 비트율 값을 기준으로 데이터 전송을 제어한다.
이후, 상기 컨텐츠 제공 서버는 S307 단계에서 전체 전송 방식에 의해 전송되는 트래픽 량이 컨텐츠 제공 서버가 전송 가능한 최대 데이터 트래픽 량인 BR_Ser_Max보다 큰지 여부를 확인한다. 이를 위하여 상기 컨텐츠 제공 서버는 다운로드 전송 방식으로 전송되는 전체 트래픽 량 BR_DL_Sum, 스트리밍 전송 방식으로 전송되는 전체 트래픽 량 BR_ST_Sum 및 프로그래시브 다운로드 전송 방식으로 전송되는 전체 트래픽 량 BR_PD_Sum을 구한 뒤 각 트래픽 량의 합을 연산한다. 그리고 이렇게 연산된 합을 상기 BR_Ser_Max와 비교한다. 이를 위하여 상기 컨텐츠 제공 서버는 네트워크 감시 모듈로부터 각 전송 방식에 따라 생성된 세션의 개수와 각 세션의 트래픽 량에 관한 정보를 수집할 수 있다. S307 단계에서 상기 전체 합이 BR_Ser_Max보다 작은 경우에는 S305 단계 이전으로 분기하여 이후 단계를 반복적으로 수행할 수 있다.
한편, S307 단계에서 전체 합이 BR_Ser_Max보다 큰 경우, 컨텐츠 제공 서버의 제어부는 S309 단계로 분기하여 설정 값들은 감소시킨다. 예를 들어, 컨텐츠 제공 서버에 컨텐츠에 대한 전송 요청 건수가 지속적으로 증가하여, 각 서비스의 전송 트래픽 량의 합이 BR_Ser_Max 이상이 되면, 서비스의 품질에 영향을 적게 미치는 순서대로 서비스의 전송 속도를 줄여준다. 상술한 바와 같이 BR_DL_Set = 5*BR_Con, BR_ST_Set = 1.2*BR_Con, BR_PD_Set = 2.5*BR_Con과 같이 초기 설정되어 있다면, 서비스 품질에 가장 영향을 적게 미칠만한 서비스 예를 들면 BR_Con의 5배로 설정된 다운로드 전송 방식의 값을 예를 들면, BR_DL_Set = 3*BR_Con으로 낮춘다.
그리고 상기 컨텐츠 제공 서버는 다운로드 서비스의 전송 속도를 줄였음에도 불구하고, 컨텐츠 전송 요청 건수가 계속 증가하여 전체 트래픽의 합이 BR_Ser_Max 이상인 경우, 그 다음으로 서비스의 품질에 영향을 적게 미칠만한 서비스 예를 들면, 프로그래시브 다운로드 전송 방식의 BR_PD_Set을 1.5*BR_Con으로 변경한다. 이후에도 계속해서 컨텐츠 전송 요청 건수가 증가하여 전체 트래픽의 합이 BR_Ser_Max 이상인 경우, BR_ST_Set의 값을 줄일 수 있다.
여기서, 상기 컨텐츠 제공 서버는 전송 속도를 줄임에 있어서, 서비스 품질에 영향을 주지 않는 다운로드 전송 방식의 전송 속도를 우선적으로 일정량으로 줄이고, 다음으로 프로그래시브 다운로드 전송 방식의 전송 속도를 줄이는 것으로 설명하였지만, 본 발명이 이에 한정되는 것은 아니다. 즉, 상기 컨텐츠 제공 서버는 BR_DL_Set의 값을 줄여서 전체 트래픽 량이 BR_Ser_Max 이하로 유지하도록 제어하며, 이때, BR_DL_Set 값을 최소 값까지 줄이도록 제어할 수 있다. 이후에서 상기 컨텐츠 제공 서버는 전체 트래픽 량이 BR_Ser_Max 이상인 경우에는 BR_PD_Set의 값을 점진적으로 줄여나가도록 제어할 수 있으며, 최대 BR_PD_Set의 값이 최소 값이 되도록 전송 속도를 줄여나갈 수 있다. 이후에도 전체 트래픽 량이 BR_Ser_Max 이상인 경우, 컨텐츠 제공 서버는 BR_ST_Set의 값을 점진적으로 줄여나가도록 제어할 수 있다.
요약하면, 상기 컨텐츠 제공 서버는 트래픽 량 증가에 따라 전송 속도를 감소시켜야 하는 경우, 서비스 품질에 영향이 적은 다운로드 전송 방식의 전송 속도를 우선적으로 감소시키다가, 최소 값이 되는 경우, 다음으로 서비스 품질에 영향이 적은 프로그래시브 다운로드 전송 방식의 전송 속도를 감소시킬 수 있으며, 프로그래시브 다운로드 전송 방식의 전송 속도가 최소 값이 되는 경우, 다음으로 서비스 품질에 영향이 적은 스트리밍 전송 방식의 전송 속도를 감소시키도록 제어할 수 있다.
또한, 상기 컨텐츠 제공 서버는 전송 속도를 감소시켜야 하는 경우, 서비스 품질에 영향이 적은 다운로드 전송 방식의 전송 속도를 일정량까지 감소시키고, 다음으로 서비스 품질에 영향을 주는 프로그래시브 다운로드 전송 방식의 전송 속도를 일정량까지 감소시키며, 이후 스트리밍 전송 방식의 전송 속도를 일정량까지 감소시키도록 제어한다. 추가로 더 전송 속도를 감소시켜야 하는 경우, 상기 컨텐츠 제공 서버는 다운로드 전송 방식부터 반복적으로 일정량만큼 감소시키도록 제어할 수 있다. 여기서, 상기 일정량은 각 전송 방식별로 차등적으로 적용될 있다. 즉, 다운로드 전송 방식에서 감소되는 일정량은 프로그래시브 다운로드 전송 방식에서의 일정량 및 스트리밍 전송 방식에서 감소되는 일정량 보다 클 수 있다.
다음으로, 상기 컨텐츠 제공 서버는 S311 단계에서 전체 트래픽 량인 BR_DL_Sum과, BR_ST_Sum 및 BR_PD_Sum의 합이 BR_Ser_Max 보다 작은지 여부를 확인하고, BR_Ser_Max 보다 큰 경우에는 S309 단계 이전으로 분기하여 앞서 설명한 전송 속도 감소 단계를 반복적으로 수행할 수 있다.
한편, S311 단계에서 전체 트래픽 량이 BR_Ser_Max 보다 작은 경우에는 S313 단계로 분기하여 BR_DL_Set, BR_ST_Set 및 BR_PD_Set의 값을 S309 단계의 역순으로 증가시키도록 제어할 수 있다. 이를 보다 상세히 설명하면, 상기 컨텐츠 제공 서버는 전체 트래픽 량이 BR_Ser_Max보다 작은 경우, 전송 속도가 서비스 품질에 영향을 가장 크게 주는 전송 방식 예를 들면, 스트리밍 전송 방식의 BR_ST_Set을 증가시키도록 제어한다. 이후에도 상기 컨텐츠 제공 서버는 전체 트래픽 량이 BR_Ser_Max 보다 작은 경우, BR_PD_Set의 전송 속도를 증가시키도록 제어하며, 여전히 전체 트래픽 량이 BR_Ser_Max 보다 작은 경우, BR_DL_Set의 전송 속도를 증가시키도록 제어할 수 있다. 이 단계에서 상기 컨텐츠 제공 서버는 BR_ST_Set의 전송 속도를 최대 값까지 증가 시킨 이후, 여전히 전체 트래픽 량이 BR_Ser_Max보다 작은 경우 BR_PD_Set의 전송 속도를 증가시키도록 제어할 수 있으며, 이와 유사하게, BR_PD_Set의 전송 속도를 최대 값까지 증가 시킨 이후에도 전체 트래픽 량이 BR_Set_Max보다 작은 경우 BR_DL_Set의 전송 속도를 증가시키도록 제어할 수 있다. 또한, 상기 컨텐츠 제공 서버는 전송 속도를 증가시키는 경우, BR_ST_Set의 일정량만큼 전송 속도를 증가시키고, 지속적으로 전송 속도를 증가시켜야 하는 경우, BR_PD_Set의 일정량만큼 전송 속도를 증가시키며, 이후 BR_DL_Set의 일정량만큼 전송 속도를 증가시키도록 제어한 후, BR_ST_Set부터 반복적으로 일정량만큼씩 증가시키도록 제어할 수 있다. 여기서, 상술한 일정량은 서비스 운용 원칙에 따라 달라지거나, 서비스 지원 형태 등에 따라 달라질 수 있다. 그리고 상술한 일정량은 전송 방식별로 차등적으로 적용될 수 있다. 즉, 스트리밍 전송 방식에서 증가되는 일 정량은 프로그래시브 다운로드 전송 방식 및 다운로드 전송 방식에서 증가되는 일정량보다 클 수 있다.
상술한 바와 같이, 본 발명의 컨텐츠 제공 방법 및 서버는 컨텐츠 예를 들면, 동영상을 전송하는 단계 중에 다수개의 방식 예를 들면, 다운로드, 스트리밍 및 프로그래시브 다운로드 전송 방식 등이 혼용되어 사용되는 경우, 한정된 네트워크 용량을 보다 효율적으로 제어하여 각각의 전송 방식으로 제공하는 서비스의 품질을 유지하면서 최적의 전송 속도를 설정할 수 있다. 예를 들면, 본 발명의 컨텐츠 제공 방법 및 서버는 우선 각 전송 방식 별로 최대의 전송 속도를 설정하여, 최상의 품질로 서비스를 제공할 수 있게 하고, 컨텐츠 제공 서버에 서비스 요구가 증가하여 네트워크 용량이 부족해질 경우에는, 각 설정된 전송 속도를 순차적으로 감소시킴으로써, 각 서비스의 특성에 따라서 한정된 용량에서 서비스의 품질을 저하시키지 않은 채로 가능한 한 많은 서비스 요구를 수용할 수 있다.
한편, 본 명세서와 도면을 통해 본 발명의 바람직한 실시 예들에 대하여 설명하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것일 뿐, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 컨텐츠 제공 방법 및 서버에 관한 것으로, 컨텐츠 제공 서버가 네 트워크 변화에 따라 복수 개의 전송 방식, 예컨대 다운로드, 스트리밍, 프로그래시브 다운로드 방식에 설정된 전송 속도 또는 전송 비트율을 차등적, 순차적 등 다양한 설정된 조건에 따라 변경하도록 함으로써, 일정한 서비스 품질을 유지하면서도 최적의 전송 속도로 컨텐츠를 서비스할 수 있다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 제공 시스템의 구성을 개략적으로 나타낸 도면,
도 2는 본 발명의 실시 예에 따른 컨텐츠 제공 서버의 구성을 개략적으로 나타낸 블록도,
도 3은 본 발명의 실시 예에 따른 컨텐츠 제공 방법을 설명하기 위한 순서도.
* 도면의 주요 부분에 대한 설명 *
100 : 사용자 단말기 110 : IPTV
120 : 휴대 단말기 130 : 데스크톱 단말기
200 : 네트워크 300 : 컨텐츠 제공 서버
310 : 네트워크 감시 모듈 320 : 다운로드 전송 모듈
330 : 스트리밍 전송 모듈 340 : 프로그래시브 다운로드 전송 모듈
350 : 저장부 360 : 제어부
370 : 통신 모듈

Claims (10)

  1. 복수 개의 전송 방식에 따라 전송되는 컨텐츠를 저장하는 저장부;
    상기 복수 개의 전송 방식 각각을 지원하는 적어도 두 개의 방식별 전송 모듈;
    네트워크를 통하여 전송 가능한 전체 네트워크 트래픽 량 및 상기 복수 개의 전송 방식에 따라 실제 전송되는 전체 전송 트래픽 량을 검출하는 네트워크 감시 모듈;
    상기 전체 전송 트래픽 량과 상기 전체 네트워크 트래픽 량의 비교 결과에 따라 상기 복수 개의 전송 방식 중 적어도 하나의 전송 속도를 감소, 증가 및 유지 중 적어도 하나의 상태로 조절하는 제어부;
    를 포함하며,
    상기 네트워크 감시 모듈은,
    상기 컨텐츠 전송 방식 별로 접속한 서비스 세션의 수와 각 전송 방식 별로 전송되는 전체 비트율의 합을 기반으로 상기 전체 전송 트래픽 량을 계산하는 것을 특징으로 하는 컨텐츠 제공 서버.
  2. 컨텐츠 제공 서버가 현재 네트워크를 통하여 전송 가능한 전체 네트워크 트래픽 량을 검출하는 단계;
    상기 컨텐츠 제공 서버가 복수 개의 전송 방식에 따라 실제 전송되는 전체 전송 트래픽 량을 검출하는 단계;
    상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량과 상기 전체 네트워크 트래픽 량을 비교하는 단계;
    상기 컨텐츠 제공 서버가 상기 비교 결과에 따라 상기 복수 개의 전송 방식 중 적어도 하나의 전송 속도를 감소, 증가 및 유지 중 적어도 하나의 상태로 조절하는 단계;
    를 포함하며,
    상기 전체 전송 트래픽 량을 검출하는 단계는,
    상기 컨텐츠 제공 서버가 상기 컨텐츠 전송 방식 별로 접속한 서비스 세션의 수와 각 전송 방식 별로 전송되는 전체 비트율의 합을 기반으로 상기 전체 전송 트래픽 량을 계산하는 것을 특징으로 하는 컨텐츠 제공 방법.
  3. 삭제
  4. 제 2 항에 있어서,
    상기 복수 개의 전송 방식은 다운로드(Download), 스트리밍(Streaming), 프로그래시브 다운로드(Progressive Download) 방식 중 적어도 두 개를 포함하는 것을 특징으로 하는 컨텐츠 제공 방법.
  5. 제 2 항에 있어서,
    상기 조절하는 단계는,
    상기 컨텐츠 제공 서버가 상기 컨텐츠를 전송하는 방식에 따라서 컨텐츠의 서비스 품질을 일정 수준 유지하기 위한 전송 방식별 최소 전송 비트율을 설정하고 유지하는 것을 특징으로 하는 컨텐츠 제공 방법.
  6. 제 5 항에 있어서,
    상기 최소 전송 비트율을 설정하고 유지하는 단계는,
    상기 컨텐츠 제공 서버가 스트리밍 전송 방식에서 상기 컨텐츠가 제작된 비트율보다 높거나 같은 전송 비트율을 설정하고, 이를 유지할 수 있도록 조절하는 단계;
    상기 컨텐츠 제공 서버가 프로그래시브 다운로드 전송 방식에서 상기 컨텐츠가 제작된 비트율보다 높거나 같은 전송 비트율을 설정하고, 이를 유지할 수 있도록 조절하는 단계; 중 적어도 하나의 단계를 포함하는 것을 특징으로 하는 컨텐츠 제공 방법.
  7. 제 2 항에 있어서,
    상기 조절하는 단계는,
    상기 컨텐츠 제공 서버가 상기 복수 개의 전송 방식에 대해서 현재 전송하고 있는 각 전송 방식별 비트율을 각 전송 방식별로 독립적으로 설정 및 조절하는 것을 특징으로 하는 컨텐츠 제공 방법.
  8. 제 2 항에 있어서,
    상기 조절하는 단계는,
    상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량을 넘어설 경우 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이하로 될 때까지, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 순차적으로 감소시키는 단계;
    상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량을 넘어설 경우 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이하로 될 때까지, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 동일한 양만큼씩 순차적으로 감소시키는 단계;
    상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량을 넘어설 경우 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이하로 될 때까지, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 값이 다른 일정량만큼씩 순차적으로 감소시키는 단계;
    상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량을 넘어선 경우, 특정 전송 방식의 전송 비트율을 컨텐츠 제작 비트율인 최소 비트율까지 감소시키고, 이후에도 넘어선 상태가 유지되는 경우, 다른 전송 방식의 전송 비트율을 감소시키는 단계; 중 적어도 하나의 단계를 포함하는 것을 특징으로 하는 컨텐츠 제공 방법.
  9. 제 2 항에 있어서,
    상기 조절하는 단계는,
    상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이하인 경우 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이상이 될 때까지, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 순차적으로 증가시키는 단계;
    상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이하인 경우 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이상이 될 때까지, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 동일한 양만큼씩 순차적으로 증가시키는 단계;
    상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이하인 경우 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이상이 될 때까지, 전송 방식 별로 설정된 전송 비트율을 기 설정된 조건에 따라 값이 다른 일정량만큼씩 순차적으로 증가시키는 단계;
    상기 컨텐츠 제공 서버가 상기 전체 전송 트래픽 량이 상기 전체 네트워크 트래픽 량 이하인 경우, 특정 전송 방식의 전송 비트율을 기 설정된 최대 비트율까지 증가 시키고, 이후에도 비교 결과가 이하인 경우, 다른 전송 방식의 전송 비트율을 증가시키는 단계; 중 적어도 하나의 단계를 포함하는 것을 특징으로 하는 컨텐츠 제공 방법.
  10. 제 2 항, 제 4 항 내지 제 9 항 중 어느 한 항에 있어서,
    상기 비교하는 단계는,
    실시간으로 수행되는 것을 특징으로 하는 컨텐츠 제공 방법.
KR1020090071462A 2009-08-03 2009-08-03 컨텐츠 제공 방법 및 서버 KR101428980B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090071462A KR101428980B1 (ko) 2009-08-03 2009-08-03 컨텐츠 제공 방법 및 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090071462A KR101428980B1 (ko) 2009-08-03 2009-08-03 컨텐츠 제공 방법 및 서버

Publications (2)

Publication Number Publication Date
KR20110013823A KR20110013823A (ko) 2011-02-10
KR101428980B1 true KR101428980B1 (ko) 2014-08-13

Family

ID=43773251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090071462A KR101428980B1 (ko) 2009-08-03 2009-08-03 컨텐츠 제공 방법 및 서버

Country Status (1)

Country Link
KR (1) KR101428980B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101904053B1 (ko) 2012-03-13 2018-11-30 삼성전자 주식회사 단말장치의 멀티미디어 처리장치 및 방법
KR102123439B1 (ko) * 2013-11-20 2020-06-16 삼성전자 주식회사 이동 망에서 비디오 트래픽의 사용자 만족도 최적화를 고려한 혼잡 완화 방법 및 그 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124430A (ja) * 1996-10-18 1998-05-15 Mitsubishi Electric Corp データ送信方式
JP2003209571A (ja) 2002-01-17 2003-07-25 Hitachi Ltd パケット転送方式
JP2005092773A (ja) * 2003-09-19 2005-04-07 Yafoo Japan Corp コンテンツ配信プログラム、コンテンツ配信方法およびコンテンツ利用装置
KR20090032454A (ko) * 2007-09-28 2009-04-01 주식회사 넥스지 가상 인터페이스를 통해 연결된 서버와 클라이언트사이에서 각 회선별로 트래픽을 분배하여 데이터를전송하는 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124430A (ja) * 1996-10-18 1998-05-15 Mitsubishi Electric Corp データ送信方式
JP2003209571A (ja) 2002-01-17 2003-07-25 Hitachi Ltd パケット転送方式
JP2005092773A (ja) * 2003-09-19 2005-04-07 Yafoo Japan Corp コンテンツ配信プログラム、コンテンツ配信方法およびコンテンツ利用装置
KR20090032454A (ko) * 2007-09-28 2009-04-01 주식회사 넥스지 가상 인터페이스를 통해 연결된 서버와 클라이언트사이에서 각 회선별로 트래픽을 분배하여 데이터를전송하는 방법 및 시스템

Also Published As

Publication number Publication date
KR20110013823A (ko) 2011-02-10

Similar Documents

Publication Publication Date Title
US10419787B2 (en) Dynamic programming across multiple streams
AU2016204197B2 (en) Methods for quality-aware adaptive streaming over hypertext transfer protocol
US8838824B2 (en) Method and apparatus for delivery of adapted media
US7984179B1 (en) Adaptive media transport management for continuous media stream over LAN/WAN environment
US20140181266A1 (en) System, streaming media optimizer and methods for use therewith
US20060198392A1 (en) Transcoding apparatus and method for seamless multimedia content transmission
US11812081B2 (en) Session based adaptive playback profile decision for video streaming
KR101718127B1 (ko) 상황 인지 스트리밍 서비스를 위한 콘텐츠 패키징 시스템 및 스트리밍 방법
US20110088069A1 (en) Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system
KR101428980B1 (ko) 컨텐츠 제공 방법 및 서버
KR101491604B1 (ko) 다중 채널을 이용한 콘텐츠 제공 방법 및 시스템
CN111447464A (zh) 一种基于流媒体的多网融合系统及其实现方法
RU2663187C2 (ru) Устройство и способ подачи содержания, программа, устройство терминала и система подачи содержания
US20220167027A1 (en) Media Content Enhancement Based on Content Importance
KR20140086801A (ko) 실시간 콘텐츠 트랜스코딩 방법, 장치 및 시스템, 및 실시간 콘텐츠 수신 장치 및 방법
CN112823527B (zh) 在能够运行一个自适应流传输会话的设备处实现的方法以及对应的设备
KR20050047228A (ko) 고화질 인터넷 방송 시스템의 멀티캐스트 서비스 방법
KR20100107544A (ko) 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법 및 그 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 5