KR20230044079A - Control method of node included in information centric network, and system - Google Patents

Control method of node included in information centric network, and system Download PDF

Info

Publication number
KR20230044079A
KR20230044079A KR1020210126571A KR20210126571A KR20230044079A KR 20230044079 A KR20230044079 A KR 20230044079A KR 1020210126571 A KR1020210126571 A KR 1020210126571A KR 20210126571 A KR20210126571 A KR 20210126571A KR 20230044079 A KR20230044079 A KR 20230044079A
Authority
KR
South Korea
Prior art keywords
node
content
interest
stored
virtual
Prior art date
Application number
KR1020210126571A
Other languages
Korean (ko)
Other versions
KR102596938B1 (en
Inventor
김도형
이준석
Original Assignee
강원대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 강원대학교산학협력단 filed Critical 강원대학교산학협력단
Priority to KR1020210126571A priority Critical patent/KR102596938B1/en
Publication of KR20230044079A publication Critical patent/KR20230044079A/en
Application granted granted Critical
Publication of KR102596938B1 publication Critical patent/KR102596938B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • 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)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed is a method for controlling a node, which comprises the steps of: receiving and storing one content; transmitting a virtual interest including information on the stored content to all surrounding nodes located within a certain number of hops from a node whenever the content is stored; receiving an interest requesting the content matching the virtual interest from at least one external node receiving the virtual interest; and transmitting the content matching the virtual interest to the external node. Therefore, the quality of a content service is improved.

Description

정보 중심 네트워크에 포함되는 노드의 제어 방법, 및 시스템 { CONTROL METHOD OF NODE INCLUDED IN INFORMATION CENTRIC NETWORK, AND SYSTEM }Control method of node included in information-centric network, and system { CONTROL METHOD OF NODE INCLUDED IN INFORMATION CENTRIC NETWORK, AND SYSTEM }

본 개시는 정보 중심 네트워크(Information-Centric Network)에 포함된 노드의 제어 방법 내지는 콘텐츠 제공 방법에 관한 것으로, 보다 상세하게는, 경로 외 노드의 캐시에 저장된 콘텐츠에 대한 효율적인 접근 기법을 각 노드 및 시스템의 동작 관점에서 개시한 것이다.The present disclosure relates to a control method of a node included in an information-centric network or a method of providing content, and more particularly, an efficient access method for content stored in a cache of a node off a path to each node and system It is disclosed from the operating point of view.

현재 인터넷 기술의 근간인 TCP/IP 기술은 IP 주소 등과 같은 위치 정보를 바탕으로 두 노드들 간에 데이터 전송에 초점을 맞춰 개발되었다. 그러나, 대용량 콘텐츠들에 대한 현재 인터넷 사용자들의 서비스 패턴을 고려했을 때, TCP/IP기술은 같은 데이터를 중복해서 전송하거나, 단말의 이동성 지원을 위해 큰 오버헤드가 발생하는 등의 통신 비효율성을 초래한다.TCP/IP technology, the basis of current Internet technology, was developed focusing on data transmission between two nodes based on location information such as IP addresses. However, considering the service patterns of current Internet users for large-capacity contents, TCP/IP technology causes communication inefficiency such as transmitting the same data repeatedly or generating large overhead to support the mobility of terminals. do.

이와 같은 문제를 해결하고자 정보 중심 네트워크(Information-Centric Network, ICN) 라는 개념이 소개되었다. ICN에서는 콘텐츠의 위치 정보를 대신하여, 콘텐츠 이름 정보를 바탕으로 네트워킹이 이루어진다. 또한, 콘텐츠가 전송되는 과정에서 콘텐츠 복사본이 네트워크 상의 노드들에 저장된다. 이렇게 저장된 콘텐츠 복사본은 이후 같은 콘텐츠에 대한 요청에 대하여 서비스됨으로써, 보다 효율적인 네트워킹을 구현될 수 있었다. 그 결과, 사용자 측면에서는 보다 가까운 위치에서 콘텐츠를 제공받음으로써 네트워크 지연이 줄어들게 되고, 결과적으로는 더 높은 QoS(Quality of Service)를 경험할 수 있게 되었다. 또한, 망 사업자 입장에서는 중복된 데이터 전송을 최소화함으로써 효율적으로 망을 운영할 수 있게 되었다. 또한, 콘텐츠 제공자 입장에서는 서버에 걸리는 부하를 네트워크 캐시로 분산시킴으로써, 서버 인프라 비용 절감을 달성할 수 있었다.To solve this problem, the concept of information-centric network (ICN) was introduced. In ICN, networking is performed based on content name information instead of content location information. In addition, copies of the content are stored in nodes on the network as the content is transmitted. Since the stored copy of the content is then serviced for requests for the same content, more efficient networking can be implemented. As a result, from the user's point of view, network delay is reduced by receiving content from a closer location, and as a result, a higher quality of service (QoS) can be experienced. In addition, network operators can efficiently operate networks by minimizing redundant data transmission. In addition, from a content provider's point of view, server infrastructure costs can be reduced by distributing the load on the server to the network cache.

ICN 개념을 구현한 다양한 네트워킹 아키텍처 중, NDN(Named Data Network)은 UCLA를 필두로 미국, 유럽, 아시아의 학계를 중심으로 연구되어온 대표적인 분산형 ICN 아키텍처이다. 중앙 집중적인 구조와 비교했을 때, NDN은 확장성이 용이할 뿐만 아니라 라우팅의 유연성을 극대화할 수 있는 이점을 가지고 있어서 활발히 연구가 진행되고 있다.Among various networking architectures that implement the ICN concept, NDN (Named Data Network) is a representative decentralized ICN architecture that has been studied mainly by academics in the US, Europe, and Asia, starting with UCLA. Compared to a centralized structure, NDN has the advantage of being easy to expand and maximizing the flexibility of routing, so research is being actively conducted.

NDN에서의 통신은 사용자가 Interest라 불리는 요청 메시지를 네트워크로 전송하면서 시작된다. 요청 메시지에는 고유한 콘텐츠 이름이 담겨 있어서, 이름 정보를 바탕으로 네트워크상의 타겟 콘텐츠로의 라우팅이 진행될 수 있다.Communication in NDN begins when a user sends a request message called an Interest to the network. Since the request message contains a unique content name, routing to the target content on the network can be performed based on the name information.

라우터(노드)가 이 요청 메시지를 수신하면, Content Store(CS)라는 네트워크 캐시를 검색하여 요청한 콘텐츠가 있는지를 살피게 된다. 요청된 콘텐츠의 복사본이 CS에 존재할 경우, 라우터는 Interest를 다음 홉으로 전달하지 않고, 요청한 콘텐츠를 바로 response라 불리는 데이터 패킷에 실어서 사용자에게 전달할 수 있다. 요청된 콘텐츠의 복사본이 CS에 존재하지 않는 경우, 라우터는 Interest 패킷과 Interest 패킷을 수신한 인터페이스를 PIT(Pending Interest Table)에 등록할 수 있다. 이는 추후에 도착하게 될 response 패킷이 해당 Interest 패킷이 들어온 인터페이스로 내보내질 수 있도록 하기 위함이다(결국, Interest와 response는 동일한 라우팅 경로로 전달된다). 이후, 라우터는 Interest상에 기록되어 있는 콘텐츠 이름을 바탕으로 FIB(Forwarding Information Base)에 등록되어 있는 entry들 간에 longest prefix matching을 수행하여 다음 홉을 결정할 수 있다. 그리고, 라우터는 해당 인터페이스로 Interest 패킷을 포워딩 할 수 있다.When a router (node) receives this request message, it searches a network cache called Content Store (CS) to see if the requested content exists. If a copy of the requested content exists in the CS, the router can deliver the requested content directly to the user in a data packet called a response without forwarding Interest to the next hop. If a copy of the requested content does not exist in the CS, the router can register the interest packet and the interface that received the interest packet in the PIT (Pending Interest Table). This is to ensure that the response packet that will arrive later can be sent to the interface where the interest packet came in (after all, the interest and response are delivered through the same routing path). Thereafter, the router may determine the next hop by performing longest prefix matching between entries registered in the Forwarding Information Base (FIB) based on the content name recorded on Interest. And, the router can forward the interest packet to the corresponding interface.

Response 패킷의 경우는 이하 과정을 통해 라우팅이 이루어질 수 있다. 구체적으로, 라우터가 Response 패킷을 수신하면, PIT를 검색하여 콘텐츠 이름이 같은 entry를 찾게 된다. 매칭되는 PIT entry에는 이전에 해당 데이터 요청 패킷 (Interest)이 어느 인터페이스를 통해서 전달되었는지에 대해서도 함께 기록되어 있다. 따라서, 라우터는 기록되어 있는 인터페이스 쪽으로 Response 패킷을 포워딩하여, 사용자에게 전달할 수 있도록 한다. 이때, 사용된 PIT entry는 삭제된다. 만약, PIT 검색 시 콘텐츠 이름이 같은 entry가 존재하지 않을 경우, 전달된 Response packet은 버려질 수 있다. 또한, 라우터는 콘텐츠가 전달되면서 콘텐츠의 복사본을 라우터의 CS에 별도로 저장함으로써, 후에 같은 콘텐츠에 대한 요청 메시지가 도착할 경우, CS를 통해서 서비스할 수 있도록 할 수 있다.In the case of a response packet, routing may be performed through the following process. Specifically, when a router receives a response packet, it searches the PIT to find an entry with the same content name. In the matching PIT entry, it is also recorded through which interface the corresponding data request packet (Interest) was previously delivered. Therefore, the router forwards the response packet to the recorded interface so that it can be delivered to the user. At this time, the used PIT entry is deleted. If an entry with the same content name does not exist when searching for PIT, the delivered Response packet may be discarded. In addition, the router may separately store a copy of the content in the router's CS while the content is being delivered, so that when a request message for the same content arrives later, service can be provided through the CS.

한편, 상술한 기본적인 NDN 방법에서, interest는 콘텐츠 서버로 향하는 경로 상에 존재하는 캐시들에 대해서만 접근이 가능한 바 종종 경로의 비효율성을 초래할 수 있다.On the other hand, in the above-described basic NDN method, interest can access only caches existing on a path toward a content server, which can often cause path inefficiency.

관련하여, 도 1은 종래의 ICN(Information Centric Network) - NDN의 단점을 설명하기 위한 도면이다.In relation to this, FIG. 1 is a diagram for explaining the disadvantages of a conventional Information Centric Network (ICN)-NDN.

도 1을 참조하면, user A가 서버로부터 콘텐츠를 서비스 받았다고 가정할 경우, 콘텐츠 복사본이 R2, R4, R5, R7, R9의 CS에 각각 저장될 수 있다. 그 후, user B가 동일한 콘텐츠를 요청하게 되면, user B로부터의 interest메시지는 shortest path를 구성하는 R6, R3, R1, R2의 라우터를 거치게 되고, user B는 R2의 CS로부터 콘텐츠를 서비스 받게 된다. Referring to FIG. 1 , assuming that user A receives a content service from a server, copies of the content may be stored in CSs of R2, R4, R5, R7, and R9, respectively. Then, when user B requests the same content, the interest message from user B passes through the routers of R6, R3, R1, and R2 constituting the shortest path, and user B receives the content service from R2's CS. .

