Trinacria Grid Virtual Laboratory AMGA - Official Metadata Service for EGEE Salvatore Scifo INFN Catania Catania, 23 Ottobre 2006 University of Coimbra www.trigrid.it FESR Contenuti • Background e Motivazioni • Concetti di base sui metadati • Requisiti e Architettura • Replicazione dei Metadati Catania, 23.10.2006 2 AMGA e Metadati • Generalmente Grid contiene una mole non indifferente di file distribuiti su diversi siti • Utenti e applicazioni necessitano di un meccanismo efficiente per: – trovare agevolmente i file di interesse sulla Grid – ricercare file per mezzo di indicazioni sui loro contenuti • Ricerca intelligente : – associando attributi descrittivi (metadata) ai file – pubblicando queste informazioni in appositi cataloghi, accessibili e interrogabili da utenti e/o applicazioni client Catania, 23.10.2006 3 AMGA e Database Virtualization • Non solo Metadati – Molte applicazioni Grid utilizzano dati strutturati – Generalmente schemi molto semplici possono essere modellati come metadati • Vantaggi – Integrazione immediata con l’infrastruttura Grid Metadata Service è un Grid Component – Grid security – Hide DB heterogeneity Catania, 23.10.2006 4 Requisiti del Metadata Service • Un servizio di metadati: – deve esporre una interfaccia completa ma semplice, tale da essere facilmente usabile da ogni utente – Deve essere flessibile e fornire schemi dinamici al fine di supportare un gran numero di domini applicativi (differenti esigenze) Uno Schema è un set di metadati raggruppati attorno al significato logico di una data entità (es. Dublin Core) – Il servizio deve permettere la definizione di metadati strutturati e gerarchici che permettono la definizione di collezioni Collezione: un insieme di entry + valori degli attributi associati (per esempio: una collezione potrebbe descrivere tutti i file video in un qualunque formato di codifica, title, singer, duration, format, owner, …) Catania, 23.10.2006 5 Requisiti del Metadata Service • Deve essere progettato con un’attenzione particolare alla scalabilità, per permettere l’interazione con un largo numero di entry (diversi milioni) • Per quanto concerne la sicurezza è richiesto un meccanismo di accesso a livelli differenti per utenti differenti • Ridurre i tempi di latenza della rete migliorando le performance per client WAN • Essere trasparente ai differenti Back End (l’ambiente GRID è eterogeneo per definizione) Catania, 23.10.2006 6 AMGA – Funzionalità • Schemi dinamici – Schemi modificabili a runtime dall’utente Create schemas Delete schemas Add attributes Drop attributes • Metadati strutturati e gerarchici – Gli schemi possono contenere sotto-schemi – Analogia con il file system: Schema Directory Entry File • Query flessibili – SQL-like query language – Join tra schemi e collezioni differenti ammessi Catania, 23.10.2006 8 AMGA – Concetti Base • Pensiamo a: – – – – schema table collection instance table attribute column entry row • Schema - set di attributi associabili ad una directory/file • Entry - astrazione di una directory/file registrata sul catalogo • Collection - un set di entry (istanze di directory/file) con i valori degli attributi definiti dallo schema • Attributo – è una coppia <nome,valore> con tipo – Nome – il nome dell’attributo – Valore – il valore dell’attributo – Tipe – il tipo del valore (int, float, varchar,…) Catania, 23.10.2006 9 AMGA - Sicurezza • Access control – ACL per collection (condivise tra le entries) – ACL per entry – È possibile filtrare l’accesso ai gruppi di utenti in uno Unix style Access Control Group Based • Client Authentication – Username/password – General X509 certificates – VOMS Grid-proxy certificates • Secure connections – SSL – SSL implementato nei webservice VOM S Authenticate with X509 Cert VOMS-Cert with Group & Role information VOMS-Cert Resource management Orac le A AMG Catania, 23.10.2006 10 AMGA - Implementazione • C++ multiprocess server Metadata Server – Backends Oracle, MySQL, PostgreSQL, SQLite Oracle Client SOAP MD Server – Front Ends TCP Streaming Client Postgre SQL MySQL TCP Streaming • High performance • Client API for C++, Java, Python, Perl, Ruby SQLite SOAP (web services) • Interoperability • Scalability • Standalone Python Library implementation – Data stored on file system Python Interpreter Client Metadata Python API filesystem Catania, 23.10.2006 11 AMGA – come accedere • TCP Streaming Front-end – mdcli & mdclient and C++ API (md_cli.h, MD_Client.h) – Java Client API and command line mdjavaclient.sh & mdjavacli.sh (also under Windows !!) – Python Client API – AMGA Web Interface ---NEW Developed totally by the GILDA team – INFN CT Based on JAVA AMGA Standard APIs Web Application using standard as JSP Custom Tags, Servlet • SOAP Frontend (WSDL) – C++ gSOAP – AXIS (Java) – ZSI (Python) Catania, 23.10.2006 12 AMGA - Metadata Replication • AMGA fornisce un meccanismo efficiente per la replica del servizio – Scalabilità – ottime prestazioni da 100 a 1000 utenti – Distribuzione Geografica nasconde la latenza di rete – Affidabilità – la caduta di un singolo nodo non costituisce “breakdown” – Utilizzo off-line – access off-line (laptops) • Architettura – Replica asincrona Scrittura su un database qualunque e aggiornamento asincrono sulle altre repliche – Modello Master-Slave Scritture permesse solo sul master, il master aggiorna tutti gli slave – Replica a livello Applicativo L’applicazione si occupa di garantire la coerenza tra le repliche – Replica Parziale La replica avviene solo su sotto-alberi della gerarchia dei metadati. Catania, 23.10.2006 13 AMGA - Metadata Replication Patterns Full replication Federation Partial replication Proxy Redirected Commands Metadata Commands Catania, 23.10.2006 14 AMGA - progetti • LHCb-bookkeeping – Migrated bookkeeping metadata to ARDA prototype 20M entries, 15 GB Large amount of static metadata – Feedback valuable in improving interface and fixing bugs – AMGA showing good scalability • Ganga – Job management system Developed jointly by Atlas and LHCb – Uses AMGA for storing information about job status Small amount of highly dynamic metadata Catania, 23.10.2006 15 AMGA - Biomed • Medical Data Manager – MDM – Conservare immagini mediche su GRID e recuperarle tramite i metadati associati – Sviluppato su gLite 1.5 data management system – Dimostrato alla conferenza di EGEE Pisa, Ottobre 2005 • Requisiti di sicurezza molto restrittivi – I dati dei pazienti sono dati sensibili (privacy) – I dati devono essere criptati sullo storage – L’accesso ai metadati deve essere ristretto solo agli utenti autorizati • AMGA adottato come metadata server – Dimostrata funzionalità di autenticazione – Dimostrato la crittografia dei contenuti – Utilizzato come virtualizzazione del Database GUID Images Date Patient • Riferimenti – https://uimon.cern.ch/twiki/bin/view/EGEE/DMEncryptedStorage – http://project-arda-dev.web.cern.ch/project-ardadev/metadata ID Patient Doctor Name Doctor Hospital Catania, 23.10.2006 16 AMGA - gLibrary • Studio della implementazione di un Multimedia Management System su Grid – Esempi di Contenuti Multimediali gestibili con gLibrary: Images Movies Audio Files Office Documents (Powerpoint, Word, Excel, OpenOffice) E-Mails, PDFs, HTMLs Customized versions of well-know document type (ex. EGEE PPTs) …. – Tenere traccia e organizzare in modalità uniforme tutti i dettagli addizionali (metadata schema) dei files conservati negli Storage Elements e registrati sui File Catalogues – Fornite agli utenti un modo agevole per localizzare e recuperare i files in base ai loro contenuti (metadata schema instance) Catania, 23.10.2006 17 AMGA – Grid Movie On Demand • gMOD: – Applicazione che gestice la catalogazione, la ricerca e la visualizzazione di movies conservati nello Storage di Grid. • Funzionalità – Utente può navigare la lista dei video e sceglierne uno per visualizzarlo in real time streaming sul video player della workstation. – Per ciascun video sono mantenute diverse informazioni di dettaglio Metadati (Title, Runtime, Country, Release Date, Genre, Director, Case, Plot Outline) e gli utenti possono eseguire ricerche accurate interrogando tali dati. – Due tipologie di utenti possono interagire con gMOD: TrailersManagers : gestisce il db dei movies (uploading new ones and attaching metadata to them); GILDA VO users (guest) : esegue il browsing del catalogo, cerca attraverso i metadati e sceglie il movie da scaricare. Catania, 23.10.2006 18 AMGA – Digital Archive • Applicazione che gestice la catalogazione, la ricerca e la visualizzazione di documenti digitali conservati nello Storage di Grid. Catania, 23.10.2006 19 Conclusioni • AMGA è il servizio di metadati per Grid – permette a utenti e applicazioni di definire e valorizzare metadati descrittivi per file e identificare tali file in base ai valori dei metadati • AMGA è basato RDBMS – Multidomain metadata: permette di definire schemi di attributi che soddisfino le necessità dell’utente (metadata customization) – Fornisce un meccanismo per la replica del servizio il quale assicura una disponibilità locale del database e assicura l’aggiornamento delle istanze replicate – Database virtualization: un servizio di accesso a database per applicazioni Grid • AMGA integrazione perfetta in un ambiente Grid – Il Metadata Service è un componente Grid – Il servizio è compatibile con la Grid Security Infrastructure – AMGA nasconde la eterogeneità dei Database server usati come back end Catania, 23.10.2006 20 Questions… Catania, 23.10.2006 21