KR101971595B1 - 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 - Google Patents
적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 Download PDFInfo
- Publication number
- KR101971595B1 KR101971595B1 KR1020180089377A KR20180089377A KR101971595B1 KR 101971595 B1 KR101971595 B1 KR 101971595B1 KR 1020180089377 A KR1020180089377 A KR 1020180089377A KR 20180089377 A KR20180089377 A KR 20180089377A KR 101971595 B1 KR101971595 B1 KR 101971595B1
- Authority
- KR
- South Korea
- Prior art keywords
- content
- terminal
- resolution
- local caching
- data
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000005540 biological transmission Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 19
- 230000003044 adaptive effect Effects 0.000 abstract description 26
- 238000010586 diagram Methods 0.000 description 9
- 238000010295 mobile communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000760358 Enodes Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4332—Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 링크 품질 또는 단말 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 제공할 수 있도록 한 적응형 컨텐츠 제공 방식을 고려한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치에 관한 것으로서, 로컬 캐싱 장치가 특정 해상도의 컨텐츠를 인코딩하여 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 생성함으로써 컨텐츠 제공 장치와 로컬 캐싱 장치 사이의 구간에서의 트래픽을 더 감소시키고 보다 효율적으로 컨텐츠 캐싱 서비스를 제공할 수 있도록 한다.
Description
본 발명은 네트워크상에서의 컨텐츠 중복 전송을 방지하여 트래픽을 감소시키기 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치에 관한 것으로서, 더욱 상세하게는 링크 품질 또는 단말 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠 전송 방식에 따라 전송되는 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 제공할 수 있도록 한 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치에 관한 것이다.
최근 성능이 향상된 스마트 폰의 보급과, 이를 기반으로 한 컨텐츠 제공자의 급증으로 인하여, 이동통신망의 트래픽은 점점 증가하고 있는 추세이며, 그에 따라서, 웹(Web) 다운로드, 비디오(Video), 오디오(Audio), 영상(Image), 어플리케이션(Application) 등과 같은 컨텐츠의 전송 속도 저하로 인한 서비스 품질 문제가 이슈가 되고 있다.
특히, 컨텐츠 전송 기술의 발달에 따라서, VOD(Video On Demand), Live Streaming과 같은 온라인 동영상 서비스나 음악 스트리밍, 파일 업로드 및 파일 다운로드 등에 있어서, 대용량 파일 전송이 가능해지면서, 그에 따라서 대용량 컨텐츠를 전달하려는 다양한 서비스도 제공되고 있다.
그런데 이러한 컨텐츠 제공 서비스들은, 그 인기도에 따라 빈도는 다를 수 있으나, 통상적으로 중복적인 콘텐트를 동일 도메인 또는 동일 무선 커버리지 내의 사용자에게 전달하는 특징이 있으며, 이용 증가에 따라서 네트워크 트래픽에서 차지하는 비중이 점차적으로 증가하고 있는 상황이다.
이와 같이, 중복된 콘텐트의 전송은 통신망의 트래픽 부하가 더욱 증가하게 되므로 이러한 중복 전송의 방지를 통해 트래픽 감소를 위한 노력이 이루어지고 있으며, 관련 기술로서 CDN(Contents Delivery network) 서비스는 영화, 뮤직 비디오 등과 같은 동영상을 포함하는 다양한 컨텐츠를 사용자에게 안정적으로 전달하기 위한 서비스로서, 통상 네트워크상에 분산 배치된 다수의 로컬 캐싱 장치에 컨텐츠를 저장하여 두고, GLB(Global Load Balance) 서버와 같은 부하 분산 장치를 통해서 다수의 캐시 서버 중에서 최적의 캐시 서버를 선택하여, 선택된 캐시 서버를 통해 요청된 컨텐츠가 사용자의 단말로 전달하도록 구현된다.
이러한 CDN는 인터넷 망을 기반으로 인터넷상에서의 데이터 손실, 병목 현상, 전송 속도 저하, 데이터 끊김과 같은 불안전성 등을 해결하도록 구현되었다.
컨텐츠 캐싱 기술은, 이러한 CDN 서비스에 있어서, 네트워크 상에 분산 배치되는 다수의 로컬 캐싱 장치에 컨텐츠를 선택적으로 캐싱하는 기술로서, 이러한 컨텐츠 캐싱은 로컬 캐싱 장치의 저장 공간을 고려하여 이루어져야 하며, 또한, 캐싱된 컨텐츠 중에서 사용자가 요청한 컨텐츠와 일치하는 컨텐츠를 판정하는데 소요되는 시간 및 사용자가 요청한 콘텐트 중 캐싱된 컨텐츠와 일치하는 비율인 캐시 히트 레이트(cache hit rate)에 대한 고려도 필요하다.
특히, 링크 품질 또는 단말의 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠 전송 방식(예를 들어, HTTP Live Streaming(HLS))의 경우 동일 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠로 인코딩하여 제공하며, 각 컨텐츠를 다수의 청크로 분할하여 링크 품질 또는 단말 성능에 따라서 적정 해상도의 컨텐츠를 선택 전송한다.
본 발명은 링크 품질 또는 단말 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 제공할 수 있도록 한 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치를 제공하고자 한다.
특히, 본 발명은 로컬 캐싱 장치가 특정 해상도의 컨텐츠를 인코딩하여 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 생성함으로써 컨텐츠 제공 장치와 로컬 캐싱 장치 사이의 구간에서의 트래픽을 더 감소시키고 보다 효율적으로 컨텐츠 캐싱 서비스를 제공할 수 있도록 하는 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치를 제공하고자 한다.
본 발명은 상술한 과제를 해결하기 위한 수단으로서, 하나 이상의 컨텐츠 제공 장치로부터 하나 이상의 단말 장치로 서비스되는 컨텐츠의 일부 또는 전부를 저장하는 저장부; 상기 하나 이상의 컨텐츠 제공 장치와 하나 이상의 단말 장치 간에 데이터를 전달하는 통신망에 연결되어, 상기 통신망을 통해 데이터를 송수신하는 통신 인터페이스부; 및 상기 저장부에 저장된 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하여 상기 저장부에 저장한 후, 단말 장치로부터의 요청에 따라서 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중 하나를 선택적으로 상기 단말 장치에 전송하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 로컬 캐싱 장치를 제공한다.
본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 둘 이상의 컨텐츠 데이터는 각각 다수의 청크 데이터로 나누어지는 것을 특징으로 한다.
본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라서 상기 인코딩 여부를 판단할 수 있다.
본 발명에 로컬 캐싱 장치에 있어서, 상기 제어부는 상기 컨텐츠에 대한 요청이 일정 시간이상 없는 경우, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 저 해상도의 컨텐츠 데이터를 하나 이상 삭제할 수 있다.
본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 상기 컨텐츠를 상기 저장부에 캐싱하는 시점 또는 상기 컨텐츠가 요청되는 시점에, 상기 인코딩을 수행할 수 있다.
본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 인코딩할 서로 다른 둘 이상의 해상도에 대한 정보를, 상기 컨텐츠의 재생 정보를 제공하는 인덱스 파일 또는 상기 컨텐츠에 대한 전송 이력으로부터 획득할 수 있다.
더하여, 본 발명은 상술한 과제를 해결하기 위한 다른 수단으로서, 로컬 캐싱 장치가, 컨텐츠 제공 장치로부터 단말 장치로 서비스하는 컨텐츠의 일부 또는 전부를 저장하는 단계; 상기 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하는 단계; 및 단말 장치의 요청에 따라서, 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중 하나를 선택적으로 상기 단말 장치에 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법을 제공한다.
본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법은, 상기 인코딩하는 단계 이전에, 상기 컨텐츠의 인덱스 파일 또는 상기 컨텐츠의 전송 이력으로부터 인코딩할 하나 이상의 해상도에 대한 정보를 획득하는 단계를 더 포함할 수 있다.
본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법은, 상기 인코딩하는 단계 이전에, 인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라서 상기 컨텐츠에 대한 인코딩 여부를 판단하고, 판단 결과에 따라서 상기 인코딩하는 단계가 수행되도록 하는 단계를 더 포함할 수 있다.
본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법은, 컨텐츠를 상기 단말 장치에 전송한 후, 상기 컨텐츠에 대한 요청이 발생하기 전까지의 시간을 카운팅하고, 상기 시간이 일정 시간을 초과한 경우, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 저 해상도의 컨텐츠를 하나 이상 삭제하는 단계를 더 포함할 수 있다.
본 발명은, 동일 컨텐츠를 서로 다른 해상도를 갖는 다수의 컨텐츠 데이터로 인코딩하여 링크 품질 또는 단말 성능에 따라서 적절한 해상도의 컨텐츠 데이터를 선택 제공하는 적응형 컨텐츠 전송 방식을 지원하는데 있어서, 로컬 캐싱 장치가 특정 해상도의 컨텐츠를 인코딩하여 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 미리 생성하여 저장하여 두고, 이후 단말 장치로부터의 요청에 따라서 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 선택적으로 단말 장치로 전송함으로써, 컨텐츠 제공 장치와 로컬 캐싱 장치 사이의 구간에서의 트래픽을 더 감소시키고, 보다 효율적으로 컨텐츠 캐싱 서비스를 제공할 수 있도록 하는 우수한 효과가 있다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 시스템을 개략적으로 도시한 블럭도이다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 시스템에 있어서, 로컬 캐싱 장치의 분산 배치 구성을 설명하기 위한 상세 블럭도이다.
도 3은 본 발명에 적용되는 적응형 컨텐츠의 구조를 간략히 설명하기 위한 모식도이다.
도 4는 기존의 컨텐츠 캐싱 서비스에 따라서 적응형 컨텐츠를 제공하는 과정을 나타낸 흐름도이다.
도 5는 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스에서의 적응형 컨텐츠 제공 과정을 나타낸 흐름도이다.
도 6은 본 발명의 실시 예에 따른 로컬 캐싱 장치의 구성을 나타낸 블럭도이다.
도 7은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 방법을 설명하기 위한 순서도이다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 시스템에 있어서, 로컬 캐싱 장치의 분산 배치 구성을 설명하기 위한 상세 블럭도이다.
도 3은 본 발명에 적용되는 적응형 컨텐츠의 구조를 간략히 설명하기 위한 모식도이다.
도 4는 기존의 컨텐츠 캐싱 서비스에 따라서 적응형 컨텐츠를 제공하는 과정을 나타낸 흐름도이다.
도 5는 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스에서의 적응형 컨텐츠 제공 과정을 나타낸 흐름도이다.
도 6은 본 발명의 실시 예에 따른 로컬 캐싱 장치의 구성을 나타낸 블럭도이다.
도 7은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 방법을 설명하기 위한 순서도이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
아울러, 본 발명에 대한 이해를 돕기 위하여, 이하의 설명에서 사용되는 용어를 정의하면 다음과 같다.
'플로우 정보'는 단말 장치로 특정 컨텐츠를 전송하는 플로우를 정의하는 정보로서, 상기 특정 컨텐츠를 수신하는 목적지의 IP 주소 정보, 상기 목적지의 포트 정보, 및 상기 특정 컨텐츠를 제공하는 소스의 IP 주소 정보를 포함하여 이루어질 수 있다. 상기 플로우 정보는 출발지 및 목적지의 IP 주소 정보, 포트 정보, 프로토콜 필드 정보 중 하나 이상의 조합으로 이루어질 수 있다. 본 발명의 일 실시 예에 있어서, 상기 플로우 정보는, 특정 컨텐츠를 수신하는 목적지의 IP 주소 정보, 상기 목적지의 포트 정보, 및 상기 특정 컨텐츠를 제공하는 소스의 IP 주소 정보의 조합으로 이루어진다.
'컨텐츠 주소 정보'는 네트워크 상에서 컨텐츠 제공 장치가 제공하는 컨텐츠의 위치를 나타내는 정보로서, 예를 들어, 프로토콜 타입, 컨텐츠 제공 장치의 도메인 이름이나 IP 주소, 컨텐츠의 파일 경로명으로 구성되는 URL(Uniform Resource Locator)이 될 수 있다.
'컨텐츠 구분 정보'는 로컬 캐싱 장치에 저장된 컨텐츠들을 서로 구분하기 위한 정보로서, 구체적으로는, 컨텐츠의 내용 중 적어도 일부를 추출하거나 이를 가공(예를 들어, 해쉬 연산)하여 형성된 정보를 의미한다. 즉, 컨텐츠 구분 정보는 컨텐츠의 내용 중 적어도 일부를 기반으로 생성되어, 컨텐츠를 식별할 수 있는 정보이다. 예를 들어, 컨텐츠 구분 정보는, 기 설정된 길이의 프리픽스 정보, 상기 프리픽스 정보를 기 설정된 해쉬 함수로 연산한 해쉬값, 및 상기 컨텐츠의 메타 데이터 중 하나 이상을 포함하여 이루어질 수 있다.
'캐시 히트(Cache hit)'는 저장 수단(Cache)에 요청한 컨텐츠가 존재하는 것을 의미하는 것으로서, 본 발명에 있어서, 로컬 캐싱 장치에서 저장하고 있는 컨텐츠 중 단말 장치에서 요청한 컨텐츠와 일치하는 컨텐츠가 존재하는 상태를 의미한다. 상술한 용어의 정의를 참조함으로써, 이하에서 설명하는 본 발명의 실시 예가 좀더 명확히 이해될 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 시스템을 개략적으로 도시한 블럭도이다.
도 1을 참조하면, 본 발명에 의한 컨텐츠 캐싱 서비스는, 네트워크(400)를 통해서 연결되는 단말 장치(100)와, 로컬 캐싱 장치(200)와, 컨텐츠 제공 장치(300)을 기반으로 이루어진다.
단말 장치(100)는 네트워크(400)에 접속하여, 상기 네트워크(400)를 통해 제공되는 컨텐츠를 이용하는 사용자 장치로서, 컨텐츠 제공 장치(300)로 특정 컨텐츠를 요청하고, 이에 대응하여 컨텐츠 제공 장치(300) 또는 로컬 캐싱 장치(200)로부터 전송되는 컨텐츠를 수신하여 이용한다. 이러한 단말 장치(100)는 예를 들어, 데스크톱 PC, 노트북 컴퓨터, 태블릿 PC, 스마트 폰, PDA(Personal Digital Assistant), 인터넷 TV(스마트 TV) 등 통신 기능을 포함하고 있는 전자/정보 통신 기기라면 어떤 것이라도 포함될 수 있다.
로컬 캐싱 장치(200)는 네트워크(400) 상에 분산 배치되어, 상기 컨텐츠 제공 장치(300)에서 제공하는 컨텐츠를 임시 또는 일정 시간 동안 저장하여, 단말 장치(100)로부터 상기 컨텐츠가 요청되면, 상기 컨텐츠 제공 장치(300)를 대신하여 저장하고 있는 컨텐츠를 단말 장치(100)로 제공한다. 이를 위하여, 로컬 캐싱 장치(200)는 다양한 캐싱 기법을 이용하여, 상기 컨텐츠 제공 장치(300)로부터 단말 장치(100)로 제공되는 컨텐츠의 일부 또는 전부를 복사하여 저장하는 캐싱 동작을 수행한다. 구체적으로, 상기 로컬 캐싱 장치(200)는 상기 단말 장치(100)의 컨텐츠 요청 메시지를 수신하면, 상기 컨텐츠 요청 메시지에 포함된 컨텐츠 주소 정보 또는 상기 컨텐츠 요청 메시지를 컨텐츠 제공 장치(300)로 전송한 후 상기 컨텐츠 제공 장치(300)로부터 전송되는 컨텐츠의 일부를 기반으로 상기 단말 장치(100)가 요청한 컨텐츠가 저장되어 있는 지를 판단한다. 여기서, 상기 로컬 캐싱 장치(200)는 상기 컨텐츠 요청 메시지에 포함된 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하는지 비교하여, 일치하면 상기 단말 장치(100)가 요청한 컨텐츠의 컨텐츠 주소 정보를 기반으로 상기 컨텐츠의 저장 여부를 판단하고, 일치하지 않으면 상기 컨텐츠 제공 장치(300)로부터 상기 단말 장치(100)가 요청한 컨텐츠의 일부를 수신하고, 수신한 컨텐츠의 일부를 키로 하여 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단할 수 있다.
상기와 같이 판단한 결과, 컨텐츠가 저장되어 있는 경우, 로컬 캐싱 장치(200)는 상기 컨텐츠 제공 장치(300)를 대신하여 저장된 컨텐츠를 상기 단말 장치(100)로 전송하며, 상기 단말 장치(100)가 요청한 컨텐츠를 저장하고 있지 않은 경우에는, 컨텐츠 제공 장치(300)로부터 컨텐츠를 수신하여 단말 장치(100)로 전송하면서, 이후 동일 컨텐츠에 대한 요청시 해당 컨텐츠를 제공할 수 있도록 캐싱한다.
특히, 본 발명의 일 실시 예에 있어서, 로컬 캐싱 장치(200)는 적응형 컨텐츠의 제공을 위하여, 저장하고 있는 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하고, 상기 단말 장치(100)로부터의 요청에 따라서 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 중에서 하나를 선택적으로 단말 장치(100)로 전송한다.
상술한 로컬 캐싱 장치(200)의 상세 구성 및 동작은 이후에 더 구체적으로 설명하기로 한다.
또한, 본 발명의 실시 예에서는, 로컬 캐싱 장치(200)를 하나로 도시하였으나, 로컬 캐싱 장치(200)는 하나 이상으로 이루어져 네트워크(400) 상에 분산 배치될 수 있다.
다음으로, 상기 컨텐츠 제공 장치(300)는 네트워크(400)를 통해서 임의의 컨텐츠, 예를 들어, 동영상 파일, 오디오 파일, 웹 페이지 등을 포함하는 다양한 컨텐츠를 제공하는 서비스 장치로서, 이때, 상기 컨텐츠는 스트리밍 또는 다운로드 방식으로 제공될 수 있다. 이러한 컨텐츠 제공 장치(300)는 예를 들어, 유료 또는 무료의 동영상을 업로드하거나, 보거나, 공유할 수 있도록 하는 동영상 공유 사이트, 모바일 컨텐츠를 자유롭게 거래할 수 있는 어플리케이션 스토어, 인터넷을 통해 방송 서비스를 제공하는 IPTV 등을 서비스를 서버 장치일 수 있다.
본 발명의 일 실시 예에 있어서, 상기 컨텐츠 제공 장치(300)는, 적응형 컨텐츠 전송 서비스를 제공할 수 있다. 구체적으로는, 동일 컨텐츠를 서로 다른 해상도를 갖는 둘 이상 컨텐츠로 인코딩하여 구비하며, 특히 상기 컨텐츠를 다수의 청크로 나누어 저장한 후, 링크 품질 또는 단말 성능에 따라서 적절한 해상도의 컨텐츠 데이터를 단말 장치(100)로 전송한다.
아울러, 상술한 단말 장치(100)와 로컬 캐싱 장치(200)와 컨텐츠 제공 장치(300)를 연결하는 네트워크(400)는 현재 사용되고 있거나 향후 사용 가능한 통신망 및 이들을 결합으로 이루어진 통합망까지 포함할 수 있다. 구체적으로, 네트워크(400)는 인터넷 망과 같은 IP 기반의 유무선의 통신망을 포함할 수 있다. 뿐만 아니라, 네트워크(400)는 LTE(Long term evolution) 망, WCDMA 망과 같은 이동통신망뿐만 아니라, 이외에, Wi-Fi망과 같은 다양한 종류의 무선망과, 이들의 결합으로 이루어지는 모바일 망을 포함할 수 있다. 이 경우, 본 발명에 의한 로컬 캐싱 장치(200)는 모바일 망에서의 컨텐츠 중복 전송 및 트래픽 감소를 위해 이용될 수 있다.
본 발명에 의한 로컬 캐싱 장치(200)는 상술한 네트워크(400)에 분산 배치되는데, 특히, 상기 네트워크(400)의 에지에 분산 배치된다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 제공 시스템에 있어서, 로컬 캐싱 장치(200)의 배치 구조를 설명하기 위하여 상기 네트워크(400)의 상세 구성을 나타낸 블럭도이다.
도 2을 참조하면, 네트워크(400)는, 사용자의 단말 장치(100)가 접속되는 하나 이상의 무선 또는 유선 접속망(410,420)과 상기 무선 또는 유선 접속망(410,420) 간을 연결하는 코어망(430)을 포함하여 이루어질 수 있다.
여기서, 상기 무선 접속망(410)은, 다양한 무선 통신 방식으로 단말 장치(100)와 데이터를 송수신할 수 있는 가입자망을 의미하는 것으로서, 이동통신망, Wi-Fi망을 포함할 수 있으며, 유선 접속망(420)은 단말 장치(100)와 유선으로 연결되어, 데이터를 송수신하는 가입자망을 의미하는 것으로서, 예를 들어, 광통신방식의 FTTH와 같은 유선 엑세스망을 포함할 수 있다.
로컬 캐싱 장치(200:200a, 200b)는 상술한 네트워크(400)의 에지 노드에 분산 배치될 수 있다. 더 구체적으로 설명하면, 코어망(100)의 각 무선/유선 접속망(410,420)과 연결되는 스위칭 장치(예를 들어, 라우터 등)(431a, 431b, 431c)에 연결되어, 각각 하나 이상의 무선/유선 접속망(410,420)에 연결된 단말 장치(100)에 대하여 컨텐츠 캐싱 서비스를 제공할 수 있다.
특히, 이동통신망과 같은 모바일 망에 본 발명에 의한 컨텐츠 캐싱 서비스를 적용하고자 하는 경우, 상기 로컬 캐싱 장치(200)는, 모바일 망에 있어서, BS(Base Station), BTS(Base Transceiver Station), 노드B, e노드B 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현되는 무선 접속망 단위로 분산 배치될 수 있으며, 이 경우, 각 무선 접속망에 연결되는 이동통신시스템의 에지 노드(예를 들어, 스위칭 장치)에 연결되어, 각 무선 접속망에 연결된 이동 단말 장치로의 컨텐츠 전송을 지원할 수 있다.
아울러, 도 3은 본 발명에 따른 컨텐츠 캐싱 서비스에 대한 이해를 돕기 위하여, 적응형 컨텐츠의 구조를 간략히 나타낸 모식도이다.
도 3을 참조하면, HLS(HTTP Live Streaming)와 같은 적응형 컨텐츠 전송 방식에 따르면, 임의의 한 컨텐츠(10)는, 서로 다른 다양한 해상도로 인코딩된 둘 이상의 컨텐츠 데이터(11, 12, 13)을 포함하여 이루어진다. 본 발명의 일 실시 예에 있어서, 상기 컨텐츠 데이터(11, 12, 13)는 예를 들어, 1024K, 720K, 480K의 해상도로 이루어진 컨텐츠 데이터(11, 12, 13)를 포함할 수 있다. 이 경우, 상기 컨텐츠(10)는, 링크 품질 또는 단말 성능에 따라서 1024K, 720K, 480K 의 해상도로 제공될 수 있다.
또한, 서로 다른 해상도로 인코딩된 각 컨텐츠 데이터(11, 12, 13)는 각각 소정 크기의 청크 데이터(A1~A3, B1~B3, C1~C3)로 나누어진다. 여기서, 하나의 청크 데이터의 크기는 예를 들어, 동영상 컨텐츠라고 할 때, 10초 정도로 설정될 수 있다.
이렇게 다양한 해상도를 갖는 컨텐츠(10)는 청크 단위로 전송되며, 단말 장치(100)의 성능, 링크 품질 중 어느 하나에 따라서, 적정 해상도의 컨텐츠 데이터가 선택 전송된다.
따라서, 적응형 컨텐츠가 아닌 경우에는, 컨텐츠 자체에 대하여 한번 정도의 GET 메시지가 전송되나, 적응형 컨텐츠의 경우, 청크 단위로 컨텐츠 요청이 발생하기 때문에 일반 컨텐츠에 비하여 상대적으로 많은 GET 메시지가 발생된다.
도 4는 상술한 적응형 컨텐츠에 대한 기존의 컨텐츠 캐싱 서비스 과정을 나타낸 도면으로서, 이를 참조하면, 통상적으로, 단말 장치가 컨텐츠(10)를 스트리밍받는 경우, 링크 품질이 양호하여 고 해상도의 데이터 A1을 요청하여 수신한 후, 링크 품질이 저하되면 그 다음 재생 순서의 데이터로서 저 해상도의 데이터 C2를 요청할 수 있으며, 그 다음 단계에서는 다시 좀더 높은 중간 해상도의 데이터 B3를 요청할 수 있다.
이때, 상기 로컬 캐싱 장치는 각각의 요청된 컨텐츠 데이터의 저장 여부를 확인하는데, 여기서 임의의 컨텐츠(10)의 모든 데이터가 저장되어 있지 않다고 가정하면, 상기 로컬 캐싱 장치는 A1, C2, B3 순으로 컨텐츠 제공 장치에 컨텐츠를 요청하고, 이에 대응하여 전송되는 데이터 A1, C2, B3를 단말 장치에 순차적으로 전송하게 된다.
이와 같이, 적응형 컨텐츠의 경우, 청크 단위로 컨텐츠가 요청될뿐만 아니라, 링크 품질 또는 단말 성능에 따라서 요청하는 데이터의 해상도가 달라질 수 있다. 따라서, 기존의 로컬 캐싱 장치는 해상도가 다른 컨텐츠 데이터를 모두 컨텐츠 제공 장치로부터 수신하여 저장하여야 한다.
이러한 적응형 컨텐츠를 좀 더 효율적으로 서비스하기 위하여, 본 발명의 일 실시 예에 있어서 로컬 캐싱 장치(200)는, 도 5에 도시된 바와 같이, 단말 장치(100)로부터 컨텐츠(10)의 데이터 A1이 요청되면, 상기 컨텐츠 제공 장치(200)에 요청하여, 상기 컨텐츠(10)의 고 해상도의 데이터(11) A1~A3를 모두 수신하여 저장한다. 그리고, 상기 저장한 고 해상도의 데이터(11) A1~A3로부터 그보다 낮은 해상도의 데이터 B1~B3, C1~C3를 인코딩하여 생성한다. 이와 같이 상기 로컬 캐싱 장치(200)는 적응형 컨텐츠(10)에 대하여, 향후 요청할 가능성이 있는 다른 해상도의 데이터를 모두 생성하여 둠으로써, 추후 단말 장치(100)의 요청에 따라서 다른 해상도의 데이터가 요청될 경우, 해당 데이터를 로컬 캐싱 장치(200)에서 단말 장치(100)로 바로 서비스할 수 있게 한다.
상술한 바에 따르면, 컨텐츠 제공 장치(300)와 로컬 캐싱 장치(200) 사이의 구간에서 발생하는 데이터 요청 및 응답 수신 횟수를 크게 줄일 수 있으므로, 컨텐츠 제공 장치(300)와 로컬 캐싱 장치(200) 사이의 구간에 대한 불필요한 트래픽 발생을 감소시킬 수 있다.
이하 상술한 바에 따른 본 발명의 로컬 캐싱 장치(200)의 구성 및 그의 컨텐츠 캐싱 서비스 제공 방법을 좀더 구체적으로 설명하기로 한다.
도 6은 본 발명의 실시 예에 따른 로컬 캐싱 장치(200)의 구성을 나타낸 블럭도이다.
도 6을 참조하면, 본 발명의 실시 예에 따른 로컬 캐싱 장치(200)는, 통신 인터페이스부(210)와, 제어부(220)와, 저장부(230)를 포함하여 이루어질 수 있다.
통신 인터페이스부(210)는, 네트워크(400)에 연결되어 상기 네트워크(400)를 통해서 데이터를 송수신하기 위한 수단이다. 특히, 본 발명의 실시 예에 따르면, 통신 인터페이스부(210)는, 하나 이상의 컨텐츠 제공 장치(300)와 하나 이상의 단말 장치(100) 간에 데이터를 전달하는 네트워크(400)에 연결되어, 상기 네트워크(400)를 통해 상기 하나 이상의 컨텐츠 제공 장치(300)와 하나 이상의 단말 장치(100)와 데이터를 송수신할 수 있다. 이러한 통신 인터페이스부(210)는, 연결되는 네트워크(400)의 종류에 따라서 유선 방식 또는 무선 방식의 송수신을 처리하는 통신 모듈을 하나 이상 포함할 수 있다.
저장부(230)는 상기 하나 이상의 컨텐츠 제공 장치(300)로부터 하나 이상의 단말 장치(100)로 서비스되는 컨텐츠의 일부 또는 전부를 저장한다. 본 발명의 일 실시 예에서, 상기 저장부(230)는 상기 컨텐츠 제공 장치(300)로부터 수신되는 컨텐츠 데이터뿐만 아니라, 로컬 캐싱 장치(200)에서 자체적인 인코딩을 통해 생성된 서로 다른 해상도를 갖는 다수의 컨텐츠를 저장할 수 있다.
제어부(220)는 상기 로컬 캐싱 장치(200)에 의한 캐싱 서비스 동작의 전반을 제어하는 수단으로서, 기본적으로, 통신 인터페이스부(210)를 통해서 단말 장치(100)의 컨텐츠 요청 메시지를 수신하면, 단말 장치(100)가 요청한 컨텐츠가 저장부(230)에 저장되어 있는 지를 확인하고, 저장되어 있는 경우(캐시 히트된 경우) 컨텐츠 제공 장치(300)를 대신하여 저장부(230)에서 해당 컨텐츠를 가져와 상기 단말 장치(100)로 제공하고, 저장되어 있지 않은 경우에는 컨텐츠 제공 장치(300)로부터 상기 컨텐츠를 수신하여 단말 장치(100)로 전달하면서, 상기 수신한 컨텐츠를 저장부(230)에 저장한다.
이때, 상기 단말 장치(100)에서 요청한 컨텐츠의 저장 여부에 대한 판단은 다음과 같이 이루어진다.
즉, 제어부(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)로 설정될 수 있다.
또한. 이전에 캐시 히트된 플로우 정보는, 다수의 청크 데이터로 나눠지는 다양한 해상도의 컨텐츠 데이터를 포함하는 적응형 컨텐츠에 대하여, 특정 해상도의 특정 청크 데이터에 대하여 캐시 히트된 상태이며, 해당 세션이 활성화 상태인 플로우에 대한 플로우 정보를 의미한다. 즉, 특정 해상도의 특정 청크 데이터가 캐시 히트된 적 있으며 아직 컨텐츠 전송이 진행중인 적응형 컨텐츠에 대한 플로우 정보를 의미한다.
그리고, 상기 제어부(220)가, 상기 컨텐츠 제공 장치(300)로부터 상기 단말 장치(100)가 요청한 컨텐츠의 일부를 수신하고, 수신한 컨텐츠의 일부를 키로 하여 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단하는 경우, 컨텐츠의 저장 여부를 판단하는 동안, 상기 컨텐츠 제공 장치(300)로부터 수신한 컨텐츠를 바로 상기 단말 장치(100)로 전송함으로써, 상기 단말 장치(100)가 가능한 지연 없이 컨텐츠를 수신하도록 한다. 그리고, 상기 로컬 캐싱 장치(200)에 컨텐츠가 저장되어 있는 것으로 판단되면, 상기 로컬 캐싱 장치(200)는 그 이후의 데이터를 저장부(230)로부터 가져와 단말 장치(100)로 전송할 수 있다.
이를 위하여, 상기 제어부(220)는, 이전에 캐시 히트된 컨텐츠와 관련된 플로우 정보를 기록하는 플로우 정보 테이블과, 상기 저장부(230)에 저장된 각 컨텐츠의 적어도 일부를 이용하여 생성된 컨텐츠 구분 정보를 기록하는 제1 필드와, 상기 컨텐츠 구분 정보에 매칭되는 컨텐츠에 대응하는 하나 이상의 컨텐츠 주소 정보를 기록하는 제2 필드를 포함하는 컨텐츠 주소 관리 테이블을 구비할 수 있으며, 상기 출발지-목적지 주소 정보 테이블과 상기 컨텐츠 주소 관리 테이블을 참조하여 상기 컨텐츠의 저장 여부를 판단할 수 있다.
그리고, 상기 제어부(220)는, 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단한 결과, 컨텐츠가 저장부(230)에 저장되어 있지 않은 경우, 상기 컨텐츠 제공 장치(300)로부터 계속해서 컨텐츠를 수신하여 상기 단말 장치로 전송함과 동시에 상기 저장부(230)에 저장한다.
반면에, 상기 제어부(220)는, 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단한 결과, 상기 단말 장치(100)가 요청한 컨텐츠가 저장되어 있는 경우, 상기 컨텐츠 제공 장치(300)로 컨텐츠 전송 중단을 요청할 수 있다. 이에 의하면, 컨텐츠 제공 장치(300)로부터 로컬 캐싱 장치(200)까지 구간의 트래픽이 감소된다. 여기서, 컨텐츠 전송의 중단을 요청하는 메시지는 HTTP RST(Reset) 메시지일 수 있다.
특히, 본 발명의 일 실시 예에 있어서, 상기 제어부(220)는, 적응형 컨텐츠 전송 서비스를 위하여, 상기 저장부(230)에 저장된 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하여 상기 저장부(230)에 저장한 후, 단말 장치(100)로부터의 요청에 따라서 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중 하나를 선택적으로 상기 단말 장치(100)에 전송하도록 제어한다. 이를 위하여 상기 제어부(220)는 특정 컨텐츠를 서로 다른 해상도로 인코딩할 수 있는 인코딩 모듈(221)을 더 포함할 수 있다.
여기서, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터는, 다수의 청크 데이터로 나누어져 있으며, 청크 단위로 서비스될 수 있다.
아울러, 상기 제어부(220)는, 상기 인코딩을 수행하기에 앞서, 인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라서 상기 컨텐츠에 대한 인코딩 여부를 판단할 수 있다. 예를 들어, 일정 시간 구간 동안의 컨텐츠 요청 횟수가 기준값 이상인 컨텐츠에 대해서만 인코딩을 수행할 수 있다. 상기에서 인기도는 해당 콘텐츠에 대한 사용자의 요청율로 정의될 수 있다. 더 구체적으로, 상기 인기도는 소정의 시간 동안 발생하는 해당 콘텐츠에 대한 요청 빈도로 산출될 수 있다.
또한, 상기 제어부(220)는, 상기 단말 장치(100)로 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 하나를 선택하여 전송한 후, 다음 컨텐츠 요청이 발생하기 전까지 시간 경과를 카운팅하고, 이를 통해 일정 시간 이상 상기 컨텐츠가 요청되지 않는 경우, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 중에서 저 해상도의 컨텐츠 데이터를 하나 이상 삭제할 수 있다. 이를 통해서, 로컬 캐싱 장치(200)는 한정되어 있는 저장부(230)의 저장 공간을 좀더 효율적으로 사용할 수 있게 된다.
더하여, 상기 제어부(220)는, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 인코딩하는데 있어서, 상기 단말 장치(100)로부터 상기 컨텐츠가 요청되거나 상기 컨텐츠를 상기 저장부(230)에 캐싱하는 시점에, 상기 인코딩을 수행할 수 있다. 즉, 단말 장치(100)로부터 다른 해상도의 컨텐츠 데이터가 요청되기 전에 상기 서로 다른 해상도로의 인코딩을 수행함으로써, 추후 단말 장치(100)에서 요청시 신속하게 서비스할 수 있도록 한다.
또한, 상기 제어부(220)는 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터를 인코딩하는데 있어서, 상기 인코딩할 서로 다른 둘 이상의 해상도에 대한 정보를, 컨텐츠 제공 장치(300)로부터 수신되며 상기 컨텐츠의 재생 정보를 제공하는 인덱스 파일 또는 상기 컨텐츠의 전송 이력으로부터 획득할 수 있다. 상기 인덱스 파일은, 적응형 컨텐츠의 요청시, 실제 컨텐츠의 데이터에 앞서 제공되는 정보로서, 단말 장치(100)에서 재생할 세그먼트들의 목록과 관련 정보를 표시하며, 단말 장치(100)는 이를 참조하여 순서대로 세그먼트를 조합하여 재생할 수 있다. 또한 상기 컨텐츠의 전송 이력은, 동일 컨텐츠와 관련하여 요청된 다수 청크 데이터의 요청 및 전송 이력을 의미하는 것으로서, 상기 다수 청크 데이터의 해상도를 분석함으로써, 상기 컨텐츠에 대하여 인코딩할 서로 다른 둘 이상의 해상도를 확인할 수 있다.
이어서, 본 발명의 일 실시 예에 의한 컨텐츠 캐싱 서비스 과정을 도 7을 참조하여 설명한다.
여기서, 로컬 캐싱 장치(200)는 컨텐츠 제공 장치(300)로부터 단말 장치(100)로 서비스하는 컨텐츠의 일부 또는 전부를 저장하고 있는 것으로 가정한다. 여기서, 상기 컨텐츠의 저장은 컨텐츠 제공 장치(300)에서 일정 기준에 따라서 미리 다수의 로컬 캐싱 장치(200)로 배포하는 방식, 또는 로컬 캐싱 장치(200)가 미러링된 트래픽을 받아 저장하는 미러링 방식, 또는 로컬 캐싱 장치(200)가 단말 장치(100)에서 요구한 컨텐츠를 미리 설정된 캐시 정책에 따라서 저장하는 캐싱 방식 등 다양한 방식을 통해 이루어질 수 있다.
상기 가정 하에, 도 7을 참조하면, 로컬 캐싱 장치(200)는 단말 장치(100)로부터 컨텐츠 제공 장치(300)로 전송되는 컨텐츠 요청 메시지를 수신한다(S105).
이렇게 한 단말 장치(100)로부터 전송된 컨텐츠 요청 메시지를 수신한 로컬 캐싱 장치(200)는, 상기 컨텐츠를 자신이 저장하고 있는 지 여부, 즉, 캐시 히트 여부를 판단한다(S110). 여기서, 캐시 히트 여부의 판단은, 상기 단말 장치(100)가 요청한 컨텐츠의 컨텐츠 주소 정보(예, URL 정보) 또는 상기 단말 장치(100)가 요청한 컨텐츠의 내용 일부(예를 들어, 일정 사이즈의 프리픽스 정보)를 키로 하여 상기 저장부(230)를 검색함에 의해 이루어질 수 있다. 상기 컨텐츠의 내용 일부를 키로 하여 검색하는 경우, 로컬 캐싱 장치(200)는 상기 컨텐츠 요청 메시지를 컨텐츠 제공 장치(300)로 전송하고 그에 대응하여 요청된 컨텐츠의 일부를 수신하는 과정을 더 수행할 수 있다. 이때, 상기 로컬 캐싱 장치(200)는 상기 컨텐츠 요청 메시지의 플로우 정보를 더 추출하고, 상기 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하는 지에 따라서, 상기 컨텐츠 주소 정보 또는 컨텐츠 내용 일부 중 어느 하나를 이용하여 컨텐츠의 저장 여부를 판단할 수 있다.
상기와 같은 판단 결과, 로컬 캐싱 장치(200)의 저장부(230)에 단말 장치(100)가 요청한 컨텐츠가 저장되어 있지 않은 경우, 로컬 캐싱 장치(200)는 해당 컨텐츠를 상기 컨텐츠 제공 장치(300)로부터 수신한다(S120).
아울러, 상기 로컬 캐싱 장치(200)는 상기 컨텐츠 제공 장치(300)로부터 수신되거나 상기 저장부(230)에 저장되어 있는 컨텐츠를 단말 장치(100)로 전송한다(S125).
이와 더불어, 상기 로컬 캐싱 장치(200)는, 상기 저장한 컨텐츠에 대한 인코딩 수행 여부를 판단한다(S130). 여기서, 인코딩 수행 여부의 판단 기준으로 컨텐츠에 대한 인기도(요청 빈도)와 시간 중에서 하나 이상을 포함할 수 있다.
상술한 판단 기준에 따라서, 인코딩 수행이 필요한 것으로 판단되면, 상기 로컬 캐싱 장치(200)는, 상기 저장한 컨텐츠를 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터로 인코딩하여 저장한다(S135). 더 구체적으로는, 로컬 캐싱 장치(200)는, 상기 저장된 컨텐츠의 해상도보다 낮은 해상도를 갖는 컨텐츠를 인코딩할 수 있으며, 이렇게 다른 해상도의 데이터를 인코딩하여 둠으로써, 링크 품질 또는 단말 성능에 따라서 다른 해상도의 데이터가 요청될 경우, 로컬 캐싱 장치(200)는 컨텐츠 제공 장치(300)로 요청할 필요 없이, 해당 컨텐츠를 바로 서비스할 수 있다.
여기서, 더하여 상기 로컬 캐싱 장치(200)는, 상기 컨텐츠를 상기 단말 장치(100)에 전송한 후, 상기 컨텐츠에 대한 요청이 발생하기 전까지의 시간을 카운팅하고, 상기 시간이 일정 시간을 초과한 경우, 즉, 해당 컨텐츠에 대한 요청이 일정 시간 이상 발생하지 않으면, 상기 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 중에서 저 해상도의 컨텐츠를 하나 이상 삭제할 수 있다. 이에 의하면, 제한된 크기의 저장부(230)를 보다 효율적으로 이용할 수 있게 된다.
본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 제공 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시 예에 대하여 개시하였으나, 여기에 개시된 실시 예외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다.
본 발명은, 동일 컨텐츠를 서로 다른 해상도를 갖는 다수의 컨텐츠로 인코딩하여 링크 품질 또는 단말 성능에 따라서 적절한 해상도의 컨텐츠를 제공하는 적응형 컨텐츠 전송 방식을 지원하는데 있어서, 로컬 캐싱 장치가, 특정 해상도의 컨텐츠를 인코딩하여 서로 다른 해상도를 갖는 둘 이상의 컨텐츠를 미리 생성하여 저장하여 두고, 이후 단말 장치로부터의 요청에 따라서 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 중에서 선택적으로 단말 장치로 전송함으로써, 컨텐츠 제공 장치와 로컬 캐싱 장치 사이의 구간에서의 트래픽을 더 감소시키고 보다 효율적으로 컨텐츠 캐싱 서비스를 제공할 수 있도록 하는 우수한 효과가 있다.
100: 단말 장치 200: 로컬 캐싱 장치
210: 통신 인터페이스부 220: 제어부
221: 인코딩 모듈 230: 저장부
300: 컨텐츠 제공 장치 400: 네트워크
210: 통신 인터페이스부 220: 제어부
221: 인코딩 모듈 230: 저장부
300: 컨텐츠 제공 장치 400: 네트워크
Claims (8)
- 단말 장치에서 컨텐츠 제공 장치에 요청한 컨텐츠를 상기 컨텐츠 제공 장치를 대신하여 상기 단말 장치로 전송하는 로컬 캐싱 장치에 있어서,
상기 컨텐츠 제공 장치로부터 상기 단말 장치로 서비스되는 컨텐츠의 일부 또는 전부를 저장하는 저장부;
상기 컨텐츠 제공 장치 및 상기 단말 장치와 데이터를 송수신하는 통신 인터페이스부; 및
상기 통신 인터페이스부를 통해 상기 컨텐츠 제공 장치로부터 상기 컨텐츠의 일부 또는 전부를 수신하여 상기 저장부에 저장시키고, 상기 컨텐츠의 인덱스 파일 또는 상기 컨텐츠의 전송 이력에 기초하여 상기 저장한 컨텐츠의 해상도와는 다른 해상도로 상기 저장한 컨텐츠를 인코딩하여 상기 단말 장치에 전송하도록 제어하는 제어부;
를 포함하는 것을 특징으로 하는 로컬 캐싱 장치. - 제1항에 있어서,
상기 컨텐츠는 다수의 청크 데이터로 나누어지는 것을 특징으로 하는 로컬 캐싱 장치. - 제1항에 있어서, 상기 제어부는
상기 컨텐츠 제공 장치로부터 수신된 컨텐츠의 해상도 보다 낮은 해상도로 상기 컨텐츠를 인코딩하는 것을 특징으로 하는 로컬 캐싱 장치. - 제3항에 있어서,
상기 제어부는
상기 컨텐츠에 대한 인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라서 상기 컨텐츠에 대한 인코딩 여부를 판단하는 것을 특징으로 하는 로컬 캐싱 장치. - 제3항 또는 제4항에 있어서, 상기 제어부는
상기 컨텐츠에 대한 요청이 일정 시간이상 없는 경우, 상기 컨텐츠 제공 장치로부터 수신된 해상도와 다른 해상도로 인코딩된 컨텐츠 데이터를 삭제하는 것을 특징으로 하는 로컬 캐싱 장치. - 단말 장치에서 컨텐츠 제공 장치에 요청한 컨텐츠를 상기 컨텐츠 제공 장치를 대신하여 상기 단말 장치로 전송하는 로컬 캐싱 장치가,
상기 컨텐츠 제공 장치로부터 단말 장치로 서비스하는 컨텐츠의 일부 또는 전부를 수신하여 저장하는 단계;
단말 장치의 요청을 수신하는 단계;
상기 단말 장치가 요청한 컨텐츠의 인덱스 파일 또는 상기 단말 장치가 요청한 컨텐츠의 전송 이력에 기초하여, 상기 저장한 컨텐츠와는 다른 해상도로 상기 컨텐츠를 인코딩하는 단계;
상기 인코딩된 다른 해상도의 컨텐츠를 상기 단말 장치에 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법. - 제6항에 있어서,
상기 인코딩하는 단계 이전에, 상기 컨텐츠의 인기도 및 시간 중에서 하나 이상을 포함하는 기준에 따라 상기 컨텐츠에 대한 인코딩 여부를 판단하는 단계;를 더 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법. - 제7항에 있어서,
상기 다른 해상도의 컨텐츠를 단말 장치에 전송한 후, 상기 다른 해상도의 컨텐츠에 대한 요청이 발생하기 전까지 시간을 카운팅하고, 상기 카운팅한 시간이 일정 시간을 초과한 경우, 상기 다른 해상도로 인코딩된 컨텐츠를 삭제하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180089377A KR101971595B1 (ko) | 2018-07-31 | 2018-07-31 | 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180089377A KR101971595B1 (ko) | 2018-07-31 | 2018-07-31 | 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120058789A Division KR101888982B1 (ko) | 2012-05-31 | 2012-05-31 | 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180090967A KR20180090967A (ko) | 2018-08-14 |
KR101971595B1 true KR101971595B1 (ko) | 2019-04-23 |
Family
ID=63230412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180089377A KR101971595B1 (ko) | 2018-07-31 | 2018-07-31 | 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101971595B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010220001A (ja) | 2009-03-18 | 2010-09-30 | Victor Co Of Japan Ltd | 再符号化装置および再符号化方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101104727B1 (ko) * | 2008-10-16 | 2012-01-11 | 에스케이플래닛 주식회사 | 캐시서버 및 브라우저캐시를 이용한 컨텐츠 전송시스템 및 방법 |
KR101066872B1 (ko) * | 2008-10-30 | 2011-09-26 | 에스케이텔레콤 주식회사 | 캐시서버를 이용한 컨텐츠 전송시스템 및 방법, 그 캐시서버 |
-
2018
- 2018-07-31 KR KR1020180089377A patent/KR101971595B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010220001A (ja) | 2009-03-18 | 2010-09-30 | Victor Co Of Japan Ltd | 再符号化装置および再符号化方法 |
Non-Patent Citations (1)
Title |
---|
이정환 외 2명, "CCN에서 계층화된 비디오 컨텐츠 기반 패킷 스케줄링 모델", 한국정보과학회 2010 한국컴퓨터종합학술대회 논문집 제37권 제1호(D), 2010.6, pp.297-300(2010.06.30.) |
Also Published As
Publication number | Publication date |
---|---|
KR20180090967A (ko) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101330052B1 (ko) | 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
KR101436049B1 (ko) | 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
US9015275B2 (en) | Partial object distribution in content delivery network | |
US9356985B2 (en) | Streaming video to cellular phones | |
CN110022482B (zh) | 视频起播方法、视频服务系统及存储介质 | |
KR101981285B1 (ko) | 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법 | |
WO2017125017A1 (zh) | 缓存内容的调整方法、装置及系统 | |
US10779015B2 (en) | Delivering video in a content delivery network | |
KR102210409B1 (ko) | 라이브 스트리밍 컨텐츠 제공 방법, 이를 위한 라이브 스트리밍 캐시 장치 및 이를 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체 | |
KR20140021372A (ko) | 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 방법 및 로컬 캐싱 장치 | |
GB2513617A (en) | Caching of content | |
US20150341449A1 (en) | Method for delivering content in communication network and apparatus therefor | |
WO2013185547A1 (zh) | 一种缓存服务器的服务方法、缓存服务器及系统 | |
KR101888982B1 (ko) | 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
KR101441403B1 (ko) | 컨텐츠 전송 서비스 시스템, 그의 장치 및 컨텐츠 전송 서비스 지원 방법 | |
KR101971595B1 (ko) | 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
KR102519390B1 (ko) | 캐시 장치, 상기 캐시 장치에서의 mmt 컨텐츠 전송 방법 | |
KR102148147B1 (ko) | 컨텐츠 전송 방법 및 이를 위한 장치 | |
KR101969869B1 (ko) | 개인형 캐싱 네트워크 시스템 및 개인형 캐싱 서비스 제공 방법 | |
US9288153B2 (en) | Processing encoded content | |
KR101565137B1 (ko) | 무선 스트리밍 서비스 제공 방법 및 장치 | |
SG184587A1 (en) | A method and apparatus for caching and retrieving a stream object |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |