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.
No comments:
Post a Comment