Runtime Adjustment of Configuration Models for Consistency Preservation
Azadeh Jahanbanifar, Ferhat Khendek, Maria Toeroe · 2016
A system configuration consists of many entities with many configuration attributes that are interrelated by system constraints. A system configuration is consistent when all the constraints are satisfied by the entities, their attributes and relations. At runtime a system configuration may be modified for instance in response to changes in the system environment or for security/performance fine-tuning purposes. These changes may jeopardize the configuration consistency as some constraints may be violated. This could be due to the incompleteness of the set of changes as performed by the administrator who is not aware of all the relations between all involved entities/attributes. In order to resolve such inconsistencies we propose an approach for complementing the incomplete set of changes and therefore adjusting automatically the configuration at runtime. The adjustment consists of modifications of other entities/attributes that re-establish the configuration consistency. We achieve this by propagating the changes in the configuration according to the system constraints following the possible impacts of the configuration entities on each other. We try to minimize the complementary modifications to control the side-effects of the change propagation as we target the domain of highly available systems. The problem is formulated as a Constraint Satisfaction Problem (CSP) which we solve using a constraint solver.