Results 1  10
of
26
IPAddress Lookup Using LCTries
, 1998
"... There has recently been a notable interest in the organization of routing information to enable fast lookup of IP addresses. The interest is primarily motivated by the goal of building multiGb/s routers for the Internet, without having to rely on multilayer switching techniques. We address this ..."
Abstract

Cited by 113 (1 self)
 Add to MetaCart
There has recently been a notable interest in the organization of routing information to enable fast lookup of IP addresses. The interest is primarily motivated by the goal of building multiGb/s routers for the Internet, without having to rely on multilayer switching techniques. We address this problem by using an LCtrie, a trie structure with combined path and level compression. This data structure enables us to build efficient, compact and easily searchable implementations of an IP routing table. The structure can store both unicast and multicast addresses with the same average search times. The search depth increases as \Theta (log log n) with the number of entries in the table for a large class of distributions and it is independent of the length of the addresses. A node in the trie can be coded with four bytes. Only the size of the base vector, which contains the search strings, grows linearly with the length of the addresses when extended from 4 to 16 bytes, as mandated by the shift from IP version 4 to version 6. We present the basic structure, as well as an adaptive version that roughly doubles the number of lookups per second. More general classifications of packets that are needed for link sharing, quality of service provisioning and for multicast and multipath routing are also discussed. Our experimental results compare favorably with those reported previously in the research literature.
Fast address lookup for Internet routers
 IEEE Broadband Communications
, 1998
"... We consider the problem of organizing address tables for internet routers to enable fast searching. Our proposal is to to build an efficient, compact and easily searchable implementation of an IP routing table by using an LCtrie, a trie structure with combined path and level compression. The depth ..."
Abstract

Cited by 86 (4 self)
 Add to MetaCart
(Show Context)
We consider the problem of organizing address tables for internet routers to enable fast searching. Our proposal is to to build an efficient, compact and easily searchable implementation of an IP routing table by using an LCtrie, a trie structure with combined path and level compression. The depth of this structure increases very slowly as function of the number of entries in the table. A node can be coded in only four bytes and the size of the main search structure never exceeds 256 kB for the tables in the US core routers. We present a software implementation that can sustain approximately half a million lookups per second on a 133 MHz Pentium personal computer, and two million lookups per second on a more powerful SUN Sparc Ultra II workstation. 1
Fast Text Searching for Regular Expressions or Automaton Searching on Tries
"... We present algorithms for efficient searching of regular expressions on preprocessed text, using a Patricia tree as a logical model for the index. We obtain searching algorithms that run in logarithmic expected time in the size of the text for a wide subclass of regular expressions, and in subline ..."
Abstract

Cited by 53 (6 self)
 Add to MetaCart
We present algorithms for efficient searching of regular expressions on preprocessed text, using a Patricia tree as a logical model for the index. We obtain searching algorithms that run in logarithmic expected time in the size of the text for a wide subclass of regular expressions, and in sublinear expected time for any regular expression. This is the first such algorithm to be found with this complexity.
Improved Behaviour of Tries by Adaptive Branching
"... We introduce and analyze a method to reduce the search cost in tries. Traditional trie structures use branching factors at the nodes that are either fixed or a function of the number of elements. Instead, we let the distribution of the elements guide the choice of branching factors. This is accomp ..."
Abstract

Cited by 33 (8 self)
 Add to MetaCart
(Show Context)
We introduce and analyze a method to reduce the search cost in tries. Traditional trie structures use branching factors at the nodes that are either fixed or a function of the number of elements. Instead, we let the distribution of the elements guide the choice of branching factors. This is accomplished in a strikingly simple way: in a binary trie, the i highest complete levels are replaced by a single node of degree 2i; the compression is repeated in the subtries. This structure, the levelcompressed trie, inherits the good properties of binary tries with respect to neighbour and range searches, while the external path length is significantly decreased. It also has the advantage of being easy to implement. Our analysis shows that the expected depth of a stored element is \Theta (log \Lambda n) for uniformly distributed data.
Profile of Tries
, 2006
"... Tries (from retrieval) are one of the most popular data structures on words. They are pertinent to (internal) structure of stored words and several splitting procedures used in diverse contexts. The profile of a trie is a parameter that represents the number of nodes (either internal or external) wi ..."
Abstract

Cited by 17 (7 self)
 Add to MetaCart
(Show Context)
Tries (from retrieval) are one of the most popular data structures on words. They are pertinent to (internal) structure of stored words and several splitting procedures used in diverse contexts. The profile of a trie is a parameter that represents the number of nodes (either internal or external) with the same distance from the root. It is a function of the number of strings stored in a trie and the distance from the root. Several, if not all, trie parameters such as height, size, depth, shortest path, and fillup level can be uniformly analyzed through the (external and internal) profiles. Although profiles represent one of the most fundamental parameters of tries, they have been hardly studied in the past. The analysis of profiles is surprisingly arduous but once it is carried out it reveals unusually intriguing and interesting behavior. We present a detailed study of the distribution of the profiles in a trie built over random strings generated by a memoryless source. We first derive recurrences satisfied by the expected profiles and solve them asymptotically for all possible ranges of the distance from the root. It appears that profiles of tries exhibit several fascinating phenomena. When moving from the root to the leaves of a trie, the growth of the expected profiles vary. Near the root, the external profiles tend to zero in an exponentially rate, then the rate gradually rises to being logarithmic; the external profiles then abruptly tend to infinity, first logarithmically
Faster Searching in Tries and Quadtrees  An Analysis of Level Compression
"... We analyze the behavior of the levelcompressed trie, LCtrie, a compact version of the standard trie data structure. Based on this analysis, we argue that level compression improves the performance of both tries and quadtrees considerably in many practical situations. In particular, we show that ..."
Abstract

Cited by 12 (6 self)
 Add to MetaCart
(Show Context)
We analyze the behavior of the levelcompressed trie, LCtrie, a compact version of the standard trie data structure. Based on this analysis, we argue that level compression improves the performance of both tries and quadtrees considerably in many practical situations. In particular, we show that LCtries can be of great use for string searching in compressed text. Both tries and quadtrees are extensively used and much effort has been spent obtaining detailed analyses. Since the LCtrie performs significantly better than standard tries, for a large class of common distributions, while still being easy to implement, we believe that the LCtrie is a strong candidate for inclusion in the standard repertoire of basic data structures.
Implementing a Dynamic Compressed Trie
 PROCEEDINGS WAE'98, SAARBRUCKEN, GERMANY, AUGUST 2022, 1998
, 1998
"... We present an orderpreserving general purpose data structure for binary data, the LPCtrie. The structure ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
We present an orderpreserving general purpose data structure for binary data, the LPCtrie. The structure
An Experimental Study of Compression Methods for Dynamic Tries
"... We study an orderpreserving general purpose data structure for binary data, the LPCtrie. The structure is a compressed trie, using both level and path compression. The memory usage is similar to that of a balanced binary search tree, but the expected average depth is smaller. The LPCtrie is well ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
We study an orderpreserving general purpose data structure for binary data, the LPCtrie. The structure is a compressed trie, using both level and path compression. The memory usage is similar to that of a balanced binary search tree, but the expected average depth is smaller. The LPCtrie is well suited to modern language environments with ecient memory allocation and garbage collection. We present an implementation in the Java programming language and show that the structure compares favorably to a balanced binary search tree.
Exact GPS simulation with logarithmic complexity, and its application to an optimally fair scheduler
 In SIGCOMM’04
, 2004
"... Generalized Processor Sharing (GPS) is a fluid scheduling policy providing perfect fairness. The minimum deviation (lead/lag) with respect to the GPS service achievable by a packet scheduler is one packet size. To the best of our knowledge, the only packet scheduler guaranteeing such minimum deviati ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Generalized Processor Sharing (GPS) is a fluid scheduling policy providing perfect fairness. The minimum deviation (lead/lag) with respect to the GPS service achievable by a packet scheduler is one packet size. To the best of our knowledge, the only packet scheduler guaranteeing such minimum deviation is Worstcase Fair Weighted Fair Queueing (WF Q), that requires online GPS simulation. Existing algorithms to perform GPS simulation have ¡£¢¥¤§¦ complexity per packet transmission ( ¤
An Experimental Study of Compression Methods for Functional Tries
 in: Workshop on Algorithmic Aspects of Advanced Programming Languages (WAAAPL'99
, 1999
"... We develop compression methods for functional tries and study them experimentally. Trie compression is usually implemented either as a combination of path compression and width compression or as a combination of path compression and level compression. We develop a new efficient implementation for wi ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
We develop compression methods for functional tries and study them experimentally. Trie compression is usually implemented either as a combination of path compression and width compression or as a combination of path compression and level compression. We develop a new efficient implementation for width compression and show that in functional tries the combination of all of the three compression methods yields the best results when taking into account the trie size, the trie depth, the copy cost, and the search and update performance. We also show that the 23 tree minimizes the copy cost in balanced trees and compare our experimental results for tries to approximate analytical results for internal and external 23 trees. Our conclusion is that the path, width, and levelcompressed trie is an ideal choice for a functional mainmemory index structure. Keywords functional data structures, imperative data structures, trie, shadowing, path copying, path compression, width compression, level compression 1