I describe an open network architecture where code can travel to nodes (switches) of the network in support of application specific protocols. The nodes enforce a behavior discipline to ensure integrity of other network users. This goal has been much discussed under several names such as Active Networks.
We may contrast the current situation of networks with the batch processing systems of the 1960s. Then it was very expensive and slow to test and introduce new code. These systems were devoted to the needs of an institution and were very expensive. Their expense usually precluded personal access to such machines. Debug shots were often separated by 24 hours or worse. Timesharing allowed the individual programmer to debug new code on a schedule convenient to him. A major development logjam was broken. Later personal computers extended this effect.
Today computer networks are like those ancient batch processing systems. While you may be able to afford a test network, that network is not connected to the hardware and users that your new code is designed to serve. We need networks that can run new buggy network code while other network users proceed undisturbed.
I propose to philosophize about architectural assumptions that I am aware of as I go. I hope that this does not muddy the description too much.
Not only must resources within the node be guarded against abuse but also the capacity of the links between switches which are usually fixed bandwidth. It would seem natural to adopt an extant operating system for such a system has nearly the same goals. Indeed I designed one that I think would do well. Sometimes it is wise however to imagine, for a while, that they had not been yet been invented so as to get a fresh perspective on the problem.
I will borrow ideas from the Digital Silk Road as an ultra light weight money scheme as I have already assumed that a money economy is the only adequate way to trade off interests between a wide variety of users.