Unibo Streaming System a C/S system to stream audio / video over the web

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Unibo Streaming System a C/S system to stream audio / video over the web"

Transcript

1 Unibo Streaming System a C/S system to stream audio / video over the web realized by Loris Cancellieri - matr. No University of Bologna Reti di Calcolatori LS prof. Antonio Corradi A.A Abstract: Negli ultimi anni abbiamo assistito ad una rapida espansione di Internet ed ad una equivalente diffusione delle tecnologie ad esso legate; fra queste un ruolo di primo piano è occupato dall erogazione di servizi multimediali attraverso la rete. Offrire agli utenti questo tipo di servizio significa assicurare innanzitutto una buona comunicazione fra il fruitore del servizio (client) e il distributore del servizio (server di streaming); a questo fine sono state sviluppate molte architetture proprietarie che però non permettevano l interoperabilità fra sistemi simili. Ultimamente sono però stati proposti e «standardizzati» alcuni protocolli proprio al fine di garantire una buona comunicazione tra Client e Server, garantire una buona QoS e permettere ad applicazioni diverse di interoperare fra loro. Questi protocolli sono RTP-RTCP per la trasmissione dei dati e il controllo della comunicazione, l SDP per fornire al client le informazioni relative al media che si va a trasmettere e l RTSP per la comunicazione fra client e server al fine di scambiarsi informazioni e garantire l interoperabilità fra la piattaforma di streaming e il client (Player) che invece deve riprodurlo sul PC dell utente. L RTSP standardizza anche l interazione tra l utente e il server in modo che l utente possa riavviare il media, metterlo in pausa o iniziare la riproduzione da un punto qualsiasi a sua scelta. Il mio lavoro si prefigge proprio l obiettivo di andare ad analizzare questi protocolli e di andarli ad utilizzare per fornire un server che permetta sia la trasmissione multicast di contenuti in streaming (come Web-Radio o Web- TV) sia la trasmissione unicast di contenuti audio e video on-demand con politiche di Load Balancing e disaster recovery. 1. Architettura del sistema L architettura che si è utilizzata per la realizzazione del nostro servizio di streaming si rifà all architettura Client / Server anche se l architettura è contornata da soluzioni che permettono di non sovraccaricare il server facendo Load Balancing (se il server è sovraccarico le richieste vengono redirette verso altri nodi) e permettono di attuare una politica di fault-tolerance in caso di fallimento del server di streaming sempre però sotto l ipotesi di guasto singolo. Il client e il server del nostro sistema possono essere trattati in maniera completamente separata; infatti proprio per garantire l interoperabilità, e grazie all implementazione di protocolli standard, il server può lavorare anche con client di terze parti come il JMStudio di Sun o il progetto open-source VLC, o il QuickTime Player, e il client può essere usato anche per riprodurre contenuti in streaming trasmessi da altri server come il Sun Streaming Server. Ogni nodo che funge da sorgente di dati per lo streaming ha due istanze dello stesso server, una chiamata MainServer che funge da server principale e una istanza chiamata SlaveServer che invece è idle e in attesa di essere avviata in caso di problemi al server principale che non gli permettono di svolgere le proprie funzionalità. A queste due istanze si aggiunge un altro server chiamato ControlServer che ha lo scopo di fornire ai client che glielo richiedono il file xml con la lista dei mediafile presenti sul server e che possono essere richiesti e ha lo scopo di «pingare» ad intervalli regolari il MainServer per vedere se è ancora attivo. Se viene rivelata una failure nel MainServer, il ControlServer manda un messaggio allo SlaveServer per farlo attivare e fargli prendere le veci del MainServer. Nell implementazione del sistema sono state 1

2 sfruttate le librerie fornite da Java tramite in Java Media Framework. 1.1 Server Il server alla partenza configura i suoi parametri di funzionamento sulla base delle informazioni contenute in un file xml di configurazione (ConfigServer.xml) e in particolare setta la porta base della trasmissione RTP, la porta sulla quale si metterà in attesa dei messaggi RTSP proveniente dai client (di default la 554), la porta dove riceverà i messaggi di controllo e l indirizzo IP del nodo al quale ridirigere le richieste dei client in caso di sovraccarico del server oltre ad altri parametri propri del server stesso. Dopo la fase di configurazione iniziale, il server recupera dal file xml i parametri della trasmissione MultiCast e istanzia un oggetto Unicast_rtp per iniziare la trasmissione dello stream multicast (Stile Web-Radio o Web-TV). Anche se per la trasmissione multicast uso lo stesso oggetto della trasmissione unicast, non ho problemi e la trasmissione dello stream avviene il Multicast. Infatti la distinzione del tipo della trasmissione è fatta dall oggetto del JMF RTPManager che gestisce la trasmissione dello stream e che al suo interno implementa un metodo chiamato ismulticastaddress() che controlla gli indirizzi passati come target della trasmissione e modifica il tipo di trasmissione in base al TargetAddress. Successivamente verrà istanziato un oggetto su un thread separato isalivethreadresponse che si occupa di ricevere le richieste di isalive e di rispondere a queste richieste. Da ultimo verrà istanziato un oggetto di tipo RTSP_Manager che crea la ServerSocket per la ricezione delle richieste RTSP da parte dei client e si mette in attesa di richieste di trasmissione on-demand. Per la trasmissione il server sfrutta il protocollo RTP / RTCP implementato dalla Sun nel Java Media Framework, mentre il protocollo RTSP per lo scambio di messaggi tra Client e Server e il protocollo SDP per la descrizione del contenuto del file multimediale sono stati implementati da me. 1.2 Client Il Client è l utilizzatore dei servizi che il server mette a disposizione ed implementa anche tutte le procedure che permettono all utente di interagire con il server durante la fruizione del servizio di streaming on demand. Dopo l avvio l utente può scegliere tre tipi di operazione: Connettersi all indirizzo di Multicast ed ascoltare l audio trasmesso in streaming dal server. Richiedere la trasmissione di un file audio o video specificando l indirizzo del server RTSP e il nome del file Ricevere e visualizzare la lista dei file audio e video disponibili sul server e poi scegliere cosa ascoltare. Nel primo caso l utente non può intervenire sulla trasmissione e quindi non gli viene lasciata possibilità alcuna di interagire con il server. L unica cosa che può fare è terminare l ascolto o visualizzare i messaggi RTCP di controllo della trasmissione scambiati tra Client e Server. L utente può visualizzare questi messaggi, decidere se fermare / far ripartire la loro visualizzazione e volendo può salvare i messaggi RTCP su un file di testo per una successiva analisi. Negli altri due casi invece si sfrutta il protocollo RTSP per la comunicazione fra client e server al fine di scambiarsi informazioni relative al media da trasmettere e al fine di garantire l interazione dell utente che può avviare la riproduzione, metterla in pausa, riavviarla da capo o chiuderla. Il client sfrutta uno stack RTSP implementato della Sun nella classe Player del JMF, ma questa implementazione della Sun è molto di base e infatti il client non supporta alcune delle funzioni che invece sono state implementate sul Server. Se l utente sceglie di visualizzare la lista dei file multimediali disponibili sul server, deve inserire l indirizzo IP del server da cui vuole recuperare la lista, il client si connette al Thread che fornisce il servizio di trasferimento file e quest ultimo invia al client un file XML di nome medialist.xml che contiene la lista dei file multimediali che 2

