Nel recente passato, il mondo della ricerca ha seguito nuovi percorsi per rendere possibili le modalità di lavoro richieste da collaborazioni scientifiche multidisciplinari, sempre più basate su massicci impieghi di risorse di calcolo e grandissime quantità di dati. Per tali finalità le infrastrutture di supporto alla ricerca (e-Infrastructures) possono giocare un ruolo cruciale con le loro capacità di supportare non solo l'acquisizione, la selezione, l'organizzazione e il mantenimento dei dati, ma anche la loro analisi e la loro visualizzazione. L'implementazione di tali infrastrutture richiede che esse siano in grado di offrire un accesso "on-demand" a contenuti informativi, risorse di calcolo, e servizi applicativi similmente a quanto offerto nel contesto dei paradigmi Grid e Cloud. gCube è un sistema software progettato per la costruzione di infrastrutture capaci di supportare laboratori virtuali (Virtual Research Environments), cioè ambienti di supporto ad attività di ricerca costruibili su richiesta, concepiti per realizzare i nuovi paradigmi della ricerca scientifica.
La comunità scientifica "moderna", quella che promuove nuovi modi di fare scienza o "eScience", è oggi impegnata nella realizzazione di laboratori virtuali (VREs) capaci di soddisfare le esigenze delle moderne forme di collaborazione scientifica. I VREs sono ambienti di sostegno all'attività di ricerca concepiti per supportare, sia in piccola che grande scala, attività che richiedono accesso a grandi quantità di dati, uso intensivo di risorse di calcolo e collaborazioni fra comunità di ricerca potenzialmente distribuite in molteplici settori e fra molteplici istituzioni.
Per soddisfare queste esigenze, un approccio promettente è rappresentato dalle "e-Infrastructure", infrastrutture attraverso le quali varie risorse (dati, risorse computazionali e servizi) possono essere rese disponibili su richiesta, in modo sicuro, efficiente e trasparente rispetto alle peculiarità delle singole organizzazioni che le offrono. Una "eInfrastructure" può essere vista come un intermediario capace di armonizzare la condivisione di risorse tra "fornitori"e "consumatori" di risorse, siano essi esseri umani o servizi, intendendosi per "risorsa" sia entità fisiche (ad esempio una risorsa di memorizzazione o di calcolo) sia entità digitali (ad esempio software, servizi o dati) che possano essere condivise e interagire con altre risorse per costruire in modo sinergico vari tipi di servizi. La condivisione e il riuso di risorse sono resi possibili da un paradigma basato su servizi. Quindi, una eInfrastructure permette ai fornitori di "vendere" le loro risorse e ai consumatori di "acquistare" tali risorse e usarle per costruire le loro applicazioni; essa inoltre offre supporto logistico e tecnico per costruire, mantenere e monitorare le applicazioni.
La concezione di tali "eInfrastrutture" condivide molte caratteristiche del Grid Computing e del Cloud Computing. Tutti questi approcci intendono ridurre i costi di calcolo attraverso economie di scala gestendo un insieme ampio di risorse per offrire, su richiesta, capacità di calcolo, di memorizzazione e servizi applicativi ad utenti "esterni" rete tramite Web. Ciò che differenzia i tre approcci risiede essenzialmente nei servizi che essi offrono, gestiti nei "modelli di business" e nelle tecnologie usate per realizzarli.
gCube è un sistema software specificamente concepito per sviluppare e mantenere operative eInfrastrutture su larga scala che siano in grado di costruire e mantenere operativi molteplici laboratori virtuali in modo automatico a partire da una loro definizione dichiarativa.
Le funzionalità che gCube offre per sviluppare "eInfrastrutture" includono un'ampia gamma di servizi di intermediazione che rendono possibile l'interazione con altre infrastrutture e servizi di supporto alla ricerca, incluse infrastrutture grid (ad es. usando tecnologia gLite/EGEE), cloud (ad es. usando tecnologia Hadoop) e sorgenti informative (ad es. usando il protocollo OAI-PMH). Attraverso tali servizi di intermediazione, tutte le risorse di memorizzazione e di calcolo e tutti i dati gestiti da infrastrutture esterne sono concettualmente unificati per divenire risorse gestibili attraverso gCube. gCube offre inoltre funzionalità per creare e gestire "gCube Nodes", cioè server che offrono risorse di memorizzazione e calcolo (realizzando il modello "Infrastructure as a Service" - IaaS - dell'approccio Cloud), oltre a funzionalità per creare dinamicamente istanze di servizi (realizzando il modello "Platform as a Service" - PaaS - dell'approccio Cloud). Infine, gCube realizza il modello "Software as a Service" - SaaS - dell'approccio Cloud poiché offre una ampia gamma di strumenti software per la gestione e integrazione di dati, la definizione e gestione di processi ottenuti combinando servizi esistenti, la ricerca e recupero di informazioni di varia natura, la costruzione di interfacce utente.
Sfruttando questa imponente massa di risorse e servizi le eInfrastrutture basate su gCube rendono possibile agli scienziati di costruire dinamicamente e in modo dichiarativo i laboratori virtuali di cui hanno necessità, senza preoccuparsi dei dettagli implementativi. gCube implementa una piattaforma "user friendly" attraverso la quale i contenuti, i servizi applicativi e le risorse di calcolo richieste da uno scienziato sono aggregate automaticamente e rese funzionanti e accessibili attraverso una interfaccia web. Queste risorse sono inoltre tenute continuamente sotto controllo al fine di garantire la qualità del sevizio laboratorio virtuale.
La tecnologia gCube è ora usata per ricerche in domini scientifici di avanguardia: per esempio, ad essa ricorrono i biologi marini per generare modelli utili a predire su larga scala la presenza di specie marine al variare delle condizioni climatiche; i fisici delle alte energie per analizzare informazioni bibliometriche relative all'intero corpo della loro letteratura al fine di produrre nuove metriche; e infine i matematici addetti alle statistiche sulla pesca per gestire ed integrare i loro dati statistici.
Il sistema gCube è il risultato di una attività di collaborazione fra ricercatori e tecnici provenienti da centri di ricerca accademici e industriali. Fra questi: l'Istituto di Scienza e Tecnologie dell'Informazione ISTI-CNR (IT), l'Università di Atene (GR), l'Università di Basel (CH), la Soc. Engineering Ingegneria Informatica
SpA (IT), l'Università di Strathclyde (UK), il CERN - Centro Europeo per la Ricerca Nucleare (CH), la Soc. 4D SOFT Software Development Ltd (HU). La sua realizzazione è stata parzialmente supportata da progetti finanziati dalla Commissione europea quali DILIGENT (FP6-2003-IST-2, Contratto No. 004260), D4Science (FP7-INFRA-2007-1.2.2, Contratto No. 212488), e D4Science-II (FP7-INFRA-2008-1.2.2, Contratto No. 239019).
(Leonardo Candela, Donatella Castelli, Pasquale Pagano)
Immagini: