Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Design

Use Embots to Implement Autonomic Computing


The responsibilities of the autonomic manager are real-time management of the host hardware, operating system and hosted applications. The autonomic manager runs customizable, policy-based, server /OS/application management software thereby automating IT service management. It performs preventative maintenance tasks, detection, isolation, notification and recovery of host events/faults and records root cause forensics and other operating data of user interest. An autonomic manager achieves its goals by monitoring the host. Measurements made are analyzed for scenarios of interest; e.g. disk full or impending failure. A plan to resolve the scenario is then generated; e.g. notification of the need for a higher capacity drive and running of disk cleaning utilities as a temporary measure. Finally, once planned, the autonomic manager schedules (executes) planned activity to resolve the scenario. All four processes depend upon knowledge built into the system--knowledge that has been encoded in policies and information that has been gathered from the Managed Element.

The autonomic manager is an embedded computer application that runs continuously, responding to changes in a system being managed and acting on behalf of a user. Autonomic Managers are examples of embots. An autonomic manager has the following characteristics:

  • operates on the management plane
  • lightweight
  • autonomous; can operate without human involvement
  • social; it communicates with other autonomic managers
  • mobile; can move when resources move

Autonomic managers--embots--are trusted applications, designed to manage specific aspects of an operating system (e.g. services, processes or files in the file system) or its hosted applications (e.g. Microsoft Exchange). Embots run on top of an Embot Application Framework (EAF), which executes within the management plane (See Figure 2). Embots implement one or more policies designed to manage some aspect of an application, operating system, device driver or hardware. Embots are lightweight and achieve their expressive power through properties of self-organization and communication with other embots. Embots reason about changes observed within the managed element and can act autonomously; i.e. can take actions without system administrator involvement.

In some cases, embots may ask a system administrator to confirm that an action should be taken; establishing the right level of trust being a straightforward matter of corporate policy. Finally, embots are mobile; this being necessary in order to support migrating virtual machines. If a virtual machine migrates from one physical machine to another, the embot collective managing it does too! So, what is a management plane?

A management plane is a computing environment in which management functionality runs; e.g. embots. A management plane can be physical or virtual. An example of a physical management plane would be an Open Platform Management Architecture (OPMA) card running a framework hosting embots. An example of a virtual management plane would be a privileged virtual machine such as Xen's domain 0. The service plane represents the applications, operating system and hardware being managed. In Figure 1, the service plane is represented by the Managed Element.


Figure 2. Management and Service Planes

The management lifecycle
Figure 3 provides an overview of the lifecycle of an autonomic manager. The environment supporting the lifecycle consists of several important components: the Autonomic Controller Engine (ACE), the Management Console (MC), the Module Development Environment (MDE) and Management Modules (MM). ACE is an example of an autonomic manager shown in Figure 1 and consists of the Embot Application Framework and Embot Execution Environment shown in Figure 2.

The MC is a secure web portal through which all deployed ACEs are centrally managed. The MC centralizes notification and escalation of problems that the ACE cannot solve (e.g. hardware failures). The MC also acts as the integration point for enterprise management consoles such as Microsoft's Operation Manager (MOM) and HP OpenView. The MC is also the point through which group deployment of software to ACEs is coordinated.


Figure 3. The Autonomic Management Lifecycle

The MDE is used to create and edit management modules. A management module is the unit of deployment of autonomic management. As such, it consists of embots that assist in managing the server and its applications along with utilities to support them. Management modules are deployed to one or more ACEs via the MC. One or more management modules can be deployed to an ACE. A module is instantiated in a module archive, similar in structure and intent to a web archive used by application servers. Simply put, a module archive is a directory structure of a standard format that contains managed element models, classes and resources that encode a management scenario of interest. A module archive may also contain dynamic link libraries that may be required in order to augment the low level instrumentation on the host and HTML documents that allow a user to interact with the run time version of the module for purposes of configuration.

From an autonomic manager's perspective, a module is comprised of a set of scenarios related on a conceptual level--for example there might be a module designed to manage printers, another to audit host performance in order to establish normal levels of resource consumption, and a third to enforce security.

A scenario encompasses data and host information to be monitored, as well as the processing of this information: conditions, filters and thresholds to be satisfied, and actions to be taken, for instance events to be logged and alarms to be raised. Modules are completely pluggable, meaning that they can be installed, updated or reconfigured at runtime, and require no modifications to the engine framework.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.