KR101617929B1 - 세그먼트된 콘텐츠를 위치시키고 검색하는 방법 및 시스템 - Google Patents

세그먼트된 콘텐츠를 위치시키고 검색하는 방법 및 시스템 Download PDF

Info

Publication number
KR101617929B1
KR101617929B1 KR1020137031289A KR20137031289A KR101617929B1 KR 101617929 B1 KR101617929 B1 KR 101617929B1 KR 1020137031289 A KR1020137031289 A KR 1020137031289A KR 20137031289 A KR20137031289 A KR 20137031289A KR 101617929 B1 KR101617929 B1 KR 101617929B1
Authority
KR
South Korea
Prior art keywords
content
location
database
segment
cdn
Prior art date
Application number
KR1020137031289A
Other languages
English (en)
Other versions
KR20140016968A (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 코닌클리즈케 케이피엔 엔.브이.
Publication of KR20140016968A publication Critical patent/KR20140016968A/ko
Application granted granted Critical
Publication of KR101617929B1 publication Critical patent/KR101617929B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/52Network services specially adapted for the location of the user terminal
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • 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/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

방법 및 시스템이 2 이상의 콘텐츠 전달 네트워크로부터 유래하는 세그먼트된 콘텐츠를 검색하기 위해 개시된다. 방법은 상기 제1 콘텐츠 위치 데이터베이스의 데이터베이스 엔트리에 대한 하나 이상의 포인터를 구비하는 상기 세그먼트된 콘텐츠와 관련되는 매니페스트 파일 템플릿을 검색하는 단계와; 상기 제1 또는 제2 콘텐츠 전달 네트워크에서의 전달 노드의 위치를 결정하기 위한 하나 이상의 데이터베이스 엔트리를 이용하는 단계로서, 상기 전달 노드가 상기 데이터베이스 엔트리와 관련된 세그먼트를 전달하기 위해 구성된, 단계; 및 상기 매니페스트 파일 템플릿의 포인터를 상기 결정된 위치로 대체하는 것에 의해 상기 세그먼트된 콘텐츠를 위치시키기 위한 매니페스트 파일을 발생시키는 단계;를 갖추어 이루어질 수 있다.

Description

세그먼트된 콘텐츠를 위치시키고 검색하는 방법 및 시스템{Locating and retrieving segmented content}
본 발명은 2 이상의 콘텐츠 전달 네트워크를 거쳐 분배된 세그먼트된 콘텐츠를 위치시키고 검색하는 것에 관한 것으로, 특히 비록 배타적이지는 않지만, 2 이상의 콘텐츠 전달 네트워크를 거쳐 분배된 세그먼트된 콘텐츠를 위치시키고 검색하기 위한 방법, 제어 기능 모듈(control function module) 및 클라이언트와, 이러한 방법을 이용하는 컴퓨터 프로그램 제품에 관한 것이다.
현재 증가하는 다수의 비디오 스트리밍 기술은 소위 세그멘테이션(segmentation)의 이용을 만든다. 예컨대, HAS(HTTP adaptive streaming)에 있어서, VCS(Scalable Video Coding) 및 공간적으로 세그먼트된 콘텐츠(spatially segmented content)(예, 타일화된 비디오(tiled video))는 각각 시간(time), 품질(quality) 및 공간(space)을 기초로 세그멘테이션을 이용한다. 세그먼테이션 프로세스 동안, 소위 매니페스트 파일(manifest file)이 발생되게 되고, 이는 다른 세그먼트와 세그먼트가 검색될 수 있는 위치 사이의 관계를 설명한다.
세그먼트된 비디오 콘텐츠는, 예컨대 고품질 비디오 스트림에서 저품질 비디오 스트림으로 전환하는 것에 의한, 대역폭 요구(bandwidth requirements)를 동적으로 조정하는데 이용될 수 있다. 더욱이, 세그먼트된 비디오는 또한 대중적인 비디오 세그먼트와 덜 대중적인 비디오 세그먼트 사이에서 분할(division)을 허용할 수 있다. 예컨대, 전형적으로 비디오의 시작과 관련된 콘텐츠는 마지막에서의 콘텐츠 보다 더욱 종종(더욱 대중적으로) 관찰되게 된다. 마찬가지로, 낮은 비트율의 더 낮은 품질의 비디오 콘텐츠(예컨대, 가장 낮은 해상도 HAS 세그먼트 또는 SVC 베이스 층(base layer))는 높은 품질의 콘텐츠(예컨대, 더 높은 해상도 HAS 세그먼트 또는 SVC 강화 층(enhancement layer)) 보다 더욱 빈번하게 관찰되게 된다. 따라서, 비디오 콘텐츠를 세그먼트할 때, 소정의 세그먼트는 다른 세그먼트 보다 소비자에 의해 (더욱) 더 종종 요청되게 된다. 이 특성은 소비자에게 콘텐츠를 전달하도록 구성된 CDN(content delivery network)에 의해 유용하게 이용될 수 있다. 이는 예컨대 CDN의 다중 노드에서 더욱 대중적인 콘텐츠와 관련된 세그먼트를 저장할 수 있어, 대역폭 문제가 감소되고 효과적인 전달이 보증된다. CDN 콘텐츠 위치 관리기(content location manager)는 세그먼트가 검색될 수 있는 CDN의 위치를 집중적으로 관리할 수 있다.
몇몇 경우에 있어서, 콘텐츠의 하나와 관련된 세그먼트는 2 이상의 다른 CDN 도메인에 속하는 노드에 저장될 수 있다. 해당 경우에 있어서, 다른 CDN 도메인에 세그먼트를 위치시키도록 이용가능한 중앙 위치 관리기(central location manager)는 없다. 따라서, 제1 CDN과 관련된 매니페스트 파일은 제1 CDN이 제2 CDN의 세그먼트의 위치에 관한 지식이 없음에 따라 다른 CDN들에서 오직 라우팅 기능(routing function)으로만 언급될 수 있다. 따라서, 매번 다른 CDN의 세그먼트가 요청되고, 해당 CDN에 대한 라우팅 요청(routing request)이 요구된다. 이러한 요청은 요청-라우팅 지연(request-routing delays)을 발생시킬 수 있어 이는 요청된 세그먼트를 수신하기 위해 더 긴 시간을 취한다.
이러한 라우팅 요청은 CDN의 성능에 대한 부정적인 영향을 갖을 수 있다. 다수의 세그먼트를 구비하는 콘텐츠는 다른 CDN들에 대해 다수의 라우팅 요청을 요구할 수 있고, 그에 의해 사용자 당 요청 라우팅 부하를 급격하게 증가시킨다. 더욱이, 라우팅-요청 지연은, 특히 클라이언트가 콘텐츠와의 사용자-상호작용(user-interaction)(예컨대, 공간적으로 세그먼트된 콘텐츠의 경우에 줌잉(zooming) 및 패닝 요청)을 허용할 때, 또한 클라이언트의 성능에 부정적으로 영향을 미칠 수 있다. 라우팅 요청 지연(routing request delays)은 소정의 요청된 콘텐츠를 디스플레이함에 있어서 지연을 야기시킬 수 있어 사용자 경험에 부정적으로 영향을 미친다.
상기 언급된 라우팅 요청 메카니즘 외의 CDN 상호연결 구조(interconnect schemes)는 http://tools.ietf.orq/html/draft-peterson-cdni-strawman-O0에 개시되어 있다. 이러한 항목에 있어서, 구조는 DNS 룩-업(look-ups) 및 HTTP 리디렉트(redirects)를 기초로 제안된다. 그러나, 이러한 기술은 요청된 세그먼트 당 다중 리디렉트(multiple redirects)를 요구하고 그에 의해 원하지 않는 지연을 유도하게 되고, 이는 빠른 콘텐츠 상호작용을 위한 짧은 응답 시간을 요구하는 콘텐츠 서비스를 이용할 때 바람직하지 않다.
따라서, 2 이상의 CDN 도메인을 거쳐 분배된 세그먼트의 효과적 국소화(localization)에 대한 종래 기술에서의 필요성이 있다. 특히, 다중 CDN 도메인에서 세그먼트의 국소화를 위한 방법 및 시스템에 대한 필요성이 있어 세그먼트는 최소 지연으로 클라이언트에게 전달될 수 있고, 그에 의해 사용자-상호작용 기능성, 예컨대 패닝(panning), 줌잉(zooming), 틸팅(tilting), 높은 해상도 버전과 낮은 해상도 버전 사이에서의 끊김 없는 전환(seamless switching) 등을 요구하는 콘텐츠 플레이-아웃 장치를 위한 콘텐츠 서비스를 가능하게 한다.
본 발명은 상기한 점을 감안하여 발명된 것으로, 종래 기술에서 알려진 적어도 하나의 결점을 감소 또는 제거하기 위한 것으로, 세그먼트된 콘텐츠를 위치시키고 검색하는 방법 및 시스템을 제공함에 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 제1 측면은, 바람직하기는 세그먼트된 또는 분해된 콘텐츠(segmented or fragmented content), 바람직하기는 공간적으로 세그먼트된 콘텐츠를 위치시키기 위한 방법을 제공하고, 여기서 상기 세그먼트된 콘텐츠는 적어도 제1 콘텐츠 위치 데이터베이스와 관련된 제1 콘텐츠 전달 네트워크와 제2 콘텐츠 위치 데이터베이스와 관련된 제2 콘텐츠 전달 네트워크를 거쳐 분배될 수 있다.
상기 방법은: 상기 제1 콘텐츠 위치 데이터베이스의 데이터베이스 엔트리에 대한 하나 이상의 포인터를 구비하는 상기 세그먼트된 콘텐츠와 관련되는 매니페스트 파일 템플릿을 검색하는 단계와; 상기 제1 또는 제2 콘텐츠 전달 네트워크에서의 전달 노드의 위치를 결정하기 위한 하나 이상의 데이터베이스 엔트리를 이용하는 단계로서, 상기 전달 노드가 상기 데이터베이스 엔트리와 관련된 세그먼트를 전달하기 위해 구성된, 단계; 및 상기 매니페스트 파일 템플릿의 포인터를 상기 결정된 위치로 대체하는 것에 의해 상기 세그먼트된 콘텐츠를 위치시키기 위한 매니페스트 파일을 발생시키는 단계;를 갖추어 이루어질 수 있다.
실시예에 있어서, 상기 세그먼트된 콘텐츠는 제1 또는 제2 콘텐츠 전달 네트워크를 거쳐 분배된다.
실시예에 있어서, 상기 매니페스트 파일은 제1 콘텐츠 전달 네트워크에 의해 검색될 수 있고 및/또는 제2 콘텐츠 전달 네트워크에 의해 검색될 수 있다.
실시예에 있어서, 상기 매니페스트 파일 템플릿이 상기 세그먼트된 콘텐츠의 적어도 일부를 위치시키기 위한 위치 요청의 수신에 응답하여 검색될 수 있다.
다른 실시예에 있어서, 상기 위치 요청이 사용자(또는 클라이언트) 요청, 바람직하기는 세그먼트된 콘텐츠를 요청하는 것이다. 또 다른 실시예에 있어서, 상기 위치 요청은 네트워크의 콘텐츠 제어 기능, 바람직하기는 IPTV 제어 기능, 선택적으로 IMS 기반 기능으로부터의 요청일 수 있다.
실시예에 있어서, 방법은: 상기 제1 또는 상기 제2 콘텐츠 전달 네트워크가 상기 데이터베이스 엔트리 중 적어도 하나와 관련된 세그먼트를 전달하기 위해 가장 적절한가의 여부를 상기 데이터베이스 엔트리 중 적어도 하나에 대해 결정하는 단계를 갖추어 이루어질 수 있다.
다른 실시예에 있어서, 방법은:
상기 제2 콘텐츠 전달 네트워크의 전달 노드의 위치를 결정하도록 상기 제2 콘텐츠 위치 데이터베이스에 대해 요청을 보내는 단계를 갖추어 이루어지고, 상기 전달 노드가 상기 데이터베이스 엔트리 중 적어도 하나와 관련된 세그먼트를 전달하기 위해 적절하다,
실시예에 있어서, 상기 제2 콘텐츠 위치 데이터베이스보 보내진 상기 요청은 진행된, 선택적으로 변경된, 위치 요청이다.
다른 실시예에 있어서, 상기 제2 콘텐츠 위치 데이터베이스로 보내진 상기 요청은, 하나 이상의 세그먼트 식별자를 구비하는, 부분 매니페스트 파일을 구비할 수 있다.
다른 실시예에 있어서, 상기 결정된 위치는 제2 콘텐츠 전달 네트워크로부터 제1 콘텐츠 전달 네트워크로 전송된다.
다른 실시예에 있어서, 상기 결정된 위치는, 바람직하기는 갱신된, 부분 매니페스트 파일의 일부로서 전송된다.
또 다른 실시예에 있어서, 상기, 바람직하기는 가장 적절한, 콘텐츠 전달 네트워크는 상기 위치 요청을 기초로, 바람직하기는 상기 요청과 관련된 위치 정보를 기초로 결정될 수 있다.
하나의 실시예에 있어서, 상기 제1 콘텐츠 위치 데이터베이스의 상기 데이터베이스 엔트리가 세그먼트를 전달하도록 구성된 전달 노드를 위치시키기 위한 하나 이상의 로케이터를 구비하는 데이터베이스 위치에 대한 포인터를 구비할 수 있다.
다른 실시예에 있어서, 상기 제1 콘텐츠 위치 데이터베이스의 상기 데이터베이스 엔트리가 상기 제2 콘텐츠 전달 노드의 콘텐츠 위치 데이터베이스에 대해 하나 이상의 포인터를 구비하는 데이터베이스 위치에 대한 포인터를 구비할 수 있다.
다른 측면에 있어서, 본 발명은 제1 콘텐츠 위치 데이터베이스를 구비하는 제1 콘텐츠 전달 네트워크로부터 제2 콘텐츠 위치 데이터베이스를 구비하는 제2 콘텐츠 전달 네트워크로 세그먼트된 콘텐츠의 적어도 일부를 이동시키기 위한 방법에 관한 것으로, 상기 방법이:
상기 제1 콘텐츠 위치 데이터베이스의 데이터베이스 엔트리에 대한 하나 이상의 포인터를 구비하는 상기 세그먼트된 콘텐츠와 관련되는 매니페스트 파일 템플릿을 검색하는 단계와;
상기 매니페스트 파일 템플릿에서 식별된 세그먼트의 적어도 일부를 위한 세그먼트 메트릭을 결정하는 단계;
상기 세그먼트 메트릭을 기초로, 상기 제2 콘텐츠 전달 네트워크로 이동시키도록 하나 이상의 세그먼트를 선택하는 단계;
상기 선택된 하나 이상의 세그먼트와 관련된 상기 매니페스트 파일 템플릿의 포인터를 상기 선택된 세그먼트를 전달하도록 구성된 상기 제1 콘텐츠 전달 네트워크의 전달 노드의 하나 이상의 위치로 대체하는 것에 의해 부분 매니페스트 파일을 발생시키는 단계; 및
상기 부분 매니페스트 파일을 상기 제2 콘텐츠 전달 네트워크로 보내는 단계;를 갖추어 이루어진다.
하나의 실시예에 있어서, 방법은 상기 부분 매니페스트 파일에서 식별된 세그먼트의 적어도 일부를 수집하도록 상기 제2 콘텐츠 전달 네트워크를 요청하는 단계를 더 갖추어 이루어질 수 있다.
다른 측면에 있어서, 본 발명은 세그먼트된 콘텐츠를 위치시키기 위한 제어 기능 모듈에 관한 것으로, 상기 콘텐츠가 적어도 제1 콘텐츠 위치 데이터베이스와 관련된 제1 콘텐츠 전달 네트워크와 제2 콘텐츠 위치 데이터베이스와 관련된 제2 콘텐츠 전달 네트워크를 거쳐 분배되고, 상기 제어 기능 모듈이: 상기 제1 콘텐츠 위치 데이터베이스의 데이터베이스 엔트리에 대한 하나 이상의 포인터를 구비하는 매니페스트 파일 템플릿을 검색하고; 상기 제1 또는 제2 콘텐츠 전달 노드에서의, 상기 데이터베이스 엔트리와 관련된 세그먼트를 전달하기 위해 구성되는, 전달 노드의 위치를 결정하기 위한 하나 이상의 데이터베이스 엔트리를 이용하며; 포인터를 상기 결정된 위치로 대체하는 것에 의해 상기 세그먼트된 콘텐츠를 위치시키기 위한 매니페스트 파일을 발생시키기 위해; 구성된다.
또 다른 측면에 있어서, 본 발명은 상기 설명된 바와 같은 제어 기능 모듈과 통신하도록 구성된 클라이언트에 관한 것으로, 상기 클라이언트가: 상기 제어 기능 모듈에 대해 상기 세그먼트된 콘텐츠의 적어도 일부를 위치시키기 위한 위치 요청을 보내고; 상기 제1 및 제2 콘텐츠 전달 네트워크의 전달 노드와 관련된 위치 정보를 구비하는 매니페스트 파일을 수신하며; 상기 위치 정보를 기초로 상기 전달 노드의 적어도 하나에 세그먼트를 위한 요청을 보내도록; 구성된다.
본 발명은 또한 컴퓨터의 메모리에서 실행될 때, 상기한 바와 같은 방법 단계 중 적어도 하나를 실행하기 위해 구성된 소프트웨어 코드부를 구비하여 구성되는 컴퓨터 프로그램 제품에 관한 것이다.
본 발명은 본 발명에 따른 실시예를 도식적으로 나타내는 첨부된 도면을 참조하여 더욱 설명된다. 본 발명은 어떠한 방법에 있어서도 이들 특정 실시예로 제한되지 않음이 이해될 것이다.
도 1은 본 발명의 실시예에 따른 콘텐츠 전달 시스템을 나타낸다.
도 2는 본 발명의 실시예에 따른 콘텐츠 위치 데이터베이스(content location database)를 나타낸다.
도 3은 본 발명의 실시예에 따른 매니페스트 파일 또는 매니페스트 파일 템플릿(manifest file template)의 일반적 데이터 구조를 나타낸다.
도 4는 본 발명의 실시예에 따른 콘텐츠 수집(content ingestion)을 위한 플로우차트를 나타낸다.
도 5는 본 발명의 실시예에 따른 콘텐츠 수집을 위한 시퀀스 도를 나타낸다.
도 6은 본 발명의 실시예에 따른 콘텐츠 수집 후 매니페스트 파일의 갱신을 나타낸다.
도 7은 본 발명의 실시예에 따른 MF 템플릿으로 정적(static) MF를 갱신하는 플로우차트 및 시퀀스 도를 나타낸다.
도 8은 본 발명의 실시예에 따른 매니페스트 파일 템플릿을 갱신하는 프로세스를 나타낸다.
도 9는 본 발명의 실시예에 따른 부분 MF(partial Manifest File)를 이용해서 제1 CDN으로부터 제2 CDN으로 세그먼트를 이동시키는 흐름도를 나타낸다.
도 10은 본 발명의 실시예에 따른 부분 MF를 이용해서 제1 CDN으로부터 제2 CDN으로 세그먼트를 이동시키는 시퀀스 도를 나타낸다.
도 11은 본 발명의 실시예에 따른 콘텐츠 수집을 위해 이용된 부분 MF의 형식을 나타낸다.
도 12는 본 발명의 실시예에 따른 사용자 요청을 서빙하기 위한 플로우차트를 나타낸다.
도 13은 본 발명의 실시예에 따른 DMF를 발생시키기 위한 프로세스의 시퀀스 도를 나타낸다.
도 14는 본 발명의 실시예에 따른 사용자 요청과 관련된 DMF의 형식을 나타낸다.
도 15는 본 발명의 실시예에 따른 사용자 요청과 관련된 매니페스트 파일을 발생시키는 프로세스를 위한 플로우차트를 나타낸다.
도 16은 본 발명의 실시예에 따른 사용자 요청과 관련된 매니페스트 파일을 발생시키는 프로세스를 위한 시퀀스 도를 나타낸다.
도 17은 본 발명의 실시예에 따른 CDN A로부터 CDN B로 세그먼트 위치 요청(segment location request)을 취급하는 흐름도를 나타낸다.
도 18은 본 발명의 실시예에 따른 DMF를 기초로 제1 및 제2 CDN으로부터 세그먼트된 콘텐츠를 검색하는 프로세스를 위한 시퀀스 도를 나타낸다.
도 1은 본 발명의 실시예에 따른 클라이언트에게 세그먼트된 콘텐츠를 전달하기 위한 콘텐츠 전달 시스템(100)을 나타낸다. 콘텐츠 전달 시스템은 콘텐츠 전달 네트워크(content delivery networks; CDNs), 예컨대 제1 CDN(102) 및 제2 CDN(104), 클라이언트(108)를 호스팅(hosting)하는 하나 이상의 터미널에 전송 네트워크(transport network; 107)를 매개로 연결된 콘텐츠 소스(content source; 106)를 구비하여 구성될 수 있다. 콘텐츠 소스는 콘텐츠 공급자 시스템(content provider system; CPS), 콘텐츠 준비 시스템(content preparation system) 또는 다른 CDN과 관련될 수 있다. CPS는, 클라이언트를 이용해서 콘텐츠를 구매 및 수신할 수 있는, 소비자에게 콘텐츠, 예컨대 비디오 타이틀을 제공하도록 구성될 수 있다.
터미널은 일반적으로 콘텐츠 처리 장치, 예컨대 전자 태블릿(electronic tablet), 스마트 폰, 노트북, 미디어 플레이어 등과 같은 (모바일) 콘텐츠 플레이-아웃 장치와 관련될 수 있다. 몇몇 실시예에 있어서, 터미널은 콘텐츠 플레이-아웃 장치에 의한 미래 소비를 위해 콘텐츠를 처리 및 잠정적으로 저장하기 위해 구성된 셋-톱 박스 또는 콘텐츠 저장 장치일 수 있다.
각 CDN은 전달 노드(delivery nodes; 110,112,114) 및 적어도 하나의 중앙 CDN 노드(116,118)를 구비하여 구성될 수 있다. 각 전달 노드는 콘트롤러(120,122,124) 및 콘텐츠를 저장 및 버퍼링하기 위한 캐시(cache; 126,128,130)를 구비하거나 관련될 수 있다. 각 중앙 CDN 노드는 외부 소스, 예컨대 콘텐츠 공급자 또는 다른 CDN으로부터 콘텐츠의 수집을 제어하기 위한 수집 노드(ingestion node (또는 COF(content origin function)); 125,127)와, 콘텐츠가 CDN 내에 저장되는 곳에 관한 정보를 유지하기 위한 콘텐츠 위치 데이터베이스(content location database; 134,136), 및 전달 노드로의 콘텐츠의 하나 이상의 카피의 분배를 제어하고 적절한 전달 노드로 클라이언트를 리디렉트하기 위한 CDNCF(CDN control function; 123,128)(프로세스는 또한 요청 라우팅으로서 알려진다)를 구비하거나 관련될 수 있다. 분배(distribution)가 제어될 수 있어 CDN을 통해 클라이언트에게 콘텐츠 전달을 위한 충분한 대역폭이 보증된다. 하나의 실시예에 있어서, CDN은 ETSI TS 182 019에서 설명된 바와 같은 CDN과 관련될 수 있다.
소비자는, 구매가능 콘텐츠를 식별하는 타이틀 레퍼런스(title references)를 제공하라도록 구성된, WP(web portal; 132)로 요청을 보냄으로써 CPS(131)로부터 콘텐츠, 예컨대 비디오 타이틀을 구매할 수 있다. 요청에 응답하여, 클라이언트는 WP로부터 타이틀 레퍼런스의 적어도 일부와, 선택된 콘텐츠를 전달할 수 있는, CDN의 CDNCF의 위치 정보, 예컨대 URL을 수신할 수 있다.
CDNCF는, 클라이언트에게 선택된 콘텐츠를 전달하도록 구성된, 하나 이상의 전달 노드와 관련된 클라이언트 위치 정보를 보낼 수 있다. 전형적으로, CDNCF는, 클라이언트에게 선택된 콘텐츠를 전달하기 위해 가장 적절한, CDN의 전달 노드를 선택할 수 있다. 전달 노드를 선택하기 위한 기준은 클라이언트의 위치 및 전달 노드의 처리 부하를 포함할 수 있다.
클라이언트는 HTTP 및/또는 DNS 시스템을 포함하는 다양한 알려진 기술을 이용해서 CDN의 전달 노드를 접촉할 수 있다. 더욱이, 다양한 스트리밍 프로토콜은 클라이언트에게 콘텐츠를 전달하는데 이용될 수 있다. 이러한 프로토콜은 HTTP 및 RTP 형태의 스트리밍 프로토콜을 포함할 수 있다. 바람직한 실시예에 있어서, HAS(HTTP adaptive streaming), DVB 적응형 스트리밍, DTG 적응형 스트리밍, MPEG DASH, ATIS 적응형 스트리밍, IETF HTTP Live 스트리밍 및 관련된 프로토콜과 같은 적응형 스트리밍 프로토콜(adaptive streaming protocol)이 이용될 수 있다.
CDN들은 세그먼트된 콘텐츠를 수집 및 분배하도록 구성된다. 아직 세그먼트되거나 또는 프래그먼트(fragment)되지 않은 콘텐츠는 때때로 또한 오리지날 콘텐츠(Original Content)로 언급된다. 알려진 세그먼트된 스트리밍 시스템은, 시간 세그먼테이션(time segmentation), 예컨대 HAS(HTTP adaptive streaming), 품질-기반 세그먼테이션(quality-based segmentation), 예컨대 VCS(Scalable Video Coding) 및/또는 공간 세그먼테이션(spatial segmentation), 예컨대 타일화된 비디오(tiled video)를 기초로 할 수 있다. 이들 시스템은, 콘텐츠가, MPEG 또는 AVI와 같은 알려진 전송 콘테이너(transport container)에 따라 포맷될 수 있는, 다수의 세그먼트(조각 또는 부분)로 유래될 수 있음을 공통으로 갖는다. 세그먼트는 때때로 또한, 더욱 일반적인 방법으로, 청크들(Chunks)로서 업급된다. 세그먼트는 그들 자신의 URL에 의해 분리적으로 어드레스가능하고 파일-시스템 관점(file-system perspective)으로부터 단일 파일로서 저장된다. 몇몇 HTTP 기반 콘텐츠 스트리밍 기술에 있어서, 프레그먼트(Fragment)의 대안적인 용어가 이용된다. 다른 형태의 Chunks인, Fragments는 (콘텐츠 세그멘테이션 대신) 콘텐츠 단편화(content fragmentation)의 결과로서 형성된다.
예컨대, Microsoft의 Smooth Streaming에서 이용된, 단편화(또는 가상 세그먼테이션(virtual segmentation))에 따르면, 동일한 청크 콜렉션(Chunk Collection)에 속하는 모든 청크, 또는 프래그먼트는, 단일 파일의 일부로서, 함께 저장된다. 반면, 이러한 형태의 청크된 콘텐츠인, Fragmented MP4를 저장하기 위해 허용되는 다수의 콘텐츠 포맷이 가장 통상적으로 이용될 수 있다. 단편화에 따르면, 특정 청크가 공통 파일 URL을 타임스탬프(timestamp), 바이트 범위(byterange)의 어느 것에 의해, 또는 몇몇 다른 방법에서 관심이 되는 청크를 유일하게 식별하는 식별자(identifier)에 따라 하부기호화(subfixing)함에 의해 어드레스가능하다. 이는 본 발명의 실시예는 또한 시스템 또는 기술에 적용됨이 주목되어져야 하고, 여기서 세그먼테이션 보다는 단편화(fragmentation)가 이용된다. 따라서, 이러한 어플리케이션의 목적을 위해, 용어 세그먼트는, 이들이 종래 기술과 마주칠 수 있음에 따라, 가장 적절할 때 언제든지, Segment, 또는 Fragment, 또는 더 넓은 용어에서 Chunk를 반영하는데 이용될 수 있다.
세그먼트들 사이의 관계는, 특정 파일명 확장자, 예컨대 .mf, .xml 및 .m3u8를 이용해서 저장 및 식별될 수 있는, 이후 매니페스트 파일로서 언급되는, 특정 데이터 구조에서 설명될 수 있다. 매니페스트 파일은 하나 이상의 전달 노드 상의 다른 세그먼트의 위치 및 이름을 더 설명할 수 있다.
세그먼트, 특히 대중적 세그먼트는 CDN의 하나 이상의 전달 노드로부터 검색될 수 있다. 더욱이, 소정의 상황에 있어서, 세그먼트는 다른 CDN 도메인의 전달 노드로부터 검색되어져야 한다. CDNCF는 세그먼트가 검색될 수 있는 위치를 관리할 수 있다. 그를 위해, CDNCF는 콘텐츠 위치 데이터 베이스(134,136)를 이용할 수 있다. 하나의 실시예에 있어서, 콘텐츠 위치 데이터베이스는, ETSI TS 182 019에서 설명된 바와 같이, ALF(Asset Location Function)와 관련될 수 있다.
도 2는 본 발명의 실시예에 따른 콘텐츠 위치 데이터베이스(content location database)를 나타낸다. 콘텐츠 위치 데이터베이스는 특정 형태의 파일명과 관련된 엔트리(entries)를 구비하는 메인 위치 테이블(202)을 구비하여 구성될 수 있다. 각 엔트리는 CDNCF의 CDN 도메인(예컨대M CDN A) 내 또는 다른 CDN 도메인(예컨대, CDN B) 내에 전달 노드를 위치시키기 위한 하나 이상의 파일 로케이터(file locators), 예컨대 URL들을 구비하는 데이터베이스 레코드(database record; 204-212)로 언급되는 위치 포인터(location pointer)를 더 구비하여 구성된다. 예컨대, 파일명 Movie-2와 관련된 데이터베이스 엔트리(214)는 파일 형태 "Video file"과 관련되고 CDN A의 제1 및 제2 전달 노드와 관련된 제1 및 제2 캐시를 위치시키는 2개의 URL을 구비하는 데이터베이스 레코드를 가리키는(pointing) 위치 포인터 Movie-2_Location를 구비한다.
마찬가지로, 파일명 Movie-4와 관련된 데이터베이스 엔트리(216)는 파일 형태 "Static Manifest File"과 관련되고 URL을 구비하는 레코드를 데이터베이스 엔트리에서 식별된 매니페스트 파일을 전달하도록 구성된 CDN A의 전달 노드에 대해 향하여 가리키는 위치 포인터 Movie-4_Location을 구비한다. 정적 매니페스트 파일 형태(static manifest file type)는 사용자 요청을 기초로 동적으로 채택되지는 않지만 CDN 노드 상에 저장되는 것과 동일한 형태로 클라이언트에게 전달되는 매니페스트 파일로 언급된다. 정적 매니페스트 파일은 다수의 세그먼트를 식별하고, 여기서 세그먼트는 매니페스트 파일 그 자체와 동일한 위치에 저장된다.
파일명 Movie-5와 관련된 다른 데이터베이스 엔트리(218)는 소위 "Manifest File Template"으로서 식별되고, 이러한 매니페스트 파일 템플릿을 전달하도록 구성된 CDN A의 전달 노드의 캐시를 위치시키기 위한 URL을 구비하는 레코드를 향하여 가리키는 위치 포인터 Movie-5_Location를 구비한다.
매니페스트 파일 템플릿 형태는 다수의 세그먼트 명, 예컨대 Movie-5_1를 식별하는 매니페스트 파일에 대해 언급된다. 통상적(정적) 매니페스트 파일과 달리, 매니페스트 파일 템플릿은 특정 세그먼트를 전달하도록 구성된 콘텐츠 전달 노드에 대해 URL을 구비하지 않는다. 대신, 세그먼트의 각각 또는 적어도 일부는 콘텐츠 위치 데이터베이스, 예컨대 cdncf.cdn_A.com/res/Movie-5_1.seg의 데이터베이스 엔트리에 대한 포인터와 관련될 수 있다. 포인터는 세그먼트의 위치(들) 상에서 정보를 찾는데 이용될 수 있다.
이하 더욱 상세히 설명되는 바와 같이, 매니페스트 파일 템플릿은 소위 DMF(동적 매니페스트 파일; dynamic manifest file)를 발생시키도록 CDN에 의해 이용될 수 있다. Manifest File Template은 최종 사용자에게 전달되지는 않고, 단지 동적 매니페스트 파일을 구축하기 위한 기반으로서만 이용됨을 주지해야만 한다.
동적 매니페스트 파일은 정적 매니페스트 파일에 대한 대안이고 세그먼트된 콘텐츠를 위치시키기 위해 이용되며, 여기서 세그먼트는 하나 이상의 CDN 도메인에 위치된 다중 전달 노드를 거쳐 분배될 수 있다. 세그먼트의 이러한 분배는 덜 빈번하게 요청된 세그먼트 보다 더 많은 전달 노드에 대해 더욱 빈번하게 요청된 (예컨대, 대중적) 세그먼트의 저장을 허용하여 이러한 세그먼트의 효율적인 전달 및 저장이 보증된다.
동적 매니페스트 파일은 사용자 요청과 관련된 정보를 기초로 발생될 수 있다. 예컨대, 동적 매니페스트 파일은 세그먼트된 콘텐츠를 요청하는 사용자의 위치를 기초로 발생될 수 있다. 사용자의 위치 정보, 예컨대 IP 어드레스를 이용하면, CDNCF는 전달 노드가 사용자에게 세그먼트를 전달하기 위해 가장 적절함을 결정할 수 있다.
세그먼트 형태의 2개의 파일명 Movie-5_1 및 Movie-5_2과 관련되는 다른 데이터베이스 엔트리(220 및 222)는 데이터베이스 엔트리에서 식별된 세그먼트를 전달하도록 구성된 전달 노드를 위치시키기 위한 URL들을 구비하는 레코드에 대해 위치 포인터를 구비한다. 더욱이, 위치 포인터 Movie-5-1_Location와 관련된 레코드에서 나타낸 바와 같이, 위치는 또한 다른 CDN 도메인(CDN B)의 CDNCF 기능(function)에 대한 레퍼런스로서 정의될 수 있다. 이러한 경우에 있어서, 이러한 위치 레퍼런스는 또한 다른 도메인(본 예에서는 "Movie-5.1. seg")의 특정 세그먼트를 유일하게 식별하도록 콘텐츠 식별자를 포함하게 된다. 이하 더욱 상세히 설명되는 바와 같이, 이러한 레퍼런스는 다른 CDN 도메인에서의 세그먼트를 수신하기 위한 메카니즘을 허용한다. 하나의 CDN 도메인의 CDNCF는 다른 CDN 도메인의 콘텐츠 위치 데이터베이스에 대한 직접 억세스를 갖지 않게 됨을 주지해야 한다. 다른 CDN 도메인의 특정 세그먼트의 위치를 얻기 위해, 요청은 다른 도메인의 CDNCF 기능을 통해 나아가게 되고, 콘텐츠 식별자는 요청된 세그먼트를 식별하는데 이용된다.
도 3은 본 발명의 실시예에 따른 매니페스트 파일(manifest file; MF) 또는 매니페스트 파일 템플릿의 일반적 데이터 구조를 나타낸다. MF는 헤더 섹션(304) 및 세그먼트 섹션(306)을 구비하여 구성된다. 헤더 섹션은 세그먼트 섹션에서 정의된 세그먼트에 관한 그로벌 세그먼트 정보(global segment information)를 구비하여 구성된다. 그로벌 정보는 파일의 이름, 세그먼트의 형태 및 포맷, 세그먼테이션의 형태 및 세그먼트 간의 관계(예컨대, 세그먼트 간의 잠정적 또는 공간 관계)를 포함할 수 있다. 세그먼트 섹션은 하나의 콘텐츠를 운반하는 개별 세그먼트 상의 로컬 세그먼트 정보(local segment information; 308)를 구비하여 구성될 수 있다. 로컬 세그먼트 정보는 세그먼트의 이름 및 크기, 플레이-아웃 구간, 세그먼트에서 운반된 콘텐츠의 해상도, 세그먼트의 위치(예컨대, 시간 또는 공간의 관점에서) 및 CDN 도메인에서 전달 노드를 위치시키기 위한 로케이터를 포함할 수 있다. 도 2를 참조하여 이미 설명된 바와 같이, 로케이터는 (예컨대, MF 템플릿에서 이용된 바와 같이) 콘텐츠 위치 데이터베이스의 데이터베이스 엔트리에 대한 포인터 또는 (예컨대, 정적 MF에서 이용된 바와 같이) URL의 형태를 갖을 수 있다.
도 4 및 도 5는 각각 본 발명의 실시예에 따른 세그먼트된, 바람직하기는 공간적으로 세그먼트된, 콘텐츠를 수집하는 프로세스와 관련된 플로우차트 및 시퀀스 도를 나타낸다.
도 4의 프로세스는 소스, 예컨대 콘텐츠 공급자, CDN 또는 다른 콘텐츠 처리 엔트리로부터 유래하는 콘텐츠 수집을 위한 요청을 수신하는 CDNCF에 따라 시작할 수 있다(단계 402). 요청은 위치 정보, 예컨대 URL, 및 콘텐츠 식별자를 구비하여 구성될 수 있다. 응답에 있어서, CDNCF는, 매니페스트 파일(MF) 또는 통상적인 콘텐츠 파일에 관련될 수 있는, 파일을 수신할 수 있다(단계 404).
CDNCF가 MF를 검출하면(단계 406, 408), MF에서 리스트된 세그먼트와 관련된 위치 정보, 예컨대 URL들을 검색하기 위해 수신된 MF를 파싱(parse)할 수 있다(단계 410). 이어 CDNCF는 수신된 MF를 기초로 세그먼트의 수집을 실행하도록 수집 노드(ingestion node)를 명령할 수 있다(단계 412). 선택적으로, 수집 노드는, 트랜스코딩( transcoding)과 같은, 수신된 세그먼트 상에서 추가적인 처리를 수행할 수 있다.
처리 부하, 데이터 트래픽(data traffic) 및/또는 CDN(CDN 메트릭(metrics))의 전달 노드와 관련된 지형학적 근접 정보(geographical proximity information)를 기초로, 이어 CDNCF는 하나 이상의 분배 노드와 관련된 캐시에 대해 세그먼트를 분배할 수 있다(단계 414). 그 후, CDNCF는 세그먼트가 분배된 곳에 전달 노드의 위치와 관련된 위치 정보를 부가하는 것에 의해 MF를 갱신할 수 있다(단계 416). CDNCF에 의해 갱신된 MF에 삽입된 URL들은, 전체 URL 경로(full URL path)를 구성하는, 절대 URL들, 또는 단지 MF 그 자체의 위치와 관련되는 경로만을 포함하는, 상대적 URL들 중 어느 하나일 수 있음을 주지해야 한다. CDNCF는 전달 노드와 함께 갱신된 (변경된) MF를 저장할 수 있고(단계 418) CDNCF와 관련된 콘텐츠 위치 데이터베이스에서 새로운 엔트리를 발생시킨다(단계 420). 이어 CDNCF는 "정적 매니페스트(static manifest)"-형태를 MF에 할당할 수 있고(단계 422), 갱신된 MF가 미래의 이용을 위해 검색될 수 있는 위치를 저장하기 위해 새로운 레코드를 생성하며(단계 424) CDNCF를 통해 억세스가능한 콘텐츠 위치 데이터베이스에서 새로운 엔트리에 대해 가리키는 URL을 발생시킨다(단계 426). 이 URL은 이어 소스로 보내진다(단계 436).
소스의 소스 수집 요청(source ingestion request)이 통상적인 콘텐츠와 관련되면, 콘텐츠는 하나 이상의 선택된 전달 노드의 캐시로 분배될 수 있다(단계 428). 콘텐츠 위치 데이터베이스에서의 파일을 위한 새로운 데이터베이스 엔트리가 생성될 수 있고(단계 430), 저장된 파일과 관련된 URL을 저장하기 위한 레코드를 생성하며(단계 432) 데이터베이스에서의 새로운 엔트리에 대해 가리키는 URL을 생성한다(단계 434). 이 URL은 이어 소스로 보내질 수 있다(단계 436).
도 5의 시퀀스 도는 더욱 상세하게 세그먼트를 수집하기 위한 프로세스를 나타낸다. 본 예에 있어서, CDNCF 및 소스는 콘텐츠 수집을 제어하기 위한 HTTP-기반 프로토콜을 이용할 수 있다. 프로세스는 CDNCF로 콘텐츠 수집 요청을 보내는 소스에 따라 시작할 수 있고, 여기서 요청은 Movie-4.smf로 명명된 MF에 대해 가리키는 URL을 구비하여 구성된다(단계 502). CDNCF는 MF를 검색할 수 있고(단계 504 및 506) (예컨대, 하나 이상의 URL들의 형태로) 공간 세그먼트 파일 위치를 검색하기 위해 MF를 파싱한다(단계 508).
URL들을 이용하면, CDNCF는 MF에서 식별된 세그먼트를 페치하도록 CDN 수집 노드를 지시할 수 있다(단계 510). 세그먼트를 수신한 후(단계 512-518), 수집 노드는 콘텐츠가 성공적으로 검색되고 CDN의 전달 노드의 캐시에 대해 분배됨을 CDNCF에게 통보할 수 있다.
CDNCF는 이어 세그먼트가 검색될 수 있는 전달 노드의 위치를 MF로 삽입하는 것에 의해 MF를 갱신할 수 있다(단계 520). 갱신된 MF는 선택된 전달 노드의 캐시에 세그먼트와 함께 저장될 수 있다(단계 522). MF의 위치는 CDNCF와 관련된 콘텐츠 위치 데이터베이스에 저장될 수 있다(단계 524). 더욱이, CDNCF는 소스로 되돌려서 응답을 보낼 수 있고, 여기서 응답은 CDN의 CDNCF를 통해 억세스가능한 콘텐츠 위치 데이터베이스에서의 엔트리에 대해 가리키는 URL을 구비하여 구성될 수 있다(단계 526).
도 6은 도 4 및 도 5를 참조하여 설명된 바와 같이 세그먼트의 수집 전 및 후의 MF의 일부의 예를 나타낸다. 소스로부터 수신된 정적 MF(602)는 도 3을 참조하여 설명된 바와 같은 데이터 구조를 갖을 수 있다. MF는 파일명, 세그먼테이션과 관련되는 정보, 예컨대 세그먼테이션의 형태(본 경우에 있어서는 공간 세그먼테이션), 다수의 세그먼트 및 세그먼트 간의 (공간) 관계를 구비하여 구성될 수 있다. MF는 4개의 분리 세그먼트 Movie-4-1.seg, Movie-4-2.seg, Movie-4-3.seg, Movie-4-4.seg가 소스 도메인의 소정의 위치 cache.source.com/res/에 저장됨을 더 나타낼 수 있다.
세그먼트의 수집 후, CDNCF는 (공간) 세그먼트 Movie-4-1.seg, Movie-4-2.seg, Movie-4-3.seg, Movie-4-4.seg를 구비하는 제1 전달 노드 cache_1.cdn_A.com/res/를 향하여 가리키는 URL들의 형태로 갱신된 세그먼트 위치를 구비하는 갱신된 정적 MF(604)를 발생시킬 수 있다. 정적 매니페스트 파일 및 그 관련된 세그먼트가 다중 전달 노드 상에서 호스트되고 절대 URL들이 이용되는 경우, MF는 각각의 전달 노드 상에서 다른 세그먼트 URL들을 갖게 됨을 주지해야 한다. 상대적 URL들이 이용되는 경우, 다른 전달 노드 상의 매니페스트 파일은 동일하게 된다.
따라서, 상기로부터 MF는 CDN으로 세그먼트의 제어된 수집을 허용함을 따른다. 수집 후, MF는 세그먼트가 저장되는 CDN에서의 위치를 식별한다.
이전에 나타낸 바와 같이, 정적 MF는 소정 수의 세그먼트의 위치를 식별하는 MF와 관련된다. MF가 사용자-종속이 아니고 미리 결정된다는 점에서 MF는 정적(static)이다. 정적 MF는, 엄격하게 요구되지 않음에도 불구하고, MF 그 자체와 동일한 전달 노드 상에 저장되는 세그먼트 위치에 대해 통상적으로 가리키게 된다.
그러나, 정적 MF의 세그먼트는 빈번하게 그리고 덜 빈번하게 요청된 세그먼트와 관련된다.
따라서, 세그먼트 메트릭(예컨대, 일반적 대중성, 또는 특정 위치 또는 지역으로부터 다수의 요청)을 기초로, 세그먼트는 CDN의 다중 분배 노드 및 선택적으로 다른 CDN들을 거쳐 재분배될 수 있다. 이어, 사용자가 세그먼트된 콘텐츠를 위한 MF의 전달을 요청할 때, 소위 동적 MF가 사용자 요청과 관련된 정보를 기초로 발생될 수 있다. 예컨대, 동적 MF가, 몇몇이 사용자의 위치에 가까운, 전달 노드에서 콘텐츠 세그먼트의 위치를 구비하여 구성되는 것을 발생시킬 수 있어 요청된 세그먼트의 효율적인 로컬 전달이 달성되고, 반면 다른 것은 덜-종종-요청된 콘텐츠 세그먼트를 위한 사용자로부터 더욱 원격으로 될 수 있다.
동적 MF는 소위 MF 템플릿을 기초로 발생된다. 도 7a 및 도 7b는 본 발명의 실시예에 따른 MF 템플릿으로 정적 MF를 갱신하는 플로우차트 및 시퀀스 도를 나타낸다.
도 7a의 프로세스는 정적 MF에서 정의된 세그먼트의 세그먼트 메트릭의 t수집(collection)에 따라 시작할 수 있다. 세그먼트 메트릭은 세그먼트가 요청되고 시청되는 빈도(frequency), 세그먼트가 요청되는 사용자 위치, 예컨대 IP 어드레스, 및 정적 MF의 세그먼트 사이의 차이를 결정할 수 있는 소정의 다른 메트릭과 관련될 수 있다(단계 702). 중요한 차이가 존재하면, MF 템플릿을 발생시키는 프로세스는 트리거될 수 있다(단계 704). 이러한 프로세스는: 정적 MF를 검색하는 단계(단계 708)와, 정적 MF로부터 세그먼트 위치를 검색하는 단계(단계 710), 및 세그먼트 위치를 위한 콘텐츠 위치 데이터베이스의 엔트리를 생성하는 단계(단계 712)를 포함할 수 있다. 여기서, 세그먼트 메트릭을 기초로, CDNCF는 하나 이상의 세그먼트, 특히 빈번하게 요청된 세그먼트의 카피를 CDN의 하나 이상의 분배 노드로 분배하는 것에 대해 결정할 수 있다. 따라서, 데이터베이스 엔트리는, (소정의 세그먼트 Movie_5-1.seg를 전달하도록 구성된 2개의 전달 노드의 다른 URL들 사이에서 구비되는 레코드에 대해 위치 포인터를 갖춘 도 2의 "Movie-5_1"의 데이터베이스 엔트리와 유사한) 특정 세그먼트를 전달하도록 구성된, 다른 분배 노드를 위치시키기 위한 2 이상의 URL들을 구비하여 구성될 수 있다.
그 후, 정적 MF는 정적 MF의 위치를 콘텐츠 위치 데이터베이스에 대한 포인터로 대체함으로써 MF 템플릿에 재기록될 수 있다(단계 714 및 716). MF 템플릿 생성 프로세스는 MF의 "형태(type)"를 "매니페스트 파일 템플릿(manifest file template)"으로 변경시키는 것에 의해 종료될 수 있다(단계 718).
도 7b는 더욱 상세하게 MF 템플릿의 발생을 나타낸다. 프로세스는 정적 MF의 세그먼트 메트릭에서의 중요한 차이를 검출하는 CDNCF에 의해 시작될 수 있다(단계 720). CDNCF는 이어 MF가 저장된 하나 이상의 전달 노드의 캐시로부터 정적 MF Movie-4.mf를 검색할 수 있다(단계 722 및 724). 이어, CDNCF는 데이터베이스의 세그먼트 위치로 들어가는 프로세스를 실행하고 CDN의 콘텐츠 위치 데이터베이스에 대해 포인터를 구비하는 MF 템플릿으로 정적 MF를 재기록할 수 있다(단계 726 및 728). 그 후, (새로운) MF 템플릿이 하나 이상의 전달 노드의 캐시로 되돌려 보내지고, 이는 (오래된, 정적) MF를 대체한다(단계 730-736).
도 8은 본 발명의 실시예에 따른 MF 템플릿의 형식(formation)을 나타낸다. 도 7을 참조하여 설명된 갱신 프로세스 동안, 오래된 정적 MF(old static MF; 802)가 MF 템플릿(804)에 대해 갱신되고, 세그먼트 위치 URL들은, CDNCF를 통해 억세스가능한, CDN A의 콘텐츠 위치 데이터베이스의 엔트리에 대해 포인터에 의해 대체된다.
세그먼트 메트릭을 기초로 CDN(CDN A) 내에서 세그먼트의 저장을 재분배하는 프로세스 후, CDNCF는 다른 CDN(CDN B)에 대해 소정의 세그먼트를 이동시키기 위한 프로세스를 더 개시할 수 있다. 이 프로세스가 도 9에 도시된다. 첫 번째 단계(902)에서, 세그먼트 메트릭은 관찰 빈도, 세그먼트를 요청하는 사용자의 위치(IP 어드레스) 및 다른 관련되는 메트릭을 기초로 수집(collect)될 수 있다.
이들 세그먼트 메트릭으로부터, 소정의 세그먼트가 CDN A의 지형적 위치로부터 멀리 떨어지는 지형학적 위치에 위치된 사용자의 큰 그룹에 의해 요청됨이 예컨대 명백하게 될 수 있다. 해당 경우에 있어서, CDNCF는 그들 사용자의 지형학적 위치에 가까운 CDN B로 그들 세그먼트를 푸시(push)하도록 결정할 수 있다(단계 904).
따라서, CDNCF는 CDN A에서 전달 노드의 세그먼트 위치를 구비하는 소위 부분 Manifest File(partial MF)을 준비하고 잠정적으로 저장할 수 있다(단계 906 및 908). MF 템플릿에서 데이터베이스 엔트리의 세브셋이 URL들에 의해 교체되면서 다른 데이터베이스 엔트리가 제거된다는 관점에서 부분 MF는 "부분(partial)"이다. 특히, CDN B에 의해 수집되어질 필요가 있는 세그먼트와 관련된 MF 템플릿의 데이터베이스 엔트리는 그들 세그먼트를 전달하도록 구성된 CDN A에 전달 노드를 위치시키는 URL들로 대치된다. CDN B에 의해 수집되어지도록 의미되지 않는 세그먼트의 데이터베이스 엔트리에 대한 포인터는 제거되고 "엠프티(empty)"로 표시된다.
부분 MF는 CDN B의 CDNCF로 계속해서 보내지고, 이는 그 자신의 CDN으로 그들 세그먼트의 수집을 위해 부분 MF에서 비엠프티(nonempty) 세그먼트 URL들을 이용할 수 있다(단계 910). CDN B에서 세그먼트의 수집 후, CDN A의 CDNCF는 CDN B에서 수집된 세그먼트을 유일하게 식별하는 콘텐츠 식별자의 리스트를 포함하는 CDN B의 CDNCF에 대해 가리키는 CDN B로부터 URL을 수신한다(단계 912). CDN A의 CDNCF는 수신된 URL에 따라 그 콘텐츠 위치 데이터베이스를 갱신한다.
대안적으로, CDN B가 부분 MF에서 리스트된 세그먼트를 수집한 후, CDN B의 CDNCF는 그 CDNCF 및 수집된 세그먼트의 위치를 나타내는 식별자의 리스트에 대해 URL, 그러나 지금 수집된 세그먼트의 CDN B 내의 관련 위치를 포함하는, CDN B에 의해 갱신된, 갱신된 부분 MF에 대해 가리키는 URL을 보내지 않는다. CDN A의 CDNCF는 이어 CDN B로부터 부분 MF를 검색할 수 있고, 그를 파싱하고 분배된 세그먼트를 위한 URL들에 따라 CDN A 콘텐츠 위치 데이터베이스를 파퓰레이트(populate)한다. 대안적으로, CDN A는, 세그먼트 식별자와 CDN B로부터 수신된 URL을 기초로 쿼리 열(query strings)로서 발생된, URL들에 따라 그 콘텐츠 위치 데이터베이스를 파퓰레이트할 수 있다.
이러한 방식에 의하면, CDN A의 콘텐츠 위치 데이터베이스의 소정 엔트리는 (CDN B의 CDNCF에 대한 위치 포인터 및 CDN B의 세그먼트 Movie_5-1.seg를 검색하기 위한 CDN B의 특정 세그먼트를 유일하게 식별하는 식별자를 갖춘 도 2의 "Movie-5_1"의 데이터베이스 엔트리와 마찬가지로) 다른 CDN에 대해 URL을 구비할 수 있다.
도 10은 더욱 상세하게 부분 MF를 이용해서 제1 CDN으로부터 제2 CDN으로 세그먼트의 수집을 설명하는 시퀀스 도를 나타낸다. 프로세스는 소정의 세그먼트가 CDNB로 이동되어야 함을 결정하는 CDNCF에 의해 트리거될 수 있다(단계 1002). 그를 위해, CDN A의 CDNCF는 부분 MF cdn_B-Movie-4.mf를 준비하고 캐시에 이를 저장한다(단계 1004). 그 후, CDN A의 CDNCF는 CDN B의 CDNCF로 수집 요청을 보낼 수 있고(단계 1006), 수집 요청에서 URL을 기초로 CDN B의 CDNCF에 의해 위치될 수 있는 부분 MF에서 정의된 세그먼트를 수집하도록 CDN B의 CDNCF를 지시한다. 대안적으로, CDN A는 CDN B의 CDNCF로 보내지는 수집 요청의 바디(body)의 부분 MF를 포함할 수 있다. 부분 MF를 기초로 CDN B는 부분 MF에서 정의된 세그먼트를 계속해서 수집한다. 수집 프로세스(ingestion process)는 도 5를 참조하여 설명된 프로세스와 유사하다(단계 1012). 이 프로세스 동안, CDN B는 세그먼트를 전달하기 위해 구성될 수 있는 어느 전달 노드를 자율적으로 결정할 수 있다. 오직 정보 CDN A는 수집 프로세스가 종료된 후 CDN B의 세그먼트를 유일하게 식별하는 포인터의 리스트와 CDN B의 CDNCF에 대해 가리키는 URL 또는 매니페스트 파일 및 세그먼트 위치의 미래의 검색을 위해 이용될 수 있는 CDN B의 갱신된 부분 MF에 대해 가리키는 URL의 어느 한쪽을 수신한다(단계 1014).
CDN A로부터 수신된 부분 매니페스트 파일에서 나타낸 세그먼트의 CDN B에 의한 실제적 수집에 대한 대안으로서, CDN B, 바람직하기는 CDN B의 CDNCF는 이들 식별된 세그먼트를 위치(캐시/노드)에 미리-할당하고, 이들 위치에 따라 부분 매니페스트를 갱신할 수 있다. 실제적 세그먼트는 이어 나중에 CDN B에 의해 수집될 수 있다. 예컨대, 이들 세그먼트가 매니페스트 파일을 기초로 클라이언트에 의해 요청된다. 이러한 메카니즘은 또한 "풀(pull)" 모델로서 언급된다.
도 11은 도 10을 참조하여 설명된 프로세스에서 콘텐츠 수집을 위해 이용된 부분 MF의 형식을 나타낸다. 부분 MF는 도 7을 참조하여 더욱 상세하게 설명된 바와 같이 MF 템플릿(1102)을 기초로 구성될 수 있다. 여기서, 세그먼트 Movie-4-1.seg 및 Movie-4-2.seg와 관련된 MF 템플릿의 첫 번째 2개의 데이터베이스 엔트리는 이들 세그먼트를 전달하도록 구성되는 전달 노드를 위치시키는 URL들에 의해 대체된다. 다른 2개의 데이터베이스 엔트리는 비워지는 상태로 남아있어 그들 세그먼트는 CDN B에 의해 수집되지 않는다.
따라서, 도 3 내지 도 10을 참조하여 설명된 프로세스를 기초로, CDN은 MF 템플릿에 대한 엔트리와 CDN 도메인 및/또는 다른 CDN들의 CDN 도메인 내에 위치될 수 있는 다양한 전달 노드에 저장되는 세그먼트와 관련된 엔트리를 구비하는 콘텐츠 위치 데이터베이스를 구축할 수 있다. MF 템플릿은 사용자 요청에 응답하여 동적 MF들(Dynamic MFs; DMFs)을 생성하는데 이용될 수 있고, 여기서 동적 MF는, 세그먼트 메트릭(segment metrics), 예컨대 요청의 빈도 및 지형학적 위치와 관련된 메트릭을 기초로 최적화되는, 요청된 세그먼트를 검색하기 위한 위치를 구비한다. 동적 MF의 위치는 다른 CDN 도메인에서의 전달 노드의 위치와 관련된다. 이러한 방식에 의하면, 동적 MF는 다른 CDN 도메인 내에 저장된 모든 세그먼트를 위한 리디렉팅 지연(redirecting delay)을 겪는 것 없이 사용자가 동적 MF에서 특정된 다양한 전달 노드로부터의 세그먼트를 효과적이면서 직접적으로 검색할 수 있도록 한다. 이러한 프로세스는 이하 도 12 내지 도 18을 참조하여 더욱 상세하게 설명된다.
도 12는 본 발명의 실시예에 따른 사용자 요청을 서빙하기 위한 프로세스의 플로우차트를 나타낸다. 프로세스는 콘텐츠 명(content name) 및 식별자(identifier)를 구비하는 사용자 요청을 수신하는 CDNCF에 의해 시작될 수 있다(단계 1202). 이름은 파일 형태 및 위치로 분해(resolve)될 수 있다. 더욱이, 사용자 요청과 관련된 사용자 위치는 IP 어드레스를 기초로 결정될 수 있다.
CDNCF는 이어 결정된 파일 형태가 MF 템플릿과 관련되는지 아닌지의 여부를 결정하기 위해 콘텐츠 위치 데이터 베이스를 이용할 수 있다(단계 1204). 만약 그렇지 않다면, CDNCF는 요청된 콘텐츠의 전달을 위해 가장 적절한 CDN 도메인 또는 단일 전달 노드를 결정하도록, 사용자 위치 및 현재 CDN 부하와 같은, 다양한 메트릭을 이용할 수 있다(단계 1206). 분해 파일 형태(resolve file type)가 MF 템플릿과 관련되면, CDNCF는, 함께 요청된 세그먼트를 전달하는데 가장 적절한, 하나 이상의 전달 노드의 URL들을 구비하는 동적 MF를 발생시키기 위해 콘텐츠 위치 데이터베이스를 이용할 수 있다(단계 1208). 발생된 동적 MF는 CDNCF와 함께 잠정적으로 저장될 수 있고 DMF를 위치시키기 위한 URL이 사용자에 응답하여 보내진다(단계 1210).
도 13은 본 발명의 실시예에 따른 DMF를 발생시키기 위한 프로세스의 시퀀스 도를 나타낸다. 이 프로세스는 사용자 요청 또는 CDN의 콘텐츠 위치 데이터베이스의 엔트리 Movie-4.mf에 대해 가리키는 URL과 CDN A의 CDNCF에 대한 IP 어드레스의 형태의 사용자 위치를 구비하는, 네트워크에서의 콘텐츠 제어 기능(content control function), 예컨대 IPTV 제어 기능으로부터의 요청을 보내는 것에 따라 시작할 수 있다(단계 1302 및 1304). CDNCF는 요청의 데이터베이스 엔트리가 MF 템플릿의 형태와 관련되는 데이터베이스 룩-업 결정(database look-up determining)을 수행하게 되고, 여기서 MF 템플릿 Movie-4.mf는 CDN A의 특정 전달 노드의 캐시에 위치한다(단계 1306). MF 템플릿은 계속해서 검색되고(단계 1308 및 130) - MF 템플릿을 기초로 - DMF는 MF 템플릿에 데이터베이스 엔트리를 재기록하는 것에 의해 발생된다(단계 1312). DMF는 사용자 또는 콘텐츠 제어 기능으로 계속해서 보내진다(단계 1314).
도 14는 본 발명의 실시예에 따른 사용자 요청과 관련된 DMF의 형식을 나타낸다. MF 템플릿(1402)은 특정 사용자(1404)와 관련된 DMF를 발생시키기 위한 기반으로서 이용될 수 있다. DMF를 발생시키기 위한 프로세스는 사용자에게 DMF의 세그먼트를 전달하기 위한 가장 적절한 전달 노드가 2개의 CDN 도메인, 예컨대 CDN A 및 B에 위치됨을 결정할 수 있다.
도 15는 더욱 상세하게 도 13에서 설명된 바와 같은 콘텐츠 제어 기능 또는 사용자 요청과 관련된 DMF를 발생시키는 프로세스의 플로우차트를 나타낸다. 프로세스는 콘텐츠 제어 기능 또는 사용자에 의해 나타내어진 콘텐츠 요청과 관련된 MF 템플릿을 검색하는 CDNCF에 따라 시작할 수 있다(단계 1502).
그 후, 루프(loop)가 시작되고, 여기서, 콘텐츠 위치 데이터베이스의 엔트리에 대한 포인터인, MF 템플릿에서의 세그먼트 명이 위치들(URL들)로 분해(resolve)된다. 사용자 또는 콘텐츠 제어 기능 정보(예컨대, IP 어드레스)를 기초로, 세그먼트를 전달하기 위해 가장 적절한(예컨대, 가장 가깝거나 가장 이용가능한) 도메인이 결정된다(단계 1504). 도메인이 사용자 요청 또는 콘텐츠 제어 기능 요청(예컨대 CDN A)과 관련된 도메인이면(단계 1506), 세그먼트를 전달하기에 가장 적절한 CDN A에서의 전달 노드의 위치(URL)가 선택될 수 있다(단계 1508). 이 URL은 MF 템플릿의 세그먼트 명으로서 계속해서 삽입될 수 있다(단계 1514).
다른 도메인이 세그먼트를 전달하기에 더 적절함이 결정되면, 선택적으로 사용자 위치(예컨대, IP 어드레스)를 구비할 수 있는, 요청은 해당 CDN의 CDNCF로 보내질 수 있다(단계 1510). 요청에 응답하여, URL은 CDN으로부터 수신될 수 있다(단계 1512). 이 URL은 MF 템플릿의 세그먼트 명에 계속해서 부가될 수 있다(단계 1514).
이 프로세스는 MF 템플릿의 모든 세그먼트에 대해 반복되고, 그에 의해, CDNCF와 관련된 캐시 상에 잠정적으로 저장될 수 있는, DMF를 형성한다. URL이 발생된 DMF를 위치시키기 위해 발생될 수 있다(단계 1518).
본 발명의 실시예에 있어서, DMF를 발생시키고 있는 CDNCF는 다른 CDN의 특정 CDNCF에서 조준된 모든 위치 요청을 단일 요청으로 묶는다. 이는 다른 CDN들의 CDNCF들 사이에서 더욱 효과적인 통신을 허용하고 다른 CDN 도메인에서의 CDNCF의 부하를 감소시킨다. 이렇게 하기 위해, CDN A의 CDNCF는, 관련 세그먼트를 수집하지만 특정 사용자를 위한 세그먼트의 가장 적절한 위치의 CDNA를 말하도록 CDN B의 CDNCF에 의해 이용되지 않는, 새로운 부분 MF를 생성한다
도 16은 더욱 상세하게 도 13에서 설명된 바와 같이 사용자 요청 또는 콘텐츠 제어 기능과 관련된 DMF를 발생시키는 프로세스를 설명하는 시퀀스 도를 나타낸다. 프로세스는 MF 템플릿 Movie_4.mf을 기초로 DMF를 발생시키도록 트리거에 따라 시작할 수 있다(단계 1602). 그 후 MF 템플릿의 세그먼트 당, 콘텐츠 제어 기능 또는 사용자의 주어진 위치에 대해 세그먼트를 전달하기 위한 가장 좋은 전달 노드가 도 15를 참조하여 설명된 바와 같은 프로세스를 이용해서 결정될 수 있다(단계 1604). 2개의 세그먼트, Movie_4-1.seg 및 Movie_4-2.seg에 대해, 가장 좋은 전달 노드가 CDN B의 도메인에 위치되도록 결정된다(단계 1606). 이들 2개의 세그먼트에 대해, CDNCF는 CDN B의 CDNCF의 URL을 구비하는 세그먼트 위치 요청을 송달하고, 2개의 식별자는 사용자 위치 및 CDN B의 세그먼트를 유일하게 식별한다(단계 1608). 대안적으로, 앞에서 설명한 바와 같이, 이러한 요청은 세그먼트 식별자를 포함하는 부분 MF를 구비하여 구성될 수 있다. CDN B의 CDNCF는 데이터베이스 엔트리를 점검하고 사용자 위치를 기초로 CDN B의 전달 노드를 가장 잘 서빙하는 위치(URL들)를 결정하는 것에 의해 위치 요청을 취급할 수 있다(단계 1610). 따라서, 결정된 위치는 CDN A의 CDNCF로 되돌아가고(단계 1612) MF 템플릿에 삽입되며(단계 1614), 따라서 동적 MF를 완성한다.
따라서, 도 16을 참조하여 설명된 프로세스는 다른 CDN으로부터 하나 이상의 세그먼트의 위치를 요청하도록 하나의 CDN을 허용하는 CDN 상호연결(interconnect) 구조를 제공하고, 여기서 복귀된 위치는 네트워크에서 IPTV 제어 기능과 같은 콘텐츠 제어 기능 또는 사용자에게 세그먼트의 전달을 위해 가장 적합한 전달 노드와 관련될 수 있다.
도 17은 본 발명의 실시예에 따른 CDN A로부터 CDN B로 세그먼트 위치 요청을 취급하는 흐름도를 나타낸다. 제1 단계(1702)에 있어서, CDN B의, 수신 도메인은 CDN A의 유래 도메인(originating domain)으로부터 하나 이상의 세그먼트를 위치시키기 위한 요청을 수신한다. 요청에 응답하여, CDN B, 특히 CDN B의 CDNCF는 형태 및 위치, 예컨대 URL(들)(의 세트)로 하나 이상의 세그먼트 식별자를 결정할 수 있고, 여기서 가장 적절한 전달 노드의 위치가 선택되고(단계 1704) 응답 CDN A에서 복귀된다(단계 1706). 하나의 실시예에 있어서, 프로세스가 귀납적(recursive)이고, CDN B는 CDN C에 대해 대표되는 몇몇 세그먼트를 갖추고, CDN B는 도 15 및 도 16에서 설명된 프로세스와 유사한 프로세스를 수행한다.
도 18은 본 발명의 실시예에 따른 DMF를 기초로 제1 및 제2 CDN으로부터 세그먼트된 콘텐츠를 검색하는 프로세스의 시퀀스 도를 나타낸다. 이러한 경우에 있어서, 사용자(클라이언트) 또는 콘텐츠 제어 기능은 CDN A 또는 CDN B로부터 DMF를 수신하고 DMF에서 정의된 세그먼트의 위치를 결정한다. 예컨대, 도 18의 예에 있어서, DMF들에서의 위치를 기초로, 클라이언트는 CDN B의 제1 및 제2 전달 노드로부터 제 및 제2 세그먼트를 요청 및 수신하고(단계 1804, 1806 및 단계 1810, 1812), CDN A의 전달 노드로부터 제3 세그먼트를 요청 및 수신할 수 있다(단계 1816).
도 10과 관련된 마지막 문단에서 설명된 대안을 참조하면, 단계 1804에서 요청된 세그먼트가 CDN-노드 B에 의해 미리 수집되지 않았던 (그리고 cache_5에 아직 존재하지 않는) 경우, 단계 1806에 따라, 클라이언트에게 전달될 수 있기 전에, 단계 1804는 "분실(missing)" 세그먼트와 cache_5에 의한 세그먼트의 이어지는 수신을 CDN A로부터 요청하는 cache 5의 단계에 뒤따를 수 있다. 이러한 모델은 또한 "풀(pull)" 모델로서 언급된다.
따라서, 동적으로 발생된 DMF들은 다른 CDN 도메인으로부터 콘텐츠의 직접 검색을 허용한다. DMF는 DMF에서 정의된 다른 세그먼트들 사이에서 빠른 전환을 허용한다. 세그먼트 검색은 다른 CDN 도메인에 세그먼트를 위치시키기 위해 메시지의 리디렉트 형태를 필요로 하지 않고, 그에 의해 세그먼트된 콘텐츠에 대해 빠르고 효과적인 검색 메카니즘을 제공한다. 이러한 콘텐츠 검색 메카니즘은 콘텐츠와의 사용자-상호작용, 예컨대 패닝, 줌잉, 틸팅 및 다양한 버전의 스트림 사이에서 끊김 없는 전환을 허용하는 콘텐츠 서비스에서 이용될 수 있다.
어떠한 하나의 실시예와 관련하여 설명된 소정의 특징은 단독으로, 또는 설명된 다른 특징과 조합하여 이용될 수 있고, 또한 소정의 다른 실시예의 하나 이상의 특징과 조합하여, 또는 소정의 다른 실시예의 소정의 조합으로 이용될 수 있음이 이해되어진다.
본 발명의 하나의 실시예는 컴퓨터 시스템과 함께 이용하기 위한 프로그램 제품으로서 구현될 수 있다. 프로그램 제품의 프로그램(들)은 (여기서 설명된 방법을 포함하는) 실시예의 기능을 정의하고 다양한 컴퓨터-판독가능 저장 매체 상에 포함될 수 있다. 이에 한정되는 것은 아니지만, 실례로 되는 컴퓨터-판독가능 저장 매체는: (i) 정보가 영구적으로 저장되는 비-재기록가능 저장 매체(예컨대, CD-ROM 드라이브에 의해 판독가능한 CD-ROM 디스크와 같은 컴퓨터 내의 ROM(read-only memory) 장치, ROM 칩 또는 소정 형태의 고체-상태 비-휘발성 반도체 메모리)와; (ii) 변경가능 정보가 저장되는 재기록가능 저장 매체(예컨대, 디스크 드라이브 내의 플로피 디스크 또는 하드-디스크 드라이브 또는 고체-상태 랜덤- 억세스 반도체 메모리);를 포함한다. 본 발명은 상기한 실시예로 한정되는 것은 아니고, 첨부되는 청구항의 범위 내에서 변경될 수 있다.

Claims (12)

  1. 세그먼트된 콘텐츠를 위치시키기 위한 방법으로, 상기 콘텐츠가 적어도 제1 콘텐츠 위치 데이터베이스와 관련된 제1 콘텐츠 전달 네트워크와 제2 콘텐츠 위치 데이터베이스와 관련된 제2 콘텐츠 전달 네트워크를 거쳐 분배되고, 상기 방법이:
    상기 제1 콘텐츠 위치 데이터베이스의 데이터베이스 엔트리에 대한 하나 이상의 포인터를 구비하는 상기 세그먼트된 콘텐츠와 관련되는 매니페스트 파일 템플릿을 검색하는 단계와;
    상기 제1 또는 제2 콘텐츠 전달 네트워크에서의 전달 노드의 위치를 결정하기 위한 하나 이상의 데이터베이스 엔트리를 이용하는 단계로서, 상기 전달 노드가 상기 데이터베이스 엔트리와 관련된 세그먼트를 전달하기 위해 구성된, 단계;
    상기 제2 콘텐츠 전달 네트워크의 전달 노드의 위치를 결정하기 위해 상기 제2 콘텐츠 위치 데이터베이스에 대해 요청을 보내는 단계로서, 상기 전달 노드가 상기 데이터베이스 엔트리 중 적어도 하나와 관련된 세그먼트를 전달하기 위해 적절한, 단계; 및
    상기 매니페스트 파일 템플릿의 포인터를 상기 결정된 위치로 대체하는 것에 의해 상기 세그먼트된 콘텐츠를 위치시키기 위한 매니페스트 파일을 발생시키는 단계;를 갖추어 이루어진 것을 특징으로 하는 세그먼트된 콘텐츠를 위치시키기 위한 방법.
  2. 제1항에 있어서,
    상기 매니페스트 파일 템플릿이 상기 세그먼트된 콘텐츠의 적어도 일부를 위치시키기 위한 위치 요청의 수신에 응답하여 검색되는 것을 특징으로 하는 세그먼트된 콘텐츠를 위치시키기 위한 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 또는 상기 제2 콘텐츠 전달 네트워크가 상기 데이터베이스 엔트리 중 적어도 하나와 관련된 세그먼트를 전달하기 위해 가장 적절한가의 여부를 상기 데이터베이스 엔트리 중 적어도 하나에 대해 결정하는 단계를 갖추어 이루어진 것을 특징으로 하는 세그먼트된 콘텐츠를 위치시키기 위한 방법.
  4. 제1항에 있어서,
    상기 매니페스트 파일 템플릿이 상기 세그먼트된 콘텐츠의 적어도 일부를 위치시키기 위한 위치 요청의 수신에 응답하여 검색되고,
    상기 제1 또는 상기 제2 콘텐츠 전달 네트워크가 상기 데이터베이스 엔트리 중 적어도 하나와 관련된 세그먼트를 전달하기 위해 가장 적절한가의 여부를 상기 데이터베이스 엔트리 중 적어도 하나에 대해 결정하는 단계를 갖추어 이루어지고,
    상기 가장 적절한 콘텐츠 전달 네트워크가 상기 위치 요청을 기초로 결정되는 것을 특징으로 하는 세그먼트된 콘텐츠를 위치시키기 위한 방법.
  5. 제4항에 있어서,
    상기 결정이 상기 요청과 관련된 위치 정보를 기초로 하는 것을 특징으로 하는 세그먼트된 콘텐츠를 위치시키기 위한 방법.
  6. 제1항 또는 제2항에 있어서,
    상기 제1 콘텐츠 위치 데이터베이스의 상기 데이터베이스 엔트리가 세그먼트를 전달하도록 구성된 전달 노드를 위치시키기 위한 하나 이상의 로케이터를 구비하는 데이터베이스 위치에 대한 포인터를 구비하여 구성되는 것을 특징으로 하는 세그먼트된 콘텐츠를 위치시키기 위한 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 제1 콘텐츠 위치 데이터베이스의 상기 데이터베이스 엔트리가 상기 제2 콘텐츠 전달 네트워크의 콘텐츠 위치 데이터베이스에 대해 하나 이상의 포인터를 구비하는 데이터베이스 위치에 대한 포인터를 구비하여 구성되는 것을 특징으로 하는 세그먼트된 콘텐츠를 위치시키기 위한 방법.
  8. 제1 콘텐츠 위치 데이터베이스를 구비하는 제1 콘텐츠 전달 네트워크로부터 제2 콘텐츠 위치 데이터베이스를 구비하는 제2 콘텐츠 전달 네트워크로 세그먼트된 콘텐츠의 적어도 일부를 이동시키기 위한 방법으로, 상기 방법이:
    상기 제1 콘텐츠 위치 데이터베이스의 데이터베이스 엔트리에 대한 하나 이상의 포인터를 구비하는 상기 세그먼트된 콘텐츠와 관련되는 매니페스트 파일 템플릿을 검색하는 단계와;
    상기 매니페스트 파일 템플릿에서 식별된 세그먼트의 적어도 일부를 위한 세그먼트 메트릭을 결정하는 단계;
    상기 세그먼트 메트릭을 기초로, 상기 제2 콘텐츠 전달 네트워크로 이동시키도록 하나 이상의 세그먼트를 선택하는 단계;
    상기 선택된 하나 이상의 세그먼트와 관련된 상기 매니페스트 파일 템플릿의 포인터를 상기 선택된 세그먼트를 전달하도록 구성된 상기 제1 콘텐츠 전달 네트워크의 전달 노드의 하나 이상의 위치로 대체하는 것에 의해 부분 매니페스트 파일을 발생시키는 단계; 및
    상기 부분 매니페스트 파일을 상기 제2 콘텐츠 전달 네트워크로 보내는 단계;를 갖추어 이루어진 것을 특징으로 하는 세그먼트된 콘텐츠의 적어도 일부를 이동시키기 위한 방법.
  9. 제8항에 있어서,
    상기 부분 매니페스트 파일에서 식별된 세그먼트의 적어도 일부를 수집하도록 상기 제2 콘텐츠 전달 네트워크를 요청하는 단계를 더 갖추어 이루어진 것을 특징으로 하는 세그먼트된 콘텐츠의 적어도 일부를 이동시키기 위한 방법.
  10. 세그먼트된 콘텐츠를 위치시키기 위한 제어 기능 모듈로서, 상기 콘텐츠가 적어도 제1 콘텐츠 위치 데이터베이스와 관련된 제1 콘텐츠 전달 네트워크와 제2 콘텐츠 위치 데이터베이스와 관련된 제2 콘텐츠 전달 네트워크를 거쳐 분배되고, 상기 제어 기능 모듈이:
    상기 제1 콘텐츠 위치 데이터베이스의 데이터베이스 엔트리에 대한 하나 이상의 포인터를 구비하는 매니페스트 파일 템플릿을 검색하고;
    상기 제1 또는 제2 콘텐츠 전달 노드에서의, 상기 데이터베이스 엔트리와 관련된 세그먼트를 전달하기 위해 구성되는, 전달 노드의 위치를 결정하기 위한 상기 하나 이상의 데이터베이스 엔트리를 이용하며;
    상기 제2 콘텐츠 전달 네트워크의 전달 노드의 위치를 결정하기 위해 상기 제2 콘텐츠 위치 데이터베이스에 대해 요청을 보내고, 상기 전달 노드가 상기 데이터베이스 엔트리 중 적어도 하나와 관련된 세그먼트를 전달하기 위해 적절하고;
    포인터를 상기 결정된 위치로 대체하는 것에 의해 상기 세그먼트된 콘텐츠를 위치시키기 위한 매니페스트 파일을 발생시키기 위해; 구성되는 것을 특징으로 하는 세그먼트된 콘텐츠를 위치시키기 위한 제어 기능 모듈.
  11. 삭제
  12. 컴퓨터의 메모리에서 실행될 때, 청구항 제1항 또는 제5항 또는 제8항 중 어느 한 항에 따른 방법 단계를 실행하기 위해 구성된 소프트웨어 코드부를 구비하여 구성되는 것을 특징으로 하는 컴퓨터 판독가능 기록 매체.
KR1020137031289A 2011-06-08 2012-06-07 세그먼트된 콘텐츠를 위치시키고 검색하는 방법 및 시스템 KR101617929B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11169199 2011-06-08
EP11169199.4 2011-06-08
PCT/EP2012/060791 WO2012168356A1 (en) 2011-06-08 2012-06-07 Locating and retrieving segmented content

Publications (2)

Publication Number Publication Date
KR20140016968A KR20140016968A (ko) 2014-02-10
KR101617929B1 true KR101617929B1 (ko) 2016-05-03

Family

ID=44741772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137031289A KR101617929B1 (ko) 2011-06-08 2012-06-07 세그먼트된 콘텐츠를 위치시키고 검색하는 방법 및 시스템

Country Status (7)

Country Link
US (1) US10652343B2 (ko)
EP (1) EP2719142B1 (ko)
JP (1) JP5932987B2 (ko)
KR (1) KR101617929B1 (ko)
CN (1) CN103563327B (ko)
HU (1) HUE042122T2 (ko)
WO (1) WO2012168356A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140173677A1 (en) * 2011-08-10 2014-06-19 Telefonaktiebolaget L M Ericsson (Publ) Media stream handling
US11223510B2 (en) 2013-03-14 2022-01-11 Comcast Cable Communications, Llc Methods and systems for dynamic data management
US9509784B2 (en) * 2013-03-14 2016-11-29 Level 3 Communications, Llc Manifest chunking in content delivery in a network
US9596170B2 (en) 2013-03-14 2017-03-14 Level 3 Communications, Llc Dynamically optimizing content delivery using manifest chunking
WO2014184705A1 (en) * 2013-05-16 2014-11-20 Telefonaktiebolaget Lm Ericsson (Publ) Redirection in a content delivery network
US20140372569A1 (en) * 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation
US9894125B2 (en) * 2013-07-03 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Redistributing sources for adaptive bit rate streaming
CN109842613B (zh) * 2013-07-12 2021-11-19 佳能株式会社 用于提供和接收媒体数据的方法和装置以及存储介质
EP3562170A1 (en) 2013-07-29 2019-10-30 Koninklijke KPN N.V. Providing tile video streams to a client
US9923945B2 (en) * 2013-10-10 2018-03-20 Cisco Technology, Inc. Virtual assets for on-demand content generation
US10410244B2 (en) 2013-11-13 2019-09-10 Bi Science (2009) Ltd Behavioral content discovery
US10694192B2 (en) 2014-06-27 2020-06-23 Koninklijke Kpn N.V. HEVC-tiled video streaming
JP6440747B2 (ja) 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
CN105227535B (zh) * 2014-07-01 2019-12-06 思科技术公司 用于边缘缓存和客户端设备的装置及方法
US9426089B2 (en) * 2014-10-29 2016-08-23 DLVR, Inc. Systems and methods for session-based resource assignment, delivery, performance management and measurement in a networked environment
US10084838B2 (en) * 2014-10-29 2018-09-25 DLVR, Inc. Generating and using manifest files including content delivery network authentication data
US9509742B2 (en) * 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US10142386B2 (en) 2014-10-29 2018-11-27 DLVR, Inc. Determining manifest file data used in adaptive streaming video delivery
US20160134694A1 (en) * 2014-11-07 2016-05-12 Startapp, Inc. Content delivery network based network latency reduction apparatus, methods and systems
FR3029729A1 (fr) * 2014-12-04 2016-06-10 Orange Procede de gestion de contenus dans un reseau de distribution de contenus
EP3228047B1 (en) * 2014-12-05 2018-07-04 Telefonaktiebolaget LM Ericsson (publ) Methods and network nodes for monitoring services in a content delivery network
US10298713B2 (en) * 2015-03-30 2019-05-21 Huawei Technologies Co., Ltd. Distributed content discovery for in-network caching
US10567816B2 (en) * 2015-04-30 2020-02-18 Comcast Cable Communications, Llc Delivering content
US9276983B2 (en) * 2015-05-01 2016-03-01 Amazon Technologies, Inc. Content delivery network video content invalidation through adaptive bitrate manifest manipulation
WO2017029400A1 (en) 2015-08-20 2017-02-23 Koninklijke Kpn N.V. Forming one or more tile streams on the basis of one or more video streams
US10674185B2 (en) 2015-10-08 2020-06-02 Koninklijke Kpn N.V. Enhancing a region of interest in video frames of a video stream
CN110225371B (zh) * 2016-01-27 2020-11-06 上海交通大学 一种基于媒体自身属性以支持空间分块的存储与传输方法
US9942577B1 (en) * 2016-02-23 2018-04-10 Amazon Technologies, Inc. Dynamic objects caching for media content playback
US11265299B2 (en) 2016-05-23 2022-03-01 Telefonaktiebolaget Lm Ericsson (Publ) Obscured retrieval sequence for information centric networking (ICN) encoded video streams
KR102485601B1 (ko) * 2016-11-29 2023-01-05 에스케이텔레콤 주식회사 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치
US10732861B2 (en) * 2018-07-26 2020-08-04 Qualtrics, Llc Generating and providing low-latency cached content
CN109600642B (zh) * 2018-12-17 2020-10-30 广州华多网络科技有限公司 一种cdn资源调度方法及装置
US11523185B2 (en) 2019-06-19 2022-12-06 Koninklijke Kpn N.V. Rendering video stream in sub-area of visible display area
US11877350B2 (en) * 2019-07-19 2024-01-16 Mo-Dv, Inc. Special local area network with secure data transfer
CN110933460B (zh) * 2019-12-05 2021-09-07 腾讯科技(深圳)有限公司 视频的拼接方法及装置、计算机存储介质
EP3920539A1 (en) * 2020-06-04 2021-12-08 MK Systems USA Inc. Systems and methods for providing audio-video streams with alternative content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078174A1 (en) 2000-10-26 2002-06-20 Sim Siew Yong Method and apparatus for automatically adapting a node in a network
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US20090157850A1 (en) 2007-12-13 2009-06-18 Highwinds Holdings, Inc. Content delivery network

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108703A (en) 1998-07-14 2000-08-22 Massachusetts Institute Of Technology Global hosting system
AU2001290546A1 (en) * 2000-08-22 2002-03-04 Akamai Technologies, Inc. Dynamic content assembly on edge-of-network servers in a content delivery network
US6792265B1 (en) * 2000-10-02 2004-09-14 Sbc Technology Resources, Inc. Conference call setup utilizing a wireless access protocol capable telephone
AU2002224448A1 (en) * 2000-10-26 2002-05-06 Prismedia Networks, Inc. Method and apparatus for large payload distribution in a network
JP2003228534A (ja) 2001-11-30 2003-08-15 Ntt Docomo Inc 情報配信システム、記述データ配信装置、コンテンツ位置管理装置、データ変換装置、受信端末装置、情報配信方法
US7133905B2 (en) 2002-04-09 2006-11-07 Akamai Technologies, Inc. Method and system for tiered distribution in a content delivery network
JP4165298B2 (ja) * 2003-05-29 2008-10-15 株式会社日立製作所 端末装置、及び通信網の切替え方法
US7231396B2 (en) * 2003-07-24 2007-06-12 International Business Machines Corporation Data abstraction layer for a database
US7500010B2 (en) * 2005-04-07 2009-03-03 Jeffrey Paul Harrang Adaptive file delivery system and method
US8015222B2 (en) * 2005-10-24 2011-09-06 Emc Corporation Virtual repository management
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US20080059631A1 (en) * 2006-07-07 2008-03-06 Voddler, Inc. Push-Pull Based Content Delivery System
US20080072264A1 (en) * 2006-08-02 2008-03-20 Aaron Crayford Distribution of content on a network
US8966011B2 (en) * 2007-12-28 2015-02-24 Echostar Technologies L.L.C. Performance enhancing proxy
US20100293058A1 (en) * 2008-04-30 2010-11-18 Intertrust Technologies Corporation Ad Selection Systems and Methods
AU2010202034B1 (en) 2010-04-07 2010-12-23 Limelight Networks, Inc. Partial object distribution in content delivery network
EP2467786B1 (en) 2009-08-17 2019-07-31 Akamai Technologies, Inc. Method and system for http-based stream delivery
US9917874B2 (en) * 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US8219645B2 (en) 2009-10-02 2012-07-10 Limelight Networks, Inc. Content delivery network cache grouping
EP2486491A4 (en) * 2009-10-06 2013-10-23 Unwired Planet Llc MANAGING NETWORK TRAFFIC BY EDITING A MANIFEST FILE AND / OR USING A INTERMEDIATE FLOW CONTROL
US9124642B2 (en) * 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
EP2597869A4 (en) * 2010-07-20 2013-12-18 Sharp Kk CONTENT DISTRIBUTION DEVICE, CONTENT PLAYER, CONTENT DISTRIBUTION SYSTEM, METHOD FOR CONTROLLING THE CONTENT DISTRIBUTION APPROACH, CONTROL PROGRAM AND RECORDING MEDIUM
TW201720194A (zh) * 2011-06-01 2017-06-01 內數位專利控股公司 內融傳遞網路互連(cdni)機制

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020078174A1 (en) 2000-10-26 2002-06-20 Sim Siew Yong Method and apparatus for automatically adapting a node in a network
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US20090157850A1 (en) 2007-12-13 2009-06-18 Highwinds Holdings, Inc. Content delivery network

Also Published As

Publication number Publication date
JP5932987B2 (ja) 2016-06-08
KR20140016968A (ko) 2014-02-10
CN103563327B (zh) 2017-07-11
US20140089465A1 (en) 2014-03-27
HUE042122T2 (hu) 2019-06-28
CN103563327A (zh) 2014-02-05
EP2719142B1 (en) 2018-10-17
WO2012168356A1 (en) 2012-12-13
EP2719142A1 (en) 2014-04-16
US10652343B2 (en) 2020-05-12
JP2014523667A (ja) 2014-09-11

Similar Documents

Publication Publication Date Title
KR101617929B1 (ko) 세그먼트된 콘텐츠를 위치시키고 검색하는 방법 및 시스템
JP6258432B2 (ja) セグメント化されたコンテンツについての制御されたストリーミング
US10757067B2 (en) Just in time transcoding and packaging in IPV6 networks
KR101924703B1 (ko) 단일 메세지 요청에 기초하여 네트워크 노드로부터 다수의 청크 요청
CN102238419B (zh) 播放实况内容的方法和装置
US9332051B2 (en) Media manifest file generation for adaptive streaming cost management
US8463876B2 (en) Partial object distribution in content delivery network
CN102550034B (zh) 使用块划分或请求控制以获得改善的客户端侧处置的增强型块请求流送
US20170171590A1 (en) Rendering content and time-shifted playback operations for personal over-the-top network video recorder
KR101401183B1 (ko) 스트리밍 미디어 파일의 표현을 기술하고 타이밍하기 위한 장치 및 방법
US10313415B2 (en) Using segment routing to access chunks of content
CN106209892A (zh) 使用可伸缩编码的增强型块请求流送
WO2011126481A1 (en) Partial object distribution in content delivery network
WO2011079477A1 (en) Method and device for providing comments on multimedia contents
US20170054780A1 (en) Real-time file generation and delivery
CN104735089A (zh) 内容处理方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190418

Year of fee payment: 4