Subject: Re: TCP versus real-time apps in an int-serv internet

From: [email-masked] (Noel Chiappa)
Date: Mon, 28 Nov 94 13:20:40 -0500

From: Christian Huitema <[email-masked]>

    If ... the Internet is going to be more commercial, it is bound to also
    become more "contractual". ... On the other hand, I don't believe that
    "all users will be fair". ... we should be concerned with proper usage of
    the resources and that we should start enforcing it, rather than merely
    hoping for it. Wheter RED, fair queing or yet another solution is "the
    best" is a matter of technical debate.

It turns out that I've been having a conversation with Tony DiSimone of Bell
Labs Performance analysis division, triggered by a paper he wrote for the '94
SIGComm, which it turns out is germane to this topic (although it's
specifically about the interaction between alternate routing and congestion
control).

I've been thinking a lot about the interaction between routing, resource
reservation, congestion control, alternate routing, resource usage
enforcement, etc, etc and I have decided that the way to do this is with
pricing, more specifically pricing variation over short time-scales, with
feedback. Not even a massive Noelgram would suffice to hold all the
cross-connected thinking I've been having on this topic, but I can briefly
indicate why I've come to this conclusion. It's quite simple.

To start with, I'm assuming that we're in a resource-limited environment,
otherwise we don't need resource reservation, or any of that other jazz; we
all just send all the packets we want (and need, for non-elastic
applications). You may quarrel with this assumption, and say that it's easier
to overprovision the system than build in all the mechanisms you need to deal
with resource limitations and non-elastic applications. Whether that's
plausible or not is a separate debate (I personally think we're going to have
to deal with resource limitations), and this thread seems to have assumed that
it's not happening.

In any case, with resource limits, we therefore need a feedback mechanism
between offered load and available resources, to balance the two. Moreover,
that feedback mechanism has to be based on something other than trust, and
general cooperativeness. In a large enough user population, these will break
down, leading to "Tragedy of the Commons" type failures. We either need a
policing mechanism (i.e. centralized control), or we need to push the resource
usage decisions back to the users. I claim the former is not viable (q.v.
command economies). If we do the latter, we need some way of ensuring "honest"
communication among users.

The only way I know of to ensure honest communication about resources, and
balance between demand and supply, is a free market in the resource. Due to
the dynamics of load, this means dynamic pricing (with dynamics on the same
time-scale as load variation).

I know this is going to freak everyone (well, almost everyone :-) out. It's
very radical, technically. It also means we're going to have classes of usage
whose cost is usage-sensitive, even if you have other classes which are
bulk-priced. These are both very heretical. The technical and administrative
details are substantial. Nevertheless, I've been going over the details, and I
think it will work. Not only that, I don't think we have any realistic option.

We have to have a load-dependant feedback mechanism *anyway*, and it has to be
"honest", so no matter *what* you do, you wind up with something of almost
equivalent complexity. We also need charging (which has to be secure), to make
people honest about resource usage. Given those two, it seems the Right Thing
is to make the feedback mechanism dynamic pricing. Q.E.D.

This is probably not the right list to do this on (and I apologise most
profusely to the Int-Serv wizards for fouling their list with it :-), but I
don't know where the right place is to move it. Probably "flows", actually,
since this will inevitably mean the introduction of flows. I'll let the
I-S chairs make the call, though.

	Noel

---

From: Christian Huitema <[email-masked]>
Date: Mon, 28 Nov 1994 19:34:26 +0100

Noel,

The pricing approach to sharing is not new - I remeber studying it in economy
classes, and that was quite some time ago. Have you tried to model it in
practice, i.e. dealing with feed-back, acceptable rates of change, interaction
with marketing, with competition, with investment, etc? This is generally
where strict price based models fall apart.

DiSimone's paper does provide a hint on how to compute prices, i.e. in very
much the same way that he computes the capacity loss caused by alternate
routings. That could well be applied to reservation: granting a share of the
resource to someone for his exclusive use results in depriving the rest of the
community, which has then to settle for lower expectations. The price you
sell it has to be larger than the product of reduction in service times number
of affected customers.

Christian Huitema