KR20210067429A - Method for providing service of information centric network using parallel profix match lookup and apparatus using the same - Google Patents

Method for providing service of information centric network using parallel profix match lookup and apparatus using the same Download PDF

Info

Publication number
KR20210067429A
KR20210067429A KR1020190157020A KR20190157020A KR20210067429A KR 20210067429 A KR20210067429 A KR 20210067429A KR 1020190157020 A KR1020190157020 A KR 1020190157020A KR 20190157020 A KR20190157020 A KR 20190157020A KR 20210067429 A KR20210067429 A KR 20210067429A
Authority
KR
South Korea
Prior art keywords
lookup
prefix match
name
information
parallel
Prior art date
Application number
KR1020190157020A
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 KR1020190157020A priority Critical patent/KR20210067429A/en
Publication of KR20210067429A publication Critical patent/KR20210067429A/en

Links

Images

Classifications

    • H04L61/1552
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L61/305
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/35Types of network names containing special prefixes

Landscapes

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

Abstract

Disclosed are a method of providing an information-centric network service by using parallel prefix match lookup and an apparatus therefor. According to one embodiment of the present invention, the method of providing the information-centric network service includes: parsing an interest packet transmitted from a user in an information-centric network to obtain at least one interest name component; generating a plurality of hash tables by dividing a forwarding information base table by a number of name components; performing parallel prefix match lookup for the at least one interest name component based on the hash tables; and performing forwarding to the user based on one lookup result corresponding to a longest match with the name component obtained through the parallel prefix match lookup. Accordingly, a forwarding information base (FIB) lookup speed based on longest prefix matching (LPM) for an interest packet is improved.

Description

병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법 및 이를 위한 장치 {METHOD FOR PROVIDING SERVICE OF INFORMATION CENTRIC NETWORK USING PARALLEL PROFIX MATCH LOOKUP AND APPARATUS USING THE SAME}Method for providing information-centric network service using parallel prefix match lookup and apparatus therefor {METHOD FOR PROVIDING SERVICE OF INFORMATION CENTRIC NETWORK USING PARALLEL PROFIX MATCH LOOKUP AND APPARATUS USING THE SAME}

본 발명은 병렬 프리픽스 매치 룩업을 이용하여 정보 중심 네트워크 서비스를 제공하는 기술에 관한 것으로, 특히 NDN(Named Data Networking) 또는 CCN(Content-Centric Networking)기반의 ICN(Information-Centric Networking) 노드에서 관심 패킷(interest packet)에 대하여 LPM(Longest Prefix Matching) 기반의 FIB(Forwarding Information Base) 룩업을 고속으로 처리하기 위한 구조 및 기술에 관한 것이다.The present invention relates to a technology for providing an information-centric network service using a parallel prefix match lookup, and in particular, an interest packet in an Information-Centric Networking (ICN) node based on Named Data Networking (NDN) or Content-Centric Networking (CCN). It relates to a structure and technology for processing an LPM (Longest Prefix Matching)-based FIB (Forwarding Information Base) lookup with respect to (interest packet) at high speed.

정보 중심 네트워킹(Information-Centric Networking, ICN))은 현재의 IP를 대체하기 위한 새로운 네트워킹 기술에 해당하는 것으로, 정보의 위치 주소에 기반하여 정보를 요청 및 포워딩하는 IP와는 다르게 정보의 이름 기반으로 요청 및 포워딩을 수행한다. 이러한 정보 중심 네트워킹(ICN)의 대표적인 기술로는 NDN(Named Data Networking)이나 CCN(Content-Centric Networking)등이 존재한다. Information-Centric Networking (ICN) corresponds to a new networking technology to replace the current IP. Unlike IP that requests and forwards information based on the location address of the information, it is requested based on the name of the information. and forwarding. Representative technologies of such information-centric networking (ICN) include Named Data Networking (NDN) or Content-Centric Networking (CCN).

일반적으로, ICN에서 Customer는 요구하는 데이터 이름을 헤더 필드에 실은 interest packet을 ICN 네트워크로 전송한다. 이 때, ICN 노드는 수신한 interest packet에 대하여 데이터 이름 기반 포워딩을 수행한다. 또한, 해당 데이터를 캐싱하거나 소유하고 있는 노드는 data packet에 요청 정보를 실어서 ICN 노드로 응답할 수 있고, ICN 노드는 interest packet이 전달되어 온 경로를 따라서 Customer에게 해당 데이터가 포함된 data packet을 전달할 수 있다. In general, in ICN, the customer transmits an interest packet with the requested data name in the header field to the ICN network. At this time, the ICN node performs data name-based forwarding on the received interest packet. Also, the node that caches or owns the data can respond to the ICN node by loading the request information in the data packet, and the ICN node sends the data packet containing the data to the customer along the path through which the interest packet has been delivered. can transmit

이와 같은 ICN 노드는 응답으로 data packet을 수신할 때까지 interest packet의 정보를 저장하는 PIT(Pending Interest Table), 해당 노드를 경유한 data packet을 캐싱하는 CS(Content Store), 데이터 이름 기반으로 interest packet을 포워딩하기 위한 FIB(Forwarding Information Base)로 구성될 수 있다. Such an ICN node has a PIT (Pending Interest Table) that stores the information of the interest packet until a data packet is received in response, a CS (Content Store) that caches the data packet that has passed through the node, and the interest packet based on the data name. may be configured as a Forwarding Information Base (FIB) for forwarding .

도 1을 참조하면, 데이터 이름은 다수의 네임 컴포넌트(name component)로 구성된 계층적 구조를 가지며, FIB 포워딩을 위해서는 네임 프리픽스 기반으로 데이터 이름과 매치되는 FIB 엔트리 중에서 가장 긴 엔트리를 찾는 LPM(Longest Prefix Match) 방식의 FIB 검색을 수행해야 한다.Referring to FIG. 1 , a data name has a hierarchical structure composed of a plurality of name components, and for FIB forwarding, a Longest Prefix (LPM) for finding the longest entry among FIB entries matching a data name based on a name prefix Match) method FIB search should be performed.

NDN/CCN의 데이터 이름은 네임 컴포넌트의 개수 및 길이 제한이 없기 때문에, interest packet 마다 FIB를 LPM 방식으로 검색하기 위해서는 최대 입력 네임 컴포넌트의 개수만큼 룩업을 순차적으로 수행해야 한다. 이러한 구조는 포워딩 성능 향상에서 큰 제약이 된다.Since the data name of NDN/CCN does not have restrictions on the number and length of name components, in order to search the FIB for each interest packet by the LPM method, it is necessary to sequentially perform a lookup by the maximum number of input name components. This structure is a big constraint in improving the forwarding performance.

또한, 성능 개선을 고려하여 파이프라인 기반 LPM 룩업을 수행할 경우, 임의의 계층적 네임 컴포넌트 개수에 대한 FIB 룩업에서 병목 현상이 발생하는 문제점이 있어서 실질적인 성능 향상에 한계를 가진다.In addition, when a pipeline-based LPM lookup is performed in consideration of performance improvement, there is a problem in that a bottleneck occurs in the FIB lookup for an arbitrary number of hierarchical name components, so that there is a limit to actual performance improvement.

한국 공개 특허 제10-2014-0144570호, 2014년 12월 19일 공개(명칭: 컨텐츠 중심 네트워크에서 컨텐츠의 이동성을 지원하기 위한 노드의 통신 방법 및 노드)Korean Patent Laid-Open Patent No. 10-2014-0144570, published on December 19, 2014 (Title: Communication method and node of a node to support the mobility of content in a content-centric network)

본 발명의 목적은 NDN/CCN기반의 ICN 노드에서 interest packet의 가장 긴 네임 프리픽스부터 계층적 네임 컴포넌트 개수를 줄여가면서 순차적으로 처리하는 FIB 룩업 방식에 비하여 interest packet에 대한 LPM 기반의 FIB 룩업 속도를 향상시키는 것이다.An object of the present invention is to improve the LPM-based FIB lookup speed for an interest packet compared to the FIB lookup method that sequentially processes the number of hierarchical name components from the longest name prefix of an interest packet in an NDN/CCN-based ICN node. will make it

또한, 본 발명의 목적은 계층적 네임 컴포넌트 개수 별 파이프라인 방식의 FIB 룩업 구조에서 발생 가능한 HOL 블록킹 문제를 해결하여 고성능 고속 포워딩이 가능하도록 하는 것이다.In addition, an object of the present invention is to solve the HOL blocking problem that may occur in the FIB lookup structure of the pipeline method according to the number of hierarchical name components to enable high-performance and high-speed forwarding.

상기한 목적을 달성하기 위한 본 발명에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법은 정보 중심 네트워크(INFORMATION CENTRIC NETWORK)에서 사용자로부터 전달되는 관심 패킷을 파싱하여 적어도 하나의 관심 네임 컴포넌트(NAME COMPONENT)를 획득하는 단계; 포워딩 인포메이션 베이스 테이블(FORWARDING INFORMATION BASE TABLE)을 네임 컴포넌트 개수 별로 분리하여 복수개의 해시 테이블(HASH TABLE)들을 생성하는 단계; 상기 복수개의 해시 테이블들을 기반으로 상기 적어도 하나의 관심 네임 컴포넌트에 대한 병렬 프리픽스 매치 룩업(PREFIX MATCH LOOKUP)을 수행하는 단계; 및 상기 병렬 프리픽스 매치 룩업을 통해 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 기반으로 상기 사용자에게 포워딩을 수행하는 단계를 포함한다.An information-centric network service providing method using a parallel prefix match lookup according to the present invention for achieving the above object parses an interest packet transmitted from a user in an information-centric network (INFORMATION CENTRIC NETWORK) to at least one interest name component (NAME) COMPONENT); Creating a plurality of hash tables (HASH TABLE) by dividing the forwarding information base table (FORWARDING INFORMATION BASE TABLE) by the number of name components; performing a parallel prefix match lookup (PREFIX MATCH LOOKUP) for the at least one name-of-interest component based on the plurality of hash tables; and performing forwarding to the user based on a single lookup result in which a name component is matched the longest through the parallel prefix match lookup.

이 때, 병렬 프리픽스 매치 룩업은 상기 적어도 하나의 관심 네임 컴포넌트를 통해 생성 가능한 네임 프리픽스 별로 상기 복수개의 해시 테이블들 기반의 프리픽스 매치 룩업을 수행하는 것에 상응할 수 있다.In this case, the parallel prefix match lookup may correspond to performing a prefix match lookup based on the plurality of hash tables for each name prefix that can be generated through the at least one interested name component.

이 때, 병렬 프리픽스 매치 룩업을 수행하는 단계는 상기 네임 프리픽스 별로 수행된 프리픽스 매치 룩업 결과 중 매치가 성공한 룩업 결과를 획득하고, 매치가 성공한 룩업 결과들 중 가장 길게 매칭된 룩업 결과를 상기 관심 패킷의 출력 정보로써 저장할 수 있다.In this case, the performing of the parallel prefix match lookup includes obtaining a lookup result in which a match is successful among the results of the prefix match lookup performed for each name prefix, and selecting the longest matched lookup result among the lookup results in which the match is successful. It can be saved as output information.

이 때, 병렬 프리픽스 매치 룩업을 수행하는 단계는 현재 시점에서 네임 컴포넌트가 가장 길게 매칭된 네임 컴포넌트 개수를 시퀀스 상태 테이블(SEQUENCE STATUS TABLE)에 저장하고, 상기 시퀀스 상태 테이블에 저장된 네임 컴포넌트 개수와 상기 병렬 프리픽스 매치 룩업을 기반으로 수행된 프리픽스 매치 룩업의 네임 컴포넌트 개수를 비교하여 해당 프리픽스 매치 룩업의 수행여부를 판단할 수 있다.In this case, performing the parallel prefix match lookup includes storing the number of name components with the longest matching name component at the current time in a sequence status table (SEQUENCE STATUS TABLE), and the number of name components stored in the sequence status table and the parallel By comparing the number of name components of the prefix match lookup performed based on the prefix match lookup, it may be determined whether the corresponding prefix match lookup is performed.

이 때, 시퀀스 상태 테이블은 상기 관심 패킷을 식별하기 위한 일련 번호를 포함할 수 있다.In this case, the sequence state table may include a serial number for identifying the interest packet.

이 때, 시퀀스 상태 테이블은 상기 관심 패킷에 대한 병렬 프리픽스 매치 룩업이 완료되었는지 여부를 나타내기 위한 busy_flag 필드를 포함할 수 있다.In this case, the sequence state table may include a busy_flag field for indicating whether the parallel prefix match lookup for the interest packet is completed.

이 때, busy_flag 필드의 값은 상기 관심 패킷이 입력되는 경우에 1로 설정되고, 상기 관심 패킷에 대한 병렬 프리픽스 매치 룩업을 수행하여 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 획득한 경우에 0으로 설정될 수 있다.At this time, the value of the busy_flag field is set to 1 when the interest packet is input, and 0 when a single lookup result in which the name component matches the longest is obtained by performing a parallel prefix match lookup on the interest packet. can be set to

이 때, 병렬 프리픽스 매치 룩업에 상응하게 병렬적으로 수행 가능한 프리픽스 매치 룩업의 개수는 상기 관심 패킷을 임시 저장하는 인터레스트 큐(INTEREST QUEUE)에 저장 가능한 패킷의 개수와 동일할 수 있다.In this case, the number of prefix match lookups that can be performed in parallel corresponding to the parallel prefix match lookup may be equal to the number of packets that can be stored in an interest queue temporarily storing the interest packet.

또한, 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치는, 정보 중심 네트워크(INFORMATION CENTRIC NETWORK)에서 사용자로부터 전달되는 관심 패킷을 파싱하여 적어도 하나의 관심 네임 컴포넌트(NAME COMPONENT)를 획득하고, 포워딩 인포메이션 베이스 테이블(FORWARDING INFORMATION BASE TABLE)을 네임 컴포넌트 개수 별로 분리하여 복수개의 해시 테이블(HASH TABLE)들을 생성하고, 상기 복수개의 해시 테이블들을 기반으로 상기 적어도 하나의 관심 네임 컴포넌트에 대한 병렬 프리픽스 매치 룩업(PREFIX MATCH LOOKUP)을 수행하고, 상기 병렬 프리픽스 매치 룩업을 통해 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 기반으로 상기 사용자에게 포워딩을 수행하는 프로세서; 및 상기 관심 패킷 및 상기 포워딩 인포메이션 베이스 테이블을 저장하는 메모리를 포함한다.In addition, the apparatus for providing an information-centric network service using a parallel prefix match lookup according to an embodiment of the present invention parses an interest packet transmitted from a user in an information-centric network (INFORMATION CENTRIC NETWORK) to at least one interest name component (NAME) COMPONENT), dividing the forwarding information base table (FORWARDING INFORMATION BASE TABLE) by the number of name components to generate a plurality of hash tables (HASH TABLE), and based on the plurality of hash tables, the at least one name component of interest a processor for performing a PREFIX MATCH LOOKUP for , and forwarding to the user based on a single lookup result in which a name component is matched the longest through the parallel prefix match lookup; and a memory for storing the interest packet and the forwarding information base table.

이 때, 병렬 프리픽스 매치 룩업은 상기 적어도 하나의 관심 네임 컴포넌트를 통해 생성 가능한 네임 프리픽스 별로 상기 복수개의 해시 테이블들 기반의 프리픽스 매치 룩업을 수행하는 것에 상응할 수 있다.In this case, the parallel prefix match lookup may correspond to performing a prefix match lookup based on the plurality of hash tables for each name prefix that can be generated through the at least one interested name component.

이 때, 프로세서는 상기 네임 프리픽스 별로 수행된 프리픽스 매치 룩업 결과 중 매치가 성공한 룩업 결과를 획득하고, 매치가 성공한 룩업 결과들 중 가장 길게 매칭된 룩업 결과를 상기 관심 패킷의 출력 정보로써 저장할 수 있다.In this case, the processor may obtain a lookup result in which a match is successful among the results of the prefix match lookup performed for each name prefix, and store the longest matched lookup result among the lookup results in which the match is successful as output information of the interest packet.

이 때, 프로세서는 현재 시점에서 네임 컴포넌트가 가장 길게 매칭된 네임 컴포넌트 개수를 시퀀스 상태 테이블(SEQUENCE STATUS TABLE)에 저장하고, 상기 시퀀스 상태 테이블에 저장된 네임 컴포넌트 개수와 상기 병렬 프리픽스 매치 룩업을 기반으로 수행된 프리픽스 매치 룩업의 네임 컴포넌트 개수를 비교하여 해당 프리픽스 매치 룩업의 수행여부를 판단할 수 있다.At this time, the processor stores the number of name components with the longest matching name component at the current time in a sequence status table (SEQUENCE STATUS TABLE), and performs based on the number of name components stored in the sequence status table and the parallel prefix match lookup It can be determined whether the corresponding prefix match lookup is performed by comparing the number of name components in the prefix match lookup.

이 때, 시퀀스 상태 테이블은 상기 관심 패킷을 식별하기 위한 일련 번호를 포함할 수 있다.In this case, the sequence state table may include a serial number for identifying the interest packet.

이 때, 시퀀스 상태 테이블은 상기 관심 패킷에 대한 병렬 프리픽스 매치 룩업이 완료되었는지 여부를 나타내기 위한 busy_flag 필드를 포함할 수 있다.In this case, the sequence state table may include a busy_flag field for indicating whether the parallel prefix match lookup for the interest packet is completed.

이 때, busy_flag 필드의 값은 상기 관심 패킷이 입력되는 경우에 1로 설정되고, 상기 관심 패킷에 대한 병렬 프리픽스 매치 룩업을 수행하여 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 획득한 경우에 0으로 설정될 수 있다.At this time, the value of the busy_flag field is set to 1 when the interest packet is input, and 0 when a single lookup result in which the name component matches the longest is obtained by performing a parallel prefix match lookup on the interest packet. can be set to

이 때, 병렬 프리픽스 매치 룩업에 상응하게 병렬적으로 수행 가능한 프리픽스 매치 룩업의 개수는 상기 관심 패킷을 임시 저장하는 인터레스트 큐(INTEREST QUEUE)에 저장 가능한 패킷의 개수와 동일할 수 있다.In this case, the number of prefix match lookups that can be performed in parallel corresponding to the parallel prefix match lookup may be equal to the number of packets that can be stored in an interest queue temporarily storing the interest packet.

본 발명에 따르면, NDN/CCN기반의 ICN 노드에서 interest packet의 가장 긴 네임 프리픽스부터 계층적 네임 컴포넌트 개수를 줄여가면서 순차적으로 처리하는 FIB 룩업 방식에 비하여 interest packet에 대한 LPM 기반의 FIB 룩업 속도를 향상시킬 수 있다.According to the present invention, the LPM-based FIB lookup speed for the interest packet is improved compared to the FIB lookup method that sequentially processes the number of hierarchical name components from the longest name prefix of the interest packet in the NDN/CCN-based ICN node. can do it

또한, 본 발명은 계층적 네임 컴포넌트 개수 별 파이프라인 방식의 FIB 룩업 구조에서 발생 가능한 HOL 블록킹 문제를 해결하여 고성능 고속 포워딩이 가능하도록 할 수 있다.In addition, the present invention can enable high-performance and high-speed forwarding by solving the HOL blocking problem that may occur in the pipeline-type FIB lookup structure for each number of hierarchical name components.

도 1은 LPM 기반의 이름 룩업 프로세스의 일 예를 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법을 나타낸 동작 흐름도이다.
도 3은 본 발명에 따른 ICN 노드 구조의 일 예를 나타낸 도면이다.
도 4는 도 3에 도시된 SST 구조의 일 예를 나타낸 도면이다.
도 5는 도 3에 도시된 IQ 구조의 일 예를 나타낸 도면이다.
도 6 내지 도 7은 도 3에 도시된 PML과 LSM을 기반으로 병렬 프리픽스 매치 룩업이 처리되는 과정의 일 예를 상세하게 나타낸 동작 흐름도이다.
도 9는 본 발명에 따른 관심 패킷 및 FIB의 일 예를 나타낸 도면이다.
도 10 내지 도 14는 도 9에 도시된 관심 패킷과 FIB를 기반으로 단계별 SST 상태 변화의 일 예를 나타낸 도면이다.
도 15는 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치를 나타낸 블록도이다.
1 is a diagram illustrating an example of an LPM-based name lookup process.
2 is an operation flowchart illustrating a method of providing an information-centric network service using a parallel prefix match lookup according to an embodiment of the present invention.
3 is a diagram illustrating an example of an ICN node structure according to the present invention.
4 is a diagram illustrating an example of the SST structure shown in FIG. 3 .
5 is a diagram illustrating an example of the IQ structure shown in FIG. 3 .
6 to 7 are operational flowcharts illustrating in detail an example of a process in which a parallel prefix match lookup is processed based on the PML and the LSM shown in FIG. 3 .
9 is a diagram illustrating an example of an interest packet and an FIB according to the present invention.
10 to 14 are diagrams illustrating an example of step-by-step SST state change based on the interest packet and FIB shown in FIG. 9 .
15 is a block diagram illustrating an apparatus for providing an information-centric network service using a parallel prefix match lookup according to an embodiment of the present invention.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will be described in detail with reference to the accompanying drawings as follows. Here, repeated descriptions, well-known functions that may unnecessarily obscure the gist of the present invention, and detailed descriptions of configurations will be omitted. The embodiments of the present invention are provided in order to more completely explain the present invention to those of ordinary skill in the art. Accordingly, the shapes and sizes of elements in the drawings may be exaggerated for clearer description.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법을 나타낸 동작 흐름도이다.2 is a flowchart illustrating an information-centric network service providing method using a parallel prefix match lookup according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법은 정보 중심 네트워크(INFORMATION CENTRIC NETWORK)에서 사용자로부터 전달되는 관심 패킷을 파싱하여 적어도 하나의 관심 네임 컴포넌트(NAME COMPONENT)를 획득한다(S210).Referring to FIG. 2 , the information-centric network service providing method using a parallel prefix match lookup according to an embodiment of the present invention parses an interest packet transmitted from a user in an information-centric network (INFORMATION CENTRIC NETWORK) to at least one interest name A component (NAME COMPONENT) is acquired (S210).

본 발명에서 제안하는 내용은 NDN(Named Data Networking) 또는 CCN(Content-Centric Networking) 구조에 기반한 ICN(Information-Centric Networking) 노드에 적용되는 기술에 해당할 수 있으며, 이하에서 기재되는 정보 중심 네트워크 및 ICN은 NDN이나 CCN을 의미할 수 있다. The content proposed in the present invention may correspond to a technology applied to an ICN (Information-Centric Networking) node based on a Named Data Networking (NDN) or Content-Centric Networking (CCN) structure, and the information-centric network and ICN may mean NDN or CCN.

이하에서는 도 3에 도시된, 본 발명의 일실시예에 따른 ICN 노드 구조를 함께 참조하여 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법을 설명하도록 한다. Hereinafter, a method of providing an information-centric network service using a parallel prefix match lookup according to an embodiment of the present invention will be described with reference to the ICN node structure according to an embodiment of the present invention shown in FIG. 3 .

도 3을 참조하면, 따른 ICN 노드는 관심 패킷(interest packet)에 대한 고속의 병렬 프리픽스 매치 룩업을 제공하기 위해서 RX(310), Parsing 모듈(320), Seq_Gen 모듈(330), Interest Buffer(340), PML(350) 및 LSM(360)으로 구성될 수 있다.Referring to FIG. 3 , the corresponding ICN node provides an RX 310, a Parsing module 320, a Seq_Gen module 330, and an Interest Buffer 340 to provide a high-speed parallel prefix match lookup for an interest packet. , the PML 350 and the LSM 360 may be configured.

이 때, RX(310)이 관심 패킷(interest packet)을 수신하여 Parsing 모듈(320)로 전달하면, Parsing 모듈(320)은 관심 패킷을 파싱(parsing)하여 계층적인 관심 네임 컴포넌트를 획득할 수 있다. 이 때, Parsing 모듈(320)을 통해 관심 네임 컴포넌트 개수 정보를 알 수 있고, 관심 네임 컴포넌트 별 위치를 구분할 수 있다.At this time, when the RX 310 receives an interest packet and transmits it to the Parsing module 320, the Parsing module 320 parses the interest packet to obtain a hierarchical name of interest component. . At this time, information on the number of name components of interest may be known through the parsing module 320 , and locations of each component name of interest may be distinguished.

