KR101888982B1 - Method for providing content caching service in adapted streaming service and local caching device thereof - Google Patents

Method for providing content caching service in adapted streaming service and local caching device thereof Download PDF

Info

Publication number
KR101888982B1
KR101888982B1 KR1020120058789A KR20120058789A KR101888982B1 KR 101888982 B1 KR101888982 B1 KR 101888982B1 KR 1020120058789 A KR1020120058789 A KR 1020120058789A KR 20120058789 A KR20120058789 A KR 20120058789A KR 101888982 B1 KR101888982 B1 KR 101888982B1
Authority
KR
South Korea
Prior art keywords
content
data
providing
terminal
caching
Prior art date
Application number
KR1020120058789A
Other languages
Korean (ko)
Other versions
KR20130134911A (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 KR1020120058789A priority Critical patent/KR101888982B1/en
Publication of KR20130134911A publication Critical patent/KR20130134911A/en
Application granted granted Critical
Publication of KR101888982B1 publication Critical patent/KR101888982B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations

Landscapes

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

Abstract

본 발명은 링크 품질 또는 단말 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 제공할 수 있도록 한 적응형 컨텐츠 제공 방식을 고려한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치에 관한 것으로서, 로컬 캐싱 장치가 특정 해상도의 컨텐츠를 인코딩하여 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 생성함으로써 컨텐츠 제공 장치와 로컬 캐싱 장치 사이의 구간에서의 트래픽을 더 감소시키고 보다 효율적으로 컨텐츠 캐싱 서비스를 제공할 수 있도록 한다.The present invention relates to a content caching service providing method considering an adaptive content providing method capable of providing a caching service more efficiently for adaptive content transmitted with different resolutions according to link quality or terminal performance, The local caching device encodes content of a specific resolution to generate two or more pieces of content data having different resolutions to further reduce traffic in a section between the content providing device and the local caching device, .

Description

적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 {Method for providing content caching service in adapted streaming service and local caching device thereof}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a content caching service providing method for providing adaptive content,

본 발명은 네트워크상에서의 컨텐츠 중복 전송을 방지하여 트래픽을 감소시키기 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치에 관한 것으로서, 더욱 상세하게는 링크 품질 또는 단말 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠 전송 방식에 따라 전송되는 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 제공할 수 있도록 한 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a content caching service providing method and a local caching apparatus for preventing traffic duplication on a network to reduce traffic, The present invention relates to a content caching service providing method and a local caching device for providing an adaptive content service that can provide a caching service more efficiently with respect to content transmitted according to a content transmission method.

최근 성능이 향상된 스마트 폰의 보급과, 이를 기반으로 한 컨텐츠 제공자의 급증으로 인하여, 이동통신망의 트래픽은 점점 증가하고 있는 추세이며, 그에 따라서, 웹(Web) 다운로드, 비디오(Video), 오디오(Audio), 영상(Image), 어플리케이션(Application) 등과 같은 컨텐츠의 전송 속도 저하로 인한 서비스 품질 문제가 이슈가 되고 있다.The traffic of the mobile communication network is increasingly increasing due to the spread of smart phones with improved performance in recent years and the rapid increase of content providers based thereon. Accordingly, web downloading, video, audio ), Video (image), application (application), etc., due to the degradation of the transmission speed of service quality issues are becoming a problem.

특히, 컨텐츠 전송 기술의 발달에 따라서, VOD(Video On Demand), Live Streaming과 같은 온라인 동영상 서비스나 음악 스트리밍, 파일 업로드 및 파일 다운로드 등에 있어서, 대용량 파일 전송이 가능해지면서, 그에 따라서 대용량 컨텐츠를 전달하려는 다양한 서비스도 제공되고 있다.Particularly, according to the development of content transmission technology, it is possible to transfer a large-capacity file in an online video service such as VOD (Video On Demand) and Live Streaming, music streaming, file upload, file download, Various services are also provided.

그런데 이러한 컨텐츠 제공 서비스들은, 그 인기도에 따라 빈도는 다를 수 있으나, 통상적으로 중복적인 콘텐트를 동일 도메인 또는 동일 무선 커버리지 내의 사용자에게 전달하는 특징이 있으며, 이용 증가에 따라서 네트워크 트래픽에서 차지하는 비중이 점차적으로 증가하고 있는 상황이다. However, such content providing services may be different in frequency depending on their popularity, but they are typically characterized by delivering redundant content to users in the same domain or the same wireless coverage. As a result, Is increasing.

이와 같이, 중복된 콘텐트의 전송은 통신망의 트래픽 부하가 더욱 증가하게 되므로 이러한 중복 전송의 방지를 통해 트래픽 감소를 위한 노력이 이루어지고 있으며, 관련 기술로서 CDN(Contents Delivery network) 서비스는 영화, 뮤직 비디오 등과 같은 동영상을 포함하는 다양한 컨텐츠를 사용자에게 안정적으로 전달하기 위한 서비스로서, 통상 네트워크상에 분산 배치된 다수의 로컬 캐싱 장치에 컨텐츠를 저장하여 두고, GLB(Global Load Balance) 서버와 같은 부하 분산 장치를 통해서 다수의 캐시 서버 중에서 최적의 캐시 서버를 선택하여, 선택된 캐시 서버를 통해 요청된 컨텐츠가 사용자의 단말로 전달하도록 구현된다.In this way, since the traffic load of the communication network is further increased, duplication of contents is prevented. Therefore, efforts are being made to reduce the traffic by preventing such duplication. As a related technology, CDN (Contents Delivery Network) The content is stored in a plurality of local caching devices distributed on a network and distributed to a load balancer such as a GLB (Global Load Balance) server, An optimal cache server is selected from a plurality of cache servers, and the requested content is delivered to the user terminal through the selected cache server.

이러한 CDN는 인터넷 망을 기반으로 인터넷상에서의 데이터 손실, 병목 현상, 전송 속도 저하, 데이터 끊김과 같은 불안전성 등을 해결하도록 구현되었다.These CDNs are implemented to solve problems such as data loss, bottlenecks, transmission speed degradation and data inconsistency on the Internet based on the Internet network.

컨텐츠 캐싱 기술은, 이러한 CDN 서비스에 있어서, 네트워크 상에 분산 배치되는 다수의 로컬 캐싱 장치에 컨텐츠를 선택적으로 캐싱하는 기술로서, 이러한 컨텐츠 캐싱은 로컬 캐싱 장치의 저장 공간을 고려하여 이루어져야 하며, 또한, 캐싱된 컨텐츠 중에서 사용자가 요청한 컨텐츠와 일치하는 컨텐츠를 판정하는데 소요되는 시간 및 사용자가 요청한 콘텐트 중 캐싱된 컨텐츠와 일치하는 비율인 캐시 히트 레이트(cache hit rate)에 대한 고려도 필요하다.The content caching technique is a technique for selectively caching content to a plurality of local caching devices distributed on the network in such a CDN service. Such content caching should be performed in consideration of the storage space of the local caching device, It is also necessary to consider the time required to determine the content matching the content requested by the user out of the cached contents and the cache hit rate which is the ratio of the content requested by the user to the cached contents.

특히, 링크 품질 또는 단말의 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠 전송 방식(예를 들어, HTTP Live Streaming(HLS))의 경우 동일 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠로 인코딩하여 제공하며, 각 컨텐츠를 다수의 청크로 분할하여 링크 품질 또는 단말 성능에 따라서 적정 해상도의 컨텐츠를 선택 전송한다.In particular, in the case of an adaptive content transmission method (for example, HTTP Live Streaming (HLS)) in which different resolutions are transmitted according to link quality or terminal performance, the same content is encoded into two or more contents having different resolutions Divides each content into a plurality of chunks, and selectively transmits content having an appropriate resolution according to link quality or terminal performance.

본 발명은 링크 품질 또는 단말 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 제공할 수 있도록 한 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치를 제공하고자 한다.The present invention relates to a content caching service providing method for providing an adaptive content providing a caching service more efficiently for adaptive content transmitted with different resolutions according to link quality or terminal performance, and a local caching device .

특히, 본 발명은 로컬 캐싱 장치가 특정 해상도의 컨텐츠를 인코딩하여 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 생성함으로써 컨텐츠 제공 장치와 로컬 캐싱 장치 사이의 구간에서의 트래픽을 더 감소시키고 보다 효율적으로 컨텐츠 캐싱 서비스를 제공할 수 있도록 하는 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치를 제공하고자 한다.Particularly, the present invention can reduce traffic in a section between a content providing apparatus and a local caching apparatus more effectively by generating two or more pieces of content data having different resolutions by encoding contents of a specific resolution, A method of providing a content caching service for providing adaptive content and a local caching device for providing the content caching service.

본 발명은 상술한 과제를 해결하기 위한 수단으로서, 하나 이상의 컨텐츠 제공 장치로부터 하나 이상의 단말 장치로 서비스되는 컨텐츠의 일부 또는 전부를 저장하는 저장부; 상기 하나 이상의 컨텐츠 제공 장치와 하나 이상의 단말 장치 간에 데이터를 전달하는 통신망에 연결되어, 상기 통신망을 통해 데이터를 송수신하는 통신 인터페이스부; 및 상기 저장부에 저장된 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하여 상기 저장부에 저장한 후, 단말 장치로부터의 요청에 따라서 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중 하나를 선택적으로 상기 단말 장치에 전송하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 로컬 캐싱 장치를 제공한다.The present invention provides a means for solving the above-mentioned problems, comprising: a storage unit for storing a part or all of content served from one or more content providing apparatuses to one or more terminal apparatuses; A communication interface unit connected to a communication network for transferring data between the at least one content providing apparatus and at least one terminal apparatus and transmitting and receiving data through the communication network; And a control unit that encodes the content stored in the storage unit into two or more content data having different resolutions and stores the encoded content in the storage unit, And a control unit for controlling the local caching apparatus to transmit the local caching information to the terminal apparatus.

본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 둘 이상의 컨텐츠 데이터는 각각 다수의 청크 데이터로 나누어지는 것을 특징으로 한다.In the local caching apparatus according to the present invention, the two or more pieces of content data are each divided into a plurality of chunk data.

본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라서 상기 인코딩 여부를 판단할 수 있다.In the local caching apparatus according to the present invention, the controller may determine whether the encoding is performed according to a criterion including at least one of popularity and time.

본 발명에 로컬 캐싱 장치에 있어서, 상기 제어부는 상기 컨텐츠에 대한 요청이 일정 시간이상 없는 경우, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 저 해상도의 컨텐츠 데이터를 하나 이상 삭제할 수 있다.In the local caching apparatus according to the present invention, the controller may delete one or more low-resolution content data from two or more content data having different resolutions when a request for the content is not present for a predetermined time or more.

본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 상기 컨텐츠를 상기 저장부에 캐싱하는 시점 또는 상기 컨텐츠가 요청되는 시점에, 상기 인코딩을 수행할 수 있다.In the local caching apparatus according to the present invention, the control unit may perform the encoding at the time of caching the content in the storage unit or at the time when the content is requested.

본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 인코딩할 서로 다른 둘 이상의 해상도에 대한 정보를, 상기 컨텐츠의 재생 정보를 제공하는 인덱스 파일 또는 상기 컨텐츠에 대한 전송 이력으로부터 획득할 수 있다.In the local caching apparatus according to the present invention, the controller may obtain information on two or more different resolutions to be encoded from an index file for providing playback information of the content or a transmission history for the content.

더하여, 본 발명은 상술한 과제를 해결하기 위한 다른 수단으로서, 로컬 캐싱 장치가, 컨텐츠 제공 장치로부터 단말 장치로 서비스하는 컨텐츠의 일부 또는 전부를 저장하는 단계; 상기 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하는 단계; 및 단말 장치의 요청에 따라서, 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중 하나를 선택적으로 상기 단말 장치에 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법을 제공한다.In addition, the present invention provides another method for solving the above-mentioned problems, comprising the steps of: storing, by the local caching apparatus, part or all of contents served from the content providing apparatus to the terminal apparatus; Encoding the content into two or more content data having different resolutions; And selectively transmitting one of two or more pieces of content data having different resolutions to the terminal apparatus according to a request from the terminal apparatus.

본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법은, 상기 인코딩하는 단계 이전에, 상기 컨텐츠의 인덱스 파일 또는 상기 컨텐츠의 전송 이력으로부터 인코딩할 하나 이상의 해상도에 대한 정보를 획득하는 단계를 더 포함할 수 있다.The method of providing a content caching service according to the present invention may further include acquiring information on at least one resolution to be encoded from an index file of the content or a transmission history of the content prior to the encoding step.

본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법은, 상기 인코딩하는 단계 이전에, 인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라서 상기 컨텐츠에 대한 인코딩 여부를 판단하고, 판단 결과에 따라서 상기 인코딩하는 단계가 수행되도록 하는 단계를 더 포함할 수 있다.The method of providing a content caching service according to the present invention may further include determining whether the content is encoded according to a criterion including at least one of popularity and time prior to the encoding step, And a step of determining whether or not the received data is valid.

본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법은, 컨텐츠를 상기 단말 장치에 전송한 후, 상기 컨텐츠에 대한 요청이 발생하기 전까지의 시간을 카운팅하고, 상기 시간이 일정 시간을 초과한 경우, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 저 해상도의 컨텐츠를 하나 이상 삭제하는 단계를 더 포함할 수 있다.A method of providing a content caching service according to the present invention includes counting a time until a request for the content occurs after a content is transmitted to the terminal device, and when the time exceeds a predetermined time, And deleting one or more low resolution contents from the two or more contents data having the low resolution.

본 발명은, 동일 컨텐츠를 서로 다른 해상도를 갖는 다수의 컨텐츠 데이터로 인코딩하여 링크 품질 또는 단말 성능에 따라서 적절한 해상도의 컨텐츠 데이터를 선택 제공하는 적응형 컨텐츠 전송 방식을 지원하는데 있어서, 로컬 캐싱 장치가 특정 해상도의 컨텐츠를 인코딩하여 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 미리 생성하여 저장하여 두고, 이후 단말 장치로부터의 요청에 따라서 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 선택적으로 단말 장치로 전송함으로써, 컨텐츠 제공 장치와 로컬 캐싱 장치 사이의 구간에서의 트래픽을 더 감소시키고, 보다 효율적으로 컨텐츠 캐싱 서비스를 제공할 수 있도록 하는 우수한 효과가 있다.The present invention supports an adaptive content transmission method in which the same content is encoded into a plurality of content data having different resolutions to selectively provide content data of an appropriate resolution according to link quality or terminal performance, And transmits at least two pieces of content data having different resolutions selectively to the terminal device in response to a request from the terminal device, It is possible to further reduce traffic in a section between the providing apparatus and the local caching apparatus and to provide a content caching service more efficiently.

도 1은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 시스템을 개략적으로 도시한 블럭도이다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 시스템에 있어서, 로컬 캐싱 장치의 분산 배치 구성을 설명하기 위한 상세 블럭도이다.
도 3은 본 발명에 적용되는 적응형 컨텐츠의 구조를 간략히 설명하기 위한 모식도이다.
도 4는 기존의 컨텐츠 캐싱 서비스에 따라서 적응형 컨텐츠를 제공하는 과정을 나타낸 흐름도이다.
도 5는 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스에서의 적응형 컨텐츠 제공 과정을 나타낸 흐름도이다.
도 6은 본 발명의 실시 예에 따른 로컬 캐싱 장치의 구성을 나타낸 블럭도이다.
도 7은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 방법을 설명하기 위한 순서도이다.
1 is a block diagram schematically illustrating a content caching service system according to an embodiment of the present invention.
2 is a detailed block diagram for explaining a distributed configuration of a local caching apparatus in a content caching service system according to an embodiment of the present invention.
3 is a schematic diagram for explaining the structure of the adaptive content applied to the present invention.
4 is a flowchart illustrating a process of providing adaptive content according to an existing content caching service.
5 is a flowchart illustrating an adaptive content providing process in a content caching service according to an embodiment of the present invention.
6 is a block diagram showing a configuration of a local caching apparatus according to an embodiment of the present invention.
7 is a flowchart illustrating a content caching service method according to an embodiment of the present invention.

이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. 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.

아울러, 본 발명에 대한 이해를 돕기 위하여, 이하의 설명에서 사용되는 용어를 정의하면 다음과 같다.In order to facilitate understanding of the present invention, terms used in the following description are defined as follows.

'플로우 정보'는 단말 장치로 특정 컨텐츠를 전송하는 플로우를 정의하는 정보로서, 상기 특정 컨텐츠를 수신하는 목적지의 IP 주소 정보, 상기 목적지의 포트 정보, 및 상기 특정 컨텐츠를 제공하는 소스의 IP 주소 정보를 포함하여 이루어질 수 있다. 상기 플로우 정보는 출발지 및 목적지의 IP 주소 정보, 포트 정보, 프로토콜 필드 정보 중 하나 이상의 조합으로 이루어질 수 있다. 본 발명의 일 실시 예에 있어서, 상기 플로우 정보는, 특정 컨텐츠를 수신하는 목적지의 IP 주소 정보, 상기 목적지의 포트 정보, 및 상기 특정 컨텐츠를 제공하는 소스의 IP 주소 정보의 조합으로 이루어진다.The 'flow information' is information defining a flow of transmitting a specific content to a terminal device. The flow information includes IP address information of a destination receiving the specific content, port information of the destination, and IP address information of a source providing the specific content . ≪ / RTI > The flow information may be a combination of at least one of IP address information, port information, and protocol field information of the source and destination. In one embodiment of the present invention, the flow information includes a combination of IP address information of a destination receiving specific contents, port information of a destination, and IP address information of a source providing the specific contents.

'컨텐츠 주소 정보'는 네트워크 상에서 컨텐츠 제공 장치가 제공하는 컨텐츠의 위치를 나타내는 정보로서, 예를 들어, 프로토콜 타입, 컨텐츠 제공 장치의 도메인 이름이나 IP 주소, 컨텐츠의 파일 경로명으로 구성되는 URL(Uniform Resource Locator)이 될 수 있다.The 'content address information' is information indicating the location of the content provided by the content providing apparatus on the network. The content address information includes, for example, a protocol type, a domain name or IP address of the content providing apparatus, Locator).

'컨텐츠 구분 정보'는 로컬 캐싱 장치에 저장된 컨텐츠들을 서로 구분하기 위한 정보로서, 구체적으로는, 컨텐츠의 내용 중 적어도 일부를 추출하거나 이를 가공(예를 들어, 해쉬 연산)하여 형성된 정보를 의미한다. 즉, 컨텐츠 구분 정보는 컨텐츠의 내용 중 적어도 일부를 기반으로 생성되어, 컨텐츠를 식별할 수 있는 정보이다. 예를 들어, 컨텐츠 구분 정보는, 기 설정된 길이의 프리픽스 정보, 상기 프리픽스 정보를 기 설정된 해쉬 함수로 연산한 해쉬값, 및 상기 컨텐츠의 메타 데이터 중 하나 이상을 포함하여 이루어질 수 있다.The 'content classification information' is information for distinguishing contents stored in the local caching device from each other, specifically, information formed by extracting at least a part of contents or processing (for example, hash calculation) the contents. That is, the content classification information is generated based on at least a part of the content, and is information that can identify the content. For example, the content classification information may include at least one of prefix information having a predetermined length, a hash value obtained by calculating the prefix information using a predetermined hash function, and metadata of the content.

'캐시 히트(Cache hit)'는 저장 수단(Cache)에 요청한 컨텐츠가 존재하는 것을 의미하는 것으로서, 본 발명에 있어서, 로컬 캐싱 장치에서 저장하고 있는 컨텐츠 중 단말 장치에서 요청한 컨텐츠와 일치하는 컨텐츠가 존재하는 상태를 의미한다. 상술한 용어의 정의를 참조함으로써, 이하에서 설명하는 본 발명의 실시 예가 좀더 명확히 이해될 수 있을 것이다.'Cache hit' means that there is a content requested in the storage means. In the present invention, among the contents stored in the local caching device, contents matching the contents requested by the terminal device exist . By referring to the definitions of the above-mentioned terms, embodiments of the present invention described below can be understood more clearly.

도 1은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 시스템을 개략적으로 도시한 블럭도이다.1 is a block diagram schematically illustrating a content caching service system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 의한 컨텐츠 캐싱 서비스는, 네트워크(400)를 통해서 연결되는 단말 장치(100)와, 로컬 캐싱 장치(200)와, 컨텐츠 제공 장치(300)을 기반으로 이루어진다.Referring to FIG. 1, a content caching service according to the present invention is based on a terminal device 100, a local caching device 200, and a content providing device 300 connected through a network 400.

단말 장치(100)는 네트워크(400)에 접속하여, 상기 네트워크(400)를 통해 제공되는 컨텐츠를 이용하는 사용자 장치로서, 컨텐츠 제공 장치(300)로 특정 컨텐츠를 요청하고, 이에 대응하여 컨텐츠 제공 장치(300) 또는 로컬 캐싱 장치(200)로부터 전송되는 컨텐츠를 수신하여 이용한다. 이러한 단말 장치(100)는 예를 들어, 데스크톱 PC, 노트북 컴퓨터, 태블릿 PC, 스마트 폰, PDA(Personal Digital Assistant), 인터넷 TV(스마트 TV) 등 통신 기능을 포함하고 있는 전자/정보 통신 기기라면 어떤 것이라도 포함될 수 있다.The terminal apparatus 100 is a user apparatus connected to the network 400 and using content provided through the network 400. The user apparatus 100 requests specific content from the content providing apparatus 300 and transmits the request to the content providing apparatus 300 300 or the local caching device 200 and uses the content. Such a terminal device 100 may be any electronic / information communication device including a communication function such as a desktop PC, a notebook computer, a tablet PC, a smart phone, a PDA (Personal Digital Assistant), an Internet TV May also be included.

로컬 캐싱 장치(200)는 네트워크(400) 상에 분산 배치되어, 상기 컨텐츠 제공 장치(300)에서 제공하는 컨텐츠를 임시 또는 일정 시간 동안 저장하여, 단말 장치(100)로부터 상기 컨텐츠가 요청되면, 상기 컨텐츠 제공 장치(300)를 대신하여 저장하고 있는 컨텐츠를 단말 장치(100)로 제공한다. 이를 위하여, 로컬 캐싱 장치(200)는 다양한 캐싱 기법을 이용하여, 상기 컨텐츠 제공 장치(300)로부터 단말 장치(100)로 제공되는 컨텐츠의 일부 또는 전부를 복사하여 저장하는 캐싱 동작을 수행한다. 구체적으로, 상기 로컬 캐싱 장치(200)는 상기 단말 장치(100)의 컨텐츠 요청 메시지를 수신하면, 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 주소 정보 또는 상기 컨텐츠 요청 메시지를 컨텐츠 제공 장치(300)로 전송한 후 상기 컨텐츠 제공 장치(300)로부터 전송되는 컨텐츠의 일부를 기반으로 상기 단말 장치(100)가 요청한 컨텐츠가 저장되어 있는 지를 판단한다. 여기서, 상기 로컬 캐싱 장치(200)는 상기 컨텐츠 요청 메시지에 포함된 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하는지 비교하여, 일치하면 상기 단말 장치(100)가 요청한 컨텐츠의 컨텐츠 주소 정보를 기반으로 상기 컨텐츠의 저장 여부를 판단하고, 일치하지 않으면 상기 컨텐츠 제공 장치(300)로부터 상기 단말 장치(100)가 요청한 컨텐츠의 일부를 수신하고, 수신한 컨텐츠의 일부를 키로 하여 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단할 수 있다.The local caching device 200 is distributed on the network 400 and stores the content provided by the content providing device 300 for a predetermined time or a predetermined period of time. When the content is requested from the terminal device 100, And provides the content stored in place of the content providing apparatus 300 to the terminal apparatus 100. [ To this end, the local caching device 200 performs a caching operation for copying and storing a part or all of the content provided to the terminal device 100 from the content providing device 300 using various caching techniques. The local caching device 200 transmits the content address information or the content request message included in the content request message to the content providing device 300 upon receiving the content request message of the terminal device 100 It is determined whether the content requested by the terminal device 100 is stored based on a part of the content transmitted from the content providing device 300. Here, the local caching device 200 compares the flow information included in the content request message with the previously cached flow information, and if the content matches the content information of the content requested by the terminal device 100, And if the content is not identical, receives a part of the content requested by the terminal device 100 from the content providing device 300 and transmits the content to the terminal device 100 using a part of the received content as a key, It is possible to determine whether or not the requested content is stored.

상기와 같이 판단한 결과, 컨텐츠가 저장되어 있는 경우, 로컬 캐싱 장치(200)는 상기 컨텐츠 제공 장치(300)를 대신하여 저장된 컨텐츠를 상기 단말 장치(100)로 전송하며, 상기 단말 장치(100)가 요청한 컨텐츠를 저장하고 있지 않은 경우에는, 컨텐츠 제공 장치(300)로부터 컨텐츠를 수신하여 단말 장치(100)로 전송하면서, 이후 동일 컨텐츠에 대한 요청시 해당 컨텐츠를 제공할 수 있도록 캐싱한다.When the content is stored, the local caching device 200 transmits the content stored on behalf of the content providing device 300 to the terminal device 100, and the terminal device 100 If the requested content is not stored, the content receiving apparatus 300 receives the content from the content providing apparatus 300 and transmits the received content to the terminal apparatus 100, and caches the same content so that the requested content can be provided.

특히, 본 발명의 일 실시 예에 있어서, 로컬 캐싱 장치(200)는 적응형 컨텐츠의 제공을 위하여, 저장하고 있는 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하고, 상기 단말 장치(100)로부터의 요청에 따라서 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 중에서 하나를 선택적으로 단말 장치(100)로 전송한다. In particular, in one embodiment of the present invention, the local caching device 200 encodes the stored content into two or more pieces of content data having different resolutions for the purpose of providing adaptive content, And selectively transmits one of two or more contents having different resolutions to the terminal device 100 according to a request from the terminal device 100.

상술한 로컬 캐싱 장치(200)의 상세 구성 및 동작은 이후에 더 구체적으로 설명하기로 한다.The detailed configuration and operation of the above-described local caching device 200 will be described later in more detail.

또한, 본 발명의 실시 예에서는, 로컬 캐싱 장치(200)를 하나로 도시하였으나, 로컬 캐싱 장치(200)는 하나 이상으로 이루어져 네트워크(400) 상에 분산 배치될 수 있다. In the embodiment of the present invention, the local caching device 200 is shown as one, but the local caching devices 200 may be distributed over the network 400, as shown in FIG.

다음으로, 상기 컨텐츠 제공 장치(300)는 네트워크(400)를 통해서 임의의 컨텐츠, 예를 들어, 동영상 파일, 오디오 파일, 웹 페이지 등을 포함하는 다양한 컨텐츠를 제공하는 서비스 장치로서, 이때, 상기 컨텐츠는 스트리밍 또는 다운로드 방식으로 제공될 수 있다. 이러한 컨텐츠 제공 장치(300)는 예를 들어, 유료 또는 무료의 동영상을 업로드하거나, 보거나, 공유할 수 있도록 하는 동영상 공유 사이트, 모바일 컨텐츠를 자유롭게 거래할 수 있는 어플리케이션 스토어, 인터넷을 통해 방송 서비스를 제공하는 IPTV 등을 서비스를 서버 장치일 수 있다.Next, the content providing apparatus 300 is a service apparatus for providing various contents including arbitrary contents such as a moving picture file, an audio file, a web page, etc. through the network 400. At this time, May be provided in a streaming or download manner. For example, the content providing apparatus 300 may include a video sharing site for uploading, viewing, or sharing a paid or free video, an application store for freely trading mobile contents, and a broadcasting service through the Internet The IPTV service may be a server device.

본 발명의 일 실시 예에 있어서, 상기 컨텐츠 제공 장치(300)는, 적응형 컨텐츠 전송 서비스를 제공할 수 있다. 구체적으로는, 동일 컨텐츠를 서로 다른 해상도를 갖는 둘 이상 컨텐츠로 인코딩하여 구비하며, 특히 상기 컨텐츠를 다수의 청크로 나누어 저장한 후, 링크 품질 또는 단말 성능에 따라서 적절한 해상도의 컨텐츠 데이터를 단말 장치(100)로 전송한다.In an embodiment of the present invention, the content providing apparatus 300 may provide an adaptive content transmission service. Specifically, the same content is encoded into two or more contents having different resolutions. Particularly, the contents are divided into a plurality of chunks and stored. Then, 100).

아울러, 상술한 단말 장치(100)와 로컬 캐싱 장치(200)와 컨텐츠 제공 장치(300)를 연결하는 네트워크(400)는 현재 사용되고 있거나 향후 사용 가능한 통신망 및 이들을 결합으로 이루어진 통합망까지 포함할 수 있다. 구체적으로, 네트워크(400)는 인터넷 망과 같은 IP 기반의 유무선의 통신망을 포함할 수 있다. 뿐만 아니라, 네트워크(400)는 LTE(Long term evolution) 망, WCDMA 망과 같은 이동통신망뿐만 아니라, 이외에, Wi-Fi망과 같은 다양한 종류의 무선망과, 이들의 결합으로 이루어지는 모바일 망을 포함할 수 있다. 이 경우, 본 발명에 의한 로컬 캐싱 장치(200)는 모바일 망에서의 컨텐츠 중복 전송 및 트래픽 감소를 위해 이용될 수 있다.The network 400 connecting the terminal device 100, the local caching device 200, and the content providing device 300 may include a communication network that is currently used or can be used in the future, . In detail, the network 400 may include an IP-based wired / wireless communication network such as an Internet network. In addition, the network 400 may include not only a mobile communication network such as an LTE (Long Term Evolution) network, a WCDMA network, but also various types of wireless networks such as a Wi-Fi network and a mobile network . In this case, the local caching apparatus 200 according to the present invention can be used for content duplication transmission and traffic reduction in the mobile network.

본 발명에 의한 로컬 캐싱 장치(200)는 상술한 네트워크(400)에 분산 배치되는데, 특히, 상기 네트워크(400)의 에지에 분산 배치된다.The local caching device 200 according to the present invention is distributed to the above-described network 400, in particular, distributed to the edge of the network 400. [

도 2는 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 제공 시스템에 있어서, 로컬 캐싱 장치(200)의 배치 구조를 설명하기 위하여 상기 네트워크(400)의 상세 구성을 나타낸 블럭도이다.2 is a block diagram illustrating a detailed configuration of the network 400 for explaining an arrangement structure of a local caching apparatus 200 in a content caching service providing system according to an embodiment of the present invention.

도 2을 참조하면, 네트워크(400)는, 사용자의 단말 장치(100)가 접속되는 하나 이상의 무선 또는 유선 접속망(410,420)과 상기 무선 또는 유선 접속망(410,420) 간을 연결하는 코어망(430)을 포함하여 이루어질 수 있다.2, the network 400 includes a core network 430 connecting one or more wireless or wired access networks 410 and 420 to which the user's terminal 100 is connected, and the wireless or wired access networks 410 and 420 .

여기서, 상기 무선 접속망(410)은, 다양한 무선 통신 방식으로 단말 장치(100)와 데이터를 송수신할 수 있는 가입자망을 의미하는 것으로서, 이동통신망, Wi-Fi망을 포함할 수 있으며, 유선 접속망(420)은 단말 장치(100)와 유선으로 연결되어, 데이터를 송수신하는 가입자망을 의미하는 것으로서, 예를 들어, 광통신방식의 FTTH와 같은 유선 엑세스망을 포함할 수 있다.The wireless access network 410 refers to a subscriber network capable of transmitting and receiving data to and from the terminal device 100 in various wireless communication systems. The wireless access network 410 may include a mobile communication network and a Wi-Fi network. 420 denotes a subscriber network that is connected to the terminal 100 by wire and transmits and receives data, and may include a wired access network such as an optical communication FTTH.

로컬 캐싱 장치(200:200a, 200b)는 상술한 네트워크(400)의 에지 노드에 분산 배치될 수 있다. 더 구체적으로 설명하면, 코어망(100)의 각 무선/유선 접속망(410,420)과 연결되는 스위칭 장치(예를 들어, 라우터 등)(431a, 431b, 431c)에 연결되어, 각각 하나 이상의 무선/유선 접속망(410,420)에 연결된 단말 장치(100)에 대하여 컨텐츠 캐싱 서비스를 제공할 수 있다.The local caching device 200 (200a, 200b) may be distributed to the edge nodes of the network 400 described above. More specifically, the core network 100 is connected to switching devices (e.g., routers) 431a, 431b, and 431c connected to the respective wireless / wired access networks 410 and 420 of the core network 100, The content caching service can be provided to the terminal device 100 connected to the access networks 410 and 420.

특히, 이동통신망과 같은 모바일 망에 본 발명에 의한 컨텐츠 캐싱 서비스를 적용하고자 하는 경우, 상기 로컬 캐싱 장치(200)는, 모바일 망에 있어서, BS(Base Station), BTS(Base Transceiver Station), 노드B, e노드B 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현되는 무선 접속망 단위로 분산 배치될 수 있으며, 이 경우, 각 무선 접속망에 연결되는 이동통신시스템의 에지 노드(예를 들어, 스위칭 장치)에 연결되어, 각 무선 접속망에 연결된 이동 단말 장치로의 컨텐츠 전송을 지원할 수 있다.Particularly, in case of applying a content caching service according to the present invention to a mobile network such as a mobile communication network, the local caching device 200 may include a base station (BS), a base transceiver station (BTS) B, and eNode B, and a base station controller such as a base station controller (BSC) and a radio network controller (RNC). In this case, (For example, a switching device) of a mobile communication system, and can support content transmission to a mobile terminal device connected to each radio access network.

아울러, 도 3은 본 발명에 따른 컨텐츠 캐싱 서비스에 대한 이해를 돕기 위하여, 적응형 컨텐츠의 구조를 간략히 나타낸 모식도이다.FIG. 3 is a schematic diagram illustrating a structure of an adaptive content in order to facilitate understanding of a content caching service according to the present invention. Referring to FIG.

도 3을 참조하면, HLS(HTTP Live Streaming)와 같은 적응형 컨텐츠 전송 방식에 따르면, 임의의 한 컨텐츠(10)는, 서로 다른 다양한 해상도로 인코딩된 둘 이상의 컨텐츠 데이터(11, 12, 13)을 포함하여 이루어진다. 본 발명의 일 실시 예에 있어서, 상기 컨텐츠 데이터(11, 12, 13)는 예를 들어, 1024K, 720K, 480K의 해상도로 이루어진 컨텐츠 데이터(11, 12, 13)를 포함할 수 있다. 이 경우, 상기 컨텐츠(10)는, 링크 품질 또는 단말 성능에 따라서 1024K, 720K, 480K 의 해상도로 제공될 수 있다.Referring to FIG. 3, according to an adaptive content transmission method such as HTTP Live Streaming (HLS), an arbitrary content 10 may include two or more content data 11, 12, and 13 encoded at different resolutions . In an embodiment of the present invention, the content data 11, 12, and 13 may include content data 11, 12, and 13 having a resolution of 1024K, 720K, and 480K, for example. In this case, the content 10 can be provided at resolutions of 1024K, 720K and 480K depending on the link quality or the terminal performance.

또한, 서로 다른 해상도로 인코딩된 각 컨텐츠 데이터(11, 12, 13)는 각각 소정 크기의 청크 데이터(A1~A3, B1~B3, C1~C3)로 나누어진다. 여기서, 하나의 청크 데이터의 크기는 예를 들어, 동영상 컨텐츠라고 할 때, 10초 정도로 설정될 수 있다.Each of the content data 11, 12, and 13 encoded at different resolutions is divided into chunk data A1 to A3, B1 to B3, and C1 to C3 of a predetermined size. Here, the size of one chunk data may be set to about 10 seconds, for example, when it is assumed to be moving picture contents.

이렇게 다양한 해상도를 갖는 컨텐츠(10)는 청크 단위로 전송되며, 단말 장치(100)의 성능, 링크 품질 중 어느 하나에 따라서, 적정 해상도의 컨텐츠 데이터가 선택 전송된다.The contents 10 having various resolutions are transmitted in units of chunks, and content data having a proper resolution is selectively transmitted according to either the performance or link quality of the terminal device 100. [

따라서, 적응형 컨텐츠가 아닌 경우에는, 컨텐츠 자체에 대하여 한번 정도의 GET 메시지가 전송되나, 적응형 컨텐츠의 경우, 청크 단위로 컨텐츠 요청이 발생하기 때문에 일반 컨텐츠에 비하여 상대적으로 많은 GET 메시지가 발생된다. Accordingly, in the case of non-adaptive content, a GET message is transmitted about once in relation to the content itself, but in the case of adaptive content, a content request is generated in units of chunks, so that a relatively large number of GET messages are generated .

도 4는 상술한 적응형 컨텐츠에 대한 기존의 컨텐츠 캐싱 서비스 과정을 나타낸 도면으로서, 이를 참조하면, 통상적으로, 단말 장치가 컨텐츠(10)를 스트리밍받는 경우, 링크 품질이 양호하여 고 해상도의 데이터 A1을 요청하여 수신한 후, 링크 품질이 저하되면 그 다음 재생 순서의 데이터로서 저 해상도의 데이터 C2를 요청할 수 있으며, 그 다음 단계에서는 다시 좀더 높은 중간 해상도의 데이터 B3를 요청할 수 있다.FIG. 4 is a diagram illustrating an existing content caching service process for the above-described adaptive content. Referring to FIG. 4, when a terminal device receives streaming content 10, And if the link quality is lowered, it is possible to request the low-resolution data C2 as the data of the next reproduction order. In the next step, the higher-intermediate-resolution data B3 may be requested.

이때, 상기 로컬 캐싱 장치는 각각의 요청된 컨텐츠 데이터의 저장 여부를 확인하는데, 여기서 임의의 컨텐츠(10)의 모든 데이터가 저장되어 있지 않다고 가정하면, 상기 로컬 캐싱 장치는 A1, C2, B3 순으로 컨텐츠 제공 장치에 컨텐츠를 요청하고, 이에 대응하여 전송되는 데이터 A1, C2, B3를 단말 장치에 순차적으로 전송하게 된다.At this time, the local caching device confirms whether or not each requested content data is stored. Assuming that all the data of the content 10 are not stored, the local caching device is arranged in the order of A1, C2, B3 Requests contents to the contents providing apparatus, and sequentially transmits the transmitted data A1, C2, B3 to the terminal apparatus.

이와 같이, 적응형 컨텐츠의 경우, 청크 단위로 컨텐츠가 요청될뿐만 아니라, 링크 품질 또는 단말 성능에 따라서 요청하는 데이터의 해상도가 달라질 수 있다. 따라서, 기존의 로컬 캐싱 장치는 해상도가 다른 컨텐츠 데이터를 모두 컨텐츠 제공 장치로부터 수신하여 저장하여야 한다.As described above, in the case of the adaptive content, not only the content is requested in units of chunks, but the resolution of the requested data can be changed according to the link quality or terminal performance. Accordingly, the existing local caching apparatus must receive and store all content data having different resolutions from the content providing apparatus.

이러한 적응형 컨텐츠를 좀 더 효율적으로 서비스하기 위하여, 본 발명의 일 실시 예에 있어서 로컬 캐싱 장치(200)는, 도 5에 도시된 바와 같이, 단말 장치(100)로부터 컨텐츠(10)의 데이터 A1이 요청되면, 상기 컨텐츠 제공 장치(200)에 요청하여, 상기 컨텐츠(10)의 고 해상도의 데이터(11) A1~A3를 모두 수신하여 저장한다. 그리고, 상기 저장한 고 해상도의 데이터(11) A1~A3로부터 그보다 낮은 해상도의 데이터 B1~B3, C1~C3를 인코딩하여 생성한다. 이와 같이 상기 로컬 캐싱 장치(200)는 적응형 컨텐츠(10)에 대하여, 향후 요청할 가능성이 있는 다른 해상도의 데이터를 모두 생성하여 둠으로써, 추후 단말 장치(100)의 요청에 따라서 다른 해상도의 데이터가 요청될 경우, 해당 데이터를 로컬 캐싱 장치(200)에서 단말 장치(100)로 바로 서비스할 수 있게 한다.In order to more efficiently service such adaptive content, the local caching device 200 in an embodiment of the present invention is configured to receive the data A1 of the content 10 from the terminal device 100, (11) A1 to A3 of the content (10), and stores the received data (11) A1 to A3 in the content (10). Then, data B1 to B3 and C1 to C3 of lower resolution are encoded and generated from the stored high-resolution data (11) A1 to A3. As described above, the local caching apparatus 200 generates all the data of different resolutions that may be requested in the future for the adaptive content 10, so that data of different resolutions can be generated at the request of the terminal device 100 When requested, the data can be directly served from the local caching device 200 to the terminal device 100.

상술한 바에 따르면, 컨텐츠 제공 장치(300)와 로컬 캐싱 장치(200) 사이의 구간에서 발생하는 데이터 요청 및 응답 수신 횟수를 크게 줄일 수 있으므로, 컨텐츠 제공 장치(300)와 로컬 캐싱 장치(200) 사이의 구간에 대한 불필요한 트래픽 발생을 감소시킬 수 있다. The number of data requests and responses received in the interval between the content providing apparatus 300 and the local caching apparatus 200 can be greatly reduced and thus the number of times between the content providing apparatus 300 and the local caching apparatus 200 It is possible to reduce the occurrence of unnecessary traffic for the interval of < RTI ID = 0.0 >

이하 상술한 바에 따른 본 발명의 로컬 캐싱 장치(200)의 구성 및 그의 컨텐츠 캐싱 서비스 제공 방법을 좀더 구체적으로 설명하기로 한다.Hereinafter, the configuration of the local caching apparatus 200 of the present invention and the content caching service providing method thereof will be described in more detail.

도 6은 본 발명의 실시 예에 따른 로컬 캐싱 장치(200)의 구성을 나타낸 블럭도이다.6 is a block diagram illustrating a configuration of a local caching apparatus 200 according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 실시 예에 따른 로컬 캐싱 장치(200)는, 통신 인터페이스부(210)와, 제어부(220)와, 저장부(230)를 포함하여 이루어질 수 있다.6, a local caching apparatus 200 according to an embodiment of the present invention may include a communication interface unit 210, a control unit 220, and a storage unit 230.

통신 인터페이스부(210)는, 네트워크(400)에 연결되어 상기 네트워크(400)를 통해서 데이터를 송수신하기 위한 수단이다. 특히, 본 발명의 실시 예에 따르면, 통신 인터페이스부(210)는, 하나 이상의 컨텐츠 제공 장치(300)와 하나 이상의 단말 장치(100) 간에 데이터를 전달하는 네트워크(400)에 연결되어, 상기 네트워크(400)를 통해 상기 하나 이상의 컨텐츠 제공 장치(300)와 하나 이상의 단말 장치(100)와 데이터를 송수신할 수 있다. 이러한 통신 인터페이스부(210)는, 연결되는 네트워크(400)의 종류에 따라서 유선 방식 또는 무선 방식의 송수신을 처리하는 통신 모듈을 하나 이상 포함할 수 있다.The communication interface unit 210 is connected to the network 400 and is a means for transmitting and receiving data through the network 400. [ Particularly, according to an embodiment of the present invention, the communication interface unit 210 is connected to a network 400 that transmits data between one or more content providing apparatuses 300 and one or more terminal apparatuses 100, 400 to send and receive data to and from the one or more content providing apparatuses 300 and one or more terminal apparatuses 100. The communication interface unit 210 may include at least one communication module that processes wired or wireless transmission and reception according to the type of the connected network 400. [

저장부(230)는 상기 하나 이상의 컨텐츠 제공 장치(300)로부터 하나 이상의 단말 장치(100)로 서비스되는 컨텐츠의 일부 또는 전부를 저장한다. 본 발명의 일 실시 예에서, 상기 저장부(230)는 상기 컨텐츠 제공 장치(300)로부터 수신되는 컨텐츠 데이터뿐만 아니라, 로컬 캐싱 장치(200)에서 자체적인 인코딩을 통해 생성된 서로 다른 해상도를 갖는 다수의 컨텐츠를 저장할 수 있다.The storage unit 230 stores a part or all of contents to be served from one or more content providing apparatuses 300 to one or more terminal apparatuses 100. In an embodiment of the present invention, the storage unit 230 may store not only the content data received from the content providing apparatus 300 but also the content data received from the local caching apparatus 200, Can be stored.

제어부(220)는 상기 로컬 캐싱 장치(200)에 의한 캐싱 서비스 동작의 전반을 제어하는 수단으로서, 기본적으로, 통신 인터페이스부(210)를 통해서 단말 장치(100)의 컨텐츠 요청 메시지를 수신하면, 단말 장치(100)가 요청한 컨텐츠가 저장부(230)에 저장되어 있는 지를 확인하고, 저장되어 있는 경우(캐시 히트된 경우) 컨텐츠 제공 장치(300)를 대신하여 저장부(230)에서 해당 컨텐츠를 가져와 상기 단말 장치(100)로 제공하고, 저장되어 있지 않은 경우에는 컨텐츠 제공 장치(300)로부터 상기 컨텐츠를 수신하여 단말 장치(100)로 전달하면서, 상기 수신한 컨텐츠를 저장부(230)에 저장한다. The control unit 220 controls the overall operation of the caching service by the local caching device 200. Basically when the content request message of the terminal device 100 is received through the communication interface 210, It is checked whether the content requested by the device 100 is stored in the storage unit 230. If the content is stored (cache hit), the content is fetched from the storage unit 230 in place of the content providing apparatus 300 If the content is not stored, the content is received from the content providing device 300 and is delivered to the terminal device 100, and the received content is stored in the storage unit 230 .

이때, 상기 단말 장치(100)에서 요청한 컨텐츠의 저장 여부에 대한 판단은 다음과 같이 이루어진다.At this time, whether or not the content requested by the terminal device 100 is stored is determined as follows.

즉, 제어부(220)는, 단말 장치(100)로부터 상기 컨텐츠가 요청되면, 상기 컨텐츠 제공 장치(300)를 대신하여 저장하고 있는 컨텐츠를 단말 장치(100)로 제공하도록 제어한다. 이를 위하여, 제어부(220)는 다양한 캐싱 기법을 이용하여, 상기 컨텐츠 제공 장치(300)로부터 단말 장치(100)로 제공되는 컨텐츠의 일부 또는 전부를 복사하여 저장하는 캐싱 동작을 제어한다. 구체적으로, 상기 제어부(220)는 상기 단말 장치(100)의 컨텐츠 요청 메시지를 수신하면, 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 주소 정보 또는 상기 컨텐츠 요청 메시지를 컨텐츠 제공 장치(300)로 전송한 후 상기 컨텐츠 제공 장치(300)로부터 전송되는 컨텐츠의 일부를 기반으로 상기 단말 장치(100)가 요청한 컨텐츠가 저장되어 있는 지를 판단한다. 여기에 더하여, 상기 제어부(220)는, 상기 컨텐츠 요청 메시지에 포함된 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하는지 비교하여, 일치하면 상기 단말 장치(100)가 요청한 컨텐츠의 컨텐츠 주소 정보를 기반으로 상기 컨텐츠의 저장 여부를 판단하고, 일치하지 않으면 상기 컨텐츠 제공 장치(300)로부터 상기 단말 장치(100)가 요청한 컨텐츠의 일부를 수신하고, 수신한 컨텐츠의 일부를 키로 하여 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단할 수 있다. 여기서, 플로우 정보는 상기 단말 장치(100)로 컨텐츠를 제공하는 플로우를 컨텐츠 별로 식별하기 위한 정보로서, 출발지 주소 정보와 목적지 주소 정보를 매칭하여 설정할 수 있으며, 본 발명의 일 실시 예에 있어서, 상기 출발지 주소 정보는 상기 컨텐츠의 출발지, 즉, 컨텐츠 제공 장치(300)의 주소 정보로서 IP 주소 정보(예, Sever1_IP, Server2_IP)로 설정될 수 있으며, 목적지 주소 정보는 상기 컨텐츠의 목적지, 즉, 단말 장치(100)의 주소 정보로서 단말 장치(100)의 IP 주소 정보(예, UE_IP) 및 포트 정보(UE_Port)로 설정될 수 있다. That is, when the content is requested from the terminal device 100, the controller 220 controls the terminal device 100 to provide the stored content on behalf of the content providing device 300. For this, the control unit 220 controls the caching operation of copying and storing a part or all of the content provided to the terminal device 100 from the content providing device 300 using various caching techniques. Upon receiving the content request message of the terminal device 100, the controller 220 transmits the content address information or the content request message included in the content request message to the content providing device 300, It is determined whether the content requested by the terminal device 100 is stored based on a part of the content transmitted from the content providing device 300. In addition, the control unit 220 compares the flow information included in the content request message with the previously cached flow information, and if the flow information matches the content information of the content requested by the terminal apparatus 100, And if not, receives a part of the content requested by the terminal device 100 from the content providing device 300 and transmits the content requested by the terminal device 100 May determine whether the requested content is stored. Here, the flow information is information for identifying the flow of providing content to the terminal device 100 by content, and may be set by matching the source address information and the destination address information. In one embodiment of the present invention, The source address information may be set as IP address information (e.g., Sever1_IP, Server2_IP) as a source of the content, that is, address information of the content providing apparatus 300. Destination address information may be a destination of the content, (E.g., UE_IP) and port information (UE_Port) of the terminal device 100 as the address information of the terminal device 100 in FIG.

또한. 이전에 캐시 히트된 플로우 정보는, 다수의 청크 데이터로 나눠지는 다양한 해상도의 컨텐츠 데이터를 포함하는 적응형 컨텐츠에 대하여, 특정 해상도의 특정 청크 데이터에 대하여 캐시 히트된 상태이며, 해당 세션이 활성화 상태인 플로우에 대한 플로우 정보를 의미한다. 즉, 특정 해상도의 특정 청크 데이터가 캐시 히트된 적 있으며 아직 컨텐츠 전송이 진행중인 적응형 컨텐츠에 대한 플로우 정보를 의미한다. Also. The previously cached flow information is cached for the specific chunk data of a specific resolution with respect to the adaptive content including the content data of various resolutions divided into a plurality of chunk data, Flow information " That is, it means flow information for adaptive contents in which specific chunk data of a specific resolution has been cache hit and content transmission is still in progress.

그리고, 상기 제어부(220)가, 상기 컨텐츠 제공 장치(300)로부터 상기 단말 장치(100)가 요청한 컨텐츠의 일부를 수신하고, 수신한 컨텐츠의 일부를 키로 하여 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단하는 경우, 컨텐츠의 저장 여부를 판단하는 동안, 상기 컨텐츠 제공 장치(300)로부터 수신한 컨텐츠를 바로 상기 단말 장치(100)로 전송함으로써, 상기 단말 장치(100)가 가능한 지연 없이 컨텐츠를 수신하도록 한다. 그리고, 상기 로컬 캐싱 장치(200)에 컨텐츠가 저장되어 있는 것으로 판단되면, 상기 로컬 캐싱 장치(200)는 그 이후의 데이터를 저장부(230)로부터 가져와 단말 장치(100)로 전송할 수 있다.The control unit 220 receives a part of the content requested by the terminal device 100 from the content providing device 300 and transmits the content requested by the terminal device 100 with a part of the received content as a key The terminal device 100 transmits the content received from the content providing device 300 to the terminal device 100 while determining whether to store the content, . If it is determined that the content is stored in the local caching device 200, the local caching device 200 may fetch the subsequent data from the storage 230 and transmit the data to the terminal device 100.

이를 위하여, 상기 제어부(220)는, 이전에 캐시 히트된 컨텐츠와 관련된 플로우 정보를 기록하는 플로우 정보 테이블과, 상기 저장부(230)에 저장된 각 컨텐츠의 적어도 일부를 이용하여 생성된 컨텐츠 구분 정보를 기록하는 제1 필드와, 상기 컨텐츠 구분 정보에 매칭되는 컨텐츠에 대응하는 하나 이상의 컨텐츠 주소 정보를 기록하는 제2 필드를 포함하는 컨텐츠 주소 관리 테이블을 구비할 수 있으며, 상기 출발지-목적지 주소 정보 테이블과 상기 컨텐츠 주소 관리 테이블을 참조하여 상기 컨텐츠의 저장 여부를 판단할 수 있다.To this end, the control unit 220 includes a flow information table for recording flow information related to previously cached content, and a content information table for storing at least a part of each content stored in the storage unit 230 And a second field for recording at least one content address information corresponding to the content matched with the content identification information. The source-destination address information table and the content- It is possible to determine whether the content is stored by referring to the content address management table.

그리고, 상기 제어부(220)는, 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단한 결과, 컨텐츠가 저장부(230)에 저장되어 있지 않은 경우, 상기 컨텐츠 제공 장치(300)로부터 계속해서 컨텐츠를 수신하여 상기 단말 장치로 전송함과 동시에 상기 저장부(230)에 저장한다.If the content is not stored in the storage unit 230 as a result of the determination of whether the content requested by the terminal device 100 is stored, the control unit 220 continuously transmits content And transmits it to the terminal device and stores it in the storage unit 230.

반면에, 상기 제어부(220)는, 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단한 결과, 상기 단말 장치(100)가 요청한 컨텐츠가 저장되어 있는 경우, 상기 컨텐츠 제공 장치(300)로 컨텐츠 전송 중단을 요청할 수 있다. 이에 의하면, 컨텐츠 제공 장치(300)로부터 로컬 캐싱 장치(200)까지 구간의 트래픽이 감소된다. 여기서, 컨텐츠 전송의 중단을 요청하는 메시지는 HTTP RST(Reset) 메시지일 수 있다.On the other hand, if the content requested by the terminal device 100 is stored as a result of determining whether the content requested by the terminal device 100 is stored, the controller 220 transmits the content It may request a transmission interruption. According to this, the traffic of the section from the content providing apparatus 300 to the local caching apparatus 200 is reduced. Here, the message requesting the interruption of the content transmission may be an HTTP RST (Reset) message.

특히, 본 발명의 일 실시 예에 있어서, 상기 제어부(220)는, 적응형 컨텐츠 전송 서비스를 위하여, 상기 저장부(230)에 저장된 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하여 상기 저장부(230)에 저장한 후, 단말 장치(100)로부터의 요청에 따라서 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중 하나를 선택적으로 상기 단말 장치(100)에 전송하도록 제어한다. 이를 위하여 상기 제어부(220)는 특정 컨텐츠를 서로 다른 해상도로 인코딩할 수 있는 인코딩 모듈(221)을 더 포함할 수 있다.In particular, in one embodiment of the present invention, the control unit 220 encodes content stored in the storage unit 230 into two or more content data having different resolutions for the adaptive content transmission service, And controls the terminal apparatus 100 to selectively transmit one of two or more content data having different resolutions to the terminal apparatus 100 according to a request from the terminal apparatus 100. [ For this, the control unit 220 may further include an encoding module 221 that can encode specific contents at different resolutions.

여기서, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터는, 다수의 청크 데이터로 나누어져 있으며, 청크 단위로 서비스될 수 있다.Here, the two or more pieces of content data having different resolutions are divided into a plurality of chunk data and can be served in chunks.

아울러, 상기 제어부(220)는, 상기 인코딩을 수행하기에 앞서, 인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라서 상기 컨텐츠에 대한 인코딩 여부를 판단할 수 있다. 예를 들어, 일정 시간 구간 동안의 컨텐츠 요청 횟수가 기준값 이상인 컨텐츠에 대해서만 인코딩을 수행할 수 있다. 상기에서 인기도는 해당 콘텐츠에 대한 사용자의 요청율로 정의될 수 있다. 더 구체적으로, 상기 인기도는 소정의 시간 동안 발생하는 해당 콘텐츠에 대한 요청 빈도로 산출될 수 있다. In addition, the controller 220 may determine whether the content is encoded according to a criterion including at least one of popularity and time before performing the encoding. For example, it is possible to perform encoding only on contents whose number of times of requesting a content for a predetermined time period is equal to or greater than a reference value. In this case, the popularity may be defined as a user's request rate for the content. More specifically, the popularity may be calculated as a frequency of a request for a corresponding content occurring during a predetermined time.

또한, 상기 제어부(220)는, 상기 단말 장치(100)로 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 하나를 선택하여 전송한 후, 다음 컨텐츠 요청이 발생하기 전까지 시간 경과를 카운팅하고, 이를 통해 일정 시간 이상 상기 컨텐츠가 요청되지 않는 경우, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 저 해상도의 컨텐츠 데이터를 하나 이상 삭제할 수 있다. 이를 통해서, 로컬 캐싱 장치(200)는 한정되어 있는 저장부(230)의 저장 공간을 좀더 효율적으로 사용할 수 있게 된다.In addition, the control unit 220 may select one of two or more content data having different resolutions and transmit it to the terminal device 100, count the elapsed time until a next content request is generated, If the content is not requested for more than the time, one or more low-resolution content data may be deleted from two or more content data having different resolutions. Accordingly, the local caching device 200 can use the storage space of the limited storage unit 230 more efficiently.

더하여, 상기 제어부(220)는, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 인코딩하는데 있어서, 상기 단말 장치(100)로부터 상기 컨텐츠가 요청되거나 상기 컨텐츠를 상기 저장부(230)에 캐싱하는 시점에, 상기 인코딩을 수행할 수 있다. 즉, 단말 장치(100)로부터 다른 해상도의 컨텐츠 데이터가 요청되기 전에 상기 서로 다른 해상도로의 인코딩을 수행함으로써, 추후 단말 장치(100)에서 요청시 신속하게 서비스할 수 있도록 한다.In addition, when the control unit 220 encodes two or more content data having different resolutions, the control unit 220 determines whether the content is requested from the terminal device 100 or caches the content in the storage unit 230 , And perform the encoding. That is, before the content data of different resolution is requested from the terminal device 100, encoding is performed at the different resolutions so that the terminal device 100 can promptly service the content data at a later time.

또한, 상기 제어부(220)는 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 인코딩하는데 있어서, 상기 인코딩할 서로 다른 둘 이상의 해상도에 대한 정보를, 컨텐츠 제공 장치(300)로부터 수신되며 상기 컨텐츠의 재생 정보를 제공하는 인덱스 파일 또는 상기 컨텐츠의 전송 이력으로부터 획득할 수 있다. 상기 인덱스 파일은, 적응형 컨텐츠의 요청시, 실제 컨텐츠의 데이터에 앞서 제공되는 정보로서, 단말 장치(100)에서 재생할 세그먼트들의 목록과 관련 정보를 표시하며, 단말 장치(100)는 이를 참조하여 순서대로 세그먼트를 조합하여 재생할 수 있다. 또한 상기 컨텐츠의 전송 이력은, 동일 컨텐츠와 관련하여 요청된 다수 청크 데이터의 요청 및 전송 이력을 의미하는 것으로서, 상기 다수 청크 데이터의 해상도를 분석함으로써, 상기 컨텐츠에 대하여 인코딩할 서로 다른 둘 이상의 해상도를 확인할 수 있다.In the case of encoding two or more pieces of content data having different resolutions, the controller 220 receives information on two or more different resolutions to be encoded from the content providing apparatus 300, Or from the transfer history of the content. The index file is information provided prior to the data of the actual content when the adaptive content is requested. The index file displays a list of segments to be played by the terminal device 100 and related information, and the terminal device 100 The segments can be reproduced in combination. Also, the transmission history of the content means a request and transmission history of a plurality of chunk data requested in association with the same content. By analyzing the resolution of the plurality of chunk data, it is possible to obtain two or more different resolutions to be encoded for the content Can be confirmed.

이어서, 본 발명의 일 실시 예에 의한 컨텐츠 캐싱 서비스 과정을 도 7을 참조하여 설명한다.Next, a content caching service process according to an embodiment of the present invention will be described with reference to FIG.

여기서, 로컬 캐싱 장치(200)는 컨텐츠 제공 장치(300)로부터 단말 장치(100)로 서비스하는 컨텐츠의 일부 또는 전부를 저장하고 있는 것으로 가정한다. 여기서, 상기 컨텐츠의 저장은 컨텐츠 제공 장치(300)에서 일정 기준에 따라서 미리 다수의 로컬 캐싱 장치(200)로 배포하는 방식, 또는 로컬 캐싱 장치(200)가 미러링된 트래픽을 받아 저장하는 미러링 방식, 또는 로컬 캐싱 장치(200)가 단말 장치(100)에서 요구한 컨텐츠를 미리 설정된 캐시 정책에 따라서 저장하는 캐싱 방식 등 다양한 방식을 통해 이루어질 수 있다.Here, it is assumed that the local caching device 200 stores a part or all of contents to be served from the content providing device 300 to the terminal device 100. [ Here, the content may be stored in a plurality of local caching devices 200 in accordance with a predetermined criterion in the content providing device 300, or may be stored in a mirroring method in which the local caching device 200 receives and stores the mirrored traffic, Or a caching method in which the local caching device 200 stores contents requested by the terminal device 100 according to a preset cache policy.

상기 가정 하에, 도 7을 참조하면, 로컬 캐싱 장치(200)는 단말 장치(100)로부터 컨텐츠 제공 장치(300)로 전송되는 컨텐츠 요청 메시지를 수신한다(S105).Referring to FIG. 7, the local caching apparatus 200 receives a content request message transmitted from the terminal device 100 to the content providing apparatus 300 (S105).

이렇게 한 단말 장치(100)로부터 전송된 컨텐츠 요청 메시지를 수신한 로컬 캐싱 장치(200)는, 상기 컨텐츠를 자신이 저장하고 있는 지 여부, 즉, 캐시 히트 여부를 판단한다(S110). 여기서, 캐시 히트 여부의 판단은, 상기 단말 장치(100)가 요청한 컨텐츠의 컨텐츠 주소 정보(예, URL 정보) 또는 상기 단말 장치(100)가 요청한 컨텐츠의 내용 일부(예를 들어, 일정 사이즈의 프리픽스 정보)를 키로 하여 상기 저장부(230)를 검색함에 의해 이루어질 수 있다. 상기 컨텐츠의 내용 일부를 키로 하여 검색하는 경우, 로컬 캐싱 장치(200)는 상기 컨텐츠 요청 메시지를 컨텐츠 제공 장치(300)로 전송하고 그에 대응하여 요청된 컨텐츠의 일부를 수신하는 과정을 더 수행할 수 있다. 이때, 상기 로컬 캐싱 장치(200)는 상기 컨텐츠 요청 메시지의 플로우 정보를 더 추출하고, 상기 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하는 지에 따라서, 상기 컨텐츠 주소 정보 또는 컨텐츠 내용 일부 중 어느 하나를 이용하여 컨텐츠의 저장 여부를 판단할 수 있다.Upon receipt of the content request message transmitted from the terminal device 100, the local caching device 200 determines whether the content is stored therein, that is, whether or not the content is cached (S110). Here, the cache hit determination may be made based on the content address information (e.g., URL information) of the content requested by the terminal device 100 or a content part of the content requested by the terminal device 100 (for example, Information) stored in the storage unit 230 as a key. The local caching apparatus 200 may further transmit the content request message to the content providing apparatus 300 and receive a part of the requested content corresponding to the content request message have. At this time, the local caching device 200 further extracts the flow information of the content request message, and determines whether the content address information or a part of the content content is included in the content request message according to whether the flow information matches the previously- It is possible to determine whether the content is stored or not.

상기와 같은 판단 결과, 로컬 캐싱 장치(200)의 저장부(230)에 단말 장치(100)가 요청한 컨텐츠가 저장되어 있지 않은 경우, 로컬 캐싱 장치(200)는 해당 컨텐츠를 상기 컨텐츠 제공 장치(300)로부터 수신한다(S120).If the content requested by the terminal device 100 is not stored in the storage unit 230 of the local caching device 200 as a result of the determination, the local caching device 200 transmits the content to the content providing device 300 (S120).

아울러, 상기 로컬 캐싱 장치(200)는 상기 컨텐츠 제공 장치(300)로부터 수신되거나 상기 저장부(230)에 저장되어 있는 컨텐츠를 단말 장치(100)로 전송한다(S125).In addition, the local caching device 200 transmits the content received from the content providing device 300 or stored in the storage 230 to the terminal device 100 (S125).

이와 더불어, 상기 로컬 캐싱 장치(200)는, 상기 저장한 컨텐츠에 대한 인코딩 수행 여부를 판단한다(S130). 여기서, 인코딩 수행 여부의 판단 기준으로 컨텐츠에 대한 인기도(요청 빈도)와 시간 중에서 하나 이상을 포함할 수 있다.In addition, the local caching apparatus 200 determines whether encoding of the stored content is performed (S130). Here, as a criterion of whether to perform the encoding, one or more of the popularity (request frequency) and the time for the content may be included.

상술한 판단 기준에 따라서, 인코딩 수행이 필요한 것으로 판단되면, 상기 로컬 캐싱 장치(200)는, 상기 저장한 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하여 저장한다(S135). 더 구체적으로는, 로컬 캐싱 장치(200)는, 상기 저장된 컨텐츠의 해상도보다 낮은 해상도를 갖는 컨텐츠를 인코딩할 수 있으며, 이렇게 다른 해상도의 데이터를 인코딩하여 둠으로써, 링크 품질 또는 단말 성능에 따라서 다른 해상도의 데이터가 요청될 경우, 로컬 캐싱 장치(200)는 컨텐츠 제공 장치(300)로 요청할 필요 없이, 해당 컨텐츠를 바로 서비스할 수 있다.If it is determined that the encoding is to be performed according to the above-described criteria, the local caching device 200 encodes the stored content into two or more pieces of content data having different resolutions and stores the encoded content in step S135. More specifically, the local caching device 200 can encode content having a resolution lower than the resolution of the stored content, and encodes the data having such a different resolution, The local caching device 200 can directly service the content without requesting the content providing device 300. [

여기서, 더하여 상기 로컬 캐싱 장치(200)는, 상기 컨텐츠를 상기 단말 장치(100)에 전송한 후, 상기 컨텐츠에 대한 요청이 발생하기 전까지의 시간을 카운팅하고, 상기 시간이 일정 시간을 초과한 경우, 즉, 해당 컨텐츠에 대한 요청이 일정 시간 이상 발생하지 않으면, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 중에서 저 해상도의 컨텐츠를 하나 이상 삭제할 수 있다. 이에 의하면, 제한된 크기의 저장부(230)를 보다 효율적으로 이용할 수 있게 된다.In addition, the local caching device 200 may count the time until a request for the content occurs after the content is transmitted to the terminal device 100, and if the time exceeds the predetermined time That is, if a request for the corresponding content does not occur for a predetermined time, one or more low resolution contents can be deleted from two or more contents having different resolutions. Accordingly, the storage unit 230 having a limited size can be used more efficiently.

본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 제공 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method of providing a content caching service according to an exemplary embodiment of the present invention may be implemented in the form of software readable by various computer means and recorded in a computer-readable recording medium. Here, the recording medium may include program commands, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. For example, the recording medium may be an optical recording medium such as a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, a compact disk read only memory (CD-ROM), a digital video disk (DVD) Includes a hardware device that is specially configured to store and execute program instructions such as a magneto-optical medium such as a floppy disk and a ROM, a random access memory (RAM), a flash memory, do. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like. Such a hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으나, 여기에 개시된 실시 예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be apparent to those skilled in the art. Furthermore, although specific terms are used in this specification and the drawings, they are used in a generic sense only to facilitate the description of the invention and to facilitate understanding of the invention, and are not intended to limit the scope of the invention.

본 발명은, 동일 컨텐츠를 서로 다른 해상도를 갖는 다수의 컨텐츠로 인코딩하여 링크 품질 또는 단말 성능에 따라서 적절한 해상도의 컨텐츠를 제공하는 적응형 컨텐츠 전송 방식을 지원하는데 있어서, 로컬 캐싱 장치가, 특정 해상도의 컨텐츠를 인코딩하여 서로 다른 해상도를 갖는 둘 이상의 컨텐츠를 미리 생성하여 저장하여 두고, 이후 단말 장치로부터의 요청에 따라서 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 중에서 선택적으로 단말 장치로 전송함으로써, 컨텐츠 제공 장치와 로컬 캐싱 장치 사이의 구간에서의 트래픽을 더 감소시키고 보다 효율적으로 컨텐츠 캐싱 서비스를 제공할 수 있도록 하는 우수한 효과가 있다.The present invention supports an adaptive content transmission method in which the same content is encoded into a plurality of contents having different resolutions to provide content of appropriate resolution according to link quality or terminal performance, The content providing apparatus and the content providing apparatus may be configured so that two or more contents having different resolutions are generated and stored in advance by encoding the contents and then selectively transmitted to two or more contents having different resolutions according to a request from the terminal apparatus, It is possible to further reduce the traffic in the interval between the caching devices and to provide the content caching service more efficiently.

100: 단말 장치 200: 로컬 캐싱 장치
210: 통신 인터페이스부 220: 제어부
221: 인코딩 모듈 230: 저장부
300: 컨텐츠 제공 장치 400: 네트워크
100: terminal device 200: local caching device
210: communication interface unit 220:
221: encoding module 230:
300: Content providing apparatus 400: Network

Claims (10)

하나 이상의 컨텐츠 제공 장치와 하나 이상의 단말 장치를 연결하는 네트워크에 배치되어, 단말 장치에서 상기 컨텐츠 제공 장치에 요청한 컨텐츠를 상기 컨텐츠 제공 장치를 대신하여 상기 단말 장치로 전송하는 로컬 캐싱 장치에 있어서,
상기 하나 이상의 컨텐츠 제공 장치로부터 하나 이상의 단말 장치로 전송되는 컨텐츠의 일부 또는 전부를 저장하는 저장부;
상기 하나 이상의 컨텐츠 제공 장치와 하나 이상의 단말 장치 간에 데이터를 전달하는 상기 네트워크에 연결되어, 상기 네트워크를 통해 데이터를 송수신하는 통신 인터페이스부; 및
상기 통신 인터페이스부를 통해 상기 하나 이상의 컨텐츠 제공 장치로부터 상기 하나 이상의 단말 장치로 전송되는 컨텐츠의 일부 또는 전부를 수신하여 상기 저장부에 저장시키고, 상기 저장부에 저장된 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하여 상기 저장부에 저장한 후, 단말 장치로부터의 요청에 따라서 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터중 하나를 선택적으로 상기 단말 장치에 전송하도록 제어하는 제어부;
를 포함하는 것을 특징으로 하는 로컬 캐싱 장치.
A local caching apparatus, which is disposed in a network connecting one or more content providing apparatuses and one or more terminal apparatuses and transmits a content requested by the terminal apparatus to the content providing apparatus on behalf of the content providing apparatus,
A storage unit for storing a part or all of contents transmitted from the one or more contents providing apparatuses to one or more terminal apparatuses;
A communication interface unit connected to the network for transferring data between the at least one content providing apparatus and at least one terminal apparatus, and transmitting and receiving data through the network; And
Receiving a part or all of the content transmitted from the one or more content providing apparatuses to the one or more terminal apparatuses through the communication interface unit and storing the received content in the storage unit and transmitting the content stored in the storage unit to two or more content A control unit for selectively transmitting one of two or more pieces of content data having different resolutions to the terminal apparatus in response to a request from the terminal apparatus after storing the encoded data in the storage unit;
The local caching device comprising:
제1항에 있어서,
상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터는 각각 다수의 청크 데이터로 나누어지는 것을 특징으로 하는 로컬 캐싱 장치.
The method according to claim 1,
Wherein the at least two pieces of content data having different resolutions are divided into a plurality of chunk data.
제1항에 있어서, 상기 제어부는
인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라서 상기 인코딩 여부를 판단하는 것을 특징으로 하는 로컬 캐싱 장치.
The apparatus of claim 1, wherein the control unit
And determines whether or not the encoding is performed according to a criterion including at least one of a popularity and a time.
제1항에 있어서, 상기 제어부는
상기 컨텐츠에 대한 요청이 일정 시간이상 없는 경우, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 저 해상도의 컨텐츠 데이터를 하나 이상 삭제하는 것을 특징으로 하는 로컬 캐싱 장치.
The apparatus of claim 1, wherein the control unit
And deletes one or more pieces of low-resolution content data from the two or more pieces of content data having different resolutions when the request for the content is not received for a predetermined time or more.
제1항에 있어서, 상기 제어부는
상기 단말 장치로부터 상기 컨텐츠가 요청되거나 상기 컨텐츠를 상기 저장부에 캐싱하는 시점에, 상기 인코딩을 수행하는 것을 특징으로 하는 로컬 캐싱 장치.
The apparatus of claim 1, wherein the control unit
Wherein the encoding unit performs the encoding at a time when the content is requested from the terminal or when the content is cached in the storage unit.
제1항에 있어서, 상기 제어부는
인코딩할 서로 다른 둘 이상의 해상도에 대한 정보를, 상기 컨텐츠의 재생 정보를 제공하는 인덱스 파일 또는 상기 컨텐츠에 대한 전송 이력으로부터 획득하는 것을 특징으로 하는 로컬 캐싱 장치.
The apparatus of claim 1, wherein the control unit
And acquires information on two or more different resolutions to be encoded from an index file for providing reproduction information of the content or a transmission history for the content.
하나 이상의 컨텐츠 제공 장치와 하나 이상의 단말 장치를 연결하는 네트워크에 배치되어, 단말 장치에서 상기 컨텐츠 제공 장치에 요청한 컨텐츠를 상기 컨텐츠 제공 장치를 대신하여 상기 단말 장치로 전송하는 로컬 캐싱 장치가,
상기 컨텐츠 제공 장치로부터 단말 장치로 서비스하는 컨텐츠의 일부 또는 전부를 저장하는 단계;
상기 저장한 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하여 저장하는 단계; 및
단말 장치의 요청에 따라서, 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중 하나를 선택적으로 상기 단말 장치에 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
A local caching apparatus, which is disposed in a network connecting one or more content providing apparatuses and one or more terminal apparatuses and transmits a content requested by the terminal apparatus to the content providing apparatus on behalf of the content providing apparatus,
Storing a part or all of the content served from the content providing apparatus to the terminal apparatus;
Encoding the stored content into two or more pieces of content data having different resolutions and storing the encoded content; And
And selectively transmitting one of two or more pieces of content data having different resolutions to the terminal apparatus in response to a request of the terminal apparatus.
제7항에 있어서,
상기 인코딩하는 단계 이전에, 상기 컨텐츠의 인덱스 파일 또는 상기 컨텐츠의 전송 이력으로부터 인코딩할 하나 이상의 해상도에 대한 정보를 획득하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
8. The method of claim 7,
Further comprising the step of acquiring information on at least one resolution to be encoded from the index file of the content or the transfer history of the content prior to the encoding step.
제7항에 있어서,
상기 인코딩하는 단계 이전에, 인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라서 상기 컨텐츠에 대한 인코딩 여부를 판단하고, 판단 결과에 따라서 상기 인코딩하는 단계가 수행되도록 하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
8. The method of claim 7,
Determining whether or not the content is encoded according to a criterion including at least one of popularity and time before the encoding step, and performing the encoding step according to the determination result A method for providing a content caching service.
제7항에 있어서,
컨텐츠를 상기 단말 장치에 전송한 후, 상기 컨텐츠에 대한 요청이 발생하기 전까지의 시간을 카운팅하고, 상기 시간이 일정 시간을 초과한 경우, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 저 해상도의 컨텐츠를 하나 이상 삭제하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
8. The method of claim 7,
The method comprising the steps of: counting a time until a request for the content occurs after transmitting the content to the terminal device; and when the time exceeds the predetermined time, Further comprising the step of deleting one or more content caching services.
KR1020120058789A 2012-05-31 2012-05-31 Method for providing content caching service in adapted streaming service and local caching device thereof KR101888982B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120058789A KR101888982B1 (en) 2012-05-31 2012-05-31 Method for providing content caching service in adapted streaming service and local caching device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120058789A KR101888982B1 (en) 2012-05-31 2012-05-31 Method for providing content caching service in adapted streaming service and local caching device thereof

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020180089377A Division KR101971595B1 (en) 2018-07-31 2018-07-31 Method for providing content caching service in adapted streaming service and local caching device thereof

Publications (2)

Publication Number Publication Date
KR20130134911A KR20130134911A (en) 2013-12-10
KR101888982B1 true KR101888982B1 (en) 2018-08-17

Family

ID=49982461

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120058789A KR101888982B1 (en) 2012-05-31 2012-05-31 Method for providing content caching service in adapted streaming service and local caching device thereof

Country Status (1)

Country Link
KR (1) KR101888982B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102489071B1 (en) * 2018-03-07 2023-01-17 라인플러스 주식회사 Method and system for reusing media contents based on user's usage pattern
KR102193806B1 (en) * 2020-03-27 2020-12-22 연진선 Real time distributed transmission system for ar contents

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101104727B1 (en) * 2008-10-16 2012-01-11 에스케이플래닛 주식회사 System and method for content delivery using cache server and browser cache
KR101066872B1 (en) * 2008-10-30 2011-09-26 에스케이텔레콤 주식회사 System and method for content delivery using cache server, and cache server thereof
JP5262879B2 (en) * 2009-03-18 2013-08-14 株式会社Jvcケンウッド Re-encoding device and re-encoding method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이정환 외 2명, "CCN에서 계층화된 비디오 컨텐츠 기반 패킷 스케줄링 모델", 한국정보과학회 2010 한국컴퓨터종합학술대회 논문집 제37권 제1호(D), 2010.6, pp.297-300(2010.06.30.)

Also Published As

Publication number Publication date
KR20130134911A (en) 2013-12-10

Similar Documents

Publication Publication Date Title
KR101330052B1 (en) Method for providing content caching service in adapted content streaming and local caching device thereof
KR101436049B1 (en) Method for providing content caching service and local caching device thereof
US9356985B2 (en) Streaming video to cellular phones
CN110022482B (en) Video playing starting method, video service system and storage medium
KR101981285B1 (en) Contents delivery service system using contents identification, apparatus therefor and contents delivery service method thereof
WO2017125017A1 (en) Method for adjusting cache content, device, and system
KR102210409B1 (en) Method for providing of live streaming contents, apparatus and recording medium recording program therfor
US11736740B2 (en) Delivering video in a content delivery network
KR20140021372A (en) Contents delivery service method and local cache apparatus using contents identification
KR102356621B1 (en) Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache
GB2513617A (en) Caching of content
WO2015031507A1 (en) Generating frame chunking for video fast starts
KR102070149B1 (en) Method for delivery of content by means of caching in communication network and apparatus thereof
KR101888982B1 (en) Method for providing content caching service in adapted streaming service and local caching device thereof
KR101441403B1 (en) Content Delivery Service system, apparatus and method for supporting contents delivery service thereof
KR101971595B1 (en) Method for providing content caching service in adapted streaming service and local caching device thereof
KR101087599B1 (en) Transmission control method for http streaming video service
KR102169717B1 (en) Method for caching of contents and cache apparatus therefor
KR102148147B1 (en) Method for distributing a content and apparatus thereof
KR101969869B1 (en) Private caching network system and method for providing private caching service
KR102519390B1 (en) Method for distributing a content and apparatus thereof
US9288153B2 (en) Processing encoded content
KR101565137B1 (en) Method for providing wireless streaming service and apparatus therefor
TW201427390A (en) Inverse proxy system and method

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
A107 Divisional application of patent