KR102209784B1 - Method for caching processing of mmt packet and apparatus for the same, mthod for generating of mmt packet and apparatus for the same - Google Patents

Method for caching processing of mmt packet and apparatus for the same, mthod for generating of mmt packet and apparatus for the same Download PDF

Info

Publication number
KR102209784B1
KR102209784B1 KR1020150081470A KR20150081470A KR102209784B1 KR 102209784 B1 KR102209784 B1 KR 102209784B1 KR 1020150081470 A KR1020150081470 A KR 1020150081470A KR 20150081470 A KR20150081470 A KR 20150081470A KR 102209784 B1 KR102209784 B1 KR 102209784B1
Authority
KR
South Korea
Prior art keywords
mmt packet
mmt
caching
cache
packet
Prior art date
Application number
KR1020150081470A
Other languages
Korean (ko)
Other versions
KR20160144812A (en
Inventor
이종민
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020150081470A priority Critical patent/KR102209784B1/en
Publication of KR20160144812A publication Critical patent/KR20160144812A/en
Application granted granted Critical
Publication of KR102209784B1 publication Critical patent/KR102209784B1/en

Links

Images

Classifications

    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Abstract

본 발명은 MMT(MPEG Media Transport)에 관한 것으로, 더욱 상세하게는 캐시 장치가 MMT 패킷을 캐싱하여 처리할 수 있도록 컨텐츠 제공 서버가 MMT 패킷의 페이로드 헤더의 확장 헤더를 이용하여 캐싱 파라미터를 삽입하여 MMT 패킷을 구성할 수 있는 MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치에 관한 것이다.
이를 위한 본 발명의 일 실시 예에 따른 캐시 장치에 의한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 캐싱 처리 방법에 있어서, 상기 캐시 장치가 컨텐츠 제공 서버로부터 단말로 전달되는 MMT 패킷이 수신되면, 상기 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 삽입되어 있는 지 확인하는 단계 및 상기 확인하는 단계에서, 상기 확장 헤더에 캐싱 파라미터가 삽입되어 있을 경우, 상기 캐싱 파라미터에 따라 상기 MMT 패킷을 캐싱하는 단계를 포함하여 수행될 수 있다.
The present invention relates to MPEG Media Transport (MMT), and more particularly, a content providing server inserts a caching parameter using an extension header of a payload header of an MMT packet so that a cache device can cache and process an MMT packet. A method for caching an MMT packet capable of configuring an MMT packet and an apparatus therefor, a method for generating an MMT packet for caching processing, and an apparatus therefor.
For this, in a method for caching an MPEG Media Transport (MMT) packet by a cache device according to an embodiment of the present invention, when the cache device receives an MMT packet transmitted from a content providing server to a terminal, In the step of checking whether a caching parameter is inserted in the extended header of the payload header of the MMT packet and in the step of checking, if the caching parameter is inserted in the extended header, the MMT packet is cached according to the caching parameter. It may be carried out including the step of.

Description

MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치{METHOD FOR CACHING PROCESSING OF MMT PACKET AND APPARATUS FOR THE SAME, MTHOD FOR GENERATING OF MMT PACKET AND APPARATUS FOR THE SAME}MMT packet caching processing method and device therefor, MMT packet generation method for caching processing, and device therefor {METHOD FOR CACHING PROCESSING OF MMT PACKET AND APPARATUS FOR THE SAME, MTHOD FOR GENERATING OF MMT PACKET AND APPARATUS FOR THE SAME}

본 발명은 MMT(MPEG Media Transport)에 관한 것으로, 더욱 상세하게는 캐시 장치가 MMT 패킷을 캐싱하여 처리할 수 있도록 컨텐츠 제공 서버가 MMT 패킷의 페이로드 헤더의 확장 헤더를 이용하여 캐싱 파라미터를 삽입하여 MMT 패킷을 구성할 수 있는 MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치에 관한 것이다. The present invention relates to MPEG Media Transport (MMT), and more particularly, a content providing server inserts a caching parameter using an extension header of a payload header of an MMT packet so that a cache device can cache and process an MMT packet. A method for caching an MMT packet capable of configuring an MMT packet and an apparatus therefor, a method for generating an MMT packet for caching processing, and an apparatus therefor.

이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information on the present embodiment and does not constitute the prior art.

최근, 스마트폰(smart phone)과 같은 단말의 성능 향상 및 이동통신 기술의 발달에 따라 사용자는 언제 어디서나 단말을 통해 컨텐츠 제공자(CP; Contents Provider)가 제공하는 웹 서버에 접속해 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 이용할 수 있게 되었다. Recently, with the improvement of the performance of terminals such as smart phones and the development of mobile communication technology, users can access a web server provided by a content provider (CP) through a terminal anytime, anywhere, and provide photos, videos, and audio. It has become possible to use various contents such as, applications, etc.

그러나 컨텐츠 제공자(CP)가 제공하는 웹 서버의 수는 한정된 반면, 웹 서버에 접속하고자 하는 사용자는 급속히 증가하고 있어, 이로 인해, 데이터 손실, 병목 현상, 전송 지연, 데이터 끊김과 같은 불안전성 등 다양한 문제가 발생하게 되었다.However, while the number of web servers provided by the content provider (CP) is limited, the number of users who want to access the web server is increasing rapidly, resulting in various problems such as data loss, bottlenecks, transmission delays, instability such as data loss. Occurred.

이러한, 문제를 해결하기 위해 도입된 것이 CDN(Contents Delivery Network, 컨텐츠 전송 네트워크) 서비스이다. A CDN (Contents Delivery Network) service was introduced to solve this problem.

CDN 서비스란 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 단말로 안정적으로 전달하기 위한 서비스로, 단말로부터 멀리 떨어져 있는 컨텐츠 제공자의 웹 서버에 집중되어 있는 용량이 크거나 사용자의 요구가 빈번한 컨텐츠를 다수의 ISP(Internet Service Provider) 상호 접속점(PoP: Point of Presence)에 분산 배치된 캐시 장치, 특히 단말 인근에 분산 배치된 캐시 장치에 미리 일부 또는 전부를 복사하여 저장한 다음, 사용자의 요구가 있을 경우, 해당 사용자와 가장 근접한 곳에 위치한 캐시 장치의 경로를 반환함으로써, 단말이 그 반환된 경로를 통해 해당 캐시 장치에 접속한 후, 컨텐츠를 제공받을 수 있도록 한 서비스를 의미한다. CDN service is a service for stably delivering various types of contents such as photos, movies, music videos, etc. to the terminal. Contents with large capacity concentrated on the web server of a content provider far away from the terminal or frequently requested by users After copying and storing some or all in advance in a cache device distributed in multiple ISPs (Internet Service Provider) Point of Presence (PoP: Point of Presence), especially a cache device distributed in the vicinity of the terminal, the user's request If there is, it refers to a service that returns the path of the cache device located closest to the user so that the terminal can access the cache device through the returned path and then receive content.

이러한 CDN 서비스는 사용자와 가장 근접한 곳에 위치한 캐시 장치가 단말로 컨텐츠를 제공함으로써, 단말의 컨텐츠 요청에 대한 응답 속도를 향상시키고, 보다 안정적으로 컨텐츠 제공이 가능하다는 장점이 있다. Such a CDN service has an advantage in that a cache device located in the closest location to a user provides content to a terminal, thereby improving a response speed to a content request from a terminal and providing more stable content.

한편, MPEG-2 TS(Transport System)는 표준화 이후 지상파 및 위성 디지털 방송, DMB, IPTV 등 다양한 산업 분야에서 미디어 전송을 위해 주로 사용되어 왔으며, 근래에는 디지털 비디오 카메라나 블루레이 장비에서의 미디어 저장을 위해 사용되는 등 그 사용 분야가 확장되고 있다. 그러나, 최근의 네트워크 환경은 급속히 변화하고 있으며, 다양한 이종망(heterogeneous network) 환경에서의 멀티미디어 전송 기술 등 새로운 요구 사항들이 필요시 되고 있다. 이에, 고도화된 여러 종류의 네트워크 환경에서 다양한 콘텐츠와 서비스를 제공하기 위한 새로운 기술의 표준이 요구시되고 있으며, 이에 따라, MMT(MPEG Media Transport) 기술이 개발되고 있다. On the other hand, MPEG-2 TS (Transport System) has been mainly used for media transmission in various industries such as terrestrial and satellite digital broadcasting, DMB, and IPTV since standardization. Recently, media storage in digital video cameras or Blu-ray equipment has been The field of use is expanding, such as being used for. However, the recent network environment is rapidly changing, and new requirements such as multimedia transmission technology in various heterogeneous network environments are required. Accordingly, a new technology standard for providing various contents and services in various types of advanced network environments is required, and accordingly, MPEG Media Transport (MMT) technology is being developed.

그러나 현재까지의 MMT 패킷은 CDN 서비스와 같은 캐싱 기능을 수행하기 위한 규약을 정의하고 있지 않다. 따라서, 일반적인 CDN 서비스를 제공하는 캐시 장치는 단말로 전달되는 MMT 패킷의 캐싱 처리가 불가능하다. However, until now, MMT packets do not define a protocol for performing a caching function such as a CDN service. Therefore, a cache device that provides a general CDN service cannot process the caching of MMT packets transmitted to the terminal.

이에, MMT 패킷에 있어서, 캐싱 처리가 가능하도록 MMT 패킷을 구성하고 캐시 장치가 이를 캐싱 가능하도록 처리할 수 있는 기술의 개발이 필요하다. Accordingly, in the MMT packet, there is a need to develop a technology capable of configuring an MMT packet to enable caching and a cache device to process it so that caching is possible.

한국공개특허 제10-2011-0092869호, 2013.03.25 공개(명칭: 무선망을 통한 씨디엔 서비스 방법 및 시스템)Korean Patent Laid-Open Patent No. 10-2011-0092869, 2013.03.25 (Name: CDN service method and system through wireless network)

본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 캐시 장치가 MMT 패킷을 캐싱하여 처리할 수 있도록 컨텐츠 제공 서버가 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐싱 파라미터를 삽입하여 MMT 패킷을 구성할 수 있는 MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치를 제공하는 데 목적이 있다. The present invention has been proposed to solve the above-described conventional problem, and the content providing server inserts a caching parameter into the extended header of the payload header of the MMT packet so that the cache device can cache and process the MMT packet. An object of the present invention is to provide a configurable MMT packet caching processing method and apparatus therefor, an MMT packet generation method for caching processing, and an apparatus therefor.

그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.However, the object of the present invention is not limited to the above object, and other objects that are not mentioned will be clearly understood from the following description.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MMT 패킷 캐싱 처리 방법은 캐시 장치에 의한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 캐싱 처리 방법에 있어서, 상기 캐시 장치가 컨텐츠 제공 서버로부터 단말로 전달되는 MMT 패킷이 수신되면, 상기 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 삽입되어 있는 지 확인하는 단계; 및 상기 확인하는 단계에서, 상기 확장 헤더에 캐싱 파라미터가 삽입되어 있을 경우, 상기 캐싱 파라미터에 따라 상기 MMT 패킷을 캐싱하는 단계;를 포함하여 이뤄질 수 있다. An MMT packet caching processing method according to an embodiment of the present invention for achieving the above object is an MPEG Media Transport (MMT) packet caching processing method by a cache device, wherein the cache device provides content Checking whether a caching parameter is inserted in an extension header of a payload header of the MMT packet when an MMT packet transmitted from the server to the terminal is received; And caching the MMT packet according to the caching parameter when a caching parameter is inserted in the extended header in the checking step.

이때, 상기 캐싱하는 단계 이후에, 어느 하나의 다른 단말로부터 특정 MMT 패킷 요청을 수신하는 단계; 상기 다른 단말이 요청한 MMT 패킷을 캐싱하고 있는 지 여부를 판단하는 단계; 및 상기 MMT 패킷을 캐싱하고 있을 경우, 상기 캐싱하고 있는 MMT 패킷을 상기 다른 단말로 전송하는 단계;를 포함하여 이뤄질 수 있다. At this time, after the caching step, receiving a specific MMT packet request from any one other terminal; Determining whether the MMT packet requested by the other terminal is being cached; And when the MMT packet is being cached, transmitting the cached MMT packet to the other terminal.

이때, 상기 확인하는 단계에서, 상기 캐싱 파라미터가 삽입되어 있지 않을 경우, 상기 MMT 패킷을 바이패스 시키는 단계;를 더 포함하여 이뤄질 수 있다. In this case, in the step of checking, when the caching parameter is not inserted, bypassing the MMT packet; may be further included.

이때, 상기 확인하는 단계는 상기 확장 헤더의 확장 헤더 값에 캐싱 파라미터가 삽입되어 있는 지 확인할 수 있다. In this case, the step of confirming may check whether a caching parameter is inserted into an extended header value of the extended header.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 캐싱 처리를 위한 MMT 패킷 생성 방법은 컨텐츠 제공 서버가 캐싱 처리를 위한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 생성 방법에 있어서, 패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성하는 단계; 및 상기 구성된 MMT 패킷을 캐시 장치를 경유하여 단말로 전송하는 단계;를 포함하며, 상기 페이로드 헤더의 확장 헤더에 캐싱을 위한 캐싱 파라미터를 포함할 수 있다. In the method for generating an MMT packet for caching processing according to an embodiment of the present invention for achieving the above-described object, in a method for generating an MPEG Media Transport (MMT) packet for caching processing by a content providing server, Configuring an MMT packet including a packet header, a payload header, and payload data; And transmitting the configured MMT packet to the terminal via a cache device, and a caching parameter for caching may be included in the extended header of the payload header.

이때, 상기 캐싱 파라미터는 캐시 제어 값, 캐시 상태, 캐시 유효 기간 중 적어도 하나 이상의 캐싱 파라미터를 포함할 수 있다. In this case, the caching parameter may include at least one of a cache control value, a cache state, and a cache valid period.

추가로 본 발명은 상술한 바와 같은 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.Additionally, the present invention can provide a computer-readable recording medium in which a program for executing the method as described above is recorded.

또한, 본 발명은 상술한 바와 같은 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공할 수 있다. In addition, the present invention can provide a computer program stored in a computer-readable recording medium by implementing the method as described above.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MMT 패킷 캐싱 처리를 위한 장치는 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 캐싱 처리를 위한 장치에 있어서, 컨텐츠 제공 서버로부터 단말로 전달되는 MMT 패킷을 모니터링하여 캐시 제어부로 전달하는 캐시 통신부; 상기 캐시 통신부를 통해 상기 MMT 패킷이 전달되면, 상기 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 삽입되어 있을 경우, 상기 캐싱 파라미터에 따라 상기 MMT 패킷을 캐시 저장부에 캐싱하도록 제어하는 캐시 제어부; 및 상기 캐시 제어부의 제어에 따라 상기 MMT 패킷을 캐싱하는 캐시 저장부;를 포함하여 구성될 수 있다. An apparatus for caching an MMT packet according to an embodiment of the present invention for achieving the above object is an apparatus for caching an MPEG Media Transport (MMT) packet, from a content providing server to a terminal. A cache communication unit for monitoring the transmitted MMT packet and transmitting it to the cache control unit; When the MMT packet is transmitted through the cache communication unit, when a caching parameter is inserted in an extension header of the payload header of the MMT packet, a cache control unit controls to cache the MMT packet in a cache storage unit according to the caching parameter ; And a cache storage unit for caching the MMT packet under control of the cache control unit.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MMT 패킷 생성을 위한 장치는 캐싱 처리를 위한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 생성을 위한 장치에 있어서, 패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성하는 서버 제어부; 및 상기 구성된 MMT 패킷을 캐시 장치를 경유하여 단말로 전송하는 서버 통신부; 를 포함하며, 상기 서버 제어부는 상기 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 포함되도록 상기 MMT 패킷을 구성할 수 있다. An apparatus for generating an MMT packet according to an embodiment of the present invention for achieving the above-described object is an apparatus for generating an MPEG Media Transport (MMT) packet for caching processing, comprising: a packet header and a payload. A server control unit configuring an MMT packet including a load header and payload data; And a server communication unit for transmitting the configured MMT packet to a terminal through a cache device. And the server controller may configure the MMT packet to include a caching parameter in an extension header of the payload header.

본 발명의 MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치에 의하면, CDN 서비스를 제공하는 캐시 장치는 MMT 패킷에 정의된 캐싱 파라미터에 따라 해당 MMT 패킷을 캐싱하여 단말로 제공함으로써, MMT 패킷에 대한 보다 신속한 컨텐츠 제공이 가능하게 된다. According to the method and apparatus for caching an MMT packet of the present invention, a method for generating an MMT packet for caching, and an apparatus therefor, a cache apparatus providing a CDN service caches a corresponding MMT packet according to a caching parameter defined in the MMT packet. Thus, by providing it to the terminal, it is possible to provide more rapid content for the MMT packet.

아울러, 본 발명의 컨텐츠 제공 서버는 MMT 페이로드 헤더의 확장 헤더에 캐싱을 위한 캐싱 파라미터를 삽입하여 MMT 패킷을 구성함으로써, 별다른 MMT 패킷의 설계 변경 없이 보다 용이하게 MMT 패킷을 캐시 장치에서 캐싱 처리하도록 지원할 수 있다. In addition, the content providing server of the present invention configures the MMT packet by inserting a caching parameter for caching into the extension header of the MMT payload header, so that the MMT packet can be more easily processed in the cache device without changing the design of the MMT packet. You can apply.

아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.In addition, various effects other than the above-described effects may be directly or implicitly disclosed in the detailed description according to an embodiment of the present invention to be described later.

도 1은 본 발명의 MMT 캐싱 시스템의 주요 구성을 개략적으로 도시한 블록도이다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 캐시 장치의 주요 구성을 도시한 블록도이다.
도 4는 도 1에 도시된 본 발명의 실시 예에 따른 컨텐츠 제공 서버의 주요 구성을 도시한 블록도이다.
도 5 및 도 6은 본 발명의 실시 예에 따른 MMT 패킷 캐싱 처리 방법을 설명하기 위한 데이터 흐름도이다.
도 7은 본 발명의 실시 예에 따른 MMT 패킷 생성 방법을 설명하기 위한 흐름도이다.
도 8 내지 도 10은 본 발명의 실시 예에 따른 MMT 패킷 구조를 설명하기 위한 예시도이다.
1 is a block diagram schematically showing the main configuration of the MMT caching system of the present invention.
FIG. 2 is a block diagram showing a main configuration of a terminal according to an embodiment of the present invention shown in FIG. 1.
FIG. 3 is a block diagram illustrating a main configuration of a cache device according to an embodiment of the present invention shown in FIG. 1.
FIG. 4 is a block diagram illustrating a main configuration of a content providing server according to an embodiment of the present invention shown in FIG. 1.
5 and 6 are data flow diagrams illustrating a method of caching MMT packets according to an embodiment of the present invention.
7 is a flowchart illustrating a method of generating an MMT packet according to an embodiment of the present invention.
8 to 10 are exemplary diagrams for explaining the structure of an MMT packet according to an embodiment of the present invention.

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. In order to clarify the features 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, in the following description and the accompanying drawings, detailed descriptions of known functions or configurations that may obscure the subject matter of the present invention will be omitted. In addition, it should be noted that the same components are indicated by the same reference numerals as possible throughout the drawings.

이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms or words used in the following description and drawings should not be construed as being limited to their usual or dictionary meanings, and the inventor may appropriately define the concept of terms for describing his or 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 the present specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all the technical ideas of the present invention, and thus various alternatives that can be substituted for them at the time of application 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 elements, and are only used for the purpose of distinguishing one element from other elements, and to limit the elements. Not used. For example, without departing from the scope of the present invention, a second component may be referred to as a first component, and similarly, a first component may be referred to as a second component.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when a component is referred to as being "connected" or "connected" to another component, it means that it is logically or physically connected or can be 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 the present 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 indicates otherwise. In addition, terms such as "comprises" or "have" described herein are intended to designate the presence of features, numbers, steps, actions, components, parts, or a combination thereof described in the specification. It is to be understood that the above other features, or the possibility of the presence or addition of numbers, steps, actions, components, parts, or combinations thereof, are not preliminarily excluded.

아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.In addition, embodiments within the scope of the present invention include computer-readable media having or transferring computer-executable instructions or data structures stored in the computer-readable media. Such computer-readable media may be any available media accessible by a general purpose or special purpose computer system. By way of example, such computer readable media may be in the form of RAM, ROM, EPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage, or computer executable instructions, computer readable instructions, or data structures. It may include, but is not limited to, physical storage media such as any other media that may be used to store or deliver certain program code means, and may be accessed by a general purpose or special purpose computer system. .

이하의 설명 및 특허 청구 범위에서, "네트워크" 또는 "통신망"은 컴퓨터 시스템들 및/또는 모듈들 간의 전자 데이터를 전송할 수 있게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 (유선, 무선, 또는 유선 또는 무선의 조합인) 통신 접속을 통하여 컴퓨터 시스템에 전송되거나 제공될 때, 이 접속은 컴퓨터-판독가능매체로서 이해될 수 있다. 컴퓨터 판독가능 명령어는, 예를 들면, 범용 컴퓨터 시스템 또는 특수 목적 컴퓨터 시스템이 특정 기능 또는 기능의 그룹을 수행하도록 하는 명령어 및 데이터를 포함한다. 컴퓨터 실행가능 명령어는, 예를 들면, 어셈블리어, 또는 심지어는 소스코드와 같은 이진, 중간 포맷 명령어일 수 있다.In the description and claims that follow, a “network” or “communication 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 through a network or other (wired, wireless, or a combination of wired or wireless) communication connection, this connection can be understood as a computer-readable medium. Computer-readable instructions include, for example, instructions and data that cause a general purpose computer system or a special purpose computer system to perform a specific function or group of functions. Computer-executable instructions may be, for example, assembly language, or even binary, intermediate format instructions such as source code.

아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실시될 수 있다. In addition, the present invention relates to a personal computer, a laptop computer, a handheld device, a multiprocessor system, a microprocessor-based or programmable consumer electronics, a network PC, a minicomputer, a mainframe computer, a mobile phone, a PDA, a pager. It can be implemented in a network computing environment having various types of computer system configurations including (pager) and the like.

본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.The invention may also be practiced in a distributed system environment where both local and remote computer systems linked through a network with a wired data link, a wireless data link, or a combination of wired and wireless data links perform tasks. In a distributed system environment, program modules may be located in local and remote memory storage devices.

본 발명의 실시 예를 설명하기에 앞서, 본 발명의 기술적 배경은 MPEG MMT(MPEG Media Transport) 기술인 것을 가정하여 설명하도록 한다. 그러나, 이는 설명의 편의를 위한 예시일 뿐, 본 발명이 반드시 MMT 기술에만 적용되는 것은 아니다. Prior to describing the embodiments of the present invention, it is assumed that the technical background of the present invention is MPEG MMT (MPEG Media Transport) technology. However, this is only an example for convenience of description, and the present invention is not necessarily applied to MMT technology.

이하 본 명세서에서 기술하는 용어의 의미는 다음과 같이 정의할 수 있다. Hereinafter, the meaning of the terms described in the present specification may be defined as follows.

컨텐츠 컴포넌트(content component) 또는 미디어 컴포넌트(media component)는 단일 종류의 미디어(media of a single type) 또는 단일 종류의 미디어의 부분 집합(subset of the media of a single type)으로 정의되며, 예를 들어, 비디오 트랙(video track), 영화 자막(movie subtitles), 또는 비디오 향상계층(enhancement layer of video)이 될 수 있다.A content component or media component is defined as a media of a single type or a subset of the media of a single type, for example , A video track, movie subtitles, or an enhancement layer of video.

컨텐츠(content)는 컨텐츠 컴포넌트의 집합으로 정의하며, 예를 들어 영화(movie), 노래(song)등이 될 수 있다.Content is defined as a set of content components, and may be, for example, a movie or a song.

하이브리드 전송(hybrid delivery)은 하나 또는 그 이상의 컨텐츠 컴포넌트들이 하나 이상의 물리적으로 서로 다른 형태의 망(network)을 통하여 동시에 전송되는 것으로 정의한다.Hybrid delivery is defined as one or more content components being simultaneously transmitted through one or more physically different types of networks.

표현(presentation)은 사용자가 하나의 컨텐츠 컴포넌트 또는 하나의 서비스를 경험(예를 들어 영화 감상)할 수 있도록 하나 또는 하나 이상의 장치들에 의해 수행되는 동작(operation)으로 정의한다.Presentation is defined as an operation performed by one or more devices so that a user can experience one content component or one service (eg, watch a movie).

서비스(service)는 표현(presentation) 또는 저장(storage)을 위해 전송되는 하나 또는 하나 이상의 컨텐츠 컴포넌트로 정의한다.A service is defined as one or more content components transmitted for presentation or storage.

서비스 정보(service information)는 하나의 서비스, 상기 서비스의 특성(characteristics) 및 컴포넌트들을 기술하는 메타 데이터로 정의한다.Service information is defined as metadata describing one service, characteristics of the service, and components.

넌 타임드 데이터(Non-timed data)는 시간을 명시하지 않고 소비되는 모든 데이터 요소를 정의한다. 넌 타임드 데이터는 그의 미디어 유닛의 디코딩 및/또는 표현을 위한 고유의 동기화 정보를 가지지 않는 데이터다.Non-timed data defines all data elements consumed without specifying time. Non-timed data is data that does not have unique synchronization information for decoding and/or representation of its media unit.

타임드 데이터(timed data)는 그의 미디어 유닛의 디코딩 및/또는 표현을 위한 고유의 동기화 정보를 가는 데이터로, 디코딩 및 프리젠테이션되는 특정한 시간과 연관된 데이터 요소를 정의한다.Timed data is data carrying unique synchronization information for decoding and/or representation of its media unit, and defines a data element associated with a specific time to be decoded and presented.

미디어 프래그먼트 유닛(Media Fragment Unit; MFU)는 어떠한 특정 코덱에도 독립된 일반적인 컨테이너로, 미디어 디코더에 의해 독립적으로 소비될 수 있는 부호화된 미디어 데이터를 수용한다. 액세스 유닛(AU)은 타임드 미디어 데이터를 위한 액세스 유닛(AU)의 전부 또는 일부와 같이 미디어 디코더에 의해 독립적으로 디코드 가능한 미디어 데이터 또는 넌타임드 미디어 데이터를 위한 하나의 파일을 포함한다. 이는 액세스 유닛(AU)보다 작거나 같은 크기를 가지고 트랜스포트 계층(Transport layer)에서 사용될 수 있는 정보를 수용한다.A Media Fragment Unit (MFU) is a general container independent of any specific codec and accommodates encoded media data that can be independently consumed by a media decoder. The access unit AU includes one file for media data or non-timed media data that can be independently decoded by a media decoder, such as all or part of the access unit AU for timed media data. This has a size smaller than or equal to the access unit (AU) and accommodates information that can be used in the transport layer.

MMT 개체(MMT entity)는 MMT 프로파일을 따르는 소프트웨어 또는 하드웨어의 구현이다.The MMT entity is an implementation of software or hardware that follows the MMT profile.

MMT 패킷(MMT packet)은 MMT 프로토콜에 따라 생성 또는 소비되는 데이터의 형식화된 유닛(formatted unit)이다.An MMT packet is a formatted unit of data generated or consumed according to the MMT protocol.

MMT 페이로드(MMT payload)는 패키지를 나르거나 MMT 프로토콜이나 인터넷 응용 계층 전송 프로토콜(예를 들어 RTP(Real-Time Transport Protocol)가 있다)을 사용하여 메시지를 시그널링하는 데이터의 형식화된 유닛이다.The MMT payload is a formatted unit of data that carries a package or signals a message using an MMT protocol or an Internet application layer transport protocol (for example, there is a Real-Time Transport Protocol (RTP)).

MMT 프로토콜은 MMT 페이로드를 IP 네트워크를 통해 전달하기 위한 응용 계층 전송 프로토콜이다.The MMT protocol is an application layer transport protocol for delivering an MMT payload through an IP network.

MMT 페이로드 포맷(MMT payload format)은 MMT 프로토콜 또는 인터넷 응용 계층 프로토콜(예를 들면, RTP)에 의해 전달될 MMT 패키지 또는 MMT 시그널링 메시지의 페이로드를 위한 포맷이다.The MMT payload format is a format for a payload of an MMT package or MMT signaling message to be delivered by an MMT protocol or an Internet application layer protocol (eg, RTP).

이하, 본 발명의 실시 예에 따른 시스템의 주요 구조에 대해 먼저 설명하도록 한다. Hereinafter, a main structure of a system according to an embodiment of the present invention will be first described.

도 1은 본 발명의 MMT 캐싱 시스템의 주요 구성을 개략적으로 도시한 블록도이다. 1 is a block diagram schematically showing the main configuration of the MMT caching system of the present invention.

도 1을 참조하면, 본 발명의 MMT 캐싱 시스템(1000)은 단말(100), 다수의 캐시 장치(400)를 포함하는 네트워크(300), 그리고 컨텐츠 제공 서버(200)를 포함하여 구성될 수 있다.Referring to FIG. 1, the MMT caching system 1000 of the present invention may include a terminal 100, a network 300 including a plurality of cache devices 400, and a content providing server 200. .

먼저, 단말(100)은 사용자의 요청에 따라 네트워크(300)를 통해 컨텐츠 제공 서버(200)로 특정 컨텐츠를 요청하고, 컨텐츠 제공 서버(200)로부터 제공되는 컨텐츠를 수신하여 이용할 수 있다. First, the terminal 100 may request specific content from the content providing server 200 through the network 300 according to a user's request, and receive and use the content provided from the content providing server 200.

보다 구체적으로, 단말(100)은 사용자로부터 특정 컨텐츠에 대한 요청을 확인한다. 상기 특정 컨텐츠에 대한 요청은 사용자로부터 브라우저 등을 통해 특정 컨텐츠를 요청(request)하는 URL(Uniform Resource Locator) 등의 입력으로 이루어질 수 있다. 이후, 단말(100)은 DNS(Domain Name Server) 등의 네임서버에 액세스하여 해당 컨텐츠를 제공하는 컨텐츠 제공 서버(200)의 주소 정보(IP address)를 획득한다. 그리고 나서, 단말(100)은 해당 컨텐츠 제공 서버(200)로부터 컨텐츠를 수신하게 된다. 특히, 본 발명의 단말(100)은 MPEG 미디어 트랜스포트, 즉 MMT 패킷 형태의 컨텐츠를 요청할 수 있으며, MMT 패킷 형태의 컨텐츠를 수신하여 재생할 수 있다. 아울러, MMT 패킷은 스트리밍 형태로 순차적으로 수신되며 단말(100)은 스트리밍 형태로 순차적으로 수신되는 MMT 패킷을 재생하여 처리할 수 있다. More specifically, the terminal 100 confirms a request for specific content from a user. The request for the specific content may be made by inputting a URL (Uniform Resource Locator) that requests specific content from a user through a browser or the like. Thereafter, the terminal 100 obtains address information (IP address) of the content providing server 200 that provides the corresponding content by accessing a name server such as a DNS (Domain Name Server). Then, the terminal 100 receives the content from the content providing server 200. In particular, the terminal 100 of the present invention may request an MPEG media transport, that is, content in the form of an MMT packet, and may receive and play the content in the form of an MMT packet. In addition, the MMT packets are sequentially received in a streaming format, and the terminal 100 may reproduce and process the MMT packets sequentially received in a streaming format.

컨텐츠 제공 서버(200)는 단말(100)로 다양한 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 제공하기 위한 것으로, 컨텐츠 제공자(CP; Contents Provider)로부터 적어도 하나의 컨텐츠를 제공받아 관리하며, 네트워크(300)를 통해서 다수의 단말(100)로 컨텐츠를 제공한다. 특히, 본 발명의 컨텐츠 제공 서버(200)는 MMT 패킷 구성이 가능하며, 단말(100)의 요청에 따라 MMT 패킷을 단말(100)로 전송하는 역할을 수행하게 된다. The content providing server 200 is for providing various contents such as photos, videos, audio, applications, etc. to the terminal 100, and receives at least one content from a content provider (CP). It manages and provides content to a plurality of terminals 100 through the network 300. In particular, the content providing server 200 of the present invention can configure an MMT packet, and plays a role of transmitting the MMT packet to the terminal 100 according to the request of the terminal 100.

네트워크(300) 상에 분산 배치된 다수의 캐시 장치(400)는 단말(100)과 컨텐츠 제공 서버(200) 사이의 컨텐츠 흐름을 제어하는 역할을 수행한다. 이때, 다수의 캐시 장치(400)는 접속망(330)과 코어망(320) 사이에 위치하는 것이 바람직하나, 이에 한정되는 것은 아니며, 단말(100)과 컨텐츠 제공 서버(200) 사이의 컨텐츠 흐름을 제어할 수 있다면, 다양한 형태로 네트워크(300) 상에 분산 배치될 수 있다. A plurality of cache devices 400 distributed over the network 300 serves to control the flow of content between the terminal 100 and the content providing server 200. At this time, the plurality of cache devices 400 is preferably located between the access network 330 and the core network 320, but is not limited thereto, and the content flow between the terminal 100 and the content providing server 200 If it can be controlled, it can be distributed and arranged on the network 300 in various forms.

이러한 캐시 장치(400)는 컨텐츠 제공 서버(200)로부터 서비스되는 컨텐츠를 기 설정된 컨텐츠 분산 정책에 따라 미리 컨텐츠의 일부 또는 전부를 저장하고 있다. 이후, 컨텐츠 제공 서버(200)로부터 전송되는 단말이 요청한 컨텐츠 요청 메시지(예컨대 HTTP GET 메시지)에 대한 컨텐츠 응답 메시지(예컨대 HTTP RESPONSE 메시지)가 검출되면, 다수의 캐시 장치(400) 중 해당 컨텐츠 응답 메시지에 포함된 컨텐츠를 캐싱하고 있는 캐시 장치가, 상기 컨텐츠 제공 서버(200)를 대신하여 단말(100)로 컨텐츠를 전송하게 된다. The cache device 400 stores some or all of the content serviced from the content providing server 200 in advance according to a preset content distribution policy. Thereafter, when a content response message (eg, an HTTP RESPONSE message) for a content request message (eg, an HTTP GET message) requested by the terminal transmitted from the content providing server 200 is detected, a corresponding content response message among the plurality of cache devices 400 A cache device caching the content included in the content is transmitted to the terminal 100 on behalf of the content providing server 200.

특히, 본 발명의 실시 예에 따른 캐시 장치(400)는 특정 컨텐츠를 구성하는 복수 개의 MMT 패킷에 대한 캐싱 처리가 가능하며, MMT 패킷의 일부 또는 전부를 저장하고 있는 상태에서, 컨텐츠 제공 서버(200)를 대신하여, 단말(100)로 MMT 패킷을 전송할 수 있다. In particular, the cache device 400 according to an embodiment of the present invention is capable of caching a plurality of MMT packets constituting a specific content, and in a state in which some or all of the MMT packets are stored, the content providing server 200 In place of ), the MMT packet may be transmitted to the terminal 100.

특히, 본 발명의 실시 예에 따른 캐시 장치(400)는 단말(100)이 요청한 MMT 패킷을 캐싱하고자 있는 지 여부를 판단하여, 캐싱하고 있는 캐시 히트 상태일 경우, 캐싱된 MMT 패킷을 컨텐츠 제공 서버(200)를 대신하여 단말(100)로 전달할 수 있으며 MMT 패킷을 캐싱하고 있지 않을 경우, 컨텐츠 제공 서버(200)로부터 단말(100)로 전달되는 MMT 패킷을 캐싱하는 과정을 지원할 수 있다. In particular, the cache device 400 according to an embodiment of the present invention determines whether the terminal 100 intends to cache the requested MMT packet, and in the case of a cache hit state, the cached MMT packet is provided to the content providing server. It can be delivered to the terminal 100 on behalf of 200, and when the MMT packet is not cached, a process of caching the MMT packet transmitted from the content providing server 200 to the terminal 100 may be supported.

아울러, 본 발명의 네트워크(300)는 도면에는 도시하지 않았으나, 네트워크(300) 상에 분산 배치된 다수의 캐시 장치(400)의 관리 및 다수의 캐시 장치(400)에 의한 컨텐츠 전달 과정을 제어할 수 있는 캐시 컨트롤러(미도시)를 포함하여 구성될 수 있다. In addition, although not shown in the drawing, the network 300 of the present invention manages a plurality of cache devices 400 distributed over the network 300 and controls a content delivery process by the plurality of cache devices 400. It may be configured to include a cache controller (not shown).

보다 구체적인 캐시 장치(400) 및 컨텐츠 제공 서버(200)의 주요 구성 및 동작 방법에 대해서는 후술하도록 하며, 본 발명의 실시 예에 따른 단말(100) 및 컨텐츠 제공 서버(200)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.A more specific configuration and operation method of the cache device 400 and the content providing server 200 will be described later, and the processor mounted on the terminal 100 and the content providing server 200 according to an embodiment of the present invention is It is possible to process program instructions for executing the method according to the invention. In one implementation example, the processor may be a single-threaded processor, and in another implementation example, the processor may be a multithreaded processor. Furthermore, the processor is capable of processing instructions stored in a memory or a storage device.

아울러, 본 발명의 다수의 캐시 장치(400)가 주요 지점에 분산 배치되어 있는 네트워크(300)는 단말(100)과 컨텐츠 제공 서버(200) 간의 정보의 송수신을 위한 통신망을 의미하는 것으로, 특히, 단일의 통신망 형태보다는 다양한 종류, 예컨대 인트라넷망, 이동통신망, 위성 통신망 등 다양한 종류의 유무선 통신 기술을 이용하여 구현된 통신망이 혼합된 형태일 수 있다. In addition, the network 300 in which the plurality of cache devices 400 of the present invention are distributedly arranged at key points refers to a communication network for transmitting and receiving information between the terminal 100 and the content providing server 200, in particular, Rather than a single communication network type, various types of communication networks, such as an intranet network, a mobile communication network, and a satellite communication network, may be mixed.

여기서, 네트워크(300)는 다수의 유무선 접속망(330) 및 코어망(320)을 포함하는 모바일 망과 연결되 외부망, 예컨대 인터넷망(310)을 포함하여 구성될 수 있다. 여기서, 모바일 망을 구성하는 유무선 접속망(330)은 단말(100)과 유무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다.Here, the network 300 is connected to a mobile network including a plurality of wired and wireless access networks 330 and a core network 320 and may be configured to include an external network, for example, an Internet network 310. Here, the wired/wireless access network 330 constituting the mobile network is an access network that performs wired/wireless communication with the terminal 100, for example, a plurality of base stations, such as BS (Base Station), BTS (Base Transceiver Station), NodeB, eNodeB, It may be implemented with a base station and a base station controller such as a base station controller (BSC) and a radio network controller (RNC).

또 다른 방식으로는, 상기 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU(미도시)를 집중화된 DU(미도시)와 연결하여 구성할 수도 있다.In another method, the digital signal processing unit and the wireless signal processing unit, which were integrally implemented in the base station, are divided into a digital unit (hereinafter referred to as DU and a radio unit (hereinafter referred to as RU)). A plurality of RUs (not shown) may be installed in each of the regions, and a plurality of RUs (not shown) may be connected to a centralized DU (not shown).

또한, 유무선 접속망(330)와 함께 모바일 망을 구성하는 코어망(320)은 유무선 접속망(330)과 외부 망, 예컨대, 인터넷망(310)을 연결하는 역할을 수행한다.In addition, the core network 320 constituting the mobile network together with the wired/wireless access network 330 serves to connect the wired/wireless access network 330 and an external network, for example, the Internet network 310.

이러한 코어망(320)은 앞서 설명한 바와 같이, 유무선 접속망(330) 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 모바일 망 내에서의 패킷 흐름을 관리 및 제어한다. 또한, 코어망(320)은 주파수간 이동성을 관리하고, 접속망(330) 및 코어망(320) 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망(310)과의 연동을 위한 역할을 수행할 수도 있다. 코어망(320)은 상술한 구성 이외도 MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다.As described above, the core network 320 is a network system that performs major functions for mobile communication services such as mobility control and switching between wired and wireless access networks 330, and circuit switching or packet switching ), and manages and controls the packet flow in the mobile network. In addition, the core network 320 may manage mobility between frequencies, and may perform a role of interworking with the access network 330 and the traffic in the core network 320 and other networks, for example, the Internet network 310. In addition to the above-described configuration, the core network 320 may be configured to further include a Mobile Switching Center (MSC), a Home Location Register (HLR), a Mobile Mobility Entity (MME), and a Home Subscriber Server (HSS).

또한, 인터넷망(310)은 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 공개된 통신망, 즉 공용망을 의미하는 것으로, 컨텐츠 제공 서버(200)와 연결되어, 컨텐츠 제공 서버(200)로부터 제공되는 컨텐츠를 코어망(320) 및 유무선 접속망(330)을 거쳐, 단말(100)로 제공하거나, 기 설정된 분산 정책에 따라 다수의 캐시 장치(400)로 제공할 수도 있다.In addition, the Internet network 310 refers to a common open communication network, that is, a public network in which information is exchanged according to the TCP/IP protocol, and is connected to the content providing server 200 and provided from the content providing server 200 The resulting content may be provided to the terminal 100 through the core network 320 and the wired/wireless access network 330, or may be provided to a plurality of cache devices 400 according to a preset distribution policy.

아울러, 모바일 망 상에서 송수신되는 모바일 패킷은 인터넷망(310)과는 다르게 GTP(GPRS Tunneling Protocol) 터널을 통해서 전송될 수 있다. 예를 들어, 단말(100)이 컨텐츠 제공 서버(200)에서 제공하는 컨텐츠를 요청하는 컨텐츠 요청 메시지를 전송한다고 할 때, 단말(100)의 출발지 주소 정보(단말(100)의 IP 주소)와 목적지 주소 정보(컨텐츠 제공 서버(200)의 IP 정보)를 포함하는 IP 패킷을 접속망(330)으로 전송하면, 접속망(330)의 기지국(예컨대, eNodeB)은 상기 IP 패킷에 GTP 헤더, UDP 헤더, GTP 터널링을 위한 IP 헤더를 더 부가한 모바일 패킷으로 변환하여 코어망(320)으로 전달한다. 이때, GTP 헤더는 단말(100)에 할당된 터널링 식별 정보(TEID; Tunneling End poing ID)를 포함할 수 있다. 코어망(320)은 GTP 헤더, UDP 헤더 및 GTP 터널링은 위한 IP 헤더를 제거하고, 단말(100)이 전송한 원래의 IP 패킷을 인터넷망(310)를 통해서 컨텐츠 제공 서버(200)로 전송할 수 있다.In addition, mobile packets transmitted and received on the mobile network may be transmitted through a GTP (GPRS Tunneling Protocol) tunnel differently from the Internet network 310. For example, when the terminal 100 transmits a content request message requesting content provided by the content providing server 200, the source address information (IP address of the terminal 100) and the destination of the terminal 100 When an IP packet including address information (IP information of the content providing server 200) is transmitted to the access network 330, the base station (e.g., eNodeB) of the access network 330 sends a GTP header, a UDP header, and a GTP to the IP packet. The IP header for tunneling is converted into an additional mobile packet and transmitted to the core network 320. In this case, the GTP header may include tunneling identification information (TEID; Tunneling End poing ID) allocated to the terminal 100. The core network 320 may remove the GTP header, the UDP header, and the IP header for GTP tunneling, and transmit the original IP packet transmitted by the terminal 100 to the content providing server 200 through the Internet network 310. have.

이상으로 본 발명의 네트워크(300) 구조에 대해 간략히 설명하였으며, 이러한 네트워크(300)는 캐시 장치(400)와 결합되어 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기로 제공할 수 있는 클라우드 컴퓨팅망을 포함할 수 있다. 여기서, 클라우드 컴퓨팅이란 정보가 인터넷 상의 서버에 영구적으로 저장되고, 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 클라이언트 단말기에는 일시적으로 보관되는 컴퓨터 환경을 의미하며, 클라우드 컴퓨팅은 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있도록 하는 컴퓨터 환경 접속망을 의미한다. 이러한, 네트워크(300)는 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) 등의 네트워크와 향후 구현될 차세대 네트워크 및 클라우드 컴퓨팅 네트워크를 모두 포함하는 개념이다.As described above, the structure of the network 300 of the present invention has been briefly described, and the network 300 is combined with the cache device 400 to store computing resources such as hardware and software, and correspond to the computing resources required by the client. It may include a cloud computing network that can be provided to a terminal. Here, cloud computing refers to a computer environment in which information is permanently stored on a server on the Internet and temporarily stored on client terminals such as desktops, tablet computers, notebooks, netbooks, and smartphones, and cloud computing stores all user information. It means a computer environment access network that stores the information on a server on the Internet and makes this information available anytime, anywhere through various IT devices. The network 300 is not only a closed network such as a local area network (LAN), a wide area network (WAN), an open network such as the Internet, but also a code division multiple access (CDMA), wideband code division (WCDMA). Multiple Access), GSM (Global System for Mobile Communications), LTE (Long Term Evolution), and EPC (Evolved Packet Core), which are recently attracting attention, as well as next-generation networks and cloud computing networks to be implemented in the future.

이하, 본 발명의 실시 예에 따른 단말(100)의 주요 구성 및 동작 방법에 대해 설명하도록 한다. Hereinafter, the main configuration and operation method of the terminal 100 according to an embodiment of the present invention will be described.

도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.FIG. 2 is a block diagram showing a main configuration of a terminal according to an embodiment of the present invention shown in FIG. 1.

도 1 및 도 2를 참조하면, 본 발명의 실시 예에 따른 단말(100)은 통신부(110), 입력부(120), 제어부(130), 저장부(140) 및 출력부(150)를 포함하여 구성될 수 있다.1 and 2, a terminal 100 according to an embodiment of the present invention includes a communication unit 110, an input unit 120, a control unit 130, a storage unit 140, and an output unit 150. Can be configured.

각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(110)는 코어망(320) 접속을 위해, 인근의 접속망(330)에 접속되는 과정을 지원할 수 있다. 예컨대 통신부(110)는 일정 반경 내 위치하는 기지국(미도시)을 탐색하고, 탐색된 기지국(미도시)의 접속 요청을 하여, 기지국(미도시)과 접속되는 과정을 지원함으로써 접속망(330)에 접속될 수 있다. 여기서, 단말(100)의 통신부(110)가 접속망(330)의 기지국(미도시)에 접속되는 과정은 공지된 다양한 구성을 채용할 수 있으므로, 구체적인 설명은 생략하도록 한다. 아울러, 통신부(110)가 기지국(미도시)과 통신 절차를 수행 시 사용자 정보를 전송할 수 있다. 기본적으로 IMSI(International Mobile Subscriber Identity) 등과 같은 단말 식별번호 등을 기지국(미도시)에 전송할 수 있으며, 기지국(미도시)이 코어망(320)과의 접속 절차를 수행하는 동안, 단말 식별번호 등을 이용하여 가입자 정보를 확인할 수 있게 된다. To describe each component in more detail, first, in order to access the core network 320, the communication unit 110 may support a process of accessing a nearby access network 330. For example, the communication unit 110 searches for a base station (not shown) located within a certain radius, requests access to the searched base station (not shown), and supports the process of being connected to the base station (not shown). Can be connected. Here, the process of connecting the communication unit 110 of the terminal 100 to the base station (not shown) of the access network 330 may employ various known configurations, and thus a detailed description thereof will be omitted. In addition, when the communication unit 110 performs a communication procedure with a base station (not shown), user information may be transmitted. Basically, a terminal identification number such as IMSI (International Mobile Subscriber Identity), etc. can be transmitted to a base station (not shown), and while the base station (not shown) performs an access procedure with the core network 320, the terminal identification number, etc. Subscriber information can be checked using.

아울러, 본 발명의 실시 예에 따른 통신부(110)은 접속망(330)의 기지국(미도시)을 통해 정상적으로 코어망(320)에 접속하게 되면, 인터넷망(310)을 거쳐 컨텐츠 제공 서버(200)로 MMT 패킷 전송을 요청하고, 전달되는 MMT 패킷을 제어부(130)로 전달하는 역할을 수행하게 된다. In addition, when the communication unit 110 according to an embodiment of the present invention is normally connected to the core network 320 through a base station (not shown) of the access network 330, the content providing server 200 through the Internet network 310 The MMT packet transmission is requested and the transmitted MMT packet is transmitted to the controller 130.

입력부(120)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보, 각종 기능 설정 및 단말(100)의 기능 제어와 관련하여 입력되는 신호를 제어부(130)로 전달한다. 특히, 본 발명의 입력부(120)는 MMT 패킷 전송 요청을 사용자 입력을 지원할 수 있다. 예컨대, 사용자로부터 MMT 패킷을 재생할 수 있는 어플리케이션의 실행 입력을 지원하고, 어플리케이션을 통해 특정 채널에 대한 선택 명령 정보의 입력을 지원할 수 있다. The input unit 120 transmits various information such as number and text information input from a user, various function settings, and signals input in connection with function control of the terminal 100 to the controller 130. In particular, the input unit 120 of the present invention may support a user input for a request to transmit an MMT packet. For example, it is possible to support input of execution of an application capable of reproducing an MMT packet from a user, and input of selection command information for a specific channel through the application.

이러한 입력부(120)는 상술한 바와 같이, 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 음성 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단을 포함할 수도 있다.As described above, the input unit 120 includes a key input means such as a keyboard or a keypad, a touch input means such as a touch sensor or a touch pad, a voice input means, a gyro sensor, a geomagnetic sensor, an acceleration sensor and a proximity sensor, and a camera. It may also include a gesture input means including at least one or more.

이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.In addition, all types of input means currently under development or that may be developed in the future may be included.

제어부(130)는 단말(100)의 전반적인 제어를 수행하는 것으로, 하드웨어적으로 CPU(Central Processing Unit)를 포함하는 적어도 하나 이상의 프로세서와 적어도 하나 이상의 메모리 로딩 데이터가 로딩되는 실행 메모리(예컨대, 레지스터 및/또는 RAM(Random Access Memory)) 및 상기 프로세서와 메모리로 적어도 하나 이상의 데이터들을 입출력하는 버스(BUS)를 포함하여 이루어질 수 있다. 또한 소프트웨어적으로 단말(100)에 정의된 기능을 수행하기 위해 소정의 기록매체로부터 상기 실행 메모리로 로딩되어 상기 프로세서에 의해 연산 처리되는 소정의 프로그램 루틴(Routine) 또는 프로그램 데이터를 포함하여 이루어질 수 있다. 다시 말해, 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)로 MMT 패킷을 요청하고 수신하는 과정 수행을 처리하기 위해 단말(100)에 구비되는 기능 중 소프트웨어적으로 처리가 가능한 구성 요소를 제어부(130)의 기능으로 판단할 수 있다. The controller 130 performs overall control of the terminal 100, and in hardware, at least one processor including a CPU (Central Processing Unit) and an execution memory (eg, a register and / Or a random access memory (RAM)) and a bus for inputting/outputting at least one or more data to and from the processor and memory. In addition, in order to perform a function defined in the terminal 100 in software, a predetermined program routine or program data loaded from a predetermined recording medium into the execution memory and processed by the processor may be included. . In other words, in order to process the process of requesting and receiving an MMT packet from the content providing server 200 according to an embodiment of the present invention, the control unit controls components that can be processed by software among functions provided in the terminal 100 ( 130).

이러한, 본 발명의 제어부(130)는 본 발명의 실시 예에 따른 MMT 패킷 요청 및 재생 처리를 위해 구비되는 적어도 하나 이상의 구성 요소와 기능적으로 연결된다. 즉, 제어부(130)는 통신부(110), 입력부(120), 저장부(140) 및 출력부(150)와 기능적으로 연결되며, 상기 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다.The controller 130 of the present invention is functionally connected to at least one or more components provided for processing MMT packet request and reproduction according to an embodiment of the present invention. That is, the control unit 130 is functionally connected to the communication unit 110, the input unit 120, the storage unit 140, and the output unit 150, and provides power to the respective components and the flow of signals for performing functions. Control.

특히, 본 발명의 실시 예에 따른 제어부(130)는 MPEG 미디어 트랜스포트 스트리밍 데이터를 처리할 수 있는 MPEG-2 TS 처리 기능을 지원할 수 있다. 예컨대, 컨텐츠 제공 서버(200)로부터 전달되는 복수의 미디어 프로세싱 유닛(MPU)으로 구성되는 MMT 패킷을 수신할 수 있으며, MMT 패킷이 복수의 애셋으로 구성되는 경우, 복수의 애셋을 타임 정보에 따라 동기화하여 재생하여 출력하는 기능을 수행할 수 있다. In particular, the control unit 130 according to an embodiment of the present invention may support an MPEG-2 TS processing function capable of processing MPEG media transport streaming data. For example, it is possible to receive an MMT packet composed of a plurality of media processing units (MPUs) transmitted from the content providing server 200, and when the MMT packet is composed of a plurality of assets, the plurality of assets are synchronized according to time information It can be played back and output.

저장부(140)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 특히, 본 발명의 실시 예에 따른 저장부(140)는 본 발명의 실시 예에 따른 MMT 패킷 요청 및 재생 처리를 위한 다양한 명령들을 저장할 수 있다. The storage unit 140 may temporarily store various data generated during execution of the application program, including an application program required for a functional operation according to an exemplary embodiment of the present invention. In particular, the storage unit 140 according to an embodiment of the present invention may store various commands for processing an MMT packet request and reproduction according to an embodiment of the present invention.

이러한 저장부(140)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 단말(100)을 부팅시키는 운영체제(OS)와 같은 단말(100) 구동을 위한 관련된 정보들을 저장한다. 데이터 영역은 단말(100)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 상술한 바와 같이 스트리밍 데이터 처리를 위한 다양한 명령들이 저장될 수 있다. 이러한, 저장부(140)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.The storage unit 140 may largely include a program area and a data area. The program area stores information related to driving the terminal 100 such as an operating system (OS) that boots the terminal 100. The data area is an area in which data generated according to the use of the terminal 100 is stored, and as described above, various commands for processing streaming data may be stored. The storage unit 140 includes a flash memory, a hard disk, a multimedia card micro type memory (eg, SD or XD memory, etc.), a RAM, a ROM ( It may be configured to include a storage medium such as ROM).

출력부(150)는 단말(100)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 출력부(150)는 컨텐츠 제공 서버(200)로부터 전달되는 MMT 패킷을 재생함으로써 발생되는 정보를 표시할 수 있다. The output unit 150 displays information about a series of operation states and operation results that occur while the terminal 100 is performing a function. In particular, the output unit 150 of the present invention may display information generated by reproducing the MMT packet transmitted from the content providing server 200.

이러한, 출력부(150)는 상술한 바와 같이 입력부(120)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구현될 수도 있으며, 상기 입력부(120)와 함께 구현되는 경우, 사용자의 터치 동작에 따라 발생되는 다양한 정보들을 표시할 수 있다.As described above, the output unit 150 may be implemented in the form of a single touch panel (or touch screen) together with the input unit 120, and when implemented together with the input unit 120, the user's touch operation Various information generated according to the display can be displayed.

또한, 상술한 바와 같은 본 발명의 출력부(150)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등으로 구성될 수 있다. 또한 이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 TOLED(Transparant OLED)를 포함하는 투명 디스플레이 형태로 구성될 수 있다.In addition, the output unit 150 of the present invention as described above is an LCD (Liquid Crystal Display), TFT-LCD (Thin Film Transistor LCD), OLED (Organic Light Emitting Diodes), light emitting diodes (LED), AMOLED (Active Matrix). Organic LED), a flexible display, and a three-dimensional display. In addition, some of these displays may be configured as a transparent type or a light-transmitting type so that the outside can be seen through them. This may be configured in the form of a transparent display including TOLED (Transparant OLED).

이와 같이, 도 2를 통해 단말(100)의 주요 구성요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그 보다 적은 구성요소에 의해 단말(100)이 구현될 수도 있다. 예컨대, 단말(100)은 전기적인 신호인 음원을 아날로그 신호로 변환하여 출력하는 음원 출력부(미도시)를 더 포함하여 구성될 수 있으며, 이러한 음원 출력부(미도시)는 컨텐츠 제공 서버(200)로부터 전달되는 MMT 패킷 재생 시 발생되는 다양한 정보를 출력할 수 있다. As described above, main components of the terminal 100 have been described with reference to FIG. 2. However, not all of the components shown through FIG. 2 are essential components, and the terminal 100 may be implemented by more components than the shown components, and the terminal 100 is reduced by fewer components. It can also be implemented. For example, the terminal 100 may be configured to further include a sound source output unit (not shown) that converts and outputs a sound source, which is an electrical signal, into an analog signal, and this sound source output unit (not shown) is a content providing server 200 ), it is possible to output a variety of information generated when reproducing the MMT packet transmitted from).

또한, 도 2를 통해 도시된 단말(100)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다. In addition, it goes without saying that the positions of major components of the terminal 100 shown through FIG. 2 may be changed for convenience or other reasons.

이상으로 본 발명의 실시 예에 따른 단말(100)의 주요 구성 및 동작 방법에 대해 설명하였다. 이러한 본 발명의 단말(100)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말(100)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.The main configuration and operation method of the terminal 100 according to the embodiment of the present invention have been described above. The terminal 100 of the present invention can be implemented in various forms. For example, the terminal 100 described herein is a mobile terminal such as a smart phone, a tablet PC, a personal digital assistant (PDA), a portable multimedia player (PMP), an MP3 player, etc. , A fixed terminal such as a smart TV or a desktop computer may be used.

이러한 본 발명의 단말(100)은 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 단말(100)로 사용될 수도 있으며, 컨텐츠 제공 서버(200)로부터 전달되는 MMT 패킷을 처리할 수 있는 장치라면 그 어떠한 장치도 본 발명의 단말(100)로 적용 가능하다. In the terminal 100 of the present invention, the transformation of the portable device is very diverse according to the convergence trend of the digital device, so it is not possible to enumerate all of them, but the unit of the same level as the above-mentioned units is the terminal according to the present invention It may be used as 100, and any device can be applied to the terminal 100 of the present invention as long as it is a device capable of processing MMT packets transmitted from the content providing server 200.

이하, 본 발명의 실시 예에 따른 캐시 장치(400)의 주요 구성 및 동작 방법에 대해 설명하도록 한다. Hereinafter, the main configuration and operation method of the cache device 400 according to an embodiment of the present invention will be described.

이하, 본 발명의 실시 예에 따른 캐시 장치(400)의 주요 구성 및 동작 방법에 대해 도 3을 참조하여 설명하도록 한다.Hereinafter, a main configuration and operation method of the cache device 400 according to an embodiment of the present invention will be described with reference to FIG. 3.

도 3은 도 1에 도시된 본 발명의 실시 예에 따른 캐시 장치의 주요 구성을 도시한 블록도이다.FIG. 3 is a block diagram illustrating a main configuration of a cache device according to an embodiment of the present invention shown in FIG. 1.

도 1 및 도 3을 참조하면, 본 발명의 실시 예에 따른 캐시 장치(400)는 캐시 통신부(410), 캐시 제어부(420) 및 캐시 저장부(430)를 포함하여 구성될 수 있다. 1 and 3, a cache device 400 according to an embodiment of the present invention may include a cache communication unit 410, a cache control unit 420, and a cache storage unit 430.

먼저, 캐시 통신부(410)는 코어망(320) 또는 인터넷망(310)을 통해 송수신되는 다양한 데이터를 모니터하거나, 이를 송수신하는 역할을 수행한다. 특히, 본 발명의 캐시 통신부(410)는 단말(100)과 컨텐츠 제공 서버(200) 간에 송수신되는 정보를 모니터링하는 과정을 수행한다. 이를 위하여, 캐시 통신부(410)는 도시되지 않았지만, 미러링 모듈 및 인젝션 모듈을 포함할 수 있다. 미러링 모듈은 코어망(320) 또는 인터넷망(310)을 통해 전달되는 데이터를 복사하여 캐시 제어부(420)로 전달한다. 인젝션 모듈은 캐시 제어부(420)로부터 전달 받은 데이터를 코어망(320) 또는 인터넷망(310)을 통해 컨텐츠 제공 서버(200) 또는 단말(100)로 전송한다. 따라서, 캐시 통신부(410)는 단말(100)과의 연결을 통해 단말(100)이 컨텐츠 제공 장치(200)로 전송하는 MMT 패밋을 요청하는 메시지를 수신하거나, 컨텐츠 제공 장치(200)가 상기 컨텐츠 요청 메시지에 대응하여 상기 단말(100)로 전송하는 MMT 패킷을 모니터링하여 검출할 수 있다. First, the cache communication unit 410 serves to monitor or transmit/receive various data transmitted/received through the core network 320 or the Internet network 310. In particular, the cache communication unit 410 of the present invention performs a process of monitoring information transmitted and received between the terminal 100 and the content providing server 200. To this end, the cache communication unit 410 is not shown, but may include a mirroring module and an injection module. The mirroring module copies data transmitted through the core network 320 or the Internet network 310 and transmits the copied data to the cache control unit 420. The injection module transmits the data received from the cache control unit 420 to the content providing server 200 or the terminal 100 through the core network 320 or the Internet network 310. Accordingly, the cache communication unit 410 receives a message requesting an MMT permit transmitted from the terminal 100 to the content providing device 200 through a connection with the terminal 100, or the content providing device 200 In response to the request message, the MMT packet transmitted to the terminal 100 may be monitored and detected.

캐시 제어부(420)는 캐시 장치(400)의 전반적인 동작을 제어하는 역할을 수행한다. 제어부(350)는 상기 캐시 통신부(410)를 통해 MMT 패킷 요청 및 MMT 패킷을 수신할 수 있다. 특히, 본 발명의 실시 예에 따른 캐시 제어부(420)는 상기 캐시 통신부(410)를 통해 단말(100)이 컨텐츠 제공 서버(200)로 전달하는 MMT 패킷 요청을 수신할 수 있다. 이때의 MMT 패킷 요청은 HTTP 프로토콜을 따를 수 있으며, 예컨대 HTTP GET/RESPONSE 메시지의 형태가 될 수 있다. 이후, 캐시 제어부(420)는 상기 MMT 패킷 요청에 따라 해당하는 MMT 패킷이 캐시 저장부(430)에 저장되어 있는 지 여부를 확인하고 저장되어 있을 경우, 상기 컨텐츠 제공 서버(200)로 전달되는 MMT 패킷 요청을 차단하고, 컨텐츠 제공 서버(200)를 대신하여 자신이 캐싱하고 있는 MMT 패킷을 단말(100)로 전달한다. 반면, 상기 캐시 저장부(430)에 MMT 패킷이 저장되어 있지 않을 경우, 캐시 제어부(420)은 상기 단말(100)의 MMT 패킷 요청이 컨텐츠 제공 서버(200)로 전달되도록 제어할 수 있다. The cache controller 420 serves to control the overall operation of the cache device 400. The control unit 350 may receive an MMT packet request and an MMT packet through the cache communication unit 410. In particular, the cache control unit 420 according to an embodiment of the present invention may receive an MMT packet request transmitted from the terminal 100 to the content providing server 200 through the cache communication unit 410. The MMT packet request at this time may follow the HTTP protocol, and may be, for example, in the form of an HTTP GET/RESPONSE message. Thereafter, the cache control unit 420 checks whether a corresponding MMT packet is stored in the cache storage unit 430 according to the MMT packet request, and if stored, the MMT transmitted to the content providing server 200. The packet request is blocked, and the MMT packet that is cached by itself is transmitted to the terminal 100 on behalf of the content providing server 200. On the other hand, when the MMT packet is not stored in the cache storage unit 430, the cache control unit 420 may control the MMT packet request from the terminal 100 to be transmitted to the content providing server 200.

그리고, 캐시 제어부(420)은 상기 단말(100)의 요청에 대한 응답으로 컨텐츠 제공 서버(200)로부터 상기 단말(100)로 전달되는 MMT 패킷을 캐시 통신부(410)를 통해 수신하고, 상기 MMT 패킷을 캐시 저장부(430)에 캐싱되는 과정을 지원할 수 있다. In addition, the cache control unit 420 receives the MMT packet transmitted from the content providing server 200 to the terminal 100 through the cache communication unit 410 in response to the request of the terminal 100, and the MMT packet A process of being cached in the cache storage unit 430 may be supported.

이때, 본 발명의 캐시 제어부(420)는 상기 MMT 패킷의 페이로드 헤더의 확장 헤더를 확인하여 확장 헤더에 캐싱 파라미터가 삽입되어 있을 경우, 삽입된 캐싱 파라미터에 따라 상기 MMT 패킷을 캐시 저장부(430)에 캐싱하도록 제어하며, 상기 MMT 패킷의 확장 헤더에 캐싱 파라미터가 삽입되어 있지 않을 경우, 해당 MMT 패킷을 바이패스 시킬 수도 있다. At this time, the cache control unit 420 of the present invention checks the extended header of the payload header of the MMT packet, and if a caching parameter is inserted in the extended header, the cache storage unit 430 stores the MMT packet according to the inserted caching parameter. ), and when a caching parameter is not inserted in the extension header of the MMT packet, the corresponding MMT packet may be bypassed.

캐시 저장부(430)는 상기 캐시 제어부(420)의 제어에 따라 상기 단말(100)로 전달되는 MMT 패킷을 저장할 수 있다. 여기서, MMT 패킷은 스트리밍 방식에 따라 순차적으로 단말(100)로 전달될 수 있으며, 캐시 저장부(430)는 상기 순차적으로 단말(100)로 전달되는 MMT 패킷을 상기 캐시 제어부(420)의 제어에 따라 일부 또는 전부를 저장할 수 있다. 이때의 MMT 패킷은 각 MMT 패킷을 구분하기 위한 일련번호를 포함하여 구성될 수 있다. The cache storage unit 430 may store the MMT packet transmitted to the terminal 100 under the control of the cache control unit 420. Here, the MMT packets may be sequentially delivered to the terminal 100 according to a streaming method, and the cache storage unit 430 transmits the MMT packets sequentially transmitted to the terminal 100 to the control of the cache controller 420. You can save some or all of them accordingly. The MMT packet at this time may be configured to include a serial number for distinguishing each MMT packet.

이상으로 본 발명의 실시 예에 따른 캐시 장치(400)의 주요 구성 및 동작 과정에 대해 설명하였다.The main configuration and operation process of the cache device 400 according to the embodiment of the present invention have been described above.

이하, 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)의 주요 구성 및 동작 방법에 대해 설명하도록 한다. Hereinafter, a main configuration and operation method of the content providing server 200 according to an embodiment of the present invention will be described.

도 4는 도 1에 도시된 본 발명의 실시 예에 따른 컨텐츠 제공 서버의 주요 구성을 도시한 블록도이다. FIG. 4 is a block diagram illustrating a main configuration of a content providing server according to an embodiment of the present invention shown in FIG. 1.

도 1 및 도 4를 참조하면, 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)는 서버 통신부(210), 서버 제어부(220) 및 서버 저장부(230)을 포함하여 구성될 수 있다. 1 and 4, the content providing server 200 according to an embodiment of the present invention may include a server communication unit 210, a server control unit 220, and a server storage unit 230.

서버 통신부(210)는 단말(100)과 정보의 송수신을 지원하는 역할을 수행한다. 예컨대, 서버 통신부(210)는 단말(100)로부터 MMT 패킷 요청을 수신할 수 있으며, 이에 대한 응답으로 단말(100)로 MMT 패킷을 전송할 수 있다. MMT 패킷은 스트리밍 형태로 상기 단말(100)로 전송될 수 있으며, 복수 개의 MMT 패킷이 하나의 애셋을 구성할 수 있다. 아울러, 상기 MMT 패킷은 MPU를 의미할 수 있으며, 서버 통신부(210)는 복수 개의 MMT 패킷을 스트리밍 방식에 따라 순차적으로 하나의 채널을 통해 단말(100)로 전달하는 과정을 지원할 수 있다. The server communication unit 210 serves to support transmission and reception of information with the terminal 100. For example, the server communication unit 210 may receive an MMT packet request from the terminal 100 and transmit an MMT packet to the terminal 100 in response thereto. The MMT packet may be transmitted to the terminal 100 in a streaming format, and a plurality of MMT packets may constitute one asset. In addition, the MMT packet may mean an MPU, and the server communication unit 210 may support a process of sequentially transmitting a plurality of MMT packets to the terminal 100 through one channel according to a streaming method.

서버 제어부(220)는 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)의 전반적인 제어를 수행하는 구성으로, 패킷 구성 모듈(221)을 포함하여 구성될 수 있다. The server controller 220 is a component that performs overall control of the content providing server 200 according to an embodiment of the present invention, and may include a packet configuration module 221.

여기서, 패킷 구성 모듈(221)은 MMT 패킷을 구성하는 역할을 수행할 수 있다. 예컨대, 별도의 외부 서버로부터 컨텐츠를 수신하는 경우, 수신되는 컨텐츠를 MMT 프로토콜을 지원하는 MMT 패킷 형태로 변환 처리하는 과정을 지원할 수 있다. 이때, 본 발명의 패킷 구성 모듈(221)은 MMT 패킷 변환 시, MPU의 블록 크기를 결정하고, 결정된 MPU의 블록 크기에 따라 각 MPU를 구성하여 MMT 패킷을 생성할 수 있다. 또한 각 MPU별로 재생 타임 정보를 삽입하여, 단말(100)이 이를 동기화하여 재생되도록 필요한 과정을 수행할 수 있다.Here, the packet configuration module 221 may serve to configure an MMT packet. For example, when content is received from a separate external server, a process of converting the received content into an MMT packet format supporting the MMT protocol may be supported. At this time, the packet construction module 221 of the present invention may determine the block size of the MPU when converting the MMT packet, and configure each MPU according to the determined block size of the MPU to generate the MMT packet. In addition, by inserting the playback time information for each MPU, the terminal 100 may perform a necessary process so that the synchronization is played back.

특히, 본 발명의 실시 예에 따른 패킷 구성 모듈(221)은 단말(100)로 전달되는 MMT 패킷이 캐시 장치(400)에 의해 캐싱되도록 해당 MMT 패킷을 구성하는 역할을 수행하게 된다. 다시 말해, 패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성하여, 상기 구성된 MMT 패킷을 캐시 장치(400)를 경유하여 단말(100)로 전송하되, 상기 패킷 구성 모듈(221)은 상기 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 삽입하여 MMT 패킷을 구성함으로써, 이를 확인한 캐시 장치(400)는 상기 MMT 패킷을 캐싱 처리하게 된다. 여기서, 상기 캐싱 파라미터는 캐시 제어 값, 캐시 상태, 캐시 유효 기간 중 캐싱 처리와 관련된 각종 파라미터를 의미하며, HTTP 프로토콜에서 정의된 캐싱 파라미터를 사용할 수 있다.In particular, the packet configuration module 221 according to an embodiment of the present invention plays a role of configuring a corresponding MMT packet so that the MMT packet transmitted to the terminal 100 is cached by the cache device 400. In other words, by configuring an MMT packet including a packet header, a payload header, and payload data, and transmitting the configured MMT packet to the terminal 100 via the cache device 400, the packet configuration module 221 A caching parameter is inserted into the extended header of the payload header to configure the MMT packet, and the cache device 400 having confirmed this configures the MMT packet to cache the MMT packet. Here, the caching parameter refers to various parameters related to caching processing during a cache control value, a cache state, and a cache valid period, and a caching parameter defined in the HTTP protocol may be used.

