Customer was experiencing difficulties supporting many different hardware variants of their platform and was looking for a solution to make the tracking easier at an optimized cost.
There were different hardware variants of the monitoring system with different IO cards. System management will read the hardware variant and generate a data model based on the number of IO points in the system. Watchdog checks every thread in the system and restarts it if it is not responding.
Upgrade Management for remote firmware upgrade including the rootfs, os and application. Primary and secondary boot partitions are supported for fail safe upgrade. Multiple boot options with priorities (primary, secondary or USB)
Multiple configuration interfaces via WebGUI developed in Luci/Lua, SNMP, Python CLI
Sqllite database is used to store configurations data. DB Framework is used for XML based configuration. POCO libraries used for sqllite handling.
Event managers, Event generation/notification, Alarm Handler, Internal Faults and Statistics. POCO libraries for thread handling and notification between threads
Protocol libraries for TL1, TBOS, TABS, Port handling, Protocol Wrapper, Client proprietary protocols
System boots only if pre-calculated checksum stored in EEPROM matches with file system checksum. Security enhancement with Ip tables, restricting port access, IP filters used for restricting source IP addresses.