KR102110312B1 - Cdn 선택 방법 및 장치 - Google Patents

Cdn 선택 방법 및 장치 Download PDF

Info

Publication number
KR102110312B1
KR102110312B1 KR1020180171356A KR20180171356A KR102110312B1 KR 102110312 B1 KR102110312 B1 KR 102110312B1 KR 1020180171356 A KR1020180171356 A KR 1020180171356A KR 20180171356 A KR20180171356 A KR 20180171356A KR 102110312 B1 KR102110312 B1 KR 102110312B1
Authority
KR
South Korea
Prior art keywords
content
cdn
network traffic
user terminal
selection
Prior art date
Application number
KR1020180171356A
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 KR1020180171356A priority Critical patent/KR102110312B1/ko
Application granted granted Critical
Publication of KR102110312B1 publication Critical patent/KR102110312B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • H04L67/322
    • 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/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/509Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to media content delivery, e.g. audio, video or TV
    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 명세서에 개시된 CDN(컨텐츠 전송 네트워크, Content Distribution Network) 선택 서버의 CDN 선택 방법은 컴퓨팅 장치에서 수행되는 방법으로서, 복수의 CDN의 컨텐츠 제공자 네트워크 트래픽(traffic) 사용량을 전송 받는 동작, CDN의 컨텐츠 제공자 네트워크 트래픽 사용량에 기반한 컨텐츠 제공자 네트워크 트래픽 가용량 및 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량에 기반하여 복수의 CDN에 대한 선택 점수를 산정하는 동작 및 선택 점수에 기반하여 복수의 CDN에 대한 CDN 순위를 계산하는 동작을 포함할 수 있다.

Description