여기서 주목해야 할 부분은, R7의 CS에 콘텐츠가 저장되어 있음에도 불구하고, 라우팅 경로를 따라 interest가 이동할 수밖에 없음에 따라, user B는 더 멀리 있는 노드(R2)로부터 서비스를 받게 된다는 사실이다.What should be noted here is that although the content is stored in the CS of R7, as the interest inevitably moves along the routing path, user B receives a service from a more distant node R2.

이러한 문제를 해결하고자 기존의 논문들에서 proactive와 reactive의 두 가지 형태 방법들이 제안된 바 있다. To solve this problem, two types of methods, proactive and reactive, have been proposed in previous papers.

proactive 방법들(Y. Wang et al, J. M. Wang et al)은, 라우터가 자신의 캐시에 저장되어 있는 콘텐츠 정보들을 이웃 노드들과 주기적으로 교환함으로써 라우팅 경로 이외의 캐시를 활용할 수 있도록 한다. 본 방법은 1) 캐시의 전체 정보를 교환하는 과정에서 발생하는 오버헤드 및 2) 캐시의 휘발성으로 캐시의 정보가 outdated 될 수 있다는 문제점이 보고되었다.Proactive methods (Y. Wang et al, J. M. Wang et al) enable a router to utilize a cache other than a routing path by periodically exchanging content information stored in its cache with neighboring nodes. This method has been reported to have problems that information in the cache may be outdated due to 1) overhead occurring in the process of exchanging the entire information of the cache and 2) volatility of the cache.

reactive 방법들(R. Chiocchetti et al, E. J. Rosensweig et al)은, 라우터가 interest를 복사해서 추가적인 인터페이스로 전송함으로써 이웃 노드들에 있는 콘텐츠를 찾는 방법이다. 본 방법의 경우, 요청 메시지가 중복됨에 따라 데이터의 중복 전송이 불필요하게 이루어질 수 있고, 결과적으로 네트워크 대역폭을 낭비하는 결과를 가져올 수 있다. 이를 해결하고자 'probe' 패킷을 도입하여, 콘텐츠 존재 여부를 체크하여 콘텐츠 존재 가능성이 높은 방향으로 interest를 전송하는 방법이 제안되었으나(I. V. Bastos et al), 본 방법에서도 데이터 중복 전송은 불가피하며, probe 패킷의 결과의 정확성에 따라 불필요한 데이터 전송 및 연산이 발생한다는 단점이 존재한다.Reactive methods (R. Chiocchetti et al, E. J. Rosensweig et al) allow routers to find content on neighboring nodes by copying the interest and sending it to additional interfaces. In the case of this method, as request messages are duplicated, redundant transmission of data may be unnecessary, and as a result, network bandwidth may be wasted. In order to solve this problem, a method of introducing a 'probe' packet to check the existence of content and transmitting interest in a direction with a high possibility of content existence has been proposed (I.V. Bastos et al), but data redundant transmission is inevitable in this method, and probe There is a disadvantage that unnecessary data transmission and calculation occur depending on the accuracy of the packet result.

상술한 종래기술의 문제점을 해결하기 위하여, 본 개시는 off-path 상에 저장된 콘텐츠에 대한 효과적인 접근이 가능한 proactive 기반의 새로운 방식을 제공한다.In order to solve the above-mentioned problems of the prior art, the present disclosure provides a novel proactive-based method capable of effectively accessing content stored on an off-path.

구체적으로, 본 개시는, 전체 캐시 정보를 주기적으로 교환하는 기존의 proactive 기반의 방법들과는 달리 콘텐츠를 캐시에 저장할 때마다 개별적으로 주변 노드에게 알려주는(called Heartbeating) 노드의 제어 방법을 제공한다.Specifically, the present disclosure provides a control method of a node that notifies neighboring nodes individually whenever content is stored in a cache (called heartbeating), unlike existing proactive-based methods that periodically exchange all cache information.

본 개시의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 개시의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present disclosure are not limited to the above-mentioned objects, and other objects and advantages of the present disclosure not mentioned above can be understood by the following description and will be more clearly understood by the embodiments of the present disclosure. Further, it will be readily apparent that the objects and advantages of the present disclosure may be realized by means of the instrumentalities and combinations indicated in the claims.

본 개시의 일 실시 예에 따른 제1 노드의 제어 방법은, 적어도 하나의 콘텐츠를 수신하여 저장하는 단계, 콘텐츠가 저장될 때마다, 상기 제1 노드로부터 일정 홉(hop) 수 내에 위치하는 주변 노드 모두에게 상기 저장된 콘텐츠에 대한 정보를 포함하는 virtual interest를 전송하는 단계, 상기 virtual interest를 수신한 주변 노드에 해당하는 제2 노드로부터 상기 virtual interest에 매칭되는 콘텐츠를 요청하는 interest를 수신하는 단계, 상기 virtual interest에 매칭되는 콘텐츠를 상기 제2 노드로 전송하는 단계를 포함한다.A control method of a first node according to an embodiment of the present disclosure includes the steps of receiving and storing at least one piece of content, each time the content is stored, a neighboring node located within a certain number of hops from the first node Transmitting a virtual interest including information about the stored content to everyone, receiving an interest requesting content matching the virtual interest from a second node corresponding to a neighboring node that has received the virtual interest, and transmitting content matching the virtual interest to the second node.

상기 virtual interest는, 상기 virtual interest를 나타내는 패킷 타입에 대한 정보, 및 상기 virtual interest에 대한 정보가 상기 제2 노드의 FIB(Forwarding Information Base) 상에 임시적으로 저장될 기간(ε)에 대한 정보를 포함할 수 있다.The virtual interest includes information about a packet type indicating the virtual interest, and information about a period (ε) during which the information about the virtual interest is to be temporarily stored on a Forwarding Information Base (FIB) of the second node. can do.

이때, 상기 제1 노드의 제어 방법은, 상기 virtual interest에 매칭되는 제1 콘텐츠가 상기 제1 노드에 저장된 상태에서 새로운 제2 콘텐츠가 수신된 경우, 상기 제1 콘텐츠가 상기 제1 노드에 저장되어 있던 시간(A)과 상기 기간(ε)을 비교하여, 상기 제1 콘텐츠 및 상기 제2 콘텐츠 중 상기 제1 노드에 저장될 콘텐츠를 선택하는 단계를 포함할 수 있다.In this case, in the control method of the first node, when new second content is received while the first content matching the virtual interest is stored in the first node, the first content is stored in the first node and selecting content to be stored in the first node from among the first content and the second content by comparing the existing time (A) with the period (ε).

또한, 상기 제1 노드의 제어 방법은, 상기 제1 노드에 콘텐츠가 저장되어 있는 시간에 대한 추정 값(R)에 따라, 상기 기간(ε)을 설정하는 단계를 포함할 수도 있다.Also, the control method of the first node may include setting the period ε according to an estimated value R for a time at which content is stored in the first node.

이 경우, 상기 제1 노드의 제어 방법은, 상기 추정 값(R)을 이하 수학식에 따라 주기적으로 업데이트하는 단계를 더 포함할 수 있다. R = αR + (1-α)Rt. 여기서, 상기 Rt는 최신 주기 동안 상기 제1 노드에 저장된 콘텐츠들의 최소 거주 시간이고, 상기 α는 (0, 1) 범위의 상수이다.In this case, the control method of the first node may further include periodically updating the estimated value R according to the following equation. R = αR + (1-α)R t. Here, R t is the minimum residence time of contents stored in the first node during the latest period, and α is a constant in the range of (0, 1).

또한, 상기 제1 노드의 제어 방법은, 상기 virtual interest에 매칭되는 제1 콘텐츠가 상기 제1 노드에 저장된 상태에서 새로운 제2 콘텐츠가 수신된 경우, 상기 제1 콘텐츠가 상기 제1 노드에 저장되어 있던 시간(A)과 상기 추정 값(R)을 비교하여, 상기 추정 값(R)을 업데이트하는 단계를 포함할 수 있다.In addition, the control method of the first node may include, when new second content is received while the first content matching the virtual interest is stored in the first node, the first content is stored in the first node It may include comparing the time (A) and the estimated value (R) and updating the estimated value (R).

한편, 상기 virtual interest를 전송하는 단계는, 상기 제1 노드가 전송한 virtual interest에 매칭되는 콘텐츠를 요청하기 위해 주변 노드로부터 수신된 interest의 수를 상기 제1 노드가 전송한 virtual interest의 수로 나눈 값(B)을 모니터링하고, 상기 모니터링 된 값(B)에 따라 전송 확률을 설정하고, 상기 설정된 전송확률에 매칭되는 빈도로 상기 virtual interest를 주변 노드로 전송할 수 있다.Meanwhile, the step of transmitting the virtual interest is a value obtained by dividing the number of interests received from neighboring nodes by the number of virtual interests transmitted by the first node in order to request content matching the virtual interest transmitted by the first node. (B) may be monitored, a transmission probability may be set according to the monitored value (B), and the virtual interest may be transmitted to neighboring nodes at a frequency matching the set transmission probability.

또한, 상기 virtual interest를 전송하는 단계는, 상기 제1 노드가 전송한 virtual interest에 매칭되는 콘텐츠를 요청하기 위해 주변 노드로부터 수신되는 interest 간의 시간 간격을 모니터링하고, 상기 모니터링된 시간 간격에 대응되는 주기마다, 상기 제1 노드로 수신되어 저장되는 콘텐츠들을 식별하고, 상기 식별된 콘텐츠들을 포함하는 하나의 virtual interest를 주변 노드로 전송할 수도 있다.In addition, the transmitting of the virtual interest may include monitoring a time interval between interests received from neighboring nodes in order to request content matching the virtual interest transmitted by the first node, and a period corresponding to the monitored time interval. Each time, contents received and stored by the first node may be identified, and one virtual interest including the identified contents may be transmitted to neighboring nodes.

또한, 상기 virtual interest를 전송하는 단계는, 상기 제1 노드의 PIT(Pending Interest Table)에 평균적으로 pending되는 interest의 수 및 상기 제1 노드의 cache에서 서비스되는 콘텐츠의 수를 기반으로, virtual interest의 전송 빈도를 설정하고, 상기 설정된 전송 빈도에 따라 상기 virtual interest를 주변 노드로 전송할 수도 있다.In addition, the transmitting of the virtual interest may include the virtual interest based on the number of interests pending on average in the PIT (Pending Interest Table) of the first node and the number of contents serviced in the cache of the first node. A transmission frequency may be set, and the virtual interest may be transmitted to neighboring nodes according to the set transmission frequency.

본 개시의 일 실시 예에 따라 제1 노드 및 제2 노드를 포함하는 시스템의 제어 방법은, 상기 제1 노드가, 적어도 하나의 콘텐츠를 수신하여 저장하는 단계, 상기 제1 노드가, 콘텐츠가 저장될 때마다, 상기 제1 노드로부터 일정 홉(hop) 수 내에 위치하는 주변 노드 모두에게 상기 저장된 콘텐츠에 대한 정보를 포함하는 virtual interest를 전송하는 단계, 상기 제2 노드가 상기 virtual interest를 수신하는 단계, 상기 제2 노드가 상기 virtual interest에 매칭되는 콘텐츠에 대한 정보를 상기 제2 노드의 FIB(Forwarding Information Base) 상에 임시적으로 저장하는 단계, 적어도 하나의 콘텐츠를 요청하는 interest가 상기 제2 노드로 수신되면, 상기 제2 노드가, 상기 FIB 상에 저장된 콘텐츠에 대한 정보를 상기 interest에 따라 요청된 콘텐츠에 대한 정보와 비교하는 단계, 상기 FIB 상에 저장된 콘텐츠에 대한 정보가 상기 요청된 콘텐츠에 대한 정보와 매칭되는 경우, 상기 제2 노드가 상기 제1 노드로 상기 interest를 전송하는 단계, 상기 제1 노드가, 상기 제2 노드로부터 수신된 상기 interest에 매칭되는 콘텐츠를 상기 제2 노드로 전송하는 단계를 포함한다.According to an embodiment of the present disclosure, a method for controlling a system including a first node and a second node includes receiving and storing, by the first node, at least one piece of content; the first node, storing the content; whenever it is possible, transmitting a virtual interest including information about the stored content to all neighboring nodes located within a certain number of hops from the first node, and receiving the virtual interest by the second node. , the second node temporarily storing information on content matching the virtual interest on a Forwarding Information Base (FIB) of the second node, the interest requesting at least one content is transmitted to the second node If received, comparing, by the second node, the information on the content stored on the FIB with information on the content requested according to the interest, the information on the content stored on the FIB for the requested content information, the second node transmitting the interest to the first node, the first node transmitting content matching the interest received from the second node to the second node Include steps.

본 개시에 따른 노드/시스템의 제어 방법은, off-path 상의 단거리에 저장된 콘텐츠를 빠르게 공유하도록 하여 콘텐츠 서비스의 품질을 향상시킨다.The node/system control method according to the present disclosure improves the quality of content service by quickly sharing content stored in a short distance on an off-path.

본 개시에 따른 노드/시스템의 제어 방법은, 콘텐츠가 저장될 때마다 콘텐츠 정보를 포함하는 virtual interest를 전송하는 heartbeating을 수행함으로써, 저장된 콘텐츠에 대한 정보 전달이 최소한의 트래픽을 통해 효율적으로 수행되도록 한다.The control method of a node/system according to the present disclosure performs heartbeating that transmits virtual interest including content information whenever content is stored, so that information on stored content is efficiently delivered through minimal traffic. .

도 1은 종래의 ICN(Information Centric Network)의 단점을 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따라 다수의 외부 노드와 통신을 수행하는 노드를 설명하기 위한 도면,
도 3은 본 개시의 일 실시 예에 따른 노드의 동작을 설명하기 위한 흐름도,
도 4는 본 개시의 일 실시 예에 따른 노드가 생성하는 virtual interest의 구성을 설명하기 위한 도면,
도 5a는 본 개시의 일 실시 예에 따른 노드가 virtual interest의 전송 횟수 및 interest의 수신 횟수에 따라 virtual interest의 전송 확률을 업데이트하는 동작을 설명하기 위한 도면,
도 5b는 본 개시의 일 실시 예에 따른 노드가 임시적으로 생성된 FIB(Forwarding Information Base) 엔트리에 매칭되는 interest의 수신 간격을 기반으로 복수의 콘텐츠에 대한 interest를 묶어 전송하는 동작을 설명하기 위한 도면,
도 6은 본 개시의 일 실시 예에 따른 복수의 노드의 동작을 설명하기 위한 시퀀스도,
도 7은 본 개시의 일 실시 예에 따른 노드를 포함하는 시스템과 종래 기술에 따른 시스템들의 캐시 적중률 및 평균 홉 수를 각각 비교하기 위한 그래프들,
도 8은 본 개시의 일 실시 예에 따른 노드를 포함하는 시스템과 종래 기술에 따른 시스템들의 네트워크 오버헤드를 비교하기 위한 그래프들,
도 9는 대규모 네트워크의 성능 평가를 위해 이용되는 Rocketfuel 토폴로지의 예를 도시한 도면,
도 10은, Rocketfuel 토폴로지에 있어, 본 개시의 일 실시 예에 따른 노드를 포함하는 시스템과 종래 기술에 따른 시스템들의 캐시 적중률 및 평균 홉 수를 각각 비교하기 위한 그래프들, 그리고
도 11은, Rocketfuel 토폴로지에 있어, 본 개시의 일 실시 예에 따른 노드를 포함하는 시스템과 종래 기술에 따른 시스템들의 네트워크 오버헤드를 비교하기 위한 그래프들이다.
1 is a diagram for explaining the disadvantages of a conventional Information Centric Network (ICN);
2 is a diagram for explaining a node that communicates with a plurality of external nodes according to an embodiment of the present disclosure;
3 is a flowchart for explaining the operation of a node according to an embodiment of the present disclosure;
4 is a diagram for explaining a configuration of virtual interest generated by a node according to an embodiment of the present disclosure;
5A is a diagram for explaining an operation in which a node updates a transmission probability of virtual interest according to the number of transmissions of virtual interest and the number of receptions of interest according to an embodiment of the present disclosure;
FIG. 5B is a diagram for explaining an operation in which a node bundles and transmits interests in a plurality of contents based on a reception interval of interest matching a temporarily generated Forwarding Information Base (FIB) entry according to an embodiment of the present disclosure. ,
6 is a sequence diagram for explaining the operation of a plurality of nodes according to an embodiment of the present disclosure;
7 is graphs for comparing cache hit ratios and average number of hops between a system including a node according to an embodiment of the present disclosure and a system according to the prior art;
8 are graphs for comparing network overhead of a system including a node according to an embodiment of the present disclosure and systems according to the prior art;
9 shows an example of a Rocketfuel topology used for performance evaluation of a large-scale network;
10 is graphs for comparing cache hit rates and average hop counts of a system including a node according to an embodiment of the present disclosure and a system according to the prior art, respectively, in a Rocketfuel topology; and
11 is graphs for comparing network overhead of a system including a node according to an embodiment of the present disclosure and systems according to the prior art in a Rocketfuel topology.

본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.Prior to a detailed description of the present disclosure, the method of describing the present specification and drawings will be described.

먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.First, terms used in the present specification and claims are general terms in consideration of functions in various embodiments of the present disclosure. However, these terms may vary depending on the intention of a technician working in the art, legal or technical interpretation, and the emergence of new technologies. In addition, some terms are arbitrarily selected by the applicant. These terms may be interpreted as the meanings defined in this specification, and if there is no specific term definition, they may be interpreted based on the overall content of this specification and common technical knowledge in the art.

또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소가 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.In addition, the same reference numerals or numerals in each drawing attached to this specification indicate parts or components that perform substantially the same function. For convenience of description and understanding, the same reference numerals or symbols are used in different embodiments. That is, even if all components having the same reference numerals are shown in a plurality of drawings, the plurality of drawings do not mean one embodiment.

또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.Also, in the present specification and claims, terms including ordinal numbers such as “first” and “second” may be used to distinguish between elements. These ordinal numbers are used to distinguish the same or similar components from each other, and the meaning of the term should not be construed as being limited due to the use of these ordinal numbers. For example, the order of use or arrangement of elements associated with such ordinal numbers should not be limited by the number. If necessary, each ordinal number may be used interchangeably.

본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "comprise" or "consist of" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other It should be understood that the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof is not precluded.

본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In the embodiments of the present disclosure, terms such as “module,” “unit,” and “part” are terms used to refer to components that perform at least one function or operation, and these components are hardware or software. It may be implemented or implemented as a combination of hardware and software. In addition, a plurality of "modules", "units", "parts", etc. are integrated into at least one module or chip, except for cases where each of them needs to be implemented with separate specific hardware, so that at least one processor can be implemented as

또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐만 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, in an embodiment of the present disclosure, when a part is said to be connected to another part, this includes not only a direct connection but also an indirect connection through another medium. In addition, the meaning that a certain part includes a certain component means that it may further include other components without excluding other components unless otherwise stated.

도 2는 본 개시의 일 실시 예에 따라 다수의 외부 노드와 통신을 수행하는 노드를 설명하기 위한 도면이다.2 is a diagram for explaining a node that communicates with a plurality of external nodes according to an embodiment of the present disclosure.

도 2를 참조하면, 본 개시의 일 실시 예에 따른 노드(100)는 NDN 시스템 내에서 하나 이상의 외부 노드(200-1, 2, 3, 4, 5, …)와 직접적/간접적으로 통신을 수행할 수 있다.Referring to FIG. 2 , a node 100 according to an embodiment of the present disclosure performs direct/indirect communication with one or more external nodes 200-1, 2, 3, 4, 5, … within the NDN system. can do.

또한, 노드(100)는 다양한 사용자 단말, 콘텐츠를 제공하는 하나 이상의 콘텐츠 서버 등과 통신을 수행할 수 있다. 노드(100)는 사용자 단말, 콘텐츠 서버 등과 직접 통신을 수행할 수도 있고, 하나 이상의 외부 노드를 거쳐 사용자 단말, 콘텐츠 서버 등과 통신을 수행할 수도 있다.In addition, the node 100 may communicate with various user terminals and one or more content servers providing content. The node 100 may perform direct communication with a user terminal, content server, etc., or may perform communication with a user terminal, content server, etc. via one or more external nodes.

노드(100)는 외부로부터 수신된 콘텐츠를 노드(100)의 캐시(cache) 상에 저장할 수 있다. 노드(100)는 적어도 하나의 외부 노드로부터 콘텐츠에 대한 interest를 수신한 결과 저장된 콘텐츠를 외부 노드로 제공할 수 있다.The node 100 may store content received from the outside on a cache of the node 100 . The node 100 may provide stored content to an external node as a result of receiving an interest in content from at least one external node.

도 3은 본 개시의 일 실시 예에 따른 노드의 동작을 설명하기 위한 흐름도이다. 도 3은, 노드(100)가 콘텐츠를 저장하는 cache node임을 전제로 한다.3 is a flowchart illustrating an operation of a node according to an embodiment of the present disclosure. 3, it is assumed that the node 100 is a cache node for storing content.

도 3을 참조하면, 노드(100)는 적어도 하나의 콘텐츠를 수신하여 저장할 수 있다(S310). Referring to FIG. 3 , the node 100 may receive and store at least one piece of content (S310).

이때, 콘텐츠는 적어도 하나의 interest에 의해 하나 이상의 노드를 거쳐 노드(100)로 수신된 콘텐츠일 수 있다. 그리고, 노드(100)는 수신된 콘텐츠를 노드(100)의 캐시(cache) 상에 저장할 수 있다.At this time, the content may be content received by the node 100 through one or more nodes by at least one interest. Also, the node 100 may store the received content on a cache of the node 100 .

이렇듯 콘텐츠가 저장될 때마다, 노드(100)는 노드(100)로부터 일정 홉(hop) 수 내에 위치하는 주변 노드 모두에게, 저장된 콘텐츠에 대한 정보를 포함하는 virtual interest를 전송할 수 있다(S320). 즉, 노드(100)는 virtual interest를 통해 콘텐츠가 캐시 상에 저장되었음을 주변 노드들에게 알릴 수 있으며, 이때 virtual interest는 콘텐츠 저장 시 1회에 한하여 전송될 수 있다.As such, whenever content is stored, the node 100 may transmit virtual interest including information about the stored content to all neighboring nodes located within a certain number of hops from the node 100 (S320). That is, the node 100 may inform neighboring nodes that the content is stored on the cache through virtual interest, and in this case, the virtual interest may be transmitted only once when the content is stored.

상술한 일정 홉 수는, virtual interest가 전송되기 위한 노드 간의 거리 기준에 해당하며, 1홉 또는 2홉일 수 있으나 이에 한정되지 않는다.The above-described constant number of hops corresponds to a criterion for a distance between nodes for transmitting virtual interest, and may be 1 hop or 2 hops, but is not limited thereto.

virtual interest를 수신한 주변 노드들은, FIB(Forwarding Information Base)에 virtual interest 및 콘텐츠와 관련된 임시 entry를 생성할 수 있다. Neighboring nodes receiving the virtual interest may create a temporary entry related to the virtual interest and content in a Forwarding Information Base (FIB).

이후 적어도 한 명의 사용자(사용자 단말)에 의해 해당 콘텐츠에 대한 interest가 생성될 수 있으며, 생성된 interest가 (virtual interest를 수신한) 주변 노드들 중 적어도 하나로 도착하게 되면, 이 임시 FIB entry에 의해서 interest는 off-path 상에 위치하는 노드(100) 쪽으로 라우팅 될 수 있게 된다.Thereafter, interest in the corresponding content can be generated by at least one user (user terminal), and when the generated interest arrives at at least one of the neighboring nodes (receiving the virtual interest), interest is generated by this temporary FIB entry. can be routed toward the node 100 located on the off-path.

그 결과, 노드(100)는 앞서 virtual interest를 수신한 주변 노드에 해당하는 외부 노드로부터 해당 콘텐츠에 대한 interest를 수신할 수 있다(S330).As a result, the node 100 may receive interest in the corresponding content from an external node corresponding to a neighboring node that previously received virtual interest (S330).

그리고, 노드(100)는 해당 콘텐츠를 외부 노드로 전송할 수 있다(S340).Then, the node 100 may transmit the corresponding content to an external node (S340).

이와 같은 방법은 interest의 복사를 발생시키지 않기 때문에 기존 reactive 기법에서의 콘텐츠 중복 전송을 막을 수 있다는 효과가 있다. 또한, 기존의 proactive 기법들에서는 캐시 전체 정보가 주기적으로 교환됨에 따라 콘텐츠 별 엑세스 정보가 여러 번 전송되는 반면, 본 개시에 따른 노드의 제어 방법에서는 콘텐츠 별 엑세스 정보가 캐시에 저장되는 시점에 한 번 교환되기 때문에, 엑세스 정보의 중복 전송으로 인한 오버헤드를 피할 수 있다. 그럼에도, 임시 FIB의 lifetime이 개별적으로 조정됨으로써 outdated 엑세스 정보로 인한 문제(요청 재전송 및 서비스 지연 증가)가 방지될 수도 있다.Since this method does not generate a copy of interest, it has an effect of preventing duplicate content transmission in the existing reactive technique. In addition, in the existing proactive techniques, access information for each content is transmitted several times as the entire cache information is periodically exchanged, whereas in the node control method according to the present disclosure, access information for each content is stored in the cache once. Since they are exchanged, overhead due to redundant transmission of access information can be avoided. Nonetheless, problems (request retransmission and service delay increase) due to outdated access information may be prevented by individually adjusting the lifetime of the temporary FIB.

도 4는 본 개시의 일 실시 예에 따른 노드가 생성하는 virtual interest의 구성(format)을 설명하기 위한 도면이다.4 is a diagram for explaining a format of virtual interest generated by a node according to an embodiment of the present disclosure.

도 4를 참조하면, virtual interest 패킷의 포맷은 기본적으로 기존의 interest 패킷의 포맷과 동일하지만, virtual interest를 나타내는 PacketType(0x02)이 별도로 정의되며, interestLifeTime 필드에 임시로 생성되는 FIB entry의 lifetime이 담겨서 전송된다는 점에서 차이점이 있다.Referring to FIG. 4, the format of the virtual interest packet is basically the same as that of the existing interest packet, but the PacketType (0x02) representing virtual interest is separately defined, and the interestLifeTime field contains the lifetime of the FIB entry that is created temporarily. The difference is in how they are transmitted.

예를 들어, 노드 i의 캐시에 콘텐츠 k가 저장될 때, 콘텐츠 k에 대하여 virtual interest가 생성될 수 있다. For example, when content k is stored in the cache of node i, a virtual interest in content k may be created.

여기서, 임시 FIB entry의 lifetime (εk)는 “노드 i의 캐시에서 콘텐츠가 머무는 시간의 추정값인 Ri”로 설정될 수 있다. 값은 아래의 식에 따라 주기적으로 업데이트되면서 계산될 수 있다.Here, the lifetime (ε k ) of the temporary FIB entry may be set to “R i , which is an estimated value of the time the content stays in the cache of node i”. The value can be calculated while being periodically updated according to the equation below.

Figure pat00001
Figure pat00001

여기서, Ri,t는 최신 주기 동안 노드 i의 캐시에 저장된 콘텐츠들의 최소 거주 시간을 나타내며, α는 (0, 1) 범위의 상수를 의미한다.Here, R i,t denotes the minimum residence time of contents stored in the cache of node i during the latest period, and α denotes a constant in the range of (0, 1).

임시 FIB entry의 lifetime (εk)는 해당 콘텐츠가 실제 캐시에서 머무는 시간보다는 작거나 같아야 한다. 그렇지 않을 경우, 임시 FIB entry에 의해서 interest가 라우팅 되어 노드 i를 방문했을 때, 노드 i의 캐시에 해당 콘텐츠가 존재하지 않을 수 있게 되고 결과적으로 retransmission을 발생시킬 수 있기 때문이다. The lifetime (ε k ) of a temporary FIB entry must be less than or equal to the time the content stays in the actual cache. Otherwise, when interest is routed by the temporary FIB entry and visits node i, the corresponding content may not exist in node i's cache, and retransmission may occur as a result.

이러한 문제를 피하고자, 본 개시에 따른 제어 방법에서는 노드가 새로 도착한 콘텐츠를 캐시에 넣기 전(즉 기존의 콘텐츠를 캐시에서 제거하기 전), 캐시에서 쫓겨나게 될 콘텐츠(e.g., 콘텐츠 k)의 εk와 콘텐츠 k가 실제 캐시에서 (새로운 콘텐츠가 도착하기 전까지) 머문 시간의 측정값(Ak)를 비교할 수 있다.To avoid this problem, in the control method according to the present disclosure, before the node puts the newly arrived content into the cache (that is, before removing the existing content from the cache), the ε of the content (eg, content k) to be kicked out of the cache We can compare k and the measure of how long content k stays in the actual cache (before new content arrives) (A k ).

만약, Ak가 εk보다 작으면, 노드는 새로 도착한 콘텐츠를 캐시에 넣지 않고, 기존 콘텐츠 k를 캐시에서 유지할 수 있다(즉 기존 콘텐츠를 캐시에서 삭제하지 않음). 이렇듯 일시적으로 새로 도착한 콘텐츠를 캐시에 넣지 않더라도 캐싱 성능에는 큰 차이가 없을 수 있다. 왜냐하면, 새로 도착한 콘텐츠와 캐시에서 쫓겨나게 될 콘텐츠 중 어느 것이 더 인기가 있을지는 미지수이기 때문이다.If A k is less than ε k , the node may keep the existing content k in the cache (ie, not delete the existing content from the cache) without putting the newly arrived content into the cache. As such, even if newly arrived content is temporarily not put into the cache, there may not be a big difference in caching performance. This is because it is not known which will be more popular, the newly arrived content or the content that will be evicted from the cache.

또한, 상술한 Ak는 현재의 Ri와도 비교되어, 만약 Ak가 Ri보다 작을 경우, 노드는 Ri를 Ak로 바로 업데이트하여 콘텐츠가 캐시에 머무는 최신 시간을 바로 Ri에 반영할 수 있다.In addition, the aforementioned A k is also compared with the current R i , and if A k is smaller than R i , the node immediately updates R i to A k to reflect the latest time the content stays in the cache to R i immediately. can

이하 알고리즘 1은 virtual interest를 생성하여 주변 노드로 전달하는 노드(: caching node)의 동작을 설명하기 위한 것이다.Algorithm 1 below is intended to explain the operation of a node (caching node) that generates virtual interest and transfers it to neighboring nodes.

Figure pat00002
Figure pat00002

그리고, 이하 알고리즘 2는 virtual interest를 수신하는 주변 노드의 동작을 설명하기 위한 것이다.Algorithm 2 below is for explaining the operation of neighboring nodes receiving virtual interest.

Figure pat00003
Figure pat00003

알고리즘 2를 참조하면, virtual interest를 수신한 노드(: neighboring node)는, virtual interest에 따라 FIB 상에 임시 엔트리를 생성할 수 있다. 이후, 적어도 하나의 콘텐츠에 대한 interest가 수신되면, 노드 내 캐시(cache)에 해당 콘텐츠가 저장되어 있는지 식별할 수 있다.Referring to Algorithm 2, a node (a neighboring node) receiving a virtual interest may create a temporary entry on the FIB according to the virtual interest. Then, when an interest in at least one piece of content is received, it may be identified whether the corresponding content is stored in a cache in the node.

만약, 캐시 내에 해당 콘텐츠가 저장되어 있지 않은 경우, 노드는 FIB 상에 저장된 콘텐츠에 대한 정보를 interest에 매칭되는 콘텐츠에 대한 정보와 비교할 수 있다. 만약, FIB 상에 저장된 콘텐츠에 대한 정보가 interest에 매칭되는 콘텐츠에 대한 정보와 일치하는 경우, 노드(: neighboring node)는 앞서 virtual interest를 전송하였던 노드(: cache node)로 interest를 포워딩 할 수 있다.If the content is not stored in the cache, the node may compare information about the content stored on the FIB with information about content matching the interest. If the information about the content stored on the FIB matches the information about the content that matches the interest, the node (: neighboring node) may forward the interest to the node (: cache node) that previously transmitted the virtual interest. .

한편, 상술한 바와 같이 노드(100. cache node)가 콘텐츠 저장시마다 virtual interest를 주변 노드로 한 차례 전송하는 동작은, heartbeating으로 정의될 수 있다.Meanwhile, as described above, an operation in which the node (cache node 100) transmits virtual interest to neighboring nodes once whenever content is stored may be defined as heartbeating.

일반적으로, 노드(100)의 캐시에 저장되어 있는 콘텐츠 정보를 two-hop 범위의 노드들까지 알리는 것이 cost-benefit 측면에서 가장 효과적이므로, 본 개시의 일 실시 예에 따른 노드(100)는 virtual interest를 two-hop 범위까지 전달할 수 있다. 이를 위해, 도 4의 “Scope” 필드의 값이 2로 설정될 수 있으며, 매번 다음 홉으로 포워딩이 수행될 때마다 해당 값이 1씩 줄어들 수 있다. 값이 0이 되면, 포워딩은 중단될 수 있다.In general, since it is most effective in terms of cost-benefit to notify the nodes of the two-hop range of content information stored in the cache of the node 100, the node 100 according to an embodiment of the present disclosure is a virtual interest can be delivered up to the two-hop range. To this end, the value of the “Scope” field of FIG. 4 may be set to 2, and the corresponding value may be decreased by 1 each time forwarding is performed to the next hop. When the value becomes 0, forwarding can be stopped.

상술한 Heartbeating의 빈도는, 다양한 실시 예에 따라 설정될 수 있다.The frequency of heartbeating described above may be set according to various embodiments.

기본적인 Heartbeating 기법에서는 콘텐츠를 캐시에 저장할 때마다 virtual interest를 생성하여 주변 노드들에게 전송하게 된다. In the basic heartbeating technique, whenever content is stored in the cache, virtual interest is generated and transmitted to neighboring nodes.

다만, 매번 virtual interest를 생성하면서 야기되는 cost를 최소화하기 위해서 두 가지 실시 예(확률적 Heartbeating, Delayed Heartbeating) 중 적어도 하나가 활용될 수 있다.However, at least one of the two embodiments (stochastic heartbeating and delayed heartbeating) may be utilized in order to minimize the cost incurred while generating virtual interest each time.

Heartbeating의 빈도와 관련된 첫 번째 실시 예로, 확률적 Heartbeating 기법이 이용될 수 있다.As a first embodiment related to the frequency of heartbeating, a stochastic heartbeating technique may be used.

일반적으로 더 인기 있는 콘텐츠일수록 네트워크 edge 부근의 캐시에 저장되기 때문에, Heartbeating으로 인한 이득은 네트워크 edge와 core에서 다를 수 있다. 즉, 캐시의 위치에 따른 Heartbeating의 이득이 달라진다는 점을 고려하여 Heartbeating의 수행 빈도 (일종의 cost)를 달리하고자 하는 것이다.Because more popular content is usually stored in caches near network edges, heartbeating gains may differ between network edges and cores. In other words, considering the fact that the gain of heartbeating varies depending on the location of the cache, the heartbeating frequency (a kind of cost) is intended to be varied.

관련하여, 도 5a를 참조하면, 노드(100)는 virtual interest의 전송 횟수 및 interest의 수신 횟수에 따라 virtual interest의 전송 확률을 업데이트할 수 있다.In this regard, referring to FIG. 5A , the node 100 may update the transmission probability of virtual interest according to the number of transmissions of virtual interest and the number of receptions of interest.

이때, interest의 수신 횟수는, 노드(100)가 전송한 virtual interest에 따라 생성된 FIB 엔트리를 기반으로 하는 interest가 노드(100)로 수신된 횟수를 의미할 수 있다.In this case, the number of receptions of interest may mean the number of times interest based on an FIB entry generated according to the virtual interest transmitted by the node 100 is received by the node 100.

그리고, virtual interest의 전송 확률은, 콘텐츠가 저장됨에 따라 노드(100)가 실제로 virtual interest를 주변 노드로 전송하는 확률을 의미한다.And, the virtual interest transmission probability means the probability that the node 100 actually transmits the virtual interest to neighboring nodes as content is stored.

Figure pat00004
Figure pat00004

구체적으로, 수학식 2를 참조하면, 각 face 별로 전송한 virtual interest 수와 이렇게 전송된 virtual interest에 의해 생성된 FIB entry에 의해서 서비스되는 interest의 수가 각각 모니터링된 결과, B값이 주기적으로 계산될 수 있다.Specifically, referring to Equation 2, as a result of monitoring the number of virtual interests transmitted for each face and the number of interests serviced by the FIB entry generated by the virtual interest thus transmitted, the B value can be periodically calculated. there is.

그리고, B값의 변화에 따라서 virtual interest를 전송할 전송 확률(p)이 다르게 설정될 수 있다. 예를 들어, face f에 대한 B값을 Bf라고 하고, 전송확률을 Pf라고 할 수 있다. In addition, the transmission probability (p) for transmitting virtual interest may be set differently according to the change in B value. For example, the B value for the face f may be referred to as B f and the transmission probability may be referred to as P f .

이 경우, m개의 virtual interest가 전송될 때마다 Bf는 아래 수학식 3과 같이 업데이트될 수 있다. 여기서, Bf,i는 i번째 주기에서 관찰된 값(서비스된 interest 수/전송된 virtual interest수)으로 계산된 B값에 해당한다. 그리고 κ는 moving average의 계수로서 (0,1) 범위의 상수일 수 있다.In this case, whenever m number of virtual interests are transmitted, B f may be updated as shown in Equation 3 below. Here, B f,i corresponds to a value B calculated as a value observed in the i-th period (number of interest served/number of virtual interest transmitted). And κ is a coefficient of a moving average and may be a constant in the range of (0,1).

Figure pat00005
Figure pat00005

일 예로. 초기 전송확률 값은 1로 설정될 수 있다. 즉, Pf = 1이 되며, 기본적인 확률 변화량은 g(0 < g < 0.1) 만큼 줄이는 것으로 설정될 수 있다. one example. The initial transmission probability value may be set to 1. That is, P f = 1, and the basic probability change amount can be set to reduce by g (0 < g < 0.1).

만약, Bf,i+1의 값이 Bf,i보다 크거나 같으면(cost benefit이 증가하고 있는 상태라면), 노드는 기존의 확률 변화량(ΔPf,i) 값을 그대로 적용하여(ΔPf,i+1 = ΔPf,i) Pf를 업데이트하고, 그렇지 않을 경우는 - ΔPf,i를 적용하여(ΔPf,i+1 = -ΔPf,i) Pf를 업데이트할 수 있다. 결국, 이 방법은 Heartbeating의 결과로 만들어지는 임시적인 FIB entry를 충분히 사용하지 않는 노드들 쪽으로 virtual interest를 덜 빈번하게 보냄으로써 cost-benefit을 최대화할 수 있다는 효과가 있다.If the value of B f,i+1 is greater than or equal to B f,i (if the cost benefit is increasing), the node applies the existing probability change value (ΔP f,i ) as it is (ΔP f ,i+1 = ΔP f,i ) P f is updated, otherwise - ΔP f,i can be applied to (ΔP f,i+1 = -ΔP f,i ) P f can be updated. After all, this method has the effect of maximizing the cost-benefit by sending virtual interest less frequently to nodes that do not sufficiently use the temporary FIB entries created as a result of heartbeating.

Heartbeating의 빈도와 관련된 두 번째 실시 예로, Delayed Heartbeating 기법이 이용될 수 있다.As a second embodiment related to the frequency of heartbeating, a delayed heartbeating technique may be used.

관련하여, 도 5b는 Heartbeating 과정에서 노드(cache node) 상에서 virtual interest가 생성/전송되는 시간(아래쪽)과 virtual interest를 수신하게 되는 주변 노드들로부터 노드(cache node)로 interest들이 도착하는 시간(위쪽)을 나타낸다.In relation to this, FIG. 5B shows the time at which virtual interest is generated/transmitted on a node (cache node) in the heartbeating process (lower side) and the time at which interests arrive from neighboring nodes that receive virtual interest to the node (cache node) (upper side). ).

일 예로, 저장된 콘텐츠에 대한 정보를 적시에 전달하면서도 생성/전송되는 virtual interest의 수를 줄이기 위해, 연속적으로 도착하는 두 개의 interest들 사이에 발생하게 Heartbeating을 aggregation하는 기법이 이용될 수 있다(도 5b의 safe aggregation).For example, in order to reduce the number of generated/transmitted virtual interests while delivering information about stored contents in a timely manner, a technique of aggregating heartbeating to occur between two interests that arrive consecutively may be used (FIG. 5B). safe aggregation).

구체적으로, safe aggregation은, 콘텐츠를 요청하는 interest(virtual interest에 따른 interest 포함)가 수신되는 간격에 따라 기간을 설정하고, 설정된 기간 내 virtual interest들을 묶어서 한 번에 보내는 기법이다.Specifically, safe aggregation is a technique in which a period is set according to an interval at which interest requesting content (including interest according to virtual interest) is received, and virtual interests are bundled and transmitted at once within the set period.

다만, virtual interest를 전송하는 노드에서는 safe aggregation interval을 알기가 쉽지 않고, safe aggregation interval이 충분히 크지 않아서 aggregation으로 인한 이득이 미미할 수 있다는 점에서 safe aggregation의 단점이 있다.However, there is a disadvantage of safe aggregation in that it is not easy to know the safe aggregation interval in the node transmitting the virtual interest, and the gain due to aggregation may be insignificant because the safe aggregation interval is not large enough.

따라서, 본 개시의 일 실시 예에 따른 노드/시스템의 제어 방법은, safe aggregation이 아닌 relaxed aggregation 기법을 활용할 수 있다.Therefore, the node/system control method according to an embodiment of the present disclosure may utilize a relaxed aggregation technique instead of safe aggregation.

relaxed aggregation은 주변 노드에 도착하는 interest들 중 virtual interest에 의해 생성된 FIB entry에 의해서 실제적으로 콘텐츠 접근이 이루어지는 두 연속적인 interest들 사이에 발생하는 Heartbeating을 aggregation하는 기법이다.Relaxed aggregation is a technique for aggregating heartbeating that occurs between two consecutive interests in which content access is actually made by an FIB entry generated by a virtual interest among interests arriving at neighboring nodes.

relaxed aggregation interval은 virtual interest를 전송하는 노드(cache node) 측에서, 별도의 메시지 교환 없이, 수신되는 interest들을 통해 파악할 수 있다는 장점이 있다. 또한, relaxed aggregation interval은 safe aggregation interval에 비해서 더 긴 시간 단위로 heartbeating을 수행할 수 있기 때문에 aggregation으로 인한 benefit이 더 클 수 있다.The relaxed aggregation interval has an advantage in that the node (cache node) transmitting the virtual interest can grasp through received interests without exchanging a separate message. In addition, since heartbeating can be performed in longer time units in the relaxed aggregation interval compared to the safe aggregation interval, benefits due to aggregation may be greater.

relaxed aggregation interval이 활용되는 경우, 노드(cache node)는 FIB entry에 의해 수신되는 interest 간의 간격을 실시간으로 모니터링하여 interval을 업데이트할 수 있다.When the relaxed aggregation interval is utilized, the node (cache node) may update the interval by monitoring in real time the interval between interests received by the FIB entry.

다만, 해당 interval이 최초에 설정됨에 있어서는, initial interval이 사용자 입력에 따라 설정될 수 있다. However, when the corresponding interval is initially set, the initial interval may be set according to user input.

또는, initial interval은 warmup time 동안 수신되는 interest(FIB entry에 따라 수신되는 interest)의 간격의 평균 값에 따라 설정될 수 있다. warmup time 동안에는, aggregation이 수행되지 않고 각 콘텐츠가 저장될 때마다 virtual interest가 개별적으로 출력될 수 있다. 또는, warmup time 동안에는, 임의로 설정된 일정 시간 간격마다 저장된 콘텐츠들에 대한 정보를 묶어서 virtual interest를 출력하는 방식으로 heartbeating이 수행될 수도 있다.Alternatively, the initial interval may be set according to an average value of intervals of interest (interest received according to an FIB entry) received during the warmup time. During the warmup time, aggregation is not performed and virtual interest may be output individually whenever each content is stored. Alternatively, during the warm-up time, heartbeating may be performed in a manner of outputting virtual interest by bundling information on stored contents at predetermined time intervals set arbitrarily.

