4.1 Introduzione al protocollo RTSP

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "4.1 Introduzione al protocollo RTSP"

Transcript

1 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 il controllo del trasporto di dati multimediali isocroni. Il protocollo RTSP inizializza e controlla flussi singoli o multipli di media continui sincronizzati nel tempo. Esso non trasporta i dati costituenti questi flussi, anche se è possibile realizzare una trasmissione interlacciata dei flussi di controllo con quelli dei dati. RTSP funziona come un controllo remoto su rete per server multimediali. L insieme dei flussi da controllare sono specificati tramite una descrizione della presentazione. La nozione di connessione RTSP non esiste: invece un server crea un identificatore univoco per ogni sessione. Una sessione RTSP non è legata in alcun modo ad una connessione di trasporto come una su TCP. Durante una sessione RTSP, un client RTSP, per trasmettere le sue richieste, può utilizzare una connessione diversa per ognuna di esse. In alternativa è possibile usare un protocollo di trasporto non orientato alla connessione come l UDP. I flussi controllati da RTSP possono usare il protocollo RTP, ma il funzionamento di RTSP non dipende dallo specifico meccanismo di trasporto utilizzato per i dati multimediali. RTSP è stato progettato in modo che fosse simile al protocollo HTTP/1.1 in sintassi ed operazioni, affinchè fosse possibile aggiungere i meccanismi di estensione dell HTTP anche all RTSP. Però RTSP differisce dall HTTP per molti aspetti importanti: RTSP introduce un certo numero di metodi nuovi e utilizza differenti identificatori di protocollo. Un sever RTSP ha la necessità di mantenere delle informazioni di stato, in contrapposizione al funzionamento di HTTP che è privo di un concetto di stato. Sia il client che il server RTSP possono inviare richieste. I dati sono trasportati fuori banda da un protocollo differente. RTSP usa per definizione lo standard ISO (UTF-8) invece che l ISO , in modo da essere consistente con le nuove caratteristiche di internazionalizzazione che si stanno introducendo nell HTTP. L URI (Universal Resource Identifier) delle richieste è sempre assoluto. Mentre l HTTP/1.1 pone nelle richieste solo un percorso assoluto, e inserisce il nome dell host in un campo intestazione separato. L URI assoluto permette di implementare in modo semplice il virtual hosting, con cui si possono mantenere su un singolo host con un unico indirizo IP diverse strutture di documenti. Il protocollo supporta le seguenti operazioni: Prelevamento di sessioni multimediali da un media-server. Il client può richiedere la descrizione di una presentazione multimediale tramite HTTP, SDP o altri metodi. Se la presentazione è trasmessa in multicast, la sua descrizione contiene l indirizzo e le porte usate per trasmettere i flussi real-time. Mentre se la trasmissione è unicast, deve essere il client a fornire al server l indirizzo e le porte a cui trasmettere i flussi real-time. Invito di un media-server in una conferenza. Un media-server può essere invitato ad unirsi in una conferenza esistente, o per effetuare il playback di qualche media all interno della conferenza, oppure per registrare tutti o un sottinsieme dei media esistenti nella conferenza. Le richieste RTSP possono essere gestite dai proxy, tunnel e cache come avviene per l HTTP/1.1 [Fielding e altri, 97].

2 4.1.1 Terminologia Di seguito è riportata la definizione della terminologia utilizzata nell ambito di questo lavoro, in tutto quello che si riferisce a RTSP. Controllo Aggregato: il controllo contemporaneo di flussi multipli. Ad esempio per un flusso audio ed uno video logicamente correlati, un client RTSP può inviare al server una singola richiesta di play o pause, che avrà effetto su entrambi. Conferenza: una presentazione multimediale con più partecipanti (>= 1). Client: l applicazione client che effettua le richieste ad uno o più server di sessioni multimediali. Connessione: un circuito virtuale, strato di trasporto, stabilito tra due applicazioni comunicanti. Media continui: dati caratterizzati da relazioni temporali (audio, video, ecc ). Entità: l informazione trasferita come payload in una richiesta o una risposta RTSP. Una entità è costituita da metainformazioni nella forma di intestazioni-entità, e contenuti nella forma di corpoentità. Media Server: l applicazione server che provvede alla riproduzione e alla registrazione di uno o più flussi multimediali. All interno di una presentazione, differenti flussi possono aver origine da diversi media server. (Media) stream: una singola istanza di media (audio, video, WB, ecc ). Quando si usa RTP, uno stream è costituito da tutti i pacchetti RTP ed RTCP creati da una sorgente in una sessione RTP. Questo è equivalente alla definizione di uno stream DSM-CC 1. Messaggio: l unità base di una comunicazione RTSP costituito da una sequenza strutturata di ottetti conforme alla sintassi RTSP, trasmessa tramite un protocollo orientato o non orientato alla connessione. Partecipanti: sono i membri di una conferenza. Un partcipante può essere anche una macchina (ad es. un media server di registrazione o riproduzione). Presentazione: un insieme di uno o più stream presentati al client come un tutt uno, usando una descrizione della presentazione. In molti casi, ma non sempre, questo implica il controllo aggregato degli stream. Descrizione della presentazione: contiene le informazioni riguardanti uno o più stream della presentazione, come l insieme delle codifiche, gli indirizzi di rete, i contenuti. Altri protocolli dell IETF, come l SDP, usano il termine sessione per indicare una presentazione live. Risposta: un messaggio risposta di RTSP. Richiesta: un messaggio richiesta di RTSP. Sessione RTSP: una transazione RTSP completa, per ottenere, ad esempio, la visione completa di un filmato. 1 Vedi Appendice A.

3 4.2 Implementazione di RTSP Il linguaggio utilizzato per implementare RTSP è Java. Trattandosi di un linguaggio ad oggetti, è stato naturale implementare le varie parti che costituiscono RTSP tramite un mappaggio uno ad uno su opportune classi di Java. Quindi sono state realizzate una classe RtspClient, che implementa un client RTSP e che fa parte del package rtsp.client, e una classe RtspServer, che implementa un server RTSP e che fa parte del package rtsp.server. Mentre il sottosistema di parsing dei messaggi RTSP è realizzato in maniera simile ad un riconoscitore di linguaggi LL1, utilizzando un approccio Top-Down. L insieme di classi che compongono il sottosistema di parsing, sono raggruppate in un package di Java chiamato rtsp.common. I servizi offerti da questo package sono utilizzati sia dal server che dal client Parametri del Protocollo. RTSP URL Per riferire le risorse di rete sono utilizzati gli schemi rtsp ed rtspu. La sintassi per gli URL è: Per ora i fragment ed i query identifiers dell abs_path non hanno per l RTSP un rtsp_url = ( "rtsp:" "rtspu:" ) "//" host [ ":" port ] [abs_path ] host = <A legal Internet host domain name of IP address (in dotted decimal form), as defined by Section 2.1 of RFC 1123 \cite{rfc1123}> port = *DIGIT abs_path is defined in RFC 2068/Par significato definito (a differenza dell HTTP), quindi in questa implementazione non sono utilizzati. Lo schema rtsp richiede che i comandi vengano trasmessi su un protocollo affidabile (per Internet si usa il TCP), mentre lo schema rtspu identifica un protocollo non affidabile (per Internet si usa l UDP). Si è scelto di implementare il trasporto dei messaggi RTSP solo su TCP, in quanto si è ritenuto necessario utilizzare un protocollo di trasporto affidabile per il trasporto dei messaggi di un protocollo di controllo come RTSP. Se non viene specificata la porta, si assume che essa sia la 554. Una presentazione o uno stream è identificato tramite una stringa di testo, che ha il formato di un URL. Questi URL possono riferirsi ad un singolo stream, oppure ad un aggregato di stream. Un esempio di URL di RTSP è: rtsp://lis3.deis.unical.it:554/lecture1/video con cui si identifica lo stream audio all interno della presentazione Lecture1, che può essere controllata tramite richieste RTSP inviate su di una connessione TCP alla porta 554 dell host lis3.deis.unical.it. Le componenti di un percorso (path) sono opache per il client, e non implicano una struttura particolare del file system del server. La classe RtspURL si occupa di implementare il parsing degli URL utilizzati in RTSP. Timestamp relativi in SMPTE

4 smpte-range = smpte-type "=" smpte-time "-" [ smpte-time ] smpte-type = "smpte" "smpte-30-drop" "smpte-25" ; other timecodes may be added smpte-time = 1*2DIGIT ":" 1*2DIGIT ":" 1*2DIGIT [ ":" 1*2DIGIT ] [ "." 1*2DIGIT ] Esprimono il tempo relativo all inizio di un stream (videoclip). La sintassi è la seguente: L smpte-time ha il formato: ore:minuti:secondi:frame.subframe. Il formato smpte-30-drop ha un frame rate di frame/secondo. Anche se in questa implementazione non viene utilizzato, è stata realizzata la classe Smpte che si occupa del parsing di questo tipo di parametro. Normal Play Time (NPT) Indica la posizione assoluta nello stream relativamente all inizio della presentazione. Questo tipo di timestamp è costituito da una parte sinistra esprimibile o in secondi oppure in ore,minuti e secondi. La parte destra è misurata in frazioni di secondo. L inizio di una presentazione corrisponde ad un npt pari a 0.0; non sono definiti valori negativi. La costante speciale now è utilizzati solo per eventi live. NPT è definito come nel DSM-CC 2 : Intuitivamente l NPT è l orologio che l utente umano associa al programma. E visualizzato come su un VCR. L NPT avanza normalmente in modo play (scala=1), avanza velocemente nel modo fast forward, decrementa quando si effettua il play inverso, è fisso in modo pausa. npt-range = ( npt-time "-" [ npt-time ] ) ( "-" npt-time ) npt-time = "now" npt-sec npt-hhmmss npt-sec = 1*DIGIT [ "." *DIGIT ] npt-hhmmss = npt-hh ":" npt-mm ":" npt-ss [ "." *DIGIT ] npt-hh = 1*DIGIT ; any positive number npt-mm = 1*2DIGIT ; 0-59 npt-ss = 1*2DIGIT ; 0-59 La sintassi è la seguente: Esempi: npt= npt=12:05:35.3- npt=now- Il Parsing degli NPT avviene nella classe omonima Npt. Tempo Assoluto Il tempo assoluto è espresso nel formato ISO 8601, usando UTC (GMT). Si possono indicare anche le frazioni di secondo. La sintassi è la seguente: utc-range = "clock" "=" utc-time "-" [ utc-time ] utc-time = utc-date "T" utc-time "Z" 2 utc-date = 8DIGIT ; < YYYYMMDD > vedi utc-time Appendice A. = 6DIGIT [ "." fraction ] ; < HHMMSS.fraction >

5 Esempio: la data 8 Novembre 1998 ore 14:37:20 ed un quarto di secondo in UTC si esprime: T Z Il parsing di questo tipo di parametro avviene nella classe Utc Il sottosistema di parsing dei messaggi. Il messaggio RTSP, nella sua forma più generica, rappresentato dalla classe RtspMessage, ha la forma seguente: INTESTAZIONE CORPO Esistono fondamentalmente due tipi di messaggi: richiesta RTSP ed risposta RTSP. Il protocollo RTSP è di tipo testuale: i messaggi sono delle stringhe di testo, di lunghezza variabile, organizzate per righe, separate dalla combinazione dei caratteri di terminazione CRLF (ASCII 13 e 10), anche se il parser RTSP deve essere capace di distinguere tra due righe separate dal solo carattere CR oppure LF. Ogni riga è divisa in due parti fondamentali: un intestazione (header) di riga, ed un corpo di riga. In alcuni header i corpi di riga sono a loro volta costituita da diversi sottocampi. Nel protocollo RTSP sono definiti vari header di riga, e la maggior parte sono raggruppati nelle seguenti categorie: - General Header; - Entity Header; - Request Header; - Response Header. Quindi nell implementazione sono state realizzate le classi GeneralHeader, EntityHeader, RequestHeader e ResponseHeader, ognuna delle quali si occupa di effettuare il parsing degli header relativi, rappresentati come variabili stringa, alle quali i parser assegnano come valore il relativo corpo di riga. Tutte le classi che implementano gli header, derivano dalla classe astratta Header, ed implementano l interfaccia Parser. Gli utilizzatori degli oggetti di tipo header, come ad esempio gli oggetti di tipo RtspClient ed RtspServer, si occupano di interpretare semanticamente i valori dei corpi di riga che ogni parser estrae da un messaggio. Esistono degli header di riga particolari, che non appartengono a nessuno dei precedenti gruppi, per cui sono state realizzate delle opportune classi che ne implementano il parsing. Tra questi sono stati implementati i seguenti: CseqHeader, TransportHeader, Range; tra l altro gli ultimi due sono caratterizzati da un corpo di riga particolarmente strutturato, per cui sono state realizzate delle opportune classi per poterne realizzare il parsing. I due tipi di messaggi RTSP hanno delle parti del corpo in comune, comprese nella classe RtspMessage, mentre differiscono nell intestazione, ed in altri campi del corpo. Dunque sono state implementate le due classi RtspRequest ed RtspReply, necessarie per tener conto di queste differenze. La strutture sintattiche di una richiesta e di una risposta sono: Request = Request-Line *( general-header request-header entity-header) CRLF [message-body] Response = Status-Line *( general-header response-header entity-header) CRLF [message-body]

6 Esistono quindi due tipi di intestazione di messaggio: la RequestLine, del tipo richiesta, e la StatusLine, del tipo risposta. Per entrambe sono state implementate le classi omonime Messaggio Richiesta. Request-Line = Method SP Request-URI SP RTSP-Version CRLF L intestazione di una richiesta ha la seguente struttura: Il campo Method rappresenta il comando che deve essere eseguito dal destinatario della richiesta (server RTSP o client RTSP). L interpretazione di questo campo avviene nelle rispettive classi RtspClient ed RtspServer, che implementano la semantica del protocollo RTSP. I metodi 3 attualmente definiti nel protocollo sono: "DESCRIBE", "ANNOUNCE", "GET_PARAMETER", "OPTIONS", "PAUSE", "PLAY", "RECORD", "REDIRECT", "SETUP", "SET_PARAMETER" e "TEARDOWN". Il campo Request-URI specifica la risorsa (il flusso dei dati multimediali, il file che li contiene) oggetto della richiesta. Per il parsing di questo campo è stata utilizzata una classe detta RtspURL. Il campo RTSP-Version indica la versione del protocollo RTSP utilizzata nel messaggio; la sua interpretazione avviene nella classe RequestLine stessa. Il suo formato è: RTSP-Version = "RTSP" "/" 1*DIGIT "." 1*DIGIT Messaggio Risposta. L intestazione di una risposta ha la seguente struttura: Status-Line = RTSP-Version SP Status-Code SP Reason-Phrase CRLF Il campo RTSP-Version è identico a quello visto nella Request-Line. Il campo Status-Code è una stringa numerica rappresentante, sotto forma di codice di uscita, il risultato che ha avuto l esecuzione del comando inviato nel messaggio di richiesta di cui questo è il messaggio di risposta. La Reason-Phrase è il messaggio corrispondente allo Status-Code, in una forma intellegibile anche per l utente umano. Il parsing della Status-Line viene effettuato nella classe omonima StatusLine. 3 Del significato d'ogni metodo si parlerà nel paragrafo relativo al server RTSP.

7 La seguente è la lista dei codici attualmente definiti nel protocollo: Status-Code Reason-Phrase * "100" Continue * "200" OK "201" Created "250" Low on Storage Space * "300" Multiple Choices * "301" Moved Permanently * "302" Moved Temporarily "303" See Other "304" Not Modified "305" Use Proxy * "400" Bad Request "401" Unauthorized "402" Payment Required "403" Forbidden * "404" Not Found * "405" Method Not Allowed * "406" Not Acceptable "407" Proxy Authentication Required "408" Request Time-out "410" Gone "411" Length Required "412" Precondition Failed "413" Request Entity Too Large "414" Request-URI Too Large "415" Unsupported Media Type * "451" Parameter Not Understood "452" Conference Not Found "453" Not Enough Bandwidth * "454" Session Not Found * "455" Method Not Valid in This State "456" Header Field Not Valid for Resource "457" Invalid Range "458" Parameter Is Read-Only * "459" Aggregate operation not allowed * "460" Only aggregate operation allowed "461" Unsupported transport "462" Destination unreachable * "500" Internal Server Error * "501" Not Implemented "502" Bad Gateway "503" Service Unavailable "504" Gateway Time-out * "505" RTSP Version not supported "551" Option not supported Il primo numero di uno Status-Code ne definisce la classe: - 1xx: Informativo - Richiesta ricevuta, il processo continua. - 2xx: Successo - L ultima azione è stata ricevuta, compresa e accettata con successo. - 3xx: Redirezione - Bisogna intraprendere ulteriori azioni per completare la richiesta. - 4xx: Errore del client - La richiesta contiene errori sintattici e non può essere soddisfatta. - 5xx: Errore del server - Il server non è riuscito a soddisfare una richiesta apparentemente valida.

8 Gli Status-Code sono estensibili. In generale un implementazione di RTSP deve usare e riconoscere almeno i codici del tipo x00: questa implementazione del protocollo riconosce ed usa i codici marcati con *. Le Reason-Phrase sono solo indicative, e possono essere modificate o estese in maniera coerente, e questo è stato fatto in vari casi, per rendere maggiormente comprensibili i messaggi che il client mostra all utente General Header. Questo tipo di header comprende i seguenti: - Cache-Control; - Connection; - Date; - Via. Il parser della classe GeneralHeader riesce a riconoscerli tutti, però in questa implementazione viene utilizzato solo l header Date, implementato nella classe omonima. "Date" ":" HTTP-date L header Date ha la seguente sintassi: Questa implementazione utilizza il formato HTTP-date più recente, definito nell RFC 1123; un esempio è : Date:30 Oct :59:03 GMT Il valore di questo header si riferisce all istante in cui il messaggio, che lo contiene, è stato inviato Entity Header. Questo tipo di header definisce metainformazioni opzionali riguardanti il corpo-entità, oppure, se questo non è presente, la risorsa identificata dalla richiesta. Gli header compresi in questo gruppo sono : - Allow; - Content-Base; - Content-Encoding; - Content-Language; - Content-Length; - Content-Location; - Content-Type; - Expires; - Last-Modified. Come per gli General Header, il parser della classe EntityHeader li riconosce tutti, ma questa implementazione usa solo quelli descritti di seguito. L header Content-Base può essere usato per specificare l URI di base per la risoluzione di un URL relativo. La sintassi è: "Content-Base" ":" absoluteuri

9 Se questo header non compare nel messaggio, l URI di base viene definito o tramite l header Content-Location (se questo è un URI assoluto), oppure tramite il primo URI utilizzato nella sessione RTSP. L header Content-Length indica la dimensione dell entità del messaggio, il numero (in formato decimale) degli ottetti che lo compongono. Deve essere sempre presente in tutti i messaggi il cui corpo non è vuoto. Se viene omesso si assume che la lunghezza del corpo del messaggio è zero. La sintassi è: "Content-Length" ":" 1*DIGIT L header Content-Location può essere usato per ricostruire l URI completo per individuare una risorsa referenziata in un messaggio. La sintassi è: "Content-Location" ":"( absoluteuri relativeuri ) Se l URI è relativo, viene interpretato in relazione all URI del Content-Base, se invece non è presente un header Content-Base, l URI viene interpretato relativamente al Request-URI. L header Content-Type indica il tipo di dati inviati nell entità del messaggio (in genere una risposta). Il tipo di dati inviato in un messaggio deve essere tra quelli comprensibili per il "Content-Type" ":" media-type destinatario, il quale li specifica tramite l header Accept inviato con la richiesta. La sintassi e: Un esempio di media-type e application/sdp, con cui si indica che il corpo-entità del messaggio trasporta una descrizione di sessione secondo il protocollo SDP Request Header. In questo gruppo sono compresi: - Accept; - Accept-Encoding; - Accept-Language; - Authorization; - From; - If-Modified-Since; - Range; - Referer; - User-Agent. Questi header sono utilizzati esclusivamente nelle richieste, eccetto l header Range che può essere usato anche nelle risposte. Come nei casi precedenti il parser della classe RequestHeader li riconosce tutti, questa implementazione utilizza quelli descritti di seguito. L header Accept può essere utilizzato per specificare quale tipologie di descrizioni di sessione sono accettabili nella risposta ad una richiesta contenente questo header. Un esempio è: Accept: application/rtsl, application/sdp

10 L header Range specifica un intervallo di tempo. Questo intervallo può essere specificato in tre diversi formati : smpte, npt e clock. L RtspServer e l RtspClient utilizzano il formato npt. Quando Range viene utilizzato in una risposta, indica quale intervallo di tempo è correntemente in fase di riproduzione o di registrazione. Inoltre possono essere usati intervalli aperti a destra. Il corpo del header può contenere un campo nel formato UTC, con cui si specifica l istante di tempo dal quale l operazione relativa dovrà essere effettivamente eseguita. La sintassi è: Dove i ranges-specifier sono descritti nel paragrafo "Range" ":" 1\#ranges-specifier[ ";" "time" "=" utc-time ] ranges-specifier = npt-range utc-range smpte-range Per la complessità dell operazione di parsing, questo header è stato implementato nella classe apposita Range Response Header. In questo gruppo sono compresi: - Location; - Proxy-Authenticate; - Public; - Retry-After; - Server; - Vary; - WWW-Authenticate. Sono utilizzati per consentire al destinatario di una richiesta di fornire nella risposta informazioni addizionali, che non potrebbero essere inserite nella Status-Line. Queste informazioni riguardano il server e ulteriori accessi alla risorsa identificata dal Request-URI. In questa implementazione si utilizza solo l header Location, utilizzato per redirigere il ricevente ad un indirizzo diverso dal Request-URI, per poter completare la richiesta o l identificazione di una risorsa. La classe ResponseHeader si occupa del parsing di questo gruppo di header Header di richiesta e risposta. Il parsing di questi header viene effettuato in entrambe le classi RtspRequest ed RtspResponse. Transport Header Questo header, utizzato sia nelle richieste che nelle risposte, è fondamentale per il client ed il server nel realizzare la contrattazione ed il setup dei parametri di una sessione RTSP.

11 Siccome è caratterizatto da una sintassi complessa per il suo parsing è stata realizzata una classe apposita detta appunto TransportHeader. La sintassi di questo header è: Transport = "Transport" ":" 1\#transport-spec transport-spec = transport-protocol/profile[/lower-transport] *parameter transport-protocol = "RTP" profile = "AVP" lower-transport = "TCP" "UDP" parameter = ( "unicast" "multicast" ) ";" "destination" [ "=" address ] ";" "interleaved" "=" channel [ "-" channel ] ";" "append" ";" "ttl" "=" ttl ";" "layers" "=" 1*DIGIT ";" "port" "=" port [ "-" port ] ";" "client_port" "=" port [ "-" port ] ";" "server_port" "=" port [ "-" port ] ";" "ssrc" "=" ssrc ";" "mode" = <"> 1\#mode <"> ttl = 1*3(DIGIT) port = 1*5(DIGIT) ssrc = 8*8(HEX) channel = 1*3(DIGIT) address = host mode = <"> *Method <"> Method Parametri generali: - unicast multicast: indica in maniera mutuamente esclusiva se il trasporto dei dati deve essere unicast o multicast. Il valore predefinito è multicast. - destination: indica l ndirizzo a cui devono essere spediti gli stream. - source: è utilizzato per specificare l indirizzo da cui gli stream provengono, se differisce da quello dei pacchetti RTSP (il server in caso di playback, il client in caso di recording). - layers: indica il numero di strati multicast usati per gli stream. - mode: indica i metodi supportati per la sessione. I valori possibili sono PLAY e RECORD ; se non specificato si assume il valore PLAY. - append: se il parametro mode include il valore RECORD, questo parametro indica che i dati dei media devono essere accodati a quelli della risorsa esistente sul server anziché sovrascriverli. - interleaved: indica che i dati dei media devono essere interlacciati con quelli del flusso di controllo. Parametri specifici per il multicast: - ttl: multicast time-to-live Parametri specifici per l RTP: - port: questo parametro fornisce la coppia di porte per l RTP/RTCP, nel caso di una sessione multicast. Viene specificato come un intervallo. - client_port: questo parametro fornisce la coppia di porte RTP/RTCP, nel caso di trasmissione unicast, su cui il client ha scelto di ricevere i dati del media e le relative informazioni di controllo. Viene specificato come un intervallo.

12 - server_port: questo parametro è il complementare del precedente per il server. - ssrc: indica l SSRC dei pacchetti RTP che il server userà (risposta) oppure quello che il client vorrebbe (richiesta). Un Transport Header descrive un singolo stream RTP (RTSP può controllare stream multipli come una singola entità). Session Header Identifica una sessione RTSP dal momento in cui viene inizializzata dal server in risposta ad una richiesta di SETUP, fino a quando viene chiusa da una TEARDOWN. L identificatore di sessione viene scelto dal server; quando il client lo riceve, dovrà utilizzarlo sempre in tutte le richieste "Session" ":" session-id [ ";" "timeout" "=" delta-seconds ] relative a quella sessione. La sintassi è: Il parametro timeout è utilizzabile dal server solo nelle risposte, per indicare per quanto tempo attenderà tra un comando RTSP e il successivo prima di chiudere automaticamente la sessione, per mancanza di attività del client. Qesto parametro è misurato in secondi, e il valore predefinito è pari a 60 secondi. Un singolo session-id può essere utilizzato per controllare stream multipli appartenenti alla stessa sessione. Se un client apre più sessioni per uno stesso URL, dovrà usare un session-id diverso per ogni sessione. CSeq Header Specifica il numero di sequenza per una coppia richiesta-risposta RTSP. E presente in tutte le richieste e risposte: per ogni richiesta con un certo numero di sequenza deve esistere una risposta "CSeq" ":" 1# ( DIGIT ) con lo stesso numero. La sintassi è:

13 Riassunto degli Header. La tabella seguente riassume gli header usati dal RTSP. Il tipo g indica un general header utilizzabile sia nelle richieste che nelle risposte; il tipo R indica i request header; il tipo r indica i response header; il tipo e gli entity header. Gli header contrassegnati con req. nella colonna etichettata support devono essere implementati necessariamente, mentre quelli marcati con opt. sono opzionali. Gli header contrassegnati con u sono quelli effettivamente usati in questa implementazione, mentre è stato comunque implementato il parsing di tutti. Inoltre sono indicati i metodi per i quali ogni header è significativo. 4.3 Dettagli implementativi. Header type support methods Accept R opt. u entity Accept-Encoding R opt. entity Accept-Language R opt. all Allow r opt. all Authorization R opt. all Bandwidth R opt. all Blocksize R opt. all but OPTIONS, TEARDOWN Cache-Control g opt. SETUP Conference R opt. SETUP Connection g req. all Content-Base e opt. u entity Content-Encoding e req. SET_PARAMETER Content-Encoding e req. DESCRIBE, ANNOUNCE Content-Language e req. DESCRIBE, ANNOUNCE Content-Length e req. u SET_PARAMETER, ANNOUNCE Content-Length e req. u entity Content-Location e opt. u entity Content-Type e req. u SET_PARAMETER, ANNOUNCE Content-Type r req. u entity CSeq g req. u all Date g opt. u all Expires e opt. DESCRIBE, ANNOUNCE From R opt. all If-Modified-Since R opt. DESCRIBE, SETUP Last-Modified e opt. entity Proxy-Authenticate Proxy-Require R req. all Public r opt. all Range R opt. u PLAY, PAUSE, RECORD Range r opt. u PLAY, PAUSE, RECORD Referer R opt. all Require R req. all Retry-After r opt. all RTP-Info r req. PLAY Scale Rr opt. PLAY, RECORD Session Rr req. u all but SETUP, OPTIONS Server r opt. all Speed Rr opt. PLAY Transport Rr req. u SETUP Unsupported r req. all User-Agent R opt. all Via g opt. all WWW-Authenticate r opt. all

14 4.3.1 Il server RTSP. Il server RTSP, realizzato con la classe RtspServer, implementa la semantica del protocollo dal lato server. Si tratta di un server a stati, a differenza di un server HTTP, meccanismo necessario per implementare una memoria temporale degli eventi che scandiscono il suo funzionamento. Gli eventi che provocano le transizioni di stato, con la relativa esecuzione di azioni opportune, sono generati dai messaggi di richiesta provenienti da un client. I metodi(par 4.2.3) di questi messaggi ne costituiscono la tipizzazione, e impongono le transizioni di stato al server. La figura rappresenta l automa a stati del server. Recording TEARDOWN PLAY RECORD PAUSE Init SETUP Ready TEARDOWN Terminated PLAY PAUSE RECORD Playing TEARDOWN RECORD e PLAY avvengono solo durante un tunnelling Figura 4.1: Automa del server e del client RTSP A seguito di un messaggio di richiesta, il server esegue una serie di controlli, necessari per verificare la consistenza e la soddisfacibilità della richiesta, quindi cerca di soddisfarla. Se tutto va a buon fine, risponde al client con un messaggio di risposta positivo (status code 200), altrimenti la risposta contiene il codice di errore opportuno, indicante al client la causa dell insoddisfacibilità della sua richiesta. Alcuni errori sono gestiti automaticamente dal client, mentre altri sono notificati all utente umano, che può quindi decidere le azioni da intraprendere per risolvere l errore, se è possibile. Il funzionamento del server è organizzato e gestito basondolo sul concetto di sessione. Una sessione, in quanto tale, esiste sotto forma di istanza della classe ServerSession. Su un host su cui viene eseguito un server RTSP, possono esistere contemporaneamente più sessioni attive. Ogni sessione può gestire contemporaneamente vari flussi di dati multimediali. Le sessioni si distinguono in: aggregate, quando i vari media sono semanticamente correlati, quindi ogni richiesta proveniente da un client, deve riferlirli come un tutt uno (tranne nei SETUP), e quindi la loro gestione è demandata ad un unico porcesso RtspServer; non aggregate, quando i vari media non sono necessariamente correlati, quindi un client deve effettuare richieste separate per ogni media, e la gestione di ognuno di loro è affidata ad un processo RtspServer diverso. La necessità di usare un processo server per ogni media deriva dal funzionamento a stati dei server RTSP: quindi un media potrebbe essere in fase di riproduzione, mentre un altro potrebbe ancora essere nella fase di inizializzazione.

15 La classe SessionManager si occupa della gestione delle sessioni, mettendo a disposizione del processo server i seguenti servizi: crea una nuova sessione, quando un client la richiede; verifica se un client può essere inserito in una sessione esistente; risponde negativamente ad un client che cerca di inserirsi in una sessione gestita da un altro client, che non l abbia abbandonata disconnetendosi, oppure passandone espicitamente il controllo; gestisce l assegnazione delle porte per la creazione dei vari socket unicast e multicast, evitando conflitti tra i vari processi server; gestisce il database dei file contenenti i dati multimediali, mantenendo un indice nel file streamindex.dat dei vari media stream disponibili; genera automaticamente i file in formato SDP, per mantenere la descrizione delle nuove sessioni registrate; gestisce la chiusura delle sessioni, causate da problemi di connessione su rete, oppure per errori interni; utilizza un file (server.prop) personalizzabile, utile per inizializzare le proprietà dei server RTSP, (path, timeout, maxsessionnumber, ecc.). gestisce gli accessi concorrenti dei vari processi server al file streamindex.dat, tramite un monitor basato sull algotitmo lettori-scrittori implementato nella classe IndexFileManager, in cui si dà maggiore priorità ai processi scrittori, per rendere disponibili le modifiche dell elenco delle sessioni il più presto possibile. Quando sull host server non esiste nessun oggetto RtspServer attivo, resta in esecuzione un thread demon (processo demone), istanza della classe RtspDemon, il quale attende su un ServerSocket, alla porta 554, le connessioni provenienti dai client. Nel momento in cui un client apre una connessione TCP con questo demon, esso crea una istanza della classe RtspServer, anch essa un thread, passandogli il socket TCP con cui comunicare col client, e ne fa partire l esecuzione. Quindi il demon ritorna in attesa di altri client sul suo socket. Il server inizialmente è nello stato di Init, in cui può accettare solo tre tipi di richieste: DESCRIBE, ANNOUNCE e SETUP. DESCRIBE Il client usa questo metodo per ottenere una descrizione completa della risorsa, identificata tramite l URL nella richiesta. In genere il client richiede un DESCRIBE per poter inizializzare il playback di una sessione. Nella decrizione il server include tutte le informazioni necessarie per permettere al client di ricevere i flussi dei media componenti la presentazione o sessione multimediale. Il client indica nella richiesta, tramite l header Accept, il tipo di descrizione che riesce ad interpretare. Questa implementazione utilizza il protocollo SDP per descrivere le sessioni. Se l header Accept non contiene un formato di cui il server dispone, esso risponde con un messaggio contenente il codice d errore 451 (Parameter Not Understood). Il server ricerca nel suo file system il file contente la descrizione nel formato SDP. Questi file hanno il nome formato dal prefisso SDP-, a cui segue il nome della sessione. Se la sessione è disponibile, il server individua il file contenente la descrizione in formato SDP, quindi con il contenuto costruisce il corpo della risposta al DESCRIBE. Se il sever non trova il file SDP-<nome sessione>, risponde con un messaggio contenente il codice di errore 404 (Not Found).

16 Un esempio di DESCRIBE e relativa risposta è: C->S: DESCRIBE rtsp://lis3.deis.unical.it/lecture4/part1 RTSP/1.0 CSeq: 312 Accept: application/sdp, application/rtsl, application/mheg S->C: RTSP/ OK CSeq: 312 Date: 7 Nov :35:06 GMT Content-Type: application/sdp Content-Length: 376 v=0 o=vincenzo.c IN IP s=sdp Seminar i=lecture on Java Concurrency u= e=vincenzo.c@telsa.it (Vincenzo Ciminelli) c=in IP /127 t= m=audio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31 Se nell URL del DESCRIBE il nome di sessione è costituito da un *, [es.: DESCRIBE rtsp://lis3.deis.unical.it/* RTSP/1.0] il server risponderà inviando nel corpo della risposta l elenco di tutte le sessioni di cui dispone. Questo elenco è ricavato dal file streamindex.dat contenente la lista di tutti i media stream disponibili sul server, oltre ad ulteriori informazioni su ogni stream. Questo è implementato tramite il metodo DescribeAll invocato dal metodo Describe stesso. Da questo elenco il client sceglie la sessione che desidera, di cui può quindi richiedere il DESCRIBE specifico. ANNOUNCE Il client usa questo metodo quando vuole registrare sul server una nuova sessione, per informarlo di tutti i dettagli riguardanti la sessione, necessari per eseguirne con successo la registrazione. Il corpo dell ANNOUNCE contiene la descrizione in formato SDP, come nel caso del DESCRIBE. Se il client invia un formato di descrizione diverso, il server risponderà con un messaggio contenente il codice di errore 406 (Not Acceptable). Se tutto va a buon fine, il server conserverà la descrizione della sessione in una variabile opportuna, che userà per le operazioni successive.

17 C->S: ANNOUNCE rtsp://lis3.deis.unical.it/lecture4/part2 RTSP/1.0 CSeq: 312 Date: 8 Jan :35:06 GMT Session: Content-Type: application/sdp Content-Length: 376 v=0 o=vincenzo.c IN IP s=sdp Seminar i=lecture on Java Threads u= e=vincenzo.c@telsa.it (Vincenzo Ciminelli) c=in IP /127 t= m=audio 3456 RTP/AVP 0 m=video 2232 RTP/AVP 31 S->C: RTSP/ OK CSeq: 312 Un esempio di ANNOUNCE è: SETUP Il client, dopo aver ottenuto la descrizione di una sessione con un DESCRIBE, oppure averla fornita al server con un ANNOUNCE, deve inviare una richiesta di SETUP per ogni media stream compreso nella sessione di cui vuole fare il playback o il recording. Il server può funzionare nei seguenti modi: 1. riproduzione di una sessione in unicast verso il client; 2. riproduzione di una sessione verso un gruppo multicast; 3. registrazione di una sessione inviata dal client in unicast; 4. registrazione di una sessione da un gruppo multicast; 5. tunnelling di una sessione da un gruppo multicast verso un client capace di comunicare solo in unicast. Tramite un SETUP il client comunica al server le informazioni necessarie per inizializzare le connessioni su cui verranno inviati i pacchetti contenenti i dati, ed il tipo di funzionamento desiderato tra quelli appena elencati. L header principale utilizzato nel SETUP è il Transport- Header, tramite il quale il client comunica al server le seguenti informazioni: tipo di protocollo di trasporto dati multimediali (es. RTP); tipo di trasporto (TCP, UDP, ecc.); tipo di sessione: unicast, multicast; indirizzo del gruppo multicast a cui il server deve trasmettere o da cui deve ricevere i dati; le porte su cui il client attende i dati (unicast), oppure le porte del gruppo multicast su cui il server deve trasmettere o da cui deve ricevere i dati; il tipo di sessione (PLAY o RECORD). Ricevuto un SETUP, il server comincerà col verificare la presenza di un Transport-Header: se manca risponde con un codice di errore 400 ( Bad Request ). Quindi stabilisce il tipo di sessione richiesta: PLAY o RECORD. Se il client richiede il RECORD di uno stream esistente nel file system del server, questo accetta se il RECORD deve essere fatto appendendo in coda al file i nuovi

