KR20180060844A - 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치 - Google Patents

컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20180060844A
KR20180060844A KR1020160160821A KR20160160821A KR20180060844A KR 20180060844 A KR20180060844 A KR 20180060844A KR 1020160160821 A KR1020160160821 A KR 1020160160821A KR 20160160821 A KR20160160821 A KR 20160160821A KR 20180060844 A KR20180060844 A KR 20180060844A
Authority
KR
South Korea
Prior art keywords
network node
network
content
status information
time
Prior art date
Application number
KR1020160160821A
Other languages
English (en)
Other versions
KR102485601B1 (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 KR1020160160821A priority Critical patent/KR102485601B1/ko
Publication of KR20180060844A publication Critical patent/KR20180060844A/ko
Application granted granted Critical
Publication of KR102485601B1 publication Critical patent/KR102485601B1/ko

Links

Images

Classifications

    • 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/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • H04L65/4076
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 MMT 기반의 컨텐츠 전송 서비스를 제공하는 데 있어서, MMT 기반의 컨텐츠 데이터를 전송하는 복수의 네트워크 노드들로부터 각각 상태 정보를 수집하고, 컨텐츠 전송을 요청한 클라이언트 장치에 상기 수집한 상태 정보를 기반으로 최적의 네트워크 노드에 대한 경로 정보를 제공할 수 있도록 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치에 관한 것으로서, MMT 프로토콜에 기반하여 컨텐츠 캐싱 및 전송을 수행하는 복수의 네트워크 노드 및 클라이언트 장치와 연동하는 CDN(Contents Delivery network) 관리 장치가, 복수의 네트워크 노드로부터 각 네트워크 노드의 상태 정보를 포함하는 상태 정보 메시지를 수신하여 저장하고, 상기 클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택한 후, 상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 것이다.

Description

컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치{Method of selecting optimal network node for contents delivery service and apparatus therefor}
본 발명은 MMT 기반의 컨텐츠 전송 서비스를 제공하는 데 있어서, MMT 기반의 컨텐츠 데이터를 전송하는 복수의 네트워크 노드들로부터 각각 상태 정보를 수집하고, 컨텐츠 전송을 요청한 클라이언트 장치에 상기 수집한 상태 정보를 기반으로 최적의 네트워크 노드에 대한 경로 정보를 제공할 수 있도록 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치에 관한 것이다.
최근 방송통신기술의 발전과 더불어 디스플레이의 대형화와 UHD(Ultra high definition) 영상 기술의 발전으로 고품질 대용량 비디오 서비스에 대한 요구가 증가하는 추세이며, UHD급 고품질 대용량 비디오 서비스를 원활하게 하기 위한 방법으로, 방송망뿐만 아니라 통신망을 포함한 이 기종 망 서비스에 관한 연구가 진행되고 있다.
현재 지상파 방송에서는 비디오, 오디오, 메타데이터 등을 전송하기 위해 MPEG-2 TS를 전송포맷으로 사용하는데, 이를 통신망으로 전송할 경우, IP와 상호 변환 가능하도록 TS over IP Packet의 형태가 요구되어 추가적인 IP헤더를 생성하기 때문에 복잡도가 증가하고 페이로드 비율 면에서 비효율적이다.
이에, 전송망과 단말에 제한을 받지 않는 IP기반의 차세대 미디어 전송 표준 기술인 MMT(MPEG Media Transport)가 표준화되었다. MMT는 IP기반의 포맷구조를 가지므로 통신망으로 전송 시 추가적인 작업이 요구되지 않아 하나의 컨텐츠를 계층 부호화하여 이 기종 망을 통해 서비스 하는 환경에서 보다 유연하고 효율적이라고 알려져 있다.
한편, 스마트폰(smart phone)과 같은 사용자의 단말 성능 향상 및 이동통신 기술의 발달에 따라 컨텐츠 전송 트래픽이 급격히 증가함에 따라서, 컨텐츠 전송 서비스의 품질 문제는 더 중요해지고 있으며, 이를 해결하기 위한 기술로서, CDN(Contents Delivery Network) 서비스가 이용되고 있다.
CDN 서비스는, 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 사용자의 단말로 안정적으로 전달하기 위한 서비스로, 사용자의 단말로부터 멀리 떨어져 있는 컨텐츠 제공자의 웹 서버에 집중되어 있는 용량이 크거나 사용자의 요구가 빈번한 컨텐츠를 네트워크 상에 분산 배치된 캐시 서버에 미리 일부 또는 전부를 복사하여 저장한 다음, 사용자의 컨텐츠 요구가 있을 경우, 해당 사용자와의 거리 혹은 서버 부하에 따라서, 캐시 서버를 선택하여 그 경로를 반환함으로써, 사용자의 단말이 그 반환된 경로를 통해 해당 캐시 서버에 접속한 후, 컨텐츠를 제공받을 수 있도록 한 서비스를 의미한다.
그러나 상기 MMT 기술에서는 이러한 CDN 서비스의 적용을 위한 기술이 고려되어 있지 않으며, 특히, MMT 기반의 미디어 서버들의 부하분산 처리를 위한 기술이 고려되어 있지 않다.
한국등록특허 제1039370호, 2011년 5월 31일 등록 (명칭: 도메인 위임에 의한 GSLB 서버 및 이를 이용한 CDN 서비스 시스템 및 방법)
본 발명은 MMT 기반의 컨텐츠 전송 서비스를 제공하는 데 있어서, MMT 기반의 컨텐츠 데이터를 전송하는 복수의 네트워크 노드들로부터 각각 상태 정보를 수집하고, 컨텐츠 전송을 요청한 클라이언트 장치에 상기 수집한 상태 정보를 기반으로 최적의 네트워크 노드에 대한 경로 정보를 제공할 수 있도록 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치를 제공하고자 한다.
상술한 과제의 해결 수단으로서, 본 발명은 MMT(MPEG Media Transport) 프로토콜에 기반하여 컨텐츠 캐싱 및 전송을 수행하는 복수의 네트워크 노드 및 클라이언트 장치와 연동하는 CDN(Contents Delivery network) 관리 장치의 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법에 있어서, 상기 CDN 관리 장치가, 복수의 네트워크 노드로부터 각 네트워크 노드의 상태 정보를 포함하는 상태 정보 메시지를 수신하여 저장하는 단계; 상기 클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택하는 단계; 및 상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 상태 정보 메시지는 네트워크 노드의 IP 주소(MANE_IP), 네트워크 노드의 동작 모드(MANE_mode), 현재 세션 정보(Current session), 최대 세션 용량(Max session capacity), 응답 시간(Response time), CPU 부하(CPU_load), GPU 부하(GPU_load), 메모리 사용량(RAM_usage), 네트워크 노드가 임시로 생성된 가상 네트워크 노드인지를 나타내는 가상화 플래그(Virtual_flag), 측정 시간(Measure_time) 중 하나 이상을 포함할 수 있으며, 상기 네트워크 노드가 가상 네트워크 노드인 경우, 가상 네트워크 노드의 생성 시간을 나타내는 유효 시작 시간(valid_time_start), 상기 가상 네트워크 노드의 유지 시간을 나타내는 유효 기간(valid_time_duration)를 더 포함할 수 있다.
아울러, 상기 네트워크 노드 통지 메시지는 선택된 네트워크 노드(100)의 주소 정보(source URL), PA(Package Access) 정보, 패키지 ID(Package ID), 애셋 ID(asset ID) 중에서 하나 이상을 포함할 수 있다.
그리고, 상기 선택하는 단계는, 상기 네트워크 노드의 IP 주소(MANE_IP), 네트워크 노드의 동작 모드(MANE_mode), 현재 세션 정보(Current session), 최대 세션 용량(Max session capacity), 응답 시간(Response time), CPU 부하(CPU_loas), GPU 부하(GPU_load), 메모리 사용량(RAM_usage), 네트워크 노드가 임시로 생성된 가상 네트워크 노드인지를 나타내는 가상화 플래그(Virtual_flag), 유효 시작 시간(valid_time_start), 유효 기간(valid_time_duration), 및 측정 시간(Measure_time) 중에서 하나 이상을 조합하여 산출된 각 네트워크 노드의 부하 지수에 따라서 상기 컨텐츠를 전송할 네트워크 노드를 선택할 수 있다.
본 발명에 따른 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법은, 프로그램으로 구현되어 컴퓨터 판독 가능한 기록매체에 저장되어 제공될 수 있다.
상기 상술한 과제의 다른 해결 수단으로서, MMT 프로토콜에 기반하여 컨텐츠 캐싱 및 전송을 수행하는 복수의 네트워크 노드의 상태 정보를 저장하는 상태 정보 DB; 상기 복수의 네트워크 노드로부터 전송된 상태 보고 메시지를 수신하여 상기 상태 정보를 수집하는 상태 정보 수집 모듈; 및 클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택하고, 상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 제어 모듈을 포함하는 CDN 관리 장치를 제공한다.
본 발명은 MMT 프로토콜에 따라서 컨텐츠를 캐싱하고 전송하는 복수의 네트워크 노드의 상태 정보를 상태 보고 메시지를 통해서 수집하고, 이렇게 수집한 상태 정보를 기반으로 클라이언트 장치에 컨텐츠를 전송할 네트워크 노드를 선택하여 그에 대한 정보를 네트워크 노드 통지 메시지를 통해 클라이언트 장치로 전송함으로써, MMT 기반의 컨텐츠 전송 서비스에 있어서, 복수 네트워크 노드들의 부하분산 처리가 가능해진다.
아울러, 이를 통해서 MMT 기반의 컨텐츠 전송 서비스의 서비스 품질을 더 향상시킬 수 있는 효과가 있다.
도 1은 본 발명에 따른 컨텐츠 전송 시스템의 개략적인 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 컨텐츠 전송 과정을 나타내는 메시지 흐름도이다.
도 3은 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 상태 보고 메시지의 구문(Syntax)을 나타낸 도면이다.
도 4는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 네트워크 노드의 구성을 간략히 나타낸 도면이다.
도 5는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, CDN 관리 장치의 구성을 나타낸 도면이다.
도 6은 본 발명에 따른 CDN 관리 장치가 구현되는 컴퓨팅 시스템을 설명하기 위한 도면이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하의 설명 및 특허 청구 범위에서, "네트워크" 또는 "통신망"은 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.
본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.
아울러, 본 명세서에서 기술하는 스트리밍(Streaming) 서비스는 오디오 혹은 동영상 등의 다양한 컨텐츠를 스트리밍 방식으로 서비스를 제공하는 것을 의미한다. 여기서 스트리밍 방식이란 파일의 전송과 재생이 함께 이루어져 대기시간을 줄이고 수신측의 저장 용량에도 제약 받지 않는 기술로, 스트리밍 데이터 패킷 단위로 데이터를 수신하고 수신된 즉시 재생할 수 있는 방식을 의미한다. 이러한 스트리밍은 스트리밍 서버에 저장된 컨텐츠를 사용자의 요청에 따라서 제공하는 VOD 스트리밍과, 인터넷 라디오 방송, 인터넷 방송과 같이 정해진 시간에 컨텐츠 데이터를 브로드캐스팅하는 라이브 스트리밍으로 구분될 수 있다. 본 발명에 적용되는 스트리밍은 상기의 두 가지 방식 모두에 적용될 수 있다.
이하, 본 발명의 실시 예에 따른 스트리밍 서비스 제공 시스템의 주요 구성에 대해 먼저 설명하도록 한다.
도 1은 본 발명에 따른 컨텐츠 전송 시스템의 개략적인 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 컨텐츠 전송 시스템은, 다수의 네트워크 노드(100)와, 클라이언트 장치(200)와, CDN 관리 장치(300)를 포함하여 이루어질 수 있다. 상술한 다수의 네트워크 노드(100)와, 클라이언트 장치(200)와, CDN 관리 장치(300)는 임의의 네트워크(10)를 통해서 상호 연결된다.
상기 네트워크(10)는 네트워크 노드(100)와, 클라이언트 장치(200)와, CDN 관리 장치(300) 간의 데이터 송수신을 위한 전송 매체를 의미하는 것으로, 특히, 단일의 통신망 형태보다는 다양한 종류, 예컨대 인트라넷망, 이동통신망, 위성 통신망 등 다양한 종류의 유무선 통신 기술을 이용하여 구현된 통신망이 혼합된 형태일 수 있다.
또한, 상기 네트워크(10)는 다수의 무선 접속망(미도시) 및 코어망(미도시)을 포함하는 모바일 망과, 외부망, 예컨대 인터넷망(미도시)을 포함하여 구성될 수 있다. 여기서, 모바일 망을 구성하는 무선 접속망(미도시)은 클라이언트 장치(200)와의 무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다.
또 다른 방식으로는, 상기 기지국의 베이스밴드 단의 처리를 수행하는 디지털 유니트(Digital Unit, 이하 DU라 함)와 RF 단의 처리를 수행하는 무선 유니트(Radio Unit, 이하 RU라 함)을 분리하여, 서비스 영역에 각각 다수의 RU를 설치하고, 상기 다수의 DU를 집중화한 DU 집중국에 상기 다수의 RU를 연결하여 구성할 수도 있다.
또한, 무선 접속망과 함께 모바일 망을 구성하는 코어망은 유무선 접속망과 외부 망, 예컨대, 인터넷망(미도시)을 연결하는 역할을 수행한다.
이러한 코어망은 앞서 설명한 바와 같이, 유무선 접속망 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(미도시)은 주파수간 이동성을 관리하고, 접속망(미도시) 및 코어망(미도시) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(미도시)과의 연동을 위한 역할을 수행할 수도 있다. 코어망(미도시)은 상술한 구성 이외도 MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.
또한, 인터넷망은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 스트리밍 서버(200)와 연결되어, 스트리밍 서버(200)로부터 제공되는 스트리밍 데이터를 코어망(미도시) 및 유무선 접속망(미도시)을 거쳐, 단말(100)로 제공하는 역할을 수행할 수 있다.
아울러, 모바일 망 상에서 송수신되는 모바일 패킷은 인터넷망(미도시)과는 다르게 GTP(GPRS Tunneling Protocol) 터널을 통해서 전송될 수 있다. 예를 들어, 클라이언트 장치(200)가 컨텐츠 요청 메시지를 전송한다고 할 때, 출발지 주소 정보와 목적지 주소 정보를 포함하는 IP 패킷을 무선 접속망으로 전송하면, 무선접속망의 기지국(예컨대, eNodeB)은 상기 IP 패킷에 GTP 헤더, UDP 헤더, GTP 터널링을 위한 IP 헤더를 더 부가한 모바일 패킷으로 변환하여 코어망으로 전달한다. 이때, GTP 헤더는 클라이언트 장치(200)에 할당된 터널링 식별 정보(TEID; Tunneling End poing ID)를 포함할 수 있다. 코어망은 GTP 헤더, UDP 헤더 및 GTP 터널링을 위한 IP 헤더를 제거하고, 클라이언트 장치(200)가 전송한 원래의 IP 패킷을 인터넷망을 목적지로 전송할 수 있다.
이상으로 본 발명이 적용되는 네트워크(10) 구조에 대해 간략히 설명하였다. 추가적으로 상기 네트워크(10)는 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기로 제공할 수 있는 클라우드 컴퓨팅(Cloud Computing) 시스템을 포함할 수 있다. 여기서, 클라우드 컴퓨팅이란 정보가 인터넷 상의 서버에 영구적으로 저장되고, 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 클라이언트 단말기에는 일시적으로 보관되는 컴퓨터 환경을 의미하며, 클라우드 컴퓨팅은 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있도록 하는 컴퓨터 환경 접속망을 의미한다.
또한, 네트워크(10)는 LAN(Local Area Network), WAN(Wide Area Network) 등의 폐쇄형 네트워크, 인터넷(Internet)과 같은 개방형 네트워크뿐만 아니라, CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), 최근 주목받고 있는 LTE(Long Term Evolution), EPC(Evolved Packet Core) 등의 네트워크와 향후 구현될 차세대 네트워크를 포함할 수 있다.
상기 네트워크 노드(100)는 서비스하고자 하는 컨텐츠의 적어도 일부 혹은 전부를 저장하고, 상기 클라이언트 장치(200)의 요청에 따라서 저장된 컨텐츠를 스트리밍 전송하는 네트워크 장치로서, 클라이언트 장치(200)가 접속된 네트워크(10) 상에 분산 배치될 수 있다. 더 구체적으로, 상기 네트워크 노드(100)는 모바일 망의 코어망 상에 분산 배치되되, 각 무선 접속망이 연결된 코어망의 에지 노드에 연결될 수 있다.
특히, 본 발명에 따른 네트워크 노드(10)는 저장된 컨텐츠를 MMT 표준에 따라서 송수신할 수 있는 장치로서, MMT의 MANE(Media Aware Network Entity)가 될 수 있다.
참고로, MMT 프로토콜 구조에서 MMTP 패킷은 가변적인 길이의 패킷 포맷을 가지며, MMTP 페이로드는, MPU(Media Processing Unit)모드, GFD(General File Delivery) 모드, 시그널링 메시지 모드로 구분된다. MPU 모드는 파일을 패킷화하여 스트리밍하는 모드이고, GFD 모드는 일반적인 파일의 다운로드 모드를 의미한다.
MPU 모드에서 MMTP 패킷은 20바이트의 MMTP 헤더, MPU헤더와, MPU 페이로드로 구성되어 있다. MPU는 24바이트의 헤더를 갖는 timed media와 14바이트의 헤더를 갖는 non-timed media로 구분된다.
상기 네트워크 노드(100)는 이러한 MMT 프로토콜에 따라서 MMTP 패킷을 송수신하며, 상기 MMTP 패킷을 분석 및 처리할 수 있다. 이때, 상기 MMTP 패킷은 스트리밍 방식으로 전송될 수 있다.
그리고 클라이언트 장치(200)는 본 발명에 따른 컨텐츠 전송 서비스를 이용하는 사용자측 장치로서, 사용자가 선택한 컨텐츠의 전송을 요청하고, 요청에 대응하는 어느 한 네트워크 노드(100)로부터 스트리밍방식을 전송되는 MMTP 패킷을 수신하여 재생할 수 있다.
그리고 CDN 관리 장치(300)는 상기 복수의 네트워크 노드(100)를 관리하여 컨텐츠 전송 서비스의 로드밸런싱을 수행하기 위한 장치이다.
본 발명에 따른 컨텐츠 전송 시스템은, 상기 네트워크 노드(100)에서 클라이언트 장치(200)로 컨텐츠 스트리밍 서비스를 수행하는데 있어서, 상기 CDN 관리 장치(300)를 통해서 복수의 네트워크 노드(100) 각각의 상태 정보를 수집하고, 수집한 상태 정보를 기반으로 컨텐츠를 요청한 클라이언트 장치(200)로 요청한 컨텐츠를 전송할 네트워크 노드(100)를 선택하고, 해당 경로 정보를 클라이언트 장치(200)로 제공한다.
상기 CDN 관리 장치(300)는 네트워크(10)를 통해서 복수의 네트워크 노드(100)와 통신한다.
이상에서 설명한 바와 같이 구성된 컨텐츠 전송 시스템에서의 컨텐츠 전송 서비스 동작을 도 2를 참조하여 설명한다.
도 2는 본 발명에 따른 컨텐츠 전송 시스템에서의 컨텐츠 전송 과정을 나타내는 메시지 흐름도이다.
도 2를 참조하면, 본 발명에 따른 컨텐츠 전송 시스템에 있어서, CDN 관리 장치(300)는 주기적으로 복수의 네트워크 노드(100)로부터 상태 정보를 수집한다(S105). 상기 상태 정보의 수집은 상태 보고 메시지를 통해서 각 네트워크 노드(100)가 자신의 부하와 관련된 상태 정보를 CDN 관리 장치(300)로 전송하는 형태로 이루어질 수 있다.
이때, 각 네트워크 노드(100)의 상태 정보 수집을 위한 상태 보고 메시지는 도 3과 같은 구조로 정의될 수 있다.
도 3을 참조하면, 상기 상태 보고 메시지(MSR_message)는, 헤더 정보로서, 메시지 식별 정보(message_id), 버전 정보(version), 및 길이 정보(length)를 포함할 수 있으며, 상태 정보는, 메시지 페이로드(message_payload)에 노드 식별 정보(num_MANE)에 의해 네트워크 노드(100) 별로 구분되어 전송된다.
상기 상태 정보는, 네트워크 노드의 IP 주소(MANE_IP), 네트워크 노드의 동작 모드(MANE_mode), 현재 세션 정보(Current session), 최대 세션 용량(Max session capacity), 응답 시간(Response time), CPU 부하(CPU_loas), GPU 부하(GPU_load), 메모리 사용량(RAM_usage), 가상화 플래그(Virtual_flag), 유효 시작 시간(valid_time_start), 유효 기간(valid_time_duration), 측정 시간(Measure_time) 중 하나 이상을 포함한다.
네트워크 노드의 IP 주소(MANE_IP)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에 할당된 IP 주소로서, 128비트의 필드로 표현될 수 있다.
네트워크 노드의 동작 모드(MANE_mode)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)의 기능 클래스를 나타내는 정보로서, 예를 들어, MMT 프로토콜에서 정의된 세 개의 클래스 class A, B, C 중 어느 하나를 나타낼 수 있다. 예를 들어, 상기 동작 모드(MANE_mode)는 2비트 길의 필드에 표시하여, 값 0은 class A를, 값 1은 class B를, 값 2는 class C를 나타낼 수 있다.
현재 세션 정보(Current session)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에 현재 연결된 세션 수를 나타내는 것으로서, 32비트로 표현될 수 있다. 상기 세션은 네트워크 노드(100)와 클라이언트 장치(200) 간을 연결하는 세션을 의미한다.
최대 세션 용량(Max session capacity)은, 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에서 최대 연결 가능한 세션 수를 나타내는 것으로서, 32비트로 표현될 수 있다.
응답 시간(Response time)은 요청에 대한 평균 응답 시간으로서, millisecond로 표현될 수 있으며, 16비트의 필드 길이로 정의될 수 있다.
CPU 부하(CPU_loas) 및 GPU 부하(GPU_load)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에 구비된 CPU 및 GPU의 현재 부하로서 %로 표현될 수 있다.
메모리 사용량(RAM_usage)은 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에 구비된 메모리(RAM)의 현재 사용량으로서, %로 표현될 수 있다.
상기 CPU 부하(CPU_loas), GPU 부하(GPU_load) 및 메모리 사용량(RAM_usage)은 각 8비트의 필드 길이를 갖는다.
가상화 플래그(Virtual_flag)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)가 전용 네트워크 노드(dedicated MANE)인지, 임시로 생성된 가상 네트워크 노드(virtualized MANE)인지를 나타내는 정보이다. 예를 들어, 값 0은 전용 네트워크 노드를, 값 1은 가상 네트워크 노드를 의미할 수 있다.
상기 유효 시작 시간(valid_time_start) 및 유효 기간(valid_time_duration)은 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)가 임시로 구축된 가상 네트워크 노드인 경우, 가상 네트워크 노드의 유효 시간을 정의하기 위한 정보로서, 각각 가상 네트워크의 생성 시간 및 가상 네트워크 노드가 유지되는 기간을 나타낸다.
측정 시간(Measure_time)은 상기 상태 정보를 측정한 시간을 구분하기 위한 것으로서, 즉, 상태 보고 메시지의 생성 시간으로 나타낼 수 있다.
상기 CDN 관리 장치(300)는 상술한 바와 같은 구조의 상태 보고 메시지를 통해 주기적으로 전송되는 각 네트워크 노드(100)의 상태 정보를 저장하여 두며, 이때, 저장되는 상태 정보는 가장 최근에 수신된 상태 보고 메시지의 상태 정보로 갱신된다.
그리고 임의의 클라이언트 장치(200)가 사용자의 요구에 따라서 컨텐츠를 요청하게 되는데, 이때, 상기 클라이언트 장치(200)의 컨텐츠 요청은 CDN 관리 장치(300)로 전송된다(S110). 여기서, 컨텐츠 요청은, 예를 들어, 컨텐츠의 주소 정보를 포함하는 도메인 네임 질의 메시지(DNS query) 혹은 컨텐츠 요청 메시지(예를 들어, HTTP request 메시지)를 통해 이루어질 수 있다.
이렇게 클라이언트 장치(200)의 컨텐츠 요청을 수신한 CDN 관리 장치(300)는 기 저장한 복수 네트워크 노드(100)의 상태 정보를 상호 비교하여, 상기 클라이언트 장치(200)로 컨텐츠를 전송할 네트워크 노드를 선택한다(S115). 여기서, 컨텐츠를 전송한 네트워크 노드의 선택은, 네트워크 노드(100)의 IP 주소, 혹은 현재 세션 수, 응답 시간, 부하 정보, 메모리 사용량, 가상 혹은 전용 여부, 가상 네트워크 노드인 경우의 유효 기간 중 하나 이상을 조합한 기준에 근거하여 이루어질 수 있다. 예를 들면, 단순히, 현재 응답 시간이 가장 빠른 네트워크 노드(100)를 선택하거나, CPU 혹은 GPU의 부하가 가장 적은 네트워크 노드를 선택할 수 도 있고, 혹은 둘 이상의 상태 정보를 조합하여 각 네트워크 노드(100)의 부하 지수를 산출하고, 산출된 부하 지수를 비교하여 선택할 수 도 있다.
이렇게 컨텐츠를 전송할 네트워크 노드(100)가 선택되면, CDN 관리 장치(300)는 선택한 네트워크 노드에 대한 정보를 응답 메시지를 통해 클라이언트 장치(200)로 전송한다(S120). 상기 응답 메시지는, 컨텐츠를 전송할 네트워크 노드를 알리는 네트워크 노드 통지(MFN: MANE Function Notification) 메시지로 구현될 수 있으며, 상기 네트워크 노드 통지 메시지는, 선택된 네트워크 노드(100)의 주소 정보(source URL), PA(Package Access), 패키지 ID(Package ID), 애셋 ID(asset ID)를 포함할 수 있다.
상기 클라이언트 장치(200)는, 상기 네트워크 노드 통지 메시지를 참조하여, 해당하는 네트워크 노드(100)에 접속하여 컨텐츠를 요청하고(S125), 이에 대응하여 해당 네트워크 노드(100)로부터 요청한 컨텐츠의 데이터를 수신하여 재생한다(S130).
상술한 바와 같이, 본 발명은 MMT 기반의 컨텐츠 전송 서비스를 제공하는데 있어서, 상태 보고 메시지 및 네트워크 노드 통지 메시지를 이용하여 CDN 노드로서 동작하는 네트워크 노드(100)들의 상태를 확인하여 로드밸런싱을 수행할 수 있다.
도 4는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 네트워크 노드(100)의 구성을 간략히 나타낸 도면이다.
네트워크 노드(100)는 네트워크(10) 상에서 전송되는 컨텐츠 데이터를 수신하여 캐싱하고, 캐싱된 컨텐츠 데이터를 클라이언트 장치(200)로 전송하기 위한 장치로서, 캐싱 모듈(110)과, 컨텐츠 전송 모듈(120)과, 제어 모듈(130)을 포함하여 이루어질 수 있다.
캐싱 모듈(110)은 컨텐츠 데이터를 저장하며, 컨텐츠 전송 모듈(120)은 캐싱 모듈(110)에 저장된 컨텐츠 데이터를 일정 전송 방식, 예를 들어, 스트리밍 방식으로 클라이언트 장치(200)에 전송한다.
이때, 제어 모듈(130)은, 네트워크 노드(100)의 동작 전반을 제어하기 위한 수단으로서, 클라이언트 장치(200)에서 요청한 컨텐츠 데이터가 캐싱 모듈(110)에 저장되어 있는 지를 확인하여, 저장되어 있는 경우, 캐시 히트로 판단하여 저장된 컨텐츠 데이터를 클라이언트 장치(200)로 전송한다. 반면 저장되어 있지 않은 경우, 기 설정된 캐싱 정책에 따라서 오리진 서버(origin server)로부터 전송되는 컨텐츠 데이터를 수신하여 상기 캐싱 모듈(110)에 저장할 수 있다. 특히, 본 발명에 있어서, 상기 제어 모듈(130)은, 주기적으로 네트워크 노드(100)의 상태를 확인하고, 그에 따른 상태 정보를 추출하여 상기 상태 보고 메시지를 통해서 CDN 관리 장치(300)로 전송한다.
도 5는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, CDN 관리 장치(300)의 구성을 나타낸 도면이다.
도 5를 참조하면, CDN 관리 장치(300)는 제어 모듈(310)과, 상태 정보 수집 모듈(320)과, 상태 정보 DB(330)를 포함하여 이루어질 수 있다.
상기 제어 모듈(310)은 CDN 관리 장치(300)의 동작 전반을 제어하는 구성으로서, 네트워크 노드(100) 들의 상태 정보 수집 처리를 제어하고, 클라이언트 장치(200)의 컨텐츠 요청 및 응답 처리를 수행한다.
상태 정보 수집 모듈(320)은, 네트워크(10) 상에 설치된 복수의 네트워크 노드(100)로부터 상태 정보를 수집한다. 상기 상태 정보의 수집은 도 3과 같은 상태 보고 메시지를 수신함에 의해 이루어질 수 있다. 아울러, 상태 정보 수집 모듈(320)은 제어 모듈(310)의 제어에 따라서 소정 주기로 각 네트워크 노드(100)에 상태 정보 보고를 요청하고 그 응답으로서 상기 상태 보고 메시지를 수신할 수 있다.
상태 정보 DB(330)는 상기 상태 정보 수집 모듈(320)에 의해 수집된 복수 네트워크 노드(100)들의 상태 정보를 저장한다. 이때, 주기적으로 수집되는 상태 정보에 기반하여 상기 복수 네트워크 노드(100)들의 상태 정보는 최근 상태정보로 갱신될 수 있다.
상술한 바와 같이 구성된 CDN 관리 장치(300)는 상태 정보 수집 모듈(320)을 제어하여 복수의 네트워크 노드(100)로부터 상태 정보를 수집하여 상태 정보 DB(330)에 저장하여 두고, 이후 클라이언트 장치(200)로부터의 컨텐츠 요청 시, 상기 저장된 상태 정보를 기반으로 복수의 네트워크 노드(100) 중에서 상기 클라이언트 장치(200)로 컨텐츠를 전송할 네트워크 노드를 선택하고, 그에 대한 정보를 네트워크 노드 통지 메시지를 통해서 상기 클라이언트 장치(200)로 제공한다. 이때, 상기 네트워크 노드의 선택은, 기 설정된 로드밸런싱 규칙에 따라서 이루어질 수 있다.
상술한 바와 같이 구성된 CDN 관리 장치(300)는, 소프트웨어 혹은 하드웨어와 소프트웨어의 결합에 의해 구현될 수 있는 것으로서, 구체적으로 도 6과 같은 컴퓨팅 시스템 상에 구현될 수 있다.
도 6은 본 발명에 따른 CDN 관리 장치(300)가 구현되는 컴퓨팅 장치의 하드웨어 구조를 개략적으로 나타낸 도면이다.
본 발명이 구현되는 컴퓨팅 시스템은, 시스템 버스로 연결된 프로세서(61), 네트워크 인터페이스(62), 메모리(63) 및 입출력 인터페이스(64)를 적어도 하나 포함한다.
프로세서(61)는 메모리(63)에 저장된 프로그램을 로딩하여 실행함으로써, 상기 프로그램에 따른 소정의 기능을 수행한다.
프로세서(61)에 의해 로딩되어 실행되는 프로그램은, 오퍼레이팅 시스템(OS) 프로그램, 하나 이상의 애플리케이션 프로그램, 프로그램 모듈, 하나 이상의 프로그램 모듈을 포함하는 프로그램 코드 등이 될 수 있다.
또한, 상기 프로세서(61)는 일 구현 예에서 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다.
본 발명에 따른 방법 및 장치는, 프로그램으로 구현되어 상기 메모리(63)에 저장된 후, 상기 프로세서(61)에 의해 로딩됨에 의해 실행됨에 의해 구현될 수 있다.
메모리(63)는 컴퓨터 실행가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 위한 것으로서, ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있으며, 시동중과 같은 때에 컴퓨팅 장치 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 프로그램도 저장한다. 상기 메모리(63)는 상태 정보 DB(330)를 더 저장할 수 있다.
아울러, 본 발명이 적용되는 컴퓨팅 시스템은, 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송하는 네트워크 인터페이스(62)를 포함한다. 본 발명에 있어서, CDN 관리 장치(300)는 상기 컴퓨팅 시스템의 네트워크 인터페이스(62)를 통해서 네트워크 노드(100)로부터 상태 보고 메시지를 수신하고, 클라이언트 장치(200)의 요청을 수신하고 그에 대응하는 네트워크 노드 보고 메시지를 전송할 수 있다.
아울러, 상기 컴퓨팅 시스템은, 시스템 버스에 연결된 입출력 인터페이스(64)를 통해, 키보드, 포인팅 장치, 마이크로폰, 조이스틱, 게임 패드, 스캐너, 등과 같은 다양한 입력 장치를 통해 사용자로부터 명령 및 정보를 입력받을 수 있다. 상기 입출력 인터페이스(24)로부터 입력된 명령 및 정보는 프로세서(61)로 전달되어 처리될 수 있으며, 그 처리 결과는 다시 입출력 인터페이스(24)를 통해서 모니터 혹은 LCD와 같은 디스플레이 장치 또는 스피커나 마이크로폰과 같은 오디오 장치 등의 다양한 출력 장치로 출력될 수 있다.
입출력 인터페이스(64)는 예를 들면, 직렬 포트 인터페이스, PS/2 인터페이스, 병렬 포트 인터페이스, USB 인터페이스, IEEE(Institute of Electrical and Electronics Engineers) 1394 인터페이스(즉, 파이어와이어(FireWire) 인터페이스)와 같은 매우 다양한 서로 다른 인터페이스 중 임의의 것을 논리적으로 나타내거나, 다른 인터페이스의 조합까지도 논리적으로 나타낼 수 있다.
또한, 상기 입출력 인터페이스(64)는 모뎀에 연결되고, 이러한 모뎀을 통해 외부 소스로부터 데이터를 수신하거나 외부 소스로 데이터를 전송할 수 있다.
네트워크 환경에서, 본 발명과 관련된 프로그램 모듈 또는 그 일부는 입출력 인터페이스(64)에 연결된 모뎀 또는 네트워크 인터페이스(62)를 통해 연결된 다른 컴퓨팅 장치에 저장되어, 분산형 구조로 운용될 수 있다.
상기 컴퓨팅 시스템에 탑재되어 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
아울러, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.
본 발명은 MMT 프로토콜에 따라서 컨텐츠를 캐싱하고 전송하는 복수의 네트워크 노드의 상태 정보를 상태 보고 메시지를 통해서 수집하고, 이렇게 수집한 상태 정보를 기반으로 클라이언트 장치에 컨텐츠를 전송할 네트워크 노드를 선택하여 그에 대한 정보를 네트워크 노드 통지 메시지를 통해 클라이언트 장치로 전송함으로써, MMT 기반의 컨텐츠 전송 서비스에 있어서, 복수 네트워크 노드들의 부하분산 처리가 가능해진다.
아울러, 이를 통해서 MMT 기반의 컨텐츠 전송 서비스의 서비스 품질을 더 향상시킬 수 있는 효과가 있다.
10: 네트워크
100: 네트워크 노드
200: 클라이언트 장치
300: CDN(Contents Delivery Network) 관리 장치

Claims (8)

  1. MMT(MPEG Media Transport) 프로토콜에 기반하여 컨텐츠 캐싱 및 전송을 수행하는 복수의 네트워크 노드 및 클라이언트 장치와 연동하는 CDN(Contents Delivery network) 관리 장치의 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법에 있어서,
    상기 CDN 관리 장치가
    복수의 네트워크 노드로부터 각 네트워크 노드의 상태 정보를 포함하는 상태 정보 메시지를 수신하여 저장하는 단계;
    상기 클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택하는 단계;
    상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법.
  2. 제1항에 있어서, 상기 상태 정보 메시지는
    네트워크 노드의 IP 주소(MANE_IP), 네트워크 노드의 동작 모드(MANE_mode), 현재 세션 정보(Current session), 최대 세션 용량(Max session capacity), 응답 시간(Response time), CPU 부하(CPU_loas), GPU 부하(GPU_load), 메모리 사용량(RAM_usage), 네트워크 노드가 임시로 생성된 가상 네트워크 노드인지를 나타내는 가상화 플래그(Virtual_flag), 측정 시간(Measure_time) 중 하나 이상을 포함하는 것을 특징으로 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법.
  3. 제1항에 있어서, 상기 상태 정보 메시지는
    상기 네트워크 노드가 가상 네트워크 노드인 경우, 가상 네트워크 노드의 생성 시간을 나타내는 유효 시작 시간(valid_time_start), 상기 가상 네트워크 노드의 유지 시간을 나타내는 유효 기간(valid_time_duration)를 더 포함하는 것을 특징으로 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법.
  4. 제3항에 있어서, 상기 네트워크 노드 통지 메시지는
    선택된 네트워크 노드(100)의 주소 정보(source URL), PA(Package Access) 정보, 패키지 ID(Package ID), 애셋 ID(asset ID) 중에서 하나 이상을 포함하는 것을 특징으로 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법.
  5. 제4항에 있어서, 상기 선택하는 단계는,
    상기 네트워크 노드의 IP 주소(MANE_IP), 네트워크 노드의 동작 모드(MANE_mode), 현재 세션 정보(Current session), 최대 세션 용량(Max session capacity), 응답 시간(Response time), CPU 부하(CPU_loas), GPU 부하(GPU_load), 메모리 사용량(RAM_usage), 네트워크 노드가 임시로 생성된 가상 네트워크 노드인지를 나타내는 가상화 플래그(Virtual_flag), 유효 시작 시간(valid_time_start), 유효 기간(valid_time_duration), 및 측정 시간(Measure_time) 중에서 하나 이상을 조합하여 산출된 각 네트워크 노드의 부하 지수에 따라서 상기 컨텐츠를 전송할 네트워크 노드를 선택하는 것을 특징으로 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 기재된 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법을 실행시키는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  7. 제1항 내지 제5항 중 어느 한 항에 기재된 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법을 실행하도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 프로그램.
  8. MMT 프로토콜에 기반하여 컨텐츠 캐싱 및 전송을 수행하는 복수의 네트워크 노드의 상태 정보를 저장하는 상태 정보 DB;
    상기 복수의 네트워크 노드로부터 전송된 상태 보고 메시지를 수신하여 상기 상태 정보를 수집하는 상태 정보 수집 모듈; 및
    클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택하고, 상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 제어 모듈을 포함하는 CDN 관리 장치.
KR1020160160821A 2016-11-29 2016-11-29 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치 KR102485601B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160160821A KR102485601B1 (ko) 2016-11-29 2016-11-29 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160160821A KR102485601B1 (ko) 2016-11-29 2016-11-29 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20180060844A true KR20180060844A (ko) 2018-06-07
KR102485601B1 KR102485601B1 (ko) 2023-01-05

Family

ID=62621243

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160160821A KR102485601B1 (ko) 2016-11-29 2016-11-29 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102485601B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102110312B1 (ko) * 2018-12-27 2020-05-13 (주)아이앤아이소프트 Cdn 선택 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140016968A (ko) * 2011-06-08 2014-02-10 코닌클리즈케 케이피엔 엔.브이. 세그먼트된 콘텐츠를 위치시키고 검색하는 방법 및 시스템
KR20150049200A (ko) * 2013-10-29 2015-05-08 에스케이텔레콤 주식회사 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140016968A (ko) * 2011-06-08 2014-02-10 코닌클리즈케 케이피엔 엔.브이. 세그먼트된 콘텐츠를 위치시키고 검색하는 방법 및 시스템
KR20150049200A (ko) * 2013-10-29 2015-05-08 에스케이텔레콤 주식회사 컨텐츠 제공을 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
한국등록특허 제1039370호, 2011년 5월 31일 등록 (명칭: 도메인 위임에 의한 GSLB 서버 및 이를 이용한 CDN 서비스 시스템 및 방법)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102110312B1 (ko) * 2018-12-27 2020-05-13 (주)아이앤아이소프트 Cdn 선택 방법 및 장치