도 5a 및 도 5b를 통해 상술한 두 가지 기법은 서로 양립할 수 없는 것이 아니며, 각각 독립적으로 채택될 수 있다.The two techniques described above with reference to FIGS. 5A and 5B are not incompatible with each other and can be independently adopted.

한편, Heartbeating과 관련하여, 이 밖에도 다양한 방식의 Adaptive Heartbeating이 활용될 수 있다.Meanwhile, in relation to heartbeating, adaptive heartbeating in various other ways can be utilized.

예를 들어, load balancing 측면에서 router(노드)가 처리하는 패킷 수(ex. PIT에 평균적으로 pending되는 interest수 + cache에서 서비스되는 콘텐츠 수)가 특정 임계치 이상일 경우, 노드 및 시스템은 Heartbeating 수를 줄여 off-path 노드들로부터 전달되는 interest 양을 줄일 수 있다.For example, in terms of load balancing, if the number of packets processed by a router (node) (ex. the average number of pending interest on the PIT + the number of contents served from the cache) exceeds a certain threshold, the node and system reduce the number of heartbeats. It can reduce the amount of interest delivered from off-path nodes.

또한, 노드 및 시스템은, 콘텐츠의 중요도가 높은 콘텐츠(ex. 콘텐츠 제공자가 특별한 목적으로 비용을 추가로 지불하고 차별화된 caching서비스를 원하는 콘텐츠, 혹은 콘텐츠 서버까지의 거리가 상대적으로 멀거나 임계 거리 이상인 콘텐츠)에 대해서만 Heartbeating을 선택적으로 수행함으로써 차별화된 캐싱 서비스를 제공할 수도 있다.In addition, the node and the system are used for content with high content importance (ex. content where a content provider pays additionally for a special purpose and wants a differentiated caching service, or where the distance to the content server is relatively far or greater than a critical distance). A differentiated caching service can be provided by selectively performing heartbeating only for contents).

한편, 도 6은 본 개시의 일 실시 예에 따라 NDN 시스템을 구성하는 복수의 노드의 동작을 설명하기 위한 시퀀스도이다.Meanwhile, FIG. 6 is a sequence diagram illustrating operations of a plurality of nodes constituting an NDN system according to an embodiment of the present disclosure.

도 6은, 노드(100)가 cache node에 해당하고, 노드(200)는 노드(100)로부터 virtual interest를 수신하는 neighboring node인 상황을 전제로 한다. 다만, 노드(200) 역시 cache node의 역할을 수행할 수 있으며, 거꾸로 노드(100)가 노드(200)을 기준으로 neighboring node의 역할을 수행할 수도 있음은 물론이다.FIG. 6 assumes a situation in which node 100 corresponds to a cache node and node 200 is a neighboring node receiving virtual interest from node 100 . However, it goes without saying that the node 200 may also serve as a cache node, and conversely, the node 100 may also serve as a neighboring node based on the node 200.

도 6을 참조하면, 노드(100)는 적어도 하나의 콘텐츠를 수신하여 캐시에 저장할 수 있다(S610, S620). 그리고, 노드(100)는 콘텐츠가 저장될 때마다, 제1 노드로부터 일정 홉(hop) 수 내에 위치하는 주변 노드 모두에게 저장된 콘텐츠에 대한 정보를 포함하는 virtual interest를 전송할 수 있다(S630).Referring to FIG. 6 , the node 100 may receive and store at least one piece of content in a cache (S610 and S620). Then, whenever the content is stored, the node 100 may transmit virtual interest including information about the stored content to all neighboring nodes located within a certain number of hops from the first node (S630).

이 경우, 노드(100)는, 상술한 relaxed aggregation interval마다, 수신되는 콘텐츠들에 대한 정보를 포함하는 하나의 virtual interest를 전송할 수도 있으나, 이에 한정되지 않는다.In this case, the node 100 may transmit one virtual interest including information on received contents for each of the above-described relaxed aggregation intervals, but is not limited thereto.

노드(100)가 전송한 virtual interest가 수신되면, 노드(200)는 FIB 상에 virtual interest와 관련된 임시 엔트리를 생성할 수 있다(S640). 구체적으로, 노드(200)는 virtual interest에 매칭되는 콘텐츠에 대한 정보를 FIB 상에 임시적으로 저장할 수 있다.When the virtual interest transmitted by the node 100 is received, the node 200 may create a temporary entry related to the virtual interest on the FIB (S640). Specifically, the node 200 may temporarily store information on content matching virtual interest on the FIB.

이후, 적어도 하나의 콘텐츠를 요청하는 interest가 외부 노드로부터 수신되는 경우(S650), 노드(200)는 FIB 상에 저장된 콘텐츠에 대한 정보를 interest에 따라 요청된 콘텐츠에 대한 정보와 비교할 수 있다.Thereafter, when interest requesting at least one content is received from an external node (S650), the node 200 may compare information about content stored on the FIB with information about content requested according to interest.

구체적으로, 노드(200)는 노드(200)의 캐시에 저장된 콘텐츠에 대한 정보를 interest에 따라 요청된 콘텐츠에 대한 정보와 먼저 비교할 수 있다. 그리고, 만약 노드(200)의 캐시 내에 interest에 따라 요청된 콘텐츠가 저장되어 있지 않은 경우, 노드(200)는 FIB에 대하여 검색을 수행할 수 있다.Specifically, the node 200 may first compare information about content stored in the cache of the node 200 with information about content requested according to interest. And, if the content requested according to the interest is not stored in the cache of the node 200, the node 200 may perform a search for the FIB.

여기서, 노드(200)의 FIB 상에 저장된 콘텐츠에 대한 정보(임시 엔트리)가 요청된 콘텐츠에 대한 정보와 매칭되는 경우(S660), 노드(200)는 노드(100)로 interest를 포워딩 할 수 있다(S670).Here, when the information on the content (temporary entry) stored on the FIB of the node 200 matches the information on the requested content (S660), the node 200 may forward the interest to the node 100 (S670).

그리고, 노드(100)는 interest에 매칭되는 콘텐츠(: 캐시에 저장되어 있음)를 노드(200)로 전송할 수 있다(S680). 그 결과, interest에 따라 요청된 콘텐츠는 노드(200) 등을 거쳐 사용자 단말로 전달될 수 있다.Then, the node 100 may transmit content (stored in the cache) matching the interest to the node 200 (S680). As a result, content requested according to interest may be delivered to the user terminal via the node 200 or the like.

한편, 본 개시에 따른 노드/시스템의 제어 방법(HEARTBEAT)을 종래의 대표적인 off-path 콘텐츠 접근 기법인 Inform(R. Chiocchetti et al) 및 D-FIB(O. Ascigil et al)와 비교한 성능 비교 평가가 수행되었다. 본 성능 비교 평가에서, 확률적 Heartbeating 및 Delayed Heartbeating이 모두 이용되었다.Meanwhile, performance comparison of the node/system control method (HEARTBEAT) according to the present disclosure with Inform (R. Chiocchetti et al) and D-FIB (O. Ascigil et al), which are representative conventional off-path content access techniques. evaluation was performed. In this performance comparison evaluation, both stochastic heartbeating and delayed heartbeating were used.

먼저, 소규모 네트워크(ex. 도 1)를 대상으로 한 실험 환경은 다음과 같다. 하나의 server가 사용자들이 요청하는 콘텐츠를 제공하고 있으며, 콘텐츠의 개수는 총 1,000,000이다. 사용자 단말인 user A, B, C에 각각 3개씩의 consumer 애플리케이션들 (총 9개)이 초당 20개씩 콘텐츠를 요청하고 있으며, 요청되는 콘텐츠들의 인기도는 zipf-Mandelbrot distribution을 따른다. 각각의 라우터에는 LRU(Least Recently Used) 캐시가 설치되어 있고, 캐시 크기는 전체 콘텐츠의 0.1%부터 0.5%까지 변경하면서 성능 평가가 진행되었다. 모든 링크의 bandwidth는 100Mbps이며 propagation delay는 5ms으로 설정되어 있다. 본 개시에 따른 노드/시스템의 제어 방법에서의 Heartbeating 범위는 2홉으로 설정되었고, 확률 변화량 g값은 0.01로 설정되었다. moving average를 위한 α와 κ는 0.5가 적용되었다. B값은 (캐시크기)×0.1에 해당하는 개수의 virtual interests가 전송될 때마다 업데이트되도록 설정되었다. 성능 비교평가를 위해서, 총 시뮬레이션 진행시간은 3000초이며, 처음 1000초가 지난 뒤부터 2000초 동안의 결과가 그래프로 제공되었다.First, an experimental environment targeting a small network (eg, FIG. 1) is as follows. One server provides the contents requested by users, and the total number of contents is 1,000,000. 3 consumer applications (a total of 9) are requesting 20 contents per second for each of the user terminals, user A, B, and C, and the popularity of the requested contents follows the zipf-Mandelbrot distribution. Each router has an LRU (Least Recently Used) cache installed, and performance evaluation was conducted while changing the cache size from 0.1% to 0.5% of the total content. The bandwidth of all links is 100Mbps and the propagation delay is set to 5ms. In the node/system control method according to the present disclosure, the heartbeating range was set to 2 hops, and the probability change g value was set to 0.01. α and κ for the moving average were applied as 0.5. The B value is set to be updated whenever the number of virtual interests corresponding to (cache size) × 0.1 is transmitted. For performance comparison evaluation, the total simulation progress time is 3000 seconds, and the results for 2000 seconds after the first 1000 seconds are provided as a graph.

관련하여, 도 7은 본 개시의 일 실시 예에 따른 노드를 포함하는 시스템(HEARTBEAT)과 종래 기술에 따른 시스템들(DEFAULT, INFORM, DFIB)의 캐시 적중률 및 평균 홉 수를 각각 비교하기 위한 그래프들이다. 평균 홉 수는, 콘텐츠가 서비스되는 지점까지의 거리를 나타낸다.In relation to this, FIG. 7 is graphs for comparing cache hit rates and average hop counts of a system including a node (HEARTBEAT) according to an embodiment of the present disclosure and systems (DEFAULT, INFORM, DFIB) according to the prior art, respectively. . The average number of hops represents a distance to a point where content is serviced.

도 7의 좌측 그래프에서 보여지는 바와 같이 캐시의 크기와 무관하게 본 개시에 따른 노드/시스템의 제어 방법에서 가장 높은 캐시 적중률을 보이고 있다. 또한, 엑세스되는 콘텐츠까지의 평균 홉 수도 Inform의 성능 향상폭을 기준으로 했을 때, 본 개시에 따른 제어 방법은 대략 3배 정도의 성능 향상을 보이는 것을 확인할 수 있다. 즉, 본 개시에 따른 노드/시스템의 제어 방법을 통해 더 많은 콘텐츠가 더 가까이서 서비스될 수 있음을 확인된다.As shown in the left graph of FIG. 7 , the highest cache hit rate is shown in the node/system control method according to the present disclosure regardless of the size of the cache. In addition, when the average number of hops to accessed content is based on the performance improvement of Inform, it can be confirmed that the control method according to the present disclosure shows a performance improvement of about 3 times. That is, it is confirmed that more content can be serviced closer through the node/system control method according to the present disclosure.

