Achieving expressive and efficient content-based
routing in publish/subscribe systems is a difficult problem. Traditional
approaches prove to be either inefficient or severely limited in their
expressiveness and flexibility. We present a novel routing method, based on
Bloom filters, which shows high efficiency while simultaneously preserving
the flexibility of content-based schemes. The resulting implementation is a
fast, flexible and fully decoupled content-based publish/subscribe system.
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Bloom Filter Based Routing for Content-Based Publish/Subscribe
1. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 1 of 27 slides
Bloom Filter Based Routing for Content-Based
Publish/Subscribe
DEBS 2008
Zbigniew Jerzak and Christof Fetzer
Systems Engineering Group, Dresden University of Technology
Wednesday 2nd July, 2008
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
2. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 2 of 27 slides
Event forwarding ([CRW01]: siena, [TK06]: forest)
100000
siena
forest
10000
time [ms]
1000
100
0 5000 10000 15000 20000 25000 30000
# filters
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
3. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 3 of 27 slides
Subscription routing ([CRW01]: siena, [TK06]: forest)
1e+06
siena
forest
100000
time [ms]
10000
1000
100
0 5000 10000 15000 20000 25000 30000
# filters
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
4. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 4 of 27 slides
Motivation
Efficient End-to-End transmission delays
More flexible edge routing approach [JF07]
A flexible communication substrate for event processing
systems
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
5. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 5 of 27 slides
Our Contributions
New routing structures and algorithms:
applicable for both traditional and edge routing
sbsposet – predicate storage and coverage
sbstree – management of disjunctions of predicates
conjunctions
Content summarisation using Bloom filters [Blo70]
not imposing any limitation on the type and content of the
events/subscriptions
sparse Bloom filters for space complexity
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
6. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 5 of 27 slides
Our Contributions
New routing structures and algorithms:
applicable for both traditional and edge routing
sbsposet – predicate storage and coverage
sbstree – management of disjunctions of predicates
conjunctions
Content summarisation using Bloom filters [Blo70]
not imposing any limitation on the type and content of the
events/subscriptions
sparse Bloom filters for space complexity
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
7. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides
Publish/Subscribe Model
Decoupled [EFGK03] communication...
...between publishers and subscribers via routers
...using subscriptions (conjunction of predicates)
...and events (disjunction of predicates)
...based on their content
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
8. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides
Publish/Subscribe Model
Decoupled [EFGK03] communication...
...between publishers and subscribers via routers
...using subscriptions (conjunction of predicates)
...and events (disjunction of predicates)
...based on their content
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
9. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides
Publish/Subscribe Model
Decoupled [EFGK03] communication...
...between publishers and subscribers via routers
...using subscriptions (conjunction of predicates)
movie = ”star wars” AND price < 15
p () 0 p1 ()
...and events (disjunction of predicates)
...based on their content
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
10. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides
Publish/Subscribe Model
Decoupled [EFGK03] communication...
...between publishers and subscribers via routers
...using subscriptions (conjunction of predicates)
...and events (disjunction of predicates)
movie = ”batman” OR price = 15.5
an0 av0 an1 av1
...based on their content
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
11. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides
Publish/Subscribe Model
Decoupled [EFGK03] communication...
...between publishers and subscribers via routers
...using subscriptions (conjunction of predicates)
...and events (disjunction of predicates)
...based on their content
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
12. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 7 of 27 slides
Event forwarding
An event e matches a subscription s (e s)
∀p∈s ∃{an,av }∈e : p ({an, av }) = true (1)
A broker contains |S| subscriptions:
∀s∈S : execute Equation 1 (2)
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
13. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 8 of 27 slides
Approach
An event e matches a subscription s (e s)
∀p∈s ∃{an,av }∈e : p ({an, av }) = true
Evaluate predicate functions
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
14. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 8 of 27 slides
Approach
An event e matches a subscription s (e s)
∀p∈s ∃{an,av }∈e : p ({an, av }) = true
Calculate of disjunction of conjunctions of predicates
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
15. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides
Overview: Subscription Routing
S
R
P
te sops bs
eer tsbs
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
16. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides
Overview: Subscription Routing
p1 p2 p3
S
R
P
tes opsb s
eert sbs
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
17. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides
Overview: Subscription Routing
p1 p2 p3
S
R
P
p
1 p 2 p3
tes opsb s
eert sbs
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
18. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides
Overview: Subscription Routing
p1 p2 p3
S
R
P
p p p
+ + +
1 2 3
tes opsb s
bf bf bf
1 2 3
eert sbs
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
19. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides
Overview: Subscription Routing
p1 p2 p3
S
R
P
p p p
+ + +
1 2 3
tes opsb s
bf bf bf
1 2 3
bf bf bf
1 2 3 eert sbs
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
20. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides
Overview: Event Forwarding
S
R
P
te sops bs
e erts bs
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
21. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides
Overview: Event Forwarding
an an an
av av av
1 2 3
S 1 2 3
R
P
te sops bs
e erts bs
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
22. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides
Overview: Event Forwarding
an an an
av av av
1 2 3
S 1 2 3
R
P
an an an
av av av
1 2 3
tes opsb s
1 2 3
eer tsbs
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
23. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides
Overview: Event Forwarding
an an an
av av av
1 2 3
S 1 2 3
R
P
an an an an an an
av av av
1 2 3
av av av
1 2 3 tes opsb s
1 2 3
+ + +
1 2 3
bf i bfj bf k
eer tsbs
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
24. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides
Overview: Event Forwarding
an an an
av av av
1 2 3
S 1 2 3
R
P
an an an an an an
av av av
1 2 3
av av av
1 2 3 tes opsb s
1 2 3
+ + +
1 2 3
bf bf bf
i ecafretni
i j k
eer tsbs j ecafretni
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
25. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 11 of 27 slides
SBSPoset
Stores subscriptions as:
disjunction of single predicates
ordered by the coverage relation
Every predicate is assigned a Bloom filter
which summarizes its content
and that of covering predicates
No limitations on the expressiveness of the subscription/event
language
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
26. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides
SBSPoset: subscription storage
x
llun y
7.0≥ llun
}81521 ,7872{
5> 5<
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
0=
}6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
27. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides
SBSPoset: subscription storage
:noitpircsbus weN 51>x 0>y
x
llun y
7.0≥ llun
}81521 ,7872{
5> 5<
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
0=
}6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
28. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides
SBSPoset: subscription storage
:noitpircsbus weN 51>x 0>y
x }28501 ,1446{ }6368 ,2015{
llun y
7.0≥ llun
}81521 ,7872{
5> 5<
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
0=
}6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
29. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides
SBSPoset: subscription storage
:noitpircsbus weN 51>x 0>y
x }28501 ,1446{ }6368 ,2015{
llun y
7.0≥ llun
}81521 ,7872{
5> 5<
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
51> 0=
}28501 ,1446{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
30. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides
SBSPoset: subscription storage
:noitpircsbus weN 51>x 0>y
x }28501 ,1446{ }6368 ,2015{
llun y
7.0≥ llun
}81521 ,7872{
5> 5<
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
51> 0=
81521 ,28501 ,1858 ,1446 ,6606 ,7872{ } }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
31. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides
SBSPoset: subscription storage
:noitpircsbus weN 51>x 0>y
x }28501 ,1446{ }6368 ,2015{
llun y
7.0≥ llun
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
32. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 13 of 27 slides
SBSTree
Represents the disjunction of conjunctions of subscriptions’
predicates:
stores only Bloom filters
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
33. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 14 of 27 slides
SBSTree: subscription storage
llun
7305 1005 6606 1446 7872
6158 7058 1858 28501 81521
m o c.t o d @ 4 f m o c.t o d @ 5f moc.t od@1f m oc.tod @3f m o c.t o d @ 2f
:noitpircsbus weN 51>x 0>y
}28501 ,1446 { } 6 3 6 8 , 2 0 1 5{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
34. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 14 of 27 slides
SBSTree: subscription storage
llun
7305 1005 6606 1446 7872
6158 7058 1858 28501 81521
m o c.t o d @ 4f moc.tod @5f m o c.t o d @ 1f m o c.t o d @ 3f moc.to d@2f
:noitpircsbus weN 51>x 0>y
} 2 8 5 0 1 , 1 4 4 6{ }6368 ,2015 {
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
35. Zbigniew Jerzak and Christof Fetzer Bloom Filter Based Routing for Content-Based Publish/Subscribe
m o c.t o d @ 6f
}6368 ,2015 { } 2 8 5 0 1 , 1 4 4 6{
28501
0>y 51>x :noitpircsbus weN
6368
moc.to d@2f m o c.t o d @ 3f m o c.t o d @ 1f moc.tod @5f m o c.t o d @ 4f
81521 28501 1858 7058 1446 6158
7872 1446 6606 1005 2015 7305
llun
SBSTree: subscription storage
14 of 27 slides Summary Evaluation SBSPoset & SBSTree Background & Overview Motivation
36. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides
SBSPoset: event forwarding
:t n e v E 7=x 2-= y
x
ll u n y
7.0≥ ll u n
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
37. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides
SBSPoset: event forwarding
:t n e v E 7=x 2-= y
x
ll u n y
7.0≥ ll u n
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
38. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides
SBSPoset: event forwarding
:t n e v E 7=x 2-= y
x
ll u n y
7.0≥ ll u n
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
39. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides
SBSPoset: event forwarding
:t n e v E 7=x 2-= y
x
ll u n y
7.0≥ ll u n
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
40. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides
SBSPoset: event forwarding
:t n e v E 7=x 2-= y
x
ll u n y
7.0≥ ll u n
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
41. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides
SBSPoset: event forwarding
:t n e v E 7=x 2-= y
x }81521 ,1858 ,6606 ,7872{
ll u n y
7.0≥ ll u n
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
42. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides
SBSPoset: event forwarding
:t n e v E 7=x 2- = y
x }81521 ,1858 ,6606 ,7872{
ll u n y
7.0≥ llun
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
43. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides
SBSPoset: event forwarding
:t n e v E 7=x 2- = y
x }81521 ,1858 ,6606 ,7872{
ll u n y
7.0≥ llun
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
44. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides
SBSPoset: event forwarding
:t n e v E 7=x 2- = y
x }81521 ,1858 ,6606 ,7872{
ll u n y
7.0≥ llun
}81521 ,7872{
5> 5< 0>
}81521 ,1858 ,6606 ,7872{ }6158 ,7305{
}6368 ,2015{
51> 0=
}81521 ,28501 ,1858 ,1446 ,6606 ,7872{ }6158 ,7058 ,7305 ,1005{
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
45. Zbigniew Jerzak and Christof Fetzer Bloom Filter Based Routing for Content-Based Publish/Subscribe
}6158 ,7058 ,7305 ,1005{ }81521 ,28501 ,1858 ,1446 ,6606 ,7872{
0= 51>
}6368 ,2015{
}6158 ,7305{ }81521 ,1858 ,6606 ,7872{
0> 5< 5>
}81521 ,7872{
llun 7.0≥
y ll u n
}81521 ,1858 ,
6158 ,6606 ,7305 ,7872{
x
2- = y 7=x :t n e v E
SBSPoset: event forwarding
15 of 27 slides Summary Evaluation SBSPoset & SBSTree Background & Overview Motivation
46. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 16 of 27 slides
SBSTree: event forwarding
llun
7305 2015 1005 6606 1446 7872
6158 1446 7058 1858 28501 81521
moc.tod@4f moc.tod@5f moc.tod@1f moc.tod@3f moc.tod@2f
6368
28501 :tnevE 7=x 2-= y
}81521 ,1858 ,6158 ,6606 ,7305 ,7872{
moc.tod@6f
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
47. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 16 of 27 slides
SBSTree: event forwarding
llun
7305 2015 1005 6606 1446 7872
6158 1446 7058 1858 28501 81521
moc.tod@4f moc.tod@5f m o c.t o d @ 1f moc.tod@3f moc.tod@2f
6368
28501 :tnevE 7=x 2-=y
6 6 0 6 , 7 3 0 5 , 7 8 7 2{ }8 15 21 ,1 85 8 ,6 15 8 ,
moc.tod@6f
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
48. Zbigniew Jerzak and Christof Fetzer Bloom Filter Based Routing for Content-Based Publish/Subscribe
moc.tod@6f
} 8 1 5 2 1 , 1 8 5 8 , 6 1 5 8 , 6 6 0 6 , 7 3 0 5 , 7 8 7 2{
2-=y 7=x :tnevE 28501
6368
moc.tod@2f moc.tod@3f m o c .t o d @ 1f m o c.t o d @ 5f moc.tod@4f
81521 28501 1858 7058 1446 6158
7872 1446 6606 1005 2015 7305
llun
SBSTree: event forwarding
16 of 27 slides Summary Evaluation SBSPoset & SBSTree Background & Overview Motivation
49. Zbigniew Jerzak and Christof Fetzer Bloom Filter Based Routing for Content-Based Publish/Subscribe
moc.tod@6f
} 8 1 5 2 1 , 1 8 5 8 , 6 1 5 8 , 6 6 0 6 , 7 3 0 5 , 7 8 7 2{
28501
2-=y 7=x :tnevE
6368
moc.tod@2f moc.tod@3f m o c .t o d @ 1f m o c.t o d @ 5f moc.tod@4f
81521 28501 1858 7058 1446 6158
7872 1446 6606 1005 2015 7305
llun
SBSTree: event forwarding
16 of 27 slides Summary Evaluation SBSPoset & SBSTree Background & Overview Motivation
50. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 17 of 27 slides
Evaluation Environment
SIENA 1.5.4
http://www.inf.unisi.ch/carzaniga/siena/
Apache Mina
Stochastic Simulation in Java (SSJ) library
BloomFilter
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
51. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 17 of 27 slides
Evaluation Environment
SIENA 1.5.4
Apache Mina
http://mina.apache.org/
ver. 2.0.0-M1 as of 24th Jan 2008
Stochastic Simulation in Java (SSJ) library
BloomFilter
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
52. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 17 of 27 slides
Evaluation Environment
SIENA 1.5.4
Apache Mina
Stochastic Simulation in Java (SSJ) library
umontreal.iro.lecuyer.randvar.*
umontreal.iro.lecuyer.rng.*
BloomFilter
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
53. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 17 of 27 slides
Evaluation Environment
SIENA 1.5.4
Apache Mina
Stochastic Simulation in Java (SSJ) library
BloomFilter
http://wwwse.inf.tu-dresden.de/xsiena
Based on code by: Hongbin Liu and Arash Partow
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
54. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 18 of 27 slides
Event forwarding
100000
siena
forest
sbsposet
sbstree
10000
time [ms]
1000
100
10
0 5000 10000 15000 20000 25000 30000
# filters
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
55. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 19 of 27 slides
Subscription routing
1e+06
siena
forest
sbsposet
sbstree
100000
10000
time [ms]
1000
100
10
0 5000 10000 15000 20000 25000 30000
# filters
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
56. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 20 of 27 slides
TCP/IP Latency
1600
1 broker (local)
2 brokers (local)
1400 3 brokers (local)
1 broker (distributed)
2 brokers (distributed)
1200 3 brokers (distributed)
number of events
1000
800
600
400
200
0
0 1000 2000 3000 4000 5000 6000 7000
latency [µs]
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
57. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 21 of 27 slides
TCP/IP Throughput
18
local (1 broker)
local (2 brokers) 12
16 local (3 brokers)
distributed (1 broker)
14 distributed (2 brokers)
distributed (3 brokers) 10
12
K events / second
8
10
MB/s
8 6
6
4
4
2
2
0 0
1 2 3 4 5 6 7 8 9 10
K events sent
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
58. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 22 of 27 slides
Local Throughput
delievered events
100K
10K
1K
unfrm distr norm distr Pareto distr
500K
400K
events/second
300K
200K
100K
0K
10K 20K 30K 40K 50K 60K 70K 80K 90K 100K
# events
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
60. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 24 of 27 slides
Bloom Filter vs Sparse Bloom Filter
106
Bloom filter Sparse Bloom filter
memory consumption [KB]
105
104
103
0 20000 40000 60000 80000 100000 120000
# elements inserted
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
61. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 25 of 27 slides
Summary
Low latency, high throughput
Event forwarding based on Bloom filters
No restrictions on the subscription language
Decoupled management of predicates and their conjunctions
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
62. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 26 of 27 slides
Thank You!
http://wwwse.inf.tu-dresden.de/xsiena/
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
63. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 27 of 27 slides
References
Burton H. Bloom.
Space/time trade-offs in hash coding with allowable errors.
Communications of the ACM, 13(7):422–426, 1970.
Antonio Carzaniga, David S. Rosenblum, and Alexander L. Wolf.
Design and evaluation of a wide-area event notification service.
ACM Trans. Comput. Syst., 19(3):332–383, 2001.
Patrick Th. Eugster, Pascal A. Felber, Rachid Guerraoui, and Anne-Marie Kermarrec.
The many faces of publish/subscribe.
ACM Comput. Surv., 35(2):114–131, 2003.
Zbigniew Jerzak and Christof Fetzer.
Prefix forwarding for publish/subscribe.
In DEBS ’07: Proceedings of the 2007 Inaugural International Conference on Distributed Event-Based
Systems, pages 238–249, Toronto, Ontario, Canada, June 2007. ACM Press.
Sasu Tarkoma and Jaakko Kangasharju.
Optimizing content-based routers: posets and forests.
Distributed Computing, 19(1):62–77, September 2006.
Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer