KR101330052B1 - 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 - Google Patents

적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 Download PDF

Info

Publication number
KR101330052B1
KR101330052B1 KR1020120059293A KR20120059293A KR101330052B1 KR 101330052 B1 KR101330052 B1 KR 101330052B1 KR 1020120059293 A KR1020120059293 A KR 1020120059293A KR 20120059293 A KR20120059293 A KR 20120059293A KR 101330052 B1 KR101330052 B1 KR 101330052B1
Authority
KR
South Korea
Prior art keywords
content
flow information
stored
terminal device
requested
Prior art date
Application number
KR1020120059293A
Other languages
English (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 KR1020120059293A priority Critical patent/KR101330052B1/ko
Priority to CN201310208422.3A priority patent/CN103457993B/zh
Priority to US13/908,572 priority patent/US9390200B2/en
Application granted granted Critical
Publication of KR101330052B1 publication Critical patent/KR101330052B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90339Query processing by using parallel associative memories or content-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 적응형 컨텐츠 제공 방식에 따라 전송되는 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 제공할 수 있도록 한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치에 관한 것으로서, 단말 장치로부터 컨텐츠 제공 장치로 전송되는 컨텐츠 요청 메시지를 수신하면, 컨텐츠 제공 장치로부터 수신한 해당 컨텐츠의 적어도 일부를 이용하여 로컬 캐싱 장치 내에 저장되어 있는 지를 판단하고, 저장되어 있는 경우, 상기 컨텐츠에 대한 플로우 정보를 플로우 정보 테이블에 기록하고, 이후 상기 플로우 정보 테이블에 기록된 플로우 정보와 관련된 컨텐츠 요청에 대해서는 상기 단말 장치가 요청한 컨텐츠의 컨텐츠 주소 정보를 기반으로 컨텐츠의 저장 여부를 판단하도록 구현된다.

Description

적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 {Method for providing content caching service in adapted content streaming and local caching device thereof}
본 발명은 네트워크 상에서의 컨텐츠 중복 전송을 방지하여 트래픽을 감소시키기 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치에 관한 것으로서, 더욱 상세하게는 링크 품질 또는 단말 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 제공할 수 있도록 한 적응형 컨텐츠 제공 방식을 고려한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치에 관한 것이다.
최근 성능이 향상된 스마트 폰의 보급과, 이를 기반으로 한 컨텐츠 제공자의 급증으로 인하여, 이동통신망의 트래픽은 점점 증가하고 있는 추세이며, 그에 따라서, 웹(Web) 다운로드, 비디오(Video), 오디오(Audio), 영상(Image), 어플리케이션(Application) 등과 같은 컨텐츠의 전송 속도 저하로 인한 서비스 품질 문제가 이슈가 되고 있다.
특히, 컨텐츠 전송 기술의 발달에 따라서, VOD(Video On Demand), Live Streaming과 같은 온라인 동영상 서비스나 음악 스트리밍, 파일 업로드 및 파일 다운로드 등에 있어서, 대용량 파일 전송이 가능해지면서, 그에 따라서 대용량 컨텐츠를 전달하려는 다양한 서비스도 제공되고 있다.
그런데 이러한 컨텐츠 제공 서비스들은, 그 인기도에 따라 빈도는 다를 수 있으나, 통상적으로 중복적인 콘텐트를 동일 도메인 또는 동일 무선 커버리지 내의 사용자에게 전달하는 특징이 있으며, 이용 증가에 따라서 네트워크 트래픽에 있어서 차지하는 비중이 점차적으로 증가하고 있는 상황이다.
이와 같이, 중복된 콘텐트의 전송은 통신망의 트래픽 부하를 더욱 증가시키므로 이러한 중복 전송의 방지를 통해 트래픽 감소를 위한 노력이 이루어지고 있으며, 관련 기술로서 CDN(Contents Delivery network) 서비스가 제공되고 있다. CDN 서비스는 영화, 뮤직 비디오 등과 같은 동영상을 포함하는 다양한 컨텐츠를 사용자에게 안정적으로 전달하기 위한 것으로서, 통상 네트워크상에 분산 배치된 다수의 로컬 캐싱 장치에 컨텐츠를 저장하여 두고, GLB(Global Load Balance) 서버와 같은 부하 분산 장치를 통해서 다수의 캐시 서버 중에서 최적의 캐시 서버를 선택하여, 선택된 캐시 서버를 통해 요청된 컨텐츠가 사용자의 단말로 전달하도록 구현된다.
이러한 CDN는 인터넷 망을 기반으로 인터넷상에서의 데이터 손실, 병목 현상, 전송 속도 저하, 데이터 끊김과 같은 불안전성 등을 해결하도록 구현되었다.
컨텐츠 캐싱 기술은, 이러한 CDN 서비스에 있어서, 네트워크 상에 분산 배치되는 다수의 로컬 캐싱 장치에 컨텐츠를 선택적으로 캐싱하는 기술로서, 이러한 컨텐츠 캐싱은 로컬 캐싱 장치의 저장 공간의 크기를 고려하여 이루어져야 하며, 또한, 캐싱된 컨텐츠 중에서 사용자가 요청한 컨텐츠와 일치하는 컨텐츠를 판정하는데 소요되는 시간 및 사용자가 요청한 콘텐트 중 캐싱된 컨텐츠와 일치하는 비율인 캐시 히트 레이트(cache hit rate)에 대한 고려도 필요하다.
특히, 링크 품질 또는 단말 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠 제공 방식(예를 들어, HTTP Live Streaming(HLS))의 경우 컨텐츠를 다수의 청크로 분할하여 전송하기 때문에, 컨텐츠의 내용 일부를 기반으로 컨텐츠 캐시 여부를 판단할 경우 실제 로컬 캐싱 장치에서 단말 장치로 서비스되는 데이터 량이 작아 효율이 떨어질 수 있으며, 아울러, 일부 적응형 컨텐츠 제공 방식의 경우, 주기적으로 컨텐츠의 암호화 키를 변경하도록 하고 있는데, 이렇게 암호화 키가 변경될 경우, 동일 URL을 갖더라도 암호화에 의하여 컨텐츠 데이터가 달라지기 때문에, URL을 기반으로 컨텐츠 캐시 여부를 판단하는 것이 불가능하다.
이에, 본 발명은 링크 품질 또는 단말 성능에 따라서 해상도를 달리하여 전송하는 적응형 컨텐츠 전송 방식에 따라 전송되는 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 제공할 수 있도록 한 적응형 컨텐츠 제공 방식을 고려한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치를 제공하고자 한다.
본 발명은 상술한 과제를 해결하기 위한 수단으로서, 하나 이상의 컨텐츠 제공 장치로부터 하나 이상의 단말 장치로 서비스되는 컨텐츠의 일부 또는 전부를 저장하는 저장부; 상기 하나 이상의 컨텐츠 제공 장치와 하나 이상의 단말 장치 간에 데이터를 전달하는 통신망에 연결되어, 상기 통신망을 통해 데이터를 송수신하는 통신 인터페이스부; 및 상기 하나 이상의 단말 장치 중 한 단말 장치가 요청한 컨텐츠를 해당 컨텐츠 제공 장치로부터 수신하고, 상기 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠가 상기 저장부에 저장되어 있으면, 상기 단말 장치가 요청한 컨텐츠의 플로우 정보를 플로우 정보 테이블에 등록한 후, 상기 플로우 정보 테이블에 등록된 플로우 정보와 일치하는 플로우 정보를 갖는 컨텐츠가 다시 요청될 때, 컨텐츠 주소 정보를 기반으로 요청된 컨텐츠가 상기 저장부에 저장되어 있는 지 판단하는 제어하는 제어부를 포함하는 것을 특징으로 하는 로컬 캐싱 장치를 제공한다.
본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 컨텐츠 주소 관리 테이블을 이용하여 상기 저장부에 저장된 각 컨텐츠의 적어도 일부를 이용하여 생성된 컨텐츠 구분 정보와, 상기 컨텐츠 구분 정보에 매칭되는 컨텐츠에 대응하는 하나 이상의 컨텐츠 주소 정보를 관리할 수 있다.
본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 상기 컨텐츠가 적응형 컨텐츠의 일부 인지를 더 판단하고, 상기 컨텐츠가 적응형 컨텐츠의 일부인 경우, 상기 컨텐츠의 플로우 정보를 상기 플로우 정보 테이블에 등록할 수 있다.
본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 플로우 정보에 해당하는 컨텐츠가 기 설정된 횟수 이상 요청되어 상기 저장부에 저장된 것으로 판단된 경우, 플로우 정보 테이블에 상기 컨텐츠의 플로우 정보를 등록하도록 하는 것을 특징으로 한다.
본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 컨텐츠 구분 정보는 해당 컨텐츠의 내용 중 기 설정된 길이의 프리픽스 정보, 이를 설정된 해쉬 함수로 연산하여 계산된 해쉬값, 및 해당 컨텐츠의 메타 데이터 중에서 하나 이상을 포함할 수 있다.
본 발명에 의한 로컬 캐싱 장치에 있어서, 상기 제어부는 상기 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠 또는 상기 컨텐츠 주소 정보에 대응하는 컨텐츠가 저장부에 저장되어 있지 않으면, 상기 컨텐츠 제공 장치로부터 컨텐츠를 수신하여 상기 단말 장치로 전송함과 동시에 상기 저장부에 저장할 수 있으며, 또한, 상기 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠가 저장되어 있으면, 상기 컨텐츠 제공 장치로 컨텐츠 전송 중단을 요청할 수 있다.
더하여 본 발명은 상술한 과제를 해결하기 위한 다른 수단으로서, 로컬 캐싱 장치가, 컨텐츠 제공 장치로부터 단말 장치가 요청한 컨텐츠의 적어도 일부를 수신하고, 상기 수신한 컨텐츠의 적어도 일부를 이용하여 상기 단말 장치가 요청한 컨텐츠를 자신이 저장하고 있는 지 판단하는 단계; 상기 판단 결과, 컨텐츠를 저장하고 있으면, 상기 단말 장치가 요청한 컨텐츠의 플로우 정보를 플로우 정보 테이블에 등록하는 단계; 상기 플로우 정보 테이블에 등록된 플로우 정보와 일치하는 플로우 정보를 갖는 컨텐츠가 요청되면, 컨텐츠 주소 정보를 기반으로 상기 컨텐츠를 자신이 저장하고 있는 지 판단하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법을 제공한다.
본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법에 있어서, 상기 컨텐츠의 플로우 정보를 플로우 정보 테이블에 등록하는 단계는, 상기 단말 장치가 요청한 컨텐츠가 적응형 컨텐츠의 일부인 지를 더 확인하고, 상기 확인 결과 적응형 컨텐츠의 일부인 경우 상기 단말 장치가 요청한 컨텐츠의 플로우 정보를 상기 플로우 정보 테이블에 등록하도록 하는 것을 특징으로 한다.
본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법에 있어서, 상기 컨텐츠의 플로우 정보를 플로우 정보 테이블에 등록하는 단계는, 상기 플로우 정보에 대응하는 컨텐츠가 기 설정된 횟수 이상 요청되어 저장하고 있는 것으로 판단된 경우, 상기 플로우 정보를 플로우 정보 테이블에 등록하도록 하는 것을 특징으로 한다.
본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법은, 상기 컨텐츠 주소 정보 또는 컨텐츠의 적어도 일부를 이용하여 컨텐츠의 저장 여부를 판단한 결과, 컨텐츠를 저장하고 있으면, 상기 저장하고 있는 컨텐츠를 상기 단말 장치로 전송하는 단계; 및 본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법은, 상기 컨텐츠 주소 정보 또는 컨텐츠의 적어도 일부를 이용하여 컨텐츠의 저장 여부를 판단한 결과, 컨텐츠를 저장하고 있지 않으면, 상기 컨텐츠 제공 장치로부터 컨텐츠를 수신하여 상기 단말 장치로 전달하면서 저장하는 단계 중에서 하나 이상을 더 포함할 수 있다.
본 발명에 의한 컨텐츠 캐싱 서비스 제공 방법은, 상기 저장한 컨텐츠에 대하여, 상기 컨텐츠의 적어도 일부를 이용하여 생성된 컨텐츠 구분 정보 및 상기 수신한 컨텐츠의 컨텐츠 식별 정보를 매칭하여, 캐싱된 컨텐츠의 주소 정보를 관리하는 컨텐츠 주소 관리 테이블에 저장하는 단계를 더 포함할 수 있다.
본 발명은 상술한 바와 같이, 네트워크 상에 분산 배치되는 로컬 캐싱 장치를 통해서 컨텐츠 제공 장치에서 제공하는 컨텐츠의 일부 또는 전부를 캐싱하여, 이후 동일 컨텐츠가 요청될 때 상기 컨텐츠 제공 장치를 대신하여 캐싱된 컨텐츠를 단말 장치로 제공하는데 있어서, 컨텐츠 요청 메시지에 포함된 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하는지 비교하여, 일치하면 상기 단말 장치가 요청한 컨텐츠의 컨텐츠 주소 정보를 기반으로 컨텐츠의 저장 여부를 판단하고, 일치하지 않으면 해당 컨텐츠 제공 장치로부터 수신한 컨텐츠의 적어도 일부를 키로 하여 상기 단말 장치가 요청한 컨텐츠의 저장 여부를 판단함으로써, 캐시 히트 판정 처리에 대한 효율성을 향상시킬 수 있다.
특히, 본 발명은 컨텐츠를 다수의 청크로 분할하여 전송하거나, 주기적으로 컨텐츠의 암호화 키를 변경하는 경우, 최초 컨텐츠 요청 시 컨텐츠 제공 장치로부터 수신되는 컨텐츠의 일부를 키로 하여 저장 여부(캐시 히트 여부)를 판단하고, 상기 판단 결과 캐시 히트된 경우, 상기 컨텐츠에 대한 플로우 정보를 캐시 히트된 플로우 정보로 등록하여 두고, 이후 상기 등록된 플로우 정보와 동일한 플로우 정보를 갖는 컨텐츠 요청에 대해서는, 컨텐츠 주소 정보를 기반으로 간단히 요청된 컨텐츠의 저장 여부(캐시 히트 여부)를 판단하도록 함으로써, 적응형 컨텐츠에 대하여 보다 효율적으로 캐싱 서비스를 운용할 수 있도록 하는 우수한 효과가 있다.
도 1은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 시스템을 개략적으로 도시한 블럭도이다.
도 2는 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 시스템에 있어서, 로컬 캐싱 장치의 배치 구조를 설명하기 위한 블럭도이다.
도 3은 본 발명이 적용될 수 있는 적응형 컨텐츠의 구조를 간략히 설명하기 위한 모식도이다.
도 4는 본 발명의 실시 예에 따른 로컬 캐싱 장치에서 이용되는 플로우 정보 테이블 및 컨텐츠 주소 관리 테이블의 예시한 도면이다.
도 5은 본 발명의 실시 예에 따른 로컬 캐싱 장치의 구성을 나타낸 블럭도이다.
도 6은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 방법을 설명하기 위한 순서도이다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
아울러, 본 발명에 대한 이해를 돕기 위하여, 이하의 설명에서 사용되는 용어를 정의하면 다음과 같다.
'플로우 정보'는 단말 장치로 특정 컨텐츠를 전송하는 플로우를 정의하는 정보로서, 상기 특정 컨텐츠를 수신하는 목적지의 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)로 전송되는 컨텐츠 요청 메시지를 수신하면, 먼저, 상기 컨텐츠 요청 메시지로부터 추출된 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하는지 비교한다. 여기서, 이전에 캐시 히트된 플로우 정보는, 상기 컨텐츠 내용의 일부를 키로 하여 캐시 히트되고, 현재 활성화되어 있는 세션의 플로우 정보를 의미한다.
그리고, 로컬 캐싱 장치(200)는 상기 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하면, 상기 단말 장치(100)가 요청한 컨텐츠의 컨텐츠 주소 정보를 기반으로 컨텐츠의 저장 여부(캐시 히트 여부)를 판단하고, 상기 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하지 않으면 상기 컨텐츠 제공 장치(300)로부터 상기 단말 장치(100)가 요청한 컨텐츠를 수신하고, 수신한 컨텐츠의 적어도 일부를 키로 하여 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부(캐시 히트 여부)를 판단한다. 이에 의하면, 적응형 컨텐츠에 대하여, 컨텐츠의 적어도 일부를 이용하여 캐시 히트 여부를 판단하여 캐시 히트된 경우, 해당 컨텐츠의 플로우 정보를 플로우 정보 테이블에 등록하여, 상기 플로우 정보 테이블에 등록된 플로우 정보와 일치하는 플로우 정보를 갖는 컨텐츠가 다시 요청될 때, 간단하게 컨텐츠 주소 정보를 기반으로 캐시 히트 여부를 판단하도록 함으로써, 청크 단위로 분할되어 요청 및 전송되는 적응형 컨텐츠에 대하여 로컬 캐싱 장치(200)가 단말 장치(100)에 전송할 수 있는 데이터 량을 증가시킬 수 있고 그 결과 서비스 효율을 더 향상시킬 수 있다.
더하여, 상기 로컬 캐싱 장치(200)는, 컨텐츠의 주소 정보를 기반으로 컨텐츠의 저장 여부를 판단한 결과, 상기 컨텐츠가 저장되어 있지 않으면, 상기 컨텐츠 제공 장치(300)로부터 상기 단말 장치(100)가 요청한 컨텐츠를 수신하고, 수신한 컨텐츠를 상기 단말 장치(100)로 전송한다.
그리고, 상기 수신한 컨텐츠의 적어도 일부 또는 상기 컨텐츠 주소 정보를 기반으로 판단한 결과, 컨텐츠가 저장되어 있으면(캐시 히트), 상기 로컬 캐싱 장치(200)는 저장된 해당 컨텐츠를 읽어와 상기 단말 장치(100)로 전송한다.
반면에, 상기 수신한 컨텐츠의 적어도 일부를 기반으로 판단한 결과, 컨텐츠가 저장되어 있지 않으면, 상기 로컬 캐싱 장치(200)는 상기 컨텐츠 제공 장치(300)로부터 수신하는 컨텐츠를 상기 단말 장치(100)로 전송한다.
아울러, 로컬 캐싱 장치(200)는 상술한 컨텐츠 저장 여부(캐시 히트 여부)의 판단을 위해서, 상기 컨텐츠 요청 메시지로부터 단말 장치(100)의 IP 주소 정보 및 포트 정보와, 컨텐츠 제공 장치(300)의 IP 주소를 추출하고, 이를 조합하여 캐시 히트된 플로우 정보로서 관리하며, 또한, 상기 단말 장치(100)가 요청한 컨텐츠의 적어도 일부를 이용하여 생성한 컨텐츠 구분 정보 및 컨텐츠 식별 정보를 매칭하여 관리한다. 여기서, 상기 캐시 히트된 플로우 정보, 상기 컨텐츠 구분 정보 및 컨텐츠 식별 정보의 관리는, 로컬 캐싱 장치(200)에 저장된 컨텐츠를 대상으로 이루어진다.
컨텐츠 제공 장치(300)가 적응형 컨텐츠 전송 방식을 이용하여 컨텐츠를 서비스하는 경우, 예를 들어, HLS(HTTP Live Streaming) 방식의 경우, 특정 컨텐츠는, 둘 이상의 서로 다른 해상도를 갖는 둘 이상의 컨텐츠 데이터 포함하며, 상기 각 컨텐츠 데이터는 다시 다수의 청크로 분할되어, 청크 단위로 링크 품질 또는 단말 성능에 대응하는 해상도의 컨텐츠 데이터를 전송한다. 아울러, 상기 컨텐츠를는주기적으로 변경되는 암호키를 통해 암호화되어 전될 수 있다. 이러한 컨텐츠를 제공하는데 있어서, 본 발명에 따르면, 상기 컨텐츠의 최초 요청 시에는, 해당 플로우 정보가 플로우 정보 테이블에 등록되지 않은 상태이므로, 로컬 캐싱 장치(200)가 컨텐츠 제공 장치(300)로부터 단말 장치(100)가 요청한 컨텐츠의 일부를 수신하고, 수신한 컨텐츠의 일부를 키로 하여 단말 장치(100)가 요청한 컨텐츠가 저장되어 있는 지를 확인함으로써, 암호화키의 변경 여부를 고려하여 해당 컨텐츠 데이터의 캐싱 여부를 정확히 판단할 수 있으며, 캐시 히트된 경우, 로컬 캐싱 장치(200)에 저장된 상기 컨텐츠의 나머지 데이터도 동일한 암호화키로 암호화된 것으로 간주할 수 있다. 따라서, 이후 상기 단말 장치(100)로부터 상기 컨텐츠의 나머지 데이터가 요청될 때, 간단하게 컨텐츠 주소 정보만을 이용하여, 단말 장치(100)가 요청한 컨텐츠의 캐시 히트 여부를 확인하여 서비스할 수 있게 되므로, 전체 서비스 효율을 향상시킬 수 있다.
상술한 로컬 캐싱 장치(200)의 상세 구성 및 동작은 이후에 더 구체적으로 설명하기로 한다.
또한, 본 발명의 실시 예에서는, 로컬 캐싱 장치(200)를 하나로 도시하였으나, 로컬 캐싱 장치(200)는 하나 이상으로 이루어져 네트워크(400) 상에 분산 배치될 수 있다.
다음으로, 상기 컨텐츠 제공 장치(300)는 네트워크(400)를 통해서 임의의 컨텐츠, 예를 들어, 동영상 파일, 오디오 파일, 웹 페이지 등을 포함하는 다양한 컨텐츠를 제공하는 서비스 장치로서, 이때, 상기 컨텐츠는 스트리밍 또는 다운로드 방식으로 제공될 수 있다. 이러한 컨텐츠 제공 장치(300)는 예를 들어, 유료 또는 무료의 동영상을 업로드하거나, 보거나, 공유할 수 있도록 하는 동영상 공유 사이트, 모바일 컨텐츠를 자유롭게 거래할 수 있는 어플리케이션 스토어, 인터넷을 통해 방송 서비스를 제공하는 IPTV 등을 서비스하는 서버 장치일 수 있다.
아울러, 상술한 단말 장치(100)와 로컬 캐싱 장치(200)와 컨텐츠 제공 장치(300)를 연결하는 네트워크(400)는 현재 사용되고 있거나 향후 사용 가능한 통신망 및 이들을 결합으로 이루어진 통합망까지 포함할 수 있다. 구체적으로, 네트워크(400)는 인터넷 망과 같은 IP 기반의 유무선의 통신망을 포함할 수 있다. 뿐만 아니라, 네트워크(400)는 LTE(Long term evolution) 망, WCDMA 망과 같은 이동통신망뿐만 아니라, 이외에, Wi-Fi망과 같은 다양한 종류의 무선망과, 이들의 결합으로 이루어지는 모바일 망을 포함할 수 있다. 이 경우, 본 발명에 의한 로컬 캐싱 장치(200)는 모바일 망에서의 컨텐츠 중복 전송 및 트래픽 감소를 위해 이용될 수 있다.
특히, 본 발명의 일 실시 예에 있어서, 상기 로컬 캐싱 장치(200)는 상기 네트워크(400)의 에지(Edge)에 분산 배치될 수 있으며, 도 2를 참조하여 이에 대해서 더 구체적으로 설명하면 다음과 같다.
도 2는 본 발명에 의한 컨텐츠 캐싱 서비스 시스템에 있어서, 로컬 캐싱 장치(200)의 분산 배치 구조를 예시한 도면이다.
도 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와 같은 적응형 컨텐츠 전송 방식에 따르면, 임의의 한 컨텐츠(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 메시지가 발생된다.
아울러, 상기 적응형 컨텐츠(10)는 암호화되어 전송될 수 있으며, 이때, 암호화 키가 주기적으로 변경될 수 있다. 이렇게 암호화 키가 변경되는 경우, 상기 컨텐츠(10)의 모든 컨텐츠 데이터(11, 12, 13)가 동일한 암호화 키로 암호화된다. 따라서, 암호화키가 변경되는 경우, 상기 컨텐츠(10)에 대한 컨텐츠 주소 정보는 동일하지만, 전송되는 컨텐츠 데이터는 달라지게 된다.
이러한 적응형 컨텐츠(10)가 요청되는 경우, 본 발명에 의한 로컬 캐싱 장치(200)는, 맨 처음의 GET 메시지에 대응하여, 컨텐츠 제공 장치(300)로부터 해당 컨텐츠를 적어도 일부분을 수신하고, 수신한 부분을 키로 하여 저장된 컨텐츠를 비교함으로써, 단말 장치(100)에서 요청한 컨텐츠, 특히 상기 컨텐츠 제공 장치(300)에서 현재 적용하는 암호화키로 암호화된 컨텐츠가 저장되어 있는 지를 파악한다. 여기서, 상기 로컬 캐싱 장치(300)가 해당 컨텐츠를 캐싱하고 있으나, 그에 대한 암호화 키가 변경된 경우, 상기 컨텐츠의 적어도 일부분을 키로 하여 저장 여부를 판단할 때 동일한 컨텐츠가 없는 것으로 판정되며, 암호화 키가 변경되지 않은 경우에는, 동일한 컨텐츠가 존재하는 것으로 판정될 수 있다.
즉, 상기 컨텐츠의 적어도 일부분을 키로 하여 저장 여부를 판단한 결과 동일한 컨텐츠가 저장되어 있다면, 상기 요청된 컨텐츠에 대하여 현재 사용되는 암호화 키로 암호화된 컨텐츠 데이터가 로컬 캐싱 장치(200)에 저장되어 있는 것으로 판단할 수 있다. 따라서, 상기 로컬 캐싱 장치(200)는 이후에 단말 장치(100)로부터의 상기 적응형 컨텐츠(10) 요청에 대해서는, 컨텐츠 주소 정보 기반으로 컨텐츠 저장 여부를 판단할 수 있게 된다.
이를 위해서, 본 발명의 로컬 캐싱 장치(200)는 이전에 캐시 히트된 컨텐츠 요청에 대한 플로우 정보를 저장하고, 컨텐츠 요청 메시지가 수신될 때마다, 그 플로우 정보를 추출하여 이전에 캐시 히트된 플로우 정보와 일치하는 지를 확인하고, 일치하지 않을 경우에는 컨텐츠의 적어도 일부를 비교하여 캐시 히트 여부를 판단하고, 일치할 경우에는 이후의 동일한 컨텐츠에 대한 요청에 대하여, 간단하게 컨텐츠 주소 정보만을 비교하여 요청된 컨텐츠 데이터의 캐시 히트 여부를 판단한다.
아울러, 이러한 동작을 위하여, 본 발명에 의한 로컬 캐싱 장치(200)는 캐시 히트된 컨텐츠 요청에 대한 플로우 정보를 관리하는 플로우 정보 테이블과, 로컬 캐싱 장치(200)에 저장된 각 컨텐츠에 대한 컨텐츠 구분 정보 및 컨텐츠 주소 정보를 관리하는 컨텐츠 주소 관리 테이블을 구비할 수 있다.
도 4의 (a)는 본 발명에서 이용되는 플로우 정보 테이블의 일 예를 나타낸 것으로서, 캐시 히트된 컨텐츠 요청에 대한 플로우 정보로서, 출발지 주소 정보와 목적지 주소 정보를 매칭하여 관리하는데, 여기서, 출발지 주소 정보는 상기 캐시 히트된 컨텐츠의 출발지, 즉, 컨텐츠 제공 장치(300)의 주소 정보이며, IP 주소 정보(예, Sever1_IP, Server2_IP)로 설정되며, 목적지 주소 정보는 상기 캐시 히트된 컨텐츠의 목적지, 즉, 단말 장치(100)의 주소 정보로서, 단말 장치(100)의 IP 주소 정보(예, UE_IP) 및 포트 정보(UE_Port)로 설정된다.
도 4의 (b)는 본 발명에 이용된 컨텐츠 주소 관리 테이블의 예를 나타낸 것으로서, 본 발명의 실시 예에 있어서, 컨텐츠 주소 관리 테이블은, 로컬 캐싱 장치(200)에 저장되어 있는 각 컨텐츠의 적어도 일부를 이용하여 생성된 컨텐츠 구분 정보를 기록하는 제1 필드와, 상기 컨텐츠 구분 정보에 매칭되는 컨텐츠에 대응하는 하나 이상의 컨텐츠 주소 정보를 기록하는 제2 필드를 포함하여 이루어질 수 있다. 상기 컨텐츠 구분 정보는 앞서 정의한 바와 같이, 컨텐츠의 내용 중 적어도 일부, 또는 이를 가공(예를 들어, 해쉬 연산)하여 형성된 값으로서, 예를 들어, 컨텐츠 구분 정보는, 기 설정된 길이는 프리픽스 정보, 상기 프리픽스 정보를 기 설정된 해쉬 함수로 연산한 해쉬값, 및 상기 컨텐츠의 메타 데이터 중 하나 이상을 포함하여 이루어질 수 있다.
이어서 상술한 로컬 캐싱 장치(200)의 구성 및 작용을 도 5를 참조하여 더 구체적으로 설명한다.
도 5은 본 발명의 실시 예에 따른 로컬 캐싱 장치(200)의 구성을 나타낸 블럭도이다.
도 5를 참조하면, 본 발명의 실시 예에 따른 로컬 캐싱 장치(200)는, 통신 인터페이스부(210)와, 제어부(220)와, 저장부(230)를 포함하여 이루어질 수 있다.
통신 인터페이스부(210)는, 네트워크(400)에 연결되어 상기 네트워크(400)를 통해서 데이터를 송수신하기 위한 수단이다. 특히, 본 발명의 실시 예에 따르면, 통신 인터페이스부(210)는, 하나 이상의 컨텐츠 제공 장치(300)와 하나 이상의 단말 장치(100) 간에 데이터를 전달하는 네트워크(400)에 연결되어, 상기 네트워크(400)를 통해 상기 하나 이상의 컨텐츠 제공 장치(300)와 하나 이상의 단말 장치(100)와 데이터를 송수신할 수 있다. 이러한 통신 인터페이스부(210)는, 연결되는 네트워크(400)의 종류에 따라서 유선 방식 또는 무선 방식의 송수신을 처리하는 통신 모듈을 하나 이상 포함할 수 있다.
저장부(230)는 상기 하나 이상의 컨텐츠 제공 장치(300)로부터 하나 이상의 단말 장치(100)로 서비스되는 컨텐츠의 일부 또는 전부를 저장한다. 더하여, 상기 저장부(230)는, 이전에 캐시 히트되고 현재 세션이 활성화 상태인 플로우에 대한 정보를 관리하는 플로우 정보 테이블(231)과, 상기 저장부(230)에 저장되어 있는 하나 이상의 컨텐츠에 대한 컨텐츠 주소 정보를 관리하는 컨텐츠 주소 관리 테이블(232)를 더 저장할 수 있다. 상기 플로우 정보 테이블(231)과 컨텐츠 주소 관리 테이블(232)은 도 4의 (a) 및 (b)에 도시된 바와 같이 구성될 수 있으며, 후술하는 제어부(220)에 의해 관리된다.
제어부(220)는 상기 로컬 캐싱 장치(200)에 의한 캐싱 서비스 동작의 전반을 제어하는 수단으로서, 기본적으로, 통신 인터페이스부(210)를 통해서 단말 장치(100)의 컨텐츠 요청 메시지를 수신하면, 단말 장치(100)가 요청한 컨텐츠가 저장부(230)에 저장되어 있는 지를 확인하고, 저장되어 있는 경우(캐시 히트된 경우) 컨텐츠 제공 장치(300)를 대신하여 저장부(230)에서 해당 컨텐츠를 가져와 상기 단말 장치(100)로 제공하고, 저장되어 있지 않은 경우에는 컨텐츠 제공 장치(300)로부터 상기 컨텐츠를 수신하여 단말 장치(100)로 전달하면서, 상기 컨텐츠를 저장부(230)에 저장한다.
상술한 처리를 위하여, 본 발명의 일 실시 예에 따른 제어부(220)는 요청 모니터링 모듈(221)과, 캐시 제어 모듈(222)을 포함할 수 있다.
상기 요청 모니터링 모듈(221)는 단말 장치(100)로부터 컨텐츠 제공 장치(300)로 전송되는 모든 컨텐츠 요청 메시지를 모니터링하는 수단으로서, 상기 단말 장치(100)로부터 전송된 컨텐츠 요청 메시지를 상기 컨텐츠 제공 장치(300)로 전달하되, 상기 단말 장치(100)로부터 컨텐츠 제공 장치(300)로 전송되는 모든 컨텐츠 요청 메지지에 대한 정보, 예를 들어, 출발지 주소 정보, 목적지 주소 정보, 요청한 컨텐츠에 대응하는 URL 정보를 추출하여 관리한다.
상기 캐시 제어 모듈(222)은, 상기 컨텐츠 제공 장치(300)로부터 단말 장치(100)로 전송되는 컨텐츠를 저장부(230)에 저장(캐싱)하는 수단으로서, 구체적으로, 상기 컨텐츠 요청 메시지에 대한 응답으로서 컨텐츠 제공 장치(300)로부터 단말 장치(100)로 전송되는 특정 플로우의 응답을 수신하여 상기 저장부(230)에 저장하며, 이때, 상기 특정 플로우에 대한 정보를 상기 요청 모니터링 모듈(221)에 질의하여 획득하고, 상기 질의를 통해 획득한 정보 중에서 해당 컨텐츠와 관련된 컨텐츠 주소 정보인 URL 정보를 태그하여 함께 저장한다.
이때, 상기 단말 장치(100)에서 요청한 컨텐츠의 저장 여부에 대한 판단 과정은 다음과 같이 이루어진다.
제어부(220)는, 단말 장치(100)로부터 컨텐츠 제공 장치(300)로 전송되는 컨텐츠 요청 메시지를 수신하면, 상기 컨텐츠 요청에 대응하여 컨텐츠 제공 장치(300)로부터 전송된 컨텐츠의 적어도 일부를 수신하고, 수신한 컨텐츠의 내용 일부를 기반으로 상기 단말 장치(100)가 요청한 컨텐츠 데이터가 저장부(230)에 저장되어 있는 지(캐시 히트 여부)를 판단한다. 상기 판단 결과, 상기 단말 장치(100)가 요청한 컨텐츠 데이터가 저장부(230)에 저장되어 있는 경우, 상기 컨텐츠 데이터가 적응형 컨텐츠의 일부인지를 확인한다. 이는 상기 컨텐츠의 컨텐츠 주소 정보인 URL에 기록된 파일명이 특정 확장자(예를 들어, ts)이거나, 해당 컨텐츠의 과거의 기록으로부터 일정 횟수 이상의 연속적인 컨텐츠 요청이 발생한 기록이 있는지를 확인함에 의해 이루어질 수 있다.
상기 확인 결과, 현재 캐시 히트된 컨텐츠 데이터가 적응형 컨텐츠의 일부로 판단되면, 상기 제어부(220)는 상기 컨텐츠 데이터에 대응하는 플로우 정보를 추출하여, 플로우 정보 테이블(231)에 캐시 히트된 플로우로서 저장한다. 이때, 각 플로우별 캐시히트 여부를 카운팅하여 기 설정된 횟수 이상 연속적으로 캐시 히트된 플로우에 대해서만 상기 플로우 정보 테이블(231)에 그 플로우 정보를 등록하도록 할 수 있다.
그리고, 상기 제어부(220)는 상기 플로우 정보 테이블(231)에 플로우 정보가 등록된 플로우에 대한 컨텐츠 요청에 대해서는, 판단 방법을 전환하여 컨텐츠 주소 정보 기반으로 저장 여부를 판단한다.
즉, 제어부(220)는 상기 컨텐츠 요청 메시지에 포함된 플로우 정보가 이전에 캐시 히트된 플로우 정보와 일치하는지 비교하여, 일치하면 상기 단말 장치(100)가 요청한 컨텐츠의 컨텐츠 주소 정보를 기반으로 상기 컨텐츠의 저장 여부를 판단한다.
이를 위하여, 상기 제어부(220)의 요청 모니터링 모듈(221)은 단말 장치(100)로부터의 컨텐츠 요청 메시지를 모니터링하여, 상기 플로우 정보 테이블(231)에 등록된 플로우 정보와 동일한 플로우 정보를 갖는 컨텐츠 요청에 대해서, 상기 캐시 제어 모듈(222)에 통지하여, 상기 캐시 제어 모듈(222)이 해당 요청에 대응하는 컨텐츠 주소 정보를 기반으로 캐시 여부를 판단하도록 한다. 캐시 제어 모듈(222)은 컨텐츠 주소 정보를 기반으로 캐시 여부를 판단한 결과, 단말 장치(100)에서 요청한 컨텐츠가 저장부(230)에 저장되어 있는 것으로 판단되면, 상기 컨텐츠 제공 장치(200)를 대신하여 단말 장치(100)로 요청된 컨텐츠를 전송한다.
아울러, 상기 제어부(220)는, 상기에서 컨텐츠 주소 정보를 기반으로 컨텐츠의 저장 여부를 판단한 결과, 상기 저장부(230)에 단말 장치가 요청한 컨텐츠가 저장되어 있지 않은 경우, 상기 컨텐츠 제공 장치(300)로 상기 컨텐츠 요청 메시지를 전달하여 상기 컨텐츠 제공 장치(300)로부터 단말 장치(100)가 요청한 컨텐츠를 수신하고, 상기 수신한 컨텐츠의 적어도 일부를 키로 하여 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 다시 판단할 수 있다.
그리고, 상기 제어부(220)는, 상기 컨텐츠 제공 장치(300)로부터 수신한 컨텐츠의 적어도 일부를 키로 하여 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단한 결과, 컨텐츠가 저장부(230)에 저장되어 있지 않은 경우, 상기 컨텐츠 제공 장치(300)로부터 계속해서 컨텐츠를 수신하여 상기 단말 장치로 전송함과 동시에 상기 저장부(230)에 저장한다.
반면에, 상기 제어부(220)는, 상기 컨텐츠 제공 장치(300)로부터 수신한 컨텐츠의 적어도 일부를 키로 하여 상기 단말 장치(100)가 요청한 컨텐츠의 저장 여부를 판단한 결과, 상기 단말 장치(100)가 요청한 컨텐츠가 저장되어 있는 경우, 상기 컨텐츠 제공 장치(300)로 컨텐츠 전송 중단을 요청할 수 있다. 이에 의하면, 컨텐츠 제공 장치(300)로부터 로컬 캐싱 장치(200)까지 구간의 트래픽이 감소된다. 여기서, 컨텐츠 전송의 중단을 요청하는 메시지는 HTTP RST(Reset) 메시지일 수 있다.
더하여, 상기 제어부(220)는, 상술한 처리 과정 중에, 상기 단말 장치(100)가 요청한 컨텐츠의 컨텐츠 주소 정보, 상기 컨텐츠 제공 장치(300)로부터 수신한 컨텐츠의 적어도 일부를 이용하여 생성된 컨텐츠 구분 정보 중에서 하나 이상을 상기 컨텐츠 주소 관리 테이블에 추가 기록하고, 상기 단말 장치(100)의 컨텐츠 요청 메시지에서 추출한 플로우 정보를 상기 플로우 정보 테이블에 추가 기록한다. 이렇게 추가 기록된 정보들은 이후의 컨텐츠 요청에 대한 처리시에 이용된다. 이어서, 본 발명에 의한 컨텐츠 캐싱 서비스 과정을 도 6을 참조하여 설명한다.
도 6은 본 발명의 실시 예에 따른 컨텐츠 캐싱 서비스 방법을 설명하기 위한 순서도이다.
여기서, 로컬 캐싱 장치(200)는 플로우 정보 테이블(231) 및 컨텐츠 주소 관리 테이블(232)를 구비하고 있으며, 상기 플로우 정보 테이블(231)을 통해서 이전에 캐시 히트된 컨텐츠에 대한 플로우 정보를 관리하고, 상기 컨텐츠 주소 관리 테이블(232)을 통해서 저장부(230)에 저장된 컨텐츠에 대한 컨텐츠 구분 정보와 컨텐츠 주소 정보를 관리한다. 특히, 본 발명의 일 실시 예에서 상기 플로우 정보 테이블(231)에 등록된 플로우 정보는, 적응형 컨텐츠에 대한 플로우 정보이며, 현재 활성화 상태인 세션에 대한 플로우 정보일 수 있다.
본 발명의 일 실시 예에 있어서, 로컬 캐싱 장치(200)는 단말 장치(100)로부터 임의의 한 컨텐츠가 요청될 때, 컨텐츠 제공 장치(300)로부터 단말 장치(100)가 요청한 컨텐츠의 적어도 일부를 수신하고, 상기 수신한 컨텐츠의 적어도 일부를 이용하여 상기 단말 장치(100)가 요청한 컨텐츠를 자신이 저장하고 있는 지 판단하되, 판단 결과, 상기 컨텐츠를 저장하고 있으면, 상기 단말 장치(100)가 요청한 컨텐츠의 플로우 정보를 플로우 정보 테이블(231)에 등록하고, 이후 상기 플로우 정보 테이블(231)에 등록된 플로우 정보와 일치하는 플로우 정보를 갖는 컨텐츠에 대해서, 컨텐츠의 적어도 일부를 수신하고 상기 수신한 컨텐츠의 적어도 일부를 이용하여 해당 컨텐츠를 자신이 저장하고 있는 지를 판단하지 않고, 컨텐츠 주소 정보를 기반으로 상기 컨텐츠를 자신이 저장하고 있는 지 판단함으로써, 다수의 청크 단위로 분할되어 요청 및 전송되는 적응형 컨텐츠에 대하여 보다 효율적으로 저장 여부를 판단할 수 있도록 한다.
이를 위하여, 도 6에 도시된 바와 같이, 로컬 캐싱 장치(200)는, 단말 장치(100)로부터 컨텐츠 제공 장치(300)로 전송되는 컨텐츠 요청 메시지를 수신하여, 상기 컨텐츠 요청 메시지로부터 요청된 컨텐츠에 대한 컨텐츠 주소 정보 및 플로우 정보를 추출한다(S105). 여기서, 컨텐츠 요청 메시지는 예를 들어 HTTP GET 메시지일 수 있다.
더하여, 본 발명의 일 실시 예에 의한 로컬 캐싱 장치(200)는 상기 추출한 플로우 정보와 일치하는 플로우 정보가 플로우 정보 테이블(231)에 존재하는 지를 판단한다(S110). 여기서, 플로우 정보 테이블(231)에 등록된 플로우 정보는, 이전에 컨텐츠의 적어도 일부를 비교하여 판단한 결과 로컬 캐싱 장치(200)에 저장되어 있는 것으로 판단된 컨텐츠에 대한 플로우 정보이다. 더하여, 상기 플로우 정보 테이블(231)에 등록된 플로우 정보는, 도 3에 도시된 바와 같이 이루어지는 적응형 컨텐츠이면서, 그 일부 컨텐츠 데이터가 이전에 컨텐츠의 적어도 일부를 비교하여 판단한 결과 로컬 캐싱 장치(200)에 저장되어 있는 것으로 판단된 컨텐츠에 대한 플로우 정보이다.
즉, 상기 도 3에 도시된 바와 같은 임의의 적응형 컨텐츠(10) 중 어느 한 컨텐츠 데이터가 이전에 요청되었으며, 상기 요청된 컨텐츠 데이터가 캐시 히트된 적이 있으면 상기 적응형 컨텐츠(10)에 대한 플로우 정보는 상기 플로우 정보 테이블(231)에 등록된다. 그리고, 상기 적응형 컨텐츠(10) 중 다른 컨텐츠 데이터를 요청하는 컨텐츠 요청 메시지가 수신된 경우, 상기 S110 단계에서 해당 컨텐츠 요청 메시지로부터 추출된 플로우 정보와 상기 플로우 정보 테이블(231)에 등록된 플로우 정보가 일치하게 된다.
따라서, 상기 로컬 캐싱 장치(200)는, 상기 S110 단계에서의 판단 결과, 상기 플로우 정보 테이블(231)에 상기 추출한 플로우 정보와 일치하는 플로우 정보가 존재하면, 상기 컨텐츠 요청 메시지로부터 추출한 컨텐츠 주소 정보(예를 들어, URL 정보)를 이용하여 상기 단말 장치(100)가 요청한 컨텐츠를 자신이 저장하고 있는 지 판단한다(S145).
그리고, 상기 S145 단계의 판단 결과, 상기 컨텐츠 주소 정보와 동일한 주소 정보를 갖는 컨텐츠가 저장부(230)에 저장되어 있으면, 상기 저장부(230)에 저장되어 있는 해당 컨텐츠를 단말 장치(100)로 전송한다(S140).
반면, 상기 S145 단계의 판단 결과, 상기 컨텐츠 주소 정보와 동일한 주소 정보를 갖는 컨텐츠가 저장부(230)에 저장되어 있지 않으면, 상기 컨텐츠 제공 장치(300)로부터 상기 단말 장치(100)가 요청한 컨텐츠를 수신하고, 수신한 컨텐츠를 단말 장치(100)로 전달함과 동시에 상기 저장부(230)에 저장한다(S150).
한편, 상기 S110 단계에서 플로우 정보를 비교한 결과, 상기 플로우 정보 테이블(231)에 상기 컨텐츠 요청 메시지에서 추출한 플로우 정보와 동일한 플로우 정보가 존재하지 않으면, 상기 컨텐츠 제공 장치(300)로부터 상기 단말 장치(100)가 요청한 컨텐츠를 수신하고(S115), 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠가 상기 저장부(230)에 저장되어 있는 지를 판단한다(S120). 여기서, 상기 S120 단계는, 상기 수신한 컨텐츠의 적어도 일부를 이용하여 컨텐츠 구분 정보를 생성하고, 상기 생성한 컨텐츠 구분 정보로 상기 컨텐츠 주소 관리 테이블(232)을 검색함에 의해 이루어질 수 있다.
그리고, 상기 S120 단계의 판단 결과, 컨텐츠를 저장하고 있지 않은 것으로 판단되면, 상기 요청된 컨텐츠가 로컬 캐싱 장치(200)내에 캐시되지 않은 컨텐츠이므로, 로컬 캐싱 장치(200)는, 상기 컨텐츠 제공 장치(300)로부터 해당 컨텐츠를 수신하여 단말 장치(100)로 전달하면서, 상기 컨텐츠를 저장부(230)에 저장한다(S125).
반면에, 상기 S120 단계의 판단 결과, 상기 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠가 저장부(230)에 저장되어 있는 것으로 판단되면, 로컬 캐싱 장치(200)는, 상기 컨텐츠 요청 메시지로부터 추출된 플로우 정보를 상기 플로우 정보 테이블(231)에 등록한다(S130).
본 발명의 일 실시 예에 있어서, 상기 S130 단계는, 적응형 컨텐츠에 대해서만 이루어질 수 있으며, 이를 위해 로컬 캐싱 장치(200)는 상기 단말 장치(100)가 요청한 컨텐츠가 적응형 컨텐츠인지 여부를 확인하는 과정을 더 수행할 수 있으며, 확인 결과 요청된 컨텐츠가 적응형 컨텐츠인 경우에 상기 S130 단계를 수행하도록 할 수 있다. 적응형 컨텐츠인지 확인하기 위하여, 본 발명에 의한 로컬 캐싱 장치(200)는 요청된 컨텐츠의 컨텐츠 주소 정보에 기재된 파일의 확장자를 확인할 수 다. 아울러, 로컬 캐싱 장치(200)는, 플로우 정보 별로 컨텐츠 요청 및 저장 여부 판단 결과를 분석하여, 기 설정된 횟수 이상 컨텐츠가 요청되어 저장부(230)에 저장되어 있는 것으로 판단된 경우, 상기 S130 단계를 수행하도록 할 수 있다.
상기 S130 단계는, S135 단계 및 S140 단계 중 어느 하나와 거의 동시에 또는 그 후에 이루어질 수 있다.
더하여, 상기 로컬 캐싱 장치(200)는, 상기 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠가 저장되어 있는 경우, 컨텐츠 제공 장치(300)로 컨텐츠 전송 중단을 요청할 수 있다(S135).
그리고, 상기 로컬 캐싱 장치(200)는, 상기 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠가 저장되어 있는 경우, 저장부(230)로부터 해당 컨텐츠를 가져와 단말 장치(100)로 전송한다(S140).
더하여, 상기 로컬 캐싱 장치(200)는, 상기 S125 단계 및 S150 단계를 통해서 상기 저장부(2300에 저장되는 컨텐츠에 대해서, 상기 컨텐츠의 적어도 일부를 이용하여 컨텐츠 구분 정보를 생성하고, 컨텐츠 주소 정보를 추출하여 상기 컨텐츠 주소 관리 테이블(232)에 등록함으로써, 이후 동일한 컨텐츠에 대해서 다시 요청이 발생되는 지를 확인하는데 이용할 수 있도록 한다.
상술한 과정은, 상기 단말 장치(100)에서 요청한 컨텐츠가 캐싱되어 있는 적응형 컨텐츠이면서, 그 암호화 키가 변경되지 않은 경우에 발생할 수 있으며, 상기 로컬 캐싱 장치(200)는 캐싱된 컨텐츠를 이용하여 서비스함으로써, 트래픽을 감소시킬 수 있게 된다. 여기서, 상기 로컬 캐싱 장치(200)는 컨텐츠 저장 여부가 판정되기 위해 수신된 컨텐츠의 일부분을 전송하고, 컨텐츠 저장 여부가 판정된 후에는, 저장부(230)로부터 그 이후의 데이터를 가져와 단말 장치(100)로 서비스할 수 있다.
상술한 바와 같이, 로컬 캐싱 장치(200)에 캐싱되어 있는 임의의 적응형 컨텐츠에 대하여 컨텐츠 내용의 일부를 이용하여 판단한 결과 캐시 히트로 판정된 후에, 상기 적응형 컨텐츠의 나머지 데이터에 대하여 연속적으로 컨텐츠 요청 메시지가 발생하는 경우, 상기 S120 단계에서, 상기 컨텐츠 요청 메시지로부터 추출한 출발지-주소 정보가 이전에 캐시 히트된 플로우 정보와 일치하게 된다.
상술한 바에 의하면, 본 발명에 의한 로컬 캐싱 장치(100)는, 도 3에 도시된 바와 같이 구성되는 적응형 컨텐츠(10) 중 어느 한 컨텐츠 데이터가 요청되는 경우, 컨텐츠의 내용 일부를 비교하여 요청된 데이터의 저장 여부를 판단하고, 판단 결과, 요청된 데이터가 저장되어 있으면, 해당 적응형 컨텐츠(10)를 식별할 수 있는 플로우 정보를 플로우 정보 테이블(231)에 등록함으로써, 상기 적응형 컨텐츠(10)의 다른 컨텐츠 데이터가 요청될 때, 간단히 컨텐츠 주소 정보의 비교만으로 저장 여부를 판단할 수 있도록 한다.
본 발명에 따른 컨텐츠 캐싱 서비스 제공 방법은 다양한 컴퓨터 수단을 통하여 판독 가능한 소프트웨어 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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: 플로우 정보 테이블 222: 컨텐츠 주소 관리 테이블
230: 저장부 300: 컨텐츠 제공 장치
400: 네트워크

Claims (13)

  1. 하나 이상의 컨텐츠 제공 장치로부터 하나 이상의 단말 장치로 서비스되는 컨텐츠의 일부 또는 전부를 저장하는 저장부;
    상기 하나 이상의 컨텐츠 제공 장치와 하나 이상의 단말 장치 간에 데이터를 전달하는 통신망에 연결되어, 상기 통신망을 통해 데이터를 송수신하는 통신 인터페이스부; 및
    상기 하나 이상의 단말 장치 중 한 단말 장치가 요청한 컨텐츠를 해당 컨텐츠 제공 장치로부터 수신하고, 상기 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠가 상기 저장부에 저장되어 있으면, 상기 단말 장치가 요청한 컨텐츠의 플로우 정보를 플로우 정보 테이블에 등록한 후, 상기 플로우 정보 테이블에 등록된 플로우 정보와 일치하는 플로우 정보를 갖는 컨텐츠가 다시 요청될 때, 컨텐츠 주소 정보를 기반으로 요청된 컨텐츠가 상기 저장부에 저장되어 있는 지 판단하는 제어부;
    를 포함하는 것을 특징으로 하는 로컬 캐싱 장치.
  2. 제1항에 있어서, 상기 제어부는
    컨텐츠 주소 관리 테이블을 이용하여 상기 저장부에 저장된 각 컨텐츠의 적어도 일부를 이용하여 생성된 컨텐츠 구분 정보와, 상기 컨텐츠 구분 정보에 매칭되는 컨텐츠에 대응하는 하나 이상의 컨텐츠 주소 정보를 관리하는 것을 특징으로 하는 로컬 캐싱 장치.
  3. 제1항에 있어서, 상기 제어부는
    상기 컨텐츠가 적응형 컨텐츠의 일부 인지를 더 판단하고, 상기 컨텐츠가 적응형 컨텐츠의 일부인 경우, 상기 컨텐츠의 플로우 정보를 상기 플로우 정보 테이블에 등록하는 것을 특징으로 하는 로컬 캐싱 장치.
  4. 제1항에 있어서, 상기 제어부는
    플로우 정보에 해당하는 컨텐츠가 기 설정된 횟수 이상 요청되어 상기 저장부에 저장된 것으로 판단된 경우, 플로우 정보 테이블에 상기 컨텐츠의 플로우 정보를 등록하도록 하는 것을 특징으로 하는 로컬 캐싱 장치.
  5. 제2항에 있어서, 상기 컨텐츠 구분 정보는
    해당 컨텐츠의 내용 중 기 설정된 길이의 프리픽스 정보, 이를 설정된 해쉬 함수로 연산하여 계산된 해쉬값, 및 해당 컨텐츠의 메타 데이터 중에서 하나 이상을 포함하는 것을 특징으로 하는 로컬 캐싱 장치.
  6. 제1항에 있어서, 상기 제어부는
    상기 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠 또는 상기 컨텐츠 주소 정보에 대응하는 컨텐츠가 저장부에 저장되어 있지 않으면, 상기 컨텐츠 제공 장치로부터 컨텐츠를 수신하여 상기 단말 장치로 전송함과 동시에 상기 저장부에 저장하는 것을 특징으로 하는 로컬 캐싱 장치.
  7. 제1항에 있어서, 상기 제어부는
    상기 수신한 컨텐츠와 적어도 일부가 일치하는 컨텐츠가 저장되어 있으면, 상기 컨텐츠 제공 장치로 컨텐츠 전송 중단을 요청하는 것을 특징으로 하는 로컬 캐싱 장치.
  8. 로컬 캐싱 장치가,
    컨텐츠 제공 장치로부터 단말 장치가 요청한 컨텐츠의 적어도 일부를 수신하고, 상기 수신한 컨텐츠의 적어도 일부를 이용하여 상기 단말 장치가 요청한 컨텐츠를 자신이 저장하고 있는 지 판단하는 단계;
    상기 판단 결과, 컨텐츠를 저장하고 있으면, 상기 단말 장치가 요청한 컨텐츠의 플로우 정보를 플로우 정보 테이블에 등록하는 단계;
    상기 플로우 정보 테이블에 등록된 플로우 정보와 일치하는 플로우 정보를 갖는 컨텐츠가 요청되면, 컨텐츠 주소 정보를 기반으로 상기 컨텐츠를 자신이 저장하고 있는 지 판단하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
  9. 제8항에 있어서, 상기 컨텐츠의 플로우 정보를 플로우 정보 테이블에 등록하는 단계는,
    상기 플로우 정보에 대응하는 컨텐츠가 기 설정된 횟수 이상 요청되어 저장하고 있는 것으로 판단된 경우, 상기 플로우 정보를 플로우 정보 테이블에 등록하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
  10. 제8항에 있어서, 상기 컨텐츠의 플로우 정보를 플로우 정보 테이블에 등록하는 단계는,
    상기 단말 장치가 요청한 컨텐츠가 적응형 컨텐츠의 일부인 지를 더 확인하고, 상기 확인 결과 적응형 컨텐츠의 일부인 경우 상기 단말 장치가 요청한 컨텐츠의 플로우 정보를 상기 플로우 정보 테이블에 등록하도록 하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
  11. 제8항에 있어서,
    상기 컨텐츠 주소 정보 또는 컨텐츠의 적어도 일부를 이용하여 컨텐츠의 저장 여부를 판단한 결과, 컨텐츠를 저장하고 있으면, 상기 저장하고 있는 컨텐츠를 상기 단말 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
  12. 제8항에 있어서,
    상기 컨텐츠 주소 정보 또는 컨텐츠의 적어도 일부를 이용하여 컨텐츠의 저장 여부를 판단한 결과, 컨텐츠를 저장하고 있지 않으면, 상기 컨텐츠 제공 장치로부터 컨텐츠를 수신하여 상기 단말 장치로 전달하면서 저장하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
  13. 제8항에 있어서,
    상기 저장한 컨텐츠에 대하여, 상기 컨텐츠의 적어도 일부를 이용하여 생성된 컨텐츠 구분 정보 및 상기 수신한 컨텐츠의 컨텐츠 식별 정보를 매칭하여, 캐싱된 컨텐츠의 주소 정보를 관리하는 컨텐츠 주소 관리 테이블에 저장하는 단계를 더 포함하는 것을 특징으로 하는 컨텐츠 캐싱 서비스 제공 방법.
KR1020120059293A 2012-06-01 2012-06-01 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 KR101330052B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120059293A KR101330052B1 (ko) 2012-06-01 2012-06-01 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
CN201310208422.3A CN103457993B (zh) 2012-06-01 2013-05-30 本地缓存装置和提供内容缓存服务的方法
US13/908,572 US9390200B2 (en) 2012-06-01 2013-06-03 Local caching device, system and method for providing content caching service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120059293A KR101330052B1 (ko) 2012-06-01 2012-06-01 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치

Publications (1)

Publication Number Publication Date
KR101330052B1 true KR101330052B1 (ko) 2013-11-15

Family

ID=49671738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120059293A KR101330052B1 (ko) 2012-06-01 2012-06-01 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치

Country Status (3)

Country Link
US (1) US9390200B2 (ko)
KR (1) KR101330052B1 (ko)
CN (1) CN103457993B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160111648A (ko) * 2015-03-17 2016-09-27 에스케이텔레콤 주식회사 컨텐츠 캐싱 방법 및 이를 위한 캐시 장치
KR101889220B1 (ko) * 2017-04-07 2018-08-16 한국과학기술원 비디오 세그먼트를 이용하여 비디오 소비 정보를 수집하기 위한 방법 및 시스템

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348722B (zh) * 2013-07-31 2017-12-12 华为技术有限公司 确定内容获取路径、请求处理的方法、装置和***
US9535837B2 (en) * 2013-11-19 2017-01-03 Alcatel-Lucent Usa Inc. Decentralized online cache management for digital content conveyed over shared network connections based on cache fullness and cache eviction policies
CN103685551A (zh) * 2013-12-25 2014-03-26 乐视网信息技术(北京)股份有限公司 更新cdn缓存文件的方法和装置
CN106256132B (zh) * 2014-04-18 2019-06-18 Sk电信有限公司 用于实时发送广播内容的方法及其装置
EP3161669B1 (en) * 2014-06-26 2021-02-17 Intel Corporation Memcached systems having local caches
CN104168317B (zh) * 2014-08-12 2018-01-19 华为技术有限公司 缓存内容命中方法和通信***
EP3002720A1 (en) * 2014-10-02 2016-04-06 Unify GmbH & Co. KG Method, device and software product for filling an address field of an electronic message
CN105516231B (zh) * 2014-10-20 2019-02-26 中国电信股份有限公司 一种基于改进一致性哈希分布式缓存的方法和***
CN104519139B (zh) * 2014-12-31 2018-10-30 华为技术有限公司 缓存方法、缓存边缘服务器、缓存核心服务器和缓存系統
EP3269121B1 (en) * 2015-03-12 2020-02-05 Telefonaktiebolaget LM Ericsson (PUBL) Caching secure data
US10516752B2 (en) 2015-06-05 2019-12-24 Apple Inc. Edge caching shared devices
US10425499B2 (en) * 2015-06-18 2019-09-24 Line Corporation Server and method for providing content to users
CN111163133B (zh) * 2015-08-28 2022-03-11 华为技术有限公司 网络***和网络通信的方法
US10791047B2 (en) * 2018-02-19 2020-09-29 Disney Enterprise Inc. Automated network navigation
CN110209888A (zh) * 2019-05-08 2019-09-06 无线生活(杭州)信息科技有限公司 接口请求的存储方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001098904A1 (fr) 2000-06-23 2001-12-27 Hitachi, Ltd. Procede de service d'information web et serveur web
KR20100050597A (ko) * 2008-10-20 2010-05-14 에스케이텔레콤 주식회사 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법
KR20100056934A (ko) * 2008-11-20 2010-05-28 에스케이텔레콤 주식회사 캐시서버를 이용한 컨텐츠 전송 시스템 및 방법
KR20110014120A (ko) * 2009-08-03 2011-02-10 (주)에임투지 캐시서버 및 멀티미디어 컨텐츠 제공 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991306A (en) * 1996-08-26 1999-11-23 Microsoft Corporation Pull based, intelligent caching system and method for delivering data over a network
US6128655A (en) * 1998-07-10 2000-10-03 International Business Machines Corporation Distribution mechanism for filtering, formatting and reuse of web based content
JP2004070860A (ja) * 2002-08-09 2004-03-04 Hitachi Ltd ストリームコンテンツ配送システムおよびプロキシサーバ
JP2007066161A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd キャッシュシステム
JP5336403B2 (ja) * 2010-02-24 2013-11-06 富士通株式会社 ノード装置およびコンピュータプログラム
EP2599295A1 (en) * 2010-07-30 2013-06-05 ByteMobile, Inc. Systems and methods for video cache indexing
CN107094176B (zh) * 2010-12-30 2021-07-30 皮尔爱普有限公司 用于对计算机网络上的数据通信进行缓存的方法和***
KR101904482B1 (ko) * 2011-12-26 2018-10-08 에스케이텔레콤 주식회사 콘텐트 전송 시스템, 그 시스템에서의 네트워크 중복 전송 트래픽 최적화 방법, 중앙 제어 장치 및 로컬 캐싱 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001098904A1 (fr) 2000-06-23 2001-12-27 Hitachi, Ltd. Procede de service d'information web et serveur web
KR20100050597A (ko) * 2008-10-20 2010-05-14 에스케이텔레콤 주식회사 캐시서버 및 브라우저캐시를 이용한 보안된 컨텐츠 전송시스템 및 방법
KR20100056934A (ko) * 2008-11-20 2010-05-28 에스케이텔레콤 주식회사 캐시서버를 이용한 컨텐츠 전송 시스템 및 방법
KR20110014120A (ko) * 2009-08-03 2011-02-10 (주)에임투지 캐시서버 및 멀티미디어 컨텐츠 제공 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160111648A (ko) * 2015-03-17 2016-09-27 에스케이텔레콤 주식회사 컨텐츠 캐싱 방법 및 이를 위한 캐시 장치
KR102169717B1 (ko) * 2015-03-17 2020-10-23 에스케이텔레콤 주식회사 컨텐츠 캐싱 방법 및 이를 위한 캐시 장치
KR101889220B1 (ko) * 2017-04-07 2018-08-16 한국과학기술원 비디오 세그먼트를 이용하여 비디오 소비 정보를 수집하기 위한 방법 및 시스템

Also Published As

Publication number Publication date
US9390200B2 (en) 2016-07-12
US20130326133A1 (en) 2013-12-05
CN103457993B (zh) 2016-11-09
CN103457993A (zh) 2013-12-18

Similar Documents

Publication Publication Date Title
KR101330052B1 (ko) 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US10771527B2 (en) Caching and streaming of digital media content subsets
KR101436049B1 (ko) 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US9986059B2 (en) Content engine for mobile communications systems
US9338515B2 (en) Real-time and secured picture/video upload via a content delivery network
US9356985B2 (en) Streaming video to cellular phones
US20140136644A1 (en) Data storage management in communications
KR101981285B1 (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법
KR101959970B1 (ko) 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치
WO2017125017A1 (zh) 缓存内容的调整方法、装置及***
KR20140021372A (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 방법 및 로컬 캐싱 장치
KR101441403B1 (ko) 컨텐츠 전송 서비스 시스템, 그의 장치 및 컨텐츠 전송 서비스 지원 방법
KR101888982B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US20150341458A1 (en) Method of adaptively deploying cache positioned at subscriber network, and system therefor
KR102169717B1 (ko) 컨텐츠 캐싱 방법 및 이를 위한 캐시 장치
KR20150011087A (ko) 컨텐츠 전송 서비스를 위한 분산 캐싱 관리 방법 및 이를 위한 중앙 관리 장치
KR102148147B1 (ko) 컨텐츠 전송 방법 및 이를 위한 장치
KR101971595B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR102519390B1 (ko) 캐시 장치, 상기 캐시 장치에서의 mmt 컨텐츠 전송 방법
KR20180110565A (ko) 컨텐츠 전송 제어 방법, 이를 위한 장치, 이를 기록한 컴퓨터 판독 가능한 기록 매체 및 프로그램
KR20140075829A (ko) 투명 인터넷 캐시 서버와 콘텐츠 전달망을 결합한 콘텐츠 전달 시스템 및 방법
KR101565137B1 (ko) 무선 스트리밍 서비스 제공 방법 및 장치
TWI513284B (zh) 反向代理系統及其方法
CN117353962A (zh) 访问日志分析方法和***、电子设备、可读介质
KR20150010415A (ko) 분산 캐싱을 위한 컨텐츠 전송 서비스 방법 및 중계 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181030

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190926

Year of fee payment: 7