MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG SDN-Like: A Network-as-a-Service Publish/Subscribe Model Collaborators: Reza Sherafat Young Yoon Hans-Arno Jacobsen IBM F2C2, July th 2013 Kaiwen Zhang msrg.org/papers/sdnlike
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 2 Content-Based Publish/Subscribe broker match & forward Advertisement path Subscription path Publication path publisher name = `IBM’ price = $40 subscriber name = `IBM’ (topic-based) subscriber name = `IBM’ price > $30 (content-based) name = ‘IBM’
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 3 Software-Defined Networking
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 4 Overview SDN-Like Publish/Subscribe Content-based Publish/Subscribe SDN Virtualized Publish/Subscribe Network-as-a-Service Cross-layer Content-based Publish/Subscribe Data/Control Decoupling in Publish/Subscribe
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 5 Publish/Subscribe-as-a-Service Customer base Customer 1Customer 2Customer 3 Telecommunication Companies Virtual P/S network P P S P S S Elastisticity, QoS, Migration... B0 B1 S2 S3
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 6 SDN-Driven Publish/Subscribe Advertise: name = ‘IBM’ Subscribe: name = ‘IBM’ Publish: name = ‘IBM’
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Channelization Forwarding 7 OpenFlow switch Flow table Flow patternActionStatistics Flow patternActionStatistics - Identify publication flows by packet header (eg. IP, MPLS) - Flow created per subscription group - Forward to next hops of destination set - Modify header to match downstream flows
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Pros and Cons Ground layers: brokers and clients Water layers: switches and routers SDN-driven over broker-based: Can achieve line-speed rate, offload computation from hosts Space limitation? - |Flow entries| - |Address range| Incremental deployment? - How to handle IP multicast in non-SDN routers?
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Amphibious Publish/Subscribe [Sherafat et al.] B0 B1 S2 S3 Cost model considers: - Broker VM deployment, bandwidth - Switch entry, bandwidth Ingress datacenter selection for broker VM deployment Frequent and large subscription groups (FLSGs): maximize gain of flow entries No home assets: Direct forwarding Multitenancy? - QoS in cost model - Customer pricing - Flow isolation - Client churn General topology? - Multi-switches path - Virtual switches
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Publish/Subscribe Decoupling Properties P Publish/Subscribe Service S1S1 S2S2 S3S3 ??? Space decoupling Time decoupling Synchronization decoupling
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Data/Control Decoupling P Publish/Subscribe Service S1S1 S2S2 S3S3 Production decoupling Data Plane Control Plane Consumption decoupling Pr Producer Ad Advertiser Consumer C1C1 C2C2 C3C3 IM Interest Manager Policy-based: - Metadata - Current state - Application - Advertisement control - Publication control
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Example Use Cases FunctionalityUse caseApplication Scenario Advertisement controlSpam filterSocial news digest Publication controlTranslationService interoperability Subscription controlParametric subscriptionsIntrusion detection
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 13 Conclusions SDN-Like Publish/Subscribe Content-based Publish/Subscribe SDN Virtualized Publish/Subscribe Network-as-a-Service Cross-layer Content-based Publish/Subscribe Data/Control Decoupling in Publish/Subscribe
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 14 Thank you! Questions? padres.msrg.org msrg.org/papers/sdnlike
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG S1S1 15 Channelization Forwarding OpenFlow switch Flow table Flow patternActionStatistics Flow patternActionStatistics S2S2 S3S3 S 4 F1F1 S1S1 S2S2 F1F1 S1S1 S2S2 F2F2 S3S3 S4S4 - Identify publication flows by packet header - Flow created per subscription group - Forward to next hops of destination set - Modify header to match downstream flows
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG IP Multicast Flow Matching [Koldehofe et al.] IP fix ∘ Bitstring Limit to multicast range: IPv4 – /8 IPv6 – ff0e::/ PR0 R1 R2 S0S0 S1S1 S2S2 S3S3 0* 010* 011* 0101* 011* 0110* p = “0110” - Craft publication IP address - IP flow corresponds to subscription destination set - Encode pubs and subs using spatial indexing - Establish paths to covered subscribers
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG MPLS-Based Flow Matching dstip : IP sw ip-header pkt p = ip-payload p mpls-payload label1 : SG i label2 : SG j mpls-header IP of dispatch switch Unwrap MPLS header: - Compute destination IPs - Replicate and forward Limit replication factor: Multi-switches MPLS
MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Frequent and Large Subscription Groups S1S1 S2S2 S3S3 S 4 SG 1 : {S 1, S 2, S 4 } AllSGs p = {SG 1 }, residualSet = {S 3 } Support for false positive groups: Broker-assisted filtering Topology-aware group management