CDN 선택 방법 및 장치{METHOD AND APPARATUS FOR SELECTING A CONTENT DISTRIBUTION NETWORK(CDN)}
본 명세서는 사용자 단말이 요청하는 컨텐츠를 전송하기 위한 컨텐츠 전송 네트워크(CDN: Content Distribution Network)를 선택하는 방법 및 장치에 관한 것이다.
많은 사용자들이 모바일 단말기, 컴퓨터 등의 사용자 단말에서 유/무선 네트워크를 통해 동영상 등의 대용량 미디어 컨텐츠를 다운로드 및 재생하는 서비스를 이용하고 있고, 컨텐츠 제공자는 사용자의 만족도를 위해서 컨텐츠 데이터 전송의 끊김 없이 서비스를 제공하려는 노력을 하고 있다.
컨텐츠 제공자는 복제 서버를 통해 사용자 단말로 컨텐츠 데이터를 전송할 수 있다. 즉, 컨텐츠 데이터를 전송하는 방법의 하나로서, 컨텐츠 제공자는 적어도 일부 컨텐츠를 복제 서버에 미리 저장하고, 사용자 단말은 복제 서버로부터 미리 저장된 컨텐츠 데이터를 수신하는 방법이 있다. 복제 서버를 통한 컨텐츠 전송 방법은 CDN(컨텐츠 전송 네트워크, Content Delivery Network) 서비스를 포함한다. 복제 서버는, 예를 들어, 캐시 서버, 고스트 서버, 에지 서버 또는 미러 서버일 수 있다.
CDN 서비스는 각 CDN 서비스 정책의 방식에 따라 다르지만, 복수의 CDN 복제 서버들 중에서 컨텐츠 데이터를 요청한 사용자 단말의 위치에서 가장 가까운 CDN 복제 서버 또는 최적의 접속 경로를 가진 CDN 복제 서버에 대한 접속 정보를 사용자 단말로 전송하고, 사용자 단말은 해당 CDN 복제 서버로부터 스트리밍(Streaming) 방식 또는 다운로드 방식으로 컨텐츠 데이터를 수신할 수 있다.
컨텐츠 제공자는 사용자 단말로 안정적인 컨텐츠 데이터 전송을 위하여 복수의 CDN 사업자를 통하여 사용자에게 컨텐츠를 제공할 수 있다. 컨텐츠 제공자가 복수의 CDN 사업자를 통하여 컨텐츠 서비스를 제공하는 경우, 컨텐츠 제공자와 컨텐츠 서비스 제공을 위한 CDN 사업자 사이의 네트워크 트래픽(network traffic) 사용량, 비용, 데이터 저장 공간 등에 관한 계약 내용은 각 CDN 사업자 마다 다를 수 있고, 사용자 단말의 각 CDN 사업자 네트워크에 대한 접속 품질 또한 사용자 단말과 CDN 사업자 마다 다를 수 있다.
컨텐츠 제공자가 복수의 CDN(컨텐츠 전송 네트워크, Content Delivery Network) 사업자를 통하여 컨텐츠 서비스를 제공하는 경우 종래 기술의 단순히 컨텐츠를 요청하는 사용자 단말의 지역적 위치에 근접한 CDN 사업자(또는 CDN 복제 서버)를 통하여 컨텐츠 서비스를 제공하는 문제점에 대해서, 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량 등 각 CDN의 상황과 사용자 단말의 체감 품질을 고려하여 적합한 CDN을 통하여 컨텐츠를 제공 가능한 CDN 선택 방법 및 장치가 필요하게 되었다.
본 명세서는 CDN(Content Distribution Network) 선택 서버의 CDN 선택 방법을 제시한다. 상기 CDN 선택 서버의 CDN 선택 방법은 컴퓨팅 장치에서 수행되는 방법으로서, 복수의 CDN의 컨텐츠 제공자 네트워크 트래픽(traffic) 사용량을 전송 받는 동작, 상기 CDN의 컨텐츠 제공자 네트워크 트래픽 사용량에 기반한 컨텐츠 제공자 네트워크 트래픽 가용량 및 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량에 기반하여 상기 복수의 CDN에 대한 선택 점수를 산정하는 동작 및 상기 선택 점수에 기반하여 상기 복수의 CDN에 대한 CDN 순위를 계산하는 동작을 포함할 수 있다.
상기 CDN 선택 서버의 CDN 선택 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 요청 컨텐츠는 시리즈(series) 컨텐츠의 회차 컨텐츠이고, 상기 회차는 상기 사용자 단말의 요청에 기반하고, 상기 시리즈 컨텐츠의 이전 회차 컨텐츠에 대한 컨텐츠 제공자 네트워크 트래픽 사용량에 기반하여 상기 요청 컨텐츠의 네트워크 트래픽 예측량을 산정하는 동작을 더 포함할 수 있다.
상기 컨텐츠의 네트워크 트래픽 예측량을 산정하는 동작은 상기 시리즈 컨텐츠의 이전 회차 컨텐츠의 네트워크 트래픽 증가율에 더 기반하여 산정하는 동작일 수 있다.
상기 선택 점수를 산정하는 동작은 CDN 가중치에 더 기반하고, 상기 CDN 가중치는 상기 사용자 단말의 위치, 상기 사용자 단말의 접속 네트워크 및 상기 사용자 단말의 접속 네트워크에 접속된 복수 사용자 단말의 네트워크 품질 중에서 적어도 어느 하나에 기반할 수 있다.
상기 복수 사용자 단말의 네트워크 품질은 버퍼링(buffering) 반복 정보, 컨텐츠 재생 실패 정보, 컨텐츠 재생 지연 정보, 평균 비트레이트(bitrate) 정보, 컨텐츠 캐싱(caching) 실패 비율, 캐시 버퍼 레이트(rate) 및 버퍼링 속도 중에서 적어도 어느 하나에 기반할 수 있다.
상기 CDN의 네트워크 트래픽 계약 사용량과 상기 CDN의 컨텐츠 제공자 네트워크 트래픽 사용량에 기반하여 상기 CDN의 컨텐츠 제공자 네트워크 트래픽 가용량을 산정하는 동작을 더 포함할 수 있다.
상기 컨텐츠 제공자 네트워크 트래픽 가용량은 CDN 네트워크 트래픽 계약 비용에 기반할 수 있다.
본 명세서는 CDN 선택 서버를 제시한다. 상기 CDN 선택 서버는 복수의 CDN(Content Distribution Network)의 컨텐츠 제공자 네트워크 트래픽(traffic) 사용량을 전송 받는 통신부, 상기 CDN의 컨텐츠 제공자 네트워크 트래픽 사용량에 기반한 컨텐츠 제공자 네트워크 트래픽 가용량 및 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량에 기반하여 상기 복수의 CDN에 대한 선택 점수를 산정하는 선택부 및 상기 선택 점수에 기반하여 상기 복수의 CDN에 대한 CDN 순위를 계산하는 순위 산정부를 포함할 수 있다.
상기 요청 컨텐츠는 시리즈(series) 컨텐츠의 회차 컨텐츠이고, 상기 회차는 상기 사용자 단말의 요청에 기반하고, 상기 선택부는 상기 시리즈 컨텐츠의 이전 회차 컨텐츠에 대한 컨텐츠 제공자 네트워크 트래픽 사용량에 기반하여 상기 요청 컨텐츠의 네트워크 트래픽 예측량을 산정할 수 있다.
본 명세서에 개시된 실시 예들에 의하면, CDN(컨텐츠 전송 네트워크, Content Delivery Network)의 상태 및 컨텐츠 제공자와의 계약 내용을 고려하여 컨텐츠 제공자에게 경제적인 컨텐츠 제공 서비스를 제공할 수 있다.
본 명세서에 개시된 실시 예들에 의하면, CDN의 상태를 고려하여 사용자에게 효율적인 컨텐츠 제공 서비스를 제공할 수 있다.
본 명세서에 개시된 실시 예들에 의하면, 사용자 단말의 체감 품질(QoE: Quality of Experience)를 고려한 컨텐츠 제공 서비스를 제공할 수 있다.
본 명세서에 개시된 실시 예들에 의하면, 컨텐츠의 특성을 고려한 효율적인 컨텐츠 제공 서비스를 제공할 수 있다.
도 1은 CDN 선택 장치를 포함한 실시예를 개략적으로 도시한다.
도 2는 CDN 선택 장치를 포함한 다른 실시예를 개략적으로 도시한다.
도 3은 CDN 선택 장치(110, 212)의 실시예를 개략적으로 도시한다.
도 4는 CDN 선택 방법의 실시예를 개략적으로 도시한다.
도 5는 CDN 선택 점수를 산정하는 실시예를 개략적으로 도시한다.
도 6은 컨텐츠 제공자 네트워크 트래픽 가용량을 개략적으로 도시한다.
도 7은 사용자 단말을 포함한 실시예를 개략적으로 도시한다.
본 명세서에 개시된 기술은 컨텐츠 전송을 위한 CDN(컨텐츠 전송 네트워크, Content Delivery Network) 선택 장치에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 전자 장치 및 방법에도 적용될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 컨텐츠 전송 네트워크 (CDN: Content Delivery Network, 이하 CDN이라 함.) 선택 장치(110) 및 복수의 CDN(121, 122, 123)을 포함한 실시예를 개략적으로 도시한다.
각 CDN은 에지 서버(미도시, 캐시 서버, 고스트 서버, 에지 서버 또는 미러 서버로 불릴 수 있다.) 및 오리진(Origin) 서버(미도시)를 포함할 수 있고, 컨텐츠의 복사본들을 저장 및 전송하기 위한 캐싱(Caching) 노드들로 구성된 계층적 구조를 가질 수 있고, 계층적 구조에서 상위 구조(High tier)의 캐싱 노드들과 사용자 단말로 컨텐츠를 전송하는 에지 서버를 포함할 수 있다.
본 명세서에서 CDN 선택 장치(110)는 오리진 서버로서 동작하거나 오리진 서버의 일부 기능을 포함하는 것을 배제하지 않고, 아래에서 CDN 선택 장치(110)는 오리진 서버를 포함하는 개념으로 설명한다.
사용자 단말(130)이 요청한 컨텐츠는 CDN 선택 장치(110)를 통해서 미리 또는 사용자 단말(130)의 요청에 따라 CDN의 에지 서버에 저장된 컨텐츠 데이터가 상기 사용자 단말(130)로 전송될 수 있다.
컨텐츠는 적응적 컨텐츠(Adaptive Content) 형태의 ABR(Adaptive Bitrate) 렌디션(rendition) 또는 CBR(Constant Bitrate) 렌디션 등으로 에지 서버에 저장되어 전송될 수 있다.
컨텐츠를 다양한 설정 또는 환경에 기반하여 인코딩 또는 패키징한 각 비트스트림(bitstream)을 렌디션이라고 부를 수 있다. 서로 비트레이트가 다른 복수의 렌디션은 상위 비트레이트로 인코딩된 렌디션 및 하위 비트레이트로 인코딩 된 렌디션을 포함할 수 있고, 렌디션의 개수는 특별히 한정하지 않는다. 컨텐츠의 각 렌디션은 적어도 하나의 세그먼트(segment, 청크(chunk)라 불릴 수 있다.)를 포함하고, 각 세그먼트는 적어도 하나의 화상 그룹(GOP, Group of Pictures)을 포함할 수 있다.
세그먼트는 컨텐츠가 인코딩 된 비트스트림의 일 부분을 나타내며, 각 세그먼트들은 사용자 단말에서 디코딩되어 재생되거나 사용자 단말에 (임시적 또는 일정 기간 동안)저장될 수 있다.
동일한 컨텐츠에 대한 데이터가 각 CDN(121, 122, 123)에 동일하게 저장되거나 또는 비트레이트가 서로 다른 렌디션이 서로 다른 CDN에 저장될 수 있다.
컨텐츠는 RTP/RTSP(Real Time Transport Protocol /Real Time Streaming Protocol), RTMP(Real Time Message Protocol) 또는 HTTP(hypertext transfer protocol) 방식으로 사용자 단말에 전송될 수 있고, 사용자 단말은 CDN 선택 장치(110) 또는 별도의 CDN 장치로 요청 가능한 컨텐츠 리스트를 확보하기 위해 주기적으로 매니페스트(manifest) 파일을 요청할 수 있다.
CDN 선택 장치(110)는 복수의 렌디션에 대한 매니페스트(manifest) 파일을 생성하거나 이를 제공 받아 CDN 장치로 전송할 수 있다.
다른 실시예에서, 해당 매니페스트 파일은 CDN(121, 122, 123) 내의 상위 계층(High-tier) 캐싱 노드가 생성하거나 제공할 수 있다.
상기 매니페스트 파일은 사용자 단말(130)이 요청 가능한 컨텐츠 비트스트림의 각 렌디션들의 세그먼트 또는 다른 관련 데이터들의 접속(요청) 경로 또는 관련 메타데이터(metadata)를 포함할 수 있다.
일 실시예로서, 동일한 컨텐츠에 대해 비트레이트가 서로 다른 복수의 렌디션이 존재하고 사용자 단말(130)이 이를 모두 이용 가능한 경우, CDN 선택 장치(110) 또는 상위 계층의 캐싱 노드는 상기 복수의 렌디션을 요청 가능한 접속 경로를 포함하여 매니페스트 파일을 생성할 수 있다. 일 실시예에서, CDN 선택 장치(110)가 매니페스트 파일을 생성하는 경우, CDN의 상위 계층 캐싱 노드는 이를 제공 받을 수 있다.
일 실시예에서, CDN 선택 장치(110)가 생성 또는 제공하는 매니페스트 파일은 비트레이트가 서로 다른 복수의 렌디션에 기반한 것일 수 있다.
일 실시예에서, 사용자가 요청한 컨텐츠 데이터가 복수의 CDN에 저장되어 있고, 상기 복수의 CDN이 모두 제공 가능하다면, 메니페스트 파일은 상기 복수의 CDN에 대한 컨텐츠 데이터의 전송을 위한 접속 경로를 포함하여 사용자 단말(130)로 전송할 수 있고, 이 경우 상기 복수의 CDN에 대한 접속 경로는 우선 순위를 갖는 리스트이거나 우선 순위를 갖지 않은 리스트일 수 있다.
CDN(121, 122, 123)은 컴퓨팅 장치(예를 들면, 서버들)들의 네트워크로 구성된 시스템을 의미하며, CDN(121, 122, 123)의 각 컴퓨팅 장치는 노드(node)로 불릴 수 있고, CDN(121, 122, 123)은 컨텐츠의 비트스트림화된 렌디션을 저장 또는 (각 노드간에 또는 사용자 단말로) 전송할 수 있다.
CDN(121, 122, 123)은 각 노드간에 광대역 네트워크를 통해 컨텐츠의 비트스트림화된 렌디션을 전송할 수 있으며, 네트워크는 예를 들어, 무선 네트워크, 유선 네트워크, 인터넷과 같은 공용 네트워크, 사설 네트워크, 모바일 통신 네트워크용 광역 시스템(global system for mobile communication network; GSM) 네트워크, 범용 패킷 무선 네트워크(general packet radio network; GPRS), 근거리 네트워크(local area network; LAN), 광역 네트워크(wide area network; WAN), 거대도시 네트워크(metropolitan area network; MAN), 셀룰러 네트워크, 공중 전화 교환 네트워크(public switched telephone network; PSTN), 개인 네트워크(personal area network), 블루투스, Wi-Fi 다이렉트(Wi-Fi Direct), 근거리장 통신(Near Field communication), 초 광 대역(UltraWide band), 이들의 조합, 또는 임의의 다른 네트워크일 수 있지만 이들로 한정되는 것은 아니다.
사용자 단말(130)은 네트워크를 통해 CDN 선택 장치(110) 또는 별도의 장치(CDN의 DNS 서버, 컨텐츠 서버, 매니페스트 서버)등으로부터 사용자 단말(130)의 컨텐츠 제공 요청에 대한 컨텐츠 데이터 접속 정보를 수신하고, 해당 접속 정보에 따른 특정 CDN의 에지 서버로 컨텐츠 전송 요청을 할 수 있다.
일 실시예에서, 복수의 CDN에 대한 컨텐츠 데이터의 전송을 위한 접속 경로를 포함하여 사용자 단말(130)로 전송되고 상기 복수의 CDN에 대한 접속 경로는 우선 순위를 갖는 리스트인 경우, 사용자 단말(130)은 상기 우선 순위에 따라 복수의 CDN에 차례대로 컨텐츠 데이터의 전송을 요청할 수 있다.
다른 실시예에서, 우선 순위를 갖지 않은 리스트인 경우 복수의 CDN의 위치 정보(매니페스트 파일에 메타 데이터로 포함되어 저장될 수 있다.) 등에 기반하여 사용자 단말에서 결정된 순위대로 차례대로 컨텐츠 데이터의 전송을 요청할 수 있다. 이 경우, 사용자 단말에서 결정하는 정책은 CDN 선택 장치(110)에서 미리 사용자 단말로 제공된 것일 수 있다.
본 명세서에 개시된 실시예의 사용자 단말(130)은 퍼스널 컴퓨터(PC, Personal Computer) 뿐만 아니라 태블릿 컴퓨터, 스마트폰 등을 포함한다.
CDN 선택 장치(110)는 주기적 또는 비 주기적으로 복수의 CDN(121, 122, 123)의 상태를 모니터링할 수 있다. CDN의 상태는 CDN의 네트워크 부하(load), CDN에 접속된 사용자 단말의 개수, CDN의 요청 컨텐츠 제공 가능한 에지 서버 수, CDN의 네트워크 트래픽(network traffic) 및 CDN의 저장 공간 용량(storage capacity) 중 적어도 어느 하나를 포함할 수 있다. 상기 네트워크 트래픽은 특정 CDN의 특정 컨텐츠 제공자 컨텐츠들의 전송에 사용된 네트워크 트래픽 사용량일 수 있다. 상기 CDN의 저장 공간 용량은 특정 컨텐츠 제공자 컨텐츠들의 특정 CDN에 대한 계약 저장 공간 중에서 현재 사용하고 있는 점유 공간 용량 또는 가용 저장 공간 용량(available storage capacity)일 수 있다.
CDN 선택 장치(110)는 주기적 또는 비 주기적으로 사용자 단말(130)의 네트워크 품질을 모니터링할 수 있고, 상기 네트워크 품질은 각 CDN(121, 122, 123)에 대한 체감 품질(QoE: Quality of Experience) 지수일 수 있다. CDN에 대한 체감 품질은 버퍼링(buffering) 반복 정보, 컨텐츠 재생 실패 정보, 컨텐츠 재생 지연 정보, 평균 비트레이트(bitrate) 정보, 컨텐츠 캐싱 실패 비율(caching failure rate), 캐시 버퍼 레이트(rate), 버퍼링 속도, 전송된 컨텐츠 데이터의 프레임 레이트(frame rate), 전송된 컨텐츠 데이터의 비트레이트, 전송된 컨텐츠의 프레임 에러 비율(error rate), CDN의 응답 속도(response time), CDN의 연결 시간(connect time), CDN 전송 속도(transmission speed) 및 CDN의 네트워크 지터(jitter) 중에서 적어도 어느 하나를 포함할 수 있다.
CDN 선택 장치(110)는 주기적, 비 주기적 또는 사용자 단말(130)의 컨텐츠 요청에 따라 복수의 CDN(121, 122, 123)에 대한 특정 컨텐츠에 대하여 또는 일반적인 CDN 선택 점수를 산정할 수 있다.
일 실시예에서, CDN 선택 장치(110)는 CDN의 상태에 기반하여 CDN 선택 점수를 산정할 수 있고, 다른 실시예에서는 사용자 단말(130)의 네트워크 품질에 더 기반하여 CDN 선택 점수를 산정할 수 있다. 상기 네트워크 품질은 사용자 단말(130)의 각 CDN 접속 또는 각 CDN으로부터의 컨텐츠 전송과 관련된 네트워크 품질일 수 있다.
다른 실시예에서, CDN 선택 장치(110)는 CDN의 상태 및 사용자 단말(130)의 요청 컨텐츠에 대한 네트워크 트래픽(traffic) 예측량에 기반하여 CDN 선택 점수를 산정할 수 있다.
도 2는 CDN 모니터링 장치(211), CDN 선택 장치(212), QoE 모니터링 장치(213) 및 복수의 CDN(221, 222, 223)을 포함한 실시예를 개략적으로 도시한다.
CDN 및 사용자 단말은 앞서 설명한 도 1의 설명과 유사하므로 생략한다.
CDN 모니터링 장치(211)는 주기적 또는 비 주기적으로 복수의 CDN(221, 222, 223)의 상태를 모니터링하여, 이를 CDN 선택 장치(212)의 요청에 따라 또는 주기적/비 주기적으로 CDN 선택 장치(212)로 전송할 수 있다. CDN의 상태는 CDN의 네트워크 부하(load), CDN에 접속된 사용자 단말의 개수, CDN의 요청 컨텐츠 제공 가능한 에지 서버 수, CDN의 네트워크 트래픽(network traffic) 및 CDN의 저장 공간 용량(storage capacity) 중 적어도 어느 하나를 포함할 수 있다. 상기 네트워크 트래픽은 특정 CDN의 특정 컨텐츠 제공자 컨텐츠들의 전송에 사용된 네트워크 트래픽 사용량일 수 있다. 상기 CDN의 저장 공간 용량은 특정 컨텐츠 제공자 컨텐츠들의 특정 CDN에 대한 계약 저장 공간 중에서 현재 사용하고 있는 점유 공간 용량 또는 가용 저장 공간 용량(available storage capacity)일 수 있다.
QoE 모니터링 장치(213)는 주기적 또는 비 주기적으로 사용자 단말(130)의 네트워크 품질을 모니터링할 수 있고, 이를 CDN 선택 장치(212)의 요청에 따라 또는 주기적/비 주기적으로 CDN 선택 장치(212)로 전송할 수 있다. 상기 네트워크 품질은 각 CDN(121, 122, 123)에 대한 체감 품질(QoE: Quality of Experience) 지수일 수 있다. CDN에 대한 체감 품질은 버퍼링(buffering) 반복 정보, 컨텐츠 재생 실패 정보, 컨텐츠 재생 지연 정보, 평균 비트레이트(bitrate) 정보, 컨텐츠 캐싱 실패 비율(caching failure rate), 캐시 버퍼 레이트(rate), 버퍼링 속도, 전송된 컨텐츠 데이터의 프레임 레이트(frame rate), 전송된 컨텐츠 데이터의 비트레이트, 전송된 컨텐츠의 프레임 에러 비율(error rate), CDN의 응답 속도(response time), CDN의 연결 시간(connect time), CDN 전송 속도(transmission speed) 및 CDN의 네트워크 지터(jitter) 중에서 적어도 어느 하나를 포함할 수 있다.
CDN 선택 장치(212)는 주기적, 비 주기적 또는 사용자 단말(130)의 컨텐츠 요청에 따라 복수의 CDN(221, 222, 223)에 대한 특정 컨텐츠에 대하여 또는 일반적인 CDN 선택 점수를 산정할 수 있다.
일 실시예에서, CDN 선택 장치(211)는 CDN 모니터링 장치(211)에서 전송된CDN의 상태에 기반하여 CDN 선택 점수를 산정할 수 있고, 다른 실시예에서는 사용자 단말(230)의 네트워크 품질에 더 기반하여 CDN 선택 점수를 산정할 수 있다. 상기 네트워크 품질은 사용자 단말(230)의 각 CDN 접속 또는 각 CDN으로부터의 컨텐츠 전송과 관련된 네트워크 품질일 수 있다.
다른 실시예에서, CDN 선택 장치(212)는 CDN의 상태 및 사용자 단말(230)의 요청 컨텐츠에 대한 네트워크 트래픽 예측량에 기반하여 CDN 선택 점수를 산정할 수 있다.
도 3은 CDN 선택 장치(110, 212)의 실시예를 개략적으로 도시한다.
CDN 선택 장치(110, 212)는 CDN의 상태에 관련된 정보 및 사용자 단말(130, 230)의 네트워크 품질에 관련된 정보를 전송 받는 통신부(310), CDN의 상태에 기반하여 CDN에 대한 선택 점수를 산정하는 선택부(320), 통신부(310)가 전송 받은 데이터들 또는 선택부(320)의 중간 또는 최종 결과를 일시적 또는 비 일시적으로 저장하는 저장부(330), 선택부(320)가 산정한 CDN에 대한 선택 점수에 기반하여 복수의 CDN에 대한 CDN 순위를 계산하는 순위 산정부(34)를 포함할 수 있다.
통신부(310)는 복수의 CDN 또는 CDN 모니터링 장치로부터 주기적 또는 비 주기적으로 복수의 CDN의 상태를 전송받을 수 있다.
일 실시예로서, CDN의 상태는 CDN의 네트워크 부하(load), CDN에 접속된 사용자 단말의 개수, CDN의 요청 컨텐츠 제공 가능한 에지 서버 수, CDN의 네트워크 트래픽, CDN의 가용 저장 공간 용량(available storage capacity) 및 CDN의 현재 네트워크 트래픽 사용량 중 적어도 어느 하나를 포함할 수 있다.
다른 실시예로서, 통신부(310)는 각 CDN에 대한 네트워크 트래픽 사용량, 사용자 요청 컨텐츠 정보, 사용자 단말의 체감 품질 정보를 전송 받을 수 있다.
일 실시예에서, 상기 네트워크 트래픽 사용량은 특정 CDN의 특정 컨텐츠 제공자 컨텐츠들의 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량일 수 있다.
선택부(320)는 컨텐츠 제공자 네트워크 트래픽 사용량에 기반한 컨텐츠 제공자 네트워크 트래픽 가용량 및 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량에 기반하여 상기 복수의 CDN에 대한 선택 점수를 산정할 수 있다.
일 실시예에서, 컨텐츠 제공자 네트워크 트래픽 가용량은 도 6과 같이 특정 컨텐츠 제공자와 CDN 제공자 사이의 네트워크 트래픽 계약 사용량 대비 상기 CDN 제공자 서비스를 통한 상기 특정 컨텐츠 제공자의 컨텐츠를 사용자 단말로 전송하기 위해 사용된 네트워크 트래픽 량(컨텐츠 제공자 네트워크 트래픽 사용량, 620)을 제외한 비율(610) 또는 그 값(620)을 뺀 값(610)일 수 있다.
다른 실시예에서, 컨텐츠 제공자 네트워크 트래픽 가용량은 컨텐츠 제공자와 각 CDN 제공자 사이에 계약된 트래픽 비용을 반영한 것일 수 있고, 아래에서 자세히 설명한다.
일 실시예에서, 요청 컨텐츠에 대한 네트워크 트래픽 예측량은 상기 요청 컨텐츠에 대해 특정 CDN 또는 상기 요청 컨텐츠를 제공 가능한 복수의 CDN 전부에 대해서 예측되는 사용자 단말들로 상기 요청 컨텐츠를 전송하는데 사용될 것으로 예측되는 네트워크 트래픽 량일 수 있다.
일 실시예에서, 요청 컨텐츠는 시리즈(series) 컨텐츠 중에서 사용자 단말이 요청한 특정 회차의 컨텐츠일 수 있고, 이 경우 선택부(320)는 시리즈 컨텐츠의 이전 회차 컨텐츠에 대한 컨텐츠 제공자 네트워크 트래픽 사용량에 기반하여 상기 요청 컨텐츠의 네트워크 트래픽 예측량을 산정할 수 있다.
예를 들어, 시리즈 컨텐츠는 드라마 컨텐츠, 영화 시리즈 컨텐츠 등 복수의 컨텐츠들이 스토리나 등장 인물 등의 연관성에 기인하여 서로 다른 날짜에 순차적으로 제작된 컨텐츠를 의미한다. 드라마 컨텐츠, 영화 컨텐츠 이외에도 동일한 요일 또는 주말마다 반복되는 TV 프로그램 컨텐츠도 이에 포함된다.
요청 컨텐츠의 네트워크 트래픽 예측량을 산정하는 방법은 아래에서 자세히 설명한다.
순위 산정부(340)는 선택부(320)에서 산정한 선택 점수를 기준으로 복수의 CDN에 대한 순위를 계산하고, 사용자 단말이 요청한 컨텐츠에 대한 CDN 리스트로 생성할 수 있다.
일 실시예에서, 상기 CDN 리스트는 매니페스트 파일의 형태로 상기 복수의 CDN에 대한 접속 경로(또는 요청 컨텐츠에 대한 상기 복수의 CDN에서의 접속 경로)를 포함하여, 사용자 단말로 전송될 수 있다.
저장부(330)는 자기 저장 매체(magnetic storage media), 플래시 저장 매체(flash storage media)를 포함할 수 있고 일시적 저장 매체 또는 반 영구적 저장 매체일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
선택부(320) 또는 순위 산정부(34)는 범용적인 중앙 처리 장치(CPU) 이외에도 ASICs(application specific integrated circuits), FPGAs(field programmable gate arrays), PLDs(programmable logic devices), CPLDs(complex programmable logic devices), RFICs(radio frquency integrated circuits), ASSPs(application specific standard products)로 구현되거나, 해당 프로세서에 의해 실행 가능한 명령어들 또는 펌웨어(firmware) 또는 소프트웨어(software)로 구현될 수 있다.
도 4는 CDN 선택 방법의 실시예를 개략적으로 도시한다.
CDN 선택 방법은 CDN 모니터링 동작(S410), CDN 선택 점수를 산정하는 동작(S420), 복수의 CDN에 대한 CDN 순위를 계산하는 동작(S430), 사용자 단말의 요청 컨텐츠에 대한 복수의 CDN 접속 순위 정보를 포함하는 CDN 리스트 생성 동작(S440)을 포함할 수 있다.
CDN 선택 장치는 복수의 CDN 또는 CDN 모니터링 장치로부터 주기적 또는 비 주기적으로 복수의 CDN의 상태를 전송받을 수 있다(S410).
일 실시예로서, CDN의 상태는 CDN의 네트워크 부하, CDN에 접속된 사용자 단말의 개수, CDN의 요청 컨텐츠 제공 가능한 에지 서버 수, CDN의 네트워크 트래픽, CDN의 가용 저장 공간 용량, CDN의 네트워크 트래픽 사용량 및 CDN의 네트워크 트래픽 가용량 중 적어도 어느 하나를 포함할 수 있다.
일 실시예에서, 상기 CDN의 네트워크 트래픽 사용량은 특정 CDN에서 특정 컨텐츠 제공자 컨텐츠들의 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량일 수 있고, 상기 CDN의 네트워크 트래픽 가용량은 특정 CDN에서 특정 컨텐츠 제공자에 대한 컨텐츠 제공자 네트워크 트래픽 가용량일 수 있다.
CDN 선택 장치는 컨텐츠 제공자 네트워크 트래픽 가용량 및 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량에 기반하여 상기 복수의 CDN에 대한 선택 점수를 산정할 수 있고(S420), 도 5를 참조하여 자세히 설명한다.
일 실시예에서, 컨텐츠 제공자 네트워크 트래픽 가용량은 도 6과 같이 특정 컨텐츠 제공자와 CDN 제공자 사이의 네트워크 트래픽 계약 사용량 대비 상기 CDN 제공자 서비스를 통한 상기 특정 컨텐츠 제공자의 컨텐츠를 사용자 단말로 전송하기 위해 사용된 네트워크 트래픽 량(컨텐츠 제공자 네트워크 트래픽 사용량, 620)을 제외한 비율(610) 또는 그 값(620)을 뺀 값(610)일 수 있다(S510).
다른 실시예에서, 컨텐츠 제공자 네트워크 트래픽 가용량은 복수의 CDN 또는 CDN 모니터링 장치로부터 전송 받거나, 복수의 CDN 또는 CDN 모니터링 장치로부터 컨텐츠 제공자 네트워크 트래픽 사용량을 전송 받고 CDN 선택 장치의 저장부에 저장된 해당 CDN 과의 네트워크 트래픽 계약 사용량을 확인하여 파악할 수 있다(S510).
CDN 선택 장치는 사용자 단말의 요청 컨텐츠에 대하여 등장 배우와 관련된 컨텐츠들의 평균 네트워크 트래픽량, 컨텐츠 제작자와 관련된 컨텐츠들의 평균 네트워크 트래픽량, 요청 컨텐츠와 동일한 장르 컨텐츠들의 평균 네트워크 트래픽량, 요청 컨텐츠가 방영 시 시청률 또는 극장 점유율 정보를 이용한 네트워크 트래픽량 등에 기반하여 요청된 컨텐츠에 대한 네트워크 트래픽 예측량을 산정할 수 있다(S520).
사용자 단말의 요청 컨텐츠는 시리즈 컨텐츠 중에서 상기 사용자 단말이 요청한 특정 회차의 컨텐츠일 수 있고, 시리즈 컨텐츠는 드라마 컨텐츠, 영화 시리즈 컨텐츠 등 복수의 컨텐츠들이 스토리나 등장 인물 등의 연관성에 기인하여 서로 다른 날짜에 순차적으로 제작된 컨텐츠를 의미할 수 있다. 드라마 컨텐츠, 영화 컨텐츠 이외에도 동일한 요일 또는 주말마다 반복되는 TV 프로그램 컨텐츠도 이에 포함된다.
CDN 선택 장치는 사용자 단말의 요청 컨텐츠가 시리즈 컨텐츠 중 특정 회차의 컨텐츠인 경우, 상기 요청 컨텐츠의 이전 회차 컨텐츠 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량에 기반하여 요청된 컨텐츠에 대한 네트워크 트래픽 예측량을 산정할 수 있다(S520).
이 경우, 이전 회차 컨텐츠 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량은 특정 CDN의 이전 회차 컨텐츠 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량이거나 복수의 CDN의 이전 회차 컨텐츠 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량의 평균 네트워크 트래픽 사용량일 수 있다.
CDN 선택 장치는 요청 컨텐츠의 이전 회차 컨텐츠 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량과 동일하게 요청 컨텐츠에 대한 네트워크 트래픽 예측량을 산정하거나, 상기 요청 컨텐츠의 이전 회차 컨텐츠가 복수 개 존재하는 경우 이전 회차 컨텐츠 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량과 이전 회차 컨텐츠 요청의 증감률 또는 이전 회차 컨텐츠 제공자 네트워크 트래픽 사용량의 증감률에 기반하여 요청된 컨텐츠에 대한 네트워크 트래픽 예측량을 산정할 수 있다. 예를 들어, 이전 회차 컨텐츠 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량과 이전 회차 컨텐츠 제공자 네트워크 트래픽 사용량의 증감률의 두 값을 곱한 값을 요청된 컨텐츠에 대한 네트워크 트래픽 예측량으로 산정할 수 있다.
다른 실시예로서, 이전 회차 컨텐츠 전송에 사용된 컨텐츠 제공자 네트워크 트래픽 사용량 및 요청 컨텐츠에 대하여 등장 배우와 관련된 컨텐츠들의 평균 네트워크 트래픽량 증감률, 컨텐츠 제작자와 관련된 컨텐츠들의 평균 네트워크 트래픽량 증감률, 요청 컨텐츠와 동일한 장르 컨텐츠들의 평균 네트워크 트래픽량의 증감률 중 어느 하나에 기반하여(예를 들어, 곱한 값) 요청된 컨텐츠에 대한 네트워크 트래픽 예측량으로 산정할 수 있다.
따라서, 컨텐츠의 특성을 고려한 효율적인 컨텐츠 제공 서비스를 제공할 수 있다.
일 실시예에서, CDN 선택 장치는 각 CDN에 대하여 컨텐츠 제공자 네트워크 트래픽 가용량에 대한 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량의 비율(또는 그 반대)을 각 CDN의 선택 점수로 산정할 수 있다(S540).
네트워크 트래픽
계약량
컨텐츠 제공자
네트워크 트래픽 사용량
요청된 컨텐츠에 대한
네트워크 트래픽 예측량
CDN A 100 Gbit 50 Gbit 20 Gbit
CDN B 200 Gbit 100 Gbit
예를 들어서, 복수의 CDN A 및 CDN B와의 네트워크 트래픽 계약 용량 등이 표1과 같은 경우 CDN 선택 점수는 다음과 같이 계산될 수 있다.
CDN A의 선택 점수 = (100 - 50)/20 = 2.5
CDN B의 선택 점수 = (200 - 100)/20 = 5
다른 실시예에서, 컨텐츠 제공자 네트워크 트래픽 가용량은 컨텐츠 제공자와 각 CDN 제공자 사이에 계약된 트래픽 비용을 반영한 것일 수 있다.
예를 들어, CDN A와 컨텐츠 제공자가 계약한 트래픽 비용이 10 cent/Gbit이고, CDN B와 컨텐츠 제공자가 계약한 트래픽 비용이 30 cent/Gbit인 경우 이를 반영한 컨텐츠 제공자 네트워크 트래픽 가용량은 최저 트래픽 비용을 기준으로 CDN A의 경우 (100-50)/1=50 Gbit이고, CDN B의 경우 (200-100)/3=33.33 Gbit일 수 있다.
따라서, 이를 반영하면
CDN A의 선택 점수 = 50/20 = 2.5
CDN B의 선택 점수 = 33.33/20 = 1.67
일 수 있다. 즉, CDN 제공자와 컨텐츠 제공자가 계약한 네트워크 트래픽 비용이 클수록 컨텐츠 제공자 네트워크 트래픽 가용량은 실제 가용량보다 적게 반영될 수 있다.
따라서, 컨텐츠 제공자와 CDN 제공자의 계약 내용을 고려하여 경제적인 컨텐츠 제공 서비스를 제공할 수 있다.
CDN 선택 장치는 CDN 선택 점수 산정 시 각 CDN에 대한 가중치를 반영할 수 있고(S530), 예를 들어 계산된 선택 점수에 가중치를 곱하여 최종 선택 점수를 계산할 수 있다.
일 실시예에서, CDN 가중치는 컨텐츠를 요청한 사용자 단말의 위치를 반영한 것일 수 있다. 예를 들어, 컨텐츠를 요청한 사용자 단말과 CDN A의 에지 서버의 위치가 100 km이고 CDN B의 에지 서버의 위치가 500 km인 경우 CDN A의 가중치를 더 높게 설정할 수 있다. 또 다른 예를 들면, 컨텐츠를 요청한 사용자 단말의 위치한 지역에 CDN A의 에지 서버의 개수가 CDN B의 에지 서버의 개수보다 많은 경우 CDN A의 가중치를 더 높게 설정할 수 있다.
다른 실시예에서, CDN 가중치는 사용자 단말의 접속 네트워크(ISP: Internet Service Provider)를 반영한 것일 수 있다. 예를 들어, 컨텐츠를 요청한 사용자 단말의 인터넷 접속 네트워크가 CDN A와 동일한 사업자인 경우 CDN A의 가중치를 더 높게 설정할 수 있다.
다른 실시예에서, CDN 가중치는 사용자 단말의 접속 네트워크에 접속된 복수 사용자 단말의 네트워크 품질을 반영할 수 있다. 예를 들어, 컨텐츠를 요청한 사용자 단말의 인터넷 접속 네트워크 C에 접속되어 있는 현재 또는 과거의 사용자 단말들이 각 CDN으로부터 현재 또는 과거 컨텐츠 전송 시의 네트워크 품질을 CDN 가중치에 반영할 수 있다. 예를 들어, 컨텐츠를 요청한 사용자 단말의 인터넷 접속 네트워크 C에 접속되어 있는 현재 또는 과거의 사용자 단말들이 CDN A로부터 현재 또는 과거 컨텐츠 전송 시의 컨텐츠 재생 지연 시간이 0.5초였고, CDN B로부터 현재 또는 과거 컨텐츠 전송 시의 컨텐츠 재생 지연 시간이 2초였다면 CDN A의 가중치를 더 높게 설정할 수 있다.
일 실시예로서 각 CDN으로부터 현재 또는 과거 컨텐츠 전송 시의 네트워크 품질은 사용자 단말들의 각 CDN에 대한 품질은 버퍼링(buffering) 반복 정보, 컨텐츠 재생 실패 정보, 컨텐츠 재생 지연 정보, 평균 비트레이트(bitrate) 정보, 컨텐츠 캐싱(caching) 실패 비율, 캐시 버퍼 레이트(rate) 및 버퍼링 속도 중에서 적어도 어느 하나를 포함할 수 있고, CDN과의 컨텐츠 전송과 관련된 네트워크의 품질을 나타내는 파라미터들은 그 종류를 한정하지 않는다.
따라서, CDN의 상태 및 사용자 단말의 체감 품질(QoE: Quality of Experience)을 고려하여 사용자에게 효율적인 컨텐츠 제공 서비스를 제공할 수 있다.
CDN 선택 장치는 계산된 각 CDN의 선택 점수에 기반하여 각 CDN의 순위를 계산하고(S430), 계산된 순위에 기반하여 사용자 단말이 요청한 컨텐츠 전송을 위한 CDN 리스트를 생성(S440)할 수 있다.
일 실시예에서, CDN 선택 장치는 사용자 단말이 컨텐츠 전송 요청을 위해 각 CDN의 순위에 따라 순차적으로 요청할 수 있도록, 복수의 CDN에 대한 컨텐츠 데이터의 전송을 위한 접속 경로를 포함하여 매니페스트 파일을 생성하거나 매니페스트 파일 생성 장치로 상기 계산된 CDN 순위를 전송할 수 있다. 사용자 단말은 상기 우선 순위에 따라 복수의 CDN에 차례대로 컨텐츠 데이터의 전송을 요청할 수 있다.
CDN 선택 장치는 주기적 또는 비 주기적으로 각 CDN의 선택 점수를 계산하거나 각 CDN의 순위를 계산할 수 있고, 동일 사용자 단말의 동일 컨텐츠에 대한 후속 데이터(예를 들어, 두 번째 세그먼트)를 요청하는 경우에도 다시 계산할 수 있다.
따라서, 사용자 단말 또는 각 CDN의 네트워크 상태 변화를 반영하여 사용자 단말에 효율적인 컨텐츠 제공을 수행할 수 있다.
앞서 설명한 CDN 선택 방법은 컨텐츠 제공자의 서버 측에서 수행될 수도 있으나, 필요한 정보를 사용자 단말에게 전송하여 사용자 단말이 수행하게 할 수 있다.
예를 들어, 사용자 단말이 컨텐츠 제공자의 서버에 컨텐츠 전송을 요청하면, 상기 서버는 사용자 단말이 요청한 컨텐츠를 전송 가능한 CDN 리스트(접속 경로를 포함할 수 있다.), 컨텐츠 제공자 네트워크 트래픽 가용량 및 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량을 전송하고 CDN 순위를 계산하는 정책을 더 전송하여 사용자 단말로 하여금 우선 순위에 기반하여 컨텐츠를 제공 가능한 CDN 리스트를 생성하도록 할 수 있다.
이 경우, 요청 컨텐츠가 시리즈 컨텐츠의 특정 회차 컨텐츠인 경우 이전 회차 컨텐츠에 대한 컨텐츠 제공자 네트워크 트래픽 사용량을 사용자 단말로 더 전송할 수 있고, 다른 실시예로서 각 CDN의 가중치를 더 전송할 수 있다.
도 7을 참조하면, 사용자 단말은 RAM(random access memory)다 다른 동적 저장 장치를 이용한 메인 메모리부(711)를 포함할 수 있고, 메인 메모리부(711)는 프로세서부(713)의 동작 중에 발생하는 일시적인 변수 또는 정보들을 저장할 수 있다.
사용자 단말은 프로세서부(713)의 처리를 위한 정적인 정보 또는 명령어들을 저장하기 위한 ROM(read only memory)(712) 또는 다른 정적인 저장 장치를 포함할 수 있다.
사용자 단말은 저장부(712)를 포함할 수 있고, 상기 저장부(712)는 자기 저장 매체(magnetic storage media), 플래시 저장 매체(flash storage media)를 포함할 수 있고 일시적 저장 매체 또는 반 영구적 저장 매체일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
사용자 단말은 범용적인 중앙 처리 장치(CPU) 이외에도 ASICs(application specific integrated circuits), FPGAs(field programmable gate arrays), PLDs(programmable logic devices), CPLDs(complex programmable logic devices), RFICs(radio frquency integrated circuits), ASSPs(application specific standard products)로 구현될 수 있는 프로세서부(713)를 포함할 수 있다.
사용자 단말은 디스플레이 장치, 키보드, 마우스 등의 입력 또는 출력을 위한 I/O부(714)를 포함할 수 있고, 외부 장치와의 통신을 위한 통신부(715)를 포함할 수 있다. 사용자 단말은 상기 통신부(715)를 통해 ISP(720)를 거쳐 인터넷 등의 네트워크(730)에 접속할 수 있고, CDN(740)과 통신할 수 있다.
본 문서에서 사용된 용어 "부", "모듈"은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "부", "모듈"은, 예를 들어, 유닛(unit), 로직(logic), 논리블록 (logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "부", "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "부", "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "부", "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법 (예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들어, 메모리가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술된 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.

Claims (10)

  1. 컴퓨팅 장치에서 수행되는 방법으로서,
    복수의 CDN(Content Distribution Network)의 컨텐츠 제공자 네트워크 트래픽(traffic) 사용량을 전송 받는 동작;
    상기 CDN의 컨텐츠 제공자 네트워크 트래픽 사용량에 기반한 컨텐츠 제공자 네트워크 트래픽 가용량 및 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량에 기반하여 상기 복수의 CDN에 대한 선택 점수를 산정하는 동작, 상기 요청 컨텐츠는 시리즈(series) 컨텐츠의 회차 컨텐츠이고, 상기 회차는 상기 사용자 단말의 요청에 기반하고;
    상기 선택 점수에 기반하여 상기 복수의 CDN에 대한 CDN 순위를 계산하는 동작; 및
    상기 시리즈 컨텐츠의 이전 회차 컨텐츠에 대한 컨텐츠 제공자 네트워크 트래픽 사용량에 기반하여 상기 요청 컨텐츠의 네트워크 트래픽 예측량을 산정하되, 상기 시리즈 컨텐츠의 이전 회차 컨텐츠의 네트워크 트래픽 증가율에 더 기반하여 산정하는 동작을 포함하는 CDN 선택 서버의 CDN 선택 방법.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 선택 점수를 산정하는 동작은 CDN 가중치에 더 기반하고,
    상기 CDN 가중치는 상기 사용자 단말의 위치, 상기 사용자 단말의 접속 네트워크 및 상기 사용자 단말의 접속 네트워크에 접속된 복수 사용자 단말의 네트워크 품질 중에서 적어도 어느 하나에 기반하는 CDN 선택 서버의 CDN 선택 방법.
  5. 제4 항에 있어서,
    상기 복수 사용자 단말의 네트워크 품질은 버퍼링(buffering) 반복 정보, 컨텐츠 재생 실패 정보, 컨텐츠 재생 지연 정보, 평균 비트레이트(bitrate) 정보, 컨텐츠 캐싱(caching) 실패 비율, 캐시 버퍼 레이트(rate) 및 버퍼링 속도 중에서 적어도 어느 하나에 기반하는 CDN 선택 서버의 CDN 선택 방법.
  6. 제1 항에 있어서,
    상기 CDN의 네트워크 트래픽 계약 사용량과 상기 CDN의 컨텐츠 제공자 네트워크 트래픽 사용량에 기반하여 상기 CDN의 컨텐츠 제공자 네트워크 트래픽 가용량을 산정하는 동작을 더 포함하는 CDN 선택 서버의 CDN 선택 방법.
  7. 제1 항에 있어서,
    상기 컨텐츠 제공자 네트워크 트래픽 가용량은 CDN 네트워크 트래픽 계약 비용에 기반한 것인 CDN 선택 서버의 CDN 선택 방법.
  8. 복수의 CDN(Content Distribution Network)의 컨텐츠 제공자 네트워크 트래픽(traffic) 사용량을 전송 받는 통신부;
    상기 CDN의 컨텐츠 제공자 네트워크 트래픽 사용량에 기반한 컨텐츠 제공자 네트워크 트래픽 가용량 및 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량에 기반하여 상기 복수의 CDN에 대한 선택 점수를 산정하는 선택부; 및
    상기 선택 점수에 기반하여 상기 복수의 CDN에 대한 CDN 순위를 계산하는 순위 산정부를 포함하고,
    상기 요청 컨텐츠는 시리즈(series) 컨텐츠의 회차 컨텐츠이고,
    상기 회차는 상기 사용자 단말의 요청에 기반하고,
    상기 선택부는 상기 시리즈 컨텐츠의 이전 회차 컨텐츠에 대한 컨텐츠 제공자 네트워크 트래픽 사용량에 기반하여 상기 요청 컨텐츠의 네트워크 트래픽 예측량을 산정하되, 상기 시리즈 컨텐츠의 이전 회차 컨텐츠의 네트워크 트래픽 증가율에 더 기반하여 산정하는 CDN 선택 서버.
  9. 삭제
  10. 컴퓨팅 장치에,
    복수의 CDN(Content Distribution Network)의 컨텐츠 제공자 네트워크 트래픽(traffic) 사용량을 전송 받는 동작;
    상기 CDN의 컨텐츠 제공자 네트워크 트래픽 사용량에 기반한 컨텐츠 제공자 네트워크 트래픽 가용량 및 사용자 단말의 요청 컨텐츠에 대한 네트워크 트래픽 예측량에 기반하여 상기 복수의 CDN에 대한 선택 점수를 산정하는 동작, 상기 요청 컨텐츠는 시리즈(series) 컨텐츠의 회차 컨텐츠이고, 상기 회차는 상기 사용자 단말의 요청에 기반하고;
    상기 선택 점수에 기반하여 상기 복수의 CDN에 대한 CDN 순위를 계산하는 동작; 및
    상기 시리즈 컨텐츠의 이전 회차 컨텐츠에 대한 컨텐츠 제공자 네트워크 트래픽 사용량에 기반하여 상기 요청 컨텐츠의 네트워크 트래픽 예측량을 산정하되, 상기 시리즈 컨텐츠의 이전 회차 컨텐츠의 네트워크 트래픽 증가율에 더 기반하여 산정하는 동작을 실행시키기 위한 프로그램을 기록한 컴퓨팅 장치로 읽을 수 있는 매체.
KR1020180171356A 2018-12-27 2018-12-27 Cdn 선택 방법 및 장치 KR102110312B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180171356A KR102110312B1 (ko) 2018-12-27 2018-12-27 Cdn 선택 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180171356A KR102110312B1 (ko) 2018-12-27 2018-12-27 Cdn 선택 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102110312B1 true KR102110312B1 (ko) 2020-05-13

Family

ID=70729754

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180171356A KR102110312B1 (ko) 2018-12-27 2018-12-27 Cdn 선택 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102110312B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101574074B1 (ko) * 2014-06-30 2015-12-08 주식회사 님버스네트웍스 클라우드 cdn 시스템 및 이를 이용한 컨텐츠 제공방법
KR20160062554A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 콘텐츠 전송 네트워크 서비스를 제공하기 위한 방법 및 그 전자 장치
US20170134253A1 (en) * 2015-11-11 2017-05-11 Leauto Intelligent Technology (Beijing) Co. Ltd. Method and device for selecting content delivery network (cdn) node
KR20180060844A (ko) * 2016-11-29 2018-06-07 에스케이텔레콤 주식회사 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치
US20180219932A1 (en) * 2017-01-31 2018-08-02 Wipro Limited Method and system for proactively selecting a content distribution network (cdn) for delivering content

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101574074B1 (ko) * 2014-06-30 2015-12-08 주식회사 님버스네트웍스 클라우드 cdn 시스템 및 이를 이용한 컨텐츠 제공방법
KR20160062554A (ko) * 2014-11-25 2016-06-02 삼성전자주식회사 콘텐츠 전송 네트워크 서비스를 제공하기 위한 방법 및 그 전자 장치
US20170134253A1 (en) * 2015-11-11 2017-05-11 Leauto Intelligent Technology (Beijing) Co. Ltd. Method and device for selecting content delivery network (cdn) node
KR20180060844A (ko) * 2016-11-29 2018-06-07 에스케이텔레콤 주식회사 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치
US20180219932A1 (en) * 2017-01-31 2018-08-02 Wipro Limited Method and system for proactively selecting a content distribution network (cdn) for delivering content

Similar Documents

Publication Publication Date Title
US20180027035A1 (en) Redirection apparatus and method
US8230100B2 (en) Variable fidelity media provision system and method
Krishnappa et al. Optimizing the video transcoding workflow in content delivery networks
US20150256577A1 (en) Directing Fragmented Content
US9438654B2 (en) Fragment interface into dynamic adaptive streaming over hypertext transfer protocol presentations
US20190334803A1 (en) Initial Bitrate Selection for a Video Delivery Session
CN110268694A (zh) 在自适应位速率流传输期间在多个内容递送网络之间进行自适应切换的系统和方法
EP3047650B1 (en) Streaming media
US20120221681A1 (en) Method, apparatus and system for hierarchically requesting contents in a http streaming system
US9680904B2 (en) Adaptive buffers for media players
US20220060532A1 (en) Method for transmitting resources and electronic device
TW201521394A (zh) 在網路裝置所執行之進行流量對話中分配該網路可用頻寬之方法及其裝置
US20220141513A1 (en) Session based adaptive playback profile decision for video streaming
US11743535B2 (en) Video fragment file processing
US20170364833A1 (en) Ranking video delivery problems
EP3039636A1 (en) Generating frame chunking for video fast starts
Belmoukadam et al. On accounting for screen resolution in adaptive video streaming: QoE‐driven bandwidth sharing framework
KR20200081161A (ko) 컨텐츠 스트리밍 장치, 시스템 및 방법
KR102110312B1 (ko) Cdn 선택 방법 및 장치
TWI634789B (zh) 提供多媒體內容之內容部分至用戶端之方法及對應之快取
US10051024B2 (en) System and method for adapting content delivery
EP3457633A1 (en) Bandwith policy management in a self-corrected content delivery network
CN105593837B (zh) 用于在内容递送网络中递送内容的系统和方法
TW201501526A (zh) 提供多媒體內容之內容部分至用戶端之方法及對應之快取
van der Hooft et al. Performance characterization of low-latency adaptive streaming from video portals

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant