KR102485601B1 - Method of selecting optimal network node for contents delivery service and apparatus therefor - Google Patents
Method of selecting optimal network node for contents delivery service and apparatus therefor Download PDFInfo
- Publication number
- KR102485601B1 KR102485601B1 KR1020160160821A KR20160160821A KR102485601B1 KR 102485601 B1 KR102485601 B1 KR 102485601B1 KR 1020160160821 A KR1020160160821 A KR 1020160160821A KR 20160160821 A KR20160160821 A KR 20160160821A KR 102485601 B1 KR102485601 B1 KR 102485601B1
- Authority
- KR
- South Korea
- Prior art keywords
- network node
- network
- time
- content
- information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims abstract description 38
- 238000007726 management method Methods 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims description 21
- VKALYYFVKBXHTF-UHFFFAOYSA-N 4-(methylsulfanyl)-m-cresol Chemical compound CSC1=CC=C(O)C=C1C VKALYYFVKBXHTF-UHFFFAOYSA-N 0.000 claims description 10
- 238000005259 measurement Methods 0.000 claims description 7
- 238000010187 selection method Methods 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000005641 tunneling Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/647—Control 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) 관리 장치가, 복수의 네트워크 노드로부터 각 네트워크 노드의 상태 정보를 포함하는 상태 정보 메시지를 수신하여 저장하고, 상기 클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택한 후, 상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 것이다.In the present invention, in providing an MMT-based content transmission service, state information is collected from a plurality of network nodes that transmit MMT-based content data, respectively, and the collected state information is based on the collected state information in a client device that requests content transmission. It relates to a method for selecting an optimal network node for content transmission and an apparatus therefor, which can provide path information for an optimal network node, and a plurality of network nodes and clients that cache and transmit content based on the MMT protocol. A content delivery network (CDN) management device that works with the device receives and stores a state information message including state information of each network node from a plurality of network nodes, and when content transmission is requested from the client device, the state information After selecting a network node to transmit content from among a plurality of network nodes based on, the network node notification message including information on the selected network node is transmitted to the client device.
Description
본 발명은 MMT 기반의 컨텐츠 전송 서비스를 제공하는 데 있어서, MMT 기반의 컨텐츠 데이터를 전송하는 복수의 네트워크 노드들로부터 각각 상태 정보를 수집하고, 컨텐츠 전송을 요청한 클라이언트 장치에 상기 수집한 상태 정보를 기반으로 최적의 네트워크 노드에 대한 경로 정보를 제공할 수 있도록 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치에 관한 것이다.In the present invention, in providing an MMT-based content transmission service, state information is collected from a plurality of network nodes that transmit MMT-based content data, respectively, and the collected state information is based on the collected state information in a client device that requests content transmission. It relates to a method for selecting an optimal network node for content transmission and an apparatus therefor to provide path information for an optimal network node.
최근 방송통신기술의 발전과 더불어 디스플레이의 대형화와 UHD(Ultra high definition) 영상 기술의 발전으로 고품질 대용량 비디오 서비스에 대한 요구가 증가하는 추세이며, UHD급 고품질 대용량 비디오 서비스를 원활하게 하기 위한 방법으로, 방송망뿐만 아니라 통신망을 포함한 이 기종 망 서비스에 관한 연구가 진행되고 있다. Recently, with the development of broadcasting and communication technology, the demand for high-quality and large-capacity video services is increasing due to the enlargement of displays and the development of UHD (Ultra high definition) video technology. Research is being conducted on heterogeneous network services, including not only broadcasting networks but also communication networks.
현재 지상파 방송에서는 비디오, 오디오, 메타데이터 등을 전송하기 위해 MPEG-2 TS를 전송포맷으로 사용하는데, 이를 통신망으로 전송할 경우, IP와 상호 변환 가능하도록 TS over IP Packet의 형태가 요구되어 추가적인 IP헤더를 생성하기 때문에 복잡도가 증가하고 페이로드 비율 면에서 비효율적이다.Currently, terrestrial broadcasting uses MPEG-2 TS as a transmission format to transmit video, audio, metadata, etc., and when it is transmitted over a communication network, a form of TS over IP packet is required to enable mutual conversion with IP, so an additional IP header , it increases complexity and is inefficient in terms of payload ratio.
이에, 전송망과 단말에 제한을 받지 않는 IP기반의 차세대 미디어 전송 표준 기술인 MMT(MPEG Media Transport)가 표준화되었다. MMT는 IP기반의 포맷구조를 가지므로 통신망으로 전송 시 추가적인 작업이 요구되지 않아 하나의 컨텐츠를 계층 부호화하여 이 기종 망을 통해 서비스 하는 환경에서 보다 유연하고 효율적이라고 알려져 있다.Accordingly, MMT (MPEG Media Transport), an IP-based next-generation media transport standard technology that is not limited by transport networks and terminals, has been standardized. Since MMT has an IP-based format structure, it does not require additional work when transmitting over a communication network, and is known to be more flexible and efficient in an environment where one content is layer-coded and serviced through heterogeneous networks.
한편, 스마트폰(smart phone)과 같은 사용자의 단말 성능 향상 및 이동통신 기술의 발달에 따라 컨텐츠 전송 트래픽이 급격히 증가함에 따라서, 컨텐츠 전송 서비스의 품질 문제는 더 중요해지고 있으며, 이를 해결하기 위한 기술로서, CDN(Contents Delivery Network) 서비스가 이용되고 있다.On the other hand, as content transmission traffic increases rapidly with the improvement of user terminal performance such as smart phones and the development of mobile communication technology, the quality problem of content transmission service becomes more important, and as a technology to solve this problem, , CDN (Contents Delivery Network) service is being used.
CDN 서비스는, 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 사용자의 단말로 안정적으로 전달하기 위한 서비스로, 사용자의 단말로부터 멀리 떨어져 있는 컨텐츠 제공자의 웹 서버에 집중되어 있는 용량이 크거나 사용자의 요구가 빈번한 컨텐츠를 네트워크 상에 분산 배치된 캐시 서버에 미리 일부 또는 전부를 복사하여 저장한 다음, 사용자의 컨텐츠 요구가 있을 경우, 해당 사용자와의 거리 혹은 서버 부하에 따라서, 캐시 서버를 선택하여 그 경로를 반환함으로써, 사용자의 단말이 그 반환된 경로를 통해 해당 캐시 서버에 접속한 후, 컨텐츠를 제공받을 수 있도록 한 서비스를 의미한다. The CDN service is a service for stably delivering various types of content such as photos, movies, music videos, etc. to the user's terminal. Some or all of the frequently requested contents are copied and stored in advance in cache servers distributed on the network, and then, when there is a user's content request, the cache server is selected according to the distance from the user or the server load. By returning the path, it means a service that allows the user's terminal to access the corresponding cache server through the returned path and then receive content.
그러나 상기 MMT 기술에서는 이러한 CDN 서비스의 적용을 위한 기술이 고려되어 있지 않으며, 특히, MMT 기반의 미디어 서버들의 부하분산 처리를 위한 기술이 고려되어 있지 않다.However, in the MMT technology, a technology for applying such a CDN service is not considered, and in particular, a technology for load balancing processing of MMT-based media servers is not considered.
본 발명은 MMT 기반의 컨텐츠 전송 서비스를 제공하는 데 있어서, MMT 기반의 컨텐츠 데이터를 전송하는 복수의 네트워크 노드들로부터 각각 상태 정보를 수집하고, 컨텐츠 전송을 요청한 클라이언트 장치에 상기 수집한 상태 정보를 기반으로 최적의 네트워크 노드에 대한 경로 정보를 제공할 수 있도록 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치를 제공하고자 한다.In the present invention, in providing an MMT-based content transmission service, state information is collected from a plurality of network nodes that transmit MMT-based content data, respectively, and the collected state information is based on the collected state information in a client device that requests content transmission. It is intended to provide a method for selecting an optimal network node for content transmission and an apparatus therefor, which can provide path information for an optimal network node.
상술한 과제의 해결 수단으로서, 본 발명은 MMT(MPEG Media Transport) 프로토콜에 기반하여 컨텐츠 캐싱 및 전송을 수행하는 복수의 네트워크 노드 및 클라이언트 장치와 연동하는 CDN(Contents Delivery network) 관리 장치의 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법에 있어서, 상기 CDN 관리 장치가, 복수의 네트워크 노드로부터 각 네트워크 노드의 상태 정보를 포함하는 상태 정보 메시지를 수신하여 저장하는 단계; 상기 클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택하는 단계; 및 상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 단계를 포함하는 것을 특징으로 한다.As a means to solve the above problems, the present invention provides content transmission of a CDN (Contents Delivery network) management device that works with a plurality of network nodes and client devices that cache and transmit content based on the MMT (MPEG Media Transport) protocol. A method for selecting an optimal network node for a CDN management device, comprising: receiving and storing, by the CDN management device, a state information message including state information of each network node from a plurality of network nodes; selecting a network node to transmit content from among a plurality of network nodes based on the state information when content transmission is requested from the client device; and transmitting to the client device through a network node notification message including information on the selected network node.
여기서, 상기 상태 정보 메시지는 네트워크 노드의 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)를 더 포함할 수 있다.Here, the status information message includes the IP address (MANE_IP) of the network node, the operation mode (MANE_mode) of the network node, current session information (Current session), maximum session capacity (Max session capacity), response time (Response time), CPU may include one or more of load (CPU_load), GPU load (GPU_load), memory usage (RAM_usage), virtualization flag indicating whether the network node is a temporarily created virtual network node (Virtual_flag), and measurement time (Measure_time); If the network node is a virtual network node, it may further include a valid start time (valid_time_start) indicating a creation time of the virtual network node and a valid period (valid_time_duration) indicating a maintenance time of the virtual network node.
아울러, 상기 네트워크 노드 통지 메시지는 선택된 네트워크 노드(100)의 주소 정보(source URL), PA(Package Access) 정보, 패키지 ID(Package ID), 애셋 ID(asset ID) 중에서 하나 이상을 포함할 수 있다.In addition, the network node notification message may include one or more of address information (source URL), PA (Package Access) information, package ID (Package ID), and asset ID (asset ID) of the
그리고, 상기 선택하는 단계는, 상기 네트워크 노드의 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) 중에서 하나 이상을 조합하여 산출된 각 네트워크 노드의 부하 지수에 따라서 상기 컨텐츠를 전송할 네트워크 노드를 선택할 수 있다.And, in the step of selecting, the IP address (MANE_IP) of the network node, the operation mode (MANE_mode) of the network node, current session information (Current session), maximum session capacity (Max session capacity), response time (Response time) , CPU load (CPU_loas), GPU load (GPU_load), memory usage (RAM_usage), virtualization flag indicating whether the network node is a temporary virtual network node (Virtual_flag), valid start time (valid_time_start), valid period (valid_time_duration) It is possible to select a network node to transmit the content according to a load index of each network node calculated by combining one or more of , , and measurement time (Measure_time).
본 발명에 따른 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법은, 프로그램으로 구현되어 컴퓨터 판독 가능한 기록매체에 저장되어 제공될 수 있다.The optimal network node selection method for content transmission according to the present invention may be implemented as a program and stored in a computer-readable recording medium.
상기 상술한 과제의 다른 해결 수단으로서, MMT 프로토콜에 기반하여 컨텐츠 캐싱 및 전송을 수행하는 복수의 네트워크 노드의 상태 정보를 저장하는 상태 정보 DB; 상기 복수의 네트워크 노드로부터 전송된 상태 보고 메시지를 수신하여 상기 상태 정보를 수집하는 상태 정보 수집 모듈; 및 클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택하고, 상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 제어 모듈을 포함하는 CDN 관리 장치를 제공한다.As another solution to the above-described problem, a state information DB for storing state information of a plurality of network nodes performing content caching and transmission based on the MMT protocol; a status information collection module configured to collect status information by receiving status report messages transmitted from the plurality of network nodes; and when content transmission is requested from the client device, selects a network node to transmit the content from among a plurality of network nodes based on the status information, and transmits a network node notification message including information about the selected network node to the client device. Provides a CDN management device including a control module for transmitting.
본 발명은 MMT 프로토콜에 따라서 컨텐츠를 캐싱하고 전송하는 복수의 네트워크 노드의 상태 정보를 상태 보고 메시지를 통해서 수집하고, 이렇게 수집한 상태 정보를 기반으로 클라이언트 장치에 컨텐츠를 전송할 네트워크 노드를 선택하여 그에 대한 정보를 네트워크 노드 통지 메시지를 통해 클라이언트 장치로 전송함으로써, MMT 기반의 컨텐츠 전송 서비스에 있어서, 복수 네트워크 노드들의 부하분산 처리가 가능해진다.The present invention collects status information of a plurality of network nodes that cache and transmit contents according to the MMT protocol through a status report message, and selects a network node to transmit contents to a client device based on the status information collected in this way. By transmitting information to a client device through a network node notification message, load balancing of a plurality of network nodes is possible in an MMT-based content delivery service.
아울러, 이를 통해서 MMT 기반의 컨텐츠 전송 서비스의 서비스 품질을 더 향상시킬 수 있는 효과가 있다.In addition, through this, there is an effect of further improving the service quality of the MMT-based content transmission service.
도 1은 본 발명에 따른 컨텐츠 전송 시스템의 개략적인 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 컨텐츠 전송 과정을 나타내는 메시지 흐름도이다.
도 3은 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 상태 보고 메시지의 구문(Syntax)을 나타낸 도면이다.
도 4는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 네트워크 노드의 구성을 간략히 나타낸 도면이다.
도 5는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, CDN 관리 장치의 구성을 나타낸 도면이다.
도 6은 본 발명에 따른 CDN 관리 장치가 구현되는 컴퓨팅 시스템을 설명하기 위한 도면이다.1 is a diagram showing a schematic configuration of a content delivery system according to the present invention.
2 is a message flow diagram illustrating a content transmission process in the content delivery system according to the present invention.
3 is a diagram showing the syntax of a status report message in the content delivery system according to the present invention.
4 is a diagram briefly showing the configuration of a network node in the content delivery system according to the present invention.
5 is a diagram showing the configuration of a CDN management device in the content delivery system according to the present invention.
6 is a diagram for explaining a computing system in which a CDN management device according to the present invention is implemented.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. In order to clarify the characteristics and advantages of the problem solving means of the present invention, the present invention will be described in more detail with reference to specific embodiments of the present invention shown in the accompanying drawings.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.However, detailed descriptions of well-known functions or configurations that may obscure the gist of the present invention will be omitted in the following description and accompanying drawings. In addition, it should be noted that the same components are indicated by the same reference numerals throughout the drawings as much as possible.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms or words used in the following description and drawings should not be construed as being limited to a common or dictionary meaning, and the inventor may appropriately define the concept of terms for explaining his/her invention in the best way. It should be interpreted as a meaning and concept consistent with the technical idea of the present invention based on the principle that there is. Therefore, the embodiments described in this specification and the configurations shown in the drawings are only one of the most preferred embodiments of the present invention, and do not represent all of the technical ideas of the present invention. It should be understood that there may be equivalents and variations.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.In addition, terms including ordinal numbers, such as first and second, are used to describe various components, and are used only for the purpose of distinguishing one component from other components, and to limit the components. Not used. For example, a second element may be termed a first element, and similarly, a first element may be termed a second element, without departing from the scope of the present invention.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.Additionally, when an element is referred to as being “connected” or “connected” to another element, it means that it is logically or physically connected or capable of being connected. In other words, it should be understood that a component may be directly connected or connected to another component, but another component may exist in the middle, or may be indirectly connected or connected.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In addition, terms used in this specification are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In addition, terms such as "include" or "having" described in this specification are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or the other It should be understood that the above does not preclude the possibility of the presence or addition of other features, numbers, steps, operations, components, parts, or combinations thereof.
이하의 설명 및 특허 청구 범위에서, "네트워크" 또는 "통신망"은 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.In the following description and claims, a "network" or "communications network" is defined as one or more data links that enable the transfer of electronic data between computer systems and/or modules. When information is transmitted or provided to a computer system over a network or other (wired, wireless, or combination of wired or wireless) communication connection, the connection may be understood as a computer-readable medium. Computer readable instructions include, for example, instructions and data that cause a general purpose or special purpose computer system to perform a particular function or group of functions. Computer executable instructions may be, for example, binary, intermediate format instructions, such as assembly language, or even source code.
본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.The invention may also be practiced in distributed system environments where tasks are performed by both local and remote computer systems linked by wired data links, wireless data links, or a combination of wired and wireless data links through a network. In a distributed system environment, program modules may be located in local and remote memory storage devices.
아울러, 본 명세서에서 기술하는 스트리밍(Streaming) 서비스는 오디오 혹은 동영상 등의 다양한 컨텐츠를 스트리밍 방식으로 서비스를 제공하는 것을 의미한다. 여기서 스트리밍 방식이란 파일의 전송과 재생이 함께 이루어져 대기시간을 줄이고 수신측의 저장 용량에도 제약 받지 않는 기술로, 스트리밍 데이터 패킷 단위로 데이터를 수신하고 수신된 즉시 재생할 수 있는 방식을 의미한다. 이러한 스트리밍은 스트리밍 서버에 저장된 컨텐츠를 사용자의 요청에 따라서 제공하는 VOD 스트리밍과, 인터넷 라디오 방송, 인터넷 방송과 같이 정해진 시간에 컨텐츠 데이터를 브로드캐스팅하는 라이브 스트리밍으로 구분될 수 있다. 본 발명에 적용되는 스트리밍은 상기의 두 가지 방식 모두에 적용될 수 있다. In addition, the streaming (Streaming) service described in this specification means to provide a variety of content, such as audio or video services in a streaming method. Here, the streaming method is a technology in which file transmission and playback are performed together to reduce waiting time and is not limited by the storage capacity of the receiving side, and means a method of receiving data in units of streaming data packets and playing them immediately upon receipt. Such streaming can be divided into VOD streaming, which provides content stored in a streaming server according to a user's request, and live streaming, which broadcasts content data at a fixed time, such as Internet radio broadcasting and Internet broadcasting. Streaming applied to the present invention can be applied to both of the above methods.
이하, 본 발명의 실시 예에 따른 스트리밍 서비스 제공 시스템의 주요 구성에 대해 먼저 설명하도록 한다. Hereinafter, the main configuration of the streaming service providing system according to an embodiment of the present invention will be described first.
도 1은 본 발명에 따른 컨텐츠 전송 시스템의 개략적인 구성을 나타낸 도면이다.1 is a diagram showing a schematic configuration of a content delivery system according to the present invention.
도 1을 참조하면, 본 발명에 따른 컨텐츠 전송 시스템은, 다수의 네트워크 노드(100)와, 클라이언트 장치(200)와, CDN 관리 장치(300)를 포함하여 이루어질 수 있다. 상술한 다수의 네트워크 노드(100)와, 클라이언트 장치(200)와, CDN 관리 장치(300)는 임의의 네트워크(10)를 통해서 상호 연결된다.Referring to FIG. 1 , the content delivery system according to the present invention may include a plurality of
상기 네트워크(10)는 네트워크 노드(100)와, 클라이언트 장치(200)와, CDN 관리 장치(300) 간의 데이터 송수신을 위한 전송 매체를 의미하는 것으로, 특히, 단일의 통신망 형태보다는 다양한 종류, 예컨대 인트라넷망, 이동통신망, 위성 통신망 등 다양한 종류의 유무선 통신 기술을 이용하여 구현된 통신망이 혼합된 형태일 수 있다. The
또한, 상기 네트워크(10)는 다수의 무선 접속망(미도시) 및 코어망(미도시)을 포함하는 모바일 망과, 외부망, 예컨대 인터넷망(미도시)을 포함하여 구성될 수 있다. 여기서, 모바일 망을 구성하는 무선 접속망(미도시)은 클라이언트 장치(200)와의 무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다.In addition, the
또 다른 방식으로는, 상기 기지국의 베이스밴드 단의 처리를 수행하는 디지털 유니트(Digital Unit, 이하 DU라 함)와 RF 단의 처리를 수행하는 무선 유니트(Radio Unit, 이하 RU라 함)을 분리하여, 서비스 영역에 각각 다수의 RU를 설치하고, 상기 다수의 DU를 집중화한 DU 집중국에 상기 다수의 RU를 연결하여 구성할 수도 있다.In another method, by separating a digital unit (hereinafter referred to as DU) that performs processing of the base band of the base station and a radio unit (hereinafter referred to as RU) that performs processing of the RF stage, , a plurality of RUs may be installed in each service area, and the plurality of RUs may be connected to a DU concentration station that centralizes the plurality of DUs.
또한, 무선 접속망과 함께 모바일 망을 구성하는 코어망은 유무선 접속망과 외부 망, 예컨대, 인터넷망(미도시)을 연결하는 역할을 수행한다.In addition, the core network constituting the mobile network together with the wireless access network serves to connect the wired/wireless access network and an external network, for example, an Internet network (not shown).
이러한 코어망은 앞서 설명한 바와 같이, 유무선 접속망 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(미도시)은 주파수간 이동성을 관리하고, 접속망(미도시) 및 코어망(미도시) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(미도시)과의 연동을 위한 역할을 수행할 수도 있다. 코어망(미도시)은 상술한 구성 이외도 MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.As described above, the core network is a network system that performs major functions for mobile communication services such as mobility control and switching between wired and wireless access networks, and performs circuit switching or packet switching. It manages and controls the packet flow within the network. In addition, the core network (not shown) manages inter-frequency mobility and plays a role for interworking with traffic in an access network (not shown) and a core network (not shown) and other networks, for example, an Internet network (not shown). may be The core network (not shown) may further include a Mobile Switching Center (MSC), Home Location Register (HLR), Mobile Mobility Entity (MME), Home Subscriber Server (HSS), and the like, in addition to the above configuration.
또한, 인터넷망은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 스트리밍 서버(200)와 연결되어, 스트리밍 서버(200)로부터 제공되는 스트리밍 데이터를 코어망(미도시) 및 유무선 접속망(미도시)을 거쳐, 단말(100)로 제공하는 역할을 수행할 수 있다. In addition, the Internet network refers to a common open communication network in which information is exchanged according to the TCP / IP protocol, that is, a public network, and is connected to the
아울러, 모바일 망 상에서 송수신되는 모바일 패킷은 인터넷망(미도시)과는 다르게 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 패킷을 인터넷망을 목적지로 전송할 수 있다.In addition, mobile packets transmitted and received on the mobile network may be transmitted through a GPRS Tunneling Protocol (GTP) tunnel unlike an Internet network (not shown). For example, when the
이상으로 본 발명이 적용되는 네트워크(10) 구조에 대해 간략히 설명하였다. 추가적으로 상기 네트워크(10)는 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기로 제공할 수 있는 클라우드 컴퓨팅(Cloud Computing) 시스템을 포함할 수 있다. 여기서, 클라우드 컴퓨팅이란 정보가 인터넷 상의 서버에 영구적으로 저장되고, 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 클라이언트 단말기에는 일시적으로 보관되는 컴퓨터 환경을 의미하며, 클라우드 컴퓨팅은 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있도록 하는 컴퓨터 환경 접속망을 의미한다. Above, the structure of the
또한, 네트워크(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) 등의 네트워크와 향후 구현될 차세대 네트워크를 포함할 수 있다.In addition, the
상기 네트워크 노드(100)는 서비스하고자 하는 컨텐츠의 적어도 일부 혹은 전부를 저장하고, 상기 클라이언트 장치(200)의 요청에 따라서 저장된 컨텐츠를 스트리밍 전송하는 네트워크 장치로서, 클라이언트 장치(200)가 접속된 네트워크(10) 상에 분산 배치될 수 있다. 더 구체적으로, 상기 네트워크 노드(100)는 모바일 망의 코어망 상에 분산 배치되되, 각 무선 접속망이 연결된 코어망의 에지 노드에 연결될 수 있다.The
특히, 본 발명에 따른 네트워크 노드(10)는 저장된 컨텐츠를 MMT 표준에 따라서 송수신할 수 있는 장치로서, MMT의 MANE(Media Aware Network Entity)가 될 수 있다. In particular, the
참고로, MMT 프로토콜 구조에서 MMTP 패킷은 가변적인 길이의 패킷 포맷을 가지며, MMTP 페이로드는, MPU(Media Processing Unit)모드, GFD(General File Delivery) 모드, 시그널링 메시지 모드로 구분된다. MPU 모드는 파일을 패킷화하여 스트리밍하는 모드이고, GFD 모드는 일반적인 파일의 다운로드 모드를 의미한다.For reference, in the MMT protocol structure, an MMTP packet has a variable length packet format, and the MMTP payload is divided into a Media Processing Unit (MPU) mode, a General File Delivery (GFD) mode, and a signaling message mode. The MPU mode is a mode of packetizing and streaming a file, and the GFD mode is a download mode of a general file.
MPU 모드에서 MMTP 패킷은 20바이트의 MMTP 헤더, MPU헤더와, MPU 페이로드로 구성되어 있다. MPU는 24바이트의 헤더를 갖는 timed media와 14바이트의 헤더를 갖는 non-timed media로 구분된다. In MPU mode, an MMTP packet consists of a 20-byte MMTP header, an MPU header, and an MPU payload. The MPU is divided into timed media with a 24-byte header and non-timed media with a 14-byte header.
상기 네트워크 노드(100)는 이러한 MMT 프로토콜에 따라서 MMTP 패킷을 송수신하며, 상기 MMTP 패킷을 분석 및 처리할 수 있다. 이때, 상기 MMTP 패킷은 스트리밍 방식으로 전송될 수 있다.The
그리고 클라이언트 장치(200)는 본 발명에 따른 컨텐츠 전송 서비스를 이용하는 사용자측 장치로서, 사용자가 선택한 컨텐츠의 전송을 요청하고, 요청에 대응하는 어느 한 네트워크 노드(100)로부터 스트리밍방식을 전송되는 MMTP 패킷을 수신하여 재생할 수 있다.And the
그리고 CDN 관리 장치(300)는 상기 복수의 네트워크 노드(100)를 관리하여 컨텐츠 전송 서비스의 로드밸런싱을 수행하기 위한 장치이다.The
본 발명에 따른 컨텐츠 전송 시스템은, 상기 네트워크 노드(100)에서 클라이언트 장치(200)로 컨텐츠 스트리밍 서비스를 수행하는데 있어서, 상기 CDN 관리 장치(300)를 통해서 복수의 네트워크 노드(100) 각각의 상태 정보를 수집하고, 수집한 상태 정보를 기반으로 컨텐츠를 요청한 클라이언트 장치(200)로 요청한 컨텐츠를 전송할 네트워크 노드(100)를 선택하고, 해당 경로 정보를 클라이언트 장치(200)로 제공한다.In the content delivery system according to the present invention, in performing the content streaming service from the
상기 CDN 관리 장치(300)는 네트워크(10)를 통해서 복수의 네트워크 노드(100)와 통신한다.The
이상에서 설명한 바와 같이 구성된 컨텐츠 전송 시스템에서의 컨텐츠 전송 서비스 동작을 도 2를 참조하여 설명한다.An operation of the content delivery service in the content delivery system configured as described above will be described with reference to FIG. 2 .
도 2는 본 발명에 따른 컨텐츠 전송 시스템에서의 컨텐츠 전송 과정을 나타내는 메시지 흐름도이다.2 is a message flow diagram illustrating a content transmission process in a content delivery system according to the present invention.
도 2를 참조하면, 본 발명에 따른 컨텐츠 전송 시스템에 있어서, CDN 관리 장치(300)는 주기적으로 복수의 네트워크 노드(100)로부터 상태 정보를 수집한다(S105). 상기 상태 정보의 수집은 상태 보고 메시지를 통해서 각 네트워크 노드(100)가 자신의 부하와 관련된 상태 정보를 CDN 관리 장치(300)로 전송하는 형태로 이루어질 수 있다. Referring to FIG. 2 , in the content delivery system according to the present invention, the
이때, 각 네트워크 노드(100)의 상태 정보 수집을 위한 상태 보고 메시지는 도 3과 같은 구조로 정의될 수 있다.At this time, a status report message for collecting status information of each
도 3을 참조하면, 상기 상태 보고 메시지(MSR_message)는, 헤더 정보로서, 메시지 식별 정보(message_id), 버전 정보(version), 및 길이 정보(length)를 포함할 수 있으며, 상태 정보는, 메시지 페이로드(message_payload)에 노드 식별 정보(num_MANE)에 의해 네트워크 노드(100) 별로 구분되어 전송된다. Referring to FIG. 3 , the status report message (MSR_message) may include message identification information (message_id), version information (version), and length information (length) as header information. The load (message_payload) is classified for each
상기 상태 정보는, 네트워크 노드의 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) 중 하나 이상을 포함한다.The state information includes the IP address (MANE_IP) of the network node, the operation mode (MANE_mode) of the network node, current session information (Current session), maximum session capacity (Max session capacity), response time (Response time), CPU load ( CPU_loas), GPU load (GPU_load), memory usage (RAM_usage), virtualization flag (Virtual_flag), valid start time (valid_time_start), valid period (valid_time_duration), and measurement time (Measure_time).
네트워크 노드의 IP 주소(MANE_IP)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에 할당된 IP 주소로서, 128비트의 필드로 표현될 수 있다.The IP address (MANE_IP) of the network node is an IP address assigned to the
네트워크 노드의 동작 모드(MANE_mode)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)의 기능 클래스를 나타내는 정보로서, 예를 들어, MMT 프로토콜에서 정의된 세 개의 클래스 class A, B, C 중 어느 하나를 나타낼 수 있다. 예를 들어, 상기 동작 모드(MANE_mode)는 2비트 길의 필드에 표시하여, 값 0은 class A를, 값 1은 class B를, 값 2는 class C를 나타낼 수 있다.The operation mode (MANE_mode) of the network node is information representing the functional class of the
현재 세션 정보(Current session)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에 현재 연결된 세션 수를 나타내는 것으로서, 32비트로 표현될 수 있다. 상기 세션은 네트워크 노드(100)와 클라이언트 장치(200) 간을 연결하는 세션을 의미한다.The current session information (Current session) indicates the number of sessions currently connected to the
최대 세션 용량(Max session capacity)은, 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에서 최대 연결 가능한 세션 수를 나타내는 것으로서, 32비트로 표현될 수 있다.The maximum session capacity indicates the maximum number of connectable sessions in the
응답 시간(Response time)은 요청에 대한 평균 응답 시간으로서, millisecond로 표현될 수 있으며, 16비트의 필드 길이로 정의될 수 있다.Response time is the average response time for requests, can be expressed in milliseconds, and can be defined as a field length of 16 bits.
CPU 부하(CPU_loas) 및 GPU 부하(GPU_load)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에 구비된 CPU 및 GPU의 현재 부하로서 %로 표현될 수 있다.The CPU load (CPU_loas) and the GPU load (GPU_load) are current loads of the CPU and GPU provided in the
메모리 사용량(RAM_usage)은 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)에 구비된 메모리(RAM)의 현재 사용량으로서, %로 표현될 수 있다. The memory usage (RAM_usage) is the current usage of the memory (RAM) included in the
상기 CPU 부하(CPU_loas), GPU 부하(GPU_load) 및 메모리 사용량(RAM_usage)은 각 8비트의 필드 길이를 갖는다.Each of the CPU load (CPU_loas), GPU load (GPU_load), and memory usage (RAM_usage) has a field length of 8 bits.
가상화 플래그(Virtual_flag)는 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)가 전용 네트워크 노드(dedicated MANE)인지, 임시로 생성된 가상 네트워크 노드(virtualized MANE)인지를 나타내는 정보이다. 예를 들어, 값 0은 전용 네트워크 노드를, 값 1은 가상 네트워크 노드를 의미할 수 있다.The virtualization flag (Virtual_flag) is information indicating whether the
상기 유효 시작 시간(valid_time_start) 및 유효 기간(valid_time_duration)은 상기 노드 식별 정보(num_MANE)로 식별되는 네트워크 노드(100)가 임시로 구축된 가상 네트워크 노드인 경우, 가상 네트워크 노드의 유효 시간을 정의하기 위한 정보로서, 각각 가상 네트워크의 생성 시간 및 가상 네트워크 노드가 유지되는 기간을 나타낸다.The valid start time (valid_time_start) and the valid period (valid_time_duration) are used to define the valid time of a virtual network node when the
측정 시간(Measure_time)은 상기 상태 정보를 측정한 시간을 구분하기 위한 것으로서, 즉, 상태 보고 메시지의 생성 시간으로 나타낼 수 있다.The measurement time (Measure_time) is for distinguishing the time at which the status information is measured, that is, it can be represented as the generation time of the status report message.
상기 CDN 관리 장치(300)는 상술한 바와 같은 구조의 상태 보고 메시지를 통해 주기적으로 전송되는 각 네트워크 노드(100)의 상태 정보를 저장하여 두며, 이때, 저장되는 상태 정보는 가장 최근에 수신된 상태 보고 메시지의 상태 정보로 갱신된다.The
그리고 임의의 클라이언트 장치(200)가 사용자의 요구에 따라서 컨텐츠를 요청하게 되는데, 이때, 상기 클라이언트 장치(200)의 컨텐츠 요청은 CDN 관리 장치(300)로 전송된다(S110). 여기서, 컨텐츠 요청은, 예를 들어, 컨텐츠의 주소 정보를 포함하는 도메인 네임 질의 메시지(DNS query) 혹은 컨텐츠 요청 메시지(예를 들어, HTTP request 메시지)를 통해 이루어질 수 있다.In addition, an
이렇게 클라이언트 장치(200)의 컨텐츠 요청을 수신한 CDN 관리 장치(300)는 기 저장한 복수 네트워크 노드(100)의 상태 정보를 상호 비교하여, 상기 클라이언트 장치(200)로 컨텐츠를 전송할 네트워크 노드를 선택한다(S115). 여기서, 컨텐츠를 전송한 네트워크 노드의 선택은, 네트워크 노드(100)의 IP 주소, 혹은 현재 세션 수, 응답 시간, 부하 정보, 메모리 사용량, 가상 혹은 전용 여부, 가상 네트워크 노드인 경우의 유효 기간 중 하나 이상을 조합한 기준에 근거하여 이루어질 수 있다. 예를 들면, 단순히, 현재 응답 시간이 가장 빠른 네트워크 노드(100)를 선택하거나, CPU 혹은 GPU의 부하가 가장 적은 네트워크 노드를 선택할 수 도 있고, 혹은 둘 이상의 상태 정보를 조합하여 각 네트워크 노드(100)의 부하 지수를 산출하고, 산출된 부하 지수를 비교하여 선택할 수 도 있다.Upon receiving the content request from the
이렇게 컨텐츠를 전송할 네트워크 노드(100)가 선택되면, CDN 관리 장치(300)는 선택한 네트워크 노드에 대한 정보를 응답 메시지를 통해 클라이언트 장치(200)로 전송한다(S120). 상기 응답 메시지는, 컨텐츠를 전송할 네트워크 노드를 알리는 네트워크 노드 통지(MFN: MANE Function Notification) 메시지로 구현될 수 있으며, 상기 네트워크 노드 통지 메시지는, 선택된 네트워크 노드(100)의 주소 정보(source URL), PA(Package Access), 패키지 ID(Package ID), 애셋 ID(asset ID)를 포함할 수 있다.When the
상기 클라이언트 장치(200)는, 상기 네트워크 노드 통지 메시지를 참조하여, 해당하는 네트워크 노드(100)에 접속하여 컨텐츠를 요청하고(S125), 이에 대응하여 해당 네트워크 노드(100)로부터 요청한 컨텐츠의 데이터를 수신하여 재생한다(S130).The
상술한 바와 같이, 본 발명은 MMT 기반의 컨텐츠 전송 서비스를 제공하는데 있어서, 상태 보고 메시지 및 네트워크 노드 통지 메시지를 이용하여 CDN 노드로서 동작하는 네트워크 노드(100)들의 상태를 확인하여 로드밸런싱을 수행할 수 있다.As described above, in providing an MMT-based content delivery service, the present invention checks the status of
도 4는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, 네트워크 노드(100)의 구성을 간략히 나타낸 도면이다.4 is a diagram briefly showing the configuration of the
네트워크 노드(100)는 네트워크(10) 상에서 전송되는 컨텐츠 데이터를 수신하여 캐싱하고, 캐싱된 컨텐츠 데이터를 클라이언트 장치(200)로 전송하기 위한 장치로서, 캐싱 모듈(110)과, 컨텐츠 전송 모듈(120)과, 제어 모듈(130)을 포함하여 이루어질 수 있다. The
캐싱 모듈(110)은 컨텐츠 데이터를 저장하며, 컨텐츠 전송 모듈(120)은 캐싱 모듈(110)에 저장된 컨텐츠 데이터를 일정 전송 방식, 예를 들어, 스트리밍 방식으로 클라이언트 장치(200)에 전송한다.The
이때, 제어 모듈(130)은, 네트워크 노드(100)의 동작 전반을 제어하기 위한 수단으로서, 클라이언트 장치(200)에서 요청한 컨텐츠 데이터가 캐싱 모듈(110)에 저장되어 있는 지를 확인하여, 저장되어 있는 경우, 캐시 히트로 판단하여 저장된 컨텐츠 데이터를 클라이언트 장치(200)로 전송한다. 반면 저장되어 있지 않은 경우, 기 설정된 캐싱 정책에 따라서 오리진 서버(origin server)로부터 전송되는 컨텐츠 데이터를 수신하여 상기 캐싱 모듈(110)에 저장할 수 있다. 특히, 본 발명에 있어서, 상기 제어 모듈(130)은, 주기적으로 네트워크 노드(100)의 상태를 확인하고, 그에 따른 상태 정보를 추출하여 상기 상태 보고 메시지를 통해서 CDN 관리 장치(300)로 전송한다. At this time, the
도 5는 본 발명에 따른 컨텐츠 전송 시스템에 있어서, CDN 관리 장치(300)의 구성을 나타낸 도면이다.5 is a diagram showing the configuration of the
도 5를 참조하면, CDN 관리 장치(300)는 제어 모듈(310)과, 상태 정보 수집 모듈(320)과, 상태 정보 DB(330)를 포함하여 이루어질 수 있다.Referring to FIG. 5 , the
상기 제어 모듈(310)은 CDN 관리 장치(300)의 동작 전반을 제어하는 구성으로서, 네트워크 노드(100) 들의 상태 정보 수집 처리를 제어하고, 클라이언트 장치(200)의 컨텐츠 요청 및 응답 처리를 수행한다.The
상태 정보 수집 모듈(320)은, 네트워크(10) 상에 설치된 복수의 네트워크 노드(100)로부터 상태 정보를 수집한다. 상기 상태 정보의 수집은 도 3과 같은 상태 보고 메시지를 수신함에 의해 이루어질 수 있다. 아울러, 상태 정보 수집 모듈(320)은 제어 모듈(310)의 제어에 따라서 소정 주기로 각 네트워크 노드(100)에 상태 정보 보고를 요청하고 그 응답으로서 상기 상태 보고 메시지를 수신할 수 있다.The state
상태 정보 DB(330)는 상기 상태 정보 수집 모듈(320)에 의해 수집된 복수 네트워크 노드(100)들의 상태 정보를 저장한다. 이때, 주기적으로 수집되는 상태 정보에 기반하여 상기 복수 네트워크 노드(100)들의 상태 정보는 최근 상태정보로 갱신될 수 있다.The
상술한 바와 같이 구성된 CDN 관리 장치(300)는 상태 정보 수집 모듈(320)을 제어하여 복수의 네트워크 노드(100)로부터 상태 정보를 수집하여 상태 정보 DB(330)에 저장하여 두고, 이후 클라이언트 장치(200)로부터의 컨텐츠 요청 시, 상기 저장된 상태 정보를 기반으로 복수의 네트워크 노드(100) 중에서 상기 클라이언트 장치(200)로 컨텐츠를 전송할 네트워크 노드를 선택하고, 그에 대한 정보를 네트워크 노드 통지 메시지를 통해서 상기 클라이언트 장치(200)로 제공한다. 이때, 상기 네트워크 노드의 선택은, 기 설정된 로드밸런싱 규칙에 따라서 이루어질 수 있다.The
상술한 바와 같이 구성된 CDN 관리 장치(300)는, 소프트웨어 혹은 하드웨어와 소프트웨어의 결합에 의해 구현될 수 있는 것으로서, 구체적으로 도 6과 같은 컴퓨팅 시스템 상에 구현될 수 있다.The
도 6은 본 발명에 따른 CDN 관리 장치(300)가 구현되는 컴퓨팅 장치의 하드웨어 구조를 개략적으로 나타낸 도면이다.6 is a diagram schematically illustrating a hardware structure of a computing device in which a
본 발명이 구현되는 컴퓨팅 시스템은, 시스템 버스로 연결된 프로세서(61), 네트워크 인터페이스(62), 메모리(63) 및 입출력 인터페이스(64)를 적어도 하나 포함한다.A computing system in which the present invention is implemented includes at least one
프로세서(61)는 메모리(63)에 저장된 프로그램을 로딩하여 실행함으로써, 상기 프로그램에 따른 소정의 기능을 수행한다.The
프로세서(61)에 의해 로딩되어 실행되는 프로그램은, 오퍼레이팅 시스템(OS) 프로그램, 하나 이상의 애플리케이션 프로그램, 프로그램 모듈, 하나 이상의 프로그램 모듈을 포함하는 프로그램 코드 등이 될 수 있다. A program loaded and executed by the
또한, 상기 프로세서(61)는 일 구현 예에서 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다.Also, the
본 발명에 따른 방법 및 장치는, 프로그램으로 구현되어 상기 메모리(63)에 저장된 후, 상기 프로세서(61)에 의해 로딩됨에 의해 실행됨에 의해 구현될 수 있다.The method and apparatus according to the present invention may be implemented by being implemented as a program, stored in the
메모리(63)는 컴퓨터 실행가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 저장을 위한 것으로서, ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있으며, 시동중과 같은 때에 컴퓨팅 장치 내의 구성요소들 간에 정보를 전송하는 것을 돕는 기본 루틴을 포함하는 프로그램도 저장한다. 상기 메모리(63)는 상태 정보 DB(330)를 더 저장할 수 있다.The
아울러, 본 발명이 적용되는 컴퓨팅 시스템은, 외부 소스로부터 데이터를 수신하고/거나 외부 소스로 데이터를 전송하는 네트워크 인터페이스(62)를 포함한다. 본 발명에 있어서, CDN 관리 장치(300)는 상기 컴퓨팅 시스템의 네트워크 인터페이스(62)를 통해서 네트워크 노드(100)로부터 상태 보고 메시지를 수신하고, 클라이언트 장치(200)의 요청을 수신하고 그에 대응하는 네트워크 노드 보고 메시지를 전송할 수 있다.In addition, the computing system to which the present invention is applied includes a
아울러, 상기 컴퓨팅 시스템은, 시스템 버스에 연결된 입출력 인터페이스(64)를 통해, 키보드, 포인팅 장치, 마이크로폰, 조이스틱, 게임 패드, 스캐너, 등과 같은 다양한 입력 장치를 통해 사용자로부터 명령 및 정보를 입력받을 수 있다. 상기 입출력 인터페이스(24)로부터 입력된 명령 및 정보는 프로세서(61)로 전달되어 처리될 수 있으며, 그 처리 결과는 다시 입출력 인터페이스(24)를 통해서 모니터 혹은 LCD와 같은 디스플레이 장치 또는 스피커나 마이크로폰과 같은 오디오 장치 등의 다양한 출력 장치로 출력될 수 있다. In addition, the computing system may receive commands and information from a user through various input devices such as a keyboard, a pointing device, a microphone, a joystick, a game pad, a scanner, and the like through an input/
입출력 인터페이스(64)는 예를 들면, 직렬 포트 인터페이스, PS/2 인터페이스, 병렬 포트 인터페이스, USB 인터페이스, IEEE(Institute of Electrical and Electronics Engineers) 1394 인터페이스(즉, 파이어와이어(FireWire) 인터페이스)와 같은 매우 다양한 서로 다른 인터페이스 중 임의의 것을 논리적으로 나타내거나, 다른 인터페이스의 조합까지도 논리적으로 나타낼 수 있다. The input/
또한, 상기 입출력 인터페이스(64)는 모뎀에 연결되고, 이러한 모뎀을 통해 외부 소스로부터 데이터를 수신하거나 외부 소스로 데이터를 전송할 수 있다.In addition, the input/
네트워크 환경에서, 본 발명과 관련된 프로그램 모듈 또는 그 일부는 입출력 인터페이스(64)에 연결된 모뎀 또는 네트워크 인터페이스(62)를 통해 연결된 다른 컴퓨팅 장치에 저장되어, 분산형 구조로 운용될 수 있다.In a network environment, program modules or parts thereof related to the present invention may be stored in a modem connected to the input/
상기 컴퓨팅 시스템에 탑재되어 본 발명에 따른 방법을 실행하는 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 혹은 코드로도 알려져 있음)은 컴파일 되거나 해석된 언어나 선험적 혹은 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 혹은 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 반드시 대응하는 것은 아니다. 프로그램은 요청된 프로그램에 제공되는 단일 파일 내에, 혹은 다중의 상호 작용하는 파일(예컨대, 하나 이상의 모듈, 하위 프로그램 혹은 코드의 일부를 저장하는 파일) 내에, 혹은 다른 프로그램이나 데이터를 보유하는 파일의 일부(예컨대, 마크업 언어 문서 내에 저장되는 하나 이상의 스크립트) 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치하거나 복수의 사이트에 걸쳐서 분산되어 통신 네트워크에 의해 상호 접속된 다중 컴퓨터나 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.A computer program (also known as a program, software, software application, script or code) mounted on the computing system and executing the method according to the present invention is a compiled or interpreted language or a programming language including a priori or procedural language. It can be written in any form and can be deployed in any form, including stand-alone programs, modules, components, subroutines, or other units suitable for use in a computer environment. A computer program does not necessarily correspond to a file in a file system. A program may be in a single file provided to the requested program, or in multiple interacting files (e.g., one or more modules, subprograms, or files that store portions of code), or parts of files that hold other programs or data. (eg, one or more scripts stored within a markup language document). A computer program may be deployed to be executed on a single computer or multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.
컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 EPROM, EEPROM 및 플래시메모리 장치와 같은 반도체 메모리 장치, 예컨대 내부 하드디스크나 외장형 디스크와 같은 자기 디스크, 자기광학 디스크 및 CD-ROM과 DVD-ROM 디스크를 포함하여 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.Computer readable media suitable for storing computer program instructions and data include semiconductor memory devices such as EPROM, EEPROM and flash memory devices, magnetic disks such as internal hard disks or external disks, magneto-optical disks and CD-ROMs. and all forms of non-volatile memory, media and memory devices, including DVD-ROM disks. The processor and memory may be supplemented by, or incorporated into, special purpose logic circuitry.
아울러, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.In addition, while this specification contains many specific implementation details, they should not be construed as limiting on the scope of any invention or what is claimed, but rather on features that may be unique to a particular embodiment of a particular invention. It should be understood as an explanation. Certain features that are described in this specification in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable subcombination. Further, while features may operate in particular combinations and are initially depicted as such claimed, one or more features from a claimed combination may in some cases be excluded from that combination, and the claimed combination is a subcombination. or sub-combination variations.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.Similarly, while actions are depicted in the drawings in a particular order, it should not be construed as requiring that those actions be performed in the specific order shown or in the sequential order, or that all depicted actions must be performed to obtain desired results. In certain cases, multitasking and parallel processing can be advantageous. Further, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products. You have to understand that you can.
본 명세서에서 설명한 주제의 특정한 실시형태를 설명하였다. 기타의 실시형태들은 이하의 청구항의 범위 내에 속한다. 예컨대, 청구항에서 인용된 동작들은 상이한 순서로 수행되면서도 여전히 바람직한 결과를 성취할 수 있다. 일 예로서, 첨부도면에 도시한 프로세스는 바람직한 결과를 얻기 위하여 반드시 그 특정한 도시된 순서나 순차적인 순서를 요구하지 않는다. 특정한 구현예에서, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.Specific embodiments of the subject matter described herein have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As an example, the processes depicted in the accompanying drawings do not necessarily require the specific depicted order or sequential order in order to obtain desirable results. In certain implementations, multitasking and parallel processing may be advantageous.
본 발명은 MMT 프로토콜에 따라서 컨텐츠를 캐싱하고 전송하는 복수의 네트워크 노드의 상태 정보를 상태 보고 메시지를 통해서 수집하고, 이렇게 수집한 상태 정보를 기반으로 클라이언트 장치에 컨텐츠를 전송할 네트워크 노드를 선택하여 그에 대한 정보를 네트워크 노드 통지 메시지를 통해 클라이언트 장치로 전송함으로써, MMT 기반의 컨텐츠 전송 서비스에 있어서, 복수 네트워크 노드들의 부하분산 처리가 가능해진다.The present invention collects status information of a plurality of network nodes that cache and transmit contents according to the MMT protocol through a status report message, and selects a network node to transmit contents to a client device based on the status information collected in this way. By transmitting information to a client device through a network node notification message, load balancing of a plurality of network nodes is possible in an MMT-based content transmission service.
아울러, 이를 통해서 MMT 기반의 컨텐츠 전송 서비스의 서비스 품질을 더 향상시킬 수 있는 효과가 있다.In addition, through this, there is an effect of further improving the service quality of the MMT-based content transmission service.
10: 네트워크
100: 네트워크 노드
200: 클라이언트 장치
300: CDN(Contents Delivery Network) 관리 장치10: network
100: network node
200: client device
300: CDN (Contents Delivery Network) management device
Claims (8)
상기 CDN 관리 장치가
상기 MMT 프로토콜에 따라서 MMTP 패킷을 송수신하는 복수의 네트워크 노드로부터 각 네트워크 노드의 상태 정보를 포함하는 상태 정보 메시지를 수신하여 저장하는 단계;
상기 클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택하는 단계;
상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 단계를 포함하고,
상기 선택하는 단계는,
상기 네트워크 노드의 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) 중에서 하나 이상을 조합하여 산출된 각 네트워크 노드의 부하 지수에 따라서 상기 컨텐츠를 전송할 네트워크 노드를 선택하는 것을 특징으로 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법.A method for selecting an optimal network node for content transmission of a CDN (Contents Delivery network) management device interoperating with a plurality of network nodes and client devices that cache and transmit content based on the MMT (MPEG Media Transport) protocol, the method comprising:
The CDN management device
Receiving and storing a state information message including state information of each network node from a plurality of network nodes that transmit and receive MMTP packets according to the MMT protocol;
selecting a network node to transmit content from among a plurality of network nodes based on the state information when content transmission is requested from the client device;
Transmitting to the client device via a network node notification message containing information on the selected network node;
The selection step is
IP address of the network node (MANE_IP), operation mode of the network node (MANE_mode), current session information (Current session), maximum session capacity (Max session capacity), response time (Response time), CPU load (CPU_loas), GPU Among load (GPU_load), memory usage (RAM_usage), virtualization flag indicating whether the network node is a temporarily created virtual network node (Virtual_flag), valid start time (valid_time_start), valid period (valid_time_duration), and measurement time (Measure_time). An optimal network node selection method for content transmission, characterized in that selecting a network node to transmit the content according to the load index of each network node calculated by combining one or more of them.
네트워크 노드의 IP 주소(MANE_IP), 네트워크 노드의 동작 모드(MANE_mode), 현재 세션 정보(Current session), 최대 세션 용량(Max session capacity), 응답 시간(Response time), CPU 부하(CPU_loas), GPU 부하(GPU_load), 메모리 사용량(RAM_usage), 네트워크 노드가 임시로 생성된 가상 네트워크 노드인지를 나타내는 가상화 플래그(Virtual_flag), 측정 시간(Measure_time) 중 하나 이상을 포함하는 것을 특징으로 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법.The method of claim 1, wherein the status information message
Network node IP address (MANE_IP), network node operation mode (MANE_mode), current session information (Current session), maximum session capacity (Max session capacity), response time (Response time), CPU load (CPU_loas), GPU load (GPU_load), memory usage (RAM_usage), virtualization flag indicating whether the network node is a temporarily created virtual network node (Virtual_flag), and measurement time (Measure_time). Node selection method.
상기 네트워크 노드가 가상 네트워크 노드인 경우, 가상 네트워크 노드의 생성 시간을 나타내는 유효 시작 시간(valid_time_start), 상기 가상 네트워크 노드의 유지 시간을 나타내는 유효 기간(valid_time_duration)를 더 포함하는 것을 특징으로 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법.The method of claim 1, wherein the status information message
When the network node is a virtual network node, content transmission further comprising a valid start time (valid_time_start) indicating a creation time of the virtual network node and a valid period (valid_time_duration) indicating a maintenance time of the virtual network node. Optimal network node selection method for
선택된 네트워크 노드(100)의 주소 정보(source URL), PA(Package Access) 정보, 패키지 ID(Package ID), 애셋 ID(asset ID) 중에서 하나 이상을 포함하는 것을 특징으로 하는 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법.The method of claim 3, wherein the network node notification message
An optimal network for content transmission characterized in that it includes at least one of address information (source URL), PA (Package Access) information, package ID (Package ID), and asset ID (asset ID) of the selected network node (100). Node selection method.
상기 MMT 프로토콜에 따라서 MMTP 패킷을 송수신하는 상기 복수의 네트워크 노드로부터 전송된 상태 보고 메시지를 수신하여 상기 상태 정보를 수집하는 상태 정보 수집 모듈; 및
클라이언트 장치로부터 컨텐츠 전송이 요청되면, 상기 상태 정보를 기반으로 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드를 선택하고, 상기 선택한 네트워크 노드에 대한 정보를 포함하는 네트워크 노드 통지 메시지를 통해 상기 클라이언트 장치로 전송하는 제어 모듈을 포함하고,
상기 복수의 네트워크 노드 중 컨텐츠를 전송할 네트워크 노드는,
상기 네트워크 노드의 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) 중에서 하나 이상을 조합하여 산출된 각 네트워크 노드의 부하 지수에 따라서 선택되는 것을 특징으로 하는 CDN 관리 장치. a state information DB for storing state information of a plurality of network nodes performing content caching and transmission based on the MMT protocol;
a status information collection module configured to collect status information by receiving status report messages transmitted from the plurality of network nodes transmitting and receiving MMTP packets according to the MMT protocol; and
When content transmission is requested from a client device, a network node to transmit content is selected from among a plurality of network nodes based on the status information, and transmitted to the client device through a network node notification message including information about the selected network node. Including a control module that
Among the plurality of network nodes, the network node to transmit the content,
IP address of the network node (MANE_IP), operation mode of the network node (MANE_mode), current session information (Current session), maximum session capacity (Max session capacity), response time (Response time), CPU load (CPU_loas), GPU Among load (GPU_load), memory usage (RAM_usage), virtualization flag indicating whether the network node is a temporarily created virtual network node (Virtual_flag), valid start time (valid_time_start), valid period (valid_time_duration), and measurement time (Measure_time). CDN management device, characterized in that selected according to the load index of each network node calculated by combining one or more.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020160160821A KR102485601B1 (en) | 2016-11-29 | 2016-11-29 | Method of selecting optimal network node for contents delivery service and apparatus therefor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020160160821A KR102485601B1 (en) | 2016-11-29 | 2016-11-29 | Method of selecting optimal network node for contents delivery service and apparatus therefor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20180060844A KR20180060844A (en) | 2018-06-07 |
| KR102485601B1 true KR102485601B1 (en) | 2023-01-05 |
Family
ID=62621243
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020160160821A Active KR102485601B1 (en) | 2016-11-29 | 2016-11-29 | Method of selecting optimal network node for contents delivery service and apparatus therefor |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102485601B1 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102110312B1 (en) * | 2018-12-27 | 2020-05-13 | (주)아이앤아이소프트 | Method and apparatus for selecting a content distribution network(cdn) |
| CN112153555B (en) | 2019-06-28 | 2023-07-21 | 中兴通讯股份有限公司 | Method, server, system and storage medium for switching media service between areas |
| WO2024239230A1 (en) * | 2023-05-23 | 2024-11-28 | 端点智能科技有限公司 | Dynamic content delivery network switching method |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101617929B1 (en) * | 2011-06-08 | 2016-05-03 | 코닌클리즈케 케이피엔 엔.브이. | Locating and retrieving segmented content |
| KR20150049200A (en) * | 2013-10-29 | 2015-05-08 | 에스케이텔레콤 주식회사 | Apparatus for presenting contents, method thereof and computer recordable medium storing the method |
-
2016
- 2016-11-29 KR KR1020160160821A patent/KR102485601B1/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| KR20180060844A (en) | 2018-06-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9237438B2 (en) | Continuous cache service in cellular networks | |
| CN105723334B (en) | A first serving network node, a second serving network node, and a method involving processing of a service session | |
| US20120300747A1 (en) | Caching in mobile networks | |
| US20140245359A1 (en) | Content Delivery Network Interconnection (CDNI) Mechanism | |
| EP2815557B1 (en) | P2p streaming support | |
| US10893086B2 (en) | Node type based control of assistance for data streaming | |
| US11388018B2 (en) | Anchoring internet protocol multicast services in information centric networks | |
| CN104509060B (en) | The method and device of transmission of flow media data | |
| CN103987091B (en) | A kind of service bandwidth variation, controller and system | |
| KR102485601B1 (en) | Method of selecting optimal network node for contents delivery service and apparatus therefor | |
| CN115361591A (en) | File transmission method based on 5G SBA and satellite-ground cooperative transmission system | |
| US20130298175A1 (en) | Constructing a customized message in a video-on-demand service | |
| 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 | |
| CN108141804B (en) | Apparatus and method for providing data service using heterogeneous network | |
| Silva et al. | Mobility-optimized dynamic content placement for fast vehicles in 5G networks | |
| US11184240B2 (en) | Path information updates in information-centric networking | |
| KR102123414B1 (en) | Method for providing of contents, node control server for the same | |
| JP2016111412A (en) | Terminal device, server device, radio communication system, and communication control method | |
| KR20210077841A (en) | Method and apparatus for providing high quality real time media streaming service with low latency | |
| JP2012528380A (en) | Improved performance of content sharing system | |
| KR102130301B1 (en) | Method for distributing data in content delivery system and apparatus thereof | |
| KR20180058826A (en) | Method and apparatus for address determination of multicast / broadcast resources using domain name systems | |
| CN104918065A (en) | RTSP-based system and method for realizing mobile audio and video live broadcast | |
| Nasir et al. | Performance Evaluation of Video Transport Service Using CCN in Wireless Networks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20161129 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20211105 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20161129 Comment text: Patent Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20221028 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20221229 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20230103 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20230103 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |