Trustworthy Autonomic Computing
The concept of autonomic computing seeks to reduce the complexity of pervasively ubiquitous system management and maintenance by shifting the responsibility for low-level tasks from humans to the system while allowing humans to concentrate on high-level tasks. This is achieved by building self-managing systems that are generally capable of self-configuring, self-healing, self-optimising, and self-protecting.
Trustworthy autonomic computing technologies are being applied in datacentre and cloud management, smart cities and autonomous systems including driverless cars. However, there are still significant challenges to achieving trustworthiness. This book covers challenges and solutions in autonomic computing trustworthiness from methods and techniques to achieve consistent and reliable system self-management. Researchers, developers and users need to be confident that an autonomic self-managing system will remain correct in the face of any possible contexts and environmental inputs.
The book is aimed at researchers in autonomic computing, autonomics and trustworthy autonomics. This will be a go-to book for foundational knowledge, proof of concepts and novel trustworthy autonomic techniques and approaches. It will be useful to lecturers and students of autonomic computing, autonomics and multi-agent systems who need an easy-to-use text with sample codes, exercises, use-case demonstrations. This is also an ideal tutorial guide for independent study with simple and well documented diagrams to explain techniques and processes.
Inspec keywords: software fault tolerance; software architecture; open systems; decision making; trusted computing; resource allocation; data privacy; multi-agent systems
Other keywords: trusted computing; fault tolerant computing; artificial intelligence; data privacy; software fault tolerance; open systems; decision making; resource allocation; multi-agent systems; software architecture; trustworthy autonomic computing
Subjects: General and management topics; Knowledge based systems; Data security; Distributed systems software; Software engineering techniques
- Book DOI: 10.1049/PBPC030E
- Chapter DOI: 10.1049/PBPC030E
- ISBN: 9781785618833
- e-ISBN: 9781785618840
- Page count: 264
- Format: PDF
-
Front Matter
- + Show details - Hide details
-
p.
(1)
-
1 Trustworthy autonomics primer
- + Show details - Hide details
-
p.
1
–18
(18)
This chapter has introduced the autonomic computing concept as a solution to dealing with the problem of increasing cost of ownership and complex management of computing systems, while also making the case for trustworthy autonomic computing. Definition of relevant autonomic terminologies has also been provided. This is important to ensure adequate understanding of the concepts and ideas presented in this book. The self-CHOP autonomic functionalities are at the core of autonomic computing. These have been introduced, with examples.
A general introductory discussion on trustworthy autonomic computing and a review of the research in trustworthy autonomic computing are discussed. Trustworthy autonomic computing is built on three pillars, covering validation, dependability and architecture considerations. These pillars would ensure, amongst other things, fit-for-purpose results, continuous evaluation of control actions and will support the definition of systems in universal language at both system design and post system design. Trustworthiness support will need to be conceived during system design and so should be integrated into the autonomic architecture.
-
2 Evolution of autonomic computing
- + Show details - Hide details
-
p.
19
–52
(34)
The major theme in this book deals with identifying and developing techniques to make autonomic computing systems trustworthy. To achieve this, it is important to first understand the level of work that has already gone into the autonomic computing research and how that can be harnessed. This chapter starts with an overview of the autonomic computing architecture and its life cycle. A broad analysis of autonomics research to show the trends in and direction of the autonomic computing research and where the work needs to be concentrated to address open challenges and achieve trustworthiness is presented. It is also important to take a holistic view of the entire field of research in order to gain a clearer picture of the need for and lack of effort towards trustworthy autonomic computing.
In this chapter, you will learn the following: the design of autonomic systems; the life cycle of autonomic architecture; key factors of trustworthy autonomic computing design; major trends and direction in the autonomic computing research; about key studies and researchers that have shaped the study of autonomic computing.
-
3 Autonomic enabling techniques
- + Show details - Hide details
-
p.
53
–92
(40)
There are many autonomic enabling techniques and this chapter has only considered a few. These techniques are the building blocks that make autonomic systems what they are. If you consider these as standalone components with connection and interoperability interfaces, they can be used to define autonomic systems of varying functionalities. Deploying one component is capable of achieving at least one of the self-* autonomic functionalities and combining more components results in even more functionalities. There is probably no limit to how autonomic enabling techniques can be combined - examples have been discussed in this chapter. The more efficiently these can be combined, the more trustworthy the resulting autonomic systems will be. So, trustworthy autonomic computing will require some level of leveraging the capabilities of different autonomic enabling techniques.
There are other relevant techniques that can be used to achieve some level of autonomic capabilities. For example, fault tolerance, which gives a system the ability to continue operating despite failure in some parts of the system, can be used to achieve self-healing autonomic functionality. Trend analysis helps in deducing useful trends and information from a continuous stream of data, and this can help in adaptation decision-making process of autonomic systems. The use of trend analysis is shown in Chapter 6. Load balancing is another important technique. It enables the efficient distribution of tasks across resources and can be used to achieve self-optimisation autonomic functionality.
-
4 Trustworthy autonomic computing
- + Show details - Hide details
-
p.
93
–108
(16)
Trustworthy autonomic computing (TAC) looks beyond the basics of successfully achieving an autonomic system to establishing basis for trusting that the autonomic system does 'what it says it will do'. This chapter introduces the trustworthy autonomic architecture (TrAArch) and covers the following: The importance of TAC; The differences between TAC and Trusted Computing; How a TrAArch can be designed; Overview of the TrAArch framework
-
5 Trustworthy autonomic architecture implementations
- + Show details - Hide details
-
p.
109
–165
(57)
This chapter has presented an implementation and empirical investigation of the proposed trustworthy architecture. Two case examples have been used to demonstrate an implementation of the TrAArch. Experiments are based on different scenarios that replicate real-life systems and operating conditions. The experiments investigate performance differences between the traditional autonomic architecture and the proposed TrAArch. Results show that the proposed architecture has significant performance improvement over the existing architectures and can be relied upon to operate (or manage) almost all levels of autonomic system scale and complexity. The traditional architecture has a narrow envelope of operational conditions in which it is both self-managing and returns satisfactory behaviour, while TrAArch is sufficiently sophisticated to operate efficiently and yield satisfactory results under almost all perceivable operating circumstances. This chapter has also shown the importance of trustworthiness, also referred to as dependability, to autonomic computing and how this can significantly improve the performance of autonomic systems.
The TrAArch simulator has also been presented in Section 5.2.1 with a detailed explanation of how to use it. This is particularly important if the reader wants to recreate the experiments presented in this book or design new ones. To help the reader further understand or demonstrate the effect of trustworthiness, it is advisable to design new simulations of different scenarios and analyse the results following the examples presented here. For the self-adapting resource allocation case example, only three scenarios are used in this book. The reader can study more scenarios for this same case example. This can also help as a guide for studying other case studies of choice.
-
6 Multi-agent interoperability
- + Show details - Hide details
-
p.
167
–195
(29)
This chapter has presented an overview of multi-agent systems coordination and the challenges of interoperability between autonomic managers in multi-manager scenarios. The very success of autonomic computing has inevitably led to situations where multiple autonomic managers need to coexist and/or interact directly or indirectly within the same system. Potentially, problems can arise due to conflict of interest when these managers (components) coexist. This is partly as a result of increasing scale and complexity of newer systems. Interoperability challenges stem from the fact that these components could be multi-vendor supplied, upgrades in one component could trigger compatibility issues, increasing scale can introduce bottlenecks, one component may be unaware of the existence of another and components, though tested and perfected in isolation, may not have been wired at design to coexist with other components.
An overview of a few interoperability solutions has been presented. These solutions are based on different established mechanisms. An architecture-based interoperability solution that addresses complex interactions between coexisting autonomic managers has also been presented. The interoperability solution, which is based on the TrAArch architecture, builds on the Stigmergy mechanism - this mechanism allows for indirect coordination, through the operating environment, between coexisting autonomic managers. In this approach, autonomic managers are designed to sense their environment and dynamically (re)adjust (retune) their behaviour as soon as they notice process conflicts. Experimental analyses have been presented to evaluate the performance of the stigmergy-inspired interoperability solution. The importance of considering interoperability capability as an integral part of the autonomic manager design has also been proposed. This is another step towards trustworthy autonomic computing.
-
7 Level of autonomicity
- + Show details - Hide details
-
p.
197
–216
(20)
This chapter has discussed the idea of measuring LoA and has presented a quantitative approach. The methodology presented here is a two-dimensional definition, supporting only two levels of description - a system on one hand and its characteristics (functionalities) on the other hand. To support higher dimensional definition - a system, its characteristics and sub-characteristics, a bit of adaptation is required.
Also note that while this approach can be used to quantitatively measure the LoA of an autonomic system, there are assumptions to consider when comparing LoA achievements of different systems. For example, using the proposed approach, the LoA of two autonomic systems can only be directly compared if both systems are of the same category (i.e., if the same number and level of autonomic functionalities are required for both systems). It is also assumed that all autonomic metric contributions would be normalised within the range of (0-1).
-
8 Conclusions and future work
- + Show details - Hide details
-
p.
217
–225
(9)
This chapter concludes the work and summarises the key points covered in this book. It also discusses the direction of future work.
-
Back Matter
- + Show details - Hide details
-
p.
(1)