• 제목/요약/키워드: binary trie

검색결과 23건 처리시간 0.02초

RCB트라이를 이용한 빠른 검색과 소용량 색인 구조에 관한 연구 (A Study on Small-sized Index Structure and Fast Retrieval Method Using The RCB trio)

  • 정규철
    • 한국컴퓨터정보학회논문지
    • /
    • 제12권4호
    • /
    • pp.11-19
    • /
    • 2007
  • 본 논문에서는 CB 트라이와 HCB 트라이의 단점을 보완한 RCB 트라이를 제안한다. 먼저 CB 트라이의 경우 처음으로 축약된 구조를 시도하였으나 데이터의 양이 증가함에 따라 트리의 균형을 맞추기 위해 사용되는 더미노드들로 인해 삽입에 상당한 어려움을 가지고 있다. 반면 계층적으로 표현한 HCB트라이는 map이 오른쪽으로 증가하는 것을 막기 위해 일정 깊이를 주어 깊이에 다다르면 새로운 트리를 만들어 연결시키는 방법을 이용하였다. 결과적으로 입력과 검색 속도를 상당히 빠르게 진전시킬 수 있었으나 CB트라이와 마찬가지로 더미노드를 사용하고 여러 트리의 링크를 사용하기 때문에 저장공간이 커지는 단점을 안고 있다. 본 논문에서 제안한 RCB트라이는 더미노드를 완전히 없애 treemap을 약 35%정도 줄일 수 있었고 HCB트라이에 비해 전체 색인의 크기를 절반으로 줄였다.

  • PDF

효율적인 한글 탐색을 위한 CB 트라이의 재구성 (Reconstitution of CB Trie for the Efficient Hangul Retrieval)

  • 정규철
    • 융합보안논문지
    • /
    • 제7권4호
    • /
    • pp.29-34
    • /
    • 2007
  • 본 논문에서는 CB 트라이의 단점을 보완한 RCB 트라이를 제안한다. 먼저 CB 트라이의 경우 처음으로 축약된 구조를 시도하였으나 데이터의 양이 증가함에 따라 트리의 균형을 맞추기 위해 사용되는 더미노드들로 인해 삽입에 상당한 어려움을 가지고 있다. 반면 계층적으로 표현한 HCB 트라이는 map이 오른쪽으로 증가하는 것을 막기 위해 일정 깊이를 주어 깊이에 다다르면 새로운 트리를 만들어 연결시키는 방법을 이용하였다. 결과적으로 입력과 검색 속도를 상당히 빠르게 진전시킬 수 있었으나 CB 트라이와 마찬가지로 더미노드를 사용하고 여러 트리의 링크를 사용하기 때문에 저장공간이 커지는 단점을 안고 있다. 본 논문에서 제안한 RCB 트라이는 더미노드를 완전히 없애 성능이 60% 향상되었다.

  • PDF

Multi-Stride Decision Trie for IP Address Lookup

  • Lee, Jungwon;Lim, Hyesook
    • IEIE Transactions on Smart Processing and Computing
    • /
    • 제5권5호
    • /
    • pp.331-336
    • /
    • 2016
  • Multi-bit tries have been proposed to improve the search performance of a binary trie by providing flexibility in stride values, which identify the number of bits examined at a time. However, constructing a variable-stride multi-bit trie is challenging since it is not easy to determine a proper stride value that satisfies the required performance at each node. The aim of this paper is to identify several desired characteristics of a trie for IP address lookup problems, and to propose a multi-stride decision trie that has these characteristics. Simulation results using actual routing sets with about 30,000 to 220,000 prefixes show that the proposed multi-stride decision trie has the desired characteristics and achieves IP address lookup using 33% to 47% of the 2-bit trie in the average number of node accesses, while requiring a smaller amount of memory.

한글 유니코드 텍스트의 효율적인 탐색을 위한 컴팩트 바이너리 트라이의 재구성 (Reconstitution of Compact Binary trie for the Efficient Retrieval of Hangul UniCODE Text)

  • 정규철;이종찬;박상준;김병기
    • 디지털산업정보학회논문지
    • /
    • 제5권2호
    • /
    • pp.21-28
    • /
    • 2009
  • This paper proposes RCBT(Reduced Compact Binary trie) to correct faults of CBT (Compact Binary trie). First, in the case of CBT, a compact structure was tried for the first time, but as the amount of data was increasing, that of inputted data gained and much difficulty was experienced in insertion due to the dummy nodes used in balancing trees. On the other hand, if the HCBT realized hierarchically, given certain depth to prevent the map from increasing onthe right, reached the depth, the method for making new trees and connecting to them was used. Eventually, fast progress could be made in the inputting and searching speed, but this had a disadvantage of the storage space becoming bigger because of the use of dummy nods like CBT and of many tree links. In the case of RCBT in this thesis, a capacity is increased by about 60% by completely cutting down dummy nods.