3 il server mette a disposizione per lo streaming insieme a una loro descrizione (tipo, Autore, Titolo). Il client, attraverso una specifica classe, fa il parsing di questo file e fornisce all utente i dati sotto forma tabellare. L utente può selezionare il file da riprodurre e alla pressione del tasto Ascolta gli viene presentata una finestra con un mini-player attraverso il quale può interagire con il server per la gestione dello stream. Figura 1 Interfaccia Utente del Client 2. Richiesta di media on-demand Mostriamo i passaggi e i messaggi scambiati tra client e server al momento della richiesta, da parte del client di un file multimediale. Questi messaggi vengono scambiati attraverso il TCP per avere maggiori garanzie di ordine dei messaggi. Consideriamo un caso d uso di questo tipo: Precondizioni: l utente conosce sia l indirizzo del server che il nome del file che vuole richiedere. Azione: l utente inserisce questi dati nella casella di testo che compare a video alla pressione del pulsante apri sulla Toolbar o di Apri RTP URL sul Main_Menu e preme OK. Postcondizioni: compare l interfaccia grafica del miniplayer e la riproduzione ha inizio. Alla pressione del Pulsante OK il client manda al Server un messaggio RTSP di 3 DESCRIBE con il quale il client manda al server l URL del file da trasmettere, il numero di sequenza del messaggio insieme ad altre informazioni come lo User-Agent. Il numero di sequenza del messaggio è un must del protocollo e deve essere specificato in ogni messaggio che si scambiano il Client e il Server; ad ogni richiesta con un certo numero di sequenza deve corrispondere una risposta con lo stesso numero. Le risposte devono essere mandate in ordine con le richieste; a fronte di due richieste una con C- Seq 631 e una con C-Seq 632 non può verificarsi che prima venga mandata la risposta con C-Seq 632 e poi la risposta con C-Seq 631. DESCRIBE rtsp:// /l4.mp2 RTSP/1.0 CSeq: 631 Accept: application/sdp User-Agent: JMF RTSP Player Version 2.1.1e

4 Il server innanzitutto verifica se il file richiesto esiste e in caso di esito positivo restituisce un messaggio con status-line RTSP/ OK. La status-line è costituita dalla versione del protocollo, da un codice che identifica lo stato di errore o di successo e dalla relativa descrizione. I codici di errore sono ben descritti nell RFC 2326 e comunque sono molto simili a quelli usati nell HTTP. Oltre alla status-line, il server restituisce al client una descrizione completa del file richiesto seguendo i criteri del protocollo SDP (Session Description Protocol) che verranno descritti meglio in seguito. Le informazioni SDP vengono così costruite: se il file esiste URL del file viene passato alla classe MySDP che costruisce la stringa SDP sulle informazioni che gli vengono restituite dalla classe MediaInfo. Questa classe, che sfrutta le API del JMF, crea un oggetto Processor a cui viene passato il MediaLocator (l url del file multimediale) e attraverso l oggetto Processor determina la lunghezza del file ed estrae le tracce video e audio; da queste poi è possibile ricavare il formato audio e video e attraverso una serie di if determinare il tipo di payload associato a questi formati. Il payload è determinato sulla base delle specifiche dell RFC 1890 del Gennaio 1996 e delle successive modifiche avutesi con RFC 3551 del Luglio Questa è la stringa che il server restituisce al client per uno stream solo audio: RTSP/ OK CSeq: 631 Content-type: application/sdp Content-Length: 394 v=0 o=streamingserver s=trasmissionefile i=sessione di trasmissione del file richiesto u=http://casafrassinago3.homeip.net (Loris Cancellieri) p= c=in IP b=as:2048 t=0 0 a=charset:iso m=audio 2000 RTP/AVP 14 a=rtpmap:14 MPA/44100 a=control:rtsp:// /audio a=mimetype: audio/mpa a=range:npt= A questa risposta, segue la richiesta di SETUP da parte del client, dove questo specifica il protocollo di trasporto che deve essere utilizzato per il flusso di dati multimediali e la porta sulla quale il client si aspetta i dati. Il primo numero di porta (sempre pari) è la porta sulla quale devono essere mandati i pacchetti UDP con il flusso multimediale secondo il protocollo RTP, mentre la seconda porta (dispari) rappresenta la porta sulla quale devono essere inviati i pacchetti UDP di controllo del flusso secondo il protocollo RTSP. SETUP rtsp:// /audio RTSP/1.0 CSeq: 632 Transport: RTP/AVP;unicast;client_port= User-Agent: JMF RTSP Player Version 2.1.1e Il server riceve questa richiesta, ne fa il parsing sfruttando la classe Parser nel package it.unibo.mystream.protocol.rtsp per estrarne il C-Seq e i numeri di porta e crea una stringa di risposta dove indica anche le porte che esso userà per la trasmissione del flusso e la trasmissione/ricezione dei pacchetti RTCP. Oltre a questo, il server include nella risposta al SETUP un numero di sessione opportunamente generato che servirà ad individuare fino alla chiusura questa specifica «sessione» di trasmissione e include anche informazioni relative alla banda massima (espressa in bit/s) disponibili per la trasmissione. RTSP/ OK CSeq: 632 Session: Transport: RTP/AVP; unicast; client_port= ; server_port= ; Bandwidth: Fa seguito la richiesta di PLAY da parte del Client che presenta ancora l URL del file, il numero di Sequenza del messaggio, il numero di Sessione che il Server aveva precedente comunicato con la risposta al SETUP e il Range. Il Range Header comunica il punto da cui la riproduzione deve avviarsi; questo può essere espresso in unità NPT (Normal Play Time) come nel nostro caso o in unità di tempo smpte. Nel nostro esempio il client indica che la riproduzione dello stream deve cominciare dall inizio.

