TL;DR: This paper discusses the security and privacy challenges posed by autonomic systems and provides some recommendations for how these challenges may be met.
Abstract: System and network security are vital parts of any autonomic computing solution. The ability of a system to react consistently and correctly to situations ranging from benign but unusual events to outright attacks is key to the achievement of the goals of self-protection, self-healing, and self-optimization. Because they are often built around the interconnection of elements from different administrative domains, autonomic systems raise additional security challenges, including the establishment of a trustworthy system identity, automatically handling changes in system configuration and interconnections, and greatly increased configuration complexity. On the other hand, the techniques of autonomic computing offer the promise of making systems more secure, by effectively and automatically enforcing high-level security policies. In this paper, we discuss these and other security and privacy challenges posed by autonomic systems and provide some recommendations for how these challenges may be met.
TL;DR: In this article, the authors present a framework for context-aware applications in pervasive computing environments, which integrates a set of original conceptual foundations, including context and preference modelling techniques, with a software architecture that implements context and preferences management functions and provides programming support in the form of a toolkit.
Abstract: The emergence of new types of mobile and embedded computing devices and developments in wireless networking
are broadening the domain of computing from the workplace and home office to other facets of everyday life. This trend is expected to lead to a proliferation of pervasive computing environments, in which inexpensive, interconnected computing devices are ubiquitous and capable of supporting users in a range of tasks. It is widely accepted that the success of pervasive computing technologies will require a radical design shift, and that it is not sufficient to simply extrapolate from existing desktop computing technologies. In particular, pervasive computing demands applications that are capable of operating in highly dynamic environments and of placing fewer demands on user attention. In order to meet these requirements, pervasive computing applications need to be sensitive to the context of use, including the location, time and activities of the user. Currently, the programming of
context-aware applications represents a complex and error-prone task, while modification to support changing user requirements or a changing set of context information is usually prohibitively difficult. Consequently, context-aware applications are explored largely in laboratory settings, and remain some distance from widespread ac ceptance and use. In order to remedy this situation, there is a need for better understanding of the design process associated with context-aware applications, improved programming models that lead to highly flexible and customisable applications, and infrastructural support for tasks such as gathering and management of context information. This thesis presents a framework that addresses these issues. The framework integrates a set of original conceptual foundations, including context and preference modelling techniques, with a software architecture that implements context and preference management functions and provides programming support in the form of
a toolkit. The thesis makes several important research contributions. First, it presents a novel characterisation of context information in pervasive computing systems, covering (among other features) temporal aspects and various types and sources of uncertainty. Second, it proposes two complementary approaches to context modelling. The first modelling approach, CML, provides a graphical notation that supports the exploration and specification of an application's context requirements by the designer. CML represents context information in terms of facts, and has a strong formal basis that enables a straightforward mapping to a context management system built around a relational
database. The second approach, termed the situation abstraction, allows contexts to be described in selective, high-level terms as constraints upon a fact-based CML model. Situations are well suited for use in context querying and as programming abstractions. Third, the thesis presents a pair of programming models that can be used in conjunction with the situation abstraction. The first model, which enables the triggering of actions in response to context changes, has been widely used previously in the development of adaptive and context-aware software, but is reformulated here to accommodate uncertain context information. The second model, which supports choice amongst alternative actions based on the context and preferences of the user (termed branching), is unique to this thesis, and is developed in conjunction with a novel preference modelling approach that allows users to
easily express and combine context-dependent requirements. Fourth, the thesis proposes a software architecture for context-aware systems, which combines toolkit support for the two programming models with software components that perform gathering and processing of context information from a variety of sources, and management of both context and preference information. Finally, the thesis presents a case study that evaluates a partial implementation of the architecture and its underlying conceptual foundations. This involves the development of a context-aware communication platform that supports choice of communication channels for interactions between users based on the contexts and preferences of the participants. The case study validates the architecture, the context and
preference modelling approaches and the branching model, and illustrates the process and issues involved in the design of context-aware software.
TL;DR: This article provides an overview of the Policy Management for Autonomic Computing (PMAC) platform and shows how it can be used for the management of networked systems.
Abstract: This article provides an overview of the Policy Management for Autonomic Computing (PMAC) platform, and shows how it can be used for the management of networked systems. We present the policy information model adopted by PMAC and the system model for interaction between the policy manager and the managed resource. We also present the main components of PMAC for policy creation, storage, evaluation, and enforcement, and present practical applications of PMAC in networks management.
TL;DR: The overall objective of AutoMate is to investigate key technologies to enable the development of autonomic grid applications that are context aware and are capable of self-configuring, self-composing,Self-optimizing and self-adapting.
Abstract: The increasing complexity, heterogeneity and dynamism of networks, systems, services applications have made our computational/information infrastructure brittle, unmanageable and insecure. This has necessitated the investigation of a new paradigm for design, development and deployment based on strategies used by biological systems to deal with complexity, heterogeneity, and uncertainty, i.e. autonomic computing. This paper introduces the AutoMate project and describes its key components. The overall objective of AutoMate is to investigate key technologies to enable the development of autonomic grid applications that are context aware and are capable of self-configuring, self-composing, self-optimizing and self-adapting. Specifically, it will investigate the definition of autonomic components, the development of autonomic applications as dynamic composition of autonomic components, and the design of key enhancements to existing grid middleware and runtime services to support these applications.
TL;DR: This work surveys existing work in mobile computing through the prism of cloud computing principles, and provides an overview of the results and recommendations for how a better understanding of mobile cloud computing can help building more powerful mobile applications.
Abstract: Cloud computing is an emerging concept combining many fields of computing. The foundation of cloud computing is the delivery of services, software and processing capacity over the Internet, reducing cost, increasing storage, automating systems, decoupling of service delivery from underlying technology, and providing flexibility and mobility of information. However, the actual realization of these benefits is far from being achieved for mobile applications and open many new research questions. In order to better understand how to facilitate the building of mobile cloud-based applications, we have surveyed existing work in mobile computing through the prism of cloud computing principles. We give a definition of mobile cloud coputing and provide an overview of the results from this review, in particular, models of mobile cloud applications. We also highlight research challenges in the area of mobile cloud computing. We conclude with recommendations for how this better understanding of mobile cloud computing can help building more powerful mobile applications.