per sistemi mobili: r lo sviluppo di software Fornire ... · Lezione 1: Introduzione al corso e...

23
[email protected] www.mobilab.unina.it Napoli, Maggio-Giugno 07 Mobilab European Master on Critical Networked Systems Mobile Systems S. Russo Università degli Studi di Napoli Parthenope European Master on Critical Networked Systems Corso di Mobile Systems Dipartimento di Informatica e Sistemistica Università 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 [email protected] www.mobilab.unina.it Napoli, Maggio-Giugno 07 Mobilab European Master on Critical Networked Systems Mobile Systems S. 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 Sensor Networks, attraverso numerose attività pratiche di laboratorio.

Transcript of per sistemi mobili: r lo sviluppo di software Fornire ... · Lezione 1: Introduzione al corso e...

[email protected]

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

[email protected]

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.

[email protected]

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.

[email protected]

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.

[email protected]

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.

[email protected]

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.

[email protected]

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.

[email protected]

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.

[email protected]

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.

[email protected]

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.

[email protected]

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.

[email protected]

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

[email protected]

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

[email protected]

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, ...)

[email protected]

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

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Sistemi distribuiti: esempi – 1/3

• Internet

Numero di computer in Internet

[email protected]

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

print

Local areanetwork

email server

the Internet

[email protected]

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

[email protected]

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

[email protected]

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

[email protected]

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)

[email protected]

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

[email protected]

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.

[email protected]

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.

[email protected]

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

[email protected]

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).

[email protected]

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.

[email protected]

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

[email protected]

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 …).

[email protected]

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.

[email protected]

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

[email protected]

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.

[email protected]

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.

[email protected]

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

[email protected]

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”.

[email protected]

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.

[email protected]

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”

[email protected]

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.

[email protected]

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.

[email protected]

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

[email protected]

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

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

[email protected]

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

[email protected]

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.

[email protected]

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.

[email protected]

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.