KR20160144812A - 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
KR20160144812A
KR20160144812A KR1020150081470A KR20150081470A KR20160144812A KR 20160144812 A KR20160144812 A KR 20160144812A KR 1020150081470 A KR1020150081470 A KR 1020150081470A KR 20150081470 A KR20150081470 A KR 20150081470A KR 20160144812 A KR20160144812 A KR 20160144812A
Authority
KR
South Korea
Prior art keywords
mmt packet
caching
mmt
cache
packet
Prior art date
Application number
KR1020150081470A
Other languages
Korean (ko)
Other versions
KR102209784B1 (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

The present invention relates to MPEG media transport (MMT), and more specifically, to a method for processing caching of an MMT packet and an apparatus therefor, and a method for generating the MMT packet for processing the caching and an apparatus therefor, capable of configuring the MMT packet by inserting a caching parameter using an extended header of a payload header of the MMT packet by a content providing server, such that a cache apparatus is able to cache and process the MMT packet. To this end, according to one embodiment of the present invention, the method for processing the caching of the MMT packet, in which the method is performed by the cache apparatus, includes the steps of: checking whether a caching parameter is inserted into an extended header of a payload header of the MMT packet when the cache apparatus receives the MMT packet transmitted from a content providing server to a terminal; and caching the MMT packet according to the caching parameter when the caching parameter is inserted into the extended header in the checking step.

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}[0001] The present invention relates to an MMT packet caching method and apparatus therefor, a method for generating an MMT packet for caching processing, and a device for the MMT packet caching processing method.

본 발명은 MMT(MPEG Media Transport)에 관한 것으로, 더욱 상세하게는 캐시 장치가 MMT 패킷을 캐싱하여 처리할 수 있도록 컨텐츠 제공 서버가 MMT 패킷의 페이로드 헤더의 확장 헤더를 이용하여 캐싱 파라미터를 삽입하여 MMT 패킷을 구성할 수 있는 MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치에 관한 것이다. The present invention relates to an MMT (MPEG Media Transport), 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 apparatus can cache and process an MMT packet An MMT packet caching method and apparatus for configuring an MMT packet, an MMT packet generation method for caching processing, and an apparatus therefor.

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

최근, 스마트폰(smart phone)과 같은 단말의 성능 향상 및 이동통신 기술의 발달에 따라 사용자는 언제 어디서나 단말을 통해 컨텐츠 제공자(CP; Contents Provider)가 제공하는 웹 서버에 접속해 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 이용할 수 있게 되었다. 2. Description of the Related Art [0002] Recently, according to the improvement of performance of a terminal such as a smart phone and development of a mobile communication technology, a user can access a web server provided by a contents provider (CP) , Applications, and so on.

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

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

CDN 서비스란 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 단말로 안정적으로 전달하기 위한 서비스로, 단말로부터 멀리 떨어져 있는 컨텐츠 제공자의 웹 서버에 집중되어 있는 용량이 크거나 사용자의 요구가 빈번한 컨텐츠를 다수의 ISP(Internet Service Provider) 상호 접속점(PoP: Point of Presence)에 분산 배치된 캐시 장치, 특히 단말 인근에 분산 배치된 캐시 장치에 미리 일부 또는 전부를 복사하여 저장한 다음, 사용자의 요구가 있을 경우, 해당 사용자와 가장 근접한 곳에 위치한 캐시 장치의 경로를 반환함으로써, 단말이 그 반환된 경로를 통해 해당 캐시 장치에 접속한 후, 컨텐츠를 제공받을 수 있도록 한 서비스를 의미한다. The CDN service is a service for transferring various kinds of contents such as photographs, movies, music videos, etc. to the terminal stably. The CDN service is a service which is concentrated on a web server of a content provider remote from the terminal, Is partially or entirely copied and stored in advance in a cache device distributed in a plurality of ISP (Internet Service Provider) Point-of-Presence (PoP), in particular, in a cache device distributed and arranged near the terminal, The path is returned to the cache device located closest to the user to allow the terminal to access the corresponding cache device through the returned path and receive the content.

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

한편, MPEG-2 TS(Transport System)는 표준화 이후 지상파 및 위성 디지털 방송, DMB, IPTV 등 다양한 산업 분야에서 미디어 전송을 위해 주로 사용되어 왔으며, 근래에는 디지털 비디오 카메라나 블루레이 장비에서의 미디어 저장을 위해 사용되는 등 그 사용 분야가 확장되고 있다. 그러나, 최근의 네트워크 환경은 급속히 변화하고 있으며, 다양한 이종망(heterogeneous network) 환경에서의 멀티미디어 전송 기술 등 새로운 요구 사항들이 필요시 되고 있다. 이에, 고도화된 여러 종류의 네트워크 환경에서 다양한 콘텐츠와 서비스를 제공하기 위한 새로운 기술의 표준이 요구시되고 있으며, 이에 따라, MMT(MPEG Media Transport) 기술이 개발되고 있다. MPEG-2 TS (Transport System) has been used for media transmission in various industrial fields such as terrestrial and satellite digital broadcasting, DMB, and IPTV since standardization. In recent years, media storage in digital video cameras and Blu- And its use is expanding. 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 sophisticated network environments has been demanded, and thus MMT (MPEG Media Transport) technology is being developed.

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

이에, MMT 패킷에 있어서, 캐싱 처리가 가능하도록 MMT 패킷을 구성하고 캐시 장치가 이를 캐싱 가능하도록 처리할 수 있는 기술의 개발이 필요하다. Therefore, it is necessary to develop a technique for configuring an MMT packet so that the caching process can be performed in the MMT packet and processing the cache device so that it can be cached.

한국공개특허 제10-2011-0092869호, 2013.03.25 공개(명칭: 무선망을 통한 씨디엔 서비스 방법 및 시스템)Korean Patent Laid-Open No. 10-2011-0092869, published on Mar. 31, 2013 (name: CDN Service Method and System via Wireless Network)

본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 캐시 장치가 MMT 패킷을 캐싱하여 처리할 수 있도록 컨텐츠 제공 서버가 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐싱 파라미터를 삽입하여 MMT 패킷을 구성할 수 있는 MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치를 제공하는 데 목적이 있다. Disclosure of Invention Technical Problem [8] The present invention has been proposed in order to solve the above-mentioned conventional problems. In order to cache and process an MMT packet, a content providing server inserts a caching parameter in an extension header of a payload header of an MMT packet, A MMT packet caching method and apparatus for the MMT packet caching, a MMT packet generation method for caching processing, and an apparatus therefor.

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

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MMT 패킷 캐싱 처리 방법은 캐시 장치에 의한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 캐싱 처리 방법에 있어서, 상기 캐시 장치가 컨텐츠 제공 서버로부터 단말로 전달되는 MMT 패킷이 수신되면, 상기 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 삽입되어 있는 지 확인하는 단계; 및 상기 확인하는 단계에서, 상기 확장 헤더에 캐싱 파라미터가 삽입되어 있을 경우, 상기 캐싱 파라미터에 따라 상기 MMT 패킷을 캐싱하는 단계;를 포함하여 이뤄질 수 있다. According to another aspect of the present invention, there is provided a method of processing an MMT packet caching according to an embodiment of the present invention, the method comprising the steps of: Confirming 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 the caching parameter is inserted in the extension header in the checking step.

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

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

이때, 상기 확인하는 단계는 상기 확장 헤더의 확장 헤더 값에 캐싱 파라미터가 삽입되어 있는 지 확인할 수 있다. At this time, the checking step can check whether a caching parameter is inserted in the extension header value of the extension header.

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

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

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

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

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

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MMT 패킷 생성을 위한 장치는 캐싱 처리를 위한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 생성을 위한 장치에 있어서, 패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성하는 서버 제어부; 및 상기 구성된 MMT 패킷을 캐시 장치를 경유하여 단말로 전송하는 서버 통신부; 를 포함하며, 상기 서버 제어부는 상기 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 포함되도록 상기 MMT 패킷을 구성할 수 있다. According to another aspect of the present invention, there is provided an apparatus for generating an MPEG Transport Protocol (MMT) packet for caching processing, the apparatus comprising: 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 via a cache apparatus; The server control unit may configure the MMT packet so that a caching parameter is included in an extension header of the payload header.

본 발명의 MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치에 의하면, CDN 서비스를 제공하는 캐시 장치는 MMT 패킷에 정의된 캐싱 파라미터에 따라 해당 MMT 패킷을 캐싱하여 단말로 제공함으로써, MMT 패킷에 대한 보다 신속한 컨텐츠 제공이 가능하게 된다. According to the MMT packet caching method and apparatus, the MMT packet generation method for caching processing, and the apparatus for the MMT packet caching processing method of the present invention, the cache device providing the CDN service caches the corresponding MMT packet according to the caching parameters defined in the MMT packet And provides the MMT packet to the terminal. Thus, the MMT packet can be provided more rapidly.

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

아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.In addition, various effects other than the above-described effects can be directly or implicitly disclosed in the detailed description according to the 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 illustrating a main configuration of an MMT caching system of the present invention.
FIG. 2 is a block diagram illustrating a main configuration of a terminal according to an embodiment of the present invention shown in FIG. 1. Referring to FIG.
3 is a block diagram illustrating a main configuration of a cache apparatus according to an embodiment of the present invention shown in 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.
5 and 6 are data flow charts for explaining a method of processing MMT packet caching 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 diagrams for explaining an MMT packet structure according to an embodiment of the present invention.

본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다. BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the nature and advantages of the present invention, reference should be made to the following detailed description taken in conjunction with the accompanying drawings, in which:

다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings.

이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.The terms and words used in the following description and drawings are not to be construed in an ordinary sense or a dictionary, and the inventor can properly define his or her invention as a concept of a term to be described in the best way It should be construed as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible.

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.Also, terms including ordinal numbers such as first, second, etc. are used to describe various elements, and are used only for the purpose of distinguishing one element from another, Not used. For example, without departing from the scope of the present invention, the second component may be referred to as a first component, and similarly, the first component may also be referred to as a second component.

더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.In addition, when referring to an element as being "connected" or "connected" to another element, it means that it can be connected or connected logically or physically. In other words, it is to be understood that although an element may be directly connected or connected to another element, there may be other elements in between, or indirectly connected or connected.

또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Also, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. It is also to be understood that the terms such as " comprising "or" having ", as used herein, are intended to specify the presence of stated features, integers, It should be understood that the foregoing does not preclude the presence or addition of other features, numbers, steps, operations, elements, parts, or combinations thereof.

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

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

아울러, 본 발명은 퍼스널 컴퓨터, 랩탑 컴퓨터, 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 가전제품(programmable consumer electronics), 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 모바일 전화, PDA, 페이저(pager) 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 가지는 네트워크 컴퓨팅 환경에서 실시될 수 있다. In addition, the invention may be practiced with other computer systems, including personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, a pager, and the like. < RTI ID = 0.0 > [0040] < / RTI >

본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.The invention may also be practiced in distributed systems environments where both local and remote computer systems linked by a combination of wired data links, wireless data links, or wired and wireless data links over a network 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 기술에만 적용되는 것은 아니다. Before describing the embodiments of the present invention, it is assumed that the technical background of the present invention is an MPEG MMT (MPEG Media Transport) technology. However, this is only an example for convenience of explanation, and the present invention is not necessarily applied to the MMT technology.

이하 본 명세서에서 기술하는 용어의 의미는 다음과 같이 정의할 수 있다. Hereinafter, the meaning of the terms described in this specification can 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 a media component is defined as a media of a single type or a subset of media of a single type, 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, a song, or the like.

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

표현(presentation)은 사용자가 하나의 컨텐츠 컴포넌트 또는 하나의 서비스를 경험(예를 들어 영화 감상)할 수 있도록 하나 또는 하나 이상의 장치들에 의해 수행되는 동작(operation)으로 정의한다.A presentation is defined as an operation performed by one or more devices so that a user can experience one content component or one service (e.g., enjoying 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 and components of the service.

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

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

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

MMT 개체(MMT entity)는 MMT 프로파일을 따르는 소프트웨어 또는 하드웨어의 구현이다.An MMT entity is an implementation of software or hardware that conforms to an 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 carrying a package or signaling messages using the MMT protocol or the Internet application layer transport protocol (e.g., RTP (Real-Time Transport Protocol)).

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

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

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

도 1은 본 발명의 MMT 캐싱 시스템의 주요 구성을 개략적으로 도시한 블록도이다. 1 is a block diagram schematically illustrating a main configuration of an 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 request from the user, and may 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 a specific content from a user. The request for the specific content may be input from a user such as a URL (Uniform Resource Locator) requesting specific contents through a browser or the like. Then, the terminal 100 accesses a name server such as a DNS (Domain Name Server) to acquire the IP address of the content providing server 200 providing the corresponding content. Then, the terminal 100 receives the content from the corresponding content providing server 200. In particular, the terminal 100 of the present invention can request content in the form of an MPEG media transport, that is, an MMT packet, and can receive and reproduce contents in the form of an MMT packet. In addition, the MMT packets are sequentially received in a streaming form, and the AT 100 can reproduce and process the MMT packets sequentially received in the streaming form.

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

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

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

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

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

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

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

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

여기서, 네트워크(300)는 다수의 유무선 접속망(330) 및 코어망(320)을 포함하는 모바일 망과 연결되 외부망, 예컨대 인터넷망(310)을 포함하여 구성될 수 있다. 여기서, 모바일 망을 구성하는 유무선 접속망(330)은 단말(100)과 유무선 통신을 수행하는 접속망으로서, 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다.The network 300 may include an external network, such as the Internet network 310, connected to a mobile network including a plurality of wired and wireless access networks 330 and a core network 320. The wired / wireless access network 330 constituting the mobile network is an access network that performs wired / wireless communication with the terminal 100 and includes a plurality of access networks such as a base station (BS), a base transceiver station (BTS) 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(미도시)와 연결하여 구성할 수도 있다.Alternatively, the digital signal processing unit and the radio signal processing unit integrally implemented in the base station may be 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 provided 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)을 연결하는 역할을 수행한다.The core network 320 configuring the mobile network together with the wire / wireless access network 330 plays a role of connecting the wired and / or wireless access network 330 with 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 main functions for mobile communication services such as mobility control and switching between wired and wireless access networks 330. The core network 320 includes circuit switching or packet switching ), And manages and controls the packet flow in the mobile network. In addition, the core network 320 may manage inter-frequency mobility and perform functions for interworking with traffic in the access network 330 and the core network 320, and with other networks, such as the Internet network 310. The core network 320 may also 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)로 제공할 수도 있다.The Internet network 310 refers to a public network, that is, a public network, in which information is exchanged according to the TCP / IP protocol. The Internet network 310 is connected to the content providing server 200 and is provided from the content providing server 200 May be provided to the terminal 100 via the core network 320 and the wire / wireless access network 330 or may be provided to a plurality of cache devices 400 according to a predetermined 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, the mobile packet transmitted and received on the mobile network may be transmitted through a GTP (GPRS Tunneling Protocol) tunnel unlike 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 of the terminal 100 (the IP address of the terminal 100) (ENodeB) of the access network 330 transmits an IP packet including address information (IP information of the contents providing server 200) to the access network 330, the GTP header, the UDP header, the GTP Converts the IP header for tunneling into a mobile packet to which the IP header is added, and transmits the mobile packet to the core network 320. At this time, the GTP header may include tunneling end point ID (TEID) assigned to the AT 100. [ The core network 320 may remove the GTP header, the UDP header, and the IP header for GTP tunneling, and may 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) 등의 네트워크와 향후 구현될 차세대 네트워크 및 클라우드 컴퓨팅 네트워크를 모두 포함하는 개념이다.The network 300 of the present invention has been briefly described, and the network 300 is coupled with the cache device 400 to store computing resources such as hardware and software, And a cloud computing network that can be provided to the terminal. Here, cloud computing refers to a computer environment in which information is permanently stored on a server on the Internet and temporarily stored in a client terminal such as a desktop, a tablet computer, a notebook, a netbook, or a smart phone. Cloud computing, Refers to a computer environment access network that stores information on a server on the Internet and makes the information available anytime and anywhere through various IT devices. The network 300 may be a closed network such as a LAN (Local Area Network) or a WAN (Wide Area Network), an open network such as the Internet, a CDMA (Code Division Multiple Access), a WCDMA (LTE) and Evolved Packet Core (EPC), 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 the embodiment of the present invention will be described.

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

도 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 Lt; / RTI >

각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(110)는 코어망(320) 접속을 위해, 인근의 접속망(330)에 접속되는 과정을 지원할 수 있다. 예컨대 통신부(110)는 일정 반경 내 위치하는 기지국(미도시)을 탐색하고, 탐색된 기지국(미도시)의 접속 요청을 하여, 기지국(미도시)과 접속되는 과정을 지원함으로써 접속망(330)에 접속될 수 있다. 여기서, 단말(100)의 통신부(110)가 접속망(330)의 기지국(미도시)에 접속되는 과정은 공지된 다양한 구성을 채용할 수 있으므로, 구체적인 설명은 생략하도록 한다. 아울러, 통신부(110)가 기지국(미도시)과 통신 절차를 수행 시 사용자 정보를 전송할 수 있다. 기본적으로 IMSI(International Mobile Subscriber Identity) 등과 같은 단말 식별번호 등을 기지국(미도시)에 전송할 수 있으며, 기지국(미도시)이 코어망(320)과의 접속 절차를 수행하는 동안, 단말 식별번호 등을 이용하여 가입자 정보를 확인할 수 있게 된다. First, the communication unit 110 can support a process of connecting to the neighboring access network 330 for accessing the core network 320. [ For example, the communication unit 110 searches for a base station (not shown) located within a certain radius, requests a connection of the discovered base station (not shown), and supports connection to a base station 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, the communication unit 110 may transmit user information when performing a communication procedure with a base station (not shown). (Not shown) such as an International Mobile Subscriber Identity (IMSI) can be transmitted to a base station (not shown). While a base station (not shown) performs a connection procedure with the core network 320, So that the subscriber information can be confirmed.

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

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

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

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

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

이러한, 본 발명의 제어부(130)는 본 발명의 실시 예에 따른 MMT 패킷 요청 및 재생 처리를 위해 구비되는 적어도 하나 이상의 구성 요소와 기능적으로 연결된다. 즉, 제어부(130)는 통신부(110), 입력부(120), 저장부(140) 및 출력부(150)와 기능적으로 연결되며, 상기 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다.The controller 130 of the present invention is functionally connected to at least one component provided for MMT packet request and playback 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 controls the flow of signals for supplying power and performing functions to the respective components Respectively.

특히, 본 발명의 실시 예에 따른 제어부(130)는 MPEG 미디어 트랜스포트 스트리밍 데이터를 처리할 수 있는 MPEG-2 TS 처리 기능을 지원할 수 있다. 예컨대, 컨텐츠 제공 서버(200)로부터 전달되는 복수의 미디어 프로세싱 유닛(MPU)으로 구성되는 MMT 패킷을 수신할 수 있으며, MMT 패킷이 복수의 애셋으로 구성되는 경우, 복수의 애셋을 타임 정보에 따라 동기화하여 재생하여 출력하는 기능을 수행할 수 있다. In particular, the controller 130 according to the 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. When the MMT packet is composed of a plurality of assets, And reproducing and outputting the data.

저장부(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 the functional operation according to the embodiment of the present invention. In particular, the storage unit 140 according to the embodiment of the present invention may store various commands for requesting and playing MMT packets according to the 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 include a program area and a data area. The program area stores relevant information for driving the terminal 100, such as an operating system (OS) for booting the terminal 100. [ The data area is an area in which data generated according to use of the terminal 100 is stored, and various commands for streaming data processing can be stored as described above. The storage unit 140 may be a flash memory, a hard disk, a memory of a multimedia card micro type (e.g., SD or XD memory), a RAM, a ROM ROM), and the like.

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

이러한, 출력부(150)는 상술한 바와 같이 입력부(120)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구현될 수도 있으며, 상기 입력부(120)와 함께 구현되는 경우, 사용자의 터치 동작에 따라 발생되는 다양한 정보들을 표시할 수 있다.The output unit 150 may be implemented as one touch panel (or touch screen) together with the input unit 120 as described above. When the output unit 150 is implemented together with the input unit 120, 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 may be a liquid crystal display (LCD), a thin film transistor LCD (TFT-LCD), an organic light emitting diode (OLED), a light emitting diode An organic LED, a flexible display, and a three-dimensional display. Some of these displays may also be configured to be transparent or light transmissive so that they can be seen through. This can be configured as a transparent display including TOLED (Transparent OLED).

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

또한, 도 2를 통해 도시된 단말(100)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다. It should be understood that the location of the major components of the terminal 100 shown in FIG. 2 may be changed for convenience or for 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 in the present specification may be a mobile terminal such as a smart phone, a tablet PC, a PDA (personal digital assistant), a portable multimedia player (PMP) , A smart TV, a desktop computer, etc. may be used.

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

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

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

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

도 1 및 도 3을 참조하면, 본 발명의 실시 예에 따른 캐시 장치(400)는 캐시 통신부(410), 캐시 제어부(420) 및 캐시 저장부(430)를 포함하여 구성될 수 있다. 1 and 3, a cache apparatus 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 monitors various data transmitted and received through the core network 320 or the Internet network 310, and transmits and receives data. 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 may include a mirroring module and an injection module although not shown. The mirroring module copies data transferred through the core network 320 or the Internet 310 and transfers the copied data to the cache controller 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 the message requesting the MMT to be transmitted to the content providing apparatus 200 through the connection with the terminal 100, or the content providing apparatus 200 transmits the content And monitor and detect the MMT packet transmitted to the AT 100 in response to the request message.

캐시 제어부(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 control unit 420 controls the overall operation of the cache apparatus 400. The control unit 350 may receive the MMT packet request and the MMT packet through the cache communication unit 410. [ Particularly, the cache control unit 420 according to the embodiment of the present invention can receive the MMT packet request transmitted from the terminal 100 to the content providing server 200 through the cache communication unit 410. At this time, the MMT packet request may follow the HTTP protocol, for example, in the form of an HTTP GET / RESPONSE message. The cache control unit 420 determines whether the corresponding MMT packet is stored in the cache storage unit 430 according to the MMT packet request and if the MMT packet is stored in the cache storage unit 430, Blocks the packet request, and delivers the MMT packet, which is cached by the content providing server 200, 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 of the AT 100 to be transmitted to the content providing server 200. [

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

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

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

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

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

도 4는 도 1에 도시된 본 발명의 실시 예에 따른 컨텐츠 제공 서버의 주요 구성을 도시한 블록도이다. 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 및 도 4를 참조하면, 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)는 서버 통신부(210), 서버 제어부(220) 및 서버 저장부(230)을 포함하여 구성될 수 있다. 1 and 4, a content providing server 200 according to an exemplary 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 plays a role of supporting information transmission / reception with the terminal 100. For example, the server communication unit 210 can receive the MMT packet request from the terminal 100, and can transmit the MMT packet to the terminal 100 in response thereto. The MMT packet can be transmitted to the AT 100 in a streaming form, and a plurality of MMT packets can 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 AT 100 through a single channel according to a streaming method.

서버 제어부(220)는 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)의 전반적인 제어를 수행하는 구성으로, 패킷 구성 모듈(221)을 포함하여 구성될 수 있다. The server control unit 220 is configured to perform overall control of the content providing server 200 according to the 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 can play a role of constructing an MMT packet. For example, when content is received from a separate external server, it can support the process of converting the received content into the MMT packet format supporting the MMT protocol. At this time, the packet configuration module 221 of the present invention can 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, it is possible to insert the reproduction time information for each MPU, and perform the necessary process so that the terminal 100 synchronizes and reproduces the reproduction time information.

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

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

서버 저장부(230)는 본 발명의 실시 예에 따른 컨텐츠 제공 서버(200)의 동작 수행에 필요한 각종 정보를 저장하고 관리하는 역할을 수행할 수 있다. The server storage unit 230 may store and manage various kinds of information necessary for the 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 the embodiment of the present invention have been described above.

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

한편, 본 발명의 각 장치에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.On the other hand, the memory mounted on each device of the present invention stores information in 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 other embodiments, 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 comprise, for example, a hard disk device, an optical disk device, or any other mass storage device.

아울러, 본 발명의 실시 예에서 사용되는 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.In addition, the term '~ module' used in the embodiment of the present invention means a software component, and '~ module' performs certain roles. By way of example, '~ module' may include components such as software components, object-oriented software components, class components and task components, and processes, functions, attributes, procedures, Routines, segments of program code, drivers, data, databases, data structures, tables, arrays, and variables. In addition, the functions provided in the components and '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 subject matter implementations described herein may be embodied in other types of digital electronic circuitry, or alternatively, of the structures disclosed herein and their structural equivalents May be embodied in computer software, firmware, or hardware, including, or in combination with, one or more of the foregoing. Implementations of the subject matter described herein may be embodied in one or more computer program products, i. E. One for computer program instructions encoded on a program storage medium of the type for < RTI ID = 0.0 & And can be implemented as a module as described above. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that affects the machine readable propagation type signal, or a combination of one or more of the foregoing.

이하, 본 발명의 실시 예에 따른 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 charts for explaining a method of processing MMT packet caching 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) 보다 신속한 컨텐츠 제공이 가능하게 된다. Referring to FIG. 5, the terminal 100 transmits an MMT packet request message to the content providing server 200 to receive a specific MMT packet to the content providing server 200 (S101). When it is confirmed that the MMT packet request message is delivered to the content providing server 200, the cache apparatus 400 monitors all the packets transmitted and received between the terminal 100 and the content providing server 200 (S103) ) Confirms whether or not it is caching the corresponding MMT packet (S105). As a result of the checking, it is determined that the cache apparatus 400 is in a cache hit state that it is caching, and the MMT packet that it has cached is provided to the terminal 100 (S107) .

아울러, 본 발명의 일 실시 예에서는 MMT 패킷을 예로 들어 설명하고 있으나, 이에 한정되는 것은 아니며 단말(100)은 일반적인 데이터 패킷에 캐시 장치(400)가 처리 가능한 MMT 패킷임을 나타내는 캐싱 헤더를 추가하여 캐시 장치(400)로 전달할 수도 있다. 이때, 상기 MMT 패킷 요청 메시지는 HTTP 프로토콜 방식의 HTTP GET/REQEUST 메시지가 될 수 있으며, 상기 MMT 패킷 전송 메시지는 HTTP REQPONSE 메시지가 될 수 있다. In addition, the present invention is not limited thereto, and the AT 100 may add a caching header indicating a MMT packet that can be processed by the cache apparatus 400 to a general data packet, Or may be delivered to the device 400. At this time, the MMT packet request message may be an HTTP GET / REQEUST message of HTTP protocol, 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, the cache device 400 performs step A. [

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

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

이후, 컨텐츠 제공 서버(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 deliver the corresponding MMT packet to the AT 100 according to the MMT packet request (S203). The process of configuring the MMT packet is a process of generating an MMT packet by inserting a caching parameter into the MMT packet so that the cache device 400 can perform the caching process. In particular, when configuring an MMT packet including a packet header, a payload header, and payload data, the content providing server 200 inserts a caching parameter in an extension header of the payload header, The cache apparatus 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 and received between the content providing server 200 and the terminal 100 may cache the MMT packet according to the caching parameter when the MMT packet is transmitted from the content providing server 200 (S207), and can be transmitted to the terminal 100 (S209).

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

도 7은 본 발명의 실시 예에 따른 MMT 패킷 생성 방법을 설명하기 위한 흐름도이며, 도 8 내지 도 10은 본 발명의 실시 예에 따른 MMT 패킷 구조를 설명하기 위한 예시도이다.FIG. 7 is a flowchart for explaining a method of generating an MMT packet according to an embodiment of the present invention, and FIGS. 8 to 10 are diagrams for illustrating an MMT packet structure 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 to cache the MMT packet transmitted from the content providing server 200, the cache device 400 according to the embodiment of the present invention must include a caching parameter in the MMT packet. To this end, the content providing server 200 according to the embodiment of the present invention uses an extension header of the MMT payload header to insert a caching parameter into the MMT packet.

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

도 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 explanatory views for logically explaining an MMT packet structure according to an embodiment of the present invention. First, FIG. 8 shows an MMT package 550, which is a logical model of a data model defined in the MMT functional area, Is the largest MMT entity structured as a single independent content, such as a movie. The content providing server 200 providing the streaming data service can generate the MMT package and provide the MMT package to the terminal 100. The MMT package 550 includes a logical Can be a structured collection. The MMT package 550 may include one or more assets 560, presentation information 551, transport properties 553, and descriptive information, e.g., package information 501.

이 중, 프리젠테이션 정보(Presentation Information, 551)은 복수의 애셋(560)들 사이의 관계(relationship), 즉 공간적 및 시간적 관계에 대한 정보를 포함하며, 하나의 컨텐츠(content)가 복수개의 MMT 패키지로 이루어질 경우 복수의 MMT 패키지간의 관계(relationship)를 나타내기 위한 정보를 더 포함할 수 있다. 이러한 프리젠테이션 정보(551)는 하이퍼텍스트 마크업 언어(HTML)와 구성 정보(Composition Information) 도큐먼트들의 조합이 프리젠테이션 정보(551)의 예라 할 수 있다. Presentation information 551 includes information on a relationship between a plurality of assets 560, that is, spatial and temporal relationships, and one content is stored in a plurality of MMT packages 560. [ And may further include information for indicating a relationship between a plurality of MMT packages. The presentation information 551 may be a combination of a hypertext markup language (HTML) and a composition information document as examples 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)를 포함할 수 있다. 이러한 전달 특성 정보는 통신망 환경에 무관한 파라미터 형태로 표현될 수 있다.The Asset Delivery Characteristics (ADC) 553 represents quality of service (QoS) requirements and statistics for delivery of the asset 560. A plurality of assets 560 may be associated with one transport property 553. The transport properties (transmission characteristics) 553 at this time can be used to set the parameters of the MMT payload and the MMT protocol by the entity encapsulating the package for effective delivery of the asset 560. [ The transport property 553 may also include transport characteristic information needed to determine the delivery condition of the MMT asset 560 or the MMT packet and may include transport characteristic information such as traffic description parameter and QoS And may include a QoS descriptor. This transfer characteristic information can be expressed in the form of parameters irrespective of the network environment.

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

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

이에 대해 도 9를 참조하여 설명하면, MMT 패킷은 전술한 바와 같이 MMT 패킷 헤더, MMT 페이로드(570)로 구성되며, MMT 페이로드(570)는 MMT 페이로드 헤더(571) 및 MMT 페이로드 데이터(572)로 구성될 수 있다. 9, the MMT packet includes an MMT packet header and an MMT payload 570, and the MMT payload 570 includes an MMT payload header 571 and an MMT payload 570. [ (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 the MMT payload data 572 includes a media processing unit (MPU) 530 constituting an asset 560, which is a logical structure of an MMT package, Unit, hereinafter referred to as MPU). Here, the MPU may be a comprehensive container for timed or non-timed data that is independent of any particular media codec. Such an MPU is encoded media data that can be processed completely and independently, and the processing of the MPU may mean packetization for encapsulation or delivery to a package. This MPU may include one or more access units for timed data. Here, an access unit (AU) is the smallest data entity that can have time information. The MPU may also be configured to include portions of data that do not have access unit boundaries for non-timed data. This MPU is a coded media data unit that can be processed completely and independently, and the MMT payload 570, which can be represented by this MPU, is divided into an MMT payload header 571 and a coded MMT payload data 572 And the MMT payload data 572 may be composed of a plurality of MFUs 580. The MFU 580 may further comprise a plurality of media fragment units (MFUs), and the MFU 570 may include an MFU header 581 and MFU data 582 Lt; / RTI >

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

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

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

이와 같이 MMT 패킷이 구성됨에 따라, CDN 서비스를 제공하는 캐시 장치는 MMT 패킷에 삽입된 캐싱 파라미터에 따라 해당 MMT 패킷을 캐싱하여 단말로 제공함으로써, MMT 패킷에 대한 보다 신속한 컨텐츠 제공이 가능할 수 있으며, 본 발명의 컨텐츠 제공 서버는 MMT 페이로드 헤더의 타입 필드에 캐싱 처리를 위한 지정된 식별자를 삽입하고, MMT 페이로드 데이터에 캐싱을 위한 캐싱 파라미터를 삽입하여 MMT 패킷을 구성함으로써, 별다른 MMT 패킷의 설계 변경 없이 보다 용이하게 MMT 패킷을 캐시 장치에서 캐싱 처리하도록 지원할 수 있게 된다. According to the construction of the MMT packet, the cache apparatus providing the CDN service caches the MMT packet according to the caching parameter inserted in the MMT packet and provides the MMT packet to the terminal, The content providing server of the present invention constructs an MMT packet by inserting a specified 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, It is possible to more easily support MMT packets to be cached in the cache device.

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

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

이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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 instructions and data include, for example, magnetic media such as hard disks, floppy disks and magnetic tape, compact disk read only memory (CD-ROM) Optical media such as a DVD (Digital Video Disk), a magneto-optical medium such as a floppy disk, and a ROM (Read Only Memory), a RAM , Random Access Memory), flash memory, EPROM (Erasable Programmable ROM), and EEPROM (Electrically Erasable Programmable ROM). The processor and memory may be supplemented by, or incorporated in, special purpose logic circuits.

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

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

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

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

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

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

본 발명은 MMT(MPEG Media Transport)에 관한 것으로, 더욱 상세하게는 캐시 장치가 MMT 패킷을 캐싱하여 처리할 수 있도록 컨텐츠 제공 서버가 MMT 패킷의 페이로드 헤더의 확장 헤더를 이용하여 캐싱 파라미터를 삽입하여 MMT 패킷을 구성할 수 있는 MMT 패킷 캐싱 처리 방법 및 이를 위한 장치, 캐싱 처리를 위한 MMT 패킷 생성 방법 및 이를 위한 장치에 관한 것이다. The present invention relates to an MMT (MPEG Media Transport), 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 apparatus can cache and process an MMT packet An MMT packet caching method and apparatus for configuring an MMT packet, an MMT packet generation method for caching processing, and an apparatus therefor.

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

더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.In addition, since the present invention is not only possible to be marketed or operated, but also can be practically and practically carried out, it is industrially applicable.

100: 단말 110: 통신부
120: 입력부 130: 제어부
140: 저장부 150: 출력부
200: 컨텐츠 제공 서버 210: 서버 통신부
220: 서버 제어부 221: 패킷 구성 모듈
230: 서버 저장부 300: 네트워크
310: 인터넷망 320: 코어망
330: 접속망 400: 캐시 장치
410: 캐시 통신부 420: 캐시 제어부
430: 캐시 저장부 1000: MMT 캐싱 시스템
100: terminal 110:
120: input unit 130:
140: storage unit 150: output unit
200: content providing server 210: server communication part
220: server control section 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 패킷 캐싱 처리 방법.
A method of processing an MPEG media transport (MMT) packet caching by a cache apparatus,
The cache device
Confirming 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 content providing server to the terminal is received; And
Caching the MMT packet according to the caching parameter when the caching parameter is inserted in the extension header;
The method comprising the steps of:
제1항에 있어서,
상기 캐싱하는 단계 이후에,
어느 하나의 다른 단말로부터 특정 MMT 패킷 요청을 수신하는 단계;
상기 다른 단말이 요청한 MMT 패킷을 캐싱하고 있는 지 여부를 판단하는 단계; 및
상기 MMT 패킷을 캐싱하고 있을 경우, 상기 캐싱하고 있는 MMT 패킷을 상기 다른 단말로 전송하는 단계;
를 포함하는 것을 특징으로 하는 MMT 패킷 캐싱 처리 방법.
The method according to claim 1,
After the caching step,
Receiving a specific MMT packet request from any other terminal;
Determining whether the other terminal is caching the MMT packet requested by the other terminal; And
If the MMT packet is cached, transmitting the cached MMT packet to the other terminal;
The method comprising the steps of:
제1항에 있어서,
상기 확인하는 단계에서, 상기 캐싱 파라미터가 삽입되어 있지 않을 경우, 상기 MMT 패킷을 바이패스 시키는 단계;
를 더 포함하는 것을 특징으로 하는 MMT 패킷 캐싱 처리 방법.
The method according to claim 1,
Bypassing the MMT packet if the caching parameter is not inserted;
Further comprising the steps of:
제1항에 있어서,
상기 확인하는 단계는
상기 확장 헤더의 확장 헤더 값에 캐싱 파라미터가 삽입되어 있는 지 확인하는 것을 특징으로 하는 MMT 패킷 캐싱 처리 방법.
The method according to claim 1,
The verifying step
And checking whether a caching parameter is inserted in an extension header value of the extension header.
컨텐츠 제공 서버가 캐싱 처리를 위한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 생성 방법에 있어서,
패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성하는 단계; 및
상기 구성된 MMT 패킷을 캐시 장치를 경유하여 단말로 전송하는 단계;
를 포함하며,
상기 페이로드 헤더의 확장 헤더에 캐싱을 위한 캐싱 파라미터를 포함하는 것을 특징으로 하는 캐싱 처리를 위한 MMT 패킷 생성 방법.
A method for generating an MPEG Media Transport (MMT) packet for a caching process by a content providing server,
Constructing an MMT packet comprising a packet header, a payload header and payload data; And
Transmitting the configured MMT packet to a terminal via a cache device;
/ RTI >
Wherein a caching parameter for caching is included in an extension header of the payload header.
제5항에 있어서,
상기 캐싱 파라미터는
캐시 제어 값, 캐시 상태, 캐시 유효 기간 중 적어도 하나 이상의 캐싱 파라미터를 포함하는 것을 특징으로 하는 캐싱 처리를 위한 MMT 패킷 생성 방법.
6. The method of claim 5,
The caching parameter
Wherein the cache control value includes at least one of a cache control value, a cache status, and a cache validity period.
제1항 내지 제6항 중 어느 하나의 항에 기재된 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium on which a program for executing the method according to any one of claims 1 to 6 is recorded. 제1항 내지 제6항 중 어느 하나의 항에 기재된 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable medium embodied thereon for carrying out the method recited in any one of claims 1 to 6. MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 캐싱 처리를 위한 장치에 있어서,
컨텐츠 제공 서버로부터 단말로 전달되는 MMT 패킷을 모니터링하여 캐시 제어부로 전달하는 캐시 통신부;
상기 캐시 통신부를 통해 상기 MMT 패킷이 전달되면, 상기 MMT 패킷의 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 삽입되어 있을 경우, 상기 캐싱 파라미터에 따라 상기 MMT 패킷을 캐시 저장부에 캐싱하도록 제어하는 캐시 제어부; 및
상기 캐시 제어부의 제어에 따라 상기 MMT 패킷을 캐싱하는 캐시 저장부;
를 포함하는 것을 특징으로 하는 MMT 패킷 캐싱 처리를 위한 장치.
An apparatus for processing an MPEG media transport (MMT) packet caching,
A cache communication unit for monitoring the MMT packet transmitted from the content providing server to the terminal and transmitting the monitored MMT packet to the cache control unit;
A cache control unit for controlling the cache memory unit to cache the MMT packet according to the caching parameter when the MMT packet is transmitted through the cache communication unit and a caching parameter is inserted in an extension header of the payload header of the MMT packet, ; And
A cache storage unit for caching the MMT packet under the control of the cache control unit;
Wherein the MMT packet caching process comprises:
캐싱 처리를 위한 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 패킷 생성을 위한 장치에 있어서,
패킷 헤더, 페이로드 헤더 및 페이로드 데이터를 포함하는 MMT 패킷을 구성하는 서버 제어부; 및
상기 구성된 MMT 패킷을 캐시 장치를 경유하여 단말로 전송하는 서버 통신부;
를 포함하며,
상기 서버 제어부는 상기 페이로드 헤더의 확장 헤더에 캐싱 파라미터가 포함되도록 상기 MMT 패킷을 구성하는 것을 특징으로 하는 MMT 패킷 생성을 위한 장치.
An apparatus for MPEG media transport (MMT) packet generation for caching processing, the apparatus comprising:
A server controller 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;
/ RTI >
Wherein the server controller configures the MMT packet so that a caching parameter is included 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 true KR20160144812A (en) 2016-12-19
KR102209784B1 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)

Cited By (1)

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

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110092869A (en) 2010-02-10 2011-08-18 명창배 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
KR20140021371A (en) * 2012-08-10 2014-02-20 에스케이텔레콤 주식회사 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
KR20140035385A (en) * 2011-05-05 2014-03-21 아카마이 테크놀로지스, 인크. Combined cdn reverse proxy and an edge forward proxy with secure connections
KR20150013081A (en) * 2013-07-26 2015-02-04 삼성전자주식회사 METHOD AND APPARATUS FOR PACKET TRANSMISSION SUPPORTING DOWNLOADING and STREAMING
KR20150036469A (en) * 2012-07-13 2015-04-07 후아웨이 테크놀러지 컴퍼니 리미티드 Signaling and handling content encryption and rights management in content transport and delivery

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110092869A (en) 2010-02-10 2011-08-18 명창배 The coldness and warmth water purifier which has a tax administration function
KR20140035385A (en) * 2011-05-05 2014-03-21 아카마이 테크놀로지스, 인크. Combined cdn reverse proxy and an edge forward proxy with secure connections
KR20130119885A (en) * 2012-04-24 2013-11-01 한국전자통신연구원 Methods of transporting mmt packet for in-network adaptation of layered video
KR20150036469A (en) * 2012-07-13 2015-04-07 후아웨이 테크놀러지 컴퍼니 리미티드 Signaling and handling content encryption and rights management in content transport and delivery
KR20140021371A (en) * 2012-08-10 2014-02-20 에스케이텔레콤 주식회사 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
KR20150013081A (en) * 2013-07-26 2015-02-04 삼성전자주식회사 METHOD AND APPARATUS FOR PACKET TRANSMISSION 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.) *

Cited By (1)

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

Also Published As

Publication number Publication date
KR102209784B1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
US11770429B2 (en) System and method for streaming content from multiple servers
KR101874729B1 (en) Multicast broadcast multimedia service-assisted content distribution
US11228801B2 (en) Method and apparatus for providing multi-view streaming service
US8817983B2 (en) Streaming video to cellular phones
KR20170130253A (en) Method for providing of adaptive streaming service and apparatus therefor
US20240056641A1 (en) Video playing method and apparatus, device, and medium
KR102050735B1 (en) Proxy server for cloud streaming service, cloud streaming system and method using the same
JP2018514108A (en) Display for partial segments
US10291943B2 (en) Node interworking with base station and method for providing streaming data through the node
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
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
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
KR102209782B1 (en) Method for providing of streamming service and apparatus for the same
KR102174360B1 (en) Method for providing of streamming service and apparatus for the same
KR20170018603A (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
KR20170026809A (en) Method for transferring of contents with scalable encoding and streamming server 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