Bloom Filter Based Routing for Content-Based Publish/Subscribe

1,717 views

Published on

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.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,717
On SlideShare
0
From Embeds
0
Number of Embeds
45
Actions
Shares
0
Downloads
62
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Bloom Filter Based Routing for Content-Based Publish/Subscribe

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  59. 59. Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 23 of 27 slides False Positives # subscriptions 1000 1500 2000 2500 3000 3500 4000 4500 5000 -2 10 % false pos, log2m=12, k=4 % false pos, log2m=13, k=4 % false pos, log2m=13, k=5 % false pos, log2m=13, k=6 10-3 % false positives 10-4 10-5 10-6 100K 200K 300K 400K 500K 600K 700K # delivered events Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer
  60. 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. 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. 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. 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

×