310 likes | 391 Views
M3I price reaction. Bob Briscoe 31 May 2000. motivation. current QoS solutions favour apps that can: predict where & what traffic they will send/rcv unpredictable apps need either over-capacity (without overbooking) or tighter app control (closer to app), leading to:
E N D
M3I price reaction Bob Briscoe 31 May 2000
motivation • current QoS solutions favour apps that can: • predict where & what traffic they will send/rcv • unpredictable apps need • either over-capacity (without overbooking) • or tighter app control (closer to app), leading to: • less overhead to adapt policy • less coupled to routing • more open to commercial innovation • BUT... feedback delay
control granularity • fixed pipe per customer (diffserv) • fixed pipe per flow, but can adapt (intserv) • congestion charge reaction middleware • congestion charge reaction by app decreasing prediction requirement • what is the Internet denying by only supports predictable apps?
approach • project (top down) • general solution must have extreme flexibility • consider form of general solution (architecture) • consider appropriate approximations • prototype specific solution(s) within that framework • presentation (bottom up) • start with core function: price reaction • then put in architectural context
QoS control policy Iq Ip Ip Ip QoS control legend Pq I invocation of network service Ip data packet Iq QoS signalling separation of concerns
QoS control policy Iq Ip Ip Ip QoS control Pq richness of QoS control policyoutput • output options: • set of QoS parameters (RSVP service class), Iq • packets, Ip, conforming to Iq • polymorphic • function depends on the type of input Iq Iq0 Iq Iq Ip Ip Ip
QoS control policy Iq Ip Ip Ip QoS control Pr Pq richness of QoS control policyinput • input options (dumbest first): prescriptive • declare QoS & degrade pro rata to fit budget • Iq & budget • optimise against utility • vector of utility functions scaled by budget • vector of currently offered pricing • task oriented • dbase of assoc’s betw. QoS policies, tasks & users • continue with declarative Iq
QoS mapping • QoS conceptions • user • application • network • utility: user land • edge QoS control: application land • network QoS control: network land
QoS mappingapplication QoS dimensions • bandwidth, x • burstiness, dx/dt • responsiveness, r = 1/latency • jitter, dr/dt • delivery probability, d = 1 - (drop prob) • availability etc: out of scope
network QoS dimensionse.g. RSVP service class • guaranteed service/controlled load • flowspec • parameters for a token bucket • token rate • max token size • max burst size • max token rate • etc
U/$ U/$ U1(Q1) p1Q1 U2(Q2) p2Q2 Q2 Q1 inside QoS control policy U/$ U3(Q3) p3Q3 Q2 ... Q = [Q1, Q2, Q3, Q4, Q5] U=iUi ? for any one task, may find one QoS dimension dominates
setting QoS control policy add U1(Q1) user-app-task context U/$ Q1
derive demand curve price, p x* p optimal rate, x*
conjectured effect of wealth on utility wealth1 $ • motivation: re-usable per-task rate control policies • conjecture: wealth affects utility more strongly than QoS sensitivity • QoS sensitivity = marginal utility wrt Q wealth2 << wealth1 U1(Q1) the arrows map between points of similar QoS sensitivity Q1
approximations - summary • conjectures: • one QoS dimension dominates most applications? • use identical utility functions for related tasks? • 3 or 4 parameters can approximate a utility curve? • wealth/budget scales utility vertically?
sanity checksecurity-efficiency compromise • more expressive QoS control policy has to include buying policy • customer can’t trust provider to execute buying policy • to audit seems to require complete duplication of the function • may have implications for guaranteed service provider function
types of reaction sndr sndr proxy rcvr proxy rcvr preserve delay buffer buffer buffer delay mark f/b mark f/b mark re-xmt drop f/b nack f/b nack less - drop suppress nack suppress nack recode mark f/b mark f/b mark recode f/b nack f/b nack f/b nack - - f/b drop layer f/b drop layer • explicitly instruct sender what to do • sender adapts to thinner pipe through f/b • which reaction depends on relative strengths in vector • but declarative isn’t enough (need some prescription)
service operation network meter rate control charge advice aggregator service creation tariff policy legend P
Pq Pq Pq duration charged intserv PATH RESV data sender receiver
Pq Pq Pq ‘abc’ charged intserv $=aT + bV +c PATH RESV data sender receiver
Pq Pq congestion charging sender (‘s GSP) receiver (‘s GSP) congestion f/b CE data CE = congestion experienced GSP = guaranteed stream provider (Kelly’s ‘gateway’)
Pq congestion charging Pq sender (‘s GSP) receiver (‘s GSP) congestion f/b CE data CE = congestion experienced GSP = guaranteed stream provider (Kelly’s ‘gateway’)
budget PA PA PA Pr price reaction in context buying agent directory C ? Pr Pr C rate control application
application involvement • application options: • delegate control for non-functional comms • giving context • control everything itself • buying agent shouldn’t take control of QoS unsolicited
user involvement • user can: • give agent control over any stream’s QoS • giving context • user must: • monitor feedback on cost of functional comms • adapt demand accordingly, through application controls
the meta-object design pattern refl_Socket Application Access to reflective objects Reflection class changeMeta( ) Access to original objects Meta calls Inherit Meta Object metaBefore( ) metaAfter( ) Some application class QoteS Java.net.Socket
edge-centric use case end-customer network provider Enterprise policy agent Offer directory Price setting & reaction App or M/w Service Charging & acc’ting QoS ctrl Metering 3 1 2 Ec Ep 7 6 O O 5 8 4 AMc 16 Pc Pp 14 10 10 Sp 15 9 13 CAc CAp 11 17 Qp Qc 12 12 Mp Mc service provision
edge control use case end-customer network provider Enterprise policy agent Offer directory Price setting & reaction App or M/w Service Charging & acc’ting QoS ctrl Metering 3 1 2 Ec Ep 7 6 O O 5 8 4 AMc 14 16 Pc Pp 10 Sp 13 15 9 CAp 11 Qp Qc 12 Mp service provision
price reaction conclusions I • separate policy from QoS control • ultimately, QoS control must be polymorphic • QoS mapping important • QoS control policy approximations • a few parameters (can then be communicated)? • budget dependency? • many tasks to few policies? • QoS control policy implies type of reaction?
price reaction conclusions II • difficult to do price reaction generically • limited application hooks • only simple tariffs allow price reaction • multi-part tariffs require charge reaction • allowing for competition is possible but complex on host • but relying on provider for charge advice inefficient