KR102172056B1 - Control method, apparatus and program of token-based caching system including icn router and content provider terminal - Google Patents

Control method, apparatus and program of token-based caching system including icn router and content provider terminal Download PDF

Info

Publication number
KR102172056B1
KR102172056B1 KR1020190126272A KR20190126272A KR102172056B1 KR 102172056 B1 KR102172056 B1 KR 102172056B1 KR 1020190126272 A KR1020190126272 A KR 1020190126272A KR 20190126272 A KR20190126272 A KR 20190126272A KR 102172056 B1 KR102172056 B1 KR 102172056B1
Authority
KR
South Korea
Prior art keywords
content
content provider
provider terminal
token generation
generation rate
Prior art date
Application number
KR1020190126272A
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 KR1020190126272A priority Critical patent/KR102172056B1/en
Application granted granted Critical
Publication of KR102172056B1 publication Critical patent/KR102172056B1/en

Links

Images

Classifications

    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/2823
    • H04L67/327
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Provided is a token-based caching system. The method of controlling a token-based caching system including an ICN router and a content provider terminal includes the steps of: determining, by the ICN router, a token generation rate based on a cache hit rate; determining, by the ICN router, the total amount of tokens to be allocated to the content provider terminal based on the determined token generation rate and the amount of unmarked content; determining, by the content provider, a marking speed for controlling the number of contents to be marked among the plurality of contents; determining, by the content provider terminal, first content marked for caching in the ICN router and second content unmarked not for caching in the ICN router, based on the marking speed and content popularity; transmitting, by the content provider terminal, the first content and the second content to the ICN router; and subtracting, by the ICN router, the amount of tokens corresponding to the received first content from the total amount of tokens of the content provider terminal, and caching the first content in the ICN router.

Description

ICN 라우터 및 콘텐츠 제공자 단말을 포함하는 토큰 기반 캐싱 시스템의 제어 방법, 장치 및 프로그램{CONTROL METHOD, APPARATUS AND PROGRAM OF TOKEN-BASED CACHING SYSTEM INCLUDING ICN ROUTER AND CONTENT PROVIDER TERMINAL}Control method, device and program of token-based caching system including ICN router and content provider terminal {CONTROL METHOD, APPARATUS AND PROGRAM OF TOKEN-BASED CACHING SYSTEM INCLUDING ICN ROUTER AND CONTENT PROVIDER TERMINAL}

본 발명은 정보 중심 네트워크(Information Centric Networking, ICN)에 있어서, ICN 라우터 및 콘텐츠 제공자 단말을 포함하는 토큰 기반 캐싱 시스템의 제어 방법, 장치 및 프로그램에 관한 것이다.The present invention relates to a method, apparatus, and program for controlling a token-based caching system including an ICN router and a content provider terminal in an information-centric network (ICN).

인터넷 기술의 발전에 따라, IP 주소와 같은 위치 정보를 바탕으로 두개의 노드간의 데이터 전송을 수행하는 TCP/IP 기술을 넘어, 콘텐츠의 이름 정보를 통해 데이터를 전송하는 정보 중심 네트워크(Information Centric Networking, ICN) 기술에 대한 연구가 진행되고 있다.With the development of Internet technology, information-oriented network (Information Centric Networking) that transmits data through name information of content, beyond TCP/IP technology that transmits data between two nodes based on location information such as IP address. Research on ICN) technology is ongoing.

구체적으로, 정보 중심 네트워크 (ICN) 기술은 단말의 위치정보가 아닌, 콘텐츠의 이름 정보를 통해 데이터를 전송할 수 있다. 또한, 데이터를 전송하는 과정 중에 데이터 복사본을 네트워크상의 노드들에 저장하게 되며(in-network caching), 따라서 사용자들은 보다 가까운 위치에 있는 콘텐츠 복사본을 활용하여 서비스를 제공받을 수 있으며, 이로 인해 더 작은 응답시간을 경험할 수 있는 효과가 존재한다. Specifically, information-oriented network (ICN) technology can transmit data through name information of content, not through location information of a terminal. In addition, data copies are stored in nodes on the network during the process of transmitting data (in-network caching), so users can receive services by using copies of contents located closer to each other. There is an effect to experience the response time.

ICN 에서의 캐싱 기술은 어느 위치에 데이터를 저장할지 여부, 어떤 데이터를 교체할지 여부 등과 같은 캐싱 정책에 의해서 성능이 결정될 수 있으며, 나아가, 캐싱 되는 데이터의 무결성을 보장하지 않을 경우, 악의적인 사용자에 의해 오염된 콘텐츠가 서비스될 수 있는 보안 이슈도 존재한다. 따라서, ICN 라우터는 최적의 캐싱 정책 및 보안 이슈와 관련하여 추가적인 기능들을 수행하여야 한다.In ICN caching technology, performance can be determined by caching policies such as whether to store data in a location and whether to replace data, and furthermore, if the integrity of the cached data is not guaranteed, malicious users can There is also a security issue in which content contaminated by can be served. Therefore, the ICN router must perform additional functions in relation to the optimal caching policy and security issues.

기존 TCP/IP 기반의 네트워크에서의 라우터는 정해진 크기의 IP주소로 라우팅을 수행하는 반면, ICN 에서의 라우터는 훨씬 더 큰 Name space (다양한 길이의 콘텐츠 이름) 하에서 라우팅 기능을 수행하고, 다양한 캐싱 관련 기능들을 수행하게 되기 때문에, 오버헤드 발생 가능성이 높으며, 결과적으로 라우터의 병목 현상 등으로 한한 성능 저하가 발생할 수 있다.Routers in the existing TCP/IP-based network perform routing with IP addresses of a fixed size, while routers in ICN perform routing functions under a much larger namespace (content names of varying lengths) and various caching related Since functions are performed, overhead is likely to occur, and as a result, limited performance may be degraded due to a bottleneck of the router.

상술한 문제를 해결하기 위한 종래의 기술로는 Hashing, Bloom filter등이 존재하며, Cisco에서는 20Gbps이상의 속도로 라우팅 가능한 ICN 프로토타입 라우터를 개발하고 있으며, 캐싱과 관련해서도 캐싱 효율을 최대화하기 위한 다양한 최적화 기법들이 개시되고 있다. 그러나, 상술한 다양한 방법들은 캐싱으로 인한 이득을 최적화 하는데 목적을 두고 있으므로, 라우터에 부가되는 오버헤드의 문제점을 해결하고 있지는 못하는 것이 현실이다.Conventional technologies for solving the above problems include Hashing and Bloom filters, and Cisco is developing an ICN prototype router capable of routing at a speed of 20 Gbps or higher. Optimization techniques are being disclosed. However, since the above-described various methods aim to optimize gains due to caching, it is a reality that they do not solve the problem of overhead added to the router.

따라서, 캐싱에 따른 오버헤드를 줄이면서도 캐싱 효율을 극대화 시킬수 있는 방법에 대한 필요성이 존재한다. Therefore, there is a need for a method capable of maximizing caching efficiency while reducing overhead due to caching.

본 발명이 해결하고자 하는 과제는 ICN 라우터 및 콘텐츠 제공자 단말을 포함하는 토큰 기반 캐싱 시스템의 제어 방법, 장치 및 프로그램을 제공하는 것이다.The problem to be solved by the present invention is to provide a method, apparatus, and program for controlling a token-based caching system including an ICN router and a content provider terminal.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems that are not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 ICN 라우터 및 콘텐츠 제공자 단말을 포함하는 토큰 기반 캐싱 시스템의 제어 방법은, 상기 ICN 라우터가, 캐시 적중률을 바탕으로 토큰 생성 속도를 결정하는 단계; 상기 ICN 라우터가, 상기 결정된 토큰 생성 속도 및 마킹되지 않은 콘텐츠의 양을 바탕으로 상기 콘텐츠 제공자 단말에게 할당할 전체 토큰의 양을 결정하는 단계; 상기 콘텐츠 제공자가, 복수의 콘텐츠 중 마킹할 콘텐츠의 수를 조절하기 위한 마킹 속도를 결정하는 단계; 상기 콘텐츠 제공자 단말이, 상기 마킹 속도 및 콘텐츠 인기도를 바탕으로, 상기 ICN 라우터에 캐싱하기 위해 마킹한 제1 콘텐츠 및, 상기 ICN 라우터에 캐싱하지 않기 위해 마킹하지 않은 제2 콘텐츠를 결정하는 단계; 상기 콘텐츠 제공자 단말이, 상기 제1 콘텐츠 및 상기 제2 콘텐츠를 상기 ICN 라우터에 전송하는 단계; 및 상기 ICN 라우터가, 수신된 상기 제1 콘텐츠에 대응되는 토큰의 양을 상기 콘텐츠 제공자 단말의 전체 토큰의 양에서 차감하고, 상기 제1 콘텐츠를 상기 ICN 라우터에 캐싱하는 단계를 포함한다.A method for controlling a token-based caching system including an ICN router and a content provider terminal according to an aspect of the present invention for solving the above-described problem includes the steps of: determining, by the ICN router, a token generation rate based on a cache hit ratio; Determining, by the ICN router, a total amount of tokens to be allocated to the content provider terminal based on the determined token generation rate and the amount of unmarked content; Determining, by the content provider, a marking speed for controlling the number of contents to be marked among a plurality of contents; Determining, by the content provider terminal, a first content marked for caching in the ICN router and a second content not marked for caching in the ICN router, based on the marking speed and content popularity; Transmitting, by the content provider terminal, the first content and the second content to the ICN router; And subtracting, by the ICN router, the amount of tokens corresponding to the received first content from the total amount of tokens of the content provider terminal, and caching the first content to the ICN router.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the present invention are included in the detailed description and drawings.

상술한 본 발명의 다양한 실시예에 따라, ICN 라우터는 캐시 적중률을 최대화 하기 위한 효과적인 방법이 제시된다.According to various embodiments of the present invention described above, an ICN router is an effective method for maximizing a cache hit ratio.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 토큰 기반 캐싱 시스템을 설명하기 위한 시스템도이다.
도 2는 본 발명의 일 실시예에 따른 토큰 기반 캐싱 시스템의 동작을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 서로 다른 콘텐츠 제공자 단말이 제공한 콘텐츠에 대한 정규화된 접근 빈도를 설명하기 위한 그래프이다.
도 4 내지 도 22는 본 발명의 일 실시예에 따른 토큰 기반 캐싱 시스템의 성능을 평가한 실험 데이터를 도시한 예시도이다.
도 23은 본 발명의 일 실시예에 따른 장치의 구성도이다.
1 is a system diagram illustrating a token-based caching system according to an embodiment of the present invention.
2 is a flowchart illustrating the operation of a token-based caching system according to an embodiment of the present invention.
3 is a graph for explaining a normalized frequency of access to content provided by different content provider terminals according to an embodiment of the present invention.
4 to 22 are exemplary diagrams showing experimental data for evaluating the performance of a token-based caching system according to an embodiment of the present invention.
23 is a block diagram of an apparatus according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention, and a method of achieving them will become apparent with reference to the embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in a variety of different forms, only the present embodiments are intended to complete the disclosure of the present invention, It is provided to fully inform the technician of the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terms used in the present specification are for describing exemplary embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless specifically stated in the phrase. As used in the specification, “comprises” and/or “comprising” do not exclude the presence or addition of one or more other elements other than the mentioned elements. Throughout the specification, the same reference numerals refer to the same elements, and “and/or” includes each and all combinations of one or more of the mentioned elements. Although "first", "second", and the like are used to describe various elements, it goes without saying that these elements are not limited by these terms. These terms are only used to distinguish one component from another component. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical idea of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in the present specification may be used as meanings that can be commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not interpreted ideally or excessively unless explicitly defined specifically.

명세서에서 사용되는 "부" 또는 "모듈"이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 "모듈"은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 "모듈"은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 "모듈"은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 "모듈"은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 "모듈"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 "모듈"들로 결합되거나 추가적인 구성요소들과 "부" 또는 "모듈"들로 더 분리될 수 있다.The terms "unit" or "module" used in the specification means software, hardware components such as FPGA or ASIC, and "unit" or "module" performs certain roles. However, "unit" or "module" is not meant to be limited to software or hardware. The "unit" or "module" may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example, "sub" or "module" refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, It includes procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. Components and functions provided within "sub" or "module" may be combined into a smaller number of components and "sub" or "module" or into additional components and "sub" or "module" Can be further separated.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.Spatially relative terms "below", "beneath", "lower", "above", "upper", etc., as shown in the figure It can be used to easily describe the correlation between a component and other components. Spatially relative terms should be understood as terms including different directions of components during use or operation in addition to the directions shown in the drawings. For example, if a component shown in a drawing is turned over, a component described as "below" or "beneath" of another component will be placed "above" the other component. I can. Accordingly, the exemplary term “below” may include both directions below and above. Components may be oriented in other directions, and thus spatially relative terms may be interpreted according to orientation.

본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In the present specification, a computer refers to all kinds of hardware devices including at least one processor, and may be understood as encompassing a software configuration operating in a corresponding hardware device according to embodiments. For example, the computer may be understood as including all of a smartphone, a tablet PC, a desktop, a laptop, and a user client and an application running on each device, but is not limited thereto.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Each of the steps described herein is described as being performed by a computer, but the subject of each step is not limited thereto, and at least some of the steps may be performed by different devices according to embodiments.

도 1은 본 발명의 일 실시예에 따른 토큰 기반 캐싱 시스템을 설명하기 위한 시스템도이다.1 is a system diagram illustrating a token-based caching system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 토큰 기반 캐싱 시스템은, 콘텐츠 제공자 단말(10), ICN 라우터(20) 및 사용자 단말(30)을 포함할 수 있다.As shown in FIG. 1, the token-based caching system may include a content provider terminal 10, an ICN router 20, and a user terminal 30.

콘텐츠 제공자 단말(10)은 기 설정된 기준에 따라 ICN 라우터(20)에 캐싱 또는 마킹할 콘텐츠를 결정할 수 있다. 일 실시예로, 콘텐츠 제공자 단말(10)은 콘텐츠에 대한 인기도를 바탕으로 캐싱 또는 마킹할 콘텐츠를 결정할 수 있다.The content provider terminal 10 may determine content to be cached or marked on the ICN router 20 according to a preset criterion. In one embodiment, the content provider terminal 10 may determine the content to be cached or marked based on the popularity of the content.

본 명세서에서, 마킹은 콘텐츠에 특정 인덱스를 부가하거나, 특정 데이터 세트의 값을 지정하는 것으로, 콘텐츠 제공자 단말(10)은 캐싱할 콘텐츠를 마킹하고, ICN 라우터는 마킹된 콘텐츠를 캐싱할 수 있다. In the present specification, marking is to add a specific index to content or designate a value of a specific data set. The content provider terminal 10 may mark the content to be cached, and the ICN router may cache the marked content.

일 실시예로, 마킹은 콘텐츠 제공자 단말(10)이 전송하는 데이터 패킷의 특정 필드(예를 들어 ch 필드)에 값을 지정하여 설정될 수 있다. 예를 들어, ICN 라우터(20)는 ch 필드의 값이 1인 경우, 해당 콘텐츠가 마킹된 것으로 판단하고, ch 필드의 값이 0인 경우, 해당 콘텐츠가 마킹되지 않은 것으로 판단할 수 있다.In an embodiment, the marking may be set by designating a value in a specific field (eg, a ch field) of a data packet transmitted by the content provider terminal 10. For example, when the value of the ch field is 1, the ICN router 20 may determine that the corresponding content is marked, and when the value of the ch field is 0, the ICN router 20 may determine that the corresponding content is not marked.

ICN 라우터(20)는 라우팅 및 캐싱과 관련된 작업을 수행할 수 있다. ICN 라우터(20)에서 수행되는 캐싱 작업에는 캐시 된 콘텐츠 찾기, 캐시에 대한 콘텐츠 유효성 검사 / 쓰기가 포함될 수 있다. The ICN router 20 may perform tasks related to routing and caching. The caching operation performed by the ICN router 20 may include searching for cached contents and checking/writing contents for the cache.

또한, ICN 라우터(20)는 콘텐츠 제공자 단말(20)에게 할당할 토큰의 양을 결정할 수 있다. 콘텐츠 제공자에게 할당하는 토큰의 양은 하기 수학식 1에 의해 획득될 수 있다.In addition, the ICN router 20 may determine the amount of tokens to be allocated to the content provider terminal 20. The amount of tokens allocated to the content provider may be obtained by Equation 1 below.

[수학식 1][Equation 1]

Figure 112019103878292-pat00001
Figure 112019103878292-pat00001

이때, T는 콘텐츠 제공자 단말(10)에 할당되는 토큰의 양,γ는 토큰 생성 속도, B는 마킹되지 않은 콘텐츠(즉, ch 필드의 값이 0으로 지정된 콘텐츠)일 수 있다.In this case, T may be an amount of tokens allocated to the content provider terminal 10, γ may be a token generation rate, and B may be unmarked content (ie, content in which a value of the ch field is set to 0).

이때, 토큰 생성 속도는 캐시 적중률(cache hit)을 바탕으로 획득할 수 있다. 즉, ICN 라우터(20)는 토큰 생성 속도를 사용하여 실제로 캐시에 삽입되는 콘텐츠의 양을 제어할 수 있다. 즉, ICN 라우터(20)가 토큰을 너무 작게 생성할 경우, 정말 인기 있는 콘텐츠를 캐시에 넣지 못하는 상황이 발생할 수 있으며, 이로 인해 캐싱 효율이 작아지는 결과가 발생할 수 있다. 반대로 ICN 라우터(20)가 토큰을 너무 많이 생성할 경우, 불필요하게 많은 콘텐츠를 캐싱하게 되면서 캐싱 오버헤드를 키울 수 있으며, 동시에 인기 없는 콘텐츠를 캐시에 저장하게 됨으로써 캐싱 이득도 작아지는 결과가 발생할 수 있다. 따라서, ICN 라우터(20)는 토큰 생성 속도를 조정함으로써, 콘텐츠 제공자 단말(10)에게 제공할 전체 토큰의 양을 제어할 수 있다.At this time, the token generation rate can be obtained based on a cache hit rate. That is, the ICN router 20 can control the amount of content actually inserted into the cache by using the token generation rate. That is, if the ICN router 20 generates too small a token, a situation in which really popular content cannot be put into the cache may occur, resulting in a decrease in caching efficiency. Conversely, if the ICN router 20 generates too many tokens, caching a lot of content unnecessarily increases caching overhead, and at the same time, caching gains may decrease as unpopular content is stored in the cache. have. Accordingly, the ICN router 20 can control the total amount of tokens to be provided to the content provider terminal 10 by adjusting the token generation rate.

한편, 일 실시예에 따라, 콘텐츠가 캐시에 삽입되면 LRU, LFU 및 MFU와 같은 캐시 교체 정책에 의해 관리될 수 있다. 각각의 정책에 따라 캐시에 남아있을 정도로 인기있는 콘텐츠는 콘텐츠 공급자가 라우터에 위임 한 것으로 간주 될 수 있으며 캐시에서 제거 될 때까지 토큰 사용과 관련이 없을 수 있다. 즉, 토큰은 콘텐츠가 처음 캐싱될 때 전체 토큰에서 차감되며, 캐시에서 제거될 때까지, 캐싱된 콘텐츠는 토큰의 양에 영향을 미치지 않는다.Meanwhile, according to an embodiment, when content is inserted into a cache, it may be managed by a cache replacement policy such as LRU, LFU, and MFU. Content that is popular enough to remain in the cache according to their respective policies may be considered delegated to the router by the content provider and may not be related to token usage until removed from the cache. In other words, the token is deducted from the total token when the content is first cached, and until it is removed from the cache, the cached content does not affect the amount of tokens.

즉, ICN 서버(20)는 콘텐츠 제공자 단말(10)로부터 수신한 콘텐츠 중, 마킹된 콘텐츠와 마킹되지 않은 콘텐츠의 비율을 바탕으로 콘텐츠 제공자 단말(10)에게 제공할 토큰을 할당함으로써, 콘텐츠 제공자 단말(10)이 무분별하게 콘텐츠 캐싱 요청을 하는 것을 방지하고, 이에 따라 라우터의 캐싱 오버헤드 등을 방지할 수 있다.That is, the ICN server 20 allocates a token to be provided to the content provider terminal 10 based on the ratio of the marked content and the unmarked content among the content received from the content provider terminal 10, It is possible to prevent (10) from indiscriminately making a content caching request, thereby preventing caching overhead of the router.

일 실시예로, 제1 콘텐츠 제공자는 11개의 콘텐츠를 ICN 라우터(20)로 전송하고, 제2 콘텐츠 제공자는 110개의 콘텐츠를 ICN 라우터(20)로 제공하는 경우를 가정할 수 있다. 토큰 생성 속도가 0.1인 경우, 제1 콘텐츠 제공자는 최대 1개의 콘텐츠를 마킹하여 ICN 라우터(20)에 캐싱할 수 있고, 제2 콘텐츠 제공자는 최대 10개의 콘텐츠를 마킹하여 ICN 라우터(20)에 캐싱할 수 있다. In one embodiment, it may be assumed that the first content provider transmits 11 contents to the ICN router 20 and the second content provider provides 110 contents to the ICN router 20. When the token generation rate is 0.1, the first content provider may mark up to 1 content and cache it in the ICN router 20, and the second content provider may mark up to 10 content and cache it in the ICN router 20. can do.

사용자 단말(30)은 콘텐츠 제공자 단말(10)에게 콘텐츠를 요청하기 위한 단말이다. 사용자 단말(30)이 요청한 콘텐츠가 ICN 라우터에 캐싱되어 있는 경우, 캐시 적중률은 높아지고, 반대의 경우, 캐시 적중률은 낮아질 수 있다.The user terminal 30 is a terminal for requesting content from the content provider terminal 10. When the content requested by the user terminal 30 is cached in the ICN router, the cache hit ratio may increase, and vice versa, the cache hit ratio may decrease.

도 2는 본 발명의 일 실시예에 따른 토큰 기반 캐싱 시스템의 동작을 설명하기 위한 흐름도이다.2 is a flowchart illustrating the operation of a token-based caching system according to an embodiment of the present invention.

단계 S110에서, ICN 라우터(20)는, 캐시 적중률을 바탕으로 토큰 생성 속도(

Figure 112019103878292-pat00002
)를 결정할 수 있다.In step S110, the ICN router 20, based on the cache hit rate, the token generation rate (
Figure 112019103878292-pat00002
) Can be determined.

일 실시예로, ICN 라우터(20)는 캐시 적중률이 기 설정된 값 이하인 경우, 토큰 생성 속도의 값을 감소시키고, 캐시 적중률이 기 설정된 값 초과인 경우, 토큰 생성 속도의 값을 증가시킬 수 있다. 다만, 이에 한정되는 것은 아니고, ICN 라우터(20)는 캐시 적중률이 기 설정된 값 이하인 경우, 토큰 생성 속도의 값을 증가시키고, 캐시 적중률이 기 설정된 값 초과인 경우, 토큰 생성 속도의 값을 감소시킬 수 있음은 물론이다.In an embodiment, when the cache hit rate is less than or equal to a preset value, the ICN router 20 may decrease the value of the token generation rate, and when the cache hit rate exceeds a preset value, the ICN router 20 may increase the value of the token generation rate. However, the present invention is not limited thereto, and the ICN router 20 increases the value of the token generation rate when the cache hit rate is less than or equal to the preset value, and decreases the value of the token generation rate when the cache hit rate exceeds the preset value. Of course you can.

일 실시예로, 토큰 생성 속도는, 하기 알고리즘 1에 의해 결정될 수 있다.In one embodiment, the token generation rate may be determined by Algorithm 1 below.

Figure 112019103878292-pat00003
Figure 112019103878292-pat00003

구체적으로, 도 3에 도시된 바와 같이, 도 3a의 그래프 및 제 도 3b의 그래프는 제1 콘텐츠 제공자(이하 CP1)와 제2 콘텐츠 제공자(이하 CP2)가 각각 제공한 콘텐츠에 대한 정규화 된 액세스 빈도를 나타낸다. 이때, x 축의 Rank of content는 각 콘텐츠의 인기도에 대한 순위를 의미할 수 있다. 즉, 더 인기있는 콘텐츠일수록 순위가 낮을 수 있다. Specifically, as shown in FIG. 3, the graph of FIG. 3A and the graph of FIG. 3B are normalized access frequencies for the content provided by the first content provider (hereinafter, CP1) and the second content provider (hereinafter, CP2), respectively. Represents. At this time, the rank of content on the x-axis may mean a ranking for the popularity of each content. In other words, the more popular content, the lower the ranking.

구체적으로, 도 3a는 CP1과 CP2의 콘텐츠에 대해 동일한 양의 사용자 요청이 생성되는 상황에 대한 결과를 나타낸다. CP1과 CP2의 콘텐츠에 대해 동일한 양의 사용자 요청이 생성되지만, CP1과 CP2의 인기도 분포가 상이함을 확인할 수 있다. 이때, CP1 및 CP2가 제공하는 콘텐츠는 각각 0.7 및 1.3 매개 변수를 가지는 Zipf distribution function을 따를 수 있다. Specifically, FIG. 3A shows a result of a situation in which the same amount of user requests are generated for contents of CP1 and CP2. Although the same amount of user requests are generated for the contents of CP1 and CP2, it can be seen that the distribution of popularity of CP1 and CP2 is different. In this case, the content provided by CP1 and CP2 may follow a Zipf distribution function having parameters of 0.7 and 1.3, respectively.

도 3b 는 CP1과 CP2의 콘텐츠가 동일한 인기도를 표시하지만 CP1 콘텐츠에 대한 사용자 요청이 CP2 콘텐츠에 대한 사용자 요청보다 5 배 더 큰 경우에 대한 결과를 도시한 그래프이다. 두 결과 모두 CP1 (A1)의 순위가 낮은 콘텐츠가 CP2 (A2)의 순위가 높은 콘텐츠보다 더 자주 요청 될 수 있음을 나타낸다. 도 3b와 같은 경우, 너무 작은 토큰 생성 속도의 값을 사용하면 더 많은 요청 된 콘텐츠 (A1)를 캐시에 삽입 할 수 없으므로 캐시 적중률이 떨어질 수 있다. 나아가 너무 작은 토큰 생성 속도의 값을 사용하면 캐시에 충분한 내용이 삽입되지 않아 필요에 따라 캐시를 빠르게 업데이트하기가 어려운 경우가 존재한다.3B is a graph showing a result of a case where the contents of CP1 and CP2 display the same popularity, but the user request for the CP1 content is 5 times larger than the user request for the CP2 content. Both results indicate that content with a lower ranking of CP1 (A1) may be requested more often than content with a higher ranking of CP2 (A2). In the case of FIG. 3B, if a value of a token generation rate that is too small is used, more requested content (A1) cannot be inserted into the cache, so the cache hit rate may drop. Furthermore, there are cases in which it is difficult to quickly update the cache as necessary because sufficient contents are not inserted into the cache when a value of the token generation rate that is too small is used.

따라서, ICN 라우터(20)는, AIAD (Additive Increase 및 Additive Decrease) 방식으로 토큰 생성 속도의 값을 동적으로 제어할 수 있다. 일반적으로 ICN 라우터(20)는 덜 인기 있는 콘텐츠를 필터링하기 위해 토큰 생성 속도의 값을 점차적으로 감소시킬 수 있다. 토큰 생성 속도의 값의 감소로 인해 더 적은 양의 토큰이 생성되고 ICN 라우터(20)에서의 실제 콘텐츠 삽입 속도는 감소할 수 있다. 토큰 생성 속도의 값이 최적의 값 이하가 되면, (당연히 캐싱되어야 할)대중적인 콘텐츠도 캐시에 삽입 할 수 없어 ICN라우터(20)의 캐시 적중률이 감소할 수 있다. 이 경우 ICN 라우터(20)는 캐시 적중률이 다시 증가 할 때까지 토큰 생성 속도의 값을 증가시킬 수 있다. 즉, ICN 라우터(20)는 알고리즘 1에 나타난 바와 같이, 캐시 적중률(cache hit) 및 캐시 실패율(cache miss)의 발생 빈도에 따라 토큰 생성 속도의 값을 결정할 수 있다.Accordingly, the ICN router 20 may dynamically control the value of the token generation rate in an AIAD (Additive Increase and Additive Decrease) method. In general, the ICN router 20 may gradually decrease the value of the token generation rate in order to filter out less popular content. A smaller amount of tokens may be generated due to a decrease in the value of the token generation rate and the actual content insertion rate in the ICN router 20 may decrease. When the value of the token generation rate is less than the optimal value, the popular content (which should be cached of course) cannot be inserted into the cache, and thus the cache hit rate of the ICN router 20 may decrease. In this case, the ICN router 20 may increase the value of the token generation rate until the cache hit rate increases again. That is, the ICN router 20 may determine the value of the token generation rate according to the frequency of occurrence of a cache hit rate and a cache miss rate, as shown in Algorithm 1.

단계 S120에서, ICN 라우터(20)는, 결정된 토큰 생성 속도 및 마킹되지 않은 콘텐츠의 양을 바탕으로 콘텐츠 제공자 단말(10)에게 할당할 전체 토큰의 양을 결정할 수 있다.In step S120, the ICN router 20 may determine the total amount of tokens to be allocated to the content provider terminal 10 based on the determined token generation rate and the amount of unmarked content.

상술한 바와 같이, ICN 라우터(20)는 수학식 1을 바탕으로 콘텐츠 제공자 단말(10)에게 제공할 전체 토큰의 양을 결정할 수 있다.As described above, the ICN router 20 may determine the total amount of tokens to be provided to the content provider terminal 10 based on Equation 1.

단계 S130에서, 콘텐츠 제공자 단말(10)은 복수의 콘텐츠 중 마킹할 콘텐츠의 수를 조절하기 위한 마킹 속도(δ)를 결정할 수 있다.In step S130, the content provider terminal 10 may determine a marking speed δ for adjusting the number of contents to be marked among a plurality of contents.

일 실시예로, 콘텐츠 제공자 단말(10)은 가능한 많은 콘텐츠를 ICN 라우터(20)에 캐싱하는 것을 목표로 한다. 그러나, 본 발명에 따른 토큰 기반 캐싱 시스템에서는 콘텐츠 캐싱이 마킹에 의해 발생하므로, 콘텐츠 제공자 단말(10)은 마킹 속도는 토큰 생성 속도에 의해 결정된다. In one embodiment, the content provider terminal 10 aims to cache as much content as possible in the ICN router 20. However, in the token-based caching system according to the present invention, since content caching occurs by marking, the content provider terminal 10 has a marking rate determined by the token generation rate.

구체적으로, 마킹 속도가 토큰 생성 비율보다 작은 경우, 콘텐츠 제공자 단말(10)은 ICN 라우터(20)에 더 많은 콘텐츠를 캐싱 할 수 있는 토큰을 가지고 있지만 토큰을 완전히 사용하지 못하며, 반대의 경우, 토큰이 부족하여 모든 마킹된 콘텐츠가 ICN 라우터(20)에 캐싱되지 않는다. 나아가 수학식 1에 의해, 마킹된 콘텐츠는 토큰 생성에 기여하지 않으므로, 캐싱 효율을 최대화하기 위해서는 마킹 속도와 토큰 생성 속도가 등가를 이루어야 한다. 따라서, 콘텐츠 제공자 단말(10)은 토큰 생성 속도를 획득하여 마킹 속도를 토큰 생성 속도와 등가가 되도록 조절할 필요성이 존재한다.Specifically, when the marking rate is less than the token generation rate, the content provider terminal 10 has a token capable of caching more content in the ICN router 20, but cannot fully use the token. Due to this lack, all marked content is not cached in the ICN router 20. Furthermore, since the content marked by Equation 1 does not contribute to token generation, the marking speed and the token generation speed must be equivalent in order to maximize caching efficiency. Accordingly, there is a need for the content provider terminal 10 to acquire the token generation rate and adjust the marking rate to be equivalent to the token generation rate.

콘텐츠 제공자 단말(10)은 마킹 속도를 결정하기 위한 방법으로, 통지 기반 접근법 및 추정 기반 접근법 중 적어도 하나의 방법을 이용할 수 있다. 통지 기반 접근법 및 추정 기반 접근법에 대한 구체적인 설명은 후술한다.The content provider terminal 10 may use at least one of a notification-based approach and an estimation-based approach as a method for determining the marking speed. A detailed description of the notification-based approach and the estimation-based approach will be described later.

단계 S140에서, 콘텐츠 제공자 단말(10)은, 마킹 속도 및 콘텐츠 인기도를 바탕으로, ICN 라우터에 캐싱하기 위해 마킹한 제1 콘텐츠 및, ICN 라우터(20)에 캐싱하지 않기 위해 마킹하지 않은 제2 콘텐츠를 결정할 수 있다.In step S140, the content provider terminal 10, based on the marking speed and content popularity, the first content marked for caching in the ICN router, and the second content not marked in order not to be cached in the ICN router 20. Can be determined.

단계 S150에서, 콘텐츠 제공자 단말(10)은, 제1 콘텐츠 및 제2 콘텐츠를 ICN 라우터(20)에 전송할 수 있다.In step S150, the content provider terminal 10 may transmit the first content and the second content to the ICN router 20.

단계 S160에서, ICN 라우터(20)는, 수신된 제1 콘텐츠에 대응되는 토큰의 양을 콘텐츠 제공자 단말의 전체 토큰의 양에서 차감하고, 제1 콘텐츠를 ICN 라우터(20)에 캐싱할 수 있다. In step S160, the ICN router 20 may subtract the amount of tokens corresponding to the received first content from the total amount of tokens of the content provider terminal, and cache the first content in the ICN router 20.

한편, 상술한 바와 같이, 콘텐츠 제공자 단말(10)은 통지 기반 접근법 및 추정 기반 접근법 중 적어도 하나의 방법을 이용하여 ICN 라우터(20)에 의해 생성되는 토큰 생성 속도를 획득 또는 추정하고, 획득 또는 추정된 토큰 생성 속도를 바탕으로 마킹 속도를 결정할 수 있다.Meanwhile, as described above, the content provider terminal 10 acquires or estimates the token generation rate generated by the ICN router 20 using at least one of a notification-based approach and an estimation-based approach, and obtains or estimates The marking rate can be determined based on the generated token generation rate.

일 실시예로, 콘텐츠 제공자 단말(10)은 통지 기반 접근법을 바탕으로 ICN 라우터(20)에서 생성되는 토큰 생성 속도를 획득할 수 있다. 즉, 콘텐츠 제공자 단말(10)은 ICN 라우터로부터 토큰 생성 속도에 대한 데이터를 수신하여 마킹 속도를 결정할 수 있다.In one embodiment, the content provider terminal 10 may obtain a token generation rate generated by the ICN router 20 based on a notification-based approach. That is, the content provider terminal 10 may determine the marking rate by receiving data on the token generation rate from the ICN router.

다만, 일반적인 ICN 환경에서는, 콘텐츠 제공자 단말(10)과 사용자 단말(30) 사이에서는 복수개의 라우터가 존재한다. 따라서, 경로상의 모든 ICN 라우터는 1) 관심 패킷에 자신의 토큰 생성 속도 값을 포함시켜 콘텐츠 제공자 단말(10)이 유효 토큰 생성 속도 (

Figure 112019103878292-pat00004
)를 계산하거나 2) 패킷에 기록 된 유효 토큰 생성 속도 값을 자신의 것을 반영하도록 업데이트 하여 토큰 생성 속도를 획득할 수 있다.However, in a general ICN environment, a plurality of routers exist between the content provider terminal 10 and the user terminal 30. Therefore, all ICN routers on the path 1) include their own token generation rate value in the interest packet, so that the content provider terminal 10 is at the effective token generation rate (
Figure 112019103878292-pat00004
) Or 2) update the effective token generation rate value recorded in the packet to reflect your own to obtain the token generation rate.

즉, 콘텐츠 제공자 단말(10)은 콘텐츠 제공자 단말(10)과 사용자 단말(30)의 경로 상에 있는 모든 ICN 라우터로부터 토큰 생성 속도에 대한 데이터를 수신하고, 수신된 데이터를 바탕으로 유효 토큰 생성 속도를 획득할 수 있다. 즉, 본 명세서에서, 유효 토큰 생성 속도는, 실제로는 콘텐츠 제공자 단말(10)과 사용자 단말(30) 사이에 존재하는 복수개의 ICN 라우터가 존재하지만, 콘텐츠 제공자 단말(10)과 사용자 단말(30) 하나의 ICN 라우터가 존재하는 것으로 가정한 경우에 대한 토큰 생성 속도를 의미할 수 있다.That is, the content provider terminal 10 receives data on the token generation rate from all ICN routers on the path between the content provider terminal 10 and the user terminal 30, and based on the received data, the effective token generation rate Can be obtained. That is, in the present specification, the effective token generation rate is actually a plurality of ICN routers existing between the content provider terminal 10 and the user terminal 30, but the content provider terminal 10 and the user terminal 30 It may mean the rate of token generation when it is assumed that there is one ICN router.

이때, 유효 토큰 생성 속도는 하기 수학식 2를 바탕으로 결정될 수 있다.In this case, the effective token generation rate may be determined based on Equation 2 below.

[수학식 2][Equation 2]

Figure 112019103878292-pat00005
Figure 112019103878292-pat00005

이때, β는 0 이상 1 이하의 임의의 상수일 수 있다.In this case, β may be an arbitrary constant of 0 or more and 1 or less.

다만, 이 경우, 복수개의 ICN 라우터가 각각 자신의 토큰 생성 속도를 바탕으로 유효 토큰 생성 속도를 획득하여 경로상의 다음 ICN 라우터로 전송하여야 하므로, 경로상의 라우터의 수가 증가할수록 라우터간 전달하는 패킷의 크기가 증가하며, 각각의 라우터는 경로상의 라우터로부터 수신한 각각의 라우터의 유효 토큰 생성 속도를 바탕으로 자신의 유효 토큰 생성 속도를 재계산하게 되어, ICN 라우터에서의 계산량이 증가하게 된다. 다만, 유효 토큰 생성 속도를 ICN 라우터(20)가 계산하여 콘텐츠 제공자 단말(10)로 전달하므로, 콘텐츠 제공자 단말(10)은 별다른 리소스 낭비 없이 유효 토큰 생성 속도를 획득하여 마킹 속도를 결정할 수 있는 장점이 있다. However, in this case, since each of the plurality of ICN routers must obtain an effective token generation rate based on their token generation rate and transmit it to the next ICN router on the path, the size of the packet transmitted between routers increases as the number of routers on the path increases. Is increased, and each router recalculates its own effective token generation rate based on the effective token generation rate of each router received from the router on the path, thereby increasing the amount of calculation in the ICN router. However, since the effective token generation rate is calculated by the ICN router 20 and transmitted to the content provider terminal 10, the content provider terminal 10 has the advantage of determining the marking rate by acquiring the effective token generation rate without wasting any other resources. There is this.

또 다른 실시예로, 콘텐츠 제공자 단말(10)은 추정 기반 접근법을 바탕으로 ICN 라우터(20)에서 생성되는 토큰 생성 속도를 획득할 수 있다. 구체적으로, 콘텐츠 제공자 단말(10)은 ICN 라우터(20)로부터 유효 토큰 생성 속도를 수신하는 것이 아니라, 요청 수신 속도(request receiving rate)를 바탕으로 유효 토큰 생성 속도를 추정할 수 있다.In another embodiment, the content provider terminal 10 may obtain a token generation rate generated by the ICN router 20 based on an estimation-based approach. Specifically, the content provider terminal 10 may estimate the effective token generation rate based on the request receiving rate rather than receiving the effective token generation rate from the ICN router 20.

구체적으로, 콘텐츠 제공자 단말(10)은 초기 마킹 속도에서 마킹 속도를 증가시켜, 더 많은 콘텐츠를 ICN 라우터(20)에 캐싱할 수 있다. 마킹 속도가 증가할수록, 캐싱된 콘텐츠가 증가하므로, 각각의 콘텐츠에 대한 요청 수신 비율은 감소할 수 있다. 즉, 더 많은 사용자 요청이 ICN 라우터(20)의 캐시에 의해 제공되고, 콘텐츠 제공자 단말(10)의 요청 수신 속도의 비율이 감소할 수 있다.Specifically, the content provider terminal 10 may increase the marking speed from the initial marking speed to cache more contents in the ICN router 20. As the marking speed increases, the cached content increases, so that the request reception ratio for each content may decrease. That is, more user requests are provided by the cache of the ICN router 20, and the ratio of the request reception speed of the content provider terminal 10 may decrease.

마킹 속도가 증가함에 따라, 마킹 속도가 유효 토큰 생성 속도보다 커지면, 콘텐츠 제공자 단말(10)이 콘텐츠에 마킹을 하더라도, 할당된 토큰이 부족하므로, 콘텐츠의 캐싱 속도가 감소할 수 있다. 이 경우, 콘텐츠 제공자 단말(10)은 마킹 속도가 증가하더라도 더 많은 요청을 받게 된다. As the marking speed increases, if the marking speed is greater than the effective token generation speed, even if the content provider terminal 10 marks the content, the allocated token is insufficient, so that the caching speed of the content may decrease. In this case, the content provider terminal 10 receives more requests even if the marking speed increases.

마킹 속도가 증가하면서 기 설정된 횟수 이상의 요청을 수신하는 경우, 콘텐츠 제공자 단말(10)은 마킹 속도가 유효 토큰 생성 속도보다 크다고 판단하고, 마킹 속도를 감소시킬 수 있다.When a request for more than a preset number of times is received while the marking speed increases, the content provider terminal 10 determines that the marking speed is greater than the effective token generation speed, and may decrease the marking speed.

마킹 속도가 다시 유효 토큰 생성 속도보다 작아지면, 캐싱되는 콘텐츠의 양이 마킹 속도에 의해 제한되고, 요청 수신 속도는 마킹 속도의 감소에 비례하여 증가하게 된다. When the marking rate becomes smaller than the effective token generation rate again, the amount of cached content is limited by the marking rate, and the request reception rate increases in proportion to the decrease in the marking rate.

즉, 마킹 속도가 감소하면서 요청 수신 속도가 기 설정된 속도 이상인 경우, 콘텐츠 제공자 단말(10)은 마킹 속도를 증가시킬 수 있다. That is, when the request reception speed is greater than or equal to a preset speed while the marking speed decreases, the content provider terminal 10 may increase the marking speed.

구체적으로, 콘텐츠 제공자 단말(10)은 하기 알고리즘 2를 바탕으로 마킹 속도를 결정할 수 있다.Specifically, the content provider terminal 10 may determine the marking speed based on Algorithm 2 below.

Figure 112019103878292-pat00006
Figure 112019103878292-pat00006

한편, 본 발명의 다양한 실시예에 따라, 콘텐츠 제공자 단말(10)은 기 설정된 조건을 만족하면, 유효 토큰 생성 속도와 관계없이 마킹 속도를 증가시킬 수 있다. 일 실시예로, 콘텐츠 제공자 단말(10)은 콘텐츠의 인기도가 기 설정된 시간 안에 기 설정된 범위 이상 증가하는 경우, 마킹 속도를 증가시킬 수 있다.On the other hand, according to various embodiments of the present invention, if the content provider terminal 10 satisfies a preset condition, the marking speed may be increased regardless of the effective token generation speed. In one embodiment, the content provider terminal 10 may increase the marking speed when the popularity of the content increases by more than a preset range within a preset time.

즉, 콘텐츠의 인기가 변하여 새로운 인기 있는 콘텐츠에 대한 사용자 요청이 순간적으로 급격히 증가 하는 경우가 발생할 수 있다. 이 경우, 콘텐츠 제공자 단말(10)에서의 요청 수신 속도는 유효 토큰 생성 속도에 관계없이 증가 하게 된다. 따라서, 유효 토큰 생성 속도를 추정 할 때 상기와 같은 예외적인 경우를 피하기 위해, 콘텐츠 제공자 단말(10)은 요청 수신 비율의 증가가 기 설정된 값 이상인 경우 콘텐츠의 인기도가 변경되었다고 결정하고, 새로운 인기 콘텐츠로 캐시를 업데이트하기 위해 마킹 속도를 증가시킬 수 있다.In other words, there may be a case in which the popularity of the content changes and the user request for the new popular content instantaneously increases rapidly. In this case, the request reception rate at the content provider terminal 10 increases regardless of the effective token generation rate. Therefore, in order to avoid such exceptional cases when estimating the effective token generation rate, the content provider terminal 10 determines that the popularity of the content has changed when the increase in the request reception rate is more than a preset value, and You can increase the marking speed to update the cache.

이하에서는 도 4 내지 도 22를 바탕으로 본 발명을 실험적으로 구현하고, 본 발명의 다양한 효과에 대한 실험 데이터를 설명한다.Hereinafter, the present invention is experimentally implemented based on FIGS. 4 to 22, and experimental data for various effects of the present invention will be described.

본 발명에 따른 토큰 기반 캐싱 시스템의 성능 평가는 합성 데이터와 실제 트레이스를 사용한 시뮬레이션 및 실험 연구를 통해 검증된다. 일 실시예로, 본 명세서는 덤벨 토폴로지, DFN 및 Rocketfuel에서 ndnSIM을 사용하여 시뮬레이션 연구를 수행하고 NFD가 설치된 노드로 구성된 트리 구조 토폴로지의 테스트 베드 네트워크에서 실험 연구를 수행할 수 있다. 시뮬레이션 토폴로지에서 코어 및 에지 링크의 대역폭은 각각 100Mbps 및 10Mbps로 설정되며 테스트 베드 네트워크의 모든 링크는 1Gbps의 대역폭을 갖도록 설정될 수 있다. The performance evaluation of the token-based caching system according to the present invention is verified through simulation and experimental studies using synthetic data and real traces. As an embodiment, the present specification may perform a simulation study using ndnSIM in a dumbbell topology, DFN and Rocketfuel, and an experimental study in a test bed network of a tree structure topology composed of nodes in which NFD is installed. In the simulation topology, the bandwidth of the core and edge links is set to 100 Mbps and 10 Mbps, respectively, and all links in the test bed network can be set to have a bandwidth of 1 Gbps.

또 다른 실시예로, 토큰 기반 캐싱 시스템 은 LRU, LFU, FIFO를 포함한 다양한 캐시 교체 정책으로 평가되며 1 % 및 10 %의 확률로 무작위로 샘플링 된 캐싱 체계와 비교될 수 있다. 합성 데이터를 사용한 시뮬레이션에서 10 개의 콘텐츠 제공자 단말(이하, CP)가 105 개의 고유 콘텐츠를 제공하고 초당 50 개의 비율로 10 개의 사용자 단말(30)이 요청할 수 있다. 각 클라이언트에서 요청 간 지연은 λ = 0.025 인 지수 분포를 따르고 각 콘텐츠 제공자 단말(20)이 제공하는 콘텐츠의 인기도는 매개 변수 값 α를 가진 Zipf-Mandelbrot 분포에 의해 결정될 수 있다. 이때 α의 값은 0.7에서 1.3 사이일 수 있다. 또한, 합성 데이터를 사용한 모든 시뮬레이션은 5000 초 동안 실행되며 1000 초에서 4000 초의 결과가 표시될 수 있다. 상기 수학식 2에서 사용된 β의 값은 0.3으로 설정될 수 있다.In another embodiment, the token-based caching system is evaluated with various cache replacement policies including LRU, LFU, and FIFO, and can be compared with a caching scheme sampled at random with 1% and 10% probability. In a simulation using synthetic data, 10 content provider terminals (hereinafter, CP) provide 105 unique contents, and 10 user terminals 30 can request at a rate of 50 per second. The delay between requests in each client follows an exponential distribution of λ = 0.025, and the popularity of the content provided by each content provider terminal 20 may be determined by a Zipf-Mandelbrot distribution having a parameter value α. At this time, the value of α may be between 0.7 and 1.3. In addition, all simulations using synthetic data run for 5000 seconds and results from 1000 to 4000 seconds can be displayed. The value of β used in Equation 2 may be set to 0.3.

다만, 상술한 실험 환경에 한정되는 것은 아니며, 필요에 따라 다양한 실험 환경에 따른 결과를 도출할 수 있음은 물론이다.However, it is not limited to the above-described experimental environment, and of course, results according to various experimental environments may be derived as needed.

도 4 내지 도 22는 본 발명의 일 실시예에 따른 토큰 기반 캐싱 시스템의 성능을 평가한 실험 데이터를 도시한 예시도이다.4 to 22 are exemplary diagrams showing experimental data for evaluating the performance of a token-based caching system according to an embodiment of the present invention.

도 8은 본 발명의 일 실시예에 따른 정적 콘텐츠에 대한 덤벨 토폴로지를 도시한 예시도이다. 도 8에 도시된 바와 같이, 덤벨 토폴로지는 4개의 콘텐츠 제공자 단말, 3개의 ICN 라우터, 4개의 사용자 단말로 구현될 수 있다.8 is an exemplary diagram showing a dumbbell topology for static content according to an embodiment of the present invention. As shown in FIG. 8, the dumbbell topology may be implemented with 4 content provider terminals, 3 ICN routers, and 4 user terminals.

구체적으로, 토큰 기반 캐싱 방법은 R1에 설치된 LRU 캐시에서 작동하며 네트워크 전체의 캐시 크기는 총 콘텐츠의 0.01 %에서 1 %로 다양할 수 있으며, 다양한 패턴의 사용자 요청이 사용될 수 있다. Specifically, the token-based caching method operates on the LRU cache installed in R1, and the cache size of the entire network can vary from 0.01% to 1% of the total content, and various patterns of user requests can be used.

