RNAP: A Resource Negotiation and Pricing Protocol Xin Wang, Henning Schulzrinne Columbia University xwang@ctr.columbia.edu, schulzrinne@cs.columbia.edu (This work was supported by Hughes Research Lab) 15 July 2016 RNAP, X. Wang et al 1 What is RNAP? • Assumption: network provides a choice of delivery services to user – e.g. diff-serv, int-serv, best-effort, with different levels of QoS – with a pricing structure (may be usage-sensitive) for each. • RNAP: a protocol through which the user and network (or two network domains) negotiate network delivery services. – Network -> User: communicate availability of services; price quotations and accumulated charges – User -> Network: request/re-negotiate specific services for user flows. • Underlying Mechanism: combine network pricing with traffic engineering 15 July 2016 RNAP, X. Wang et al 2 Outline • Motivation • Basic RNAP messaging • Protocol details – – – – Architectures Scaling in Core Domains Advance reservation Pricing and charging • Experimental Results • Summary of Protocol Features • Future work 15 July 2016 RNAP, X. Wang et al 3 Motivation • If multiple delivery service types are available, a flexible service selection and request mechanism is desirable. • BBE services need pricing and charging support. • Selecting and requesting a service at an agreedupon price involves negotiation between user and network 15 July 2016 RNAP, X. Wang et al 4 Motivation (Cont’d) • Dynamic resource negotiation capability and congestion sensitive pricing are desirable – Pricing signals congestion - allows safe and graceful QoS degradation OR increased spending to keep stable service – Allows better resource utilization- dynamic re-negotiation allows higher utilization as resources need not be requested/provisioned conservatively – Allows network resources to be obtained immediately - even during congestion (at high cost), e.g., urgent phone call – Network can quickly recover from unexpected events - such as network failure by re-negotiating with users 15 July 2016 RNAP, X. Wang et al 5 Typical Message Sequence Query Quotation Periodic re-negotiation Reserve Commit Quotation Reserve Commit Query: User enquires about available services, prices Quotation: Network specifies services supported, prices Reserve: User requests service(s) for flow(s) (Flow Id-Service-Price triplets) Commit: Network admits the service request at a specific price or denies it (Flow Id-Service-Status-Price) Close: tears down negotiation session Release: release the resources Close Release 15 July 2016 RNAP, X. Wang et al 6 Architecture-Centralized (RNAP-C) NRN NRN NRN HRN HRN S1 R1 AD - B AD - A TD Internal Router NRN Network Resource Negotiator Edge Router Host Resource Negotiator Host 15 July 2016 HRN RNAP Messages RNAP, X. Wang et al 7 Architecture-Centralized (RNAP-C) Query NRN NRN NRN HRN HRN S1 R1 AD - B AD - A Internal Router NRN TD Network Resource Negotiator Edge Router Host Resource Negotiator Host 15 July 2016 HRN RNAP Messages RNAP, X. Wang et al 8 Architecture-Centralized (RNAP-C) Quotation NRN NRN NRN HRN HRN S1 R1 AD - B AD - A Internal Router NRN TD Network Resource Negotiator Edge Router Host Resource Negotiator Host 15 July 2016 HRN RNAP Messages RNAP, X. Wang et al 9 Architecture-Centralized (RNAP-C) Reserve NRN NRN NRN HRN HRN S1 R1 AD - B AD - A Internal Router NRN TD Network Resource Negotiator Edge Router Host Resource Negotiator Host 15 July 2016 HRN RNAP Messages RNAP, X. Wang et al 10 Architecture-Centralized (RNAP-C) Commit NRN NRN NRN HRN HRN S1 R1 AD - B AD - A Internal Router NRN TD Network Resource Negotiator Edge Router Host Resource Negotiator Host 15 July 2016 HRN RNAP Messages RNAP, X. Wang et al 11 End-to-End Messaging • Sender HRN sends Query to access NRN; forwarded all the way to last-hop NRN • Last-hop NRN builds and sends Quotation message upstream; forwarded from NRN to NRN - quoted prices incremented at each NRN. • Sender HRN sends Reserve message to access NRN; forwarded downstream to to last-hop NRN • Last-hop NRN builds and sends Commit message upstream; forwarded from NRN to NRN - committed prices, accumulated charges incremented, or service request denied, at each NRN. 15 July 2016 RNAP, X. Wang et al 12 Architecture - Distributed (RNAP-D) HRN HRN R1 AD - B AD - A TD Internal Router Edge Router Host 15 July 2016 RNAP Messages RNAP, X. Wang et al 13 Architecture - Distributed (RNAP-D) HRN HRN R1 AD - B AD - A TD Internal Router Edge Router Host 15 July 2016 RNAP Messages RNAP, X. Wang et al 14 Architecture - Distributed (RNAP-D) HRN HRN R1 AD - B AD - A TD Internal Router Edge Router Host 15 July 2016 RNAP Messages RNAP, X. Wang et al 15 Scaling in Core Domains • Direct Aggregation – At boundary of access and core networks, map flowlevel resource requests with same destination network to a single aggregate-level request. – Inside core network, process aggregate RNAP messages only, tunnel flow-level RNAP messages. – At edge of destination network, terminate aggregatelevel RNAP message, re-activate flow-level RNAP messages. – Aggregate RNAP sessions fewer in number, larger resource requests, longer negotiation interval -> less overhead. 15 July 2016 RNAP, X. Wang et al 16 Example: Aggregation 50 HRN NRN 50 50 100 100 150 NRN 150 NRN 50 100 100 AD - B HRN HRN HRN R2 AD - A 15 July 2016 RNAP, X. Wang et al 17 Scaling in Core Domains (Cont’d) • Block Negotiation Bandwidth – Aggregate resources are added/given up in large blocks, to minimize negotiation overhead and reduce network dynamics time 15 July 2016 RNAP, X. Wang et al 18 Advance Reservation • Similar messaging sequence, reserve resources in advance for a specified future time • Price can be different from immediate reservation • Re-negotiation – “sell back” or “buy back” – Possible penalty or reward • Useful for resource negotiation between domains 15 July 2016 RNAP, X. Wang et al 19 Pricing and Charging • How does the network arrive at a price? • How will RNAP collect and communicate pricing and charging information? 15 July 2016 RNAP, X. Wang et al 20 Price and Charge Formulation • Router or NRN maintains state information – Flow Id, negotiated price, charge for last negotiation interval, accumulated charge • e2e price and charge collation – negotiation message passing through router/NRN uses state information to increment price/charge fields – Quotation message: carry estimated price for each quoted service – Commit message: carry accumulated charge for preceding negotiation interval, committed price for next interval 15 July 2016 RNAP, X. Wang et al 21 Price and Charge Formulation in a RNAP-C Domain • Alternatives: – NRN does admission control and price computation • forms price based on topology, routing and configuration policies, network load – Ingress router does admission control and price computation • may determine internal router loads through egress-to-ingress Probe messages – Boundary and internal routers collect local prices/charges through intra-domain signaling protocol (YESSIR/RSVP). 15 July 2016 RNAP, X. Wang et al 22 Example: Price Formulation in RNAP-C Table 1 Resource Table Domain Routing Table ER1 R1 Dest NextHop NextHop ER2 R1 ER2 Step 3: send total price ( $3/Mb ) R1 ER1 R2 15 July 2016 R1 ER2 (C, BW, Q, P) (C, BW, Q, P) ER1 1, 3, 30, 2 R1 1, 2, 20, 1 NRN Step1: determine a path (Table1) Step2: accumulate price along the path (Table 2) Table 2 C: BW: Q: ER2 P: service class average bandwidth (Mb) average queue length price ($/Mb) R3 RNAP, TDX. Wang et al 23 Shared and Multicast Charging • Senders and receivers can share the total cost • Indicate willingness to pay by setting Charge Fraction field in Query/Reserve message • Request is rejected if sum of Charge Fraction fields is <1. 15 July 2016 RNAP, X. Wang et al 24 Pricing Strategy • Reservation_charge = holding_charge + usage_charge + congestion_charge – holding charge: charge for reservation – usage charge: charge for resource consumption • also dependent on service type, elasticity – congestion charge: charge for resource competition • resource overbooking • buffer overflow • Long-term high price • Resource re-provisioning (?) 15 July 2016 RNAP, X. Wang et al 25 Testbed Setup FreeBSD with routed, CBQ, RNAP R1 S1 Rb Ra R2 S2 10 Mb R3 S3 Embedded RNAP in RSVP Policy Data for prototype RNAP RSVP Quotation Path Reserve Commit Resv ResvErr 15 July 2016 RNAP, X. Wang et al 26 Evolution of Network Price and Total Resource Reservation Total bandwidth: 4Mb/s t1: total reservation 2Mb/s t4: total reservation 2Mb/s Targeted bandwidth: t2: total reservation 3Mb/s t5: stabilized 70% (2.8 Mb) t3: stabilized 2800 Total bandwidth reservation Price t1 t2 15 July 2016 t3 t4 t5 RNAP, X. Wang et al 27 Throughput of Sessions Sharing Bandwidth Fairness sharing of bandwidth for applications with the same requirement and price sensitivity S1 S2 S3 15 July 2016 RNAP, X. Wang et al 28 Summary of Protocol Features • A protocol that enables service negotiation – multiple services, pricing, charging • Supports centralized and distributed network architectures. • Provides dynamic negotiation capability – Periodic re-negotiation capability – Flexible negotiation period – User can disable/enable negotiation at any time 15 July 2016 RNAP, X. Wang et al 29 Summary of Protocol Features (Cont’d) • Pricing and charging capability – Price and charge formulation, collation, communication to user – Charging mode: sender, receiver, or both • Flexibility of service selection – Multiple services: int-serv, diff-serv, best-effort – Different granularities of reservation: flow, aggregate level – Multi-party negotiation: senders, receivers, both – Stand alone, or embedded inside other protocols 15 July 2016 RNAP, X. Wang et al 30 Summary of Protocol Features (Cont’d) • Scalability – independent of hop count; aggregation in the core • Price predictability – Price is fixed for the service during a negotiation period • Reliability – Soft state for synchronous messages, liveness tracking – Retransmission of asynchronous messages – Server backup and information retrieval 15 July 2016 RNAP, X. Wang et al 31 Future Work • Complete implementation • Large system performance evaluation 15 July 2016 RNAP, X. Wang et al 32