Mobile Agent and Enterprise
Architecture Integration
Il Gestore di Librerie e Servizi
Lambertini Riccardo
Application Server con Gestore di
piattaforma ad Agenti Mobili
Mobile
Agent
AS
AS
MAEAI
MAEAI
Mobile
Agent
Mobile
Agent
Mobile
Agent
SCOPO PRINCIPALE
Fornire un servizio di mobilità ad agenti per
le richieste dell’AS 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 all’esecuzione dell’agente
3. Bilanciamento di carico dell’intero sistema
REQUISITI PROGETTUALI :
− Per gli Agenti
− Sicurezza
− Scalabilità
•
•
•
•
Autonomia
Interazione con l’ambiente
Proattività
Cooperazione
REQUISITI IMPLEMENTATIVI:
– Linguaggio JAVA e J2EE
– Architettura SOMA (Secure and Open Mobile Agent)
del DEIS
– Application Server JBoss
– Servizio di discovery JNDI (Java Naming and
Directory Interface)
ARCHITETTURA LOGICA
1
Application
Server
0..*
1
1
1
1
Gestore Librerie e Servizi
MAEAI
0..*
Controllore Agenti
Monitor Risorse di Esecuzione
1
0..*
1..*
1
1
1
Container Politiche
1
Agente Mobile
0..*
Gestore di Librerie e Servizi
Ruolo di un Gestore di risorse di rete:
– aggiornare le risorse locali
– reperire informazioni sulle risorse remote
– poter comunicare le informazioni sulle
risorse agli interessati
SERVIZI D’APPOGGIO
1. Servizio di discovery dei servizi della rete
2. Servizio di gestione del classpath delle librerie
Servizi offerti dai Gestori
• Saper una data risorsa (Servizio o Libreria) è
presente su di un nodo
• Fornire l’elenco dei nodi nei quali è presente una
data risorsa di una risorsa
solo per le Librerie:
• Richiedere il caricamento/scaricamento di una o
più Librerie date su/da un nodo remoto
Le informazioni sulle risorse della rete sono mantenute in tabelle e
sono accedibili tramite l’uso di una chiave a scelta tra:
• la risorsa cercata
• il nodo di interesse
Raccolta delle informazioni
REQUISITO: scalabilità
Domain info
Place info
Domain info
Place info
Place info
Place info
Generico Gestore
ASPETTI COMUNI:
• utilizza ad uso esclusivo all’interno di MAEAI un servizio
messo a disposizione dall’Application Server ospitante
• deve mantenere aggiornate delle informazioni
riguardanti il nodo di residenza
• deve mantenere aggiornate delle informazioni
riguardanti la rete
• deve rispondere a delle richieste riguardanti le
informazioni gestite
DIFFERENZA FONDAMENTALE:
Servizi
fortemente legati al nodo
locale
Librerie
indipendenti dal nodo
locale
Struttura generico Gestore
THREAD INFORMAZIONI LOCALI:
THREAD INFORMAZIONI REMOTE:
Flusso separato per svincolare la
richiesta al servizio locale (necessaria
per l’aggiornamento) dal flusso di
controllo del gestore:
Flusso separato per annullare
l’overhead introdotto dalla rete sulla
richiesta al gestore remoto:
richieste di lettura info mai bloccate
se non in fase di sovrascrittura variabili
Comunicazione: i command
I Command di SOMA sono in tutto e per tutto thread che, inviati ad un
Place remoto, incominciano l’esecuzione appena arrivati in loco.
• L’uso di Command innestati permette il corretto
funzionamento anche a fronte di mancanza del
supporto MAEAI in remoto.
• L’uso di Command separati per ogni gruppo di
informazioni mantiene svincolati i ritardi introdotti
dalla rete, senza incrementare
significativamente i tempi di aggiornamento delle
informazioni locali.
Conclusioni e sviluppi futuri
La piattaforma MAEAI installata su di un AS realizza una
migrazione consapevole degli Agenti Mobili, scegliendo per
ognuno di essi la località migliore ove eseguire in funzione
di: località delle risorse, carico dei nodi e politiche dei
Gestori omologhi.
Necessita di servizi messi a disposizione dall’AS quali un
gestore del classpath librerie e un JNDI che sappia fornire
informazioni sulla località dei servizi.
Potrà permettere ad agenti mobili di fungere da proxy di un
utente mobile, memorizzando profilo o sessione.
Si potrebbe estendere l’espansione e/o aggiornamento della
conoscenza della rete tramite un agente mobile incaricato,
mantenendo però la proprietà di scalabilità.
Scarica

Mobile Agent and Enterprise Architecture Integration