Studio del paradigma di comunicazione Publish/Subscribe in … · 2018. 3. 12. · Facoltà di...

118
Facoltà di Ingegneria Corso di Studi in Ingegneria delle Telecomunicazioni Tesi di Laurea Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili. Anno Accademico 2009-2010 relatore Ch.mo prof. Domenico Cotroneo correlatore ing. Christiancarmine Esposito candidato Daniele Giuliano matr. 139/152

Transcript of Studio del paradigma di comunicazione Publish/Subscribe in … · 2018. 3. 12. · Facoltà di...

  • Facoltà di Ingegneria Corso di Studi in Ingegneria delle Telecomunicazioni Tesi di Laurea

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili. Anno Accademico 2009-2010

    relatore Ch.mo prof. Domenico Cotroneo correlatore ing. Christiancarmine Esposito candidato Daniele Giuliano matr. 139/152

  • [Dedica]

  • III

    Indice Introduzione 6 Capitolo 1. Il Mobile Computing. 12 1.1 Lo scenario 15 1.2 Un poʼ di storia,dalla nascita della cultura al concetto di “Mobile Computing” 23 1.3 Lʼuniverso dei possibili campi applicativi legati al “Mobile Computing” 25 1.4 Limitazioni e problematiche legate al Mobile Computing 32 Capitolo 2. Il paradigma di comunicazione Publish/Subscribe. 42 2.1 Cosa è un middleware 42 2.2 Il modello publish/subscribe 44 2.3 Punti di forza del modello 46 2.4 I diversi modelli di pub/sub 49 Capitolo 3. Il pub/sub in ambienti mobili. 3.1 Dai middleware per sistemi tradizionali a quelli per sistemi mobili 3.2 Il pub/sub in supporto alla mobilità 3.3 Principali implementazioni del pub/sub mobile 3.3.1 Rebeca 3.3.2 JEDI Capitolo 4. Le reti “ad hoc”. 4.1 Dagli albori agli sviluppi attuali e futuri 4.2 La rete wireless 4.3 Vantaggi e svantaggi delle reti MANET 4.4 Lo standard IEEE 802.11 4.5 Ulteriori problematiche delle reti MANET 4.6 Possibili applicazioni Conclusioni Ringraziamenti 196 Bibliografia 199

  • IV

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    5

    Introduzione

    Obiettivo di questa tesi è in primo luogo quello di analizzare quelli che sono

    comunemente indicati come sistemi “Mobile Computing”.

    Tali sistemi stanno pian piano rivoluzionando la nostra vita quotidiana, così

    come, allo stesso tempo, stanno permettendo di sviluppare un nuovo ed

    entusiasmante concetto di lavoro,più efficiente e produttivo.

    Oggigiorno infatti,e sempre più,il lavoro di ciascuno di noi si svolge spesso in

    “movimento”.Abbiamo sempre più necessità di comunicare con i nostri

    colleghi,rivedere dati quanto più aggiornati possibile,elaborarli ed usarli per

    svariati fini,come può essere ad esempio convincere un cliente della validità

    dei prodotti offerti, oppure per illustrare un dato progetto tecnico. E’nata così

    l’espressione “Mobile Computing”che ci permette di indicare,in modo

    generico,tutte quelle tecnologie che consentono l’elaborazione o l’accesso ai

    dati,anche remoti, in “movimento”.

    Motivo per il quale,grazie a queste nuove tecnologie non è più difficile

    immaginare scenari impensabili fino a pochi anni fa,scenari nei quali ciascuna

    persona è libera di svolgere le proprie attività quotidiane in assoluta libertà di

    movimento e allo stesso tempo utilizzare i servizi informatici che le strutture,

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    6

    sia pubbliche che private, quali ad esempio aeroporti,musei,sedi lavorative

    ecc. mettono a disposizione.

    I campi applicativi nei quali l’ausilio del Mobile Computing risulta essere

    determinante,se non indispensabile, sono molteplici e sempre in maggiore

    crescita. Non è un caso infatti che le quote budget assegnate a progetti di

    mobilità aumentino di anno in anno ed i dipartimenti ITC (Information &

    Communication Technology) cercano sempre più di individuare figure professionali in grado di sviluppare processi basati sulle cosiddette “mobile

    applications”. Ulteriore elemento di riflessione è la costante crescita sul

    mercato di molti operatori che offrono servizi di mobilità specifici.

    L’investimento verso queste nuove tecnologie sta diventando quindi un obbligo soprattutto per quelle aziende che vogliono migliorare la logistica,la produzione,la vendita,ossia,in poche parole,la produttività.

    Le origini del Mobile Computing si possono ricondurre ovviamente

    all’esponenziale diffusione dei personal computer portatili, a sua volta legata

    ai processi tecnologici che hanno consentito una notevole riduzione sia delle

    dimensione,sia (cosa di non secondaria importanza) del costo dei componenti

    hardware. Inoltre,basta recarsi in uno qualsiasi dei tanti centri specializzati

    nell’elettronica di consumo,per capire come negli ultimi anni,a partire proprio

    dai “portatili”,si è verificata una rapida evoluzione di questi ultimi che ha

    visto come conseguenza la nascita di una nuova ampia classe di computer

    portatili a basso ingombro,come ad esempio laptop,tablet pc,notebook e così

    via,fino ad arrivare ai palmari. Se si pensa inoltre che gli stessi telefoni

    cellulari, oggigiorno, possono essere considerati come dei veri e propri

    computer portatili, si capisce come tali dispositivi siano parte integrante della

    vita di tutti i giorni di ciascun individuo.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    7

    Come se non bastasse,contemporaneamente alla miniaturizzazione dei

    computer,altri dispositivi digitali,quali fotocamere,lettori mp3,navigatori

    satellitari,hanno visto un accrescimento esponenziale delle loro capacità di

    calcolo e della loro possibilità di interconnessione,portando ad un mercato

    sempre più ampio,in cui il confine fra computer ed altri dispositivi è sempre

    più sottile.

    Contemporaneamente a tutta questa “rivoluzione tecnologica”appena

    descritta,il diffondersi delle tecnologie wireless per la connessione ad Internet

    ha contribuito non poco a facilitare l’utilizzo di tali dispositivi per la

    trasmissione e ricezione dati.

    Motivo per il quale si può affermare ,a giusta ragione, che l’uso combinato di

    queste tecnologie su dispositivi personali portatili permette a ciascuno di noi

    di essere perennemente connesso a tutte le informazioni di cui abbiamo

    bisogno, sempre e dovunque (“anytime”and “anywhere”).

    Tuttavia,ad onor del vero,è importante sottolineare,oltre ai vantaggi

    elencati,anche quelle che sono le limitazioni ed i vincoli ai quali andiamo

    incontro nell’ambito di queste tecnologie. Gli ambienti mobili infatti,portano

    in conto numerose problematiche che risultano essere inesplorate nell’ambito

    dei sistemi tradizionali. A differenza delle reti wired,le connessioni

    wireless,in poche parole, non sono affidabili,veloci e permanenti,ma possono

    soffrire di latenza ed intermittenza. I nodi di elaborazione inoltre non sono

    stabili e potenti come quelli fissi,ma possono essere mobili e poveri di risorse.

    Le caratteristiche del contesto elaborativo inoltre sono variegate e variano di

    continuo.

    Nel secondo capitolo introdurremo un importante paradigma di

    comunicazione, sempre in ambito “mobile”,il Publish/Subscribe.

    Naturalmente, prima di fare ciò, non possiamo fare a meno di cercare, in

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    8

    qualche modo, di introdurre il concetto di middleware e di sviluppare al

    tempo stesso una possibile tassonomia di questi ultimi.

    Al giorno d’oggi definire in modo esauriente cosa sia un middleware è cosa di

    difficile soluzione. Infatti se ponessimo il quesito a cento tecnici informatici

    probabilmente otterremo la stessa risposta,ovvero la porzione di software che

    si frappone tra le componenti Client e quelle Server in ambienti distribuiti. Se

    però chiedessimo a questi stessi personaggi di descriverne le funzioni,i

    meccanismi o gli standard avremo tuttavia cento risposte differenti sulla base

    del ruolo,dell’esperienza e del contesto in cui è inserito ciascuno di essi.

    Fino a qualche anno fa infatti il termine middleware era sinonimo di Data

    Access,che consentiva per grandi linee di mettere in comunicazione tra loro

    Database di natura diversa. Nello stesso periodo stava imperando lo standard

    RPC (Remote Procedure Call) largamente utilizzato in fase di

    programmazione. In un secondo tempo hanno prevalso sigle quali MOM

    ((Message Oriented Middleware ),ORB ( Object Oriented Middleware ) e via

    dicendo. In realtà,come dicevamo sono pochissime le persone in grado di

    fornire una visione strutturata delle categorie di middleware e delle tecnologie

    ad esse associate che possono essere impiegate per facilitare il compito di chi

    deve porre in correlazione ambienti di elaborazione eterogenei.

    Fatto ciò, entreremo nel merito del paradigma pub/sub, in primo luogo

    introducendo ovviamente gli aspetti generali, validi cioè indipendentemente

    dal tipo di ambiente in cui ci si trova ad operare, per poi entrare nel dettaglio

    di quella che è una delle possibili applicazioni di tale paradigma,ossia gli

    ambienti mobili.

    Il grande vantaggio che presenta il pub/sub rispetto ad altri paradigmi di

    comunicazione menzionati in precedenza è sintetizzabile attraverso un’unica

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    9

    parola: decoupling (disaccoppiamento). Tale proprietà risulta essere di

    fondamentale importanza relativamente all’utilizzo del pub/sub in ambienti

    mobili. Il decoupling garantisce indipendenza tra le entità coinvolte nella

    iterazione. Tale indipendenza come vedremo,riguarda tre aspetti:

    spaziale,temporale e quello cosiddetto di sincronizzazione.

    Come già detto, è proprio questa indipendenza che fa sì che il pub/sub risulti

    essere particolarmente indicato per gli ambienti mobili. E’infatti impensabile

    nell’ottica di un ambiente distribuito su vasta scala che tutte le entità possano

    conoscersi ed inviarsi liberamente i dati.

    Nell’ultimo capitolo ci occuperemo infine delle cosiddette reti

    “MANET”(Mobile ad hoc Networks). Lo sviluppo di tali reti sono un stretta

    conseguenza di tutto lo scenario che abbiamo descritto in precedenza.

    Infatti,negli ultimi tempi,come appunto già detto, la società si sta evolvendo

    verso scenari dominati dalla mobilità. Tale mobilità é dettata dalla necessità di

    ogni persona di essere continuamente, indipendentemente dal luogo dove si

    trova, in comunicazione con altre persone ad essa legate da interessi di lavoro,

    culturali, sociali.

    Ognuno di noi quotidianamente si trova di fronte alla necessità di dover

    risolvere dei problemi pur essendo lontani fisicamente dal sito dove si é

    verificato il problema stesso.

    Per rispondere a tali ed altre esigenze l'innovazione tecnologica ha prodotto i

    dispositivi mobili e nuove tipologie di rete. In particolare, l'attenzione é stata

    rivolta alle reti MANET ,reti in cui non esiste alcun tipo di infrastruttura, dove

    non risulta necessario avere sistemi centralizzati per permettere la

    comunicazione tra dispositivi mobili.

    Le MANET sono un sistema di comunicazione dati, basato su trasmissioni

    radio nelle quali i dispositivi comunicano esclusivamente su canali wireless.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    10

    Tali reti sono reti temporanee, senza punti di accesso, che non devono essere

    preconfigurate, ma si formano per la sola presenza dei dispositivi in un dato

    territorio. Per la loro natura le reti ad hoc sono la soluzione ideale per tutti quei

    casi in cui le infrastrutture di comunicazione esistenti non sono disponibili,

    non sono affidabili o più semplicemente troppo costose da utilizzare.

    Le possibili applicazioni, che destano più interesse nell'ambito della ricerca

    vanno dal campo militare, alle applicazioni di business, per arrivare alle

    applicazioni in caso di atto terroristico o di disastro naturale.

    Per queste tipologie di applicazioni si vengono a creare innumerevoli

    problemi, primo fra tutti il nodo cruciale della batteria limitata di cui possono

    disporre i nodi mobili. Di conseguenza una MANET può operare pienamente e

    continuamente solo per un tempo limitato.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    11

    Capitolo 1 Il Mobile Computing

    Negli ultimi anni abbiamo assistito ad una crescita esponenziale del settore

    legato al “Mobile Computing”. Le ragioni di tale incremento sono numerose e

    riguardano principalmente alcune situazioni favorevoli fra cui l’unificazione

    dei numerosi standard presenti sul mercato, l’abbassamento e, di

    conseguenza, la diffusione delle apparecchiature e dei dispositivi mobili, la

    diffusione di nuove tecnologie, la consapevolezza che le applicazioni mobili

    portino ad un effettivo miglioramento ad alcuni processi industriali e

    commerciali. Tutto ciò ha portato vantaggi enormi, si pensi ad esempio a

    quegli utenti che non hanno la possibilità di accedere direttamente alle

    informazioni aziendali, sia perché non dispongono di una postazione fissa in

    ufficio, sia perché non posseggono le competenze necessarie per agire sui

    moderni sistemi informativi. Grazie a dispositivi portatili come laptop, tablet

    pc, palmari o smart-phone e all’utilizzo di applicazioni mobile, gli utenti

    dispongono dei dati dell’azienda in qualsiasi luogo e in qualsiasi momento,

    migliorando sensibilmente la produttività e l’efficienza del proprio lavoro. In

    altri termini,con il mobile computing tutte le risorse aziendali possono essere

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    12

    fruibili attraverso tecnologie di tipo “mobile”,permettendo agli utenti di

    accedere in qualsiasi luogo (eliminazione dei vincoli geografici) a dati sempre

    aggiornati. Ciò consente di avere informazioni in tempo reale,di ridurre i

    tempi delle procedure operative,ossia, in poche parole, di aumentare la

    produttività.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    13

    1.1 Lo scenario

    Con l’espressione “Mobile Computing” (traducibile in italiano con

    “elaborazione in movimento”) si fa riferimento, in modo generico,a qualsiasi

    tipo di elaborazione effettuata da un dispositivo elettronico in movimento

    nello spazio fisico.

    Tali tecnologie di elaborazione o accesso dati sono caratterizzate dal fatto di

    essere prive di vincoli relativamente alla posizione fisica dell’utente o delle

    apparecchiature coinvolte.

    L’idea di eseguire processi di elaborazione su apparati mobili comporta due

    aspetti impliciti. Il primo riguarda la mobilità di coloro che utilizzano il

    dispositivo. Il secondo riguarda il dispositivo stesso che potrebbe agire in

    modo autonomo ed indipendente dalla mobilità del suo proprietario. Si pensi

    ad esempio al caso malaugurato in cui dimenticassimo in treno il telefono

    cellulare. Infatti,i processi elaborativi che consentono al cellulare di

    comunicare con la rete durante il viaggio in treno avvengono anche quando

    stiamo seduti davanti all’impiegato dell’ufficio “oggetti smarriti”. Più in

    generale,un qualsiasi dispositivo che possa muoversi autonomamente nello

    spazio fisico rappresenta un esempio di elaborazione in movimento.

    In tempi recenti,il Mobile Computing si spinge oltre,facendo parlare gli

    studiosi di “Nomadic Computing”,di “Pervasive Computing”,di “Ubiquitous

    Computing”,i quali rappresentano un passo ulteriore verso la totale libertà di

    calcolo rispetto allo spazio fisico.

    Con questi ulteriori termini si vuole sottolineare la possibilità di accedere alla

    rete ed ai sistemi di elaborazione dati praticamente in tutti i contesti ed

    attraverso una grande varietà di dispositivi.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    14

    Quanto detto comporta che i nuovi sistemi di elaborazione dell’informazione

    dovranno essere necessariamente provvisti di un grado di mobilità,dinamicità

    e flessibilità sempre maggiori. Ciascun utente infatti ha necessità di essere

    accompagnato nei suoi spostamenti ,sia di lavoro che di piacere,da tutti gli

    strumenti che la tecnologia è in grado di offrire. Appare evidente come, nello

    spostarsi da un luogo ad un altro,il contesto nel quale operano tali dispositivi

    possa mutare profondamente in termini di risorse,condizioni ecc. In

    quest’ottica i dispositivi che abbiamo a disposizione saranno veramente utili

    solo se saranno in grado di adattarsi a questa dinamicità.

    Naturalmente quanto descritto ha comportato un radicale cambiamento anche

    dell’architettura software. A partire infatti da una relativamente semplice

    architettura (Sistemi Centralizzati) dove tutte le componenti software sono

    eseguite su di una singola macchina,una nuova architettura software (Sistemi

    Distribuiti) è stata sviluppata,nella quale il software è organizzato in differenti

    moduli distribuiti su differenti nodi di elaborazione ed i dati sono scambiati

    tramite una rete di comunicazione.

    In un sistema centralizzato,un’applicazione viene eseguita su di un singolo

    nodo e costituisce un singolo processo;la workstation rappresenta l’unica

    componente attiva del sistema poiché ospita l’applicazione stessa. I terminali

    condividono le risorse della workstation in modo tale che i diversi utenti

    possano utilizzare l’applicazione. I terminali possono esistere anche in

    assenza di CPU,essendo equipaggiati di una interfaccia di comunicazione in

    grado di inviare comandi all’applicazione in esecuzione sulla workstation.

    In altri termini,in un tale sistema di comunicazione,la rete è utilizzata al fine

    di interconnettere nodi di rete privi di capacità elaborative (terminali) a nodi

    in grado di portare a termine processi elaborativi.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    15

    In un sistema distribuito invece,un’applicazione è composta di più processi

    ciascuno eseguito su differenti nodi della rete. Tutti i processi collaborano tra

    loro strettamente e la loro esecuzione risulta essere in parallelo. Così

    facendo,si può ritenere che una delle caratteristiche principali di un sistema

    distribuito è quella che i processi non condividono la memoria,ma fanno

    affidamento invece su di un meccanismo di scambio messaggi,il quale

    introduce un ritardo di computazione.

    A causa del progressivo abbattimento dei costi relativi ad una infrastruttura di

    rete di comunicazione, la potenza computazionale raggiunta dai sistemi

    distribuiti risulta essere più economica rispetto a quella ottenibile mediante

    una workstation equivalente. Inoltre un ulteriore vantaggio della soluzione

    distribuita rispetto quella ormai obsoleta di tipo centralizzato è che l’intera

    infrastruttura risulta essere più gestibile,in quanto risulta essere relativamente

    più semplice aumentare le risorse al fine di bilanciare il carico di lavoro ed

    eseguire in parallelo le applicazioni.

    In un sistema distribuito tradizionale,il paradigma di interazione di

    riferimento generalmente adottato risulta essere il cosiddetto Client-Server.

    Client e server sono distinti processi in esecuzione su differenti nodi della rete

    caratterizzati da una ben definita interfaccia. Senza addentrarci più di tanto in

    questo noto paradigma di interazione,possiamo sintetizzare per grandi linee

    l’interazione tra le due entità coinvolte attraverso il seguente schema di

    principio:

    - Il client richiede un servizio al server.

    - Il server esegue l’elaborazione richiesta ed invia i risultati di tale

    elaborazione al client.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    16

    E’importante sottolineare come la distinzione tra client e server sia puramente

    funzionale;infatti non vi sono client e server in senso assoluto, ma ad esempio

    potremmo avere il caso in cui un server funga da client per un altro server.

    E’ importante capire inoltre che le ipotesi fatte relativamente ai sistemi

    distribuiti tradizionali perdono parte della loro validità nel momento in cui le

    applichiamo ai contesti “mobile”presentati in precedenza (l’ambiente non è

    più statico,le connessioni tra i nodi di rete non sono più stabili e durature nel

    tempo ecc.).

    Infatti,per grandi linee, nei sistemi tradizionali quando un processo richiede di

    interagire con un altro processo,al fine di richiedere un servizio da esso

    offerto,si affida da un lato alle buone capacità elaborative dei nodi di

    rete,dall’altro alla stabilità e alle buone prestazioni dei link che caratterizzano

    l’infrastruttura fisica. Pertanto se una delle due parti non reagisce,è molto

    probabile che si sia verificato qualche malfunzionamento.

    Viceversa, i “nuovi”ambienti introdotti stravolgono le caratteristiche appena

    viste;i nodi elaborativi (e con essi i servizi) possono più volte connettersi e

    disconnettersi,ciò implica, contrariamente a quanto visto in precedenza,che

    non necessariamente la non disponibilità sia sinonimo di malfunzionamento.

    Abbiamo inoltre che le connessioni tra i vari nodi di rete avvengono mediante

    connessioni wireless,che sono come sappiamo intrinsecamente intermittenti

    ed inaffidabili. I nodi stessi risultano essere caratterizzati da scarse risorse

    computazionali. Tutto ciò comporta che relativamente al contesto appena

    descritto risulta difficile poter utilizzare un servizio.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    17

    In altri termini,è ciò rappresenta il succo del discorso al quale volevamo

    arrivare,i sistemi distribuiti classici hanno subito nel corso degli anni una

    evoluzione verso nuovi sistemi di elaborazione e comunicazione,che come

    abbiamo detto in precedenza fanno tutti capo al Mobile Computing. Infatti

    termini come Pervasive Computing,Ubiquitous Computing,Nomadic

    Computing,ad hoc Computing,sono tutte facce della stessa medaglia,anche se

    però,ovviamente, oltre a presentare similitudini,sono in possesso ciascuna di

    una propria identità.

    Prima di poter eseguire una sorta di tassonomia relativamente a quelli che

    abbiamo definito come sistemi distribuiti vale la pena soffermarci ed

    approfondire i seguenti aspetti, in modo tale da poter illustrare ancora una

    volta le similitudini e,cosa ancora più importante,le differenze tra sistemi

    distribuiti fissi e mobili.

    Un sistema distribuito, abbiamo già detto, altro non è che una collezione di

    componenti distribuiti su vari computer (chiamati anche hosts) connessi da

    una apposita rete di comunicazione. Tale definizione risulta essere valida sia

    per i sistemi distribuiti tradizionali quanto per quelli di “ultima

    generazione”ossia quelli mobili. Al fine di capire le differenze esistenti

    andiamo a definire tre importanti concetti:quelli di device

    (dispositivo),connessione di rete e contesto di esecuzione.

    - Tipi di dispositivi: fin da subito possiamo dire che in un sistema

    distribuito fisso i dispositivi risultano essere per l’appunto stazionari o fissi

    che dir si voglia,mentre in un sistema distribuito mobile almeno alcuni sono

    fisicamente in movimento. Motivo per il quale i dispositivi fissi variano dal

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    18

    computer di casa,al mainframe,alle workstation. Di contro,i dispositivi mobili

    variano dal telefono cellulare,alla fotocamera digitale,alle smart-cards e

    quant’altro. Inoltre mentre le prime possono essere considerate come delle

    macchine dotate di capacità elaborative notevoli,dotate di grandi quantità di

    memoria e CPU veloci,le seconde hanno capacità limitate,in termini di

    velocità della stessa CPU,ridotte dimensioni dello schermo,poca memoria e

    bassa autonomia delle batterie.

    - Tipi di connessione di rete: gli hosts fissi sono il più delle volte connessi

    permanentemente alla rete attraverso collegamenti a banda larga. Le

    disconnessioni possono avvenire o in modo esplicito per cause di tipo

    amministrativo o per guasti non prevedibili a priori. In poche parole le

    disconnessioni in un sistema distribuito fisso sono considerate come eccezioni

    al normale comportamento del sistema. Naturalmente come già detto in

    precedenza queste assunzioni non possono essere prese in considerazione

    relativamente a quelli che sono i sistemi distribuiti mobili che si connettono

    ad Internet mediante collegamenti di tipo wireless. Sappiamo infatti che le

    prestazioni delle reti wireless sono fortemente influenzate dai protocolli e

    dalle tecnologie utilizzate. Una larghezza di banda apprezzabile può essere

    raggiunta se ad esempio gli hosts sono allocati nei pressi,entro cioè poche

    centinaia di metri dalla stazione base e se sono naturalmente in numero

    limitato. In linea di principio infatti,la banda disponibile decresce rapidamente

    all’aumentare del numero degli hosts. Inoltre la perdita di connessione non è

    una fatto così sporadico come avviene nei sistemi fissi. Essendo infatti i

    dispositivi in movimento, con maggiori probabilità si potrebbe incappare in

    una zona senza copertura o ad alta interferenza. Motivo per il quale le

    disconnessioni non vengono più considerate come delle eccezioni ma come

    parte integrante delle comunicazioni wireless. Tutto ciò ci porta a dire che, sia

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    19

    a causa di guasti, sia a causa del normale evolversi delle comunicazioni

    wireless,la rete di collegamento dei sistemi distribuiti mobili, a giusta ragione,

    può essere considerata come una rete intermittente.

    - Tipi di contesto: con il termine contesto generalmente si indica tutto ciò

    che può influenzare una data applicazione;questo include le risorse interne al

    dispositivo,come la quantità di memoria disponibile o le dimensioni dello

    schermo,e le risorse esterne,come la banda,la qualità della connessione ecc. In

    un ambiente distribuito fisso il contesto può essere considerato a giusta

    ragione statico:la banda disponibile risulta essere infatti elevata oltre che

    costante,la “location”non cambia quasi mai,gli hosts infatti, è vero che

    possono essere aggiunti,spostati,rimossi ecc. ma la frequenza con la quale

    tutto ciò accade è decisamente irrilevante rispetto a quanto avviene negli

    ambienti mobili. Un contesto risulta essere quindi statico allorquando le

    risorse interne ed esterne variano poco o mai. Viceversa, il contesto negli

    ambienti mobili risulta essere estremamente dinamico. Gli hosts,ad

    esempio,possono connettersi e disconnettersi in maniera estremamente più

    rapida rispetto al caso precedente. Le risorse sia interne che esterne risultano

    essere soggette a forti cambiamenti.

    Ciò premesso,abbiamo adesso tutti gli strumenti necessari a poter effettuare

    una classificazione relativamente ai sistemi distribuiti oggetto della nostra

    analisi. Essi infatti si distinguono in:

    - Sistemi distribuiti tradizionali: sono caratterizzati da una collezione di

    dispositivi fissi e general-purpose (cioè dispositivi progettati per non eseguire

    compiti specifici,come avviene ad esempio per i PDA,laptop,PC ecc.)

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    20

    connessi tra loro mediante una connessione permanente le cui applicazioni

    vivono in un contesto di esecuzione statico.

    - Nomadic Computing: rappresentano un compromesso tra sistemi

    totalmente fissi e quelli totalmente mobili;sono generalmente caratterizzati

    dalla presenza di device mobili, sia di tipo general che di tipo special-purpose

    (cioè,contrariamente ai precedenti,dispositivi realizzati per eseguire compiti

    specifici,quali ad esempio microcontrollori,sensori ecc.),interconnessi ad una

    infrastruttura core con nodi fissi (collegati tra loro attraverso una connessione

    permanente) general-purpose. Data la natura del sistema appena descritto,le

    applicazioni vivono in un contesto di esecuzione che può essere talvolta

    statico,talvolta dinamico.

    - Ad hoc Mobile Computing: i sistemi distribuiti ad hoc sono costituiti da

    un insieme di dispositivi mobili,generalmente general-purpose,connessi tra di

    loro attraverso un collegamento intermittente e senza alcuna infrastruttura

    fissa,dove le applicazioni vivono in un contesto di esecuzione fortemente

    dinamico. Gli scenari di ad hoc computing possono essere numerosi;si può

    pensare ad esempio ad una scrivania sulla quale ritroviamo tanti dispositivi

    wireless che comunicano tra di loro (stampanti,cellulare ecc.),così come

    possiamo pensare ad un campo di battaglia dove i diversi contingenti si

    devono scambiare informazioni circa le strategie da adottare.

    - Pervasive Computing: con tale termine generalmente si fa riferimento ad

    un sistema distribuito. E’ caratterizzato dalla presenza di dispositivi fissi

    special-purpose connessi tra di loro attraverso un collegamento tipicamente

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    21

    permanente le cui applicazioni vivono in un contesto di esecuzione

    tipicamente statico soggetto solo talvolta a rapidi cambiamenti. Con il termine

    Pervasive Computing in pratica si intende la crescente diffusione di

    dispositivi informatici intelligenti,facilmente accessibili e talvolta invisibili,il

    cui scopo è quello di semplificare le normali attività che ciascuno di noi

    svolge quotidianamente .

    - Ubiquitous Computing: tali sistemi sono costituiti da un insieme di

    dispositivi mobili,per la maggior parte special-purpose connessi tra loro

    attraverso collegamenti intermittenti e le cui applicazioni vivono in un

    contesto tipicamente dinamico. I sistemi di Ubiquitous Computing nascono

    dall’evoluzione dei sistemi di Pervasive Computing data dalla introduzione

    della mobilità dei dispositivi (per questo spesso i due termini sono usati come

    sinonimi). Con l’Ubiquitous Computing i device faranno parte dei nostri

    naturali movimenti ed interazioni con i normali ambienti del prossimo futuro.

    In poche parole tutto ciò che è possibile immaginare con i computer e le

    telecomunicazioni,in movimento,fermi, in cielo,in terra,o in mare può essere

    considerato Ubiquitous Computing.

    Altra cosa interessante da notare è quella che i sistemi “Nomadic” ed “ad

    hoc” possono essere visti come due forme diverse del più generale concetto di

    Mobile Computing.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    22

    1.2 Un po’ di storia,dalla nascita della cultura al concetto di “Mobile Computing”. L’acquisizione del linguaggio, così come oggi lo intendiamo, è di circa

    300.000 anni fa, e segna la prima tappa epocale della civilizzazione. È la

    nascita della cultura: per la prima volta le conoscenze apprese possono essere

    accumulate e trasmesse. Ma le culture orali producono un certo tipo di

    pensiero, che potremmo definire mitico/eroico, dalla forma che il pensiero

    deve assumere per poter ricordare e quindi trasmettere le rappresentazioni del

    mondo.

    All’incirca nel 3000 A.C. la nascita della scrittura segna un nuovo

    cambiamento epocale. Ora le rappresentazioni del mondo possono essere

    fissate su un supporto e trasmesse da una generazione ad un’altra senza che

    esista la necessità di un contatto diretto tra gli autori della rappresentazione e i

    loro lettori. Anche questa innovazione tecnologica ha mutato radicalmente il

    pensiero, che smette di essere mitico/eroico per diventare un pensiero

    logico/razionale. Un modo diverso di comprendere il mondo è ora possibile;

    ad esempio la scrittura rende possibile la nascita della matematica

    (impensabile in una società senza scrittura).

    Per quanto altre innovazioni tecnologiche abbiano contrassegnato la storia

    successiva (stampa, radio, televisione) nessuna di esse è dal punto di vista

    della civilizzazione, una tappa epocale. Certamente ognuna di esse ha avuto

    effetti importanti sullo sviluppo dei fatti del mondo, ma non ne ha mutato

    radicalmente il presupposto di fondo.

    Bisognerà aspettare la seconda metà del 1900 per la successiva tappa epocale,

    ovvero la nascita della elaborazione automatica. Ora le rappresentazioni sono

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    23

    elaborabili su un processore artificiale oltre che raccontate, scritte, duplicate,

    fotografate, filmate, riprese mediante strumenti artificiali/naturali. È questa

    capacità di elaborazione che permette anche la comunicazione tra artefatti e

    quindi l’universo della comunicazione elettronica che cominciamo ad

    intravedere oggigiorno. A noi che osserviamo il fenomeno essendone

    coinvolti come utenti, consumatori di tecnologie, comuni cittadini o esperti

    delle sue diverse sfaccettature, può essere utile considerare da questa

    prospettiva il fenomeno delle TIC (Tecnologie dell’Informazione e della

    Comunicazione). Ritornando infatti al mobile computing, esso appare in

    questa prospettiva come il dispiegarsi delle potenzialità insite nella

    elaborazione su processori artificiali. Tutto ciò avrà effetti profondi sul modo

    di pensare della specie anche se per ora non possiamo prevedere appieno la

    natura di questi effetti.

    Storicamente, l’idea del mobile computing comincia a prendere forma agli

    inizi degli anni‘80, con l’affermazione sul mercato dei personal computer.

    Rispetto alle macchine di quel periodo, il PC era enormemente meno

    ingombrante ed il suo scarso ingombro ne permetteva il trasporto in modo

    relativamente semplice, anche se le intenzioni dei costruttori non erano certo

    quelle di farne un apparato mobile, quanto uno strumento appunto personale.

    Questa caratteristica di potenziale portabilità di elaborazione venne comunque

    quasi subito utilizzata per la produzione di computer cosiddetti trasportabili,

    ovvero computer costruttivamente progettati (scheda madre, disco fisso,

    lettori, schede di espansione ecc.) per il trasporto.

    Il concetto di mobile computing comprende ormai fasce di prodotti molto

    ampie: una macchina fotografica digitale, un lettore MP3, una unità

    diagnostica portatile, un navigatore satellitare,un telefono cellulare, una

    apparecchiatura cardiologica portatile ecc., sono tutti esempi di dispositivi che

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    24

    incorporano o sono di fatto dei computer, disponendo tutti di un processore, di

    memoria, di dispositivi di input/output. Inoltre, la mobilità deriva dalla

    disponibilità(al contrario dei tradizionali computer da tavolo) di una fonte

    autonoma di energia che garantisce autonomia rispetto alla rete elettrica.

    Questa diffusione degli apparati di elaborazione in prodotti di consumo è solo

    agli inizi: potenzialmente ogni apparato di una certa complessità potrebbe

    essere equipaggiato di hardware e di software adeguati al compito e alle

    circostanze. Se un tale apparato fosse per una qualche ragione mobile, esso

    rientrerebbe a pieno titolo nell’universo del mobile computing.

    Un altro elemento che caratterizza il mobile computing, abbiamo visto, è la

    connettività. La capacità di compiere elaborazioni mentre l’apparato è in

    movimento rende possibile la comunicazione con altri dispositivi, sia fissi che

    in movimento nello spazio. L’avvento di Internet, lo sviluppo delle

    telecomunicazioni, la convergenza in atto tra multimedialità, reti e calcolo,e

    (recentemente) l’avvento della tecnologia wireless (senza fili), tutti questi

    fattori hanno determinato una capacità di connessione dei dispositivi mobili

    senza il legame fisico rappresentato dalle tecnologie guidate, ovvero i cavi.

    Ormai, mobile computing assume anche il significato di always

    connected,sempre connesso. La connettività senza fili è ovviamente un

    patrimonio dell’uomo moderno dai tempi della TV e della radio, dove la

    semplice antenna bastava a ricevere il segnale. La telefonia ha poi raggiunto il

    terreno della mobilità, grazie alla diffusione delle reti cellulari. In questi

    ultimi tempi i dispositivi di calcolo hanno cominciato a poter essere utilizzati

    in condizioni “nomadiche” (una persona,un dispositivo, tanti luoghi),

    superando così il vincolo del passato costituito dalla necessità di un cavo di

    comunicazione per connettersi alla rete.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    25

    1.3 L’universo dei possibili campi applicativi legati al “Mobile Computing” Telefoni cellulari, computer portatili e Web stanno rapidamente diventando il

    sistema più utilizzato per essere sempre in stretto contatto con le idee e le

    attività che contano per noi. L’hardware e il software che si nascondono

    dietro questi processi non diventeranno mai invisibili, ma saranno sempre

    meno intrusivi, consentendo di focalizzare la nostra attenzione sui contenuti

    informativi veicolati. Ci stiamo servendo di questi nuovi strumenti di calcolo

    portatili per interagire con gli altri in modi che nessuno aveva previsto e non

    sarà naturalmente facile separarci da tali strumenti.

    Al di là dell’aspetto puramente tecnologico, il successo del mobile computing

    è strettamente legato alla disponibilità di applicazioni per gli utenti finali.

    È noto, infatti, come il carburante per lo sviluppo di una nuova tecnologia sia

    rappresentato dal miglioramento delle condizioni di lavoro/ vita/svago che

    l’utente trae dall’utilizzo di quelle tecnologie. La disponibilità di applicazioni

    da svolgere in mobilità o, anche solo in condizioni nomadiche costituisce

    quindi un fattore cruciale per questo settore: di recente, una serie di migliorie

    tecnologiche ha consentito di migrare applicazioni tipicamente riservate al

    mondo dei computer verso gli apparati

    mobili. In generale, la progettazione e lo sviluppo di sistemi intelligenti nelle

    applicazioni informatiche odierne prevede la possibilità di fornire parte o tutti

    i servizi previsti anche su piattaforme mobili.

    Il mobile computing apre spazi di sviluppo praticamente in tutti i campi dove i

    computer possono essere utilizzati. È quindi del tutto prevedibile che in futuro

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    26

    qualunque sistema informatico prevederà come default la possibilità di

    interagire con utenti in movimento.

    La possibilità di elaborare mentre i sistemi sono in movimento influenza

    maggiormente alcuni campi applicativi rispetto ad altri. A ben vedere però,

    questo è dovuto soltanto ad una immaturità tecnologica: in linea di principio,

    tutti i sistemi informatici hanno degli utenti e questi ultimi hanno interesse a

    spostarsi nello spazio fisico senza rinunciare a interagire con sistemi di cui

    sono appunto utenti. Inoltre, molti oggetti di uso comune (macchine

    fotografiche, stampanti, cellulari ecc.) sono di fatto apparati di elaborazione.

    Tali apparati possono comunicare direttamente tra loro senza la mediazione di

    un computer general-purpose. Esempi già disponibili sul mercato sono le

    macchine fotografiche digitali che si connettono direttamente alla stampante,

    oppure i pagamenti effettuati con il telefono cellulare verso distributori

    automatici di vario genere. Se consideriamo inoltre apparati con un alto grado

    di autonomia (robot capaci di muoversi autonomamente in uno spazio e di

    connettersi a sistemi di comunicazione), l’universo delle applicazioni

    ipotizzabili diviene talmente vasto da rendere difficile prevederne

    l’evoluzione, se non nelle sue linee essenziali. Queste prospettive vanno

    quindi ben oltre il classico slogan anywhere, anytime, anyplace. In linea di

    principio, agenti hardware o software potrebbero essere ovunque, liberi di

    muoversi nello spazio e di effettuare operazioni di elaborazione per nostro

    conto. In effetti, le sonde semoventi che negli anni scorsi sono state fatte

    atterrare su pianeti del sistema solare sono esempi di questa classe di robot.

    Anywhere, anytime, anyplace risulta quindi uno slogan riduttivo, perché non

    solo gli utenti possono muoversi nello spazio ma teoricamente (almeno per

    ora) anche i loro agenti robotizzati potrebbero perlustrare lo spazio in modo

    parallelo. Già oggi, per esempio, possiamo equipaggiare la nostra abitazione

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    27

    di campagna e il nostro appartamento in città con telecamera, e controllare il

    tutto dal nostro cellulare. Sicché mentre l’utente è in movimento, può

    controllare la situazione in due spazi fisici remoti. In altri termini, possiamo

    avere contemporaneamente la percezione di tre luoghi fisici diversi di cui due

    virtuali. Al giorno d’oggi sono molteplici i campi applicativi in cui le

    tecnologie “mobile”stanno diventando sempre più indispensabili. In

    particolare le aree maggiormente esplorate riguardano alcuni settori,quali ad

    esempio:

    - Domotica: con domotica o "casa intelligente" si indica un ambiente

    domestico opportunamente progettato e tecnologicamente attrezzato al fine di

    rendere più agevoli le attività all'interno dell'abitazione (quali accensione luci,

    attivazione e comando elettrodomestici, gestione climatizzazione, apertura di

    porte e finestre, ecc.), di aumentarne la sicurezza (controllo anti-intrusione,

    fughe di gas, incendi, allagamenti, ecc.) e di consentire la connessione a

    distanza con servizi di assistenza (tele-soccorso, tele-assistenza, tele-

    monitoraggio, ecc.). L'edificio intelligente, con il supporto delle nuove

    tecnologie, permette la gestione coordinata, integrata e computerizzata degli

    impianti tecnologici (climatizzazione, distribuzione acqua, gas ed energia,

    impianti di sicurezza), delle reti informatiche e delle reti di comunicazione,

    allo scopo di migliorare la flessibilità di gestione, il comfort, la sicurezza, il

    risparmio energetico degli immobili e per migliorare la qualità dell'abitare e

    del lavorare all'interno degli edifici.

    Con l'espressione "casa intelligente", allora, si definisce l'integrazione di

    diversi dispositivi per il controllo automatizzato di apparati domestici, di

    sensori di misurazione dello stato dell'ambiente, di funzioni intelligenti di

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    28

    supporto e di sistemi telecomunicativi per l'accesso alle funzioni da remoto o

    per l'assistenza a distanza. Quindi, lo scopo ultimo di un sistema della

    domotica è il controllo totale di tutti i servizi e la possibilità di realizzare

    nuove operazioni complesse, possibili solo nel caso in cui diversi sistemi

    semplici siano connessi e controllati in modo intelligente.

    Fig.1.1. Possibili applicazioni del Mobile Computing alla domotica

    - Mobile Commerce: area vastissima che comprende sia gli aspetti

    tecnologici,sia la creazione di modelli di business e prodotti specifici per l’e-

    commerce.

    Sull’onda del miraggio dell’e-commerce, a fine anni ‘90 si cominciò a parlare

    di mobile-commerce, prospettiva particolarmente interessante vista la crisi

    dell’e-commerce dovuta principalmente alla mancanza di dispositivi

    trasportabili e sicuri per effettuare pagamenti. In questo caso, l’apparecchio

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    29

    mobile era rappresentato dal telefono cellulare, il quale poteva fornire con le

    sue capacità di calcolo adeguata potenza per gli algoritmi di crittografia e per

    la gestione della comunicazione sicura.

    Utilizzare il cellulare per poter fondamentalmente effettuare pagamenti

    sembrava essere quindi fino a pochi anni fa uno dei servizi più gettonati

    nell’ambito della comunicazione mobile. Tuttavia però alcune problematiche

    e la crisi del mercato ha fatto sì che il mobile-commerce non abbia mantenuto

    le iniziali promesse. Adesso si ricomincia ad affacciare nuovamente,con

    molta più prudenza però rispetto agli anni del grande boom della telefonia

    mobile. Per prima cosa si dovrà generare uno standard il più possibile unico.

    Attualmente infatti,molte aziende hanno adottato soluzioni di commercio

    elettronico mobile. Il problema è quello che tali servizi non sono per nulla

    interpolabili tra loro. Per essere attraente un servizio deve avere delle precise

    caratteristiche,deve essere infatti quanto più possibile

    affidabile,semplice,sicuro ed “ubiquo”. Senza tutto questo difficilmente ci

    sarà un futuro roseo per il mobile-commerce.

    Altrettanto esplorato il mobile banking, con un interesse prevalentemente

    monodirezionale, in consultazione di estratti conto, posizioni contabili oppure

    come strumento di ricezione di SMS a fronte di eventi sul proprio portafoglio.

    Ancora poco esplorata, in questo settore, la possibilità di passare ad effettuare

    operazioni o disposizioni attraverso l’apparecchio mobile.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    30

    - Servizi di Location-Based con conseguente personalizzazione del servizio.

    La possibilità di accedere a un’enorme quantità e varietà di informazioni

    richiede necessariamente, per non risultare inutilizzabile, un filtro attraverso il

    quale selezionare solo i dati di effettivo interesse. Da questo assunto nasce la

    personalizzazione dei servizi informativi, che mira a individuare le preferenze

    di particolari fasce di utenti sempre più definite. I location based-services

    nascono per poter selezionare in modo del tutto trasparente all’utente, una

    serie di contenuti rispondenti in modo assolutamente preciso alle esigenze

    espresse attraverso l’uso del terminale mobile: disporre di indicazioni

    dettagliate riguardo l’ubicazione di un dispositivo portatile, significa poter

    offrire servizi altamente personalizzati, limitando al minimo il grado di

    coinvolgimento dell’utente nel processo di selezione delle informazioni .

    Ovunque ci si trovi, tanto in un luogo familiare quanto in una città

    sconosciuta, diventa possibile ricevere indicazioni riguardo qualsiasi cosa sia

    stia cercando - sia un ristorante o un servizio di assistenza, un albergo o un

    collega di lavoro – in modo rapido ed efficace.

    Le tecnologie utilizzate per implementare tali servizi devono essere adeguate

    a gestire sia una struttura di attività sempre più distribuita logicamente e

    fisicamente, sia una tecnologia che diventa sempre più pervasiva e

    onnipresente nell’ambiente in cui gli utenti operano. Fra le tendenze più

    importanti, e forse inattese, nel campo delle applicazioni facciamo riferimento

    all’avvento del Web come piattaforma per il software sociale, e le relative

    estensioni nel mondo mobile. La lista delle applicazioni sociali è già

    impressionante. I primi esempi riguardano la messaggistica testuale verso

    telefonini e cercapersone, per arrivare ai servizi telefonici basati sulla

    commutazione di pacchetto, incluse le nuove reti Voice Over IP (VOIP),

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    31

    oppure all’area della gestione sociale della conoscenza, rappresentata in parte

    da siti di interconnettività sociale.

    Si assiste cioè alla trasformazione dell’originario Web costituito da documenti

    statici in una raccolta di pagine che rappresentano interfacce aperte su

    piattaforme applicative. Questi servizi stanno moltiplicandosi così in fretta

    perché possono essere realizzati con l’aiuto di strumenti di programmazione e

    linguaggi condivisi e standardizzati, sviluppati per lo più nell’ambito della

    comunità dell’open source. Il settore degli agenti software intelligenti ha

    trovato nuova linfa proprio nel mobile computing: avendo un dispositivo con

    limitate capacità di calcolo e di connessione, l’idea di un agente al quale

    affidare una ricerca ed ottenere la segnalazione dei risultati sul dispositivo

    mobile è un campo di sperimentazione piuttosto affermato.

    Anche per quanto riguarda i software tradizionali di comunicazione, le

    estensioni nel mobile sono ormai presenti in tutti i prodotti: gli ambienti di

    sviluppo dispongono di specifici framework / template per lo sviluppo di

    applicazioni per dispositivi mobili, oppure prevedono la trasportabilità delle

    applicazioni desktop verso mondi mobile.

    - Front-End mobili per applicazioni aziendali tradizionali.

    L’ambito applicativo gestionale, ovvero quello legato alla gestione dei sistemi

    informativi aziendali, rappresenta il settore dove si è assistito al maggior

    sviluppo di applicazioni nel mondo mobile. In questo ambito, sostanzialmente

    si assiste alla creazione di estensioni delle parti più significative del sistema

    per l’utenza mobile in modo tale che gli utenti lontani dalla sede aziendale

    possano accedere al sistema informativo. Volendo presentare alcune tra le

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    32

    applicazioni di maggior successo che vedono il dispositivo mobile come

    strumento di accesso, possiamo elencare le seguenti macro-categorie

    applicative:

    1. Gestione posta elettronica, agenda, contatti,ovvero il dispositivo mobile come personal organizer connesso con il sistema informativo aziendale;

    2. Accesso al sistema di contabilità aziendale;

    3. Gestione ordini specialmente per rappresentanti,agenti di commercio ecc.

    4. Gestione vendite dettaglio/magazzino/ristorazione:particolarmente in evidenza il settore dell’impiego dei dispositivi mobili come terminali per la

    raccolta delle ordinazioni nei locali pubblici.

    Per il semplice fatto che,come abbiamo già detto,quest’ultimo rappresenta il

    settore di maggiore interesse per le tecnologie “mobile”,vale la pena entrare

    maggiormente nel dettaglio e descrivere,anche se brevemente,alcuni esempi

    pratici in cui le suddette tecnologie sono di supporto alle aziende:

    - Il venditore parte dal deposito con un automezzo carico di prodotti da

    vendere. Nel suo giro visite incontra clienti a cui vende parte del materiale

    che porta con sé, rilasciando un documento fiscale (D.d.t., Fattura o nota di

    consegna), incassando il corrispettivo della vendita stessa. A fine giornata (o

    a fine ciclo) torna al deposito, scaricando i dati di vendita e di magazzino

    verso il CED Aziendale e versando le somme ricevute in pagamento.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    33

    - Il venditore durante le proprie visite raccoglie gli ordini e li trasmette

    immediatamente al deposito o alla sede centrale. Qui l'ordine viene preparato

    e caricato su un automezzo che lo consegnerà poche ore dopo essere stato

    acquisito dal venditore. In questo caso l'accento deve essere messo sulla

    gestione del cliente e del suo ordine, oltre alla tempestività di trasmissione

    dell'ordine stesso.

    - Il venditore si reca dal Cliente con un applicativo in grado di gestire la

    vendita di oggetti complessi, dove le variabili di scelta sono molteplici come

    nel caso di vendita di abbigliamento dove si hanno taglie ma soprattutto

    colori che rendono la vendita più difficile e soprattutto meno immediata. Il

    venditore ha a propria disposizione, per ciascun articolo, un insieme anche

    complesso di informazioni supplementari come immagini, descrizioni

    tecniche, limitazioni di vendita (spesso un articolo può essere ordinato solo in

    alcune taglie, per l'abbigliamento, o dimensioni, nel settore meccanico) e così

    via. Vi sono inoltre informazioni sulle statistiche del cliente e avvisi su

    particolari promozioni. Al termine l'ordine può essere stampato ed inviato in

    sede, sia immediatamente sia in un secondo tempo.

    - Alcuni applicativi facilitano inoltre le operazioni di vendita (o di

    preparazione della merce) quando l'area di vendita o il magazzino sono

    molto estesi. Ad esempio nella vendita il cliente e il venditore si muovono

    insieme nell'area; man mano che il cliente seleziona dei prodotti, il venditore

    con il proprio terminale legge l'etichetta a codici a barre o RFiD (acronimo

    di Radio Frequency IDentification,tecnologia per l’identificazione automatica

    di oggetti, animali o persone. Il sistema è basato sulla lettura di un tag –

    un’etichetta –attraverso appositi apparecchi detti reader) dell'articolo. Così

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    34

    facendo vengono visualizzate le caratteristiche del prodotto e viene

    memorizzata la scelta effettuata. Al termine, il cliente può recarsi nell'ufficio

    vendite a ritirare immediatamente il documento fiscale (D.d.T. o Fattura)

    mentre il personale caricherà il materiale richiesto sull'autocarro o

    sull'automezzo del cliente. Tutto ciò abbatte sensibilmente i costi di

    gestione,in quanto aggiungendo controlli informatici alle normali operazioni

    di preparazione merce e vendita, si evitano errori ed inefficienze.

    - Sempre più aziende hanno la necessità di sapere dove si trovi il proprio

    personale esterno. Se ad esempio si dispone di una rete di vendita esterna,

    spesso si ha l’esigenza di sapere dove si trovano gli agenti, per indicare loro

    nuove esigenze nate da una telefonata presa dal vostro supporto telefonico.

    Nascono quindi applicativi cosiddetti di tracking che consentono di

    localizzare con una discreta precisione dove si trovi un agente; questa

    informazione, unita con quelle del suo giro visite, consente di capire se il

    personale possa essere utilizzato anche per altre attività, ad esempio ritiro di

    apparecchiature guaste o riparate da laboratori che si trovano nelle

    vicinanze o per poter ottimizzare al meglio i tempi di intervento presso la

    clientela nel caso ad esempio l’attività richieda assistenza tecnica.

    - Inoltre sempre più spesso si ha la necessità di prendere in

    considerazione applicativi di comunicazione fra i terminali posti sul campo

    ed il CED aziendale. Infatti tutte le informazioni raccolte durante il lavoro

    all'esterno devono essere trasferite ai programmi gestionali dell'azienda.

    Spesso il passaggio di questi dati può essere difficoltoso, tenendo in conto che

    i protocolli e le tecnologie di trasmissione possono essere anche diverse a

    seconda dell'applicazione. In definitiva,in poche parole, attraverso le

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    35

    tecnologie mobile è possibile ricevere i dati dai vari terminali posti sul campo

    e presentarli al CED aziendale, e viceversa, con i dati che serviranno sul

    campo (clienti, articoli, scadenziario e così via).

    - Mobile Health, ovvero le applicazioni mobili applicate alla medicina e a

    tutte le sue componenti (fig.4.2).  

    L’ambito applicativo mobile legato alla medicina è principalmente strutturato

    da un lato sulla mobilità del medico, considerandolo come utente che

    necessita (al pari di altri utenti) di accedere alle informazioni contenute nel

    proprio sistema informativo mentre si trova lontano da esso (per esempio,

    consultazione di cartelle cliniche), dall’altro ci si interessa di mobilità in

    merito a tutto il problema della diagnostica remota, o comunque effettuata con

    apparecchiature non fisse. Per certi versi, la mobilità diagnostica rappresenta

    (con le dovute proporzioni) un passaggio epocale che ha qualche similitudine

    con quello affine della portabilità dei computer.

    Fig.4.2. Applicazioni del Mobile Computing alla medicina.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    36

    Immaginare di effettuare diagnosi computerizzate “sul campo”, e quindi di

    portare le proprie apparecchiature medicali elettroniche con sé invece che

    dover portare il paziente presso la struttura dove l’apparecchiatura si trova, ha

    punti di contatto con la possibilità per l’utente di portarsi appresso il

    computer, invece che doversi muovere verso il luogo dove il computer si

    trova.

    - Mobile Computing come supporto alla navigazione

    Grande successo stanno ottenendo tutti i dispositivi basati sul sistema

    satellitare GPS (Global Positioning System). Dai palmari ai sistemi antifurto,

    da impianti singoli per i PC all’abbinamento con sistemi di navigazione

    stradale da usare sui veicoli, i dispositivi GPS stanno aggiungendo alla

    mobilità, intesa come libertà di movimento nello spazio, un nuovo elemento

    solo apparentemente banale, ovvero la precisione di localizzazione nello

    spazio del dispositivo e del soggetto qualora egli lo detenga. Elemento chiave

    di queste applicazioni risultano essere le mappe digitalizzate, ormai dotate di

    livelli di precisione interessanti, e di interi team di operatori che provvedono

    al loro aggiornamento, qualora il servizio di georeferenziazione si traduca in

    guide stradali. Quindi non solo il soggetto è mobile, ma sa anche dove si trova

    esattamente, dove sta andando e dove può andare. L’arricchimento dei

    navigatori satellitari con cartine georeferenziate sempre più precise e

    aggiornate, con caratteristiche sempre più sofisticate e ricche di informazioni,

    crea una forte attenzione del mercato (consumer, prevalentemente) verso

    questo settore, e di conseguenza un fiorire di applicazioni nei settori più

    disparati. Il discorso può essere esteso ovviamente anche alla navigazione in

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    37

    senso stretto,ad esempio i satelliti possono essere utilizzati anche per la

    localizzazione di navi,merci ecc.

    Uno sviluppo interessante a tal proposito è il cosiddetto concetto di “volo

    libero” attraverso il quale un pilota di un aereo di linea potrebbe

    seguire,proprio mediante l’ausilio dei satelliti,la rotta più efficiente,facendo a

    meno di far riferimento alle rotte imposte dai controllori del traffico aereo.

    Naturalmente saranno gli stessi satelliti ad informare il pilota relativamente

    alla rotta di altri aerei al fine di evitare collisioni.

    - Altre applicazioni pratiche

    Ad ogni modo le applicazioni pratiche di mobile computing prese in

    considerazione sono solo alcune,tra le tante,che giorno dopo giorno stanno

    penetrando sempre più nella vita quotidiana di ciascuno di noi. Infatti, oltre a

    quelli citati esistono o sono in fase avanzata di sperimentazione sistemi di

    trasporto pubblico in cui l’acquisto dei biglietti avviene via internet e

    cellulari. Il biglietto viene inviato sul cellulare del passeggero ed il pagamento

    viene ottenuto attraverso un addebito diretto allo stesso prezzo del sistema

    cartaceo. Il mezzo di trasporto è costantemente georeferenziato attraverso

    connessioni GPS: la sua posizione viene sfruttata dal sistema informativo di

    controllo del traffico nel trasporto pubblico, che comunica in tempo reale le

    caratteristiche, la posizione, i tempi di arrivo del mezzo ai cittadini che

    attendono alla fermata. Inoltre, grazie alla mobilità e alla connettività del

    mezzo di trasporto, informazioni sia di pagamenti effettuati, sia di diagnostica

    del mezzo, sia comunicazioni vocali tra personale a bordo e centro di

    controllo garantiscono, grazie alle tecnologie mobile, una totale integrazione

    tra mezzo in movimento e sistema informativo.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    38

    La gestione delle flotte in tempo reale grazie alle tecnologie mobile

    rappresenta una preziosa opportunità non solo per il mondo del trasporto

    pubblico, ma anche e soprattutto nel mondo della logistica, dove è importante

    effettuare il tracking esatto, per esempio, del pacco spedito, del cargo in

    navigazione, del prodotto attualmente in viaggio, del container nel porto ecc..

    Le esperienze delle grandi compagnie di autotrasporto, oppure i sistemi di

    tracciamento del pacco adottato dai corrieri internazionali, sono solo alcuni

    esempi del potenziale che questo settore potrà esprimere nell’immediato

    futuro.

    Si consideri inoltre, pur nelle polemiche nate dalla loro adozione, anche il

    potenziale di strumenti di identificazione molto compatti e facilmente

    installabili come gli RFID già introdotti sommariamente in precedenza.

    Queste tecnologie, grazie alla loro ridotta dimensione e quindi alla loro

    mobilità, aprono scenari di identificazione/autenticazione/ autorizzazione

    molto interessanti: si va dalle Smart Card ai problemi di ticketing, alla

    etichettatura di prodotti o animali, alla gestione dell’identificazione dei capi

    nelle lavanderie, alla gestione della catena di produzione (dove è il prodotto

    che si identifica rispetto al nastro trasportatore), a strumenti di sicurezza legati

    a dispositivi anti-rapina, all’identificazione di veicoli per il pagamento di

    pedaggi,  fino alla gestione degli accessi delle persone agli spazi.

    Un’altra classe di applicazioni correlata alla localizzazione e alla

    presentazione di informazioni all’utente è rappresentata come detto dalle

    applicazioni gestionali nell’ambito medico. L’azienda sanitaria può

    implementare un sistema informativo per la gestione dei dati clinici che

    utilizza dispositivi di comunicazione mobile all’interno di un processo di cura

    dei pazienti non localizzati in ospedale. Anche i medici stessi, nella mobilità

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    39

    ristretta di un reparto ospedaliero, possono trarre vantaggio dai dispositivi

    mobili per la consultazione del sistema informativo, la scheda del paziente

    che hanno di fronte, i dati degli esami effettuati in tempo reale. Da mobile

    health (o mhealth) a mobile care, ovvero personale infermieristico e

    paramedico (in ospedale o presso l’abitazione del paziente) in grado di

    accedere attraverso dispositivo mobile a tutte le informazioni cliniche,

    acquisendo on-line i dati del paziente. Le tecnologie mobile in questo settore

    si possono spingere fino alla creazione di una piattaforma distribuita di

    mobile-procurement, per accelerare i tempi di approvvigionamento dei

    farmaci.

    Molto apprezzato e diffuso, anche se con dispositivi non sempre

    tecnologicamente avanzati, risulta essere l’ambito delle applicazioni turistiche

    correlate con il mondo del mobile computing. In questo contesto va precisata

    la possibilità di implementare nuovi servizi per i dispositivi mobili che

    integrano un chip per la ricezione del GPS, cioè quei servizi in cui la

    localizzazione automatica della posizione dell’utente può essere utile per

    privilegiare la presentazione di contenuti correlati spazialmente e/o

    logicamente al luogo in cui ci si trova. Per esempio, potremmo leggere la

    recensione di un ristorante mentre gli passiamo accanto, o visitare un

    monumento leggendo fotografie e commenti lasciati da altri e prelevati dalla

    Rete.

    Esistono ormai molte esperienze di guide multimediali evolute, utilizzate

    nell’ambito dei musei, esposizioni, fiere ecc., dove il servizio di

    localizzazione dell’utente si rapporta con la presentazione di informazioni

    relative al luogo dove l’utente si trova fisicamente. Di fronte ad un quadro,

    per esempio, riceverò sul dispositivo mobile una scheda relativa all’opera,

    commenti sulla stessa di diversi critici, dettagli, biografia dell’autore ecc..

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    40

    L’ulteriore possibile integrazione di mappe territoriali permetterebbe la

    generazione di percorsi e di itinerari personalizzati sia in base alla posizione

    in cui si trova l’utente, che alle sue caratteristiche.

    Sempre nell’ambito turistico, troviamo applicazioni che forniscono

    informazioni (tipicamente sulla disponibilità ricettiva) dell’area in cui si

    trovano utenti georeferenziati (sistemazioni, eventi, attrazioni ecc.), filtrando i

    contenuti sulla base delle caratteristiche dell’utente, del dispositivo utilizzato

    e del contesto di interazione.

    1.4 Limitazioni e problematiche legate al Mobile Computing Fino ad ora, altro non abbiamo fatto che introdurre il “mondo”del mobile

    computing,alcune delle sue possibili applicazioni alla vita di tutti i

    giorni,sottolineando in particolare quelli che sono gli aspetti positivi che tale

    tecnologia può apportare ,soprattutto in ambito aziendale, in termini di

    produttività ed efficienza.

    Naturalmente una trattazione esaustiva dell’argomento,non può esulare dal

    presentare,anche se per grandi linee,le problematiche e le limitazioni che

    inevitabilmente si devono affrontare allorquando si considera questo,che a

    tutti gli effetti,può essere considerato come un vero e proprio nuovo,

    rivoluzionario concetto di computing.

    Infatti,ad esempio, una delle possibili restrizioni,forse quella più banale, che

    si deve fronteggiare relativamente al mobile computing ,è dovuta alla durata

    limitata delle batterie dei dispositivi mobili. Ciò comporta che le unità mobili

    potrebbero andare incontro a continue disconnessioni. Motivo per il quale,si

    potrebbero verificare situazioni nelle quali brevi periodi di attività,come ad

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    41

    esempio operazioni che riguardano l’invio o la ricezione di una mail,si

    potrebbero alternare con periodi più o meno lunghi nei quali i dispositivi sono

    disconnessi.

    Inoltre altra problematica è legata al fatto che allorquando il dispositivo si

    connetterà nuovamente,si potrà ritrovare in un ambiente completamente

    nuovo e molto diverso da quello solito o da quello in cui è avvenuta la

    precedente disconnessione.

    C’è da considerare anche un ulteriore processo che avviene proprio a causa

    della mobilità intrinseca dei dispositivi, che è quello che va sotto il nome di

    Handoff process. Ciò è legato al fatto che, essendo i dispositivi per l’appunto

    mobili, le unità potrebbero tranquillamente oltrepassare il confine tra due

    celle adiacenti pur essendo attive.

    Ovviamente,per quanto possibile,tutte queste modifiche dovrebbero apparire

    senza soluzione di continuità per l’utente. In altri termini il mobile computing

    lancia nuove sfide all’intera comunità del settore dell’informazione.

    Entrando maggiormente nel dettaglio, possiamo dire che i principali problemi

    relativi agli ambienti “mobile” possono essere classificati in due grandi

    categorie: problemi relativi alla mobilità e problemi relativi alle applicazioni.

    - Problemi relativi alla mobilità

    Tali tipologie di problemi fanno riferimento alle caratteristiche intrinseche

    delle reti wireless e dei dispositivi mobili. Come già introdotto pocanzi debole

    connettività e/o vincoli relativi alla carica della batteria possono causare

    periodi di indisponibilità del servizio. Inoltre,gli utenti possono avviare, ad

    esempio, una comunicazione poco prima del viaggio da casa all’ufficio.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    42

    Anche se la connessione di rete è disponibile, sia relativamente agli ambienti

    esterni sia a quelli interni (mediante ad esempio GSM e Wi-Fi),il passaggio

    da una tecnologia ad un’altra può essere causa di disconnessioni.

    Tutto questo ci porta a dire che l’indisponibilità del servizio in ambienti

    mobile è una regola piuttosto che un’eccezione. Se i paradigmi di interazione

    tradizionali richiedono ad entrambe le controparti di essere disponibili durante

    l’interazione, il mobile computing richiede meccanismi che lascino gli utenti

    comunicare in modo disaccoppiato. In definita tali problematiche possono

    così essere classificate:

    - disconnessioni: come già detto sono causa di disconnessioni sia la carica

    limitata della batteria dei dispositivi mobili sia i cambiamenti relativi

    all’access point della rete a causa della mobilità degli utenti.

    - connettività variabile: dovuta sia a cambiamenti volontari (ad esempio

    un viaggio),sia a variazioni imprevedibili (ad esempio una comunicazione

    wireless rumorosa) che possono causare cambiamenti relativamente alla

    larghezza di banda,alla latenza,all’affidabilità,al tasso di errore ed al ritardo di

    un collegamento di rete.

    - potenza di elaborazione: gli algoritmi di rete di supporto al wireless

    sono più complessi rispetto la caso cablato. Ad esempio,i dettagli di tracking

    di un utente che si muove in un ambiente mobile aggiungono complessità e

    richiedono norme per la consegna, il roaming ecc..

    - eterogeneità: alcuni terminali saranno in grado di utilizzare per l’accesso

    alla rete diverse tecnologie simultaneamente o una alla volta.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    43

    E’pur vero che tali preoccupazioni riguardano un qualsiasi ambiente di

    comunicazione tra computer,ma in questo caso, abbiamo la peculiarità che

    questi parametri cambiano di continuo,talvolta all’improvviso,così come ad

    esempio un nomade si sposta da un luogo ad un altro.

    Inoltre la pervasività è un altro fattore cruciale relativamente alla mobilità.

    Con il termine pervasività si intende che la mobilità riguarda tutti i protocolli

    dello strato ISO/OSI, dal livello fisico a quello delle applicazioni.

    - Problemi relativi alle applicazioni

    Questi problemi sono dovuti principalmente al fatto che i sistemi di calcolo

    mobile stanno aprendo nuovi scenari applicativi. A tal proposito la prossima

    generazione di applicazioni per il mobile computing dovrà essere

    caratterizzata su di un alto livello di astrazione,oltre,ovviamente,di servizi

    avanzati. Per esempio,incontrare gente e scambiare informazioni con

    loro,ricevere contenuti dinamici e lasciare che il calcolo risulti essere

    location-aware,sono solo alcune delle possibili applicazioni il cui progetto e

    implementazione dovrebbero essere semplificate,dotandole a tal proposito, di

    meccanismi forniti dai mobile computing middleware. Il concetto di

    middleware,cosa sia,e quali soluzioni prendere in considerazione

    relativamente agli ambienti mobile,verranno prese dettagliatamente in

    considerazione nel capitolo successivo. Qui ci limitiamo a dire che un

    middleware altro non è che lo strato software che si interpone tra il sistema

    operativo e le applicazioni.

    Tornando alle problematiche introdotte in precedenza,esse possono essere

    classificate come segue:

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    44

    - Astrazioni di programmazione: le soluzioni middleware di maggior

    successo sono di solito quelle basate sulla programmazione orientata agli

    oggetti e le chiamate di metodo. Le chiamate si basano su interfacce

    fortemente tipizzate che provvedono sia a compilare, sia ad eseguire controllo

    sugli errori nel tempo. Esse nascondono anche molti dettagli di

    implementazione. Tuttavia, a causa della violazione dei presupposti di

    sincronizzazione,la mobilità può avere un impatto sui paradigmi di

    comunicazione su cui le astrazioni di programmazione fanno affidamento.

    - Servizi middleware “ mobile-abilitati”: la presenza di mobilità richiede

    che l’ambiente prenda coscienza della presenza e della posizione dei

    dispositivi mobili,così come la necessità dell’utente di prendere coscienza del

    cambiamento dell’ambiente. Inoltre,la stessa mobilità consente agli utenti di

    incontrarsi con facilità. Questo potrebbe avere un impatto sull’applicabilità

    dei paradigmi di comunicazione tradizionali che hanno tipicamente una

    molteplicità uno-a-uno.

    - Interoperabilità: ciò fa riferimento al fatto che,anche in un prossimo

    futuro ,saremo impossibilitati ad avere un’unica piattaforma middleware in

    grado si supportare dispositivi e finalità differenti. Questo risulta

    particolarmente vero,manco a dirlo, per gli ambienti mobile a causa proprio

    delle innumerevoli tecnologie e dispositivi presenti sul mercato. Quindi,in

    altri termini,le notevoli differenze sia tra dispositivi,sia tra elementi di rete,sia

    tra le applicazioni fanno sì che caso per caso andranno prese in

    considerazione soluzioni middleware differenti.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    45

    In sintesi la sfida principale è quella di fornire ai dispositivi mobili un

    “ubiquitous”,ad alte prestazioni,ambiente integrato di elaborazione. Questo

    impone di affrontare due aspetti relativi alla mobilità. Il primo è rappresentato

    dai componenti hardware,i quali vengono, come detto, sempre più ridotti,per

    favorire per l’appunto la portabilità dei dispositivi stessi,a discapito di quelle

    che sono le prestazioni. Così facendo oltre alle dimensioni si riesce a

    contenere anche il peso ed il consumo,cosa quest’ultima di estrema

    importanza allorquando, in mobilità,non siamo in grado di collegare il

    dispositivo ad una semplice presa a muro.

    Tutto ciò,come è facile intuire ,porta sicuramente a prestazioni decisamente

    meno interessanti rispetto ad una postazione fissa. Motivo per il

    quale,possiamo affermare che accettare le precedenti limitazioni,consente la

    mobilità a discapito però di quelle che sono le prestazioni. Un computer

    portatile quindi potrà essere portato ovunque in modo semplice a causa delle

    sue ridotte dimensioni e del suo peso accettando di andare incontro a

    prestazioni solo in parte soddisfacenti. Nasce quindi l’esigenza di effettuare

    un trade-off tra esigenze di portabilità e prestazioni.

    Il secondo aspetto importante è l’accesso alla rete. Per via della loro mobilità i

    dispositivi oltrepassano i confini imposti dalle sottoreti fisiche e dai domini

    amministrativi. Lo spostamento di un computer viola un principio importante

    sul quale sono costruite le reti. Le topologie di rete non sono più statiche ma

    variano di continuo. L'indirizzo di un host di destinazione su un pacchetto

    viene utilizzato nei gateway per instradare i pacchetti tra sottoreti differenti.

    Un host mobile che attraversa il confine fisico tra sottoreti senza cambiare il

    proprio indirizzo IP rompe il legame tra il nome e la posizione e non è in

    grado di comunicare.

  • Facoltà di Ingegneria – Corso di Studi in Ingegneria delle Telecomunicazioni

    Studio del paradigma di comunicazione Publish/Subscribe in ambienti mobili

    46

    Capitolo 2 Il paradigma di comunicazione Publish/Subscribe

    Il modello di comunicazione Publisher/Subscriber ( abbreviato Pub/Sub) è

    uno di quei paradigmi che sta ricevendo negli ultimi tempi attenzioni sempre

    maggiori. E’noto,come si è potuto evincere anche dal capitolo precedente, che

    lo sviluppo esponenziale di Internet ha cambiato in maniera drastica quelli

    che abbiamo definito come sistemi distribuiti. Tali sistemi ,al giorno d’oggi,

    sono caratterizzati da milioni di entità sparse in tutto il mondo ed il loro

    numero è ancora in costante crescita. In aggiunta abbiamo che, non solo le

    locazioni ma anche i comportamenti di tali entità possono essere fortemente

    variabili nel tempo.

    Ecco il perché abbiamo sempre più l’esigenza di introdurre nuovi paradigmi

    di comunicazione,tra i quali per l’appunto il pub/sub, che siano quanto più

    possibile flessibili e dinamici. Infatti,comunicazioni di tipo point-to-point e

    sincrone risultano essere ormai alquanto obsolete per il semplice fatto

    che,essendo rigide e statiche, risultano essere un vero e proprio impedimento