검색 성능 향상과 동적 환경을 위한 HCB 트리의 개선 (Enhancement of HCB Tree for Improving Retrieval Performance and Dynamic Environments)

  • 김성완
    • 한국정보통신학회논문지
    • /
    • 제19권2호
    • /
    • pp.365-371
    • /
    • 2015
  • 이진 트라이를 이진 비트열로 압축하여 표현하는 CB 트리는 키가 늘어남에 따라 이진 비트열이 길어지게 되어 검색 시간이 증가하며 잦은 키 삽입/삭제 연산에 비효율적이다. 작은 분할 트라이들을 계층적 구조로 표현한 HCB 트리가 제안되었으나 비트열 시프트 처리를 근본적으로 해결할 수 없으며 자식 혹은 부모 트리 참조를 위해 별도의 자료 구조를 탐색해야 하는 부담이 있다. 본 논문에서는 각 분할 트리를 포화 이진 트라이 형태로 표현하고 레벨 순위에 따라 분할 트리 번호를 할당하여 검색 성능을 향상 시키는 한편 키의 삽입/삭제 시에 시프트 연산이 발생하지 않도록 하였다. 시 공간 복잡도를 사용한 성능 평가에서 검색 시에는 제안 방법과 HCB 트리 방법이 CB 트리에 비해 우수한 것으로 나타났으며, 키 삽입/삭제는 제안 방법이 가장 높은 성능을 보여주었다. 공간 사용량은 제안 방법이 CB 트리 방법에 비해 71~89%의 공간만을 요구하여 가장 좋은 성능을 보였다.

IP 주소 검색을 위한 Priority Trie (An Efficient IP address Lookup Algorithm Using a Priority-Trie)

  • 임혜숙;문주형
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2006년도 하계종합학술대회
    • /
    • pp.3-4
    • /
    • 2006
  • Fast IP address lookup in routers is essential to achieve packet forwarding in wire-speed. The longest prefix matching for IP address lookup is more complex than exact matching because of its dual dimensions, length and value. By thoroughly studying the current proposals for IP address lookup, we find out that the binary search could be a low-cost solution while providing high performance. Most of the existing binary search algorithms based on trie have simple data structures which can be easily implemented, but they have some problems because of empty internal nodes. The proposed algorithm is based on trie structure, but empty internal nodes are replaced by priority prefixes. The best-matching-prefix search in the proposed algorithm is more efficiently performed since search can be finished earlier when input is matched with a priority prefix. The performance evaluation results show that the constructed priority-trie has very good performance in the lookup speed and the scalability.

  • PDF

계층형 집약 이진 트리의 검색 성능 개선 (Enhancing Retrieval Performance for Hierarchical Compact Binary Tree)

  • 김성완
    • 창의정보문화연구
    • /
    • 제5권3호
    • /
    • pp.345-353
    • /
    • 2019
  • 문자열 탐색을 위한 자료구조로 널리 사용되는 이진 트라이를 선형 이진 비트열로 표현하여 저장 공간 효율성을 높이기 위한 여러 연구들이 제안되었다. 한 개의 이진 트라이를 기반으로 생성된 이진 집약 트리기법은 입력 키 집합의 크기가 커지면 이진 비트열이 매우 길어지게 되어 키 탐색 시간이 크게 증가한다. 키 탐색 범위를 축소하고자 여러 개의 작은 크기의 이진 집약 트리를 계층적으로 표현한 계층적 집약 이진트리 기법이 제안되었으나 키 탐색 시 근본적으로 이진 비트열을 순차적으로 접근하여 처리하므로 탐색 범위에 포함되는 이진 비트열의 개수와 길이에 따라 검색 시간이 비례하여 증가한다. 본 논문에서는 포화이진 트라이로 표현된 여러 개의 이진 집약 트리를 계층적으로 구성하고, 키 탐색 범위에 해당하는 이진 비트열 경로를 간단한 숫자 변환을 통해 결정할 수 있도록 하여 검색 성능을 높였다. 최악의 시·공간 복잡도 계산을 이용한 성능 평가를 통해 검색 및 키 삽입 또는 삭제에 대해 제안 방법이 가장 높은 성능을 보여 주었다. 공간 사용량은 제안 방법이 기존의 방법에 비해 약 67%~68%의 공간만을 필요로 하여 가장 우수한 공간 효율성을 보이는 것으로 분석되었다.

길이에 대한 2차원 이진검색을 이용한 패킷분류 구조 (Packet Classification Using Two-Dimensional Binary Search on Length)

  • 문주형;임혜숙
    • 한국통신학회논문지
    • /
    • 제32권9B호
    • /
    • pp.577-588
    • /
    • 2007
  • 인터넷의 성장은 다양한 응용 프로그램들의 발달을 야기 시켰으며, 그로 인해 모든 패킷을 동일하게 처리하는 현재의 최선지원 서비스 보다 나은 서비스를 제공할 것을 요구하고 있다. 따라서 차세대 인터넷 라우터들은 다양한 레벨의 품질보장 서비스를 제공하여야 한다. 품질보장 서비스를 제공하기 위해서는 모든 입력 패킷을 미리 정의된 룰에 따라 구분하는 패킷 분류가 실시간으로 수행되어야 한다. 패킷분류는 패킷에 포함된 여러 헤더 필드에 대하여 다양한 종류의 검색을 수행하여야 하며, 일치하는 룰들 중에서 가장 높은 우선순위를 갖는 룰을 찾아야 하는 다차원 검색이다. 영역분할을 사용한 사분트라이 구조는 근원지와 목적지 프리픽스를 2차원 트라이 구조로 저장하여 검색을 진행하는 좋은 알고리즘이나, 길이에 대하여 선형검색을 하는 방법이므로 좋은 검색 성능을 보이지 못한다. 본 논문에서는 사분트라이 구조에서 길이에 대하여 이진검색을 진행하는 새로운 패킷분류 알고리즘을 제안한다. 또한 패킷이 여러 개의 룰과 일치하였을 경우 가장 높은 우선순위를 가지는 룰을 선택한다는 특성을 이용하여, 사분트라이를 만드는 과정에서 우선순위를 고려하여 검색 성능을 향상시킬 수 있는 방안을 제안한다.

블룸 필터를 사용한 길이에 대한 2차원 이진검색 패킷 분류 알고리즘 (Two-Dimensional Binary Search on Length Using Bloom Filter for Packet Classification)

  • 최영주;임혜숙
    • 한국통신학회논문지
    • /
    • 제37권4B호
    • /
    • pp.245-257
    • /
    • 2012
  • 패킷 분류는 인터넷 라우터가 수행하는 가장 중요한 기능 중 하나로써 들어오는 모든 패킷을 선 속도로 처리하기를 요구한다. 영역분할을 사용한 사분트라이 구조에 길이 별 이진 검색을 적용한 알고리즘은 2차원 필드를 동시에 검색하면서 검색영역을 반으로 줄여나갈 수 있으므로 매우 효율적인 구조이다. 하지만 트라이의 레벨에 노드가 없는 경우에도 해시 테이블에 접근하는 문제점이 존재한다. 따라서 본 논문에서는 해시 메모리로의 불필요한 접근을 줄이기 위해서 영역분할을 사용한 사분 트라이의 길이별 이진 검색에 블룸 필터를 적용하는 패킷분류 구조를 제안한다. 현재 사용되는 ACL, FW, IPC 룰 타입의 1000, 5000, 10000개의 룰 셋으로 실험한 결과, 블룸 필터를 적용함으로써 검색 성능이 21~33%까지 향상되는 결과를 얻었다.

On Reducing False Positives of a Bloom Filter in Trie-Based Algorithms

  • Mun, Ju Hyoung;Lim, Hyesook
    • IEIE Transactions on Smart Processing and Computing
    • /
    • 제4권3호
    • /
    • pp.163-168
    • /
    • 2015
  • Many IP address lookup approaches employ Bloom filters to obtain a high-speed search performance. Especially, it has been recently studied that the search performance of trie-based algorithms can be significantly improved by adding Bloom filters. In such algorithms, the number of trie accesses can be greatly reduced because Bloom filters can determine whether a node exists in a trie without actually accessing the trie. Bloom filters do not have false negatives but have false positives. False positives can lead to unnecessary trie accesses. The false positive rate must thus be reduced to enhance the performance of lookup algorithms applying Bloom filters. One important characteristic of trie-based algorithms is that all the ancestors of a node are also stored. The proposed algorithm utilizes this characteristic in reducing the false positive rate of a Bloom filter without increasing the size of the memory for the Bloom filter. When a Bloom filter produces a positive result for a node of a trie, we propose to check whether the ancestors of the node are also positives. Because Bloom filters have no false negatives, the negatives of any of the ancestors mean that the positive of the node is false. In other words, we propose to use more Bloom filter queries to reduce the false positive rate of a Bloom filter in trie-based algorithms. Simulation results show that querying one ancestor of a node can reduce the false positive rate by up to 67% with exactly the same architecture and the same memory requirement. The proposed approach can be applied to other trie-based algorithms employing Bloom filters.