A B-tree dynamic router-table design

  • Authors:
  • H. Lu;S. Sahni

  • Affiliations:
  • Dept. of Comput. & Information Sci., Florida Univ., Gainesville, FL, USA;Dept. of Comput. & Information Sci., Florida Univ., Gainesville, FL, USA

  • Venue:
  • ISCC '04 Proceedings of the Ninth International Symposium on Computers and Communications 2004 Volume 2 (ISCC"04) - Volume 02
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose B-tree data structures for dynamic router-tables for the cases when the filters are prefixes as well as when they are nonintersecting ranges. A crucial difference between our data structure for prefix filters and the B-tree router-table data structure of Suri et al. (2001) is that in our data structure, each prefix is stored in O(1) B-tree nodes per B-tree level, whereas in the structure of Suri et al. (2001), each prefix is stored in O(m) nodes per level (m is the order of the B-tree). As a result of this difference, a prefix may be inserted or deleted from an n-filter router table accessing only O(log/sub m/ n) nodes of our data structure; these operations access O(m log/sub m/ n) nodes using the structure of Suri et al. (2001). Eventhough the asymptotic complexity of prefix insertion and deletion is the same in both B-tree structures, experiments conducted by us show that because of the reduced cache misses for our structure, the measured average insert and delete times using our structure are about 30% less than when the B-tree structure of Suri et al. (2001) is used. Further, an update operation using the B-tree structure of Suri et al. (2001) will, in the worst case, make 2.5 times as many cache misses as made when our structure is used. The asymptotic complexity to find the longest matching prefix is the same, O(m log/sub m/ n) in both B-tree structures, and in both structures, this operation accesses O(log/sub m/ n) nodes. The measured time for this operation also is nearly the same for both data structures. Both B-tree structures for prefix router-tables take O(n) memory. However, our structure Is more memory efficient by a constant factor.