[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
VESA Home Networks "RFI"
Draft 0 Response to VESA Home Networks RFI on protocols for the Home
Network.
The VESA Home Networks working group has put out what they call an RFI,
(Request for Input?) on protocols for the home network. The RFI can be
found at URL ftp://ftp.lexmark.com/pub/vostpub/index.html
which refers to a couple of image files in the same directory.
In some respects, we should probably let them continue. While they ask
many useful questions in the RFI, they say that they have already
decided to use 1394 as "the backbone" of the network, and Colin can
testify to the weight of support for that decision --- whether it is
sensible or not.
Because I believe not only that 1355 is a much better solution but also
that they will come to regret the 1394 decision, I sent out today a note
comparing 1394 with the factories of the 1950s, before the manufacturing
and quality revolutions which brought the Japanese consumer goods
companies their domination. It is ironic that it is these same companies
who are supporting technology that their manufacturing colleagues would
have thrown out 40 years ago.
(if you are not on the ieee-hic reflector and would like a copy of the
analogy note, it is at URL http://www.walker.demon.co.uk/1394anlg.txt)
The VHN RFI gives the occam/transputer/1355 community an opportunity,
and so I have agreed to respond to it. As the response needs to be in by
the end of March and I am away next week, here is a short description of
what I'd like to respond with, and some questions that probably need
answers.
We could, of course, go in with occam channels as THE protocol and 1355
as the means of carrying them, but that would not exactly be politically
acceptable.
The protocols they want include how traffic is sent around the network,
and how the network is configured. We have an opportunity with both of
these.
Currently, "plug and play" configuration is normally done by defining a
set of registers in an address space, so called "CSRs" (Control and
Status Registers). PCI has these and they are specific to the PC so that
a PCI board needs a different set of EEPROMs to work in anything other
than a PC. For anything else they don't actually use the CSRs, but use a
program written in FORTH, a technique borrowed from SUN's SBus boards.
We can argue, and will in our response to the RFI, that the CSR approach
is unacceptable on the grounds of privacy and security in the home
network. The FORTH solution at least has the benefit of running on
heterogeneous machines, but is also insecure.
(The following paragraph has been provided by Peter Welch)
We therefore propose an adaptation of SUN's FORTH/OpenBoot
mechanism to use SUN's secure language JAVA instead of FORTH. A class
library providing high-level primitives for thread communication and
synchronisation is added to the basic JAVA language. These primitives
upgrade Java semantics from Hoare's Monitors to Hoare's CSP, giving
explicit control of non-determinacy and considerably easing the task
of programming concurrent and distributed applications. The combination
language and class library is referred to as JavaPP.
Many components on the network will have processing power enough to
process the configuration applet. A nice feature of the applet though is
that if there are no resources at the node to process it, it can be
shipped to another node for processing and the results shipped back. It
may, indeed, be desirable to consider the applet model more widely than
for configuration, but I'd prefer to leave it as with occam that a
channel, once set up, follows a protocol understood by the two ends with
complete freedom as to what that protocol actually is.
For the network routing protocol, we propose to use Path Identifiers and
Channel Identifiers like ATM's VPI and VCI, with the exception that
within the bounds of the home network they do not need to be virtual. We
also use them very much like the URLs of the www, except perhaps they
are best seen back-to-front. For example there could be a path ID
Kitchen.Closet.LightSwitch, where the Kitchen component of the URL is
stripped as soon as it is used, and so on until the whole of the Path ID
is stripped. At each node there is then at least one configuration
channel, which holds the configuration applet, and one or (many) more
operation channels, which may of course themselves used to multiplex
further groups of channels a la URL.
Of course the JavaPP is very heavily based on occam, and is inferior to
occam in many respects, but we might get an audience with JavaPP which
we would never get with occam. And the routing protocol is exactly what
Barry Cook and I have filed as a patent application on for a 1355
routing switch, which is currently being designed at Nottingham Trent
University. But again, describing it in terms of ATM and URLs means that
people with other prejudices might have a chance to understand and open
their minds to it.
There are plenty more points in the RFI where the occam/transputer/1355
community has excellent answers which others will find difficulty in
matching, but the JavaPP configuration and the ATM/URL based routing
protocol are probably the strongest USPs.
Discussing this has opened up a whole range of rather exciting
possibilities, such as a light switch or a TV being an "object".
(Remember the discussions we had ten years ago about these things being
occam processes?)
Meanwhile I've a number of questions:
What do we do if they like it and say they want it all tomorrow? (WoTUG
might be an opportunity to discuss that as it is just a week after the
VHN review.)
What do we do if they like it and go off and develop it all themselves
without further reference (or income) to us?
The heterogeneity of the network is of course ideal for 1355, but
heterogeneity is also what CORBA aims to address. I'm presuming that OMG
as an institution has too much inertia to provide a solution here, and
that CORBA implementations are too big and too slow. Of course for the
configuration, within limits, speed does not matter. So should we be
talking CORBA instead?
and finally
Does it make sense, or am I talking rubbish?
Am I flogging a dead horse?
Paul
--
Paul Walker 4Links phone/fax
paul@xxxxxxxxxxxxxxxxxx P O Box 816, Two Mile Ash +44 1908
http://www.walker.demon.co.uk Milton Keynes MK8 8NS, UK 566253