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

40
Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb- Bendiab Liverpool John Moores University

Upload: clare-blankenship

Post on 25-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

RainbowFacilitating Restorative Functionality

Within Distributed Autonomic Systems

Philip Miseldine, Prof. Taleb-BendiabLiverpool John Moores University

Page 2: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool 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

Page 3: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

Motivation•Self Regenerative Systems

•Self-awareness

•Restorative Qualities

•Detect detrimental system behaviour

•Actively remove vulnerability

•Adaptive Infrastructure

•Sensor / Instrument monitoring

Page 4: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

Motivation

•What exists nowadays?

•Dynamic AOP

•Runtime Dynamism

•BDI Agent Models

•Generative Software Paradigms

•...Complete System Backup :)

Page 5: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

Motivation

Neptune

Rainbow Clouds

Page 6: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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!

Page 7: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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.

Page 8: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

What is Rainbow?•Rainbow is a

service framework

•Monitoring the underlying system...

•...capturing its logical representation

Page 9: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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...

Page 10: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 11: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 12: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 13: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 14: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

NeptuneAn Introspective Language for Describing

System Intentions

Page 15: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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)

Page 16: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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.

Page 17: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

Neptune?

•Object form allows compiled outputs to be XML serialisable:

•Neptune Objects can be stored on:

•Databases

•Served through SOAP

•Stored as XML

Page 18: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

Neptune 101

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

Page 19: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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; } }

Page 20: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

Neptune 101Workflow can also be graphically defined:

Page 21: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 22: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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...

Page 23: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

CloudsDistributed, Flexible Architecture

Framework

Page 24: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 25: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 26: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 27: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 28: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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 :)

Page 29: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 30: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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.

Page 31: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

CA-SPA, Cloud, Neptune

Page 32: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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

Page 33: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

Rainbow Example

E-Commerce Scenario for Rainbow Services

Page 34: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

AcmeOnline•In normal

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

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

Page 35: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

AcmeOnline•The approach of

Christmas provides many more customers.

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

Page 36: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

AcmeOnline

•After adaptation and evolution, the system becomes stable.

•Sensing stability, Rainbow takes a snapshot of the system

Page 37: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

AcmeOnline•After Christmas, the

system returns to its original customer load.

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

Page 38: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

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.

Page 39: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

Conclusions•In the context of Regenerative

Software:

•Neptune + CIF = Self Awareness

•Cloud = Co-ordination

•Rainbow:

•Restorative Functionality

•Vulnerability detection

Page 40: Rainbow Facilitating Restorative Functionality Within Distributed Autonomic Systems Philip Miseldine, Prof. Taleb-Bendiab Liverpool John Moores University

Thank You :)