bloom filter based routing for content-based publish/subscribe

63
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 2 nd July, 2008 Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Upload: zbigniew-jerzak

Post on 10-May-2015

1.329 views

Category:

Technology


3 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 1 of 27 slides

Bloom Filter Based Routing for Content-BasedPublish/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

Page 2: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 2 of 27 slides

Event forwarding ([CRW01]: siena, [TK06]: forest)

100

1000

10000

100000

0 5000 10000 15000 20000 25000 30000

tim

e [

ms]

# filters

sienaforest

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 3: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 3 of 27 slides

Subscription routing ([CRW01]: siena, [TK06]: forest)

100

1000

10000

100000

1e+06

0 5000 10000 15000 20000 25000 30000

tim

e [

ms]

# filters

sienaforest

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 4: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 4 of 27 slides

Motivation

I Efficient End-to-End transmission delaysI More flexible edge routing approach [JF07]I A flexible communication substrate for event processingsystems

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 5: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 5 of 27 slides

Our Contributions

I New routing structures and algorithms:I applicable for both traditional and edge routingI sbsposet – predicate storage and coverageI sbstree – management of disjunctions of predicatesconjunctions

I Content summarisation using Bloom filters [Blo70]I not imposing any limitation on the type and content of theevents/subscriptions

I sparse Bloom filters for space complexity

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 6: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 5 of 27 slides

Our Contributions

I New routing structures and algorithms:I applicable for both traditional and edge routingI sbsposet – predicate storage and coverageI sbstree – management of disjunctions of predicatesconjunctions

I Content summarisation using Bloom filters [Blo70]I not imposing any limitation on the type and content of theevents/subscriptions

I sparse Bloom filters for space complexity

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 7: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides

Publish/Subscribe Model

I Decoupled [EFGK03] communication...I ...between publishers and subscribers via routersI ...using subscriptions (conjunction of predicates)I ...and events (disjunction of predicates)I ...based on their content

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 8: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides

Publish/Subscribe Model

I Decoupled [EFGK03] communication...I ...between publishers and subscribers via routersI ...using subscriptions (conjunction of predicates)I ...and events (disjunction of predicates)I ...based on their content

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 9: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides

Publish/Subscribe Model

I Decoupled [EFGK03] communication...I ...between publishers and subscribers via routersI ...using subscriptions (conjunction of predicates)

I

movie = ”star wars”︸ ︷︷ ︸p0()

AND price < 15︸ ︷︷ ︸p1()

I ...and events (disjunction of predicates)I ...based on their content

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 10: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides

Publish/Subscribe Model

I Decoupled [EFGK03] communication...I ...between publishers and subscribers via routersI ...using subscriptions (conjunction of predicates)I ...and events (disjunction of predicates)

I

movie︸ ︷︷ ︸an0

= ”batman”︸ ︷︷ ︸av0

ORprice︸ ︷︷ ︸an1

= 15.5︸︷︷︸av1

I ...based on their content

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 11: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 6 of 27 slides

Publish/Subscribe Model

I Decoupled [EFGK03] communication...I ...between publishers and subscribers via routersI ...using subscriptions (conjunction of predicates)I ...and events (disjunction of predicates)I ...based on their content

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 12: Bloom Filter Based Routing for Content-Based Publish/Subscribe

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

Page 13: Bloom Filter Based Routing for Content-Based Publish/Subscribe

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

Page 14: Bloom Filter Based Routing for Content-Based Publish/Subscribe

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

Page 15: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides

Overview: Subscription Routing

S

PsbsposetsbstreeR

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 16: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides

Overview: Subscription Routing

S

PsbsposetsbstreeRp1 p2 p3

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 17: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides

Overview: Subscription Routing

S

PsbsposetsbstreeRp1 p2 p3

p1 p2 p3

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 18: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides

Overview: Subscription Routing

S

PsbsposetsbstreeRp1 p2 p3

p1 p2 p3bf1 bf2 bf3+ + +

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 19: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 9 of 27 slides

Overview: Subscription Routing

S

PsbsposetsbstreeRp1 p2 p3

p1 p2 p3bf1 bf2 bf3+ + +

bf1 bf2 bf3Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 20: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides

Overview: Event Forwarding

S

PsbsposetsbstreeR

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 21: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides

Overview: Event Forwarding

S

PsbsposetsbstreeR an1

av1 an2av2 an3

av3

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 22: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides

Overview: Event Forwarding

S

PsbsposetsbstreeR an1

av1 an2av2 an3av3an1av1 an2av2 an3av3

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 23: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides

Overview: Event Forwarding

S

PsbsposetsbstreeR an1

av1bfi bfj bfk+ + +

an2av2 an3

av3an1av1 an2

av2 an3av3an1

av1 an2av2 an3

av3Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 24: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 10 of 27 slides

Overview: Event Forwarding

S

PsbsposetsbstreeR an1

av1bfi bfj bfk+ + +

an2av2 an3

av3an1av1 an2

av2 an3av3an1

av1 an2av2 an3

av3 interface iinterface jBloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 25: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 11 of 27 slides

SBSPoset

I Stores subscriptions as:I disjunction of single predicatesI ordered by the coverage relation

I Every predicate is assigned a Bloom filterI which summarizes its contentI and that of covering predicates

I No limitations on the expressiveness of the subscription/eventlanguage

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 26: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides

SBSPoset: subscription storage

xnull ynull≥0.7>5 <5=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518} {5001, 5037, 8507, 8516}Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 27: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides

SBSPoset: subscription storage x>15 y>0xnull ynull≥0.7>5 <5=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518} {5001, 5037, 8507, 8516}

New subscription:

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 28: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides

SBSPoset: subscription storage x>15 y>0{5102, 8636}{6441, 10582}xnull ynull≥0.7>5 <5=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518} {5001, 5037, 8507, 8516}

New subscription:

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 29: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides

SBSPoset: subscription storage y>0{5102, 8636}{6441, 10582}xnull ynull≥0.7>5>15 <5=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{6441, 10582} {5001, 5037, 8507, 8516}

New subscription: x>15

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 30: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides

SBSPoset: subscription storage y>0{5102, 8636}{6441, 10582}xnull ynull≥0.7>5>15 <5=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516}

New subscription: x>15

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 31: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 12 of 27 slides

SBSPoset: subscription storage x>15 y>0{5102, 8636}{6441, 10582}xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

New subscription:

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 32: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 13 of 27 slides

SBSTree

I Represents the disjunction of conjunctions of subscriptions’predicates:

I stores only Bloom filters

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 33: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 14 of 27 slides

SBSTree: subscription storage

null5037 5001 6066 6441 27878516 8507 8581 10582 [email protected] [email protected] [email protected] [email protected] [email protected]>15 y>0{5102, 8636}{6441, 10582}New subscription:Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 34: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 14 of 27 slides

SBSTree: subscription storage

null5037 5001 6066 6441 27878516 8507 8581 10582 [email protected] [email protected] [email protected] [email protected] [email protected]>15 y>0{5102, 8636}{6441, 10582}New subscription:Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 35: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 14 of 27 slides

SBSTree: subscription storage

null5037 5102 5001 6066 6441 27878516 6441 8507 8581 10582 [email protected]

[email protected]@dot.com [email protected] [email protected] [email protected]>15 y>0{5102, 8636}{6441, 10582}New subscription:

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 36: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding x=7 y=-2xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event:

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 37: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding y=-2xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event: x=7

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 38: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding y=-2xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event: x=7

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 39: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding y=-2xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event: x=7

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 40: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding y=-2xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event: x=7

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 41: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding y=-2xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event: x=7{2787, 6066, 8581, 12518}

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 42: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding

xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event: x=7{2787, 6066, 8581, 12518}y=-2

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 43: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding

xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event: x=7{2787, 6066, 8581, 12518}y=-2

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 44: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding

xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event: x=7{2787, 6066, 8581, 12518}y=-2

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 45: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 15 of 27 slides

SBSPoset: event forwarding

xnull ynull≥0.7>5>15 <5 >0=0{5037, 8516}{2787, 12518}{2787, 6066, 8581, 12518}{2787, 6066, 6441, 8581, 10582, 12518} {5001, 5037, 8507, 8516} {5102, 8636}

Event: x=7{2787, 5037, 6066, 8516, 8581, 12518}y=-2

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 46: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 16 of 27 slides

SBSTree: event forwarding null5037 5102 5001 6066 6441 27878516 6441 8507 8581 10582 [email protected]

[email protected]@dot.com [email protected] [email protected] [email protected]: x=7{2787, 5037, 6066, 8516, 8581, 12518}y=-2

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 47: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 16 of 27 slides

SBSTree: event forwarding null5037 5102 5001 6066 6441 27878516 6441 8507 8581 10582 [email protected]

[email protected]@dot.com [email protected] [email protected] [email protected]: x=7{2787, 5037, 6066, 8516, 8581, 12518}y=-2

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 48: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 16 of 27 slides

SBSTree: event forwarding null5037 5102 5001 6066 6441 27878516 6441 8507 8581 10582 [email protected]

[email protected]@dot.com [email protected] [email protected] [email protected]: x=7{2787, 5037, 6066, 8516, 8581, 12518}y=-2

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 49: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 16 of 27 slides

SBSTree: event forwarding null5037 5102 5001 6066 6441 27878516 6441 8507 8581 10582 [email protected]

[email protected]@dot.com [email protected] [email protected] [email protected]: x=7{2787, 5037, 6066, 8516, 8581, 12518}y=-2

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 50: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 17 of 27 slides

Evaluation Environment

I SIENA 1.5.4I http://www.inf.unisi.ch/carzaniga/siena/

I Apache MinaI Stochastic Simulation in Java (SSJ) libraryI BloomFilter

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 51: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 17 of 27 slides

Evaluation Environment

I SIENA 1.5.4I Apache Mina

I http://mina.apache.org/I ver. 2.0.0-M1 as of 24th Jan 2008

I Stochastic Simulation in Java (SSJ) libraryI BloomFilter

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 52: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 17 of 27 slides

Evaluation Environment

I SIENA 1.5.4I Apache MinaI Stochastic Simulation in Java (SSJ) library

I umontreal.iro.lecuyer.randvar.*I umontreal.iro.lecuyer.rng.*

I BloomFilter

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 53: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 17 of 27 slides

Evaluation Environment

I SIENA 1.5.4I Apache MinaI Stochastic Simulation in Java (SSJ) libraryI BloomFilter

I http://wwwse.inf.tu-dresden.de/xsienaI Based on code by: Hongbin Liu and Arash Partow

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 54: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 18 of 27 slides

Event forwarding

10

100

1000

10000

100000

0 5000 10000 15000 20000 25000 30000

tim

e [m

s]

# filters

sienaforest

sbsposetsbstree

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 55: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 19 of 27 slides

Subscription routing

10

100

1000

10000

100000

1e+06

0 5000 10000 15000 20000 25000 30000

tim

e [m

s]

# filters

sienaforest

sbsposetsbstree

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 56: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 20 of 27 slides

TCP/IP Latency

0

200

400

600

800

1000

1200

1400

1600

0 1000 2000 3000 4000 5000 6000 7000

num

ber

of

even

ts

latency [µs]

1 broker (local)2 brokers (local)3 brokers (local)

1 broker (distributed)2 brokers (distributed)3 brokers (distributed)

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 57: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 21 of 27 slides

TCP/IP Throughput

0

2

4

6

8

10

12

14

16

18

1 2 3 4 5 6 7 8 9 10 0

2

4

6

8

10

12

K e

vents

/ s

econd

MB

/s

K events sent

local (1 broker)local (2 brokers)local (3 brokers)

distributed (1 broker)distributed (2 brokers)distributed (3 brokers)

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 58: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 22 of 27 slides

Local Throughput

0K

100K

200K

300K

400K

500K

10K 20K 30K 40K 50K 60K 70K 80K 90K 100K

events

/second

# events

unfrm distr norm distr Pareto distr

1K

10K

100K

deli

evere

d e

vents

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 59: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 23 of 27 slides

False Positives

10-6

10-5

10-4

10-3

10-2

100K 200K 300K 400K 500K 600K 700K

1000 1500 2000 2500 3000 3500 4000 4500 5000

% f

alse

posi

tives

# delivered events

# subscriptions

% false pos, log2m=12, k=4% false pos, log2m=13, k=4% false pos, log2m=13, k=5% false pos, log2m=13, k=6

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 60: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 24 of 27 slides

Bloom Filter vs Sparse Bloom Filter

103

104

105

106

0 20000 40000 60000 80000 100000 120000

mem

ory

consu

mpti

on [

KB

]

# elements inserted

Bloom filter Sparse Bloom filter

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 61: Bloom Filter Based Routing for Content-Based Publish/Subscribe

Motivation Background & Overview SBSPoset & SBSTree Evaluation Summary 25 of 27 slides

Summary

I Low latency, high throughputI Event forwarding based on Bloom filtersI No restrictions on the subscription languageI Decoupled management of predicates and their conjunctions

Bloom Filter Based Routing for Content-Based Publish/Subscribe Zbigniew Jerzak and Christof Fetzer

Page 62: Bloom Filter Based Routing for Content-Based Publish/Subscribe

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

Page 63: Bloom Filter Based Routing for Content-Based Publish/Subscribe

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-BasedSystems, 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