| Level 3: instrumentation with ARMOR APIs. |
The infrastructure defines an API for the application to interact with the ARMOR processes. Fault tolerance and security protection mechanisms can be tightly integrated within the application processes themselves, permitting a greater degree of customization than is available through the other two approaches. Example internal mechanisms include: (i) reliability support – checkpoint of memory state, adaptively reconfigure the error detection and recovery services based upon phases of the application's execution, application-specific self-tests that can be invoked by external ARMOR processes to assess health of the application; (ii) security support – automated recovery from security attacks with minimal performance loss. This level also provides support for automatic extraction of program invariants to form separate intrusion and error detectors as ARMOR building blocks.
Because of the flexible ARMOR infrastructure, security protection and
detection and recovery services – embodied as reconfigurable high
availability and security modules – can be added or removed from the
infrastructure depending upon application requirements. The modular design
ensures that the customer only pays for the strategies that he uses—in
terms of both cost and hardware resources. Plus, a clear upgrade path exists
through which additional protection capabilities can be added to the ARMOR
infrastructure in the future.