KR102367568B1 - 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법 - Google Patents

사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법 Download PDF

Info

Publication number
KR102367568B1
KR102367568B1 KR1020200174374A KR20200174374A KR102367568B1 KR 102367568 B1 KR102367568 B1 KR 102367568B1 KR 1020200174374 A KR1020200174374 A KR 1020200174374A KR 20200174374 A KR20200174374 A KR 20200174374A KR 102367568 B1 KR102367568 B1 KR 102367568B1
Authority
KR
South Korea
Prior art keywords
content
user
mec
clustering
mec server
Prior art date
Application number
KR1020200174374A
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 KR1020200174374A priority Critical patent/KR102367568B1/ko
Application granted granted Critical
Publication of KR102367568B1 publication Critical patent/KR102367568B1/ko

Links

Images

Classifications

    • H04L67/2823
    • H04L67/2833
    • H04L67/2842
    • H04L67/327
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 MEC(Multi-access Edge Computing) 환경 하에서 사용자의 컨텐츠 요청 정보를 기반으로 컨텐츠 소비 패턴을 분석하여 클러스터링(clustering)하고 캐싱(caching)함으로써 MEC 캐시(cache) 적중률(hit ratio)을 극대화하고, 지연 시간(latency)을 최소화하는, 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법이 개시된다.
개시된 사용자 유사도 기반 컨텐츠 분배 시스템은, 컨텐츠 제공이 필요한 적어도 하나 이상의 사용자 단말; 및 상기 하나 이상의 사용자 단말의 컨텐츠 요청 정보를 기반으로 컨텐츠 특성 정보에 따라 1차 클러스터링하고, 상기 컨텐츠의 사용 로그를 분석하여 사용자별 요청 컨텐츠의 반복도 및 다양성에 따라 2차 클러스터링하여 캐시(Cache)에 저장하는 MEC(Multi-access Edge Computing) 서버를 포함할 수 있다.

Description

사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법{Contents caching system in cooperative MEC based on user similarity, and method thereof}
본 발명은 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법에 관한 것으로서, 더욱 자세하게는 MEC(Multi-access Edge Computing) 환경 하에서 사용자의 컨텐츠 요청 정보를 기반으로 컨텐츠 소비 패턴을 분석하여 클러스터링(clustering)하고 캐싱(caching)함으로써 MEC 캐시(cache) 적중률(hit ratio)을 극대화하고, 지연 시간(latency)을 최소화하는, 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법에 관한 것이다.
최근 디바이스들의 성능이 크게 향상되었고 스마트폰의 사용 시간의 증가와 더불어 초고음질, 초고화질 스트리밍 서비스의 사용량과 사용시간이 폭발적으로 증가하였다. 또한 인터넷에 접속하는 모바일 디바이스의 양이 증가하고 있다.
이러한 통신 수요를 해결할 수 있는 기술로 5G가 주목받고 있다. 5G는 차세대 무선통신 기술로 초고속, 초저지연, 초연결을 특징으로 한다. 5G 서비스에 대한 사용자의 기대가 커지면서 사용자들의 서비스 지연시간에 대한 요구사항은 엄격해졌다. 하지만 현재 5G 망에서 사용하고 있는 C-RAN 방식은 모든 트래픽이 반드시 중앙 서버에 집결된 후 처리되는 형태로, 수많은 트래픽 요청들을 모두 중앙 서버에 집결시키는 과정에서 지연을 발생시켜 5G 서비스의 초저지연성 구현을 어렵게 한다.
이러한 이유로 MEC(Multi-access Edge Computing) 방식이 주목받게 되었다. MEC는 기지국에 설치되어 사용자와 보다 가까운 곳에서 서비스를 제공하므로 대역폭 절감, 보안 강화, 지연 저하, 에너지 절감 등의 효과를 가져올 수 있다.
MEC에 캐시(cache)를 설치하면 사용자가 사용할 수 있는 저장 공간의 확장 효과도 볼 수 있다. MEC 캐시를 이용해 사용자가 요청하는 VR/AR, 스트리밍과 같은 큰 용량을 가진 컨텐츠를 MEC 단에서 처리하여 중앙 서버로의 요청 없이 바로 제공할 수 있게 되는 것이다.
그 중에서도 비디오 컨텐츠를 MEC에 저장해 두는 것은 비디오 컨텐츠가 용량이 크고, 일부 컨텐츠에 대한 반복적인 요청이 이루어진다는 점에서 좋은 효율을 낼 수 있을 것으로 기대되고 있다. 특히 각 MEC의 캐시 용량이 제한적인 것을 보완하기 위하여 등장한 이웃한 MEC와의 공동 작업을 진행하는 환경인 협동(Cooperative) MEC에서의 비디오 캐싱을 통해 사용자가 속한 MEC 캐시에 존재하지 않는 컨텐츠를 전달받을 수 있다.
대한민국 공개특허공보 제10-2018-0112825호(공개일자 2018년10월12일)에는 MEC 애플리케이션의 재배치를 제어하기 위한 방법 및 서버가 기재되어 있다.
본 발명의 목적은, MEC 환경 하에서 사용자의 컨텐츠 요청 정보를 기반으로 컨텐츠 소비 패턴을 분석하여 클러스터링하고 캐싱함으로써 MEC 캐시 적중률을 극대화하고, 지연 시간을 최소화하는, 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법을 제공함에 있다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 시스템은, 컨텐츠 제공이 필요한 적어도 하나 이상의 사용자 단말; 및 상기 하나 이상의 사용자 단말의 컨텐츠 요청 정보를 기반으로 컨텐츠 특성 정보에 따라 1차 클러스터링하고, 상기 컨텐츠의 사용 로그를 분석하여 사용자별 요청 컨텐츠의 반복도 및 다양성에 따라 2차 클러스터링하여 캐시(Cache)에 저장하는 MEC(Multi-access Edge Computing) 서버를 포함할 수 있다.
상기 컨텐츠 특성 정보는, 상기 컨텐츠의 제작년도 및 상기 컨텐츠의 장르를 포함할 수 있다.
상기 MEC 서버는, 상기 컨텐츠의 장르에 대한 코사인 유사도(Cosine similarity) 연산을 통해 컨텐츠 간 유사도를 계산하고, 컨텐츠 간 유사도를 활용한 구상(Spherical) K-평균 클러스터링(k-means clustering)을 통하여 컨텐츠 클러스터링을 수행하고, 상기 컨텐츠 클러스터링의 결과를 활용한 컨텐츠 요청 다양성 및 반복도를 이용하여 사용자 클러스터링을 수행하고, 상기 컨텐츠 클러스터링 및 상기 사용자 클러스터링에 근거하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 컨텐츠 소비 패턴을 분석할 수 있다.
상기 MEC 서버는, 상기 사용자 클러스터링에 대하여 하이라키컬 클러스터링(Hierarchical Clustering)을 수행할 수 있다.
상기 하이라키컬 클러스터링은, 상기 컨텐츠 클러스터링 및 상기 사용자 클러스터링에 따라 생성된 각 클러스터의 크기에 비례하도록 상기 캐시를 분할하여 각 클러스터에 분배할 수 있다.
상기 하이라키컬 클러스터링은, 상기 MEC 서버를 이용하는 모든 사용자 단말의 요청 컨텐츠에 대한 클러스터 종류, 요청 반복도에 대한 값을 가지고 있는 하나의 클러스터로 지정되고, 각각의 클러스터가 가지고 있는 요청 컨텐츠에 대한 클러스터 종류, 요청 반복도 값에 대한 거리 계산을 통해 가장 가까운 두 개의 클러스터가 병합되는 과정을 반복하며, Minimax 방법을 통해 결정된 최적 군집의 수가 되면 클러스터 병합을 중지하며, 이러한 과정을 거쳐 최종 클러스터의 개수, 각 클러스터에 속한 사용자의 수가 정해질 수 있다.
상기 MEC 서버는, 상기 컨텐츠 클러스터링 및 상기 사용자 클러스터링에 근거하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 컨텐츠 소비 패턴을 분석한 결과, 소비 패턴이 유사하다고 판단되는 사용자 그룹을 사용자 유사도가 높은 그룹으로 설정할 수 있다.
상기 MEC 서버를 적어도 하나 이상으로 관리하는 기지국; 및 다양한 컨텐츠를 보유하고 있으며, 상기 기지국으로부터 요청받은 컨텐츠를 제공하는 데이터 센터를 더 포함할 수 있다.
상기 MEC 서버는, 상기 사용자 단말로부터 요청받은 컨텐츠가 상기 캐시에 없는 경우, 협동(Cooperative) MEC 환경으로 확장하여 상기 기지국을 통하여 상기 사용자 단말로부터 요청받은 컨텐츠를 보유하고 있는 MEC 서버로부터 전송받아 상기 사용자 단말에 제공할 수 있다.
그리고, 상기 기지국은, 상기 사용자 단말로부터 요청받은 컨텐츠가 상기 협동 MEC 환경에 있는 다른 MEC 서버들에도 없는 경우에 상기 데이터 센터로 요청하여, 상기 데이터 센터로부터 상기 사용자 단말로부터 요청받은 컨텐츠를 전송받아 상기 MEC 서버를 통해 상기 사용자 단말로 제공할 수 있다.
한편, 전술한 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 방법은, 적어도 하나 이상의 사용자 단말; 캐시가 구비된 MEC 서버; 하나 이상의 MEC 서버를 관리하는 기지국; 및 다양한 컨텐츠를 제공하는 데이터 센터를 포함하는 시스템의 사용자 유사도 기반 컨텐츠 분배 방법으로서, (a) 상기 MEC 서버가, 컨텐츠 장르 및 제작 년도에 따라 1차 컨텐츠 클러스터링을 수행하는 단계; (b) 상기 MEC 서버가, 상기 하나 이상의 사용자 단말의 컨텐츠 요청에 따른 반복성 및 다양성을 계산하는 단계; (c) 상기 MEC 서버가, 상기 계산된 반복성 및 다양성을 기반으로 사용자 유사도를 계산하는 단계; (d) 상기 MEC 서버가, 상기 계산된 사용자 유사도를 기반으로 2차 사용자 클러스터링을 수행하는 단계; (e) 상기 MEC 서버가, 클러스터의 사용자들 수에 비례하게 각 클러스터의 크기를 설정하고, 캐시를 해당 영역의 사용자 클러스터들의 수로 분할하는 단계; (f) 상기 MEC 서버가, 상기 해당 영역에 있는 상기 사용자 단말로부터 컨텐츠 요청을 수신하는 단계; (g) 상기 MEC 서버가, 상기 요청된 컨텐츠가 상기 캐시의 클러스터에 있는 경우, 상기 캐시 내에서 우선순위를 랭크하고 상기 사용자 단말로 제공하는 단계; (h) 상기 MEC 서버가, 요청된 컨텐츠와 제공된 컨텐츠 간의 불일치율(mismatch rate)을 계산하는 단계; (i) 상기 MEC 서버가, 상기 불일치율이 제한(Limit) 값 이상인 경우 상기 1차 컨텐츠 클러스터링을 다시 수행하는 단계; 및 (j) 상기 MEC 서버가, 상기 요청된 컨텐츠가 협동 MEC 캐시에도 없는 경우 상기 데이터 센터로부터 가져와 상기 사용자 단말로 제공하는 단계를 포함할 수 있다.
상기 (a) 단계에서 상기 MEC 서버는, 상기 컨텐츠 장르에 대한 코사인 유사도(Cosine similarity) 연산을 통해 컨텐츠 간 유사도를 계산하고, 컨텐츠 간 유사도를 활용한 구상(Spherical) K-평균 클러스터링(k-means clustering)을 통하여 상기 1차 컨텐츠 클러스터링을 수행하고, 상기 (d) 단계에서 상기 MEC 서버는, 상기 1차 컨텐츠 클러스터링의 결과를 활용한 컨텐츠 요청 다양성 및 반복도를 이용하여 2차 사용자 클러스터링을 수행할 수 있다.
상기 (e) 단계에서 상기 MEC 서버는, 각 클러스터에 들어있는 컨텐츠의 크기에 비례하게 가변적으로 캐시의 크기를 할당하여 상기 캐시를 분할할 수 있다.
상기 (e) 단계에서 상기 MEC 서버는, 각각의 클러스터가 가지고 있는 요청 컨텐츠에 대한 클러스터 종류, 요청 반복도 값에 대한 거리 계산을 통해 가장 가까운 두 개의 클러스터를 병합하는 과정을 반복하며, Minimax 방법을 통해 클러스터의 개수를 결정할 수 있다.
상기 (j) 단계에서 상기 MEC 서버는, 상기 요청된 컨텐츠에 대한 상기 캐시 내 우선순위를 랭크하고 상기 사용자 단말로 제공할 수 있다.
본 발명에 의하면, 사용자의 컨텐츠 요청 정보를 기반으로 컨텐츠 소비 패턴을 분석하여 컨텐츠를 클러스터링하고 MEC 캐시에 저장함으로써, MEC 캐시 적중률을 극대화하고, 지연 시간을 최소화 할 수 있다. 여기서, 적중률은 사용자의 컨텐츠 요청 중 데이터 센터로의 접근 없이 컨텐츠를 제공할 수 있는 비율을 의미한다. 그리고 지연 시간은 사용자의 컨텐츠 요청이 발생한 후부터 사용자에게 컨텐츠가 제공되는 시간을 의미한다.
또한, 사용자를 중심으로 캐시를 분배하여 효율적인 MEC 캐싱을 구성할 수 있고, 캐시의 구성에 중복이 심하지 않아 다양한 컨텐츠를 캐시에 저장할 수 있다.
또한, MEC가 가진 캐시 크기의 한계를 보완할 수 있다.
또한, 사용자 요청 정보의 기준으로 콘텐츠 요청 빈도/ 요청 콘텐츠 다양성에 따라 컨텐츠를 활용하는 방안을 Cooperative MEC 환경으로 확장할 수 있다. 따라서, Cooperative MEC 환경에서 MEC 캐시를 나누어 사용할 수 있다.
또한, 여러 지역을 기반으로 하기 때문에 캐시 치우침 현상이 발생할 가능성을 낮출 수 있으며, Cooperative MEC 지역 내에서의 이동이 가능하다.
또한, 컨텐츠의 클러스터링에 따라 캐시를 분배하여 사용함으로써 중요 컨텐츠가 쉽게 삭제되는 것을 방지하고, 컨텐츠 유행의 흐름을 캐시에 반영할 수 있으며, 사용자의 컨텐츠 소비 형태를 반영하여 제공하기 때문에 캐시의 효율적인 관리가 가능해지는 효과가 있다.
도 1은 본 발명의 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 실시예에 따른 협동 MEC 환경이 적용된 사용자 유사도 기반 컨텐츠 분배 시스템을 개략적으로 나타낸 구성도이다.
도 3은 본 발명의 실시예에 따른 MEC 서버에서 유사성에 중점을 두고 클러스터링을 수행한 클러스터들을 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 NEC 서버에서 캐시를 분할하는 예를 나타낸 도면이다.
도 5 및 도 6은 본 발명의 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 방법을 나타낸 동작 흐름도이다.
도 7은 본 발명의 실시예에 따른 MEC 서버의 캐시 크기 변화에 따른 적중률과 시간지연을 나타낸 도면이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우 뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
어느 부분이 다른 부분의 "위에" 있다고 언급하는 경우, 이는 바로 다른 부분의 위에 있을 수 있거나 그 사이에 다른 부분이 수반될 수 있다. 대조적으로 어느 부분이 다른 부분의 "바로 위에" 있다고 언급하는 경우, 그 사이에 다른 부분이 수반되지 않는다.
제1, 제2 및 제3 등의 용어들은 다양한 부분, 성분, 영역, 층 및/또는 섹션들을 설명하기 위해 사용되나 이들에 한정되지 않는다. 이들 용어들은 어느 부분, 성분, 영역, 층 또는 섹션을 다른 부분, 성분, 영역, 층 또는 섹션과 구별하기 위해서만 사용된다. 따라서, 이하에서 서술하는 제1 부분, 성분, 영역, 층 또는 섹션은 본 발명의 범위를 벗어나지 않는 범위 내에서 제2 부분, 성분, 영역, 층 또는 섹션으로 언급될 수 있다.
여기서 사용되는 전문 용어는 단지 특정 실시예를 언급하기 위한 것이며, 본 발명을 한정하는 것을 의도하지 않는다. 여기서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서에서 사용되는 "포함하는"의 의미는 특정 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분을 구체화하며, 다른 특성, 영역, 정수, 단계, 동작, 요소 및/또는 성분의 존재나 부가를 제외시키는 것은 아니다.
"아래", "위" 등의 상대적인 공간을 나타내는 용어는 도면에서 도시된 한 부분의 다른 부분에 대한 관계를 보다 쉽게 설명하기 위해 사용될 수 있다. 이러한 용어들은 도면에서 의도한 의미와 함께 사용 중인 장치의 다른 의미나 동작을 포함하도록 의도된다. 예를 들면, 도면 중의 장치를 뒤집으면, 다른 부분들의 "아래"에 있는 것으로 설명된 어느 부분들은 다른 부분들의 "위"에 있는 것으로 설명된다. 따라서 "아래"라는 예시적인 용어는 위와 아래 방향을 전부 포함한다. 장치는 90˚ 회전 또는 다른 각도로 회전할 수 있고, 상대적인 공간을 나타내는 용어도 이에 따라서 해석된다.
다르게 정의하지는 않았지만, 여기에 사용되는 기술용어 및 과학용어를 포함하는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 의미와 동일한 의미를 가진다. 보통 사용되는 사전에 정의된 용어들은 관련 기술문헌과 현재 개시된 내용에 부합하는 의미를 가지는 것으로 추가 해석되고, 정의되지 않는 한 이상적이거나 매우 공식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
도 1은 본 발명의 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 시스템(100)은, 적어도 하나 이상의 사용자 단말(User Terminal; 110), 적어도 하나 이상의 MEC(Multi-access Edge Computing) 서버(Server)(120), 기지국(Base Station; 130), 및 데이터 센터(Data Center; 140) 등을 포함할 수 있다.
본 발명에 따른 사용자 유사도 기반 컨텐츠 분배 시스템(100)은 MEC 환경에 적용될 수 있다.
MEC는 중앙화된 클라우드 대신에 각각의 네트워크 엣지에서 컴퓨팅을 수행함으로써 클라우드의 부하를 감소시키고 데이터 처리 시간을 단축시킬 수 있는 네트워크 환경을 제공한다. MEC는 네트워크 엣지에 해당하는 적어도 하나 이상의 MEC 서버(120)를 포함할 수 있으며, 이러한 MEC 서버(120)에 할당된 영역 내에 위치한 사용자 단말(110)과 데이터를 주고받을 수 있다.
또한, MEC는 말단(End-user) 사용자 단말(110)과 가까이 위치하는 기지국(130)의 컴퓨팅 또는 스토리지 자원에 서비스 또는 컨텐츠를 배치하여 종단간(End-to-End) 전송의 지연을 줄이고 백홀 트래픽(Backhaul Traffic)을 분산시킬 수 있다.
또한, MEC는 각 기지국(130)의 컴퓨팅, 스토리지 자원이 MEC 서버(120)와 같이 엣지 서버(edge-server) 형태로 운용된다. 엣지 서버인 MEC 서버(120)가 말단 사용자 단말(110)에 가까이 위치한 만큼 지역에 특화된 서비스 제공이 가능하고 기지국(130)의 특성을 그대로 살려 각 서비스에 대한 이동성을 지원할 수 있다.
또한, 각 기지국(130)의 MEC 서버(120)들은 백홀 네트워크(Backhaul Network)를 거치지 않고 네트워크 혼잡(congestion) 없는 통신 및 협업이 가능하기 때문에 서비스 제공에 있어 더욱 향상된 성능과 유연성을 제공할 수 있다.
사용자 단말(110)은 컨텐츠 제공이 필요한 장치나 기기를 의미한다. 예를 들면, 자율 주행 차량에 설치된 장치(단말) 또는 사용자가 휴대하는 스마트폰 등이 될 수 있다.
MEC 서버(120)는 하나 이상의 사용자 단말(110)의 컨텐츠 요청 정보를 기반으로 컨텐츠 특성 정보에 따라 1차 클러스터링하고, 컨텐츠의 사용 로그를 분석하여 사용자별 요청 컨텐츠의 반복도 및 다양성에 따라 2차 클러스터링하여 캐시(Cache)에 저장할 수 있다.
이때, 컨텐츠 특성 정보는, 예를 들면, 컨텐츠의 제작 년도 및 컨텐츠의 장르를 포함할 수 있다.
기지국(130)은 적어도 하나 이상의 MEC 서버(120)를 관리할 수 있다. 기지국(130)은 각 MEC 서버(120)가 보유하고 있는 컨텐츠의 장르, 개수 등에 대한 정보를 각 MEC 서버(120)와 통신하여 관리할 수 있다.
데이터 센터(140)는 다양한 컨텐츠를 보유하고 있으며, 기지국(130)으로부터 요청받은 컨텐츠를 제공할 수 있다.
MEC 서버(120)는, 컨텐츠의 장르에 대한 코사인 유사도(Cosine similarity) 연산을 통해 컨텐츠 간 유사도를 계산하고, 컨텐츠 간 유사도를 활용한 구상(Spherical) K-평균 클러스터링(k-means clustering)을 통하여 컨텐츠 클러스터링을 수행하고, 컨텐츠 클러스터링의 결과를 활용한 컨텐츠 요청 다양성 및 반복도를 이용하여 사용자 클러스터링을 수행하고, 컨텐츠 클러스터링 및 사용자 클러스터링에 근거하여 사용자 단말이 요청하는 컨텐츠에 대한 컨텐츠 소비 패턴을 분석할 수 있다.
MEC 서버(120)는, 사용자 클러스터링에 대하여 하이라키컬 클러스터링(Hierarchical Clustering)을 수행할 수 있다.
이때, 하이라키컬 클러스터링은, 1차 컨텐츠 클러스터링 및 2차 사용자 클러스터링에 따라 생성된 각 클러스터의 크기에 비례하도록 상기 캐시를 분할하여 각 클러스터에 분배할 수 있다.
또한, 하이라키컬 클러스터링은, MEC 서버를 이용하는 모든 사용자 단말의 요청 컨텐츠에 대한 클러스터 종류, 요청 반복도에 대한 값을 가지고 있는 하나의 클러스터로 지정되고, 각각의 클러스터가 가지고 있는 요청 컨텐츠에 대한 클러스터 종류, 요청 반복도 값에 대한 거리 계산을 통해 가장 가까운 두 개의 클러스터가 병합되는 과정을 반복하며, Minimax 방법을 통해 결정된 최적 군집의 수가 되면 클러스터 병합을 중지하며, 이러한 과정을 거쳐 최종 클러스터의 개수, 각 클러스터에 속한 사용자의 수가 정해질 수 있다.
MEC 서버(120)는, 1차 컨텐츠 클러스터링 및 2차 사용자 클러스터링에 근거하여 사용자 단말(110)이 요청하는 컨텐츠에 대한 컨텐츠 소비 패턴을 분석한 결과, 소비 패턴이 유사하다고 판단되는 사용자 그룹을 사용자 유사도가 높은 그룹으로 설정할 수 있다.
MEC 서버(120)는, 사용자 단말(110)로부터 요청받은 컨텐츠가 자신의 캐시에 없는 경우, 협동(Cooperative) MEC 환경으로 확장하여 기지국(130)을 통하여 사용자 단말(110)로부터 요청받은 컨텐츠를 보유하고 있는 MEC 서버(120)로부터 전송받아 사용자 단말(110)에 제공할 수 있다.
기지국(130)은, 사용자 단말(110)로부터 요청받은 컨텐츠가 협동 MEC 환경에 있는 다른 MEC 서버들에도 없는 경우에 데이터 센터(140)로 요청하여, 데이터 센터(140)로부터 사용자 단말에 의해 요청된 컨텐츠를 전송받아 MEC 서버(120)를 통해 사용자 단말(110)로 제공할 수 있다.
한편, 데이터 센터(140)는 컨텐츠를 이용하는 다양한 사용자들의 집합인 컨텐츠 뷰어(contents viewer)에 대한 데이터 셋(dataset)을 수집하고, 수집한 데이터 셋을 이용하여 MEC 서버(120)에 할당된 영역 내의 사용자 단말(110)로부터 컨텐츠가 요청될 확률과 컨텐츠의 예측 등급(rating)을 포함하는 예측값(이하, 제1 예측값)을 생성하고, 생성된 제1 예측값을 MEC 서버(120)에 전달할 수 있다. 여기서, 데이터 셋은 컨텐츠 뷰어의 연령, 성별, 위치, 컨텐츠 등급 및 컨텐츠 타입 중 적어도 어느 하나를 포함하는 것으로서, 데이터 셋 공급자(dataset providers)로부터 수집된 것일 수 있다.
도 2는 본 발명의 실시예에 따른 협동 MEC 환경이 적용된 사용자 유사도 기반 컨텐츠 분배 시스템을 개략적으로 나타낸 구성도이다.
도 2를 참조하면, 본 발명의 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 시스템(100)은, 하나의 기지국(130)에 대하여 제1 MEC 서버(MEC 1), 제2 MEC 서버(MEC 2) 및 제3 MEC 서버(MEC 3)들이 각각 무선링크(Wireless Link)를 통해 통신할 수 있다.
제1 영역(Region 1)에는 제1 MEC 서버(MEC 1)가 배치되고, 제2 영역(Region 2)에는 제2 MEC 서버(MEC 2)가 배치되며, 제3 영역(Region 3)에는 제3 MEC 서버(MEC 3)가 배치될 수 있다.
제1 MEC 서버(MEC 1)는 제1 영역(Region 1)에 위치한 다수의 사용자 단말과 통신하고, 제2 MEC 서버(MEC 2)는 제2 영역(Region 2)에 위치한 다수의 사용자 단말과 통신하고, 제3 MEC 서버(MEC 3)는 제3 영역(Region 3)에 위치한 다수의 사용자 단말과 통신할 수 있다.
여기서, 기지국(130)은 제1 MEC 서버(MEC 1), 제2 MEC 서버(MEC 2) 및 제3 MEC 서버(MEC 3)들이 각 캐시에 보유하고 있는 컨텐츠 정보를 가질 수 있다.
이에, 제1 MEC 서버(MEC 1)에서 관리하는 사용자 단말 중 제1 사용자 단말(110)이 어떤 특정 컨텐츠를 요청하였을 때, 제1 MEC 서버(MEC 1)의 캐시에 해당 컨텐츠가 없는 경우, 제1 MEC 서버(MEC 1)는 기지국(130)으로 요청 컨텐츠를 문의하고, 기지국(130)은 제2 MEC 서버(MEC 2) 및 제3 MEC 서버(MEC 3)로 요청 컨텐츠를 문의할 수 있다.
따라서, 제2 MEC 서버(MEC 2)는 요청 컨텐츠를 가지고 있지 않고, 제3 MEC 서버(MEC 3)가 요청 컨텐츠를 가지고 있는 경우, 제3 MEC 서버(MEC 3)가 기지국(130)으로 답변하고 해당 요청 컨텐츠를 기지국(130)으로 전송하면, 기지국(130)은 해당 요청 컨텐츠를 제1 MEC 서버(MEC 1)로 전달해 줌으로써 제1 MEC 서버(MEC 1)는 해당 요청 컨텐츠를 제1 사용자 단말(110)로 제공할 수 있게 되는 것이다.
도 3은 본 발명의 실시예에 따른 MEC 서버에서 유사성에 중점을 두고 클러스터링을 수행한 클러스터들을 나타낸 도면이다.
도 3을 참조하면, 본 발명의 실시예에 따른 MEC 서버(120)는, 사용자 단말(110)로부터의 컨텐츠 요청 유형에 따라, 예를 들면, 노래를 요청하는 다른 청취 습관을 가진 사용자 클러스터에 대하여, 제1 클러스터(Cluster 01), 제2 클러스터(Cluster 02), 제3 클러스터(Cluster 03) 등으로 클러스터링 할 수 있다.
제1 클러스터(Cluster 01)는 예를 들면, 많은 노래를 반복하는 습관들(Habits of many song repetitions)을 가진 사용자 클러스터일 수 있다.
제2 클러스터(Cluster 02)는 예를 들면, 노래를 거의 반복하지 않는 습관들(Habits of few song repetitions)을 가진 사용자 클러스터일 수 있다.
제3 클러스터(Cluster 03)는 예를 들면, 무작위 습관들(Random habits)을 가진 사용자 클러스터일 수 있다.
사용자 단말(110)의 컨텐츠 요청이 제1 클러스터(Cluster 01)에 해당하는 경우에는 MEC 서버(120)가 캐시에 보유하고 있지 않아 컨텐츠 서버(Music Server)로부터 전송받아 제공함에 따라 컨텐츠 요청(Music request)이 컨텐츠 서버에 의해 충족될 수 있다.
사용자 단말(110)의 컨텐츠 요청이 제3 클러스터(Cluster 03)에 해당하는 경우에는 MEC 서버(120)가 캐시에 보유하고 있어 컨텐츠 요청(Music request)이 네트워크 캐시(network cache)에 의해 충족될 수 있다.
도 4는 본 발명의 실시예에 따른 NEC 서버에서 캐시를 분할하는 예를 나타낸 도면이다.
도 4를 참조하면, 본 발명의 실시예에 따른 NEC 서버(120)는, 사용자 요청 컨텐츠를 저장하는 엣지 캐시 스토리지(Edge cache storage)를 구비하고 있으며, 사용자 클러스터의 크기(size) 및 수(number)에 따라 분할하여 관리할 수 있다.
이때, 클러스터 스토리지 크기(Cluster storage size)는 다음 수학식1과 같이, 캐시 크기(Cache size)와 클러스터당 사용자들(users per cluster)을 곱한 값을 사용자들의 수(number of users)로 나눈 값에 비례할 수 있다.
Figure 112020135411124-pat00001
즉, NEC 서버(120)는 엣지 캐시 스토리지에 대하여 사용자 클러스터들의 수와 크기에 따라 분할하여 관리할 수 있다. 이는 사용자 유사성(user similarities)이 빠르게 변하지 않기 때문에 모든 요청에 대해 캐시를 분할할 필요가 없기 때문이다.
예를 들면, 도 4에 도시된 바와 같이, 기지국(130)을 통해 NEC 서버(120)가 관할(coverage)하는 영역(region)에 제1 사용자 단말(111)은 3대, 제2 사용자 단말(112)은 2대, 제3 사용자 단말(113)은 3대, 제4 사용자 단말(114)은 4대가 위치해 있다.
따라서, NEC 서버(120)는 엣지 캐시 스토리지에 대하여, 제2 사용자 단말(112)이 제일 작은 2대이므로 제일 작은 크기로 할당하고, 다음으로 제1 사용자 단말(111)과 제3 사용자 단말(113)이 3대이므로 그 다음 크기로 할당하며, 제4 사용자 단말(114)은 4대이므로 가장 큰 크기로 할당하는 것이다.
도 5 및 도 6은 본 발명의 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 방법을 나타낸 동작 흐름도이다.
도 1 내지 도 6을 참조하면, 본 발명의 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 시스템(100)에서, MEC 서버(120)는 컨텐츠 특성 정보, 예를 들면, 컨텐츠 장르 및 제작 년도에 따라 1차 컨텐츠 클러스터링을 수행한다(S501).
이때, MEC 서버(120)는, 컨텐츠 장르에 대한 코사인 유사도(Cosine similarity) 연산을 통해 컨텐츠 간 유사도를 계산하고, 컨텐츠 간 유사도를 활용한 구상(Spherical) K-평균 클러스터링(k-means clustering)을 통하여 1차 컨텐츠 클러스터링을 수행할 수 있다.
여기서, k-means 알고리즘은 입력 데이터를 k개의 클러스터로 묶는 알고리즘으로서, 각 클러스터의 거리 차이의 분산을 최소화하도록 그룹핑할 수 있다. 또한, MEC 서버(120)는 바이너리 분류를 사용할 수 있는데, 바이너리 분류는 특정 분류 규칙에 의하여 입력 데이터를 두 그룹으로 그룹핑하는 알고리즘이다.
또한, 제작 년도에 따라 클러스터링함으로써 최근 유행 컨텐츠를 저장하여 유행에 민감하게 반응하는 캐시를 구성하거나 컨텐츠를 제공할 수 있다.
이어, MEC 서버(120)는 하나 이상의 사용자 단말(110)의 컨텐츠 요청에 따른 반복성 및 다양성을 계산한다(S502).
여기서, 반복성은 가장 많이 사용하는 컨텐츠에 대한 것이고, 다양성은 얼마나 많은 장르의 다양한 컨텐츠에 대한 것일 수 있다. 자주 요청된 컨텐츠별로 클러스터링함으로써 자주 요청되지 않아 삭제가 필요한 컨텐츠를 클러스터링할 수 있다.
이어, MEC 서버(120)는 계산된 반복성 및 다양성을 기반으로 사용자 유사도를 계산한다(S503).
이어, MEC 서버(120)는 계산된 사용자 유사도를 기반으로 2차 사용자 클러스터링을 수행한다(S504).
이때, MEC 서버(120)는, 1차 컨텐츠 클러스터링의 결과를 활용한 컨텐츠 요청 다양성 및 반복도를 이용하여 2차 사용자 클러스터링을 수행할 수 있다.
이어, MEC 서버(120)는 클러스터의 사용자들 수에 비례하게 각 클러스터의 크기를 설정하고, 해당 영역의 사용자 클러스터들의 수로 캐시를 분할한다(S505).
즉, MEC 서버(120)는, 각 클러스터에 들어있는 컨텐츠의 크기에 비례하게 가변적으로 캐시(Ck)의 크기를 할당하여 캐시를 분할할 수 있다.
또한, MEC 서버(120)는, 각각의 클러스터가 가지고 있는 요청 컨텐츠(contents request r)에 대한 클러스터 종류, 요청 반복도 값에 대한 거리 계산을 통해 가장 가까운 두 개의 클러스터를 병합하는 과정을 반복하며, Minimax 방법을 통해 클러스터의 개수를 결정할 수 있다. Minimax 방법은 적절한 클러스터의 개수를 결정하기 위하여, 게임 이론 등에서 발생 가능한 손실을 최소화하고자 하는 개념으로 주로 사용되고 있다. 이를 본 발명에 적용 시 초기 클러스터의 개수를 지정하지 않을 수 있으며, 가장 효율적인 클러스터의 개수를 유동적으로 지정할 수 있다는 장점이 있다. 또한, 위 방법을 통해 결정된 클러스터의 개수를 k-means 클러스터링의 최종 클러스터 개수로 지정할 수 있다.
이어, MEC 서버(120)는 해당 영역에 있는 사용자 단말(110)로부터 컨텐츠 요청을 수신한다(S506).
이어, MEC 서버(120)는 요청된 컨텐츠(requested r)가 자신의 캐시의 클러스터에 있는 경우(r is in
Figure 112020135411124-pat00002
), 캐시 내에서 우선순위를 랭크하고 사용자 단말(110)로 제공한다(S507).
이때, 사용자 단말(110)이 요청한 컨텐츠가 MEC 서버(120)의 캐시 내에 존재하지 않을 경우, MEC 서버(120)는 같은 Cooperative MEC에 속한 다른 MEC 서버의 캐시를 먼저 확인한다.
이어, MEC 서버(120)는 요청된 컨텐츠와 제공된 컨텐츠 간의 불일치율(mismatch rate; mrate)을 계산한다(S508).
이어, MEC 서버(120)는 불일치율이 제한(Limit) 값 이상인 경우(mrate≥Limit), 1차 컨텐츠 클러스터링을 다시 수행(reclustering)한다(S509).
여기서, 불일치율이 제한 값 미만인 경우는, MEC 서버(120)가 사용자 단말(110)이 요청한 컨텐츠를 제때에 적절하게 잘 공급해 주는 것을 의미한다.
MEC 서버(120)는 요청 컨텐츠가 Cooperative MEC에 속한 다른 MEC 서버의 캐시에 저장되어 있을 경우 협동 MEC를 통하여 해당 컨텐츠를 사용자 단말(110)로 제공한다.
이어, MEC 서버(120)는 요청된 컨텐츠가 협동 MEC 캐시에도 없는 경우 데이터 센터(140)로부터 요청 컨텐츠를 가져와 사용자 단말(110)로 제공한다(S510).
이때, MEC 서버(120)는 요청된 컨텐츠에 대한 캐시 내 우선순위를 랭크하고 사용자 단말(110)로 제공할 수 있다.
본 발명의 실시예에서 Cooperative MEC 내 사용자는 사용자들의 MEC 내 유입, 유출에 있어 자유롭다.
본 발명의 실시예에서 사용자 기반 컨텐츠 캐싱의 경우 사용자의 요청 컨텐츠는 계속해서 변화하나 사용자가 컨텐츠를 소비하는 패턴은 쉽게 변하지 않기 때문에 다른 방법에 비하여 클러스터링 재구성의 필요성이 낮아 효율성이 좋다. 하지만 클러스터 간 크기의 편차가 심해지거나, Cooperative MEC에 대한 요청 의존도가 높아질 경우 클러스터를 재구성할 수 있다.
본 발명의 실시예에서는 사용자 유사도 기반 컨텐츠 분배 방법의 설명을 위한 변수들을 다음 표 1과 같이 정의하여 사용하였다.
변수 설명
Mk Mk는 영역 k를 담당하는 MEC를 나타냄
CM 인근 MEC들로 구성된 협동 MEC
(
Figure 112020135411124-pat00003
)
Ck Ck 는 Mk 의 캐시,
Ck 는 j개의 하위 클러스터
Figure 112020135411124-pat00004
로 나뉜다
Figure 112020135411124-pat00005
Limit 요청된 MEC와 컨텐츠들이 제공된 MEC 간의 불일치율 제한
본 발명의 실시예에서는 MEC 컨텐츠 캐싱 환경에서 캐시 교체 정책의 변화에 따른 요청 데이터 적중률(hit ratio)과 지연 시간(latency)을 측정하기 위하여 Python 기반의 시뮬레이터를 구성하여 활용하였다.
본 발명의 실시예에 따른 실험에 사용된 데이터셋은 MovieLens 데이터셋으로, 해당 데이터셋은 138,493명의 사용자의 27,278편의 영화에 대한 약 20년간의 시청 기록으로 이루어져 있다.
본 발명의 실시예에서는 해당 데이터셋의 사용자 중 7,800명의 사용자의 영화 요청 기록을 사용하여 분석하였다.
본 발명의 실시예에서 각 MEC의 서비스 범위 내 사용자의 수는 평균 1,300명으로 6개의 MEC에 골고루 분포되어 있다고 가정하였다. 사용자의 컨텐츠 요청은 MovieLens 데이터셋에서 제공하는 사용자의 컨텐츠 요청 기록을 사용하였다. MEC 캐시의 크기는 사용자의 전체 컨텐츠 요청 대비 2% ~ 10%이다. 컨텐츠는 모두 같은 크기로 나누어져 있다고 가정하였다.
본 발명의 실시예에서는 MEC 서버(120)를 소형 기지국(130)에 설치한다고 가정하였고, MEC 서버(120)가 담당하는 구역은 소형 기지국(130)이 담당하고 있는 구역과 같다고 가정하였다.
본 발명의 실시예에서 6 개의 소형 기지국(130)은 Cooperative MEC로 서로 연결되어 서로의 캐시 내역에 대해 알고 있다고 가정하였다.
본 발명의 실시예에 따른 MEC 서버(120)의 캐시에는 사용자가 요청한 영화 데이터가 같은 크기로 분할되어 저장되며, 실험은 본 발명의 실시예에서 제시한 사용자 유사도 기반 분배 기법과 Cooperative MEC 내 사용자 중심 네트워크 분배 기법, 그리고 LFU, SLRU으로 진행하였다.
본 발명의 실시예에 따른 실험 내 적중률은 사용자 단말(110)의 컨텐츠 요청 중 데이터 센터(140)로의 접근 없이 컨텐츠를 제공할 수 있었던 비율을 뜻한다. 그리고 지연 시간은 사용자의 컨텐츠 요청이 발생한 후부터 사용자에게 컨텐츠가 제공되는 시간을 뜻한다.
본 발명의 실시예에 따른 MEC 서버(120)의 캐시 크기가 사용자 요청량에 따라 변화할 때의 적중률과 지연시간은 도 7과 같이 나타날 수 있다. 도 7은 본 발명의 실시예에 따른 MEC 서버의 캐시 크기 변화에 따른 적중률과 시간지연을 나타낸 도면이다. 도 7에 도시된 바와 같이, Cooperative MEC 내 사용자 유사도 기반 분배 방법은 사용자 유사도 기반 분배 방법에 비하여 최대 약 26% 높은 적중률과 약 20% 이상 감소된 지연 시간을 보였다.
본 발명의 실시예에 따른 사용자 유사도 기반 컨텐츠 분배 방법은, LFU에 비하여 최대 약 38% 높은 적중률과 약 30% 이상 감소된 지연시간을 보였으며, SLRU에 비하여 적중률 약 33% 향상과 지연시간을 약 26%가량 감소시켰음을 알 수 있다. 이는 사용자 기반 분배 방법이 사용자가 컨텐츠 소비 형태로 MEC 내 클러스터를 나누어 사용하기 때문에, 클러스터 내 중요 컨텐츠가 쉽게 삭제되지 않으며, 클러스터 내 사용자의 컨텐츠 유행이 캐시에 반영되어 컨텐츠 호출 횟수로 캐시를 구성하는 LFU, SLRU에 비하여 높은 효율을 보였음을 알 수 있다.
전술한 바와 같이 본 발명에 의하면, MEC 환경 하에서 사용자의 컨텐츠 요청 정보를 기반으로 컨텐츠 소비 패턴을 분석하여 클러스터링하고 캐싱함으로써 MEC 캐시 적중률을 극대화하고, 지연 시간을 최소화하는, 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법을 실현할 수 있다.
본 발명이 속하는 기술 분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100 : 사용자 유사도 기반 컨텐츠 분배 시스템
110 : 사용자 단말
120 : MEC 서버
130 : 기지국
140 : 데이터 센터

Claims (15)

  1. 컨텐츠 제공이 필요한 적어도 하나 이상의 사용자 단말;
    상기 하나 이상의 사용자 단말의 컨텐츠 요청 정보를 기반으로 컨텐츠 특성 정보에 따라 1차 클러스터링하고, 상기 컨텐츠의 사용 로그를 분석하여 사용자별 요청 컨텐츠의 반복도 및 다양성에 따라 2차 클러스터링하여 캐시(Cache)에 저장하는 MEC(Multi-access Edge Computing) 서버;
    상기 MEC 서버를 적어도 하나 이상으로 관리하는 기지국; 및
    다양한 컨텐츠를 보유하고 있으며, 상기 기지국으로부터 요청받은 컨텐츠를 제공하는 데이터 센터를 포함하고,
    상기 MEC 서버는, 상기 사용자 단말로부터 요청받은 컨텐츠가 상기 캐시에 없는 경우, 협동(Cooperative) MEC 환경으로 확장하여 상기 기지국을 통하여 상기 사용자 단말로부터 요청받은 컨텐츠를 보유하고 있는 MEC 서버로부터 전송받아 상기 사용자 단말에 제공하는, 사용자 유사도 기반 컨텐츠 분배 시스템.
  2. 제 1 항에 있어서,
    상기 컨텐츠 특성 정보는, 상기 컨텐츠의 제작년도 및 상기 컨텐츠의 장르를 포함하는, 사용자 유사도 기반 컨텐츠 분배 시스템.
  3. 제 2 항에 있어서,
    상기 MEC 서버는, 상기 컨텐츠의 장르에 대한 코사인 유사도(Cosine similarity) 연산을 통해 컨텐츠 간 유사도를 계산하고, 컨텐츠 간 유사도를 활용한 구상(Spherical) K-평균 클러스터링(k-means clustering)을 통하여 컨텐츠 클러스터링을 수행하고, 상기 컨텐츠 클러스터링의 결과를 활용한 컨텐츠 요청 다양성 및 반복도를 이용하여 사용자 클러스터링을 수행하고, 상기 컨텐츠 클러스터링 및 상기 사용자 클러스터링에 근거하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 컨텐츠 소비 패턴을 분석하는, 사용자 유사도 기반 컨텐츠 분배 시스템.
  4. 제 3 항에 있어서,
    상기 MEC 서버는, 상기 사용자 클러스터링에 대하여 하이라키컬 클러스터링(Hierarchical Clustering)을 수행하는, 사용자 유사도 기반 컨텐츠 분배 시스템.
  5. 제 4 항에 있어서,
    상기 하이라키컬 클러스터링은, 상기 컨텐츠 클러스터링 및 상기 사용자 클러스터링에 따라 생성된 각 클러스터의 크기에 비례하도록 상기 캐시를 분할하여 각 클러스터에 분배하는, 사용자 유사도 기반 컨텐츠 분배 시스템.
  6. 제 5 항에 있어서,
    상기 하이라키컬 클러스터링은, 상기 MEC 서버를 이용하는 모든 사용자 단말의 요청 컨텐츠에 대한 클러스터 종류, 요청 반복도에 대한 값을 가지고 있는 하나의 클러스터로 지정되고, 각각의 클러스터가 가지고 있는 요청 컨텐츠에 대한 클러스터 종류, 요청 반복도 값에 대한 거리 계산을 통해 가장 가까운 두 개의 클러스터가 병합되는 과정을 반복하며, Minimax 방법을 통해 결정된 최적 군집의 수가 되면 클러스터 병합을 중지하며, 이러한 과정을 거쳐 최종 클러스터의 개수, 각 클러스터에 속한 사용자의 수가 정해지는, 사용자 유사도 기반 컨텐츠 분배 시스템.
  7. 제 3 항에 있어서,
    상기 MEC 서버는, 상기 컨텐츠 클러스터링 및 상기 사용자 클러스터링에 근거하여 상기 사용자 단말이 요청하는 컨텐츠에 대한 컨텐츠 소비 패턴을 분석한 결과, 소비 패턴이 유사하다고 판단되는 사용자 그룹을 사용자 유사도가 높은 그룹으로 설정하는, 사용자 유사도 기반 컨텐츠 분배 시스템.
  8. 삭제
  9. 삭제
  10. 제 1 항에 있어서,
    상기 기지국은, 상기 사용자 단말로부터 요청받은 컨텐츠가 상기 협동 MEC 환경에 있는 다른 MEC 서버들에도 없는 경우에 상기 데이터 센터로 요청하여, 상기 데이터 센터로부터 상기 사용자 단말로부터 요청받은 컨텐츠를 전송받아 상기 MEC 서버를 통해 상기 사용자 단말로 제공하는, 사용자 유사도 기반 컨텐츠 분배 시스템.
  11. 적어도 하나 이상의 사용자 단말; 캐시가 구비된 MEC 서버; 하나 이상의 MEC 서버를 관리하는 기지국; 및 다양한 컨텐츠를 제공하는 데이터 센터를 포함하는 시스템의 사용자 유사도 기반 컨텐츠 분배 방법으로서,
    (a) 상기 MEC 서버가, 컨텐츠 장르 및 제작 년도에 따라 1차 컨텐츠 클러스터링을 수행하는 단계;
    (b) 상기 MEC 서버가, 상기 하나 이상의 사용자 단말의 컨텐츠 요청에 따른 반복성 및 다양성을 계산하는 단계;
    (c) 상기 MEC 서버가, 상기 계산된 반복성 및 다양성을 기반으로 사용자 유사도를 계산하는 단계;
    (d) 상기 MEC 서버가, 상기 계산된 사용자 유사도를 기반으로 2차 사용자 클러스터링을 수행하는 단계;
    (e) 상기 MEC 서버가, 클러스터의 사용자들 수에 비례하게 각 클러스터의 크기를 설정하고, 캐시를 해당 영역의 사용자 클러스터들의 수로 분할하는 단계;
    (f) 상기 MEC 서버가, 상기 해당 영역에 있는 상기 사용자 단말로부터 컨텐츠 요청을 수신하는 단계;
    (g) 상기 MEC 서버가, 상기 요청된 컨텐츠가 상기 캐시의 클러스터에 있는 경우, 상기 캐시 내에서 우선순위를 랭크하고 상기 사용자 단말로 제공하는 단계;
    (h) 상기 MEC 서버가, 요청된 컨텐츠와 제공된 컨텐츠 간의 불일치율(mismatch rate)을 계산하는 단계;
    (i) 상기 MEC 서버가, 상기 불일치율이 제한(Limit) 값 이상인 경우 상기 1차 컨텐츠 클러스터링을 다시 수행하는 단계; 및
    (j) 상기 MEC 서버가, 상기 요청된 컨텐츠가 협동 MEC 캐시에도 없는 경우 협동(Cooperative) MEC 환경으로 확장하여 상기 기지국을 통하여 상기 사용자 단말로부터 요청받은 컨텐츠를 보유하고 있는 MEC 서버로부터 전송받아 상기 사용자 단말에 제공하는 단계;
    를 포함하는 사용자 유사도 기반 컨텐츠 분배 방법.
  12. 제 11 항에 있어서,
    상기 (a) 단계에서 상기 MEC 서버는, 상기 컨텐츠 장르에 대한 코사인 유사도(Cosine similarity) 연산을 통해 컨텐츠 간 유사도를 계산하고, 컨텐츠 간 유사도를 활용한 구상(Spherical) K-평균 클러스터링(k-means clustering)을 통하여 상기 1차 컨텐츠 클러스터링을 수행하고,
    상기 (d) 단계에서 상기 MEC 서버는, 상기 1차 컨텐츠 클러스터링의 결과를 활용한 컨텐츠 요청 다양성 및 반복도를 이용하여 2차 사용자 클러스터링을 수행하는, 사용자 유사도 기반 컨텐츠 분배 방법.
  13. 제 11 항에 있어서,
    상기 (e) 단계에서 상기 MEC 서버는, 각 클러스터에 들어있는 컨텐츠의 크기에 비례하게 가변적으로 캐시의 크기를 할당하여 상기 캐시를 분할하는, 사용자 유사도 기반 컨텐츠 분배 방법.
  14. 제 11 항에 있어서,
    상기 (e) 단계에서 상기 MEC 서버는, 각각의 클러스터가 가지고 있는 요청 컨텐츠에 대한 클러스터 종류, 요청 반복도 값에 대한 거리 계산을 통해 가장 가까운 두 개의 클러스터를 병합하는 과정을 반복하며, Minimax 방법을 통해 클러스터의 개수를 결정하는, 사용자 유사도 기반 컨텐츠 분배 방법.
  15. 제 11 항에 있어서,
    상기 (j) 단계에서 상기 MEC 서버는, 상기 요청된 컨텐츠에 대한 상기 캐시 내 우선순위를 랭크하고 상기 사용자 단말로 제공하는, 사용자 유사도 기반 컨텐츠 분배 방법.
KR1020200174374A 2020-12-14 2020-12-14 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법 KR102367568B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200174374A KR102367568B1 (ko) 2020-12-14 2020-12-14 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200174374A KR102367568B1 (ko) 2020-12-14 2020-12-14 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR102367568B1 true KR102367568B1 (ko) 2022-02-24

Family

ID=80474529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200174374A KR102367568B1 (ko) 2020-12-14 2020-12-14 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR102367568B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116828226A (zh) * 2023-08-28 2023-09-29 南京邮电大学 基于区块链的云边端协同视频流缓存系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090101770A (ko) * 2008-03-24 2009-09-29 에스케이커뮤니케이션즈 주식회사 협업필터링을 이용한 컨텐츠 분류 방법 및 시스템
KR20160064448A (ko) * 2014-11-28 2016-06-08 이종찬 유사 집합의 예상 선호도 대비 기반 아이템 추천 제공 방법
KR20160113532A (ko) * 2016-09-20 2016-09-29 에스케이플래닛 주식회사 컨텐츠 추천 시스템 및 방법
KR20170103286A (ko) * 2016-03-03 2017-09-13 에스케이텔레콤 주식회사 컨텐츠 제공 및 캐싱 방법, 이를 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
KR20180112825A (ko) 2016-05-10 2018-10-12 소니 모바일 커뮤니케이션즈 가부시키가이샤 Mec 애플리케이션의 재배치를 제어하기 위한 방법 및 서버
KR102101120B1 (ko) * 2018-12-28 2020-04-16 연세대학교 산학협력단 사용자 특성을 반영한 클러스터 기반 가상 네트워크 기능의 자원 할당 방법
KR20200054356A (ko) * 2018-11-02 2020-05-20 경희대학교 산학협력단 Mec 환경에서 자율 주행을 위한 딥러닝 기반 캐싱 시스템 및 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090101770A (ko) * 2008-03-24 2009-09-29 에스케이커뮤니케이션즈 주식회사 협업필터링을 이용한 컨텐츠 분류 방법 및 시스템
KR20160064448A (ko) * 2014-11-28 2016-06-08 이종찬 유사 집합의 예상 선호도 대비 기반 아이템 추천 제공 방법
KR20170103286A (ko) * 2016-03-03 2017-09-13 에스케이텔레콤 주식회사 컨텐츠 제공 및 캐싱 방법, 이를 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
KR20180112825A (ko) 2016-05-10 2018-10-12 소니 모바일 커뮤니케이션즈 가부시키가이샤 Mec 애플리케이션의 재배치를 제어하기 위한 방법 및 서버
KR20160113532A (ko) * 2016-09-20 2016-09-29 에스케이플래닛 주식회사 컨텐츠 추천 시스템 및 방법
KR20200054356A (ko) * 2018-11-02 2020-05-20 경희대학교 산학협력단 Mec 환경에서 자율 주행을 위한 딥러닝 기반 캐싱 시스템 및 방법
KR102101120B1 (ko) * 2018-12-28 2020-04-16 연세대학교 산학협력단 사용자 특성을 반영한 클러스터 기반 가상 네트워크 기능의 자원 할당 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116828226A (zh) * 2023-08-28 2023-09-29 南京邮电大学 基于区块链的云边端协同视频流缓存系统
CN116828226B (zh) * 2023-08-28 2023-11-10 南京邮电大学 基于区块链的云边端协同视频流缓存系统

Similar Documents

Publication Publication Date Title
Liu et al. Data caching optimization in the edge computing environment
Yu et al. Location-aware associated data placement for geo-distributed data-intensive applications
CN1658598A (zh) 计算机网络中自组织分配服务方法、系统和软件产品
CN108667653B (zh) 超密集网络中基于聚类的缓存配置方法及装置
Zhang et al. Cooperative edge caching based on temporal convolutional networks
Spyropoulos et al. Soft cache hits and the impact of alternative content recommendations on mobile edge caching
CN111586191B (zh) 一种数据协作缓存方法、系统及电子设备
KR102367568B1 (ko) 사용자 유사도 기반 컨텐츠 분배 시스템 및 그 방법
Pripužić et al. Top-k/w publish/subscribe: A publish/subscribe model for continuous top-k processing over data streams
Khan et al. On the application of agglomerative hierarchical clustering for cache-assisted D2D networks
Tang et al. A new replica placement mechanism for mobile media streaming in edge computing
Zhong et al. Evaluation and comparison of various indexing schemes in single-channel broadcast communication environment
Benmammar et al. Diffusing-CRN k-means: an improved k-means clustering algorithm applied in cognitive radio ad hoc networks
Qin et al. An improved Top‐K algorithm for edge servers deployment in smart city
Yang et al. Similarity search in sensor networks using semantic-based caching
Wang et al. A-DECS: Enhanced collaborative edge–edge data storage service for edge computing with adaptive prediction
Luo et al. Graph-based data deduplication in mobile edge computing environment
Yang et al. Cooperative caching and delivery algorithm based on content access patterns at network edge
CN114245422A (zh) 一种基于簇内智能共享的边缘主动缓存方法
Akdogan et al. Cost-efficient partitioning of spatial data on cloud
Silva et al. Joint content-mobility priority modeling for cached content selection in D2D networks
Nia et al. Improving content popularity prediction with k-means clustering and deep-belief networks
Jia et al. Cluster-based content caching driven by popularity prediction
Chen et al. SEFSD: an effective deployment algorithm for fog computing systems
Liu et al. A regional interest-aware caching placement scheme for reducing latency in the LEO satellite networks

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant