sven bittner, 28 november 2006 department of computer science the university of waikato, new zealand...
TRANSCRIPT
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.
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
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
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
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
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
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…………
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
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
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
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
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
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
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
…… ……
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
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
…… ……
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
…… ……
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
…… ……
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
…… ……
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
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
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
…… ………… ………… ……
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
…… ………… ………… ……
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
…… ………… ………… ……
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
…… ………… ………… ……
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
…… ………… ………… ……
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
…… ………… ………… ……
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
…… ………… ………… ……
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
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
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
…… ………… ………… ……
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
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!
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.