character of the original network design. But it need not be; it can be much
more (intelligent) and hence much less.
These differences make it sound as if there is a fairly technical way to
describe whether a network complies with "end-to-end" principles. They
suggest that the question of whether a network is end-to-end is simply a
question to be answered by technologists.
But let's step back from the technical aspects and look more broadly at
the types of control there might be over a network. For if value comes from
the absence of control architected into a network, then that value may be
compromised by other techniques of control.[10-6]
The point should be obvious, but it bears emphasis. In principle, a
network could be architected such that each application must "register"
itself with the network before that application will run on the network.
A program would then send a request to the network -- "May I run _X_?" --
and the network would give it a digital token as permission to run. Such a
network would not comply with the end-to-end argument. It would be a
control-centered network that requires permission before computer re-
sources are used. The permission this network would require is negotiated
technically. The machine does the negotiating, and if you don't get a token,
your code doesn't run.
Notice, however, that the very same control could be implemented
through other means. The network, for example, could have a rule --
imposed through contract -- that before your computer ran any program,
you would have to register that program with the network administrator.
This rule would not be enforced through code -- you could cheat and some-
times get away with it. But you might expect the network administrator to
have code to detect whether you are cheating. And if it finds that you are
cheating, it might force you off the network.
Or we might imagine a community network, where there is an under-
standing about the kinds of applications that would be run on the network
and the kinds of applications that would not be run. Roommates might have
a network, and to keep it running fast, they might have an understanding
not to use the network to download MP3s. Or better yet, the network news
protocol that enables USENET to function might include a norm that the
system would not be used to distribute commercial advertisements.
Finally, we could imagine a pricing system for controlling how a network
is used. The code could charge users based on the bandwidth used or on the
amount of time connected. This was the technique, for example, of AOL
for many years. It is the technique of many on-line service providers today.
[[150]]
p149 _
-chap- _
toc-1 _
p150w _
toc-2 _
+chap+ _
p151