progettazione e realizzazione in java di una rete peer to peer ...
progettazione e realizzazione in java di una rete peer to peer ...
progettazione e realizzazione in java di una rete peer to peer ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2. LE COMPONENTI<br />
poi si <strong>di</strong>fferenzia a seconda della funzione che ha il messaggio e a seconda del<br />
plug-<strong>in</strong> da cui proviene o a cui è dest<strong>in</strong>a<strong>to</strong>. Se, ad esempio, si tratterà <strong>di</strong> un<br />
cocoon dest<strong>in</strong>a<strong>to</strong> a Connectivity, <strong>in</strong>capsulerà un ogget<strong>to</strong> flux che a sua volta<br />
<strong>in</strong>capsulerà un ogget<strong>to</strong> triplaDati. flux corrisponderebbe qu<strong>in</strong><strong>di</strong> al pro<strong>to</strong>collo<br />
tcp e triplaDati ad un datagramma http.<br />
Figura 2.2: L’<strong>in</strong>capsulamen<strong>to</strong> dei messaggi.<br />
Nel pacchet<strong>to</strong> core sono anche <strong>in</strong>seriti i manager per le risorse. Questi moduli<br />
hanno il compi<strong>to</strong> <strong>di</strong> assegnare e, <strong>in</strong> caso <strong>di</strong> conflit<strong>to</strong>, arbitrare le risorse. Queste<br />
operazioni però, non <strong>di</strong>pendono esclusivamente dal resource manager competen-<br />
te. L’assegnazione, <strong>in</strong>fatti, si basa su un meccanismo che co<strong>in</strong>volge il plug-<strong>in</strong><br />
richiedente e il modulo per la gestione dei cre<strong>di</strong>ti. Il plug-<strong>in</strong> che vuole usufruire,<br />
ad esempio, <strong>di</strong> <strong>una</strong> certa quantità <strong>di</strong> spazio su <strong>di</strong>sco, deve, <strong>in</strong>fatti, richiederne<br />
l’uso al ges<strong>to</strong>re locale ma deve anche “pagare” al modulo per la gestione dei cre-<br />
<strong>di</strong>ti. La transazione tende a complicarsi nel caso <strong>in</strong> cui è un altro nodo della <strong>rete</strong><br />
a <strong>in</strong>terrogare il client locale per usarne lo spazio. Infatti, il nodo remo<strong>to</strong>, deve<br />
prendere contat<strong>to</strong> col plug-<strong>in</strong> locale per controllare la <strong>di</strong>sponibilità del servizio,<br />
e, poi, deve <strong>in</strong>teragire col modulo <strong>di</strong> gestione cre<strong>di</strong>ti per accordarsi sul prezzo.<br />
In locale, il plug-<strong>in</strong> accetta <strong>di</strong> fornire il servizio al nodo remo<strong>to</strong> previa verifica<br />
<strong>di</strong> pagamen<strong>to</strong> presso il modulo gestione cre<strong>di</strong>ti. Successivamente si fa carico <strong>di</strong><br />
chiedere l’allocazione della risorsa presso il ges<strong>to</strong>re della risorsa competente. Il<br />
ges<strong>to</strong>re dovrà qu<strong>in</strong><strong>di</strong>, oltre ad accettare le richieste dei plug-<strong>in</strong>, controllare pre-<br />
18