이 후, Seq_Gen 모듈(330)에서는 관심 패킷에 대하여 ID와 같은 식별자의 일종인 일련 번호(seq_no)를 생성하여 부여할 수 있고, Interest Buffer(340)에서 일련 번호(seq_no), 파싱(parsing) 정보 및 관심 패킷을 저장할 수 있다. Thereafter, the Seq_Gen module 330 may generate and assign a serial number (seq_no), which is a kind of identifier such as an ID, to the interest packet, and in the Interest Buffer 340 , the serial number (seq_no) and parsing information and an interest packet.

또한, 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법은 포워딩 인포메이션 베이스 테이블(FORWARDING INFORMATION BASE TABLE)을 네임 컴포넌트 개수 별로 분리하여 복수개의 해시 테이블(HASH TABLE)들을 생성한다(S220).In addition, the information-oriented network service providing method using a parallel prefix match lookup according to an embodiment of the present invention creates a plurality of hash tables by separating the forwarding information base table (FORWARDING INFORMATION BASE TABLE) by the number of name components. do (S220).

이 때, 포워딩 인포메이션 베이스 테이블은 데이터 이름 기반으로 관심 패킷을 포워딩하기 위한 정보 베이스에 해당하는 것으로, 이러한 정보 베이스는 본 발명에 따라 네임 컴포넌트 개수 별로 분리되어 각각의 PML(Prefix Match Lookup)을 구성하는 복수개의 해시 테이블(HASH TABLE)로 생성될 수 있다. At this time, the forwarding information base table corresponds to the information base for forwarding the interest packet based on the data name, and this information base is divided according to the number of name components according to the present invention to configure each PML (Prefix Match Lookup). It may be created as a plurality of hash tables (HASH TABLE).

예를 들어, 도 3에 도시된 PML(Prefix Match Lookup)(350)은 추후에 관심 네임 컴포넌트 개수 별 병렬 프리픽스 매치 룩업을 수행하는 주체로써, 관심 패킷의 일련 번호(seq_no)를 저장하는 SQ(Sequence Queue), LSM(LPM Status Management)(360)과 연동되어 프리픽스 매치 룩업 동작 여부를 수신하거나, 프리픽스 매치 룩업을 수행한 후 결과를 제공하는 LC(Lookup Control), 계층적 네임 컴포넌트 개수 별로 나누어 진 FIB에 상응하는 HT(Hash Table)로 구성될 수 있다. For example, the prefix match lookup (PML) 350 shown in FIG. 3 is a subject that later performs a parallel prefix match lookup for each number of interest name components, and stores the sequence number (seq_no) of the interest packet. Queue) and LSM (LPM Status Management) 360 to receive whether the prefix match lookup operation is performed, or LC (Lookup Control) to provide the result after performing the prefix match lookup, FIB divided by the number of hierarchical name components It can be composed of HT (Hash Table) corresponding to .

또한, 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법은 복수개의 해시 테이블들을 기반으로 적어도 하나의 관심 네임 컴포넌트에 대한 병렬 프리픽스 매치 룩업(PREFIX MATCH LOOKUP)을 수행한다(S230).In addition, the information-centric network service providing method using a parallel prefix match lookup according to an embodiment of the present invention performs a parallel prefix match lookup (PREFIX MATCH LOOKUP) for at least one name component of interest based on a plurality of hash tables. (S230).

이 때, 도 3에 도시된 LSM(LPM Status Management)(360)는 PML(350)의 동작을 제어하고, PML(350)의 동작 결과를 취합하여 가장 길게 일치하는 룩업 결과를 출력하는 역할을 수행할 수 있다. 이와 같은 LSM(360)은 PML(350)의 동작을 제어하는 PMLC(Prefix Match Lookup Control), PML(350)에 의한 룩업 결과를 취합하여 가장 길게 매칭된 룩업 결과를 출력하는 LPMS(LPM Select), PML(350)에서 요구하는 관심 패킷을 임시 저장하는 IQ(Interest Queue) 및 일련 번호(seq_no)별 LPM 상태를 관리하는 시퀀스 상태 테이블(Sequence Status Table, SST)로 구성될 수 있다. At this time, the LSM (LPM Status Management) 360 shown in FIG. 3 controls the operation of the PML 350, collects the operation results of the PML 350, and outputs the longest matching lookup result. can do. Such an LSM 360 is a PMLC (Prefix Match Lookup Control) that controls the operation of the PML 350, an LPMS (LPM Select) that collects the lookup results by the PML 350 and outputs the longest matched lookup result, The PML 350 may include an Interest Queue (IQ) for temporarily storing the interest packet requested by the PML 350 and a Sequence Status Table (SST) for managing the LPM status for each sequence number (seq_no).

이 때, 시퀀스 상태 테이블(Sequence Status Table, SST)은 도 4에 도시된 것과 같이 6개의 필드로 구성될 수 있다. In this case, the Sequence Status Table (SST) may be composed of six fields as shown in FIG. 4 .

도 4를 참조하면, 본 발명의 일실시예에 따른 시퀀스 상태 테이블(SST)은 관심 패킷을 식별하기 위해 생성된 일련 번호(seq_no)를 포함하는 seq_no 필드, 일련 번호(seq_no)에 해당하는 관심 패킷에 대한 LPM이 완료되었는지 여부를 나타내는 busy_flag 필드, 관심 패킷에 상응하는 계층적인 네임 컴포넌트 개수를 나타내는 comp_length 필드, PML에 의한 룩업을 수행한 경우에 해당 PML의 번호에 대한 bit를 1로 설정하여 나타내는 bitmap 필드, 현재 시점에서 가장 길게 매치된 네임 컴포넌트 개수를 저장하는 match_length 필드 및 관심 패킷의 출력 face 정보를 나타내는 next 필드로 구성될 수 있다. Referring to FIG. 4 , a sequence state table (SST) according to an embodiment of the present invention includes a seq_no field including a sequence number (seq_no) generated to identify an interest packet, and an interest packet corresponding to the sequence number (seq_no). A busy_flag field indicating whether or not LPM for LPM has been completed, a comp_length field indicating the number of hierarchical name components corresponding to the packet of interest, and a bitmap indicating by setting the bit for the number of the PML to 1 when a lookup by PML is performed. field, a match_length field that stores the number of name components matched the longest at the current time, and a next field that indicates output face information of the interest packet.

이 때, busy_flag 필드의 값은 관심 패킷이 입력되는 경우에 1로 설정되고, 관심 패킷에 대한 병렬 프리픽스 매치 룩업을 수행하여 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 획득한 경우에 0으로 설정될 수 있다. 예를 들어, busy_flag 필드의 값이 '0'으로 설정되었다는 것은, comp_length 필드에 해당하는 bitmap 필드의 값이 모두 '1'로 설정되지 않더라도(즉, 모든 프리픽스 매치 룩업이 수행되지 않았더라도) 하위 번호에 해당하는 나머지 PML에 의한 룩업 결과가 필요하지 않은 상태를 의미할 수 있다. At this time, the value of the busy_flag field is set to 1 when an interest packet is input, and is set to 0 when a parallel prefix match lookup is performed on the interest packet to obtain one lookup result in which the name component matches the longest. can be For example, if the value of the busy_flag field is set to '0', it means that the value of the bitmap field corresponding to the comp_length field is not all set to '1' (that is, even if all prefix match lookups are not performed). It may mean a state in which a lookup result by the remaining PML corresponding to .

이 때, bitmap 필드는 프리픽스 매치 룩업이 수행된 PML 번호에 해당하는 bit를 '1'로 설정하는 필드에 상응하며, 초기값으로 comp_length에 해당하는 비트만 '0'으로 설정될 수 있다. 예를 들어, bitmap 필드의 크기가 12비트에 상응하고, comp_length 필드의 값이 7로 입력되는 경우에는 'bitmap = 12b1111_1000_0000' 로 설정될 수 있다. In this case, the bitmap field corresponds to a field in which a bit corresponding to the PML number on which the prefix match lookup is performed is set to '1', and only a bit corresponding to comp_length may be set to '0' as an initial value. For example, when the size of the bitmap field corresponds to 12 bits and the value of the comp_length field is input as 7, 'bitmap = 12b1111_1000_0000' may be set.

이 때, match_length 필드는 현재 시점에서 가장 길게 매치된 네임 컴포넌트 개수를 저장할 수 있다. 예를 들어, comp_length 필드의 값이'6'이고, 현재 PML1, PML3, PML4가 동작하였으며, PML3, PML1에서 매치가 성공하였을 경우에는 match _length 필드의 값은 '3'이 될 수 있다. 이후에 PML2에서 매치가 성공하더라도 match_length = 3이 더 길게 매치된 값이므로 PML2의 결과는 저장되지 않고 삭제될 수 있다. 그러나 만약, PML5에서 매치가 성공하였다면, match_length 필드의 값은 더 길게 매치된 5로 변경될 수 있다. In this case, the match_length field may store the number of name components matched the longest at the current time. For example, if the value of the comp_length field is '6', PML1, PML3, and PML4 are currently operating, and a match is successful in PML3 and PML1, the value of the match_length field may be '3'. Even if the match succeeds in PML2 afterward, match_length = 3 is a longer matched value, so the result of PML2 may be deleted without being saved. However, if the match is successful in PML5, the value of the match_length field may be changed to a longer matched 5.

이 때, next 필드는 match_length 필드의 값을 저장하면서 룩업 결과를 함께 저장할 수도 있다. In this case, the next field may also store the lookup result while storing the value of the match_length field.

또한, 도 5를 참조하면, 본 발명의 일실시예에 따른 IQ(interest Queue)는 관심 패킷의 일련번호(seq_no)를 저장하는 seq_no 필드, seq_no에 해당하는 관심 패킷의 관심 네임 컴포넌트 개수를 저장하는 comp_length 필드, seq_no에 해당하는 관심 패킷 각각의 네임 컴포넌트 위치를 저장하는 nc_sp 필드 및 seq_no에 해당하는 관심 패킷을 저장하는 interest 필드로 구성될 수 있다. 5, an interest queue (IQ) according to an embodiment of the present invention stores a seq_no field for storing a serial number (seq_no) of an interest packet, and an interest name component number of an interest packet corresponding to seq_no. It may be composed of a comp_length field, an nc_sp field that stores the name component location of each interest packet corresponding to seq_no, and an interest field that stores an interest packet corresponding to seq_no.

이 때, 병렬 프리픽스 매치 룩업에 상응하게 병렬적으로 수행 가능한 프리픽스 매치 룩업의 개수는 관심 패킷을 임시 저장하는 인터레스트 큐(INTEREST QUEUE, IQ)에 저장 가능한 패킷의 개수와 동일할 수 있다. In this case, the number of prefix match lookups that can be performed in parallel corresponding to the parallel prefix match lookup may be the same as the number of packets that can be stored in an interest queue (INTEREST QUEUE, IQ) for temporarily storing the interest packet.

예를 들어, IQ에서 최대 n개의 관심 패킷을 저장할 수 있다고 가정한다면, 병렬 프리픽스 매치 룩업을 수행하는 PML도 최대 4개로 동작할 수 있다. For example, if it is assumed that a maximum of n interest packets can be stored in IQ, a maximum of four PMLs performing parallel prefix match lookup may also be operated.

이 때, 도 3에 도시된 Interest Buffer(340)도 도 5에 도시된 IQ와 동일한 구조를 가질 수 있다. At this time, the interest buffer 340 shown in FIG. 3 may also have the same structure as the IQ shown in FIG. 5 .

이 때, 병렬 프리픽스 매치 룩업은 적어도 하나의 관심 네임 컴포넌트를 통해 생성 가능한 네임 프리픽스 별로 상기 복수개의 해시 테이블들 기반의 프리픽스 매치 룩업을 수행하는 것에 상응할 수 있다.In this case, the parallel prefix match lookup may correspond to performing a prefix match lookup based on the plurality of hash tables for each name prefix that can be generated through at least one interested name component.

이 때, 네임 프리픽스 별로 수행된 프리픽스 매치 룩업 결과 중 매치가 성공한 룩업 결과를 획득하고, 매치가 성공한 룩업 결과들 중 가장 길게 매칭된 룩업 결과를 관심 패킷의 출력 정보로써 저장할 수 있다. In this case, a lookup result in which a match is successful may be obtained from among the prefix match lookup results performed for each name prefix, and the longest matched lookup result among the lookup results in which the match is successful may be stored as output information of the interest packet.