특히 1) 각각의 콘텐츠 제공자 단말에 대해 동일한 양의 사용자 요청이 생성되고 Zipf-Mandelbrot 분포 (2, 3, 나머지 5 개 콘텐츠 제공자 단말의 경우 1.3, 1.0 및 0.7)에서 다양한 α값을 사용하여 서로 다른 종류의 인기도 분포가 적용될 수 있으며, 2) α의 값이 공통으로 1.0으로 설정되면, 사용자 단말은 초당 20, 50 및 100 조각의 비율로 5, 3 및 2 개의 콘텐츠 제공자 단말이 제공하는 콘텐츠를 요청할 수 있다. In particular, 1) the same amount of user requests is generated for each content provider terminal, and different values of α are used in the Zipf-Mandelbrot distribution (2, 3, and 1.3, 1.0 and 0.7 for the remaining 5 content provider terminals). Types of popularity distribution can be applied, and 2) If the value of α is commonly set to 1.0, the user terminal requests content provided by 5, 3 and 2 content provider terminals at a rate of 20, 50 and 100 pieces per second. I can.

도 4 내지 도 12는 정적 콘텐츠에 대한 성능을 설명하기 위한 도면이다.4 to 12 are diagrams for explaining the performance of static content.

도 4 및 도 5는 캐시에서의 캐시 적중률, 캐싱 비율 및 캐시 적중 콘텐츠의 비율의 결과를 도시한 도면이다. 4 and 5 are diagrams showing results of a cache hit ratio in a cache, a cache hit ratio, and a cache hit content ratio.

도 4b 및 도 5b에 도시괸 바와 같이, 본 발명에 따른 토큰 기반 캐싱 시스템은 모두 기본 LRU에 비해 캐싱 속도를 0.05 %로 실질적으로 감소시키는 것을 확인할 수 있다. 그럼에도 불구하고 토큰 기반 캐싱 시스템은 캐시에 저장된 콘텐츠의 99 % 이상이 캐시에서 삭제되고 캐시 적중률이 개선되기 전에 사용자 요청을 처리할 수 있다. 콘텐츠 삽입율이 1 % 인 샘플링 기법은 비슷하지만 약간 작은 캐시 적중률을 생성하는 것을 확인할 수 있다.As shown in FIGS. 4B and 5B, it can be seen that all token-based caching systems according to the present invention substantially reduce caching speed to 0.05% compared to the basic LRU. Nevertheless, token-based caching systems can handle user requests before more than 99% of the content stored in the cache is removed from the cache and the cache hit rate improves. The sampling technique with a content insertion rate of 1% is similar, but it can be seen that it produces a slightly smaller cache hit rate.

도 6 및 도 7은 2 개의 토큰 기반 캐싱 시스템의 구현에서, 각각 α 및 요청 비율의 값에 따른 캐시의 구성을 도시한다. 6 and 7 show configurations of caches according to values of α and request rate, respectively, in an implementation of two token-based caching systems.

캐시의 구성은 두 가지 구현에서 비슷한 형태로 나타나며, 추정 기반 접근 방식이 통지 기반 접근 방식과 거의 동일한 방식으로 작동 할 수 있음을 확인할 수 있다. 도 6에 도시된 바와 같이, 캐시 크기가 작은 경우, 캐시의 많은 부분이 콘텐츠 제공자 단말에 대해 가장 인기 있는 콘텐츠에 의해 점유되며 이때 α는 1.3의 값을 가질 수 있다. 캐시 크기가 증가함에 따라 α 값이 1.3 인 콘텐츠 제공자 단말은 캐시의 콘텐츠 공유가 낮을 수 있다. 이는 동일한 순위가 낮은 콘텐츠를 비교할 때 값이 낮은 콘텐츠 제공자 단말의 콘텐츠가 액세스 빈도가 높기 때문일 수 있다. The configuration of the cache appears in a similar form in the two implementations, and it can be seen that the inference-based approach can operate in almost the same way as the notification-based approach. As shown in FIG. 6, when the cache size is small, a large portion of the cache is occupied by the most popular content for the content provider terminal, and in this case, α may have a value of 1.3. As the cache size increases, a content provider terminal having an α value of 1.3 may have low content sharing in the cache. This may be because the content of the content provider terminal having a low value has a high access frequency when comparing the content with the same ranking low.

한편, 도 7에 도시된 바와 같이, 100 reqs / sec를 갖는 콘텐츠 제공자 단말에 의한 캐시의 공유는 캐시 크기에 비례하여 감소하는 것을 확인할 수 있다. 이는 캐시 크기가 증가함에 따라 초당 20 및 50 개의 reqs / sec가 캐시에 더 오랜 기간 동안 유지되는 콘텐츠 제공자 단말의 인기 있는 콘텐츠의 결과일 수 있다.Meanwhile, as illustrated in FIG. 7, it can be seen that the sharing of the cache by the content provider terminal having 100 reqs / sec decreases in proportion to the cache size. This may be the result of popular content from content provider terminals where 20 and 50 reqs/sec per second remain in the cache for a longer period of time as the cache size increases.

도 9 및 도 10은 토큰 기반 캐싱 시스템과 LFU 및 FIFO와 결합 될 때의 토큰 기반 캐싱 시스템의 성능을 도시한 도면이다. 9 and 10 are diagrams showing the performance of a token-based caching system and a token-based caching system when combined with an LFU and FIFO.

이때, 캐시 크기는 전체 콘텐츠의 0.5 %로 설정될 수 있다. 일반적으로 LFU는 LRU보다 훨씬 큰 캐시 적중률을 달성하지만 관리에 의한 오버 헤드가 훨씬 크기 때문에 제한적으로 사용된다.In this case, the cache size may be set to 0.5% of the total content. In general, LFU achieves a much larger cache hit ratio than LRU, but it is limitedly used because the overhead by management is much larger.

기본 LFU는 캐시 적중률과 캐시의 적중률 비율 측면에서 상당히 우수한 성능을 보여주므로, LFU를 본 발명에 따른 토큰 기반 캐싱 시스템 과 결합하면 캐시 삽입 오버 헤드가 0.05 %로 크게 줄어들고, 캐싱 성능 또한 향상될 수 있다.Since the basic LFU shows quite excellent performance in terms of the cache hit ratio and the cache hit ratio ratio, when the LFU is combined with the token-based caching system according to the present invention, the cache insertion overhead can be greatly reduced to 0.05%, and caching performance can also be improved. .

또 다른 실시예로, 본 발명에 따른 토큰 기반 캐싱 시스템이 FIFO와 결합 할 경우, 더욱 뛰어난 성능을 달성할 수 있음을 확인할 수 있다.In another embodiment, when the token-based caching system according to the present invention is combined with FIFO, it can be seen that more excellent performance can be achieved.

일반적인 FIFO는 캐시에서 가장 인기 있는 콘텐츠까지도 추출 할 수 있어 더 많은 캐시 삽입하더라도 LFU보다 캐시 적중률이 낮은 특징이 있다. 그러나 본 발명에 따른 토큰 기반 캐싱 시스템과 FIFO와 함께 구현될 경우, 캐시에 삽입되는 콘텐츠의 양이 크게 줄어들어 삽입 된 인기 콘텐츠가 캐시에 더 오래 머무를 수 있는 효과가 존재한다. 즉, 본 발명에 따른 토큰 기반 캐싱 시스템과 FIFO가 결합하여 구현되면, 적은 콘텐츠 삽입으로도 높은 캐시 적중률을 달성할 수 있다. 다만 샘플링 기법은 캐싱 속도를 1 %로 줄일 수 있으나, LFU 및 FIFO의 캐시 적중률은 개선하지 않게 된다. 이는, 랜덤 샘플링의 효과가 LRU로 제한 될 수 있음을 의미할 수 있다.A typical FIFO can extract even the most popular content from the cache, so even if more cache is inserted, it has a lower cache hit ratio than LFU. However, when implemented together with the token-based caching system and FIFO according to the present invention, the amount of content inserted into the cache is greatly reduced, so that the inserted popular content can stay in the cache longer. That is, when the token-based caching system according to the present invention and the FIFO are implemented in combination, a high cache hit rate can be achieved with little content insertion. However, the sampling technique can reduce the caching speed to 1%, but does not improve the cache hit ratio of LFU and FIFO. This may mean that the effect of random sampling may be limited to LRU.

한편, 도 11 및 도 12에 도시 된 바와 같이, 본 발명에 따른 토큰 기반 캐싱 시스템은 의 두 구현은 LFU 및 FIFO에서도 유사한 캐시 구성을 초래할 수 있다. 이는 추정 기반 접근법이 통지 기반 접근법과 유사한 방식으로 작동 할 수 있음을 의미할 수 있다.On the other hand, as shown in Figures 11 and 12, the two implementations of the token-based caching system according to the present invention may result in a similar cache configuration in the LFU and FIFO. This could mean that the estimate-based approach can work in a similar way to the notification-based approach.

도 13 및 도 14는 동적 콘텐츠에 대한 성능을 설명하기 위한 도면이다.13 and 14 are diagrams for explaining the performance of dynamic content.

상술한 바와 같이, 도 4 내지 도 12는 인기도가 변화하지 않는 정적 콘텐츠에 대한 성능 평가와 관련된 것이었다. 그러나 콘텐츠의 인기도는 시간에 따라 변경되는 환경이 많으므로, 동적 콘텐츠에 대한 성능 평가의 필요성이 존재한다. 이때, 캐시 크기는 전체 콘텐츠의 0.5 %로 설정되며 난수 θ를 추가하여 2450개만큼 콘텐츠 인기 순위를 변경하는 것으로 가정한다. 즉, i 번째 순위의 콘텐츠는 i+θ 순위 콘텐츠가 될 수 있다. i+θ가 총 콘텐츠 수 (N)보다 큰 경우 순위는 모듈 식 산술에 의해 i+θ-N이 될 수 있다.As described above, FIGS. 4 to 12 are related to performance evaluation for static content that does not change in popularity. However, since there are many environments where the popularity of content changes over time, there is a need for performance evaluation for dynamic content. In this case, it is assumed that the cache size is set to 0.5% of the total content, and the content popularity ranking is changed by 2450 by adding a random number θ. That is, the i-th priority content may be i+θ ranking content. When i+θ is greater than the total number of contents (N), the ranking may be i+θ-N by modular arithmetic.

대부분의 비교 방식에서, 콘텐츠의 인기도가 변함에 따라 캐시 적중률이 변하는 것을 확인할 수 있다. 정적 콘텐츠 환경 하에서 토큰 기반 캐싱 시스템과 유사한 성능을 보여주도록 샘플링 된 LRU(1 %)의 경우, 캐시 적중률이 오랜 시간 (Ts) 후에 복원되는 것을 확인할 수 있다. 이는, 고정 된 작은 삽입 확률로 인해 캐시가 거의 업데이트되지 않고 캐시에 오래된 내용이 채워져 있기 때문인 것으로 판단할 수 있다. 반대로, 토큰 기반 캐싱 시스템 은 토큰 생성 속도 및 마킹 속도의 관계를 이용하여 캐시 적중률을 빠르게 복구하므로, 상술한 알고리즘1 및 알고리즘 2에 의해 ICN 라우터에서 토큰 생성 속도의 값이 증가하고 캐시는 Tp의 간격마다 리프레쉬될 수 있다. 즉, 도 13b에 도시된 바와 같이, 콘텐츠 제공자 단말은 마킹 속도의 값을 증가시켜 캐시에 더 많은 내용을 삽입할 수 있다. In most comparison methods, it can be seen that the cache hit ratio changes as the popularity of the content changes. In the case of an LRU (1%) sampled to show similar performance to a token-based caching system in a static content environment, it can be seen that the cache hit rate is restored after a long time (Ts). It can be determined that this is because the cache is hardly updated due to a fixed small insertion probability and old contents are filled in the cache. Conversely, the token-based caching system quickly recovers the cache hit rate by using the relationship between the token generation rate and the marking rate, so the value of the token generation rate in the ICN router increases by the above-described Algorithm 1 and Algorithm 2, and the cache is the interval of Tp. It can be refreshed every time. That is, as shown in FIG. 13B, the content provider terminal can insert more content into the cache by increasing the value of the marking speed.

구체적으로, 상술한 바와 같이, 통지 기반 접근법에서, 마킹 속도는 네트워크로부터 전달 된 유효 토큰 생성 속도에 의해 설정되며, 추정 기반 접근법에서, 콘텐츠 제공자 단말은 수신 요청의 수의 급격한 증가를 관찰함으로써 콘텐츠 인기도의 변화를 검출 할 수 있다. Specifically, as described above, in the notification-based approach, the marking rate is set by the effective token generation rate delivered from the network, and in the estimation-based approach, the content provider terminal observes a rapid increase in the number of received requests, thereby increasing the popularity of the content. The change of can be detected.

본 실험 환경에서, ICN 라우터는 약 2650 번째에서 토큰 생성 속도의 값의 증가를 멈출 수 있으며, 이는 도 13c에 도시 된 바와 같이 콘텐츠 제공자 단말이 마킹 속도를 감소시킬 수 있다.In this experimental environment, the ICN router may stop increasing the value of the token generation rate at about 2650th, which may reduce the marking rate of the content provider terminal as shown in FIG. 13C.

한편, 도 14는 다양한 α 세트(즉, 다양한 인기도 갭)를 적용한 경우의 결과를 나타내며, 도 14를 참조하면, α 세트의 변화와 관계 없이 본 발명의 목적을 달성할 수 있음을 확인할 수 있다.Meanwhile, FIG. 14 shows the result of applying various α sets (ie, various popularity gaps), and referring to FIG. 14, it can be seen that the object of the present invention can be achieved regardless of a change in α set.

한편, 본 발명의 다양한 실시예에 따라, 토큰 기반 캐싱 시스템은 콘텐츠 제공자 단말과 사용자 단말 사이의 거리를 바탕으로 효율적인 콘텐츠 전송을 수행할 수 있다. Meanwhile, according to various embodiments of the present invention, a token-based caching system may perform efficient content transmission based on a distance between a content provider terminal and a user terminal.

효율적인 링크 사용을 위해, 더 긴 거리를 통과(즉, 더 많은 라우터를 통과) 한 콘텐츠는 캐시에서 더 높은 우선 순위를 가질 수 있다. 토큰 기반 캐싱 시스템은 각각의 콘텐츠 제공자 단말마다 다른 토큰 생성 속도를 제공할 수 있다.For efficient link usage, content that has traversed longer distances (ie, traversed more routers) may have a higher priority in the cache. The token-based caching system may provide different token generation rates for each content provider terminal.

도 15는, 두개의 콘텐츠 제공자 단말에게 다른 토큰 생성 속도를 제공하는 경우의 효과를 설명하기 위한 도면이다.15 is a diagram for explaining the effect of providing different token generation rates to two content provider terminals.

이때, 두개의 콘텐츠 제공자 단말에 할당 된 가중치의 비율은 1에서 7까지 다양할 수 있다. In this case, the ratio of the weights allocated to the two content provider terminals may vary from 1 to 7.

구체적으로, 도 15는 서로 다른 가중치를 가지는 두 콘텐츠 제공자 단말에서의 캐시 적중률의 결과 및 캐시의 내용 비율을 설명한다. 도 15a에 도시 된 바와 같이, 가중치의 비율이 증가함에 따라, 더 큰 가중치를 갖는 콘텐츠 제공자 단말로부터의 더 많은 콘텐츠가 캐시에 저장되고, 도 15b에 도시 된 바와 같이 그 결과 전체 캐시 적중률의 비율이 감소한다. 이는, 더 큰 가중치를 가진 콘텐츠 제공자 단말의 인기 있는 콘텐츠가 더 적은 가중치를 가진 콘텐츠 제공자 단말의 인기 있는 콘텐츠에 비해 캐시에 더 쉽게 삽입 될 수 있기 때문이다.Specifically, FIG. 15 illustrates a result of a cache hit ratio and a content ratio of a cache in two content provider terminals having different weights. As shown in Fig. 15A, as the ratio of the weight increases, more contents from the content provider terminal having a larger weight are stored in the cache, and as a result, the ratio of the total cache hit ratio is reduced as shown in Fig. 15B. Decreases. This is because the popular content of the content provider terminal having a higher weight can be more easily inserted into the cache than the popular content of the content provider terminal having a lower weight.

도 16은, 실제의 테스트 베드 네트워크에서 구현된 토큰 기반 캐싱 시스템을 도시한 도면이다. 16 is a diagram showing a token-based caching system implemented in an actual test bed network.

도 16에 도시된 바와 같이, 테스트 베드 네트워크는 7 개의 라우터 노드와 5 개의 엔드 호스트로 구성되며 각 엔드 호스트의 가상 머신에서 10 개의 소비자 또는 생산자 애플리케이션이 실행될 수 있다. NFD는 모든 노드에 설치되며 네트워크 내 캐싱 라우터 노드에서만 사용 가능하다. 네트워크 전체의 캐시 크기는 전체 콘텐츠의 0.5 %로 설정되고, 사용자 요청은 익명의 상위 10 개 미국 웹 사이트의 CDN에서 실제 추적을 기반으로 생성될 수 있다. 구체적으로, 샌프란시스코 CDN 서버에 기록 된 5 억 건의 요청 중 처음 4 백만 건의 요청이 시뮬레이션에 사용될 수 있다. 요청의 시간적 지역성은 도 17에 제시된 스택 거리(Stack distance)를 사용하여 측정될 수 있다. 결과 그래프는 다른 트레이스로부터 얻은 경험적 스택 거리와 매우 유사한 형태를 보여준다. 요청은 라운드 로빈 방식으로 모든 소비자에게 할당되며, 각 소비자는 초당 10 조각의 비율로 사용자 요청을 생성하고, 테스트 베드의 모든 링크는 1Gbps의 대역폭을 가지는 것으로 가정한다.As shown in FIG. 16, the test bed network is composed of 7 router nodes and 5 end hosts, and 10 consumer or producer applications can be executed in a virtual machine of each end host. NFD is installed on all nodes and can only be used by caching router nodes in the network. The network-wide cache size is set at 0.5% of the total content, and user requests can be generated based on actual tracking on the CDN of the top 10 anonymous US websites. Specifically, of the 500 million requests recorded on the San Francisco CDN server, the first 4 million requests can be used for simulation. The temporal locality of the request can be measured using the stack distance shown in FIG. 17. The resulting graph shows a very similar shape to the empirical stack distance obtained from other traces. Requests are allocated to all consumers in a round robin fashion, each consumer generating user requests at a rate of 10 pieces per second, and it is assumed that all links in the test bed have a bandwidth of 1 Gbps.

도 18을 참조하면, LRU는 소비자에게 더 가까운 캐시에 더 인기 있는 콘텐츠를 저장할 가능성이 높기 때문에 모든 방식에 대해 가장 큰 캐시 적중률과 캐시 적중 콘텐츠의 대부분이 에지 라우터(도 16의 R4 ~ R7)에서 관찰될 수 있다(도 18a 및 18c). 이전 시뮬레이션 결과와 유사하게 토큰 기반 캐싱 시스템 은 모든 라우터에서 캐시 삽입을 0.06 ~ 0.07 % (도 18 b)로 감소시키지만, 기본 캐싱 방식보다 2 ~ 3 배 큰 캐시 적중률을 달성하는 것을 확인할 수 있다. Referring to FIG. 18, since the LRU is more likely to store more popular content in a cache closer to the consumer, the largest cache hit ratio and most of the cache hit content for all methods are at edge routers (R4 to R7 in FIG. 16). Can be observed (FIGS. 18A and 18C ). Similar to the previous simulation results, the token-based caching system reduces the cache insertion at all routers to 0.06 to 0.07% (Fig.18b), but it can be seen that it achieves a cache hit ratio that is 2 to 3 times larger than the default caching method.

이때, 라우터가 토폴로지의 상위 레벨 (예를 들어, R4에서 0.065 %, R1에서 0.074 %)에 위치 할 때 기본 LRU에 대한 본 발명의 토큰 기반 캐싱 시스템에서 캐시 삽입 수의 비율이 증가하는 것을 확인할 수 있다. 즉, 가장 인기있는 콘텐츠가 에지에서 캐시되므로 R1에 도달하는 콘텐츠의 인기는 상대적으로 작은 알파 파라미터(예를 들어 0.7)를 가진 Zipf-Mandelbrot 분배 함수를 따를 수 있다. 따라서 R1이 캐시 적중률을 최대화하는 동안 더 많은 콘텐츠가 캐시에서 들어오고 나오게 되며, 본 발명에 따른 토큰 기반 캐싱 시스템의 동작이 정상적으로 수행됨을 확인할 수 있다. At this time, when the router is located at the upper level of the topology (for example, 0.065% in R4, 0.074% in R1), it can be seen that the ratio of the number of cache insertions in the token-based caching system of the present invention to the basic LRU increases. have. That is, since the most popular content is cached at the edge, the popularity of the content reaching R1 can follow the Zipf-Mandelbrot distribution function with a relatively small alpha parameter (eg 0.7). Therefore, while R1 maximizes the cache hit ratio, more content comes in and out of the cache, and it can be confirmed that the operation of the token-based caching system according to the present invention is normally performed.

도 19는 다양한 β값을 사용하여 실험을 반복하여 통지 기반 방식에서 β의 효과를 확인하기 위한 도면이다.19 is a diagram for confirming the effect of β in a notification-based method by repeating an experiment using various β values.

도 19a 내지 도 19c는 캐시가 정상 상태로 수렴 한 후의 성능 결과를 나타낸다. 전반적으로 β 값에 관계없이 유사한 결과가 표시되는 것을 확인할 수 있다. 다만, β 값이 너무 크거나 너무 작은 경우 (0.1 또는 0.9) 통지 기반 방식이 더 긴 수렴 시간을 나타내는 것을 확인할 수 있다. 이는 마킹 속도가 주로 네트워크의 전체 저장 공간이 아니라 소비자 단말 또는 콘텐츠 제공자 단말에 가장 가까운 라우터의 캐시에 의해 제어되기 때문인 것으로 이해될 수 있다. 여기서, 수렴 시간은 캐싱 공간의 95 %가 캐시 적중 콘텐츠로 채워질 때까지의 시간으로 정의되며, 도 19d는 추정 기반 접근법의 수렴 시간을 사용하여 정규화 된 수렴 시간을 도시한다. 19A to 19C show performance results after the cache converges to a normal state. Overall, it can be seen that similar results are displayed regardless of the β value. However, if the β value is too large or too small (0.1 or 0.9), it can be seen that the notification-based method indicates a longer convergence time. It can be understood that this is because the marking speed is mainly controlled by the cache of the router closest to the consumer terminal or the content provider terminal, not the entire storage space of the network. Here, the convergence time is defined as the time until 95% of the caching space is filled with cache hit content, and Fig. 19D shows the normalized convergence time using the convergence time of the estimation-based approach.

실험 결과를 고려할 때, β는 0.3 이상 0.5 이하의 값을 가질 때, 통지 기반 방식에 의한 마킹 속도 결정이 가장 효율적임을 확인할 수 있다. 이때, LRU에서는 캐시가 소비자에게 가까울수록 인기있는 콘텐츠가 더 많이 저장되며, β가 감소함에 따라, 소비자 단말에 가까운 캐시의 토큰 생성 속도의 값은 유효 토큰 생성 속도를 결정하는 데 더 큰 영향을 미칠 수 있다.Considering the experimental results, when β has a value of 0.3 or more and 0.5 or less, it can be confirmed that the determination of the marking speed by the notification-based method is most efficient. At this time, in LRU, the closer the cache is to the consumer, the more popular content is stored, and as β decreases, the value of the token generation rate of the cache closer to the consumer terminal has a greater effect on determining the effective token generation rate. I can.

도 20 내지 도 22는 DFN 및 Australian Rocketfuel ISP 토폴로지를 사용한 토큰 기반 캐싱 시스템의 성능 평가를 설명하기 위한 도면이다.20 to 22 are diagrams for explaining performance evaluation of a token-based caching system using DFN and Australian Rocketfuel ISP topologies.

구체적으로, 도 20a는 DFN 토폴로지, 도 20b는 Australian Rocketfuel ISP 토폴로지를 나타낸다. 구체적으로, 두 토폴로지 모두 5 개의 노드가 모든 소비자 단말 측 에지 라우터에 연결되어 있으며 초당 10 개의 속도로 사용자 요청을 생성한다. 단일 콘텐츠 제공자 단말이 콘텐츠 제공자 단말 측 에지 라우터(Producer side edge router)에 연결된다. 캐시는 모든 라우터에 설치되며 네트워크 전체의 캐시 크기는 총 콘텐츠의 0.01 %에서 1 %로 다양하게 설정될 수 있다.Specifically, FIG. 20A shows a DFN topology, and FIG. 20B shows an Australian Rocketfuel ISP topology. Specifically, in both topologies, 5 nodes are connected to the edge routers of all consumer terminals and generate user requests at a rate of 10 per second. A single content provider terminal is connected to a producer side edge router. The cache is installed on all routers, and the size of the network-wide cache can vary from 0.01% to 1% of the total content.

도 21 및 도 22는 각각 DFN과 Australian Rocketfuel ISP의 모든 캐시 크기에 대한 캐시 적중률과 전체 네트워크에서의 삽입 횟수를 설명하기 위한 도면이다. 21 and 22 are diagrams for explaining a cache hit ratio for all cache sizes of DFN and Australian Rocketfuel ISP and the number of insertions in the entire network, respectively.

도 21 및 도 22를 참조하면, 본 발명에 따른 토큰 기반 캐싱 시스템은, 대규모 토폴로지에서도 가장 큰 캐시 적중률을 보여 주지만 모든 캐시 크기의 기본 LRU에 비해 1 % 미만의 콘텐츠를 캐시에 삽입하는 것을 확인할 수 있다. 또한 캐시 크기가 작을수록 캐시 적중률이 크게 향상되며, 네트워크의 캐시가 기본 및 1 % 랜덤 샘플링 LRU와 비교할 때 모든 콘텐츠의 1 %를 저장하도록 설정된 경우, 본 발명에 따른 토큰 기반 캐싱 시스템은 DFN 토폴로지에서 각각 1.76 Х 및 1.07 Х의 캐시 적중률을 발생시키고, Australian Rocketfuel ISP 토폴로지에서 각각 2.19x 및 1.09x의 캐시 적중률을 발생시키는 것을 확인할 수 있다. 21 and 22, the token-based caching system according to the present invention shows the largest cache hit ratio even in a large-scale topology, but it can be seen that less than 1% of content is inserted into the cache compared to the basic LRU of all cache sizes. have. In addition, the smaller the cache size, the greater the cache hit rate, and when the cache of the network is set to store 1% of all contents as compared to the basic and 1% random sampling LRU, the token-based caching system according to the present invention is used in the DFN topology. It can be seen that the cache hit ratios of 1.76 Х and 1.07 Х are generated, respectively, and the cache hit ratios of 2.19x and 1.09x are generated in the Australian Rocketfuel ISP topology, respectively.

반면, 네트워크 전체의 캐시 크기가 모든 콘텐츠의 0.01 %를 저장하도록 축소되면 DFN 토폴로지에서 캐시 적중률의 성능 증가는 각각 8.4x 및 2.35x, Australian Rocketfuel ISP의 토폴로지에서 캐시 적중률의 성능 증가는 각각 9.26x 및 2.70x인 것을 확인할 수 있다. On the other hand, when the overall cache size of the network is reduced to store 0.01% of all content, the performance increase of the cache hit ratio in the DFN topology is 8.4x and 2.35x, respectively, and the performance increase of the cache hit ratio in the topology of the Australian Rocketfuel ISP is 9.26x and respectively. You can see that it is 2.70x.

결론적으로, 본 발명에 따른 토큰 기반 캐싱 시스템은, 토폴로지가 복잡하고 라우터가 총 콘텐츠 량에 비해 매우 작은 크기의 캐시를 갖는 실제 환경에서도 캐싱 이점을 희생하지 않고 라우터의 캐싱 오버 헤드를 효과적으로 줄일 수 있음을 확인할 수 있다.In conclusion, the token-based caching system according to the present invention can effectively reduce the caching overhead of the router without sacrificing the caching advantage even in a real environment where the topology is complex and the router has a cache of a very small size compared to the total amount of content. can confirm.

도 23은 본 발명의 일 실시예에 따른 장치의 구성도이다.23 is a block diagram of an apparatus according to an embodiment of the present invention.

프로세서(102)는 하나 이상의 코어(core, 미도시) 및 그래픽 처리부(미도시) 및/또는 다른 구성 요소와 신호를 송수신하는 연결 통로(예를 들어, 버스(bus) 등)를 포함할 수 있다.The processor 102 may include one or more cores (not shown) and a graphic processing unit (not shown) and/or a connection path (eg, a bus) for transmitting and receiving signals with other components. .

일 실시예에 따른 프로세서(102)는 메모리(104)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 도 2와 관련하여 설명된 방법을 수행한다.The processor 102 according to an embodiment performs the method described with respect to FIG. 2 by executing one or more instructions stored in the memory 104.

한편, 프로세서(102)는 프로세서(102) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(102)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다. Meanwhile, the processor 102 temporarily and/or permanently stores a signal (or data) processed inside the processor 102, a RAM (Random Access Memory, not shown) and a ROM (Read-Only Memory). , Not shown) may further include. In addition, the processor 102 may be implemented in the form of a system on chip (SoC) including at least one of a graphic processing unit, RAM, and ROM.

메모리(104)에는 프로세서(102)의 처리 및 제어를 위한 프로그램들(하나 이상의 인스트럭션들)을 저장할 수 있다. 메모리(104)에 저장된 프로그램들은 기능에 따라 복수 개의 모듈들로 구분될 수 있다.The memory 104 may store programs (one or more instructions) for processing and controlling the processor 102. Programs stored in the memory 104 may be divided into a plurality of modules according to functions.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented as a software module executed by hardware, or a combination thereof. Software modules include Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), Flash Memory, hard disk, removable disk, CD-ROM, or It may reside on any type of computer-readable recording medium well known in the art to which the present invention pertains.

한편, 도 23에 도시된 장치(100)는 콘텐츠 제공자 단말(10), ICN 라우터(20), 사용자 단말(30) 중 적어도 하나로 구현될 수 있으며, 장치(100)는 프로세서(102) 및 메모리(104) 이외에도 다양한 구성이 포함될 수 있음은 물론이다.Meanwhile, the device 100 shown in FIG. 23 may be implemented with at least one of a content provider terminal 10, an ICN router 20, and a user terminal 30, and the device 100 includes a processor 102 and a memory ( 104), it goes without saying that various configurations may be included.

일 실시예로, 장치(100)는 통신부를 더 포함할 수 있다. 통신부는 WiFi 칩, 블루투스 칩, 무선 통신 칩, NFC칩중 적어도 하나를 포함할 수 있다. 특히, WiFi 칩, 블루투스 칩 각각은 WiFi 방식, Bluetooth 방식으로 통신을 수행할 수 있다. WiFi 칩이나 블루투스 칩을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩은 IEEE, Zigbee, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.In one embodiment, the device 100 may further include a communication unit. The communication unit may include at least one of a WiFi chip, a Bluetooth chip, a wireless communication chip, and an NFC chip. In particular, each of the WiFi chip and the Bluetooth chip can perform communication using a WiFi method and a Bluetooth method. When a WiFi chip or a Bluetooth chip is used, various types of connection information such as an SSID and a session key are first transmitted and received, and various types of information can be transmitted and received after communication is connected using the same. The wireless communication chip refers to a chip that performs communication according to various communication standards such as IEEE, Zigbee, 3rd Generation (3G), 3rd Generation Partnership Project (3GPP), and Long Term Evolution (LTE). The NFC chip refers to a chip that operates in a Near Field Communication (NFC) method using a 13.56 MHz band among various RF-ID frequency bands such as 135 kHz, 13.56 MHz, 433 MHz, 860 to 960 MHz, and 2.45 GHz.

또 다른 실시예로, 장치(100)가 ICN 라우터(20)로 구현되는 경우, 메모리(104)는 마킹 검사 모듈, 토큰 관리 모듈 및 제1 매니징 모듈을 저장할 수 있다. 마킹 검사 모듈은 콘텐츠 제공자 단말로부터 수신한 제1 콘텐츠가 마킹되어 있는지 여부를 판단하기 위한 모듈일 수 있다. 토큰 관리 모듈은 제1 콘텐츠에 대응되는 토큰의 양을 콘텐츠 제공자 단말의 전체 토큰의 양에서 차감할 수 있는 모듈이다. 프로세서(102)는 차감된 토큰의 양이 0 이상인 경우, 제1 콘텐츠를 ICN 라우터에 캐싱하고, 차감된 토큰의 양이 음수인 경우, 제1 콘텐츠를 ICN 라우터에 캐싱하지 않을 수 있다. 제1 매니징 모듈은 상술한 다양한 방법을 통해 토큰 생성 속도를 결정할 수 있다.In another embodiment, when the device 100 is implemented as the ICN router 20, the memory 104 may store a marking inspection module, a token management module, and a first managing module. The marking inspection module may be a module for determining whether the first content received from the content provider terminal is marked. The token management module is a module capable of subtracting the amount of tokens corresponding to the first content from the total amount of tokens of the content provider terminal. When the amount of the deducted token is 0 or more, the processor 102 may cache the first content in the ICN router, and when the amount of the deducted token is negative, the first content may not be cached in the ICN router. The first managing module may determine the token generation rate through the various methods described above.

또 다른 실시예로, 장치(100)가 콘텐츠 제공자 단말(10)로 구현되는 경우, 메모리(104)는 마킹 모듈 및 제2 관리 모듈을 포함할 수 있다. 마킹 모듈은 메모리에 저장된 복수의 콘텐츠 중 ICN 라우터에 캐싱하기 위한 제1 콘텐츠를 결정하여 마킹할 수 있다.In another embodiment, when the device 100 is implemented as the content provider terminal 10, the memory 104 may include a marking module and a second management module. The marking module may determine and mark a first content for caching in an ICN router among a plurality of contents stored in the memory.

제2 관리 모듈은 상술한 다양한 방법을 바탕으로 ICN 라우터의 토큰 생성 속도를 추정할 수 있다.The second management module may estimate the token generation rate of the ICN router based on the various methods described above.

본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.Components of the present invention may be implemented as a program (or application) and stored in a medium in order to be executed in combination with a computer that is hardware. Components of the present invention may be implemented as software programming or software elements, and similarly, embodiments include various algorithms implemented with a combination of data structures, processes, routines or other programming elements, including C, C++ , Java, assembler, etc. may be implemented in a programming or scripting language. Functional aspects can be implemented with an algorithm running on one or more processors.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.In the above, embodiments of the present invention have been described with reference to the accompanying drawings, but those of ordinary skill in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features. You can understand. Therefore, the embodiments described above are illustrative in all respects, and should be understood as non-limiting.

10 : 콘텐츠 제공자 단말
20 : ICN 라우터
30 : 사용자 단말
10: content provider terminal
20: ICN router
30: user terminal

Claims (10)

ICN 라우터 및 콘텐츠 제공자 단말을 포함하는 토큰 기반 캐싱 시스템의 제어 방법에 있어서,
상기 ICN 라우터가, 캐시 적중률을 바탕으로 토큰 생성 속도를 결정하는 단계;
상기 ICN 라우터가, 상기 결정된 토큰 생성 속도 및 마킹되지 않은 콘텐츠의 양을 바탕으로 상기 콘텐츠 제공자 단말에게 할당할 전체 토큰의 양을 결정하는 단계;
상기 콘텐츠 제공자 단말이, 복수의 콘텐츠 중 마킹할 콘텐츠의 수를 조절하기 위한 마킹 속도를 결정하는 단계;
상기 콘텐츠 제공자 단말이, 상기 마킹 속도 및 콘텐츠 인기도를 바탕으로, 상기 ICN 라우터에 캐싱하기 위해 마킹한 제1 콘텐츠 및, 상기 ICN 라우터에 캐싱하지 않기 위해 마킹하지 않은 제2 콘텐츠를 결정하는 단계;
상기 콘텐츠 제공자 단말이, 상기 제1 콘텐츠 및 상기 제2 콘텐츠를 상기 ICN 라우터에 전송하는 단계; 및
상기 ICN 라우터가, 수신된 상기 제1 콘텐츠에 대응되는 토큰의 양을 상기 콘텐츠 제공자 단말의 전체 토큰의 양에서 차감하고, 상기 제1 콘텐츠를 상기 ICN 라우터에 캐싱하는 단계; 를 포함하는 제어 방법.
In the control method of a token-based caching system including an ICN router and a content provider terminal,
Determining, by the ICN router, a token generation rate based on a cache hit ratio;
Determining, by the ICN router, a total amount of tokens to be allocated to the content provider terminal based on the determined token generation rate and the amount of unmarked content;
Determining, by the content provider terminal, a marking speed for controlling the number of contents to be marked among a plurality of contents;
Determining, by the content provider terminal, a first content marked for caching in the ICN router and a second content not marked for caching in the ICN router, based on the marking speed and content popularity;
Transmitting, by the content provider terminal, the first content and the second content to the ICN router; And
Subtracting, by the ICN router, the amount of tokens corresponding to the received first content from the total amount of tokens of the content provider terminal, and caching the first content to the ICN router; Control method comprising a.
제1항에 있어서,
상기 토큰 생성 속도를 결정하는 단계는,
하기 알고리즘 1을 바탕으로, 상기 토큰 생성 속도를 결정하는 것을 특징으로 하는 제어 방법.
Figure 112019103878292-pat00007
The method of claim 1,
The step of determining the token generation rate,
Based on the following Algorithm 1, the control method, characterized in that determining the token generation rate.
Figure 112019103878292-pat00007
제1항에 있어서,
상기 마킹 속도를 결정하는 단계는,
상기 ICN 라우터가, 상기 토큰 생성 속도를 바탕으로 유효 토큰 생성 속도를 획득하는 단계;
상기 ICN 라우터가, 상기 유효 토큰 생성 속도를 상기 콘텐츠 제공자 단말로 전송하는 단계; 및
상기 콘텐츠 제공자 단말이, 상기 마킹 속도가 상기 유효 토큰 생성 속도와 등가를 이루도록 상기 마킹 속도를 결정하는 단계;를 포함하고,
상기 유효 토큰 생성 속도를 하기 수학식을 바탕으로 결정되는 것을 특징으로 하는 제어 방법.
<수학식>
Figure 112019103878292-pat00008

이때,
Figure 112019103878292-pat00009
는 유효 토큰 생성 속도, β는 0 이상 1이하의 임의의 상수.
The method of claim 1,
The step of determining the marking speed,
Obtaining, by the ICN router, a valid token generation rate based on the token generation rate;
Transmitting, by the ICN router, the effective token generation rate to the content provider terminal; And
Including, by the content provider terminal, determining the marking speed so that the marking speed is equivalent to the effective token generation speed
The control method, characterized in that the effective token generation rate is determined based on the following equation.
<Equation>
Figure 112019103878292-pat00008

At this time,
Figure 112019103878292-pat00009
Is the effective token generation rate, β is an arbitrary constant between 0 and 1 and less.
제1항에 있어서,
상기 마킹 속도를 결정하는 단계는,
상기 콘텐츠 제공자 단말이, 하기 알고리즘 2를 바탕으로 유효 토큰 생성 속도를 획득하는 단계; 및
상기 콘텐츠 제공자 단말이, 상기 마킹 속도가 상기 유효 토큰 생성 속도와 등가를 이루도록 상기 마킹 속도를 결정하는 단계;를 포함하는 것을 특징으로 하는 제어 방법.
Figure 112019103878292-pat00010
The method of claim 1,
The step of determining the marking speed,
Obtaining, by the content provider terminal, an effective token generation rate based on Algorithm 2 below; And
And determining, by the content provider terminal, the marking speed so that the marking speed is equivalent to the effective token generation speed.
Figure 112019103878292-pat00010
메모리;
통신부; 및
프로세서;를 포함하는 ICN 라우터에 있어서,
상기 메모리는,
마킹 검사 모듈;
토큰 관리 모듈및
제1 매니징 모듈; 을 포함하고,
상기 프로세서는,
상기 마킹 검사 모듈을 통해 콘텐츠 제공자 단말로부터 수신한 제1 콘텐츠가 마킹되어 있는지 여부를 판단하고,
상기 토큰 관리 모듈을 통해, 상기 제1 콘텐츠에 대응되는 토큰의 양을 상기 콘텐츠 제공자 단말의 전체 토큰의 양에서 차감하고,
상기 차감된 토큰의 양이 0 이상인 경우, 상기 제1 콘텐츠를 상기 ICN 라우터에 캐싱하고, 상기 차감된 토큰의 양이 음수인 경우, 상기 제1 콘텐츠를 상기 ICN 라우터에 캐싱하지 않고,
상기 제1 매니징 모듈을 통해 토큰 생성 속도를 결정하는 것을 특징으로 하는 ICN 라우터.
Memory;
Communication department; And
In the ICN router comprising a; processor,
The memory,
Marking inspection module;
Token management module and
A first managing module; Including,
The processor,
Determine whether the first content received from the content provider terminal through the marking inspection module is marked,
Through the token management module, the amount of tokens corresponding to the first content is deducted from the total amount of tokens of the content provider terminal,
When the amount of the subtracted token is 0 or more, the first content is cached in the ICN router, and when the amount of the subtracted token is negative, the first content is not cached in the ICN router,
ICN router, characterized in that determining a token generation rate through the first management module.
제5항에 있어서,
상기 프로세서는,
하기 알고리즘 1을 바탕으로, 상기 토큰 생성 속도를 결정하는 것을 특징으로 하는 ICN 라우터.
Figure 112019103878292-pat00011
The method of claim 5,
The processor,
ICN router, characterized in that to determine the token generation rate based on Algorithm 1 below.
Figure 112019103878292-pat00011
메모리;
통신부; 및
프로세서;를 포함하는 콘텐츠 제공자 단말에 있어서,
상기 메모리는,
마킹 모듈; 및
제2 관리 모듈;을 포함하고,
상기 프로세서는,
상기 마킹 모듈을 통해 상기 메모리에 저장된 복수의 콘텐츠 중 ICN 라우터에 캐싱하기 위한 제1 콘텐츠를 결정하여 마킹하고,
상기 제2 관리 모듈을 통해, 상기 ICN 라우터의 토큰 생성 속도를 추정하고,
상기 추정된 토큰 생성 속도를 바탕으로 마킹 속도를 결정하는 것을 특징으로 하는 콘텐츠 제공자 단말.
Memory;
Communication department; And
In the content provider terminal comprising a; processor,
The memory,
Marking module; And
Includes; a second management module,
The processor,
Determine and mark a first content for caching in an ICN router among a plurality of contents stored in the memory through the marking module,
Through the second management module, estimating the token generation rate of the ICN router,
A content provider terminal, characterized in that the marking speed is determined based on the estimated token generation speed.
제7항에 있어서,
상기 프로세서는,
상기 ICN 라우터로부터 상기 토큰 생성 속도를 바탕으로 획득된 유효 토큰 생성 속도를 상기 통신부를 통해 수신하고,
상기 마킹 속도가 상기 유효 토큰 생성 속도와 등가를 이루도록 상기 마킹 속도를 결정하고,
상기 유효 토큰 생성 속도를 하기 수학식을 바탕으로 결정되는 것을 특징으로 하는 콘텐츠 제공자 단말.
<수학식>
Figure 112019103878292-pat00012

이때,
Figure 112019103878292-pat00013
는 유효 토큰 생성 속도, β는 0 이상 1이하의 임의의 상수.
The method of claim 7,
The processor,
Receiving the effective token generation rate obtained based on the token generation rate from the ICN router through the communication unit,
Determining the marking speed so that the marking speed is equivalent to the effective token generation speed,
The content provider terminal, characterized in that the effective token generation rate is determined based on the following equation.
<Equation>
Figure 112019103878292-pat00012

At this time,
Figure 112019103878292-pat00013
Is the effective token generation rate, β is an arbitrary constant between 0 and 1 and less.
제7항에 있어서,
상기 프로세서는,
하기 알고리즘 2를 바탕으로 유효 토큰 생성 속도를 획득하고,
상기 마킹 속도가 상기 유효 토큰 생성 속도와 등가를 이루도록 상기 마킹 속도를 결정하는 것을 특징으로 하는 콘텐츠 제공자 단말.
Figure 112019103878292-pat00014
The method of claim 7,
The processor,
Based on Algorithm 2 below, the effective token generation rate is obtained,
The content provider terminal, characterized in that determining the marking speed so that the marking speed is equivalent to the effective token generation speed.
Figure 112019103878292-pat00014
하드웨어인 컴퓨터와 결합되어, 제1 항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터프로그램.A computer program combined with a computer as hardware and stored in a recording medium readable by a computer to perform the method of claim 1.
KR1020190126272A 2019-10-11 2019-10-11 Control method, apparatus and program of token-based caching system including icn router and content provider terminal KR102172056B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190126272A KR102172056B1 (en) 2019-10-11 2019-10-11 Control method, apparatus and program of token-based caching system including icn router and content provider terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190126272A KR102172056B1 (en) 2019-10-11 2019-10-11 Control method, apparatus and program of token-based caching system including icn router and content provider terminal

Publications (1)

Publication Number Publication Date
KR102172056B1 true KR102172056B1 (en) 2020-10-30

Family

ID=73048082

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190126272A KR102172056B1 (en) 2019-10-11 2019-10-11 Control method, apparatus and program of token-based caching system including icn router and content provider terminal

Country Status (1)

Country Link
KR (1) KR102172056B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448887A (en) * 2022-01-26 2022-05-06 北京大学深圳研究生院 Information center network cache management method and system based on token and popularity
CN115378878A (en) * 2021-05-21 2022-11-22 北京字跳网络技术有限公司 CDN scheduling method, device, equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101392031B1 (en) * 2012-11-16 2014-05-07 이화여자대학교 산학협력단 Router caching method for network based on content and network system based on content
KR101481311B1 (en) * 2013-08-22 2015-01-14 상명대학교 천안산학협력단 Method and system for controling traffic in network based contents
KR20150025921A (en) * 2013-08-30 2015-03-11 상명대학교 천안산학협력단 Method and system for managing traffic dynamically in network based contents
KR20160002154A (en) * 2014-06-30 2016-01-07 에스케이텔레콤 주식회사 Method for generate contents name and routing method based on contents name using sdn networkd, apparatus using the same
KR20160019361A (en) * 2014-08-11 2016-02-19 팔로 알토 리서치 센터 인코포레이티드 Probabilistic Lazy-Forwarding Technique Without Validation In A Content Centric Network
KR20170060459A (en) * 2015-11-24 2017-06-01 한국과학기술원 Method and apparatus for user centric cache allocation in infrastructure wireless mesh networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101392031B1 (en) * 2012-11-16 2014-05-07 이화여자대학교 산학협력단 Router caching method for network based on content and network system based on content
KR101481311B1 (en) * 2013-08-22 2015-01-14 상명대학교 천안산학협력단 Method and system for controling traffic in network based contents
KR20150025921A (en) * 2013-08-30 2015-03-11 상명대학교 천안산학협력단 Method and system for managing traffic dynamically in network based contents
KR20160002154A (en) * 2014-06-30 2016-01-07 에스케이텔레콤 주식회사 Method for generate contents name and routing method based on contents name using sdn networkd, apparatus using the same
KR20160019361A (en) * 2014-08-11 2016-02-19 팔로 알토 리서치 센터 인코포레이티드 Probabilistic Lazy-Forwarding Technique Without Validation In A Content Centric Network
KR20170060459A (en) * 2015-11-24 2017-06-01 한국과학기술원 Method and apparatus for user centric cache allocation in infrastructure wireless mesh networks

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378878A (en) * 2021-05-21 2022-11-22 北京字跳网络技术有限公司 CDN scheduling method, device, equipment and storage medium
CN115378878B (en) * 2021-05-21 2023-11-14 北京字跳网络技术有限公司 CDN scheduling method, device, equipment and storage medium
CN114448887A (en) * 2022-01-26 2022-05-06 北京大学深圳研究生院 Information center network cache management method and system based on token and popularity

Similar Documents

Publication Publication Date Title
US11711309B2 (en) System and method for tracking domain names for the purposes of network management
US10491657B2 (en) Network acceleration method, apparatus and device based on router device
US9660922B2 (en) Network assisted rate shifting for adaptive bit rate streaming
KR101346549B1 (en) Technique for setting network communication parameters
EP2830280B1 (en) Web caching with security as a service
Carofiglio et al. LAC: Introducing latency-aware caching in information-centric networks
US9203771B1 (en) Hot service flow hardware offloads based on service priority and resource usage
CN103731487A (en) Download method, device, system and router for resource file
US10142241B1 (en) Methods for dynamic health monitoring of server pools and devices thereof
KR102172056B1 (en) Control method, apparatus and program of token-based caching system including icn router and content provider terminal
US10117140B2 (en) Network storage method, switch device, and controller
US10673704B2 (en) System and method of dynamic hardware policer allocation
CN103581765A (en) Method and equipment for message transmission
Lal et al. A cache content replacement scheme for information centric network
CN104486453B (en) The method of adjustment and device of a kind of ageing time
CN105656978B (en) A kind of resource share method and device
Cao et al. Collaborative content caching in wireless edge with SDN
Kontogiannis et al. ALBL: an adaptive load balancing algorithm for distributed web systems
JP6310822B2 (en) Virtual machine resource management system, method and program
Bays et al. Flow based load balancing: Optimizing web servers resource utilization
CN106254576B (en) Message forwarding method and device
Nam et al. Towards dynamic network condition-aware video server selection algorithms over wireless networks
CN113810461A (en) Bandwidth control method, device, equipment and readable storage medium
Yovita et al. Cache based on popularity and class in mobile named data network
Arvidsson et al. Web metrics for the next generation performance enhancing proxies

Legal Events

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