Presentation is loading. Please wait.

Presentation is loading. Please wait.

MIDDLEWARE SYSTEMS RESEARCH GROUP 20071 Denial of Service in Content-based Publish/Subscribe Systems M.A.Sc. Candidate: Alex Wun Thesis Supervisor: Hans-Arno.

Similar presentations


Presentation on theme: "MIDDLEWARE SYSTEMS RESEARCH GROUP 20071 Denial of Service in Content-based Publish/Subscribe Systems M.A.Sc. Candidate: Alex Wun Thesis Supervisor: Hans-Arno."— Presentation transcript:

1 MIDDLEWARE SYSTEMS RESEARCH GROUP 20071 Denial of Service in Content-based Publish/Subscribe Systems M.A.Sc. Candidate: Alex Wun Thesis Supervisor: Hans-Arno Jacobsen Department of Electrical and Computer Engineering Department of Computer Science University of Toronto v0.4

2 RESEARCH GROUP MIDDLEWARE SYSTEMS 20072 Background Context of Thesis Work PADRES middleware platform  Content-based Publish/Subscribe (CPS)  Originally inspired by distributed dashboard and job scheduling requirements  Increasingly motivated by enterprise application integration Need to investigate different facets of security for CPS systems  Security amongst top concern in many application scenarios

3 RESEARCH GROUP MIDDLEWARE SYSTEMS 20073 Contributions of Thesis Work DoS Characteristics Attack Taxonomy Attack Experiments DoS Resilience Commonality Model Matching Algorithm DoS Prevention Policy Model Policy Framework

4 RESEARCH GROUP MIDDLEWARE SYSTEMS 20074 Content-based Publish/Subscribe SS P Publishers P Subscribers Broker Network Subscrip- tions Publication (Tuple) Subscriptions (Boolean Functions) Storing Filters (Functions) [(event=prescription), (age>50)] [(event,prescription), (patientID,123), (age,63), (drug,X) …] [(event=prescription), (drug=Y)] “Matching”

5 RESEARCH GROUP MIDDLEWARE SYSTEMS 20075 Matching Performance Optimizations Often based on exploiting similarities (overlap) between subscriptions  Avoid unnecessary subscription and predicate evaluations Can we abstract these optimizations?  Formalize content-based Matching Plans (order of subscription and predicate evaluations)  Quantify performance of existing optimizations  Discover future potential optimizations

6 RESEARCH GROUP MIDDLEWARE SYSTEMS 20076 Commonality Model For a subscription set or Disjunctive Commonality Expression Conjunctive Commonality Expression A set of commonality expressions is a subscription topology. Per-Link Matching DNF Subscriptions Shared predicates Clustering on subscription classes or attributes “Pruning” strategies (e.g., number of attributes)

7 RESEARCH GROUP MIDDLEWARE SYSTEMS 20077 Example: Link-Group Topology Depth First Algorithm to determine probabilistically optimal matching plan [Greiner2006] in

8 8 Example: Link-Group Topology Low Selectivity X X High Selectivity o o

9 9 Example: Cluster Topology Dramatic scalability effects of clustering in CPS Observed trend depends on proportion of commonalities not number of predicates... X o SimulationExperimental (in PADRES)

10 RESEARCH GROUP MIDDLEWARE SYSTEMS 200710 Extended Implication Relationships Between subscriptionsBetween predicates Between commonalities

11 RESEARCH GROUP MIDDLEWARE SYSTEMS 200711 Simple Implication Expressions Mixed operator lists currently not supported

12 RESEARCH GROUP MIDDLEWARE SYSTEMS 200712 Matching Engine Architecture … Shared pred. index (conj. comm.) … Subscription index … … All predicates index Predicate pool Subscription pool Overlay links (disj. comm.) Map Sorted List (Map) Node elements

13 RESEARCH GROUP MIDDLEWARE SYSTEMS 200713 Matching Engine Architecture True False D.C. True False D.C. Node Element Subscription Predicate Overlay link (conj. comm.) (DNF subs) Implication Lists Node Elements

14 RESEARCH GROUP MIDDLEWARE SYSTEMS 200714 Subscription Insertion Predicate Insertion … Shared pred. index (conj. comm.) … Subscription index … … All predicates index Predicate pool Conj. Comm. Subscription pool Overlay links (disj. comm.) Unknown predicate priorities default to head of list

15 RESEARCH GROUP MIDDLEWARE SYSTEMS 200715 Subscription Insertion Implication List Update a > 3456798 P’s True -> True list P 3456798 X i ’s False -> False list 3456798 P’s False -> False list

16 RESEARCH GROUP MIDDLEWARE SYSTEMS 200716 Performance Experiments Generated subscription workloads from ~50 to ~200,000 predicates  {5,10,15,20} Avg. Predicates x {10,100,1000,10000} Subscriptions 4 Different subscription topologies  Low/High clustering (5/200 classes)  Low/High sharing (subscription overlap) Randomly generated and matched 100 publications

17 17 Low Sharing High Sharing High Cluster Low Cluster

18 18 Low Sharing High Sharing High Cluster Low Cluster

19 RESEARCH GROUP MIDDLEWARE SYSTEMS 200719 Cross-cluster Attributes

20 RESEARCH GROUP MIDDLEWARE SYSTEMS 200720 Cross-cluster Attributes

21 21 Low Sharing High Sharing High Cluster Low Cluster

22 22 Low Sharing High Sharing High Cluster Low Cluster

23 RESEARCH GROUP MIDDLEWARE SYSTEMS 200723 Conclusions Model captures many existing and potential optimization techniques Implication list approach significantly reduces number of predicate evaluations in all workloads  Superior for expensive predicates Implementation trade-off: Control cascade overhead/usage  Cluster/Index implication lists as well  Optimize iteration over marked nodes  Additional clustering/indexing beyond only event class Future work  Additional conjunctive/disjunctive commonalities, implication relationships?  Implication relationships relevant to message distribution?  Rule-based implementation of implication/commonality algorithm? Thank You – Questions?

24 MIDDLEWARE SYSTEMS RESEARCH GROUP 200724 *** Extra Slides ***

25 25 High clustering, High sharing

26 26 Low clustering, High sharing

27 27 Low clustering, Low sharing

28 28 High clustering, Low sharing

29 RESEARCH GROUP MIDDLEWARE SYSTEMS 200729 Publication matching Commonality Phase … Shared pred. index (conj. comm.) … Subscription index … … All predicates index Predicate pool Subscription pool Overlay links (disj. comm.) Termination Condition: All overlay links have been decided Iterate and evaluate while TC is false

30 RESEARCH GROUP MIDDLEWARE SYSTEMS 200730 Publication Matching Implication Cascade True False D.C. True False D.C. If not already determined, Evaluate Cascade and Mark True FalseD.C. “Advanced” implications handled with a method call triggered by state change (e.g. Predicate becomes true, calls countTruePredicate() on subscriptions)

31 RESEARCH GROUP MIDDLEWARE SYSTEMS 200731 Publication Matching Subscription Phase … Shared pred. index (conj. comm.) … Subscription index … … All predicates index Predicate pool Subscription pool Overlay links (disj. comm.) Iterate and evaluate while TC is false + Cascade and Mark + Cascade and Count

32 RESEARCH GROUP MIDDLEWARE SYSTEMS 200732 Publication Matching Cleanup Phase There is no cleanup phase  A counter (Vm) is incremented at the start of each publication matching phase  All determined results are versioned (Vd)  A determined result is stale if Vd < Vm To avoid overflow, reset counter every:  64bit counter ~= 16x10^18 pubs  @1000 pub/s ~ 16x10^15 s  ~32x10^6 s/year ~ 0.5x10^9 years

33 RESEARCH GROUP MIDDLEWARE SYSTEMS 200733 Publication Matching Sorted Lists Commonality/predicate lists sorted by (p+1/N)  p is the predicate selectivity  N is the number of subscriptions sharing the predicate Subscriptions sorted by (1-p)n  p is average predicate selectivity  n is number of predicates Predicate hash sorted by predicate value Commonality/predicate/subscription sorting is meant to be extendable with different priority equations  Include predicate cost, length of implication lists, etc …

34 RESEARCH GROUP MIDDLEWARE SYSTEMS 200734 Low Sharing High Sharing High Cluster Low Cluster

35 RESEARCH GROUP MIDDLEWARE SYSTEMS 200735 Low Sharing High Sharing High Cluster Low Cluster

36 RESEARCH GROUP MIDDLEWARE SYSTEMS 200736 Tables Query (Boolean Function) DB Rows (Tuples) Subscrip- tions Publication (Tuple) Subscriptions (Boolean Functions) Storing Functions Storing Data Databases Content-based Publish/Subscribe Inverse Problems Query Plans Matching Plans? Scalable Performance


Download ppt "MIDDLEWARE SYSTEMS RESEARCH GROUP 20071 Denial of Service in Content-based Publish/Subscribe Systems M.A.Sc. Candidate: Alex Wun Thesis Supervisor: Hans-Arno."

Similar presentations


Ads by Google