이 때, 현재 시점에서 네임 컴포넌트가 가장 길게 매칭된 네임 컴포넌트 개수를 시퀀스 상태 테이블(SEQUENCE STATUS TABLE)에 저장하고, 시퀀스 상태 테이블에 저장된 네임 컴포넌트 개수와 병렬 프리픽스 매치 룩업을 기반으로 수행된 프리픽스 매치 룩업의 네임 컴포넌트 개수를 비교하여 해당 프리픽스 매치 룩업의 수행여부를 판단할 수 있다. At this time, the number of name components with the longest matching name component at the current time is stored in the sequence status table (SEQUENCE STATUS TABLE), and the number of name components stored in the sequence status table and the prefix match lookup performed based on the parallel prefix match lookup It is possible to determine whether to perform a corresponding prefix match lookup by comparing the number of name components of .

또한, 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법은 병렬 프리픽스 매치 룩업을 통해 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 기반으로 사용자에게 포워딩을 수행한다(S240).In addition, the information-oriented network service providing method using a parallel prefix match lookup according to an embodiment of the present invention performs forwarding to the user based on the result of one lookup in which the name component is matched the longest through the parallel prefix match lookup ( S240).

이하에서는 도 6에 도시된 임의의 PML에서의 동작 흐름과 도 7에 도시된 LSM에서의 동작 흐름을 기반으로 병렬 프리픽스 매치 룩업이 처리되는 과정을 상세하게 설명하도록 한다. Hereinafter, a process of processing a parallel prefix match lookup based on an operation flow in an arbitrary PML shown in FIG. 6 and an operation flow in an LSM shown in FIG. 7 will be described in detail.

먼저 도 6을 참조하면, current_length의 값이 #에 상응하는 현재 PML #에서는 내부의 LC가 SQ에 저장된 관심 패킷의 일련번호(seq_no)를 읽고, 이를 LSM 내의 PMLC로 전달하여 룩업 수행 여부를 문의할 수 있다(S610, S620).First, referring to FIG. 6 , in the current PML # where the value of current_length corresponds to #, the internal LC reads the serial number (seq_no) of the interest packet stored in the SQ, and transmits it to the PMLC in the LSM to inquire whether to perform a lookup. It can be (S610, S620).

이 때, 현재 PML의 번호(#)를 current_length로 전달할 수 있다. 만약, 물리적인 위치에 따라서 현재 PML의 번호(#)를 LSM에서 자동 인식이 가능한 경우에는 전달하지 않을 수도 있다. In this case, the number (#) of the current PML may be transmitted as current_length. If the LSM can automatically recognize the number (#) of the current PML according to the physical location, it may not be delivered.

이 때, seq_Gen 모듈에서 관심 패킷의 일련번호(seq_no)를 생성하고, Parsing 모듈로부터 수신된 모든 정보와 같이 Interest Buffer로 전달하여 저장할 수 있고, 일련 번호(seq_no)와 계층적인 관심 네임 컴포넌트 개수는 LSM 내의 SST로 전달되어 SST를 초기화하는데 사용될 수 있다. At this time, the seq_Gen module generates the serial number (seq_no) of the interest packet and transfers it to the Interest Buffer like all information received from the Parsing module and stores it. The serial number (seq_no) and the number of hierarchical interest name components are LSM It can be used to initialize the SST by passing it to the SST in

이 때, 관심 패킷에 상응하게 생성된 seq_no는 관심 네임 컴포넌트 개수만큼 복제되어 PML#내의 SQ에 저장될 수 있다. 예를 들어 계층적인 관심 네임 컴포넌트 개수가 5이고 seq_no = 8 인 경우, SQ1에서 SQ5에 각각 seq_no = 8이 저장될 수 있다. In this case, the seq_no generated corresponding to the interest packet may be copied as many as the number of interest name components and stored in the SQ in PML#. For example, when the number of hierarchical interest name components is 5 and seq_no = 8, seq_no = 8 may be stored in SQ1 to SQ5, respectively.

이 후, 도 7을 참조하면, LSM 내의 PMLC에서 수신된 일련번호(seq_no)를 이용하여 SST를 읽을 수 있고(S710), 읽혀진 SST내의 busy_flag가 '1' 인지를 여부를 확인할 수 있다(S715).Thereafter, referring to FIG. 7 , the SST can be read using the serial number (seq_no) received from the PMLC in the LSM (S710), and it can be checked whether the busy_flag in the read SST is '1' (S715) .

단계(S715)의 판단결과 busy_flag가 '1'이 아닌 '0'이면 해당 LPM#에서는 이미 프리픽스 매치 룩업이 수행되었으므로, PML#에게 더 이상의 룩업 수행이 불필요함을 알릴 수 있다(S740).As a result of the determination in step S715, if busy_flag is '0' instead of '1', since the prefix match lookup has already been performed in the corresponding LPM#, it is possible to inform the PML# that no further lookup is necessary (S740).

또한, 단계(S715)의 판단결과 busy_flag가 '1'이면, SST의 match_length 필드의 값이 current_length 필드의 값보다 큰 값인지 여부를 판단할 수 있다(S725).Also, if busy_flag is '1' as a result of the determination in step S715, it may be determined whether the value of the match_length field of the SST is greater than the value of the current_length field (S725).

단계(S725)의 판단결과 match_length 필드의 값이 더 크면, SST에서 seq_no에 해당하는 bitmap을 '1'로 설정하고(S730), PML#에게 더 이상의 룩업 수행이 불필요함을 알릴 수 있다(S740).If it is determined in step S725 that the value of the match_length field is larger, the bitmap corresponding to seq_no is set to '1' in SST (S730), and the PML# may be notified that no further lookup is necessary (S740). .

즉, 현재 PML#보다 더 긴 네임 컴포넌트를 갖는 다른 PML에서 매칭된 룩업 결과가 존재하므로, PML#에서는 현재 SQ로부터 읽혀진 seq_no에 대한 프리픽스 매치 룩업을 중단할 수 있다.That is, since there is a match lookup result in another PML having a longer name component than the current PML#, the prefix match lookup for seq_no read from the current SQ may be stopped in PML#.

또한, 단계(S725)의 판단결과 current_length 필드의 값이 더 크면, IQ에 관심 패킷이 저장되어 있는지 여부를 판단하여(S735) PML#로 관심 패킷을 전달할 수 있다.Also, if it is determined in step S725 that the value of the current_length field is larger, it is determined whether an interest packet is stored in the IQ (S735), and the interest packet can be transmitted to PML#.

단계(S735)의 판단결과 IQ에 관심 패킷이 저장되어 있으면, 저장된 관심 패킷 중 current_length에 해당하는 관심 네임 프리픽스를 PML#로 전달할 수 있다(S760).If it is determined in step S735 that the interest packet is stored in the IQ, the interest name prefix corresponding to current_length among the stored interest packets may be transferred to the PML# (S760).

또한, 단계(S735)의 판단결과 IQ에 관심 패킷이 저장되어 있지 않으면, Interest Buffer에서 관심 패킷을 읽어서 IQ에 저장한 뒤(S750), 저장된 관심 패킷 중 current_length에 해당하는 관심 네임 프리픽스를 PML#로 전달할 수 있다(S760).Also, if it is determined in step S735 that the interest packet is not stored in the IQ, the interest packet is read from the Interest Buffer and stored in the IQ (S750), and the interest name prefix corresponding to current_length among the stored interest packets is set to PML#. It can be delivered (S760).

이 때, IQ에 저장된 관심 패킷은 seq_no에 해당하는 SST가 busy_flag='0' 인 경우에 삭제될 수 있다. In this case, the interest packet stored in the IQ may be deleted when the SST corresponding to seq_no is busy_flag='0'.

이 후, 계속해서 도 6을 참조하면, PML#은 LSM 내의 PMLC로부터 current_length에 해당하는 만큼의 관심 네임 프리픽스를 수신하여 Hash value를 생성하고, 생성된 Hash value를 이용하여 Hash Table 룩업을 수행할 수 있다(S630). Thereafter, with continuing reference to FIG. 6 , the PML# receives the name prefix of interest corresponding to the current_length from the PMLC in the LSM, generates a hash value, and performs a hash table lookup using the generated hash value. There is (S630).

즉, PML#에 해당하는 프리픽스 매치 룩업을 수행할 수 있다.That is, a prefix match lookup corresponding to PML# may be performed.

이 후, 네임 프리픽스 매치 여부를 확인하고(S635), 룩업 결과와 next 정보를 LSM 내의 LPMS로 전달할 수 있다(S640~S650).Thereafter, it is checked whether the name prefix matches (S635), and the lookup result and next information can be transmitted to the LPMS in the LSM (S640 to S650).

즉, 네임 프리픽스 매치가 성공하면(S640), 이에 대한 룩업 성공 결과와 next 정보를 전달할 수 있고, 네임 프리픽스 매치가 실패하면(S650), 이에 대한 룩업 실패 결과를 전달할 수 있다. That is, if the name prefix match succeeds (S640), the lookup success result and next information may be transmitted. If the name prefix match fails (S650), the lookup failure result may be delivered.

이 때, 도 6 내지 도 7을 통해 설명한 절차는 하나의 seq_no를 읽었을 때의 룩업 동작 절차에 상응하는 것으로, 본 발명에서는 PML의 SQ가 비워질 때까지 도 6 내지 도 7의 과정을 반복적으로 수행할 수 있다. At this time, the procedure described through FIGS. 6 to 7 corresponds to the lookup operation procedure when one seq_no is read, and in the present invention, the procedure of FIGS. 6 to 7 is repeatedly performed until the SQ of the PML is emptied. can do.

이하에서는 도 8을 참조하여, 도 7의 LMS가 병렬 프리픽스 매치 룩업 결과를 수신한 후 가장 길게 매칭된 하나의 룩업 결과를 찾아 next 정보를 출력하는 과정을 상세하게 설명하도록 한다. Hereinafter, with reference to FIG. 8, a process in which the LMS of FIG. 7 receives the parallel prefix match lookup result, finds the longest matched lookup result, and outputs next information will be described in detail.

도 8을 참조하면, LMS가 PML#로부터 룩업 결과(lookup_result)와 next 정보를 수신하면(S802), 룩업 결과(lookup_result)가 성공(ok)인지 여부를 확인할 수 있다(S804).Referring to FIG. 8 , when the LMS receives the lookup result (lookup_result) and next information from the PML# (S802), it can check whether the lookup result (lookup_result) is successful (ok) (S804).

단계(S804)의 판단결과 룩업 결과가 성공(ok)이면, SST 내의 match_length 필드의 값이 PML#의 물리적 위치인 current_length 필드의 값보다 큰 값인지 여부를 비교할 수 있다(S806).If the lookup result in step S804 is successful (ok), it may be compared whether the value of the match_length field in the SST is greater than the value of the current_length field which is the physical location of the PML# (S806).

단계(S806)의 비교결과 match_length 필드의 값이 더 크면, current_length에 해당하는 bitmap 필드를 '1'로 설정하고 종료할 수 있다(S816).If the value of the match_length field is larger as a result of the comparison in step S806, the bitmap field corresponding to current_length may be set to '1' and may be terminated (S816).

또한, 단계(S806)의 판단결과 current_length 필드의 값이 더 크면, seq_no에 해당하는 SST의 match_length 필드 값을 current_length 필드 값으로 업데이트하고, 룩업 결과인 next 정보도 수신된 next 정보로 업데이트할 수 있다(S808).In addition, if it is determined in step S806 that the value of the current_length field is larger, the match_length field value of the SST corresponding to seq_no is updated with the current_length field value, and the lookup result next information may also be updated with the received next information ( S808).

이 후, bitmap 필드에서 current_length 비트 이상이 모두 '1'로 설정되었는지 여부를 확인할 수 있고(S810), 모두 '1'로 설정되었으면 관심 패킷과 next 정보를 출력하고(S812), SST의 busy_flag를 '0'으로 설정한 뒤 종료할 수 있다(S814).After that, it can be checked whether or not more than current_length bits are all set to '1' in the bitmap field (S810), and if all are set to '1', the interest packet and next information are output (S812), and the busy_flag of SST is set to ' After setting it to 0', it can be terminated (S814).

이 때, current_length 비트 이상이 모두 '1'로 설정되었으면 가장 길게 일치하는 네임 프리픽스를 찾은 것으로 판단할 수 있다. At this time, if all bits of current_length or more are set to '1', it may be determined that the longest matching name prefix has been found.

또한, 단계(S804)의 판단결과 룩업 결과가 실패(not_ok)이면, seq_no에 해당하는 busy_flag 필드의 값이 '1' 인지 여부를 확인할 수 있다(S818).Also, if the lookup result is failure (not_ok) as a result of determination in step S804, it may be checked whether the value of the busy_flag field corresponding to seq_no is '1' (S818).

단계(S818)의 확인 결과 busy_flag 필드의 값이 '1'이 아니고 '0'이면. 병렬 프리픽스 매치 룩업을 수행하는 도중에 이미 PML#보다 더 긴 네임 프리픽스에서 매칭이 발생하여 LPM 룩업이 종료된 것을 의미하므로 해당 룩업도 종료할 수 있다. 이와 같은 상황은 본 발명에 따른 각각의 PML이 병렬로 독립적으로 동작하고, 룩업 결과도 네임 프리픽스의 길이에 따라서 달라지기 때문에 발생할 수 있다. As a result of checking in step S818, if the value of the busy_flag field is not '1' but '0'. During parallel prefix match lookup, a match has already occurred in a name prefix longer than PML#, which means that the LPM lookup is terminated, so the corresponding lookup can also be terminated. Such a situation may occur because each PML according to the present invention operates independently in parallel and the lookup result also varies according to the length of the name prefix.

또한, 단계(S818)의 확인 결과 busy_flag 필드의 값이 '1'이면 아직 가장 길게 일치하는 네임 프리픽스를 찾지 못했으므로, bitmap 필드에서 current_length에 해당하는 비트 위치를 '1'로 설정할 수 있다(S820).In addition, if the value of the busy_flag field is '1' as a result of checking in step S818, the longest matching name prefix has not yet been found, so the bit position corresponding to current_length in the bitmap field may be set to '1' (S820) .

이 후, bitmap 필드의 모든 값이 '1' 인지 여부를 확인하고(S822). 모두 '1'이면 해당 관심 패킷에 대한 FIB 룩업이 실패한 것을 의미하므로, LMP 룩업 fail 정보인 nack을 출력할 수 있다(S824).After that, it is checked whether all values of the bitmap field are '1' (S822). If all of them are '1', it means that the FIB lookup for the corresponding interest packet has failed, so nack, which is LMP lookup fail information, may be output (S824).

dl 후, seq_no에 해당하는 SST의 busy_flag를 '0'로 설정할 수 있다(S814).After dl, busy_flag of SST corresponding to seq_no may be set to '0' (S814).

이하에서는 도 9 내지 도 14를 참조하여 본 발명의 일실시예에 따른 SST 상태 변화를 상세하게 설명하도록 한다. Hereinafter, a change in the SST state according to an embodiment of the present invention will be described in detail with reference to FIGS. 9 to 14 .

예를 들어, 도 9에 도시된 것처럼 서로 다른 네임 프리픽스를 갖는 5개의 관심 패킷들(910)이 입력되고, 순차적으로 일련번호(seq_no)가 할당되었으며, FIB 테이블(920)은 네임 컴포넌트 길이 별로 분리되어 해시 테이블(930)로 저장되었다고 가정할 수 있다. For example, as shown in FIG. 9 , five interest packets 910 having different name prefixes are input, serial numbers seq_no are sequentially assigned, and the FIB table 920 is separated by name component length. It can be assumed that the data is stored as a hash table 930 .

이 때, 도 10 내지 도 14는 도 9에 도시된 조건 하에서 5개의 관심 패킷(910)들이 저장되어 있는 경우에 대한 매 단계별 룩업을 보여준다. At this time, FIGS. 10 to 14 show lookups for each step in the case where five interest packets 910 are stored under the condition shown in FIG. 9 .

이 때, 각각의 PML 별 룩업 결과가 동일한 시점에 출력된다고 가정하고 설명하도록 한다. In this case, it is assumed that the lookup results for each PML are output at the same time point.

먼저, 도 10을 참조하면, 도 9에 도시된 5개의 관심 패킷(910)들에 대한 SQ(Sequence Queue)가 저장된 것을 확인할 수 있다. 이 때, seq_no=1의 네임 프리픽스는 4개의 component로 구성되어 있으므로, SQ1~SQ4에 각각 '1'이 저장될 수 있다. 이와 마찬가지로, seq_no = 2의 네임 프리픽스는 2개의 component로 구성이 되어 있으므로, SQ1와 SQ2에 각각 '2'가 저장될 수 있으며, seq_no=3과 seq_no=4도 동일한 방식으로 SQ에 저장될 수 있다.First, referring to FIG. 10 , it can be confirmed that sequence queues (SQs) for the five interest packets 910 shown in FIG. 9 are stored. At this time, since the name prefix of seq_no=1 consists of four components, '1' may be stored in each of SQ1 to SQ4. Likewise, since the name prefix of seq_no = 2 consists of two components, '2' may be stored in SQ1 and SQ2, respectively, and seq_no = 3 and seq_no = 4 may also be stored in SQ in the same way. .

이 때, LSM의 SST도 초기화될 수 있다. 예를 들어, seq_no=1이 생성되면 busy_flag='1', comp_length=4, bitmap=4'b0000으로 설정될 수 있다. 같은 방식으로 seq_no=2가 생성되면 busy_flag='1', comp_length=2, bitmap= 4'b1100으로 설정될 수 있고, seq_no=3, seq_no=4에 대해서도 동일한 과정으로 SST 설정이 수행 될 수 있다. At this time, the SST of the LSM may also be initialized. For example, when seq_no=1 is generated, busy_flag='1', comp_length=4, and bitmap=4'b0000 may be set. If seq_no=2 is created in the same way, busy_flag='1', comp_length=2, bitmap= 4'b1100 may be set, and SST setting may be performed for seq_no=3 and seq_no=4 in the same process.

이 후, LC에서 SQ의 첫 번째에 저장된 seq_no를 읽을 수 있고, 이에 따라 SQ1~SQ4에 저장된 seq_no는 하나씩 줄어들게 된다. 이 때, 각각의 LC는 seq_no를 LSM으로 보낼 수 있고, LSM은 보든 LC에게 룩업 수행을 지시할 수 있다. 이 때, LSM은 Interest_Buffer에 저장된 interest를 읽어서 IQ에 저장한 뒤 LC로 전달할 수 있다.Thereafter, the LC can read the seq_no stored in the first of SQ, and accordingly, the seq_no stored in SQ1 to SQ4 is decreased by one. In this case, each LC may send seq_no to the LSM, and the LSM may instruct all LCs to perform a lookup. At this time, the LSM can read the interest stored in Interest_Buffer, store it in IQ, and transmit it to the LC.

만약, 도 11에 도시된 것처럼, 4개의 PML 룩업 수행 결과, 2번?? PML에서 매칭이 발생하였다면, match_length=2, next =3, bitmap=4b'1111에 상응하게 SST가 설정될 수 있다. If, as shown in FIG. 11 , as a result of performing 4 PML lookups, ?? If matching occurs in PML, SST may be set corresponding to match_length=2, next=3, bitmap=4b'1111.

이 후, seq_no=1에 대한 LPM 룩업이 완료되었으므로, next 정보와 관심 패킷을 출력한 후 도 12에 도시된 것처럼 seq_no=1의 busy_flag는 0으로 설정될 수 있다. Thereafter, since the LPM lookup for seq_no=1 is completed, after outputting next information and the interest packet, busy_flag of seq_no=1 may be set to 0 as shown in FIG. 12 .

이 후, LC는 다시 SQ에 저장된 seq_no를 읽어서 LSM으로 전달할 수 있다. 즉 LC1과 LC2는 seq_no=2를 읽어서 전달할 수 있고, LC3과 LC4는 seq_no=3을 읽어서 전달할 수 있다. After that, the LC may read seq_no stored in the SQ again and transmit it to the LSM. That is, LC1 and LC2 can read and transmit seq_no=2, and LC3 and LC4 can read and transmit seq_no=3.

이 때, LSM은 Interest_Buffer에 저장된 seq_no=2와 seq_no=3에 해당하는 관심 패킷을 읽어서 IQ에 저장할 수 있다. At this time, the LSM can read the interest packets corresponding to seq_no=2 and seq_no=3 stored in the Interest_Buffer and store them in the IQ.

이 후, LSM은 LC1와 LC2에게 seq_no=2에 해당하는 관심 패킷을 전달하고, LC3와 LC4에게 seq_no=3에 해당하는 관심 패킷을 전달해줄 수 있다. 이 때, LMS는 관심 패킷에서 필요한 계층적 네임 컴포넌트 개수만 전달할 수 있다. Thereafter, the LSM may deliver an interest packet corresponding to seq_no=2 to LC1 and LC2, and may deliver an interest packet corresponding to seq_no=3 to LC3 and LC4. In this case, the LMS may deliver only the number of hierarchical name components required in the interest packet.

이 후, LSM은 다시 한번 LC1~LC4로부터 룩업 결과를 수신할 수 있다. 이를 기반으로 도 12에 도시된 것처럼 SST를 설정할 수 있는데, seq_no=2의 경우 bitmap=4'b1111로 변경할 수 있으며, 룩업 결과에 따라 match_length=2, next=10로 업데이트할 수 있다. 또한, seq_no=3의 경우 bitmap=4'b1100로 변경할 수 있으며, 룩업 결과에 따라 match_length=3, next= 로 업데이트할 수 있다. After that, the LSM may receive the lookup result from LC1 to LC4 once again. Based on this, SST may be set as shown in FIG. 12. In case of seq_no=2, bitmap=4'b1111 may be changed, and match_length=2, next=10 may be updated according to the lookup result. In addition, in the case of seq_no=3, bitmap=4'b1100 may be changed, and match_length=3, next= may be updated according to the lookup result.

이 후, seq_no=2에 대한 LPM 룩업이 완료되었으므로, next 정보와 관심 패킷을 출력한 후 도 13에 도시된 것처럼 seq_no=2의 busy_flag을 0으로 설정할 수 있다. 또한 seq_no=3에 대한 LPM 룩업도 완료되었으므로, next 정보와 관심 패킷을 출력한 후 seq_no=3의 busy_flag도 0으로 설정할 수 있다.Thereafter, since the LPM lookup for seq_no=2 is completed, the busy_flag of seq_no=2 may be set to 0 after next information and the interest packet are output as shown in FIG. 13 . Also, since the LPM lookup for seq_no=3 is completed, the busy_flag of seq_no=3 can also be set to 0 after outputting the next information and the interest packet.

이 후, LC는 또다시 SQ에 저장된 seq_no를 읽어서 LSM으로 전달할 수 있다. 즉, LC1과 LC2는 seq_no=3을 읽어서 전달할 수 있고, LC3은 seq_no=4를 읽어서 전달할 수 있고, LC4는 seq_no=5를 읽어서 LSM으로 전달할 수 있다. After that, the LC may read seq_no stored in the SQ again and transmit it to the LSM. That is, LC1 and LC2 may read and transmit seq_no=3, LC3 may read and transmit seq_no=4, and LC4 may read seq_no=5 and transmit it to the LSM.

이 때, LSM은 seq_no=3에 대한 match prefix를 이미 찾았으므로 LC1과 LC2에게 seq_no=3에 대한 룩업이 필요 없음을 알릴 수 있다. 따라서, 이를 수신한 LC1과 LC2는 SQ에 저장된 다음 seq_no를 읽어서 seq_no=4를 LSM으로 출력할 수 있다.At this time, since the LSM has already found the match prefix for seq_no=3, it can inform LC1 and LC2 that the lookup for seq_no=3 is not necessary. Accordingly, LC1 and LC2 that have received this can output seq_no=4 to the LSM by reading seq_no after being stored in the SQ.

이 후, LSM으로부터 관심 패킷을 전달받은 LC들은 각각 룩업을 수행하여 그 결과를 LSM으로 다시 출력할 수 있다. Thereafter, each of the LCs receiving the interest packet from the LSM may perform a lookup and output the result back to the LSM.

이 때, LC1, LC2, LC3은 seq_no=4에 해당하는 관심 패킷을 전달받을 수 있고, LC4는 seq_no=5에 해당하는 관심 패킷을 LSM의 IQ로부터 수신할 수 있다.In this case, LC1, LC2, and LC3 may receive an interest packet corresponding to seq_no=4, and LC4 may receive an interest packet corresponding to seq_no=5 from the IQ of the LSM.

이 후, LSM은 LC들로부터 룩업 결과를 수신한 후 SST를 업데이트할 수 있다. Thereafter, the LSM may update the SST after receiving the lookup result from the LCs.

이 때, 도 13에 도시된 것처럼 seq_no=4의 경우 match_length=2, next=9, bitmap=4'b1111 로 업데이트될 수 있고, seq_no=5의 경우에는 룩업 fail 되었으므로 bitmap=4'b1000로 설정될 수 있다.At this time, as shown in FIG. 13 , in the case of seq_no=4, match_length=2, next=9, bitmap=4'b1111 may be updated, and in the case of seq_no=5, since the lookup failed, bitmap=4'b1000 may be set. can

이 후, seq_no=4에 대한 LPM 룩업이 완료되었으므로, next 정보와 관심 패킷을 출력한 후 도 14에 도시된 것처럼 seq_no=4의 busy_flag는 0으로 설정될 수 있다. Thereafter, since the LPM lookup for seq_no=4 is completed, after outputting next information and the interest packet, busy_flag of seq_no=4 may be set to 0 as shown in FIG. 14 .

이 후, LC는 마지막으로 SQ에 저장된 seq_no를 읽어서 LSM으로 전달할 수 있다. 즉, LC1, LC2, LC3은 seq_no=5를 읽어서 출력할 수 있고, LC4는 SQ가 비어 있으므로 seq_no를 출력하지 않을 수 있다. After that, the LC can finally read seq_no stored in the SQ and deliver it to the LSM. That is, LC1, LC2, and LC3 may read and output seq_no=5, and LC4 may not output seq_no because SQ is empty.

이 때, LSM은 seq_no=5에 해당하는 관심 패킷을 LC1, LC2, LC3에게 각각 전달할 수 있으며, LC1가 룩업 결과를 LSM으로 출력하였다고 가정할 수 있다. In this case, the LSM may deliver the interest packet corresponding to seq_no=5 to LC1, LC2, and LC3, respectively, and it may be assumed that LC1 outputs the lookup result to the LSM.

이 때, LSM 은 seq_no=5에 대한 SST를 match_length=1, next=8로 업데이트할 수 있고, bitmap=4'b1111로 변경할 수 있다. In this case, the LSM may update the SST for seq_no=5 to match_length=1, next=8, and may change it to bitmap=4'b1111.

이 후, 다음 단계에서 룩업이 완료되었으므로 seq_no=5에 대한 next 정보 및 관심 패킷이 출력될 수 있으며, seq_no=5에 대한 busy_flag는 0으로 설정될 수 있다. After that, since the lookup is completed in the next step, next information and interest packet for seq_no=5 may be output, and busy_flag for seq_no=5 may be set to 0.

이 때, 도 10 내지 도 14에 도시된 각 LC에서 룩업에 걸리는 시간은 네임 프리픽스 길이 및 각 계층적 네임 컴포넌트 개수에 따라서 서로 상이할 수도 있다. At this time, the time taken for the lookup in each LC shown in FIGS. 10 to 14 may be different from each other according to the name prefix length and the number of hierarchical name components.

이 때, 본 발명에서는 FIB의 네임 프리픽스의 분포에 따라서 효율적인 검색을 위하여 계층적 네임 컴포넌트 개수 별로 FIB를 나누지 않고 서로 다른 계층적 네임 컴포넌트 개수를 그룹으로 묶어서 나누는 것도 가능하다.At this time, in the present invention, it is possible to group and divide the number of different hierarchical name components into groups without dividing the FIB by the number of hierarchical name components for efficient search according to the distribution of name prefixes of the FIB.

또한, 도 2에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법은 상술한 정보 중신 네트워크 서비스 제공 과정에서 발생하는 다양한 정보를 별도의 저장 모듈에 저장한다. In addition, although not shown in FIG. 2, the method for providing information-centric network service using parallel prefix match lookup according to an embodiment of the present invention stores various information generated in the process of providing the above-described information-oriented network service in a separate storage module. Save.

이와 같은 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법을 이용함으로써 NDN 및CCN기반의 ICN 노드에서 interest packet에 대한 LPM 기반의 FIB 룩업 속도를 향상시킬 수 있고, 계층적 네임 컴포넌트 개수 별로 독립적으로 비동기적으로 동작하는 EM 검색을 효율적으로 제어할 수 있다.By using the information-oriented network service provision method using such a parallel prefix match lookup, it is possible to improve the LPM-based FIB lookup speed for interest packets in NDN and CCN-based ICN nodes, and to independently asynchronous for each number of hierarchical name components. It is possible to efficiently control the EM search that operates in an efficient manner.

도 15는 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치를 나타낸 블록도이다.15 is a block diagram illustrating an apparatus for providing an information-centric network service using a parallel prefix match lookup according to an embodiment of the present invention.

도 15를 참조하면, 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치는 프로세서(1510) 및 메모리(1520)를 포함한다. Referring to FIG. 15 , an apparatus for providing an information-centric network service using a parallel prefix match lookup according to an embodiment of the present invention includes a processor 1510 and a memory 1520 .

프로세서(1510)는 정보 중심 네트워크(INFORMATION CENTRIC NETWORK)에서 사용자로부터 전달되는 관심 패킷을 파싱하여 적어도 하나의 관심 네임 컴포넌트(NAME COMPONENT)를 획득한다.The processor 1510 obtains at least one interest name component NAME COMPONENT by parsing the interest packet transmitted from the user in the INFORMATION CENTRIC NETWORK.

본 발명에서 제안하는 내용은 NDN(Named Data Networking) 또는 CCN(Content-Centric Networking) 구조에 기반한 ICN(Information-Centric Networking) 노드에 적용되는 기술에 해당할 수 있으며, 이하에서 기재되는 정보 중심 네트워크 및 ICN은 NDN이나 CCN을 의미할 수 있다. The content proposed in the present invention may correspond to a technology applied to an ICN (Information-Centric Networking) node based on a Named Data Networking (NDN) or Content-Centric Networking (CCN) structure, and the information-centric network and ICN may mean NDN or CCN.

이하에서는 도 3에 도시된, 본 발명의 일실시예에 따른 ICN 노드 구조를 함께 참조하여 본 발명의 일실시예에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법을 설명하도록 한다. Hereinafter, a method of providing an information-centric network service using a parallel prefix match lookup according to an embodiment of the present invention will be described with reference to the ICN node structure according to an embodiment of the present invention shown in FIG. 3 .

도 3을 참조하면, 따른 ICN 노드는 관심 패킷(interest packet)에 대한 고속의 병렬 프리픽스 매치 룩업을 제공하기 위해서 RX(310), Parsing 모듈(320), Seq_Gen 모듈(330), Interest Buffer(340), PML(350) 및 LSM(360)으로 구성될 수 있다.Referring to FIG. 3 , the corresponding ICN node provides an RX 310, a Parsing module 320, a Seq_Gen module 330, and an Interest Buffer 340 to provide a high-speed parallel prefix match lookup for an interest packet. , the PML 350 and the LSM 360 may be configured.

이 때, RX(310)이 관심 패킷(interest packet)을 수신하여 Parsing 모듈(320)로 전달하면, Parsing 모듈(320)은 관심 패킷을 파싱(parsing)하여 계층적인 관심 네임 컴포넌트를 획득할 수 있다. 이 때, Parsing 모듈(320)을 통해 관심 네임 컴포넌트 개수 정보를 알 수 있고, 관심 네임 컴포넌트 별 위치를 구분할 수 있다.At this time, when the RX 310 receives an interest packet and transmits it to the Parsing module 320, the Parsing module 320 parses the interest packet to obtain a hierarchical name of interest component. . At this time, information on the number of name components of interest may be known through the parsing module 320 , and locations of each component name of interest may be distinguished.

이 후, Seq_Gen 모듈(330)에서는 관심 패킷에 대하여 ID와 같은 식별자의 일종인 일련 번호(seq_no)를 생성하여 부여할 수 있고, Interest Buffer(340)에서 일련 번호(seq_no), 파싱(parsing) 정보 및 관심 패킷을 저장할 수 있다. Thereafter, the Seq_Gen module 330 may generate and assign a serial number (seq_no), which is a kind of identifier such as an ID, to the interest packet, and in the Interest Buffer 340 , the serial number (seq_no) and parsing information and an interest packet.

또한, 프로세서(1510)는 포워딩 인포메이션 베이스 테이블(FORWARDING INFORMATION BASE TABLE)을 네임 컴포넌트 개수 별로 분리하여 복수개의 해시 테이블(HASH TABLE)들을 생성한다.In addition, the processor 1510 generates a plurality of hash tables by dividing the forwarding information base table (FORWARDING INFORMATION BASE TABLE) according to the number of name components.

이 때, 포워딩 인포메이션 베이스 테이블은 데이터 이름 기반으로 관심 패킷을 포워딩하기 위한 정보 베이스에 해당하는 것으로, 이러한 정보 베이스는 본 발명에 따라 네임 컴포넌트 개수 별로 분리되어 각각의 PML(Prefix Match Lookup)을 구성하는 복수개의 해시 테이블(HASH TABLE)로 생성될 수 있다. At this time, the forwarding information base table corresponds to the information base for forwarding the interest packet based on the data name, and this information base is divided according to the number of name components according to the present invention to configure each PML (Prefix Match Lookup). It may be created as a plurality of hash tables (HASH TABLE).

예를 들어, 도 3에 도시된 PML(Prefix Match Lookup)(350)은 추후에 관심 네임 컴포넌트 개수 별 병렬 프리픽스 매치 룩업을 수행하는 주체로써, 관심 패킷의 일련 번호(seq_no)를 저장하는 SQ(Sequence Queue), LSM(LPM Status Management)(360)과 연동되어 프리픽스 매치 룩업 동작 여부를 수신하거나, 프리픽스 매치 룩업을 수행한 후 결과를 제공하는 LC(Lookup Control), 계층적 네임 컴포넌트 개수 별로 나누어 진 FIB에 상응하는 HT(Hash Table)로 구성될 수 있다. For example, the prefix match lookup (PML) 350 shown in FIG. 3 is a subject that later performs a parallel prefix match lookup for each number of interest name components, and stores the sequence number (seq_no) of the interest packet. Queue) and LSM (LPM Status Management) 360 to receive whether the prefix match lookup operation is performed, or LC (Lookup Control) to provide the result after performing the prefix match lookup, FIB divided by the number of hierarchical name components It can be composed of HT (Hash Table) corresponding to .

또한, 프로세서(1510)는 복수개의 해시 테이블들을 기반으로 적어도 하나의 관심 네임 컴포넌트에 대한 병렬 프리픽스 매치 룩업(PREFIX MATCH LOOKUP)을 수행한다.In addition, the processor 1510 performs a parallel prefix match lookup (PREFIX MATCH LOOKUP) for at least one name component of interest based on a plurality of hash tables.

이 때, 도 3에 도시된 LSM(LPM Status Management)(360)는 PML(350)의 동작을 제어하고, PML(350)의 동작 결과를 취합하여 가장 길게 일치하는 룩업 결과를 출력하는 역할을 수행할 수 있다. 이와 같은 LSM(360)은 PML(350)의 동작을 제어하는 PMLC(Prefix Match Lookup Control), PML(350)에 의한 룩업 결과를 취합하여 가장 길게 매칭된 룩업 결과를 출력하는 LPMS(LPM Select), PML(350)에서 요구하는 관심 패킷을 임시 저장하는 IQ(Interest Queue) 및 일련 번호(seq_no)별 LPM 상태를 관리하는 시퀀스 상태 테이블(Sequence Status Table, SST)로 구성될 수 있다. At this time, the LSM (LPM Status Management) 360 shown in FIG. 3 controls the operation of the PML 350, collects the operation results of the PML 350, and outputs the longest matching lookup result. can do. Such an LSM 360 is a PMLC (Prefix Match Lookup Control) that controls the operation of the PML 350, an LPMS (LPM Select) that collects the lookup results by the PML 350 and outputs the longest matched lookup result, The PML 350 may include an Interest Queue (IQ) for temporarily storing the interest packet requested by the PML 350 and a Sequence Status Table (SST) for managing the LPM status for each sequence number (seq_no).

이 때, 시퀀스 상태 테이블(Sequence Status Table, SST)은 도 4에 도시된 것과 같이 6개의 필드로 구성될 수 있다. In this case, the Sequence Status Table (SST) may be composed of six fields as shown in FIG. 4 .

도 4를 참조하면, 본 발명의 일실시예에 따른 시퀀스 상태 테이블(SST)은 관심 패킷을 식별하기 위해 생성된 일련 번호(seq_no)를 포함하는 seq_no 필드, 일련 번호(seq_no)에 해당하는 관심 패킷에 대한 LPM이 완료되었는지 여부를 나타내는 busy_flag 필드, 관심 패킷에 상응하는 계층적인 네임 컴포넌트 개수를 나타내는 comp_length 필드, PML에 의한 룩업을 수행한 경우에 해당 PML의 번호에 대한 bit를 1로 설정하여 나타내는 bitmap 필드, 현재 시점에서 가장 길게 매치된 네임 컴포넌트 개수를 저장하는 match_length 필드 및 관심 패킷의 출력 face 정보를 나타내는 next 필드로 구성될 수 있다. Referring to FIG. 4 , a sequence state table (SST) according to an embodiment of the present invention includes a seq_no field including a sequence number (seq_no) generated to identify an interest packet, and an interest packet corresponding to the sequence number (seq_no). A busy_flag field indicating whether or not LPM for LPM has been completed, a comp_length field indicating the number of hierarchical name components corresponding to the packet of interest, and a bitmap indicating by setting the bit for the number of the PML to 1 when a lookup by PML is performed. field, a match_length field that stores the number of name components matched the longest at the current time, and a next field that indicates output face information of the interest packet.

이 때, busy_flag 필드의 값은 관심 패킷이 입력되는 경우에 1로 설정되고, 관심 패킷에 대한 병렬 프리픽스 매치 룩업을 수행하여 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 획득한 경우에 0으로 설정될 수 있다. 예를 들어, busy_flag 필드의 값이 '0'으로 설정되었다는 것은, comp_length 필드에 해당하는 bitmap 필드의 값이 모두 '1'로 설정되지 않더라도(즉, 모든 프리픽스 매치 룩업이 수행되지 않았더라도) 하위 번호에 해당하는 나머지 PML에 의한 룩업 결과가 필요하지 않은 상태를 의미할 수 있다. At this time, the value of the busy_flag field is set to 1 when an interest packet is input, and is set to 0 when a parallel prefix match lookup is performed on the interest packet to obtain one lookup result in which the name component matches the longest. can be For example, if the value of the busy_flag field is set to '0', it means that the value of the bitmap field corresponding to the comp_length field is not all set to '1' (that is, even if all prefix match lookups are not performed). It may mean a state in which a lookup result by the remaining PML corresponding to .

이 때, bitmap 필드는 프리픽스 매치 룩업이 수행된 PML 번호에 해당하는 bit를 '1'로 설정하는 필드에 상응하며, 초기값으로 comp_length에 해당하는 비트만 '0'으로 설정될 수 있다. 예를 들어, bitmap 필드의 크기가 12비트에 상응하고, comp_length 필드의 값이 7로 입력되는 경우에는 'bitmap = 12b1111_1000_0000' 로 설정될 수 있다. In this case, the bitmap field corresponds to a field in which a bit corresponding to the PML number on which the prefix match lookup is performed is set to '1', and only a bit corresponding to comp_length may be set to '0' as an initial value. For example, when the size of the bitmap field corresponds to 12 bits and the value of the comp_length field is input as 7, 'bitmap = 12b1111_1000_0000' may be set.

이 때, match_length 필드는 현재 시점에서 가장 길게 매치된 네임 컴포넌트 개수를 저장할 수 있다. 예를 들어, comp_length 필드의 값이'6'이고, 현재 PML1, PML3, PML4가 동작하였으며, PML3, PML1에서 매치가 성공하였을 경우에는 match _length 필드의 값은 '3'이 될 수 있다. 이후에 PML2에서 매치가 성공하더라도 match_length = 3이 더 길게 매치된 값이므로 PML2의 결과는 저장되지 않고 삭제될 수 있다. 그러나 만약, PML5에서 매치가 성공하였다면, match_length 필드의 값은 더 길게 매치된 5로 변경될 수 있다. In this case, the match_length field may store the number of name components matched the longest at the current time. For example, if the value of the comp_length field is '6', PML1, PML3, and PML4 are currently operating, and a match is successful in PML3 and PML1, the value of the match_length field may be '3'. Even if the match succeeds in PML2 afterward, match_length = 3 is a longer matched value, so the result of PML2 may be deleted without being saved. However, if the match is successful in PML5, the value of the match_length field may be changed to a longer matched 5.

이 때, next 필드는 match_length 필드의 값을 저장하면서 룩업 결과를 함께 저장할 수도 있다. In this case, the next field may also store the lookup result while storing the value of the match_length field.

또한, 도 5를 참조하면, 본 발명의 일실시예에 따른 IQ(interest Queue)는 관심 패킷의 일련번호(seq_no)를 저장하는 seq_no 필드, seq_no에 해당하는 관심 패킷의 관심 네임 컴포넌트 개수를 저장하는 comp_length 필드, seq_no에 해당하는 관심 패킷 각각의 네임 컴포넌트 위치를 저장하는 nc_sp 필드 및 seq_no에 해당하는 관심 패킷을 저장하는 interest 필드로 구성될 수 있다. 5, an interest queue (IQ) according to an embodiment of the present invention stores a seq_no field for storing a serial number (seq_no) of an interest packet, and an interest name component number of an interest packet corresponding to seq_no. It may be composed of a comp_length field, an nc_sp field that stores the name component location of each interest packet corresponding to seq_no, and an interest field that stores an interest packet corresponding to seq_no.

이 때, 병렬 프리픽스 매치 룩업에 상응하게 병렬적으로 수행 가능한 프리픽스 매치 룩업의 개수는 관심 패킷을 임시 저장하는 인터레스트 큐(INTEREST QUEUE, IQ)에 저장 가능한 패킷의 개수와 동일할 수 있다. In this case, the number of prefix match lookups that can be performed in parallel corresponding to the parallel prefix match lookup may be the same as the number of packets that can be stored in an interest queue (INTEREST QUEUE, IQ) for temporarily storing the interest packet.

예를 들어, IQ에서 최대 n개의 관심 패킷을 저장할 수 있다고 가정한다면, 병렬 프리픽스 매치 룩업을 수행하는 PML도 최대 4개로 동작할 수 있다. For example, if it is assumed that a maximum of n interest packets can be stored in IQ, a maximum of four PMLs performing parallel prefix match lookup may also be operated.

이 때, 도 3에 도시된 Interest Buffer(340)도 도 5에 도시된 IQ와 동일한 구조를 가질 수 있다. At this time, the interest buffer 340 shown in FIG. 3 may also have the same structure as the IQ shown in FIG. 5 .

이 때, 병렬 프리픽스 매치 룩업은 적어도 하나의 관심 네임 컴포넌트를 통해 생성 가능한 네임 프리픽스 별로 상기 복수개의 해시 테이블들 기반의 프리픽스 매치 룩업을 수행하는 것에 상응할 수 있다.In this case, the parallel prefix match lookup may correspond to performing a prefix match lookup based on the plurality of hash tables for each name prefix that can be generated through at least one interested name component.

이 때, 네임 프리픽스 별로 수행된 프리픽스 매치 룩업 결과 중 매치가 성공한 룩업 결과를 획득하고, 매치가 성공한 룩업 결과들 중 가장 길게 매칭된 룩업 결과를 관심 패킷의 출력 정보로써 저장할 수 있다. In this case, a lookup result in which a match is successful may be obtained from among the prefix match lookup results performed for each name prefix, and the longest matched lookup result among the lookup results in which the match is successful may be stored as output information of the interest packet.

이 때, 현재 시점에서 네임 컴포넌트가 가장 길게 매칭된 네임 컴포넌트 개수를 시퀀스 상태 테이블(SEQUENCE STATUS TABLE)에 저장하고, 시퀀스 상태 테이블에 저장된 네임 컴포넌트 개수와 병렬 프리픽스 매치 룩업을 기반으로 수행된 프리픽스 매치 룩업의 네임 컴포넌트 개수를 비교하여 해당 프리픽스 매치 룩업의 수행여부를 판단할 수 있다. At this time, the number of name components with the longest matching name component at the current time is stored in the sequence status table (SEQUENCE STATUS TABLE), and the number of name components stored in the sequence status table and the prefix match lookup performed based on the parallel prefix match lookup It is possible to determine whether to perform a corresponding prefix match lookup by comparing the number of name components of .

또한, 프로세서(1510)는 방법은 병렬 프리픽스 매치 룩업을 통해 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 기반으로 사용자에게 포워딩을 수행한다.In addition, the processor 1510 performs forwarding to the user based on the result of one lookup in which the name component is matched the longest through the parallel prefix match lookup.

메모리(1520)는 관심 패킷 및 포워딩 인포메이션 베이스 테이블을 저장한다.The memory 1520 stores the interest packet and the forwarding information base table.

또한, 메모리(1520)는 상술한 바와 같이 본 발명의 일실시예에 따른 정보 중심 네트워크 서비스 제공을 위해 발생하는 다양한 정보를 저장한다.In addition, as described above, the memory 1520 stores various types of information generated to provide an information-centric network service according to an embodiment of the present invention.

실시예에 따라, 메모리(1520)는 정보 중심 네트워크 서비스 제공 장치와 독립적으로 구성되어 정보 중심 네트워크 서비스 제공을 위한 기능을 지원할 수 있다. 이 때, 메모리(1520)는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수도 있다.According to an embodiment, the memory 1520 may be configured independently of an information-centric network service providing apparatus to support a function for providing an information-centric network service. In this case, the memory 1520 may operate as a separate mass storage and may include a control function for performing an operation.

이와 같은 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치를 통해 NDN 및CCN기반의 ICN 노드에서 interest packet에 대한 LPM 기반의 FIB 룩업 속도를 향상시킬 수 있고, 계층적 네임 컴포넌트 개수 별로 독립적으로 비동기적으로 동작하는 EM 검색을 효율적으로 제어할 수 있다.Through such an information-oriented network service providing device using such a parallel prefix match lookup, the LPM-based FIB lookup speed for interest packets can be improved in NDN and CCN-based ICN nodes, and asynchronously independently for each number of hierarchical name components. It is possible to efficiently control the EM search that operates as

이상에서와 같이 본 발명에 따른 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, in the method and apparatus for providing information-centric network service using parallel prefix match lookup according to the present invention, the configuration and method of the embodiments described above are not limitedly applicable. All or part of each of the embodiments may be selectively combined and configured so that various modifications may be made.

310: RX 320: Parsing 모듈
330: Seq_Gen 모듈 340: Interest Buffer
350: PML 360: LSM
910: 관심 패킷 920: FIB 테이블
930: 복수개의 해시 테이블들
1110, 1210, 1310, 1410: 매치가 발생한 PML의 LC
1510: 프로세서 1520: 메모리
310: RX 320: Parsing module
330: Seq_Gen module 340: Interest Buffer
350: PML 360: LSM
910: interest packet 920: FIB table
930: A plurality of hash tables
1110, 1210, 1310, 1410: LC of the PML where the match occurred
1510: processor 1520: memory

Claims (16)

정보 중심 네트워크(INFORMATION CENTRIC NETWORK)에서 사용자로부터 전달되는 관심 패킷을 파싱하여 적어도 하나의 관심 네임 컴포넌트(NAME COMPONENT)를 획득하는 단계;
포워딩 인포메이션 베이스 테이블(FORWARDING INFORMATION BASE TABLE)을 네임 컴포넌트 개수 별로 분리하여 복수개의 해시 테이블(HASH TABLE)들을 생성하는 단계;
상기 복수개의 해시 테이블들을 기반으로 상기 적어도 하나의 관심 네임 컴포넌트에 대한 병렬 프리픽스 매치 룩업(PREFIX MATCH LOOKUP)을 수행하는 단계; 및
상기 병렬 프리픽스 매치 룩업을 통해 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 기반으로 상기 사용자에게 포워딩을 수행하는 단계
를 포함하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법.
Parsing the interest packet transmitted from the user in the information-centric network (INFORMATION CENTRIC NETWORK) to obtain at least one interest name component (NAME COMPONENT);
Creating a plurality of hash tables (HASH TABLE) by dividing the forwarding information base table (FORWARDING INFORMATION BASE TABLE) by the number of name components;
performing a parallel prefix match lookup (PREFIX MATCH LOOKUP) on the at least one interested name component based on the plurality of hash tables; and
performing forwarding to the user based on a single lookup result in which a name component is matched the longest through the parallel prefix match lookup
An information-centric network service providing method using a parallel prefix match lookup, comprising:
청구항 1에 있어서,
상기 병렬 프리픽스 매치 룩업은
상기 적어도 하나의 관심 네임 컴포넌트를 통해 생성 가능한 네임 프리픽스 별로 상기 복수개의 해시 테이블들 기반의 프리픽스 매치 룩업을 수행하는 것에 상응하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법.
The method according to claim 1,
The parallel prefix match lookup is
and performing a prefix match lookup based on the plurality of hash tables for each name prefix that can be generated through the at least one name of interest component.
청구항 2에 있어서,
상기 병렬 프리픽스 매치 룩업을 수행하는 단계는
상기 네임 프리픽스 별로 수행된 프리픽스 매치 룩업 결과 중 매치가 성공한 룩업 결과를 획득하고, 매치가 성공한 룩업 결과들 중 가장 길게 매칭된 룩업 결과를 상기 관심 패킷의 출력 정보로써 저장하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법.
3. The method according to claim 2,
The step of performing the parallel prefix match lookup comprises:
A parallel prefix match, characterized in that obtaining a lookup result in which a match is successful among the results of the prefix match lookup performed for each name prefix and storing the longest matched lookup result among the lookup results in which the match is successful is stored as the output information of the interest packet A method of providing information-centric network service using lookup.
청구항 2에 있어서,
상기 병렬 프리픽스 매치 룩업을 수행하는 단계는
현재 시점에서 네임 컴포넌트가 가장 길게 매칭된 네임 컴포넌트 개수를 시퀀스 상태 테이블(SEQUENCE STATUS TABLE)에 저장하고, 상기 시퀀스 상태 테이블에 저장된 네임 컴포넌트 개수와 상기 병렬 프리픽스 매치 룩업을 기반으로 수행된 프리픽스 매치 룩업의 네임 컴포넌트 개수를 비교하여 해당 프리픽스 매치 룩업의 수행여부를 판단하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법.
3. The method according to claim 2,
The step of performing the parallel prefix match lookup comprises:
Stores the number of name components with the longest matching name component at the current time in a sequence status table (SEQUENCE STATUS TABLE), and the number of name components stored in the sequence status table and the prefix match lookup performed based on the parallel prefix match lookup A method of providing an information-centric network service using a parallel prefix match lookup, comprising comparing the number of name components to determine whether a corresponding prefix match lookup is performed.
청구항 4에 있어서,
상기 시퀀스 상태 테이블은
상기 관심 패킷을 식별하기 위한 일련 번호를 포함하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법.
5. The method according to claim 4,
The sequence state table is
and a serial number for identifying the interest packet.
청구항 4에 있어서,
상기 시퀀스 상태 테이블은
상기 관심 패킷에 대한 병렬 프리픽스 매치 룩업이 완료되었는지 여부를 나타내기 위한 busy_flag 필드를 포함하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법.
5. The method according to claim 4,
The sequence state table is
and a busy_flag field for indicating whether the parallel prefix match lookup for the interest packet is completed.
청구항 6에 있어서,
상기 busy_flag 필드의 값은 상기 관심 패킷이 입력되는 경우에 1로 설정되고, 상기 관심 패킷에 대한 병렬 프리픽스 매치 룩업을 수행하여 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 획득한 경우에 0으로 설정되는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법.
7. The method of claim 6,
The value of the busy_flag field is set to 1 when the interest packet is input, and is set to 0 when a single lookup result in which the name component matches the longest is obtained by performing a parallel prefix match lookup on the interest packet. An information-centric network service providing method using a parallel prefix match lookup, characterized in that
청구항 2에 있어서,
상기 병렬 프리픽스 매치 룩업에 상응하게 병렬적으로 수행 가능한 프리픽스 매치 룩업의 개수는 상기 관심 패킷을 임시 저장하는 인터레스트 큐(INTEREST QUEUE)에 저장 가능한 패킷의 개수와 동일한 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 방법.
3. The method according to claim 2,
A parallel prefix match lookup, characterized in that the number of prefix match lookups that can be performed in parallel corresponding to the parallel prefix match lookup is equal to the number of packets that can be stored in an interest queue temporarily storing the interest packet. A method of providing information-centric network services using
정보 중심 네트워크(INFORMATION CENTRIC NETWORK)에서 사용자로부터 전달되는 관심 패킷을 파싱하여 적어도 하나의 관심 네임 컴포넌트(NAME COMPONENT)를 획득하고, 포워딩 인포메이션 베이스 테이블(FORWARDING INFORMATION BASE TABLE)을 네임 컴포넌트 개수 별로 분리하여 복수개의 해시 테이블(HASH TABLE)들을 생성하고, 상기 복수개의 해시 테이블들을 기반으로 상기 적어도 하나의 관심 네임 컴포넌트에 대한 병렬 프리픽스 매치 룩업(PREFIX MATCH LOOKUP)을 수행하고, 상기 병렬 프리픽스 매치 룩업을 통해 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 기반으로 상기 사용자에게 포워딩을 수행하는 프로세서; 및
상기 관심 패킷 및 상기 포워딩 인포메이션 베이스 테이블을 저장하는 메모리
를 포함하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치.
At least one NAME COMPONENT is obtained by parsing the interest packet delivered from the user in the INFORMATION CENTRIC NETWORK, and the FORWARDING INFORMATION BASE TABLE is divided by the number of name components to plural HASH TABLEs are generated, and a parallel prefix match lookup (PREFIX MATCH LOOKUP) is performed on the at least one interested name component based on the plurality of hash tables, and a name component through the parallel prefix match lookup is performed. a processor performing forwarding to the user based on one lookup result matched with the longest; and
A memory for storing the interest packet and the forwarding information base table
Information-centric network service providing apparatus using a parallel prefix match lookup, characterized in that it comprises a.
청구항 9에 있어서,
상기 병렬 프리픽스 매치 룩업은
상기 적어도 하나의 관심 네임 컴포넌트를 통해 생성 가능한 네임 프리픽스 별로 상기 복수개의 해시 테이블들 기반의 프리픽스 매치 룩업을 수행하는 것에 상응하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치.
10. The method of claim 9,
The parallel prefix match lookup is
The apparatus for providing an information-centric network service using a parallel prefix match lookup, characterized in that it corresponds to performing a prefix match lookup based on the plurality of hash tables for each name prefix that can be generated through the at least one name of interest component.
청구항 10에 있어서,
상기 프로세서는
상기 네임 프리픽스 별로 수행된 프리픽스 매치 룩업 결과 중 매치가 성공한 룩업 결과를 획득하고, 매치가 성공한 룩업 결과들 중 가장 길게 매칭된 룩업 결과를 상기 관심 패킷의 출력 정보로써 저장하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치.
11. The method of claim 10,
the processor
A parallel prefix match, characterized in that obtaining a lookup result in which a match is successful among the results of the prefix match lookup performed for each name prefix and storing the longest matched lookup result among the lookup results in which the match is successful is stored as the output information of the interest packet Information-centric network service providing device using lookup.
청구항 10에 있어서,
상기 프로세서는
현재 시점에서 네임 컴포넌트가 가장 길게 매칭된 네임 컴포넌트 개수를 시퀀스 상태 테이블(SEQUENCE STATUS TABLE)에 저장하고, 상기 시퀀스 상태 테이블에 저장된 네임 컴포넌트 개수와 상기 병렬 프리픽스 매치 룩업을 기반으로 수행된 프리픽스 매치 룩업의 네임 컴포넌트 개수를 비교하여 해당 프리픽스 매치 룩업의 수행여부를 판단하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치.
11. The method of claim 10,
the processor
Stores the number of name components with the longest matching name component at the current time in a sequence status table (SEQUENCE STATUS TABLE), and the number of name components stored in the sequence status table and the prefix match lookup performed based on the parallel prefix match lookup An apparatus for providing an information-centric network service using a parallel prefix match lookup, characterized in that it is determined whether a corresponding prefix match lookup is performed by comparing the number of name components.
청구항 12에 있어서,
상기 시퀀스 상태 테이블은
상기 관심 패킷을 식별하기 위한 일련 번호를 포함하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치.
13. The method of claim 12,
The sequence state table is
The information-centric network service providing apparatus using a parallel prefix match lookup, characterized in that it includes a serial number for identifying the interest packet.
청구항 12에 있어서,
상기 시퀀스 상태 테이블은
상기 관심 패킷에 대한 병렬 프리픽스 매치 룩업이 완료되었는지 여부를 나타내기 위한 busy_flag 필드를 포함하는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치.
13. The method of claim 12,
The sequence state table is
and a busy_flag field for indicating whether the parallel prefix match lookup for the interest packet is completed.
청구항 14에 있어서,
상기 busy_flag 필드의 값은 상기 관심 패킷이 입력되는 경우에 1로 설정되고, 상기 관심 패킷에 대한 병렬 프리픽스 매치 룩업을 수행하여 네임 컴포넌트가 가장 길게 매칭된 하나의 룩업 결과를 획득한 경우에 0으로 설정되는 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치.
15. The method of claim 14,
The value of the busy_flag field is set to 1 when the interest packet is input, and is set to 0 when a single lookup result in which the name component matches the longest is obtained by performing a parallel prefix match lookup on the interest packet. An information-centric network service providing apparatus using a parallel prefix match lookup, characterized in that
청구항 10에 있어서,
상기 병렬 프리픽스 매치 룩업에 상응하게 병렬적으로 수행 가능한 프리픽스 매치 룩업의 개수는 상기 관심 패킷을 임시 저장하는 인터레스트 큐(INTEREST QUEUE)에 저장 가능한 패킷의 개수와 동일한 것을 특징으로 하는 병렬 프리픽스 매치 룩업을 이용한 정보 중심 네트워크 서비스 제공 장치.
11. The method of claim 10,
A parallel prefix match lookup, characterized in that the number of prefix match lookups that can be performed in parallel corresponding to the parallel prefix match lookup is equal to the number of packets that can be stored in an interest queue temporarily storing the interest packet. An information-centric network service providing device.
KR1020190157020A 2019-11-29 2019-11-29 Method for providing service of information centric network using parallel profix match lookup and apparatus using the same KR20210067429A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190157020A KR20210067429A (en) 2019-11-29 2019-11-29 Method for providing service of information centric network using parallel profix match lookup and apparatus using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190157020A KR20210067429A (en) 2019-11-29 2019-11-29 Method for providing service of information centric network using parallel profix match lookup and apparatus using the same

Publications (1)

Publication Number Publication Date
KR20210067429A true KR20210067429A (en) 2021-06-08

Family

ID=76399332

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190157020A KR20210067429A (en) 2019-11-29 2019-11-29 Method for providing service of information centric network using parallel profix match lookup and apparatus using the same

Country Status (1)

Country Link
KR (1) KR20210067429A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144570A (en) 2013-06-11 2014-12-19 삼성전자주식회사 A node and a communication method for supporting content mobility in a content centric network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140144570A (en) 2013-06-11 2014-12-19 삼성전자주식회사 A node and a communication method for supporting content mobility in a content centric network

Similar Documents

Publication Publication Date Title
US9825860B2 (en) Flow-driven forwarding architecture for information centric networks
US6909713B2 (en) Hash-based data frame distribution for web switches
US20180011936A1 (en) System and method for direct storage access in a content-centric network
KR101337039B1 (en) Server-side load balancing using parent-child link aggregation groups
JP3717836B2 (en) Dynamic load balancer
US9178806B2 (en) High-speed content routing
KR101717000B1 (en) Method and device for packet handling
EP2779581A1 (en) Wire-speed pending interest table
EP2869515A1 (en) System and method for minimum path mtu discovery in content centric networks
US8493839B2 (en) Method and system of teamed network adapters with offloaded connections
EP2991254A1 (en) Network coding for content-centric network
US9401864B2 (en) Express header for packets with hierarchically structured variable-length identifiers
US9268813B2 (en) Terminal device based on content name, and method for routing based on content name
US10742596B2 (en) Method and system for reducing a collision probability of hash-based names using a publisher identifier
CN112491717A (en) Service routing method and device
US20160210366A1 (en) Method and apparatus for providing media resource
EP3542518B1 (en) Enabling connections in a content centric network
KR20210067429A (en) Method for providing service of information centric network using parallel profix match lookup and apparatus using the same
US11184460B2 (en) Server device and transfer device for content distribution system
CN116647565A (en) Network node for indirect communication and method therein
KR20200065887A (en) Methog for fast forwarding interest packet and apparatus for the same
US11616716B1 (en) Connection ownership gossip for network packet re-routing
KR20220073421A (en) A method and apparatus for information centric networking over ip core network
CN116192743A (en) Message forwarding method, device, communication equipment and storage medium
KR20210066641A (en) Method for processing push data in icn system and apparatus for the same