KR102214244B1 - Method and system for partitioning cache memory of helper device - Google Patents

Method and system for partitioning cache memory of helper device Download PDF

Info

Publication number
KR102214244B1
KR102214244B1 KR1020190097175A KR20190097175A KR102214244B1 KR 102214244 B1 KR102214244 B1 KR 102214244B1 KR 1020190097175 A KR1020190097175 A KR 1020190097175A KR 20190097175 A KR20190097175 A KR 20190097175A KR 102214244 B1 KR102214244 B1 KR 102214244B1
Authority
KR
South Korea
Prior art keywords
cache
helper device
cache memory
content
cache area
Prior art date
Application number
KR1020190097175A
Other languages
Korean (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 KR1020190097175A priority Critical patent/KR102214244B1/en
Application granted granted Critical
Publication of KR102214244B1 publication Critical patent/KR102214244B1/en

Links

Images

Classifications

    • 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/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Disclosed are a method and a system for partitioning a cache memory of a helper device to resolve overload problems of a mobile communication system. The method for partitioning a cache memory comprises: a step of partitioning a personal cache area in a cache memory included in a helper device based on the capacity of content expected to be self-consumed through the helper device; a step of partitioning a neighbor cache area in the cache memory excluding the personal cache area based on properties of a user terminal positioned around the helper device and the helper device; and a step of identifying the area of the cache memory excluding the neighbor cache area and the personal cache area as a common cache.

Description

헬퍼 디바이스의 캐시 메모리 분할 방법 및 시스템{METHOD AND SYSTEM FOR PARTITIONING CACHE MEMORY OF HELPER DEVICE}Method and system for partitioning the cache memory of the helper device {METHOD AND SYSTEM FOR PARTITIONING CACHE MEMORY OF HELPER DEVICE}

본 발명은 차세대 이동통신 시스템 및 무선통신 시스템에서 비디오 스트리밍 또는 사물 인터넷에 의한 데이터 폭증을 경감하기 위해 헬퍼 디바이스의 캐시 메모리를 분할하는 기술에 관한 것이다.The present invention relates to a technique for dividing a cache memory of a helper device in order to reduce data explosion caused by video streaming or Internet of Things in a next-generation mobile communication system and wireless communication system.

최근 mmWave 등의 고주파 반송파를 상용 통신에 이용하는 기술들이 개발되었고, 점차 더 높은 반송파 주파수를 사용함으로써 무선 대역폭의 문제는 어느 정도 해결이 되어 가고 있다. 그러나 고주파 반송파를 사용하는 경우 커버리지의 문제가 있으며, 비용적인 문제로 충분히 많은 수의 기지국이 설치되지 않거나 혹은 모든 기지국으로 충분한 고용량의 백홀이 공급되지 않는다면 사용 가능한 무선 자원을 100% 활용하지 못하는 경우가 발생할 수 있다.Recently, technologies using high-frequency carriers such as mmWave for commercial communication have been developed, and the problem of wireless bandwidth is being solved to some extent by using a higher carrier frequency. However, if a high-frequency carrier is used, there is a problem of coverage, and if a sufficient number of base stations are not installed due to a cost problem, or if a sufficient high-capacity backhaul is not supplied to all base stations, 100% of the available radio resources may not be utilized. Can occur.

커버리지와 백홀의 문제가 있는 무선 네트워크에서 모바일 트래픽의 증가를 해결하기 위하여 디바이스에 캐시 메모리를 설치하고 D2D(device-to-device) 통신 기술을 사용하여 다른 디바이스에게 콘텐츠를 공급하는 D2D 캐시 기술이 활발히 연구되고 있다. 그러나 일반적인 디바이스의 경우 충분한 크기의 캐시를 확보하기 어려우며 전력 소모의 문제가 있어서 다른 디바이스에 콘텐츠를 제공하는 것은 어려울 수 있다.In order to solve the increase in mobile traffic in a wireless network with coverage and backhaul problems, a D2D cache technology that installs a cache memory in a device and supplies content to other devices using a device-to-device (D2D) communication technology is actively used. It is being studied. However, in the case of a general device, it is difficult to secure a cache of sufficient size and there is a problem of power consumption, so it may be difficult to provide content to other devices.

본 발명은 비디오 스트리밍 서비스의 폭증으로 인한 이동통신 시스템의 과부하 문제를 해결하기 위한 방법으로 헬퍼 디바이스의 캐시 메모리를 효과적으로 분할하는 방법 및 시스템을 제공할 수 있다.The present invention can provide a method and system for effectively dividing a cache memory of a helper device as a method for solving an overload problem of a mobile communication system due to an explosion of video streaming services.

본 발명의 일실시예에 따른 캐시 메모리 분할 방법은 헬퍼 디바이스를 통해 자체적으로 소모될 것으로 예상되는 콘텐츠의 용량에 기초하여 상기 헬퍼 디바이스에 포함된 캐시 메모리에서 개인 캐시(Personal cache) 영역을 분할하는 단계; 상기 헬퍼 디바이스 및 상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 특성에 기초하여 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시(Neighbor cache) 영역을 분할하는 단계; 및 상기 개인 캐시 영역 및 이웃 캐시 영역을 제외한 캐시 메모리의 영역을 공통 캐시(Common cache) 영역으로 식별하는 단계를 포함할 수 있다.A method of dividing a cache memory according to an embodiment of the present invention includes dividing a personal cache area from a cache memory included in the helper device based on the capacity of content expected to be consumed by the helper device. ; Dividing a neighbor cache area from a cache memory excluding the personal cache area based on characteristics of the helper device and a user terminal located around the helper device; And identifying an area of the cache memory excluding the private cache area and the neighboring cache area as a common cache area.

상기 이웃 캐시 영역을 분할하는 단계는 상기 헬퍼 디바이스의 콘텐츠 갱신 주기와 상기 헬퍼 디바이스 및 사용자 단말의 이동성에 기초하여 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할할 수 있다. The step of dividing the neighboring cache area may divide the neighboring cache area from a cache memory excluding the personal cache area based on a content update period of the helper device and mobility of the helper device and the user terminal.

상기 이웃 캐시 영역을 분할하는 단계는 상기 헬퍼 디바이스의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 짧고, 상기 헬퍼 디바이스 및 사용자 단말의 이동성이 미리 설정된 기준 미만인 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할할 수 있다. 하는 캐시 메모리 분할 방법.In the step of dividing the neighboring cache area, when the content update period of the helper device is shorter than a preset period, and the mobility of the helper device and the user terminal is less than a preset reference, the neighboring cache area in the cache memory excluding the personal cache area Can be divided. How to partition the cache memory.

상기 이웃 캐시 영역을 분할하는 단계는 상기 헬퍼 디바이스의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 길고, 상기 헬퍼 디바이스 및 사용자 단말의 이동성이 미리 설정된 기준 이상인 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할하지 않을 수 있다.The step of dividing the neighboring cache area includes a neighbor cache area in a cache memory excluding the personal cache area when the content update period of the helper device is longer than a preset period and mobility of the helper device and the user terminal is greater than or equal to a preset reference. Can not be divided.

상기 분할된 캐시 메모리의 영역들 각각에 대해 네트워크를 통해 수신된 콘텐츠를 저장하는 단계; 및 상기 헬퍼 디바이스 및 사용자 단말의 요청에 따라 상기 저장된 콘텐츠를 처리하는 단계를 더 포함할 수 있다.Storing content received through a network for each of the divided cache memory regions; And processing the stored content according to the request of the helper device and the user terminal.

상기 저장하는 단계는 상기 헬퍼 디바이스를 사용하는 사용자의 특성 정보에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 개인 캐시 영역에 저장하고, 상기 처리하는 단계는 상기 개인 캐시 영역에 저장된 콘텐츠들 중 상기 사용자의 요청에 따라 선택된 특정 콘텐츠를 실행할 수 있다.In the storing step, the content determined based on the characteristic information of the user using the helper device is received through the network and stored in the personal cache area, and the processing step includes the contents stored in the personal cache area. Selected specific content can be executed according to the user's request.

상기 저장하는 단계는 상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 콘텐츠 선호도에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 이웃 캐시 영역에 저장하고, 상기 처리하는 단계는 상기 이웃 캐시 영역에 저장된 콘텐츠들 중 상기 주변에 위치한 사용자 단말의 요청에 따라 선택된 특정 콘텐츠를 상기 네트워크를 통해 상기 사용자 단말로 전송할 수 있다. In the storing, the content determined based on the content preference of the user terminal located in the vicinity of the helper device is received through the network and stored in the neighboring cache area, and the processing comprises contents stored in the neighboring cache area. Among them, a specific content selected according to a request of a user terminal located nearby may be transmitted to the user terminal through the network.

상기 저장하는 단계는 임의의 사용자를 고려한 평균적인 콘텐츠 선호도에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 공통 캐시 영역에 저장하고, 상기 처리하는 단계는 상기 공통 캐시 영역에 저장된 콘텐츠들 중 상기 주변에 위치한 사용자 단말의 요청에 따라 선택된 특정 콘텐츠를 상기 네트워크를 통해 상기 사용자 단말로 전송할 수 있다.In the storing step, the content determined based on the average content preference considering an arbitrary user is received through the network and stored in the common cache area, and the processing step includes the surrounding content among the contents stored in the common cache area. The specific content selected according to the request of the user terminal located at may be transmitted to the user terminal through the network.

본 발명의 일실시예에 따른 헬퍼 디바이스가 수행하는 캐시 메모리 분할 시스템에 있어서, 상기 헬퍼 디바이스는 캐시 메모리 및 프로세서를 포함하고, 상기 프로세서는 헬퍼 디바이스를 통해 자체적으로 소모될 것으로 예상되는 콘텐츠의 용량에 기초하여 상기 헬퍼 디바이스에 포함된 캐시 메모리에서 개인 캐시(Personal cache) 영역을 분할하고, 상기 헬퍼 디바이스 및 상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 특성에 기초하여 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시(Neighbor cache) 영역을 분할하며, 상기 개인 캐시 영역 및 이웃 캐시 영역을 제외한 캐시 메모리의 영역을 공통 캐시(Common cache) 영역으로 식별할 수 있다.In the cache memory partitioning system performed by a helper device according to an embodiment of the present invention, the helper device includes a cache memory and a processor, and the processor corresponds to the capacity of content expected to be consumed by itself through the helper device. A personal cache area is divided from the cache memory included in the helper device on the basis, and neighbors in the cache memory excluding the personal cache area based on the characteristics of the helper device and the user terminal located around the helper device. The cache (Neighbor cache) area is divided, and the area of the cache memory excluding the private cache area and the neighboring cache area may be identified as a common cache area.

상기 프로세서는 상기 헬퍼 디바이스의 콘텐츠 갱신 주기와 상기 헬퍼 디바이스 및 사용자 단말의 이동성에 기초하여 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할할 수 있다.The processor may divide a neighboring cache area from a cache memory excluding the personal cache area based on a content update period of the helper device and mobility of the helper device and the user terminal.

상기 프로세서는 상기 헬퍼 디바이스의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 짧고, 상기 헬퍼 디바이스 및 사용자 단말의 이동성이 미리 설정된 기준 미만인 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할할 수 있다.When the content update period of the helper device is shorter than a preset period, and the mobility of the helper device and the user terminal is less than a preset reference, the processor may divide a neighboring cache area from a cache memory excluding the personal cache area.

상기 프로세서는 상기 헬퍼 디바이스의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 길고, 상기 헬퍼 디바이스 및 사용자 단말의 이동성이 미리 설정된 기준 이상인 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할하지 않을 수 있다.When the content update period of the helper device is longer than a preset period, and the mobility of the helper device and the user terminal is greater than or equal to a preset reference, the processor may not divide the neighboring cache area from the cache memory excluding the personal cache area. .

상기 프로세서는 상기 분할된 캐시 메모리의 영역들 각각에 대해 네트워크를 통해 수신된 콘텐츠를 저장하고, 상기 헬퍼 디바이스 및 사용자 단말의 요청에 따라 상기 저장된 콘텐츠를 처리할 수 있다.The processor may store content received through a network for each of the divided cache memory areas, and may process the stored content according to a request of the helper device and the user terminal.

상기 프로세서는 상기 헬퍼 디바이스를 사용하는 사용자의 특성 정보에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 개인 캐시 영역에 저장하고, 상기 개인 캐시 영역에 저장된 콘텐츠들 중 상기 사용자의 요청에 따라 선택된 특정 콘텐츠를 실행할 수 있다.The processor receives the content determined based on the characteristic information of the user using the helper device through the network, stores it in the personal cache area, and selects a specific content selected according to the request of the user among the contents stored in the personal cache area. Content can be executed.

상기 프로세서는 상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 콘텐츠 선호도에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 이웃 캐시 영역에 저장하고, 상기 이웃 캐시 영역에 저장된 콘텐츠들 중 상기 주변에 위치한 사용자 단말의 요청에 따라 선택된 특정 콘텐츠를 상기 네트워크를 통해 상기 사용자 단말로 전송할 수 있다.The processor receives the content determined based on the content preference of the user terminal located in the vicinity of the helper device through the network and stores it in the neighboring cache area, and among the contents stored in the neighbor cache area, the user terminal located in the vicinity The specific content selected at the request of may be transmitted to the user terminal through the network.

상기 프로세서는 임의의 사용자를 고려한 평균적인 콘텐츠 선호도에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 공통 캐시 영역에 저장하고, 상기 공통 캐시 영역에 저장된 콘텐츠들 중 상기 주변에 위치한 사용자 단말의 요청에 따라 선택된 특정 콘텐츠를 상기 네트워크를 통해 상기 사용자 단말로 전송할 수 있다. The processor receives the content determined based on the average content preference considering a random user through the network, stores it in the common cache area, and responds to a request of a user terminal located in the vicinity of the contents stored in the common cache area. Accordingly, the selected specific content may be transmitted to the user terminal through the network.

본 발명은 비디오 스트리밍 서비스의 폭증으로 인한 셀룰러 네트워크의 과부하 문제를 해결하기 위하여 헬퍼 디바이스의 캐시 메모리를 효과적으로 분할할 수 있다.The present invention can effectively partition a cache memory of a helper device in order to solve a problem of overloading a cellular network due to an explosion of video streaming services.

또한, 본 발명은 헬퍼 디바이스의 캐시 메모리를 분할하여 사용함으로써 캐시를 통한 오프로딩 확률을 높이고, 이를 통해 셀룰러 네트워크의 부하를 경감시킬 수 있다. In addition, according to the present invention, by dividing and using the cache memory of the helper device, the probability of offloading through the cache can be increased, and the load on the cellular network can be reduced through this.

도 1은 본 발명의 일실시예에 따른 콘텐츠 캐싱 시스템의 구성도를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 헬퍼 디바이스의 구성을 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 헬퍼 디바이스의 캐시 메모리 분할 방법을 도시한 플로우챠트이다.
1 is a diagram showing the configuration of a content caching system according to an embodiment of the present invention.
2 is a diagram showing the configuration of a helper device according to an embodiment of the present invention.
3 is a flowchart illustrating a method of dividing a cache memory of a helper device according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the rights of the patent application is not limited or limited by these embodiments. It should be understood that all changes, equivalents, or substitutes to the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for illustrative purposes only and should not be interpreted as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of the reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that a detailed description of related known technologies may unnecessarily obscure the subject matter of the embodiments, the detailed description thereof will be omitted.

도 1은 본 발명의 일실시예에 따른 콘텐츠 캐싱 시스템의 구성도를 도시한 도면이다.1 is a diagram showing the configuration of a content caching system according to an embodiment of the present invention.

도 1을 참고하면, 콘텐츠 캐싱 시스템(100)은 데이터 네트워크(110), 셀룰러 네트워크(120), 사용자 단말(130), 캐싱 네트워크(140) 및 캐싱 서버(150)로 구성될 수 있다. 본 발명에서는 대용량 캐시를 가지고 단말 간 직접 통신(Device-to-Device, D2D) 기술을 이용하여 주변의 다른 디바이스에게 콘텐츠를 공급할 수 있는 특수 디바이스를 헬퍼(Helper) 디바이스로 정의하고, 헬퍼 디바이스로부터 콘텐츠를 공급 받을 수 있는 디바이스를 사용자 단말(130)로 정의한다. Referring to FIG. 1, the content caching system 100 may include a data network 110, a cellular network 120, a user terminal 130, a caching network 140, and a caching server 150. In the present invention, a special device capable of supplying content to other devices in the vicinity using a device-to-device (D2D) technology with a large-capacity cache is defined as a helper device, and content from the helper device A device that can be supplied with is defined as the user terminal 130.

헬퍼 디바이스는 대용량 캐시와 같은 저장 장치와 저장 장치에 저장된 콘텐츠를 송수신하기 위한 통신 장치가 함께 포함된 특수 디바이스일 수 있다. 이와 같은 헬퍼 디바이스는 사용자 단말(130)에 비해 비교적 큰 저장 장치를 가지고 있어서 다른 사용자들을 위한 콘텐츠를 저장할 수 있고, 자체적으로 큰 배터리를 보유하거나 외부에서 전력이 공급되어 전력 소모에 대한 제약이 적을 수 있다. The helper device may be a special device including a storage device such as a large-capacity cache and a communication device for transmitting and receiving content stored in the storage device. Such a helper device has a relatively large storage device compared to the user terminal 130, so it can store contents for other users, and has a large battery on its own, or power is supplied from the outside, so that there are few restrictions on power consumption. have.

이와 같은 헬퍼 디바이스의 캐시 효용성을 증대시키기 위해 복수의 헬퍼 디바이스를 다양한 형태의 유무선 네트워크로 연결할 수 있는데 이를 본 발명에서는 캐싱 네트워크(140)로 정의한다. 즉, 캐싱 네트워크(140)에서 사용자 단말(130)은 D2D 통신을 이용하여 주변의 헬퍼 디바이스로부터 원하는 콘텐츠를 수신함으로써 트래픽의 송수신이 활발하게 이루어지는 피크 시간 대에 셀룰러 네트워크(120)의 기지국에 대한 부담을 줄일 수 있다.In order to increase the cache utility of the helper device, a plurality of helper devices may be connected to various types of wired and wireless networks, which is defined as the caching network 140 in the present invention. That is, in the caching network 140, the user terminal 130 receives the desired content from nearby helper devices using D2D communication, and thus, the burden on the base station of the cellular network 120 during peak times when traffic transmission and reception is active. Can be reduced.

캐싱 서버(150)는 데이터 네트워크(110), 즉 인터넷 망에 위치하여 사용자 단말(130)에 설치된 어플리케이션(Application)을 통해 통신을 수행할 수 있으며, 이를 통해 캐싱 네트워크(140)를 구성하는 복수의 헬퍼 디바이스들을 제어할 수 있다.The caching server 150 can perform communication through the data network 110, that is, an application installed in the user terminal 130 by being located in the Internet network, and through this, a plurality of You can control helper devices.

헬퍼 디바이스는 셀룰러 네트워크(120)의 부하가 일정 기준 보다 큰 피크(peak) 시간이 되기 전에 캐싱 서버(150)의 제어에 따라 셀룰러 네트워크(120)의 기지국으로부터 선호도가 높은 콘텐츠를 수신하여 저장하고, 피크 시간에 D2D 통신을 사용하여 사용자 단말(130)로 콘텐츠를 공급할 수 있다.The helper device receives and stores content with high preference from the base station of the cellular network 120 under the control of the caching server 150 before the load of the cellular network 120 reaches a peak time greater than a predetermined reference, Content can be supplied to the user terminal 130 using D2D communication at peak times.

이때, 헬퍼 디바이스는 피크 시간에 무선 자원이나 백홀이 항상 포화 상태에 있는 것이 아니라면 주기적 혹은 간헐적으로 약간의 무선 자원을 할당 받아 기지국으로부터 콘텐츠를 수신하여 캐시를 갱신할 수 있다. 또는 헬퍼 디바이스는 버스나 택시 등과 같이 이동 경로의 예측이 가능한 이동형 헬퍼 디바이스의 도움을 받아 캐시를 갱신할 수도 있다. 즉, 헬퍼 디바이스는 피크 시간 직전 혹은 피크 시간 중 간헐적으로 콘텐츠를 갱신한 후 저장된 콘텐츠를 사용할 수 있다.In this case, the helper device may receive content from the base station and update the cache by periodically or intermittently allocating some radio resources if radio resources or backhaul are not always saturated at peak times. Alternatively, the helper device may update the cache with the help of a mobile helper device capable of predicting a moving route, such as a bus or a taxi. That is, the helper device can use the stored content after updating the content intermittently immediately before or during the peak hour.

이때, 헬퍼 디바이스를 구성하는 캐시 메모리의 저장 용량은 제한되어 있으므로 주어진 저장 용량을 효과적으로 사용하는 것이 필요하다. 이를 위해 본 발명은 헬퍼 디바이스의 캐시 메모리를 분할하여 사용함으로써 캐시를 통한 오프로딩 확률을 높이고, 이를 통해 셀룰러 네트워크(120)의 부하를 경감시킬 수 있는 방법을 제공할 수 있다.In this case, since the storage capacity of the cache memory constituting the helper device is limited, it is necessary to effectively use the given storage capacity. To this end, the present invention can provide a method of increasing the probability of offloading through the cache by dividing and using the cache memory of the helper device, thereby reducing the load on the cellular network 120.

도 2는 본 발명의 일실시예에 따른 헬퍼 디바이스의 구성을 도시한 도면이다.2 is a diagram showing the configuration of a helper device according to an embodiment of the present invention.

도 2를 참고하면, 헬퍼 디바이스(200)는 캐시 메모리(210), 프로세서(220) 및 통신 모듈(230)로 구성될 수 있다. 위에서 언급한 바와 같이 헬퍼 디바이스(200)의 프로세서(220)는 캐싱 서버(150)의 제어에 따라 셀룰러 네트워크(120)의 기지국으로부터 선호도가 높은 콘텐츠를 통신 모듈(230)을 통해 수신하여 캐시 메모리(210)에 저장할 수 있다. 그리고, 피크 시간에 D2D 통신을 사용하여 사용자 단말(130)로부터 요청된 콘텐츠를 공급할 수 있다.Referring to FIG. 2, the helper device 200 may include a cache memory 210, a processor 220, and a communication module 230. As mentioned above, the processor 220 of the helper device 200 receives content with high preference from the base station of the cellular network 120 through the communication module 230 under the control of the caching server 150, and the cache memory ( 210). In addition, content requested from the user terminal 130 may be supplied using D2D communication during peak times.

이때, 사용자 단말(130)의 콘텐츠 선호도는 해당 사용자 단말(130)이 콘텐츠를 요구하였을 때 특정 콘텐츠일 확률로 정의할 수 있다. 헬퍼 디바이스(200)는 임의의 모든 사용자에 대한 평균적인 콘텐츠 선호도에 기초하여 셀룰러 네트워크(120)의 기지국을 통해 선호도가 높은 콘텐츠 순서대로 수신하여 캐시 메모리(210)에 저장할 수 있다.In this case, the content preference of the user terminal 130 may be defined as a probability of a specific content when the corresponding user terminal 130 requests the content. The helper device 200 may receive content in order of preference through a base station of the cellular network 120 on the basis of an average content preference for all users and store it in the cache memory 210.

이후 헬퍼 디바이스(200)는 주변에 위치한 사용자 단말(130)로부터 특정 콘텐츠에 대한 요청을 수신하였을 때, 해당 특정 콘텐츠가 캐시 메모리(210)에 저장되어 있는 경우 D2D 통신을 통해 사용자 단말(130)로 공급할 수 있다.Thereafter, when the helper device 200 receives a request for a specific content from the user terminal 130 located nearby, when the specific content is stored in the cache memory 210, the helper device 200 transmits to the user terminal 130 through D2D communication. Can supply.

그러나 임의의 모든 사용자를 고려한 평균적인 콘텐츠 선호도는 매우 많은 콘텐츠에 퍼져 있을 것이므로 각 콘텐츠에 대한 선호도는 매우 낮을 수 있다. 따라서, 헬퍼 디바이스(200)가 제한된 캐시 메모리(210)의 저장 용량을 사용하는 경우, 사용자 단말(130)이 요구하는 콘텐츠가 캐시 메모리(210)에 존재할 확률인 적중률이 높지 않을 수 있다.However, since the average content preference considering all users will be spread over very many contents, the preference for each content may be very low. Accordingly, when the helper device 200 uses the limited storage capacity of the cache memory 210, the hit rate, which is a probability that the content requested by the user terminal 130 exists in the cache memory 210, may not be high.

그러므로 헬퍼 디바이스(200)의 캐시 메모리(210)에 주어진 모든 저장 용량을 이와 같은 평균적인 콘텐츠 선호도에 기초하여 사용하는 것은 캐시 메모리(210)의 저장 용량이 매우 크지 않는 한 효과적이지 못할 수 있다. 이때, 본 발명에서는 임의의 모든 사용자를 고려한 평균적인 콘텐츠 선호도에 기초하여 결정된 콘텐츠를 저장하는 캐시를 공통 캐시(common cache)라고 부른다. Therefore, using all the storage capacities given to the cache memory 210 of the helper device 200 based on such average content preference may not be effective unless the storage capacity of the cache memory 210 is very large. In this case, in the present invention, a cache for storing content determined based on an average content preference considering all users is called a common cache.

한편, 임의의 모든 사용자를 고려한 평균적인 콘텐츠 선호도에 비해 각각의 사용자 단말(130)은 자신이 미래에 소모할 콘텐츠에 대해서 비교적 정확히 예측할 가능성이 높다. 임의의 모든 사용자를 고려한다면 매우 많은 수의 콘텐츠가 후보군에 들어가겠지만 특정한 사용자 단말(130)을 고려할 때에는 적은 수의 콘텐츠 중에서 소모할 확률이 높아지기 때문이다.On the other hand, compared to the average content preference considering all users, each user terminal 130 has a high probability of relatively accurately predicting content that it will consume in the future. Considering all random users, a very large number of contents will be included in the candidate group, but when considering a specific user terminal 130, the probability of consuming a small number of contents increases.

따라서 특정한 사용자 단말(130)의 선호도는 소수의 콘텐츠에 집중될 것이므로 헬퍼 디바이스(200)는 만일 자신이 콘텐츠를 소모한다면 자체적으로 필요로 할 가능성이 높은 콘텐츠를 저장하는 것이 필요할 수 있다. 이때, 본 발명에서는 자체적으로 필요한 콘텐츠를 저장하는 캐시를 개인 캐시(personal cache)라고 부른다. Therefore, since the preference of a specific user terminal 130 will be concentrated on a small number of contents, the helper device 200 may need to store contents that are likely to be required by itself if it consumes the contents. In this case, in the present invention, a cache for storing necessary contents by itself is called a personal cache.

그리고, 헬퍼 디바이스(200)의 주변에 위치한 사용자 단말(130)들은 자체적으로 필요로 할 가능성이 높은 콘텐츠를 예측할 수 있다. 보다 구체적으로 사용자 단말(130)은 사용자의 특성 정보 및 사용자가 위치한 장소의 특성 정보에 기초하여 자체적으로 필요로 할 가능성이 높은 콘텐츠를 예측할 수 있다. 이후 사용자 단말(130)은 자신의 위치 정보와 함께 선호도가 높은 콘텐츠 정보를 캐싱 서버(150)로 전송할 수 있으며, 캐싱 서버(150)는 헬퍼 디바이스(200)에게 주변 사용자 단말(130)들의 콘텐츠 선호도를 알려주어 선호도가 높은 콘텐츠를 수신하여 캐시 메모리(210)에 저장할 수 있도록 제어할 수 있다. 이때, 본 발명에서는 주변에 위치한 사용자 단말(130)들이 필요한 콘텐츠를 저장하는 캐시를 이웃 캐시(neighbor cache)라고 부른다. In addition, the user terminals 130 located around the helper device 200 can predict content that is likely to be required by themselves. More specifically, the user terminal 130 may predict content that is likely to be required by itself based on the characteristic information of the user and the characteristic information of the place where the user is located. Thereafter, the user terminal 130 may transmit content information with high preference along with its location information to the caching server 150, and the caching server 150 sends the content preference of the neighboring user terminals 130 to the helper device 200. By notifying, it is possible to control so that content with high preference can be received and stored in the cache memory 210. In this case, in the present invention, a cache for storing contents required by the user terminals 130 located in the vicinity is called a neighbor cache.

이와 같이 본 발명의 헬퍼 디바이스(200)는 캐시 메모리(210)의 저장 용량을 공통 캐시, 개인 캐시 및 이웃 캐시의 3개의 영역으로 분할하여 사용함으로써 캐시를 통한 오프로딩 확률을 높일 수 있으며, 이를 통해 셀룰러 네트워크(120)의 부하를 경감시킬 수 있다. As described above, the helper device 200 of the present invention can increase the probability of offloading through the cache by dividing the storage capacity of the cache memory 210 into three areas: a common cache, a personal cache, and a neighbor cache. The load on the cellular network 120 can be reduced.

도 3은 본 발명의 일실시예에 따른 헬퍼 디바이스의 캐시 메모리 분할 방법을 도시한 플로우챠트이다.3 is a flowchart illustrating a method of dividing a cache memory of a helper device according to an embodiment of the present invention.

특정한 디바이스인 헬퍼 디바이스(200)는 임의의 디바이스에 대한 선호도에 비해 일부 특정 콘텐츠에 대한 선호도가 매우 높고 나머지 콘텐츠에 대한 선호도는 상대적으로 낮을 수 있다. 따라서, 헬퍼 디바이스(200)는 자체적으로 필요로 할 가능성이 높은 즉, 선호도가 높은 일부 특정 콘텐츠를 개인 캐시에 저장할 필요가 있다.The helper device 200, which is a specific device, may have a very high preference for some specific content and a relatively low preference for the rest of the content compared to a preference for an arbitrary device. Accordingly, the helper device 200 needs to store some specific content that is highly likely to be needed, that is, has high preference, in a personal cache.

따라서, 단계(310)에서, 헬퍼 디바이스(200)는 자체적으로 소모될 것으로 예상되는 콘텐츠의 용량에 기초하여 캐시 메모리(210)에서 일차적으로 개인 캐시 영역을 분할 할 수 있다. 보다 구체적으로 헬퍼 디바이스(200)는 최근에 소모된 콘텐츠를 바탕으로 요구할 가능성이 일정 기준 이상인 즉, 공통 캐시에 저장된 콘텐츠의 사용 확률 보다 높은 콘텐츠에 기초하여 개인 캐시 영역을 분할 할 수 있다. 그러므로 헬퍼 디바이스(200)의 개인 캐시 영역은 최근에 소모된 콘텐츠가 많을수록 영역의 크기가 증가될 수 있다. Accordingly, in step 310, the helper device 200 may first divide the personal cache area in the cache memory 210 based on the capacity of the content expected to be consumed by itself. More specifically, the helper device 200 may divide the personal cache area based on content whose request probability is higher than a certain criterion, that is, a higher usage probability of content stored in a common cache, based on recently consumed content. Therefore, the size of the personal cache area of the helper device 200 may increase as the number of recently consumed content increases.

헬퍼 디바이스(200)의 D2D 통신 반경에 위치한 이웃 사용자 단말들의 개수는 환경에 따라 차이가 있을 수 있다. 따라서 이웃 사용자 단말(130)들의 콘텐츠 선호도의 분포는 하나의 사용자 단말(130)을 고려할 때에 비해서 더 많은 수의 콘텐츠가 높은 선호도를 가질 수 있으며, 임의의 모든 사용자 단말(130)을 고려한 콘텐츠 선호도에 비하면 일부에 집중이 되어 있을 것이다.The number of neighboring user terminals located within the D2D communication radius of the helper device 200 may vary depending on the environment. Therefore, the distribution of the content preferences of the neighboring user terminals 130 is that a larger number of contents may have a higher preference compared to when one user terminal 130 is considered, and the content preferences in consideration of all user terminals 130 In comparison, it will be concentrated on some.

따라서, 단계(320)에서, 헬퍼 디바이스(200)는 콘텐츠 갱신 주기와 헬퍼 디바이스(200) 및 이웃 사용자 단말의 이동성에 기초하여 개인 캐시 영역을 제외한 캐시 메모리(210)에서 이웃 캐시 영역을 분할 할 수 있다. 구체적으로 헬퍼 디바이스(200)는 개인 캐시 영역과 마찬가지로 이웃 사용자 단말들이 최근에 소모한 콘텐츠를 바탕으로 요구할 가능성이(개인 캐시 영역의 콘텐츠 요구 확률 X 이웃 사용자 단말이 계속 이웃으로 유지될 확률) 일정 기준(공통 캐시 영역의 콘텐츠 사용 확률) 이상인 콘텐츠에 기초하여 이웃 캐시 영역을 분할 할 수 있다. 그러므로 헬퍼 디바이스(200)의 이웃 캐시 영역은 이웃 사용자 단말의 수에 비례해서 증가할 수 있다. Therefore, in step 320, the helper device 200 may divide the neighboring cache area from the cache memory 210 excluding the personal cache area based on the content update period and the mobility of the helper device 200 and the neighboring user terminal. have. Specifically, like the personal cache area, the helper device 200 has the likelihood of requesting based on the content recently consumed by neighboring user terminals (the probability of requesting content in the personal cache area X the probability that the neighboring user terminals will continue to be neighbors) on a certain basis. The neighboring cache area can be divided based on the content greater than or equal to the (probability of using content in the common cache area). Therefore, the neighboring cache area of the helper device 200 may increase in proportion to the number of neighboring user terminals.

예를 들어, 만약 헬퍼 디바이스(200)의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 짧고, 헬퍼 디바이스(200) 및 이웃 사용자 단말의 이동성이 미리 설정된 기준 미만인 경우, 콘텐츠 갱신을 한 후 다음 콘텐츠 갱신 때까지 이웃 사용자 단말이 상당 부분 헬퍼 디바이스(200)의 D2D 통신 반경 내에 유지될 확률이 높을 수 있으므로 헬퍼 디바이스(200)는 이웃 사용자 단말들의 선호도가 높은 콘텐츠를 이웃 캐시에 저장하는 것이 필요하다.For example, if the content update period of the helper device 200 is shorter than the preset period, and the mobility of the helper device 200 and the neighboring user terminal is less than a preset criterion, the neighbors until the next content update after the content is updated. Since there may be a high probability that a significant portion of the user terminal will be maintained within the D2D communication radius of the helper device 200, the helper device 200 needs to store content with high preference of neighboring user terminals in the neighbor cache.

이에 반해서 만약 헬퍼 디바이스(200)의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 길고, 헬퍼 디바이스(200) 또는 이웃 사용자 단말의 이동성이 미리 설정된 기준 이상인 경우, 콘텐츠 갱신을 한 후 다음 콘텐츠 갱신 때까지 이웃 사용자 단말이 헬퍼 디바이스(200)의 D2D 통신 반경 내에 유지될 확률이 낮을 수 있으므로 헬퍼 디바이스(200)는 이웃 캐시를 사용하지 않는 편이 좋을 수 있다.On the other hand, if the content update period of the helper device 200 is longer than the preset period, and the mobility of the helper device 200 or the neighboring user terminal is more than a preset standard, after updating the content, the neighboring user terminal until the next content update. Since the probability of being maintained within the D2D communication radius of the helper device 200 may be low, it may be better for the helper device 200 not to use a neighbor cache.

한편, 헬퍼 디바이스(200)와 이웃 사용자 단말의 이동성이 미리 설정된 기준 이상인 경우에도 헬퍼 디바이스(200)와 이웃 사용자 단말이 그룹 이동성을 가지는 경우, 헬퍼 디바이스(200)는 이웃 캐시의 저장 용량을 확보하는 것이 필요할 수 있다. 예를 들어 헬퍼 디바이스(200)가 버스 또는 기차이고 이웃 사용자 단말이 그 안에 탑승한 사용자의 디바이스라면 이웃 사용자 단말은 상당 기간 동안 헬퍼 디바이스(200)의 D2D 통신 반경 내에 유지될 수 있다. On the other hand, even when the mobility of the helper device 200 and the neighboring user terminal is greater than or equal to a preset standard, when the helper device 200 and the neighboring user terminal have group mobility, the helper device 200 secures the storage capacity of the neighboring cache. You may need it. For example, if the helper device 200 is a bus or a train and the neighboring user terminal is a device of a user boarding therein, the neighboring user terminal may remain within the D2D communication radius of the helper device 200 for a considerable period of time.

그리고 단계(330)에서, 헬퍼 디바이스(200)는 개인 캐시 영역 및 이웃 캐시 영역을 제외한 캐시 메모리의 영역을 공통 캐시(Common cache) 영역으로 식별할 수 있다. In step 330, the helper device 200 may identify an area of the cache memory excluding the personal cache area and the neighboring cache area as a common cache area.

즉, 헬퍼 디바이스(200)는 캐시 메모리(210)에서 가장 먼저 개인 캐시 영역을 확보하고 그 다음 이웃 캐시 영역을 확보한 뒤 나머지 저장 용량을 공통 캐시 영역으로 식별할 수 있다.That is, the helper device 200 may first secure a personal cache area in the cache memory 210 and then secure a neighboring cache area, and then identify the remaining storage capacity as a common cache area.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, a person of ordinary skill in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments and claims and equivalents fall within the scope of the following claims.

100 : 콘텐츠 캐싱 시스템
110 : 데이터 네트워크
120 : 셀룰러 네트워크
130 : 사용자 단말
140 : 캐싱 네트워크
150 : 캐싱 서버
200 : 헬퍼 디바이스
210 : 캐시 메모리
220 : 프로세서
230 : 통신 모듈
100: content caching system
110: data network
120: cellular network
130: user terminal
140: caching network
150: caching server
200: helper device
210: cache memory
220: processor
230: communication module

Claims (16)

헬퍼 디바이스를 통해 자체적으로 소모될 것으로 예상되는 콘텐츠의 용량에 기초하여 상기 헬퍼 디바이스에 포함된 캐시 메모리에서 개인 캐시(Persnal cache) 영역을 분할하는 단계;
(i)상기 헬퍼 디바이스의 콘텐츠 갱신 주기와 (ii)상기 헬퍼 디바이스 및 상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 이동성에 기초하여 상기 캐시 메모리에서 이웃 캐시(Neighbor cache) 영역의 분할 여부를 결정하는 단계;
상기 캐시 메모리에서 이웃 캐시 영역을 분할하는 것으로 결정된 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 상기 이웃 캐시 영역을 분할하는 단계; 및
상기 개인 캐시 영역 및 이웃 캐시 영역을 제외한 캐시 메모리의 영역을 공통 캐시(Common cache) 영역으로 식별하는 단계
를 포함하는 캐시 메모리 분할 방법.
Dividing a personal cache area in the cache memory included in the helper device based on the capacity of the content expected to be consumed by the helper device itself;
Determining whether to divide a neighbor cache area in the cache memory based on (i) a content update period of the helper device and (ii) mobility of the helper device and a user terminal located in the vicinity of the helper device. ;
If it is determined that the cache memory is to divide the neighboring cache region, dividing the neighboring cache region from a cache memory other than the private cache region; And
Identifying an area of the cache memory excluding the private cache area and the neighboring cache area as a common cache area
Cache memory partitioning method comprising a.
제1항에 있어서,
상기 이웃 캐시 영역의 크기는,
상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 수에 비례하여 증가되는 캐시 메모리 분할 방법.
The method of claim 1,
The size of the neighboring cache area is,
Cache memory partitioning method that increases in proportion to the number of user terminals located around the helper device.
제1항에 있어서,
상기 이웃 캐시 영역을 분할하는 단계는,
상기 헬퍼 디바이스의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 짧고, 상기 헬퍼 디바이스 및 사용자 단말의 이동성이 미리 설정된 기준 미만인 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할하고,
상기 헬퍼 디바이스의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 길고, 상기 헬퍼 디바이스 및 사용자 단말의 이동성이 미리 설정된 기준 이상인 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할하지 않는 캐시 메모리 분할 방법.
The method of claim 1,
Dividing the neighboring cache area,
When the content update period of the helper device is shorter than a preset period and the mobility of the helper device and the user terminal is less than a preset reference, a neighboring cache area is divided from a cache memory excluding the personal cache area,
When the content update period of the helper device is longer than a preset period, and the mobility of the helper device and the user terminal is greater than or equal to a preset reference, a cache memory partitioning method that does not divide a neighboring cache area from a cache memory other than the personal cache area.
제1항에 있어서,
상기 개인 캐시 영역의 크기는,
일정 시점부터 상기 헬퍼 디바이스를 통해 소모된 콘텐츠의 수에 비례하여 증가되는 캐시 메모리 분할 방법.
The method of claim 1,
The size of the private cache area,
A method of partitioning a cache memory that increases in proportion to the number of contents consumed through the helper device from a certain point in time.
제1항에 있어서,
상기 분할된 캐시 메모리의 영역들 각각에 대해 네트워크를 통해 수신된 콘텐츠를 저장하는 단계; 및
상기 헬퍼 디바이스 및 사용자 단말의 요청에 따라 상기 저장된 콘텐츠를 처리하는 단계
를 더 포함하는 캐시 메모리 분할 방법.
The method of claim 1,
Storing content received through a network for each of the divided cache memory regions; And
Processing the stored content according to the request of the helper device and the user terminal
Cache memory partitioning method further comprising a.
제5항에 있어서,
상기 저장하는 단계는,
상기 헬퍼 디바이스를 사용하는 사용자의 특성 정보에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 개인 캐시 영역에 저장하고,
상기 처리하는 단계는,
상기 개인 캐시 영역에 저장된 콘텐츠들 중 상기 사용자의 요청에 따라 선택된 특정 콘텐츠를 실행하는 캐시 메모리 분할 방법.
The method of claim 5,
The storing step,
The content determined based on the characteristic information of the user who uses the helper device is received through the network and stored in the personal cache area,
The processing step,
A cache memory partitioning method for executing specific content selected according to a request of the user among contents stored in the personal cache area.
제5항에 있어서,
상기 저장하는 단계는,
상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 콘텐츠 선호도에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 이웃 캐시 영역에 저장하고,
상기 처리하는 단계는,
상기 이웃 캐시 영역에 저장된 콘텐츠들 중 상기 주변에 위치한 사용자 단말의 요청에 따라 선택된 특정 콘텐츠를 상기 네트워크를 통해 상기 사용자 단말로 전송하는 캐시 메모리 분할 방법.
The method of claim 5,
The storing step,
The content determined based on the content preference of the user terminal located in the vicinity of the helper device is received through the network and stored in the neighboring cache area,
The processing step,
A cache memory partitioning method for transmitting a specific content selected according to a request of a user terminal located in the vicinity of the contents stored in the neighboring cache area to the user terminal through the network.
제5항에 있어서,
상기 저장하는 단계는,
임의의 사용자를 고려한 평균적인 콘텐츠 선호도에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 공통 캐시 영역에 저장하고,
상기 처리하는 단계는,
상기 공통 캐시 영역에 저장된 콘텐츠들 중 상기 주변에 위치한 사용자 단말의 요청에 따라 선택된 특정 콘텐츠를 상기 네트워크를 통해 상기 사용자 단말로 전송하는 캐시 메모리 분할 방법.
The method of claim 5,
The storing step,
The content determined based on the average content preference considering a random user is received through the network and stored in the common cache area,
The processing step,
A cache memory division method for transmitting a specific content selected according to a request of a user terminal located in the vicinity of the contents stored in the common cache area to the user terminal through the network.
헬퍼 디바이스가 수행하는 캐시 메모리 분할 시스템에 있어서,
상기 헬퍼 디바이스는, 캐시 메모리 및 프로세서를 포함하고,
상기 프로세서는,
상기 헬퍼 디바이스를 통해 자체적으로 소모될 것으로 예상되는 콘텐츠의 용량에 기초하여 상기 헬퍼 디바이스에 포함된 캐시 메모리에서 개인 캐시(Persnal cache) 영역을 분할하고,
(i)상기 헬퍼 디바이스의 콘텐츠 갱신 주기와 (ii)상기 헬퍼 디바이스 및 상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 이동성에 기초하여 상기 캐시 메모리에서 이웃 캐시(Neighbor cache) 영역의 분할 여부를 결정하며,
상기 캐시 메모리에서 이웃 캐시 영역을 분할하는 것을 결정된 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 상기 이웃 캐시 영역을 분할하고,
상기 개인 캐시 영역 및 이웃 캐시 영역을 제외한 캐시 메모리의 영역을 공통 캐시(Common cache) 영역으로 식별하는 캐시 메모리 분할 시스템.
In the cache memory partitioning system performed by a helper device,
The helper device includes a cache memory and a processor,
The processor,
Dividing a personal cache area from the cache memory included in the helper device based on the capacity of content expected to be consumed by the helper device itself,
Determine whether to divide a neighbor cache area in the cache memory based on (i) a content update period of the helper device and (ii) mobility of the helper device and user terminals located around the helper device,
When it is determined to divide the neighboring cache region from the cache memory, partition the neighboring cache region from a cache memory excluding the private cache region,
A cache memory partitioning system that identifies an area of a cache memory excluding the private cache area and a neighboring cache area as a common cache area.
제9항에 있어서,
상기 이웃 캐시 영역의 크기는,
상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 수에 비례하여 증가되는 캐시 메모리 분할 시스템.
The method of claim 9,
The size of the neighboring cache area is,
A cache memory partitioning system that increases in proportion to the number of user terminals located around the helper device.
제9항에 있어서,
상기 프로세서는,
상기 헬퍼 디바이스의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 짧고, 상기 헬퍼 디바이스 및 사용자 단말의 이동성이 미리 설정된 기준 미만인 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할하고,
상기 헬퍼 디바이스의 콘텐츠 갱신 주기가 미리 설정된 주기 보다 길고, 상기 헬퍼 디바이스 및 사용자 단말의 이동성이 미리 설정된 기준 이상인 경우, 상기 개인 캐시 영역을 제외한 캐시 메모리에서 이웃 캐시 영역을 분할하지 않는 캐시 메모리 분할 시스템.
The method of claim 9,
The processor,
When the content update period of the helper device is shorter than a preset period and the mobility of the helper device and the user terminal is less than a preset reference, a neighboring cache area is divided from a cache memory excluding the personal cache area,
When the content update period of the helper device is longer than a preset period, and the mobility of the helper device and the user terminal is greater than or equal to a preset reference, the cache memory division system does not divide a neighboring cache area from a cache memory other than the personal cache area.
제9항에 있어서,
상기 개인 캐시 영역의 크기는,
일정 시점부터 상기 헬퍼 디바이스를 통해 소모된 콘텐츠의 수에 비례하여 증가되는 캐시 메모리 분할 시스템.
The method of claim 9,
The size of the private cache area,
A cache memory partition system that increases in proportion to the number of contents consumed through the helper device from a certain point in time.
제9항에 있어서,
상기 프로세서는,
상기 분할된 캐시 메모리의 영역들 각각에 대해 네트워크를 통해 수신된 콘텐츠를 저장하고, 상기 헬퍼 디바이스 및 사용자 단말의 요청에 따라 상기 저장된 콘텐츠를 처리하는 캐시 메모리 분할 시스템.
The method of claim 9,
The processor,
A cache memory division system that stores content received through a network for each of the divided cache memory areas, and processes the stored content according to a request of the helper device and a user terminal.
제13항에 있어서,
상기 프로세서는,
상기 헬퍼 디바이스를 사용하는 사용자의 특성 정보에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 개인 캐시 영역에 저장하고,
상기 개인 캐시 영역에 저장된 콘텐츠들 중 상기 사용자의 요청에 따라 선택된 특정 콘텐츠를 실행하는 캐시 메모리 분할 시스템.
The method of claim 13,
The processor,
The content determined based on the characteristic information of the user who uses the helper device is received through the network and stored in the personal cache area,
A cache memory partitioning system that executes a specific content selected according to a request of the user among the contents stored in the personal cache area.
제13항에 있어서,
상기 프로세서는,
상기 헬퍼 디바이스의 주변에 위치한 사용자 단말의 콘텐츠 선호도에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 이웃 캐시 영역에 저장하고,
상기 이웃 캐시 영역에 저장된 콘텐츠들 중 상기 주변에 위치한 사용자 단말의 요청에 따라 선택된 특정 콘텐츠를 상기 네트워크를 통해 상기 사용자 단말로 전송하는 캐시 메모리 분할 시스템.
The method of claim 13,
The processor,
The content determined based on the content preference of the user terminal located in the vicinity of the helper device is received through the network and stored in the neighboring cache area,
A cache memory partitioning system for transmitting a specific content selected according to a request of a user terminal located in the vicinity of the contents stored in the neighboring cache area to the user terminal through the network.
제13항에 있어서,
상기 프로세서는,
임의의 사용자를 고려한 평균적인 콘텐츠 선호도에 기초하여 결정된 콘텐츠를 상기 네트워크를 통해 수신하여 상기 공통 캐시 영역에 저장하고,
상기 공통 캐시 영역에 저장된 콘텐츠들 중 상기 주변에 위치한 사용자 단말의 요청에 따라 선택된 특정 콘텐츠를 상기 네트워크를 통해 상기 사용자 단말로 전송하는 캐시 메모리 분할 시스템.
The method of claim 13,
The processor,
The content determined based on the average content preference considering a random user is received through the network and stored in the common cache area,
A cache memory partitioning system for transmitting specific content selected according to a request of a user terminal located in the vicinity of the contents stored in the common cache area to the user terminal through the network.
KR1020190097175A 2019-08-09 2019-08-09 Method and system for partitioning cache memory of helper device KR102214244B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190097175A KR102214244B1 (en) 2019-08-09 2019-08-09 Method and system for partitioning cache memory of helper device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190097175A KR102214244B1 (en) 2019-08-09 2019-08-09 Method and system for partitioning cache memory of helper device

Publications (1)

Publication Number Publication Date
KR102214244B1 true KR102214244B1 (en) 2021-02-10

Family

ID=74560735

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190097175A KR102214244B1 (en) 2019-08-09 2019-08-09 Method and system for partitioning cache memory of helper device

Country Status (1)

Country Link
KR (1) KR102214244B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101694400B1 (en) * 2014-04-18 2017-01-09 에스케이텔레콤 주식회사 Method of delivering contents for real-time broadcasting, and apparatus thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101694400B1 (en) * 2014-04-18 2017-01-09 에스케이텔레콤 주식회사 Method of delivering contents for real-time broadcasting, and apparatus thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
S. Kim et. al., "A Study on D2D Caching Systems with Mobile Helpers", 10th International Conference on Ubiquitous and Future Networks(ICUFN 2018) (컨퍼런스 개최일 2018.07.03.~06.)* *

Similar Documents

Publication Publication Date Title
US8830930B2 (en) Device in wireless network, device resource management apparatus, gateway and network server, and control method of the network server
EP3457664B1 (en) Method and system for finding a next edge cloud for a mobile user
US7047021B2 (en) Communication system
EP2713643A1 (en) Dynamic spectrum allocation method, central control unit, base station and spectrum allocation system
KR20210119504A (en) Communication method and apparatus, entity and computer readable storage medium
US10932137B2 (en) Network management apparatus, method and apparatus in wireless communication system
US10827506B2 (en) System and method for controlling the distribution of antenna beams between an access network and a backhaul link based on network traffic conditions
WO2019129169A1 (en) Electronic apparatus and method used in wireless communications, and computer readable storage medium
US10868750B1 (en) Method and device for facilitating delivery of content in a multi-access edge computing (MEC) environment
KR101924691B1 (en) Distributed storage method and apparatus based on cache memory in the wireless communication
KR102127232B1 (en) Method and system for content caching using caching network
KR102123443B1 (en) Method and system for content caching using caching network
KR102120660B1 (en) Content cachhing mehtod using mobile cache
KR20170012284A (en) Discovery of multi-hop capabilities and routing on a per link basis
KR102214244B1 (en) Method and system for partitioning cache memory of helper device
US9014709B2 (en) Wireless communication system, management device, and mobile terminal unit
US20190132411A1 (en) Method and system for cache placement of base station and a corresponding base station
US20180084408A1 (en) System information obtaining method in cell cluster, related device, and system
KR102077161B1 (en) Method and system for content caching using caching network
US11076016B1 (en) Systems and methods for caching content in a wireless communication network
KR101665864B1 (en) Method and System for Network Performance Improvement with Cooperative Caching Helper based on Offloading
CN111615188B (en) Data transmission method, device and computer storage medium
JP2022104045A (en) Control device, control method and computer program
KR102188783B1 (en) Apparatus and method for content caching using internet of things gateway
KR20110067655A (en) User terminal using system information and operating method thereof

Legal Events

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