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