5 PLAY rtsp:// /l4.mp2 RTSP/1.0 CSeq: 633 Range: npt=0.0- Session: User-Agent: JMF RTSP Player Version 2.1.1e Alla ricezione di questo messaggio, il server fa il parsing ricavando come sempre il numero di Sequenza, il numero di Sessione e il Range (si sfrutta la funzione double getrange della classe Parser), crea la risposta alla richiesta di Play e la invia al client. Inoltre costruisce tanti oggetti Unicast_rtp per quante sono le tracce da trasmettere e lancia il metodo run() su questi oggetti per avviare la trasmissione dello stream. Ora si ha la trasmissione dello stream da parte del server e la ricezione / riproduzione da parte del client; l utente può intervenire su questo processo con la pressione dei tasti pause, rewind o close. Alla pressione del tasto pause, lo stack RTSP embedded nel client manda al server un messaggio di PAUSE: PAUSE rtsp:// /l4.mp2 RTSP/1.0 CSeq: 634 Session: User-Agent: JMF RTSP Player Version 2.1.1e Il server fa il solito parsing del messaggio e invoca il metodo pausestream() su tutti gli oggetti Unicast_rtp con l effetto di mettere in pausa lo stream. Nel nostro caso si ha che sia il client (in NPT) sia il server (Classe Time) memorizzano il momento in cui la riproduzione / trasmissione è stata messa in pausa e questo è stato fatto per permettere l interoperabilità del nostro server con i client che non memorizzano questo dato. (Solo per curiosità: all atto della ripresa della trasmissione è possibile vedere sulla console del server un messaggio che ci dice lo scarto fra il tempo memorizzato dal client e quello memorizzato dal server). Il server risponde al messaggio di pausa con un messaggio RTSP di OK RTSP/ OK CSeq: 634 Session: Ad una eventuale successiva pressione del tasto play, il client invia al server un messaggio di play identico al precedente, con l unica differenza che il campo Range riporta in NPT il tempo in cui riprendere la riproduzione. (Il server riporta il tempo indietro di 2 secondi per compensare eventuali ritardi di trasmissione e riempimento della cache). Per riprendere la trasmissione il server invoca il metodo StartStreamAgain su tutti gli oggetti Unicast_rtp. La pressione del tasto rewind invece provoca da parte del Client l invio prima di un messaggio di PAUSE, e poi subito dopo di un messaggio di PLAY con il Range settato a 0.0 Se invece l utente clicca sul pulsante di chiusura, questo provoca l invio da parte del client di una richiesta di TEARDOWN per fermare la trasmissione dello stream e liberare le risorse allocate. TEARDOWN rtsp:// /l4.mp2 RTSP/1.0 CSeq: 638 Session: User-Agent: JMF RTSP Player Version 2.1.1e Il Server fa il parsing della richiesta, prepara la Stringa di risposta e chiama il metodo teardownstream() su tutti gli oggetti di tipo Unicast_rtp; questo metodo chiude l oggetto processor e lo dealloca, chiude l oggetto SendStream, rimuove il client dalla lista dei target di quello stream e fa il dispose degli RTP_Manager definiti per la trasmissione. RTSP/ OK CSeq: 638 Session: Il protocollo RTSP da me implementato supporta anche altri tipi di comandi che non vengono però sfruttati o non sono supportati dallo stack RTSP implementato nel JMF. Fra questi abbiamo il comando di OPTIONS che viene inviato dal client al server per conoscere la lista dei comandi che il server implementa e mette a disposizione (getsupportedcommands())e il comando SET_PARAMS per settare dei parametri sul server

6 Esempio: il client invia al server OPTIONS * RTSP/1.0 CSeq: 630 Require: implicit-play e il server risponde RTSP/ OK CSeq: 630 Public: DESCRIBE, SETUP, PLAY, OPTIONS, PAUSE, TEARDOWN, SET_PARAMETER, ANNOUNCE, RECORD Il server fa il parsing corretto anche di comandi come ANNOUNCE e RECORD, ma risponde con un messaggio di errore di Not_Implemented (501). La classe ErrorMessagge è stata implementata proprio per costruire i messaggi di risposta ai più frequenti messaggi di errore che si possono presentare fornendo anche l opportuna status-line. Es: RTSP/ Not Implemented CSeq: 639 Nelle situazioni viste finora, il Server risponde a messaggi inviati dal Client, ma ci sono anche delle situazioni in cui è il Server che è promotore di un messaggio verso il Client e questo deve rispondere. Questo comportamento del server si può notare nella classe BaseRTSP dove sono stati definiti due modi di funzionamento per il Server: il SERVER_MODE dove risponde a messaggi del client e il CLIENT_MODE dove è il server a proporre messaggi. Esempio di richieste dove il server lavora il client mode sono quelle di GET_PARAMETER dove il server specifica dei parametri di funzionamento di cui vuole sapere i valori dal client e di REDIRECT dove il server informa il client che deve connettersi ad un altro server e contiene le informazioni sul server a cui deve connettersi e (opzionalmente) sul momento in cui il servizio non sarà più disponibile. REDIRECT rtsp:// /l4.mp2 RTSP/1.0 CSeq: 640 Location: rtsp:// Range: npt= Figura 2: La comunicazione tra client e server per la richiesta di un file multimediale on demand Se il Client non conosce l URL del file da richiedere, deve richiedere la lista dei file disponibili in un server. Per fare ciò deve inserire l indirizzo del nodo dove risiede un ControlServer, il quale restituisce il file medialist.xml che contiene le info sui media disponibili e l indirizzo fisico del server di streaming che contiene quei mediafile (Il tutto avviene attraverso una comunicazione TCP). Gli indirizzi dei nodi dove risiedono i ControlServer possono essere recuperati, ad esempio, da una pagina web

7 Figura 3: Comunicazione client-server con richiesta file 3. Politiche di Load balancing Il sistema implementa anche una politica di Load balancing volta a non intasare troppo un nodo poiché la trasmissione di stream richiede lo sfruttamento di molta banda e quindi se un nodo è troppo carico la qualità della ricezione ne risente particolarmente. A questo scopo il file xml di configurazione del server (ServerConfig.xml) contiene un elemento maxclients dove viene specificato il numero massimo di trasmissioni on-demand da servire contemporaneamente. Il bilanciamento del carico è gestito dalla classe LoadBalancing e la variabile che rappresenta internamente il numero di client forniti contemporaneamente viene incrementata quando il client fa il SETUP e decrementata quando fa il TEARDOWN. In caso il player cadesse durante la riproduzione e comunque prima di fare il TEARDOWN, la variabile che mantiene il numero degli «slots» occupati verrebbe decrementata appena il server termina la trasmissione dello stream. L unico problema che si potrebbe porre è quello relativo alla PAUSA poiché lo «slot» rimane occupato anche se non stiamo sfruttando banda. La mia scelta progettuale è stata quella di lasciare lo «slot» al client perchè non accada che questo, alla ripresa della riproduzione, non abbia più «slot» disponibili; nella mia scelta è anche implicita una certa fairness dell utente che non dovrebbe divertirsi a tenere illimitatamente in pausa uno stream. Si potrebbe anche implementare un timeout dopo il quale le risorse compreso lo «slot» vengono liberate. Se il numero dei client che richiedono lo stream supera quello massimo consentito, il server risponde ad una richiesta di Describe con un messaggio di Redirect dove si indica anche la location del server dove fare redirect (la location è recuperata dal file xml di configurazione del server). RTSP/ Moved CSeq: 230 Location: rtsp:// /l4.mp2 Connection: Close 7

8 Figura 4: Comportamento del nodo in caso di overload 4. Politica di replicazione e recovery Le politiche di replicazione e recovery da guasti implementate nel sistema partono innanzitutto dall ipotesi di guasto singolo. IL sistema è formato complessivamente da tre parti: un server principale MainServer che funge da Server di streaming sia per la trasmissione multicast, sia per la trasmissione unicast on-demand un server ControlServer che assolve a tre funzioni: restituisce il file medialist.xml ai client che lo richiedono, «pinga» periodicamente il MainServer per testarne il funzionamento e mantiene la lista di tutti i client connessi in modo da poterli avvertire in caso rilevi una failure nel sistema un server SlaveServer che è una copia fredda cioè viene avviato e configurato ed è in stand-by, in attesa di svolgere le sue funzioni quando attivato. Il ControlServer manda periodicamente (ogni 30 secondi) al MainServer un datagramma per verificare se questo è ancora funzionante e poi si mette in attesa di ricevere il datagramma di risposta. Se questo non arriva entro 10 secondi, il ControlServer ritenta la trasmissione del datagramma (UDP non ha alcuna garanzia di consegna e può essere andato perso) e si pone in attesa. Se scade di nuovo il time-out senza aver ricevuto risposta da parte del MainServer, il ControlServer considera il MainServer down e manda un datagramma con il messaggio START_SLAVE allo SlaveServer per attivarlo. Alla ricezione di questo messaggio, lo SlaveServer inizializza e attiva lo stream multicast e successivamente apre la sua ServerSocket sulla porta 554 e si mette in attesa delle richieste on-demand del client. Dopo l attivazione dello SlaveServer, il ControlServer, sfruttando la lista dei Client attivi, invia un messaggio RTSP di REDIRECT a tutti i client connessi indicando loro la locazione del nuovo server. REDIRECT rtsp:// /l4.mp2 RTSP/1.0 CSeq: 1 Location: rtsp:// La ricezione di questo messaggio da parte del client fa fermare la riproduzione e il client rinegozia la connessione con il nuovo server inviando un messaggio di SETUP; la trasmissione verrà fatta ripartire dal punto in cui si era interrotta inviando al client il Range opportuno insieme alla richiesta di Play. Lo stack RTSP del JMF non supporta tali tipi di messaggi e sia per questo motivo, sia per qualche eccezione di ConnectionRefused che veniva lanciata quando tutti i client e i server risiedevano sullo stesso nodo, la parte di invio del 8

9 messaggio vero e proprio è stata commentata nel codice. I tre servitori possono risiedere tutti e tre sullo stesso nodo o su nodi differenti; è possibile configurare sia gli indirizzi dei nodi dove risiedono i servitori sia le porte dove questi vanno a lavorare tramite i file di configurazione XML. Se i servitori e in particolare il MainServer e lo SlaveServer risiedono sullo stesso nodo, si può reagire a guasti singoli del MainServer che impediscono il funzionamento del sistema o ad errori che ne hanno provocato la chiusura, ma non si può reagire a guasti dell intero nodo o a cadute della rete. Questo non accade invece se il MainServer risiede su un nodo diverso rispetto allo SlaveServer e al ControlServer. Naturalmente se lo SlaveServer risiede su un nodo diverso, dopo la sua attivazione, dovuta a una caduta del MainServer, anche il ControlServer dovrà restituire al Client un file medialist.xml contenente i mediafile presenti nel nodo dello SlaveServer e restituire come indirizzo del server di streaming l indirizzo del nuovo nodo. Figura 5: Comportamento globale del sistema a regime 9

10 Figura 6: Azioni del sistema quando viene individuata una failure nel MainServer Figura 7: Comportamento del sistema dopo le azioni correttive (Disaster Recovery) 10

11 5. Testing dell applicazione Known Issues Sono stati eseguiti anche dei test sull intero sistema e tutto sembra funzionare correttamente. Sono stati però riscontrati alcuni problemi come frame persi o in ritardo che non rendevano sempre fluida la riproduzione del file multimediale; questi problemi sono però nettamente diminuiti passando da una connessione su rete wireless Ad-Hoc b 11Mbps ad una su rete wired 100 Mbit. Inoltre nella trasmissione di stream audio/video a volte si nota una desincronizzazione tra i due stream. Dopo qualche ricerca in rete, ho scoperto che il problema è riconducibile all implementazione del JMF. E stato anche eseguito un test dell occupazione di banda della rete; i valori presentati nel grafo qui sotto sono stati ottenuti facendo il play contemporaneo in rete dello stream multicast e di un stream audio richiesto on-demand. Dalla linea rossa in poi, invece gli stream audio (on-demand) trasmessi sono diventati due per poi tornare ad essere uno solo nel finale dopo la linea blu in quanto il primo stream è terminato. I picchi sono dovuti o a richieste RR del client o a collisioni / ritrasmissioni della rete wireless in configurazione Ad-hoc 11Mbit. Figura 8: Analisi del traffico di rete Legenda: In Verde il totale dei byte che transitano sulla rete In Rosso i byte inviati In Giallo i byte ricevuti 6. Sviluppi futuri L applicazione si presta a molteplici sviluppi futuri lungo diverse direttrici di progetto. La prima direttrice è quella di implementare la parte di livestreaming in modo da permettere la cattura dello stream e la successiva diffusione. Anche in questo caso possiamo sfruttare qualche libreria che il JMF ci mette a disposizione. Di pari passo a questo va anche l implementazione dei messaggi RTSP di ANNOUNCE e RECORD. Un altra direzione verso cui varrebbe la pena estendere il progetto è quella dell aumento della compatibilità con client già sul mercato come ad esempio il RealPlayer o il Windows 11 Media Player che attualmente non sono supportati. Allo stesso modo sarebbe interessante aumentare anche i formati supportati (vedi e creare degli artefatti che evitino le desincronizzazioni tra stream audio e video. Sul fronte del Disaster Recovery sarebbe interessante estendere il progetto in modo da prevedere la possibilità di avere n SlaveServer ed avere replicazione anche per il ControlServer poiché attualmente se il ControlServer cade, per avere la lista dei file devo interrogare il ControlServer di un altro nodo il cui indirizzo deve essere reperito da una pagina web.

12 7. References Non tutti i riferimenti bibliografici qui presentati trovano una piena applicazione nel progetto del sistema sviluppato. Essi sono stati consultati per la creazione di un background di conoscenza utile a capire il funzionamento dei protocolli, ad implementarli e a fare alcune scelte progettuali che poi alla fine hanno portato al risultato finale. 1. A. Corradi Dispense di Reti di Calcolatori L-S A.A S/ 2. JMF 2.0 API March Java Media Framework (JMF) 4. JMF RTP Support: 5. JMF 2.0 FAQs: JMF 2.0 Samples 8. RFC1889: RTP: A Transport Protocol for Real-Time Applications Jan RFC1890: RTP Profile for Audio and Video Conferences with Minimal Control Jan RFC2326: Real Time Streaming Protocol (RTSP) Apr IETF Internet Draft Real Time Streaming Protocol (RTSP) RFC2326bis Mar 03 Expires Sept 03 aft-ietf-mmusic-rfc2326bis-03.pdf 12. RTSP Site: 13. RFC2327: SDP: Session Description Protocol April RFC3551: RTP Profile for Audio and Video Conferences with Minimal Control July 2003 Obsoletes RFC JavaWorld: Proramming multimedia with JMF April /jw-0406-jmf1_p.html 16. Internet Media Group - Introduction to RTP/RTCP 17. J.C. De Martin Protocolli per la trasmissione real-time su reti IP Polito Jun ocolli_per_il_real_time_su_ip.pdf 18. Sito IANA per mime-type RFC2045: Multiporpouse Internet Mail Extension 20. IETF Draft di D. Yon: Connection-Oriented Media Transport in SDP July D/draft-ietf-mmusic-sdp-comedia-01.txt 21. IETF Draft di M.Westerlund: How to make Real-Time Streaming Protocol (RTSP) traverse Network Address Translators (NAT) and interact with Firewalls Feb 2003 Exp. Aug D/draft-ietf-mmusic-rtsp-nat-00.txt D/draft-ietf-mmusic-rtsp-nat-02.txt 22. Steve Mack :Streaming Media Bible Hungry Minds l/toc.html (c) 2005 Loris Cancellieri 12

Real Time Streaming Protocol

Real Time Streaming Protocol Real Time Streaming Protocol Da Wikipedia, l'enciclopedia libera. Il protocollo RTSP è stato sviluppato da RealNetworks, Netscape Communications, e Columbia University. L'RTSP ottimizza il flusso di dati.

Dettagli

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI SISTEMI A ORIENTAMENTO SPECIFICO I SISTEMI MULTIMEDIALI Obiettivi! Identificare le caratteristiche

Dettagli

Protocolli a supporto delle applicazioni multimediali distribuite in Internet Corso di Applicazioni Telematiche

Protocolli a supporto delle applicazioni multimediali distribuite in Internet Corso di Applicazioni Telematiche Protocolli a supporto delle applicazioni multimediali distribuite in Internet Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.3 Prof. Roberto Canonico Università degli Studi di Napoli Federico

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Corso di Applicazioni Telematiche A.A. 2008-09 Lezione n.4 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Trasferimento di informazioni multimediali in Internet

Dettagli

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688. Sockets e DatagramSocket

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688. Sockets e DatagramSocket Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688 Sockets e DatagramSocket Windows Phone prevede un interfaccia di programmazione per garantire agli sviluppatori

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 2 SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 2 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

Real Time Streaming Protocol. Akshat Sikarwar - Columbia University Traduzione e adattamento di Massimo De Santo, Università di Salerno

Real Time Streaming Protocol. Akshat Sikarwar - Columbia University Traduzione e adattamento di Massimo De Santo, Università di Salerno Real Time Streaming Protocol Akshat Sikarwar - Columbia University Traduzione e adattamento di Massimo De Santo, Università di Salerno Sommario Introduzione Proprietà del protocollo messaggi di RTSP Messaggi

Dettagli

JMF per applicazioni multimediali in Java

JMF per applicazioni multimediali in Java JMF per applicazioni multimediali in Java Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n. 9 Prof. Roberto Canonico Lezione a cura di Ing. Generoso Paolillo Università degli Studi di Napoli Federico

Dettagli

Tecniche di Comunicazione Multimediale

Tecniche di Comunicazione Multimediale Tecniche di Comunicazione Multimediale Standard di Comunicazione Multimediale Le applicazioni multimediali richiedono l uso congiunto di diversi tipi di media che devono essere integrati per la rappresentazione.

Dettagli

IP Internet Protocol

IP Internet Protocol IP Internet Protocol Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 13 IP - 1/20 IP IP è un protocollo a datagrammi In spedizione: Riceve i dati dal livello trasporto e

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) PARTE 1 richiami SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet ) Parte 1 Modulo 1: Stack TCP/IP TCP/IP Protocol Stack (standard de facto) Basato su 5 livelli invece che sui 7 dello stack ISO/OSI Application

Dettagli

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Principi fondamentali

Principi fondamentali Principi fondamentali Elementi di base Definizione di rete di calcolatori Tipologia di connessioni Architettura di rete Prestazioni di una rete di calcolatori Conclusioni 1 1 Bit e Byte BIT = BInary digit

Dettagli

Universita' di Verona Dipartimento di Informatica

Universita' di Verona Dipartimento di Informatica Universita' di Verona Dipartimento di Informatica 1 2 Problematiche Conferenza e sessione sono la generalizzazione della telefonata Fare una chiamata (protocollo di segnalazione) trovare l'utente negoziare

Dettagli

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1 Introduzione Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio Livello applicativo Principi delle applicazioni di rete 2-1 Pila di protocolli Internet Software applicazione: di

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

Dettagli

DomKing 2012. v1.0. - Indice - Installazione... pag.2. Guida al programma... pag.4. Funzione Secondo monitor... pag.4. Funzione Orologio... pag.

DomKing 2012. v1.0. - Indice - Installazione... pag.2. Guida al programma... pag.4. Funzione Secondo monitor... pag.4. Funzione Orologio... pag. DomKing 2012 v1.0 - Indice - Installazione... pag.2 Guida al programma... pag.4 Funzione Secondo monitor... pag.4 Funzione Orologio... pag.4 Funzione Timer... pag.4 Funzione Cantici... pag.5 Funzione Registrazione

Dettagli

Si precisa in ogni caso che questa guida rapida non esime dalla lettura del Manuale utente presente nell ambiente del Servizio Telematico Doganale.

Si precisa in ogni caso che questa guida rapida non esime dalla lettura del Manuale utente presente nell ambiente del Servizio Telematico Doganale. GUIDA RAPIDA versione 25 febbraio 2010 SERVIIZIIO TELEMATIICO DOGANALE Avvertenze: Questa guida vuole costituire un piccolo aiuto per gli operatori che hanno già presentato richiesta di adesione al servizio

Dettagli

4.1 Introduzione al protocollo RTSP

4.1 Introduzione al protocollo RTSP 4.1 Introduzione al protocollo RTSP Il Real Time Streaming Protocol (RTSP) [Schulzrinne e altri, 98] è un protocollo di livello applicazione, che fornisce un framework estensibile utile per implementare

Dettagli

Strumenti e Protocolli per il controllo dello Streaming

Strumenti e Protocolli per il controllo dello Streaming UNIVERSITÀ DEGLI STUDI DI BOLOGNA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica Reti di Calcolatori L-A Strumenti e Protocolli per il controllo dello Streaming Tesi di laurea di: Emanuele

Dettagli

Il protocollo TCP. Obiettivo. Procedura

Il protocollo TCP. Obiettivo. Procedura Il protocollo TCP Obiettivo In questo esercizio studieremo il funzionamento del protocollo TCP. In particolare analizzeremo la traccia di segmenti TCP scambiati tra il vostro calcolatore ed un server remoto.

Dettagli

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_09010 - Stefano Millozzi

Connessioni di rete. Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi. PdR_09010 - Stefano Millozzi Connessioni di rete Progetto di reti di Calcolatori e Sistemi Informatici - Stefano Millozzi 1 Socket orientato alla connessione o non orientato alla connessione 2 Socket in astratto 3 Socket modalità

Dettagli

Progetto per un Sistema di Video/Audio Sorveglianza Remota RemoteGuard

Progetto per un Sistema di Video/Audio Sorveglianza Remota RemoteGuard La Sapienza Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Anno Accedemico 2008-2009 Corso di Progetto di Reti di Calcolatori e Sistemi Informatici Prof. Stefano Millozzi

Dettagli

Servizi Internet multimediali

Servizi Internet multimediali Servizi Internet multimediali Appunti di Sistemi A cura del prof. ing. Mario Catalano F.Castiglione 1 F. Castiglione Applicazioni Elastiche Un utente umano attende informazioni da un server; Preferibile

Dettagli

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY

PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Giampiero Allamprese 0000260193 PROGETTO DI UN MIDDLEWARE PER L ACCESSO REMOTO A UN REPOSITORY Reti di Calcolatori LS prof. Antonio Corradi A.A. 2007/2008 ABSTRACT L obiettivo di questo progetto è la realizzazione

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 2 Reti di Calcolatori Sommario Software di rete TCP/IP Livello Applicazione Http Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) I Protocolli di comunicazione

Dettagli

License Service Manuale Tecnico

License Service Manuale Tecnico Manuale Tecnico Sommario 1. BIM Services Console...3 1.1. BIM Services Console: Menu e pulsanti di configurazione...3 1.2. Menù Azioni...4 1.3. Configurazione...4 1.4. Toolbar pulsanti...5 2. Installazione

Dettagli

Il livello Network del TCP/IP. Il protocollo IP (versione 4)

Il livello Network del TCP/IP. Il protocollo IP (versione 4) Il livello Network del TCP/IP. Il protocollo IP (versione 4) L architettura TCP/IP (il cui nome più preciso è ) è formata da diversi componenti, che si posizionano nello stack dei protocolli a partire

