Resource allocation and resource pricing

advertisement
Distributed control and
resource pricing
Richard Gibbens (University of Cambridge)
Peter Key (Microsoft Research, Cambridge)
ACM SigComm 2000, Stockholm: Tuesday, 29 August
Introduction
Overview
Presentation format


Tutorial overview
Demonstrations
Multi-disciplinary:

Mathematics, Computer Science,
Engineering and Economics
Copyright © 2000 by Gibbens & Key
Distributed control and
resource pricing
Introduction and history of DC in the
Internet
Primary motivations


Differential QoS in IP networks
End-to-end flow control
 TCP congestion avoidance algorithm

Sharing scarce resources
Copyright © 2000 by Gibbens & Key
Major problem areas
Adaptive applications (elastic)

Flow control
Non-adaptive applications (non-elastic)

Admission control
Sharing scarce resources



Willingness-to-pay
Incentives
Fairness
Copyright © 2000 by Gibbens & Key
Resource allocation and
resource pricing
Background ideas and concepts
TCP example
User Response
Users can do what they want

NB: “Users” may be applications
Incentive to back-off when marked
Get better service by “paying” more
Eg: adjust sending rate by difference
between amount willing to pay and rate of
marking
How much is this data worth to you?
Copyright © 2000 by Gibbens & Key
Sharing scarce resources
Examples



Internet (bandwidth, output ports etc)
Servers / Computers (processors, memory)
Wireless (channel capacity)
Copyright © 2000 by Gibbens & Key
Service Requirements &
Bandwidth sharing (Shenker)
Utility
Utility U(x)
Convex
“Hard”
real time
bandwidth
Elastic/ Data
Real Time
Limited capacity
Rejection
Limited capacity
Copyright © 2000 by Gibbens & Key
Share out
bandwidth
Resource system (‘network’)
Resource j J
Capacity Cj
User
/route
r R
Ajr links users to resources
Copyright © 2000 by Gibbens & Key
Features of an “ideal”
allocation system
“Fair”
Incentive compatible (encourages
user/agent to chose best action )
Optimal (in a system sense)
Those who want/can pay more can get
more …
Copyright © 2000 by Gibbens & Key
Incentive compatible
Provide the “correct” signals to users,
who are encouraged to do what is best
for them, ie


Not to “cheat”.
And there is no incentive for them to
misrepresent their preferences
Copyright © 2000 by Gibbens & Key
What is fair??
Max-min fairness popular
Proportional fairness advocated by eg
Kelly
Revenue maximisation another option
Max-min and Max utilisation are like
“boundary” conditions
Copyright © 2000 by Gibbens & Key
Max-Min Fairness
Maximises the minimum amount (of resource)
that each user receives
Implies increasing allocation to a user must
decrease allocation to a user who has less
 Simple algorithm:



fill up all end-to-end paths/sessions not saturated at
uniform rate,
When a resource saturates, sessions using this bottleneck
resource are saturated
repeat until no unsaturated sessions
Seen as desirable by ATM forum, IETF etc…
Generalises to weighted max-min fairness
Copyright © 2000 by Gibbens & Key
Proportional Fairness
Allocation is proportionally fair if for any other
allocation, aggregate of proportional changes
is non-positive
Eg if xr is allocation, and yr another, then
require
yr  xr
r x  0
r
Generalises to weighted proportional fairness
(multiply above by wr inside summation)
Copyright © 2000 by Gibbens & Key
Game theoretic properties
User has Utility Ur(x) with allocation x
Then Proportional fairness = Nash Bargaining
scheme with
Ur  xr   wr log xr
Nash Bargaining is the only arbitration
scheme to satisfy certain axioms of




Pareto optimality
Linearity
“Irrelevant alternatives” (contentious)
Symmetry
Copyright © 2000 by Gibbens & Key
Fairness and Bankruptcy
If bankrupt has $1000, but owes me
$400 and you $2000, is it fair if I get
$400 and you $600?
Copyright © 2000 by Gibbens & Key
Fairness Examples, eg
½
½
½
2/
1/
Proportional
1
0
3
3
Max-min
1
3
2/
0.6
0.6
0.4
Max Throughput
TCP approx
Copyright © 2000 by Gibbens & Key
Fairness Examples, eg
½
½
½
2/
1/
3
3
Proportional
U x   Log x 
0.6
0.6
Max-min

U  x    Log  x 
1
1
0
3
2/
0.4
Max load
U x   Log 1  x 
TCP approx
 x 
 2
U  x   2 arctan 
or
U
(
x
)


 

 x
 2
Copyright © 2000 by Gibbens & Key
Fairness Examples, prop. fair
prices
½
½
½
2/
w2
Max-min
1
1/
w 1
w 1
Proportional
1
0.6
w0
0.6
w 4
0.4
w 1
Max load
3
3
w 1
0
3
2/
w 1
TCP approx
Copyright © 2000 by Gibbens & Key
3
TCP as a motivation example
Throughput control by “windows”
We concentrate on congestion window,
cwnd
Two phases: slow start (to find an
operating point)
Congestion avoidance (steady state
behaviour)
Copyright © 2000 by Gibbens & Key
TCP in one slide
Congestion
Avoidance
(Linear)
Packets per RTT (“window”)
25
Window
Halved on
Packet Loss
20
Loss
15
10
“Slow Start”
(exponential)
5
0
1
2
3
4
5
6
7
8
9
10 11
12 13
14 15
16 17
18 19
20 21
Time (in round-trip times)
Copyright © 2000 by Gibbens & Key
22 23
24 25
26 27
28 29
30
TCP Congestion Avoidance
Congestion window W= cwnd
Idealised behaviour:



Window increases by 1/W per ACK
Window halves per packet loss (or ECN mark)
Idealised as can take 3 duplicates to detect loss,
delayed ACKs etc
Hence increases by at most 1 per RTT
Normalise units so W in units of MSS (ie
segments, real counter is in bytes).
Think of MSS as 500B or 1KB to get units
Copyright © 2000 by Gibbens & Key
Simple TCP model for CA
Window increases by (1/W ) per ACK, and
decrease by (Wp/ 2) where p is packet loss
But if T is the RTT, then this occurs in time
(T/W ), hence
2
dW
1 W p
 
dt T
2T
Gives steady state:
Throughput:
W
1

T T
W 
2
p
Copyright © 2000 by Gibbens & Key
2
p
Fairness and TCP
0.6
0.6
0.4
Each
resource
marks with
probability
1
1
0
p
Max Throughput
TCP approx
as p increases
For n links in series, small p, horizontal gets share
1
n 1
Compare with
Proportional share :
Copyright © 2000 by Gibbens & Key
1
n 1
Rate model TCP model for CA
Rate of packet send is x=W/T
dx
1 dW
1 x 2p

 2
