Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
Università degli Studi di Napoli Parthenope
European Master on Critical Networked SystemsCorso di
Mobile Systems
Dipartimento di Informatica e SistemisticaUniversità degli Studi di Napoli Federico II
Via Claudio 21, 80125 Napoli
Docente: Prof. Stefano RUSSO
Parte I: Introduzione ai sistemi di Mobile Computing
Lezione 1: Introduzione al corso e definizioni di base
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Obiettivi del corso
Fornire le conoscenze di base:sulle tipologie di sistemi mobili,sulle architetture dei sistemi mobili,sui middleware per sistemi mobili.
Acquisire i principi metodologici per lo sviluppo di applicazioni su dispositivi mobili.Fornire competenze specifiche per lo sviluppo di software per sistemi mobili:
Su diverse piattaforme, quali Symbian, Java, Wireless SensorNetworks,attraverso numerose attività pratiche di laboratorio.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Organizzazione del modulo
Il modulo è organizzato in 5 parti:Parte I: Introduzione ai sistemi di Mobile Computing.Parte II: Sviluppo di applicazioni su piattaforma Symbian.Parte III: Sviluppo di applicazioni Java Micro Edition.Parte IV: Sviluppo di applicazioni per le Wireless SensorNetworks.Parte V: Applicazioni e streaming multimediale in ambienti mobili.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte I: Introduzione ai sistemi di Mobile Computing
Ha lo scopo di fornire le nozioni e i principi metodologici su tematiche quali:
Tipologie di sistemi mobili;Middleware per sistemi mobili;Architetture dei sistemi mobili;Accesso ai servizi da sistemi mobili;Ciclo di Sviluppo e ambienti di sviluppo per sistemi mobili.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte II: Sviluppo di applicazioni su piattaforma Symbian
Il sistema operativo Symbian;Tecniche per lo sviluppo di applicazioni C++ su piattaforma Symbian;Esercitazioni pratiche sullo sviluppo di applicazioni C++ su Symbian mediante l’utilizzo di un IDE specifico per Symbian.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte III: Sviluppo di applicazioni Java Micro Edition
La Java 2 Micro Edition (J2ME) e le virtualmachine per dispositivi mobili;I profili per lo sviluppo (CDC e CLDC, MIDP e Midlet);Esercitazioni pratiche sullo sviluppo di applicazioni J2ME mediante l’utilizzo di un IDE.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte IV: Sviluppo di applicazioni per Wireless SensorNetworks
Wireless Sensor Networks: definizioni, architetture e applicazioni;Il sistema operativo TinyOS e il linguaggio NesC;Esercitazioni pratiche sullo sviluppo di applicazioni NesC mediante l’utilizzo di un IDE e di simulatori per PC.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Parte V: Applicazioni e streaming multimediale in ambienti mobili
Caratteristiche delle applicazioni di streamingmultimediale in ambienti mobili;Le API Java Media Framework (JMF);Esercitazioni pratiche sull’utilizzo di applicazioni JMF su dispostivi mobili.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Docenti ed esercitatori
Prof. Stefano Russo,Prof. Domenico Cotroneo,Ing. Marcello Cinque,Ing. Catello Di Martino,Ing. Salvatore Orlando,Ing. Generoso Paolillo.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Materiale didattico
Costituito principalmente dai lucidi del corso e dai listati dei programmi usati nelle esercitazioni.Di volta in volta saranno indicati libri di testo specifici, articoli, dispense didattiche o siti web di approfondimento delle tematiche trattate.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Contenuti della lezione
Definizioni di base e applicazioni;Tassonomia dei sistemi mobili;Problematiche connesse ai sistemi mobili.
Riferimenti:G. Coulouris et al.: Distributed Systems: Concepts and Design, (Cap. I), IV ed., 2005.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Definizione di sistema distribuito – 1/3
Intuitivamente:• Collezione di componenti software distribuiti su
più nodi di elaborazione connessi attraverso una rete telematica.
Componente software
Rete telematica
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Definizione di sistema distribuito – 2/3
Una definizione “informale”:“Il mio programma gira su un sistema distribuito quando non funziona per colpa di una macchina di cui non ho mai sentito parlare”(L. Lamport)
Caratteristiche fondamentali di un sistema distribuito:• concorrenza dei componenti• componenti appartenenti a diversi dominiorganizzativi/amministrativi
• possibilità di guasti indipendenti dei componenti
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Definizione di sistema distribuito – 3/3Un sistema distribuito è un sistema i cui componenti, localizzati in computer connessi in rete, comunicano e coordinano le loro azioni solo attraverso scambio di messaggi (G. Coulouris et al.)
Caratteristiche fondamentali di un sistema distribuito:• concorrenza dei componenti• assenza di un clock globale
– sincronizzazione e interazione via scambio messaggi• possibilità di guasti indipendenti dei componenti
– nei nodi (crash, attacchi, …), – nel sottosistema di scambio messaggi (ritardi, perdita, attacchi, ...)
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Mobile Computing
Modello di elaborazione riferito ad un sistema distribuito in cui vi sia mobilità dell’hardware e presenza di tecnologie di comunicazione senza cavo.Sistema mobile: sistema distribuito in cui alcuni nodi attivi dell’elaborazione possono muoversi liberamente nello spazio fisico. Funzionamento “disconnesso”: In tali sistemi la comunicazione è garantita in maniera “intermittente” da tecnologie di comunicazione senza filo.
Collegamento senza filo
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi distribuiti: esempi – 1/3
• Internet
Numero di computer in Internet
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi distribuiti: esempi – 2/3
• Intranet
the rest of
email server
Web server
Desktopcomputers
File server
router/firewall
print and other servers
other servers
Local areanetwork
email server
the Internet
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi distribuiti: esempi – 3/3
• Mobile computing, ubiquitous computing, nomadic computing …
Laptop
Mobile
PrinterCamera
Internet
Host intranet Home intranetWAP
Wireless LAN
phone
gateway
Host site
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi distribuiti: tassonomia
Diverse tipologie di sistemi distribuiti:Sistemi Tradizionali;Sistemi Nomadici;Sistemi Ad-Hoc;Sistemi Pervasive & Ubiquitous;
distinte sulla base di diverse caratteristiche:Dispositivi;Connessione di rete;Specificità;Contesto di esecuzione.
Sistemi non mobili
Sistemi mobili
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
Fattori di complessità:• Eterogeneità: varietà e differenza di reti (tecnologie e protocolli), sistemioperativi, hardware (dei server, dei client, …), linguaggi diprogrammazione, ...
middleware
• Apertura (openness): il livello di complessità col quale servizi e risorsecondivise possono essere resi accessibili a una varietà di clienti, o resi traessi interoperanti.
I sistemi aperti richiedono:
- interfacce pubbliche dei componenti
- standard condivisi
- adeguati test di conformità
::. Progettazione dei sistemi distribuiti - 1/3
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Progettazione dei sistemi distribuiti - 2/3
• Sicurezza (security):- confidenzialità (protezione dall’accesso da parte di utenti non autorizzati)
- integrità (protezione dall’alterazione o compromissione),
- disponibilità (protezione dall’interferenza con i mezzi di accesso allerisorse).
• Concorrenza: l’accesso a risorse e servizi condivisi deve essere consentitoin maniera virtualmente simultanea a più utenti• Trasparenza: Otto forme di trasparenza identificate nell’ISO Reference Model for Open Distributed Processing (RM-ODP) (vedere oltre)
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Progettazione dei sistemi distribuiti - 3/3
• Scalabilità: un sistema è scalabile se resta efficace ed efficiente anche a seguito di un aumento considerevole di utenti o risorse.
tecniche di controllo delle prestazioni e dei colli di bottiglia, o per prevenire l’esaurimento delle risorse, alla crescita del sistema
Esempi di sistemi distribuiti scalabilidi successo: Internet, WWW, DNS.
• Guasti: i guasti nei sistemi distribuiti sono parziali, e vanno gestiti in modo da controllare il livello di servizio offerto in caso di guasti
tecniche di failure detection, masking, tolerance, recovery
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Trasparenza nei sistemi distribuiti - 1/2
Access transparency: uniformità di accesso alle risorse locali e remote.
Location transparency: accesso alle risorse senza conoscere la loro posizione fisica o sulla rete (es.: edificio o indirizzo IP).
Concurrency transparency: possibilità per le applicazioni dioperare concorrentemente sulle risorse condivise, senzainterferire.
Replication transparency: uso di più istanze di una risorsa(tipicamente, per aumentarne disponibilità, affidabilità e prestazioni), in maniera trasparente a utenti e programmatoriapplicativi.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Trasparenza nei sistemi distribuiti - 2/2
Failure transparency: possibilità di mascherare l’insorgere diguasti di componenti hardware o software (utenti e applicazionidevono poter completare le loro attività anche in caso di guasti).
Mobility transparency: possibilità di rilocare (far migrare) risorse e clienti durante il loro ciclo di vita, senza condizionare il comportamento di utenti e applicazioni.
Performance transparency: possibilità di riconfigurazione deisistemi per migliorarne le prestazioni al variare del carico.
Scaling transparency: possibilità di espansione di sistemi ed applicazioni, senza doverne cambiare la struttura o gli algoritmi.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Strati sw e hw nei sistemi distribuiti
Applications, services
Computer and network hardware
Platform
Operating system
Middleware
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi mobili: esempi di applicazione
Domotica (case intelligenti);Automazione di ufficio;Gestione di situazioni di emergenza (comunicazione in un sito disastrato);Gestione e coordinamento del traffico di veicoli;Guide turistiche su terminali intelligenti;Supporto agli agenti di commercio (ufficio mobile);Accesso in movimento ad Internet;Servizi sensibili alla locazione (ad es: localizzazione della stampante più vicina in un area sconosciuta, come un aeroporto);Intrattenimento (giochi di gruppo su sistema mobile).
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Dispositivo
Singola unità del sistema distribuito dotato di capacitàelaborativa; In base alle sue proprietà di mobilità spaziale si può classificare in:
Fisso: dispositivi generalmente potenti e alimentati dalla rete elettrica con grandi quantità di memoria e processori veloci;Mobile: tipicamente dotati di scarse capacità elaborative e problemi di alimentazione che inficiano la loro disponibilità nel tempo.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Connessione di rete
Tipologia del collegamento tra due o più dispositivi: Permanente: caratterizzata da un’elevata banda ed un basso Bit Error Rate (BER);Intermittente: caratterizzata da una modesta banda, spesso variabile, ed un BER influenzato fortemente da agenti esterni.
Le reti cablate sono caratterizzate da una connessione di rete permanente;Le reti wireless sono caratterizzate da una connessione di rete intermittente
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Specificità (embeddedness)
Livello di specializzazione del compito per cui viene progettato un dispositivo; Livello di integrazione raggiunto nel costruire il dispositivo che assolve il determinato compito. E’ possibile distinguere tra dispositivi:
General-purpose: un dispositivo è general-purpose quando non è progettato per rispondere a compiti specifici (palmare, smartphone, laptop, PC …);Special-purpose: un dispositivo è special-purpose quando èprogettato per rispondere a compiti specifici (microcontrollori, sensori, badges …).
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Contesto di esecuzione
Insieme delle informazioni che possano influenzare il comportamento di un’applicazione
Risorse interne (stato della batteria, disponibilità della CPU, disponibilità della memoria, dimensione del display);Risorse esterne (larghezza di banda, affidabilità e latenza del canale, prossimità degli altri dispositivi).
Il contesto di esecuzione può essere: Statico: le risorse interne ed esterne variano poco o mai;Dinamico: le risorse interne ed esterne sono soggette a frequenti cambiamenti.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Caratteristiche dei sistemi mobili
Sistemi mobili
Dispositivi
Connessione di rete
Specificità
Contesto di esecuzione
FissoMobile
PermanenteIntermittente
General-purposeSpecial-purpose
StaticoDinamico
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Tradizionali (Traditional Computing)
Collezione di dispositivi fissi e general-purposeconnessi tra di loro attraverso una connessione permanente le cui applicazioni vivono in un contesto di esecuzione statico.
Nota: anche se “non mobili”, è utile guardare alla classificazione dei sistemi tradizionali secondo la tassonomia introdotta. Si rende in questo modo chiara la distinzione tra sistemi distribuiti tradizionali e mobili.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Nomadici (Nomadic Computing) (1/3)
Rappresentano un compromesso tra i sistemi totalmente fissi e totalmente mobili;Generalmente composti da un insieme di dispositivi mobili general purpose interconnessi in maniera intermittente ad un’infrastruttura core con nodi fissi general-purpose (collegati tra loro attraverso una connessione permanente). Data la natura del sistema, le applicazioni vivono in un contesto di esecuzione che può essere talvolta statico e talvolta dinamico.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Nomadici (Nomadic Computing) (2/3)
AP1 AP2
AP3
handoff
Core Network
AP= Access Point
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Nomadici (Nomadic Computing) (3/3)
I dispositivi mobili sono interconnessi tra loro e alla rete core attraverso dei dispositivi intermedi, noti come Access Point (AP).Il cambio di AP da parte di un dispositivo mobile èun’operazione nota come “handoff”.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Ad-hoc (Mobile Ad-Hoc Networks) (1/2)
Sistemi in cui la rete dei si costituisce “spontaneamente”e in maniera wireless tra i dispositivi stessi, a causa dell’impossibilità o inutilità di affidarsi ad un’infrastruttura fissa.Costituiti da un insieme di dispositivi mobili, tipicamente general-purpose, connessi tra di loro attraverso un collegamento intermittente le cui applicazioni vivono in un contesto di esecuzione dinamico.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Ad-hoc (Mobile Ad-Hoc Networks) (2/2)
I dispositivi devono godere di proprietà di autoconfigurazione (ad esempio, nell’instradamento dei pacchetti), data l’assenza di un’infrastruttura fissa.Un dispositivo può comunicare direttamente solo con i suoi vicini (i nodi presenti nel raggio di comunicazione).Più “salti” (hops) tra nodi potrebbero essere richiesti per attraversare la rete.
A
B
C D
E“Il nodo A comunica con il nodo E attraverso i nodi B e D”
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Pervasive & Ubiquitous (1/2)
Con questi termini si intende la diffusione di dispositivi informatici intelligenti, facilmente accessibili e talvolta invisibili (integrati nell’ambiente), il cui uso semplifica lo svolgimento dei normali compiti di tutti i giorni. L’utente non ha bisogno di portare dispositivi con se, in quanto l’informazione potrà essere accessibile dappertutto e in qualsiasi momento.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Sistemi Pervasive & Ubiquitous (2/2)
Costituiti da un insieme di dispositivi fissi e mobili, per la maggior parte special-purpose (sensori intelligenti, controllori di elettrodomestici, dispositivi agganciati alle cartelle cliniche,…) connessi tra loro attraverso collegamenti intermittenti, le cui applicazioni vivono in un contesto tipicamente dinamico. Le Wireless Sensor Network sono un esempio di sistema pervasive & ubiquitous.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. L’evoluzione dei sistemi di elaborazione – 1/3
MainframeMonolithic
1st GenerationClient/Server
2nd GenerationDistributedObjects
Complexity & adaptability
Deg
ree
of
dis
trib
uti
on
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. L’evoluzione dei sistemi di elaborazione – 2/3Li
vello
di d
istr
ibuz
ione
e m
obili
tà
a 2 livelli
a 3 livellicliente-servente
Livello di complessità
oggettidistribuiti
componentidistribuiti
1a generazione 2a generazione 3a generazione
architetture orientate ai
servizi
C4 C5
C3
C2C1
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. L’evoluzione dei sistemi di elaborazione – 3/3
Anni
Mob
ilità
, Spe
cific
ità,
Inte
rmitt
enza
, din
amic
ità
traditional
Nomadic, Ad-hoc
Pervasive & Ubiquitous
1990 2000 2010
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Problematiche (1/3)
Diverse sono le problematiche connesse allo sviluppo di applicazioni per sistemi mobili. Tra le più importanti, si annoverano:
Eterogeneità: i sistemi mobili sono fortemente eterogenei secondo diversi assi:
hardware dei dispositivi, software di base e linguaggi di programmazione, tecnologie di comunicazione senza filo
Le applicazioni dovrebbero essere portabili su diverse piattaforme harware/software e funzionare su reti eterogenee.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Problematiche (2/3)
Adattamento: le applicazioni devono poter essere semplicemente estese a fronte di cambiamenti nei requisiti funzionali o adattate alle nuove tecnologie emergenti. Scalabilità: i sistemi mobili, specialmente i sistemi ubiquitous, sono caratterizzati dalla presenza di un gran numero di dispositivi. Le soluzioni devono essere pensate per introdurre un carico che cresca linearmente al crescere del numero di unità di elaborazione.Condivisione di risorse: l’accesso a dati condivisi sensibili richiede la gestione di transazioni e la garanzia dell’accesso in sicurezza.
Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems
Mobile SystemsS. Russo
::. Problematiche (3/3)
Tolleranza ai guasti: l’abilità di recuperare da condizioni di malfunzionamento senza pregiudicare il funzionamento dell’intero sistema. Nei sistemi mobili la problematica èinasprita dalla presenza di collegamenti inaffidabili.Gestione delle informazioni di contesto: la dinamicità del contesto richiede spesso alle applicazioni di reagire a variazioni dello stesso. Scarse capacità: Lo sviluppo deve portare in conto le ridotte capacità elaborative e di memoria dei dispositivi mobili rispetto ai dispositivi fissi. Inoltre, è necessario tenere presente il limitato tempo di vita del dispositivo, dovuto all’alimentazione a batterie.
Top Related