06 Service Discovery e Gestione di Sessione in Sistemi...

58
Discovery e Sessione - Sistemi Mobili M 1 1 Sistemi Mobili M Alma Mater Studiorum - Università di Bologna CdS Laurea Magistrale in Ingegneria Informatica II Ciclo - A.A. 2014/2015 Corso di Sistemi Mobili M (8 cfu) 06 Service Discovery e Gestione di Sessione in Sistemi Convergenti Docente: Paolo Bellavista [email protected] http://lia.disi.unibo.it/Courses/sm1415-info/ http://lia.disi.unibo.it/Staff/PaoloBellavista/

Transcript of 06 Service Discovery e Gestione di Sessione in Sistemi...

Page 1: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M 1 1

Sistemi Mobili M

Alma Mater Studiorum - Università di Bologna

CdS Laurea Magistrale in Ingegneria Informatica

II Ciclo - A.A. 2014/2015

Corso di Sistemi Mobili M (8 cfu)

06 – Service Discovery e Gestione di

Sessione in Sistemi Convergenti

Docente: Paolo Bellavista

[email protected]

http://lia.disi.unibo.it/Courses/sm1415-info/

http://lia.disi.unibo.it/Staff/PaoloBellavista/

Page 2: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Agenda per le Prossime Settimane

Chairiti alcuni modelli e pattern di soluzione, vediamo ora come sono applicati in alcuni meccanismi/strumenti di supporto, che possono rientrare nella definizione data di mobile middleware

Alcune funzionalità fondamentali di mobile middleware:

Sincronizzazione dati (SyncML, …)

Resource/service discovery (Jini, SLP, UPnP, …)

Gestione sessione (SIP, IMS, …)

Mobile messaging

Gestione eventi (OMG DDS, …)

E funzionalità avanzate come:

Sharing di info/risorse in smart spaces, reti spontanee, …

Context aggregation&fusion da Cyber Physical Systems di ampia scala, FuturICT, …

2

Page 3: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Resource/Service Discovery

Talora si utilizza il termine in modo ampio per indicare sia discovery

vero e proprio, ma anche operazioni di configurazione necessarie

per accesso risorse/servizi e stesse richieste di risorse/servizi

Funzionalità di supporto chiave per ogni sistema aperto,

dinamico, debolmente accoppiato e peer-to-peer:

Configurazione automatica

Discovery risorse/servizi

Resource/service delivery

Principali standard e soluzioni per discovery:

Jini, Service Location Protocol (SLP), Universal Plug and Play

(UPnP), …

3

Page 4: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Funzionalità Chiave

Auto-configurazione Dispositivi devono configurare se stessi per partecipare a

offerta/richiesta di risorse e servizi Ad es., ma non solo, configurazione di indirizzo IP temporaneo nella

località corrente

Scoperta risorse/servizi disponibili

Chi offre risorse/servizi (chiameremo service provider) deve essere in grado di farne advertising Di quali risorse/servizi

Di come effettuare invocazioni, usando quali interfacce

Cliente deve essere in grado di trovare risorse/servizi (locali)

Accesso a risorse/servizi

Cliente deve essere in grado di comunicare con service provider, invocare servizi, passare parametri e ricevere eventuali risposte

Anche supporto ad autenticazione e autorizzazione

Importanza di avere buona affidabilità e scalabilità

4

Page 5: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Jini (Sun Microsystem, ora Apache River)

Service Broker

Service Provider

Java Service

Object

Service

Attributes

Client

Java Service

Proxy Object

Java Service

Proxy Object

Service

Attributes

Registration

Lookup

5

Page 6: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Soluzione di discovery principe in ambiente Java

Service provider scopre dinamicamente uno o più

servizi di lookup (broker)

Service provider registra oggetto risorsa/servizio

(modellato come oggetto Java) e suoi attributi al servizio

lookup (broker)

Un cliente richiede un servizio, tipicamente

specificando attributi del servizio cercato; una istanza

dell’oggetto risorsa/servizio si muove verso cliente a runtime

Servizio di lookup può notificare clienti registrati

quando vi è cambio di stato per loro risorse/servizi

Cliente interagisce con risorsa/servizio scoperto

tramite oggetto Java ottenuto

Jini (Sun Microsystem)

6

Page 7: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Gestione Affidabilità in Jini

Possibili fallimenti (e non solo, vedi versioning) sono gestiti tramite meccanismo di lease Jini assegna risorse a clienti tramite lease con durata

temporale prefissata (minore o uguale a richiesta cliente)

Terminato il periodo di lease, cliente deve rinnovare lease per continuare accesso a risorsa/servizio

Registrazione a lookup fatta con lease: quindi tutti lease scadono, per tutti gli utenti, in caso di caduta di service provider

Jini supporta ridondanza a livello di infrastruttura e resistenza contro guasti Si può fare deployment di diversi servizi lookup in una rete

Service provider possono registrare loro oggetti proxy di servizio in servizi di lookup plurimi

Anche uso all’interno di transazioni e rollback automatico alla scadenza del lease

7

Page 8: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Scalabilità in Jini

Scalabilità realizzata tramite organizzazione dinamica in

“comunità” o “federazioni”

Gruppi di servizi Jini possono formare una comunità, tipicamente

quella dei servizi locali e registrati almeno in un lookup service

locale

Comunità differenti possono essere collegate insieme in

gruppi ancora più larghi tramite lookup service

Una comunità si registra presso altre comunità registrandovi

il proprio lookup service

Come gestire l’innestamento di lookup service?

8

Page 9: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Service Proxy Object

di Jini è Dinamico

Se paragonato a soluzioni più tradizionali per l’accesso a risorse/servizi, trovati dinamicamente, tramite stub/skeleton intermedi:

Jini supera limitazioni della creazione di stub/skeleton a compile-time tipica delle RPC

Consente a cliente di ottenere stub dal service provider a tempo di esecuzione

Stub RPC analogo a oggetto service proxy che server Jini carica dinamicamente nel servizio di lookup

Oggetto proxy service consente ai clienti di utilizzare il servizio scoperto senza conoscerne i dettagli

9

Page 10: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Service Location Protocol (SLP)

SLP è approccio

standard di Internet

Engineering Task

Force (IETF) per

discovery di

risorse/servizi

Idea base: SLP rende

risorse/servizi visibili

mediante registrazione

URL ad agenti

intermedi

User

Agent (UA)

Service

Agent (SA)

Service

Service

Agent (SA)

Service

Directory

Agent (DA)

Application

10

RFC 2608 - Service Location Protocol, Version 2

RFC 2609 - Service Templates and Service Schemes

RFC 2614 - An API for Service Location Protocol

Page 11: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

SLP basato su Tre Tipologie di Agenti

Agenti come entità capaci di processare messaggi SLP

Service agent

Fa broadcast (usualmente periodico) di advertisement dei suoi

risorse/servizi (associazioni con URL)

Directory agent (opzionale)

Fa caching di advertisement come repository centralizzato

Processa query di discovery ricevute da user/service agent

restituendo URL che fanno match

User agent

Per la scoperta di risorse/servizi da parte cliente

Anche utilizzo efficiente di multicast verso gruppo di service agent

Fa browsing di risorse disponibili e seleziona sulla base URL

restituiti

Standard piuttosto ricco e flessibile, ma implementazioni non troppo

diffuse a livello industriale (OpenSLP, Sun SLP, Xerox printer, …)

11

Page 12: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Universal Plug-and-Play (UPnP)

Standard avviato da Microsoft (inizialmente soluzione interna

proprietaria)

Obiettivo principale: abilitare advertisement, scoperta e

controllo per dispositivi in rete, servizi, consumer

electronics in ambiente ad hoc, tipicamente

domestico (vedi uso corrente con media center, tv, hi-fi, …)

UPnP sfrutta, come tecnologie sottostanti:

UDP o TCP/IP

HTTP

XML/HTML e SOAP

12

Page 13: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Tramite UPnP un dispositivo può:

Fare join dinamico a una rete, ottenendo un indirizzo IP valido localmente

Rendere note le sue capacità, by need e su richiesta

Scoprire presenza e capacità di altri dispositivi

Lasciare dinamicamente una rete

UPnP supporta:

Configurazione automatica di IP

Scoperta di risorse/servizi

Descrizione risorsa/servizio basata su XML

Service control basato su SOAP

Gestione eventi (tramite Generic Eventing and Notification Architecture - GENA)

Presentazione in HTML/XML

13

Universal Plug-and-Play (UPnP)

Page 14: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Indirizzamento IP in UPnP

Scendendo maggiormente nel dettaglio:

UPnP utilizza Auto IP (protocollo di vera e propria auto-

configurazione) per consentire a dispositivi di collegarsi

alla rete senza necessità di amministrazione esplicita

Quando dispositivo si connette a una rete, cerca di

acquisire un indirizzo IP da un server DHCP, se

disponibile

In mancanza di server DHCP, un indirizzo IP è

reclamato automaticam. da un range fisso e

riservato per utilizzo su rete locale

Un indirizzo IP dal range di indirizzi link-local viene selezionato

in modo random (169.254.0.0/16 per IPv4)

Invio di richiesta Address Resolution Protocol (ARP) per

verificare se altri dispositivi hanno già preso l’indirizzo

14

Page 15: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Service Discovery in UPnP

UPnP utilizza il semplice Simple Service Discovery

Protocol (SSDP) come protocollo di discovery basato su

utilizzo di indirizzo multicast dedicato (239.255.255.250

su porta 1900 via UDP)

Device

Control

Point

URL of

Device

Description

File

ssdp:discover Device

Control

Point

ssdp:alive

(URL)

15

Page 16: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Service Discovery in UPnP

Dispositivo (ad es. proiettore UPnP-compliant) effettua

multicast di messaggio di advertisement (ssdp:alive)

per esibire suoi servizi ai control point attivi (ad es.

tablet o home gateway)

Control point può effettuare multicast di messaggio di

ricerca (ssdp:discover)

Ogni dispositivo che riceve messaggio multicast può

rispondere con messaggio unicast di risposta

URL di XML Device Description File viene restituito a

control point

16

Page 17: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Architettura e Stack Protocollare UPnP

17

Uso di

HTTP su

UDP, sia

multicast

(HTTPMU)

che unicast

(HTTPU)

Page 18: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Descrizione Dispositivo e

suoi Servizi in UPnP

UPnP utilizza XML per descrizione di risorse/servizi

(sforzo di standard. per rappresentazione interoperabile)

Messaggio di advertisement contiene un URL relativo

al file di XML device description

File device description descrive le capability del dispositivo di cui

si fa advertisement

Control point può ottenere dinamicamente tramite HTTP file di

device description e processarlo

Ogni dispositivo può fornire più di un servizio/risorsa

Elemento <service> contiene

Tipo di servizio, service ID

URL del servizio per invocazione via SOAP

URL per event subscription per notifiche di eventi

Altro file (Service Description File) per ogni servizio offerto, con

descrizioni più specifiche

18

Page 19: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

File Descrizione Dispositivo

per un Proiettore

<?xml version="1.0" ?>

<root xmlns="urn:schemas-upnp-org:device-1-0">

<device>

<deviceType>urn:schemas-upnp-org:device:projector:1</deviceType>

<UDN>uuid:UPnP-Projector</UDN>

<serviceList>

<service>

<serviceType>urn:schemas-upnp-org:service:control:1</serviceType>

<serviceId>urn:upnp-org:serviceId:control</serviceId>

<controlURL>isapictl.dll?control</controlURL>

<eventSubURL>isapictl.dll?control</eventSubURL>

<SCPDURL>projector-scpd.xml</SCPDURL>

</service>

</serviceList>

</device>

</root>

Service Description File

per servizio di “controllo

proiettore”

projector-desc.xml

19

Page 20: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Service Control in UPnP

Il file XML di service description per un servizio (ad es.

“controllo proiettore”) contiene:

Action list con operazioni invocabili sul servizio

Tabella di stato del servizio con insieme variabili di stato (e

loro tipi di dato)

Per invocare un dato service control di cui un dispositivo

ha fatto advertisement, control point invia un

messaggio SOAP all’indirizzo URL specificato per il

servizio

Control point può avere accesso e aggiornare variabili di

stato in tabella

Servizio esegue l’azione di controllo richiesta e

restituisce valore di ritorno tramite messaggio SOAP

20

Page 21: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

File Descrizione Servizio per

Servizio Controllo Proiettore

<?xml version="1.0" ?>

<scpd xmlns="urn:schemas-upnp-org:service-1-0">

<actionList>

<action>

<name>SetPower</name>

<argumentList>

<argument>

<name>Power</name>

<relatedStateVariable>Power</relatedStateVariable>

<direction>in</direction>

</argument>

</argumentList>

</action>

… Other actions …

</actionList>

projector-scpd.xml

21

Page 22: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

<serviceStateTable>

<stateVariable sendEvents="yes">

<name>Power</name>

<dataType>Boolean</dataType>

<defaultValue>0</defaultValue>

</stateVariable>

<stateVariable sendEvents="yes">

<name>File</name>

<dataType>string</dataType>

<defaultValue>default.ppt</defaultValue>

</stateVariable>

… Other state variables …

</serviceStateTable>

</scpd>

22

File Descrizione Servizio per

Servizio Controllo Proiettore

Page 23: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Sottoscrizione a Eventi UPnP

Control point può registrarsi per ricezione di eventi di

notifica provenienti da advertised service all’atto del

cambiamento di variabili di stato

Subscription URL contenuto nel file di device description

Messaggi che implementano evento sono espressi in XML e

formattati secondo lo standard General Event Notification

Architecture (GENA); contengono variabili di stato modifcate che

hanno prodotto evento

Ad es. servizio proiettore può notificare eventi verso control point quando si verifica una delle seguenti situazioni: Page up/down (modifca variabile pageNumber)

Power on/off – accensione/spegnimento

Files – lista di file ppt

File – file ppt corrente in presentazione

UPnP NON consente la sottoscrizione di control point a variabili di stato singole; control point deve determinare dinamicamente quale variabile di stato si è modificata e ha prodotto evento di notifica

23

Page 24: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Presentazione UPnP basata su HTTP

Dispositivo può fare advertisement di URL per

presentazione UI con accesso a servizi via Web:

Scaricamento pagina da URL e visualizzazione su browser

Possibilità per utente di controllare dispositivo

Possibilità di visualizzare stato del dispositivo

Dato l’utilizzo di XML per definizione e scambio di dati, UPnP

potenzialmente abilita utilizzo da parte di un’ampia varietà di

dispositivi limitati: anche trasformazioni automatiche di XML

basate su XSLT

Maggior parte di implementazioni UPnP supportano solo

presentazione basata su HTML, lenta transizione verso XML

24

Page 25: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Architettura UPnP e

Possibilità di Bridging

25

Page 26: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Dettagli su Interazione

Service-Control Point

1. Control point invia richiesta SSDP

search

2. Dispositivo risponde con unicast UDP

NOTIFY che contiene URL del file

XML di descrizione dispositivo

3. Control point richiede documento

descrizione XML via HTTP

4. Web server contenuto nel

dispositivo risponde alla richiesta e

restituisce documento XML

5. Per ricevere automaticam. notifiche di

variazioni presso dispositivo, control

point può registrarsi ai servizi di

interesse via HTTP

Control

point

Device

1. M-SEARCH

(multicast)

2. NOTIFY (UDP

unicast)

3. HTTP GET

description.xml

4. HTTP

Response

5. HTTP

SUBSCRIBE

6. HTTP

Response (SID)

7. HTTP M-

POST (SOAP)

8. HTTP (SOAP

response)

9. Notify (GENA

unicast)

26

Page 27: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

6. Dispositivo risponde con ACK per

registrazione e restituisce

Subscription Identifier (SID) unico

7. Control point può comandare

esecuzione di operazioni su

dispositivo, con eventuale modifica

di variabili di stato

URL per inviare richieste di

controllo contenuto nel

documento XML di descrizione

dispositivo

Control point invia richiesta

SOAP su HTTP

Control

point

Device

1. M-SEARCH

(multicast)

2. NOTIFY (UDP

unicast)

3. HTTP GET

description.xml

4. HTTP

Response

5. HTTP

SUBSCRIBE

6. HTTP

Response (SID)

7. HTTP M-

POST (SOAP)

8. HTTP (SOAP

response)

9. Notify (GENA

unicast)

27

Dettagli su Interazione

Service-Control Point

Page 28: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

8. Dispositivo eventualm. modifica variabili di stato e restituisce risposta in termini di messaggio SOAP

9. Dispositivo può notificare clienti dell’avvenuta modifica di stato, sia derivanti da azioni invocate (come 8) sia causate da cambiamenti impliciti al dispositivo

Dispositivo effettua notifica tramite messaggi unicast NOTIFY su HTTP

Control

point

Device

1. M-SEARCH

(multicast)

2. NOTIFY (UDP

unicast)

3. HTTP GET

description.xml

4. HTTP

Response

5. HTTP

SUBSCRIBE

6. HTTP

Response (SID)

7. HTTP M-

POST (SOAP)

8. HTTP (SOAP

response)

9. Notify (GENA

unicast)

28

Dettagli su Interazione

Service-Control Point

Page 29: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Ricapitolando…

Funzionalità Middleware UPnP

Service Discovery

Supporto pensato per ambienti peer-to-peer senza strutturazione

gerarchica

Adaptability

Indirizzi IP allocati dinamicamente

Cambiamenti in info stato resi disponibili tramite notifiche

Nessun supporto (ancora) per service routing/selection basati su

locazione cliente

Supporto trasparente alla comunicazione

Utilizzo di standard Internet

No supporto comunicazioni multi-hop ad hoc

Data Transformation

Possibile trasformazione dati da formato XML standard a formati

proprietari control-point-specific (ad es. proprietari Microsoft)

29

Page 30: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Riferimenti Utili

Addizionali su UPnP

S. Helal, “Standards for Service Discovery and Delivery,” IEEE

Pervasive Computing, Vol. 1, No. 3, pp. 95-100, July-Sept. 2002

Jini Forum, at http://www.jini.org/

Service Location Protocol Working Group (svrloc), at

http://www.ietf.org/html.charters/svrloc-charter.html

UPnP Forum, at http://www.upnp.org/

UPnP Forum, “Universal Plug and Play Device Architecture,” at

http://www.upnp.org/resources/documents.asp

Intel, “UPnP Technology,” at http://www.intel.com/technology/UPnP/

30

Page 31: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M 31

Esercitazione su UPnP (1)

Realizzare una piccola applicazione che sfrutti UPnP per scoprire

disponibilità di file multimediali offerti nella località

Cercare di rispettare il più possibile scelta architetturale di comunicazione

multimedia out-of-band (diretta fra end point) rispetto a discovery

Situazione molto vicina a scenario reale in cui UPnP viene utilizzato come

soluzione di configurazione, discovery e accesso a servizi in reti domestiche,

in particolare fra media server, dispositivi per rendering, sorgenti dati,

control point, … (vedi approccio Digital Living Network Alliance – DLNA -

http://www.dlna.org/)

Fare riferimento a documentazione e strumenti di sviluppo,

ampiamente disponibili in rete, come:

Microsoft, “Using the UPnP Control Point API”,

http://msdn.microsoft.com/en-us/library/ms898948.aspx

Cling - Java/Android UPnP library and tools (software stack Java

conforme a UPnP), http://teleal.org/projects/cling/

CyberLink (Java/Android),

http://www.cybergarage.org/twiki/bin/view/Main/CyberLinkForJava

Page 32: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M 32

Esercitazione su UPnP (2)

Altri strumenti di sviluppo e strumenti di gestione di riferimento,

ampiamente utilizzati nella comunità di sviluppatori:

Tool di riferimento per testing; offre media server, media renderer,

spy, controller... utili per testare le proprie applicazioni; fornisce

anche stack in C# per creare device e servizi UPnP

http://opentools.homeip.net/dev-tools-for-upnp

Coherence (per sviluppo linguaggio Python)

http://coherence.beebits.net/

BRisa, sia per Python (UPnP 1.0) che per qt (UPnP 1.1),

specificamente pensato per piattaforma Maemo

https://garage.maemo.org/projects/brisa

Come al solito, può essere anche il seme iniziale per una

possibile attività progettuale…

Page 33: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M 33

In Alternativa,

Soluzione basata su Jini

Realizzare una piccola applicazione che sfrutti Jini per scoprire

disponibilità di file multimediali offerti nella località

Cercare di rispettare il più possibile la scelta architetturale di

comunicazione multimediale out-of-band (diretta fra end point) rispetto

alla soluzione di discovery

In questo caso, fare riferimento a risorse di documentazione e

strumenti di sviluppo disponibili su:

Jini home page - http://river.apache.org/

Jini Starter Kit - http://river.apache.org/user-guide-basic-river-

services.html

StartNow project - http://java.net/projects/startnow/

Page 34: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Gestione della Sessione

Abbiamo già parlato tante volte della rilevanza della

gestione della sessione

Che cosa si intende per sessione?

Che complessità aggiuntive nella gestione sessione

in mobilità?

Conoscete già tante tecniche, ad es. integrate con tecnologie Web, per

mantenimento della sessione

Anche in ambito mobile, pluralità ampia di tecniche e

tecnologie per rendere stato di sessione disponibile nonostante mobilità di utenti, terminali, risorse e servizi a runtime

Qui ci concentreremo su gestione sessione in sistemi

convergenti 4G basati su IP Multimedia Subsystem

(IMS)

34

Page 35: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Servizi mobili multimediali

offerti da terze parti, come

Internet service provider (ad es. weather forecast, news, …)

Scenari di Service Provisioning

in Reti Convergenti 4G

Servizi mobili

multimediali offerti

da operatori di rete (ad es., VoIP, IPTV, …)

Core IP network per fornire servizi di base:

QoS-enabled data transport, mobilità, AAA, …

Piattaforma per service

provisioning: overlay all-IP

per accesso a servizi e

integrazione (ad es. IMS)

IEEE 802.11

(WiFi) Bluetooth

Cellular 3G e WiMAX

Reti di accesso wireless fortemente differenziate ed eterogenee

35

Page 36: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

IP-based

network

Hotspot Wi-Fi Hotspot Wi-Fi

3G cellular

Gestione Reti e Servizi 4G:

Ampio Uso di Approcci Basati su Proxy

IMS

IP Multimedia Subsystem

basato su SIP (Session Initiation Protocol)

Nuovi protocolli e

infrastrutture attive

basate su proxy per

gestione sessione

36

Page 37: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Session Initiation Protocol (SIP)

SIP definisce un framework di segnalazione (signaling) e relativi protocolli e messaggi per configurare ogni possibile tipologia di sessione (lavora al livello OSI di sessione)

Molto aperto e general purpose

Include diverse core facility per gestione mobilità, inizializzazione sessione, sua terminazione, suo trasferimento, …

Non include alcuni servizi base comunque essenziali (ad es. AAA, prenotazione/allocazione risorse, …)

SIP non è un protocollo per trasmissione data/media

Altri protocolli specifici per questo fine: Real-time Transport Protocol (RTP),

RTP Control Protocol (RTCP), Real Time Streaming Protocol (RTSP),…

Esempi di utilizzo “classico” di SIP

Stabilire, configurare e chiudere una chiamata voce su VoIP

Instance messaging e servizio di presenza: SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE)

Trasferimento di sessione e ri-direzione di chiamata

37

Page 38: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

SIP: un po’ di Storia e

Obiettivi Principali

Proposto a metà anni ’90 (principal investigator: Henning Schulzrinne,

Columbia University), all’interno di ricerche su Multi-party Multimedia

Session Control

Sottomesso a valutazione Internet Engineering Task Force (IETF) nel 1996,

poi sviluppato da SIP Working Group

Pubblicato nel 1999 come IETF RFC 2543; selezionato da 3GPP come

standard di riferimento nel 2000; versione ulteriore (altre modifiche minori

sono successive) in 2002 - RFC 3261

Obiettivi principali: User location: determinazione di end system da usarsi correntemente

User capability: determinazione di quali media utilizzare e con quali

parametri di configurazione

User availability: determinazione della disponibilità di called party a

partecipare a una chiamata

Call setup: "ringing“ e negoziazione dei parametri di chiamata fra

chiamante e chiamato

Call handling: gestione, inclusi trasferimento e terminazione chiamata

38

Page 39: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

SIP in una Slide

SIP core signaling

Protocollo HTTP-like basato su scambio di messaggi testuali e su

utilizzo di identificatori SIP email-like (indirizzi)

Protocollo client/server (request/response)

Messaggi di controllo sessione standardizzati

INVITE, REGISTER, OK, ACK, BYE, …

Framework SIP basato sull’uso di proxy. Entità principali:

User agent: end point che possono operare sia come clienti che come

server per loro utente

User Agent Client: crea nuove richieste SIP

User Agent Server: genera risposte per richieste SIP

Dialog: relazione peer-to-peer fra due user agent, stabilita con

metodi appropriati e specifici

Proxy server: router a livello applicativo

Redirect server: ridirige clienti verso server alternativi

Registrar: tiene traccia degli utenti 39

Page 40: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Formato Messaggi SIP

Formato semplice e basato su testo

Linea iniziale (Request Line o Status Line)

Tipo messaggio (tipo di metodo + URI nei messaggi di richiesta, response code nei messaggi di risposta)

Versione protocollo

Header Campi per trasferire attributi del messaggio

Anche su linee multiple, possono apparire diverse volte e duplicati (principio di robustezza); semplicem. valori multipli separati da virgole

Body (contenuto) Per descrivere la sessione che deve essere avviata

Oppure per contenere dati “opaque”, di testo o binari

40

Page 41: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Proxy Server Proxy Server

User Agent Alice User Agent Bob

5. INVITE

To:sip:[email protected]

6. 100 Trying

11. 180 Ringing

14. 200 OK

16. 180 ACK

Media (RTP)

2. 1

00

Try

ing

12

. 1

80

Rin

gin

g

15

. O

K

13

. 20

0 O

K

10

. 10

0 R

ing

ing

9. IN

VIT

E

sip

:bo

b@

test.c

om

DNS

Server

Location

Service

41

Indirizzamento

SIP

Determinazione

SIP Server

Invio richieste

SIP: SIP

Transactions

Metodi SIP

Risposte SIP

Richieste e

risposte

successive

interne a dialog

Semplice Esempio di Utilizzo di SIP

Page 42: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

CALLER PROXY A CALLEE PROXY B

(1) INVITE

(4) ACK

(6) 200 OK

Media session (ad es. basata su RTP, NO SIP)

(2) RINGING

(3) 200 OK

(5) BYE

INVITE sip:[email protected] SIP/2.0

Via: SIP/2.0/UDP pc33.atlanta.com;

branch=z9hG4bK776asdhds

Max-Forwards: 70

To: Bob <sip:[email protected]>

From: Alice <sip:[email protected]>;

tag=1928301774

Call-ID:

[email protected]

CSeq: 314159 INVITE

Contact: <sip:[email protected]>

Content-Type: application/sdp

Content-Length: 142

… SDP description …

Start line: • request line (nelle richieste) • status line (nelle risposte)

Header: molti campi presenti

Message body (opzionale): ad es.

descrizione SDP per negoziare codec o

formati audio/video

42

Semplice Esempio di Utilizzo di SIP

Page 43: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

CALLER PROXY A CALLEE PROXY B

(1) INVITE

(4) ACK

(6) 200 OK

Media session (ad es. basata su RTP, NO SIP)

(2) RINGING

(3) 200 OK

(5) BYE

INVITE sip:[email protected] SIP/2.0

Via: SIP/2.0/UDP pc33.atlanta.com;

branch=z9hG4bK776asdhds

Max-Forwards: 70

To: Bob <sip:[email protected]>

From: Alice <sip:[email protected]>;

tag=1928301774

Call-ID:

[email protected]

CSeq: 314159 INVITE

Contact: <sip:[email protected]>

Content-Type: application/sdp

Content-Length: 142

… SDP description …

Start line: • request line (nelle richieste) • status line (nelle risposte)

Header: molti campi presenti

Message body (opzionale): ad es.

descrizione SDP per negoziare codec o

formati audio/video

43

Semplice Esempio di Utilizzo di SIP

Page 44: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Step Evolutivo Importante in 3G:

IP Multimedia Subsystem (IMS)

IP Multimedia Subsystem come infrastruttura di supporto

all’erogazione di servizi multimediali su reti convergenti

integrate con differenti caratteristiche (fisse e mobili):

Instant Messaging, condivisione multimedia, Push-To-Talk, gaming,

video conferenza, …

Standard di ampia accettazione e sempre più utilizzato nella

pratica industriale

Utilizzo di SIP come protocollo per setup e configurazione di

sessioni multimediali su reti IP-based

SIP come protocollo di segnalazione per:

Localizzare utente dato suo SIP Universal Resource Identifier (URI), ad es. sip:[email protected]

Configurazione sessione e negoziazione dei suoi parametri

Architettura fortissimamente basata sull’utilizzo di proxy

44

Page 45: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

DNS1

IP Multimedia Subsystem

in una Sola Slide

Visited network 1

P-CSCF

Home Network 1 Home Network 2

Visited network 2

P-CSCF

AS AS

S-CSCF S-CSCF

I-CSCF I-CSCF

HSS HSS

Mobile

Node

(MN)

Corresp.

Node

(CN)

DATA FLOW

DNS2

45

Page 46: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

DNS1

IP Multimedia Subsystem

in una Sola Slide

Visited network 1

P-CSCF

Home Network 1 Home Network 2

Visited network 2

P-CSCF

AS AS

S-CSCF S-CSCF

I-CSCF I-CSCF

HSS HSS

Mobile

Node

(MN)

Corresp.

Node

(CN)

DATA FLOW

Funzionalità di signaling

Funzionalità autenticazione

DNS2

46

Page 47: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

DNS1

IP Multimedia Subsystem

in una Sola Slide

Visited network 1

P-CSCF

Home Network 1 Home Network 2

Visited network 2

P-CSCF

AS AS

S-CSCF S-CSCF

I-CSCF I-CSCF

HSS HSS

Mobile

Node

(MN)

Corresp.

Node

(CN)

DATA FLOW Application Server (AS)

Funzioni/entità per estensione

e integrazione dell’usuale

IMS Signaling

Funzionalità autenticazione

DNS2

47

Architettura basata su proxy

Lavora a livello OSI di sessione

Protocolli: SIP (+ Diameter)

Set comune di funzioni per semplific.

deployment servizi multimediali

in ambienti wireless

ad alta eterogenità

Page 48: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

DNS1

IP Multimedia Subsystem

in una Sola Slide

Visited network 1

P-CSCF

Home Network 1 Home Network 2

Visited network 2

P-CSCF

AS AS

S-CSCF S-CSCF

I-CSCF I-CSCF

HSS HSS

Mobile

Node

(MN)

Corresp.

Node

(CN)

DATA FLOW

Funzionalità di signaling

Application Server (AS)

Funzioni/entità per estensione

e integrazione dell’usuale

IMS Signaling

Funzionalità autenticazione

DNS2

48

Architettura basata su proxy

Lavora a livello OSI di sessione

Protocolli: SIP (+ Diameter)

Set comune di funzioni per semplific.

deployment servizi multimediali

in ambienti wireless

ad alta eterogenità

Page 49: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Entità Funzionali IMS:

DNS e HSS

Domain Name System (DNS): Servizio di nomi standard Internet

Utilizzato da IMS per risolvere indirizzi IP di tutte tipologie CSCF e AS

può essere utilizzato per load balancing (ma solo a basse frequenze di DNS query)

Home Subscriber Server (HSS): Serve memorizzazione permanente di info sottoscrizione utente,

ad es. dati autenticazione e profili di preferenze (utilizzo di DBMS standard)

Una rete IMS può contenere uno o più HSS

Subscriber Location Function (SLF) per associare utenti a specifici HSS

49

Page 50: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Entità Funzionali IMS:

Proxy-CSCF

Proxy-Call Session Control Function (P-CSCF):

Primo punto di contatto nella rete IMS, sia in dominio visitato che in dominio home

Svolge il ruolo di proxy SIP outbound/inbound (tutte le richieste da/verso terminali IMS passano attraverso questo proxy)

Principali funzionalità di P-CSCF:

Forwarding di richieste SIP nella direzione opportuna (verso terminali o rete IMS)

Altre funzionalità, come:

Sicurezza

Generazione info di charging (tariffazione e fatturazione)

Compressione e decompressione di messaggi

50

Page 51: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Entità Funzionali IMS:

Interrogating-CSCF

Interrogating-Call Session Control Function (I-CSCF): Proxy SIP ai bordi del dominio amministrativo di home

Ce ne possono essere diversi all’interno della stessa rete per motivi di scalabilità e tolleranza a guasti

Registrati in DNS (anche in pluralità)

Server stateless per ridirezione SIP

Principali funzioni I-CSCF: Interazione con HSS per determinare quale S-CSCF è associato con

