Sistemi Distribuiti Corso di Laurea in Ingegneria

Sistemi Distribuiti Corso di Laurea in Ingegneria
Sistemi Distribuiti
Corso di Laurea in Ingegneria
g g
Prof. Paolo Nesi
PARTE 11:
11 Sistemi Mobili
Department of Systems and Informatics
University of Florence
Via S. Marta 3, 50139, Firenze, Italy
tel: +39-055-4796523, fax: +39-055-4796363
Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet
http://www.disit.dsi.unifi.it
[email protected]
[email protected]
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
1
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
2
New Clients
I Bluetooth
I WiFi
I GSM,
GSM
UMTS
I Edge,
….
I TCP/IP…based
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
3
Sistemi Mobili
G
G
G
In commercio vi sono moltissimi sistemi mobili
I sistemi mobili hanno una penetrazione > 93%
Sono sistemi molto diversi fra di loro ma che
comunicano tramite
 Diversi p
protocolli:: WAP, HTML, etc.
protocolli
TAC, GSM, UMTS, etc.
PPP,
PPP UMTS
UMTS, GPRS,
GPRS EDGE,
EDGE HSDPA
 Diversi meccanismi
meccanismi:: SMS, MMS, email, etc.
…
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
4
Sistemi Mobili e Wireless
G
Ubiquitous Computing
 Da tutte le parti in modo concorrente
G
Pervasive Computing
 dove non è evidente
G
Wearable Computers
 indossabili
G
PDA, Tablet PC and future applications





Telecomando universale
Navigatore personale
Verifica delle letture del GAS….
Sensor network
Device Monitoring
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
5
Major problems of mobiles/moves
G
Integration of paradigms:
paradigms:
 human, data and physicallyphysically-driven
G
Movements of the device
 Pros:
Usable “anyware
“anyware””
detection can be useful to create context aware applications
Services for the users
 Cons:
non predictable connection
frequently disconnection, cell change, etc.
coverage of the reference server/net/cell
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
6
Major problems of mobiles/moves
G
Exploitation of movements/localization
 Sensors:
gyros, accelerometers, compass, GPS, Wifi Position IP,
metal detector, RFID, Camera, QR…
 Exploiting movement profile
Reasoning
R
i about
b tb
behavior
h i
Context aware applications, discovering
Clustering with other mobiles
 Exploiting spatial knowledge
Location management
• Content Geo tagging
• Tracking user position
• Privacy of the location
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
7
Major problems of mobiles/moves
G
Discontinuity of connection
 Discovery
Cell, net, Services
Discovering of other mobiles
 Registration security, etc.
 Transparent maintenance of:
Connectivity
Access to services and resources
• Redirection of services/resources
Migration
• profile and registration
• Disconnection
Security of access and migration
 Quality of Service
 Etc.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
8
Major problems of mobiles/moves
G
Heterogeneity
 Standardization
S d di i
Protocols, etc.
 Devices
Different CPUs, different hardware
 operating systems
Largely
L
l without
ith t multitasking/threading
ltit ki /th di
 Asymmetric bandwidth
 Low foot print
p
Limited resources
Short battery life
 Profiling:
P fili
device capabilities
• Different p
players
y
• Different java profiles
user preferences
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
9
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
10
Operating Systems for Mobiles
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
11
Operating Systems for Mobiles
Sony/
Erics
son
Microsoft
Mot
orol
a
Nok
ia
X
Sams
ung
Acer
Palm
LG
X
X
X
X
Palm
Symbian, OVI
Linux, Limo
Black
Berry,
RIM
IPh
one
HTC
X
X
(X)
X
X
(X)
X
X
Apple
X
Android
[X]
[X]
(Proprietary
os)
(X)
X
[X]
BlackBerryy
X
X
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
12
More on OS for mobiles
G
G
G
(.) it was in the past
[.] it has been planned in the future
LIMO has also
 Nec
Nec,, Panasonic, NTT, Samsung, LG, ..
G
Microsoft Windows Mobile has also:
 LG, Asus, iMate,
iMate, ETEN, OS2,…
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
13
Mobile comparison
comparison,, IEEE Computer 2011
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
14
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
15
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
16
Modelli di Sviluppo per Mobile
G
Multimedia
 Differenze sostanziali nelle primitive API a disposizione
 Video, audio, etc.
G
JVM Differenze sostanziali
 nel tipo di profilo e di versione di midlet che si puo
puo’’ utilizzare
 Per moduli aggiuntivi
aggiuntivi:: XML, MMAPI, SSL, etc.
G
G
Modelli di certificazione e certificati per applicazioni mobili
Deployment sul dispositivo
dispositivo,,
 Modello di installazione
 fortemente dipendente dal sistema operativo
G
Sistemi di sviluppo
 specifici non solo per Marca ma anche per tipo
tipo,, serie,
serie, e
ovviamente per Operating System
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
17
2011 Google trends
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
19
Mobile Market Trend
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
20
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
21
Mobile e problemi di Distribuzione
G
Distribuzione di contenuti multimediali su sistemi mobili
 Dispositivi
Di
iti i eterogenei
t
i
 Protocolli
Protocolli//profili di connessione molto diversi
 Codec contenuti e applicazioni nel mobile molto diverse,
diverse le licenze
pesano molto e determino il costo e il contenuto
 preferenze degli utenti sul formato
G
E’ Sempre meno necessario adattare I contenuti on demand, MPEG
MPEG-21 DIA
 Device capabilities: CCPP, Network capabilities, User preference,
Context,…
 Etc..
G
Sempre piu’
piu’ potenti mobile, possono interpretare
interpretare::
 HTML complessi con JS e media diversi
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
22
Problemi di distribuzione contenuti
G
Streaming and/or progressive download
 RTSP
G
Formati media







Video decoder diversi: H264, FLV, MPEGMPEG-4
Audio decoder diversi: AAC, MP3
Immagini: quasi tutti i formati
PDF: non sempre supportato
Flash: non sempre supportato
eBook:: dipende dal tipo…
eBook
tipo…..
….
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
23
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
24
Mobili: CORBA and PDA
G
G
Customisation of a small CORBA/ORB
Realisation of a server providing some CSCWCSCW-P2P
applications:





G
Chat
Playing together
Sharing Files
Searching for the partner
Etc…
Risultato troppo lento per operazioni P2P
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
25
Diagramma generale
TCP/IP
DB SERVER
APPLICATION
SERVER
TCP/IP
TCP/IP
SERVER WEB
TCP/IP per config.
config iniziale
CORBA
MIDDLEWAR
E
CLIENT
CLIENT
CLIENT
…
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
26
POAClient
Diagramma
g
delle classi
CLIENT
CDialog
_____________________
addMessage();
addUser();
delUser();
initCorba();
onLogout();
Orb
Root POA
POA Manager
Sender
________________
sendMsg();
deleteClient();
Applicazioni CLIENT Generalità e contenuti comuni
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
27
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
28
Clients on PDA
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
29
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
35
Applicazione
A li i
P2P_MOBILE
P2P MOBILE
applicativo P2P (file sharing) in grado di funzionare su
dispositivi mobili.
•Approccio totalmente distribuito
•Per la localizzazione dei contenuti
l’applicazione contatta ognuno dei
suoi peer vicini della rete
sovrapposta
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
36
A
Aggregazione
i
alla
ll rete
t
• mediante nodo di bootstrap
• mediante discovery Bluetooth
• mediante invio messaggio SMS
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
37
Application Protocol
L’applicazione
pp
non si avvale di un p
protocollo g
già esistente ma
ne implementa uno realizzato a d’hoc per rispettare le
impostazioni definite in fase di progetto
•QUERY
•ADVERTISEMENT
ADVERTISEMENT
•FILE REQUEST
•FILE READY
•INVITATION
Q
•CONTACTS REQUEST
•CONTACTS
Il messaggio di query viene utilizzato
per richiedere ad uno o più peer
remoti la condivisione di file con
determinate proprietà
<? xml version=“1.0”>
version 1.0 >
<MESSAGE type=“query”[port=“PORT”][friendlyName=“FRIENDLY_NAME”]>
<QUERY id=“INT” fileType=“FILE_TYPE” [subFileType=“EXTENSION”]/>
</MESSAGE>
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
38
Application Protocol
L’applicazione
pp
non si avvale di un p
protocollo g
già esistente ma
ne implementa uno realizzato a d’hoc per rispettare le
impostazioni definite in fase di progetto
•QUERY
•ADVERTISEMENT
ADVERTISEMENT
•FILE REQUEST
•FILE READY
•INVITATION
Q
•CONTACTS REQUEST
•CONTACTS
Il messaggio advertisement viene
inviato
come
risposta
ad
un
messaggio di query e contiene
l’intestazioni di tutti i file condivisi
che soddisfano le proprietà definite
dalla query
<? xml version=“1.0”>
version 1.0 >
<MESSAGE type=“advertisement”[port=“PORT”]>
<ADVERTISEMENT id=“INT”>
<FILE name=“FILE
name FILE_NAME
NAME” fileType
fileType=“FILE
FILE_TYPE
TYPE” size
size=“…… />
</ADVERTISEMENT>
</MESSAGE>
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
39
O di dei
Ordine
d i messaggii
Le regole con cui ll’applicazione
applicazione invia e riceve messaggi sono
una delle basi della definizione di un protocollo e devono
essere definite per non creare ambiguità.
•Avvia ricerca
•Visualizzazione
risultati
•Richiesta download
•Trasferimento
T f i
t
del file
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
42
Architettura
IN
MSG
L applicazione è stata implementata
L’applicazione
suddividendo il problema in più
moduli interoperanti tra loro.
OUT
MSG
MODULO SND/RCV
Modulo per la comunicazione
snd msg
contactsRequest
addInMessage()
Modulo Application Protocol
Moduli primari
SndContacts
Request
Discovery
MODULO PROCESSING
Rubrica
TIMER
rcv
ContactsRequest()
rcv
Invitation()
rcv
Advertisement()
rcv
Query()
rcv
FileRequest()
rcv
FileReady()
RcvContactsReq SndRcv SndQuery RcvQuery RcvFileRequest SndFileRequest
RcvFileReady
uestSndContacts Invitattion RcvAdvert SndAdvert SndFileReady
snd msg
contacts
snd msg
invitation
Shared
Files
L
Locations
ti
snd msg
fileRequest
snd msg
query
q
y
Rubrica
SharedFiles
OUT MESSAGE
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
43
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
44
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
45
Portale: Mobile Medicine
Back office
automatico
-PC, MACos, linux,
…
-iPhone, iPod,
Windows Mobile,
Android(*), ….
Contenuti
professionali
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
46
http://
http://www
p www..eclap.eu
p
I Automated
I -PC,
I Back
office
I ANY
content
…
I -iPhone, iPod,
Windows Mobile,
Mobile
….…
I ANY
content
I Content
archive
I Content
I Library
archive
I Content
I Library
archive
partner
I Library
partner
MACos, linux,
I Agg.
Content
I Content
I Service
S
i
s
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
I 47
47
Le Tecnologie (1/2)
G
Semantica e suo processing (Web 3.0):
O
Oggetti
tti intelligenti,
intelligenti
i t lli
ti, interattivi
i t tti i e proattivi,
tti i classificazione:
l
ifi
i
d
descrittori
itt i e
tassonomie
 Profili delle persone, gruppi, contenuti etc.
Ricerche contenuti e persone/esperienze
 Tracciamento del comportamento dinamico degli utenti: azioni/interessi,
play,
l
d
download,
l d etc.
t
 Raccomandazioni sulla base delle similitudini
similitudini::
UserUser
UserUser,, ObjUser
ObjUser,, ObjObj
ObjObj,, etc.
Valutazione di aspetti statici e dinamici
 Organizzazione di oggetti e raccomandazioni pers
pers..
lato
l t server: ttramite
it il portale,
t l per PC
PC, iPhone
iPh
iPhone,
, iPod,..
iP d,..
iPod
sul Mobile (solo WM al momento): applicazione MobileMedicine su
Windows Mobile
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
48
Contenuti Digitali Complessi
G
File e/o mini applicazioni
pp
 file singoli con:
video,, immagini,
g , documenti,, audio,, animazioni,, …
 Mini applicazioni, collezioni, form,
form, ….:
p
procedure, calcolatori, liste di controllo, flussi, …
lezioni, interattività, form
form/liste
/liste di controllo, etc…
 + metadati estesi: Dublin Core + info sulla pproduzione,,
distribuzione, etc. Codici multipli di identificazione
G
 + classificazione tassonomica: medica ….,, tecnica,, etc..
etc..
 + descrittori, e molte altre informazioni
Esempi:: accessibili dal portale e nell’installazione
Esempi
nell installazione del
Player per PDA: http://
http://mobmed.axmedis.org
mobmed.axmedis.org//pda/
pda/pdaplayer.html
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
49
Contenuti Digitali Complessi
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
50
Uno sguardo dietro e dentro
AXCP Quick Start,
Your tools commands
commands,
Workflow systems,…
Monitoring &
Reporting
AXMEDIS
DRM Server
AXCP GRID
AXCP Scheduler
databases
FTP, WS, etc.
G
G
G
G
AXCP Node
AXCP Node
AXCP Node
Mobile Medicine
WEB Server
for PC and Mobile,
Content Upload
p
Internet, WEB,
VOD, POD..
Mobiles PDA,
Mobiles,
PDA etc
etc.
AXMEDIS AXCP GRID backoffice server
AXMEDIS DRM: per la gestione dei diritti e la sicurezza
XMF portal per la distribuzione multicanale
multicanale::
 PC, PDA, iPhone,
iPhone, iPod, mobile, etc.
Strumenti di produzione e player per PC e PDA
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
51
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
52
Windows Mobile vs Pocket PC
PC, PDA
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
53
Software Development on Win Mobile
G
G
Java virtual machines are not powerfull
Development in
 Visual C++ or
 .Net Compact Framework, a subset of .Net, see Windows
Phone SDK that work with Visual Studio development
environment
i
t
G
Programming model
 Similar
Si il tto classical
l
i l PC windows
i d
applications
li ti
 Call back, API and multitasking, registry, full acess at the PDA
resources etc
resources,
etc.
 Deploy with CAB files, accessing to registry, etc.
G
Windows Mobile version 7
 Is going to radically change the model, moving towards a
model similar to iPhone
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
54
Portale e Organizer per PDA
Oggetti/Applicazioni
PDA
IE browser
Mobile Medicine
Organiser
A
Accesso
OFFLINE
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
55
Organiser per Windows Mobile
I Suggerimenti
Sulla base del comportamento
dell’utente
Febbraio 2010
I
Sistemi Distribuiti,
Univ. Firenze, Paolo Nesi 2010-2011
I5
56
Personal Mobile Social Intelligence
Contextu
ual
informatiion
User Beh
havior
collection
Taxonom
my
Browser
Search E
Engine
Local Bro
owser
Media Player
File Explo
orer
AxPDAPlayer
anager
HTML & CSS Based Presentation Engine
Download//updateM
AxObjectFinder
PDF player
….. player
Content Indexer, semantic ingestion/processing
Local PDA
files
SQLite DB
NEM, Saint Malo, Fr,
I Univ. Firenze, Paolo Nesi 2010-2011
Sistemi Distribuiti,
I 57
57
Semantic flows, MobMed
User Local Side
•User
Profile
•User behavior
•Use data
•Content
•DC+IDs
DC ID
•AXInfo: ver, prod.,
rights,..
•Descriptors
•Taxonomy
•Groups
•Recommendation
•Suggestions on the
basis of user behavior
•Local
User Profile
•Local User behavior
•Local Use data
•Content
•DC+IDs
DC+ID
•AXInfo: ver, prod, rights,
....
•Descriptors
•Taxonomy
•Groups
•Local Recommendation
•Local Suggestions on the
basis of user behavior and
local content
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
+ Content
action data
58
Automazione della produzione
p
Utente:
carica/propone
direttamente
contenuti
monofile
Utente: studia e
progetta mini
applicazionim
che poi
p possono
p
essere caricate
Back office
automatico
Adatta in modo
automatico
ADMIN, valida,
manda in
pubblicazione
Produce in
modo assistito
procedure e
mini applicazioni
Febbraio 2010
I
Sistemi Distribuiti,
Univ. Firenze, Paolo Nesi 2010-2011
I 59
59
ADF Designer MobMed
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
60
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
61
Requisiti: Mobile Medicine
G
G
G
G
G
G
G
G
Connessione con portale per download
Play risorse di vario tipo
Gestione multilingua dell’interfaccia
dell interfaccia utente
Aggiornamenti automatici dei contenuti
O
Organizzazione
i
i
d
deii contenuti
t
ti iin llocale
l
Ricerca dei contenuti full text in locale, fuzzy
Tracciamento del comportamento dell’utente
…..
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
62
Mobile Medicine on iPhone
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
63
Mobile Medicine on iPhone
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
64
Architettura iPhone Application
G
GUI
o
G
Web Browser
o
G

o collezione locale

SQLite DB
G
o informazioni semantiche e statistiche
di utilizzo
navigazione all’interno della collezione classificata
sulla base di tassonomie mediche
Search Engine
o
Local Files
navigazione e gestione della collezione locale
ordinamento della collezione
visualizzazione dei contenuti
T
Taxonomy
E l
Explorer
o
G
trasferimento dei contenuti nel dispositivo locale
Objects
j
Manager
g
o
o
o
G
navigazione
g
tra i contenuti web e di Mobile Medicine
Download Manager
o
G
interfaccia grafica per ll’accesso
accesso ai servizi offerti dagli
strati sottostanti
query sulla collezione locale sulla base di
informazioni di carattere semantico
Content Indexer
Indexer,, semantic ingestion
processing
o
indicizzazione e classificazione semantica dei
contenuti acquisiti
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
65
Gestore collezione locale
G
Visualizzazione di un contenuto della
collezione
 aggiornamento delle relative statistiche
di utilizzo: numero di utilizzi e data
dell’ultimo utilizzo
G
G
Vi
Visualizzazione
li
i
d
delle
ll iinformazioni
f
i i
semantiche associate
Ordinamento della collezione





G
per titolo
tit l
per dimensione
per tipo/formato
in base ai contenuti più/meno utilizzati
in base ai contenuti più/meno
recentemente utilizzati
Eliminazione di un contenuto
 eliminazione delle risorse fisiche
 eliminazione dei metadati
G
Ricerca nella collezione locale sulla
b
base
di iinformazioni
f
i i semantiche
ti h
 query sulla base di dati SQLite e
visualizzazione del risultato all’utente
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
66
Gestore tassonomie
G
Navigazione della sotto
sotto-collezione
ll i
classificata
l
ifi
sulla
ll
base di tassonomie mediche
Struttura a
g
dendogramma
dove ogni nodo
classifica
un insieme della
collezione


Visualizzazione del contenuto
degli oggetti classificati
Rimozione delle risorse
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
67
Web Browser
G
G
Browser web per l’accesso ai
servizi offerti da Mobile Medicine
Trasferimento ed indicizzazione
dei contenuti sul dispositivo
p
locale
o Trasferimento e parsing di un
descrittore in formato XML delle
informazioni semantiche
associate
o
o
o
o
metadati Dublin Core
informazioni di identificazione
informazioni tassonomiche
struttura fisica del contenuto
o Trasferimento ed indicizzazione
delle risorse fisiche
o memorizzazione delle risorse nel
file system locale del dispositivo
o inizializzazione delle statistiche di
utilizzo
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
68
Base di dati locale
G
Informazioni fisiche e di
identificazione del contenuto




G
Informazioni di utilizzo del
contenuto



G
identificativo
percorso fisico
titolo
dimensione
Data del primo utilizzo
Data dell’ultimo utilizzo
Numero di utilizzi
Metadati Dublin Core associati al
contenuto
 autore, data di creazione, formato,
descrizione testuale, etc…
G
Informazioni di classificazione
tassonomica
 grafo delle tassonomie
 percorsi del grafo
 associazioni tra i nodi del grafo e i
contenuti multimediali
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
69
Risultati – Acquisizione contenuto
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
70
Risultati iPhone MobMed
Risultati,
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
71
Fruizione contenuti: metadati,
metadati iPhone MobMed


Informazioni di
classificazione
Metadati Dublin Core
o Titolo
Titolo, creatore,
creatore descrizione,
descrizione
data di creazione, etc…

Struttura fisica del
contenuto
o HTML, pdf, immagini, audio,
video etc…
video,
etc

Classificazione tassonomica
o Struttura a dendogramma
g
o ogni nodo raggruppa una
I
sotto-collezione di oggetti
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
72
Modello di programmazione per iPhone
G
G
G
G
G
SDK: Development kit solo
per Apple MAC
Accesso a tutte le features:
accelerometri, GPS,
multitouch, etc..
Vi i
Visione
ristretta
i
d
delle
ll risorse.
i
Una sola applicazione
running
i
Cocoa Foundation
#import <UIKit/UIKit.h>
<UIKit/UIKit h> int main(int argc
argc, char *argv[])
argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil); [pool release];
return retVal;
}
G
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
73
Gestione coda comandi,
comandi iPhone
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
74
Gestione Richieste di interruzione , iPhone
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
75
Modello di programmazione iPhone
G
G
G
G
G
Dimensione dello schermo compatta
Memoria virtuale limitata
Sistema Single
Singleg -Tasking:
g una sola applicazione
pp
p
per
volta. se l‟utente lancia un‟altra applicazione, e.g.,
rispondendo ad una chiamata, il processo corrente viene
sospeso. Si d
devono salvare
l
tutte lle iinformazioni
f
i i
necessarie per un successivo riavvio in uno stato
consistente con la sospensione.
sospensione
Manuale utente minimale:
tipi
ti i
 iPhone application:
 Web
Web--only content:
 Hybrid application:
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
76
Pattern di progettazione,
progettazione iPhone
G
Model view controller
 Demando il controllo
 Maggiore riuso
 Interfacce definite
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
77
Pattern di progettazione,
progettazione iPhone
G
Command Pattern
 encapsulate a request as an object, thereby letting you
