95,99 €
Our society increasingly depends on computer-based systems; the number of applications deployed has increased dramatically in recent years and this trend is accelerating. Many of these applications are expected to provide their services continuously. The Service Availability Forum has recognized this need and developed a set of specifications to help software designers and developers to focus on the value added function of applications, leaving the availability management functions for the middleware. A practical and informative reference for the Service Availability Forum specifications, this book gives a cohesive explanation of the founding principles, motivation behind the design of the specifications, and the solutions, usage scenarios and limitations that a final system may have. Avoiding complex mathematical explanations, the book takes a pragmatic approach by discussing issues that are as close as possible to the daily software design/development by practitioners, and yet at a level that still takes in the overall picture. As a result, practitioners will be able to use the specifications as intended. * Takes a practical approach, giving guidance on the use of the specifications to explain the architecture, redundancy models and dependencies of the Service Availability (SA) Forum services * Explains how service availability provides fault tolerance at the service level * Clarifies how the SA Forum solution is supported by open source implementations of the middleware * Includes fragments of code, simple example and use cases to give readers a practical understanding of the topic * Provides a stepping stone for applications and system designers, developers and advanced students to help them understand and use the specifications
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 1143
Veröffentlichungsjahr: 2012
Table of Contents
Title Page
Copyright
List of Contributors
Foreword
Preface
How This Book Came About
The Goal of the Book
The Structure of the Book
Acknowledgments
From Maria
From Francis
List of Abbreviations
Part One: Introduction to Service Availability
Chapter 1: Definitions, Concepts, and Principles
1.1 Introduction
1.2 Why Service Availability?
1.3 Service Availability Fundamentals
1.4 Achieving Service Availability
1.5 Conclusion
Chapter 2: The Birth of the Service Availability Forum
2.1 Introduction
2.2 Technology Environment
2.3 Business Environment
2.4 The Service Availability Forum Era
2.5 Concluding Remarks
Part Two: The SA Forum System: Services and Frameworks
Chapter 3: Overview of the Service Availability Architecture
3.1 Introduction
3.2 HA Concepts Applied
3.3 Architecture
3.4 Open Issues
3.5 Conclusion
Chapter 4: The SA Forum Information Model: The Heart of Control and Monitoring
4.1 Introduction
4.2 Background
4.3 The SA Forum Information Model
4.4 Conclusion
Chapter 5: Consistent and High Level Platform View
5.1 Introduction
5.2 Hardware Platform Interface
5.3 Platform Management Service
5.4 Cluster Membership Service
5.5 Conclusion
Chapter 6: Model Based Availability Management: The Availability Management Framework
6.1 Introduction
6.2 Background
6.3 The Availability Management Framework
6.4 Conclusion
Chapter 7: Communication and Synchronization Utilities
7.1 Introduction
7.2 Event Service
7.3 Message Service
7.4 Checkpoint Service
7.5 Conclusion
Chapter 8: Services Needed for System Management
8.1 Introduction
8.2 Log Service
8.3 Notification Service
8.4 Information Model Management Service
8.5 Conclusion
Chapter 9: Model-Based Software Management: The Software Management Framework
9.1 Introduction
9.2 Background
9.3 Software Management a la Carte
9.4 Conclusion
Chapter 10: Combining the Services
10.1 Introduction
10.2 Application Design and Development
10.3 Application Platform Design
10.4 Operation and Maintenance
Part Three: SA Forum Middleware in Action
Chapter 11: SA Forum Programming Model and API Conventions
11.1 Introduction
11.2 Programming Model
11.3 Making Sense of the API Specifications
11.4 Practical Topics
11.5 Concluding Remarks
Chapter 12: SA Forum Java Mappings: Specifications, Usage, and Experience
12.1 Introduction
12.2 Background
12.3 Understanding the Java Mappings
12.4 Using the Java Mappings
12.5 Going Further
Chapter 13: SA Forum Middleware Implementations
13.1 Introduction
13.2 The OpenHPI Project
13.3 The OpenSAF Project
13.4 Conclusion
Chapter 14: Integration of the VideoLAN Client with OpenSAF: An Example
14.1 Introduction
14.2 Going Under the Hood: The VLC Workflow
14.3 Integrating VLC with OpenSAF
14.4 Summary and Conclusion
Chapter 15: Migration Paths for Legacy Applications
15.1 Introduction
15.2 Reasons for Migration
15.3 Integration Criteria
15.4 How to Migrate
15.5 Open Issues
15.6 Conclusion
Chapter 16: Overcoming Complexity: Formal Modeling Techniques at the Rescue
16.1 Introduction
16.2 Background
16.3 Model-Based Software Management
16.4 Conclusion
Chapter 17: Conclusion
17.1 Summary
17.2 The Future
References
Index
This edition first published 2012
© 2012 John Wiley & Sons Ltd
Registered office
John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex, PO19 8SQ, United Kingdom
For details of our global editorial offices, for customer services and for information about how to apply for permission to reuse the copyright material in this book please see our website at www.wiley.com.
The right of the author to be identified as the author of this work has been asserted in accordance with the Copyright, Designs and Patents Act 1988.
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, except as permitted by the UK Copyright, Designs and Patents Act 1988, without the prior permission of the publisher.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books.
Designations used by companies to distinguish their products are often claimed as trademarks. All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners. The publisher is not associated with any product or vendor mentioned in this book. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold on the understanding that the publisher is not engaged in rendering professional services. If professional advice or other expert assistance is required, the services of a competent professional should be sought.
Library of Congress Cataloging-in-Publication Data
Service availability : principles and practice / editors, Maria Toeroe,
Francis Tam.
p. cm.
Includes bibliographical references and index.
ISBN 978-1-119-95408-8 (cloth)
1. Reliability (Engineering) I. Toeroe, Maria. II. Tam, Francis.
TA169.S465 2012
620′.00452–dc23
2011047219
A catalogue record for this book is available from the British Library.
Print ISBN: 9781119954088
List of Contributors
Foreword
The need to keep systems and networks running 24 hours a day, seven days a week has never been greater, as these systems form some of the essential fabric of society ranging from business to social media. Keeping these systems running in the presence of hardware and software failures is defined as service availability. In some areas of networking, such as telecommunications, it has formed an essential requirement for almost 100 years; it is part of why traditional plain old telephone service (POTS) would still be available when power went out. With the advent of the Internet, service availability requirements are increasingly being demanded in the marketplace, not necessarily due to regulatory requirements, as was the case with telephone networks, but due to business requirements and pressures from the marketplace. Of course, it's not just communications where service availability is important, many other industries such as aerospace and defense have similar requirements. Imagine the impact of a loss of control during missile flight, for example.
After the Internet bubble of the late 1990s, and an almost global deregulation of the telecommunications market, it was increasingly recognized that the high cost of development for proprietary hardware and software systems was no longer viable. The future would increasingly be based on commercial off-the-shelf (COTS) systems, where time to market for new services, outweighs the elegance of proprietary hardware and software systems. High availability middleware, which forms a core aspect of delivering service availability, was one of these complex components. Traditionally viewed as high value and differentiating, in this new environment of time to market service emphasis, where rapid application development, adaptation, and integration are key, proprietary middleware is both time consuming to develop and costly to maintain.
The Service Availability Forum (SA Forum) was established in 2001 to help realize the vision of accelerating the implementation and deployment of service available systems, through establishing a set of open specifications which would define the boundaries between hardware and middleware and between the middleware and the application layer. At the time, concepts which are generally accepted today, such as a layered approach to building systems, the use of off-the-shelf hardware and software, and defacto standards developed through open source, were in their relative infancy.
The Founders of the SA Forum, Force Computers, GoAhead Software, HP, IBM, Intel, Motorola, Nokia, and Radisys all recognized that in 2001 the world was changing. They understood that redundancy and service availability would spread downstream from the traditional high end applications, such as telecommunications and that the key to success was a robust ecosystem built around a set of open specifications for service availability. This would allow applications to run on multiple platforms, with different hardware and operating systems, and enable rapid and easy integration of multiple applications onto a single platform, realizing the vision of rapid development to meet the demands of new services in the marketplace. None of what was envisioned precluded the continued development of proprietary systems, but the concepts were clearly aimed at the increased use of COTS hardware and software with a view accelerating the interoperation between components.
Although it has changed over time, as the organization and the market has evolved, the current mission statement of the SA Forum characterizes the objectives set out in 2001.
The Service Availability Forum enables the creation and deployment of highly available, mission critical services by promoting the development of an ecosystem and publishing a comprehensive set of open specifications. A consortium of industry-leading companies, the SA Forum maintains ‘There is no Upside to Downtime.’
It is always a challenge to create an industry organization when so much investment in proprietary technology already exists. On the one hand, there needs to be a willingness to bring some of this expertise and possibly intellectual property to the table, to serve as a basis for creating the specifications. This has to be tempered with the fear that someone will contribute intellectual property and later aggressively seek to assert patent rights. To avoid issues in this area, the SA Forum was established as a not-for-profit organization and a key aspect of the bylaws was that all members agreed to license any intellectual property to any other members on fair and reasonable terms. Since the SA Forum was dealing primarily in software application programming interfaces around an underlying conceptual architecture, the assertion of patents is quite difficult, but in any event, the Forum has always operated on a cooperative model, with everyone seeking to promote the common good and to address differences within the technical working groups. To further control the objective of a common goal, the SA Forum established three levels of membership, promoters, contributors, and adopters. An academic (associate) membership level was added at later date, and the status of adopter was conferred on anyone with an implementation and use of the specifications in a product.
Promoters were the highest level, and only promoters could be on the board of directors. They were the founders of the organization, and hence the main initial contributors. To avoid predatory actions by other companies, additional promoters could be added only by a unanimous vote of all the promoters. While this may seem overly restrictive, it has worked well in practice, and companies who have demonstrated commitment and who have contributed to the Forum have been offered promoter status.
In order to participate in SA Forum work groups and contribute to the specifications, companies had to be contributor members. This proved to be the workhorse membership level for the organization and many valuable contributions came from this group of members.
The adopter members have generally been companies with interest in supporting the SA Forum's work, or who have developed products that have incorporated some aspect of the SA Forum's specifications.
The cooperative nature of the SA Forum has led to the development of a robust set of specifications for service availability. Indeed, that is what this book is all about, the concepts and use of the SA Forum specifications.
The first tentative steps after the formation in 2001 were white papers on the then new concepts of service availability and a layered architecture approach. These were followed by the initial specifications focused on the hardware platform interface (HPI), which has gone through a number of revisions and enhancements. The most recent release of the HPI specification includes provisions for firmware upgrades and hardware diagnostics.
Work on the more challenging application interface specification (AIS), which address the interfaces to applications, management layers, and overall control of the availability aspects of a distributed system. Early work focused on what has come to be known as the utility services, the fundamental services necessary to create a service available system, cluster concepts, checkpointing, messaging, and so on. By the 2005–2006 timeframe, the Forum was ready to address overall system concepts, such as defining the framework and policy models for managing availability. This resulted in the Availability Management Framework (AMF) and the Information Model Management (IMM). These critical services provide both the flexibility to architect a system to meet application requirements, but also a common mechanism for managing availability, with extensibility to manage applications themselves if desired. This complex work really created the core of the SA Forum AIS and it is in many ways a remarkable piece of work. More recent developments have included the Software Management Framework (SMF) to enable seamless upgrading (and downgrade if necessary) campaigns for systems, demonstrating the true idea of service availability, and platform management (PLM), which enables a coherent abstraction of a system. This encompasses complex hardware designs with computer boards equipped with mezzanine cards, which are themselves compute engines, and enables modern virtual machine architectures to be embraced by the SA Forum system model. This in turn enables the SA Forum specifications to become an essential part of cloud computing concepts.
The SA Forum itself has been responsible for the genesis of other industry organizations. It was recognized that the scope of the SA Forum was insufficient to meet the objective of the wide-spread adoption of off-the-shelf technology and the cooperation between the component layers of the solution. By its very charter, the SA Forum was focused on service availability and middleware. An outgrowth of the Forum was the creation in 2007 of the SCOPE Alliance.
The SCOPE Alliance was founded by Alcatel-Lucent, Ericsson, Motorola, NEC, Nokia, and Siemens. It is a telecom driven initiative which now includes many leading network equipment providers, hardware, and software companies, with the mission to enable and promote a vibrant carrier grade base platform (CGBP) ecosystem for use in telecom network element product development. The SCOPE members believe that a rich ecosystem of COTS and free open source software (FOSS) communities provide building blocks for the network equipment manufacturers to adopt, accelerating their time to market and better serving the service provider marketplace.
To accomplish these goals, SCOPE has created a reference architecture which has been used to publish profiles that define how off-the-shelf technologies can be adopted for various application and platform requirements. These profiles also identify where gaps exist between the various layers of CGBP technology. A core component of the CGBP is service availability middleware, based on SA Forum specifications.
Creating specifications is a complex and intellectually challenging task. This is an accomplishment in and of itself. However, the success of the SA Forum and its specifications is really measured by their adoption in the marketplace and their use in systems in the field. Over the years, there have been a number of implementations of the specifications. When the Forum was founded, and the use of open source software was in its infancy, it was foreseen that the specifications would enable multiple implementations and the portability would be accomplished at the application programming interface (API) layer. From 2006 onwards, the Forum had various initiatives aimed at demonstrating portability. Multiple companies did indeed implement some or part of the specifications to varying degrees. These implementations ranged from selected services to complete implementations of the specifications.
On the hardware side, most major hardware vendors have adopted the HPI specification. There are both proprietary, commercial implementations and an open source solution, OpenHPI, available in the marketplace. With the broad adoption of HPI, this can be very much considered a success in the marketplace.
AIS is much more complex and a range of proprietary and open source solutions have appeared in the marketplace since the mid-2000s. These have had various levels of implementation relative to the specifications discussed in this book, and they have included internal development by network equipment manufacturers, proprietary commercial products, and open source solutions. OpenAIS is an open source solution dating from around 2005 and it has been used extensively for clustering in the Linux community. The most complete implementation of the AIS is the OpenSAF project, this is a focus for many adopters of the SA Forum AIS moving forward, with rollout commitments from major equipment manufacturers and a vibrant ecosystem.
Many people, from a wide variety of companies, have contributed to the SA Forum specifications, and their effort and foresight have led to a framework that is now being implemented, adopted, and deployed. The current focus is on expanding the use cases for the SA Forum specifications and demonstrating that they address a broad range of applications. This goes beyond the traditional five and six ‘9's’ of the telecom world and the mission critical requirements of aerospace and defense, to the realms of the Enterprise and the emerging cloud computing environment.
Timo Jokiaho
Chairman of the SCOPE Alliance, 2011, President of the SA Forum, 2003
John Fryer
President of the SA Forum, 2011
Preface
I joined the Service Availability (SA) Forum in 2005 with the mandate of representing Ericsson in the efforts of the SA Forum Technical Working Group (TWG) to define the Software Management Framework. This is where I met Francis and the representatives of other companies working on the different specifications. The standardization has been going on already for several years and I had a lot to learn and catch up with. Unfortunately there was very little documentation available besides the specifications themselves, which of course were not the easiest introduction to the subject.
Throughout the discussions it became even more obvious that there was an enormous ‘tribal knowledge’—as someone termed it—at the base of the specifications. This knowledge was not written anywhere, not documented in any form. One could pick it up gradually once he or she started to decipher the acronym ridden discussions flying high in the room and on the email reflectors. There were usually only a handful who could keep up with these conversations at the intensity that was typical at these discussions. For newcomers they were intimidating to say the least. This was an issue for the SA Forum from the beginning and for the years to come even though there was an Educational Working Group with the mandate to prepare training materials. Many TWG members felt that it would be good to write a book on the subject, but with everyone focusing on the specifications themselves there was little bandwidth to spare for such undertake.
Gradually I picked up most of the tribal knowledge and was able to participate in those discussions, but preparing educational materials or writing a book still did not come to my mind until Ericsson started a research collaboration with Concordia University. Suddenly I had to enlighten my students about the mysteries of the SA Forum specifications. These specifications are based on the years of experience of telecom and information technology companies in high-availability cluster computing. These systems evolved behind closed doors in those companies as highly guarded secrets and accordingly very little if any information was available about them in the public domain. This also meant that the materials were not taught at universities nor were books readily available to which I could refer my students. Soon the project meetings turned into an ad-hoc course where we went through the different details, the intricacies of the specifications and the reasoning behind the solutions proposed. These solutions were steeped in practice and brewed for production. They reflected what has worked for the industry as opposed to theoretical models and proofs more familiar to the academia. This does not mean that they lack theoretical basis. It just means that their development was driven by practice.
Understanding all these details was necessary before being able to embark on any kind of research with the students and their professors. These discussions of course helped the students but at the same time they helped me as well to distill the knowledge and find the best way to present it. Again it would have been nice to have a book, but there was none, only the specifications and the knowledge I gathered in the TWG discussions.
A few years later OpenSAF, the open source implementation of the SA Forum specifications reached the stage when people started looking at it from the perspective of deployment. They started to look for documentation, for resources that they could use to understand the system. OpenSAF uses mostly the SA Forum specifications themselves as documentation for the services compliant to these specifications.
These people faced the same issue I had experienced coming to the world of the SA Forum. I was getting requests to give an introduction, a tutorial presentation so that colleagues can get an idea what they are dealing with, how to approach the system, where to start. After such presentations I would regularly get the comment that ‘you should really write a book on this subject.’ At this time I saw the suggestion of writing a book more realistic and also with the increasing demand for these presentations it made a lot of sense.
In a discussion with my manager I mentioned the requests I was getting to introduce the SA Forum specifications and the suggestions about the book. He immediately encouraged me to make a proposal. This turn of events transformed the idea I have toyed with for some time into a plan and the journey has begun. I have approached Francis and others I knew from the SA Forum to enroll them in the book project. This book is the realization of this plan, the end of this journey. It is a technical book with a rather complex subject that we, the authors and editors tried to present in a digestible way.
My contribution related to the SA Forum specifications in this book was based on the project titled ‘High Availability Services: Standardization and Technology Investigation’ that I worked on during 2001–2006 in Nokia Research Center. The project was funded by Strategy and Technology, the then Nokia Networks (now part of Nokia Siemens Networks), with the objective to support the company's standardization effort in the SA Forum and contribute to a consistent carrier-grade base platform architecture for the then Nokia Networks' business. I became one of the Nokia representatives to the SA Forum and took part in the development of the first release of the Availability Management Framework specification with other member companies' representatives. Subsequently, I took up the role of co-chairing with Maria the Software Management specification development group. Regrettably I had to stop my participation in the SA Forum at the end of 2006 before the Software Management Framework was published.
Parallel to my full-time employments over the years, I have been giving a 12-hour seminar course on highly available systems to the fifth (final) year Master of Engineering students in Computer Science at INSA Lyon (Institut National des Sciences Appliquées de Lyon) in France almost every year since 1993. It has been widely recognized in the academic community that there is a lack of suitable books for teaching the principles and a more pragmatic approach to designing dependable computer systems. Very often such materials have to be gathered from various sources such as conference proceedings, technical reports, journal articles, and the like, and put together specifically for the courses in question. On a number of occasions, the thought of writing such a book came to my mind but it left rather quickly, probably due to my senses were warning me that such an undertaking would have been too much.
I remember it was a few years ago when Maria asked me if I could recommend a book in this area for her teaching. After explaining to her about the general situation with regard to books in this subject area, I half-jokingly suggested to her that we could write one together. She left it like that but only returned in January 2010 and asked if I would be interested in a book project. As they say, the rest is history.
Our story of how the book came about has outlined the need that has built up and which it was time to address with a book. It was clear that the approach to the subject should not be too theoretical, but rather an explanation of the abstractions used in the SA Forum specifications that would help practitioners in mapping those abstractions to reality; it also needed to make the knowledge tangible, to show how to build real systems with real applications using the implementations of the SA Forum specifications. The time was right as these implementations were reaching maturity fast.
At the same time we did not want to write a programmers' guide. First of all a significant portion of the specifications themselves is devoted to the description of the different application programming interface (API) functions. But there is so much reasoning in these systems and the beauty of their logic cannot be delivered just by discussing the APIs, which are like the scrambled puzzle pieces do not reflect the complete picture, the interconnection and interdependencies until they are put together piece by piece. They give little information on the reasoning which animates the picture and fills in even missing puzzle pieces.
The specifications may not be perfect at this time yet but they bring to the light this technology that has been used and proved itself in practice to provide the magic five-nine figures of in service performance, but has been hidden from the public eye. At this time they already come with open source implementations meaning that they are available for anyone to experiment with or to use for deployment, and also to evolve and improve.
The concepts used in these specifications teach a lot about how to think about systems that need to provide their services continuously 24/7 in the presence of failures. Moreover they are designed to evolve respecting these same conditions, that is, these systems and their services develop without being taken out for planned maintenance, they evolve causing minimal service outage. They are ideal for anyone who needs to meet stringent service level agreements or SLAs.
The concepts presented in this book remain valid whether they are used in the framework of the SA Forum specifications or transpired to cloud computing or any other paradigm that may come. The SA Forum specifications provide an excellent basis to elaborate and present the concepts and the reasoning. They also set the terminology allowing for a common language of discussion, which was missing for the area.
We set out to explain these concepts and their manifestation in the specifications and demonstrate their application through use cases.
So who would benefit from this book? The obvious answer is that applications and systems designers who intend to use the SA Forum middleware. However since we look at the specifications more as one possible manifestation of the concepts, ultimately the book benefits anyone who needs to design systems and applications for guaranteed service availability, or who would like to learn about such systems and applications. We see this book as a basis for an advanced course on high service availability systems in graduate studies or in continuous education.
The book is divided into three main parts:
Part One introduces the area of service availability, its basic concepts, definitions, and principles that set the stage for the subsequent discussions. It also delivers the basic premise that makes the subject timely. Namely that in our society the demand for continuous services is increasing in terms of the number and variety of services as well as the number of customers. To meet this demand it is essential to make the enabling technologies widely available by standardizing the service APIs so that commercial off the shelf components can be developed. Enabling such an ecosystem was the mission of the SA Forum, whose coming about is presented also in this part.
Part Two of the book focuses on the specifications produced by the SA Forum to achieve its mission. The intention was to provide an alternative view of the specifications, a view that incorporates that ‘tribal knowledge’ not documented anywhere else and which provides some insight to the specifications, to the choices that were made at their design.
We start out with the architectural overview of the SA Forum middleware and its information model.
The subsequent chapters elaborate on the different services defined by the SA Forum Architecture. Among them the Availability Management Framework and the Software Management Framework each has their own dedicated chapter while the other services are presented as functional groups: the Platform services, the Utility services, and the Management Infrastructure services.
Rather than discussing all the SA Forum services at a high level we selected a subset on which we go into deeper discussions so that the principles become clear. We do not cover the Security service in our discussions as it is a subject crosscutting all the services and easily filling a book on its own.
The presentation of the different services and frameworks follow more or less the same pattern:
First the goals and the challenges addressed by the particular service are discussed, which are followed by an overview of the service including the service model and architecture supporting the proposed solution.
Rather than presenting the gory details of each of the API functions like it would be in a programmer's guide we decided to explain the usage through the functionality that can be achieved by using the APIs. This approach reveals better the complete picture behind the puzzle pieces of the API functions. We mention the actual API functions only occasionally when it makes it easier to clarify the overall functionality.
Whenever it is applicable we also present the administrative perspective of the different services. The goal of these sections is to outline what a system administrator may expect to observe in a running system and what control he or she can obtain through configuration and administrative operations according to the specification. Sometimes these details could be overwhelming, so the anticipation is that different implementations of the standard services may restrict this access while other vendors may build management applications that enhance the experience by assisting the administrator in different ways.
Subsequently the service interactions are presented inserting the service discussed thus far in isolation into the environment it is expected to operate. Since the specifications themselves are written in a somewhat isolated way, these sections collect information that are not readily available, which require the understanding of the overall picture.
Finally the open issues and recommendations conclude each of the service overviews.
Particularly the open issues deserve some explanation here: even though the SA Forum specifications are based on the best practice developed in the industry over the years, the specifications themselves are not the reflection of a single working implementation. Rather they are based on the combined knowledge derived by the participants from different working implementations. So at the time of the writing of the different specifications the SA Forum system existed only in the heads of the members of the SA Forum TWG. It was this common vision that was scrutinized in the process of the standardization that obviously reshaped and adjusted the vision.
As the work progressed and people started to implement the different specifications the results were fed back to the standardization process. In case of the simpler services most of the issues found through these implementations have been resolved by the time of the writing of this book. But for the more complex services there are still remaining open issues.
There are also a few cases where the TWG deliberately left the issues open so that the implementations have the freedom to resolve them in a way most suitable for the particular implementation; for example, the system bootstrapping was left implementation specific. These are usually cases that do not impact applications using the services, but for which service implementers would like to have an answer (but typically not the one the specification would offer).
Part Three of the book looks at the SA Forum middleware in action, that is, at the different aspects of the practical use of the specifications presented in Part Two.
It starts with the overview of the programming model used throughout the definition of the different service APIs. There is a system in the API definitions of the different specifications and Chapters 11 and 12 serve as Ariadne's thread in what seem to be a labyrinth. This is followed by a bird's-eye view at the two most important open source implementations of the SA Forum specifications: OpenSAF and OpenHPI.
To help integrators and application developers to use these middleware implementations in Chapter 14 we discuss different levels of integration of the VideoLAN Client (VLC) application originally not developed for high availability. This exercise demonstrates in practice how an application can take advantage of the SA Forum Availability Management Framework even without using any of its APIs. Of course better integration and better user experience can be achieved using the APIs and additional services, which is also demonstrated.
After this ‘hands on’ exercise the problem of migrating large scale legacy applications is discussed. This chapter gives an excellent insight not only for those considering such migration, but also to designers and developers of new applications. It demonstrates the flexibility of the SA Forum specifications which people usually realize only after developing an intimate relationship with them. The mapping of the abstractions defined by the specifications is not written in stone and it is moldable to meet the needs of the situation. This is demonstrated on the example of two different database integrations with the SA Forum middleware depending on the functionality inherent in the database.
The final chapter of Part Three takes yet again a different perspective. It discusses the issues complementary to the specifications but necessary for the operation of the SA Forum middleware. It introduces the use of formal models and techniques to generate system configurations and upgrade campaigns necessary for the Availability and the Software Management Frameworks to perform their tasks. This approach was part of the vision of the SA Forum specifications as they defined the concepts enabling such technology opening the playground for tool vendors.
We could have continued exploring the subject with many exciting applications, but we had to put an end as we reached our page limit as well as the deadline for delivering the manuscript. So we leave the rest of the journey to the reader who we hope will be well equipped after reading our book to start out with their own experimentations.
Acknowledgments
The group of people that were essential for the creation of this book are the Service Availability (SA) Forum's Technical Working Group representatives of the different member companies; who concocted the specifications and provided a challenging yet inspiring environment for learning and growing in the field. We cannot possibly list all the participants without missing a few, so we will not do so. There were however a few outstanding:
We had extremely constructive and rewarding discussions with the SA Forum Software Management Working Group when we were creating the Software Management Framework, for which we would like to thank Peter Frejek, Shyam Penubolu, and Kannan Kasturi. We probably should not forget about another regular participant of our marathon-length conference calls: the Dog whose comments broke the seriousness of the discussions.
We would like to thank Fred Herrmann, who left his fingerprints over most if not all SA Forum service specifications, and for the numerous stimulating discussions and debates which made the experience so much more exciting. And in the debates it was a pleasure to have the calming wisdom of Dave Penkler. Dave was also instrumental in the writing and reviewing of this book. We are grateful to him for graciously stepping up and helping out with key chapters when we were under pressure of time and short of a pair of fresh eyes.
We are deeply obliged to our co-authors for helping us create this book. For most of them this meant the sacrifice of their spare time – stealing it from their families and friends to deliver the chapters and with that make the book so much more interesting.
Finally we would like to thank Wiley and in particular Sophia Travis for recognizing the vision in our book proposal and helping us through the stress of the first book with such an ease that it truly felt like a breeze.
First and foremost I would like to thank the generosity of Ericsson and within that of my managers Magnus Buhrgard and Denis Monette for allotting me the time to work on this book and their continuous support and trust that it would be completed. Not that I ever had a doubt, but it definitely took more time and efforts than I anticipated. Their support made the whole project possible.
I am also grateful to the MAGIC team of Concordia University. The professors: Ferhat Khendek, Rachida Dssouli, and Abdelwahab Hamou-Lhadj, the students Ali Kanso, Setareh Kohzadi, Anik Mishra, Ulf Schwekendiek, Pejman Salehi, and the post-docs: Pietro Colombo and Abdelouahed Gherbi. They provided me with a completely different learning experience. All of them had their own approach to the problem and in the discussions I had to learn to investigate the subject from many different sometimes unconventional angles and answer questions that within industry were taken for granted. These discussions and working together on the problems led me to a fresh look and a deeper understanding of the subject all facilitating (at least in my belief) a better delivery.
Finally I would like to thank my colleagues in Montreal and across the sea in Stockholm who were the initiators of this project with their requests and suggestions, who joined my family and friends, in supporting and encouraging me in my writing from the beginning.
A heartfelt thank to all of you.
Maria Toeroe
September, 2011
The undertaking to write a book is a daunting commitment even in the best of times, having to do it in my spare time after the day job was rather demanding. My contribution to this book would not have been possible if it was not for the thoughtful understanding and unreserved support from my wife Riikka, who has the shared belief that this book project was good for me. She deserves a medal for putting up with my long evenings and weekends of writing.
As if my lack of time were not enough, I went through one round of company reorganization and was under the threat of lay-off for some weeks – a slightly different kind of redundancy I originally planned to think about. My warm thank you goes to Minna Uimonen, who has always encouraged me and reminded me of the Finnish sisu during this difficult time. I am grateful to all my friends for their kind wishes and understanding of my short disappearance. I look forward to re-integrating with the community and do what I do best – as a highly available ‘Chief Entertainment Officer.’
Francis Tam
September, 2011
List of Abbreviations
3G
3
rd
generation
3PP
Third Party Product
ABI
Application Binary Interface
AIS
The SA Forum Application Interface Specification
AMF
The SA Forum Availability Management Framework
AMM
Availability Management Middleware
ANSI
American National Standards Institute
API
Application Programming Interface
ARP
Address Resolution Protocol
ASN.1
Abstract Syntax Notation One
ATCA
Advanced Telecommunication Computing Architecture
ATL
ATLAS Transformation Language
BASH
Born Again Shell
CASE
Computer-Aided Software Engineering
CCB
Configuration Change Bundle
CGBP
Carrier Grade Base Platform
CIM
Common Information Model
CIMOM
Common Information Model Object Manager
CKPT
the SA Forum Checkpoint Service
CLC-CLI
component life-cycle command line interface
CLI
command line interface
CLM
the SA Forum Cluster Membership Service
CORBA
Common Object Request Broker Architecture
COTS
commercial-off-the-shelf
CPU
central processing unit
CSI
component service instance
CST
component service type
DAM
dependability analysis modeling
DAT
domain alarm table
DBMS
database management system
DET
domain entity tree
DIMI
Diagnostics Initiator Management Instrument
DMTF
Distributed Management Task Force
DN
distinguished name
DNS
domain name server
DRT
domain reference table
(E)AM
external active monitoring
EE
execution environment
ETF
entity types file
EVT
the SA Forum Event Service
FAR
Federal Acquisition Regulation
FOSS
free open source software
FRU
field replaceable unit
FT
fault tolerant
ftp
file transfer protocol
FUMI
Firmware Upgrade Management Instrument
GUI
graphical user interface
HA
high availability
HE
hardware element
HP
Hewlett-Packard
HPI
the SA Forum Hardware Platform Interface
HTTP
hypertext transmission protocol
HW
hardware
IBM
International Business Machines
ID
identifier
IDR
Inventory Data Record
IEEE
Institute of Electrical and Electronics Engineers
IETF
Internet Engineering Task Force
IFIP
International Federation for Information Processing
iLO2
HP Integrated Lights-Out 2
IMM
the SA Forum Information Model Management Service
I/O
input/output
IP
the Internet Protocol
IPMB
intelligent platform management bus
IPMI
intelligent platform management interface
ISP
in-service performance
ISV
independent software vendor
IT
information technology
ITU
International Telecommunication Union
Java EE
Java Enterprise Edition (formerly J2EE)
JCP
Java Community Process
JMX
Java Management eXtenstions
JSR
Java specification request
JVM
Java virtual machine
LDAP
lightweight directory access protocol
LOG
the SA Forum Log service
MAGIC
Modeling and Automatic Generation of Information for Configuration and upgrade campaigns for service availability
MARTE
OMG's Modeling and Analysis of Real-Time Embedded systems
MDA
model driven architecture
MDE
model driven engineering
MDS
message distribution service
MIB
management information base
MOF
meta object facility
MSG
the SA Forum Message Service
MTBF
mean time between failures
MTTF
mean time to failure
MTTR
mean time to repair
NAM
the SA Forum Naming Service
NEC
Nippon Electric Company, Limited
NETCONF
network configuration protocol
NIO
New I/O
NTF
the SA Forum Notification Service
NTP
network time protocol
OA
onboard administrator
OAM
operations, administration, and maintenance (or management)
OCL
object constraint language
OI
object implementer
OI-API
the object implementer API of the IMM service
OM
object manager
OM-API
the object management API of the IMM service
OMG
Object Management Group
OS
operating system
NP-hard
nondeterministic polynomial-time hard
PCI
peripheral component interconnect
PICMG
PCI Industrial Computer Manufacturers Group
PLM
the SA Forum Platform Management Service
POSIX
Portable Operating System Interface for Unix
POTS
plain old telephone service
RIBCL
remote insight board command language
RDN
Relative Distinguished Name
RDR
resource data records
RPM
RPM Package Manager or Redhat Package Manager
RPT
resource presence table
RSA
remote supervisor adapter
RTAS
run-time abstraction services
RTP
real-time transport protocol
RTSP
real-time streaming protocol
SA
service availability
SAF
Service Availability Forum
SAI
Service Availability Interface
SAN
Storage Area Network
SEC
the SA Forum Security Service
SI
service instance
SG
service group
SMF
the SA Forum Software Management Framework
SMIv2
Structure of Management Information Version 2
SNMP
simple network management protocol
SOAP
simple object access protocol
SPNP
stochastic Petri net package
ssh
secure shell
SSL
secure socket layer
SU
service unit
SW
software
TCP
transmission control protocol
TID
HP Telecom Infrastructure Division
TIPC
transparent inter-process communication
TMR
the SA Forum Timer Service
TWG
the SA Forum Technical Working Group
UCMI
universal chassis management interface
UML
unified modeling language
UmL
User-mode Linux
UCS
upgrade campaign specification
URI
uniform resource identifier
VLC
VideoLAN Client
VLM
VideoLAN Manager
VM
virtual machine
VMM
virtual machine monitor
VoD
Video on Demand
WBEM
Web-Based Enterprise Management
WG
working group
XMI
XML metadata interchange format
XML
eXtensible Markup Language
xTCA
ATCA and MicroTCA
Part One
Introduction to Service Availability
Chapter 1
Definitions, Concepts, and Principles
Francis Tam
Nokia Research Center, Helsinki, Finland
As our society increasingly depends on computer-based systems, the need for making sure that services are provided to end-users continuously has become more urgent. In order to build such a computer system upon which people can depend, a system designer must first of all have a clear idea of all the potential causes that may bring down a system. One should have an understanding of the possible solutions to counter the causes of a system failure. In particular, the costs of candidate solutions in terms of their resource requirements must also be known. Finally, the limits of the eventual system solution that is put in place must be well understood.
Dependability can be defined as the quality of service provided by a system. This definition encompasses different concepts, such as reliability and availability, as attributes of the service provided by a system. Each of these attribute can therefore be used to quantify aspects of the dependability of the overall system. For example, reliability is a measure of the time to failure from an initial reference instant, whereas availability is the probability of obtaining a service at an instant of time. Complex computer systems such as those deployed in telecommunications infrastructure today require a high level of availability, typically 99.999% (five nines) of the time, which amounts to just over five minutes of downtime over a year of continuous operation. This poses a significant challenge for those who need to develop an already complex system with the added expectation that services must be available even in the presence of some failures in the underlying system.
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
Lesen Sie weiter in der vollständigen Ausgabe!
