Infrast rut t ure per la int egrazione di servizi pervasivi e m obili Stefano Monti [email protected] Bologna, 15/06/2009 1 5 /0 6 /2 0 0 9 1 Agenda Introduzione Composizione di servizi stato dell'arte esigenze meccanismo di composizione Riconfigurazione non funzionale problematiche di Ubiquitous Computing stato dell'arte soluzione Disappearing Middleware stato dell'arte impatto sulla piattaforma Conclusioni 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 2/46 Ubiquit ous com put ing Utenti sempre più richiedono di accedere contenuti/servizi ovunque in qualunque momento con qualunque dispositivo Nuove problematiche: multimodalità multicanalità mobilità context-awareness content adaptation ... SMS Ad-hoc client HTTP browser VoIP DVB-T Mhp 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 3/46 Problem at iche di Ubiquit ous Com put ing Context awareness erogazione di servizi/contenuti dipendenti dal contesto utente profilazione utenti adattamento di contenuto Interazione utente multipattern: differenti stili di interazione (es. push/pull) multicanale: differenti canali di comunicazione multimodale: differenti modalità/device di input/output Mobilità utenti, terminali, servizi si possono muovere e/o replicare 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 4/46 Esem pio Erogazione multimodale e multicanale di contenuti eterogenei (pagine HTML, RSS, ecc...) * Alice* ad ogni aggiornamento del contenuto HTML/RSS SMS su cellulare personale aggiornamento di una pagina personalizzata su DVBT mail riepilogativa a fine giornata * Bob * accesso device mobile evoluto: smartphone con browser Web accesso in mobilità con device limitato ma pervasivo: richiesta di contenuto tramite SMS risposta tramite chiamata vocale (GSM o VoIP) con lettura di contenuto sintetizzato 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 5/46 Carat t erist iche dello scenario Eterogeneità di servizi e contenuti da erogare Flessibilità ed estendibilità: è necessario supporto dinamico a nuovi contenuti/servizi nuovi canali di comunicazione nuove modalità di interazione Astrazione e approccio user-friendly 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 6/46 St at o dell'art e approcci spesso verticali problematiche specifiche (context awareness vs mobilità vs multimodalità/multicanalità) applicazioni specifiche (e-learning, entertainment, ecc...) difficoltà di estensione ed integrazione scarsa attenzione all'utente finale 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 7/46 Approccio m iddleware Middleware come soluzione alla eterogeneità strato di supporto distribuito (RPC/RMI, TP Monitors, Messaging ) funzionalità comuni di base per un dato dominio applicativo Requisito di essenzialità: supporto alle sole funzionalità necessarie Requisiti di estendibilità e dinamicità nuovi canali e nuove modalità di interazione aggiunta di funzionalità nel middleware Middleware ha il giusto grado di dinamicità ed astrazione? 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 8/46 Approccio disappearing Funzionalità applicative (es. generazione, adattamento, delivery di contenuti) delegate allesterno del MW dinamicamente estendibili Livello applicativo Livello Kernel Approccio Disappearing Middleware: MW come insieme minimale di funzionalità kernel di coordinamento aggiunta dinamica di funzionalità applicative by need 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 9/46 Approccio Service-orient ed Modularizzazione logica applicativa funzionalità come servizi aggregazione e coordinamento di servizi servizi Livello applicativo Livello Kernel Approccio Service-oriented servizi modellano logica applicativa servizi aggiungibili by need coordinamento e aggregazione di servizi in composizioni a valore aggiunto 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 10/46 Archit et t ura com plessiva ... Livello applicativo Service composition Workflow execution Messaging Service repository Persistence User profile Naming ... Livello Kernel 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 11/46 Funzionalit à kernel (1/2) Gestione servizi repository servizi (catalogazione e ricerca) gestione lifecycle servizi Gestione workflow descrizione e gestione lifecycle workflow esecuzione workflow User proxy gestione contesto utente supporto mobilità 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 12/46 Funzionalit à kernel (2/2) Interaction manager gestione interazione utente separazione modalità di interazione / canali di comunicazione Session manager gestione informazioni di sessione supporto livelli multipli Message broker messaggistica asincrona inter-componente 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 13/46 Aspet t i t ecnologici Logica kernel: stack Java 2 Enterprise Edition (J2EE) application server JBoss logica di coordinamento componenti EJB3 motore esecuzione WF JBoss JBPM messaggistica JMS Logica applicativa (servizi) nessun vincolo sulla implementazione interfacce di invocazione/management WS, EJB3, POJO, 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 15/46 Lessons learned Middleware come strato di supporto in ambito Ubiquitous, necessità di approccio disappearing Approccio Service-oriented necessità di meccanismi di coordinamento e composizione di servizi 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 16/46 COMPOSIZIONE DI SERVIZI 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 17/46 Com posizione di servizi Service oriented Computing promuove composizione di servizi realizzazione logica complessa a partire da blocchi basilari composizione statica vs dinamica gap tra concetti utente e meccanismi di computazione composizioni Descrizione formale di servizi cosa fanno come reperirli come comporli automaticamente come verificare la correttezza delle composizioni 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 18/46 St at o dell'art e: com posizione di servizi Composizione dinamica di servizi necessità di espressività descrittiva semantica sui servizi WSDL-S, OWL-S, ... necessità di automatizzare reasoning modelli teorici reti di Petri, logiche del primo ordine + sistemi estremamente flessibili ed aperti (anche troppo) - sistemi scarsamente orientati agli utenti 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 19/46 St at o dell'art e: Web Mashup Sistemi di Web Mashup orientati a contenuti Web interfacce utente ricche (paradigma RIA, Web 2.0) es. Yahoo Pipes, GMaps mashups, ... + sistemi fortemente orientati agli utenti - sistemi verticali e poco flessibili tipologie di dati e/o applicazioni spesso fissati 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 20/46 Requisit i Scenari di Ubiquitous Computing nuovi contenuti, canali di comunicazione, ... nuovi servizi apertura/estensibilità gli utenti sono i destinatari finali della erogazione di contenuti e servizi user friendliness requisiti di scalabilità numero ragionevole di soluzioni in un tempo limitato (no approcci esaustivi) 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 21/46 Carat t erist iche della propost a semantica per veicolare informazione strutturazione a layer, per gradi di astrazione utenti vedono solo i livelli a maggior astrazione nessun formato semantico specifico modello formale del meccanismo approccio algoritmico e non inferenziale 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 22/46 Modello di com posizione: servizi Servizi unità basilare di logica applicativa es: reperimento contenuti, trasformazione, adattamento, erogazione Workflow descrizione di flussi di lavoro aggregazione e coordinamento di servizi 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 23/46 Modello di com posizione: ut ent i Cosa devono/possono fare gli utenti? quali servizi/contenuti come coordinarli (es.: aggregazione, sequenza, ...) come interagire con servizi o aggregati di servizi Necessità di veicolare agli utenti semantica per questi tre aspetti 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 24/46 Modello di com posizione: ut ent i Service metadata semantica sulla natura dei servizi applicativi descrizione caratteristiche di alto livello di servizi logica selezione servizi Templates modelli di aggregazione di servizi workflow astratti logica coordinamento di servizi Interaction patterns interazione con template logica interazione servizi 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 25/46 Modello di com posizione: fusione Domini semantici caratteristiche di una determinata area tematica es. sintassi, comportamento estendibili dinamicamente stratificazione e visibilità (solo alcuni domini visibili agli utenti finali) Regole traduzione da template (wf astratto) a wf concreto Ruoli disaccoppiamento regole/template 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 26/46 Meccanism o di com posizione Requisiti utente -template -service metadata -interaction pattern -domini semantici -regole -ruoli Workflow Servizi 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 27/46 Det t agli del m eccanism o modellazione formale elementi dei tre livelli visibilità limitata per gli utenti (user semantics layer) indipendenza dal formato della semantica algoritmo di risoluzione traduzione requisiti utente in workflow scalabilità non completezza limitata ricorsività (template di template) 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 28/46 Case st udy - scenario Reperimento di contenuti RSS interazione pull (richiesta/risposta) richiesta tramite SMS risposta su canali multipli (mail e chiamata vocale) Pattern di interazione non convenzionale Adattamento di contenuti a differenti canali di comunicazione 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 29/46 Case st udy - configurazione Rp3 ={ transcoder R } p4 ={ userOutput, Rp1 ={ userInput } p2 FORK p1 outputOnMail } Rp2 ={ generator } p3 p4 Rp5 ={transcoder} R ={ userOutput, p6 outputOnPhone } p5 p6 outputOnMail.interactionDomain.outputChannel = mail outputOnPhone.interactionDomain.outputChannel = phoneCall userInput.interactionDomain.inputChannel = SMS generator.generationDomain.contentType = RSS generator.behavior.typology = generation generator.behavior.interactionStyle = pull transcoder.behavior.typology = transcoding 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 30/46 Case st udy - runt im e SMS Interceptor Impl Invoker RSS Puller Impl Invoker FreeVoice PSTN Synth Gateway Impl Impl RSS2Mail Email Service Adapter Sender impl Impl. Impl Kernel Invoker layer InvokerInvoker Invoker RSS2 Mail 15/06/2009 SMS RSSPuller Interceptor FORK Asymmetric Interaction Module User Email Proxy Sender Mail address Session PSTN Manager gateway Phone number Workflow Execution engine Free Voice Workflow execution engine multiOutputWF Syth Infrastrutture per la integrazione di servizi pervasivi e mobili 31/46 Lessons learned Composizione di servizi in ambito Ubiquitous necessità di coniugare semantica approcci dinamici ed estendibili user friendliness stratificata a livelli di astrazione differenti utenti hanno visibilità limitata intervento utente confinato e ben delineato non inferenzialità del meccanismo di risoluzione 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 32/46 RICONFIGURAZIONE NON FUNZIONALE 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 33/46 Un esem pio WFMS centralizzato diventa collo di bottiglia; necessità di garantire scalabilità allaumentare dei WF limitare overhead di comunicazione remota Inoltre, in ambienti dinamici locazione e disponibilità variano gestione repliche di servizi 15/06/2009 WFMS Infrastrutture per la integrazione di servizi pervasivi e mobili 34/46 Alt ernat iva: approccio ad agent i m obili Separazione delle responsabilità logica di esecuzione EE distribuiti ma non interagenti S4 S3 MA Layer EE logica di coordinamento agenti mobili Ciascuna istanza di WF associata ad un agente mobile (o più agenti) S2 Esecuzione del WF da parte dellagente servizi locali: esecuzione diretta tramite EE locale servizi remoti: agente migra nel nodo relativo ed esegue tramite EE locale 15/06/2009 MA Layer EE S1 MA Layer EE 35/46 Infrastrutture per la integrazione di servizi pervasivi e mobili Risult at i sperim ent ali – esecuzione wf A v e r a g e S e r v ic e E x e c u t i o n t im e M A&SC #1 jB p m # 2 10 1 10 15 20 25 30 35 40 45 A v e r a g e W o r k f lo w E x e c u t i o n t im e M A& SC #1 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 M A&S C #2 jB p m # 1 jB p m # 2 0 0 0 0 0 0 0 0 5 10 15 20 25 30 35 40 45 n u m b e r o f w o r k f lo w 15/06/2009 50 n u m b e r o f w o r k f lo w A v e r a g e w o r k f lo w e x e c u t io n ti m e ( m s ) Scelte di compromesso! jB p m # 1 100 5 Svantaggi deployment più oneroso necessità piattaforma ad agenti mobili M A&SC #2 1000 A v e r a g e s e r v ic e e x e c u tio n tim e (lo g (m s )) Benefici soluzione MA-based invocazioni locali di servizi parallelizzazione in caso di nodi fork Tempi di esecuzione inferiori Infrastrutture per la integrazione di servizi pervasivi e mobili 36/46 50 Esigenza Estrema dinamicità di scenari Ubiquitous ... necessità di flessibilità/riconfigurabilità applicativa necessità di flessibilità/riconfigurabilità non funzionale (kernel) 15/06/2009 Livello applicativo Service Workflow composition execution Service User profile repository Messaging Persistence Naming Infrastrutture per la integrazione di servizi pervasivi e mobili ... Livello Kernel 37/46 St at o dell'art e Sistemi riconfigurabili reflective middleware autonomic computing initiative (IBM) IBM MAPE-K model Riconfigurabilità in ambito Ubiquitous solo a livello applicativo 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 38/46 Requisit i Funzionalità basilari di riconfigurazione reconfiguration enactment reconfiguration policy management monitoring engine reconfiguration engine 15/06/2009 policy engine monitoring engine 39/46 Infrastrutture per la integrazione di servizi pervasivi e mobili Im pat t o archit et t urale Ulteriore stratificazione livello applicativo livello non funzionale kernel ancor più minimale approccio disappearing ... Livello applicativo reconfiguration engine policy engine Service Workflow composition execution Ciascun livello è in grado di riconfigurare quello superiore monitoring engine Service User profile repository Messaging Persistence Naming ... Livello non funzionale reconfiguration engine policy engine monitoring engine Livello Kernel 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 40/46 Aspet t i t ecnologici Logica non funzionale maggior grado di interdipendenza coordinamento autonomo Limite nel modello a servizi approccio a componenti framework a componenti leggeri (es. Spring) riconfigurazione riferimenti tra componenti Meccanismi di Inversion of Control deployment time runtime! modularizzazione problematiche di monitoring tecniche di Aspect-Oriented Programming 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 41/46 Lessons learned Approccio architetturale disappearing middleware nuova logica (funzionale e non funzionale) by need Open issues policy di riconfigurazione monitoring (distribuito) 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 42/46 CONCLUSIONI DIREZIONI DI SVILUPPO 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 43/46 Conclusioni Eterogeneità di scenari Ubiquitous Computing architettura middleware approccio disappearing service-oriented layer di supporto uniforme flessibilità e dinamicità aggiunta/creazione di funzionalità by need necessità di riconfigurazione funzionale non funzionale 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 44/46 Direzioni di evoluzione Direzioni di sviluppo della piattaforma politiche di riconfigurazione monitoring distribuito Nuovi scenari applicativi eterogeneità è un tratto comune a scenari di ricerca diversi approccio disappearing middleware 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 45/46 Questions? http://www.swimm.it [email protected] 15/06/2009 Infrastrutture per la integrazione di servizi pervasivi e mobili 46/46