Rangachari Anand

May 28 2004

    I recently discovered manageability.org the web site of Carlos Perez, a former colleague from my days at IBM Research. Carlos was one of the experts on object oriented programming in our e-commerce group (we were working in the area of e-marketplaces). There is a lots of great stuff about Java in the enterprise on this site and its definitely worth a visit.
    There is one particular article that caught my attention - about the possibility of using hardware as a distribution mechanism for software. This is a topic of great interest to me since I have been working on such network appliances at a startup, for the past four years. We are essentially a software company but do not sell our software directly to customers. Instead, it is packaged along with hardware in the form of an appliance. There are several reasons for taking this approach and they include:
   The biggest problems that we have faced with this approach are pretty much what you can expect:
   The initial configuration of our boxes is done with the help of a serial port on the front panel. Using some terminal emulation software such as TeraTerm, the administrator can access a command line interface that is used to configure IP parameters. After the initial configuration, all subsequent configuration is conducted over a web interface. Other appliance products sometimes include an LCD panel that can be used for the same purpose.
    Network appliances usually do not include a CD ROM so they must be updated over the network. Getting software upgrades to work properly has been one of the main challenges that we have faced. In general, flash or disk must be structured into multiple partitions so that the live code does not have to be touched. The new version of the software is written into another partition and when properly installed, the box is changed to boot from the new code.


Copyright © 2004 Rangachari Anand, All Rights Reserved.