도 8은 본 개시의 일 실시 예에 따른 노드를 포함하는 시스템과 종래 기술에 따른 시스템들의 네트워크 오버헤드를 비교하기 위한 그래프들이다. 구체적으로, 도 8은 서비스 제공을 위해 interest, response 메시지가 각각 몇 홉씩 전달되었는지를 나타내는 그래프들을 도시한다.8 are graphs for comparing network overhead between a system including a node according to an embodiment of the present disclosure and systems according to the prior art. Specifically, FIG. 8 shows graphs indicating how many hops each of interest and response messages are delivered to provide service.

도 8을 참조하면, 도 7과 같은 성능 향상에도 불구하고, 네트워크에서 interest와 response가 포워딩 되는 횟수는 본 개시에 따른 제어 방법에서 가장 작은 것이 확인된다. 결과적으로, 본 개시에 따른 노드/시스템의 제어 방법은 최소의 오버헤드를 발생시키면서 캐시를 가장 효과적으로 활용할 수 있도록 하여, 서비스 제공에 걸리는 지연시간을 최소화함과 동시에 네트워크의 대역폭의 효율적인 사용을 가능하게 한다는 것이 확인된다.Referring to FIG. 8 , despite the performance improvement as shown in FIG. 7 , it is confirmed that the number of forwarding of interest and response in the network is the smallest in the control method according to the present disclosure. As a result, the node/system control method according to the present disclosure enables the most effective use of the cache while generating the minimum overhead, thereby minimizing the delay time required for service provision and enabling efficient use of network bandwidth at the same time It is confirmed that

한편, 대규모 네트워크를 대상으로 하는 성능 비교 평가 역시 수행되었다.Meanwhile, performance comparison evaluation targeting large-scale networks was also performed.

도 9는 대규모 네트워크의 성능 평가를 위해 이용된 Rocketfuel 토폴로지의 예를 도시한 도면이다. producer-side edge router마다 하나씩 총 4개의 server가 각각 고유의 콘텐츠를 제공하고 있으며, consumer-side edge router마다 각각 5개의 consumer 애플리케이션들이 콘텐츠를 요청하도록 설정되었다(총 65개의 consumers). 총 콘텐츠 개수 및 콘텐츠들의 인기도 분포를 포함하여 기타 시뮬레이션 파라미터들은 상술한 소규모 네트워크에 대한 성능 평가와 동일하다. 모든 링크의 bandwidth는 100Mbps이며 propagation delay는 네트워크 core가 10ms 네트워크 edge가 5ms으로 설정되었다.9 is a diagram showing an example of a Rocketfuel topology used for performance evaluation of a large-scale network. A total of 4 servers, one for each producer-side edge router, provide unique content, and each consumer-side edge router is configured to request content from 5 consumer applications (total of 65 consumers). Other simulation parameters, including the total number of contents and the popularity distribution of contents, are the same as the performance evaluation for the small network described above. The bandwidth of all links is 100 Mbps, and the propagation delay is set to 10 ms for the network core and 5 ms for the network edge.

도 10은, Rocketfuel 토폴로지에 있어, 본 개시의 일 실시 예에 따른 노드를 포함하는 시스템(HEARTBEAT)과 종래 기술에 따른 시스템들(DEFAULT, INFORM, DFIB)의 캐시 적중률 및 평균 홉 수를 각각 비교하기 위한 그래프들이다.10 is a comparison of the cache hit rate and average number of hops of a system (HEARTBEAT) including a node according to an embodiment of the present disclosure and systems (DEFAULT, INFORM, DFIB) according to the prior art, respectively, in a Rocketfuel topology. graphs for

도 10을 참조하면, 앞서 설명한 소규모 네트워크의 성능 비교 평가와 마찬가지로, 본 개시에 따른 제어 방법(HEARTBEAT)이 가장 큰 캐시 적중률을 만들어내고 있으며, 가장 가까운 곳에서 콘텐츠를 서비스하고 있다.Referring to FIG. 10 , similar to the performance comparison evaluation of the small network described above, the control method (HEARTBEAT) according to the present disclosure produces the largest cache hit rate and provides content service at the nearest location.

토폴로지의 크기가 커짐에 따라 캐시의 개수가 늘어나게 되는데, 본 개시에 따른 제어 방법은 이렇게 많아진 캐시를 더 효과적으로 사용할 수 있고, 결과적으로 비교군들과의 성능 차이가 더 커진 것이 확인된다.As the size of the topology increases, the number of caches increases, and the control method according to the present disclosure can more effectively use the increased caches, and as a result, it is confirmed that the performance difference with the comparison group is larger.

도 11은, Rocketfuel 토폴로지에 있어, 본 개시의 일 실시 예에 따른 노드를 포함하는 시스템과 종래 기술에 따른 시스템들의 네트워크 오버헤드를 비교하기 위한 그래프들이다. 구체적으로, 도 11은 interest와 response가 몇 홉씩 전달되었는지를 나타내는 그래프들이다. 상술한 소규모 네트워크에 대한 시뮬레이션 결과와 마찬가지로, 본 개시에 따른 제어 방법(HEARTBEAT)은, 비교대상인 기법들에 비해 적은 양의 overhead를 발생시키는 것이 확인된다.11 is graphs for comparing network overhead of a system including a node according to an embodiment of the present disclosure and systems according to the prior art in a Rocketfuel topology. Specifically, FIG. 11 is graphs showing how many hops interest and response are delivered. Similar to the above-described simulation results for the small network, it is confirmed that the control method (HEARTBEAT) according to the present disclosure generates a small amount of overhead compared to comparable techniques.

다만, 본 개시에 따른 제어 방법(HEARTBEAT)에 있어서 캐시 크기가 커짐에 따라 interest 전송량이 증가하는 것을 볼 수 있는데, 이는 캐시 크기가 커짐에 따라 캐시에서 서비스될 수 있는 interest수가 많아지게 되고, 결과적으로 relaxed aggregation interval이 작아져 발생하는 현상이다. However, in the control method (HEARTBEAT) according to the present disclosure, it can be seen that the amount of interest transmission increases as the cache size increases, which means that as the cache size increases, the number of interests that can be served in the cache increases, and as a result This phenomenon occurs when the relaxed aggregation interval becomes smaller.

0.5%의 캐시의 경우, DFIB 기법에 비해 본 개시에 따른 제어 방법(HEARTBEAT)의 interest 전송량이 더 크지만, response의 전송량은 여전히 본 개시에 따른 제어 방법(HEARTBEAT)이 가장 작은 것이 확인된다. In the case of a 0.5% cache, the interest transmission amount of the control method (HEARTBEAT) according to the present disclosure is larger than that of the DFIB technique, but the response transmission amount is still the smallest in the control method (HEARTBEAT) according to the present disclosure. It is confirmed.

일반적으로, response 패킷의 크기가 interest 패킷의 크기보다 30 ~ 100배 큰 것을 고려했을 때, 본 개시에 따른 제어 방법(HEARTBEAT)이 가장 적은 양의 트래픽을 발생시키면서 가장 좋은 성능을 보이고 있음이 확인되었다.In general, considering that the size of the response packet is 30 to 100 times larger than the size of the interest packet, it was confirmed that the control method (HEARTBEAT) according to the present disclosure shows the best performance while generating the least amount of traffic. .

한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.Meanwhile, various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.

하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. According to the hardware implementation, the embodiments described in this disclosure are application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), and field programmable gate arrays (FPGAs). ), processors, controllers, micro-controllers, microprocessors, and electrical units for performing other functions.

일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.In some cases, the embodiments described herein may be implemented by a processor itself. According to software implementation, embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules described above may perform one or more functions and operations described herein.

한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions) 또는 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어 또는 컴퓨터 프로그램은 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 노드/전자 장치에서의 처리 동작을 상술한 특정 기기가 수행하도록 한다.On the other hand, computer instructions or computer programs for performing processing operations in the electronic device 100 according to various embodiments of the present disclosure described above are provided on a non-transitory computer-readable medium can be stored in Computer instructions or computer programs stored in such a non-transitory computer readable medium, when executed by a processor of a specific device, cause the above-described specific device to perform processing operations in the node/electronic device according to various embodiments described above.

비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.A non-transitory computer readable medium is a medium that stores data semi-permanently and is readable by a device, not a medium that stores data for a short moment, such as a register, cache, or memory. Specific examples of the non-transitory computer readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.Although the preferred embodiments of the present disclosure have been shown and described above, the present disclosure is not limited to the specific embodiments described above, and is common in the technical field belonging to the present disclosure without departing from the gist of the present disclosure claimed in the claims. Of course, various modifications and implementations are possible by those with knowledge of, and these modifications should not be individually understood from the technical spirit or perspective of the present disclosure.

100: 노드(cache node) 200: 노드(neighboring node)100: node (cache node) 200: node (neighboring node)

Claims (11)

제1 노드의 제어 방법에 있어서,
적어도 하나의 콘텐츠를 수신하여 저장하는 단계;
콘텐츠가 저장될 때마다, 상기 제1 노드로부터 일정 홉(hop) 수 내에 위치하는 주변 노드 모두에게 상기 저장된 콘텐츠에 대한 정보를 포함하는 virtual interest를 전송하는 단계;
상기 virtual interest를 수신한 주변 노드에 해당하는 제2 노드로부터 상기 virtual interest에 매칭되는 콘텐츠를 요청하는 interest를 수신하는 단계; 및
상기 virtual interest에 매칭되는 콘텐츠를 상기 제2 노드로 전송하는 단계;를 포함하는, 제1 노드의 제어 방법.
In the control method of the first node,
receiving and storing at least one piece of content;
whenever content is stored, transmitting a virtual interest including information about the stored content to all neighboring nodes located within a certain number of hops from the first node;
receiving an interest requesting content matching the virtual interest from a second node corresponding to a neighboring node that has received the virtual interest; and
Transmitting the content matching the virtual interest to the second node; including, the control method of the first node.
제1항에 있어서,
상기 virtual interest는,
상기 virtual interest를 나타내는 패킷 타입에 대한 정보, 및 상기 virtual interest에 대한 정보가 상기 제2 노드의 FIB(Forwarding Information Base) 상에 임시적으로 저장될 기간(ε)에 대한 정보를 포함하는, 제1 노드의 제어 방법.
According to claim 1,
The virtual interest is,
A first node, including information on a packet type indicating the virtual interest, and information on a period (ε) during which the information on the virtual interest will be temporarily stored on a Forwarding Information Base (FIB) of the second node. control method.
제2항에 있어서,
상기 제1 노드의 제어 방법은,
상기 virtual interest에 매칭되는 제1 콘텐츠가 상기 제1 노드에 저장된 상태에서 새로운 제2 콘텐츠가 수신된 경우, 상기 제1 콘텐츠가 상기 제1 노드에 저장되어 있던 시간(A)과 상기 기간(ε)을 비교하여, 상기 제1 콘텐츠 및 상기 제2 콘텐츠 중 상기 제1 노드에 저장될 콘텐츠를 선택하는 단계;를 포함하는, 제1 노드의 제어 방법.
According to claim 2,
The control method of the first node,
When new second content is received in a state where the first content matching the virtual interest is stored in the first node, the time (A) that the first content was stored in the first node and the period (ε) Comparing, selecting the content to be stored in the first node from among the first content and the second content; including, the control method of the first node.
제2항에 있어서,
상기 제1 노드의 제어 방법은,
상기 제1 노드에 콘텐츠가 저장되어 있는 시간에 대한 추정 값(R)에 따라, 상기 기간(ε)을 설정하는 단계;를 포함하는, 제1 노드의 제어 방법.
According to claim 2,
The control method of the first node,
and setting the period (ε) according to an estimated value (R) for a time during which content is stored in the first node.
제4항에 있어서,
상기 제1 노드의 제어 방법은,
상기 추정 값(R)을 이하 수학식에 따라 주기적으로 업데이트하는 단계;를 더 포함하고,
R = αR + (1-α)Rt
상기 Rt는 최신 주기 동안 상기 제1 노드에 저장된 콘텐츠들의 최소 거주 시간이고,
상기 α는 (0, 1) 범위의 상수인, 제1 노드의 제어 방법.
According to claim 4,
The control method of the first node,
Further comprising: periodically updating the estimated value (R) according to the following equation,
R = αR + (1-α)R t
R t is the minimum residence time of the contents stored in the first node during the latest period,
Wherein α is a constant in the range of (0, 1), the control method of the first node.
제4항에 있어서,
상기 제1 노드의 제어 방법은,
상기 virtual interest에 매칭되는 제1 콘텐츠가 상기 제1 노드에 저장된 상태에서 새로운 제2 콘텐츠가 수신된 경우, 상기 제1 콘텐츠가 상기 제1 노드에 저장되어 있던 시간(A)과 상기 추정 값(R)을 비교하여, 상기 추정 값(R)을 업데이트하는 단계;를 포함하는, 제1 노드의 제어 방법.
According to claim 4,
The control method of the first node,
When new second content is received while the first content matching the virtual interest is stored in the first node, the time (A) when the first content was stored in the first node and the estimated value (R) ), and updating the estimated value (R); including, the control method of the first node.
제1항에 있어서,
상기 virtual interest를 전송하는 단계는,
상기 제1 노드가 전송한 virtual interest에 매칭되는 콘텐츠를 요청하기 위해 주변 노드로부터 수신된 interest의 수를 상기 제1 노드가 전송한 virtual interest의 수로 나눈 값(B)을 모니터링하고,
상기 모니터링 된 값(B)에 따라 전송 확률을 설정하고,
상기 설정된 전송확률에 매칭되는 빈도로 상기 virtual interest를 주변 노드로 전송하는, 제1 노드의 제어 방법.
According to claim 1,
The step of transmitting the virtual interest,
Monitoring a value (B) obtained by dividing the number of interest received from neighboring nodes by the number of virtual interests transmitted by the first node in order to request content matching the virtual interest transmitted by the first node;
Set the transmission probability according to the monitored value (B),
A control method of a first node for transmitting the virtual interest to neighboring nodes at a frequency matching the set transmission probability.
제1항에 있어서,
상기 virtual interest를 전송하는 단계는,
상기 제1 노드가 전송한 virtual interest에 매칭되는 콘텐츠를 요청하기 위해 주변 노드로부터 수신되는 interest 간의 시간 간격을 모니터링하고,
상기 모니터링된 시간 간격에 대응되는 주기마다, 상기 제1 노드로 수신되어 저장되는 콘텐츠들을 식별하고, 상기 식별된 콘텐츠들을 포함하는 하나의 virtual interest를 주변 노드로 전송하는, 제1 노드의 제어 방법.
According to claim 1,
The step of transmitting the virtual interest,
Monitoring a time interval between interests received from neighboring nodes in order to request content matching the virtual interest transmitted by the first node;
For each period corresponding to the monitored time interval, identifying contents received and stored by the first node and transmitting one virtual interest including the identified contents to neighboring nodes.
제1항에 있어서,
상기 virtual interest를 전송하는 단계는,
상기 제1 노드의 PIT(Pending Interest Table)에 평균적으로 pending되는 interest의 수 및 상기 제1 노드의 cache에서 서비스되는 콘텐츠의 수를 기반으로, virtual interest의 전송 빈도를 설정하고,
상기 설정된 전송 빈도에 따라 상기 virtual interest를 주변 노드로 전송하는, 제1 노드의 제어 방법.
According to claim 1,
The step of transmitting the virtual interest,
Setting a transmission frequency of virtual interest based on the number of interests pending on average in the PIT (Pending Interest Table) of the first node and the number of contents serviced in the cache of the first node;
A control method of a first node for transmitting the virtual interest to neighboring nodes according to the set transmission frequency.
제1 노드 및 제2 노드를 포함하는 시스템의 제어 방법에 있어서,
상기 제1 노드가, 적어도 하나의 콘텐츠를 수신하여 저장하는 단계;
상기 제1 노드가, 콘텐츠가 저장될 때마다, 상기 제1 노드로부터 일정 홉(hop) 수 내에 위치하는 주변 노드 모두에게 상기 저장된 콘텐츠에 대한 정보를 포함하는 virtual interest를 전송하는 단계;
상기 제2 노드가 상기 virtual interest를 수신하는 단계;
상기 제2 노드가 상기 virtual interest에 매칭되는 콘텐츠에 대한 정보를 상기 제2 노드의 FIB(Forwarding Information Base) 상에 임시적으로 저장하는 단계;
적어도 하나의 콘텐츠를 요청하는 interest가 상기 제2 노드로 수신되면, 상기 제2 노드가, 상기 FIB 상에 저장된 콘텐츠에 대한 정보를 상기 interest에 따라 요청된 콘텐츠에 대한 정보와 비교하는 단계;
상기 FIB 상에 저장된 콘텐츠에 대한 정보가 상기 요청된 콘텐츠에 대한 정보와 매칭되는 경우, 상기 제2 노드가 상기 제1 노드로 상기 interest를 전송하는 단계; 및
상기 제1 노드가, 상기 제2 노드로부터 수신된 상기 interest에 매칭되는 콘텐츠를 상기 제2 노드로 전송하는 단계;를 포함하는, 시스템의 제어 방법.
In the control method of a system including a first node and a second node,
receiving and storing, by the first node, at least one piece of content;
transmitting, by the first node, virtual interest including information about the stored content to all neighboring nodes located within a certain number of hops from the first node, whenever content is stored;
receiving, by the second node, the virtual interest;
temporarily storing, by the second node, information on content matching the virtual interest on a Forwarding Information Base (FIB) of the second node;
When an interest requesting at least one piece of content is received by the second node, comparing, by the second node, information about the content stored in the FIB with information about the content requested according to the interest;
transmitting, by the second node, the interest to the first node when the information on the content stored on the FIB matches the information on the requested content; and
Transmitting, by the first node, content matching the interest received from the second node to the second node; including, the system control method.
컴퓨터 판독 가능 기록 매체에 있어서,
전자 장치의 프로세서에 의해 실행되어, 상기 전자 장치로 하여금 제1항의 제어 방법을 수행하도록 하는 적어도 하나의 인스트럭션;이 저장된, 컴퓨터 판독 가능 기록 매체.
In the computer readable recording medium,
A computer-readable recording medium having stored thereon; at least one instruction that is executed by a processor of an electronic device and causes the electronic device to perform the control method of claim 1.
KR1020210126571A 2021-09-24 2021-09-24 Control method of node included in information centric network, and system KR102596938B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210126571A KR102596938B1 (en) 2021-09-24 2021-09-24 Control method of node included in information centric network, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210126571A KR102596938B1 (en) 2021-09-24 2021-09-24 Control method of node included in information centric network, and system

Publications (2)

Publication Number Publication Date
KR20230044079A true KR20230044079A (en) 2023-04-03
KR102596938B1 KR102596938B1 (en) 2023-11-01

Family

ID=85936530

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210126571A KR102596938B1 (en) 2021-09-24 2021-09-24 Control method of node included in information centric network, and system

Country Status (1)

Country Link
KR (1) KR102596938B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140022075A (en) * 2011-07-12 2014-02-21 후아웨이 테크놀러지 컴퍼니 리미티드 Seamless mobility schemes in named-data networking using multi-path routing and content caching
KR101473868B1 (en) * 2013-11-29 2014-12-18 아주대학교산학협력단 A node and a method of communicating among a plurality of nodes in content-centric networking environment
KR20160015004A (en) * 2014-07-30 2016-02-12 에스케이텔레콤 주식회사 Method for transmitting contents between terminal using service control apparatus and recording medium recording program therfor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140022075A (en) * 2011-07-12 2014-02-21 후아웨이 테크놀러지 컴퍼니 리미티드 Seamless mobility schemes in named-data networking using multi-path routing and content caching
KR101473868B1 (en) * 2013-11-29 2014-12-18 아주대학교산학협력단 A node and a method of communicating among a plurality of nodes in content-centric networking environment
KR20160015004A (en) * 2014-07-30 2016-02-12 에스케이텔레콤 주식회사 Method for transmitting contents between terminal using service control apparatus and recording medium recording program therfor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
▶인용발명2:콘텐츠 중심 네트워크에서의 이동성 연구 동향, Information and Communications Magazine(정보와 통신) Vol. 29 Issue 9. pp.63-69, 2012.* *

Also Published As

Publication number Publication date
KR102596938B1 (en) 2023-11-01

Similar Documents

Publication Publication Date Title
KR102301353B1 (en) Method for transmitting packet of node and content owner in content centric network
EP2835942B1 (en) Dynamic interest forwarding mechanism for information centric networking
CN104348722B (en) Determine content obtaining path, the methods, devices and systems of request processing
KR102160494B1 (en) Network nodes, endpoint nodes, and how to receive messages of interest
CN108769252B (en) ICN network pre-caching method based on request content relevance
KR20130093813A (en) A communication method of node prefetching segments of contents in a content centric network and the node
US10419349B2 (en) Congestion method, device and system
CN105099944B (en) A kind of data cached method and forwarding unit
US10117140B2 (en) Network storage method, switch device, and controller
Ascigil et al. A native content discovery mechanism for the information-centric networks
CN111935031A (en) NDN architecture-based traffic optimization method and system
WO2012034414A1 (en) Method and system for processing peer to peer (p2p) services
EP3869763B1 (en) Method for delivering an audio and/or video content in a mobile network infrastructure
CN112737940B (en) Data transmission method and device
CN102045234B (en) Buffering and overtime processing methods of route address mapping information as well as tunnel router
Hegadi et al. Performance evaluation of in-network caching: a core functionality of information centric networking
KR102596938B1 (en) Control method of node included in information centric network, and system
EP2785017B1 (en) Content-centric networking
US9444724B2 (en) Router, method for using cache when content server is unreachable, and program
JP2020024606A (en) Transfer device for content distribution network
CN115002036B (en) NDN network congestion control method, electronic equipment and storage medium
KR101966284B1 (en) Active request management appartus in stateful forwarding networks and method therof
KR100823135B1 (en) Routing control device for efficient arp request and method thereof
Matsuzono et al. Efficient Pull-based Mobile Video Streaming leveraging In-Network Functions
Zha et al. A dynamic cache placement policy for NDN based on programmable data plane

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant