Teradata White Papers

Self healing




Self healing is a buzz word, mostly used in information technology world. Right from the software engineers to the higher management, self healing is one of the software characteristics desired in the end product.

Taking software product as an example, ideally speaking we would be interested in a software, which is error free and run reliably, without breaking for what ever reasons. Building such an bug free product is the goal. Apart from being bug free, the product should be able to handle all the issues, related to run-time environment and should be able to, self heal and adapt to execute reliably, which is also described as fault tolerance.

This could be induced into any of the following
  • Pre-BIOS Phase
  • BIOS phases
  • Post BIOS phase
  • Operating system
  • Ghost software
  • Device drivers
  • Applications software

not only limited to the above, we can have modules pertaining to Infrastructure, platform, software, I have taken these names from cloud technology related layers. We could also plan extending self-healing to IAAS, PAAS, SAAS, DAAS services on cloud. If we dig into each layer to the granular level of software objects implementation, the self-healing can be applied to each and every object or collection of objects.

Whether it is object oriented programming, module oriented programming, data oriented programming, or procedure oriented programming, each piece of code, as defined by the programming paradigm, can be made self aware and self contained, this way it is made self secure too.

Taking analogy of a travelers example here for the sake of ease of analysis to all my readers.

Example:
If the traveler is aware what is there in the luggage, he is carrying at time t=0, he would be able to verify and confirm the luggage is perfect for all values of t=1,2,3...n.

What the example mean here is that, every extra object either attached or injected is easily identified verified and removed as applicable. So we can say that the traveler is self-aware of the baggage he carries. Since he is self aware, he can automatically , adapt to the changes and be able to retain to the changing conditions, which were there at the time t=0.

Below is the table with some of the characteristics and techniques, we can update the table with new characteristics and techniques, based on the readers comments and suggestion.




Characteristics to self-healing
Techniques to self-healing
1. Self awareness, self secure, self adaptable
1. verify the software for all values of “t” and make sure that it is equal to the state of t=0. If the state is other than t=0, the t=0 image is retained.






With the fast progression of the IOT, Cloud and Big data, these techniques will be useful for developing robust, dynamically changing solution.