dt T dt T
2
As if user is trying to maximize
net utility=utility – cost, where
Utility:
2
U x   K  2
T x
Cost (penalty) = px
Copyright © 2000 by Gibbens & Key
Proof:
U(x)-px is a convex function, maximum
where derivative is zero, ie where
U (x )  p
2
p
2 2
T x
1
x 
T
Copyright © 2000 by Gibbens & Key
2
p
Utility functions for different
RTT
1000
10ms
Utility
900
50ms
800
100ms
700
Net Utility
600
1s
0
200
400 600
Rate
800 1000
p  0.1
1000
950
900
850
800
750
Utility(x) – 0.1 x
0
200 400 600 800 1000
Rate
Copyright © 2000 by Gibbens & Key
Refined TCP model for CA
Window increases by (1/W ) per ACK, and
decreases by (Wp/ 2) where p is packet loss
But if T is the RTT, then this occurs in time
(T/W ), hence
2
dW 1  p W p


dt
T
2T
Gives steady state:
Throughput: W  1 2(1  p )
T
T
p
Copyright © 2000 by Gibbens & Key
2(1  p )
W 
p
Refined Rate model TCP
model for CA
Rate of packet send, is x=W/T
dx
1 dW 1  p x 2 p

 2 
dt T dt
T
2
As if user is trying to maximise net utility
=utility – cost where
Utility:
2
 xT 
U x  
arctan 

T
 2
Cost (penalty) = px
Copyright © 2000 by Gibbens & Key
Utility
Utility functions for different
RTT (Refined TCP model)
100
80
60
40
20
0
10ms
50ms
100ms
1s
Net Utility
0
125
100
75
50
25
0
25
50
100 200 300 400 500
Rate
p  0.1
Utility(x) – 0.1 x
0
100
200
300
400
500
Rate
Copyright © 2000 by Gibbens & Key
Comments on TCP
Utility function heavily influenced by
RTT (weights RTT more heavily than
bandwidth)
Behaviour results in a dependence on
1/p whereas 1/p more natural
Increase and decrease behaviour
induces a large variance
Copyright © 2000 by Gibbens & Key
Different Users
Suppose a number of different users, indexed by r,
round trip times Tr utility functions becomes
2
Ur  xr   Kr  2
Tr xr
More generally, users can increase window at rate mr
per RTT, decrease window by 2mr equivalently
2mr
Ur  xr   Kr  2
Tr xr
Copyright © 2000 by Gibbens & Key
Different Users
Network: number of resources J, feedback signal
pj, aggregate feedback to user r is
def
pr 
Example:


p
j : j r
j
pj represents packet loss, loss approximately additive for
small pj and losses are independent
pj represents a marking signal with additive marks
Copyright © 2000 by Gibbens & Key
Theorem
If each user independently updates their
rates/window, then system converges to the unique
equilibrium, where each user has mean rate
mr
xr 
Tr
2
pr
Hence have can think of TCP as performing an
implicit optimisation
Equivalently system is maximising
 Utility (user )  
users
Congestion_cost
resources
Copyright © 2000 by Gibbens & Key
Economics of congestion
pricing
Economic perspectives
Scarce

restricted in quantity, size or amount
Congestion

A crowding together or accumulation which
disorganizes regular and healthy activity;
congested or overcrowded condition, as of
population, traffic, etc.
OED
Copyright © 2000 by Gibbens & Key
Externalities
Externality

An externality occurs where the actions of
one agent directly affect the environment
of another agent.
Reference: Varian, Microeconomic
analysis
Copyright © 2000 by Gibbens & Key
Simple example
Agent 1: competitive market with
output x, price p and costs c(x)
Agent 1 imposes a cost e(x) on agent 2
Then the profits are given by
 1  max px  c x 
x
 2  e x 
Copyright © 2000 by Gibbens & Key
Equilibrium behaviour
Equilibrium output, x given by p  cxq 
Output too large: agent 1 takes account
of private costs, c(x), but ignores
remainder of the social costs, e(x).
Price, p, is given by marginal private
cost
Merge agents to determine efficient
amount: internalize the externality
Copyright © 2000 by Gibbens & Key
Internalized costs
Profits of merged agent
  max px  c x   e x 
x
New output xe given by
p  c xe   e xe 
Price equals marginal social cost
Copyright © 2000 by Gibbens & Key
Example: road tolls
Costs: private and social
N2: D meets PC, cost C2
N1: D meets SC, cost C3
Toll: C3-C1
Well-being improved
Congestion still present
Cost per D
Vehicle hour
SC
PC
C4
C3
C2
C1
N0 N1 N2
Trips per hour
Copyright © 2000 by Gibbens & Key
Potential solutions
Taxes
Missing markets
M&A
Compensation mechanisms
Copyright © 2000 by Gibbens & Key
Using taxes
Agent 1 is using the wrong prices so
just add a tax, t, so that p  c x   t
Should choose t  e xe 
Problem: requires knowledge of
externality cost function, e(x)
Copyright © 2000 by Gibbens & Key
Missing markets
Agent 2 cares about level of output of
agent 1 but has no way to influence it –
hence, add a market
 1  max px1  rx2  c x1 
x1
 2  max  rx2  e x2 
x2
Copyright © 2000 by Gibbens & Key
Missing markets – cont.
First-order conditions:
p  r  c x1 
 r  e x2 
Supply and demand match when x1  x2
giving previous conditions with
internalized costs
Copyright © 2000 by Gibbens & Key
Compensation mechanisms
Aim is to set up a market which
encourages agents to correct reveal
costs (externalities) that they impose
Two stage process:


Announcement: agent i names a tax ti
Choice: If agent 1 produces output x, it
pays a tax t2x while agent 2 receives t1x
Copyright © 2000 by Gibbens & Key
Compensation – penalties and profits
Additionally, each agent pays a penalty
depending on the difference in taxes,
2
say, t1  t 2 
Final profits given by
 1  max px  c x   t2 x  t1  t2 
2
x
 2  t1 x  e x   t1  t2 
2
Copyright © 2000 by Gibbens & Key
Equilibrium behaviour
Work backwards: fix taxes t1, t2 and
consider second stage
Agent 1 chooses output x=x(t2) s.t.
p  c x   t 2
In first stage, if agent 2 chooses t2 then
agent 1 wants to choose t1=t2
Copyright © 2000 by Gibbens & Key
Equilibrium – (cont)
Finally, in first stage agent 2 will name
tax t2 s.t.
 2 t2   t1  e x xt2   2t2  t1   0
 p  c x   e x 
Again giving the earlier conditions
where costs are internalized
Copyright © 2000 by Gibbens & Key
Incentives
Agent 1

always wants to match announcement by agent 2
Agent 2


If agent 2 thinks agent 1 will choose t1 high then
it wants to tax agent 1 as little as possible
(yielding as much output as possible)
Alternatively, if agent 2 thinks agent 1 will choose
t1 low then agent 2 wants agent 1 taxed as much
as possible
Copyright © 2000 by Gibbens & Key
How will incentives align?
Agent 2 is indifferent to agent 1’s
output if agent 2 is exactly
compensated, at the margin, for the
externality costs
Copyright © 2000 by Gibbens & Key
Congestion pricing
Simple model:





n users of shared resource with capacity K
n
x
User i uses bandwidth xi, with X 
j 1 j
Utilization, Y=X/K, of the resource governs
performance (delay or packet loss)
User i receives utility ui  xi , Y 
considered in MacKie-Mason & Varian
(1995)

Copyright © 2000 by Gibbens & Key
Efficient pattern of usage
Aggregate net benefit given by total
benefit minus costs
n
W ( K )  max  u j x j , Y   c K 
x1 ,... xn
j 1
Optimal solution satisfies first order
conditions
ui  xi , Y 
1 u j x j , Y 
 
 pc , say
xi
K j 1
Y
n
Copyright © 2000 by Gibbens & Key
Role of shadow prices, pc
Suppose user i is charged usage price
pc (to cover externality costs)
Usage would then be given by
decentralized optimization problems
max ui  xi , Y   pc xi
xi
Copyright © 2000 by Gibbens & Key
Solution to decentralized
problem
First order conditions give
ui  xi , Y  1 ui  xi , Y 

 pc
xi
K
Y
ui  xi , Y 

 pc
xi
Same as for centralized efficient pattern of
usage:

decentralized solution with congestion charges
produces social optimum
Copyright © 2000 by Gibbens & Key
Capacity expansion
Suppose capacity K is allowed to
change: address impact of changes by
differentiating aggregate net benefit,
W(K)
n u x , Y 
X
j
j
W  K   
 c K 
2
Y
K
j 1
X
W  K   pc  c K 
K
Copyright © 2000 by Gibbens & Key
When to upgrade?
Hence
W K   0  pc X  cK K  0
That is, capacity expansion is socially
beneficial if and only if the revenue in
congestion fees (pcX) exceeds the value
of the capacity (c’(K)K), where capacity
is valued using the marginal cost of
capacity
Copyright © 2000 by Gibbens & Key
Congestion (shadow) prices
Classic dual roles


measure social costs of increased usage at
fixed capacity
determine value of a change in capacity
Copyright © 2000 by Gibbens & Key
Resource pricing models
Resource pricing: basic model
Set of resources, J; set of routes, R
A route r is a subset r  J.
Let
1
jr
A jr  0 otherwise
Capacity of resource j is Cj.
Copyright © 2000 by Gibbens & Key
User: rate and utility
Each route has a user: if xr is the rate
on route r, then the utility to user r is
Ur(xr).
Ur() --- increasing, strictly concave,
continuously differentiable on xr  [0 ,
) --- elastic traffic
Let C=(Cj, j J), x=(xr, r  R) then Ax
 C.
Copyright © 2000 by Gibbens & Key
System problem
Maximize aggregate utility, subject to
capacity constraints
max
 U x 
r
rR
subject to
over
r
Ax  C
x0
Copyright © 2000 by Gibbens & Key
User problem
User r chooses an amount to pay per
unit time wr, and receives in return a
flow xr = wr/r
 wr 
max U r    wr
 r 
over wr  0
Copyright © 2000 by Gibbens & Key
Network problem
As if the network maximizes a
logarithmic utility function, but with
constants (wr, rR) chosen by the users
max
 w log x
rR
subject to
over
r
Ax  C
x0
Copyright © 2000 by Gibbens & Key
r
Three optimization problems
SYSTEM(U,A,C)
USERr(Ur;r)
NETWORK(A,C;w)
Copyright © 2000 by Gibbens & Key
Decomposition theorem
There exist vectors  , w and x such
that
1.
2.
3.
wr = rxr for r  R
wr solves USERr(Ur; r)
x solves NETWORK(A, C; w)
The vector x then also solves
SYSTEM(U, A, C).
Copyright © 2000 by Gibbens & Key
Thus the system problem may be solved
by solving simultaneously the network
and user problems
Copyright © 2000 by Gibbens & Key
Max-min fairness
x=(xr, r  R) is feasible if
x  0 & Ax  C
x is max-min fair if it is feasible, and if,
for any other feasible vector y
r :yr  xr  s : ys  xs  xr
Copyright © 2000 by Gibbens & Key
Proportional fairness
x=(xr, r  R) is proportionally fair if it is
feasible, and if, for any other feasible
vector y, the aggregate of proportional
changes is zero or negative:

rR
y r  xr
xr
0
Copyright © 2000 by Gibbens & Key
Proportionally fair per unit
charge
x=(xr, r  R) is proportionally fair per
unit charge if it is feasible, and if, for
any other feasible vector y
y r  xr
0
wr

xr
rR
w=(wr, r  R) is a vector of weights, or
charges
Copyright © 2000 by Gibbens & Key
Result
A vector x solves NETWORK(A, C; w) if
and only if it is proportionally fair per
unit charge
Copyright © 2000 by Gibbens & Key
Solution of network problem
Strategy: design algorithms to
implement proportional fairness
Several algorithms possible: try to
mimic design choices made in existing
standards
Copyright © 2000 by Gibbens & Key
Primal algorithm
d


xr t     wr  xr t   j t 
dt


rR


 j t   p j   xs t 
 s: js

Copyright © 2000 by Gibbens & Key
Interpretation of primal
algorithm
Resource j generates feedback signals at rate
j(t)
signals sent to each user r whose route
passes through resource j
multiplicative decrease in flow xr at rate
proportional to stream of feedback signals
received
linear increase in flow xr at rate proportional
to wr
Copyright © 2000 by Gibbens & Key
Global stability theorem
Let
U  x    wr log xr  
rR

jJ
s: js
xs
 p  y dy
j
0
Then the unique value of x maximizing
U(x) is a stable point of the system, to
which all trajectories converge
NB stability of primal algorithms is an
important area of research
Copyright © 2000 by Gibbens & Key
Marking Algorithms
Marking Algorithms
Can be based on damage caused by
loss
… or delay
Copyright © 2000 by Gibbens & Key
Marking Algorithms?
Probability
Probability
Q
1
1
RED
Threshold
0
0
Queue Length
Queue Length
Probability
Probability
1
Capacity
Q
1
Headroom
Proportional
0
0
Queue Length
Arrivals Rate
Copyright © 2000 by Gibbens & Key
Marking on loss /threshold
Equivalent to marking when (output port)
buffer exceeds a threshold
Slow to react/insensitive unless
buffer(threshold) is small
Marking Prob
1
0.8
1
0.6
5
0.4
10
0.2
50
0
0.2
0.4
0.6
Load
0.8
1
Threshold
Copyright © 2000 by Gibbens & Key
Buffer
=100
Marking: loss based
Simple analysis: if c is capacity of resource, y the
load, proportion of packet marked is (y  c ) y
as if cost function of resource is
(y  c )  c (log y  logc )

With cost as lost packets, mark if
Cost is

y c
(y  c )
Marking strategies based on loss typically mark at
least an order of magnitude fewer packets than those
which mark all packets when the capacity is
exceeded
Copyright © 2000 by Gibbens & Key
RED (Random Early Detection)
RED keeps some average of queue size (so
sensitive to RTTs…) and marks
 Probabilistically, when above low threshold
 All packets above high threshold
Eg, if low threshold is buffer/4, high threshold
(3/4)buffer then for load<1 can mark at most (3/4)
of packets
Designed to desynchronise sources
Resource does the averaging, so problems with
different round trip times
Copyright © 2000 by Gibbens & Key
How to Mark? Virtual Queue
Create a “Virtual Queue” which runs at less
than real rate (factor  <1, eg =0.8)
Mark if threshold K exceeded
Gives “Early warning” of problems
Threshold K
Fixed Service
Rate x
packets
Copyright © 2000 by Gibbens & Key

Virtual Queue Example
Suppose we want to track derivative of
queue, (or suppose cost=P[exceed thresh] eg to
keep delay bounded)
M/M/1 P [buffer exceeds K ]   K
For virtual queue, rate , thresh K, then if we
take derivatives, result is we put
 1 
 

K  1
1
K
Copyright © 2000 by Gibbens & Key
Virtual queue thresholds
K
Load (p
mark =0.2)
5
,
reduction
factor
.7
10
.78
.67
50
.92
.90
100
.96
.94
.5
Copyright © 2000 by Gibbens & Key
Single bit vs. Multiple bit
marking
At low marking (eg if end-to-end marking
rate<10%), little difference between single
bit and multiple bit
Multiple-bit marking the ideal
For proportional fair strategies, single bit
marking reduces to max-min fairness at high
making loss rates, …
while TCP reduces to max-loading under
these conditions
Copyright © 2000 by Gibbens & Key
Flow control experiments
with resource pricing
Experiments with slotted time
models
Consider a resource having a capacity per slot to cope with N packets, with
any excess lost. Suppose the load upon the resource, Y, in a given slot,
is generated by adding together the loads generated in that slot, X1,X
2, … ,Xm, by m users,
m
Y   Xi
1
and let the number of marks fed back to source i at the end of the slot be
X i I Y  N 
We describe some simple models of a user and examine the interaction
between users and a resource.
Copyright © 2000 by Gibbens & Key
Shadow Prices (slotted time)
Capacity 10
packets
Mark all packets
whenever demand
exceeds capacity
Demand
Capacity
10
0
1
2
3
4
5
6
7
8
9
Slotted Time
Copyright © 2000 by Gibbens & Key
10
Elastic User (w)
Elastic-user (w) transmits
X (t )   x(t )  z (t ) 

packets in the slot (t,t+1) where
z (t  1)  x(t )  z (t ) - X (t )
x(t  1)  x(t )    w - f  t  
f(t) is the number of marks received at the end of slot
(t,t+1) and  is a small positive constant. The
recursion attempts to stabilize the rate x(t) around a
value where the expected charge per slot is w.
Copyright © 2000 by Gibbens & Key
Scenario 1
10000
2000
0.20
0.19
0.20
0.19
0.18
0.17
0.16
0.15
6000
0.14
0.13
0.12
0.11
4000
0.10
0.09
0.08
0.07
2000
0.06
0.05
0.04
0.03
0.02
0.01
0
0
2000 4000 6000 8000
total number of marked packets
0.17
8000
total number of packets
0.18
0.16
1500
0.15
0.14
0.13
0.12
0.11
1000
0.10
0.09
0.08
0.07
0.06
500
0.05
0.04
0.03
0.02
0.01
0
0
2000 4000 6000 8000
slots
slots
Copyright © 2000 by Gibbens & Key
Intermittent-user (w)
Intermittent-user(w) is active and behaves as
Elastic-user(w) for a random period with
mean 1000, and then sleeps (that is,
transmits no packets) for a random period
with mean 4000.
Successive periods are independent and
geometrically distributed.
Following the end of each sleep period, the
internal state(x(t),z(t)) is reset to its value at
the end of the last active period.
Copyright © 2000 by Gibbens & Key
Scenario 2
As before the resource has the capacity
to serve N=10 packets per slot but now
handling100 users. There were five
independent copies of Intermittent-user
wi , for each of the twenty values of wi
used in Scenario 1.
Copyright © 2000 by Gibbens & Key
Results for Scenario 2
number of packets
Demand w
5
4
3
2
1
0
2000
4000
6000
12
10
8
6
4
2
0
8000
2000
4000
5
4
3
2
1
0
2000
4000
6000
8000
slots
packets lost (%)
number of marked packets
slots
6000
8000
12
10
8
6
4
2
0
2000
4000
slots
6000
slots
Copyright © 2000 by Gibbens & Key
8000
File-transfer(F, W )
This user has a file of size F to transfer, an
amount W to spend, and wants to transfer
the file as soon as possible. The algorithm
tries to pay a price W/F per packet on
average. If the average shadow price is
currently higher than this, the algorithm waits
until the shadow price decreases, otherwise
the algorithm increases its rate.
Copyright © 2000 by Gibbens & Key
File-transfer(F, W ) algorithm
At time t, let F(t) be the size of the file remaining to
be transferred, and let W(t) be W less the number of
marks so far received. It calculates a parameter w(t)
according to the following
w(t  1)  max  x(t ) W (t ) / F (t ), wmin 
and updates x(t), z(t) and the number of packets
transmitted X(t) just as Elastic-user(w), but with w
replaced by w(t).
Copyright © 2000 by Gibbens & Key
280
320
260
300
360
400
380
340
Scenario 3
5
number of marked packets
packets transferred
1000
800
600
400
200
0
0
2000
4000
6000
8000
4
3
2
1
0
0
2000
slots
4000
6000
8000
slots
As for Scenario2 plus 10 File Transfer(F, Wj) users
where F=1000 and Wj= 200+20j, all starting their
transfers at slot 0.
Copyright © 2000 by Gibbens & Key
Sample Path shadow prices
critical congestion interval
10
queue length
8
6
4
2
0
A
141900
B
141950
142000
142050
142100
C
142150
142200
time
Repeat the earlier experiments with a queueing resource which has a
buffer capacity of N=10. If a packet is marked then the mark is fed
back to the source 100 time units after the packet was transmitted
by the source.
Copyright © 2000 by Gibbens & Key
Unresponsive-user(g)
While active this user transmits a packet
in each slot with probability g,
independently from slot to slot; while
sleeping, this user transmits no packets.
Successive active and sleep periods are
independent and geometrically
distributed with mean 1000.
Copyright © 2000 by Gibbens & Key
Scenario 4
Intermittent-users: There were two independent copies of
Intermittent-user(wi), where  =0.001 and wi =i  0.001, for
i=1,2, …,20. Active periods had mean 10000, while sleep
periods had mean 40000.
Intermittent-file-transfers: Such a user behaves as Filetransfer(F,Wj) while a file transfer is in progress, and then sleeps
for a random period with mean40000. Sleep periods are
independent and geometrically distributed. There were ten
intermittent-file-transfers, with F=1000, wmin =0.001 and
Wj=150+20j, for j=1,2,… ,10.
Unresponsive-users: There were ten such users, namely
Unresponsive-user(gk) for k=1,2,…,10, where gk =0.01k.
Copyright © 2000 by Gibbens & Key
Results for Scenario 4
5000
0.20
packets transferred
4000
0.15
3000
0.10
2000
0.05
1000
0
0.0
0
50000
100000
time
150000
200000
0
1
2
3
4
5
6
7
8
9
10
queue size
The proportion of packets marked was 0.18, while the proportion
of packets lost was 0.014. The resource utilization was 0.84.
Copyright © 2000 by Gibbens & Key
Two-Node Example
User 1
User 2
pkts
marks
pkts
marks
pkts
User 3
marks
pkts
100 of each user type
Copyright © 2000 by Gibbens & Key
pkts
Two-Node Example, Delays
User 1
50
User 2
50
50
marks
50
50
marks
User 3
100
marks
Copyright © 2000 by Gibbens & Key
50
Distributed Admission
Control for Packet-Based
Networks
Subplot …
Can guarantees for flows/connections be
provided using only feedback (or pricing
signals) ?
With Frank Kelly, and Stan Zachary
Distributed Admission Control, preprint
http://www.research.microsoft.com/research/network/publications/dac.htm
Copyright © 2000 by Gibbens & Key
Guaranteed Flows / Streams?
Probabilistic guarantees OK, provided
proportion of adaptive traffic adequate
Just a question of risk-brokers (cf fixed
rate mortgages)
Futures market:
 a reservation is a (European) call option for an
amount of bandwidth, where fair price =
Integral of expected price over expected lifetime
Copyright © 2000 by Gibbens & Key
Outline
Connection level models
Packet level models
Extensions
Copyright © 2000 by Gibbens & Key
An alternative approach
Put the intelligence in the end-systems
Let the users/application decide
whether to enter the system
Uses feedback signals (congestion
marks) to make decisions
Copyright © 2000 by Gibbens & Key
Admission Control in the
Internet
ISP
Copyright © 2000 by Gibbens & Key
User policy
M probe
packets
User
/route
A connection
Is rejected if any probe
packets are marked

Otherwise stays for
duration of holding time

Copyright © 2000 by Gibbens & Key
Applications
In an Intranet
In a VPN
Within a service class (eg DiffServ)
But could integrate in a Congestion
pricing framework
Copyright © 2000 by Gibbens & Key
Notation
Let J be a set of resources
R be a set of routes

Poisson arrivals, rate nr, unit holding time
Occupancy
Acceptance
mj (n )  nr
r j
ar  m    a j  m 
j r
Copyright © 2000 by Gibbens & Key
Product form distribution

Assume: Poisson arrivals, rate n
Let a(mj) be probability accepted at node j
independently, then equilibrium distribution has a
product form

Equilibrium distribution for the
number of calls in progress
na(n-1) na(n)
n
n-1
n
n+1
n+1
Can approximate and analyse via a set of Fixed Point Equations
Copyright © 2000 by Gibbens & Key
Example: Traditional Loss
networks
Let Cj be the capacity of resource j
 
a j mj
mj  C j
1

0 otherwise
Copyright © 2000 by Gibbens & Key
Dynamics
With x(t)=n(t) for a large system,
consider
dx r (t )
 nr  aj
dt
j r


  xs t    x r (t )
 s j

Theorem:
Can construct a Lyapunov function,
hence all trajectories converge to the
(unique) fixed point.
Copyright © 2000 by Gibbens & Key
Interpretation
As if users attempting to maximise a
aggregate utility function – a network
cost, where individual utility

xr 
Ur (x )  xr  1  log 
nr 

Copyright © 2000 by Gibbens & Key
Acceptance Probabilities
Packet Level models
Assume connections generates packets
m connections, generate packets at rate ,
hence load
  m
Mark according to queue dynamics (eg when
queue above a threshold, etc)
Copyright © 2000 by Gibbens & Key
Example, voice on a VPN,
video on a MAN
Suppose application sends 20 pps
average (bursty)
over a VPN with capacity 1200 pps
then where  is mean packet service
time = 1/60, as if capacity =60
Run queue at loading of 0.7 (effective
capacity 42)
Copyright © 2000 by Gibbens & Key
Rejection Probabilities & DF
for VQ marking
1.0
0.8
Occupancy
distribution
0.6
Pr
Occupancy
/Rejection
Prob
0.4
0.2
Rej prob
0.0
0
Setup: n=50,
threshold 5
10
20
30
n
40
Rej prob with
perfect knowledge
Copyright © 2000 by Gibbens & Key
50
60
Occupancy density functions
Pr
Pr
0.2
0.12
0.1
0.15
0.08
0.06
0.1
0.04
0.05
0.02
10
20
30
40
50
60
n
10
20
30
40
50
60
n
n
Design load
Setup: n=50, thresholds 5,10
Very High load
Setup: n=100, thresholds 5,10
Copyright © 2000 by Gibbens & Key
Comparison with perfect
knowledge
DAC
Pr
0.7
0.6
0.5
0.4
0.3
Perfect CAC
0.2
0.1
40
60
80
100
120
140
Copyright © 2000 by Gibbens & Key
v
But Capacity Savings
Load v
20
Marks
(rejection)
0.001
Savings (if
count…)
25%
30
.024
17%
40
.106
13%
50
.215
8%
60
.313
6%
Copyright © 2000 by Gibbens & Key
Blocking vs. Marking (price)
& Differential QoS
VQ marking, threshold K=10, capacity (1/)=100
Pr
Pr
0.6
Blocking
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
50
75
100
1 Probe packet
125
150
175
200
n
marking
50
75
100
125
150
5 Probe packets
Copyright © 2000 by Gibbens & Key
175
200
n
Blocking vs. Marking (price)
& Differential QoS, Integrated
Suppose one stream sends 1 probe packet, another sends 5,
and both share a common resource. Each stream enters only
if no packets are marked. The stream sending 5 packets
sees a higher rejection probability.
Pr
0.5
0.4
M 5 Rej
0.3
Marks
0.2
0.1
20
40
60
80
100
v
Copyright © 2000 by Gibbens & Key
Mixing adaptive and nonadaptive traffic
Simple model: two types of traffic


