90
Introduction Matching and Routing Surviving Failure Summary 1 of 25 slides XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak Technisches Universit¨ at Dresden, Fakult¨ at Informatik Wednesday 30 th September, 2009 XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

XSiena: The Content-Based Publish/Subscribe System

Embed Size (px)

DESCRIPTION

This thesis shows the design and implementation of routing algorithms based on the end-to-endsystems design principle. Proposed routing algorithms obsolete the need toperform content-based routing within the publish/subscribe network, pushingthis task to the edge of the system. Moreover, this thesis presents a fail-awareapproach towards construction of the content-based publish/subscribe systemalong with its application to the creation of the soft state publish/subscribesystem. A soft state publish/subscribe system exposes the self stabilizingbehavior as far as transient timing, link and node failures are concerned. Theresult of this thesis is a family of the XSiena content-based publish/subscribesystems, implementing the proposed concepts and algorithms. The familyof the XSiena content-based publish/subscribe systems has been a subject torigorous evaluation, which confirms the claims made in this thesis.

Citation preview

Page 1: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 1 of 25 slides

XSiena: The Content-BasedPublish/Subscribe System

Zbigniew Jerzak

Technisches Universitat Dresden, Fakultat Informatik

Wednesday 30th September, 2009

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 2: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 2 of 25 slides

Outline

IntroductionEvolution of NetworkingIntroduction to Publish/Subscribe Systems

Matching and RoutingSelection and Delivery of Events

Surviving FailureSoft State Content-based Publish/Subscribe Systems

SummaryContributions of this Thesis and Dissemination

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 3: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 3 of 25 slides

Telephone Systembased on: [Jac06]

I Almon B. Strowger (1891)

I Implications:I no transmission possible

prior to path set upI path setup costs dominate

transmission costsI high probability of failure

Figure 1: The Strowger Switch – source:US patent 447918

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 4: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 3 of 25 slides

Telephone Systembased on: [Jac06]

I Almon B. Strowger (1891)

I Implications:I no transmission possible

prior to path set upI path setup costs dominate

transmission costsI high probability of failure

Figure 1: The Strowger Switch – source:US patent 447918

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 5: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 4 of 25 slides

Packet Switching

I The ideas of packet andswitching [Bar64]

I TCP/IP [CK74]

I Implications:I no support for the N-to-M

communicationI data has a location not a

content

Figure 2: Donald Davies (left) and PaulBaran (right) – source: Making TheModern World: The Early Internet

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 6: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 4 of 25 slides

Packet Switching

I The ideas of packet andswitching [Bar64]

I TCP/IP [CK74]

I Implications:I no support for the N-to-M

communicationI data has a location not a

content

Figure 2: Donald Davies (left) and PaulBaran (right) – source: Making TheModern World: The Early Internet

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 7: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 5 of 25 slides

Content-Based Publish/Subscribe [RW97]

I No explicit addressing (data is the address)

I Decoupling: space, time and synchronization [EFGK03]

I Implications:I No duplication of data flowsI Dynamism and agility

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 8: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 5 of 25 slides

Content-Based Publish/Subscribe [RW97]

I No explicit addressing (data is the address)

I Decoupling: space, time and synchronization [EFGK03]

I Implications:I No duplication of data flowsI Dynamism and agility

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 9: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 6 of 25 slides

Publish/Subscribe Systems

I Instantiation of thecontent-based networking

I Concepts:I Publishers: produce dataI Subscribers: register for

dataI Events: dataI Brokers: network

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 10: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 6 of 25 slides

Publish/Subscribe Systems

I Instantiation of thecontent-based networking

I Concepts:I Publishers: produce dataI Subscribers: register for

dataI Events: dataI Brokers: network

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 11: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 6 of 25 slides

Publish/Subscribe Systems

I Instantiation of thecontent-based networking

I Concepts:I Publishers: produce dataI Subscribers: register for

dataI Events: dataI Brokers: network

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 12: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 6 of 25 slides

Publish/Subscribe Systems

I Instantiation of thecontent-based networking

I Concepts:I Publishers: produce dataI Subscribers: register for

dataI Events: dataI Brokers: network

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 13: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 6 of 25 slides

Publish/Subscribe Systems

I Instantiation of thecontent-based networking

I Concepts:I Publishers: produce dataI Subscribers: register for

dataI Events: dataI Brokers: network

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 14: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 6 of 25 slides

