ITRA20070067A1 - Sistema di comunicazione per terminali mobili con accesso wireless multicanale - Google Patents

Sistema di comunicazione per terminali mobili con accesso wireless multicanale Download PDF

Info

Publication number
ITRA20070067A1
ITRA20070067A1 IT000067A ITRA20070067A ITRA20070067A1 IT RA20070067 A1 ITRA20070067 A1 IT RA20070067A1 IT 000067 A IT000067 A IT 000067A IT RA20070067 A ITRA20070067 A IT RA20070067A IT RA20070067 A1 ITRA20070067 A1 IT RA20070067A1
Authority
IT
Italy
Prior art keywords
telecommunication system
server
access point
communication
messages
Prior art date
Application number
IT000067A
Other languages
English (en)
Inventor
Elias Sebastiano Giuse Carotti
Fabio Forno
Alessandro Malgaroli
Original Assignee
Fondazione Torino Wireless
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fondazione Torino Wireless filed Critical Fondazione Torino Wireless
Priority to IT000067A priority Critical patent/ITRA20070067A1/it
Priority to AT08845760T priority patent/ATE509489T1/de
Priority to EP08845760A priority patent/EP2223558B1/en
Priority to PCT/IB2008/003764 priority patent/WO2009056989A2/en
Publication of ITRA20070067A1 publication Critical patent/ITRA20070067A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/0005Control or signalling for completing the hand-off
    • H04W36/0011Control or signalling for completing the hand-off for data sessions of end-to-end connection
    • H04W36/0033Control or signalling for completing the hand-off for data sessions of end-to-end connection with transfer of context information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/08Upper layer protocols
    • H04W80/10Upper layer protocols adapted for application session management, e.g. SIP [Session Initiation Protocol]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices
    • H04W88/10Access point devices adapted for operation in multiple networks, e.g. multi-mode access points

Description

Testo allegato alla domanda di brevetto per invenzione industriale dal titolo:
"SISTEMA DI COMUNICAZIONE PER TERMINALI MOBILI CON ACCESSO WIRELESS MULTICANALE"
CAMPO TECNICO DELLA PRESENTE INVENZIONE
La presente invenzione riguarda un sistema di comunicazione fra dispositivi mobili e rete fissa o fra dispositivi mobili fra loro, in cui i dispositivi mobili possono usare tecnologie di comunicazione senza fili diverse. In particolare, la presente invenzione riguarda un sistema di comunicazione capace di consentire la migrazione trasparente di sessioni applicative, gestendo contemporaneamente la continuità dei dati trasmessi all'interno della sessione e garantendo la consegna in ordine di ogni pacchetto trasmesso.
DESCRIZIONE DELLO STATO DELLA TECNICA
Negli ultimi decenni sono state sviluppate numerose tecnologie atte a garantire la comunicazione senza fili fra dispositivi di comunicazione mobili e rete fissa, quali, ad esempio, le tecnologie GSM, GPRS o 3G, oppure le reti Wi-Fi. La stessa tecnologia Bluetooth è nata per consentire lo scambio di informazioni fra dispositivi quali palmari, telefoni cellulari, personal computer, portatili, stampanti, fotocamere digitali ecc..
I dispositivi di comunicazione mobili attuali sono dotati di canali di comunicazione utilizzanti tecnologie diverse; detti canali di comunicazione generalmente possono funzionare contemporaneamente su uno stesso dispositivo. Per esempio, un telefono cellulare può scambiare dati con un altro cellulare utilizzando una rete 2-3G e contemporaneamente comunicare grazie alla tecnologia Bluetooth con un palmare. Lo scambio di dati avviene nelle diverse tecnologie seguendo protocolli diversi.
Un problema comune a queste tecnologie è come associare ad ogni dispositivo mobile un indirizzo che permetta di riconoscere ed individuare il dispositivo stesso. Alcune di queste tecnologie, ad esempio le reti Wi-Fi, utilizzano un indirizzamento IP, altre, invece, utilizzano schemi di indirizzamento legati alla tecnologia stessa e alla topologia della rete locale. Tra queste ultime occorre annoverare le tecnologie di comunicazione a corto raggio Bluetooth e Zigbee. Dette tecnologie, a causa della mancanza di un sistema di indirizzamento e di routing globale, permettono di instaurare comunicazioni solo con i dispositivi nelle immediate vicinanze, ma non di comunicare con dispositivi o servizi remoti.
Questa eterogeneità di protocolli e di tecniche di indirizzamento rende problematica la migrazione di una sessione applicativa fra canali di comunicazione diversi mantenendo attiva la comunicazione. Con il termine "sessione" s' intende una sequenza di operazioni effettuate in un lasso di tempo limitato fra un utente identificato da un particolare ID ed un servizio remoto, o fra due agenti o servizi software. Tale sequenza di operazioni può avvenire indipendentemente dai dispositivi o dai canali di comunicazione utilizzati, che possono, appunto, anche variare durante la sessione stessa. Il concetto di migrazione fra canali viene anche generalmente espresso con il termine "handover".
Per fare un esempio pratico, un utente può iniziare una serie di transazioni con un server mediante una connessione GPRS e, giunto in una zona coperta da Wi-Fi, può voler continuare le interazioni con il server nella medesima sessione, ma avvalendosi del più economico canale Wi-Fi. Il problema della migrazione è presente anche nel caso appena citato, nonostante che la migrazione avvenga fra tecnologie che utilizzano entrambe un indirizzamento IP. Infatti, ad un dispositivo mobile che può comunicare sia attraverso una connessione GPRS che Wi-Fi vengono in genere attributi due indirizzi IP diversi a seconda del canale utilizzato.
Un altro tipo di migrazione possibile è quella tra differenti dispositivi. Ad esempio, un utente può richiedere delle informazioni tramite il proprio cellulare e ricevere la risposta su un monitor ad alta definizione presente nelle immediate vicinanze dell'utente stesso.
Il problema della migrazione si presenta anche quando un dispositivo mobile si sposta cambiando punto di accesso, senza però cambiare il canale di comunicazione. Anche in questo caso viene attribuito al dispositivo un indirizzo IP differente, che dipende dal punto di accesso alla rete e dall'architettura della rete locale. Ciò può comportare un cambio frequente di indirizzo IP. Questo problema viene in genere affrontato registrando l'indirizzo IP del dispositivo mobile in uno o più server centralizzati noti, in modo da rendere noto l'indirizzo. Un esempio di protocollo che implementa questa soluzione è costituito da Mobile IP (http://tools.ietf.org/html/rfc3344), che permette, mediante l'ausilio di un server noto, di migrare il proprio indirizzo IP mentre si è in movimento. Tuttavia, analogamente ad altre soluzioni del genere, Mobile IP demanda ad altri protocolli a livello di trasporto o livello applicativo l'integrità dei dati trasmessi, dal momento che esso non si occupa della gestione della fase di transizione da una rete all'altra, così come dei periodi in cui il dispositivo non ha connettività.
Un ulteriore problema legato all' allocazione di indirizzi IP di dispositivi mobili è legato alla diffusione di tecniche di Network Address Translation, finalizzate all'utilizzo di indirizzi di tipo privato. Detti indirizzi privati limitano l'occupazione degli indirizzi pubblici, ma non consentono di contattare direttamente il dispositivo da indirizzi pubblici esterni. Questo impedisce di effettuare il "push" di dati verso un dispositivo dotato di indirizzo privato, a meno di non sfruttare servizi particolari messi a disposizione dal gestore della rete privata. Le soluzioni possibili allo stato dell'arte prevedono un continuo polling delle possibili sorgenti di informazione, o il mantenimento di una connessione aperta dal device mobile, tramite cui inviare i dati quando disponibili. Sfortunatamente, queste soluzioni comportano un eccessivo consumo di banda, non sono robuste nel caso di disconnessioni e incidono sul consumo delle batterie del dispositivo mobile stesso.
Esiste quindi il bisogno di un sistema di comunicazione che consenta migrazioni trasparenti fra differenti tecnologie wireless e che utilizzi un sistema di indirizzamento omogeneo nelle varie tecnologie. Esiste, inoltre, il bisogno che il sistema menzionato sia realizzabile senza modificare i dispositivi mobili e le infrastrutture di rete esistenti, cioè senza dover ricorrere alla collaborazione con i produttori dei dispositivi mobili o i gestori di rete.
SOMMARIO DELLA PRESENTE INVENZIONE
La presente invenzione riguarda un sistema di comunicazione che comprende dispositivi mobili, access point e server, in cui i dispositivi mobili comunicano fra di loro per mezzo di tecnologie wireless, collegandosi tramite degli access point o direttamente con il server. Il sistema di comunicazione secondo la presente invenzione consente di mantenere una connessione attraverso un canale virtuale, ovvero un canale di comunicazione end to end con caratteristiche uniformi indipendenti dal canale fisico utilizzato.
Secondo una prima forma di realizzazione la presente invenzione riguarda un sistema di telecomunicazione comprendente uno o più server, uno o più punti di accesso e uno o più dispositivi mobili di comunicazione, in cui: i dispositivi mobili comunicano utilizzando una connessione wireless; un canale di comunicazione virtuale viene instaurato fra almeno un server e almeno uno dei dispositivi mobili e i punti di accesso comprendono una pluralità di unità di ricezione, in cui ogni unità è utilizzata per ricevere un tipo di comunicazione wireless diverso. Il sistema è caratterizzato dal fatto che ad ogni utente che utilizza un dispositivo mobile viene associato un identificativo unico (UID) e al canale virtuale viene associato un identificativo unico (SID) che consentono di mantenere il canale virtuale attivo anche in caso di migrazione.
Secondo una forma di realizzazione della presente invenzione i punti di accesso aggiornano una tabella che associa il SID con l'indirizzo fisico dei dispositivi mobili presenti nelle vicinanze.
Secondo una forma di realizzazione della presente invenzione i server associano gli identificativi unici degli utenti (UID) con i SID dei canali virtuali e con l'elenco dei punti d'accesso aventi in gestione un particolare dispositivo mobile.
Secondo una forma di realizzazione della presente invenzione il numero di identificazione dell'utente (UID) non cambia se l'utente che utilizza un dispositivo mobile cambia il punto di accesso con cui comunica e/o cambia il tipo di connessione wireless.
Secondo una forma di realizzazione della presente invenzione il canale virtuale resta attivo quando il dispositivo mobile cambia il tipo dì tecnologia wireless di comunicazione con il punto di accesso, mantenendo quindi invariato il SID associato.
Secondo un'ulteriore forma di realizzazione della presente invenzione il trasporto dei dati avviene attraverso lo scambio di messaggi.
Secondo un'ulteriore forma di realizzazione della presente invenzione vengono gestite più sessioni associate allo stesso identificativo cliente (UID) su canali virtuali (SID) differenti.
BREVE DESCRIZIONE DELLE FIGURE
Ulteriori vantaggi, obiettivi e caratteristiche della presente invenzione diventeranno più chiari per mezzo della seguente descrizione dettagliata con riferimento alle tavole di disegno allegate di alcune forme di realizzazione della presente invenzione; nelle tavole di disegno in allegato, parti identiche o corrispondenti sono identificate dagli stessi numeri di riferimento. In particolare, nelle figure:
- figura 1 rappresenta schematicamente un esempio di un sistema di comunicazione secondo la presente invenzione;
figura 2 rappresenta schematicamente un esempio di un sistema di comunicazione secondo la presente invenzione in cui viene instaurato un canale logico uniforme fra utente e server;
- figura 3 rappresenta schematicamente un esempio di struttura di un accese point secondo la presente invenzione;
- figura 4 rappresenta schematicamente la struttura di un transport message secondo la presente invenzione; - figura 5 rappresenta schematicamente un esempio di sistema di comunicazione secondo la presente invenzione in cui è stato integrato un server XMPP; - figura 6 rappresenta schematicamente uno scambio di messaggi tra un terminale mobile, un access point e un server secondo una forma di realizzazione della presente invenzione;
- figura 7 rappresenta schematicamente uno scambio di messaggi tra un terminale mobile, un access point e un server secondo una forma di realizzazione della presente invenzione;
- figura 8 rappresenta schematicamente uno scambio di messaggi tra un terminale mobile, un access point e un server secondo una forma di realizzazione della presente invenzione.
DESCRIZIONE DETTAGLIATA DELL'INVENZIONE
Mentre la presente invenzione è descritta con riferimento alle forme di realizzazione illustrate di seguito e rappresentate nelle figure, va notato che la presente invenzione non è limitata alle forme di realizzazione particolari descritte nella seguente descrizione dettagliata e rappresentate nelle figure, ma piuttosto che le forme di realizzazione descritte esemplificano semplicemente i vari aspetti della presente invenzione, lo scopo della quale è definito dalle rivendicazioni. Ulteriori modifiche e variazioni della presente invenzione appariranno chiare all'uomo del mestiere da una lettura della descrizione precedente. La presente descrizione deve essere quindi considerata comprensiva di tutte dette modifiche e/o variazioni della presente invenzione, lo scopo della quale è definito dalle rivendicazioni.
In generale la presente invenzione riguarda un sistema di comunicazione fra dispositivi mobili e rete fissa o fra dispositivi mobili fra loro. In particolare, la presente invenzione riguarda un sistema di comunicazione eterogeneo in cui i dispositivi mobili usano tecnologie di comunicazione senza fili differenti, che possono essere basate sul protocollo IP o meno. Più in particolare, la presente invenzione riguarda un sistema di comunicazione che consente di instaurare, in modo trasparente all'utente, un canale virtuale su cui effettuare sessioni di lavoro su terminali mobili in grado di migrare tra tecnologie di comunicazione senza fili differenti o di spostarsi fra access point diversi, o di trasferire la sessione stessa su altri device.
In una forma particolare di realizzazione della presente invenzione il sistema di comunicazione consiste di tre parti come mostrato in figura 1: un sistema di server (1), un sistema di punti di accesso (indicati anche come "access point" nel corso della descrizione) (2) e un sistema di dispositivi mobili (3).
Il canale virtuale nella pila di protocolli ISO/OSI si posiziona tra il livello di trasporto (ove presente, mentre fornisce caratteristiche simili nei canali dove è presente solo il livello di rete, 3, o datalink, 2) e quello applicativo, offrendo, rispetto al TCP/IP, delle funzionalità aggiuntive in ambito mobile, che permettono di instaurare in ogni momento una comunicazione bidirezionale fra una qualsiasi coppia di nodi in modo indipendente dal loro indirizzo di rete e dal tipo di connessione utilizzata. Il canale virtuale rimane attivo anche in presenza di una migrazione, cioè nel caso in cui un dispositivo mobile cambi tipo connessione con l<'>access point (per esempio passando da una connessione Bluetooth a una connessione Wi-Fi), o la connessione passi da un access point ad un altro access point (con conseguente cambiamento di indirizzo di rete), o la connessione passi attraverso la sola rete IP (wired o wireless) oppure, ancora, uno degli endpoint del canale venga migrato da un dispositivo mobile ad un altro. L'access point si occupa di mantenere attivo il canale virtuale tra server e terminale mobile, scegliendo di volta in volta il canale di comunicazione wireless più opportuno, adattandone le caratteristiche di servizio e l’affidabilità a quelle richieste dal canale virtuale, nonché di reinstradare i dati da e verso reti non IP (ad esempio Bluetooth e ZigBee non supportano in modo nativo il protocollo IP). La comunicazione fra due dispositivi mobili qualsiasi è resa possibile dal fatto che il sistema di comunicazione assegna ad ogni utente un identificativo alfanumerico (d'ora in avanti chiamato UID), che rimane invariato nel tempo e non dipende dall'indirizzo di rete o fisico del dispositivo adottato. Inoltre ad ogni canale virtuale viene associato un identificativo unico (SID). I punti di accesso aggiornano una tabella che mappa il SID con l'indirizzo fisico dei dispositivi mobili presenti nelle vicinanze, mentre i server associano gli identificativi unici degli utenti (UID) con i SID dei canali virtuali e con l'elenco dei punti d'accesso aventi in gestione un particolare dispositivo mobile. Pertanto il server centrale per mezzo degli access point è in grado di eseguire 1'instradamento corretto dei dati scambiati. Gli access point del sistema consentono di adattare l'ultimo tratto del canale virtuale alle caratteristiche del protocollo wireless utilizzato, offrendo caratteristiche di servizio uniformi, associando l'end point del canale virtuale all'indirizzo fisico dei dispositivi collegati ed eventualmente bufferizzando i dati in caso di disconnessioni temporanee. Gli access point inoltre consentono al server di mantenere aggiornate le tabelle di instradamento dei canali virtuali, comunicando in continuazione ogni variazione dei SID associati ai device nei propri raggi d'azione.
La figura 1 mostra un esempio del sistema di comunicazione secondo la presente invenzione in cui i dispositivi mobili (3) comunicano con un access point (2) attraverso connessioni wireless come Bluetooth, Wi-Fi od ogni altro tipo di connessione a corto raggio. In alcune forme di realizzazione particolari della presente invenzione i dispositivi mobili (3) possono anche entrare direttamente in comunicazione con il server (1) senza passare dall'access point (2), utilizzando connessioni 2-3G. L'access point (2) è poi collegato al server (1) attraverso connessioni IP o anche tramite reti ad hoc wireless.
II sistema di server (1) può comprendere uno o più server centralizzati su cui viene installato un software che consente la gestione del sistema di comunicazione. Il sistema di server comprende anche uno o più database (4) in cui vengono memorizzati i dati rilevanti dei diversi utenti del sistema, nonché le informazioni riguardanti i canali virtuali aperti e le relative tabelle di instradamento . Ogni canale virtuale è identificato da numero casuale (SID), unico all'interno del sistema per tutta la vita del canale stesso ed è associato in modo univoco ad un utente (UID) al momento della creazione del canale. Mentre l'UID permette sempre di identificare in modo univoco il destinatario di un messaggio o di un pacchetto dati, il SID indica di volta in volta le informazioni necessarie per la sua consegna.
II server pertanto si occupa sia creare le sessioni su richiesta dei Client che vogliono entrare a far parte del sistema, sia di effettuare il routing corretto dei messaggi.
Durante la fase di inizializzazione di una sessione il server genera un SID da associare al canale appena instaurato e provvede ad autenticare attraverso un meccanismo standard il client, chiedendo l'UID dell'utente e verificandone le credenziali sul proprio database. La tabella di routing che associa UID con SID attivi viene aggiornata ogni qualvolta un canale viene creato o distrutto (operazione di logout da parte del client o timeout di connessione). Secondariamente il server aggiorna la tabella che associa ciascun SID con 1'identificativo dell’ultimo access point che ha avuto in carico il relativo client. In tal modo, sfruttando queste due tabelle di routing, ogni qualvolta arrivano dei dati destinati ad un particolare UID (da un'applicazione esterna o da un altro canale virtuale) il server è in grado dapprima di scegliere il SID corretto e, successivamente, di instradare i dati verso 1’access point cui attualmente è associato il device.
Il canale virtuale viene instaurato dal sistema di comunicazione durante la prima connessione del client, sia che avvenga direttamente tramite la rete IP (es. rete 2/3G) sia tramite un access point. In quest'ultimo caso 1’access point si limita a fare da relay dei pacchetti tra client e server finché la fase di setup non è conclusa, al termine della quale al canale viene assegnato un SID. Nel caso di coinvolgimento di un access point quindi, tutta la fase di setup (costituita comunque da un breve scambio di messaggi) deve avvenire senza migrazioni, in quanto non esiste ancora nessun canale virtuale.
Durante questa fase avviene l’autenticazione degli utenti, che può essere effettuata tramite un qualsiasi meccanismo standard: in sistemi a bassi requisiti di sicurezza può essere eseguita tramite l'invio di un pacchetto contenente username (UID)/password, mentre se è necessario un livello di sicurezza più elevato possono essere utilizzati meccanismi a sfida o basati su certificati. In particolare è possibile eseguire qualsiasi schema di autenticazione descritto in Simple Authentication and Security Layer (http://asg.web. cmu.edu/sasl/).
Inoltre, il sistema si occupa della consegna dei dati secondo le richieste dei vari utenti e della memorizzazione in un buffer dei messaggi diretti agli utenti non raggiungibili al momento dell'invio dei dati o per i quali non risulta nessun canale virtuale attivo, ovvero quando l'utente non è collegato tramite alcun device. Il sistema di server, attraverso la collaborazione degli access point, è in grado di conoscere il dispositivo ed il canale di connessione e pertanto può adattare anche il formato dei messaggi, così da ottimizzare svariati parametri, tra cui i costi di connessione. Ad esempio, se l'utente è collegato mediante un canale Wi-Fi gratuito può ricevere un messaggio arricchito da contenuti multimediali, mentre su cellulare collegato solo via rete 2/3G potrà scegliere di ricevere un messaggio solo testuale e compresso.
Inoltre, il sistema di server, in cooperazione con gli access point, gestisce la presenza degli utenti, intesa come insieme delle informazioni di stato che caratterizzano una particolare connessione. Alle tradizionali informazioni di un sistema di instant messaging, quali la raggiungibilità o meno, posizione dei dispositivi mobili (in modo diretto tramite push dal Client se dotato di ricevitore GPS, od in modo indiretto tramite le informazioni di posizione dell'access point utilizzato) , il tipo e configurazione hardware e software dei medesimi e il canale usato ecc. aggiunge dati quali "moods" e "avatar".
Il sistema di access point comprende uno o più access point (2) che sono connessi secondo il protocollo IP al sistema di server e comunicano con i dispositivi mobili per mezzo di varie tecnologie senza fili, quali ad esempio Bluetooth, WiFì od altre tecnologie.
Le funzioni dell'access point sono le seguenti: identificazione dei dispositivi mobili presenti nel raggio d'azione e selezione di quelli che supportano il protocollo descritto il sistema di comunicazione descritto dalla presente invenzione; 1-gestione della fase di inizializzazione del canale virtuale se si tratta della prima connessione del dispositivo; 2-ricezione segnali di tecnologie wireless diverse e loro adattamento, mediante anche trasformazioni di tipo software, in modo da rendere uniformi le caratteristiche del canale di comunicazione virtuale in ogni suo tratto (ad esempio reimbustamento pacchetti, frammentazione/deframmentazione, ritrasmissione, riordino); 3-bufferizzazione dei dati quando il dispositivo mobile non è immediatamente raggiungibile. Il firmware degli access point si occupa di identificare i dispositivi mobili presenti nelle prossimità, di segnalare la propria presenza e di gestire le sessioni aperte con il server. In pratica, detto software si occupa, in cooperazione con il server, dell'inizio della sessione, dello scambio dati in entrambe le direzioni durante la sessione, della migrazione e della chiusura. Più in dettaglio le operazioni che un access point effettua comprendono:
- ricerca dei dispositivi mobili che supportano il sistema di comunicazione descritto presenti nel proprio raggio d'azione. In una forma di realizzazione particolare in cui la comunicazione wireless avvenga utilizzando la tecnologia Bluetooth l'operazione consiste nella fase di Inquìry (ricerca dei dispositivi nelle vicinanze e scoperta del loro indirizzo fisico, il MAC address) e, successivamente nella fase di Service Discovery (SDP) per ciascun dispositivo, cioè nell'indagare quali applicazioni siano supportate dai dispositivi mobili, in modo da selezionare quelli che posso entrare a far parte del sisteraa;
- selezione del protocollo o dei profili di comunicazione e dei loro parametri più adatti per la comunicazione verso il dispositivo identificato, in quanto spesso i protocolli wireless a corto raggio supportano più modalità di comunicazione. In una forma di realizzazione particolare in cui ad esempio venga utilizzata la tecnologia Bluetooth si sceglie il profilo RFCOMM (emulazione di un canale seriale affidabile) e se ne scopre la sua maximum transmission unit (MTU) per frammentare in modo corretto i messaggi scambiati;
l'access point si connette con il dispositivo, il quale invia sempre un pacchetto di dati verso il server. Tale pacchetto permette all'access point di identificare il canale virtuale (SID) e di costruirsi man mano una tabella di corrispondenze tra SID e indirizzi fisici dei dispositivi. In questo modo l'access point può instradare in modo corretto i pacchetti ogni qualvolta arrivano dei dati su un canale virtuale. In una forma di realizzazione particolare in cui venga impiegata la tecnologia Bluetooth il tutto si riduce ad una Connect da parte dell'access point e a un invio di un pacchetto di dati da parte del dispositivo mobile ;
l'access point invia il pacchetto al server tramite una connessione IP, il quale provvederà a reinstradarlo verso la destinazione, oltre ad aggiornare le proprie tabelle di indirizzamento memorizzando l'access point che ha in gestione lo specifico canale virtuale;
l'access point può disconnettersi dal Client in ogni istante, per ottimizzare la comunicazione con altri Client. In forme di realizzazione particolare in cui ad esempio venga utilizzata la tecnologia Bluetooth vi sono delle limitazioni nel numero massimo di connessioni attive contemporaneamente per ogni dispositivo, fissate in sette;
quando il server ha dei dati da inviare ad un particolare dispositivo, li invia verso l'access point che ha in carico il canale virtuale, il quale provvede ad aprire una connessione verso il client se necessario e inviare il pacchetto;
durante il passaggio tra rete IP e canale wireless o viceversa l'access point provvede ad effettuare tutti i necessari reimbustamenti o conversioni di formato dei dati, frammentare o deframmentare i pacchetti, se richiesto dal canale, oltre che di effettuare eventuali ritrasmissioni in caso di errore o rilevare duplicati;
- nel caso di non disponibilità momentanea del Client, o di canale di comunicazione troppo lento, l'access point provvede a bufferizzare i pacchetti in attesa che vengano consegnati;
- durante lo scambio di dati con l'access point anche il software presente sul dispositivo mobile scopre in modo indiretto l'indirizzo fisico degli access point nelle vicinanze, in modo da poter iniziare una connessione in modo autonomo ogni qualvolta ha dei dati da inviare, senza dover aspettare gli access point. Tale opzione è richiesta in quanto la fase di discovery (Inventory per Bluetooth) può richiedere un elevato consumo di energia da parte del dispositivo mobile, limitandone l'autonomia.
Un caso particolare è la prima connessione eseguita con un Client quando non esiste alcun canale virtuale. Tale connessione può essere effettuata direttamente dal Client via rete IP o tramite un access point. In entrambi i casi avviene un breve scambio di messaggi composto da tre fasi:
- primo messaggio da parte del client in cui si richiede di creare una sessione in cui il Client presenta il proprio UID;
risposta del server, che sceglie un SID valido da questo punto in avanti per ogni messaggio scambiato; - validazione del canale di comunicazione, mediante un handshake di autenticazione mediante un qualsiasi meccanismo standard.
Se queste tre fasi sono eseguite tramite un access point, non vi può essere migrazione e 1'access point deve mantenere il canale collegato con il server sulla rete IP e quello wireless con il Client fino alla fine dell<1>autenticazione.
Seguendo lo schema descritto il server in ogni istante può avere più scelte possibili per inviare un pacchetto dati verso il clìent sul canale virtuale, il quale può essere contemporaneamente aperto su più access point o tramite la rete 2/3G. In questo caso il connettore mobile (anche detto: mobile connector) (12) sceglie il canale più opportuno in base alle preferenze dell'utente e al suo stato di presenza, gestendo eventuali ritrasmissioni in caso di mancata consegna. Detto mobile connector consiste in un modulo che, nel caso di più connessioni aventi il medesimo Session ID, è in grado di scegliere la connessione più opportuna in base a determinati parametri da ottimizzare, come ad esempio i costi di connessione.
La Figura 3 mostra un esempio della struttura di un access point secondo una forma di realizzazione della presente invenzione. L'access point comprende una pluralità di unità di ricezione (31) che servono per ricevere i segnali delle diverse tecnologie wireless. I segnali così ricevuti vengono elaborati da unità firmware (32) che li trasforma dal physical layer estraendo i pacchetti di dati codificati, portandoli al link layer. I pacchetti in uscita dall'unità firmware (32) vengono quindi elaborati da mezzi di trasformazione (33) che si occupano di adattare le caratteristiche di servizio del canale fisico wireless a quello virtuale (reimbustamento pacchetti, affidabilità mediante ritrasmissione e riordino pacchetti, frammentazione, ecc.). I mezzi di trasformazione sono rappresentati da software, ma in forme di realizzazione particolari della presente invenzione possono comprendere sia elementi software che elementi hardware. In uscita dall’access point i dati vengono elaborati da mezzi dì conversione (34) che convertono i dati in un formato adatto al protocollo IP per essere trasmessi verso il server o ricevuti da esso, effettuando un eventuale buffering quando il terminale mobile non è raggiungibile immediatamente. I mezzi di conversione (34) sono rappresentati da software, ma in forme di realizzazione particolari della presente invenzione possono comprendere sia elementi software che hardware. In ulteriori forme di realizzazione della presente invenzione l'access point comprende anche un'unità logica (35). In una forma di realizzazione della presente invenzione gli elementi di trasformazione (33) e gli elementi di conversione (34) sono parte dell'unità logica (35).
Il sistema di dispositivi mobili comprende uno o più dispositivi mobili che ospitano il software necessario per dialogare con gli access point sfruttando le tecnologie di comunicazione wireless a corto raggio messe a disposizione dai dispositivi stessi. In particolare i device sono in grado di: annunciare la propria presenza nel raggio d'azione ed associarsi con gli access point secondo lo schema tipico di ciascun protocollo wireless utilizzato; annunciare che supportano la creazione di canali virtuali secondo il protocollo descritto; accettare connessioni da parte degli access point e scambiare dei dati su questi canali. A titolo d'esempio, nel caso della tecnologia Bluetooth i client supportano il protocollo di Inquiry, il protocollo SDP (Service Discovery protocol) e un canale di comunicazione RFCOMM, mediante cui gli access point possono scoprire i device mobili, individuare quelli che supportano il corretto stack di protocolli e aprire una connessione.
Secondo la presente invenzione ad ogni utente viene associato un identificativo unico (UID) all'interno del sistema, che può essere utilizzato da altri utenti per inviare dati indipendentemente dal dispositivo utilizzato per la connessione e dal suo indirizzo fisico.
Secondo una forma di realizzazione della presente invenzione il sistema di comunicazione può operare sia su canali di comunicazione che offrono connettività IP in modo nativo (es Wi-Fi), sia su canali che non la offrono, come Bluetooth. Il software sull'access point, infatti, può tradurre verso la rete IP i pacchetti trasmessi nel canale senza fili, quale che sia il protocollo di trasporto utilizzato per inviare i dati dal dispositivo mobile all'access point.
Secondo una particolare forma di realizzazione della presente invenzione il dispositivo mobile può accedere direttamente alla rete IP per esempio attraverso una connessione GPRS e può connettersi direttamente al sistema dei server, dialogando con lo stesso protocollo applicativo utilizzato con un access point. In questo modo è possibile mantenere e migrare le sessioni anche quando non è disponibile alcun access point, ma solo la connettività IP offerta dal gestore di rete.
Secondo la presente invenzione, si instaura tra terminale mobile e server, a livello logico, un connessione virtuale "end to end", come se la comunicazione avvenisse su un unico canale uniforme, mentre a livello fisico la connessione è spezzata in due canali distinti ed eterogenei, tra i quali l'access point svolge la funzione di adattatore come mostrato nella figura 2.
In una forma di realizzazione particolare della presente invenzione il server è dotato di un connettore mobile, cioè di un modulo che, nel caso di più connessioni aventi il medesimo Session ID, è in grado di scegliere la connessione più opportuna in base a determinati parametri da ottimizzare, come ad esempio i costi di connessione. In una forma di realizzazione particolare, il server comprime il messaggio prima dell'invio. In un'ulteriore forma di realizzazione particolare, detto server utilizza una codifica binaria anziché testuale, in modo da risparmiare banda.
Lo scambio di informazioni fra gli elementi del sistema di comunicazione avviene per mezzo di pacchetti dati che vengono scambiati all'interno del canale virtuale tra terminale mobile, access point e connettore mobile sul server. In una forma di realizzazione particolare della presente invenzione il dispositivo mobile si collega attraverso un link locale con l'access point e i pacchetti fluiscono dal terminale mobile al connettore mobile sul server attraverso l'access point. In un'ulteriore forma di realizzazione particolare della presente invenzione, in mancanza di access point il terminale mobile può dialogare direttamente con il connettore mobile sul server utilizzando le connessioni dati offerte nativamente dalla rete cellulare; il connettore mobile sul server è visto dal client sul dispositivo come un access point con cui comunica tramite un canale trasmissivo differente.
I pacchetti che vengono scambiati nel canale virtuale fra gli elementi del sistema vengono anche chiamati "transport message" ed hanno lo scopo di assicurare la corretta consegna, cioè associare i dati al corretto canale, rivelarne la perdita, mantenere l'ordine od evitare duplicazioni, consentire eventuali frammentazioni e ricomposizioni durante il percorso e di trasportare i dati dell' applicazione, anche chiamati payload.
Un transport message è costituito da una serie di header che descrivono il formato del messaggio e dai dati veri e propri (il payload) come mostrato nella figura 4. In una forma di realizzazione particolare secondo la presente invenzione, il transport message contiene i seguenti header: un session id (SID)., che associa i dati ad un particolare canale virtuale; un request id (RID), che è un numero progressivo (scelto da un numero di partenza casuale sufficientemente grande in modo da evitare di essere indovinato) che garantisce la corretta consegna dei messaggi (ordine, perdita, duplicazione); la lunghezza del payload trasportato; altri header opzionali per trasportare informazioni caratteristiche del singolo canale di comunicazione. Gli header possono essere codificati attraverso una codifica binaria a campi fissi 0 una testuale stile header HTTP o utilizzando altri metodi di codifica noti.
1 dati trasportati (il payload), possono essere di formato e lunghezza arbitraria. Una lunghezza sufficientemente corta (poche centinaia di byte, qualche kbyte) è consigliabile per ottimizzare l'utilizzo dei canali wireless a banda limitata come le reti cellulari 2G o I link Bluetooth. Una possibile codifica dei dati è data da documenti o frammenti di documento XML, in quanto particolarmente versatile ed espandibile.
In una forma di realizzazione particolare secondo la presente invenzione, l'accesa point, che è fondamentale nello scambio dei messaggi, svolge le seguenti funzioni durante la comunicazione:
1. continuamente cerca nel proprio raggio d'azione terminali che hanno bisogno di comunicare, utilizzando i meccanismi di basso livello che i canali wireless utilizzati supportano. In una forma di realizzazione particolare in cui sia impiegata la tecnologia Bluetooth 1' access point effettua continuamente operazioni di "inquiry" e di "service discovery", in modo da individuare i terminali mobili con il Client installato e attivo.
In alcune forme di realizzazione è possibile che altri protocolli wireless non supportino in modo nativo meccanismi di discovery del tipo citato,·in tal caso è necessaria la cooperazione da parte del terminale mobile a livello applicativo utilizzando meccanismi di discovery noti (ad esempio UpnP, Zeroconf) o definiti ad hoc per il particolare canale di comunicazione;
2. ogni qualvolta viene individuato un terminale mobile, 1'access point tenta di connettersi. Una volta effettuata la prima connessione, la frequenza delle connessioni e il tipo di eventi che le provocano sono determinati da parametri di configurazione propri dell 'applicazione. Detti parametri possono essere sia statici che dinamici e sono negoziabili tra terminale e access point. Inoltre, dopo la prima connessione, il terminale viene a conoscenza dell'access point stesso, quindi anche il client può decidere di iniziare connessioni in modo autonomo, non appena ha messaggi da inviare. In ogni caso, lo scambio dei messaggi avviene sempre secondo le stesse modalità, descritte nei punti successivi, indipendentemente da chi ha iniziato la connessione;
3. se non vi è alcuna sessione applicativa attiva (è la prima connessione di questo Client con un qualsiasi access point), inizia una fase di creazione della sessione e di negoziazione dei suoi parametri. La sessione viene negoziata direttamente con il server, 1'access point si limita a veicolare i messaggi.
Lo scambio dei messaggi avviene secondo le modalità descritte dal protocollo nei passi successivi, senza nessun caso particolare. L'unica differenza è che il transport message non contiene un "session id", che verrà generato dal server centrale come prima risposta. Da questo momento in avanti ogni transport message inviato conterrà sia "session id" che "request id";
4 . ad ogni connessione il primo ad inviare un messaggio è sempre il terminale mobile, 1'access point risponde con un messaggio solo se ha dei dati, provenienti dal server, da inviare verso il client. Il messaggio viene inviato al server centrale, il quale lo elabora e invia una risposta, se necessario. Ogni access point mantiene una cache degli ultimi messaggi inviati da ciascun terminale mobile, in modo da non sovraccaricare il server con eccessive richieste doppie. L'access point mantiene pure una cache delle risposte ricevute dal server, nel caso in cui al momento della ricezione il Client non sia disponibile. In questo modo, se il Client si riconnette dopo un breve tempo, può fornire la risposta direttamente, senza reinterrogare il server. In questo modo l'access point, oltre a reinstradare i messaggi, svolge il ruolo di buffer tra il link wireless a corto raggio e la connessione di rete IP, ovviando alle continue disconnessioni tipiche delle reti a corto raggio quando gli utenti si spostano;
5. ogni client può avere al massimo un messaggio inviato a cui attende risposta (con request id RID). Se invia il successivo, con request id RID+1, il server risponde immediatamente al messaggio con request id RID, anche con un payload vuoto se necessario. Tale messaggio di risposta ad ogni RID è sempre necessario, in quanto è l'unico modo di ricevere un acknowledge da parte del server;
6. se il terminale ha nuovi messaggi in uscita, mentre è in attesa della risposta ai transport message RID e RID+1, aspetta per non complicare eccessivamente lo stato mantenuto sia nel client che nel server;
7. ad ogni connessione il client invia come primo messaggio l'ultimo inviato a cui non ha ricevuto risposta (questo perché non ha modo di sapere se ha mai raggiunto il server, il request id permetterà di scoprire eventuali duplicati). Ciò permette anche di ricreare la cache dei messaggi nel caso di passaggio ad un altro access point;
8. ricevuta una risposta, se il Client non ha nulla da inviare e non ha altri messaggi già in attesa di risposta, invia comunque un transport message vuoto, per mantenere aperta la sessione;
9. l'access point può disconnettere la connessione in ogni istante, in modo da rendersi disponibile per altri terminali se le risorse lo dovessero richiedere.
10.Se si ricevono dei transport message con RID fuori sequenza (ad esempio le coppie RID e RID+n con n>1 o RID-n e RID), significa che Client o server hanno avuto dei problemi durante la sessione applicativa e avviene la risincronizzazione creando una nuova sessione;
11.la sessione applicativa viene chiusa su richiesta del Client o automaticamente dal server in base a parametri concordati durante la configurazione iniziale (ad esempio dopo un certo numero di minuti di inattività).
In una forma di realizzazione particolare della presente invenzione l'access point funziona solo come reinstradatore dei messaggi, traducendoli dal canale wireless a corto raggio alla rete IP, e come cache temporanea, pertanto lo stato del canale virtuale è completamente racchiuso su server e client. Client e server, infatti, memorizzano gli ultimi messaggi inviati e ricevuti in un buffer di lunghezza configurabile (di solito due), in modo da rilevare duplicati in ricezione, pacchetti fuori ordine e rinviare i pacchetti persi. In particolare il buffer deve essere dimensionato in modo tale che tutti i pacchetti trasmessi e di cui non si è ancora ricevuto un acknowledge siano memorizzati in almeno uno degli endpoint.
Questo fa sì che il client possa effettuare un handover completamente trasparente tra un access point e l'altro e quindi con la stessa rete cellulare, che può essere vista come un access point particolare. Il fatto che comunque Client e server abbiano sempre memorizzato il completo stato del canale virtuale, fa sì che sia possibile cambiare access point e canale di connessione in qualsiasi momento, senza perdita di pacchetti sugli access point stessi in quanto questi pacchetti possono essere ritrasmessi dopo la migrazione.
Detto handover avviene senza necessità di particolari accorgimenti e può anche avvenire tra canali wireless differenti (es. tra Wi-Fi e Bluetooth o tra Bluetooth e Zigbee). Al massimo, durante l'handover, il client duplica l'invio di un messaggio, che, grazie al request id contenuto, viene prontamente individuato e gestito dal server.
Lo stato relativo al messaggio di trasporto è memorizzato sia su server che Client e comprende un numero molto limitato di informazioni, sia per venire incontro alle esigenze computazionali di terminali mobili e server, sia per semplificare e rendere più robusta la logica delle eventuali ritrasmissioni, molto probabili in ambienti wireless nomadici. In una particolare forma di realizzazione secondo la presente invenzione, in cui client e server possono avere al massimo un messaggio senza acknowledge in uscita, i dati memorizzati che caratterizzano lo stato sono i seguenti:
- il terminale memorizza al massimo gli ultimi due messaggi inviati (RID e RID+1) e li invia nuovamente ad ogni nuova connessione finché non riceve una risposta;
il server memorizza, per ogni terminale, gli ultimi due messaggi ricevuti, per evitare doppioni, e l'ultimo messaggio inviato, per poterlo inviare nuovamente se viene ricevuta nuovamente la richiesta ad esso associata.
In altre forme di realizzazione della presente invenzione è possibile memorizzare anche un numero maggiore di messaggi sia sul server che sul terminale, aumentando in questo modo la finestra di trasmissione.
Grazie alla possibilità di handover, ogni Client può avere una sessione applicativa aperta contemporaneamente su più canali fisici. In una forma di realizzazione particolare il Client può essere connesso mediante rete cellulare e uno o più access point. Sia il Client che il server, in questo caso, possono scegliere il canale fisico su cui inviare ogni singolo messaggio, in base a parametri prefissati, concordati alla creazione del canale virtuale o durante la sua stessa vita mediante opportune segnalazioni.
In un'ulteriore forma di realizzazione della presente invenzione, un gruppo di access point geograficamente prossimi tra loro e collegati in rete fra di loro può coordinarsi per ottimizzare le connessione in modo da distribuire il carico ed eventualmente far fronte a limitazioni imposte dal protocollo utilizzato per il link locale (ad esempio, Bluetooth pone delle limitazioni severe sul numero massimo di connessioni contemporanee). In una forma di realizzazione secondo la presente invenzione, il sistema di comunicazione permette di creare un canale virtuale da un server centrale verso terminali mobili che accedono alla rete via canali wireless eterogenei. Tale canale è basato sullo scambio di messaggi e ha proprietà di consegna dei messaggi simili a quelle di un canale TCP: garanzia consegna, ordine corretto, integrità, bidirezionalità completa. Qualsiasi applicazione, che richiede un substrato di comunicazione caratterizzato da una o più di dette proprietà, può utilizzare il sistema descritto. In una forma di realizzazione particolare della presente invenzione, è possibile trasportare i messaggi utilizzando il protocollo XMPP (eXtensible Messaging and Presence Protocol). Tale protocollo fornisce le primitive per una comunicazione in quasi reai time fra nodi distribuiti in rete, con scambio bidirezionale, indipendente dall'indirizzo IP, di frammenti di documento XML. L 'infrastruttura di comunicazione descritta dal protocollo si basa su una federazione di server, cui si collegano i Client su PC o terminali mobili. Ogni nodo, ovvero ogni Client, server o servizio presente sul server, che partecipa alla rete è caratterizzato da un identificativo unico, denominato Jabber ID, che è composto in modo simile alla mail dal nome utente e dall'indirizzo del server cui è attestato. Questo identificativo unico denominato Jabber ID consente uno schema di indirizzamento più versatile del protocollo IP e può essere adottato come UID all'interno del sistema. La federazione di server e l'identificativo unico dei nodi permettono di costituire quella che viene denominata una overlay network, ovvero una rete che astrae le complessità della rete IP sottostante, permettendo una semplice ed efficace comunicazione tra i nodi che vi fanno parte. Nelle implementazioni attuali il requisito indispensabile per far parte della rete XMPP è avere accesso ad un collegamento IP con connessione stabile. Questo requisito non è disponibile né nelle reti wireless a corto raggio (ad esempio Bluetooth e ZigBee non forniscono connettività IP), né completamente nella connessione 2/3G delle reti cellulari, in quanto il collegamento è soggetto a disconnessioni.
Il canale di comunicazione proposto pertanto è il veicolo ideale verso terminali mobili di XMPP, in quanto offre un substrato di scambio messaggi affidabile anche nel caso in cui non sia presente una rete IP o dove la rete IP non abbia le caratteristiche di affidabilità richieste. Per integrare il canale proposto con XMPP è sufficiente, come mostrato nella figura 5, affiancare ad un server XMPP (10) il server centrale di coordinamento delle connessioni, cioè il mobile connector (12). In questa particolare forma realizzativa il Jabber ID coincide con lo UID che caratterizza gli utenti del sistema, avendo le stesse caratteristiche di univocità e indipendenza dall'indirizzo IP. Tutti i messaggi XMPP vengono veicolati in modo trasparente verso i terminali mobili e i terminali mobili possono eseguire Client integrati con la rete XMPP. Il mobile connector (12) si limita ad associare a ciascuna sessione XMPP di un Jabber ID un canale virtuale che veicola transport message:
imbusta tutti i messaggi XMPP verso i client mobili in transport message opportuni, aventi opportuni session id e request id;
- estrae tutti i messaggi ricevuti dai terminali mobili, passandoli al server XMPP associato all'interno della corretta connessione XMPP.
In tal modo ogni terminale mobile può dialogare con tutti i client XMPP presenti nella rete, come se fosse esso stesso collegato alla rete IP.
In un<,>ulteriore forma di realizzazione preferita, il server XMPP gestisce più sessioni associate al Jabber ID (che coincide con il UID). E' il caso in cui il server si trova a scegliere tra diversi SID associati allo steso UID. E' lo scenario che si verifica quando un utente ha più connessioni aperte contemporaneamente, su più dispositivi (ad esempio, desktop e cellulare).
In una forma di realizzazione particolare della presente invenzione lo scambio di messaggi tra terminale mobile, access point e server centrale avviene secondo scenari descritti qui di seguito. In questa forma di realizzazione la comunicazione tra access point e terminale mobile avviene su un collegamento Bluetooth di tipo RFCOMM e tra access point e server mediante un collegamento IP. Scenari analoghi a quelli presentati di seguito valgono anche per tecnologie wireless diverse dal Bluetooth.
Primo scenario, con connessione tra un access point e un terminale in due fasi, in cui è l'access point che si connette al client come mostrato nella figura 6:
1.l<'>access point individua un terminale facendo delle inquiry Bluetooth; tramite SDP (Service Discovery Protocol) scopre che supporta il sistema di messaggistica e apre una connessione RFCOMM;
2. inizia un normale scambio di messaggi con il server all'interno di una sessione precedentemente aperta. Il terminale inizia ad inviare un transport message con request id RIDI (non vi sono altri messaggi in uscita e che aspettano risposta). L'access point invia il messaggio al server, il quale sempre tramite l'access point, risponde;
3. la conversazione continua finché, dopo un timeout senza risposte dal server (al messaggio con RID2), l'access point disconnette il client;
4. l'access point riceve una riposta dal server al messaggio con RID2;
5.l'access point prova a connettersi al Client corrispondente alla sessione cui appartiene RID2 e inizia un nuovo scambio di messaggi fino alla richiesta RID3.
Dopo un timeout senza risposte da parte del server, l'access point termina nuovamente la connessione RFCOMM, per liberare risorse per connessioni con altri terminali. Secondo scenario, con connessione in due fasi, in cui la seconda è iniziata dal terminale mobile, come mostrato nella figura 7:
7. come punto 1 precedente;
8. come punto 2 precedente;
9. come punto 3 precedente;
10.il Client deve inviare un messaggio (es: user input da parte dell'utente) e pertanto prova a connettersi all'ultimo access point con cui ha interagito;
11.inizia un nuovo scambio messaggi nelle modalità del protocollo descritto. L'access point ignora il messaggio con RID2, in quanto già inviato al server, mentre invia il secondo messaggio con RID3, in quanto nuovo. Questo ultimo messaggio forza la risposta del server che viene recapitata al Client sul terminale; 12.dopo un timeout l'access point decide di chiudere la connessione RFCOMM;
Terzo scenario in cui la connessione è spezzata in due e la seconda interazione avviene con un accesa point differente, come mostrato nella figura 8:
13.come punto 1 precedente;
14.come punto 2 precedente;
15.come punto 3 precedente;
16.il terminale esce dal raggio d'azione dell'access point 1 ed entra nel raggio d'azione dell'access point 2, il quale apre un canale RFCOMM;
17.inizia un normale scambio di messaggi e il client invia l'ultimo messaggio senza risposta come prevede il protocollo. L'access point 2 vede per la prima volta questo messaggio e lo invia al server, il quale riconosce il duplicato mediante il request id. Se il server avesse dei dati disponibili per il terminale a questo punto potrebbe inviarli sul nuovo canale logico aperto tramite l'access point 2.
Dopo un timeout l'access point 2 chiude la connessione. In una forma di realizzazione particolare la presente invenzione può essere utilizzata per realizzare un sistema di instant messaging da e verso terminali mobili. Il sistema di messaging è testuale, ma in forme particolari di realizzazione può riguardare anche file di altro tipo. Attraverso il server fisso ogni client mobile può contattare altri client mobili conoscendone solo 1'identificativo all'interno del sistema e non l'indirizzo fisico. Il server memorizza i messaggi mentre i destinatari sono offline o temporaneamente irraggiungibili e li consegna non appena diventano raggiungibili. Sul modello dei sistemi di instant messaging tradizionali, può diffondere anche messaggi di presenza (stato del Client) e contenuti multimediali (file).
I device possono memorizzare gli identificativi degli altri terminali mobili ed organizzare elementi articolati come rubriche o liste contatti.
Gli access point locali consentono di sfruttare un canale di comunicazione a basso costo o di banda più larga. Attraverso il server centrale è possibile estendere il sistema di messaging a qualsiasi client su rete fissa, mettendo in contatto Client tradizionali e legacy su PC con il Client installato su terminale mobile.
Una forma particolare della presente invenzione consiste in un sistema di distribuzione di informazioni e di contenuti multimediali.
Un trend recente per la distribuzione di informazioni e contenuti multimediali è l'utilizzo di feed RSS, ovvero del trasferimento di file XML che contengono una descrizione strutturata dei contenuti prodotti da un sito web. Tali contenuti possono essere di vario genere, come ad esempio news, articoli, immagini, filmati, file audio e, oltre all'indirizzo su cui reperire la risorsa indicata, nel documento RSS sono presenti anche alcuni metadati come autore, una breve descrizione, data pubblicazione. I documenti RSS sono normalmente resi disponibili via HTTP e i Client che consumano le informazioni controllano periodicamente se vi sono nuovi contenuti disponibili scaricandone una nuova versione. Tale approccio non si adatta ai terminali mobili, in quanto un continuo polling del file RSS incide sui costi di connessione e sulla durata delle batterie.
In una forma di realizzazione particolare della presente invenzione è possibile costruire un aggregatore di feed RSS su rete fissa e utilizzare il sistema di messaggistica secondo la presente invenzione per inviare gli aggiornamenti solo quando essi sono effettivamente disponibili, non consumando pertanto byte in un inutile polling da parte del Client. In un'ulteriore forma di realizzazione della presente invenzione inoltre, attraverso il server centrale, l'aggregatore può conoscere in ogni istante qual è il canale di connessione disponibile per ciascun Client e scegliere di volta in volta di inviare esclusivamente i contenuti multimediali adatti (ad esempio filmati e immagini solo quando è disponibile un link locale a basso costo).
Un'ulteriore forma di realizzazione della presente invenzione consiste nell'erogazione di servizi in modalità ASP (Application Service Provider).
Il sistema della presente invenzione permette di instaurare un canale di comunicazione a livello applicativo basato sullo scambio di messaggi, con comunicazione iniziabile in modo indipendente sia dal Client che dal server (una volta che il Client ha aperto una sessione). Essendo l'elemento base di trasporto utilizzato (il messaggio) indipendente dai dati che trasporta, è possibile veicolare dati strutturati più complessi dei semplici messaggi di testo. In particolare, si può inglobare in un messaggio un documento in formato XML che descrive un form o una tabella dati da visualizzare sul client e da presentare all'utente. Un qualsiasi fornitore di servizi può preparare, o generare a runtime, sul proprio server di rete un insieme di documenti XML che verranno inviati ai client mobili, attraverso il server centrale; tramite questi documenti l'utente avrà la facoltà di interagire con l'applicazione del fornitore di servizi utilizzando un paradigma equipollente ai form web. L'utente, infatti, compilerà sul proprio terminale mobile il form/documento ricevuto e lo rinvierà al fornitore del servizio in un nuovo messaggio. Anche la risposta di conferma finale del server sarà un documento XML analogo ai form, contenente dati strutturati (tabelle, liste...) e utilizzabile per generico data reporting.
Utilizzando la presente invenzione, un fornitore di servizi può concentrarsi nello sviluppo della logica applicativa solo sul proprio server e fornire una gamma elevata di servizi eterogenei senza doversi preoccupare di adattare il proprio servizio alle differenze dei Client presenti sulle numerose tipologie di terminali mobili e senza doversi occupare delle problematicità delle comunicazioni wireless, perché il sistema proposto assicura una comunicazione affidabile, a basso costo e sicura .
I servizi disponibili vengono visualizzati sul Client come dei contatti nella rubrìca, e possono essere continuamente aggiornati (aggiunti/eliminati) dal server centrale .
L'interazione con un servizio può essere iniziata da: - dall'utente scegliendo un servizio presente nella propria rubrica;
- dal fornitore di servizi nel caso dell'invio di notifiche/allarmi ;
- dal server centrale in base alle esigenze di chi gestisce il servizio di trasporto.
Un'ulteriore forma di realizzazione della presente invenzione consiste in sistema di georeferenziazione e di fornitura di servizi che sfruttano informazioni collegate a detta georeferenziazione.
La disponibilità di punti d'accesso locali wireless a corto raggio, continuamente in comunicazione con il server, permette di localizzare con una discreta precisione i terminali aventi un Client installato, anche se privi di sistemi di posizionamento, quale, ad esempio, GPS . Ad esempio, i dispositivi che comunicano mediante tecnologia Bluetooth hanno un raggio d'azione di circa 10 metri, vale a dire una zona geografica sufficientemente ristretta da soddisfare le esigenze di precisione nella localizzazione tipiche di usi commerciali quali:
• servizi informativi contestualizzati alla posizione dell'utente
· servizi di invio di pubblicità georeferenziata
Il sistema di posizionamento dell'utente, secondo la presente invenzione, può essere utilizzato in modo completamente indipendente dal GPS o in modo complementare. Il GPS, infatti, non può fornire una posizione precisa dell'utente quando il medesimo si trova all'interno di un edificio, mentre la presenza di uno o più access point all'interno dell'edificio stesso consente di stimare la posizione del terminale (associato ad un particolare utente) con buona precisione. Il sistema di trasporto secondo la presente invenzione può pertanto essere utilizzato per veicolare verso altri client/servizi la posizione di un dispositivo. In particolare l'informazione relativa alla posizione può essere utilizzata per arricchire l'informazione di presenza associata a ciascun Client e utilizzata per la distribuzione di contenuti od eventi legati alla posizione .
Il server centrale inoltre può aggiornare i servizi presenti nella rubrica in base alla posizione acquisita del Client, fornendo così solo i servizi più adatti (o quelli disponibili). Tale aspetto è particolarmente vantaggioso per i terminali mobili con schermi di dimensioni ridotte e input limitato, in quanto consente di presentare all'utente solo i servizi rilevanti nel suo contesto. Inoltre l'aggiornamento automatico dei servizi disponibili velocizza e semplifica l'interazione con l'utente, in quanto solo i servizi rilevanti per la posizione dell'utente sono selezionabili.
Un'ulteriore forma di realizzazione della presente invenzione consiste in un sistema di pervasive computing. L'elevata disponibilità di dispositivi mobili con interfacce di comunicazione a corto raggio e il costo sempre più basso dei microcontrollori permettono, in teoria, di costruire ambienti in cui gli utenti possono "dialogare" con gli oggetti presenti. Le applicazioni possibili vanno dal controllo di macchine utensili, all'interfacciamento di terminali con pannelli di controllo, all'accesso a servizi legati ad un particolare posto {stazioni, aeroporti, centri commerciali, musei ...).
L'access point locale secondo la presente invenzione permette di accedere in modo automatico a tutte le categorie di servizi locali sopra descritti. In particolar modo, secondo una forma di realizzazione della presente invenzione, quando un terminale mobile si avvicina ad un access point, l'access point riconosce 1 'identificativo dell'utente e in modo autonomo, oppure coordinandosi con il server centrale, provvede a notificare al terminale mobile i servizi locali che l'utente può utilizzare. Questo può avvenire in modo automatico e non richiesto (push dei servizi) o dietro una richiesta esplicita dell'utente (service discovery). In una forma di realizzazione particolare della presente invenzione, il server aggiorna una rubrica sulla base della posizione del dispositivo mobile; in detta rubrica vengono memorizzati tutti i servizi cui può accedere l'utente.
Inoltre, secondo la presente invenzione, attraverso la connessione locale l'utente può interagire con i servizi scoperti utilizzando il Client sul proprio terminale mobile, inviando comandi o scambiando dati; 1'1'interazione può continuare anche da remoto (es. controllo remoto di dispositivi, allarmi) attraverso i mezzi di comunicazione che il sistema offre.
In un'ulteriore forma di realizzazione della presente invenzione l'interazione può essere esclusivamente locale e l'access point che offre servizi può non essere collegato ad alcun server centrale di coordinamento. Questa configurazione è vantaggiosa guando si vogliono offrire servizi di interesse generale ad utenti anonimi o guando si devono controllare (solo in locale) device in posizioni difficilmente raggiungibili e cablabili. In questo caso le credenziali degli utenti autorizzati a compiere operazioni possono essere memorizzate direttamente sull'access point locale.
Alcuni canali di comunicazione a corto raggio hanno schemi di comunicazioni proprietari che permettono di scambiare informazioni in modo difficilmente replicabile al di fuori del link point to point tra access point e terminale. Ad esempio, la tecnologia Bluetooth offre meccanismi di scambio di contenuti multimediali basati sul protocollo OBEX. OBEX non ha il concetto di routing del contenuto, in quanto il destinatario di un messaggio multimediale scambiato mediante OBEX può essere solo l'altro endpoint della comunicazione Bluetooth. Questo rende di fatto impossibile distribuire a distanza contenuti multimediali utilizzando uno scambio OBEX. Molti cellulari, per limitazioni imposte dai costruttori e dai gestori telefonici, però possono scambiare i contenuti multimediali con altri cellulari solamente tramite OBEX o MMS. La comunicazione gratuita quindi è apparentemente limitata ad un corto raggio.
In una forma di realizzazione della presente invenzione l'access point, in modo autonomo, porta a termine con il terminale mobile tutte le operazioni proprietarie del canale di comunicazione, come ad esempio uno scambio di messaggi OBEX. L'access point quindi scambia contenuti multimediali con il cellulare, associandoli all'identificativo fisico del terminale caratteristico del canale di comunicazione (ad esempio MAC address). L'access point tiene traccia anche della corrispondenza tra 1'identificativo del terminale all'interno del canale virtuale e quello fisico del terminale. Sfruttando questa corrispondenza può:
- se riceve dei file dal terminale mobile, può segnalare la loro ricezione al server e indicare qual è la corretta sessione applicativa cui associarli;
- il server può compiere un'azione predefinita, come memorizzare i file in una area di proprietà dell'utente, o inviare al terminale mobile un messaggio in cui si chiedono le istruzioni per gestire i file ricevuti (ad esempio l'indirizzo, di posta web o altro, a cui inviarli).
Concludendo, il sistema descritto da quest'invenzione consente, mediante l'utilizzo di un particolare punto di accesso di rete, di instaurare canali di comunicazione virtuali tra dispositivi mobili ed un server o fra device mobili ed altri device mobili. Il sistema permette di migrare in modo trasparente gli endpoint del canale virtuale tra punti di accesso strutturalmente omogenei, ma dislocati in posizioni differenti, oltre che tra punti di accesso strutturalmente eterogenei, oppure ancora tra device di tipo differente. Il sistema descritto garantisce la continuità dei dati trasmessi all'interno del canale virtuale, garantendo la consegna in ordine di ogni pacchetto trasmesso ed eliminando eventuali duplicati .
In forme di realizzazione particolari il sistema può anche garantire l'integrità e la riservatezza dei dati consegnati, verificando in modo sicuro l'identità degli estremi del canale ed effettuando una crittazione end to end dei dati trasmessi. Questa è una caratteristica molto importante della presente invenzione. Nei protocolli a corto raggio la sicurezza è molto bassa. Al contrario, nelle connessioni basate sul protocollo IP è possibile utilizzare protocolli quali https e utilizzare il collegamento in modo sicuro, verificando, ad esempio, l'identità di chi ci invia un messaggio. In tecnologie a corto raggio come ad esempio Bluetooth ciò non è possibile. La presente invenzione grazie alla sovrastruttura a livello applicativo, che fa uso dei transport message, consente di incrementare la sicurezza anche in connessioni a corto raggio, appunto perché ogni canale virtuale è monitorato e verificato. In pratica, è possibile raggiungere anche per collegamenti a corto raggio come ad esempio Bluetooth, che hanno il vantaggio di essere economici, un livello di sicurezza paragonabile a quanto garantito da un protocollo SSL su rete IP, come ad esempio GPRS, che però presenta lo svantaggio di essere costoso.
La comunicazione all'interno di ciascun canale virtuale è basata sullo scambio di messaggi, ovvero di blocchi di dati di dimensione limitata indipendenti uno dall'altro secondo la logica REST (Representational State Transfer), tipica di applicazioni distribuite basate su protocolli stateless come HTTP.
In una forma particolare secondo la presente invenzione in cui la posizione dell'utente viene approssimata con la posizione del punto di accesso.
Ulteriori modifiche e variazioni della presente invenzione appariranno chiare all'uomo del mestiere da una lettura della descrizione precedente. La presente descrizione deve essere quindi considerata comprensiva di tutte dette modifiche e/o variazioni della presente invenzione, lo scopo della quale è definito nelle rivendicazioni.

Claims (36)

  1. RIVENDICAZIONI 1. Sistema di telecomunicazione comprendente uno o più server, uno o più punti di accesso e uno o più dispositivi mobili di comunicazione, in cui: i dispositivi mobili comunicano mediante un Client utilizzando una tecnologia wireless; un canale di comunicazione virtuale viene instaurato fra almeno un server e almeno uno dei dispositivi mobili, ogni punto di accesso comprende una pluralità di unità di ricezione, in cui ogni unità è utilizzata per ricevere un tipo di comunicazione wireless diverso; caratterizzato dal fatto che: ad ogni utente che utilizza un dispositivo mobile viene associato un identificativo unico (UID) e al canale virtuale viene associato un identificativo unico (SID) che consentono di mantenere il canale virtuale attivo anche in caso di migrazione.
  2. 2. Sistema di telecomunicazione secondo la rivendicazione 1, in cui i punti d'accesso aggiornano una tabella che mappa il SID con l'indirizzo fisico dei dispositivi mobili presenti nelle vicinanze.
  3. 3..Sistema di telecomunicazione secondo la rivendicazione 1, in cui i server mappano gli identificativi unici degli utenti (UID) con i SID dei canali virtuali e con l'elenco dei punti d'accesso aventi in gestione un particolare dispositivo mobile.
  4. 4. Sistema di telecomunicazione secondo una delle rivendicazioni 1-3, in cui i dispositivi mobili comunicano con i punti di accesso per mezzo di una connessione wireless e i punti di accesso comunicano con i server per mezzo di una connessione IP.
  5. 5. Sistema di comunicazione secondo la rivendicazione 4, in cui il numero di identificazione dell'utente (UID) non cambia se l'utente che utilizza un dispositivo mobile cambia il punto di accesso con cui comunica e/o cambia il tipo di connessione wireless.
  6. 6. Sistema di comunicazione secondo la rivendicazione 4, in cui il canale virtuale resta attivo quando il dispositivo mobile cambia il tipo di tecnologia wireless di comunicazione con il punto di accesso.
  7. 7. Sistema di comunicazione secondo la rivendicazione 4, in cui il canale virtuale resta attivo quando il dispositivo mobile passa dalla connessione con un punto di accesso alla connessione con un punto di accesso diverso.
  8. 8. Sistema di comunicazione secondo la rivendicazione 1, in cui il canale virtuale resta attivo quando la comunicazione passa da un dispositivo mobile ad un altro dispositivo mobile.
  9. 9. Sistema di telecomunicazione secondo la rivendicazione 1, in cui il trasporto dei dati avviene attraverso lo scambio di messaggi.
  10. 10. Sistema di telecomunicazione secondo la rivendicazione 9, in cui i messaggi contengono uno o più header e i dati che devono essere trasmessi o ricevuti.
  11. 11. Sistema di telecomunicazione secondo la rivendicazione 9, in cui i messaggi contengono il numero di identificazione del canale virtuale (SID) e un numero di identificazione della richiesta (RID).
  12. 12. Sistema di telecomunicazione secondo la rivendicazione 9, in cui i messaggi contengono la lunghezza del messaggio stesso.
  13. 13. Sistema di telecomunicazione secondo la rivendicazione 9, in cui i messaggi contengono l'identificativo dell<1,>utente (UID) che li ha generati.
  14. 14. Sistema di telecomunicazione secondo la rivendicazione 1, in cui il punto di accesso è dotato di mezzi di memorizzazione che agiscono da buffer, su cui vengono memorizzati i messaggi provenienti dal server nel caso in cui il dispositivo mobile a cui i messaggi sono diretti non risulti accessibile.
  15. 15. Sistema di telecomunicazione secondo una delle rivendicazioni 1-4, in cui i punti di accesso comprendono mezzi di conversione che convertono i dati in un formato adatto al protocollo IP.
  16. 16. Sistema di telecomunicazione secondo la rivendicazione 1, in cui 1'identificativo del canale virtuale (SID) è valido fino a quando non viene terminato esplicitamente dal Client o dal server.
  17. 17. Sistema di telecomunicazione secondo la rivendicazione 9, in cui i punti di accesso inoltrano i messaggi provenienti dai dispositivi mobili ai server.
  18. 18. Sistema di telecomunicazione secondo la rivendicazione 1, in cui il server gestisce le sessioni e la consegna dei dati, autentica gli utenti, memorizza su un buffer i messaggi diretti a dispositivi mobili non raggiungibili e adatta il formato dei messaggi al canale utilizzato e al dispositivo mobile.
  19. 19. Sistema di telecomunicazione secondo la rivendicazione 4, in cui il set-up del canale di comunicazione tra dispositivi mobili e punto d'accesso prevede che sia il punto d'accesso a ricercare eventuali dispositivi mobili nelle vicinanze.
  20. 20. Sistema di telecomunicazione secondo la rivendicazione 19, in cui il set-up del canale di comunicazione avviene mediante un'operazione di Inquiry nel caso in cui venga utilizzato il protocollo Bluetooth.
  21. 21. Sistema di telecomunicazione secondo la rivendicazione 1, in cui ogni unità di ricezione comprende un firmware specifico del tipo di dati wireless ricevuti.
  22. 22. Sistema di telecomunicazione secondo una delle rivendicazioni 1-4, in cui vengono gestite più sessioni associate allo stesso identificativo cliente (UID) su canali virtuali (SID) differenti.
  23. 23. Sistema di telecomunicazione secondo una delle rivendicazione 1-4, in cui il sistema è utilizzato come sistema di instant messaging fra dispositivi mobili con tecnologie wireless diverse.
  24. 24. Sistema di telecomunicazione secondo una delle rivendicazioni precedenti, in cui al canale virtuale viene associata una sessione XMPP.
  25. 25. Sistema di telecomunicazione secondo una delle rivendicazioni 1-4 in cui il sistema è utilizzato come sistema di distribuzione di dati multimediali su dispositivi mobili con tecnologie senza fili diverse.
  26. 26. Sistema di telecomunicazione secondo la rivendicazione 25, in cui il server invia aggiornamenti dei dati multimediali al client del dispositivo mobile non appena questi sono disponibili.
  27. 27. Sistema di telecomunicazione secondo la rivendicazione 25, in cui il server invia i contenuti multimediali a seconda del tipo di canale virtuale di comunicazione esistente con il client del dispositivo mobile.
  28. 28. Sistema di telecomunicazione secondo una delle rivendicazioni 1-4, in cui il sistema eroga servizi in modalità ASP (Application Service Provider) sul canale virtuale di comunicazione a livello applicativo.
  29. 29. Sistema di telecomunicazione secondo una delle rivendicazioni 1-4, in cui il punto di accesso riconosce 1'identificativo dell'utente (UID) e provvede a comunicare sul canale virtuale servizi locali che l'utente può utilizzare.
  30. 30. Sistema di telecomunicazione secondo una delle rivendicazioni 1-4, in cui il server provvede a comunicare sul canale virtuale servizi locali o remoti che l'utente può utilizzare.
  31. 31. Sistema di telecomunicazione secondo la rivendicazione 1, in cui il server ricava dalla posizione del punto di accesso la posizione dell'utente del dispositivo mobile e invia al dispositivo mobile contenuti legati alla posizione.
  32. 32. Sistema di telecomunicazione secondo una delle rivendicazioni 1-4, in cui il punto di accesso associa messaggi OBEX a un canale virtuale e utilizzando OBEX invia contenuti multimediali originati da un server e destinati ad un particolare UID.
  33. 33. Sistema di telecomunicazione secondo la rivendicazione 9, in cui le connessioni sono effettuate utilizzando un protocollo di crittografia end-to-end sui singoli messaggi.
  34. 34. Sistema di telecomunicazione secondo la rivendicazione 9, in cui il server compire i messaggi prima dell'invio e/o utilizza una forma di codifica binaria .
  35. 35. Sistema di telecomunicazione secondo la rivendicazione 22, in cui ad ogni nodo è associato un identificativo unico, denominato Jabber ID (JID).
  36. 36. Sistema di telecomunicazione secondo la rivendicazione 35, in cui un nodo può essere un client, un server o un servizio presente sul server,
IT000067A 2007-10-29 2007-10-29 Sistema di comunicazione per terminali mobili con accesso wireless multicanale ITRA20070067A1 (it)

Priority Applications (4)

Application Number Priority Date Filing Date Title
IT000067A ITRA20070067A1 (it) 2007-10-29 2007-10-29 Sistema di comunicazione per terminali mobili con accesso wireless multicanale
AT08845760T ATE509489T1 (de) 2007-10-29 2008-10-29 Kommunikationssystem für mobile endgeräte mit drahtlosem mehrkanal-zugang
EP08845760A EP2223558B1 (en) 2007-10-29 2008-10-29 Communication system for mobile terminals with multichannel wireless access
PCT/IB2008/003764 WO2009056989A2 (en) 2007-10-29 2008-10-29 Communication system for mobile terminals with multichannel wireless access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT000067A ITRA20070067A1 (it) 2007-10-29 2007-10-29 Sistema di comunicazione per terminali mobili con accesso wireless multicanale

Publications (1)

Publication Number Publication Date
ITRA20070067A1 true ITRA20070067A1 (it) 2009-04-30

Family

ID=40314032

Family Applications (1)

Application Number Title Priority Date Filing Date
IT000067A ITRA20070067A1 (it) 2007-10-29 2007-10-29 Sistema di comunicazione per terminali mobili con accesso wireless multicanale

Country Status (4)

Country Link
EP (1) EP2223558B1 (it)
AT (1) ATE509489T1 (it)
IT (1) ITRA20070067A1 (it)
WO (1) WO2009056989A2 (it)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143441A (zh) * 2010-07-01 2011-08-03 华为技术有限公司 一种消息处理方、装置和应用服务器
US20140235170A1 (en) * 2013-02-21 2014-08-21 Tencent Technology (Shenzhen) Company Limited Methods and systems for connecting multiple devices online

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146636B2 (en) * 2000-07-24 2006-12-05 Bluesocket, Inc. Method and system for enabling centralized control of wireless local area networks
GB2367980B (en) * 2000-10-09 2004-03-17 Ericsson Telefon Ab L M Mobile hosts
KR100680730B1 (ko) * 2005-02-18 2007-02-09 한국정보통신대학교 산학협력단 다종 디바이스간의 핸드오프 시스템 및 방법 그리고 그에적용되는 sip 서버 및 sip 서버의 동작방법
US20080262901A1 (en) * 2005-10-21 2008-10-23 Feeva Technology. Inc. Systems and Method of Network Operation and Information Processing, Including Data Acquisition, Processing and Provision, Including Data Acquisition, Processing and Provision and/or Interoperability Features

Also Published As

Publication number Publication date
WO2009056989A2 (en) 2009-05-07
WO2009056989A3 (en) 2009-06-18
ATE509489T1 (de) 2011-05-15
EP2223558A2 (en) 2010-09-01
EP2223558B1 (en) 2011-05-11

Similar Documents

Publication Publication Date Title
Bello et al. Network layer inter-operation of Device-to-Device communication technologies in Internet of Things (IoT)
CN101512974B (zh) Zigbee/ip网关
EP3178205B1 (en) Data transfer in a system of connected things
JP2007535257A (ja) プロキシミティ及びアドホックネットワークにおいてセキュリティを提供するための方法及びシステム
CN101600224B (zh) 无线数据卡支持多个pdp上下文的实现方法及无线数据卡
US9119020B2 (en) Method and apparatus for discovering wireless devices
US20120178460A1 (en) Bypass routing to a mobile device
US7372868B2 (en) Mobile agent connectivity
CN103430621A (zh) 在近场通信对等通信环境中提供网络协议(ip)数据通信的方法和系统
CN104202370A (zh) 移动终端及其远程控制方法、系统、服务器及远程控制端
KR20100103639A (ko) 다중 무선 네트워크에 동시 액세스하기 위한 장치 및 방법
WO2023000940A1 (zh) 数据处理方法、装置、网元设备、存储介质及程序产品
US8180825B2 (en) Traffic differentiated network services
CN102035813A (zh) 端到端呼叫的实现方法、端到端呼叫终端及系统
WO2023000936A1 (zh) 一种数据处理方法、网元设备以及可读存储介质
EP1678886A1 (en) Method and devices for relayed peer-to-peer communications between terminals in mobile networks
CN110430551A (zh) 一种基于quic技术的汽车数据传输方法及系统
JP2010263576A (ja) 接続管理装置及び接続管理方法
CN110771117B (zh) 一种采用面向id的网络的会话层通信
CN112333281A (zh) 一种数据传输方法及装置
ITRA20070067A1 (it) Sistema di comunicazione per terminali mobili con accesso wireless multicanale
US8036218B2 (en) Technique for achieving connectivity between telecommunication stations
Chen Cafnet: A carry-and-forward delay-tolerant network
CN110474781A (zh) 一种组播数据转发的方法及装置
KR101029259B1 (ko) 서로 다른 wpan 간의 통신 연결 시스템 및 방법