KR102303776B1 - D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체 - Google Patents

D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체 Download PDF

Info

Publication number
KR102303776B1
KR102303776B1 KR1020160025792A KR20160025792A KR102303776B1 KR 102303776 B1 KR102303776 B1 KR 102303776B1 KR 1020160025792 A KR1020160025792 A KR 1020160025792A KR 20160025792 A KR20160025792 A KR 20160025792A KR 102303776 B1 KR102303776 B1 KR 102303776B1
Authority
KR
South Korea
Prior art keywords
content
user terminal
terminal device
caching
request
Prior art date
Application number
KR1020160025792A
Other languages
English (en)
Other versions
KR20170103255A (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 에스케이텔레콤 주식회사
Priority to KR1020160025792A priority Critical patent/KR102303776B1/ko
Publication of KR20170103255A publication Critical patent/KR20170103255A/ko
Application granted granted Critical
Publication of KR102303776B1 publication Critical patent/KR102303776B1/ko

Links

Images

Classifications

    • H04L67/2842
    • H04L67/2823
    • H04L67/322
    • H04L67/327

Landscapes

  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 무선 통신 기술에 관한 것으로서, 더욱 상세하게는 디바이스 간의 직접 통신(Device to device, D2D)을 기반으로, 가쉬핑(Gossiping) 기술을 활용하여 사용자 단말 장치에 콘텐츠를 캐싱(Caching)하는 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 저장하는 기록 매체에 관한 것이다.
이를 위한 본 발명의 일 실시 예에 따른 사용자 단말 장치에 의한 콘텐츠 캐싱 방법은, 상기 사용자 단말 장치에서 발생한 콘텐츠 요청, 및 상기 사용자 단말 장치와 통신 가능한 다른 사용자 단말 장치에 의해 발생하는 콘텐츠 요청을 수집하는 단계; 상기 수집한 콘텐츠 요청에 대한 콘텐츠 요청 기록을 저장하는 단계; 콘텐츠를 수신하는 단계; 상기 콘텐츠 요청 기록을 기반으로 상기 수신한 콘텐츠의 캐싱을 수행하는 단계; 를 포함하여 이루어진다.

Description

D2D 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체 {METHOD, PROGRAM AND RECODING MEDIUM FOR D2D-BASED CONTENT CACHING SERVICE}
본 발명은 무선 통신 기술에 관한 것으로서, 더욱 상세하게는 디바이스 간의 직접 통신(Device to device, D2D)을 기반으로, 가쉬핑(Gossiping) 기술을 활용하여 사용자 단말 장치에 콘텐츠를 캐싱(Caching)하는 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 저장하는 기록 매체에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
최근 성능이 향상된 스마트폰의 보급 및 콘텐츠 전송 기술의 발달에 따라, VOD(Video On Demand), Live Streaming과 같은 온라인 동영상 서비스나 음악 스트리밍, 파일 업로드 및 파일 다운로드와 같은 대용량 콘텐츠를 전달하려는 서비스가 증가하고 있다.
이렇게 콘텐츠 제공자 및 콘텐츠 사용자가 점점 증가함에 따라 이동통신망의 트래픽이 점점 증가하고 있는 추세이다. 트래픽이 증가함에 따라 콘텐츠의 전송 속도는 저하되고, 콘텐츠 전송 속도 저하로 인한 서비스 품질 저하 문제 역시 이슈가 되고 있어, 이동통신망 내의 불필요한 트래픽을 감소시킬 필요성이 대두되었다.
이에 따라, 점차 증가하는 트래픽을 감소시키기 위한 노력이 이루어지고 있다. 이러한 노력의 일환으로, 이동통신망 보유사들은 CDN(Content Delivery Network) 서비스를 제공하고 있다. CDN 서비스는 영화, 뮤직 비디오 등과 같은 동영상을 포함하는 다양한 콘텐츠를 사용자에게 안정적으로 전달하기 위한 것으로서, 통상 네트워크상에 분산 배치된 다수의 로컬 캐싱 장치에 콘텐츠를 저장하여 두고, GLB(Global Load Balance) 서버와 같은 부하 분산 장치를 통해서 다수의 캐시 서버 중에서 최적의 캐시 서버를 선택하여, 선택된 캐시 서버를 통해 요청된 콘텐츠가 사용자의 단말 장치로 전달하도록 구현된다. 또한, 이러한 CDN 서비스는 인터넷 망을 기반으로 인터넷상에서의 데이터 손실, 병목 현상, 전송 속도 저하, 데이터 끊김과 같은 불안전성 등을 해결하도록 구현된다.
이러한 CDN 서비스 중, 최근에 제안된 Mobile peer assisted CDN 서비스는, 하나의 기지국과 상기 기지국에 연결된 다수의 사용자 단말 장치가 캐시 노드로서 동작하며, 사용자 단말 장치 사이를 연결하는 D2D 링크 및 사용자 단말 장치와 기지국 간을 연결하는 BS 링크를 통해서 사용자 단말 장치 또는 기지국에 캐싱된 콘텐츠를 제공할 수 있다.
이와 같이, D2D 기반의 CDN 서비스의 경우 사용자 단말 장치가 캐시 노드의 역할을 하므로, 내부 저장공간의 일부를 콘텐츠를 제공하기 위한 캐시로 할당해야 한다. 그런데 사용자 단말 장치에서 제공할 수 있는 캐시 용량은 기지국에 연결된 캐싱 장치에 비해 상대적으로 작은 것이 현실이다. 캐시 용량이 작은 경우 저장 가능한 콘텐츠의 용량이 한정된다. 이에 따라, 사용자 단말 장치가 다수의 콘텐츠를 수신하여 캐시의 용량이 가득 차는 경우가 빈번하게 발생 할 수 있고, 캐싱 교체(cache replacement)를 수행하여야 캐시에 기 저장된 콘텐츠를 삭제하고 새로운 콘텐츠를 수신할 수 있다.
그러나, 캐싱 교체 시 기 저장된 콘텐츠를 삭제하기 위한 일정한 규칙이 정해져 있지 않은 경우 (예를 들어, 사용자 단말 장치의 캐시에서 요청 빈도에 관계없이 콘텐츠가 삭제될 확률이 동일할 경우), 요청 빈도가 높은 콘텐츠가 다수의 사용자 단말 장치의 캐시에서 삭제되는 경우가 자주 발생할 가능성이 높고, 이럴 경우 캐시 적중률이 현저히 낮아질 수 있다.
캐시 적중률이 낮아짐에 따라, 다수의 사용자 단말 장치는 콘텐츠의 수신, 캐싱, 삭제를 반복하게 된다. 이는 콘텐츠 전송의 혼잡도를 높여 콘텐츠 서비스의 성능 저하를 야기한다.
또한, 사용자 단말 장치의 위치 혹은 주변 환경에 따라서, 다른 단말에서 요구하는 콘텐츠가 달라질 수 있는데, 기존의 캐싱 관리 기법으로는 이러한 점을 고려한 적응적인 콘텐츠 관리가 어렵다.
이에 따라, 한정된 캐시 용량을 갖는 사용자 단말 장치에서, 사용자 단말 장치의 위치 혹은 주변 환경에 따라서, 인기도가 높은 콘텐츠가 캐시에서 삭제되지 않도록 제어하여 캐시 적중률을 높이기 위한 방안이 필요하다.
한국공개특허공보 제10-2015-0109976호, 2015년 10월 02일 공개 (명칭: 기기간 통신을 위한 스케쥴링 방법 및 장치)
본 발명은, D2D 기반의 콘텐츠 캐싱 정책을 수립함에 있어, 가쉬핑 기술을 활용한 리액티브(reactive) 방식의 캐싱 방법을 제공한다.
보다 구체적으로, 콘텐츠의 요청 기록에 기반한 캐싱을 수행하여, 인기도가 높은 콘텐츠의 삭제를 줄이고 콘텐츠 전송의 혼잡도를 낮추어 콘텐츠 전송 서비스의 서비스 품질을 향상시키는데 그 목적이 있다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명은 상술한 과제를 해결하기 위한 수단으로서, 사용자 단말 장치에 의한 콘텐츠 캐싱 방법에 있어서, 상기 사용자 단말 장치에서 발생한 콘텐츠 요청 및 상기 사용자 단말 장치와 통신 가능한 다른 사용자 단말 장치에 의해 발생하는 콘텐츠 요청을 수집하는 단계; 상기 수집한 콘텐츠 요청에 대한 콘텐츠 요청 기록을 저장하는 단계; 콘텐츠를 수신하면, 상기 콘텐츠 요청 기록을 기반으로 상기 수신한 콘텐츠의 캐싱을 수행하는 단계; 를 포함하는 콘텐츠 캐싱 방법을 제공한다.
보다 구체적으로, 상기 콘텐츠 요청 기록은 각 콘텐츠의 요청 횟수, 요청 시간, 콘텐츠 요청 주체 및 콘텐츠 용량 중 하나 이상을 포함할 수 있다.
본 발명의 다른 일 양상은, 캐시의 잔여 용량을 상기 수신한 콘텐츠의 용량과 비교하는 단계; 비교 결과, 캐시의 잔여 용량이 콘텐츠의 용량 보다 적은 경우, 상기 캐시에 기 저장된 콘텐츠 중 어느 하나를 상기 콘텐츠 요청 기록에 기반하여 삭제하는 단계; 를 더 포함하는 콘텐츠 캐싱 방법을 제공한다.
추가로 본 발명은 상술한 바와 같은 콘텐츠 캐싱 방법을 실행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체와 상기 기록 매체에 저장된 컴퓨터 프로그램을 제공한다.
본 발명에 따르면, D2D를 기반으로 사용자 단말 장치가 콘텐츠 제공 및 캐싱을 수행함에 있어, 가쉬핑 기술을 활용한 리액티브(reactive) 방식의 캐싱 방법을 제공함으로써, 콘텐츠의 요청 기록에 기반한 캐싱을 수행하며, 이를 통해 인기도가 높은 콘텐츠의 삭제를 줄이고 콘텐츠 전송의 혼잡도를 낮추어 콘텐츠 전송 서비스의 서비스 품질을 향상시키는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시 예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
도 1은 D2D를 기반으로 하지 않는 기존의 콘텐츠 전송 시스템(CDN)을 개략적으로 나타낸 도면이다.
도 2는 D2D를 기반으로 하지 않는 기존의 콘텐츠 전송 시스템(CDN)을 개략적으로 도시한 블록도이다.
도 3은 D2D를 기반으로 하는 콘텐츠 전송 시스템의 네트워크 구조를 개략적으로 나타낸 도면이다.
도 4는 D2D를 기반으로 하는 콘텐츠 전송 시스템의 블록 구성도이다.
도 5는 본 발명의 일 실시 예에 따른 콘텐츠 전송 서비스를 설명하기 위한 도면이다
도 6은 본 발명의 일 실시 예에 따른 가쉬핑 기법을 이용하여 콘텐츠 요청을 수집하는 상태를 개략적으로 나타낸 도면이다.
도 7은 본 발명의 일 실시 예에 따른 콘텐츠 요청 기록이 저장되는 테이블 구조도이다.
도 8은 본 발명의 일 실시 예에 따른 콘텐츠 캐싱 방법을 수행하는 사용자 단말 장치를 도시한 블록도이다.
도 9는 본 발명의 일 실시 예에 따른 콘텐츠 캐싱 방법을 나타낸 흐름도이다.
도 10은 본 발명의 일 실시 예에 따른 콘텐츠 캐싱 방법에 있어서, 캐싱을 수행하는 단계를 보다 구체적으로 나타낸 흐름도이다.
도 11은 본 발명의 일 실시 예에 따른 콘텐츠 캐싱 방법에 있어서, 콘텐츠 요청 기록에 기반하여 캐시에 기 저장된 콘텐츠를 삭제하는 단계를 보다 구체적으로 나타낸 흐름도이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
또한, 본 명세서에서 기술되는 "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명은 콘텐츠 제공 시스템에 있어서, 디바이스 간의 직접 통신(Device to device, D2D)을 기반으로, 가쉬핑(Gossiping) 기술을 활용하여 사용자 단말 장치에 콘텐츠를 캐싱(Caching)하는 방법에 관한 것이다.
이하 무선 통신 환경을 기반으로, 본 발명에 따른 콘텐츠 캐싱 방법을 도 1 내지 도 11을 참조하여 설명한다.
이하의 설명에서, 사용자 단말 장치는 본 발명에 의해 제공되는 무선 통신망에 접속하여 각종 데이터를 송수신할 수 있는 사용자 장치를 의미한다. 여기서, 사용자 단말 장치는, 단말(Terminal), UE(User Equipment), MS(Mobile Station), MSS(Mobile Subscriber Station), SS(Subscriber Station), AMS(Advanced Mobile Station), WT(Wireless terminal), MTC(Machine-Type Communication) 장치, M2M(Machine-to-Machine) 장치, D2D 장치(Device-to-Device), 스테이션(STA: Station) 등의 용어에 의해 대체될 수 있다. 다만, 이에 한정되는 것은 아니며 본 발명에서 제공하는 무선 통신망에 연결된 장치이면 본 명세서에서 말하는 사용자 단말 장치에 해당할 수 있다. 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 사용자 단말 장치로 사용될 수도 있다.
이러한 사용자 단말 장치는 본 발명에 의해 제공되는 무선 통신망을 통해 음성 또는 데이터 통신을 수행할 수 있으며 이를 위한 본 발명의 사용자 단말 장치는 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
본 발명의 실시 예에 따른 사용자 단말 장치는 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 사용자 단말 장치는 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 무선 통신 기술이 적용되는 이동 단말기가 사용될 수도 있다.
또한 본 발명에 있어서, 기지국은 하나 이상의 사용자 단말 장치와 무선 자원으로 연결되어, 데이터를 송수신하는 장치를 의미하는 것으로서, 예를 들어, 기지국(base station, BS)은 노드B(node B), 고도화 노드B(evolved node B, eNodeB), 접근점(access point, AP), 무선 접근국(radio access station, RAS), 송수신 기지국(base transceiver station, BTS), MMR(mobile multihop relay)-BS 등을 지칭할 수도 있고, 노드B, eNodeB, AP, RAS, BTS, MMR-BS 등의 전부 또는 일부의 기능을 포함할 수도 있다. 또한 BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기를 포함하여 구현될 수 있다. 기지국은 사용자 단말 장치에 무선 신호를 송신하며, 구체적으로는 하나 이상의 무선 신호를 각각 다른 주파수 또는 시간 자원을 할당하여 전송할 수 있다.
도 1은 D2D를 기반으로 하지 않는 콘텐츠 전송 시스템을 개략적으로 나타낸 도면이다.
도 1에 나타난 바와 같이, 종래의 콘텐츠 전송 서비스는 기지국(400)과 사용자 단말 장치(100) 사이에서 이루어진다.
도 1은 기지국(400)이 점선과 같은 영역의 통신 커버리지(coverage)를 가지며, 통신 커버리지 안에 사용자 단말 장치(100)가 위치하여 기지국(400)과 사용자 단말 장치(100) 사이에서 상향/하향 링크 신호를 송수신함을 나타낸다.
일점 쇄선으로 나타낸 부분은 각 사용자 단말 장치(100)의 근거리 통신 영역으로, 각 사용자 단말 장치(100)가 서로 근거리 통신이 가능한 영역에 위치함을 나타낸다.
종래의 콘텐츠 캐싱 방법에서, 사용자 단말 장치(100)는 기지국(400)으로부터 콘텐츠 서비스를 수신하거나, 또는 각 사용자 단말 장치(100)의 내부 메모리에 저장된 콘텐츠를 자기 자신이 이용하는 것만이 가능하며, 사용자 단말 장치(100)간에 콘텐츠를 제공이 이루어지는 것은 아니었다.
도 2는 D2D를 기반으로 하지 않는 기존의 콘텐츠 전송 시스템을 도시한 블록도이다.
D2D를 기반으로 하지 않는 콘텐츠 전송 서비스는, 통신망(500)을 통해서 연결되는 사용자 단말 장치(100), 로컬 캐싱 장치(200) 및 콘텐츠 제공 장치(300)로 이루어진다.
사용자 단말 장치(100)는 통신망(500)에 접속하여, 상기 통신망(500)을 통해 제공되는 콘텐츠를 이용하는 사용자의 단말 장치로서, 콘텐츠 제공 장치(300)로 특정 콘텐츠를 요청하고, 이에 대응하여 콘텐츠 제공 장치(300) 또는 로컬 캐싱 장치(200)로부터 전송되는 콘텐츠를 수신한다.
로컬 캐싱 장치(200)는 통신망(500)에 분산 배치되어, 상기 콘텐츠 제공 장치(300)에서 제공하는 콘텐츠를 임시 또는 일정 시간 동안 저장하여, 사용자 단말 장치(100)로부터 상기 콘텐츠가 요청되면, 상기 콘텐츠 제공 장치(300)를 대신하여 단말 장치(100)로 저장하고 있는 콘텐츠를 제공한다. 이를 위하여, 로컬 캐싱 장치(200)는 다양한 캐싱 기법을 이용하여, 상기 콘텐츠 제공 장치(300)로부터 사용자 단말 장치(100)로 제공되는 콘텐츠의 일부 또는 전부를 복사하여 저장하는 캐싱 동작을 수행한다. 도 2에서는, 로컬 캐싱 장치(200)를 하나로 도시하였으나, 로컬 캐싱 장치(200)는 하나 이상으로 이루어져 통신망(500)에 분산 배치되거나, 각 기지국(400)과 함께 설치될 수 있다.
콘텐츠 제공 장치(300)는 통신망(500)를 통해서 임의의 콘텐츠, 예를 들어, 동영상 파일, 오디오 파일, 웹 페이지 등을 포함하는 다양한 콘텐츠를 스트리밍 또는 다운로드 방식으로 제공하는 서비스 제공 장치이다. 이러한 콘텐츠 제공 장치(300)는, 예를 들어, 유료 또는 무료의 동영상을 업로드 하거나, 보거나, 공유할 수 있도록 하는 동영상 공유 사이트, 모바일 콘텐츠를 자유롭게 거래할 수 있는 어플리케이션 스토어, 인터넷을 통해 방송 서비스를 제공하는 IPTV 등을 서비스하는 서버 장치일 수 있다.
통신망(500)은 인터넷망, 인트라넷망, 이동통신망, 위성 통신망 등 다양한 유무선 통신 기술을 이용하여 인터넷 프로토콜로 데이터를 송수신할 수 있는 망을 말한다.
또한, 통신망(500)은 콘텐츠 제공 장치(300)나 로컬 캐싱 장치(200) 와 결합되어 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장한다. 이러한 통신망(500)은 LAN(Local Area Network), WAN(Wide Area Network)등의 폐쇄형 네트워크, 인터넷(Internet)과 같은 개방형 네트워크뿐만 아니라, CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), GSM(Global System for Mobile Communications), LTE(Long Term Evolution), EPC(Evolved Packet Core) 등의 네트워크와 향후 구현될 차세대 네트워크 및 컴퓨팅 네트워크를 통칭하는 개념이다.
아울러, 본 발명의 통신망(500)은 예컨대, 다수의 접속망(미도시) 및 코어망(미도시)을 포함하며, 외부망, 예컨대 인터넷망(미도시)을 포함하여 구성될 수 있다.
본 발명은, 도 2에 나타난 바와 같은 시스템에 더하여, 사용자 단말 장치(100) 간의 콘텐츠 서비스 제공이 더 이루어지도록 하는 콘텐츠 전송 시스템을 제공한다.
이하, 도 3 내지 도 11을 참조하여, 본 발명에 따른 D2D 기반의 콘텐츠 전송 시스템과 콘텐츠 캐싱 방법에 대하여 설명한다.
도 3은, D2D를 기반으로 하는 콘텐츠 전송 시스템을 개략적으로 나타낸 도면이다.
도 3에 나타난 바와 같이, 본 발명에 따른 콘텐츠 전송은 기지국(400)과 사용자 단말 장치(100) 및 각 사용자 단말 장치(100) 사이에서 이루어진다.
점선과 일점 쇄선은, 도 1에서 설명한 바와 같이, 각각 기지국(400)과 사용자 단말 장치(100)의 통신 커버리지를 나타낸다. 도 3을 참조하면, 각 사용자 단말 장치(100)는 각각 서로의 무선 통신 커버리지 내에 위치해 있어, 상호 간 D2D 콘텐츠 전송 서비스를 수행할 수 있다.
콘텐츠 전송을 위한 사용자 단말 장치(100) 사이의 무선 통신 방식으로는, Bluetooth, Zigbee, UWB (Ultra-WideBand), ANT, Wi-Fi, NFC 등 다양한 근거리 통신 기술이 이용될 수 있다.
이러한 사용자 단말 장치(100) 간의 콘텐츠 전송 서비스는, 기지국(400)을 경유하지 않으며, 사용자 단말 장치(100)가 콘텐츠 전달망의 서버 로서 동작하게 된다.
도 4는 D2D를 기반으로 하는 콘텐츠 전송 시스템을 도시한 블록도이다.
도 4를 참조하면, 하나의 기지국(400) 내의 통신 커버리지에 다수의 사용자 단말 장치(100a, 100b, 100c)가 위치하며, 무선 통신에 의해 기지국(400)과 사용자 단말 장치(100a, 100b, 100c)가 연결(BS 연결, BS link)되고, 각 사용자 단말 장치(100a, 100b, 100c) 상호간 연결(D2D 연결, D2D link)도 이루어질 수 있다. 이 때, BS 연결과 D2D 연결은 서로 다른 통신 프로토콜(protocol)에 의해 이루어질 수 있다.
콘텐츠 제공 장치(300)는 도 2에서 설명한 바와 같이 기지국(400)에 연결되어 콘텐츠를 제공하는 원본 서버의 역할을 한다. 로컬 캐싱 장치(200)는 기지국(400)과 연결되어 있거나, 기지국(400) 내부에 포함되어 기지국(400)의 일부를 구성하고 있을 수 있다.
CDN(Content Delivery Network) 제어 서버(600)는 통신망(500)에 분산 배치된 다수의 로컬 캐싱 장치(200)의 관리 및 상기 다수의 로컬 캐싱 장치(200)에 의한 콘텐츠 전달 과정을 제어하는 수단으로서, 사용자 단말 장치(100a, 100b, 100c)의 콘텐츠 요청 메시지를 콘텐츠 제공 장치(300)로 전달하고, 상기 콘텐츠 제공 장치(300)로부터 제공되는 콘텐츠 데이터를 수신하여 통신망(100)을 통해서 사용자 단말 장치(100a, 100b, 100c)로 전달하는데, 이때 특정 로컬 캐싱 장치(200)에 상기 콘텐츠가 캐싱되어 있는 것이 확인되면, 사용자 단말 장치(100a, 100b, 100c)로의 콘텐츠 제공이 상기 로컬 캐싱 장치(200)로부터 이루어지도록 할 수 있다.
더하여 본 발명에 따른 콘텐츠 전송 시스템에서는, 각 사용자 단말 장치(100a, 100b, 100c) 사이에서의 콘텐츠 제공도 가능하다. 이에 따라 CDN 제어 서버(600)는 특정 사용자 단말 장치(100a)의 콘텐츠 제공 요청 메시지에 따라 콘텐츠 제공 경로를 결정하는 요청 라우팅(request routing)을 수행할 수 있다. 또한, 콘텐츠 트래픽 적체를 방지하고 효율적으로 통신 자원을 분배하기 위하여 각 사용자 단말 장치(100a, 100b, 100c)의 콘텐츠 요청에 따른 콘텐츠의 제공 순서를 적절히 스케줄링(scheduling)할 수 있다.
이러한 시스템 하에서 발생할 수 있는 콘텐츠 서비스 절차에 대하여 도 5를 참조하여 설명한다.
도 5에서, 점선 화살표는 콘텐츠를 요청하는 메시지이며, 실선 화살표는 콘텐츠를 제공하는 콘텐츠 데이터이다.
이하에서, 두 사용자 단말 장치가 인접함은 두 사용자 단말 장치가 직접 무선 통신이 가능한 범위 안에 있음을 의미한다.
도 5의 (a)는, 특정 사용자 단말 장치(100a)가 요청한 콘텐츠가 상기 사용자 단말 장치(100a)의 내부 캐시에 저장되어 있는 경우를 나타낸다. 이를 로컬 히트(local hit)라 하며, 사용자 단말 장치(100a)는 자신의 캐시에 저장되어 있는 콘텐츠를 요청하여 이용한다.
도 5의 (b)는, 특정 사용자 단말 장치(100a)가 요청한 콘텐츠를 인접한 사용자 단말 장치(100b)로부터 수신할 수 있는 경우로, 이를 D2D 히트(D2D hit)라 하며, 상기 특정 사용자 단말 장치(100a)의 콘텐츠 요청 메시지에 따라 인접한 사용자 단말 장치(100b)가 콘텐츠를 제공한다.
더하여, 상기 인접한 사용자 단말 장치(100b)와 통신할 수 있는 다른 사용자 단말 장치(100c)가 존재하는 경우, 사용자 단말 장치(100a)에서 발생한 콘텐츠 요청 메시지를 상기 다른 사용자 단말 장치(100c)에 전달하고, 상기 다른 사용자 단말 장치(100c)가 콘텐츠를 제공하는 것도 가능하다. 이를, 상기 인접한 사용자 단말 장치(100b)를 경유하여 상기 다른 사용자 단말 장치(100c)가 상기 특정 사용자 단말 장치(100a)에 콘텐츠를 제공, 또는 콘텐츠 요청을 전달한다 표현한다.
도 5의 (c)는, 특정 사용자 단말 장치(100a)가 요청한 콘텐츠가 기지국(400) 단에 위치한 로컬 캐싱 장치(200)에 존재하는 경우로, 이를 BS 히트(BS Hit)라 하며, 상기 특정 사용자 단말 장치(100a)의 콘텐츠 요청 메시지를 수신한 기지국(400)으로부터 콘텐츠 데이터를 수신한다.
도 4에서 앞서 설명하였듯, 이러한 콘텐츠 요청 라우팅은 CDN 제어 서버(600)의 판단에 따라 이루어질 수 있다.
이러한 콘텐츠 서비스 절차 중, 로컬 히트나 D2D 히트는 각 사용자 단말 장치(100a, 100b)가 콘텐츠를 제공하는 일종의 캐시 서버 역할을 한다. 이를 위해서는, 사용자 단말 장치(100) 내의 저장공간의 일부를 콘텐츠를 저장하기 위한 캐시로 할당해야 한다. 이때 사용자 단말 장치(100)의 저장 공간은 별도로 구축이 가능한 로컬 캐싱 장치(200)나 콘텐츠 제공 장치(300)에 비하여 제한되어 있으며, 이를 관리하기 위하여 캐싱 교체(cache replacement)를 수행하여야 한다.
각 사용자 단말 장치(100)는 스스로 요청한 콘텐츠 또는 자신을 경유하는 콘텐츠에 대하여 캐싱을 수행한다. 이 과정에서 캐시의 용량이 부족해지는 경우가 발생할 수 있으며, 이러한 경우 일정한 우선순위에 따라 캐싱 교체를 수행하게 된다.
이 때, 우선순위를 결정짓는 기준 정보는 각 콘텐츠에 대한 요청 기록이 된다. 이하에서, 요청 기록의 내용과 수집 과정에 대하여 도 6과 도 7을 참조하여 설명한다.
도 6은 본 발명에 따라 사용자 단말 장치(100a)가 가쉬핑(gossiping) 기법을 이용하여 다른 사용자 단말 장치(100b, 100c, 100d)의 콘텐츠 요청을 수집하는 단계를 개략적으로 나타낸 도면이다.
가쉬핑 기법은, 콘텐츠 요청 정보를 정밀하게 파악하지 못함으로써 발생될 수 있는 문제점을 해결하기 위한 것으로, 가쉬핑 기법을 이용하는 사용자 단말 장치(100a, 100b, 100c) 사이에서는 자신과 기 설정된 거리(예를 들어, 1홉(hop)) 내에 위치한 다른 사용자 단말 장치들의 존재 여부를 확인하기 위한 패킷을 전송하며, 만약 다른 사용자 단말 장치에 전송해야 할 데이터 패킷을 받은 경우, 임의의 라우팅 정책에 의해 유니캐스트(unicast) 형식으로 데이터를 전송하게 된다.
이에 따른 본 발명의 콘텐츠 요청 수집 방법에 대해 예를 들면, 만약 임의의 사용자 단말 장치들이 모두 직접 무선 통신이 가능한 범위에 있는 경우, 상기 특정 사용자 단말 장치(100a)는 인접한 사용자 단말 장치(100b 또는 100c)의 콘텐츠 요청 메시지를 직접 수신함으로써 콘텐츠 요청을 수집할 수 있다.
또한, 상기 특정 사용자 단말 장치(100a)로부터 1홉 내에 위치하지 않은 사용자 단말 장치(100d)가 전송한 콘텐츠 요청메시지는 인접한 사용자 단말 장치(100b, 100c) 모두에 의해 가쉬핑될 수 있고, 상기 인접한 사용자 단말 장치(100b, 100c) 중 사용자 단말 장치(100d)가 전송한 콘텐츠 요청메시지를 가쉬핑한 사용자 단말 장치와 1홉 내에 위치한 상기 특정 사용자 단말 장치(100a)까지 전송되어, 상기 특정 사용자 단말 장치(100a)가 상기 1홉 내에 위치하지 않은 사용자 단말 장치(100d)로부터 콘텐츠 요청을 수집할 수 있다.
수집한 콘텐츠 요청들에 대한 요청 기록은 상기 특정 사용자 단말 장치(100a)의 내부에 누적하여 저장된다. 요청 기록의 내용에 대하여는 도 7을 참조하여 설명한다.
도 7은 본 발명에 따른 요청 기록에 저장될 수 있는 항목을 테이블 형태로 나타낸 예시도이다.
도 7을 참조하면, 본 발명에 따른 요청 기록은 각 콘텐츠의 요청 주체, 요청 횟수, 요청 시간 및 콘텐츠 용량 중 하나 이상이 포함될 수 있으려, 캐싱 교체 시 요청 기록에 저장된 정보를 활용한다.
콘텐츠 ID는 각 콘텐츠의 식별을 위한 것으로, 콘텐츠 제공 장치(300)에서 부여한 임의의 ID일 수 있으며, 또는, 해당 컨텐츠의 내용 중 기 설정된 길이의 프리픽스(prefix) 정보, 이를 기 설정된 해쉬(hash) 함수로 연산하여 계산된 해쉬 값 또는 해당 컨텐츠의 메타 데이터(metadata) 중 하나가 될 수 있다.
요청 주체는 해당 콘텐츠를 요청한 사용자 단말 장치(100)에 대해 기록한 것으로, 도 7과 같이 요청 주체를 자신과 타 단말 장치로 구분하여 간략히 저장될 수 있으며, 또는, 각 단말 장치의 IP 주소 또는 맥(MAC) 주소 등 개별 사용자 단말 장치를 식별할 수 있는 고유 식별자가 저장될 수도 있다.
요청 횟수는 해당 콘텐츠의 요청이 발생한 횟수, 최근 요청 시간은 해당 콘텐츠의 요청이 발생한 최근 시간을 기록한 것이다. 요청 횟수와 최근 요청 시간은 요청 주체를 구별하여 저장될 수 있다. 도 7에 나타난 시간은 시, 분, 초의 개념으로 기록되었으나, 요청 날짜나 요일을 더 저장할 수 있다.
용량은 해당 콘텐츠가 캐시에서 차지하는 메모리의 크기를 나타낸다.
사용자 단말 장치(100)는 캐시의 잔여 용량이 새로 수신한 콘텐츠의 용량 보다 작은 경우, 이러한 요청 기록을 기반으로 기 저장된 콘텐츠 중 어느 하나를 삭제한 이후 상기 새로 수신한 콘텐츠의 캐싱을 수행할 수 있다.
콘텐츠를 삭제하는 기준은 서비스 제공자에 의해 정책적으로 다양하게 설정될 수 있다.
예를 들면, 요청 횟수를 기준으로 기 저장된 콘텐츠를 삭제할 수 있다. 이 때, 단순히 총 요청 횟수가 가장 적은 콘텐츠를 삭제할 수 있다. 이 경우 요청 횟수가 가장 적은 11003번 콘텐츠가 삭제된다.
또는, 콘텐츠 요청의 주체를 구별하여 요청 횟수를 활용할 수 있다. 즉, 콘텐츠 캐싱을 수행하는 사용자 단말 장치 자신의 요청 횟수와 타 사용자 단말 장치의 요청 횟수에 각각 다른 가중치를 적용하여, 상기 콘텐츠 캐싱을 수행하는 사용자 단말 장치의 요청 비율이 높은 콘텐츠를 삭제하거나, 또는 반대로 상기 타 사용자 단말 장치의 요청 비율이 높은 콘텐츠를 삭제할 수 있다.
다른 예로, 최근 요청 시간을 기준으로, 기 저장된 콘텐츠 중 최근 요청 시간과 현재 시간의 차이가 가장 큰 콘텐츠를 삭제할 수 있다. 이 경우에는 최근 요청 시간이 가장 오래된 11003번 콘텐츠가 삭제된다.
이 경우에도 콘텐츠 요청 주체를 구별하여, 콘텐츠 캐싱을 수행하는 사용자 단말 장치 자신의 최근 요청 시간만을 기준으로 콘텐츠를 삭제하거나, 타 사용자 단말 장치의 최근 요청 시간만을 기준으로 콘텐츠를 삭제하는 것도 가능하다.
아울러, 요청 횟수와 최근 요청 시간에 각각 다른 가중치를 두어 결과값을 연산하고, 그 결과값을 기준으로 콘텐츠를 삭제할 수 있다. 가중치 적용과 결과값 연산에 대한 보다 자세한 설명은 후술하기로 한다.
이와 같이 기 저장된 콘텐츠를 삭제함에 따라 캐시의 잔여 용량이 증가하게 된다. 그러나 기 저장된 콘텐츠 중 하나를 삭제하였음에도 수신할 콘텐츠의 용량이 캐시의 잔여 용량보다 클 수 있으며, 이러한 경우 설정된 기준에 의해 캐시의 잔여 용량이 수신한 콘텐츠의 용량 이상이 될 때까지 콘텐츠를 삭제하는 단계를 반복 수행할 수 있다.
또 다른 실시 예로, 기 저장된 콘텐츠 삭제의 반복 수행을 막기 위해, 기 저장된 콘텐츠 중 상기 콘텐츠 요청을 발생시킨 콘텐츠보다 용량이 큰 콘텐츠를 우선적으로 삭제하는 것도 가능하다.
이상으로, 본 발명에 따른 캐싱 교체 방법에 대한 예시를 간략하게 설명하였다.
이하에서, 본 발명에 따른 콘텐츠 캐싱 방법을 수행하는 사용자 단말 장치(100)의 구조를 설명하도록 한다.
도 8은, 본 발명에 따른 콘텐츠 캐싱 방법을 수행하는 사용자 단말 장치(100)를 도시한 블록도이다.
도 8을 참조하면, 본 발명에 따른 사용자 단말 장치(100)는 통신부(100), 저장부(120) 및 제어부(130)를 포함하여 구성될 수 있다.
통신부(110)는 외부 소스로부터 데이터를 수신하고 외부 소스로 데이터를 전송하기 위한 수단으로서, 예를 들면, 네트워크 인터페이스 카드 및 대응하는 네트워크 드라이버 인터페이스 사양(Network Driver Interface Specification: "NDIS") 스택과 같은 하나 이상의 소프트웨어 및/또는 하드웨어 모듈의 논리적 조합으로 나타낼 수 있다.
이러한 통신부(110)는 다양한 통신 프로토콜을 지원할 수 있다. 예를 들어, AMPS, CDMA, GSM, W-CDMA, HSDPA, LTE, LTE-A 등과 같은 다양한 이동통신 표준을 지원할 수 있으며, 또한, BLE, Zigbee와 같은 근거리 무선 네트워크 기술을 지원할 수 있다.
특히, 본 발명에 있어서, 통신부(110)는, 통신망(500)을 통해 기지국(400) 또는 다른 사용자 단말 장치와 데이터를 송수신할 수 있으며, 이동통신표준에 따라 통신망(500)에 접속하여 데이터 송수신하기 위한 이동통신 모듈을 포함한다. 송수신하는 데이터에는 콘텐츠 요청 메시지와 이에 콘텐츠 요청 메시지에 따라 전송되는 콘텐츠 데이터가 포함된다.
저장부(120)는 제어부(130)에 의해 실행되거나 처리되는 데이터 혹은 프로그램을 저장하기 위한 구성이다. 기본적으로, 저장부(120)는 사용자 단말 장치(100)의 부팅 및 상술한 각 구성의 운용을 위한 운영체제(OS, Operating System), 다양한 사용자 기능, 예를 들면, 사용자 단말 장치(100)의 통화기능 지원을 위한 사용자 기능, 기타 음원을 재생하기 위한 MP3 사용자 기능, 사진 등의 이미지를 재생하기 위한 이미지 출력 기능, 동영상 재생 기능 등을 각각 지원하기 위한 응용 프로그램 등을 저장할 수 있다.
이러한 저장부(120)는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(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), 플래시 메모리를 포함한다.
특히, 본 발명에 있어서, 저장부(120)는, 본 발명에 따른 콘텐츠 캐싱 방법을 수행하기 위한 애플리케이션 또는 컴퓨터 프로그램을 저장할 수 있다.
더하여, 본 발명에 따른 저장부(120)는 사용자 단말 장치(100)가 캐시 서버로 동작하도록 하기 위해, 콘텐츠를 저장하는 캐시(121)를 포함한다. 아울러, 상기 캐시(121)에 대하여 효율적인 캐싱 교체를 수행하기 위한 콘텐츠 요청 기록(122)을 포함한다. 콘텐츠 요청 기록(122)에는, 도 7을 통해 설명한 바와 같이 콘텐츠 별 요청 주체, 요청 횟수, 최근 요청 시간 및 용량 중 하나 이상이 저장되어 있을 수 있다.
제어부(130)는 사용자 단말 장치(100)의 전반적인 제어를 수행하기 위한 구성으로서, 하나 이상의 프로세서를 포함하여 구현될 수 있다. 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다.
나아가, 제어부(130)는 상기 하나 이상의 프로세서를 통해서, 저장부(120)에 저장된 명령을 처리함으로써 동작할 수 있다. 이때, 상기 명령으로는, 예컨대 JavaScript나 ECMAScript 명령 등의 스크립트 명령과 같은 해석되는 명령이나 실행 가능한 코드 혹은 컴퓨터로 판독 가능한 매체에 저장되는 기타의 명령이 포함될 수 있다.
특히, 본 발명에 있어서, 제어부(130)는, 저장부(120)에 저장된 프로그램을 이용하여 다른 사용자 단말 장치에 콘텐츠 요청이나 콘텐츠 자체를 포함하는 데이터 패킷을 송신 및 수신하도록 통신부(110)를 제어할 수 있다. 즉, 제어부(130)는 저장부(120)에 저장된 애플리케이션 또는 컴퓨터 프로그램의 서비스 로직에 따라서 동작하여, 본 발명에 따른 콘텐츠 캐싱 방법을 수행한다.
이러한 제어부(130)는 패킷 수신 모듈(131), 서비스 처리 모듈(132), 캐시 처리 모듈(133)을 포함한다.
패킷 수신 모듈(131)은 통신부(110)와 연결되어 타 사용자 단말 장치로부터의 콘텐츠 요청 패킷 또는 콘텐츠 패킷을 수신하도록 제어하가 위한 구성이다. 패킷 수신 모듈(131)은 수신한 패킷이 콘텐츠 요청을 포함하는 경우 이를 추출하여 요청 기록에 저장하도록 할 수 있으며, 콘텐츠 자체를 포함하는 경우 해당 콘텐츠의 캐싱이 처리되도록 캐시 처리 모듈(133)에 콘텐츠를 전송할 수 있다.
캐시 처리 모듈(133)은 패킷 수신 모듈(131)이 전송한 콘텐츠를 수신하여 캐싱을 수행하며, 이 때 저장부(120) 내의 요청 기록(122)을 활용하여 캐싱 교체를 수행할 수 있다.
서비스 처리 모듈(132)은 수신한 콘텐츠를 실행하여 사용자가 이용할 수 있도록 하기 위한 구성으로, 패킷 수신 모듈(131)로부터 수신한 콘텐츠를 실행하여 사용자에 제공한다.
이상으로 본 발명에 따른 콘텐츠 캐싱 방법을 수행하는 사용자 단말 장치(100)의 구조에 대하여 설명하였다.
이러한 사용자 단말 장치(100)의 보다 구체적인 동작은 도 9 내지 도 11에 나타난 흐름도를 통해 보다 명확히 이해될 수 있을 것이다.
도 9는 본 발명에 따른 콘텐츠 캐싱 방법을 나타낸 흐름도이다.
도 9를 참조하면 먼저, 사용자 단말 장치(100)는 상기 사용자 단말 장치(100) 스스로에 의해 발생한 콘텐츠 요청 또는 상기 사용자 단말 장치(100)와 통신 가능한 다른 사용자 단말 장치에 의해 발생하는 콘텐츠 요청을 수집하고(S900), 수집한 콘텐츠 요청에 대한 콘텐츠 요청 기록을 저장부(120)에 저장한다(S902).
여기서 상기 다른 사용자 단말 장치는 사용자 단말 장치(100)와 무선 통신이 가능한 거리 내에 위치하는 인접 사용자 단말 장치이거나, 또는 상기 인접 사용자 단말 장치를 통해 통신할 수 있는 사용자 단말 장치를 포함한다.
이후에, 또는 이와 병렬적으로, 상기 사용자 단말 장치(100) 스스로에 의해 발생한 콘텐츠 요청에 의해, 또는 상기 사용자 단말 장치(100)를 경유할 콘텐츠가 수신되는 경우(S904), 상기 콘텐츠 요청 기록에 기반하여 수신한 콘텐츠의 캐싱을 수행한다(S906).
도 10은 도9에 나타난 콘텐츠 캐싱 방법 중, 캐싱을 수행하는 단계를 보다 구체적으로 나타낸 흐름도이다.
도 10을 참조하면 먼저, 사용자 단말 장치(100)가 콘텐츠를 수신하고(S1000), 상기 사용자 단말 장치(100) 내부의 잔여 캐시 용량과 수신할 콘텐츠의 용량을 비교하여(S1002), 잔여 캐시 용량이 수신할 콘텐츠 용량 이상인 경우, 콘텐츠를 캐시에 저장한다(S1004). 이와 반대로, 잔여 캐시 용량이 수신할 콘텐츠 용량 미만인 경우, 콘텐츠 요청 기록에 기반하여 캐시에 기 저장된 콘텐츠를 삭제한다(S1006).
콘텐츠의 삭제 이후, 사용자 단말 장치(100)는 잔여 캐시 용량과 수신할 콘텐츠의 용량을 비교하는 단계(S1002)를 다시 수행하며, 비교 결과에 따라 S1004 단계를 수행하거나 S1006 단계를 반복한다.
도 11은, 도 10의 콘텐츠 요청 기록에 기반하여 캐시에 기 저장된 콘텐츠를 삭제하는 단계 중 일 실시 예를 보다 구체적으로 나타낸 흐름도이다.
도 11을 참조하면, 사용자 단말 장치(100)는 기 저장된 콘텐츠에 대한 콘텐츠 요청 기록을 추출하고(S1100), 요청 기록 내에 위치하는 콘텐츠 별로 사용자 단말 장치(100) 자신에 의한 요청 횟수와 다른 사용자 단말 장치에 의한 요청 횟수를 추출한다(S1102). 여기서 사용자 단말 장치(100) 자신에 의한 요청 횟수는 a, 다른 사용자 단말 장치에 의한 요청 횟수를 b라 한다.
이후, 사용자 단말 장치(100)는 콘텐츠 별 요청 비율 x를 산출한다(S1104). 여기서 사용자 단말 장치(100) 자신에 의한 요청 횟수에 대한 가중치를α, 다른 사용자 단말 장치에 의한 요청 횟수에 대한 가중치를 β라 하면,
Figure 112016020876958-pat00001
과 같이 나타낼 수 있다. 여기서 가중치 α와 β는 콘텐츠 제공자의 정책에 따른 임의의 값이 될 수 있다. α가 큰 경우에는 요청 콘텐츠의 삭제에 사용자 단말 장치(100) 자신이 요청한 콘텐츠의 비중이 높게 반영되며, β가 큰 경우에는 다른 사용자 단말 장치에 의해 요청된 콘텐츠의 비중이 높게 반영되어 x값이 도출된다.
이후 사용자 단말 장치(100)는, x의 값이 가장 큰 콘텐츠 또는 가장 작은 콘텐츠를 삭제한다(S1104). 만약 사용자 단말 장치(100) 자신이 요청한 횟수가 많은 콘텐츠를 삭제하지 않도록 정책을 수립하려는 경우, 가중치 β를 상대적으로 큰 값을 주어, 연산된 요청 횟수 x에 b의 비중이 높게 반영되도록 할 수 있다. 이러한 경우, x값이 클수록 다른 사용자 단말 장치에 의한 요청이 많았던 콘텐츠이므로, 요청 비율 x가 가장 큰 콘텐츠를 삭제할 수 있다. 반대로, 다른 자신이 요청한 횟수가 많은 콘텐츠를 삭제하도록 정책을 수립하는 경우, 요청 비율 x가 가장 작은 콘텐츠부터 우선적으로 삭제되도록 할 수 있다.
이에 더하여, 콘텐츠 요청 기록의 각 항목, 즉 요청 주체, 요청 횟수, 요청 시간, 용량 별로 별개의 가중치를 두어 연산을 수행하고, 그 결과값(인기도)를 기반으로 콘텐츠를 삭제하는 것도 가능하다. 만약 결과값을 y라 하면,
Figure 112016020876958-pat00002
와 같은 형태가 될 수 있다.
여기서 c는 콘텐츠의 요청 횟수, d는 콘텐츠의 최근 요청 시간과 현재 시간과의 차이값, e는 콘텐츠의 용량이 될 수 있다. 콘텐츠의 요청 횟수와 최근 요청 시간은 각각 도 11에 개시된 연산 과정을 거쳐, 요청 주체에 따른 가중치를 반영한 값일 수 있다. γ,δ,ε는 캐싱 정책에 따라 임의로 부여된 가중치가 된다.
이상으로, 본 발명의 실시 예에 따른 사용자 단말 장치(100)의 동작 과정을 흐름도를 통하여 설명하였다.
본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이 속하는 분야의 통상의 기술자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 청구범위에 의해 정하여져야 한다.
본 발명은, 무선 통신망을 위한 CDN에 적용 가능한 것으로서, 다양한 통신 시스템에서 콘텐츠 캐싱을 구현하기 위한 방법으로 산업상 이용할 수 있다.
본 발명에 따르면, 콘텐츠 캐싱 시 캐싱 교체를 수행함에 있어서, 가쉬핑을 이용하여 인접 사용자 단말 장치의 콘텐츠 요청을 수집하고, 콘텐츠의 요청 기록에 기반한 캐싱을 수행하여, 인기도가 높은 콘텐츠의 삭제를 줄이고 콘텐츠 전송의 혼잡도를 낮출 수 있다.
이러한 리액티브 캐싱을 통해 콘텐츠 캐싱 서비스 제공자는 혼잡한 콘텐츠 전송에 따른 콘텐츠 전송 서비스의 서비스 품질을 향상시킬 수 있으므로, 곧 서비스 산업의 발전에 이바지할 수 있으며, 더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100, 100a, 100b, 100c, 100d: 사용자 단말 장치
200: 로컬 캐싱 장치
300: 콘텐츠 제공 장치
400: 기지국
500: 통신망
600: CDN 제어 서버

Claims (12)

  1. 사용자 단말 장치에 의한 콘텐츠 캐싱 방법에 있어서,
    상기 사용자 단말 장치가 내부에서 발생한 콘텐츠 요청 및 상기 사용자 단말 장치와 통신 가능한 다른 사용자 단말 장치에 의해 발생하는 콘텐츠 요청을 수집하는 단계;
    상기 사용자 단말 장치가 상기 수집한 콘텐츠 요청에 기반하여, 콘텐츠 별로 콘텐츠 요청 기록을 저장하는 단계;
    상기 사용자 단말 장치가 콘텐츠를 수신하면, 상기 콘텐츠 요청 기록을 기반으로 상기 수신한 콘텐츠의 캐싱을 수행하는 단계;
    를 포함하는 콘텐츠 캐싱 방법.
  2. 제1항에 있어서,
    상기 다른 사용자 단말 장치는
    무선 통신이 가능한 거리 내에 위치하는 인접 사용자 단말 장치 또는 상기 인접 사용자 단말 장치를 통해서 통신할 수 있는 사용자 단말 장치를 포함하는 것을 특징으로 하는 콘텐츠 캐싱 방법.
  3. 제1항에 있어서,
    상기 콘텐츠 요청 기록은
    각 콘텐츠의 요청 횟수, 요청 시간, 콘텐츠 요청 주체 및 콘텐츠 용량 중 하나 이상을 포함하는 것을 특징으로 하는 콘텐츠 캐싱 방법.
  4. 제3항에 있어서,
    상기 캐싱을 수행하는 단계는,
    캐시의 잔여 용량을 상기 수신한 콘텐츠의 용량과 비교하는 단계;
    비교 결과, 캐시의 잔여 용량이 콘텐츠의 용량보다 작은 경우, 상기 캐시에 기 저장된 콘텐츠 중 어느 하나를 상기 콘텐츠 요청 기록에 기반하여 삭제하는 단계; 를 포함하는 것을 특징으로 하는 콘텐츠 캐싱 방법.
  5. 제1항에 있어서,
    상기 수신한 콘텐츠는,
    상기 사용자 단말 장치에 의해 요청된 콘텐츠 또는 상기 다른 사용자 단말 장치에서 요청되어 상기 사용자 단말 장치를 경유하는 콘텐츠인 것을 특징으로 하는 콘텐츠 캐싱 방법.
  6. 제4항에 있어서,
    상기 삭제하는 단계는,
    기 저장된 콘텐츠 중 요청 횟수가 가장 적은 콘텐츠를 삭제하는 것을 특징으로 하는 콘텐츠 캐싱 방법.
  7. 제4항에 있어서,
    상기 삭제하는 단계는,
    기 저장된 콘텐츠 중 최근 요청 시간과 현재 시간의 차이가 가장 큰 콘텐츠를 삭제하는 것을 특징으로 하는 콘텐츠 캐싱 방법.
  8. 제4항에 있어서,
    상기 삭제하는 단계는,
    기 저장된 콘텐츠 중 상기 콘텐츠 요청을 발생시킨 콘텐츠보다 용량이 큰 콘텐츠를 우선적으로 삭제하는 것을 특징으로 하는 콘텐츠 캐싱 방법.
  9. 제4항에 있어서,
    상기 삭제하는 단계는,
    상기 콘텐츠 요청 기록 중 상기 사용자 단말 장치에서의 요청 횟수와 상기 다른 사용자 단말 장치에서의 요청 횟수에 각각 서로 다른 가중치를 적용하여, 삭제할 콘텐츠를 결정하는 것을 특징으로 하는 콘텐츠 캐싱 방법.
  10. 제4항에 있어서,
    상기 삭제하는 단계는, 상기 캐시의 잔여 용량이 상기 수신한 콘텐츠의 용량 이상이 될 때까지 반복 수행되는 것을 특징으로 하는 콘텐츠 캐싱 방법.
  11. 제1항 내지 제10항 중 어느 하나의 항에 기재된 콘텐츠 캐싱 방법을 실행시키는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  12. 제1항 내지 제10항 중 어느 하나의 항에 기재된 콘텐츠 캐싱 방법을 실행시키도록 구현되어, 컴퓨터 판독 가능한 기록매체에 저장되는 컴퓨터 프로그램.
KR1020160025792A 2016-03-03 2016-03-03 D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체 KR102303776B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160025792A KR102303776B1 (ko) 2016-03-03 2016-03-03 D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160025792A KR102303776B1 (ko) 2016-03-03 2016-03-03 D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20170103255A KR20170103255A (ko) 2017-09-13
KR102303776B1 true KR102303776B1 (ko) 2021-09-17

Family

ID=59967637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160025792A KR102303776B1 (ko) 2016-03-03 2016-03-03 D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체

Country Status (1)

Country Link
KR (1) KR102303776B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102120660B1 (ko) * 2018-08-23 2020-06-10 동국대학교 산학협력단 이동성을 갖는 캐시를 활용한 콘텐츠 캐싱 방법
KR102077161B1 (ko) * 2018-10-26 2020-04-08 동국대학교 산학협력단 캐싱 네트워크를 이용한 콘텐츠 캐싱 방법 및 시스템
KR102127232B1 (ko) * 2018-10-26 2020-06-29 동국대학교 산학협력단 캐싱 네트워크를 이용한 콘텐츠 캐싱 방법 및 시스템
KR102170030B1 (ko) * 2018-11-26 2020-10-26 부경대학교 산학협력단 멀티캐스팅과 사용자 단말의 캐싱을 이용한 데이터 처리량 향상 방법 및 이를 이용한 시스템
CN110022547B (zh) * 2019-03-15 2020-04-14 北京邮电大学 一种d2d网络中缓存放置方法及装置
KR102188783B1 (ko) * 2019-08-09 2020-12-09 동국대학교 산학협력단 사물 인터넷 게이트웨이를 활용한 콘텐츠 캐싱 장치 및 방법
KR102444893B1 (ko) * 2019-12-16 2022-09-19 고려대학교산학협력단 무선 통신 시스템에서 단말 저장 장치를 이용한 컨텐츠 전달 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101645409B1 (ko) * 2012-12-12 2016-08-16 한국전자통신연구원 네트워크 트래픽 감소를 위한 캐싱 방법
KR101407934B1 (ko) * 2013-08-22 2014-06-17 에스케이텔레콤 주식회사 컨텐츠 전송 시스템, 이를 위한 방법 및 장치
KR101565353B1 (ko) * 2013-10-04 2015-11-03 주식회사 솔박스 컨텐츠 요청 기록과 요청 순위를 이용한 컨텐츠 캐싱 방법 및 이를 이용한 http 캐시 서버
KR20150080957A (ko) * 2013-12-31 2015-07-13 서울대학교산학협력단 컨텐츠 중심 네트워크에서 프리픽스 트리를 이용하여 예측된 컨텐츠 인기도에 기초하여 캐싱하는 방법
KR102270540B1 (ko) 2014-03-21 2021-06-29 삼성전자주식회사 기기간 통신을 위한 스케쥴링 방법 및 장치

Also Published As

Publication number Publication date
KR20170103255A (ko) 2017-09-13

Similar Documents

Publication Publication Date Title
KR102303776B1 (ko) D2d 기반의 콘텐츠 캐싱 방법, 이를 수행하는 컴퓨터 프로그램 및 프로그램을 기록한 기록매체
CN112205007B (zh) 利用启用层在5g网络中更好地利用资源的系统和方法
KR102259652B1 (ko) 멀티 패스 트랜스포트 제어 프로토콜을 지원하는 통신 네트워크에서 서비스 제공 장치 및 방법
US9390200B2 (en) Local caching device, system and method for providing content caching service
KR101541259B1 (ko) 캐시 데이터의 인기도 값을 동기화하기 위한 방법 및 장치, 및 분산 캐싱을 위한 방법, 장치 및 시스템
US8725128B2 (en) Pre-fetching of assets to user equipment
US9292441B2 (en) Cache synchronization system, cache synchronization method and apparatus thereof
KR101436049B1 (ko) 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR101670910B1 (ko) 콘텐츠 전달 네트워크들 및 사용자 장비들을 위한 효율적 캐시 선택
CN102917443A (zh) 网关选择及信息发送方法、装置及网络系统
US10028164B2 (en) Methods and devices for controlled data upload in mobile cellular networks
US9326187B2 (en) Content management delivery system (CMDS) facilitated local access system
KR101688835B1 (ko) 광대역 무선 접속 시스템에서 트래픽 오프로드를 위한 장치 및 방법
KR102358232B1 (ko) 무선 통신 시스템에서 초기 윈도우 값을 설정하는 방법 및 장치
US10645003B2 (en) Data packet transmission method, network side device, and user equipment
WO2014123527A1 (en) Local media loading adaptation
EP2997489B1 (en) Method and device for efficient mobile data transmission
KR101888982B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
KR102485601B1 (ko) 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치
KR101478029B1 (ko) 다중 통신망과 주변의 휴대 단말기를 이용한 휴대 단말기의 데이터 다운로드 및 업로드 방법
KR102188783B1 (ko) 사물 인터넷 게이트웨이를 활용한 콘텐츠 캐싱 장치 및 방법
EP3016436A1 (en) Apparatuses, Base Station Transceiver, Methods and Computer Programs for Providing Information related to an Assignment of one or more Mobile Transceivers to at least one out of two or more Base Station Transceivers of a Mobile Communication System
KR101971595B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US20170048347A1 (en) Method, apparatus and system for distributed cache reporting through probabilistic reconciliation
KR20140110508A (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