sven bittner, 28 november 2006 department of computer science the university of waikato, new zealand...

34
Sven Bittner, 28 November 2006 Sven Bittner, 28 November 2006 Department of Computer Science Department of Computer Science The University of Waikato, New Zealand The University of Waikato, New Zealand Supporting Arbitrary Supporting Arbitrary Boolean Subscriptions Boolean Subscriptions in Distributed in Distributed Publish/Subscribe Publish/Subscribe Systems Systems ch is partially funded by the NZ Government under ch is partially funded by the NZ Government under land International Doctoral Research Scholarships (NZIDRS) programme. land International Doctoral Research Scholarships (NZIDRS) programme.

Upload: dustin-rose

Post on 13-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

Sven Bittner, 28 November 2006Sven Bittner, 28 November 2006Department of Computer ScienceDepartment of Computer Science

The University of Waikato, New ZealandThe University of Waikato, New Zealand

Talk at the 3rd International Middleware Doctoral Symposium Talk at the 3rd International Middleware Doctoral Symposium (MDS 2006)(MDS 2006)

Supporting Arbitrary Supporting Arbitrary Boolean Subscriptions in Boolean Subscriptions in

Distributed Distributed Publish/Subscribe SystemsPublish/Subscribe Systems

This research is partially funded by the NZ Government under This research is partially funded by the NZ Government under

the New Zealand International Doctoral Research Scholarships (NZIDRS) programme.the New Zealand International Doctoral Research Scholarships (NZIDRS) programme.

Page 2: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

22/32/32

Structure of TalkStructure of Talk• Motivation: Publish/SubscribeMotivation: Publish/Subscribe

• Problem DescriptionProblem Description

• Filtering in Central ComponentsFiltering in Central Components

• Routing in the Distributed SystemRouting in the Distributed System

• Summary and OutlookSummary and OutlookSven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub Sven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub SystemsSystems

Page 3: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

33/32/32

Publish/Subscribe SystemsPublish/Subscribe SystemsPublishersPublishers SubscribersSubscribersPub/sub systemPub/sub system

PublishPublish

event event

messagesmessages

RegisterRegister

subscriptionssubscriptions

SendsSends

notificationsnotifications

BB77BB99

…… ……

…… ……

Routing tableRouting table

… …… …

Routing tableRouting table

… …… …

MotivationMotivation Problem Definition Central Filtering Routing Optimizations Problem Definition Central Filtering Routing Optimizations SummarySummary

SubscriptionSubscription

index structuresindex structures

Filtering and routingFiltering and routing

BB11

BB22

BB33

BB44 BB55

BB66

BB88

Page 4: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

44/32/32

Messages & SubscriptionsMessages & Subscriptions• Event messagesEvent messages

– Describe a state change/real-world eventDescribe a state change/real-world event– Attribute-value pairsAttribute-value pairs

• SubscriptionsSubscriptions– Describe Describe interestsinterests– Arbitrary Boolean Arbitrary Boolean

combination of combination of predicates predicates

title: Harry Potter; endingWithin: 6 hours; condition: new; price: 15.00

MotivationMotivation Problem Definition Central Filtering Routing Optimizations Problem Definition Central Filtering Routing Optimizations SummarySummary

title like “Harry Potter”

AND

condition = NEW condition = USEDprice < 10.0price < 15.0

AND AND

OR

ANDAND

condition = NEW condition = USEDprice < 10.0price < 15.0

AND AND

OR

condition = NEW condition = USEDprice < 10.0price < 15.0

AND AND

OR endingWithin < 1 dayendingWithin < 1 day

Page 5: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

55/32/32

Context: FilteringContext: Filtering• Filtering algorithmFiltering algorithm

– Determination of all subscriptions Determination of all subscriptions matching matching an an incomingincoming event message event message (messages not stored)(messages not stored)

– IndexationIndexation of subscriptions and of subscriptions and predicatespredicates

– Support of required Support of required subscription subscription languagelanguage (Boolean) (Boolean)

…… ………… ………… ……

Routing tableRouting table

…… …… …… ………… ………… ……Routing tableRouting table

…… ……

MotivationMotivation Problem Definition Central Filtering Routing Optimizations Problem Definition Central Filtering Routing Optimizations SummarySummary

Page 6: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

66/32/32

Context: RoutingContext: Routing• Routing algorithmRouting algorithm

– Determination of all Determination of all brokers brokers with matching with matching subscriptionssubscriptions

– DistributionDistribution of subscriptions to build of subscriptions to build event routing tablesevent routing tables

– SubscriptionsSubscriptions as as routing entriesrouting entries (where to route messages)(where to route messages)

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

MotivationMotivation Problem Definition Central Filtering Routing Optimizations Problem Definition Central Filtering Routing Optimizations SummarySummary

Page 7: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

77/32/32

Context: Routing Context: Routing OptimizationOptimization

• Optimization goalOptimization goal

– ImprovementImprovement of routing process, e.g., of routing process, e.g.,• Higher Higher throughputthroughput• Less Less memorymemory for routing tables for routing tables

• ManipulationManipulation of of

routing routing entriesentries

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

MotivationMotivation Problem Definition Central Filtering Routing Optimizations Problem Definition Central Filtering Routing Optimizations SummarySummary

Routing tableRouting tableSS11

SS99

BB22

BB33…………

Page 8: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

88/32/32

Structure of TalkStructure of Talk• Motivation: Publish/SubscribeMotivation: Publish/Subscribe

• Problem DescriptionProblem Description

• Filtering in Central ComponentsFiltering in Central Components

• Routing in the Distributed SystemRouting in the Distributed System

• Summary and OutlookSummary and OutlookSven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub Sven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub SystemsSystems

Page 9: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

99/32/32

Current Approaches (1)Current Approaches (1)• ObservationsObservations

– CurrentCurrent systems only support systems only support conjunctiveconjunctive subscriptions subscriptions

– Restrictions Restrictions exploited exploited inin• Filtering algorithmsFiltering algorithms• Routing optimizationsRouting optimizations

No consideration of other operators in No consideration of other operators in subscriptionssubscriptions

Motivation Motivation Problem DefinitionProblem Definition Central Filtering Routing Optimizations Central Filtering Routing Optimizations SummarySummary

Page 10: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1010/32/32

Current Approaches (2)Current Approaches (2)• MotivationMotivation

– ArbitraryArbitrary Boolean subscriptions can be Boolean subscriptions can be converted to converted to DNF DNF (exponential in size)(exponential in size)

– Every Every conjunctionconjunction is handled as is handled as separateseparate subscription subscription

Approach as in Approach as in databasedatabase management management systems (conversion of query restrictions)systems (conversion of query restrictions)

Motivation Motivation Problem DefinitionProblem Definition Central Filtering Routing Optimizations Central Filtering Routing Optimizations SummarySummary

Page 11: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1111/32/32

Publish/Subscribe vs. DBMS Publish/Subscribe vs. DBMS (1)(1)

• Important differences: Important differences:

– Number of Number of simultaneoussimultaneous “data requests” “data requests”• DBMSs: relatively small number of queriesDBMSs: relatively small number of queries• Pub/sub systems: large number of subscriptionsPub/sub systems: large number of subscriptions Even higher load after conversionEven higher load after conversion

– Query processingQuery processing• DBMSs: query DBMSs: query optimizationoptimization on canonical form on canonical form

based on based on known dataknown data (access plans, cost (access plans, cost estimation, etc.)estimation, etc.)

• Pub/sub systems: events are Pub/sub systems: events are unknownunknown, no , no optimization appliedoptimization applied

Motivation Motivation Problem DefinitionProblem Definition Central Filtering Routing Optimizations Central Filtering Routing Optimizations SummarySummary

Page 12: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1212/32/32

Publish/Subscribe vs. DBMS Publish/Subscribe vs. DBMS (2)(2)

• Considering data storage: Considering data storage:

– Subscriptions Subscriptions queries queries– DataData (base) (base) subscriptionsubscription (base) (base)– QueriesQueries event messagesevent messages

• Messages are in canonical form (attribute-value Messages are in canonical form (attribute-value pairs)pairs)

• So, why converting subscriptions as well?So, why converting subscriptions as well?

QuestionableQuestionable whether to take whether to take conversionconversion approach in pub/sub approach in pub/sub (problem size explosion)(problem size explosion)

Motivation Motivation Problem DefinitionProblem Definition Central Filtering Routing Optimizations Central Filtering Routing Optimizations SummarySummary

Page 13: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1313/32/32

HypothesisHypothesis

The The internalinternal support of support of arbitraryarbitrary Boolean subscriptions Boolean subscriptions

reducesreduces the the memorymemory requirements requirements

compared to current conjunctive compared to current conjunctive solutionssolutions

without degradingwithout degrading the system the system efficiency.efficiency.

Motivation Motivation Problem DefinitionProblem Definition Central Filtering Routing Optimizations Central Filtering Routing Optimizations SummarySummary

Page 14: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1414/32/32

Steps to TakeSteps to Take

• Development and analysis ofDevelopment and analysis of

– FilteringFiltering algorithm ( algorithm (central broker central broker componentscomponents))

– Routing Routing optimizationoptimization ( (distributed systemdistributed system))Motivation Motivation Problem DefinitionProblem Definition Central Filtering Routing Optimizations Central Filtering Routing Optimizations SummarySummary

…… ………… ………… ……

Routing tableRouting table

…… …… …… ………… ………… ……

Routing tableRouting table

…… ……

Page 15: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1515/32/32

Structure of TalkStructure of Talk• Motivation: Publish/SubscribeMotivation: Publish/Subscribe

• Problem DescriptionProblem Description

• Filtering in Central ComponentsFiltering in Central Components

• Routing in the Distributed SystemRouting in the Distributed System

• Summary and OutlookSummary and OutlookSven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub Sven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub SystemsSystems

Page 16: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1616/32/32

Steps Undertaken (1)Steps Undertaken (1)1.1. ApplicationApplication scenario analysis scenario analysis

[BH06b]: online auctions[BH06b]: online auctions

– Analysis of Analysis of distributionsdistributions on eBay on eBay– Identification of typical Identification of typical subscription subscription

classesclasses

Semi-realistic data setSemi-realistic data set Used in later analysisUsed in later analysis

Motivation Problem Definition Motivation Problem Definition Central FilteringCentral Filtering Routing Optimizations Routing Optimizations SummarySummary

…… ………… ………… ……

Routing tableRouting table

…… …… …… ………… ………… ……

Routing tableRouting table

…… ……

Page 17: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1717/32/32

Steps Undertaken (2)Steps Undertaken (2)2.2. FilteringFiltering algorithm for arbitrary algorithm for arbitrary

Boolean subscriptions Boolean subscriptions [BH05a][BH05a]

– GenericGeneric solution solution– ExtendsExtends general-purpose conjunctive general-purpose conjunctive

counting algorithm counting algorithm [YGM94, AJL02][YGM94, AJL02]

– Filters on conjunctions the same way as Filters on conjunctions the same way as counting approachcounting approach

Motivation Problem Definition Motivation Problem Definition Central FilteringCentral Filtering Routing Optimizations Routing Optimizations SummarySummary

…… ………… ………… ……

Routing tableRouting table

…… …… …… ………… ………… ……

Routing tableRouting table

…… ……

Page 18: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1818/32/32

Steps Undertaken (3)Steps Undertaken (3)3.3. CharacterizationCharacterization scheme and scheme and

memory analysis memory analysis [BH05b][BH05b]

– Description of subscription patternsDescription of subscription patterns– Analysis of counting, cluster Analysis of counting, cluster [HCKW90, [HCKW90,

FJLFJL++01]01] and Boolean approach and Boolean approach– Determination of Determination of pointpoint where Boolean where Boolean

approach requires less memoryapproach requires less memory

Already Already oneone disjunction disjunction might might favorfavor Boolean approach Boolean approach

Motivation Problem Definition Motivation Problem Definition Central FilteringCentral Filtering Routing Optimizations Routing Optimizations SummarySummary

…… ………… ………… ……

Routing tableRouting table

…… …… …… ………… ………… ……

Routing tableRouting table

…… ……

Page 19: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

1919/32/32

Steps Undertaken (4)Steps Undertaken (4)4.4. PracticalPractical VerificationVerification/Efficiency /Efficiency

AnalysisAnalysis

– ConfirmationConfirmation of theoretical results of theoretical results– EfficiencyEfficiency is is similarsimilar to counting approach to counting approach

SummarySummary: Boolean solution: Boolean solution

– More space efficientMore space efficient filtering filtering– Similar time efficiencySimilar time efficiency properties properties – Scheme helps with decision Scheme helps with decision

Boolean/conjunctive algorithmBoolean/conjunctive algorithmMotivation Problem Definition Motivation Problem Definition Central FilteringCentral Filtering Routing Optimizations Routing Optimizations SummarySummary

…… ………… ………… ……

Routing tableRouting table

…… …… …… ………… ………… ……

Routing tableRouting table

…… ……

Page 20: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2020/32/32

Structure of TalkStructure of Talk• Motivation: Publish/SubscribeMotivation: Publish/Subscribe

• Problem DescriptionProblem Description

• Filtering in Central ComponentsFiltering in Central Components

• Routing in the Distributed SystemRouting in the Distributed System

• Summary and OutlookSummary and OutlookSven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub Sven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub SystemsSystems

Page 21: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2121/32/32

Subscription Pruning (1)Subscription Pruning (1)• Idea of pruning Idea of pruning [BH06a][BH06a]

Motivation Problem Definition Central Filtering Motivation Problem Definition Central Filtering Routing OptimizationsRouting Optimizations SummarySummary

title like “Harry Potter” endingWithin < 1 day

condition = NEW price < 15.0

AND

OR

condition = USEDAND

AND

OR

title like “Harry Potter” endingWithin < 1 day

condition = NEW price < 10.0price < 15.0

AND AND

OR

condition = USED

AND AND

AND

OR

PruningPruning

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

– RemoveRemove parts of parts ofsubscription treessubscription trees

Creates Creates more more general general subscriptionsubscription

Page 22: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2222/32/32

Subscription Pruning (2)Subscription Pruning (2)

– Less complexLess complex (time and space) (time and space) subscriptions (subscriptions (++))

– More eventsMore events forwarded (forwarded (−−)) title like “Harry Potter” endingWithin < 1 day

condition = NEW price < 15.0

AND

OR

condition = USEDAND

AND

OR

title like “Harry Potter” endingWithin < 1 day

condition = NEW price < 10.0price < 15.0

AND AND

OR

condition = USED

AND AND

AND

OR

PruningPruning

• Consequences of pruningConsequences of pruning

Motivation Problem Definition Central Filtering Motivation Problem Definition Central Filtering Routing OptimizationsRouting Optimizations SummarySummary

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

Page 23: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2323/32/32

Application of Pruning (1)Application of Pruning (1)• PruningPruning of routing of routing entriesentries

Routing tableRouting table Routing tableRouting table Routing tableRouting table

Routing tableRouting table

Routing tableRouting tableRouting tableRouting table Routing tableRouting tableRouting tableRouting table Routing tableRouting tableRouting tableRouting table

Routing tableRouting tableRouting tableRouting table

Un-optimized routing:Un-optimized routing:

Routing tableRouting table Routing tableRouting tableRouting tableRouting table

Routing tableRouting tableSubscriberSubscriber

Motivation Problem Definition Central Filtering Motivation Problem Definition Central Filtering Routing OptimizationsRouting Optimizations SummarySummary

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

Page 24: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2424/32/32

Application of Pruning (2)Application of Pruning (2)• PruningPruning of routing of routing entriesentries

Routing tableRouting table Routing tableRouting tableRouting tableRouting table

Routing tableRouting tableSubscriberSubscriber

No pruningNo pruning in in locallocal brokerbroker Ensure Ensure correctcorrect filteringfiltering

Motivation Problem Definition Central Filtering Motivation Problem Definition Central Filtering Routing OptimizationsRouting Optimizations SummarySummary

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

Page 25: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2525/32/32

Application of Pruning (3)Application of Pruning (3)• PruningPruning of routing of routing entriesentries

Routing tableRouting table Routing tableRouting tableRouting tableRouting table

Routing tableRouting table

Less complexLess complex subscriptions subscriptions More More timetime and and spacespace efficientefficient routingrouting

SubscriberSubscriber

Motivation Problem Definition Central Filtering Motivation Problem Definition Central Filtering Routing OptimizationsRouting Optimizations SummarySummary

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

Page 26: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2626/32/32

Application of Pruning (4)Application of Pruning (4)• PruningPruning of routing of routing entriesentries

Routing tableRouting table Routing tableRouting tableRouting tableRouting table

Routing tableRouting table

But But more generalmore general subscriptions subscriptions More forwardedMore forwarded event messages (false event messages (false positives)positives) MoreMore event messages to event messages to route/processroute/process

SubscriberSubscriber

Motivation Problem Definition Central Filtering Motivation Problem Definition Central Filtering Routing OptimizationsRouting Optimizations SummarySummary

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

Page 27: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2727/32/32

Practical PruningPractical Pruning• QuestionQuestion

What subscriptionWhat subscription and and what partwhat part of its of its subscription tree should be pruned first?subscription tree should be pruned first?

• AnswerAnswer– Four Four heuristicsheuristics [BH06c][BH06c] based on influence based on influence

onon• MemoryMemory usage usage• Filter Filter efficiencyefficiency• NetworkNetwork load (selectivity) load (selectivity)• NetworkNetwork load (selectivity & popularity) load (selectivity & popularity)

Motivation Problem Definition Central Filtering Motivation Problem Definition Central Filtering Routing OptimizationsRouting Optimizations SummarySummary

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

Page 28: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2828/32/32

Experiments (In Progress)Experiments (In Progress)

• Evaluation in online auction settingEvaluation in online auction setting

• Different Different distributions distributions in subscriptionsin subscriptions

• ApplicabilityApplicability to to conjunctiveconjunctive subscriptionssubscriptions

• ComparisonComparison to to conjunctiveconjunctive routing routing optimizationoptimization

Motivation Problem Definition Central Filtering Motivation Problem Definition Central Filtering Routing OptimizationsRouting Optimizations SummarySummary

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

Page 29: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

2929/32/32

Structure of TalkStructure of Talk• Motivation: Publish/SubscribeMotivation: Publish/Subscribe

• Problem DescriptionProblem Description

• Filtering in Central ComponentsFiltering in Central Components

• Routing in the Distributed SystemRouting in the Distributed System

• Summary and OutlookSummary and OutlookSven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub Sven Bittner – Supporting Arbitrary Boolean Subscriptions in Distributed Pub/Sub SystemsSystems

Page 30: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

3030/32/32

SummarySummary• MotivationMotivation

– Publish/subscribe systemsPublish/subscribe systems– Online Online auctionauction scenario scenarioNeed for Need for arbitraryarbitrary BooleanBoolean subscriptions subscriptions

• Problem definitionProblem definition– Only conjunctions supportedOnly conjunctions supported– Conversion adopted from DBMSsConversion adopted from DBMSs– Does Does conversionconversion make make sensesense??– HypothesisHypothesis: : NoNo, if disjunctions occur!, if disjunctions occur!

Motivation Problem Definition Central Filtering Routing Optimizations Motivation Problem Definition Central Filtering Routing Optimizations SummarySummary

Page 31: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

3131/32/32

SummarySummary• Central broker componentsCentral broker components

– Boolean Filtering Boolean Filtering algorithmalgorithm– CharacterizationCharacterization scheme scheme– AnalysisAnalysis, , comparisoncomparison, and , and verificationverification

Boolean approach is favorableBoolean approach is favorable

• Distributed systemDistributed system– Novel optimization: Novel optimization: subscription subscription

pruningpruning– First Experiments: First Experiments: valuablevaluable optimization optimization

• Memory requirements Memory requirements , throughput , throughput Motivation Problem Definition Central Filtering Routing Optimizations Motivation Problem Definition Central Filtering Routing Optimizations SummarySummary

…… ………… ………… ……

Routing tableRouting table

…… …… …… ………… ………… ……Routing tableRouting table

…… ……

…… ………… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ……

Routing tableRouting table

…… ……Routing tableRouting table

…… ………… ………… ……

Page 32: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

3232/32/32

Future WorkFuture Work• Future workFuture work

– WritingWriting up up– Finish Finish experimentsexperiments– Heuristic based on Heuristic based on multicriteriamulticriteria

optimizationoptimization

• Future work (not within PhD)Future work (not within PhD)– Analyze Analyze other applicationsother applications– OptimizeOptimize solutions solutions– Open source prototypeOpen source prototype

Motivation Problem Definition Central Filtering Routing Optimizations Motivation Problem Definition Central Filtering Routing Optimizations SummarySummary

Page 33: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

Sven Bittner, [email protected] Bittner, [email protected]

Talk: Supporting Arbitrary Boolean Subscriptions Talk: Supporting Arbitrary Boolean Subscriptions

in Distributed Publish/Subscribe Systemsin Distributed Publish/Subscribe Systems

Selected further reading:Selected further reading:

[BH05a][BH05a] S. Bittner and A. Hinze. On the Benefits of Non-Canonical Filtering in S. Bittner and A. Hinze. On the Benefits of Non-Canonical Filtering in Publish/Subscribe Systems. In Publish/Subscribe Systems. In Proceedings of the 25th IEEE International Conference on Proceedings of the 25th IEEE International Conference on Distributed Computing Systems Workshops (ICDCSW '05)Distributed Computing Systems Workshops (ICDCSW '05), Columbus, USA, June 2005. , Columbus, USA, June 2005.

[BH05b][BH05b] S. Bittner and A. Hinze. A Detailed Investigation of Memory Requirements for S. Bittner and A. Hinze. A Detailed Investigation of Memory Requirements for Pub/Sub Filtering Algorithms. In Pub/Sub Filtering Algorithms. In Proceedings of the 13th International Conference on Proceedings of the 13th International Conference on Cooperative Information Systems (CoopIS 2005)Cooperative Information Systems (CoopIS 2005), Agia Napa, Cyprus, 31 October-4 , Agia Napa, Cyprus, 31 October-4 November, 2005.November, 2005.

[BH06a][BH06a] S. Bittner and A. Hinze. Pruning Subscriptions in Distributed Pub/Sub Systems. In S. Bittner and A. Hinze. Pruning Subscriptions in Distributed Pub/Sub Systems. In Proc. of the 29th Austral. Computer Science Conference (ACSC 2006)Proc. of the 29th Austral. Computer Science Conference (ACSC 2006), Hobart, Australia, , Hobart, Australia, 16-19 January, 2006.16-19 January, 2006.

[BH06b][BH06b] S. Bittner and A. Hinze. Event Distributions in Online Book Auctions. Technical Report S. Bittner and A. Hinze. Event Distributions in Online Book Auctions. Technical Report 03/2006. Computer Science Department, Waikato University, New Zealand, February 2006.03/2006. Computer Science Department, Waikato University, New Zealand, February 2006.

[BH06c][BH06c] S. Bittner and A. Hinze. Dimension-Based Subscription Pruning for Publish/Subscribe S. Bittner and A. Hinze. Dimension-Based Subscription Pruning for Publish/Subscribe Systems. In Systems. In Proceedings of the 26th IEEE International Conference on Distributed Proceedings of the 26th IEEE International Conference on Distributed Computing Systems Workshops (ICDCSW '06)Computing Systems Workshops (ICDCSW '06), Lisbon, Portugal, July 2006. , Lisbon, Portugal, July 2006.

[BH06d][BH06d] S. Bittner and A. Hinze. Optimizing Pub/Sub Systems by Advertisement Pruning. In S. Bittner and A. Hinze. Optimizing Pub/Sub Systems by Advertisement Pruning. In Proceedings of the 8th International Symposium on Distributed Objects and Applications Proceedings of the 8th International Symposium on Distributed Objects and Applications (DOA 2006)(DOA 2006), Montpellier, France, 30 October-1 November 2006., Montpellier, France, 30 October-1 November 2006.

Thank you for your attention!Thank you for your attention!

Page 34: Sven Bittner, 28 November 2006 Department of Computer Science The University of Waikato, New Zealand Talk at the 3rd International Middleware Doctoral

3434/32/32

Selected Other ReferencesSelected Other References[AJL02][AJL02] G. Ashayer, H.-A. Jacobsen, and H. Leung. Predicate Matching and Subscription Matching G. Ashayer, H.-A. Jacobsen, and H. Leung. Predicate Matching and Subscription Matching

in Publish/Subscribe Systems. In in Publish/Subscribe Systems. In Proceedings of the 22nd IEEE International Conference on Proceedings of the 22nd IEEE International Conference on Distributed Computing Systems Workshops (ICDCSW '02)Distributed Computing Systems Workshops (ICDCSW '02), Vienna, Austria, July 2-5 2002. , Vienna, Austria, July 2-5 2002.

[CRW01][CRW01] A. Carzaniga, D. S. Rosenblum, and A. L. Wolf. Design and Evaluation of a Wide-Area A. Carzaniga, D. S. Rosenblum, and A. L. Wolf. Design and Evaluation of a Wide-Area Event Notification Service. Event Notification Service. ACM Transactions on Computer Systems (TOCS)ACM Transactions on Computer Systems (TOCS), 19(3):332-383, , 19(3):332-383, 2001.2001.

[[FJLFJL++01]01] F. Fabret, A. Jacobsen, F. Llirbat, J. Pereira, K. Ross, and D. Shasha. Filtering Algorithms F. Fabret, A. Jacobsen, F. Llirbat, J. Pereira, K. Ross, and D. Shasha. Filtering Algorithms and Implementation for Very Fast Publish/Subscribe Systems. In and Implementation for Very Fast Publish/Subscribe Systems. In Proc. of the 2001 ACM Proc. of the 2001 ACM SIGMOD Intern. Conference on Management of Data (SIGMOD 2001)SIGMOD Intern. Conference on Management of Data (SIGMOD 2001), USA, May 2001. , USA, May 2001.

[HCKW90][HCKW90] E. N. Hanson, M. Chaabouni, C.-H. Kim, and Y.-W. Wang. A Predicate Matching E. N. Hanson, M. Chaabouni, C.-H. Kim, and Y.-W. Wang. A Predicate Matching Algorithm for Database Rule Systems. In Algorithm for Database Rule Systems. In Proceedings of the 1990 ACM SIGMOD International Proceedings of the 1990 ACM SIGMOD International Conference on Management of Data (SIGMOD 1990)Conference on Management of Data (SIGMOD 1990), Atlantic City, USA, May 23-25 1990., Atlantic City, USA, May 23-25 1990.

[LHJ05][LHJ05] G. Li, S. Hou, and H.-A. Jacobsen. A Unified Approach to Routing, Covering and Merging G. Li, S. Hou, and H.-A. Jacobsen. A Unified Approach to Routing, Covering and Merging in Publish/Subscribe Systems based on Modified Binary Decision Diagrams. In in Publish/Subscribe Systems based on Modified Binary Decision Diagrams. In Proc. of the Proc. of the 25th IEEE Intern. Conference on Distributed Computing Systems (ICDCS '05)25th IEEE Intern. Conference on Distributed Computing Systems (ICDCS '05), USA, June 2005., USA, June 2005.

[MF01][MF01] G. Muehl and L. Fiege. Supporting Covering and Merging in Content-Based G. Muehl and L. Fiege. Supporting Covering and Merging in Content-Based Publish/Subscribe Systems: Beyond Name/Value Pairs. IEEE Distributed Systems Online Publish/Subscribe Systems: Beyond Name/Value Pairs. IEEE Distributed Systems Online (DSOnline), 2(7), 2001.(DSOnline), 2(7), 2001.

[TE04][TE04] P. Triantafillou and A. Economides. Subscription Summarization: A New Paradigm for P. Triantafillou and A. Economides. Subscription Summarization: A New Paradigm for Efficient Publish/Subscribe Systems. In Efficient Publish/Subscribe Systems. In Proceedings of the 24th IEEE International Conference Proceedings of the 24th IEEE International Conference on Distributed Computing Systems (ICDCS '04)on Distributed Computing Systems (ICDCS '04), Tokyo, Japan, March, 2004., Tokyo, Japan, March, 2004.

[WQV[WQV++04]04] Y.-M. Wang, L. Qiu, C. Verbowski, D. Achlioptas, G. Das, and P. Larson. Summary- Y.-M. Wang, L. Qiu, C. Verbowski, D. Achlioptas, G. Das, and P. Larson. Summary-based Routing for Content-based Event Distribution Networks. based Routing for Content-based Event Distribution Networks. ACM SIGCOMM Computer ACM SIGCOMM Computer Communication ReviewCommunication Review, 34(5):59-74, 2004., 34(5):59-74, 2004.

[YGM94][YGM94] T. W. Yan and H. Garcia-Molina. Index Structures for Selective Dissemination of T. W. Yan and H. Garcia-Molina. Index Structures for Selective Dissemination of Information Under the Boolean Model.Information Under the Boolean Model. ACM Transactions on Database Systems (TODS) ACM Transactions on Database Systems (TODS), , 19(2):332-364, 1994.19(2):332-364, 1994.