A2-03 Applicazioni Peer to Peer
|
|
- Agnese Moro
- 8 anni fa
- Visualizzazioni
Transcript
1 A2-03 Applicazioni Peer to Peer Dopo aver esaminato le applicazioni di rete che utilizzano l'architettura clientserver, analizziamo più approfonditamente l'architettura peer-to-peer che, come abbiamo visto all'inizio del capitolo, prevede la connessione diretta e intermittente tra coppie di host. I peer che comunicano tra loro, quindi, non appartengono a un fornitore di servizi, ma sono periferiche controllate direttamente dagli utenti. Nel seguito esamineremo due applicazioni tipiche di questa architettura, che ne esemplificano chiaramente la struttura ed i vantaggi: la distribuzione di file, che mostra chiaramente l'autoscalabilità del P2P, ed un database distribuito tra una grande comunità di peer. Distribuzione di file peer to peer La distribuzione di file con architettura client-server prevede che un server o, quasi sempre, un gruppo di server invii un file a un gran numero di host: ciò richiede un forte consumo di banda da parte del server ed un enorme carico di lavoro. Nella distribuzione di file P2P, ogni peer può ridistribuire qualsiasi parte del file che ha ricevuto ad altri peer, aiutando in tal modo il server nella distribuzione. Attualmente, il più popolare protocollo per la distribuzione di file P2P è BitTorrent: utilizzeremo, quindi, questo protocollo per descrivere l'architettura della distribuzione di file P2P. File F Server u1 us d1 u2 dn d2 Internet un u3 d5 u5 d4 u4 d3 Per illustrare la intrinseca autoscalabilità del P2P, consideriamo un semplice modello quantitativo per la distribuzione di un file a un insieme fisso di peer. Questo file costituisce un espansione online del corso Informatica di Addomine, Pons Zanichelli Editore S.p.A.
2 Come mostrato in figura 1, server e peer sono connessi a Internet tramite link di accesso. Chiamiamo u s la velocità di upload del server, u i la velocità di upload e d i la velocità di download dell'i-esimo peer. Chiamiamo F la dimensione del file da distribuire (in bit) e N il numero di peer che vogliono ottenere una copia del file. Il tempo di distribuzione è il tempo necessario perché tutti gli N peer ottengano una copia del file. Per semplicità, ipotizziamo che la banda disponibile sull'ìinternet sia tale da non generare colli di bottiglia, quindi che il tempo di distribuzione dipenda solo dalla velocità dei link di upload e download; ipotizziamo anche che sia il server che i peer non utilizzino contemporaneamente altre applicazioni di rete, ossia che la banda di accesso sia interamente dedicata alla distribuzione del file. Determiniamo il tempo di distribuzione per l'architettura client-server, che chiamiamo D cs, notando che: il server deve trasmettere una copia del file ad ognuno degli N peer, per cui deve trasmettere NF bit: poiché la velocità di upload del server è u s, il tempo di distribuzione del file deve essere NF/u s la velocità di download dei peer non è identica, per cui esiste un d min appartenente al peer con la connessione più lenta, ossia d min = min(d 1, d 2,.,d n ) Unendo queste due affermazioni, otteniamo che D cs = max(nf/u s, F/d min ) Per quanto sia grande la banda di upload del server, al crescere del numero dei peer,troviamo che per cui si ha D cs = NF/u s. U s < sum(d 1, d 2,.,d n ) Da ciò si deduce che, per un numero elevato di peer, il tempo di distribuzione cresce linearmente con il numero di peer: se il numero dei peer cresce di 10 volte, anche il tempo di distribuzione decuplica. Nell'architettura P2P, ogni peer può assistere il server, ridistribuendo immediatamente quanto ricevuto, utilizzando il proprio link di upload: il calcolo del tempo di distribuzione diventa più complesso, ma può essere espresso in modo altrettanto semplice. Notiamo che: all'inizio della distribuzione, solo il server contiene il file. Per inviarlo alla comunità dei peer, deve effettuare l'upload almeno una volta attraverso il proprio link di accesso, quindi il minimo tempo di distribuzione lato server è almeno F/u. A differenza dell'architettura client-server, infatti, può non essere necessario più di un invio da parte del server, dato che i peer possono ridistribuire il file tra loro autonomamente come nell'architettura client-server, il peer con la connessione più lenta non può ricevere in un tempo minore di F/d min la capacità totale di upload del sistema nel suo insieme è pari alla velocità di
3 upload del server, più le velocità di upload di ogni singolo peer, ossia u tot = u s + u 1 + u u n. Poiché il sistema deve trasmettere globalmente NF bit, il tempo minimo di distribuzione non può essere inferiore a NF/(u s + u 1 + u u n ) Se chiamiamo DP2P il tempo di distribuzione del sistema peer-to-peer, troviamo che D P2P = max{f/u s, F/d min, NF/(u s + u 1 + u u n ) La figura 2 mostra il diverso andamento del tempo di distribuzione tra le due architetture, in funzione del numero di peer. Tempo minimo di distribuzione 3,5 3,0 2,5 2,0 1,5 1,0 0,5 Client-server P2P N Abbiamo posto, per semplicità, che tutti i peer abbiano la stessa velocità di upload u e che F/u = 1h, u s = 10u, d min u s. Ciò significa che un peer può trasmettere il file in un'ora, il server è 10 volte più veloce dei peer e la velocità di download è tale da non avere effetto sul tempo di trasferimento. Si vede chiaramente come, nell'architettura client-server, il tempo di distribuzione cresca linearmente con il numero di peer; nell'architettura P2P, invece, il tempo di distribuzione tende asintoticamente a F/u, garantendo così l'autoscalabilità del sistema indipendentemente dal numero di host connessi. Bit Torrent Come abbiamo detto, BitTorrent è il più popolare protocollo di distribuzione file P2P. Nel gergo di BitTorrent, l'insieme di tutti i peer che partecipano alla distribuzione di un particolare è detto torrent. I peer di un torrent si scambiano tra loro chunk (letteralmente blocco, porzione) del file, con una dimensione tipica di 256 KB.
4 Quando un peer entra in un torrent non possiede alcun chunk, ma col passare del tempo ne accumula una quantità sempre maggiore e, al contempo, li distribuisce ad altri peer. Quando ha scaricato l'intero file, il peer può lasciare il torrent, oppure rimanere e continuare ad inviare chunk ad altri peer entrati più recentemente. Il funzionamento di BitTorrent è piuttosto complesso, per cui ci limiteremo a descriverne il meccanismo principale. Ogni torrent possiede un nodo infrastrutturale chiamato tracker. Facendo riferimento alla figura 3, quando un nuovo peer entra nel torrent, si registra sul tracker e periodicamente lo informa di essere ancora presente: in questo modo, il tracker tiene un elenco dei peer che, in ogni momento, stanno partecipando al torrent. Tracker Peer Lista dei peer Scambio di chunk Nuovo peer All'entrata del peer, il tracker seleziona in maniera casuale un sottoinsieme tra i peer partecipanti che chiameremo per comodità vicini e ne invia l'indirizzo IP al nuovo entrato, che tenta di stabilire una connessione TCP contemporanea con tutti i peer della lista. Con il passare del tempo, alcuni vicini possono uscire dal torrent mentre altri, entrati successivamente, possono tentare la connessione TCP e diventare a loro volta vicini: si vede chiaramente come la comunità dei vicini, all'interno del torrent, cambi continuamente e come un torrent possa avere durata illimitata, proseguendo sino a che esiste almeno un peer che desidera il file e almeno un altro peer disposto a inviarlo. Poiché il file viene scambiato non nella sua interezza, ma in chunk, durante il trasferimento ogni peer ha un sottoinsieme dei chunk del file, differente per ognuno: periodicamente, ogni peer chiede ai suoi vicini, tramite la connessione TCP, l'elenco dei chunk che ognuno possiede. Questo file costituisce un espansione online del corso Informatica di Addomine, Pons Zanichelli Editore S.p.A.
5 In questo modo, può generare una lista di chunk, verificare quali non sono ancora in suo possesso ed inviare ai vicini la richiesta di download. Per effettuare queste operazioni in modo efficiente, il peer deve prendere due decisioni: la sequenza dei chunk da richiedere e la scelta di quali saranno i vicini di cui esaudirà le richieste. Per definire la sequenza delle richieste, viene usata la tecnica detta rarest first, ossia prima il più raro: vengono determinati i chunk presenti sul minor numero di vicini, ossia quelli di cui esistono meno copie contemporaneamente, e richiesti per primi. In questo modo, i chunk più rari sono ridistribuiti più velocemente, allo scopo di equalizzare per quanto possibile il numero di copie di tutti i chunk all'interno del torrent. Per definire a quali richieste rispondere, BitTorrent usa un algoritmo di scambio molto intelligente. La regola base è che viene data priorità ai vicini che stanno a loro volta inviando dati alla maggiore velocità: viene misurata la velocità di invio e scelti i quattro vicini più veloci, cui vengono inviati i propri chunk. Ogni 10 secondi, le velocità sono ricalcolate ed il gruppo dei quattro destinatari eventualmente modificato. Nel gergo di BitTorrent, questi quattro vicini sono detti unchoked, termine intraducibile che deriva dalla negazione del verbo to choke, soffocare, strozzare, intasare. Oltre a ciò, ogni 30 secondi, il peer invia chunks ad un quinto vicino, scelto in modo casuale, iniziando uno scambio; se entrambi i peer sono soddisfatti dello scambio, si inseriscono vicendevolmente nella lista degli unchoked e continuano a scambiarsi choke sino a che uno dei due trova un socio migliore. L'effetto di questo comportamento è che i peer capaci di effettuare upload a velocità simili tendono a trovarsi. La selezione casuale del vicino, inoltre, permette ai peer nuovi entrati di riceve dei chunk, quindi di avere qualcosa da scambiare. DHT (Distributed Hash Tables) Immaginiamo di avere un semplice database, formato da una tabella con due sole colonne, chiave e valore. Per fare qualche esempio esempio, la chiave può essere il codice fiscale ed il valore il nome della persona (PNSDNL54D10E704O, Daniele Pons), oppure la chiave è il nome di un contenuto ed il valore l'indirizzo IP dove questo è registrato (The Dark Side of the Moon, ). Interroghiamo il database attraverso la chiave: se vi sono una o più coppie chiave-valore che corrispondono alla query, il database restituisce i valori corrispondenti. Realizzare un simile database è elementare, se utilizziamo un'architettura clientserver, che mantiene tutte le coppie in un unico server: noi, però, ne vogliamo costruire una versione distribuita P2P che registri le coppie chiave-valore su un gran numero di peer. Nel sistema P2P, ogni peer conterrà solo un piccolo sottoinsieme delle coppie, e qualunque peer potrà interrogare il database con una chiave qualunque: il database distribuito localizzerà i peer che contengono la coppie corrispondenti e le invierà alla sorgente della query. Ogni peer, infine, potrà inserire nuove coppie nel database.
6 Un simile database distribuito viene chiamato DHT (Distributed Hash Tables). Vediamo per prima cosa come funziona un servizio DHT all'interno di un file sharing P2P, usando l'esempio nome di contenuto - indirizzo IP. Poniamo di voler scaricare una copia dell'ultima release di una distribuzione Linux e che questa sia contenuta nei peer Rosso e Bianco; inoltre, esiste un ulteriore Peer che è responsabile del contenuto, generalmente quello che l'ha immesso nel database, che chiamiamo Verde. Se vogliamo ottenere una copia di Linux, per prima cosa dobbiamo sapere in che peer è disponibile: inoltriamo, quindi, una query con chiave "Linux" al database DHT. Il database determina che il responsabile per la chiave "Linux" è Verde, contatta il peer Verde, ne ottiene le due coppie Linux-IP rosso e Linux-IP bianco e le passa a Verde, che può scaricare la distribuzione sia da Rosso che da Bianco. Vediamo come è possibile progettare un simile database. La soluzione più semplice è, ovviamente, quella di distribuire a caso le coppie su tutti i peer partecipanti e costringere ogni peer a mantenere in memoria la lista di tutti gli indirizzi IP. Il peer che vuole trovare i valori corrispondenti, invia la query della chiave a tutti i partecipanti, e tutti i peer che contengono una coppia con quella chiave rispondono. Il sistema può funzionare per qualche decina di peer, ma sicuramente non per i milioni di partecipanti che generalmente compongono questi database distribuiti: si tratta di un approccio totalmente non scalabile e, quindi, improponibile. Esiste una soluzione al problema molto più elegante. Iniziamo assegnando ad ogni peer un identificativo, composto da un intero compreso nell'intervallo [0, 2 n -1] con n dato e fisso, in modo che ogni identificativo possa essere espresso da un numero di n bit. Richiediamo, poi, che ogni chiave sia composta da un intero compreso nella stessa gamma di valori. Questa condizione è impossibile da soddisfare, se usiamo come chiave nomi di contenuti, codici fiscali o, in realtà, qualunque altra cosa che abbia riferimento diretto al mondo reale: per creare interi partendo da queste chiavi, usiamo una funzione hash (letteralmente tritare, sminuzzare, pasticciare) che mappa ogni chiave in un intero compreso nell'intervallo [0, 2 n -1]. Una funzione hash è una funzione molti a uno, per la quale due diversi ingressi possono avere la stessa uscita, ossia lo stesso intero, ma le probabilità che ciò avvenga sono estremamente basse. La funzione hash deve essere disponibile a tutti i peer del sistema. Da qui in avanti, quando ci riferiamo alla "chiave" intendiamo l'hash della chiave originale: se, ad esempio, la chiave originale è "The Dark Side of the Moon", la chiave effettivamente utilizzata dal DHT è l'intero corrispondente all'hash di "The Dark Side of the Moon". Consideriamo adesso come memorizzare le coppie chiave-valore nel DHT: il problema centrale, in questo caso, è la definizione di una regola di assegnazione delle chiavi ai peer. Dato che ogni peer ha un identificatore intero e che anche ogni chiave è un intero nello stesso intervallo, l'approccio più intuitivo è assegnare ogni coppia al peer il cui identificatore è il più prossimo alla chiave.
7 Per implementare questo schema, dobbiamo definire cosa intendiamo con il termine "più prossimo", per il quale sono possibili molte convenzioni diverse: per comodità, definiamo come peer più prossimo quello immediatamente successivo alla chiave. Per fare un esempio molto semplice, supponiamo che n = 4, cosicché gli identificatori dei peer e le chiavi cadono nell'intervallo [0, 15]; supponiamo, inoltre, che nel sistema vi siano 8 peer, con identificativo 1, 3, 4, 5, 8, 10, 12 e 15; infine, supponiamo di voler inserire la coppia (11, Daniele Pons) in uno degli 8 peer. Usando la convenzione dichiarata, la coppia verrà registrata sul peer 12, che è il successivo più vicino. Se la chiave corrisponde esattamente all'identificatore di un peer, la coppia verrà registrata sul peer corrispondente. Se, invece, la chiave ha un valore superiore a tutti gli identificativi, utilizziamo il complemento a 2, registrando la chiave nel peer con l'identificativo più basso. Supponiamo, adesso, che un peer voglia inserire una nuova coppia chiave-valore nel DHT. Concettualmente, non ci sono problemi: si determina qual è il peer con identificatore più prossimo e di invia a questo la coppia. Ma, per fare ciò, ogni peer dovrebbe avere l'elenco di tutti gli identificativi: oltre al fatto che il DHT varia dinamicamente, può succedere che il sistema contenga milioni di peer e, quindi, la cosa sia praticamente improponibile. La determinazione del peer più prossimo, indipendentemente dalla convenzione adottata, comporta una serie di problemi architetturali, la cui esposizione eccede gli scopi di questo libro. Per finire, notiamo come i DHT abbiano trovato un'ampia applicazione pratica. Ad esempio, BitTorrent usa il DHT kademlia per creare un tracker distribuito: in questo caso, la chiave è l'identificativo del torrent ed il valore è l'indirizzo IP di tutti i peer partecipanti al torrent. In questo modo, interrogando il DHT con un identificatore di torrent, un nuovo arrivato può identificare il peer responsabile del tracking e chiedergli un elenco degli altri peer partecipanti al torrent. Didascalie Figura 1 Figura 2 Figura 3 Distribuzione di file peer-to-peer Tempo di distribuzione nelle architetture client-server e P2P Distribuzione di file con BitTorrent
Il protocollo BitTorrent
4 Università degli studi di Bari Corso di Laurea Magistrale in Informatica Sistemi Distribuiti: architetttura e modelizzazione Modulo B modellizzazione Anno Accademico 2008 2009 Modellizzazione del protocollo
DettagliParte II: Reti di calcolatori Lezione 9
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Parte II: Reti di calcolatori Lezione 9 Martedì 1-04-2014 1 Applicazioni P2P
DettagliAlgoritmi per protocolli peer-to-peer
Algoritmi per protocolli peer-to-peer Bittorrent (caso di studio) Livio Torrero (livio.torrero@polito.it) 09/2009 Bittorent: concetti base (1/2) La rete Bittorrent si basa su tracker Spesso integrato con
DettagliStrutturazione 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
DettagliContesto: Peer to Peer
Contesto: Peer to Peer Un architettura di rete P2P è caratterizzata da: Connessioni dirette tra i suoi componenti. Tutti i nodi sono entità paritarie (peer). Risorse di calcolo, contenuti, applicazioni
DettagliNelle 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
DettagliA 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
DettagliSoluzione 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
DettagliMODELLO 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
DettagliReti 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
DettagliParte II: Reti di calcolatori Lezione 11
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 11 Martedì 14-04-2015 1 Esempio di uso di proxy Consideriamo
DettagliMODELLISTICA DI IMPIANTI E SISTEMI 2
MODELLISTICA DI IMPIANTI E SISTEMI 2 Indice 1 Dalla traccia al modello 2 1.1 BAS................................................ 4 I Traccia Si consideri il problema della gestione efficiente dei servizi
DettagliReti 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,
DettagliDefinire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};
ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca
DettagliIntroduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
DettagliDeterminare la grandezza della sottorete
Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano
DettagliAltri metodi di indicizzazione
Organizzazione a indici su più livelli Altri metodi di indicizzazione Al crescere della dimensione del file l organizzazione sequenziale a indice diventa inefficiente: in lettura a causa del crescere del
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
DettagliUniversità 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
DettagliTraccia di soluzione dell esercizio del 25/1/2005
Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello
DettagliMOCA. Modulo Candidatura. http://www.federscacchi.it/moca. moca@federscacchi.it. [Manuale versione 1.0 marzo 2013]
MOCA Modulo Candidatura http://www.federscacchi.it/moca moca@federscacchi.it [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire
DettagliParte II: Reti di calcolatori Lezione 12
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 12 Giovedì 16-04-2015 1 Confronto architetture C/S e
DettagliCoordinazione 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,
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliEsercizio 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
Dettaglif(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da
Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede
DettagliDatabase. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
DettagliCorso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015
Corso di Algoritmi e Strutture Dati Informatica per il Management Prova Scritta, 25/6/2015 Chi deve recuperare il progetto del modulo 1 ha 1 ora e 30 minuti per svolgere gli esercizi 1, 2, 3 Chi deve recuperare
DettagliSiamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
DettagliCodifiche a lunghezza variabile
Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un
DettagliINTERNET 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
DettagliINDICE. Accesso al Portale Pag. 2. Nuovo preventivo - Ricerca articoli. Pag. 4. Nuovo preventivo Ordine. Pag. 6. Modificare il preventivo. Pag.
Gentile Cliente, benvenuto nel Portale on-line dell Elettrica. Attraverso il nostro Portale potrà: consultare la disponibilità dei prodotti nei nostri magazzini, fare ordini, consultare i suoi prezzi personalizzati,
DettagliUTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI
UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all
Dettagli1. 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
DettagliCOSTER. Import/Export su SWC701. SwcImportExport
SwcImportExport 1 Con SWC701 è possibile esportare ed importare degli impianti dal vostro database in modo da tenere aggiornati più Pc non in rete o non facente capo allo stesso DataBase. Il caso più comune
Dettagli3. Introduzione all'internetworking
3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia
DettagliProgettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
DettagliDatabase 1 biblioteca universitaria. Testo del quesito
Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole
DettagliRete Internet Prova in Itinere Mercoledì 23 Aprile 2008
Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome: Corso di laurea e anno: Matricola:
DettagliDimensione di uno Spazio vettoriale
Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione
Dettaglirisulta (x) = 1 se x < 0.
Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente
DettagliConfigurazione di Outlook Express
OUTLOOK Outlook Express è il client di posta elettronica sviluppato da Microsoft, preinstallato su sistemi operativi Windows a partire da Windows 98 fino all'uscita di Windows XP. Con l'arrivo di Windows
DettagliBasi di Dati Multimediali. Fabio Strocco
Basi di Dati Multimediali Fabio Strocco September 19, 2011 1 Contents 2 Introduzione Le basi di dati (o database) hanno applicazioni in molti campi, in cui è necessario memorizzare, analizzare e gestire
DettagliIl sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.
SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo
DettagliHBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?
NOSQL Data Model HBase si ispira a BigTable di Google e perciò rientra nella categoria dei column store; tuttavia da un punto di vista logico i dati sono ancora organizzati in forma di tabelle, in cui
DettagliControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi
ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,
DettagliGestione della memoria. Paginazione Segmentazione Segmentazione con paginazione
Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base
DettagliEntrare nel sistema. Clicca su Entra per entrare nel sistema. PAGINA 1
Entrare nel sistema Clicca su Entra per entrare nel sistema. PAGINA 1 Entrare nel sistema Compare il box di login in cui inserire il nome utente e la password fornite tramite posta elettronica. PAGINA
DettagliAmministrazione gruppi (all interno della Scuola)
Amministrazione gruppi (all interno della Scuola) Guida breve per il docente che amministra il gruppo Premessa Il gruppo viene creato solo dall amministratore della Scuola. Il docente che è stato inserito
DettagliSISTEMI INFORMATIVI AVANZATI -2010/2011 1. Introduzione
SISTEMI INFORMATIVI AVANZATI -2010/2011 1 Introduzione In queste dispense, dopo aver riportato una sintesi del concetto di Dipendenza Funzionale e di Normalizzazione estratti dal libro Progetto di Basi
DettagliGli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.
Prof. Francesco Accarino Raccolta di esercizi modello ER Esercizio 1 Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano
DettagliI Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo
I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?
DettagliManuale servizio ScambioDati
Manuale servizio ScambioDati Descrizione del servizio... 2 Accesso al servizio... 3 Sezione Upload... 4 Gestione Aree di Download... 4 Sezione Download... 6 Descrizione del servizio Accade sempre più spesso
DettagliARCHITETTURA 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
DettagliAmministrazione gruppi (Comunità)
Amministrazione gruppi (Comunità) Guida breve per il docente che amministra il gruppo Premessa Di regola i gruppi sono creati all interno della Scuola. Nel caso in cui vi fosse la necessità di aprire un
DettagliCorso di Amministrazione di Reti A.A. 2002/2003
Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm
DettagliAEMcom Peer2Peer - Windows
AEMcom Peer2Peer - Windows La rete di AEMcom raggiunge ormai tutto il territorio della provincia di Cremona, arrivando a coprire anche alcuni comuni dei territori confinanti. AEMcom Peer2Peer nasce come
DettagliLogica Numerica Approfondimento 1. Minimo Comune Multiplo e Massimo Comun Divisore. Il concetto di multiplo e di divisore. Il Minimo Comune Multiplo
Logica Numerica Approfondimento E. Barbuto Minimo Comune Multiplo e Massimo Comun Divisore Il concetto di multiplo e di divisore Considerato un numero intero n, se esso viene moltiplicato per un numero
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
Dettagli1. PRIME PROPRIETÀ 2
RELAZIONI 1. Prime proprietà Il significato comune del concetto di relazione è facilmente intuibile: due elementi sono in relazione se c è un legame tra loro descritto da una certa proprietà; ad esempio,
DettagliManuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015]
Manuale d uso Software di parcellazione per commercialisti Ver. 1.0.3 [05/01/2015] Realizzato e distribuito da LeggeraSoft Sommario Premessa... 2 Fase di Login... 2 Menù principale... 2 Anagrafica clienti...
Dettagli1 Progetto di laboratorio di reti I
1 Progetto di laboratorio di reti I In questo documento sono descritte le specifiche per la realizzazione del progetto. Vedremo innanzitutto le caratteristiche richieste nel codice e nella relazione, per
DettagliReti di calcolatori ed indirizzi IP
ITIS TASSINARI, 1D Reti di calcolatori ed indirizzi IP Prof. Pasquale De Michele 5 aprile 2014 1 INTRODUZIONE ALLE RETI DI CALCOLATORI Cosa è una rete di calcolatori? Il modo migliore per capire di cosa
DettagliCon 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
DettagliDatabase e reti. Piero Gallo Pasquale Sirsi
Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente
DettagliALGEBRA DELLE PROPOSIZIONI
Università di Salerno Fondamenti di Informatica Corso di Laurea Ingegneria Corso B Docente: Ing. Giovanni Secondulfo Anno Accademico 2010-2011 ALGEBRA DELLE PROPOSIZIONI Fondamenti di Informatica Algebra
DettagliFPf per Windows 3.1. Guida all uso
FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete
DettagliI database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:
Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare
DettagliIndice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
DettagliI motori di ricerca. Che cosa sono. Stefania Marrara Corso di Sistemi Informativi
I motori di ricerca Stefania Marrara Corso di Sistemi Informativi a.a 2002/2003 Che cosa sono Un motore di ricerca è uno strumento per mezzo del quale è possibile ricercare alcuni termini (parole) all
DettagliGHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.
*+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti
DettagliSistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1
GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno
DettagliElementi di Psicometria con Laboratorio di SPSS 1
Elementi di Psicometria con Laboratorio di SPSS 1 12-Il t-test per campioni appaiati vers. 1.2 (7 novembre 2014) Germano Rossi 1 germano.rossi@unimib.it 1 Dipartimento di Psicologia, Università di Milano-Bicocca
DettagliIntroduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)
Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,
DettagliTesti di Esercizi e Quesiti 1
Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica
DettagliReti 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
DettagliLaboratorio di Informatica
per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,
DettagliOlga Scotti. Basi di Informatica. Excel
Basi di Informatica Excel Tabelle pivot Le tabelle pivot sono strumenti analitici e di reporting per creare tabelle riassuntive, riorganizzare dati tramite trascinamento, filtrare e raggruppare i dati,
DettagliAchab Learning & Presentation System Il progetto di Achab, per lo sviluppo e la pubblicazione di presentazioni e corsi di formazione online
Achab Learning & Presentation System Il progetto di Achab, per lo sviluppo e la pubblicazione di presentazioni e corsi di formazione online Organizzare presentazioni e corsi online...2 Comunicare in modo
DettagliReti 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
DettagliProgettazione di una base di dati Ufficio della Motorizzazione
Corso di Gestione dell Informazione Studenti NON frequentanti A.A. 2008/2009 1 Scopo del progetto Progettazione di una base di dati Ufficio della Motorizzazione Si vuole realizzare un applicazione base
Dettaglilo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000
Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,
DettagliManuale 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
DettagliNOTE 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
DettagliPlate Locator Riconoscimento Automatico di Targhe
Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa
DettagliSchema Tipologia a Stella
Cos'e' esattamente una rete! Una LAN (Local Area Network) è un insieme di dispositivi informatici collegati fra loro, che utilizzano un linguaggio che consente a ciascuno di essi di scambiare informazioni.
DettagliScheduling 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
DettagliAEMcom Peer2Peer Ubuntu \ Mac OS
AEMcom Peer2Peer Ubuntu \ Mac OS La rete di AEMcom raggiunge ormai tutto il territorio della provincia di Cremona, arrivando a coprire anche alcuni comuni dei territori confinanti. AEMcom Peer2Peer nasce
Dettagliuadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda
Fa quadrato attorno alla tua azienda Soluzioni software per L archiviazione elettronica dei documenti Perché scegliere Q Archiviazione Elettronica dei Documenti? Tale applicativo si pone come obbiettivo
DettagliReti 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
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,
DettagliIncentivi alla cooperazione Introduzione
Incentivi alla cooperazione dellamico@disi.unige.it Sistemi Distribuiti P2P A.A. 2007-08 6-7 dicembre 2007 Outline 1 Cooperazione e free riding Free riding Reciprocità 2 Eliminazione iterata 3 Forma iterata
DettagliAlgoritmi e strutture dati. Codici di Huffman
Algoritmi e strutture dati Codici di Huffman Memorizzazione dei dati Quando un file viene memorizzato, esso va memorizzato in qualche formato binario Modo più semplice: memorizzare il codice ASCII per
DettagliMODELLO RELAZIONALE. Introduzione
MODELLO RELAZIONALE Introduzione E' stato proposto agli inizi degli anni 70 da Codd finalizzato alla realizzazione dell indipendenza dei dati, unisce concetti derivati dalla teoria degli insiemi (relazioni)
Dettagli1 Giochi a due, con informazione perfetta e somma zero
1 Giochi a due, con informazione perfetta e somma zero Nel gioco del Nim, se semplificato all estremo, ci sono due giocatori I, II e una pila di 6 pedine identiche In ogni turno di gioco I rimuove una
DettagliAmministrazione classi
Amministrazione classi Guida breve per il docente che amministra la classe Premessa Le classi vengono creata solo dall amministratore della Scuola. Il docente che è stato inserito nella classe come moderatore
DettagliCORSO 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
DettagliTECNICHE DI SIMULAZIONE
TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione
DettagliComunicazione 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