[<--] Indice [-->]

From tetsuo <tetsuo@icomed.it>
Date Fri, 11 Jun 2004 01:29:47 +0200
Subject Re: Re: [hackmeeting] i'm sorry for the long message

pinna wrote:

> tetsuo wrote:
>
>> This is my streaming-p2p-chat project. It has a good develop status.
>>
>> I wish to submit it to the community, possibly in a workshop (but i 
>> have some problems to speak english), during the next Thk in Pula.
>>
>> I would like to test my software apparatus in Thk lan-space with some 
>> autistic minds. I will try to create temporary (Thk days) audio 
>> streaming, with my software.
>>
>> Other people assured me of their presence to make it possible. We 
>> will come in Pula about 22 june. I hope to find out some guru 
>> developer interested in it.
>>
>> I can send, on request, 4 available translations of the textfile 
>> below (it, fr, es, pt).
>> Contact: tetsuo(at)icomed(dot)it
>
>
>
> the italian translation would be welcome - it may also be published
> on www.copydown.org (=> file-sharing area) if you want.
> the workshop you're talking about seems interesting to me also. i'm 
> not a developer, so i couldn't follow a very-very-technician workshop, 
> but i'm very interesting in supporting and spreading 
> sharing-technologies like this. i also think that a comparison with 
> some other P2P apps
> would be a good add-on for the workshop.
>
> a question (sorry for its obviousness): is/will be the code GPLed?
>
> bye,
> pinna
>
>
ok lo posto....

sara' benvenuto qualsiasi tipo di partecipazione all'organizzazione di 
questo workshop. Cerco aiuto nel creare un client multipiattaforma 
grafico (preferibilmente in  python o perl, o al massimo java :-/), 
quello fatto da me e' testuale e solo per linux. posso mandarti 
l'immagine dello schema della rete che si crea, se vuoi...



===============================================
FreedomNET 0.10 - PREALPHA

L'apparato software comprende 5 applicazioni:
- Freedomizer (server per streaming, chat e amministrazione);
- Iena (encoder per il flusso di dati);
- Coyote (client per dialogare in chat, condividere, redistribuire il 
flusso);
- Octopus (server secondario per creare nuove comunita' FChat);
- Soviet (server secondario per creare nuove diramazioni del servizio 
MCast).

I client che entrano in una FNet sono abilitati a
- comunicare tramite uno spazio testuale pubblico o privato
- condividere i file o redistribuire il flusso unico

Questo progetto e' nato dal tentativo di implementare una rete ibrida, 
finalizzata
alla distribuizione di contenuti multimediali (e non) e al risparmio 
della banda
utilizzata dal server centrale. Ovviamente questa non e' una <normale> rete
per la condivisione di file.

La FNet e' costituita da 4 sottoreti-utente: FChat (comunicazione 
testuale in
chat e automazione dei controlli), MCast (streaming in p2p gerarchico), 
FAux
(al tempo stesso ricevitore per sorgenti di tipo Icy e X-audiocast e 
strumento
per il controllo dei log e per l'amministrazione remoti), e FShare (p2p 
puro
per la condivisione di file). Ogni servizio, tranne FShare, utilizza una 
propria
porta TCP nei nodi.

I servizi di chat, streaming p2p gerarchico e il p2p puro della condivisione
file sono implementati in un unico apparato software. I servizi di FChat 
e MCast
sono offerti, o entrambi da Freedomizer (nodo primario) o separatamente: 
FChat
da Octopus (nodo secondario) e MCast da Soviet (nodo secondario).

Per prima cosa il Coyote deve authenticare se stesso per fare ingresso 
in FNet.
Attraverso il servizio di FChat, il client può richiedere gli indirizzi IP
utente. Inoltre FChat permette agli utenti di votare delle proposte fatte
dall'amministratore o teoricamente da ogni utente. FShare e' immediatamente
disponibile. Il client e' fornito di tecnologia p2p pura e il servizio 
descritto
(FShare) dipende dai nodi FChat solo per la lista di tutti gli indirizzi IP
utente.

Se il client chiede di usufruire dell'MCast, cercando uno slot libero, 
lo stesso
client, una volta collocato nella piramide, verra' impiegato nel sistema di
redistribuzione della banda di rete. La conseguenza dell'ingresso nella
redistribuzione e' la perdita delle funzionalita' FShare. Comunque, per
diventare utente MCast, e' necessario sempre fare ingresso in FChat.
In questo modo il nodo potra' fare il test della velocita' di upload 
dell'utente
e quindi creare una piramide di redistribuzione per moltiplicare gli 
slot MCast.

Il nodo marchia i client, in base alla velocita' di upload rilevata. Solo i
client che sono in grado di offrire un'adeguata banda di rete verranno usati
per ridistribuire il flusso dati. Se la velocita' del client e' inferiore a
quella del bitrate richiesto, la variabile "active-user" viene impostata 
a 0;
se la velocita' e' maggiore del bitrate, la variabile e' settata a 1; se la
velocita' permette piu' connessioni (il valore fissato in freedom.conf), la
variabile e' settata a 2. Il valore della variabile determina la posizione
potenziale dell'utente nella piramide di distribuzione.

Se un Coyote chiede uno slot libero, il nodo cerca e seleziona un 
indirizzo IP
disponibile di qualche utente gia' presente nella piramide. Quest'altro 
Coyote
così selezionato viene informato circa l'imminente arrivo del client 
richiedente
il flusso dati unico (audio/video/pacchetto).

In poche parole MCast si differenzia dai server di tipo 'uno-a-molti', 
perche'
il contenuto non viene distribuito a tutti i client direttamente ma 
offerto su
pochi slot. I client predisposti, Coyote collocati nella piramide, 
forniscono
gli altri slot necessari. In questo caso i client agiranno 
approsimativamente
come dei ripetitori per le telecomunicazioni, incrementando via via le 
capacita'
distributive del server. MCast comprende strati-Radice e strati-Aureola. 
Negli
strati-Radice, ogni client redistribuisce il flusso dati al numero 
prefissato
di altri client. Queste biforcazioni a 'Y' del flusso rendono possibile la
moltiplicazione degli slot liberi. Negli strati-Aureola invece ogni client
redistribuisce ad un solo altro client.

Se il client si disconnette dalla piramide viene evitata l'interruzione 
della
distribuzione, tramite oggetti di controllo, detti 'zombi', generati dal 
server
per mantenere una posizione speculare sin dall'ingresso nel servizio MCast.

Il controllo remoto dell'apparato e' reso possibile dal servizio FAux. 
In piu'
FAux fornisce il monitoraggio remoto dei log e l'ingresso per una 
sorgente dati.
Il flusso dati comune puo' essere generato da Iena o Coyote o da altre
applicazioni compatibili (come Icecast-server, Xmms-liveice, Liveice, Ices,
Winamp-DSP). In questo momento i protocolli supportati per la sorgente sono
'icy' and 'x-audiocast'. Con una appropriata configurazione sara' possibile
utilizzare alternativamente piu' sorgenti nella FNet.


===============================================
Creato da Daniele Di Ottavio;
grazie a Luca Tosques, Fabio Di Michele, J.Pedro Amaral de Sà,
Annamaria Piermattei e Andrea Beltramba, per molte molte ragioni :D
===============================================

_______________________________________________
hackmeeting mailing list
hackmeeting@lists.papuasia.org
http://brr.papuasia.org/cgi-bin/mailman/listinfo/hackmeeting

[<--] Indice [-->]