Title: RNAP: A Resource Negotiation and Pricing Protocol Xin Wang
1RNAP A Resource Negotiation and Pricing Protocol
- Xin Wang, Henning Schulzrinne
- Columbia University
- xwang_at_ctr.columbia.edu, schulzrinne_at_cs.columbia.ed
u - (This work was supported by Hughes Research Lab)
2What 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 -gt User communicate availability of
services price quotations and accumulated
charges - User -gt Network request/re-negotiate specific
services for user flows. - Underlying Mechanism combine network pricing
with traffic engineering
3Outline
- Motivation
- Basic RNAP messaging
- Protocol details
- Architectures
- Scaling in Core Domains
- Advance reservation
- Pricing and charging
- Experimental Results
- Summary of Protocol Features
- Future work
4Motivation
- 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
agreed-upon price involves negotiation between
user and network
5Motivation (Contd)
- 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
6Typical Message Sequence
Query User enquires about available services,
prices
Query
Quotation
Quotation Network specifies services supported,
prices
Reserve
Reserve User requests service(s) for flow(s)
(Flow Id-Service-Price triplets)
Commit
Quotation
Commit Network admits the service request at a
specific price or denies it (Flow
Id-Service-Status-Price)
Periodic re-negotiation
Reserve
Commit
Close tears down negotiation session
Close
Release release the resources
Release
7Architecture-Centralized
(RNAP-C)
NRN
NRN
NRN
HRN
HRN
S1
R1
AD - B
AD - A
TD
Network Resource Negotiator
Internal Router
NRN
Edge Router
Host Resource Negotiator
HRN
Host
RNAP Messages
8Architecture-Centralized
(RNAP-C)
Query
NRN
NRN
NRN
HRN
HRN
S1
R1
AD - B
AD - A
TD
Network Resource Negotiator
Internal Router
NRN
Edge Router
Host Resource Negotiator
HRN
Host
RNAP Messages
9Architecture-Centralized
(RNAP-C)
Quotation
NRN
NRN
NRN
HRN
HRN
S1
R1
AD - B
AD - A
TD
Network Resource Negotiator
Internal Router
NRN
Edge Router
Host Resource Negotiator
HRN
Host
RNAP Messages
10Architecture-Centralized
(RNAP-C)
Reserve
NRN
NRN
NRN
HRN
HRN
S1
R1
AD - B
AD - A
TD
Network Resource Negotiator
Internal Router
NRN
Edge Router
Host Resource Negotiator
HRN
Host
RNAP Messages
11Architecture-Centralized
(RNAP-C)
Commit
NRN
NRN
NRN
HRN
HRN
S1
R1
AD - B
AD - A
TD
Network Resource Negotiator
Internal Router
NRN
Edge Router
Host Resource Negotiator
HRN
Host
RNAP Messages
12End-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.
13Architecture - Distributed
(RNAP-D)
HRN
HRN
R1
AD - B
AD - A
TD
Internal Router
Edge Router
Host
RNAP Messages
14Architecture - Distributed
(RNAP-D)
HRN
HRN
R1
AD - B
AD - A
TD
Internal Router
Edge Router
Host
RNAP Messages
15Architecture - Distributed
(RNAP-D)
HRN
HRN
R1
AD - B
AD - A
TD
Internal Router
Edge Router
Host
RNAP Messages
16Scaling in Core Domains
- Direct Aggregation
- At boundary of access and core networks, map
flow-level 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
aggregate-level RNAP message, re-activate
flow-level RNAP messages. - Aggregate RNAP sessions fewer in number, larger
resource requests, longer negotiation interval -gt
less overhead.
17Example Aggregation
50
50
100
100
50
50
NRN
NRN
NRN
150
150
HRN
HRN
100
100
HRN
AD - B
R2
AD - A
HRN
18Scaling in Core Domains (Contd)
- Block Negotiation
- Aggregate resources are added/given up in large
blocks, to minimize negotiation overhead and
reduce network dynamics
Bandwidth
time
19Advance 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
20Pricing and Charging
- How does the network arrive at a price?
- How will RNAP collect and communicate pricing and
charging information?
21Price 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
22Price 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).
23Example Price Formulation in RNAP-C
Table 2
Resource Table
Table 1
Domain Routing Table
ER1
R1
R1
ER2
NextHop
NextHop
(C, BW, Q, P)
(C, BW, Q, P)
Dest
1, 3, 30, 2
ER2
R1
ER2
ER1
R1
1, 2, 20, 1
Step1 determine a path (Table1)
C service class BW average bandwidth
(Mb) Q average queue length P price
(/Mb)
NRN
Step2 accumulate price along the
path (Table 2)
R1
ER2
ER1
Step 3 send total price ( 3/Mb )
R2
R3
TD
24Shared 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 lt1.
25Pricing 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 (?)
26Testbed Setup
FreeBSD with routed, CBQ, RNAP
R1
S1
Rb
Ra
R2
S2
10 Mb
R3
S3
Embedded RNAP in RSVP Policy Data for prototype
RSVP
RNAP
Quotation
Path
Reserve
Resv
Commit
ResvErr
27Evolution 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
t4
t5
t3
28Throughput of Sessions Sharing Bandwidth
Fairness sharing of bandwidth for applications
with the same requirement and price sensitivity
S1
S2
S3
29Summary 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
30Summary of Protocol Features (Contd)
- 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
31Summary of Protocol Features (Contd)
- 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
32Future Work
- Complete implementation
- Large system performance evaluation