/bloomfilter

My Bloom Filter, Scalable Bloom Filter and A2 Bloom Filter implemetation in Java

Primary LanguageJavaApache License 2.0Apache-2.0

Java Bloom Filter library

Apache v2

My Bloom Filter1, Scalable Bloom Filter2 and A2 Bloom Filter3 implemetation in Java for my Master's Thesis. The repository contains a NetBeans project and it is not under active development anymore.

Containing classes

  • BloomFilter
    • Basic Bloom Filter implementation
  • ExtendedBloomFilter
    • Extends the basic one and adds size parameter to follow the number of included elements, and the relevant methods.
  • ScalableBloomFilter
    • Implementation of Scalable Bloom Filter that extends its capacity dynamically if the Bloom Filter gets saturated. This extension means creating new Bloom Filters that are linked through a LinkedList.
  • A2BloomFilter
    • A2 Bloom Filter consists of two ScalableBloomFilter. Elements added to the active one and at one time only one of them is active, but both of them is read when an element is searched. Active is changed after the given time and the new active is cleared. In this way an element is surely in the Bloom Filter at least for the specified time.
  • BloomFilterUtils
    • Common methods for Bloom Filter implementations

Class diagram generated with easyUML Netbeans plugin

Bloom Filter library UML Class diagram

Bibliography

  • [1] : Bloom, Burton H. "Space/time trade-offs in hash coding with allowable errors." Communications of the ACM 13.7 (1970): 422-426.
  • [2] : Almeida, Paulo Sérgio, et al. "Scalable bloom filters." Information Processing Letters 101.6 (2007): 255-261.
  • [3] : Yoon, MyungKeun. "Aging bloom filter with two active buffers for dynamic sets." Knowledge and Data Engineering, IEEE Transactions on 22.1 (2010): 134-138.