Non-adaptive traffic, requires unit
bandwidth
Adaptive traffic: reacts to signals can halve
its bandwidth requirement
Suppose price (congestion marking
probability) not to go above 0.2
Gives acceptance boundaries
Copyright © 2000 by Gibbens & Key
Price regions
1
0.75
Price
0.5
0.25
0
0
30
20
n2
10
20
n1
40
60
0
Copyright © 2000 by Gibbens & Key
Acceptance Boundaries
n2
8
Target
Excedeence
Prob
0.010 ,
C = 25.54
<
15
12.5
10
Overload
7.5
5
Underload
2.5
n1
5
10
15
20
25
30
35
Copyright © 2000 by Gibbens & Key
Bandwidth Exchanges
9 Interconnection operators (clearing
houses, brokers etc)
Band-X, London 1997
RateXchanges, anonymous,
 PSTN voice, VOIP, b/width
Option pricing (futures
market for bandwidth)
Copyright © 2000 by Gibbens & Key
Games and a distributed
Game
Network vs Users
“My work is a game, a very serious game”
Escher
Data/Info
Network
Signals
Users
Copyright © 2000 by Gibbens & Key
Distributed Multi-player Game
Internet
MSR
Cambridge
Copyright © 2000 by Gibbens & Key
The Internet “In-a-Box”
TCP
TCP
TCP
TCP
TC
P
MSR Cambridge
Network Simulator
… “self-centred behaviour” is encouraged!
Copyright © 2000 by Gibbens & Key
Information flow
Request
Ack
User
Start & type of game
Copyright © 2000 by Gibbens & Key
Game / controller
Protocol
<destination><token><pkt size>
=pckt
User
<token><marks>
=ACK
“Network”
<time>
Notes:
•All single word (32bit) unsigned,
•pkt size integer
•marks integer
•Time=sec.sec
•Token generated by user
•Corrupted/lost token=packet drop
Copyright © 2000 by Gibbens & Key
Protocol structures
User’s Algorithm
Interface / Stub
Telnet
C++ /Java
Game Protocol
ASCII based
TCP
TCP
Network
/Game
Copyright © 2000 by Gibbens & Key
Bandwidth
Proportional to cost.
Iterative Approach
New User plays on test harness
Plays against controlled load

(eg against copies of single game or against sample
from random population)
Plays against other users each with
same objective
Plays against others with multiple
objectives
Copyright © 2000 by Gibbens & Key
Evaluation Environment
A distributed multi-user game



Users try to beat the (simulated) network
Users try to beat each other
Network tries to recover upgrade costs
Simulates at (below) the packet level
Bake-off various algorithms



Marking schemes
Congestion Avoidance schemes
Queuing disciplines
Copyright © 2000 by Gibbens & Key
Example Objectives
Assumes notified cost per mark
Maximise (ave. thruput - ave. cost)
Max Discounted (thruput - cost)
For given utility function, max (utility - cost)
Transfer an amount of data F(file) at min cost
Transfer F in set time T at min cost
Transfer F as quickly as possible at min cost
Given fixed budget, maximise transfer
Copyright © 2000 by Gibbens & Key
Example Game
Transfer a given amount of data F at
minimum cost in time T
Strategies:

CBR,
 if stationary regime, optimal if price “convex” in
region (lightly loaded)
 else, have to predict fluctuations
Copyright © 2000 by Gibbens & Key
Specific FT Game
Transfer a given amount of data F at
minimum cost in time T, maximum rate P

eg F=1000pkts, T=100s, P=20pps
Background load of 100 WTP users


alternating on and off periods (10 & 30 s)
Willing to pay different amounts
600 pps bottleneck link (eg 5Mb/s)

shadow queue marking (threshold 9, cap 540 pps)
Repeated runs
Copyright © 2000 by Gibbens & Key
WTP background users
‘Willing-to-pay’ an amount w per unit
time
Elastic users — adjust rate of sending to
keep marking rate close to w
Defines a packet-send strategy
Copyright © 2000 by Gibbens & Key
Marking periods
10
20
9
18
8
14
7
12
6
Buffer
Buffer
16
10
8
6
5
4
3
4
2
2
1
0
60
61
62
63
64
65
0
60
61
Time
Shadow queue
62
63
Time
Real queue
Copyright © 2000 by Gibbens & Key
64
65
A baseline Strategies
CBR : send at constant rate
If in stationary regime, this is an
optimal strategy if


price function “convex” in region wrt load
(lightly loaded) and
prices iid, or a Martingale
Copyright © 2000 by Gibbens & Key
A last packet strategy (like titfor-tat)
Use feedback to dynamically adjust rate
If (last packet not marked /dropped)
{send at high rate = peak rate }
 else
 {send at low rate}
A variant is …
Copyright © 2000 by Gibbens & Key
A last-2 packet strategy
Attempts to determine non-marking
periods
If (last 2 packets not marked /dropped)
{send at high rate = peak rate }
 else
 {send at low rate}
Copyright © 2000 by Gibbens & Key
Sending rates example
1000
900
800
Packets
700
Last 2
Last 1
Constant rate
600
500
Estimator
Marks
400
300
200
100
0
50
70
90
110
130
Time
Copyright © 2000 by Gibbens & Key
150
Results for high load, T=100
Marks vs Time
Marks
300
250
200
Constant Rate
Last-1
150
Last 2
Esimate
100
50
0
50
60
70
80
90
100
Raw FTP sends in 5 seconds, cost 410
Copyright © 2000 by Gibbens & Key
time to
complete
Results for high load, T=10
450
Marks
400
350
300
Constant Rate
250
Last-1
200
Last 2
Esimate
150
100
50
0
0
5
10
15
Raw FTP sends in 5 seconds, cost 410
Copyright © 2000 by Gibbens & Key
time to
complete
A “Slow start game”
Given a “short-lived connection”, how to
maximize net throughput (throughputcost)? Possible approaches



Slow start
Binary chop
History using Bayesian updates
Copyright © 2000 by Gibbens & Key
Open issues
Experiments suggest simple strategies are
powerful (cf Axelrod’s work)
Simulation environment with ‘game playing’
enables strategies to be compared and
developed
Future work will look at different and mixed
objectives
The Internet is a non-cooperative game, but
the right signals can encourage effective
cooperation
Copyright © 2000 by Gibbens & Key
Implementation and
testbeds
Implementation: issues and
example
Architectural open issues:




Create new adaptive applications or use 3rd
party “congestion manager”?
1, 2 or multiple bits per packet?
How should marks be aggregated for
multi-hop paths?
How to assure “Security” of marking
information across domains (for pricing and
to prevent Denial of Service attacks).
Copyright © 2000 by Gibbens & Key
Audio / Video
Policy
scheduler
Network
Copyright © 2000 by Gibbens & Key
User/
end
system
Current Status:
ECN is an IETF RFC
Routers are capable of performing
marking functionality (much like RED
algorithms)
ECN and ECN/RED router support exist
for Linux and FreeBSD. Will be in
future release of Windows
Prototype support for IPv6
Copyright © 2000 by Gibbens & Key
ECN and Resource pricing
ECN could be used as a vehicle to
convey resource pricing information
Note that current ECN RFC only
describes TCP reaction to ECN
We advocate allowing a range of
reactions, by different applications,
treating ECN as an IP-level signal and
enabling differential QoS
Copyright © 2000 by Gibbens & Key
Example Experimental
Implementation
Built on top of Windows 2000
Ref: Neil Stratford / Paul Barham, MSR
Cambridge,
http://www.acu.rl.ac.uk/msn2000/talks/Neil_Stratford.pdf
Copyright © 2000 by Gibbens & Key
Source Architecture
Willingness
To Pay
App1
Traffic
Controller
Marks
Rates
App2
AppX
Packet Shaper
3rd party Traffic Controller
programs W2k packet shaper
Copyright © 2000 by Gibbens & Key
MSRC Cluster
Cluster of 16 nodes connected to a private
switched network
Windows 2000 on each node


Kernel module on IP forwarding path implements
marking strategy (uses TOS bits)
Packet shaper can reduce line rate to avoid
artificial contention
Careful choice of routing tables and IP
address allocation!
Copyright © 2000 by Gibbens & Key
Sink Architecture
Mark Packet
Data+Marks
Marks
Mark
Reflector
Mark Val
Port No
Reflect marks back to source
Implemented as promiscuous socket
Uses a different return path
Copyright © 2000 by Gibbens & Key
Cross Traffic
Routers are output buffered
Cross traffic discarded at second hop
Copyright © 2000 by Gibbens & Key
8bit Marking
Marks range from –128 to 127
zero marks at (capacity – headroom)
Headroom adjusted by


Queue length
History
WTP is per packet target mark value
Copyright © 2000 by Gibbens & Key
Total Packets/s
Queue Length
Packets/s
200 Flows, different
WTP and RTTs + 10%
Random Traffic
Queue Length
Arrivals
+
Capacity 1600
Departures
Zero Marks
-
Time/s
10 Fixed WTP TCP Flows
10 TCP flows end to end
Fixed WTP for each flow
Headroom style 8 bit marking
Maximum mark value propagates
No cross traffic
1
2
3
4
5
6
Traffic
Controller
7
Mark
Reflector
Copyright © 2000 by Gibbens & Key
What the Traffic Controller Did
1e+06
First flow sees
no marks
800000
600000
Stability after 5
seconds
400000
200000
0
Bps
0
5
10
15
20
25
30
Time (s)
Copyright © 2000 by Gibbens & Key
35
40
45
10 Random WTP TCP Flows
1e+06
800000
600000
WTP
Change
400000
200000
0
Bps
0
5
10
15
20
25
Time (s)
30
Copyright © 2000 by Gibbens & Key
35
40
45
Contacts
Peter Key
http://research.microsoft.com/users/pbk/
Richard Gibbens
http://www.statslab.cam.ac.uk/~richard/
Copyright © 2000 by Gibbens & Key
References
Refs 1
Eitan Altman, Flow Control using the theory of Zero sum Markov games,
IEEE Trans. Automatic Control, 1994, 39(4), 814--818
Robert Axelrod, The Evolution of Cooperation, 1984, Basic Books, NY
S. Bajaj, L. Breslau & S. Shenker, Is service priority useful in networks?,
1998, http://www.cs.wpi.edu/~sigmet98/bajaj.ps
Sandeep Bajaj, Lee Breslau & Scott Shenker, Uniform versus Priority
Dropping for Layered Video, Computer Communication Review, 1998,
28(4), 131-143
Dimitri P. Bersekas & Robert Gallager, Data Networks, 1992, Prentice Hall
G. Bianchi, A. Capone & C. Petrioli, Throughput analysis of end-to-end
measurement based admission control in IP, IEEE INFOCOM 2000,
http://www.comnet.technion.ac.il/infocom2000
R. Braden, D. Clark & S. Shenker, Integrated Services in the Internet
Architecture: An Overview, RFC 1633, 1994
Copyright © 2000 by Gibbens & Key
Refs 2
Lee Breslau & Scott Shenker, Best-Effort versus Reservations: A Simple
Comparative Analysis, Computer Communication Review, 1998, 28(4), 316
Jon Crowcroft & Phillipe Oechslin, Differentiated End-to-End Services using a
Weighted Proportional Fair Share TCP, Computer Communication Review, 1998,
28(3), 53-69
P. Dubey, Inefficiency of Nash Equilibria, Mathematics of Operations Research,
1986, 11(1), 1-8
V. Elek, G. Karlsson & R Ronngren, Admission control based on end-to-end
measurements, IEEE INFOCOM 2000,
http://www.comnet.technion.ac.il/infocom2000
S. Floyd, TCP and Explicit Congestion Notification, ACM Computer
Communication review, 1994, 24(5), 10-23, http://wwwnrg.ee.lbl.gov/papers/tcp_ecn.4.pdf
Copyright © 2000 by Gibbens & Key
Refs 3
Sally Floyd & Kevin Fall, Router mechanisms to support end-to-end
congestion control, Laurence Berkeley National Laboratory, Technical Report,
1997, ftp://ftp.ee.lbl.gov/papers/collapse.ps
S. Floyd & V. Jacobson, Random Early Detection Gateways for Congestion
Avoidance, IEEE/ACM Transactions on Networking, 1993, 1(4), 397-413,
http://www-nrg.ee.lbl.gov/floyd/red.html
S. Floyd & V. Jacobson, Link-sharing and Resource Management Models for
Packet Networks, IEEE/ACM Transactions on Networking, 1995, 3(4), 365386, http://ftp.ee.lbl.gov/floyd/cbq.html
Roy Gardner. Games for Business and Economics, Wiley, 1995.
R. J. Gibbens, F. P. Kelly & P. B. Key, A decision-theoretic approach to call
admission control in ATM networks, 1995, IEEE Journal on Selected Areas in
Communications, special issue on Advances in the Fundamentals of
Networking, 13(6), 1101-1114
Copyright © 2000 by Gibbens & Key
Refs 4
R. J. Gibbens & F. P. Kelly, Measurement-based connection admission control,
Proceedings International Teletraffic Congress 15, 1997, 879-888, editors V.
Ramaswami & P. Wirth, Elsevier
R. J. Gibbens & F. P. Kelly, Distributed connection acceptance control for a
connectionless network, Proceedings International Teletraffic Congress 16,
1999, 941--952, editors P. B. Key & D. G. Smith, Elsevier
R. J. Gibbens & F. P. Kelly, Resource pricing & the evolution of congestion
control, 1999, Automatica, 35, 1969-1985,
http://www.statslab.cam.ac.uk/~frank/PAPERS/evol.html
R. J. Gibbens & P. B. Key, The use of games to assess user strategies for
differential Quality of Service in the Internet, 1999, Workshop on Internet
Service Quality Economics, MIT,
http://research.microsoft.com/research/network/publications/gibkey1999
Matthias Grossglauser & David N. C. Tse, A framework for robust
measurement-based admission control, IEEE/ACM Transactions on Networking,
1999, 7, 293-309
Copyright © 2000 by Gibbens & Key
Refs 5
V. Jacobson, Congestion avoidance & control, Proceedings ACM SIGCOMM
'88, 1988, 314—329, An updated version is available from
ftp://ftp.ee.lbl.gov/papers/congavoid.ps.Z
R. Jain & K. K. Ramakrishnan, Congestion Avoidance in Computer Networks
with a Connectionless Network Layer: Concepts, Goals and Methodology,
Proceedings IEEE Comp. Networking Symposium, 1988, 134-143
S Jamin & S Shenker, Measurement-based admission control algorithms for
controlled-load service: a structural examination, University of Michigan,
1997, Technical Report, CSE-TR-333-97,
http://irl.eecs.umich.edu/jamin/papers/
E. Kalai & M. Smorodinsky, Other Solutions to Nash's Bargaining Problem,
1975, Econometrica, 3(43), 513-518
Copyright © 2000 by Gibbens & Key
Refs 6
F. P. Kelly, Charging and accounting for bursty connections, In Internet
Economics, MIT Press, 1997, 253--278, editors Lee W. McKnight & Joseph P.
Bailey
F. P. Kelly, Charging and rate control for elastic traffic, European Transactions
on Telecommunications, 1997, 8, 33--37
F. P. Kelly, A. K. Maulloo & D. K. H Tan, Rate control in communication
networks: shadow prices, proportional fairness and stability, Journal of the
Operational Research Society, 1998, 49, 237--252,
http://www.statslab.cam.ac.uk/~frank/rate.html
F. P. Kelly, Mathematical modelling of the Internet, Proceedings of the Fourth
International Congress on Industrial and Applied Mathematics, 2000
F. P. Kelly, Models for a self-managed Internet, Philosophical Transactions
Royal Society, A, 2000, http://www.statslab.am.ac.uk/~frank/smi.html
Copyright © 2000 by Gibbens & Key
Refs 7
F. P. Kelly, P. B. Key & S. Zachary, Distributed Admission Control, IEEE Journal
on Selected Areas in Communications, 2000,
http://research.microsoft.com/research/network/publications/dac.htm
P. B. Key, Implied cost methodology & software tools for a fully connected
network with DAR and trunk reservation, British Telecom Technology Journal,
1988, 6, 52-65
Peter B. Key, Connection admission control in ATM networks, BT Technology
Journal, 1995, 13(3)
P. B. Key & D. R. McAuley, Differential QoS and pricing in networks: where
flow control meets game theory, IEE Proceedings Software, 1999, 146(2), 3943
Peter Key, Derek McAuley, Paul Barham & Koenraad Laevens, Congestion
Pricing for Congestion Avoidance, Microsoft Research Technical Report, MSRTR-99-15, 1999, http://research.microsoft.com/pubs/
Copyright © 2000 by Gibbens & Key
Refs 8
Richard La and Venkat Anantharam. Charge-sensitive TCP and rate control in
the Internet. In INFOCOM 2000.
http://www.ieeeinfocom.org/2000/papers/402.pdf.
P. B. Key & L. Massoulie, User Policies in a Network Implementing Congestion
Pricing, Workshop on Internet Service Quality Economics, 1999, MIT,
http://research.microsoft.com/research/network/publications/
S. Kunniyur & R. Srikant, End-to-End Congestion Control Schemes: Utility
Functions, Random Losses and ECN Marks, IEEE INFOCOM 2000
D. E. Lapsley and S. H. Low (1999). Random Early Marking: an optimisation
approach to Internet congestion control. Proceedings of IEEE ICON'99,
Brisbane, Australia.
S. H. Low and D.E. Lapsley. Optimization flow control — I: Basic algorithm and
convergence. IEEE/ACM Transactions on Networking, 7(6):861-874, Dec 1999.
Copyright © 2000 by Gibbens & Key
Refs 9
J.K. MacKie-Mason & H.R. Varian, Pricing the Internet, Public Access to the
Internet, 1994, editors B. Kahin & J. Keller, Prentice-Hall, New Jersey
J. K. MacKie-Mason & H. R. Varian, Pricing congestible network resources,
IEEE Journal of Selected Areas in Communications, 1995, 13(7), 1141—1149
L. Massoulie & J. Roberts, Bandwidth sharing: objectives and algorithms, IEEE
INFOCOM99
Matthew Mathis, Jeffrey Semke, Jamshid Mahdavi & Teunis Ott,
The Macroscopic Behavior of the Congestion Avoidance Algorithm,
Computer Communications Review, 27(3),1997
R. Mazumbdar, L.G. Mason & C. Douglieris, Fairness in network
optimal control: optimality of product forms, IEEE Trans. Communications,
1991, 39, 775-782
Copyright © 2000 by Gibbens & Key
Refs 10
John F Nash, The Bargaining Problem, Econometrica, 1950
A. Odlyzko, A modest proposal for preventing Internet congestion,
1997, http://www.research.att.com/amo/doc/modest.proposal.ps
T. Ott and J. Kemperman & M. Mathis, The stationary behavior of
ideal TCP congestion avoidance, 1997,
ftp://ftp.bellcore.com/pub/tjo/TCPwindow.ps
Jitendra Padhye, Victor Firoiu, Don Towsley & Jim Kurose,
Modeling TCP Throughput: A Simple Model and its Empirical Validation,
Computer Communication Review/Proceedings Sigcomm 98,
1998, 28(4), 303--315,
http://www.acm.org/sigcomm/sigcomm98/tp/abs_25.html
Copyright © 2000 by Gibbens & Key
Refs 11
K. Ramakrishnan & S. Floyd, A Proposal to add Explicit Congestion
Notification (ECN) to IP, RFC 2481, 1999,
ftp://ftp.isi.edu/in-notes/rfc2481.txt
S. Shenker, Fundamental design issues for the future Internet,
IEEE Journal on Selected Area Communications, 1995, 13, 1176-1188
S. Shenker, C. Partridge & R. Guerin, Specification of Guaranteed Quality
of Service, RFC 2212, 1997
D. K. H. Tan, Mathematical models of rate control for communication networks,
University of Cambridge, 1999,
http://www.statslab.cam.ac.uk/~dkht2/phd.html
Z. R. Turanyi & L. Westberg, Load control: lightweight provisioning
of Internet resources, 1999, http://www.ericsson.co.hu/ethzrt/
Copyright © 2000 by Gibbens & Key
Refs 12
Hal R Varian, Microeconomic Analysis, 1992, W W Norton, New York
Damon Wischik, How to mark fairly, Workshop on Internet Service Quality
Economics, 1999, MIT
J. Wroclawski, Specification of the Controlled-Load Network Element Service,
RFC 2211, 1997
Final Report COST224 Performance evaluation and design of multiservice
networks, 1992, editor J. W. Roberts, Commission of the European
Communities
Copyright © 2000 by Gibbens & Key
Download