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 all’esterno 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à
all’aumentare 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
dell’agente
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
Scarica

Stefano Monti