cliente (utilizzo di protocollo Diameter)

Ridirezione e routing di richieste SIP incoming verso S-CSCF

può anche essere utilizzato per selezionare dinamicamente S-CSCF meno carico

51

Page 52: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Entità Funzionali IMS:

Serving-CSCF

Serving-Call Session Control Function (S-CSCF): Sempre posizionato in dominio home

SIP proxy + SIP registrar con possibilità di occuparsi di controllo della sessione

Principali funzioni di S-CSCF: Binding fra indirizzo IP (terminal location) e indirizzo SIP dell’utente

Interazione con application server per creare servizi a cosiddetto valore aggiunto (funzionalità aggiuntive rispetto a segnalazione SIP di base)

Servizi di traslazione (numero telefono/SIP URI)

Routing messaggi (tramite cosiddetti IMS filtering criteria)

può essere utilizzato per dividere staticamente traffico incoming in dipendenza da identità/profilo utente

52

Page 53: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Entità Funzionali IMS:

Application Server

Application Server (AS):

Ospita ed esegue servizi

Comunica utilizzando SIP: costoso

Ogni AS interposto genera 2 messaggi (processed+ACK) per ogni messaggio che lo attraversa

Coordinamento complesso per AS stateful e distribuiti

Differenti tipologie di AS per ambienti, integrazioni e funzionalità differenti

SIP AS: adozione di signaling SIP, servizi possono lavorare solo in ambienti SIP

Altre tipologie: Open Service Architecture – Service Capability Server (OSA/SCS), IP Multimedia Service Switching Function (IM-SSF), …

53

Page 54: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

IMS:

Esempio di Routing di una Chiamata

User A

HSS

Interrogating CSCF

Serving CSCF

Invite Da: sip:[email protected] A: sip:[email protected] Call-ID

Location Query

User B

Ok

Multimedia data su canale diretto

Serving CSCF

CSCF = Call State Control Function

HSS = Home Subscriber Service

54

Page 55: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Architettura IMS a Livelli e

Tipologie Differenziate di Servizi

IMS Core

P-CSCF I-CSCF

S-CSCF

IMS Service Framework

HSS

(AAA)

IP Core Network

Access Networks

Media

servers

App.

Servers

Media

server/

gateway

PDF

Service Delivery Platform

Components Compositions Adapters

55

Session-Based Non-Session-Based

Chats

Instant Messaging

Web, HTML

Messaging

SMS and MMS

E-Commerce

Real-T

ime Inte

raction

Non-R

eal-T

ime

SIP (IMS) only

Applications

SIP or Non-SIP

Applications

Non-SIP Only

Applications

Voice

Online

Games

Push-to-

Video

Push-to-talk

Peer-to-Peer

Enterprise

VPN

IP/TV Streaming

Video

Video on Demand

Push email

Page 56: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Scalabilità in IMS:

Che Cosa è Facilmente Possibile

Visited network 1

P-CSCF

Home Network 1 Home Network 2

Visited network 2

P-CSCF

AS AS

S-CSCF S-CSCF

I-CSCF I-CSCF

HSS HSS

Mobile

Node

(MN)

Corresp.

Node

(CN)

DATA FLOW

DNS1 DNS2

1.

4.

5.

6.

7.

8. 2. MN “in call”

3.

I-CSCF required

on registration

load-balancing

56

Page 57: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Scalabilità in IMS:

Che Cosa è Facilmente Possibile

Visited network 1

P-CSCF

Home Network 1 Home Network 2

Visited network 2

P-CSCF

AS AS

S-CSCF S-CSCF

I-CSCF I-CSCF

HSS HSS

Mobile

Node

(MN)

Corresp.

Node

(CN)

DATA FLOW

DNS1 DNS2

1.

4.

5.

6.

7.

8. 2. MN “in call”

3.

I-CSCF required

on registration

load-balancing

57

Page 58: 06 Service Discovery e Gestione di Sessione in Sistemi ...lia.deis.unibo.it/Courses/sm1415-info/lucidi/06-Discovery(1x).pdf · Sincronizzazione dati (SyncML, ... File – file ppt

Discovery e Sessione - Sistemi Mobili M

Ottimizzazioni single host (locali) con/senza (o con minimo) coordinamento: Selective message dropping

Compressione messaggi SIP e tecniche per parsing parziale

SIP proxy stateful vs stateless

Load balancing intra-domain: Monitoraggio e operazioni di load balancing dinamico

a livello di infrastruttura

Protocolli di coordinamento AS a livello di servizio (anche protocolli ottimizzati ad-hoc e NON-IMS-compliant)

Ottimizzazioni di protocollo inter-domain: Limitare traffico fra domini differenti

Processamento messaggi service-level ai bordi dei domini IMS

Scalabilità in IMS: Alcune Soluzioni (Parziali)

58

Verso utilizzo di supporto ELASTICO cloud per IMS