Dettagli

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un

Dettagli

Motivazioni Integrazione dei servizi Vantaggi e problemi aperti. Architettura di riferimento

Motivazioni Integrazione dei servizi Vantaggi e problemi aperti. Architettura di riferimento INDICE Motivazioni Integrazione dei servizi Vantaggi e problemi aperti Architettura di riferimento La codifica vocale Il trasporto RTP e RTCP QoS in reti IP e requirements La segnalazione H.323 SIP Cenni

Dettagli

TECN.PROG.SIST.INF. TCP/IP Livello TRASPORTO. 2015 - Roberta Gerboni

TECN.PROG.SIST.INF. TCP/IP Livello TRASPORTO. 2015 - Roberta Gerboni 2015 - Roberta Gerboni Caratteristiche del livello Trasporto Il livello Trasporto si occupa del trasferimento delle informazioni, chiamate segmenti, tra due processi in esecuzione su due computer collegati

Dettagli

Music Everywhere with BT

Music Everywhere with BT Music Everywhere with BT Acquaviva Luca 231767 luca.acquaviva@studio.unibo.it Colombini Gabriele 231491 gabriele.colombini@studio.unibo.it Manservisi Alberto 258370 alberto.manservisi@studio.unibo.it Abstract

Dettagli

Il clustering. Sistemi Distribuiti 2002/2003

Il clustering. Sistemi Distribuiti 2002/2003 Il clustering Sistemi Distribuiti 2002/2003 Introduzione In termini generali, un cluster è un gruppo di sistemi indipendenti che funzionano come un sistema unico Un client interagisce con un cluster come

Dettagli

Capitolo 7 Reti multimediali

Capitolo 7 Reti multimediali Capitolo 7 Reti multimediali Reti di calcolatori e Internet: Un approccio top-down 3 a edizione Jim Kurose, Keith Ross Pearson Education Italia 2005 7-1 Multimedia - Qualità del servizio: di cosa si tratta?

Dettagli

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing a.a. 2002/03 Livello di Trasporto UDP Descrive la comunicazione tra due dispositivi Fornisce un meccanismo per il trasferimento di dati tra sistemi terminali (end user) Prof. Vincenzo Auletta auletta@dia.unisa.it

Dettagli

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI

PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI PROGETTI DISPONIBILI IL CORSO DI PROGETTO DI RETI E SISTEMI INFORMATICI 1 Web Link Monitor... 2 2 Database Browser... 4 3 Network Monitor... 5 4 Ghost Site... 7 5 Copy Search... 9 6 Remote Audio Video

Dettagli

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008 Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome: Corso di laurea e anno: Matricola:

Dettagli

LUCA VACCARO. Politecnico di Milano. S2MS Guida di Riferimento

LUCA VACCARO. Politecnico di Milano. S2MS Guida di Riferimento LUCA VACCARO Politecnico di Milano S2MS Guida di Riferimento L U C A V A C C A R O S2MS Guida di Riferimento Software sviluppato da Luca Vaccaro luck87@gmail.com Progetto del corso Internetworking TCP/IP

Dettagli

Sommario. Davide Casella 1 FMSMEETING 2

Sommario. Davide Casella 1 FMSMEETING 2 Guida all utilizzo di FMSmeeting Sommario FMSMEETING 2 BARRA DELLA IMPOSTAZIONI 3 WHITEBOARD / PRESENTATION BOARD 4 AREE VIDEO 7 CHAT BOARD 7 PEOPLE LIST 8 AREA ZOOM 8 F.A.Q.: PROBLEMI ALL UTILIZZO DI

Dettagli

Trasporto traffico multimediale in Internet

Trasporto traffico multimediale in Internet Trasporto traffico multimediale in Internet Andrea BIANCO Andrea.Bianco@polito.it http://www.telematica.polito.it/ MULTIMEDIA IN INTERNET - 1 Tassonomia delle applicazioni Due classi (dal punto di vista

Dettagli

Audio IP Manager Guida Utente

Audio IP Manager Guida Utente Audio IP Manager Guida Utente Settembre 2008, Rev. 1.1 DGTech Engineering Solutions via Calzolara, 20 Bazzano (BO) -Italy Email: info@dg-tech.it www.dg-tech.it Indice generale Descrizione Programma...3

Dettagli

Si precisa in ogni caso che questa guida rapida non esime dalla lettura del manuale utente presente nell ambiente del Servizio Telematico Doganale.

Si precisa in ogni caso che questa guida rapida non esime dalla lettura del manuale utente presente nell ambiente del Servizio Telematico Doganale. GUIDA RAPIDA versione 11 marzo 2008 SEERVIIZZIIO TTEELLEEMATTIICO M DOGANALLEE G Avvertenze: Questa guida vuole costituire un piccolo aiuto per gli operatori che hanno già presentato richiesta di adesione

Dettagli

Programmazione in Rete

Programmazione in Rete Programmazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12 Sommario della

Dettagli

Java Remote Method Invocation

