Efficient construction of variable-stride multibit tries for IP lookup
Srinivasan and Varghese (1999) have proposed the use of multibit tries to represent routing tables used for Internet (IP) address lookups. They propose an O(n /sub */W/sup 2//sub */ k) dynamic programming algorithm to determine the strides for an optimal variable-stride trie that has at most k levels. Here, n is the number of prefixes in the routing table and W is the length of the longest prefix. We improve on this algorithm by providing an alternative dynamic programming formulation. The complexity of our algorithm is O(n/sub */W/sub */k), on real router data sets. This is an improvement by a factor of W over the corresponding algorithm of Srinivasan. Experiments conducted by us indicate that our variable-stride algorithm is between 2 and 17 times as fast for IPv4 routing table data.

title: Efficient Construction of Pipelined Multibit-Trie Router-Tables
abstract: Efficient algorithms to construct multibit tries suitable for pipelined router-table applications are developed. We first enhance the 1-phase algorithm of Basu and Narlikar, obtaining a 1-phase algorithm that is 2.5 to 3 times as fast. Next, we develop 2-phase algorithms that not only guarantee to minimize the maximum per-stage memory but also guarantee to use the least total memory subject to the former constraint. Our 2-phase algorithms not only generate better pipelined trees than those generated by the 1-phase algorithm, but they also take much less time. A node pull-up scheme that guarantees no increase in maximum per-stage memory as well as a partitioning heuristic that generates pipelined multibit tries requiring less maximum per-stage memory than required by the tries obtained using the 1-phase and 2-phase algorithms are also proposed

title: IP Lookup by Binary Search on Prefix Length
abstract: Waldvogel et al.9 have proposed a collection of hash tables (CHT) organization for an IP router table. Each hash table in the CHT contains prefixes of the same length together with markers for longer-length prefixes. IP lookup can be done with O(log ldist) hash-table searches, where ldist is the number of distinct prefix-lengths (also equal to the number of hash tables in the CHT). Srinivasan and Varghese8 have proposed the use of controlled prefix-expansion to reduce the value of ldist. The details of their algorithm to reduce the number of lengths are given in . The complexity of this algorithm is O(nW2), where n is the number of prefixes, and W is the length of the longest prefix. The algorithm of [7] does not minimize the storage required by the prefixes and markers for the resulting set of prefixes. We develop an algorithm that minimizes storage requirement but takes O(nW3 + kW4) time, where k is the desired number of distinct lengths. Also, we propose improvements to the heuristic of [7].

title: Efficient Dynamic Lookup For Bursty Access Patterns
abstract: Internet (IP) packet forwarding is typically done by finding the longest prefix in a router table that matches the packet's destination address. Although significant effort has been devoted to the development of data structures for static and dynamic router-tables for random packet-access-patterns, considerably less effort has been expended in the development of such structures for bursty access-patterns (i.e., streams of packets in which destination addresses repeat frequently within localized windows of packets). In this paper, we first formulate a variant, ACRBT (alternative collection of red-black trees), of the CRBT (collection of red-black trees) data structure proposed earlier for dynamic router-tables. By replacing the red-black trees used in the ACRBT with splay trees, we obtain the CST (collection of splay trees) structure in which search, insert, and delete take O(log n) amortized time per operation, where n is the number of prefixes in the router table. By replacing the front end of the CST with biased skip lists, we obtain the BSLPT (biased skip lists with prefix trees) structure in which search, insert, and delete take O(log n) expected time. The CST and BSLPT structures are designed so as to perform much better when the access pattern is bursty than when it is not. Experimental results using real IPv4 routing databases and synthetically generated search sequences as well as trace sequences are presented. For extremely bursty access patterns, the CST structure is best. Otherwise, the ACRBT is recommended. Our experiments also indicate that a supernode implementation of the ACRBT usually has better search performance than does the traditional one-element-per-node implementation.

title: IP lookup by binary search on prefix length
abstract: Waldvogel et al.  have proposed a collection of hash tables (CHT) organization for an IP router table. IP lookup can be done with O(log l/sub dist/) hash-table searches, where l/sub dist/ is the number of distinct prefix-lengths (also equal to the number of hash tables in the CHT). Srinivasan and Varghese [ACM transactions on Computer Systems, Feb:1-40, 1999] have proposed the use of controlled prefix-expansion to reduce the value of l/sub dist/. The algorithm of [V. Srinivasan, 1999] does not minimize the storage required by the prefixes and markers for the resulting set of prefixes. We develop an algorithm that minimizes storage requirement but takes O(nW/sup 3/ + kW/sup 4/) time, where k is the desired number of distinct lengths, n is the number of prefixes, and W is the length of the longest prefix. Also, we propose improvements to the heuristic of [V. Srinivasan, 1999].

title: Efficient construction of multibit tries for IP lookup
abstract: Srinivasan and Varghese (1999) have proposed the use of multibit tries to represent routing tables used for Internet (IP) address lookups. They propose dynamic programming algorithms to determine the strides of optimal multibit fixed-stride and variable-stride tries. We improve on these algorithms by providing alternative dynamic programming formulations for both fixed-and variable-stride tries. While the asymptotic complexities of our algorithms are the same as those for the corresponding algorithms of Srinivasan and Varghese, experiments using real IPv4 routing table data indicate that our algorithms run considerably faster. Our fixed-stride trie algorithm is two to four times faster on a SUN workstation and 1.5 to three times faster on a Pentium IV PC. On a SUN workstation, our variable-stride trie algorithm is between two and 17 times faster than the corresponding algorithm of Srinivasan and Varghese; on a Pentium IV PC, our algorithm is between three and 47 times faster. An added feature of our variable-stride trie algorithm is the ability to insert and delete prefixes taking a fraction of the time needed to construct an optimal variable-stride trie "from scratch."

title: Optimizing multidimensional index trees for main memory access
abstract: Recent studies have shown that cache-conscious indexes such as the CSB+-tree outperform conventional main memory indexes such as the T-tree. The key idea of these cache-conscious indexes is to eliminate most of child pointers from a node to increase the fanout of the tree. When the node size is chosen in the order of the cache block size, this pointer elimination effectively reduces the tree height, and thus improves the cache behavior of the index. However, the pointer elimination cannot be directly applied to multidimensional index structures such as the R-tree, where the size of a key, typically, an MBR (minimum bounding rectangle), is much larger than that of a pointer. Simple elimination of four-byte pointers does not help much to pack more entries in a node.
This paper proposes a cache-conscious version of the R-tree called the CR-tree. To pack more entries in a node, the CR-tree compresses MBR keys, which occupy almost 80% of index data in the two-dimensional case. It first represents the coordinates of an MBR key relatively to the lower left corner of its parent MBR to eliminate the leading O's from the relative coordinate representation. Then, it quantizes the relative coordinates with a fixed number of bits to further cut off the trailing less significant bits. Consequently, the CR-tree becomes significantly wider and smaller than the ordinary R-tree. Our experimental and analytical study shows that the two-dimensional CR-tree performs search up to 2.5 times faster than the ordinary R-tree while maintaining similar update performance and consuming about 60% less memory space.

title: Multicriteria Fuzzy Control Using Evolutionary Programming
abstract: In this paper, we propose a multicriteria fuzzy control (MFC) using evolutionary programming (EP) by which its λ-fuzzy measure is optimized. Basically the MFC is an extended version of the existing fuzzy logic controller to obtain the proper weights of the fuzzy rules for the fine tuning control. The MFC is designed by three steps: first, the attributes of the system output response are selected, second, the partial evaluations from the viewpoints of the attributes are assigned to the fuzzy rules, and third, the fuzzy integral is employed to aggregate the partial evaluation and the user's fuzzy measure about the consideration degree of each attribute for the proper weight value. EP is used to optimize the λ-fuzzy measure for the linear tuning property of the MFC. Computer simulations indicate that the proposed scheme has excellent performance.

title: Mapping Cooperating GRID Applications by Affinity for Resource Characteristics
abstract: The Computational Grid, distributed and heterogeneous collections of computers in the Internet, has been considered a promising platform for the deployment of various high-performance computing applications. One of the crucial issues in the Grid is how to discover, select and map possible Grid resources in the Internet for meeting given applications. The general problem of statically mapping tasks to nodes has been shown to be NP-complete. In this paper, we propose a mapping algorithm for cooperating Grid applications by the affinity for the resources, named as MACA. The proposed algorithm utilizes the general affinity of Grid applications for certain resource characteristics such as CPU speeds, network bandwidth, and input/output handling capability. To show the effectiveness of the proposed mapping algorithm, we compare the performance of the algorithm with some previous mapping algorithms by simulation. The simulation results show that the algorithm could effectively utilize the affinity of Grid applications and shows good performance.

title: Analysis of the competition between wired, DSL and wireless users in an access network
abstract: This paper analyzes the performance of a large population composed of several classes of long lived TCP flows experiencing packet losses due to random transmission errors and to congestion created by the sharing of a common tail-drop or RED bottleneck router. Each class has a different transmission error rate. This setting is used to analyze the competition between wired and wireless users in an access network, where one class (the wired class) has no or small (like BER in DSL) transmission error losses whereas the other class has higher transmission error losses, or the competition between DSL flows using different coding schemes. We propose a natural and simple model for the joint throughput evolution of several classes of TCP flows under such a mix of losses. Two types of random transmission error losses are considered: one where losses are Poisson and independent of the rate of the flow, and one where the losses are still Poisson but with an intensity that is proportional to the rate of the source. We show that the large population model where the population tends to infinity has a threshold (given in closed form) below which there are no congestion losses at all in steady state, and above which there is a stationary limiting regime in which we can compute both the mean value and the distribution of the rate obtained by each class of flow. We also show that the maximum mean value for the aggregated rate is achieved at the threshold.

title: Background Updating for Visual Surveillance
abstract: Scene changes such as moved objects, parked vehicles, or opened/closed doors need to be carefully handled so that interesting foreground targets can be detected along with the short-term background layers created by those changes. A simple layered modeling technique is embedded into a codebook-based background subtraction algorithm to update a background model. In addition, important issues related to background updating for visual surveillance are discussed. Experimental results on surveillance examples, such as unloaded packages and unattended objects, are presented by showing those objects as short-term background layers.