KR20150004459A - 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치 - Google Patents

컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20150004459A
KR20150004459A KR1020130076862A KR20130076862A KR20150004459A KR 20150004459 A KR20150004459 A KR 20150004459A KR 1020130076862 A KR1020130076862 A KR 1020130076862A KR 20130076862 A KR20130076862 A KR 20130076862A KR 20150004459 A KR20150004459 A KR 20150004459A
Authority
KR
South Korea
Prior art keywords
content
request message
preloading
cache
priority
Prior art date
Application number
KR1020130076862A
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 KR1020130076862A priority Critical patent/KR20150004459A/ko
Publication of KR20150004459A publication Critical patent/KR20150004459A/ko

Links

Images

Classifications

    • 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
    • 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
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)

Abstract

본 발명은 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치에 관한 것으로, 이러한 본 발명에 따르면, 캐시 장치는 새로운 컨텐츠가 프리로딩을 위해 저장될 때마다 우선 순위가 낮은 순으로 삭제한다. 따라서 프리로딩 장치는 이러한 캐시 장치에 프리로딩 대상 컨텐츠에 대해 우선 순위를 갱신하여 저장 상태를 유지하도록 하는 요청을 주기적으로 전송한다. 이로써, 해당 컨텐츠에 대해 설정된 기간 동안 저장된 상태가 유지되며, 해당 컨텐츠에 대해 차별화된 품질의 서비스가 제공된다. 특히, 이러한 요청은 컨텐츠 요청 메시지를 이용하며, 사용자 장치가 컨텐츠 서버에 컨텐츠를 요청하는 형식과 동일하게 프리로딩 장치가 컨텐츠 서버에 대상 컨텐츠를 요청하는 형식으로 전송된다. 따라서 컨텐츠 전송 시스템의 큰 수정 없이 해당 서비스를 제공할 수 있다.

Description

컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치{Method for preloading in content delivery system and apparatus thereof}
본 발명은 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치에 관한 것으로, 보다 상세하게는, 프리로딩되어 캐시 장치에 저장된 컨텐츠를 설정된 기간 동안 캐시 장치에 유지시킬 수 있는 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치에 관한 것이다.
최근, 스마트폰(smart phone)과 같은 사용자 장치의 성능 향상 및 이동통신 기술의 발달에 따라, 사용자는 언제 어디서나, 사용자 장치를 통해 컨텐츠 제공자(CP, Contents Provider)가 제공하는 웹 서버에 접속해 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 이용할 수 있게 되었다. 또한, 사용자의 이동성이 보장되는 네트워크(예컨대, 이동통신망)를 통해 컨텐츠를 이용하는 빈도 또한 지속적으로 증가하고 있다. 그러나 컨텐츠 제공자(CP)가 제공하는 웹 서버의 수는 한정된 반면, 웹 서버에 접속하고자 하는 사용자는 급속히 증가하고 있어, 이로 인해, 데이터 손실, 병목 현상, 전송 지연, 데이터 끊김과 같은 불안전성 등 다양한 문제가 발생하게 되었다. 이러한, 문제를 해결하기 위해 등장한 것이 바로, CDN(Contents Delivery Network, 컨텐츠 전송 네트워크)이다.
CDN이란 사진, 영화, 뮤직 비디오 등과 같은 다양한 종류의 컨텐츠를 사용자 장치로 안정적으로 전달하기 위한 서비스이다. 더 구체적으로 CDN은, 사용자 장치와 멀리 떨어져 있는 컨텐츠 제공자(CP)의 웹 서버에 있는 다양한 컨텐츠, 예컨대, 이미지, 비디오, 오디오 등과 같이 용량이 크거나 사용자 장치의 요구가 빈번한 컨텐츠를 네트워크 상의 주요 지점에 광역적으로 분산 배치된 캐시 장치에 미리 일부 또는 전부를 복사하여 저장한다. 이후, 사용자 장치로부터 컨텐츠 요청 메시지가 수신되면, 상기 사용자 장치와 가장 근접한 곳에 위치한 캐시 장치가 이에 응답하여, 해당 캐시 장치로부터 사용자 장치로 컨텐츠를 전송한다. 그 결과, CDN은 컨텐츠 접속 속도를 개선하고 보다 안정적으로 컨텐츠를 제공할 수 있다.
한국공개특허 제10-2011-0092869호, 2013.03.25 공개 (명칭: 무선망을 통한 씨디엔 서비스 방법 및 시스템)
본 발명의 목적은 프리로딩 되어 캐시 장치에 저장된 특정 컨텐츠를 설정된 기간 동안 삭제되지 않고 저장된 상태를 유지할 수 있는 방법 및 이를 위한 장치를 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 컨텐츠 프리로딩을 위한 프리로딩 장치는 캐시 장치와의 통신을 위한 인터페이스 모듈과, 인터페이스 모듈을 통해 캐시 장치가 컨텐츠를 프리로딩하도록 컨텐츠 요청 메시지를 전송한 후, 캐시 장치가 컨텐츠의 우선 순위를 갱신하도록 컨텐츠 요청 메시지를 주기적으로 전송하는 제어 모듈을 포함한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 프리로딩 장치의 프리로딩을 위한 방법은 캐시 장치가 컨텐츠를 프리로딩하도록 컨텐츠 요청 메시지를 전송하는 단계와, 캐시 장치가 컨텐츠의 우선 순위를 갱신하도록 컨텐츠 요청 메시지를 주기적으로 전송하는 단계를 포함한다.
상술한 바와 같은 본 발명에 따르면, 캐시 장치는 새로운 컨텐츠가 프리로딩을 위해 저장될 때 저장 공간의 잔여 공간이 부족하면 기 저장된 컨텐츠들을 우선 순위가 낮은 순으로 삭제한다. 따라서 프리로딩 장치는 컨텐츠 요청 메시지를 주기적으로 전송하여, 캐시 장치가 대상 컨텐츠의 우선 순위를 갱신하도록 한다. 이에 따라, 컨텐츠 요청 메시지가 주기적으로 전송되는 동안 해당 컨텐츠는 저장된 상태를 유지할 수 있다. 특히, 프리로딩 장치는 컨텐츠 서버에 컨텐츠를 요청하는 형식을 가지는 컨텐츠 요청 메시지를 이용한다. 따라서 컨텐츠 전송 시스템의 큰 수정 없이 해당 서비스를 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 프리로딩을 위한 컨텐츠 전송 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 프리로딩 장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 캐시 장치의 구성을 설명하기 위한 블록도이다.
도 4 및 도 5는 본 발명의 실시예에 따른 컨텐츠의 우선 순위 갱신 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 프리로딩을 위한 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시예에 따른 프리로딩 장치의 프리로딩을 위한 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시예에 따른 캐시 장치의 프리로딩을 위한 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다.
또한, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
그리고, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 프리로딩을 위한 컨텐츠 전송 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 컨텐츠 제공 시스템은 사용자 장치(100), 캐시 장치(300), 캐시 제어 장치(500) 및 컨텐츠 서버(700)를 포함하며, 특히, 프리로딩 장치(800)를 더 포함한다.
사용자 장치(100)는 유/무선 접속 네트워크(200), 코어 네트워크(400) 및 공용 네트워크(600)를 통해 컨텐츠 서버(700)에 접근할 수 있다.
유/무선 접속 네트워크(200)는 유선 접속 네트워크 혹은 무선 접속 네트워크가 될 수 있으며, 사용자 장치(100)가 유선 혹은 무선 매체를 통해 코어 네트워크(400)에 접속하도록 하는 엔티티들로 이루어진다. 이하, 유/무선 접속 네트워크(200)는 "접속 네트워크(200)"로 축약한다.
유선 혹은 무선으로 접속 네트워크(200)에 접속하기 위해 사용자 장치(100)는 유선 및 무선 중 적어도 하나로 통신 기능을 수행할 수 있는 모듈을 구비한 장치가 될 수 있다. 예컨대, 사용자 장치(100)는 무선으로 접속 네트워크(200)에 연결할 수 있는 이동형 단말기가 될 수 있다. 예컨대, 이동형 단말기는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, 태블릿 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 내비게이션, MP3 플레이어 등을 예시할 수 있다. 또한, 사용자 장치(100)는 유선으로 접속 네트워크(200)에 연결할 수 있는 고정형 단말기가 될 수 있다. 예컨대, 고정형 단말기는 스마트 TV(Smart TV), 셋탑박스(set-top box), 데스크탑 컴퓨터 등이 될 수 있다.
접속 네트워크(200)가 무선 접속 네트워크인 경우, 접속 네트워크(200)는 셀룰러(cellular) 시스템에서 무선 구간 서비스를 제공하는 네트워크 상의 엔티티(entity)들로 이루어진다. 예컨대, 접속 네트워크(200)는 BS(Base Station), BTS(Base Transceiver Station), NodeB, 등과 같은 다수의 기지국과, BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기로 구현될 수 있다. 다른 예로, eNodeB와 같이 하나의 엔티티로 구현될 수 있다. 또 다른 예로, 접속 네트워크(200)는 디지털 유니트(Digital Unit, 이하 DU라 함)와 무선 유니트(Radio Unit, 이하 RU라 함)로 구성될 수 있다. DU 및 RU는 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 구분하여 구성한 것이다. 이때, 다수의 RU는 하나의 DU와 연결되어 구성된다.
접속 네트워크(200)가 유선 접속 네트워크인 경우, 접속 네트워크(200)는 사용자 장치(100)가 코어 네트워크(400)에 유선을 통해 연결될 수 있도록 하는 엔티티들로 이루어진다. 이러한 엔티티는 모뎀, 케이블 모뎀, 라우터, 스위치, 게이트웨이 등을 포함할 수 있다.
코어 네트워크(400)는 네트워크가 제공하는 통신 서비스에 가입한 사용자 정보를 관리하고, 서킷 교환(circuit switching) 혹은 패킷 교환(packet switching)을 수행한다. 또한, 코어 네트워크(400)는 주파수간 이동성을 관리하고, 접속 네트워크(200) 및 코어 네트워크(400) 내의 트래픽 및 다른 네트워크, 예컨대, 공용 네트워크(600)와의 연동을 관리 및 제어한다. 코어 네트워크(400)는 이러한 엔티티들로 이루어진다. 이러한 엔티티들은 MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 예시할 수 있다.
공용 네트워크(600)는 TCP/IP 프로토콜에 따라서 정보가 교환되는 통상의 개방형 네트워크로, IP(internet protocol)를 사용하는 소위, 인터넷을 예시할 수 있다. 이러한 공용 네트워크(600)는 컨텐츠 서버(700)와 연결된다.
컨텐츠 서버(700)는 컨텐츠를 저장하고, 요청에 따라 사용자 장치(100)에게 다양한 컨텐츠, 예컨대, 사진, 비디오, 오디오, 어플리케이션 등과 같은 다양한 컨텐츠를 제공하기 위한 것이다. 컨텐츠 서버(700)는 소위, 컨텐츠 제공자(CP, Contents Provider)가 운영하는 서버이며, 다수의 사용자 장치(100)로 컨텐츠를 제공할 수 있다. 예컨대, 이러한 컨텐츠 서버(700)는 웹 서버(Web Server) 혹은 웹 어플리케이션 서버(WAS, Web Application Server) 등을 예시할 수 있다.
사용자 장치(100)는 사용자의 요청에 따라 컨텐츠 서버(700)로부터 컨텐츠를 수신하여 재생하기 위한 것이다. 예컨대, 사용자 장치(100)는 사용자가 요청한 컨텐츠에 대한 URL(Uniform Resource Locater)을 확인하고, DNS(Domain Name System) 등을 통해, 해당 URL에 대응하는 컨텐츠 서버(700)의 주소 정보(IP address)를 획득할 수 있다. 그리고 사용자 장치(100)는 해당 주소 정보에 대응하는 컨텐츠 서버(700)로 컨텐츠를 요청하는 컨텐츠 요청 메시지를 전송하고, 이에 따라, 컨텐츠 서버(700)가 컨텐츠를 전송하는 컨텐츠 응답 메시지를 수신함으로써, 컨텐츠를 수신할 수 있다.
캐시 장치(300)는 접속 네트워크(200)와 코어 네트워크(400) 사이에 위치한다. 또한, 캐시 제어 장치(500)는 코어 네트워크(400)와 공용 네트워크(600) 사이에 배치된다. 달리 설명하면, 사용자 장치(100)와 컨텐츠 서버(700) 사이에 캐시 장치(300)와 캐시 제어 장치(500)가 위치한다. 여기서, 도면 부호 210은 접속 네트워크(200)와 코어 네트워크(400)를 연결하는 스위치이며, 도면 부호 410은 코어 네트워크(400)와 공용 네트워크(600)를 연결하는 스위치이다. 여기서, 캐시 장치(300) 및 캐시 제어 장치(500) 각각은 스위치(210, 410)를 통해 네트워크에 연결되었지만, 본 발명이 이에 한정되는 것은 아니다. 사용자 장치(100)와 컨텐츠 서버(700) 간에 송수신되는 모든 데이터가 캐시 장치(300) 및 캐시 제어 장치(500)를 경유하도록 네트워크 토폴로지가 설계되는 것이 바람직하다. 이러한 네트워크 토폴로지로 설계된다면, 캐시 장치(300) 및 캐시 제어 장치(500)는 어떠한 위치에 배치되어 있더라도 무방하다.
컨텐츠 서버(700)는 모든 사용자 장치(100)의 컨텐츠 요청을 처리해야 한다. 하지만, 캐시 장치(300)는 상술한 바와 같은 네트워크 토폴로지에 따라 자신과 연결된 접속 네트워크(200)에 위치 등록한 사용자 장치(100)의 컨텐츠 요청만을 처리한다. 따라서 캐시 장치(300)는 컨텐츠를 처리하는 측면에서 컨텐츠 서버(700)에 비해 부하가 적다. 또한, 캐시 장치(300)는 접속 네트워크(200)에 바로 연결되어 있다. 따라서 캐시 장치(300)는 컨텐츠 서버(700)로부터 접속 네트워크(200)로 컨텐츠가 전달되는 동안 경유하게 되는 다수의 라우터, 스위치, 게이트웨이 등의 네트워크 엔티티를 경유할 필요가 없다. 따라서 컨텐츠 전송 시스템은 캐시 장치(300)에 컨텐츠 서버(700)에 저장된 컨텐츠와 동일한 컨텐츠를 미리 저장하는 프리로딩을 수행한다. 그리고 캐시 장치(300)는 컨텐츠 서버(700) 대신 프리로딩된 컨텐츠를 사용자 장치(100)에 제공한다.
하지만, 캐시 장치(300)는 장치의 특성상 저장 공간의 한계가 있고, 이에 따라, 새로 프리로딩 되는 컨텐츠가 있을 때, 저장 공간이 부족하다면, 기 저장된 컨텐츠를 삭제할 수 밖에 없다. 따라서 서비스에 대한 신뢰도가 떨어질 수 있다. 이러한 점을 고려한 본 발명은 캐시 장치(300)에 저장된 특정 컨텐츠의 저장 상태를 설정된 기간 동안 유지하기 위한 방법을 제공한다. 캐시 장치(300)는 새로운 컨텐츠를 저장할 때 저장 공간이 부족하면 기 저장된 컨텐츠 중 우선 순위가 낮은 컨텐츠를 삭제한다. 따라서 프리로딩 장치(800)는 특정 컨텐츠에 대해 우선 순위를 최우선 순위로 갱신하도록 하는 메시지를 주기적으로 전송한다. 이로써, 특정 컨텐츠가 삭제되는 것이 방지되며, 해당 컨텐츠에 대해 차별화된 품질의 서비스를 제공할 수 있다.
캐시 장치(300)는 사용자 장치(100)가 컨텐츠 서버(700)로 컨텐츠를 요청하는 컨텐츠 요청 메시지를 전송하면, 이를 중간에서 확인한다. 만약, 캐시 장치(300)가 해당 컨텐츠를 저장하고 있지 않다면, 컨텐츠 서버(700)가 사용자 장치(100)로 전송하는 컨텐츠를 중간에서 복사하여 저장한다. 또한, 캐시 장치(300)는 자신이 컨텐츠를 저장하고 있다면, 컨텐츠 서버(700) 대신 컨텐츠를 사용자 장치(100)에 제공한다. 이 컨텐츠 요청 메시지는 HTTP get 메시지가 될 수 있다.
본 발명에 따르면, 프리로딩 장치(800)는 프리로딩을 요청하거나, 프리로딩 대상 컨텐츠의 우선 순위를 갱신하기 위해 컨텐츠 요청 메시지의 형식을 이용한다. 즉, 프리로딩 장치(800)는 컨텐츠 요청 메시지를 사용하여, 컨텐츠 서버(700)에 컨텐츠를 요청하는 형식을 취한다. 그러면, 캐시 장치(300)는 이 컨텐츠 요청 메시지를 프리로딩 장치(800)와 컨텐츠 서버(700) 중간에서 수신할 수 있다. 이를 위하여, 프리로딩 장치(800)는 도 1에 도시된 바와 같이, 자신이 전송한 컨텐츠 요청 메시지가 캐시 장치(300)를 경유하여 컨텐츠 서버(700)에 전달될 수 있는 위치에 배치된다. 다른 말로, 프리로딩 장치(800)와 컨텐츠 서버(700) 사이에 캐시 장치(300)가 위치한다. 이때, 캐시 장치(300)는 컨텐츠 요청 메시지의 컨텐츠를 저장하고 있지 않다면, 컨텐츠 서버(700)가 프리로딩 장치(800)로 전송하는 컨텐츠를 중간에서 수신하여 저장하는 프리로딩을 수행한다. 또한, 캐시 장치(300)는 자신이 컨텐츠를 저장하고 있다면, 해당 컨텐츠의 우선 순위를 갱신하고, 컨텐츠 서버(700) 대신 컨텐츠를 사용자 장치(100)에 제공한다. 특히, 프리로딩 장치(800)는 기 설정된 기간 동안 컨텐츠 요청 메시지를 주기적으로 전송함으로써, 캐시 장치(300)가 대상 컨텐츠의 우선 순위를 주기적으로 갱신하여, 대상 컨텐츠가 삭제되지 않도록 한다. 상술한 바와 같이, 본 발명에 따르면, 컨텐츠 요청 메시지를 이용하여 캐시 장치(300)가 컨텐츠를 프리로딩 하거나, 컨텐츠의 우선 순위를 갱신하도록 함으로써, 캐시 장치(300)에 대한 설계 변경 없이, 프리로딩의 대상 컨텐츠가 삭제되지 않도록 유지시키는 차별화된 서비스를 제공할 수 있다.
한편, 캐시 장치(300) 및 캐시 제어 장치(500)는 서로 다른 장치로 구성되는 것으로 설명되었지만, 캐시 장치(300) 및 캐시 제어 장치(500)는 하나의 장치로 구성될 수도 있다. 특히, 캐시 제어 장치(500)는 캐시 장치(300) 및 프리로딩 장치(800) 각각과 연결되어 통신이 가능한 상태로 배치된다.
도 2는 본 발명의 실시예에 따른 프리로딩 장치의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 프리로딩 장치(800)는 인터페이스 모듈(810), 저장 모듈(820) 및 제어 모듈(830)을 포함한다.
인터페이스 모듈(810)은 캐시 장치(300) 등과 통신하기 위한 것이다. 특히, 인터페이스 모듈(810)은 제어 모듈(830)로부터 전달되는 각 종 메시지를 캐시 장치(300)로 전송하며, 캐시 장치(300)로부터 수신되는 각 종 메시지를 제어 모듈(830)로 전달한다.
저장 모듈(820)은 데이터 저장을 위한 것으로, 등록된 프리로딩 대상 컨텐츠에 대한 등록 정보를 저장한다. 예컨대, 등록 정보는 대상 컨텐츠의 주소 정보, 프리로딩 유지 기간, 프리로딩을 수행하는 시간 등을 포함한다. 동일한 대상 컨텐츠가 복수의 컨텐츠 서버(700)에 저장될 수 있다. 따라서, 저장 모듈(820)은 대상 컨텐츠를 저장하는 복수의 주소 정보(예컨대, URL, DNS 등)를 저장한다. 또한, 프리로딩 유지 기간은 프리로딩을 시작하여 캐시 장치(300)에 저장을 유지하는 시작 시점과 종료 시점을 의미한다. 그리고 프리로딩을 수행하는 시간은 컨텐츠 서버(700)로부터 컨텐츠를 수신하여 저장하는 시간을 의미하며, 네트워크 내의 트래픽이 적은 시간을 설정하는 것이 바람직하다.
제어 모듈(830)은 프리로딩의 대상이 되는 컨텐츠가 등록되면, 캐시 장치(300)가 해당 컨텐츠를 프리로딩 하도록 컨텐츠 요청 메시지를 전송한다. 한편, 캐시 장치(300)는 새로운 컨텐츠를 저장할 때 저장 공간이 부족하면 기 저장된 컨텐츠 중 우선 순위가 낮은 컨텐츠를 삭제한다. 따라서 제어 모듈(830)은 대상 컨텐츠에 대하여 컨텐츠 요청 메시지를 최초로 전송한 후, 주기적으로 대상 컨텐츠의 우선 순위 갱신을 요청하는 컨텐츠 요청 메시지를 캐시 장치(300)로 전송하여, 대상 컨텐츠가 낮은 우선 순위로 인해 삭제되지 않도록 한다. 즉, 제어 모듈(830)은 대상 컨텐츠에 대하여 컨텐츠 요청 메시지를 최초로 전송한 시점부터, 대상 컨텐츠에 대한 우선 순위 갱신 주기 마다, 캐시 장치(300)가 대상 컨텐츠의 우선 순위를 갱신하도록 컨텐츠 요청 메시지를 캐시 장치(300)로 전송한다.
최초 전송되는 컨텐츠 요청 메시지 및 주기적으로 전송되는 컨텐츠 요청 메시지 모두 프리로딩 장치(800)가 컨텐츠 서버(700)에 컨텐츠를 요청하는 형식을 취한다. 컨텐츠 요청 메시지는 컨텐츠 서버(700)를 목적지로 하여 전송되지만, 캐시 장치(300)를 경유하여 컨텐츠 서버(700)로 전달될 것이다. 또한, 컨텐츠 서버(700)는 컨텐츠 요청 메시지를 수신하면, 이 요청에 따라 컨텐츠를 포함하는 컨텐츠 응답 메시지를 프리로딩 장치(800)로 전송할 것이다. 이 컨텐츠 응답 메시지 또한 프리로딩 장치(800)를 목적지로 하여 전송되지만, 캐시 장치(300)를 경유하여 프리로딩 장치(800)로 전달될 수 있다. 따라서 캐시 장치(300)가 해당 컨텐츠를 저장하고 있지 않다면, 컨텐츠 서버(700)가 전송하는 컨텐츠 응답 메시지로부터 컨텐츠를 복사하여 저장할 것이다. 반면, 캐시 장치(300)는 해당 컨텐츠를 저장하고 있다면, 저장된 컨텐츠에 대한 우선 순위를 갱신하고, 컨텐츠 서버(700) 대신 캐시 장치(300) 자신이 저장된 컨텐츠를 컨텐츠 응답 메시지에 수납하여 프리로딩 장치(800)로 전송할 것이다.
이때, 캐시 장치(300)는 컨텐츠를 복수의 단위 데이터로 분할하여 컨텐츠 응답 메시지에 수납하여 순차로 전송할 것이다. 그러면, 제어 모듈(830)은 인터페이스 모듈(810)을 통해 컨텐츠 응답 메시지의 일부를 수신하여, 해당 컨텐츠의 우선 순위가 갱신되었음을 확인할 수 있다. 그런 다음, 제어 모듈(830)은 캐시 장치(300)가 더 이상 컨텐츠를 전송하지 않도록 리셋 메시지를 인터페이스 모듈(810)을 통해 캐시 장치(300)로 전송한다.
도 3은 본 발명의 실시예에 따른 캐시 장치의 구성을 설명하기 위한 블록도이다.
도 3을 참조하면, 캐시 장치(300)는 인터페이스부(310), 저장부(320) 및 제어부(330)를 포함한다.
인터페이스부(310)는 접속 네트워크(200) 혹은 코어 네트워크(400)를 통해 송수신되는 다양한 데이터를 송수신하기 위한 것이다. 특히, 인터페이스부(310)는 프리로딩 장치(800)로부터 컨텐츠 요청 메시지를 수신하여, 제어부(330)로 전달한다. 인터페이스부(310)는 사용자 장치(100) 및 컨텐츠 서버(700)와 통신할 수 있다. 이때, 인터페이스부(310)는 미러링 모듈 및 인젝션 모듈을 포함한다. 미러링 모듈은 접속 네트워크(200) 혹은 코어 네트워크(400)를 통해 전달되는 데이터를 복사하여 제어부(330)로 전달한다. 인젝션 모듈은 제어부(330)로부터 전달 받은 데이터를 접속 네트워크(200) 혹은 코어 네트워크(400)를 통해 전송한다. 따라서, 인터페이스부(310)는 컨텐츠 서버(700), 프리로딩 장치(800) 등과 통신할 수 있다.
저장부(320)는 프리로딩을 위한 저장 공간이 할당되며, 이 할당된 저장 공간은 프리로딩을 통해 저장된 복수의 컨텐츠가 저장된다. 해당 저장공간은 미리 설정된 용량이 할당된다. 저장 공간이 부족한 경우, 새로운 컨텐츠가 저장되기 위해서는 기 저장된 컨텐츠가 삭제되어야 한다. 본 발명의 실시예에 따르면, 우선 순위에 따라 삭제될 컨텐츠가 결정된다.
일 실시예에 따르면, 저장부(320)의 프리로딩을 위한 저장 공간에 저장되는 컨텐츠는 선입선출 방식의 큐 방식으로 저장된다고 가정한다. 선입선출 방식에 따르면, 우선 순위는 저장 공간에 저장된 순서의 역순이 된다. 이러한 경우, 컨텐츠가 저장되는 방식은 다음과 같다. 저장부(320)의 저장 공간은 컨텐츠에 대한 요청이 있을 때, 해당 컨텐츠가 저장되어 있지 않다면, 원본 서버, 즉, 컨텐츠 서버(700)로부터 해당 컨텐츠를 수신하여 큐에 입력하여 저장한다. 이때, 저장공간이 선입선출 방식이기 때문에 가장 먼저 저장된 컨텐츠(우선 순위가 가장 낮은 컨텐츠)는 새로운 컨텐츠가 저장될 때, 저장 공간이 부족하다면 삭제된다. 반면, 컨텐츠에 대한 프리로딩 요청이 있을 때, 해당 컨텐츠가 저장되어 있다면, 해당 컨텐츠를 프리로딩에 의해 새로 저장하는 것과 같이, 우선 순위를 최우선 순위로 설정한다.
제어부(330)는 캐시 장치(300)의 전반적인 동작을 제어하기 위한 것이다. 제어부(330)는 기본적으로, 프리로딩 장치(800)로부터 인터페이스부(310)를 통해 컨텐츠 요청 메시지를 수신하고, 컨텐츠 요청 메시지의 내용을 확인 한 후, 컨텐츠 요청 메시지를 컨텐츠 서버(700)로 전달할 수 있다.
제어부(330)는 컨텐츠 요청 메시지에 따라 저장부(320)에 저장된 복수의 컨텐츠 중 대상 컨텐츠가 존재하는지 여부를 확인하여, 대상 컨텐츠가 존재하는 경우, 대상 컨텐츠의 우선 순위를 최우선 순위로 갱신한다. 그런 다음, 제어부(330)는 자신이 저장한 컨텐츠를 프리로딩 장치(800)로 전송한다. 이때, 제어부(330)는 인터페이스부(310)를 통해 컨텐츠를 복수의 단위 데이터로 분할하여 컨텐츠 응답 메시지에 수납하여 순차로 전송할 것이다. 그러면, 프리로딩 장치(800)는 컨텐츠 응답 메시지의 일부를 수신하여, 해당 컨텐츠의 우선 순위가 갱신되었음을 확인한다. 그런 다음, 프리로딩 장치(800)는 리셋 메시지를 전송할 것이다. 이에 따라, 제어부(330)는 인터페이스부(310)를 통해 리셋 메시지를 수신하면, 컨텐츠 전송을 중단한다.
반면, 제어부(330)는 저장부(320)에 저장된 복수의 컨텐츠 중 대상 컨텐츠가 존재하지 않는 경우, 컨텐츠 요청 메시지에 따라 컨텐츠 서버(700)가 전송하는 대상 컨텐츠를 수신하여 저장한다. 이때, 저장부(320)에서 프리로딩을 위해 할당된 저장 공간의 잔여 용량이 부족할 수 있다. 이러한 경우, 제어부(330)는 대상 컨텐츠의 용량만큼 복수의 컨텐츠를 우선 순위가 낮은 순으로 삭제하고, 대상 컨텐츠를 저장 공간에 저장한다. 그런 다음, 제어부(330)는 인터페이스부(310)를 통해 컨텐츠 서버(700)로부터 수신한 컨텐츠를 프리로딩 장치(800)로 전송한다.
도 4 및 도 5는 본 발명의 실시예에 따른 컨텐츠의 우선 순위 갱신 방법을 설명하기 위한 도면이다.
도 4 및 도 5를 참조하면, 저장부(320)에서 프리로딩을 위한 저장 공간은 미리 설정된 용량이 할당된다. 이 저장 공간에 저장되는 컨텐츠는 선입선출 방식의 큐 방식으로 저장된다고 가정한다. 선입선출 방식에 따르면, 우선 순위는 저장 공간에 저장된 순서의 역순이 된다. 캐시 장치(300)의 저장부(320)에 프리로딩을 위해 할당된 저장 공간은 프리로딩 요청이 있을 때, 해당 컨텐츠가 저장되어 있지 않다면, 원본 서버, 즉, 컨텐츠 서버(700)로부터 해당 컨텐츠를 수신하여 큐에 입력하여 저장한다. 이때, 저장 공간의 잔여 용량이 부족하다면, 그 저장 공간이 선입선출 방식이기 때문에, 새로운 컨텐츠가 저장될 때, 먼저 저장된 컨텐츠 순으로, 즉, 우선순위가 낮은 순으로 삭제된다.
예컨대, 도 4를 살펴보면, 컨텐츠 A, B, C, D, E, 및 F는 모두 동일한 용량(크기)를 가지며, 저장 공간 큐에 컨텐츠 E, D, C, B 및 A 순으로 저장되었다고 가정한다. 따라서 마지막으로 저장된 컨텐츠 A가 우선 순위가 가장 높고, 가장 먼저 저장된 컨텐츠 E가 우선 순위가 가장 낮다. 또한, 컨텐츠 A, B, C, D 및 E가 저장된 저장 공간 이외에 프리로딩을 위해 저장 공간으로 할당된 잔여 용량은 없다고 가정한다. 이러한 경우, 컨텐츠 F가 프리로딩 요청에 의해 저장부(320)의 저장 공간에 입력(저장)된다면, 우선 순위가 가장 낮은 컨텐츠 E가 삭제된다.
본 발명의 실시예에 따르면, 대상 컨텐츠에 대해 설정된 기간 동안 해당 컨텐츠가 도 4를 참조로 설명된 바와 같은 이유로, 삭제되는 것을 방지한다. 이를 위하여, 대상 컨텐츠가 낮은 우선 순위로 인해 새로운 컨텐츠가 입력되어 삭제되기 전, 프리로딩 장치(800)는 캐시 장치(300)에 컨텐츠 요청 메시지를 전송하여 대상 컨텐츠의 우선 순위를 최우선 순위로 갱신한다.
예컨대, 도 5에 보인 바와 같이, 우선 순위가 가장 낮은 컨텐츠 E를 최우선 순위로 갱신한다. 따라서 컨텐츠 F가 프리로딩 요청에 의해 캐시 장치(300)의 저장부(320)의 저장 공간에 입력(저장)된다면, 우선 순위가 가장 낮은 컨텐츠 D가 삭제된다. 도 5에 보인 바와 같이, 컨텐츠 E의 우선 순위를 주기적으로 갱신한다면 컨텐츠 E는 새로운 컨텐츠가 입력(저장)되는 경우에도 삭제되지 않을 수 있다.
도 6은 본 발명의 실시예에 따른 컨텐츠 전송 시스템에서 프리로딩을 위한 방법을 설명하기 위한 흐름도이다.
도 6을 참조하면, 프리로딩 장치(800)는 S605 단계에서 프리로딩의 대상이 되는 컨텐츠를 등록한다. 프리로딩 대상 컨텐츠 등록은 사용자가 사용자 장치(100)를 통해 등록하거나, 다른 장치(예컨대, 퍼스널 컴퓨터 등)를 통해 프리로딩 장치(800)에 접속하여 등록할 수 있다. 이때, 동일한 대상 컨텐츠를 저장하는 위치 정보(URL)는 복수로 등록될 수 있다. 또한, 프리로딩 유지 기간(시작 시점과 종료 시점) 및 컨텐츠 서버(700)로부터 컨텐츠를 수신하여 저장하는 프리로딩을 수행하는 시간 등을 설정할 수 있다.
프리로딩의 대상 컨텐츠가 등록되면, 프리로딩 장치(800)는 S610 단계에서 컨텐츠 요청 메시지를 캐시 장치(300)로 전송한다. 여기서, 컨텐츠 요청 메시지는 프리로딩 장치(800)가 컨텐츠 서버(700)에 대상 컨텐츠를 요청하는 형식으로 전송된다. 이러한 컨텐츠 요청 메시지는 캐시 장치(300)가 대상 컨텐츠를 저장하고 있지 않다면 대상 컨텐츠를 프리로딩 하도록 한다. 여기서, 컨텐츠 요청 메시지는 HTTP get 메시지가 될 수 있다. 컨텐츠 요청 메시지를 전송하는 시점은 앞서(S605) 등록된 프리로딩을 수행하는 시간에 따른다. 이러한 프리로딩을 수행하는 시간은 네트워크 트래픽과 관련하여 누적 저장된 빅데이터(Big data) 분석을 통해 도출되는 유휴 시간에 수행되는 것이 바람직하다.
캐시 장치(300)는 프리로딩의 대상 컨텐츠를 저장하고 있지 않는 것으로 가정한다. 따라서 컨텐츠 요청 메시지를 수신한 캐시 장치(300)는 S615 단계에서 대상 컨텐츠가 저장되어 있지 않는 것을 확인할 수 있다.
캐시 장치(300)는 S620 단계에서 앞서(S610 단계) 수신한 컨텐츠 요청 메시지를 컨텐츠 서버(700)로 전송한다. 컨텐츠 요청 메시지를 수신한 컨텐츠 서버(700)는 S625 단계에서 컨텐츠 요청 메시지에 따라 대상 컨텐츠를 포함하는 컨텐츠 응답 메시지를 전송한다. 이 컨텐츠 응답 메시지는 프리로딩 장치(800)를 목적지로 하여 전송된다. 여기서, 컨텐츠 응답 메시지는 HTTP response 메시지가 될 수 있다. 이러한 S625 단계에서 캐시 장치(300)는 컨텐츠 서버(700)와 프리로딩 장치(800)의 중간에서 컨텐츠 응답 메시지를 수신하고, 컨텐츠 응답 메시지로부터 컨텐츠를 추출하여 저장한다. 그런 다음, 캐시 장치(300)는 S630 단계에서 컨텐츠 서버(700)로부터 수신한 컨텐츠 응답 메시지를 프리로딩 장치(800)로 전송한다. 컨텐츠 응답 메시지를 수신한 프리로딩 장치(800)는 프리로딩이 이루어졌음을 인지할 수 있다. 특히, 컨텐츠는 복수로 구분되어 복수의 컨텐츠 응답 메시지에 분할 수납되어 전송된다. 온전한 하나의 컨텐츠가 캐시 장치(300)에 프리로딩되기 위해서는 캐시 장치(300)는 하나의 컨텐츠에 해당하는 복수의 컨텐츠 응답 메시지 모두를 수신하여야 한다. 따라서, 캐시 장치(300)에 프리로딩이 완료되었다면, 하나의 컨텐츠에 해당하는 복수의 컨텐츠 응답 메시지 모두가 프리로딩 장치(800)로 전송될 것이다. 이에 따라, 프리로딩 장치(800)는 컨텐츠 서버(700)가 전송한 복수의 컨텐츠 응답 메시지를 캐시 장치(300)를 경유하여 순차로 수신한다. 그리고 프리로딩 장치(800)는 하나의 컨텐츠에 해당하는 복수의 컨텐츠 응답 메시지를 모두 수신한 경우 하나의 온전한 컨텐츠가 캐시 장치(300)에 프리로딩된 것으로 판단한다.
프리로딩의 대상 컨텐츠에 대해 최초로 컨텐츠 요청 메시지가 전송된 후, 프리로딩 갱신 주기가 도래하면, 프리로딩 장치(800)는 S635 단계에서 앞서 S610 단계에서 전송한 컨텐츠 요청 메시지와 동일한 형식을 취하는 컨텐츠 요청 메시지를 다시 전송한다. 즉, S635 단계에서 전송되는 컨텐츠 요청 메시지는 프리로딩 장치(800)가 컨텐츠 서버(700)에 대상 컨텐츠를 요청하는 형식으로 전송된다. 이러한 컨텐츠 요청 메시지는 캐시 장치(300)가 대상 컨텐츠를 저장하고 있다면 대상 컨텐츠에 대한 우선 순위를 갱신하도록 한다. 우선 순위 갱신을 위한 컨텐츠 요청 메시지는 갱신 주기에 따라 지속적으로 전송된다. 앞서 설명된 바와 같이, 한정된 저장 공간에 새로운 컨텐츠가 입력되면, 기 저장된 컨텐츠들은 새로운 컨텐츠 용량만큼 저장 공간을 확보하기 위해 우선 순위가 낮은 순으로 컨텐츠가 삭제된다. 따라서 대상 컨텐츠가 낮은 우선 순위로 인해 삭제되기 전에 우선 순위를 최우선 순위로 갱신하는 것이 바람직하다.
따라서, 일 실시예에 따르면, 갱신 주기는 컨텐츠의 우선 순위가 최상위에서 최하위가 되기까지 걸리는 시간 이하의 시간을 갱신 주기로 할 수 있다. 여기서, 시간은 평균 시간, 최단 시간 및 최장 시간 중 어느 하나가 될 수 있다. 이러한 시간들은 컨텐츠 전송 시스템에서 누적 저장된 빅데이터 분석을 통해 도출할 수 있다.
또한, 다른 실시예에 따르면, 갱신 주기는 프리로딩을 위해 할당된 저장 공간의 잔여 용량, 프리로딩의 대상이 되는 컨텐츠의 평균 파일 크기, 및 단위 시간(예컨대, 초)당 새로운 컨텐츠가 캐시 장치(300)에 프리로딩을 위해 입력되는 비율을 고려하여, 다음의 <수학식 1>과 같이 구할 수 있다.
Figure pat00001
수학식 1에서, 전체 할당 용량은 프리로딩을 위해 할당된 저장 공간의 용량이며, 프리로딩 용량은 기 저장된 컨텐츠가 차지하는 용량이다. 평균 컨텐츠 용량은 프리로딩을 위해 저장되는 컨텐츠들의 평균 용량이다. 또한, 평균 캐시 미스 요청률은 프리로딩을 요청하였을 때 해당 컨텐츠가 캐시 장치(300)에 저장되어 있지 않은 단위 시간당 비율이다. 결국, <수학식 1>에 따른 갱신 주기는 프리로딩을 위해 할당된 저장 공간의 잔여 용량이 프리로딩 요청에 의해 새로운 컨텐츠가 저장되어 모두 소진되기까지 걸리는 시간 이하의 시간이다. 전술한 파라미터들 또한 컨텐츠 전송 시스템에서 누적 저장된 빅데이터 분석을 통해 도출할 수 있다.
컨텐츠 요청 메시지를 수신한 캐시 장치(300)는 S640 단계에서 자신이 대상 컨텐츠를 저장하고 있는지 여부를 판단한다. 만약, 캐시 장치(300)는 대상 컨텐츠를 이미 저장하고 있다면, S645 단계에서 대상 컨텐츠의 우선 순위를 최우선 순위로 갱신할 것이다. 그런 다음, 캐시 장치(300)는 S650 단계에서 컨텐츠를 포함하는 컨텐츠 응답 메시지를 전송한다. 이때, 캐시 장치(300)는 컨텐츠를 복수의 단위 데이터로 구분하여, 복수의 단위 데이터를 순차로 컨텐츠 응답 메시지에 포함시켜 전송한다.
그러면, 프리로딩 장치(800)는 컨텐츠 응답 메시지를 통해 컨텐츠의 일부를 수신하면, 대상 컨텐츠에 대한 우선 순위가 갱신되었음을 확인할 수 있다. 이에 따라, 프리로딩 장치(800)는 S655 단계에서 리셋 메시지를 캐시 장치(300)로 전송하여, 캐시 장치(300)가 더 이상 컨텐츠를 전송하지 않도록 한다.
도 7은 본 발명의 실시예에 따른 프리로딩 장치의 프리로딩을 위한 방법을 설명하기 위한 흐름도이다.
제어 모듈(830)은 S710 단계에서 프리로딩의 대상이 되는 컨텐츠를 등록하고, S720 단계에서 등록된 대상 컨텐츠를 요청하는 컨텐츠 요청 메시지를 인터페이스 모듈(810)을 통해 캐시 장치(300)로 전송한다. 이때, 컨텐츠 요청 메시지는 캐시 장치(300)가 대상 컨텐츠를 프리로딩하도록 한다. 하지만, 이 컨텐츠 요청 메시지는 프리로딩 장치(800)가 컨텐츠 서버(700)에 대상 컨텐츠를 요청하는 형식을 취한다.
캐시 장치(300)는 프리로딩의 대상 컨텐츠를 저장하고 있지 않다면, 컨텐츠 서버(800)가 프리로딩 장치(800)로 전송하는 컨텐츠 응답 메시지에서 컨텐츠를 수신하여 저장한다. 그리고 캐시 장치(300)는 컨텐츠 응답 메시지를 프리로딩 장치(800)로 전송할 것이다. 이에 따라, 제어 모듈(830)은 S730 단계에서 인터페이스 모듈(810)을 통해 컨텐츠 응답 메시지를 수신하여 프리로딩이 이루어졌음을 인지할 수 있다. 특히, 컨텐츠는 복수로 구분되어 복수의 컨텐츠 응답 메시지에 분할 수납되어 전송된다. 제어 모듈(830)은 복수의 컨텐츠 응답 메시지를 순차로 수신하여, 하나의 컨텐츠를 모두 수신한 경우 컨텐츠가 캐시 장치(300)에 프리로딩된 것으로 판단한다.
그런 다음, 제어 모듈(830)은 S740 단계에서 대기 상태로 전환한다.
대기 상태 중 제어 모듈(830)은 S750 단계에서 컨텐츠 요청 메시지 전송 시점이 도래하였는지 판단한다. 상기 판단 결과, 컨텐츠 요청 메시지 전송 시점이면, S760 단계로 진행하고, 그렇지 않은 경우, S740 단계에서 다시 대기 상태로 전환한다.
컨텐츠 요청 메시지 전송 시점인 경우, 제어 모듈(830)은 S760 단계에서 대상 컨텐츠가 지정된 컨텐츠 요청 메시지를 인터페이스 모듈(810)을 통해 전송한다. 이때, 컨텐츠 요청 메시지는 대상 컨텐츠의 우선 순위를 갱신하도록 하지만, 프리로딩 장치(800)가 컨텐츠 서버(700)에 대상 컨텐츠를 요청하는 형식을 취한다.
따라서 캐시 장치(300)는 대상 컨텐츠가 지정된 컨텐츠 요청 메시지를 수신하면, 대상 컨텐츠가 이미 저장되어 있기 때문에, 대상 컨텐츠의 우선 순위를 최우선 순위로 갱신한다. 또한, 캐시 장치(300)는 컨텐츠 서버(700)에 컨텐츠를 요청하였기 때문에, 컨텐츠 서버(700) 대신 대상 컨텐츠를 포함하는 컨텐츠 응답 메시지를 프리로딩 장치(800)로 전송할 것이다. 특히, 캐시 장치(300)는 컨텐츠를 복수의 단위 데이터로 구분하여, 복수의 단위 데이터를 순차로 복수의 컨텐츠 응답 메시지를 통해 분할하여 전송한다.
이에 따라, 제어 모듈(830)은 S770 단계에서 인터페이스 모듈(810)을 통해 몇 개의 컨텐츠 응답 메시지를 수신하여 대상 컨텐츠의 우선 순위가 최우선 순위로 갱신되었음을 인지한다. 그러면, 제어 모듈(830)은 캐시 장치(300)가 컨텐츠 응답 메시지를 통해 컨텐츠를 모두 전송하기 전, S780 단계에서 리셋 메시지를 인터페이스 모듈(810)을 통해 캐시 장치(300)로 전송한다. 그러면, 리셋 메시지를 수신한 캐시 장치(300)는 컨텐츠를 더 이상 전송하지 않는다.
도 8은 본 발명의 실시예에 따른 캐시 장치의 프리로딩을 위한 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 제어부(330)는 S810 단계에서 컨텐츠 요청 메시지를 인터페이스부(310)를 통해 수신한다. 수신된 컨텐츠 요청 메시지는 캐시 장치(300)가 대상 컨텐츠를 프리로딩하도록 하는 것이지만, 프리로딩 장치(800)가 컨텐츠 서버(700)에 대상 컨텐츠를 요청하는 형식을 가진다. 그러면, 제어부(330)는 S815 단계에서 저장부(320)에 저장된 복수의 컨텐츠 중 대상 컨텐츠가 존재하는지 여부를 확인한다. S815 단계의 확인 결과, 저장된 복수의 컨텐츠 중 대상 컨텐츠가 존재하면, 제어부(330)는 S820 단계로 진행하고, 존재하지 않는 경우, S835 단계로 진행한다.
제어부(330)는 S820 단계에서 대상 컨텐츠가 이미 저장부(320)의 저장 공간에 저장되어 있기 때문에 대상 컨텐츠의 우선 순위를 최우선 순위로 갱신한다. 그런 다음, 제어부(330)는 S825 단계에서 컨텐츠 응답 메시지를 인터페이스부(310)를 통해 프리로딩 장치(800)로 전송한다. 즉, 제어부(330)는 컨텐츠 요청 메시지에 대한 응답으로 컨텐츠 서버(700) 대신 컨텐츠를 요청한 프리로딩 장치(800)에 인터페이스부(310)를 통해 컨텐츠를 전송한다. 이때, 제어부(330)는 컨텐츠를 구성하는 복수의 단위 데이터를 복수의 컨텐츠 응답 메시지에 분할하여 전송한다.
몇 개의 컨텐츠 응답 메시지를 통해 우선 순위가 갱신된 것을 인지한 프리로딩 장치(800)는 리셋 메시지를 전송할 것이다. 이에 따라, 제어부(330)는 S830 단계에서 리셋 메시지를 수신하고, S835 단계에서 추가의 컨텐츠 응답 메시지 전송을 중단한다.
한편, 제어부(330)는 저장부(320)에 대상 컨텐츠가 존재하지 않는 경우, 프리로딩을 수행한다. 프리로딩을 수행하기 위하여, 제어부(330)는 S840 단계에서 인터페이스부(310)를 통해 대상 컨텐츠를 컨텐츠 서버(700)로부터 수신한다. 즉, 제어부(330)는 프리로딩 장치(800)가 전송한 컨텐츠 요청 메시지에 대응하여 컨텐츠 서버(700)가 전송한 컨텐츠 응답 메시지를 수신함으로써, 대상 컨텐츠를 얻는다. 그런 다음, 제어부(330)는 S845 단계에서 대상 컨텐츠 용량에 따라 저장부(320)의 저장 공간의 잔여 용량이 충분한지 여부를 판단한다. 상기 판단 결과, 저장 공간의 잔여 용량이 부족하면, 제어부(330)는 S850 단계로 진행하고, 저장 공간의 잔여 용량이 충분하면, 제어부(330)는 S855 단계로 진행한다.
저장 공간의 잔여 용량이 부족한 경우, 제어부(330)는 S850 단계에서 대상 컨텐츠의 용량만큼 저장부(320)에 기 저장된 복수의 컨텐츠를 우선 순위가 낮은 순으로 삭제한다. 그런 다음, 제어부(330)는 S855 단계에서 대상 컨텐츠를 저장부(320)의 저장 공간에 저장한다. 반면, 저장 공간의 잔여 용량이 충분한 경우, 제어부(330)는 S855 단계에서 대상 컨텐츠를 저장부(320)의 저장 공간에 저장한다.
이어서, 제어부(330)는 S860 단계에서 앞서(S840) 수신된 컨텐츠 응답 메시지를 인터페이스부(310)를 통해 프리로딩 장치(800)로 전송한다. 그러면, 프리로딩 장치(800)는 컨텐츠 응답 메시지 수신에 따라 프리로딩이 이루어졌음을 인지할 수 있다.
상술한 바와 같은 본 발명의 실시 예에 따른 컨텐츠 전송 시스템에서 프리로딩을 위한 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며, 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media) 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시 예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것은 아니며, 기술적 사상의 범주를 벗어남이 없이 본 발명에 대해 다수의 변경 및 수정이 가능하다는 것을 이 기술분야에서 통상의 지식을 가진자라면 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.
본 발명은 프리로딩을 위한 방법 및 장치에 관한 것으로, 보다 상세하게는, 캐시 장치에 프리로딩된 컨텐츠를 설정된 기간 동안 캐시 장치에 유지시킬 수 있는 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치에 관한 것이다. 이러한 본 발명에 따르면, 캐시 장치는 새로운 컨텐츠가 프리로딩을 위해 저장될 때마다 우선 순위가 낮은 순으로 삭제한다. 따라서 프리로딩 장치는 이러한 캐시 장치에 대상 컨텐츠에 대해 우선 순위를 갱신하여 저장 상태를 유지하도록 하는 요청을 주기적으로 전송한다. 이로써, 대상 컨텐츠에 대해 설정된 기간 동안 저장된 상태가 유지되며, 해당 컨텐츠에 대해 차별화된 품질의 서비스가 제공된다. 특히, 이러한 요청은 컨텐츠 요청 메시지를 이용하며, 사용자 장치가 컨텐츠 서버에 컨텐츠를 요청하는 형식과 동일하게 프리로딩 장치가 컨텐츠 서버에 대상 컨텐츠를 요청하는 형식으로 전송된다. 따라서 컨텐츠 전송 시스템의 큰 수정 없이 해당 서비스를 제공할 수 있다. 이러한 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 반복 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 사용자 장치 200: 유/무선 접속 네트워크
300: 캐시 장치 310: 인터페이스부
320: 저장부 330: 제어부
400: 코어 네트워크 500: 캐시 제어 장치
600: 공용 네트워크 700: 컨텐츠 서버
800: 프리로딩 장치 810: 인터페이스 모듈
820: 저장 모듈 830: 제어 모듈

Claims (10)

  1. 캐시 장치와의 통신을 위한 인터페이스 모듈; 및
    상기 인터페이스 모듈을 통해 상기 캐시 장치가 컨텐츠를 프리로딩하도록 하는 컨텐츠 요청 메시지를 전송하고, 상기 컨텐츠가 상기 캐시 장치에 프리로딩된 후, 상기 캐시 장치가 상기 컨텐츠의 우선 순위를 갱신하도록 하는 상기 컨텐츠 요청 메시지를 상기 인터페이스 모듈을 통해 전송하도록 제어하는 제어 모듈;을 포함하는 것을 특징으로 하는 컨텐츠 프리로딩을 위한 프리로딩 장치.
  2. 제1항에 있어서,
    상기 인터페이스 모듈은 상기 컨텐츠를 프리로딩하도록 하는 컨텐츠 요청 메시지를 전송한 후에 상기 컨텐츠를 순차적으로 수신하며,
    상기 제어 모듈은 상기 컨텐츠를 모두 수신한 경우, 상기 컨텐츠가 상기 캐시 장치에 프리로딩된 것으로 판단하는 것을 특징으로 하는 컨텐츠 프리로딩을 위한 프리로딩 장치.
  3. 제1항에 있어서,
    상기 인터페이스 모듈은 상기 컨텐츠의 우선순위를 갱신하도록 하는 컨텐츠 요청 메시지를 전송한 후에 상기 컨텐츠의 일부를 포함하는 컨텐츠 응답 메시지를 수신하며,
    상기 제어 모듈은 상기 인터페이스 모듈이 상기 컨텐츠 응답 메시지를 수신하면, 상기 캐시 장치가 상기 컨텐츠 응답 메시지를 추가로 전송하지 않도록 상기 인터페이스 모듈을 통해 리셋 메시지를 전송하는 것을 특징으로 하는 컨텐츠 프리로딩을 위한 프리로딩 장치.
  4. 제1항에 있어서,
    상기 제어 모듈은 상기 컨텐츠의 우선 순위를 갱신하도록 하는 상기 컨텐츠 요청 메시지를 주기적으로 전송하도록 제어하는 것을 특징으로 하는 컨텐츠 프리로딩을 위한 프리로딩 장치.
  5. 제4항에 있어서,
    상기 컨텐츠의 우선 순위를 갱신하도록 하는 상기 컨텐츠 요청 메시지를 전송하는 주기는,
    상기 캐시 장치에 저장된 컨텐츠의 우선순위가 최상위에서 최하위가 되기까지 걸리는 시간 이하, 또는 상기 캐시 장치의 저장공간의 잔여 용량이 새로운 컨텐츠가 저장되어 모두 소진되기까지 걸리는 시간 이하인 것을 특징으로 하는 컨텐츠 프리로딩을 위한 프리로딩 장치.
  6. 캐시 장치가 컨텐츠를 프리로딩하도록 하는 컨텐츠 요청 메시지를 전송하는 단계; 및
    상기 컨텐츠가 상기 캐시 장치에 프리로딩된 후, 상기 캐시 장치가 상기 컨텐츠의 우선 순위를 갱신하도록 하는 상기 컨텐츠 요청 메시지를 전송하는 단계;를 포함하는 것을 특징으로 하는 프리로딩 장치의 컨텐츠 프리로딩을 위한 방법.
  7. 제6항에 있어서,
    상기 컨텐츠를 프리로딩하도록 하는 컨텐츠 요청 메시지를 전송하는 단계 후, 상기 컨텐츠의 우선 순위를 갱신하도록 하는 상기 컨텐츠 요청 메시지를 전송하는 단계 전,
    상기 컨텐츠를 순차적으로 수신하는 단계; 및
    상기 컨텐츠를 모두 수신하면, 상기 컨텐츠가 상기 캐시 장치에 프리로딩된 것으로 판단하는 단계;를 더 포함하는 것을 특징으로 하는 프리로딩 장치의 컨텐츠 프리로딩을 위한 방법.
  8. 제6항에 있어서,
    상기 컨텐츠의 우선순위를 갱신하도록 하는 상기 컨텐츠 요청 메시지를 전송하는 단계 후,
    상기 컨텐츠의 일부를 포함하는 컨텐츠 응답 메시지를 수신하는 단계; 및
    상기 캐시 장치가 상기 컨텐츠 응답 메시지를 추가로 전송하지 않도록 리셋 메시지를 전송하는 단계;를 더 포함하는 것을 특징으로 하는 프리로딩 장치의 컨텐츠 프리로딩을 위한 방법.
  9. 제6항에 있어서,
    상기 컨텐츠의 우선 순위를 갱신하도록 하는 상기 컨텐츠 요청 메시지는 주기적으로 전송하는 것을 특징으로 하는 프리로딩 장치의 컨텐츠 프리로딩을 위한 방법.
  10. 제9항에 있어서,
    상기 컨텐츠의 우선 순위를 갱신하도록 하는 상기 컨텐츠 요청 메시지를 전송하는 주기는
    상기 캐시 장치에 저장된 컨텐츠의 우선순위가 최상위에서 최하위가 되기까지 걸리는 시간 이하, 또는 상기 캐시 장치의 저장공간의 잔여 용량이 새로운 컨텐츠가 저장되어 모두 소진되기까지 걸리는 시간 이하인 것을 특징으로 하는 프리로딩 장치의 컨텐츠 프리로딩을 위한 방법.
KR1020130076862A 2013-07-02 2013-07-02 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치 KR20150004459A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130076862A KR20150004459A (ko) 2013-07-02 2013-07-02 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130076862A KR20150004459A (ko) 2013-07-02 2013-07-02 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20150004459A true KR20150004459A (ko) 2015-01-13

Family

ID=52476625

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130076862A KR20150004459A (ko) 2013-07-02 2013-07-02 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20150004459A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017057912A1 (ko) * 2015-10-02 2017-04-06 삼성전자주식회사 전자 장치에서 어플리케이션 실행 장치 및 방법
CN106791911A (zh) * 2016-12-28 2017-05-31 北京风行在线技术有限公司 一种图片和视频的加载方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017057912A1 (ko) * 2015-10-02 2017-04-06 삼성전자주식회사 전자 장치에서 어플리케이션 실행 장치 및 방법
US10936340B2 (en) 2015-10-02 2021-03-02 Samsung Electronics Co., Ltd. Apparatus and method for performing selective application preloading in electronic device
CN106791911A (zh) * 2016-12-28 2017-05-31 北京风行在线技术有限公司 一种图片和视频的加载方法

Similar Documents

Publication Publication Date Title
KR101330052B1 (ko) 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US10033824B2 (en) Cache manifest for efficient peer assisted streaming
CN102055718B (zh) 一种在http streaming系统中实现分层请求内容的方法,装置和系统
KR101981285B1 (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 시스템, 이를 위한 장치 및 그의 컨텐츠 전송 서비스 방법
KR101436049B1 (ko) 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US9479607B2 (en) Content caching and delivering system with traffic of repetitively requested content reduced
US10594803B2 (en) Method for delivering content in communication network and apparatus therefor
JP4904114B2 (ja) 中継装置および中継方法
KR20140021372A (ko) 컨텐츠 식별 정보를 이용한 컨텐츠 전송 서비스 방법 및 로컬 캐싱 장치
KR20170103255A (ko) D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체
KR101688835B1 (ko) 광대역 무선 접속 시스템에서 트래픽 오프로드를 위한 장치 및 방법
KR102129481B1 (ko) 컨텐츠 전송 시스템에서 데이터 처리를 위한 장치 및 이를 위한 방법
KR20150004459A (ko) 컨텐츠 전송 시스템에서 프리로딩을 위한 방법 및 장치
KR101441403B1 (ko) 컨텐츠 전송 서비스 시스템, 그의 장치 및 컨텐츠 전송 서비스 지원 방법
KR102519390B1 (ko) 캐시 장치, 상기 캐시 장치에서의 mmt 컨텐츠 전송 방법
KR101969869B1 (ko) 개인형 캐싱 네트워크 시스템 및 개인형 캐싱 서비스 제공 방법
KR101971595B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR101888982B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR101402923B1 (ko) 캐시 장치에 사전 배포하는 콘텐츠를 관리하는 서버 및 방법, 그리고 캐시 장치
KR101407934B1 (ko) 컨텐츠 전송 시스템, 이를 위한 방법 및 장치
KR100466830B1 (ko) 무선 인터넷상에서 단말정보에 의존하는 메시지 서비스의컨텐츠 변환방법
JP6752080B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
KR102030390B1 (ko) 프리로딩을 이용한 컨텐츠 제공 방법 및 이를 위한 장치
KR102070062B1 (ko) 컨텐츠 전송 시스템에서 컨텐츠 제공을 위한 방법 및 이를 위한 장치
KR20180110565A (ko) 컨텐츠 전송 제어 방법, 이를 위한 장치, 이를 기록한 컴퓨터 판독 가능한 기록 매체 및 프로그램

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application