Java Remote Method Invocation Java Remote Method Invocation Programmazione in Rete e Laboratorio Comunicazione distribuita Port1 Java VM1 Java VM2 Port 2 Matteo Baldoni Dipartimento di Informatica Universita` degli Studi di Torino

Dettagli

Max Configurator v1.0

Max Configurator v1.0 NUMERO 41 SNC Max Configurator v1.0 Manuale Utente Numero 41 17/11/2009 Copyright Sommario Presentazione... 3 Descrizione Generale... 3 1 Installazione... 4 1.1 Requisiti minimi di sistema... 4 1.2 Procedura

Dettagli

Il Trasporto di Dati Real-time

Il Trasporto di Dati Real-time Il Trasporto di Dati Real-time Ormai molte applicazioni scambiano informazioni in cui le relazioni temporali sono molto importanti. La Telefonia via Internet, Videoconferenza, Lezioni a distanza, Meeting

Dettagli

Streaming unicast. Live media source. Media store. server. internet. Client player. control. 5. Multimedia streaming Pag. 1

Streaming unicast. Live media source. Media store. server. internet. Client player. control. 5. Multimedia streaming Pag. 1 5. Multimedia streaming Pag. 1 Streaming unicast Live media source Unicast streaming is provided in a classic client- fashion At least two flows are established between client and. A distribution flow

Dettagli

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.3 9 novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.3 9 novembre 2005 Laura Ricci IL LIVELLO TRASPORTO realizza un supporto per la comunicazione logica tra processi distribuiti comunicazione logica = astrazione che consente

Dettagli

Streaming Applicazioni di rete

Streaming Applicazioni di rete Applicazioni di rete V Incontro GARR Roma, 25 Novembre 2003 Stefano Zani INFN CNAF Le fasi dello streaming In generale l attività di streaming si svolge in tre fasi (che nel caso della trasmissione in

Dettagli

Streaming Red Hat Magazine 2004 N 2

Streaming Red Hat Magazine 2004 N 2 catrambone 2/4/04 9:56 AM Pagina 2 Catra Streaming Platform Streaming Una piattaforma di streaming per il mondo mobile (UMTS, GPRS) e non solo O ggi, trovare un sito web che non includa un qualche tipo

Dettagli

Trasporto traffico multimediale in Internet

Trasporto traffico multimediale in Internet Trasporto traffico multimediale in Internet Andrea BIANCO Andrea.Bianco@polito.it http://www.telematica.polito.it/ MULTIMEDIA IN INTERNET - 1 Tassonomia delle applicazioni Due classi (dal punto di vista

Dettagli

Laurea Specialistica in Informatica, Tecnologie Informatiche Anno Accademico 2008/2009 Reti Applicazioni e Servizi

Laurea Specialistica in Informatica, Tecnologie Informatiche Anno Accademico 2008/2009 Reti Applicazioni e Servizi Laurea Specialistica in Informatica, Tecnologie Informatiche Anno Accademico 2008/2009 Reti Applicazioni e Servizi Implementazione di una MIDlet che realizza un sistema di voto Christian Tiralosi Sviluppatori:

Dettagli

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Protocolli per il Web. Impianti Informatici. Protocolli applicativi Protocolli per il Web Protocolli applicativi I protocolli applicativi 2 Applicazioni Socket interface HTTP (WEB) SMTP (E-MAIL) FTP... NFS RPC DNS... Trasporto TCP UDP Rete ICMP RIP OSPF IP ARP RARP Non

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 1

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 1 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 1 Giovedì 5-03-2015 TESTO DI RIFERIMENTO RETI DI CALCOLATORI E INTERNET un

Dettagli

Laboratorio del corso Progettazione di Servizi Web e Reti di Calcolatori Politecnico di Torino AA 2014-15 Prof. Antonio Lioy

Laboratorio del corso Progettazione di Servizi Web e Reti di Calcolatori Politecnico di Torino AA 2014-15 Prof. Antonio Lioy Laboratorio del corso Progettazione di Servizi Web e Reti di Calcolatori Politecnico di Torino AA 2014-15 Prof. Antonio Lioy Soluzioni dell esercitazione n. 2 a cura di Giacomo Costantini 19 marzo 2014

Dettagli

Reti di Calcolatori in Tecnologia IP

Reti di Calcolatori in Tecnologia IP Reti di Calcolatori in Tecnologia IP Il Livello Transport e TCP Dott. Marco Bianchi 04/12/2001 1 Agenda Introduzione Indirizzamento Protocolli di livello transport Attivazione e rilascio di una connessione

Dettagli

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif Web e HTTP Terminologia Una pagina web consiste di oggetti Un oggetto può essere un file HTML, una immagine JPG, ecc. Una pagina web consiste di un file HTML base che fa riferimento a diversi oggetti al

Dettagli

Concetti fondamentali. Indirizzamento. Multicast su LAN. Multicast su Internet. RTP/RTCP su multicast IP. Ostacoli all'utilizzo del multicast

Concetti fondamentali. Indirizzamento. Multicast su LAN. Multicast su Internet. RTP/RTCP su multicast IP. Ostacoli all'utilizzo del multicast Migliore uso della banda alla sorgente Unicast Multicast 4 Concetti fondamentali Indirizzamento Unicast Multicast su LAN Multicast su Internet Host Migliore uso della banda alla sorgente Router Protocolli

Dettagli

Transmission Control Protocol

Transmission Control Protocol Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione

Dettagli

Reti Informatiche: Internet e posta. elettronica. Tina Fasulo. Guida a Internet Explorer e alla posta elettronica Windows Live Mail

Reti Informatiche: Internet e posta. elettronica. Tina Fasulo. Guida a Internet Explorer e alla posta elettronica Windows Live Mail Reti Informatiche: Internet e posta elettronica Tina Fasulo 2012 Guida a Internet Explorer e alla posta elettronica Windows Live Mail 1 Parte prima: navigazione del Web Il browser è un programma che consente

Dettagli

Livello Applicazione. Davide Quaglia. Motivazione

Livello Applicazione. Davide Quaglia. Motivazione Livello Applicazione Davide Quaglia 1 Motivazione Nell'architettura ibrida TCP/IP sopra il livello trasporto esiste un unico livello che si occupa di: Gestire il concetto di sessione di lavoro Autenticazione

Dettagli

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC BMSO1001 Virtual Configurator Istruzioni d uso 02/10-01 PC 2 Virtual Configurator Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Concetti

Dettagli

MODELLI ISO/OSI e TCP/IP

MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 1 Reti di Calcolatori MODELLI ISO/OSI e TCP/IP D. Talia RETI DI CALCOLATORI - UNICAL 2 Reti di Calcolatori Livelli e Servizi Il modello OSI Il modello TCP/IP Un confronto

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

Sicurezza delle applicazioni web: protocollo HTTP

Sicurezza delle applicazioni web: protocollo HTTP Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Sicurezza delle applicazioni web: protocollo HTTP Alessandro Reina Aristide Fattori

Dettagli

Eureka Web. Connessione remota a centrali via Web

Eureka Web. Connessione remota a centrali via Web Eureka Web Connessione remota a centrali via Web Luglio 2013 2 Connessione remota a centrali via Web INDICE ACCESSO E UTILIZZO DEL PANNELLO DI CONTROLLO DI EUREKA WEB IMPOSTAZIONE DI EUREKA WEB Impostazione

Dettagli

MANUALE D USO DEL SOFTWARE APPLICATIVO ADB-TOOLBOX (VERSIONE 1.7 E SUPERIORI) UTILIZZO DEI SERVIZI WMS-WFS-WCS E DEL CATALOGO CSW

MANUALE D USO DEL SOFTWARE APPLICATIVO ADB-TOOLBOX (VERSIONE 1.7 E SUPERIORI) UTILIZZO DEI SERVIZI WMS-WFS-WCS E DEL CATALOGO CSW Ministero dell Ambiente e della Tutela del Territorio e del Mare MANUALE D USO DEL SOFTWARE APPLICATIVO ADB-TOOLBOX (VERSIONE 1.7 E UTILIZZO DEI SERVIZI WMS-WFS-WCS E DEL CATALOGO CSW Titolo Autore Oggetto

Dettagli

PROTOCOLLI APPLICATIVI PER INTERNET

PROTOCOLLI APPLICATIVI PER INTERNET PROTOCOLLI APPLICATIVI PER INTERNET IC3N 2000 N. 5 La famiglia dei protocolli TCP/IP Applicazioni e-mail,ftp,ssh,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico 6 1 Protocolli

Dettagli

Reti basate sulla stack di protocolli TCP/IP

Reti basate sulla stack di protocolli TCP/IP Reti basate sulla stack di protocolli TCP/IP Classe V sez. E ITC Pacioli Catanzaro lido 1 Stack TCP/IP Modello TCP/IP e modello OSI Il livello internet corrisponde al livello rete del modello OSI, il suo

Dettagli

Streaming Streaming. Multimedia su Internet (1)

Streaming Streaming. Multimedia su Internet (1) Pagina 1 di 32 Streaming Streaming Buongiorno, io mi chiamo Paola Salomoni e insegno Sistemi Operativi e Sistemi Multimediali all'università di Bologna. Lo scopo di questa lezione è quello di introdurre

Dettagli

Applicazioni distribuite

Applicazioni distribuite Applicazioni distribuite Maurizio Cozzetto 1 agosto 2009 Un pò di teoria Ricordiamo che un'applicazione distribuita è un'applicazione composta da più programmi (almeno 2) posti in esecuzione su macchine

Dettagli

Distribuzione di contenuti multimediali

Distribuzione di contenuti multimediali PARTE 13 Distribuzione di contenuti multimediali Parte 13 Modulo 1: Introduzione Contenuti multimediali La definizione di multimediale è molto arbitraria Tipicamente, si intende la combinazione di più

Dettagli

Un architettura per lo streaming multimediale in ambiente distribuito

Un architettura per lo streaming multimediale in ambiente distribuito tesi di laurea Anno Accademico 2012/2013 relatore Ch.mo prof. Simon Pietro Romano correlatori Ing. Tobia Castaldi candidato Alessandro Arrichiello Matr. M63/43 Contesto: o Content Distribution Networks

Dettagli

OSOR. Applicazioni di Rete

OSOR. Applicazioni di Rete OSOR Applicazioni di Rete 1 Client-Server in Sistemi Distribuiti Host A Host B Client TCP/UDP IP Network Interface Internet Risultati Server TCP/UDP IP Network Interface Richiesta Applicazioni di Rete

Dettagli

Reti: unità di misura

Reti: unità di misura Reti: unità di misura bandwidth: range di frequenze usate per la trasmissione del segnale elettromagnetico che codifica l informazione misurata in Hertz (Hz) bit rate: #bit trasmissibili su canale per

Dettagli

appunti delle lezioni Architetture client/server: applicazioni client

appunti delle lezioni Architetture client/server: applicazioni client Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un esempio particolarmente

Dettagli

Socket & RMI Ingegneria del Software - San Pietro

Socket & RMI Ingegneria del Software - San Pietro Socket & RMI Ingegneria del Software - San Pietro Socket È possibile trattare la comunicazione di rete allo stesso modo con cui è possibile trattare la lettura da file. La classe Socket rappresenta la

Dettagli

Reti di Telecomunicazioni LB Introduzione al corso

Reti di Telecomunicazioni LB Introduzione al corso Reti di Telecomunicazioni LB Introduzione al corso A.A. 2005/2006 Walter Cerroni Il corso Seguito di Reti di Telecomunicazioni LA Approfondimento sui protocolli di Internet TCP/IP, protocolli di routing,

Dettagli

Corso di Applicazioni Telematiche

Corso di Applicazioni Telematiche Streaming multimediale: tecniche e protocolli Corso di Applicazioni Telematiche A.A. 2010-11 Prof. Simon Pietro Romano Università degli Studi di Napoli Federico II Facoltà di Ingegneria Cos'è lo streaming?

Dettagli

SISTEMI OPERATIVI DISTRIBUITI

SISTEMI OPERATIVI DISTRIBUITI SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching

Dettagli

Il livello trasporto Protocolli TCP e UDP

Il livello trasporto Protocolli TCP e UDP Il livello trasporto Protocolli TCP e UDP Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi:

Dettagli

Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete

Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete Corsi di Reti di Calcolatori (Docente Luca Becchetti) Esercizi su strati di trasporto e di rete 1. Si consideri un protocollo per il trasporto non affidabile di dati realtime. Il sender spedisce un pacchetto

Dettagli

Reti di Calcolatori. Lezione 2

Reti di Calcolatori. Lezione 2 Reti di Calcolatori Lezione 2 Una definizione di Rete Una moderna rete di calcolatori può essere definita come: UN INSIEME INTERCONNESSO DI CALCOLATORI AUTONOMI Tipi di Rete Le reti vengono classificate

Dettagli

Capitolo 2 - parte 4. Corso Reti ed Applicazioni Mauro Campanella Como 2003

Capitolo 2 - parte 4. Corso Reti ed Applicazioni Mauro Campanella Como 2003 Capitolo 2 - parte 4 Corso Reti ed Applicazioni Mauro Campanella Como 2003 Agenda - Content Distribution Networks (CDN) - Peer to Peer M. Campanella Corso Reti ed Applicazioni - Como 2003 Cap 2-4 pag.

Dettagli

FC_Configurazione BACnet V 2.03

FC_Configurazione BACnet V 2.03 FC_Configurazione BACnet V 2.03 Configurazione Interfaccia BACnet 2 Contenuto: 3. Di fatto 4. Come connetterlo? Connessione diretta 5. Come connetterlo? Connessione su Network 6. Configurazione FireClass

Dettagli

Applicazioni Multimediali Reti per la multimedialità. Applicazioni multimediali: audio e video in rete ( continuous media )

Applicazioni Multimediali Reti per la multimedialità. Applicazioni multimediali: audio e video in rete ( continuous media ) Applicazioni Multimediali Reti per la multimedialità Applicazioni multimediali: audio e video in rete ( continuous media ) 1 Applicazioni Multimediali Tipicamente sensibili a ritardi ed alle variazioni

Dettagli

Protocolli e architetture per WIS

Protocolli e architetture per WIS Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS

Dettagli

4 - Il livello di trasporto

4 - Il livello di trasporto Università di Bergamo Dipartimento di Ingegneria Gestionale e dell Informazione 4 - Il livello di trasporto Architetture e Protocolli per Internet Servizio di trasporto il livello di trasporto ha il compito

Dettagli

Man In The Middle & SSL Attack

Man In The Middle & SSL Attack Man In The Middle & SSL Attack Autore: Duffabio Provenienza: http://duffabio.altervista.org/ Ringrazio BlackLight perchè per la teoria mi sono basato sulle sue guide visto che è da li che ho studiato la

Dettagli

Parte II: Reti di calcolatori Lezione 9

Parte II: Reti di calcolatori Lezione 9 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 9 Martedì 1-04-2014 1 Applicazioni P2P

Dettagli

L architettura di TCP/IP

L architettura di TCP/IP L architettura di TCP/IP Mentre non esiste un accordo unanime su come descrivere il modello a strati di TCP/IP, è generalmente accettato il fatto che sia descritto da un numero di livelli inferiore ai

Dettagli

Livello Trasporto Protocolli TCP e UDP

Livello Trasporto Protocolli TCP e UDP Livello Trasporto Protocolli TCP e UDP Davide Quaglia Reti di Calcolatori - Liv Trasporto TCP/UDP 1 Motivazioni Su un host vengono eseguiti diversi processi che usano la rete Problemi Distinguere le coppie

Dettagli

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità

Standard: OSi vs TCP/IP. Il livello di trasporto. TCP e UDP. TCP: Transmission Control Protocol. TCP: funzionalità Standard: OSi vs TCP/IP Application Presentation Session NFS XDR RPC Telnet, FTP SMTP, HTTP SNMP, DNS RTP,... Protocolli per la comunicazione tra applicativi: le raisons d etre della rete Transport TCP

Dettagli

Reti di Calcolatori IL LIVELLO RETE

Reti di Calcolatori IL LIVELLO RETE Reti di Calcolatori IL LIVELLO RETE D. Talia RETI DI CALCOLATORI - UNICAL 3-1 Il Livello RETE Servizi del livello Rete Organizzazione interna Livello Rete basato su Circuito Virtuale Livello Rete basato

Dettagli

Sistema di diffusione Audio/Video su streaming.

Sistema di diffusione Audio/Video su streaming. 1 Sistema di diffusione Audio/Video su streaming. IL Progetto. Il progetto illustrato nel seguito prevede mediante la tecnologia di streaming la diffusione di audio/video su misura del cliente al 100%,

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 1

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Parte II Lezione 1 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II Lezione 1 Martedì 4-03-2014 1 TESTO DI RIFERIMENTO RETI DI CALCOLATORI

Dettagli