One of the joys of life is to learn new ideas that open up new lines of thinking, such as Terrence Deacons work. Terrence Deacon introduces in his Magnum Opus “Incomplete Nature” a new conceptual framework : how constraints on thermodynamic processes result in work (and information), how counteracting processes can lead to emergent new behavior, how multiple system levels interact, and lead to new interaction levels. The end result is new emergent behavior of a new complexity. His approach to explain how life can emerge from matter is very compelling.
On a tangential track he introduces three levels of information, each one emergent from the other:
- The Shannon level, using the uncertainty (entropy level) of the next symbol to express the capacity of a communication channel
- The higher the uncertainty means the more options means more carrying capacity
- The Boltzmann level, where the influence (or absence of an influence) of a constraint on the sending process is deducted by interpreting the information flow over the channel
- Which is particular between sender and receiver, so multiple interpretations can co-exist !
- Where absence of an influence can be interpreted as a signal as well, just as the loss of a packet can be a signal for TCP/IP
- The Darwin level, on the usefulness of the information. This is by definition a normative judgment, normative for the individual (or at least for a selective group) receiver or combination of sender and receiver.
Deacon introduces these levels in the context of self-organizing systems that emerge from naturally occurring thermodynamic non-equilibrium processes. The Internet is a designed architecture, something completely different. Yet the similarity of the three interdependent levels he introduces with the interaction between the levels of 1) IP-routers plus links,2) TCP/end2end and 3) the Net Neutrality debate is striking.
- IP-Routers plus links are (imperfect and shared) communication channels for packets of information.
- TCP and the end-to-end principle embody the interpretation level on top of the information channel: the absence of an ACK is a signal for TCP routines in the endpoints to manage the flow, the interpretation of the content of a packet is done by the endpoints.
- Net Neutrality is about the usefulness of the information for the endpoints, its value, and who gets to monetize that value.
The interaction can be described as follows.
The basic functionality of the router is:
- To receive and de-mux incoming packet streams that arrive over multiple links
- To select the forwarding link for each packet
- To mux and send packets that share a link to another router (or endpoint)
A “perfect” router does not add any “imperfection” to a packet stream, it preserves the original characteristics:
- No delay (or variation in delay aka jitter)
- No bit errors
- No loss of packets
In real life a router cannot be perfect: imperfections are added to streams and cannot always be removed at the same system level. At a different level some of them can be: packet loss can be recovered by an end-to-end protocol, bit errors can be recovered by redundancy etc..
TCP/IP uses an specific imperfection (aka packet loss) as a signal on the Boltzmann level to dynamically manage the maximum sending speed over an unknown and variable route, varying traffic conditions in shared routes, and unknown receiver capacity. The feedback loop of TCP/IP is based on NOT receiving an ACK from the receiver. The purpose is to cooperatively use the available shared information channel (as a commons) so the amount of imperfections are minimized and shared over all streams (aka “best effort”) . If all streams would try to grab everything all would suffer much more imperfections than otherwise. The content of a packet is interpreted by the receiver, based on agreed upon standards or proprietary bilateral agreements, for a specific purpose. Imperfections at the lower level ( or low throughput introduced by flow control) can have a detrimental effect on the interpretation. (For example jitter/delay on NTP information in packets)
The interpreted information has a value (usefulness) that is determined by the receiver (and the sender). The value can be reduced because of interpretation imperfections (for example jitter/delay on voice information in packets). The value for one receiver can however be the (perceived) loss for another party (royalties, texting income, traditional voice income, subscription income etc.).
Messing with lower system levels to prevent receivers to get their hands on that competing value is a known practice for ISP’s: for instance DPI to block VOIP on mobile data networks. However bad engineering can have detrimental effects on VOIP as well: bufferbloat which prevents TCP/IP to receive the absence of an ACK in time ruins a lot, underprovisioning the capacity of links creates problems as well.
The Net Neutrality debates focuses on who can monetize the value of the usefullness. In this analysis it is clear that endpoints (users) define the value. The conduits should not be allowed to extort that value. The messy part in the debate is created in part by the badly understood interaction between the levels.