M.A.E.A.I. Mobile Agent and Enterprise Architecture Integration Il gestore delle politiche Valerio Siri Reti di Calcolatori LS Docente: Antonio Corradi
Fornire un servizio di mobilità ad agenti per le richieste dellAS attuando una migrazione intelligente e consapevole in base a: 1. Politiche degli AS mittente e destinatario 2. Località di Risorse quali servizi e librerie necessarie allesecuzione dellagente 3. Bilanciamento di carico dellintero sistema Struttura e scopo del sistema
M.A.E.A.I. - Un gestore di piattaforma ad Agenti Mobili AS MAEAI Mobile Agent Mobile Agent AS Mobile Agent Mobile Agent MAEAI
REQUISITI IMPLEMENTATIVI: Linguaggio JAVA Linguaggio JAVA Infrastruttura SOMA del DEIS Infrastruttura SOMA del DEIS Application Server JBoss Application Server JBoss Servizio di discovery JNDI Servizio di discovery JNDI Tecnologia JMX Tecnologia JMX Per gli Agenti Per gli Agenti Sicurezza Sicurezza Scalabilità Scalabilità Autonomia Autonomia Interazione con lambiente Interazione con lambiente Proattività Proattività Cooperazione Cooperazione REQUISITI PROGETTUALI:
Architettura Logica
Il Gestore delle politiche M.A.E.A.I. prende continuamente decisioni su: Migrazione di agenti Migrazione di agenti Caricamento/scaricamento di risorse Caricamento/scaricamento di risorse Gestione del carico computazionale Gestione del carico computazionale Politiche come strumento per indirizzare tali decisioni Dato un certo oggetto, un meccanismo definisce come tale oggetto deve essere realizzato al fine di ottenere un determinato funzionamento. Una politica invece definisce cosa deve fare tale oggetto, ossia permette di decidere del suo comportamento. Tecnologia JMX (Java Management eXtensions) come utile strumento per la realizzazione di politiche modulari.
JMX – Java Management eXtensions Metodologia semplice e standard per gestire e monitorare in tempo reale applicazioni e servizi, anche in remoto. Metodologia semplice e standard per gestire e monitorare in tempo reale applicazioni e servizi, anche in remoto. Risorse incapsulate in Managed Bean (MBean). Ogni MBean espone uninterfaccia di gestione, ossia un insieme di attributi accessibili e in lettura e/o scrittura e uninsieme di operazioni invocabili. Risorse incapsulate in Managed Bean (MBean). Ogni MBean espone uninterfaccia di gestione, ossia un insieme di attributi accessibili e in lettura e/o scrittura e uninsieme di operazioni invocabili. Politica come risorsa incapsulata in un MBean Politica come risorsa incapsulata in un MBean Tramite registrazione degli MBean su un MBean server, un agente JMX controlla le risorse e le rende disponibili per la gestione da parte di unapplicazione Tramite registrazione degli MBean su un MBean server, un agente JMX controlla le risorse e le rende disponibili per la gestione da parte di unapplicazione Opportuni adattatori per la visualizzazione degli MBean (e.g. HtmlAdaptorServer) Opportuni adattatori per la visualizzazione degli MBean (e.g. HtmlAdaptorServer) Meccanismi di notifica per il monitoring delle risorse Meccanismi di notifica per il monitoring delle risorse Uso di connettori standard (JMX Connectors) per accedere alle risorse da remoto in modo indipendente dal protocollo di comunicazione Uso di connettori standard (JMX Connectors) per accedere alle risorse da remoto in modo indipendente dal protocollo di comunicazione
Politica di gestione del carico Il fattore di carico locale viene calcolato secondo la formula: C_CPU*W_CPU + C_Memory*W_Memory + C_IO* W_IO = Charge La politica di gestione del carico consente di: impostare i pesi da assegnare ai relativi parametri impostare i pesi da assegnare ai relativi parametri definire una soglia di sovraccarico definire una soglia di sovraccarico definire una soglia di rientro dal sovraccarico definire una soglia di rientro dal sovraccarico I parametri di carico vengono rilevati periodicamente da un opportuno monitor del carico. Due soglie distinte al fine di definire un ciclo di isteresi per gestire efficientemente situazioni di lavoro prossime al sovraccarico.
Politica di gestione del carico (2) Ciclo di isteresi del carico
Politiche di accettazione degli agenti e di download delle risorse sempre sempre solo in condizione di server scarico prima dellaccettazione solo in condizione di server scarico prima dellaccettazione solo in condizione di server scarico dopo laccettazione (necessità di una stima sul carico introdotto dallagente eventualmente accettato) solo in condizione di server scarico dopo laccettazione (necessità di una stima sul carico introdotto dallagente eventualmente accettato) mai mai La politica di accettazione degli agenti consente di scegliere se accettarli: La politica di download delle risorse consente solo di scegliere di potere scaricare le librerie. I servizi vengono invece visti come fissi.
Politiche di migrazione degli agenti Tali politiche vengono interrogate dal Gestore degli Agenti Mobili, sia nel caso si voglia migrare un agente verso una risorsa, sia in caso di sovraccarico per scegliere, in modo ottimale, gli agenti da migrare e i relativi nodi di destinazione. privilegiare gli agenti per i quali si conosce un AS remoto sul quale è presente il servizio necessario. privilegiare gli agenti per i quali si conosce un AS remoto sul quale è presente il servizio necessario. ordinarli per fattore di carico crescente ordinarli per fattore di carico crescente ordinarli per fattore di carico decrescente ordinarli per fattore di carico decrescente La politica di scelta degli agenti da migrare consente di scegliere se:
Politiche di migrazione degli agenti (2) più scarico più scarico più vicino più vicino il più scarico tra quelli più vicini il più scarico tra quelli più vicini La politica di scelta dei nodi di destinazione consente di scegliere il nodo: Dipendentemente dallutilizzo dellinfrastruttura per agenti mobili SOMA, la vicinanza di un nodo è relativa al concetto di dominio, ossia: stesso dominio implica vicinanza, diverso dominio implica lontananza.
Politiche di gestione di M.A.E.A.I. Consentono di settare parametri relativi al funzionamento interno del sistema. Tali parametri sono: Il peso da assegnare al fattore di carico fittizio introdotto da un agente accettato ma non ancora arrivato. Il peso da assegnare al fattore di carico fittizio introdotto da un agente accettato ma non ancora arrivato. La dimensione massima della tabella relativa agli agenti accettati ma non ancora arrivati La dimensione massima della tabella relativa agli agenti accettati ma non ancora arrivati Un timeout sul tempo di risposta di un AS remoto alla richiesta di accettazione di un agente Un timeout sul tempo di risposta di un AS remoto alla richiesta di accettazione di un agente Il periodo di monitoraggio del fattore di carico locale Il periodo di monitoraggio del fattore di carico locale Un timeout oltre il quale una entry della tabella di carico viene ritenuta obsoleta e quindi scartata Un timeout oltre il quale una entry della tabella di carico viene ritenuta obsoleta e quindi scartata Il periodo di aggiornamento sulle informazioni dei carichi dei nodi (extra-dominio) Il periodo di aggiornamento sulle informazioni dei carichi dei nodi (extra-dominio) Il periodo di aggiornamento delle tabelle relative a librerie e servizi Il periodo di aggiornamento delle tabelle relative a librerie e servizi
Integrazione di M.A.E.A.I. come servizio sullApplication Server JBoss LApplication Server JBoss consente di integrare in modo ottimale servizi realizzati com MBean. Il SARDeployer si occupa del deploy gestendo file.sar. Tale archivio è tipicamente un.jar che contiene un oppurtuno descrittore in cui può essere specificato il servizio come MBean. Quando al SARDeployer è demandato il deploy di un servizio, per ogni elemento MBean presente nel descrittore ne crea unistanza. Relativamente a M.A.E.A.I. si sono registrati i servizi MaeaiGui, per lattivazione dellintefaccia grafica e Maeai che istanzia il gestore degli agenti vero e proprio. Si sono registrati infine tutti gli MBean relativi alle politiche di gestione descritte fin qui.
Visualizzazione del servizio tramite JMX-Console