추가적으로 본 발명의 서버 제어부(220)는 MMT 패킷을 요청한 단말(100)에 대한 정보를 저장하고 관리할 수 있다. 이때, 어느 하나의 단말(100)이 MMT 패킷을 요청한 경우, 해당 단말(100)이 자신이 제공하는 MMT 패킷 서비스에 가입된 사용자인지 여부를 확인할 수 있으며, 자신이 제공하는 서비스에 가입된 사용자인 경우에만, 해당 단말(100)로 MMT 패킷을 제공하도록 제어할 수 있다. Additionally, the server controller 220 of the present invention may store and manage information on the terminal 100 requesting the MMT packet. At this time, when any one terminal 100 requests an MMT packet, it is possible to check whether the terminal 100 is a user subscribed to the MMT packet service provided by the terminal 100, and the user who has subscribed to the service provided by the terminal 100 Only in case, it is possible to control to provide an MMT packet to the corresponding terminal 100.

서버 저장부(230)는 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)의 동작 수행에 필요한 각종 정보를 저장하고 관리하는 역할을 수행할 수 있다. The server storage unit 230 may perform a role of storing and managing various types of information required to perform an operation of the content providing server 200 according to an embodiment of the present invention.

이상으로 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)의 주요 구성 및 동작 방법에 대해 설명하였다. The main configuration and operation method of the content providing server 200 according to an embodiment of the present invention have been described above.

본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다. In terms of hardware, the content providing server 200 according to an embodiment of the present invention has the same configuration as a conventional web server or network server. However, in terms of software, a program module implemented through a language such as C, C++, Java, Visual Basic, and Visual C is included.

한편, 본 발명의 각 장치에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.Meanwhile, a memory mounted in each device of the present invention stores information within the device. In one implementation, the memory is a computer-readable medium. In one implementation, the memory may be a volatile memory unit, and in another implementation, the memory may be a non-volatile memory unit. In one implementation, the storage device is a computer-readable medium. In various different implementations, the storage device may include, for example, a hard disk device, an optical disk device, or some other mass storage device.

아울러, 본 발명의 실시 예에서 사용되는 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.In addition, the term'~module' used in an embodiment of the present invention refers to a software component, and'~module' performs certain roles. As an example,'~module' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, and sub It includes routines, segments of program code, drivers, data, databases, data structures, tables, arrays, and variables. In addition, the components and functions provided in the'~modules' may be combined into a smaller number of components and'~modules' or further separated into additional components and'~modules'.

비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.Although the present specification and drawings describe exemplary device configurations, the functional operations and implementations of the subject described in this specification may be implemented with other types of digital electronic circuits, or the structures disclosed herein and structural equivalents thereof. It may be implemented with computer software, firmware, or hardware, or may be implemented by a combination of one or more of them. Implementations of the subject matter described in this specification are one or more computer program products, that is, one relating to computer program instructions encoded on a tangible program storage medium for execution by or for controlling the operation of a device according to the invention It can be implemented as the above module. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of materials that affect a machine-readable radio wave signal, or a combination of one or more of them.

이하, 본 발명의 실시 예에 따른 MMT 패킷 캐싱 처리 방법에 대해 설명하도록 한다. Hereinafter, a method of processing MMT packet caching according to an embodiment of the present invention will be described.

도 5 및 도 6은 본 발명의 실시 예에 따른 MMT 패킷 캐싱 처리 방법을 설명하기 위한 데이터 흐름도이다. 5 and 6 are data flow diagrams illustrating a method of caching MMT packets according to an embodiment of the present invention.

먼저, 도 5를 참조하면, 단말(100)은 컨텐츠 제공 서버(200)로 특정 MMT 패킷을 수신하기 위한 MMT 패킷 요청 메시지를 컨텐츠 제공 서버(200)로 전송한다(S101). 단말(100)과 컨텐츠 제공 서버(200) 간에 송수신되는 모든 패킷을 모니터링하는(S103)는 캐시 장치(400)는 MMT 패킷 요청 메시지가 컨텐츠 제공 서버(200)로 전달됨이 확인되면, 캐시 장치(400)는 자신이 해당 MMT 패킷을 캐싱하고 있는 지 여부를 확인하게 된다(S105). 상기 확인 결과, 캐시 장치(400)는 자신이 캐싱하고 있는 캐시 히트(hit) 상태인 것으로 판단되며, 자신이 캐싱하고 있던 MMT 패킷을 단말(100)로 제공하여(S107) 보다 신속한 컨텐츠 제공이 가능하게 된다. First, referring to FIG. 5, the terminal 100 transmits an MMT packet request message for receiving a specific MMT packet to the content providing server 200 to the content providing server 200 (S101). The cache device 400, which monitors all packets transmitted and received between the terminal 100 and the content providing server 200 (S103), when it is confirmed that the MMT packet request message is transmitted to the content providing server 200, the cache device 400 ) Checks whether it is caching the corresponding MMT packet (S105). As a result of the confirmation, the cache device 400 is determined to be in a cache hit state that it is caching, and provides the MMT packet that was cached to the terminal 100 (S107), enabling faster content provision. Is done.

아울러, 본 발명의 일 실시 예에서는 MMT 패킷을 예로 들어 설명하고 있으나, 이에 한정되는 것은 아니며 단말(100)은 일반적인 데이터 패킷에 캐시 장치(400)가 처리 가능한 MMT 패킷임을 나타내는 캐싱 헤더를 추가하여 캐시 장치(400)로 전달할 수도 있다. 이때, 상기 MMT 패킷 요청 메시지는 HTTP 프로토콜 방식의 HTTP GET/REQEUST 메시지가 될 수 있으며, 상기 MMT 패킷 전송 메시지는 HTTP REQPONSE 메시지가 될 수 있다. In addition, in an embodiment of the present invention, an MMT packet is described as an example, but the present invention is not limited thereto, and the terminal 100 caches a general data packet by adding a caching header indicating that the cache device 400 can process an MMT packet It can also be delivered to the device 400. In this case, the MMT packet request message may be an HTTP GET/REQEUST message of an HTTP protocol method, and the MMT packet transmission message may be an HTTP REQPONSE message.

반면, 상기 S105 단계에서 캐시 장치(400)는 단말(100)이 요청한 MMT 패킷을 캐싱하고 있지 않을 경우 A 단계를 수행한다. On the other hand, in step S105, if the cache device 400 does not cache the MMT packet requested by the terminal 100, step A is performed.

상기 A 단계에 대해 도 6을 참조하여 설명하도록 한다. The step A will be described with reference to FIG. 6.

도 6을 참조하면, 전술한 바와 같이 캐시 장치(400)는 단말(100)이 요청한 MMT 패킷을 캐싱하고 있지 않을 경우, 컨텐츠 제공 서버(200)로 해당 MMT 패킷을 요청한다(S201). 상기 MMT 패킷 요청 과정은 도 5의 S101 단계에서 단말(100)로부터 전달되는 MMT 패킷을 바이패스(bypass) 시킴으로써 이뤄질 수 있다. Referring to FIG. 6, as described above, when the cache device 400 does not cache the MMT packet requested by the terminal 100, it requests the corresponding MMT packet from the content providing server 200 (S201). The MMT packet request process may be performed by bypassing the MMT packet transmitted from the terminal 100 in step S101 of FIG. 5.

이후, 컨텐츠 제공 서버(200)는 상기 MMT 패킷 요청에 따라 해당 MMT 패킷을 단말(100)로 전달하기 위해 MMT 패킷을 구성한다(S203). 상기 MMT 패킷을 구성하는 과정은 캐시 장치(400)에서 캐싱 처리가 가능하도록 MMT 패킷에 캐싱 파라미터를 삽입하여 MMT 패킷을 생성하는 과정을 의미한다. 특히, 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)는 패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성 시, 상기 페이로드 헤더의 확장 헤더에 캐싱 파라미터를 삽입하여 MMT 패킷을 구성함으로써, 캐시 장치(400)가 상기 페이로드 헤더의 확장 헤더의 삽입된 캐싱 파라미터에 따라 해당 MMT 패킷을 캐싱할 수 있게 된다. Thereafter, the content providing server 200 configures an MMT packet to transmit the corresponding MMT packet to the terminal 100 according to the MMT packet request (S203). The process of configuring the MMT packet refers to a process of generating an MMT packet by inserting a caching parameter into the MMT packet so that the cache device 400 can perform caching. In particular, when configuring an MMT packet including a packet header, a payload header, and payload data, the content providing server 200 according to an embodiment of the present invention inserts a caching parameter into the extended header of the payload header to provide an MMT packet. By configuring, the cache device 400 can cache the corresponding MMT packet according to the inserted caching parameter of the extension header of the payload header.

이후, 본 발명의 컨텐츠 제공 서버(200)는 구성된 MMT 패킷을 단말(100)로 전송하게 된다(S205). 컨텐츠 제공 서버(200)와 단말(100) 간의 송수신되는 모든 패킷을 모니터링할 수 있는 캐시 장치(400)는 컨텐츠 제공 서버(200)로부터 MMT 패킷이 전송되면, 해당 MMT 패킷을 캐싱 파라미터에 따라 캐싱하게 되고(S207), 단말(100)로 전송될 수 있도록 지원하게 된다(S209).Thereafter, the content providing server 200 of the present invention transmits the configured MMT packet to the terminal 100 (S205). The cache device 400 capable of monitoring all packets transmitted/received between the content providing server 200 and the terminal 100, when the MMT packet is transmitted from the content providing server 200, caches the corresponding MMT packet according to the caching parameter. It is supported to be transmitted to the terminal 100 (S207) and to be transmitted to the terminal 100 (S209).

이하, 상술한 과정 수행을 위한 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)에서의 MMT 패킷 구성 방법에 대해 설명하도록 한다. Hereinafter, a method of configuring an MMT packet in the content providing server 200 according to an embodiment of the present invention for performing the above-described process will be described.

도 7은 본 발명의 실시 예에 따른 MMT 패킷 생성 방법을 설명하기 위한 흐름도이며, 도 8 내지 도 10은 본 발명의 실시 예에 따른 MMT 패킷 구조를 설명하기 위한 예시도이다.7 is a flowchart illustrating a method of generating an MMT packet according to an embodiment of the present invention, and FIGS. 8 to 10 are exemplary diagrams illustrating a structure of an MMT packet according to an embodiment of the present invention.

도 1 및 도 7을 참조하면, 본 발명의 실시 예에 따른 캐시 장치(400)가 콘텐츠 제공 서버(200)로부터 전달되는 MMT 패킷을 캐싱하기 위해서는 MMT 패킷에 캐싱 파라미터가 삽입되어 있어야 한다. 이를 위해 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)는 MMT 패킷에 캐싱 파라미터를 삽입하기 위해 MMT 페이로드 헤더의 확장 헤더를 이용하게 된다. Referring to FIGS. 1 and 7, in order for the cache device 400 according to an embodiment of the present invention to cache an MMT packet transmitted from the content providing server 200, a caching parameter must be inserted into the MMT packet. To this end, the content providing server 200 according to an embodiment of the present invention uses an extension header of an MMT payload header to insert a caching parameter into an MMT packet.

여기서, MMT 패킷의 구조에 대해 도 8 내지 도 10을 참조로 보다 구체적으로 설명하도록 한다. Here, the structure of the MMT packet will be described in more detail with reference to FIGS. 8 to 10.

도 8 내지 도 10은 본 발명의 실시 예에 따른 MMT 패킷 구조를 논리적으로 설명하기 위한 예시도로, 먼저, 도 8은 MMT 패키지(550)는 전술한 바와 같이 MMT 기능 영역에서 정의하는 데이터 모델 중 논리적으로 구조화된 가장 큰 MMT 개체(entity)로서 영화 한편과 같은 하나의 독립적인 콘텐츠를 의미한다. 스트리밍 데이터 서비스를 제공하는 컨텐츠 제공 서버(200)는 이러한 MMT 패키지를 생성하여 단말(100)로 제공할 수 있는데, MMT 패키지(550)는 도 1에 도시된 바와 같이 여러 개체들의 모음으로 구성되는 논리적으로 구조화된 컬렉션이 될 수 있다. 이러한 MMT 패키지(550)는 하나 이상의 애셋(560), 프리젠테이션 정보(551), 트랜스포트 특성(553) 및 설명적인(descriptive) 정보, 예컨대, 패키지 정보(501)를 포함할 수 있다. 8 to 10 are exemplary diagrams for logically explaining the structure of an MMT packet according to an embodiment of the present invention. First, FIG. 8 is a logical diagram of a data model defined in an MMT functional area as described above. As the largest MMT entity structured as, it means one independent content such as a movie. The content providing server 200 providing the streaming data service may generate such an MMT package and provide it to the terminal 100. As shown in FIG. 1, the MMT package 550 consists of a collection of several entities. It can be a structured collection. The MMT package 550 may include one or more assets 560, presentation information 551, transport characteristics 553, and descriptive information, such as package information 501.

이 중, 프리젠테이션 정보(Presentation Information, 551)은 복수의 애셋(560)들 사이의 관계(relationship), 즉 공간적 및 시간적 관계에 대한 정보를 포함하며, 하나의 컨텐츠(content)가 복수개의 MMT 패키지로 이루어질 경우 복수의 MMT 패키지간의 관계(relationship)를 나타내기 위한 정보를 더 포함할 수 있다. 이러한 프리젠테이션 정보(551)는 하이퍼텍스트 마크업 언어(HTML)와 구성 정보(Composition Information) 도큐먼트들의 조합이 프리젠테이션 정보(551)의 예라 할 수 있다. Among them, the presentation information 551 includes information on a relationship between a plurality of assets 560, that is, a spatial and temporal relationship, and one content is a plurality of MMT packages In case of consisting of, information for indicating a relationship between a plurality of MMT packages may be further included. The presentation information 551 may be a combination of a hypertext markup language (HTML) and a composition information document as an example of the presentation information 551.

트랜스포트 특성(ADC; Asset Delivery Characteristics, 553)은 애셋(560)의 전달을 위한 QoS(Quality of Service) 요구 및 통계를 나타낸다. 복수의 애셋(560)은 하나의 트랜스포트 특성(553)에 관련될 수 있다. 이때의 트랜스포트 특성(전송 특성)(553)은 애셋(560)의 효과적인 전달을 위해 패키지를 캡슐화하는 개체에 의해 MMT 페이로드 및 MMT 프로토콜의 파라미터를 설정하는데 사용될 수 있다. 또한 트랜스포트 특성(553)은 MMT 애셋(560) 또는 MMT 패킷의 전달 조건(delivery condition)을 결정하기 위해 필요한 전달 특성 정보를 포함할 수 있으며, 예를 들어 트래픽 기술 파라미터(traffic description parameter) 및 QoS 기술자(QoS descriptor)를 포함할 수 있다. 이러한 전달 특성 정보는 통신망 환경에 무관한 파라미터 형태로 표현될 수 있다.A transport characteristic (ADC; Asset Delivery Characteristics, 553) represents a QoS (Quality of Service) request and statistics for the delivery of the asset 560. A plurality of assets 560 may be related to one transport characteristic 553. At this time, the transport characteristics (transmission characteristics) 553 may be used to set parameters of the MMT payload and MMT protocol by the entity encapsulating the package for effective delivery of the asset 560. In addition, the transport characteristic 553 may include delivery characteristic information necessary to determine the delivery condition of the MMT asset 560 or the MMT packet, for example, a traffic description parameter and QoS. May include a QoS descriptor. This transmission characteristic information may be expressed in the form of a parameter independent of the communication network environment.

애셋(560)은 타임드 또는 넌 타임드 성질을 가진 오디오, 비디오 또는 웹페이지 데이터와 같은 부호화된 미디어 데이터를 캡슐화하는 패키지의 요소를 의미하는 것으로 가장 큰 논리적 데이터 단위를 의미한다. 이러한 애셋(560)은 동일한 전달 특성으로 데이터를 포함하는 데이터 개체를 의미한다. 예컨대, MMT 패키지(550)는 MMT 기능 영역에서 정의하는 데이터 모델 중 가장 큰 개체(entity)로서 영화 한편과 같은 하나의 독립적인 콘텐츠를 의미한다면, 애셋(560)은 오디오 데이터, 비디오 데이터, 스크립트 데이터와 같은 MMT 패키지(550)를 구성하는 데이터 단위를 의미한다. 이러한 애셋(560)은 동일한 애셋 ID를 공유하는 MPU들을 논리적으로 그룹화하게 된다. The asset 560 refers to an element of a package that encapsulates encoded media data such as audio, video, or web page data having a timed or non-timed property, and means the largest logical data unit. Such an asset 560 refers to a data entity that includes data with the same transmission characteristics. For example, if the MMT package 550 is the largest entity among the data models defined in the MMT functional area and means one independent content such as a movie, the asset 560 is audio data, video data, and script data. Refers to a data unit constituting the MMT package 550, such as. This asset 560 logically groups MPUs that share the same asset ID.

아울러, 본 발명의 MMT 패킷은 실질적으로는 MMT 패킷 헤더와 MMT 페이로드를 포함하여 구성될 수 있다. In addition, the MMT packet of the present invention may substantially include an MMT packet header and an MMT payload.

이에 대해 도 9를 참조하여 설명하면, MMT 패킷은 전술한 바와 같이 MMT 패킷 헤더, MMT 페이로드(570)로 구성되며, MMT 페이로드(570)는 MMT 페이로드 헤더(571) 및 MMT 페이로드 데이터(572)로 구성될 수 있다. Referring to FIG. 9, the MMT packet is composed of an MMT packet header and an MMT payload 570, as described above, and the MMT payload 570 includes an MMT payload header 571 and MMT payload data. It can be composed of (572).

여기서, 상기 MMT 페이로드 헤더(571) 및 MMT 페이로드 데이터(572)를 포함하는 MMT 페이로드(570)은 MMT 패키지의 논리적인 구조인 애셋(560)을 구성하는 미디어 프로세싱 유닛(MPU; Media Processing Unit, 이하 MPU로 지칭하도록 함)으로 표현될 수 있다. 여기서, MPU는 어떠한 특정 미디어 코덱에도 독립된, 타임드 또는 넌 타임드 데이터에 대한 포괄적인 컨테이너일 수 있다. 이러한 MPU는 완전하고 독립적으로 처리될 수 있는 부호화된 미디어 데이터로, MPU의 프로세싱은 패키지로의 인캡슐레이션 또는 전달을 위한 패킷화를 의미할 수 있다. 이러한, MPU는 타임드 데이터를 위한 하나 이상의 액세스 유닛들을 포함할 수 있다. 여기서 액세스 유닛(AU; Access Unit)은 시간 정보를 가질 수 있는 가장 작은 데이터 개체이다. 또한 MPU는 넌 타임드 데이터를 위한 액세스 유닛 경계들이 없는 데이터의 부분을 포함하여 구성될 수 있다. 이러한 MPU는 완전하고 독립적으로 처리될 수 있는 코드된 미디어 데이터 유닛으로, 이러한 MPU로 표현될 수 있는 MMT 페이로드(570)는 MMT 페이로드 헤더(571)와 코드된 MMT 페이로드 데이터(572)로 구성되며, 상기 MMT 페이로드 데이터(572)는 복수 개의 MFU(580)으로 구성될 수 있다. 여기서 상기 MFU(580)은 복수의 미디어 프래그먼트 유닛(MFU; Media Fragment Unit, 이하 MFU로 지칭하도록 함)으로 더 구성될 수 있으며, MFU(570)은 MFU 헤더(581) 및 MFU 데이터(582)로 구성될 수 있다. Here, the MMT payload 570 including the MMT payload header 571 and MMT payload data 572 is a media processing unit (MPU; Media Processing) constituting the asset 560 which is a logical structure of the MMT package. Unit, hereinafter referred to as MPU) may be expressed. Here, the MPU may be a comprehensive container for timed or non-timed data independent of any specific media codec. This MPU is encoded media data that can be completely and independently processed, and processing of the MPU may mean encapsulation to a package or packetization for delivery. Such an MPU may include one or more access units for timed data. Here, the access unit (AU) is the smallest data entity that can have time information. Further, the MPU may be configured to include a portion of data without access unit boundaries for non-timed data. This MPU is a coded media data unit that can be completely and independently processed, and the MMT payload 570 that can be expressed as such an MPU is a MMT payload header 571 and coded MMT payload data 572. Configuration, and the MMT payload data 572 may be composed of a plurality of MFU (580). Here, the MFU 580 may be further composed of a plurality of media fragment units (MFU; Media Fragment Unit, hereinafter referred to as MFU), and the MFU 570 is an MFU header 581 and MFU data 582 Can be configured.

아울러, 본 발명의 MMT 페이로드(570)에 대해 도 10을 참조하여 보다 구체적으로 설명하면, MMT 페이로드 헤더(571)는 도 10a에 도시된 바와 같이, 확장 헤더(header_extension, 601) 필드를 포함하고 있다. 확장 헤더 필드는 사용자 정의 정보(user-defined information)을 포함한다. 헤더 확장 메커니즘은 페이로드 포맷에 대한 proprietary 확장들을 위해, 페이로드 포맷 헤더에서 운반되는 추가 정보를 요구하는 어플리케이션들 및 미디어 타입들을 가능하게 한다. 헤더 확장 메커니즘은 MMT 패키지의 정확한 프로세싱에 영향을 미치지 않으면서 폐기될 수 있는 방식으로 디자인된다. 확장 헤더 필드에 포함되는 확장 헤더는 도 10b에 도시된 바와 같은 구조를 포함할 수 있다. 여기서, 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)는 도 10b에 도시된 확장 헤더(601)필드 중 확장 헤더 값(header_extenstion_value, 603)에 캐싱을 위한 캐싱 파라미터를 삽입하여 MMT 패킷을 구성하게 된다. In addition, when the MMT payload 570 of the present invention is described in more detail with reference to FIG. 10, the MMT payload header 571 includes an extension header (header_extension, 601) field, as shown in FIG. 10A. Are doing. The extended header field includes user-defined information. The header extension mechanism enables applications and media types that require additional information carried in the payload format header, for proprietary extensions to the payload format. The header extension mechanism is designed in such a way that it can be discarded without affecting the correct processing of the MMT package. The extended header included in the extended header field may have a structure as shown in FIG. 10B. Here, the content providing server 200 according to an embodiment of the present invention configures an MMT packet by inserting a caching parameter for caching into an extended header value (header_extenstion_value, 603) among the extended header 601 field shown in FIG. 10B. do.

본 발명의 확장 헤더 값(603)에 삽입되는 캐싱 파라미터의 구체적인 예시가 도 10c에 도시되어 있으며, 캐시 제어 값(control), 캐시 상태(cache able), 캐시 유효 기간(cache expiry time)을 비롯하여 최근 수정 시간 등 다양한 캐시 파라미터를 포함할 수 있다. A specific example of the caching parameter inserted into the extended header value 603 of the present invention is shown in FIG. 10C, and includes recent cache control values (control), cache able, and cache expiry time. Various cache parameters, such as modification time, can be included.

다시 도 7을 참조하면, 이와 같은 구조의 MMT 패킷에서, 본 발명의 실시 예에 따른 MMT 패킷 캐싱 처리를 위해, 전술한 바와 같이 컨텐츠 제공 서버(200)는 확장 헤더에 캐싱 파라미터를 삽입하여 MMT 패킷을 구성한 후(S305 ~ S307), 구성된 MMT 패킷을 단말(100)로 전송하고(S307), 이를 모니터링하고 있는 캐시 장치(400)가 상기 MMT 패킷의 MMT 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 삽입되어 있을 경우, MMT 페이로드 데이터에 삽입된 캐싱 파라미터에 따라 해당 MMT 패킷을 캐싱하게 된다. Referring back to FIG. 7, in an MMT packet having such a structure, for the MMT packet caching process according to an embodiment of the present invention, as described above, the content providing server 200 inserts a caching parameter into an extended header to provide an MMT packet. After configuring (S305 to S307), the configured MMT packet is transmitted to the terminal 100 (S307), and the cache device 400 monitoring this transmits the configured MMT packet to the extended header of the MMT payload header of the MMT packet. If so, the MMT packet is cached according to the caching parameter inserted into the MMT payload data.

이와 같이 MMT 패킷이 구성됨에 따라, CDN 서비스를 제공하는 캐시 장치는 MMT 패킷에 삽입된 캐싱 파라미터에 따라 해당 MMT 패킷을 캐싱하여 단말로 제공함으로써, MMT 패킷에 대한 보다 신속한 컨텐츠 제공이 가능할 수 있으며, 본 발명의 컨텐츠 제공 서버는 MMT 페이로드 헤더의 타입 필드에 캐싱 처리를 위한 지정된 식별자를 삽입하고, MMT 페이로드 데이터에 캐싱을 위한 캐싱 파라미터를 삽입하여 MMT 패킷을 구성함으로써, 별다른 MMT 패킷의 설계 변경 없이 보다 용이하게 MMT 패킷을 캐시 장치에서 캐싱 처리하도록 지원할 수 있게 된다. As the MMT packet is configured in this way, the cache device providing the CDN service caches the MMT packet according to the caching parameter inserted in the MMT packet and provides it to the terminal, thereby enabling faster content provision for the MMT packet. The content providing server of the present invention configures an MMT packet by inserting a designated identifier for caching processing into the type field of the MMT payload header and inserting a caching parameter for caching into the MMT payload data, thereby changing the design of a different MMT packet. Without, it is possible to support the MMT packet caching process in a cache device more easily.

이상으로 본 발명의 실시 예에 따른 MMT 패킷 캐싱 처리 방법 및 캐싱 처리를 위한 MMT 패킷 생성 방법에 대해 설명하였다. In the above, a method for caching an MMT packet and a method for generating an MMT packet for caching according to an embodiment of the present invention have been described.

상술한 바와 같은 본 발명의 MMT 패킷 캐싱 처리 방법 및 캐싱 처리를 위한 MMT 패킷 생성 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 본 발명의 일 실시 예에 따른 MMT 패킷 캐싱 처리 방법 및 캐싱 처리를 위한 MMT 패킷 생성 방법을 구현하기 위한 기록매체에 기록되는 프로그램은 컨텐츠 제공 서버로부터 단말로 전달되는 MMT 패킷이 수신되면, 상기 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 삽입되어 있는 지 확인하는 단계 및 상기 확인하는 단계에서, 상기 확장 헤더에 캐싱 파라미터가 삽입되어 있을 경우, 상기 캐싱 파라미터에 따라 상기 MMT 패킷을 캐싱하는 단계 등을 실행할 수 있으며, 패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성하는 단계 및 상기 구성된 MMT 패킷을 캐시 장치를 경유하여 단말로 전송하는 단계를 포함하여, 상기 페이로드 헤더의 확장 헤더에 캐싱을 위한 캐싱 파라미터를 포함하는 과정 등을 실행할 수 있다. The MMT packet caching processing method and the MMT packet generation method for caching according to the present invention as described above may be provided in the form of a computer-readable medium suitable for storing computer program instructions and data. A program recorded in a recording medium for implementing an MMT packet caching processing method and an MMT packet generating method for caching according to an embodiment of the present invention is, when an MMT packet transmitted from a content providing server to a terminal is received, the MMT packet Checking whether a caching parameter is inserted in the extension header of the payload header of and in the checking step, when the caching parameter is inserted in the extension header, caching the MMT packet according to the caching parameter, etc. And configuring an MMT packet including a packet header, a payload header, and payload data, and transmitting the configured MMT packet to a terminal via a cache device, and extending the payload header. A process of including caching parameters for caching in the header can be performed.

이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. Such computer-readable media suitable for storing computer program commands and data include, for example, magnetic media such as hard disks, floppy disks, and magnetic tapes, and compact disk read only memory (CD-ROM). , Optical Media such as DVD (Digital Video Disk), Magneto-Optical Media such as Floptical Disk, and ROM (Read Only Memory), RAM (RAM) , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), and EEPROM (Electrically Erasable Programmable ROM). The processor and memory can be supplemented by special purpose logic circuits or incorporated into it.

또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.In addition, the computer-readable recording medium is distributed over a computer system connected through a network, so that computer-readable codes can be stored and executed in a distributed manner. In addition, a functional program for implementing the present invention, and related codes and code segments, etc., are programmers in the technical field to which the present invention pertains in consideration of the system environment of a computer that reads the recording medium and executes the program. May be easily inferred or modified by

아울러, 상술한 바와 같은 컴퓨터가 읽을 수 있는 기록매체에 기록된 컴퓨터 프로그램은 상술한 바와 같은 기능을 수행하는 명령어를 포함하며 기록매체를 통해 배포되고 유통되어 특정 장치, 특정 컴퓨터에 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다. In addition, the computer program recorded in the computer-readable recording medium as described above includes instructions for performing the functions as described above, and is distributed and distributed through the recording medium to be read, installed and executed on a specific device or a specific computer. As a result, the above-described functions can be executed.

여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 컴퓨터 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 프로그램 명령어에 대한 코드(Code)를 포함할 수 있다. Here, in order for the computer to read the program recorded on the recording medium and execute the functions implemented as the program, the above-described computer program is a C, C++ program that can be read by the computer's processor (CPU) through the computer's device interface. , JAVA, machine language, etc. may include a code for a program instruction coded in a computer language.

이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.This code may include a functional code related to a function defining the above-described functions, and may include a control code related to an execution procedure necessary for the processor of the computer to execute the above-described functions according to a predetermined procedure. In addition, these codes may further include additional information necessary for the processor of the computer to execute the above-described functions, or code related to a memory reference to which location (address address) of the internal or external memory of the computer should be referenced. . In addition, when the computer's processor needs to communicate with any other computer or server in a remote in order to execute the above-described functions, the code is used by the computer's processor using the computer's communication module. It may further include a communication-related code for how to communicate with other computers or servers, and what information or media should be transmitted and received during communication.

본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.While this specification includes details of a number of specific implementations, these should not be construed as limiting to the scope of any invention or claim, but rather as a description of features that may be peculiar to a particular embodiment of a particular invention. It must be understood. Certain features described herein in the context of separate embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments individually or in any suitable sub-combination. Furthermore, although features operate in a particular combination and may be initially described as so claimed, one or more features from a claimed combination may in some cases be excluded from the combination, and the claimed combination may be a subcombination. Or sub-combination variations.

마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.Likewise, although operations are depicted in the drawings in a specific order, it should not be understood that such operations must be performed in that particular order or sequential order shown, or that all illustrated operations must be performed in order to obtain a desired result. In certain cases, multitasking and parallel processing can be advantageous. In addition, separation of the various system components of the above-described embodiments should not be understood as requiring such separation in all embodiments, and the program components and systems described are generally integrated together into a single software product or packaged in multiple software products. You should understand that you can.

본 발명은 MMT(MPEG Media Transport)에 관한 것으로, 더욱 상세하게는 캐시 장치가 MMT 패킷을 캐싱하여 처리할 수 있도록 컨텐츠 제공 서버가 MMT 패킷의 페이로드 헤더의 확장 헤더를 이용하여 캐싱 파라미터를 삽입하여 MMT 패킷을 구성할 수 있는 MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치에 관한 것이다. The present invention relates to MPEG Media Transport (MMT), and more particularly, a content providing server inserts a caching parameter using an extension header of a payload header of an MMT packet so that a cache device can cache and process an MMT packet. A method for caching an MMT packet capable of configuring an MMT packet and an apparatus therefor, a method for generating an MMT packet for caching processing, and an apparatus therefor.

본 발명에 의하면, CDN 서비스를 제공하는 캐시 장치는 MMT 패킷에 정의된 캐싱 파라미터에 따라 해당 MMT 패킷을 캐싱하여 단말로 제공함으로써, MMT 패킷에 대한 보다 신속한 컨텐츠 제공이 가능하게 되며, 이를 통해 CDN 서비스 산업의 발전에 이바지할 수 있다. According to the present invention, a cache device providing a CDN service caches a corresponding MMT packet according to a caching parameter defined in an MMT packet and provides it to a terminal, thereby enabling faster content provision for an MMT packet, through which CDN service It can contribute to the development of the industry.

더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.In addition, the present invention is not only sufficiently commercially available or commercially possible, but also has industrial applicability because it can be implemented clearly in reality.

100: 단말 110: 통신부
120: 입력부 130: 제어부
140: 저장부 150: 출력부
200: 컨텐츠 제공 서버 210: 서버 통신부
220: 서버 제어부 221: 패킷 구성 모듈
230: 서버 저장부 300: 네트워크
310: 인터넷망 320: 코어망
330: 접속망 400: 캐시 장치
410: 캐시 통신부 420: 캐시 제어부
430: 캐시 저장부 1000: MMT 캐싱 시스템
100: terminal 110: communication unit
120: input unit 130: control unit
140: storage unit 150: output unit
200: content providing server 210: server communication unit
220: server control unit 221: packet configuration module
230: server storage unit 300: network
310: Internet network 320: Core network
330: access network 400: cache device
410: cache communication unit 420: cache control unit
430: cache storage unit 1000: MMT caching system

Claims (10)

캐시 장치에 의한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 캐싱 처리 방법에 있어서,
상기 캐시 장치가
컨텐츠 제공 서버로부터 단말로 전달되는 MMT 패킷이 수신되면, 상기 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐시 제어 값, 캐시 상태, 캐시 유효 기간 중 적어도 하나 이상의 캐싱 파라미터가 삽입되어 있는 지 확인하는 단계; 및
상기 확인하는 단계에서, 상기 확장 헤더에 캐싱 파라미터가 삽입되어 있을 경우, 상기 캐싱 파라미터에 따라 상기 MMT 패킷을 캐싱하는 단계;
를 포함하는 것을 특징으로 하는 MMT 패킷 캐싱 처리 방법.
In the MPEG Media Transport (MMT) packet caching processing method by a cache device,
The cache device
Checking whether at least one of a cache control value, a cache state, and a cache valid period is inserted into an extension header of a payload header of the MMT packet when an MMT packet transmitted from the content providing server to the terminal is received; And
In the step of checking, if a caching parameter is inserted in the extended header, caching the MMT packet according to the caching parameter;
MMT packet caching processing method comprising a.
제1항에 있어서,
상기 캐싱하는 단계 이후에,
어느 하나의 다른 단말로부터 특정 MMT 패킷 요청을 수신하는 단계;
상기 다른 단말이 요청한 MMT 패킷을 캐싱하고 있는 지 여부를 판단하는 단계; 및
상기 MMT 패킷을 캐싱하고 있을 경우, 상기 캐싱하고 있는 MMT 패킷을 상기 다른 단말로 전송하는 단계;
를 포함하는 것을 특징으로 하는 MMT 패킷 캐싱 처리 방법.
The method of claim 1,
After the caching step,
Receiving a specific MMT packet request from any one other terminal;
Determining whether the MMT packet requested by the other terminal is being cached; And
If the MMT packet is being cached, transmitting the cached MMT packet to the other terminal;
MMT packet caching processing method comprising a.
제1항에 있어서,
상기 확인하는 단계에서, 상기 캐싱 파라미터가 삽입되어 있지 않을 경우, 상기 MMT 패킷을 바이패스 시키는 단계;
를 더 포함하는 것을 특징으로 하는 MMT 패킷 캐싱 처리 방법.
The method of claim 1,
In the step of checking, if the caching parameter is not inserted, bypassing the MMT packet;
MMT packet caching processing method comprising a further.
제1항에 있어서,
상기 확인하는 단계는
상기 확장 헤더의 확장 헤더 값에 캐싱 파라미터가 삽입되어 있는 지 확인하는 것을 특징으로 하는 MMT 패킷 캐싱 처리 방법.
The method of claim 1,
The step of confirming
MMT packet caching processing method, characterized in that checking whether a caching parameter is inserted in the extended header value of the extended header.
컨텐츠 제공 서버가 캐싱 처리를 위한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 생성 방법에 있어서,
패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성하는 단계; 및
상기 구성된 MMT 패킷을 캐시 장치를 경유하여 단말로 전송하는 단계;
를 포함하며,
상기 페이로드 헤더의 확장 헤더에 캐싱을 위한 캐시 제어 값, 캐시 상태, 캐시 유효 기간 중 적어도 하나 이상의 캐싱 파라미터를 포함하는 것을 특징으로 하는 캐싱 처리를 위한 MMT 패킷 생성 방법.
In a method for generating an MPEG Media Transport (MMT) packet for a caching process by a content providing server,
Configuring an MMT packet including a packet header, a payload header, and payload data; And
Transmitting the configured MMT packet to a terminal via a cache device;
Including,
A method of generating an MMT packet for caching processing, comprising at least one caching parameter of a cache control value for caching, a cache state, and a cache valid period in the extended header of the payload header.
삭제delete 제1항 내지 제5항 중 어느 하나의 항에 기재된 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium on which a program for executing the method according to any one of claims 1 to 5 is recorded. 제1항 내지 제5항 중 어느 하나의 항에 기재된 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program implemented to execute the method according to any one of claims 1 to 5 and stored in a computer-readable recording medium. MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 캐싱 처리를 위한 장치에 있어서,
컨텐츠 제공 서버로부터 단말로 전달되는 MMT 패킷을 모니터링하여 캐시 제어부로 전달하는 캐시 통신부;
상기 캐시 통신부를 통해 상기 MMT 패킷이 전달되면, 상기 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐시 제어 값, 캐시 상태, 캐시 유효 기간 중 적어도 하나 이상의 캐싱 파라미터가 삽입되어 있을 경우, 상기 캐싱 파라미터에 따라 상기 MMT 패킷을 캐시 저장부에 캐싱하도록 제어하는 캐시 제어부; 및
상기 캐시 제어부의 제어에 따라 상기 MMT 패킷을 캐싱하는 캐시 저장부;
를 포함하는 것을 특징으로 하는 MMT 패킷 캐싱 처리를 위한 장치.
An apparatus for caching an MPEG media transport (MMT) packet, comprising:
A cache communication unit for monitoring MMT packets transmitted from the content providing server to the terminal and transmitting them to the cache control unit;
When the MMT packet is transmitted through the cache communication unit, when at least one of a cache control value, a cache state, and a cache valid period is inserted in an extension header of the payload header of the MMT packet, according to the caching parameter A cache control unit controlling the MMT packet to be cached in a cache storage unit; And
A cache storage unit for caching the MMT packet under the control of the cache control unit;
An apparatus for processing MMT packet caching, comprising: a.
캐싱 처리를 위한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 생성을 위한 장치에 있어서,
패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성하는 서버 제어부; 및
상기 구성된 MMT 패킷을 캐시 장치를 경유하여 단말로 전송하는 서버 통신부;
를 포함하며,
상기 서버 제어부는 상기 페이로드 헤더의 확장 헤더에 캐시 제어 값, 캐시 상태, 캐시 유효 기간 중 적어도 하나 이상의 캐싱 파라미터가 포함되도록 상기 MMT 패킷을 구성하는 것을 특징으로 하는 MMT 패킷 생성을 위한 장치.
In the apparatus for generating an MPEG Media Transport (MMT) packet for caching processing,
A server control unit configuring an MMT packet including a packet header, a payload header, and payload data; And
A server communication unit for transmitting the configured MMT packet to a terminal via a cache device;
Including,
Wherein the server controller configures the MMT packet to include at least one caching parameter of a cache control value, a cache state, and a cache valid period in an extension header of the payload header.
KR1020150081470A 2015-06-09 2015-06-09 Method for caching processing of mmt packet and apparatus for the same, mthod for generating of mmt packet and apparatus for the same KR102209784B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150081470A KR102209784B1 (en) 2015-06-09 2015-06-09 Method for caching processing of mmt packet and apparatus for the same, mthod for generating of mmt packet and apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150081470A KR102209784B1 (en) 2015-06-09 2015-06-09 Method for caching processing of mmt packet and apparatus for the same, mthod for generating of mmt packet and apparatus for the same

Publications (2)

Publication Number Publication Date
KR20160144812A KR20160144812A (en) 2016-12-19
KR102209784B1 true KR102209784B1 (en) 2021-01-28

Family

ID=57735261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150081470A KR102209784B1 (en) 2015-06-09 2015-06-09 Method for caching processing of mmt packet and apparatus for the same, mthod for generating of mmt packet and apparatus for the same

Country Status (1)

Country Link
KR (1) KR102209784B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101885144B1 (en) * 2016-12-29 2018-08-03 한국과학기술원 Hybrid Content Caching Method and System

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120209942A1 (en) * 2008-10-28 2012-08-16 Cotendo, Inc. System combining a cdn reverse proxy and an edge forward proxy with secure connections
KR101176199B1 (en) 2010-02-10 2012-08-23 김학호 The coldness and warmth water purifier which has a tax administration function
KR20130119885A (en) * 2012-04-24 2013-11-01 한국전자통신연구원 Methods of transporting mmt packet for in-network adaptation of layered video
JP2015523816A (en) * 2012-07-13 2015-08-13 華為技術有限公司Huawei Technologies Co.,Ltd. Content encryption and rights management signaling and handling in content transfer and distribution
KR101981285B1 (en) * 2012-08-10 2019-05-22 에스케이텔레콤 주식회사 Contents delivery service system using contents identification, apparatus therefor and contents delivery service method thereof
KR20140021372A (en) * 2012-08-10 2014-02-20 에스케이텔레콤 주식회사 Contents delivery service method and local cache apparatus using contents identification
US20150032845A1 (en) * 2013-07-26 2015-01-29 Samsung Electronics Co., Ltd. Packet transmission protocol supporting downloading and streaming

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A case for caching middleboxes for scalable MMT video delivery(Sangwook Bae et al, IEEE, 2015.07.30.)

Also Published As

Publication number Publication date
KR20160144812A (en) 2016-12-19

Similar Documents

Publication Publication Date Title
KR102072344B1 (en) Method for providing of adaptive streaming service and apparatus therefor
US11228801B2 (en) Method and apparatus for providing multi-view streaming service
US8817983B2 (en) Streaming video to cellular phones
US10419798B2 (en) Method and apparatus for just-in-time transcoding
JP2018514967A (en) Display for partial segments
US10560501B2 (en) Method and apparatus for cloud streaming service
KR102050735B1 (en) Proxy server for cloud streaming service, cloud streaming system and method using the same
JP2018514108A (en) Display for partial segments
JP6619017B2 (en) Display for partial segments
KR102209784B1 (en) Method for caching processing of mmt packet and apparatus for the same, mthod for generating of mmt packet and apparatus for the same
US10291943B2 (en) Node interworking with base station and method for providing streaming data through the node
KR102209785B1 (en) Method for caching processing of mmt packet and apparatus for the same, mthod for generating of mmt packet and apparatus for the same
KR102281217B1 (en) Method for encoding and decoding, and apparatus for the same
KR102310070B1 (en) Method for caching of application for cloud streaming service and apparatus using the same
KR102169717B1 (en) Method for caching of contents and cache apparatus therefor
KR102209782B1 (en) Method for providing of streamming service and apparatus for the same
KR20160097957A (en) Cloud computing system using cache and method using the same
KR102193481B1 (en) Proxy server, method of reconfigurating of web page using the same
US20140068006A1 (en) Method, apparatus and system for providing content
US20160269458A1 (en) Multi-Service Initialization For Adaptive Media Streaming
KR102174360B1 (en) Method for providing of streamming service and apparatus for the same
KR102228762B1 (en) Method for providing of contents withd content centrci networking and apparatus therefor
KR102123414B1 (en) Method for providing of contents, node control server for the same
KR102050736B1 (en) Cloud streaming system and apparatus for caching date in the system
KR102147053B1 (en) Method for API of CDN service and apparatus therefor

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