RTP MIDI – parte 2 Lezione 16

Slides:



Advertisements
Presentazioni simili
Prof. Carla Fanchin – L.S. Tron
Advertisements

Tecnologie. Reti locati e reti globali Reti locali (LAN, Local Area Networks) –Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti.
I dati: tipi e strutture U.D. 9 pag 334 L.S. Tron 4TC a.s. 2006/07.
Elaborazione del Book Informatico
Lezione 18 MIDI e XML Programmazione MIDI (Prof. Luca A. Ludovico)
Esercitazione su SMF Lezione 14
Network Musical Performance: RTP MIDI
Concetti fondamentali
Italo Losero S tray B ytes strane cose succedono nelle reti....
Introduzione alle Reti di Prossima Generazione
I protocolli TCP/UDP prof.: Alfio Lombardo.
Reti di Comunicazione Reti Locali (LAN - Local Area Network) Reti Geografiche (WAN - Wide Area Network) Reti Metropolitane (MAN - Metropolitan Area.
La rete in dettaglio: rete esterna (edge): applicazioni e host
3-1 User Datagram Protocol: UDP Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All.
2-1 Trasferimento di file: ftp Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
La rete del futuro nellautonomia scolastica Sezione propedeutica I fondamentali e concetti di TCP/IP.
Programmazione su Reti
Modello del sistema di posta Elettronica
Architettura del World Wide Web
I protocolli TCP/UDP prof.: Alfio Lombardo.
Internet Control Message Protocol rfc. Error Reporting Testing di affidabilità Controllo di congestione Notifica di route-change Misurazione di performance.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
RETI E INTERNET.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO TRASPORTO Protocolli TCP e UDP.
Reti di Calcolatori MODELLI ISO/OSI e TCP/IP.
I protocolli di trasporto per multimedia RTP e RTCP
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
ICMP - PING - TRACEROUTE
Dal calcolatore al deposito di informazioni anche da condividere. Cè nessuno?
Corso di Informatica per Giurisprudenza Lezione 7
Cos’è Internet Una rete globale di reti basata sul protocollo TCP/IP.
POSTA ELETTRONICA PER GLI STUDENTI DI ECONOMIA POSTA SU HOST b Host e terminali La base dati dei messaggi risiede sul mainframeLa base dati dei messaggi.
I protocolli TCP/UDP prof.: Alfio Lombardo.
MODELLI DI RIFERIMENTO
Introduzione al controllo derrore. Introduzione Quando dei dati vengono scambiati tra due host, può accadere che il segnale venga alterato. Il controllo.
Modulo n – U.D. n – Lez. n Nome Cognome – titolo corso.
TCP/IP.
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corso di Laurea in Conservazione e Restauro dei Beni Culturali
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
Internet.
L’architettura a strati
prof.ssa Giulia Quaglino
Distributed System ( )7 TCP/IP four-layer model.
FTP File Transfer Protocol
Questo modello può essere utilizzato come file iniziale per la presentazione di materiale didattico per la formazione in gruppo. Sezioni Fare clic con.
Creato da Riccardo Nuzzone
Livello di trasporto Protocolli TCP e UDP.
MUSE Progetto di un servizio di audio streaming in reti wireless Progetto realizzato da: Leardini Francesco Mercati Alberto Morsiani Marco Bologna
Comunicazione nelle reti – protocolli
1: Introduction1 Stratificazione protocollare (Protocol “Layering”) Le reti sono complesse! r Molti elementi: m host m router m link fisici dalle caratteristiche.
Consuntivo corso Reti diCalcolatori Reti di Calcolatori (F1I063) Docente Luigi Vetrano Durata Ore di lezione56 di cui, ore di.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 1 – UDP.
Servizi Internet Claudia Raibulet
Muse2: MUSic Everywhere with WI-FI Progetto realizzato da: Bambini Stefano Bergamini Andrea Pierangeli Diego Bologna C.d.L.S. Ingegneria Informatica.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
Strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI sono comprese negli strati fisico, di collegamento e parte.
1 Sistemi e Tecnologie della Comunicazione Lezione 23: transport layer: TCP e UDP.
Sistemi e Tecnologie della Comunicazione
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
Risultati Leapfrog IP per una comunicazione sicura e affidabile Cristiano Novelli ENEA, XML-Lab.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
Sezione propedeutica I fondamentali e concetti di TCP/IP.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
INTERNET MAP SCENARIO Primi anni ’90: Rapida crescita della rete Internet. Nuove applicazioni multimediali. Esigenza di applicazioni security – sensitive.
RTP MIDI e Network Musical Performances
Transcript della presentazione:

RTP MIDI – parte 2 Lezione 16 Programmazione MIDI (Prof. Luca A. Ludovico)

Network Musical Performance (NMP) Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Real Time Protocol (RTP): formato del pacchetto Specifiche su funzionalità e struttura dei pacchetti: RFC 3550 Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Request for Comments (RFC) Una RFC è un documento che riporta informazioni o specifiche riguardanti nuove ricerche, innovazioni e metodologie dell'ambito informatico. I principali protocolli per Internet sono stati proposti e descritti all’interno di specifiche RFC. Per diventare standard, devono essere vagliati da IETF (Internet Engineering Task Force, http://www.ietf.org). Fonte ufficiale per le RFC sul Web: RFC Editor http://www.rfc-editor.org/rfc.html Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Esempi notevoli di RFC DHCP RFC 2131 "Dynamic Host Configuration Protocol" DNS RFC 1034,1035 "Domain Names" FTP RFC 959 "File Transfer Protocol" HTTP RFC 2068 "Hypertext Transfer Protocol 1.1" IPv4 RFC 791 "Internet Protocol" SMTP RFC 821,822 "Simple Mail Transfer Protocol" UDP RFC 768 "User Datagram Protocol" TCP RFC 793 "Transmission Control Protocol" Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

RTP MIDI Proposta di protocollo standard per la trasmissione di messaggi MIDI in pacchetti RTP su reti non affidabili Problemi dovuti a latenza o smarrimento di pacchetti: introduzione di artefatti Transienti (ad esempio, smarrimento di un NoteOn) Indefiniti (ad esempio, smarrimento di un NoteOff o di un MIDI Control Change per il controller 7 – Channel Volume) Obiettivo: minimizzare gli artefatti transienti ed eliminare quelli indefiniti, ma senza trasmissione di pacchetti di acknowledgment dal destinatario al mittente Specifiche su funzionalità e struttura dei pacchetti: RFC 6295 Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Formato del payload RTP MIDI Il payload è la parte estensibile di un pacchetto RTP. Ciò che caratterizza il protocollo RTP MIDI è il payload. Il formato del payload mappa uno stream di comandi MIDI su uno stream RTP 16 voice channels system commands In generale, il payload è strutturato nel seguente modo: header MIDI list, ossia coppie (Delta Time, comando), eventualmente con codifica Running status Recovery Journal (opzionale) Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Formato del payload RTP MIDI: MIDI list Strutturazione della MIDI list (di lunghezza variabile a seconda del valore del flag B e quindi del campo LEN nell’header) Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

RTCP RTCP (Real Time Control Protocol): definito dallo standard RTP come protocollo di comunicazione “all’indietro” (da destinatario a mittente) a bassa occupazione di banda Specifiche su funzionalità e struttura dei pacchetti: RFC 3550 Agisce congiuntamente a RTP per la consegna e l’impacchettamento di dati multimediali, ma non trasporta informazione multimediale Funzione primaria: feedback sulla qualità del servizio (QoS, quality of service) nella distribuzione inviando periodicamente informazioni statistiche ai partecipanti della sessione Osservazione: RTCP è definito da specifiche RTP, non RTP MIDI Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Comunicazione RTP e RTCP RTP e RTCP sono unidirezionali: RTP dal mittente S (source) al destinatario D (destination) RTCP dal destinatario D al mittente S Nel complesso, c’è feedback! S D Informazione statistica pacchettizzata RTCP Informazione multimediale pacchettizzata RTP Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

RTCP e campo EHSNR I pacchetti di ritorno RTCP comprendono un campo EHSNR EHSNR (Extended Highest Sequence Number Received) codifica il più alto numero di sequenza che un destinatario D osserva da parte di un mittente S EHSNR è a 32 bit i 16 bit di ordine basso riportano il Sequence Number del pacchetto RTP osservato da D I 16 bit di ordine alto codificano un contatore che tiene conto di quanti cicli ha compiuto il Sequence Number (ossia quante volte è stato azzerato) Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Recovery Journal Sezione 16.1 Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Formato del payload RTP MIDI: flag J se J = 1, allora il pacchetto si chiude con un Recovery Journal di lunghezza variabile Considerazioni: Se J = 0, non è presente il Recovery Journal (vantaggi e svantaggi) Dove inizia il Recovery Journal? Si può inferire dal campo LEN Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Recovery journal Finalità: minimizzare gli artefatti transienti ed eliminare quelli indefiniti provocati da ritardi nella consegna dei pacchetti o da una loro perdita Si basa sui concetti di checkpoint e di history Non tiene traccia della storia complessiva della comunicazione tra mittente e destinatario, ma solo a partire da un punto specifico identificato come checkpoint (checkpoint history) Caratteristiche Non usa ritrasmissione o meccanismi di acknowledgment Non è un log completo dei comandi MIDI: solo alcuni comandi possono generare artefatti (e quindi devono essere protetti); inoltre, alcuni comandi tipicamente generano un gran numero di valori e solo il più recente deve essere mantenuto Il journal viene periodicamente svuotato sulla base del checkpoint Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Come costruire un LOG incrementale D RTP Header Payload Header Payload MIDI list History MIDI list History Note On 1 Note On 1 Esecuzione della 1a nota Note On 2 Note On 1 Note On 2 Note On 1 Esecuzione della 2a nota Note Off 1 Note On 2 Note On 1 Pacchetto smarrito (ma D non lo può sapere) Entrambe le note ancora in esecuzione Note Off 2 Note Off 1 Note On 2 Note On 1 Note Off 2 Note Off 1 Note On 2 Note On 1 Spegnimento di entrambe le note Grazie al confronto dei Recovery journal, un artefatto indefinito (quale lo smarrimento di un Note Off) viene trasformato in artefatto transiente Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Mittente e destinatario RTP Il mittente S: Genera l’header RTP del nuovo pacchetto Genera il payload RTP MIDI, ossia l’header e la MIDI list Genera il recovery journal Invia il pacchetto sulla rete Aggiorna la propria copia del recovery journal estendendo la checkpoint history sulla base della MIDI list appena inviata Monitora i pacchetti RTCP per stabilire il checkpoint corrente Il destinatario D: Esegue con la corretta temporizzazione i comandi MIDI nella MIDI list del pacchetto ricevuto Tiene traccia del numero di sequenza più alto e predice l’arrivo di un pacchetto con numero incrementato di uno Se rileva discontinuità nella sequenza, analizza il Recovery journal del pacchetto più recente ed eventualmente lancia algoritmi di recovery Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Struttura gerarchica del journal Livello più alto della gerarchia Channel journal Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

I capitoli dei Channel journal Channel journal viene compilato canale per canale Nell’header c’è un indice dei “capitoli” P  Program Change C  Control Change W  Pitch Wheel N  Note Off, Note On E  Note Command Extras T  Channel Aftertouch A  Poly Aftertouch Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Esempio: il capitolo W Il capitolo W protegge il comando Pitch Wheel Il capitolo, di lunghezza fissa, è costituito da 2 ottetti, in accordo con il formato del comando MIDI (2 data byte) Questo capitolo appare nel journal se un comando Pitch Wheel fa parte della checkpoint history Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Esempio: il capitolo P Il capitolo P protegge il comando Program Change Il capitolo, di lunghezza fissa, è costituito da 3 ottetti, in parziale accordo con il formato del comando MIDI (selezione del banco e selezione del program) Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Esempio: il capitolo N Il capitolo N protegge i comandi NoteOn (e NoteOff) Il capitolo ha lunghezza variabile, specificata dal campo LENGTH Il flag Y specifica se il NoteOn è recente o meno, nel secondo caso può essere ignorato Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)

Riferimenti Sito Web http://www.cs.berkeley.edu/~lazzaro/rtpmidi/ Dettagli sullo standard http://www.rfc-editor.org/rfc/rfc4696.txt http://www.rfc-editor.org/rfc/rfc6295.txt Articolo introduttivo http://www.cs.berkeley.edu/~lazzaro/sa/pubs/pdf/aes117.pdf Caso di studio su NMP e RTP MIDI http://www.cs.berkeley.edu/~lazzaro/sa/pubs/pdf/nossdav01.pdf Programmazione MIDI (Prof. Luca A. Ludovico) 16. RTP MIDI (parte 2)