parameterize clients with different requests, queue or log
requests and support undoable operations
requests,
 Isola il codice che fa l’azione, dal codice che ne richiede
l’esecuzione
l esecuzione.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
78
IDE: Sviluppo con XCODE
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
79
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
80
Content Organizer
Local:
G Content collection
G Search query
G Navigation via
taxonomy
G Suggestions
G …
G
Video of the
Content Organizer:

http://bpnet.eclap.eu/drupal/?q=enhttp://bpnet.eclap.eu/drupal/?q=enUS/home&axoid=urn:axmedis:00000:
obj:ea5eb861--18b6obj:ea5eb861
18b6-42624262-8d4b8d4b77b3d3c084f0
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
I 81
81
Semantic Flows
I AXCP
I Grid
backoffice
Scheduler
I Grid
Node
I Grid
Node
I Grid
Node
Rule based system
Automated formatting
Inferential engine
processing
Adaptation
enrichement
Multilingual index and
search
Text Analysers
Indexer
Fuzzy search
Suggestions
Similarity distances
Clustering
AXCP BackOffice
User Profile
Dynamic User Profile
User behavior
Use data
Content
DC+IDs
AXInfo: ver, prod., rights,..
Descriptors
Groups: users, content..
Ontology/Taxonomy Domain
Suggestions on the basis of:
Static and dynamic user profile,
profile
decriptors, domain
Front End Portal
Local User Profile
Local Dynamic User Profile
Local User behavior
Local Use data
Content
DC+IDs
DC
IDs
AXInfo: ver, prod, rights, ....
Descriptors
Groups
Taxonomy classification
I Content
contributions,
actions on
content
content,
social actions,
preferences,
queries
queries,
use data,..
Organiser
Local Suggestions on the basis of
user profiles, local content, local
collected data
Content Organizer and Players Users
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
82
Azioni Future su iPad
G
G
G
G
Gestione di echo su schermo esterno via cable
Inserimento della gestione di conten
contenuti
ti in formato ePUB
Acquisizione di contenuti da piu’ social network
Inserimento di meccanismi di DRM
 Autenticazione, certificati
 Protezione dei contenuti tramite encription
 Decription on fly
G
G
G
G
G
Gestione dinamica di Tassonomie
Acquisizione in automatico degli aggiornamenti
Collezionamento di maggiori dati di uso ed invio di questi dati di
uso verso il server
Scambio di contenuti in modo diretto tramite wifi
wifi,, etc…
iPh
iPhone:
iPhone
:
 acquisizione di immagini e video per upload automatico su social
network
network,
 Location GPS integrata, WiFi
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
83
Sommario
G
G
G
G
G
G
G
G
Problematiche dei sistemi mobili
Confronti fra SO e modelli di sviluppo
Di t ib i
Distribuzione
di contenuti
t
ti per sistemi
i t i mobili
bili
Lavoro
a o o Co
Collaborativo
abo a o fra
a ssistemi
s e mobili
ob
P2P e sistemi Mobili
Mobile Medicine
 Windows Mobile
 iPhone
