Self-* Algorithms and Autonomic Communication Systems Beatriz Otero1, Salvador Sahuquillo1, Pere Barlet-Ros1, Salvatore Spadaro2 and Josep Solé-Pareta1 Technical University of Catalonia, C/Jordi Girona 1-3, Campus North, 08034, Barcelona Catalonia-Spain 1 Computer Architecture Department
[email protected],
[email protected], {pbarlet, pareta}@ac.upc.edu 2 Communications & Signal Theory Department
[email protected]
ABSTRACT
such capabilities requires a deep re-thinking of the current way of developing and deploying distributed systems and applications.
There are signs of evidence of a convergence of Future Internet (WebX.0) and Telco-ICT (e.g. SDK, Telco2.0 models). This paper proposes a vision bringing above convergence to a mature exploitation by developing a distributed framework for evolving services and applications open to Prosumers, Telco and Web Operators, Application Providers, etc. This vision implies overcoming current Service Frameworks limitations and managing new complexities. Autonomic systems with self-* algorithms are offering interesting solutions.
In this direction, a promising approach consists in conceiving services as part of an “open ecosystem” through which they can prosper and thrive at the service of users. This vision is attractive because it not only allows providing better services to end-users, but also meets the emerging economic urge for service provision and system management deriving by the higher level of dynamism and variability of communication systems.
In this paper, we enumerate and describe the main autonomic capabilities and self-* algorithms that can be used in autonomic communication systems. In each case, we illustrate with examples each autonomic property.
Categories and Subject Descriptors C.2.1 [Computer Systems Organization]: ComputerCommunications Networks – Networks Architecture and Design; K.4.1 [Computing Milieux]: Computers and Society – General.
General Terms Design, Human Factors, Theory.
Keywords Design principles, autonomic communication systems.
1. INTRODUCTION Today’s Internet is rapidly evolving towards a collection of distributed and pervasive services. In the next future, such services will be expected to (i) autonomously detect and organize the knowledge, and (ii) self-adapt and self-configure to get the best from any situation in order to meet the needs of diverse users, in diverse situations, with limited human intervention. These features will enable a wide range of new activities that are simply not possible or impractical now. However, achievement of This work was partially funded by the Ministry of Science and Technology of Spain under contract TIN2007-60625 and by the HiPEAC European Network of Excellence and by the Catalan Research Council under contract 2005-SGR00481. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
At the same time, there are clear signs of evidence of a convergence of Future Internet (WebX.0) and Telco-ICT (e.g. SDK, Telco2.0 models). This paper proposes a vision bringing above convergence to a mature exploitation by developing a distributed framework for evolving services and applications open to Prosumers, Telco and Web Operators, Application Providers, etc. Autonomic systems with self-* algorithms are offering interesting solutions. This vision based on distributed architectures of components that are abstracting any services, pieces of data and Future Internet and Telco-ICT enablers. Idea is to design such frameworks in a way that are selfconfiguring, self-organizing, self-stabilizing, self-optimizing, selfhealing and self-protecting. Such frameworks should be able to learn and adapt to their environment (changes in topology, technologies, service demands, application context, etc) thus providing much needed flexibility and functional scalability. The remainder of the paper is organised as follows: Section 2 describe the autonomic capabilities and shows examples for the main properties. In this section, we mention related works and research in this area. In Section 3 shows a use case. Finally, Section 5 has the conclusions of the paper and the future work.
2. SELF-* ALGORITHMS Autonomic communication systems must know their environment and the context surrounding their activity, and act accordingly [17]. They find and generate rules to best interact with neighbouring systems and adapt themselves. Autonomic interaction and policy-based self-management are technologies that support inter-component interactions, such as service-level agreements, negotiation protocols and algorithms, and conversation support.
2.1 Autonomic Capabilities IBM, as part of its autonomic computing initiative, has outlined the need for current service providers to enforce adaptability and properties of self-configuration, self-optimization, self-protection and self-healing, via service (and server) architectures revolving around feedback loops and advanced adaptation/organization
techniques. Sample self-managing in autonomic communication systems include: installing software when the system has detected that some software is missing (self-configuration), adjusting current workload when an increase in capacity is observed (selfoptimization), taking resources offline when an intrusion is detected (self-protection) and restarting a failed component (selfhealing) [30]. These properties are accompanied by four enabling properties or attributes, namely self-awareness, environmentawareness, self-adjustment and self-monitoring [15] [17] [22]. Since 2001 the self-* list of properties has grown substantially [36]. It now includes features such as self-anticipation, selfadaptation, self-definition, and self-organization among others [35] [36]. Driven by such vision, a variety of architectural frameworks based on “self-regulating” autonomic components has been recently proposed both by IBM and by independent research centres [4] [6] [13]. Moreover, [18] proposed a model to measure the degree of autonomicity (i.e. self-management) in these systems. Examples systems with autonomic capabilities are presented bellow. −
Storage Tank [28] is a multi-platform accessible storage management system. It supports self-optimization and self-healing properties.
−
Oceano [16] facilitates cost effective scalable management of computing resources for software. It handles self-optimization, self-awareness and constant component monitoring. Oceano provides a hosting environment with fast response time in adjusting the resources, assigned to each hosted, to the dynamically fluctuating workload.
−
AutoAdmin [29] reduces the total cost of ownership. It supports the autonomic capabilities of self-tuning and self-administration.
−
OceanStore [2] is a globally scalable storage utility. Providing a consistent, highly-available and durable data storage system. It supports the autonomic capabilities of self-optimization, self-healing, selfconfiguration and self-protection. The four main capabilities that characterising an autonomic communication system. This system has policy-based catching, autonomic replication, routing substrate adaptation, testing, monitoring and repairing.
−
Sabio [32] autonomically classifies large numbers of documents. It provides self-* properties such as selforganization and self-awareness.
−
Q-Fabric [33] is a system support for continuous online quality management in order to provide end-users with the quality of service they require. It handles the autonomic property of self-organization.
−
SMART DB2 [26] provides for the reduction of human intervention and cost for database management system such as self-optimization and self-configuration.
Next subsection defines and shows examples for the four fundamental features of the future autonomic communication systems. These characteristics will be incorporate in selfmanaging systems.
2.2 Self-optimization An autonomic communication system should be able to optimize functioning and performance of communications and to detect optimal behaviors to improve its execution. This property requires hardware and software systems to maximize resources utilization to meet the final user’s needs without human intervention. Some of these optimizations are routing use shortest path from source to destination and monitoring and tuning resources automatically (databases, storage, networks, etc). Several efforts focusing on self-optimization for autonomic storage include the works as follows: −
GLOMAR [10] is an adaptable mechanism that selects an optimum mechanism based upon the user’s connectivity.
−
HAC [5] provide an adaptable caching mechanism which optimizes caching to suit locality and application workload.
−
Others works [24] [25] use frequent sequence mining algorithms to find block access correlation’s which can be used to improve the effectiveness of subsystems such as storage caching.
Other possible optimization for autonomic communication systems has relation with the power in the autonomic system and workload management. The main goal of the proposed algorithms is reducing the growing energy consumption of telecommunications servers maintaining the quality of service. From a power consumption point of view, the algorithms achieve a self-optimization of the network. Considering that a standby server consumes much less power than one with a utilization of 1%, the idea consists on concentrating in one server the load of those neighbors with low utilization, so we can put those servers to sleep. This way we significantly reduce the power consumed by the system. However, since we cannot forget about execution time, it is necessary to introduce a control algorithm for this variable, so that a server with a high execution time is able to awake a standby neighbor to lighten its load. With these algorithms we get important energy saving values in the system, while keeping an acceptable execution time.
2.3 Self-healing An autonomic communication system should be able to detect and recover from potential problems and continue to function smoothly. The systems will have resilience with regard to failures. Some protocols are implement self-healing: When link fails, routing finds new route if available. For example, autonomic communication systems that have the self-healing capability will use the knowledge about the system configuration to diagnose a component failure. The system would analyze information from log files from monitors that it has requested. Then, it would install the appropriate path, and retest. The autonomic communication systems automatically will detect, diagnose, and repair localized software and hardware problems. In an autonomic communication system is important have mechanics for detect and recover from failure. For example, in distributed storage systems which employ replication to achieve redundancy and better availability need recovery mechanisms when replicas become inconsistent.
2.4 Self-protection An autonomic communication system should be able to detect, and protect the network/communication from attacks and maintain overall system security and integrity. Self-protection systems must have the ability to define and manage user access to all resources, to protect against unauthorized resources access, to detect intrusions and report and prevent these activities as they occur. Autonomic communication systems which operate on the Internet are particularly vulnerable to a wide array of attacks. In this case, self-protection property is especially important for these systems. Clarke I. [9] and Dingledine R. [12] propose various methods to protect Peer-to-Peer systems of attacks aimed to disrupt service.
2.5 Self-configuration An autonomic communication system should be able to adapt automatically to the dynamically changing environment. This property must to allow for integration of new nodes, hosts, routers, protocols and applications on the system. Many works shows self-configuration algorithms for autonomic communication systems. For example, [23] propose an algorithm to find solution of new configuration problem using the casebased reasoning technique on autonomic forest fire application. A large distributed storage system use storage policies [11] where high-level objectives are defined. On this hand, an autonomic component will translate these high-level objectives into low level configurable to simplify the configuration process.
3. OTHERS AUTONOMIC PROPERTIES: Self-organization vs. Self-adaptation In recent years, a variety of diverse algorithms and approaches have proved the potential of eco-inspired distributed solutions to enforce purposeful functionalities in a fully distributed, selforganizing and self-adaptive way [1] [3] [14] [27]. Examples of these studies are: ant-inspired algorithms [8] [31] and sociallyinspired communication mechanisms [19] [20]. Self-organization is a propriety emerging bottom-up, in principle, without any high-level representation: it is based on a large number of components that interact according to simple and local rules and in which a global organization of the framework can emerge from local interactions. Concerning approaches to model and build self-organizing frameworks, a variety of heterogeneous proposals exists for the design of the basic components and their interactions (e.g. pheromones [31] or gossip [21]). Proposals for the basic components include reactive agents rather than proactive and goal-oriented ones [37]. Other practical proposals study how to distribute and develop autonomic self-organizing services. For example, the Service Clouds [34] infrastructure combines dynamic software configuration methods with self-organizing algorithms for the establishment of communication links in order to support both cross-layer and cross-platform cooperation. Other example of self-organizing framework is SwarmingNets [7]. This is a research framework for the management of complex Ubiquitous Service-Oriented Networks. In the SwarmingNets architecture, the required network service processes are
implemented by groups of autonomic objects, called TeleService Solons as elements of TeleService Holons, analogue to individual insects as particles of the whole colony. A group of Solons have the capabilities of fulfilling the complex tasks relating to service discovery and service activation. On the other hand, self-adaptation of components implies a sort of representation of their state, so that they can evaluate their own behavior and manage it when the evaluation indicates that they are not accomplishing their goals. This raises the question of evaluating the amount of information that has to be processed by components versus collectively by the self-organizing ensembles. Key goal is to preserve simplicity and robustness of selforganization while bringing benefits of semantics selfmanagement and self-adaptation. USE CASE: Autonomic Mobile Social Networking Autonomic Mobile Social Networking is an innovative service concept enabling a new way of Social Networking for Mobile Users. Idea aims at integrating Users’ activities, preferences with real-time location data by using autonomic component-ware running on mobile devices, capable of exploiting advanced autonomic and self-* capabilities. Specifically, mobile devices will be able to collect and exchange information and data (by alone, independently from the Users actions) to perform certain tasks (requested by the Users) and to make certain decisions though distributed reasoning and self-organizing algorithms. For example, AMSN helps in answering questions like, "When and Where can I meet my friends today?", "When and Where should we go for a business dinner tonight?", "What event can I attend this afternoon?", etc. Novelty of the service concept (as compared to similar already available services) is that Users will not have to bother about organising combination of Users’ activities, preferences with realtime location data: AMSN will negotiate and fix everything, hiding to the Users any planning and negotiation complications, by exploiting advanced autonomic and self-organizing capabilities. Final goals are saving Users’ time and making their life easier by automating these low-level jobs. Let’s consider the example "When and where can I meet my friends today?" Users’ mobile device store agenda, buddy lists, profiles, preferences and other Users’ situated information. Suppose a User would like to schedule a meeting event with some people (e.g. friends) belonging to his/her social network. First the list people to be invited should be created by the Users, in order to let people know that the User would like to get together with them at a particular location at a specific time. Then, AMSN sends the invitation to the list of people and see who is interested in attending. As a further step, a kind of self-negotiation (between the Users’ mobile devices, hidden to Users) starts: goal is selecting the proper time (according to agendas) and the most preferred event (according to Users’ tastes) and the best location (easily reachable by everybody taking account of the localization) for all participants. Once best event/location and time have been selected (as a process of self-organization hidden to Users), then, each mobile elaborates the best route and the best timing to reach the destination providing proper alerts and indications to Users. Each User can monitor people approaching the meeting place by
watching a map, displayed on the mobile, showing people location/presence.
Proceedings of the 4th International Conference on Autonomic Computing (ICAC’07), pp. 3-3.
This is just an example of the potentialities of the service concept: AMSN can organize everything a User and his/her social network knows about people, places, and events and puts that information available to the Mobile Social Network. Moreover, autonomic self-organising capabilities will hide to the Users any boring planning and negotiating complications, saving time, low-level efforts.
[7] Chiang F. and Braun R. (2006). "A Nature Inspired MultiAgent Framework for Autonomic Service Management in Pervasive Computing Environments". Proceedings of the 10th IEEE/IFIP Network Operations and Management Symposium (NOMS’06), pp. 1-4.
4. CONCLUSIONS AND FUTURE WORK Too many constraints have held back current service frameworks; innovative solutions should be capable of 1) self-adapting to changing conditions; 2) self-evolving with limited human intervention; 3) self-protecting from failures and security attacks; 4) allowing resource-energy savings; 5) attract mass of Users and Developers to create a virtuous circle. These solutions can foster the enjoying convergence of Future Internet (WebX.0) and Telco-ICT (e.g. SDK, Telco2.0 models). This paper proposes a vision bringing above convergence to a mature exploitation by developing a distributed framework for evolving services and applications open to Prosumers, Telco and Web Operators, Application Providers, etc. This vision implies overcoming current Service Frameworks limitations and managing new complexities. Autonomic systems with self-* algorithms are offering interesting solutions.
5. ACKNOWLEDGMENTS First, we express our thanks to A. Manzalini (Telecom Italia) for the fruitful discussion and collaboration on the matter.
[8] Chiang F., Braun R. and Agbinya J. I. (2007). "SelfConfiguration of Networks Services with Biologically Inspired Learning and Adaptation". Journal of Network and Systems Management, Vol. 15, No. 1, pp. 87-116. [9] Clarke I., Sandberg O., Wiley B. and Hong T. W. (2001). “Freenet: A Distributed Anonymous Information Storage and Retrieval System”. Lecture Notes in Computer Science No. 2009, pp. 46-66. [10] Cuce S. and Zaslavsky A. B. (2002). “Adaptable Consistency Control Mechanism for a Mobility Enabled File System”. Proceedings of the 3rd International Conference on Mobile Data Management (MDM’02). IEEE Computer Society, Washington, DC, USA, pp. 27-34. [11] Devarakonda M., Segal A. and Chess D. (2003). “A ToolkitBased Approach to Policy-Managed Storage”. Proceedings of the 4th IEEE International Workshop on Policies for Distributed Systems and Networks. IEEE Computer Society, Washington, DC, USA, pp.89-92. [12] Dingledine R., Freedman M. J. and Molnar D. (2000). “The Free Haven Project: Distributed Anonymous Storage Service”. Proceedings of Workshop on Design Issues in Anonymity and Unobservability No. 2009 in LNCS, pp. 6795.
6. REFERENCES
[13] Farha R., Kim M., Leon-Garcia A. and Won-Ki Hong J. (2005). “Towards an Autonomic Service and Architecture”. Lecture Notes in Computer Science 3751: 58-67.
[1] Baboglu O., et al. (2007). “Design Patterns from Biology to Distributed Computing”. ACM Transaction on Autonomous and Adaptive Systems, Vol. 1, No. 1, pp. 26-66.
[14] Fusco A. et al. (2008). “Autonomic Wireless Communications in Digital Cities: An Experimental Use Case”. Proceedings of the Mobilware. Austria.
[2] UC Berkeley Computer Science Division. (2002). The OceanStore Project, Project Overview. Project Page: http://oceanstore.cs.berkeley.edu/info/overview.html.
[15] Ganek A. G. Corbi T. A (2003). “The Dawning of the Autonomic Computing Era”. IBM System Journal 42(1):518.
[3] Bernadas A., Manzalini A., and Moiso C. (2008). “Demonstrating Communication Services Based on Autonomic Self-organization”. Proceedings of the 2nd International Conference on Complex, Intelligent and Software Intensive Systems (CISIS).
[16] Goldszmidt G. IBM Research. (2000). The Oceano Project. A Multi-Domain for a Computing Utility. Proceedings IEEE International Conference on Cluster Computing (CLUSTER’00), pp. 355-356.
[4] Cai G., Gao J. and Hu B. (2006). “A Lightweight Approach towards Autonomic Service-Oriented Computing System Development”. Proceedings of the IEEE Asia-Pacific Conference on Services Computing (APSCC’06), pp. 392399. [5] Castro M., Adya A., Liskov B. and Myers A. C. (1997). “HAC: Hybrid Adaptive Catching for Distributed Storage Systems”. Proceedings of ACM Symposium on Operating Systems Principles (SOSP). Saint Malo, France, pp. 102115. [6] Chen Y. et al. (2007). “SLA Decomposition: Translating Service Level Objectives to System Level Thresholds”.
[17] Horn, P. (2001). “Autonomic Computing: IBM Perspective on the State of Information Technology”. IBM T. J. Watson Labs., NY. DOI: http://www.research.ibm.com/autonomic/. (Accessed June 2008). [18] IBM. (2005). An Architectural Blueprint for Autonomic Computing (3rd. ed.), White Paper. [19] Jelasity M., and Babaoglu O. (2005). “T-Man: Gossip-based Overlay Topology Management”. Proceedings of Engineering Self-Organising Applications (ESOA’05). [20] Jelasity M., Guerraoui R., Kermarrec A. M., and Van Steen M. (2004). “The Peer Sampling Service: Experimental Evaluation of Unstructured Gossip-based Implementations”.
Proceedings of the 5th ACM/IFIP/USENIX International Conference on Middleware. LNCS 3231, pp. 79-98. [21] Jelasity M., Montresor A., and Babaoglu O. (2005). “Gossipbased Aggregations in Large Dynamic Networks”. ACM Transactions on Computer Systems, 23(3):219-252. [22] Kephart J. O. and Chess D. M. (2003). “The Vision of Autonomic Computing”. Computer, 36(1):41-52. [23] Khan M. J., Awais M. M. and Shamail S. (2008). “Enabling Self-Configuration in Autonomic Systems using Case-Based Reasoning with Improved Efficiency”. Proceedings of the 4th International Conference on Autonomic and Autonomous Systems, pp. 112-116. [24] Li Z., Chen Z. and Zhou Y. (2005). “Mining Block Correlation to Improve Storage Performance”. Transactions on Storage, 1, 2, pp.213-245. [25] Li Z., Srinivasan S. M., Chen Z., Zhou Y., Tzvetkov P., Yan X. and Han J.(2003). “Using Data Mining for Discovering Patterns in Autonomic Storage Systems”. Proceedings of ACM Workshop on Algorithms and Architectures for SelfManaging Systems (AASMS’03), San Diego, CA. [26] Lohman G. M. and Lightstone S. S. (2002). “SMART: Making DB2 (More) Autonomic”. Proceedings of 28th International Conference on Very Large Data Bases (VLDB2002), Kowloon Shangri-La Hotel, Hong Kong, China, 20-23 August. [27] Mamei M., Menezes R.,Tolksdorf R. and Zambonelli F. (2006). “Case Studies for Self-organization in Computer Science”. Journal of Systems Architecture, Vol. 52, pp. 8-9. [28] Menon J., Pease D. A., Rees R., Duyanovich L., Hillsberg B. (2003). “IBM Storage Tank-A Heterogeneous Scalable SAN File System”. IBM System Journal; 42(2): 250-267. [29] Narasayya V. (2002). “AutoAdmin: Towards Self-Tunning Databases”. Nov. 13. Guest Lecture at Stanford University.
[30] Parashar M. and Hariri S. (2005). “Autonomic Computing: An Overview”. International Workshop on Unconventional Programming Paradigms, Mont Saint Michel, France (15/09/2004). Vol. 3566, pp. 257-269. [31] Parunak H. V. D. (1997). “Go to the Ant: Engineering Principles from Natural Multi-Agent Systems”. Annals of Operations Research, 75: 69-101. [32] Pool R. Natural selection. A New Computer Program Classifies Documents Automatically. (2002). http://domino.research.ibm.com/comm/wwwr_thinkresearch. nsf/pages/selection200.html. (Accessed June 2008). [33] Poellabauer C. Q-Fabric: System Support for Continuous Online Quality Management. (2002). http://www.cc.gatech.edu/systems/projects/ELinux/qfabric.ht ml. (Accessed June 2008). [34] Samini F. A., et al. (2007). “Service Clouds: Distributed Infrastructure for Adaptive Communication Services”. IEEE Transactions on Network and System Management, Special Issue on Self-Managed Networks, Systems and Services. [35] Sterritt R. (2005). “Autonomic Computing”. Innovation System Software 1(1). [36] Tianfield H (2003). “Multi-Agent Based Autonomic Architecture for Network Management”. Proceedings IEEE International Conference on Industrial Informatics (INDIN), 21-24 August, pp. 462-469. [37] Tummolini L., Castelfranchi C., Ricci A., Virola M., and Omicini A. (2005). “Exhibitionists and Voyeurs do it better: A Shared Environment Approach for Flexible Coordination with Tacit Messages”. Environments for Multi-Agent System, LNAI Vol. 3375.