You are on page 1of 68

www.infomedia.

it EDITORIALE

BIMESTRALE - ANNO 12 - N.63


“Con licenza
parlando”
DIRETTORE RESPONSABILE
MARIALETIZIA MARI
(MMARI@INFOMEDIA.IT)
DIREZIONE EDITORIALE
NATALE FINO
(NFINO@INFOMEDIA.IT)

COLLABORATORI
ALESSIO ALESSI
MAURIZIO DELMONTE Agli inizi di Aprile, l’Apache Software Foundation ha inviato una lettera a Sun
ANDREA LEONCINI Microsystems lamentando che è dall’Agosto 2006 che non riesce ad acquisire da Sun
FILIPPO MARTINELLI una licenza “accettabile” per il JCK (Java Compatibility Kit) di Java SE 5, necessario
LUIGI MORELLI per dimostrare la compatibilità di Apache Harmony (un progetto, in origine donato
ALBERTO ROSOTTI
da IBM, della Apache Foundation di implementazione indipendente di JDK per JSE
N I C O L Ò TA M B O N E
5 e di relativa architettura runtime costituita da una libreria di classi e da una Virtual
Machine) con le specifiche Java SE 5. Non avendo ricevuto una risposta diretta entro
trenta giorni, l’Apache Software Foundation ha deciso di pubblicare questa lettera sul
proprio sito (http://www.apache.org/jcp/sunopenletter.html), informando la comunità
Internet.
GRUPPO EDITORIALE INFOMEDIA SRL
V I A V A L D E R A P. 1 1 6 In pratica, la licenza del JCK offerta da Sun impone delle restrizioni sulle condizioni
5 6 0 3 8 PO N S A C C O ( P I ) I T A L I A di utilizzo di questo software da parte degli utenti, condizioni che Apache Foundation
TE L 0 5 8 7 7 3 6 4 6 0 F A X riconosce come ostative. Ciò che la ASF sottolinea è l’incompatibilità di un passo della
0587732232 licenza JCK con i termini del Java Specification Participation Agreement (JSPA),
E-MAIL RED_LOGIN@INFOMEDIA.IT sottoscritto anche dalla ASF a suo tempo.
S I T O W E B W W W. I N F O M E D I A . I T
Il passo “inaccettabile” è quello dell’art. II “Read Only Rigths” comma A., relativo ai
diritti trasferiti della licenza JCK, che, tradotto, recita “… Sun concede una licenza non
DIREZIONE esclusiva, non trasferibile, mondiale e royalty-free di visionare e leggere la tecnologia licenziata
NATALE FINO (NFINO@INFOMEDIA.IT)
unicamente per scopi di valutazione interna. Come condizione conseguente dei diritti di
TE C H N I C A L B O O K licenza, non si potrà copiare, modificare, creare lavori derivati, esporre in pubblico, eseguire in
L I S A VA N N I pubblico, compilare, avviare o eseguire, dimostrare, rivelare, distribuire o utilizzare altrimenti
(BOOK@INFOMEDIA.IT)
la tecnologia licenziata, compreso senza limitazioni, l’utilizzo della tecnologia licenziata per
MARKETING & ADVERTISING sviluppare altre suite di test o altri tool concepiti per validare la compatibilità con una specifica,
SEGRETERIA: 0587736441
M A R KE T I N G @ I N F O M E D I A . I T
o parte di essa, per o inerente alle tecnologie Java”.
Pertanto non poter modificare, creare lavori derivati, esporre in pubblico, compilare,
AMMINISTRAZIONE avviare o eseguire, sono difatti un ostacolo per poter “dimostrare” la compatibilità di
SARA MATTEI
(AMMINISTRAZIONE@INFOMEDIA.IT)
Harmony con le specifiche JSE 5 (come appunto richiesto dalla specifica della licenza
Sun per Java SE 5).
SEGRETERIA Al momento non risulta ci sia stata una risposta ufficiale diretta, salvo dei commenti
ENRICA NASSI
(INFO@INFOMEDIA.IT)
su un weblog Sun (blog.sun.com) e un annuncio alla conferenza JavaOne che il JCK
diventerà open source (in futuro). Una cosa un alquanto buffa da leggere è nel blog
GRAFICA “On The Record” (blogs.sun.com/ontherecord/entry/apache_open_letter_to_sun) in cui, tra
PA O L O F R A N C O l’altro, si legge “la tecnologia Java coinvolge molti interessati, e riconosciamo di non
(GRAFICA@GRUPPOINFOMEDIA.IT)
poter essere sempre in grado di soddisfare tutti mentre percorriamo questo processo.
STAMPA In alcuni casi,” (e qui viene il bello) “dovremo convenire di essere in disaccordo su
T I P O L I T O G R A F I A PE T R U Z Z I alcuni punti”.
CITTÀ DI CASTELLO (PG) Dopo aver sottoscritto un Java Specification Participation Agreement che impone
determinati vincoli impolementativi, come si può poi riconoscere di dover convenire
UFFICIO ABBONAMENTI
TE L 0 5 8 7 7 3 6 4 6 0 di poter essere in disaccordo su alcuni punti, se difatti creano un vantaggio
FA X 0 5 8 7 7 3 2 2 3 2 competitivo per chi detiene (in esclusiva) i più ampi diritti? Si tratta solo di un difetto
ABBONAMENTI@INFOMEDIA.IT nella transizione dal mondo commerciale al mondo open source? Con licenza parlando
W W W. I N F O M E D I A . I T o con beneficio del dubbio?

Natale Fino

3
Login Internet Expert n.63 Marzo/Aprile 2007
SOMMARIO LOGIN n.63 - Marzo/Aprile 2007

Speciale
Cluster di calcolo
Beowulf con Linux
Beowulf, il Signore dei Cluster
di Nicolò Tambone 16
Realizzazione di un cluster di calcolo Beowulf

di Alessio Alessi 19
Architetture cluster con Linux

di Luigi Morelli 24
Appunti sulle topologie dei cluster

di Natale Fino 29
REPORTAGE
Cutting edge u Plone Sorrento Sprint 2007 60
Java e RFID
di Andrea Leoncini 35 Per contattare la Redazione di Login
Elementi di sicurezza elettrica nelle reti dati scrivete a:
Gruppo Editoriale Infomedia S.r.l.
sanitarie: il trasformatore d’isolamento Via Valdera P. 116 - 56038 Ponsacco (PI)
di Alberto Rosotti 42 Tel. 0587/736460 (r.a.) - Fax 0587/732232
e-mail: red_login@infomedia.it - http://www.infomedia.it/Login

I listati che corredano gli articoli sono

Solutions liberamente scaricabili dagli indirizzi:


http://www.infomedia.it/Riviste/Login
Ftp://ftp.infomedia.it/pub/Login/listati
Un download “unificato” con i metalink
Login Building The Information Highway
di Natale Fino 8 è una rivista del Gruppo Editoriale Infomedia S.r.l.

Direzione e amministrazione
Accesso esterno sicuro: sottoreti e VPN Via Valdera P. 116 - Ponsacco (PI)

di Filippo Martinelli 52 Registrazione n.18 del 25/11/99 - Contenuto pubblicitario inferiore al 45%
��������������������������������������������������������������������������������������������������������������������������������������

������������������������������������������������
����������������������
��������������������������������������������������������������������
���������������������������������������������������������������������
������������������������������������������������������������������
�������������������������������������������������������������������
��������������������������������������
����������������������������������������������������������
������������������������������������������������������������������
���������������������������������������������������������������������
solutions

Un download unificato
con i metalink
Metalink è un formato aperto di
rappresentazione “aggregata”
dei link per il download di file via
Internet, utilizzando sia i protocolli
standard HTTP e FTP sia protocolli
P2P come BitTorrent. Scopriamone
l’essenza e le modalità di impiego. Ü di Natale Fino

Accade ogni giorno di dover scaricare dei file sione UMTS/HSDPA (con velocità tipiche
dalla rete, nel nostro caso si tratta spesso di tra i 200 e i 380 Kbit). Un esempio pratico di
software da installare, e capita spesso di effet- “accidenti da download” mi è accaduto poco
tuare il download da un sito che scegliamo a fa, mentre stavo effettuando “via etere” due
caso, attraverso un motore di ricerca, o da un download contemporanei da Sourceforge: il
mirror, anch’esso scelto a caso o individuato primo download era di un file di una ventina
automaticamente dal sito principale del pro- di Megabyte; per il secondo download, di un
dotto o del progetto (come accade, ad esem- file di un paio di MB, avevo scelto un mirror
pio per i download da Sourceforge). Tutto ciò diverso da quello propostomi da Sourcefor-
che esiste su Internet deve sottostare al motto ge, ossia il mirror che stavo utilizzando per il
mediceo “del diman non v’è certezza” e spes- download del primo file. Così, mi sono detto,
so l’operazione di download, nonostante la non rischio di rallentare il primo download.
determinazione del mirror ottimale da con- Ovviamente il download del secondo file è
tattare, può non andare a buon fine al primo terminato prima e senza problemi. A questo
tentativo: il sito prescelto (o il mirror propo- punto, si interrompe il collegamento e vengo
sto dal sito principale) può essere interessato disconnesso, quando ormai avevo superato
da un malfunzionamento temporaneo (della il 90% del primo download! Alla successi-
connessione o dell’hardware), o può non ga- va riconnessione ho riavviato il download
rantire una velocità di connessione ottimale del primo file, confidando nella funzionali-
rispetto alla dimensione del file da scaricare tà di ripresa del download del browser Web!
o, banalmente, può non memorizzare più il Ma resto pietrificato nell’accorgermi che il
file richiesto (immagino vi sarà successo, ad download è ripartito da zero! A quel pun-
esempio, con i mirror di Sourceforge). Que- to, mi sono accorto che stavolta Sourcefor-
sto tipo di problematiche, interessano non ge aveva proposto come mirror quello scelto
solo gli utenti, ma anche i produttori di sof- per ultimo nella sessione precedente, ossia
tware (o comunque di contenuti digitali) che quello utilizzato per il secondo download!
distribuiscono gli aggiornamenti delle pro- Per cui, la funzionalità del browser Web di
prie applicazioni via Internet (magari usan- ripresa del download ha fatto cilecca! Non
do proprio Sourceforge). rassegnato, ho abortito il download in corso,
ho riselezionato a mano il primo mirror e ho
avviato ancora il download. A questo punto,
Download avventurosi coincidendo nome file e indirizzo del mirror,
il browser Web ha ripreso il download dal
90% e dopo un paio di minuti l’operazione
Un ulteriore “acciacco” durante i download si è conclusa proficuamente. Su connessioni
è che la connessione può interrompersi, un lente o comunque con soglie di traffico da
classico esempio da “road warrior” soggetto non superare, pena una tariffa salata, scherzi
a cadute della linea in una classica connes- del genere possono costar cari.

8
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

FIGURA 1 WxDownloadFast un download manager in grado di gestire il formato metalink

il “metalink blues”: chi impone che i link contenuti


debbano essere utilizzati in modo mutuamente esclu-
I metalink fungono sivo? chi impedisce di poter effettuare un download
segmentato da più siti e con protocolli diversi? La
da meta-indicatori risposta è quasi immediata: essendo il metalink un
formato aperto, basato su XML, la “differenza” fun-
per download guidati zionale la fa il software client, che interpreta e utiliz-
za i diversi link contenuti in un metalink. Infatti, un
e efficienti metalink altro non è che un mero contenitore (o me-
glio, una sorta di batch di puntatori) che racchiude le
URL a più host di destinazione, peraltro accessibili
con differenti protocolli.
Ma procediamo per ordine, scandagliando gli aspetti
La soluzione metalink sintattici e semantici inerenti ai metalink.

Quale idea potrebbe rivelarsi più efficace del trasfor- Com’è fatto un metalink
mare le indicazioni per il download in una sorta di
meta-indicazioni per un download guidato e consape-
vole della mutevolezza della rete? In sintesi, è questa Un metalink è un documento scritto nel dialetto
l’utilità dei metalink, un formato aperto e estensibi- XML denominato MMM (Multi Method Meta-
le, basato su una rappresentazione conforme a XML linker) e i file hanno come estensione.metalink. La
1.0, per facilitare e garantire un proficuo download “magia” di un metalink si apprezza meglio investi-
dei file dalla rete. Il formato dei metalink supporta gando la struttura XML delle informazioni che lo
sia i protocolli standard HTTP e FTP sia i protocolli compongono. Prima di descrivere gli elementi (tassa-
P2P, tra cui BitTorrent, ed2k e magnet link. Il noccio- tivi e opzionali) definiti, partiamo da una analisi “by
lo della soluzione è presto detto: un unico metalink example” della struttura sintattica che è, ovviamente,
che descriva le informazioni di download da più siti abbastanza elementare:
alternativi e con protocolli disparati. E qui ha inizio

9
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

<?xml version=”1.0” encoding=”utf-8”?> <file name=”setup-2.4.5.exe”>


<metalink version=”3.0” generator=”Metalink Generator <language>en-US</language>
v1.00.0034” xmlns=”http://www.metalinker.org/”> <os>Windows-x86</os>
<files> <verification>
… <hash type=”md5”>2a619782501e51791f61e120622531f</hash>
</files> </verification>
</metalink> <resources>
<urltype=”http”preference=”100”>http://www.infomedia.it/
In pratica, un metalink contiene le informazioni su downloads/reader/2.4.5/Windows/setup-2.4.5.exe</url>
come scaricare dalla rete una collezioni di file (uno o <urltype=”http”preference=”100”>http://www.infomedia.it/
più file), descrivendo per ciascun file ulteriori detta- downloads/reader/2.4.5/Windows/setup-2.4.5.exe</url>
gli per il download. In quella che potremmo definire </resources>
la “collection” files si possono elencare più file (o nel </file>
caso degenere un solo file). Pertanto, servendoci di …
un frammento tratto da un ipotetico esempio, avremo </files>
una struttura del tipo: </metalink>

Analizzando questo frammento, scopriamo che il for-


<?xml version=”1.0” encoding=”utf-8”?> mato metalink è in grado di esprimere le differenze
<metalinkversion=”3.0”generator=”MetalinkGeneratorv1.00.0034” dei file da scaricare in termini di lingue di localizza-
xmlns=”http://www.metalinker.org/”> zione del software, sistemi operativi supportati, hash
<files> di verifica del file ed elenco dei siti da cui effettuare il
<file name=”setup-2.4.5.exe”> prelievo (delimitati dal tag <resources>).
… Iniziamo a fare un po’ di chiarezza: piuttosto che
</file> ipotizzare che a un unico tag <file name> possano
<file name=”setup-2.5.0.exe”> corrispondere più occorrenze dei tag <os>, <verifi-
… cation> e <resources>, va osservato che la relazione
</file> fra il tag <file name> e i tag <language>, <os> e
… <verification> non è uno a molti, ma uno a uno: il
</files> tag <file name> è un mero contenitore per questi
</metalink> tag successivi, che sono nidificati all’interno del tag
stesso, che indica un singolo file. Invece, la relazione
Ogni file descritto nel metalink è caratterizzato da è uno a molti tra il file e i descrittori <resources>:
ulteriori informazioni pertinenti “quel file”: ad oggi infatti, un singolo file possiamo prelevarlo da più siti
(essendo il metalink un formato aperto è suscettibile (che siano mirror o meno). E i criteri per prelevare
di qualsiasi estensione) i dati associati al file riguar- uno stesso file da uno o più siti sono anche moltepli-
dano: ci: pertanto, nel tag <resources>, la presenza dell’at-
tributo type permette di descrivere il protocollo da
· la URL di destinazione utilizzare, mentre l’attributo preference permette di
attribuire una preferenza o priorità ai siti da contat-
· il protocollo da utilizzare per il download tare

· la lingua di localizzazione del file Vediamo, servendoci di un esempio reale, qual è il


metalink che descrive le possibilità di download per
· il sistema operativo supportato la versione 2.4.5 del software Abiword:

· l’hash di verifica dell’integrità del file (tipo di codi-


fica dell’hash e valore) <?xml version=”1.0” encoding=”utf-8”?>
<metalinkversion=”3.0”generator=”MetalinkGeneratorv1.00.0034”
· una eventuale priorità di preferenza degli host di de- xmlns=”http://www.metalinker.org/”>
stinazione da contattare <files>
<file name=”abiword-setup-2.4.5.exe”>
<language>en-US</language>
Un esempio di metalink
<os>Windows-x86</os>
<verification>
In sintesi, un esempio fittizio più completo (e concre- <hashtype=”md5”>120622531f51091f5b1e2a619782501e</hash>
to) di scrittura di un metalink è del tipo: </verification>
<resources>
<?xml version=”1.0” encoding=”utf-8”?> <urltype=”http”preference=”100”>http://www.abisource.com/
<metalinkversion=”3.0”generator=”MetalinkGeneratorv1.00.0034” downloads/abiword/2.4.5/Windows/abiword-setup-2.4.5.exe</url>
xmlns=”http://www.metalinker.org/”> <urltype=”http”preference=”100”>http://www.abiword.com/
<files> downloads/abiword/2.4.5/Windows/abiword-setup-2.4.5.exe</url>

10
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

</resources> per generare il file.metalink:


</file>
</files>
</metalink> generator = “application”

L’attributo pubdate esprime la data e l’ora di pubbli-


cazione del file.metalink.

Un file .metalink de- pubdate = “Sun, 15 Apr 2007 09:30:00 GMT”

scrive le informazioni
I valori date-time sono conformi a quanto specifica-
di downalod per più to nel documento RFC 822 (ad eccezione che l’anno
può essere espresso sia con due sia con quattro ca-
siti e con protocolli ratteri (quattro è preferito). Mentre pubdate è l’indi-
disparati catore di quando è avvenuta la prima pubblicazione
del.metalink, l’attributo refreshdate indica la data e
l’ora in cui è stato aggiornato un file “dinamico”:

refreshdate = “Mon, 16 Apr 2007 10:30:00 GMT”

Elementi e attributi del formato metalink


Riassumendo, l’header assumerà tipicamente questa
struttura
Alcuni elementi e alcuni attributi sono obbligatori
nella parte header e nella parte body del documen-
to MMM, altri elementi e attribuiti sono invece <metalinkversion=”3.0”xmlns=”http://www.metalinker.org/”
opzionali. Esaminiamo gli elementi e gli attributi origin=”http://www.infomedia.it/downloads/abc.exe.metalink”
principali sia della parte header sia della parte body, type=”dynamic”
rimandando al documento di specifica i dettagli gli pubdate=”Sun, 15 Apr 2007 09:30:00 GMT”
ulteriori elementi opzionali. refreshdate=” Mon, 16 Apr 2007 10:30:00 GMT”
generator=”manual”>

Elementi dell’header
Elementi del body

L’header deve iniziare con un elemento <metalink>


che identifica il namespace XML Gli elementi obbligatori nel body sono <files> (una
sola occorrenza), <file> (una o più occorrenze), <re-
sources> (una sola occorrenza) e <url> (una o più
<metalinkversion=”3.0”xmlns=”http://www.metalinker.org/”> occorrenze). In sintesi il body, come abbiamo già vi-
sto in precedenza, assumerà una struttura simile a:
Sempre nell’header, sono invece raccomandati i se-
guenti attributi: type, origin, generator, pubdate e <files>
refreshdate. L’attributo type può assumere solo due <file>
valori: <resources>
<url>
type = “dynamic” | “static” </url>

Con static si indica che il file metalink non viene ag- <url>
giornato, mentre dynamic indica che lo è. L’attributo </url>
origin indica l’ubicazione originale del file.metalink. <resources>
</file>

origin = “ubicazione originale del metalink” <file>
</file>
Se type è “dynamic” allora questa ubicazione è quel- </files>
la in cui si troverà sempre la versione aggiornata del
file. <file> deve avere un attributo name che indica il
nome del file:
L’attributo generator indica l’applicazione utilizzata

11
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

FIGURA 2Metalink Editor: produrre file metalink con una comoda GUI

tity> che indica l’identità del “produttore” di un


<file name=”abc.exe”>. file, <version> che indica la versione e <size>, che
Per <resources> è disponibile un attributo opzio- esprime la dimensione del file in byte. Ad esempio:
nale maxconnections che indica il numero massimo
di connessioni contemporanee (“1”, “2”, “3”, ecc.)
utilizzabili per il download da quel server. Se ma- <file name=“abc.exe”>
xconnections è “1”, difatti non è prevista dal server la <resources>
possibilità di download segmentato. …
</resources>
L’attributo type di <url> può assumere i seguenti <identity>infomedia.it</identity>
valori <version>2.0</version>
<size>4096</size>
<url>=“ftp”|“ftps”|“http”|“https”|“rsync”|“bittorrent” </file>
| “magnet” | “ed2k”

Un secondo attributo opzionale è location che indica,


con un classico codice di 2 lettere, l’ubicazione del Verificare l’integrità e l’autenticità
mirror, ad esempio:

Il quarto sottoelemento di <file> da segnalare è


location=”it” <verification>, e contiene a sua volta gli elementi
<hash> e <signature> utilizzati per poter verificare
Ulteriore attributo opzionale è preference che espri- l’integrità del file (hash) e l’autenticità del file (signa-
me un valore di priorità di scelta per il download, che ture). L’hash esprime il valore di checksum per il file
va 100 (massima preferenza) a 1 (minima preferenza) (va detto che metalink supporta anche i checksum
parziali, per un controllo sugli errori mentre è in cor-
Tra gli elementi raccomandati per il body ci limitia- so il download del file) ed è in formato esadecimale. I
mo a citare quattro sottoelementi di <file>: <iden- valori possibili di codifica dell’hash si esprimono tra-

12
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

mite l’attributo type di <hash>:


http://localhost/#!metalink3!http://xyz123.com
type = “md4” | “md5” | “sha1” | “sha256” | “sha384” | “sha512”
| “rmd160” | “tiger” | “crc32” per rendervi conto che non viene emesso alcun errore
e che viene aperta correttamente la pagina di default
Siccome è ammesso più di un hash per file, un tipico di localhost. Viceversa, un client che supporta il for-
esempio sarà: mato metalink analizzerà ciò che segue la stringa
<verification> #!metalink3!
<hash type=”md5”>hash_md5_hex</hash>
<hash type=”sha1”>hash_sha1_hex</hash> interpretando la URL che punta al documento MMM.
</verification> Quando l’utente clicca su un metalink, il client prele-
va il file.metalink e procede ad analizzarne il contenu-
Per quanto concerne signature mi limito a evidenziare to. Se il file metalink è dinamico (type=”dynamic”)
che è possibile specificare una “firma” PGP in questo il client contatterà la URL di origine per verificare se
modo esiste un file metalink con un refreshdate più recente.
Diversamente, il client analizza <resources> e le re-
<verification> lative <url> per scaricare più segmenti (se è presente
<signature type=”pgp” file=”linux.sign”> maxconnections ed è maggiore di “1”) dai server con
-----BEGIN PGP SIGNATURE----- maggiore preference. Terminato il download del file,
… il client utilizza le informazioni <hash> e/o <signa-
-----END PGP SIGNATURE----- ture> di <verification> per controllare l’autenticità
</signature> o l’integrità del file.
</verification>

Configurazione del Web server

Un metalink è un file I siti che servono file metalink devono prevedere un


scritto in un dialet- tipo MIME per i file.metalink. Pertanto alla configu-
razione dei tipi MIME del Web server si dovrà ag-
to XML denominato giungere una apposita direttiva. Ad esempio nel caso
di Apache 2 si dovrà aggiungere nel file mime.types
MMM la seguente direttiva
application/metalink+xml metalink

o inserire nel file httpd.conf una equivalente direttiva


AddType. In una versione di Apache meno recente si
aggiungerà
filename.tar.gz.metalink

Il ruolo dei client


ma ciò, può produrre un errore nei browser. In tal
caso, come è riportato nel documento di specifi-
I client che non interpretano i metalink dovranno po- ca, è necessario decommentare queste righe nel file
ter continuare a funzionare anche in presenza di un httpd.conf:
indirizzo a un documento metalink. Perché ciò av-
venga il formato di URL estesa che comprende l’in-
formazione sul metalink ha la seguente sintassi: # AddEncoding x-compress.Z
# AddEncoding x-gzip.gz.tgz

http://www.infomedia.it/downloads/abc.exe#!metalink3!http://
www.infomedia.it/downloads/abc.exe.metalink

Client e editor di metalink


Un client ignaro della presenza del metalink trascu-
rerà ciò che segue il carattere “#”, interpretandolo
come ; ad esempio, basta aprire un browser web e di- Sono già diversi i siti che mettono a disposizione
gitare (in questo caso su una macchina su cui è in ese- dei metalink per il downlaod dei propri file (tra cui
cuzione un web server) OpenOffice.org e alcune distribuzioni Linux come
OpenSUSE e Ubuntu), e per poterli utilizzare è ne-

13
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

cessario dotarsi di un download manager che sia “sen- zione. Ad esempio, si può ricorrere ad un attributo
sibile” ai metalink. Sono già disponibili una dozzina besttime per il tag <url> sotto <resources> che
di client GUI o a riga di comando. Ad esempio, aria2 indichi, ad esempio in coordinate temporali UTC,
(http://aria2.sourceforge.net/) è un tool open source proprio questa informazione. Un ipotetico esempio
a riga di comando disponibile per Windows/Unix/ potrebbe essere:
Linux; GetRight (www.getright.com) e SmartFtp
(www.smartftp.com) sono applicazioni Windows;
wxDownaloadFast (http://dfast.sourceforge.net/) è <resources>
open source ed è disponibile per Mac, Unix e Win- <url type=”ftp” preference=”100”>ftp://
ftp1.infomedia.it/pub/TestAjax.exe</url>
<urltype=”ftp”preference=”100”besttime=”01am-07am”>ftp:
//ftp2.infomedia.it/pub/TestAjax.exe</url>
<urltype=”ftp”preference=”100”besttime=”06pm-00am”>ftp:
Sono già diversi i siti //ftp3.infomedia.it/pub/TestAjax.exe</url>
<urltype=”http”preference=”100”besttime=”09am-06pm”>http:
che mettono a di- //www.infomedia.it/samples/TestAjax.exe</url>

sposizione dei meta- </resources>

link per il downlaod Come potrebbe essere interpretata da un client questa


informazione? Andrebbe interpretata come segue:

· a parità di priorità (preference) e di indicazione be-


sttime scegliere un server qualsiasi (o più server qual-
siasi per un download segmentato);

dows (Figura 1). Ovviamente sono solo alcuni esem- · se invece l’indicazione besttime varia, preferire il
pi. server (o i server) in base all’ora in cui si sta effet-
Per quanto riguarda la “produzione” dei file me- tuando il download.
talink, fortunatamente, non è necessario scrivere
i documenti MMM a mano con un editor di testo Nel precedente frammento, ad esempio, tra le ore 1
(l’impresa non sarebbe ardua, se non fosse per il cal- e le ore 7 del mattino si possono scegliere arbitraria-
colo dei checksum): sono disponibili diversi editor mente (o effettuare in parallelo download segmenta-
con tanto di GUI che permettono di creare agevol- ti) i server ftp1 e ftp2, mentre dalle 6 della sera fino
mente un.metalink completo di ogni informazione. alla mezzanotte i server da preferire sono ftp1 e ftp3.
Un esempio di editor è Metalink Editor (Figura 2) Analogamente, dal frammento si evince che nelle ore
scritto in Python dallo svedese Hampus Wessman di ufficio, dalle 8 del mattino alle 6 della sera, è prefe-
(http://hampus.vox.nu/metalink). Un elenco esau- ribile il download via HTTP e non via FTP.
stivo e costantemente aggiornato di implementazio- Ovviamente, anche questa ulteriore funzionalità deve
ni client e di editor metalink è disponibile sul sito essere supportata e gestita dai client e dovrà essere
metalinker.org. Da notare, che chiunque può creare ignorata dai client che non la supportano. Tuttavia,
e mantenere dei metalink, non essendo una prero- estendere il formato metalink per adattarlo alle pro-
gativa esclusiva del produttore del file da scaricare; prie necessità non è sicuramente un aspetto difficol-
ovviamente le informazioni nel metalink sono più toso, ed è possibile implementare una propria esten-
attendibili se sono i produttori dei file stessi o del- sione dello standard (a patto di fornire un client di
le fonti autorevoli a rendere disponibili dei.metalink supporto) senza dover necessariamente attendere o
“accurati”. prevedere che l’estensione proposta sia effettivamen-
te ratificata nel documento ufficiale (il che, ovvia-
mente, sarebbe comunque auspicabile). Se i metalink
In conclusione: estendere un metalink si diffonderanno sempre più, è molto probabile che
diventeranno uno standard, perlomeno de facto.

Analizzando il documento di specifica, mi sono ac-


corto che non fa parte del formato attuale dei me- Riferimenti
talink un’ulteriore indicazione oraria opzionale che
indichi anche quali sono le fasce orarie preferenziali
per un determinato mirror o server, ore in cui la velo- Sito ufficiale Metalinker.org – www.metalinker.org
cità di media di download potrebbe essere maggiore, aria2 – http://aria2.sourceforge.net
rispetto ai momenti di massimo traffico della giorna- GetRight – http://www.getright.com
ta. Ammesso che ciò sia utile, siccome metalink è un SmartFtp – http://www.smartftp.com
formato aperto, è facile definire un ulteriore attributo wxDownaloadFast – http://dfast.sourceforge.net/
per il tag <url> per indicare anche questa informa- Metalink Editor – http://hampus.vox.nu/metalink

14
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

Beowulf
il Signore dei Cluster
Quando i fondi per la ricerca scarseggiano
l’ingegno si affila: un po’ di storia su come
la Genetic Programming Inc. realizzò un

SPECIALE
cluster Beowulf da mille nodi che raggiun-
geva prestazioni paragonabili a quelle di
un supercomputer, ma a costi molto infe-
riori.
Ü di Nicolò Tambone

Nell’estate del 1994, Thomas Sterling e Don Becker, shelf ”, ovvero presi dallo scaffale del rivenditore di
due ricercatori del CESDIS (Center of Excellence PC nel negozio all’angolo della strada. Erano i primi
in Space Data and Information Sciences), presso anni ’90 e già non si sentiva più parlare di “calcola-
il Goddard Space Flight Center, realizzarono un tori” o “cervelli” elettronici come, con sprezzo del
cluster di personal computer con sistema operati- ridicolo, si era fatto fino a poco tempo prima. Inol-
vo Linux. Alla nuova macchina diedero il nome di tre i ricercatori si trovavano spesso a sviluppare so-
Beowulf. luzioni in proprio, o ad essere eccessivamente legati
Beowulf è l’eroe protagonista di un poema epico del ad un sistema proprietario. Per questo motivo si era
VI secolo, la più antica opera ad oggi pervenuta in formata e consolidata una certa mentalità: “perché
lingua inglese, della quale un unico manoscritto è in- comprare all’esterno ciò che si può costruire all’in-
credibilmente e ostinatamente sopravvissuto ad in- terno?” Se si considera che nel 1994 gli addetti ai
cendi e svariate altre forme di distruzione. E consa- lavori già ben conoscessero ed apprezzassero Linux,
pevoli che i nomi hanno la loro importanza, Sterling è naturale concludere che qualcosa di nuovo doveva
e Becker seppero adeguatamente battezzare un’opera a quel punto accadere.
così ben riuscita da trovare ben presto diffusione nei Il prototipo di Beowulf nasceva su macchine dotate
centri di ricerca e nelle imprese private. di processori 486DX4 e scheda Ethernet da 10Mbit.
A stabilire definitivamente il successo del lavoro dei Il processore era tuttavia più veloce di quanto una
due ricercatori statunitensi, il riconoscimento della singola Ethernet consentisse, mentre gli switch era-
comunità di High Performance Computing, la qua- no ancora troppo costosi. Don Becker riscrisse i dri-
le ha classificato questo tipo di cluster come “classe ver, costruendo una rete “a canali” che permetteva di
Beowulf ”, collocando la tecnologia in questione tra smistare il traffico in parallelo su più Ethernet.
le NOW (Network Of Workstation) ed i Supercom-
puter.
La Genetic Programming Inc.

Linux1 + Linux2 + … + Linuxn = La Genetic Programming Inc. è un centro per la


Beowulf ricerca sulla programmazione genetica, finanziato
con capitali privati e, manco a dirlo, situato in Ca-
Con il rapido diffondersi dell’informatica per così lifornia.
dire “di massa”, iniziato con gli anni ’80 e prosegui- Gli algoritmi genetici costituiscono una materia
to nella incessante rincorsa di maggiori prestazioni piuttosto vasta, sulla quale è stata scritta una quan-
e affidabilità dell’hardware, la progressiva diminu- tità di letteratura alla quale è consigliabile rivolgersi
zione dei prezzi dovuta alla concorrenza, il nascere per approfondimenti. Per una definizione sommaria
ed il proliferare delle iniziative Open Source, anche ed iper-semplificata si può affermare che lo scopo
i più elitari utilizzatori accademici hanno iniziato a degli algoritmi genetici è quello di pervenire ad una
considerare seriamente l’impiego di sistemi “off the soluzione ottimale a partire da evoluzioni successive

16
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

FIGURA 1 Notizie sui sistemi cluster: www.linuxhpc.org

c’è quello di produrre una “macchina per invenzioni”, magari

Il prototipo di brevettabili, che a dire il vero, lascia un po’ perplessi e fa pen-


sare alle avventure di Archimede Pitagorico nei numeri di To-
Beowulf nasceva su polino della nostra infanzia.
Eppure la serietà delle intenzioni è ampiamente dimostrata
macchine dotate di dai fatti: nell’estate del 1999 la Genetic Programming ha mes-
so in funzione un cluster di Beowulf costituito da mille nodi.
processori 486DX4 Vediamo come è stato realizzato.

e scheda Ethernet
Un cluster Beowulf da 1000 nodi realizzato
da 10Mbit dalla Genetic Programming Inc.
La pionieristica società statunitense non era nuova ai cluster:
già nel 1995 aveva conseguito importanti risultati utilizzando
64 Power PC a 80Mhz e, in seguito, il parallelismo di 70 mac-
di codice iniziale “grezzo” via via selezionato attraverso nu- chine Alpha.
merose generazioni del codice stesso. In sostanza, la prima ge- Il cluster Beowulf costituito da mille personal computer dotati
nerazione di programmi è pressoché pseudo-casuale, criteri di di processore Pentium II a 350Mhz, entrò in funzione nel Lu-
selezione mutuati direttamente dalla teoria darwiniana prov- glio 1999. Ciascuna macchina era dotata di 64Mbyte di RAM,
vedono a mantenere le caratteristiche che meglio rispondono per un totale di 64Gbyte. Ciascuna motherboard Tyan Tiger
ai requisiti e attraverso ricombinazioni, mutazione e cancel- 100 era in grado di ospitare due CPU e 128 Mbyte di memoria,
lazione di geni, produrre generazioni successive, tendenzial- per cui fisicamente il cluster era costituito da 500 case mini-
mente “più adatte”. tower, ognuno carburato dal classico alimentatore switching
Alla base della programmazione genetica c’è l’imitazione del- da 300W. A concludere l’assemblaggio, la scheda di rete Intel
la natura nell’ambito delle teorie darwiniane, per produrre PRO/100+ da 100 Mbit. Nessun hard-disk, né monitor, tastie-
software attraverso il software stesso, ovvero a partire da una ra, mouse, tranne che per il server di rete, controllore dei nodi.
descrizione ad alto livello del problema e codice iniziale im- Il sistema operativo scelto era ovviamente Linux, nella distri-
perfetto, si ottiene alla fine delle iterazioni, codice ottimo alla buzione Red Hat che all’epoca si trovava allo stato dell’arte: la
soluzione del problema dato. versione 6.0.
Tra i vari obiettivi che la società si prefigge, in base a quanto af- Il server era invece dotato di due CPU Pentium II 350Mhz,
fermato dalle pagine del sito www.genetic-programming.com 256Mbyte di memoria RAM, hard-disk da 14Gbyte, CD-

17
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

ruzione dell’alimentazione di rete.


La robustezza del sistema operativo Linux era già stata veri-
ficata in passato dalla Genetic Programming, tramite il prece-
Il cluster Beowulf dente cluster di 70 macchine Alpha. Questo dispositivo aveva
funzionato per 14 mesi, 24 ore al giorno, sette giorni a settima-
realizzato dalla Ge- na, registrando in totale solamente tre interruzioni di servizio
dovute a motivi diversi.
netic Programming La scelta di non installare hard-disk a bordo dei singoli nodi

Inc costituito da è stata dettata da ragioni di affidabilità ed agevolata dalla snel-


lezza sia di Linux sia del codice applicativo. Il bootstrap del-
mille nodi entrò in le singole macchine veniva garantito attraverso un messaggio
DHCP inviato dal server a ciascun nodo, che era in grado di
funzione nel Luglio accedere direttamente al file system del server attraverso NFS.
Il meccanismo di bootstrap del cluster veniva gestito attraver-
1999. so il software Beoboot, realizzato dalla società svizzera Rembo
Technology. A questo riguardo aggiungeremo una breve nota
più avanti.
I report di fine generazione prodotti da ciascun nodo venivano
memorizzati sull’hard-disk del server, senza tuttavia dare ec-
cessive preoccupazioni riguardo l’utilizzo di spazio. Un’ultima
caratteristica hardware riguarda il sistema di climatizzazione
ROM, tastiera, mouse e, ovviamente, monitor. che, per un numero così elevato di macchine doveva per forza
Ogni gruppo di 40 processori, ovvero 20 box fisici, era connes- essere notevole: due condizionatori da 25 tonnellate per man-
so ad un HUB da 24 port e 100Mbit, per un totale nel sistema tenere il sistema nei limiti di temperatura.
di 25 HUB, ciascuno di essi a sua volta collegato con uno dei
due switch Ethernet collegati tra loro e con il server.
L’applicazione “vede” i mille processori come se fossero col- Conclusioni
legati in una rete toroidale, ciascun processore comunica solo
con il server e con i quattro processori adiacenti nel toroide. A distanza di oltre dieci anni da quando il primo cluster di
Con l’eccezione dei soli messaggi di traccia, l’unico tipo di co- classe Beowulf vide la luce per la prima volta nei laboratori
municazione tra il processore ed il server è rappresentato dal del Goddard Space Flight Center, decine di migliaia di instal-
messaggio di “fine generazione”. Questo contiene il miglio- lazioni “girano” oggi nel mondo al servizio di istituzioni pub-
re “individuo” della corrente generazione, più informazioni bliche e private. Donald Becker lasciò il prestigioso incarico di
statistiche riguardanti l’elaborazione. Il solo tipo di comuni- ricercatore per fondare la Scyld Computing Corporation (an-
cazione tra processi riguarda il trasferimento di un piccolo che in questo c’è un riferimento letterario perché Scyld, nel
numero di “individui” da un processore ad un altro dei suoi poema, è la madre di Beowulf).
quattro adiacenti. I 1000 processori sono logicamente dislo- Dai progetti dedicati al clustering ospitati su Sourceforge, si
cati all’interno di una griglia composta di 25 per 40 gruppi. può avere la conferma dell’interesse tributato a Beowulf dal
Ciascun gruppo di 40 processori che condivide un HUB viene mondo Open Source. Osservazione quasi ovvia, dal momen-
dislocato in un rettangolo di 8 per 5 all’interno della griglia to che Beowulf è imprescindibile da Linux e lo stesso Donald
più grande. In base al sistema di comunicazione “tra vicini” Becker è conosciuto per i suoi contributi nello sviluppo del
quasi tutto il traffico di rete in ciascuno dei 40 gruppi è locale kernel.
all’interno del gruppo.
Per quanto riguarda la memoria, circa la metà dei 64Mbyte di
RAM di ciascun processore è riservato ad immagazzinare la Riferimenti
“popolazione”, il resto è utilizzato dal sistema operativo, dal-
l’applicazione e da alcuni buffer utilizzati per il trasferimento [1] Genetic-Programming www.genetic-programming.com
di “individui”. [2] The Beowulf Project www.beowulf.org
Utilizzando il metodo di memorizzazione costituito “one byte [3] Scyld Computing Corporation www.scyld.com
per point”, il sistema da 1000 nodi è in grado di memorizzare [4] Sourceforge www.sourceforge.org
10.000 individui di 3000 byte ciascuno, oppure 30.000 indivi-
dui da 1000 byte. Se per esempio, un ciclo di valutazione ri-
chiede 0,1 secondi, per effettuare la valutazione di 10.000 indi-
vidui occorreranno 1000 secondi, quindi ciascuna generazione
richiederà un tempo macchina di un quarto d’ora e fino a 96
generazioni potranno essere elaborate in una giornata.
La scelta di singoli case standard, ciascuno dotato di un ali-
mentatore, pur essendo penalizzante dal punto di vista del- Note Biografiche
l’occupazione di spazio, si è rivelata efficace sotto il profilo
economico. In particolare sarebbe stato poco economico un si- Nicolò Tambone, Consulente informatico, ha collaborato a di-
versi progetti nell’ambito della tecnologia Oracle e dei lin-
stema di alimentazione centralizzato. Un gruppo di continuità
guaggi Object Oriented.
provvede a garantire 15 minuti di autonomia in caso di inter-

18
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

Realizzazione di un cluster
di calcolo Beowulf
Il Dipartimento di Matematica dell’Università degli Studi di Milano per far fron-
te alle esigenze dei propri ricercatori e scienziati si è dotato di un cluster Beowulf
basato su Linux per il calcolo scientifico ad alte prestazioni. L’articolo presenta

SPECIALE
una panoramica del sistema con particolare riguardo alle problematiche tecni-
che di progettazione e realizzazione.
Ü di Alessio Alessi

Il cluster Beowulf La sala cluster


La risoluzione di problemi sempre più complessi nei Il primo problema da affrontare per chi vuole dotarsi
diversi campi della scienza moderna, dalla Fisica, di un cluster di calcolo è trovare dei locali adatti ad
alla Chimica, alla Matematica, ha richiesto l’utilizzo ospitare il sistema. Il Dipartimento di Matematica
da parte dei ricercatori di tutto il mondo di calcola- dell’Università degli Studi di Milano non dispone-
tori sempre più potenti. Ciò ha portato negli ultimi va di locali ampi e disponibili da poter adibire a sala
anni a un interesse sempre crescente nello studio dei CED. Pertanto, dopo un attento esame delle effettive
sistemi di calcolatori in cluster. I sistemi Beowulf possibilità, la scelta è ricaduta su un piccolo locale di
rappresentano una tipologia di cluster costituiti da 28 metri quadrati, situato nel seminterrato del Di-
nodi di elaborazione distinti a basso costo, basati ti- partimento e che fino a quel momento aveva ospitato
picamente su personal computer e connessi da una una camera oscura per lo sviluppo fotografico.
rete di interconnessione per lo scambio di messaggi La scelta obbligata poneva dei problemi tecnici rile-
tra i nodi. Talvolta è possibile scomporre il problema vanti, sia per le dimensioni della sala sia per il sof-
scientifico di cui si cerca la soluzione in sottopro- fitto piuttosto basso, e non uniforme per la presenza
blemi distinti ed indipendenti; talvolta è possibile di volte che rendevano problematico qualunque ap-
eseguire in parallelo il calcolo suddividendo il lavo- proccio tradizionale basato sulla realizzazione di un
ro tra più unità di elaborazione. In entrambi i casi pavimento “galleggiante”.
l’uso di un calcolatore con più processori consente Un altro aspetto da non sottovalutare era il peso che
di ridurre i tempi di calcolo, poiché il lavoro può es- il pavimento avrebbe dovuto sostenere in seguito
sere suddiviso tra differenti CPU. I cluster Beowulf all’installazione delle macchine del cluster. Il peso
si prestano bene per la risoluzione di entrambe le ti- medio di un rack si aggira infatti sui 260 Kg. Que-
pologie di problemi e pertanto costituiscono una via st’ultimo requisito era comunque soddisfatto per la
alternativa per chi non dispone di finanziamenti tali posizione del locale nell’edificio.
da potersi permettere l’acquisto di supercomputer
dedicati. Nessun progetto può però essere portato a
termine senza la copertura finanziaria adeguata. Sul- Il sistema
la base dei fondi disponibili, è possibile comunque
effettuare delle scelte con risvolti importanti sull’ar- Il sistema di calcolo, che costituisce la soluzione clu-
chitettura hardware della macchina e quindi sulla ster adottata, risulta costituito da:
classe dei problemi trattabili e sulle performance
operative del cluster. Passare dall’utilizzo di sempli- · 36 nodi di calcolo a doppio processore (di cui 26
ci personal computer connessi da una rete a bassa nodi con processori Xeon a 2.4 GHz e 10 con proces-
velocità, a dei server multiprocessore comunicanti sori a 2,8 GHz);
con reti ad alta banda e bassa latenza porta ad un · una SAN (Storage Area Network) con 600 GB di
incremento dei costi ma anche ad un aumento delle spazio disco in Raid 5 accessibile mediante 2 nodi
prestazioni su certe applicazioni, ed in generale ad a storage;
un allargamento della classe dei problemi risolubili · una libreria di backup SDLT contenente 16 slot.
in tempi accettabili [AVRE].

19
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

FIGURA 1 Fstab dei nodi di calcolo

Ogni nodo di calcolo è dotato sia di un un’interfaccia Ethernet Le home degli utenti sono accessibili utilizzando il file system
sia Myrinet. Inoltre, ogni nodo dispone di un disco SCSI per IBM GPFS su rete Myrinet [1] così come uno spazio scratch
l’istallazione del sistema operativo Linux, mentre un’area con- di 30 GB. Gli utenti accedono al sistema mediante il protocol-
divisa è disponibile via NFS sul nodo “master” per il softwa- lo ssh e sottopongono i loro job utilizzando PBS [2] e MAUI
re condiviso. Per quanto concerne il software utilizzato, pos- [3]. Ogni nodo di calcolo, alto 1U, viene impilato uno sull’al-
siamo citare: Linux RedHat, PGI-Compiler, Librerie BLAS, tro come è mostrato nella Figura 2. Il peso complessivo di un
LAPACK, ATLAS, PETSc 7, MPICH, Magma, Gromacs, rack a pieno carico si aggira intorno ai 300 Kg ed occupa uno
Singular-A, Time Navigator Atempo. spazio di 0.7 metri quadri per un’altezza di 2.02 metri. Circa 70
cm vengono lasciati liberi nella parte posteriore del rack per le
Nella Figura 1 è riportato il file FSTAB relativo ai 36 nodi di operazioni di manutenzione e per la circolazione dell’aria for-
calcolo. zata, grazie ad un sistema di ventole.

/usr/local

Energia elettrica e gruppo di continuità


è l’area condivisa sul nodo master, mentre il file system GPFS
è indicato da Per fornire alla sala l’alimentazione elettrica corretta è neces-
sario progettare un impianto di distribuzione che soddisfi i
/dev/gpfs0 requisiti di sicurezza e di espandibilità nel tempo. L’impian-
to viene scelto per assicurare la continuità dell’alimentazione
e e l’eliminazione dei disturbi elettrici che potrebbero influire
sul corretto funzionamento delle macchine. La linea elettrica,
/dev/gpfs1 proveniente dalla cabina di distribuzione, deve assicurare una

FIGURA 3 Rack della sala cluster con


FIGURA 2 Il cluster IBM 1350 il gruppo di continuità in primo piano

20
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

FIGURA 4 Un gruppo di condizionatori FIGURA 5 Coppia di ventole posizionate


sopra i rack per asportare il calore
(in fault tolerance)

potenza adeguata in termini di tensione e di intensità di cor-


rente, per evitare sovraccarichi.

La soluzione adottata rende minimo l’impianto elettrico Il cablaggio


perché connette direttamente al gruppo di continuità tut-
te le PDU (Power Distribution Unit) dei rack, riducendo Per poter connettere la sala al resto della rete LAN diparti-
drasticamente le prese di alimentazione. I primi due rack del- mentale è stato realizzato un collegamento in fibre ottiche
la Figura 3 mostrano le componenti del gruppo di continuità. con il centro distribuzione dati dell’edificio. In questo modo,
In particolare, nel primo sono inseriti i moduli di potenza (3 il cluster è accessibile agli utenti dall’esterno mediante acces-
moduli da 10 KW ciascuno, sostituibili a caldo) ed il gruppo so sicuro SSH. I nodi del cluster sono connessi tra loro me-
batterie, in grado di fornire energia per oltre 20 minuti in as- diante una rete Ethernet suddivisa in due VLAN distinte per
senza di corrente. Il secondo rack presenta gli interruttori di l’istallazione e la gestione dei nodi e dalla rete Myrinet per lo
alimentazione delle PDU ed il sistema di bypass. I cavi di ali- scambio di messaggi tra i nodi (Figura 6). Quest’ultima viene
mentazione dei rack del cluster scorrono su una canalizzazio- utilizzata anche per l’accesso I/O ai nodi storage della SAN
ne posta al di sopra dei rack stessi, minimizzando l’impianto (Figura 7) sfruttando il file system GPFS [4].
elettrico della sala.
Il sistema di monitoraggio

Il sistema di condizionamento Il cluster IBM 1350 viene fornito con il software per la gestio-
ne CSM [5]. Tuttavia, per monitorare da remoto lo stato della
Il sistema di condizionamento deve essere in grado di mante- macchina in modo elegante e comprensibile anche da parte
nere una temperatura compresa tra 10 e 32 °C. Anche l’umi- degli utenti è stato configurato il Ganglia toolkit [6]. In tal
dità dell’aria non deve superare l’80% e deve essere superiore modo, è possibile verificare l’uso delle risorse via Web. Nella
all’8%. I condizionatori utilizzati sono del tipo ad espansione Figura 8 è visibile una delle pagine di monitoraggio. Viene
diretta e sono posizionati sulla parete della sala opposta al clu- presentata una visione d’insieme del cluster con il numero dei
ster (Figura 4). Sono in bilanciamento di carico ed alternano processori, il carico, la RAM e l’area di Swap utilizzata.
il loro funzionamento in condizioni di basso carico. La sala è
predisposta per ospitare un terzo condizionatore, qualora se ne
dovesse presentare la necessità. Per monitorare la temperatura I progetti in corso
e l’umidità della sala all’interno dei rack è posto un sensore ter-
mico. Il sensore viene monitorato dall’UPS. Se viene superata Sfruttando le potenzialità del cluster, sono stati avviati diversi
la soglia programmata di temperatura o di umidità, il gruppo progetti di ricerca. Sono in corso simulazioni di Fisica basate
di continuità provvede ad inviare un allarme via SMS sul te- sul metodo Montecarlo, di Astrofisica riguardanti le stelle a
lefonino dell’amministratore e via posta elettronica al servizio neutroni e di Chimica Computazionale e di Elettrocardiolo-
di assistenza tecnica. La sonda controlla la temperatura critica gia Computazionale. Ad esempio, è stato simulato un modello
(32 °C) al di sopra della quale il sistema viene arrestato. elettrico del cuore umano ed un modello che descrive le inte-
L’aria calda generata dai rack viene rimossa da un sistema di razioni biochimiche durante la formazione dei vasi sanguigni.
aspirazione costituito da due coppie di ventole, dimensionate Maggiori dettagli sui progetti in corso sono disponibili all’in-
in modo che la temperatura esterna rilevata dalla sonda non dirizzo [8].
superi una soglia prefissata in condizioni di alto carico delle
CPU (Figura 5). Una stima effettuata porta a 41000 BTU il Le prestazioni ottenute utilizzando il benchmark HPL hanno
carico da smaltire per un cluster composto da 32 nodi. Ogni mostrato un valore di 123 GFLOP/sec utilizzando 26 nodi di
coppia opera in modalità attiva/passiva. Una griglia nel con- calcolo a 2,4Ghz e di 163,5 GFLOP/sec utilizzando 70 proces-
trosoffitto consente all’aria calda rimossa di immettersi nel sori. Questi valori sono stati confrontati con quelli ottenuti in
canale di ritorno verso i condizionatori d’aria. passato con tipologie di macchine simili, ma con una minore

21
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

FIGURA 6 Switch ad alta banda e FIGURA 7 Particolare della SAN


bassa latenza Myrinet con i nodi storage e la libreria di backup
per la comunicazione tra processi

Ogni nodo di calco-


lo è dotato sia di un
un’interfaccia Ether-
net sia Myrinet
frequenza di clock, e si è notato un notevole miglioramento
di prestazioni (74.4 GFlop/sec su un cluster 64-Way 128 pro-
cessori) [JMDR]. Nel tempo verrà effettuato un upgrade della temperatura di 18-20 °C è possibile mantenere la temperatu-
macchina per adeguarla via via alle crescenti richieste di cal- ra delle CPU entro l’intervallo corretto di funzionamento in
colo. condizioni di alto carico. Il confronto nelle due condizioni di
attività e di riposo è mostrato in Figura 9. Per migliorare l’effi-
cienza del sistema di raffreddamento ed evitare l’accumulo di
Monitoraggio delle temperature calore prodotto, è stato realizzato un sistema di aspirazione e
di canalizzazione dell’aria calda che fuoriesce posteriormente
Per salvaguardare il corretto funzionamento delle macchine è dai rack. Mantenere il sistema nelle condizioni ideali di fun-
stato predisposto un sistema di controllo delle temperature dei zionamento risulta fondamentale per prolungare il tempo di
nodi. Configurando i condizionatori installati nella sala alla vita dell’hardware.

FIGURA 8 Ganglia Toolkit : Cluster Load

22
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

FIGURA 9 Confronto delle temperature delle CPU nelle differenti condizioni di carico e riposo

Publishing, June 2002.

[STER] T.Sterling, “ Beowulf Cluster Computing with Li-


Il monitoraggio da nux”, Cambridge, MIT Press,2002.

remoto dello stato [BUUY] R. Buyya, “High Performance Cluster Computing”:


Architectures and Systems, Volume 1, New Jersey, Prentice
della macchina avvie- Hall PTR,1999.
ne tramite il toolkit [RBUUY] R. Buyya, “Programming and Applications”: Ar-
Ganglia chitectures and Systems, Volume 2, New Jersey, Prentice Hall
PTR,1999.

[RBRO] R. Brown, “Features Beowulf Infrastructure”, Linux


Riferimenti Magazine June 2003 (http://www.linux-mag.com)

[1] Interconnessione scalabile per cluster prodotta da Myri- [TSRE03] T. Sterling, “Features Beowulf
com (www.myricom.com) Breakthroughs”,Linux Magazine, June 2003 (http://
[2] Portable Batch System (www.openpbs.org) www.linux-mag.com)
[3] Maui Scheduler (www.supercluster.org)
[4] GPFS (General Parallel File System), www.ibm.com/ [IBM0] IBM, “Linux Clustering con CSM e GPFS” Redbooks
systems/clusters/software/gpfs.html SG24-6601- 02,December 2003
[5] CSM (Cluster System Management), www.ibm.com/
systems/clusters/software/csm.html [IBM1] IBM, “Linux HPC Cluster Installation” Redbooks
[6] Ganglia, sistema di monitoraggio distribuito per sistemi SG24-6041- 00, June 2001
HPC (http://ganglia.sourceforge.net/)
[7] PETSc (http://www.mcs.anl.gov/petsc) [JMDR] J. M. Dressler, N. Kandadai, “Performance of Scienti-
[8] Progetti in corso sul cluster (http://cluster.mat.unimi.it) fic Applications on Linux Clusters”, IBM Performance Tech-
nical Report, November, 2001

Bibliografia [Dell] Dell Power Solutions, “Building a High Performance


Computing Environment” Issue 4 2001 Enterprise System
Group, Dell Computer Corporation, One Dell Way, Round
[AVRE] A. Vrenios, “Linux Cluster Computing”, USA, Sams Rock, Texas.

23
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

Architetture cluster con


Linux
Un’introduzione storica alla caratteristiche
distintive di gruppi di computer che coope-
rano tra loro nell’ambito di un sistema Li-

SPECIALE
nux, analizzando pregi e difetti.

Ü di Luigi Morelli

Quando la Scienza dell’Informazione iniziò a muo- gestiti potevano raggiungere e superare la potenza di
vere i propri primi timidi passi nell’arena dei pro- calcolo e l’efficienza transazionale di mainframe ben
dotti commerciali, lasciando i laboratori asettici del- più costosi.
le Università, il prodotto finito che venne alla luce Un cluster è quindi paragonabile ad un agglome-
era pesante, monolitico e difficile da gestire. Tutta- rato di unità di elaborazione che, pur mantenendo
via, l’idea di consentire ad una macchina dotata di la propria identità hardware e software, interagisce
controlli di ridondanza e poco incline alla stanchez- tra i propri componenti utilizzando particolari di-
za fisica ebbe immediatamente effetto nell’immagi- spositivi di comunicazione che sovrintendono al
nario collettivo; quando vennero distribuiti i primi completamento dei task nell’ambito di una sorta di
mainframe si assistette ad un radicale ed irreversi- metasistema; se la descrizione appare un po’ farragi-
bile cambio di prospettiva nella gestione del lavoro nosa, una serie di esempi potrà sicuramente aiutare
aziendale. Tutti oramai siamo abituati all’idea di un a chiarire il concetto.
notebook sulla scrivania; il collegamento in rete, Ciò che differenzia una batteria di telefoni colle-
Internet e lo sviluppo di architetture distribuite ne gati fisicamente tra loro ad una centrale telefonica
hanno reso flessibile ed intuitivo l’utilizzo. Il passo elettronica con selezione automatica dei numeri
successivo è stato una ulteriore sfida progettuale, disponibili è ovviamente lo strato software per la
una “idea nuova” dai cui sviluppi ha preso piede un gestione; tuttavia non si tratta di gestire l’unità “te-
sistema completamente diverso di intendere l’Infor- lefono”, perfettamente in grado di lavorare da sola,
matica. né di programmare il lavoro della centrale in sé, che
possiede di fabbrica le istruzioni necessarie per met-
tere in contatto ciascun apparecchio con gli altri: la
Cos’è un cluster? differenza è fatta invece dal sistema di scambio mes-
saggi tra le unità di comunicazione e la centrale, tra-
L’idea di base nasce come spesso accade, in modo sparente al lavoro hardware dell’apparecchio telefo-
tranquillo, con l’apparizione dei primi mainframe nico ed a quello della centrale, ma tale da coordinare
biprocessori. Sull’adagio secondo il quale “due è me- ciascun elemento del sistema con gli altri. Allo stes-
glio di uno”, vennero realizzate architetture hard- so modo un cluster di PC che disponga del proprio
ware che prevedevano un canale ad alta velocità per hardware e del proprio sistema operativo e di rete,
il passaggio di messaggi tra sistemi diversi; ad esso può “rispondere” ad una serie di messaggi particola-
venne ovviamente associata un’apposita funzione di ri che, coordinando le CPU e le risorse meno appe-
bilanciamento che consentisse una corretta distri- santite, consentono alle macchine in rete di collabo-
buzione dei carichi tra le due CPU (allora enormi e rare per il raggiungimento di un fine unico.
dotate di complessi sistemi di raffreddamento ad ac- Esistono fondamentalmente due tipologie di cluster:
qua). In seguito la Digital Equipment produsse siste- sistemi per il bilanciamento delle prestazioni di rete
mi altamente scalabili ed interconnessi, dimostran- (risorse esterne al PC) e sistemi per il bilanciamento
do che una serie di minicomputer opportunamente delle prestazioni della CPU (risorse interne al PC);

24
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

FIGURA 1 Rappresentazione schematica di un sistema gestito sotto PVM.

risulta il punto cruciale per l’ottimizzazione delle sue presta-


zioni: troppo spesso infatti ci si imbatte in un Web server o un
Esistono fonda- database che sulla carta promette straordinaria efficienza ma
in pratica risulta appesantito da un carico eccessivo o gestito
mentalmente due in modo maldestro. Il primo rimedio al quale si pensa per al-
leggerire il carico consiste nell’affiancare un nuovo server al
tipologie di cluster: vecchio per ridistribuire il carico di lavoro, ma a questo pun-
sistemi per il bilan- to sorgono numerosi problemi: sovente occorre mantenere un
unico sistema di indirizzamento, ed è impossibile suddividere
ciamento delle pre- i dati logici su due macchine. Occorre pertanto trovare un si-
stema che, lavorando su entrambe, ne gestisca il carico senza
stazioni di rete e però creare un overhead che rallenterebbe ulteriormente la
risposta del sistema alle richieste esterne; in altre parole, il
sistemi per il bilan- metasistema al quale accennavamo prima, svincolato dalla ge-
stione squisitamente fisica dei dati ma in grado di indirizzare
ciamento delle pre- ciascun utente sul server di volta in volta più scarico, bilan-
ciandone le risorse. Un sistema del genere consentirà oltre al
stazioni della CPU load-balancing anche un’affidabilità avanzata, la ridondanza
dei dati, il supporto contro il fail-over di un server e dei suoi
servizi di rete e permetterà l’aggiunta di nuove macchine (clu-
ster, appunto) ed in definitiva la crescita di un sistema di ri-
sposta altamente modulare, scalable come si dice in inglese.
Linux dispone di diversi sistemi per la gestione di network
vediamo rapidamente in cosa consistono e per quali caratteri- clusters [1]; un kernel efficiente in grado di sfruttare comple-
stiche si differenziano. tamente le risorse hardware del server, unitamente ad un siste-
ma di controllo efficace, garantisce l’assenza di fastidiosi colli
Cluster per il bilanciamento delle prestazioni di rete di bottiglia nella progettazione di un cluster che gestisca al
L’analisi della risposta di un sistema basato sulle transazioni meglio gli accessi concorrenti di migliaia di client remoti.

25
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

versazione tra i nodi del cluster, mentre gli schemi orientati


agli oggetti si concentrano sulla trasparenza, liberando il pro-
grammatore dalla descrizione esplicita dell’algoritmo di paral-
Centinaia di siti uti- lelismo.
È stato osservato che per realizzare un’architettura basata su
lizzano oggi le ca- cluster era necessario sviluppare un framework per la pro-
grammazione parallela che operasse su calcolo distribuito ete-
pacità di PVM per rogeneo; benché esistano centinaia di linguaggi che suppor-
tano istruzioni orientate al parallelismo hardware, ciascuno
risolvere importanti è stato progettato per una architettura specifica, rifiutandosi
il più delle volte di compilare su di un architettura cluster.
problemi legati alla I tempi di latenza di un cluster sono infatti decisamente su-
periori rispetto a quelli di un computer parallelo, mentre il
scienza, all’industria throughput di comunicazione risulta inferiore; ecco perché è
necessario utilizzare linguaggi di programmazione il cui ob-
ed alla medicina biettivo principale è di limitare al massimo l’I/O, aspetto inve-
ce trascurabile nell’ambito dei computer paralleli che possono
usufruire di memoria condivisa. Sono proprio queste conside-
razioni di distribuzione dei dati e di località delle informazio-
ni che risultano un punto cardine per il successo di un qual-
siasi ambiente di programmazione cluster, e che al contempo
Cluster per il calcolo distribuito eliminano dalla scena la maggior parte dei linguaggi orientati
alla programmazione parallela. Passiamo ad analizzare in det-
Beowulf è il nome di un poema epico composto di circa 3200 taglio i sistemi di architettura cluster più efficaci e diffusi oggi
versi, risultante dalla confluenza di numerose saghe germani- a disposizione del programmatore
che che i Sassoni tramandarono inizialmente in modo orale, e
che vennero raccolte intorno al 750 d.C. In esso si narrano le
avventure dell’eroe Beowulf contro il terribile mostro Grendel PVM
e contro draghi di fuoco, e mostrano come lo spirito combat-
tivo dei Sassoni riesca a cementare razze spesso diverse, ma Lo sviluppo di PVM, acronimo di Parallel Virtual Machine,
legate tutte da un comune senso tribale, dall’amore per il mare è iniziato nel 1989 presso l’Oak Ridge National Laboratory,
e dal disprezzo per il pericolo. quando Vaidy Sunderam e Al Geist presentarono i propri stu-
Ciò spiega come mai si sia scelto proprio questo nome per in- di sul calcolo distribuito eterogeneo. PVM nacque dalla neces-
dicare un’architettura di computer in cui le risorse di diversi sità di un framework per tale progetto: si tratta di un pacchet-
sistemi, ciascuna con il proprio sistema operativo e la propria to che consente di accomunare macchine diverse che vanno
identità, vengano riunite nel momento del bisogno a formare dal laptop con Windows 95 ai server paralleli che girano sotto
un sistema di potenza decisamente elevata, in grado di esegui- Unix e si affacciano sulla medesima rete, facendoli apparire
re assieme missioni “epiche”. Un Beowulf Cluster di una doz- come un sistema di calcolo unico. In altre parole, viene reso
zina di macchine Linux faceva bella mostra di sé diversi anni disponibile l’accesso ad un unico massiccio supercomputer
or sono ad una fiera dell’Informatica: lo scopo era quello di attraverso la connessione di molteplici unità distinte, limi-
utilizzare la propria potenza per forzare il sistema di accesso di tate esclusivamente dalla banda consentita da linee di comu-
un server NT. Ovviamente lo scopo venne raggiunto in meno nicazione ad alta capacità. Centinaia di siti utilizzano oggi le
di venti minuti di lavoro… capacità di PVM per risolvere importanti problemi legati alla
Ma come è possibile coordinare architetture diverse e convin- scienza, all’industria ed alla medicina: con decine di migliaia
cerle a lavorare per un fine unico? Occorrono programmi o di utenti sparsi sul Web, PVM è divenuto lo standard de facto
compilatori particolari, o è sufficiente un middleware in grado del calcolo distribuito nel mondo.
di gestire con efficienza il passaggio di messaggi tra le diverse Ed ecco i principi sui quali si basa PVM:
CPU? Sarà esattamente questo l’argomento del prossimo pa-
ragrafo. - Host pool configurabile dall’utente. I compiti di calcolo del-
l’applicazione vengono eseguiti su di un insieme di macchine
selezionate dall’utente per una data esecuzione del progetto
Ambiente di programmazione in cluster PVM; è possibile aggiungere e togliere macchine al progetto
durante l’esecuzione.
Una delle maggiori difficoltà nello sviluppo di sistemi infor-
mativi basati su computer multiprocessore, è rappresentata - Accesso trasparente all’hardware. È possibile avvantaggiarsi
dalla complessità nella stesura di programmi in grado di av- di determinate caratteristiche hardware nel pool indirizzando
vantaggiarsi in modo efficace dell’architettura cluster. Infat- verso queste unità dei task specifici, oppure utilizzando un de-
ti, occorre sottolineare l’ambiente di sviluppo completamente terminato ambiente hardware come una serie di elementi di
nuovo, nel quale si deve specificare non solo la temporizzazio- elaborazione virtuale.
ne delle istruzioni, ma anche la località. È per questa ragione
che sono nate librerie come PVM ed MPI: tali pacchetti di - Calcolo basato sul processo. Il task è l’unità base di paralle-
comunicazione dichiarano esplicitamente la struttura di con- lismo per PVM, e rappresenta un thread di controllo sequen-

26
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

RIQUADRO 1
Differenze tra MPI e PVM

PVM implementa completamente il controllo di processo, ossia la capacità di lanciare e fermare


task, di capire quale task sia attivo e se possibile dove è attivo. MPI-1, invece, non ha modo di lan-
ciare un programma parallelo. Per contro, MPI-2 dovrebbe poterlo fare.

La natura dinamica di PVM gli permette di occuparsi della gestione delle risorse; le risorse di cal-
colo, o “host”, possono essere aggiunte o tolte a volontà sia da una sorta di console di sistema sia
dall’applicazione utente. MPI, invece, non è altrettanto dinamico, per favorire l’efficienza.
In MPI un gruppo di task può essere sistemato in una particolare struttura topologica di intercon-
nessione. La topologia di comunicazione dei task, infatti, può essere mappata sullo strato di rete
fisica prescelto, aumentando così la velocità di trasmissione dei messaggi. PVM non supporta que-
sta astrazione.
PVM gestisce uno schema di notifica dell’errore sotto il controllo dell’utente. Alcuni task possono
essere registrati tramite PVM per ricevere un alert qualora lo stato della macchina virtuale venisse
modificato; tale notifica giunge sotto forma di messaggi che contengono informazioni sull’evento.
L’attuale standard MPI non include meccanismi di fault-tolerance, benché la specifica MPI-2 pre-
veda una implementazione simile a quella definita in PVM.
Una delle maggiori differenze tra i due ambienti è nel comunicatore MPI. Il comunicatore può esse-
re rappresentato come un link tra un contesto di comunicazione e un gruppo di processi; la presen-
za di un contesto di comunicazione consente l’uso di librerie e pacchetti scritte in message-passing
system per mezzo delle quali ogni messaggio di comunicazione è protetto e filtrato all’utente.

ziale indipendente che interviene sia nel calcolo sia durante la ai messaggi – di oggetti C++ (CPPVM e PVM++) ed un in-
comunicazione. sieme di estensioni per allargare PVM al mondo Java (jPVM),
oltre a versioni ottimizzate per sistemi specifici (PerlPVM,
- Modello di passaggio dei messaggi esplicito. Questo insieme PyPVM, HP-PVM).
di task cooperano scambiandosi esplicitamente dei messaggi.
Non c’è alcuna restrizione imposta dal linguaggio sulla misura
dei messaggi. MPI
-Supporto alla eterogeneità. Il sistema PVM supporta l’etero- Al contrario di PVM, sviluppato nell’ambito di un progetto di
geneità in termini di macchina, rete ed applicazioni. Relativa- ricerca, MPI è venuto alla luce grazie allo sforzo di un comi-
mente al passaggio di messaggi, PVM consente la trasmissione tato di una quarantina di esperti di calcolo ad alte prestazioni
di messaggi contenenti più di un datatype tra macchine con provenienti da Industria e Ricerca durante una serie di mee-
differenti standard di rappresentazione dei dati. ting tenutisi tra il 1993 ed il 1994. Lo scopo principe di MPI è
- Supporto multiprocessore. PVM utilizza le caratteristiche stato quello di ridurre il numero sempre crescente di API ma-
native di message-passing sui sistemi multiprocessore per av- chine-dependent progettate dai venditori di macchine MPP
vantaggiarsi dell’hardware sottostante. (Massive Parallel Processor). MPI, infatti, rappresentava una
specifica di message-passing indipendente dalla macchina,
Il sistema PVM si compone di due parti: la prima è un daemon alla quale i produttori di MPP avrebbero dovuto attenersi per
che risiede su ciascun computer della macchina virtuale, viene consentire la stesura di applicazioni parallele portabili. Ovvia-
definito spesso pvmd e ed è progettato in modo che qualsiasi mente, la necessità di alte prestazioni da parte dei distributo-
utente possa installarlo sulla propria macchina. Una macchi- ri MPP rese l’efficienza una delle basi sulla quale la specifica
na virtuale viene quindi creata lanciando PVM, dopodiché è avrebbe dovuto poggiare. Il progetto riuscì alla perfezione, e
possibile eseguire programmi sotto PVM. Ciascun utente ha le API MPI divennero uno standard tra i produttori di siste-
la possibilità di eseguire contemporaneamente differenti ap- mi MPP.
plicazioni PVM (Figura 1). A causa degli scopi del progetto, una implementazione MPI su
La seconda parte del sistema è costituita da una libreria di di una macchina MPP risulterà sempre più efficiente di una
routine di interfaccia costituta da un repertorio di primitive basata su PVM. MPI-1 esponeva le seguenti caratteristiche:
necessarie per la cooperazione tra i task di una stessa applica-
zione. La libreria, infatti, offre le funzioni per il passaggio di - Un nutrito insieme di routine di comunicazione punto-pun-
messaggi, l’esecuzione dei processi, la coordinazione tra i task to
e la modifica della macchina virtuale.
PVM rappresenta oramai uno standard, e su tale sistema si - Una serie di routine dedicate alla collective communication,
basano una serie di estensioni che vanno da un front end gra- orientate alla comunicazione tra gruppi di processi.
fico (XPVM) ad una libreria che consente lo scambio – oltre

27
Login Internet Expert n.63 Marzo/Aprile 2007
JAVA Journal Java Micro Edition speciale
speciale CLUSTER BEOWULF

- Un contesto di comunicazione che offre un supporto per la PVM può accedere al controllo di risorse della macchina vir-
ECHO2 Conclusioni
produzione di librerie sicure per il software parallelo. tuale creando nel contempo un sistema fault-tolerant, mentre
È probabilmente quanto di più completo si possa tro- il sistema
Svilupparedi comunicazione
con la tecnicain rete consente
AJAX di PVM è di stato utilizzato
realizzare vere
- vare
La possibilità di specificare
oggigiorno in Java topologie
su AJAX. di comunicazione.
ECHO2 è un web pere trasferire dati tra le implementazioni
proprie applicazioni client. Il browser MPInondi produttori
mostra più
framework che dispone di una libreria molto completa differenti,
sempliciconsentendo
pagine ma così l’interoperabilità
potenzialmente unainsingola
una macchi-
pagina
- di
Lacomponenti
possibilità di per
creare tipi di dato
realizzare derivati che
applicazioni descrivano
con nache
frontend virtuale più ampia.
continua Per installare
ad aggiornarsi le librerie parallele
dinamicamente in PVM e
funzione
messaggi di datienon
molto ricchi contigui. ECHO2 dispone anche di un
complessi. MPI è sufficiente
delle interazioni installare Linux.Per
con l’utente. Ad esempio, PVM eleLAM/
capire a fondo poten-
ambiente di sviluppo visuale avanzato, in grado di MPI sonobasta
zialità preinstallate con Fedora
vedere Gmail Core Linux
di Google, (se sisistema
con il suo esegue di
Aaiutare
causa delle istanze di portabilità
notevolmente in fase disulla rete, nel
sviluppo. Le1995 il co-di
libreriel’installazione
chat o il nuovo personalizzata
frontend per basta selezionare
la posta i pacchetti di
di Yahoo!.
mitato MPI iniziò una nuova serie di incontri
ECHO2 sono disponibili con licenze lgpl o mpl, mentreper progettare
calcolo
AJAXscientifico).
comporta una serie di conseguenze, che impongono
MPI-2, estendendo
l’ambiente il supporto
di sviluppo è a:proprietario. Per utilizzare un attento studio prima di essere utilizzato indistintamente.
ECHO2 non è indispensabile utilizzare l’ambiente vi- Le prime considerazioni sono sull’accessibilità. Una applica-
- Funzioni
suale ancheMPIseSPAWN per lanciare
si perdono molti sia
deiprocessi
beneficiMPI sia pro-
della piat-
zione AJAX sarà difficilmente accessibile da altri sistemi, in
Bibliografia
cessi non-MPI.
taforma, come i wizard e i suggerimenti. particolare dai motori di indicizzazione. Siti per i quali è fon-
Gli esempi presenti sul sito del produttore (http: [1]damentale
S.Needhaml’indicizzazione
& T.Hansen, “Cluster
o per i Programming
quali è previstoEnviron-
l’accesso
- //demo.nextapp.com)
Funzioni di comunicazione one-sided
descrivono le come get e put.del fra-
potenzialità ments”, Monash University, Melbourne
da altre piattaforme non dovrebbero fare uso di Javascript
mework meglio di qualunque descrizione testuale. [2]ehttp://www.netlib.org/pvm
quindi di AJAX. Un’altra considerazione è sulla sicurezza:
- Funzioni non bloccanti di comunicazione collettiva. [3]esporre
http://www-unix.mcs.anl.gov/mpi/index.html
servizi web è come mostrare il fianco al nemico. Oc-
[4]corre
http://www.epm.ornl.gov/pvm/PVMvsMPI.ps
utilizzare tutti gli accorgimenti per evitare che altri ne
- Primi legami con C++ per la struttura del linguaggio. abusino (ad esempio con un blocco su referrer) e per i dati
Firebug
sensibili occorre sempre proteggere l’accesso e fornire i dati
Uno dei problemi di chi sviluppa con AJAX è monitorare solo in HTTPS. Sono accorgimenti comuni ma spesso trascu-
Conclusioni
il dialogo client/server per individuare facilmente dove rati, per la percezione errata che nessuno conosce il servizio
possono annidarsi eventuali problemi. L’ultimo stru- e quindi nessuno lo chiamerà direttamente.
Èmento
meglio che
dunque PVM oèMPI?
consiglio ForseSi
Firebug. nessuna
tratta delle
di undue… È
plugin Note Biografiche
infatti la possibilità
per Firefox di combinare
in grado le potenzialità
di intercettare, tra ledialtre
entrambi
cose, Note Biografiche
Luigi Morelli, è un consulente informatico. Si occupa di system
i l’uso
sistemidel
ad oggetto
offrire leXHR,
caratteristiche
mostrando di macchina virtuale che
sia la chiamata di &Luigi
network management, ma da
Zanderighi è Ingegnere delsempre
softwarecerca
ed èdi coniugare
esperto nellailpro-
PVM e le caratteristiche di message-passing avanzato di MPI;
la risposta. lato ludico didiMatematica
gettazione architetturee distribuite
Scienza dell’Informazione.
e di software Java.

Dada S.p.A. è una Internet Company quotata alla Borsa di Milano


e presente sui principali mercati internazionali, leader nel settore dei
servizi Community ed Entertainment (Internet & Mobile).

Il nostro è un mondo con una forte componente internazionale, in cui


ogni dipendente e collaboratore si identifica con l’Azienda, un mondo
dove la passione per le nuove tecnologie contribuisce al successo
dell’Azienda, oltre che alla crescita personale e professionale.
Siamo convinti che dal confronto delle idee nascano le soluzioni più
brillanti, che il team-working sia un valore condiviso ed una realtà
quotidiana radicata nel piacere di rapportarsi con gli altri.

A seguito della forte crescita del nostro business ricerchiamo


Sviluppatori per il prodotto Dada.net (www.dada.net)
Il candidato ideale ha maturato una significativa esperienza di sviluppo software per il WEB.
Requisiti:
o Formazione in ambito informatico o elettronico
o Buona conoscenza della lingua inglese
o Comprovata conoscenza di uno o più linguaggi di programmazione:
• PHP
• Perl
• J2ME
• HTML, CSS e Javascript
• Javascript e Actionscript

Titoli preferenziali:
Passione per il mondo Internet, le nuove tecnologie, l’integrazione tra sistemi, lo studio e la realizzazione di community dedicate al
mondo consumer dell’entertainment (web e mobile).
Completano il profilo autonomia e spirito d’iniziativa, orientamento ai risultati e motivazione ad inserirsi in un contesto giovane e
molto dinamico.

Sede di lavoro: Firenze.


Se siete interessati ad incontrarci, aspettiamo le vostre candidature (Rif.: DEV07) all’indirizzo recruiting@staff.dada.net (autorizzando il tratta-
28 mento dei dati personali ai sensi del D.Lgs. 196/03). Per approfondimenti, visitate il nostro sito istituzionale: http://dada.dada.net/it/.
Login Internet Expert n.63 Marzo/Aprile 2007
n.3 - marzo/aprile 2007 13
speciale CLUSTER BEOWULF

Appunti sulle topologie


dei cluster
Modalità e tecniche di interconnessione dei nodi di un cluster

SPECIALE
Ü di Natale Fino

Obiettivo della progettazione di un cluster è la rea- Nella configurazione IP dei nodi del cluster poter
lizzazione di un’infrastruttura di calcolo affidabile disporre di indirizzi IP privati è utile sia per motivi
costituita da gruppi di PC “standard” (anche in ter- di sicurezza sia perché non tutti dispongono di deci-
mini di “media” affidabilità). In letteratura, chiun- ne di preziosi indirizzi IP pubblici da poter sottrar-
que si è cimentato nel confronto economico tra so- re per i nodi di un cluster (numero che può variare
luzioni con macchine parallele dedicate e cluster di da pochi PC a centinaia di nodi). Inoltre col passar
unità di calcolo (ossia semplici PC) ha constatato che del tempo, ad esempio utilizzando gli indirizzi IP di
il prezzo per unità di prestazione di una soluzione classe C 192.168.x, si possono utilizzare fino a 256
cluster è di gran lunga inferiore al costo di una so- indirizzi di rete per configurare ulteriori cluster che
luzione parallela dedicata: e ad incidere sono anche si andranno a sviluppare in futuro.
i costi relativi all’alimentazione e alla dissipazione
del calore. Ulteriori vantaggi delle soluzioni cluster
rispetto a sistemi paralleli dedicati sono la facilità di Interconnessione dei nodi
scalabilità (possibilità di aggiungere ulteriori PC con
costi operativi contenuti) e la maggiore affidabilità Esistono più metodi per l’interconnessione dei nodi
non essendoci un “unico punto critico” in caso di del cluster: ciascuna tecnica comporta un determi-
malfunzionamento di un nodo (con possibilità di so- nato bilancio tra vantaggi e svantaggi a livello di
stituzione a caldo dell’hardware o di ridistribuire il costo e di efficienza della soluzione ottenuta. Due
carico di lavoro su altri nodi). macrocategorie topologiche per realizzare un cluster
fisico (tralasceremo quindi le soluzioni “sparse”) si
ottengono in base al tipo di interconnessione tra i
Indirizzi IP del cluster nodi:

Ovviamente le macchine del cluster avranno in- · interconnessioni dirette: ogni nodo ha la duplice
dirizzi IP non pubblici, e al più esisteranno una o funzione di “nodo” di calcolo e di switch
più macchine con indirizzi IP pubblici a garantire
l’accesso via Internet al cluster (sistemi che hanno la · interconnessioni indirette: ogni nodo o è un nodo
funzione di dispathcer). In tal modo i problemi di si- di calcolo o è uno switch
curezza si concentrano su queste macchine “proxy”,
mentre, per via dell’indirizzamento IP con indirizzi Nel caso di nodi a interconnessione diretta, si ricorre
privati, l’accesso diretto ai nodi del cluster non può a una o più schede di rete per macchina e alla attenta
avvenire, né i pacchetti della rete IP privata potran- configurazione delle tabelle di routing del nodo per
no essere inoltrati all’esterno della rete dei nodi del poter realizzare le connessioni desiderate con gli al-
cluster. Come è noto sono tre gli intervalli IP riser- tri nodi; nel caso delle interconnessioni indirette i
vati per reti private: nodi sono tipicamente connessi tramite switch.
Gli aspetti di progettazione topologica di un cluster
· 10.0.0.0 – 10.255.255.255 sono concetti derivati e in comune con la progetta-
· 172.16.0.0 – 172.31.255.255 zione delle reti (specie reti geografiche complesse) e
· 192.168.0.0 – 192.168.255.255 dei sistemi paralleli: per cui si parla di configurazio-

29
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

FIGURA 1 Collegamento con port trunking di due switch Gb/s. Le quattro porte da 1 Gb/s in
trunking realizzano una porta logica a 4 Gb/s.

Ad esempio per diverse topologie viene evidenziata una laten-


za “single-switch” ad indicare che ogni coppia di nodi è con-

Il prezzo per unità nessa attraverso un singolo hop.

di prestazione di una
Interconnessioni con switch
soluzione cluster è A differenza di un hub (che è un mero “ripetitore broadcast”
di gran lunga infe- di pacchetti di rete) uno switch interpreta gli indirizzi di de-
stinazione dei pacchetti in ingresso su ogni porta e li inoltra
riore al costo di una attraverso la porta a cui è connesso il nodo (o il segmento di
cui il nodo fa parte) di destinazione. Gli switch possono esse-
soluzione parallela re amministrati o non amministrati. Gli switch amministrati
hanno un costo maggiore ma permettono configurazioni più
dedicata avanzate. Molti switch di fascia alta, ad esempio, hanno pos-
sibilità di connessioni dedicate inter-switch a larga banda, tra
cui alcuni esempi sono:

ni bidimensionali a maglia (mesh), toroidali (una maglia in · Port trunking ossia “segmentazione della porta” (noto anche
cui ogni nodo estremo è connesso sia all’altro nodo estremo come Cisco EtherChannel). Permette fino a 8 porte di essere
della stessa riga sia al nodo estremo della riga ortogonale), ad trattate come una porta logica. Ad esempio, si possono connet-
anello (nodi connessi in sequenza e i nodi estremi a loro volta tere due switch Gb/s con una connessione a 4 Gb/sec “sacrifi-
interconnessi), a ipercubo (i nodi sono i vertici di cubi “con- cando” quattro porte su ogni switch. La possibilità del port
centrici” o “adiacenti” fra loro connessi), ad albero e via dicen- trunking sullo switch consente anche di utilizzare su macchi-
do. Ad esempio, così come accade per la progettazione delle ne Linux il cosiddetto channel bonding. Channel bonding si-
reti e dei sistemi paralleli due proprietà a cui si è interessati gnifica collegare assieme più NIC in una connessione logica
anche nella progettazione topologica di un cluster (ne diamo di rete, ed è supportato su Linux a livello di kernel (a partire
solo un breve cenno) sono: dalla versione 2.4.x in poi).

· latenza di commutazione (tempo che un “messaggio” impie- · Switch meshing. Permette fino a 24 porte tra switch di essere
ga ad attraversare la rete) trattate come una unica porta logica, creando una connessione
con banda molto alta.
· banda di bisezione (somma della banda di comunicazione del
minor numero di canali che se rimossi separano la rete in due · Switch impilabili. Gli switch impilabili dispongono della
sottografi equivalenti disgiunti) possibilità di interconnessione ad alta banda tra gli switch che
costituiscono un rack (ad es. fino a 8 switch). Queste connes-

FIGURA 2 Utilizzo di switch a n porte e m porte con port trunking

30
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

FIGURA 3 FNN con 3 switch e 8 nodi. intercorrono tra numero di switch, porte da dedicare al port
La disposizione delle connessioni è trunking e numero di nodi del cluster (Figura 2)? Ho provato
ricavabile a mano solo per pochi nodi, a fare qualche semplice conto algebrico e a ricavare una for-
poi è necessario ricorrere a un algoritmo mula di calcolo per ottenere un costo indicizzato per soluzioni
di ausilio (miste o omogenee), che utilizzano switch, ad esempio a 8, 16 e
48 porte. Va detto che non ho tenuto conto di eventuali limita-
zioni “costruttive”, che possono quindi impedire determinate
soluzioni, basate su un numero di switch omogenei o eteroge-
nei. Le formule ricavate vanno prese come mero esercizio, per
cui sono suscettibili a critiche e a correzioni, e sono comunque
da raffinare con i vincoli imposti dalla realtà.

Supponiamo che il fattore di port trunking sia espresso dalla


costante

KT = numero di porte per switch in trunking

Nel seguito questa costante assumerà sempre il valore 4. Se per


connettere Z nodi, disponiamo di un assortimento di più tipi
di switch (ad esempio a 8, 16 e 48 porte), tutti che supportano
il port trunking, quanti nodi (porte libere) otteniamo ricor-
sioni dedicate inter-switch raggiungono i 16, 32 e anche 40 rendo a 2 switch “estremi” più k switch interni? Nei calcoli
Gb/s. Ovviamente si tratta di switch con costi non proprio ac- bisognerà tener conto che per gli switch estremi sono Kt le
cessibili per progetti di cluster “amatoriali” o con pochi nodi. porte dedicate al trunking, e che il consumo di porte diventa
2*Kt per gli switch interni. Se chiamiamo con

Switch e port trunking Z = numero totale nodi (porte non occupate dal trunking)
Ne = numero porte per switch estremi
Nel caso di utilizzo di switch che supportano il port trunking Ni = numero porte per switch interni
è necessario riservare un certo numero di porte al trunking in
modo da realizzare una porta logica con maggiore velocità di otteniamo:
cifra: nel caso tipico (è il caso ad esempio di alcuni modelli
di switch Gb/s), vengono messe in trunking fino a 8 porte fi- Z = 2*(Ne - KT)+ K*(Ni - 2*KT)
siche, per cui con gli switch Gb/s si possono realizzano porte
logiche fino a 8 Gb/s. Un esempio di port trunking a 4 Gb/s è Nel caso Kt = 4 abbiamo:
mostrato in Figura 1. Per non commettere errori di connessio-
ne vanno considerati alcuni vincoli basilari del port trunking, Z = 2*(Ne-4)+ K*(Ni-8)
ad esempio:
con i vincoli
· Le porte in trunking su uno switch vanno connesse solo a
porte in trunking di un altro switch. Ne>4, Ni>=8, K = 0,1,2,...

· Le porte in trunking devono essere della stessa velocità: non Vale a dire gli switch interni (valore K) possono essere 0 o più,
si possono connettere porte in trunking a 100 Mbps con porte e che per via del fattore di trunking (nei nostri esempi pari
da 1 Gbps aggregate in trunking. a 4) è tassativo utilizzare switch estremi con più di 4 porte e
switch interni con almeno 8 porte. Possiamo anzi considerare
Detto ciò, supponendo che il numero di nodi da collegare il caso con switch estremi e interni a 8 porte un caso degene-
sia tale da dover utilizzare due o più switch, quali relazioni re, in quanto

Z = 2*(8-4)+ K*(8-8) = 8
TABELLA 1 Stima utilizzata del prezzo di
acquisto degli switch Gb/s ha come risultato sempre 8 nodi, indipendentemente dal nu-
mero di (inutili) switch interni utilizzati.
Invece, nel caso di utilizzo di switch estremi a 8 porte e switch
Numero porte Costo interni a 16 porte si ha:
(euro)

SW8 60 Z = 2*(8-4)+ K*(16-8) = 8 + K*8

SW16 100 per cui ogni ulteriore switch interno a 16 porte comporta ulte-
riori 8 porte disponibili (e quindi 8 ulteriori nodi collegabili).
SW48 3800
Per stabilire un costo delle soluzioni ho ipotizzato alcuni prez-
zi per gli switch Gb/s a 8, 16 e 48 porte (Tabella 1).
A questo punto, con un semplice foglio elettronico, è sta-

31
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

TABELLA 2 Confronto dei costi di switching con port


trunking per una soluzione a 48 nodi Ciascuna tecnica
Soluzione Numero nodi Costo di interconnessione
(sw estremi /sw interni) (euro)
dei nodi comporta un
2 8 porte + 5 16 porte 48 620
determinato bilancio
2 8 porte + 1 48 porte 48 3920

2 16 porte + 3 16 porte 48 500


tra costi e efficienza
della soluzione otte-
to semplice ottenere i prospetti delle soluzioni e dei costi al nuta.
variare del tipo e numero di switch utilizzati e del valore K
(numero di switch interni utilizzati). Dopodiché è possibile
confrontare le diverse soluzioni ottenute per ricavare quali, a a 4 porte (che permette di connettere 8 PC) è mostrato nella
parità di costo, permettono di connettere il maggior numero Figura 3.
di nodi o, viceversa, quali a parità di nodi permettono un costo Le FNN rappresentano una soluzione economica, poiché non
inferiore. Ad esempio per una soluzione a 48 nodi si ottengono richiedono switch amministrati e permettono di ottenere pre-
tre possibilità, utilizzando tre combinazioni diverse di switch stazioni di tutto rispetto. Con l’aumentare del numero di mac-
a 8, 16 e 48 porte (Tabella 2). La soluzione con costo inferiore chine da connettere (considerando che un’ulteriore variabile
è quella con 5 switch a 16 porte. è il numero di schede di rete per macchina), non è né intuiti-
Viceversa, disponendo, ad esempio, di circa 1000 euro di bu- vo né facile ricavare manualmente la configurazione. All’in-
dget, qual è la soluzione che permette il maggior numero di dirizzo http://aggregate.org/FNN è disponibile un form per
nodi? Le soluzioni con un costo di circa 1000 euro sono ripor- utilizzare un algoritmo genetico, sviluppato dall’Università
tate in Tabella 3: la soluzione da 1000 euro più conveniente è del Kentucky, che consente di ottenere una configurazione ot-
quella con 10 switch a 16 porte che consente di connettere 88 timale specificando il numero di nodi, il numero di porte per
nodi; con 1100 euro si possono connettere 96 nodi utilizzando ciascuno switch (senza contare le porte di uplink) e il numero
11 switch da 16 porte. Tutte considerazioni che sfogliando un massimo di schede di rete per macchina.
depliant, o davanti allo scaffale di un negozio, o consultando i
listini Web di un rivenditore, non sono affatto immediate. Cluster senza switch: anelli e ipercubi

Reti FNN Nel caso del collegamento diretto, viene meno il costo di ap-
provvigionamento degli switch, ma si amplificano i costi del-
Una rete FNN (Flat Neighborhood Network) si basa sull’uti- le schede di rete e dei cavi Ethernet di categoria 5e (costi che
lizzo di più schede di rete su ogni macchina (tipicamente due), tuttavia sono minori rispetto a quelli degli switch). Con più
per realizzare connessioni tramite switch con un solo hop per schede di rete per macchina si possono creare più o meno age-
il collegamento a qualsiasi altra macchina della FNN (un al- volmente diverse topologie; il punto critico però è una attenta
tro modo per indicare una latenza “single-switch”). Per gestire configurazione delle tabelle di routing di ogni nodo, per per-
l’instradamento è necessario configurare opportunamente il mettere ai pacchetti di attraversare la rete. I nodi, quindi, as-
routing su ciascun nodo. La configurazione delle connessioni sumono una ulteriore funzionalità di router.
disponendo di n porte switch, consente di collegare, con PC
muniti di due schede di rete, n/2 macchine. La tecnica si basa Anelli
sulla constatazione che è possibile far sì che ogni macchina sia
connessa a due switch distinti: in tal modo ogni PC appartiene
Un anello è una disposizione in cui ogni macchina, dotata
a due “regioni” diverse della rete. Un caso con quattro switch
di due schede di rete, viene connessa alla macchina succes-
siva tramite un’interfaccia (ad
TABELLA 3 Confronto delle soluzioni implementabili con un budget di circa esempio eth0) e alla macchi-
mille euro per l’acquisto degli switch na precedente tramite l’altra
interfaccia (ad esempio eth1).
Soluzione Numero nodi Costo Per l’assegnazione degli indi-
(sw estremi /sw interni) (euro) rizzi IP conviene adottare una
strategia che impiega due di-
2 8 porte + 8 16 porte 72 920 stinte classi di indirizzi di rete,
uno per ciascuna “dimensio-
2 8 porte + 9 16 porte 80 1020
ne”: ad esempio, gli indirizzi
2 16 porte + 7 16 porte 80 900 della rete 192.168.0 verranno
assegnati alle schede connesse
2 16 porte + 8 16 porte 88 1000 ai sistemi “successivi”, mentre
2 16 porte + 9 16 porte 96 1100 gli indirizzi di rete 192.168.0
verranno assegnati alle schede
connesse ai sistemi “preceden-

32
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

FIGURA 4 Un anello con 4 nodi: ogni sistema è dotato di due interfacce di rete.

· dimensione 1: 192.168.1.x (con x che va da 1 a 8)

Gli switch ammi- · dimensione 2: 192.168.2.x (con x che va da 1 a 8)

nistrati hanno un Il nodo k, ad esempio, avrà come indirizzi corrispondenti alle

costo maggiore ma tre interfacce 192.168.0.k, 192.168.1.k e 192.168.2.k, e k varie-


rà da 1 a 8 al variare del nodo in questione. A questo punto
permettono configu- non resta che inserire la tabella di routing per ogni nodo. Un
nodo avrà tre collegamenti diretti con i nodi limitrofi, per cui
razioni più avanzate. inseriremo tre corrispondenti comandi route add; per la con-
nessione con gli altri nodi si può utilizzare come criterio il
principio di instradare i pacchetti verso la i-ma dimensione
di un nodo attraverso l’interfaccia di quella dimensione, ossia
ti”. Un esempio di anello a 4 nodi in cui si adotta questa con- l’interfaccia i-ma (quindi l’indirizzo 192.168.0.x, 192.168.1.x o
venzione è mostrato nella Figura 4. In questo modo, è anche 192.168.2.x di ogni nodo). Un esempio di cubo a 16 nodi è mo-
più facile scrivere e verificare la correttezza delle regole di rou- strato nella Figura 6. Da notare che in letteratura, il termine
ting di ciascun nodo. Da notare che in un anello con un mag- cubo o ipercubo, non sempre implica l’utilizzo di più interfac-
gior numero di nodi, per i nodi “estremali” può essere conve- ce di rete per sistema: spesso si preferisce ricorrere agli switch
niente un percorso di routing che tenga conto che alcuni nodi visto che il costo di questi apparati è diminuito notevolmente,
di destinazione dell’altro “lato” si raggiungono con un minor evitando così il ricorso alle interconnessioni dirette.
numero di hop seguendo il percorso inverso. Ad esempio, è
banale constatare che in un cubo a n nodi il percorso più breve FIGURA 5 Nodi di un cubo: ogni vertice
di instradamento dal nodo n al nodo 2 è attraverso il nodo 1 e è un sistema dotato di 3 interfacce di
non attraverso il nodo n-1. rete.

Cubi e ipercubi
Nel caso più semplice di cubo, costituito da 8 sistemi inter-
connessi senza switch, possiamo ricavare il numero di schede
di rete necessarie per ciascun sistema da una semplice consi-
derazione: da ogni vertice di un cubo (a sei facce) si diparto-
no tre spigoli (che conducono ad ulteriori tre vertici distinti).
Immaginando ogni sistema posizionato su un vertice del cubo
è quindi evidente che ciascun “nodo” dovrà comunicare con
altri tre nodi del cubo. Pertanto, ogni sistema sarà dotato di tre
interfacce di rete, banalmente eth0, eth1 e eth2, realizzando
così tre canali di comunicazione paralleli che coincidono con
le tre “dimensioni” del cubo (Figura 5). Una strategia utile per
“orientarsi” in cluster con topologie a più dimensioni è utiliz-
zare un indirizzo di rete per ogni dimensione, e all’interno di
ogni dimensione utilizzare la parte host dell’indirizzo IP della
rete per enumerare gli indirizzi dei nodi. Per cui, nel caso a tre Il channel bonding … in pillole
dimensioni (ossia per un cubo a 8 vertici) avremo le dimensio-
ni 0, 1 e 2 che corrispondono alle interfacce eth0, eth1 e eth2 Il channel bonding è una tecnica che si basa su un particola-
di ogni nodo. Ad esempio: re driver, supportato dal kernel Linux, che permette di con-
figurare in modalità slave più interfacce di rete che saranno
· dimensione 0: 192.168.0.x (con x che va da 1 a 8) associate a una interfaccia “virtuale” master. Si può utilizza-

33
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF

re qualsiasi interfaccia Ethernet, e il numero di interfacce di FIGURA 6 Un ipercubo a 16 nodi


bonding definibile è virtualmente illimitato, mentre il nume-
ro di interfacce slave è limitato dal numero di schede di rete
supportato dalla distro Linux utilizzata e anche dal numero di
slot liberi disponibili nel proprio PC. La configurazione di un
alias di device virtuale viene inserita in

/etc/modules.conf

in modo che il driver di bonding venga caricato quando viene


configurata l’interfaccia definita dall’alias. Ad esempio:

alias bond0 bonding

Per definire l’interfaccia di bonding bond0 si utilizza la proce-


dura che si utilizzerebbe per una normale interfaccia di rete,
creando il file di configurazione ifcfg-bond0 nel percorso

/etc/sysconfig/network-scripts
Modificati gli script di configurazione, basta riavviare lo stra-
Il contenuto di questo file potrebbe essere to di rete, riavviando il sistema o meglio, con comandi spe-
cifici, ad esempio su sistemi Fedora si potrebbe ricorrere al
DEVICE=bond0 comando
IPADDR=192.168.1.1
NETMASK=255.255.255.0 ifup bond0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255 o eseguire lo script di inizializzazione della rete:
ONBOOT=yes
BOOTPROTO=none /etc/rc.d/init.d/network restart
USERCTL=no
A questo punto le due interfacce saranno gestite e supervi-
Le interfacce che fanno parte del bonding avranno nel rispet- sionate come “unicum” dal driver di bonding, aumentando
tivo file di configurazione (ad esempio, ifcfg-eth0 e ifcfg-eth1) la banda di connessione disponibile in ingresso/uscita sulla
due parametri specifici: SLAVE e MASTER. Ad esempio il rete.
file di configurazione per eth0 che fa parte del bond0 potreb-
be essere:
Conclusioni
DEVICE=eth0
USERCTL=no La topologia di un cluster dipende anche dal tipo di problema
ONBOOT=yes parallelo da trattare, pertanto le valutazioni su quale tipologia
MASTER=bond0 adottare è anche funzione della classe specifica di problemi
SLAVE=yes computazionali da trattare. Per quanto concerne l’aspetto eco-
BOOTPROTO=none nomico, invece, è opportuno richiedere delle offerte commer-
ciali a più fornitori, poiché l’acquisto in quantità di un con-
La direttiva MASTER indica il nome dell’interfaccia di bon- gruo numero di PC, di schede di rete e di switch può far de-
ding che funge da MASTER (ad esempio, bond0, bond1, ecc. terminare sconti variabili che possono ridurre, anche sensibil-
se nel sistema sono definite più interfacce di bonding) men- mente, il costo teorico previsto dell’architettura da realizzare.
tre la direttiva SLAVE definisce l’interfaccia di rete corrente
come interfaccia slave associata all’interfaccia MASTER.
Riferimenti
Se la distro Linux utilizzata non interpreta i parametri MA-
STER e SLAVE nei file di configurazione delle interfacce di [1] Brown R. G., “Engineering a Beowulf-style Compute Clu-
rete, non resta che procedere con i comandi ifconfig e ifen- ster” http://www.phy.duke.edu/~rgb/Beowulf/beowulf_book/
slave: beowulf_book/index.html
[2] Adams J., Vos D., “Small-College supercomputing: buil-
/sbin/ifconfig bond0 192.168.1.1 netmask 255.255.255.0 ding a Beowulf cluster at a comprehensive college”
broadcast 192.168.1.255 up http://www.calvin.edu/~adams/professional/publications/Sm
allCollegeSupercomputing.pdf
e l’associazione tra la master e le due (o più) slave avviene per [3] Linux Channel Bonding - http://sourceforge.net/projects/
mezzo del comando bonding
[4] FNN – http://aggregate.org/FNN
/sbin/ifenslave bond0 eth0
/sbin/ifenslave bond0 eth1

34
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

Java e RFID
Le architetture Java a supporto dei processi di approvvigionamento

Ü di Andrea Leoncini

L’ambiente di sviluppo Java permette di Cosa sono i tag RFID


integrare la tecnologia RFID con i sistemi
informativi per la gestione dei processi
aziendali orientati alla logistica (Supply Sono disponibili tre tipi di tag o transpon-
Chain). In questo articolo, oltre a trattare der: attivi, semi-passivi e passivi:
le nozioni introduttive esamineremo anche
le componenti di un sistema informativo
RFID basato su Java.

Cos’è RFID Radio Frequency


Identification o RFID
Radio Frequency Identification o RFID è
una tecnologia che permette di riconosce- è una tecnologia che
re oggetti o “articoli” utilizzando i segnali permette di ricono-
radio. RFID nasce come evoluzione dei
sistemi basati su codice a barre, e si basa scere oggetti o “ar-
sulla presenza di un tag o transponder e di
un lettore. La tecnologia RFID accede da
ticoli” utilizzando i
remoto alle informazioni disponibili tramite segnali radio
il tag, utilizzando un sistema di comunica-
zioni a radio frequenza. Queste informazioni
variano da un semplice numero progressivo,
a quantità di dati dell’ordine dei kilobyte,
fino alla possibilità di gestire dati dinamici
memorizzati cronologicamente. · I tag attivi sono quelli dotati di alimenta-
RFID è parte di una più ampia gamma di zione e sono essi stessi generatori di segnali
tecnologie per la collezione e la gestione radio;
automatizzata di dati in formato digitale,
che va sotto il nome di Auto-ID; tra queste, · I tag passivi non sono sorgenti dirette di
oltre all’RFID, abbiamo il codice a barre, la segnale, ma utilizzano le frequenze radio in
biometrica ed il riconoscimento vocale. ingresso per generare il segnale di risposta.
Queste tecnologie hanno lo scopo di effet-
tuare il tracciamento di oggetti, di qualun- · I tag semi-passivi sono simili a quelli passi-
que natura siano, mediante un protocollo vi, ma sono dotati di una batteria di alimen-
o schema di riconoscimento. In pratica si tazione; e ciò permette di avere maggiore
tratta di associare (applicare o innestare) raggio di azione rispetto ai tag passivi.
univocamente dei tag a basso costo (lo sti-
cker del codice a barre, o il transponder L’impulso allo sviluppo di questa tecnologia
RFID, i quali hanno ormai costi pressoché si è avuto con l’abbattimento dei costi per
paragonabili) a degli oggetti (ma anche ad singolo tag, abbattimento che si è avuto con
animali o persone). i tag di tipo passivo, anche se questo tipo di

35
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

che coinvolge aziende e strutture diverse, è ovvio che


la standardizzazione delle componenti coinvolte as-
sume un ruolo fondamentale.
L’intero processo, infatti, coinvolge non solo più si-
stemi informativi, diversi tra loro per le caratteristi-
che funzionali, ma, soprattutto, sistemi informativi
di aziende diverse.

tag presuppone un tipo di antenna per i lettori leg-


germente più complessa, in quanto, oltre a leggere i
dati di ritorno dal tag, deve anche essere in grado di L’impulso allo svilup-
attivare il tag stesso per induzione.
Non avendo bisogno di un sistema di alimentazione po di questa tecno-
interno è stato possibile lavorare sulle dimensioni logia si è avuto con
di questi tag fino ad ottenerne di molto sottili, dello
spessore di un foglio di carta [1]. l’abbattimento dei
I tag passivi hanno invece un limite nel raggio di
azione, e si va da pochi centimetri fino a qualche me-
costi per singolo tag
tro; per raggio di azione si intende la distanza entro che si è avuto con i
cui l’antenna del lettore è in grado di generare, per
induzione sul tag, il segnale di ritorno. tag di tipo passivo
Tag di questo tipo possono essere facilmente applica-
ti ad oggetti mediante pellicole adesive, oppure, date
le loro ridotte dimensioni, possono essere innestati
direttamente negli oggetti (Figura 1).
Anche se fa un certo effetto, è corretto far notare L’organismo che inizialmente si occupava di gestire
che questi tag possono essere facilmente impiantati ed unificare le varie specifiche funzionali e la reda-
“sotto pelle”, in genere per scopi agro-alimentari, zione degli standard in questo settore era l’Auto-ID
ma la tecnica di impianto è applicabile anche sulle Center [2]. Questo centro verso la fine del 2003 ha
persone. cessato le sue attività ed ha trasferito tecnologie e
Naturalmente, si potrebbe discutere molto sulle im- compiti all’EPCglobal [3], un organismo finanziato
plicazioni relative al “taggare” una persona, con im- dalle industrie del settore con lo scopo di emana-
plicazioni di carattere filosofico e anche religioso; ma re gli standard a supporto della tecnologia EPC
è ovviamente un argomento che, seppur interessante, (Electronic Product Code) e la sua adozione in
evito di trattare, esulando dall’ambito tecnico. quella che è chiamata la EPCglobal Network. Per
EPCglobal Network si intende un pacchetto di tec-
nologie abilitanti i sistemi informativi digitali per
Gli standard di riferimento il riconoscimento automatico, e la condivisione dei
dati ad essi associati, degli oggetti di quella che viene
comunemente chiamata la Supply Chain. La EPC-
Affinché i sistemi RFID possano essere implemen- global Network utilizza la tecnologia RFID, ovvero
tati nell’intero ciclo di vita di un prodotto (richiesta le radio frequenze, per il riconoscimento automatico
di approvvigionamento, produzione, spedizione, degli oggetti. La EPCglobal Network è costituita da
immagazzinamento, vendita, riparazione, ecc.), ciclo cinque elementi fondamentali:

· EPC – Electronic Product Code


FIGURA 1 Tag RFID applicabile a qualsiasi tipo di oggetto È il numero seriale che identifica univoca-
mente un articolo della Supply Chain.

· I sistemi RFID, ossia lettori e tag RFID


Il tag è un microchip, dotato di antenna, che
contiene i dati EPC. Il lettore è un apparato
anch’esso dotato di antenna; in questo caso
l’antenna è del tipo in grado di emettere
onde radio che sollecitano l’antenna “pas-
siva” del tag, che a sua volta emette segnali
di risposta contenenti i dati EPC. A questo
punto, il lettore comunica i dati ricevuti al
sistema informativo mediante il cosiddetto
EPC middleware. Da questo punto di vista,
una delle attività al momento in corso pres-

36
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

so l’EPCglobal è definire l’Auto-ID Reader Protocol anche nei reparti, in modo che ogni tanto si possa
Specification, ossia il protocollo con cui il lettore fare un controllo sulla spesa fin lì effettuata e cono-
comunica i dati al middleware. scere l’importo totale.

· EPC Middleware. Altre differenze, meno visibili esteriormente, saran-


L’EPC Middleware è il primo strato software di questi no presenti anche in altre zone nevralgiche dei ma-
sistemi. Si interfaccia da una parte con l’apparato ad gazzini ACME, a cominciare dal reparto spedizioni.
onde radio e si occupa di gestire gli eventi che l’appa- Le merci in arrivo (o in partenza) saranno convoglia-
rato genera e di filtrare e collezionare i dati che dovrà te attraverso un ulteriore “elemento”, differente pro-
poi immettere nel sistema informativo. Un esempio babilmente nelle dimensioni, ma sostanzialmente
di filtro è quello legato alla ripetizione dell’evento di identico per funzionalità a quello delle casse.
lettura di un tag: in questo caso, il middleware deve
essere in grado di decidere se le due letture sono una
ripetizione dello stesso evento e quindi una delle due
va scartata.

·Object Name Service


È il servizio che permette di individuare il server Questi tag posso-
sul World Wide Web che dispone dei dati associati
all’articolo EPC. no essere facilmen-
· Physical Markup Language te impiantati sotto
È il linguaggio con cui vengono descritti i dati asso-
ciati ad un articolo; si tratta di una sorta di vocabo-
pelle, in genere ad
lario comune per i sistemi che gestiscono gli oggetti
della EPCglobal Network.
animali

Uno scenario di utilizzo


Mentre nel caso delle casse il vantaggio sarà quello di
Quando si parla di applicazioni web, soprattutto in non dover effettuare manualmente la scansione dei
ambito didattico, si fa spesso riferimento al “carrello singoli tag degli articoli (basterà ciò per eliminare
della spesa”, ossia il carrello virtuale (del negozio vir- le code?), in questo caso ne trarranno vantaggio i
tuale) che troviamo in alcuni siti web. Bene, anche sistemi di imballaggio. Con il metodo tradizionale,
nel nostro caso farò ricorso a questa metafora: solo infatti, per inventariare la merce in ingresso ci si
che, stavolta, si tratta proprio del carrello fisico della basa sul fatto che su ogni imballo è riportata la quan-
spesa che usiamo nei grandi magazzini. tità di prodotti contenuti (per esempio, 24 pacchi di
Immaginiamo che la catena dei magazzini ACME, pasta), e si conteggia quindi il numero dei colli per
di cui siamo abituali frequentatori, abbia scelto di sapere quanta merce è arrivata. Con il sistema RFID,
applicare la tecnologia RFID ai propri prodotti (at- invece, gli imballi possono contenere anche prodotto
tenzione: ciò significa che la stessa tecnologia è stata differenti, tanto la lettura del tag avviene per ogni
adottata anche dai fornitori, dai produttori degli ar- singolo articolo contenuto nell’imballaggio.
ticoli, dai magazzinieri e così via). Analogamente, ancor oggi viene utilizzato il codice
Cosa noteremo di diverso rispetto agli altri supermer- a barre per i pacchi in spedizione. Il problema è che
cati? Per noi utenti, ossia clienti del supermercato, la l’ID con cui si marca il pacco fa riferimento al collo
differenza che salterà all’occhio saranno le casse. come entità unica; l’associazione con i contenuti è
Rispetto al codice a barre, che necessita di un ope- solo presunta, o comunque è stabilita in base ad al-
ratore che esegua la lettura manovrando il lettore tri strumenti (tra cui i documenti di trasposto della
oppure l’articolo, i tag RFID vengono invece letti spedizione). Nel caso dell’RFID, invece, i contenuti
automaticamente dal sistema. La cassa, quindi, non dell’imballo sono stabiliti in base alla lettura “simul-
avrà il banco per il passaggio degli articoli ma ci sarà tanea” dei tag, lettura che in tempo reale mostra la
semplicemente un “elemento” attraverso cui faremo lista esatta degli oggetti contenuti nel pacco. Questa
transitare il carrello con gli articoli da acquistare; e precisione nel controllo degli articoli può inoltre es-
sul display comparirà direttamente l’importo com- sere applicata in tutta la fase di spedizione (Figura
plessivo della spesa. Questo “elemento”, la cui forma 2).
lascio a voi stabilire o immaginare (ma di fatto è mol-
to semplice), altro non è che una antenna RFID; ed Se vi è mai capitato di dover controllare i movimenti
è parte integrante del lettore. Ad esempio, è qualcosa di una spedizione internazionale avrete notato che
di molto simile alle colonnine antifurto installate al- avviene per tratte. Pensate ad una spedizione dal-
l’uscita di molti negozi. Probabilmente, qualche altro l’Inghilterra all’Italia. Un corriere ritira un plico
“passaggio” simile a quello delle casse lo troveremo dal mittente e la consegna ad un hub regionale in

37
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

FIGURA 2 Applicazione della tecnologia RFID in fase di spedizione

Inghilterra; e questo hub inoltra il pacco ad un hub Tipicamente, i reader espongono un’interfaccia a cui
europeo (in Germania). Dall’hub europeo, il plico è attribuito un indirizzo IP, per cui l’Event Manager
viene inviato all’hub regionale in Italia, ed infine un può processare i dati tramite delle connessioni TCP/
corriere effettua la consegna a domicilio. Si tratta di IP. Questa componente deve occuparsi fondamental-
una modalità più o meno standard per questo tipo di mente di due aspetti:
spedizioni.
Se tutti i nodi di questo percorso hanno adottato la · raccogliere ed interpretare i dati che i reader pro-
tecnologia RFID, in ogni nodo si può controllare ducono;
l’integrità del contenuto, ossia che tutti gli articoli
della spedizione siano presenti e che non ci siano · filtrare i dati stessi.
state manomissioni. Inoltre, il tag RFID può tenere
traccia di tutti i passaggi avvenuti (data, ora di arrivo Sebbene i dati EPC siano definiti secondo degli stan-
e di partenza) per ogni nodo del percorso (Figura 3). dard, il protocollo di trasmissione di questi dati, os-
sia le modalità con cui l’Event Manager ed il reader
si scambiano i dati, è invece legato all’hardware. In
Architettura di riferimento altre parole, i vari produttori di antenne hanno adot-
tato ciascuno un proprio protocollo di trasmissione:
il nostro Event Manager, quindi, deve essere in grado
Se tag RFID e antenne rappresentano l’hardware di gestire apparati differenti. L’idea è che l’Event
adottato dalla ACME, passiamo ora ad analizzare Manager sia predisposto per poter essere configurato
anche il lato software dell’architettura (Figura 4). con dei driver specifici, in base al modello di reader.
Aspetto che ci riguarda più direttamente. Deve quindi essere predisposto con un “Adapter” sul
Analizziamo perciò l’architettura logica che serve a quale installare i vari driver (o plug-in) forniti a cor-
implementare un sistema informativo basato sulla redo dell’apparato hardware.
tecnologia RFID; e partiamo dalla periferia del siste- Riguardo al filtro sui dati, questo deve essere in gra-
ma, ossia dai lettori (EPC Tag Reader). do di processare gli eventi per poter estrapolare solo
Prima di tutto, serve una componente software che quelli significativi.
si occupi di processare i dati grezzi trasmessi dalle Nel caso del carrello della spesa, ad esempio, se un
antenne o, come si è detto prima, dai reader. Questa pacco di pasta (lo stesso pacco di pasta) viene letto
componente la chiameremo Event Manager. dall’antenna due volte, è chiaro che l’informazione

38
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

“pacco di pasta nel carrello” deve essere processata o l’ufficio spedizioni) si abbia la certezza di poter
una sola volta. Praticamente, quando le letture di un effettuare delle letture dobbiamo eventualmente
medesimo oggetto vengono processate entro un certo ridondare il reader, piazzando due antenne o più
intervallo di tempo, il filtro deve emettere un solo antenne (in questo caso la funzione di filtro dell’EM
evento. Tipicamente, il valore dell’intervallo di con- sarà maggiormente necessaria). La pratica di ridon-
trollo è uno dei parametri configurabili del sistema. dare le antenne viene adottata anche per evitare che
interferenze o impedimenti facciano perdere delle
Da un punto di vista logico abbiamo quindi una o letture.
più antenne o reader che fanno riferimento ad un Per quanto riguarda l’EM, invece, possiamo gestire
Event Manager (EM). l’HA moltiplicando le istanze applicative, quindi
dati N reader, avremo due o più istanze di EM di
riferimento.

Bene, a questo punto abbiamo a disposizione le com-


ponenti che eseguono le letture RFID ed abbiamo un
Tag di questo tipo hub per la gestione delle letture.
Adesso dobbiamo convertire gli eventi di lettura dei
possono essere fa- dati EPC in eventi di business. Mi spiego meglio: ab-
cilmente applicati ad biamo un sistema che ci informa in modo automatico
quando un articolo viene riconosciuto da una delle
oggetti mediante pel- antenne; ma il sistema informativo come deve inter-
licole adesive pretare questa informazione?
Se, per esempio, la lettura viene effettuata da uno
dei reader delle casse, il sistema informativo deve
presentare il conto e probabilmente deve anche se-
gnalare che gli articoli presenti nel carrello sono stati
venduti, quindi non più disponibili sugli scaffali e va
La realizzazione fisica, invece, consiste nell’avere decrementata la giacenza di magazzino.
una o più antenne collegate via TCP/IP ad una sta- Se invece la lettura viene effettuata dal reader in-
zione su cui è installato l’EM. Trattando l’implemen- stallato all’ingresso del magazzino, ciò significa che
tazione fisica dell’architettura, andrebbe valutato an- degli articoli letti va incrementata la giacenza di
che l’impatto che la gestione della cosiddetta “High magazzino. Nella realtà certamente il processo è più
Availability” (HA) ha su di essa. complesso (dovendo prevedere anche la gestione del-
Questa analisi, però, implica una serie di considera- le scorte minime, gli ordini a fornitore, il passaggio
zioni tipiche dell’ambito progettuale ed è difficile in- dal magazzino ai banchi vendita, ecc.).
dicare un’architettura in HA senza analizzare anche
le condizioni al contorno. Tuttavia, ci basta capire che tra gli EM e il sistema
Diciamo comunque che in generale il reader è una informativo aziendale abbiamo bisogno di un’altra
componente atomica e deve essere quindi trattato componente software, che traduca gli eventi di lettu-
come un apparato di rete; quindi, se vogliamo esse-
ra dei tag RFID in dati propri del processo aziendale.
re sicuri che in un certo sito (per esempio la cassa
Questa componente deve essere in grado di adattarsi
alle specifiche ca-
FIGURA 3 Applicazione della tecnologia RFID in un hub ratteristiche del si-
stema informativo:
la traduzione degli
eventi semplici in
dati di business
dipende fortemente
dai processi azien-
dali. Infatti, la tec-
nologia RFID può
essere applicata ai
settori più disparati,
per cui la lettura di
un certo tag assume
di volta in volta in
volta significati di-
versi.
Chiamiamo questa
nuova componente
Information Server,
non per particolare

39
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

FIGURA 4 Flusso di funzionamento dell’RFID

simpatia per l’uso di termini in inglese, ma per adat- gli eventuali filtri sui dati, confeziona gli eventi e li
tarci alla terminologia già in uso in questo settore. invia all’IS (ossia invia dei messaggi JMS all’Appli-
Possiamo pensare all’IS come ad una applicazione cation Server dell’IS).
JEE (Java Enterprise Edition): in questo caso abbia- A questo punto, l’IS, leggendo i messaggi in arrivo,
mo bisogno di un Application Server. potrà applicare la logica di business opportuna, che
Quindi l’IS quando riceve una notifica del tipo: nel caso delle casse equivale a creare una lista degli
“letto EPC abc dall’antenna xyz” sa che equivale a articoli, riportando il relativo prezzo e il totale della
dire “entrato in magazzino l’articolo xxx”, che, tra- spesa effettuata. Questo processo potrebbe facil-
dotto in termini informatici, equivale più o meno ad mente essere implementato con dei Message Driven
aggiungere dei dati in un certo formato all’interno Bean.
di un archivio. L’IS è una componente tipicamente Passati i varchi, il cliente troverà lo scontrino pronto
asincrona del nostro sistema distribuito. e dovrà solo effettuare il pagamento (magari anch’es-
Se ci pensate bene, i due momenti, ricezione della so automatizzato). Preparare lo scontrino, natural-
notifica e transazione sul sistema informativo, sono mente, non sarà l’unica operazione da associare agli
di fatto disaccoppiati. Da un lato, infatti, abbiamo eventi: il sistema dovrà infatti interagire con una
bisogno di poter ricevere e trattare anche grosse qualche componente del sistema legacy dei magazzi-
quantità di eventi di lettura e di prepararli per essere ni, per “avvisare” che si devono rimuovere certi arti-
processati; successivamente, si potrà gestire l’intera- coli dalla lista degli articoli presenti sugli scaffali dei
zione con i sistemi informativi (tenendo conto che reparti; operazione che potrebbe consistere nell’in-
questo secondo passaggio potrebbe anche richiedere vocare un apposito Web service o più semplicemente
l’intervento di un operatore). Si tratterà quindi di in una invocazione di una stored procedure SQL su
implementare una coda di eventi e una serie di sotto- un database.
scrittori alla coda che processino gli eventi stessi. Oltre ai sistemi legacy già presenti in azienda, da un
punto di vista logico non c’è altro: gli Event Manager
e l’Information Server sono le componenti di base (il
Un esempio: la spesa ai grandi magazzini numero degli EM e degli IS è naturalmente variabi-
ACME le e dipende dalle caratteristiche dell’impianto). È
Il carrello della spesa passa tra i “varchi” delle casse quindi l’architettura del sistema a differenziarsi in
e i reader leggono i tag degli articoli contenuti nel funzione degli impianti e, naturalmente, le logiche
carrello; l’EM riceve i dati grezzi delle letture, esegue di business da applicare agli eventi.

40
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

stico) con il codice del nuovo pezzo sostituito.


In questo scenario, una pattuglia di Polizia che deve
effettuare un controllo sarà dotata semplicemente di
un’antenna RFID e grazie a un collegamento telema-
tico con la centrale potrà verificare i dati al passaggio
Con l’abbattimento di un veicolo. Con buona pace per il traffico di pezzi
di ricambio e di veicoli rubati.
dei costi dei tag i
sistemi RFID appor- Conclusioni

teranno non poche L’idea è invitante e rassicurante. Ma esiste un rove-


novità nella vita quo- scio della medaglia? I tag RFID non hanno nessun
tidiana livello di sicurezza nel proteggere i dati contro la
lettura non autorizzata: chiunque può effettuare
delle letture. Motivo per cui alcune letture sarebbero
lesive della privacy. Nel caso citato dell’applicazione
della tecnologia RFID al settore dell’abbigliamento,
ad esempio, se gli esercizi commerciali facessero pa-
trimonio comune dei dati letti dalle antenne, ognuno
di noi potrebbe essere “etichettato” in base agli ac-
quisti effettuati, tracciando anche movimenti, gusti
Ulteriori considerazioni su RFID e abitudini dei consumatori. E in teoria si potrebbe
risalire anche alle relazioni sociali tra persone (per
via di regali e prestiti). Ed è ben noto, che il proble-
A conclusione dell’articolo vorrei tornare su alcuni ma cruciale è sempre “chi controlla il controllore?”.
aspetti meno tecnici della tecnologia RFID ma co- Probabilmente chi si occupa della parte tecnologica
munque decisamente significativi ed interessanti. della questione non è direttamente coinvolto nelle
Partiamo dal presupposto che si tratta di una tecno- decisioni sugli “impatti sociali” che guideranno
logia che avrà sicuramente un impatto sempre mag- questi sviluppi, ma tuttavia alcune implicazioni pra-
giore sulla vita di tutti i giorni. Con l’abbattimento tiche, positive e non, dell’adozione della tecnologia
dei costi dei tag e di conseguenza con l’utilizzo mas- RFID è bene conoscerle.
siccio della tecnologia sui prodotti di uso comune, i Allora, siete pronti? O state pensando sia meglio ca-
sistemi RFID apporteranno non poche novità nella tena, lucchetto e attendere in fila alle casse?
vita quotidiana. Voglio accennare ad un paio di esse
come spunto per delle riflessioni che lascio al lettore.
Io vivo a Roma, ma l’argomento che tratterò è comu- Riferimenti
ne a molte altre città, in Italia e non: i furti di auto e
di moto.
In particolare prendo spunto da una testimonianza. [1] http://www.eetimes.com/news/design/showArtic
Il proprietario di uno scooter molto venduto, mi ha le.jhtml?articleID=179100286
raccontato di avere subito il furto della moto e di- [2] Auto-ID Center
verse volte anche il furto di alcuni pezzi della moto. www.autoidcenter.org
Mi ricordo che mi disse, ovviamente avvilito, che [3] EPCglobal
nonostante le mille precauzioni e i soldi spesi per http://www.epcglobalinc.org/home
l’antifurto, probabilmente avrebbe dovuto desistere,
e scegliere un altro modello di moto … meno sogget-
to a furti.
Proviamo ad immaginare le implicazioni dell’appli-
cazione della tecnologia RFID nel settore automobi-
listico (nonostante il ricorso ai sistemi GPS). Ciò che
otterremmo è che quasi ogni singolo pezzo con cui
è costruito il mezzo (macchina o moto che sia) sarà
catalogato e registrato in base all’EPC. La carrozze-
ria, i fari, i sedili, gli sportelli, le parti del motore, le Note Biografiche
ruote, i dischi e le pinze dei freni: insomma tutte le
Andrea Leoncini è Senior Java Architect di Sun Microsystems
parti, che assemblate costituiscono il veicolo, sono
Italia, lavora nei servizi professionali e si occupa di progetti di
singolarmente registrate e questi codici costituireb- sviluppo nell’area enterprise. Ha più di 15 anni di esperienza
bero una sorta di DNA del veicolo. Nel caso di una nel settore dell’Information Tecnology e, precedentemente,
riparazione in officina, la sostituzione di un pezzo oltre ad alcune aziende private minori, ha lavorato nel settore
comporterà anche l’aggiornamento di un archivio pubblico (Gruppo ENI) maturando esperienze di Cartografia
centrale (una sorta di Pubblico Registro Automobili- e Computer Aid Design.

41
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

Elementi di sicurezza
elettrica nelle reti dati
sanitarie:
il trasformatore
d’isolamento
In alcune realtà, nel progettare una rete dati si devono affrontare
problematiche non proprio comuni

Ü di Alberto Rosotti

Introduzione
Le reti Ethernet in rame trasportano i dati all’evoluzione degli standard, confermando
utilizzando basse tensioni elettriche, come nel tempo di essere un ottimo supporto. Il
stabilito dall’IEEE 802.3. In condizioni or- basso costo lo rende conveniente, non solo
dinarie tali tensioni non sono pericolose, ma per realizzare reti dati bensì anche come
negli ambienti sanitari, ove possono essere semplice doppino telefonico (collegando
applicati degli elettrodi sul paziente, la rete una sola coppia di fili ritorti invece delle
dati va progettata con particolari accorgi- quattro coppie), realizzando in tal modo
menti. Questo articolo richiama nozioni un’infrastruttura che al bisogno è già pronta
di cablaggio strutturato, leggi in vigore in per il Voice Over IP, ed è anche in grado di
Italia e tecniche di progettazione, oltre ad trasportare il segnale video in alta definizio-
introdurre un elemento poco conosciuto dai ne (HDTV).
network designer: il trasformatore elettrico In merito all’integrazione, stiamo assistendo
d’isolamento. all’esplosione della domotica, cioè alla possi-
bilità di gestire strumenti elettrici come gli
impianti d’illuminazione, i sistemi antincen-
Verso un sistema di cablaggio dio, di allarme, di irrigazione o di riscalda-
universale mento, solo per citare qualche esempio, di
Se analizzassimo la storia dei progressi avve- industrie, alberghi, ospedali o abitazioni, tra-
nuti negli ultimi 15 anni relativamente al ca- mite un bus dati in bassa tensione che pilota,
blaggio strutturato ci accorgeremmo di come sotto il controllo di un computer, i relè di po-
tra le linee guida ne siano emerse tre: tenza finali. L’integrazione della rete dati con
la rete elettrica ha posto non pochi problemi
· Convergenza; di sicurezza, intesa non solo come sicurezza
· Integrazione; logica legata agli attacchi di virus o hacker,
· Sicurezza. ma anche in termini di sicurezza elettrica e
di conformità alle leggi. Capita, così, che i
Relativamente alla convergenza, abbiamo progettisti di reti ben conoscano i vantaggi
assistito all’utilizzo sempre più diffuso di derivanti da una comune piattaforma di co-
un unico tipo di cavo, l’UTP (Unshielded municazione, in termini di crescita, efficacia
Twisted Pair) per trasportare sia i dati digitali ed efficienza dei processi, ma spesso ignorino
sia il segnale analogico. Tra questi, l’UTP in i potenziali rischi dovuti all’integrazione con
classe 5e si è dimostrato in grado di adattarsi la rete elettrica. Una piattaforma dati comu-

42
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

ne ed aperta si adatta più efficacemente alle esigenze logica: dei nodi collegati fisicamente tra loro a stella
del mercato, mostrando maggiore flessibilità agli possono comunicare sfruttando diversi schemi logici
sviluppi imprevedibili della ricerca, riducendo i costi mentre l’unione dello schema fisico e logico è il punto
di esercizio, con il vantaggio di un controllo centra- di partenza nella progettazione delle reti integrate.
lizzato, vantaggio che da solo spesso ripaga i sacrifici
compiuti nel progettarla in modo convergente ed
elettricamente a norma. Livelli di cablaggio
I prossimi due paragrafi richiamano i concetti di
cablaggio strutturato ed introducono il problema Generalmente, la progettazione di LAN complesse
dell’integrazione con gli impianti elettrici.
FIGURA 1a Topologia d’interconnessione
a stella

La progettazione di
LAN complesse richie-
de generalmente tre
livelli di cablaggio.

FIGURA 1b Topologia d’interconnessione


Il cablaggio strutturato ad anello

Il cablaggio strutturato è un’infrastruttura composta


da elementi attivi e passivi, con lo scopo di far circo-
lare dati, analogici e digitali, tra gli attori delle rete.
La condivisione dei dati si può ottenere in vari modi,
con o senza cavi, mediante schede di rete ed apparati
intermedi di smistamento e controllo (hub, switch,
router, ecc.).
Si parla comunque di interconnessione fisica e di
interconnessione logica: quella fisica riguarda cavi
ed apparati che realizzano le rete, quella logica si rife-
risce al metodo seguito per implementare il flusso dei
dati. Le tre topologie fisiche canoniche sono:

· a stella (Figura 1a);


· ad anello (Figura 1b); FIGURA 1c Topologia d’interconnessione
· a bus (Figura 1c); a bus
ognuna caratterizzata da peculiari vantaggi e svan-
taggi. La topologia più comune è sicuramente la
stella a più livelli, detta anche stella gerarchica o
stella di stelle, che garantisce flessibilità sia in fase
d’installazione sia di ampliamento della rete. L’inter-
connessione logica ha le medesime forme canoniche
di quella fisica, cioè stella, anello e bus; la possibilità
d’implementare una forma logica piuttosto che un’al-
tra dipende sia dai protocolli usati sia dalla topologia
fisica. La topologia fisica a stella, ad esempio, permet-
te di realizzare la maggior parte degli schemi logici richiede tre livelli di cablaggio:
d’interconnessione (utilizzando opportuni switch
programmabili) ed in particolare le tre forme canoni- · cablaggio di piano;
che. D’altro canto, con una rete fisica ad anello non si · cablaggio di edificio;
riescono a fare circolare i dati “peer-to-peer”, come in · cablaggio di comprensorio.
una stella. In sintesi, ciò che mi preme sottolineare, è
che la struttura fisica può non coincidere con quella

43
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

nio o ad un’unica azienda con più domini. Sovente,


per risolvere problemi di distanza, è necessario uti-
lizzare la fibra ottica multimodale (tratte fino a 500
Velocità di cifra e
metri) o monomodale (tratte fino a 50 km) con router
e firewall appositamente programmati. La progetta-
zione del cablaggio di comprensorio prende spesso
larghezza di banda spunto da quella delle reti metropolitane (MAN),
sono due concetti perché ne condivide le esigenze e gli apparati.

che spesso vengono Velocità di cifra e larghezza di banda

confusi Dal punto di vista tecnologico, la progettazione del


cablaggio strutturato è definita a livello internaziona-
le da severe norme di legge. Tutti i componenti, dai
cavi agli switch, sono descritti funzionalmente nelle
Il cablaggio di piano è sinonimo di cablaggio orizzon- normative di riferimento EIA/TIA o ISO/IEC, che
tale, in quanto di norma lo sviluppo dei cavi giace su riguardo le caratteristiche elettriche e le prestazioni
uno stesso piano. Interessa quella parte di rete che va in esercizio. Altrettanto formalmente, sono descritti
dall’utente (presa a muro) fino al primo centro stella, i protocolli che si utilizzano per lo scambio dei dati a
cioè l’armadio di piano più vicino. Normalmente, livello di rete e a livello applicativo: tra questi ricor-
questo cablaggio è realizzato con cavi in rame. diamo i protocolli 802.3 (Ethernet) e 802.11 (Wi-Fi).
Il cablaggio di edificio è sinonimo di cablaggio ver- Al di là delle sigle e delle normative, nell’interazione
ticale, perché collega gli switch posti negli armadi con il committente il progettista concentra spesso
di piano al concentratore principale; è consigliabile l’attenzione su due punti chiave: la larghezza di ban-
realizzarlo con cavi in fibra ottica o di tipo Gigabit da e la velocità, concetti che vale la pena rinfrescare,
rame. perché legati alle prestazioni.
È bene precisare che quanto detto non è un dogma, La velocità di cifra è il numero di bit trasmessi in
e che le regole e le normative ammettono eccezioni: un secondo tra due punti di una rete dati. Si misura
per esempio, a patto che vengano rispettate le distan- in bit al secondo (bps) o con i suoi multipli (Kbps,
ze nei collegamenti, può capitare di realizzare un Mbps, ecc.) e dipende da vari fattori:
cablaggio in rame orizzontale che serva utenti su più
piani, con un unico concentratore per tutto l’edificio. · lunghezza del cavo;
In questo caso si parla ancora di cablaggio orizzontale · rapporto segnale/rumore (S/R);
anche se i cavi percorrono tratte verticali ed i piani · topologia della rete;
sono più d’uno. In modo analogo un piano può essere · schede di rete lato computer;
cablato con due o più cablaggi orizzontali fisicamente · porte lato switch.
separati: ciò può accadere quando il piano è molto va-
sto oppure per ottemperare a precise norme di legge Oltre ovviamente ai protocolli utilizzati. Nella pra-
legate alla sicurezza elettrica. Ciò accade, ad esempio, tica, il tanto amato protocollo Ethernet 10Base-TX
nelle reti dati delle sale operatorie, che devono essere trasmette 10 Mbps mentre l’ultimo nato, denominato
elettricamente isolate: questo è il tema principale del- IEEE 802.3an, che risale a Giugno 2006, raggiunge i
l’articolo e verrà sviluppato nei prossimi paragrafi. 10 Gbps: in altre parole è 1000 volte più veloce.
Il cablaggio di comprensorio è quello che permette La larghezza di banda è l’intervallo di frequenze che
di collegare edifici distanti, facenti capo ad un’unica una rete dati può trasportare mantenendo integro,
infrastruttura logica; per esempio, ad un unico domi- entro certi limiti, il rapporto segnale/rumore. La lar-

TABELLA 1

Standard EIA/TIA Standard ISO/IEC Larghezza di banda Velocità di cifra


(applicazioni supportate)

Categoria 3 Classe C 16 Mhz Ethernet a 10 Mbps

Categoria 5 Classe D 100 Mhz Fast Ethernet a 100Mbps

Categoria 5e Classe D-2000 100 Mhz Gigabit Ethernet a 1 Gbps

Categoria 6 Classe E 250 Mhz Gigabit Ethernet a 10 Gbps

Categoria 6a Classe EA 500 Mhz Gigabit Ethernet a 10 Gbps

Categoria 7 Classe F 600 Mhz Gigabit Ethernet a 10 Gbps

44
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

tutta la larghezza di banda.


FIGURA 2 Collegamento di un paziente ad
un elettromedicale Per tirare le somme, se dovessimo progettare oggi
un’infrastruttura di rete integrata ed universale, sia
in ambiente pubblico sia in una civile abitazione, i
cavi in rame in categoria 6 rappresentano un’ottima
ed economica opportunità, dato che il segnale televi-
sivo HDTV richiede una velocità di cifra attualmente
pari a 2,5 Gbps mentre la telefonia al massimo richie-
de 1 Mbps, e per i dati digitali il Gbps è più che suf-
ficiente. L’unico svantaggio che si ha, rispetto all’uso
dei cavi 5e, è di tipo pratico e lo incontriamo all’atto
della stesa dei cavi dentro le guide corrugate (soprat-
tutto se “sovraffollate”), essendo il cavo in classe 6
più rigido del cavo precedente. Dal versante econo-
mico le ultime quotazioni in mio possesso indicano il
cavo UTP classe 5e a 0,90 Đ/metro e l’UTP in classe 6
a 1,20 Đ/metro (sono prezzi puramente indicativi e al
netto dell’IVA).

Elementi di sicurezza elettrica nelle reti dati


ghezza di banda, in realtà, si esprime in Hertz (cicli sanitarie
al secondo), un’unità di misura ben diversa da quella
usata per la velocità di cifra! È però vero che all’au-
mentare della larghezza di banda aumenta anche la Veniamo ora al cuore dell’articolo, la parte che affron-
velocità di cifra, per cui spesso i due termini si usano ta la sicurezza elettrica delle reti dati. Come sappia-
come sinonimi senza commettere errori “evidenti”: mo, Ethernet utilizza tensioni relativamente basse
comunque chi è alle prese con capitolati o appalti è per trasportare i segnali, dell’ordine di 5 V e correnti
bene che conosca la differenza. di pochi milliampere (per approfondimenti si veda il
protocollo ISO-OSI layer fisico e IEEE 802.3). Fanno
La Tabella 1 elenca la larghezza di banda delle catego- eccezione le tecnologie Power Over Ethernet (PoE),
rie dei cavi più comuni. Esaminando la tabella sono ove per alimentare dispositivi come telecamere, siste-
possibili alcune considerazioni. mi d’allarme ed Access Point sono in gioco tensioni
· Prima considerazione: il cavo in rame di classe 5e di circa 15 V, fornite dagli switch PoE. Certamente
ha larghezza di banda pari a 100 MHz e normalmente anche 15 Volt non costituiscono un pericolo per un
viene utilizzato con velocità di cifra pari a 100 Mbps. individuo adulto che tocca un cavo Ethernet con un
Nulla vieta, però, di trasmettere dati a 300 Mbps su dito (quindi il bus dati della casa “demotica” non de-
una banda di 100 Mhz! La riuscita, in genere, dipen- sta problemi). Ma pensiamo cosa potrebbe accadere
de dalle schede di rete, dal rapporto segnale/rumore se 5 Volt raggiungessero direttamente il cuore di un
che si vuole mantenere, dai requisiti del capitolato, uomo. L’articolo illustrerà come evitare che ciò acca-
dalla lunghezza dei cavi, ecc. da, descrivendo un dispositivo detto trasformatore
· Seconda considerazione: un cavo in rame in classe d’isolamento. Prima però, dobbiamo soffermarci su
6A ha larghezza di banda pari a 500 MHz e spesso alcune considerazioni propedeutiche legate al mondo
viene usato per trasmettere dati ad 1 Gbps; anche in della Sanità, che possono rivelarsi utili a tutti i pro-
questo caso nulla vieta, anzi è la norma, di trasmettere gettisti in qualunque situazione.
dati ad una velocità di cifra inferiore, per esempio 100
Mbps. Molto più spesso di quanto si creda le reti dati Le reti dati nei locali medici seguono criteri di
vengono sovradimensionate in fase di progettazione e progettazione particolari, perché tali sono i pazienti
realizzate in classi che permetterebbero una velocità rispetto alle persone in buona salute. I locali medici
di cifra superiore alla velocità degli switch! In nome sono sovraffollati di apparecchi elettrici, più propria-
di un’espandibilità che non verrà mai sfruttata. Ho mente detti apparecchi elettromedicali, destinati alla
incontrato spesso queste realtà, sopratutto … quando diagnosi ed alla terapia. Questi hanno trovato lar-
il denaro è pubblico. ghissima diffusione, perché il corpo umano ha natura
· Terza considerazione: sia la categoria 5 sia la cate- elettrochimica e dunque l’elettricità è il veicolo ideale
goria 5e hanno la stessa larghezza di banda; ma la 5e, d’interazione. La maggior parte degli elettromedicali
molto più utilizzata, può raggiungere velocità 10 vol- sono collegati sia al paziente (per esempio elettrodi
te maggiori. La differenza tra le due categorie risiede per l’elettrocardiogramma (ECG), l’elettroencefalo-
nelle caratteristiche dei parametri elettrici, che per la gramma (EEG) o la saturazione d’ossigeno nel san-
5e sono molto più restrittivi: in altre parole, il cavo gue), sia alla rete dati. Nell’uso degli elettromedicali
5e deve superare prove più selettive e deve fornire, il pericolo può venire sia per mancanza di corrente
rispetto al fratello minore, prestazioni maggiori su (la legge prevede l’uso di gruppi UPS e di gruppi elet-

45
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

FIGURA 3a Percorso della corrente di


dispersione in condizioni ordinarie

Obiettivo del
“network designer”
sanitario è realizzare
una rete affidabile e
che non causi danni
da microshock

tramite elettrodi o altre terminazioni conduttive


(Figura 2).

Come aggravante, la dispersione potrebbe capitare


quando il paziente è anestetizzato, condizione an-
cora più pericolosa sopratutto se gli elettromedicali
sovrintendono a funzioni vitali, come la respirazio-
ne assistita.
Tra tutti i pericoli quello maggiore è costituito dal
cosiddetto microshock, una scarica elettrica che
raggiunge il cuore o il cervello, per esempio attra-
FIGURA 3b Percorso della corrente di verso l’elettrodo di un pace-maker o un catetere
dispersione in un paziente collegato ad un per angioplastica. In questi casi, anche una piccola
elettromedicale corrente di dispersione di uno switch può essere fa-
tale, e proprio perché piccola e difficile da rilevare.
Infatti, mentre in una persona sana in condizioni
ordinarie il limite di pericolosità della corrente
elettrica stabilito per legge è dell’ordine di 10 mA
(milliampere), se tale corrente dovesse raggiunge il
miocardio di un paziente in sala operatoria potreb-
be indurre la fibrillazione ventricolare e determi-
nare la morte: da qui il nome di microshock (Fi-
gura 3a). Per gli apparecchi elettrici d’uso comune
(lavapiatti, asciugacapelli, switch, computer, ecc.)
è ammessa una corrente di dispersione di 0.5 mA
perché non è neppure avvertibile in condizioni
ordinarie; per tale ragione gli interruttori differen-
ziali (i cosiddetti salvavita) installati nelle case sono
tarati su questo valore. Ma la corrente che colpisce
direttamente al cuore è mille volte più pericolosa di
quella che arriva all’estremità di un arto, perché i
tessuti tra l’estremità dell’arto ed il cuore fungono
da isolante (Figura 3b).

Per quanto detto, una rete dati realizzata a regola


d’arte in un’abitazione o in una fabbrica potrebbe
essere molto pericolosa e non a norma in un locale
sanitario; per questo motivo gli impianti elettrici,
trogeni), sia per una scarica elettrica indesiderata sul ed in particolare le reti dati nei locali medici, possono
paziente. Nel merito della rete dati, la scarica elettri- essere progettate solo da professionisti iscritti all’albo
ca potrebbe nascere dalla dispersione di uno switch, (DPR 447/91 art.4 comma 1) secondo le norme CEI
dispersione che potrebbe riversarsi sullo strumento 0-2, utilizzando negli elaborati esecutivi appositi sim-
elettromedicale e da questo al paziente, se collegato boli grafici (DPR 447/91 art4 comma 2).

46
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

FIGURA 4 Fotografia del trasformatore applicate sulla pelle (skin


d’isolamento in uso nel Pronto Soccorso detector). Per questo moti-
dell’Ospedale di Pesaro vo, è indispensabile che il
network designer conosca
alcuni principi della fisica
e lavori a stretto contatto
con l’ingegnere elettrico.
Partendo dal presupposto
che è impossibile realizza-
re una rete dati in grado
di garantire l’assenza di
dispersioni di corrente, la
mossa vincente è fare sì
che quando queste avven-
gono, non si scarichino sul
paziente. Dobbiamo cioè
ricreare quella situazione
che salva la vita ai piccioni
quando si posano su un
cavo dell’alta tensione! E
dobbiamo utilizzare tale
espediente per mettere in
sicurezza il paziente. Una
volta imparato il trucco
possiamo usarlo sempre:
nella pratica lo si usa solo
quando la legge lo impone,
perché la sua attuazione
comporta costi aggiuntivi
ed il fattore economico è
Prima di affrontare la progettazione, che vedremo nel troppo spesso l’ago della bilancia nella scelta tra un
prossimo paragrafo, è bene sapere che i locali medici progettista ed un altro.
si classificano in tre gruppi, in base al tipo di apparec- Il trucco sta nell’alimentare tutti gli apparati elettrici
chi elettromedicali impiegati (norma CEI 64-8/7 art. del locale sanitario con il trasformatore d’isolamento,
710.2 5,6,7). Questi tre gruppi sono: uno strumento che disaccoppia (isola) gli elettroni
della rete elettrica principale (quella dell’Enel o di al-
1. Locali di gruppo zero: nei quali non si utilizzano tro fornitore di energia elettrica, tanto per intenderci)
apparecchi elettromedicali con parti applicate al pa- da quella usata nel locale sanitario (Figura 4).
ziente (per esempio un termometro a raggi infrarossi
che sfiora solo la fronte del paziente); L’avvolgimento primario è collegato alla rete elet-
trica cittadina, mentre l’avvolgimento secondario è
2. Locali di gruppo uno: nei quali si utilizzano ap- collegato all’impianto elettrico del locale sanitario.
parecchi elettromedicali con parti applicate esterna- In realtà, il primario viene collegato ad un UPS che
mente al paziente, oppure invasivamente all’interno a sua volta è a valle del gruppo elettrogeno che è col-
del paziente con esclusione della zona cardiaca (per legato alla rete elettrica cittadina (Figura 5). I due
esempio un ECG su rete IP); avvolgimenti sono isolati: tra essi non c’è scambio
di elettroni. La corrente alternata che scorre nel-
3. Locali di gruppo due: nei quali si fa uso di elettro- l’avvolgimento primario (220 V / 50 MHz) produce
medicali con parti applicate in interventi intracardia- un campo elettromagnetico variabile che genera per
ci o in operazioni chirurgiche (per esempio il catetere induzione la corrente nell’avvolgimento secondario
di un pace-maker). (per approfondimenti è opportuno un ripasso della
Legge di Faraday). Otteniamo così un circuito d’ali-
mentazione secondario con una differenza di poten-
Il trasformatore d’isolamento ziale “sospesa”: in tal modo le eventuali dispersioni
non si scaricano più verso terra attraverso il paziente.
L’obiettivo del “network designer” sanitario non è Inoltre, la massa del circuito secondario è collegata
solo realizzare una rete affidabile con alta velocità all’isolamento del trasformatore.
di cifra, bensì anche di non causare danni da micro-
shock. I danni, intesi come lesioni al paziente, posso-
no nascere quando la rete dati viene collegata diret- Reti dati tradizionali vs. reti con
tamente al corpo (o tramite l’elettromedicale), come trasformatore d’isolamento
accade con gli ECG che hanno piastrine conduttrici È istruttivo capire cosa accade nelle reti dati tradizio-

47
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

FIGURA 5 Schema di collegamento tra impianto elettrico e rete cittadina

nali e cosa in quelle dotate di trasformatore d’isola- tradizionale con il trasformatore d’isolamento. In
mento. Nelle reti dati tradizionali gli switch sono ali- tal modo, una dispersione di corrente che arrivi al
mentati dalla rete elettrica mediante due conduttori: cuore di un paziente non lo attraverserà, perché non
una fase (solitamente di colore nero, bianco o grigio) cercherà di scaricarsi a terra. Infatti, la corrente di
ed un neutro (colore blu); inoltre sono collegati a dispersione si scaricherà verso il suo neutro, che è
terra da un cavo di colore giallo-verde. Se lo switch collegato al trasformatore d’isolamento e che non
si guasta, i 220 V potrebbero disperdersi sulla sua passa certamente per il corpo del paziente.
scocca (o peggio sul cavo UTP): chi tocca lo switch Inoltre, tutti i trasformatori d’isolamento sono dotati
chiude con il proprio corpo il circuito verso terra! per legge di un sistema d’allarme acustico e luminoso
Il neutro dell’alimentazione elettrica tradizionale è (una vera sirena posta dentro al locale alimentato dal
infatti a terra (chi dispone di un tester può verifica- trasformatore) che avvisa immediatamente dell’esi-
re che benché la tensione sia alternata, uno dei due stenza di una dispersione, senza peraltro bloccare il
conduttori del circuito elettrico di casa è a potenziale flusso di corrente, come fa il salvavita nelle abitazioni
zero) e così facendo viene attraversato da una corren- (detto tecnicamente “interruttore differenziale”, che
te elettrica. Se mettessimo ai nostri piedi un bel paio analizza costantemente la corrente che esce dalla fase
di zoccoli in legno perfettamente isolanti, il circuito ed entra nel neutro: se c’è una differenza maggiore di
rimarrebbe aperto e saremmo salvi. Per questo moti- una tolleranza prefissata interrompe il flusso di cor-
vo gli elettricisti usano scale di legno, e per lo stesso rente. Queste differenze sono dovute alle dispersioni
motivo i piccioni non vengono arrostiti sui cavi: i di elettroni che in casi normali non si devono verifi-
10.000 volt dell’alta tensione non si scaricano sul care, perché tanti elettroni devono uscire da un polo
corpo dei piccioni perché la corrente non ha motivo della presa quanti ne devono entrare nell’altro).
di scorrere in essi (come è noto, la corrente elettrica Questo accorgimento è indispensabile per non far
è costituita da elettroni che fluiscono dal potenziale mancare l’alimentazione ad apparecchi elettromedi-
più alto a quello più basso, esattamente come l’acqua cali di supporto alle funzioni vitali. La sirena è tacita-
scorre dalle quote alte verso quelle basse). bile, la luce no: in tal modo i chirurghi hanno tempo
Ora, non potendo isolare una sala operatoria (che è per continuare ad operare e chiamare immediata-
fatta di mattoni e cemento) o sospenderla nel vuoto, mente l’elettricista di turno per riparare il guasto.
la soluzione più semplice è realizzare una rete elet- Nei locali sanitari di gruppo due (sale operatorie,
trica dedicata al locale medico, isolandola da quella terapie intensive, UTIC, ecc.), le norme CEI EN

48
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

FIGURA 6 Schema di collegamento tra impianto elettrico e rete cittadina

61558-1 prescrivono che i trasformatori d’isolamento Isolare la rete dati dalla LAN
siano raffreddati ad aria, abbiano una tensione non
superiore a 250 V, abbiano un doppio isolamento Abbiamo detto che nei locali medici di gruppo 2 dob-
rinforzato tra gli avvolgimenti e fra questi e le masse biamo collegare gli apparecchi elettrici al trasforma-
dall’apparecchiatura, abbiano una potenza compresa tore d’isolamento per evitare lesioni al paziente, ma
tra 0,5 KvA e 10 KvA. Inoltre, consigliano d’installa- i lettori più attenti avranno notato che c’è ancora un
re un sensore della temperatura all’interno del cabi- problema: la rete dati del locale sanitario deve essere
net del trasformatore, in grado di attivare un allarme collegata anche al resto dell’ospedale tramite la LAN
acustico.

FIGURA 7 Fotografia di due trasformatori d’isolamento con i relativi quadri elettrici.

49
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge

e questo collegamento fa venir meno l’isolamento. switch avremmo perso l’isolamento elettrico: la
Per risolvere il problema ci sono due soluzioni: o ri- corrente di dispersione di un trasformatore potrebbe
nunciamo a collegare la rete dati del locale sanitario riversarsi sull’altro tramite lo switch, passando per
alla LAN, oppure la colleghiamo tramite la fibra otti- il paziente che farebbe da ponte, ed avremmo perso
ca. Visto che la prima soluzione è spesso impraticabile l’effetto “piccione”.
(perchè nelle sale operatorie si ha la necessità di avere Un metodo alternativo, per evitare che la rete dati
dati in tempo reale provenienti dal laboratorio d’ana- infici l’isolamento elettrico senza usare uno switch
lisi, dalla sala TAC oppure di richiedere la “second con porte in fibra GBIC per ogni trasformatore, è
opinion” con il teleconsulto via Internet), si attua la concentrate tutta la rete dati su un unico switch, con
seconda soluzione utilizzando switch con una (o due sole porte in fibra ottica. Questo comportamento
per ridondanza) porte in fibra ottica (le GBIC) che potrebbe essere giustificato anche dalle maggiori pre-
disaccoppiano il segnale elettrico da quello ottico. La stazioni della rete in fibra rispetto a quella in rame.
fibra di vetro trasporta solo fotoni che non possono Ci sono però quattro svantaggi che lo rendono scon-
in nessun caso scaricare a terra l’eventuale corrente veniente da adottare:
derivante da una dispersione e d’altro canto non pos-
sono trasferire sul paziente un’eventuale corrente di 1. La fragilità dei cavi in fibra, che mal si prestano a
dispersione proveniente dalla LAN. situazioni d’emergenza in cui è preferibile disporre
di cavi in rame flessibili, in grado di seguire gli stru-
menti, di essere calpestati o ritorti attorno o dentro
Come disaccoppiare le reti multiutente gli stativi (bracci o snodo che scendono dal soffitto);

In una sala operatoria con un solo letto è relativa- 2. l’obsolescenza di alcuni apparecchi elettromedica-
mente semplice disaccoppiare la rete elettrica e la rete li, che necessariamente richiedono il cavo in rame;
dati interna da quella esterna, usando il trasformatore
d’isolamento ed uno switch con unlink in fibra. 3. la praticità e la sicurezza dall’innesto RJ45 a baio-
Il problema si complica quando si devono realizza- netta, rispetto alla boccola della fibra ottica;
re impianti elettrici e reti dati in sale con più letti,
come le terapie intensive o il pronto soccorso. In 4. L’elevato costo dello switch in fibra, che oltretutto
questo caso ci sono due soluzioni: o si usa un unico è necessario acquistare in due esemplari per ottenere
trasformatore d’isolamento per tutta l’area, oppure la ridondanza.
si realizzano delle aree elettricamente isolate con un
trasformatore per ogni area, facendo in modo che la È pur vero che i punti uno e due si potrebbero ri-
parte elettrica afferente ad un trasformatore sia isola- solvere dotando ogni letto di un trasduttore optoe-
ta da quelle afferenti agli altri (Figura 6). lettronico (convertitore di segnali da ottico a rame
e viceversa), ma questi dovrebbero essere alimentati
Avendo i trasformatori un amperaggio massimo fis- dal trasformatore d’isolamento e costituirebbero un
sato per legge, ed essendo tanti gli elettromedicali altro “point of failure”, che si tende ad evitare negli
in uso, quando gli ospedali non hanno problemi di ambienti sanitari.
budget usano un trasformatore per ogni letto (crean-
do tante aree quanti sono i letti), ma quando i soldi Conclusioni
mancano al progettista è richiesto di accorpare elet-
tricamente due o tre letti. La legge stabilisce che at- Può capitare che giungano in pronto soccorso pazien-
torno al paziente si deve creare un’area elettricamente ti, pensando che ad accogliergli ci sia lo staff di ER,
isolata con un margine di 1,5 metri in orizzontale e con George Clooney in camice bianco. Ed essendo
2,5 metri in verticale. La distanza orizzontate può caricate di un notevole stato d’ansia, non tollerano ri-
essere usata come riferimento per posizionare le pre- tardi e pretendono d’essere visitate subito, senza con-
se a muro, mentre la distanza verticale è importante siderare che la fila viene servita per urgenza, non per
perché spesso i pazienti sono monitorati da telecame- ordine d’arrivo. Inevitabilmente, infermieri e medici
re a circuito chiuso poste sopra i letti e collegate ad vengono criticati, e qualcuno da troppo in attesa im-
uno switch dedicato al segnale video: se le webcam preca contro la malasanità. Permettetemi di spezzare
sono poste a più di 2,5 metri dal paziente possiamo una lancia a favore degli infermieri; quegli “angeli”
usare un unico switch in rame, mentre se il soffitto che quando si guasta una presa elettrica si rifiutano
è più basso, dobbiamo applicare le medesime consi- di usare quella attigua, facendo perdere le staffe a chi
derazioni fatte per gli elettromedicali (sopratutto se pensa si tratti della solita incomprensibile inefficien-
il circuito TVCC è PoE). Riassumendo, in ogni area za pubblica: stanno solo tentando di salvarci la vita, e
elettricamente isolata dobbiamo installare come mi- i network designer ne comprendono i motivi!
nimo uno switch con uplink in fibra, un trasformato-
re d’isolamento ed un quadro elettrico dedicato con Note Biografiche
sezionatori di fase e differenziali (Figura 7).
Alberto Rosotti è consigliere dell’Ordine degli Ingegneri di Pe-
Quest’ultima considerazione è fondamentale, perché saro. Attualmente fa parte dello staff Sistemi Informativi del-
se collegassimo due aree afferenti a trasformatori l’Ospedale della sua città.
d’isolamento diversi con cavi in rame su un unico

50
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

Accesso esterno
sicuro:
sottoreti Windows e
VPN
Realizzare un accesso remoto trami- Ü di Filippo Martinelli
te VPN è un compito concettualmente
semplice ma che può riservare amare
sorprese e noiosi inconvenienti nella
fase di messa a punto. Questo articolo
è un resoconto dettagliato di un caso
reale di media complessità per la cui
risoluzione sono stati necessari studio,
ricerca, perseveranza ed intuito.

Ogni azienda o organizzazione ha ormai al di manutenzione e di taratura. Si è poi appu-


proprio interno numerosi applicativi softwa- rato che in effetti richiedevano il controllo
re, utilizzati sia per le attività inerenti al core completo della macchina attraverso una ses-
business, sia nei servizi, come ad esempio la sione di desktop remoto con un utente del
gestione della contabilità o del personale. Se gruppo Administrators!
nel passato, specie per le aziende di dimen- La dirigenza, informata dei potenziali ri-
sioni minori, la manutenzione e l’aggior- schi, ha approvato la richiesta per tutelare
namento di questi applicativi era affidata a l’investimento effettuato, e mi ha affidato
fornitori vicini nel territorio che prestavano l’incarico esecutivo, chiedendomi di pren-
la loro attività recandosi fisicamente dal dere tutte le misure necessarie per tutelare
cliente, oggi la tecnologia permette di lavora- la sicurezza.
re da remoto con altrettanta efficacia. Conce- Ho colto l’occasione per cercare di sistemare
dere un accesso esterno ai server è comunque anche un altro server, denominato Luxp8,
un’operazione che pone seri interrogativi in fino a quel momento posizionato all’interno
termini di sicurezza informatica. L’approccio della LAN ed accessibile da remoto da un’al-
di riporre cieca fiducia nel fornitore incarica- tra azienda fornitrice attraverso una linea
to della manutenzione espone a rischi troppo telefonica dedicata ed un modem.
alti: vanno quindi individuate soluzioni Il primo passo è stato isolare le macchine
architetturali in grado di limitare al minimo in telemanutenzione dal resto della LAN
indispensabile le attività disponibili e i ser- creando una sottorete dedicata, secondo lo
ver visibili attraverso l’accesso remoto. schema logico riportato in Figura 1. Esisteva
già una DMZ, riservata ai web server, ma ho
voluto creare una nuova area, la DMZ_2, sia
Creazione di una sottorete per avere un controllo più rigido sulla comu-
nicazione tra le varie interfacce del firewall
Un paio di mesi or sono, ci è stato consegnato (abilitando solo le porte indispensabili per i
un nuovo server, denominato Efforts, su cui servizi di interesse) sia per evitare che troppi
era installata un’applicazione molto impor- server potessero essere compromessi in un
tante per il core business. Improvvisamente, colpo solo in caso di attacco.
è arrivata dai fornitori addetti alla manuten- Ho iniziato a cercare su Internet della docu-
zione la richiesta di poter accedere al server mentazione relativa ad un dominio Windows
attraverso Internet, per le necessarie attività diviso in sottoreti diverse ed ho trovato due

52
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

documenti: tato sul firewall le porte ed i protocolli secondo quan-


to riportato in Tabella 1, cominciando a fare degli
· Active Directory in Networks Segmented by esperimenti. I risultati, come mi aspettavo, non sono
Firewalls [1] stati subito positivi.
· How to configure a firewall for domains and trusts Come spiegato in [2] è necessario permettere le richie-
[2] ste ICMP verso i Domain Controller, in quanto que-
sto protocollo è utilizzato dal Sistema Operativo per
Il primo, che dal titolo sembrava molto prometten- determinare se il link è “lento” o “veloce”. Inoltre, le
te, dopo una breve ed incompleta trattazione delle group policy non venivano processate: il meccanismo
porte e dei protocolli da abilitare sul firewall per implementativo prevede infatti richieste sulla porta
permettere il colloquio dei vari client con il Domain 135 (RPC) con allocazione dinamica di un’altra porta
Controller, si è rivelato un documento sull’utilizzo per creare il canale di trasmissione.
e la configurazione di IPSEC per stabilire canali di In base alle indicazioni contenute in How to con-
comunicazione sicuri. Non l’ho giudicato utile per le figure RPC dynamic port allocation to work with
seguenti considerazioni: firewalls [3] ho allora modificato il registry dei
Domain Controller, in modo da restringere il range
1. L’utilizzo di un semplice switch eviterà di poter di allocazione dinamica delle porte ed abilitare solo
catturare ed analizzare il traffico di rete delle macchi- tale range sul firewall.
ne presenti; inoltre, essendo fisicamente inaccessibile Raggiunto il corretto funzionamento e consideran-
ad estranei, non sarà possibile effettuare attacchi del do sia la complessità introdotta, sia il numero e la
tipo “Man in the middle”, in cui un computer intruso tipologia di porte che avevo dovuto aprire tra le due
cerca di assumere l’identità di un membro della rete. sottoreti, ho cominciato a soppesare i vantaggi e gli
svantaggi di questa soluzione rispetto a togliere dal
2. Un utente non autorizzato che riuscisse a prendere dominio le macchine in DMZ_2. Le mie considera-
il controllo di una macchina non sarebbe in alcun zioni sono riportate nella Tabella 2 ed alla fine, visto
modo ostacolato dal fatto di aver protetto parte del che le macchine nella sottorete erano soltanto due e
traffico con IPSEC. le configurazioni non troppo complesse, ho giudicato
più conveniente separarle dal dominio per poter ope-
Dopo aver predisposto la sottorete DMZ_2 ho abili- rare un controllo più rigido e selettivo nelle comuni-

FIGURA 1 Architettura logica del sistema diviso in sottoreti

53
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

TABELLA 1 Regole di transito tra DMZ_2 e le altre sottoreti

Regole di transito tra Lan e Dmz_2

Funzione Direzione Protocollo e porte Note

Gestione antivirus Dmz_2 -> Lan Tcp 80 e 4343 Accesso limitato al solo DC

Utilizzo di WSUS Dmz_2 -> Lan Tcp 8080 Accesso limitato al solo DC

Accesso a SqlServer Dmz_2 -> Lan Tcp 1433 Limitato alla coppia luxp8, lu2003se1

Accesso a SqlServer Lan->Dmz_2 Tcp 1433 Qualsiasi client in Lan

Cartelle condivise Lan->Dmz_2 Tcp 445, Tcp 139, Udp Accesso alle cartelle condivise anche
137, Udp 138 dal client legacy Win98

Richiesto da antivirus Dmz_2 -> Lan ICMP Limitato al solo DC

Richiesto da antivirus Lan->Dmz_2 Tcp 58662

Regole di transito tra Dmz_2 e Dmz

Funzione Direzione Protocollo e porte Note

Trasferimento file sui web Dmz_2 -> Dmz Ssh, ftp e http Limitata ai soli web servers
servers

Accesso internet Dmz_2 -> Dmz Tcp 8080 Accesso al proxy server

Regole di transito tra Dmz_2 ed interfaccia di uscita

Funzione Direzione Protocollo e porte Note

Upload e download files Dmz_2 -> out ftp

Risoluzione nomi Dmz_2 -> out dns

Servizio ora Dmz_2 -> out ntp

cazioni con la LAN. la possibilità di prendere il possesso dei file e di mo-


dificare le ACL, qualsiasi sia la loro configurazione
Rimuovere una workstation o un server dal di partenza (scongiurando quindi il pericolo di non
dominio poter più accedere a dati di interesse), è possibile pre-
venire l’insorgere di simili problematiche, evitando
così la comparsa di misteriosi numeri del tipo
La rimozione di una workstation dal dominio è una
operazione un po’ più complessa di quanto possa s-1-12345-6789 …
sembrare (se si vogliono fare le cose a modo). L’utente
di dominio, che fino a quel momento ha operato sulla (ossia i SID di utenti non più riconosciuti dal sistema)
macchina, possiede sia dati propri sia configurazioni nella finestra delle proprietà (scheda dei permessi).
personalizzate delle varie applicazioni: per una tran- Utilizzando subinacl, un tool distribuito e supportato
sizione indolore è bene operare una copia del profilo da Microsoft, è possibile fare una scansione di tutto il
su un nuovo utente locale, appositamente creato se- contenuto di un disco e sostituire, nelle ACL, il SID
condo la procedura descritta e spiegata nel Riquadro di un utente con quello di un altro. Nel caso in esame,
1. Inoltre, l’utente può aver creato, e quindi essere il da shell DOS si può lanciare un comando del tipo:
proprietario (owner) di altri file presenti sul disco ri-
gido; o può aver cambiato qua e là le ACL (i permessi C:> subinacl /outputlog=out.doc
di accesso) per evitare che altri potessero vedere o /errorlog=err.doc
modificare documenti riservati: nel momento in cui /subdirec \\nomeHost\c$\*.*
la macchina viene rimossa dal dominio, l’utente non /replace=nomeDominio\utenteDominio=nomeHost\
sarà più riconosciuto come utente valido! Ma il suo utenteLocale
SID (security identifier) continuerà ad esistere nelle /pathexclude=”Documents and Settings”
ACL, senza la possibilità di risolverlo in un nome
intelligibile. Sebbene l’amministratore locale abbia Dalla LAN è necessario accedere al contenuto di

54
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

RIQUADRO 1 Passi consigliati per la copia di un profilo FIGURA 2 Finestra Gestione nomi utente e
password archiviati in sottoreti

La copia del profilo consiste nel duplicare il contenuto del-


la cartella dell’utente X presente nella directory Documents
and Settings in quella dell’utente Y. In questo modo Y si tro-
verà ad avere le stesse chiavi di registro HKey_Current_User
di X, corrispondenti ad impostazioni personalizzate del Si-
stema Operativo e degli applicativi, lo stesso desktop, gli
stessi documenti, la stessa configurazione di Internet Explo-
rer e dei Preferiti, lo stesso menu di avvio. I passi da seguire
sono i seguenti:

1. È conveniente, come primo passo, eliminare il contenuto


della cache di Internet Explorer dell’utente X in modo da
aver meno file da copiare.

2. Occorre accedere alla macchina utilizzando l’utente Y: ciò


creerà la cartella personale dell’utente Y.

3. Riavvio della macchina: questo passo evita di trovare


profili “bloccati” perché il loro rilascio non è stato gestito
correttamente dal Sistema Operativo alla disconnessione
dell’utente. La pratica insegna che è un passo quasi sempre
indispensabile.

4. Si accede alla macchina con un terzo utente che abbia di-


ritti di amministratore e si copia il profilo di X nella cartella
personale di Y, ricordandosi di assegnare ad Y il possesso di
tali file.

5. La necessità di agire con il terzo utente è legata al fatto che


altrimenti alcuni file personali sarebbero bloccati perché in
uso da parte del Sistema Operativo. Luxp8 ed Efforts (Figura 2), in modo del tutto traspa-
rente a chi è seduto davanti alla workstation.

Risoluzione dei nomi

Ssubinacl è un tool
Ognuno di noi sa bene quanto sia più facile collegarsi
alle risorse di rete utilizzando il nome mnemonico
supportato da Mi- del server remoto piuttosto del corrispondete indiriz-
zo IP: ciò, in una rete Windows, è reso possibile sia
crosoft per sosti- dal protocollo NETBIOS (che, quando abilitato, ese-
gue un broadcast del nome della macchina in modo
tuire, nelle ACL, il che sia conosciuto e registrato dagli altri computer),
sia dal DNS, componente fondamentale all’interno
SID di un utente con di un dominio basato su Active Directory. Visto che
i server in DMZ_2 non fanno parte del dominio, il
quello di un altro. DNS integrato in Active Directory non registra au-
tomaticamente i loro nomi; né è possibile risolverli
tramite NETBIOS, visto che i pacchetti broadcast
non transitano tra sottoreti diverse. È perciò utile un
elenco di tutte le necessità relative alla risoluzione di
nomi per trovare una soluzione idonea:
cartelle condivise in DMZ_2: allo scopo si creano
due nuovi utenti locali, chiamiamoli lettore e scrit- 1. Dalla LAN è necessario accedere ai server in
tore, con permessi, rispettivamente, di sola lettura e DMZ_2: per farlo, è sufficiente aggiungere a mano
lettura/scrittura sulle aree in condivisione. Tramite la dei record host nel DNS.
gestione delle password di rete, disponibile in Win-
dows XP, si configurano su alcune macchine della 2. Il server Efforts, per le sue elaborazioni, deve po-
LAN le credenziali per poter autenticarsi sui server tersi collegare ad una serie di server FTP in Internet,

55
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

TABELLA 2 Vantaggi e svantaggi di un dominio esteso in DMZ_2

Unico dominio Dmz_2 fuori dal dominio

Tramite GPO comuni a tutto il dominio vengono Le configurazione devono essere replicate a mano,
impostati alcuni parametri fondamentali come il proxy eventualmente importando opportune chiavi di registro.
per l’accesso internet, la modalità di lavoro del servizio di
aggiornamento automatico (che nel caso in esame utilizza
WSUS) ecc.

Alcune GPO mappano come unità di rete delle cartelle


condivise presenti su alcuni server e contenenti dati
riservati agli utenti della lan. La loro applicazione in dmz_
2 è quindi solo dannosa.

Accesso a cartelle condivise con le credenziali utilizzate in Per accedere a cartelle condivise su macchine in dmz_2 è
fase di login. necessario fornire le credenziali di un utente locale.

L’ora corrente è la stessa su tutte le macchine

La risoluzione dei nomi è affidata a DNS integrati in active Occorre predisporre un idoneo sistema di risoluzione dei
directory che registrano automaticamente i nomi delle nomi in dmz_2 e registrare manualmente i nomi delle
macchine in dmz_2. macchine sul dns del dominio.

tramite il rispettivo nome pubblico. Nelle proprietà nesso uno sniffer (ethereal). Così facendo, è risultato
TCP/IP della connessione di rete basta allora impo- che le richieste di connessione arrivavano corretta-
stare i DNS forniti dal provider internet. mente a Luxp8 dalla LAN, ma non veniva data alcu-
na risposta. Che fare?
3. Sia Efforts, sia Luxp8, si collegano ad una serie li- La prova effettuata da Efforts non lasciava dubbi sul
mitata di macchine della DMZ e della LAN. Tramite corretto funzionamento del servizio di condivisione;
il file hosts (memorizzato nella directory %windir%\ così come quella con lo sniffer evidenziava che il pro-
system32\drivers\etc) è possibile inserire un elenco blema era su Luxp8.
di associazioni indirizzo IP/nome mnemonico. Ov- Su quest’ultimo, era attivo il firewall integrato di
viamente, tutte le macchine dell’elenco devono avere Windows e per scrupolo ne ho abilitato il log: è ri-
un IP statico; la flessibilità garantita dal DNS o da sultato che era proprio questo componente a scartare
NETBIOS in combinazione con il DHCP che si ha i pacchetti provenienti dalla LAN, a causa di un pa-
per i client della LAN non può essere raggiunta. rametro di configurazione che fino a quel momento
non avevo mai notato. Il servizio era sì aperto alle ri-
Da quanto esposto sinora, si evince che con configu- chieste esterne, ma solo a quelle provenienti dall’am-
razioni non troppo impegnative è possibile evitare bito locale (Figura 3); quando si lavora con un’unica
che le macchine in DMZ_2 debbano accedere al sottorete, come nel caso di piccole e medie reti da
DNS nella LAN. In tal modo, le policy di transito sul ufficio, queste problematiche non emergono, e posso-
firewall possono essere ristrette in modo da garantire no disorientare il sistemista quando si manifestano.
un maggior isolamento tra le due aree. Un’altra sorpresa è venuta da un client legacy con
sistema operativo Windows 98, dotato di una vecchia
Condivisione file applicazione di visualizzazione che utilizza come
sorgente dati un file su Luxp8. Il servizio di con-
Come si è accennato prima, entrambe le macchine in divisione file utilizza le porte NETBIOS 137, 138 e
DMZ_2 hanno delle cartelle condivise che devono 139, e quindi non è rimasta altra scelta che aprirle sul
essere visibili dalla LAN. Questo servizio è disponi- firewall. Per inciso, aggiungo che i sistemi operativi
bile sulla porta 455 che quindi dovrà essere aperta sul Windows 2000 e Windows XP (proprio per compati-
firewall in modo unidirezionale, da LAN a DMZ_2. bilità con le precedenti versioni) hanno abilitato di
Dopo aver effettuato le necessarie configurazioni, il default anche le porte NETBIOS e quindi gestiscono
primo tentativo di instaurare una connessione dalla in modo trasparente all’utente le richieste provenien-
LAN a Luxp8 è miseramente fallito, mentre funzio- ti da computer con Win98: questo comportamento
nava correttamente da Efforts, posizionato nella sua può essere modificato tramite le proprietà avanzate
stessa sottorete. Era forse sbagliata la regola imposta- del protocollo TCP/IP nella scheda WINS.
ta sul firewall?
In simili circostanze, per isolare il problema, è utile
eseguire una cattura dei pacchetti che transitano in Gestione degli aggiornamenti di sistema
rete, per poi procedere ad una loro analisi: pertanto,
ho configurato lo switch in modo che replicasse il Gli aggiornamenti critici e di sicurezza del sistema
traffico di interesse su una porta, porta a cui ho con- operativo vengono approvati ed installati tramite

56
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

FIGURA 3 Finestre per l’amministrazione del firewall di Windows

WSUS, uno dei prodotti gratuiti sviluppati da Mi- una sottorete diversa rispetto ai client e quindi ho
crosoft per soddisfare le esigenze di amministrazione proceduto con le conoscenze pregresse, e con un ap-
centralizzata degli aggiornamenti per piccole e medie proccio “per induzione ragionata”. OfficeScan ha la
reti. I client sono istruiti ad avvalersi di WSUS trami- veste di una Web application che si appoggia ad IIS
te un opportuna GPO, che stabilisce sia le modalità e rende disponibile, tramite collegamento HTTPS
di aggiornamento sia l’indirizzo del server e la porta sulla porta 4343, sia un’interfaccia amministrativa sia
su cui lavora. Sebbene WSUS sia installato su un l’installazione, tramite il browser, della parte client.
Domain Controller, può comunque lavorare senza Quest’ultima recupera gli aggiornamenti dei pattern
appoggiarsi ad Active Directory, e quindi è in grado dei virus collegandosi alla porta 80 del server e vie-
di gestire anche computer che non fanno parte del ne interrogata sullo stato corrente tramite la porta
dominio, come quelli in DMZ_2. 58662. Da esperienze precedenti già sapevo che il
Oltre ad aprire le porte necessarie sul firewall, oc- firewall integrato di Windows non veniva corret-
corre anche configurare in modo opportuno Luxp8 tamente configurato nei computer dotati di doppia
e Efforts poiché nel loro caso non sono utilizzabili scheda di rete (situazione tipica di workstation non
le GPO del dominio. I parametri con cui lavora recentissime), in cui la LAN integrata nella scheda
Windows Update sono però facilmente rintracciabili madre non garantisce le stesse prestazioni degli appa-
all’interno del registro, sotto la chiave rati di rete con cui colloquia. Infatti, durante l’instal-
lazione OfficeScan si preoccupa sì di aprire la porta
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ del servizio alle connessioni esterne, ma lo fa sulla
WindowsUpdate scheda di rete sbagliata! Ed occorre intervenire per
replicare la configurazione sulla interfaccia Ethernet
si possono quindi esportare su un file .reg ed impor- effettivamente utilizzata. Purtroppo, anche dopo aver
tarli da quest’ultimo sulle macchine in DMZ_2. compiuto questa operazione, controllando dalla con-
sole di amministrazione, le macchine in DMZ_2 ve-
Installazione dell’antivirus nivano segnalate come spente, situazione legata alla
mancata connessione sulla porta 58662.
L’antivirus utilizzato in azienda è OfficeScan di Ho quindi controllato il log del firewall di rete, per
TrendMicro, soluzione in architettura client-ser- vedere se venivano bloccati dei pacchetti: ma l’unica
ver che permette il controllo centralizzato delle cosa che ho notato erano delle echo-request dirette al
impostazioni, dell’aggiornamento e del monitoraggio server antivirus; ho però avuto la sensazione che il
delle infezioni. Non sono riuscito a trovare documen- server, per alcune operazioni, usasse l’IP della mac-
ti che descrivessero il caso in cui il server si trova in china client. Il servizio di risoluzione dei nomi, già

57
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

FIGURA 4 Abilitazione protocollo NETBIOS rificato con soddisfazione il corretto


funzionamento. Se però si hanno
delle esigenze particolari (o si vuole
un controllo molto preciso di cosa
avviene) non si può prescindere dalla
programmazione tramite riga di co-
mando e dallo studio attento del ma-
nuale. I requisiti minimi che dovevo
soddisfare erano i seguenti:

1. Dopo aver visto molti “post-it”


attaccati ai monitor con username e
password ho tremato all’idea che una
simile situazione, al di fuori di ogni
controllo, potesse verificarsi anche
presso il fornitore a cui concedevamo
un accesso esterno. È stato questo
uno dei motivi per cui ho scelto di
utilizzare l’autenticazione tramite i
certificati digitali.

2. L’accesso esterno doveva essere


appositamente loggato e limitato
esclusivamente al server Efforts in
DMZ_2.

3. L’algoritmo di crittografia doveva


dare garanzie maggiori rispetto al
DES, utilizzato di default sul PIX
515: tramite un apposito codice di
attivazione, richiedibile sotto certe
restrizioni tramite un form sul sito
web del produttore, ho abilitato il
3DES.

Senza scendere troppo nei dettagli dei


comandi e della loro sintassi, descritti
descritto in precedenza ed impostato manualmente, in modo sintetico e chiaro in [6], descriverò qui di
mancava di una zona di ricerca inversa per la DMZ_ seguito gli aspetti non adeguatamente trattati nella
2, ovvero poteva solo associare un IP ad un nome, ma documentazione disponibile, che mi hanno riservato
non viceversa. Ho allora fatto una prova creando tale diversi grattacapi.
zona all’interno del DNS sul Domain Controller e
reinstallando OfficeScan su Luxp8: questa volta, fi- In primo luogo, tutti gli esempi che si trovano in rete
nalmente, le cose hanno funzionato a dovere! fanno uso del comando:

sysopt connection permit ipsec

Creazione della VPN tra firewall e road


warrior che quindi sembra indispensabile. Questo comando,
permette al traffico proveniente dal peer con cui è sta-
A questo punto, avevo finalmente una sottorete suf- to creato il tunnel VPN di attraversare il firewall con
ficientemente isolata, in grado di comunicare con la accesso incondizionato a tutte le sottoreti; e quindi
LAN solo per un ristretto numero di servizi essenzia- non soddisfa i requisiti minimi di sicurezza prefis-
li. Il passo successivo è stato realizzare una VPN che sati. L’unica alternativa che ho trovato è utilizzare
permettesse di accedere dall’esterno alla DMZ_2. Il una apposita access-list di ingresso che permetta il
materiale che avevo a disposizione era il Cisco PIX transito di pacchetti originati e diretti ad un ristretto
515 E in release 6.3(4); ho allora scaricato l’ultima gruppo di indirizzi IP. Questa soluzione permette an-
versione del client VPN per il sistema road-warrior, che di registrare l’evento nel file di log, ma ho dovuto
nome evocativo con cui è denominato il laptop che testarla a fondo, prima di ritenerla valida e sicura, in
accede “dalla strada” alla rete aziendale ed ho iniziato quanto, a prima vista, potrebbe permettere l’ingresso
a fare delle prove. Tramite il wizard, disponibile nella di traffico non appartenente alla VPN. In realtà, una
interfaccia Web di amministrazione del firewall, ho volta creato il tunnel, al road warrior viene assegnato
potuto creare una semplice VPN di cui ho subito ve- un indirizzo IP privato appartenente ad un pool che è

58
Login Internet Expert n.63 Marzo/Aprile 2007
solutions

autorità di certificazione sarà possibile trovare la ri-


chiesta in attesa di approvazione ed emettere il corri-
Sui server Windows spondente certificato. Anche il road warrior necessita
di un certificato, ed il client VPN, se in grado di rag-
per rendere intero- giungere il server CA, può richiederlo direttamente,
perabile il servizio oppure se ne può importarne uno creato “a mano”.

dei certificati digitali


con gli apparati Ci- Conclusioni
In questo articolo, al di là degli aspetti prettamente
sco è necessario sia tecnici, ho voluto mettere in evidenza come spesso il
abilitato il supporto sistemista debba risolvere problemi legati alla scarsa
documentazione disponibile su apparati e applicativi.
per SCEP. Lo studio del materiale disponibile, pur necessario, si
rivela spesso molto dispendioso per trovare informa-
zioni che siano effettivamente utili e quasi mai indica
possibile specificare: anche sfruttando tale indirizzo una soluzione direttamente applicabile. In molti casi
per un possibile attacco è estremamente improbabile l’esperienza può dare una mano, e anche gli strumen-
che i pacchetti di risposta trovino la strada del ritor- ti di analisi e debugging possono venire in soccorso,
no, visto che nel loro tragitto incontreranno router ma occorre anche un forte intuito, tenacia, e la deter-
che non sanno dove effettuare l’instradamento. Inol- minazione a capire come funzionano le cose, talvolta
tre, là dove viene definita la “mappa dinamica”, si dovendo ricorrere a prove e a esperimenti mirati.
indica, tramite un’altra access-list, a quali pacchetti
verrà applicata; e ciò determina lo sbarramento di
eventuale traffico che soddisfa la regola e che sia Bibliografia
ricevuto fuori dal tunnel IPSEC. Un’altra opzione,
descritta in modo non proprio chiaro, è quella rela- [1] “Active Directory in Networks Segmented by
tiva allo split-tunnel: è utilizzato per permettere al Firewalls”, Microsoft Knowledge Base,
road-warrior di accedere ad un insieme di indirizzi http://www.microsoft.com/downloads/details.aspx?F
Internet, per i quali il traffico verrà instradato in amilyID=c2ef3846-43f0-4caf-9767a9166368434e&D
modo da bypassare il tunnel VPN. Si tratta comunque isplayLang=en
di una complicazione non richiesta nel caso specifico [2] “How to configure a firewall for domains and tru-
e che può rappresentare una potenziale minaccia per sts”, Microsoft knowledge base,
la sicurezza, in quanto un malintenzionato che da http://support.microsoft.com/kb/179442/en-us
Internet prendesse il controllo remoto del road-war- [3] “How to configure RPC dynamic port allocation
rior si ritroverebbe a poter operare, tramite la VPN, to work with firewalls”, Microsoft knowledge base,
sui server aziendali. http://support.microsoft.com/kb/154596/en-us
[4] “Panoramica dei servizi e requisiti per le porte
di rete per il sistema server Windows”, Microsoft
Autorità di certificazione Knowledge Base,
http://support.microsoft.com/kb/832017/it
Sui server di casa Microsoft può essere facilmente [5] “Setting Up a VPN that Uses Certificates”, artico-
installato ed attivato il servizio per la emissione e ge- lo su WindowsItPro,
stione di certificati digitali; ma affinché possa intero- http://www.windowsitpro.com/Articles/ArticleID/
perare con gli apparati Cisco è necessario il supporto 49738/49738.html?Ad=1
per SCEP, come descritto in [5]. Per verificare che sia [6] “Configurare Vpn ipsec sul PIX”, articolo su
operativo, da Internet Explorer si accede alla URL Openskills,
http://openskills.info/infobox.php?ID=806
http://nome_del_server/certsrv/mscep/mscep.dll [7] “Configuration guide for pix 515 6.3”, documen-
tazione tecnica Cisco,
e se tutto funziona correttamente verrà riportato un http://www.cisco.com/en/US/products/sw/secursw/
codice che sarà poi utilizzato durante la programma- ps2120/products_configuration_guide_book09186a0
zione del PIX. Andando ad indicare la CA Microsoft 080172852.html
nella configurazione del firewall, non basta indicare
l’indirizzo IP del server, ma occorre indicare l’indi- Note Biografiche
rizzo completo del servizio nel seguente modo Filippo Martinelli, si è laureato a Pisa in Ingegneria Informatica
nel 1999. Ha lavorato in Marconi dove si è occupato di
ip_server:/certsrv/mscep/mscep.dll protocolli ed integrazione software ed in Autostrade per
l’Italia dove ha sviluppato applicazioni Web. Al momento
Nei passi successivi verrà inserito il codice trovato in svolge attività sistemistica e di sviluppo software presso un
precedenza con il browser e utilizzando la console di ente pubblico.

59
Login Internet Expert n.63 Marzo/Aprile 2007
Reportage

Plone Sorrento Sprint


2007
Sorrento capitale “plonista” Ü di Maurizio Delmonte
per una settimana. A cavallo
tra Marzo e Aprile, per
una settimana, la penisola
sorrentina ha ospitato uno
degli eventi centrali per il
2007 della comunità Plone
internazionale: il Sorrento
Sprint. un prodotto comunitario e molto meno lega-
to ai condizionamenti di Zope Corporation;
pertanto molto più bisognoso del supporto
di un gruppo di lavoro coeso. Dopo i primi
mesi in cui Plone veniva seguito solo da po-
Plone è un Content Management System, chi “fedelissimi”, attenti alla materia, si deci-
scritto in Python, basato sulla piattaforma se di seguire la via degli sprint, non solo con
Zope. È riconosciuto da molti come leader il fine di produrre codice.
nell’ambito degli strumenti Open Source Uno Sprint Plone è spesso organizzato desi-
orientati alla gestione dei contenuti, ed è gnando un responsabile (coach), che ne assu-
molto apprezzato, anche se confrontato con me la guida. Il coach fissa l’agenda, usa una
alternative a licenza chiusa. Plone e la sua lavagna per tracciare le attività e fa in modo
comunità hanno oltre cinque anni di vita, e che lo sviluppo proceda. Solitamente, le pri-
questo la dice lunga in termini di robustez- me ore di uno sprint sono dedicate all’orien-
za e qualità: cinque anni fa difficilmente ci tamento dei partecipanti: fissare gli obiettivi,
si riferiva ai CMS come a strumenti di lavo- decidere chi fa cosa, fare in modo che tutti
ro diffusi e riconosciuti. Plone è tutelato da possano accedere al server SVN delle versio-
una fondazione, la Plone Foundation, che ni del software, ecc.
garantisce la qualità del codice, longevità al Chiaramente, Plone non è solo tecnologia,
progetto, e il disaccoppiamento rispetto agli ma è anche un prodotto utilizzabile di per
interessi dei singoli partecipanti al progetto. sé. Ciò significa che agli Sprint Plone non
Uno degli strumenti fondamentali di cui la accedono solo gli sviluppatori, ma anche per-
comunità si è dotata da lungo tempo, per cre- sone con una minore preparazione tecnica
scere e per far crescere la tecnologia Plone, è che possono dedicarsi ad attività comunque
proprio il meccanismo degli sprint. essenziali: testare l’applicazione, scrivere la
documentazione, e anche solo testimoniare
ai non presenti cosa è stato fatto. In questo
Cos’è uno sprint? modo, figure meno “tecniche”, e anche alle
prime armi, possono affiancare dei veri guru
Gli sprint, ispirati da tecniche di sviluppo e apprendere in modo rapido ed efficacissi-
teorizzate in ambito agile programming, ven- mo, nel breve periodo di tempo a disposizio-
nero introdotti nel mondo Zope come sessio- ne, una quantità enorme di informazioni.
ni di sviluppo di due o tre giorni, durante i
quali gli sviluppatori lavorano in uno stesso
ambiente fisico, in coppia o a piccoli gruppi, Perché Sorrento
concentrandosi su uno specifico obiettivo.
In particolare, gli sprint furono sperimentati Un ulteriore molto utile per offrire il proprio
durante le fasi iniziali dello sviluppo di Zope apporto alla comunità consiste nel contri-
3, che rispetto a Zope 2 è stato fin dall’inizio buire finanziariamente agli sprint: spon-

60
Login Internet Expert n.63 Marzo/Aprile 2007
Reportage

FIGURA 1 Foto di gruppo dei partecipanti al Plone Sorrento Sprint 2007

sorizzandoli, o addirittura organizzandoli. Come è compagnato durante tutto il soggiorno: certo, il pa-
stato nel caso di Sorrento, in cui, Abstract, giovane norama non è indispensabile per produrre del buon
società napoletana attiva nel panorama italiano come codice, ma di sicuro aiuta lo spirito, al punto che al-
una delle aziende leader nella fornitura di soluzioni cune sessioni di lavoro si sono tenute direttamente
basate su Plone, ha fortemente voluto lo sprint par- nel giardino dell’hotel o nel foyer, seduti sui comodi
tenopeo. Il ruolo di Abstract è stato, appunto, fornire divani. Non va dimenticato, infatti, che i partecipanti
un apporto fattivo per ospitare lo sprint a Sorrento. ad uno sprint sono dei volontari: ed è fondamentale,
Abstract, con questo sprint, ha anche voluto offrire anche per gli orari massacranti, che possano operare
uno stimolo alla comunità Plone italiana: infatti, uno nel contesto migliore possibile.
sprint costituisce un ottimo contesto per la discussio-
ne di idee, non solo tecniche, e per la condivisione
delle esperienze dei singoli sviluppatori e utenti di Gli argomenti dello sprint
software open source.
Nonostante la scarsa presenza di italiani nel gruppo Il Sorrento Sprint ha avuto come finalità principale
centrale di sviluppo di Plone non giocasse a favore di l’evoluzione della prossima versione di sviluppo di
una richiesta di organizzare l’evento in Italia (attività Plone, la 3.5; tuttavia, l’evento si è svolto a ridosso
che deve essere approvata e sostenuta dalla fondazio- dell’uscita della versione 3.0, prevista per Maggio.
ne), l’ottimo lavoro di Vincenzo Barone e di tutto lo Per cui, è stato naturale collocare un “Bug Day” nel
staff di Abstract ha fatto sì che questa possibilità si bel mezzo dello sprint e buona parte dei partecipan-
concretizzasse: con buoni auspici per tutti nel poter ti, per un intero giorno, si è dedicata a risolvere i bug
aumentare la propria esposizione e il proprio apporto segnalati sul collector ufficiale, contribuendo così
alla comunità Plone internazionale. anche a migliorare la qualità della nuova versione di
Il gruppo di lavoro è stato ospitato nella splendida Plone (decisamente più ricca di novità e di migliora-
cornice della costa sorrentina, che ha positivamente menti rispetto alla precedente).
colpito i suoi ospiti fin dal primo arrivo. Lo sprint Plone 3.0 dispone di meccanismi nativi di versioning
si è tenuto nella sala riunioni di un magnifico hotel, e di staging dei contenuti, strumenti molto potenti e
fornita delle attrezzature necessarie e dotata per l’oc- piuttosto invidiati anche da soluzioni a licenza chiu-
casione di abbondante connettività rispetto alle nor- sa. Chiaramente, sono migliorabili ed estensibili a
mali esigenze della struttura. casi d’uso diversi da quelli di partenza; perciò uno
Una vista mozzafiato sul golfo di Napoli ci ha ac- degli obiettivi dello sprint è mostrarne le potenzialità

61
Login Internet Expert n.63 Marzo/Aprile 2007
Reportage

ai partecipanti, e chiedere il loro supporto per la pro- lease manager di Plone 2.5 e autore di molti prodot-
secuzione dello sviluppo di questi meccanismi. ti basati su tecnologia Zope, tra cui Relationship, il
Altra questione molto sentita, e centrale durante lo nuovo modulo di gestione delle relazioni tra oggetti
sprint, è il processo di supporto a AJAX dell’interfac- di Zope 3. Alec ha svolto un ottimo lavoro: non era
cia di Plone, un’evoluzione in corso da tempo (è sta- infatti facile, soprattutto i primi giorni, coordinare
ta già scelta la metodologia da seguire e siamo nella un così folto gruppo di sviluppatori, ma ci è riuscito
fase di viva realizzazione di quanto è necessario). Gli al meglio, grazie all’immensa disponibilità, alla capa-
sviluppatori Plone dispongono già oggi di una infra- cità di ascolto, e al grande rispetto e fiducia che ha sa-
struttura, KSS, che li mette in condizione di rendere puto infondere anche a chi non lo conosceva già.
dinamiche intere parti dell’interfaccia di Plone, sen- Tra le altre presenze “eminenti” citiamo anche Rob
za inficiare la bontà dei meccanismi di base (che re- Miller, responsabile tecnico di Open Plans, una no-
stano funzionanti anche se il javascript non è attivo o profit newyorkese piuttosto sensibile alle nuove tec-
non è disponibile nel browser web). nologie, noto per molti importanti prodotti per Zope
L’impiego di Plone negli ambiti più disparati ha reso e Plone, e per essere l’autore del portale del Burning
necessaria nel tempo l’implementazione di un’infra- Man, un evento unico nel suo genere ed estremamen-
struttura di gestione utenti molto ricca e flessibile: te noto soprattutto negli Stati Uniti. A questo sprint,
oggi Plone può facilmente autenticare utenti a fronte Rob si è dedicato alle problematiche inerenti alla ge-
di servizi esterni (tra cui LDAP o Active Directory), stione utenti, essendo il leader del progetto Remem-
può autorizzarli sulla base di regole contestuali molto ber, a cui abbiamo accennato prima.
specializzate, può gestirne gli attributi ottenendoli e Per quanto riguarda la gestione di AJAX in Plone, lo
memorizzandoli, se necessario, in sorgenti distribui- sprint ha ospitato due degli sviluppatori fondamen-
te. Tutto ciò utilizzando dei plugin che si agganciano tali di KSS, Godefroid Chapelle e Balasz Ree, prove-
al servizio di base, PAS, e lo specializzano in modo nienti rispettivamente da Belgio e Ungheria. Anche
semplice ed efficace. Allo sprint si è lavorato su Re- per loro si sono registrate lunghe sessioni di forma-
member, un prodotto capace di sfruttare le tecnologie zione e sviluppo, dato che moltissimi dei presenti
PAS per dotare Plone di un oggetto “utente” più ver- erano interessati a questi nuovi e promettenti mecca-
satile, i cui attributi possano essere facilmente estesi, nismi che rendono l’interfaccia di Plone ancora più
e che sia agganciabile ad un workflow (utile ad esem- moderna e potente, grazie all’adozione di AJAX.
pio per gestire fasi di approvazione di richieste di re- I neofiti di KSS si sono detti sbalorditi e molto sod-
gistrazione al portale). Ulteriore argomento notevole, disfatti per le scelte operate dagli strateghi di Plone:
tra quelli trattati allo sprint, è stata l’importazione e KSS permette di sviluppare la parte AJAX dell’inter-
l’esportazione di contenuti in Plone. Anche in que- faccia senza andare a manipolare le skin di base (che
sto caso, da tempo esistono tecnologie molto valide, devono essere mantenute tali per consentire di usare
capaci di assistere gli sviluppatori nel risolvere tali l’applicazione anche in caso AJAX non sia funzio-
esigenze, ma non esistono analoghe funzioni efficaci nante). In sintesi, Plone non riscrive le proprie libre-
per permettere all’utente finale di Plone di effettua- rie AJAX, ma fa utilizzare ai suoi sviluppatori quelle
re queste operazioni in modo semplice e completo. già esistenti, senza impedire ai singoli di implemen-
Durante lo sprint sono stati valutati diversi approcci, tare e adottare le proprie!
e probabilmente uno tra questi sarà presto parte del A questo sprint ha anche partecipato Jens Klein, svi-
Plone base. luppatore austriaco molto in vista nella comunità (è
coinvolto in progetti fondamentali quali Archetypes
e ArchGenXML, strumenti che rendono la produt-
I partecipanti tività nei progetti basati su Plone estremamente ele-
vata). Jens è arrivato a Sorrento per interessarsi alle
A detta dei veterani presenti, lo sprint di Sorrento è problematiche di migrazione di contenuti Plone ba-
stato uno dei più affollati (vedi foto di gruppo) e ric- sata su XML, ma ha anche cercato supporto per Ge-
chi di tematiche organizzati negli ultimi anni. Tra gli nesis, il progetto di riscrittura di ArchGenXML, per
oltre 60 partecipanti, molti rappresentavano aziende il quale ha in programma di organizzare uno sprint
europee e americane (perciò, come di consueto, la nei prossimi mesi.
lingua più parlata allo sprint era l’inglese), ma erano Tra i partecipanti che hanno fatto più strada per rag-
presenti anche dei freelance e alcuni “decisori” e IT giungere Sorrento ci sono Rocky Burt (dall’isola di
manager, interessati a capire cosa Plone può offrire Terranova!) e Nate Aune, entrambi insigni rappre-
loro: non potevano scegliere occasione migliore! Fol- sentanti della Plone Foundation ed esperti delle tec-
ta anche la presenza italiana, con una importante rap- nologie Zope 3. Durante lo sprint hanno lavorato a
presentanza dell’Associazione Zope Italia. Plone4Artist, una verticalizzazione open source di
Gli sprint rappresentano uno dei principali momenti Plone orientata alla gestione di file multimediali utile
di miglioramento di Plone: pertanto, in base alle te- alle comunità di artisti che vogliono rendere disponi-
matiche trattate e alla propria disponibilità, gli svi- bili online i propri lavori audio-video. Plone4Artist è
luppatori più importanti alternano la propria presen- in grado di gestire agevolmente file di grandi dimen-
za fisica a questi eventi. sioni e le problematiche legate al multimedia (come
Nel caso di Sorrento, il Coach designato è stato Alec lo streaming). Plone4Artist è anche un ottimo esem-
Mitchell, freelance proveniente da Los Angeles, re- pio di come le tecnologie Zope 3 possono potenzia-

62
Login Internet Expert n.63 Marzo/Aprile 2007
Reportage

re Plone: chi ha supportato Plone4Artist durante lo permette sia di poter lavorare in moltissimi in modo
sprint è rimasto sbalordito di quel che si riesce a fare coerente sulla stessa base di codice, sia di rifattorizza-
con tali tecniche rispetto a quello a cui si è abituati re il codice nel caso in cui vengano proposte imple-
con lo sviluppo Zope classico. mentazioni migliori di specifiche funzionalità.
Per quanto riguarda l’Italia, segnaliamo la partecipa- Lo sprint è anche stato occasione per potersi cimen-
zione di Vincenzo di Somma, uno dei più importanti tare nell’apprendimento delle tecniche mutuate da
sviluppatori italiani della comunità Plone internazio- Zope 3 introdotte in Plone già dalla versione 2.1.
nale, che da sempre fa parte del gruppo responsabile Rispetto a Zope 2, Zope 3 si pone al contempo in
dell’infrastruttura di Plone. Vincenzo si è dedicato al un’ottica di continuità e di rottura: buona parte del
miglioramento del supporto ai workflow di Plone, e materiale implementato per Zope 3 può essere facil-
ha dispensato infiniti consigli a chi stava cercando di mente adattato e utilizzato anche in ambiente Zope 2
perfezionare Plone 3.0 in vista del rilascio ufficiale. (e questo ne testimonia la continuità), tuttavia i prin-
Restando in ambito italiano, l’Associazione Zope cipi alla base di Zope 3 sono in alcuni casi nuovi in al-
Italia ha approfittato dell’evento anche per coordi- tri addirittura alternativi a quelli adottati da Zope 2.
nare con Redomino, sponsor dello sprint, un’azione Ad esempio, mentre in Zope 2 è il concetto di oggetto
comunitaria sull’Italian Skin, un prodotto realizzato che pervade tutto il framework, in Zope 3 tutto è in-
e mantenuto finora da Redomino, capace di dotare centrato sul concetto di componente. E da ciò deriva
Plone di un’interfaccia mirata a risolvere le richieste una serie di possibilità che si manifestano concreta-
di accessibilità definite per i portali delle pubbliche mente in Plone in vari modi, portando gli sviluppa-
istituzioni dalla Legge Stanca. Infatti, Plone rispet- tori Plone ad apprezzare i vantaggi dell’adozione di
ta da sempre i canoni internazionali di accessibilità, Zope 3 come ambiente di sviluppo. Solo per citare
quasi da farsene un fiore all’occhiello. Ma per l’Italia alcune delle caratteristiche più evidenti e più attese,
si è ben visto di darsi obiettivi ancor più stringenti, e nella versione Plone 3.0 sono stati integrati i mecca-
per questo si rende necessario estendere ulteriormen- nismi di versioning e di staging dei contenuti, sono
te, secondo le regole XHTML Strict, la già accessibi- stati introdotti elementi AJAX lato client (che faci-
le interfaccia di Plone. litano molto la vita agli utilizzatori finali), ed è stato
introdotto un servizio di gestione degli eventi sugli
oggetti. Non resta che sperimentarlo un po’!
Sviluppo, ma non solo!
Lo sprint non è stato (e non vuole essere) solo una Conclusioni
lunga sessione di sviluppo software. I nuovi arrivati
vengono accolti con molta disponibilità, e i vetera- Al termine di questa magnifica settimana, il bilancio
ni possono farsi conoscere, per le doti tecniche e per è positivo: oltre sessanta partecipanti, quasi tutti pre-
quelle umane. Insomma, è un bellissimo modo per senti per l’intera durata di questo sprint (caratterizza-
dare un volto e stringere amicizia con quei nomi che to da orari che potremmo dire “disumani”, soprattut-
appaiono nella documentazione del software, nelle to se correlati alla sua abnorme durata: di solito due-
mailing list e nelle chat tecniche. Dopo esserci incon- tre giorni, invece dei sei del Sorrento Sprint!).
trati, sarà molto più facile e proficuo, tornati a casa, Il coach, e quindi la Foundation, si è detto soddisfat-
scambiare le proprie idee e collaborare insieme, an- to della buona riuscita dell’incontro, considerandolo
che a migliaia di chilometri di distanza. molto produttivo, ed è stato anche molto contento
Non sono mancate sessioni di presentazione e di for- delle “new entry” nel gruppo di lavoro di Plone: la
mazione su tecnologie e prodotti innovativi (alcune mancanza di sprint in Italia non ha certo favorito fi-
addirittura improvvisate, grazie alla disponibilità de- nora una partecipazione fattiva. Anche i leader dei
gli specialisti presenti). Tutti hanno imparato qualco- vari gruppi di lavoro, che si sono formati più o meno
sa di nuovo, hanno potuto vivere il flusso creativo che spontaneamente, hanno riportato buoni risultati con-
caratterizza lo sviluppo software, e hanno sperimen- seguiti durante la permanenza a Sorrento, sia per i
tato le tecniche e le metodologie utilizzate nello svi- progressi fatti sia per le nuove prospettive raggiunte
luppo del core di Plone (predisposizione delle istanze sui problemi aperti. Molti dei presenti hanno utiliz-
di lavoro, versioning, testing automatico, tecniche zato tutte le pause disponibili per scambiarsi idee,
mutuate da Zope 3, strumenti di lavoro alternativi a comprendere nuove possibilità di collaborazione,
quelli di solito utilizzati). e anche per fare amicizia: questo è il modo con cui
In particolare, molti dei “nuovi” sono rimasti sbigot- la comunità Plone si è sviluppata fin dagli inizi, ed
titi e affascinati dall’approccio test-driven che carat- è quello in cui ci aspettiamo che continui a prospe-
terizza Plone e tutti i prodotti di qualità che ne esten- rare. Arrivederci alla Plone Conference di Ottobre a
dono le funzionalità di base. Da anni Plone viene ri- Napoli!
lasciato con un corredo di test in grado di verificarne
automaticamente le funzionalità di base, a garanzia Note Biografiche
della sua qualità. In sostanza, per ogni nuova funzio-
Maurizio Delmonte, Ingegnere Elettronico, si occupa di tema-
nalità (e per ogni bug individuato) come primo passo tiche Zope/Plone da oltre cinque anni. Lavora in Redomino
viene implementata una o più funzioni che ne veri- come responsabile tecnico per l’implementazione ed il delive-
ficano il funzionamento (o la presenza del bug). Ciò ry di soluzioni document oriented.

63
Login Internet Expert n.63 Marzo/Aprile 2007
IN VETRINA
Windows Vista Masterizzare con Nero 7
The Definitive Guide di W. Wang
di W. R. Stanek

Una documentazione appropriata


e approfondita per comprendere
tutte le problematiche e conoscere
le potenzialità del pacchetto.
La suite non prevede solo i classici
Una guida completa per miglio- strumenti per riversare i dati su CD
rare le prestazioni del sistema o DVD, ma combina anche tutte le
operativo e per la manutenzione attività legate ai media digitali: de-
O’ Reilly del computer indipendentemente Tecniche Nuove sign grafico, elaborazione sonora,
942 pp - 47,20 Euro dalla versione di Windows Vista 256 pp - 16,90 Euro programma per il video editing e
ISBN 9780596528003 posseduta. ISBN 9788848120487 molto altro ancora.

Programming WCF Dizionario di Informatica


Services 6.a ed.
Inglese-Italiano
di J. Löwy
di A. Gallippi

Scritto da un esperto di Microsoft, Presenta oltre 5500 termini legati


questo libro rappresenta la miglio- al mondo delle nuove tecnologie.
re introduzione sul mercato alla I lemmi, tradotti, spiegati e classifi-
piattaforma SOA su Windows. cati, spaziano tra vari argomenti.
Il libro non ha valore di documen- Un’opera che costituisce uno stru-
tazione, ma offre un approccio mento professionale insostituibile
O’ Reilly Tecniche Nuove per gli operatori del settore, ma
pratico per la costruzione delle
654 pp - 42,40 Euro 580 pp - 29,90 Euro anche chi intende rendere fruibili
applicazioni di prossima genera-
ISBN 9780596526993 ISBN 8848119131 tutti i neologismi.
zione.

Access Endpoint Security


Data Analysis Cookbook di M. Kadrich
di K. Bluttman, W. S. Freeze

Per coloro che gestiscono grandi


quantità di dati e necessitano di
studiare quei dati in profondità.
La prima parte del libro mostra
come estrarre i dati, la seconda Questo libro chiarisce che cosa
come approntare calcoli con essi. ogni endpoint riesce a fare per pro-
O’Reilly Presenta inoltre numerosi proble- Addison Wesley teggersi e spiega come nuove tec-
400 pp - 47,20 Euro mi ricorrenti associando le relative 384 pp - 50,95 Euro nologie, quali il network admission
ISBN 9780596101220 soluzioni. ISBN 9780321436955 control, aumentino la sicurezza.

AutoCAD 2007 VBA for the 2007


di R. Grabowski Microsoft® Office System
di P. McFedries

Il testo tratta tutti gli aspetti fonda-


mentali di AutoCAD.
Non sono tralasciati aspetti
peculiari come il plottaggio e la
modellazione 3D.
La presenza dei tutorial passo Questo libro rende il lettore esperto
passo permette un apprendimento sia in merito al linguaggio VBA che
immediato e velocizza l’acquisizio- all’Office 2007 Object Model.
ne delle competenze operative. Non dà per scontate conoscenze
Tecniche Nuove I file utilizzati negli esempi del Que approfondite e ha una struttura
1016 pp - 42,00 Euro testo sono contenuti nel Cd-Rom 432 pp - 38,40 Euro user friendly, con schemi, doman-
ISBN 9788848120494 allegato. ISBN 9780789736673 de con risposte ed esercizi pratici.

64
Login Internet Expert n.63 Marzo/Aprile 2007
LOGIN 63
Founders at Work: Stories Microsoft SharePoint 2007
of Startups’ Early Days Unleashed
di J. Livingston di Colin Spence, C. e Noel, M.

La prima parte del libro offre


Il testo presenta una collezione di un’introduzione a SharePoint 2007
interviste ai grandi dell’informatica, in merito anche alla sua imple-
persone che oggi sono celebrità: mentazione.
fondatori come Steve Wozniak La seconda parte si concentra sulla
(Apple), Caterina Fake (Flickr), sua programmazione e struttura-
Mitch Kapor (Lotus), Max Levchin zione.
(PayPal) e Sabeer Bhatia (Hotmail) Utilissima la parte in cui si illu-
Apress raccontano idee e scommesse del Sams strano le procedure per passare
456 pp - 35,00 Euro tempo in cui hanno iniziato a metter 840 pp - 52,95 Euro da SharePoint 2003 a SharePoint
ISBN 1590597141 su le proprie aziende. ISBN 9780672329470 2007.

Multimedia Data Mining Scrivi a book@infomedia.it specificando


and Knowledge Discovery nell’oggetto della e-mail:
di V. Petrushin e Khan, L.
IN VETRINA LOGIN N. 63
OPPURE
inviaci il coupon al numero di fax 0587/732232

Multimedia Data Mining and Potrai acquistare i libri qui riportati


Knowledge Discovery unisce l’espe-
rienza di academici e prifessionisti con uno SCONTO ECCEZIONALE
Springer
dell’industria. del 10% anche se acquisti solo un libro
Il libro procede con un approcio
526 pp - 77,95 Euro molto strutturato al multimedia OPPURE
ISBN 9781846284366 data mining.
del 20% se acquisti 3 libri

LOGIN 63
OFFERTE ABBONAMENTI

You might also like