Publish/Subscribe Systems

I Instantiation of thecontent-based networking

I Concepts:I Publishers: produce dataI Subscribers: register for

dataI Events: dataI Brokers: network

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 15: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 7 of 25 slides

Subscriptions and Events

I Event: a set of values ani = avitemp︸ ︷︷ ︸an0

= 20︸︷︷︸av0

; press︸ ︷︷ ︸an1

= 1025︸︷︷︸av1

I Subscription: a conjunction of predicates pi ()

temp > 30︸ ︷︷ ︸p0()

AND press < 900︸ ︷︷ ︸p1()

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 16: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 7 of 25 slides

Subscriptions and Events

I Event: a set of values ani = avitemp︸ ︷︷ ︸an0

= 20︸︷︷︸av0

; press︸ ︷︷ ︸an1

= 1025︸︷︷︸av1

I Subscription: a conjunction of predicates pi ()

temp > 30︸ ︷︷ ︸p0()

AND press < 900︸ ︷︷ ︸p1()

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 17: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 18: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 19: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 20: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 21: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 22: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 23: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 24: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 25: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 26: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 27: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 28: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 29: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 30: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 31: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 32: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 33: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 34: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 35: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 36: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 8 of 25 slides

Content-Based Matching and Routing

I Two main routing schemes:I subscription-basedI advertisement-based

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 37: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 9 of 25 slides

Matching and Routing Issues

I Problem: evaluate every subscription/advertisement withevery event at every broker

I Solution: reuse matching results [JF07, JF08]I Only one content-based match per event

1. Disseminate subscriptions

2. Match events against subscriptions in the 1st broker

3. Piggyback (and reuse) match results on the event

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 38: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 9 of 25 slides

Matching and Routing Issues

I Problem: evaluate every subscription/advertisement withevery event at every broker

I Solution: reuse matching results [JF07, JF08]I Only one content-based match per event

1. Disseminate subscriptions

2. Match events against subscriptions in the 1st broker

3. Piggyback (and reuse) match results on the event

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 39: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 9 of 25 slides

Matching and Routing Issues

I Problem: evaluate every subscription/advertisement withevery event at every broker

I Solution: reuse matching results [JF07, JF08]I Only one content-based match per event

1. Disseminate subscriptions

2. Match events against subscriptions in the 1st broker

3. Piggyback (and reuse) match results on the event

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 40: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 10 of 25 slides

Bloom Filter-Based Routing

1. Subscription routing

2. Event publication

3. Content-based matching

4. Match results encoding

5. Event forwarding

6. Encoding-based matching

7. Delivery

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 41: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 10 of 25 slides

Bloom Filter-Based Routing

1. Subscription routing

2. Event publication

3. Content-based matching

4. Match results encoding

5. Event forwarding

6. Encoding-based matching

7. Delivery

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 42: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 10 of 25 slides

Bloom Filter-Based Routing

1. Subscription routing

2. Event publication

3. Content-based matching

4. Match results encoding

5. Event forwarding

6. Encoding-based matching

7. Delivery

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 43: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 10 of 25 slides

Bloom Filter-Based Routing

1. Subscription routing

2. Event publication

3. Content-based matching

4. Match results encoding

5. Event forwarding

6. Encoding-based matching

7. Delivery

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 44: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 10 of 25 slides

Bloom Filter-Based Routing

1. Subscription routing

2. Event publication

3. Content-based matching

4. Match results encoding

5. Event forwarding

6. Encoding-based matching

7. Delivery

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 45: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 10 of 25 slides

Bloom Filter-Based Routing

1. Subscription routing

2. Event publication

3. Content-based matching

4. Match results encoding

5. Event forwarding

6. Encoding-based matching

7. Delivery

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 46: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 10 of 25 slides

Bloom Filter-Based Routing

1. Subscription routing

2. Event publication

3. Content-based matching

4. Match results encoding

5. Event forwarding

6. Encoding-based matching

7. Delivery

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 47: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 10 of 25 slides

Bloom Filter-Based Routing

1. Subscription routing

2. Event publication

3. Content-based matching

4. Match results encoding

5. Event forwarding

6. Encoding-based matching

7. Delivery

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 48: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 10 of 25 slides

Bloom Filter-Based Routing

1. Subscription routing

2. Event publication

3. Content-based matching

4. Match results encoding

5. Event forwarding

6. Encoding-based matching

7. Delivery

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 49: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 11 of 25 slides

Matching with Bloom Filters [Blo70]

I Two phase approach:

1. Encode matching result for every predicate:

∀{ani ,avj}∈e,pk∈S : pk({ani , avj}) = 1 ⇒ bfe ← h(pk)

2. Check if matching predicates form a subscription

∀pk∈bfe ,si inS : si = {pk} ⇒ select si

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 50: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 11 of 25 slides

Matching with Bloom Filters [Blo70]

I Two phase approach:

1. Encode matching result for every predicate:

∀{ani ,avj}∈e,pk∈S : pk({ani , avj}) = 1 ⇒ bfe ← h(pk)

2. Check if matching predicates form a subscription

∀pk∈bfe ,si inS : si = {pk} ⇒ select si

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 51: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 12 of 25 slides

Result

0

200

400

600

800

1000

1200

2 4 6 8 10 12 14 16 18 20 400

410

420

430

440

450m

atch

tim

e [m

s]

avg b

its

/ ev

ent

number of filters (1000s)

match speed (counting)match speed (sbstree)

avg bits / event (counting)avg bits / event (sbstree)

Figure 3: Matching does not depend on the number of filters

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 52: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 13 of 25 slides

The Need for the Soft State

I Problem: transient failures in a distributed systemI Solution: soft state

I can be lost without permanent disruption of systemfeatures [Cla88]

I broker crash =⇒ loss only of the state owned by it

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 53: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 14 of 25 slides

Goal of the Soft State [JF09]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 54: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 14 of 25 slides

Goal of the Soft State [JF09]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 55: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 14 of 25 slides

Goal of the Soft State [JF09]

I Problem: existing approaches are not realisticI Solution: use a practical system model [CF99]:

I realistic assumptions about the type and frequency of failuresI implementation in a real, distributed environment (PlanetLab)

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 56: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 15 of 25 slides

Our Approachbased on: [MJH+05]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 57: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 15 of 25 slides

Our Approachbased on: [MJH+05]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 58: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 15 of 25 slides

Our Approachbased on: [MJH+05]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 59: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 15 of 25 slides

Our Approachbased on: [MJH+05]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 60: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 15 of 25 slides

Our Approachbased on: [MJH+05]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 61: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 15 of 25 slides

Our Approachbased on: [MJH+05]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 62: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 15 of 25 slides

Our Approachbased on: [MJH+05]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 63: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 15 of 25 slides

Our Approachbased on: [MJH+05]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 64: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 15 of 25 slides

Our Approachbased on: [MJH+05]

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 65: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 16 of 25 slides

Challenges I

0.25

0.5

0.75

1

10-1

100

101

102

103

104

CD

F

rtt [ms]

LAN: inf.tu-dresden.deMAN: tu-dresden.de

WAN: tu-dresden->tu-berlin

Figure 4: Network latencies cannot be predicted, nor bounded!

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 66: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 16 of 25 slides

Challenges I

0.25

0.5

0.75

1

100

101

102

103

104

105

CD

F

request processing time [µs]

Lab PCPlanetLab node

Figure 4: Request processing times cannot be predicted, nor bounded!

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 67: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 68: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 69: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 70: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 71: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 72: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 73: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 74: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 75: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 76: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 17 of 25 slides

Challenges II

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 77: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 18 of 25 slides

Solution

Use upper bound on message propagation delayto estimate the link uncertainty

I Link uncertainty:I a measure of the link latency variationI calculated using upper bound on propagation delay [JFF07]I [ubmax − ubmin]window

Extend the advertisement/subscription validityusing calculated link uncertainty

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 78: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 18 of 25 slides

Solution

Use upper bound on message propagation delayto estimate the link uncertainty

I Link uncertainty:I a measure of the link latency variationI calculated using upper bound on propagation delay [JFF07]I [ubmax − ubmin]window

Extend the advertisement/subscription validityusing calculated link uncertainty

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 79: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 18 of 25 slides

Solution

Use upper bound on message propagation delayto estimate the link uncertainty

I Link uncertainty:I a measure of the link latency variationI calculated using upper bound on propagation delay [JFF07]I [ubmax − ubmin]window

Extend the advertisement/subscription validityusing calculated link uncertainty

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 80: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 19 of 25 slides

Extending the Lease Time

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 81: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 19 of 25 slides

Extending the Lease Time

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 82: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 19 of 25 slides

Extending the Lease Time

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 83: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 19 of 25 slides

Extending the Lease Time

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 84: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 19 of 25 slides

Extending the Lease Time

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 85: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 20 of 25 slides

Result

0

20

40

60

80

100

1 10 100

tota

l ti

me w

ith

ou

t ad

vert

isem

en

t [%

]

time [s]

uoit.ca - extuoit.ca - noext

hiit.fi - exthiit.fi - noext

Figure 5: Decreased total time without advertisement

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 86: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 21 of 25 slides

Summary

I Content-based matching in the application layer [JF07, JF08]

I Fail-aware soft state system [JFF07, JF09]

I Contributed to StreamMine [FBFJ]

I XSiena: http://wwwse.inf.tu-dresden.de/xsiena/

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 87: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 22 of 25 slides

Thank You!

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 88: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 23 of 25 slides

References I

Paul Baran.

On distributed communications networks.IEEE Transactions on Communications Systems, 12(1):1–9, March 1964.

Burton H. Bloom.

Space/time trade-offs in hash coding with allowable errors.Communications of the ACM, 13(7):422–426, 1970.

Flaviu Cristian and Christof Fetzer.

The timed asynchronous distributed system model.IEEE Transactions on Parallel and Distributed Systems, 10(6):642–657, June 1999.

Vinton G. Cerf and Robert E. Kahn.

A protocol for packet network intercommunication.IEEE Transactions on Communications, 22(5):637–648, May 1974.

D. Clark.

The design philosophy of the DARPA internet protocols.In SIGCOMM ’88: Symposium proceedings on Communications architectures and protocols, pages 106–114,New York, NY, USA, 1988. ACM.

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.

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 89: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 24 of 25 slides

References II

Christof Fetzer, Andrey Brito, Robert Fach, and Zbigniew Jerzak.

To appear in: Handbook of Research on Advanced Distributed Event-Based Systems, Publish/Subscribeand Message Filtering Technologies, chapter StreamMine.IGI Global.

Van Jacobson.

A new way to look at networking.In Google Tech Talk, August 2006.

Zbigniew Jerzak and Christof Fetzer.

Prefix forwarding for publish/subscribe.In Hans-Arno Jacobsen, Gero Muhl, and Michael A. Jaeger, editors, DEBS ’07: Proceedings of the 2007Inaugural International Conference on Distributed Event-Based Systems, volume 233 of ACM InternationalConference Proceeding Series, pages 238–249, Toronto, Ontario, Canada, June 2007. ACM.

Zbigniew Jerzak and Christof Fetzer.

Bloom filter based routing for content-based publish/subscribe.In Roberto Baldoni, editor, DEBS ’08: Proceedings of the second international conference on Distributedevent-based systems, volume 332 of ACM International Conference Proceeding Series, pages 71–81, Rome,Italy, July 2008. ACM.

Zbigniew Jerzak and Christof Fetzer.

Soft state in publish/subscribe.In DEBS ’09: Proceedings of the third international conference on Distributed Event-Based Systems,Nashville, TN, USA, July 2009. ACM.

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak

Page 90: XSiena: The Content-Based Publish/Subscribe System

Introduction Matching and Routing Surviving Failure Summary 25 of 25 slides

References III

Zbigniew Jerzak, Robert Fach, and Christof Fetzer.

Fail-aware publish/subscribe.In NCA ’07: Proceedings of the Sixth IEEE International Symposium on Network Computing andApplications, pages 113–125, Cambridge, MA, USA, July 2007. IEEE Computer Society.

Gero Muhl, Michael A. Jaeger, Klaus Herrmann, Torben Weis, Andreas Ulbrich, and Ludger Fiege.

Self-stabilizing publish/subscribe systems: Algorithms and evaluation.In Euro-Par 2005 Parallel Processing, volume 3648/2005, pages 664–674. Springer Berlin / Heidelberg,2005.

David S. Rosenblum and Alexander L. Wolf.

A design framework for internet-scale event observation and notification.In Mehdi Jazayeri and Helmut Schauer, editors, 6th European Software Engineering Conference Held Jointlywith the 5th ACM SIGSOFT Symposium on Foundations of Software Engineering, volume 1301 of LectureNotes in Computer Science, pages 344–360, Zurich, Switzerland, September 1997. ACM.

XSiena: The Content-Based Publish/Subscribe System Zbigniew Jerzak