rainbow facilitating restorative functionality within distributed autonomic systems philip...

Post on 25-Dec-2015

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

RainbowFacilitating Restorative Functionality

Within Distributed Autonomic Systems

Philip Miseldine, Prof. Taleb-BendiabLiverpool John Moores University

Scope of Talk•Introduction to Rainbow

•What is Rainbow?

•The research motivation

•What can it do?

•Introduce Neptune and Clouds

•The technologies that underpin Rainbow

•Conclude with a demo of Rainbow

Motivation•Self Regenerative Systems

•Self-awareness

•Restorative Qualities

•Detect detrimental system behaviour

•Actively remove vulnerability

•Adaptive Infrastructure

•Sensor / Instrument monitoring

Motivation

•What exists nowadays?

•Dynamic AOP

•Runtime Dynamism

•BDI Agent Models

•Generative Software Paradigms

•...Complete System Backup :)

Motivation

Neptune

Rainbow Clouds

What is Rainbow?•Provides the following functionality for

autonomous systems:

•Storage of configuration

•External analysis of configuration

•Safe adaptation of configuration

•Restoration of earlier configurations

•Think of it as Windows Restore for Autonomic Systems.

•But smarter!

Configuration Data•Configuration data encompasses:

•Rules and policies that underpin the behaviour of an autonomous system.

•Associations between services of the system.

•State information of services and agents within the system.

What is Rainbow?•Rainbow is a

service framework

•Monitoring the underlying system...

•...capturing its logical representation

What is Rainbow?•These snapshots are centrally

stored in an introspective format:

•allowing analysis and adaptation

•3rd party tool access

•We’ll talk more about the format later!

•Snapshots can be restored when required, or automatically...

A Word on Context•We all make choices based on the

context of (amongst other things):

•What we’re being asked to do

•What the effect of our action will be

•Both on ourselves

•And our environment

A Word on Context•The same is true for autonomous

systems:

•By capturing not just what the system is doing (its configuration)

•But its operational context too:

•When we find ourselves back in the original context

•We have a verified configuration snapshot to use

What is Rainbow?•Monitoring of the underlying

system is two-fold:

•Analysing when to take snapshots based on intentions

•Analysing when to reintroduce snapshots based on context

What is Rainbow?•On system stability:

•Snapshot taken of configuration

•Snapshot of context taken

•On system instability:

•Context compared against stored snapshots

•Configuration snapshot restored

NeptuneAn Introspective Language for Describing

System Intentions

Neptune?•A runtime introspective language

•Allows the inspection and modification of represented logic at runtime without:

•Recompilation

•Prior structural knowledge

•Affecting system performance (no downtime)

Neptune?•Runtime introspection allows both

humans and more importantly, machines to formalise intentions.

•Software can both write and inspect itself, allowing complete autonomous control over its function, architecture, and deployment configuration.

Neptune?

•Object form allows compiled outputs to be XML serialisable:

•Neptune Objects can be stored on:

•Databases

•Served through SOAP

•Stored as XML

Neptune 101

User or machine provides an intention for the system (a system concept)

Neptune 101For us humans, Neptune Script is a language that enables these intentions to be encoded:

define concept Availability as Boolean{

if (Instrument[“RoundTripTime”] > 500)

{return true;

}else{

return false; } }

Neptune 101Workflow can also be graphically defined:

Neptune 101For computers, Neptune Script is compiled into object form:

Neptune and Rainbow

•With full autonomous specification of policy and structure defined in Neptune Objects:

•Simply a case of co-ordinating retrieval and storage of the underpinning objects.

•This co-ordination is performed by the Cloud Framework...

CloudsDistributed, Flexible Architecture

Framework

Cloud Framework•Service Orientated Architecture

•“a system with loose boundaries which can interact and merge with other such systems”

•Co-ordination through distributed shared memory

•Provides instrumentation framework to assess context

Cloud Framework•Operates through standards

•SOAP, XML, UDDI, HTTP...

•Core framework is Cross-platform

•C# .NET for Windows

•Cocoa / Objective-C for Mac OS-X

•Java for everything else!

•Service Orientated Architecture

•“a system with loose boundaries which can interact and merge with other such systems”

•Co-ordination through distributed shared memory

•Provides instrumentation framework to assess context

Cloud Framework

•Instrumentation (sensors) provided by the Cloud Instrumentation Framework:

•Use any source as a data provider

•Database (SQL query)

•OS-specific

•Windows (WMI-SQL)

•Mac OS-X (AppleSense)

•XML Source

Cloud Framework•Instruments are typed:

•Instruments can be defined by:

•Attribute

•Method

•Different resources can use same instrument based on its type

•Distribution of instruments controlled by their type

Cloud and Neptune•Hosts Neptune Object Execution

•And adaptation

•Provides Neptune with real-time instrumentation

•Using CIF (Cloud Instrumentation Framework)

•Provides control methodology based on adaptable, multi-layered policies

•Using, guess what...Neptune :)

CA-SPA

•The design of Neptune allows for powerful functionality to be built.

•CA-SPAs componentised form of system policy documentation written in Neptune

•Using system defined concepts and actions, higher order policies can be built that automatically adapt on changes to the base components

CA-SPA•A CA-SPA document contains 3

sections that determine its policy role:

•Situation: A formalisation of a state of a system component.

•Prediction: A formalisation of the preferred state of a system component.

•Action: Ontological view of the changes that need to be made to bring about the system change.

CA-SPA, Cloud, Neptune

Clouds and Rainbow•The Cloud provides the control and storage

mechanisms for Rainbow

•Snapshots stored and analysed in Shared Memory

•Instrumentation provides notion of context

•CA-SPA policy enables snapshots to be taken upon reaching a situational state.

•Co-ordination through distributed shared memory

•Provides instrumentation framework to assess context

Rainbow Example

E-Commerce Scenario for Rainbow Services

AcmeOnline•In normal

operation, the system is configured to handle x number of customers

•Rainbow, sensing system stability, takes a snapshot of the configuration.

AcmeOnline•The approach of

Christmas provides many more customers.

•The system, through the use of CA-SPAs adapts to this new operating context.

AcmeOnline

•After adaptation and evolution, the system becomes stable.

•Sensing stability, Rainbow takes a snapshot of the system

AcmeOnline•After Christmas, the

system returns to its original customer load.

•Rainbow, sensing a change of context, reintroduces the original configuration snapshot.

Conclusions•Benefits:

•Reaction to change captured

•System evolution open to analysis

•Attack the Mess with the Mass

•With many optimally known configurations, anomalies can be identified.

Conclusions•In the context of Regenerative

Software:

•Neptune + CIF = Self Awareness

•Cloud = Co-ordination

•Rainbow:

•Restorative Functionality

•Vulnerability detection

Thank You :)

top related