1999-03-15-21:47:33 Weeks, Thomas:
I would probably go with a multi-x86 box (low cost) running Linux (kernel 2.2), SAMBA, hardware RAID, etc.
I'd probably do something similar, but not quite identical. I wouldn't mess with multi-cpu, at least not intially (though Linux supports it) until and unless I got convinced that I couldn't tune the code to saturate a 100Mbps with a nice fast single cpu. I'd make sure my solution supported the Znyx quad-100BaseT Tulip cards. And then the thing I'd add to the picture, my special niche product, would be a nice setup for battery-backed SDRAM; I'd probably at least start off making it PCI, and would go with the PC100 interface ==> cheap fast chips. Allow multiple boards. Rig 'em with say a few minutes of battery run-time on-board, and an external connector for a deep-cycle marine battery or some such to ride out weeks or months of power outage. Publish the Linux drivers, so that you can get a lot more people contributing debugging and performance tuning help.
Go with say 512MB battery-backed SDRAM at the low end, scalable up to a few gigs, teach the filesystem drivers to work well with it as write cache, configure plenty of regular ram and let the OS have it for read cache.
I'd really hope you could pretty easily saturate 100BaseT with that sort o' lashup, and be well-positioned to deliver rocking performance through etherchannel and maybe even gigabit ether, though there you might in fact need more muscle.
-Bennett