09.02.2013 Views

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Sviluppo</strong> <strong>di</strong> <strong>una</strong> <strong>piattaforma</strong> <strong>per</strong> <strong>lo</strong> <strong>streaming</strong> multime<strong>di</strong>ale in ambiente Android<br />

Sicuramente <strong>una</strong> possibilità imme<strong>di</strong>ata <strong>per</strong> sod<strong>di</strong>sfare questa necessità è utilizzare un<br />

ping gestito da un trigger, inoltrato dal client al server attraverso le varie interfacce <strong>di</strong><br />

rete <strong>di</strong>sponibili. Scelta attrettanto valida, <strong>per</strong>ò, sarebbe quella dell'invio <strong>di</strong> tre<br />

pacchetti in sequenza, <strong>di</strong> <strong>di</strong>mensioni paragonabili al pacchetto RTP attualmente in<br />

trasmissione; il va<strong>lo</strong>re numerico K che caratterizza <strong>lo</strong> stato della rete sarà poi definito<br />

dalla formula:<br />

K = (n*R)/3<br />

dove n è la me<strong>di</strong>a del tempo <strong>di</strong> risposta ad ogni singo<strong>lo</strong> pacchetto e R è il numero <strong>di</strong><br />

pacchetti giunti a destinazione.<br />

Nel caso invece ci trovassimo a scegliere fra access-point <strong>di</strong>versi, si ricorrerebbe,<br />

onde evitare la necessaria riconnessione <strong>per</strong> l'invio dei pacchetti, alla classe<br />

android.net.wifi.WifiInfo, che <strong>per</strong>mette attraverso i meto<strong>di</strong> getLinkSpeed() e getRssi()<br />

<strong>di</strong> ottenere i va<strong>lo</strong>ri il cui prodotto K rappresenta <strong>una</strong> buona approssimazione della<br />

rete.<br />

Ulteriore possibilità è apprenedere <strong>lo</strong> stato “su<strong>per</strong>ficiale” degli access-point<br />

<strong>di</strong>sponibili valutando le <strong>lo</strong>ro con<strong>di</strong>zioni attraverso la scansione ottenuta dai meto<strong>di</strong><br />

startScan() e getScanResult() <strong>di</strong>sponibili nella classe android.net.wifi.WifiManager.<br />

Naturalmente qua<strong>lo</strong>ra questi sistemi dovessero essere <strong>di</strong>sponibili in contemporanea<br />

non sarebbe possibile un confronto tra K <strong>di</strong>versi – destinati alla valutazione delle<br />

interfacce o <strong>di</strong> più reti sulla stessa interfaccia – ma andrebbe analizzato in laboratorio<br />

l'or<strong>di</strong>ne <strong>di</strong> grandezza dei vari risultati <strong>per</strong> non incorrere nell'esclusione a priori <strong>di</strong> reti<br />

alternative.<br />

82

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!