iPhone//iPad
Content Organizer
Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
84
Emergenze
g
ospedaliere
p
Assenza di criteri
standard per la creazione
dei piani di emergenza
Incrementare la reattività e
l’efficienza in caso di
emergenza
g
Comunicazioni durante
l’emergenza non gestite
Semplificare i meccanismi
di comunicazione
dell informazione
dell’informazione
Dispositivi mobili in ambito
ospedaliero: accesso a cartelle
cliniche, risultati di test e statistiche
vitali dei pazienti tramite iPhone
(M.Sinai Hospital, Toronto)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
85
Mobile Emergency
g y
I Segnalare in modo dettagliato la presenza di una
I
situazione
it
i
di emergenza, gestire
ti lle segnalazioni
l i i
effettuate
Consultare lo stato delle emergenze in corso
corso, con
possibilità di ricevere notifiche dalla Centrale
Operativa
I Conoscere e comunicare la ppropria
p p
posizione
I Richiedere mappe per vie di uscita ed aree di
raccolta
lt
I Richiedere informazioni sul Responsabile
p
di
un’emergenza, richiedere di diventare Responsabile
I Consultare
C
lt
una checklist
h kli t suii compiti
iti assegnati
ti aii
ruoli
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
86
Codici QR
Q
I Codici
a barre bidimensionali a matrice,
matrice composti da
moduli neri disposti all’interno di uno schema a forma
quadrata (1994,
(1994 Denso Wave per Toyota).
Toyota)
Codice QR di posizione:
- Edificio: Maternità
- Indirizzo: Via della Maternità 3
- Ala:
Al B
- Piano: 3
- Stanza: MAT07
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
87
Analisi dei requisiti:
q
Casi d’uso
Segnalazione
g
di
una situazione di
emergenza
Richiesta di
informazioni sulla
propria posizione
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
88
Progettazione
della UI
g
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
89
Architettura del sistema
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
90
Diagramma
g
delle classi
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
91
Diagramma
delle classi
g
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
92
Diagrammi
di sequenza
g
q
I Segnalazione
di una situazione di emergenza
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
93
Diagrammi
di sequenza
g
q
I Richiesta
di informazioni sulla propria posizione
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
94
La base di dati
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
95
Comunicazione Client / Server
•
•
Comunicazioni tra dispositivi e Centrale Operativa
t
tramite
it connessioni
i i HTTP con richieste
i hi t POST e
GET (NSURLConnection)
Informazioni inviate dalla Centrale Operativa ai
dispositivi sotto forma di contenuti XML
I <posizione>
<id_posizione>107</id_posizione>
<id
posizione>107</id posizione>
I
<via>Via S. Marta</via>
I
<numero>3</numero>
I
<edificio>3</edificio>
I
<ala>OVEST</ala>
I
<piano>2</piano>
I
<stanza>123</stanza>
I
<reparto>Psicologia</reparto>
I
<uscita_A>.../emergenze/images/qr/107/uscita1.png</uscita_A>
g
g
q
p g
I
<uscita_B>.../emergenze/images/qr/107/uscita2.png</uscita_B>
I
<uscita_C></uscita_C>
I
<area_raccolta_A>.../images/qr/107/uscita1.jpg</area_raccolta_A>
I
<area_raccolta_B>.../images/qr/107/uscita2.jpg</area_raccolta_B>
I <area_raccolta_C></area_raccolta_C>
I </posizione>
I
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
96
Le Notifiche Push
Notifiche push utilizzate per la propagazione
dell’informazione durante le situazioni di emergenza
I dispositivi
p
interessati vengono
g
raggiunti
gg
dalla Centrale
Operativa in pochi secondi
Funzionamento Notifiche Push:
Centrale Opeativa APNS
Applicazione Mobile Emergency
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
97
Risultati: Mobile Emergency
g y
I Segnalazione
I Richiesta
di una situazione di emergenza
informazioni
sulla propria posizione
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
98
Risultati: Mobile Emergency
g y
I Stato
emergenze
I Responsabile
I Richiesta
percorsi
emergenza
I Ricezione notifiche
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
99
Conclusioni e sviluppi
C
pp futuri
•
•
•
•
•
•
Estendere il riconoscimento dei codici a barre da parte
dei dispositivi
Permettere all’utente di inviare contributi multimediali
circa lo stato dell’emergenza
Estendere la comunicazione esistente tra dispositivo e
Centrale Operativa anche tra i dispositivi stessi
Mappa sinottica delle posizione degli utenti a
disposizione della Centrale Operativa
Estendere le funzionalità del sistema anche agli utenti
non strutturati
Porting su altre piattaforme mobili
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
10
Alcuni
cu riferimenti
e
e t recenti
ece t
G
Mobile Medicine:
Medicine: http://
http://mobmed.axmedis.org
mobmed.axmedis.org
 M
Manuale:
l htt
http://
http://mobmed.axmedis.org
//mobmed.axmedis.org/
b d
di
/Mobile
M bil -Medicine
MobileM di i -Manual.pdf
MedicineM
l df
 Strumenti di sviluppo e produzione
G
AXMEDIS:: http://www.axmedis.org
AXMEDIS
p
g
 Report e documentazione
documentazione,, strumenti di sviluppo e dimostrativi
G
G
G
G
G
DISIT Lab
Lab,, Univ.
Univ. Firenze, DSI: http://www.disit.dsi.unifi.it/
P Bellini,
P.
Bellini I.
I Bruno,
Bruno D.
D Cenni,
Cenni P
P. Nesi
Nesi,, M.
M Paolucci
Paolucci,, "Personal Content Management on
PDA for Health Care Applications
Applications",
", 2009 IEEE International Workshop on Semantic
), Berkeley
Berkeley,, CA, USA Computing and Multimedia Systems (IEEE
IEEE--SCMS 2009
2009),
September 14
14--16
16,, 2009
P. Bellini, I. Bruno, A. Fuzier,
Fuzier, P. Nesi,
Nesi, M. Paolucci,
Paolucci, ““Semantic
Semantic Processing and
Management for MultiChannel Cross Media Social Networking
Networking”,
”, NEM conference,
conference, Saint
Malo France,
Malo,
France September 2009
2009..
P. Nesi, "Le
"Le basi tecnologiche della Mobile Medicine",
Medicine", Congresso SIAARTI, Firenze,
Agosto 2009.
keynote
k
t Speaker
S
k for
f the
th 2nd
2 d IInternational
t
ti
lS
Symposium
i
on IIntelligent
t lli
t IInteractive
t
ti
Multimedia Systems and Services, IIMSS2009, Hosted by University of Milan, MOgliano
Veneto, 1616-17 July 2009.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
10
ECLAP portal user manual
G
G
http://www.eclap.eu
Thi slide
This
lid link:
link
li k: http://bpnet.eclap.eu/drupal/?q=en
http://bpnet.eclap.eu/drupal/?q=en-US/home&axoid=urn:axmedis:00000:obj:6f371ec5--b5d5
US/home&axoid=urn:axmedis:00000:obj:6f371ec5
b5d5--46e5
46e5--bd5e
bd5e--a10a3e4228b4
G
G
G
G
ECLAP workflow and IPR wizard tools can be taken from the ECLAP user
manual::
manual
 http://bpnet.eclap.eu/drupal/?q=en
http://bpnet.eclap.eu/drupal/?q=en-US/home&axoid=urn:axmedis:00000:obj:b828710e
US/home&axoid
US/home&axoid=urn:axmedis:00000:obj:b828710eurn:axmedis:00000:obj:b828710e-b77c
b77c--4074
4074--993c
993c-3efddfbfaad7&section=pagesupport
Online manual/help:
 http://bpnet.eclap.eu/help/eclap_bpnet_user_manual_v1
http://bpnet.eclap.eu/help/eclap_bpnet_user_manual_v1--0.htm
Video of the Content Organizer:
 http://bpnet.eclap.eu/drupal/?q=enhttp://bpnet eclap eu/drupal/?q=enhttp://bpnet.eclap.eu/drupal/?q=en
US/home&axoid=urn:axmedis:00000:obj:ea5eb861--18b6
US/home&axoid=urn:axmedis:00000:obj:ea5eb861
18b6--4262
4262--8d4b
8d4b-77b3d3c084f0
ECLAP infrastructure document
 http://bpnet.eclap.eu/drupal/?q=en
http://bpnet.eclap.eu/drupal/?q=en-US/home&axoid=urn:axmedis:00000:obj:a345a84f--6fdf
US/home&axoid=urn:axmedis:00000:obj:a345a84f
6fdf--4f84
4f84--a412
a412-88094ce363e2
I 28
March 2011, Vienna
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
I 102
10
Recent references
G
G
G
P. Bellini, I. Bruno, D. Cenni, P. Nesi, "Micro grids for scalable media
computing and intelligence on distributed scenarious
scenarious",
", IEEE
Multimedia, in press, IEEE Computer Soc. Press.
P. Bellini, I. Bruno, D. Cenni, A. Fuzier
Fuzier,, P. Nesi, M. Paolucci,
Paolucci, "Mobile
Medicine: Semantic Computing Management for Health Care
Applications on Desktop and Mobile Devices", in press on Multimedia
Tools and Applications,
Applications, Springer.
P. Bellini, I. Bruno, P. Nesi, "EXPLOITING INTELLIGENT CONTENT
VIA AXMEDIS/MPEGAXMEDIS/MPEG-21 FOR MODELLING AND DISTRIBUTING
NEWS", International Journal of Software Engineering and Knowledge
Engineering,
Engineering
g
g, World Scientific Publishing
g,
g Company,
p y, in press.
p
I March
2011, Florence, Italy
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
10
Altri Riferimenti
G
G
G
G
G
G
G
G
Android Operating System, http://source.android.com/
Window Mobile,
http://www.microsoft.com/windowsmobile/it-http://www.microsoft.com/windowsmobile/it
it/default.mspx
Palm OS, http://www.palm.com/it/it/
Symbian Operating System, http://www.symbian.org/
SQLite3 v3.6.12, http://www.sqlite.org/ , 2009
iPhone SDK 3.2, http://www.apple.com/it/ipad/sdk US,
2010.
Alasdair A., Learning Iphone Programming: From Xcode
to App Store
Table View Programming Guide for iPhone OS, Apple
Inc.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2010-2011
10
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement