KR101529602B1 - 캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법 - Google Patents

캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법 Download PDF

Info

Publication number
KR101529602B1
KR101529602B1 KR1020130052078A KR20130052078A KR101529602B1 KR 101529602 B1 KR101529602 B1 KR 101529602B1 KR 1020130052078 A KR1020130052078 A KR 1020130052078A KR 20130052078 A KR20130052078 A KR 20130052078A KR 101529602 B1 KR101529602 B1 KR 101529602B1
Authority
KR
South Korea
Prior art keywords
request
content
frequency
time
priority
Prior art date
Application number
KR1020130052078A
Other languages
English (en)
Other versions
KR20140090057A (ko
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 한국과학기술원
Publication of KR20140090057A publication Critical patent/KR20140090057A/ko
Application granted granted Critical
Publication of KR101529602B1 publication Critical patent/KR101529602B1/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/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
    • 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)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명에 따른 캐시 서버는 콘텐츠를 저장하는 콘텐츠 저장부, 상기 저장된 콘텐츠의 요청 시간 정보를 이용해 상기 저장된 콘텐츠의 요청 빈도를 계산하는 요청 빈도 계산부, 상기 콘텐츠의 요청 시간 정보를 기반으로 상기 콘텐츠의 요청 최근성을 계산하는 요청 최근성 계산부, 그리고 상기 계산된 요청 빈도 및 상기 계산된 요청 최근성을 기반으로 상기 저장된 콘텐츠가 얼마나 자주 요청되었는지를 판단하고, 상기 저장된 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 저장된 콘텐츠의 교체 여부를 결정하는 결정부를 포함한다.

Description

캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법{CACHE SERVER, SYSTEM FOR PROVIDING OF THE CONTENT AND METHOD FORREPLACEMENT OF THE CONTENT}
본 발명은 캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법에 관한 것이다.
콘텐츠의 제공자는 클라이언트 단말기에 제공할 콘텐츠, 예컨대 동영상, 음악 파일, 영상데이터 등 다수의 콘텐츠를 콘텐츠 제공 서버(이하, 근원 서버라 함)에 저장한다. 그러나, 근원 서버가 다수의 콘텐츠 중 일부 또는 전부를 다수의 클라이언트 단말기 각각에게 일대일로 제공하는 것은 실질적으로 어렵다.
캐싱(caching) 기술은 사용자 및 사업자 모두에게 이득이 되도록 하는 중요한 기술이다. 캐싱 기술은 잦은 요청이 있는 콘텐츠를 근원 서버에서 복수의 캐시 서버로 로드(load)하여 사용자와 비교적 가까이에 있는 캐시 서버에서 사용자가 요청한 콘텐츠를 제공하는 기술이다.
이러한 캐싱 기술은 콘텐츠를 서비스하는 경우에 사용자의 요청에 빠르게 응답하고, 근원 서버의 부하를 획기적으로 줄일 수 있게 된다.
대부분의 종래 기술에 따른 캐시 서버는 콘텐츠의 요청 빈도 또는 요청 최근성을 반영하여 콘텐츠를 교체하였다. 콘텐츠 요청 빈도 기반 콘텐츠 교체는 요청 횟수를 고려함으로써 요청 인기도를 잘 반영할 수 있다는 장점이 있지만 요청 최근성의 고려없이 요청 횟수만을 고려하기 때문에 새로운 콘텐츠에 대한 저장에 있어서 높은 장벽이 있다는 단점이 있다.
반면, 콘텐츠 요청 최근성 기반 콘텐츠 교체는 요청 최근성을 고려함으로써 최신의 요청 경향성을 잘 반영할 수 있다는 장점이 있지만 요청 횟수의 고려없이 요청 최근성만을 고려하기 때문에 요청이 자주 일어나지 않는 콘텐츠에 대해서도 최근 한번이라도 요청이 일어났다면 저장을 해야 하는 단점이 있다.
뿐만 아니라, 콘텐츠 요청 빈도와 요청 최근성을 동시에 고려하는 콘텐츠 교체는 앞서 언급한 콘텐츠 요청 빈도 기반 콘텐츠 교체 및 콘텐츠 요청 최근성 기반 콘텐츠 교체시 발생하는 단점을 보완하긴 하지만 콘텐츠 요청 빈도를 단순히 콘텐츠 요청 횟수를 기반으로 반영하였기 때문에 최근에 자주 요청된 콘텐츠에 대한 반영이 원활하게 이루어지기 어려웠다.
본 발명은 최근에 자주 요청된 콘텐츠를 원활하게 반영할 수 있는 캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법을 제안하고자 한다.
본 발명의 일 양태에 따른 캐시 서버는 콘텐츠를 저장하는 콘텐츠 저장부, 상기 저장된 콘텐츠의 요청 시간 정보를 이용해 상기 저장된 콘텐츠의 요청 빈도를 계산하는 요청 빈도 계산부, 그리고 상기 계산된 요청 빈도를 기반으로 상기 저장된 콘텐츠가 얼마나 자주 요청되었는지를 판단하고, 상기 저장된 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 저장된 콘텐츠의 교체 여부를 결정하는 결정부를 포함한다.
상기 요청 시간 정보는, 복수의 요청 시간을 포함하며, 상기 요청 빈도 계산부는, 최근 2회의 요청 시간 정보를 이용해 요청 빈도를 계산하는 경우, 상기 저장된 콘텐츠에 대한 최근의 요청 시간과 상기 최근 요청 시간 바로 직전의 요청 시간을 차감하여 역수를 취함으로써 상기 요청 빈도를 계산할 수 있다.
상기 요청 빈도 계산부는, 최근 2회 이상의 요청 시간 정보를 이용해 요청 빈도를 계산하는 경우, 각각 요청 시간을 상기 각각의 요청 시간 바로 직전의 요청 시간으로 차감하되, 차감된 시간을 합산하며, 합산된 시간을 상기 요청 콘텐츠가 요청된 횟수로 나누어 역수를 취함으로써 상기 요청 빈도를 산출할 수 있다.
상기 콘텐츠의 요청 시간 정보를 기반으로 상기 콘텐츠의 요청 최근성을 계산하는 요청 최근성 계산부를 더 포함할 수 있다.
상기 요청 최근성 계산부는, 지수함수를 이용하여 상기 요청 최근성에 대한 감쇄 정도를 계산하며, 현재시간과 최근의 요청 시간의 차이가 클수록 감쇄가 더 크게 나타날 수 있다.
본 발명의 일 양태에 따른 캐시 서버는 콘텐츠를 저장하는 콘텐츠 저장부, 콘텐츠의 요청 시간 정보를 이용해 콘텐츠의 요청 빈도와 요청 최근성을 계산하는 요청 빈도 및 요청 최근성 계산부, 그리고 상기 요청 빈도와 상기 요청 최근성을 동시에 고려하여 상기 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 콘텐츠의 교체 여부를 결정하는 결정부를 포함한다.
상기 요청 빈도 및 요청 최근성 계산부는, 상기 콘텐츠에 대한 최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간의 차이로부터 상기 요청 빈도를 산출하고, 현재 시간과 최근의 요청 시간의 차이로부터 상기 요청 최근성을 산출하여 상기 콘텐츠의 우선 순위를 계산할 수 있다.
상기 요청 빈도 및 요청 최근성 계산부는, 상기 콘텐츠에 대한 최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간의 차이로부터 상기 요청 빈도를 산출하고, 현재 시간과 최근의 요청 시간의 차이로부터 상기 요청 최근성을 산출하여 상기 콘텐츠의 우선 순위를 계산할 수 있다.
상기 요청 시간 정보는, 복수의 요청 시간을 포함하며, 최근 2회의 요청 시간 정보를 이용해 요청 빈도를 계산하는 경우, 상기 요청 빈도 및 요청 최근성 계산부가 상기 콘텐츠에 대한 최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간을 차감하여 역수를 취함으로써 상기 요청 빈도를 계산할 수 있다.
상기 요청 최근성은, 지수함수를 이용하여 감쇄 정도가 계산되고, 현재시간과 최근의 요청 시간의 차이가 클수록 상기 감쇄 정도가 더 크게 나타날 수 있다.
본 발명의 일 양태에 따른 콘텐츠 교체 방법은 캐시 서버가 콘텐츠를 교체하는 방법에서, 상기 콘텐츠의 요청 시간 정보를 이용해 콘텐츠의 요청 최근성을 계산하는 단계, 상기 계산된 요청 최근성을 기반으로 상기 콘텐츠가 최근에 요청된 지가 얼마나 오래 되었는지를 판단하는 단계, 그리고 상기 판단에 따라, 상기 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 콘텐츠의 교체 여부를 결정하는 단계를 포함한다.
상기 콘텐츠 교체 방법은, 상기 콘텐츠의 요청 시간 정보를 이용해 콘텐츠의 요청 빈도를 계산하는 단계, 그리고 상기 계산된 요청 빈도를 기반으로, 상기 콘텐츠가 얼마나 자주 요청되었는지를 판단하고, 상기 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 콘텐츠의 교체 여부를 결정하는 단계를 더 포함할 수 있다.
상기 요청 빈도는, 상기 콘텐츠에 대한 최근의 요청 시간과 상기 최근의 요청 시간 직전의 요청 시간의 차이로부터 산출될 수 있다.
상기 요청 최근성은, 현재 시간과 최근의 요청 시간의 차이로부터 산출될 수 있다.
본 발명의 일 양태에 따른 콘텐츠 교체 방법은 캐시 서버가 콘텐츠를 교체하는 방법에서, 콘텐츠 요청을 수신하는 단계, 상기 요청된 콘텐츠의 요청 시간 정보를 이용해 상기 요청된 콘텐츠의 요청 빈도와 상기 요청된 콘텐츠의 요청 최근성을 계산하는 단계, 그리고 상기 요청 빈도와 상기 요청 최근성을 동시에 고려하여 상기 요청된 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 요청된 콘텐츠의 교체 여부를 결정하는 단계를 포함한다.
상기 계산하는 단계는, 복수의 요청 시간을 이용해 상기 요청 빈도를 계산하며, 상기 콘텐츠에 대한 최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간의 차이로부터 상기 요청 빈도를 산출할 수 있다.
상기 계산하는 단계는, 현재시간과 최근의 요청 시간의 차이를 이용해 상기 요청 최근성을 계산하며, 상기 차이가 클수록 상기 요청 최근성에 대한 감쇄 정도가 크게 나타날 수 있다.
본 발명의 일 양태에 따른 콘텐츠 제공 시스템은 콘텐츠를 요청하는 콘텐츠 요청 장치, 상기 콘텐츠 요청 장치로부터 콘텐츠의 요청을 수신하면, 상기 요청된 콘텐츠의 존재 여부를 판단하고, 저장된 콘텐츠를 상기 콘텐츠 요청 장치에 제공하는 캐시 서버, 그리고 상기 요청된 콘텐츠가 상기 캐시 서버에 존재하지 않는 경우, 상기 캐시 서버로부터 콘텐츠 요청을 수신하고, 요청된 콘텐츠를 상기 캐시 서버로 제공하는 근원 서버를 포함한다.
상기 캐시 서버는, 상기 요청된 콘텐츠의 존재 여부를 판단하는 판단부, 콘텐츠를 저장하며, 저장된 콘텐츠를 상기 콘텐츠 요청 장치로 제공하는 콘텐츠 저장부, 상기 저장된 콘텐츠의 요청 시간 정보를 이용해 상기 저장된 콘텐츠의 요청 빈도를 계산하는 요청 빈도 계산부, 그리고 상기 계산된 요청 빈도를 기반으로 상기 저장된 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 저장된 콘텐츠의 교체 여부를 결정하는 결정부를 포함할 수 있다.
상기 캐시 서버는, 상기 저장된 콘텐츠의 요청 시간 정보를 이용해 상기 저장된 콘텐츠의 요청 최근성을 계산하는 요청 최근성 계산부를 더 포함하며, 상기 결정부가 상기 계산된 요청 최근성을 기반으로 상기 저장된 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 저장된 콘텐츠의 교체 여부를 결정하는 결정할 수 있다.
상기 캐시 서버는, 상기 요청된 콘텐츠의 존재 여부를 판단하는 판단부, 콘텐츠를 저장하며, 저장된 콘텐츠를 상기 콘텐츠 요청 장치로 제공하는 콘텐츠 저장부, 콘텐츠의 요청 시간 정보를 이용해 콘텐츠의 요청 빈도와 요청 최근성을 계산하는 요청 빈도 및 요청 최근성 계산부, 그리고 상기 요청 빈도와 상기 요청 최근성을 동시에 고려하여 상기 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 콘텐츠의 교체 여부를 결정하는 결정부를 포함할 수 있다.
본 발명에 따르면 특정 콘텐츠에 대한 요청 빈도와 요청 최근성을 동시에 반영하여 해당 콘텐츠의 우선 순위를 정하고 이를 바탕으로 해당 콘텐츠의 교체 여부를 결정함으로써, 보다 최근에 자주 요청된 콘텐츠를 효과적으로 제공할 수 있는 환경을 제공한다.
도 1은 본 발명의 한 실시예에 따른 콘텐츠 제공 시스템을 도시한 도면이다.
도 2는 본 발명의 한 실시예에 따른 콘텐츠 제공 시스템의 캐시 서버를 간략히 도시한 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 콘텐츠 제공 시스템의 캐시 서버를 간략히 도시한 블록도이다.
도 4는 본 발명의 한 실시예에 따른 콘텐츠 제공 방법의 콘텐츠 제공 과정을 도시한 흐름도이다.
도 5는 본 발명의 한 실시예에 따른 콘텐츠 교체 방법의 콘텐츠 교체 과정을 도시한 흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…모듈" 의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이제 도 1 내지 도 5를 참고하여 본 발명의 한 실시예에 따른 캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법에 대하여 상세하게 설명한다.
도 1은 본 발명의 한 실시예에 따른 콘텐츠 제공 시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 콘텐츠 제공 시스템은 콘텐츠 요청 장치(100), 캐시 서버(200) 및 근원 서버(300)을 포함한다.
콘텐츠 요청 장치(100)는 캐시 서버(200) 또는 근원 서버(300)에 콘텐츠를 요청하여 인터넷을 사용하는 사용자에게 콘텐츠를 표시하는 장치이다. 콘텐츠 요청 장치(100)는 콘텐츠를 제공하는 서버와 네트워크로 연결될 수 있는 단말들로, 예를 들어 PC, 노트북, PDA, 스마트폰, 태블릿 PC 등을 포함한다.
여기서, 콘텐츠는 인터넷이나 컴퓨터 통신 등을 통하여 제공되는 각종 정보나 그 내용물로서, 디지털 방식의 문자, 부호, 음성, 음향, 이미지 및 동영상 등을 포함한다.
캐시 서버(200)는 관리하고 있는 데이터의 복사분을 축적해서 이용자에게 신속하게 데이터를 제공하도록 하는 서버로서, 콘텐츠 요청 장치(100)가 자주 요청하는 웹 페이지나, FTP 및 기타 다른 파일들 또는, 동영상과 같은 대용량 콘텐츠를 저장하고 있다가, 이들 페이지나 파일들에 대한 이어지는 요구들을 제공한다.
캐시 서버(200)에는 잦은 요청이 있는 콘텐츠를 근원 서버(300)에서 로드(load)하여 사용자와 가까이에서 사용자가 요청한 콘텐츠를 제공하는 캐싱(caching) 기술이 적용된다.
캐시 서버(200)는 콘텐츠 요청 장치(100)로부터 콘텐츠의 요청을 수신하면, 요청된 콘텐츠의 존재 여부를 판단한다. 캐시 서버(200)는 콘텐츠 요청 장치(100)가 요청한 콘텐츠를 저장하고 있는 경우, 해당 콘텐츠를 직접 콘텐츠 요청 장치(100)에 제공한다.
그리고, 요청된 콘텐츠가 캐시 서버(200)에 존재하지 않는 경우, 근원 서버(300)에 해당 콘텐츠를 요청하고, 근원 서버(300)에서 수신된 콘텐츠를 콘텐츠 요청 장치(100)에 제공한다.
이와 같이, 근원 서버(300)는 콘텐츠 요청 장치(100)로부터 요청된 콘텐츠가 캐시 서버(200)에 존재하지 않는 경우, 캐시 서버(200)로부터 해당 콘텐츠의 요청을 수신하고, 요청된 콘텐츠를 캐시 서버(200)로 제공한다.
도 2는 본 발명의 한 실시예에 따른 콘텐츠 제공 시스템의 캐시 서버를 간략히 도시한 블록도이다. 이때, 캐시 서버(200)은 본 발명의 실시예에 따른 설명을 위해 필요한 개략적인 구성만을 도시할 뿐 이러한 구성에 국한되는 것은 아니다.
도 2를 참조하면, 본 발명의 한 실시예에 따른 캐시 서버(200)는 판단부(210), 콘텐츠 저장부(220), 요청 빈도 계산부(232), 요청 최근성 계산부(234) 및 결정부(240)를 포함한다.
판단부(210)는 콘텐츠 요청 장치(100)로부터 요청된 콘텐츠가 캐시 서버(200)에 존재하는지 여부 즉, 해당 콘텐츠를 저장하고 있어 직접 제공할 수 있는지 여부를 판단한다.
콘텐츠 저장부(220)는 콘텐츠를 저장하고, 콘텐츠 요청 장치(100)로부터 요청된 콘텐츠와 동일한 콘텐츠를 저장하고 있는 경우, 이를 콘텐츠 요청 장치(100)에 제공한다.
요청 빈도 계산부(232)는 특정 콘텐츠에 대한 요청 시간 정보를 이용해 해당 콘텐츠의 요청 빈도를 계산한다.
요청 빈도는 특정 콘텐츠가 콘텐츠 요청 장치(100)로부터 얼마나 자주 요청되었는지 나타낸다.
여기서, 요청 빈도는 특정 콘텐츠에 대한 요청 시간 정보를 몇 개나 참조할지에 따라 빈도 측정에 대한 신뢰도가 높아진다. 예를 들어, 최근 2회의 요청 시간 정보를 참조하는 것 보다 최근 2회 이상의 요청 시간 정보를 참조할 때 좀 더 정확한 요청 빈도가 구해진다.
최근 2회의 요청 시간 정보를 참조하는 경우, 요청 빈도(fi)는 다음의 수학식 1을 이용해 계산할 수 있다.
Figure 112013040807467-pat00001
여기서, ti , rec는 콘텐츠 i가 가장 최근에 요청된 시간이며, ti , prev는 최근에 요청된 시간 ti , rec의 바로 직전에 콘텐츠 i가 요청된 시간이다.
최근 2회 이상의 요청 시간 정보를 참조하는 경우에는 ti , prev 보다 더 이전 요청 시간 정보까지 고려하여 위와 같은 시간적 거리 연산을 수행한다.
최근 2회 이상의 요청 시간 정보를 참조하는 경우, 요청 빈도(fi)는 다음의 수학식 2를 이용해 계산할 수 있다.
Figure 112013040807467-pat00002
M은 참조할 콘텐츠 i의 요청 횟수이다. 그리고, ti ,k는 콘텐츠 i의 최근 k번째 요청 시간이고, ti ,k- 1는 콘텐츠 i의 최근 (k-1)번째 요청 시간이다.
요청 최근성 계산부(234)는 콘텐츠에 대한 요청 시간 정보를 이용해 해당 콘텐츠의 요청 최근성을 계산한다. 여기서, 요청 최근성은 현재 시점을 기준으로 특정 콘텐츠의 최근 요청 시간 정보를 기반으로 해당 콘텐츠의 최근성, 즉 특정 콘텐츠가 최근에 요청된 지가 얼마나 오래되었는지를 나타낸다.
요청 최근성 계산부(234)는 현재 시점을 기준으로 특정 콘텐츠의 최근 요청 시간 정보와의 차이를 통해서 요청 최근성을 계산하며, 캐시 서버(200)는 계산된 요청 최근성을 통해서 특정 콘텐츠가 최근에 요청된 지가 얼마나 오래되었는지를 판단한다. 여기서, 요청 최근성은 현재 시점과 최근 요청 시간과의 차이가 클수록 감쇄가 더 크게 나도록 하고, 차이가 작을수록 감쇄가 더 적게 나타나도록 한다.
요청 최근성 계산부(234)는 지수(exponential) 함수를 이용하여 감쇄 정도를 계산할 수 있으며, 다음의 수학식 3을 이용해 요청 최근성(ri)를 계산할 수 있다.
Figure 112013040807467-pat00003
여기서, ti , rec는 콘텐츠 i의 최근 요청 시간이며, t는 현재 시간이다. 그리고 c는 최근성에 대한 감쇄 정도를 결정하는 값이다.
결정부(240)는 상기 요청 빈도와 상기 요청 최근성을 각각 고려하여 상기 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 콘텐츠의 교체 여부를 결정한다.
도 3은 본 발명의 다른 실시예에 따른 콘텐츠 제공 시스템의 캐시 서버를 간략히 도시한 블록도이다. 여기서, 판단부(210), 콘텐츠 저장부(220) 및 결정부(240)는 도 2에서 설명한 것과 같으므로 자세한 설명을 생략한다.
도 3을 참조하면, 본 발명의 다른 실시예에 따른 캐시 서버(200)는 판단부(210), 콘텐츠 저장부(220), 요청 빈도 및 요청 최근성 계산부(230) 및 결정부(240)를 포함한다.
요청 빈도 및 요청 최근성 계산부(230)는 콘텐츠에 대한 요청 시간 정보를 이용해 해당 콘텐츠의 요청 빈도와 요청 최근성을 동시에 계산한다. 따라서, 요청 빈도 및 요청 최근성 계산부(230)는 요청 빈도와 요청 최근성을 동시에 반영할 수 있다.
요청 빈도 및 요청 최근성 계산부(230)는 콘텐츠 요청 빈도를 앞서 살펴본 대로 계산을 하고, 이 값에 대한 감쇄 정도를 앞서 살펴본 콘텐츠 요청 최근성 계산 방식에 의해 설정할 수 있다.
요청 빈도 및 요청 최근성 계산부(230)는 다음의 수학식 4를 통해서 특정 콘텐츠에 대한 우선 순위를 계산할 수 있다.
Figure 112013040807467-pat00004
여기서, Pi는 콘텐츠 i에 대한 우선 순위이며, trec는 콘텐츠가 가장 최근에 요청된 시간이며, tprev는 최근에 요청된 시간 trec의 바로 직전에 콘텐츠가 요청된 시간 그리고, t는 현재 시간, c는 요청 빈도 대비 요청 최근성의 반영정도를 결정하는 파라미터로서 c가 크면 요청 최근성이 지배적인 상황을 c가 작으면 요청 빈도가 지배적인 상황을 연출할 수 있다. 이와 같이 상황에 따라 c값을 변경해가면서 요청 빈도 및 요청 최근성을 동시에 유연하게 반영할 수 있다.
이와 같이, 요청 빈도 및 요청 최근성 계산부(230)는 시간적 거리 개념을 활용하여 콘텐츠 요청 빈도 및 최근성을 동시에 고려하므로, 본 발명의 한 실시예에 따른 캐시 서버(200)는 기존 다른 유사한 방식들에 비해 최근에 자주 요청된 콘텐츠들을 더 잘 반영할 수 있다.
도 4는 본 발명의 한 실시예에 따른 콘텐츠 제공 방법의 콘텐츠 제공 과정을 도시한 흐름도이다. 이때, 이하의 흐름도는 도 1 내지 도 3의 구성과 연계하여 동일한 도면부호를 사용하여 설명한다.
도 4를 참조하면, 캐시 서버(200)는 콘텐츠 요청 장치(100)로부터 특정 콘텐츠의 요청을 수신하고, 요청된 콘텐츠가 캐시 서버(200)의 콘텐츠 저장부(220) 내에 저장되어 있는지 여부를 판단한다(S100, S110).
캐시 서버(200)는 요청된 콘텐츠가 콘텐츠 저장부(220)에 존재하지 않는 경우에, 근원 서버(300)에 해당 콘텐츠를 요청하고, 근원 서버(300)로부터 전송된 콘텐츠를 콘텐츠 저장부(220)에 저장한다(S120, S130). 이때, 캐시 서버(200)의 콘텐츠 저장부(220)에 요청된 새로운 콘텐츠의 저장을 위한 여유 공간이 없을 때는 콘텐츠 교체를 수행한다. 이에 대한 자세한 설명은 도 5의 콘텐츠 교체 과정 부분에서 기술한다.
그리고, 요청된 콘텐츠가 콘텐츠 저장부(220)에 존재하는 경우에는 이를 검색하여 콘텐츠 요청 장치(100)에 제공한다(S140, S150).
도 5는 본 발명의 한 실시예에 따른 콘텐츠 교체 방법의 콘텐츠 교체 과정을 도시한 흐름도이다.
도 5를 참조하면, 캐시 서버(200)는 콘텐츠 요청 장치(100)로 요청된 콘텐츠를 제공하기 위해서 먼저 캐시 서버(200) 내에 저장된 콘텐츠를 검색하고, 콘텐츠가 없는 경우, 해당 콘텐츠를 근원 서버(300)에 요청한다(S200, S210, S230).
캐시 서버(200)는 새로운 콘텐츠의 저장을 위한 여유 공간이 없을 경우 콘텐츠 요청 장치(100)가 요청한 콘텐츠의 요청 시간 정보를 이용해 해당 콘텐츠의 요청 빈도 및 요청 최근성을 계산한다(S240).
그리고, 캐시 서버(200)는 계산된 요청 빈도 및 요청 최근성을 이용해 해당 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 해당 콘텐츠의 교체 여부를 결정한다(S250).
여기서, 캐시 서버(200)는 요청 빈도 계산부(232)와 요청 최근성 계산부(234)를 통해 요청 빈도 및 요청 최근성을 각각 계산하고, 결정부(240)가 요청 빈도 또는 요청 최근성 중 어느 하나만을 이용해 해당 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 해당 콘텐츠의 교체 여부를 결정할 수 있다.
또한, 캐시 서버(200)는 요청 빈도 및 요청 최근성 계산부(230)가 요청 빈도와 요청 최근성을 동시에 계산하고, 동시에 계산된 요청 빈도와 요청 최근성을 동시에 고려하여 해당 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 해당 콘텐츠의 교체 여부를 결정할 수도 있다.
이와 같은 과정을 통해서, 본 발명의 한 실시예에 따른 캐시 서버(200)는 특정 콘텐츠에 대한 요청 빈도와 요청 최근성을 적절히 반영하여 해당 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 해당 콘텐츠의 교체 여부를 결정함으로써, 보다 최근에 자주 요청된 콘텐츠를 효과적으로 제공할 수 있는 환경을 제공한다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100: 콘텐츠 요청 장치 200: 캐시 서버
210: 판단부 220: 콘텐츠 저장부
230: 요청 빈도 및 요청 최근성 계산부 232: 요청 빈도 계산부
234: 요청 최근성 계산부 240: 결정부
300: 근원 서버

Claims (20)

  1. 콘텐츠를 저장하는 콘텐츠 저장부,
    상기 저장된 콘텐츠의 요청 시간 정보를 이용해 상기 저장된 콘텐츠의 요청 빈도를 계산하는 요청 빈도 계산부,
    상기 콘텐츠의 요청 시간 정보를 기반으로 상기 콘텐츠의 요청 최근성을 계산하는 요청 최근성 계산부, 그리고
    상기 계산된 요청 빈도를 기반으로 상기 저장된 콘텐츠가 얼마나 자주 요청되었는지를 판단하고, 상기 저장된 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 저장된 콘텐츠의 교체 여부를 결정하는 결정부
    를 포함하며,
    상기 결정부는,
    상기 요청 빈도와 상기 요청 최근성을 동시에 고려하여 상기 콘텐츠의 우선 순위를 정하며, 최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간을 차감하여 역수를 취해서 계산된 상기 요청 빈도와 지수함수를 이용하여 감쇄 정도를 계산한 상기 요청 최근성을 곱하며, 요청 빈도 대비 요청 최근성의 반영정도를 결정하는 파라미터를 이용해서 상기 우선 순위를 정하는 캐시 서버.
  2. 삭제
  3. 제1항에서,
    상기 요청 빈도 계산부는,
    최근 2회 이상의 요청 시간 정보를 이용해 요청 빈도를 계산하는 경우, 각각 요청 시간을 상기 각각의 요청 시간 바로 직전의 요청 시간으로 차감하되, 차감된 시간을 합산하며, 합산된 시간을 상기 요청 콘텐츠가 요청된 횟수로 나누어 역수를 취함으로써 상기 요청 빈도를 산출하는 캐시 서버.
  4. 삭제
  5. 제1항에서,
    상기 요청 최근성 계산부는,
    현재시간과 최근의 요청 시간의 차이가 클수록 감쇄가 더 크게 나타나는 캐시 서버.
  6. 콘텐츠를 저장하는 콘텐츠 저장부,
    콘텐츠의 요청 시간 정보를 이용해 콘텐츠의 요청 빈도와 요청 최근성을 계산하는 요청 빈도 및 요청 최근성 계산부, 그리고
    상기 요청 빈도와 상기 요청 최근성을 동시에 고려하여 상기 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 콘텐츠의 교체 여부를 결정하는 결정부
    를 포함하며,
    상기 결정부는,
    최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간을 차감하여 역수를 취해서 계산된 상기 요청 빈도와 지수함수를 이용하여 감쇄 정도를 계산한 상기 요청 최근성을 곱하며, 요청 빈도 대비 요청 최근성의 반영정도를 결정하는 파라미터를 이용해서 상기 우선 순위를 정하는 캐시 서버.
  7. 제6항에서,
    상기 요청 빈도 및 요청 최근성 계산부는,
    상기 콘텐츠에 대한 최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간의 차이로부터 상기 요청 빈도를 산출하고, 현재 시간과 최근의 요청 시간의 차이로부터 상기 요청 최근성을 산출하여 상기 콘텐츠의 우선 순위를 계산하는 캐시 서버.
  8. 제6항에서,
    상기 요청 빈도는,
    최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간을 차감하여 역수를 취함으로써 최근에 해당 콘텐츠가 요청된 시간의 차이가 작을수록 해당 콘텐츠의 우선순위가 더 커지는 캐시 서버.
  9. 제6항에서,
    상기 요청 최근성은,
    현재시간과 최근의 요청 시간의 차이가 클수록 상기 감쇄 정도가 더 크게 나타나는 캐시 서버.
  10. 캐시 서버가 콘텐츠를 교체하는 방법에서,
    상기 콘텐츠의 요청 시간 정보를 이용해 콘텐츠의 요청 최근성을 계산하는 단계,
    상기 콘텐츠의 요청 시간 정보를 이용해 콘텐츠의 요청 빈도를 계산하는 단계,
    상기 계산된 요청 최근성을 기반으로 상기 콘텐츠가 최근에 요청된 지가 얼마나 오래 되었는지를 판단하고, 상기 계산된 요청 빈도를 기반으로, 상기 콘텐츠가 얼마나 자주 요청되었는지를 판단하는 단계, 그리고
    상기 판단에 따라, 상기 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 콘텐츠의 교체 여부를 결정하는 단계
    를 포함하며,
    상기 결정하는 단계는,
    상기 요청 빈도와 상기 요청 최근성을 동시에 고려하여 상기 콘텐츠의 우선 순위를 정하며, 최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간을 차감하여 역수를 취해서 계산된 상기 요청 빈도와 지수함수를 이용하여 감쇄 정도를 계산한 상기 요청 최근성을 곱하며, 요청 빈도 대비 요청 최근성의 반영정도를 결정하는 파라미터를 이용해서 상기 우선 순위를 정하는 콘텐츠 교체 방법.
  11. 삭제
  12. 삭제
  13. 제10항에서,
    상기 요청 최근성은, 현재 시간과 최근의 요청 시간의 차이로부터 산출되는 콘텐츠 교체 방법.
  14. 캐시 서버가 콘텐츠를 교체하는 방법에서,
    콘텐츠 요청을 수신하는 단계,
    상기 요청된 콘텐츠의 요청 시간 정보를 이용해 상기 요청된 콘텐츠의 요청 빈도와 상기 요청된 콘텐츠의 요청 최근성을 계산하는 단계, 그리고
    상기 요청 빈도와 상기 요청 최근성을 동시에 고려하여 상기 요청된 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 요청된 콘텐츠의 교체 여부를 결정하는 단계
    를 포함하며,
    상기 교체 여부를 결정하는 단계는,
    최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간을 차감하여 역수를 취해서 계산된 상기 요청 빈도와 지수함수를 이용하여 감쇄 정도를 계산한 상기 요청 최근성을 곱하며, 요청 빈도 대비 요청 최근성의 반영정도를 결정하는 파라미터를 이용해서 상기 우선 순위를 정하는 단계를 포함하는 콘텐츠 교체 방법.
  15. 삭제
  16. 제14항에서,
    상기 계산하는 단계는,
    현재시간과 최근의 요청 시간의 차이를 이용해 상기 요청 최근성을 계산하며, 상기 차이가 클수록 상기 요청 최근성에 대한 감쇄 정도가 크게 나타나는 콘텐츠 교체 방법.
  17. 콘텐츠를 요청하는 콘텐츠 요청 장치,
    상기 콘텐츠 요청 장치로부터 콘텐츠의 요청을 수신하면, 상기 요청된 콘텐츠의 존재 여부를 판단하고, 저장된 콘텐츠를 상기 콘텐츠 요청 장치에 제공하는 캐시 서버, 그리고
    상기 요청된 콘텐츠가 상기 캐시 서버에 존재하지 않는 경우, 상기 캐시 서버로부터 콘텐츠 요청을 수신하고, 요청된 콘텐츠를 상기 캐시 서버로 제공하는 근원 서버
    를 포함하며,
    상기 캐시 서버는,
    상기 요청된 콘텐츠의 존재 여부를 판단하는 판단부,
    콘텐츠를 저장하며, 저장된 콘텐츠를 상기 콘텐츠 요청 장치로 제공하는 콘텐츠 저장부,
    상기 저장된 콘텐츠의 요청 시간 정보를 이용해 상기 저장된 콘텐츠의 요청 빈도를 계산하는 요청 빈도 계산부,
    상기 저장된 콘텐츠의 요청 시간 정보를 이용해 상기 저장된 콘텐츠의 요청 최근성을 계산하는 요청 최근성 계산부, 그리고
    상기 계산된 요청 빈도를 기반으로 상기 저장된 콘텐츠의 우선 순위를 정하고, 상기 우선 순위를 바탕으로 상기 저장된 콘텐츠의 교체 여부를 결정하는 결정부
    를 포함하며,
    상기 결정부는,
    상기 요청 빈도와 상기 요청 최근성을 동시에 고려하여 상기 콘텐츠의 우선 순위를 정하며,
    최근의 요청 시간과 상기 최근의 요청 시간 바로 직전의 요청 시간을 차감하여 역수를 취해서 계산된 상기 요청 빈도와 지수함수를 이용하여 감쇄 정도를 계산한 상기 요청 최근성을 곱하며, 요청 빈도 대비 요청 최근성의 반영정도를 결정하는 파라미터를 이용해서 상기 우선 순위를 정하는 콘텐츠 제공 시스템.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020130052078A 2013-01-07 2013-05-08 캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법 KR101529602B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130001563 2013-01-07
KR1020130001563 2013-01-07

Publications (2)

Publication Number Publication Date
KR20140090057A KR20140090057A (ko) 2014-07-16
KR101529602B1 true KR101529602B1 (ko) 2015-06-18

Family

ID=51737910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130052078A KR101529602B1 (ko) 2013-01-07 2013-05-08 캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법

Country Status (1)

Country Link
KR (1) KR101529602B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102235622B1 (ko) * 2020-11-30 2021-04-01 연세대학교 산학협력단 IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010114140A (ko) * 2000-06-21 2001-12-29 포만 제프리 엘 음성 캐쉬 관리 방법
JP2004504681A (ja) * 2000-07-17 2004-02-12 エプリケーション ネットワークス リミテッド キャッシュ分散ネットーク上に静的及び動的コンテンツをキャッシュすることによる、WWWサイトのビット・レートの節約及びQoS改善
JP2012181745A (ja) * 2011-03-02 2012-09-20 Kddi Corp キャッシュ装置及び方法並びにプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010114140A (ko) * 2000-06-21 2001-12-29 포만 제프리 엘 음성 캐쉬 관리 방법
JP2004504681A (ja) * 2000-07-17 2004-02-12 エプリケーション ネットワークス リミテッド キャッシュ分散ネットーク上に静的及び動的コンテンツをキャッシュすることによる、WWWサイトのビット・レートの節約及びQoS改善
JP2012181745A (ja) * 2011-03-02 2012-09-20 Kddi Corp キャッシュ装置及び方法並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102235622B1 (ko) * 2020-11-30 2021-04-01 연세대학교 산학협력단 IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치

Also Published As

Publication number Publication date
KR20140090057A (ko) 2014-07-16

Similar Documents

Publication Publication Date Title
US11394625B2 (en) Service level agreement based storage access
US10609104B2 (en) Live stream manifests for on demand content
US10182127B2 (en) Application-driven CDN pre-caching
US9836287B2 (en) Storage optimization in computing devices
US9411814B2 (en) Predictive caching and fetch priority
US11190566B1 (en) Generating requests for streaming media
US20190079898A1 (en) Distributed machine learning platform using fog computing
US9591095B2 (en) Prefetching application data for periods of disconnectivity
CN102656570B (zh) 用于缓存的方法和服务器
CN108055302B (zh) 一种图片缓存处理方法、系统和服务器
US20050097085A1 (en) Method for prioritizing content
CN105210352A (zh) 基于指纹的智能内容预取
CN108804234B (zh) 数据存储系统及其操作方法
US10638168B2 (en) Detecting minimum viable display resolution of media content using optical character recognition
CN108984103B (zh) 用于去重的方法和设备
KR102098415B1 (ko) 캐시 관리 기법
KR101779791B1 (ko) 읽기 속도에 기반한 정보 전송
KR101529602B1 (ko) 캐시 서버, 콘텐츠 제공 시스템 및 콘텐츠 교체 방법
US10225361B2 (en) Content management in caching services
US9549044B1 (en) Data processing
CN112218114B (zh) 视频缓存控制方法、装置和计算机可读存储介质
US10666698B1 (en) Bit rate selection for streaming media
CN112835740A (zh) 用于管理数据备份的方法、电子设备和计算机程序产品
Shailesh et al. An analysis of techniques and quality assessment for Web performance optimization
CN112631517B (zh) 数据存储方法、装置、电子设备和存储介质

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: 20180525

Year of fee payment: 4