18 dati, rifiuta con un codice di errore 406 ( Not Acceptable ) se il client richiede la sovrascrittura del file. Se la richiesta è un PLAY, il server verifica se dispone del file contenente il media stream richiesto. Se così non è, risponde con un codice di errore 404 ( File Not Found ). Dopo queste verifiche, il server controlla la presenza di un header Session, con cui il client può indicare una sessione già attiva sull host del server. Se il SETUP contiene questo header, il server cerca di inserire la gestione di questo stream nella sessione richiesta dal client, se ciò non è possibile risponde con un codice di errore 454 ( Session Not Found ). Se il SETUP non contiene un header Session il client vuole inizializzare una nuova sessione, quindi il server la crea, generando un session ID, che inserisce in un header Session nella risposta : da questo momento il client deve usare sempre un header Session con questo session ID in tutte le richieste successive rivolte a questa sessione, altrimenti il server, non riconoscendo la sessione, risponderà con un codice di errore 454. Dopo queste verifiche preliminari, il server interpreta il contenuto del Transport Header, nel metodo gettransportheader, in cui il server riconosce il tipo di funzionamento richiesto dal client, e quindi prepara le informazioni necessarie da passare al sottosistema che si occupa del trattamento dei dati multimediali 4. Nella tabella è riassunta la semantica adottata per questa operazione: O. U. D. U. O. M. D. M. O. U. D. M. O. M. D. U. Sessione di PLAY Sessione di RECORD Playback dal server al client Recording dal client al server Non definito (errore 406) Non definito (errore 406) Playback dal server al gruppo Multicast. Non definito (errore 406) Tunnelling dal gruppo Multicast al Client. Tunnelling(1) con Recording dal gruppo Multicast sul server O.=Origine; D.=Destinazione; U.=Unicast; M.=Multicast (1) Il tunnelling viene attivato se la destinazione corrisponde all indirizzo del client. L origine e la destinazione sono i due parametri Source e Destination del Transport Header, contenenti gli indirizzi multicast del gruppo da cui provengono o a cui devono essere trasmessi i dati dei media stream. La presenza contemporanea di questi due parametri non è supportata, e provoca una risposta del server contenente il codice di errore 406 ( Not Acceptable; Incoherent Transport Header ). Quando l origine o la destinazione non sono indicati, il server assume i valori predefiniti: 4 Questo sottosistema è descritto nel capitolo 5.

19 Sessione di PLAY Sessione di RECORD Origine predefinita Indirizzo del Server Indirizzo del Client Destinazione Predefinita Indirizzo del Client Indirizzo del Server Ovviamente il client deve indicare le porte relative all indirizzo su cui egli deve trasmettere i media stream, o da cui li deve ricevere. Le informazioni sulle porte possono essere ricavate dall SDP se si tratta di una sessione multicast, ma il client, se vuole, le può modificare e comunicarle al server proprio nel Transport Header. La tabella seguente riporta, per i vari modi di funzionamento, i parametri di porta scambiati tra client e server: O.U. D.U. O.M. D.M. O.U. D.M. O.M. D.U. Sessione di PLAY Client-port Server-port Non definito (errore 406) Multicast Port Client-port Server-port Multicast port Sessione di RECORD Client-port Server-port Non definito (errore 406) Non definito (errore 406) Multicast port Client Port(1) O.=Origine; D.=Destinazione; U.=Unicast; M.=Multicast (1) Specificata in caso di tunnelling La Multicast port corrisponde al parametro port del Transport Header. In una sessione unicast, se il server rileva che sul suo host le porte specificate dal client generano conflitti, inizia con questo una contrattazione, proponendo nella risposta al client un nuovo set di porte che non generano conflitti: se il client le accetta, le operazioni proseguono, altrimenti quest ultimo può proporne delle altre in un nuovo SETUP. La contrattazione prosegue fino a quando i due non raggiungono un accordo. Tutta la contrattazione è trasparente all utente. Quando il server ed il client dispongono di tutti i parametri, il primo crea il processo che si occupa della trasmissione o della registrazione dei flussi multimediali, il secondo crea i processi che si occuperanno del rendering dei flussi multimediali (VIC per il video e VAT per l audio), per l utente.

20 Un esempio di SETUP è: C->S: SETUP rtsp://lis3.deis.unical.it/lecture1/video RTSP/1.0 CSeq: 302 Transport: RTP/AVP;unicast;client_port= S->C: RTSP/ OK CSeq: 302 Date: 23 Jan :35:06 GMT Session: Transport: RTP/AVP;unicast;client_port= Alla fine di un SETUP che ha avuto successo, il server ed il client cambieranno il loro stato, da Init a Ready. In questo stato il server attende le richieste del client che possono essere: PLAY (per una sessione di playing), RECORD (per una sessione di recording), TEARDOWN. PLAY Il client invia una richiesta di questo tipo quando vuole che il server cominci ad inviare i flussi multimediali, secondo le specifiche di inizializzazione impostate nel SETUP. Se la sessione è di tipo aggregato, il client deve inviare un solo PLAY per richiedere la trasmissione di tutti i media stream che la compongono. Quindi l URL della richiesta di PLAY deve contenere nel path solo il riferimento al nome della sessione, altrimenti il server risponde con un codice di errore 460 ("Only Aggregate Operation Allowed"). Se la sessione è di tipo non aggregato, il client deve invece inviare un messaggio di PLAY per ogni media stream che la compone. In tal caso l URL di ogni PLAY deve contenere nel path il riferimento ad uno specifico media stream, altrimenti il server risponde con un codice di errore 459 ("Aggregate Operation Not Allowed"). Il server effettua questi controlli anche per tutti i metodi successivi. Se si tratta del primo PLAY di una sessione, il server inizia la riproduzione dei media dall inizio; se invece si tratta di un PLAY seguente un messaggio di PAUSE, il server riprende la riproduzione dal punto in cui era stata sospesa. Se la sessione è di tipo aggregato, è disponibile la funzione di accesso casuale (seeking) all interno dei media stream: il client può richiedere di far ripartire la riproduzione da un istante qualsiasi, indicandolo con un header Range nel messaggio di PLAY. Siccome i dati multimediali digitalizzati sono discreti per la loro stessa natura, il server eseguirà il riposizionamento della riproduzione all istante di tempo all interno degli stream, che più approssima quello richiesto. Informa il client dell esatto istante da cui ripartirà la riproduzione, indicandolo in un header Range inserito nella risposta al PLAY. Un esempio di questo tipo di richiesta è: C->S: PLAY rtsp://lis3.deis.unical.it/lecture1/video RTSP/1.0 CSeq: 835 Session: Range: npt=9.6- S->C: RTSP/ OK CSeq: 835 Date: 7 Nov :35:06 GMT Range: npt=10-

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

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

Reti di Calcolatori 18-06-2013

Reti di Calcolatori 18-06-2013 1. Applicazioni di rete [3 pts] Si descrivano, relativamente al sistema DNS: Compito di Reti di Calcolatori 18-06-2013 a) i motivi per i quali viene usato; b) l architettura generale; c) le modalità di

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 200, ore 1.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:

Dettagli

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

Protocolli applicativi: FTP

Protocolli applicativi: FTP Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Reti di Calcolatori. Il Livello delle Applicazioni

Reti di Calcolatori. Il Livello delle Applicazioni Reti di Calcolatori Il Livello delle Applicazioni Il DNS Gli indirizzi IP sono in formato numerico: sono difficili da ricordare; Ricordare delle stringhe di testo è sicuramente molto più semplice; Il Domain

Dettagli

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE 1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma

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

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

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

HTTP adaptation layer per generico protocollo di scambio dati

HTTP adaptation layer per generico protocollo di scambio dati HTTP adaptation layer per generico protocollo di scambio dati Sandro Cavalieri Foschini 101786 Emanuele Richiardone 101790 Programmazione in Ambienti Distribuiti I - 01FQT prof. Antonio Lioy A.A. 2002-2003

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Dettagli

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0 Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2

Dettagli

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords. Premessa Oltre alle singole parole WoWords può gestire intere frasi in inglese. A differenza delle singole parole, le

Dettagli

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Reti di Telecomunicazione Lezione 7

Reti di Telecomunicazione Lezione 7 Reti di Telecomunicazione Lezione 7 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Il protocollo Programma della lezione file transfer protocol descrizione architetturale descrizione

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

Do-Dots Protocollo di comunicazione