Also Published As

Publication number Publication date
KR102485601B1 (ko) 2023-01-05

Similar Documents

Publication Publication Date Title
US11095701B2 (en) Method and apparatus for providing adaptive streaming service
US9198089B2 (en) Caching architecture for streaming data between base stations in mobile networks
EP2897340B1 (en) Routing proxy for adaptive streaming
US10172064B2 (en) State migration of edge-of-network applications
US8898247B2 (en) Network cache architecture storing pointer information in payload data segments of packets
US8717890B2 (en) Application, usage and radio link aware transport network scheduler
KR101398319B1 (ko) 실시간 비디오 검출기
EP3077906B1 (en) A first service network node, a second service network node and methods relating to handling of a service session
EP2815557B1 (en) P2p streaming support
RU2571732C2 (ru) Управляющее устройство и способ управления передачей потока видеоданных по сети на сетевое пользовательское устройство
CN107113474B (zh) 具有记录在其中以用于提供低延迟实时广播内容的程序的设备和计算机可读记录介质
JP5962943B2 (ja) ストリーミング・メディア・データを送信するための方法および装置
KR101981285B1 (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법
KR20140021372A (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 방법 및 로컬 캐싱 장치
Moon et al. Practicalizing delay-tolerant mobile apps with cedos
US10165311B2 (en) Non-transitory computer-readable recording medium having program recorded therein for providing network-adaptive content and apparatus for providing network-adaptive content
US9893991B2 (en) Device and method for processing data in content transmission system
KR102485601B1 (ko) 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치
CN113613290B (zh) 一种下行数据流传送方法、装置及终端
WO2017133059A1 (zh) 业务数据的传输方法和装置
WO2022143149A1 (zh) 传输业务的方法和通信装置
KR20160048390A (ko) 컨텐츠 제공 방법, 이를 위한 노드 제어 서버
Lykourgiotis et al. Hybrid Broadcast Broadband for the Delivery of 3D Video
KR102130301B1 (ko) 컨텐츠 전송 시스템에서 데이터 분산을 위한 장치 및 이를 위한 방법
Nasir et al. Performance Evaluation of Video Transport Service Using CCN in Wireless Networks

Legal Events

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