Professional Documents
Culture Documents
Approach To Determining An External Problem For Self-Healing
Approach To Determining An External Problem For Self-Healing
ABSTRACT
Self-healing is a methodology used for constructing a system that can detect faults
and recover itself and returns from an abnormal state to a normal state. Much
attention has recently been focused on self-healing ability that recognizes problems
arising in a target system. However, if a system wants to provide self-healing
functionalities, there are many loads such as target system analysis and system
environment analysis for external problem. Thus, this paper proposes using
deployment diagram for self-healing approach to determine problem arising in
external environment. The UML deployment diagram is widely used for resource
specification of a system and generally designed in the system design phase. The
approach proposes of 1) analysis for associations between software and hardware;
2) generating a monitor using constraints in deployment diagrams; and 3) adding
the monitor to the component after adapting it to the specific software architecture.
As proof of the approach, we automatically generate a resource monitor
automatically, and used a video conference system. We illustrate how the method
detects anomalies using the example.
Component Monitor: This module observes In this paper, we present an improved self-
behaviors of each object through messages healing component architecture that can recover
from connectors in the service layer.
resource problems. We do not focus on inner
Component Reconfiguration Plan problems in this paper because this is covered by
Generator: This module produces Shin et al.[3,4,5] The resource in this case could
reconfiguration plans for when a fault occurs be independent of the software. The monitor
in the service layer. It also has information for measures the state of resources periodically and
objects in the service layer. decides whether self-healing policies should be
adopted or not. For this, we used a modified
heartbeat algorithm. The algorithm sends the
Component Repair Plan Generator: This signal to resources. Through this mechanism, the
module constructs self-healing strategies for
resource monitor can measure values and detect
faulty objects. It has recovery plans for each
object in the service layer. anomalies.
XMI Parser: The XMI parser analyzes resource means the duration time until the detection of
constraints of and associations with the resource. a fault. It can be also said to be the waiting
In the analyzing phase, the outputs are time in the method; initially, its value is 1
monitoring targets and constraints. These outputs second. This value is used as a setting value
are parsed in XML format.
for experiments and can be changed for any
Monitor Template Generator: The monitor system environment.
template generator uses the output of the XMI
parser. It generates a monitor template, which Table 1: Constraints List
detects device problems or resources selected for Contents Input Unit
monitoring. This template is implemented in the CPU
0.0 ~ 1.0 Percent
specific language. usage
Mem
0.0 ~ 1.0 Percent
Configuring: The monitoring template code usage
need to be modified for adaptation. The software Heartbeat 0.1 ~ 1.0 Second
developer configures it for the structure of User defined
software. Bandwidth minimum KB/s
bandwidth
Resource Monitor: The resource monitor User defined
generated by the approach can be adapted to the Method connection
software directly. type
Duration time
Duration for detecting Second
fault
implemented by Java2 SDK 1.4. The client the client, and a routine that prints the error time in a
additionally used DirectShow.NET for the video resource monitor in pursuit of the accuracy of the
device. A deployment analyzer and resource monitor Failure-Detection Latency evaluation. The detection
template were also implemented in C#. Fig. 3 results for various constraints are listed in Table 2.
illustrated the deployment diagram that we used. Fig. The error detection time, which was estimated for the
7 and Fig. 8 illustrate the Parsing Engine prototype CPU for 10 times, is shown in Fig. 10.
and Template Generator.
Table 2: Experimental results of the monitoring
4.2. Normal case Success of
Check list Constraints
Resource monitor continues to monitor the detection
resource unless resource performs its work CPU
Max 80% Success
without any anomalies. usage
Memory
usage Max 70% Success
4.3. Abnormal case
Monitor detects an abnormal state when the Bandwidth
usage Min 50KB/s Success
measured value was over the normal range or the
connection with the other resources was accidentally Abnormal
Network
terminated. Figure 9 illustrates the case when the network Success
connection
CPU usage was in excess of 80%. In this paper, we determination
did not focus on self-healing strategies. Therefore,
strategies for healing the faulty state were generated
by the administrator.
The resource monitor production is [5] Micheal E.Shin, Jung Hoon An, Self-
reconfiguration in self-healing systems,
automated Proceedings of the 3th IEEE international
A strategy is in place in the case of faults Workshop on EASE06, pp.106-116 (2006).
in resources. [6] K. Mills, S. Rose, S. Quirolgico, M. Britton,
C. Tan, "An autonomic failure-detection
Until now, developers have to do more effort algorithm", ACM SIGSOFT Software
Engineering Notes, Vol. 29, Issue 1, pp. 79-
to implement the monitor which checks resources 83(2004).
for the software. However, in this study, we
[7] G. Booch, J. Rumbaugh, I. Jacobson, "The
confirmed that we could make resource monitors Unified Modeling Language User Guide",
automatically that can include a self-healing Addison Wesley, pp.100-150 (1999).
component by a deployment diagram. To [8] XMI Online Document, http://www.omg.org/xml
evaluate these, we arranged a prototype
component and confirmed whether the detection
monitor operated correctly when an abnormal
situation occurred.
However, we could not overcome a high
overhead since signals must be exchanged
frequently if errors are to be detected. To solve
this problem, a study that investigates self-
regulating cycles of exchanging signals between
monitors is needed. The study of automation in
self-healing strategies for recovering from faulty
states remains future work.
6 ACKNOWLEDGEMENT
This work was supported by the Korea Science
and Engineering Foundation (KOSEF) grant
funded by the Korea government (MEST) (No.
2009-0077453) and a result of Faculty Research
Fund (2008) of Sungkyunkwan University.
Corresponding author: Eunseok Lee.
7 REFERENCES
[1] B.Topol, D.Ogle, D. Pierson, J. Thoensen, J.
Sweitzer, M. Chow, M. A. Hoff-mann, P.
Durham, R. Telford, S. Sheth, T. Studwell,
Automating problem determination: A first
step toward self-healing computing system,
IBM white paper (2003).
[2] D. Ghosh, R. Sharman, H. R. Rao, S.
Upadhyaya, "Self-healing - survey and
synthesis", Decision Support Systems in
Emerging Economies, Vol. 42, Issue 4, pp.
2164-2185 (2007).
[3] Michael E. Shin, "Self-healing component in
robust software architecture for concurrent
and distributed systems", Science of
Computer Programming, Vol. 57, No. 1, pp.
27-44 (2005).
[4] Michael E. Shin and Jung Hoon An, "Self-
Reconfiguration in Self-Healing Systems",
Proceedings of the Third IEEE International
Workshop on EASE'06, pp 89-98 (2006).