Do-Dots Protocollo di comunicazione Do-Dots Protocollo di comunicazione Ultimo aggiornamento 10 maggio 2011 rev3 Spiegazioni 10/05/2011 rev2 Primo aggiornamento con attuali comandi 03/05/2011 rev1 - Stesura iniziale 14/05/2010 DOCUMENTO

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

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo Release 5.20 Manuale Operativo COLLI Gestione dei Colli di Spedizione La funzione Gestione Colli consente di generare i colli di spedizione in cui imballare gli articoli presenti negli Ordini Clienti;

Dettagli

Introduzione alle applicazioni di rete

Introduzione alle applicazioni di rete Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza

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

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

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

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

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

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1

A T I C _W E B G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O. Rev. 2.1 G U I D A AL L A N A V I G A Z I O N E S U L S I T O D E L G R U P P O A T I C _W E B Rev. 2.1 1 1. ISCRIZIONE Le modalità di iscrizione sono due: Iscrizione volontaria Iscrizione su invito del Moderatore

Dettagli

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Il raggruppamento e la struttura dei dati sono due funzioni di gestione dati di Excel, molto simili tra

Dettagli

Utilizzo dei Server DNS e relative implicazioni

Utilizzo dei Server DNS e relative implicazioni Utilizzo dei Server DNS e relative implicazioni Una questione di fondamentale importanza è l'impostazione dei Server DNS. Da questi server dipende il buon esito di tutte le risoluzioni dei nomi di dominio

Dettagli

GUIDA RAPIDA CONFIGURAZIONE RETE - INTERNET - DDNS. (DVR Serie 3xx)

GUIDA RAPIDA CONFIGURAZIONE RETE - INTERNET - DDNS. (DVR Serie 3xx) GUIDA RAPIDA CONFIGURAZIONE RETE - INTERNET - DDNS (DVR Serie 3xx) Nella seguente guida rapida si supporrà che il DVR sia collegato ad una rete locale, a sua volta collegata ad un Modem-Router che accede

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Manuale Utente Albo Pretorio GA

Manuale Utente Albo Pretorio GA Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

1) GESTIONE DELLE POSTAZIONI REMOTE

1) GESTIONE DELLE POSTAZIONI REMOTE IMPORTAZIONE ESPORTAZIONE DATI VIA FTP Per FTP ( FILE TRANSFER PROTOCOL) si intende il protocollo di internet che permette di trasferire documenti di qualsiasi tipo tra siti differenti. Per l utilizzo

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

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam. Laurea in INFORMATICA INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 Dynamic Host Configuration Protocol fausto.marcantoni@unicam.it Prima di iniziare... Gli indirizzi IP privati possono essere

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

Dal protocollo IP ai livelli superiori

Dal protocollo IP ai livelli superiori Dal protocollo IP ai livelli superiori Prof. Enrico Terrone A. S: 2008/09 Protocollo IP Abbiamo visto che il protocollo IP opera al livello di rete definendo indirizzi a 32 bit detti indirizzi IP che permettono

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Protocolli di Comunicazione

Protocolli di Comunicazione Protocolli di Comunicazione La rete Internet si è sviluppata al di fuori dal modello ISO-OSI e presenta una struttura solo parzialmente aderente al modello OSI. L'architettura di rete Internet Protocol

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

ELENCO CLIENTI FORNITORI Patch1

ELENCO CLIENTI FORNITORI Patch1 ELENCO CLIENTI FORNITORI Patch1 Il pacchetto P15_200ElencoCF_Patch1.exe contiene una serie di aggiornamenti alla procedura di generazione del file contenente l. Download: 1) Assicurarsi di avere una versione

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Capitolo 4 Pianificazione e Sviluppo di Web Part

Capitolo 4 Pianificazione e Sviluppo di Web Part Capitolo 4 Pianificazione e Sviluppo di Web Part Questo capitolo mostra come usare Microsoft Office XP Developer per personalizzare Microsoft SharePoint Portal Server 2001. Spiega come creare, aggiungere,

Dettagli

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2.

Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Capitolo Quarto...2 Le direttive di assemblaggio di ASM 68000...2 Premessa...2 1. Program Location Counter e direttiva ORG...2 2. Dichiarazione di dati: le direttive DS e DC...3 2.1 Direttiva DS...3 2.2

Dettagli

ARP (Address Resolution Protocol)

ARP (Address Resolution Protocol) ARP (Address Resolution Protocol) Il routing Indirizzo IP della stazione mittente conosce: - il proprio indirizzo (IP e MAC) - la netmask (cioè la subnet) - l indirizzo IP del default gateway, il router

Dettagli

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record

5.3 TABELLE 5.3.1 RECORD 5.3.1.1 Inserire, eliminare record in una tabella Aggiungere record Eliminare record 5.3 TABELLE In un sistema di database relazionali le tabelle rappresentano la struttura di partenza, che resta poi fondamentale per tutte le fasi del lavoro di creazione e di gestione del database. 5.3.1

Dettagli

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e

Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e TCP/IP Sommario Introduzione al TCP/IP Indirizzi IP Subnet Mask Frame IP Meccanismi di comunicazione tra reti diverse Classi di indirizzi IP Indirizzi IP privati e pubblici Introduzione al TCP/IP TCP/IP

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

ISTRUZIONI PER L UTILIZZO DEL SOFTWARE Moda.ROA. Raccolta Ordini Agenti

ISTRUZIONI PER L UTILIZZO DEL SOFTWARE Moda.ROA. Raccolta Ordini Agenti ISTRUZIONI PER L UTILIZZO DEL SOFTWARE Raccolta Ordini Agenti AVVIO PROGRAMMA Per avviare il programma fare click su Start>Tutti i programmi>modasystem>nomeazienda. Se il collegamento ad internet è attivo

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

URI. Introduzione. Pag. 1

URI. Introduzione. Pag. 1 URI Introduzione Gli URI (Universal Resource Indentifier) sono una sintassi usata in WWW per definire i nomi e gli indirizzi di oggetti (risorse) su Internet. Questi oggetti sono considerati accessibili

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit

Manuale di Aggiornamento BOLLETTINO. Rel. 5.20.1H4. DATALOG Soluzioni Integrate a 32 Bit Manuale di Aggiornamento BOLLETTINO Rel. 5.20.1H4 DATALOG Soluzioni Integrate a 32 Bit - 2 - Manuale di Aggiornamento Sommario 1 2 PER APPLICARE L AGGIORNAMENTO... 3 1.1 Aggiornamento Patch Storica...

Dettagli

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link:

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link: MANUALE UTENTE OTRS è il sistema di ticketing per la gestione delle richieste tecniche e di supporto ai clienti e partner di Delta Progetti 2000. La nuova versione 3.2.10 introduce una grafica più intuitiva

Dettagli

EXPLOit Content Management Data Base per documenti SGML/XML

EXPLOit Content Management Data Base per documenti SGML/XML EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per

Dettagli

Outlook Plugin per VTECRM

Outlook Plugin per VTECRM Outlook Plugin per VTECRM MANUALE UTENTE Sommario Capitolo 1: Installazione e Login... 2 1 Requisiti di installazione... 2 2 Installazione... 3 3 Primo Login... 4 Capitolo 2: Lavorare con Outlook Plugin...

Dettagli

flusso delle informazioni... 2 password... 3 password/2... 3 inserimento di una nuova richiesta... 4 le condizioni di vendita... 6

flusso delle informazioni... 2 password... 3 password/2... 3 inserimento di una nuova richiesta... 4 le condizioni di vendita... 6 istruzioni per l inserimento di una richiesta on line di prodotti speciali flusso delle informazioni... 2 password... 3 password/2... 3 inserimento di una nuova richiesta... 4 le condizioni di vendita...

Dettagli

5.2 UTILIZZO DELL APPLICAZIONE

5.2 UTILIZZO DELL APPLICAZIONE 5.2 UTILIZZO DELL APPLICAZIONE Base offre la possibilità di creare database strutturati in termini di oggetti, quali tabelle, formulari, ricerche e rapporti, di visualizzarli e utilizzarli in diverse modalità.

Dettagli

Reti diverse: la soluzione nativa

Reti diverse: la soluzione nativa Reti diverse: la soluzione nativa Quando si deve trasmettere un messaggio attraverso reti diverse, per il mezzo fisico, per il protocollo di accesso o altro, a che livello si colloca la procedura di traduzione

Dettagli

Word processor funzione Stampa Unione

Word processor funzione Stampa Unione Word processor funzione Stampa Unione La funzione Stampa unione permette di collegare un documento che deve essere inviato ad una serie di indirizzi ad un file che contenga i nominativi dei destinatari.

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Centro Acquisti per la Pubblica Amministrazione EmPULIA. Linee guida per gli Enti Aderenti. Procedure Negoziate: Richiesta di Preventivo. Versione 2.

Centro Acquisti per la Pubblica Amministrazione EmPULIA. Linee guida per gli Enti Aderenti. Procedure Negoziate: Richiesta di Preventivo. Versione 2. Centro Acquisti per la Pubblica Amministrazione EmPULIA Linee guida per gli Enti Aderenti Procedure Negoziate: Richiesta di Preventivo Versione 2.4 PROCEDURE NEGOZIATE - Richiesta di Preventivo E la funzione

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I Corso di Laurea in Ingegneria Informatica Corso di Reti di Calcolatori I Roberto Canonico (roberto.canonico@unina.it) Giorgio Ventre (giorgio.ventre@unina.it) Il livello rete in Internet Il protocollo

Dettagli

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci CORSO DI RETI SSIS Lezione n.2. 2 Novembre 2005 Laura Ricci IL DOMAIN NAME SYSTEM (DNS) Indirizzi IP poco adatti per essere memorizzati da utenti umani è prevista la possibiltà di associare nomi simbolici

Dettagli

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

Dettagli

FTP. Appunti a cura del prof. ing. Mario Catalano

FTP. Appunti a cura del prof. ing. Mario Catalano FTP Appunti a cura del prof. ing. Mario Catalano Il protocollo FTP 1/2 Attraverso il protocollo FTP (File Transfer Protocol) è possibile trasferire uno o più files di qualsiasi tipo tra due macchine Tale

Dettagli

GENERAZIONE ARCHIVIO F24 AGENZIA ENTRATE

GENERAZIONE ARCHIVIO F24 AGENZIA ENTRATE GENERAZIONE ARCHIVIO F24 AGENZIA ENTRATE Il riferimento al manuale è il menù Redditi, capitolo Stampe, paragrafo Versamenti F24, sottoparagrafo Generazione Archivio F24 Agenzia Entrate. Questa funzione

Dettagli

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome:

Dettagli

Manuale Helpdesk per utenti

Manuale Helpdesk per utenti Manuale Helpdesk per utenti Il giorno 1 Agosto 2009 partirà il nuovo sistema per l helpdesk on-line, ovvero uno strumento che permetterà agli utenti di sapere in ogni momento 1) quale tecnico CED ha in

Dettagli

2.7 La cartella Preparazioni e CD Quiz Casa

2.7 La cartella Preparazioni e CD Quiz Casa 2.7 La cartella Preparazioni e CD Quiz Casa SIDA CD Quiz Casa è il cd che permette al candidato di esercitarsi a casa sui quiz ministeriali e personalizzati. L autoscuola può consegnare il cd al candidato

Dettagli

Introduzione alla Programmazione Orientata agli Oggetti. Classi, Oggetti e Messaggi

Introduzione alla Programmazione Orientata agli Oggetti. Classi, Oggetti e Messaggi Introduzione alla Programmazione Orientata agli Oggetti Classi, Oggetti e Messaggi Agenda 1. La metodologia di progettazione ad oggetti Concetti fondamentali: oggetti, classi, messaggi 2. I concetti fondamentali

Dettagli

Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino.

Come si può vedere, la regola è stata fatta in modo da spostare tutti i messaggi di Spam nella cartella del cestino. www.playnet.it agg. Documento 1/03/2007 REGOLE DEL CLIENT Le regole del client sono un sistema di smistamento dei messaggi (arrivati) fra le varie cartelle di posta presenti sul server. Possono essere

Dettagli

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO Pag. 1 di 17 VERIFICHE E APPROVAZIONI VERSIONE V01 REDAZIONE CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA PRATESI STATO DELLE VARIAZIONI VERSIONE PARAGRAFO O DESCRIZIONE

Dettagli

Hub-PA Versione 1.0.6 Manuale utente

Hub-PA Versione 1.0.6 Manuale utente Hub-PA Versione 1.0.6 Manuale utente (Giugno 2014) Hub-PA è la porta d ingresso al servizio di fatturazione elettronica verso la Pubblica Amministrazione (PA) a disposizione di ogni fornitore. Questo manuale

Dettagli

Guida alla Navigazione e Utilizzo dell Area Fattura PA

Guida alla Navigazione e Utilizzo dell Area Fattura PA 2015 Guida alla Navigazione e Utilizzo dell Area Fattura PA CONTENUTI Area Fatture PA... 3 Accesso all Area Fatture PA... 3 Area Fattura PA in PAInvoice... 3 Compila una nuova Fattura online con PAInvoice...

Dettagli

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014. 1.1 Lato client

1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014. 1.1 Lato client RETI INFORMATICHE - SPECIFICHE DI PROGETTO A.A. 2013/2014 1. RETI INFORMATICHE CORSO DI LAUREA IN INGEGNERIA INFORMATICA SPECIFICHE DI PROGETTO A.A. 2013/2014 Il progetto consiste nello sviluppo di un

Dettagli

E-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11

E-mail: infobusiness@zucchetti.it. Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 Gestione Filtri InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11 INDICE Indice...2 1. GESTIONE DEI FILTRI...3 1.1. Filtri fissi...3 1.2. Filtro parametrico...5 1.3. Funzione di ricerca...6 2. CONTESTI IN CUI

Dettagli

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05

SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE. Versione 05 SPORTELLO UNICO DELLE ATTIVITÀ PRODUTTIVE MANUALE OPERATIVO FUNZIONI DI PAGAMENTO ONLINE Versione 05 Novembre 2015 1 Sommario Generalità... 3 Pagare con ICONTO... 7 Pagare con carta di credito... 10 Pagare

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 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

Dettagli

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano

Dettagli

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.

Dettagli

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione Automatizzare i compiti ripetitivi I file batch Anno accademico 2000-01 1 Spesso capita di dover eseguire ripetutatmente una data sequenza di comandi Introdurli uno a uno da tastiera è un processo lento

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

1.0 GUIDA PER L UTENTE

1.0 GUIDA PER L UTENTE 1.0 GUIDA PER L UTENTE COMINCIA FACILE Una volta effettuato il login vi troverete nella pagina Amministrazione in cui potrete creare e modificare le vostre liste. Una lista è semplicemnte un contenitore

Dettagli

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2 GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2 Fondamenti sugli indirizzi dell Internet Protocol 2 Struttura di un indirizzo IP 2 Le classi degli indirizzi IP 3 Indirizzi di Classe A 3 Indirizzi di

Dettagli

Manuale di KSystemLog. Nicolas Ternisien

Manuale di KSystemLog. Nicolas Ternisien Nicolas Ternisien 2 Indice 1 Usare KSystemLog 5 1.1 Introduzione......................................... 5 1.1.1 Cos è KSystemLog?................................ 5 1.1.2 Funzionalità.....................................

Dettagli

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO

DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Corso DOMOTICA ED EDIFICI INTELLIGENTI UNIVERSITA DI URBINO Docente: Ing. Luca Romanelli Mail: romanelli@baxsrl.com Networking NAT 1 Sommario L indirizzamento privato e pubblico I meccanismi di address

Dettagli