I've been tinkering with different boxes for months in my study, having virtually tried every configuration I could think of and experimenting with a wide variety of systems, mixing DOS, OpenDOS/DRDOS, Geos Ensemble and Citrix Metaframe together and reinstalling Microsoft NT Terminal Server about fifty times to determine what is the best way to get it running on an embedded device with a memory card.
I have successfully written IPX drivers for PowerBasic DOS and for Win32 NT as well as learned how to use libraries for I2C for both platforms. I've gotten almost everything running as a reflected application on my thin client so they are supported all over the shelter system.
I have been trying unsuccessfully to build a dedicated proxy server for my main server that uses an optical ethernet card to the outside world to avoid any dangers from EMP topside. This may take a bit more work and after failing for about two weeks to get it running I may leave it until later on.
While I've been working I've jotted down a few notes now and then every time I got something successfully working. My goal has been to simply develop a disk image which I can provide for download and it can be written as a boot system to a laptop, embedded PC, desktop PC or anything else using x86 technology with minimal specs but which will run with ultimate robustness forever unattended.
Here is the document I've come up with so far, it shows how far I have moved from my original scheme (still visible on the early Vault-OS page) of using the Arachne browser on old computers to run an HTML/CGI/Euphoria based system. I have totally ditched that idea, like all first tries it had it's merits but now I have the benefit of months of hands-on experience with embedded PC/104 systems I did not have back then.
Vault-OS is envisioned as a decentralized, loosely coupled, non-hierarchial architecture of ubiquitous, fairly generic x86 devices communicating over Ethernet/IPX and filesharing technologies running robust dedicated applications with support for a thin client framework and a non-blocking, unintrusive central management server.
The Vault-OS architecture has five primary components : Sentry, Vault-Pad, Thinkboy, watchman and Terminal.
Typical Sentry Applications:
1. Environmental Manager
2. Permaculture Lab Manager
3. Battery Power & Generation Storage Manager
4. Sanitation Manager
5. Fuel & Water Pump Supply Manager
"Sentries" are dedicated system managers using IC2 1-wire networks and Parallel Port Relays to monitor and control mission critical functions with or without oversight. They are simple x86 devices with minimum of 4 megs of RAM running PowerBasic for DOS. They have full PC functionality available with a keyboard and VGA but normally during long dormant periods they only maintain a hardy VFD (vacuum fluorescent display) for the most basic output of information.
It might be possible to run more than one application at a time on a multiuser DOS like DR. DOS on a Sentry, with a serial port reserved for each application's use in a cosynchronous environment. An example "Sentry" could be a program dedicated to running environmental management, controlling battery power and charging, or management of a permaculture lab. The idea behind the "Sentry" is that the only processes running during long periods without inhabitants will be the critical processes. These tasks will be represented as a complete "image" which can then be copied onto any other x86 minimal device should the current one break down and require replacement. "Sentries" run around the clock on x86 16 bit programs in PowerBasic with watchdog function. Microsoft Network Client for DOS driver runs on each machine so if the network is available there will be file sharing and IPX messaging for asynchronous communication. Sentries can also have a minimalist windowed operating system of their own if required called GEOS Ensemble or else a scaled down version of Windows 98SE.
Certain key sensors attached to Sentries are marked as wakeup calls for the entire network, so the Sentry will transmit "Wake-On-Lan" via IPX on Microsoft Network Driver to awaken the server and other devices if these sensors register a trigger. This could be a door sensor registering when somebody enters the shelter or someone tripping a PIR (passive infrared sensor) when passing it.
The "ThinkBoy" server runs on Microsoft NT Terminal server with Citrix Metaframe 1.8 for hosting thin clients. "ThinkBoy" features extensive add-ons for power and display management to put it into minimal hibernation energy demand when unused for long periods and to activate screensavers with useful information.
The primary purpose of the "ThinkBoy" is to act as a general purpose command and monitoring center. The "Thinkboy" will have speech recognition technology that will allow the operator to give the majority of commands via voice. The "Thinkboy" can also read and copy local "Sentry" databases in DB2 format via fileshare and send and receive IPX messages to "Sentries" to control their functions and configuration. In addition, "Thinkboy" will have it's own database server which it runs for it's applications delivered as thin client programs over ICA or RDP. It is likely this database will be Firebird running over ODBC of some sort. Minimal applications for this system will be inventory, personnel, medical, scheduling, maintenance. "Thinkboy" will also run the heavy duty 32 bit applications like the security camera and sensing displays and the diagrams, archiving and PDF reference utilities. If graphics intensive displays are required, the Fastgraph for Windows library can be used as an extremely fast blit to GDI surfaces which does not need DirectX/DirectDraw. This makes graphics applications compatible with ICA protocol for thin clients since DirectDraw/DirectX is not supported. "Thinkboy" will support CD-ROM playback, installation wide PA and sound system. It will feature a sixteen camera security system for both inside and topside of the shelter. There will be a soundcard with audio input and output for Soundblaster compatible drivers. The "Thinkboy" has optical isolation of all inputs where possible and may feature an ethernet proxy to the outside if it is properly baffled via optical fiber. If an antenna is to be connected to support a shortwave/TV/AM/FM card it will have to be grounded and optically coupled.
"Watchmen" are sensor clusters aboveground that feed into the shelter via optical fiber links. These are usually built from custom embedded boards. For the weather station, it is likely a Rabbit2000 taking in sensor measurements and collating them into a single I2C message delivered via optical link. This might be contained inside a waterproofed PVC pipe sealed at both ends and anchored in concrete. For maintenance purposes, the top lid can be opened. A "Watchman" could also be a collation point for seismic sensors for a perimeter that responds to I2C master requests with a bulk data reply.
"VaultPads" are waterproof, resilient wall mounted boxes that function as "Sentries" except they also have thin clients installed to run off the main server when needed.
"Vault Terminals" are essentially any thin client that can connect to the server via ICA protocol. These can be laptops with a thin client installed in DOS or Windows. XT and 286 devices have some support from Citrix. These terminals can support chat and messaging features for all other participating terminals network wide. These of course can also be traditional thin client devices like those from Wyse and Sun Microsystems.
That's where that is right now. Work continues.
I hope to have some PowerBasic applications, particularly the environmental manager, finished and available by the end of this month. At present it is about 60% completed and almost all of the work has been done on driving asynchronous I2C control and sensing without interfering with IPX messaging in real time. As soon as I have it running successfully in Firehold Bravo I will upload a copy with all relevant drivers for testing by the general public.