Main.WikiSandbox History
Hide minor edits - Show changes to markup
(:include Site.UltimeModifiche lines=5:)
(:table:) (:cellnr:) (:include Site.UltimeModifiche lines=5:) (:tableend:)
provaprovaprovaprovaprovaprova
provaprovaprovaprovaprovaprova
(:include Site.UltimeModifiche lines=5:)
provaprovaprovaprovaprovaprovaprova
provaprovaprovaprovaprovaprova
provaprovaprovaprovaprovaprov
provaprovaprovaprovaprovaprovaprova
provaprovaprovaprova
(:include Site.UltimeModifiche lines=5:)
provaprovaprovaprovaprovaprov
provaprovaprova
provaprovaprovaprova
provaprova
provaprovaprova
provaprova
provaprova
(:include Site.UltimeModifiche lines=5:)
provaprova
Usa liberamente questa pagina per fare tutti i tuoi esperimenti col linguaggio del wiki. Basta cliccare sul link "modifica" nella barra superiore.
(:title Anime:Bleach:)
:: Bleach ::
http://mangashop.files.wordpress.com/2007/06/bleach_illust.jpg Arrivano gli Dei della Morte
The story
bla
bla
(:table width=60% border=0 cellpadding=5 cellspacing=0 align=center:)
(:cellnr bgcolor=#d9e4f2 colspan=2 align=center:) Scheda dell'Anime
(:cellnr bgcolor=#f5f9fc :) Titolo:
(:cell bgcolor=#f5f9fc :) Bleach
(:cellnr bgcolor=#f5f9fc :) Autore:
(:cell bgcolor=#f5f9fc :) Tite Kubo
(:cellnr bgcolor=#f5f9fc :) Regia:
(:cell bgcolor=#f5f9fc :) Noriyuki Abe
(:cellnr bgcolor=#f5f9fc :) Character Design:
(:cell bgcolor=#f5f9fc :) Masashi Kudo
(:cellnr bgcolor=#f5f9fc :) Musiche:
(:cell bgcolor=#f5f9fc :) Shiro Sagisu
(:cellnr bgcolor=#f5f9fc :) Rete:
(:cell bgcolor=#f5f9fc :) Tv Tokio
(:cellnr bgcolor=#f5f9fc :) 1a puntata:
(:cell bgcolor=#f5f9fc :) 5 Ottobre 2004 e tutt'ora in corso
(:cellnr bgcolor=#f5f9fc :) Episodi:
(:cell bgcolor=#f5f9fc :) 159 e tutt'ora in corso
(:cellnr bgcolor=#f5f9fc :) Genere:
(:cell bgcolor=#f5f9fc :) Shonen, Azione
(:tableend:)
Immagini del cartone e wallpaper
Bla bla bla...
http://dl.img.qj.net/uploads/files_module/screenshots/10247_bleach.jpg Kurosaki Ichigo in primo piano e dei della morte alle spalle
http://bleach.itudia.com/images/bleach_intro.gif in senso orario partendo dal ragazzo coi capelli arancioni Kurosaki, Inoue, Ishida(o Ichida), Chad, e Rukia.
http://www.fantasymundo.com/galeria/imagenes/introduccion-manga/bleach0001.jpg Kurosaki ed alcuni dei capitani degli dei della morte alle spalle
http://i169.photobucket.com/albums/u229/Taizku/Bleach/1161737277_Bleach__Ichirin_no_Hana_.jpg Lo scontro finale tra Kurosaki ed il Fratello cattivo di Rukia (ps la serie non finisce qua)
http://i169.photobucket.com/albums/u229/Taizku/Bleach/1161737277_Bleach__Ichirin_no_Hana_.jpg Lo scontro finale tra Kurosaki ed il Fratello cattivo di Rukia (ps la serie non finisce qua)
http://www.fantasymundo.com/galeria/imagenes/introduccion-manga/bleach0001.jpg Kurosaki ed alcuni dei capitani degli dei della morte alle spalle
http://dl.img.qj.net/uploads/files_module/screenshots/10247_bleach.jpg Kurosaki Ichigo in primo piano
http://dl.img.qj.net/uploads/files_module/screenshots/10247_bleach.jpg Kurosaki Ichigo in primo piano e dei della morte alle spalle
http://dl.img.qj.net/uploads/files_module/screenshots/10247_bleach.jpg
http://dl.img.qj.net/uploads/files_module/screenshots/10247_bleach.jpg Kurosaki Ichigo in primo piano http://bleach.itudia.com/images/bleach_intro.gif in senso orario partendo dal ragazzo coi capelli arancioni Kurosaki, Inoue, Ishida(o Ichida), Chad, e Rukia.
http://dl.img.qj.net/uploads/files_module/screenshots/10247_bleach.jpg
Stili e influenze
Immagini del cartone e wallpaper
(:cellnr bgcolor=#f5f9fc :) Titolo
(:cellnr bgcolor=#f5f9fc :) Titolo:
(:cellnr bgcolor=#f5f9fc :) Autore
(:cellnr bgcolor=#f5f9fc :) Autore:
(:cellnr bgcolor=#f5f9fc :) Regia
(:cellnr bgcolor=#f5f9fc :) Regia:
(:cellnr bgcolor=#f5f9fc :) Character Design
(:cellnr bgcolor=#f5f9fc :) Character Design:
(:cellnr valign=middle:) Buh! (:cell valign=middle:) 2015 (:cellnr bgcolor=#f5f9fc :) La cosa dall'altra cosa (:cell bgcolor=#f5f9fc :) 1540 (:cellnr valign=middle:) Saggio sulla sintesi (:cell valign=middle:) 15000
(:cellnr bgcolor=#f5f9fc :) Musiche: (:cell bgcolor=#f5f9fc :) Shiro Sagisu (:cellnr bgcolor=#f5f9fc :) Rete: (:cell bgcolor=#f5f9fc :) Tv Tokio (:cellnr bgcolor=#f5f9fc :) 1a puntata: (:cell bgcolor=#f5f9fc :) 5 Ottobre 2004 e tutt'ora in corso (:cellnr bgcolor=#f5f9fc :) Episodi: (:cell bgcolor=#f5f9fc :) 159 e tutt'ora in corso (:cellnr bgcolor=#f5f9fc :) Genere: (:cell bgcolor=#f5f9fc :) Shonen, Azione
(:cell bgcolor=#f5f9fc :) Pagine (:cellnr bgcolor=#f5f9fc :) Titolo (:cell bgcolor=#f5f9fc :) Pagine
(:cell bgcolor=#f5f9fc :) Bleach (:cellnr bgcolor=#f5f9fc :) Autore (:cell bgcolor=#f5f9fc :) Tite Kubo (:cellnr bgcolor=#f5f9fc :) Regia (:cell bgcolor=#f5f9fc :) Noriyuki Abe (:cellnr bgcolor=#f5f9fc :) Character Design (:cell bgcolor=#f5f9fc :) Masashi Kudo
(:cellnr bgcolor=#f5f9fc :) Titolo (:cell bgcolor=#f5f9fc :) Pagine
(:cellnr bgcolor=#d9e4f2 colspan=2 align=center:) Prossimi libri in uscita
(:cellnr bgcolor=#d9e4f2 colspan=2 align=center:) Scheda dell'Anime
Chi diavolo è
Appunto. Stephen King secondo alcuni è il vero nome del meglio noto Belzebù.
Si guadagna la pagnotta scrivendo tonnellate e tonnelate di romanzi horror all'anno.
Pare perché abbia perso una scommessa.
The story
bla
bla
(:title Stephen King:)
:: Stephen King ::
(:title Anime:Bleach:)
:: Bleach ::
Bravo sì, ma anche bello
Arrivano gli Dei della Morte
<a href="http://img248.imageshack.us/my.php?image=darktorawall04lt6.jpg_blank"><img src="http://img248.imageshack.us/img248/6770/darktorawall04lt6.th.jpg0" alt="Free Image Hosting at www.ImageShack.us" /></a>
http://mangashop.files.wordpress.com/2007/06/bleach_illust.jpg
http://gallery.panorama.it/albums/userpics/10055/normal_stephen-king.jpg|\\
<a href="http://img248.imageshack.us/my.php?image=darktorawall04lt6.jpg_blank"><img src="http://img248.imageshack.us/img248/6770/darktorawall04lt6.th.jpg0" alt="Free Image Hosting at www.ImageShack.us" /></a>
(:title Pagina Modello:)
:: Titolo della pagina ::
Titolo del paragrafo
Testo del paragrafo. Parole, parole parole, nient'altro che parole!
(:table width=45% border=0 cellpadding=5 cellspacing=0 align=center:) (:cellnr bgcolor=#d9e4f2 colspan=2 align=center:) Nome Tabella (:cellnr:) Nome riga: (:cell:) contenuto (:cellnr bgcolor=#f5f9fc valign=middle:) A colori alterni... (:cell bgcolor=#f5f9fc valign=middle:) bla bla bla (:cellnr valign=middle:) bla bla bla: (:cell valign=middle:) bla bla bla (:cellnr bgcolor=#f5f9fc valign=middle:) bla bla: (:cell bgcolor=#f5f9fc valign=middle:) bla bla bla
(:title Stephen King:)
:: Stephen King ::
http://gallery.panorama.it/albums/userpics/10055/normal_stephen-king.jpg|
Bravo sì, ma anche bello
Chi diavolo è
Appunto. Stephen King secondo alcuni è il vero nome del meglio noto Belzebù.
Si guadagna la pagnotta scrivendo tonnellate e tonnelate di romanzi horror all'anno.
Pare perché abbia perso una scommessa.
(:table width=60% border=0 cellpadding=5 cellspacing=0 align=center:) (:cellnr bgcolor=#d9e4f2 colspan=2 align=center:) Prossimi libri in uscita (:cellnr bgcolor=#f5f9fc :) Titolo (:cell bgcolor=#f5f9fc :) Pagine (:cellnr valign=middle:) Buh! (:cell valign=middle:) 2015 (:cellnr bgcolor=#f5f9fc :) La cosa dall'altra cosa (:cell bgcolor=#f5f9fc :) 1540 (:cellnr valign=middle:) Saggio sulla sintesi (:cell valign=middle:) 15000
Titolo altro paragrafo
Altre parole, parole, parole...
Stili e influenze
Bla bla bla...
http://www.itop.it/foto_articoli/non_disponibile.jpg|Didascalia alla foto
(:title Sandbox:)
(:table border=0 width=40% align=right:) (:cellnr align=center:)nes=3..3:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=4..4:) (:cellnr :) (:include Main.RecentChanges lines=5..5:) (:cellnr:) (:tableend:) (:table border=0 width=90% cellpadding=5 cellspacing=0:) (:cellnr bgcolor=#e7e7e7 align=center:) Ultime 5 Modifiche (:cellnr :) (:include Main.RecentChanges lines=1..1:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=2..2:) (:cellnr :) (:include Main.RecentChanges li (:tableend:)
Saluti
Ciao lara
in questo modo
vado a capo
Lista:
- uno
- due
- tre
- primo
- secondo
due tre
This wiki installation is running PmWiki pmwiki-2.1.27.
http://www.easy-poll.com/counters/counter.html?gclid=CJWEpcKVp48CFRCJZwodpgZOKA
(:title Pagina Modello:)
:: Titolo della pagina ::
http://www.itop.it/foto_articoli/non_disponibile.jpg|Didascalia alla foto
Titolo del paragrafo
Testo del paragrafo. Parole, parole parole, nient'altro che parole!
(:table width=45% border=0 cellpadding=5 cellspacing=0 align=center:)
(:cellnr bgcolor=#d9e4f2 colspan=2 align=center:) Nome Tabella
(:cellnr:) Nome riga:
(:cell:) contenuto
(:cellnr bgcolor=#f5f9fc valign=middle:) A colori alterni...
(:cell bgcolor=#f5f9fc valign=middle:) bla bla bla
(:cellnr valign=middle:) bla bla bla:
(:cell valign=middle:) bla bla bla
(:cellnr bgcolor=#f5f9fc valign=middle:) bla bla:
(:cell bgcolor=#f5f9fc valign=middle:) bla bla bla
(:tableend:)
Titolo altro paragrafo
Altre parole, parole, parole...
Tipi di ritardo
Viaggiando dal sorgente al destinatario il pacchetto può essere soggetto a differenti ritardi. Elementi di ritardo possono essere: Propagazione: tempo e velocità di propagazione dei bite trasmissione legata alla banda (dtrans = Lunghezza/ Rate{portata}) coda dei pacchetti che dipende dalla prestazioni del router e dei protocolli di trasporto processo: legato all’header del pacchetto e all’instradamento dei router
Le strategie per ridurre il ritardo sono chiamate di Content Distribution. Tutte agiscono sul tempo di trasmissione aumentando e diminuendo l’uso della banda. Esse sono: web caching (ottimizzare contenuti server) mirroring ditribution of multiple host on a single DNS P2P
WEB CACHING
Server proxy: le richieste del client non vanno al server di origine ma si fermano in un server diverso che ha già in sè la maggioranza delle informazioni richieste dal client. Il vantaggio principale è derivato dal fatto che di solito la banda passante tra client e proxy è maggiore di quella tra client e server di origine. Inoltre riduce il tempo di risposta alla richiesta e il traffico al link. E' un'architettura con grande replicazione cache e a chi ha banda bassa può fornire risorse con banda alta richiedendo direttamente alla cache. Siccome non so come mettere i suoi disegni guardare le sue dispense.
Vedi slide 74-78 Ceravolo
CONTENT DISTRIBUTION NETWORKS
Sono compagnie che affittano spazi dove i clienti possono replicare contenuti. Il cliente sviluppa un meccanismo che risolve le richieste del server centrale e le reindirizza al più vicino CND, quindi fornisco degli spazi dove smistare le richieste a vari mirroring. L’impatto positivo è la valorizzazione economica del servizio. Conoscere la mappa della rete è quindi importante.
P2P file sharing
Non si usa un’architettura client-server (richiesta a un fornitore di servizio) ma host che fungono sia da client che da server. Distribuire i contenuti non significa però diminuirli. Ci sono due tipi di file sharing: bootstrap: gli host si collegano alla rete quindi deve essere agganciato alla rete stessa e avere un punto di collegamento per invio richieste ad altri peer. Smisto le richieste sapendo chi sono i suoi vicini lookup: per avere la risorsa x devo fornire uno o più host che mi dicono ciò che voglio. Data transfert: dare risorsa ad altri (host to host)
Penso che tutti sappiano come sia il file sharing, i punti principali sono spiegati nella slide 81 di Ceravolo comunque.
P2P centralized as Napster
In quest'architettura centralizzata il server riconosce l'host e lo registra e si occupa del lookup cioè controlla chi è l'host che può soddisfare la richiesta inviata da un altro host. (Lookup = richiesta di dati ai vicini, che propagano la richiesta ad altri vicini e man mano si allarga il giro) I problemi di questo tipo sono: collo di bottiglia: collegamento con problemi di banda tra host con differenti bande infrazione di copyright: il server non sa cosa si inviano tra loro gli host perchè il trasferimento dei file è decentrallizzato
P2P as Gnutella
Successivo a Napster. In questo caso le richiste di dati vengono propagate attraverso query attraverso una connessione TCP tra host. Le query sono gestite attraverso un TTL per cui dopo un po' non può più essere propagata la richiesta per non saturare la rete. Il protocollo ha una sua tipologia che si inserisce su internet.
Per capire meglio l'architettura vedi slide 86
Ibrido: KaZaA
In quest'architettura c'è un super peer cioè un gruppo leader che funge da server, collegati ciascuno ad altrettanti host tutti attraverso il protocollo TCP.
Ogni file ha un suo codice e una descrizione. Il client manda la query con la parola chiave al suo gruppo leader. Questo risponde con le informazioni richieste fornendo metadata (dati relativi al dato dato), hash e IP address. Se il gruppo leader deve inviare la domanda ad altri gruppi anche questi dovranno rispondere con le stesse informazioni. Infine il client sceglie i file da scaricare.
Ci sono dei problemi sull'efficienza e la sicurezza perchè un peer può ingannare l'altro modificando i dati visibili del file da scaricare. Limitato inoltre il download parallelo per via delle code nella rete.
Scalability
La scalabilità di un protocollo è relativa all'efficacia del servizio di lookup (cioè quello che manda i messaggi di richiesta dei dati) Due sono gli obiettivi principali:
- minimizzare il numero di messaggi richiesti per il lookup
- minimizzare i metadata richiesti per descrivere ogni nodo
Il progetto Chord si prefigge di sviluppare sistemi distribuiti scalabili (può allargare la sua distribuzione) e robusti sfruttando le idee del peer-to-peer. Il componente base del progetto Chord è l'algoritmo di ricerca distribuita basata su tabelle di hash, tabelle di codici di dati. Chord può trovare dati usando log(N) messaggi, dove N è il numero di nodi nel sistema. Perciò per trovare dei dati non fa passare il messaggio di richiesta da tutti i nodi ma solo a logN nodi attraverso un sistema di ricerca del "vicino". Cioè invio la richiesta a un nodo conoscendo già il suo o i suoi vicini.
Socket programming
Cos'è un socket? Un socket in inglese è letteralmente la "presa da muro". Attraverso di esso un processo applicativo può sia mandare che ricevere messaggi da un altro processo. I socket permettono al protocollo applicativo di comunicare con il protocollo di trasporto. Il protocollo di trasporto può essere come tutti ben sappiamo UDP o TCP.
Socket programming with TCP
TCP è un protocollo affidabile, ossia trasferisce pacchetti in ordine tra client e server. E' più lungo da utilizzare perchè bisogna tener conto del fatto che il client e il server "si mettono d'accordo" su dettagli di trasferimento.
Infatti il client contatta il server che deve essere prima fatto "partire" (running) e deve essere stata creata una socket door che riceve il client.
Quando il client vuole contattare il server deve fornire IP address e port number. Quando il client crea il socket il client TCP stabilisce una connessione con il server TCP. E ogni volta che il client lo contatta il server TCP crea nuovi socket per il processo per comunicare con il client. Il server può parlare con molti client e identificarli attraverso il numero di porta.
Stream jargon (non ho la minima idea del perchè sia messo qui, ma teniamolo)
Lo stream è una sequenza di caratteri che scorre dentro o fuori dal processo.
- Input stream = semplicemente tutti i dati che vengono dalle periferiche di input (tastiera, mouse ecc)
- Output stream = tutti i dati che deve inviare in uscita (stampante)
Esempio client/server with TCP
1. client legge le righe che riceve in input (inFromUser stream) e le manda al server via socket (outToServer stream) 2. il server legge le linee dal socket 3. le converte in maiuscolo (uppercase???)e le rimanda al client 4. il client legge, stampa e modifica le linee dal socket (inFromServer stream)
vedi slide 100-104 per un esempio di Java client/server TCP
Socket programming with UDP
UDP non dà connessione e il lavoro è perciò ridotto perchè non c'è bisogno dei patteggiamenti (le "strette di mano") da fare con UDP, è un modello più semplice perchè non c'è bisogno di aprire la connessione. Però come ricordiamo è un protocollo non affidabile quindi i pacchetti possono essere persi o ricevuti in ordine sbagliato. Che differenza c'è? C'è che l'IP addresse la porta di destinazione del mittente deve essere estratta direttamente dal pacchetto inviato, non viene mandato a parte.
vedi slide 107-112 per un esempio di Java client/server UDP
Costruire un semplice Web server (nb. può servirci per costruire quello da fare per Sassi?)
Esso si occupa di richieste HTTP e di tutti gli annessi e i connessi, cioè: accettare le richieste, analizzare l'header, ottenere le richieste dal server file system, creare una risposta al messaggio HTTP (header lines + file), mandare la risposta al client.
Dopo aver creato un server HTTP posso fare le richieste direttamente dal browser.
Esempio client server with TCP
Esempio client/server with TCP
vedi slide 100-104
vedi slide 100-104 per un esempio di Java client/server TCP
UDP non dà connessione e il lavoro è perciò ridotto perchè non c'è bisogno dei patteggiamenti (le "strette di mano") da fare con UDP, è un modello più semplice perchè non c'è bisogno di aprire la connessione.
UDP non dà connessione e il lavoro è perciò ridotto perchè non c'è bisogno dei patteggiamenti (le "strette di mano") da fare con UDP, è un modello più semplice perchè non c'è bisogno di aprire la connessione. Però come ricordiamo è un protocollo non affidabile quindi i pacchetti possono essere persi o ricevuti in ordine sbagliato. Che differenza c'è? C'è che l'IP addresse la porta di destinazione del mittente deve essere estratta direttamente dal pacchetto inviato, non viene mandato a parte.
vedi slide 107-112 per un esempio di Java client/server UDP
Costruire un semplice Web server (nb. può servirci per costruire quello da fare per Sassi?)
Esso si occupa di richieste HTTP e di tutti gli annessi e i connessi, cioè: accettare le richieste, analizzare l'header, ottenere le richieste dal server file system, creare una risposta al messaggio HTTP (header lines + file), mandare la risposta al client.
Dopo aver creato un server HTTP posso fare le richieste direttamente dal browser.
Esempio client server with TCP
1. client legge le righe che riceve in input (inFromUser stream) e le manda al server via socket (outToServer stream) 2. il server legge le linee dal socket 3. le converte in maiuscolo (uppercase???)e le rimanda al client 4. il client legge, stampa e modifica le linee dal socket (inFromServer stream)
vedi slide 100-104
Socket programming with UDP
UDP non dà connessione e il lavoro è perciò ridotto perchè non c'è bisogno dei patteggiamenti (le "strette di mano") da fare con UDP, è un modello più semplice perchè non c'è bisogno di aprire la connessione.
Un socket in inglese è la presa da muro attraverso la quale un processo applicativo può sia mandare che ricevere messaggi da un'altro processo. I socket permettono al protocollo applicativo di comunicare con il protocollo di trasporto.
Un socket in inglese è letteralmente la "presa da muro". Attraverso di esso un processo applicativo può sia mandare che ricevere messaggi da un altro processo. I socket permettono al protocollo applicativo di comunicare con il protocollo di trasporto.
Socket programming with TCP
TCP è un protocollo affidabile, ossia trasferisce pacchetti in ordine tra client e server. E' più lungo da utilizzare perchè bisogna tener conto del fatto che il client e il server "si mettono d'accordo" su dettagli di trasferimento.
Infatti il client contatta il server che deve essere prima fatto "partire" (running) e deve essere stata creata una socket door che riceve il client.
Quando il client vuole contattare il server deve fornire IP address e port number. Quando il client crea il socket il client TCP stabilisce una connessione con il server TCP. E ogni volta che il client lo contatta il server TCP crea nuovi socket per il processo per comunicare con il client. Il server può parlare con molti client e identificarli attraverso il numero di porta.
Stream jargon (non ho la minima idea del perchè sia messo qui, ma teniamolo)
Lo stream è una sequenza di caratteri che scorre dentro o fuori dal processo.
- Input stream = semplicemente tutti i dati che vengono dalle periferiche di input (tastiera, mouse ecc)
- Output stream = tutti i dati che deve inviare in uscita (stampante)
Ogni file ha un proprietario (hash=proprietario???) e una descrizione. Il client manda la query con la parola chiave al suo gruppo leader. Questo risponde con le informazioni richieste fornendo metadata, hash(???) e IP address. Se il gruppo leader deve inviare la domanda ad altri gruppi anche questi dovranno rispondere con le stesse informazioni. Infine il client sceglie i file da scaricare.
Ogni file ha un suo codice e una descrizione. Il client manda la query con la parola chiave al suo gruppo leader. Questo risponde con le informazioni richieste fornendo metadata (dati relativi al dato dato), hash e IP address. Se il gruppo leader deve inviare la domanda ad altri gruppi anche questi dovranno rispondere con le stesse informazioni. Infine il client sceglie i file da scaricare.
Quindi minimizza le richieste query e le informazioni richieste di un nodo per effettiva ricerca della query. Per minimizzare le richieste quindi dovrei ridurre la distanza fra gli host attraverso un collegamento diretto con i punti della rete attraverso il Chord. Vedi slide 91-93 Cervolo per delucidazioni su come fare (e se qualcuno me lo spiega meglio capisco di più anche io!)
Il progetto Chord si prefigge di sviluppare sistemi distribuiti scalabili (può allargare la sua distribuzione) e robusti sfruttando le idee del peer-to-peer. Il componente base del progetto Chord è l'algoritmo di ricerca distribuita basata su tabelle di hash, tabelle di codici di dati. Chord può trovare dati usando log(N) messaggi, dove N è il numero di nodi nel sistema. Perciò per trovare dei dati non fa passare il messaggio di richiesta da tutti i nodi ma solo a logN nodi attraverso un sistema di ricerca del "vicino". Cioè invio la richiesta a un nodo conoscendo già il suo o i suoi vicini.
Per capire bene cos'è un socket programming dobbiamo sapere cos'è un socket Un socket in inglese è la presa da muro, è stata tradotta con il termine di “porta” attraverso la quale un processo applicativo può sia mandare che ricevere messaggi da un'altro processo. I socket permettono ad esempio al protocollo applicativo di comunicare con il protocollo di trasporto.
Cos'è un socket? Un socket in inglese è la presa da muro attraverso la quale un processo applicativo può sia mandare che ricevere messaggi da un'altro processo. I socket permettono al protocollo applicativo di comunicare con il protocollo di trasporto.
http://www.easy-poll.com/counters/counter.html?gclid=CJWEpcKVp48CFRCJZwodpgZOKA
http://www.easy-poll.com/counters/counter.html?gclid=CJWEpcKVp48CFRCJZwodpgZOKA
Tipi di ritardo
Viaggiando dal sorgente al destinatario il pacchetto può essere soggetto a differenti ritardi. Elementi di ritardo possono essere: Propagazione: tempo e velocità di propagazione dei bite trasmissione legata alla banda (dtrans = Lunghezza/ Rate{portata}) coda dei pacchetti che dipende dalla prestazioni del router e dei protocolli di trasporto processo: legato all’header del pacchetto e all’instradamento dei router
Le strategie per ridurre il ritardo sono chiamate di Content Distribution. Tutte agiscono sul tempo di trasmissione aumentando e diminuendo l’uso della banda. Esse sono: web caching (ottimizzare contenuti server) mirroring ditribution of multiple host on a single DNS P2P
WEB CACHING
Server proxy: le richieste del client non vanno al server di origine ma si fermano in un server diverso che ha già in sè la maggioranza delle informazioni richieste dal client. Il vantaggio principale è derivato dal fatto che di solito la banda passante tra client e proxy è maggiore di quella tra client e server di origine. Inoltre riduce il tempo di risposta alla richiesta e il traffico al link. E' un'architettura con grande replicazione cache e a chi ha banda bassa può fornire risorse con banda alta richiedendo direttamente alla cache. Siccome non so come mettere i suoi disegni guardare le sue dispense.
Vedi slide 74-78 Ceravolo
CONTENT DISTRIBUTION NETWORKS
Sono compagnie che affittano spazi dove i clienti possono replicare contenuti. Il cliente sviluppa un meccanismo che risolve le richieste del server centrale e le reindirizza al più vicino CND, quindi fornisco degli spazi dove smistare le richieste a vari mirroring. L’impatto positivo è la valorizzazione economica del servizio. Conoscere la mappa della rete è quindi importante.
P2P file sharing
Non si usa un’architettura client-server (richiesta a un fornitore di servizio) ma host che fungono sia da client che da server. Distribuire i contenuti non significa però diminuirli. Ci sono due tipi di file sharing: bootstrap: gli host si collegano alla rete quindi deve essere agganciato alla rete stessa e avere un punto di collegamento per invio richieste ad altri peer. Smisto le richieste sapendo chi sono i suoi vicini lookup: per avere la risorsa x devo fornire uno o più host che mi dicono ciò che voglio. Data transfert: dare risorsa ad altri (host to host)
Penso che tutti sappiano come sia il file sharing, i punti principali sono spiegati nella slide 81 di Ceravolo comunque.
P2P centralized as Napster
In quest'architettura centralizzata il server riconosce l'host e lo registra e si occupa del lookup cioè controlla chi è l'host che può soddisfare la richiesta inviata da un altro host. (Lookup = richiesta di dati ai vicini, che propagano la richiesta ad altri vicini e man mano si allarga il giro) I problemi di questo tipo sono: collo di bottiglia: collegamento con problemi di banda tra host con differenti bande infrazione di copyright: il server non sa cosa si inviano tra loro gli host perchè il trasferimento dei file è decentrallizzato
P2P as Gnutella
Successivo a Napster. In questo caso le richiste di dati vengono propagate attraverso query attraverso una connessione TCP tra host. Le query sono gestite attraverso un TTL per cui dopo un po' non può più essere propagata la richiesta per non saturare la rete. Il protocollo ha una sua tipologia che si inserisce su internet.
Per capire meglio l'architettura vedi slide 86
Ibrido: KaZaA
In quest'architettura c'è un super peer cioè un gruppo leader che funge da server, collegati ciascuno ad altrettanti host tutti attraverso il protocollo TCP.
Ogni file ha un proprietario (hash=proprietario???) e una descrizione. Il client manda la query con la parola chiave al suo gruppo leader. Questo risponde con le informazioni richieste fornendo metadata, hash(???) e IP address. Se il gruppo leader deve inviare la domanda ad altri gruppi anche questi dovranno rispondere con le stesse informazioni. Infine il client sceglie i file da scaricare.
Ci sono dei problemi sull'efficienza e la sicurezza perchè un peer può ingannare l'altro modificando i dati visibili del file da scaricare. Limitato inoltre il download parallelo per via delle code nella rete.
Scalability
La scalabilità di un protocollo è relativa all'efficacia del servizio di lookup (cioè quello che manda i messaggi di richiesta dei dati) Due sono gli obiettivi principali:
- minimizzare il numero di messaggi richiesti per il lookup
- minimizzare i metadata richiesti per descrivere ogni nodo
Quindi minimizza le richieste query e le informazioni richieste di un nodo per effettiva ricerca della query. Per minimizzare le richieste quindi dovrei ridurre la distanza fra gli host attraverso un collegamento diretto con i punti della rete attraverso il Chord. Vedi slide 91-93 Cervolo per delucidazioni su come fare (e se qualcuno me lo spiega meglio capisco di più anche io!)
Socket programming
Per capire bene cos'è un socket programming dobbiamo sapere cos'è un socket Un socket in inglese è la presa da muro, è stata tradotta con il termine di “porta” attraverso la quale un processo applicativo può sia mandare che ricevere messaggi da un'altro processo. I socket permettono ad esempio al protocollo applicativo di comunicare con il protocollo di trasporto. Il protocollo di trasporto può essere come tutti ben sappiamo UDP o TCP.
http://www.easy-poll.com/counters/counter.html?gclid=CJWEpcKVp48CFRCJZwodpgZOKA
(:cellnr align=center:)
(:cellnr align=center:)nes=3..3:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=4..4:) (:cellnr :) (:include Main.RecentChanges lines=5..5:) (:cellnr:) (:tableend:)
(:cellnr :) (:include Main.RecentChanges lines=3..3:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=4..4:) (:cellnr :) (:include Main.RecentChanges lines=5..5:) (:cellnr:)
(:cellnr :) (:include Main.RecentChanges li
(:tableend:)
Usa liberamente questa pagina per fare tutti i tuoi esperimenti col linguaggio del wiki. Basta cliccare sul link "Modifica" nella barra superiore.
Usa liberamente questa pagina per fare tutti i tuoi esperimenti col linguaggio del wiki. Basta cliccare sul link "modifica" nella barra superiore.
Feel free to use this page to experiment with the Text Formatting Rules. Just click the "Edit Page" link at the bottom of the page.
Usa liberamente questa pagina per fare tutti i tuoi esperimenti col linguaggio del wiki. Basta cliccare sul link "Modifica" nella barra superiore.
pmwiki-2.1.27.
pmwiki-2.1.27.
(:table border=0 width=40% align=right:) (:cellnr align=center:) (:table border=0 width=90% cellpadding=5 cellspacing=0:) (:cellnr bgcolor=#e7e7e7 align=center:) Ultime 5 Modifiche (:cellnr :) (:include Main.RecentChanges lines=1..1:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=2..2:) (:cellnr :) (:include Main.RecentChanges lines=3..3:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=4..4:) (:cellnr :) (:include Main.RecentChanges lines=5..5:) (:cellnr:) (:tableend:) (:tableend:)
pmwiki-2.1.27.
(:table border=0 width=40% align=right:) (:cellnr align=center:) (:table border=0 width=90% cellpadding=5 cellspacing=0:) (:cellnr bgcolor=#e7e7e7 align=center:) Ultime 5 Modifiche (:cellnr :) (:include Main.RecentChanges lines=1..1:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=2..2:) (:cellnr :) (:include Main.RecentChanges lines=3..3:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=4..4:) (:cellnr :) (:include Main.RecentChanges lines=5..5:) (:cellnr:) (:tableend:) (:tableend:)
pmwiki-2.1.27.
(:table border=1 width=60% cellpadding=5 cellspacing=0:) (:cellnr bgcolor=#e7e7e7 align=center:) Ultime 5 Modifiche (:cellnr:)(:include Main.RecentChanges lines=1:) (:cellnr:)(:include Main.RecentChanges lines=2..2:)
(:table border=0 width=40% align=right:) (:cellnr align=center:) (:table border=0 width=90% cellpadding=5 cellspacing=0:) (:cellnr bgcolor=#e7e7e7 align=center:) Ultime 5 Modifiche (:cellnr :) (:include Main.RecentChanges lines=1..1:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=2..2:) (:cellnr :) (:include Main.RecentChanges lines=3..3:) (:cellnr bgcolor=#f6f6f6:) (:include Main.RecentChanges lines=4..4:) (:cellnr :) (:include Main.RecentChanges lines=5..5:) (:cellnr:)
(:table border=1:) (:cellnr:)1 (:cell:)2 (:cell:)3 (:cell:)4 (:cellnr:)5 (:cell align=center:) (:table border=1:) (:cell:)A (:cell:)B (:cell:)C (:cellnr:)E (:cell:)F (:cell:)G (:tableend:) (:cell:)6 (:cell:)7 (:cellnr:)8 (:cell:)9 (:cell:)10 (:cell:)11
(:head:)nUM (:head:)NUm (:head:)NuM (:head:)NUM (:row:) (:cell:)1
(:cellnr:)1
(:row:) (:cell:)5
(:cellnr:)5
(:row:) (:cell:)E
(:cellnr:)E
(:row:) (:cell:)8
(:cellnr:)8
(:tableend:)
(:table border=1:) (:head:)nUM (:head:)NUm (:head:)NuM (:head:)NUM (:row:) (:cell:)1 (:cell:)2 (:cell:)3 (:cell:)4 (:row:) (:cell:)5 (:cell align=center:) (:table border=1:) (:cell:)A (:cell:)B (:cell:)C (:row:) (:cell:)E (:cell:)F (:cell:)G (:tableend:) (:cell:)6 (:cell:)7 (:row:) (:cell:)8 (:cell:)9 (:cell:)10 (:cell:)11
(:tableend:)
(:table border=1:)
(:cell:)a (:cell:)b (:cell align=center:)c
(:row:) (:cell:)d (:cell:)e (:cell:)f
(:table border=1:)
(:cell:)h (:cell:)i (:cell:)j
(:row:) (:cell:)k (:cell:)l (:cell:)m
(:tableend:)
(:tableend:)
(:tableend:)
(:table border=0 width=100% cellpadding=5 cellspacing=0:) (:cellnr width=50%:)
(:cellnr:) Sottotabella (:cell:) 1 (:cellnr:) 2 (:cell:) 3 (:tableend:)
(:cell width=50%:)
(:cell:)a (:cell:)b (:cell align=center:)c
(:row:) (:cell:)d (:cell:)e (:cell:)f
(:cellnr:) Altra sottotabella (:cell:) 4 (:cellnr:) 5 (:cell:) 6
(:cell:)h (:cell:)i (:cell:)j
(:row:) (:cell:)k (:cell:)l (:cell:)m
(:tableend:)
(:tableend:)
(:tableend:)
(:table border=0 width=100% cellpadding=5 cellspacing=0:) (:cellnr width=50%:)
(:table border=1:) (:cellnr:) Sottotabella (:cell:) 1 (:cellnr:) 2 (:cell:) 3 (:tableend:)
(:cell width=50%:)
(:table border=1:) (:cellnr:) Altra sottotabella (:cell:) 4 (:cellnr:) 5 (:cell:) 6 (:tableend:)
(:cellnr:)(:include Main.RecentChanges lines=1 paras=3:) (:cellnr:)(:include Main.RecentChanges lines=2..2 paras=2:)
(:cellnr:)(:include Main.RecentChanges lines=1:) (:cellnr:)(:include Main.RecentChanges lines=2..2:)
{uno} due tre
due tre
(:cellnr:)(:include Main.RecentChanges lines=1:) (:cellnr:)(:include Main.RecentChanges lines=2..2:)
(:cellnr:)(:include Main.RecentChanges lines=1 paras=3:) (:cellnr:)(:include Main.RecentChanges lines=2..2 paras=2:)
(:cellnr:)(:include Main.RecentChanges lines=2:)
(:cellnr:)(:include Main.RecentChanges lines=2..2:)
(:cellnr:)(:include Main.RecentChanges lines=1..1:)
(:cellnr:)(:include Main.RecentChanges lines=2:) (:tableend:)
(:cellnr:)(:include Main.RecentChanges lines=1..5:)
(:cellnr:)(:include Main.RecentChanges lines=1..1:) (:cellnr:)(:include Main.RecentChanges lines=1:)
(:cellnr:)(:include Main.RecentChanges lines=1:) (:cellnr:)(:include Main.RecentChanges lines=2..2:)
(:cellnr:)(:include Main.RecentChanges lines=1..5:)
(:cellnr:)(:include Main.RecentChanges lines=2:)
(:cellnr:)(:include Main.RecentChanges lines=1:) (:cellnr:)(:include Main.RecentChanges lines=2..2:)
(:cellnr:)(:include Main.RecentChanges lines=1:)
(:cellnr:)(:include Main.RecentChanges lines=2:)
(:cellnr:)(:include Main.RecentChanges lines=1,2,3,4,5:)
(:cellnr:)(:include Main.RecentChanges lines=1:)
(:cellnr:)(:include Main.RecentChanges lines=1..5:)
(:cellnr:)(:include Main.RecentChanges lines=1,2,3,4,5:)
(:cellnr:)prova(:include Main.RecentChanges lines=1..5:)
(:cellnr:)(:include Main.RecentChanges lines=1..5:)
(:cellnr:)* (:include Main.RecentChanges lines=1..5:)
(:cellnr:)prova(:include Main.RecentChanges lines=1..5:)
(:cellnr:) (:include Main.RecentChanges lines=1..5:)
(:cellnr:)* (:include Main.RecentChanges lines=1..5:)
(:cellnr:)(:include Main.RecentChanges lines=2..5:)
(:cellnr:) (:include Main.RecentChanges lines=1..5:)
(:cellnr bgcolor=#e7e7e7 align=center:) Ultime Modifiche (:cellnr:)(:include Main.RecentChanges lines=1..5:)
(:cellnr bgcolor=#e7e7e7 align=center:) Ultime 5 Modifiche (:cellnr:)(:include Main.RecentChanges lines=2..5:)
(:table border=1 width=50% cellpadding=5 cellspacing=0:) (:cellnr bgcolor=#e7e7e7 colspan=2 align=center:) Ultime Modifiche
(:table border=1 width=60% cellpadding=5 cellspacing=0:) (:cellnr bgcolor=#e7e7e7 align=center:) Ultime Modifiche
(:table border=0 width=100% cellpadding=5 cellspacing=0:)
(:table border=1 width=50% cellpadding=5 cellspacing=0:)
(:include Main.RecentChanges lines=1..5:)
(:table border=0 width=100% cellpadding=5 cellspacing=0:) (:cellnr bgcolor=#e7e7e7 colspan=2 align=center:) Ultime Modifiche (:cellnr:)(:include Main.RecentChanges lines=1..5:) (:tableend:)
(:include Main.RecentChanges lines=1..5:)
This wiki installation is running PmWiki pmwiki-2.1.27.
(:title Titolo della pagina:)
Intestazione
Questo è testo normale. Qui ci metto un link a Sua Barbezza?.
Adesso metto un link a una pagina che non esiste?
Intestazione più piccola
Questo testo sarà messo in evidenza. Quest'altro ancora più in evidenza
rosso blu
Sette re di roma: | |
* Romolo | * Servio Tullio |
* Numa Pompilio | * Tarquinio Prisco |
* Tullo Ostilio | * Tarquinio il Superbo |
* Anco Marzio |
Testo non indentato
Testo centrato
E tu pensa che bello evidenziare.
(:title Titolo della pagina:)
Intestazione
Questo è testo normale. Qui ci metto un link a Sua Barbezza?.
Adesso metto un link a una pagina che non esiste?
Intestazione più piccola
Questo testo sarà messo in evidenza. Quest'altro ancora più in evidenza
rosso blu
E tu pensa che bello evidenziare.
E tu pensa che bello evidenziare.
Testo centrato
Testo centrato
E tu pensa che bello evidenziare.
Sette re di roma: |
Sette re di roma: |
Sette re di roma: |
Sette re di roma: |
* Romolo | *Servio Tullio |
* Romolo | * Servio Tullio |
* Anco Marzio |
* Anco Marzio |
Sette re di roma: |
Sette re di roma: |
Sette re di roma: | |
*Romolo | *Servio Tullio |
*Numa Pompilio | * Tarquinio Prisco |
*Tullo Ostilio | * Tarquinio il Superbo |
*Anco Marzio |
Sette re di roma: | |
* Romolo | *Servio Tullio |
* Numa Pompilio | * Tarquinio Prisco |
* Tullo Ostilio | * Tarquinio il Superbo |
* Anco Marzio |
Dita della mano sinistra: |
*pollice |
*indice |
*medio |
*anulare |
*mignolo |
Sette re di roma: | |
*Romolo | *Servio Tullio |
*Numa Pompilio | * Tarquinio Prisco |
*Tullo Ostilio | * Tarquinio il Superbo |
*Anco Marzio |
Dita della mano sinistra:
- pollice
- indice
- medio
- anulare
- mignolo
Dita della mano sinistra: |
*pollice |
*indice |
*medio |
*anulare |
*mignolo |
Dita della mano destra:
- mignolo
- anulare
- medio
- indice
- pollice
- Testo ancora più indentato
- Testo ancora più indentato
Testo centrato
- indice
- medio
- pollice
- pollice
Testo non indentato
- indice
- medio
- pollice
- indice
- medio
- anulare
- mignolo
- pollice
- indice
- medio
- anulare
- mignolo
Dita della mano destra:
- mignolo
- anulare
- medio
- indice
- pollice
Dita della mano:
Dita della mano sinistra:
prima riga seconda riga
terza riga
Dita della mano:
- pollice
- indice
- medio
- anulare
- mignolo
prima riga seconda riga
terza riga