systems don’t have enough network “go-fast” to deliver
the performance required, so just add a dedicated processor to the network interface to make up for it. The economics of that are fleeting at best, however. Between chip
design and system-integration complexity, an NFE will
need to be an economically attractive solution for quite
some time to recoup the development costs. Unfortunately, the relentless improvements in processor, memory
system, and system interconnect in the base PC platform
make that window of advantage a shrinking, fast-moving
target. Does anyone remember the HiFN file compression
processor chip? It got built into PC systems for a very
short time. Processors quickly improved enough to do
compression/decompression on the fly, and that was the
end of HiFN’s dream—well before the dropping cost of
disk storage would have killed it.
“BU T NOT EVERY TIME”
The previous section questioning the efficacy of NFEs
should include a caveat for one particular case that merits
a special mention because it indeed makes a compelling
case for a particular style of NFE.
The proliferation of microcontrollers in devices such as
thermostats, light switches, toasters, and almost everything else with more than a simple on/off switch has
created a real opportunity for NFEs. Almost all of these
microcontroller applications are typified by intense cost
pressure, which usually translates into extreme limitations on available computing resources. It is simply out of
the question to put a network stack in the vast majority
of these systems, but the desirability of remote management of these devices increases daily.
This has created a new breed of NFE: the NCA (
network communications adapter), which specializes in the
simplicity of the protocol between the microcontroller
host and the NFE—serial ASCII. Most microcontrollers
have some serial port ability, so by looking like a terminal, the NCA can play the role of translator, speaking
serial out one side and TCP/IP out the other. The NCA
appears as a host on the TCP network, often containing a
simple Web server that vends state information and may
provide certain other management functions that get
translated into simple ASCII exchanges with the microcontroller system.
An NCA is usually implemented in one of the more
powerful microcontrollers designed to provide an Ethernet interface and support enough RAM and ROM to contain a simplified network stack. The NCA is now available
as an off-the-shelf module designed for integration no
more difficult than a modem on a serial port.
The question of which is the tail and which is the dog
comes to mind in many of these applications. From the
TCP network’s point of view, the NCA is the host and
the microcontroller is being managed. From the point of
view of the lighting controller, the NCA looks like just
one more switch, albeit a chatty one. This distinction is
usually irrelevant—it just makes hash of pedantic layering
diagrams. There’s something quite satisfying about that.
CONCLUSION
Rather than debate the religious propriety of NFEs, particularly the TOE variety, this article has examined the
architectural issues that have produced their recurring
rise and fall. The TOE-style NFE is best viewed as a tactical
tool with a limited expected lifetime of economic viability, not an enduring architectural approach.
This is just another example of the recurring ebb and
flow of functions between specialized peripherals and the
system CPU(s), as the economics slosh back and forth
interacting with system requirements. The limited lifetime of the NFE’s advantages makes it difficult to justify
the significant development costs for any but the highest-value applications.
That said, the inexpensive NCA is likely to be an
approach that does endure. It literally transforms network
communication into an inexpensive, pluggable physical
component. By doing so, it provides an avenue for dealing with the extreme cost pressure inherent in microcontroller applications, while providing an incremental
option of genuine network citizenship when the customer will pay for it. Q
LOVE IT, HATE IT? LET US KNOW
feedback@queue.acm.org
MIKE O’DELL is a venture partner at New Enterprise
Associates (NEA). His primary interest is the structure and
behavioral dynamics of large, complex systems. He works
with NEA’s technology team to identify early-stage information technology, communications, and energy opportunities.
Odell came to NEA from UUNET Technologies, where he was
chief scientist, responsible for network and product architecture during the emergence of the commercial Internet.
He has also held positions at Bellcore (now Telcordia), a
GaAs Sparc supercomputer startup, and a U.S. government
contractor. He was founding editor of Computing Systems,
an international refereed scholarly journal. He received his
B.S. and M.S. in computer science from the University of
Oklahoma.
© 2009 ACM 1542-7730 /09/0200 $5.00