Áttekintés: trace analízis
Algoritmus 1 – N-gramok felismerése ha egy hosszabb s szekvencia helyettesíteni tudja valamely szülőjének α százalékát, akkor egy új s szekvenciát kell bevezetni mint (k+1)-gram ha egy hosszabb s szekvencia helyettesíteni tudja valamely szülőjének α százalékát, akkor egy új s szekvenciát kell bevezetni mint (k+1)-gram C i k az i-edik k-gram f(s) mutatja, hogy a szekvencia hányszor jelenik meg a tanítóhalmazban C i k az i-edik k-gram f(s) mutatja, hogy a szekvencia hányszor jelenik meg a tanítóhalmazban
Egyszerű példa Bemenet: Trace-ek: ABC, CD, ABD, AB, CBD α = 0,7 k=1 A (3) B (3) C (2) D(2) k=2 AB (3) BD(2) BC (1) CB(1) CD(1) k=3 ABD(1)
Algoritmus 2 – Automata építés L = a leghosszabb n-gram hossza
Teljes modellépítés példa Three traces: ABCDE, CDEA, CDEBA (capital letters are the components visited during the transaction) Threshold: α = 0.6 Algorithm 1: (n-gram extraction) Algorithm 2: (automata construction) Az x-szel jelöltek nem érik el az α küszöböt!
Hiba detektálása - ötlet 1. szabály: a különféle n-gram halmazok közül mindig a hosszabb n- gramokat tartalmazó halmazt választjuk 2. szabály: az ugyanazon halmazban lévő n-gramok közül a gyakoribbat válasszuk Ötlet: egy trace elfogadható, ha 1.feltétel: a trace felvágható az 1. és 2. szabály szerint a meghatározott (C a ) halmazokban található n-gramokra 2.feltétel: ezen n-gramok átmenetei követik az automata átmeneteit (részhalmaz)
Algoritmus 3 - Detektálás C a azon n-gramok halmaza, amelyet tartalmaz az automata N a a C a –ban lévő n-gramok száma C a azon n-gramok halmaza, amelyet tartalmaz az automata N a a C a –ban lévő n-gramok száma
Példa - Detektálás Bemeneti trace: Automata: Nincs ilyen n-gram C a -ban Nincs ilyen átmenet az automatában
Kísérleti értékelés A kísérleteket a PetStore Java benchmark alkalmazással végezték, amely 27 Enterprise JavaBeanből (EJB) áll A felhasználó viselkedést emulálták Az ábra az összes N-gram számát ill. a leghosszabb N-gram hosszát mutatja az α tűréshatár függvényében
Kísérleti értékelés II. Az ábra az automaták méretét mutatja a különféle α tűréshatár értékek függvényében Összehasonlítva az előző ábrával: sok n-gramot nem használtunk fel az automata építése során, különösen, amikor az α tűréshatár alacsony
Kísérleti értékelés III. 30 hiba injektálása az EJB tesztalkalmazásba Az ábra a detektált, abnormális trace-ek számát mutatja α szerint α = 0.5…0.6 között a leghosszabb n-gram hossza 50-ről 8-ra csökken, és a detektálás pontossága 26/30-ról 12/30-ra a hamis pozitívak aránya nagyon kicsi (~1), de az injektált hibák megváltoztathatják a belső állapotot, amelyek meghibásodást okozhatnak, amúgy nem hibás trace-ekben, amiket emiatt detektálhatunk ez a félrevezető detektálás nehezíti a hibakeresést, de nagyrészt eliminálhat, ha csak az időbélyeg szerinti első hibás trace-szel foglalkozunk
Bevezetés Az AC egy rendszerszintű megközelítés o Automatizálás és felügyelhetőség a rendszer minden rétegében o Federált, heterogén komponenensek kohezívan együttműködnek Három alapvető elv szerint fejlődnek AC rendszerek o szabályozástechnika o dinamikus tervkésztés o reflektív, self-aware rendszerek Az autonomic computing (AC, autonóm informatika) az autonóm idegrendszert modellező rendszertervezési paradigma. A rendszer alapvető állapotváltozóiban bekövetkező változás a teljes rendszert viselkedését megváltoztató beavatkozást vált ki, amely biztosítja, hogy a rendszer egyensúlyi állapotba kerül a környezetével.
Motivation for Autonomic Computing System Uncertainty –Very large scales –Ad hoc structures/behaviours p2p, hierarchical, … –Dynamic entities join, leave, change behaviour –Heterogeneous capability, connectivity, reliability, –Lack of guarantees components, communication –Lack of common/complete knowledge number, type, location, availability, connectivity, protocols, semantics Information Uncertainty –Availability, resolution, quality of information –Devices capability, operation, calibration –Trust in data, data models –Semantics Application Uncertainty –Dynamic behaviours space-time adaptivity –Dynamic and complex couplings multi-physics, multi-model, multi-resolution, …. –Dynamic and complex (ad hoc, opportunistic) interactions –Software/systems engineering issues Emergent rather than by design Research directions
Self-* tulajdonságok A self-* (ön*) tulajdonságok AC rendszerek makroszkopikus tulajdonságai Általában emergens tulajdonságok: a makroszkopikus tulajdonság mikroszkopikus interakciók összességéből erednek
Önkonfiguráció - Self-configuration Automatikus adaptáció a dinamikusan változó környezethez Belső adaptáció o Komponensek hozzáadása vagy elvétele (software) o Futás közbeni újrakonfiguráció Külső adaptáció o A globális infrastruktúra szerint saját magát állítja be a rendszer
Öngyógyítás - Self-healing Külső zavarás felismerése, diagnosztizálása és szolgáltásmegszakítás nélküli kezelése Autonóm problémafelismerés és megoldás A hibás komponenseket o detektálni, o izolálni, o javítani, o újraintegrálni.
Önoptimalizáció - Self-optimization Erőforrások automatikus monitorozása, hangolása, felügyelete o Működés nem előre jelezhető körülmények között o Erőforrás kihasználás maximalizálása emberi beavatkozás nélkül Dinamikus erőforrás allokáció és terhelés menedzsment o Erőforrás: tárhely, adatbázis, hálózat o Példa: dinamikus szerver fürtök
Önvédelem - Self-protection Támadásokra való felkészülés, detekátlás, azonosítás és védelem o Felhasználói hozzáférés definiálása és felügyelete minden erőforrásra o Jogosulatlan hozzáférés elleni védelem
Autonomic Element - AE Az architektúra alapeleme a Felügyelt egységből Adatbázis, alkalmazásszerver, stb És autonóm menedzserből álló Autonóm egység Feladatai: A funkcionalitás nyújtása Saját viselkedésének felügyelete a self-* tulajdonságok alapján Együttműködés más autonóm egységekkel Az autonóm egység Managed Element ES Monitor Analyze Execute Plan Knowledge Autonomic Manager
AE: Kölcsönhatások Kapcsolatok AE-k között: –Dinamikus, ideiglenes, célorientált –Szabályok és kényszerek definiálják –Egyezség által jön létre Ez lehet tárgyalás eredménye –Teljes spektrum Peer-to-peer Hierarchikus –Házirendek (policy) szabályozhatják
Önszervezés Az önszervezés o alacsony szintű egységekben végrehajtott o dinamikus folyamatok összessége, amely során o struktúra vagy rend jelenik meg o globális szinten. Az önszervező viselkedést eredményező szabályokat (amelyek a kölcsönhatásokat meghatározzák) az AE-k csupán lokális információ alapján alkalmazzák
AC referencia architektúra Részben vagy teljesen automatizált folyamatok (pl. ITIL folyamatok) Az AC rendszer által felügyelt erőforrások IT építőelemek, és összekapcsolásuk leírása Építőelemek kombinálása tipikus forgatókönyvekké
Autonóm Kölcsönhatás